{"version":3,"file":"NavigationProgress.cjs","names":["nprogressStore","useNprogress","resetNavigationProgressAction","OptionalPortal","Progress","classes"],"sources":["../src/NavigationProgress.tsx"],"sourcesContent":["import { useEffect } from 'react';\nimport {\n  BasePortalProps,\n  ElementProps,\n  getDefaultZIndex,\n  MantineColor,\n  OptionalPortal,\n  Progress,\n} from '@mantine/core';\nimport {\n  NprogressStore,\n  nprogressStore,\n  resetNavigationProgressAction,\n  useNprogress,\n} from './nprogress.store';\nimport classes from './NavigationProgress.module.css';\n\nexport interface NavigationProgressProps extends ElementProps<'div'> {\n  /** Component store, controls state */\n  store?: NprogressStore;\n\n  /** Initial progress value @default 0 */\n  initialProgress?: number;\n\n  /** Key of `theme.colors` of any other valid CSS color @default theme.primaryColor */\n  color?: MantineColor;\n\n  /** Controls height of the progress bar */\n  size?: number;\n\n  /** Step interval in ms @default 500 */\n  stepInterval?: number;\n\n  /** Determines whether the progress bar should be rendered within `Portal` @default true */\n  withinPortal?: boolean;\n\n  /** Props to pass down to the `Portal` when `withinPortal` is `true` */\n  portalProps?: Omit<BasePortalProps, 'withinPortal'>;\n\n  /** Progressbar z-index @default 9999 */\n  zIndex?: React.CSSProperties['zIndex'];\n}\n\nexport function NavigationProgress({\n  initialProgress = 0,\n  color,\n  size = 3,\n  stepInterval = 500,\n  withinPortal = true,\n  portalProps,\n  zIndex = getDefaultZIndex('max'),\n  store = nprogressStore,\n  ...others\n}: NavigationProgressProps) {\n  store.initialize({\n    mounted: false,\n    progress: initialProgress,\n    interval: -1,\n    step: 1,\n    stepInterval,\n    timeouts: [],\n  });\n\n  const state = useNprogress(store);\n\n  useEffect(() => () => resetNavigationProgressAction(store), [store]);\n\n  return (\n    <OptionalPortal {...portalProps} withinPortal={withinPortal}>\n      <Progress\n        radius={0}\n        value={state.progress}\n        size={size}\n        color={color}\n        classNames={classes}\n        data-mounted={state.mounted || undefined}\n        __vars={{ '--nprogress-z-index': zIndex?.toString() }}\n        {...others}\n      />\n    </OptionalPortal>\n  );\n}\n\nNavigationProgress.displayName = '@mantine/nprogress/NavigationProgress';\n"],"mappings":";;;;;;;AA2CA,SAAgB,mBAAmB,EACjC,kBAAkB,GAClB,OACA,OAAO,GACP,eAAe,KACf,eAAe,MACf,aACA,UAAA,GAAA,cAAA,kBAA0B,MAAM,EAChC,QAAQA,wBAAAA,gBACR,GAAG,UACuB;AAC1B,OAAM,WAAW;EACf,SAAS;EACT,UAAU;EACV,UAAU;EACV,MAAM;EACN;EACA,UAAU,EAAE;EACb,CAAC;CAEF,MAAM,QAAQC,wBAAAA,aAAa,MAAM;AAEjC,EAAA,GAAA,MAAA,uBAAsBC,wBAAAA,8BAA8B,MAAM,EAAE,CAAC,MAAM,CAAC;AAEpE,QACE,iBAAA,GAAA,kBAAA,KAACC,cAAAA,gBAAD;EAAgB,GAAI;EAA2B;YAC7C,iBAAA,GAAA,kBAAA,KAACC,cAAAA,UAAD;GACE,QAAQ;GACR,OAAO,MAAM;GACP;GACC;GACP,YAAYC,kCAAAA;GACZ,gBAAc,MAAM,WAAW,KAAA;GAC/B,QAAQ,EAAE,uBAAuB,QAAQ,UAAU,EAAE;GACrD,GAAI;GACJ,CAAA;EACa,CAAA;;AAIrB,mBAAmB,cAAc"}