{"version":3,"file":"TabsPanel.mjs","sources":["../../../../src/components/Tabs/TabsPanel/TabsPanel.tsx"],"sourcesContent":["import {\n  Box,\n  BoxProps,\n  CompoundStylesApiProps,\n  ElementProps,\n  factory,\n  Factory,\n  useProps,\n} from '../../../core';\nimport { useTabsContext } from '../Tabs.context';\n\nexport type TabsPanelStylesNames = 'panel';\n\nexport interface TabsPanelProps\n  extends BoxProps,\n    CompoundStylesApiProps<TabsPanelFactory>,\n    ElementProps<'div'> {\n  /** Panel content */\n  children: React.ReactNode;\n\n  /** If set to `true`, the content will be kept mounted, even if `keepMounted` is set `false` in the parent `Tabs` component */\n  keepMounted?: boolean;\n\n  /** Value of associated control */\n  value: string;\n}\n\nexport type TabsPanelFactory = Factory<{\n  props: TabsPanelProps;\n  ref: HTMLDivElement;\n  stylesNames: TabsPanelStylesNames;\n  compound: true;\n}>;\n\nconst defaultProps: Partial<TabsPanelProps> = {};\n\nexport const TabsPanel = factory<TabsPanelFactory>((_props, ref) => {\n  const props = useProps('TabsPanel', defaultProps, _props);\n  const { children, className, value, classNames, styles, style, mod, keepMounted, ...others } =\n    props;\n\n  const ctx = useTabsContext();\n\n  const active = ctx.value === value;\n  const content = ctx.keepMounted || keepMounted ? children : active ? children : null;\n\n  return (\n    <Box\n      {...others}\n      {...ctx.getStyles('panel', {\n        className,\n        classNames,\n        styles,\n        style: [style, !active ? { display: 'none' } : undefined],\n        props,\n      })}\n      ref={ref}\n      mod={[{ orientation: ctx.orientation }, mod]}\n      role=\"tabpanel\"\n      id={ctx.getPanelId(value)}\n      aria-labelledby={ctx.getTabId(value)}\n    >\n      {content}\n    </Box>\n  );\n});\n\nTabsPanel.displayName = '@raikou/core/TabsPanel';\n"],"names":[],"mappings":";;;;;;;;;;;AAkCA,MAAM,eAAwC,EAAC;AAExC,MAAM,SAAY,GAAA,OAAA,CAA0B,CAAC,MAAA,EAAQ,GAAQ,KAAA;AAClE,EAAA,MAAM,KAAQ,GAAA,QAAA,CAAS,WAAa,EAAA,YAAA,EAAc,MAAM,CAAA;AACxD,EAAM,MAAA,EAAE,QAAU,EAAA,SAAA,EAAW,KAAO,EAAA,UAAA,EAAY,MAAQ,EAAA,KAAA,EAAO,GAAK,EAAA,WAAA,EAAa,GAAG,MAAA,EAClF,GAAA,KAAA;AAEF,EAAA,MAAM,MAAM,cAAe,EAAA;AAE3B,EAAM,MAAA,MAAA,GAAS,IAAI,KAAU,KAAA,KAAA;AAC7B,EAAA,MAAM,UAAU,GAAI,CAAA,WAAA,IAAe,WAAc,GAAA,QAAA,GAAW,SAAS,QAAW,GAAA,IAAA;AAEhF,EACE,uBAAA,GAAA;AAAA,IAAC,GAAA;AAAA,IAAA;AAAA,MACE,GAAG,MAAA;AAAA,MACH,GAAG,GAAI,CAAA,SAAA,CAAU,OAAS,EAAA;AAAA,QACzB,SAAA;AAAA,QACA,UAAA;AAAA,QACA,MAAA;AAAA,QACA,KAAA,EAAO,CAAC,KAAO,EAAA,CAAC,SAAS,EAAE,OAAA,EAAS,MAAO,EAAA,GAAI,KAAS,CAAA,CAAA;AAAA,QACxD;AAAA,OACD,CAAA;AAAA,MACD,GAAA;AAAA,MACA,KAAK,CAAC,EAAE,aAAa,GAAI,CAAA,WAAA,IAAe,GAAG,CAAA;AAAA,MAC3C,IAAK,EAAA,UAAA;AAAA,MACL,EAAA,EAAI,GAAI,CAAA,UAAA,CAAW,KAAK,CAAA;AAAA,MACxB,iBAAA,EAAiB,GAAI,CAAA,QAAA,CAAS,KAAK,CAAA;AAAA,MAElC,QAAA,EAAA;AAAA;AAAA,GACH;AAEJ,CAAC;AAED,SAAA,CAAU,WAAc,GAAA,wBAAA;;;;"}