@cryptlex/web-components 6.5.4 → 6.6.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/components/breadcrumbs.js +1 -1
- package/dist/components/breadcrumbs.js.map +1 -1
- package/dist/components/button.js +1 -1
- package/dist/components/button.js.map +1 -1
- package/dist/components/searchfield.js +1 -1
- package/dist/components/searchfield.js.map +1 -1
- package/lib/utilities.css +9 -5
- package/package.json +6 -6
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{jsx as
|
|
1
|
+
import{jsx as n,jsxs as o}from"react/jsx-runtime";import{Breadcrumbs as c,Breadcrumb as m,Link as s,composeRenderProps as i}from"react-aria-components";import{classNames as a}from"../utilities/primitives.js";import{IcRight as u,IcMoreHorizontal as l}from"./icons.js";import"clsx";import"lodash-es";import"react";function g({className:r,...e}){return n(c,{className:a("flex flex-wrap items-center gap-2 break-words body-sm",r),...e})}function h({className:r,...e}){return n(m,{className:a("inline-flex items-center gap-1",r),...e})}function k({className:r,...e}){return n(s,{className:i(r,t=>a("btn btn-link input-dim","data-[current]:no-underline",t)),...e})}function y({children:r,className:e,...t}){return n("span",{role:"presentation","aria-hidden":"true",className:a("[&>svg]:size-icon opacity-70",e),...t,children:r||n(u,{})})}function z({className:r,...e}){return o("span",{role:"presentation","aria-hidden":"true",className:a("flex size-input items-center justify-center",r),...e,children:[n(l,{className:"size-icon"}),n("span",{className:"sr-only",children:"More"})]})}function j({className:r,...e}){return n(s,{className:i(r,t=>a("font-normal text-foreground",t)),...e})}export{z as BreadcrumbEllipsis,h as BreadcrumbItem,k as BreadcrumbLink,j as BreadcrumbPage,y as BreadcrumbSeparator,g as Breadcrumbs};
|
|
2
2
|
//# sourceMappingURL=breadcrumbs.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"breadcrumbs.js","sources":["../../lib/components/breadcrumbs.tsx"],"sourcesContent":["import {\n Breadcrumb as AriaBreadcrumb,\n BreadcrumbProps as AriaBreadcrumbProps,\n Breadcrumbs as AriaBreadcrumbs,\n BreadcrumbsProps as AriaBreadcrumbsProps,\n Link as AriaLink,\n LinkProps as AriaLinkProps,\n composeRenderProps,\n} from 'react-aria-components';\n\nimport { classNames } from '../utilities/primitives';\nimport { IcMoreHorizontal, IcRight } from './icons';\n\nexport function Breadcrumbs<T extends object>({ className, ...props }: AriaBreadcrumbsProps<T>) {\n return (\n <AriaBreadcrumbs\n className={classNames(
|
|
1
|
+
{"version":3,"file":"breadcrumbs.js","sources":["../../lib/components/breadcrumbs.tsx"],"sourcesContent":["import {\n Breadcrumb as AriaBreadcrumb,\n BreadcrumbProps as AriaBreadcrumbProps,\n Breadcrumbs as AriaBreadcrumbs,\n BreadcrumbsProps as AriaBreadcrumbsProps,\n Link as AriaLink,\n LinkProps as AriaLinkProps,\n composeRenderProps,\n} from 'react-aria-components';\n\nimport { classNames } from '../utilities/primitives';\nimport { IcMoreHorizontal, IcRight } from './icons';\n\nexport function Breadcrumbs<T extends object>({ className, ...props }: AriaBreadcrumbsProps<T>) {\n return (\n <AriaBreadcrumbs\n className={classNames('flex flex-wrap items-center gap-2 break-words body-sm', className)}\n {...props}\n />\n );\n}\n\nexport function BreadcrumbItem({ className, ...props }: AriaBreadcrumbProps) {\n return <AriaBreadcrumb className={classNames('inline-flex items-center gap-1', className)} {...props} />;\n}\n\nexport function BreadcrumbLink({ className, ...props }: AriaLinkProps) {\n return (\n <AriaLink\n className={composeRenderProps(className, className =>\n classNames('btn btn-link input-dim', 'data-[current]:no-underline', className)\n )}\n {...props}\n />\n );\n}\n\nexport function BreadcrumbSeparator({ children, className, ...props }: React.ComponentProps<'span'>) {\n return (\n <span\n role=\"presentation\"\n aria-hidden=\"true\"\n className={classNames('[&>svg]:size-icon opacity-70', className)}\n {...props}\n >\n {children || <IcRight />}\n </span>\n );\n}\n\nexport function BreadcrumbEllipsis({ className, ...props }: React.ComponentProps<'span'>) {\n return (\n <span\n role=\"presentation\"\n aria-hidden=\"true\"\n className={classNames('flex size-input items-center justify-center', className)}\n {...props}\n >\n <IcMoreHorizontal className=\"size-icon\" />\n <span className=\"sr-only\">More</span>\n </span>\n );\n}\n\ninterface BreadcrumbPageProps extends Omit<AriaLinkProps, 'href'> {}\n\nexport function BreadcrumbPage({ className, ...props }: BreadcrumbPageProps) {\n return (\n <AriaLink\n className={composeRenderProps(className, className => classNames('font-normal text-foreground', className))}\n {...props}\n />\n );\n}\n"],"names":["Breadcrumbs","className","props","jsx","AriaBreadcrumbs","classNames","BreadcrumbItem","AriaBreadcrumb","BreadcrumbLink","AriaLink","composeRenderProps","BreadcrumbSeparator","children","IcRight","BreadcrumbEllipsis","jsxs","IcMoreHorizontal","BreadcrumbPage"],"mappings":"wTAaO,SAASA,EAA8B,CAAE,UAAAC,EAAW,GAAGC,GAAkC,CAC5F,OACIC,EAACC,EAAA,CACG,UAAWC,EAAW,wDAAyDJ,CAAS,EACvF,GAAGC,CAAA,CAAA,CAGhB,CAEO,SAASI,EAAe,CAAE,UAAAL,EAAW,GAAGC,GAA8B,CACzE,OAAOC,EAACI,GAAe,UAAWF,EAAW,iCAAkCJ,CAAS,EAAI,GAAGC,EAAO,CAC1G,CAEO,SAASM,EAAe,CAAE,UAAAP,EAAW,GAAGC,GAAwB,CACnE,OACIC,EAACM,EAAA,CACG,UAAWC,EAAmBT,EAAWA,GACrCI,EAAW,yBAA0B,8BAA+BJ,CAAS,CAAA,EAEhF,GAAGC,CAAA,CAAA,CAGhB,CAEO,SAASS,EAAoB,CAAE,SAAAC,EAAU,UAAAX,EAAW,GAAGC,GAAuC,CACjG,OACIC,EAAC,OAAA,CACG,KAAK,eACL,cAAY,OACZ,UAAWE,EAAW,+BAAgCJ,CAAS,EAC9D,GAAGC,EAEH,SAAAU,KAAaC,EAAA,CAAA,CAAQ,CAAA,CAAA,CAGlC,CAEO,SAASC,EAAmB,CAAE,UAAAb,EAAW,GAAGC,GAAuC,CACtF,OACIa,EAAC,OAAA,CACG,KAAK,eACL,cAAY,OACZ,UAAWV,EAAW,8CAA+CJ,CAAS,EAC7E,GAAGC,EAEJ,SAAA,CAAAC,EAACa,EAAA,CAAiB,UAAU,WAAA,CAAY,EACxCb,EAAC,OAAA,CAAK,UAAU,UAAU,SAAA,MAAA,CAAI,CAAA,CAAA,CAAA,CAG1C,CAIO,SAASc,EAAe,CAAE,UAAAhB,EAAW,GAAGC,GAA8B,CACzE,OACIC,EAACM,EAAA,CACG,UAAWC,EAAmBT,EAAWA,GAAaI,EAAW,8BAA+BJ,CAAS,CAAC,EACzG,GAAGC,CAAA,CAAA,CAGhB"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use client";import{jsx as r,jsxs as
|
|
1
|
+
"use client";import{jsx as r,jsxs as u,Fragment as o}from"react/jsx-runtime";import{cva as p}from"class-variance-authority";import{Button as l,composeRenderProps as i}from"react-aria-components";import{classNames as d}from"../utilities/primitives.js";import{Loader as f}from"./loader.js";import"clsx";import"lodash-es";import"./icons.js";import"react";const b=p("btn",{variants:{variant:{primary:"btn-primary",secondary:"btn-secondary",destructive:"btn-destructive",neutral:"btn-neutral",ghost:"btn-ghost",link:"btn-link"},size:{default:"input-dim",icon:"size-input",none:""}},defaultVariants:{variant:"neutral",size:"default"}});function V({className:n,variant:a,size:s,children:m,isPending:e,active:v,...c}){return r(l,{...c,className:i(n,t=>d(b({variant:a,size:s,className:t}),n)),children:i(m,t=>u(o,{children:[e&&r(f,{}),!e&&r(o,{children:t})]}))})}export{V as Button,b as buttonVariants};
|
|
2
2
|
//# sourceMappingURL=button.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"button.js","sources":["../../lib/components/button.tsx"],"sourcesContent":["'use client';\nimport { cva, type VariantProps } from 'class-variance-authority';\nimport { Button as AriaButton, composeRenderProps, type ButtonProps as AriaButtonProps } from 'react-aria-components';\nimport { classNames } from '../utilities/primitives';\nimport { Loader } from './loader';\n\nexport const buttonVariants = cva('btn', {\n variants: {\n variant: {\n primary: 'btn-primary',\n secondary: 'btn-secondary',\n destructive: 'btn-destructive',\n neutral: 'btn-neutral',\n ghost: 'btn-ghost',\n link: '
|
|
1
|
+
{"version":3,"file":"button.js","sources":["../../lib/components/button.tsx"],"sourcesContent":["'use client';\nimport { cva, type VariantProps } from 'class-variance-authority';\nimport { Button as AriaButton, composeRenderProps, type ButtonProps as AriaButtonProps } from 'react-aria-components';\nimport { classNames } from '../utilities/primitives';\nimport { Loader } from './loader';\n\nexport const buttonVariants = cva('btn', {\n variants: {\n variant: {\n primary: 'btn-primary',\n secondary: 'btn-secondary',\n destructive: 'btn-destructive',\n neutral: 'btn-neutral',\n ghost: 'btn-ghost',\n link: 'btn-link',\n },\n size: {\n default: 'input-dim',\n icon: 'size-input',\n none: '',\n },\n },\n defaultVariants: {\n variant: 'neutral',\n size: 'default',\n },\n});\n\nexport type ButtonProps = AriaButtonProps &\n VariantProps<typeof buttonVariants> & {\n ref?: React.Ref<HTMLButtonElement>;\n active?: boolean;\n };\n\nexport function Button({\n className: additionalClasses,\n variant,\n size,\n children,\n isPending,\n active,\n ...props\n}: ButtonProps) {\n return (\n <AriaButton\n {...props}\n className={composeRenderProps(additionalClasses, className =>\n classNames(\n buttonVariants({\n variant,\n size,\n className,\n }),\n additionalClasses\n )\n )}\n >\n {composeRenderProps(children, children => (\n <>\n {isPending && <Loader />}\n {!isPending && <>{children}</>}\n </>\n ))}\n </AriaButton>\n );\n}\n"],"names":["buttonVariants","cva","Button","additionalClasses","variant","size","children","isPending","active","props","jsx","AriaButton","composeRenderProps","className","classNames","jsxs","Fragment","Loader"],"mappings":"gWAMO,MAAMA,EAAiBC,EAAI,MAAO,CACrC,SAAU,CACN,QAAS,CACL,QAAS,cACT,UAAW,gBACX,YAAa,kBACb,QAAS,cACT,MAAO,YACP,KAAM,UAAA,EAEV,KAAM,CACF,QAAS,YACT,KAAM,aACN,KAAM,EAAA,CACV,EAEJ,gBAAiB,CACb,QAAS,UACT,KAAM,SAAA,CAEd,CAAC,EAQM,SAASC,EAAO,CACnB,UAAWC,EACX,QAAAC,EACA,KAAAC,EACA,SAAAC,EACA,UAAAC,EACA,OAAAC,EACA,GAAGC,CACP,EAAgB,CACZ,OACIC,EAACC,EAAA,CACI,GAAGF,EACJ,UAAWG,EAAmBT,EAAmBU,GAC7CC,EACId,EAAe,CACX,QAAAI,EACA,KAAAC,EACA,UAAAQ,CAAA,CACH,EACDV,CAAA,CACJ,EAGH,SAAAS,EAAmBN,EAAUA,GAC1BS,EAAAC,EAAA,CACK,SAAA,CAAAT,KAAcU,EAAA,EAAO,EACrB,CAACV,GAAaG,EAAAM,EAAA,CAAG,SAAAV,CAAAA,CAAS,CAAA,EAC/B,CACH,CAAA,CAAA,CAGb"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{jsx as e,jsxs as
|
|
1
|
+
import{jsx as e,jsxs as m}from"react/jsx-runtime";import{composeRenderProps as n,SearchField as s,Input as p,Button as d}from"react-aria-components";import{classNames as t}from"../utilities/primitives.js";import{FormField as u,FieldGroup as h}from"./field.js";import{IcSearch as f,IcRemove as F}from"./icons.js";import"clsx";import"lodash-es";import"class-variance-authority";import"react";function b({className:r,...i}){return e(s,{className:n(r,o=>t("group",o)),...i})}function g({className:r,...i}){return e(p,{className:n(r,o=>t("min-w-0 ring-0 focus-visible:outline-none flex-1 bg-popover px-2 py-1.5 placeholder:text-muted-foreground [&::-webkit-search-cancel-button]:hidden",o)),...i})}function x({className:r,...i}){return e(d,{className:n(r,o=>t("btn btn-ghost h-input px-2 -me-2","group-data-[empty]:invisible",o)),...i})}function R({label:r,description:i,className:o,errorMessage:a,...c}){return e(b,{className:n(o,l=>t("group form-field",l)),...c,children:e(u,{label:r,description:i,errorMessage:a,children:m(h,{children:[e(f,{"aria-hidden":!0,className:"size-icon"}),e(g,{placeholder:""}),e(x,{children:e(F,{"aria-hidden":!0,className:"size-icon"})})]})})})}export{R as SearchField};
|
|
2
2
|
//# sourceMappingURL=searchfield.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"searchfield.js","sources":["../../lib/components/searchfield.tsx"],"sourcesContent":["import {\n Button as AriaButton,\n ButtonProps as AriaButtonProps,\n Input as AriaInput,\n InputProps as AriaInputProps,\n SearchField as AriaSearchField,\n SearchFieldProps as AriaSearchFieldProps,\n composeRenderProps,\n} from 'react-aria-components';\n\nimport { classNames } from '../utilities/primitives';\n\nimport { FieldGroup, FormField, type FormFieldProps } from './field';\nimport { IcRemove, IcSearch } from './icons';\n\nfunction ASearchField({ className, ...props }: AriaSearchFieldProps) {\n return (\n <AriaSearchField\n className={composeRenderProps(className, className => classNames('group', className))}\n {...props}\n />\n );\n}\n\nfunction ASearchFieldInput({ className, ...props }: AriaInputProps) {\n return (\n <AriaInput\n className={composeRenderProps(className, className =>\n classNames(\n 'min-w-0 ring-0 focus-visible:outline-none flex-1 bg-popover px-2 py-1.5 placeholder:text-muted-foreground [&::-webkit-search-cancel-button]:hidden',\n className\n )\n )}\n {...props}\n />\n );\n}\n
|
|
1
|
+
{"version":3,"file":"searchfield.js","sources":["../../lib/components/searchfield.tsx"],"sourcesContent":["import {\n Button as AriaButton,\n ButtonProps as AriaButtonProps,\n Input as AriaInput,\n InputProps as AriaInputProps,\n SearchField as AriaSearchField,\n SearchFieldProps as AriaSearchFieldProps,\n composeRenderProps,\n} from 'react-aria-components';\n\nimport { classNames } from '../utilities/primitives';\n\nimport { FieldGroup, FormField, type FormFieldProps } from './field';\nimport { IcRemove, IcSearch } from './icons';\n\nfunction ASearchField({ className, ...props }: AriaSearchFieldProps) {\n return (\n <AriaSearchField\n className={composeRenderProps(className, className => classNames('group', className))}\n {...props}\n />\n );\n}\n\nfunction ASearchFieldInput({ className, ...props }: AriaInputProps) {\n return (\n <AriaInput\n className={composeRenderProps(className, className =>\n classNames(\n 'min-w-0 ring-0 focus-visible:outline-none flex-1 bg-popover px-2 py-1.5 placeholder:text-muted-foreground [&::-webkit-search-cancel-button]:hidden',\n className\n )\n )}\n {...props}\n />\n );\n}\n// TODO, standardize this as FieldGroup action button. Document that there can only be one.\nfunction SearchFieldClear({ className, ...props }: AriaButtonProps) {\n return (\n <AriaButton\n className={composeRenderProps(className, className =>\n classNames('btn btn-ghost h-input px-2 -me-2', 'group-data-[empty]:invisible', className)\n )}\n {...props}\n />\n );\n}\n\nexport interface SearchFieldProps extends AriaSearchFieldProps, FormFieldProps {}\nexport function SearchField({ label, description, className, errorMessage, ...props }: SearchFieldProps) {\n return (\n <ASearchField\n className={composeRenderProps(className, className => classNames('group form-field', className))}\n {...props}\n >\n <FormField label={label} description={description} errorMessage={errorMessage}>\n <FieldGroup>\n <IcSearch aria-hidden className=\"size-icon\" />\n <ASearchFieldInput placeholder=\"\" />\n <SearchFieldClear>\n <IcRemove aria-hidden className=\"size-icon\" />\n </SearchFieldClear>\n </FieldGroup>\n </FormField>\n </ASearchField>\n );\n}\n"],"names":["ASearchField","className","props","jsx","AriaSearchField","composeRenderProps","classNames","ASearchFieldInput","AriaInput","SearchFieldClear","AriaButton","SearchField","label","description","errorMessage","FormField","FieldGroup","IcSearch","IcRemove"],"mappings":"sYAeA,SAASA,EAAa,CAAE,UAAAC,EAAW,GAAGC,GAA+B,CACjE,OACIC,EAACC,EAAA,CACG,UAAWC,EAAmBJ,EAAWA,GAAaK,EAAW,QAASL,CAAS,CAAC,EACnF,GAAGC,CAAA,CAAA,CAGhB,CAEA,SAASK,EAAkB,CAAE,UAAAN,EAAW,GAAGC,GAAyB,CAChE,OACIC,EAACK,EAAA,CACG,UAAWH,EAAmBJ,EAAWA,GACrCK,EACI,qJACAL,CAAA,CACJ,EAEH,GAAGC,CAAA,CAAA,CAGhB,CAEA,SAASO,EAAiB,CAAE,UAAAR,EAAW,GAAGC,GAA0B,CAChE,OACIC,EAACO,EAAA,CACG,UAAWL,EAAmBJ,EAAWA,GACrCK,EAAW,mCAAoC,+BAAgCL,CAAS,CAAA,EAE3F,GAAGC,CAAA,CAAA,CAGhB,CAGO,SAASS,EAAY,CAAE,MAAAC,EAAO,YAAAC,EAAa,UAAAZ,EAAW,aAAAa,EAAc,GAAGZ,GAA2B,CACrG,OACIC,EAACH,EAAA,CACG,UAAWK,EAAmBJ,EAAWA,GAAaK,EAAW,mBAAoBL,CAAS,CAAC,EAC9F,GAAGC,EAEJ,WAACa,EAAA,CAAU,MAAAH,EAAc,YAAAC,EAA0B,aAAAC,EAC/C,WAACE,EAAA,CACG,SAAA,CAAAb,EAACc,EAAA,CAAS,cAAW,GAAC,UAAU,YAAY,EAC5Cd,EAACI,EAAA,CAAkB,YAAY,EAAA,CAAG,EAClCJ,EAACM,GACG,SAAAN,EAACe,EAAA,CAAS,cAAW,GAAC,UAAU,YAAY,CAAA,CAChD,CAAA,CAAA,CACJ,CAAA,CACJ,CAAA,CAAA,CAGZ"}
|
package/lib/utilities.css
CHANGED
|
@@ -20,19 +20,23 @@
|
|
|
20
20
|
|
|
21
21
|
/* A base set of classes for elements that can be clicked */
|
|
22
22
|
@utility btn {
|
|
23
|
-
@apply inline-flex gap-1 text-ellipsis overflow-hidden items-center justify-center font-medium transition-colors cursor-pointer ring-offset-background [&_svg:not([class*='size-'])]:size-icon shrink-0 [&_svg]:shrink-0 leading-none outline-none no-underline whitespace-nowrap select-none disabled-muted focus-ring;
|
|
23
|
+
@apply inline-flex gap-1 data-[disabled]:pointer-events-none text-ellipsis overflow-hidden items-center justify-center font-medium transition-colors cursor-pointer ring-offset-background [&_svg:not([class*='size-'])]:size-icon shrink-0 [&_svg]:shrink-0 leading-none outline-none no-underline whitespace-nowrap select-none disabled-muted focus-ring;
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
@utility btn-link {
|
|
27
|
+
@apply btn-ghost underline underline-offset-2;
|
|
24
28
|
}
|
|
25
29
|
@utility btn-primary {
|
|
26
|
-
@apply border border-primary text-primary bg-
|
|
30
|
+
@apply border border-primary text-primary bg-primary/10 hover:bg-primary/20 data-[hovered]:bg-primary/20 focus:bg-primary/20 data-[focused]:bg-primary/20;
|
|
27
31
|
}
|
|
28
32
|
@utility btn-destructive {
|
|
29
|
-
@apply border border-destructive text-destructive bg-
|
|
33
|
+
@apply border border-destructive text-destructive bg-destructive/10 hover:bg-destructive/20 data-[hovered]:bg-destructive/20 focus:bg-destructive/20 data-[focused]:bg-destructive/20;
|
|
30
34
|
}
|
|
31
35
|
@utility btn-neutral {
|
|
32
|
-
@apply border border-input text-accent bg-
|
|
36
|
+
@apply border border-input text-accent bg-accent/10 hover:bg-accent/20 data-[hovered]:bg-accent/20 focus:bg-accent/20 data-[focused]:bg-accent/20;
|
|
33
37
|
}
|
|
34
38
|
@utility btn-secondary {
|
|
35
|
-
@apply border border-secondary text-secondary bg-
|
|
39
|
+
@apply border border-secondary text-secondary bg-secondary/10 hover:bg-secondary/20 data-[hovered]:bg-secondary/20 focus:bg-secondary/20 data-[focused]:bg-secondary/20;
|
|
36
40
|
}
|
|
37
41
|
@utility btn-ghost {
|
|
38
42
|
@apply bg-transparent focus:bg-accent/20 data-[focused]:bg-accent/20 hover:bg-accent/20 data-[hovered]:bg-accent/20;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@cryptlex/web-components",
|
|
3
|
-
"version": "6.
|
|
3
|
+
"version": "6.6.0",
|
|
4
4
|
"description": "React component library for Cryptlex web applications",
|
|
5
5
|
"author": "Cryptlex",
|
|
6
6
|
"type": "module",
|
|
@@ -70,10 +70,10 @@
|
|
|
70
70
|
},
|
|
71
71
|
"devDependencies": {
|
|
72
72
|
"@rollup/plugin-node-resolve": "16.0.1",
|
|
73
|
-
"@storybook/addon-docs": "9.
|
|
74
|
-
"@storybook/addon-links": "9.
|
|
75
|
-
"@storybook/addon-onboarding": "9.
|
|
76
|
-
"@storybook/react-vite": "9.
|
|
73
|
+
"@storybook/addon-docs": "9.1.3",
|
|
74
|
+
"@storybook/addon-links": "9.1.3",
|
|
75
|
+
"@storybook/addon-onboarding": "9.1.3",
|
|
76
|
+
"@storybook/react-vite": "9.1.3",
|
|
77
77
|
"@tailwindcss/vite": "^4.1.11",
|
|
78
78
|
"@types/node": "^22.7.8",
|
|
79
79
|
"@types/react": "^19.1.0",
|
|
@@ -85,7 +85,7 @@
|
|
|
85
85
|
"prettier": "3.6.2",
|
|
86
86
|
"rollup-preserve-directives": "1.1.3",
|
|
87
87
|
"sass": "1.80.6",
|
|
88
|
-
"storybook": "9.
|
|
88
|
+
"storybook": "9.1.3",
|
|
89
89
|
"typescript": "5.8.3",
|
|
90
90
|
"typescript-eslint": "8.38.0",
|
|
91
91
|
"vite": "7.0.6",
|