{"version":3,"sources":["../src/bridges/index.tsx","../src/components/index.tsx","../src/pages/index.tsx"],"names":["useState","useEffect","jsxs","jsx","Component","ReferenceAdapterCard","ReferenceAdapterConfigForm","ReferenceAdapterList","ReferenceAdapterStatusBadge","ReferenceAdapterDetailPage","ReferenceAdaptersPage"],"mappings":"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","file":"index.cjs","sourcesContent":["/**\n * @module bridges\n * @package @geenius/adapters/react-mantine\n * @description Mantine-native bridge components for adapter loading, error,\n * and notification surfaces. Adapter contracts remain delegated to the React\n * reference variant; this module only owns Mantine rendering affordances.\n */\n\n\"use client\";\n\nimport type {\n  AlertProps,\n  LoaderProps,\n  MantineColor,\n  NotificationProps,\n  ProgressProps,\n  StackProps,\n} from \"@mantine/core\";\nimport {\n  Component,\n  type ErrorInfo,\n  type JSX,\n  type ReactNode,\n  useEffect,\n  useState,\n} from \"react\";\n\ntype MantineCore = typeof import(\"@mantine/core\");\ntype DataAttributeProps = {\n  [key: `data-${string}`]: string | number | boolean | undefined;\n};\n\nlet cachedMantineCore: MantineCore | null = null;\n\nfunction useMantineCore(): MantineCore | null {\n  const [core, setCore] = useState<MantineCore | null>(cachedMantineCore);\n\n  useEffect(() => {\n    if (cachedMantineCore || typeof document === \"undefined\") {\n      setCore(cachedMantineCore);\n      return;\n    }\n\n    let active = true;\n\n    void import(\"@mantine/core\").then((module) => {\n      if (active) {\n        cachedMantineCore = module;\n        setCore(module);\n      }\n    });\n\n    return () => {\n      active = false;\n    };\n  }, []);\n\n  return core;\n}\n\nfunction cx(...classes: Array<string | false | null | undefined>): string {\n  return classes.filter(Boolean).join(\" \");\n}\n\nfunction normalizeProgress(progress: number | undefined): number | undefined {\n  if (progress === undefined) {\n    return undefined;\n  }\n\n  return Math.min(100, Math.max(0, progress));\n}\n\n/**\n * Props accepted by the Mantine async-adapter loading bridge.\n *\n * @property loading Controls whether the loading affordance or children render.\n * @property isLoading Alias for `loading` used by async adapter states.\n * @property label Accessible and visible loading label.\n * @property description Optional supporting loading copy.\n * @property progress Optional determinate progress from 0 through 100.\n * @property variant Chooses Mantine loader or progress primitives.\n * @property children Content rendered when loading is explicitly false.\n * @property color Mantine color applied to the loading primitive.\n * @property stackProps Props forwarded to the Mantine Stack wrapper.\n * @property loaderProps Props forwarded to the Mantine Loader primitive.\n * @property progressProps Props forwarded to the Mantine Progress primitive.\n */\nexport interface LoadingBridgeProps {\n  loading?: boolean;\n  isLoading?: boolean;\n  label?: ReactNode;\n  description?: ReactNode;\n  progress?: number;\n  variant?: \"loader\" | \"progress\";\n  children?: ReactNode;\n  color?: MantineColor;\n  stackProps?: Omit<StackProps, \"children\"> & DataAttributeProps;\n  loaderProps?: LoaderProps;\n  progressProps?: Omit<ProgressProps, \"value\">;\n}\n\n/**\n * Renders a Mantine loading affordance for async adapter operations.\n *\n * @param props Loading bridge props.\n * @returns Children when idle, otherwise an accessible Mantine loading surface.\n */\nexport function LoadingBridge({\n  loading,\n  isLoading,\n  label = \"Loading adapters\",\n  description,\n  progress,\n  variant = \"loader\",\n  children = null,\n  color,\n  stackProps,\n  loaderProps,\n  progressProps,\n}: LoadingBridgeProps): JSX.Element {\n  const mantine = useMantineCore();\n  const active = isLoading ?? loading ?? true;\n\n  if (!active) {\n    return <>{children}</>;\n  }\n\n  const normalizedProgress = normalizeProgress(progress);\n  const progressLabel = typeof label === \"string\" ? label : \"Loading adapters\";\n  const {\n    animated,\n    striped,\n    \"aria-label\": progressAriaLabel,\n    className: progressClassName,\n  } = progressProps ?? {};\n  const { className: loaderClassName } = loaderProps ?? {};\n  const { className: stackClassName } = stackProps ?? {};\n  const progressIsIndeterminate = normalizedProgress === undefined;\n\n  if (mantine) {\n    const { Loader, Progress, Stack, Text } = mantine;\n\n    return (\n      <Stack\n        {...stackProps}\n        align={variant === \"progress\" ? \"stretch\" : \"center\"}\n        aria-busy=\"true\"\n        aria-live=\"polite\"\n        gap=\"xs\"\n        role=\"status\"\n      >\n        {variant === \"progress\" ? (\n          <Progress\n            {...progressProps}\n            aria-label={progressAriaLabel ?? progressLabel}\n            animated={animated ?? progressIsIndeterminate}\n            color={color}\n            striped={striped ?? progressIsIndeterminate}\n            value={normalizedProgress ?? 100}\n          />\n        ) : (\n          <Loader {...loaderProps} aria-label={progressLabel} color={color} />\n        )}\n        {label ? (\n          <Text component=\"span\" fw={500} size=\"sm\">\n            {label}\n          </Text>\n        ) : null}\n        {description ? (\n          <Text c=\"var(--mantine-color-text)\" component=\"span\" size=\"xs\">\n            {description}\n          </Text>\n        ) : null}\n      </Stack>\n    );\n  }\n\n  return (\n    <div\n      aria-busy=\"true\"\n      aria-live=\"polite\"\n      className={cx(\n        \"gn-adapters-mantine-loading\",\n        variant === \"progress\"\n          ? \"grid gap-2\"\n          : \"flex flex-col items-center gap-2\",\n        stackClassName,\n      )}\n      data-color={color}\n      data-gap=\"xs\"\n      role=\"status\"\n    >\n      {variant === \"progress\" ? (\n        <progress\n          aria-label={progressAriaLabel ?? progressLabel}\n          aria-valuenow={normalizedProgress}\n          className={cx(\n            \"gn-adapters-mantine-progress\",\n            progressIsIndeterminate && \"gn-adapters-mantine-progress--busy\",\n            progressClassName,\n          )}\n          data-animated={animated ?? progressIsIndeterminate}\n          data-color={color}\n          data-striped={striped ?? progressIsIndeterminate}\n          max={100}\n          value={normalizedProgress ?? undefined}\n        />\n      ) : (\n        <span\n          aria-label={progressLabel}\n          className={cx(\"gn-adapters-mantine-loader\", loaderClassName)}\n          data-color={color}\n          role=\"progressbar\"\n        />\n      )}\n      {label ? (\n        <span className=\"gn-adapters-mantine-loading__label\">{label}</span>\n      ) : null}\n      {description ? (\n        <span className=\"gn-adapters-mantine-loading__description\">\n          {description}\n        </span>\n      ) : null}\n    </div>\n  );\n}\n\ntype ErrorBoundaryFallback =\n  | ReactNode\n  | ((error: Error, reset: () => void) => ReactNode);\n\n/**\n * Props accepted by the Mantine adapter error boundary bridge.\n *\n * @property children React subtree protected by the boundary.\n * @property error Optional controlled error for async adapter workflows.\n * @property fallback Optional custom fallback renderer or node.\n * @property onError Callback invoked with the caught error and React error info.\n * @property onReset Called before local error state is reset.\n * @property title Heading displayed in the default Mantine alert fallback.\n * @property description Supporting copy displayed in the default fallback.\n * @property resetLabel Button label for retrying the protected subtree.\n * @property color Mantine color applied to the default fallback.\n * @property alertProps Additional props forwarded to the Mantine Alert.\n */\nexport interface ErrorBoundaryBridgeProps {\n  children?: ReactNode;\n  error?: unknown;\n  fallback?: ErrorBoundaryFallback;\n  onError?: (error: Error, info: ErrorInfo) => void;\n  onReset?: () => void;\n  title?: ReactNode;\n  description?: ReactNode;\n  resetLabel?: ReactNode;\n  color?: MantineColor;\n  alertProps?: Omit<AlertProps, \"children\" | \"color\" | \"role\" | \"title\"> &\n    DataAttributeProps;\n}\n\ninterface ErrorBoundaryBridgeState {\n  caughtError: Error | null;\n}\n\nfunction normalizeError(error: unknown): Error {\n  if (error instanceof Error) {\n    return error;\n  }\n\n  return new Error(typeof error === \"string\" ? error : \"Adapter bridge error\");\n}\n\ninterface DefaultErrorFallbackProps {\n  bridgeProps: ErrorBoundaryBridgeProps;\n  error: Error;\n  reset: () => void;\n}\n\nfunction DefaultErrorFallback({\n  bridgeProps,\n  error,\n  reset,\n}: DefaultErrorFallbackProps): JSX.Element {\n  const mantine = useMantineCore();\n  const color = bridgeProps.color ?? \"red\";\n\n  if (mantine) {\n    const { Alert, Button, Text } = mantine;\n\n    return (\n      <Alert\n        {...bridgeProps.alertProps}\n        color={color}\n        role=\"alert\"\n        title={bridgeProps.title ?? \"Adapter error\"}\n      >\n        {bridgeProps.description ? (\n          <Text component=\"p\" mb=\"xs\" size=\"sm\">\n            {bridgeProps.description}\n          </Text>\n        ) : null}\n        <Text component=\"span\" size=\"sm\">\n          {error.message}\n        </Text>\n        <Button\n          color={color}\n          mt=\"sm\"\n          onClick={reset}\n          size=\"xs\"\n          type=\"button\"\n          variant=\"light\"\n        >\n          {bridgeProps.resetLabel ?? \"Retry\"}\n        </Button>\n      </Alert>\n    );\n  }\n\n  const { className: alertClassName } = bridgeProps.alertProps ?? {};\n\n  return (\n    <div\n      className={cx(\"gn-adapters-mantine-alert\", alertClassName)}\n      data-color={color}\n      role=\"alert\"\n    >\n      <div className=\"gn-adapters-mantine-alert__title\">\n        {bridgeProps.title ?? \"Adapter error\"}\n      </div>\n      {bridgeProps.description ? (\n        <p className=\"gn-adapters-mantine-alert__description\">\n          {bridgeProps.description}\n        </p>\n      ) : null}\n      <span className=\"gn-adapters-mantine-alert__message\">\n        {error.message}\n      </span>\n      <button\n        className=\"gn-adapters-mantine-alert__reset\"\n        data-color={color}\n        onClick={reset}\n        type=\"button\"\n      >\n        {bridgeProps.resetLabel ?? \"Retry\"}\n      </button>\n    </div>\n  );\n}\n\n/**\n * Catches render-time failures and displays a Mantine-native adapter error state.\n */\nexport class ErrorBoundaryBridge extends Component<\n  ErrorBoundaryBridgeProps,\n  ErrorBoundaryBridgeState\n> {\n  state: ErrorBoundaryBridgeState = { caughtError: null };\n\n  static getDerivedStateFromError(error: Error): ErrorBoundaryBridgeState {\n    return { caughtError: normalizeError(error) };\n  }\n\n  componentDidCatch(error: Error, info: ErrorInfo): void {\n    this.props.onError?.(normalizeError(error), info);\n  }\n\n  private reset = (): void => {\n    this.props.onReset?.();\n    this.setState({ caughtError: null });\n  };\n\n  render(): ReactNode {\n    const error =\n      this.props.error !== undefined\n        ? normalizeError(this.props.error)\n        : this.state.caughtError;\n\n    if (!error) {\n      return this.props.children;\n    }\n\n    if (typeof this.props.fallback === \"function\") {\n      return this.props.fallback(error, this.reset);\n    }\n\n    if (this.props.fallback) {\n      return this.props.fallback;\n    }\n\n    return (\n      <DefaultErrorFallback\n        bridgeProps={this.props}\n        error={error}\n        reset={this.reset}\n      />\n    );\n  }\n}\n\nexport type ToastBridgeVariant =\n  | \"default\"\n  | \"info\"\n  | \"success\"\n  | \"warning\"\n  | \"error\";\n\nconst toastColorByVariant = {\n  default: undefined,\n  info: \"blue\",\n  success: \"green\",\n  warning: \"yellow\",\n  error: \"red\",\n} satisfies Record<ToastBridgeVariant, MantineColor | undefined>;\n\n/**\n * Props accepted by the Mantine telemetry/notification toast bridge.\n *\n * @property open Whether the toast is visible.\n * @property message Message rendered inside the Mantine notification.\n * @property title Optional notification title.\n * @property variant Semantic toast variant mapped to Mantine colors.\n * @property color Explicit Mantine color override.\n * @property onClose Called when the close button is clicked.\n * @property withCloseButton Controls whether the Mantine close button renders.\n * @property icon Optional notification icon.\n * @property loading Replaces the notification color line/icon with Mantine Loader.\n * @property notificationProps Additional Mantine Notification props.\n * @property children Optional extra notification content.\n */\nexport interface ToastBridgeProps {\n  open?: boolean;\n  message?: ReactNode;\n  title?: ReactNode;\n  variant?: ToastBridgeVariant;\n  color?: MantineColor;\n  onClose?: () => void;\n  withCloseButton?: boolean;\n  icon?: ReactNode;\n  loading?: boolean;\n  notificationProps?: Omit<\n    NotificationProps,\n    | \"children\"\n    | \"color\"\n    | \"icon\"\n    | \"loading\"\n    | \"onClose\"\n    | \"role\"\n    | \"title\"\n    | \"withCloseButton\"\n  > &\n    DataAttributeProps;\n  children?: ReactNode;\n}\n\n/**\n * Renders adapter telemetry or notification messages through Mantine Notification.\n *\n * @param props Toast bridge props.\n * @returns A Mantine notification when open, otherwise `null`.\n */\nexport function ToastBridge({\n  open = true,\n  message,\n  title,\n  variant = \"info\",\n  color,\n  onClose,\n  withCloseButton = true,\n  icon,\n  loading,\n  notificationProps,\n  children,\n}: ToastBridgeProps): JSX.Element | null {\n  const mantine = useMantineCore();\n\n  if (!open) {\n    return null;\n  }\n\n  const role = variant === \"error\" ? \"alert\" : \"status\";\n  const { closeButtonProps: notificationCloseButtonProps } =\n    notificationProps ?? {};\n\n  if (mantine) {\n    const { Notification, Text } = mantine;\n\n    return (\n      <Notification\n        {...notificationProps}\n        aria-live={role === \"alert\" ? \"assertive\" : \"polite\"}\n        closeButtonProps={{\n          \"aria-label\": \"Close notification\",\n          ...notificationCloseButtonProps,\n        }}\n        color={color ?? toastColorByVariant[variant]}\n        data-testid=\"gn-adapters-mantine-toast-bridge\"\n        icon={icon}\n        loading={loading}\n        onClose={onClose}\n        role={role}\n        title={title}\n        withCloseButton={withCloseButton}\n      >\n        <Text c=\"var(--mantine-color-text)\" component=\"span\" size=\"sm\">\n          {message}\n          {children}\n        </Text>\n      </Notification>\n    );\n  }\n\n  const { className: notificationClassName } = notificationProps ?? {};\n\n  return (\n    <div\n      aria-live={role === \"alert\" ? \"assertive\" : \"polite\"}\n      className={cx(\"gn-adapters-mantine-notification\", notificationClassName)}\n      data-color={color ?? toastColorByVariant[variant]}\n      data-testid=\"gn-adapters-mantine-toast-bridge\"\n      data-loading={loading}\n      role={role}\n    >\n      {icon ? (\n        <span className=\"gn-adapters-mantine-notification__icon\">{icon}</span>\n      ) : null}\n      {title ? (\n        <div className=\"gn-adapters-mantine-notification__title\">{title}</div>\n      ) : null}\n      {message}\n      {children}\n      {withCloseButton ? (\n        <button\n          aria-label=\"Close notification\"\n          className=\"gn-adapters-mantine-notification__close\"\n          onClick={onClose}\n          type=\"button\"\n        />\n      ) : null}\n    </div>\n  );\n}\n","/**\n * @module components\n * @package @geenius/adapters/react-mantine\n * @description Public Mantine component wrappers for the React adapter\n * reference surface.\n */\n\n\"use client\";\n\nimport {\n  type AdapterCardProps,\n  type AdapterConfigFormProps,\n  type AdapterListProps,\n  type AdapterStatusBadgeProps,\n  AdapterCard as ReferenceAdapterCard,\n  AdapterConfigForm as ReferenceAdapterConfigForm,\n  AdapterList as ReferenceAdapterList,\n  AdapterStatusBadge as ReferenceAdapterStatusBadge,\n} from \"@geenius/adapters/react\";\n\nexport type {\n  AdapterCardProps,\n  AdapterConfigFormProps,\n  AdapterListProps,\n  AdapterStatusBadgeProps,\n};\n\nexport function AdapterCard(props: AdapterCardProps) {\n  return <ReferenceAdapterCard {...props} />;\n}\n\nexport function AdapterConfigForm(props: AdapterConfigFormProps) {\n  return <ReferenceAdapterConfigForm {...props} />;\n}\n\nexport function AdapterList(props: AdapterListProps) {\n  return <ReferenceAdapterList {...props} />;\n}\n\nexport function AdapterStatusBadge(props: AdapterStatusBadgeProps) {\n  return <ReferenceAdapterStatusBadge {...props} />;\n}\n","/**\n * @module pages\n * @package @geenius/adapters/react-mantine\n * @description Public Mantine page wrappers for the React adapter reference\n * surface.\n */\n\n\"use client\";\n\nimport {\n  type AdapterDetailPageProps,\n  type AdaptersPageProps,\n  AdapterDetailPage as ReferenceAdapterDetailPage,\n  AdaptersPage as ReferenceAdaptersPage,\n} from \"@geenius/adapters/react\";\n\nexport type { AdapterDetailPageProps, AdaptersPageProps };\n\nexport function AdapterDetailPage(props: AdapterDetailPageProps) {\n  return <ReferenceAdapterDetailPage {...props} />;\n}\n\nexport function AdaptersPage(props: AdaptersPageProps) {\n  return <ReferenceAdaptersPage {...props} />;\n}\n"]}