@me1a/ui 2.2.4 → 2.2.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (96) hide show
  1. package/dist/accordion/index.mjs +1 -1
  2. package/dist/accordion/index.mjs.map +1 -1
  3. package/dist/avatar/index.mjs +1 -1
  4. package/dist/avatar/index.mjs.map +1 -1
  5. package/dist/badge/index.mjs +1 -1
  6. package/dist/badge/index.mjs.map +1 -1
  7. package/dist/box/index.mjs +1 -1
  8. package/dist/box/index.mjs.map +1 -1
  9. package/dist/breadcrumb/index.mjs +1 -1
  10. package/dist/breadcrumb/index.mjs.map +1 -1
  11. package/dist/button/index.mjs +1 -1
  12. package/dist/button/index.mjs.map +1 -1
  13. package/dist/card/index.mjs +1 -1
  14. package/dist/card/index.mjs.map +1 -1
  15. package/dist/checkbox/index.mjs +1 -1
  16. package/dist/checkbox/index.mjs.map +1 -1
  17. package/dist/collapsible/index.mjs +1 -1
  18. package/dist/collapsible/index.mjs.map +1 -1
  19. package/dist/command/index.mjs +1 -1
  20. package/dist/command/index.mjs.map +1 -1
  21. package/dist/container/index.mjs +1 -1
  22. package/dist/container/index.mjs.map +1 -1
  23. package/dist/dialog/index.mjs +1 -1
  24. package/dist/dialog/index.mjs.map +1 -1
  25. package/dist/drawer/index.mjs +1 -1
  26. package/dist/drawer/index.mjs.map +1 -1
  27. package/dist/dropdown-menu/index.mjs +1 -1
  28. package/dist/dropdown-menu/index.mjs.map +1 -1
  29. package/dist/form/index.mjs +1 -1
  30. package/dist/form/index.mjs.map +1 -1
  31. package/dist/hooks/index.mjs +1 -1
  32. package/dist/hooks/index.mjs.map +1 -1
  33. package/dist/index.mjs.map +1 -1
  34. package/dist/input/index.mjs +1 -1
  35. package/dist/input/index.mjs.map +1 -1
  36. package/dist/label/index.mjs +1 -1
  37. package/dist/label/index.mjs.map +1 -1
  38. package/dist/navigation-menu/index.mjs +1 -1
  39. package/dist/navigation-menu/index.mjs.map +1 -1
  40. package/dist/page-loader/index.mjs +1 -1
  41. package/dist/page-loader/index.mjs.map +1 -1
  42. package/dist/pagination/index.mjs +1 -1
  43. package/dist/pagination/index.mjs.map +1 -1
  44. package/dist/popover/index.mjs +1 -1
  45. package/dist/popover/index.mjs.map +1 -1
  46. package/dist/radio-group/index.mjs +1 -1
  47. package/dist/radio-group/index.mjs.map +1 -1
  48. package/dist/resizable/index.mjs +1 -1
  49. package/dist/resizable/index.mjs.map +1 -1
  50. package/dist/rhf-checkbox/index.mjs +1 -1
  51. package/dist/rhf-checkbox/index.mjs.map +1 -1
  52. package/dist/rhf-multi-select/index.mjs +1 -1
  53. package/dist/rhf-multi-select/index.mjs.map +1 -1
  54. package/dist/rhf-radio-button-group/index.mjs +1 -1
  55. package/dist/rhf-radio-button-group/index.mjs.map +1 -1
  56. package/dist/rhf-radio-group/index.mjs +1 -1
  57. package/dist/rhf-radio-group/index.mjs.map +1 -1
  58. package/dist/rhf-select/index.mjs +1 -1
  59. package/dist/rhf-select/index.mjs.map +1 -1
  60. package/dist/rhf-switch/index.mjs +1 -1
  61. package/dist/rhf-switch/index.mjs.map +1 -1
  62. package/dist/rhf-textarea/index.mjs +1 -1
  63. package/dist/rhf-textarea/index.mjs.map +1 -1
  64. package/dist/separator/index.mjs +1 -1
  65. package/dist/separator/index.mjs.map +1 -1
  66. package/dist/sheet/index.mjs +1 -1
  67. package/dist/sheet/index.mjs.map +1 -1
  68. package/dist/sidebar/index.mjs +1 -1
  69. package/dist/sidebar/index.mjs.map +1 -1
  70. package/dist/skeleton/index.mjs +1 -1
  71. package/dist/skeleton/index.mjs.map +1 -1
  72. package/dist/stack/index.mjs +1 -1
  73. package/dist/stack/index.mjs.map +1 -1
  74. package/dist/switch/index.mjs +1 -1
  75. package/dist/switch/index.mjs.map +1 -1
  76. package/dist/table/index.mjs +1 -1
  77. package/dist/table/index.mjs.map +1 -1
  78. package/dist/tabs/index.mjs +1 -1
  79. package/dist/tabs/index.mjs.map +1 -1
  80. package/dist/text-field/index.mjs +1 -1
  81. package/dist/text-field/index.mjs.map +1 -1
  82. package/dist/textarea/index.mjs +1 -1
  83. package/dist/textarea/index.mjs.map +1 -1
  84. package/dist/toast/index.mjs +1 -1
  85. package/dist/toast/index.mjs.map +1 -1
  86. package/dist/toaster/index.mjs +1 -1
  87. package/dist/toaster/index.mjs.map +1 -1
  88. package/dist/tooltip/index.mjs +1 -1
  89. package/dist/tooltip/index.mjs.map +1 -1
  90. package/dist/types/index.mjs +0 -1
  91. package/dist/types/index.mjs.map +1 -1
  92. package/dist/typography/index.mjs +1 -1
  93. package/dist/typography/index.mjs.map +1 -1
  94. package/dist/utils/index.mjs +1 -1
  95. package/dist/utils/index.mjs.map +1 -1
  96. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/utils/cn.ts","../../src/components/molecules/tabs/tabs.tsx"],"names":["cn","inputs","twMerge","clsx","Tabs","TabsList","className","props","ref","jsx","TabsTrigger","TabsContent"],"mappings":"gKAGO,SAASA,CAAAA,CAAAA,GAAMC,CAAsB,CAAA,CAC1C,OAAOC,OAAAA,CAAQC,IAAKF,CAAAA,CAAM,CAAC,CAC7B,KCsBMG,CAAqB,CAAA,CAAA,CAAA,IAAA,CAErBC,CAAiB,CAAA,CAAA,CAAA,UAAA,CACrB,CAAC,CAAE,SAAAC,CAAAA,CAAAA,CAAW,GAAGC,CAAM,CAAGC,CAAAA,CAAAA,GACxBC,GAAe,CAAA,CAAA,CAAA,IAAA,CAAd,CACC,GAAKD,CAAAA,CAAAA,CACL,SAAWR,CAAAA,CAAAA,CACT,4FACAM,CAAAA,CACF,CACC,CAAA,GAAGC,CACN,CAAA,CAEJ,EACAF,CAAAA,CAAS,WAA4B,CAAA,CAAA,CAAA,IAAA,CAAK,YAEpCK,IAAAA,CAAAA,CAAoB,CAGxB,CAAA,UAAA,CAAA,CAAC,CAAE,SAAA,CAAAJ,EAAW,GAAGC,CAAM,CAAGC,CAAAA,CAAAA,GAC1BC,GAAe,CAAA,CAAA,CAAA,OAAA,CAAd,CACC,GAAKD,CAAAA,CAAAA,CACL,SAAWR,CAAAA,CAAAA,CACT,qYACAM,CAAAA,CACF,CACC,CAAA,GAAGC,CACN,CAAA,CACD,EACDG,CAAAA,CAAY,WAA4B,CAAA,CAAA,CAAA,OAAA,CAAQ,YAE1CC,IAAAA,CAAAA,CAAoB,CAGxB,CAAA,UAAA,CAAA,CAAC,CAAE,SAAA,CAAAL,CAAW,CAAA,GAAGC,CAAM,CAAA,CAAGC,CAC1BC,GAAAA,GAAAA,CAAe,CAAd,CAAA,OAAA,CAAA,CACC,IAAKD,CACL,CAAA,SAAA,CAAWR,CACT,CAAA,iIAAA,CACAM,CACF,CAAA,CACC,GAAGC,CAAAA,CACN,CACD,EACDI,CAAY,CAAA,WAAA,CAA4B,CAAQ,CAAA,OAAA,CAAA,WAAA","file":"index.mjs","sourcesContent":["import { type ClassValue, clsx } from \"clsx\"\nimport { twMerge } from \"tailwind-merge\"\n\nexport function cn(...inputs: ClassValue[]) {\n return twMerge(clsx(inputs))\n}\n","/**\n * Tabs component provides a way to organize content into separate views where only one view is visible at a time.\n * It follows the WAI-ARIA Tabs Pattern for accessibility.\n *\n * @url https://sergii-melnykov.github.io/ui/?path=/docs/molecules-tabs--docs\n *\n * @example\n * ```tsx\n * <Tabs defaultValue=\"account\">\n * <TabsList>\n * <TabsTrigger value=\"account\">Account</TabsTrigger>\n * <TabsTrigger value=\"password\">Password</TabsTrigger>\n * </TabsList>\n * <TabsContent value=\"account\">\n * <p>Account settings content</p>\n * </TabsContent>\n * <TabsContent value=\"password\">\n * <p>Password settings content</p>\n * </TabsContent>\n * </Tabs>\n * ```\n */\nimport * as React from \"react\"\nimport * as TabsPrimitive from \"@radix-ui/react-tabs\"\nimport { cn } from \"@/utils\"\nimport { TabsListProps, TabsTriggerProps, TabsContentProps } from \"./tabs.types\"\n\nconst Tabs = TabsPrimitive.Root\n\nconst TabsList = React.forwardRef<React.ElementRef<typeof TabsPrimitive.List>, TabsListProps>(\n ({ className, ...props }, ref) => (\n <TabsPrimitive.List\n ref={ref}\n className={cn(\n \"inline-flex h-10 items-center justify-center rounded-md bg-muted p-1 text-muted-foreground\",\n className\n )}\n {...props}\n />\n )\n)\nTabsList.displayName = TabsPrimitive.List.displayName\n\nconst TabsTrigger = React.forwardRef<\n React.ElementRef<typeof TabsPrimitive.Trigger>,\n TabsTriggerProps\n>(({ className, ...props }, ref) => (\n <TabsPrimitive.Trigger\n ref={ref}\n className={cn(\n \"inline-flex items-center justify-center whitespace-nowrap rounded-sm px-3 py-1.5 text-sm font-medium ring-offset-background transition-all focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 data-[state=active]:bg-background data-[state=active]:text-foreground data-[state=active]:shadow-sm\",\n className\n )}\n {...props}\n />\n))\nTabsTrigger.displayName = TabsPrimitive.Trigger.displayName\n\nconst TabsContent = React.forwardRef<\n React.ElementRef<typeof TabsPrimitive.Content>,\n TabsContentProps\n>(({ className, ...props }, ref) => (\n <TabsPrimitive.Content\n ref={ref}\n className={cn(\n \"mt-2 ring-offset-background focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2\",\n className\n )}\n {...props}\n />\n))\nTabsContent.displayName = TabsPrimitive.Content.displayName\n\nexport { Tabs, TabsList, TabsTrigger, TabsContent }\n"]}
1
+ {"version":3,"sources":["../../src/components/molecules/tabs/tabs.tsx","../../src/utils/cn.ts"],"sourcesContent":["/**\n * Tabs component provides a way to organize content into separate views where only one view is visible at a time.\n * It follows the WAI-ARIA Tabs Pattern for accessibility.\n *\n * @url https://sergii-melnykov.github.io/ui/?path=/docs/molecules-tabs--docs\n *\n * @example\n * ```tsx\n * <Tabs defaultValue=\"account\">\n * <TabsList>\n * <TabsTrigger value=\"account\">Account</TabsTrigger>\n * <TabsTrigger value=\"password\">Password</TabsTrigger>\n * </TabsList>\n * <TabsContent value=\"account\">\n * <p>Account settings content</p>\n * </TabsContent>\n * <TabsContent value=\"password\">\n * <p>Password settings content</p>\n * </TabsContent>\n * </Tabs>\n * ```\n */\nimport * as React from \"react\"\nimport * as TabsPrimitive from \"@radix-ui/react-tabs\"\nimport { cn } from \"@/utils\"\nimport { TabsListProps, TabsTriggerProps, TabsContentProps } from \"./tabs.types\"\n\nconst Tabs = TabsPrimitive.Root\n\nconst TabsList = React.forwardRef<React.ElementRef<typeof TabsPrimitive.List>, TabsListProps>(\n ({ className, ...props }, ref) => (\n <TabsPrimitive.List\n ref={ref}\n className={cn(\n \"inline-flex h-10 items-center justify-center rounded-md bg-muted p-1 text-muted-foreground\",\n className\n )}\n {...props}\n />\n )\n)\nTabsList.displayName = TabsPrimitive.List.displayName\n\nconst TabsTrigger = React.forwardRef<\n React.ElementRef<typeof TabsPrimitive.Trigger>,\n TabsTriggerProps\n>(({ className, ...props }, ref) => (\n <TabsPrimitive.Trigger\n ref={ref}\n className={cn(\n \"inline-flex items-center justify-center whitespace-nowrap rounded-sm px-3 py-1.5 text-sm font-medium ring-offset-background transition-all focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 data-[state=active]:bg-background data-[state=active]:text-foreground data-[state=active]:shadow-sm\",\n className\n )}\n {...props}\n />\n))\nTabsTrigger.displayName = TabsPrimitive.Trigger.displayName\n\nconst TabsContent = React.forwardRef<\n React.ElementRef<typeof TabsPrimitive.Content>,\n TabsContentProps\n>(({ className, ...props }, ref) => (\n <TabsPrimitive.Content\n ref={ref}\n className={cn(\n \"mt-2 ring-offset-background focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2\",\n className\n )}\n {...props}\n />\n))\nTabsContent.displayName = TabsPrimitive.Content.displayName\n\nexport { Tabs, TabsList, TabsTrigger, TabsContent }\n","import { type ClassValue, clsx } from \"clsx\"\nimport { twMerge } from \"tailwind-merge\"\n\nexport function cn(...inputs: ClassValue[]) {\n return twMerge(clsx(inputs))\n}\n"],"mappings":"AAsBA,UAAYA,MAAW,QACvB,UAAYC,MAAmB,uBCvB/B,OAA0B,QAAAC,MAAY,OACtC,OAAS,WAAAC,MAAe,iBAEjB,SAASC,KAAMC,EAAsB,CAC1C,OAAOF,EAAQD,EAAKG,CAAM,CAAC,CAC7B,CD0BI,cAAAC,MAAA,oBAJJ,IAAMC,EAAqB,OAErBC,EAAiB,aACrB,CAAC,CAAE,UAAAC,EAAW,GAAGC,CAAM,EAAGC,IACxBL,EAAe,OAAd,CACC,IAAKK,EACL,UAAWC,EACT,6FACAH,CACF,EACC,GAAGC,EACN,CAEJ,EACAF,EAAS,YAA4B,OAAK,YAE1C,IAAMK,EAAoB,aAGxB,CAAC,CAAE,UAAAJ,EAAW,GAAGC,CAAM,EAAGC,IAC1BL,EAAe,UAAd,CACC,IAAKK,EACL,UAAWC,EACT,sYACAH,CACF,EACC,GAAGC,EACN,CACD,EACDG,EAAY,YAA4B,UAAQ,YAEhD,IAAMC,EAAoB,aAGxB,CAAC,CAAE,UAAAL,EAAW,GAAGC,CAAM,EAAGC,IAC1BL,EAAe,UAAd,CACC,IAAKK,EACL,UAAWC,EACT,kIACAH,CACF,EACC,GAAGC,EACN,CACD,EACDI,EAAY,YAA4B,UAAQ","names":["React","TabsPrimitive","clsx","twMerge","cn","inputs","jsx","Tabs","TabsList","className","props","ref","cn","TabsTrigger","TabsContent"]}
@@ -1,2 +1,2 @@
1
- import*as m from'react';import {cva}from'class-variance-authority';import {clsx}from'clsx';import {twMerge}from'tailwind-merge';import {Loader2}from'lucide-react';import {jsx,jsxs}from'react/jsx-runtime';import*as n from'@radix-ui/react-label';function e(...t){return twMerge(clsx(t))}var f=m.forwardRef(({className:t,type:o,...a},i)=>jsx("input",{type:o,className:e("flex h-9 w-full rounded-md border border-input bg-transparent px-3 py-1 text-base shadow-sm transition-colors file:border-0 file:bg-transparent file:text-sm file:font-medium file:text-foreground placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:cursor-not-allowed disabled:opacity-50 md:text-sm",t),ref:i,...a}));f.displayName="Input";var V=cva("text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70"),p=m.forwardRef(({className:t,...o},a)=>jsx(n.Root,{ref:a,className:e(V(),t),...o}));p.displayName=n.Root.displayName;var M=cva("w-full",{variants:{variant:{default:"",error:"border-destructive focus-visible:ring-destructive"},size:{default:"h-10",sm:"h-8 text-xs",lg:"h-12 text-base"}},defaultVariants:{variant:"default",size:"default"}}),R=m.forwardRef(({className:t,variant:o,size:a,startIcon:i,endIcon:d,loading:s=false,error:l,label:u,helperText:c,disabled:L,...P},N)=>{let b=m.useId();return jsxs("div",{className:"w-full space-y-2",children:[u&&jsx(p,{htmlFor:b,children:u}),jsxs("div",{className:"relative",children:[i&&jsx("div",{className:"absolute left-3 top-1/2 -translate-y-1/2 text-muted-foreground",children:i}),jsx(f,{id:b,className:e(M({variant:l?"error":o,size:a,className:t}),i&&"pl-9",(d||s)&&"pr-9"),ref:N,disabled:L||s,...P}),(d||s)&&jsx("div",{className:"absolute right-3 top-1/2 -translate-y-1/2 text-muted-foreground",children:s?jsx(Loader2,{className:"h-4 w-4 animate-spin"}):d})]}),(l||c)&&jsx("p",{className:e("text-sm",l?"text-destructive":"text-muted-foreground"),children:l||c})]})});R.displayName="TextField";export{R as TextField};//# sourceMappingURL=index.mjs.map
1
+ import*as m from"react";import{cva as C}from"class-variance-authority";import{clsx as g}from"clsx";import{twMerge as w}from"tailwind-merge";function e(...t){return w(g(t))}import{Loader2 as E}from"lucide-react";import*as x from"react";import{jsx as h}from"react/jsx-runtime";var f=x.forwardRef(({className:t,type:o,...a},i)=>h("input",{type:o,className:e("flex h-9 w-full rounded-md border border-input bg-transparent px-3 py-1 text-base shadow-sm transition-colors file:border-0 file:bg-transparent file:text-sm file:font-medium file:text-foreground placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:cursor-not-allowed disabled:opacity-50 md:text-sm",t),ref:i,...a}));f.displayName="Input";import*as v from"react";import*as n from"@radix-ui/react-label";import{cva as F}from"class-variance-authority";import{jsx as T}from"react/jsx-runtime";var V=F("text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70"),p=v.forwardRef(({className:t,...o},a)=>T(n.Root,{ref:a,className:e(V(),t),...o}));p.displayName=n.Root.displayName;import{jsx as r,jsxs as y}from"react/jsx-runtime";var M=C("w-full",{variants:{variant:{default:"",error:"border-destructive focus-visible:ring-destructive"},size:{default:"h-10",sm:"h-8 text-xs",lg:"h-12 text-base"}},defaultVariants:{variant:"default",size:"default"}}),R=m.forwardRef(({className:t,variant:o,size:a,startIcon:i,endIcon:d,loading:s=!1,error:l,label:u,helperText:c,disabled:L,...P},N)=>{let b=m.useId();return y("div",{className:"w-full space-y-2",children:[u&&r(p,{htmlFor:b,children:u}),y("div",{className:"relative",children:[i&&r("div",{className:"absolute left-3 top-1/2 -translate-y-1/2 text-muted-foreground",children:i}),r(f,{id:b,className:e(M({variant:l?"error":o,size:a,className:t}),i&&"pl-9",(d||s)&&"pr-9"),ref:N,disabled:L||s,...P}),(d||s)&&r("div",{className:"absolute right-3 top-1/2 -translate-y-1/2 text-muted-foreground",children:s?r(E,{className:"h-4 w-4 animate-spin"}):d})]}),(l||c)&&r("p",{className:e("text-sm",l?"text-destructive":"text-muted-foreground"),children:l||c})]})});R.displayName="TextField";export{R as TextField};
2
2
  //# sourceMappingURL=index.mjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/utils/cn.ts","../../src/components/atoms/input/input.tsx","../../src/components/atoms/label/label.tsx","../../src/components/atoms/text-field/text-field.tsx"],"names":["cn","inputs","twMerge","clsx","Input","x","className","type","props","ref","jsx","labelVariants","cva","Label","v","textFieldVariants","TextField","variant","size","startIcon","endIcon","loading","error","label","helperText","disabled","id","jsxs","Loader2"],"mappings":"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","file":"index.mjs","sourcesContent":["import { type ClassValue, clsx } from \"clsx\"\nimport { twMerge } from \"tailwind-merge\"\n\nexport function cn(...inputs: ClassValue[]) {\n return twMerge(clsx(inputs))\n}\n","import * as React from \"react\"\n\nimport { cn } from \"@/utils/cn\"\n\n/**\n * Input component for creating accessible input fields.\n * Built on top of shadcn/ui's Input component.\n *\n * @url https://sergii-melnykov.github.io/ui/?path=/docs/atoms-input--docs\n *\n */\nconst Input = React.forwardRef<HTMLInputElement, React.ComponentProps<\"input\">>(\n ({ className, type, ...props }, ref) => {\n return (\n <input\n type={type}\n className={cn(\n \"flex h-9 w-full rounded-md border border-input bg-transparent px-3 py-1 text-base shadow-sm transition-colors file:border-0 file:bg-transparent file:text-sm file:font-medium file:text-foreground placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:cursor-not-allowed disabled:opacity-50 md:text-sm\",\n className\n )}\n ref={ref}\n {...props}\n />\n )\n }\n)\nInput.displayName = \"Input\"\n\nexport { Input }\n","import * as React from \"react\"\nimport * as LabelPrimitive from \"@radix-ui/react-label\"\nimport { cva, type VariantProps } from \"class-variance-authority\"\n\nimport { cn } from \"@/utils/index\"\n\nconst labelVariants = cva(\n \"text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70\"\n)\n\nexport interface LabelProps\n extends React.ComponentPropsWithoutRef<typeof LabelPrimitive.Root>,\n VariantProps<typeof labelVariants> {}\n\n/**\n * Label component for creating accessible labels.\n * Built on top of Radix UI's Label primitive.\n *\n * @url https://sergii-melnykov.github.io/ui/?path=/docs/atoms-label--docs\n *\n */\nconst Label = React.forwardRef<React.ElementRef<typeof LabelPrimitive.Root>, LabelProps>(\n ({ className, ...props }, ref) => (\n <LabelPrimitive.Root ref={ref} className={cn(labelVariants(), className)} {...props} />\n )\n)\nLabel.displayName = LabelPrimitive.Root.displayName\n\nexport { Label }\n","import * as React from \"react\"\nimport { cva } from \"class-variance-authority\"\nimport { cn } from \"@/utils/cn\"\nimport { TextFieldProps } from \"./text-field.types\"\nimport { Loader2 } from \"lucide-react\"\nimport { Input } from \"../input\"\nimport { Label } from \"../label\"\n\n/**\n * Text field variant styles using class-variance-authority.\n * Defines the visual styles for different text field variants and sizes.\n */\nconst textFieldVariants = cva(\"w-full\", {\n variants: {\n variant: {\n default: \"\",\n error: \"border-destructive focus-visible:ring-destructive\"\n },\n size: {\n default: \"h-10\",\n sm: \"h-8 text-xs\",\n lg: \"h-12 text-base\"\n }\n },\n defaultVariants: {\n variant: \"default\",\n size: \"default\"\n }\n})\n\n/**\n * A versatile text field component that supports multiple variants, sizes, and icons.\n * Built on top of shadcn/ui's Input component.\n *\n * @url https://sergii-melnykov.github.io/ui/?path=/docs/atoms-text-field--docs\n *\n * @component\n * @example\n * ```tsx\n * // Default text field\n * <TextField placeholder=\"Enter text\" />\n *\n * // With icons\n * <TextField startIcon={<SearchIcon />} placeholder=\"Search...\" />\n * <TextField endIcon={<CalendarIcon />} placeholder=\"Select date\" />\n *\n * // With loading state\n * <TextField loading placeholder=\"Loading...\" />\n *\n * // With error\n * <TextField error=\"Invalid input\" placeholder=\"Enter text\" />\n * ```\n */\nconst TextField = React.forwardRef<HTMLInputElement, TextFieldProps>(\n (\n {\n className,\n variant,\n size,\n startIcon,\n endIcon,\n loading = false,\n error,\n label,\n helperText,\n disabled,\n ...props\n },\n ref\n ) => {\n const id = React.useId()\n\n return (\n <div className=\"w-full space-y-2\">\n {label && <Label htmlFor={id}>{label}</Label>}\n <div className=\"relative\">\n {startIcon && (\n <div className=\"absolute left-3 top-1/2 -translate-y-1/2 text-muted-foreground\">\n {startIcon}\n </div>\n )}\n <Input\n id={id}\n className={cn(\n textFieldVariants({ variant: error ? \"error\" : variant, size, className }),\n startIcon && \"pl-9\",\n (endIcon || loading) && \"pr-9\"\n )}\n ref={ref}\n disabled={disabled || loading}\n {...props}\n />\n {(endIcon || loading) && (\n <div className=\"absolute right-3 top-1/2 -translate-y-1/2 text-muted-foreground\">\n {loading ? <Loader2 className=\"h-4 w-4 animate-spin\" /> : endIcon}\n </div>\n )}\n </div>\n {(error || helperText) && (\n <p className={cn(\"text-sm\", error ? \"text-destructive\" : \"text-muted-foreground\")}>\n {error || helperText}\n </p>\n )}\n </div>\n )\n }\n)\n\nTextField.displayName = \"TextField\"\n\nexport { TextField, textFieldVariants }\n"]}
1
+ {"version":3,"sources":["../../src/components/atoms/text-field/text-field.tsx","../../src/utils/cn.ts","../../src/components/atoms/input/input.tsx","../../src/components/atoms/label/label.tsx"],"sourcesContent":["import * as React from \"react\"\nimport { cva } from \"class-variance-authority\"\nimport { cn } from \"@/utils/cn\"\nimport { TextFieldProps } from \"./text-field.types\"\nimport { Loader2 } from \"lucide-react\"\nimport { Input } from \"../input\"\nimport { Label } from \"../label\"\n\n/**\n * Text field variant styles using class-variance-authority.\n * Defines the visual styles for different text field variants and sizes.\n */\nconst textFieldVariants = cva(\"w-full\", {\n variants: {\n variant: {\n default: \"\",\n error: \"border-destructive focus-visible:ring-destructive\"\n },\n size: {\n default: \"h-10\",\n sm: \"h-8 text-xs\",\n lg: \"h-12 text-base\"\n }\n },\n defaultVariants: {\n variant: \"default\",\n size: \"default\"\n }\n})\n\n/**\n * A versatile text field component that supports multiple variants, sizes, and icons.\n * Built on top of shadcn/ui's Input component.\n *\n * @url https://sergii-melnykov.github.io/ui/?path=/docs/atoms-text-field--docs\n *\n * @component\n * @example\n * ```tsx\n * // Default text field\n * <TextField placeholder=\"Enter text\" />\n *\n * // With icons\n * <TextField startIcon={<SearchIcon />} placeholder=\"Search...\" />\n * <TextField endIcon={<CalendarIcon />} placeholder=\"Select date\" />\n *\n * // With loading state\n * <TextField loading placeholder=\"Loading...\" />\n *\n * // With error\n * <TextField error=\"Invalid input\" placeholder=\"Enter text\" />\n * ```\n */\nconst TextField = React.forwardRef<HTMLInputElement, TextFieldProps>(\n (\n {\n className,\n variant,\n size,\n startIcon,\n endIcon,\n loading = false,\n error,\n label,\n helperText,\n disabled,\n ...props\n },\n ref\n ) => {\n const id = React.useId()\n\n return (\n <div className=\"w-full space-y-2\">\n {label && <Label htmlFor={id}>{label}</Label>}\n <div className=\"relative\">\n {startIcon && (\n <div className=\"absolute left-3 top-1/2 -translate-y-1/2 text-muted-foreground\">\n {startIcon}\n </div>\n )}\n <Input\n id={id}\n className={cn(\n textFieldVariants({ variant: error ? \"error\" : variant, size, className }),\n startIcon && \"pl-9\",\n (endIcon || loading) && \"pr-9\"\n )}\n ref={ref}\n disabled={disabled || loading}\n {...props}\n />\n {(endIcon || loading) && (\n <div className=\"absolute right-3 top-1/2 -translate-y-1/2 text-muted-foreground\">\n {loading ? <Loader2 className=\"h-4 w-4 animate-spin\" /> : endIcon}\n </div>\n )}\n </div>\n {(error || helperText) && (\n <p className={cn(\"text-sm\", error ? \"text-destructive\" : \"text-muted-foreground\")}>\n {error || helperText}\n </p>\n )}\n </div>\n )\n }\n)\n\nTextField.displayName = \"TextField\"\n\nexport { TextField, textFieldVariants }\n","import { type ClassValue, clsx } from \"clsx\"\nimport { twMerge } from \"tailwind-merge\"\n\nexport function cn(...inputs: ClassValue[]) {\n return twMerge(clsx(inputs))\n}\n","import * as React from \"react\"\n\nimport { cn } from \"@/utils/cn\"\n\n/**\n * Input component for creating accessible input fields.\n * Built on top of shadcn/ui's Input component.\n *\n * @url https://sergii-melnykov.github.io/ui/?path=/docs/atoms-input--docs\n *\n */\nconst Input = React.forwardRef<HTMLInputElement, React.ComponentProps<\"input\">>(\n ({ className, type, ...props }, ref) => {\n return (\n <input\n type={type}\n className={cn(\n \"flex h-9 w-full rounded-md border border-input bg-transparent px-3 py-1 text-base shadow-sm transition-colors file:border-0 file:bg-transparent file:text-sm file:font-medium file:text-foreground placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:cursor-not-allowed disabled:opacity-50 md:text-sm\",\n className\n )}\n ref={ref}\n {...props}\n />\n )\n }\n)\nInput.displayName = \"Input\"\n\nexport { Input }\n","import * as React from \"react\"\nimport * as LabelPrimitive from \"@radix-ui/react-label\"\nimport { cva, type VariantProps } from \"class-variance-authority\"\n\nimport { cn } from \"@/utils/index\"\n\nconst labelVariants = cva(\n \"text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70\"\n)\n\nexport interface LabelProps\n extends React.ComponentPropsWithoutRef<typeof LabelPrimitive.Root>,\n VariantProps<typeof labelVariants> {}\n\n/**\n * Label component for creating accessible labels.\n * Built on top of Radix UI's Label primitive.\n *\n * @url https://sergii-melnykov.github.io/ui/?path=/docs/atoms-label--docs\n *\n */\nconst Label = React.forwardRef<React.ElementRef<typeof LabelPrimitive.Root>, LabelProps>(\n ({ className, ...props }, ref) => (\n <LabelPrimitive.Root ref={ref} className={cn(labelVariants(), className)} {...props} />\n )\n)\nLabel.displayName = LabelPrimitive.Root.displayName\n\nexport { Label }\n"],"mappings":"AAAA,UAAYA,MAAW,QACvB,OAAS,OAAAC,MAAW,2BCDpB,OAA0B,QAAAC,MAAY,OACtC,OAAS,WAAAC,MAAe,iBAEjB,SAASC,KAAMC,EAAsB,CAC1C,OAAOF,EAAQD,EAAKG,CAAM,CAAC,CAC7B,CDDA,OAAS,WAAAC,MAAe,eEJxB,UAAYC,MAAW,QAcjB,cAAAC,MAAA,oBAHN,IAAMC,EAAc,aAClB,CAAC,CAAE,UAAAC,EAAW,KAAAC,EAAM,GAAGC,CAAM,EAAGC,IAE5BL,EAAC,SACC,KAAMG,EACN,UAAWG,EACT,0WACAJ,CACF,EACA,IAAKG,EACJ,GAAGD,EACN,CAGN,EACAH,EAAM,YAAc,QC1BpB,UAAYM,MAAW,QACvB,UAAYC,MAAoB,wBAChC,OAAS,OAAAC,MAA8B,2BAqBnC,cAAAC,MAAA,oBAjBJ,IAAMC,EAAgBC,EACpB,4FACF,EAaMC,EAAc,aAClB,CAAC,CAAE,UAAAC,EAAW,GAAGC,CAAM,EAAGC,IACxBN,EAAgB,OAAf,CAAoB,IAAKM,EAAK,UAAWC,EAAGN,EAAc,EAAGG,CAAS,EAAI,GAAGC,EAAO,CAEzF,EACAF,EAAM,YAA6B,OAAK,YHgDtB,cAAAK,EACV,QAAAC,MADU,oBA9DlB,IAAMC,EAAoBC,EAAI,SAAU,CACtC,SAAU,CACR,QAAS,CACP,QAAS,GACT,MAAO,mDACT,EACA,KAAM,CACJ,QAAS,OACT,GAAI,cACJ,GAAI,gBACN,CACF,EACA,gBAAiB,CACf,QAAS,UACT,KAAM,SACR,CACF,CAAC,EAyBKC,EAAkB,aACtB,CACE,CACE,UAAAC,EACA,QAAAC,EACA,KAAAC,EACA,UAAAC,EACA,QAAAC,EACA,QAAAC,EAAU,GACV,MAAAC,EACA,MAAAC,EACA,WAAAC,EACA,SAAAC,EACA,GAAGC,CACL,EACAC,IACG,CACH,IAAMC,EAAW,QAAM,EAEvB,OACEhB,EAAC,OAAI,UAAU,mBACZ,UAAAW,GAASZ,EAACkB,EAAA,CAAM,QAASD,EAAK,SAAAL,EAAM,EACrCX,EAAC,OAAI,UAAU,WACZ,UAAAO,GACCR,EAAC,OAAI,UAAU,iEACZ,SAAAQ,EACH,EAEFR,EAACmB,EAAA,CACC,GAAIF,EACJ,UAAWG,EACTlB,EAAkB,CAAE,QAASS,EAAQ,QAAUL,EAAS,KAAAC,EAAM,UAAAF,CAAU,CAAC,EACzEG,GAAa,QACZC,GAAWC,IAAY,MAC1B,EACA,IAAKM,EACL,SAAUF,GAAYJ,EACrB,GAAGK,EACN,GACEN,GAAWC,IACXV,EAAC,OAAI,UAAU,kEACZ,SAAAU,EAAUV,EAACqB,EAAA,CAAQ,UAAU,uBAAuB,EAAKZ,EAC5D,GAEJ,GACEE,GAASE,IACTb,EAAC,KAAE,UAAWoB,EAAG,UAAWT,EAAQ,mBAAqB,uBAAuB,EAC7E,SAAAA,GAASE,EACZ,GAEJ,CAEJ,CACF,EAEAT,EAAU,YAAc","names":["React","cva","clsx","twMerge","cn","inputs","Loader2","React","jsx","Input","className","type","props","ref","cn","React","LabelPrimitive","cva","jsx","labelVariants","cva","Label","className","props","ref","cn","jsx","jsxs","textFieldVariants","cva","TextField","className","variant","size","startIcon","endIcon","loading","error","label","helperText","disabled","props","ref","id","Label","Input","cn","Loader2"]}
@@ -1,2 +1,2 @@
1
- import*as e from'react';import {clsx}from'clsx';import {twMerge}from'tailwind-merge';import {jsx}from'react/jsx-runtime';function o(...r){return twMerge(clsx(r))}var c=e.forwardRef(({className:r,autoResize:n=false,...i},l)=>{let s=e.useRef(null);return e.useEffect(()=>{if(!n||!s.current)return;let t=s.current,a=()=>{t.style.height="auto",t.style.height=`${t.scrollHeight}px`;};return t.addEventListener("input",a),a(),()=>t.removeEventListener("input",a)},[n]),jsx("textarea",{className:o("flex min-h-[60px] w-full rounded-md border border-input bg-transparent px-3 py-2 text-base shadow-sm placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:cursor-not-allowed disabled:opacity-50 md:text-sm",r),ref:l,...i})});c.displayName="Textarea";export{c as Textarea};//# sourceMappingURL=index.mjs.map
1
+ import*as e from"react";import{clsx as p}from"clsx";import{twMerge as f}from"tailwind-merge";function o(...r){return f(p(r))}import{jsx as m}from"react/jsx-runtime";var c=e.forwardRef(({className:r,autoResize:n=!1,...i},l)=>{let s=e.useRef(null);return e.useEffect(()=>{if(!n||!s.current)return;let t=s.current,a=()=>{t.style.height="auto",t.style.height=`${t.scrollHeight}px`};return t.addEventListener("input",a),a(),()=>t.removeEventListener("input",a)},[n]),m("textarea",{className:o("flex min-h-[60px] w-full rounded-md border border-input bg-transparent px-3 py-2 text-base shadow-sm placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:cursor-not-allowed disabled:opacity-50 md:text-sm",r),ref:l,...i})});c.displayName="Textarea";export{c as Textarea};
2
2
  //# sourceMappingURL=index.mjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/utils/cn.ts","../../src/components/atoms/textarea/textarea.tsx"],"names":["cn","inputs","twMerge","clsx","Textarea","className","autoResize","props","ref","internalRef","textarea","resizeTextarea","jsx"],"mappings":"yHAGO,SAASA,CAAAA,CAAAA,GAAMC,EAAsB,CAC1C,OAAOC,OAAQC,CAAAA,IAAAA,CAAKF,CAAM,CAAC,CAC7B,CCUMG,IAAAA,CAAAA,CAAiB,aACrB,CAAC,CAAE,SAAAC,CAAAA,CAAAA,CAAW,UAAAC,CAAAA,CAAAA,CAAa,MAAO,GAAGC,CAAM,CAAGC,CAAAA,CAAAA,GAAQ,CACpD,IAAMC,EAAoB,CAA4B,CAAA,MAAA,CAAA,IAAI,CAE1D,CAAA,OAAM,CAAU,CAAA,SAAA,CAAA,IAAM,CACpB,GAAI,CAACH,CAAc,EAAA,CAACG,CAAY,CAAA,OAAA,CAAS,OAEzC,IAAMC,CAAAA,CAAWD,CAAY,CAAA,OAAA,CACvBE,CAAiB,CAAA,IAAM,CAC3BD,CAAS,CAAA,KAAA,CAAM,MAAS,CAAA,MAAA,CACxBA,CAAS,CAAA,KAAA,CAAM,OAAS,CAAGA,EAAAA,CAAAA,CAAS,YAAY,CAAA,EAAA,EAClD,CAEA,CAAA,OAAAA,EAAS,gBAAiB,CAAA,OAAA,CAASC,CAAc,CAAA,CACjDA,CAAe,EAAA,CAER,IAAMD,CAAS,CAAA,mBAAA,CAAoB,OAASC,CAAAA,CAAc,CACnE,CAAA,CAAG,CAACL,CAAU,CAAC,CAGbM,CAAAA,GAAAA,CAAC,UACC,CAAA,CAAA,SAAA,CAAWZ,EACT,2QACAK,CAAAA,CACF,CACA,CAAA,GAAA,CAAKG,CACJ,CAAA,GAAGD,EACN,CAEJ,CACF,EAEAH,CAAAA,CAAS,WAAc,CAAA,UAAA","file":"index.mjs","sourcesContent":["import { type ClassValue, clsx } from \"clsx\"\nimport { twMerge } from \"tailwind-merge\"\n\nexport function cn(...inputs: ClassValue[]) {\n return twMerge(clsx(inputs))\n}\n","import * as React from \"react\"\nimport { cn } from \"@/utils/index\"\nimport { TextareaProps } from \"./textarea.types\"\n\n/**\n * Textarea component for creating accessible text areas.\n * Built on top of shadcn/ui's Textarea component.\n *\n * @url https://sergii-melnykov.github.io/ui/?path=/docs/atoms-textarea--docs\n *\n * @example\n * ```tsx\n * <Textarea placeholder=\"Enter text\" />\n * ```\n */\nconst Textarea = React.forwardRef<HTMLTextAreaElement, TextareaProps>(\n ({ className, autoResize = false, ...props }, ref) => {\n const internalRef = React.useRef<HTMLTextAreaElement>(null)\n\n React.useEffect(() => {\n if (!autoResize || !internalRef.current) return\n\n const textarea = internalRef.current\n const resizeTextarea = () => {\n textarea.style.height = \"auto\"\n textarea.style.height = `${textarea.scrollHeight}px`\n }\n\n textarea.addEventListener(\"input\", resizeTextarea)\n resizeTextarea() // Initial resize\n\n return () => textarea.removeEventListener(\"input\", resizeTextarea)\n }, [autoResize])\n\n return (\n <textarea\n className={cn(\n \"flex min-h-[60px] w-full rounded-md border border-input bg-transparent px-3 py-2 text-base shadow-sm placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:cursor-not-allowed disabled:opacity-50 md:text-sm\",\n className\n )}\n ref={ref}\n {...props}\n />\n )\n }\n)\n\nTextarea.displayName = \"Textarea\"\n\nexport { Textarea }\n"]}
1
+ {"version":3,"sources":["../../src/components/atoms/textarea/textarea.tsx","../../src/utils/cn.ts"],"sourcesContent":["import * as React from \"react\"\nimport { cn } from \"@/utils/index\"\nimport { TextareaProps } from \"./textarea.types\"\n\n/**\n * Textarea component for creating accessible text areas.\n * Built on top of shadcn/ui's Textarea component.\n *\n * @url https://sergii-melnykov.github.io/ui/?path=/docs/atoms-textarea--docs\n *\n * @example\n * ```tsx\n * <Textarea placeholder=\"Enter text\" />\n * ```\n */\nconst Textarea = React.forwardRef<HTMLTextAreaElement, TextareaProps>(\n ({ className, autoResize = false, ...props }, ref) => {\n const internalRef = React.useRef<HTMLTextAreaElement>(null)\n\n React.useEffect(() => {\n if (!autoResize || !internalRef.current) return\n\n const textarea = internalRef.current\n const resizeTextarea = () => {\n textarea.style.height = \"auto\"\n textarea.style.height = `${textarea.scrollHeight}px`\n }\n\n textarea.addEventListener(\"input\", resizeTextarea)\n resizeTextarea() // Initial resize\n\n return () => textarea.removeEventListener(\"input\", resizeTextarea)\n }, [autoResize])\n\n return (\n <textarea\n className={cn(\n \"flex min-h-[60px] w-full rounded-md border border-input bg-transparent px-3 py-2 text-base shadow-sm placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:cursor-not-allowed disabled:opacity-50 md:text-sm\",\n className\n )}\n ref={ref}\n {...props}\n />\n )\n }\n)\n\nTextarea.displayName = \"Textarea\"\n\nexport { Textarea }\n","import { type ClassValue, clsx } from \"clsx\"\nimport { twMerge } from \"tailwind-merge\"\n\nexport function cn(...inputs: ClassValue[]) {\n return twMerge(clsx(inputs))\n}\n"],"mappings":"AAAA,UAAYA,MAAW,QCAvB,OAA0B,QAAAC,MAAY,OACtC,OAAS,WAAAC,MAAe,iBAEjB,SAASC,KAAMC,EAAsB,CAC1C,OAAOF,EAAQD,EAAKG,CAAM,CAAC,CAC7B,CD8BM,cAAAC,MAAA,oBApBN,IAAMC,EAAiB,aACrB,CAAC,CAAE,UAAAC,EAAW,WAAAC,EAAa,GAAO,GAAGC,CAAM,EAAGC,IAAQ,CACpD,IAAMC,EAAoB,SAA4B,IAAI,EAE1D,OAAM,YAAU,IAAM,CACpB,GAAI,CAACH,GAAc,CAACG,EAAY,QAAS,OAEzC,IAAMC,EAAWD,EAAY,QACvBE,EAAiB,IAAM,CAC3BD,EAAS,MAAM,OAAS,OACxBA,EAAS,MAAM,OAAS,GAAGA,EAAS,YAAY,IAClD,EAEA,OAAAA,EAAS,iBAAiB,QAASC,CAAc,EACjDA,EAAe,EAER,IAAMD,EAAS,oBAAoB,QAASC,CAAc,CACnE,EAAG,CAACL,CAAU,CAAC,EAGbH,EAAC,YACC,UAAWS,EACT,4QACAP,CACF,EACA,IAAKG,EACJ,GAAGD,EACN,CAEJ,CACF,EAEAH,EAAS,YAAc","names":["React","clsx","twMerge","cn","inputs","jsx","Textarea","className","autoResize","props","ref","internalRef","textarea","resizeTextarea","cn"]}
@@ -1,2 +1,2 @@
1
- import*as r from'react';import*as t from'@radix-ui/react-toast';import {cva}from'class-variance-authority';import {X}from'lucide-react';import {clsx}from'clsx';import {twMerge}from'tailwind-merge';import {jsx}from'react/jsx-runtime';function i(...e){return twMerge(clsx(e))}var y=t.Provider,n=r.forwardRef(({className:e,...o},s)=>jsx(t.Viewport,{ref:s,className:i("fixed top-0 z-[100] flex max-h-screen w-full flex-col-reverse p-4 sm:bottom-0 sm:right-0 sm:top-auto sm:flex-col md:max-w-[420px]",e),...o}));n.displayName=t.Viewport.displayName;var P=cva("group pointer-events-auto relative flex w-full items-center justify-between space-x-2 overflow-hidden rounded-md border p-4 pr-6 shadow-lg transition-all data-[swipe=cancel]:translate-x-0 data-[swipe=end]:translate-x-[var(--radix-toast-swipe-end-x)] data-[swipe=move]:translate-x-[var(--radix-toast-swipe-move-x)] data-[swipe=move]:transition-none data-[state=open]:animate-in data-[state=closed]:animate-out data-[swipe=end]:animate-out data-[state=closed]:fade-out-80 data-[state=closed]:slide-out-to-right-full data-[state=open]:slide-in-from-top-full data-[state=open]:sm:slide-in-from-bottom-full",{variants:{variant:{default:"border bg-background text-foreground",destructive:"destructive group border-destructive bg-destructive text-destructive-foreground"}},defaultVariants:{variant:"default"}}),p=r.forwardRef(({className:e,variant:o,...s},l)=>jsx(t.Root,{ref:l,className:i(P({variant:o}),e),...s}));p.displayName=t.Root.displayName;var m=r.forwardRef(({className:e,...o},s)=>jsx(t.Action,{ref:s,className:i("inline-flex h-8 shrink-0 items-center justify-center rounded-md border bg-transparent px-3 text-sm font-medium transition-colors hover:bg-secondary focus:outline-none focus:ring-1 focus:ring-ring disabled:pointer-events-none disabled:opacity-50 group-[.destructive]:border-muted/40 group-[.destructive]:hover:border-destructive/30 group-[.destructive]:hover:bg-destructive group-[.destructive]:hover:text-destructive-foreground group-[.destructive]:focus:ring-destructive",e),...o}));m.displayName=t.Action.displayName;var c=r.forwardRef(({className:e,...o},s)=>jsx(t.Close,{ref:s,className:i("absolute right-1 top-1 rounded-md p-1 text-foreground/50 opacity-0 transition-opacity hover:text-foreground focus:opacity-100 focus:outline-none focus:ring-1 group-hover:opacity-100 group-[.destructive]:text-red-300 group-[.destructive]:hover:text-red-50 group-[.destructive]:focus:ring-red-400 group-[.destructive]:focus:ring-offset-red-600",e),"toast-close":"","aria-label":"Close toast",...o,children:jsx(X,{className:"h-4 w-4"})}));c.displayName=t.Close.displayName;var d=r.forwardRef(({className:e,...o},s)=>jsx(t.Title,{ref:s,className:i("text-sm font-semibold [&+div]:text-xs",e),...o}));d.displayName=t.Title.displayName;var f=r.forwardRef(({className:e,...o},s)=>jsx(t.Description,{ref:s,className:i("text-sm opacity-90",e),...o}));f.displayName=t.Description.displayName;export{p as Toast,m as ToastAction,c as ToastClose,f as ToastDescription,y as ToastProvider,d as ToastTitle,n as ToastViewport};//# sourceMappingURL=index.mjs.map
1
+ import*as r from"react";import*as t from"@radix-ui/react-toast";import{cva as T}from"class-variance-authority";import{X as R}from"lucide-react";import{clsx as u}from"clsx";import{twMerge as v}from"tailwind-merge";function i(...e){return v(u(e))}import{jsx as a}from"react/jsx-runtime";var y=t.Provider,n=r.forwardRef(({className:e,...o},s)=>a(t.Viewport,{ref:s,className:i("fixed top-0 z-[100] flex max-h-screen w-full flex-col-reverse p-4 sm:bottom-0 sm:right-0 sm:top-auto sm:flex-col md:max-w-[420px]",e),...o}));n.displayName=t.Viewport.displayName;var P=T("group pointer-events-auto relative flex w-full items-center justify-between space-x-2 overflow-hidden rounded-md border p-4 pr-6 shadow-lg transition-all data-[swipe=cancel]:translate-x-0 data-[swipe=end]:translate-x-[var(--radix-toast-swipe-end-x)] data-[swipe=move]:translate-x-[var(--radix-toast-swipe-move-x)] data-[swipe=move]:transition-none data-[state=open]:animate-in data-[state=closed]:animate-out data-[swipe=end]:animate-out data-[state=closed]:fade-out-80 data-[state=closed]:slide-out-to-right-full data-[state=open]:slide-in-from-top-full data-[state=open]:sm:slide-in-from-bottom-full",{variants:{variant:{default:"border bg-background text-foreground",destructive:"destructive group border-destructive bg-destructive text-destructive-foreground"}},defaultVariants:{variant:"default"}}),p=r.forwardRef(({className:e,variant:o,...s},l)=>a(t.Root,{ref:l,className:i(P({variant:o}),e),...s}));p.displayName=t.Root.displayName;var m=r.forwardRef(({className:e,...o},s)=>a(t.Action,{ref:s,className:i("inline-flex h-8 shrink-0 items-center justify-center rounded-md border bg-transparent px-3 text-sm font-medium transition-colors hover:bg-secondary focus:outline-none focus:ring-1 focus:ring-ring disabled:pointer-events-none disabled:opacity-50 group-[.destructive]:border-muted/40 group-[.destructive]:hover:border-destructive/30 group-[.destructive]:hover:bg-destructive group-[.destructive]:hover:text-destructive-foreground group-[.destructive]:focus:ring-destructive",e),...o}));m.displayName=t.Action.displayName;var c=r.forwardRef(({className:e,...o},s)=>a(t.Close,{ref:s,className:i("absolute right-1 top-1 rounded-md p-1 text-foreground/50 opacity-0 transition-opacity hover:text-foreground focus:opacity-100 focus:outline-none focus:ring-1 group-hover:opacity-100 group-[.destructive]:text-red-300 group-[.destructive]:hover:text-red-50 group-[.destructive]:focus:ring-red-400 group-[.destructive]:focus:ring-offset-red-600",e),"toast-close":"","aria-label":"Close toast",...o,children:a(R,{className:"h-4 w-4"})}));c.displayName=t.Close.displayName;var d=r.forwardRef(({className:e,...o},s)=>a(t.Title,{ref:s,className:i("text-sm font-semibold [&+div]:text-xs",e),...o}));d.displayName=t.Title.displayName;var f=r.forwardRef(({className:e,...o},s)=>a(t.Description,{ref:s,className:i("text-sm opacity-90",e),...o}));f.displayName=t.Description.displayName;export{p as Toast,m as ToastAction,c as ToastClose,f as ToastDescription,y as ToastProvider,d as ToastTitle,n as ToastViewport};
2
2
  //# sourceMappingURL=index.mjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/utils/cn.ts","../../src/components/atoms/toast/toast.tsx"],"names":["cn","inputs","twMerge","clsx","ToastProvider","ToastViewport","className","props","ref","jsx","toastVariants","cva","Toast","variant","ToastAction","ToastClose","X","ToastTitle","ToastDescription"],"mappings":"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","file":"index.mjs","sourcesContent":["import { type ClassValue, clsx } from \"clsx\"\nimport { twMerge } from \"tailwind-merge\"\n\nexport function cn(...inputs: ClassValue[]) {\n return twMerge(clsx(inputs))\n}\n","/**\n * Toast component for displaying temporary notifications.\n * Built on top of Radix UI's Toast primitive.\n *\n * @url https://sergii-melnykov.github.io/ui/?path=/docs/atoms-toast--docs\n *\n * @example\n * ```tsx\n * <ToastProvider>\n * <Toast>\n * <ToastTitle>Title</ToastTitle>\n * <ToastDescription>Description</ToastDescription>\n * <ToastAction>Action</ToastAction>\n * <ToastClose />\n * </Toast>\n * <ToastViewport />\n * </ToastProvider>\n * ```\n */\n\nimport * as React from \"react\"\n// eslint-disable-next-line import/no-extraneous-dependencies\nimport * as ToastPrimitives from \"@radix-ui/react-toast\"\nimport { cva, type VariantProps } from \"class-variance-authority\"\nimport { X } from \"lucide-react\"\n\nimport { cn } from \"@/utils/index\"\n\nconst ToastProvider = ToastPrimitives.Provider\n\nconst ToastViewport = React.forwardRef<\n React.ElementRef<typeof ToastPrimitives.Viewport>,\n React.ComponentPropsWithoutRef<typeof ToastPrimitives.Viewport>\n>(({ className, ...props }, ref) => (\n <ToastPrimitives.Viewport\n ref={ref}\n className={cn(\n \"fixed top-0 z-[100] flex max-h-screen w-full flex-col-reverse p-4 sm:bottom-0 sm:right-0 sm:top-auto sm:flex-col md:max-w-[420px]\",\n className\n )}\n {...props}\n />\n))\nToastViewport.displayName = ToastPrimitives.Viewport.displayName\n\nconst toastVariants = cva(\n \"group pointer-events-auto relative flex w-full items-center justify-between space-x-2 overflow-hidden rounded-md border p-4 pr-6 shadow-lg transition-all data-[swipe=cancel]:translate-x-0 data-[swipe=end]:translate-x-[var(--radix-toast-swipe-end-x)] data-[swipe=move]:translate-x-[var(--radix-toast-swipe-move-x)] data-[swipe=move]:transition-none data-[state=open]:animate-in data-[state=closed]:animate-out data-[swipe=end]:animate-out data-[state=closed]:fade-out-80 data-[state=closed]:slide-out-to-right-full data-[state=open]:slide-in-from-top-full data-[state=open]:sm:slide-in-from-bottom-full\",\n {\n variants: {\n variant: {\n default: \"border bg-background text-foreground\",\n destructive:\n \"destructive group border-destructive bg-destructive text-destructive-foreground\"\n }\n },\n defaultVariants: {\n variant: \"default\"\n }\n }\n)\n\nconst Toast = React.forwardRef<\n React.ElementRef<typeof ToastPrimitives.Root>,\n React.ComponentPropsWithoutRef<typeof ToastPrimitives.Root> & VariantProps<typeof toastVariants>\n>(({ className, variant, ...props }, ref) => {\n return (\n <ToastPrimitives.Root\n ref={ref}\n className={cn(toastVariants({ variant }), className)}\n {...props}\n />\n )\n})\nToast.displayName = ToastPrimitives.Root.displayName\n\nconst ToastAction = React.forwardRef<\n React.ElementRef<typeof ToastPrimitives.Action>,\n React.ComponentPropsWithoutRef<typeof ToastPrimitives.Action>\n>(({ className, ...props }, ref) => (\n <ToastPrimitives.Action\n ref={ref}\n className={cn(\n \"inline-flex h-8 shrink-0 items-center justify-center rounded-md border bg-transparent px-3 text-sm font-medium transition-colors hover:bg-secondary focus:outline-none focus:ring-1 focus:ring-ring disabled:pointer-events-none disabled:opacity-50 group-[.destructive]:border-muted/40 group-[.destructive]:hover:border-destructive/30 group-[.destructive]:hover:bg-destructive group-[.destructive]:hover:text-destructive-foreground group-[.destructive]:focus:ring-destructive\",\n className\n )}\n {...props}\n />\n))\nToastAction.displayName = ToastPrimitives.Action.displayName\n\nconst ToastClose = React.forwardRef<\n React.ElementRef<typeof ToastPrimitives.Close>,\n React.ComponentPropsWithoutRef<typeof ToastPrimitives.Close>\n>(({ className, ...props }, ref) => (\n <ToastPrimitives.Close\n ref={ref}\n className={cn(\n \"absolute right-1 top-1 rounded-md p-1 text-foreground/50 opacity-0 transition-opacity hover:text-foreground focus:opacity-100 focus:outline-none focus:ring-1 group-hover:opacity-100 group-[.destructive]:text-red-300 group-[.destructive]:hover:text-red-50 group-[.destructive]:focus:ring-red-400 group-[.destructive]:focus:ring-offset-red-600\",\n className\n )}\n toast-close=\"\"\n aria-label=\"Close toast\"\n {...props}\n >\n <X className=\"h-4 w-4\" />\n </ToastPrimitives.Close>\n))\nToastClose.displayName = ToastPrimitives.Close.displayName\n\nconst ToastTitle = React.forwardRef<\n React.ElementRef<typeof ToastPrimitives.Title>,\n React.ComponentPropsWithoutRef<typeof ToastPrimitives.Title>\n>(({ className, ...props }, ref) => (\n <ToastPrimitives.Title\n ref={ref}\n className={cn(\"text-sm font-semibold [&+div]:text-xs\", className)}\n {...props}\n />\n))\nToastTitle.displayName = ToastPrimitives.Title.displayName\n\nconst ToastDescription = React.forwardRef<\n React.ElementRef<typeof ToastPrimitives.Description>,\n React.ComponentPropsWithoutRef<typeof ToastPrimitives.Description>\n>(({ className, ...props }, ref) => (\n <ToastPrimitives.Description\n ref={ref}\n className={cn(\"text-sm opacity-90\", className)}\n {...props}\n />\n))\nToastDescription.displayName = ToastPrimitives.Description.displayName\n\ntype ToastProps = React.ComponentPropsWithoutRef<typeof Toast>\n\ntype ToastActionElement = React.ReactElement<typeof ToastAction>\n\nexport {\n type ToastProps,\n type ToastActionElement,\n ToastProvider,\n ToastViewport,\n Toast,\n ToastTitle,\n ToastDescription,\n ToastClose,\n ToastAction\n}\n"]}
1
+ {"version":3,"sources":["../../src/components/atoms/toast/toast.tsx","../../src/utils/cn.ts"],"sourcesContent":["/**\n * Toast component for displaying temporary notifications.\n * Built on top of Radix UI's Toast primitive.\n *\n * @url https://sergii-melnykov.github.io/ui/?path=/docs/atoms-toast--docs\n *\n * @example\n * ```tsx\n * <ToastProvider>\n * <Toast>\n * <ToastTitle>Title</ToastTitle>\n * <ToastDescription>Description</ToastDescription>\n * <ToastAction>Action</ToastAction>\n * <ToastClose />\n * </Toast>\n * <ToastViewport />\n * </ToastProvider>\n * ```\n */\n\nimport * as React from \"react\"\n// eslint-disable-next-line import/no-extraneous-dependencies\nimport * as ToastPrimitives from \"@radix-ui/react-toast\"\nimport { cva, type VariantProps } from \"class-variance-authority\"\nimport { X } from \"lucide-react\"\n\nimport { cn } from \"@/utils/index\"\n\nconst ToastProvider = ToastPrimitives.Provider\n\nconst ToastViewport = React.forwardRef<\n React.ElementRef<typeof ToastPrimitives.Viewport>,\n React.ComponentPropsWithoutRef<typeof ToastPrimitives.Viewport>\n>(({ className, ...props }, ref) => (\n <ToastPrimitives.Viewport\n ref={ref}\n className={cn(\n \"fixed top-0 z-[100] flex max-h-screen w-full flex-col-reverse p-4 sm:bottom-0 sm:right-0 sm:top-auto sm:flex-col md:max-w-[420px]\",\n className\n )}\n {...props}\n />\n))\nToastViewport.displayName = ToastPrimitives.Viewport.displayName\n\nconst toastVariants = cva(\n \"group pointer-events-auto relative flex w-full items-center justify-between space-x-2 overflow-hidden rounded-md border p-4 pr-6 shadow-lg transition-all data-[swipe=cancel]:translate-x-0 data-[swipe=end]:translate-x-[var(--radix-toast-swipe-end-x)] data-[swipe=move]:translate-x-[var(--radix-toast-swipe-move-x)] data-[swipe=move]:transition-none data-[state=open]:animate-in data-[state=closed]:animate-out data-[swipe=end]:animate-out data-[state=closed]:fade-out-80 data-[state=closed]:slide-out-to-right-full data-[state=open]:slide-in-from-top-full data-[state=open]:sm:slide-in-from-bottom-full\",\n {\n variants: {\n variant: {\n default: \"border bg-background text-foreground\",\n destructive:\n \"destructive group border-destructive bg-destructive text-destructive-foreground\"\n }\n },\n defaultVariants: {\n variant: \"default\"\n }\n }\n)\n\nconst Toast = React.forwardRef<\n React.ElementRef<typeof ToastPrimitives.Root>,\n React.ComponentPropsWithoutRef<typeof ToastPrimitives.Root> & VariantProps<typeof toastVariants>\n>(({ className, variant, ...props }, ref) => {\n return (\n <ToastPrimitives.Root\n ref={ref}\n className={cn(toastVariants({ variant }), className)}\n {...props}\n />\n )\n})\nToast.displayName = ToastPrimitives.Root.displayName\n\nconst ToastAction = React.forwardRef<\n React.ElementRef<typeof ToastPrimitives.Action>,\n React.ComponentPropsWithoutRef<typeof ToastPrimitives.Action>\n>(({ className, ...props }, ref) => (\n <ToastPrimitives.Action\n ref={ref}\n className={cn(\n \"inline-flex h-8 shrink-0 items-center justify-center rounded-md border bg-transparent px-3 text-sm font-medium transition-colors hover:bg-secondary focus:outline-none focus:ring-1 focus:ring-ring disabled:pointer-events-none disabled:opacity-50 group-[.destructive]:border-muted/40 group-[.destructive]:hover:border-destructive/30 group-[.destructive]:hover:bg-destructive group-[.destructive]:hover:text-destructive-foreground group-[.destructive]:focus:ring-destructive\",\n className\n )}\n {...props}\n />\n))\nToastAction.displayName = ToastPrimitives.Action.displayName\n\nconst ToastClose = React.forwardRef<\n React.ElementRef<typeof ToastPrimitives.Close>,\n React.ComponentPropsWithoutRef<typeof ToastPrimitives.Close>\n>(({ className, ...props }, ref) => (\n <ToastPrimitives.Close\n ref={ref}\n className={cn(\n \"absolute right-1 top-1 rounded-md p-1 text-foreground/50 opacity-0 transition-opacity hover:text-foreground focus:opacity-100 focus:outline-none focus:ring-1 group-hover:opacity-100 group-[.destructive]:text-red-300 group-[.destructive]:hover:text-red-50 group-[.destructive]:focus:ring-red-400 group-[.destructive]:focus:ring-offset-red-600\",\n className\n )}\n toast-close=\"\"\n aria-label=\"Close toast\"\n {...props}\n >\n <X className=\"h-4 w-4\" />\n </ToastPrimitives.Close>\n))\nToastClose.displayName = ToastPrimitives.Close.displayName\n\nconst ToastTitle = React.forwardRef<\n React.ElementRef<typeof ToastPrimitives.Title>,\n React.ComponentPropsWithoutRef<typeof ToastPrimitives.Title>\n>(({ className, ...props }, ref) => (\n <ToastPrimitives.Title\n ref={ref}\n className={cn(\"text-sm font-semibold [&+div]:text-xs\", className)}\n {...props}\n />\n))\nToastTitle.displayName = ToastPrimitives.Title.displayName\n\nconst ToastDescription = React.forwardRef<\n React.ElementRef<typeof ToastPrimitives.Description>,\n React.ComponentPropsWithoutRef<typeof ToastPrimitives.Description>\n>(({ className, ...props }, ref) => (\n <ToastPrimitives.Description\n ref={ref}\n className={cn(\"text-sm opacity-90\", className)}\n {...props}\n />\n))\nToastDescription.displayName = ToastPrimitives.Description.displayName\n\ntype ToastProps = React.ComponentPropsWithoutRef<typeof Toast>\n\ntype ToastActionElement = React.ReactElement<typeof ToastAction>\n\nexport {\n type ToastProps,\n type ToastActionElement,\n ToastProvider,\n ToastViewport,\n Toast,\n ToastTitle,\n ToastDescription,\n ToastClose,\n ToastAction\n}\n","import { type ClassValue, clsx } from \"clsx\"\nimport { twMerge } from \"tailwind-merge\"\n\nexport function cn(...inputs: ClassValue[]) {\n return twMerge(clsx(inputs))\n}\n"],"mappings":"AAoBA,UAAYA,MAAW,QAEvB,UAAYC,MAAqB,wBACjC,OAAS,OAAAC,MAA8B,2BACvC,OAAS,KAAAC,MAAS,eCxBlB,OAA0B,QAAAC,MAAY,OACtC,OAAS,WAAAC,MAAe,iBAEjB,SAASC,KAAMC,EAAsB,CAC1C,OAAOF,EAAQD,EAAKG,CAAM,CAAC,CAC7B,CD6BE,cAAAC,MAAA,oBANF,IAAMC,EAAgC,WAEhCC,EAAsB,aAG1B,CAAC,CAAE,UAAAC,EAAW,GAAGC,CAAM,EAAGC,IAC1BL,EAAiB,WAAhB,CACC,IAAKK,EACL,UAAWC,EACT,oIACAH,CACF,EACC,GAAGC,EACN,CACD,EACDF,EAAc,YAA8B,WAAS,YAErD,IAAMK,EAAgBC,EACpB,4lBACA,CACE,SAAU,CACR,QAAS,CACP,QAAS,uCACT,YACE,iFACJ,CACF,EACA,gBAAiB,CACf,QAAS,SACX,CACF,CACF,EAEMC,EAAc,aAGlB,CAAC,CAAE,UAAAN,EAAW,QAAAO,EAAS,GAAGN,CAAM,EAAGC,IAEjCL,EAAiB,OAAhB,CACC,IAAKK,EACL,UAAWC,EAAGC,EAAc,CAAE,QAAAG,CAAQ,CAAC,EAAGP,CAAS,EAClD,GAAGC,EACN,CAEH,EACDK,EAAM,YAA8B,OAAK,YAEzC,IAAME,EAAoB,aAGxB,CAAC,CAAE,UAAAR,EAAW,GAAGC,CAAM,EAAGC,IAC1BL,EAAiB,SAAhB,CACC,IAAKK,EACL,UAAWC,EACT,0dACAH,CACF,EACC,GAAGC,EACN,CACD,EACDO,EAAY,YAA8B,SAAO,YAEjD,IAAMC,EAAmB,aAGvB,CAAC,CAAE,UAAAT,EAAW,GAAGC,CAAM,EAAGC,IAC1BL,EAAiB,QAAhB,CACC,IAAKK,EACL,UAAWC,EACT,wVACAH,CACF,EACA,cAAY,GACZ,aAAW,cACV,GAAGC,EAEJ,SAAAJ,EAACa,EAAA,CAAE,UAAU,UAAU,EACzB,CACD,EACDD,EAAW,YAA8B,QAAM,YAE/C,IAAME,EAAmB,aAGvB,CAAC,CAAE,UAAAX,EAAW,GAAGC,CAAM,EAAGC,IAC1BL,EAAiB,QAAhB,CACC,IAAKK,EACL,UAAWC,EAAG,wCAAyCH,CAAS,EAC/D,GAAGC,EACN,CACD,EACDU,EAAW,YAA8B,QAAM,YAE/C,IAAMC,EAAyB,aAG7B,CAAC,CAAE,UAAAZ,EAAW,GAAGC,CAAM,EAAGC,IAC1BL,EAAiB,cAAhB,CACC,IAAKK,EACL,UAAWC,EAAG,qBAAsBH,CAAS,EAC5C,GAAGC,EACN,CACD,EACDW,EAAiB,YAA8B,cAAY","names":["React","ToastPrimitives","cva","X","clsx","twMerge","cn","inputs","jsx","ToastProvider","ToastViewport","className","props","ref","cn","toastVariants","cva","Toast","variant","ToastAction","ToastClose","X","ToastTitle","ToastDescription"]}
@@ -1,2 +1,2 @@
1
- import*as n from'react';import*as s from'@radix-ui/react-toast';import {cva}from'class-variance-authority';import {X}from'lucide-react';import {clsx}from'clsx';import {twMerge}from'tailwind-merge';import {jsx,jsxs}from'react/jsx-runtime';var w=1,D=1e6;var A=0;function _(){return A=(A+1)%Number.MAX_SAFE_INTEGER,A.toString()}var P=new Map,x=t=>{if(P.has(t))return;let e=setTimeout(()=>{P.delete(t),c({type:"REMOVE_TOAST",toastId:t});},D);P.set(t,e);},N=(t,e)=>{switch(e.type){case "ADD_TOAST":return {...t,toasts:[e.toast,...t.toasts].slice(0,w)};case "UPDATE_TOAST":return {...t,toasts:t.toasts.map(o=>o.id===e.toast.id?{...o,...e.toast}:o)};case "DISMISS_TOAST":{let{toastId:o}=e;return o?x(o):t.toasts.forEach(a=>{x(a.id);}),{...t,toasts:t.toasts.map(a=>a.id===o||o===void 0?{...a,open:false}:a)}}case "REMOVE_TOAST":return e.toastId===void 0?{...t,toasts:[]}:{...t,toasts:t.toasts.filter(o=>o.id!==e.toastId)}}},T=[],d={toasts:[]};function c(t){d=N(d,t),T.forEach(e=>{e(d);});}function b({...t}){let e=_(),o=p=>c({type:"UPDATE_TOAST",toast:{...p,id:e}}),a=()=>c({type:"DISMISS_TOAST",toastId:e});return c({type:"ADD_TOAST",toast:{...t,id:e,open:true,onOpenChange:p=>{p||a();}}}),{id:e,dismiss:a,update:o}}function E(){let[t,e]=n.useState(d);return n.useEffect(()=>(T.push(e),()=>{let o=T.indexOf(e);o>-1&&T.splice(o,1);}),[t]),{...t,toast:b,dismiss:o=>c({type:"DISMISS_TOAST",toastId:o})}}function i(...t){return twMerge(clsx(t))}var S=s.Provider,f=n.forwardRef(({className:t,...e},o)=>jsx(s.Viewport,{ref:o,className:i("fixed top-0 z-[100] flex max-h-screen w-full flex-col-reverse p-4 sm:bottom-0 sm:right-0 sm:top-auto sm:flex-col md:max-w-[420px]",t),...e}));f.displayName=s.Viewport.displayName;var W=cva("group pointer-events-auto relative flex w-full items-center justify-between space-x-2 overflow-hidden rounded-md border p-4 pr-6 shadow-lg transition-all data-[swipe=cancel]:translate-x-0 data-[swipe=end]:translate-x-[var(--radix-toast-swipe-end-x)] data-[swipe=move]:translate-x-[var(--radix-toast-swipe-move-x)] data-[swipe=move]:transition-none data-[state=open]:animate-in data-[state=closed]:animate-out data-[swipe=end]:animate-out data-[state=closed]:fade-out-80 data-[state=closed]:slide-out-to-right-full data-[state=open]:slide-in-from-top-full data-[state=open]:sm:slide-in-from-bottom-full",{variants:{variant:{default:"border bg-background text-foreground",destructive:"destructive group border-destructive bg-destructive text-destructive-foreground"}},defaultVariants:{variant:"default"}}),u=n.forwardRef(({className:t,variant:e,...o},a)=>jsx(s.Root,{ref:a,className:i(W({variant:e}),t),...o}));u.displayName=s.Root.displayName;var O=n.forwardRef(({className:t,...e},o)=>jsx(s.Action,{ref:o,className:i("inline-flex h-8 shrink-0 items-center justify-center rounded-md border bg-transparent px-3 text-sm font-medium transition-colors hover:bg-secondary focus:outline-none focus:ring-1 focus:ring-ring disabled:pointer-events-none disabled:opacity-50 group-[.destructive]:border-muted/40 group-[.destructive]:hover:border-destructive/30 group-[.destructive]:hover:bg-destructive group-[.destructive]:hover:text-destructive-foreground group-[.destructive]:focus:ring-destructive",t),...e}));O.displayName=s.Action.displayName;var l=n.forwardRef(({className:t,...e},o)=>jsx(s.Close,{ref:o,className:i("absolute right-1 top-1 rounded-md p-1 text-foreground/50 opacity-0 transition-opacity hover:text-foreground focus:opacity-100 focus:outline-none focus:ring-1 group-hover:opacity-100 group-[.destructive]:text-red-300 group-[.destructive]:hover:text-red-50 group-[.destructive]:focus:ring-red-400 group-[.destructive]:focus:ring-offset-red-600",t),"toast-close":"","aria-label":"Close toast",...e,children:jsx(X,{className:"h-4 w-4"})}));l.displayName=s.Close.displayName;var v=n.forwardRef(({className:t,...e},o)=>jsx(s.Title,{ref:o,className:i("text-sm font-semibold [&+div]:text-xs",t),...e}));v.displayName=s.Title.displayName;var y=n.forwardRef(({className:t,...e},o)=>jsx(s.Description,{ref:o,className:i("text-sm opacity-90",t),...e}));y.displayName=s.Description.displayName;function U(){let{toasts:t}=E();return jsxs(S,{children:[t.map(function({id:e,title:o,description:a,action:p,...h}){return jsxs(u,{...h,children:[jsxs("div",{className:"grid gap-1",children:[o&&jsx(v,{children:o}),a&&jsx(y,{children:a})]}),p,jsx(l,{})]},e)}),jsx(f,{})]})}export{U as Toaster};//# sourceMappingURL=index.mjs.map
1
+ import*as m from"react";var w=1,D=1e6;var A=0;function _(){return A=(A+1)%Number.MAX_SAFE_INTEGER,A.toString()}var P=new Map,x=t=>{if(P.has(t))return;let e=setTimeout(()=>{P.delete(t),c({type:"REMOVE_TOAST",toastId:t})},D);P.set(t,e)},N=(t,e)=>{switch(e.type){case"ADD_TOAST":return{...t,toasts:[e.toast,...t.toasts].slice(0,w)};case"UPDATE_TOAST":return{...t,toasts:t.toasts.map(o=>o.id===e.toast.id?{...o,...e.toast}:o)};case"DISMISS_TOAST":{let{toastId:o}=e;return o?x(o):t.toasts.forEach(a=>{x(a.id)}),{...t,toasts:t.toasts.map(a=>a.id===o||o===void 0?{...a,open:!1}:a)}}case"REMOVE_TOAST":return e.toastId===void 0?{...t,toasts:[]}:{...t,toasts:t.toasts.filter(o=>o.id!==e.toastId)}}},T=[],d={toasts:[]};function c(t){d=N(d,t),T.forEach(e=>{e(d)})}function b({...t}){let e=_(),o=p=>c({type:"UPDATE_TOAST",toast:{...p,id:e}}),a=()=>c({type:"DISMISS_TOAST",toastId:e});return c({type:"ADD_TOAST",toast:{...t,id:e,open:!0,onOpenChange:p=>{p||a()}}}),{id:e,dismiss:a,update:o}}function E(){let[t,e]=m.useState(d);return m.useEffect(()=>(T.push(e),()=>{let o=T.indexOf(e);o>-1&&T.splice(o,1)}),[t]),{...t,toast:b,dismiss:o=>c({type:"DISMISS_TOAST",toastId:o})}}import*as n from"react";import*as s from"@radix-ui/react-toast";import{cva as C}from"class-variance-authority";import{X as M}from"lucide-react";import{clsx as I}from"clsx";import{twMerge as V}from"tailwind-merge";function i(...t){return V(I(t))}import{jsx as r}from"react/jsx-runtime";var S=s.Provider,f=n.forwardRef(({className:t,...e},o)=>r(s.Viewport,{ref:o,className:i("fixed top-0 z-[100] flex max-h-screen w-full flex-col-reverse p-4 sm:bottom-0 sm:right-0 sm:top-auto sm:flex-col md:max-w-[420px]",t),...e}));f.displayName=s.Viewport.displayName;var W=C("group pointer-events-auto relative flex w-full items-center justify-between space-x-2 overflow-hidden rounded-md border p-4 pr-6 shadow-lg transition-all data-[swipe=cancel]:translate-x-0 data-[swipe=end]:translate-x-[var(--radix-toast-swipe-end-x)] data-[swipe=move]:translate-x-[var(--radix-toast-swipe-move-x)] data-[swipe=move]:transition-none data-[state=open]:animate-in data-[state=closed]:animate-out data-[swipe=end]:animate-out data-[state=closed]:fade-out-80 data-[state=closed]:slide-out-to-right-full data-[state=open]:slide-in-from-top-full data-[state=open]:sm:slide-in-from-bottom-full",{variants:{variant:{default:"border bg-background text-foreground",destructive:"destructive group border-destructive bg-destructive text-destructive-foreground"}},defaultVariants:{variant:"default"}}),u=n.forwardRef(({className:t,variant:e,...o},a)=>r(s.Root,{ref:a,className:i(W({variant:e}),t),...o}));u.displayName=s.Root.displayName;var O=n.forwardRef(({className:t,...e},o)=>r(s.Action,{ref:o,className:i("inline-flex h-8 shrink-0 items-center justify-center rounded-md border bg-transparent px-3 text-sm font-medium transition-colors hover:bg-secondary focus:outline-none focus:ring-1 focus:ring-ring disabled:pointer-events-none disabled:opacity-50 group-[.destructive]:border-muted/40 group-[.destructive]:hover:border-destructive/30 group-[.destructive]:hover:bg-destructive group-[.destructive]:hover:text-destructive-foreground group-[.destructive]:focus:ring-destructive",t),...e}));O.displayName=s.Action.displayName;var l=n.forwardRef(({className:t,...e},o)=>r(s.Close,{ref:o,className:i("absolute right-1 top-1 rounded-md p-1 text-foreground/50 opacity-0 transition-opacity hover:text-foreground focus:opacity-100 focus:outline-none focus:ring-1 group-hover:opacity-100 group-[.destructive]:text-red-300 group-[.destructive]:hover:text-red-50 group-[.destructive]:focus:ring-red-400 group-[.destructive]:focus:ring-offset-red-600",t),"toast-close":"","aria-label":"Close toast",...e,children:r(M,{className:"h-4 w-4"})}));l.displayName=s.Close.displayName;var v=n.forwardRef(({className:t,...e},o)=>r(s.Title,{ref:o,className:i("text-sm font-semibold [&+div]:text-xs",t),...e}));v.displayName=s.Title.displayName;var y=n.forwardRef(({className:t,...e},o)=>r(s.Description,{ref:o,className:i("text-sm opacity-90",t),...e}));y.displayName=s.Description.displayName;import{jsx as R,jsxs as g}from"react/jsx-runtime";function U(){let{toasts:t}=E();return g(S,{children:[t.map(function({id:e,title:o,description:a,action:p,...h}){return g(u,{...h,children:[g("div",{className:"grid gap-1",children:[o&&R(v,{children:o}),a&&R(y,{children:a})]}),p,R(l,{})]},e)}),R(f,{})]})}export{U as Toaster};
2
2
  //# sourceMappingURL=index.mjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/hooks/use-toast.ts","../../src/utils/cn.ts","../../src/components/atoms/toast/toast.tsx","../../src/components/atoms/toaster/toaster.tsx"],"names":["TOAST_LIMIT","TOAST_REMOVE_DELAY","count","genId","toastTimeouts","addToRemoveQueue","toastId","timeout","dispatch","reducer","state","action","t","toast","listeners","memoryState","listener","props","id","update","dismiss","open","useToast","setState","m","index","cn","inputs","twMerge","clsx","ToastProvider","ToastViewport","className","ref","jsx","toastVariants","cva","Toast","variant","ToastAction","ToastClose","X","ToastTitle","ToastDescription","Toaster","toasts","jsxs","title","description"],"mappings":"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","file":"index.mjs","sourcesContent":["\"use client\"\n\n// Inspired by react-hot-toast library\nimport * as React from \"react\"\n\nimport type { ToastActionElement, ToastProps } from \"@/components/atoms/toast\"\n\nconst TOAST_LIMIT = 1\nconst TOAST_REMOVE_DELAY = 1000000\n\ntype ToasterToast = ToastProps & {\n id: string\n title?: React.ReactNode\n description?: React.ReactNode\n action?: ToastActionElement\n}\n\nconst actionTypes = {\n ADD_TOAST: \"ADD_TOAST\",\n UPDATE_TOAST: \"UPDATE_TOAST\",\n DISMISS_TOAST: \"DISMISS_TOAST\",\n REMOVE_TOAST: \"REMOVE_TOAST\"\n} as const\n\nlet count = 0\n\nfunction genId() {\n count = (count + 1) % Number.MAX_SAFE_INTEGER\n return count.toString()\n}\n\ntype ActionType = typeof actionTypes\n\ntype Action =\n | {\n type: ActionType[\"ADD_TOAST\"]\n toast: ToasterToast\n }\n | {\n type: ActionType[\"UPDATE_TOAST\"]\n toast: Partial<ToasterToast>\n }\n | {\n type: ActionType[\"DISMISS_TOAST\"]\n toastId?: ToasterToast[\"id\"]\n }\n | {\n type: ActionType[\"REMOVE_TOAST\"]\n toastId?: ToasterToast[\"id\"]\n }\n\ninterface State {\n toasts: ToasterToast[]\n}\n\nconst toastTimeouts = new Map<string, ReturnType<typeof setTimeout>>()\n\nconst addToRemoveQueue = (toastId: string) => {\n if (toastTimeouts.has(toastId)) {\n return\n }\n\n const timeout = setTimeout(() => {\n toastTimeouts.delete(toastId)\n dispatch({\n type: \"REMOVE_TOAST\",\n toastId: toastId\n })\n }, TOAST_REMOVE_DELAY)\n\n toastTimeouts.set(toastId, timeout)\n}\n\nexport const reducer = (state: State, action: Action): State => {\n switch (action.type) {\n case \"ADD_TOAST\":\n return {\n ...state,\n toasts: [action.toast, ...state.toasts].slice(0, TOAST_LIMIT)\n }\n\n case \"UPDATE_TOAST\":\n return {\n ...state,\n toasts: state.toasts.map((t) => (t.id === action.toast.id ? { ...t, ...action.toast } : t))\n }\n\n case \"DISMISS_TOAST\": {\n const { toastId } = action\n\n // ! Side effects ! - This could be extracted into a dismissToast() action,\n // but I'll keep it here for simplicity\n if (toastId) {\n addToRemoveQueue(toastId)\n } else {\n state.toasts.forEach((toast) => {\n addToRemoveQueue(toast.id)\n })\n }\n\n return {\n ...state,\n toasts: state.toasts.map((t) =>\n t.id === toastId || toastId === undefined\n ? {\n ...t,\n open: false\n }\n : t\n )\n }\n }\n case \"REMOVE_TOAST\":\n if (action.toastId === undefined) {\n return {\n ...state,\n toasts: []\n }\n }\n return {\n ...state,\n toasts: state.toasts.filter((t) => t.id !== action.toastId)\n }\n }\n}\n\nconst listeners: Array<(state: State) => void> = []\n\nlet memoryState: State = { toasts: [] }\n\nfunction dispatch(action: Action) {\n memoryState = reducer(memoryState, action)\n listeners.forEach((listener) => {\n listener(memoryState)\n })\n}\n\ntype Toast = Omit<ToasterToast, \"id\">\n\nfunction toast({ ...props }: Toast) {\n const id = genId()\n\n const update = (props: ToasterToast) =>\n dispatch({\n type: \"UPDATE_TOAST\",\n toast: { ...props, id }\n })\n const dismiss = () => dispatch({ type: \"DISMISS_TOAST\", toastId: id })\n\n dispatch({\n type: \"ADD_TOAST\",\n toast: {\n ...props,\n id,\n open: true,\n onOpenChange: (open) => {\n if (!open) dismiss()\n }\n }\n })\n\n return {\n id: id,\n dismiss,\n update\n }\n}\n\nfunction useToast() {\n const [state, setState] = React.useState<State>(memoryState)\n\n React.useEffect(() => {\n listeners.push(setState)\n return () => {\n const index = listeners.indexOf(setState)\n if (index > -1) {\n listeners.splice(index, 1)\n }\n }\n }, [state])\n\n return {\n ...state,\n toast,\n dismiss: (toastId?: string) => dispatch({ type: \"DISMISS_TOAST\", toastId })\n }\n}\n\nexport { useToast, toast }\n","import { type ClassValue, clsx } from \"clsx\"\nimport { twMerge } from \"tailwind-merge\"\n\nexport function cn(...inputs: ClassValue[]) {\n return twMerge(clsx(inputs))\n}\n","/**\n * Toast component for displaying temporary notifications.\n * Built on top of Radix UI's Toast primitive.\n *\n * @url https://sergii-melnykov.github.io/ui/?path=/docs/atoms-toast--docs\n *\n * @example\n * ```tsx\n * <ToastProvider>\n * <Toast>\n * <ToastTitle>Title</ToastTitle>\n * <ToastDescription>Description</ToastDescription>\n * <ToastAction>Action</ToastAction>\n * <ToastClose />\n * </Toast>\n * <ToastViewport />\n * </ToastProvider>\n * ```\n */\n\nimport * as React from \"react\"\n// eslint-disable-next-line import/no-extraneous-dependencies\nimport * as ToastPrimitives from \"@radix-ui/react-toast\"\nimport { cva, type VariantProps } from \"class-variance-authority\"\nimport { X } from \"lucide-react\"\n\nimport { cn } from \"@/utils/index\"\n\nconst ToastProvider = ToastPrimitives.Provider\n\nconst ToastViewport = React.forwardRef<\n React.ElementRef<typeof ToastPrimitives.Viewport>,\n React.ComponentPropsWithoutRef<typeof ToastPrimitives.Viewport>\n>(({ className, ...props }, ref) => (\n <ToastPrimitives.Viewport\n ref={ref}\n className={cn(\n \"fixed top-0 z-[100] flex max-h-screen w-full flex-col-reverse p-4 sm:bottom-0 sm:right-0 sm:top-auto sm:flex-col md:max-w-[420px]\",\n className\n )}\n {...props}\n />\n))\nToastViewport.displayName = ToastPrimitives.Viewport.displayName\n\nconst toastVariants = cva(\n \"group pointer-events-auto relative flex w-full items-center justify-between space-x-2 overflow-hidden rounded-md border p-4 pr-6 shadow-lg transition-all data-[swipe=cancel]:translate-x-0 data-[swipe=end]:translate-x-[var(--radix-toast-swipe-end-x)] data-[swipe=move]:translate-x-[var(--radix-toast-swipe-move-x)] data-[swipe=move]:transition-none data-[state=open]:animate-in data-[state=closed]:animate-out data-[swipe=end]:animate-out data-[state=closed]:fade-out-80 data-[state=closed]:slide-out-to-right-full data-[state=open]:slide-in-from-top-full data-[state=open]:sm:slide-in-from-bottom-full\",\n {\n variants: {\n variant: {\n default: \"border bg-background text-foreground\",\n destructive:\n \"destructive group border-destructive bg-destructive text-destructive-foreground\"\n }\n },\n defaultVariants: {\n variant: \"default\"\n }\n }\n)\n\nconst Toast = React.forwardRef<\n React.ElementRef<typeof ToastPrimitives.Root>,\n React.ComponentPropsWithoutRef<typeof ToastPrimitives.Root> & VariantProps<typeof toastVariants>\n>(({ className, variant, ...props }, ref) => {\n return (\n <ToastPrimitives.Root\n ref={ref}\n className={cn(toastVariants({ variant }), className)}\n {...props}\n />\n )\n})\nToast.displayName = ToastPrimitives.Root.displayName\n\nconst ToastAction = React.forwardRef<\n React.ElementRef<typeof ToastPrimitives.Action>,\n React.ComponentPropsWithoutRef<typeof ToastPrimitives.Action>\n>(({ className, ...props }, ref) => (\n <ToastPrimitives.Action\n ref={ref}\n className={cn(\n \"inline-flex h-8 shrink-0 items-center justify-center rounded-md border bg-transparent px-3 text-sm font-medium transition-colors hover:bg-secondary focus:outline-none focus:ring-1 focus:ring-ring disabled:pointer-events-none disabled:opacity-50 group-[.destructive]:border-muted/40 group-[.destructive]:hover:border-destructive/30 group-[.destructive]:hover:bg-destructive group-[.destructive]:hover:text-destructive-foreground group-[.destructive]:focus:ring-destructive\",\n className\n )}\n {...props}\n />\n))\nToastAction.displayName = ToastPrimitives.Action.displayName\n\nconst ToastClose = React.forwardRef<\n React.ElementRef<typeof ToastPrimitives.Close>,\n React.ComponentPropsWithoutRef<typeof ToastPrimitives.Close>\n>(({ className, ...props }, ref) => (\n <ToastPrimitives.Close\n ref={ref}\n className={cn(\n \"absolute right-1 top-1 rounded-md p-1 text-foreground/50 opacity-0 transition-opacity hover:text-foreground focus:opacity-100 focus:outline-none focus:ring-1 group-hover:opacity-100 group-[.destructive]:text-red-300 group-[.destructive]:hover:text-red-50 group-[.destructive]:focus:ring-red-400 group-[.destructive]:focus:ring-offset-red-600\",\n className\n )}\n toast-close=\"\"\n aria-label=\"Close toast\"\n {...props}\n >\n <X className=\"h-4 w-4\" />\n </ToastPrimitives.Close>\n))\nToastClose.displayName = ToastPrimitives.Close.displayName\n\nconst ToastTitle = React.forwardRef<\n React.ElementRef<typeof ToastPrimitives.Title>,\n React.ComponentPropsWithoutRef<typeof ToastPrimitives.Title>\n>(({ className, ...props }, ref) => (\n <ToastPrimitives.Title\n ref={ref}\n className={cn(\"text-sm font-semibold [&+div]:text-xs\", className)}\n {...props}\n />\n))\nToastTitle.displayName = ToastPrimitives.Title.displayName\n\nconst ToastDescription = React.forwardRef<\n React.ElementRef<typeof ToastPrimitives.Description>,\n React.ComponentPropsWithoutRef<typeof ToastPrimitives.Description>\n>(({ className, ...props }, ref) => (\n <ToastPrimitives.Description\n ref={ref}\n className={cn(\"text-sm opacity-90\", className)}\n {...props}\n />\n))\nToastDescription.displayName = ToastPrimitives.Description.displayName\n\ntype ToastProps = React.ComponentPropsWithoutRef<typeof Toast>\n\ntype ToastActionElement = React.ReactElement<typeof ToastAction>\n\nexport {\n type ToastProps,\n type ToastActionElement,\n ToastProvider,\n ToastViewport,\n Toast,\n ToastTitle,\n ToastDescription,\n ToastClose,\n ToastAction\n}\n","/**\n * Toaster component for managing and displaying toast notifications.\n * Built on top of the Toast primitive components.\n *\n * @url https://sergii-melnykov.github.io/ui/?path=/docs/atoms-toaster--docs\n *\n * @example\n * ```tsx\n * // Add Toaster to your app's root layout\n * <Toaster />\n *\n * // Use the toast hook to show notifications\n * const { toast } = useToast()\n *\n * toast({\n * title: \"Success\",\n * description: \"Your changes have been saved.\",\n * action: <ToastAction altText=\"Undo\">Undo</ToastAction>\n * })\n * ```\n */\n\nimport { useToast } from \"@/hooks/use-toast\"\nimport {\n Toast,\n ToastClose,\n ToastDescription,\n ToastProvider,\n ToastTitle,\n ToastViewport\n} from \"@/components/atoms/toast\"\n\nexport function Toaster() {\n const { toasts } = useToast()\n\n return (\n <ToastProvider>\n {toasts.map(function ({ id, title, description, action, ...props }) {\n return (\n <Toast key={id} {...props}>\n <div className=\"grid gap-1\">\n {title && <ToastTitle>{title}</ToastTitle>}\n {description && <ToastDescription>{description}</ToastDescription>}\n </div>\n {action}\n <ToastClose />\n </Toast>\n )\n })}\n <ToastViewport />\n </ToastProvider>\n )\n}\n"]}
1
+ {"version":3,"sources":["../../src/hooks/use-toast.ts","../../src/components/atoms/toast/toast.tsx","../../src/utils/cn.ts","../../src/components/atoms/toaster/toaster.tsx"],"sourcesContent":["\"use client\";\n\"use client\"\n\n// Inspired by react-hot-toast library\nimport * as React from \"react\"\n\nimport type { ToastActionElement, ToastProps } from \"@/components/atoms/toast\"\n\nconst TOAST_LIMIT = 1\nconst TOAST_REMOVE_DELAY = 1000000\n\ntype ToasterToast = ToastProps & {\n id: string\n title?: React.ReactNode\n description?: React.ReactNode\n action?: ToastActionElement\n}\n\nconst actionTypes = {\n ADD_TOAST: \"ADD_TOAST\",\n UPDATE_TOAST: \"UPDATE_TOAST\",\n DISMISS_TOAST: \"DISMISS_TOAST\",\n REMOVE_TOAST: \"REMOVE_TOAST\"\n} as const\n\nlet count = 0\n\nfunction genId() {\n count = (count + 1) % Number.MAX_SAFE_INTEGER\n return count.toString()\n}\n\ntype ActionType = typeof actionTypes\n\ntype Action =\n | {\n type: ActionType[\"ADD_TOAST\"]\n toast: ToasterToast\n }\n | {\n type: ActionType[\"UPDATE_TOAST\"]\n toast: Partial<ToasterToast>\n }\n | {\n type: ActionType[\"DISMISS_TOAST\"]\n toastId?: ToasterToast[\"id\"]\n }\n | {\n type: ActionType[\"REMOVE_TOAST\"]\n toastId?: ToasterToast[\"id\"]\n }\n\ninterface State {\n toasts: ToasterToast[]\n}\n\nconst toastTimeouts = new Map<string, ReturnType<typeof setTimeout>>()\n\nconst addToRemoveQueue = (toastId: string) => {\n if (toastTimeouts.has(toastId)) {\n return\n }\n\n const timeout = setTimeout(() => {\n toastTimeouts.delete(toastId)\n dispatch({\n type: \"REMOVE_TOAST\",\n toastId: toastId\n })\n }, TOAST_REMOVE_DELAY)\n\n toastTimeouts.set(toastId, timeout)\n}\n\nexport const reducer = (state: State, action: Action): State => {\n switch (action.type) {\n case \"ADD_TOAST\":\n return {\n ...state,\n toasts: [action.toast, ...state.toasts].slice(0, TOAST_LIMIT)\n }\n\n case \"UPDATE_TOAST\":\n return {\n ...state,\n toasts: state.toasts.map((t) => (t.id === action.toast.id ? { ...t, ...action.toast } : t))\n }\n\n case \"DISMISS_TOAST\": {\n const { toastId } = action\n\n // ! Side effects ! - This could be extracted into a dismissToast() action,\n // but I'll keep it here for simplicity\n if (toastId) {\n addToRemoveQueue(toastId)\n } else {\n state.toasts.forEach((toast) => {\n addToRemoveQueue(toast.id)\n })\n }\n\n return {\n ...state,\n toasts: state.toasts.map((t) =>\n t.id === toastId || toastId === undefined\n ? {\n ...t,\n open: false\n }\n : t\n )\n }\n }\n case \"REMOVE_TOAST\":\n if (action.toastId === undefined) {\n return {\n ...state,\n toasts: []\n }\n }\n return {\n ...state,\n toasts: state.toasts.filter((t) => t.id !== action.toastId)\n }\n }\n}\n\nconst listeners: Array<(state: State) => void> = []\n\nlet memoryState: State = { toasts: [] }\n\nfunction dispatch(action: Action) {\n memoryState = reducer(memoryState, action)\n listeners.forEach((listener) => {\n listener(memoryState)\n })\n}\n\ntype Toast = Omit<ToasterToast, \"id\">\n\nfunction toast({ ...props }: Toast) {\n const id = genId()\n\n const update = (props: ToasterToast) =>\n dispatch({\n type: \"UPDATE_TOAST\",\n toast: { ...props, id }\n })\n const dismiss = () => dispatch({ type: \"DISMISS_TOAST\", toastId: id })\n\n dispatch({\n type: \"ADD_TOAST\",\n toast: {\n ...props,\n id,\n open: true,\n onOpenChange: (open) => {\n if (!open) dismiss()\n }\n }\n })\n\n return {\n id: id,\n dismiss,\n update\n }\n}\n\nfunction useToast() {\n const [state, setState] = React.useState<State>(memoryState)\n\n React.useEffect(() => {\n listeners.push(setState)\n return () => {\n const index = listeners.indexOf(setState)\n if (index > -1) {\n listeners.splice(index, 1)\n }\n }\n }, [state])\n\n return {\n ...state,\n toast,\n dismiss: (toastId?: string) => dispatch({ type: \"DISMISS_TOAST\", toastId })\n }\n}\n\nexport { useToast, toast }\n","/**\n * Toast component for displaying temporary notifications.\n * Built on top of Radix UI's Toast primitive.\n *\n * @url https://sergii-melnykov.github.io/ui/?path=/docs/atoms-toast--docs\n *\n * @example\n * ```tsx\n * <ToastProvider>\n * <Toast>\n * <ToastTitle>Title</ToastTitle>\n * <ToastDescription>Description</ToastDescription>\n * <ToastAction>Action</ToastAction>\n * <ToastClose />\n * </Toast>\n * <ToastViewport />\n * </ToastProvider>\n * ```\n */\n\nimport * as React from \"react\"\n// eslint-disable-next-line import/no-extraneous-dependencies\nimport * as ToastPrimitives from \"@radix-ui/react-toast\"\nimport { cva, type VariantProps } from \"class-variance-authority\"\nimport { X } from \"lucide-react\"\n\nimport { cn } from \"@/utils/index\"\n\nconst ToastProvider = ToastPrimitives.Provider\n\nconst ToastViewport = React.forwardRef<\n React.ElementRef<typeof ToastPrimitives.Viewport>,\n React.ComponentPropsWithoutRef<typeof ToastPrimitives.Viewport>\n>(({ className, ...props }, ref) => (\n <ToastPrimitives.Viewport\n ref={ref}\n className={cn(\n \"fixed top-0 z-[100] flex max-h-screen w-full flex-col-reverse p-4 sm:bottom-0 sm:right-0 sm:top-auto sm:flex-col md:max-w-[420px]\",\n className\n )}\n {...props}\n />\n))\nToastViewport.displayName = ToastPrimitives.Viewport.displayName\n\nconst toastVariants = cva(\n \"group pointer-events-auto relative flex w-full items-center justify-between space-x-2 overflow-hidden rounded-md border p-4 pr-6 shadow-lg transition-all data-[swipe=cancel]:translate-x-0 data-[swipe=end]:translate-x-[var(--radix-toast-swipe-end-x)] data-[swipe=move]:translate-x-[var(--radix-toast-swipe-move-x)] data-[swipe=move]:transition-none data-[state=open]:animate-in data-[state=closed]:animate-out data-[swipe=end]:animate-out data-[state=closed]:fade-out-80 data-[state=closed]:slide-out-to-right-full data-[state=open]:slide-in-from-top-full data-[state=open]:sm:slide-in-from-bottom-full\",\n {\n variants: {\n variant: {\n default: \"border bg-background text-foreground\",\n destructive:\n \"destructive group border-destructive bg-destructive text-destructive-foreground\"\n }\n },\n defaultVariants: {\n variant: \"default\"\n }\n }\n)\n\nconst Toast = React.forwardRef<\n React.ElementRef<typeof ToastPrimitives.Root>,\n React.ComponentPropsWithoutRef<typeof ToastPrimitives.Root> & VariantProps<typeof toastVariants>\n>(({ className, variant, ...props }, ref) => {\n return (\n <ToastPrimitives.Root\n ref={ref}\n className={cn(toastVariants({ variant }), className)}\n {...props}\n />\n )\n})\nToast.displayName = ToastPrimitives.Root.displayName\n\nconst ToastAction = React.forwardRef<\n React.ElementRef<typeof ToastPrimitives.Action>,\n React.ComponentPropsWithoutRef<typeof ToastPrimitives.Action>\n>(({ className, ...props }, ref) => (\n <ToastPrimitives.Action\n ref={ref}\n className={cn(\n \"inline-flex h-8 shrink-0 items-center justify-center rounded-md border bg-transparent px-3 text-sm font-medium transition-colors hover:bg-secondary focus:outline-none focus:ring-1 focus:ring-ring disabled:pointer-events-none disabled:opacity-50 group-[.destructive]:border-muted/40 group-[.destructive]:hover:border-destructive/30 group-[.destructive]:hover:bg-destructive group-[.destructive]:hover:text-destructive-foreground group-[.destructive]:focus:ring-destructive\",\n className\n )}\n {...props}\n />\n))\nToastAction.displayName = ToastPrimitives.Action.displayName\n\nconst ToastClose = React.forwardRef<\n React.ElementRef<typeof ToastPrimitives.Close>,\n React.ComponentPropsWithoutRef<typeof ToastPrimitives.Close>\n>(({ className, ...props }, ref) => (\n <ToastPrimitives.Close\n ref={ref}\n className={cn(\n \"absolute right-1 top-1 rounded-md p-1 text-foreground/50 opacity-0 transition-opacity hover:text-foreground focus:opacity-100 focus:outline-none focus:ring-1 group-hover:opacity-100 group-[.destructive]:text-red-300 group-[.destructive]:hover:text-red-50 group-[.destructive]:focus:ring-red-400 group-[.destructive]:focus:ring-offset-red-600\",\n className\n )}\n toast-close=\"\"\n aria-label=\"Close toast\"\n {...props}\n >\n <X className=\"h-4 w-4\" />\n </ToastPrimitives.Close>\n))\nToastClose.displayName = ToastPrimitives.Close.displayName\n\nconst ToastTitle = React.forwardRef<\n React.ElementRef<typeof ToastPrimitives.Title>,\n React.ComponentPropsWithoutRef<typeof ToastPrimitives.Title>\n>(({ className, ...props }, ref) => (\n <ToastPrimitives.Title\n ref={ref}\n className={cn(\"text-sm font-semibold [&+div]:text-xs\", className)}\n {...props}\n />\n))\nToastTitle.displayName = ToastPrimitives.Title.displayName\n\nconst ToastDescription = React.forwardRef<\n React.ElementRef<typeof ToastPrimitives.Description>,\n React.ComponentPropsWithoutRef<typeof ToastPrimitives.Description>\n>(({ className, ...props }, ref) => (\n <ToastPrimitives.Description\n ref={ref}\n className={cn(\"text-sm opacity-90\", className)}\n {...props}\n />\n))\nToastDescription.displayName = ToastPrimitives.Description.displayName\n\ntype ToastProps = React.ComponentPropsWithoutRef<typeof Toast>\n\ntype ToastActionElement = React.ReactElement<typeof ToastAction>\n\nexport {\n type ToastProps,\n type ToastActionElement,\n ToastProvider,\n ToastViewport,\n Toast,\n ToastTitle,\n ToastDescription,\n ToastClose,\n ToastAction\n}\n","import { type ClassValue, clsx } from \"clsx\"\nimport { twMerge } from \"tailwind-merge\"\n\nexport function cn(...inputs: ClassValue[]) {\n return twMerge(clsx(inputs))\n}\n","/**\n * Toaster component for managing and displaying toast notifications.\n * Built on top of the Toast primitive components.\n *\n * @url https://sergii-melnykov.github.io/ui/?path=/docs/atoms-toaster--docs\n *\n * @example\n * ```tsx\n * // Add Toaster to your app's root layout\n * <Toaster />\n *\n * // Use the toast hook to show notifications\n * const { toast } = useToast()\n *\n * toast({\n * title: \"Success\",\n * description: \"Your changes have been saved.\",\n * action: <ToastAction altText=\"Undo\">Undo</ToastAction>\n * })\n * ```\n */\n\nimport { useToast } from \"@/hooks/use-toast\"\nimport {\n Toast,\n ToastClose,\n ToastDescription,\n ToastProvider,\n ToastTitle,\n ToastViewport\n} from \"@/components/atoms/toast\"\n\nexport function Toaster() {\n const { toasts } = useToast()\n\n return (\n <ToastProvider>\n {toasts.map(function ({ id, title, description, action, ...props }) {\n return (\n <Toast key={id} {...props}>\n <div className=\"grid gap-1\">\n {title && <ToastTitle>{title}</ToastTitle>}\n {description && <ToastDescription>{description}</ToastDescription>}\n </div>\n {action}\n <ToastClose />\n </Toast>\n )\n })}\n <ToastViewport />\n </ToastProvider>\n )\n}\n"],"mappings":"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","names":["React","TOAST_LIMIT","TOAST_REMOVE_DELAY","count","genId","toastTimeouts","addToRemoveQueue","toastId","timeout","dispatch","TOAST_REMOVE_DELAY","reducer","state","action","TOAST_LIMIT","t","toast","listeners","memoryState","listener","props","id","update","dismiss","open","useToast","setState","index","React","ToastPrimitives","cva","X","clsx","twMerge","cn","inputs","jsx","ToastProvider","ToastViewport","className","props","ref","cn","toastVariants","cva","Toast","variant","ToastAction","ToastClose","X","ToastTitle","ToastDescription","jsx","jsxs","Toaster","toasts","useToast","ToastProvider","id","title","description","action","props","Toast","ToastTitle","ToastDescription","ToastClose","ToastViewport"]}
@@ -1,2 +1,2 @@
1
- import*as r from'react';import*as t from'@radix-ui/react-tooltip';import {clsx}from'clsx';import {twMerge}from'tailwind-merge';import {jsx}from'react/jsx-runtime';function i(...o){return twMerge(clsx(o))}var g=t.Provider,u=t.Root,x=t.Trigger,d=r.forwardRef(({className:o,sideOffset:a=4,...m},n)=>jsx(t.Portal,{children:jsx(t.Content,{ref:n,sideOffset:a,className:i("z-50 overflow-hidden rounded-md bg-primary px-3 py-1.5 text-xs text-primary-foreground animate-in fade-in-0 zoom-in-95 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 origin-[--radix-tooltip-content-transform-origin]",o),...m})}));d.displayName=t.Content.displayName;export{u as Tooltip,d as TooltipContent,g as TooltipProvider,x as TooltipTrigger};//# sourceMappingURL=index.mjs.map
1
+ import*as r from"react";import*as t from"@radix-ui/react-tooltip";import{clsx as p}from"clsx";import{twMerge as l}from"tailwind-merge";function i(...o){return l(p(o))}import{jsx as e}from"react/jsx-runtime";var g=t.Provider,u=t.Root,x=t.Trigger,d=r.forwardRef(({className:o,sideOffset:a=4,...m},n)=>e(t.Portal,{children:e(t.Content,{ref:n,sideOffset:a,className:i("z-50 overflow-hidden rounded-md bg-primary px-3 py-1.5 text-xs text-primary-foreground animate-in fade-in-0 zoom-in-95 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 origin-[--radix-tooltip-content-transform-origin]",o),...m})}));d.displayName=t.Content.displayName;export{u as Tooltip,d as TooltipContent,g as TooltipProvider,x as TooltipTrigger};
2
2
  //# sourceMappingURL=index.mjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/utils/cn.ts","../../src/components/atoms/tooltip/tooltip.tsx"],"names":["cn","inputs","twMerge","clsx","TooltipProvider","Tooltip","TooltipTrigger","TooltipContent","className","sideOffset","props","ref","jsx"],"mappings":"mKAGO,SAASA,CAAMC,CAAAA,GAAAA,CAAAA,CAAsB,CAC1C,OAAOC,OAAQC,CAAAA,IAAAA,CAAKF,CAAM,CAAC,CAC7B,KCgBMG,CAAmC,CAAA,CAAA,CAAA,QAAA,CAEnCC,CAA2B,CAAA,CAAA,CAAA,IAAA,CAE3BC,EAAkC,CAElCC,CAAAA,OAAAA,CAAAA,CAAAA,CAAuB,CAG3B,CAAA,UAAA,CAAA,CAAC,CAAE,SAAA,CAAAC,CAAW,CAAA,UAAA,CAAAC,EAAa,CAAG,CAAA,GAAGC,CAAM,CAAA,CAAGC,CAC1CC,GAAAA,GAAAA,CAAkB,CAAjB,CAAA,MAAA,CAAA,CACC,SAAAA,GAAkB,CAAA,CAAA,CAAA,OAAA,CAAjB,CACC,GAAA,CAAKD,CACL,CAAA,UAAA,CAAYF,CACZ,CAAA,SAAA,CAAWT,EACT,qaACAQ,CAAAA,CACF,CACC,CAAA,GAAGE,EACN,CACF,CAAA,CACD,EACDH,CAAAA,CAAe,YAA+B,CAAQ,CAAA,OAAA,CAAA,WAAA","file":"index.mjs","sourcesContent":["import { type ClassValue, clsx } from \"clsx\"\nimport { twMerge } from \"tailwind-merge\"\n\nexport function cn(...inputs: ClassValue[]) {\n return twMerge(clsx(inputs))\n}\n","import * as React from \"react\"\nimport * as TooltipPrimitive from \"@radix-ui/react-tooltip\"\n\nimport { cn } from \"@/utils/index\"\n\n/**\n * TooltipProvider component for creating accessible tooltips.\n * Built on top of Radix UI's Tooltip primitive.\n *\n * @url https://sergii-melnykov.github.io/ui/?path=/docs/atoms-tooltip--docs\n *\n * @example\n * ```tsx\n * <TooltipProvider>\n * <Tooltip>\n * <TooltipTrigger>Hover me</TooltipTrigger>\n * <TooltipContent>Tooltip content</TooltipContent>\n * </Tooltip>\n * </TooltipProvider>\n * ```\n */\nconst TooltipProvider = TooltipPrimitive.Provider\n\nconst Tooltip = TooltipPrimitive.Root\n\nconst TooltipTrigger = TooltipPrimitive.Trigger\n\nconst TooltipContent = React.forwardRef<\n React.ElementRef<typeof TooltipPrimitive.Content>,\n React.ComponentPropsWithoutRef<typeof TooltipPrimitive.Content>\n>(({ className, sideOffset = 4, ...props }, ref) => (\n <TooltipPrimitive.Portal>\n <TooltipPrimitive.Content\n ref={ref}\n sideOffset={sideOffset}\n className={cn(\n \"z-50 overflow-hidden rounded-md bg-primary px-3 py-1.5 text-xs text-primary-foreground animate-in fade-in-0 zoom-in-95 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 origin-[--radix-tooltip-content-transform-origin]\",\n className\n )}\n {...props}\n />\n </TooltipPrimitive.Portal>\n))\nTooltipContent.displayName = TooltipPrimitive.Content.displayName\n\nexport { Tooltip, TooltipTrigger, TooltipContent, TooltipProvider }\n"]}
1
+ {"version":3,"sources":["../../src/components/atoms/tooltip/tooltip.tsx","../../src/utils/cn.ts"],"sourcesContent":["import * as React from \"react\"\nimport * as TooltipPrimitive from \"@radix-ui/react-tooltip\"\n\nimport { cn } from \"@/utils/index\"\n\n/**\n * TooltipProvider component for creating accessible tooltips.\n * Built on top of Radix UI's Tooltip primitive.\n *\n * @url https://sergii-melnykov.github.io/ui/?path=/docs/atoms-tooltip--docs\n *\n * @example\n * ```tsx\n * <TooltipProvider>\n * <Tooltip>\n * <TooltipTrigger>Hover me</TooltipTrigger>\n * <TooltipContent>Tooltip content</TooltipContent>\n * </Tooltip>\n * </TooltipProvider>\n * ```\n */\nconst TooltipProvider = TooltipPrimitive.Provider\n\nconst Tooltip = TooltipPrimitive.Root\n\nconst TooltipTrigger = TooltipPrimitive.Trigger\n\nconst TooltipContent = React.forwardRef<\n React.ElementRef<typeof TooltipPrimitive.Content>,\n React.ComponentPropsWithoutRef<typeof TooltipPrimitive.Content>\n>(({ className, sideOffset = 4, ...props }, ref) => (\n <TooltipPrimitive.Portal>\n <TooltipPrimitive.Content\n ref={ref}\n sideOffset={sideOffset}\n className={cn(\n \"z-50 overflow-hidden rounded-md bg-primary px-3 py-1.5 text-xs text-primary-foreground animate-in fade-in-0 zoom-in-95 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 origin-[--radix-tooltip-content-transform-origin]\",\n className\n )}\n {...props}\n />\n </TooltipPrimitive.Portal>\n))\nTooltipContent.displayName = TooltipPrimitive.Content.displayName\n\nexport { Tooltip, TooltipTrigger, TooltipContent, TooltipProvider }\n","import { type ClassValue, clsx } from \"clsx\"\nimport { twMerge } from \"tailwind-merge\"\n\nexport function cn(...inputs: ClassValue[]) {\n return twMerge(clsx(inputs))\n}\n"],"mappings":"AAAA,UAAYA,MAAW,QACvB,UAAYC,MAAsB,0BCDlC,OAA0B,QAAAC,MAAY,OACtC,OAAS,WAAAC,MAAe,iBAEjB,SAASC,KAAMC,EAAsB,CAC1C,OAAOF,EAAQD,EAAKG,CAAM,CAAC,CAC7B,CD2BI,cAAAC,MAAA,oBAXJ,IAAMC,EAAmC,WAEnCC,EAA2B,OAE3BC,EAAkC,UAElCC,EAAuB,aAG3B,CAAC,CAAE,UAAAC,EAAW,WAAAC,EAAa,EAAG,GAAGC,CAAM,EAAGC,IAC1CR,EAAkB,SAAjB,CACC,SAAAA,EAAkB,UAAjB,CACC,IAAKQ,EACL,WAAYF,EACZ,UAAWG,EACT,saACAJ,CACF,EACC,GAAGE,EACN,EACF,CACD,EACDH,EAAe,YAA+B,UAAQ","names":["React","TooltipPrimitive","clsx","twMerge","cn","inputs","jsx","TooltipProvider","Tooltip","TooltipTrigger","TooltipContent","className","sideOffset","props","ref","cn"]}
@@ -1,2 +1 @@
1
- //# sourceMappingURL=index.mjs.map
2
1
  //# sourceMappingURL=index.mjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":[],"names":[],"mappings":"","file":"index.mjs"}
1
+ {"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
@@ -1,2 +1,2 @@
1
- import*as r from'react';import {clsx}from'clsx';import {twMerge}from'tailwind-merge';import {cva}from'class-variance-authority';import {jsx}from'react/jsx-runtime';function e(...t){return twMerge(clsx(t))}var c=cva("",{variants:{variant:{h1:"scroll-m-5 text-4xl font-extrabold tracking-tight lg:text-5xl",h2:"scroll-m-5 text-3xl font-semibold tracking-tight",h3:"scroll-m-5 text-2xl font-semibold tracking-tight",h4:"scroll-m-5 text-xl font-semibold tracking-tight",h5:"scroll-m-5 text-lg font-semibold tracking-tight",h6:"scroll-m-5 text-base font-semibold tracking-tight",p:"leading-7 [&:not(:first-child)]:mt-6",blockquote:"mt-6 border-l-2 border-slate-300 pl-6 italic",list:"my-6 ml-6 list-disc [&>li]:mt-2",lead:"text-xl text-muted-foreground",large:"text-lg font-semibold",small:"text-sm font-medium leading-none",muted:"text-sm text-muted-foreground"},align:{left:"text-left",center:"text-center",right:"text-right",justify:"text-justify"}},defaultVariants:{variant:"p",align:"left"}}),f=r.forwardRef(({className:t,variant:o,align:l,as:a="p",...i},n)=>jsx(a,{className:e(c({variant:o,align:l,className:t})),ref:n,...i}));f.displayName="Typography";export{f as Typography,c as typographyVariants};//# sourceMappingURL=index.mjs.map
1
+ import*as r from"react";import{clsx as s}from"clsx";import{twMerge as m}from"tailwind-merge";function e(...t){return m(s(t))}import{cva as p}from"class-variance-authority";import{jsx as g}from"react/jsx-runtime";var c=p("",{variants:{variant:{h1:"scroll-m-5 text-4xl font-extrabold tracking-tight lg:text-5xl",h2:"scroll-m-5 text-3xl font-semibold tracking-tight",h3:"scroll-m-5 text-2xl font-semibold tracking-tight",h4:"scroll-m-5 text-xl font-semibold tracking-tight",h5:"scroll-m-5 text-lg font-semibold tracking-tight",h6:"scroll-m-5 text-base font-semibold tracking-tight",p:"leading-7 [&:not(:first-child)]:mt-6",blockquote:"mt-6 border-l-2 border-slate-300 pl-6 italic",list:"my-6 ml-6 list-disc [&>li]:mt-2",lead:"text-xl text-muted-foreground",large:"text-lg font-semibold",small:"text-sm font-medium leading-none",muted:"text-sm text-muted-foreground"},align:{left:"text-left",center:"text-center",right:"text-right",justify:"text-justify"}},defaultVariants:{variant:"p",align:"left"}}),f=r.forwardRef(({className:t,variant:o,align:l,as:a="p",...i},n)=>g(a,{className:e(c({variant:o,align:l,className:t})),ref:n,...i}));f.displayName="Typography";export{f as Typography,c as typographyVariants};
2
2
  //# sourceMappingURL=index.mjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/utils/cn.ts","../../src/components/atoms/typography/typography.tsx"],"names":["cn","inputs","twMerge","clsx","typographyVariants","cva","Typography","className","variant","align","Component","props","ref","jsx"],"mappings":"oKAGO,SAASA,CAAAA,CAAAA,GAAMC,CAAsB,CAAA,CAC1C,OAAOC,OAAAA,CAAQC,IAAKF,CAAAA,CAAM,CAAC,CAC7B,CCDMG,IAAAA,CAAAA,CAAqBC,GAAI,CAAA,EAAA,CAAI,CACjC,QAAA,CAAU,CACR,OAAA,CAAS,CACP,EAAA,CAAI,+DACJ,CAAA,EAAA,CAAI,kDACJ,CAAA,EAAA,CAAI,kDACJ,CAAA,EAAA,CAAI,iDACJ,CAAA,EAAA,CAAI,iDACJ,CAAA,EAAA,CAAI,mDACJ,CAAA,CAAA,CAAG,sCACH,CAAA,UAAA,CAAY,8CACZ,CAAA,IAAA,CAAM,iCACN,CAAA,IAAA,CAAM,+BACN,CAAA,KAAA,CAAO,uBACP,CAAA,KAAA,CAAO,kCACP,CAAA,KAAA,CAAO,+BACT,CAAA,CACA,KAAO,CAAA,CACL,IAAM,CAAA,WAAA,CACN,MAAQ,CAAA,aAAA,CACR,KAAO,CAAA,YAAA,CACP,OAAS,CAAA,cACX,CACF,CAAA,CACA,eAAiB,CAAA,CACf,OAAS,CAAA,GAAA,CACT,KAAO,CAAA,MACT,CACF,CAAC,CAeKC,CAAAA,CAAAA,CAAmB,CACvB,CAAA,UAAA,CAAA,CAAC,CAAE,SAAA,CAAAC,CAAW,CAAA,OAAA,CAAAC,CAAS,CAAA,KAAA,CAAAC,CAAO,CAAA,EAAA,CAAIC,CAAY,CAAA,GAAA,CAAK,GAAGC,CAAM,CAAGC,CAAAA,CAAAA,GAE3DC,GAACH,CAAAA,CAAAA,CAAA,CACC,SAAA,CAAWV,CAAGI,CAAAA,CAAAA,CAAmB,CAAE,OAAA,CAAAI,CAAS,CAAA,KAAA,CAAAC,CAAO,CAAA,SAAA,CAAAF,CAAU,CAAC,CAAC,CAAA,CAC/D,GAAKK,CAAAA,CAAAA,CACJ,GAAGD,CAAAA,CACN,CAGN,EAEAL,EAAW,WAAc,CAAA,YAAA","file":"index.mjs","sourcesContent":["import { type ClassValue, clsx } from \"clsx\"\nimport { twMerge } from \"tailwind-merge\"\n\nexport function cn(...inputs: ClassValue[]) {\n return twMerge(clsx(inputs))\n}\n","import * as React from \"react\"\nimport { cn } from \"@/utils\"\nimport { cva, type VariantProps } from \"class-variance-authority\"\n\nconst typographyVariants = cva(\"\", {\n variants: {\n variant: {\n h1: \"scroll-m-5 text-4xl font-extrabold tracking-tight lg:text-5xl\",\n h2: \"scroll-m-5 text-3xl font-semibold tracking-tight\",\n h3: \"scroll-m-5 text-2xl font-semibold tracking-tight\",\n h4: \"scroll-m-5 text-xl font-semibold tracking-tight\",\n h5: \"scroll-m-5 text-lg font-semibold tracking-tight\",\n h6: \"scroll-m-5 text-base font-semibold tracking-tight\",\n p: \"leading-7 [&:not(:first-child)]:mt-6\",\n blockquote: \"mt-6 border-l-2 border-slate-300 pl-6 italic\",\n list: \"my-6 ml-6 list-disc [&>li]:mt-2\",\n lead: \"text-xl text-muted-foreground\",\n large: \"text-lg font-semibold\",\n small: \"text-sm font-medium leading-none\",\n muted: \"text-sm text-muted-foreground\"\n },\n align: {\n left: \"text-left\",\n center: \"text-center\",\n right: \"text-right\",\n justify: \"text-justify\"\n }\n },\n defaultVariants: {\n variant: \"p\",\n align: \"left\"\n }\n})\n\nexport interface TypographyProps\n extends React.HTMLAttributes<HTMLElement>,\n VariantProps<typeof typographyVariants> {\n as?: React.ElementType\n}\n\n/**\n * Typography component for creating accessible text elements.\n * Built on top of shadcn/ui's Typography component.\n *\n * @url https://sergii-melnykov.github.io/ui/?path=/docs/atoms-typography--docs\n *\n */\nconst Typography = React.forwardRef<HTMLElement, TypographyProps>(\n ({ className, variant, align, as: Component = \"p\", ...props }, ref) => {\n return (\n <Component\n className={cn(typographyVariants({ variant, align, className }))}\n ref={ref}\n {...props}\n />\n )\n }\n)\n\nTypography.displayName = \"Typography\"\n\nexport { Typography, typographyVariants }\n"]}
1
+ {"version":3,"sources":["../../src/components/atoms/typography/typography.tsx","../../src/utils/cn.ts"],"sourcesContent":["import * as React from \"react\"\nimport { cn } from \"@/utils\"\nimport { cva, type VariantProps } from \"class-variance-authority\"\n\nconst typographyVariants = cva(\"\", {\n variants: {\n variant: {\n h1: \"scroll-m-5 text-4xl font-extrabold tracking-tight lg:text-5xl\",\n h2: \"scroll-m-5 text-3xl font-semibold tracking-tight\",\n h3: \"scroll-m-5 text-2xl font-semibold tracking-tight\",\n h4: \"scroll-m-5 text-xl font-semibold tracking-tight\",\n h5: \"scroll-m-5 text-lg font-semibold tracking-tight\",\n h6: \"scroll-m-5 text-base font-semibold tracking-tight\",\n p: \"leading-7 [&:not(:first-child)]:mt-6\",\n blockquote: \"mt-6 border-l-2 border-slate-300 pl-6 italic\",\n list: \"my-6 ml-6 list-disc [&>li]:mt-2\",\n lead: \"text-xl text-muted-foreground\",\n large: \"text-lg font-semibold\",\n small: \"text-sm font-medium leading-none\",\n muted: \"text-sm text-muted-foreground\"\n },\n align: {\n left: \"text-left\",\n center: \"text-center\",\n right: \"text-right\",\n justify: \"text-justify\"\n }\n },\n defaultVariants: {\n variant: \"p\",\n align: \"left\"\n }\n})\n\nexport interface TypographyProps\n extends React.HTMLAttributes<HTMLElement>,\n VariantProps<typeof typographyVariants> {\n as?: React.ElementType\n}\n\n/**\n * Typography component for creating accessible text elements.\n * Built on top of shadcn/ui's Typography component.\n *\n * @url https://sergii-melnykov.github.io/ui/?path=/docs/atoms-typography--docs\n *\n */\nconst Typography = React.forwardRef<HTMLElement, TypographyProps>(\n ({ className, variant, align, as: Component = \"p\", ...props }, ref) => {\n return (\n <Component\n className={cn(typographyVariants({ variant, align, className }))}\n ref={ref}\n {...props}\n />\n )\n }\n)\n\nTypography.displayName = \"Typography\"\n\nexport { Typography, typographyVariants }\n","import { type ClassValue, clsx } from \"clsx\"\nimport { twMerge } from \"tailwind-merge\"\n\nexport function cn(...inputs: ClassValue[]) {\n return twMerge(clsx(inputs))\n}\n"],"mappings":"AAAA,UAAYA,MAAW,QCAvB,OAA0B,QAAAC,MAAY,OACtC,OAAS,WAAAC,MAAe,iBAEjB,SAASC,KAAMC,EAAsB,CAC1C,OAAOF,EAAQD,EAAKG,CAAM,CAAC,CAC7B,CDHA,OAAS,OAAAC,MAA8B,2BAgDjC,cAAAC,MAAA,oBA9CN,IAAMC,EAAqBF,EAAI,GAAI,CACjC,SAAU,CACR,QAAS,CACP,GAAI,gEACJ,GAAI,mDACJ,GAAI,mDACJ,GAAI,kDACJ,GAAI,kDACJ,GAAI,oDACJ,EAAG,uCACH,WAAY,+CACZ,KAAM,kCACN,KAAM,gCACN,MAAO,wBACP,MAAO,mCACP,MAAO,+BACT,EACA,MAAO,CACL,KAAM,YACN,OAAQ,cACR,MAAO,aACP,QAAS,cACX,CACF,EACA,gBAAiB,CACf,QAAS,IACT,MAAO,MACT,CACF,CAAC,EAeKG,EAAmB,aACvB,CAAC,CAAE,UAAAC,EAAW,QAAAC,EAAS,MAAAC,EAAO,GAAIC,EAAY,IAAK,GAAGC,CAAM,EAAGC,IAE3DR,EAACM,EAAA,CACC,UAAWG,EAAGR,EAAmB,CAAE,QAAAG,EAAS,MAAAC,EAAO,UAAAF,CAAU,CAAC,CAAC,EAC/D,IAAKK,EACJ,GAAGD,EACN,CAGN,EAEAL,EAAW,YAAc","names":["React","clsx","twMerge","cn","inputs","cva","jsx","typographyVariants","Typography","className","variant","align","Component","props","ref","cn"]}
@@ -1,2 +1,2 @@
1
- import {clsx}from'clsx';import {twMerge}from'tailwind-merge';function t(...r){return twMerge(clsx(r))}export{t as cn};//# sourceMappingURL=index.mjs.map
1
+ import{clsx as e}from"clsx";import{twMerge as o}from"tailwind-merge";function t(...r){return o(e(r))}export{t as cn};
2
2
  //# sourceMappingURL=index.mjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/utils/cn.ts"],"names":["cn","inputs","twMerge","clsx"],"mappings":"6DAGO,SAASA,CAAMC,CAAAA,GAAAA,CAAAA,CAAsB,CAC1C,OAAOC,OAAAA,CAAQC,IAAKF,CAAAA,CAAM,CAAC,CAC7B","file":"index.mjs","sourcesContent":["import { type ClassValue, clsx } from \"clsx\"\nimport { twMerge } from \"tailwind-merge\"\n\nexport function cn(...inputs: ClassValue[]) {\n return twMerge(clsx(inputs))\n}\n"]}
1
+ {"version":3,"sources":["../../src/utils/cn.ts"],"sourcesContent":["import { type ClassValue, clsx } from \"clsx\"\nimport { twMerge } from \"tailwind-merge\"\n\nexport function cn(...inputs: ClassValue[]) {\n return twMerge(clsx(inputs))\n}\n"],"mappings":"AAAA,OAA0B,QAAAA,MAAY,OACtC,OAAS,WAAAC,MAAe,iBAEjB,SAASC,KAAMC,EAAsB,CAC1C,OAAOF,EAAQD,EAAKG,CAAM,CAAC,CAC7B","names":["clsx","twMerge","cn","inputs"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@me1a/ui",
3
- "version": "2.2.4",
3
+ "version": "2.2.5",
4
4
  "private": false,
5
5
  "main": "./dist/index.mjs",
6
6
  "module": "./dist/index.mjs",