UNPKG

@mantine/core

Version:

React components library focused on usability, accessibility and developer experience

1 lines 1.94 kB
{"version":3,"file":"HoverCardGroup.cjs","names":["useProps","FloatingDelayGroup"],"sources":["../../../../src/components/HoverCard/HoverCardGroup/HoverCardGroup.tsx"],"sourcesContent":["import { createContext } from 'react';\nimport { FloatingDelayGroup } from '@floating-ui/react';\nimport { ExtendComponent, Factory, MantineThemeComponent, useProps } from '../../../core';\n\nexport interface HoverCardGroupContextValue {\n withinGroup: boolean;\n}\n\nexport const HoverCardGroupContext = createContext<HoverCardGroupContextValue>({\n withinGroup: false,\n});\n\nexport interface HoverCardGroupProps {\n /** `HoverCard` components */\n children: React.ReactNode;\n\n /** Open delay in ms */\n openDelay?: number;\n\n /** Close delay in ms */\n closeDelay?: number;\n}\n\nconst defaultProps = {\n openDelay: 0,\n closeDelay: 0,\n} satisfies Partial<HoverCardGroupProps>;\n\nexport function HoverCardGroup(props: HoverCardGroupProps) {\n const { openDelay, closeDelay, children } = useProps('HoverCardGroup', defaultProps, props);\n\n return (\n <HoverCardGroupContext value={{ withinGroup: true }}>\n <FloatingDelayGroup delay={{ open: openDelay, close: closeDelay }}>\n {children}\n </FloatingDelayGroup>\n </HoverCardGroupContext>\n );\n}\n\nexport type HoverCardGroupFactory = Factory<{\n props: HoverCardGroupProps;\n}>;\n\nHoverCardGroup.displayName = '@mantine/core/HoverCardGroup';\nHoverCardGroup.extend = (c: ExtendComponent<HoverCardGroupFactory>): MantineThemeComponent => c;\n"],"mappings":";;;;;;;AAQA,MAAa,yBAAA,GAAA,MAAA,eAAkE,EAC7E,aAAa,OACd,CAAC;AAaF,MAAM,eAAe;CACnB,WAAW;CACX,YAAY;CACb;AAED,SAAgB,eAAe,OAA4B;CACzD,MAAM,EAAE,WAAW,YAAY,aAAaA,kBAAAA,SAAS,kBAAkB,cAAc,MAAM;AAE3F,QACE,iBAAA,GAAA,kBAAA,KAAC,uBAAD;EAAuB,OAAO,EAAE,aAAa,MAAM;YACjD,iBAAA,GAAA,kBAAA,KAACC,mBAAAA,oBAAD;GAAoB,OAAO;IAAE,MAAM;IAAW,OAAO;IAAY;GAC9D;GACkB,CAAA;EACC,CAAA;;AAQ5B,eAAe,cAAc;AAC7B,eAAe,UAAU,MAAqE"}