import {
  createSplitProps
} from "./6WEDGJKQ.jsx";
import {
  useEnvironmentContext
} from "./HDGILMRT.jsx";
import {
  useLocaleContext
} from "./HOPBYFHD.jsx";
import {
  ark
} from "./UFYZ7HLU.jsx";
import {
  createContext
} from "./UZJJWJQM.jsx";
import {
  __export
} from "./7IUG3E2V.jsx";

// src/components/scroll-area/use-scroll-area-context.ts
var [ScrollAreaProvider, useScrollAreaContext] = createContext({
  hookName: "useScrollAreaContext",
  providerName: "<ScrollAreaProvider />"
});

// src/components/scroll-area/scroll-area-context.tsx
function ScrollAreaContext(props) {
  return props.children(useScrollAreaContext());
}

// src/components/scroll-area/scroll-area-content.tsx
import { mergeProps } from "@zag-js/solid";
var ScrollAreaContent = (props) => {
  const scrollArea2 = useScrollAreaContext();
  const mergedProps = mergeProps(() => scrollArea2().getContentProps(), props);
  return <ark.div {...mergedProps} />;
};

// src/components/scroll-area/scroll-area-corner.tsx
import { mergeProps as mergeProps2 } from "@zag-js/solid";
var ScrollAreaCorner = (props) => {
  const scrollArea2 = useScrollAreaContext();
  const mergedProps = mergeProps2(() => scrollArea2().getCornerProps(), props);
  return <ark.div {...mergedProps} />;
};

// src/components/scroll-area/scroll-area-root.tsx
import { mergeProps as mergeProps3 } from "@zag-js/solid";

// src/components/scroll-area/use-scroll-area.ts
import * as scrollArea from "@zag-js/scroll-area";
import { normalizeProps, useMachine } from "@zag-js/solid";
import { createMemo, createUniqueId } from "solid-js";
var useScrollArea = (props = {}) => {
  const id = createUniqueId();
  const locale = useLocaleContext();
  const environment = useEnvironmentContext();
  const machineProps = createMemo(() => ({
    id,
    dir: locale().dir,
    getRootNode: environment().getRootNode,
    ...props
  }));
  const service = useMachine(scrollArea.machine, machineProps);
  return createMemo(() => scrollArea.connect(service, normalizeProps));
};

// src/components/scroll-area/scroll-area-root.tsx
var ScrollAreaRoot = (props) => {
  const [useScrollAreaProps, localProps] = createSplitProps()(props, ["id", "ids"]);
  const scrollArea2 = useScrollArea(useScrollAreaProps);
  const mergedProps = mergeProps3(() => scrollArea2().getRootProps(), localProps);
  return <ScrollAreaProvider value={scrollArea2}>
      <ark.div {...mergedProps} />
    </ScrollAreaProvider>;
};

// src/components/scroll-area/scroll-area-root-provider.tsx
var ScrollAreaRootProvider = (props) => {
  const { value, children, ...localProps } = props;
  return <ScrollAreaProvider value={value}>
      <ark.div {...localProps}>{children}</ark.div>
    </ScrollAreaProvider>;
};

// src/components/scroll-area/scroll-area-scrollbar.tsx
import { mergeProps as mergeProps4 } from "@zag-js/solid";

// src/components/scroll-area/use-scroll-area-scrollbar-context.ts
var [ScrollAreaScrollbarProvider, useScrollAreaScrollbarContext] = createContext({
  hookName: "useScrollAreaScrollbarContext",
  providerName: "<ScrollAreaScrollbarProvider />"
});

// src/components/scroll-area/scroll-area-scrollbar.tsx
var ScrollAreaScrollbar = (props) => {
  const [scrollbarProps, localProps] = createSplitProps()(props, ["orientation"]);
  const scrollArea2 = useScrollAreaContext();
  const mergedProps = mergeProps4(() => scrollArea2().getScrollbarProps(scrollbarProps), localProps);
  return <ScrollAreaScrollbarProvider value={scrollbarProps}>
      <ark.div {...mergedProps} />
    </ScrollAreaScrollbarProvider>;
};

// src/components/scroll-area/scroll-area-thumb.tsx
import { mergeProps as mergeProps5 } from "@zag-js/solid";
var ScrollAreaThumb = (props) => {
  const scrollAreaApi = useScrollAreaContext();
  const scrollbarProps = useScrollAreaScrollbarContext();
  const mergedProps = mergeProps5(() => scrollAreaApi().getThumbProps(scrollbarProps), props);
  return <ark.div {...mergedProps} />;
};

// src/components/scroll-area/scroll-area-viewport.tsx
import { mergeProps as mergeProps6 } from "@zag-js/solid";
var ScrollAreaViewport = (props) => {
  const scrollArea2 = useScrollAreaContext();
  const mergedProps = mergeProps6(() => scrollArea2().getViewportProps(), props);
  return <ark.div {...mergedProps} />;
};

// src/components/scroll-area/scroll-area.ts
var scroll_area_exports = {};
__export(scroll_area_exports, {
  Content: () => ScrollAreaContent,
  Context: () => ScrollAreaContext,
  Corner: () => ScrollAreaCorner,
  Root: () => ScrollAreaRoot,
  RootProvider: () => ScrollAreaRootProvider,
  Scrollbar: () => ScrollAreaScrollbar,
  Thumb: () => ScrollAreaThumb,
  Viewport: () => ScrollAreaViewport
});

export {
  useScrollAreaContext,
  ScrollAreaContext,
  ScrollAreaContent,
  ScrollAreaCorner,
  useScrollArea,
  ScrollAreaRoot,
  ScrollAreaRootProvider,
  ScrollAreaScrollbar,
  ScrollAreaThumb,
  ScrollAreaViewport,
  scroll_area_exports
};
