@iit/precision-ui 0.5.2 → 0.5.4

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.
@@ -1,4 +1,5 @@
1
1
  import { ControllerProps, FieldPath, FieldValues } from 'react-hook-form';
2
+ import { VariantProps } from 'class-variance-authority';
2
3
  import * as LabelPrimitive from '@radix-ui/react-label';
3
4
  import * as React from 'react';
4
5
  declare const Form: <TFieldValues extends FieldValues, TContext = any, TTransformedValues extends FieldValues | undefined = undefined>(props: import('react-hook-form').FormProviderProps<TFieldValues, TContext, TTransformedValues>) => React.JSX.Element;
@@ -16,7 +17,9 @@ declare const useFormField: () => {
16
17
  formMessageId: string;
17
18
  };
18
19
  declare const FormItem: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLDivElement> & React.RefAttributes<HTMLDivElement>>;
19
- declare const FormLabel: React.ForwardRefExoticComponent<Omit<LabelPrimitive.LabelProps & React.RefAttributes<HTMLLabelElement>, "ref"> & React.RefAttributes<HTMLLabelElement>>;
20
+ declare const FormLabel: React.ForwardRefExoticComponent<Omit<LabelPrimitive.LabelProps & React.RefAttributes<HTMLLabelElement>, "ref"> & VariantProps<(props?: ({
21
+ variant?: "default" | "blue" | null | undefined;
22
+ } & import('class-variance-authority/types').ClassProp) | undefined) => string> & React.RefAttributes<HTMLLabelElement>>;
20
23
  declare const FormControl: React.ForwardRefExoticComponent<Omit<import('@radix-ui/react-slot').SlotProps & React.RefAttributes<HTMLElement>, "ref"> & React.RefAttributes<HTMLElement>>;
21
24
  declare const FormDescription: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLParagraphElement> & React.RefAttributes<HTMLParagraphElement>>;
22
25
  declare const FormMessage: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLParagraphElement> & React.RefAttributes<HTMLParagraphElement>>;
@@ -1 +1 @@
1
- {"version":3,"file":"form.d.ts","sourceRoot":"","sources":["../../../src/components/ui/form.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,cAAc,MAAM,uBAAuB,CAAA;AACvD,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAE9B,OAAO,EAEL,eAAe,EACf,SAAS,EACT,WAAW,EAGZ,MAAM,iBAAiB,CAAA;AAMxB,QAAA,MAAM,IAAI,yOAAe,CAAA;AAazB,QAAA,MAAM,SAAS,kIAKZ,gBAAgB,YAAY,EAAE,KAAK,CAAC,gDAMtC,CAAA;AAED,QAAA,MAAM,YAAY;;;;;;;;;;;CAqBjB,CAAA;AAUD,QAAA,MAAM,QAAQ,6GAWZ,CAAA;AAGF,QAAA,MAAM,SAAS,yJAcb,CAAA;AAGF,QAAA,MAAM,WAAW,8JAmBf,CAAA;AAGF,QAAA,MAAM,eAAe,yHAcnB,CAAA;AAGF,QAAA,MAAM,WAAW,yHAqBf,CAAA;AAGF,OAAO,EACL,YAAY,EACZ,IAAI,EACJ,QAAQ,EACR,SAAS,EACT,WAAW,EACX,eAAe,EACf,WAAW,EACX,SAAS,GACV,CAAA"}
1
+ {"version":3,"file":"form.d.ts","sourceRoot":"","sources":["../../../src/components/ui/form.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,cAAc,MAAM,uBAAuB,CAAA;AACvD,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAE9B,OAAO,EAEL,eAAe,EACf,SAAS,EACT,WAAW,EAGZ,MAAM,iBAAiB,CAAA;AAIxB,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAA;AAGvD,QAAA,MAAM,IAAI,yOAAe,CAAA;AAazB,QAAA,MAAM,SAAS,kIAKZ,gBAAgB,YAAY,EAAE,KAAK,CAAC,gDAMtC,CAAA;AAED,QAAA,MAAM,YAAY;;;;;;;;;;;CAqBjB,CAAA;AAUD,QAAA,MAAM,QAAQ,6GAWZ,CAAA;AAGF,QAAA,MAAM,SAAS;;wHAeb,CAAA;AAGF,QAAA,MAAM,WAAW,8JAmBf,CAAA;AAGF,QAAA,MAAM,eAAe,yHAcnB,CAAA;AAGF,QAAA,MAAM,WAAW,yHAqBf,CAAA;AAGF,OAAO,EACL,YAAY,EACZ,IAAI,EACJ,QAAQ,EACR,SAAS,EACT,WAAW,EACX,eAAe,EACf,WAAW,EACX,SAAS,GACV,CAAA"}
@@ -1,6 +1,9 @@
1
1
  import { VariantProps } from 'class-variance-authority';
2
2
  import * as React from 'react';
3
3
  import * as LabelPrimitive from '@radix-ui/react-label';
4
+ export declare const labelVariants: (props?: ({
5
+ variant?: "default" | "blue" | null | undefined;
6
+ } & import('class-variance-authority/types').ClassProp) | undefined) => string;
4
7
  declare const Label: React.ForwardRefExoticComponent<Omit<LabelPrimitive.LabelProps & React.RefAttributes<HTMLLabelElement>, "ref"> & VariantProps<(props?: ({
5
8
  variant?: "default" | "blue" | null | undefined;
6
9
  } & import('class-variance-authority/types').ClassProp) | undefined) => string> & React.RefAttributes<HTMLLabelElement>>;
@@ -1 +1 @@
1
- {"version":3,"file":"label.d.ts","sourceRoot":"","sources":["../../../src/components/ui/label.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAC9B,OAAO,KAAK,cAAc,MAAM,uBAAuB,CAAA;AACvD,OAAO,EAAO,KAAK,YAAY,EAAE,MAAM,0BAA0B,CAAA;AAmBjE,QAAA,MAAM,KAAK;;wHAUT,CAAA;AAGF,OAAO,EAAE,KAAK,EAAE,CAAA"}
1
+ {"version":3,"file":"label.d.ts","sourceRoot":"","sources":["../../../src/components/ui/label.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAC9B,OAAO,KAAK,cAAc,MAAM,uBAAuB,CAAA;AACvD,OAAO,EAAO,KAAK,YAAY,EAAE,MAAM,0BAA0B,CAAA;AAIjE,eAAO,MAAM,aAAa;;8EAazB,CAAA;AAED,QAAA,MAAM,KAAK;;wHAUT,CAAA;AAGF,OAAO,EAAE,KAAK,EAAE,CAAA"}
@@ -2,11 +2,11 @@ import * as r from "react";
2
2
  import { cva as n } from "class-variance-authority";
3
3
  import { cn as d } from "./index.es31.js";
4
4
  const l = n(
5
- "flex h-11 w-full rounded-lg border border-transparent border-b bg-background px-3 pt-[14px] pb-[11px] typo_variant_small-body ring-offset-background file:border-0 file:bg-transparent file:text-sm file:font-medium placeholder:text-muted-foreground focus-visible:outline-none disabled:cursor-not-allowed disabled:opacity-50 duration-200 transition-colors aria-invalid:border-red-500 aria-invalid:bg-red-50",
5
+ "flex h-11 w-full rounded-lg border border-transparent border-b bg-background px-3 pt-[14px] pb-[11px] typo_variant_small-body ring-offset-background file:border-0 file:bg-transparent file:text-sm file:font-medium placeholder:text-muted-foreground focus-visible:outline-none disabled:cursor-not-allowed disabled:opacity-50 duration-200 transition-colors aria-invalid:border-red-500",
6
6
  {
7
7
  variants: {
8
8
  variant: {
9
- default: "bg-navy-opacity-4 text-navy focus:border-navy hover:bg-navy-opacity-8 border-b-navy-opacity-32",
9
+ default: "bg-navy-opacity-4 text-navy focus:border-navy hover:bg-navy-opacity-8 border-b-navy-opacity-32 aria-invalid:bg-red-50",
10
10
  blue: "bg-whitish-opacity-8 text-white focus:border-white hover:bg-whitish-opacity-16 border-b-whitish-opacity-32"
11
11
  }
12
12
  },
@@ -1 +1 @@
1
- {"version":3,"file":"index.es11.js","sources":["../src/components/ui/input/Input.tsx"],"sourcesContent":["import * as React from 'react'\r\n\r\nimport { cva, type VariantProps } from 'class-variance-authority'\r\nimport { cn } from '@/lib/utils/cn'\r\n\r\nconst inputVariants = cva(\r\n 'flex h-11 w-full rounded-lg border border-transparent border-b bg-background px-3 pt-[14px] pb-[11px] typo_variant_small-body ring-offset-background file:border-0 file:bg-transparent file:text-sm file:font-medium placeholder:text-muted-foreground focus-visible:outline-none disabled:cursor-not-allowed disabled:opacity-50 duration-200 transition-colors aria-invalid:border-red-500 aria-invalid:bg-red-50',\r\n {\r\n variants: {\r\n variant: {\r\n default:\r\n 'bg-navy-opacity-4 text-navy focus:border-navy hover:bg-navy-opacity-8 border-b-navy-opacity-32',\r\n blue: 'bg-whitish-opacity-8 text-white focus:border-white hover:bg-whitish-opacity-16 border-b-whitish-opacity-32',\r\n },\r\n },\r\n defaultVariants: {\r\n variant: 'default',\r\n },\r\n }\r\n)\r\n\r\nexport interface InputProps\r\n extends React.InputHTMLAttributes<HTMLInputElement>,\r\n VariantProps<typeof inputVariants> {\r\n className?: string\r\n}\r\n\r\nconst Input = React.forwardRef<HTMLInputElement, InputProps>(\r\n ({ className, variant, type, ...props }, ref) => {\r\n // const containerStyles =\r\n // variant === \"default\"\r\n // ? \"input-container_variant_default\"\r\n // : \"input-container_variant_blue\";\r\n return (\r\n // <span className={`input-container ${containerStyles}`}>\r\n <span>\r\n <input\r\n type={type}\r\n className={cn(inputVariants({ variant, className }))}\r\n ref={ref}\r\n {...props}\r\n />\r\n </span>\r\n )\r\n }\r\n)\r\nInput.displayName = 'Input'\r\n\r\nexport { Input }\r\n"],"names":["inputVariants","cva","Input","React","className","variant","type","props","ref","cn"],"mappings":";;;AAKA,MAAMA,IAAgBC;AAAA,EACpB;AAAA,EACA;AAAA,IACE,UAAU;AAAA,MACR,SAAS;AAAA,QACP,SACE;AAAA,QACF,MAAM;AAAA,MACR;AAAA,IACF;AAAA,IACA,iBAAiB;AAAA,MACf,SAAS;AAAA,IACX;AAAA,EACF;AACF,GAQMC,IAAQC,EAAM;AAAA,EAClB,CAAC,EAAE,WAAAC,GAAW,SAAAC,GAAS,MAAAC,GAAM,GAAGC,KAASC;AAAA;AAAA,oCAOpC,QACC,MAAA,gBAAAL,EAAA;AAAA,MAAC;AAAA,MAAA;AAAA,QACC,MAAAG;AAAA,QACA,WAAWG,EAAGT,EAAc,EAAE,SAAAK,GAAS,WAAAD,EAAW,CAAA,CAAC;AAAA,QACnD,KAAAI;AAAA,QACC,GAAGD;AAAA,MAAA;AAAA,IAAA,CAER;AAAA;AAGN;AACAL,EAAM,cAAc;"}
1
+ {"version":3,"file":"index.es11.js","sources":["../src/components/ui/input/Input.tsx"],"sourcesContent":["import * as React from 'react'\r\n\r\nimport { cva, type VariantProps } from 'class-variance-authority'\r\nimport { cn } from '@/lib/utils/cn'\r\n\r\nconst inputVariants = cva(\r\n 'flex h-11 w-full rounded-lg border border-transparent border-b bg-background px-3 pt-[14px] pb-[11px] typo_variant_small-body ring-offset-background file:border-0 file:bg-transparent file:text-sm file:font-medium placeholder:text-muted-foreground focus-visible:outline-none disabled:cursor-not-allowed disabled:opacity-50 duration-200 transition-colors aria-invalid:border-red-500',\r\n {\r\n variants: {\r\n variant: {\r\n default:\r\n 'bg-navy-opacity-4 text-navy focus:border-navy hover:bg-navy-opacity-8 border-b-navy-opacity-32 aria-invalid:bg-red-50',\r\n blue: 'bg-whitish-opacity-8 text-white focus:border-white hover:bg-whitish-opacity-16 border-b-whitish-opacity-32',\r\n },\r\n },\r\n defaultVariants: {\r\n variant: 'default',\r\n },\r\n }\r\n)\r\n\r\nexport interface InputProps\r\n extends React.InputHTMLAttributes<HTMLInputElement>,\r\n VariantProps<typeof inputVariants> {\r\n className?: string\r\n}\r\n\r\nconst Input = React.forwardRef<HTMLInputElement, InputProps>(\r\n ({ className, variant, type, ...props }, ref) => {\r\n // const containerStyles =\r\n // variant === \"default\"\r\n // ? \"input-container_variant_default\"\r\n // : \"input-container_variant_blue\";\r\n return (\r\n // <span className={`input-container ${containerStyles}`}>\r\n <span>\r\n <input\r\n type={type}\r\n className={cn(inputVariants({ variant, className }))}\r\n ref={ref}\r\n {...props}\r\n />\r\n </span>\r\n )\r\n }\r\n)\r\nInput.displayName = 'Input'\r\n\r\nexport { Input }\r\n"],"names":["inputVariants","cva","Input","React","className","variant","type","props","ref","cn"],"mappings":";;;AAKA,MAAMA,IAAgBC;AAAA,EACpB;AAAA,EACA;AAAA,IACE,UAAU;AAAA,MACR,SAAS;AAAA,QACP,SACE;AAAA,QACF,MAAM;AAAA,MACR;AAAA,IACF;AAAA,IACA,iBAAiB;AAAA,MACf,SAAS;AAAA,IACX;AAAA,EACF;AACF,GAQMC,IAAQC,EAAM;AAAA,EAClB,CAAC,EAAE,WAAAC,GAAW,SAAAC,GAAS,MAAAC,GAAM,GAAGC,KAASC;AAAA;AAAA,oCAOpC,QACC,MAAA,gBAAAL,EAAA;AAAA,MAAC;AAAA,MAAA;AAAA,QACC,MAAAG;AAAA,QACA,WAAWG,EAAGT,EAAc,EAAE,SAAAK,GAAS,WAAAD,EAAW,CAAA,CAAC;AAAA,QACnD,KAAAI;AAAA,QACC,GAAGD;AAAA,MAAA;AAAA,IAAA,CAER;AAAA;AAGN;AACAL,EAAM,cAAc;"}
@@ -25,6 +25,7 @@ const s = l(
25
25
  ));
26
26
  d.displayName = t.Root.displayName;
27
27
  export {
28
- d as Label
28
+ d as Label,
29
+ s as labelVariants
29
30
  };
30
31
  //# sourceMappingURL=index.es15.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.es15.js","sources":["../src/components/ui/label.tsx"],"sourcesContent":["import * as React from 'react'\r\nimport * as LabelPrimitive from '@radix-ui/react-label'\r\nimport { cva, type VariantProps } from 'class-variance-authority'\r\n\r\nimport { cn } from '@/lib/utils/cn'\r\n\r\nconst labelVariants = cva(\r\n 'typo_variant_h6 leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70 duration-200',\r\n {\r\n variants: {\r\n variant: {\r\n default: 'text-navy',\r\n blue: 'text-whitish',\r\n },\r\n },\r\n defaultVariants: {\r\n variant: 'default',\r\n },\r\n }\r\n)\r\n\r\nconst Label = React.forwardRef<\r\n React.ElementRef<typeof LabelPrimitive.Root>,\r\n React.ComponentPropsWithoutRef<typeof LabelPrimitive.Root> &\r\n VariantProps<typeof labelVariants>\r\n>(({ className, variant, ...props }, ref) => (\r\n <LabelPrimitive.Root\r\n ref={ref}\r\n className={cn(labelVariants({ variant }), className)}\r\n {...props}\r\n />\r\n))\r\nLabel.displayName = LabelPrimitive.Root.displayName\r\n\r\nexport { Label }\r\n"],"names":["labelVariants","cva","Label","React","className","variant","props","ref","LabelPrimitive","cn"],"mappings":";;;;AAMA,MAAMA,IAAgBC;AAAA,EACpB;AAAA,EACA;AAAA,IACE,UAAU;AAAA,MACR,SAAS;AAAA,QACP,SAAS;AAAA,QACT,MAAM;AAAA,MACR;AAAA,IACF;AAAA,IACA,iBAAiB;AAAA,MACf,SAAS;AAAA,IACX;AAAA,EACF;AACF,GAEMC,IAAQC,EAAM,WAIlB,CAAC,EAAE,WAAAC,GAAW,SAAAC,GAAS,GAAGC,EAAM,GAAGC,MACnC,gBAAAJ,EAAA;AAAA,EAACK,EAAe;AAAA,EAAf;AAAA,IACC,KAAAD;AAAA,IACA,WAAWE,EAAGT,EAAc,EAAE,SAAAK,EAAS,CAAA,GAAGD,CAAS;AAAA,IAClD,GAAGE;AAAA,EAAA;AACN,CACD;AACDJ,EAAM,cAAcM,EAAe,KAAK;"}
1
+ {"version":3,"file":"index.es15.js","sources":["../src/components/ui/label.tsx"],"sourcesContent":["import * as React from 'react'\r\nimport * as LabelPrimitive from '@radix-ui/react-label'\r\nimport { cva, type VariantProps } from 'class-variance-authority'\r\n\r\nimport { cn } from '@/lib/utils/cn'\r\n\r\nexport const labelVariants = cva(\r\n 'typo_variant_h6 leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70 duration-200',\r\n {\r\n variants: {\r\n variant: {\r\n default: 'text-navy',\r\n blue: 'text-whitish',\r\n },\r\n },\r\n defaultVariants: {\r\n variant: 'default',\r\n },\r\n }\r\n)\r\n\r\nconst Label = React.forwardRef<\r\n React.ElementRef<typeof LabelPrimitive.Root>,\r\n React.ComponentPropsWithoutRef<typeof LabelPrimitive.Root> &\r\n VariantProps<typeof labelVariants>\r\n>(({ className, variant, ...props }, ref) => (\r\n <LabelPrimitive.Root\r\n ref={ref}\r\n className={cn(labelVariants({ variant }), className)}\r\n {...props}\r\n />\r\n))\r\nLabel.displayName = LabelPrimitive.Root.displayName\r\n\r\nexport { Label }\r\n"],"names":["labelVariants","cva","Label","React","className","variant","props","ref","LabelPrimitive","cn"],"mappings":";;;;AAMO,MAAMA,IAAgBC;AAAA,EAC3B;AAAA,EACA;AAAA,IACE,UAAU;AAAA,MACR,SAAS;AAAA,QACP,SAAS;AAAA,QACT,MAAM;AAAA,MACR;AAAA,IACF;AAAA,IACA,iBAAiB;AAAA,MACf,SAAS;AAAA,IACX;AAAA,EACF;AACF,GAEMC,IAAQC,EAAM,WAIlB,CAAC,EAAE,WAAAC,GAAW,SAAAC,GAAS,GAAGC,EAAM,GAAGC,MACnC,gBAAAJ,EAAA;AAAA,EAACK,EAAe;AAAA,EAAf;AAAA,IACC,KAAAD;AAAA,IACA,WAAWE,EAAGT,EAAc,EAAE,SAAAK,EAAS,CAAA,GAAGD,CAAS;AAAA,IAClD,GAAGE;AAAA,EAAA;AACN,CACD;AACDJ,EAAM,cAAcM,EAAe,KAAK;"}
@@ -1,10 +1,10 @@
1
1
  import * as t from "@radix-ui/react-checkbox";
2
2
  import * as e from "react";
3
3
  import { Check16X16 as c } from "@iit/precision-ui-icons";
4
- import { cva as n } from "class-variance-authority";
4
+ import { cva as d } from "class-variance-authority";
5
5
  import { cn as a } from "./index.es31.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",
6
+ const n = d(
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 aria-invalid:border-red-500",
8
8
  {
9
9
  variants: {
10
10
  variant: {
@@ -16,12 +16,12 @@ const d = n(
16
16
  variant: "default"
17
17
  }
18
18
  }
19
- ), h = e.forwardRef(({ className: i, variant: o, ...r }, s) => /* @__PURE__ */ e.createElement(
19
+ ), h = e.forwardRef(({ className: i, variant: r, ...o }, s) => /* @__PURE__ */ e.createElement(
20
20
  t.Root,
21
21
  {
22
22
  ref: s,
23
- className: a(d({ variant: o }), i),
24
- ...r
23
+ className: a(n({ variant: r }), i),
24
+ ...o
25
25
  },
26
26
  /* @__PURE__ */ e.createElement(
27
27
  t.Indicator,
@@ -1 +1 @@
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
+ {"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 aria-invalid:border-red-500',\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,36 +1,36 @@
1
1
  import N from "./index.es35.js";
2
2
  import d from "./index.es4.js";
3
- import v from "./index.es26.js";
3
+ import x from "./index.es26.js";
4
4
  import e from "react";
5
5
  import y from "./index.es17.js";
6
- import C from "./index.es36.js";
7
- import x from "./index.es27.js";
8
- import { cn as u } from "./index.es31.js";
9
- import { cva as p } from "class-variance-authority";
10
- import { getAdapter as H } from "./index.es9.js";
11
- const V = p("", {
6
+ import k from "./index.es36.js";
7
+ import v from "./index.es27.js";
8
+ import { cn as p } from "./index.es31.js";
9
+ import { cva as u } from "class-variance-authority";
10
+ import { getAdapter as C } from "./index.es9.js";
11
+ const H = u("", {
12
12
  variants: {
13
13
  size: {
14
- default: "pb-32",
15
- medium: "pb-[116px]",
16
- small: "pb-10"
14
+ default: "sm:pb-32",
15
+ medium: "sm:pb-[116px]",
16
+ small: "sm:pb-10"
17
17
  }
18
18
  },
19
19
  defaultVariants: {
20
20
  size: "default"
21
21
  }
22
- }), k = p("", {
22
+ }), V = u("", {
23
23
  variants: {
24
24
  size: {
25
- default: "pb-[76px]",
26
- medium: "pb-6",
27
- small: "pb-6"
25
+ default: "sm:pb-[76px]",
26
+ medium: "sm:pb-6",
27
+ small: "sm:pb-6"
28
28
  }
29
29
  },
30
30
  defaultVariants: {
31
31
  size: "default"
32
32
  }
33
- }), W = p("", {
33
+ }), W = u("", {
34
34
  variants: {
35
35
  size: {
36
36
  default: "mb-5",
@@ -70,7 +70,7 @@ const V = p("", {
70
70
  className: "w-full h-full flex justify-center items-center"
71
71
  },
72
72
  /* @__PURE__ */ e.createElement(
73
- C,
73
+ k,
74
74
  {
75
75
  placeholder: "Фильтр по тарифам",
76
76
  onChange: (r) => {
@@ -96,7 +96,7 @@ const V = p("", {
96
96
  size: s = "default",
97
97
  imageSize: h
98
98
  }) => {
99
- const w = (a) => {
99
+ const b = (a) => {
100
100
  switch (a) {
101
101
  case "small":
102
102
  return 448;
@@ -105,7 +105,7 @@ const V = p("", {
105
105
  default:
106
106
  return 664;
107
107
  }
108
- }, b = (a) => {
108
+ }, w = (a) => {
109
109
  switch (a) {
110
110
  case "small":
111
111
  return 336;
@@ -114,49 +114,49 @@ const V = p("", {
114
114
  default:
115
115
  return 544;
116
116
  }
117
- }, g = H("ImageWrapper");
117
+ }, g = C("ImageWrapper");
118
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
119
  "div",
120
120
  {
121
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 })
122
+ className: p(
123
+ "w-full relative z-20 grid grid-cols-1 sm:grid-cols-9 pb-12",
124
+ H({ size: s })
125
125
  )
126
126
  },
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 })),
127
+ /* @__PURE__ */ e.createElement("div", { className: "right-divider_with-tongue1 col-span-2 mt-6 pr-4 relative hidden lg:block" }, m && /* @__PURE__ */ e.createElement(N, { list: m })),
128
128
  /* @__PURE__ */ e.createElement(
129
129
  "div",
130
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 })
131
+ className: p(
132
+ "w-auto sm:p-10 pt-10 sm: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-l-0 lg:border-l-[1px] border-whitish-opacity-16 border-solid pb-4",
133
+ V({ size: s })
134
134
  )
135
135
  },
136
136
  /* @__PURE__ */ e.createElement(
137
- v,
137
+ x,
138
138
  {
139
139
  level: 1,
140
140
  as: "h1",
141
- className: u("max-w-[694px]", W({ size: s }))
141
+ className: p("max-w-[694px]", W({ size: s }))
142
142
  },
143
143
  /* @__PURE__ */ e.createElement(y, { html: t })
144
144
  ),
145
145
  /* @__PURE__ */ e.createElement("div", { className: "space-y-10" }, /* @__PURE__ */ e.createElement(
146
- x,
146
+ v,
147
147
  {
148
148
  variant: "body",
149
149
  className: `text-whitish-opacity-60 max-w-[460px] ${s === "medium" ? "mt-5" : ""}`
150
150
  },
151
151
  r
152
152
  ), (n || i) && /* @__PURE__ */ e.createElement("div", { className: "flex space-x-5 items-baseline" }, i && /* @__PURE__ */ e.createElement(
153
- x,
153
+ v,
154
154
  {
155
155
  variant: "lead-text",
156
156
  className: "text-whitish-opacity-32 line-through"
157
157
  },
158
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 })))),
159
+ ), /* @__PURE__ */ e.createElement(x, { 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
160
  o && /* @__PURE__ */ e.createElement("div", { className: "mt-5" }, j(o))
161
161
  )
162
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(
@@ -168,13 +168,13 @@ const V = p("", {
168
168
  className: "w-full backdrop-blur-[8px]",
169
169
  linkClassName: "w-full"
170
170
  }
171
- ))), l && /* @__PURE__ */ e.createElement("div", { className: "absolute bottom-0 right-6 floating" }, /* @__PURE__ */ e.createElement(
171
+ ))), l && /* @__PURE__ */ e.createElement("div", { className: "hidden sm:block absolute bottom-0 right-6 floating" }, /* @__PURE__ */ e.createElement(
172
172
  g,
173
173
  {
174
174
  src: l,
175
175
  alt: t,
176
- width: w(h || s),
177
- height: b(h || s),
176
+ width: b(h || s),
177
+ height: w(h || s),
178
178
  objectFit: "contain"
179
179
  }
180
180
  ))));
@@ -1 +1 @@
1
- {"version":3,"file":"index.es22.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.es22.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: 'sm:pb-32',\r\n medium: 'sm:pb-[116px]',\r\n small: 'sm: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: 'sm:pb-[76px]',\r\n medium: 'sm:pb-6',\r\n small: 'sm: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-12',\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 hidden lg:block\">\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 sm:p-10 pt-10 sm: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-l-0 lg:border-l-[1px] border-whitish-opacity-16 border-solid pb-4',\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=\"hidden sm:block 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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"}
@@ -28,7 +28,7 @@ const g = [
28
28
  withTopMargin: l,
29
29
  withBottomMargin: o
30
30
  }) => {
31
- const c = d("ImageWrapper");
31
+ const m = d("ImageWrapper");
32
32
  return /* @__PURE__ */ e.createElement(
33
33
  i,
34
34
  {
@@ -39,14 +39,14 @@ const g = [
39
39
  withTopMargin: l,
40
40
  withBottomMargin: o
41
41
  },
42
- /* @__PURE__ */ e.createElement("div", { className: "grid grid-cols-2 auto-rows-[222px] sm:grid-cols-3 lg:grid-cols-6 gap-3 mt-4" }, /* @__PURE__ */ e.createElement("div", { className: "p-6 bg-whitish rounded-lg col-span-3 row-start-1 row-end-3 flex flex-col justify-between" }, /* @__PURE__ */ e.createElement(p, { level: 2 }, "Более 500", " ", /* @__PURE__ */ e.createElement("span", { className: "text-navy-opacity-40" }, "компаний работают с нами")), /* @__PURE__ */ e.createElement(r, { variant: "body", className: "w-[87.5%]" }, "Среди наших клиентов — крупнейшие холдинги, государственные учреждения, финансовые и производственные компании, а также более 50 000 представителей малого и среднего бизнеса.")), g.map((t, m) => /* @__PURE__ */ e.createElement(
42
+ /* @__PURE__ */ e.createElement("div", { className: "grid grid-cols-1 sm:auto-rows-[222px] sm:grid-cols-3 lg:grid-cols-6 gap-3 mt-4" }, /* @__PURE__ */ e.createElement("div", { className: "p-6 bg-whitish rounded-lg col-span-1 sm:col-span-3 row-start-1 row-end-3 flex flex-col justify-between" }, /* @__PURE__ */ e.createElement(p, { level: 2 }, "Более 500", " ", /* @__PURE__ */ e.createElement("span", { className: "text-navy-opacity-40" }, "компаний работают с нами")), /* @__PURE__ */ e.createElement(r, { variant: "body", className: "w-[87.5%]" }, "Среди наших клиентов — крупнейшие холдинги, государственные учреждения, финансовые и производственные компании, а также более 50 000 представителей малого и среднего бизнеса.")), g.map((t, c) => /* @__PURE__ */ e.createElement(
43
43
  "div",
44
44
  {
45
- key: m,
46
- className: "rounded-lg border border-navy-opacity-16 flex align-middle justify-center"
45
+ key: c,
46
+ className: "rounded-lg border border-solid border-navy-opacity-16 flex align-middle justify-center items-center"
47
47
  },
48
- /* @__PURE__ */ e.createElement(c, { src: t, width: 160, height: 64, alt: t })
49
- )), /* @__PURE__ */ e.createElement("div", { className: "bg-whitish rounded-lg flex items-center justify-center" }, /* @__PURE__ */ e.createElement(r, { variant: "body", className: "text-navy-opacity-40" }, "500+")))
48
+ /* @__PURE__ */ e.createElement(m, { src: t, width: 160, height: 64, alt: t })
49
+ )), /* @__PURE__ */ e.createElement("div", { className: "bg-whitish rounded-lg flex items-center justify-center" }, /* @__PURE__ */ e.createElement(r, { variant: "body", className: "text-navy-opacity-40 py-6 sm:py-0" }, "500+")))
50
50
  );
51
51
  }, x = v;
52
52
  export {
@@ -1 +1 @@
1
- {"version":3,"file":"index.es23.js","sources":["../src/sections/Partners.tsx"],"sourcesContent":["import Section, { SectionProps } from './Section'\r\n\r\nimport Heading from '@/components/core/typography/Heading'\r\nimport React from 'react'\r\nimport Text from '@/components/core/typography/Text'\r\nimport { getAdapter } from '@/Adapters'\r\n\r\nconst partners = [\r\n '/partners/rostelekom.svg',\r\n '/partners/mts.svg',\r\n '/partners/uralsib.svg',\r\n '/partners/sberbank.svg',\r\n '/partners/rosbank.svg',\r\n '/partners/pochtabank.svg',\r\n '/partners/vtb.svg',\r\n '/partners/alfa.svg',\r\n '/partners/otkrytie.svg',\r\n // \"МТС\",\r\n // \"Уралсиб\",\r\n // \"Сбербанк\",\r\n // \"Росбанк\",\r\n // \"Почта Банк\",\r\n // \"ВТБ\",\r\n // \"РосБанк\",\r\n // \"Открытие\",\r\n]\r\n\r\nexport interface PartnersProps {\r\n variant?: SectionProps['variant']\r\n withoutTopPadding?: boolean\r\n withoutBottomPadding?: boolean\r\n withTopMargin?: boolean\r\n withBottomMargin?: boolean\r\n}\r\n\r\nconst Partners: React.FC<PartnersProps> = ({\r\n variant,\r\n withoutTopPadding,\r\n withoutBottomPadding,\r\n withTopMargin,\r\n withBottomMargin,\r\n}) => {\r\n const ImageWrapper = getAdapter('ImageWrapper')\r\n\r\n return (\r\n <Section\r\n title=\"\"\r\n variant={variant}\r\n withoutTopPadding={withoutTopPadding}\r\n withoutBottomPadding={withoutBottomPadding}\r\n withTopMargin={withTopMargin}\r\n withBottomMargin={withBottomMargin}\r\n >\r\n <div className=\"grid grid-cols-2 auto-rows-[222px] sm:grid-cols-3 lg:grid-cols-6 gap-3 mt-4\">\r\n <div className=\"p-6 bg-whitish rounded-lg col-span-3 row-start-1 row-end-3 flex flex-col justify-between\">\r\n <Heading level={2}>\r\n Более 500{' '}\r\n <span className=\"text-navy-opacity-40\">\r\n компаний работают с нами\r\n </span>\r\n </Heading>\r\n\r\n <Text variant=\"body\" className=\"w-[87.5%]\">\r\n Среди наших клиентов — крупнейшие холдинги, государственные\r\n учреждения, финансовые и производственные компании, а также более 50\r\n 000 представителей малого и среднего бизнеса.\r\n </Text>\r\n </div>\r\n {partners.map((partner, index) => (\r\n <div\r\n key={index}\r\n className=\"rounded-lg border border-navy-opacity-16 flex align-middle justify-center\"\r\n >\r\n <ImageWrapper src={partner} width={160} height={64} alt={partner} />\r\n </div>\r\n ))}\r\n <div className=\"bg-whitish rounded-lg flex items-center justify-center\">\r\n <Text variant=\"body\" className=\"text-navy-opacity-40\">\r\n 500+\r\n </Text>\r\n </div>\r\n </div>\r\n </Section>\r\n )\r\n}\r\n\r\nexport default Partners\r\n"],"names":["partners","Partners","variant","withoutTopPadding","withoutBottomPadding","withTopMargin","withBottomMargin","ImageWrapper","getAdapter","React","Section","Heading","Text","partner","index","Partners$1"],"mappings":";;;;;AAOA,MAAMA,IAAW;AAAA,EACf;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AASF,GAUMC,IAAoC,CAAC;AAAA,EACzC,SAAAC;AAAA,EACA,mBAAAC;AAAA,EACA,sBAAAC;AAAA,EACA,eAAAC;AAAA,EACA,kBAAAC;AACF,MAAM;AACE,QAAAC,IAAeC,EAAW,cAAc;AAG5C,SAAAC,gBAAAA,EAAA;AAAA,IAACC;AAAA,IAAA;AAAA,MACC,OAAM;AAAA,MACN,SAAAR;AAAA,MACA,mBAAAC;AAAA,MACA,sBAAAC;AAAA,MACA,eAAAC;AAAA,MACA,kBAAAC;AAAA,IAAA;AAAA,IAECG,gBAAAA,EAAA,cAAA,OAAA,EAAI,WAAU,8EAAA,mCACZ,OAAI,EAAA,WAAU,8FACbA,gBAAAA,EAAA,cAACE,KAAQ,OAAO,KAAG,aACP,qCACT,QAAK,EAAA,WAAU,uBAAuB,GAAA,0BAEvC,CACF,GAECF,gBAAAA,EAAA,cAAAG,GAAA,EAAK,SAAQ,QAAO,WAAU,YAAY,GAAA,gLAI3C,CACF,GACCZ,EAAS,IAAI,CAACa,GAASC,MACtBL,gBAAAA,EAAA;AAAA,MAAC;AAAA,MAAA;AAAA,QACC,KAAKK;AAAA,QACL,WAAU;AAAA,MAAA;AAAA,MAEVL,gBAAAA,EAAA,cAACF,KAAa,KAAKM,GAAS,OAAO,KAAK,QAAQ,IAAI,KAAKA,EAAS,CAAA;AAAA,IAAA,CAErE,GACAJ,gBAAAA,EAAA,cAAA,OAAA,EAAI,WAAU,yDACb,GAAAA,gBAAAA,EAAA,cAACG,GAAK,EAAA,SAAQ,QAAO,WAAU,uBAAuB,GAAA,MAEtD,CACF,CACF;AAAA,EAAA;AAGN,GAEAG,IAAed;"}
1
+ {"version":3,"file":"index.es23.js","sources":["../src/sections/Partners.tsx"],"sourcesContent":["import Section, { SectionProps } from './Section'\r\n\r\nimport Heading from '@/components/core/typography/Heading'\r\nimport React from 'react'\r\nimport Text from '@/components/core/typography/Text'\r\nimport { getAdapter } from '@/Adapters'\r\n\r\nconst partners = [\r\n '/partners/rostelekom.svg',\r\n '/partners/mts.svg',\r\n '/partners/uralsib.svg',\r\n '/partners/sberbank.svg',\r\n '/partners/rosbank.svg',\r\n '/partners/pochtabank.svg',\r\n '/partners/vtb.svg',\r\n '/partners/alfa.svg',\r\n '/partners/otkrytie.svg',\r\n // \"МТС\",\r\n // \"Уралсиб\",\r\n // \"Сбербанк\",\r\n // \"Росбанк\",\r\n // \"Почта Банк\",\r\n // \"ВТБ\",\r\n // \"РосБанк\",\r\n // \"Открытие\",\r\n]\r\n\r\nexport interface PartnersProps {\r\n variant?: SectionProps['variant']\r\n withoutTopPadding?: boolean\r\n withoutBottomPadding?: boolean\r\n withTopMargin?: boolean\r\n withBottomMargin?: boolean\r\n}\r\n\r\nconst Partners: React.FC<PartnersProps> = ({\r\n variant,\r\n withoutTopPadding,\r\n withoutBottomPadding,\r\n withTopMargin,\r\n withBottomMargin,\r\n}) => {\r\n const ImageWrapper = getAdapter('ImageWrapper')\r\n\r\n return (\r\n <Section\r\n title=\"\"\r\n variant={variant}\r\n withoutTopPadding={withoutTopPadding}\r\n withoutBottomPadding={withoutBottomPadding}\r\n withTopMargin={withTopMargin}\r\n withBottomMargin={withBottomMargin}\r\n >\r\n <div className=\"grid grid-cols-1 sm:auto-rows-[222px] sm:grid-cols-3 lg:grid-cols-6 gap-3 mt-4\">\r\n <div className=\"p-6 bg-whitish rounded-lg col-span-1 sm:col-span-3 row-start-1 row-end-3 flex flex-col justify-between\">\r\n <Heading level={2}>\r\n Более 500{' '}\r\n <span className=\"text-navy-opacity-40\">\r\n компаний работают с нами\r\n </span>\r\n </Heading>\r\n\r\n <Text variant=\"body\" className=\"w-[87.5%]\">\r\n Среди наших клиентов — крупнейшие холдинги, государственные\r\n учреждения, финансовые и производственные компании, а также более 50\r\n 000 представителей малого и среднего бизнеса.\r\n </Text>\r\n </div>\r\n {partners.map((partner, index) => (\r\n <div\r\n key={index}\r\n className=\"rounded-lg border border-solid border-navy-opacity-16 flex align-middle justify-center items-center\"\r\n >\r\n <ImageWrapper src={partner} width={160} height={64} alt={partner} />\r\n </div>\r\n ))}\r\n <div className=\"bg-whitish rounded-lg flex items-center justify-center\">\r\n <Text variant=\"body\" className=\"text-navy-opacity-40 py-6 sm:py-0\">\r\n 500+\r\n </Text>\r\n </div>\r\n </div>\r\n </Section>\r\n )\r\n}\r\n\r\nexport default Partners\r\n"],"names":["partners","Partners","variant","withoutTopPadding","withoutBottomPadding","withTopMargin","withBottomMargin","ImageWrapper","getAdapter","React","Section","Heading","Text","partner","index","Partners$1"],"mappings":";;;;;AAOA,MAAMA,IAAW;AAAA,EACf;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AASF,GAUMC,IAAoC,CAAC;AAAA,EACzC,SAAAC;AAAA,EACA,mBAAAC;AAAA,EACA,sBAAAC;AAAA,EACA,eAAAC;AAAA,EACA,kBAAAC;AACF,MAAM;AACE,QAAAC,IAAeC,EAAW,cAAc;AAG5C,SAAAC,gBAAAA,EAAA;AAAA,IAACC;AAAA,IAAA;AAAA,MACC,OAAM;AAAA,MACN,SAAAR;AAAA,MACA,mBAAAC;AAAA,MACA,sBAAAC;AAAA,MACA,eAAAC;AAAA,MACA,kBAAAC;AAAA,IAAA;AAAA,IAECG,gBAAAA,EAAA,cAAA,OAAA,EAAI,WAAU,iFAAA,mCACZ,OAAI,EAAA,WAAU,4GACbA,gBAAAA,EAAA,cAACE,KAAQ,OAAO,KAAG,aACP,qCACT,QAAK,EAAA,WAAU,uBAAuB,GAAA,0BAEvC,CACF,GAECF,gBAAAA,EAAA,cAAAG,GAAA,EAAK,SAAQ,QAAO,WAAU,YAAY,GAAA,gLAI3C,CACF,GACCZ,EAAS,IAAI,CAACa,GAASC,MACtBL,gBAAAA,EAAA;AAAA,MAAC;AAAA,MAAA;AAAA,QACC,KAAKK;AAAA,QACL,WAAU;AAAA,MAAA;AAAA,MAEVL,gBAAAA,EAAA,cAACF,KAAa,KAAKM,GAAS,OAAO,KAAK,QAAQ,IAAI,KAAKA,EAAS,CAAA;AAAA,IAAA,CAErE,GACAJ,gBAAAA,EAAA,cAAA,OAAA,EAAI,WAAU,yDACb,GAAAA,gBAAAA,EAAA,cAACG,GAAK,EAAA,SAAQ,QAAO,WAAU,oCAAoC,GAAA,MAEnE,CACF,CACF;AAAA,EAAA;AAGN,GAEAG,IAAed;"}
@@ -1,10 +1,10 @@
1
1
  import e from "react";
2
- import { cva as u } from "class-variance-authority";
3
- import { cn as y } from "./index.es31.js";
4
- import v from "./index.es26.js";
5
- import E from "./index.es27.js";
6
- import N from "./index.es4.js";
7
- const b = u("space-y-12", {
2
+ import { cva as y } from "class-variance-authority";
3
+ import { cn as v } from "./index.es31.js";
4
+ import E from "./index.es26.js";
5
+ import N from "./index.es27.js";
6
+ import b from "./index.es4.js";
7
+ const g = y("space-y-12", {
8
8
  variants: {
9
9
  variant: {
10
10
  default: "py-[120px]",
@@ -20,41 +20,42 @@ const b = u("space-y-12", {
20
20
  variant: "default",
21
21
  corners: "default"
22
22
  }
23
- }), g = ({
23
+ }), B = ({
24
24
  title: t,
25
+ sectionId: n,
25
26
  desc: a,
26
- children: n,
27
+ children: l,
27
28
  moreLink: r,
28
- moreText: l = "Подробнее",
29
- withTopMargin: o = !1,
30
- withBottomMargin: s = !1,
31
- withoutTopPadding: c = !1,
32
- withoutBottomPadding: m = !1,
33
- variant: i,
34
- corners: f,
35
- className: p
29
+ moreText: o = "Подробнее",
30
+ withTopMargin: s = !1,
31
+ withBottomMargin: c = !1,
32
+ withoutTopPadding: m = !1,
33
+ withoutBottomPadding: i = !1,
34
+ variant: f,
35
+ corners: p,
36
+ className: d
36
37
  }) => {
37
- const d = [
38
+ const x = [
38
39
  "container",
39
- o && "mt-6",
40
- s && "mb-6"
41
- ].filter(Boolean).map((x) => x).join(" ").trim();
42
- return /* @__PURE__ */ e.createElement("section", { className: d }, /* @__PURE__ */ e.createElement(
40
+ s && "mt-6",
41
+ c && "mb-6"
42
+ ].filter(Boolean).map((u) => u).join(" ").trim();
43
+ return /* @__PURE__ */ e.createElement("section", { className: x, id: n }, /* @__PURE__ */ e.createElement(
43
44
  "div",
44
45
  {
45
- className: y(
46
- b({ variant: i, corners: f }),
47
- c && "pt-0",
48
- m && "pb-0",
49
- p
46
+ className: v(
47
+ g({ variant: f, corners: p }),
48
+ m && "pt-0",
49
+ i && "pb-0",
50
+ d
50
51
  )
51
52
  },
52
- t && /* @__PURE__ */ e.createElement("div", { className: "space-y-4 flex flex-col items-center" }, /* @__PURE__ */ e.createElement(v, { level: 2, className: "text-center max-w-[900px]" }, t), a && /* @__PURE__ */ e.createElement(E, { className: "text-center max-w-6xl" }, a)),
53
- n,
54
- r && /* @__PURE__ */ e.createElement("div", { className: "flex justify-center" }, /* @__PURE__ */ e.createElement(N, { href: r }, l))
53
+ t && /* @__PURE__ */ e.createElement("div", { className: "space-y-4 flex flex-col items-center" }, /* @__PURE__ */ e.createElement(E, { level: 2, className: "text-center max-w-[900px]" }, t), a && /* @__PURE__ */ e.createElement(N, { className: "text-center max-w-6xl" }, a)),
54
+ l,
55
+ r && /* @__PURE__ */ e.createElement("div", { className: "flex justify-center" }, /* @__PURE__ */ e.createElement(b, { href: r }, o))
55
56
  ));
56
- }, _ = g;
57
+ }, h = B;
57
58
  export {
58
- _ as default
59
+ h as default
59
60
  };
60
61
  //# sourceMappingURL=index.es24.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.es24.js","sources":["../src/sections/Section.tsx"],"sourcesContent":["import React from 'react'\r\nimport { cva, type VariantProps } from 'class-variance-authority'\r\nimport { cn } from '@/lib/utils/cn'\r\nimport Heading from '@/components/core/typography/Heading'\r\nimport Text from '@/components/core/typography/Text'\r\nimport ButtonPrimary from '@/components/ui/button/ButtonPrimary'\r\n\r\nconst sectionVariants = cva('space-y-12', {\r\n variants: {\r\n variant: {\r\n default: 'py-[120px]',\r\n muted: 'bg-grey-2 py-[88px] px-6',\r\n },\r\n corners: {\r\n default: 'rounded-2xl',\r\n onlyTop: 'rounded-t-2xl',\r\n onlyBottom: 'rounded-b-2xl',\r\n },\r\n },\r\n defaultVariants: {\r\n variant: 'default',\r\n corners: 'default',\r\n },\r\n})\r\n\r\nexport interface SectionProps\r\n extends React.HTMLAttributes<HTMLDivElement>,\r\n VariantProps<typeof sectionVariants> {\r\n title: string\r\n desc?: string\r\n children?: React.ReactNode\r\n moreLink?: string\r\n moreText?: string\r\n withTopMargin?: boolean\r\n withBottomMargin?: boolean\r\n withoutTopPadding?: boolean\r\n withoutBottomPadding?: boolean\r\n className?: string\r\n}\r\n\r\nconst Section: React.FC<SectionProps> = ({\r\n title,\r\n desc,\r\n children,\r\n moreLink,\r\n moreText = 'Подробнее',\r\n withTopMargin = false,\r\n withBottomMargin = false,\r\n withoutTopPadding = false,\r\n withoutBottomPadding = false,\r\n variant,\r\n corners,\r\n className,\r\n}) => {\r\n const sectionClasses = [\r\n 'container',\r\n withTopMargin && 'mt-6',\r\n withBottomMargin && 'mb-6',\r\n ]\r\n .filter(Boolean)\r\n .map((item) => item)\r\n .join(' ')\r\n .trim()\r\n\r\n return (\r\n <section className={sectionClasses}>\r\n <div\r\n className={cn(\r\n sectionVariants({ variant, corners }),\r\n withoutTopPadding && 'pt-0',\r\n withoutBottomPadding && 'pb-0',\r\n className\r\n )}\r\n >\r\n {title && (\r\n <div className=\"space-y-4 flex flex-col items-center\">\r\n <Heading level={2} className=\"text-center max-w-[900px]\">\r\n {title}\r\n </Heading>\r\n {desc && <Text className=\"text-center max-w-6xl\">{desc}</Text>}\r\n </div>\r\n )}\r\n {children}\r\n {moreLink && (\r\n <div className=\"flex justify-center\">\r\n <ButtonPrimary href={moreLink}>{moreText}</ButtonPrimary>\r\n </div>\r\n )}\r\n </div>\r\n </section>\r\n )\r\n}\r\n\r\nexport default Section\r\n"],"names":["sectionVariants","cva","Section","title","desc","children","moreLink","moreText","withTopMargin","withBottomMargin","withoutTopPadding","withoutBottomPadding","variant","corners","className","sectionClasses","item","React","cn","Heading","Text","ButtonPrimary","Section$1"],"mappings":";;;;;;AAOA,MAAMA,IAAkBC,EAAI,cAAc;AAAA,EACxC,UAAU;AAAA,IACR,SAAS;AAAA,MACP,SAAS;AAAA,MACT,OAAO;AAAA,IACT;AAAA,IACA,SAAS;AAAA,MACP,SAAS;AAAA,MACT,SAAS;AAAA,MACT,YAAY;AAAA,IACd;AAAA,EACF;AAAA,EACA,iBAAiB;AAAA,IACf,SAAS;AAAA,IACT,SAAS;AAAA,EACX;AACF,CAAC,GAiBKC,IAAkC,CAAC;AAAA,EACvC,OAAAC;AAAA,EACA,MAAAC;AAAA,EACA,UAAAC;AAAA,EACA,UAAAC;AAAA,EACA,UAAAC,IAAW;AAAA,EACX,eAAAC,IAAgB;AAAA,EAChB,kBAAAC,IAAmB;AAAA,EACnB,mBAAAC,IAAoB;AAAA,EACpB,sBAAAC,IAAuB;AAAA,EACvB,SAAAC;AAAA,EACA,SAAAC;AAAA,EACA,WAAAC;AACF,MAAM;AACJ,QAAMC,IAAiB;AAAA,IACrB;AAAA,IACAP,KAAiB;AAAA,IACjBC,KAAoB;AAAA,EAEnB,EAAA,OAAO,OAAO,EACd,IAAI,CAACO,MAASA,CAAI,EAClB,KAAK,GAAG,EACR,KAAK;AAGN,SAAAC,gBAAAA,EAAA,cAAC,WAAQ,EAAA,WAAWF,EAClB,GAAAE,gBAAAA,EAAA;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,WAAWC;AAAA,QACTlB,EAAgB,EAAE,SAAAY,GAAS,SAAAC,GAAS;AAAA,QACpCH,KAAqB;AAAA,QACrBC,KAAwB;AAAA,QACxBG;AAAA,MACF;AAAA,IAAA;AAAA,IAECX,KACEc,gBAAAA,EAAA,cAAA,OAAA,EAAI,WAAU,uCACb,GAAAA,gBAAAA,EAAA,cAACE,KAAQ,OAAO,GAAG,WAAU,4BAC1B,GAAAhB,CACH,GACCC,KAAQa,gBAAAA,EAAA,cAACG,KAAK,WAAU,wBAAA,GAAyBhB,CAAK,CACzD;AAAA,IAEDC;AAAA,IACAC,KACEW,gBAAAA,EAAA,cAAA,OAAA,EAAI,WAAU,sBAAA,mCACZI,GAAc,EAAA,MAAMf,EAAW,GAAAC,CAAS,CAC3C;AAAA,EAAA,CAGN;AAEJ,GAEAe,IAAepB;"}
1
+ {"version":3,"file":"index.es24.js","sources":["../src/sections/Section.tsx"],"sourcesContent":["import React from 'react'\r\nimport { cva, type VariantProps } from 'class-variance-authority'\r\nimport { cn } from '@/lib/utils/cn'\r\nimport Heading from '@/components/core/typography/Heading'\r\nimport Text from '@/components/core/typography/Text'\r\nimport ButtonPrimary from '@/components/ui/button/ButtonPrimary'\r\n\r\nconst sectionVariants = cva('space-y-12', {\r\n variants: {\r\n variant: {\r\n default: 'py-[120px]',\r\n muted: 'bg-grey-2 py-[88px] px-6',\r\n },\r\n corners: {\r\n default: 'rounded-2xl',\r\n onlyTop: 'rounded-t-2xl',\r\n onlyBottom: 'rounded-b-2xl',\r\n },\r\n },\r\n defaultVariants: {\r\n variant: 'default',\r\n corners: 'default',\r\n },\r\n})\r\n\r\nexport interface SectionProps\r\n extends React.HTMLAttributes<HTMLDivElement>,\r\n VariantProps<typeof sectionVariants> {\r\n title: string\r\n sectionId?: string\r\n desc?: string\r\n children?: React.ReactNode\r\n moreLink?: string\r\n moreText?: string\r\n withTopMargin?: boolean\r\n withBottomMargin?: boolean\r\n withoutTopPadding?: boolean\r\n withoutBottomPadding?: boolean\r\n className?: string\r\n}\r\n\r\nconst Section: React.FC<SectionProps> = ({\r\n title,\r\n sectionId,\r\n desc,\r\n children,\r\n moreLink,\r\n moreText = 'Подробнее',\r\n withTopMargin = false,\r\n withBottomMargin = false,\r\n withoutTopPadding = false,\r\n withoutBottomPadding = false,\r\n variant,\r\n corners,\r\n className,\r\n}) => {\r\n const sectionClasses = [\r\n 'container',\r\n withTopMargin && 'mt-6',\r\n withBottomMargin && 'mb-6',\r\n ]\r\n .filter(Boolean)\r\n .map((item) => item)\r\n .join(' ')\r\n .trim()\r\n\r\n return (\r\n <section className={sectionClasses} id={sectionId}>\r\n <div\r\n className={cn(\r\n sectionVariants({ variant, corners }),\r\n withoutTopPadding && 'pt-0',\r\n withoutBottomPadding && 'pb-0',\r\n className\r\n )}\r\n >\r\n {title && (\r\n <div className=\"space-y-4 flex flex-col items-center\">\r\n <Heading level={2} className=\"text-center max-w-[900px]\">\r\n {title}\r\n </Heading>\r\n {desc && <Text className=\"text-center max-w-6xl\">{desc}</Text>}\r\n </div>\r\n )}\r\n {children}\r\n {moreLink && (\r\n <div className=\"flex justify-center\">\r\n <ButtonPrimary href={moreLink}>{moreText}</ButtonPrimary>\r\n </div>\r\n )}\r\n </div>\r\n </section>\r\n )\r\n}\r\n\r\nexport default Section\r\n"],"names":["sectionVariants","cva","Section","title","sectionId","desc","children","moreLink","moreText","withTopMargin","withBottomMargin","withoutTopPadding","withoutBottomPadding","variant","corners","className","sectionClasses","item","React","cn","Heading","Text","ButtonPrimary","Section$1"],"mappings":";;;;;;AAOA,MAAMA,IAAkBC,EAAI,cAAc;AAAA,EACxC,UAAU;AAAA,IACR,SAAS;AAAA,MACP,SAAS;AAAA,MACT,OAAO;AAAA,IACT;AAAA,IACA,SAAS;AAAA,MACP,SAAS;AAAA,MACT,SAAS;AAAA,MACT,YAAY;AAAA,IACd;AAAA,EACF;AAAA,EACA,iBAAiB;AAAA,IACf,SAAS;AAAA,IACT,SAAS;AAAA,EACX;AACF,CAAC,GAkBKC,IAAkC,CAAC;AAAA,EACvC,OAAAC;AAAA,EACA,WAAAC;AAAA,EACA,MAAAC;AAAA,EACA,UAAAC;AAAA,EACA,UAAAC;AAAA,EACA,UAAAC,IAAW;AAAA,EACX,eAAAC,IAAgB;AAAA,EAChB,kBAAAC,IAAmB;AAAA,EACnB,mBAAAC,IAAoB;AAAA,EACpB,sBAAAC,IAAuB;AAAA,EACvB,SAAAC;AAAA,EACA,SAAAC;AAAA,EACA,WAAAC;AACF,MAAM;AACJ,QAAMC,IAAiB;AAAA,IACrB;AAAA,IACAP,KAAiB;AAAA,IACjBC,KAAoB;AAAA,EAEnB,EAAA,OAAO,OAAO,EACd,IAAI,CAACO,MAASA,CAAI,EAClB,KAAK,GAAG,EACR,KAAK;AAER,SACGC,gBAAAA,EAAA,cAAA,WAAA,EAAQ,WAAWF,GAAgB,IAAIZ,KACtCc,gBAAAA,EAAA;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,WAAWC;AAAA,QACTnB,EAAgB,EAAE,SAAAa,GAAS,SAAAC,GAAS;AAAA,QACpCH,KAAqB;AAAA,QACrBC,KAAwB;AAAA,QACxBG;AAAA,MACF;AAAA,IAAA;AAAA,IAECZ,KACEe,gBAAAA,EAAA,cAAA,OAAA,EAAI,WAAU,uCACb,GAAAA,gBAAAA,EAAA,cAACE,KAAQ,OAAO,GAAG,WAAU,4BAC1B,GAAAjB,CACH,GACCE,KAAQa,gBAAAA,EAAA,cAACG,KAAK,WAAU,wBAAA,GAAyBhB,CAAK,CACzD;AAAA,IAEDC;AAAA,IACAC,KACEW,gBAAAA,EAAA,cAAA,OAAA,EAAI,WAAU,sBAAA,mCACZI,GAAc,EAAA,MAAMf,EAAW,GAAAC,CAAS,CAC3C;AAAA,EAAA,CAGN;AAEJ,GAEAe,IAAerB;"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.es28.js","sources":["../src/components/ui/form.tsx"],"sourcesContent":["import * as LabelPrimitive from '@radix-ui/react-label'\nimport * as React from 'react'\n\nimport {\n Controller,\n ControllerProps,\n FieldPath,\n FieldValues,\n FormProvider,\n useFormContext,\n} from 'react-hook-form'\n\nimport { Label } from '@/components/ui/label'\nimport { Slot } from '@radix-ui/react-slot'\nimport { cn } from '@/lib/utils/cn'\n\nconst Form = FormProvider\n\ntype FormFieldContextValue<\n TFieldValues extends FieldValues = FieldValues,\n TName extends FieldPath<TFieldValues> = FieldPath<TFieldValues>\n> = {\n name: TName\n}\n\nconst FormFieldContext = React.createContext<FormFieldContextValue>(\n {} as FormFieldContextValue\n)\n\nconst FormField = <\n TFieldValues extends FieldValues = FieldValues,\n TName extends FieldPath<TFieldValues> = FieldPath<TFieldValues>\n>({\n ...props\n}: ControllerProps<TFieldValues, TName>) => {\n return (\n <FormFieldContext.Provider value={{ name: props.name }}>\n <Controller {...props} />\n </FormFieldContext.Provider>\n )\n}\n\nconst useFormField = () => {\n const fieldContext = React.useContext(FormFieldContext)\n const itemContext = React.useContext(FormItemContext)\n const { getFieldState, formState } = useFormContext()\n\n const fieldState = getFieldState(fieldContext.name, formState)\n\n if (!fieldContext) {\n throw new Error('useFormField should be used within <FormField>')\n }\n\n const { id } = itemContext\n\n return {\n id,\n name: fieldContext.name,\n formItemId: `${id}-form-item`,\n formDescriptionId: `${id}-form-item-description`,\n formMessageId: `${id}-form-item-message`,\n ...fieldState,\n }\n}\n\ntype FormItemContextValue = {\n id: string\n}\n\nconst FormItemContext = React.createContext<FormItemContextValue>(\n {} as FormItemContextValue\n)\n\nconst FormItem = React.forwardRef<\n HTMLDivElement,\n React.HTMLAttributes<HTMLDivElement>\n>(({ className, ...props }, ref) => {\n const id = React.useId()\n\n return (\n <FormItemContext.Provider value={{ id }}>\n <div ref={ref} className={cn('space-y-2', className)} {...props} />\n </FormItemContext.Provider>\n )\n})\nFormItem.displayName = 'FormItem'\n\nconst FormLabel = React.forwardRef<\n React.ElementRef<typeof LabelPrimitive.Root>,\n React.ComponentPropsWithoutRef<typeof LabelPrimitive.Root>\n>(({ className, ...props }, ref) => {\n const { error, formItemId } = useFormField()\n\n return (\n <Label\n ref={ref}\n className={cn(error && 'text-destructive', className)}\n htmlFor={formItemId}\n {...props}\n />\n )\n})\nFormLabel.displayName = 'FormLabel'\n\nconst FormControl = React.forwardRef<\n React.ElementRef<typeof Slot>,\n React.ComponentPropsWithoutRef<typeof Slot>\n>(({ ...props }, ref) => {\n const { error, formItemId, formDescriptionId, formMessageId } = useFormField()\n\n return (\n <Slot\n ref={ref}\n id={formItemId}\n aria-describedby={\n !error\n ? `${formDescriptionId}`\n : `${formDescriptionId} ${formMessageId}`\n }\n aria-invalid={!!error}\n {...props}\n />\n )\n})\nFormControl.displayName = 'FormControl'\n\nconst FormDescription = React.forwardRef<\n HTMLParagraphElement,\n React.HTMLAttributes<HTMLParagraphElement>\n>(({ className, ...props }, ref) => {\n const { formDescriptionId } = useFormField()\n\n return (\n <p\n ref={ref}\n id={formDescriptionId}\n className={cn('text-sm text-muted-foreground', className)}\n {...props}\n />\n )\n})\nFormDescription.displayName = 'FormDescription'\n\nconst FormMessage = React.forwardRef<\n HTMLParagraphElement,\n React.HTMLAttributes<HTMLParagraphElement>\n>(({ className, children, ...props }, ref) => {\n const { error, formMessageId } = useFormField()\n const body = error ? String(error?.message) : children\n\n if (!body) {\n return null\n }\n\n return (\n <p\n ref={ref}\n id={formMessageId}\n className={cn('text-sm font-medium text-destructive', className)}\n {...props}\n >\n {body}\n </p>\n )\n})\nFormMessage.displayName = 'FormMessage'\n\nexport {\n useFormField,\n Form,\n FormItem,\n FormLabel,\n FormControl,\n FormDescription,\n FormMessage,\n FormField,\n}\n"],"names":["Form","FormProvider","FormFieldContext","React","FormField","props","Controller","useFormField","fieldContext","itemContext","FormItemContext","getFieldState","formState","useFormContext","fieldState","id","FormItem","className","ref","cn","FormLabel","error","formItemId","Label","FormControl","formDescriptionId","formMessageId","Slot","FormDescription","FormMessage","children","body"],"mappings":"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"}
1
+ {"version":3,"file":"index.es28.js","sources":["../src/components/ui/form.tsx"],"sourcesContent":["import * as LabelPrimitive from '@radix-ui/react-label'\nimport * as React from 'react'\n\nimport {\n Controller,\n ControllerProps,\n FieldPath,\n FieldValues,\n FormProvider,\n useFormContext,\n} from 'react-hook-form'\nimport { Label, labelVariants } from '@/components/ui/label'\n\nimport { Slot } from '@radix-ui/react-slot'\nimport { VariantProps } from 'class-variance-authority'\nimport { cn } from '@/lib/utils/cn'\n\nconst Form = FormProvider\n\ntype FormFieldContextValue<\n TFieldValues extends FieldValues = FieldValues,\n TName extends FieldPath<TFieldValues> = FieldPath<TFieldValues>\n> = {\n name: TName\n}\n\nconst FormFieldContext = React.createContext<FormFieldContextValue>(\n {} as FormFieldContextValue\n)\n\nconst FormField = <\n TFieldValues extends FieldValues = FieldValues,\n TName extends FieldPath<TFieldValues> = FieldPath<TFieldValues>\n>({\n ...props\n}: ControllerProps<TFieldValues, TName>) => {\n return (\n <FormFieldContext.Provider value={{ name: props.name }}>\n <Controller {...props} />\n </FormFieldContext.Provider>\n )\n}\n\nconst useFormField = () => {\n const fieldContext = React.useContext(FormFieldContext)\n const itemContext = React.useContext(FormItemContext)\n const { getFieldState, formState } = useFormContext()\n\n const fieldState = getFieldState(fieldContext.name, formState)\n\n if (!fieldContext) {\n throw new Error('useFormField should be used within <FormField>')\n }\n\n const { id } = itemContext\n\n return {\n id,\n name: fieldContext.name,\n formItemId: `${id}-form-item`,\n formDescriptionId: `${id}-form-item-description`,\n formMessageId: `${id}-form-item-message`,\n ...fieldState,\n }\n}\n\ntype FormItemContextValue = {\n id: string\n}\n\nconst FormItemContext = React.createContext<FormItemContextValue>(\n {} as FormItemContextValue\n)\n\nconst FormItem = React.forwardRef<\n HTMLDivElement,\n React.HTMLAttributes<HTMLDivElement>\n>(({ className, ...props }, ref) => {\n const id = React.useId()\n\n return (\n <FormItemContext.Provider value={{ id }}>\n <div ref={ref} className={cn('space-y-2', className)} {...props} />\n </FormItemContext.Provider>\n )\n})\nFormItem.displayName = 'FormItem'\n\nconst FormLabel = React.forwardRef<\n React.ElementRef<typeof LabelPrimitive.Root>,\n React.ComponentPropsWithoutRef<typeof LabelPrimitive.Root> &\n VariantProps<typeof labelVariants>\n>(({ className, ...props }, ref) => {\n const { error, formItemId } = useFormField()\n\n return (\n <Label\n ref={ref}\n className={cn(error && 'text-destructive', className)}\n htmlFor={formItemId}\n {...props}\n />\n )\n})\nFormLabel.displayName = 'FormLabel'\n\nconst FormControl = React.forwardRef<\n React.ElementRef<typeof Slot>,\n React.ComponentPropsWithoutRef<typeof Slot>\n>(({ ...props }, ref) => {\n const { error, formItemId, formDescriptionId, formMessageId } = useFormField()\n\n return (\n <Slot\n ref={ref}\n id={formItemId}\n aria-describedby={\n !error\n ? `${formDescriptionId}`\n : `${formDescriptionId} ${formMessageId}`\n }\n aria-invalid={!!error}\n {...props}\n />\n )\n})\nFormControl.displayName = 'FormControl'\n\nconst FormDescription = React.forwardRef<\n HTMLParagraphElement,\n React.HTMLAttributes<HTMLParagraphElement>\n>(({ className, ...props }, ref) => {\n const { formDescriptionId } = useFormField()\n\n return (\n <p\n ref={ref}\n id={formDescriptionId}\n className={cn('text-sm text-muted-foreground', className)}\n {...props}\n />\n )\n})\nFormDescription.displayName = 'FormDescription'\n\nconst FormMessage = React.forwardRef<\n HTMLParagraphElement,\n React.HTMLAttributes<HTMLParagraphElement>\n>(({ className, children, ...props }, ref) => {\n const { error, formMessageId } = useFormField()\n const body = error ? String(error?.message) : children\n\n if (!body) {\n return null\n }\n\n return (\n <p\n ref={ref}\n id={formMessageId}\n className={cn('text-sm font-medium text-destructive', className)}\n {...props}\n >\n {body}\n </p>\n )\n})\nFormMessage.displayName = 'FormMessage'\n\nexport {\n useFormField,\n Form,\n FormItem,\n FormLabel,\n FormControl,\n FormDescription,\n FormMessage,\n FormField,\n}\n"],"names":["Form","FormProvider","FormFieldContext","React","FormField","props","Controller","useFormField","fieldContext","itemContext","FormItemContext","getFieldState","formState","useFormContext","fieldState","id","FormItem","className","ref","cn","FormLabel","error","formItemId","Label","FormControl","formDescriptionId","formMessageId","Slot","FormDescription","FormMessage","children","body"],"mappings":"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"}
@@ -3,8 +3,8 @@ import r from "react";
3
3
  import o from "./index.es27.js";
4
4
  const f = ({
5
5
  items: t,
6
- renderItem: s,
7
- columns: l = 4,
6
+ renderItem: l,
7
+ columns: s = 4,
8
8
  showControlsOnDesktop: d = !1,
9
9
  withoutCarousel: g = !0,
10
10
  // TODO: add to props chain
@@ -19,17 +19,17 @@ const f = ({
19
19
  case 3:
20
20
  return "grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-3 gap-3";
21
21
  case 4:
22
- return "grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-4 gap-3";
22
+ return "grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-3 xl:grid-cols-4 gap-3";
23
23
  default:
24
24
  return "grid grid-cols-1 gap-3";
25
25
  }
26
26
  };
27
- return /* @__PURE__ */ r.createElement("div", null, g ? /* @__PURE__ */ r.createElement("div", { className: i(l) }, t.map((e, a) => /* @__PURE__ */ r.createElement(r.Fragment, { key: a }, s(e, a)))) : /* @__PURE__ */ r.createElement(
27
+ return /* @__PURE__ */ r.createElement("div", null, g ? /* @__PURE__ */ r.createElement("div", { className: i(s) }, t.map((e, a) => /* @__PURE__ */ r.createElement(r.Fragment, { key: a }, l(e, a)))) : /* @__PURE__ */ r.createElement(
28
28
  m,
29
29
  {
30
30
  items: t,
31
- renderItem: (e, a) => s(e, a),
32
- columns: l,
31
+ renderItem: (e, a) => l(e, a),
32
+ columns: s,
33
33
  showControlsOnDesktop: d
34
34
  }
35
35
  ), c && /* @__PURE__ */ r.createElement("div", { className: "mt-6" }, /* @__PURE__ */ r.createElement(o, { variant: "small-body", as: "div" }, c)));
@@ -1 +1 @@
1
- {"version":3,"file":"index.es40.js","sources":["../src/components/GridIterator.tsx"],"sourcesContent":["import { CarouselWrapper } from '@/decorators/CarouselWrapper'\r\nimport React from 'react'\r\nimport Text from './core/typography/Text'\r\n\r\n// import { getAdapter } from '@/Adapters'\r\n\r\ninterface GridIteratorProps<T> {\r\n items: T[]\r\n renderItem: (item: T, index: number) => React.ReactNode\r\n columns?: number\r\n showControlsOnDesktop?: boolean\r\n withoutCarousel?: boolean\r\n footnote?: string\r\n}\r\n\r\nconst GridIterator = <T,>({\r\n items,\r\n renderItem,\r\n columns = 4,\r\n showControlsOnDesktop = false,\r\n withoutCarousel = true, // TODO: add to props chain\r\n footnote,\r\n}: GridIteratorProps<T>) => {\r\n const getGridClasses = (columns: number) => {\r\n switch (columns) {\r\n case 1:\r\n return 'grid grid-cols-1 gap-3'\r\n case 2:\r\n return 'grid grid-cols-1 sm:grid-cols-2 gap-3'\r\n case 3:\r\n return 'grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-3 gap-3'\r\n case 4:\r\n return 'grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-4 gap-3'\r\n default:\r\n return 'grid grid-cols-1 gap-3'\r\n }\r\n }\r\n // const CarouselWrapper = getAdapter('CarouselWrapper')\r\n\r\n return (\r\n <div>\r\n {withoutCarousel ? (\r\n <div className={getGridClasses(columns)}>\r\n {items.map((item, index) => (\r\n <React.Fragment key={index}>\r\n {renderItem(item, index)}\r\n </React.Fragment>\r\n ))}\r\n </div>\r\n ) : (\r\n <CarouselWrapper\r\n items={items}\r\n // renderItem={renderItem}\r\n renderItem={(item, index) => renderItem(item as T, index)}\r\n columns={columns}\r\n showControlsOnDesktop={showControlsOnDesktop}\r\n />\r\n )}\r\n\r\n {footnote && (\r\n <div className=\"mt-6\">\r\n <Text variant=\"small-body\" as=\"div\">\r\n {footnote}\r\n </Text>\r\n </div>\r\n )}\r\n </div>\r\n )\r\n}\r\n\r\nexport default GridIterator\r\n"],"names":["GridIterator","items","renderItem","columns","showControlsOnDesktop","withoutCarousel","footnote","getGridClasses","React","item","index","CarouselWrapper","Text"],"mappings":";;;AAeA,MAAMA,IAAe,CAAK;AAAA,EACxB,OAAAC;AAAA,EACA,YAAAC;AAAA,EACA,SAAAC,IAAU;AAAA,EACV,uBAAAC,IAAwB;AAAA,EACxB,iBAAAC,IAAkB;AAAA;AAAA,EAClB,UAAAC;AACF,MAA4B;AACpB,QAAAC,IAAiB,CAACJ,MAAoB;AAC1C,YAAQA,GAAS;AAAA,MACf,KAAK;AACI,eAAA;AAAA,MACT,KAAK;AACI,eAAA;AAAA,MACT,KAAK;AACI,eAAA;AAAA,MACT,KAAK;AACI,eAAA;AAAA,MACT;AACS,eAAA;AAAA,IACX;AAAA,EAAA;AAKA,SAAAK,gBAAAA,EAAA,cAAC,OACE,MAAAH,IACEG,gBAAAA,EAAA,cAAA,OAAA,EAAI,WAAWD,EAAeJ,CAAO,EAAA,GACnCF,EAAM,IAAI,CAACQ,GAAMC,MACfF,gBAAAA,EAAA,cAAAA,EAAM,UAAN,EAAe,KAAKE,EAAA,GAClBR,EAAWO,GAAMC,CAAK,CACzB,CACD,CACH,IAEAF,gBAAAA,EAAA;AAAA,IAACG;AAAA,IAAA;AAAA,MACC,OAAAV;AAAA,MAEA,YAAY,CAACQ,GAAMC,MAAUR,EAAWO,GAAWC,CAAK;AAAA,MACxD,SAAAP;AAAA,MACA,uBAAAC;AAAA,IAAA;AAAA,EAAA,GAIHE,KACEE,gBAAAA,EAAA,cAAA,OAAA,EAAI,WAAU,OACb,GAAAA,gBAAAA,EAAA,cAACI,GAAK,EAAA,SAAQ,cAAa,IAAG,SAC3BN,CACH,CACF,CAEJ;AAEJ;"}
1
+ {"version":3,"file":"index.es40.js","sources":["../src/components/GridIterator.tsx"],"sourcesContent":["import { CarouselWrapper } from '@/decorators/CarouselWrapper'\r\nimport React from 'react'\r\nimport Text from './core/typography/Text'\r\n\r\n// import { getAdapter } from '@/Adapters'\r\n\r\ninterface GridIteratorProps<T> {\r\n items: T[]\r\n renderItem: (item: T, index: number) => React.ReactNode\r\n columns?: number\r\n showControlsOnDesktop?: boolean\r\n withoutCarousel?: boolean\r\n footnote?: string\r\n}\r\n\r\nconst GridIterator = <T,>({\r\n items,\r\n renderItem,\r\n columns = 4,\r\n showControlsOnDesktop = false,\r\n withoutCarousel = true, // TODO: add to props chain\r\n footnote,\r\n}: GridIteratorProps<T>) => {\r\n const getGridClasses = (columns: number) => {\r\n switch (columns) {\r\n case 1:\r\n return 'grid grid-cols-1 gap-3'\r\n case 2:\r\n return 'grid grid-cols-1 sm:grid-cols-2 gap-3'\r\n case 3:\r\n return 'grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-3 gap-3'\r\n case 4:\r\n return 'grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-3 xl:grid-cols-4 gap-3'\r\n default:\r\n return 'grid grid-cols-1 gap-3'\r\n }\r\n }\r\n // const CarouselWrapper = getAdapter('CarouselWrapper')\r\n\r\n return (\r\n <div>\r\n {withoutCarousel ? (\r\n <div className={getGridClasses(columns)}>\r\n {items.map((item, index) => (\r\n <React.Fragment key={index}>\r\n {renderItem(item, index)}\r\n </React.Fragment>\r\n ))}\r\n </div>\r\n ) : (\r\n <CarouselWrapper\r\n items={items}\r\n // renderItem={renderItem}\r\n renderItem={(item, index) => renderItem(item as T, index)}\r\n columns={columns}\r\n showControlsOnDesktop={showControlsOnDesktop}\r\n />\r\n )}\r\n\r\n {footnote && (\r\n <div className=\"mt-6\">\r\n <Text variant=\"small-body\" as=\"div\">\r\n {footnote}\r\n </Text>\r\n </div>\r\n )}\r\n </div>\r\n )\r\n}\r\n\r\nexport default GridIterator\r\n"],"names":["GridIterator","items","renderItem","columns","showControlsOnDesktop","withoutCarousel","footnote","getGridClasses","React","item","index","CarouselWrapper","Text"],"mappings":";;;AAeA,MAAMA,IAAe,CAAK;AAAA,EACxB,OAAAC;AAAA,EACA,YAAAC;AAAA,EACA,SAAAC,IAAU;AAAA,EACV,uBAAAC,IAAwB;AAAA,EACxB,iBAAAC,IAAkB;AAAA;AAAA,EAClB,UAAAC;AACF,MAA4B;AACpB,QAAAC,IAAiB,CAACJ,MAAoB;AAC1C,YAAQA,GAAS;AAAA,MACf,KAAK;AACI,eAAA;AAAA,MACT,KAAK;AACI,eAAA;AAAA,MACT,KAAK;AACI,eAAA;AAAA,MACT,KAAK;AACI,eAAA;AAAA,MACT;AACS,eAAA;AAAA,IACX;AAAA,EAAA;AAKA,SAAAK,gBAAAA,EAAA,cAAC,OACE,MAAAH,IACEG,gBAAAA,EAAA,cAAA,OAAA,EAAI,WAAWD,EAAeJ,CAAO,EAAA,GACnCF,EAAM,IAAI,CAACQ,GAAMC,MACfF,gBAAAA,EAAA,cAAAA,EAAM,UAAN,EAAe,KAAKE,EAAA,GAClBR,EAAWO,GAAMC,CAAK,CACzB,CACD,CACH,IAEAF,gBAAAA,EAAA;AAAA,IAACG;AAAA,IAAA;AAAA,MACC,OAAAV;AAAA,MAEA,YAAY,CAACQ,GAAMC,MAAUR,EAAWO,GAAWC,CAAK;AAAA,MACxD,SAAAP;AAAA,MACA,uBAAAC;AAAA,IAAA;AAAA,EAAA,GAIHE,KACEE,gBAAAA,EAAA,cAAA,OAAA,EAAI,WAAU,OACb,GAAAA,gBAAAA,EAAA,cAACI,GAAK,EAAA,SAAQ,cAAa,IAAG,SAC3BN,CACH,CACF,CAEJ;AAEJ;"}
@@ -1,7 +1,7 @@
1
1
  import e from "react";
2
- import R from "embla-carousel-react";
3
- import { ArrowLeft as z, ArrowRight as D } from "lucide-react";
4
- import { cn as f } from "./index.es31.js";
2
+ import z from "embla-carousel-react";
3
+ import { ArrowLeft as _, ArrowRight as D } from "lucide-react";
4
+ import { cn as d } from "./index.es31.js";
5
5
  import { Slot as I } from "@radix-ui/react-slot";
6
6
  import { cva as j } from "class-variance-authority";
7
7
  const A = j(
@@ -28,14 +28,14 @@ const A = j(
28
28
  }
29
29
  }
30
30
  ), g = e.forwardRef(
31
- ({ className: r, variant: o, size: a, asChild: l = !1, ...n }, c) => {
31
+ ({ className: r, variant: o, size: a, asChild: l = !1, ...s }, c) => {
32
32
  const i = l ? I : "button";
33
33
  return /* @__PURE__ */ e.createElement(
34
34
  i,
35
35
  {
36
- className: f(A({ variant: o, size: a }), r),
36
+ className: d(A({ variant: o, size: a }), r),
37
37
  ref: c,
38
- ...n
38
+ ...s
39
39
  }
40
40
  );
41
41
  }
@@ -54,33 +54,33 @@ const B = e.forwardRef(
54
54
  opts: o,
55
55
  setApi: a,
56
56
  plugins: l,
57
- className: n,
57
+ className: s,
58
58
  children: c,
59
59
  ...i
60
- }, m) => {
61
- const [y, t] = R(
60
+ }, f) => {
61
+ const [N, t] = z(
62
62
  {
63
63
  ...o,
64
64
  axis: r === "horizontal" ? "x" : "y"
65
65
  },
66
66
  l
67
- ), [C, E] = e.useState(!1), [S, P] = e.useState(!1), [x, _] = e.useState(0), d = e.useCallback(() => {
67
+ ), [w, C] = e.useState(!1), [E, S] = e.useState(!1), [P, k] = e.useState(0), m = e.useCallback(() => {
68
68
  if (!t)
69
69
  return;
70
- const s = t.scrollProgress();
71
- console.log("progress", s), _(s * 100);
70
+ const n = t.scrollProgress();
71
+ console.log("progress", n), k(n * 100);
72
72
  }, [t]), u = e.useCallback(
73
- (s) => {
74
- s && (E(s.canScrollPrev()), P(s.canScrollNext()), d());
73
+ (n) => {
74
+ n && (C(n.canScrollPrev()), S(n.canScrollNext()), m());
75
75
  },
76
- [d]
76
+ [m]
77
77
  ), b = e.useCallback(() => {
78
78
  t?.scrollPrev();
79
79
  }, [t]), p = e.useCallback(() => {
80
80
  t?.scrollNext();
81
- }, [t]), k = e.useCallback(
82
- (s) => {
83
- s.key === "ArrowLeft" ? (s.preventDefault(), b()) : s.key === "ArrowRight" && (s.preventDefault(), p());
81
+ }, [t]), R = e.useCallback(
82
+ (n) => {
83
+ n.key === "ArrowLeft" ? (n.preventDefault(), b()) : n.key === "ArrowRight" && (n.preventDefault(), p());
84
84
  },
85
85
  [b, p]
86
86
  );
@@ -88,64 +88,58 @@ const B = e.forwardRef(
88
88
  !t || !a || a(t);
89
89
  }, [t, a]), e.useEffect(() => {
90
90
  if (t)
91
- return u(t), t.on("reInit", u), t.on("select", u), t.on("scroll", d), () => {
92
- t?.off("reInit", u), t?.off("select", u), t?.off("scroll", d);
91
+ return u(t), t.on("reInit", u), t.on("select", u), t.on("scroll", m), () => {
92
+ t?.off("reInit", u), t?.off("select", u), t?.off("scroll", m);
93
93
  };
94
- }, [t, u, d]), /* @__PURE__ */ e.createElement(
94
+ }, [t, u, m]), /* @__PURE__ */ e.createElement(
95
95
  h.Provider,
96
96
  {
97
97
  value: {
98
- carouselRef: y,
98
+ carouselRef: N,
99
99
  api: t,
100
100
  opts: o,
101
101
  orientation: r || (o?.axis === "y" ? "vertical" : "horizontal"),
102
102
  scrollPrev: b,
103
103
  scrollNext: p,
104
- canScrollPrev: C,
105
- canScrollNext: S
104
+ canScrollPrev: w,
105
+ canScrollNext: E
106
106
  }
107
107
  },
108
108
  /* @__PURE__ */ e.createElement(
109
109
  "div",
110
110
  {
111
- ref: m,
112
- onKeyDownCapture: k,
113
- className: f("relative", n),
111
+ ref: f,
112
+ onKeyDownCapture: R,
113
+ className: d("relative", s),
114
114
  role: "region",
115
115
  "aria-roledescription": "carousel",
116
116
  ...i
117
117
  },
118
118
  c,
119
- /* @__PURE__ */ e.createElement("div", { className: "relative w-full mt-4 h-1 bg-gray-300 rounded-full overflow-hidden md:max-w-3xl mx-auto" }, /* @__PURE__ */ e.createElement(
119
+ /* @__PURE__ */ e.createElement("div", { className: "relative w-full mt-4 h-1 bg-navy-opacity-16 rounded-full overflow-hidden md:max-w-3xl mx-auto" }, /* @__PURE__ */ e.createElement(
120
120
  "div",
121
121
  {
122
122
  className: "absolute top-0 left-0 h-full w-full bg-navy rounded-full transition-transform duration-0",
123
123
  style: {
124
- transform: `translateX(${x - 100}%)`
124
+ transform: `translateX(${P - 100}%)`
125
125
  }
126
126
  }
127
127
  )),
128
- /* @__PURE__ */ e.createElement("div", { className: "embla__controls max-w-sm mx-auto mt-6 flex justify-center gap-4" }, /* @__PURE__ */ e.createElement("div", { className: "embla__buttons" }, /* @__PURE__ */ e.createElement(N, { className: "relative left-auto top-auto right-auto translate-y-0" }), /* @__PURE__ */ e.createElement(w, { className: "relative left-auto top-auto right-auto translate-y-0" })), /* @__PURE__ */ e.createElement("div", { className: "embla__progress" }, /* @__PURE__ */ e.createElement(
129
- "div",
130
- {
131
- className: "embla__progress__bar",
132
- style: { transform: `translate3d(${x}%,0px,0px)` }
133
- }
134
- )))
128
+ /* @__PURE__ */ e.createElement("div", { className: "embla__controls max-w-sm mx-auto mt-5 flex justify-center gap-4" }, /* @__PURE__ */ e.createElement("div", { className: "embla__buttons space-x-2" }, /* @__PURE__ */ e.createElement(x, { className: "relative left-auto top-auto right-auto translate-y-0 border border-solid border-navy-opacity-32 rounded-md bg-transparent" }), /* @__PURE__ */ e.createElement(y, { className: "relative left-auto top-auto right-auto translate-y-0 border border-solid border-navy-opacity-32 rounded-md bg-transparent" })))
135
129
  )
136
130
  );
137
131
  }
138
132
  );
139
133
  B.displayName = "Carousel";
140
134
  const K = e.forwardRef(({ className: r, ...o }, a) => {
141
- const { carouselRef: l, orientation: n } = v();
135
+ const { carouselRef: l, orientation: s } = v();
142
136
  return /* @__PURE__ */ e.createElement("div", { ref: l, className: "overflow-hidden" }, /* @__PURE__ */ e.createElement(
143
137
  "div",
144
138
  {
145
139
  ref: a,
146
- className: f(
140
+ className: d(
147
141
  "flex",
148
- n === "horizontal" ? "-ml-4" : "-mt-4 flex-col",
142
+ s === "horizontal" ? "-ml-4" : "-mt-4 flex-col",
149
143
  r
150
144
  ),
151
145
  ...o
@@ -161,7 +155,7 @@ const L = e.forwardRef(({ className: r, ...o }, a) => {
161
155
  ref: a,
162
156
  role: "group",
163
157
  "aria-roledescription": "slide",
164
- className: f(
158
+ className: d(
165
159
  "min-w-0 shrink-0 grow-0 basis-full",
166
160
  l === "horizontal" ? "pl-4" : "pt-4",
167
161
  r
@@ -171,42 +165,42 @@ const L = e.forwardRef(({ className: r, ...o }, a) => {
171
165
  );
172
166
  });
173
167
  L.displayName = "CarouselItem";
174
- const N = e.forwardRef(({ className: r, variant: o = "outline", size: a = "icon", ...l }, n) => {
175
- const { orientation: c, scrollPrev: i, canScrollPrev: m } = v();
168
+ const x = e.forwardRef(({ className: r, variant: o = "outline", size: a = "icon", ...l }, s) => {
169
+ const { orientation: c, scrollPrev: i, canScrollPrev: f } = v();
176
170
  return /* @__PURE__ */ e.createElement(
177
171
  g,
178
172
  {
179
- ref: n,
173
+ ref: s,
180
174
  variant: o,
181
175
  size: a,
182
- className: f(
176
+ className: d(
183
177
  "absolute h-8 w-8 rounded-full",
184
178
  c === "horizontal" ? "-left-12 top-1/2 -translate-y-1/2" : "-top-12 left-1/2 -translate-x-1/2 rotate-90",
185
179
  r
186
180
  ),
187
- disabled: !m,
181
+ disabled: !f,
188
182
  onClick: i,
189
183
  ...l
190
184
  },
191
- /* @__PURE__ */ e.createElement(z, { className: "h-4 w-4" }),
185
+ /* @__PURE__ */ e.createElement(_, { className: "h-4 w-4" }),
192
186
  /* @__PURE__ */ e.createElement("span", { className: "sr-only" }, "Previous slide")
193
187
  );
194
188
  });
195
- N.displayName = "CarouselPrevious";
196
- const w = e.forwardRef(({ className: r, variant: o = "outline", size: a = "icon", ...l }, n) => {
197
- const { orientation: c, scrollNext: i, canScrollNext: m } = v();
189
+ x.displayName = "CarouselPrevious";
190
+ const y = e.forwardRef(({ className: r, variant: o = "outline", size: a = "icon", ...l }, s) => {
191
+ const { orientation: c, scrollNext: i, canScrollNext: f } = v();
198
192
  return /* @__PURE__ */ e.createElement(
199
193
  g,
200
194
  {
201
- ref: n,
195
+ ref: s,
202
196
  variant: o,
203
197
  size: a,
204
- className: f(
198
+ className: d(
205
199
  "absolute h-8 w-8 rounded-full",
206
200
  c === "horizontal" ? "-right-12 top-1/2 -translate-y-1/2" : "-bottom-12 left-1/2 -translate-x-1/2 rotate-90",
207
201
  r
208
202
  ),
209
- disabled: !m,
203
+ disabled: !f,
210
204
  onClick: i,
211
205
  ...l
212
206
  },
@@ -214,12 +208,12 @@ const w = e.forwardRef(({ className: r, variant: o = "outline", size: a = "icon"
214
208
  /* @__PURE__ */ e.createElement("span", { className: "sr-only" }, "Next slide")
215
209
  );
216
210
  });
217
- w.displayName = "CarouselNext";
211
+ y.displayName = "CarouselNext";
218
212
  export {
219
213
  B as Carousel,
220
214
  K as CarouselContent,
221
215
  L as CarouselItem,
222
- w as CarouselNext,
223
- N as CarouselPrevious
216
+ y as CarouselNext,
217
+ x as CarouselPrevious
224
218
  };
225
219
  //# sourceMappingURL=index.es46.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.es46.js","sources":["../src/components/ui/carousel.tsx"],"sourcesContent":["import React from 'react'\r\nimport useEmblaCarousel, {\r\n type UseEmblaCarouselType,\r\n} from 'embla-carousel-react'\r\nimport { ArrowLeft, ArrowRight } from 'lucide-react'\r\n\r\nimport { cn } from '@/lib/utils/cn'\r\n// import { Button } from './button'\r\n\r\n// Button here to reuse\r\nimport { Slot } from '@radix-ui/react-slot'\r\nimport { cva, type VariantProps } from 'class-variance-authority'\r\n\r\nconst buttonVariants = cva(\r\n 'inline-flex items-center justify-center whitespace-nowrap rounded-full typo_variant_button ring-offset-background transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 disabled:cursor-not-allowed border-none',\r\n {\r\n variants: {\r\n variant: {\r\n default: 'bg-white text-navy hover:bg-navy-opacity-4',\r\n destructive:\r\n 'bg-destructive text-destructive-foreground hover:bg-destructive/90',\r\n outline:\r\n 'border border-input bg-background hover:bg-accent hover:text-accent-foreground',\r\n ghost: 'hover:bg-accent hover:text-accent-foreground',\r\n link: 'text-primary underline-offset-4 hover:underline',\r\n },\r\n size: {\r\n default: 'h-10 px-4 py-2',\r\n sm: 'h-9 rounded-md px-3',\r\n lg: 'h-11 rounded-md px-8',\r\n icon: 'h-10 w-10',\r\n },\r\n },\r\n defaultVariants: {\r\n // variant: \"default\",\r\n // size: \"default\",\r\n },\r\n }\r\n)\r\n\r\nexport interface ButtonProps\r\n extends React.ButtonHTMLAttributes<HTMLButtonElement>,\r\n VariantProps<typeof buttonVariants> {\r\n asChild?: boolean\r\n}\r\n\r\nconst Button = React.forwardRef<HTMLButtonElement, ButtonProps>(\r\n ({ className, variant, size, asChild = false, ...props }, ref) => {\r\n const Comp = asChild ? Slot : 'button'\r\n return (\r\n <Comp\r\n className={cn(buttonVariants({ variant, size }), className)}\r\n ref={ref}\r\n {...props}\r\n />\r\n )\r\n }\r\n)\r\nButton.displayName = 'Button'\r\n\r\n// end of Button\r\n\r\ntype CarouselApi = UseEmblaCarouselType[1]\r\ntype UseCarouselParameters = Parameters<typeof useEmblaCarousel>\r\ntype CarouselOptions = UseCarouselParameters[0]\r\ntype CarouselPlugin = UseCarouselParameters[1]\r\n\r\ntype CarouselProps = {\r\n opts?: CarouselOptions\r\n plugins?: CarouselPlugin\r\n orientation?: 'horizontal' | 'vertical'\r\n setApi?: (api: CarouselApi) => void\r\n}\r\n\r\ntype CarouselContextProps = {\r\n carouselRef: ReturnType<typeof useEmblaCarousel>[0]\r\n api: ReturnType<typeof useEmblaCarousel>[1]\r\n scrollPrev: () => void\r\n scrollNext: () => void\r\n canScrollPrev: boolean\r\n canScrollNext: boolean\r\n} & CarouselProps\r\n\r\nconst CarouselContext = React.createContext<CarouselContextProps | null>(null)\r\n\r\nfunction useCarousel() {\r\n const context = React.useContext(CarouselContext)\r\n\r\n if (!context) {\r\n throw new Error('useCarousel must be used within a <Carousel />')\r\n }\r\n\r\n return context\r\n}\r\n\r\nconst Carousel = React.forwardRef<\r\n HTMLDivElement,\r\n React.HTMLAttributes<HTMLDivElement> & CarouselProps\r\n>(\r\n (\r\n {\r\n orientation = 'horizontal',\r\n opts,\r\n setApi,\r\n plugins,\r\n className,\r\n children,\r\n ...props\r\n },\r\n ref\r\n ) => {\r\n const [carouselRef, api] = useEmblaCarousel(\r\n {\r\n ...opts,\r\n axis: orientation === 'horizontal' ? 'x' : 'y',\r\n },\r\n plugins\r\n )\r\n const [canScrollPrev, setCanScrollPrev] = React.useState(false)\r\n const [canScrollNext, setCanScrollNext] = React.useState(false)\r\n const [scrollProgress, setScrollProgress] = React.useState(0)\r\n\r\n const onScroll = React.useCallback(() => {\r\n if (!api) return\r\n const progress = api.scrollProgress()\r\n console.log('progress', progress)\r\n setScrollProgress(progress * 100) // Convert to percentage\r\n }, [api])\r\n\r\n const onSelect = React.useCallback(\r\n (api: CarouselApi) => {\r\n if (!api) return\r\n setCanScrollPrev(api.canScrollPrev())\r\n setCanScrollNext(api.canScrollNext())\r\n onScroll() // Update scroll progress when selection changes\r\n },\r\n [onScroll]\r\n )\r\n\r\n const scrollPrev = React.useCallback(() => {\r\n api?.scrollPrev()\r\n }, [api])\r\n\r\n const scrollNext = React.useCallback(() => {\r\n api?.scrollNext()\r\n }, [api])\r\n\r\n const handleKeyDown = React.useCallback(\r\n (event: React.KeyboardEvent<HTMLDivElement>) => {\r\n if (event.key === 'ArrowLeft') {\r\n event.preventDefault()\r\n scrollPrev()\r\n } else if (event.key === 'ArrowRight') {\r\n event.preventDefault()\r\n scrollNext()\r\n }\r\n },\r\n [scrollPrev, scrollNext]\r\n )\r\n\r\n React.useEffect(() => {\r\n if (!api || !setApi) return\r\n setApi(api)\r\n }, [api, setApi])\r\n\r\n React.useEffect(() => {\r\n if (!api) return\r\n onSelect(api)\r\n api.on('reInit', onSelect)\r\n api.on('select', onSelect)\r\n api.on('scroll', onScroll) // Update on scroll events\r\n\r\n return () => {\r\n api?.off('reInit', onSelect)\r\n api?.off('select', onSelect)\r\n api?.off('scroll', onScroll)\r\n }\r\n }, [api, onSelect, onScroll])\r\n\r\n // const { selectedIndex, scrollSnaps, onDotButtonClick } = useDotButton(api)\r\n\r\n return (\r\n <CarouselContext.Provider\r\n value={{\r\n carouselRef,\r\n api: api,\r\n opts,\r\n orientation:\r\n orientation || (opts?.axis === 'y' ? 'vertical' : 'horizontal'),\r\n scrollPrev,\r\n scrollNext,\r\n canScrollPrev,\r\n canScrollNext,\r\n }}\r\n >\r\n <div\r\n ref={ref}\r\n onKeyDownCapture={handleKeyDown}\r\n className={cn('relative', className)}\r\n role=\"region\"\r\n aria-roledescription=\"carousel\"\r\n {...props}\r\n >\r\n {children}\r\n\r\n {/* Scroll Progress Indicator */}\r\n <div className=\"relative w-full mt-4 h-1 bg-gray-300 rounded-full overflow-hidden md:max-w-3xl mx-auto\">\r\n <div\r\n className=\"absolute top-0 left-0 h-full w-full bg-navy rounded-full transition-transform duration-0\"\r\n style={{\r\n transform: `translateX(${scrollProgress - 100}%)`,\r\n }}\r\n ></div>\r\n </div>\r\n\r\n <div className=\"embla__controls max-w-sm mx-auto mt-6 flex justify-center gap-4\">\r\n <div className=\"embla__buttons\">\r\n <CarouselPrevious className=\"relative left-auto top-auto right-auto translate-y-0\" />\r\n <CarouselNext className=\"relative left-auto top-auto right-auto translate-y-0\" />\r\n </div>\r\n\r\n <div className=\"embla__progress\">\r\n <div\r\n className=\"embla__progress__bar\"\r\n style={{ transform: `translate3d(${scrollProgress}%,0px,0px)` }}\r\n />\r\n </div>\r\n </div>\r\n\r\n {/* Dots: not used */}\r\n {/* <div className=\"embla__controls\">\r\n <div className=\"embla__buttons\">\r\n <CarouselPrevious className=\"relative left-auto top-auto right-auto translate-y-0\" />\r\n <CarouselNext className=\"relative left-auto top-auto right-auto translate-y-0\" />\r\n </div>\r\n\r\n <div className=\"embla__dots\">\r\n {scrollSnaps.map((_, index) => (\r\n <DotButton\r\n key={index}\r\n onClick={() => onDotButtonClick(index)}\r\n className={\"embla__dot\".concat(\r\n index === selectedIndex ? \" embla__dot--selected\" : \"\"\r\n )}\r\n />\r\n ))}\r\n </div>\r\n </div> */}\r\n </div>\r\n </CarouselContext.Provider>\r\n )\r\n }\r\n)\r\nCarousel.displayName = 'Carousel'\r\n\r\nconst CarouselContent = React.forwardRef<\r\n HTMLDivElement,\r\n React.HTMLAttributes<HTMLDivElement>\r\n>(({ className, ...props }, ref) => {\r\n const { carouselRef, orientation } = useCarousel()\r\n\r\n return (\r\n <div ref={carouselRef} className=\"overflow-hidden\">\r\n <div\r\n ref={ref}\r\n className={cn(\r\n 'flex',\r\n orientation === 'horizontal' ? '-ml-4' : '-mt-4 flex-col',\r\n className\r\n )}\r\n {...props}\r\n />\r\n </div>\r\n )\r\n})\r\nCarouselContent.displayName = 'CarouselContent'\r\n\r\nconst CarouselItem = React.forwardRef<\r\n HTMLDivElement,\r\n React.HTMLAttributes<HTMLDivElement>\r\n>(({ className, ...props }, ref) => {\r\n const { orientation } = useCarousel()\r\n\r\n return (\r\n <div\r\n ref={ref}\r\n role=\"group\"\r\n aria-roledescription=\"slide\"\r\n className={cn(\r\n 'min-w-0 shrink-0 grow-0 basis-full',\r\n orientation === 'horizontal' ? 'pl-4' : 'pt-4',\r\n className\r\n )}\r\n {...props}\r\n />\r\n )\r\n})\r\nCarouselItem.displayName = 'CarouselItem'\r\n\r\nconst CarouselPrevious = React.forwardRef<\r\n HTMLButtonElement,\r\n React.ComponentProps<typeof Button>\r\n>(({ className, variant = 'outline', size = 'icon', ...props }, ref) => {\r\n const { orientation, scrollPrev, canScrollPrev } = useCarousel()\r\n\r\n return (\r\n <Button\r\n ref={ref}\r\n variant={variant}\r\n size={size}\r\n className={cn(\r\n 'absolute h-8 w-8 rounded-full',\r\n orientation === 'horizontal'\r\n ? '-left-12 top-1/2 -translate-y-1/2'\r\n : '-top-12 left-1/2 -translate-x-1/2 rotate-90',\r\n className\r\n )}\r\n disabled={!canScrollPrev}\r\n onClick={scrollPrev}\r\n {...props}\r\n >\r\n <ArrowLeft className=\"h-4 w-4\" />\r\n <span className=\"sr-only\">Previous slide</span>\r\n </Button>\r\n )\r\n})\r\nCarouselPrevious.displayName = 'CarouselPrevious'\r\n\r\nconst CarouselNext = React.forwardRef<\r\n HTMLButtonElement,\r\n React.ComponentProps<typeof Button>\r\n>(({ className, variant = 'outline', size = 'icon', ...props }, ref) => {\r\n const { orientation, scrollNext, canScrollNext } = useCarousel()\r\n\r\n return (\r\n <Button\r\n ref={ref}\r\n variant={variant}\r\n size={size}\r\n className={cn(\r\n 'absolute h-8 w-8 rounded-full',\r\n orientation === 'horizontal'\r\n ? '-right-12 top-1/2 -translate-y-1/2'\r\n : '-bottom-12 left-1/2 -translate-x-1/2 rotate-90',\r\n className\r\n )}\r\n disabled={!canScrollNext}\r\n onClick={scrollNext}\r\n {...props}\r\n >\r\n <ArrowRight className=\"h-4 w-4\" />\r\n <span className=\"sr-only\">Next slide</span>\r\n </Button>\r\n )\r\n})\r\nCarouselNext.displayName = 'CarouselNext'\r\n\r\nexport {\r\n type CarouselApi,\r\n Carousel,\r\n CarouselContent,\r\n CarouselItem,\r\n CarouselPrevious,\r\n CarouselNext,\r\n}\r\n"],"names":["buttonVariants","cva","Button","React","className","variant","size","asChild","props","ref","Comp","Slot","cn","CarouselContext","useCarousel","context","Carousel","orientation","opts","setApi","plugins","children","carouselRef","api","useEmblaCarousel","canScrollPrev","setCanScrollPrev","canScrollNext","setCanScrollNext","scrollProgress","setScrollProgress","onScroll","progress","onSelect","scrollPrev","scrollNext","handleKeyDown","event","CarouselPrevious","CarouselNext","CarouselContent","CarouselItem","ArrowLeft","ArrowRight"],"mappings":"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"}
1
+ {"version":3,"file":"index.es46.js","sources":["../src/components/ui/carousel.tsx"],"sourcesContent":["import React from 'react'\r\nimport useEmblaCarousel, {\r\n type UseEmblaCarouselType,\r\n} from 'embla-carousel-react'\r\nimport { ArrowLeft, ArrowRight } from 'lucide-react'\r\n\r\nimport { cn } from '@/lib/utils/cn'\r\n// import { Button } from './button'\r\n\r\n// Button here to reuse\r\nimport { Slot } from '@radix-ui/react-slot'\r\nimport { cva, type VariantProps } from 'class-variance-authority'\r\n\r\nconst buttonVariants = cva(\r\n 'inline-flex items-center justify-center whitespace-nowrap rounded-full typo_variant_button ring-offset-background transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 disabled:cursor-not-allowed border-none',\r\n {\r\n variants: {\r\n variant: {\r\n default: 'bg-white text-navy hover:bg-navy-opacity-4',\r\n destructive:\r\n 'bg-destructive text-destructive-foreground hover:bg-destructive/90',\r\n outline:\r\n 'border border-input bg-background hover:bg-accent hover:text-accent-foreground',\r\n ghost: 'hover:bg-accent hover:text-accent-foreground',\r\n link: 'text-primary underline-offset-4 hover:underline',\r\n },\r\n size: {\r\n default: 'h-10 px-4 py-2',\r\n sm: 'h-9 rounded-md px-3',\r\n lg: 'h-11 rounded-md px-8',\r\n icon: 'h-10 w-10',\r\n },\r\n },\r\n defaultVariants: {\r\n // variant: \"default\",\r\n // size: \"default\",\r\n },\r\n }\r\n)\r\n\r\nexport interface ButtonProps\r\n extends React.ButtonHTMLAttributes<HTMLButtonElement>,\r\n VariantProps<typeof buttonVariants> {\r\n asChild?: boolean\r\n}\r\n\r\nconst Button = React.forwardRef<HTMLButtonElement, ButtonProps>(\r\n ({ className, variant, size, asChild = false, ...props }, ref) => {\r\n const Comp = asChild ? Slot : 'button'\r\n return (\r\n <Comp\r\n className={cn(buttonVariants({ variant, size }), className)}\r\n ref={ref}\r\n {...props}\r\n />\r\n )\r\n }\r\n)\r\nButton.displayName = 'Button'\r\n\r\n// end of Button\r\n\r\ntype CarouselApi = UseEmblaCarouselType[1]\r\ntype UseCarouselParameters = Parameters<typeof useEmblaCarousel>\r\ntype CarouselOptions = UseCarouselParameters[0]\r\ntype CarouselPlugin = UseCarouselParameters[1]\r\n\r\ntype CarouselProps = {\r\n opts?: CarouselOptions\r\n plugins?: CarouselPlugin\r\n orientation?: 'horizontal' | 'vertical'\r\n setApi?: (api: CarouselApi) => void\r\n}\r\n\r\ntype CarouselContextProps = {\r\n carouselRef: ReturnType<typeof useEmblaCarousel>[0]\r\n api: ReturnType<typeof useEmblaCarousel>[1]\r\n scrollPrev: () => void\r\n scrollNext: () => void\r\n canScrollPrev: boolean\r\n canScrollNext: boolean\r\n} & CarouselProps\r\n\r\nconst CarouselContext = React.createContext<CarouselContextProps | null>(null)\r\n\r\nfunction useCarousel() {\r\n const context = React.useContext(CarouselContext)\r\n\r\n if (!context) {\r\n throw new Error('useCarousel must be used within a <Carousel />')\r\n }\r\n\r\n return context\r\n}\r\n\r\nconst Carousel = React.forwardRef<\r\n HTMLDivElement,\r\n React.HTMLAttributes<HTMLDivElement> & CarouselProps\r\n>(\r\n (\r\n {\r\n orientation = 'horizontal',\r\n opts,\r\n setApi,\r\n plugins,\r\n className,\r\n children,\r\n ...props\r\n },\r\n ref\r\n ) => {\r\n const [carouselRef, api] = useEmblaCarousel(\r\n {\r\n ...opts,\r\n axis: orientation === 'horizontal' ? 'x' : 'y',\r\n },\r\n plugins\r\n )\r\n const [canScrollPrev, setCanScrollPrev] = React.useState(false)\r\n const [canScrollNext, setCanScrollNext] = React.useState(false)\r\n const [scrollProgress, setScrollProgress] = React.useState(0)\r\n\r\n const onScroll = React.useCallback(() => {\r\n if (!api) return\r\n const progress = api.scrollProgress()\r\n console.log('progress', progress)\r\n setScrollProgress(progress * 100) // Convert to percentage\r\n }, [api])\r\n\r\n const onSelect = React.useCallback(\r\n (api: CarouselApi) => {\r\n if (!api) return\r\n setCanScrollPrev(api.canScrollPrev())\r\n setCanScrollNext(api.canScrollNext())\r\n onScroll() // Update scroll progress when selection changes\r\n },\r\n [onScroll]\r\n )\r\n\r\n const scrollPrev = React.useCallback(() => {\r\n api?.scrollPrev()\r\n }, [api])\r\n\r\n const scrollNext = React.useCallback(() => {\r\n api?.scrollNext()\r\n }, [api])\r\n\r\n const handleKeyDown = React.useCallback(\r\n (event: React.KeyboardEvent<HTMLDivElement>) => {\r\n if (event.key === 'ArrowLeft') {\r\n event.preventDefault()\r\n scrollPrev()\r\n } else if (event.key === 'ArrowRight') {\r\n event.preventDefault()\r\n scrollNext()\r\n }\r\n },\r\n [scrollPrev, scrollNext]\r\n )\r\n\r\n React.useEffect(() => {\r\n if (!api || !setApi) return\r\n setApi(api)\r\n }, [api, setApi])\r\n\r\n React.useEffect(() => {\r\n if (!api) return\r\n onSelect(api)\r\n api.on('reInit', onSelect)\r\n api.on('select', onSelect)\r\n api.on('scroll', onScroll) // Update on scroll events\r\n\r\n return () => {\r\n api?.off('reInit', onSelect)\r\n api?.off('select', onSelect)\r\n api?.off('scroll', onScroll)\r\n }\r\n }, [api, onSelect, onScroll])\r\n\r\n // const { selectedIndex, scrollSnaps, onDotButtonClick } = useDotButton(api)\r\n\r\n return (\r\n <CarouselContext.Provider\r\n value={{\r\n carouselRef,\r\n api: api,\r\n opts,\r\n orientation:\r\n orientation || (opts?.axis === 'y' ? 'vertical' : 'horizontal'),\r\n scrollPrev,\r\n scrollNext,\r\n canScrollPrev,\r\n canScrollNext,\r\n }}\r\n >\r\n <div\r\n ref={ref}\r\n onKeyDownCapture={handleKeyDown}\r\n className={cn('relative', className)}\r\n role=\"region\"\r\n aria-roledescription=\"carousel\"\r\n {...props}\r\n >\r\n {children}\r\n\r\n {/* Scroll Progress Indicator */}\r\n <div className=\"relative w-full mt-4 h-1 bg-navy-opacity-16 rounded-full overflow-hidden md:max-w-3xl mx-auto\">\r\n <div\r\n className=\"absolute top-0 left-0 h-full w-full bg-navy rounded-full transition-transform duration-0\"\r\n style={{\r\n transform: `translateX(${scrollProgress - 100}%)`,\r\n }}\r\n ></div>\r\n </div>\r\n\r\n <div className=\"embla__controls max-w-sm mx-auto mt-5 flex justify-center gap-4\">\r\n <div className=\"embla__buttons space-x-2\">\r\n <CarouselPrevious className=\"relative left-auto top-auto right-auto translate-y-0 border border-solid border-navy-opacity-32 rounded-md bg-transparent\" />\r\n <CarouselNext className=\"relative left-auto top-auto right-auto translate-y-0 border border-solid border-navy-opacity-32 rounded-md bg-transparent\" />\r\n </div>\r\n\r\n {/* <div className=\"embla__progress\">\r\n <div\r\n className=\"embla__progress__bar\"\r\n style={{ transform: `translate3d(${scrollProgress}%,0px,0px)` }}\r\n />\r\n </div> */}\r\n </div>\r\n\r\n {/* Dots: not used */}\r\n {/* <div className=\"embla__controls\">\r\n <div className=\"embla__buttons\">\r\n <CarouselPrevious className=\"relative left-auto top-auto right-auto translate-y-0\" />\r\n <CarouselNext className=\"relative left-auto top-auto right-auto translate-y-0\" />\r\n </div>\r\n\r\n <div className=\"embla__dots\">\r\n {scrollSnaps.map((_, index) => (\r\n <DotButton\r\n key={index}\r\n onClick={() => onDotButtonClick(index)}\r\n className={\"embla__dot\".concat(\r\n index === selectedIndex ? \" embla__dot--selected\" : \"\"\r\n )}\r\n />\r\n ))}\r\n </div>\r\n </div> */}\r\n </div>\r\n </CarouselContext.Provider>\r\n )\r\n }\r\n)\r\nCarousel.displayName = 'Carousel'\r\n\r\nconst CarouselContent = React.forwardRef<\r\n HTMLDivElement,\r\n React.HTMLAttributes<HTMLDivElement>\r\n>(({ className, ...props }, ref) => {\r\n const { carouselRef, orientation } = useCarousel()\r\n\r\n return (\r\n <div ref={carouselRef} className=\"overflow-hidden\">\r\n <div\r\n ref={ref}\r\n className={cn(\r\n 'flex',\r\n orientation === 'horizontal' ? '-ml-4' : '-mt-4 flex-col',\r\n className\r\n )}\r\n {...props}\r\n />\r\n </div>\r\n )\r\n})\r\nCarouselContent.displayName = 'CarouselContent'\r\n\r\nconst CarouselItem = React.forwardRef<\r\n HTMLDivElement,\r\n React.HTMLAttributes<HTMLDivElement>\r\n>(({ className, ...props }, ref) => {\r\n const { orientation } = useCarousel()\r\n\r\n return (\r\n <div\r\n ref={ref}\r\n role=\"group\"\r\n aria-roledescription=\"slide\"\r\n className={cn(\r\n 'min-w-0 shrink-0 grow-0 basis-full',\r\n orientation === 'horizontal' ? 'pl-4' : 'pt-4',\r\n className\r\n )}\r\n {...props}\r\n />\r\n )\r\n})\r\nCarouselItem.displayName = 'CarouselItem'\r\n\r\nconst CarouselPrevious = React.forwardRef<\r\n HTMLButtonElement,\r\n React.ComponentProps<typeof Button>\r\n>(({ className, variant = 'outline', size = 'icon', ...props }, ref) => {\r\n const { orientation, scrollPrev, canScrollPrev } = useCarousel()\r\n\r\n return (\r\n <Button\r\n ref={ref}\r\n variant={variant}\r\n size={size}\r\n className={cn(\r\n 'absolute h-8 w-8 rounded-full',\r\n orientation === 'horizontal'\r\n ? '-left-12 top-1/2 -translate-y-1/2'\r\n : '-top-12 left-1/2 -translate-x-1/2 rotate-90',\r\n className\r\n )}\r\n disabled={!canScrollPrev}\r\n onClick={scrollPrev}\r\n {...props}\r\n >\r\n <ArrowLeft className=\"h-4 w-4\" />\r\n <span className=\"sr-only\">Previous slide</span>\r\n </Button>\r\n )\r\n})\r\nCarouselPrevious.displayName = 'CarouselPrevious'\r\n\r\nconst CarouselNext = React.forwardRef<\r\n HTMLButtonElement,\r\n React.ComponentProps<typeof Button>\r\n>(({ className, variant = 'outline', size = 'icon', ...props }, ref) => {\r\n const { orientation, scrollNext, canScrollNext } = useCarousel()\r\n\r\n return (\r\n <Button\r\n ref={ref}\r\n variant={variant}\r\n size={size}\r\n className={cn(\r\n 'absolute h-8 w-8 rounded-full',\r\n orientation === 'horizontal'\r\n ? '-right-12 top-1/2 -translate-y-1/2'\r\n : '-bottom-12 left-1/2 -translate-x-1/2 rotate-90',\r\n className\r\n )}\r\n disabled={!canScrollNext}\r\n onClick={scrollNext}\r\n {...props}\r\n >\r\n <ArrowRight className=\"h-4 w-4\" />\r\n <span className=\"sr-only\">Next slide</span>\r\n </Button>\r\n )\r\n})\r\nCarouselNext.displayName = 'CarouselNext'\r\n\r\nexport {\r\n type CarouselApi,\r\n Carousel,\r\n CarouselContent,\r\n CarouselItem,\r\n CarouselPrevious,\r\n CarouselNext,\r\n}\r\n"],"names":["buttonVariants","cva","Button","React","className","variant","size","asChild","props","ref","Comp","Slot","cn","CarouselContext","useCarousel","context","Carousel","orientation","opts","setApi","plugins","children","carouselRef","api","useEmblaCarousel","canScrollPrev","setCanScrollPrev","canScrollNext","setCanScrollNext","scrollProgress","setScrollProgress","onScroll","progress","onSelect","scrollPrev","scrollNext","handleKeyDown","event","CarouselPrevious","CarouselNext","CarouselContent","CarouselItem","ArrowLeft","ArrowRight"],"mappings":"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"}
@@ -7,6 +7,7 @@ declare const sectionVariants: (props?: ({
7
7
  } & import('class-variance-authority/types').ClassProp) | undefined) => string;
8
8
  export interface SectionProps extends React.HTMLAttributes<HTMLDivElement>, VariantProps<typeof sectionVariants> {
9
9
  title: string;
10
+ sectionId?: string;
10
11
  desc?: string;
11
12
  children?: React.ReactNode;
12
13
  moreLink?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"Section.d.ts","sourceRoot":"","sources":["../../src/sections/Section.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,EAAO,KAAK,YAAY,EAAE,MAAM,0BAA0B,CAAA;AAMjE,QAAA,MAAM,eAAe;;;8EAgBnB,CAAA;AAEF,MAAM,WAAW,YACf,SAAQ,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC,EAC1C,YAAY,CAAC,OAAO,eAAe,CAAC;IACtC,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IAC1B,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,aAAa,CAAC,EAAE,OAAO,CAAA;IACvB,gBAAgB,CAAC,EAAE,OAAO,CAAA;IAC1B,iBAAiB,CAAC,EAAE,OAAO,CAAA;IAC3B,oBAAoB,CAAC,EAAE,OAAO,CAAA;IAC9B,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AAED,QAAA,MAAM,OAAO,EAAE,KAAK,CAAC,EAAE,CAAC,YAAY,CAmDnC,CAAA;AAED,eAAe,OAAO,CAAA"}
1
+ {"version":3,"file":"Section.d.ts","sourceRoot":"","sources":["../../src/sections/Section.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,EAAO,KAAK,YAAY,EAAE,MAAM,0BAA0B,CAAA;AAMjE,QAAA,MAAM,eAAe;;;8EAgBnB,CAAA;AAEF,MAAM,WAAW,YACf,SAAQ,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC,EAC1C,YAAY,CAAC,OAAO,eAAe,CAAC;IACtC,KAAK,EAAE,MAAM,CAAA;IACb,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IAC1B,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,aAAa,CAAC,EAAE,OAAO,CAAA;IACvB,gBAAgB,CAAC,EAAE,OAAO,CAAA;IAC1B,iBAAiB,CAAC,EAAE,OAAO,CAAA;IAC3B,oBAAoB,CAAC,EAAE,OAAO,CAAA;IAC9B,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AAED,QAAA,MAAM,OAAO,EAAE,KAAK,CAAC,EAAE,CAAC,YAAY,CAoDnC,CAAA;AAED,eAAe,OAAO,CAAA"}
package/dist/styles.css CHANGED
@@ -538,9 +538,6 @@ body{
538
538
  .col-span-2{
539
539
  grid-column: span 2 / span 2;
540
540
  }
541
- .col-span-3{
542
- grid-column: span 3 / span 3;
543
- }
544
541
  .col-span-7{
545
542
  grid-column: span 7 / span 7;
546
543
  }
@@ -817,15 +814,9 @@ body{
817
814
  -moz-user-select: none;
818
815
  user-select: none;
819
816
  }
820
- .auto-rows-\[222px\]{
821
- grid-auto-rows: 222px;
822
- }
823
817
  .grid-cols-1{
824
818
  grid-template-columns: repeat(1, minmax(0, 1fr));
825
819
  }
826
- .grid-cols-2{
827
- grid-template-columns: repeat(2, minmax(0, 1fr));
828
- }
829
820
  .flex-col{
830
821
  flex-direction: column;
831
822
  }
@@ -970,6 +961,9 @@ body{
970
961
  .border-l{
971
962
  border-left-width: 1px;
972
963
  }
964
+ .border-l-0{
965
+ border-left-width: 0px;
966
+ }
973
967
  .border-r-0{
974
968
  border-right-width: 0px;
975
969
  }
@@ -1052,10 +1046,6 @@ body{
1052
1046
  --precision-ui-tw-bg-opacity: 1;
1053
1047
  background-color: rgb(229 231 235 / var(--precision-ui-tw-bg-opacity));
1054
1048
  }
1055
- .bg-gray-300{
1056
- --precision-ui-tw-bg-opacity: 1;
1057
- background-color: rgb(209 213 219 / var(--precision-ui-tw-bg-opacity));
1058
- }
1059
1049
  .bg-grey-1{
1060
1050
  background-color: hsl(var(--precision-ui-tw-grey-1));
1061
1051
  }
@@ -1065,6 +1055,9 @@ body{
1065
1055
  .bg-navy{
1066
1056
  background-color: hsl(var(--precision-ui-tw-navy));
1067
1057
  }
1058
+ .bg-navy-opacity-16{
1059
+ background-color: hsl(var(--precision-ui-tw-navy-opacity-16));
1060
+ }
1068
1061
  .bg-navy-opacity-4{
1069
1062
  background-color: hsl(var(--precision-ui-tw-navy-opacity-4));
1070
1063
  }
@@ -1124,9 +1117,6 @@ body{
1124
1117
  .p-0{
1125
1118
  padding: 0px;
1126
1119
  }
1127
- .p-10{
1128
- padding: 2.5rem;
1129
- }
1130
1120
  .p-4{
1131
1121
  padding: 1rem;
1132
1122
  }
@@ -1186,6 +1176,10 @@ body{
1186
1176
  padding-top: 1rem;
1187
1177
  padding-bottom: 1rem;
1188
1178
  }
1179
+ .py-6{
1180
+ padding-top: 1.5rem;
1181
+ padding-bottom: 1.5rem;
1182
+ }
1189
1183
  .py-\[11px\]{
1190
1184
  padding-top: 11px;
1191
1185
  padding-bottom: 11px;
@@ -1205,30 +1199,18 @@ body{
1205
1199
  .pb-0{
1206
1200
  padding-bottom: 0px;
1207
1201
  }
1208
- .pb-10{
1209
- padding-bottom: 2.5rem;
1210
- }
1211
- .pb-32{
1212
- padding-bottom: 8rem;
1202
+ .pb-12{
1203
+ padding-bottom: 3rem;
1213
1204
  }
1214
1205
  .pb-4{
1215
1206
  padding-bottom: 1rem;
1216
1207
  }
1217
- .pb-6{
1218
- padding-bottom: 1.5rem;
1219
- }
1220
- .pb-\[116px\]{
1221
- padding-bottom: 116px;
1222
- }
1223
1208
  .pb-\[11px\]{
1224
1209
  padding-bottom: 11px;
1225
1210
  }
1226
1211
  .pb-\[4px\]{
1227
1212
  padding-bottom: 4px;
1228
1213
  }
1229
- .pb-\[76px\]{
1230
- padding-bottom: 76px;
1231
- }
1232
1214
  .pl-10{
1233
1215
  padding-left: 2.5rem;
1234
1216
  }
@@ -1256,8 +1238,8 @@ body{
1256
1238
  .pt-0{
1257
1239
  padding-top: 0px;
1258
1240
  }
1259
- .pt-32{
1260
- padding-top: 8rem;
1241
+ .pt-10{
1242
+ padding-top: 2.5rem;
1261
1243
  }
1262
1244
  .pt-4{
1263
1245
  padding-top: 1rem;
@@ -1812,8 +1794,14 @@ body {
1812
1794
  background: hsla(var(--precision-ui-tw-whitish));
1813
1795
  }
1814
1796
  .horizontal-white-divider-on-center {
1797
+ display: none;
1815
1798
  position: relative;
1816
1799
  }
1800
+ @media screen and (min-width: 768px) {
1801
+ .horizontal-white-divider-on-center {
1802
+ display: block;
1803
+ }
1804
+ }
1817
1805
  .horizontal-white-divider-on-center::before {
1818
1806
  content: "";
1819
1807
  position: absolute;
@@ -2341,12 +2329,18 @@ html {
2341
2329
  .sm\:mt-6{
2342
2330
  margin-top: 1.5rem;
2343
2331
  }
2332
+ .sm\:block{
2333
+ display: block;
2334
+ }
2344
2335
  .sm\:min-h-\[264px\]{
2345
2336
  min-height: 264px;
2346
2337
  }
2347
2338
  .sm\:max-w-xs{
2348
2339
  max-width: 20rem;
2349
2340
  }
2341
+ .sm\:auto-rows-\[222px\]{
2342
+ grid-auto-rows: 222px;
2343
+ }
2350
2344
  .sm\:grid-cols-2{
2351
2345
  grid-template-columns: repeat(2, minmax(0, 1fr));
2352
2346
  }
@@ -2370,6 +2364,31 @@ html {
2370
2364
  .sm\:rounded-lg{
2371
2365
  border-radius: var(--precision-ui-tw-radius);
2372
2366
  }
2367
+ .sm\:p-10{
2368
+ padding: 2.5rem;
2369
+ }
2370
+ .sm\:py-0{
2371
+ padding-top: 0px;
2372
+ padding-bottom: 0px;
2373
+ }
2374
+ .sm\:pb-10{
2375
+ padding-bottom: 2.5rem;
2376
+ }
2377
+ .sm\:pb-32{
2378
+ padding-bottom: 8rem;
2379
+ }
2380
+ .sm\:pb-6{
2381
+ padding-bottom: 1.5rem;
2382
+ }
2383
+ .sm\:pb-\[116px\]{
2384
+ padding-bottom: 116px;
2385
+ }
2386
+ .sm\:pb-\[76px\]{
2387
+ padding-bottom: 76px;
2388
+ }
2389
+ .sm\:pt-32{
2390
+ padding-top: 8rem;
2391
+ }
2373
2392
  .sm\:text-left{
2374
2393
  text-align: left;
2375
2394
  }
@@ -2383,6 +2402,9 @@ html {
2383
2402
  }
2384
2403
  }
2385
2404
  @media (min-width: 990px){
2405
+ .lg\:block{
2406
+ display: block;
2407
+ }
2386
2408
  .lg\:max-w-sm{
2387
2409
  max-width: 24rem;
2388
2410
  }
@@ -2401,12 +2423,12 @@ html {
2401
2423
  .lg\:grid-cols-3{
2402
2424
  grid-template-columns: repeat(3, minmax(0, 1fr));
2403
2425
  }
2404
- .lg\:grid-cols-4{
2405
- grid-template-columns: repeat(4, minmax(0, 1fr));
2406
- }
2407
2426
  .lg\:grid-cols-6{
2408
2427
  grid-template-columns: repeat(6, minmax(0, 1fr));
2409
2428
  }
2429
+ .lg\:border-l-\[1px\]{
2430
+ border-left-width: 1px;
2431
+ }
2410
2432
  .lg\:pr-8{
2411
2433
  padding-right: 2rem;
2412
2434
  }
@@ -2424,6 +2446,9 @@ html {
2424
2446
  .xl\:max-w-md{
2425
2447
  max-width: 28rem;
2426
2448
  }
2449
+ .xl\:grid-cols-4{
2450
+ grid-template-columns: repeat(4, minmax(0, 1fr));
2451
+ }
2427
2452
  .xl\:pr-28{
2428
2453
  padding-right: 7rem;
2429
2454
  }
package/package.json CHANGED
@@ -13,7 +13,7 @@
13
13
  "type": "git",
14
14
  "url": "git+https://github.com/wowxoxo/precision-ui.git"
15
15
  },
16
- "version": "0.5.2",
16
+ "version": "0.5.4",
17
17
  "type": "module",
18
18
  "module": "./dist/index.es.js",
19
19
  "types": "./dist/index.d.ts",