lizaui 9.0.26 → 9.0.27

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 (68) hide show
  1. package/dist/autocomplete/index.cjs.js +14149 -0
  2. package/dist/autocomplete/index.cjs.js.map +1 -0
  3. package/dist/autocomplete/index.es.js +14133 -0
  4. package/dist/autocomplete/index.es.js.map +1 -0
  5. package/dist/autocomplete.d.ts +2 -0
  6. package/dist/calendar/index.cjs.js +1 -1
  7. package/dist/calendar/index.es.js +1 -1
  8. package/dist/chunks/_commonjsHelpers-Bc2YnDe1.js +8 -0
  9. package/dist/chunks/_commonjsHelpers-Bc2YnDe1.js.map +1 -0
  10. package/dist/chunks/_commonjsHelpers-DWwsNxpa.js +9 -0
  11. package/dist/chunks/_commonjsHelpers-DWwsNxpa.js.map +1 -0
  12. package/dist/chunks/{index-BPW1Qzmi.js → createLucideIcon-Bxsl-Fn_.js} +1 -35
  13. package/dist/chunks/createLucideIcon-Bxsl-Fn_.js.map +1 -0
  14. package/dist/chunks/{index-BAHiLt0S.js → createLucideIcon-C5oU6LEj.js} +2 -20
  15. package/dist/chunks/createLucideIcon-C5oU6LEj.js.map +1 -0
  16. package/dist/chunks/index-CADDwL6K.js +38 -0
  17. package/dist/chunks/index-CADDwL6K.js.map +1 -0
  18. package/dist/chunks/index-DBpvJQOe.js +22 -0
  19. package/dist/chunks/index-DBpvJQOe.js.map +1 -0
  20. package/dist/chunks/{scroll-area-B-5YmafW.js → scroll-area-BOU8O70p.js} +13 -12
  21. package/dist/chunks/{scroll-area-B-5YmafW.js.map → scroll-area-BOU8O70p.js.map} +1 -1
  22. package/dist/chunks/{scroll-area-WNAy-5-i.js → scroll-area-DAQUXpBS.js} +3 -2
  23. package/dist/chunks/{scroll-area-WNAy-5-i.js.map → scroll-area-DAQUXpBS.js.map} +1 -1
  24. package/dist/chunks/{select-C9BYUpJm.js → select-BSYrEccf.js} +5 -4
  25. package/dist/chunks/select-BSYrEccf.js.map +1 -0
  26. package/dist/chunks/{select-CLIZOVIj.js → select-BVS-SGsI.js} +5 -4
  27. package/dist/chunks/select-BVS-SGsI.js.map +1 -0
  28. package/dist/chunks/{styled-components.browser.esm-CYnGom5T.js → styled-components.browser.esm-C5L9Ov58.js} +2 -4
  29. package/dist/chunks/{styled-components.browser.esm-CYnGom5T.js.map → styled-components.browser.esm-C5L9Ov58.js.map} +1 -1
  30. package/dist/chunks/{styled-components.browser.esm-CPR7VH_x.js → styled-components.browser.esm-Cg8LpeaI.js} +3 -5
  31. package/dist/chunks/{styled-components.browser.esm-CPR7VH_x.js.map → styled-components.browser.esm-Cg8LpeaI.js.map} +1 -1
  32. package/dist/components/autocomplete/autocomplete-dropdown.d.ts +3 -0
  33. package/dist/components/autocomplete/autocomplete-dropdown.d.ts.map +1 -0
  34. package/dist/components/autocomplete/autocomplete-option-item.d.ts +18 -0
  35. package/dist/components/autocomplete/autocomplete-option-item.d.ts.map +1 -0
  36. package/dist/components/autocomplete/autocomplete-option-list.d.ts +4 -0
  37. package/dist/components/autocomplete/autocomplete-option-list.d.ts.map +1 -0
  38. package/dist/components/autocomplete/autocomplete-types.d.ts +97 -0
  39. package/dist/components/autocomplete/autocomplete-types.d.ts.map +1 -0
  40. package/dist/components/autocomplete/autocomplete-utils.d.ts +19 -0
  41. package/dist/components/autocomplete/autocomplete-utils.d.ts.map +1 -0
  42. package/dist/components/autocomplete/index.d.ts +5 -0
  43. package/dist/components/autocomplete/index.d.ts.map +1 -0
  44. package/dist/components/autocomplete/input-autocomplete-form.d.ts +3 -0
  45. package/dist/components/autocomplete/input-autocomplete-form.d.ts.map +1 -0
  46. package/dist/components/autocomplete/use-autocomplete-dropdown.d.ts +9 -0
  47. package/dist/components/autocomplete/use-autocomplete-dropdown.d.ts.map +1 -0
  48. package/dist/components/autocomplete/use-key-press.d.ts +6 -0
  49. package/dist/components/autocomplete/use-key-press.d.ts.map +1 -0
  50. package/dist/components/button/use-button.d.ts +46 -46
  51. package/dist/components/chip/use-chip.d.ts +50 -50
  52. package/dist/pagination/index.cjs.js +1 -1
  53. package/dist/pagination/index.es.js +1 -1
  54. package/dist/phone-input/index.cjs.js +2 -2
  55. package/dist/phone-input/index.es.js +2 -2
  56. package/dist/time-input/index.cjs.js +1 -1
  57. package/dist/time-input/index.es.js +1 -1
  58. package/dist/types/icon.type.d.ts +7 -1
  59. package/dist/types/icon.type.d.ts.map +1 -1
  60. package/dist/ui/index.cjs.js +19 -18
  61. package/dist/ui/index.cjs.js.map +1 -1
  62. package/dist/ui/index.es.js +21 -20
  63. package/dist/ui/index.es.js.map +1 -1
  64. package/package.json +7 -1
  65. package/dist/chunks/index-BAHiLt0S.js.map +0 -1
  66. package/dist/chunks/index-BPW1Qzmi.js.map +0 -1
  67. package/dist/chunks/select-C9BYUpJm.js.map +0 -1
  68. package/dist/chunks/select-CLIZOVIj.js.map +0 -1
@@ -0,0 +1,2 @@
1
+ export * from './components/autocomplete/index'
2
+ export {}
@@ -10,7 +10,7 @@ const DatePicker = require("react-date-picker");
10
10
  const React = require("react");
11
11
  const ReactDOM = require("react-dom");
12
12
  const clsx = require("clsx");
13
- const styledComponents_browser_esm = require("../chunks/styled-components.browser.esm-CPR7VH_x.js");
13
+ const styledComponents_browser_esm = require("../chunks/styled-components.browser.esm-Cg8LpeaI.js");
14
14
  const DateInput = require("react-date-picker/dist/DateInput");
15
15
  const tailwindMerge = require("tailwind-merge");
16
16
  const uuid = require("uuid");
@@ -8,7 +8,7 @@ import DatePicker from "react-date-picker";
8
8
  import React__default, { useState, useRef, useEffect, useCallback, useMemo, createElement } from "react";
9
9
  import { createPortal } from "react-dom";
10
10
  import clsx from "clsx";
11
- import { m as makeEventProps, F as Fit, l as lt, d as dt } from "../chunks/styled-components.browser.esm-CYnGom5T.js";
11
+ import { m as makeEventProps, F as Fit, l as lt, d as dt } from "../chunks/styled-components.browser.esm-C5L9Ov58.js";
12
12
  import DateInput from "react-date-picker/dist/DateInput";
13
13
  import { twMerge } from "tailwind-merge";
14
14
  import { v4 } from "uuid";
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+ var commonjsGlobal = typeof globalThis !== "undefined" ? globalThis : typeof window !== "undefined" ? window : typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : {};
3
+ function getDefaultExportFromCjs(x) {
4
+ return x && x.__esModule && Object.prototype.hasOwnProperty.call(x, "default") ? x["default"] : x;
5
+ }
6
+ exports.commonjsGlobal = commonjsGlobal;
7
+ exports.getDefaultExportFromCjs = getDefaultExportFromCjs;
8
+ //# sourceMappingURL=_commonjsHelpers-Bc2YnDe1.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"_commonjsHelpers-Bc2YnDe1.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;"}
@@ -0,0 +1,9 @@
1
+ var commonjsGlobal = typeof globalThis !== "undefined" ? globalThis : typeof window !== "undefined" ? window : typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : {};
2
+ function getDefaultExportFromCjs(x) {
3
+ return x && x.__esModule && Object.prototype.hasOwnProperty.call(x, "default") ? x["default"] : x;
4
+ }
5
+ export {
6
+ commonjsGlobal as c,
7
+ getDefaultExportFromCjs as g
8
+ };
9
+ //# sourceMappingURL=_commonjsHelpers-DWwsNxpa.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"_commonjsHelpers-DWwsNxpa.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;"}
@@ -1,28 +1,5 @@
1
1
  "use strict";
2
2
  const React = require("react");
3
- require("react/jsx-runtime");
4
- function _interopNamespaceDefault(e) {
5
- const n = Object.create(null, { [Symbol.toStringTag]: { value: "Module" } });
6
- if (e) {
7
- for (const k in e) {
8
- if (k !== "default") {
9
- const d = Object.getOwnPropertyDescriptor(e, k);
10
- Object.defineProperty(n, k, d.get ? d : {
11
- enumerable: true,
12
- get: () => e[k]
13
- });
14
- }
15
- }
16
- }
17
- n.default = e;
18
- return Object.freeze(n);
19
- }
20
- const React__namespace = /* @__PURE__ */ _interopNamespaceDefault(React);
21
- var DirectionContext = React__namespace.createContext(void 0);
22
- function useDirection(localDir) {
23
- const globalDir = React__namespace.useContext(DirectionContext);
24
- return localDir || globalDir || "ltr";
25
- }
26
3
  const toKebabCase = (string) => string.replace(/([a-z0-9])([A-Z])/g, "$1-$2").toLowerCase();
27
4
  const toCamelCase = (string) => string.replace(
28
5
  /^([A-Z])|[\s-_]+(\w)/g,
@@ -98,16 +75,5 @@ const createLucideIcon = (iconName, iconNode) => {
98
75
  Component.displayName = toPascalCase(iconName);
99
76
  return Component;
100
77
  };
101
- const __iconNode$1 = [["path", { d: "M20 6 9 17l-5-5", key: "1gmf2c" }]];
102
- const Check = createLucideIcon("check", __iconNode$1);
103
- const __iconNode = [["path", { d: "m6 9 6 6 6-6", key: "qrunsl" }]];
104
- const ChevronDown = createLucideIcon("chevron-down", __iconNode);
105
- function clamp(value, [min, max]) {
106
- return Math.min(max, Math.max(min, value));
107
- }
108
- exports.Check = Check;
109
- exports.ChevronDown = ChevronDown;
110
- exports.clamp = clamp;
111
78
  exports.createLucideIcon = createLucideIcon;
112
- exports.useDirection = useDirection;
113
- //# sourceMappingURL=index-BPW1Qzmi.js.map
79
+ //# sourceMappingURL=createLucideIcon-Bxsl-Fn_.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createLucideIcon-Bxsl-Fn_.js","sources":["../../node_modules/.pnpm/lucide-react@0.544.0_react@19.2.0/node_modules/lucide-react/dist/esm/shared/src/utils.js","../../node_modules/.pnpm/lucide-react@0.544.0_react@19.2.0/node_modules/lucide-react/dist/esm/defaultAttributes.js","../../node_modules/.pnpm/lucide-react@0.544.0_react@19.2.0/node_modules/lucide-react/dist/esm/Icon.js","../../node_modules/.pnpm/lucide-react@0.544.0_react@19.2.0/node_modules/lucide-react/dist/esm/createLucideIcon.js"],"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\nconst toKebabCase = (string) => string.replace(/([a-z0-9])([A-Z])/g, \"$1-$2\").toLowerCase();\nconst toCamelCase = (string) => string.replace(\n /^([A-Z])|[\\s-_]+(\\w)/g,\n (match, p1, p2) => p2 ? p2.toUpperCase() : p1.toLowerCase()\n);\nconst toPascalCase = (string) => {\n const camelCase = toCamelCase(string);\n return camelCase.charAt(0).toUpperCase() + camelCase.slice(1);\n};\nconst mergeClasses = (...classes) => classes.filter((className, index, array) => {\n return Boolean(className) && className.trim() !== \"\" && array.indexOf(className) === index;\n}).join(\" \").trim();\nconst hasA11yProp = (props) => {\n for (const prop in props) {\n if (prop.startsWith(\"aria-\") || prop === \"role\" || prop === \"title\") {\n return true;\n }\n }\n};\n\nexport { hasA11yProp, mergeClasses, toCamelCase, toKebabCase, toPascalCase };\n//# sourceMappingURL=utils.js.map\n","/**\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\nvar defaultAttributes = {\n xmlns: \"http://www.w3.org/2000/svg\",\n width: 24,\n height: 24,\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n strokeWidth: 2,\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n};\n\nexport { defaultAttributes as default };\n//# sourceMappingURL=defaultAttributes.js.map\n","/**\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 { forwardRef, createElement } from 'react';\nimport defaultAttributes from './defaultAttributes.js';\nimport { mergeClasses, hasA11yProp } from './shared/src/utils.js';\n\nconst Icon = forwardRef(\n ({\n color = \"currentColor\",\n size = 24,\n strokeWidth = 2,\n absoluteStrokeWidth,\n className = \"\",\n children,\n iconNode,\n ...rest\n }, ref) => createElement(\n \"svg\",\n {\n ref,\n ...defaultAttributes,\n width: size,\n height: size,\n stroke: color,\n strokeWidth: absoluteStrokeWidth ? Number(strokeWidth) * 24 / Number(size) : strokeWidth,\n className: mergeClasses(\"lucide\", className),\n ...!children && !hasA11yProp(rest) && { \"aria-hidden\": \"true\" },\n ...rest\n },\n [\n ...iconNode.map(([tag, attrs]) => createElement(tag, attrs)),\n ...Array.isArray(children) ? children : [children]\n ]\n )\n);\n\nexport { Icon as default };\n//# sourceMappingURL=Icon.js.map\n","/**\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 { forwardRef, createElement } from 'react';\nimport { mergeClasses, toKebabCase, toPascalCase } from './shared/src/utils.js';\nimport Icon from './Icon.js';\n\nconst createLucideIcon = (iconName, iconNode) => {\n const Component = forwardRef(\n ({ className, ...props }, ref) => createElement(Icon, {\n ref,\n iconNode,\n className: mergeClasses(\n `lucide-${toKebabCase(toPascalCase(iconName))}`,\n `lucide-${iconName}`,\n className\n ),\n ...props\n })\n );\n Component.displayName = toPascalCase(iconName);\n return Component;\n};\n\nexport { createLucideIcon as default };\n//# sourceMappingURL=createLucideIcon.js.map\n"],"names":["forwardRef","createElement"],"mappings":";;AAOA,MAAM,cAAc,CAAC,WAAW,OAAO,QAAQ,sBAAsB,OAAO,EAAE,YAAW;AACzF,MAAM,cAAc,CAAC,WAAW,OAAO;AAAA,EACrC;AAAA,EACA,CAAC,OAAO,IAAI,OAAO,KAAK,GAAG,YAAW,IAAK,GAAG,YAAW;AAC3D;AACA,MAAM,eAAe,CAAC,WAAW;AAC/B,QAAM,YAAY,YAAY,MAAM;AACpC,SAAO,UAAU,OAAO,CAAC,EAAE,YAAW,IAAK,UAAU,MAAM,CAAC;AAC9D;AACA,MAAM,eAAe,IAAI,YAAY,QAAQ,OAAO,CAAC,WAAW,OAAO,UAAU;AAC/E,SAAO,QAAQ,SAAS,KAAK,UAAU,KAAI,MAAO,MAAM,MAAM,QAAQ,SAAS,MAAM;AACvF,CAAC,EAAE,KAAK,GAAG,EAAE,KAAI;AACjB,MAAM,cAAc,CAAC,UAAU;AAC7B,aAAW,QAAQ,OAAO;AACxB,QAAI,KAAK,WAAW,OAAO,KAAK,SAAS,UAAU,SAAS,SAAS;AACnE,aAAO;AAAA,IACT;AAAA,EACF;AACF;AClBA,IAAI,oBAAoB;AAAA,EACtB,OAAO;AAAA,EACP,OAAO;AAAA,EACP,QAAQ;AAAA,EACR,SAAS;AAAA,EACT,MAAM;AAAA,EACN,QAAQ;AAAA,EACR,aAAa;AAAA,EACb,eAAe;AAAA,EACf,gBAAgB;AAClB;ACNA,MAAM,OAAOA,MAAAA;AAAAA,EACX,CAAC;AAAA,IACC,QAAQ;AAAA,IACR,OAAO;AAAA,IACP,cAAc;AAAA,IACd;AAAA,IACA,YAAY;AAAA,IACZ;AAAA,IACA;AAAA,IACA,GAAG;AAAA,EACP,GAAK,QAAQC,MAAAA;AAAAA,IACT;AAAA,IACA;AAAA,MACE;AAAA,MACA,GAAG;AAAA,MACH,OAAO;AAAA,MACP,QAAQ;AAAA,MACR,QAAQ;AAAA,MACR,aAAa,sBAAsB,OAAO,WAAW,IAAI,KAAK,OAAO,IAAI,IAAI;AAAA,MAC7E,WAAW,aAAa,UAAU,SAAS;AAAA,MAC3C,GAAG,CAAC,YAAY,CAAC,YAAY,IAAI,KAAK,EAAE,eAAe,OAAM;AAAA,MAC7D,GAAG;AAAA,IACT;AAAA,IACI;AAAA,MACE,GAAG,SAAS,IAAI,CAAC,CAAC,KAAK,KAAK,MAAMA,MAAAA,cAAc,KAAK,KAAK,CAAC;AAAA,MAC3D,GAAG,MAAM,QAAQ,QAAQ,IAAI,WAAW,CAAC,QAAQ;AAAA,IACvD;AAAA,EACA;AACA;AC5BK,MAAC,mBAAmB,CAAC,UAAU,aAAa;AAC/C,QAAM,YAAYD,MAAAA;AAAAA,IAChB,CAAC,EAAE,WAAW,GAAG,MAAK,GAAI,QAAQC,MAAAA,cAAc,MAAM;AAAA,MACpD;AAAA,MACA;AAAA,MACA,WAAW;AAAA,QACT,UAAU,YAAY,aAAa,QAAQ,CAAC,CAAC;AAAA,QAC7C,UAAU,QAAQ;AAAA,QAClB;AAAA,MACR;AAAA,MACM,GAAG;AAAA,IACT,CAAK;AAAA,EACL;AACE,YAAU,cAAc,aAAa,QAAQ;AAC7C,SAAO;AACT;;","x_google_ignoreList":[0,1,2,3]}
@@ -1,11 +1,4 @@
1
- import * as React from "react";
2
1
  import { forwardRef, createElement } from "react";
3
- import "react/jsx-runtime";
4
- var DirectionContext = React.createContext(void 0);
5
- function useDirection(localDir) {
6
- const globalDir = React.useContext(DirectionContext);
7
- return localDir || globalDir || "ltr";
8
- }
9
2
  const toKebabCase = (string) => string.replace(/([a-z0-9])([A-Z])/g, "$1-$2").toLowerCase();
10
3
  const toCamelCase = (string) => string.replace(
11
4
  /^([A-Z])|[\s-_]+(\w)/g,
@@ -81,18 +74,7 @@ const createLucideIcon = (iconName, iconNode) => {
81
74
  Component.displayName = toPascalCase(iconName);
82
75
  return Component;
83
76
  };
84
- const __iconNode$1 = [["path", { d: "M20 6 9 17l-5-5", key: "1gmf2c" }]];
85
- const Check = createLucideIcon("check", __iconNode$1);
86
- const __iconNode = [["path", { d: "m6 9 6 6 6-6", key: "qrunsl" }]];
87
- const ChevronDown = createLucideIcon("chevron-down", __iconNode);
88
- function clamp(value, [min, max]) {
89
- return Math.min(max, Math.max(min, value));
90
- }
91
77
  export {
92
- ChevronDown as C,
93
- Check as a,
94
- clamp as b,
95
- createLucideIcon as c,
96
- useDirection as u
78
+ createLucideIcon as c
97
79
  };
98
- //# sourceMappingURL=index-BAHiLt0S.js.map
80
+ //# sourceMappingURL=createLucideIcon-C5oU6LEj.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createLucideIcon-C5oU6LEj.js","sources":["../../node_modules/.pnpm/lucide-react@0.544.0_react@19.2.0/node_modules/lucide-react/dist/esm/shared/src/utils.js","../../node_modules/.pnpm/lucide-react@0.544.0_react@19.2.0/node_modules/lucide-react/dist/esm/defaultAttributes.js","../../node_modules/.pnpm/lucide-react@0.544.0_react@19.2.0/node_modules/lucide-react/dist/esm/Icon.js","../../node_modules/.pnpm/lucide-react@0.544.0_react@19.2.0/node_modules/lucide-react/dist/esm/createLucideIcon.js"],"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\nconst toKebabCase = (string) => string.replace(/([a-z0-9])([A-Z])/g, \"$1-$2\").toLowerCase();\nconst toCamelCase = (string) => string.replace(\n /^([A-Z])|[\\s-_]+(\\w)/g,\n (match, p1, p2) => p2 ? p2.toUpperCase() : p1.toLowerCase()\n);\nconst toPascalCase = (string) => {\n const camelCase = toCamelCase(string);\n return camelCase.charAt(0).toUpperCase() + camelCase.slice(1);\n};\nconst mergeClasses = (...classes) => classes.filter((className, index, array) => {\n return Boolean(className) && className.trim() !== \"\" && array.indexOf(className) === index;\n}).join(\" \").trim();\nconst hasA11yProp = (props) => {\n for (const prop in props) {\n if (prop.startsWith(\"aria-\") || prop === \"role\" || prop === \"title\") {\n return true;\n }\n }\n};\n\nexport { hasA11yProp, mergeClasses, toCamelCase, toKebabCase, toPascalCase };\n//# sourceMappingURL=utils.js.map\n","/**\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\nvar defaultAttributes = {\n xmlns: \"http://www.w3.org/2000/svg\",\n width: 24,\n height: 24,\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n strokeWidth: 2,\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n};\n\nexport { defaultAttributes as default };\n//# sourceMappingURL=defaultAttributes.js.map\n","/**\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 { forwardRef, createElement } from 'react';\nimport defaultAttributes from './defaultAttributes.js';\nimport { mergeClasses, hasA11yProp } from './shared/src/utils.js';\n\nconst Icon = forwardRef(\n ({\n color = \"currentColor\",\n size = 24,\n strokeWidth = 2,\n absoluteStrokeWidth,\n className = \"\",\n children,\n iconNode,\n ...rest\n }, ref) => createElement(\n \"svg\",\n {\n ref,\n ...defaultAttributes,\n width: size,\n height: size,\n stroke: color,\n strokeWidth: absoluteStrokeWidth ? Number(strokeWidth) * 24 / Number(size) : strokeWidth,\n className: mergeClasses(\"lucide\", className),\n ...!children && !hasA11yProp(rest) && { \"aria-hidden\": \"true\" },\n ...rest\n },\n [\n ...iconNode.map(([tag, attrs]) => createElement(tag, attrs)),\n ...Array.isArray(children) ? children : [children]\n ]\n )\n);\n\nexport { Icon as default };\n//# sourceMappingURL=Icon.js.map\n","/**\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 { forwardRef, createElement } from 'react';\nimport { mergeClasses, toKebabCase, toPascalCase } from './shared/src/utils.js';\nimport Icon from './Icon.js';\n\nconst createLucideIcon = (iconName, iconNode) => {\n const Component = forwardRef(\n ({ className, ...props }, ref) => createElement(Icon, {\n ref,\n iconNode,\n className: mergeClasses(\n `lucide-${toKebabCase(toPascalCase(iconName))}`,\n `lucide-${iconName}`,\n className\n ),\n ...props\n })\n );\n Component.displayName = toPascalCase(iconName);\n return Component;\n};\n\nexport { createLucideIcon as default };\n//# sourceMappingURL=createLucideIcon.js.map\n"],"names":[],"mappings":";AAOA,MAAM,cAAc,CAAC,WAAW,OAAO,QAAQ,sBAAsB,OAAO,EAAE,YAAW;AACzF,MAAM,cAAc,CAAC,WAAW,OAAO;AAAA,EACrC;AAAA,EACA,CAAC,OAAO,IAAI,OAAO,KAAK,GAAG,YAAW,IAAK,GAAG,YAAW;AAC3D;AACA,MAAM,eAAe,CAAC,WAAW;AAC/B,QAAM,YAAY,YAAY,MAAM;AACpC,SAAO,UAAU,OAAO,CAAC,EAAE,YAAW,IAAK,UAAU,MAAM,CAAC;AAC9D;AACA,MAAM,eAAe,IAAI,YAAY,QAAQ,OAAO,CAAC,WAAW,OAAO,UAAU;AAC/E,SAAO,QAAQ,SAAS,KAAK,UAAU,KAAI,MAAO,MAAM,MAAM,QAAQ,SAAS,MAAM;AACvF,CAAC,EAAE,KAAK,GAAG,EAAE,KAAI;AACjB,MAAM,cAAc,CAAC,UAAU;AAC7B,aAAW,QAAQ,OAAO;AACxB,QAAI,KAAK,WAAW,OAAO,KAAK,SAAS,UAAU,SAAS,SAAS;AACnE,aAAO;AAAA,IACT;AAAA,EACF;AACF;AClBA,IAAI,oBAAoB;AAAA,EACtB,OAAO;AAAA,EACP,OAAO;AAAA,EACP,QAAQ;AAAA,EACR,SAAS;AAAA,EACT,MAAM;AAAA,EACN,QAAQ;AAAA,EACR,aAAa;AAAA,EACb,eAAe;AAAA,EACf,gBAAgB;AAClB;ACNA,MAAM,OAAO;AAAA,EACX,CAAC;AAAA,IACC,QAAQ;AAAA,IACR,OAAO;AAAA,IACP,cAAc;AAAA,IACd;AAAA,IACA,YAAY;AAAA,IACZ;AAAA,IACA;AAAA,IACA,GAAG;AAAA,EACP,GAAK,QAAQ;AAAA,IACT;AAAA,IACA;AAAA,MACE;AAAA,MACA,GAAG;AAAA,MACH,OAAO;AAAA,MACP,QAAQ;AAAA,MACR,QAAQ;AAAA,MACR,aAAa,sBAAsB,OAAO,WAAW,IAAI,KAAK,OAAO,IAAI,IAAI;AAAA,MAC7E,WAAW,aAAa,UAAU,SAAS;AAAA,MAC3C,GAAG,CAAC,YAAY,CAAC,YAAY,IAAI,KAAK,EAAE,eAAe,OAAM;AAAA,MAC7D,GAAG;AAAA,IACT;AAAA,IACI;AAAA,MACE,GAAG,SAAS,IAAI,CAAC,CAAC,KAAK,KAAK,MAAM,cAAc,KAAK,KAAK,CAAC;AAAA,MAC3D,GAAG,MAAM,QAAQ,QAAQ,IAAI,WAAW,CAAC,QAAQ;AAAA,IACvD;AAAA,EACA;AACA;AC5BK,MAAC,mBAAmB,CAAC,UAAU,aAAa;AAC/C,QAAM,YAAY;AAAA,IAChB,CAAC,EAAE,WAAW,GAAG,MAAK,GAAI,QAAQ,cAAc,MAAM;AAAA,MACpD;AAAA,MACA;AAAA,MACA,WAAW;AAAA,QACT,UAAU,YAAY,aAAa,QAAQ,CAAC,CAAC;AAAA,QAC7C,UAAU,QAAQ;AAAA,QAClB;AAAA,MACR;AAAA,MACM,GAAG;AAAA,IACT,CAAK;AAAA,EACL;AACE,YAAU,cAAc,aAAa,QAAQ;AAC7C,SAAO;AACT;","x_google_ignoreList":[0,1,2,3]}
@@ -0,0 +1,38 @@
1
+ "use strict";
2
+ const createLucideIcon = require("./createLucideIcon-Bxsl-Fn_.js");
3
+ const React = require("react");
4
+ require("react/jsx-runtime");
5
+ function _interopNamespaceDefault(e) {
6
+ const n = Object.create(null, { [Symbol.toStringTag]: { value: "Module" } });
7
+ if (e) {
8
+ for (const k in e) {
9
+ if (k !== "default") {
10
+ const d = Object.getOwnPropertyDescriptor(e, k);
11
+ Object.defineProperty(n, k, d.get ? d : {
12
+ enumerable: true,
13
+ get: () => e[k]
14
+ });
15
+ }
16
+ }
17
+ }
18
+ n.default = e;
19
+ return Object.freeze(n);
20
+ }
21
+ const React__namespace = /* @__PURE__ */ _interopNamespaceDefault(React);
22
+ const __iconNode$1 = [["path", { d: "M20 6 9 17l-5-5", key: "1gmf2c" }]];
23
+ const Check = createLucideIcon.createLucideIcon("check", __iconNode$1);
24
+ const __iconNode = [["path", { d: "m6 9 6 6 6-6", key: "qrunsl" }]];
25
+ const ChevronDown = createLucideIcon.createLucideIcon("chevron-down", __iconNode);
26
+ var DirectionContext = React__namespace.createContext(void 0);
27
+ function useDirection(localDir) {
28
+ const globalDir = React__namespace.useContext(DirectionContext);
29
+ return localDir || globalDir || "ltr";
30
+ }
31
+ function clamp(value, [min, max]) {
32
+ return Math.min(max, Math.max(min, value));
33
+ }
34
+ exports.Check = Check;
35
+ exports.ChevronDown = ChevronDown;
36
+ exports.clamp = clamp;
37
+ exports.useDirection = useDirection;
38
+ //# sourceMappingURL=index-CADDwL6K.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index-CADDwL6K.js","sources":["../../node_modules/.pnpm/lucide-react@0.544.0_react@19.2.0/node_modules/lucide-react/dist/esm/icons/check.js","../../node_modules/.pnpm/lucide-react@0.544.0_react@19.2.0/node_modules/lucide-react/dist/esm/icons/chevron-down.js","../../node_modules/.pnpm/@radix-ui+react-direction@1.1.1_@types+react@19.2.0_react@19.2.0/node_modules/@radix-ui/react-direction/dist/index.mjs","../../node_modules/.pnpm/@radix-ui+number@1.1.1/node_modules/@radix-ui/number/dist/index.mjs"],"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 = [[\"path\", { d: \"M20 6 9 17l-5-5\", key: \"1gmf2c\" }]];\nconst Check = createLucideIcon(\"check\", __iconNode);\n\nexport { __iconNode, Check as default };\n//# sourceMappingURL=check.js.map\n","/**\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 = [[\"path\", { d: \"m6 9 6 6 6-6\", key: \"qrunsl\" }]];\nconst ChevronDown = createLucideIcon(\"chevron-down\", __iconNode);\n\nexport { __iconNode, ChevronDown as default };\n//# sourceMappingURL=chevron-down.js.map\n","// packages/react/direction/src/direction.tsx\nimport * as React from \"react\";\nimport { jsx } from \"react/jsx-runtime\";\nvar DirectionContext = React.createContext(void 0);\nvar DirectionProvider = (props) => {\n const { dir, children } = props;\n return /* @__PURE__ */ jsx(DirectionContext.Provider, { value: dir, children });\n};\nfunction useDirection(localDir) {\n const globalDir = React.useContext(DirectionContext);\n return localDir || globalDir || \"ltr\";\n}\nvar Provider = DirectionProvider;\nexport {\n DirectionProvider,\n Provider,\n useDirection\n};\n//# sourceMappingURL=index.mjs.map\n","// packages/core/number/src/number.ts\nfunction clamp(value, [min, max]) {\n return Math.min(max, Math.max(min, value));\n}\nexport {\n clamp\n};\n//# sourceMappingURL=index.mjs.map\n"],"names":["__iconNode","createLucideIcon","React"],"mappings":";;;;;;;;;;;;;;;;;;;;;AASA,MAAMA,eAAa,CAAC,CAAC,QAAQ,EAAE,GAAG,mBAAmB,KAAK,SAAQ,CAAE,CAAC;AAChE,MAAC,QAAQC,iBAAAA,iBAAiB,SAASD,YAAU;ACDlD,MAAM,aAAa,CAAC,CAAC,QAAQ,EAAE,GAAG,gBAAgB,KAAK,SAAQ,CAAE,CAAC;AAC7D,MAAC,cAAcC,iBAAAA,iBAAiB,gBAAgB,UAAU;ACP/D,IAAI,mBAAmBC,iBAAM,cAAc,MAAM;AAKjD,SAAS,aAAa,UAAU;AAC9B,QAAM,YAAYA,iBAAM,WAAW,gBAAgB;AACnD,SAAO,YAAY,aAAa;AAClC;ACVA,SAAS,MAAM,OAAO,CAAC,KAAK,GAAG,GAAG;AAChC,SAAO,KAAK,IAAI,KAAK,KAAK,IAAI,KAAK,KAAK,CAAC;AAC3C;;;;;","x_google_ignoreList":[0,1,2,3]}
@@ -0,0 +1,22 @@
1
+ import { c as createLucideIcon } from "./createLucideIcon-C5oU6LEj.js";
2
+ import * as React from "react";
3
+ import "react/jsx-runtime";
4
+ const __iconNode$1 = [["path", { d: "M20 6 9 17l-5-5", key: "1gmf2c" }]];
5
+ const Check = createLucideIcon("check", __iconNode$1);
6
+ const __iconNode = [["path", { d: "m6 9 6 6 6-6", key: "qrunsl" }]];
7
+ const ChevronDown = createLucideIcon("chevron-down", __iconNode);
8
+ var DirectionContext = React.createContext(void 0);
9
+ function useDirection(localDir) {
10
+ const globalDir = React.useContext(DirectionContext);
11
+ return localDir || globalDir || "ltr";
12
+ }
13
+ function clamp(value, [min, max]) {
14
+ return Math.min(max, Math.max(min, value));
15
+ }
16
+ export {
17
+ ChevronDown as C,
18
+ Check as a,
19
+ clamp as c,
20
+ useDirection as u
21
+ };
22
+ //# sourceMappingURL=index-DBpvJQOe.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index-DBpvJQOe.js","sources":["../../node_modules/.pnpm/lucide-react@0.544.0_react@19.2.0/node_modules/lucide-react/dist/esm/icons/check.js","../../node_modules/.pnpm/lucide-react@0.544.0_react@19.2.0/node_modules/lucide-react/dist/esm/icons/chevron-down.js","../../node_modules/.pnpm/@radix-ui+react-direction@1.1.1_@types+react@19.2.0_react@19.2.0/node_modules/@radix-ui/react-direction/dist/index.mjs","../../node_modules/.pnpm/@radix-ui+number@1.1.1/node_modules/@radix-ui/number/dist/index.mjs"],"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 = [[\"path\", { d: \"M20 6 9 17l-5-5\", key: \"1gmf2c\" }]];\nconst Check = createLucideIcon(\"check\", __iconNode);\n\nexport { __iconNode, Check as default };\n//# sourceMappingURL=check.js.map\n","/**\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 = [[\"path\", { d: \"m6 9 6 6 6-6\", key: \"qrunsl\" }]];\nconst ChevronDown = createLucideIcon(\"chevron-down\", __iconNode);\n\nexport { __iconNode, ChevronDown as default };\n//# sourceMappingURL=chevron-down.js.map\n","// packages/react/direction/src/direction.tsx\nimport * as React from \"react\";\nimport { jsx } from \"react/jsx-runtime\";\nvar DirectionContext = React.createContext(void 0);\nvar DirectionProvider = (props) => {\n const { dir, children } = props;\n return /* @__PURE__ */ jsx(DirectionContext.Provider, { value: dir, children });\n};\nfunction useDirection(localDir) {\n const globalDir = React.useContext(DirectionContext);\n return localDir || globalDir || \"ltr\";\n}\nvar Provider = DirectionProvider;\nexport {\n DirectionProvider,\n Provider,\n useDirection\n};\n//# sourceMappingURL=index.mjs.map\n","// packages/core/number/src/number.ts\nfunction clamp(value, [min, max]) {\n return Math.min(max, Math.max(min, value));\n}\nexport {\n clamp\n};\n//# sourceMappingURL=index.mjs.map\n"],"names":["__iconNode"],"mappings":";;;AASA,MAAMA,eAAa,CAAC,CAAC,QAAQ,EAAE,GAAG,mBAAmB,KAAK,SAAQ,CAAE,CAAC;AAChE,MAAC,QAAQ,iBAAiB,SAASA,YAAU;ACDlD,MAAM,aAAa,CAAC,CAAC,QAAQ,EAAE,GAAG,gBAAgB,KAAK,SAAQ,CAAE,CAAC;AAC7D,MAAC,cAAc,iBAAiB,gBAAgB,UAAU;ACP/D,IAAI,mBAAmB,MAAM,cAAc,MAAM;AAKjD,SAAS,aAAa,UAAU;AAC9B,QAAM,YAAY,MAAM,WAAW,gBAAgB;AACnD,SAAO,YAAY,aAAa;AAClC;ACVA,SAAS,MAAM,OAAO,CAAC,KAAK,GAAG,GAAG;AAChC,SAAO,KAAK,IAAI,KAAK,KAAK,IAAI,KAAK,KAAK,CAAC;AAC3C;","x_google_ignoreList":[0,1,2,3]}
@@ -1,9 +1,10 @@
1
1
  "use strict";
2
- const index = require("./index-BPW1Qzmi.js");
2
+ const createLucideIcon = require("./createLucideIcon-Bxsl-Fn_.js");
3
3
  const jsxRuntime = require("react/jsx-runtime");
4
4
  const React = require("react");
5
5
  const textarea = require("./textarea-D2_KC-J4.js");
6
- const index$1 = require("./index-C_sOsPRt.js");
6
+ const index = require("./index-C_sOsPRt.js");
7
+ const index$1 = require("./index-CADDwL6K.js");
7
8
  const utils = require("./utils-ij3i9zTT.js");
8
9
  function _interopNamespaceDefault(e) {
9
10
  const n = Object.create(null, { [Symbol.toStringTag]: { value: "Module" } });
@@ -26,7 +27,7 @@ const __iconNode = [
26
27
  ["path", { d: "m21 21-4.34-4.34", key: "14j7rj" }],
27
28
  ["circle", { cx: "11", cy: "11", r: "8", key: "4ej97u" }]
28
29
  ];
29
- const Search = index.createLucideIcon("search", __iconNode);
30
+ const Search = createLucideIcon.createLucideIcon("search", __iconNode);
30
31
  function useStateMachine(initialState, machine) {
31
32
  return React__namespace.useReducer((state, event) => {
32
33
  const nextState = machine[state][event];
@@ -54,8 +55,8 @@ var ScrollArea$1 = React__namespace.forwardRef(
54
55
  const [cornerHeight, setCornerHeight] = React__namespace.useState(0);
55
56
  const [scrollbarXEnabled, setScrollbarXEnabled] = React__namespace.useState(false);
56
57
  const [scrollbarYEnabled, setScrollbarYEnabled] = React__namespace.useState(false);
57
- const composedRefs = index$1.useComposedRefs(forwardedRef, (node) => setScrollArea(node));
58
- const direction = index.useDirection(dir);
58
+ const composedRefs = index.useComposedRefs(forwardedRef, (node) => setScrollArea(node));
59
+ const direction = index$1.useDirection(dir);
59
60
  return /* @__PURE__ */ jsxRuntime.jsx(
60
61
  ScrollAreaProvider,
61
62
  {
@@ -104,7 +105,7 @@ var ScrollAreaViewport = React__namespace.forwardRef(
104
105
  const { __scopeScrollArea, children, nonce, ...viewportProps } = props;
105
106
  const context = useScrollAreaContext(VIEWPORT_NAME, __scopeScrollArea);
106
107
  const ref = React__namespace.useRef(null);
107
- const composedRefs = index$1.useComposedRefs(forwardedRef, ref, context.onViewportChange);
108
+ const composedRefs = index.useComposedRefs(forwardedRef, ref, context.onViewportChange);
108
109
  return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
109
110
  /* @__PURE__ */ jsxRuntime.jsx(
110
111
  "style",
@@ -351,7 +352,7 @@ var ScrollAreaScrollbarX = React__namespace.forwardRef((props, forwardedRef) =>
351
352
  const context = useScrollAreaContext(SCROLLBAR_NAME, props.__scopeScrollArea);
352
353
  const [computedStyle, setComputedStyle] = React__namespace.useState();
353
354
  const ref = React__namespace.useRef(null);
354
- const composeRefs = index$1.useComposedRefs(forwardedRef, ref, context.onScrollbarXChange);
355
+ const composeRefs = index.useComposedRefs(forwardedRef, ref, context.onScrollbarXChange);
355
356
  React__namespace.useEffect(() => {
356
357
  if (ref.current) setComputedStyle(getComputedStyle(ref.current));
357
358
  }, [ref]);
@@ -401,7 +402,7 @@ var ScrollAreaScrollbarY = React__namespace.forwardRef((props, forwardedRef) =>
401
402
  const context = useScrollAreaContext(SCROLLBAR_NAME, props.__scopeScrollArea);
402
403
  const [computedStyle, setComputedStyle] = React__namespace.useState();
403
404
  const ref = React__namespace.useRef(null);
404
- const composeRefs = index$1.useComposedRefs(forwardedRef, ref, context.onScrollbarYChange);
405
+ const composeRefs = index.useComposedRefs(forwardedRef, ref, context.onScrollbarYChange);
405
406
  React__namespace.useEffect(() => {
406
407
  if (ref.current) setComputedStyle(getComputedStyle(ref.current));
407
408
  }, [ref]);
@@ -464,7 +465,7 @@ var ScrollAreaScrollbarImpl = React__namespace.forwardRef((props, forwardedRef)
464
465
  } = props;
465
466
  const context = useScrollAreaContext(SCROLLBAR_NAME, __scopeScrollArea);
466
467
  const [scrollbar, setScrollbar] = React__namespace.useState(null);
467
- const composeRefs = index$1.useComposedRefs(forwardedRef, (node) => setScrollbar(node));
468
+ const composeRefs = index.useComposedRefs(forwardedRef, (node) => setScrollbar(node));
468
469
  const rectRef = React__namespace.useRef(null);
469
470
  const prevWebkitUserSelectRef = React__namespace.useRef("");
470
471
  const viewport = context.viewport;
@@ -548,7 +549,7 @@ var ScrollAreaThumbImpl = React__namespace.forwardRef(
548
549
  const scrollAreaContext = useScrollAreaContext(THUMB_NAME, __scopeScrollArea);
549
550
  const scrollbarContext = useScrollbarContext(THUMB_NAME, __scopeScrollArea);
550
551
  const { onThumbPositionChange } = scrollbarContext;
551
- const composedRef = index$1.useComposedRefs(
552
+ const composedRef = index.useComposedRefs(
552
553
  forwardedRef,
553
554
  (node) => scrollbarContext.onThumbChange(node)
554
555
  );
@@ -674,7 +675,7 @@ function getThumbOffsetFromScroll(scrollPos, sizes, dir = "ltr") {
674
675
  const maxScrollPos = sizes.content - sizes.viewport;
675
676
  const maxThumbPos = scrollbar - thumbSizePx;
676
677
  const scrollClampRange = dir === "ltr" ? [0, maxScrollPos] : [maxScrollPos * -1, 0];
677
- const scrollWithoutMomentum = index.clamp(scrollPos, scrollClampRange);
678
+ const scrollWithoutMomentum = index$1.clamp(scrollPos, scrollClampRange);
678
679
  const interpolate = linearScale([0, maxScrollPos], [0, maxThumbPos]);
679
680
  return interpolate(scrollWithoutMomentum);
680
681
  }
@@ -765,4 +766,4 @@ function ScrollBar({ className, orientation = "vertical", ...props }) {
765
766
  exports.ScrollArea = ScrollArea;
766
767
  exports.ScrollBar = ScrollBar;
767
768
  exports.Search = Search;
768
- //# sourceMappingURL=scroll-area-B-5YmafW.js.map
769
+ //# sourceMappingURL=scroll-area-BOU8O70p.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"scroll-area-B-5YmafW.js","sources":["../../node_modules/.pnpm/lucide-react@0.544.0_react@19.2.0/node_modules/lucide-react/dist/esm/icons/search.js","../../node_modules/.pnpm/@radix-ui+react-scroll-area@1.2.10_@types+react-dom@19.2.0_@types+react@19.2.0__@types+react@_sd7iwoci4s4iw2cu3brmrxxgpe/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
+ {"version":3,"file":"scroll-area-BOU8O70p.js","sources":["../../node_modules/.pnpm/lucide-react@0.544.0_react@19.2.0/node_modules/lucide-react/dist/esm/icons/search.js","../../node_modules/.pnpm/@radix-ui+react-scroll-area@1.2.10_@types+react-dom@19.2.0_@types+react@19.2.0__@types+react@_sd7iwoci4s4iw2cu3brmrxxgpe/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,9 @@
1
- import { c as createLucideIcon, u as useDirection, b as clamp } from "./index-BAHiLt0S.js";
1
+ import { c as createLucideIcon } from "./createLucideIcon-C5oU6LEj.js";
2
2
  import { jsx, jsxs, Fragment } from "react/jsx-runtime";
3
3
  import * as React from "react";
4
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
5
  import { u as useComposedRefs } from "./index-B4RTH1-D.js";
6
+ import { u as useDirection, c as clamp } from "./index-DBpvJQOe.js";
6
7
  import { c as cn } from "./utils-H80jjgLf.js";
7
8
  const __iconNode = [
8
9
  ["path", { d: "m21 21-4.34-4.34", key: "14j7rj" }],
@@ -749,4 +750,4 @@ export {
749
750
  ScrollArea as a,
750
751
  ScrollBar as b
751
752
  };
752
- //# sourceMappingURL=scroll-area-WNAy-5-i.js.map
753
+ //# sourceMappingURL=scroll-area-DAQUXpBS.js.map