lizaui 9.0.11 → 9.0.12

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.
Files changed (73) hide show
  1. package/dist/button/index.es.js +1 -1
  2. package/dist/calendar/index.es.js +1 -1
  3. package/dist/checkbox/index.es.js +1 -1
  4. package/dist/chunks/{button-B0fpJrMg.js → button-CA3Y2GZ1.js} +2 -2
  5. package/dist/chunks/{button-B0fpJrMg.js.map → button-CA3Y2GZ1.js.map} +1 -1
  6. package/dist/chunks/{checkbox-C1Sssumg.js → checkbox-qzZKMLRN.js} +2 -2
  7. package/dist/chunks/{checkbox-C1Sssumg.js.map → checkbox-qzZKMLRN.js.map} +1 -1
  8. package/dist/chunks/{floating-ui.dom-DsMDyTcd.js → floating-ui.dom-N5ROFCJy.js} +1 -10
  9. package/dist/chunks/{floating-ui.dom-DsMDyTcd.js.map → floating-ui.dom-N5ROFCJy.js.map} +1 -1
  10. package/dist/chunks/{floating-ui.dom-Bd-QJw02.js → floating-ui.dom-NqZWWqNg.js} +4 -13
  11. package/dist/chunks/{floating-ui.dom-Bd-QJw02.js.map → floating-ui.dom-NqZWWqNg.js.map} +1 -1
  12. package/dist/chunks/index-CuySPbdY.js +559 -0
  13. package/dist/chunks/index-CuySPbdY.js.map +1 -0
  14. package/dist/chunks/index-DBDBh58Q.js +575 -0
  15. package/dist/chunks/index-DBDBh58Q.js.map +1 -0
  16. package/dist/chunks/index-DNSql2gU.js +662 -0
  17. package/dist/chunks/index-DNSql2gU.js.map +1 -0
  18. package/dist/chunks/{index-B4RTH1-D.js → index-DiC9dI6_.js} +4 -4
  19. package/dist/chunks/{index-B4RTH1-D.js.map → index-DiC9dI6_.js.map} +1 -1
  20. package/dist/chunks/index-DlZi5TkN.js +646 -0
  21. package/dist/chunks/index-DlZi5TkN.js.map +1 -0
  22. package/dist/chunks/{scroll-area-C0NhSIO2.js → scroll-area-BboZbU1u.js} +27 -27
  23. package/dist/chunks/{scroll-area-C0NhSIO2.js.map → scroll-area-BboZbU1u.js.map} +1 -1
  24. package/dist/chunks/{scroll-area-JgKF61tc.js → scroll-area-DKkgpH-S.js} +3 -3
  25. package/dist/chunks/{scroll-area-JgKF61tc.js.map → scroll-area-DKkgpH-S.js.map} +1 -1
  26. package/dist/chunks/{select-DGnc8VJi.js → select-MSYUKpRI.js} +83 -439
  27. package/dist/chunks/select-MSYUKpRI.js.map +1 -0
  28. package/dist/chunks/{select-Dpyj5dUk.js → select-s-z596Y4.js} +10 -366
  29. package/dist/chunks/select-s-z596Y4.js.map +1 -0
  30. package/dist/chunks/{textarea-D2_KC-J4.js → textarea-By2Vv44z.js} +36 -587
  31. package/dist/chunks/textarea-By2Vv44z.js.map +1 -0
  32. package/dist/chunks/{textarea-_HQpXiCX.js → textarea-ClJsk9Gp.js} +35 -586
  33. package/dist/chunks/textarea-ClJsk9Gp.js.map +1 -0
  34. package/dist/chunks/tooltip-BP--5Wj2.js +525 -0
  35. package/dist/chunks/tooltip-BP--5Wj2.js.map +1 -0
  36. package/dist/chunks/tooltip-KggPQa5m.js +541 -0
  37. package/dist/chunks/tooltip-KggPQa5m.js.map +1 -0
  38. package/dist/components/tooltip/tooltip-nice.d.ts +11 -0
  39. package/dist/components/tooltip/tooltip-nice.d.ts.map +1 -0
  40. package/dist/components/tooltip/tooltip.d.ts.map +1 -1
  41. package/dist/components/ui/tooltip.d.ts +8 -0
  42. package/dist/components/ui/tooltip.d.ts.map +1 -0
  43. package/dist/divider/index.es.js +1 -1
  44. package/dist/modal/index.es.js +1 -1
  45. package/dist/pagination/index.cjs.js +2 -2
  46. package/dist/pagination/index.es.js +3 -3
  47. package/dist/phone-input/index.cjs.js +2 -2
  48. package/dist/phone-input/index.es.js +3 -3
  49. package/dist/select-input/index.cjs.js +1 -1
  50. package/dist/select-input/index.es.js +2 -2
  51. package/dist/table/index.cjs.js +1 -1
  52. package/dist/table/index.es.js +2 -2
  53. package/dist/time-input/index.cjs.js +1 -1
  54. package/dist/time-input/index.es.js +2 -2
  55. package/dist/tooltip/index.cjs.js +1 -1
  56. package/dist/tooltip/index.es.js +1 -1
  57. package/dist/ui/index.cjs.js +292 -290
  58. package/dist/ui/index.cjs.js.map +1 -1
  59. package/dist/ui/index.es.js +182 -180
  60. package/dist/ui/index.es.js.map +1 -1
  61. package/package.json +10 -9
  62. package/dist/chunks/floating-ui.react-dom-CjlUwp8V.js +0 -294
  63. package/dist/chunks/floating-ui.react-dom-CjlUwp8V.js.map +0 -1
  64. package/dist/chunks/floating-ui.react-dom-D5BI9L2i.js +0 -310
  65. package/dist/chunks/floating-ui.react-dom-D5BI9L2i.js.map +0 -1
  66. package/dist/chunks/select-DGnc8VJi.js.map +0 -1
  67. package/dist/chunks/select-Dpyj5dUk.js.map +0 -1
  68. package/dist/chunks/textarea-D2_KC-J4.js.map +0 -1
  69. package/dist/chunks/textarea-_HQpXiCX.js.map +0 -1
  70. package/dist/chunks/tooltip-GGFk8ALK.js +0 -1402
  71. package/dist/chunks/tooltip-GGFk8ALK.js.map +0 -1
  72. package/dist/chunks/tooltip-JwIbppjO.js +0 -1387
  73. package/dist/chunks/tooltip-JwIbppjO.js.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index-DlZi5TkN.js","sources":["../../node_modules/.pnpm/@floating-ui+react-dom@2.1.6_react-dom@19.1.1_react@19.1.1__react@19.1.1/node_modules/@floating-ui/react-dom/dist/floating-ui.react-dom.mjs","../../node_modules/.pnpm/@radix-ui+react-arrow@1.1.7_@types+react-dom@19.1.9_@types+react@19.1.14__@types+react@19.1.1_d4etfnq6joiecglesvks67lpgq/node_modules/@radix-ui/react-arrow/dist/index.mjs","../../node_modules/.pnpm/@radix-ui+react-use-size@1.1.1_@types+react@19.1.14_react@19.1.1/node_modules/@radix-ui/react-use-size/dist/index.mjs","../../node_modules/.pnpm/@radix-ui+react-popper@1.2.8_@types+react-dom@19.1.9_@types+react@19.1.14__@types+react@19.1._4fl5h42kf4folyx4yltfmr6ymu/node_modules/@radix-ui/react-popper/dist/index.mjs","../../node_modules/.pnpm/@radix-ui+react-visually-hidden@1.2.3_@types+react-dom@19.1.9_@types+react@19.1.14__@types+re_qqky2bv222tjx6gvlsshftilae/node_modules/@radix-ui/react-visually-hidden/dist/index.mjs"],"sourcesContent":["import { computePosition, arrow as arrow$2, autoPlacement as autoPlacement$1, flip as flip$1, hide as hide$1, inline as inline$1, limitShift as limitShift$1, offset as offset$1, shift as shift$1, size as size$1 } from '@floating-ui/dom';\nexport { autoUpdate, computePosition, detectOverflow, getOverflowAncestors, platform } from '@floating-ui/dom';\nimport * as React from 'react';\nimport { useLayoutEffect } from 'react';\nimport * as ReactDOM from 'react-dom';\n\nvar isClient = typeof document !== 'undefined';\n\nvar noop = function noop() {};\nvar index = isClient ? useLayoutEffect : noop;\n\n// Fork of `fast-deep-equal` that only does the comparisons we need and compares\n// functions\nfunction deepEqual(a, b) {\n if (a === b) {\n return true;\n }\n if (typeof a !== typeof b) {\n return false;\n }\n if (typeof a === 'function' && a.toString() === b.toString()) {\n return true;\n }\n let length;\n let i;\n let keys;\n if (a && b && typeof a === 'object') {\n if (Array.isArray(a)) {\n length = a.length;\n if (length !== b.length) return false;\n for (i = length; i-- !== 0;) {\n if (!deepEqual(a[i], b[i])) {\n return false;\n }\n }\n return true;\n }\n keys = Object.keys(a);\n length = keys.length;\n if (length !== Object.keys(b).length) {\n return false;\n }\n for (i = length; i-- !== 0;) {\n if (!{}.hasOwnProperty.call(b, keys[i])) {\n return false;\n }\n }\n for (i = length; i-- !== 0;) {\n const key = keys[i];\n if (key === '_owner' && a.$$typeof) {\n continue;\n }\n if (!deepEqual(a[key], b[key])) {\n return false;\n }\n }\n return true;\n }\n return a !== a && b !== b;\n}\n\nfunction getDPR(element) {\n if (typeof window === 'undefined') {\n return 1;\n }\n const win = element.ownerDocument.defaultView || window;\n return win.devicePixelRatio || 1;\n}\n\nfunction roundByDPR(element, value) {\n const dpr = getDPR(element);\n return Math.round(value * dpr) / dpr;\n}\n\nfunction useLatestRef(value) {\n const ref = React.useRef(value);\n index(() => {\n ref.current = value;\n });\n return ref;\n}\n\n/**\n * Provides data to position a floating element.\n * @see https://floating-ui.com/docs/useFloating\n */\nfunction useFloating(options) {\n if (options === void 0) {\n options = {};\n }\n const {\n placement = 'bottom',\n strategy = 'absolute',\n middleware = [],\n platform,\n elements: {\n reference: externalReference,\n floating: externalFloating\n } = {},\n transform = true,\n whileElementsMounted,\n open\n } = options;\n const [data, setData] = React.useState({\n x: 0,\n y: 0,\n strategy,\n placement,\n middlewareData: {},\n isPositioned: false\n });\n const [latestMiddleware, setLatestMiddleware] = React.useState(middleware);\n if (!deepEqual(latestMiddleware, middleware)) {\n setLatestMiddleware(middleware);\n }\n const [_reference, _setReference] = React.useState(null);\n const [_floating, _setFloating] = React.useState(null);\n const setReference = React.useCallback(node => {\n if (node !== referenceRef.current) {\n referenceRef.current = node;\n _setReference(node);\n }\n }, []);\n const setFloating = React.useCallback(node => {\n if (node !== floatingRef.current) {\n floatingRef.current = node;\n _setFloating(node);\n }\n }, []);\n const referenceEl = externalReference || _reference;\n const floatingEl = externalFloating || _floating;\n const referenceRef = React.useRef(null);\n const floatingRef = React.useRef(null);\n const dataRef = React.useRef(data);\n const hasWhileElementsMounted = whileElementsMounted != null;\n const whileElementsMountedRef = useLatestRef(whileElementsMounted);\n const platformRef = useLatestRef(platform);\n const openRef = useLatestRef(open);\n const update = React.useCallback(() => {\n if (!referenceRef.current || !floatingRef.current) {\n return;\n }\n const config = {\n placement,\n strategy,\n middleware: latestMiddleware\n };\n if (platformRef.current) {\n config.platform = platformRef.current;\n }\n computePosition(referenceRef.current, floatingRef.current, config).then(data => {\n const fullData = {\n ...data,\n // The floating element's position may be recomputed while it's closed\n // but still mounted (such as when transitioning out). To ensure\n // `isPositioned` will be `false` initially on the next open, avoid\n // setting it to `true` when `open === false` (must be specified).\n isPositioned: openRef.current !== false\n };\n if (isMountedRef.current && !deepEqual(dataRef.current, fullData)) {\n dataRef.current = fullData;\n ReactDOM.flushSync(() => {\n setData(fullData);\n });\n }\n });\n }, [latestMiddleware, placement, strategy, platformRef, openRef]);\n index(() => {\n if (open === false && dataRef.current.isPositioned) {\n dataRef.current.isPositioned = false;\n setData(data => ({\n ...data,\n isPositioned: false\n }));\n }\n }, [open]);\n const isMountedRef = React.useRef(false);\n index(() => {\n isMountedRef.current = true;\n return () => {\n isMountedRef.current = false;\n };\n }, []);\n index(() => {\n if (referenceEl) referenceRef.current = referenceEl;\n if (floatingEl) floatingRef.current = floatingEl;\n if (referenceEl && floatingEl) {\n if (whileElementsMountedRef.current) {\n return whileElementsMountedRef.current(referenceEl, floatingEl, update);\n }\n update();\n }\n }, [referenceEl, floatingEl, update, whileElementsMountedRef, hasWhileElementsMounted]);\n const refs = React.useMemo(() => ({\n reference: referenceRef,\n floating: floatingRef,\n setReference,\n setFloating\n }), [setReference, setFloating]);\n const elements = React.useMemo(() => ({\n reference: referenceEl,\n floating: floatingEl\n }), [referenceEl, floatingEl]);\n const floatingStyles = React.useMemo(() => {\n const initialStyles = {\n position: strategy,\n left: 0,\n top: 0\n };\n if (!elements.floating) {\n return initialStyles;\n }\n const x = roundByDPR(elements.floating, data.x);\n const y = roundByDPR(elements.floating, data.y);\n if (transform) {\n return {\n ...initialStyles,\n transform: \"translate(\" + x + \"px, \" + y + \"px)\",\n ...(getDPR(elements.floating) >= 1.5 && {\n willChange: 'transform'\n })\n };\n }\n return {\n position: strategy,\n left: x,\n top: y\n };\n }, [strategy, transform, elements.floating, data.x, data.y]);\n return React.useMemo(() => ({\n ...data,\n update,\n refs,\n elements,\n floatingStyles\n }), [data, update, refs, elements, floatingStyles]);\n}\n\n/**\n * Provides data to position an inner element of the floating element so that it\n * appears centered to the reference element.\n * This wraps the core `arrow` middleware to allow React refs as the element.\n * @see https://floating-ui.com/docs/arrow\n */\nconst arrow$1 = options => {\n function isRef(value) {\n return {}.hasOwnProperty.call(value, 'current');\n }\n return {\n name: 'arrow',\n options,\n fn(state) {\n const {\n element,\n padding\n } = typeof options === 'function' ? options(state) : options;\n if (element && isRef(element)) {\n if (element.current != null) {\n return arrow$2({\n element: element.current,\n padding\n }).fn(state);\n }\n return {};\n }\n if (element) {\n return arrow$2({\n element,\n padding\n }).fn(state);\n }\n return {};\n }\n };\n};\n\n/**\n * Modifies the placement by translating the floating element along the\n * specified axes.\n * A number (shorthand for `mainAxis` or distance), or an axes configuration\n * object may be passed.\n * @see https://floating-ui.com/docs/offset\n */\nconst offset = (options, deps) => ({\n ...offset$1(options),\n options: [options, deps]\n});\n\n/**\n * Optimizes the visibility of the floating element by shifting it in order to\n * keep it in view when it will overflow the clipping boundary.\n * @see https://floating-ui.com/docs/shift\n */\nconst shift = (options, deps) => ({\n ...shift$1(options),\n options: [options, deps]\n});\n\n/**\n * Built-in `limiter` that will stop `shift()` at a certain point.\n */\nconst limitShift = (options, deps) => ({\n ...limitShift$1(options),\n options: [options, deps]\n});\n\n/**\n * Optimizes the visibility of the floating element by flipping the `placement`\n * in order to keep it in view when the preferred placement(s) will overflow the\n * clipping boundary. Alternative to `autoPlacement`.\n * @see https://floating-ui.com/docs/flip\n */\nconst flip = (options, deps) => ({\n ...flip$1(options),\n options: [options, deps]\n});\n\n/**\n * Provides data that allows you to change the size of the floating element —\n * for instance, prevent it from overflowing the clipping boundary or match the\n * width of the reference element.\n * @see https://floating-ui.com/docs/size\n */\nconst size = (options, deps) => ({\n ...size$1(options),\n options: [options, deps]\n});\n\n/**\n * Optimizes the visibility of the floating element by choosing the placement\n * that has the most space available automatically, without needing to specify a\n * preferred placement. Alternative to `flip`.\n * @see https://floating-ui.com/docs/autoPlacement\n */\nconst autoPlacement = (options, deps) => ({\n ...autoPlacement$1(options),\n options: [options, deps]\n});\n\n/**\n * Provides data to hide the floating element in applicable situations, such as\n * when it is not in the same clipping context as the reference element.\n * @see https://floating-ui.com/docs/hide\n */\nconst hide = (options, deps) => ({\n ...hide$1(options),\n options: [options, deps]\n});\n\n/**\n * Provides improved positioning for inline reference elements that can span\n * over multiple lines, such as hyperlinks or range selections.\n * @see https://floating-ui.com/docs/inline\n */\nconst inline = (options, deps) => ({\n ...inline$1(options),\n options: [options, deps]\n});\n\n/**\n * Provides data to position an inner element of the floating element so that it\n * appears centered to the reference element.\n * This wraps the core `arrow` middleware to allow React refs as the element.\n * @see https://floating-ui.com/docs/arrow\n */\nconst arrow = (options, deps) => ({\n ...arrow$1(options),\n options: [options, deps]\n});\n\nexport { arrow, autoPlacement, flip, hide, inline, limitShift, offset, shift, size, useFloating };\n","// src/arrow.tsx\nimport * as React from \"react\";\nimport { Primitive } from \"@radix-ui/react-primitive\";\nimport { jsx } from \"react/jsx-runtime\";\nvar NAME = \"Arrow\";\nvar Arrow = React.forwardRef((props, forwardedRef) => {\n const { children, width = 10, height = 5, ...arrowProps } = props;\n return /* @__PURE__ */ jsx(\n Primitive.svg,\n {\n ...arrowProps,\n ref: forwardedRef,\n width,\n height,\n viewBox: \"0 0 30 10\",\n preserveAspectRatio: \"none\",\n children: props.asChild ? children : /* @__PURE__ */ jsx(\"polygon\", { points: \"0,0 30,0 15,10\" })\n }\n );\n});\nArrow.displayName = NAME;\nvar Root = Arrow;\nexport {\n Arrow,\n Root\n};\n//# sourceMappingURL=index.mjs.map\n","// packages/react/use-size/src/use-size.tsx\nimport * as React from \"react\";\nimport { useLayoutEffect } from \"@radix-ui/react-use-layout-effect\";\nfunction useSize(element) {\n const [size, setSize] = React.useState(void 0);\n useLayoutEffect(() => {\n if (element) {\n setSize({ width: element.offsetWidth, height: element.offsetHeight });\n const resizeObserver = new ResizeObserver((entries) => {\n if (!Array.isArray(entries)) {\n return;\n }\n if (!entries.length) {\n return;\n }\n const entry = entries[0];\n let width;\n let height;\n if (\"borderBoxSize\" in entry) {\n const borderSizeEntry = entry[\"borderBoxSize\"];\n const borderSize = Array.isArray(borderSizeEntry) ? borderSizeEntry[0] : borderSizeEntry;\n width = borderSize[\"inlineSize\"];\n height = borderSize[\"blockSize\"];\n } else {\n width = element.offsetWidth;\n height = element.offsetHeight;\n }\n setSize({ width, height });\n });\n resizeObserver.observe(element, { box: \"border-box\" });\n return () => resizeObserver.unobserve(element);\n } else {\n setSize(void 0);\n }\n }, [element]);\n return size;\n}\nexport {\n useSize\n};\n//# sourceMappingURL=index.mjs.map\n","\"use client\";\n\n// src/popper.tsx\nimport * as React from \"react\";\nimport {\n useFloating,\n autoUpdate,\n offset,\n shift,\n limitShift,\n hide,\n arrow as floatingUIarrow,\n flip,\n size\n} from \"@floating-ui/react-dom\";\nimport * as ArrowPrimitive from \"@radix-ui/react-arrow\";\nimport { useComposedRefs } from \"@radix-ui/react-compose-refs\";\nimport { createContextScope } from \"@radix-ui/react-context\";\nimport { Primitive } from \"@radix-ui/react-primitive\";\nimport { useCallbackRef } from \"@radix-ui/react-use-callback-ref\";\nimport { useLayoutEffect } from \"@radix-ui/react-use-layout-effect\";\nimport { useSize } from \"@radix-ui/react-use-size\";\nimport { jsx } from \"react/jsx-runtime\";\nvar SIDE_OPTIONS = [\"top\", \"right\", \"bottom\", \"left\"];\nvar ALIGN_OPTIONS = [\"start\", \"center\", \"end\"];\nvar POPPER_NAME = \"Popper\";\nvar [createPopperContext, createPopperScope] = createContextScope(POPPER_NAME);\nvar [PopperProvider, usePopperContext] = createPopperContext(POPPER_NAME);\nvar Popper = (props) => {\n const { __scopePopper, children } = props;\n const [anchor, setAnchor] = React.useState(null);\n return /* @__PURE__ */ jsx(PopperProvider, { scope: __scopePopper, anchor, onAnchorChange: setAnchor, children });\n};\nPopper.displayName = POPPER_NAME;\nvar ANCHOR_NAME = \"PopperAnchor\";\nvar PopperAnchor = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopePopper, virtualRef, ...anchorProps } = props;\n const context = usePopperContext(ANCHOR_NAME, __scopePopper);\n const ref = React.useRef(null);\n const composedRefs = useComposedRefs(forwardedRef, ref);\n const anchorRef = React.useRef(null);\n React.useEffect(() => {\n const previousAnchor = anchorRef.current;\n anchorRef.current = virtualRef?.current || ref.current;\n if (previousAnchor !== anchorRef.current) {\n context.onAnchorChange(anchorRef.current);\n }\n });\n return virtualRef ? null : /* @__PURE__ */ jsx(Primitive.div, { ...anchorProps, ref: composedRefs });\n }\n);\nPopperAnchor.displayName = ANCHOR_NAME;\nvar CONTENT_NAME = \"PopperContent\";\nvar [PopperContentProvider, useContentContext] = createPopperContext(CONTENT_NAME);\nvar PopperContent = React.forwardRef(\n (props, forwardedRef) => {\n const {\n __scopePopper,\n side = \"bottom\",\n sideOffset = 0,\n align = \"center\",\n alignOffset = 0,\n arrowPadding = 0,\n avoidCollisions = true,\n collisionBoundary = [],\n collisionPadding: collisionPaddingProp = 0,\n sticky = \"partial\",\n hideWhenDetached = false,\n updatePositionStrategy = \"optimized\",\n onPlaced,\n ...contentProps\n } = props;\n const context = usePopperContext(CONTENT_NAME, __scopePopper);\n const [content, setContent] = React.useState(null);\n const composedRefs = useComposedRefs(forwardedRef, (node) => setContent(node));\n const [arrow, setArrow] = React.useState(null);\n const arrowSize = useSize(arrow);\n const arrowWidth = arrowSize?.width ?? 0;\n const arrowHeight = arrowSize?.height ?? 0;\n const desiredPlacement = side + (align !== \"center\" ? \"-\" + align : \"\");\n const collisionPadding = typeof collisionPaddingProp === \"number\" ? collisionPaddingProp : { top: 0, right: 0, bottom: 0, left: 0, ...collisionPaddingProp };\n const boundary = Array.isArray(collisionBoundary) ? collisionBoundary : [collisionBoundary];\n const hasExplicitBoundaries = boundary.length > 0;\n const detectOverflowOptions = {\n padding: collisionPadding,\n boundary: boundary.filter(isNotNull),\n // with `strategy: 'fixed'`, this is the only way to get it to respect boundaries\n altBoundary: hasExplicitBoundaries\n };\n const { refs, floatingStyles, placement, isPositioned, middlewareData } = useFloating({\n // default to `fixed` strategy so users don't have to pick and we also avoid focus scroll issues\n strategy: \"fixed\",\n placement: desiredPlacement,\n whileElementsMounted: (...args) => {\n const cleanup = autoUpdate(...args, {\n animationFrame: updatePositionStrategy === \"always\"\n });\n return cleanup;\n },\n elements: {\n reference: context.anchor\n },\n middleware: [\n offset({ mainAxis: sideOffset + arrowHeight, alignmentAxis: alignOffset }),\n avoidCollisions && shift({\n mainAxis: true,\n crossAxis: false,\n limiter: sticky === \"partial\" ? limitShift() : void 0,\n ...detectOverflowOptions\n }),\n avoidCollisions && flip({ ...detectOverflowOptions }),\n size({\n ...detectOverflowOptions,\n apply: ({ elements, rects, availableWidth, availableHeight }) => {\n const { width: anchorWidth, height: anchorHeight } = rects.reference;\n const contentStyle = elements.floating.style;\n contentStyle.setProperty(\"--radix-popper-available-width\", `${availableWidth}px`);\n contentStyle.setProperty(\"--radix-popper-available-height\", `${availableHeight}px`);\n contentStyle.setProperty(\"--radix-popper-anchor-width\", `${anchorWidth}px`);\n contentStyle.setProperty(\"--radix-popper-anchor-height\", `${anchorHeight}px`);\n }\n }),\n arrow && floatingUIarrow({ element: arrow, padding: arrowPadding }),\n transformOrigin({ arrowWidth, arrowHeight }),\n hideWhenDetached && hide({ strategy: \"referenceHidden\", ...detectOverflowOptions })\n ]\n });\n const [placedSide, placedAlign] = getSideAndAlignFromPlacement(placement);\n const handlePlaced = useCallbackRef(onPlaced);\n useLayoutEffect(() => {\n if (isPositioned) {\n handlePlaced?.();\n }\n }, [isPositioned, handlePlaced]);\n const arrowX = middlewareData.arrow?.x;\n const arrowY = middlewareData.arrow?.y;\n const cannotCenterArrow = middlewareData.arrow?.centerOffset !== 0;\n const [contentZIndex, setContentZIndex] = React.useState();\n useLayoutEffect(() => {\n if (content) setContentZIndex(window.getComputedStyle(content).zIndex);\n }, [content]);\n return /* @__PURE__ */ jsx(\n \"div\",\n {\n ref: refs.setFloating,\n \"data-radix-popper-content-wrapper\": \"\",\n style: {\n ...floatingStyles,\n transform: isPositioned ? floatingStyles.transform : \"translate(0, -200%)\",\n // keep off the page when measuring\n minWidth: \"max-content\",\n zIndex: contentZIndex,\n [\"--radix-popper-transform-origin\"]: [\n middlewareData.transformOrigin?.x,\n middlewareData.transformOrigin?.y\n ].join(\" \"),\n // hide the content if using the hide middleware and should be hidden\n // set visibility to hidden and disable pointer events so the UI behaves\n // as if the PopperContent isn't there at all\n ...middlewareData.hide?.referenceHidden && {\n visibility: \"hidden\",\n pointerEvents: \"none\"\n }\n },\n dir: props.dir,\n children: /* @__PURE__ */ jsx(\n PopperContentProvider,\n {\n scope: __scopePopper,\n placedSide,\n onArrowChange: setArrow,\n arrowX,\n arrowY,\n shouldHideArrow: cannotCenterArrow,\n children: /* @__PURE__ */ jsx(\n Primitive.div,\n {\n \"data-side\": placedSide,\n \"data-align\": placedAlign,\n ...contentProps,\n ref: composedRefs,\n style: {\n ...contentProps.style,\n // if the PopperContent hasn't been placed yet (not all measurements done)\n // we prevent animations so that users's animation don't kick in too early referring wrong sides\n animation: !isPositioned ? \"none\" : void 0\n }\n }\n )\n }\n )\n }\n );\n }\n);\nPopperContent.displayName = CONTENT_NAME;\nvar ARROW_NAME = \"PopperArrow\";\nvar OPPOSITE_SIDE = {\n top: \"bottom\",\n right: \"left\",\n bottom: \"top\",\n left: \"right\"\n};\nvar PopperArrow = React.forwardRef(function PopperArrow2(props, forwardedRef) {\n const { __scopePopper, ...arrowProps } = props;\n const contentContext = useContentContext(ARROW_NAME, __scopePopper);\n const baseSide = OPPOSITE_SIDE[contentContext.placedSide];\n return (\n // we have to use an extra wrapper because `ResizeObserver` (used by `useSize`)\n // doesn't report size as we'd expect on SVG elements.\n // it reports their bounding box which is effectively the largest path inside the SVG.\n /* @__PURE__ */ jsx(\n \"span\",\n {\n ref: contentContext.onArrowChange,\n style: {\n position: \"absolute\",\n left: contentContext.arrowX,\n top: contentContext.arrowY,\n [baseSide]: 0,\n transformOrigin: {\n top: \"\",\n right: \"0 0\",\n bottom: \"center 0\",\n left: \"100% 0\"\n }[contentContext.placedSide],\n transform: {\n top: \"translateY(100%)\",\n right: \"translateY(50%) rotate(90deg) translateX(-50%)\",\n bottom: `rotate(180deg)`,\n left: \"translateY(50%) rotate(-90deg) translateX(50%)\"\n }[contentContext.placedSide],\n visibility: contentContext.shouldHideArrow ? \"hidden\" : void 0\n },\n children: /* @__PURE__ */ jsx(\n ArrowPrimitive.Root,\n {\n ...arrowProps,\n ref: forwardedRef,\n style: {\n ...arrowProps.style,\n // ensures the element can be measured correctly (mostly for if SVG)\n display: \"block\"\n }\n }\n )\n }\n )\n );\n});\nPopperArrow.displayName = ARROW_NAME;\nfunction isNotNull(value) {\n return value !== null;\n}\nvar transformOrigin = (options) => ({\n name: \"transformOrigin\",\n options,\n fn(data) {\n const { placement, rects, middlewareData } = data;\n const cannotCenterArrow = middlewareData.arrow?.centerOffset !== 0;\n const isArrowHidden = cannotCenterArrow;\n const arrowWidth = isArrowHidden ? 0 : options.arrowWidth;\n const arrowHeight = isArrowHidden ? 0 : options.arrowHeight;\n const [placedSide, placedAlign] = getSideAndAlignFromPlacement(placement);\n const noArrowAlign = { start: \"0%\", center: \"50%\", end: \"100%\" }[placedAlign];\n const arrowXCenter = (middlewareData.arrow?.x ?? 0) + arrowWidth / 2;\n const arrowYCenter = (middlewareData.arrow?.y ?? 0) + arrowHeight / 2;\n let x = \"\";\n let y = \"\";\n if (placedSide === \"bottom\") {\n x = isArrowHidden ? noArrowAlign : `${arrowXCenter}px`;\n y = `${-arrowHeight}px`;\n } else if (placedSide === \"top\") {\n x = isArrowHidden ? noArrowAlign : `${arrowXCenter}px`;\n y = `${rects.floating.height + arrowHeight}px`;\n } else if (placedSide === \"right\") {\n x = `${-arrowHeight}px`;\n y = isArrowHidden ? noArrowAlign : `${arrowYCenter}px`;\n } else if (placedSide === \"left\") {\n x = `${rects.floating.width + arrowHeight}px`;\n y = isArrowHidden ? noArrowAlign : `${arrowYCenter}px`;\n }\n return { data: { x, y } };\n }\n});\nfunction getSideAndAlignFromPlacement(placement) {\n const [side, align = \"center\"] = placement.split(\"-\");\n return [side, align];\n}\nvar Root2 = Popper;\nvar Anchor = PopperAnchor;\nvar Content = PopperContent;\nvar Arrow = PopperArrow;\nexport {\n ALIGN_OPTIONS,\n Anchor,\n Arrow,\n Content,\n Popper,\n PopperAnchor,\n PopperArrow,\n PopperContent,\n Root2 as Root,\n SIDE_OPTIONS,\n createPopperScope\n};\n//# sourceMappingURL=index.mjs.map\n","// src/visually-hidden.tsx\nimport * as React from \"react\";\nimport { Primitive } from \"@radix-ui/react-primitive\";\nimport { jsx } from \"react/jsx-runtime\";\nvar VISUALLY_HIDDEN_STYLES = Object.freeze({\n // See: https://github.com/twbs/bootstrap/blob/main/scss/mixins/_visually-hidden.scss\n position: \"absolute\",\n border: 0,\n width: 1,\n height: 1,\n padding: 0,\n margin: -1,\n overflow: \"hidden\",\n clip: \"rect(0, 0, 0, 0)\",\n whiteSpace: \"nowrap\",\n wordWrap: \"normal\"\n});\nvar NAME = \"VisuallyHidden\";\nvar VisuallyHidden = React.forwardRef(\n (props, forwardedRef) => {\n return /* @__PURE__ */ jsx(\n Primitive.span,\n {\n ...props,\n ref: forwardedRef,\n style: { ...VISUALLY_HIDDEN_STYLES, ...props.style }\n }\n );\n }\n);\nVisuallyHidden.displayName = NAME;\nvar Root = VisuallyHidden;\nexport {\n Root,\n VISUALLY_HIDDEN_STYLES,\n VisuallyHidden\n};\n//# sourceMappingURL=index.mjs.map\n"],"names":["noop","data","NAME","Arrow","Root","size","useLayoutEffect","arrow","floatingUIarrow","ArrowPrimitive.Root"],"mappings":"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","x_google_ignoreList":[0,1,2,3,4]}
@@ -2,7 +2,7 @@
2
2
  const index = require("./index-BPW1Qzmi.js");
3
3
  const jsxRuntime = require("react/jsx-runtime");
4
4
  const React = require("react");
5
- const textarea = require("./textarea-D2_KC-J4.js");
5
+ const index$2 = require("./index-DBDBh58Q.js");
6
6
  const index$1 = require("./index-C_sOsPRt.js");
7
7
  const utils = require("./utils-ij3i9zTT.js");
8
8
  function _interopNamespaceDefault(e) {
@@ -34,7 +34,7 @@ function useStateMachine(initialState, machine) {
34
34
  }, initialState);
35
35
  }
36
36
  var SCROLL_AREA_NAME = "ScrollArea";
37
- var [createScrollAreaContext, createScrollAreaScope] = textarea.createContextScope(SCROLL_AREA_NAME);
37
+ var [createScrollAreaContext, createScrollAreaScope] = index$2.createContextScope(SCROLL_AREA_NAME);
38
38
  var [ScrollAreaProvider, useScrollAreaContext] = createScrollAreaContext(SCROLL_AREA_NAME);
39
39
  var ScrollArea$1 = React__namespace.forwardRef(
40
40
  (props, forwardedRef) => {
@@ -79,7 +79,7 @@ var ScrollArea$1 = React__namespace.forwardRef(
79
79
  onCornerWidthChange: setCornerWidth,
80
80
  onCornerHeightChange: setCornerHeight,
81
81
  children: /* @__PURE__ */ jsxRuntime.jsx(
82
- textarea.Primitive.div,
82
+ index$2.Primitive.div,
83
83
  {
84
84
  dir: direction,
85
85
  ...scrollAreaProps,
@@ -116,7 +116,7 @@ var ScrollAreaViewport = React__namespace.forwardRef(
116
116
  }
117
117
  ),
118
118
  /* @__PURE__ */ jsxRuntime.jsx(
119
- textarea.Primitive.div,
119
+ index$2.Primitive.div,
120
120
  {
121
121
  "data-radix-scroll-area-viewport": "",
122
122
  ...viewportProps,
@@ -185,7 +185,7 @@ var ScrollAreaScrollbarHover = React__namespace.forwardRef((props, forwardedRef)
185
185
  };
186
186
  }
187
187
  }, [context.scrollArea, context.scrollHideDelay]);
188
- return /* @__PURE__ */ jsxRuntime.jsx(textarea.Presence, { present: forceMount || visible, children: /* @__PURE__ */ jsxRuntime.jsx(
188
+ return /* @__PURE__ */ jsxRuntime.jsx(index$2.Presence, { present: forceMount || visible, children: /* @__PURE__ */ jsxRuntime.jsx(
189
189
  ScrollAreaScrollbarAuto,
190
190
  {
191
191
  "data-state": visible ? "visible" : "hidden",
@@ -241,14 +241,14 @@ var ScrollAreaScrollbarScroll = React__namespace.forwardRef((props, forwardedRef
241
241
  return () => viewport.removeEventListener("scroll", handleScroll);
242
242
  }
243
243
  }, [context.viewport, isHorizontal, send, debounceScrollEnd]);
244
- return /* @__PURE__ */ jsxRuntime.jsx(textarea.Presence, { present: forceMount || state !== "hidden", children: /* @__PURE__ */ jsxRuntime.jsx(
244
+ return /* @__PURE__ */ jsxRuntime.jsx(index$2.Presence, { present: forceMount || state !== "hidden", children: /* @__PURE__ */ jsxRuntime.jsx(
245
245
  ScrollAreaScrollbarVisible,
246
246
  {
247
247
  "data-state": state === "hidden" ? "hidden" : "visible",
248
248
  ...scrollbarProps,
249
249
  ref: forwardedRef,
250
- onPointerEnter: textarea.composeEventHandlers(props.onPointerEnter, () => send("POINTER_ENTER")),
251
- onPointerLeave: textarea.composeEventHandlers(props.onPointerLeave, () => send("POINTER_LEAVE"))
250
+ onPointerEnter: index$2.composeEventHandlers(props.onPointerEnter, () => send("POINTER_ENTER")),
251
+ onPointerLeave: index$2.composeEventHandlers(props.onPointerLeave, () => send("POINTER_LEAVE"))
252
252
  }
253
253
  ) });
254
254
  });
@@ -266,7 +266,7 @@ var ScrollAreaScrollbarAuto = React__namespace.forwardRef((props, forwardedRef)
266
266
  }, 10);
267
267
  useResizeObserver(context.viewport, handleResize);
268
268
  useResizeObserver(context.content, handleResize);
269
- return /* @__PURE__ */ jsxRuntime.jsx(textarea.Presence, { present: forceMount || visible, children: /* @__PURE__ */ jsxRuntime.jsx(
269
+ return /* @__PURE__ */ jsxRuntime.jsx(index$2.Presence, { present: forceMount || visible, children: /* @__PURE__ */ jsxRuntime.jsx(
270
270
  ScrollAreaScrollbarVisible,
271
271
  {
272
272
  "data-state": visible ? "visible" : "hidden",
@@ -469,8 +469,8 @@ var ScrollAreaScrollbarImpl = React__namespace.forwardRef((props, forwardedRef)
469
469
  const prevWebkitUserSelectRef = React__namespace.useRef("");
470
470
  const viewport = context.viewport;
471
471
  const maxScrollPos = sizes.content - sizes.viewport;
472
- const handleWheelScroll = textarea.useCallbackRef(onWheelScroll);
473
- const handleThumbPositionChange = textarea.useCallbackRef(onThumbPositionChange);
472
+ const handleWheelScroll = index$2.useCallbackRef(onWheelScroll);
473
+ const handleThumbPositionChange = index$2.useCallbackRef(onThumbPositionChange);
474
474
  const handleResize = useDebounceCallback(onResize, 10);
475
475
  function handleDragScroll(event) {
476
476
  if (rectRef.current) {
@@ -497,17 +497,17 @@ var ScrollAreaScrollbarImpl = React__namespace.forwardRef((props, forwardedRef)
497
497
  scope: __scopeScrollArea,
498
498
  scrollbar,
499
499
  hasThumb,
500
- onThumbChange: textarea.useCallbackRef(onThumbChange),
501
- onThumbPointerUp: textarea.useCallbackRef(onThumbPointerUp),
500
+ onThumbChange: index$2.useCallbackRef(onThumbChange),
501
+ onThumbPointerUp: index$2.useCallbackRef(onThumbPointerUp),
502
502
  onThumbPositionChange: handleThumbPositionChange,
503
- onThumbPointerDown: textarea.useCallbackRef(onThumbPointerDown),
503
+ onThumbPointerDown: index$2.useCallbackRef(onThumbPointerDown),
504
504
  children: /* @__PURE__ */ jsxRuntime.jsx(
505
- textarea.Primitive.div,
505
+ index$2.Primitive.div,
506
506
  {
507
507
  ...scrollbarProps,
508
508
  ref: composeRefs,
509
509
  style: { position: "absolute", ...scrollbarProps.style },
510
- onPointerDown: textarea.composeEventHandlers(props.onPointerDown, (event) => {
510
+ onPointerDown: index$2.composeEventHandlers(props.onPointerDown, (event) => {
511
511
  const mainPointer = 0;
512
512
  if (event.button === mainPointer) {
513
513
  const element = event.target;
@@ -519,8 +519,8 @@ var ScrollAreaScrollbarImpl = React__namespace.forwardRef((props, forwardedRef)
519
519
  handleDragScroll(event);
520
520
  }
521
521
  }),
522
- onPointerMove: textarea.composeEventHandlers(props.onPointerMove, handleDragScroll),
523
- onPointerUp: textarea.composeEventHandlers(props.onPointerUp, (event) => {
522
+ onPointerMove: index$2.composeEventHandlers(props.onPointerMove, handleDragScroll),
523
+ onPointerUp: index$2.composeEventHandlers(props.onPointerUp, (event) => {
524
524
  const element = event.target;
525
525
  if (element.hasPointerCapture(event.pointerId)) {
526
526
  element.releasePointerCapture(event.pointerId);
@@ -539,7 +539,7 @@ var ScrollAreaThumb = React__namespace.forwardRef(
539
539
  (props, forwardedRef) => {
540
540
  const { forceMount, ...thumbProps } = props;
541
541
  const scrollbarContext = useScrollbarContext(THUMB_NAME, props.__scopeScrollArea);
542
- return /* @__PURE__ */ jsxRuntime.jsx(textarea.Presence, { present: forceMount || scrollbarContext.hasThumb, children: /* @__PURE__ */ jsxRuntime.jsx(ScrollAreaThumbImpl, { ref: forwardedRef, ...thumbProps }) });
542
+ return /* @__PURE__ */ jsxRuntime.jsx(index$2.Presence, { present: forceMount || scrollbarContext.hasThumb, children: /* @__PURE__ */ jsxRuntime.jsx(ScrollAreaThumbImpl, { ref: forwardedRef, ...thumbProps }) });
543
543
  }
544
544
  );
545
545
  var ScrollAreaThumbImpl = React__namespace.forwardRef(
@@ -576,7 +576,7 @@ var ScrollAreaThumbImpl = React__namespace.forwardRef(
576
576
  }
577
577
  }, [scrollAreaContext.viewport, debounceScrollEnd, onThumbPositionChange]);
578
578
  return /* @__PURE__ */ jsxRuntime.jsx(
579
- textarea.Primitive.div,
579
+ index$2.Primitive.div,
580
580
  {
581
581
  "data-state": scrollbarContext.hasThumb ? "visible" : "hidden",
582
582
  ...thumbProps,
@@ -586,14 +586,14 @@ var ScrollAreaThumbImpl = React__namespace.forwardRef(
586
586
  height: "var(--radix-scroll-area-thumb-height)",
587
587
  ...style
588
588
  },
589
- onPointerDownCapture: textarea.composeEventHandlers(props.onPointerDownCapture, (event) => {
589
+ onPointerDownCapture: index$2.composeEventHandlers(props.onPointerDownCapture, (event) => {
590
590
  const thumb = event.target;
591
591
  const thumbRect = thumb.getBoundingClientRect();
592
592
  const x = event.clientX - thumbRect.left;
593
593
  const y = event.clientY - thumbRect.top;
594
594
  scrollbarContext.onThumbPointerDown({ x, y });
595
595
  }),
596
- onPointerUp: textarea.composeEventHandlers(props.onPointerUp, scrollbarContext.onThumbPointerUp)
596
+ onPointerUp: index$2.composeEventHandlers(props.onPointerUp, scrollbarContext.onThumbPointerUp)
597
597
  }
598
598
  );
599
599
  }
@@ -626,7 +626,7 @@ var ScrollAreaCornerImpl = React__namespace.forwardRef((props, forwardedRef) =>
626
626
  setWidth(width2);
627
627
  });
628
628
  return hasSize ? /* @__PURE__ */ jsxRuntime.jsx(
629
- textarea.Primitive.div,
629
+ index$2.Primitive.div,
630
630
  {
631
631
  ...cornerProps,
632
632
  ref: forwardedRef,
@@ -703,7 +703,7 @@ var addUnlinkedScrollListener = (node, handler = () => {
703
703
  return () => window.cancelAnimationFrame(rAF);
704
704
  };
705
705
  function useDebounceCallback(callback, delay) {
706
- const handleCallback = textarea.useCallbackRef(callback);
706
+ const handleCallback = index$2.useCallbackRef(callback);
707
707
  const debounceTimerRef = React__namespace.useRef(0);
708
708
  React__namespace.useEffect(() => () => window.clearTimeout(debounceTimerRef.current), []);
709
709
  return React__namespace.useCallback(() => {
@@ -712,8 +712,8 @@ function useDebounceCallback(callback, delay) {
712
712
  }, [handleCallback, delay]);
713
713
  }
714
714
  function useResizeObserver(element, onResize) {
715
- const handleResize = textarea.useCallbackRef(onResize);
716
- textarea.useLayoutEffect2(() => {
715
+ const handleResize = index$2.useCallbackRef(onResize);
716
+ index$2.useLayoutEffect2(() => {
717
717
  let rAF = 0;
718
718
  if (element) {
719
719
  const resizeObserver = new ResizeObserver(() => {
@@ -765,4 +765,4 @@ function ScrollBar({ className, orientation = "vertical", ...props }) {
765
765
  exports.ScrollArea = ScrollArea;
766
766
  exports.ScrollBar = ScrollBar;
767
767
  exports.Search = Search;
768
- //# sourceMappingURL=scroll-area-C0NhSIO2.js.map
768
+ //# sourceMappingURL=scroll-area-BboZbU1u.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"scroll-area-C0NhSIO2.js","sources":["../../node_modules/.pnpm/lucide-react@0.544.0_react@19.1.1/node_modules/lucide-react/dist/esm/icons/search.js","../../node_modules/.pnpm/@radix-ui+react-scroll-area@1.2.10_@types+react-dom@19.1.9_@types+react@19.1.14__@types+react_z2arkirdwmqlmflzgtwy7kpgry/node_modules/@radix-ui/react-scroll-area/dist/index.mjs","../../src/components/ui/scroll-area.tsx"],"sourcesContent":["/**\n * @license lucide-react v0.544.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.js';\n\nconst __iconNode = [\n [\"path\", { d: \"m21 21-4.34-4.34\", key: \"14j7rj\" }],\n [\"circle\", { cx: \"11\", cy: \"11\", r: \"8\", key: \"4ej97u\" }]\n];\nconst Search = createLucideIcon(\"search\", __iconNode);\n\nexport { __iconNode, Search as default };\n//# sourceMappingURL=search.js.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","import * as React from \"react\";\nimport * as ScrollAreaPrimitive from \"@radix-ui/react-scroll-area\";\n\nimport { cn } from \"@/lib/utils\";\n\nfunction ScrollArea({ className, children, ...props }: React.ComponentProps<typeof ScrollAreaPrimitive.Root>) {\n\treturn (\n\t\t<ScrollAreaPrimitive.Root data-slot=\"scroll-area\" className={cn(\"relative\", className)} {...props}>\n\t\t\t<ScrollAreaPrimitive.Viewport\n\t\t\t\tdata-slot=\"scroll-area-viewport\"\n\t\t\t\tclassName=\"focus-visible:ring-ring/50 size-full rounded-[inherit] transition-[color,box-shadow] outline-none focus-visible:ring-[3px] focus-visible:outline-1\"\n\t\t\t>\n\t\t\t\t{children}\n\t\t\t</ScrollAreaPrimitive.Viewport>\n\t\t\t<ScrollBar />\n\t\t\t<ScrollAreaPrimitive.Corner />\n\t\t</ScrollAreaPrimitive.Root>\n\t);\n}\n\nfunction ScrollBar({ className, orientation = \"vertical\", ...props }: React.ComponentProps<typeof ScrollAreaPrimitive.ScrollAreaScrollbar>) {\n\treturn (\n\t\t<ScrollAreaPrimitive.ScrollAreaScrollbar\n\t\t\tdata-slot=\"scroll-area-scrollbar\"\n\t\t\torientation={orientation}\n\t\t\tclassName={cn(\n\t\t\t\t\"flex touch-none p-px transition-colors select-none\",\n\t\t\t\torientation === \"vertical\" && \"h-full w-2.5 border-l border-l-transparent\",\n\t\t\t\torientation === \"horizontal\" && \"h-2.5 flex-col border-t border-t-transparent\",\n\t\t\t\tclassName,\n\t\t\t)}\n\t\t\t{...props}\n\t\t>\n\t\t\t<ScrollAreaPrimitive.ScrollAreaThumb data-slot=\"scroll-area-thumb\" className=\"bg-border relative flex-1 rounded-full\" />\n\t\t</ScrollAreaPrimitive.ScrollAreaScrollbar>\n\t);\n}\n\nexport { ScrollArea, ScrollBar };\n"],"names":["createLucideIcon","React","createContextScope","ScrollArea","React2","useComposedRefs","useDirection","jsx","Primitive","jsxs","Fragment","Presence","composeEventHandlers","useCallbackRef","clamp","useLayoutEffect","ScrollAreaPrimitive.Root","cn","ScrollAreaPrimitive.Viewport","ScrollAreaPrimitive.Corner","ScrollAreaPrimitive.ScrollAreaScrollbar","ScrollAreaPrimitive.ScrollAreaThumb"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AASA,MAAM,aAAa;AAAA,EACjB,CAAC,QAAQ,EAAE,GAAG,oBAAoB,KAAK,SAAQ,CAAE;AAAA,EACjD,CAAC,UAAU,EAAE,IAAI,MAAM,IAAI,MAAM,GAAG,KAAK,KAAK,SAAQ,CAAE;AAC1D;AACK,MAAC,SAASA,MAAAA,iBAAiB,UAAU,UAAU;ACGpD,SAAS,gBAAgB,cAAc,SAAS;AAC9C,SAAOC,iBAAM,WAAW,CAAC,OAAO,UAAU;AACxC,UAAM,YAAY,QAAQ,KAAK,EAAE,KAAK;AACtC,WAAO,aAAa;AAAA,EACtB,GAAG,YAAY;AACjB;AAIA,IAAI,mBAAmB;AACvB,IAAI,CAAC,yBAAyB,qBAAqB,IAAIC,SAAAA,mBAAmB,gBAAgB;AAC1F,IAAI,CAAC,oBAAoB,oBAAoB,IAAI,wBAAwB,gBAAgB;AACzF,IAAIC,eAAaC,iBAAO;AAAA,EACtB,CAAC,OAAO,iBAAiB;AACvB,UAAM;AAAA,MACJ;AAAA,MACA,OAAO;AAAA,MACP;AAAA,MACA,kBAAkB;AAAA,MAClB,GAAG;AAAA,IACT,IAAQ;AACJ,UAAM,CAAC,YAAY,aAAa,IAAIA,iBAAO,SAAS,IAAI;AACxD,UAAM,CAAC,UAAU,WAAW,IAAIA,iBAAO,SAAS,IAAI;AACpD,UAAM,CAAC,SAAS,UAAU,IAAIA,iBAAO,SAAS,IAAI;AAClD,UAAM,CAAC,YAAY,aAAa,IAAIA,iBAAO,SAAS,IAAI;AACxD,UAAM,CAAC,YAAY,aAAa,IAAIA,iBAAO,SAAS,IAAI;AACxD,UAAM,CAAC,aAAa,cAAc,IAAIA,iBAAO,SAAS,CAAC;AACvD,UAAM,CAAC,cAAc,eAAe,IAAIA,iBAAO,SAAS,CAAC;AACzD,UAAM,CAAC,mBAAmB,oBAAoB,IAAIA,iBAAO,SAAS,KAAK;AACvE,UAAM,CAAC,mBAAmB,oBAAoB,IAAIA,iBAAO,SAAS,KAAK;AACvE,UAAM,eAAeC,QAAAA,gBAAgB,cAAc,CAAC,SAAS,cAAc,IAAI,CAAC;AAChF,UAAM,YAAYC,MAAAA,aAAa,GAAG;AAClC,WAAuBC,2BAAAA;AAAAA,MACrB;AAAA,MACA;AAAA,QACE,OAAO;AAAA,QACP;AAAA,QACA,KAAK;AAAA,QACL;AAAA,QACA;AAAA,QACA;AAAA,QACA,kBAAkB;AAAA,QAClB;AAAA,QACA,iBAAiB;AAAA,QACjB;AAAA,QACA,oBAAoB;AAAA,QACpB;AAAA,QACA,2BAA2B;AAAA,QAC3B;AAAA,QACA,oBAAoB;AAAA,QACpB;AAAA,QACA,2BAA2B;AAAA,QAC3B,qBAAqB;AAAA,QACrB,sBAAsB;AAAA,QACtB,UAA0BA,2BAAAA;AAAAA,UACxBC,SAAAA,UAAU;AAAA,UACV;AAAA,YACE,KAAK;AAAA,YACL,GAAG;AAAA,YACH,KAAK;AAAA,YACL,OAAO;AAAA,cACL,UAAU;AAAA;AAAA,cAEV,CAAC,kCAAkC,GAAG,cAAc;AAAA,cACpD,CAAC,mCAAmC,GAAG,eAAe;AAAA,cACtD,GAAG,MAAM;AAAA,YACvB;AAAA,UACA;AAAA,QACA;AAAA,MACA;AAAA,IACA;AAAA,EACE;AACF;AACAL,aAAW,cAAc;AACzB,IAAI,gBAAgB;AACpB,IAAI,qBAAqBC,iBAAO;AAAA,EAC9B,CAAC,OAAO,iBAAiB;AACvB,UAAM,EAAE,mBAAmB,UAAU,OAAO,GAAG,cAAa,IAAK;AACjE,UAAM,UAAU,qBAAqB,eAAe,iBAAiB;AACrE,UAAM,MAAMA,iBAAO,OAAO,IAAI;AAC9B,UAAM,eAAeC,QAAAA,gBAAgB,cAAc,KAAK,QAAQ,gBAAgB;AAChF,WAAuBI,2BAAAA,KAAKC,qBAAU,EAAE,UAAU;AAAA,MAChCH,2BAAAA;AAAAA,QACd;AAAA,QACA;AAAA,UACE,yBAAyB;AAAA,YACvB,QAAQ;AAAA,UACpB;AAAA,UACU;AAAA,QACV;AAAA,MACA;AAAA,MACsBA,2BAAAA;AAAAA,QACdC,SAAAA,UAAU;AAAA,QACV;AAAA,UACE,mCAAmC;AAAA,UACnC,GAAG;AAAA,UACH,KAAK;AAAA,UACL,OAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,YAYL,WAAW,QAAQ,oBAAoB,WAAW;AAAA,YAClD,WAAW,QAAQ,oBAAoB,WAAW;AAAA,YAClD,GAAG,MAAM;AAAA,UACrB;AAAA,UACU,UAA0BD,2BAAAA,IAAI,OAAO,EAAE,KAAK,QAAQ,iBAAiB,OAAO,EAAE,UAAU,QAAQ,SAAS,QAAO,GAAI,SAAQ,CAAE;AAAA,QACxI;AAAA,MACA;AAAA,IACA,GAAO;AAAA,EACL;AACF;AACA,mBAAmB,cAAc;AACjC,IAAI,iBAAiB;AACrB,IAAI,sBAAsBH,iBAAO;AAAA,EAC/B,CAAC,OAAO,iBAAiB;AACvB,UAAM,EAAE,YAAY,GAAG,eAAc,IAAK;AAC1C,UAAM,UAAU,qBAAqB,gBAAgB,MAAM,iBAAiB;AAC5E,UAAM,EAAE,2BAA2B,0BAAyB,IAAK;AACjE,UAAM,eAAe,MAAM,gBAAgB;AAC3CA,qBAAO,UAAU,MAAM;AACrB,qBAAe,0BAA0B,IAAI,IAAI,0BAA0B,IAAI;AAC/E,aAAO,MAAM;AACX,uBAAe,0BAA0B,KAAK,IAAI,0BAA0B,KAAK;AAAA,MACnF;AAAA,IACF,GAAG,CAAC,cAAc,2BAA2B,yBAAyB,CAAC;AACvE,WAAO,QAAQ,SAAS,UAA0BG,2BAAAA,IAAI,0BAA0B,EAAE,GAAG,gBAAgB,KAAK,cAAc,WAAU,CAAE,IAAI,QAAQ,SAAS,WAA2BA,2BAAAA,IAAI,2BAA2B,EAAE,GAAG,gBAAgB,KAAK,cAAc,WAAU,CAAE,IAAI,QAAQ,SAAS,SAAyBA,+BAAI,yBAAyB,EAAE,GAAG,gBAAgB,KAAK,cAAc,WAAU,CAAE,IAAI,QAAQ,SAAS,WAA2BA,2BAAAA,IAAI,4BAA4B,EAAE,GAAG,gBAAgB,KAAK,aAAY,CAAE,IAAI;AAAA,EACpgB;AACF;AACA,oBAAoB,cAAc;AAClC,IAAI,2BAA2BH,iBAAO,WAAW,CAAC,OAAO,iBAAiB;AACxE,QAAM,EAAE,YAAY,GAAG,eAAc,IAAK;AAC1C,QAAM,UAAU,qBAAqB,gBAAgB,MAAM,iBAAiB;AAC5E,QAAM,CAAC,SAAS,UAAU,IAAIA,iBAAO,SAAS,KAAK;AACnDA,mBAAO,UAAU,MAAM;AACrB,UAAM,aAAa,QAAQ;AAC3B,QAAI,YAAY;AAChB,QAAI,YAAY;AACd,YAAM,qBAAqB,MAAM;AAC/B,eAAO,aAAa,SAAS;AAC7B,mBAAW,IAAI;AAAA,MACjB;AACA,YAAM,qBAAqB,MAAM;AAC/B,oBAAY,OAAO,WAAW,MAAM,WAAW,KAAK,GAAG,QAAQ,eAAe;AAAA,MAChF;AACA,iBAAW,iBAAiB,gBAAgB,kBAAkB;AAC9D,iBAAW,iBAAiB,gBAAgB,kBAAkB;AAC9D,aAAO,MAAM;AACX,eAAO,aAAa,SAAS;AAC7B,mBAAW,oBAAoB,gBAAgB,kBAAkB;AACjE,mBAAW,oBAAoB,gBAAgB,kBAAkB;AAAA,MACnE;AAAA,IACF;AAAA,EACF,GAAG,CAAC,QAAQ,YAAY,QAAQ,eAAe,CAAC;AAChD,SAAuBG,2BAAAA,IAAII,SAAAA,UAAU,EAAE,SAAS,cAAc,SAAS,UAA0BJ,2BAAAA;AAAAA,IAC/F;AAAA,IACA;AAAA,MACE,cAAc,UAAU,YAAY;AAAA,MACpC,GAAG;AAAA,MACH,KAAK;AAAA,IACX;AAAA,EACA,GAAK;AACL,CAAC;AACD,IAAI,4BAA4BH,iBAAO,WAAW,CAAC,OAAO,iBAAiB;AACzE,QAAM,EAAE,YAAY,GAAG,eAAc,IAAK;AAC1C,QAAM,UAAU,qBAAqB,gBAAgB,MAAM,iBAAiB;AAC5E,QAAM,eAAe,MAAM,gBAAgB;AAC3C,QAAM,oBAAoB,oBAAoB,MAAM,KAAK,YAAY,GAAG,GAAG;AAC3E,QAAM,CAAC,OAAO,IAAI,IAAI,gBAAgB,UAAU;AAAA,IAC9C,QAAQ;AAAA,MACN,QAAQ;AAAA,IACd;AAAA,IACI,WAAW;AAAA,MACT,YAAY;AAAA,MACZ,eAAe;AAAA,IACrB;AAAA,IACI,aAAa;AAAA,MACX,QAAQ;AAAA,MACR,eAAe;AAAA,IACrB;AAAA,IACI,MAAM;AAAA,MACJ,MAAM;AAAA,MACN,QAAQ;AAAA,MACR,eAAe;AAAA,IACrB;AAAA,EACA,CAAG;AACDA,mBAAO,UAAU,MAAM;AACrB,QAAI,UAAU,QAAQ;AACpB,YAAM,YAAY,OAAO,WAAW,MAAM,KAAK,MAAM,GAAG,QAAQ,eAAe;AAC/E,aAAO,MAAM,OAAO,aAAa,SAAS;AAAA,IAC5C;AAAA,EACF,GAAG,CAAC,OAAO,QAAQ,iBAAiB,IAAI,CAAC;AACzCA,mBAAO,UAAU,MAAM;AACrB,UAAM,WAAW,QAAQ;AACzB,UAAM,kBAAkB,eAAe,eAAe;AACtD,QAAI,UAAU;AACZ,UAAI,gBAAgB,SAAS,eAAe;AAC5C,YAAM,eAAe,MAAM;AACzB,cAAM,YAAY,SAAS,eAAe;AAC1C,cAAM,8BAA8B,kBAAkB;AACtD,YAAI,6BAA6B;AAC/B,eAAK,QAAQ;AACb,4BAAiB;AAAA,QACnB;AACA,wBAAgB;AAAA,MAClB;AACA,eAAS,iBAAiB,UAAU,YAAY;AAChD,aAAO,MAAM,SAAS,oBAAoB,UAAU,YAAY;AAAA,IAClE;AAAA,EACF,GAAG,CAAC,QAAQ,UAAU,cAAc,MAAM,iBAAiB,CAAC;AAC5D,SAAuBG,2BAAAA,IAAII,SAAAA,UAAU,EAAE,SAAS,cAAc,UAAU,UAAU,UAA0BJ,2BAAAA;AAAAA,IAC1G;AAAA,IACA;AAAA,MACE,cAAc,UAAU,WAAW,WAAW;AAAA,MAC9C,GAAG;AAAA,MACH,KAAK;AAAA,MACL,gBAAgBK,SAAAA,qBAAqB,MAAM,gBAAgB,MAAM,KAAK,eAAe,CAAC;AAAA,MACtF,gBAAgBA,SAAAA,qBAAqB,MAAM,gBAAgB,MAAM,KAAK,eAAe,CAAC;AAAA,IAC5F;AAAA,EACA,GAAK;AACL,CAAC;AACD,IAAI,0BAA0BR,iBAAO,WAAW,CAAC,OAAO,iBAAiB;AACvE,QAAM,UAAU,qBAAqB,gBAAgB,MAAM,iBAAiB;AAC5E,QAAM,EAAE,YAAY,GAAG,eAAc,IAAK;AAC1C,QAAM,CAAC,SAAS,UAAU,IAAIA,iBAAO,SAAS,KAAK;AACnD,QAAM,eAAe,MAAM,gBAAgB;AAC3C,QAAM,eAAe,oBAAoB,MAAM;AAC7C,QAAI,QAAQ,UAAU;AACpB,YAAM,cAAc,QAAQ,SAAS,cAAc,QAAQ,SAAS;AACpE,YAAM,cAAc,QAAQ,SAAS,eAAe,QAAQ,SAAS;AACrE,iBAAW,eAAe,cAAc,WAAW;AAAA,IACrD;AAAA,EACF,GAAG,EAAE;AACL,oBAAkB,QAAQ,UAAU,YAAY;AAChD,oBAAkB,QAAQ,SAAS,YAAY;AAC/C,SAAuBG,2BAAAA,IAAII,SAAAA,UAAU,EAAE,SAAS,cAAc,SAAS,UAA0BJ,2BAAAA;AAAAA,IAC/F;AAAA,IACA;AAAA,MACE,cAAc,UAAU,YAAY;AAAA,MACpC,GAAG;AAAA,MACH,KAAK;AAAA,IACX;AAAA,EACA,GAAK;AACL,CAAC;AACD,IAAI,6BAA6BH,iBAAO,WAAW,CAAC,OAAO,iBAAiB;AAC1E,QAAM,EAAE,cAAc,YAAY,GAAG,eAAc,IAAK;AACxD,QAAM,UAAU,qBAAqB,gBAAgB,MAAM,iBAAiB;AAC5E,QAAM,WAAWA,iBAAO,OAAO,IAAI;AACnC,QAAM,mBAAmBA,iBAAO,OAAO,CAAC;AACxC,QAAM,CAAC,OAAO,QAAQ,IAAIA,iBAAO,SAAS;AAAA,IACxC,SAAS;AAAA,IACT,UAAU;AAAA,IACV,WAAW,EAAE,MAAM,GAAG,cAAc,GAAG,YAAY,EAAC;AAAA,EACxD,CAAG;AACD,QAAM,aAAa,cAAc,MAAM,UAAU,MAAM,OAAO;AAC9D,QAAM,cAAc;AAAA,IAClB,GAAG;AAAA,IACH;AAAA,IACA,eAAe;AAAA,IACf,UAAU,QAAQ,aAAa,KAAK,aAAa,CAAC;AAAA,IAClD,eAAe,CAAC,UAAU,SAAS,UAAU;AAAA,IAC7C,kBAAkB,MAAM,iBAAiB,UAAU;AAAA,IACnD,oBAAoB,CAAC,eAAe,iBAAiB,UAAU;AAAA,EACnE;AACE,WAAS,kBAAkB,YAAY,KAAK;AAC1C,WAAO,6BAA6B,YAAY,iBAAiB,SAAS,OAAO,GAAG;AAAA,EACtF;AACA,MAAI,gBAAgB,cAAc;AAChC,WAAuBG,2BAAAA;AAAAA,MACrB;AAAA,MACA;AAAA,QACE,GAAG;AAAA,QACH,KAAK;AAAA,QACL,uBAAuB,MAAM;AAC3B,cAAI,QAAQ,YAAY,SAAS,SAAS;AACxC,kBAAM,YAAY,QAAQ,SAAS;AACnC,kBAAM,SAAS,yBAAyB,WAAW,OAAO,QAAQ,GAAG;AACrE,qBAAS,QAAQ,MAAM,YAAY,eAAe,MAAM;AAAA,UAC1D;AAAA,QACF;AAAA,QACA,eAAe,CAAC,cAAc;AAC5B,cAAI,QAAQ,SAAU,SAAQ,SAAS,aAAa;AAAA,QACtD;AAAA,QACA,cAAc,CAAC,eAAe;AAC5B,cAAI,QAAQ,UAAU;AACpB,oBAAQ,SAAS,aAAa,kBAAkB,YAAY,QAAQ,GAAG;AAAA,UACzE;AAAA,QACF;AAAA,MACR;AAAA,IACA;AAAA,EACE;AACA,MAAI,gBAAgB,YAAY;AAC9B,WAAuBA,2BAAAA;AAAAA,MACrB;AAAA,MACA;AAAA,QACE,GAAG;AAAA,QACH,KAAK;AAAA,QACL,uBAAuB,MAAM;AAC3B,cAAI,QAAQ,YAAY,SAAS,SAAS;AACxC,kBAAM,YAAY,QAAQ,SAAS;AACnC,kBAAM,SAAS,yBAAyB,WAAW,KAAK;AACxD,qBAAS,QAAQ,MAAM,YAAY,kBAAkB,MAAM;AAAA,UAC7D;AAAA,QACF;AAAA,QACA,eAAe,CAAC,cAAc;AAC5B,cAAI,QAAQ,SAAU,SAAQ,SAAS,YAAY;AAAA,QACrD;AAAA,QACA,cAAc,CAAC,eAAe;AAC5B,cAAI,QAAQ,SAAU,SAAQ,SAAS,YAAY,kBAAkB,UAAU;AAAA,QACjF;AAAA,MACR;AAAA,IACA;AAAA,EACE;AACA,SAAO;AACT,CAAC;AACD,IAAI,uBAAuBH,iBAAO,WAAW,CAAC,OAAO,iBAAiB;AACpE,QAAM,EAAE,OAAO,eAAe,GAAG,eAAc,IAAK;AACpD,QAAM,UAAU,qBAAqB,gBAAgB,MAAM,iBAAiB;AAC5E,QAAM,CAAC,eAAe,gBAAgB,IAAIA,iBAAO,SAAQ;AACzD,QAAM,MAAMA,iBAAO,OAAO,IAAI;AAC9B,QAAM,cAAcC,QAAAA,gBAAgB,cAAc,KAAK,QAAQ,kBAAkB;AACjFD,mBAAO,UAAU,MAAM;AACrB,QAAI,IAAI,QAAS,kBAAiB,iBAAiB,IAAI,OAAO,CAAC;AAAA,EACjE,GAAG,CAAC,GAAG,CAAC;AACR,SAAuBG,2BAAAA;AAAAA,IACrB;AAAA,IACA;AAAA,MACE,oBAAoB;AAAA,MACpB,GAAG;AAAA,MACH,KAAK;AAAA,MACL;AAAA,MACA,OAAO;AAAA,QACL,QAAQ;AAAA,QACR,MAAM,QAAQ,QAAQ,QAAQ,0CAA0C;AAAA,QACxE,OAAO,QAAQ,QAAQ,QAAQ,0CAA0C;AAAA,QACzE,CAAC,iCAAiC,GAAG,aAAa,KAAK,IAAI;AAAA,QAC3D,GAAG,MAAM;AAAA,MACjB;AAAA,MACM,oBAAoB,CAAC,eAAe,MAAM,mBAAmB,WAAW,CAAC;AAAA,MACzE,cAAc,CAAC,eAAe,MAAM,aAAa,WAAW,CAAC;AAAA,MAC7D,eAAe,CAAC,OAAO,iBAAiB;AACtC,YAAI,QAAQ,UAAU;AACpB,gBAAM,YAAY,QAAQ,SAAS,aAAa,MAAM;AACtD,gBAAM,cAAc,SAAS;AAC7B,cAAI,iCAAiC,WAAW,YAAY,GAAG;AAC7D,kBAAM,eAAc;AAAA,UACtB;AAAA,QACF;AAAA,MACF;AAAA,MACA,UAAU,MAAM;AACd,YAAI,IAAI,WAAW,QAAQ,YAAY,eAAe;AACpD,wBAAc;AAAA,YACZ,SAAS,QAAQ,SAAS;AAAA,YAC1B,UAAU,QAAQ,SAAS;AAAA,YAC3B,WAAW;AAAA,cACT,MAAM,IAAI,QAAQ;AAAA,cAClB,cAAc,MAAM,cAAc,WAAW;AAAA,cAC7C,YAAY,MAAM,cAAc,YAAY;AAAA,YAC1D;AAAA,UACA,CAAW;AAAA,QACH;AAAA,MACF;AAAA,IACN;AAAA,EACA;AACA,CAAC;AACD,IAAI,uBAAuBH,iBAAO,WAAW,CAAC,OAAO,iBAAiB;AACpE,QAAM,EAAE,OAAO,eAAe,GAAG,eAAc,IAAK;AACpD,QAAM,UAAU,qBAAqB,gBAAgB,MAAM,iBAAiB;AAC5E,QAAM,CAAC,eAAe,gBAAgB,IAAIA,iBAAO,SAAQ;AACzD,QAAM,MAAMA,iBAAO,OAAO,IAAI;AAC9B,QAAM,cAAcC,QAAAA,gBAAgB,cAAc,KAAK,QAAQ,kBAAkB;AACjFD,mBAAO,UAAU,MAAM;AACrB,QAAI,IAAI,QAAS,kBAAiB,iBAAiB,IAAI,OAAO,CAAC;AAAA,EACjE,GAAG,CAAC,GAAG,CAAC;AACR,SAAuBG,2BAAAA;AAAAA,IACrB;AAAA,IACA;AAAA,MACE,oBAAoB;AAAA,MACpB,GAAG;AAAA,MACH,KAAK;AAAA,MACL;AAAA,MACA,OAAO;AAAA,QACL,KAAK;AAAA,QACL,OAAO,QAAQ,QAAQ,QAAQ,IAAI;AAAA,QACnC,MAAM,QAAQ,QAAQ,QAAQ,IAAI;AAAA,QAClC,QAAQ;AAAA,QACR,CAAC,kCAAkC,GAAG,aAAa,KAAK,IAAI;AAAA,QAC5D,GAAG,MAAM;AAAA,MACjB;AAAA,MACM,oBAAoB,CAAC,eAAe,MAAM,mBAAmB,WAAW,CAAC;AAAA,MACzE,cAAc,CAAC,eAAe,MAAM,aAAa,WAAW,CAAC;AAAA,MAC7D,eAAe,CAAC,OAAO,iBAAiB;AACtC,YAAI,QAAQ,UAAU;AACpB,gBAAM,YAAY,QAAQ,SAAS,YAAY,MAAM;AACrD,gBAAM,cAAc,SAAS;AAC7B,cAAI,iCAAiC,WAAW,YAAY,GAAG;AAC7D,kBAAM,eAAc;AAAA,UACtB;AAAA,QACF;AAAA,MACF;AAAA,MACA,UAAU,MAAM;AACd,YAAI,IAAI,WAAW,QAAQ,YAAY,eAAe;AACpD,wBAAc;AAAA,YACZ,SAAS,QAAQ,SAAS;AAAA,YAC1B,UAAU,QAAQ,SAAS;AAAA,YAC3B,WAAW;AAAA,cACT,MAAM,IAAI,QAAQ;AAAA,cAClB,cAAc,MAAM,cAAc,UAAU;AAAA,cAC5C,YAAY,MAAM,cAAc,aAAa;AAAA,YAC3D;AAAA,UACA,CAAW;AAAA,QACH;AAAA,MACF;AAAA,IACN;AAAA,EACA;AACA,CAAC;AACD,IAAI,CAAC,mBAAmB,mBAAmB,IAAI,wBAAwB,cAAc;AACrF,IAAI,0BAA0BH,iBAAO,WAAW,CAAC,OAAO,iBAAiB;AACvE,QAAM;AAAA,IACJ;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA,GAAG;AAAA,EACP,IAAM;AACJ,QAAM,UAAU,qBAAqB,gBAAgB,iBAAiB;AACtE,QAAM,CAAC,WAAW,YAAY,IAAIA,iBAAO,SAAS,IAAI;AACtD,QAAM,cAAcC,QAAAA,gBAAgB,cAAc,CAAC,SAAS,aAAa,IAAI,CAAC;AAC9E,QAAM,UAAUD,iBAAO,OAAO,IAAI;AAClC,QAAM,0BAA0BA,iBAAO,OAAO,EAAE;AAChD,QAAM,WAAW,QAAQ;AACzB,QAAM,eAAe,MAAM,UAAU,MAAM;AAC3C,QAAM,oBAAoBS,SAAAA,eAAe,aAAa;AACtD,QAAM,4BAA4BA,SAAAA,eAAe,qBAAqB;AACtE,QAAM,eAAe,oBAAoB,UAAU,EAAE;AACrD,WAAS,iBAAiB,OAAO;AAC/B,QAAI,QAAQ,SAAS;AACnB,YAAM,IAAI,MAAM,UAAU,QAAQ,QAAQ;AAC1C,YAAM,IAAI,MAAM,UAAU,QAAQ,QAAQ;AAC1C,mBAAa,EAAE,GAAG,GAAG;AAAA,IACvB;AAAA,EACF;AACAT,mBAAO,UAAU,MAAM;AACrB,UAAM,cAAc,CAAC,UAAU;AAC7B,YAAM,UAAU,MAAM;AACtB,YAAM,mBAAmB,WAAW,SAAS,OAAO;AACpD,UAAI,iBAAkB,mBAAkB,OAAO,YAAY;AAAA,IAC7D;AACA,aAAS,iBAAiB,SAAS,aAAa,EAAE,SAAS,OAAO;AAClE,WAAO,MAAM,SAAS,oBAAoB,SAAS,aAAa,EAAE,SAAS,OAAO;AAAA,EACpF,GAAG,CAAC,UAAU,WAAW,cAAc,iBAAiB,CAAC;AACzDA,mBAAO,UAAU,2BAA2B,CAAC,OAAO,yBAAyB,CAAC;AAC9E,oBAAkB,WAAW,YAAY;AACzC,oBAAkB,QAAQ,SAAS,YAAY;AAC/C,SAAuBG,2BAAAA;AAAAA,IACrB;AAAA,IACA;AAAA,MACE,OAAO;AAAA,MACP;AAAA,MACA;AAAA,MACA,eAAeM,SAAAA,eAAe,aAAa;AAAA,MAC3C,kBAAkBA,SAAAA,eAAe,gBAAgB;AAAA,MACjD,uBAAuB;AAAA,MACvB,oBAAoBA,SAAAA,eAAe,kBAAkB;AAAA,MACrD,UAA0BN,2BAAAA;AAAAA,QACxBC,SAAAA,UAAU;AAAA,QACV;AAAA,UACE,GAAG;AAAA,UACH,KAAK;AAAA,UACL,OAAO,EAAE,UAAU,YAAY,GAAG,eAAe,MAAK;AAAA,UACtD,eAAeI,SAAAA,qBAAqB,MAAM,eAAe,CAAC,UAAU;AAClE,kBAAM,cAAc;AACpB,gBAAI,MAAM,WAAW,aAAa;AAChC,oBAAM,UAAU,MAAM;AACtB,sBAAQ,kBAAkB,MAAM,SAAS;AACzC,sBAAQ,UAAU,UAAU,sBAAqB;AACjD,sCAAwB,UAAU,SAAS,KAAK,MAAM;AACtD,uBAAS,KAAK,MAAM,mBAAmB;AACvC,kBAAI,QAAQ,SAAU,SAAQ,SAAS,MAAM,iBAAiB;AAC9D,+BAAiB,KAAK;AAAA,YACxB;AAAA,UACF,CAAC;AAAA,UACD,eAAeA,SAAAA,qBAAqB,MAAM,eAAe,gBAAgB;AAAA,UACzE,aAAaA,SAAAA,qBAAqB,MAAM,aAAa,CAAC,UAAU;AAC9D,kBAAM,UAAU,MAAM;AACtB,gBAAI,QAAQ,kBAAkB,MAAM,SAAS,GAAG;AAC9C,sBAAQ,sBAAsB,MAAM,SAAS;AAAA,YAC/C;AACA,qBAAS,KAAK,MAAM,mBAAmB,wBAAwB;AAC/D,gBAAI,QAAQ,SAAU,SAAQ,SAAS,MAAM,iBAAiB;AAC9D,oBAAQ,UAAU;AAAA,UACpB,CAAC;AAAA,QACX;AAAA,MACA;AAAA,IACA;AAAA,EACA;AACA,CAAC;AACD,IAAI,aAAa;AACjB,IAAI,kBAAkBR,iBAAO;AAAA,EAC3B,CAAC,OAAO,iBAAiB;AACvB,UAAM,EAAE,YAAY,GAAG,WAAU,IAAK;AACtC,UAAM,mBAAmB,oBAAoB,YAAY,MAAM,iBAAiB;AAChF,WAAuBG,2BAAAA,IAAII,SAAAA,UAAU,EAAE,SAAS,cAAc,iBAAiB,UAAU,UAA0BJ,2BAAAA,IAAI,qBAAqB,EAAE,KAAK,cAAc,GAAG,WAAU,CAAE,GAAG;AAAA,EACrL;AACF;AACA,IAAI,sBAAsBH,iBAAO;AAAA,EAC/B,CAAC,OAAO,iBAAiB;AACvB,UAAM,EAAE,mBAAmB,OAAO,GAAG,WAAU,IAAK;AACpD,UAAM,oBAAoB,qBAAqB,YAAY,iBAAiB;AAC5E,UAAM,mBAAmB,oBAAoB,YAAY,iBAAiB;AAC1E,UAAM,EAAE,sBAAqB,IAAK;AAClC,UAAM,cAAcC,QAAAA;AAAAA,MAClB;AAAA,MACA,CAAC,SAAS,iBAAiB,cAAc,IAAI;AAAA,IACnD;AACI,UAAM,kCAAkCD,iBAAO,OAAO,MAAM;AAC5D,UAAM,oBAAoB,oBAAoB,MAAM;AAClD,UAAI,gCAAgC,SAAS;AAC3C,wCAAgC,QAAO;AACvC,wCAAgC,UAAU;AAAA,MAC5C;AAAA,IACF,GAAG,GAAG;AACNA,qBAAO,UAAU,MAAM;AACrB,YAAM,WAAW,kBAAkB;AACnC,UAAI,UAAU;AACZ,cAAM,eAAe,MAAM;AACzB,4BAAiB;AACjB,cAAI,CAAC,gCAAgC,SAAS;AAC5C,kBAAM,WAAW,0BAA0B,UAAU,qBAAqB;AAC1E,4CAAgC,UAAU;AAC1C,kCAAqB;AAAA,UACvB;AAAA,QACF;AACA,8BAAqB;AACrB,iBAAS,iBAAiB,UAAU,YAAY;AAChD,eAAO,MAAM,SAAS,oBAAoB,UAAU,YAAY;AAAA,MAClE;AAAA,IACF,GAAG,CAAC,kBAAkB,UAAU,mBAAmB,qBAAqB,CAAC;AACzE,WAAuBG,2BAAAA;AAAAA,MACrBC,SAAAA,UAAU;AAAA,MACV;AAAA,QACE,cAAc,iBAAiB,WAAW,YAAY;AAAA,QACtD,GAAG;AAAA,QACH,KAAK;AAAA,QACL,OAAO;AAAA,UACL,OAAO;AAAA,UACP,QAAQ;AAAA,UACR,GAAG;AAAA,QACb;AAAA,QACQ,sBAAsBI,SAAAA,qBAAqB,MAAM,sBAAsB,CAAC,UAAU;AAChF,gBAAM,QAAQ,MAAM;AACpB,gBAAM,YAAY,MAAM,sBAAqB;AAC7C,gBAAM,IAAI,MAAM,UAAU,UAAU;AACpC,gBAAM,IAAI,MAAM,UAAU,UAAU;AACpC,2BAAiB,mBAAmB,EAAE,GAAG,EAAC,CAAE;AAAA,QAC9C,CAAC;AAAA,QACD,aAAaA,SAAAA,qBAAqB,MAAM,aAAa,iBAAiB,gBAAgB;AAAA,MAC9F;AAAA,IACA;AAAA,EACE;AACF;AACA,gBAAgB,cAAc;AAC9B,IAAI,cAAc;AAClB,IAAI,mBAAmBR,iBAAO;AAAA,EAC5B,CAAC,OAAO,iBAAiB;AACvB,UAAM,UAAU,qBAAqB,aAAa,MAAM,iBAAiB;AACzE,UAAM,2BAA2B,QAAQ,QAAQ,cAAc,QAAQ,UAAU;AACjF,UAAM,YAAY,QAAQ,SAAS,YAAY;AAC/C,WAAO,YAA4BG,2BAAAA,IAAI,sBAAsB,EAAE,GAAG,OAAO,KAAK,aAAY,CAAE,IAAI;AAAA,EAClG;AACF;AACA,iBAAiB,cAAc;AAC/B,IAAI,uBAAuBH,iBAAO,WAAW,CAAC,OAAO,iBAAiB;AACpE,QAAM,EAAE,mBAAmB,GAAG,YAAW,IAAK;AAC9C,QAAM,UAAU,qBAAqB,aAAa,iBAAiB;AACnE,QAAM,CAAC,OAAO,QAAQ,IAAIA,iBAAO,SAAS,CAAC;AAC3C,QAAM,CAAC,QAAQ,SAAS,IAAIA,iBAAO,SAAS,CAAC;AAC7C,QAAM,UAAU,QAAQ,SAAS,MAAM;AACvC,oBAAkB,QAAQ,YAAY,MAAM;AAC1C,UAAM,UAAU,QAAQ,YAAY,gBAAgB;AACpD,YAAQ,qBAAqB,OAAO;AACpC,cAAU,OAAO;AAAA,EACnB,CAAC;AACD,oBAAkB,QAAQ,YAAY,MAAM;AAC1C,UAAM,SAAS,QAAQ,YAAY,eAAe;AAClD,YAAQ,oBAAoB,MAAM;AAClC,aAAS,MAAM;AAAA,EACjB,CAAC;AACD,SAAO,UAA0BG,2BAAAA;AAAAA,IAC/BC,SAAAA,UAAU;AAAA,IACV;AAAA,MACE,GAAG;AAAA,MACH,KAAK;AAAA,MACL,OAAO;AAAA,QACL;AAAA,QACA;AAAA,QACA,UAAU;AAAA,QACV,OAAO,QAAQ,QAAQ,QAAQ,IAAI;AAAA,QACnC,MAAM,QAAQ,QAAQ,QAAQ,IAAI;AAAA,QAClC,QAAQ;AAAA,QACR,GAAG,MAAM;AAAA,MACjB;AAAA,IACA;AAAA,EACA,IAAM;AACN,CAAC;AACD,SAAS,MAAM,OAAO;AACpB,SAAO,QAAQ,SAAS,OAAO,EAAE,IAAI;AACvC;AACA,SAAS,cAAc,cAAc,aAAa;AAChD,QAAM,QAAQ,eAAe;AAC7B,SAAO,MAAM,KAAK,IAAI,IAAI;AAC5B;AACA,SAAS,aAAa,OAAO;AAC3B,QAAM,QAAQ,cAAc,MAAM,UAAU,MAAM,OAAO;AACzD,QAAM,mBAAmB,MAAM,UAAU,eAAe,MAAM,UAAU;AACxE,QAAM,aAAa,MAAM,UAAU,OAAO,oBAAoB;AAC9D,SAAO,KAAK,IAAI,WAAW,EAAE;AAC/B;AACA,SAAS,6BAA6B,YAAY,eAAe,OAAO,MAAM,OAAO;AACnF,QAAM,cAAc,aAAa,KAAK;AACtC,QAAM,cAAc,cAAc;AAClC,QAAM,SAAS,iBAAiB;AAChC,QAAM,qBAAqB,cAAc;AACzC,QAAM,gBAAgB,MAAM,UAAU,eAAe;AACrD,QAAM,gBAAgB,MAAM,UAAU,OAAO,MAAM,UAAU,aAAa;AAC1E,QAAM,eAAe,MAAM,UAAU,MAAM;AAC3C,QAAM,cAAc,QAAQ,QAAQ,CAAC,GAAG,YAAY,IAAI,CAAC,eAAe,IAAI,CAAC;AAC7E,QAAM,cAAc,YAAY,CAAC,eAAe,aAAa,GAAG,WAAW;AAC3E,SAAO,YAAY,UAAU;AAC/B;AACA,SAAS,yBAAyB,WAAW,OAAO,MAAM,OAAO;AAC/D,QAAM,cAAc,aAAa,KAAK;AACtC,QAAM,mBAAmB,MAAM,UAAU,eAAe,MAAM,UAAU;AACxE,QAAM,YAAY,MAAM,UAAU,OAAO;AACzC,QAAM,eAAe,MAAM,UAAU,MAAM;AAC3C,QAAM,cAAc,YAAY;AAChC,QAAM,mBAAmB,QAAQ,QAAQ,CAAC,GAAG,YAAY,IAAI,CAAC,eAAe,IAAI,CAAC;AAClF,QAAM,wBAAwBM,MAAAA,MAAM,WAAW,gBAAgB;AAC/D,QAAM,cAAc,YAAY,CAAC,GAAG,YAAY,GAAG,CAAC,GAAG,WAAW,CAAC;AACnE,SAAO,YAAY,qBAAqB;AAC1C;AACA,SAAS,YAAY,OAAO,QAAQ;AAClC,SAAO,CAAC,UAAU;AAChB,QAAI,MAAM,CAAC,MAAM,MAAM,CAAC,KAAK,OAAO,CAAC,MAAM,OAAO,CAAC,EAAG,QAAO,OAAO,CAAC;AACrE,UAAM,SAAS,OAAO,CAAC,IAAI,OAAO,CAAC,MAAM,MAAM,CAAC,IAAI,MAAM,CAAC;AAC3D,WAAO,OAAO,CAAC,IAAI,SAAS,QAAQ,MAAM,CAAC;AAAA,EAC7C;AACF;AACA,SAAS,iCAAiC,WAAW,cAAc;AACjE,SAAO,YAAY,KAAK,YAAY;AACtC;AACA,IAAI,4BAA4B,CAAC,MAAM,UAAU,MAAM;AACvD,MAAM;AACJ,MAAI,eAAe,EAAE,MAAM,KAAK,YAAY,KAAK,KAAK,UAAS;AAC/D,MAAI,MAAM;AACV,GAAC,SAAS,OAAO;AACf,UAAM,WAAW,EAAE,MAAM,KAAK,YAAY,KAAK,KAAK,UAAS;AAC7D,UAAM,qBAAqB,aAAa,SAAS,SAAS;AAC1D,UAAM,mBAAmB,aAAa,QAAQ,SAAS;AACvD,QAAI,sBAAsB,iBAAkB,SAAO;AACnD,mBAAe;AACf,UAAM,OAAO,sBAAsB,IAAI;AAAA,EACzC,GAAC;AACD,SAAO,MAAM,OAAO,qBAAqB,GAAG;AAC9C;AACA,SAAS,oBAAoB,UAAU,OAAO;AAC5C,QAAM,iBAAiBD,SAAAA,eAAe,QAAQ;AAC9C,QAAM,mBAAmBT,iBAAO,OAAO,CAAC;AACxCA,mBAAO,UAAU,MAAM,MAAM,OAAO,aAAa,iBAAiB,OAAO,GAAG,EAAE;AAC9E,SAAOA,iBAAO,YAAY,MAAM;AAC9B,WAAO,aAAa,iBAAiB,OAAO;AAC5C,qBAAiB,UAAU,OAAO,WAAW,gBAAgB,KAAK;AAAA,EACpE,GAAG,CAAC,gBAAgB,KAAK,CAAC;AAC5B;AACA,SAAS,kBAAkB,SAAS,UAAU;AAC5C,QAAM,eAAeS,SAAAA,eAAe,QAAQ;AAC5CE,WAAAA,iBAAgB,MAAM;AACpB,QAAI,MAAM;AACV,QAAI,SAAS;AACX,YAAM,iBAAiB,IAAI,eAAe,MAAM;AAC9C,6BAAqB,GAAG;AACxB,cAAM,OAAO,sBAAsB,YAAY;AAAA,MACjD,CAAC;AACD,qBAAe,QAAQ,OAAO;AAC9B,aAAO,MAAM;AACX,eAAO,qBAAqB,GAAG;AAC/B,uBAAe,UAAU,OAAO;AAAA,MAClC;AAAA,IACF;AAAA,EACF,GAAG,CAAC,SAAS,YAAY,CAAC;AAC5B;AACA,IAAI,OAAOZ;AACX,IAAI,WAAW;AAGf,IAAI,SAAS;AC/sBb,SAAS,WAAW,EAAE,WAAW,UAAU,GAAG,SAAgE;AAC7G,SACCM,gCAACO,MAAA,EAAyB,aAAU,eAAc,WAAWC,MAAAA,GAAG,YAAY,SAAS,GAAI,GAAG,OAC3F,UAAA;AAAA,IAAAV,2BAAAA;AAAAA,MAACW;AAAAA,MAAA;AAAA,QACA,aAAU;AAAA,QACV,WAAU;AAAA,QAET;AAAA,MAAA;AAAA,IAAA;AAAA,mCAED,WAAA,EAAU;AAAA,IACXX,2BAAAA,IAACY,QAAA,CAAA,CAA2B;AAAA,EAAA,GAC7B;AAEF;AAEA,SAAS,UAAU,EAAE,WAAW,cAAc,YAAY,GAAG,SAA+E;AAC3I,SACCZ,2BAAAA;AAAAA,IAACa;AAAAA,IAAA;AAAA,MACA,aAAU;AAAA,MACV;AAAA,MACA,WAAWH,MAAAA;AAAAA,QACV;AAAA,QACA,gBAAgB,cAAc;AAAA,QAC9B,gBAAgB,gBAAgB;AAAA,QAChC;AAAA,MAAA;AAAA,MAEA,GAAG;AAAA,MAEJ,yCAACI,iBAAA,EAAoC,aAAU,qBAAoB,WAAU,yCAAA,CAAyC;AAAA,IAAA;AAAA,EAAA;AAGzH;;;;","x_google_ignoreList":[0,1]}
1
+ {"version":3,"file":"scroll-area-BboZbU1u.js","sources":["../../node_modules/.pnpm/lucide-react@0.544.0_react@19.1.1/node_modules/lucide-react/dist/esm/icons/search.js","../../node_modules/.pnpm/@radix-ui+react-scroll-area@1.2.10_@types+react-dom@19.1.9_@types+react@19.1.14__@types+react_z2arkirdwmqlmflzgtwy7kpgry/node_modules/@radix-ui/react-scroll-area/dist/index.mjs","../../src/components/ui/scroll-area.tsx"],"sourcesContent":["/**\n * @license lucide-react v0.544.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.js';\n\nconst __iconNode = [\n [\"path\", { d: \"m21 21-4.34-4.34\", key: \"14j7rj\" }],\n [\"circle\", { cx: \"11\", cy: \"11\", r: \"8\", key: \"4ej97u\" }]\n];\nconst Search = createLucideIcon(\"search\", __iconNode);\n\nexport { __iconNode, Search as default };\n//# sourceMappingURL=search.js.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","import * as React from \"react\";\nimport * as ScrollAreaPrimitive from \"@radix-ui/react-scroll-area\";\n\nimport { cn } from \"@/lib/utils\";\n\nfunction ScrollArea({ className, children, ...props }: React.ComponentProps<typeof ScrollAreaPrimitive.Root>) {\n\treturn (\n\t\t<ScrollAreaPrimitive.Root data-slot=\"scroll-area\" className={cn(\"relative\", className)} {...props}>\n\t\t\t<ScrollAreaPrimitive.Viewport\n\t\t\t\tdata-slot=\"scroll-area-viewport\"\n\t\t\t\tclassName=\"focus-visible:ring-ring/50 size-full rounded-[inherit] transition-[color,box-shadow] outline-none focus-visible:ring-[3px] focus-visible:outline-1\"\n\t\t\t>\n\t\t\t\t{children}\n\t\t\t</ScrollAreaPrimitive.Viewport>\n\t\t\t<ScrollBar />\n\t\t\t<ScrollAreaPrimitive.Corner />\n\t\t</ScrollAreaPrimitive.Root>\n\t);\n}\n\nfunction ScrollBar({ className, orientation = \"vertical\", ...props }: React.ComponentProps<typeof ScrollAreaPrimitive.ScrollAreaScrollbar>) {\n\treturn (\n\t\t<ScrollAreaPrimitive.ScrollAreaScrollbar\n\t\t\tdata-slot=\"scroll-area-scrollbar\"\n\t\t\torientation={orientation}\n\t\t\tclassName={cn(\n\t\t\t\t\"flex touch-none p-px transition-colors select-none\",\n\t\t\t\torientation === \"vertical\" && \"h-full w-2.5 border-l border-l-transparent\",\n\t\t\t\torientation === \"horizontal\" && \"h-2.5 flex-col border-t border-t-transparent\",\n\t\t\t\tclassName,\n\t\t\t)}\n\t\t\t{...props}\n\t\t>\n\t\t\t<ScrollAreaPrimitive.ScrollAreaThumb data-slot=\"scroll-area-thumb\" className=\"bg-border relative flex-1 rounded-full\" />\n\t\t</ScrollAreaPrimitive.ScrollAreaScrollbar>\n\t);\n}\n\nexport { ScrollArea, ScrollBar };\n"],"names":["createLucideIcon","React","createContextScope","ScrollArea","React2","useComposedRefs","useDirection","jsx","Primitive","jsxs","Fragment","Presence","composeEventHandlers","useCallbackRef","clamp","useLayoutEffect","ScrollAreaPrimitive.Root","cn","ScrollAreaPrimitive.Viewport","ScrollAreaPrimitive.Corner","ScrollAreaPrimitive.ScrollAreaScrollbar","ScrollAreaPrimitive.ScrollAreaThumb"],"mappings":"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","x_google_ignoreList":[0,1]}
@@ -1,8 +1,8 @@
1
1
  import { c as createLucideIcon, u as useDirection, b as clamp } from "./index-BAHiLt0S.js";
2
2
  import { jsx, jsxs, Fragment } from "react/jsx-runtime";
3
3
  import * as React from "react";
4
- import { c as createContextScope, P as Primitive, a as Presence, b as composeEventHandlers, u as useCallbackRef, d as useLayoutEffect2 } from "./textarea-_HQpXiCX.js";
5
- import { u as useComposedRefs } from "./index-B4RTH1-D.js";
4
+ import { c as createContextScope, P as Primitive, d as Presence, b as composeEventHandlers, f as useCallbackRef, g as useLayoutEffect2 } from "./index-CuySPbdY.js";
5
+ import { u as useComposedRefs } from "./index-DiC9dI6_.js";
6
6
  import { c as cn } from "./utils-H80jjgLf.js";
7
7
  const __iconNode = [
8
8
  ["path", { d: "m21 21-4.34-4.34", key: "14j7rj" }],
@@ -749,4 +749,4 @@ export {
749
749
  ScrollArea as a,
750
750
  ScrollBar as b
751
751
  };
752
- //# sourceMappingURL=scroll-area-JgKF61tc.js.map
752
+ //# sourceMappingURL=scroll-area-DKkgpH-S.js.map