@kushagradhawan/kookie-ui 0.1.23 → 0.1.25

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"version":3,"file":"image.d.ts","sourceRoot":"","sources":["../../../src/components/image.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAG/B,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AASjD,OAAO,KAAK,EAAE,qBAAqB,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AACzF,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAC5D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAC1D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAC5D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAC5D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAG5D,KAAK,aAAa,GAAG,eAAe,CAAC,OAAO,aAAa,CAAC,GAAG;IAC3D,OAAO,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;IAC3B;;;OAGG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;OAEG;IACH,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB;;OAEG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB;;OAEG;IACH,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,cAAc,CAAC,gBAAgB,CAAC,KAAK,IAAI,CAAC;IACjE;;OAEG;IACH,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,cAAc,CAAC,gBAAgB,CAAC,KAAK,IAAI,CAAC;IAClE;;OAEG;IACH,YAAY,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;CACpC,CAAC;AAEF,UAAU,UACR,SAAQ,qBAAqB,CAAC,KAAK,EAAE,YAAY,GAAG,OAAO,GAAG,OAAO,GAAG,QAAQ,GAAG,KAAK,CAAC,EACvF,WAAW,EACX,UAAU,EACV,WAAW,EACX,WAAW,EACX,aAAa;IACf;;;OAGG;IACH,GAAG,EAAE,MAAM,CAAC;CACb;AAED,QAAA,MAAM,KAAK,qFA8ST,CAAC;AAIH,OAAO,EAAE,KAAK,EAAE,CAAC;AACjB,YAAY,EAAE,UAAU,EAAE,CAAC"}
1
+ {"version":3,"file":"image.d.ts","sourceRoot":"","sources":["../../../src/components/image.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAG/B,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AASjD,OAAO,KAAK,EAAE,qBAAqB,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AACzF,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAC5D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAC1D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAC5D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAC5D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAG5D,KAAK,aAAa,GAAG,eAAe,CAAC,OAAO,aAAa,CAAC,GAAG;IAC3D,OAAO,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;IAC3B;;;OAGG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;OAEG;IACH,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB;;OAEG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB;;OAEG;IACH,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,cAAc,CAAC,gBAAgB,CAAC,KAAK,IAAI,CAAC;IACjE;;OAEG;IACH,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,cAAc,CAAC,gBAAgB,CAAC,KAAK,IAAI,CAAC;IAClE;;OAEG;IACH,YAAY,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;CACpC,CAAC;AAEF,UAAU,UACR,SAAQ,qBAAqB,CAAC,KAAK,EAAE,YAAY,GAAG,OAAO,GAAG,OAAO,GAAG,QAAQ,GAAG,KAAK,CAAC,EACvF,WAAW,EACX,UAAU,EACV,WAAW,EACX,WAAW,EACX,aAAa;IACf;;;OAGG;IACH,GAAG,EAAE,MAAM,CAAC;CACb;AAED,QAAA,MAAM,KAAK,qFA0TT,CAAC;AAIH,OAAO,EAAE,KAAK,EAAE,CAAC;AACjB,YAAY,EAAE,UAAU,EAAE,CAAC"}
@@ -1,2 +1,2 @@
1
- "use strict";"use client";var V=Object.create;var b=Object.defineProperty;var X=Object.getOwnPropertyDescriptor;var Y=Object.getOwnPropertyNames;var Z=Object.getPrototypeOf,_=Object.prototype.hasOwnProperty;var R=(o,e)=>{for(var a in e)b(o,a,{get:e[a],enumerable:!0})},w=(o,e,a,c)=>{if(e&&typeof e=="object"||typeof e=="function")for(let l of Y(e))!_.call(o,l)&&l!==a&&b(o,l,{get:()=>e[l],enumerable:!(c=X(e,l))||c.enumerable});return o};var z=(o,e,a)=>(a=o!=null?V(Z(o)):{},w(e||!o||!o.__esModule?b(a,"default",{value:o,enumerable:!0}):a,o)),ee=o=>w(b({},"__esModule",{value:!0}),o);var te={};R(te,{Image:()=>k});module.exports=ee(te);var r=z(require("react")),n=z(require("classnames")),B=require("./image.props.js"),O=require("../helpers/extract-props.js"),q=require("../props/margin.props.js"),G=require("../props/width.props.js"),$=require("../props/height.props.js"),A=require("../props/layout.props.js"),F=require("./skeleton.js"),P=require("./box.js");const k=r.forwardRef((o,e)=>{const{variant:a="surface",wrapperStyle:c,...l}=o,{asChild:D,className:p,radius:i,style:s,loading:g="lazy",alt:d,src:m,placeholder:f,showSkeleton:C=!1,fadeIn:u=!0,onLoad:H,onError:M,children:T,...y}=(0,O.extractProps)(l,B.imagePropDefs,q.marginPropDefs,G.widthPropDefs,$.heightPropDefs,A.layoutPropDefs),[h,E]=r.useState(!1),[J,v]=r.useState(!1),[K,x]=r.useState(!!f),I=r.useRef(null),L=r.useCallback(t=>{E(!0),v(!1),x(!1),H?.(t)},[H]),N=r.useCallback(t=>{E(!1),v(!0),x(!1),M?.(t)},[M]);if(r.useEffect(()=>{const t=I.current;t&&t.complete&&t.naturalWidth>0&&(E(!0),v(!1),x(!1))},[m]),!m)return console.warn("Image component: src prop is required"),null;!D&&d===void 0&&console.warn("Image component: alt prop is required for accessibility when not using asChild");const Q=C&&!h&&!J?r.createElement(F.Skeleton,{width:"100%",height:"100px",style:{...s,borderRadius:i?`var(--radius-${i})`:void 0},className:p}):null,U=f&&K?r.createElement("img",{"data-radius":i,style:{...s,filter:"blur(4px)",opacity:.7,transition:"opacity 0.3s ease-out"},className:(0,n.default)("rt-reset","rt-Image","rt-Image--placeholder",p),alt:"",src:f}):null,j=r.createElement("img",{"data-radius":i,loading:g,style:{...s,opacity:u?h?s?.opacity??1:0:s?.opacity??1,transition:u?"opacity 0.3s ease-out":"none"},className:(0,n.default)("rt-reset","rt-Image",a==="blur"&&"rt-Image--blur",p),alt:d,src:m,onLoad:L,onError:N,...y,ref:t=>{I.current=t,typeof e=="function"?e(t):e&&(e.current=t)}}),W=f||C?r.createElement(P.Box,{position:"relative",display:"inline-block",style:c},Q,U,j):j;if(D&&T){const t=r.Children.only(T);return a==="blur"?r.cloneElement(t,{className:(0,n.default)(t.props?.className,"rt-variant-blur"),style:{textDecoration:"none",color:"inherit",border:"none",background:"none",padding:0,font:"inherit",cursor:"pointer",...t.props?.style},children:r.createElement(P.Box,{position:"relative",display:"inline-block",style:c},r.createElement("img",{"data-radius":i,loading:g,style:{...s,position:"absolute",top:"8px",left:"0"},className:(0,n.default)("rt-reset","rt-Image","rt-Image--blur","rt-Image--blur-bg",p),alt:"",src:m,...y}),r.createElement("img",{"data-radius":i,loading:g,style:{...s,position:"relative",zIndex:1,opacity:u?h?s?.opacity??1:0:s?.opacity??1,transition:u?"opacity 0.3s ease-out":"none"},className:(0,n.default)("rt-reset","rt-Image","rt-Image--blur",p),alt:d,src:m,onLoad:L,onError:N,...y,ref:S=>{I.current=S,typeof e=="function"?e(S):e&&(e.current=S)}}))}):r.cloneElement(t,{className:(0,n.default)(t.props?.className),style:{textDecoration:"none",color:"inherit",border:"none",background:"none",padding:0,font:"inherit",cursor:"pointer",display:"inline-block",...t.props?.style},children:W})}return a==="blur"?r.createElement(P.Box,{className:"rt-variant-blur",position:"relative",display:"inline-block",style:c},r.createElement("img",{"data-radius":i,loading:g,style:{...s,position:"absolute",top:"8px",left:"0"},className:(0,n.default)("rt-reset","rt-Image","rt-Image--blur","rt-Image--blur-bg",p),alt:"",src:m,...y}),r.createElement("img",{"data-radius":i,loading:g,style:{...s,position:"relative",zIndex:1,opacity:u?h?s?.opacity??1:0:s?.opacity??1,transition:u?"opacity 0.3s ease-out":"none"},className:(0,n.default)("rt-reset","rt-Image","rt-Image--blur",p),alt:d,src:m,onLoad:L,onError:N,...y,ref:t=>{I.current=t,typeof e=="function"?e(t):e&&(e.current=t)}})):W});k.displayName="Image";
1
+ "use strict";"use client";var V=Object.create;var b=Object.defineProperty;var X=Object.getOwnPropertyDescriptor;var Y=Object.getOwnPropertyNames;var Z=Object.getPrototypeOf,_=Object.prototype.hasOwnProperty;var R=(o,e)=>{for(var s in e)b(o,s,{get:e[s],enumerable:!0})},z=(o,e,s,y)=>{if(e&&typeof e=="object"||typeof e=="function")for(let p of Y(e))!_.call(o,p)&&p!==s&&b(o,p,{get:()=>e[p],enumerable:!(y=X(e,p))||y.enumerable});return o};var O=(o,e,s)=>(s=o!=null?V(Z(o)):{},z(e||!o||!o.__esModule?b(s,"default",{value:o,enumerable:!0}):s,o)),ee=o=>z(b({},"__esModule",{value:!0}),o);var te={};R(te,{Image:()=>x});module.exports=ee(te);var t=O(require("react")),a=O(require("classnames")),B=require("./image.props.js"),q=require("../helpers/extract-props.js"),A=require("../props/margin.props.js"),G=require("../props/width.props.js"),F=require("../props/height.props.js"),$=require("../props/layout.props.js"),J=require("./skeleton.js"),v=require("./box.js");const x=t.forwardRef((o,e)=>{const{variant:s="surface",wrapperStyle:y,...p}=o,{asChild:D,className:n,radius:l,style:d,loading:c="lazy",alt:u,src:i,placeholder:E,showSkeleton:K=!1,fadeIn:k=!0,onLoad:C,onError:w,children:H,...M}=(0,q.extractProps)(p,B.imagePropDefs,A.marginPropDefs,G.widthPropDefs,F.heightPropDefs,$.layoutPropDefs),[T,S]=t.useState(!1),[Q,L]=t.useState(!1),[U,N]=t.useState(!!E),g=t.useRef(null),f=t.useCallback(r=>{S(!0),L(!1),N(!1),C?.(r)},[C]),I=t.useCallback(r=>{S(!1),L(!0),N(!1),w?.(r)},[w]);if(t.useEffect(()=>{const r=g.current;r&&r.complete&&r.naturalWidth>0&&(S(!0),L(!1),N(!1))},[i]),!i)return console.warn("Image component: src prop is required"),null;!D&&u===void 0&&console.warn("Image component: alt prop is required for accessibility when not using asChild");const h={width:"100%",height:"100%",display:"block",opacity:k?T?1:0:1,transition:k?"opacity 0.3s ease-out":"none",...d},P={position:"relative",display:"block",...y},j=K&&!T&&!Q?t.createElement(J.Skeleton,{width:"100%",height:"100px",style:{borderRadius:l?`var(--radius-${l})`:void 0},className:n}):null,W=E&&U?t.createElement("img",{"data-radius":l,style:{...h,filter:"blur(4px)",opacity:.7,transition:"opacity 0.3s ease-out"},className:(0,a.default)("rt-reset","rt-Image","rt-Image--placeholder",n),alt:"",src:E}):null;if(D&&H){const r=t.Children.only(H);return s==="blur"?t.cloneElement(r,{className:(0,a.default)(r.props?.className,"rt-variant-blur"),style:{textDecoration:"none",color:"inherit",border:"none",background:"none",padding:0,font:"inherit",cursor:"pointer",...P,...d,...r.props?.style},children:t.createElement(t.Fragment,null,t.createElement("img",{"data-radius":l,loading:c,style:{position:"absolute",top:"0",left:"0",width:"105%",height:"105%",transform:"translate(-2.5%, -2.5%)",filter:"blur(16px) saturate(1.5)",opacity:.5,zIndex:-1},className:(0,a.default)("rt-reset","rt-Image","rt-Image--blur-bg",n),alt:"",src:i}),t.createElement("img",{"data-radius":l,loading:c,style:h,className:(0,a.default)("rt-reset","rt-Image","rt-Image--blur",n),alt:u,src:i,onLoad:f,onError:I,ref:m=>{g.current=m,typeof e=="function"?e(m):e&&(e.current=m)}}))}):t.cloneElement(r,{className:(0,a.default)(r.props?.className),style:{textDecoration:"none",color:"inherit",border:"none",background:"none",padding:0,font:"inherit",cursor:"pointer",...P,...r.props?.style},children:t.createElement(t.Fragment,null,j,W,t.createElement("img",{"data-radius":l,loading:c,style:h,className:(0,a.default)("rt-reset","rt-Image",n),alt:u,src:i,onLoad:f,onError:I,ref:m=>{g.current=m,typeof e=="function"?e(m):e&&(e.current=m)}}))})}return s==="blur"?t.createElement(v.Box,{className:(0,a.default)("rt-variant-blur",n),style:{...d,...P},...M},t.createElement("img",{"data-radius":l,loading:c,style:{position:"absolute",top:"0",left:"0",width:"105%",height:"105%",transform:"translate(-2.5%, -2.5%)",filter:"blur(16px) saturate(1.5)",opacity:.5,zIndex:-1},className:(0,a.default)("rt-reset","rt-Image","rt-Image--blur-bg",n),alt:"",src:i}),t.createElement("img",{"data-radius":l,loading:c,style:h,className:(0,a.default)("rt-reset","rt-Image","rt-Image--blur",n),alt:u,src:i,onLoad:f,onError:I,ref:r=>{g.current=r,typeof e=="function"?e(r):e&&(e.current=r)}})):t.createElement(v.Box,{className:n,style:{...d,...P},...M},j,W,t.createElement("img",{"data-radius":l,loading:c,style:h,className:(0,a.default)("rt-reset","rt-Image",n),alt:u,src:i,onLoad:f,onError:I,ref:r=>{g.current=r,typeof e=="function"?e(r):e&&(e.current=r)}}))});x.displayName="Image";
2
2
  //# sourceMappingURL=image.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/components/image.tsx"],
4
- "sourcesContent": ["'use client';\n\nimport * as React from 'react';\nimport classNames from 'classnames';\n\nimport { imagePropDefs } from './image.props.js';\nimport { extractProps } from '../helpers/extract-props.js';\nimport { marginPropDefs } from '../props/margin.props.js';\nimport { widthPropDefs } from '../props/width.props.js';\nimport { heightPropDefs } from '../props/height.props.js';\nimport { layoutPropDefs } from '../props/layout.props.js';\nimport { Skeleton } from './skeleton.js';\nimport { Box } from './box.js';\n\nimport type { ComponentPropsWithout, RemovedProps } from '../helpers/component-props.js';\nimport type { MarginProps } from '../props/margin.props.js';\nimport type { WidthProps } from '../props/width.props.js';\nimport type { HeightProps } from '../props/height.props.js';\nimport type { LayoutProps } from '../props/layout.props.js';\nimport type { GetPropDefTypes } from '../props/prop-def.js';\n\ntype ImageElement = React.ElementRef<'img'>;\ntype ImageOwnProps = GetPropDefTypes<typeof imagePropDefs> & {\n loading?: 'eager' | 'lazy';\n /**\n * Placeholder image URL to show while the main image is loading.\n * Can be a low-quality/blurred version of the main image.\n */\n placeholder?: string;\n /**\n * Shows a skeleton placeholder while loading instead of a blank space.\n */\n showSkeleton?: boolean;\n /**\n * Whether the image should fade in when loaded. Set to false for background images or when you want immediate visibility.\n */\n fadeIn?: boolean;\n /**\n * Callback fired when the image successfully loads.\n */\n onLoad?: (event: React.SyntheticEvent<HTMLImageElement>) => void;\n /**\n * Callback fired when the image fails to load.\n */\n onError?: (event: React.SyntheticEvent<HTMLImageElement>) => void;\n /**\n * Style object to apply to the wrapper container. Useful for overriding display, width, height, etc.\n */\n wrapperStyle?: React.CSSProperties;\n};\n\ninterface ImageProps\n extends ComponentPropsWithout<'img', RemovedProps | 'color' | 'width' | 'height' | 'alt'>,\n MarginProps,\n WidthProps,\n HeightProps,\n LayoutProps,\n ImageOwnProps {\n /**\n * The alt attribute provides alternative information for an image if a user for some reason cannot view it.\n * Required for accessibility when not using asChild. Use empty string for decorative images.\n */\n alt: string;\n}\n\nconst Image = React.forwardRef<ImageElement, ImageProps>((props, forwardedRef) => {\n const { variant = 'surface', wrapperStyle, ...restProps } = props;\n const {\n asChild,\n className,\n radius,\n style,\n loading = 'lazy',\n alt,\n src,\n placeholder,\n showSkeleton = false,\n fadeIn = true,\n onLoad: userOnLoad,\n onError: userOnError,\n children,\n ...imgProps\n } = extractProps(\n restProps,\n imagePropDefs,\n marginPropDefs,\n widthPropDefs,\n heightPropDefs,\n layoutPropDefs,\n );\n\n // Loading state management\n const [imageLoaded, setImageLoaded] = React.useState(false);\n const [imageError, setImageError] = React.useState(false);\n const [showPlaceholder, setShowPlaceholder] = React.useState(!!placeholder);\n\n // Ref to check if image is already loaded (for cached images)\n const imgRef = React.useRef<HTMLImageElement>(null);\n\n // Handle image load - moved to top to avoid conditional hook call\n const handleLoad = React.useCallback(\n (event: React.SyntheticEvent<HTMLImageElement>) => {\n setImageLoaded(true);\n setImageError(false);\n setShowPlaceholder(false);\n userOnLoad?.(event);\n },\n [userOnLoad],\n );\n\n // Handle image error - moved to top to avoid conditional hook call\n const handleError = React.useCallback(\n (event: React.SyntheticEvent<HTMLImageElement>) => {\n setImageLoaded(false);\n setImageError(true);\n setShowPlaceholder(false);\n userOnError?.(event);\n },\n [userOnError],\n );\n\n // Check if image is already loaded (for cached images)\n React.useEffect(() => {\n const img = imgRef.current;\n if (img && img.complete && img.naturalWidth > 0) {\n setImageLoaded(true);\n setImageError(false);\n setShowPlaceholder(false);\n }\n }, [src]);\n\n // Validate required props\n if (!src) {\n console.warn('Image component: src prop is required');\n return null;\n }\n\n if (!asChild && alt === undefined) {\n console.warn('Image component: alt prop is required for accessibility when not using asChild');\n }\n\n // Create skeleton placeholder\n const skeletonElement =\n showSkeleton && !imageLoaded && !imageError ? (\n <Skeleton\n width=\"100%\"\n height=\"100px\" // Default height, can be overridden by style\n style={{\n ...style,\n borderRadius: radius ? `var(--radius-${radius})` : undefined,\n }}\n className={className}\n />\n ) : null;\n\n // Create placeholder image element\n const placeholderElement =\n placeholder && showPlaceholder ? (\n <img\n data-radius={radius}\n style={{\n ...style,\n filter: 'blur(4px)',\n opacity: 0.7,\n transition: 'opacity 0.3s ease-out',\n }}\n className={classNames('rt-reset', 'rt-Image', 'rt-Image--placeholder', className)}\n alt=\"\"\n src={placeholder}\n />\n ) : null;\n\n // Create the standard img element\n const imgElement = (\n <img\n data-radius={radius}\n loading={loading}\n style={{\n ...style,\n opacity: fadeIn ? (imageLoaded ? (style?.opacity ?? 1) : 0) : (style?.opacity ?? 1),\n transition: fadeIn ? 'opacity 0.3s ease-out' : 'none',\n }}\n className={classNames(\n 'rt-reset',\n 'rt-Image',\n variant === 'blur' && 'rt-Image--blur',\n className,\n )}\n alt={alt}\n src={src}\n onLoad={handleLoad}\n onError={handleError}\n {...imgProps}\n ref={(node) => {\n imgRef.current = node;\n if (typeof forwardedRef === 'function') {\n forwardedRef(node);\n } else if (forwardedRef) {\n forwardedRef.current = node;\n }\n }}\n />\n );\n\n // Wrapper for images with placeholders\n const imageWithPlaceholder =\n placeholder || showSkeleton ? (\n <Box position=\"relative\" display=\"inline-block\" style={wrapperStyle}>\n {skeletonElement}\n {placeholderElement}\n {imgElement}\n </Box>\n ) : (\n imgElement\n );\n\n // Handle asChild - inject img into the child element\n if (asChild && children) {\n const child = React.Children.only(children) as React.ReactElement<any>;\n\n if (variant === 'blur') {\n // For blur variant with asChild\n return React.cloneElement(child, {\n className: classNames(child.props?.className, 'rt-variant-blur'),\n style: {\n textDecoration: 'none', // Reset link underlines\n color: 'inherit', // Reset link colors\n border: 'none', // Reset button borders\n background: 'none', // Reset button backgrounds\n padding: 0, // Reset button padding\n font: 'inherit', // Reset button fonts\n cursor: 'pointer', // Ensure interactive cursor\n ...child.props?.style,\n },\n children: (\n <Box position=\"relative\" display=\"inline-block\" style={wrapperStyle}>\n {/* Background blurred image */}\n <img\n data-radius={radius}\n loading={loading}\n style={{\n ...style,\n position: 'absolute',\n top: '8px',\n left: '0',\n }}\n className={classNames(\n 'rt-reset',\n 'rt-Image',\n 'rt-Image--blur',\n 'rt-Image--blur-bg',\n className,\n )}\n alt=\"\"\n src={src}\n {...imgProps}\n />\n {/* Foreground image */}\n <img\n data-radius={radius}\n loading={loading}\n style={{\n ...style,\n position: 'relative',\n zIndex: 1,\n opacity: fadeIn ? (imageLoaded ? (style?.opacity ?? 1) : 0) : (style?.opacity ?? 1),\n transition: fadeIn ? 'opacity 0.3s ease-out' : 'none',\n }}\n className={classNames('rt-reset', 'rt-Image', 'rt-Image--blur', className)}\n alt={alt}\n src={src}\n onLoad={handleLoad}\n onError={handleError}\n {...imgProps}\n ref={(node) => {\n imgRef.current = node;\n if (typeof forwardedRef === 'function') {\n forwardedRef(node);\n } else if (forwardedRef) {\n forwardedRef.current = node;\n }\n }}\n />\n </Box>\n ),\n });\n } else {\n // For surface variant with asChild\n return React.cloneElement(child, {\n className: classNames(child.props?.className),\n style: {\n textDecoration: 'none', // Reset link underlines\n color: 'inherit', // Reset link colors\n border: 'none', // Reset button borders\n background: 'none', // Reset button backgrounds\n padding: 0, // Reset button padding\n font: 'inherit', // Reset button fonts\n cursor: 'pointer', // Ensure interactive cursor\n display: 'inline-block', // Ensure proper sizing\n ...child.props?.style, // Allow user overrides\n },\n children: imageWithPlaceholder,\n });\n }\n }\n\n // Regular rendering without asChild\n if (variant === 'blur') {\n return (\n <Box\n className=\"rt-variant-blur\"\n position=\"relative\"\n display=\"inline-block\"\n style={wrapperStyle}\n >\n {/* Background blurred image */}\n <img\n data-radius={radius}\n loading={loading}\n style={{\n ...style,\n position: 'absolute',\n top: '8px',\n left: '0',\n }}\n className={classNames(\n 'rt-reset',\n 'rt-Image',\n 'rt-Image--blur',\n 'rt-Image--blur-bg',\n className,\n )}\n alt=\"\"\n src={src}\n {...imgProps}\n />\n {/* Foreground image */}\n <img\n data-radius={radius}\n loading={loading}\n style={{\n ...style,\n position: 'relative',\n zIndex: 1,\n opacity: fadeIn ? (imageLoaded ? (style?.opacity ?? 1) : 0) : (style?.opacity ?? 1),\n transition: fadeIn ? 'opacity 0.3s ease-out' : 'none',\n }}\n className={classNames('rt-reset', 'rt-Image', 'rt-Image--blur', className)}\n alt={alt}\n src={src}\n onLoad={handleLoad}\n onError={handleError}\n {...imgProps}\n ref={(node) => {\n imgRef.current = node;\n if (typeof forwardedRef === 'function') {\n forwardedRef(node);\n } else if (forwardedRef) {\n forwardedRef.current = node;\n }\n }}\n />\n </Box>\n );\n }\n\n return imageWithPlaceholder;\n});\n\nImage.displayName = 'Image';\n\nexport { Image };\nexport type { ImageProps };\n"],
5
- "mappings": "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",
6
- "names": ["image_exports", "__export", "Image", "__toCommonJS", "React", "import_classnames", "import_image_props", "import_extract_props", "import_margin_props", "import_width_props", "import_height_props", "import_layout_props", "import_skeleton", "import_box", "props", "forwardedRef", "variant", "wrapperStyle", "restProps", "asChild", "className", "radius", "style", "loading", "alt", "src", "placeholder", "showSkeleton", "fadeIn", "userOnLoad", "userOnError", "children", "imgProps", "imageLoaded", "setImageLoaded", "imageError", "setImageError", "showPlaceholder", "setShowPlaceholder", "imgRef", "handleLoad", "event", "handleError", "img", "skeletonElement", "placeholderElement", "classNames", "imgElement", "node", "imageWithPlaceholder", "child"]
4
+ "sourcesContent": ["'use client';\n\nimport * as React from 'react';\nimport classNames from 'classnames';\n\nimport { imagePropDefs } from './image.props.js';\nimport { extractProps } from '../helpers/extract-props.js';\nimport { marginPropDefs } from '../props/margin.props.js';\nimport { widthPropDefs } from '../props/width.props.js';\nimport { heightPropDefs } from '../props/height.props.js';\nimport { layoutPropDefs } from '../props/layout.props.js';\nimport { Skeleton } from './skeleton.js';\nimport { Box } from './box.js';\n\nimport type { ComponentPropsWithout, RemovedProps } from '../helpers/component-props.js';\nimport type { MarginProps } from '../props/margin.props.js';\nimport type { WidthProps } from '../props/width.props.js';\nimport type { HeightProps } from '../props/height.props.js';\nimport type { LayoutProps } from '../props/layout.props.js';\nimport type { GetPropDefTypes } from '../props/prop-def.js';\n\ntype ImageElement = React.ElementRef<'img'>;\ntype ImageOwnProps = GetPropDefTypes<typeof imagePropDefs> & {\n loading?: 'eager' | 'lazy';\n /**\n * Placeholder image URL to show while the main image is loading.\n * Can be a low-quality/blurred version of the main image.\n */\n placeholder?: string;\n /**\n * Shows a skeleton placeholder while loading instead of a blank space.\n */\n showSkeleton?: boolean;\n /**\n * Whether the image should fade in when loaded. Set to false for background images or when you want immediate visibility.\n */\n fadeIn?: boolean;\n /**\n * Callback fired when the image successfully loads.\n */\n onLoad?: (event: React.SyntheticEvent<HTMLImageElement>) => void;\n /**\n * Callback fired when the image fails to load.\n */\n onError?: (event: React.SyntheticEvent<HTMLImageElement>) => void;\n /**\n * Style object to apply to the wrapper container. Useful for overriding display, width, height, etc.\n */\n wrapperStyle?: React.CSSProperties;\n};\n\ninterface ImageProps\n extends ComponentPropsWithout<'img', RemovedProps | 'color' | 'width' | 'height' | 'alt'>,\n MarginProps,\n WidthProps,\n HeightProps,\n LayoutProps,\n ImageOwnProps {\n /**\n * The alt attribute provides alternative information for an image if a user for some reason cannot view it.\n * Required for accessibility when not using asChild. Use empty string for decorative images.\n */\n alt: string;\n}\n\nconst Image = React.forwardRef<ImageElement, ImageProps>((props, forwardedRef) => {\n const { variant = 'surface', wrapperStyle, ...restProps } = props;\n const {\n asChild,\n className,\n radius,\n style,\n loading = 'lazy',\n alt,\n src,\n placeholder,\n showSkeleton = false,\n fadeIn = true,\n onLoad: userOnLoad,\n onError: userOnError,\n children,\n ...wrapperProps\n } = extractProps(\n restProps,\n imagePropDefs,\n marginPropDefs,\n widthPropDefs,\n heightPropDefs,\n layoutPropDefs,\n );\n\n // Loading state management\n const [imageLoaded, setImageLoaded] = React.useState(false);\n const [imageError, setImageError] = React.useState(false);\n const [showPlaceholder, setShowPlaceholder] = React.useState(!!placeholder);\n\n // Ref to check if image is already loaded (for cached images)\n const imgRef = React.useRef<HTMLImageElement>(null);\n\n // Handle image load\n const handleLoad = React.useCallback(\n (event: React.SyntheticEvent<HTMLImageElement>) => {\n setImageLoaded(true);\n setImageError(false);\n setShowPlaceholder(false);\n userOnLoad?.(event);\n },\n [userOnLoad],\n );\n\n // Handle image error\n const handleError = React.useCallback(\n (event: React.SyntheticEvent<HTMLImageElement>) => {\n setImageLoaded(false);\n setImageError(true);\n setShowPlaceholder(false);\n userOnError?.(event);\n },\n [userOnError],\n );\n\n // Check if image is already loaded (for cached images)\n React.useEffect(() => {\n const img = imgRef.current;\n if (img && img.complete && img.naturalWidth > 0) {\n setImageLoaded(true);\n setImageError(false);\n setShowPlaceholder(false);\n }\n }, [src]);\n\n // Validate required props\n if (!src) {\n console.warn('Image component: src prop is required');\n return null;\n }\n\n if (!asChild && alt === undefined) {\n console.warn('Image component: alt prop is required for accessibility when not using asChild');\n }\n\n // Common image styles that apply to the actual img element\n const imgStyle: React.CSSProperties = {\n width: '100%',\n height: '100%',\n display: 'block',\n opacity: fadeIn ? (imageLoaded ? 1 : 0) : 1,\n transition: fadeIn ? 'opacity 0.3s ease-out' : 'none',\n ...style, // Allow style overrides for the image\n };\n\n // Wrapper styles that get all the sizing and positioning\n const wrapperStyleFinal: React.CSSProperties = {\n position: 'relative',\n display: 'block', // Use block instead of inline-block to work better with AspectRatio\n ...wrapperStyle,\n };\n\n // Create skeleton placeholder\n const skeletonElement =\n showSkeleton && !imageLoaded && !imageError ? (\n <Skeleton\n width=\"100%\"\n height=\"100px\" // Default height, can be overridden by wrapper\n style={{\n borderRadius: radius ? `var(--radius-${radius})` : undefined,\n }}\n className={className}\n />\n ) : null;\n\n // Create placeholder image element\n const placeholderElement =\n placeholder && showPlaceholder ? (\n <img\n data-radius={radius}\n style={{\n ...imgStyle,\n filter: 'blur(4px)',\n opacity: 0.7,\n transition: 'opacity 0.3s ease-out',\n }}\n className={classNames('rt-reset', 'rt-Image', 'rt-Image--placeholder', className)}\n alt=\"\"\n src={placeholder}\n />\n ) : null;\n\n // Handle asChild - inject content into the child element\n if (asChild && children) {\n const child = React.Children.only(children) as React.ReactElement<any>;\n\n if (variant === 'blur') {\n // For blur variant with asChild\n return React.cloneElement(child, {\n className: classNames(child.props?.className, 'rt-variant-blur'),\n style: {\n textDecoration: 'none',\n color: 'inherit',\n border: 'none',\n background: 'none',\n padding: 0,\n font: 'inherit',\n cursor: 'pointer',\n ...wrapperStyleFinal,\n ...style, // Apply sizing to the child element\n ...child.props?.style,\n },\n children: (\n <>\n {/* Background blurred image */}\n <img\n data-radius={radius}\n loading={loading}\n style={{\n position: 'absolute',\n top: '0',\n left: '0',\n width: '105%',\n height: '105%',\n transform: 'translate(-2.5%, -2.5%)',\n filter: 'blur(16px) saturate(1.5)',\n opacity: 0.5,\n zIndex: -1,\n }}\n className={classNames('rt-reset', 'rt-Image', 'rt-Image--blur-bg', className)}\n alt=\"\"\n src={src}\n />\n {/* Foreground image */}\n <img\n data-radius={radius}\n loading={loading}\n style={imgStyle}\n className={classNames('rt-reset', 'rt-Image', 'rt-Image--blur', className)}\n alt={alt}\n src={src}\n onLoad={handleLoad}\n onError={handleError}\n ref={(node) => {\n imgRef.current = node;\n if (typeof forwardedRef === 'function') {\n forwardedRef(node);\n } else if (forwardedRef) {\n forwardedRef.current = node;\n }\n }}\n />\n </>\n ),\n });\n } else {\n // For surface variant with asChild\n return React.cloneElement(child, {\n className: classNames(child.props?.className),\n style: {\n textDecoration: 'none',\n color: 'inherit',\n border: 'none',\n background: 'none',\n padding: 0,\n font: 'inherit',\n cursor: 'pointer',\n ...wrapperStyleFinal,\n ...child.props?.style,\n },\n children: (\n <>\n {skeletonElement}\n {placeholderElement}\n <img\n data-radius={radius}\n loading={loading}\n style={imgStyle}\n className={classNames('rt-reset', 'rt-Image', className)}\n alt={alt}\n src={src}\n onLoad={handleLoad}\n onError={handleError}\n ref={(node) => {\n imgRef.current = node;\n if (typeof forwardedRef === 'function') {\n forwardedRef(node);\n } else if (forwardedRef) {\n forwardedRef.current = node;\n }\n }}\n />\n </>\n ),\n });\n }\n }\n\n // Regular rendering without asChild - both variants use Box wrapper\n if (variant === 'blur') {\n return (\n <Box\n className={classNames('rt-variant-blur', className)}\n style={{\n ...style, // Include the width/height styles from extractProps\n ...wrapperStyleFinal,\n }}\n {...wrapperProps} // Apply other props to wrapper\n >\n {/* Background blurred image */}\n <img\n data-radius={radius}\n loading={loading}\n style={{\n position: 'absolute',\n top: '0',\n left: '0',\n width: '105%',\n height: '105%',\n transform: 'translate(-2.5%, -2.5%)',\n filter: 'blur(16px) saturate(1.5)',\n opacity: 0.5,\n zIndex: -1,\n }}\n className={classNames('rt-reset', 'rt-Image', 'rt-Image--blur-bg', className)}\n alt=\"\"\n src={src}\n />\n {/* Foreground image */}\n <img\n data-radius={radius}\n loading={loading}\n style={imgStyle}\n className={classNames('rt-reset', 'rt-Image', 'rt-Image--blur', className)}\n alt={alt}\n src={src}\n onLoad={handleLoad}\n onError={handleError}\n ref={(node) => {\n imgRef.current = node;\n if (typeof forwardedRef === 'function') {\n forwardedRef(node);\n } else if (forwardedRef) {\n forwardedRef.current = node;\n }\n }}\n />\n </Box>\n );\n }\n\n // Surface variant - also use Box wrapper for consistency\n return (\n <Box\n className={className}\n style={{\n ...style, // Include the width/height styles from extractProps\n ...wrapperStyleFinal,\n }}\n {...wrapperProps} // Apply other props to wrapper\n >\n {skeletonElement}\n {placeholderElement}\n <img\n data-radius={radius}\n loading={loading}\n style={imgStyle}\n className={classNames('rt-reset', 'rt-Image', className)}\n alt={alt}\n src={src}\n onLoad={handleLoad}\n onError={handleError}\n ref={(node) => {\n imgRef.current = node;\n if (typeof forwardedRef === 'function') {\n forwardedRef(node);\n } else if (forwardedRef) {\n forwardedRef.current = node;\n }\n }}\n />\n </Box>\n );\n});\n\nImage.displayName = 'Image';\n\nexport { Image };\nexport type { ImageProps };\n"],
5
+ "mappings": "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",
6
+ "names": ["image_exports", "__export", "Image", "__toCommonJS", "React", "import_classnames", "import_image_props", "import_extract_props", "import_margin_props", "import_width_props", "import_height_props", "import_layout_props", "import_skeleton", "import_box", "props", "forwardedRef", "variant", "wrapperStyle", "restProps", "asChild", "className", "radius", "style", "loading", "alt", "src", "placeholder", "showSkeleton", "fadeIn", "userOnLoad", "userOnError", "children", "wrapperProps", "imageLoaded", "setImageLoaded", "imageError", "setImageError", "showPlaceholder", "setShowPlaceholder", "imgRef", "handleLoad", "event", "handleError", "img", "imgStyle", "wrapperStyleFinal", "skeletonElement", "placeholderElement", "classNames", "child", "node"]
7
7
  }
@@ -1 +1 @@
1
- {"version":3,"file":"sidebar.d.ts","sourceRoot":"","sources":["../../../src/components/sidebar.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sidebar.d.ts","sourceRoot":"","sources":["../../../src/components/sidebar.tsx"],"names":[],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- "use strict";"use client";var ae=Object.create;var H=Object.defineProperty;var ne=Object.getOwnPropertyDescriptor;var ie=Object.getOwnPropertyNames;var se=Object.getPrototypeOf,de=Object.prototype.hasOwnProperty;var pe=(o,t)=>{for(var r in t)H(o,r,{get:t[r],enumerable:!0})},Q=(o,t,r,a)=>{if(t&&typeof t=="object"||typeof t=="function")for(let n of ie(t))!de.call(o,n)&&n!==r&&H(o,n,{get:()=>t[n],enumerable:!(a=ne(t,n))||a.enumerable});return o};var X=(o,t,r)=>(r=o!=null?ae(se(o)):{},Q(t||!o||!o.__esModule?H(r,"default",{value:o,enumerable:!0}):r,o)),le=o=>Q(H({},"__esModule",{value:!0}),o);var be={};pe(be,{Content:()=>W,Footer:()=>A,Group:()=>U,GroupContent:()=>J,GroupLabel:()=>q,Header:()=>D,Menu:()=>k,MenuButton:()=>V,MenuItem:()=>F,MenuSub:()=>j,MenuSubContent:()=>K,MenuSubTrigger:()=>_,Provider:()=>E,Root:()=>G,Separator:()=>O,Trigger:()=>$,useSidebar:()=>w});module.exports=le(be);var e=X(require("react")),i=X(require("classnames")),z=require("./slot.js"),y=require("radix-ui"),P=require("./sidebar.props.js"),x=require("./theme.js"),Y=require("./icon-button.js"),Z=require("./scroll-area.js"),ee=require("./separator.js"),R=require("./icons.js"),oe=require("../helpers/extract-props.js"),re=require("./kbd.js"),I=require("./badge.js");const h=e.createContext(null);function w(){const o=e.useContext(h);if(!o)throw new Error("useSidebar must be used within a SidebarProvider.");return o}function ue(){const[o,t]=e.useState(!1);return e.useEffect(()=>{const r=()=>{t(window.innerWidth<768)};return r(),window.addEventListener("resize",r),()=>window.removeEventListener("resize",r)},[]),o}const E=e.forwardRef(({defaultOpen:o=!0,open:t,onOpenChange:r,side:a="left",className:n,children:s,...l},u)=>{const d=ue(),[S,c]=e.useState(!1),[b,v]=e.useState(o),p=t??b,g=e.useCallback(f=>{const B=typeof f=="function"?f(p):f;r?r(B):v(B)},[r,p]),m=e.useCallback(()=>d?c(f=>!f):g(f=>!f),[d,g,c]),T=p?"expanded":"collapsed",N=e.useMemo(()=>({state:T,open:p,setOpen:g,isMobile:d,openMobile:S,setOpenMobile:c,toggleSidebar:m,side:a}),[T,p,g,d,S,c,m,a]);return e.createElement("div",{...l,ref:u,className:(0,i.default)("rt-SidebarProvider",n),"data-state":T,"data-side":a},e.createElement(h.Provider,{value:N},s))});E.displayName="Sidebar.Provider";const G=e.forwardRef((o,t)=>{const r=(0,x.useThemeContext)(),{isMobile:a,state:n,openMobile:s,setOpenMobile:l}=w(),{size:u=P.sidebarPropDefs.size.default,variant:d=P.sidebarPropDefs.variant.default,menuVariant:S=P.sidebarPropDefs.menuVariant.default,type:c=P.sidebarPropDefs.type.default,side:b=P.sidebarPropDefs.side.default,collapsible:v=P.sidebarPropDefs.collapsible.default,panelBackground:p,color:g,highContrast:m=P.sidebarPropDefs.highContrast.default,asChild:T}=o,{className:N,children:f,...B}=(0,oe.extractProps)(o,P.sidebarPropDefs),{asChild:ce,panelBackground:fe,...L}=B,M=g||r.accentColor,te=typeof u=="object"?u.initial||"2":u,C=e.useContext(h);return C&&(C.side=b,C.type=c,C.variant=d,C.menuVariant=S,C.collapsible=v,C.size=te),v==="none"?e.createElement("div",{...L,ref:t,"data-accent-color":M,"data-state":n,"data-side":b,"data-type":c,"data-collapsible":v,className:(0,i.default)("rt-SidebarRoot",`rt-r-size-${u}`,N)},e.createElement(x.Theme,null,e.createElement("div",{className:(0,i.default)("rt-SidebarContainer",`rt-variant-${d}`),"data-accent-color":M,"data-high-contrast":m||void 0,"data-side":b,"data-panel-background":p},f))):a?e.createElement("div",{...L,ref:t,"data-accent-color":M,"data-state":s?"open":"closed","data-side":b,"data-type":c,"data-collapsible":v,className:(0,i.default)("rt-SidebarRoot","rt-SidebarRoot--mobile",N)},e.createElement(x.Theme,null,e.createElement("div",{className:(0,i.default)("rt-SidebarContainer",`rt-variant-${d}`,`rt-r-size-${u}`),"data-accent-color":M,"data-high-contrast":m||void 0,"data-side":b,"data-panel-background":p},f))):e.createElement("div",{...L,ref:t,"data-accent-color":M,"data-state":n,"data-side":b,"data-type":c,"data-collapsible":v,className:(0,i.default)("rt-SidebarRoot",N)},e.createElement(x.Theme,null,e.createElement("div",{className:(0,i.default)("rt-SidebarContainer",`rt-variant-${d}`,`rt-r-size-${u}`),"data-accent-color":M,"data-high-contrast":m||void 0,"data-side":b,"data-panel-background":p},f)))});G.displayName="Sidebar.Root";const W=e.forwardRef(({className:o,children:t,...r},a)=>{const n=e.useContext(h),{size:s="2",menuVariant:l="soft"}=n||{};return e.createElement(Z.ScrollArea,{type:"auto"},e.createElement("div",{...r,ref:a,className:(0,i.default)("rt-SidebarContent",`rt-r-size-${s}`,`rt-menu-variant-${l}`,o)},t))});W.displayName="Sidebar.Content";const D=e.forwardRef(({className:o,asContainer:t=!0,...r},a)=>{const n=e.useContext(h),{size:s="2",menuVariant:l="soft"}=n||{};return e.createElement("div",{...r,ref:a,className:(0,i.default)("rt-SidebarHeader",`rt-r-size-${s}`,`rt-menu-variant-${l}`,{"rt-SidebarHeader--container":t},o)})});D.displayName="Sidebar.Header";const A=e.forwardRef(({className:o,asContainer:t=!0,...r},a)=>{const n=e.useContext(h),{size:s="2",menuVariant:l="soft"}=n||{};return e.createElement("div",{...r,ref:a,className:(0,i.default)("rt-SidebarFooter",`rt-r-size-${s}`,`rt-menu-variant-${l}`,{"rt-SidebarFooter--container":t},o)})});A.displayName="Sidebar.Footer";const $=e.forwardRef(({onClick:o,children:t,...r},a)=>{const{toggleSidebar:n}=w();return e.createElement(Y.IconButton,{...r,ref:a,variant:"ghost",onClick:s=>{o?.(s),n()}},t||e.createElement(R.ChevronDownIcon,null))});$.displayName="Sidebar.Trigger";const O=e.forwardRef(({className:o,...t},r)=>e.createElement(ee.Separator,{...t,ref:r,className:(0,i.default)("rt-SidebarSeparator",o)}));O.displayName="Sidebar.Separator";const k=e.forwardRef(({className:o,...t},r)=>e.createElement("ul",{...t,ref:r,className:(0,i.default)("rt-SidebarMenu",o)}));k.displayName="Sidebar.Menu";const F=e.forwardRef(({className:o,...t},r)=>e.createElement("li",{...t,ref:r,className:(0,i.default)("rt-SidebarMenuItem",o)}));F.displayName="Sidebar.MenuItem";const V=e.forwardRef(({asChild:o=!1,isActive:t=!1,shortcut:r,badge:a,className:n,children:s,onMouseEnter:l,onMouseLeave:u,...d},S)=>{const[c,b]=e.useState(!1),v=e.useContext(h),{size:p="2"}=v||{};return e.createElement(o?z.Slot:"button",{...d,ref:S,className:(0,i.default)("rt-reset","rt-SidebarMenuButton",n),"data-active":t||void 0,"data-highlighted":c||void 0,onMouseEnter:m=>{b(!0),l?.(m)},onMouseLeave:m=>{b(!1),u?.(m)}},o?s:e.createElement(e.Fragment,null,s,a&&e.createElement("div",{className:"rt-SidebarMenuBadge"},typeof a=="string"?e.createElement(I.Badge,{size:p,variant:"soft"},a):e.createElement(I.Badge,{size:a.size||p,variant:a.variant||"soft",color:a.color,highContrast:a.highContrast,radius:a.radius},a.content)),r&&e.createElement("div",{className:"rt-BaseMenuShortcut rt-SidebarMenuShortcut"},e.createElement(re.Kbd,{size:p},r))))});V.displayName="Sidebar.MenuButton";const j=e.forwardRef(({defaultOpen:o=!1,children:t,...r},a)=>e.createElement("div",{...r,ref:a},e.createElement(y.Accordion.Root,{type:"single",collapsible:!0,defaultValue:o?"item":void 0},e.createElement(y.Accordion.Item,{value:"item"},t))));j.displayName="Sidebar.MenuSub";const _=e.forwardRef(({asChild:o=!1,className:t,children:r,onMouseEnter:a,onMouseLeave:n,...s},l)=>{const[u,d]=e.useState(!1);return e.createElement(y.Accordion.Header,{asChild:!0},e.createElement("div",null,e.createElement(y.Accordion.Trigger,{...s,ref:l,asChild:o,className:(0,i.default)("rt-reset","rt-SidebarMenuButton","rt-SidebarMenuSubTrigger",t),"data-highlighted":u||void 0,onMouseEnter:S=>{d(!0),a?.(S)},onMouseLeave:S=>{d(!1),n?.(S)}},o?r:e.createElement(e.Fragment,null,r,e.createElement(R.ThickChevronRightIcon,{className:(0,i.default)("rt-BaseMenuSubTriggerIcon","rt-SidebarMenuSubTriggerIcon")})))))});_.displayName="Sidebar.MenuSubTrigger";const K=e.forwardRef(({className:o,children:t,...r},a)=>e.createElement(y.Accordion.Content,{...r,ref:a,className:(0,i.default)("rt-SidebarMenuSubContent",o)},e.createElement("div",{className:"rt-SidebarMenuSubList"},t)));K.displayName="Sidebar.MenuSubContent";const U=e.forwardRef(({className:o,...t},r)=>e.createElement("div",{...t,ref:r,className:(0,i.default)("rt-SidebarGroup",o)}));U.displayName="Sidebar.Group";const q=e.forwardRef(({asChild:o=!1,className:t,...r},a)=>e.createElement(o?z.Slot:"div",{...r,ref:a,className:(0,i.default)("rt-SidebarGroupLabel",t)}));q.displayName="Sidebar.GroupLabel";const J=e.forwardRef(({className:o,...t},r)=>e.createElement("div",{...t,ref:r,className:(0,i.default)("rt-SidebarGroupContent",o)}));J.displayName="Sidebar.GroupContent";
1
+ "use strict";"use client";var ae=Object.create;var w=Object.defineProperty;var ne=Object.getOwnPropertyDescriptor;var ie=Object.getOwnPropertyNames;var se=Object.getPrototypeOf,de=Object.prototype.hasOwnProperty;var pe=(t,r)=>{for(var o in r)w(t,o,{get:r[o],enumerable:!0})},Q=(t,r,o,a)=>{if(r&&typeof r=="object"||typeof r=="function")for(let n of ie(r))!de.call(t,n)&&n!==o&&w(t,n,{get:()=>r[n],enumerable:!(a=ne(r,n))||a.enumerable});return t};var X=(t,r,o)=>(o=t!=null?ae(se(t)):{},Q(r||!t||!t.__esModule?w(o,"default",{value:t,enumerable:!0}):o,t)),le=t=>Q(w({},"__esModule",{value:!0}),t);var be={};pe(be,{Content:()=>W,Footer:()=>A,Group:()=>U,GroupContent:()=>J,GroupLabel:()=>q,Header:()=>D,Menu:()=>k,MenuButton:()=>F,MenuItem:()=>V,MenuSub:()=>j,MenuSubContent:()=>K,MenuSubTrigger:()=>_,Provider:()=>E,Root:()=>G,Separator:()=>O,Trigger:()=>$,useSidebar:()=>H});module.exports=le(be);var e=X(require("react")),i=X(require("classnames")),I=require("./slot.js"),y=require("radix-ui"),P=require("./sidebar.props.js"),x=require("./theme.js"),Y=require("./icon-button.js"),Z=require("./scroll-area.js"),ee=require("./separator.js"),L=require("./icons.js"),te=require("../helpers/extract-props.js"),oe=require("./kbd.js"),z=require("./badge.js");const M=e.createContext(null);function H(){const t=e.useContext(M);if(!t)throw new Error("useSidebar must be used within a SidebarProvider.");return t}function ue(){const[t,r]=e.useState(!1);return e.useEffect(()=>{const o=()=>{r(window.innerWidth<768)};return o(),window.addEventListener("resize",o),()=>window.removeEventListener("resize",o)},[]),t}const E=e.forwardRef(({defaultOpen:t=!0,open:r,onOpenChange:o,side:a="left",className:n,children:s,...b},p)=>{const d=ue(),[m,l]=e.useState(!1),[c,f]=e.useState(t),u=r??c,g=e.useCallback(S=>{const B=typeof S=="function"?S(u):S;o?o(B):f(B)},[o,u]),v=e.useCallback(()=>d?l(S=>!S):g(S=>!S),[d,g,l]),T=u?"expanded":"collapsed",N=e.useMemo(()=>({state:T,open:u,setOpen:g,isMobile:d,openMobile:m,setOpenMobile:l,toggleSidebar:v,side:a}),[T,u,g,d,m,l,v,a]);return e.createElement("div",{...b,ref:p,className:(0,i.default)("rt-SidebarProvider",n),"data-state":T,"data-side":a},e.createElement(M.Provider,{value:N},s))});E.displayName="Sidebar.Provider";const G=e.forwardRef((t,r)=>{const o=(0,x.useThemeContext)(),{isMobile:a,state:n,openMobile:s,setOpenMobile:b}=H(),{size:p=P.sidebarPropDefs.size.default,variant:d=P.sidebarPropDefs.variant.default,menuVariant:m=P.sidebarPropDefs.menuVariant.default,type:l=P.sidebarPropDefs.type.default,side:c=P.sidebarPropDefs.side.default,collapsible:f=P.sidebarPropDefs.collapsible.default,panelBackground:u,color:g,highContrast:v=P.sidebarPropDefs.highContrast.default,asChild:T}=t,{className:N,children:S,...B}=(0,te.extractProps)(t,P.sidebarPropDefs),{asChild:ce,panelBackground:fe,...R}=B,h=g||o.accentColor,re=typeof p=="object"?p.initial||"2":p,C=e.useContext(M);return C&&(C.side=c,C.type=l,C.variant=d,C.menuVariant=m,C.collapsible=f,C.size=re),f==="none"?e.createElement("div",{...R,ref:r,"data-accent-color":h,"data-state":n,"data-side":c,"data-type":l,"data-collapsible":f,className:(0,i.default)("rt-SidebarRoot",`rt-r-size-${p}`,N)},e.createElement(x.Theme,null,e.createElement("div",{className:(0,i.default)("rt-SidebarContainer",`rt-variant-${d}`),"data-accent-color":h,"data-high-contrast":v||void 0,"data-side":c,"data-panel-background":u},S))):a?e.createElement("div",{...R,ref:r,"data-accent-color":h,"data-state":s?"open":"closed","data-side":c,"data-type":l,"data-collapsible":f,className:(0,i.default)("rt-SidebarRoot","rt-SidebarRoot--mobile",N)},e.createElement(x.Theme,null,e.createElement("div",{className:(0,i.default)("rt-SidebarContainer",`rt-variant-${d}`,`rt-r-size-${p}`),"data-accent-color":h,"data-high-contrast":v||void 0,"data-side":c,"data-type":l,"data-collapsible":f,"data-panel-background":u},S))):e.createElement("div",{...R,ref:r,"data-accent-color":h,"data-state":n,"data-side":c,"data-type":l,"data-collapsible":f,className:(0,i.default)("rt-SidebarRoot",N)},e.createElement(x.Theme,null,e.createElement("div",{className:(0,i.default)("rt-SidebarContainer",`rt-variant-${d}`,`rt-r-size-${p}`),"data-accent-color":h,"data-high-contrast":v||void 0,"data-side":c,"data-type":l,"data-collapsible":f,"data-panel-background":u},S)))});G.displayName="Sidebar.Root";const W=e.forwardRef(({className:t,children:r,...o},a)=>{const n=e.useContext(M),{size:s="2",menuVariant:b="soft",type:p="sidebar",collapsible:d="none"}=n||{};return e.createElement(Z.ScrollArea,{type:"auto"},e.createElement("div",{...o,ref:a,className:(0,i.default)("rt-BaseMenuContent","rt-SidebarContent",`rt-r-size-${s}`,`rt-menu-variant-${b}`,t),"data-type":p,"data-collapsible":d},r))});W.displayName="Sidebar.Content";const D=e.forwardRef(({className:t,asContainer:r=!0,...o},a)=>{const n=e.useContext(M),{size:s="2",menuVariant:b="soft"}=n||{};return e.createElement("div",{...o,ref:a,className:(0,i.default)("rt-SidebarHeader",`rt-r-size-${s}`,`rt-menu-variant-${b}`,{"rt-SidebarHeader--container":r},t)})});D.displayName="Sidebar.Header";const A=e.forwardRef(({className:t,asContainer:r=!0,...o},a)=>{const n=e.useContext(M),{size:s="2",menuVariant:b="soft"}=n||{};return e.createElement("div",{...o,ref:a,className:(0,i.default)("rt-SidebarFooter",`rt-r-size-${s}`,`rt-menu-variant-${b}`,{"rt-SidebarFooter--container":r},t)})});A.displayName="Sidebar.Footer";const $=e.forwardRef(({onClick:t,children:r,...o},a)=>{const{toggleSidebar:n}=H();return e.createElement(Y.IconButton,{...o,ref:a,variant:"ghost",onClick:s=>{t?.(s),n()}},r||e.createElement(L.ChevronDownIcon,null))});$.displayName="Sidebar.Trigger";const O=e.forwardRef(({className:t,...r},o)=>e.createElement(ee.Separator,{...r,ref:o,className:(0,i.default)("rt-SidebarSeparator",t)}));O.displayName="Sidebar.Separator";const k=e.forwardRef(({className:t,...r},o)=>e.createElement("ul",{...r,ref:o,className:(0,i.default)("rt-BaseMenuViewport","rt-SidebarMenu",t)}));k.displayName="Sidebar.Menu";const V=e.forwardRef(({className:t,...r},o)=>e.createElement("li",{...r,ref:o,className:(0,i.default)("rt-SidebarMenuItem",t)}));V.displayName="Sidebar.MenuItem";const F=e.forwardRef(({asChild:t=!1,isActive:r=!1,shortcut:o,badge:a,className:n,children:s,onMouseEnter:b,onMouseLeave:p,...d},m)=>{const[l,c]=e.useState(!1),f=e.useContext(M),{size:u="2"}=f||{};return e.createElement(t?I.Slot:"button",{...d,ref:m,className:(0,i.default)("rt-reset","rt-BaseMenuItem","rt-SidebarMenuButton",n),"data-active":r||void 0,"data-highlighted":l||void 0,onMouseEnter:v=>{c(!0),b?.(v)},onMouseLeave:v=>{c(!1),p?.(v)}},t?s:e.createElement(e.Fragment,null,s,a&&e.createElement("div",{className:"rt-SidebarMenuBadge"},typeof a=="string"?e.createElement(z.Badge,{size:u,variant:"soft"},a):e.createElement(z.Badge,{size:a.size||u,variant:a.variant||"soft",color:a.color,highContrast:a.highContrast,radius:a.radius},a.content)),o&&e.createElement("div",{className:"rt-BaseMenuShortcut rt-SidebarMenuShortcut"},e.createElement(oe.Kbd,{size:u},o))))});F.displayName="Sidebar.MenuButton";const j=e.forwardRef(({defaultOpen:t=!1,children:r,...o},a)=>e.createElement("div",{...o,ref:a},e.createElement(y.Accordion.Root,{type:"single",collapsible:!0,defaultValue:t?"item":void 0},e.createElement(y.Accordion.Item,{value:"item"},r))));j.displayName="Sidebar.MenuSub";const _=e.forwardRef(({asChild:t=!1,className:r,children:o,onMouseEnter:a,onMouseLeave:n,...s},b)=>{const[p,d]=e.useState(!1);return e.createElement(y.Accordion.Header,{asChild:!0},e.createElement("div",null,e.createElement(y.Accordion.Trigger,{...s,ref:b,asChild:t,className:(0,i.default)("rt-reset","rt-BaseMenuItem","rt-SidebarMenuButton","rt-SidebarMenuSubTrigger",r),"data-highlighted":p||void 0,onMouseEnter:m=>{d(!0),a?.(m)},onMouseLeave:m=>{d(!1),n?.(m)}},t?o:e.createElement(e.Fragment,null,o,e.createElement(L.ThickChevronRightIcon,{className:(0,i.default)("rt-BaseMenuSubTriggerIcon","rt-SidebarMenuSubTriggerIcon")})))))});_.displayName="Sidebar.MenuSubTrigger";const K=e.forwardRef(({className:t,children:r,...o},a)=>e.createElement(y.Accordion.Content,{...o,ref:a,className:(0,i.default)("rt-SidebarMenuSubContent",t)},e.createElement("div",{className:"rt-SidebarMenuSubList"},r)));K.displayName="Sidebar.MenuSubContent";const U=e.forwardRef(({className:t,...r},o)=>e.createElement("div",{...r,ref:o,className:(0,i.default)("rt-BaseMenuGroup","rt-SidebarGroup",t)}));U.displayName="Sidebar.Group";const q=e.forwardRef(({asChild:t=!1,className:r,...o},a)=>e.createElement(t?I.Slot:"div",{...o,ref:a,className:(0,i.default)("rt-BaseMenuLabel","rt-SidebarGroupLabel",r)}));q.displayName="Sidebar.GroupLabel";const J=e.forwardRef(({className:t,...r},o)=>e.createElement("div",{...r,ref:o,className:(0,i.default)("rt-SidebarGroupContent",t)}));J.displayName="Sidebar.GroupContent";
2
2
  //# sourceMappingURL=sidebar.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/components/sidebar.tsx"],
4
- "sourcesContent": ["'use client';\n\nimport * as React from 'react';\nimport classNames from 'classnames';\nimport { Slot } from './slot.js';\nimport { Accordion } from 'radix-ui';\n\nimport { sidebarPropDefs } from './sidebar.props.js';\nimport { Theme, useThemeContext } from './theme.js';\nimport { IconButton } from './icon-button.js';\nimport { ScrollArea } from './scroll-area.js';\nimport { Separator } from './separator.js';\nimport { ChevronDownIcon, ThickChevronRightIcon } from './icons.js';\nimport { extractProps } from '../helpers/extract-props.js';\nimport { Kbd } from './kbd.js';\nimport { Badge } from './badge.js';\n\nimport type { ComponentPropsWithout, RemovedProps } from '../helpers/component-props.js';\nimport type { GetPropDefTypes } from '../props/prop-def.js';\nimport type { BadgeProps } from './badge.js';\n\n// Badge configuration type for sidebar menu buttons\ntype BadgeConfig = {\n content: React.ReactNode;\n variant?: BadgeProps['variant'];\n size?: BadgeProps['size'];\n color?: BadgeProps['color'];\n highContrast?: BadgeProps['highContrast'];\n radius?: BadgeProps['radius'];\n};\n\n// Sidebar context for state management\ntype SidebarContextProps = {\n state: 'expanded' | 'collapsed';\n open: boolean;\n setOpen: (open: boolean) => void;\n openMobile: boolean;\n setOpenMobile: (open: boolean) => void;\n isMobile: boolean;\n toggleSidebar: () => void;\n side: 'left' | 'right';\n type: 'sidebar' | 'floating';\n variant: 'soft' | 'surface' | 'ghost';\n menuVariant: 'solid' | 'soft';\n collapsible: 'offcanvas' | 'icon' | 'none';\n size: '1' | '2';\n};\n\nconst SidebarContext = React.createContext<SidebarContextProps | null>(null);\n\nfunction useSidebar() {\n const context = React.useContext(SidebarContext);\n if (!context) {\n throw new Error('useSidebar must be used within a SidebarProvider.');\n }\n return context;\n}\n\n// Hook to detect mobile (simplified version)\nfunction useIsMobile() {\n const [isMobile, setIsMobile] = React.useState(false);\n\n React.useEffect(() => {\n const checkIsMobile = () => {\n setIsMobile(window.innerWidth < 768);\n };\n\n checkIsMobile();\n window.addEventListener('resize', checkIsMobile);\n return () => window.removeEventListener('resize', checkIsMobile);\n }, []);\n\n return isMobile;\n}\n\n// Provider component\ninterface SidebarProviderProps extends React.ComponentPropsWithoutRef<'div'> {\n defaultOpen?: boolean;\n open?: boolean;\n onOpenChange?: (open: boolean) => void;\n side?: 'left' | 'right';\n}\n\nconst SidebarProvider = React.forwardRef<HTMLDivElement, SidebarProviderProps>(\n (\n {\n defaultOpen = true,\n open: openProp,\n onOpenChange: setOpenProp,\n side = 'left',\n className,\n children,\n ...props\n },\n forwardedRef,\n ) => {\n const isMobile = useIsMobile();\n const [openMobile, setOpenMobile] = React.useState(false);\n\n // Internal state for uncontrolled mode\n const [internalOpen, setInternalOpen] = React.useState(defaultOpen);\n\n // Use controlled state if provided, otherwise internal state\n const open = openProp ?? internalOpen;\n\n const setOpen = React.useCallback(\n (value: boolean | ((value: boolean) => boolean)) => {\n const openState = typeof value === 'function' ? value(open) : value;\n if (setOpenProp) {\n setOpenProp(openState);\n } else {\n setInternalOpen(openState);\n }\n },\n [setOpenProp, open],\n );\n\n // Helper to toggle the sidebar\n const toggleSidebar = React.useCallback(() => {\n return isMobile ? setOpenMobile((open) => !open) : setOpen((open) => !open);\n }, [isMobile, setOpen, setOpenMobile]);\n\n // State for data attributes\n const state = open ? 'expanded' : 'collapsed';\n\n const contextValue = React.useMemo<Partial<SidebarContextProps>>(\n () => ({\n state,\n open,\n setOpen,\n isMobile,\n openMobile,\n setOpenMobile,\n toggleSidebar,\n side,\n }),\n [state, open, setOpen, isMobile, openMobile, setOpenMobile, toggleSidebar, side],\n );\n\n return (\n <div\n {...props}\n ref={forwardedRef}\n className={classNames('rt-SidebarProvider', className)}\n data-state={state}\n data-side={side}\n >\n <SidebarContext.Provider value={contextValue as SidebarContextProps}>\n {children}\n </SidebarContext.Provider>\n </div>\n );\n },\n);\nSidebarProvider.displayName = 'Sidebar.Provider';\n\n// Main Sidebar component\ntype SidebarOwnProps = GetPropDefTypes<typeof sidebarPropDefs>;\ninterface SidebarProps extends ComponentPropsWithout<'div', RemovedProps>, SidebarOwnProps {}\n\nconst Sidebar = React.forwardRef<HTMLDivElement, SidebarProps>((props, forwardedRef) => {\n const themeContext = useThemeContext();\n const { isMobile, state, openMobile, setOpenMobile } = useSidebar();\n\n const {\n size = sidebarPropDefs.size.default,\n variant = sidebarPropDefs.variant.default,\n menuVariant = sidebarPropDefs.menuVariant.default,\n type = sidebarPropDefs.type.default,\n side = sidebarPropDefs.side.default,\n collapsible = sidebarPropDefs.collapsible.default,\n panelBackground,\n color,\n highContrast = sidebarPropDefs.highContrast.default,\n asChild,\n } = props;\n\n const { className, children, ...rootProps } = extractProps(props, sidebarPropDefs);\n const { asChild: _, panelBackground: __, ...safeRootProps } = rootProps; // Remove asChild and panelBackground from DOM props\n const resolvedColor = color || themeContext.accentColor;\n\n // Update context with current props - we'll pass the resolved values\n const resolvedSize = typeof size === 'object' ? size.initial || '2' : size;\n const context = React.useContext(SidebarContext);\n if (context) {\n context.side = side;\n context.type = type;\n context.variant = variant;\n context.menuVariant = menuVariant;\n context.collapsible = collapsible;\n context.size = resolvedSize;\n }\n\n if (collapsible === 'none') {\n return (\n <div\n {...safeRootProps}\n ref={forwardedRef}\n data-accent-color={resolvedColor}\n data-state={state}\n data-side={side}\n data-type={type}\n data-collapsible={collapsible}\n className={classNames('rt-SidebarRoot', `rt-r-size-${size}`, className)}\n >\n <Theme>\n <div\n className={classNames('rt-SidebarContainer', `rt-variant-${variant}`)}\n data-accent-color={resolvedColor}\n data-high-contrast={highContrast || undefined}\n data-side={side}\n data-panel-background={panelBackground}\n >\n {children}\n </div>\n </Theme>\n </div>\n );\n }\n\n if (isMobile) {\n return (\n <div\n {...safeRootProps}\n ref={forwardedRef}\n data-accent-color={resolvedColor}\n data-state={openMobile ? 'open' : 'closed'}\n data-side={side}\n data-type={type}\n data-collapsible={collapsible}\n className={classNames('rt-SidebarRoot', 'rt-SidebarRoot--mobile', className)}\n >\n <Theme>\n <div\n className={classNames(\n 'rt-SidebarContainer',\n `rt-variant-${variant}`,\n `rt-r-size-${size}`,\n )}\n data-accent-color={resolvedColor}\n data-high-contrast={highContrast || undefined}\n data-side={side}\n data-panel-background={panelBackground}\n >\n {children}\n </div>\n </Theme>\n </div>\n );\n }\n\n return (\n <div\n {...safeRootProps}\n ref={forwardedRef}\n data-accent-color={resolvedColor}\n data-state={state}\n data-side={side}\n data-type={type}\n data-collapsible={collapsible}\n className={classNames('rt-SidebarRoot', className)}\n >\n <Theme>\n <div\n className={classNames(\n 'rt-SidebarContainer',\n `rt-variant-${variant}`,\n `rt-r-size-${size}`,\n )}\n data-accent-color={resolvedColor}\n data-high-contrast={highContrast || undefined}\n data-side={side}\n data-panel-background={panelBackground}\n >\n {children}\n </div>\n </Theme>\n </div>\n );\n});\nSidebar.displayName = 'Sidebar.Root';\n\n// Sidebar content area\ninterface SidebarContentProps extends React.ComponentPropsWithoutRef<'div'> {}\n\nconst SidebarContent = React.forwardRef<HTMLDivElement, SidebarContentProps>(\n ({ className, children, ...props }, forwardedRef) => {\n const context = React.useContext(SidebarContext);\n const { size = '2', menuVariant = 'soft' } = context || {};\n\n return (\n <ScrollArea type=\"auto\">\n <div\n {...props}\n ref={forwardedRef}\n className={classNames(\n 'rt-SidebarContent',\n `rt-r-size-${size}`,\n `rt-menu-variant-${menuVariant}`,\n className,\n )}\n >\n {children}\n </div>\n </ScrollArea>\n );\n },\n);\nSidebarContent.displayName = 'Sidebar.Content';\n\n// Sidebar header\ninterface SidebarHeaderProps extends React.ComponentPropsWithoutRef<'div'> {\n /**\n * Whether to use the default flex container layout.\n * @default true\n */\n asContainer?: boolean;\n}\n\nconst SidebarHeader = React.forwardRef<HTMLDivElement, SidebarHeaderProps>(\n ({ className, asContainer = true, ...props }, forwardedRef) => {\n const context = React.useContext(SidebarContext);\n const { size = '2', menuVariant = 'soft' } = context || {};\n\n return (\n <div\n {...props}\n ref={forwardedRef}\n className={classNames(\n 'rt-SidebarHeader',\n `rt-r-size-${size}`,\n `rt-menu-variant-${menuVariant}`,\n {\n 'rt-SidebarHeader--container': asContainer,\n },\n className,\n )}\n />\n );\n },\n);\nSidebarHeader.displayName = 'Sidebar.Header';\n\n// Sidebar footer\ninterface SidebarFooterProps extends React.ComponentPropsWithoutRef<'div'> {\n /**\n * Whether to use the default flex container layout.\n * @default true\n */\n asContainer?: boolean;\n}\n\nconst SidebarFooter = React.forwardRef<HTMLDivElement, SidebarFooterProps>(\n ({ className, asContainer = true, ...props }, forwardedRef) => {\n const context = React.useContext(SidebarContext);\n const { size = '2', menuVariant = 'soft' } = context || {};\n\n return (\n <div\n {...props}\n ref={forwardedRef}\n className={classNames(\n 'rt-SidebarFooter',\n `rt-r-size-${size}`,\n `rt-menu-variant-${menuVariant}`,\n {\n 'rt-SidebarFooter--container': asContainer,\n },\n className,\n )}\n />\n );\n },\n);\nSidebarFooter.displayName = 'Sidebar.Footer';\n\n// Sidebar trigger button\ninterface SidebarTriggerProps extends ComponentPropsWithout<typeof IconButton, RemovedProps> {}\n\nconst SidebarTrigger = React.forwardRef<React.ElementRef<typeof IconButton>, SidebarTriggerProps>(\n ({ onClick, children, ...props }, forwardedRef) => {\n const { toggleSidebar } = useSidebar();\n\n return (\n <IconButton\n {...props}\n ref={forwardedRef}\n variant=\"ghost\"\n onClick={(event) => {\n onClick?.(event);\n toggleSidebar();\n }}\n >\n {children || <ChevronDownIcon />}\n </IconButton>\n );\n },\n);\nSidebarTrigger.displayName = 'Sidebar.Trigger';\n\n// Removed SidebarInset - not needed\n\n// Sidebar separator\ninterface SidebarSeparatorProps extends ComponentPropsWithout<typeof Separator, RemovedProps> {}\n\nconst SidebarSeparator = React.forwardRef<\n React.ComponentRef<typeof Separator>,\n SidebarSeparatorProps\n>(({ className, ...props }, forwardedRef) => (\n <Separator\n {...props}\n ref={forwardedRef}\n className={classNames('rt-SidebarSeparator', className)}\n />\n));\nSidebarSeparator.displayName = 'Sidebar.Separator';\n\n// Menu components - reusing dropdown menu structure\ninterface SidebarMenuProps extends React.ComponentPropsWithoutRef<'ul'> {}\n\nconst SidebarMenu = React.forwardRef<HTMLUListElement, SidebarMenuProps>(\n ({ className, ...props }, forwardedRef) => (\n <ul {...props} ref={forwardedRef} className={classNames('rt-SidebarMenu', className)} />\n ),\n);\nSidebarMenu.displayName = 'Sidebar.Menu';\n\ninterface SidebarMenuItemProps extends React.ComponentPropsWithoutRef<'li'> {}\n\nconst SidebarMenuItem = React.forwardRef<HTMLLIElement, SidebarMenuItemProps>(\n ({ className, ...props }, forwardedRef) => (\n <li {...props} ref={forwardedRef} className={classNames('rt-SidebarMenuItem', className)} />\n ),\n);\nSidebarMenuItem.displayName = 'Sidebar.MenuItem';\n\ninterface SidebarMenuButtonProps extends React.ComponentPropsWithoutRef<'button'> {\n asChild?: boolean;\n isActive?: boolean;\n shortcut?: React.ReactNode;\n badge?: string | BadgeConfig;\n}\n\nconst SidebarMenuButton = React.forwardRef<HTMLButtonElement, SidebarMenuButtonProps>(\n (\n {\n asChild = false,\n isActive = false,\n shortcut,\n badge,\n className,\n children,\n onMouseEnter,\n onMouseLeave,\n ...props\n },\n forwardedRef,\n ) => {\n const [isHighlighted, setIsHighlighted] = React.useState(false);\n const context = React.useContext(SidebarContext);\n const { size: sidebarSize = '2' } = context || {};\n\n const Comp = asChild ? Slot : 'button';\n\n return (\n <Comp\n {...props}\n ref={forwardedRef}\n className={classNames('rt-reset', 'rt-SidebarMenuButton', className)}\n data-active={isActive || undefined}\n data-highlighted={isHighlighted || undefined}\n onMouseEnter={(event) => {\n setIsHighlighted(true);\n onMouseEnter?.(event);\n }}\n onMouseLeave={(event) => {\n setIsHighlighted(false);\n onMouseLeave?.(event);\n }}\n >\n {asChild ? (\n children\n ) : (\n <>\n {children}\n {/* Badge with soft variant default and size mapping to sidebar size */}\n {badge && (\n <div className=\"rt-SidebarMenuBadge\">\n {typeof badge === 'string' ? (\n <Badge size={sidebarSize} variant=\"soft\">\n {badge}\n </Badge>\n ) : (\n <Badge\n size={badge.size || sidebarSize}\n variant={badge.variant || 'soft'}\n color={badge.color}\n highContrast={badge.highContrast}\n radius={badge.radius}\n >\n {badge.content}\n </Badge>\n )}\n </div>\n )}\n {shortcut && (\n <div className=\"rt-BaseMenuShortcut rt-SidebarMenuShortcut\">\n <Kbd size={sidebarSize}>{shortcut}</Kbd>\n </div>\n )}\n </>\n )}\n </Comp>\n );\n },\n);\nSidebarMenuButton.displayName = 'Sidebar.MenuButton';\n\n// Sub-menu components using Radix Accordion\ninterface SidebarMenuSubProps extends React.ComponentPropsWithoutRef<'div'> {\n defaultOpen?: boolean;\n}\n\nconst SidebarMenuSub = React.forwardRef<HTMLDivElement, SidebarMenuSubProps>(\n ({ defaultOpen = false, children, ...props }, forwardedRef) => {\n return (\n <div {...props} ref={forwardedRef}>\n <Accordion.Root type=\"single\" collapsible defaultValue={defaultOpen ? 'item' : undefined}>\n <Accordion.Item value=\"item\">{children}</Accordion.Item>\n </Accordion.Root>\n </div>\n );\n },\n);\nSidebarMenuSub.displayName = 'Sidebar.MenuSub';\n\ninterface SidebarMenuSubTriggerProps\n extends React.ComponentPropsWithoutRef<typeof Accordion.Trigger> {\n asChild?: boolean;\n}\n\nconst SidebarMenuSubTrigger = React.forwardRef<\n React.ElementRef<typeof Accordion.Trigger>,\n SidebarMenuSubTriggerProps\n>(\n (\n { asChild = false, className, children, onMouseEnter, onMouseLeave, ...props },\n forwardedRef,\n ) => {\n const [isHighlighted, setIsHighlighted] = React.useState(false);\n\n return (\n <Accordion.Header asChild>\n <div>\n <Accordion.Trigger\n {...props}\n ref={forwardedRef}\n asChild={asChild}\n className={classNames(\n 'rt-reset',\n 'rt-SidebarMenuButton',\n 'rt-SidebarMenuSubTrigger',\n className,\n )}\n data-highlighted={isHighlighted || undefined}\n onMouseEnter={(event) => {\n setIsHighlighted(true);\n onMouseEnter?.(event);\n }}\n onMouseLeave={(event) => {\n setIsHighlighted(false);\n onMouseLeave?.(event);\n }}\n >\n {asChild ? (\n children\n ) : (\n <>\n {children}\n <ThickChevronRightIcon\n className={classNames(\n 'rt-BaseMenuSubTriggerIcon',\n 'rt-SidebarMenuSubTriggerIcon',\n )}\n />\n </>\n )}\n </Accordion.Trigger>\n </div>\n </Accordion.Header>\n );\n },\n);\nSidebarMenuSubTrigger.displayName = 'Sidebar.MenuSubTrigger';\n\ninterface SidebarMenuSubContentProps\n extends React.ComponentPropsWithoutRef<typeof Accordion.Content> {}\n\nconst SidebarMenuSubContent = React.forwardRef<\n React.ElementRef<typeof Accordion.Content>,\n SidebarMenuSubContentProps\n>(({ className, children, ...props }, forwardedRef) => {\n return (\n <Accordion.Content\n {...props}\n ref={forwardedRef}\n className={classNames('rt-SidebarMenuSubContent', className)}\n >\n <div className=\"rt-SidebarMenuSubList\">{children}</div>\n </Accordion.Content>\n );\n});\nSidebarMenuSubContent.displayName = 'Sidebar.MenuSubContent';\n\n// Group components\ninterface SidebarGroupProps extends React.ComponentPropsWithoutRef<'div'> {}\n\nconst SidebarGroup = React.forwardRef<HTMLDivElement, SidebarGroupProps>(\n ({ className, ...props }, forwardedRef) => (\n <div {...props} ref={forwardedRef} className={classNames('rt-SidebarGroup', className)} />\n ),\n);\nSidebarGroup.displayName = 'Sidebar.Group';\n\ninterface SidebarGroupLabelProps extends React.ComponentPropsWithoutRef<'div'> {\n asChild?: boolean;\n}\n\nconst SidebarGroupLabel = React.forwardRef<HTMLDivElement, SidebarGroupLabelProps>(\n ({ asChild = false, className, ...props }, forwardedRef) => {\n const Comp = asChild ? Slot : 'div';\n\n return (\n <Comp\n {...props}\n ref={forwardedRef}\n className={classNames('rt-SidebarGroupLabel', className)}\n />\n );\n },\n);\nSidebarGroupLabel.displayName = 'Sidebar.GroupLabel';\n\ninterface SidebarGroupContentProps extends React.ComponentPropsWithoutRef<'div'> {}\n\nconst SidebarGroupContent = React.forwardRef<HTMLDivElement, SidebarGroupContentProps>(\n ({ className, ...props }, forwardedRef) => (\n <div\n {...props}\n ref={forwardedRef}\n className={classNames('rt-SidebarGroupContent', className)}\n />\n ),\n);\nSidebarGroupContent.displayName = 'Sidebar.GroupContent';\n\n// Export all components following shadcn's pattern\nexport {\n SidebarProvider as Provider,\n Sidebar as Root,\n SidebarContent as Content,\n SidebarHeader as Header,\n SidebarFooter as Footer,\n SidebarTrigger as Trigger,\n SidebarSeparator as Separator,\n SidebarMenu as Menu,\n SidebarMenuItem as MenuItem,\n SidebarMenuButton as MenuButton,\n SidebarMenuSub as MenuSub,\n SidebarMenuSubTrigger as MenuSubTrigger,\n SidebarMenuSubContent as MenuSubContent,\n SidebarGroup as Group,\n SidebarGroupLabel as GroupLabel,\n SidebarGroupContent as GroupContent,\n // Export hook\n useSidebar,\n};\n\n/**\n * Enhanced Sidebar Header and Footer Usage Examples:\n *\n * 1. Simple default container (backwards compatible):\n * <Sidebar.Header>\n * <Logo />\n * <span>App Name</span>\n * </Sidebar.Header>\n *\n * 2. Custom flex layout:\n * <Sidebar.Header className=\"rt-justify-between rt-gap-3\">\n * <Logo />\n * <Sidebar.MenuButton>\n * <SettingsIcon />\n * </Sidebar.MenuButton>\n * </Sidebar.Header>\n *\n * 3. Column layout for multiple rows:\n * <Sidebar.Header className=\"rt-flex-col rt-gap-2\" asContainer={false}>\n * <div className=\"rt-flex rt-items-center rt-gap-2\">\n * <Logo />\n * <span>App Name</span>\n * </div>\n * <Sidebar.MenuButton>\n * <UserAvatar />\n * <span>John Doe</span>\n * </Sidebar.MenuButton>\n * </Sidebar.Header>\n *\n * 4. Interactive footer with menu button:\n * <Sidebar.Footer>\n * <Sidebar.MenuButton>\n * <UserIcon />\n * <span>Settings</span>\n * <ChevronUpIcon />\n * </Sidebar.MenuButton>\n * </Sidebar.Footer>\n *\n * 5. Custom footer layout:\n * <Sidebar.Footer className=\"rt-justify-between\">\n * <span>v1.0.0</span>\n * <Sidebar.MenuButton>\n * <HelpIcon />\n * </Sidebar.MenuButton>\n * </Sidebar.Footer>\n *\n * Available utility classes:\n * - Layout: rt-flex-row, rt-flex-col\n * - Alignment: rt-items-center, rt-items-start, rt-items-end\n * - Justification: rt-justify-between, rt-justify-center, rt-justify-start, rt-justify-end\n * - Gap: rt-gap-1, rt-gap-2, rt-gap-3, rt-gap-4\n */\n\nexport type {\n SidebarProviderProps as ProviderProps,\n SidebarProps as RootProps,\n SidebarContentProps as ContentProps,\n SidebarHeaderProps as HeaderProps,\n SidebarFooterProps as FooterProps,\n SidebarTriggerProps as TriggerProps,\n BadgeConfig,\n};\n"],
5
- "mappings": "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",
4
+ "sourcesContent": ["'use client';\n\nimport * as React from 'react';\nimport classNames from 'classnames';\nimport { Slot } from './slot.js';\nimport { Accordion } from 'radix-ui';\n\nimport { sidebarPropDefs } from './sidebar.props.js';\nimport { Theme, useThemeContext } from './theme.js';\nimport { IconButton } from './icon-button.js';\nimport { ScrollArea } from './scroll-area.js';\nimport { Separator } from './separator.js';\nimport { ChevronDownIcon, ThickChevronRightIcon } from './icons.js';\nimport { extractProps } from '../helpers/extract-props.js';\nimport { Kbd } from './kbd.js';\nimport { Badge } from './badge.js';\n\nimport type { ComponentPropsWithout, RemovedProps } from '../helpers/component-props.js';\nimport type { GetPropDefTypes } from '../props/prop-def.js';\nimport type { BadgeProps } from './badge.js';\n\n// Badge configuration type for sidebar menu buttons\ntype BadgeConfig = {\n content: React.ReactNode;\n variant?: BadgeProps['variant'];\n size?: BadgeProps['size'];\n color?: BadgeProps['color'];\n highContrast?: BadgeProps['highContrast'];\n radius?: BadgeProps['radius'];\n};\n\n// Sidebar context for state management\ntype SidebarContextProps = {\n state: 'expanded' | 'collapsed';\n open: boolean;\n setOpen: (open: boolean) => void;\n openMobile: boolean;\n setOpenMobile: (open: boolean) => void;\n isMobile: boolean;\n toggleSidebar: () => void;\n side: 'left' | 'right';\n type: 'sidebar' | 'floating';\n variant: 'soft' | 'surface' | 'ghost';\n menuVariant: 'solid' | 'soft';\n collapsible: 'offcanvas' | 'icon' | 'none';\n size: '1' | '2';\n};\n\nconst SidebarContext = React.createContext<SidebarContextProps | null>(null);\n\nfunction useSidebar() {\n const context = React.useContext(SidebarContext);\n if (!context) {\n throw new Error('useSidebar must be used within a SidebarProvider.');\n }\n return context;\n}\n\n// Hook to detect mobile (simplified version)\nfunction useIsMobile() {\n const [isMobile, setIsMobile] = React.useState(false);\n\n React.useEffect(() => {\n const checkIsMobile = () => {\n setIsMobile(window.innerWidth < 768);\n };\n\n checkIsMobile();\n window.addEventListener('resize', checkIsMobile);\n return () => window.removeEventListener('resize', checkIsMobile);\n }, []);\n\n return isMobile;\n}\n\n// Provider component\ninterface SidebarProviderProps extends React.ComponentPropsWithoutRef<'div'> {\n defaultOpen?: boolean;\n open?: boolean;\n onOpenChange?: (open: boolean) => void;\n side?: 'left' | 'right';\n}\n\nconst SidebarProvider = React.forwardRef<HTMLDivElement, SidebarProviderProps>(\n (\n {\n defaultOpen = true,\n open: openProp,\n onOpenChange: setOpenProp,\n side = 'left',\n className,\n children,\n ...props\n },\n forwardedRef,\n ) => {\n const isMobile = useIsMobile();\n const [openMobile, setOpenMobile] = React.useState(false);\n\n // Internal state for uncontrolled mode\n const [internalOpen, setInternalOpen] = React.useState(defaultOpen);\n\n // Use controlled state if provided, otherwise internal state\n const open = openProp ?? internalOpen;\n\n const setOpen = React.useCallback(\n (value: boolean | ((value: boolean) => boolean)) => {\n const openState = typeof value === 'function' ? value(open) : value;\n if (setOpenProp) {\n setOpenProp(openState);\n } else {\n setInternalOpen(openState);\n }\n },\n [setOpenProp, open],\n );\n\n // Helper to toggle the sidebar\n const toggleSidebar = React.useCallback(() => {\n return isMobile ? setOpenMobile((open) => !open) : setOpen((open) => !open);\n }, [isMobile, setOpen, setOpenMobile]);\n\n // State for data attributes\n const state = open ? 'expanded' : 'collapsed';\n\n const contextValue = React.useMemo<Partial<SidebarContextProps>>(\n () => ({\n state,\n open,\n setOpen,\n isMobile,\n openMobile,\n setOpenMobile,\n toggleSidebar,\n side,\n }),\n [state, open, setOpen, isMobile, openMobile, setOpenMobile, toggleSidebar, side],\n );\n\n return (\n <div\n {...props}\n ref={forwardedRef}\n className={classNames('rt-SidebarProvider', className)}\n data-state={state}\n data-side={side}\n >\n <SidebarContext.Provider value={contextValue as SidebarContextProps}>\n {children}\n </SidebarContext.Provider>\n </div>\n );\n },\n);\nSidebarProvider.displayName = 'Sidebar.Provider';\n\n// Main Sidebar component\ntype SidebarOwnProps = GetPropDefTypes<typeof sidebarPropDefs>;\ninterface SidebarProps extends ComponentPropsWithout<'div', RemovedProps>, SidebarOwnProps {}\n\nconst Sidebar = React.forwardRef<HTMLDivElement, SidebarProps>((props, forwardedRef) => {\n const themeContext = useThemeContext();\n const { isMobile, state, openMobile, setOpenMobile } = useSidebar();\n\n const {\n size = sidebarPropDefs.size.default,\n variant = sidebarPropDefs.variant.default,\n menuVariant = sidebarPropDefs.menuVariant.default,\n type = sidebarPropDefs.type.default,\n side = sidebarPropDefs.side.default,\n collapsible = sidebarPropDefs.collapsible.default,\n panelBackground,\n color,\n highContrast = sidebarPropDefs.highContrast.default,\n asChild,\n } = props;\n\n const { className, children, ...rootProps } = extractProps(props, sidebarPropDefs);\n const { asChild: _, panelBackground: __, ...safeRootProps } = rootProps; // Remove asChild and panelBackground from DOM props\n const resolvedColor = color || themeContext.accentColor;\n\n // Update context with current props - we'll pass the resolved values\n const resolvedSize = typeof size === 'object' ? size.initial || '2' : size;\n const context = React.useContext(SidebarContext);\n if (context) {\n context.side = side;\n context.type = type;\n context.variant = variant;\n context.menuVariant = menuVariant;\n context.collapsible = collapsible;\n context.size = resolvedSize;\n }\n\n if (collapsible === 'none') {\n return (\n <div\n {...safeRootProps}\n ref={forwardedRef}\n data-accent-color={resolvedColor}\n data-state={state}\n data-side={side}\n data-type={type}\n data-collapsible={collapsible}\n className={classNames('rt-SidebarRoot', `rt-r-size-${size}`, className)}\n >\n <Theme>\n <div\n className={classNames('rt-SidebarContainer', `rt-variant-${variant}`)}\n data-accent-color={resolvedColor}\n data-high-contrast={highContrast || undefined}\n data-side={side}\n data-panel-background={panelBackground}\n >\n {children}\n </div>\n </Theme>\n </div>\n );\n }\n\n if (isMobile) {\n return (\n <div\n {...safeRootProps}\n ref={forwardedRef}\n data-accent-color={resolvedColor}\n data-state={openMobile ? 'open' : 'closed'}\n data-side={side}\n data-type={type}\n data-collapsible={collapsible}\n className={classNames('rt-SidebarRoot', 'rt-SidebarRoot--mobile', className)}\n >\n <Theme>\n <div\n className={classNames(\n 'rt-SidebarContainer',\n `rt-variant-${variant}`,\n `rt-r-size-${size}`,\n )}\n data-accent-color={resolvedColor}\n data-high-contrast={highContrast || undefined}\n data-side={side}\n data-type={type}\n data-collapsible={collapsible}\n data-panel-background={panelBackground}\n >\n {children}\n </div>\n </Theme>\n </div>\n );\n }\n\n return (\n <div\n {...safeRootProps}\n ref={forwardedRef}\n data-accent-color={resolvedColor}\n data-state={state}\n data-side={side}\n data-type={type}\n data-collapsible={collapsible}\n className={classNames('rt-SidebarRoot', className)}\n >\n <Theme>\n <div\n className={classNames(\n 'rt-SidebarContainer',\n `rt-variant-${variant}`,\n `rt-r-size-${size}`,\n )}\n data-accent-color={resolvedColor}\n data-high-contrast={highContrast || undefined}\n data-side={side}\n data-type={type}\n data-collapsible={collapsible}\n data-panel-background={panelBackground}\n >\n {children}\n </div>\n </Theme>\n </div>\n );\n});\nSidebar.displayName = 'Sidebar.Root';\n\n// Sidebar content area\ninterface SidebarContentProps extends React.ComponentPropsWithoutRef<'div'> {}\n\nconst SidebarContent = React.forwardRef<HTMLDivElement, SidebarContentProps>(\n ({ className, children, ...props }, forwardedRef) => {\n const context = React.useContext(SidebarContext);\n const {\n size = '2',\n menuVariant = 'soft',\n type = 'sidebar',\n collapsible = 'none',\n } = context || {};\n\n return (\n <ScrollArea type=\"auto\">\n <div\n {...props}\n ref={forwardedRef}\n className={classNames(\n 'rt-BaseMenuContent',\n 'rt-SidebarContent',\n `rt-r-size-${size}`,\n `rt-menu-variant-${menuVariant}`,\n className,\n )}\n data-type={type}\n data-collapsible={collapsible}\n >\n {children}\n </div>\n </ScrollArea>\n );\n },\n);\nSidebarContent.displayName = 'Sidebar.Content';\n\n// Sidebar header\ninterface SidebarHeaderProps extends React.ComponentPropsWithoutRef<'div'> {\n /**\n * Whether to use the default flex container layout.\n * @default true\n */\n asContainer?: boolean;\n}\n\nconst SidebarHeader = React.forwardRef<HTMLDivElement, SidebarHeaderProps>(\n ({ className, asContainer = true, ...props }, forwardedRef) => {\n const context = React.useContext(SidebarContext);\n const { size = '2', menuVariant = 'soft' } = context || {};\n\n return (\n <div\n {...props}\n ref={forwardedRef}\n className={classNames(\n 'rt-SidebarHeader',\n `rt-r-size-${size}`,\n `rt-menu-variant-${menuVariant}`,\n {\n 'rt-SidebarHeader--container': asContainer,\n },\n className,\n )}\n />\n );\n },\n);\nSidebarHeader.displayName = 'Sidebar.Header';\n\n// Sidebar footer\ninterface SidebarFooterProps extends React.ComponentPropsWithoutRef<'div'> {\n /**\n * Whether to use the default flex container layout.\n * @default true\n */\n asContainer?: boolean;\n}\n\nconst SidebarFooter = React.forwardRef<HTMLDivElement, SidebarFooterProps>(\n ({ className, asContainer = true, ...props }, forwardedRef) => {\n const context = React.useContext(SidebarContext);\n const { size = '2', menuVariant = 'soft' } = context || {};\n\n return (\n <div\n {...props}\n ref={forwardedRef}\n className={classNames(\n 'rt-SidebarFooter',\n `rt-r-size-${size}`,\n `rt-menu-variant-${menuVariant}`,\n {\n 'rt-SidebarFooter--container': asContainer,\n },\n className,\n )}\n />\n );\n },\n);\nSidebarFooter.displayName = 'Sidebar.Footer';\n\n// Sidebar trigger button\ninterface SidebarTriggerProps extends ComponentPropsWithout<typeof IconButton, RemovedProps> {}\n\nconst SidebarTrigger = React.forwardRef<React.ElementRef<typeof IconButton>, SidebarTriggerProps>(\n ({ onClick, children, ...props }, forwardedRef) => {\n const { toggleSidebar } = useSidebar();\n\n return (\n <IconButton\n {...props}\n ref={forwardedRef}\n variant=\"ghost\"\n onClick={(event) => {\n onClick?.(event);\n toggleSidebar();\n }}\n >\n {children || <ChevronDownIcon />}\n </IconButton>\n );\n },\n);\nSidebarTrigger.displayName = 'Sidebar.Trigger';\n\n// Removed SidebarInset - not needed\n\n// Sidebar separator\ninterface SidebarSeparatorProps extends ComponentPropsWithout<typeof Separator, RemovedProps> {}\n\nconst SidebarSeparator = React.forwardRef<\n React.ComponentRef<typeof Separator>,\n SidebarSeparatorProps\n>(({ className, ...props }, forwardedRef) => (\n <Separator\n {...props}\n ref={forwardedRef}\n className={classNames('rt-SidebarSeparator', className)}\n />\n));\nSidebarSeparator.displayName = 'Sidebar.Separator';\n\n// Menu components - reusing dropdown menu structure\ninterface SidebarMenuProps extends React.ComponentPropsWithoutRef<'ul'> {}\n\nconst SidebarMenu = React.forwardRef<HTMLUListElement, SidebarMenuProps>(\n ({ className, ...props }, forwardedRef) => (\n <ul\n {...props}\n ref={forwardedRef}\n className={classNames('rt-BaseMenuViewport', 'rt-SidebarMenu', className)}\n />\n ),\n);\nSidebarMenu.displayName = 'Sidebar.Menu';\n\ninterface SidebarMenuItemProps extends React.ComponentPropsWithoutRef<'li'> {}\n\nconst SidebarMenuItem = React.forwardRef<HTMLLIElement, SidebarMenuItemProps>(\n ({ className, ...props }, forwardedRef) => (\n <li {...props} ref={forwardedRef} className={classNames('rt-SidebarMenuItem', className)} />\n ),\n);\nSidebarMenuItem.displayName = 'Sidebar.MenuItem';\n\ninterface SidebarMenuButtonProps extends React.ComponentPropsWithoutRef<'button'> {\n asChild?: boolean;\n isActive?: boolean;\n shortcut?: React.ReactNode;\n badge?: string | BadgeConfig;\n}\n\nconst SidebarMenuButton = React.forwardRef<HTMLButtonElement, SidebarMenuButtonProps>(\n (\n {\n asChild = false,\n isActive = false,\n shortcut,\n badge,\n className,\n children,\n onMouseEnter,\n onMouseLeave,\n ...props\n },\n forwardedRef,\n ) => {\n const [isHighlighted, setIsHighlighted] = React.useState(false);\n const context = React.useContext(SidebarContext);\n const { size: sidebarSize = '2' } = context || {};\n\n const Comp = asChild ? Slot : 'button';\n\n return (\n <Comp\n {...props}\n ref={forwardedRef}\n className={classNames('rt-reset', 'rt-BaseMenuItem', 'rt-SidebarMenuButton', className)}\n data-active={isActive || undefined}\n data-highlighted={isHighlighted || undefined}\n onMouseEnter={(event) => {\n setIsHighlighted(true);\n onMouseEnter?.(event);\n }}\n onMouseLeave={(event) => {\n setIsHighlighted(false);\n onMouseLeave?.(event);\n }}\n >\n {asChild ? (\n children\n ) : (\n <>\n {children}\n {/* Badge with soft variant default and size mapping to sidebar size */}\n {badge && (\n <div className=\"rt-SidebarMenuBadge\">\n {typeof badge === 'string' ? (\n <Badge size={sidebarSize} variant=\"soft\">\n {badge}\n </Badge>\n ) : (\n <Badge\n size={badge.size || sidebarSize}\n variant={badge.variant || 'soft'}\n color={badge.color}\n highContrast={badge.highContrast}\n radius={badge.radius}\n >\n {badge.content}\n </Badge>\n )}\n </div>\n )}\n {shortcut && (\n <div className=\"rt-BaseMenuShortcut rt-SidebarMenuShortcut\">\n <Kbd size={sidebarSize}>{shortcut}</Kbd>\n </div>\n )}\n </>\n )}\n </Comp>\n );\n },\n);\nSidebarMenuButton.displayName = 'Sidebar.MenuButton';\n\n// Sub-menu components using Radix Accordion\ninterface SidebarMenuSubProps extends React.ComponentPropsWithoutRef<'div'> {\n defaultOpen?: boolean;\n}\n\nconst SidebarMenuSub = React.forwardRef<HTMLDivElement, SidebarMenuSubProps>(\n ({ defaultOpen = false, children, ...props }, forwardedRef) => {\n return (\n <div {...props} ref={forwardedRef}>\n <Accordion.Root type=\"single\" collapsible defaultValue={defaultOpen ? 'item' : undefined}>\n <Accordion.Item value=\"item\">{children}</Accordion.Item>\n </Accordion.Root>\n </div>\n );\n },\n);\nSidebarMenuSub.displayName = 'Sidebar.MenuSub';\n\ninterface SidebarMenuSubTriggerProps\n extends React.ComponentPropsWithoutRef<typeof Accordion.Trigger> {\n asChild?: boolean;\n}\n\nconst SidebarMenuSubTrigger = React.forwardRef<\n React.ElementRef<typeof Accordion.Trigger>,\n SidebarMenuSubTriggerProps\n>(\n (\n { asChild = false, className, children, onMouseEnter, onMouseLeave, ...props },\n forwardedRef,\n ) => {\n const [isHighlighted, setIsHighlighted] = React.useState(false);\n\n return (\n <Accordion.Header asChild>\n <div>\n <Accordion.Trigger\n {...props}\n ref={forwardedRef}\n asChild={asChild}\n className={classNames(\n 'rt-reset',\n 'rt-BaseMenuItem',\n 'rt-SidebarMenuButton',\n 'rt-SidebarMenuSubTrigger',\n className,\n )}\n data-highlighted={isHighlighted || undefined}\n onMouseEnter={(event) => {\n setIsHighlighted(true);\n onMouseEnter?.(event);\n }}\n onMouseLeave={(event) => {\n setIsHighlighted(false);\n onMouseLeave?.(event);\n }}\n >\n {asChild ? (\n children\n ) : (\n <>\n {children}\n <ThickChevronRightIcon\n className={classNames(\n 'rt-BaseMenuSubTriggerIcon',\n 'rt-SidebarMenuSubTriggerIcon',\n )}\n />\n </>\n )}\n </Accordion.Trigger>\n </div>\n </Accordion.Header>\n );\n },\n);\nSidebarMenuSubTrigger.displayName = 'Sidebar.MenuSubTrigger';\n\ninterface SidebarMenuSubContentProps\n extends React.ComponentPropsWithoutRef<typeof Accordion.Content> {}\n\nconst SidebarMenuSubContent = React.forwardRef<\n React.ElementRef<typeof Accordion.Content>,\n SidebarMenuSubContentProps\n>(({ className, children, ...props }, forwardedRef) => {\n return (\n <Accordion.Content\n {...props}\n ref={forwardedRef}\n className={classNames('rt-SidebarMenuSubContent', className)}\n >\n <div className=\"rt-SidebarMenuSubList\">{children}</div>\n </Accordion.Content>\n );\n});\nSidebarMenuSubContent.displayName = 'Sidebar.MenuSubContent';\n\n// Group components\ninterface SidebarGroupProps extends React.ComponentPropsWithoutRef<'div'> {}\n\nconst SidebarGroup = React.forwardRef<HTMLDivElement, SidebarGroupProps>(\n ({ className, ...props }, forwardedRef) => (\n <div\n {...props}\n ref={forwardedRef}\n className={classNames('rt-BaseMenuGroup', 'rt-SidebarGroup', className)}\n />\n ),\n);\nSidebarGroup.displayName = 'Sidebar.Group';\n\ninterface SidebarGroupLabelProps extends React.ComponentPropsWithoutRef<'div'> {\n asChild?: boolean;\n}\n\nconst SidebarGroupLabel = React.forwardRef<HTMLDivElement, SidebarGroupLabelProps>(\n ({ asChild = false, className, ...props }, forwardedRef) => {\n const Comp = asChild ? Slot : 'div';\n\n return (\n <Comp\n {...props}\n ref={forwardedRef}\n className={classNames('rt-BaseMenuLabel', 'rt-SidebarGroupLabel', className)}\n />\n );\n },\n);\nSidebarGroupLabel.displayName = 'Sidebar.GroupLabel';\n\ninterface SidebarGroupContentProps extends React.ComponentPropsWithoutRef<'div'> {}\n\nconst SidebarGroupContent = React.forwardRef<HTMLDivElement, SidebarGroupContentProps>(\n ({ className, ...props }, forwardedRef) => (\n <div\n {...props}\n ref={forwardedRef}\n className={classNames('rt-SidebarGroupContent', className)}\n />\n ),\n);\nSidebarGroupContent.displayName = 'Sidebar.GroupContent';\n\n// Export all components following shadcn's pattern\nexport {\n SidebarProvider as Provider,\n Sidebar as Root,\n SidebarContent as Content,\n SidebarHeader as Header,\n SidebarFooter as Footer,\n SidebarTrigger as Trigger,\n SidebarSeparator as Separator,\n SidebarMenu as Menu,\n SidebarMenuItem as MenuItem,\n SidebarMenuButton as MenuButton,\n SidebarMenuSub as MenuSub,\n SidebarMenuSubTrigger as MenuSubTrigger,\n SidebarMenuSubContent as MenuSubContent,\n SidebarGroup as Group,\n SidebarGroupLabel as GroupLabel,\n SidebarGroupContent as GroupContent,\n // Export hook\n useSidebar,\n};\n\n/**\n * Enhanced Sidebar Header and Footer Usage Examples:\n *\n * 1. Simple default container (backwards compatible):\n * <Sidebar.Header>\n * <Logo />\n * <span>App Name</span>\n * </Sidebar.Header>\n *\n * 2. Custom flex layout:\n * <Sidebar.Header className=\"rt-justify-between rt-gap-3\">\n * <Logo />\n * <Sidebar.MenuButton>\n * <SettingsIcon />\n * </Sidebar.MenuButton>\n * </Sidebar.Header>\n *\n * 3. Column layout for multiple rows:\n * <Sidebar.Header className=\"rt-flex-col rt-gap-2\" asContainer={false}>\n * <div className=\"rt-flex rt-items-center rt-gap-2\">\n * <Logo />\n * <span>App Name</span>\n * </div>\n * <Sidebar.MenuButton>\n * <UserAvatar />\n * <span>John Doe</span>\n * </Sidebar.MenuButton>\n * </Sidebar.Header>\n *\n * 4. Interactive footer with menu button:\n * <Sidebar.Footer>\n * <Sidebar.MenuButton>\n * <UserIcon />\n * <span>Settings</span>\n * <ChevronUpIcon />\n * </Sidebar.MenuButton>\n * </Sidebar.Footer>\n *\n * 5. Custom footer layout:\n * <Sidebar.Footer className=\"rt-justify-between\">\n * <span>v1.0.0</span>\n * <Sidebar.MenuButton>\n * <HelpIcon />\n * </Sidebar.MenuButton>\n * </Sidebar.Footer>\n *\n * Available utility classes:\n * - Layout: rt-flex-row, rt-flex-col\n * - Alignment: rt-items-center, rt-items-start, rt-items-end\n * - Justification: rt-justify-between, rt-justify-center, rt-justify-start, rt-justify-end\n * - Gap: rt-gap-1, rt-gap-2, rt-gap-3, rt-gap-4\n */\n\nexport type {\n SidebarProviderProps as ProviderProps,\n SidebarProps as RootProps,\n SidebarContentProps as ContentProps,\n SidebarHeaderProps as HeaderProps,\n SidebarFooterProps as FooterProps,\n SidebarTriggerProps as TriggerProps,\n BadgeConfig,\n};\n"],
5
+ "mappings": "mlBAAA,IAAAA,GAAA,GAAAC,GAAAD,GAAA,aAAAE,EAAA,WAAAC,EAAA,UAAAC,EAAA,iBAAAC,EAAA,eAAAC,EAAA,WAAAC,EAAA,SAAAC,EAAA,eAAAC,EAAA,aAAAC,EAAA,YAAAC,EAAA,mBAAAC,EAAA,mBAAAC,EAAA,aAAAC,EAAA,SAAAC,EAAA,cAAAC,EAAA,YAAAC,EAAA,eAAAC,IAAA,eAAAC,GAAAnB,IAEA,IAAAoB,EAAuB,oBACvBC,EAAuB,yBACvBC,EAAqB,qBACrBC,EAA0B,oBAE1BC,EAAgC,8BAChCC,EAAuC,sBACvCC,EAA2B,4BAC3BC,EAA2B,4BAC3BC,GAA0B,0BAC1BC,EAAuD,sBACvDC,GAA6B,uCAC7BC,GAAoB,oBACpBC,EAAsB,sBAiCtB,MAAMC,EAAiBb,EAAM,cAA0C,IAAI,EAE3E,SAASF,GAAa,CACpB,MAAMgB,EAAUd,EAAM,WAAWa,CAAc,EAC/C,GAAI,CAACC,EACH,MAAM,IAAI,MAAM,mDAAmD,EAErE,OAAOA,CACT,CAGA,SAASC,IAAc,CACrB,KAAM,CAACC,EAAUC,CAAW,EAAIjB,EAAM,SAAS,EAAK,EAEpD,OAAAA,EAAM,UAAU,IAAM,CACpB,MAAMkB,EAAgB,IAAM,CAC1BD,EAAY,OAAO,WAAa,GAAG,CACrC,EAEA,OAAAC,EAAc,EACd,OAAO,iBAAiB,SAAUA,CAAa,EACxC,IAAM,OAAO,oBAAoB,SAAUA,CAAa,CACjE,EAAG,CAAC,CAAC,EAEEF,CACT,CAUA,MAAMtB,EAAkBM,EAAM,WAC5B,CACE,CACE,YAAAmB,EAAc,GACd,KAAMC,EACN,aAAcC,EACd,KAAAC,EAAO,OACP,UAAAC,EACA,SAAAC,EACA,GAAGC,CACL,EACAC,IACG,CACH,MAAMV,EAAWD,GAAY,EACvB,CAACY,EAAYC,CAAa,EAAI5B,EAAM,SAAS,EAAK,EAGlD,CAAC6B,EAAcC,CAAe,EAAI9B,EAAM,SAASmB,CAAW,EAG5DY,EAAOX,GAAYS,EAEnBG,EAAUhC,EAAM,YACnBiC,GAAmD,CAClD,MAAMC,EAAY,OAAOD,GAAU,WAAaA,EAAMF,CAAI,EAAIE,EAC1DZ,EACFA,EAAYa,CAAS,EAErBJ,EAAgBI,CAAS,CAE7B,EACA,CAACb,EAAaU,CAAI,CACpB,EAGMI,EAAgBnC,EAAM,YAAY,IAC/BgB,EAAWY,EAAeG,GAAS,CAACA,CAAI,EAAIC,EAASD,GAAS,CAACA,CAAI,EACzE,CAACf,EAAUgB,EAASJ,CAAa,CAAC,EAG/BQ,EAAQL,EAAO,WAAa,YAE5BM,EAAerC,EAAM,QACzB,KAAO,CACL,MAAAoC,EACA,KAAAL,EACA,QAAAC,EACA,SAAAhB,EACA,WAAAW,EACA,cAAAC,EACA,cAAAO,EACA,KAAAb,CACF,GACA,CAACc,EAAOL,EAAMC,EAAShB,EAAUW,EAAYC,EAAeO,EAAeb,CAAI,CACjF,EAEA,OACEtB,EAAA,cAAC,OACE,GAAGyB,EACJ,IAAKC,EACL,aAAW,EAAAY,SAAW,qBAAsBf,CAAS,EACrD,aAAYa,EACZ,YAAWd,GAEXtB,EAAA,cAACa,EAAe,SAAf,CAAwB,MAAOwB,GAC7Bb,CACH,CACF,CAEJ,CACF,EACA9B,EAAgB,YAAc,mBAM9B,MAAMC,EAAUK,EAAM,WAAyC,CAACyB,EAAOC,IAAiB,CACtF,MAAMa,KAAe,mBAAgB,EAC/B,CAAE,SAAAvB,EAAU,MAAAoB,EAAO,WAAAT,EAAY,cAAAC,CAAc,EAAI9B,EAAW,EAE5D,CACJ,KAAA0C,EAAO,kBAAgB,KAAK,QAC5B,QAAAC,EAAU,kBAAgB,QAAQ,QAClC,YAAAC,EAAc,kBAAgB,YAAY,QAC1C,KAAAC,EAAO,kBAAgB,KAAK,QAC5B,KAAArB,EAAO,kBAAgB,KAAK,QAC5B,YAAAsB,EAAc,kBAAgB,YAAY,QAC1C,gBAAAC,EACA,MAAAC,EACA,aAAAC,EAAe,kBAAgB,aAAa,QAC5C,QAAAC,CACF,EAAIvB,EAEE,CAAE,UAAAF,EAAW,SAAAC,EAAU,GAAGyB,CAAU,KAAI,iBAAaxB,EAAO,iBAAe,EAC3E,CAAE,QAASyB,GAAG,gBAAiBC,GAAI,GAAGC,CAAc,EAAIH,EACxDI,EAAgBP,GAASP,EAAa,YAGtCe,GAAe,OAAOd,GAAS,SAAWA,EAAK,SAAW,IAAMA,EAChE1B,EAAUd,EAAM,WAAWa,CAAc,EAU/C,OATIC,IACFA,EAAQ,KAAOQ,EACfR,EAAQ,KAAO6B,EACf7B,EAAQ,QAAU2B,EAClB3B,EAAQ,YAAc4B,EACtB5B,EAAQ,YAAc8B,EACtB9B,EAAQ,KAAOwC,IAGbV,IAAgB,OAEhB5C,EAAA,cAAC,OACE,GAAGoD,EACJ,IAAK1B,EACL,oBAAmB2B,EACnB,aAAYjB,EACZ,YAAWd,EACX,YAAWqB,EACX,mBAAkBC,EAClB,aAAW,EAAAN,SAAW,iBAAkB,aAAaE,CAAI,GAAIjB,CAAS,GAEtEvB,EAAA,cAAC,aACCA,EAAA,cAAC,OACC,aAAW,EAAAsC,SAAW,sBAAuB,cAAcG,CAAO,EAAE,EACpE,oBAAmBY,EACnB,qBAAoBN,GAAgB,OACpC,YAAWzB,EACX,wBAAuBuB,GAEtBrB,CACH,CACF,CACF,EAIAR,EAEAhB,EAAA,cAAC,OACE,GAAGoD,EACJ,IAAK1B,EACL,oBAAmB2B,EACnB,aAAY1B,EAAa,OAAS,SAClC,YAAWL,EACX,YAAWqB,EACX,mBAAkBC,EAClB,aAAW,EAAAN,SAAW,iBAAkB,yBAA0Bf,CAAS,GAE3EvB,EAAA,cAAC,aACCA,EAAA,cAAC,OACC,aAAW,EAAAsC,SACT,sBACA,cAAcG,CAAO,GACrB,aAAaD,CAAI,EACnB,EACA,oBAAmBa,EACnB,qBAAoBN,GAAgB,OACpC,YAAWzB,EACX,YAAWqB,EACX,mBAAkBC,EAClB,wBAAuBC,GAEtBrB,CACH,CACF,CACF,EAKFxB,EAAA,cAAC,OACE,GAAGoD,EACJ,IAAK1B,EACL,oBAAmB2B,EACnB,aAAYjB,EACZ,YAAWd,EACX,YAAWqB,EACX,mBAAkBC,EAClB,aAAW,EAAAN,SAAW,iBAAkBf,CAAS,GAEjDvB,EAAA,cAAC,aACCA,EAAA,cAAC,OACC,aAAW,EAAAsC,SACT,sBACA,cAAcG,CAAO,GACrB,aAAaD,CAAI,EACnB,EACA,oBAAmBa,EACnB,qBAAoBN,GAAgB,OACpC,YAAWzB,EACX,YAAWqB,EACX,mBAAkBC,EAClB,wBAAuBC,GAEtBrB,CACH,CACF,CACF,CAEJ,CAAC,EACD7B,EAAQ,YAAc,eAKtB,MAAMb,EAAiBkB,EAAM,WAC3B,CAAC,CAAE,UAAAuB,EAAW,SAAAC,EAAU,GAAGC,CAAM,EAAGC,IAAiB,CACnD,MAAMZ,EAAUd,EAAM,WAAWa,CAAc,EACzC,CACJ,KAAA2B,EAAO,IACP,YAAAE,EAAc,OACd,KAAAC,EAAO,UACP,YAAAC,EAAc,MAChB,EAAI9B,GAAW,CAAC,EAEhB,OACEd,EAAA,cAAC,cAAW,KAAK,QACfA,EAAA,cAAC,OACE,GAAGyB,EACJ,IAAKC,EACL,aAAW,EAAAY,SACT,qBACA,oBACA,aAAaE,CAAI,GACjB,mBAAmBE,CAAW,GAC9BnB,CACF,EACA,YAAWoB,EACX,mBAAkBC,GAEjBpB,CACH,CACF,CAEJ,CACF,EACA1C,EAAe,YAAc,kBAW7B,MAAMK,EAAgBa,EAAM,WAC1B,CAAC,CAAE,UAAAuB,EAAW,YAAAgC,EAAc,GAAM,GAAG9B,CAAM,EAAGC,IAAiB,CAC7D,MAAMZ,EAAUd,EAAM,WAAWa,CAAc,EACzC,CAAE,KAAA2B,EAAO,IAAK,YAAAE,EAAc,MAAO,EAAI5B,GAAW,CAAC,EAEzD,OACEd,EAAA,cAAC,OACE,GAAGyB,EACJ,IAAKC,EACL,aAAW,EAAAY,SACT,mBACA,aAAaE,CAAI,GACjB,mBAAmBE,CAAW,GAC9B,CACE,8BAA+Ba,CACjC,EACAhC,CACF,EACF,CAEJ,CACF,EACApC,EAAc,YAAc,iBAW5B,MAAMJ,EAAgBiB,EAAM,WAC1B,CAAC,CAAE,UAAAuB,EAAW,YAAAgC,EAAc,GAAM,GAAG9B,CAAM,EAAGC,IAAiB,CAC7D,MAAMZ,EAAUd,EAAM,WAAWa,CAAc,EACzC,CAAE,KAAA2B,EAAO,IAAK,YAAAE,EAAc,MAAO,EAAI5B,GAAW,CAAC,EAEzD,OACEd,EAAA,cAAC,OACE,GAAGyB,EACJ,IAAKC,EACL,aAAW,EAAAY,SACT,mBACA,aAAaE,CAAI,GACjB,mBAAmBE,CAAW,GAC9B,CACE,8BAA+Ba,CACjC,EACAhC,CACF,EACF,CAEJ,CACF,EACAxC,EAAc,YAAc,iBAK5B,MAAMc,EAAiBG,EAAM,WAC3B,CAAC,CAAE,QAAAwD,EAAS,SAAAhC,EAAU,GAAGC,CAAM,EAAGC,IAAiB,CACjD,KAAM,CAAE,cAAAS,CAAc,EAAIrC,EAAW,EAErC,OACEE,EAAA,cAAC,cACE,GAAGyB,EACJ,IAAKC,EACL,QAAQ,QACR,QAAU+B,GAAU,CAClBD,IAAUC,CAAK,EACftB,EAAc,CAChB,GAECX,GAAYxB,EAAA,cAAC,sBAAgB,CAChC,CAEJ,CACF,EACAH,EAAe,YAAc,kBAO7B,MAAMD,EAAmBI,EAAM,WAG7B,CAAC,CAAE,UAAAuB,EAAW,GAAGE,CAAM,EAAGC,IAC1B1B,EAAA,cAAC,cACE,GAAGyB,EACJ,IAAKC,EACL,aAAW,EAAAY,SAAW,sBAAuBf,CAAS,EACxD,CACD,EACD3B,EAAiB,YAAc,oBAK/B,MAAMR,EAAcY,EAAM,WACxB,CAAC,CAAE,UAAAuB,EAAW,GAAGE,CAAM,EAAGC,IACxB1B,EAAA,cAAC,MACE,GAAGyB,EACJ,IAAKC,EACL,aAAW,EAAAY,SAAW,sBAAuB,iBAAkBf,CAAS,EAC1E,CAEJ,EACAnC,EAAY,YAAc,eAI1B,MAAME,EAAkBU,EAAM,WAC5B,CAAC,CAAE,UAAAuB,EAAW,GAAGE,CAAM,EAAGC,IACxB1B,EAAA,cAAC,MAAI,GAAGyB,EAAO,IAAKC,EAAc,aAAW,EAAAY,SAAW,qBAAsBf,CAAS,EAAG,CAE9F,EACAjC,EAAgB,YAAc,mBAS9B,MAAMD,EAAoBW,EAAM,WAC9B,CACE,CACE,QAAAgD,EAAU,GACV,SAAAU,EAAW,GACX,SAAAC,EACA,MAAAC,EACA,UAAArC,EACA,SAAAC,EACA,aAAAqC,EACA,aAAAC,EACA,GAAGrC,CACL,EACAC,IACG,CACH,KAAM,CAACqC,EAAeC,CAAgB,EAAIhE,EAAM,SAAS,EAAK,EACxDc,EAAUd,EAAM,WAAWa,CAAc,EACzC,CAAE,KAAMoD,EAAc,GAAI,EAAInD,GAAW,CAAC,EAIhD,OACEd,EAAA,cAHWgD,EAAU,OAAO,SAG3B,CACE,GAAGvB,EACJ,IAAKC,EACL,aAAW,EAAAY,SAAW,WAAY,kBAAmB,uBAAwBf,CAAS,EACtF,cAAamC,GAAY,OACzB,mBAAkBK,GAAiB,OACnC,aAAeN,GAAU,CACvBO,EAAiB,EAAI,EACrBH,IAAeJ,CAAK,CACtB,EACA,aAAeA,GAAU,CACvBO,EAAiB,EAAK,EACtBF,IAAeL,CAAK,CACtB,GAECT,EACCxB,EAEAxB,EAAA,cAAAA,EAAA,cACGwB,EAEAoC,GACC5D,EAAA,cAAC,OAAI,UAAU,uBACZ,OAAO4D,GAAU,SAChB5D,EAAA,cAAC,SAAM,KAAMiE,EAAa,QAAQ,QAC/BL,CACH,EAEA5D,EAAA,cAAC,SACC,KAAM4D,EAAM,MAAQK,EACpB,QAASL,EAAM,SAAW,OAC1B,MAAOA,EAAM,MACb,aAAcA,EAAM,aACpB,OAAQA,EAAM,QAEbA,EAAM,OACT,CAEJ,EAEDD,GACC3D,EAAA,cAAC,OAAI,UAAU,8CACbA,EAAA,cAAC,QAAI,KAAMiE,GAAcN,CAAS,CACpC,CAEJ,CAEJ,CAEJ,CACF,EACAtE,EAAkB,YAAc,qBAOhC,MAAME,EAAiBS,EAAM,WAC3B,CAAC,CAAE,YAAAmB,EAAc,GAAO,SAAAK,EAAU,GAAGC,CAAM,EAAGC,IAE1C1B,EAAA,cAAC,OAAK,GAAGyB,EAAO,IAAKC,GACnB1B,EAAA,cAAC,YAAU,KAAV,CAAe,KAAK,SAAS,YAAW,GAAC,aAAcmB,EAAc,OAAS,QAC7EnB,EAAA,cAAC,YAAU,KAAV,CAAe,MAAM,QAAQwB,CAAS,CACzC,CACF,CAGN,EACAjC,EAAe,YAAc,kBAO7B,MAAME,EAAwBO,EAAM,WAIlC,CACE,CAAE,QAAAgD,EAAU,GAAO,UAAAzB,EAAW,SAAAC,EAAU,aAAAqC,EAAc,aAAAC,EAAc,GAAGrC,CAAM,EAC7EC,IACG,CACH,KAAM,CAACqC,EAAeC,CAAgB,EAAIhE,EAAM,SAAS,EAAK,EAE9D,OACEA,EAAA,cAAC,YAAU,OAAV,CAAiB,QAAO,IACvBA,EAAA,cAAC,WACCA,EAAA,cAAC,YAAU,QAAV,CACE,GAAGyB,EACJ,IAAKC,EACL,QAASsB,EACT,aAAW,EAAAV,SACT,WACA,kBACA,uBACA,2BACAf,CACF,EACA,mBAAkBwC,GAAiB,OACnC,aAAeN,GAAU,CACvBO,EAAiB,EAAI,EACrBH,IAAeJ,CAAK,CACtB,EACA,aAAeA,GAAU,CACvBO,EAAiB,EAAK,EACtBF,IAAeL,CAAK,CACtB,GAECT,EACCxB,EAEAxB,EAAA,cAAAA,EAAA,cACGwB,EACDxB,EAAA,cAAC,yBACC,aAAW,EAAAsC,SACT,4BACA,8BACF,EACF,CACF,CAEJ,CACF,CACF,CAEJ,CACF,EACA7C,EAAsB,YAAc,yBAKpC,MAAMD,EAAwBQ,EAAM,WAGlC,CAAC,CAAE,UAAAuB,EAAW,SAAAC,EAAU,GAAGC,CAAM,EAAGC,IAElC1B,EAAA,cAAC,YAAU,QAAV,CACE,GAAGyB,EACJ,IAAKC,EACL,aAAW,EAAAY,SAAW,2BAA4Bf,CAAS,GAE3DvB,EAAA,cAAC,OAAI,UAAU,yBAAyBwB,CAAS,CACnD,CAEH,EACDhC,EAAsB,YAAc,yBAKpC,MAAMR,EAAegB,EAAM,WACzB,CAAC,CAAE,UAAAuB,EAAW,GAAGE,CAAM,EAAGC,IACxB1B,EAAA,cAAC,OACE,GAAGyB,EACJ,IAAKC,EACL,aAAW,EAAAY,SAAW,mBAAoB,kBAAmBf,CAAS,EACxE,CAEJ,EACAvC,EAAa,YAAc,gBAM3B,MAAME,EAAoBc,EAAM,WAC9B,CAAC,CAAE,QAAAgD,EAAU,GAAO,UAAAzB,EAAW,GAAGE,CAAM,EAAGC,IAIvC1B,EAAA,cAHWgD,EAAU,OAAO,MAG3B,CACE,GAAGvB,EACJ,IAAKC,EACL,aAAW,EAAAY,SAAW,mBAAoB,uBAAwBf,CAAS,EAC7E,CAGN,EACArC,EAAkB,YAAc,qBAIhC,MAAMD,EAAsBe,EAAM,WAChC,CAAC,CAAE,UAAAuB,EAAW,GAAGE,CAAM,EAAGC,IACxB1B,EAAA,cAAC,OACE,GAAGyB,EACJ,IAAKC,EACL,aAAW,EAAAY,SAAW,yBAA0Bf,CAAS,EAC3D,CAEJ,EACAtC,EAAoB,YAAc",
6
6
  "names": ["sidebar_exports", "__export", "SidebarContent", "SidebarFooter", "SidebarGroup", "SidebarGroupContent", "SidebarGroupLabel", "SidebarHeader", "SidebarMenu", "SidebarMenuButton", "SidebarMenuItem", "SidebarMenuSub", "SidebarMenuSubContent", "SidebarMenuSubTrigger", "SidebarProvider", "Sidebar", "SidebarSeparator", "SidebarTrigger", "useSidebar", "__toCommonJS", "React", "import_classnames", "import_slot", "import_radix_ui", "import_sidebar_props", "import_theme", "import_icon_button", "import_scroll_area", "import_separator", "import_icons", "import_extract_props", "import_kbd", "import_badge", "SidebarContext", "context", "useIsMobile", "isMobile", "setIsMobile", "checkIsMobile", "defaultOpen", "openProp", "setOpenProp", "side", "className", "children", "props", "forwardedRef", "openMobile", "setOpenMobile", "internalOpen", "setInternalOpen", "open", "setOpen", "value", "openState", "toggleSidebar", "state", "contextValue", "classNames", "themeContext", "size", "variant", "menuVariant", "type", "collapsible", "panelBackground", "color", "highContrast", "asChild", "rootProps", "_", "__", "safeRootProps", "resolvedColor", "resolvedSize", "asContainer", "onClick", "event", "isActive", "shortcut", "badge", "onMouseEnter", "onMouseLeave", "isHighlighted", "setIsHighlighted", "sidebarSize"]
7
7
  }
@@ -1 +1 @@
1
- {"version":3,"file":"image.d.ts","sourceRoot":"","sources":["../../../src/components/image.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAG/B,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AASjD,OAAO,KAAK,EAAE,qBAAqB,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AACzF,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAC5D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAC1D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAC5D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAC5D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAG5D,KAAK,aAAa,GAAG,eAAe,CAAC,OAAO,aAAa,CAAC,GAAG;IAC3D,OAAO,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;IAC3B;;;OAGG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;OAEG;IACH,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB;;OAEG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB;;OAEG;IACH,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,cAAc,CAAC,gBAAgB,CAAC,KAAK,IAAI,CAAC;IACjE;;OAEG;IACH,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,cAAc,CAAC,gBAAgB,CAAC,KAAK,IAAI,CAAC;IAClE;;OAEG;IACH,YAAY,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;CACpC,CAAC;AAEF,UAAU,UACR,SAAQ,qBAAqB,CAAC,KAAK,EAAE,YAAY,GAAG,OAAO,GAAG,OAAO,GAAG,QAAQ,GAAG,KAAK,CAAC,EACvF,WAAW,EACX,UAAU,EACV,WAAW,EACX,WAAW,EACX,aAAa;IACf;;;OAGG;IACH,GAAG,EAAE,MAAM,CAAC;CACb;AAED,QAAA,MAAM,KAAK,qFA8ST,CAAC;AAIH,OAAO,EAAE,KAAK,EAAE,CAAC;AACjB,YAAY,EAAE,UAAU,EAAE,CAAC"}
1
+ {"version":3,"file":"image.d.ts","sourceRoot":"","sources":["../../../src/components/image.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAG/B,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AASjD,OAAO,KAAK,EAAE,qBAAqB,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AACzF,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAC5D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAC1D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAC5D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAC5D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAG5D,KAAK,aAAa,GAAG,eAAe,CAAC,OAAO,aAAa,CAAC,GAAG;IAC3D,OAAO,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;IAC3B;;;OAGG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;OAEG;IACH,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB;;OAEG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB;;OAEG;IACH,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,cAAc,CAAC,gBAAgB,CAAC,KAAK,IAAI,CAAC;IACjE;;OAEG;IACH,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,cAAc,CAAC,gBAAgB,CAAC,KAAK,IAAI,CAAC;IAClE;;OAEG;IACH,YAAY,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;CACpC,CAAC;AAEF,UAAU,UACR,SAAQ,qBAAqB,CAAC,KAAK,EAAE,YAAY,GAAG,OAAO,GAAG,OAAO,GAAG,QAAQ,GAAG,KAAK,CAAC,EACvF,WAAW,EACX,UAAU,EACV,WAAW,EACX,WAAW,EACX,aAAa;IACf;;;OAGG;IACH,GAAG,EAAE,MAAM,CAAC;CACb;AAED,QAAA,MAAM,KAAK,qFA0TT,CAAC;AAIH,OAAO,EAAE,KAAK,EAAE,CAAC;AACjB,YAAY,EAAE,UAAU,EAAE,CAAC"}
@@ -1,2 +1,2 @@
1
- "use client";import*as t from"react";import a from"classnames";import{imagePropDefs as O}from"./image.props.js";import{extractProps as q}from"../helpers/extract-props.js";import{marginPropDefs as G}from"../props/margin.props.js";import{widthPropDefs as $}from"../props/width.props.js";import{heightPropDefs as A}from"../props/height.props.js";import{layoutPropDefs as F}from"../props/layout.props.js";import{Skeleton as J}from"./skeleton.js";import{Box as x}from"./box.js";const M=t.forwardRef((T,o)=>{const{variant:d="surface",wrapperStyle:f,...j}=T,{asChild:L,className:n,radius:s,style:r,loading:p="lazy",alt:c,src:i,placeholder:u,showSkeleton:N=!1,fadeIn:l=!0,onLoad:S,onError:k,children:D,...m}=q(j,O,G,$,A,F),[g,h]=t.useState(!1),[W,I]=t.useState(!1),[w,b]=t.useState(!!u),y=t.useRef(null),P=t.useCallback(e=>{h(!0),I(!1),b(!1),S?.(e)},[S]),E=t.useCallback(e=>{h(!1),I(!0),b(!1),k?.(e)},[k]);if(t.useEffect(()=>{const e=y.current;e&&e.complete&&e.naturalWidth>0&&(h(!0),I(!1),b(!1))},[i]),!i)return console.warn("Image component: src prop is required"),null;!L&&c===void 0&&console.warn("Image component: alt prop is required for accessibility when not using asChild");const z=N&&!g&&!W?t.createElement(J,{width:"100%",height:"100px",style:{...r,borderRadius:s?`var(--radius-${s})`:void 0},className:n}):null,B=u&&w?t.createElement("img",{"data-radius":s,style:{...r,filter:"blur(4px)",opacity:.7,transition:"opacity 0.3s ease-out"},className:a("rt-reset","rt-Image","rt-Image--placeholder",n),alt:"",src:u}):null,C=t.createElement("img",{"data-radius":s,loading:p,style:{...r,opacity:l?g?r?.opacity??1:0:r?.opacity??1,transition:l?"opacity 0.3s ease-out":"none"},className:a("rt-reset","rt-Image",d==="blur"&&"rt-Image--blur",n),alt:c,src:i,onLoad:P,onError:E,...m,ref:e=>{y.current=e,typeof o=="function"?o(e):o&&(o.current=e)}}),H=u||N?t.createElement(x,{position:"relative",display:"inline-block",style:f},z,B,C):C;if(L&&D){const e=t.Children.only(D);return d==="blur"?t.cloneElement(e,{className:a(e.props?.className,"rt-variant-blur"),style:{textDecoration:"none",color:"inherit",border:"none",background:"none",padding:0,font:"inherit",cursor:"pointer",...e.props?.style},children:t.createElement(x,{position:"relative",display:"inline-block",style:f},t.createElement("img",{"data-radius":s,loading:p,style:{...r,position:"absolute",top:"8px",left:"0"},className:a("rt-reset","rt-Image","rt-Image--blur","rt-Image--blur-bg",n),alt:"",src:i,...m}),t.createElement("img",{"data-radius":s,loading:p,style:{...r,position:"relative",zIndex:1,opacity:l?g?r?.opacity??1:0:r?.opacity??1,transition:l?"opacity 0.3s ease-out":"none"},className:a("rt-reset","rt-Image","rt-Image--blur",n),alt:c,src:i,onLoad:P,onError:E,...m,ref:v=>{y.current=v,typeof o=="function"?o(v):o&&(o.current=v)}}))}):t.cloneElement(e,{className:a(e.props?.className),style:{textDecoration:"none",color:"inherit",border:"none",background:"none",padding:0,font:"inherit",cursor:"pointer",display:"inline-block",...e.props?.style},children:H})}return d==="blur"?t.createElement(x,{className:"rt-variant-blur",position:"relative",display:"inline-block",style:f},t.createElement("img",{"data-radius":s,loading:p,style:{...r,position:"absolute",top:"8px",left:"0"},className:a("rt-reset","rt-Image","rt-Image--blur","rt-Image--blur-bg",n),alt:"",src:i,...m}),t.createElement("img",{"data-radius":s,loading:p,style:{...r,position:"relative",zIndex:1,opacity:l?g?r?.opacity??1:0:r?.opacity??1,transition:l?"opacity 0.3s ease-out":"none"},className:a("rt-reset","rt-Image","rt-Image--blur",n),alt:c,src:i,onLoad:P,onError:E,...m,ref:e=>{y.current=e,typeof o=="function"?o(e):o&&(o.current=e)}})):H});M.displayName="Image";export{M as Image};
1
+ "use client";import*as e from"react";import s from"classnames";import{imagePropDefs as B}from"./image.props.js";import{extractProps as q}from"../helpers/extract-props.js";import{marginPropDefs as A}from"../props/margin.props.js";import{widthPropDefs as G}from"../props/width.props.js";import{heightPropDefs as F}from"../props/height.props.js";import{layoutPropDefs as $}from"../props/layout.props.js";import{Skeleton as J}from"./skeleton.js";import{Box as w}from"./box.js";const H=e.forwardRef((M,r)=>{const{variant:b="surface",wrapperStyle:T,...j}=M,{asChild:E,className:o,radius:a,style:u,loading:i="lazy",alt:p,src:n,placeholder:d,showSkeleton:W=!1,fadeIn:S=!0,onLoad:L,onError:N,children:v,...x}=q(j,B,A,G,F,$),[D,f]=e.useState(!1),[z,I]=e.useState(!1),[O,P]=e.useState(!!d),m=e.useRef(null),g=e.useCallback(t=>{f(!0),I(!1),P(!1),L?.(t)},[L]),h=e.useCallback(t=>{f(!1),I(!0),P(!1),N?.(t)},[N]);if(e.useEffect(()=>{const t=m.current;t&&t.complete&&t.naturalWidth>0&&(f(!0),I(!1),P(!1))},[n]),!n)return console.warn("Image component: src prop is required"),null;!E&&p===void 0&&console.warn("Image component: alt prop is required for accessibility when not using asChild");const c={width:"100%",height:"100%",display:"block",opacity:S?D?1:0:1,transition:S?"opacity 0.3s ease-out":"none",...u},y={position:"relative",display:"block",...T},k=W&&!D&&!z?e.createElement(J,{width:"100%",height:"100px",style:{borderRadius:a?`var(--radius-${a})`:void 0},className:o}):null,C=d&&O?e.createElement("img",{"data-radius":a,style:{...c,filter:"blur(4px)",opacity:.7,transition:"opacity 0.3s ease-out"},className:s("rt-reset","rt-Image","rt-Image--placeholder",o),alt:"",src:d}):null;if(E&&v){const t=e.Children.only(v);return b==="blur"?e.cloneElement(t,{className:s(t.props?.className,"rt-variant-blur"),style:{textDecoration:"none",color:"inherit",border:"none",background:"none",padding:0,font:"inherit",cursor:"pointer",...y,...u,...t.props?.style},children:e.createElement(e.Fragment,null,e.createElement("img",{"data-radius":a,loading:i,style:{position:"absolute",top:"0",left:"0",width:"105%",height:"105%",transform:"translate(-2.5%, -2.5%)",filter:"blur(16px) saturate(1.5)",opacity:.5,zIndex:-1},className:s("rt-reset","rt-Image","rt-Image--blur-bg",o),alt:"",src:n}),e.createElement("img",{"data-radius":a,loading:i,style:c,className:s("rt-reset","rt-Image","rt-Image--blur",o),alt:p,src:n,onLoad:g,onError:h,ref:l=>{m.current=l,typeof r=="function"?r(l):r&&(r.current=l)}}))}):e.cloneElement(t,{className:s(t.props?.className),style:{textDecoration:"none",color:"inherit",border:"none",background:"none",padding:0,font:"inherit",cursor:"pointer",...y,...t.props?.style},children:e.createElement(e.Fragment,null,k,C,e.createElement("img",{"data-radius":a,loading:i,style:c,className:s("rt-reset","rt-Image",o),alt:p,src:n,onLoad:g,onError:h,ref:l=>{m.current=l,typeof r=="function"?r(l):r&&(r.current=l)}}))})}return b==="blur"?e.createElement(w,{className:s("rt-variant-blur",o),style:{...u,...y},...x},e.createElement("img",{"data-radius":a,loading:i,style:{position:"absolute",top:"0",left:"0",width:"105%",height:"105%",transform:"translate(-2.5%, -2.5%)",filter:"blur(16px) saturate(1.5)",opacity:.5,zIndex:-1},className:s("rt-reset","rt-Image","rt-Image--blur-bg",o),alt:"",src:n}),e.createElement("img",{"data-radius":a,loading:i,style:c,className:s("rt-reset","rt-Image","rt-Image--blur",o),alt:p,src:n,onLoad:g,onError:h,ref:t=>{m.current=t,typeof r=="function"?r(t):r&&(r.current=t)}})):e.createElement(w,{className:o,style:{...u,...y},...x},k,C,e.createElement("img",{"data-radius":a,loading:i,style:c,className:s("rt-reset","rt-Image",o),alt:p,src:n,onLoad:g,onError:h,ref:t=>{m.current=t,typeof r=="function"?r(t):r&&(r.current=t)}}))});H.displayName="Image";export{H as Image};
2
2
  //# sourceMappingURL=image.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/components/image.tsx"],
4
- "sourcesContent": ["'use client';\n\nimport * as React from 'react';\nimport classNames from 'classnames';\n\nimport { imagePropDefs } from './image.props.js';\nimport { extractProps } from '../helpers/extract-props.js';\nimport { marginPropDefs } from '../props/margin.props.js';\nimport { widthPropDefs } from '../props/width.props.js';\nimport { heightPropDefs } from '../props/height.props.js';\nimport { layoutPropDefs } from '../props/layout.props.js';\nimport { Skeleton } from './skeleton.js';\nimport { Box } from './box.js';\n\nimport type { ComponentPropsWithout, RemovedProps } from '../helpers/component-props.js';\nimport type { MarginProps } from '../props/margin.props.js';\nimport type { WidthProps } from '../props/width.props.js';\nimport type { HeightProps } from '../props/height.props.js';\nimport type { LayoutProps } from '../props/layout.props.js';\nimport type { GetPropDefTypes } from '../props/prop-def.js';\n\ntype ImageElement = React.ElementRef<'img'>;\ntype ImageOwnProps = GetPropDefTypes<typeof imagePropDefs> & {\n loading?: 'eager' | 'lazy';\n /**\n * Placeholder image URL to show while the main image is loading.\n * Can be a low-quality/blurred version of the main image.\n */\n placeholder?: string;\n /**\n * Shows a skeleton placeholder while loading instead of a blank space.\n */\n showSkeleton?: boolean;\n /**\n * Whether the image should fade in when loaded. Set to false for background images or when you want immediate visibility.\n */\n fadeIn?: boolean;\n /**\n * Callback fired when the image successfully loads.\n */\n onLoad?: (event: React.SyntheticEvent<HTMLImageElement>) => void;\n /**\n * Callback fired when the image fails to load.\n */\n onError?: (event: React.SyntheticEvent<HTMLImageElement>) => void;\n /**\n * Style object to apply to the wrapper container. Useful for overriding display, width, height, etc.\n */\n wrapperStyle?: React.CSSProperties;\n};\n\ninterface ImageProps\n extends ComponentPropsWithout<'img', RemovedProps | 'color' | 'width' | 'height' | 'alt'>,\n MarginProps,\n WidthProps,\n HeightProps,\n LayoutProps,\n ImageOwnProps {\n /**\n * The alt attribute provides alternative information for an image if a user for some reason cannot view it.\n * Required for accessibility when not using asChild. Use empty string for decorative images.\n */\n alt: string;\n}\n\nconst Image = React.forwardRef<ImageElement, ImageProps>((props, forwardedRef) => {\n const { variant = 'surface', wrapperStyle, ...restProps } = props;\n const {\n asChild,\n className,\n radius,\n style,\n loading = 'lazy',\n alt,\n src,\n placeholder,\n showSkeleton = false,\n fadeIn = true,\n onLoad: userOnLoad,\n onError: userOnError,\n children,\n ...imgProps\n } = extractProps(\n restProps,\n imagePropDefs,\n marginPropDefs,\n widthPropDefs,\n heightPropDefs,\n layoutPropDefs,\n );\n\n // Loading state management\n const [imageLoaded, setImageLoaded] = React.useState(false);\n const [imageError, setImageError] = React.useState(false);\n const [showPlaceholder, setShowPlaceholder] = React.useState(!!placeholder);\n\n // Ref to check if image is already loaded (for cached images)\n const imgRef = React.useRef<HTMLImageElement>(null);\n\n // Handle image load - moved to top to avoid conditional hook call\n const handleLoad = React.useCallback(\n (event: React.SyntheticEvent<HTMLImageElement>) => {\n setImageLoaded(true);\n setImageError(false);\n setShowPlaceholder(false);\n userOnLoad?.(event);\n },\n [userOnLoad],\n );\n\n // Handle image error - moved to top to avoid conditional hook call\n const handleError = React.useCallback(\n (event: React.SyntheticEvent<HTMLImageElement>) => {\n setImageLoaded(false);\n setImageError(true);\n setShowPlaceholder(false);\n userOnError?.(event);\n },\n [userOnError],\n );\n\n // Check if image is already loaded (for cached images)\n React.useEffect(() => {\n const img = imgRef.current;\n if (img && img.complete && img.naturalWidth > 0) {\n setImageLoaded(true);\n setImageError(false);\n setShowPlaceholder(false);\n }\n }, [src]);\n\n // Validate required props\n if (!src) {\n console.warn('Image component: src prop is required');\n return null;\n }\n\n if (!asChild && alt === undefined) {\n console.warn('Image component: alt prop is required for accessibility when not using asChild');\n }\n\n // Create skeleton placeholder\n const skeletonElement =\n showSkeleton && !imageLoaded && !imageError ? (\n <Skeleton\n width=\"100%\"\n height=\"100px\" // Default height, can be overridden by style\n style={{\n ...style,\n borderRadius: radius ? `var(--radius-${radius})` : undefined,\n }}\n className={className}\n />\n ) : null;\n\n // Create placeholder image element\n const placeholderElement =\n placeholder && showPlaceholder ? (\n <img\n data-radius={radius}\n style={{\n ...style,\n filter: 'blur(4px)',\n opacity: 0.7,\n transition: 'opacity 0.3s ease-out',\n }}\n className={classNames('rt-reset', 'rt-Image', 'rt-Image--placeholder', className)}\n alt=\"\"\n src={placeholder}\n />\n ) : null;\n\n // Create the standard img element\n const imgElement = (\n <img\n data-radius={radius}\n loading={loading}\n style={{\n ...style,\n opacity: fadeIn ? (imageLoaded ? (style?.opacity ?? 1) : 0) : (style?.opacity ?? 1),\n transition: fadeIn ? 'opacity 0.3s ease-out' : 'none',\n }}\n className={classNames(\n 'rt-reset',\n 'rt-Image',\n variant === 'blur' && 'rt-Image--blur',\n className,\n )}\n alt={alt}\n src={src}\n onLoad={handleLoad}\n onError={handleError}\n {...imgProps}\n ref={(node) => {\n imgRef.current = node;\n if (typeof forwardedRef === 'function') {\n forwardedRef(node);\n } else if (forwardedRef) {\n forwardedRef.current = node;\n }\n }}\n />\n );\n\n // Wrapper for images with placeholders\n const imageWithPlaceholder =\n placeholder || showSkeleton ? (\n <Box position=\"relative\" display=\"inline-block\" style={wrapperStyle}>\n {skeletonElement}\n {placeholderElement}\n {imgElement}\n </Box>\n ) : (\n imgElement\n );\n\n // Handle asChild - inject img into the child element\n if (asChild && children) {\n const child = React.Children.only(children) as React.ReactElement<any>;\n\n if (variant === 'blur') {\n // For blur variant with asChild\n return React.cloneElement(child, {\n className: classNames(child.props?.className, 'rt-variant-blur'),\n style: {\n textDecoration: 'none', // Reset link underlines\n color: 'inherit', // Reset link colors\n border: 'none', // Reset button borders\n background: 'none', // Reset button backgrounds\n padding: 0, // Reset button padding\n font: 'inherit', // Reset button fonts\n cursor: 'pointer', // Ensure interactive cursor\n ...child.props?.style,\n },\n children: (\n <Box position=\"relative\" display=\"inline-block\" style={wrapperStyle}>\n {/* Background blurred image */}\n <img\n data-radius={radius}\n loading={loading}\n style={{\n ...style,\n position: 'absolute',\n top: '8px',\n left: '0',\n }}\n className={classNames(\n 'rt-reset',\n 'rt-Image',\n 'rt-Image--blur',\n 'rt-Image--blur-bg',\n className,\n )}\n alt=\"\"\n src={src}\n {...imgProps}\n />\n {/* Foreground image */}\n <img\n data-radius={radius}\n loading={loading}\n style={{\n ...style,\n position: 'relative',\n zIndex: 1,\n opacity: fadeIn ? (imageLoaded ? (style?.opacity ?? 1) : 0) : (style?.opacity ?? 1),\n transition: fadeIn ? 'opacity 0.3s ease-out' : 'none',\n }}\n className={classNames('rt-reset', 'rt-Image', 'rt-Image--blur', className)}\n alt={alt}\n src={src}\n onLoad={handleLoad}\n onError={handleError}\n {...imgProps}\n ref={(node) => {\n imgRef.current = node;\n if (typeof forwardedRef === 'function') {\n forwardedRef(node);\n } else if (forwardedRef) {\n forwardedRef.current = node;\n }\n }}\n />\n </Box>\n ),\n });\n } else {\n // For surface variant with asChild\n return React.cloneElement(child, {\n className: classNames(child.props?.className),\n style: {\n textDecoration: 'none', // Reset link underlines\n color: 'inherit', // Reset link colors\n border: 'none', // Reset button borders\n background: 'none', // Reset button backgrounds\n padding: 0, // Reset button padding\n font: 'inherit', // Reset button fonts\n cursor: 'pointer', // Ensure interactive cursor\n display: 'inline-block', // Ensure proper sizing\n ...child.props?.style, // Allow user overrides\n },\n children: imageWithPlaceholder,\n });\n }\n }\n\n // Regular rendering without asChild\n if (variant === 'blur') {\n return (\n <Box\n className=\"rt-variant-blur\"\n position=\"relative\"\n display=\"inline-block\"\n style={wrapperStyle}\n >\n {/* Background blurred image */}\n <img\n data-radius={radius}\n loading={loading}\n style={{\n ...style,\n position: 'absolute',\n top: '8px',\n left: '0',\n }}\n className={classNames(\n 'rt-reset',\n 'rt-Image',\n 'rt-Image--blur',\n 'rt-Image--blur-bg',\n className,\n )}\n alt=\"\"\n src={src}\n {...imgProps}\n />\n {/* Foreground image */}\n <img\n data-radius={radius}\n loading={loading}\n style={{\n ...style,\n position: 'relative',\n zIndex: 1,\n opacity: fadeIn ? (imageLoaded ? (style?.opacity ?? 1) : 0) : (style?.opacity ?? 1),\n transition: fadeIn ? 'opacity 0.3s ease-out' : 'none',\n }}\n className={classNames('rt-reset', 'rt-Image', 'rt-Image--blur', className)}\n alt={alt}\n src={src}\n onLoad={handleLoad}\n onError={handleError}\n {...imgProps}\n ref={(node) => {\n imgRef.current = node;\n if (typeof forwardedRef === 'function') {\n forwardedRef(node);\n } else if (forwardedRef) {\n forwardedRef.current = node;\n }\n }}\n />\n </Box>\n );\n }\n\n return imageWithPlaceholder;\n});\n\nImage.displayName = 'Image';\n\nexport { Image };\nexport type { ImageProps };\n"],
5
- "mappings": "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",
6
- "names": ["React", "classNames", "imagePropDefs", "extractProps", "marginPropDefs", "widthPropDefs", "heightPropDefs", "layoutPropDefs", "Skeleton", "Box", "Image", "props", "forwardedRef", "variant", "wrapperStyle", "restProps", "asChild", "className", "radius", "style", "loading", "alt", "src", "placeholder", "showSkeleton", "fadeIn", "userOnLoad", "userOnError", "children", "imgProps", "imageLoaded", "setImageLoaded", "imageError", "setImageError", "showPlaceholder", "setShowPlaceholder", "imgRef", "handleLoad", "event", "handleError", "img", "skeletonElement", "placeholderElement", "imgElement", "node", "imageWithPlaceholder", "child"]
4
+ "sourcesContent": ["'use client';\n\nimport * as React from 'react';\nimport classNames from 'classnames';\n\nimport { imagePropDefs } from './image.props.js';\nimport { extractProps } from '../helpers/extract-props.js';\nimport { marginPropDefs } from '../props/margin.props.js';\nimport { widthPropDefs } from '../props/width.props.js';\nimport { heightPropDefs } from '../props/height.props.js';\nimport { layoutPropDefs } from '../props/layout.props.js';\nimport { Skeleton } from './skeleton.js';\nimport { Box } from './box.js';\n\nimport type { ComponentPropsWithout, RemovedProps } from '../helpers/component-props.js';\nimport type { MarginProps } from '../props/margin.props.js';\nimport type { WidthProps } from '../props/width.props.js';\nimport type { HeightProps } from '../props/height.props.js';\nimport type { LayoutProps } from '../props/layout.props.js';\nimport type { GetPropDefTypes } from '../props/prop-def.js';\n\ntype ImageElement = React.ElementRef<'img'>;\ntype ImageOwnProps = GetPropDefTypes<typeof imagePropDefs> & {\n loading?: 'eager' | 'lazy';\n /**\n * Placeholder image URL to show while the main image is loading.\n * Can be a low-quality/blurred version of the main image.\n */\n placeholder?: string;\n /**\n * Shows a skeleton placeholder while loading instead of a blank space.\n */\n showSkeleton?: boolean;\n /**\n * Whether the image should fade in when loaded. Set to false for background images or when you want immediate visibility.\n */\n fadeIn?: boolean;\n /**\n * Callback fired when the image successfully loads.\n */\n onLoad?: (event: React.SyntheticEvent<HTMLImageElement>) => void;\n /**\n * Callback fired when the image fails to load.\n */\n onError?: (event: React.SyntheticEvent<HTMLImageElement>) => void;\n /**\n * Style object to apply to the wrapper container. Useful for overriding display, width, height, etc.\n */\n wrapperStyle?: React.CSSProperties;\n};\n\ninterface ImageProps\n extends ComponentPropsWithout<'img', RemovedProps | 'color' | 'width' | 'height' | 'alt'>,\n MarginProps,\n WidthProps,\n HeightProps,\n LayoutProps,\n ImageOwnProps {\n /**\n * The alt attribute provides alternative information for an image if a user for some reason cannot view it.\n * Required for accessibility when not using asChild. Use empty string for decorative images.\n */\n alt: string;\n}\n\nconst Image = React.forwardRef<ImageElement, ImageProps>((props, forwardedRef) => {\n const { variant = 'surface', wrapperStyle, ...restProps } = props;\n const {\n asChild,\n className,\n radius,\n style,\n loading = 'lazy',\n alt,\n src,\n placeholder,\n showSkeleton = false,\n fadeIn = true,\n onLoad: userOnLoad,\n onError: userOnError,\n children,\n ...wrapperProps\n } = extractProps(\n restProps,\n imagePropDefs,\n marginPropDefs,\n widthPropDefs,\n heightPropDefs,\n layoutPropDefs,\n );\n\n // Loading state management\n const [imageLoaded, setImageLoaded] = React.useState(false);\n const [imageError, setImageError] = React.useState(false);\n const [showPlaceholder, setShowPlaceholder] = React.useState(!!placeholder);\n\n // Ref to check if image is already loaded (for cached images)\n const imgRef = React.useRef<HTMLImageElement>(null);\n\n // Handle image load\n const handleLoad = React.useCallback(\n (event: React.SyntheticEvent<HTMLImageElement>) => {\n setImageLoaded(true);\n setImageError(false);\n setShowPlaceholder(false);\n userOnLoad?.(event);\n },\n [userOnLoad],\n );\n\n // Handle image error\n const handleError = React.useCallback(\n (event: React.SyntheticEvent<HTMLImageElement>) => {\n setImageLoaded(false);\n setImageError(true);\n setShowPlaceholder(false);\n userOnError?.(event);\n },\n [userOnError],\n );\n\n // Check if image is already loaded (for cached images)\n React.useEffect(() => {\n const img = imgRef.current;\n if (img && img.complete && img.naturalWidth > 0) {\n setImageLoaded(true);\n setImageError(false);\n setShowPlaceholder(false);\n }\n }, [src]);\n\n // Validate required props\n if (!src) {\n console.warn('Image component: src prop is required');\n return null;\n }\n\n if (!asChild && alt === undefined) {\n console.warn('Image component: alt prop is required for accessibility when not using asChild');\n }\n\n // Common image styles that apply to the actual img element\n const imgStyle: React.CSSProperties = {\n width: '100%',\n height: '100%',\n display: 'block',\n opacity: fadeIn ? (imageLoaded ? 1 : 0) : 1,\n transition: fadeIn ? 'opacity 0.3s ease-out' : 'none',\n ...style, // Allow style overrides for the image\n };\n\n // Wrapper styles that get all the sizing and positioning\n const wrapperStyleFinal: React.CSSProperties = {\n position: 'relative',\n display: 'block', // Use block instead of inline-block to work better with AspectRatio\n ...wrapperStyle,\n };\n\n // Create skeleton placeholder\n const skeletonElement =\n showSkeleton && !imageLoaded && !imageError ? (\n <Skeleton\n width=\"100%\"\n height=\"100px\" // Default height, can be overridden by wrapper\n style={{\n borderRadius: radius ? `var(--radius-${radius})` : undefined,\n }}\n className={className}\n />\n ) : null;\n\n // Create placeholder image element\n const placeholderElement =\n placeholder && showPlaceholder ? (\n <img\n data-radius={radius}\n style={{\n ...imgStyle,\n filter: 'blur(4px)',\n opacity: 0.7,\n transition: 'opacity 0.3s ease-out',\n }}\n className={classNames('rt-reset', 'rt-Image', 'rt-Image--placeholder', className)}\n alt=\"\"\n src={placeholder}\n />\n ) : null;\n\n // Handle asChild - inject content into the child element\n if (asChild && children) {\n const child = React.Children.only(children) as React.ReactElement<any>;\n\n if (variant === 'blur') {\n // For blur variant with asChild\n return React.cloneElement(child, {\n className: classNames(child.props?.className, 'rt-variant-blur'),\n style: {\n textDecoration: 'none',\n color: 'inherit',\n border: 'none',\n background: 'none',\n padding: 0,\n font: 'inherit',\n cursor: 'pointer',\n ...wrapperStyleFinal,\n ...style, // Apply sizing to the child element\n ...child.props?.style,\n },\n children: (\n <>\n {/* Background blurred image */}\n <img\n data-radius={radius}\n loading={loading}\n style={{\n position: 'absolute',\n top: '0',\n left: '0',\n width: '105%',\n height: '105%',\n transform: 'translate(-2.5%, -2.5%)',\n filter: 'blur(16px) saturate(1.5)',\n opacity: 0.5,\n zIndex: -1,\n }}\n className={classNames('rt-reset', 'rt-Image', 'rt-Image--blur-bg', className)}\n alt=\"\"\n src={src}\n />\n {/* Foreground image */}\n <img\n data-radius={radius}\n loading={loading}\n style={imgStyle}\n className={classNames('rt-reset', 'rt-Image', 'rt-Image--blur', className)}\n alt={alt}\n src={src}\n onLoad={handleLoad}\n onError={handleError}\n ref={(node) => {\n imgRef.current = node;\n if (typeof forwardedRef === 'function') {\n forwardedRef(node);\n } else if (forwardedRef) {\n forwardedRef.current = node;\n }\n }}\n />\n </>\n ),\n });\n } else {\n // For surface variant with asChild\n return React.cloneElement(child, {\n className: classNames(child.props?.className),\n style: {\n textDecoration: 'none',\n color: 'inherit',\n border: 'none',\n background: 'none',\n padding: 0,\n font: 'inherit',\n cursor: 'pointer',\n ...wrapperStyleFinal,\n ...child.props?.style,\n },\n children: (\n <>\n {skeletonElement}\n {placeholderElement}\n <img\n data-radius={radius}\n loading={loading}\n style={imgStyle}\n className={classNames('rt-reset', 'rt-Image', className)}\n alt={alt}\n src={src}\n onLoad={handleLoad}\n onError={handleError}\n ref={(node) => {\n imgRef.current = node;\n if (typeof forwardedRef === 'function') {\n forwardedRef(node);\n } else if (forwardedRef) {\n forwardedRef.current = node;\n }\n }}\n />\n </>\n ),\n });\n }\n }\n\n // Regular rendering without asChild - both variants use Box wrapper\n if (variant === 'blur') {\n return (\n <Box\n className={classNames('rt-variant-blur', className)}\n style={{\n ...style, // Include the width/height styles from extractProps\n ...wrapperStyleFinal,\n }}\n {...wrapperProps} // Apply other props to wrapper\n >\n {/* Background blurred image */}\n <img\n data-radius={radius}\n loading={loading}\n style={{\n position: 'absolute',\n top: '0',\n left: '0',\n width: '105%',\n height: '105%',\n transform: 'translate(-2.5%, -2.5%)',\n filter: 'blur(16px) saturate(1.5)',\n opacity: 0.5,\n zIndex: -1,\n }}\n className={classNames('rt-reset', 'rt-Image', 'rt-Image--blur-bg', className)}\n alt=\"\"\n src={src}\n />\n {/* Foreground image */}\n <img\n data-radius={radius}\n loading={loading}\n style={imgStyle}\n className={classNames('rt-reset', 'rt-Image', 'rt-Image--blur', className)}\n alt={alt}\n src={src}\n onLoad={handleLoad}\n onError={handleError}\n ref={(node) => {\n imgRef.current = node;\n if (typeof forwardedRef === 'function') {\n forwardedRef(node);\n } else if (forwardedRef) {\n forwardedRef.current = node;\n }\n }}\n />\n </Box>\n );\n }\n\n // Surface variant - also use Box wrapper for consistency\n return (\n <Box\n className={className}\n style={{\n ...style, // Include the width/height styles from extractProps\n ...wrapperStyleFinal,\n }}\n {...wrapperProps} // Apply other props to wrapper\n >\n {skeletonElement}\n {placeholderElement}\n <img\n data-radius={radius}\n loading={loading}\n style={imgStyle}\n className={classNames('rt-reset', 'rt-Image', className)}\n alt={alt}\n src={src}\n onLoad={handleLoad}\n onError={handleError}\n ref={(node) => {\n imgRef.current = node;\n if (typeof forwardedRef === 'function') {\n forwardedRef(node);\n } else if (forwardedRef) {\n forwardedRef.current = node;\n }\n }}\n />\n </Box>\n );\n});\n\nImage.displayName = 'Image';\n\nexport { Image };\nexport type { ImageProps };\n"],
5
+ "mappings": "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",
6
+ "names": ["React", "classNames", "imagePropDefs", "extractProps", "marginPropDefs", "widthPropDefs", "heightPropDefs", "layoutPropDefs", "Skeleton", "Box", "Image", "props", "forwardedRef", "variant", "wrapperStyle", "restProps", "asChild", "className", "radius", "style", "loading", "alt", "src", "placeholder", "showSkeleton", "fadeIn", "userOnLoad", "userOnError", "children", "wrapperProps", "imageLoaded", "setImageLoaded", "imageError", "setImageError", "showPlaceholder", "setShowPlaceholder", "imgRef", "handleLoad", "event", "handleError", "img", "imgStyle", "wrapperStyleFinal", "skeletonElement", "placeholderElement", "child", "node"]
7
7
  }
@@ -1 +1 @@
1
- {"version":3,"file":"sidebar.d.ts","sourceRoot":"","sources":["../../../src/components/sidebar.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sidebar.d.ts","sourceRoot":"","sources":["../../../src/components/sidebar.tsx"],"names":[],"mappings":"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"}