@senitix/ui 0.4.0

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 (206) hide show
  1. package/dist/avatar-C0aVNCG9.cjs +2 -0
  2. package/dist/avatar-C0aVNCG9.cjs.map +1 -0
  3. package/dist/avatar-CN6wcrqY.js +288 -0
  4. package/dist/avatar-CN6wcrqY.js.map +1 -0
  5. package/dist/calendar-BFWc4IB7.js +1182 -0
  6. package/dist/calendar-BFWc4IB7.js.map +1 -0
  7. package/dist/calendar-BUm7YrNf.cjs +2 -0
  8. package/dist/calendar-BUm7YrNf.cjs.map +1 -0
  9. package/dist/calendar-ChJkFXXr.js +11 -0
  10. package/dist/calendar-ChJkFXXr.js.map +1 -0
  11. package/dist/calendar-SwL5isYC.cjs +2 -0
  12. package/dist/calendar-SwL5isYC.cjs.map +1 -0
  13. package/dist/card-K4fxyYwE.js +51 -0
  14. package/dist/card-K4fxyYwE.js.map +1 -0
  15. package/dist/card-tMkUxpmW.cjs +2 -0
  16. package/dist/card-tMkUxpmW.cjs.map +1 -0
  17. package/dist/checkbox-CpOq5hkT.js +289 -0
  18. package/dist/checkbox-CpOq5hkT.js.map +1 -0
  19. package/dist/checkbox-D7-LQyCl.cjs +2 -0
  20. package/dist/checkbox-D7-LQyCl.cjs.map +1 -0
  21. package/dist/chevron-down-DHdXqOqK.cjs +2 -0
  22. package/dist/chevron-down-DHdXqOqK.cjs.map +1 -0
  23. package/dist/chevron-down-DJ1_YIFu.js +8 -0
  24. package/dist/chevron-down-DJ1_YIFu.js.map +1 -0
  25. package/dist/chevron-right-B3bovvh0.js +8 -0
  26. package/dist/chevron-right-B3bovvh0.js.map +1 -0
  27. package/dist/chevron-right-Dvyd11q0.cjs +2 -0
  28. package/dist/chevron-right-Dvyd11q0.cjs.map +1 -0
  29. package/dist/chevron-up-B9fuiZhc.cjs +2 -0
  30. package/dist/chevron-up-B9fuiZhc.cjs.map +1 -0
  31. package/dist/chevron-up-CGtXOr51.js +6 -0
  32. package/dist/chevron-up-CGtXOr51.js.map +1 -0
  33. package/dist/components/charts/index.cjs.js +2 -0
  34. package/dist/components/charts/index.cjs.js.map +1 -0
  35. package/dist/components/charts/index.es.js +12 -0
  36. package/dist/components/charts/index.es.js.map +1 -0
  37. package/dist/components/data-display/index.cjs.js +2 -0
  38. package/dist/components/data-display/index.cjs.js.map +1 -0
  39. package/dist/components/data-display/index.es.js +25 -0
  40. package/dist/components/data-display/index.es.js.map +1 -0
  41. package/dist/components/dnd/index.cjs.js +2 -0
  42. package/dist/components/dnd/index.cjs.js.map +1 -0
  43. package/dist/components/dnd/index.es.js +9 -0
  44. package/dist/components/dnd/index.es.js.map +1 -0
  45. package/dist/components/feedback/index.cjs.js +2 -0
  46. package/dist/components/feedback/index.cjs.js.map +1 -0
  47. package/dist/components/feedback/index.es.js +16 -0
  48. package/dist/components/feedback/index.es.js.map +1 -0
  49. package/dist/components/forms/index.cjs.js +2 -0
  50. package/dist/components/forms/index.cjs.js.map +1 -0
  51. package/dist/components/forms/index.es.js +27 -0
  52. package/dist/components/forms/index.es.js.map +1 -0
  53. package/dist/components/layouts/index.cjs.js +2 -0
  54. package/dist/components/layouts/index.cjs.js.map +1 -0
  55. package/dist/components/layouts/index.es.js +25 -0
  56. package/dist/components/layouts/index.es.js.map +1 -0
  57. package/dist/components/navigation/index.cjs.js +2 -0
  58. package/dist/components/navigation/index.cjs.js.map +1 -0
  59. package/dist/components/navigation/index.es.js +42 -0
  60. package/dist/components/navigation/index.es.js.map +1 -0
  61. package/dist/components/ui/index.cjs.js +2 -0
  62. package/dist/components/ui/index.cjs.js.map +1 -0
  63. package/dist/components/ui/index.es.js +165 -0
  64. package/dist/components/ui/index.es.js.map +1 -0
  65. package/dist/createLucideIcon-BbeNo6vq.js +56 -0
  66. package/dist/createLucideIcon-BbeNo6vq.js.map +1 -0
  67. package/dist/createLucideIcon-i5GEhNMV.cjs +2 -0
  68. package/dist/createLucideIcon-i5GEhNMV.cjs.map +1 -0
  69. package/dist/ellipsis-BW2gWki8.cjs +2 -0
  70. package/dist/ellipsis-BW2gWki8.cjs.map +1 -0
  71. package/dist/ellipsis-CiKEaUNP.js +10 -0
  72. package/dist/ellipsis-CiKEaUNP.js.map +1 -0
  73. package/dist/file-V_hhCUhr.cjs +2 -0
  74. package/dist/file-V_hhCUhr.cjs.map +1 -0
  75. package/dist/file-wzTXnWqz.js +9 -0
  76. package/dist/file-wzTXnWqz.js.map +1 -0
  77. package/dist/filter-tags-DjUaNXHR.cjs +5 -0
  78. package/dist/filter-tags-DjUaNXHR.cjs.map +1 -0
  79. package/dist/filter-tags-i_I8qV1N.js +2658 -0
  80. package/dist/filter-tags-i_I8qV1N.js.map +1 -0
  81. package/dist/full-calendar-7ac2FFU6.js +3518 -0
  82. package/dist/full-calendar-7ac2FFU6.js.map +1 -0
  83. package/dist/full-calendar-Cpeh5xMP.cjs +8 -0
  84. package/dist/full-calendar-Cpeh5xMP.cjs.map +1 -0
  85. package/dist/global-search-UNXjoFlI.cjs +2 -0
  86. package/dist/global-search-UNXjoFlI.cjs.map +1 -0
  87. package/dist/global-search-h1rVbP2q.js +1188 -0
  88. package/dist/global-search-h1rVbP2q.js.map +1 -0
  89. package/dist/hooks/index.cjs.js +2 -0
  90. package/dist/hooks/index.cjs.js.map +1 -0
  91. package/dist/hooks/index.es.js +13 -0
  92. package/dist/hooks/index.es.js.map +1 -0
  93. package/dist/index-Co9o9StL.js +33 -0
  94. package/dist/index-Co9o9StL.js.map +1 -0
  95. package/dist/index-CwJPJKOE.js +2278 -0
  96. package/dist/index-CwJPJKOE.js.map +1 -0
  97. package/dist/index-CzVK9Zyb.cjs +6 -0
  98. package/dist/index-CzVK9Zyb.cjs.map +1 -0
  99. package/dist/index-l828OqQN.js +288 -0
  100. package/dist/index-l828OqQN.js.map +1 -0
  101. package/dist/index-lGzB9daF.cjs +2 -0
  102. package/dist/index-lGzB9daF.cjs.map +1 -0
  103. package/dist/index-lT9bLt9X.cjs +2 -0
  104. package/dist/index-lT9bLt9X.cjs.map +1 -0
  105. package/dist/index.cjs.js +2 -0
  106. package/dist/index.cjs.js.map +1 -0
  107. package/dist/index.es.js +332 -0
  108. package/dist/index.es.js.map +1 -0
  109. package/dist/input-CZrckPLk.cjs +42 -0
  110. package/dist/input-CZrckPLk.cjs.map +1 -0
  111. package/dist/input-D4AoiWxo.js +3629 -0
  112. package/dist/input-D4AoiWxo.js.map +1 -0
  113. package/dist/locale-provider-DHMwuneF.cjs +2 -0
  114. package/dist/locale-provider-DHMwuneF.cjs.map +1 -0
  115. package/dist/locale-provider-DanG6RRG.js +1012 -0
  116. package/dist/locale-provider-DanG6RRG.js.map +1 -0
  117. package/dist/locale-selector-Ppe0KTi-.cjs +2 -0
  118. package/dist/locale-selector-Ppe0KTi-.cjs.map +1 -0
  119. package/dist/locale-selector-xn2GpdP9.js +1745 -0
  120. package/dist/locale-selector-xn2GpdP9.js.map +1 -0
  121. package/dist/minus-BXBFZSZs.cjs +2 -0
  122. package/dist/minus-BXBFZSZs.cjs.map +1 -0
  123. package/dist/minus-DvlYtl96.js +6 -0
  124. package/dist/minus-DvlYtl96.js.map +1 -0
  125. package/dist/multi-container-C2UpSw5f.js +731 -0
  126. package/dist/multi-container-C2UpSw5f.js.map +1 -0
  127. package/dist/multi-container-DMKL8c9B.cjs +2 -0
  128. package/dist/multi-container-DMKL8c9B.cjs.map +1 -0
  129. package/dist/pipeline-By5_8AFg.cjs +2 -0
  130. package/dist/pipeline-By5_8AFg.cjs.map +1 -0
  131. package/dist/pipeline-D-QNSU0U.js +1036 -0
  132. package/dist/pipeline-D-QNSU0U.js.map +1 -0
  133. package/dist/plus-8wKRkVu-.cjs +2 -0
  134. package/dist/plus-8wKRkVu-.cjs.map +1 -0
  135. package/dist/plus-CJD68KQD.js +9 -0
  136. package/dist/plus-CJD68KQD.js.map +1 -0
  137. package/dist/popover-4V4sGe1U.js +765 -0
  138. package/dist/popover-4V4sGe1U.js.map +1 -0
  139. package/dist/popover-ivh-plLc.cjs +2 -0
  140. package/dist/popover-ivh-plLc.cjs.map +1 -0
  141. package/dist/progress-CFnuLqnS.cjs +7 -0
  142. package/dist/progress-CFnuLqnS.cjs.map +1 -0
  143. package/dist/progress-D5AsrWa6.js +222 -0
  144. package/dist/progress-D5AsrWa6.js.map +1 -0
  145. package/dist/providers/index.cjs.js +2 -0
  146. package/dist/providers/index.cjs.js.map +1 -0
  147. package/dist/providers/index.es.js +9 -0
  148. package/dist/providers/index.es.js.map +1 -0
  149. package/dist/scroll-area-DQeqDp3Y.js +952 -0
  150. package/dist/scroll-area-DQeqDp3Y.js.map +1 -0
  151. package/dist/scroll-area-DYOiJMXh.cjs +2 -0
  152. package/dist/scroll-area-DYOiJMXh.cjs.map +1 -0
  153. package/dist/select-C1rNBi6c.js +974 -0
  154. package/dist/select-C1rNBi6c.js.map +1 -0
  155. package/dist/select-m-Mqwxu3.cjs +2 -0
  156. package/dist/select-m-Mqwxu3.cjs.map +1 -0
  157. package/dist/separator-DBUivkHq.cjs +2 -0
  158. package/dist/separator-DBUivkHq.cjs.map +1 -0
  159. package/dist/separator-DsfoJx-2.js +395 -0
  160. package/dist/separator-DsfoJx-2.js.map +1 -0
  161. package/dist/sheet-BVWCpq7E.js +84 -0
  162. package/dist/sheet-BVWCpq7E.js.map +1 -0
  163. package/dist/sheet-mKiFLVnK.cjs +2 -0
  164. package/dist/sheet-mKiFLVnK.cjs.map +1 -0
  165. package/dist/skeleton-BSwwYaQU.cjs +2 -0
  166. package/dist/skeleton-BSwwYaQU.cjs.map +1 -0
  167. package/dist/skeleton-BmGbfJw3.js +9 -0
  168. package/dist/skeleton-BmGbfJw3.js.map +1 -0
  169. package/dist/sortable.esm-Blhf_jh1.js +3391 -0
  170. package/dist/sortable.esm-Blhf_jh1.js.map +1 -0
  171. package/dist/sortable.esm-DcQYlXi3.cjs +6 -0
  172. package/dist/sortable.esm-DcQYlXi3.cjs.map +1 -0
  173. package/dist/sparkline-chart-Da-ehDGv.js +21082 -0
  174. package/dist/sparkline-chart-Da-ehDGv.js.map +1 -0
  175. package/dist/sparkline-chart-ca3uTzVK.cjs +68 -0
  176. package/dist/sparkline-chart-ca3uTzVK.cjs.map +1 -0
  177. package/dist/trending-up-D3Nfrhi3.cjs +2 -0
  178. package/dist/trending-up-D3Nfrhi3.cjs.map +1 -0
  179. package/dist/trending-up-DPwlYzQb.js +9 -0
  180. package/dist/trending-up-DPwlYzQb.js.map +1 -0
  181. package/dist/ui.css +1 -0
  182. package/dist/use-formatters-d97RVcmg.cjs +2 -0
  183. package/dist/use-formatters-d97RVcmg.cjs.map +1 -0
  184. package/dist/use-formatters-l1_2c8z0.js +6682 -0
  185. package/dist/use-formatters-l1_2c8z0.js.map +1 -0
  186. package/dist/use-local-storage-BjlrKzE-.js +42 -0
  187. package/dist/use-local-storage-BjlrKzE-.js.map +1 -0
  188. package/dist/use-local-storage-q-1odzIu.cjs +2 -0
  189. package/dist/use-local-storage-q-1odzIu.cjs.map +1 -0
  190. package/dist/use-mobile-C-LMK4T8.js +15 -0
  191. package/dist/use-mobile-C-LMK4T8.js.map +1 -0
  192. package/dist/use-mobile-DY7TJ5lx.cjs +2 -0
  193. package/dist/use-mobile-DY7TJ5lx.cjs.map +1 -0
  194. package/dist/use-toast-DG2qdYhl.js +97 -0
  195. package/dist/use-toast-DG2qdYhl.js.map +1 -0
  196. package/dist/use-toast-DxZJ8uUm.cjs +2 -0
  197. package/dist/use-toast-DxZJ8uUm.cjs.map +1 -0
  198. package/dist/utils/index.cjs.js +2 -0
  199. package/dist/utils/index.cjs.js.map +1 -0
  200. package/dist/utils/index.es.js +5 -0
  201. package/dist/utils/index.es.js.map +1 -0
  202. package/dist/welcome-card-CPolYl1D.cjs +2 -0
  203. package/dist/welcome-card-CPolYl1D.cjs.map +1 -0
  204. package/dist/welcome-card-CxMJZ8bv.js +963 -0
  205. package/dist/welcome-card-CxMJZ8bv.js.map +1 -0
  206. package/package.json +179 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scroll-area-DQeqDp3Y.js","sources":["../node_modules/@radix-ui/react-context/dist/index.mjs","../node_modules/@radix-ui/react-compose-refs/dist/index.mjs","../node_modules/@radix-ui/primitive/dist/index.mjs","../node_modules/@radix-ui/react-use-layout-effect/dist/index.mjs","../node_modules/@radix-ui/react-primitive/node_modules/@radix-ui/react-slot/dist/index.mjs","../node_modules/@radix-ui/react-primitive/dist/index.mjs","../node_modules/@radix-ui/react-presence/dist/index.mjs","../node_modules/@radix-ui/react-direction/dist/index.mjs","../node_modules/lucide-react/dist/esm/icons/check.js","../node_modules/lucide-react/dist/esm/icons/x.js","../node_modules/class-variance-authority/dist/index.mjs","../node_modules/@radix-ui/react-use-callback-ref/dist/index.mjs","../node_modules/@radix-ui/react-slot/dist/index.mjs","../src/components/ui/button.tsx","../src/components/ui/badge.tsx","../node_modules/@radix-ui/number/dist/index.mjs","../node_modules/@radix-ui/react-scroll-area/dist/index.mjs","../src/components/ui/scroll-area.tsx"],"sourcesContent":["// packages/react/context/src/create-context.tsx\nimport * as React from \"react\";\nimport { jsx } from \"react/jsx-runtime\";\nfunction createContext2(rootComponentName, defaultContext) {\n const Context = React.createContext(defaultContext);\n const Provider = (props) => {\n const { children, ...context } = props;\n const value = React.useMemo(() => context, Object.values(context));\n return /* @__PURE__ */ jsx(Context.Provider, { value, children });\n };\n Provider.displayName = rootComponentName + \"Provider\";\n function useContext2(consumerName) {\n const context = React.useContext(Context);\n if (context) return context;\n if (defaultContext !== void 0) return defaultContext;\n throw new Error(`\\`${consumerName}\\` must be used within \\`${rootComponentName}\\``);\n }\n return [Provider, useContext2];\n}\nfunction createContextScope(scopeName, createContextScopeDeps = []) {\n let defaultContexts = [];\n function createContext3(rootComponentName, defaultContext) {\n const BaseContext = React.createContext(defaultContext);\n const index = defaultContexts.length;\n defaultContexts = [...defaultContexts, defaultContext];\n const Provider = (props) => {\n const { scope, children, ...context } = props;\n const Context = scope?.[scopeName]?.[index] || BaseContext;\n const value = React.useMemo(() => context, Object.values(context));\n return /* @__PURE__ */ jsx(Context.Provider, { value, children });\n };\n Provider.displayName = rootComponentName + \"Provider\";\n function useContext2(consumerName, scope) {\n const Context = scope?.[scopeName]?.[index] || BaseContext;\n const context = React.useContext(Context);\n if (context) return context;\n if (defaultContext !== void 0) return defaultContext;\n throw new Error(`\\`${consumerName}\\` must be used within \\`${rootComponentName}\\``);\n }\n return [Provider, useContext2];\n }\n const createScope = () => {\n const scopeContexts = defaultContexts.map((defaultContext) => {\n return React.createContext(defaultContext);\n });\n return function useScope(scope) {\n const contexts = scope?.[scopeName] || scopeContexts;\n return React.useMemo(\n () => ({ [`__scope${scopeName}`]: { ...scope, [scopeName]: contexts } }),\n [scope, contexts]\n );\n };\n };\n createScope.scopeName = scopeName;\n return [createContext3, composeContextScopes(createScope, ...createContextScopeDeps)];\n}\nfunction composeContextScopes(...scopes) {\n const baseScope = scopes[0];\n if (scopes.length === 1) return baseScope;\n const createScope = () => {\n const scopeHooks = scopes.map((createScope2) => ({\n useScope: createScope2(),\n scopeName: createScope2.scopeName\n }));\n return function useComposedScopes(overrideScopes) {\n const nextScopes = scopeHooks.reduce((nextScopes2, { useScope, scopeName }) => {\n const scopeProps = useScope(overrideScopes);\n const currentScope = scopeProps[`__scope${scopeName}`];\n return { ...nextScopes2, ...currentScope };\n }, {});\n return React.useMemo(() => ({ [`__scope${baseScope.scopeName}`]: nextScopes }), [nextScopes]);\n };\n };\n createScope.scopeName = baseScope.scopeName;\n return createScope;\n}\nexport {\n createContext2 as createContext,\n createContextScope\n};\n//# sourceMappingURL=index.mjs.map\n","// packages/react/compose-refs/src/compose-refs.tsx\nimport * as React from \"react\";\nfunction setRef(ref, value) {\n if (typeof ref === \"function\") {\n return ref(value);\n } else if (ref !== null && ref !== void 0) {\n ref.current = value;\n }\n}\nfunction composeRefs(...refs) {\n return (node) => {\n let hasCleanup = false;\n const cleanups = refs.map((ref) => {\n const cleanup = setRef(ref, node);\n if (!hasCleanup && typeof cleanup == \"function\") {\n hasCleanup = true;\n }\n return cleanup;\n });\n if (hasCleanup) {\n return () => {\n for (let i = 0; i < cleanups.length; i++) {\n const cleanup = cleanups[i];\n if (typeof cleanup == \"function\") {\n cleanup();\n } else {\n setRef(refs[i], null);\n }\n }\n };\n }\n };\n}\nfunction useComposedRefs(...refs) {\n return React.useCallback(composeRefs(...refs), refs);\n}\nexport {\n composeRefs,\n useComposedRefs\n};\n//# sourceMappingURL=index.mjs.map\n","// src/primitive.tsx\nvar canUseDOM = !!(typeof window !== \"undefined\" && window.document && window.document.createElement);\nfunction composeEventHandlers(originalEventHandler, ourEventHandler, { checkForDefaultPrevented = true } = {}) {\n return function handleEvent(event) {\n originalEventHandler?.(event);\n if (checkForDefaultPrevented === false || !event.defaultPrevented) {\n return ourEventHandler?.(event);\n }\n };\n}\nfunction getOwnerWindow(element) {\n if (!canUseDOM) {\n throw new Error(\"Cannot access window outside of the DOM\");\n }\n return element?.ownerDocument?.defaultView ?? window;\n}\nfunction getOwnerDocument(element) {\n if (!canUseDOM) {\n throw new Error(\"Cannot access document outside of the DOM\");\n }\n return element?.ownerDocument ?? document;\n}\nfunction getActiveElement(node, activeDescendant = false) {\n const { activeElement } = getOwnerDocument(node);\n if (!activeElement?.nodeName) {\n return null;\n }\n if (isFrame(activeElement) && activeElement.contentDocument) {\n return getActiveElement(activeElement.contentDocument.body, activeDescendant);\n }\n if (activeDescendant) {\n const id = activeElement.getAttribute(\"aria-activedescendant\");\n if (id) {\n const element = getOwnerDocument(activeElement).getElementById(id);\n if (element) {\n return element;\n }\n }\n }\n return activeElement;\n}\nfunction isFrame(element) {\n return element.tagName === \"IFRAME\";\n}\nexport {\n canUseDOM,\n composeEventHandlers,\n getActiveElement,\n getOwnerDocument,\n getOwnerWindow,\n isFrame\n};\n//# sourceMappingURL=index.mjs.map\n","// packages/react/use-layout-effect/src/use-layout-effect.tsx\nimport * as React from \"react\";\nvar useLayoutEffect2 = globalThis?.document ? React.useLayoutEffect : () => {\n};\nexport {\n useLayoutEffect2 as useLayoutEffect\n};\n//# sourceMappingURL=index.mjs.map\n","// src/slot.tsx\nimport * as React from \"react\";\nimport { composeRefs } from \"@radix-ui/react-compose-refs\";\nimport { Fragment as Fragment2, jsx } from \"react/jsx-runtime\";\n// @__NO_SIDE_EFFECTS__\nfunction createSlot(ownerName) {\n const SlotClone = /* @__PURE__ */ createSlotClone(ownerName);\n const Slot2 = React.forwardRef((props, forwardedRef) => {\n const { children, ...slotProps } = props;\n const childrenArray = React.Children.toArray(children);\n const slottable = childrenArray.find(isSlottable);\n if (slottable) {\n const newElement = slottable.props.children;\n const newChildren = childrenArray.map((child) => {\n if (child === slottable) {\n if (React.Children.count(newElement) > 1) return React.Children.only(null);\n return React.isValidElement(newElement) ? newElement.props.children : null;\n } else {\n return child;\n }\n });\n return /* @__PURE__ */ jsx(SlotClone, { ...slotProps, ref: forwardedRef, children: React.isValidElement(newElement) ? React.cloneElement(newElement, void 0, newChildren) : null });\n }\n return /* @__PURE__ */ jsx(SlotClone, { ...slotProps, ref: forwardedRef, children });\n });\n Slot2.displayName = `${ownerName}.Slot`;\n return Slot2;\n}\nvar Slot = /* @__PURE__ */ createSlot(\"Slot\");\n// @__NO_SIDE_EFFECTS__\nfunction createSlotClone(ownerName) {\n const SlotClone = React.forwardRef((props, forwardedRef) => {\n const { children, ...slotProps } = props;\n if (React.isValidElement(children)) {\n const childrenRef = getElementRef(children);\n const props2 = mergeProps(slotProps, children.props);\n if (children.type !== React.Fragment) {\n props2.ref = forwardedRef ? composeRefs(forwardedRef, childrenRef) : childrenRef;\n }\n return React.cloneElement(children, props2);\n }\n return React.Children.count(children) > 1 ? React.Children.only(null) : null;\n });\n SlotClone.displayName = `${ownerName}.SlotClone`;\n return SlotClone;\n}\nvar SLOTTABLE_IDENTIFIER = Symbol(\"radix.slottable\");\n// @__NO_SIDE_EFFECTS__\nfunction createSlottable(ownerName) {\n const Slottable2 = ({ children }) => {\n return /* @__PURE__ */ jsx(Fragment2, { children });\n };\n Slottable2.displayName = `${ownerName}.Slottable`;\n Slottable2.__radixId = SLOTTABLE_IDENTIFIER;\n return Slottable2;\n}\nvar Slottable = /* @__PURE__ */ createSlottable(\"Slottable\");\nfunction isSlottable(child) {\n return React.isValidElement(child) && typeof child.type === \"function\" && \"__radixId\" in child.type && child.type.__radixId === SLOTTABLE_IDENTIFIER;\n}\nfunction mergeProps(slotProps, childProps) {\n const overrideProps = { ...childProps };\n for (const propName in childProps) {\n const slotPropValue = slotProps[propName];\n const childPropValue = childProps[propName];\n const isHandler = /^on[A-Z]/.test(propName);\n if (isHandler) {\n if (slotPropValue && childPropValue) {\n overrideProps[propName] = (...args) => {\n const result = childPropValue(...args);\n slotPropValue(...args);\n return result;\n };\n } else if (slotPropValue) {\n overrideProps[propName] = slotPropValue;\n }\n } else if (propName === \"style\") {\n overrideProps[propName] = { ...slotPropValue, ...childPropValue };\n } else if (propName === \"className\") {\n overrideProps[propName] = [slotPropValue, childPropValue].filter(Boolean).join(\" \");\n }\n }\n return { ...slotProps, ...overrideProps };\n}\nfunction getElementRef(element) {\n let getter = Object.getOwnPropertyDescriptor(element.props, \"ref\")?.get;\n let mayWarn = getter && \"isReactWarning\" in getter && getter.isReactWarning;\n if (mayWarn) {\n return element.ref;\n }\n getter = Object.getOwnPropertyDescriptor(element, \"ref\")?.get;\n mayWarn = getter && \"isReactWarning\" in getter && getter.isReactWarning;\n if (mayWarn) {\n return element.props.ref;\n }\n return element.props.ref || element.ref;\n}\nexport {\n Slot as Root,\n Slot,\n Slottable,\n createSlot,\n createSlottable\n};\n//# sourceMappingURL=index.mjs.map\n","// src/primitive.tsx\nimport * as React from \"react\";\nimport * as ReactDOM from \"react-dom\";\nimport { createSlot } from \"@radix-ui/react-slot\";\nimport { jsx } from \"react/jsx-runtime\";\nvar NODES = [\n \"a\",\n \"button\",\n \"div\",\n \"form\",\n \"h2\",\n \"h3\",\n \"img\",\n \"input\",\n \"label\",\n \"li\",\n \"nav\",\n \"ol\",\n \"p\",\n \"select\",\n \"span\",\n \"svg\",\n \"ul\"\n];\nvar Primitive = NODES.reduce((primitive, node) => {\n const Slot = createSlot(`Primitive.${node}`);\n const Node = React.forwardRef((props, forwardedRef) => {\n const { asChild, ...primitiveProps } = props;\n const Comp = asChild ? Slot : node;\n if (typeof window !== \"undefined\") {\n window[Symbol.for(\"radix-ui\")] = true;\n }\n return /* @__PURE__ */ jsx(Comp, { ...primitiveProps, ref: forwardedRef });\n });\n Node.displayName = `Primitive.${node}`;\n return { ...primitive, [node]: Node };\n}, {});\nfunction dispatchDiscreteCustomEvent(target, event) {\n if (target) ReactDOM.flushSync(() => target.dispatchEvent(event));\n}\nvar Root = Primitive;\nexport {\n Primitive,\n Root,\n dispatchDiscreteCustomEvent\n};\n//# sourceMappingURL=index.mjs.map\n","\"use client\";\n\n// src/presence.tsx\nimport * as React2 from \"react\";\nimport { useComposedRefs } from \"@radix-ui/react-compose-refs\";\nimport { useLayoutEffect } from \"@radix-ui/react-use-layout-effect\";\n\n// src/use-state-machine.tsx\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/presence.tsx\nvar Presence = (props) => {\n const { present, children } = props;\n const presence = usePresence(present);\n const child = typeof children === \"function\" ? children({ present: presence.isPresent }) : React2.Children.only(children);\n const ref = useComposedRefs(presence.ref, getElementRef(child));\n const forceMount = typeof children === \"function\";\n return forceMount || presence.isPresent ? React2.cloneElement(child, { ref }) : null;\n};\nPresence.displayName = \"Presence\";\nfunction usePresence(present) {\n const [node, setNode] = React2.useState();\n const stylesRef = React2.useRef(null);\n const prevPresentRef = React2.useRef(present);\n const prevAnimationNameRef = React2.useRef(\"none\");\n const initialState = present ? \"mounted\" : \"unmounted\";\n const [state, send] = useStateMachine(initialState, {\n mounted: {\n UNMOUNT: \"unmounted\",\n ANIMATION_OUT: \"unmountSuspended\"\n },\n unmountSuspended: {\n MOUNT: \"mounted\",\n ANIMATION_END: \"unmounted\"\n },\n unmounted: {\n MOUNT: \"mounted\"\n }\n });\n React2.useEffect(() => {\n const currentAnimationName = getAnimationName(stylesRef.current);\n prevAnimationNameRef.current = state === \"mounted\" ? currentAnimationName : \"none\";\n }, [state]);\n useLayoutEffect(() => {\n const styles = stylesRef.current;\n const wasPresent = prevPresentRef.current;\n const hasPresentChanged = wasPresent !== present;\n if (hasPresentChanged) {\n const prevAnimationName = prevAnimationNameRef.current;\n const currentAnimationName = getAnimationName(styles);\n if (present) {\n send(\"MOUNT\");\n } else if (currentAnimationName === \"none\" || styles?.display === \"none\") {\n send(\"UNMOUNT\");\n } else {\n const isAnimating = prevAnimationName !== currentAnimationName;\n if (wasPresent && isAnimating) {\n send(\"ANIMATION_OUT\");\n } else {\n send(\"UNMOUNT\");\n }\n }\n prevPresentRef.current = present;\n }\n }, [present, send]);\n useLayoutEffect(() => {\n if (node) {\n let timeoutId;\n const ownerWindow = node.ownerDocument.defaultView ?? window;\n const handleAnimationEnd = (event) => {\n const currentAnimationName = getAnimationName(stylesRef.current);\n const isCurrentAnimation = currentAnimationName.includes(CSS.escape(event.animationName));\n if (event.target === node && isCurrentAnimation) {\n send(\"ANIMATION_END\");\n if (!prevPresentRef.current) {\n const currentFillMode = node.style.animationFillMode;\n node.style.animationFillMode = \"forwards\";\n timeoutId = ownerWindow.setTimeout(() => {\n if (node.style.animationFillMode === \"forwards\") {\n node.style.animationFillMode = currentFillMode;\n }\n });\n }\n }\n };\n const handleAnimationStart = (event) => {\n if (event.target === node) {\n prevAnimationNameRef.current = getAnimationName(stylesRef.current);\n }\n };\n node.addEventListener(\"animationstart\", handleAnimationStart);\n node.addEventListener(\"animationcancel\", handleAnimationEnd);\n node.addEventListener(\"animationend\", handleAnimationEnd);\n return () => {\n ownerWindow.clearTimeout(timeoutId);\n node.removeEventListener(\"animationstart\", handleAnimationStart);\n node.removeEventListener(\"animationcancel\", handleAnimationEnd);\n node.removeEventListener(\"animationend\", handleAnimationEnd);\n };\n } else {\n send(\"ANIMATION_END\");\n }\n }, [node, send]);\n return {\n isPresent: [\"mounted\", \"unmountSuspended\"].includes(state),\n ref: React2.useCallback((node2) => {\n stylesRef.current = node2 ? getComputedStyle(node2) : null;\n setNode(node2);\n }, [])\n };\n}\nfunction getAnimationName(styles) {\n return styles?.animationName || \"none\";\n}\nfunction getElementRef(element) {\n let getter = Object.getOwnPropertyDescriptor(element.props, \"ref\")?.get;\n let mayWarn = getter && \"isReactWarning\" in getter && getter.isReactWarning;\n if (mayWarn) {\n return element.ref;\n }\n getter = Object.getOwnPropertyDescriptor(element, \"ref\")?.get;\n mayWarn = getter && \"isReactWarning\" in getter && getter.isReactWarning;\n if (mayWarn) {\n return element.props.ref;\n }\n return element.props.ref || element.ref;\n}\nvar Root = Presence;\nexport {\n Presence,\n Root\n};\n//# sourceMappingURL=index.mjs.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","/**\n * @license lucide-react v0.441.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 Check = createLucideIcon(\"Check\", [[\"path\", { d: \"M20 6 9 17l-5-5\", key: \"1gmf2c\" }]]);\n\nexport { Check as default };\n//# sourceMappingURL=check.js.map\n","/**\n * @license lucide-react v0.441.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 X = createLucideIcon(\"X\", [\n [\"path\", { d: \"M18 6 6 18\", key: \"1bl5f8\" }],\n [\"path\", { d: \"m6 6 12 12\", key: \"d8bk6v\" }]\n]);\n\nexport { X as default };\n//# sourceMappingURL=x.js.map\n","/**\n * Copyright 2022 Joe Bell. All rights reserved.\n *\n * This file is licensed to you under the Apache License, Version 2.0\n * (the \"License\"); you may not use this file except in compliance with the\n * License. You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR REPRESENTATIONS OF ANY KIND, either express or implied. See the\n * License for the specific language governing permissions and limitations under\n * the License.\n */ import { clsx } from \"clsx\";\nconst falsyToString = (value)=>typeof value === \"boolean\" ? `${value}` : value === 0 ? \"0\" : value;\nexport const cx = clsx;\nexport const cva = (base, config)=>(props)=>{\n var _config_compoundVariants;\n if ((config === null || config === void 0 ? void 0 : config.variants) == null) return cx(base, props === null || props === void 0 ? void 0 : props.class, props === null || props === void 0 ? void 0 : props.className);\n const { variants, defaultVariants } = config;\n const getVariantClassNames = Object.keys(variants).map((variant)=>{\n const variantProp = props === null || props === void 0 ? void 0 : props[variant];\n const defaultVariantProp = defaultVariants === null || defaultVariants === void 0 ? void 0 : defaultVariants[variant];\n if (variantProp === null) return null;\n const variantKey = falsyToString(variantProp) || falsyToString(defaultVariantProp);\n return variants[variant][variantKey];\n });\n const propsWithoutUndefined = props && Object.entries(props).reduce((acc, param)=>{\n let [key, value] = param;\n if (value === undefined) {\n return acc;\n }\n acc[key] = value;\n return acc;\n }, {});\n const getCompoundVariantClassNames = config === null || config === void 0 ? void 0 : (_config_compoundVariants = config.compoundVariants) === null || _config_compoundVariants === void 0 ? void 0 : _config_compoundVariants.reduce((acc, param)=>{\n let { class: cvClass, className: cvClassName, ...compoundVariantOptions } = param;\n return Object.entries(compoundVariantOptions).every((param)=>{\n let [key, value] = param;\n return Array.isArray(value) ? value.includes({\n ...defaultVariants,\n ...propsWithoutUndefined\n }[key]) : ({\n ...defaultVariants,\n ...propsWithoutUndefined\n })[key] === value;\n }) ? [\n ...acc,\n cvClass,\n cvClassName\n ] : acc;\n }, []);\n return cx(base, getVariantClassNames, getCompoundVariantClassNames, props === null || props === void 0 ? void 0 : props.class, props === null || props === void 0 ? void 0 : props.className);\n };\n\n","// packages/react/use-callback-ref/src/use-callback-ref.tsx\nimport * as React from \"react\";\nfunction useCallbackRef(callback) {\n const callbackRef = React.useRef(callback);\n React.useEffect(() => {\n callbackRef.current = callback;\n });\n return React.useMemo(() => (...args) => callbackRef.current?.(...args), []);\n}\nexport {\n useCallbackRef\n};\n//# sourceMappingURL=index.mjs.map\n","// src/slot.tsx\nimport * as React from \"react\";\nimport { composeRefs } from \"@radix-ui/react-compose-refs\";\nimport { Fragment as Fragment2, jsx } from \"react/jsx-runtime\";\nvar REACT_LAZY_TYPE = Symbol.for(\"react.lazy\");\nvar use = React[\" use \".trim().toString()];\nfunction isPromiseLike(value) {\n return typeof value === \"object\" && value !== null && \"then\" in value;\n}\nfunction isLazyComponent(element) {\n return element != null && typeof element === \"object\" && \"$$typeof\" in element && element.$$typeof === REACT_LAZY_TYPE && \"_payload\" in element && isPromiseLike(element._payload);\n}\n// @__NO_SIDE_EFFECTS__\nfunction createSlot(ownerName) {\n const SlotClone = /* @__PURE__ */ createSlotClone(ownerName);\n const Slot2 = React.forwardRef((props, forwardedRef) => {\n let { children, ...slotProps } = props;\n if (isLazyComponent(children) && typeof use === \"function\") {\n children = use(children._payload);\n }\n const childrenArray = React.Children.toArray(children);\n const slottable = childrenArray.find(isSlottable);\n if (slottable) {\n const newElement = slottable.props.children;\n const newChildren = childrenArray.map((child) => {\n if (child === slottable) {\n if (React.Children.count(newElement) > 1) return React.Children.only(null);\n return React.isValidElement(newElement) ? newElement.props.children : null;\n } else {\n return child;\n }\n });\n return /* @__PURE__ */ jsx(SlotClone, { ...slotProps, ref: forwardedRef, children: React.isValidElement(newElement) ? React.cloneElement(newElement, void 0, newChildren) : null });\n }\n return /* @__PURE__ */ jsx(SlotClone, { ...slotProps, ref: forwardedRef, children });\n });\n Slot2.displayName = `${ownerName}.Slot`;\n return Slot2;\n}\nvar Slot = /* @__PURE__ */ createSlot(\"Slot\");\n// @__NO_SIDE_EFFECTS__\nfunction createSlotClone(ownerName) {\n const SlotClone = React.forwardRef((props, forwardedRef) => {\n let { children, ...slotProps } = props;\n if (isLazyComponent(children) && typeof use === \"function\") {\n children = use(children._payload);\n }\n if (React.isValidElement(children)) {\n const childrenRef = getElementRef(children);\n const props2 = mergeProps(slotProps, children.props);\n if (children.type !== React.Fragment) {\n props2.ref = forwardedRef ? composeRefs(forwardedRef, childrenRef) : childrenRef;\n }\n return React.cloneElement(children, props2);\n }\n return React.Children.count(children) > 1 ? React.Children.only(null) : null;\n });\n SlotClone.displayName = `${ownerName}.SlotClone`;\n return SlotClone;\n}\nvar SLOTTABLE_IDENTIFIER = Symbol(\"radix.slottable\");\n// @__NO_SIDE_EFFECTS__\nfunction createSlottable(ownerName) {\n const Slottable2 = ({ children }) => {\n return /* @__PURE__ */ jsx(Fragment2, { children });\n };\n Slottable2.displayName = `${ownerName}.Slottable`;\n Slottable2.__radixId = SLOTTABLE_IDENTIFIER;\n return Slottable2;\n}\nvar Slottable = /* @__PURE__ */ createSlottable(\"Slottable\");\nfunction isSlottable(child) {\n return React.isValidElement(child) && typeof child.type === \"function\" && \"__radixId\" in child.type && child.type.__radixId === SLOTTABLE_IDENTIFIER;\n}\nfunction mergeProps(slotProps, childProps) {\n const overrideProps = { ...childProps };\n for (const propName in childProps) {\n const slotPropValue = slotProps[propName];\n const childPropValue = childProps[propName];\n const isHandler = /^on[A-Z]/.test(propName);\n if (isHandler) {\n if (slotPropValue && childPropValue) {\n overrideProps[propName] = (...args) => {\n const result = childPropValue(...args);\n slotPropValue(...args);\n return result;\n };\n } else if (slotPropValue) {\n overrideProps[propName] = slotPropValue;\n }\n } else if (propName === \"style\") {\n overrideProps[propName] = { ...slotPropValue, ...childPropValue };\n } else if (propName === \"className\") {\n overrideProps[propName] = [slotPropValue, childPropValue].filter(Boolean).join(\" \");\n }\n }\n return { ...slotProps, ...overrideProps };\n}\nfunction getElementRef(element) {\n let getter = Object.getOwnPropertyDescriptor(element.props, \"ref\")?.get;\n let mayWarn = getter && \"isReactWarning\" in getter && getter.isReactWarning;\n if (mayWarn) {\n return element.ref;\n }\n getter = Object.getOwnPropertyDescriptor(element, \"ref\")?.get;\n mayWarn = getter && \"isReactWarning\" in getter && getter.isReactWarning;\n if (mayWarn) {\n return element.props.ref;\n }\n return element.props.ref || element.ref;\n}\nexport {\n Slot as Root,\n Slot,\n Slottable,\n createSlot,\n createSlottable\n};\n//# sourceMappingURL=index.mjs.map\n","import * as React from 'react'\nimport { Slot } from '@radix-ui/react-slot'\nimport { cva, type VariantProps } from 'class-variance-authority'\nimport { cn } from '@/utils/cn'\n\nconst buttonVariants = cva(\n 'inline-flex items-center justify-center whitespace-nowrap rounded-lg text-sm font-medium ring-offset-background transition-all duration-200 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 active:scale-[0.98]',\n {\n variants: {\n variant: {\n default: 'bg-primary text-primary-foreground hover:bg-primary/90 hover:shadow-md',\n destructive: 'bg-destructive text-destructive-foreground hover:bg-destructive/90 hover:shadow-md',\n outline: 'border border-input bg-background hover:bg-accent hover:text-accent-foreground hover:border-accent',\n secondary: 'bg-secondary text-secondary-foreground hover:bg-secondary/80 hover:shadow-sm',\n ghost: 'hover:bg-accent hover:text-accent-foreground',\n link: 'text-primary underline-offset-4 hover:underline',\n success: 'bg-success text-success-foreground hover:bg-success/90 hover:shadow-md',\n warning: 'bg-warning text-warning-foreground hover:bg-warning/90 hover:shadow-md',\n },\n size: {\n default: 'h-10 px-4 py-2',\n sm: 'h-9 rounded-md px-3',\n lg: 'h-11 rounded-lg px-8',\n icon: 'h-10 w-10',\n },\n },\n defaultVariants: {\n variant: 'default',\n size: 'default',\n },\n }\n)\n\nexport interface ButtonProps\n extends React.ButtonHTMLAttributes<HTMLButtonElement>,\n VariantProps<typeof buttonVariants> {\n asChild?: boolean\n}\n\nconst Button = React.forwardRef<HTMLButtonElement, ButtonProps>(\n ({ className, variant, size, asChild = false, ...props }, ref) => {\n const Comp = asChild ? Slot : 'button'\n return (\n <Comp className={cn(buttonVariants({ variant, size, className }))} ref={ref} {...props} />\n )\n }\n)\nButton.displayName = 'Button'\n\nexport { Button, buttonVariants }\n","import * as React from 'react'\nimport { cva, type VariantProps } from 'class-variance-authority'\nimport { cn } from '@/utils/cn'\n\nconst badgeVariants = cva(\n 'inline-flex items-center rounded-full border px-2.5 py-0.5 text-xs font-semibold transition-all duration-200 focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2',\n {\n variants: {\n variant: {\n default: 'border-transparent bg-primary text-primary-foreground hover:bg-primary/80 hover:shadow-sm',\n secondary:\n 'border-transparent bg-secondary text-secondary-foreground hover:bg-secondary/80',\n destructive:\n 'border-transparent bg-destructive text-destructive-foreground hover:bg-destructive/80 hover:shadow-sm',\n outline: 'text-foreground hover:bg-muted',\n success: 'border-transparent bg-success text-success-foreground hover:bg-success/80 hover:shadow-sm',\n warning: 'border-transparent bg-warning text-warning-foreground hover:bg-warning/80 hover:shadow-sm',\n info: 'border-transparent bg-info text-info-foreground hover:bg-info/80 hover:shadow-sm',\n },\n },\n defaultVariants: {\n variant: 'default',\n },\n }\n)\n\nexport interface BadgeProps\n extends React.HTMLAttributes<HTMLDivElement>,\n VariantProps<typeof badgeVariants> {}\n\nfunction Badge({ className, variant, ...props }: BadgeProps) {\n return <div className={cn(badgeVariants({ variant }), className)} {...props} />\n}\n\nexport { Badge, badgeVariants }\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","\"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'\nimport { cn } from '@/utils/cn'\n\nconst ScrollArea = React.forwardRef<\n React.ElementRef<typeof ScrollAreaPrimitive.Root>,\n React.ComponentPropsWithoutRef<typeof ScrollAreaPrimitive.Root>\n>(({ className, children, ...props }, ref) => (\n <ScrollAreaPrimitive.Root\n ref={ref}\n className={cn('relative overflow-hidden', className)}\n {...props}\n >\n <ScrollAreaPrimitive.Viewport className=\"h-full w-full rounded-[inherit]\">\n {children}\n </ScrollAreaPrimitive.Viewport>\n <ScrollBar />\n <ScrollAreaPrimitive.Corner />\n </ScrollAreaPrimitive.Root>\n))\nScrollArea.displayName = ScrollAreaPrimitive.Root.displayName\n\nconst ScrollBar = React.forwardRef<\n React.ElementRef<typeof ScrollAreaPrimitive.ScrollAreaScrollbar>,\n React.ComponentPropsWithoutRef<typeof ScrollAreaPrimitive.ScrollAreaScrollbar>\n>(({ className, orientation = 'vertical', ...props }, ref) => (\n <ScrollAreaPrimitive.ScrollAreaScrollbar\n ref={ref}\n orientation={orientation}\n className={cn(\n 'flex touch-none select-none transition-colors',\n orientation === 'vertical' && 'h-full w-2.5 border-l border-l-transparent p-[1px]',\n orientation === 'horizontal' && 'h-2.5 flex-col border-t border-t-transparent p-[1px]',\n className\n )}\n {...props}\n >\n <ScrollAreaPrimitive.ScrollAreaThumb className=\"relative flex-1 rounded-full bg-border\" />\n </ScrollAreaPrimitive.ScrollAreaScrollbar>\n))\nScrollBar.displayName = ScrollAreaPrimitive.ScrollAreaScrollbar.displayName\n\nexport { ScrollArea, ScrollBar }\n"],"names":["createContext2","rootComponentName","defaultContext","Context","React","Provider","props","children","context","value","jsx","useContext2","consumerName","createContextScope","scopeName","createContextScopeDeps","defaultContexts","createContext3","BaseContext","index","scope","createScope","scopeContexts","contexts","composeContextScopes","scopes","baseScope","scopeHooks","createScope2","overrideScopes","nextScopes","nextScopes2","useScope","currentScope","setRef","ref","composeRefs","refs","node","hasCleanup","cleanups","cleanup","i","useComposedRefs","composeEventHandlers","originalEventHandler","ourEventHandler","checkForDefaultPrevented","event","useLayoutEffect2","createSlot","ownerName","SlotClone","createSlotClone","Slot2","forwardedRef","slotProps","childrenArray","slottable","isSlottable","newElement","newChildren","child","childrenRef","getElementRef","props2","mergeProps","SLOTTABLE_IDENTIFIER","childProps","overrideProps","propName","slotPropValue","childPropValue","args","result","element","getter","mayWarn","NODES","Primitive","primitive","Slot","Node","asChild","primitiveProps","Comp","dispatchDiscreteCustomEvent","target","ReactDOM","useStateMachine","initialState","machine","state","Presence","present","presence","usePresence","React2","setNode","stylesRef","prevPresentRef","prevAnimationNameRef","send","currentAnimationName","getAnimationName","useLayoutEffect","styles","wasPresent","prevAnimationName","timeoutId","ownerWindow","handleAnimationEnd","isCurrentAnimation","currentFillMode","handleAnimationStart","node2","DirectionContext","useDirection","localDir","globalDir","Check","createLucideIcon","X","falsyToString","cx","clsx","cva","base","config","_config_compoundVariants","variants","defaultVariants","getVariantClassNames","variant","variantProp","defaultVariantProp","variantKey","propsWithoutUndefined","acc","param","key","getCompoundVariantClassNames","cvClass","cvClassName","compoundVariantOptions","useCallbackRef","callback","callbackRef","REACT_LAZY_TYPE","use","isPromiseLike","isLazyComponent","buttonVariants","Button","className","size","cn","badgeVariants","Badge","clamp","min","max","SCROLL_AREA_NAME","createScrollAreaContext","ScrollAreaProvider","useScrollAreaContext","ScrollArea","__scopeScrollArea","type","dir","scrollHideDelay","scrollAreaProps","scrollArea","setScrollArea","viewport","setViewport","content","setContent","scrollbarX","setScrollbarX","scrollbarY","setScrollbarY","cornerWidth","setCornerWidth","cornerHeight","setCornerHeight","scrollbarXEnabled","setScrollbarXEnabled","scrollbarYEnabled","setScrollbarYEnabled","composedRefs","direction","VIEWPORT_NAME","ScrollAreaViewport","nonce","viewportProps","jsxs","Fragment","SCROLLBAR_NAME","ScrollAreaScrollbar","forceMount","scrollbarProps","onScrollbarXEnabledChange","onScrollbarYEnabledChange","isHorizontal","ScrollAreaScrollbarHover","ScrollAreaScrollbarScroll","ScrollAreaScrollbarAuto","ScrollAreaScrollbarVisible","visible","setVisible","hideTimer","handlePointerEnter","handlePointerLeave","debounceScrollEnd","useDebounceCallback","scrollDirection","prevScrollPos","handleScroll","scrollPos","handleResize","isOverflowX","isOverflowY","useResizeObserver","orientation","thumbRef","pointerOffsetRef","sizes","setSizes","thumbRatio","getThumbRatio","commonProps","thumb","pointerPos","getScrollPosition","getScrollPositionFromPointer","ScrollAreaScrollbarX","offset","getThumbOffsetFromScroll","ScrollAreaScrollbarY","onSizesChange","computedStyle","setComputedStyle","ScrollAreaScrollbarImpl","getThumbSize","maxScrollPos","isScrollingWithinScrollbarBounds","toInt","ScrollbarProvider","useScrollbarContext","hasThumb","onThumbChange","onThumbPointerUp","onThumbPointerDown","onThumbPositionChange","onDragScroll","onWheelScroll","onResize","scrollbar","setScrollbar","rectRef","prevWebkitUserSelectRef","handleWheelScroll","handleThumbPositionChange","handleDragScroll","x","y","handleWheel","THUMB_NAME","ScrollAreaThumb","thumbProps","scrollbarContext","ScrollAreaThumbImpl","style","scrollAreaContext","composedRef","removeUnlinkedScrollListenerRef","listener","addUnlinkedScrollListener","thumbRect","CORNER_NAME","ScrollAreaCorner","hasBothScrollbarsVisible","ScrollAreaCornerImpl","cornerProps","width","setWidth","height","setHeight","hasSize","height2","width2","viewportSize","contentSize","ratio","scrollbarPadding","thumbSize","pointerOffset","thumbSizePx","thumbCenter","thumbOffsetFromEnd","minPointerPos","maxPointerPos","scrollRange","linearScale","maxThumbPos","scrollClampRange","scrollWithoutMomentum","input","output","handler","prevPosition","rAF","loop","position","isHorizontalScroll","isVerticalScroll","delay","handleCallback","debounceTimerRef","resizeObserver","Root","Viewport","Corner","ScrollAreaPrimitive.Root","ScrollAreaPrimitive.Viewport","ScrollBar","ScrollAreaPrimitive.Corner","ScrollAreaPrimitive.ScrollAreaScrollbar","ScrollAreaPrimitive.ScrollAreaThumb"],"mappings":"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","x_google_ignoreList":[0,1,2,3,4,5,6,7,8,9,10,11,12,15,16]}
@@ -0,0 +1,2 @@
1
+ "use strict";const ne=require("./createLucideIcon-i5GEhNMV.cjs"),m=require("react/jsx-runtime"),Te=require("react"),j=require("./index-lGzB9daF.cjs"),Ne=require("react-dom");function oe(e){const t=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const r in e)if(r!=="default"){const o=Object.getOwnPropertyDescriptor(e,r);Object.defineProperty(t,r,o.get?o:{enumerable:!0,get:()=>e[r]})}}return t.default=e,Object.freeze(t)}const s=oe(Te),_e=oe(Ne);function Oe(e,t){const r=s.createContext(t),o=l=>{const{children:i,...c}=l,a=s.useMemo(()=>c,Object.values(c));return m.jsx(r.Provider,{value:a,children:i})};o.displayName=e+"Provider";function n(l){const i=s.useContext(r);if(i)return i;if(t!==void 0)return t;throw new Error(`\`${l}\` must be used within \`${e}\``)}return[o,n]}function le(e,t=[]){let r=[];function o(l,i){const c=s.createContext(i),a=r.length;r=[...r,i];const u=h=>{const{scope:f,children:p,...v}=h,g=f?.[e]?.[a]||c,w=s.useMemo(()=>v,Object.values(v));return m.jsx(g.Provider,{value:w,children:p})};u.displayName=l+"Provider";function d(h,f){const p=f?.[e]?.[a]||c,v=s.useContext(p);if(v)return v;if(i!==void 0)return i;throw new Error(`\`${h}\` must be used within \`${l}\``)}return[u,d]}const n=()=>{const l=r.map(i=>s.createContext(i));return function(c){const a=c?.[e]||l;return s.useMemo(()=>({[`__scope${e}`]:{...c,[e]:a}}),[c,a])}};return n.scopeName=e,[o,je(n,...t)]}function je(...e){const t=e[0];if(e.length===1)return t;const r=()=>{const o=e.map(n=>({useScope:n(),scopeName:n.scopeName}));return function(l){const i=o.reduce((c,{useScope:a,scopeName:u})=>{const h=a(l)[`__scope${u}`];return{...c,...h}},{});return s.useMemo(()=>({[`__scope${t.scopeName}`]:i}),[i])}};return r.scopeName=t.scopeName,r}function Q(e,t){if(typeof e=="function")return e(t);e!=null&&(e.current=t)}function U(...e){return t=>{let r=!1;const o=e.map(n=>{const l=Q(n,t);return!r&&typeof l=="function"&&(r=!0),l});if(r)return()=>{for(let n=0;n<o.length;n++){const l=o[n];typeof l=="function"?l():Q(e[n],null)}}}}function E(...e){return s.useCallback(U(...e),e)}function P(e,t,{checkForDefaultPrevented:r=!0}={}){return function(n){if(e?.(n),r===!1||!n.defaultPrevented)return t?.(n)}}var H=globalThis?.document?s.useLayoutEffect:()=>{};function Le(e){const t=De(e),r=s.forwardRef((o,n)=>{const{children:l,...i}=o,c=s.Children.toArray(l),a=c.find(We);if(a){const u=a.props.children,d=c.map(h=>h===a?s.Children.count(u)>1?s.Children.only(null):s.isValidElement(u)?u.props.children:null:h);return m.jsx(t,{...i,ref:n,children:s.isValidElement(u)?s.cloneElement(u,void 0,d):null})}return m.jsx(t,{...i,ref:n,children:l})});return r.displayName=`${e}.Slot`,r}function De(e){const t=s.forwardRef((r,o)=>{const{children:n,...l}=r;if(s.isValidElement(n)){const i=Ve(n),c=Ie(l,n.props);return n.type!==s.Fragment&&(c.ref=o?U(o,i):i),s.cloneElement(n,c)}return s.Children.count(n)>1?s.Children.only(null):null});return t.displayName=`${e}.SlotClone`,t}var Me=Symbol("radix.slottable");function We(e){return s.isValidElement(e)&&typeof e.type=="function"&&"__radixId"in e.type&&e.type.__radixId===Me}function Ie(e,t){const r={...t};for(const o in t){const n=e[o],l=t[o];/^on[A-Z]/.test(o)?n&&l?r[o]=(...c)=>{const a=l(...c);return n(...c),a}:n&&(r[o]=n):o==="style"?r[o]={...n,...l}:o==="className"&&(r[o]=[n,l].filter(Boolean).join(" "))}return{...e,...r}}function Ve(e){let t=Object.getOwnPropertyDescriptor(e.props,"ref")?.get,r=t&&"isReactWarning"in t&&t.isReactWarning;return r?e.ref:(t=Object.getOwnPropertyDescriptor(e,"ref")?.get,r=t&&"isReactWarning"in t&&t.isReactWarning,r?e.props.ref:e.props.ref||e.ref)}var He=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","select","span","svg","ul"],N=He.reduce((e,t)=>{const r=Le(`Primitive.${t}`),o=s.forwardRef((n,l)=>{const{asChild:i,...c}=n,a=i?r:t;return typeof window<"u"&&(window[Symbol.for("radix-ui")]=!0),m.jsx(a,{...c,ref:l})});return o.displayName=`Primitive.${t}`,{...e,[t]:o}},{});function ke(e,t){e&&_e.flushSync(()=>e.dispatchEvent(t))}function ze(e,t){return s.useReducer((r,o)=>t[r][o]??r,e)}var _=e=>{const{present:t,children:r}=e,o=$e(t),n=typeof r=="function"?r({present:o.isPresent}):s.Children.only(r),l=E(o.ref,Ue(n));return typeof r=="function"||o.isPresent?s.cloneElement(n,{ref:l}):null};_.displayName="Presence";function $e(e){const[t,r]=s.useState(),o=s.useRef(null),n=s.useRef(e),l=s.useRef("none"),i=e?"mounted":"unmounted",[c,a]=ze(i,{mounted:{UNMOUNT:"unmounted",ANIMATION_OUT:"unmountSuspended"},unmountSuspended:{MOUNT:"mounted",ANIMATION_END:"unmounted"},unmounted:{MOUNT:"mounted"}});return s.useEffect(()=>{const u=V(o.current);l.current=c==="mounted"?u:"none"},[c]),H(()=>{const u=o.current,d=n.current;if(d!==e){const f=l.current,p=V(u);e?a("MOUNT"):p==="none"||u?.display==="none"?a("UNMOUNT"):a(d&&f!==p?"ANIMATION_OUT":"UNMOUNT"),n.current=e}},[e,a]),H(()=>{if(t){let u;const d=t.ownerDocument.defaultView??window,h=p=>{const g=V(o.current).includes(CSS.escape(p.animationName));if(p.target===t&&g&&(a("ANIMATION_END"),!n.current)){const w=t.style.animationFillMode;t.style.animationFillMode="forwards",u=d.setTimeout(()=>{t.style.animationFillMode==="forwards"&&(t.style.animationFillMode=w)})}},f=p=>{p.target===t&&(l.current=V(o.current))};return t.addEventListener("animationstart",f),t.addEventListener("animationcancel",h),t.addEventListener("animationend",h),()=>{d.clearTimeout(u),t.removeEventListener("animationstart",f),t.removeEventListener("animationcancel",h),t.removeEventListener("animationend",h)}}else a("ANIMATION_END")},[t,a]),{isPresent:["mounted","unmountSuspended"].includes(c),ref:s.useCallback(u=>{o.current=u?getComputedStyle(u):null,r(u)},[])}}function V(e){return e?.animationName||"none"}function Ue(e){let t=Object.getOwnPropertyDescriptor(e.props,"ref")?.get,r=t&&"isReactWarning"in t&&t.isReactWarning;return r?e.ref:(t=Object.getOwnPropertyDescriptor(e,"ref")?.get,r=t&&"isReactWarning"in t&&t.isReactWarning,r?e.props.ref:e.props.ref||e.ref)}var Be=s.createContext(void 0);function se(e){const t=s.useContext(Be);return e||t||"ltr"}const Xe=ne.createLucideIcon("Check",[["path",{d:"M20 6 9 17l-5-5",key:"1gmf2c"}]]);const Fe=ne.createLucideIcon("X",[["path",{d:"M18 6 6 18",key:"1bl5f8"}],["path",{d:"m6 6 12 12",key:"d8bk6v"}]]),ee=e=>typeof e=="boolean"?`${e}`:e===0?"0":e,te=j.clsx,Y=(e,t)=>r=>{var o;if(t?.variants==null)return te(e,r?.class,r?.className);const{variants:n,defaultVariants:l}=t,i=Object.keys(n).map(u=>{const d=r?.[u],h=l?.[u];if(d===null)return null;const f=ee(d)||ee(h);return n[u][f]}),c=r&&Object.entries(r).reduce((u,d)=>{let[h,f]=d;return f===void 0||(u[h]=f),u},{}),a=t==null||(o=t.compoundVariants)===null||o===void 0?void 0:o.reduce((u,d)=>{let{class:h,className:f,...p}=d;return Object.entries(p).every(v=>{let[g,w]=v;return Array.isArray(w)?w.includes({...l,...c}[g]):{...l,...c}[g]===w})?[...u,h,f]:u},[]);return te(e,i,a,r?.class,r?.className)};function C(e){const t=s.useRef(e);return s.useEffect(()=>{t.current=e}),s.useMemo(()=>(...r)=>t.current?.(...r),[])}var Ye=Symbol.for("react.lazy"),k=s[" use ".trim().toString()];function qe(e){return typeof e=="object"&&e!==null&&"then"in e}function ie(e){return e!=null&&typeof e=="object"&&"$$typeof"in e&&e.$$typeof===Ye&&"_payload"in e&&qe(e._payload)}function ce(e){const t=Ze(e),r=s.forwardRef((o,n)=>{let{children:l,...i}=o;ie(l)&&typeof k=="function"&&(l=k(l._payload));const c=s.Children.toArray(l),a=c.find(Ge);if(a){const u=a.props.children,d=c.map(h=>h===a?s.Children.count(u)>1?s.Children.only(null):s.isValidElement(u)?u.props.children:null:h);return m.jsx(t,{...i,ref:n,children:s.isValidElement(u)?s.cloneElement(u,void 0,d):null})}return m.jsx(t,{...i,ref:n,children:l})});return r.displayName=`${e}.Slot`,r}var ae=ce("Slot");function Ze(e){const t=s.forwardRef((r,o)=>{let{children:n,...l}=r;if(ie(n)&&typeof k=="function"&&(n=k(n._payload)),s.isValidElement(n)){const i=Qe(n),c=Je(l,n.props);return n.type!==s.Fragment&&(c.ref=o?U(o,i):i),s.cloneElement(n,c)}return s.Children.count(n)>1?s.Children.only(null):null});return t.displayName=`${e}.SlotClone`,t}var Ke=Symbol("radix.slottable");function Ge(e){return s.isValidElement(e)&&typeof e.type=="function"&&"__radixId"in e.type&&e.type.__radixId===Ke}function Je(e,t){const r={...t};for(const o in t){const n=e[o],l=t[o];/^on[A-Z]/.test(o)?n&&l?r[o]=(...c)=>{const a=l(...c);return n(...c),a}:n&&(r[o]=n):o==="style"?r[o]={...n,...l}:o==="className"&&(r[o]=[n,l].filter(Boolean).join(" "))}return{...e,...r}}function Qe(e){let t=Object.getOwnPropertyDescriptor(e.props,"ref")?.get,r=t&&"isReactWarning"in t&&t.isReactWarning;return r?e.ref:(t=Object.getOwnPropertyDescriptor(e,"ref")?.get,r=t&&"isReactWarning"in t&&t.isReactWarning,r?e.props.ref:e.props.ref||e.ref)}const ue=Y("inline-flex items-center justify-center whitespace-nowrap rounded-lg text-sm font-medium ring-offset-background transition-all duration-200 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 active:scale-[0.98]",{variants:{variant:{default:"bg-primary text-primary-foreground hover:bg-primary/90 hover:shadow-md",destructive:"bg-destructive text-destructive-foreground hover:bg-destructive/90 hover:shadow-md",outline:"border border-input bg-background hover:bg-accent hover:text-accent-foreground hover:border-accent",secondary:"bg-secondary text-secondary-foreground hover:bg-secondary/80 hover:shadow-sm",ghost:"hover:bg-accent hover:text-accent-foreground",link:"text-primary underline-offset-4 hover:underline",success:"bg-success text-success-foreground hover:bg-success/90 hover:shadow-md",warning:"bg-warning text-warning-foreground hover:bg-warning/90 hover:shadow-md"},size:{default:"h-10 px-4 py-2",sm:"h-9 rounded-md px-3",lg:"h-11 rounded-lg px-8",icon:"h-10 w-10"}},defaultVariants:{variant:"default",size:"default"}}),de=s.forwardRef(({className:e,variant:t,size:r,asChild:o=!1,...n},l)=>{const i=o?ae:"button";return m.jsx(i,{className:j.cn(ue({variant:t,size:r,className:e})),ref:l,...n})});de.displayName="Button";const fe=Y("inline-flex items-center rounded-full border px-2.5 py-0.5 text-xs font-semibold transition-all duration-200 focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2",{variants:{variant:{default:"border-transparent bg-primary text-primary-foreground hover:bg-primary/80 hover:shadow-sm",secondary:"border-transparent bg-secondary text-secondary-foreground hover:bg-secondary/80",destructive:"border-transparent bg-destructive text-destructive-foreground hover:bg-destructive/80 hover:shadow-sm",outline:"text-foreground hover:bg-muted",success:"border-transparent bg-success text-success-foreground hover:bg-success/80 hover:shadow-sm",warning:"border-transparent bg-warning text-warning-foreground hover:bg-warning/80 hover:shadow-sm",info:"border-transparent bg-info text-info-foreground hover:bg-info/80 hover:shadow-sm"}},defaultVariants:{variant:"default"}});function et({className:e,variant:t,...r}){return m.jsx("div",{className:j.cn(fe({variant:t}),e),...r})}function he(e,[t,r]){return Math.min(r,Math.max(t,e))}function tt(e,t){return s.useReducer((r,o)=>t[r][o]??r,e)}var q="ScrollArea",[me]=le(q),[rt,S]=me(q),pe=s.forwardRef((e,t)=>{const{__scopeScrollArea:r,type:o="hover",dir:n,scrollHideDelay:l=600,...i}=e,[c,a]=s.useState(null),[u,d]=s.useState(null),[h,f]=s.useState(null),[p,v]=s.useState(null),[g,w]=s.useState(null),[R,L]=s.useState(0),[F,D]=s.useState(0),[M,O]=s.useState(!1),[W,I]=s.useState(!1),b=E(t,A=>a(A)),y=se(n);return m.jsx(rt,{scope:r,type:o,dir:y,scrollHideDelay:l,scrollArea:c,viewport:u,onViewportChange:d,content:h,onContentChange:f,scrollbarX:p,onScrollbarXChange:v,scrollbarXEnabled:M,onScrollbarXEnabledChange:O,scrollbarY:g,onScrollbarYChange:w,scrollbarYEnabled:W,onScrollbarYEnabledChange:I,onCornerWidthChange:L,onCornerHeightChange:D,children:m.jsx(N.div,{dir:y,...i,ref:b,style:{position:"relative","--radix-scroll-area-corner-width":R+"px","--radix-scroll-area-corner-height":F+"px",...e.style}})})});pe.displayName=q;var ve="ScrollAreaViewport",be=s.forwardRef((e,t)=>{const{__scopeScrollArea:r,children:o,nonce:n,...l}=e,i=S(ve,r),c=s.useRef(null),a=E(t,c,i.onViewportChange);return m.jsxs(m.Fragment,{children:[m.jsx("style",{dangerouslySetInnerHTML:{__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}"},nonce:n}),m.jsx(N.div,{"data-radix-scroll-area-viewport":"",...l,ref:a,style:{overflowX:i.scrollbarXEnabled?"scroll":"hidden",overflowY:i.scrollbarYEnabled?"scroll":"hidden",...e.style},children:m.jsx("div",{ref:i.onContentChange,style:{minWidth:"100%",display:"table"},children:o})})]})});be.displayName=ve;var x="ScrollAreaScrollbar",Z=s.forwardRef((e,t)=>{const{forceMount:r,...o}=e,n=S(x,e.__scopeScrollArea),{onScrollbarXEnabledChange:l,onScrollbarYEnabledChange:i}=n,c=e.orientation==="horizontal";return s.useEffect(()=>(c?l(!0):i(!0),()=>{c?l(!1):i(!1)}),[c,l,i]),n.type==="hover"?m.jsx(nt,{...o,ref:t,forceMount:r}):n.type==="scroll"?m.jsx(ot,{...o,ref:t,forceMount:r}):n.type==="auto"?m.jsx(ge,{...o,ref:t,forceMount:r}):n.type==="always"?m.jsx(K,{...o,ref:t}):null});Z.displayName=x;var nt=s.forwardRef((e,t)=>{const{forceMount:r,...o}=e,n=S(x,e.__scopeScrollArea),[l,i]=s.useState(!1);return s.useEffect(()=>{const c=n.scrollArea;let a=0;if(c){const u=()=>{window.clearTimeout(a),i(!0)},d=()=>{a=window.setTimeout(()=>i(!1),n.scrollHideDelay)};return c.addEventListener("pointerenter",u),c.addEventListener("pointerleave",d),()=>{window.clearTimeout(a),c.removeEventListener("pointerenter",u),c.removeEventListener("pointerleave",d)}}},[n.scrollArea,n.scrollHideDelay]),m.jsx(_,{present:r||l,children:m.jsx(ge,{"data-state":l?"visible":"hidden",...o,ref:t})})}),ot=s.forwardRef((e,t)=>{const{forceMount:r,...o}=e,n=S(x,e.__scopeScrollArea),l=e.orientation==="horizontal",i=X(()=>a("SCROLL_END"),100),[c,a]=tt("hidden",{hidden:{SCROLL:"scrolling"},scrolling:{SCROLL_END:"idle",POINTER_ENTER:"interacting"},interacting:{SCROLL:"interacting",POINTER_LEAVE:"idle"},idle:{HIDE:"hidden",SCROLL:"scrolling",POINTER_ENTER:"interacting"}});return s.useEffect(()=>{if(c==="idle"){const u=window.setTimeout(()=>a("HIDE"),n.scrollHideDelay);return()=>window.clearTimeout(u)}},[c,n.scrollHideDelay,a]),s.useEffect(()=>{const u=n.viewport,d=l?"scrollLeft":"scrollTop";if(u){let h=u[d];const f=()=>{const p=u[d];h!==p&&(a("SCROLL"),i()),h=p};return u.addEventListener("scroll",f),()=>u.removeEventListener("scroll",f)}},[n.viewport,l,a,i]),m.jsx(_,{present:r||c!=="hidden",children:m.jsx(K,{"data-state":c==="hidden"?"hidden":"visible",...o,ref:t,onPointerEnter:P(e.onPointerEnter,()=>a("POINTER_ENTER")),onPointerLeave:P(e.onPointerLeave,()=>a("POINTER_LEAVE"))})})}),ge=s.forwardRef((e,t)=>{const r=S(x,e.__scopeScrollArea),{forceMount:o,...n}=e,[l,i]=s.useState(!1),c=e.orientation==="horizontal",a=X(()=>{if(r.viewport){const u=r.viewport.offsetWidth<r.viewport.scrollWidth,d=r.viewport.offsetHeight<r.viewport.scrollHeight;i(c?u:d)}},10);return T(r.viewport,a),T(r.content,a),m.jsx(_,{present:o||l,children:m.jsx(K,{"data-state":l?"visible":"hidden",...n,ref:t})})}),K=s.forwardRef((e,t)=>{const{orientation:r="vertical",...o}=e,n=S(x,e.__scopeScrollArea),l=s.useRef(null),i=s.useRef(0),[c,a]=s.useState({content:0,viewport:0,scrollbar:{size:0,paddingStart:0,paddingEnd:0}}),u=Ce(c.viewport,c.content),d={...o,sizes:c,onSizesChange:a,hasThumb:u>0&&u<1,onThumbChange:f=>l.current=f,onThumbPointerUp:()=>i.current=0,onThumbPointerDown:f=>i.current=f};function h(f,p){return ut(f,i.current,c,p)}return r==="horizontal"?m.jsx(lt,{...d,ref:t,onThumbPositionChange:()=>{if(n.viewport&&l.current){const f=n.viewport.scrollLeft,p=re(f,c,n.dir);l.current.style.transform=`translate3d(${p}px, 0, 0)`}},onWheelScroll:f=>{n.viewport&&(n.viewport.scrollLeft=f)},onDragScroll:f=>{n.viewport&&(n.viewport.scrollLeft=h(f,n.dir))}}):r==="vertical"?m.jsx(st,{...d,ref:t,onThumbPositionChange:()=>{if(n.viewport&&l.current){const f=n.viewport.scrollTop,p=re(f,c);l.current.style.transform=`translate3d(0, ${p}px, 0)`}},onWheelScroll:f=>{n.viewport&&(n.viewport.scrollTop=f)},onDragScroll:f=>{n.viewport&&(n.viewport.scrollTop=h(f))}}):null}),lt=s.forwardRef((e,t)=>{const{sizes:r,onSizesChange:o,...n}=e,l=S(x,e.__scopeScrollArea),[i,c]=s.useState(),a=s.useRef(null),u=E(t,a,l.onScrollbarXChange);return s.useEffect(()=>{a.current&&c(getComputedStyle(a.current))},[a]),m.jsx(we,{"data-orientation":"horizontal",...n,ref:u,sizes:r,style:{bottom:0,left:l.dir==="rtl"?"var(--radix-scroll-area-corner-width)":0,right:l.dir==="ltr"?"var(--radix-scroll-area-corner-width)":0,"--radix-scroll-area-thumb-width":B(r)+"px",...e.style},onThumbPointerDown:d=>e.onThumbPointerDown(d.x),onDragScroll:d=>e.onDragScroll(d.x),onWheelScroll:(d,h)=>{if(l.viewport){const f=l.viewport.scrollLeft+d.deltaX;e.onWheelScroll(f),Ee(f,h)&&d.preventDefault()}},onResize:()=>{a.current&&l.viewport&&i&&o({content:l.viewport.scrollWidth,viewport:l.viewport.offsetWidth,scrollbar:{size:a.current.clientWidth,paddingStart:$(i.paddingLeft),paddingEnd:$(i.paddingRight)}})}})}),st=s.forwardRef((e,t)=>{const{sizes:r,onSizesChange:o,...n}=e,l=S(x,e.__scopeScrollArea),[i,c]=s.useState(),a=s.useRef(null),u=E(t,a,l.onScrollbarYChange);return s.useEffect(()=>{a.current&&c(getComputedStyle(a.current))},[a]),m.jsx(we,{"data-orientation":"vertical",...n,ref:u,sizes:r,style:{top:0,right:l.dir==="ltr"?0:void 0,left:l.dir==="rtl"?0:void 0,bottom:"var(--radix-scroll-area-corner-height)","--radix-scroll-area-thumb-height":B(r)+"px",...e.style},onThumbPointerDown:d=>e.onThumbPointerDown(d.y),onDragScroll:d=>e.onDragScroll(d.y),onWheelScroll:(d,h)=>{if(l.viewport){const f=l.viewport.scrollTop+d.deltaY;e.onWheelScroll(f),Ee(f,h)&&d.preventDefault()}},onResize:()=>{a.current&&l.viewport&&i&&o({content:l.viewport.scrollHeight,viewport:l.viewport.offsetHeight,scrollbar:{size:a.current.clientHeight,paddingStart:$(i.paddingTop),paddingEnd:$(i.paddingBottom)}})}})}),[it,Se]=me(x),we=s.forwardRef((e,t)=>{const{__scopeScrollArea:r,sizes:o,hasThumb:n,onThumbChange:l,onThumbPointerUp:i,onThumbPointerDown:c,onThumbPositionChange:a,onDragScroll:u,onWheelScroll:d,onResize:h,...f}=e,p=S(x,r),[v,g]=s.useState(null),w=E(t,b=>g(b)),R=s.useRef(null),L=s.useRef(""),F=p.viewport,D=o.content-o.viewport,M=C(d),O=C(a),W=X(h,10);function I(b){if(R.current){const y=b.clientX-R.current.left,A=b.clientY-R.current.top;u({x:y,y:A})}}return s.useEffect(()=>{const b=y=>{const A=y.target;v?.contains(A)&&M(y,D)};return document.addEventListener("wheel",b,{passive:!1}),()=>document.removeEventListener("wheel",b,{passive:!1})},[F,v,D,M]),s.useEffect(O,[o,O]),T(v,W),T(p.content,W),m.jsx(it,{scope:r,scrollbar:v,hasThumb:n,onThumbChange:C(l),onThumbPointerUp:C(i),onThumbPositionChange:O,onThumbPointerDown:C(c),children:m.jsx(N.div,{...f,ref:w,style:{position:"absolute",...f.style},onPointerDown:P(e.onPointerDown,b=>{b.button===0&&(b.target.setPointerCapture(b.pointerId),R.current=v.getBoundingClientRect(),L.current=document.body.style.webkitUserSelect,document.body.style.webkitUserSelect="none",p.viewport&&(p.viewport.style.scrollBehavior="auto"),I(b))}),onPointerMove:P(e.onPointerMove,I),onPointerUp:P(e.onPointerUp,b=>{const y=b.target;y.hasPointerCapture(b.pointerId)&&y.releasePointerCapture(b.pointerId),document.body.style.webkitUserSelect=L.current,p.viewport&&(p.viewport.style.scrollBehavior=""),R.current=null})})})}),z="ScrollAreaThumb",ye=s.forwardRef((e,t)=>{const{forceMount:r,...o}=e,n=Se(z,e.__scopeScrollArea);return m.jsx(_,{present:r||n.hasThumb,children:m.jsx(ct,{ref:t,...o})})}),ct=s.forwardRef((e,t)=>{const{__scopeScrollArea:r,style:o,...n}=e,l=S(z,r),i=Se(z,r),{onThumbPositionChange:c}=i,a=E(t,h=>i.onThumbChange(h)),u=s.useRef(void 0),d=X(()=>{u.current&&(u.current(),u.current=void 0)},100);return s.useEffect(()=>{const h=l.viewport;if(h){const f=()=>{if(d(),!u.current){const p=dt(h,c);u.current=p,c()}};return c(),h.addEventListener("scroll",f),()=>h.removeEventListener("scroll",f)}},[l.viewport,d,c]),m.jsx(N.div,{"data-state":i.hasThumb?"visible":"hidden",...n,ref:a,style:{width:"var(--radix-scroll-area-thumb-width)",height:"var(--radix-scroll-area-thumb-height)",...o},onPointerDownCapture:P(e.onPointerDownCapture,h=>{const p=h.target.getBoundingClientRect(),v=h.clientX-p.left,g=h.clientY-p.top;i.onThumbPointerDown({x:v,y:g})}),onPointerUp:P(e.onPointerUp,i.onThumbPointerUp)})});ye.displayName=z;var G="ScrollAreaCorner",xe=s.forwardRef((e,t)=>{const r=S(G,e.__scopeScrollArea),o=!!(r.scrollbarX&&r.scrollbarY);return r.type!=="scroll"&&o?m.jsx(at,{...e,ref:t}):null});xe.displayName=G;var at=s.forwardRef((e,t)=>{const{__scopeScrollArea:r,...o}=e,n=S(G,r),[l,i]=s.useState(0),[c,a]=s.useState(0),u=!!(l&&c);return T(n.scrollbarX,()=>{const d=n.scrollbarX?.offsetHeight||0;n.onCornerHeightChange(d),a(d)}),T(n.scrollbarY,()=>{const d=n.scrollbarY?.offsetWidth||0;n.onCornerWidthChange(d),i(d)}),u?m.jsx(N.div,{...o,ref:t,style:{width:l,height:c,position:"absolute",right:n.dir==="ltr"?0:void 0,left:n.dir==="rtl"?0:void 0,bottom:0,...e.style}}):null});function $(e){return e?parseInt(e,10):0}function Ce(e,t){const r=e/t;return isNaN(r)?0:r}function B(e){const t=Ce(e.viewport,e.content),r=e.scrollbar.paddingStart+e.scrollbar.paddingEnd,o=(e.scrollbar.size-r)*t;return Math.max(o,18)}function ut(e,t,r,o="ltr"){const n=B(r),l=n/2,i=t||l,c=n-i,a=r.scrollbar.paddingStart+i,u=r.scrollbar.size-r.scrollbar.paddingEnd-c,d=r.content-r.viewport,h=o==="ltr"?[0,d]:[d*-1,0];return Pe([a,u],h)(e)}function re(e,t,r="ltr"){const o=B(t),n=t.scrollbar.paddingStart+t.scrollbar.paddingEnd,l=t.scrollbar.size-n,i=t.content-t.viewport,c=l-o,a=r==="ltr"?[0,i]:[i*-1,0],u=he(e,a);return Pe([0,i],[0,c])(u)}function Pe(e,t){return r=>{if(e[0]===e[1]||t[0]===t[1])return t[0];const o=(t[1]-t[0])/(e[1]-e[0]);return t[0]+o*(r-e[0])}}function Ee(e,t){return e>0&&e<t}var dt=(e,t=()=>{})=>{let r={left:e.scrollLeft,top:e.scrollTop},o=0;return(function n(){const l={left:e.scrollLeft,top:e.scrollTop},i=r.left!==l.left,c=r.top!==l.top;(i||c)&&t(),r=l,o=window.requestAnimationFrame(n)})(),()=>window.cancelAnimationFrame(o)};function X(e,t){const r=C(e),o=s.useRef(0);return s.useEffect(()=>()=>window.clearTimeout(o.current),[]),s.useCallback(()=>{window.clearTimeout(o.current),o.current=window.setTimeout(r,t)},[r,t])}function T(e,t){const r=C(t);H(()=>{let o=0;if(e){const n=new ResizeObserver(()=>{cancelAnimationFrame(o),o=window.requestAnimationFrame(r)});return n.observe(e),()=>{window.cancelAnimationFrame(o),n.unobserve(e)}}},[e,r])}var Re=pe,ft=be,ht=xe;const Ae=s.forwardRef(({className:e,children:t,...r},o)=>m.jsxs(Re,{ref:o,className:j.cn("relative overflow-hidden",e),...r,children:[m.jsx(ft,{className:"h-full w-full rounded-[inherit]",children:t}),m.jsx(J,{}),m.jsx(ht,{})]}));Ae.displayName=Re.displayName;const J=s.forwardRef(({className:e,orientation:t="vertical",...r},o)=>m.jsx(Z,{ref:o,orientation:t,className:j.cn("flex touch-none select-none transition-colors",t==="vertical"&&"h-full w-2.5 border-l border-l-transparent p-[1px]",t==="horizontal"&&"h-2.5 flex-col border-t border-t-transparent p-[1px]",e),...r,children:m.jsx(ye,{className:"relative flex-1 rounded-full bg-border"})}));J.displayName=Z.displayName;exports.Badge=et;exports.Button=de;exports.Check=Xe;exports.Presence=_;exports.Primitive=N;exports.ScrollArea=Ae;exports.ScrollBar=J;exports.Slot=ae;exports.X=Fe;exports.badgeVariants=fe;exports.buttonVariants=ue;exports.clamp=he;exports.composeEventHandlers=P;exports.composeRefs=U;exports.createContext2=Oe;exports.createContextScope=le;exports.createSlot=ce;exports.cva=Y;exports.dispatchDiscreteCustomEvent=ke;exports.useCallbackRef=C;exports.useComposedRefs=E;exports.useDirection=se;exports.useLayoutEffect2=H;
2
+ //# sourceMappingURL=scroll-area-DYOiJMXh.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scroll-area-DYOiJMXh.cjs","sources":["../node_modules/@radix-ui/react-context/dist/index.mjs","../node_modules/@radix-ui/react-compose-refs/dist/index.mjs","../node_modules/@radix-ui/primitive/dist/index.mjs","../node_modules/@radix-ui/react-use-layout-effect/dist/index.mjs","../node_modules/@radix-ui/react-primitive/node_modules/@radix-ui/react-slot/dist/index.mjs","../node_modules/@radix-ui/react-primitive/dist/index.mjs","../node_modules/@radix-ui/react-presence/dist/index.mjs","../node_modules/@radix-ui/react-direction/dist/index.mjs","../node_modules/lucide-react/dist/esm/icons/check.js","../node_modules/lucide-react/dist/esm/icons/x.js","../node_modules/class-variance-authority/dist/index.mjs","../node_modules/@radix-ui/react-use-callback-ref/dist/index.mjs","../node_modules/@radix-ui/react-slot/dist/index.mjs","../src/components/ui/button.tsx","../src/components/ui/badge.tsx","../node_modules/@radix-ui/number/dist/index.mjs","../node_modules/@radix-ui/react-scroll-area/dist/index.mjs","../src/components/ui/scroll-area.tsx"],"sourcesContent":["// packages/react/context/src/create-context.tsx\nimport * as React from \"react\";\nimport { jsx } from \"react/jsx-runtime\";\nfunction createContext2(rootComponentName, defaultContext) {\n const Context = React.createContext(defaultContext);\n const Provider = (props) => {\n const { children, ...context } = props;\n const value = React.useMemo(() => context, Object.values(context));\n return /* @__PURE__ */ jsx(Context.Provider, { value, children });\n };\n Provider.displayName = rootComponentName + \"Provider\";\n function useContext2(consumerName) {\n const context = React.useContext(Context);\n if (context) return context;\n if (defaultContext !== void 0) return defaultContext;\n throw new Error(`\\`${consumerName}\\` must be used within \\`${rootComponentName}\\``);\n }\n return [Provider, useContext2];\n}\nfunction createContextScope(scopeName, createContextScopeDeps = []) {\n let defaultContexts = [];\n function createContext3(rootComponentName, defaultContext) {\n const BaseContext = React.createContext(defaultContext);\n const index = defaultContexts.length;\n defaultContexts = [...defaultContexts, defaultContext];\n const Provider = (props) => {\n const { scope, children, ...context } = props;\n const Context = scope?.[scopeName]?.[index] || BaseContext;\n const value = React.useMemo(() => context, Object.values(context));\n return /* @__PURE__ */ jsx(Context.Provider, { value, children });\n };\n Provider.displayName = rootComponentName + \"Provider\";\n function useContext2(consumerName, scope) {\n const Context = scope?.[scopeName]?.[index] || BaseContext;\n const context = React.useContext(Context);\n if (context) return context;\n if (defaultContext !== void 0) return defaultContext;\n throw new Error(`\\`${consumerName}\\` must be used within \\`${rootComponentName}\\``);\n }\n return [Provider, useContext2];\n }\n const createScope = () => {\n const scopeContexts = defaultContexts.map((defaultContext) => {\n return React.createContext(defaultContext);\n });\n return function useScope(scope) {\n const contexts = scope?.[scopeName] || scopeContexts;\n return React.useMemo(\n () => ({ [`__scope${scopeName}`]: { ...scope, [scopeName]: contexts } }),\n [scope, contexts]\n );\n };\n };\n createScope.scopeName = scopeName;\n return [createContext3, composeContextScopes(createScope, ...createContextScopeDeps)];\n}\nfunction composeContextScopes(...scopes) {\n const baseScope = scopes[0];\n if (scopes.length === 1) return baseScope;\n const createScope = () => {\n const scopeHooks = scopes.map((createScope2) => ({\n useScope: createScope2(),\n scopeName: createScope2.scopeName\n }));\n return function useComposedScopes(overrideScopes) {\n const nextScopes = scopeHooks.reduce((nextScopes2, { useScope, scopeName }) => {\n const scopeProps = useScope(overrideScopes);\n const currentScope = scopeProps[`__scope${scopeName}`];\n return { ...nextScopes2, ...currentScope };\n }, {});\n return React.useMemo(() => ({ [`__scope${baseScope.scopeName}`]: nextScopes }), [nextScopes]);\n };\n };\n createScope.scopeName = baseScope.scopeName;\n return createScope;\n}\nexport {\n createContext2 as createContext,\n createContextScope\n};\n//# sourceMappingURL=index.mjs.map\n","// packages/react/compose-refs/src/compose-refs.tsx\nimport * as React from \"react\";\nfunction setRef(ref, value) {\n if (typeof ref === \"function\") {\n return ref(value);\n } else if (ref !== null && ref !== void 0) {\n ref.current = value;\n }\n}\nfunction composeRefs(...refs) {\n return (node) => {\n let hasCleanup = false;\n const cleanups = refs.map((ref) => {\n const cleanup = setRef(ref, node);\n if (!hasCleanup && typeof cleanup == \"function\") {\n hasCleanup = true;\n }\n return cleanup;\n });\n if (hasCleanup) {\n return () => {\n for (let i = 0; i < cleanups.length; i++) {\n const cleanup = cleanups[i];\n if (typeof cleanup == \"function\") {\n cleanup();\n } else {\n setRef(refs[i], null);\n }\n }\n };\n }\n };\n}\nfunction useComposedRefs(...refs) {\n return React.useCallback(composeRefs(...refs), refs);\n}\nexport {\n composeRefs,\n useComposedRefs\n};\n//# sourceMappingURL=index.mjs.map\n","// src/primitive.tsx\nvar canUseDOM = !!(typeof window !== \"undefined\" && window.document && window.document.createElement);\nfunction composeEventHandlers(originalEventHandler, ourEventHandler, { checkForDefaultPrevented = true } = {}) {\n return function handleEvent(event) {\n originalEventHandler?.(event);\n if (checkForDefaultPrevented === false || !event.defaultPrevented) {\n return ourEventHandler?.(event);\n }\n };\n}\nfunction getOwnerWindow(element) {\n if (!canUseDOM) {\n throw new Error(\"Cannot access window outside of the DOM\");\n }\n return element?.ownerDocument?.defaultView ?? window;\n}\nfunction getOwnerDocument(element) {\n if (!canUseDOM) {\n throw new Error(\"Cannot access document outside of the DOM\");\n }\n return element?.ownerDocument ?? document;\n}\nfunction getActiveElement(node, activeDescendant = false) {\n const { activeElement } = getOwnerDocument(node);\n if (!activeElement?.nodeName) {\n return null;\n }\n if (isFrame(activeElement) && activeElement.contentDocument) {\n return getActiveElement(activeElement.contentDocument.body, activeDescendant);\n }\n if (activeDescendant) {\n const id = activeElement.getAttribute(\"aria-activedescendant\");\n if (id) {\n const element = getOwnerDocument(activeElement).getElementById(id);\n if (element) {\n return element;\n }\n }\n }\n return activeElement;\n}\nfunction isFrame(element) {\n return element.tagName === \"IFRAME\";\n}\nexport {\n canUseDOM,\n composeEventHandlers,\n getActiveElement,\n getOwnerDocument,\n getOwnerWindow,\n isFrame\n};\n//# sourceMappingURL=index.mjs.map\n","// packages/react/use-layout-effect/src/use-layout-effect.tsx\nimport * as React from \"react\";\nvar useLayoutEffect2 = globalThis?.document ? React.useLayoutEffect : () => {\n};\nexport {\n useLayoutEffect2 as useLayoutEffect\n};\n//# sourceMappingURL=index.mjs.map\n","// src/slot.tsx\nimport * as React from \"react\";\nimport { composeRefs } from \"@radix-ui/react-compose-refs\";\nimport { Fragment as Fragment2, jsx } from \"react/jsx-runtime\";\n// @__NO_SIDE_EFFECTS__\nfunction createSlot(ownerName) {\n const SlotClone = /* @__PURE__ */ createSlotClone(ownerName);\n const Slot2 = React.forwardRef((props, forwardedRef) => {\n const { children, ...slotProps } = props;\n const childrenArray = React.Children.toArray(children);\n const slottable = childrenArray.find(isSlottable);\n if (slottable) {\n const newElement = slottable.props.children;\n const newChildren = childrenArray.map((child) => {\n if (child === slottable) {\n if (React.Children.count(newElement) > 1) return React.Children.only(null);\n return React.isValidElement(newElement) ? newElement.props.children : null;\n } else {\n return child;\n }\n });\n return /* @__PURE__ */ jsx(SlotClone, { ...slotProps, ref: forwardedRef, children: React.isValidElement(newElement) ? React.cloneElement(newElement, void 0, newChildren) : null });\n }\n return /* @__PURE__ */ jsx(SlotClone, { ...slotProps, ref: forwardedRef, children });\n });\n Slot2.displayName = `${ownerName}.Slot`;\n return Slot2;\n}\nvar Slot = /* @__PURE__ */ createSlot(\"Slot\");\n// @__NO_SIDE_EFFECTS__\nfunction createSlotClone(ownerName) {\n const SlotClone = React.forwardRef((props, forwardedRef) => {\n const { children, ...slotProps } = props;\n if (React.isValidElement(children)) {\n const childrenRef = getElementRef(children);\n const props2 = mergeProps(slotProps, children.props);\n if (children.type !== React.Fragment) {\n props2.ref = forwardedRef ? composeRefs(forwardedRef, childrenRef) : childrenRef;\n }\n return React.cloneElement(children, props2);\n }\n return React.Children.count(children) > 1 ? React.Children.only(null) : null;\n });\n SlotClone.displayName = `${ownerName}.SlotClone`;\n return SlotClone;\n}\nvar SLOTTABLE_IDENTIFIER = Symbol(\"radix.slottable\");\n// @__NO_SIDE_EFFECTS__\nfunction createSlottable(ownerName) {\n const Slottable2 = ({ children }) => {\n return /* @__PURE__ */ jsx(Fragment2, { children });\n };\n Slottable2.displayName = `${ownerName}.Slottable`;\n Slottable2.__radixId = SLOTTABLE_IDENTIFIER;\n return Slottable2;\n}\nvar Slottable = /* @__PURE__ */ createSlottable(\"Slottable\");\nfunction isSlottable(child) {\n return React.isValidElement(child) && typeof child.type === \"function\" && \"__radixId\" in child.type && child.type.__radixId === SLOTTABLE_IDENTIFIER;\n}\nfunction mergeProps(slotProps, childProps) {\n const overrideProps = { ...childProps };\n for (const propName in childProps) {\n const slotPropValue = slotProps[propName];\n const childPropValue = childProps[propName];\n const isHandler = /^on[A-Z]/.test(propName);\n if (isHandler) {\n if (slotPropValue && childPropValue) {\n overrideProps[propName] = (...args) => {\n const result = childPropValue(...args);\n slotPropValue(...args);\n return result;\n };\n } else if (slotPropValue) {\n overrideProps[propName] = slotPropValue;\n }\n } else if (propName === \"style\") {\n overrideProps[propName] = { ...slotPropValue, ...childPropValue };\n } else if (propName === \"className\") {\n overrideProps[propName] = [slotPropValue, childPropValue].filter(Boolean).join(\" \");\n }\n }\n return { ...slotProps, ...overrideProps };\n}\nfunction getElementRef(element) {\n let getter = Object.getOwnPropertyDescriptor(element.props, \"ref\")?.get;\n let mayWarn = getter && \"isReactWarning\" in getter && getter.isReactWarning;\n if (mayWarn) {\n return element.ref;\n }\n getter = Object.getOwnPropertyDescriptor(element, \"ref\")?.get;\n mayWarn = getter && \"isReactWarning\" in getter && getter.isReactWarning;\n if (mayWarn) {\n return element.props.ref;\n }\n return element.props.ref || element.ref;\n}\nexport {\n Slot as Root,\n Slot,\n Slottable,\n createSlot,\n createSlottable\n};\n//# sourceMappingURL=index.mjs.map\n","// src/primitive.tsx\nimport * as React from \"react\";\nimport * as ReactDOM from \"react-dom\";\nimport { createSlot } from \"@radix-ui/react-slot\";\nimport { jsx } from \"react/jsx-runtime\";\nvar NODES = [\n \"a\",\n \"button\",\n \"div\",\n \"form\",\n \"h2\",\n \"h3\",\n \"img\",\n \"input\",\n \"label\",\n \"li\",\n \"nav\",\n \"ol\",\n \"p\",\n \"select\",\n \"span\",\n \"svg\",\n \"ul\"\n];\nvar Primitive = NODES.reduce((primitive, node) => {\n const Slot = createSlot(`Primitive.${node}`);\n const Node = React.forwardRef((props, forwardedRef) => {\n const { asChild, ...primitiveProps } = props;\n const Comp = asChild ? Slot : node;\n if (typeof window !== \"undefined\") {\n window[Symbol.for(\"radix-ui\")] = true;\n }\n return /* @__PURE__ */ jsx(Comp, { ...primitiveProps, ref: forwardedRef });\n });\n Node.displayName = `Primitive.${node}`;\n return { ...primitive, [node]: Node };\n}, {});\nfunction dispatchDiscreteCustomEvent(target, event) {\n if (target) ReactDOM.flushSync(() => target.dispatchEvent(event));\n}\nvar Root = Primitive;\nexport {\n Primitive,\n Root,\n dispatchDiscreteCustomEvent\n};\n//# sourceMappingURL=index.mjs.map\n","\"use client\";\n\n// src/presence.tsx\nimport * as React2 from \"react\";\nimport { useComposedRefs } from \"@radix-ui/react-compose-refs\";\nimport { useLayoutEffect } from \"@radix-ui/react-use-layout-effect\";\n\n// src/use-state-machine.tsx\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/presence.tsx\nvar Presence = (props) => {\n const { present, children } = props;\n const presence = usePresence(present);\n const child = typeof children === \"function\" ? children({ present: presence.isPresent }) : React2.Children.only(children);\n const ref = useComposedRefs(presence.ref, getElementRef(child));\n const forceMount = typeof children === \"function\";\n return forceMount || presence.isPresent ? React2.cloneElement(child, { ref }) : null;\n};\nPresence.displayName = \"Presence\";\nfunction usePresence(present) {\n const [node, setNode] = React2.useState();\n const stylesRef = React2.useRef(null);\n const prevPresentRef = React2.useRef(present);\n const prevAnimationNameRef = React2.useRef(\"none\");\n const initialState = present ? \"mounted\" : \"unmounted\";\n const [state, send] = useStateMachine(initialState, {\n mounted: {\n UNMOUNT: \"unmounted\",\n ANIMATION_OUT: \"unmountSuspended\"\n },\n unmountSuspended: {\n MOUNT: \"mounted\",\n ANIMATION_END: \"unmounted\"\n },\n unmounted: {\n MOUNT: \"mounted\"\n }\n });\n React2.useEffect(() => {\n const currentAnimationName = getAnimationName(stylesRef.current);\n prevAnimationNameRef.current = state === \"mounted\" ? currentAnimationName : \"none\";\n }, [state]);\n useLayoutEffect(() => {\n const styles = stylesRef.current;\n const wasPresent = prevPresentRef.current;\n const hasPresentChanged = wasPresent !== present;\n if (hasPresentChanged) {\n const prevAnimationName = prevAnimationNameRef.current;\n const currentAnimationName = getAnimationName(styles);\n if (present) {\n send(\"MOUNT\");\n } else if (currentAnimationName === \"none\" || styles?.display === \"none\") {\n send(\"UNMOUNT\");\n } else {\n const isAnimating = prevAnimationName !== currentAnimationName;\n if (wasPresent && isAnimating) {\n send(\"ANIMATION_OUT\");\n } else {\n send(\"UNMOUNT\");\n }\n }\n prevPresentRef.current = present;\n }\n }, [present, send]);\n useLayoutEffect(() => {\n if (node) {\n let timeoutId;\n const ownerWindow = node.ownerDocument.defaultView ?? window;\n const handleAnimationEnd = (event) => {\n const currentAnimationName = getAnimationName(stylesRef.current);\n const isCurrentAnimation = currentAnimationName.includes(CSS.escape(event.animationName));\n if (event.target === node && isCurrentAnimation) {\n send(\"ANIMATION_END\");\n if (!prevPresentRef.current) {\n const currentFillMode = node.style.animationFillMode;\n node.style.animationFillMode = \"forwards\";\n timeoutId = ownerWindow.setTimeout(() => {\n if (node.style.animationFillMode === \"forwards\") {\n node.style.animationFillMode = currentFillMode;\n }\n });\n }\n }\n };\n const handleAnimationStart = (event) => {\n if (event.target === node) {\n prevAnimationNameRef.current = getAnimationName(stylesRef.current);\n }\n };\n node.addEventListener(\"animationstart\", handleAnimationStart);\n node.addEventListener(\"animationcancel\", handleAnimationEnd);\n node.addEventListener(\"animationend\", handleAnimationEnd);\n return () => {\n ownerWindow.clearTimeout(timeoutId);\n node.removeEventListener(\"animationstart\", handleAnimationStart);\n node.removeEventListener(\"animationcancel\", handleAnimationEnd);\n node.removeEventListener(\"animationend\", handleAnimationEnd);\n };\n } else {\n send(\"ANIMATION_END\");\n }\n }, [node, send]);\n return {\n isPresent: [\"mounted\", \"unmountSuspended\"].includes(state),\n ref: React2.useCallback((node2) => {\n stylesRef.current = node2 ? getComputedStyle(node2) : null;\n setNode(node2);\n }, [])\n };\n}\nfunction getAnimationName(styles) {\n return styles?.animationName || \"none\";\n}\nfunction getElementRef(element) {\n let getter = Object.getOwnPropertyDescriptor(element.props, \"ref\")?.get;\n let mayWarn = getter && \"isReactWarning\" in getter && getter.isReactWarning;\n if (mayWarn) {\n return element.ref;\n }\n getter = Object.getOwnPropertyDescriptor(element, \"ref\")?.get;\n mayWarn = getter && \"isReactWarning\" in getter && getter.isReactWarning;\n if (mayWarn) {\n return element.props.ref;\n }\n return element.props.ref || element.ref;\n}\nvar Root = Presence;\nexport {\n Presence,\n Root\n};\n//# sourceMappingURL=index.mjs.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","/**\n * @license lucide-react v0.441.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 Check = createLucideIcon(\"Check\", [[\"path\", { d: \"M20 6 9 17l-5-5\", key: \"1gmf2c\" }]]);\n\nexport { Check as default };\n//# sourceMappingURL=check.js.map\n","/**\n * @license lucide-react v0.441.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 X = createLucideIcon(\"X\", [\n [\"path\", { d: \"M18 6 6 18\", key: \"1bl5f8\" }],\n [\"path\", { d: \"m6 6 12 12\", key: \"d8bk6v\" }]\n]);\n\nexport { X as default };\n//# sourceMappingURL=x.js.map\n","/**\n * Copyright 2022 Joe Bell. All rights reserved.\n *\n * This file is licensed to you under the Apache License, Version 2.0\n * (the \"License\"); you may not use this file except in compliance with the\n * License. You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR REPRESENTATIONS OF ANY KIND, either express or implied. See the\n * License for the specific language governing permissions and limitations under\n * the License.\n */ import { clsx } from \"clsx\";\nconst falsyToString = (value)=>typeof value === \"boolean\" ? `${value}` : value === 0 ? \"0\" : value;\nexport const cx = clsx;\nexport const cva = (base, config)=>(props)=>{\n var _config_compoundVariants;\n if ((config === null || config === void 0 ? void 0 : config.variants) == null) return cx(base, props === null || props === void 0 ? void 0 : props.class, props === null || props === void 0 ? void 0 : props.className);\n const { variants, defaultVariants } = config;\n const getVariantClassNames = Object.keys(variants).map((variant)=>{\n const variantProp = props === null || props === void 0 ? void 0 : props[variant];\n const defaultVariantProp = defaultVariants === null || defaultVariants === void 0 ? void 0 : defaultVariants[variant];\n if (variantProp === null) return null;\n const variantKey = falsyToString(variantProp) || falsyToString(defaultVariantProp);\n return variants[variant][variantKey];\n });\n const propsWithoutUndefined = props && Object.entries(props).reduce((acc, param)=>{\n let [key, value] = param;\n if (value === undefined) {\n return acc;\n }\n acc[key] = value;\n return acc;\n }, {});\n const getCompoundVariantClassNames = config === null || config === void 0 ? void 0 : (_config_compoundVariants = config.compoundVariants) === null || _config_compoundVariants === void 0 ? void 0 : _config_compoundVariants.reduce((acc, param)=>{\n let { class: cvClass, className: cvClassName, ...compoundVariantOptions } = param;\n return Object.entries(compoundVariantOptions).every((param)=>{\n let [key, value] = param;\n return Array.isArray(value) ? value.includes({\n ...defaultVariants,\n ...propsWithoutUndefined\n }[key]) : ({\n ...defaultVariants,\n ...propsWithoutUndefined\n })[key] === value;\n }) ? [\n ...acc,\n cvClass,\n cvClassName\n ] : acc;\n }, []);\n return cx(base, getVariantClassNames, getCompoundVariantClassNames, props === null || props === void 0 ? void 0 : props.class, props === null || props === void 0 ? void 0 : props.className);\n };\n\n","// packages/react/use-callback-ref/src/use-callback-ref.tsx\nimport * as React from \"react\";\nfunction useCallbackRef(callback) {\n const callbackRef = React.useRef(callback);\n React.useEffect(() => {\n callbackRef.current = callback;\n });\n return React.useMemo(() => (...args) => callbackRef.current?.(...args), []);\n}\nexport {\n useCallbackRef\n};\n//# sourceMappingURL=index.mjs.map\n","// src/slot.tsx\nimport * as React from \"react\";\nimport { composeRefs } from \"@radix-ui/react-compose-refs\";\nimport { Fragment as Fragment2, jsx } from \"react/jsx-runtime\";\nvar REACT_LAZY_TYPE = Symbol.for(\"react.lazy\");\nvar use = React[\" use \".trim().toString()];\nfunction isPromiseLike(value) {\n return typeof value === \"object\" && value !== null && \"then\" in value;\n}\nfunction isLazyComponent(element) {\n return element != null && typeof element === \"object\" && \"$$typeof\" in element && element.$$typeof === REACT_LAZY_TYPE && \"_payload\" in element && isPromiseLike(element._payload);\n}\n// @__NO_SIDE_EFFECTS__\nfunction createSlot(ownerName) {\n const SlotClone = /* @__PURE__ */ createSlotClone(ownerName);\n const Slot2 = React.forwardRef((props, forwardedRef) => {\n let { children, ...slotProps } = props;\n if (isLazyComponent(children) && typeof use === \"function\") {\n children = use(children._payload);\n }\n const childrenArray = React.Children.toArray(children);\n const slottable = childrenArray.find(isSlottable);\n if (slottable) {\n const newElement = slottable.props.children;\n const newChildren = childrenArray.map((child) => {\n if (child === slottable) {\n if (React.Children.count(newElement) > 1) return React.Children.only(null);\n return React.isValidElement(newElement) ? newElement.props.children : null;\n } else {\n return child;\n }\n });\n return /* @__PURE__ */ jsx(SlotClone, { ...slotProps, ref: forwardedRef, children: React.isValidElement(newElement) ? React.cloneElement(newElement, void 0, newChildren) : null });\n }\n return /* @__PURE__ */ jsx(SlotClone, { ...slotProps, ref: forwardedRef, children });\n });\n Slot2.displayName = `${ownerName}.Slot`;\n return Slot2;\n}\nvar Slot = /* @__PURE__ */ createSlot(\"Slot\");\n// @__NO_SIDE_EFFECTS__\nfunction createSlotClone(ownerName) {\n const SlotClone = React.forwardRef((props, forwardedRef) => {\n let { children, ...slotProps } = props;\n if (isLazyComponent(children) && typeof use === \"function\") {\n children = use(children._payload);\n }\n if (React.isValidElement(children)) {\n const childrenRef = getElementRef(children);\n const props2 = mergeProps(slotProps, children.props);\n if (children.type !== React.Fragment) {\n props2.ref = forwardedRef ? composeRefs(forwardedRef, childrenRef) : childrenRef;\n }\n return React.cloneElement(children, props2);\n }\n return React.Children.count(children) > 1 ? React.Children.only(null) : null;\n });\n SlotClone.displayName = `${ownerName}.SlotClone`;\n return SlotClone;\n}\nvar SLOTTABLE_IDENTIFIER = Symbol(\"radix.slottable\");\n// @__NO_SIDE_EFFECTS__\nfunction createSlottable(ownerName) {\n const Slottable2 = ({ children }) => {\n return /* @__PURE__ */ jsx(Fragment2, { children });\n };\n Slottable2.displayName = `${ownerName}.Slottable`;\n Slottable2.__radixId = SLOTTABLE_IDENTIFIER;\n return Slottable2;\n}\nvar Slottable = /* @__PURE__ */ createSlottable(\"Slottable\");\nfunction isSlottable(child) {\n return React.isValidElement(child) && typeof child.type === \"function\" && \"__radixId\" in child.type && child.type.__radixId === SLOTTABLE_IDENTIFIER;\n}\nfunction mergeProps(slotProps, childProps) {\n const overrideProps = { ...childProps };\n for (const propName in childProps) {\n const slotPropValue = slotProps[propName];\n const childPropValue = childProps[propName];\n const isHandler = /^on[A-Z]/.test(propName);\n if (isHandler) {\n if (slotPropValue && childPropValue) {\n overrideProps[propName] = (...args) => {\n const result = childPropValue(...args);\n slotPropValue(...args);\n return result;\n };\n } else if (slotPropValue) {\n overrideProps[propName] = slotPropValue;\n }\n } else if (propName === \"style\") {\n overrideProps[propName] = { ...slotPropValue, ...childPropValue };\n } else if (propName === \"className\") {\n overrideProps[propName] = [slotPropValue, childPropValue].filter(Boolean).join(\" \");\n }\n }\n return { ...slotProps, ...overrideProps };\n}\nfunction getElementRef(element) {\n let getter = Object.getOwnPropertyDescriptor(element.props, \"ref\")?.get;\n let mayWarn = getter && \"isReactWarning\" in getter && getter.isReactWarning;\n if (mayWarn) {\n return element.ref;\n }\n getter = Object.getOwnPropertyDescriptor(element, \"ref\")?.get;\n mayWarn = getter && \"isReactWarning\" in getter && getter.isReactWarning;\n if (mayWarn) {\n return element.props.ref;\n }\n return element.props.ref || element.ref;\n}\nexport {\n Slot as Root,\n Slot,\n Slottable,\n createSlot,\n createSlottable\n};\n//# sourceMappingURL=index.mjs.map\n","import * as React from 'react'\nimport { Slot } from '@radix-ui/react-slot'\nimport { cva, type VariantProps } from 'class-variance-authority'\nimport { cn } from '@/utils/cn'\n\nconst buttonVariants = cva(\n 'inline-flex items-center justify-center whitespace-nowrap rounded-lg text-sm font-medium ring-offset-background transition-all duration-200 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 active:scale-[0.98]',\n {\n variants: {\n variant: {\n default: 'bg-primary text-primary-foreground hover:bg-primary/90 hover:shadow-md',\n destructive: 'bg-destructive text-destructive-foreground hover:bg-destructive/90 hover:shadow-md',\n outline: 'border border-input bg-background hover:bg-accent hover:text-accent-foreground hover:border-accent',\n secondary: 'bg-secondary text-secondary-foreground hover:bg-secondary/80 hover:shadow-sm',\n ghost: 'hover:bg-accent hover:text-accent-foreground',\n link: 'text-primary underline-offset-4 hover:underline',\n success: 'bg-success text-success-foreground hover:bg-success/90 hover:shadow-md',\n warning: 'bg-warning text-warning-foreground hover:bg-warning/90 hover:shadow-md',\n },\n size: {\n default: 'h-10 px-4 py-2',\n sm: 'h-9 rounded-md px-3',\n lg: 'h-11 rounded-lg px-8',\n icon: 'h-10 w-10',\n },\n },\n defaultVariants: {\n variant: 'default',\n size: 'default',\n },\n }\n)\n\nexport interface ButtonProps\n extends React.ButtonHTMLAttributes<HTMLButtonElement>,\n VariantProps<typeof buttonVariants> {\n asChild?: boolean\n}\n\nconst Button = React.forwardRef<HTMLButtonElement, ButtonProps>(\n ({ className, variant, size, asChild = false, ...props }, ref) => {\n const Comp = asChild ? Slot : 'button'\n return (\n <Comp className={cn(buttonVariants({ variant, size, className }))} ref={ref} {...props} />\n )\n }\n)\nButton.displayName = 'Button'\n\nexport { Button, buttonVariants }\n","import * as React from 'react'\nimport { cva, type VariantProps } from 'class-variance-authority'\nimport { cn } from '@/utils/cn'\n\nconst badgeVariants = cva(\n 'inline-flex items-center rounded-full border px-2.5 py-0.5 text-xs font-semibold transition-all duration-200 focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2',\n {\n variants: {\n variant: {\n default: 'border-transparent bg-primary text-primary-foreground hover:bg-primary/80 hover:shadow-sm',\n secondary:\n 'border-transparent bg-secondary text-secondary-foreground hover:bg-secondary/80',\n destructive:\n 'border-transparent bg-destructive text-destructive-foreground hover:bg-destructive/80 hover:shadow-sm',\n outline: 'text-foreground hover:bg-muted',\n success: 'border-transparent bg-success text-success-foreground hover:bg-success/80 hover:shadow-sm',\n warning: 'border-transparent bg-warning text-warning-foreground hover:bg-warning/80 hover:shadow-sm',\n info: 'border-transparent bg-info text-info-foreground hover:bg-info/80 hover:shadow-sm',\n },\n },\n defaultVariants: {\n variant: 'default',\n },\n }\n)\n\nexport interface BadgeProps\n extends React.HTMLAttributes<HTMLDivElement>,\n VariantProps<typeof badgeVariants> {}\n\nfunction Badge({ className, variant, ...props }: BadgeProps) {\n return <div className={cn(badgeVariants({ variant }), className)} {...props} />\n}\n\nexport { Badge, badgeVariants }\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","\"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'\nimport { cn } from '@/utils/cn'\n\nconst ScrollArea = React.forwardRef<\n React.ElementRef<typeof ScrollAreaPrimitive.Root>,\n React.ComponentPropsWithoutRef<typeof ScrollAreaPrimitive.Root>\n>(({ className, children, ...props }, ref) => (\n <ScrollAreaPrimitive.Root\n ref={ref}\n className={cn('relative overflow-hidden', className)}\n {...props}\n >\n <ScrollAreaPrimitive.Viewport className=\"h-full w-full rounded-[inherit]\">\n {children}\n </ScrollAreaPrimitive.Viewport>\n <ScrollBar />\n <ScrollAreaPrimitive.Corner />\n </ScrollAreaPrimitive.Root>\n))\nScrollArea.displayName = ScrollAreaPrimitive.Root.displayName\n\nconst ScrollBar = React.forwardRef<\n React.ElementRef<typeof ScrollAreaPrimitive.ScrollAreaScrollbar>,\n React.ComponentPropsWithoutRef<typeof ScrollAreaPrimitive.ScrollAreaScrollbar>\n>(({ className, orientation = 'vertical', ...props }, ref) => (\n <ScrollAreaPrimitive.ScrollAreaScrollbar\n ref={ref}\n orientation={orientation}\n className={cn(\n 'flex touch-none select-none transition-colors',\n orientation === 'vertical' && 'h-full w-2.5 border-l border-l-transparent p-[1px]',\n orientation === 'horizontal' && 'h-2.5 flex-col border-t border-t-transparent p-[1px]',\n className\n )}\n {...props}\n >\n <ScrollAreaPrimitive.ScrollAreaThumb className=\"relative flex-1 rounded-full bg-border\" />\n </ScrollAreaPrimitive.ScrollAreaScrollbar>\n))\nScrollBar.displayName = ScrollAreaPrimitive.ScrollAreaScrollbar.displayName\n\nexport { ScrollArea, ScrollBar }\n"],"names":["createContext2","rootComponentName","defaultContext","Context","React","Provider","props","children","context","value","jsx","useContext2","consumerName","createContextScope","scopeName","createContextScopeDeps","defaultContexts","createContext3","BaseContext","index","scope","createScope","scopeContexts","contexts","composeContextScopes","scopes","baseScope","scopeHooks","createScope2","overrideScopes","nextScopes","nextScopes2","useScope","currentScope","setRef","ref","composeRefs","refs","node","hasCleanup","cleanups","cleanup","i","useComposedRefs","composeEventHandlers","originalEventHandler","ourEventHandler","checkForDefaultPrevented","event","useLayoutEffect2","createSlot","ownerName","SlotClone","createSlotClone","Slot2","forwardedRef","slotProps","childrenArray","slottable","isSlottable","newElement","newChildren","child","childrenRef","getElementRef","props2","mergeProps","SLOTTABLE_IDENTIFIER","childProps","overrideProps","propName","slotPropValue","childPropValue","args","result","element","getter","mayWarn","NODES","Primitive","primitive","Slot","Node","asChild","primitiveProps","Comp","dispatchDiscreteCustomEvent","target","ReactDOM","useStateMachine","initialState","machine","state","Presence","present","presence","usePresence","React2","setNode","stylesRef","prevPresentRef","prevAnimationNameRef","send","currentAnimationName","getAnimationName","useLayoutEffect","styles","wasPresent","prevAnimationName","timeoutId","ownerWindow","handleAnimationEnd","isCurrentAnimation","currentFillMode","handleAnimationStart","node2","DirectionContext","useDirection","localDir","globalDir","Check","createLucideIcon","X","falsyToString","cx","clsx","cva","base","config","_config_compoundVariants","variants","defaultVariants","getVariantClassNames","variant","variantProp","defaultVariantProp","variantKey","propsWithoutUndefined","acc","param","key","getCompoundVariantClassNames","cvClass","cvClassName","compoundVariantOptions","useCallbackRef","callback","callbackRef","REACT_LAZY_TYPE","use","isPromiseLike","isLazyComponent","buttonVariants","Button","className","size","cn","badgeVariants","Badge","clamp","min","max","SCROLL_AREA_NAME","createScrollAreaContext","ScrollAreaProvider","useScrollAreaContext","ScrollArea","__scopeScrollArea","type","dir","scrollHideDelay","scrollAreaProps","scrollArea","setScrollArea","viewport","setViewport","content","setContent","scrollbarX","setScrollbarX","scrollbarY","setScrollbarY","cornerWidth","setCornerWidth","cornerHeight","setCornerHeight","scrollbarXEnabled","setScrollbarXEnabled","scrollbarYEnabled","setScrollbarYEnabled","composedRefs","direction","VIEWPORT_NAME","ScrollAreaViewport","nonce","viewportProps","jsxs","Fragment","SCROLLBAR_NAME","ScrollAreaScrollbar","forceMount","scrollbarProps","onScrollbarXEnabledChange","onScrollbarYEnabledChange","isHorizontal","ScrollAreaScrollbarHover","ScrollAreaScrollbarScroll","ScrollAreaScrollbarAuto","ScrollAreaScrollbarVisible","visible","setVisible","hideTimer","handlePointerEnter","handlePointerLeave","debounceScrollEnd","useDebounceCallback","scrollDirection","prevScrollPos","handleScroll","scrollPos","handleResize","isOverflowX","isOverflowY","useResizeObserver","orientation","thumbRef","pointerOffsetRef","sizes","setSizes","thumbRatio","getThumbRatio","commonProps","thumb","pointerPos","getScrollPosition","getScrollPositionFromPointer","ScrollAreaScrollbarX","offset","getThumbOffsetFromScroll","ScrollAreaScrollbarY","onSizesChange","computedStyle","setComputedStyle","ScrollAreaScrollbarImpl","getThumbSize","maxScrollPos","isScrollingWithinScrollbarBounds","toInt","ScrollbarProvider","useScrollbarContext","hasThumb","onThumbChange","onThumbPointerUp","onThumbPointerDown","onThumbPositionChange","onDragScroll","onWheelScroll","onResize","scrollbar","setScrollbar","rectRef","prevWebkitUserSelectRef","handleWheelScroll","handleThumbPositionChange","handleDragScroll","x","y","handleWheel","THUMB_NAME","ScrollAreaThumb","thumbProps","scrollbarContext","ScrollAreaThumbImpl","style","scrollAreaContext","composedRef","removeUnlinkedScrollListenerRef","listener","addUnlinkedScrollListener","thumbRect","CORNER_NAME","ScrollAreaCorner","hasBothScrollbarsVisible","ScrollAreaCornerImpl","cornerProps","width","setWidth","height","setHeight","hasSize","height2","width2","viewportSize","contentSize","ratio","scrollbarPadding","thumbSize","pointerOffset","thumbSizePx","thumbCenter","thumbOffsetFromEnd","minPointerPos","maxPointerPos","scrollRange","linearScale","maxThumbPos","scrollClampRange","scrollWithoutMomentum","input","output","handler","prevPosition","rAF","loop","position","isHorizontalScroll","isVerticalScroll","delay","handleCallback","debounceTimerRef","resizeObserver","Root","Viewport","Corner","ScrollAreaPrimitive.Root","ScrollAreaPrimitive.Viewport","ScrollBar","ScrollAreaPrimitive.Corner","ScrollAreaPrimitive.ScrollAreaScrollbar","ScrollAreaPrimitive.ScrollAreaThumb"],"mappings":"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","x_google_ignoreList":[0,1,2,3,4,5,6,7,8,9,10,11,12,15,16]}