commerce-toolkit 0.1.0 → 0.1.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/components/side-panel/index.d.ts +3 -0
- package/dist/components/side-panel/index.d.ts.map +1 -0
- package/dist/components/side-panel/primitives/side-panel-body.d.ts +4 -0
- package/dist/components/side-panel/primitives/side-panel-body.d.ts.map +1 -0
- package/dist/components/side-panel/primitives/side-panel-close.d.ts +5 -0
- package/dist/components/side-panel/primitives/side-panel-close.d.ts.map +1 -0
- package/dist/components/side-panel/primitives/side-panel-content.d.ts +5 -0
- package/dist/components/side-panel/primitives/side-panel-content.d.ts.map +1 -0
- package/dist/components/side-panel/primitives/side-panel-header.d.ts +4 -0
- package/dist/components/side-panel/primitives/side-panel-header.d.ts.map +1 -0
- package/dist/components/side-panel/primitives/side-panel-overlay.d.ts +5 -0
- package/dist/components/side-panel/primitives/side-panel-overlay.d.ts.map +1 -0
- package/dist/components/side-panel/primitives/side-panel-portal.d.ts +5 -0
- package/dist/components/side-panel/primitives/side-panel-portal.d.ts.map +1 -0
- package/dist/components/side-panel/primitives/side-panel-root.d.ts +5 -0
- package/dist/components/side-panel/primitives/side-panel-root.d.ts.map +1 -0
- package/dist/components/side-panel/primitives/side-panel-title.d.ts +5 -0
- package/dist/components/side-panel/primitives/side-panel-title.d.ts.map +1 -0
- package/dist/components/side-panel/primitives/side-panel-trigger.d.ts +5 -0
- package/dist/components/side-panel/primitives/side-panel-trigger.d.ts.map +1 -0
- package/dist/components/side-panel/primitives.d.ts +10 -0
- package/dist/components/side-panel/primitives.d.ts.map +1 -0
- package/dist/components/side-panel/side-panel.d.ts +28 -0
- package/dist/components/side-panel/side-panel.d.ts.map +1 -0
- package/dist/{dropdown-menu-node-C7Z-zRyr.js → dropdown-menu-node-4Pe3uXjC.js} +2 -2
- package/dist/{dropdown-menu-node-C7Z-zRyr.js.map → dropdown-menu-node-4Pe3uXjC.js.map} +1 -1
- package/dist/{dropdown-menu-node-BB7FJzMX.cjs → dropdown-menu-node-zOplWIzZ.cjs} +2 -2
- package/dist/{dropdown-menu-node-BB7FJzMX.cjs.map → dropdown-menu-node-zOplWIzZ.cjs.map} +1 -1
- package/dist/dropdown-menu.cjs +1 -1
- package/dist/dropdown-menu.js +1 -1
- package/dist/index-BppAzNV8.cjs +6 -0
- package/dist/index-BppAzNV8.cjs.map +1 -0
- package/dist/index-ChSlzMYI.js +242 -0
- package/dist/index-ChSlzMYI.js.map +1 -0
- package/dist/index.cjs +2 -2
- package/dist/index.js +4 -4
- package/dist/modal-title-CuB6IpxH.cjs +2 -0
- package/dist/modal-title-CuB6IpxH.cjs.map +1 -0
- package/dist/modal-title-MIH3Xsp2.js +58 -0
- package/dist/modal-title-MIH3Xsp2.js.map +1 -0
- package/dist/modal.cjs +1 -1
- package/dist/modal.js +1 -1
- package/dist/{scroll-area-corner-DLTYMMl-.js → scroll-area-corner-Bq7PB1XK.js} +2 -2
- package/dist/{scroll-area-corner-DLTYMMl-.js.map → scroll-area-corner-Bq7PB1XK.js.map} +1 -1
- package/dist/{scroll-area-corner-CEc2oMZt.cjs → scroll-area-corner-DsyetkPH.cjs} +2 -2
- package/dist/{scroll-area-corner-CEc2oMZt.cjs.map → scroll-area-corner-DsyetkPH.cjs.map} +1 -1
- package/dist/scroll-area.cjs +1 -1
- package/dist/scroll-area.js +1 -1
- package/dist/side-panel.cjs +2 -0
- package/dist/side-panel.cjs.map +1 -0
- package/dist/side-panel.js +86 -0
- package/dist/side-panel.js.map +1 -0
- package/package.json +11 -1
- package/dist/modal-title-B2Yr1KDi.js +0 -288
- package/dist/modal-title-B2Yr1KDi.js.map +0 -1
- package/dist/modal-title-CpD_Fors.cjs +0 -6
- package/dist/modal-title-CpD_Fors.cjs.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scroll-area-corner-CEc2oMZt.cjs","sources":["../node_modules/.pnpm/@radix-ui+number@1.1.1/node_modules/@radix-ui/number/dist/index.mjs","../node_modules/.pnpm/@radix-ui+react-scroll-area@1.2.10_@types+react-dom@19.2.2_@types+react@19.2.2__@types+react@_m2oggim3nwx6rzalxypqu3tc4m/node_modules/@radix-ui/react-scroll-area/dist/index.mjs","../src/components/scroll-area/primitives/scroll-area-root.tsx","../src/components/scroll-area/primitives/scroll-area-provider.tsx","../src/components/scroll-area/primitives/scroll-area-viewport.tsx","../src/components/scroll-area/primitives/scroll-area-bar.tsx","../src/components/scroll-area/primitives/scroll-area-thumb.tsx","../src/components/scroll-area/primitives/scroll-area-corner.tsx"],"sourcesContent":["// packages/core/number/src/number.ts\nfunction clamp(value, [min, max]) {\n return Math.min(max, Math.max(min, value));\n}\nexport {\n clamp\n};\n//# sourceMappingURL=index.mjs.map\n","\"use client\";\n\n// src/scroll-area.tsx\nimport * as React2 from \"react\";\nimport { Primitive } from \"@radix-ui/react-primitive\";\nimport { Presence } from \"@radix-ui/react-presence\";\nimport { createContextScope } from \"@radix-ui/react-context\";\nimport { useComposedRefs } from \"@radix-ui/react-compose-refs\";\nimport { useCallbackRef } from \"@radix-ui/react-use-callback-ref\";\nimport { useDirection } from \"@radix-ui/react-direction\";\nimport { useLayoutEffect } from \"@radix-ui/react-use-layout-effect\";\nimport { clamp } from \"@radix-ui/number\";\nimport { composeEventHandlers } from \"@radix-ui/primitive\";\n\n// src/use-state-machine.ts\nimport * as React from \"react\";\nfunction useStateMachine(initialState, machine) {\n return React.useReducer((state, event) => {\n const nextState = machine[state][event];\n return nextState ?? state;\n }, initialState);\n}\n\n// src/scroll-area.tsx\nimport { Fragment, jsx, jsxs } from \"react/jsx-runtime\";\nvar SCROLL_AREA_NAME = \"ScrollArea\";\nvar [createScrollAreaContext, createScrollAreaScope] = createContextScope(SCROLL_AREA_NAME);\nvar [ScrollAreaProvider, useScrollAreaContext] = createScrollAreaContext(SCROLL_AREA_NAME);\nvar ScrollArea = React2.forwardRef(\n (props, forwardedRef) => {\n const {\n __scopeScrollArea,\n type = \"hover\",\n dir,\n scrollHideDelay = 600,\n ...scrollAreaProps\n } = props;\n const [scrollArea, setScrollArea] = React2.useState(null);\n const [viewport, setViewport] = React2.useState(null);\n const [content, setContent] = React2.useState(null);\n const [scrollbarX, setScrollbarX] = React2.useState(null);\n const [scrollbarY, setScrollbarY] = React2.useState(null);\n const [cornerWidth, setCornerWidth] = React2.useState(0);\n const [cornerHeight, setCornerHeight] = React2.useState(0);\n const [scrollbarXEnabled, setScrollbarXEnabled] = React2.useState(false);\n const [scrollbarYEnabled, setScrollbarYEnabled] = React2.useState(false);\n const composedRefs = useComposedRefs(forwardedRef, (node) => setScrollArea(node));\n const direction = useDirection(dir);\n return /* @__PURE__ */ jsx(\n ScrollAreaProvider,\n {\n scope: __scopeScrollArea,\n type,\n dir: direction,\n scrollHideDelay,\n scrollArea,\n viewport,\n onViewportChange: setViewport,\n content,\n onContentChange: setContent,\n scrollbarX,\n onScrollbarXChange: setScrollbarX,\n scrollbarXEnabled,\n onScrollbarXEnabledChange: setScrollbarXEnabled,\n scrollbarY,\n onScrollbarYChange: setScrollbarY,\n scrollbarYEnabled,\n onScrollbarYEnabledChange: setScrollbarYEnabled,\n onCornerWidthChange: setCornerWidth,\n onCornerHeightChange: setCornerHeight,\n children: /* @__PURE__ */ jsx(\n Primitive.div,\n {\n dir: direction,\n ...scrollAreaProps,\n ref: composedRefs,\n style: {\n position: \"relative\",\n // Pass corner sizes as CSS vars to reduce re-renders of context consumers\n [\"--radix-scroll-area-corner-width\"]: cornerWidth + \"px\",\n [\"--radix-scroll-area-corner-height\"]: cornerHeight + \"px\",\n ...props.style\n }\n }\n )\n }\n );\n }\n);\nScrollArea.displayName = SCROLL_AREA_NAME;\nvar VIEWPORT_NAME = \"ScrollAreaViewport\";\nvar ScrollAreaViewport = React2.forwardRef(\n (props, forwardedRef) => {\n const { __scopeScrollArea, children, nonce, ...viewportProps } = props;\n const context = useScrollAreaContext(VIEWPORT_NAME, __scopeScrollArea);\n const ref = React2.useRef(null);\n const composedRefs = useComposedRefs(forwardedRef, ref, context.onViewportChange);\n return /* @__PURE__ */ jsxs(Fragment, { children: [\n /* @__PURE__ */ jsx(\n \"style\",\n {\n dangerouslySetInnerHTML: {\n __html: `[data-radix-scroll-area-viewport]{scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;}[data-radix-scroll-area-viewport]::-webkit-scrollbar{display:none}`\n },\n nonce\n }\n ),\n /* @__PURE__ */ jsx(\n Primitive.div,\n {\n \"data-radix-scroll-area-viewport\": \"\",\n ...viewportProps,\n ref: composedRefs,\n style: {\n /**\n * We don't support `visible` because the intention is to have at least one scrollbar\n * if this component is used and `visible` will behave like `auto` in that case\n * https://developer.mozilla.org/en-US/docs/Web/CSS/overflow#description\n *\n * We don't handle `auto` because the intention is for the native implementation\n * to be hidden if using this component. We just want to ensure the node is scrollable\n * so could have used either `scroll` or `auto` here. We picked `scroll` to prevent\n * the browser from having to work out whether to render native scrollbars or not,\n * we tell it to with the intention of hiding them in CSS.\n */\n overflowX: context.scrollbarXEnabled ? \"scroll\" : \"hidden\",\n overflowY: context.scrollbarYEnabled ? \"scroll\" : \"hidden\",\n ...props.style\n },\n children: /* @__PURE__ */ jsx(\"div\", { ref: context.onContentChange, style: { minWidth: \"100%\", display: \"table\" }, children })\n }\n )\n ] });\n }\n);\nScrollAreaViewport.displayName = VIEWPORT_NAME;\nvar SCROLLBAR_NAME = \"ScrollAreaScrollbar\";\nvar ScrollAreaScrollbar = React2.forwardRef(\n (props, forwardedRef) => {\n const { forceMount, ...scrollbarProps } = props;\n const context = useScrollAreaContext(SCROLLBAR_NAME, props.__scopeScrollArea);\n const { onScrollbarXEnabledChange, onScrollbarYEnabledChange } = context;\n const isHorizontal = props.orientation === \"horizontal\";\n React2.useEffect(() => {\n isHorizontal ? onScrollbarXEnabledChange(true) : onScrollbarYEnabledChange(true);\n return () => {\n isHorizontal ? onScrollbarXEnabledChange(false) : onScrollbarYEnabledChange(false);\n };\n }, [isHorizontal, onScrollbarXEnabledChange, onScrollbarYEnabledChange]);\n return context.type === \"hover\" ? /* @__PURE__ */ jsx(ScrollAreaScrollbarHover, { ...scrollbarProps, ref: forwardedRef, forceMount }) : context.type === \"scroll\" ? /* @__PURE__ */ jsx(ScrollAreaScrollbarScroll, { ...scrollbarProps, ref: forwardedRef, forceMount }) : context.type === \"auto\" ? /* @__PURE__ */ jsx(ScrollAreaScrollbarAuto, { ...scrollbarProps, ref: forwardedRef, forceMount }) : context.type === \"always\" ? /* @__PURE__ */ jsx(ScrollAreaScrollbarVisible, { ...scrollbarProps, ref: forwardedRef }) : null;\n }\n);\nScrollAreaScrollbar.displayName = SCROLLBAR_NAME;\nvar ScrollAreaScrollbarHover = React2.forwardRef((props, forwardedRef) => {\n const { forceMount, ...scrollbarProps } = props;\n const context = useScrollAreaContext(SCROLLBAR_NAME, props.__scopeScrollArea);\n const [visible, setVisible] = React2.useState(false);\n React2.useEffect(() => {\n const scrollArea = context.scrollArea;\n let hideTimer = 0;\n if (scrollArea) {\n const handlePointerEnter = () => {\n window.clearTimeout(hideTimer);\n setVisible(true);\n };\n const handlePointerLeave = () => {\n hideTimer = window.setTimeout(() => setVisible(false), context.scrollHideDelay);\n };\n scrollArea.addEventListener(\"pointerenter\", handlePointerEnter);\n scrollArea.addEventListener(\"pointerleave\", handlePointerLeave);\n return () => {\n window.clearTimeout(hideTimer);\n scrollArea.removeEventListener(\"pointerenter\", handlePointerEnter);\n scrollArea.removeEventListener(\"pointerleave\", handlePointerLeave);\n };\n }\n }, [context.scrollArea, context.scrollHideDelay]);\n return /* @__PURE__ */ jsx(Presence, { present: forceMount || visible, children: /* @__PURE__ */ jsx(\n ScrollAreaScrollbarAuto,\n {\n \"data-state\": visible ? \"visible\" : \"hidden\",\n ...scrollbarProps,\n ref: forwardedRef\n }\n ) });\n});\nvar ScrollAreaScrollbarScroll = React2.forwardRef((props, forwardedRef) => {\n const { forceMount, ...scrollbarProps } = props;\n const context = useScrollAreaContext(SCROLLBAR_NAME, props.__scopeScrollArea);\n const isHorizontal = props.orientation === \"horizontal\";\n const debounceScrollEnd = useDebounceCallback(() => send(\"SCROLL_END\"), 100);\n const [state, send] = useStateMachine(\"hidden\", {\n hidden: {\n SCROLL: \"scrolling\"\n },\n scrolling: {\n SCROLL_END: \"idle\",\n POINTER_ENTER: \"interacting\"\n },\n interacting: {\n SCROLL: \"interacting\",\n POINTER_LEAVE: \"idle\"\n },\n idle: {\n HIDE: \"hidden\",\n SCROLL: \"scrolling\",\n POINTER_ENTER: \"interacting\"\n }\n });\n React2.useEffect(() => {\n if (state === \"idle\") {\n const hideTimer = window.setTimeout(() => send(\"HIDE\"), context.scrollHideDelay);\n return () => window.clearTimeout(hideTimer);\n }\n }, [state, context.scrollHideDelay, send]);\n React2.useEffect(() => {\n const viewport = context.viewport;\n const scrollDirection = isHorizontal ? \"scrollLeft\" : \"scrollTop\";\n if (viewport) {\n let prevScrollPos = viewport[scrollDirection];\n const handleScroll = () => {\n const scrollPos = viewport[scrollDirection];\n const hasScrollInDirectionChanged = prevScrollPos !== scrollPos;\n if (hasScrollInDirectionChanged) {\n send(\"SCROLL\");\n debounceScrollEnd();\n }\n prevScrollPos = scrollPos;\n };\n viewport.addEventListener(\"scroll\", handleScroll);\n return () => viewport.removeEventListener(\"scroll\", handleScroll);\n }\n }, [context.viewport, isHorizontal, send, debounceScrollEnd]);\n return /* @__PURE__ */ jsx(Presence, { present: forceMount || state !== \"hidden\", children: /* @__PURE__ */ jsx(\n ScrollAreaScrollbarVisible,\n {\n \"data-state\": state === \"hidden\" ? \"hidden\" : \"visible\",\n ...scrollbarProps,\n ref: forwardedRef,\n onPointerEnter: composeEventHandlers(props.onPointerEnter, () => send(\"POINTER_ENTER\")),\n onPointerLeave: composeEventHandlers(props.onPointerLeave, () => send(\"POINTER_LEAVE\"))\n }\n ) });\n});\nvar ScrollAreaScrollbarAuto = React2.forwardRef((props, forwardedRef) => {\n const context = useScrollAreaContext(SCROLLBAR_NAME, props.__scopeScrollArea);\n const { forceMount, ...scrollbarProps } = props;\n const [visible, setVisible] = React2.useState(false);\n const isHorizontal = props.orientation === \"horizontal\";\n const handleResize = useDebounceCallback(() => {\n if (context.viewport) {\n const isOverflowX = context.viewport.offsetWidth < context.viewport.scrollWidth;\n const isOverflowY = context.viewport.offsetHeight < context.viewport.scrollHeight;\n setVisible(isHorizontal ? isOverflowX : isOverflowY);\n }\n }, 10);\n useResizeObserver(context.viewport, handleResize);\n useResizeObserver(context.content, handleResize);\n return /* @__PURE__ */ jsx(Presence, { present: forceMount || visible, children: /* @__PURE__ */ jsx(\n ScrollAreaScrollbarVisible,\n {\n \"data-state\": visible ? \"visible\" : \"hidden\",\n ...scrollbarProps,\n ref: forwardedRef\n }\n ) });\n});\nvar ScrollAreaScrollbarVisible = React2.forwardRef((props, forwardedRef) => {\n const { orientation = \"vertical\", ...scrollbarProps } = props;\n const context = useScrollAreaContext(SCROLLBAR_NAME, props.__scopeScrollArea);\n const thumbRef = React2.useRef(null);\n const pointerOffsetRef = React2.useRef(0);\n const [sizes, setSizes] = React2.useState({\n content: 0,\n viewport: 0,\n scrollbar: { size: 0, paddingStart: 0, paddingEnd: 0 }\n });\n const thumbRatio = getThumbRatio(sizes.viewport, sizes.content);\n const commonProps = {\n ...scrollbarProps,\n sizes,\n onSizesChange: setSizes,\n hasThumb: Boolean(thumbRatio > 0 && thumbRatio < 1),\n onThumbChange: (thumb) => thumbRef.current = thumb,\n onThumbPointerUp: () => pointerOffsetRef.current = 0,\n onThumbPointerDown: (pointerPos) => pointerOffsetRef.current = pointerPos\n };\n function getScrollPosition(pointerPos, dir) {\n return getScrollPositionFromPointer(pointerPos, pointerOffsetRef.current, sizes, dir);\n }\n if (orientation === \"horizontal\") {\n return /* @__PURE__ */ jsx(\n ScrollAreaScrollbarX,\n {\n ...commonProps,\n ref: forwardedRef,\n onThumbPositionChange: () => {\n if (context.viewport && thumbRef.current) {\n const scrollPos = context.viewport.scrollLeft;\n const offset = getThumbOffsetFromScroll(scrollPos, sizes, context.dir);\n thumbRef.current.style.transform = `translate3d(${offset}px, 0, 0)`;\n }\n },\n onWheelScroll: (scrollPos) => {\n if (context.viewport) context.viewport.scrollLeft = scrollPos;\n },\n onDragScroll: (pointerPos) => {\n if (context.viewport) {\n context.viewport.scrollLeft = getScrollPosition(pointerPos, context.dir);\n }\n }\n }\n );\n }\n if (orientation === \"vertical\") {\n return /* @__PURE__ */ jsx(\n ScrollAreaScrollbarY,\n {\n ...commonProps,\n ref: forwardedRef,\n onThumbPositionChange: () => {\n if (context.viewport && thumbRef.current) {\n const scrollPos = context.viewport.scrollTop;\n const offset = getThumbOffsetFromScroll(scrollPos, sizes);\n thumbRef.current.style.transform = `translate3d(0, ${offset}px, 0)`;\n }\n },\n onWheelScroll: (scrollPos) => {\n if (context.viewport) context.viewport.scrollTop = scrollPos;\n },\n onDragScroll: (pointerPos) => {\n if (context.viewport) context.viewport.scrollTop = getScrollPosition(pointerPos);\n }\n }\n );\n }\n return null;\n});\nvar ScrollAreaScrollbarX = React2.forwardRef((props, forwardedRef) => {\n const { sizes, onSizesChange, ...scrollbarProps } = props;\n const context = useScrollAreaContext(SCROLLBAR_NAME, props.__scopeScrollArea);\n const [computedStyle, setComputedStyle] = React2.useState();\n const ref = React2.useRef(null);\n const composeRefs = useComposedRefs(forwardedRef, ref, context.onScrollbarXChange);\n React2.useEffect(() => {\n if (ref.current) setComputedStyle(getComputedStyle(ref.current));\n }, [ref]);\n return /* @__PURE__ */ jsx(\n ScrollAreaScrollbarImpl,\n {\n \"data-orientation\": \"horizontal\",\n ...scrollbarProps,\n ref: composeRefs,\n sizes,\n style: {\n bottom: 0,\n left: context.dir === \"rtl\" ? \"var(--radix-scroll-area-corner-width)\" : 0,\n right: context.dir === \"ltr\" ? \"var(--radix-scroll-area-corner-width)\" : 0,\n [\"--radix-scroll-area-thumb-width\"]: getThumbSize(sizes) + \"px\",\n ...props.style\n },\n onThumbPointerDown: (pointerPos) => props.onThumbPointerDown(pointerPos.x),\n onDragScroll: (pointerPos) => props.onDragScroll(pointerPos.x),\n onWheelScroll: (event, maxScrollPos) => {\n if (context.viewport) {\n const scrollPos = context.viewport.scrollLeft + event.deltaX;\n props.onWheelScroll(scrollPos);\n if (isScrollingWithinScrollbarBounds(scrollPos, maxScrollPos)) {\n event.preventDefault();\n }\n }\n },\n onResize: () => {\n if (ref.current && context.viewport && computedStyle) {\n onSizesChange({\n content: context.viewport.scrollWidth,\n viewport: context.viewport.offsetWidth,\n scrollbar: {\n size: ref.current.clientWidth,\n paddingStart: toInt(computedStyle.paddingLeft),\n paddingEnd: toInt(computedStyle.paddingRight)\n }\n });\n }\n }\n }\n );\n});\nvar ScrollAreaScrollbarY = React2.forwardRef((props, forwardedRef) => {\n const { sizes, onSizesChange, ...scrollbarProps } = props;\n const context = useScrollAreaContext(SCROLLBAR_NAME, props.__scopeScrollArea);\n const [computedStyle, setComputedStyle] = React2.useState();\n const ref = React2.useRef(null);\n const composeRefs = useComposedRefs(forwardedRef, ref, context.onScrollbarYChange);\n React2.useEffect(() => {\n if (ref.current) setComputedStyle(getComputedStyle(ref.current));\n }, [ref]);\n return /* @__PURE__ */ jsx(\n ScrollAreaScrollbarImpl,\n {\n \"data-orientation\": \"vertical\",\n ...scrollbarProps,\n ref: composeRefs,\n sizes,\n style: {\n top: 0,\n right: context.dir === \"ltr\" ? 0 : void 0,\n left: context.dir === \"rtl\" ? 0 : void 0,\n bottom: \"var(--radix-scroll-area-corner-height)\",\n [\"--radix-scroll-area-thumb-height\"]: getThumbSize(sizes) + \"px\",\n ...props.style\n },\n onThumbPointerDown: (pointerPos) => props.onThumbPointerDown(pointerPos.y),\n onDragScroll: (pointerPos) => props.onDragScroll(pointerPos.y),\n onWheelScroll: (event, maxScrollPos) => {\n if (context.viewport) {\n const scrollPos = context.viewport.scrollTop + event.deltaY;\n props.onWheelScroll(scrollPos);\n if (isScrollingWithinScrollbarBounds(scrollPos, maxScrollPos)) {\n event.preventDefault();\n }\n }\n },\n onResize: () => {\n if (ref.current && context.viewport && computedStyle) {\n onSizesChange({\n content: context.viewport.scrollHeight,\n viewport: context.viewport.offsetHeight,\n scrollbar: {\n size: ref.current.clientHeight,\n paddingStart: toInt(computedStyle.paddingTop),\n paddingEnd: toInt(computedStyle.paddingBottom)\n }\n });\n }\n }\n }\n );\n});\nvar [ScrollbarProvider, useScrollbarContext] = createScrollAreaContext(SCROLLBAR_NAME);\nvar ScrollAreaScrollbarImpl = React2.forwardRef((props, forwardedRef) => {\n const {\n __scopeScrollArea,\n sizes,\n hasThumb,\n onThumbChange,\n onThumbPointerUp,\n onThumbPointerDown,\n onThumbPositionChange,\n onDragScroll,\n onWheelScroll,\n onResize,\n ...scrollbarProps\n } = props;\n const context = useScrollAreaContext(SCROLLBAR_NAME, __scopeScrollArea);\n const [scrollbar, setScrollbar] = React2.useState(null);\n const composeRefs = useComposedRefs(forwardedRef, (node) => setScrollbar(node));\n const rectRef = React2.useRef(null);\n const prevWebkitUserSelectRef = React2.useRef(\"\");\n const viewport = context.viewport;\n const maxScrollPos = sizes.content - sizes.viewport;\n const handleWheelScroll = useCallbackRef(onWheelScroll);\n const handleThumbPositionChange = useCallbackRef(onThumbPositionChange);\n const handleResize = useDebounceCallback(onResize, 10);\n function handleDragScroll(event) {\n if (rectRef.current) {\n const x = event.clientX - rectRef.current.left;\n const y = event.clientY - rectRef.current.top;\n onDragScroll({ x, y });\n }\n }\n React2.useEffect(() => {\n const handleWheel = (event) => {\n const element = event.target;\n const isScrollbarWheel = scrollbar?.contains(element);\n if (isScrollbarWheel) handleWheelScroll(event, maxScrollPos);\n };\n document.addEventListener(\"wheel\", handleWheel, { passive: false });\n return () => document.removeEventListener(\"wheel\", handleWheel, { passive: false });\n }, [viewport, scrollbar, maxScrollPos, handleWheelScroll]);\n React2.useEffect(handleThumbPositionChange, [sizes, handleThumbPositionChange]);\n useResizeObserver(scrollbar, handleResize);\n useResizeObserver(context.content, handleResize);\n return /* @__PURE__ */ jsx(\n ScrollbarProvider,\n {\n scope: __scopeScrollArea,\n scrollbar,\n hasThumb,\n onThumbChange: useCallbackRef(onThumbChange),\n onThumbPointerUp: useCallbackRef(onThumbPointerUp),\n onThumbPositionChange: handleThumbPositionChange,\n onThumbPointerDown: useCallbackRef(onThumbPointerDown),\n children: /* @__PURE__ */ jsx(\n Primitive.div,\n {\n ...scrollbarProps,\n ref: composeRefs,\n style: { position: \"absolute\", ...scrollbarProps.style },\n onPointerDown: composeEventHandlers(props.onPointerDown, (event) => {\n const mainPointer = 0;\n if (event.button === mainPointer) {\n const element = event.target;\n element.setPointerCapture(event.pointerId);\n rectRef.current = scrollbar.getBoundingClientRect();\n prevWebkitUserSelectRef.current = document.body.style.webkitUserSelect;\n document.body.style.webkitUserSelect = \"none\";\n if (context.viewport) context.viewport.style.scrollBehavior = \"auto\";\n handleDragScroll(event);\n }\n }),\n onPointerMove: composeEventHandlers(props.onPointerMove, handleDragScroll),\n onPointerUp: composeEventHandlers(props.onPointerUp, (event) => {\n const element = event.target;\n if (element.hasPointerCapture(event.pointerId)) {\n element.releasePointerCapture(event.pointerId);\n }\n document.body.style.webkitUserSelect = prevWebkitUserSelectRef.current;\n if (context.viewport) context.viewport.style.scrollBehavior = \"\";\n rectRef.current = null;\n })\n }\n )\n }\n );\n});\nvar THUMB_NAME = \"ScrollAreaThumb\";\nvar ScrollAreaThumb = React2.forwardRef(\n (props, forwardedRef) => {\n const { forceMount, ...thumbProps } = props;\n const scrollbarContext = useScrollbarContext(THUMB_NAME, props.__scopeScrollArea);\n return /* @__PURE__ */ jsx(Presence, { present: forceMount || scrollbarContext.hasThumb, children: /* @__PURE__ */ jsx(ScrollAreaThumbImpl, { ref: forwardedRef, ...thumbProps }) });\n }\n);\nvar ScrollAreaThumbImpl = React2.forwardRef(\n (props, forwardedRef) => {\n const { __scopeScrollArea, style, ...thumbProps } = props;\n const scrollAreaContext = useScrollAreaContext(THUMB_NAME, __scopeScrollArea);\n const scrollbarContext = useScrollbarContext(THUMB_NAME, __scopeScrollArea);\n const { onThumbPositionChange } = scrollbarContext;\n const composedRef = useComposedRefs(\n forwardedRef,\n (node) => scrollbarContext.onThumbChange(node)\n );\n const removeUnlinkedScrollListenerRef = React2.useRef(void 0);\n const debounceScrollEnd = useDebounceCallback(() => {\n if (removeUnlinkedScrollListenerRef.current) {\n removeUnlinkedScrollListenerRef.current();\n removeUnlinkedScrollListenerRef.current = void 0;\n }\n }, 100);\n React2.useEffect(() => {\n const viewport = scrollAreaContext.viewport;\n if (viewport) {\n const handleScroll = () => {\n debounceScrollEnd();\n if (!removeUnlinkedScrollListenerRef.current) {\n const listener = addUnlinkedScrollListener(viewport, onThumbPositionChange);\n removeUnlinkedScrollListenerRef.current = listener;\n onThumbPositionChange();\n }\n };\n onThumbPositionChange();\n viewport.addEventListener(\"scroll\", handleScroll);\n return () => viewport.removeEventListener(\"scroll\", handleScroll);\n }\n }, [scrollAreaContext.viewport, debounceScrollEnd, onThumbPositionChange]);\n return /* @__PURE__ */ jsx(\n Primitive.div,\n {\n \"data-state\": scrollbarContext.hasThumb ? \"visible\" : \"hidden\",\n ...thumbProps,\n ref: composedRef,\n style: {\n width: \"var(--radix-scroll-area-thumb-width)\",\n height: \"var(--radix-scroll-area-thumb-height)\",\n ...style\n },\n onPointerDownCapture: composeEventHandlers(props.onPointerDownCapture, (event) => {\n const thumb = event.target;\n const thumbRect = thumb.getBoundingClientRect();\n const x = event.clientX - thumbRect.left;\n const y = event.clientY - thumbRect.top;\n scrollbarContext.onThumbPointerDown({ x, y });\n }),\n onPointerUp: composeEventHandlers(props.onPointerUp, scrollbarContext.onThumbPointerUp)\n }\n );\n }\n);\nScrollAreaThumb.displayName = THUMB_NAME;\nvar CORNER_NAME = \"ScrollAreaCorner\";\nvar ScrollAreaCorner = React2.forwardRef(\n (props, forwardedRef) => {\n const context = useScrollAreaContext(CORNER_NAME, props.__scopeScrollArea);\n const hasBothScrollbarsVisible = Boolean(context.scrollbarX && context.scrollbarY);\n const hasCorner = context.type !== \"scroll\" && hasBothScrollbarsVisible;\n return hasCorner ? /* @__PURE__ */ jsx(ScrollAreaCornerImpl, { ...props, ref: forwardedRef }) : null;\n }\n);\nScrollAreaCorner.displayName = CORNER_NAME;\nvar ScrollAreaCornerImpl = React2.forwardRef((props, forwardedRef) => {\n const { __scopeScrollArea, ...cornerProps } = props;\n const context = useScrollAreaContext(CORNER_NAME, __scopeScrollArea);\n const [width, setWidth] = React2.useState(0);\n const [height, setHeight] = React2.useState(0);\n const hasSize = Boolean(width && height);\n useResizeObserver(context.scrollbarX, () => {\n const height2 = context.scrollbarX?.offsetHeight || 0;\n context.onCornerHeightChange(height2);\n setHeight(height2);\n });\n useResizeObserver(context.scrollbarY, () => {\n const width2 = context.scrollbarY?.offsetWidth || 0;\n context.onCornerWidthChange(width2);\n setWidth(width2);\n });\n return hasSize ? /* @__PURE__ */ jsx(\n Primitive.div,\n {\n ...cornerProps,\n ref: forwardedRef,\n style: {\n width,\n height,\n position: \"absolute\",\n right: context.dir === \"ltr\" ? 0 : void 0,\n left: context.dir === \"rtl\" ? 0 : void 0,\n bottom: 0,\n ...props.style\n }\n }\n ) : null;\n});\nfunction toInt(value) {\n return value ? parseInt(value, 10) : 0;\n}\nfunction getThumbRatio(viewportSize, contentSize) {\n const ratio = viewportSize / contentSize;\n return isNaN(ratio) ? 0 : ratio;\n}\nfunction getThumbSize(sizes) {\n const ratio = getThumbRatio(sizes.viewport, sizes.content);\n const scrollbarPadding = sizes.scrollbar.paddingStart + sizes.scrollbar.paddingEnd;\n const thumbSize = (sizes.scrollbar.size - scrollbarPadding) * ratio;\n return Math.max(thumbSize, 18);\n}\nfunction getScrollPositionFromPointer(pointerPos, pointerOffset, sizes, dir = \"ltr\") {\n const thumbSizePx = getThumbSize(sizes);\n const thumbCenter = thumbSizePx / 2;\n const offset = pointerOffset || thumbCenter;\n const thumbOffsetFromEnd = thumbSizePx - offset;\n const minPointerPos = sizes.scrollbar.paddingStart + offset;\n const maxPointerPos = sizes.scrollbar.size - sizes.scrollbar.paddingEnd - thumbOffsetFromEnd;\n const maxScrollPos = sizes.content - sizes.viewport;\n const scrollRange = dir === \"ltr\" ? [0, maxScrollPos] : [maxScrollPos * -1, 0];\n const interpolate = linearScale([minPointerPos, maxPointerPos], scrollRange);\n return interpolate(pointerPos);\n}\nfunction getThumbOffsetFromScroll(scrollPos, sizes, dir = \"ltr\") {\n const thumbSizePx = getThumbSize(sizes);\n const scrollbarPadding = sizes.scrollbar.paddingStart + sizes.scrollbar.paddingEnd;\n const scrollbar = sizes.scrollbar.size - scrollbarPadding;\n const maxScrollPos = sizes.content - sizes.viewport;\n const maxThumbPos = scrollbar - thumbSizePx;\n const scrollClampRange = dir === \"ltr\" ? [0, maxScrollPos] : [maxScrollPos * -1, 0];\n const scrollWithoutMomentum = clamp(scrollPos, scrollClampRange);\n const interpolate = linearScale([0, maxScrollPos], [0, maxThumbPos]);\n return interpolate(scrollWithoutMomentum);\n}\nfunction linearScale(input, output) {\n return (value) => {\n if (input[0] === input[1] || output[0] === output[1]) return output[0];\n const ratio = (output[1] - output[0]) / (input[1] - input[0]);\n return output[0] + ratio * (value - input[0]);\n };\n}\nfunction isScrollingWithinScrollbarBounds(scrollPos, maxScrollPos) {\n return scrollPos > 0 && scrollPos < maxScrollPos;\n}\nvar addUnlinkedScrollListener = (node, handler = () => {\n}) => {\n let prevPosition = { left: node.scrollLeft, top: node.scrollTop };\n let rAF = 0;\n (function loop() {\n const position = { left: node.scrollLeft, top: node.scrollTop };\n const isHorizontalScroll = prevPosition.left !== position.left;\n const isVerticalScroll = prevPosition.top !== position.top;\n if (isHorizontalScroll || isVerticalScroll) handler();\n prevPosition = position;\n rAF = window.requestAnimationFrame(loop);\n })();\n return () => window.cancelAnimationFrame(rAF);\n};\nfunction useDebounceCallback(callback, delay) {\n const handleCallback = useCallbackRef(callback);\n const debounceTimerRef = React2.useRef(0);\n React2.useEffect(() => () => window.clearTimeout(debounceTimerRef.current), []);\n return React2.useCallback(() => {\n window.clearTimeout(debounceTimerRef.current);\n debounceTimerRef.current = window.setTimeout(handleCallback, delay);\n }, [handleCallback, delay]);\n}\nfunction useResizeObserver(element, onResize) {\n const handleResize = useCallbackRef(onResize);\n useLayoutEffect(() => {\n let rAF = 0;\n if (element) {\n const resizeObserver = new ResizeObserver(() => {\n cancelAnimationFrame(rAF);\n rAF = window.requestAnimationFrame(handleResize);\n });\n resizeObserver.observe(element);\n return () => {\n window.cancelAnimationFrame(rAF);\n resizeObserver.unobserve(element);\n };\n }\n }, [element, handleResize]);\n}\nvar Root = ScrollArea;\nvar Viewport = ScrollAreaViewport;\nvar Scrollbar = ScrollAreaScrollbar;\nvar Thumb = ScrollAreaThumb;\nvar Corner = ScrollAreaCorner;\nexport {\n Corner,\n Root,\n ScrollArea,\n ScrollAreaCorner,\n ScrollAreaScrollbar,\n ScrollAreaThumb,\n ScrollAreaViewport,\n Scrollbar,\n Thumb,\n Viewport,\n createScrollAreaScope\n};\n//# sourceMappingURL=index.mjs.map\n","'use client';\n\nimport * as ScrollAreaPrimitive from '@radix-ui/react-scroll-area';\nimport type { ComponentProps } from 'react';\n\nimport { cn } from '@/lib';\n\nexport type ScrollAreaRootProps = ComponentProps<typeof ScrollAreaPrimitive.Root>;\n\nexport function ScrollAreaRoot({ className, children, ...props }: ScrollAreaRootProps) {\n return (\n <ScrollAreaPrimitive.Root\n className={cn('relative', className)}\n data-slot=\"scroll-area-root\"\n {...props}\n >\n {children}\n </ScrollAreaPrimitive.Root>\n );\n}\n","'use client';\n\nimport { createContext, use, useMemo } from 'react';\nimport type { ReactNode } from 'react';\n\ninterface ScrollAreaContext {\n orientation: 'vertical' | 'horizontal' | 'both';\n scrollHideDelay: number;\n type: 'auto' | 'always' | 'scroll' | 'hover';\n}\n\nexport const ScrollAreaContext = createContext<ScrollAreaContext | undefined>(undefined);\n\nexport interface ScrollAreaProviderProps {\n orientation?: 'vertical' | 'horizontal' | 'both';\n scrollHideDelay?: number;\n type?: 'auto' | 'always' | 'scroll' | 'hover';\n children: ReactNode;\n}\n\nexport function ScrollAreaProvider({\n children,\n orientation = 'vertical',\n scrollHideDelay = 500,\n type = 'hover',\n}: ScrollAreaProviderProps) {\n const contextValues = useMemo(\n () => ({\n orientation,\n scrollHideDelay,\n type,\n }),\n [orientation, scrollHideDelay, type],\n );\n\n return <ScrollAreaContext.Provider value={contextValues}>{children}</ScrollAreaContext.Provider>;\n}\n\nexport function useScrollArea() {\n const context = use(ScrollAreaContext);\n\n if (context === undefined) {\n throw new Error('useScrollArea must be used within a ScrollAreaProvider');\n }\n\n return context;\n}\n","'use client';\n\nimport * as ScrollAreaPrimitive from '@radix-ui/react-scroll-area';\nimport type { ComponentProps } from 'react';\n\nimport { cn } from '@/lib';\n\nexport type ScrollAreaViewportProps = ComponentProps<typeof ScrollAreaPrimitive.Viewport>;\n\nexport function ScrollAreaViewport({ className, children, ...props }: ScrollAreaViewportProps) {\n return (\n <ScrollAreaPrimitive.Viewport\n className={cn(\n 'size-full rounded-[inherit] transition-[color,box-shadow] focus-visible:outline-1 focus-visible:outline-offset-2 focus-visible:outline-primary',\n className,\n )}\n data-slot=\"scroll-area-viewport\"\n {...props}\n >\n {children}\n </ScrollAreaPrimitive.Viewport>\n );\n}\n","'use client';\n\nimport * as ScrollAreaPrimitive from '@radix-ui/react-scroll-area';\nimport type { ComponentProps } from 'react';\n\nimport { useScrollArea } from '@/components/scroll-area';\nimport { cn } from '@/lib';\n\nexport type ScrollAreaBarProps = ComponentProps<typeof ScrollAreaPrimitive.ScrollAreaScrollbar>;\n\nexport function ScrollAreaBar({ className, children, ...props }: ScrollAreaBarProps) {\n const { orientation } = useScrollArea();\n\n const baseClasses =\n 'flex touch-none select-none bg-transparent p-1 transition-colors data-[state=visible]:animate-in data-[state=hidden]:animate-out data-[state=hidden]:fade-out-0 data-[state=visible]:fade-in-0';\n\n const verticalClasses = 'h-full w-3.5 border-l border-l-transparent';\n\n const horizontalClasses = 'h-3.5 flex-col border-t border-t-transparent';\n\n if (orientation === 'both') {\n return (\n <>\n <ScrollAreaPrimitive.ScrollAreaScrollbar\n className={cn(baseClasses, verticalClasses, className)}\n data-slot=\"scroll-area-vertical-scrollbar\"\n orientation=\"vertical\"\n {...props}\n >\n {children}\n </ScrollAreaPrimitive.ScrollAreaScrollbar>\n <ScrollAreaPrimitive.ScrollAreaScrollbar\n className={cn(baseClasses, horizontalClasses, className)}\n data-slot=\"scroll-area-horizontal-scrollbar\"\n orientation=\"horizontal\"\n {...props}\n >\n {children}\n </ScrollAreaPrimitive.ScrollAreaScrollbar>\n </>\n );\n }\n\n return (\n <ScrollAreaPrimitive.ScrollAreaScrollbar\n className={cn(\n baseClasses,\n orientation === 'vertical' && verticalClasses,\n orientation === 'horizontal' && horizontalClasses,\n className,\n )}\n data-slot={`scroll-area-${orientation}-scrollbar`}\n orientation={orientation}\n {...props}\n >\n {children}\n </ScrollAreaPrimitive.ScrollAreaScrollbar>\n );\n}\n","'use client';\n\nimport * as ScrollAreaPrimitive from '@radix-ui/react-scroll-area';\nimport type { ComponentProps } from 'react';\n\nimport { cn } from '@/lib';\n\nexport type ScrollAreaThumbProps = ComponentProps<typeof ScrollAreaPrimitive.ScrollAreaThumb>;\n\nexport function ScrollAreaThumb({ className, ...props }: ScrollAreaThumbProps) {\n return (\n <ScrollAreaPrimitive.ScrollAreaThumb\n className={cn('relative flex-1 rounded-full bg-contrast-200', className)}\n data-slot=\"scroll-area-thumb\"\n {...props}\n />\n );\n}\n","'use client';\n\nimport * as ScrollAreaPrimitive from '@radix-ui/react-scroll-area';\nimport type { ComponentProps } from 'react';\n\nexport type ScrollAreaCornerProps = ComponentProps<typeof ScrollAreaPrimitive.Corner>;\n\nexport function ScrollAreaCorner({ className, ...props }: ScrollAreaCornerProps) {\n return (\n <ScrollAreaPrimitive.Corner className={className} data-slot=\"scroll-area-corner\" {...props} />\n );\n}\n"],"names":["clamp","value","min","max","useStateMachine","initialState","machine","React","state","event","SCROLL_AREA_NAME","createScrollAreaContext","createContextScope","ScrollAreaProvider","useScrollAreaContext","ScrollArea","React2","props","forwardedRef","__scopeScrollArea","type","dir","scrollHideDelay","scrollAreaProps","scrollArea","setScrollArea","viewport","setViewport","content","setContent","scrollbarX","setScrollbarX","scrollbarY","setScrollbarY","cornerWidth","setCornerWidth","cornerHeight","setCornerHeight","scrollbarXEnabled","setScrollbarXEnabled","scrollbarYEnabled","setScrollbarYEnabled","composedRefs","useComposedRefs","node","direction","useDirection","jsx","Primitive","VIEWPORT_NAME","ScrollAreaViewport","children","nonce","viewportProps","context","ref","jsxs","Fragment","SCROLLBAR_NAME","ScrollAreaScrollbar","forceMount","scrollbarProps","onScrollbarXEnabledChange","onScrollbarYEnabledChange","isHorizontal","ScrollAreaScrollbarHover","ScrollAreaScrollbarScroll","ScrollAreaScrollbarAuto","ScrollAreaScrollbarVisible","visible","setVisible","hideTimer","handlePointerEnter","handlePointerLeave","Presence","debounceScrollEnd","useDebounceCallback","send","scrollDirection","prevScrollPos","handleScroll","scrollPos","composeEventHandlers","handleResize","isOverflowX","isOverflowY","useResizeObserver","orientation","thumbRef","pointerOffsetRef","sizes","setSizes","thumbRatio","getThumbRatio","commonProps","thumb","pointerPos","getScrollPosition","getScrollPositionFromPointer","ScrollAreaScrollbarX","offset","getThumbOffsetFromScroll","ScrollAreaScrollbarY","onSizesChange","computedStyle","setComputedStyle","composeRefs","ScrollAreaScrollbarImpl","getThumbSize","maxScrollPos","isScrollingWithinScrollbarBounds","toInt","ScrollbarProvider","useScrollbarContext","hasThumb","onThumbChange","onThumbPointerUp","onThumbPointerDown","onThumbPositionChange","onDragScroll","onWheelScroll","onResize","scrollbar","setScrollbar","rectRef","prevWebkitUserSelectRef","handleWheelScroll","useCallbackRef","handleThumbPositionChange","handleDragScroll","x","y","handleWheel","element","THUMB_NAME","ScrollAreaThumb","thumbProps","scrollbarContext","ScrollAreaThumbImpl","style","scrollAreaContext","composedRef","removeUnlinkedScrollListenerRef","listener","addUnlinkedScrollListener","thumbRect","CORNER_NAME","ScrollAreaCorner","hasBothScrollbarsVisible","ScrollAreaCornerImpl","cornerProps","width","setWidth","height","setHeight","hasSize","height2","width2","viewportSize","contentSize","ratio","scrollbarPadding","thumbSize","pointerOffset","thumbSizePx","thumbCenter","thumbOffsetFromEnd","minPointerPos","maxPointerPos","scrollRange","linearScale","maxThumbPos","scrollClampRange","scrollWithoutMomentum","input","output","handler","prevPosition","rAF","loop","position","isHorizontalScroll","isVerticalScroll","callback","delay","handleCallback","debounceTimerRef","useLayoutEffect","resizeObserver","Root","Viewport","Corner","ScrollAreaRoot","className","ScrollAreaPrimitive.Root","cn","ScrollAreaContext","createContext","contextValues","useMemo","useScrollArea","use","ScrollAreaPrimitive.Viewport","ScrollAreaBar","baseClasses","verticalClasses","horizontalClasses","ScrollAreaPrimitive.ScrollAreaScrollbar","ScrollAreaPrimitive.ScrollAreaThumb","ScrollAreaPrimitive.Corner"],"mappings":"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","x_google_ignoreList":[0,1]}
|
|
1
|
+
{"version":3,"file":"scroll-area-corner-DsyetkPH.cjs","sources":["../node_modules/.pnpm/@radix-ui+number@1.1.1/node_modules/@radix-ui/number/dist/index.mjs","../node_modules/.pnpm/@radix-ui+react-scroll-area@1.2.10_@types+react-dom@19.2.2_@types+react@19.2.2__@types+react@_m2oggim3nwx6rzalxypqu3tc4m/node_modules/@radix-ui/react-scroll-area/dist/index.mjs","../src/components/scroll-area/primitives/scroll-area-root.tsx","../src/components/scroll-area/primitives/scroll-area-provider.tsx","../src/components/scroll-area/primitives/scroll-area-viewport.tsx","../src/components/scroll-area/primitives/scroll-area-bar.tsx","../src/components/scroll-area/primitives/scroll-area-thumb.tsx","../src/components/scroll-area/primitives/scroll-area-corner.tsx"],"sourcesContent":["// packages/core/number/src/number.ts\nfunction clamp(value, [min, max]) {\n return Math.min(max, Math.max(min, value));\n}\nexport {\n clamp\n};\n//# sourceMappingURL=index.mjs.map\n","\"use client\";\n\n// src/scroll-area.tsx\nimport * as React2 from \"react\";\nimport { Primitive } from \"@radix-ui/react-primitive\";\nimport { Presence } from \"@radix-ui/react-presence\";\nimport { createContextScope } from \"@radix-ui/react-context\";\nimport { useComposedRefs } from \"@radix-ui/react-compose-refs\";\nimport { useCallbackRef } from \"@radix-ui/react-use-callback-ref\";\nimport { useDirection } from \"@radix-ui/react-direction\";\nimport { useLayoutEffect } from \"@radix-ui/react-use-layout-effect\";\nimport { clamp } from \"@radix-ui/number\";\nimport { composeEventHandlers } from \"@radix-ui/primitive\";\n\n// src/use-state-machine.ts\nimport * as React from \"react\";\nfunction useStateMachine(initialState, machine) {\n return React.useReducer((state, event) => {\n const nextState = machine[state][event];\n return nextState ?? state;\n }, initialState);\n}\n\n// src/scroll-area.tsx\nimport { Fragment, jsx, jsxs } from \"react/jsx-runtime\";\nvar SCROLL_AREA_NAME = \"ScrollArea\";\nvar [createScrollAreaContext, createScrollAreaScope] = createContextScope(SCROLL_AREA_NAME);\nvar [ScrollAreaProvider, useScrollAreaContext] = createScrollAreaContext(SCROLL_AREA_NAME);\nvar ScrollArea = React2.forwardRef(\n (props, forwardedRef) => {\n const {\n __scopeScrollArea,\n type = \"hover\",\n dir,\n scrollHideDelay = 600,\n ...scrollAreaProps\n } = props;\n const [scrollArea, setScrollArea] = React2.useState(null);\n const [viewport, setViewport] = React2.useState(null);\n const [content, setContent] = React2.useState(null);\n const [scrollbarX, setScrollbarX] = React2.useState(null);\n const [scrollbarY, setScrollbarY] = React2.useState(null);\n const [cornerWidth, setCornerWidth] = React2.useState(0);\n const [cornerHeight, setCornerHeight] = React2.useState(0);\n const [scrollbarXEnabled, setScrollbarXEnabled] = React2.useState(false);\n const [scrollbarYEnabled, setScrollbarYEnabled] = React2.useState(false);\n const composedRefs = useComposedRefs(forwardedRef, (node) => setScrollArea(node));\n const direction = useDirection(dir);\n return /* @__PURE__ */ jsx(\n ScrollAreaProvider,\n {\n scope: __scopeScrollArea,\n type,\n dir: direction,\n scrollHideDelay,\n scrollArea,\n viewport,\n onViewportChange: setViewport,\n content,\n onContentChange: setContent,\n scrollbarX,\n onScrollbarXChange: setScrollbarX,\n scrollbarXEnabled,\n onScrollbarXEnabledChange: setScrollbarXEnabled,\n scrollbarY,\n onScrollbarYChange: setScrollbarY,\n scrollbarYEnabled,\n onScrollbarYEnabledChange: setScrollbarYEnabled,\n onCornerWidthChange: setCornerWidth,\n onCornerHeightChange: setCornerHeight,\n children: /* @__PURE__ */ jsx(\n Primitive.div,\n {\n dir: direction,\n ...scrollAreaProps,\n ref: composedRefs,\n style: {\n position: \"relative\",\n // Pass corner sizes as CSS vars to reduce re-renders of context consumers\n [\"--radix-scroll-area-corner-width\"]: cornerWidth + \"px\",\n [\"--radix-scroll-area-corner-height\"]: cornerHeight + \"px\",\n ...props.style\n }\n }\n )\n }\n );\n }\n);\nScrollArea.displayName = SCROLL_AREA_NAME;\nvar VIEWPORT_NAME = \"ScrollAreaViewport\";\nvar ScrollAreaViewport = React2.forwardRef(\n (props, forwardedRef) => {\n const { __scopeScrollArea, children, nonce, ...viewportProps } = props;\n const context = useScrollAreaContext(VIEWPORT_NAME, __scopeScrollArea);\n const ref = React2.useRef(null);\n const composedRefs = useComposedRefs(forwardedRef, ref, context.onViewportChange);\n return /* @__PURE__ */ jsxs(Fragment, { children: [\n /* @__PURE__ */ jsx(\n \"style\",\n {\n dangerouslySetInnerHTML: {\n __html: `[data-radix-scroll-area-viewport]{scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;}[data-radix-scroll-area-viewport]::-webkit-scrollbar{display:none}`\n },\n nonce\n }\n ),\n /* @__PURE__ */ jsx(\n Primitive.div,\n {\n \"data-radix-scroll-area-viewport\": \"\",\n ...viewportProps,\n ref: composedRefs,\n style: {\n /**\n * We don't support `visible` because the intention is to have at least one scrollbar\n * if this component is used and `visible` will behave like `auto` in that case\n * https://developer.mozilla.org/en-US/docs/Web/CSS/overflow#description\n *\n * We don't handle `auto` because the intention is for the native implementation\n * to be hidden if using this component. We just want to ensure the node is scrollable\n * so could have used either `scroll` or `auto` here. We picked `scroll` to prevent\n * the browser from having to work out whether to render native scrollbars or not,\n * we tell it to with the intention of hiding them in CSS.\n */\n overflowX: context.scrollbarXEnabled ? \"scroll\" : \"hidden\",\n overflowY: context.scrollbarYEnabled ? \"scroll\" : \"hidden\",\n ...props.style\n },\n children: /* @__PURE__ */ jsx(\"div\", { ref: context.onContentChange, style: { minWidth: \"100%\", display: \"table\" }, children })\n }\n )\n ] });\n }\n);\nScrollAreaViewport.displayName = VIEWPORT_NAME;\nvar SCROLLBAR_NAME = \"ScrollAreaScrollbar\";\nvar ScrollAreaScrollbar = React2.forwardRef(\n (props, forwardedRef) => {\n const { forceMount, ...scrollbarProps } = props;\n const context = useScrollAreaContext(SCROLLBAR_NAME, props.__scopeScrollArea);\n const { onScrollbarXEnabledChange, onScrollbarYEnabledChange } = context;\n const isHorizontal = props.orientation === \"horizontal\";\n React2.useEffect(() => {\n isHorizontal ? onScrollbarXEnabledChange(true) : onScrollbarYEnabledChange(true);\n return () => {\n isHorizontal ? onScrollbarXEnabledChange(false) : onScrollbarYEnabledChange(false);\n };\n }, [isHorizontal, onScrollbarXEnabledChange, onScrollbarYEnabledChange]);\n return context.type === \"hover\" ? /* @__PURE__ */ jsx(ScrollAreaScrollbarHover, { ...scrollbarProps, ref: forwardedRef, forceMount }) : context.type === \"scroll\" ? /* @__PURE__ */ jsx(ScrollAreaScrollbarScroll, { ...scrollbarProps, ref: forwardedRef, forceMount }) : context.type === \"auto\" ? /* @__PURE__ */ jsx(ScrollAreaScrollbarAuto, { ...scrollbarProps, ref: forwardedRef, forceMount }) : context.type === \"always\" ? /* @__PURE__ */ jsx(ScrollAreaScrollbarVisible, { ...scrollbarProps, ref: forwardedRef }) : null;\n }\n);\nScrollAreaScrollbar.displayName = SCROLLBAR_NAME;\nvar ScrollAreaScrollbarHover = React2.forwardRef((props, forwardedRef) => {\n const { forceMount, ...scrollbarProps } = props;\n const context = useScrollAreaContext(SCROLLBAR_NAME, props.__scopeScrollArea);\n const [visible, setVisible] = React2.useState(false);\n React2.useEffect(() => {\n const scrollArea = context.scrollArea;\n let hideTimer = 0;\n if (scrollArea) {\n const handlePointerEnter = () => {\n window.clearTimeout(hideTimer);\n setVisible(true);\n };\n const handlePointerLeave = () => {\n hideTimer = window.setTimeout(() => setVisible(false), context.scrollHideDelay);\n };\n scrollArea.addEventListener(\"pointerenter\", handlePointerEnter);\n scrollArea.addEventListener(\"pointerleave\", handlePointerLeave);\n return () => {\n window.clearTimeout(hideTimer);\n scrollArea.removeEventListener(\"pointerenter\", handlePointerEnter);\n scrollArea.removeEventListener(\"pointerleave\", handlePointerLeave);\n };\n }\n }, [context.scrollArea, context.scrollHideDelay]);\n return /* @__PURE__ */ jsx(Presence, { present: forceMount || visible, children: /* @__PURE__ */ jsx(\n ScrollAreaScrollbarAuto,\n {\n \"data-state\": visible ? \"visible\" : \"hidden\",\n ...scrollbarProps,\n ref: forwardedRef\n }\n ) });\n});\nvar ScrollAreaScrollbarScroll = React2.forwardRef((props, forwardedRef) => {\n const { forceMount, ...scrollbarProps } = props;\n const context = useScrollAreaContext(SCROLLBAR_NAME, props.__scopeScrollArea);\n const isHorizontal = props.orientation === \"horizontal\";\n const debounceScrollEnd = useDebounceCallback(() => send(\"SCROLL_END\"), 100);\n const [state, send] = useStateMachine(\"hidden\", {\n hidden: {\n SCROLL: \"scrolling\"\n },\n scrolling: {\n SCROLL_END: \"idle\",\n POINTER_ENTER: \"interacting\"\n },\n interacting: {\n SCROLL: \"interacting\",\n POINTER_LEAVE: \"idle\"\n },\n idle: {\n HIDE: \"hidden\",\n SCROLL: \"scrolling\",\n POINTER_ENTER: \"interacting\"\n }\n });\n React2.useEffect(() => {\n if (state === \"idle\") {\n const hideTimer = window.setTimeout(() => send(\"HIDE\"), context.scrollHideDelay);\n return () => window.clearTimeout(hideTimer);\n }\n }, [state, context.scrollHideDelay, send]);\n React2.useEffect(() => {\n const viewport = context.viewport;\n const scrollDirection = isHorizontal ? \"scrollLeft\" : \"scrollTop\";\n if (viewport) {\n let prevScrollPos = viewport[scrollDirection];\n const handleScroll = () => {\n const scrollPos = viewport[scrollDirection];\n const hasScrollInDirectionChanged = prevScrollPos !== scrollPos;\n if (hasScrollInDirectionChanged) {\n send(\"SCROLL\");\n debounceScrollEnd();\n }\n prevScrollPos = scrollPos;\n };\n viewport.addEventListener(\"scroll\", handleScroll);\n return () => viewport.removeEventListener(\"scroll\", handleScroll);\n }\n }, [context.viewport, isHorizontal, send, debounceScrollEnd]);\n return /* @__PURE__ */ jsx(Presence, { present: forceMount || state !== \"hidden\", children: /* @__PURE__ */ jsx(\n ScrollAreaScrollbarVisible,\n {\n \"data-state\": state === \"hidden\" ? \"hidden\" : \"visible\",\n ...scrollbarProps,\n ref: forwardedRef,\n onPointerEnter: composeEventHandlers(props.onPointerEnter, () => send(\"POINTER_ENTER\")),\n onPointerLeave: composeEventHandlers(props.onPointerLeave, () => send(\"POINTER_LEAVE\"))\n }\n ) });\n});\nvar ScrollAreaScrollbarAuto = React2.forwardRef((props, forwardedRef) => {\n const context = useScrollAreaContext(SCROLLBAR_NAME, props.__scopeScrollArea);\n const { forceMount, ...scrollbarProps } = props;\n const [visible, setVisible] = React2.useState(false);\n const isHorizontal = props.orientation === \"horizontal\";\n const handleResize = useDebounceCallback(() => {\n if (context.viewport) {\n const isOverflowX = context.viewport.offsetWidth < context.viewport.scrollWidth;\n const isOverflowY = context.viewport.offsetHeight < context.viewport.scrollHeight;\n setVisible(isHorizontal ? isOverflowX : isOverflowY);\n }\n }, 10);\n useResizeObserver(context.viewport, handleResize);\n useResizeObserver(context.content, handleResize);\n return /* @__PURE__ */ jsx(Presence, { present: forceMount || visible, children: /* @__PURE__ */ jsx(\n ScrollAreaScrollbarVisible,\n {\n \"data-state\": visible ? \"visible\" : \"hidden\",\n ...scrollbarProps,\n ref: forwardedRef\n }\n ) });\n});\nvar ScrollAreaScrollbarVisible = React2.forwardRef((props, forwardedRef) => {\n const { orientation = \"vertical\", ...scrollbarProps } = props;\n const context = useScrollAreaContext(SCROLLBAR_NAME, props.__scopeScrollArea);\n const thumbRef = React2.useRef(null);\n const pointerOffsetRef = React2.useRef(0);\n const [sizes, setSizes] = React2.useState({\n content: 0,\n viewport: 0,\n scrollbar: { size: 0, paddingStart: 0, paddingEnd: 0 }\n });\n const thumbRatio = getThumbRatio(sizes.viewport, sizes.content);\n const commonProps = {\n ...scrollbarProps,\n sizes,\n onSizesChange: setSizes,\n hasThumb: Boolean(thumbRatio > 0 && thumbRatio < 1),\n onThumbChange: (thumb) => thumbRef.current = thumb,\n onThumbPointerUp: () => pointerOffsetRef.current = 0,\n onThumbPointerDown: (pointerPos) => pointerOffsetRef.current = pointerPos\n };\n function getScrollPosition(pointerPos, dir) {\n return getScrollPositionFromPointer(pointerPos, pointerOffsetRef.current, sizes, dir);\n }\n if (orientation === \"horizontal\") {\n return /* @__PURE__ */ jsx(\n ScrollAreaScrollbarX,\n {\n ...commonProps,\n ref: forwardedRef,\n onThumbPositionChange: () => {\n if (context.viewport && thumbRef.current) {\n const scrollPos = context.viewport.scrollLeft;\n const offset = getThumbOffsetFromScroll(scrollPos, sizes, context.dir);\n thumbRef.current.style.transform = `translate3d(${offset}px, 0, 0)`;\n }\n },\n onWheelScroll: (scrollPos) => {\n if (context.viewport) context.viewport.scrollLeft = scrollPos;\n },\n onDragScroll: (pointerPos) => {\n if (context.viewport) {\n context.viewport.scrollLeft = getScrollPosition(pointerPos, context.dir);\n }\n }\n }\n );\n }\n if (orientation === \"vertical\") {\n return /* @__PURE__ */ jsx(\n ScrollAreaScrollbarY,\n {\n ...commonProps,\n ref: forwardedRef,\n onThumbPositionChange: () => {\n if (context.viewport && thumbRef.current) {\n const scrollPos = context.viewport.scrollTop;\n const offset = getThumbOffsetFromScroll(scrollPos, sizes);\n thumbRef.current.style.transform = `translate3d(0, ${offset}px, 0)`;\n }\n },\n onWheelScroll: (scrollPos) => {\n if (context.viewport) context.viewport.scrollTop = scrollPos;\n },\n onDragScroll: (pointerPos) => {\n if (context.viewport) context.viewport.scrollTop = getScrollPosition(pointerPos);\n }\n }\n );\n }\n return null;\n});\nvar ScrollAreaScrollbarX = React2.forwardRef((props, forwardedRef) => {\n const { sizes, onSizesChange, ...scrollbarProps } = props;\n const context = useScrollAreaContext(SCROLLBAR_NAME, props.__scopeScrollArea);\n const [computedStyle, setComputedStyle] = React2.useState();\n const ref = React2.useRef(null);\n const composeRefs = useComposedRefs(forwardedRef, ref, context.onScrollbarXChange);\n React2.useEffect(() => {\n if (ref.current) setComputedStyle(getComputedStyle(ref.current));\n }, [ref]);\n return /* @__PURE__ */ jsx(\n ScrollAreaScrollbarImpl,\n {\n \"data-orientation\": \"horizontal\",\n ...scrollbarProps,\n ref: composeRefs,\n sizes,\n style: {\n bottom: 0,\n left: context.dir === \"rtl\" ? \"var(--radix-scroll-area-corner-width)\" : 0,\n right: context.dir === \"ltr\" ? \"var(--radix-scroll-area-corner-width)\" : 0,\n [\"--radix-scroll-area-thumb-width\"]: getThumbSize(sizes) + \"px\",\n ...props.style\n },\n onThumbPointerDown: (pointerPos) => props.onThumbPointerDown(pointerPos.x),\n onDragScroll: (pointerPos) => props.onDragScroll(pointerPos.x),\n onWheelScroll: (event, maxScrollPos) => {\n if (context.viewport) {\n const scrollPos = context.viewport.scrollLeft + event.deltaX;\n props.onWheelScroll(scrollPos);\n if (isScrollingWithinScrollbarBounds(scrollPos, maxScrollPos)) {\n event.preventDefault();\n }\n }\n },\n onResize: () => {\n if (ref.current && context.viewport && computedStyle) {\n onSizesChange({\n content: context.viewport.scrollWidth,\n viewport: context.viewport.offsetWidth,\n scrollbar: {\n size: ref.current.clientWidth,\n paddingStart: toInt(computedStyle.paddingLeft),\n paddingEnd: toInt(computedStyle.paddingRight)\n }\n });\n }\n }\n }\n );\n});\nvar ScrollAreaScrollbarY = React2.forwardRef((props, forwardedRef) => {\n const { sizes, onSizesChange, ...scrollbarProps } = props;\n const context = useScrollAreaContext(SCROLLBAR_NAME, props.__scopeScrollArea);\n const [computedStyle, setComputedStyle] = React2.useState();\n const ref = React2.useRef(null);\n const composeRefs = useComposedRefs(forwardedRef, ref, context.onScrollbarYChange);\n React2.useEffect(() => {\n if (ref.current) setComputedStyle(getComputedStyle(ref.current));\n }, [ref]);\n return /* @__PURE__ */ jsx(\n ScrollAreaScrollbarImpl,\n {\n \"data-orientation\": \"vertical\",\n ...scrollbarProps,\n ref: composeRefs,\n sizes,\n style: {\n top: 0,\n right: context.dir === \"ltr\" ? 0 : void 0,\n left: context.dir === \"rtl\" ? 0 : void 0,\n bottom: \"var(--radix-scroll-area-corner-height)\",\n [\"--radix-scroll-area-thumb-height\"]: getThumbSize(sizes) + \"px\",\n ...props.style\n },\n onThumbPointerDown: (pointerPos) => props.onThumbPointerDown(pointerPos.y),\n onDragScroll: (pointerPos) => props.onDragScroll(pointerPos.y),\n onWheelScroll: (event, maxScrollPos) => {\n if (context.viewport) {\n const scrollPos = context.viewport.scrollTop + event.deltaY;\n props.onWheelScroll(scrollPos);\n if (isScrollingWithinScrollbarBounds(scrollPos, maxScrollPos)) {\n event.preventDefault();\n }\n }\n },\n onResize: () => {\n if (ref.current && context.viewport && computedStyle) {\n onSizesChange({\n content: context.viewport.scrollHeight,\n viewport: context.viewport.offsetHeight,\n scrollbar: {\n size: ref.current.clientHeight,\n paddingStart: toInt(computedStyle.paddingTop),\n paddingEnd: toInt(computedStyle.paddingBottom)\n }\n });\n }\n }\n }\n );\n});\nvar [ScrollbarProvider, useScrollbarContext] = createScrollAreaContext(SCROLLBAR_NAME);\nvar ScrollAreaScrollbarImpl = React2.forwardRef((props, forwardedRef) => {\n const {\n __scopeScrollArea,\n sizes,\n hasThumb,\n onThumbChange,\n onThumbPointerUp,\n onThumbPointerDown,\n onThumbPositionChange,\n onDragScroll,\n onWheelScroll,\n onResize,\n ...scrollbarProps\n } = props;\n const context = useScrollAreaContext(SCROLLBAR_NAME, __scopeScrollArea);\n const [scrollbar, setScrollbar] = React2.useState(null);\n const composeRefs = useComposedRefs(forwardedRef, (node) => setScrollbar(node));\n const rectRef = React2.useRef(null);\n const prevWebkitUserSelectRef = React2.useRef(\"\");\n const viewport = context.viewport;\n const maxScrollPos = sizes.content - sizes.viewport;\n const handleWheelScroll = useCallbackRef(onWheelScroll);\n const handleThumbPositionChange = useCallbackRef(onThumbPositionChange);\n const handleResize = useDebounceCallback(onResize, 10);\n function handleDragScroll(event) {\n if (rectRef.current) {\n const x = event.clientX - rectRef.current.left;\n const y = event.clientY - rectRef.current.top;\n onDragScroll({ x, y });\n }\n }\n React2.useEffect(() => {\n const handleWheel = (event) => {\n const element = event.target;\n const isScrollbarWheel = scrollbar?.contains(element);\n if (isScrollbarWheel) handleWheelScroll(event, maxScrollPos);\n };\n document.addEventListener(\"wheel\", handleWheel, { passive: false });\n return () => document.removeEventListener(\"wheel\", handleWheel, { passive: false });\n }, [viewport, scrollbar, maxScrollPos, handleWheelScroll]);\n React2.useEffect(handleThumbPositionChange, [sizes, handleThumbPositionChange]);\n useResizeObserver(scrollbar, handleResize);\n useResizeObserver(context.content, handleResize);\n return /* @__PURE__ */ jsx(\n ScrollbarProvider,\n {\n scope: __scopeScrollArea,\n scrollbar,\n hasThumb,\n onThumbChange: useCallbackRef(onThumbChange),\n onThumbPointerUp: useCallbackRef(onThumbPointerUp),\n onThumbPositionChange: handleThumbPositionChange,\n onThumbPointerDown: useCallbackRef(onThumbPointerDown),\n children: /* @__PURE__ */ jsx(\n Primitive.div,\n {\n ...scrollbarProps,\n ref: composeRefs,\n style: { position: \"absolute\", ...scrollbarProps.style },\n onPointerDown: composeEventHandlers(props.onPointerDown, (event) => {\n const mainPointer = 0;\n if (event.button === mainPointer) {\n const element = event.target;\n element.setPointerCapture(event.pointerId);\n rectRef.current = scrollbar.getBoundingClientRect();\n prevWebkitUserSelectRef.current = document.body.style.webkitUserSelect;\n document.body.style.webkitUserSelect = \"none\";\n if (context.viewport) context.viewport.style.scrollBehavior = \"auto\";\n handleDragScroll(event);\n }\n }),\n onPointerMove: composeEventHandlers(props.onPointerMove, handleDragScroll),\n onPointerUp: composeEventHandlers(props.onPointerUp, (event) => {\n const element = event.target;\n if (element.hasPointerCapture(event.pointerId)) {\n element.releasePointerCapture(event.pointerId);\n }\n document.body.style.webkitUserSelect = prevWebkitUserSelectRef.current;\n if (context.viewport) context.viewport.style.scrollBehavior = \"\";\n rectRef.current = null;\n })\n }\n )\n }\n );\n});\nvar THUMB_NAME = \"ScrollAreaThumb\";\nvar ScrollAreaThumb = React2.forwardRef(\n (props, forwardedRef) => {\n const { forceMount, ...thumbProps } = props;\n const scrollbarContext = useScrollbarContext(THUMB_NAME, props.__scopeScrollArea);\n return /* @__PURE__ */ jsx(Presence, { present: forceMount || scrollbarContext.hasThumb, children: /* @__PURE__ */ jsx(ScrollAreaThumbImpl, { ref: forwardedRef, ...thumbProps }) });\n }\n);\nvar ScrollAreaThumbImpl = React2.forwardRef(\n (props, forwardedRef) => {\n const { __scopeScrollArea, style, ...thumbProps } = props;\n const scrollAreaContext = useScrollAreaContext(THUMB_NAME, __scopeScrollArea);\n const scrollbarContext = useScrollbarContext(THUMB_NAME, __scopeScrollArea);\n const { onThumbPositionChange } = scrollbarContext;\n const composedRef = useComposedRefs(\n forwardedRef,\n (node) => scrollbarContext.onThumbChange(node)\n );\n const removeUnlinkedScrollListenerRef = React2.useRef(void 0);\n const debounceScrollEnd = useDebounceCallback(() => {\n if (removeUnlinkedScrollListenerRef.current) {\n removeUnlinkedScrollListenerRef.current();\n removeUnlinkedScrollListenerRef.current = void 0;\n }\n }, 100);\n React2.useEffect(() => {\n const viewport = scrollAreaContext.viewport;\n if (viewport) {\n const handleScroll = () => {\n debounceScrollEnd();\n if (!removeUnlinkedScrollListenerRef.current) {\n const listener = addUnlinkedScrollListener(viewport, onThumbPositionChange);\n removeUnlinkedScrollListenerRef.current = listener;\n onThumbPositionChange();\n }\n };\n onThumbPositionChange();\n viewport.addEventListener(\"scroll\", handleScroll);\n return () => viewport.removeEventListener(\"scroll\", handleScroll);\n }\n }, [scrollAreaContext.viewport, debounceScrollEnd, onThumbPositionChange]);\n return /* @__PURE__ */ jsx(\n Primitive.div,\n {\n \"data-state\": scrollbarContext.hasThumb ? \"visible\" : \"hidden\",\n ...thumbProps,\n ref: composedRef,\n style: {\n width: \"var(--radix-scroll-area-thumb-width)\",\n height: \"var(--radix-scroll-area-thumb-height)\",\n ...style\n },\n onPointerDownCapture: composeEventHandlers(props.onPointerDownCapture, (event) => {\n const thumb = event.target;\n const thumbRect = thumb.getBoundingClientRect();\n const x = event.clientX - thumbRect.left;\n const y = event.clientY - thumbRect.top;\n scrollbarContext.onThumbPointerDown({ x, y });\n }),\n onPointerUp: composeEventHandlers(props.onPointerUp, scrollbarContext.onThumbPointerUp)\n }\n );\n }\n);\nScrollAreaThumb.displayName = THUMB_NAME;\nvar CORNER_NAME = \"ScrollAreaCorner\";\nvar ScrollAreaCorner = React2.forwardRef(\n (props, forwardedRef) => {\n const context = useScrollAreaContext(CORNER_NAME, props.__scopeScrollArea);\n const hasBothScrollbarsVisible = Boolean(context.scrollbarX && context.scrollbarY);\n const hasCorner = context.type !== \"scroll\" && hasBothScrollbarsVisible;\n return hasCorner ? /* @__PURE__ */ jsx(ScrollAreaCornerImpl, { ...props, ref: forwardedRef }) : null;\n }\n);\nScrollAreaCorner.displayName = CORNER_NAME;\nvar ScrollAreaCornerImpl = React2.forwardRef((props, forwardedRef) => {\n const { __scopeScrollArea, ...cornerProps } = props;\n const context = useScrollAreaContext(CORNER_NAME, __scopeScrollArea);\n const [width, setWidth] = React2.useState(0);\n const [height, setHeight] = React2.useState(0);\n const hasSize = Boolean(width && height);\n useResizeObserver(context.scrollbarX, () => {\n const height2 = context.scrollbarX?.offsetHeight || 0;\n context.onCornerHeightChange(height2);\n setHeight(height2);\n });\n useResizeObserver(context.scrollbarY, () => {\n const width2 = context.scrollbarY?.offsetWidth || 0;\n context.onCornerWidthChange(width2);\n setWidth(width2);\n });\n return hasSize ? /* @__PURE__ */ jsx(\n Primitive.div,\n {\n ...cornerProps,\n ref: forwardedRef,\n style: {\n width,\n height,\n position: \"absolute\",\n right: context.dir === \"ltr\" ? 0 : void 0,\n left: context.dir === \"rtl\" ? 0 : void 0,\n bottom: 0,\n ...props.style\n }\n }\n ) : null;\n});\nfunction toInt(value) {\n return value ? parseInt(value, 10) : 0;\n}\nfunction getThumbRatio(viewportSize, contentSize) {\n const ratio = viewportSize / contentSize;\n return isNaN(ratio) ? 0 : ratio;\n}\nfunction getThumbSize(sizes) {\n const ratio = getThumbRatio(sizes.viewport, sizes.content);\n const scrollbarPadding = sizes.scrollbar.paddingStart + sizes.scrollbar.paddingEnd;\n const thumbSize = (sizes.scrollbar.size - scrollbarPadding) * ratio;\n return Math.max(thumbSize, 18);\n}\nfunction getScrollPositionFromPointer(pointerPos, pointerOffset, sizes, dir = \"ltr\") {\n const thumbSizePx = getThumbSize(sizes);\n const thumbCenter = thumbSizePx / 2;\n const offset = pointerOffset || thumbCenter;\n const thumbOffsetFromEnd = thumbSizePx - offset;\n const minPointerPos = sizes.scrollbar.paddingStart + offset;\n const maxPointerPos = sizes.scrollbar.size - sizes.scrollbar.paddingEnd - thumbOffsetFromEnd;\n const maxScrollPos = sizes.content - sizes.viewport;\n const scrollRange = dir === \"ltr\" ? [0, maxScrollPos] : [maxScrollPos * -1, 0];\n const interpolate = linearScale([minPointerPos, maxPointerPos], scrollRange);\n return interpolate(pointerPos);\n}\nfunction getThumbOffsetFromScroll(scrollPos, sizes, dir = \"ltr\") {\n const thumbSizePx = getThumbSize(sizes);\n const scrollbarPadding = sizes.scrollbar.paddingStart + sizes.scrollbar.paddingEnd;\n const scrollbar = sizes.scrollbar.size - scrollbarPadding;\n const maxScrollPos = sizes.content - sizes.viewport;\n const maxThumbPos = scrollbar - thumbSizePx;\n const scrollClampRange = dir === \"ltr\" ? [0, maxScrollPos] : [maxScrollPos * -1, 0];\n const scrollWithoutMomentum = clamp(scrollPos, scrollClampRange);\n const interpolate = linearScale([0, maxScrollPos], [0, maxThumbPos]);\n return interpolate(scrollWithoutMomentum);\n}\nfunction linearScale(input, output) {\n return (value) => {\n if (input[0] === input[1] || output[0] === output[1]) return output[0];\n const ratio = (output[1] - output[0]) / (input[1] - input[0]);\n return output[0] + ratio * (value - input[0]);\n };\n}\nfunction isScrollingWithinScrollbarBounds(scrollPos, maxScrollPos) {\n return scrollPos > 0 && scrollPos < maxScrollPos;\n}\nvar addUnlinkedScrollListener = (node, handler = () => {\n}) => {\n let prevPosition = { left: node.scrollLeft, top: node.scrollTop };\n let rAF = 0;\n (function loop() {\n const position = { left: node.scrollLeft, top: node.scrollTop };\n const isHorizontalScroll = prevPosition.left !== position.left;\n const isVerticalScroll = prevPosition.top !== position.top;\n if (isHorizontalScroll || isVerticalScroll) handler();\n prevPosition = position;\n rAF = window.requestAnimationFrame(loop);\n })();\n return () => window.cancelAnimationFrame(rAF);\n};\nfunction useDebounceCallback(callback, delay) {\n const handleCallback = useCallbackRef(callback);\n const debounceTimerRef = React2.useRef(0);\n React2.useEffect(() => () => window.clearTimeout(debounceTimerRef.current), []);\n return React2.useCallback(() => {\n window.clearTimeout(debounceTimerRef.current);\n debounceTimerRef.current = window.setTimeout(handleCallback, delay);\n }, [handleCallback, delay]);\n}\nfunction useResizeObserver(element, onResize) {\n const handleResize = useCallbackRef(onResize);\n useLayoutEffect(() => {\n let rAF = 0;\n if (element) {\n const resizeObserver = new ResizeObserver(() => {\n cancelAnimationFrame(rAF);\n rAF = window.requestAnimationFrame(handleResize);\n });\n resizeObserver.observe(element);\n return () => {\n window.cancelAnimationFrame(rAF);\n resizeObserver.unobserve(element);\n };\n }\n }, [element, handleResize]);\n}\nvar Root = ScrollArea;\nvar Viewport = ScrollAreaViewport;\nvar Scrollbar = ScrollAreaScrollbar;\nvar Thumb = ScrollAreaThumb;\nvar Corner = ScrollAreaCorner;\nexport {\n Corner,\n Root,\n ScrollArea,\n ScrollAreaCorner,\n ScrollAreaScrollbar,\n ScrollAreaThumb,\n ScrollAreaViewport,\n Scrollbar,\n Thumb,\n Viewport,\n createScrollAreaScope\n};\n//# sourceMappingURL=index.mjs.map\n","'use client';\n\nimport * as ScrollAreaPrimitive from '@radix-ui/react-scroll-area';\nimport type { ComponentProps } from 'react';\n\nimport { cn } from '@/lib';\n\nexport type ScrollAreaRootProps = ComponentProps<typeof ScrollAreaPrimitive.Root>;\n\nexport function ScrollAreaRoot({ className, children, ...props }: ScrollAreaRootProps) {\n return (\n <ScrollAreaPrimitive.Root\n className={cn('relative overflow-hidden', className)}\n data-slot=\"scroll-area-root\"\n {...props}\n >\n {children}\n </ScrollAreaPrimitive.Root>\n );\n}\n","'use client';\n\nimport { createContext, use, useMemo } from 'react';\nimport type { ReactNode } from 'react';\n\ninterface ScrollAreaContext {\n orientation: 'vertical' | 'horizontal' | 'both';\n scrollHideDelay: number;\n type: 'auto' | 'always' | 'scroll' | 'hover';\n}\n\nexport const ScrollAreaContext = createContext<ScrollAreaContext | undefined>(undefined);\n\nexport interface ScrollAreaProviderProps {\n orientation?: 'vertical' | 'horizontal' | 'both';\n scrollHideDelay?: number;\n type?: 'auto' | 'always' | 'scroll' | 'hover';\n children: ReactNode;\n}\n\nexport function ScrollAreaProvider({\n children,\n orientation = 'vertical',\n scrollHideDelay = 500,\n type = 'hover',\n}: ScrollAreaProviderProps) {\n const contextValues = useMemo(\n () => ({\n orientation,\n scrollHideDelay,\n type,\n }),\n [orientation, scrollHideDelay, type],\n );\n\n return <ScrollAreaContext.Provider value={contextValues}>{children}</ScrollAreaContext.Provider>;\n}\n\nexport function useScrollArea() {\n const context = use(ScrollAreaContext);\n\n if (context === undefined) {\n throw new Error('useScrollArea must be used within a ScrollAreaProvider');\n }\n\n return context;\n}\n","'use client';\n\nimport * as ScrollAreaPrimitive from '@radix-ui/react-scroll-area';\nimport type { ComponentProps } from 'react';\n\nimport { cn } from '@/lib';\n\nexport type ScrollAreaViewportProps = ComponentProps<typeof ScrollAreaPrimitive.Viewport>;\n\nexport function ScrollAreaViewport({ className, children, ...props }: ScrollAreaViewportProps) {\n return (\n <ScrollAreaPrimitive.Viewport\n className={cn(\n 'size-full rounded-[inherit] transition-[color,box-shadow] focus-visible:outline-1 focus-visible:outline-offset-2 focus-visible:outline-primary',\n className,\n )}\n data-slot=\"scroll-area-viewport\"\n {...props}\n >\n {children}\n </ScrollAreaPrimitive.Viewport>\n );\n}\n","'use client';\n\nimport * as ScrollAreaPrimitive from '@radix-ui/react-scroll-area';\nimport type { ComponentProps } from 'react';\n\nimport { useScrollArea } from '@/components/scroll-area';\nimport { cn } from '@/lib';\n\nexport type ScrollAreaBarProps = ComponentProps<typeof ScrollAreaPrimitive.ScrollAreaScrollbar>;\n\nexport function ScrollAreaBar({ className, children, ...props }: ScrollAreaBarProps) {\n const { orientation } = useScrollArea();\n\n const baseClasses =\n 'flex touch-none select-none bg-transparent p-1 transition-colors data-[state=visible]:animate-in data-[state=hidden]:animate-out data-[state=hidden]:fade-out-0 data-[state=visible]:fade-in-0';\n\n const verticalClasses = 'h-full w-3.5 border-l border-l-transparent';\n\n const horizontalClasses = 'h-3.5 flex-col border-t border-t-transparent';\n\n if (orientation === 'both') {\n return (\n <>\n <ScrollAreaPrimitive.ScrollAreaScrollbar\n className={cn(baseClasses, verticalClasses, className)}\n data-slot=\"scroll-area-vertical-scrollbar\"\n orientation=\"vertical\"\n {...props}\n >\n {children}\n </ScrollAreaPrimitive.ScrollAreaScrollbar>\n <ScrollAreaPrimitive.ScrollAreaScrollbar\n className={cn(baseClasses, horizontalClasses, className)}\n data-slot=\"scroll-area-horizontal-scrollbar\"\n orientation=\"horizontal\"\n {...props}\n >\n {children}\n </ScrollAreaPrimitive.ScrollAreaScrollbar>\n </>\n );\n }\n\n return (\n <ScrollAreaPrimitive.ScrollAreaScrollbar\n className={cn(\n baseClasses,\n orientation === 'vertical' && verticalClasses,\n orientation === 'horizontal' && horizontalClasses,\n className,\n )}\n data-slot={`scroll-area-${orientation}-scrollbar`}\n orientation={orientation}\n {...props}\n >\n {children}\n </ScrollAreaPrimitive.ScrollAreaScrollbar>\n );\n}\n","'use client';\n\nimport * as ScrollAreaPrimitive from '@radix-ui/react-scroll-area';\nimport type { ComponentProps } from 'react';\n\nimport { cn } from '@/lib';\n\nexport type ScrollAreaThumbProps = ComponentProps<typeof ScrollAreaPrimitive.ScrollAreaThumb>;\n\nexport function ScrollAreaThumb({ className, ...props }: ScrollAreaThumbProps) {\n return (\n <ScrollAreaPrimitive.ScrollAreaThumb\n className={cn('relative flex-1 rounded-full bg-contrast-200', className)}\n data-slot=\"scroll-area-thumb\"\n {...props}\n />\n );\n}\n","'use client';\n\nimport * as ScrollAreaPrimitive from '@radix-ui/react-scroll-area';\nimport type { ComponentProps } from 'react';\n\nexport type ScrollAreaCornerProps = ComponentProps<typeof ScrollAreaPrimitive.Corner>;\n\nexport function ScrollAreaCorner({ className, ...props }: ScrollAreaCornerProps) {\n return (\n <ScrollAreaPrimitive.Corner className={className} data-slot=\"scroll-area-corner\" {...props} />\n );\n}\n"],"names":["clamp","value","min","max","useStateMachine","initialState","machine","React","state","event","SCROLL_AREA_NAME","createScrollAreaContext","createContextScope","ScrollAreaProvider","useScrollAreaContext","ScrollArea","React2","props","forwardedRef","__scopeScrollArea","type","dir","scrollHideDelay","scrollAreaProps","scrollArea","setScrollArea","viewport","setViewport","content","setContent","scrollbarX","setScrollbarX","scrollbarY","setScrollbarY","cornerWidth","setCornerWidth","cornerHeight","setCornerHeight","scrollbarXEnabled","setScrollbarXEnabled","scrollbarYEnabled","setScrollbarYEnabled","composedRefs","useComposedRefs","node","direction","useDirection","jsx","Primitive","VIEWPORT_NAME","ScrollAreaViewport","children","nonce","viewportProps","context","ref","jsxs","Fragment","SCROLLBAR_NAME","ScrollAreaScrollbar","forceMount","scrollbarProps","onScrollbarXEnabledChange","onScrollbarYEnabledChange","isHorizontal","ScrollAreaScrollbarHover","ScrollAreaScrollbarScroll","ScrollAreaScrollbarAuto","ScrollAreaScrollbarVisible","visible","setVisible","hideTimer","handlePointerEnter","handlePointerLeave","Presence","debounceScrollEnd","useDebounceCallback","send","scrollDirection","prevScrollPos","handleScroll","scrollPos","composeEventHandlers","handleResize","isOverflowX","isOverflowY","useResizeObserver","orientation","thumbRef","pointerOffsetRef","sizes","setSizes","thumbRatio","getThumbRatio","commonProps","thumb","pointerPos","getScrollPosition","getScrollPositionFromPointer","ScrollAreaScrollbarX","offset","getThumbOffsetFromScroll","ScrollAreaScrollbarY","onSizesChange","computedStyle","setComputedStyle","composeRefs","ScrollAreaScrollbarImpl","getThumbSize","maxScrollPos","isScrollingWithinScrollbarBounds","toInt","ScrollbarProvider","useScrollbarContext","hasThumb","onThumbChange","onThumbPointerUp","onThumbPointerDown","onThumbPositionChange","onDragScroll","onWheelScroll","onResize","scrollbar","setScrollbar","rectRef","prevWebkitUserSelectRef","handleWheelScroll","useCallbackRef","handleThumbPositionChange","handleDragScroll","x","y","handleWheel","element","THUMB_NAME","ScrollAreaThumb","thumbProps","scrollbarContext","ScrollAreaThumbImpl","style","scrollAreaContext","composedRef","removeUnlinkedScrollListenerRef","listener","addUnlinkedScrollListener","thumbRect","CORNER_NAME","ScrollAreaCorner","hasBothScrollbarsVisible","ScrollAreaCornerImpl","cornerProps","width","setWidth","height","setHeight","hasSize","height2","width2","viewportSize","contentSize","ratio","scrollbarPadding","thumbSize","pointerOffset","thumbSizePx","thumbCenter","thumbOffsetFromEnd","minPointerPos","maxPointerPos","scrollRange","linearScale","maxThumbPos","scrollClampRange","scrollWithoutMomentum","input","output","handler","prevPosition","rAF","loop","position","isHorizontalScroll","isVerticalScroll","callback","delay","handleCallback","debounceTimerRef","useLayoutEffect","resizeObserver","Root","Viewport","Corner","ScrollAreaRoot","className","ScrollAreaPrimitive.Root","cn","ScrollAreaContext","createContext","contextValues","useMemo","useScrollArea","use","ScrollAreaPrimitive.Viewport","ScrollAreaBar","baseClasses","verticalClasses","horizontalClasses","ScrollAreaPrimitive.ScrollAreaScrollbar","ScrollAreaPrimitive.ScrollAreaThumb","ScrollAreaPrimitive.Corner"],"mappings":"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","x_google_ignoreList":[0,1]}
|
package/dist/scroll-area.cjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const r=require("./scroll-area-corner-
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const r=require("./scroll-area-corner-DsyetkPH.cjs");exports.Bar=r.ScrollAreaBar;exports.Corner=r.ScrollAreaCorner;exports.Provider=r.ScrollAreaProvider;exports.Root=r.ScrollAreaRoot;exports.Thumb=r.ScrollAreaThumb;exports.Viewport=r.ScrollAreaViewport;exports.useScrollArea=r.useScrollArea;
|
|
2
2
|
//# sourceMappingURL=scroll-area.cjs.map
|
package/dist/scroll-area.js
CHANGED
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const n=require("react/jsx-runtime"),i=require("./index-BppAzNV8.cjs"),l=require("./utils-LBH114_M.cjs");function o({...e}){return n.jsx(i.Root,{"data-slot":"side-panel-root",...e})}function r({...e}){return n.jsx(i.Trigger,{"data-slot":"side-panel-trigger",...e})}function s({children:e,...t}){return n.jsx(i.Portal,{"data-slot":"side-panel-portal",...t,children:e})}function d({children:e,className:t,...a}){return n.jsx(i.Overlay,{className:l.cn("fixed inset-0 z-30 overflow-hidden bg-[var(--side-panel-overlay-background,color-mix(in_oklab,hsl(var(--foreground))_50%,transparent))] @container",t),"data-slot":"side-panel-overlay",...a,children:e})}function c({children:e,className:t,...a}){return n.jsx(i.Content,{className:l.cn("fixed inset-y-0 right-0 flex w-96 max-w-full flex-col bg-[var(--side-panel-background,hsl(var(--background)))] font-[var(--side-panel-content-font-family,var(--font-family-body))] transition duration-500 [animation-timing-function:cubic-bezier(0.25,1,0,1)] data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:slide-out-to-right data-[state=open]:slide-in-from-right",t),"data-slot":"side-panel-content",...a,children:e})}function u({children:e,className:t,...a}){return n.jsx("div",{className:l.cn("px-6 pb-6 @md:px-8 @md:pb-8",t),...a,children:e})}function f({children:e,className:t,...a}){return n.jsx("header",{className:l.cn("flex items-center justify-between gap-2 px-6 pb-4 pt-4 @md:px-8 @md:pt-7",t),"data-slot":"side-panel-header",...a,children:e})}function p({children:e,className:t,...a}){return n.jsx(i.Title,{className:l.cn("text-2xl font-medium text-[var(--side-panel-title-text,hsl(var(--foreground)))] [font-family:var(--side-panel-title-font-family,var(--font-family-heading))] @lg:text-3xl",t),"data-slot":"side-panel-title",...a,children:e})}function x({children:e,className:t,...a}){return n.jsx(i.Close,{className:l.cn(t),"data-slot":"side-panel-close",...a,children:e})}exports.Body=u;exports.Close=x;exports.Content=c;exports.Header=f;exports.Overlay=d;exports.Portal=s;exports.Root=o;exports.Title=p;exports.Trigger=r;
|
|
2
|
+
//# sourceMappingURL=side-panel.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"side-panel.cjs","sources":["../src/components/side-panel/primitives/side-panel-root.tsx","../src/components/side-panel/primitives/side-panel-trigger.tsx","../src/components/side-panel/primitives/side-panel-portal.tsx","../src/components/side-panel/primitives/side-panel-overlay.tsx","../src/components/side-panel/primitives/side-panel-content.tsx","../src/components/side-panel/primitives/side-panel-body.tsx","../src/components/side-panel/primitives/side-panel-header.tsx","../src/components/side-panel/primitives/side-panel-title.tsx","../src/components/side-panel/primitives/side-panel-close.tsx"],"sourcesContent":["import * as Dialog from '@radix-ui/react-dialog';\nimport type { ComponentProps } from 'react';\n\nexport type SidePanelRootProps = ComponentProps<typeof Dialog.Root>;\n\nexport function SidePanelRoot({ ...props }: SidePanelRootProps) {\n return <Dialog.Root data-slot=\"side-panel-root\" {...props} />;\n}\n","import * as Dialog from '@radix-ui/react-dialog';\nimport type { ComponentProps } from 'react';\n\nexport type SidePanelTriggerProps = ComponentProps<typeof Dialog.Trigger>;\n\nexport function SidePanelTrigger({ ...props }: SidePanelTriggerProps) {\n return <Dialog.Trigger data-slot=\"side-panel-trigger\" {...props} />;\n}\n","'use client';\n\nimport * as Dialog from '@radix-ui/react-dialog';\nimport type { ComponentProps } from 'react';\n\nexport type SidePanelPortalProps = ComponentProps<typeof Dialog.Portal>;\n\nexport function SidePanelPortal({ children, ...props }: SidePanelPortalProps) {\n return (\n <Dialog.Portal data-slot=\"side-panel-portal\" {...props}>\n {children}\n </Dialog.Portal>\n );\n}\n","import * as Dialog from '@radix-ui/react-dialog';\nimport type { ComponentProps } from 'react';\n\nimport { cn } from '@/lib';\n\nexport type SidePanelOverlayProps = ComponentProps<typeof Dialog.Overlay>;\n\nexport function SidePanelOverlay({ children, className, ...props }: SidePanelOverlayProps) {\n return (\n <Dialog.Overlay\n className={cn(\n 'fixed inset-0 z-30 overflow-hidden bg-[var(--side-panel-overlay-background,color-mix(in_oklab,hsl(var(--foreground))_50%,transparent))] @container',\n className,\n )}\n data-slot=\"side-panel-overlay\"\n {...props}\n >\n {children}\n </Dialog.Overlay>\n );\n}\n","'use client';\n\nimport * as Dialog from '@radix-ui/react-dialog';\nimport type { ComponentProps } from 'react';\n\nimport { cn } from '@/lib';\n\nexport type SidePanelContentProps = ComponentProps<typeof Dialog.Content>;\n\nexport function SidePanelContent({ children, className, ...props }: SidePanelContentProps) {\n return (\n <Dialog.Content\n className={cn(\n 'fixed inset-y-0 right-0 flex w-96 max-w-full flex-col bg-[var(--side-panel-background,hsl(var(--background)))] font-[var(--side-panel-content-font-family,var(--font-family-body))] transition duration-500 [animation-timing-function:cubic-bezier(0.25,1,0,1)] data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:slide-out-to-right data-[state=open]:slide-in-from-right',\n className,\n )}\n data-slot=\"side-panel-content\"\n {...props}\n >\n {children}\n </Dialog.Content>\n );\n}\n","import type { ComponentProps } from 'react';\n\nimport { cn } from '@/lib';\n\nexport type SidePanelBodyProps = ComponentProps<'div'>;\n\nexport function SidePanelBody({ children, className, ...props }: SidePanelBodyProps) {\n return (\n <div className={cn('px-6 pb-6 @md:px-8 @md:pb-8', className)} {...props}>\n {children}\n </div>\n );\n}\n","import type { ComponentProps } from 'react';\n\nimport { cn } from '@/lib';\n\nexport type SidePanelHeaderProps = ComponentProps<'div'>;\n\nexport function SidePanelHeader({ children, className, ...props }: SidePanelHeaderProps) {\n return (\n <header\n className={cn(\n 'flex items-center justify-between gap-2 px-6 pb-4 pt-4 @md:px-8 @md:pt-7',\n className,\n )}\n data-slot=\"side-panel-header\"\n {...props}\n >\n {children}\n </header>\n );\n}\n","import * as Dialog from '@radix-ui/react-dialog';\nimport type { ComponentProps } from 'react';\n\nimport { cn } from '@/lib';\n\nexport type SidePanelTitleProps = ComponentProps<typeof Dialog.Title>;\n\nexport function SidePanelTitle({ children, className, ...props }: SidePanelTitleProps) {\n return (\n <Dialog.Title\n className={cn(\n 'text-2xl font-medium text-[var(--side-panel-title-text,hsl(var(--foreground)))] [font-family:var(--side-panel-title-font-family,var(--font-family-heading))] @lg:text-3xl',\n className,\n )}\n data-slot=\"side-panel-title\"\n {...props}\n >\n {children}\n </Dialog.Title>\n );\n}\n","import * as Dialog from '@radix-ui/react-dialog';\nimport type { ComponentProps } from 'react';\n\nimport { cn } from '@/lib';\n\nexport type SidePanelCloseProps = ComponentProps<typeof Dialog.Close>;\n\nexport function SidePanelClose({ children, className, ...props }: SidePanelCloseProps) {\n return (\n <Dialog.Close className={cn(className)} data-slot=\"side-panel-close\" {...props}>\n {children}\n </Dialog.Close>\n );\n}\n"],"names":["SidePanelRoot","props","Dialog.Root","SidePanelTrigger","Dialog.Trigger","SidePanelPortal","children","jsx","Dialog.Portal","SidePanelOverlay","className","Dialog.Overlay","cn","SidePanelContent","Dialog.Content","SidePanelBody","SidePanelHeader","SidePanelTitle","Dialog.Title","SidePanelClose","Dialog.Close"],"mappings":"yLAKO,SAASA,EAAc,CAAE,GAAGC,GAA6B,CAC9D,aAAQC,EAAAA,KAAA,CAAY,YAAU,kBAAmB,GAAGD,EAAO,CAC7D,CCFO,SAASE,EAAiB,CAAE,GAAGF,GAAgC,CACpE,aAAQG,EAAAA,QAAA,CAAe,YAAU,qBAAsB,GAAGH,EAAO,CACnE,CCAO,SAASI,EAAgB,CAAE,SAAAC,EAAU,GAAGL,GAA+B,CAC5E,OACEM,EAAAA,IAACC,EAAAA,OAAA,CAAc,YAAU,oBAAqB,GAAGP,EAC9C,SAAAK,EACH,CAEJ,CCNO,SAASG,EAAiB,CAAE,SAAAH,EAAU,UAAAI,EAAW,GAAGT,GAAgC,CACzF,OACEM,EAAAA,IAACI,EAAAA,QAAA,CACC,UAAWC,EAAAA,GACT,qJACAF,CAAA,EAEF,YAAU,qBACT,GAAGT,EAEH,SAAAK,CAAA,CAAA,CAGP,CCXO,SAASO,EAAiB,CAAE,SAAAP,EAAU,UAAAI,EAAW,GAAGT,GAAgC,CACzF,OACEM,EAAAA,IAACO,EAAAA,QAAA,CACC,UAAWF,EAAAA,GACT,6YACAF,CAAA,EAEF,YAAU,qBACT,GAAGT,EAEH,SAAAK,CAAA,CAAA,CAGP,CChBO,SAASS,EAAc,CAAE,SAAAT,EAAU,UAAAI,EAAW,GAAGT,GAA6B,CACnF,OACEM,MAAC,OAAI,UAAWK,EAAAA,GAAG,8BAA+BF,CAAS,EAAI,GAAGT,EAC/D,SAAAK,EACH,CAEJ,CCNO,SAASU,EAAgB,CAAE,SAAAV,EAAU,UAAAI,EAAW,GAAGT,GAA+B,CACvF,OACEM,EAAAA,IAAC,SAAA,CACC,UAAWK,EAAAA,GACT,2EACAF,CAAA,EAEF,YAAU,oBACT,GAAGT,EAEH,SAAAK,CAAA,CAAA,CAGP,CCZO,SAASW,EAAe,CAAE,SAAAX,EAAU,UAAAI,EAAW,GAAGT,GAA8B,CACrF,OACEM,EAAAA,IAACW,EAAAA,MAAA,CACC,UAAWN,EAAAA,GACT,4KACAF,CAAA,EAEF,YAAU,mBACT,GAAGT,EAEH,SAAAK,CAAA,CAAA,CAGP,CCbO,SAASa,EAAe,CAAE,SAAAb,EAAU,UAAAI,EAAW,GAAGT,GAA8B,CACrF,OACEM,MAACa,EAAAA,MAAA,CAAa,UAAWR,EAAAA,GAAGF,CAAS,EAAG,YAAU,mBAAoB,GAAGT,EACtE,SAAAK,CAAA,CACH,CAEJ"}
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
import { jsx as n } from "react/jsx-runtime";
|
|
2
|
+
import { R as i, T as l, P as r, O as s, C as d, a as f, b as c } from "./index-ChSlzMYI.js";
|
|
3
|
+
import { c as o } from "./utils-BOGlfttm.js";
|
|
4
|
+
function g({ ...e }) {
|
|
5
|
+
return /* @__PURE__ */ n(i, { "data-slot": "side-panel-root", ...e });
|
|
6
|
+
}
|
|
7
|
+
function x({ ...e }) {
|
|
8
|
+
return /* @__PURE__ */ n(l, { "data-slot": "side-panel-trigger", ...e });
|
|
9
|
+
}
|
|
10
|
+
function v({ children: e, ...a }) {
|
|
11
|
+
return /* @__PURE__ */ n(r, { "data-slot": "side-panel-portal", ...a, children: e });
|
|
12
|
+
}
|
|
13
|
+
function y({ children: e, className: a, ...t }) {
|
|
14
|
+
return /* @__PURE__ */ n(
|
|
15
|
+
s,
|
|
16
|
+
{
|
|
17
|
+
className: o(
|
|
18
|
+
"fixed inset-0 z-30 overflow-hidden bg-[var(--side-panel-overlay-background,color-mix(in_oklab,hsl(var(--foreground))_50%,transparent))] @container",
|
|
19
|
+
a
|
|
20
|
+
),
|
|
21
|
+
"data-slot": "side-panel-overlay",
|
|
22
|
+
...t,
|
|
23
|
+
children: e
|
|
24
|
+
}
|
|
25
|
+
);
|
|
26
|
+
}
|
|
27
|
+
function b({ children: e, className: a, ...t }) {
|
|
28
|
+
return /* @__PURE__ */ n(
|
|
29
|
+
d,
|
|
30
|
+
{
|
|
31
|
+
className: o(
|
|
32
|
+
"fixed inset-y-0 right-0 flex w-96 max-w-full flex-col bg-[var(--side-panel-background,hsl(var(--background)))] font-[var(--side-panel-content-font-family,var(--font-family-body))] transition duration-500 [animation-timing-function:cubic-bezier(0.25,1,0,1)] data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:slide-out-to-right data-[state=open]:slide-in-from-right",
|
|
33
|
+
a
|
|
34
|
+
),
|
|
35
|
+
"data-slot": "side-panel-content",
|
|
36
|
+
...t,
|
|
37
|
+
children: e
|
|
38
|
+
}
|
|
39
|
+
);
|
|
40
|
+
}
|
|
41
|
+
function P({ children: e, className: a, ...t }) {
|
|
42
|
+
return /* @__PURE__ */ n("div", { className: o("px-6 pb-6 @md:px-8 @md:pb-8", a), ...t, children: e });
|
|
43
|
+
}
|
|
44
|
+
function h({ children: e, className: a, ...t }) {
|
|
45
|
+
return /* @__PURE__ */ n(
|
|
46
|
+
"header",
|
|
47
|
+
{
|
|
48
|
+
className: o(
|
|
49
|
+
"flex items-center justify-between gap-2 px-6 pb-4 pt-4 @md:px-8 @md:pt-7",
|
|
50
|
+
a
|
|
51
|
+
),
|
|
52
|
+
"data-slot": "side-panel-header",
|
|
53
|
+
...t,
|
|
54
|
+
children: e
|
|
55
|
+
}
|
|
56
|
+
);
|
|
57
|
+
}
|
|
58
|
+
function S({ children: e, className: a, ...t }) {
|
|
59
|
+
return /* @__PURE__ */ n(
|
|
60
|
+
f,
|
|
61
|
+
{
|
|
62
|
+
className: o(
|
|
63
|
+
"text-2xl font-medium text-[var(--side-panel-title-text,hsl(var(--foreground)))] [font-family:var(--side-panel-title-font-family,var(--font-family-heading))] @lg:text-3xl",
|
|
64
|
+
a
|
|
65
|
+
),
|
|
66
|
+
"data-slot": "side-panel-title",
|
|
67
|
+
...t,
|
|
68
|
+
children: e
|
|
69
|
+
}
|
|
70
|
+
);
|
|
71
|
+
}
|
|
72
|
+
function C({ children: e, className: a, ...t }) {
|
|
73
|
+
return /* @__PURE__ */ n(c, { className: o(a), "data-slot": "side-panel-close", ...t, children: e });
|
|
74
|
+
}
|
|
75
|
+
export {
|
|
76
|
+
P as Body,
|
|
77
|
+
C as Close,
|
|
78
|
+
b as Content,
|
|
79
|
+
h as Header,
|
|
80
|
+
y as Overlay,
|
|
81
|
+
v as Portal,
|
|
82
|
+
g as Root,
|
|
83
|
+
S as Title,
|
|
84
|
+
x as Trigger
|
|
85
|
+
};
|
|
86
|
+
//# sourceMappingURL=side-panel.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"side-panel.js","sources":["../src/components/side-panel/primitives/side-panel-root.tsx","../src/components/side-panel/primitives/side-panel-trigger.tsx","../src/components/side-panel/primitives/side-panel-portal.tsx","../src/components/side-panel/primitives/side-panel-overlay.tsx","../src/components/side-panel/primitives/side-panel-content.tsx","../src/components/side-panel/primitives/side-panel-body.tsx","../src/components/side-panel/primitives/side-panel-header.tsx","../src/components/side-panel/primitives/side-panel-title.tsx","../src/components/side-panel/primitives/side-panel-close.tsx"],"sourcesContent":["import * as Dialog from '@radix-ui/react-dialog';\nimport type { ComponentProps } from 'react';\n\nexport type SidePanelRootProps = ComponentProps<typeof Dialog.Root>;\n\nexport function SidePanelRoot({ ...props }: SidePanelRootProps) {\n return <Dialog.Root data-slot=\"side-panel-root\" {...props} />;\n}\n","import * as Dialog from '@radix-ui/react-dialog';\nimport type { ComponentProps } from 'react';\n\nexport type SidePanelTriggerProps = ComponentProps<typeof Dialog.Trigger>;\n\nexport function SidePanelTrigger({ ...props }: SidePanelTriggerProps) {\n return <Dialog.Trigger data-slot=\"side-panel-trigger\" {...props} />;\n}\n","'use client';\n\nimport * as Dialog from '@radix-ui/react-dialog';\nimport type { ComponentProps } from 'react';\n\nexport type SidePanelPortalProps = ComponentProps<typeof Dialog.Portal>;\n\nexport function SidePanelPortal({ children, ...props }: SidePanelPortalProps) {\n return (\n <Dialog.Portal data-slot=\"side-panel-portal\" {...props}>\n {children}\n </Dialog.Portal>\n );\n}\n","import * as Dialog from '@radix-ui/react-dialog';\nimport type { ComponentProps } from 'react';\n\nimport { cn } from '@/lib';\n\nexport type SidePanelOverlayProps = ComponentProps<typeof Dialog.Overlay>;\n\nexport function SidePanelOverlay({ children, className, ...props }: SidePanelOverlayProps) {\n return (\n <Dialog.Overlay\n className={cn(\n 'fixed inset-0 z-30 overflow-hidden bg-[var(--side-panel-overlay-background,color-mix(in_oklab,hsl(var(--foreground))_50%,transparent))] @container',\n className,\n )}\n data-slot=\"side-panel-overlay\"\n {...props}\n >\n {children}\n </Dialog.Overlay>\n );\n}\n","'use client';\n\nimport * as Dialog from '@radix-ui/react-dialog';\nimport type { ComponentProps } from 'react';\n\nimport { cn } from '@/lib';\n\nexport type SidePanelContentProps = ComponentProps<typeof Dialog.Content>;\n\nexport function SidePanelContent({ children, className, ...props }: SidePanelContentProps) {\n return (\n <Dialog.Content\n className={cn(\n 'fixed inset-y-0 right-0 flex w-96 max-w-full flex-col bg-[var(--side-panel-background,hsl(var(--background)))] font-[var(--side-panel-content-font-family,var(--font-family-body))] transition duration-500 [animation-timing-function:cubic-bezier(0.25,1,0,1)] data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:slide-out-to-right data-[state=open]:slide-in-from-right',\n className,\n )}\n data-slot=\"side-panel-content\"\n {...props}\n >\n {children}\n </Dialog.Content>\n );\n}\n","import type { ComponentProps } from 'react';\n\nimport { cn } from '@/lib';\n\nexport type SidePanelBodyProps = ComponentProps<'div'>;\n\nexport function SidePanelBody({ children, className, ...props }: SidePanelBodyProps) {\n return (\n <div className={cn('px-6 pb-6 @md:px-8 @md:pb-8', className)} {...props}>\n {children}\n </div>\n );\n}\n","import type { ComponentProps } from 'react';\n\nimport { cn } from '@/lib';\n\nexport type SidePanelHeaderProps = ComponentProps<'div'>;\n\nexport function SidePanelHeader({ children, className, ...props }: SidePanelHeaderProps) {\n return (\n <header\n className={cn(\n 'flex items-center justify-between gap-2 px-6 pb-4 pt-4 @md:px-8 @md:pt-7',\n className,\n )}\n data-slot=\"side-panel-header\"\n {...props}\n >\n {children}\n </header>\n );\n}\n","import * as Dialog from '@radix-ui/react-dialog';\nimport type { ComponentProps } from 'react';\n\nimport { cn } from '@/lib';\n\nexport type SidePanelTitleProps = ComponentProps<typeof Dialog.Title>;\n\nexport function SidePanelTitle({ children, className, ...props }: SidePanelTitleProps) {\n return (\n <Dialog.Title\n className={cn(\n 'text-2xl font-medium text-[var(--side-panel-title-text,hsl(var(--foreground)))] [font-family:var(--side-panel-title-font-family,var(--font-family-heading))] @lg:text-3xl',\n className,\n )}\n data-slot=\"side-panel-title\"\n {...props}\n >\n {children}\n </Dialog.Title>\n );\n}\n","import * as Dialog from '@radix-ui/react-dialog';\nimport type { ComponentProps } from 'react';\n\nimport { cn } from '@/lib';\n\nexport type SidePanelCloseProps = ComponentProps<typeof Dialog.Close>;\n\nexport function SidePanelClose({ children, className, ...props }: SidePanelCloseProps) {\n return (\n <Dialog.Close className={cn(className)} data-slot=\"side-panel-close\" {...props}>\n {children}\n </Dialog.Close>\n );\n}\n"],"names":["SidePanelRoot","props","Dialog.Root","SidePanelTrigger","Dialog.Trigger","SidePanelPortal","children","jsx","Dialog.Portal","SidePanelOverlay","className","Dialog.Overlay","cn","SidePanelContent","Dialog.Content","SidePanelBody","SidePanelHeader","SidePanelTitle","Dialog.Title","SidePanelClose","Dialog.Close"],"mappings":";;;AAKO,SAASA,EAAc,EAAE,GAAGC,KAA6B;AAC9D,2BAAQC,GAAA,EAAY,aAAU,mBAAmB,GAAGD,GAAO;AAC7D;ACFO,SAASE,EAAiB,EAAE,GAAGF,KAAgC;AACpE,2BAAQG,GAAA,EAAe,aAAU,sBAAsB,GAAGH,GAAO;AACnE;ACAO,SAASI,EAAgB,EAAE,UAAAC,GAAU,GAAGL,KAA+B;AAC5E,SACE,gBAAAM,EAACC,GAAA,EAAc,aAAU,qBAAqB,GAAGP,GAC9C,UAAAK,GACH;AAEJ;ACNO,SAASG,EAAiB,EAAE,UAAAH,GAAU,WAAAI,GAAW,GAAGT,KAAgC;AACzF,SACE,gBAAAM;AAAA,IAACI;AAAAA,IAAA;AAAA,MACC,WAAWC;AAAA,QACT;AAAA,QACAF;AAAA,MAAA;AAAA,MAEF,aAAU;AAAA,MACT,GAAGT;AAAA,MAEH,UAAAK;AAAA,IAAA;AAAA,EAAA;AAGP;ACXO,SAASO,EAAiB,EAAE,UAAAP,GAAU,WAAAI,GAAW,GAAGT,KAAgC;AACzF,SACE,gBAAAM;AAAA,IAACO;AAAAA,IAAA;AAAA,MACC,WAAWF;AAAA,QACT;AAAA,QACAF;AAAA,MAAA;AAAA,MAEF,aAAU;AAAA,MACT,GAAGT;AAAA,MAEH,UAAAK;AAAA,IAAA;AAAA,EAAA;AAGP;AChBO,SAASS,EAAc,EAAE,UAAAT,GAAU,WAAAI,GAAW,GAAGT,KAA6B;AACnF,SACE,gBAAAM,EAAC,SAAI,WAAWK,EAAG,+BAA+BF,CAAS,GAAI,GAAGT,GAC/D,UAAAK,GACH;AAEJ;ACNO,SAASU,EAAgB,EAAE,UAAAV,GAAU,WAAAI,GAAW,GAAGT,KAA+B;AACvF,SACE,gBAAAM;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,WAAWK;AAAA,QACT;AAAA,QACAF;AAAA,MAAA;AAAA,MAEF,aAAU;AAAA,MACT,GAAGT;AAAA,MAEH,UAAAK;AAAA,IAAA;AAAA,EAAA;AAGP;ACZO,SAASW,EAAe,EAAE,UAAAX,GAAU,WAAAI,GAAW,GAAGT,KAA8B;AACrF,SACE,gBAAAM;AAAA,IAACW;AAAAA,IAAA;AAAA,MACC,WAAWN;AAAA,QACT;AAAA,QACAF;AAAA,MAAA;AAAA,MAEF,aAAU;AAAA,MACT,GAAGT;AAAA,MAEH,UAAAK;AAAA,IAAA;AAAA,EAAA;AAGP;ACbO,SAASa,EAAe,EAAE,UAAAb,GAAU,WAAAI,GAAW,GAAGT,KAA8B;AACrF,SACE,gBAAAM,EAACa,GAAA,EAAa,WAAWR,EAAGF,CAAS,GAAG,aAAU,oBAAoB,GAAGT,GACtE,UAAAK,EAAA,CACH;AAEJ;"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "commerce-toolkit",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.1",
|
|
4
4
|
"description": "A collection of modern, accessible commerce UI components",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/index.cjs",
|
|
@@ -237,6 +237,16 @@
|
|
|
237
237
|
"default": "./dist/scroll-area.cjs"
|
|
238
238
|
}
|
|
239
239
|
},
|
|
240
|
+
"./side-panel": {
|
|
241
|
+
"import": {
|
|
242
|
+
"types": "./dist/components/side-panel/primitives.d.ts",
|
|
243
|
+
"default": "./dist/side-panel.js"
|
|
244
|
+
},
|
|
245
|
+
"require": {
|
|
246
|
+
"types": "./dist/components/side-panel/primitives.d.ts",
|
|
247
|
+
"default": "./dist/side-panel.cjs"
|
|
248
|
+
}
|
|
249
|
+
},
|
|
240
250
|
"./skeleton": {
|
|
241
251
|
"import": {
|
|
242
252
|
"types": "./dist/components/skeleton/primitives.d.ts",
|