{"version":3,"file":"index.cjs","sources":["../../../../src/components/Panel/Panel.tsx"],"sourcesContent":["import type { CSSProperties } from 'react';\nimport { useMemo } from 'react';\nimport { cn, cva } from '@/lib/cva';\nimport type { PanelProps } from './Panel.types';\nimport styles from './Panel.module.css';\n\nconst panelVariants = cva(styles.panel, {\n  variants: {\n    orientation: {\n      horizontal: styles.panel_orientation_horizontal,\n      vertical: styles.panel_orientation_vertical,\n    },\n    alignItems: {\n      start: styles['panel_align-items_start'],\n      center: styles['panel_align-items_center'],\n      end: styles['panel_align-items_end'],\n    },\n    color: {\n      default: styles.panel_color_default,\n      muted: styles.panel_color_muted,\n      transparent: styles.panel_color_transparent,\n    },\n    radii: {\n      none: styles.panel_radii_none,\n      sm: styles.panel_radii_sm,\n      md: styles.panel_radii_md,\n      lg: styles.panel_radii_lg,\n    },\n    padding: {\n      none: styles.panel_padding_none,\n      xs: styles.panel_padding_xs,\n      sm: styles.panel_padding_sm,\n      md: styles.panel_padding_md,\n      lg: styles.panel_padding_lg,\n      xl: styles.panel_padding_xl,\n    },\n    gap: {\n      none: styles.panel_gap_none,\n      xs: styles.panel_gap_xs,\n      sm: styles.panel_gap_sm,\n      md: styles.panel_gap_md,\n      lg: styles.panel_gap_lg,\n      xl: styles.panel_gap_xl,\n    },\n    hasBorder: {\n      true: styles.panel_border,\n    },\n    hasShadow: {\n      true: styles.panel_shadow,\n    },\n  },\n  defaultVariants: {\n    orientation: 'horizontal',\n    alignItems: 'center',\n    color: 'default',\n    radii: 'sm',\n    padding: 'md',\n    gap: 'sm',\n  },\n});\n\nexport const Panel = ({\n  alignItems = 'center',\n  children,\n  color,\n  cursor,\n  fillHeight,\n  fillWidth,\n  gap,\n  hasBorder,\n  hasShadow,\n  height,\n  orientation = 'horizontal',\n  padding,\n  radii = 'sm',\n  width,\n  className,\n  style,\n  ...props\n}: PanelProps) => {\n  const mergedStyle = useMemo(\n    () =>\n      ({\n        ...(cursor && { '--panel-cursor': cursor }),\n        ...((fillWidth || width) && { '--panel-width': fillWidth ? '100%' : width }),\n        ...((fillHeight || height) && {\n          '--panel-height': fillHeight ? '100%' : height,\n        }),\n        ...style,\n      }) as CSSProperties,\n    [cursor, fillWidth, width, fillHeight, height, style]\n  );\n\n  return (\n    <div\n      {...props}\n      style={mergedStyle}\n      className={cn(\n        panelVariants({\n          orientation,\n          alignItems,\n          color,\n          radii,\n          padding,\n          gap,\n          hasBorder,\n          hasShadow,\n        }),\n        cursor && styles.panel_cursor,\n        className\n      )}\n    >\n      {children}\n    </div>\n  );\n};\n"],"names":["cva","styles","useMemo","jsx","cn"],"mappings":"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"}