ivt 0.2.6 → 0.2.7

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 (156) hide show
  1. package/dist/accordion/index.mjs +1 -1
  2. package/dist/alert/index.mjs +1 -1
  3. package/dist/alert-dialog/index.mjs +1 -1
  4. package/dist/avatar/index.mjs +1 -1
  5. package/dist/avatar/index.mjs.map +1 -1
  6. package/dist/badge/index.mjs +1 -1
  7. package/dist/base/index.mjs +1 -1
  8. package/dist/base/index.mjs.map +1 -1
  9. package/dist/button/index.mjs +1 -1
  10. package/dist/calendar/index.mjs +1 -1
  11. package/dist/card/index.mjs +1 -1
  12. package/dist/chart/index.d.ts +55 -0
  13. package/dist/chart/index.mjs +2 -0
  14. package/dist/chart/index.mjs.map +1 -0
  15. package/dist/checkbox/index.mjs +1 -1
  16. package/dist/chunks/_commonjsHelpers-Bjj-JKBe.mjs +2 -0
  17. package/dist/chunks/_commonjsHelpers-Bjj-JKBe.mjs.map +1 -0
  18. package/dist/chunks/{accordion-0MI-Gnhr.mjs → accordion-Dl9OR3bi.mjs} +2 -2
  19. package/dist/chunks/{accordion-0MI-Gnhr.mjs.map → accordion-Dl9OR3bi.mjs.map} +1 -1
  20. package/dist/chunks/{badge-CORNh0AZ.mjs → badge-DQMrqIyu.mjs} +2 -2
  21. package/dist/chunks/{badge-CORNh0AZ.mjs.map → badge-DQMrqIyu.mjs.map} +1 -1
  22. package/dist/chunks/{bundle-mjs-D9tdROnD.mjs → bundle-mjs-DRUwh-0R.mjs} +1 -1
  23. package/dist/chunks/{bundle-mjs-D9tdROnD.mjs.map → bundle-mjs-DRUwh-0R.mjs.map} +1 -1
  24. package/dist/chunks/{button-C-N34JAH.mjs → button-Dhe5fFAk.mjs} +2 -2
  25. package/dist/chunks/{button-C-N34JAH.mjs.map → button-Dhe5fFAk.mjs.map} +1 -1
  26. package/dist/chunks/{calendar--a2-dYhD.mjs → calendar-BCdWZz2_.mjs} +2 -2
  27. package/dist/chunks/{calendar--a2-dYhD.mjs.map → calendar-BCdWZz2_.mjs.map} +1 -1
  28. package/dist/chunks/check-CTdDPXjk.mjs +2 -0
  29. package/dist/chunks/{check-C1kmNajw.mjs.map → check-CTdDPXjk.mjs.map} +1 -1
  30. package/dist/chunks/chevron-down-DDHw_qmV.mjs +2 -0
  31. package/dist/chunks/{chevron-down-V04oa9sD.mjs.map → chevron-down-DDHw_qmV.mjs.map} +1 -1
  32. package/dist/chunks/chevron-left-CjUEKmgQ.mjs +2 -0
  33. package/dist/chunks/{chevron-left-B3kOPqDD.mjs.map → chevron-left-CjUEKmgQ.mjs.map} +1 -1
  34. package/dist/chunks/chevron-right-BaRUY2Lm.mjs +2 -0
  35. package/dist/chunks/{chevron-right-PpLc5ALc.mjs.map → chevron-right-BaRUY2Lm.mjs.map} +1 -1
  36. package/dist/chunks/circle-B6AT9LZB.mjs +2 -0
  37. package/dist/chunks/{circle-U4u29qXG.mjs.map → circle-B6AT9LZB.mjs.map} +1 -1
  38. package/dist/chunks/{command-C7dK8ZE6.mjs → command-B20MmNTS.mjs} +2 -2
  39. package/dist/chunks/{command-C7dK8ZE6.mjs.map → command-B20MmNTS.mjs.map} +1 -1
  40. package/dist/chunks/{createLucideIcon-CXSR1bEP.mjs → createLucideIcon-Bub0IDlo.mjs} +1 -1
  41. package/dist/chunks/{createLucideIcon-CXSR1bEP.mjs.map → createLucideIcon-Bub0IDlo.mjs.map} +1 -1
  42. package/dist/chunks/{dialog-CJ5QhsSB.mjs → dialog-DvFOk-pv.mjs} +2 -2
  43. package/dist/chunks/{dialog-CJ5QhsSB.mjs.map → dialog-DvFOk-pv.mjs.map} +1 -1
  44. package/dist/chunks/{hover-card-Bok4BVC-.mjs → hover-card-D8uFTCNm.mjs} +2 -2
  45. package/dist/chunks/{hover-card-Bok4BVC-.mjs.map → hover-card-D8uFTCNm.mjs.map} +1 -1
  46. package/dist/chunks/{index-DOiEGiat.mjs → index-0ahJ1Q21.mjs} +2 -2
  47. package/dist/chunks/{index-DOiEGiat.mjs.map → index-0ahJ1Q21.mjs.map} +1 -1
  48. package/dist/chunks/{index-D532f2iM.mjs → index-B7nzlBcT.mjs} +2 -2
  49. package/dist/chunks/{index-D532f2iM.mjs.map → index-B7nzlBcT.mjs.map} +1 -1
  50. package/dist/chunks/{index-L0FTCOiH.mjs → index-BOWDavn2.mjs} +2 -2
  51. package/dist/chunks/{index-L0FTCOiH.mjs.map → index-BOWDavn2.mjs.map} +1 -1
  52. package/dist/chunks/{index-BMe6PFsX.mjs → index-Bo9g9ZHj.mjs} +2 -2
  53. package/dist/chunks/{index-BMe6PFsX.mjs.map → index-Bo9g9ZHj.mjs.map} +1 -1
  54. package/dist/chunks/{index-BzvNkDmM.mjs → index-Bt73Afz2.mjs} +1 -1
  55. package/dist/chunks/{index-BzvNkDmM.mjs.map → index-Bt73Afz2.mjs.map} +1 -1
  56. package/dist/chunks/{index-CO0WWuYX.mjs → index-Bv09gbbz.mjs} +1 -1
  57. package/dist/chunks/{index-CO0WWuYX.mjs.map → index-Bv09gbbz.mjs.map} +1 -1
  58. package/dist/chunks/{index-BNzQ3c3A.mjs → index-C4C3l5WF.mjs} +2 -2
  59. package/dist/chunks/{index-BNzQ3c3A.mjs.map → index-C4C3l5WF.mjs.map} +1 -1
  60. package/dist/chunks/{index-DCzuZZz4.mjs → index-CaYe_hNP.mjs} +1 -1
  61. package/dist/chunks/{index-DCzuZZz4.mjs.map → index-CaYe_hNP.mjs.map} +1 -1
  62. package/dist/chunks/{index-BJZ14-gh.mjs → index-Cu6LwID6.mjs} +1 -1
  63. package/dist/chunks/{index-BJZ14-gh.mjs.map → index-Cu6LwID6.mjs.map} +1 -1
  64. package/dist/chunks/{index-BVACT7xe.mjs → index-CzTsDkbO.mjs} +2 -2
  65. package/dist/chunks/{index-BVACT7xe.mjs.map → index-CzTsDkbO.mjs.map} +1 -1
  66. package/dist/chunks/{index-BO-2wsZH.mjs → index-DBp_Gx1M.mjs} +1 -1
  67. package/dist/chunks/{index-BO-2wsZH.mjs.map → index-DBp_Gx1M.mjs.map} +1 -1
  68. package/dist/chunks/{index-DtAARIfz.mjs → index-DZgHf-gI.mjs} +1 -1
  69. package/dist/chunks/{index-DtAARIfz.mjs.map → index-DZgHf-gI.mjs.map} +1 -1
  70. package/dist/chunks/index-DheYAHt3.mjs +2 -0
  71. package/dist/chunks/index-DheYAHt3.mjs.map +1 -0
  72. package/dist/chunks/{index-C3QHFNp7.mjs → index-DmBXPUeL.mjs} +1 -1
  73. package/dist/chunks/{index-C3QHFNp7.mjs.map → index-DmBXPUeL.mjs.map} +1 -1
  74. package/dist/chunks/{index-CZMSgrEB.mjs → index-DuDVR7ID.mjs} +1 -1
  75. package/dist/chunks/{index-CZMSgrEB.mjs.map → index-DuDVR7ID.mjs.map} +1 -1
  76. package/dist/chunks/{index-PTRe4YNS.mjs → index-GOFmxCuq.mjs} +2 -2
  77. package/dist/chunks/{index-PTRe4YNS.mjs.map → index-GOFmxCuq.mjs.map} +1 -1
  78. package/dist/chunks/{index-D5ESKExj.mjs → index-VuwFoF4R.mjs} +2 -2
  79. package/dist/chunks/{index-D5ESKExj.mjs.map → index-VuwFoF4R.mjs.map} +1 -1
  80. package/dist/chunks/{index-qj95ftFz.mjs → index-ZCQr-O7f.mjs} +2 -2
  81. package/dist/chunks/{index-qj95ftFz.mjs.map → index-ZCQr-O7f.mjs.map} +1 -1
  82. package/dist/chunks/{index-yLvhFHpw.mjs → index-czDftnY4.mjs} +2 -2
  83. package/dist/chunks/{index-yLvhFHpw.mjs.map → index-czDftnY4.mjs.map} +1 -1
  84. package/dist/chunks/{index-C20HgOT7.mjs → index-gfwlB8lL.mjs} +2 -2
  85. package/dist/chunks/{index-C20HgOT7.mjs.map → index-gfwlB8lL.mjs.map} +1 -1
  86. package/dist/chunks/{input-BlNrkN6W.mjs → input-DnILT0JB.mjs} +2 -2
  87. package/dist/chunks/{input-BlNrkN6W.mjs.map → input-DnILT0JB.mjs.map} +1 -1
  88. package/dist/chunks/{label-BDU0LXe-.mjs → label-C4MbS7O2.mjs} +2 -2
  89. package/dist/chunks/{label-BDU0LXe-.mjs.map → label-C4MbS7O2.mjs.map} +1 -1
  90. package/dist/chunks/{pagination-nctvfVO2.mjs → pagination-BvnQsAX6.mjs} +2 -2
  91. package/dist/chunks/{pagination-nctvfVO2.mjs.map → pagination-BvnQsAX6.mjs.map} +1 -1
  92. package/dist/chunks/{popover-BPna4ATX.mjs → popover-CLYjD1Mz.mjs} +2 -2
  93. package/dist/chunks/{popover-BPna4ATX.mjs.map → popover-CLYjD1Mz.mjs.map} +1 -1
  94. package/dist/chunks/{progress-D5dklJPH.mjs → progress-B7e979vj.mjs} +2 -2
  95. package/dist/chunks/{progress-D5dklJPH.mjs.map → progress-B7e979vj.mjs.map} +1 -1
  96. package/dist/chunks/{scroll-area-BUsoZk7w.mjs → scroll-area-DeP5Jei7.mjs} +2 -2
  97. package/dist/chunks/{scroll-area-BUsoZk7w.mjs.map → scroll-area-DeP5Jei7.mjs.map} +1 -1
  98. package/dist/chunks/{select-Dsju3pcN.mjs → select-BdrpNh7G.mjs} +2 -2
  99. package/dist/chunks/{select-Dsju3pcN.mjs.map → select-BdrpNh7G.mjs.map} +1 -1
  100. package/dist/chunks/{separator-yvrmazzo.mjs → separator-DbIrm4r-.mjs} +2 -2
  101. package/dist/chunks/{separator-yvrmazzo.mjs.map → separator-DbIrm4r-.mjs.map} +1 -1
  102. package/dist/chunks/{skeleton-CgM54DVd.mjs → skeleton-j85jApz0.mjs} +2 -2
  103. package/dist/chunks/{skeleton-CgM54DVd.mjs.map → skeleton-j85jApz0.mjs.map} +1 -1
  104. package/dist/chunks/{sortable-r5LNLyFY.mjs → sortable-D6tXnjgL.mjs} +2 -2
  105. package/dist/chunks/{sortable-r5LNLyFY.mjs.map → sortable-D6tXnjgL.mjs.map} +1 -1
  106. package/dist/chunks/{table-C7HL2RQX.mjs → table-BsrKQPpM.mjs} +2 -2
  107. package/dist/chunks/{table-C7HL2RQX.mjs.map → table-BsrKQPpM.mjs.map} +1 -1
  108. package/dist/chunks/{toggle-BNsCXJfn.mjs → toggle-DFi2H45K.mjs} +2 -2
  109. package/dist/chunks/{toggle-BNsCXJfn.mjs.map → toggle-DFi2H45K.mjs.map} +1 -1
  110. package/dist/chunks/{tslib.es6-BPlpgYSG.mjs → tslib.es6-mR5Ag05r.mjs} +1 -1
  111. package/dist/chunks/{tslib.es6-BPlpgYSG.mjs.map → tslib.es6-mR5Ag05r.mjs.map} +1 -1
  112. package/dist/chunks/utils-C1EKaz-p.mjs +2 -0
  113. package/dist/chunks/{utils-CplKzw61.mjs.map → utils-C1EKaz-p.mjs.map} +1 -1
  114. package/dist/chunks/x-B1PdcxpA.mjs +2 -0
  115. package/dist/chunks/{x-CXgTi8Ya.mjs.map → x-B1PdcxpA.mjs.map} +1 -1
  116. package/dist/combobox/index.mjs +1 -1
  117. package/dist/command/index.mjs +1 -1
  118. package/dist/data-table/index.mjs +1 -1
  119. package/dist/dialog/index.mjs +1 -1
  120. package/dist/dropdown-menu/index.mjs +1 -1
  121. package/dist/dropzone/index.mjs +1 -1
  122. package/dist/dropzone/index.mjs.map +1 -1
  123. package/dist/form/index.mjs +1 -1
  124. package/dist/hover-card/index.mjs +1 -1
  125. package/dist/icon/index.mjs +1 -1
  126. package/dist/index.css +1 -1
  127. package/dist/input/index.mjs +1 -1
  128. package/dist/ivt.css +1 -1
  129. package/dist/label/index.mjs +1 -1
  130. package/dist/menubar/index.mjs +1 -1
  131. package/dist/multi-select/index.mjs +1 -1
  132. package/dist/pagination/index.mjs +1 -1
  133. package/dist/popover/index.mjs +1 -1
  134. package/dist/progress/index.mjs +1 -1
  135. package/dist/radio-group/index.mjs +1 -1
  136. package/dist/scroll-area/index.mjs +1 -1
  137. package/dist/select/index.mjs +1 -1
  138. package/dist/separator/index.mjs +1 -1
  139. package/dist/sheet/index.mjs +1 -1
  140. package/dist/skeleton/index.mjs +1 -1
  141. package/dist/sortable/index.mjs +1 -1
  142. package/dist/table/index.mjs +1 -1
  143. package/dist/tabs/index.mjs +1 -1
  144. package/dist/textarea/index.mjs +1 -1
  145. package/dist/toast/index.mjs +1 -1
  146. package/dist/toggle/index.mjs +1 -1
  147. package/dist/toggle-group/index.mjs +1 -1
  148. package/dist/tooltip/index.mjs +1 -1
  149. package/package.json +5 -1
  150. package/dist/chunks/check-C1kmNajw.mjs +0 -2
  151. package/dist/chunks/chevron-down-V04oa9sD.mjs +0 -2
  152. package/dist/chunks/chevron-left-B3kOPqDD.mjs +0 -2
  153. package/dist/chunks/chevron-right-PpLc5ALc.mjs +0 -2
  154. package/dist/chunks/circle-U4u29qXG.mjs +0 -2
  155. package/dist/chunks/utils-CplKzw61.mjs +0 -2
  156. package/dist/chunks/x-CXgTi8Ya.mjs +0 -2
@@ -1 +1 @@
1
- {"version":3,"file":"progress-D5dklJPH.mjs","sources":["../../node_modules/@radix-ui/react-progress/dist/index.mjs","../../src/components/ui/progress/progress.tsx"],"sourcesContent":["\"use client\";\n\n// src/progress.tsx\nimport * as React from \"react\";\nimport { createContextScope } from \"@radix-ui/react-context\";\nimport { Primitive } from \"@radix-ui/react-primitive\";\nimport { jsx } from \"react/jsx-runtime\";\nvar PROGRESS_NAME = \"Progress\";\nvar DEFAULT_MAX = 100;\nvar [createProgressContext, createProgressScope] = createContextScope(PROGRESS_NAME);\nvar [ProgressProvider, useProgressContext] = createProgressContext(PROGRESS_NAME);\nvar Progress = React.forwardRef(\n (props, forwardedRef) => {\n const {\n __scopeProgress,\n value: valueProp = null,\n max: maxProp,\n getValueLabel = defaultGetValueLabel,\n ...progressProps\n } = props;\n if ((maxProp || maxProp === 0) && !isValidMaxNumber(maxProp)) {\n console.error(getInvalidMaxError(`${maxProp}`, \"Progress\"));\n }\n const max = isValidMaxNumber(maxProp) ? maxProp : DEFAULT_MAX;\n if (valueProp !== null && !isValidValueNumber(valueProp, max)) {\n console.error(getInvalidValueError(`${valueProp}`, \"Progress\"));\n }\n const value = isValidValueNumber(valueProp, max) ? valueProp : null;\n const valueLabel = isNumber(value) ? getValueLabel(value, max) : void 0;\n return /* @__PURE__ */ jsx(ProgressProvider, { scope: __scopeProgress, value, max, children: /* @__PURE__ */ jsx(\n Primitive.div,\n {\n \"aria-valuemax\": max,\n \"aria-valuemin\": 0,\n \"aria-valuenow\": isNumber(value) ? value : void 0,\n \"aria-valuetext\": valueLabel,\n role: \"progressbar\",\n \"data-state\": getProgressState(value, max),\n \"data-value\": value ?? void 0,\n \"data-max\": max,\n ...progressProps,\n ref: forwardedRef\n }\n ) });\n }\n);\nProgress.displayName = PROGRESS_NAME;\nvar INDICATOR_NAME = \"ProgressIndicator\";\nvar ProgressIndicator = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeProgress, ...indicatorProps } = props;\n const context = useProgressContext(INDICATOR_NAME, __scopeProgress);\n return /* @__PURE__ */ jsx(\n Primitive.div,\n {\n \"data-state\": getProgressState(context.value, context.max),\n \"data-value\": context.value ?? void 0,\n \"data-max\": context.max,\n ...indicatorProps,\n ref: forwardedRef\n }\n );\n }\n);\nProgressIndicator.displayName = INDICATOR_NAME;\nfunction defaultGetValueLabel(value, max) {\n return `${Math.round(value / max * 100)}%`;\n}\nfunction getProgressState(value, maxValue) {\n return value == null ? \"indeterminate\" : value === maxValue ? \"complete\" : \"loading\";\n}\nfunction isNumber(value) {\n return typeof value === \"number\";\n}\nfunction isValidMaxNumber(max) {\n return isNumber(max) && !isNaN(max) && max > 0;\n}\nfunction isValidValueNumber(value, max) {\n return isNumber(value) && !isNaN(value) && value <= max && value >= 0;\n}\nfunction getInvalidMaxError(propValue, componentName) {\n return `Invalid prop \\`max\\` of value \\`${propValue}\\` supplied to \\`${componentName}\\`. Only numbers greater than 0 are valid max values. Defaulting to \\`${DEFAULT_MAX}\\`.`;\n}\nfunction getInvalidValueError(propValue, componentName) {\n return `Invalid prop \\`value\\` of value \\`${propValue}\\` supplied to \\`${componentName}\\`. The \\`value\\` prop must be:\n - a positive number\n - less than the value passed to \\`max\\` (or ${DEFAULT_MAX} if no \\`max\\` prop is set)\n - \\`null\\` or \\`undefined\\` if the progress is indeterminate.\n\nDefaulting to \\`null\\`.`;\n}\nvar Root = Progress;\nvar Indicator = ProgressIndicator;\nexport {\n Indicator,\n Progress,\n ProgressIndicator,\n Root,\n createProgressScope\n};\n//# sourceMappingURL=index.mjs.map\n","import { cn } from \"@/lib/utils\";\nimport * as ProgressPrimitive from \"@radix-ui/react-progress\";\nimport React from \"react\";\n\nfunction Progress({\n\tclassName,\n\tvalue,\n\t...props\n}: React.ComponentProps<typeof ProgressPrimitive.Root>) {\n\treturn (\n\t\t<ProgressPrimitive.Root\n\t\t\tdata-slot=\"progress\"\n\t\t\tclassName={cn(\"bg-primary/20 relative h-2 w-full overflow-hidden rounded-full\", className)}\n\t\t\t{...props}\n\t\t>\n\t\t\t<ProgressPrimitive.Indicator\n\t\t\t\tdata-slot=\"progress-indicator\"\n\t\t\t\tclassName=\"bg-primary h-full w-full flex-1 transition-all\"\n\t\t\t\tstyle={{ transform: `translateX(-${100 - (value || 0)}%)` }}\n\t\t\t/>\n\t\t</ProgressPrimitive.Root>\n\t);\n}\n\nexport { Progress };\n"],"names":["PROGRESS_NAME","createProgressContext","createProgressScope","createContextScope","ProgressProvider","useProgressContext","Progress","React","forwardRef","props","forwardedRef","__scopeProgress","value","valueProp","max","maxProp","getValueLabel","defaultGetValueLabel","progressProps","isValidMaxNumber","isValidValueNumber","valueLabel","isNumber","jsx","scope","children","Primitive","div","role","getProgressState","ref","displayName","INDICATOR_NAME","ProgressIndicator","indicatorProps","context","Math","round","maxValue","isNaN","Root","Indicator","className","createElement","ProgressPrimitive","data-slot","cn","style","transform"],"mappings":"gNAUA,IAAMA,EAAgB,YAIfC,EAAuBC,GAAuBC,EAAmBH,IAIjEI,EAAkBC,GACvBJ,EAA4CD,GAUxCM,EAAiBC,EAAAC,WACrB,CAACC,EAAmCC,KAClC,MAAMC,gBACJA,EACAC,MAAOC,EAAY,KACnBC,IAAKC,EAAAC,cACLA,EAAgBC,KACbC,GACDT,GAECM,GAAW,IAAAA,IAAmBI,EAAiBJ,GAIpD,MAAMD,EAAMK,EAAiBJ,GAAWA,EAhCxB,IAkCE,OAAdF,GAAuBO,EAAmBP,EAAWC,GAIzD,MAAMF,EAAQQ,EAAmBP,EAAWC,GAAOD,EAAY,KACzDQ,EAAaC,EAASV,GAASI,EAAcJ,EAAOE,QAAO,EAEjE,OACES,EAACnB,EAAA,CAAiBoB,MAAOb,EAAiBC,QAAcE,MACtDW,SAAAF,EAACG,EAAUC,IAAV,CACC,gBAAeb,EACf,gBAAe,EACf,gBAAeQ,EAASV,GAASA,OAAQ,EACzC,iBAAgBS,EAChBO,KAAK,cACL,aAAYC,EAAiBjB,EAAOE,GACpC,aAAYF,QAAS,EACrB,WAAUE,KACNI,EACJY,IAAKpB,QAOfJ,EAASyB,YAAc/B,EAMvB,IAAMgC,EAAiB,oBAKjBC,EAA0B1B,EAAAC,WAC9B,CAACC,EAA4CC,KAC3C,MAAMC,gBAAEA,KAAoBuB,GAAmBzB,EACzC0B,EAAU9B,EAAmB2B,EAAgBrB,GACnD,OACEY,EAACG,EAAUC,IAAV,CACC,aAAYE,EAAiBM,EAAQvB,MAAOuB,EAAQrB,KACpD,aAAYqB,EAAQvB,YAAS,EAC7B,WAAUuB,EAAQrB,OACdoB,EACJJ,IAAKpB,MAUb,SAASO,EAAqBL,EAAeE,GAC3C,MAAO,GAAGsB,KAAKC,MAAOzB,EAAQE,EAAO,OACvC,CAEA,SAASe,EAAiBjB,EAAkC0B,GAC1D,OAAgB,MAAT1B,EAAgB,gBAAkBA,IAAU0B,EAAW,WAAa,SAC7E,CAEA,SAAShB,EAASV,GAChB,MAAwB,iBAAVA,CAChB,CAEA,SAASO,EAAiBL,GAExB,OACEQ,EAASR,KACRyB,MAAMzB,IACPA,EAAM,CAEV,CAEA,SAASM,EAAmBR,EAAYE,GAEtC,OACEQ,EAASV,KACR2B,MAAM3B,IACPA,GAASE,GACTF,GAAS,CAEb,CAjCAqB,EAAkBF,YAAcC,EAiDhC,IAAMQ,EAAOlC,EACPmC,EAAYR,EChJlB,SAAS3B,GAASoC,UACjBA,EAAS9B,MACTA,KACGH,IAEH,OACCF,EAAAoC,cAACC,EAAsB,CACtBC,YAAU,WACVH,UAAWI,EAAG,iEAAkEJ,MAC5EjC,GAEJF,EAAAoC,cAACC,EAA2B,CAC3BC,YAAU,qBACVH,UAAU,iDACVK,MAAO,CAAEC,UAAW,eAAe,KAAOpC,GAAS,UAIvD","x_google_ignoreList":[0]}
1
+ {"version":3,"file":"progress-B7e979vj.mjs","sources":["../../node_modules/@radix-ui/react-progress/dist/index.mjs","../../src/components/ui/progress/progress.tsx"],"sourcesContent":["\"use client\";\n\n// src/progress.tsx\nimport * as React from \"react\";\nimport { createContextScope } from \"@radix-ui/react-context\";\nimport { Primitive } from \"@radix-ui/react-primitive\";\nimport { jsx } from \"react/jsx-runtime\";\nvar PROGRESS_NAME = \"Progress\";\nvar DEFAULT_MAX = 100;\nvar [createProgressContext, createProgressScope] = createContextScope(PROGRESS_NAME);\nvar [ProgressProvider, useProgressContext] = createProgressContext(PROGRESS_NAME);\nvar Progress = React.forwardRef(\n (props, forwardedRef) => {\n const {\n __scopeProgress,\n value: valueProp = null,\n max: maxProp,\n getValueLabel = defaultGetValueLabel,\n ...progressProps\n } = props;\n if ((maxProp || maxProp === 0) && !isValidMaxNumber(maxProp)) {\n console.error(getInvalidMaxError(`${maxProp}`, \"Progress\"));\n }\n const max = isValidMaxNumber(maxProp) ? maxProp : DEFAULT_MAX;\n if (valueProp !== null && !isValidValueNumber(valueProp, max)) {\n console.error(getInvalidValueError(`${valueProp}`, \"Progress\"));\n }\n const value = isValidValueNumber(valueProp, max) ? valueProp : null;\n const valueLabel = isNumber(value) ? getValueLabel(value, max) : void 0;\n return /* @__PURE__ */ jsx(ProgressProvider, { scope: __scopeProgress, value, max, children: /* @__PURE__ */ jsx(\n Primitive.div,\n {\n \"aria-valuemax\": max,\n \"aria-valuemin\": 0,\n \"aria-valuenow\": isNumber(value) ? value : void 0,\n \"aria-valuetext\": valueLabel,\n role: \"progressbar\",\n \"data-state\": getProgressState(value, max),\n \"data-value\": value ?? void 0,\n \"data-max\": max,\n ...progressProps,\n ref: forwardedRef\n }\n ) });\n }\n);\nProgress.displayName = PROGRESS_NAME;\nvar INDICATOR_NAME = \"ProgressIndicator\";\nvar ProgressIndicator = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeProgress, ...indicatorProps } = props;\n const context = useProgressContext(INDICATOR_NAME, __scopeProgress);\n return /* @__PURE__ */ jsx(\n Primitive.div,\n {\n \"data-state\": getProgressState(context.value, context.max),\n \"data-value\": context.value ?? void 0,\n \"data-max\": context.max,\n ...indicatorProps,\n ref: forwardedRef\n }\n );\n }\n);\nProgressIndicator.displayName = INDICATOR_NAME;\nfunction defaultGetValueLabel(value, max) {\n return `${Math.round(value / max * 100)}%`;\n}\nfunction getProgressState(value, maxValue) {\n return value == null ? \"indeterminate\" : value === maxValue ? \"complete\" : \"loading\";\n}\nfunction isNumber(value) {\n return typeof value === \"number\";\n}\nfunction isValidMaxNumber(max) {\n return isNumber(max) && !isNaN(max) && max > 0;\n}\nfunction isValidValueNumber(value, max) {\n return isNumber(value) && !isNaN(value) && value <= max && value >= 0;\n}\nfunction getInvalidMaxError(propValue, componentName) {\n return `Invalid prop \\`max\\` of value \\`${propValue}\\` supplied to \\`${componentName}\\`. Only numbers greater than 0 are valid max values. Defaulting to \\`${DEFAULT_MAX}\\`.`;\n}\nfunction getInvalidValueError(propValue, componentName) {\n return `Invalid prop \\`value\\` of value \\`${propValue}\\` supplied to \\`${componentName}\\`. The \\`value\\` prop must be:\n - a positive number\n - less than the value passed to \\`max\\` (or ${DEFAULT_MAX} if no \\`max\\` prop is set)\n - \\`null\\` or \\`undefined\\` if the progress is indeterminate.\n\nDefaulting to \\`null\\`.`;\n}\nvar Root = Progress;\nvar Indicator = ProgressIndicator;\nexport {\n Indicator,\n Progress,\n ProgressIndicator,\n Root,\n createProgressScope\n};\n//# sourceMappingURL=index.mjs.map\n","import { cn } from \"@/lib/utils\";\nimport * as ProgressPrimitive from \"@radix-ui/react-progress\";\nimport React from \"react\";\n\nfunction Progress({\n\tclassName,\n\tvalue,\n\t...props\n}: React.ComponentProps<typeof ProgressPrimitive.Root>) {\n\treturn (\n\t\t<ProgressPrimitive.Root\n\t\t\tdata-slot=\"progress\"\n\t\t\tclassName={cn(\"bg-primary/20 relative h-2 w-full overflow-hidden rounded-full\", className)}\n\t\t\t{...props}\n\t\t>\n\t\t\t<ProgressPrimitive.Indicator\n\t\t\t\tdata-slot=\"progress-indicator\"\n\t\t\t\tclassName=\"bg-primary h-full w-full flex-1 transition-all\"\n\t\t\t\tstyle={{ transform: `translateX(-${100 - (value || 0)}%)` }}\n\t\t\t/>\n\t\t</ProgressPrimitive.Root>\n\t);\n}\n\nexport { Progress };\n"],"names":["PROGRESS_NAME","createProgressContext","createProgressScope","createContextScope","ProgressProvider","useProgressContext","Progress","React","forwardRef","props","forwardedRef","__scopeProgress","value","valueProp","max","maxProp","getValueLabel","defaultGetValueLabel","progressProps","isValidMaxNumber","isValidValueNumber","valueLabel","isNumber","jsx","scope","children","Primitive","div","role","getProgressState","ref","displayName","INDICATOR_NAME","ProgressIndicator","indicatorProps","context","Math","round","maxValue","isNaN","Root","Indicator","className","createElement","ProgressPrimitive","data-slot","cn","style","transform"],"mappings":"gNAUA,IAAMA,EAAgB,YAIfC,EAAuBC,GAAuBC,EAAmBH,IAIjEI,EAAkBC,GACvBJ,EAA4CD,GAUxCM,EAAiBC,EAAAC,WACrB,CAACC,EAAmCC,KAClC,MAAMC,gBACJA,EACAC,MAAOC,EAAY,KACnBC,IAAKC,EAAAC,cACLA,EAAgBC,KACbC,GACDT,GAECM,GAAW,IAAAA,IAAmBI,EAAiBJ,GAIpD,MAAMD,EAAMK,EAAiBJ,GAAWA,EAhCxB,IAkCE,OAAdF,GAAuBO,EAAmBP,EAAWC,GAIzD,MAAMF,EAAQQ,EAAmBP,EAAWC,GAAOD,EAAY,KACzDQ,EAAaC,EAASV,GAASI,EAAcJ,EAAOE,QAAO,EAEjE,OACES,EAACnB,EAAA,CAAiBoB,MAAOb,EAAiBC,QAAcE,MACtDW,SAAAF,EAACG,EAAUC,IAAV,CACC,gBAAeb,EACf,gBAAe,EACf,gBAAeQ,EAASV,GAASA,OAAQ,EACzC,iBAAgBS,EAChBO,KAAK,cACL,aAAYC,EAAiBjB,EAAOE,GACpC,aAAYF,QAAS,EACrB,WAAUE,KACNI,EACJY,IAAKpB,QAOfJ,EAASyB,YAAc/B,EAMvB,IAAMgC,EAAiB,oBAKjBC,EAA0B1B,EAAAC,WAC9B,CAACC,EAA4CC,KAC3C,MAAMC,gBAAEA,KAAoBuB,GAAmBzB,EACzC0B,EAAU9B,EAAmB2B,EAAgBrB,GACnD,OACEY,EAACG,EAAUC,IAAV,CACC,aAAYE,EAAiBM,EAAQvB,MAAOuB,EAAQrB,KACpD,aAAYqB,EAAQvB,YAAS,EAC7B,WAAUuB,EAAQrB,OACdoB,EACJJ,IAAKpB,MAUb,SAASO,EAAqBL,EAAeE,GAC3C,MAAO,GAAGsB,KAAKC,MAAOzB,EAAQE,EAAO,OACvC,CAEA,SAASe,EAAiBjB,EAAkC0B,GAC1D,OAAgB,MAAT1B,EAAgB,gBAAkBA,IAAU0B,EAAW,WAAa,SAC7E,CAEA,SAAShB,EAASV,GAChB,MAAwB,iBAAVA,CAChB,CAEA,SAASO,EAAiBL,GAExB,OACEQ,EAASR,KACRyB,MAAMzB,IACPA,EAAM,CAEV,CAEA,SAASM,EAAmBR,EAAYE,GAEtC,OACEQ,EAASV,KACR2B,MAAM3B,IACPA,GAASE,GACTF,GAAS,CAEb,CAjCAqB,EAAkBF,YAAcC,EAiDhC,IAAMQ,EAAOlC,EACPmC,EAAYR,EChJlB,SAAS3B,GAASoC,UACjBA,EAAS9B,MACTA,KACGH,IAEH,OACCF,EAAAoC,cAACC,EAAsB,CACtBC,YAAU,WACVH,UAAWI,EAAG,iEAAkEJ,MAC5EjC,GAEJF,EAAAoC,cAACC,EAA2B,CAC3BC,YAAU,qBACVH,UAAU,iDACVK,MAAO,CAAEC,UAAW,eAAe,KAAOpC,GAAS,UAIvD","x_google_ignoreList":[0]}
@@ -1,2 +1,2 @@
1
- import{c as e}from"./utils-CplKzw61.mjs";import*as r from"react";import t from"react";import{P as o}from"./index-CZMSgrEB.mjs";import{P as n}from"./index-D532f2iM.mjs";import{c as l}from"./index-BO-2wsZH.mjs";import{u as i}from"./index-C3QHFNp7.mjs";import{u as a}from"./index-BJZ14-gh.mjs";import{u as s}from"./index-BzvNkDmM.mjs";import{u as c}from"./index-DtAARIfz.mjs";import{c as d}from"./index-DCzuZZz4.mjs";import{jsx as u,jsxs as p,Fragment as f}from"react/jsx-runtime";var h="ScrollArea",[v,w]=l(h),[m,b]=v(h),g=r.forwardRef((e,t)=>{const{__scopeScrollArea:n,type:l="hover",dir:a,scrollHideDelay:c=600,...d}=e,[p,f]=r.useState(null),[h,v]=r.useState(null),[w,b]=r.useState(null),[g,S]=r.useState(null),[E,y]=r.useState(null),[T,C]=r.useState(0),[R,P]=r.useState(0),[x,_]=r.useState(!1),[L,D]=r.useState(!1),A=i(t,e=>f(e)),z=s(a);return u(m,{scope:n,type:l,dir:z,scrollHideDelay:c,scrollArea:p,viewport:h,onViewportChange:v,content:w,onContentChange:b,scrollbarX:g,onScrollbarXChange:S,scrollbarXEnabled:x,onScrollbarXEnabledChange:_,scrollbarY:E,onScrollbarYChange:y,scrollbarYEnabled:L,onScrollbarYEnabledChange:D,onCornerWidthChange:C,onCornerHeightChange:P,children:u(o.div,{dir:z,...d,ref:A,style:{position:"relative","--radix-scroll-area-corner-width":T+"px","--radix-scroll-area-corner-height":R+"px",...e.style}})})});g.displayName=h;var S="ScrollAreaViewport",E=r.forwardRef((e,t)=>{const{__scopeScrollArea:n,children:l,nonce:a,...s}=e,c=b(S,n),d=r.useRef(null),h=i(t,d,c.onViewportChange);return p(f,{children:[u("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:a}),u(o.div,{"data-radix-scroll-area-viewport":"",...s,ref:h,style:{overflowX:c.scrollbarXEnabled?"scroll":"hidden",overflowY:c.scrollbarYEnabled?"scroll":"hidden",...e.style},children:u("div",{ref:c.onContentChange,style:{minWidth:"100%",display:"table"},children:l})})]})});E.displayName=S;var y="ScrollAreaScrollbar",T=r.forwardRef((e,t)=>{const{forceMount:o,...n}=e,l=b(y,e.__scopeScrollArea),{onScrollbarXEnabledChange:i,onScrollbarYEnabledChange:a}=l,s="horizontal"===e.orientation;return r.useEffect(()=>(s?i(!0):a(!0),()=>{s?i(!1):a(!1)}),[s,i,a]),"hover"===l.type?u(C,{...n,ref:t,forceMount:o}):"scroll"===l.type?u(R,{...n,ref:t,forceMount:o}):"auto"===l.type?u(P,{...n,ref:t,forceMount:o}):"always"===l.type?u(x,{...n,ref:t}):null});T.displayName=y;var C=r.forwardRef((e,t)=>{const{forceMount:o,...l}=e,i=b(y,e.__scopeScrollArea),[a,s]=r.useState(!1);return r.useEffect(()=>{const e=i.scrollArea;let r=0;if(e){const t=()=>{window.clearTimeout(r),s(!0)},o=()=>{r=window.setTimeout(()=>s(!1),i.scrollHideDelay)};return e.addEventListener("pointerenter",t),e.addEventListener("pointerleave",o),()=>{window.clearTimeout(r),e.removeEventListener("pointerenter",t),e.removeEventListener("pointerleave",o)}}},[i.scrollArea,i.scrollHideDelay]),u(n,{present:o||a,children:u(P,{"data-state":a?"visible":"hidden",...l,ref:t})})}),R=r.forwardRef((e,t)=>{const{forceMount:o,...l}=e,i=b(y,e.__scopeScrollArea),a="horizontal"===e.orientation,s=V(()=>p("SCROLL_END"),100),[c,p]=(f="hidden",h={hidden:{SCROLL:"scrolling"},scrolling:{SCROLL_END:"idle",POINTER_ENTER:"interacting"},interacting:{SCROLL:"interacting",POINTER_LEAVE:"idle"},idle:{HIDE:"hidden",SCROLL:"scrolling",POINTER_ENTER:"interacting"}},r.useReducer((e,r)=>h[e][r]??e,f));var f,h;return r.useEffect(()=>{if("idle"===c){const e=window.setTimeout(()=>p("HIDE"),i.scrollHideDelay);return()=>window.clearTimeout(e)}},[c,i.scrollHideDelay,p]),r.useEffect(()=>{const e=i.viewport,r=a?"scrollLeft":"scrollTop";if(e){let t=e[r];const o=()=>{const o=e[r];t!==o&&(p("SCROLL"),s()),t=o};return e.addEventListener("scroll",o),()=>e.removeEventListener("scroll",o)}},[i.viewport,a,p,s]),u(n,{present:o||"hidden"!==c,children:u(x,{"data-state":"hidden"===c?"hidden":"visible",...l,ref:t,onPointerEnter:d(e.onPointerEnter,()=>p("POINTER_ENTER")),onPointerLeave:d(e.onPointerLeave,()=>p("POINTER_LEAVE"))})})}),P=r.forwardRef((e,t)=>{const o=b(y,e.__scopeScrollArea),{forceMount:l,...i}=e,[a,s]=r.useState(!1),c="horizontal"===e.orientation,d=V(()=>{if(o.viewport){const e=o.viewport.offsetWidth<o.viewport.scrollWidth,r=o.viewport.offsetHeight<o.viewport.scrollHeight;s(c?e:r)}},10);return q(o.viewport,d),q(o.content,d),u(n,{present:l||a,children:u(x,{"data-state":a?"visible":"hidden",...i,ref:t})})}),x=r.forwardRef((e,t)=>{const{orientation:o="vertical",...n}=e,l=b(y,e.__scopeScrollArea),i=r.useRef(null),a=r.useRef(0),[s,c]=r.useState({content:0,viewport:0,scrollbar:{size:0,paddingStart:0,paddingEnd:0}}),d=O(s.viewport,s.content),p={...n,sizes:s,onSizesChange:c,hasThumb:Boolean(d>0&&d<1),onThumbChange:e=>i.current=e,onThumbPointerUp:()=>a.current=0,onThumbPointerDown:e=>a.current=e};function f(e,r){return function(e,r,t,o="ltr"){const n=U(t),l=n/2,i=r||l,a=n-i,s=t.scrollbar.paddingStart+i,c=t.scrollbar.size-t.scrollbar.paddingEnd-a,d=t.content-t.viewport,u="ltr"===o?[0,d]:[-1*d,0];return k([s,c],u)(e)}(e,a.current,s,r)}return"horizontal"===o?u(_,{...p,ref:t,onThumbPositionChange:()=>{if(l.viewport&&i.current){const e=j(l.viewport.scrollLeft,s,l.dir);i.current.style.transform=`translate3d(${e}px, 0, 0)`}},onWheelScroll:e=>{l.viewport&&(l.viewport.scrollLeft=e)},onDragScroll:e=>{l.viewport&&(l.viewport.scrollLeft=f(e,l.dir))}}):"vertical"===o?u(L,{...p,ref:t,onThumbPositionChange:()=>{if(l.viewport&&i.current){const e=j(l.viewport.scrollTop,s);i.current.style.transform=`translate3d(0, ${e}px, 0)`}},onWheelScroll:e=>{l.viewport&&(l.viewport.scrollTop=e)},onDragScroll:e=>{l.viewport&&(l.viewport.scrollTop=f(e))}}):null}),_=r.forwardRef((e,t)=>{const{sizes:o,onSizesChange:n,...l}=e,a=b(y,e.__scopeScrollArea),[s,c]=r.useState(),d=r.useRef(null),p=i(t,d,a.onScrollbarXChange);return r.useEffect(()=>{d.current&&c(getComputedStyle(d.current))},[d]),u(z,{"data-orientation":"horizontal",...l,ref:p,sizes:o,style:{bottom:0,left:"rtl"===a.dir?"var(--radix-scroll-area-corner-width)":0,right:"ltr"===a.dir?"var(--radix-scroll-area-corner-width)":0,"--radix-scroll-area-thumb-width":U(o)+"px",...e.style},onThumbPointerDown:r=>e.onThumbPointerDown(r.x),onDragScroll:r=>e.onDragScroll(r.x),onWheelScroll:(r,t)=>{if(a.viewport){const o=a.viewport.scrollLeft+r.deltaX;e.onWheelScroll(o),B(o,t)&&r.preventDefault()}},onResize:()=>{d.current&&a.viewport&&s&&n({content:a.viewport.scrollWidth,viewport:a.viewport.offsetWidth,scrollbar:{size:d.current.clientWidth,paddingStart:I(s.paddingLeft),paddingEnd:I(s.paddingRight)}})}})}),L=r.forwardRef((e,t)=>{const{sizes:o,onSizesChange:n,...l}=e,a=b(y,e.__scopeScrollArea),[s,c]=r.useState(),d=r.useRef(null),p=i(t,d,a.onScrollbarYChange);return r.useEffect(()=>{d.current&&c(getComputedStyle(d.current))},[d]),u(z,{"data-orientation":"vertical",...l,ref:p,sizes:o,style:{top:0,right:"ltr"===a.dir?0:void 0,left:"rtl"===a.dir?0:void 0,bottom:"var(--radix-scroll-area-corner-height)","--radix-scroll-area-thumb-height":U(o)+"px",...e.style},onThumbPointerDown:r=>e.onThumbPointerDown(r.y),onDragScroll:r=>e.onDragScroll(r.y),onWheelScroll:(r,t)=>{if(a.viewport){const o=a.viewport.scrollTop+r.deltaY;e.onWheelScroll(o),B(o,t)&&r.preventDefault()}},onResize:()=>{d.current&&a.viewport&&s&&n({content:a.viewport.scrollHeight,viewport:a.viewport.offsetHeight,scrollbar:{size:d.current.clientHeight,paddingStart:I(s.paddingTop),paddingEnd:I(s.paddingBottom)}})}})}),[D,A]=v(y),z=r.forwardRef((e,t)=>{const{__scopeScrollArea:n,sizes:l,hasThumb:s,onThumbChange:c,onThumbPointerUp:p,onThumbPointerDown:f,onThumbPositionChange:h,onDragScroll:v,onWheelScroll:w,onResize:m,...g}=e,S=b(y,n),[E,T]=r.useState(null),C=i(t,e=>T(e)),R=r.useRef(null),P=r.useRef(""),x=S.viewport,_=l.content-l.viewport,L=a(w),A=a(h),z=V(m,10);function N(e){if(R.current){const r=e.clientX-R.current.left,t=e.clientY-R.current.top;v({x:r,y:t})}}return r.useEffect(()=>{const e=e=>{const r=e.target,t=E?.contains(r);t&&L(e,_)};return document.addEventListener("wheel",e,{passive:!1}),()=>document.removeEventListener("wheel",e,{passive:!1})},[x,E,_,L]),r.useEffect(A,[l,A]),q(E,z),q(S.content,z),u(D,{scope:n,scrollbar:E,hasThumb:s,onThumbChange:a(c),onThumbPointerUp:a(p),onThumbPositionChange:A,onThumbPointerDown:a(f),children:u(o.div,{...g,ref:C,style:{position:"absolute",...g.style},onPointerDown:d(e.onPointerDown,e=>{if(0===e.button){e.target.setPointerCapture(e.pointerId),R.current=E.getBoundingClientRect(),P.current=document.body.style.webkitUserSelect,document.body.style.webkitUserSelect="none",S.viewport&&(S.viewport.style.scrollBehavior="auto"),N(e)}}),onPointerMove:d(e.onPointerMove,N),onPointerUp:d(e.onPointerUp,e=>{const r=e.target;r.hasPointerCapture(e.pointerId)&&r.releasePointerCapture(e.pointerId),document.body.style.webkitUserSelect=P.current,S.viewport&&(S.viewport.style.scrollBehavior=""),R.current=null})})})}),N="ScrollAreaThumb",H=r.forwardRef((e,r)=>{const{forceMount:t,...o}=e,l=A(N,e.__scopeScrollArea);return u(n,{present:t||l.hasThumb,children:u(W,{ref:r,...o})})}),W=r.forwardRef((e,t)=>{const{__scopeScrollArea:n,style:l,...a}=e,s=b(N,n),c=A(N,n),{onThumbPositionChange:p}=c,f=i(t,e=>c.onThumbChange(e)),h=r.useRef(void 0),v=V(()=>{h.current&&(h.current(),h.current=void 0)},100);return r.useEffect(()=>{const e=s.viewport;if(e){const r=()=>{if(v(),!h.current){const r=F(e,p);h.current=r,p()}};return p(),e.addEventListener("scroll",r),()=>e.removeEventListener("scroll",r)}},[s.viewport,v,p]),u(o.div,{"data-state":c.hasThumb?"visible":"hidden",...a,ref:f,style:{width:"var(--radix-scroll-area-thumb-width)",height:"var(--radix-scroll-area-thumb-height)",...l},onPointerDownCapture:d(e.onPointerDownCapture,e=>{const r=e.target.getBoundingClientRect(),t=e.clientX-r.left,o=e.clientY-r.top;c.onThumbPointerDown({x:t,y:o})}),onPointerUp:d(e.onPointerUp,c.onThumbPointerUp)})});H.displayName=N;var M="ScrollAreaCorner",X=r.forwardRef((e,r)=>{const t=b(M,e.__scopeScrollArea),o=Boolean(t.scrollbarX&&t.scrollbarY);return"scroll"!==t.type&&o?u(Y,{...e,ref:r}):null});X.displayName=M;var Y=r.forwardRef((e,t)=>{const{__scopeScrollArea:n,...l}=e,i=b(M,n),[a,s]=r.useState(0),[c,d]=r.useState(0),p=Boolean(a&&c);return q(i.scrollbarX,()=>{const e=i.scrollbarX?.offsetHeight||0;i.onCornerHeightChange(e),d(e)}),q(i.scrollbarY,()=>{const e=i.scrollbarY?.offsetWidth||0;i.onCornerWidthChange(e),s(e)}),p?u(o.div,{...l,ref:t,style:{width:a,height:c,position:"absolute",right:"ltr"===i.dir?0:void 0,left:"rtl"===i.dir?0:void 0,bottom:0,...e.style}}):null});function I(e){return e?parseInt(e,10):0}function O(e,r){const t=e/r;return isNaN(t)?0:t}function U(e){const r=O(e.viewport,e.content),t=e.scrollbar.paddingStart+e.scrollbar.paddingEnd,o=(e.scrollbar.size-t)*r;return Math.max(o,18)}function j(e,r,t="ltr"){const o=U(r),n=r.scrollbar.paddingStart+r.scrollbar.paddingEnd,l=r.scrollbar.size-n,i=r.content-r.viewport,a=l-o,s=function(e,[r,t]){return Math.min(t,Math.max(r,e))}(e,"ltr"===t?[0,i]:[-1*i,0]);return k([0,i],[0,a])(s)}function k(e,r){return t=>{if(e[0]===e[1]||r[0]===r[1])return r[0];const o=(r[1]-r[0])/(e[1]-e[0]);return r[0]+o*(t-e[0])}}function B(e,r){return e>0&&e<r}var F=(e,r=()=>{})=>{let t={left:e.scrollLeft,top:e.scrollTop},o=0;return function n(){const l={left:e.scrollLeft,top:e.scrollTop},i=t.left!==l.left,a=t.top!==l.top;(i||a)&&r(),t=l,o=window.requestAnimationFrame(n)}(),()=>window.cancelAnimationFrame(o)};function V(e,t){const o=a(e),n=r.useRef(0);return r.useEffect(()=>()=>window.clearTimeout(n.current),[]),r.useCallback(()=>{window.clearTimeout(n.current),n.current=window.setTimeout(o,t)},[o,t])}function q(e,r){const t=a(r);c(()=>{let r=0;if(e){const o=new ResizeObserver(()=>{cancelAnimationFrame(r),r=window.requestAnimationFrame(t)});return o.observe(e),()=>{window.cancelAnimationFrame(r),o.unobserve(e)}}},[e,t])}var $=g,G=E,J=X;function K({className:r,children:o,...n}){return t.createElement($,{"data-slot":"scroll-area",className:e("relative",r),...n},t.createElement(G,{"data-slot":"scroll-area-viewport",className:"ring-ring/10 dark:ring-ring/20 dark:outline-ring/40 outline-ring/50 size-full rounded-[inherit] transition-[color,box-shadow] focus-visible:ring-4 focus-visible:outline-1"},o),t.createElement(Q,null),t.createElement(J,null))}function Q({className:r,orientation:o="vertical",...n}){return t.createElement(T,{"data-slot":"scroll-area-scrollbar",orientation:o,className:e("flex touch-none p-px transition-colors select-none","vertical"===o&&"h-full w-2.5 border-l border-l-transparent","horizontal"===o&&"h-2.5 flex-col border-t border-t-transparent",r),...n},t.createElement(H,{"data-slot":"scroll-area-thumb",className:"bg-border relative flex-1 rounded-full"}))}export{K as S,Q as a};
2
- //# sourceMappingURL=scroll-area-BUsoZk7w.mjs.map
1
+ import{c as e}from"./utils-C1EKaz-p.mjs";import*as r from"react";import t from"react";import{P as o}from"./index-DuDVR7ID.mjs";import{P as n}from"./index-B7nzlBcT.mjs";import{c as l}from"./index-DBp_Gx1M.mjs";import{u as i}from"./index-DmBXPUeL.mjs";import{u as a}from"./index-Cu6LwID6.mjs";import{u as s}from"./index-Bt73Afz2.mjs";import{u as c}from"./index-DZgHf-gI.mjs";import{c as d}from"./index-CaYe_hNP.mjs";import{jsx as u,jsxs as p,Fragment as f}from"react/jsx-runtime";var h="ScrollArea",[v,w]=l(h),[m,b]=v(h),g=r.forwardRef((e,t)=>{const{__scopeScrollArea:n,type:l="hover",dir:a,scrollHideDelay:c=600,...d}=e,[p,f]=r.useState(null),[h,v]=r.useState(null),[w,b]=r.useState(null),[g,S]=r.useState(null),[E,y]=r.useState(null),[T,C]=r.useState(0),[R,P]=r.useState(0),[x,_]=r.useState(!1),[L,D]=r.useState(!1),A=i(t,e=>f(e)),z=s(a);return u(m,{scope:n,type:l,dir:z,scrollHideDelay:c,scrollArea:p,viewport:h,onViewportChange:v,content:w,onContentChange:b,scrollbarX:g,onScrollbarXChange:S,scrollbarXEnabled:x,onScrollbarXEnabledChange:_,scrollbarY:E,onScrollbarYChange:y,scrollbarYEnabled:L,onScrollbarYEnabledChange:D,onCornerWidthChange:C,onCornerHeightChange:P,children:u(o.div,{dir:z,...d,ref:A,style:{position:"relative","--radix-scroll-area-corner-width":T+"px","--radix-scroll-area-corner-height":R+"px",...e.style}})})});g.displayName=h;var S="ScrollAreaViewport",E=r.forwardRef((e,t)=>{const{__scopeScrollArea:n,children:l,nonce:a,...s}=e,c=b(S,n),d=r.useRef(null),h=i(t,d,c.onViewportChange);return p(f,{children:[u("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:a}),u(o.div,{"data-radix-scroll-area-viewport":"",...s,ref:h,style:{overflowX:c.scrollbarXEnabled?"scroll":"hidden",overflowY:c.scrollbarYEnabled?"scroll":"hidden",...e.style},children:u("div",{ref:c.onContentChange,style:{minWidth:"100%",display:"table"},children:l})})]})});E.displayName=S;var y="ScrollAreaScrollbar",T=r.forwardRef((e,t)=>{const{forceMount:o,...n}=e,l=b(y,e.__scopeScrollArea),{onScrollbarXEnabledChange:i,onScrollbarYEnabledChange:a}=l,s="horizontal"===e.orientation;return r.useEffect(()=>(s?i(!0):a(!0),()=>{s?i(!1):a(!1)}),[s,i,a]),"hover"===l.type?u(C,{...n,ref:t,forceMount:o}):"scroll"===l.type?u(R,{...n,ref:t,forceMount:o}):"auto"===l.type?u(P,{...n,ref:t,forceMount:o}):"always"===l.type?u(x,{...n,ref:t}):null});T.displayName=y;var C=r.forwardRef((e,t)=>{const{forceMount:o,...l}=e,i=b(y,e.__scopeScrollArea),[a,s]=r.useState(!1);return r.useEffect(()=>{const e=i.scrollArea;let r=0;if(e){const t=()=>{window.clearTimeout(r),s(!0)},o=()=>{r=window.setTimeout(()=>s(!1),i.scrollHideDelay)};return e.addEventListener("pointerenter",t),e.addEventListener("pointerleave",o),()=>{window.clearTimeout(r),e.removeEventListener("pointerenter",t),e.removeEventListener("pointerleave",o)}}},[i.scrollArea,i.scrollHideDelay]),u(n,{present:o||a,children:u(P,{"data-state":a?"visible":"hidden",...l,ref:t})})}),R=r.forwardRef((e,t)=>{const{forceMount:o,...l}=e,i=b(y,e.__scopeScrollArea),a="horizontal"===e.orientation,s=V(()=>p("SCROLL_END"),100),[c,p]=(f="hidden",h={hidden:{SCROLL:"scrolling"},scrolling:{SCROLL_END:"idle",POINTER_ENTER:"interacting"},interacting:{SCROLL:"interacting",POINTER_LEAVE:"idle"},idle:{HIDE:"hidden",SCROLL:"scrolling",POINTER_ENTER:"interacting"}},r.useReducer((e,r)=>h[e][r]??e,f));var f,h;return r.useEffect(()=>{if("idle"===c){const e=window.setTimeout(()=>p("HIDE"),i.scrollHideDelay);return()=>window.clearTimeout(e)}},[c,i.scrollHideDelay,p]),r.useEffect(()=>{const e=i.viewport,r=a?"scrollLeft":"scrollTop";if(e){let t=e[r];const o=()=>{const o=e[r];t!==o&&(p("SCROLL"),s()),t=o};return e.addEventListener("scroll",o),()=>e.removeEventListener("scroll",o)}},[i.viewport,a,p,s]),u(n,{present:o||"hidden"!==c,children:u(x,{"data-state":"hidden"===c?"hidden":"visible",...l,ref:t,onPointerEnter:d(e.onPointerEnter,()=>p("POINTER_ENTER")),onPointerLeave:d(e.onPointerLeave,()=>p("POINTER_LEAVE"))})})}),P=r.forwardRef((e,t)=>{const o=b(y,e.__scopeScrollArea),{forceMount:l,...i}=e,[a,s]=r.useState(!1),c="horizontal"===e.orientation,d=V(()=>{if(o.viewport){const e=o.viewport.offsetWidth<o.viewport.scrollWidth,r=o.viewport.offsetHeight<o.viewport.scrollHeight;s(c?e:r)}},10);return q(o.viewport,d),q(o.content,d),u(n,{present:l||a,children:u(x,{"data-state":a?"visible":"hidden",...i,ref:t})})}),x=r.forwardRef((e,t)=>{const{orientation:o="vertical",...n}=e,l=b(y,e.__scopeScrollArea),i=r.useRef(null),a=r.useRef(0),[s,c]=r.useState({content:0,viewport:0,scrollbar:{size:0,paddingStart:0,paddingEnd:0}}),d=O(s.viewport,s.content),p={...n,sizes:s,onSizesChange:c,hasThumb:Boolean(d>0&&d<1),onThumbChange:e=>i.current=e,onThumbPointerUp:()=>a.current=0,onThumbPointerDown:e=>a.current=e};function f(e,r){return function(e,r,t,o="ltr"){const n=U(t),l=n/2,i=r||l,a=n-i,s=t.scrollbar.paddingStart+i,c=t.scrollbar.size-t.scrollbar.paddingEnd-a,d=t.content-t.viewport,u="ltr"===o?[0,d]:[-1*d,0];return k([s,c],u)(e)}(e,a.current,s,r)}return"horizontal"===o?u(_,{...p,ref:t,onThumbPositionChange:()=>{if(l.viewport&&i.current){const e=j(l.viewport.scrollLeft,s,l.dir);i.current.style.transform=`translate3d(${e}px, 0, 0)`}},onWheelScroll:e=>{l.viewport&&(l.viewport.scrollLeft=e)},onDragScroll:e=>{l.viewport&&(l.viewport.scrollLeft=f(e,l.dir))}}):"vertical"===o?u(L,{...p,ref:t,onThumbPositionChange:()=>{if(l.viewport&&i.current){const e=j(l.viewport.scrollTop,s);i.current.style.transform=`translate3d(0, ${e}px, 0)`}},onWheelScroll:e=>{l.viewport&&(l.viewport.scrollTop=e)},onDragScroll:e=>{l.viewport&&(l.viewport.scrollTop=f(e))}}):null}),_=r.forwardRef((e,t)=>{const{sizes:o,onSizesChange:n,...l}=e,a=b(y,e.__scopeScrollArea),[s,c]=r.useState(),d=r.useRef(null),p=i(t,d,a.onScrollbarXChange);return r.useEffect(()=>{d.current&&c(getComputedStyle(d.current))},[d]),u(z,{"data-orientation":"horizontal",...l,ref:p,sizes:o,style:{bottom:0,left:"rtl"===a.dir?"var(--radix-scroll-area-corner-width)":0,right:"ltr"===a.dir?"var(--radix-scroll-area-corner-width)":0,"--radix-scroll-area-thumb-width":U(o)+"px",...e.style},onThumbPointerDown:r=>e.onThumbPointerDown(r.x),onDragScroll:r=>e.onDragScroll(r.x),onWheelScroll:(r,t)=>{if(a.viewport){const o=a.viewport.scrollLeft+r.deltaX;e.onWheelScroll(o),B(o,t)&&r.preventDefault()}},onResize:()=>{d.current&&a.viewport&&s&&n({content:a.viewport.scrollWidth,viewport:a.viewport.offsetWidth,scrollbar:{size:d.current.clientWidth,paddingStart:I(s.paddingLeft),paddingEnd:I(s.paddingRight)}})}})}),L=r.forwardRef((e,t)=>{const{sizes:o,onSizesChange:n,...l}=e,a=b(y,e.__scopeScrollArea),[s,c]=r.useState(),d=r.useRef(null),p=i(t,d,a.onScrollbarYChange);return r.useEffect(()=>{d.current&&c(getComputedStyle(d.current))},[d]),u(z,{"data-orientation":"vertical",...l,ref:p,sizes:o,style:{top:0,right:"ltr"===a.dir?0:void 0,left:"rtl"===a.dir?0:void 0,bottom:"var(--radix-scroll-area-corner-height)","--radix-scroll-area-thumb-height":U(o)+"px",...e.style},onThumbPointerDown:r=>e.onThumbPointerDown(r.y),onDragScroll:r=>e.onDragScroll(r.y),onWheelScroll:(r,t)=>{if(a.viewport){const o=a.viewport.scrollTop+r.deltaY;e.onWheelScroll(o),B(o,t)&&r.preventDefault()}},onResize:()=>{d.current&&a.viewport&&s&&n({content:a.viewport.scrollHeight,viewport:a.viewport.offsetHeight,scrollbar:{size:d.current.clientHeight,paddingStart:I(s.paddingTop),paddingEnd:I(s.paddingBottom)}})}})}),[D,A]=v(y),z=r.forwardRef((e,t)=>{const{__scopeScrollArea:n,sizes:l,hasThumb:s,onThumbChange:c,onThumbPointerUp:p,onThumbPointerDown:f,onThumbPositionChange:h,onDragScroll:v,onWheelScroll:w,onResize:m,...g}=e,S=b(y,n),[E,T]=r.useState(null),C=i(t,e=>T(e)),R=r.useRef(null),P=r.useRef(""),x=S.viewport,_=l.content-l.viewport,L=a(w),A=a(h),z=V(m,10);function N(e){if(R.current){const r=e.clientX-R.current.left,t=e.clientY-R.current.top;v({x:r,y:t})}}return r.useEffect(()=>{const e=e=>{const r=e.target,t=E?.contains(r);t&&L(e,_)};return document.addEventListener("wheel",e,{passive:!1}),()=>document.removeEventListener("wheel",e,{passive:!1})},[x,E,_,L]),r.useEffect(A,[l,A]),q(E,z),q(S.content,z),u(D,{scope:n,scrollbar:E,hasThumb:s,onThumbChange:a(c),onThumbPointerUp:a(p),onThumbPositionChange:A,onThumbPointerDown:a(f),children:u(o.div,{...g,ref:C,style:{position:"absolute",...g.style},onPointerDown:d(e.onPointerDown,e=>{if(0===e.button){e.target.setPointerCapture(e.pointerId),R.current=E.getBoundingClientRect(),P.current=document.body.style.webkitUserSelect,document.body.style.webkitUserSelect="none",S.viewport&&(S.viewport.style.scrollBehavior="auto"),N(e)}}),onPointerMove:d(e.onPointerMove,N),onPointerUp:d(e.onPointerUp,e=>{const r=e.target;r.hasPointerCapture(e.pointerId)&&r.releasePointerCapture(e.pointerId),document.body.style.webkitUserSelect=P.current,S.viewport&&(S.viewport.style.scrollBehavior=""),R.current=null})})})}),N="ScrollAreaThumb",H=r.forwardRef((e,r)=>{const{forceMount:t,...o}=e,l=A(N,e.__scopeScrollArea);return u(n,{present:t||l.hasThumb,children:u(W,{ref:r,...o})})}),W=r.forwardRef((e,t)=>{const{__scopeScrollArea:n,style:l,...a}=e,s=b(N,n),c=A(N,n),{onThumbPositionChange:p}=c,f=i(t,e=>c.onThumbChange(e)),h=r.useRef(void 0),v=V(()=>{h.current&&(h.current(),h.current=void 0)},100);return r.useEffect(()=>{const e=s.viewport;if(e){const r=()=>{if(v(),!h.current){const r=F(e,p);h.current=r,p()}};return p(),e.addEventListener("scroll",r),()=>e.removeEventListener("scroll",r)}},[s.viewport,v,p]),u(o.div,{"data-state":c.hasThumb?"visible":"hidden",...a,ref:f,style:{width:"var(--radix-scroll-area-thumb-width)",height:"var(--radix-scroll-area-thumb-height)",...l},onPointerDownCapture:d(e.onPointerDownCapture,e=>{const r=e.target.getBoundingClientRect(),t=e.clientX-r.left,o=e.clientY-r.top;c.onThumbPointerDown({x:t,y:o})}),onPointerUp:d(e.onPointerUp,c.onThumbPointerUp)})});H.displayName=N;var M="ScrollAreaCorner",X=r.forwardRef((e,r)=>{const t=b(M,e.__scopeScrollArea),o=Boolean(t.scrollbarX&&t.scrollbarY);return"scroll"!==t.type&&o?u(Y,{...e,ref:r}):null});X.displayName=M;var Y=r.forwardRef((e,t)=>{const{__scopeScrollArea:n,...l}=e,i=b(M,n),[a,s]=r.useState(0),[c,d]=r.useState(0),p=Boolean(a&&c);return q(i.scrollbarX,()=>{const e=i.scrollbarX?.offsetHeight||0;i.onCornerHeightChange(e),d(e)}),q(i.scrollbarY,()=>{const e=i.scrollbarY?.offsetWidth||0;i.onCornerWidthChange(e),s(e)}),p?u(o.div,{...l,ref:t,style:{width:a,height:c,position:"absolute",right:"ltr"===i.dir?0:void 0,left:"rtl"===i.dir?0:void 0,bottom:0,...e.style}}):null});function I(e){return e?parseInt(e,10):0}function O(e,r){const t=e/r;return isNaN(t)?0:t}function U(e){const r=O(e.viewport,e.content),t=e.scrollbar.paddingStart+e.scrollbar.paddingEnd,o=(e.scrollbar.size-t)*r;return Math.max(o,18)}function j(e,r,t="ltr"){const o=U(r),n=r.scrollbar.paddingStart+r.scrollbar.paddingEnd,l=r.scrollbar.size-n,i=r.content-r.viewport,a=l-o,s=function(e,[r,t]){return Math.min(t,Math.max(r,e))}(e,"ltr"===t?[0,i]:[-1*i,0]);return k([0,i],[0,a])(s)}function k(e,r){return t=>{if(e[0]===e[1]||r[0]===r[1])return r[0];const o=(r[1]-r[0])/(e[1]-e[0]);return r[0]+o*(t-e[0])}}function B(e,r){return e>0&&e<r}var F=(e,r=()=>{})=>{let t={left:e.scrollLeft,top:e.scrollTop},o=0;return function n(){const l={left:e.scrollLeft,top:e.scrollTop},i=t.left!==l.left,a=t.top!==l.top;(i||a)&&r(),t=l,o=window.requestAnimationFrame(n)}(),()=>window.cancelAnimationFrame(o)};function V(e,t){const o=a(e),n=r.useRef(0);return r.useEffect(()=>()=>window.clearTimeout(n.current),[]),r.useCallback(()=>{window.clearTimeout(n.current),n.current=window.setTimeout(o,t)},[o,t])}function q(e,r){const t=a(r);c(()=>{let r=0;if(e){const o=new ResizeObserver(()=>{cancelAnimationFrame(r),r=window.requestAnimationFrame(t)});return o.observe(e),()=>{window.cancelAnimationFrame(r),o.unobserve(e)}}},[e,t])}var $=g,G=E,J=X;function K({className:r,children:o,...n}){return t.createElement($,{"data-slot":"scroll-area",className:e("relative",r),...n},t.createElement(G,{"data-slot":"scroll-area-viewport",className:"ring-ring/10 dark:ring-ring/20 dark:outline-ring/40 outline-ring/50 size-full rounded-[inherit] transition-[color,box-shadow] focus-visible:ring-4 focus-visible:outline-1"},o),t.createElement(Q,null),t.createElement(J,null))}function Q({className:r,orientation:o="vertical",...n}){return t.createElement(T,{"data-slot":"scroll-area-scrollbar",orientation:o,className:e("flex touch-none p-px transition-colors select-none","vertical"===o&&"h-full w-2.5 border-l border-l-transparent","horizontal"===o&&"h-2.5 flex-col border-t border-t-transparent",r),...n},t.createElement(H,{"data-slot":"scroll-area-thumb",className:"bg-border relative flex-1 rounded-full"}))}export{K as S,Q as a};
2
+ //# sourceMappingURL=scroll-area-DeP5Jei7.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"scroll-area-BUsoZk7w.mjs","sources":["../../node_modules/@radix-ui/react-scroll-area/dist/index.mjs","../../node_modules/@radix-ui/number/dist/index.mjs","../../src/components/ui/scroll-area/scroll-area.tsx"],"sourcesContent":["\"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","// 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","import { cn } from \"@/lib/utils\";\nimport * as ScrollAreaPrimitive from \"@radix-ui/react-scroll-area\";\nimport React from \"react\";\n\nfunction ScrollArea({\n\tclassName,\n\tchildren,\n\t...props\n}: React.ComponentProps<typeof ScrollAreaPrimitive.Root>) {\n\treturn (\n\t\t<ScrollAreaPrimitive.Root\n\t\t\tdata-slot=\"scroll-area\"\n\t\t\tclassName={cn(\"relative\", className)}\n\t\t\t{...props}\n\t\t>\n\t\t\t<ScrollAreaPrimitive.Viewport\n\t\t\t\tdata-slot=\"scroll-area-viewport\"\n\t\t\t\tclassName=\"ring-ring/10 dark:ring-ring/20 dark:outline-ring/40 outline-ring/50 size-full rounded-[inherit] transition-[color,box-shadow] focus-visible:ring-4 focus-visible:outline-1\"\n\t\t\t>\n\t\t\t\t{children}\n\t\t\t</ScrollAreaPrimitive.Viewport>\n\t\t\t<ScrollBar />\n\t\t\t<ScrollAreaPrimitive.Corner />\n\t\t</ScrollAreaPrimitive.Root>\n\t);\n}\n\nfunction ScrollBar({\n\tclassName,\n\torientation = \"vertical\",\n\t...props\n}: React.ComponentProps<typeof ScrollAreaPrimitive.ScrollAreaScrollbar>) {\n\treturn (\n\t\t<ScrollAreaPrimitive.ScrollAreaScrollbar\n\t\t\tdata-slot=\"scroll-area-scrollbar\"\n\t\t\torientation={orientation}\n\t\t\tclassName={cn(\n\t\t\t\t\"flex touch-none p-px transition-colors select-none\",\n\t\t\t\torientation === \"vertical\" && \"h-full w-2.5 border-l border-l-transparent\",\n\t\t\t\torientation === \"horizontal\" && \"h-2.5 flex-col border-t border-t-transparent\",\n\t\t\t\tclassName,\n\t\t\t)}\n\t\t\t{...props}\n\t\t>\n\t\t\t<ScrollAreaPrimitive.ScrollAreaThumb\n\t\t\t\tdata-slot=\"scroll-area-thumb\"\n\t\t\t\tclassName=\"bg-border relative flex-1 rounded-full\"\n\t\t\t/>\n\t\t</ScrollAreaPrimitive.ScrollAreaScrollbar>\n\t);\n}\n\nexport { ScrollArea, ScrollBar };\n"],"names":["SCROLL_AREA_NAME","createScrollAreaContext","createScrollAreaScope","createContextScope","ScrollAreaProvider","useScrollAreaContext","ScrollArea","React2","forwardRef","props","forwardedRef","__scopeScrollArea","type","dir","scrollHideDelay","scrollAreaProps","scrollArea","setScrollArea","useState","viewport","setViewport","content","setContent","scrollbarX","setScrollbarX","scrollbarY","setScrollbarY","cornerWidth","setCornerWidth","cornerHeight","setCornerHeight","scrollbarXEnabled","setScrollbarXEnabled","scrollbarYEnabled","setScrollbarYEnabled","composedRefs","useComposedRefs","node","direction","useDirection","jsx","scope","onViewportChange","onContentChange","onScrollbarXChange","onScrollbarXEnabledChange","onScrollbarYChange","onScrollbarYEnabledChange","onCornerWidthChange","onCornerHeightChange","children","Primitive","div","ref","style","position","displayName","VIEWPORT_NAME","ScrollAreaViewport","nonce","viewportProps","context","useRef","jsxs","Fragment","dangerouslySetInnerHTML","__html","overflowX","overflowY","minWidth","display","SCROLLBAR_NAME","ScrollAreaScrollbar","forceMount","scrollbarProps","isHorizontal","orientation","useEffect","ScrollAreaScrollbarHover","ScrollAreaScrollbarScroll","ScrollAreaScrollbarAuto","ScrollAreaScrollbarVisible","visible","setVisible","hideTimer","handlePointerEnter","window","clearTimeout","handlePointerLeave","setTimeout","addEventListener","removeEventListener","Presence","present","debounceScrollEnd","useDebounceCallback","send","state","hidden","SCROLL","scrolling","SCROLL_END","POINTER_ENTER","interacting","POINTER_LEAVE","idle","HIDE","scrollDirection","prevScrollPos","handleScroll","scrollPos","onPointerEnter","composeEventHandlers","onPointerLeave","handleResize","isOverflowX","offsetWidth","scrollWidth","isOverflowY","offsetHeight","scrollHeight","useResizeObserver","thumbRef","pointerOffsetRef","sizes","setSizes","scrollbar","size","paddingStart","paddingEnd","thumbRatio","getThumbRatio","commonProps","onSizesChange","hasThumb","Boolean","onThumbChange","thumb","current","onThumbPointerUp","onThumbPointerDown","pointerPos","getScrollPosition","pointerOffset","thumbSizePx","getThumbSize","thumbCenter","offset","thumbOffsetFromEnd","minPointerPos","maxPointerPos","maxScrollPos","scrollRange","linearScale","interpolate","getScrollPositionFromPointer","ScrollAreaScrollbarX","onThumbPositionChange","getThumbOffsetFromScroll","scrollLeft","transform","onWheelScroll","onDragScroll","ScrollAreaScrollbarY","scrollTop","computedStyle","setComputedStyle","composeRefs","getComputedStyle","ScrollAreaScrollbarImpl","bottom","left","right","x","event","deltaX","isScrollingWithinScrollbarBounds","preventDefault","onResize","clientWidth","toInt","paddingLeft","paddingRight","top","y","deltaY","clientHeight","paddingTop","paddingBottom","ScrollbarProvider","useScrollbarContext","setScrollbar","rectRef","prevWebkitUserSelectRef","handleWheelScroll","useCallbackRef","handleThumbPositionChange","handleDragScroll","clientX","clientY","handleWheel","element","target","isScrollbarWheel","contains","document","passive","onPointerDown","button","setPointerCapture","pointerId","getBoundingClientRect","body","webkitUserSelect","scrollBehavior","onPointerMove","onPointerUp","hasPointerCapture","releasePointerCapture","THUMB_NAME","ScrollAreaThumb","thumbProps","scrollbarContext","ScrollAreaThumbImpl","scrollAreaContext","composedRef","removeUnlinkedScrollListenerRef","listener","addUnlinkedScrollListener","width","height","onPointerDownCapture","thumbRect","CORNER_NAME","ScrollAreaCorner","hasBothScrollbarsVisible","ScrollAreaCornerImpl","cornerProps","setWidth","setHeight","hasSize","value","parseInt","viewportSize","contentSize","ratio","isNaN","scrollbarPadding","thumbSize","Math","max","maxThumbPos","scrollWithoutMomentum","min","clamp","input","output","handler","prevPosition","rAF","loop","isHorizontalScroll","isVerticalScroll","requestAnimationFrame","cancelAnimationFrame","callback","delay","handleCallback","debounceTimerRef","useCallback","useLayoutEffect","resizeObserver","ResizeObserver","observe","unobserve","Root","Viewport","Corner","className","React","createElement","ScrollAreaPrimitive","data-slot","cn","ScrollBar"],"mappings":"8dA6BA,IAAMA,EAAmB,cAGlBC,EAAyBC,GAAyBC,EAAmBH,IAuBrEI,EAAoBC,GACzBJ,EAAgDD,GAU5CM,EAAmBC,EAAAC,WACvB,CAACC,EAAqCC,KACpC,MAAMC,kBACJA,EAAAC,KACAA,EAAO,QAAAC,IACPA,EAAAC,gBACAA,EAAkB,OACfC,GACDN,GACGO,EAAYC,GAAuBV,EAAAW,SAAmC,OACtEC,EAAUC,GAAqBb,EAAAW,SAA2C,OAC1EG,EAASC,GAAoBf,EAAAW,SAAgC,OAC7DK,EAAYC,GAAuBjB,EAAAW,SAA4C,OAC/EO,EAAYC,GAAuBnB,EAAAW,SAA4C,OAC/ES,EAAaC,GAAwBrB,EAAAW,SAAS,IAC9CW,EAAcC,GAAyBvB,EAAAW,SAAS,IAChDa,EAAmBC,GAA8BzB,EAAAW,UAAS,IAC1De,EAAmBC,GAA8B3B,EAAAW,UAAS,GAC3DiB,EAAeC,EAAgB1B,EAAe2B,GAASpB,EAAcoB,IACrEC,EAAYC,EAAa1B,GAE/B,OACE2B,EAACpC,EAAA,CACCqC,MAAO9B,EACPC,OACAC,IAAKyB,EACLxB,kBACAE,aACAG,WACAuB,iBAAkBtB,EAClBC,UACAsB,gBAAiBrB,EACjBC,aACAqB,mBAAoBpB,EACpBO,oBACAc,0BAA2Bb,EAC3BP,aACAqB,mBAAoBpB,EACpBO,oBACAc,0BAA2Bb,EAC3Bc,oBAAqBpB,EACrBqB,qBAAsBnB,EAEtBoB,SAAAV,EAACW,EAAUC,IAAV,CACCvC,IAAKyB,KACDvB,EACJsC,IAAKlB,EACLmB,MAAO,CACLC,SAAU,WAEV,mCAA6C5B,EAAc,KAC3D,oCAA8CE,EAAe,QAC1DpB,EAAM6C,aAQrBhD,EAAWkD,YAAcxD,EAMzB,IAAMyD,EAAgB,qBAOhBC,EAA2BnD,EAAAC,WAC/B,CAACC,EAA6CC,KAC5C,MAAMC,kBAAEA,EAAAuC,SAAmBA,EAAAS,MAAUA,KAAUC,GAAkBnD,EAC3DoD,EAAUxD,EAAqBoD,EAAe9C,GAC9C0C,EAAY9C,EAAAuD,OAAkC,MAC9C3B,EAAeC,EAAgB1B,EAAc2C,EAAKQ,EAAQnB,kBAChE,OACEqB,EAAAC,EAAA,CAEEd,SAAA,CAAAV,EAAC,QAAA,CACCyB,wBAAyB,CACvBC,OAAQ,uLAEVP,UAEFnB,EAACW,EAAUC,IAAV,CACC,kCAAgC,MAC5BQ,EACJP,IAAKlB,EACLmB,MAAO,CAYLa,UAAWN,EAAQ9B,kBAAoB,SAAW,SAClDqC,UAAWP,EAAQ5B,kBAAoB,SAAW,YAC/CxB,EAAM6C,OAUXJ,SAAAV,EAAC,MAAA,CAAIa,IAAKQ,EAAQlB,gBAAiBW,MAAO,CAAEe,SAAU,OAAQC,QAAS,SACpEpB,oBAQbQ,EAAmBF,YAAcC,EAMjC,IAAMc,EAAiB,sBAOjBC,EAA4BjE,EAAAC,WAChC,CAACC,EAA8CC,KAC7C,MAAM+D,WAAEA,KAAeC,GAAmBjE,EACpCoD,EAAUxD,EAAqBkE,EAAgB9D,EAAME,oBACrDkC,0BAAEA,EAAAE,0BAA2BA,GAA8Bc,EAC3Dc,EAAqC,eAAtBlE,EAAMmE,YAS3B,OAPMrE,EAAAsE,UAAU,KACdF,EAAe9B,GAA0B,GAAQE,GAA0B,GACpE,KACL4B,EAAe9B,GAA0B,GAASE,GAA0B,KAE7E,CAAC4B,EAAc9B,EAA2BE,IAErB,UAAjBc,EAAQjD,KACb4B,EAACsC,EAAA,IAA6BJ,EAAgBrB,IAAK3C,EAAc+D,eAC9C,WAAjBZ,EAAQjD,KACV4B,EAACuC,EAAA,IAA8BL,EAAgBrB,IAAK3C,EAAc+D,eAC/C,SAAjBZ,EAAQjD,KACV4B,EAACwC,EAAA,IAA4BN,EAAgBrB,IAAK3C,EAAc+D,eAC7C,WAAjBZ,EAAQjD,KACV4B,EAACyC,EAAA,IAA+BP,EAAgBrB,IAAK3C,IACnD,OAIR8D,EAAoBhB,YAAce,EASlC,IAAMO,EAAiCvE,EAAAC,WAGrC,CAACC,EAAmDC,KACpD,MAAM+D,WAAEA,KAAeC,GAAmBjE,EACpCoD,EAAUxD,EAAqBkE,EAAgB9D,EAAME,oBACpDuE,EAASC,GAAoB5E,EAAAW,UAAS,GAuB7C,OArBMX,EAAAsE,UAAU,KACd,MAAM7D,EAAa6C,EAAQ7C,WAC3B,IAAIoE,EAAY,EAChB,GAAIpE,EAAY,CACd,MAAMqE,EAAqB,KACzBC,OAAOC,aAAaH,GACpBD,GAAW,IAEPK,EAAqB,KACzBJ,EAAYE,OAAOG,WAAW,IAAMN,GAAW,GAAQtB,EAAQ/C,kBAIjE,OAFAE,EAAW0E,iBAAiB,eAAgBL,GAC5CrE,EAAW0E,iBAAiB,eAAgBF,GACrC,KACLF,OAAOC,aAAaH,GACpBpE,EAAW2E,oBAAoB,eAAgBN,GAC/CrE,EAAW2E,oBAAoB,eAAgBH,GAEnD,GACC,CAAC3B,EAAQ7C,WAAY6C,EAAQ/C,kBAG9B0B,EAACoD,EAAA,CAASC,QAASpB,GAAcS,EAC/BhC,SAAAV,EAACwC,EAAA,CACC,aAAYE,EAAU,UAAY,YAC9BR,EACJrB,IAAK3C,QAWPqE,EAAkCxE,EAAAC,WAGtC,CAACC,EAAoDC,KACrD,MAAM+D,WAAEA,KAAeC,GAAmBjE,EACpCoD,EAAUxD,EAAqBkE,EAAgB9D,EAAME,mBACrDgE,EAAqC,eAAtBlE,EAAMmE,YACrBkB,EAAoBC,EAAoB,IAAMC,EAAK,cAAe,MACjEC,EAAOD,MAAwB,WAAU,CAC9CE,OAAQ,CACNC,OAAQ,aAEVC,UAAW,CACTC,WAAY,OACZC,cAAe,eAEjBC,YAAa,CACXJ,OAAQ,cACRK,cAAe,QAEjBC,KAAM,CACJC,KAAM,SACNP,OAAQ,YACRG,cAAe,2DA+BnB,OA3BM/F,EAAAsE,UAAU,KACd,GAAc,SAAVoB,EAAkB,CACpB,MAAMb,EAAYE,OAAOG,WAAW,IAAMO,EAAK,QAASnC,EAAQ/C,iBAChE,MAAO,IAAMwE,OAAOC,aAAaH,EACnC,GACC,CAACa,EAAOpC,EAAQ/C,gBAAiBkF,IAE9BzF,EAAAsE,UAAU,KACd,MAAM1D,EAAW0C,EAAQ1C,SACnBwF,EAAkBhC,EAAe,aAAe,YAEtD,GAAIxD,EAAU,CACZ,IAAIyF,EAAgBzF,EAASwF,GAC7B,MAAME,EAAe,KACnB,MAAMC,EAAY3F,EAASwF,GACSC,IAAkBE,IAEpDd,EAAK,UACLF,KAEFc,EAAgBE,GAGlB,OADA3F,EAASuE,iBAAiB,SAAUmB,GAC7B,IAAM1F,EAASwE,oBAAoB,SAAUkB,EACtD,GACC,CAAChD,EAAQ1C,SAAUwD,EAAcqB,EAAMF,IAGxCtD,EAACoD,EAAA,CAASC,QAASpB,GAAwB,WAAVwB,EAC/B/C,SAAAV,EAACyC,EAAA,CACC,aAAsB,WAAVgB,EAAqB,SAAW,aACxCvB,EACJrB,IAAK3C,EACLqG,eAAgBC,EAAqBvG,EAAMsG,eAAgB,IAAMf,EAAK,kBACtEiB,eAAgBD,EAAqBvG,EAAMwG,eAAgB,IAAMjB,EAAK,wBAWxEhB,EAAgCzE,EAAAC,WAGpC,CAACC,EAAkDC,KACnD,MAAMmD,EAAUxD,EAAqBkE,EAAgB9D,EAAME,oBACrD8D,WAAEA,KAAeC,GAAmBjE,GACnCyE,EAASC,GAAoB5E,EAAAW,UAAS,GACvCyD,EAAqC,eAAtBlE,EAAMmE,YACrBsC,EAAenB,EAAoB,KACvC,GAAIlC,EAAQ1C,SAAU,CACpB,MAAMgG,EAActD,EAAQ1C,SAASiG,YAAcvD,EAAQ1C,SAASkG,YAC9DC,EAAczD,EAAQ1C,SAASoG,aAAe1D,EAAQ1C,SAASqG,aACrErC,EAAWR,EAAewC,EAAcG,EAC1C,GACC,IAKH,OAHAG,EAAkB5D,EAAQ1C,SAAU+F,GACpCO,EAAkB5D,EAAQxC,QAAS6F,GAGjC1E,EAACoD,EAAA,CAASC,QAASpB,GAAcS,EAC/BhC,SAAAV,EAACyC,EAAA,CACC,aAAYC,EAAU,UAAY,YAC9BR,EACJrB,IAAK3C,QAcPuE,EAAmC1E,EAAAC,WAGvC,CAACC,EAAqDC,KACtD,MAAMkE,YAAEA,EAAc,cAAeF,GAAmBjE,EAClDoD,EAAUxD,EAAqBkE,EAAgB9D,EAAME,mBACrD+G,EAAiBnH,EAAAuD,OAAsC,MACvD6D,EAAyBpH,EAAAuD,OAAO,IAC/B8D,EAAOC,GAAkBtH,EAAAW,SAAgB,CAC9CG,QAAS,EACTF,SAAU,EACV2G,UAAW,CAAEC,KAAM,EAAGC,aAAc,EAAGC,WAAY,KAE/CC,EAAaC,EAAcP,EAAMzG,SAAUyG,EAAMvG,SAGjD+G,EAAwE,IACzE1D,EACHkD,QACAS,cAAeR,EACfS,SAAUC,QAAQL,EAAa,GAAKA,EAAa,GACjDM,cAAgBC,GAAWf,EAASgB,QAAUD,EAC9CE,iBAAkB,IAAOhB,EAAiBe,QAAU,EACpDE,mBAAqBC,GAAgBlB,EAAiBe,QAAUG,GAGlE,SAASC,EAAkBD,EAAoBhI,GAC7C,OA8eJ,SACEgI,EACAE,EACAnB,EACA/G,EAAiB,OAEjB,MAAMmI,EAAcC,EAAarB,GAC3BsB,EAAcF,EAAc,EAC5BG,EAASJ,GAAiBG,EAC1BE,EAAqBJ,EAAcG,EACnCE,EAAgBzB,EAAME,UAAUE,aAAemB,EAC/CG,EAAgB1B,EAAME,UAAUC,KAAOH,EAAME,UAAUG,WAAamB,EACpEG,EAAe3B,EAAMvG,QAAUuG,EAAMzG,SACrCqI,EAAsB,QAAR3I,EAAgB,CAAC,EAAG0I,GAAgB,EAAgB,EAAfA,EAAmB,GAE5E,OADoBE,EAAY,CAACJ,EAAeC,GAAgBE,EACzDE,CAAYb,EACrB,CA9fWc,CAA6Bd,EAAYlB,EAAiBe,QAASd,EAAO/G,EACnF,CAEA,MAAoB,eAAhB+D,EAEApC,EAACoH,EAAA,IACKxB,EACJ/E,IAAK3C,EACLmJ,sBAAuB,KACrB,GAAIhG,EAAQ1C,UAAYuG,EAASgB,QAAS,CACxC,MACMS,EAASW,EADGjG,EAAQ1C,SAAS4I,WACgBnC,EAAO/D,EAAQhD,KAClE6G,EAASgB,QAAQpF,MAAM0G,UAAY,eAAeb,YACpD,GAEFc,cAAgBnD,IACVjD,EAAQ1C,WAAU0C,EAAQ1C,SAAS4I,WAAajD,IAEtDoD,aAAerB,IACThF,EAAQ1C,WACV0C,EAAQ1C,SAAS4I,WAAajB,EAAkBD,EAAYhF,EAAQhD,SAO1D,aAAhB+D,EAEApC,EAAC2H,EAAA,IACK/B,EACJ/E,IAAK3C,EACLmJ,sBAAuB,KACrB,GAAIhG,EAAQ1C,UAAYuG,EAASgB,QAAS,CACxC,MACMS,EAASW,EADGjG,EAAQ1C,SAASiJ,UACgBxC,GACnDF,EAASgB,QAAQpF,MAAM0G,UAAY,kBAAkBb,SACvD,GAEFc,cAAgBnD,IACVjD,EAAQ1C,WAAU0C,EAAQ1C,SAASiJ,UAAYtD,IAErDoD,aAAerB,IACThF,EAAQ1C,WAAU0C,EAAQ1C,SAASiJ,UAAYtB,EAAkBD,OAMtE,OAsBHe,EAA6BrJ,EAAAC,WAGjC,CAACC,EAAkDC,KACnD,MAAMkH,MAAEA,EAAAS,cAAOA,KAAkB3D,GAAmBjE,EAC9CoD,EAAUxD,EAAqBkE,EAAgB9D,EAAME,oBACpD0J,EAAeC,GAA0B/J,EAAAW,WAC1CmC,EAAY9C,EAAAuD,OAAuC,MACnDyG,EAAcnI,EAAgB1B,EAAc2C,EAAKQ,EAAQjB,oBAM/D,OAJMrC,EAAAsE,UAAU,KACVxB,EAAIqF,SAAS4B,EAAiBE,iBAAiBnH,EAAIqF,WACtD,CAACrF,IAGFb,EAACiI,EAAA,CACC,mBAAiB,gBACb/F,EACJrB,IAAKkH,EACL3C,QACAtE,MAAO,CACLoH,OAAQ,EACRC,KAAsB,QAAhB9G,EAAQhD,IAAgB,wCAA0C,EACxE+J,MAAuB,QAAhB/G,EAAQhD,IAAgB,wCAA0C,EACzE,kCAA4CoI,EAAarB,GAAS,QAC/DnH,EAAM6C,OAEXsF,mBAAqBC,GAAepI,EAAMmI,mBAAmBC,EAAWgC,GACxEX,aAAerB,GAAepI,EAAMyJ,aAAarB,EAAWgC,GAC5DZ,cAAe,CAACa,EAAOvB,KACrB,GAAI1F,EAAQ1C,SAAU,CACpB,MAAM2F,EAAYjD,EAAQ1C,SAAS4I,WAAae,EAAMC,OACtDtK,EAAMwJ,cAAcnD,GAEhBkE,EAAiClE,EAAWyC,IAC9CuB,EAAMG,gBAEV,GAEFC,SAAU,KACJ7H,EAAIqF,SAAW7E,EAAQ1C,UAAYkJ,GACrChC,EAAc,CACZhH,QAASwC,EAAQ1C,SAASkG,YAC1BlG,SAAU0C,EAAQ1C,SAASiG,YAC3BU,UAAW,CACTC,KAAM1E,EAAIqF,QAAQyC,YAClBnD,aAAcoD,EAAMf,EAAcgB,aAClCpD,WAAYmD,EAAMf,EAAciB,sBASxCnB,EAA6B5J,EAAAC,WAGjC,CAACC,EAAkDC,KACnD,MAAMkH,MAAEA,EAAAS,cAAOA,KAAkB3D,GAAmBjE,EAC9CoD,EAAUxD,EAAqBkE,EAAgB9D,EAAME,oBACpD0J,EAAeC,GAA0B/J,EAAAW,WAC1CmC,EAAY9C,EAAAuD,OAAuC,MACnDyG,EAAcnI,EAAgB1B,EAAc2C,EAAKQ,EAAQf,oBAM/D,OAJMvC,EAAAsE,UAAU,KACVxB,EAAIqF,SAAS4B,EAAiBE,iBAAiBnH,EAAIqF,WACtD,CAACrF,IAGFb,EAACiI,EAAA,CACC,mBAAiB,cACb/F,EACJrB,IAAKkH,EACL3C,QACAtE,MAAO,CACLiI,IAAK,EACLX,MAAuB,QAAhB/G,EAAQhD,IAAgB,OAAI,EACnC8J,KAAsB,QAAhB9G,EAAQhD,IAAgB,OAAI,EAClC6J,OAAQ,yCACR,mCAA6CzB,EAAarB,GAAS,QAChEnH,EAAM6C,OAEXsF,mBAAqBC,GAAepI,EAAMmI,mBAAmBC,EAAW2C,GACxEtB,aAAerB,GAAepI,EAAMyJ,aAAarB,EAAW2C,GAC5DvB,cAAe,CAACa,EAAOvB,KACrB,GAAI1F,EAAQ1C,SAAU,CACpB,MAAM2F,EAAYjD,EAAQ1C,SAASiJ,UAAYU,EAAMW,OACrDhL,EAAMwJ,cAAcnD,GAEhBkE,EAAiClE,EAAWyC,IAC9CuB,EAAMG,gBAEV,GAEFC,SAAU,KACJ7H,EAAIqF,SAAW7E,EAAQ1C,UAAYkJ,GACrChC,EAAc,CACZhH,QAASwC,EAAQ1C,SAASqG,aAC1BrG,SAAU0C,EAAQ1C,SAASoG,aAC3BO,UAAW,CACTC,KAAM1E,EAAIqF,QAAQgD,aAClB1D,aAAcoD,EAAMf,EAAcsB,YAClC1D,WAAYmD,EAAMf,EAAcuB,wBAoBvCC,EAAmBC,GACxB7L,EAA0CsE,GAkBtCkG,EAAgClK,EAAAC,WAGpC,CAACC,EAAkDC,KACnD,MAAMC,kBACJA,EAAAiH,MACAA,EAAAU,SACAA,EAAAE,cACAA,EAAAG,iBACAA,EAAAC,mBACAA,EAAAiB,sBACAA,EAAAK,aACAA,EAAAD,cACAA,EAAAiB,SACAA,KACGxG,GACDjE,EACEoD,EAAUxD,EAAqBkE,EAAgB5D,IAC9CmH,EAAWiE,GAAsBxL,EAAAW,SAA4C,MAC9EqJ,EAAcnI,EAAgB1B,EAAe2B,GAAS0J,EAAa1J,IACnE2J,EAAgBzL,EAAAuD,OAAuB,MACvCmI,EAAgC1L,EAAAuD,OAAe,IAC/C3C,EAAW0C,EAAQ1C,SACnBoI,EAAe3B,EAAMvG,QAAUuG,EAAMzG,SACrC+K,EAAoBC,EAAelC,GACnCmC,EAA4BD,EAAetC,GAC3C3C,EAAenB,EAAoBmF,EAAU,IAEnD,SAASmB,EAAiBvB,GACxB,GAAIkB,EAAQtD,QAAS,CACnB,MAAMmC,EAAIC,EAAMwB,QAAUN,EAAQtD,QAAQiC,KACpCa,EAAIV,EAAMyB,QAAUP,EAAQtD,QAAQ6C,IAC1CrB,EAAa,CAAEW,IAAGW,KACpB,CACF,CAwBA,OAlBMjL,EAAAsE,UAAU,KACd,MAAM2H,EAAe1B,IACnB,MAAM2B,EAAU3B,EAAM4B,OAChBC,EAAmB7E,GAAW8E,SAASH,GACzCE,GAAkBT,EAAkBpB,EAAOvB,IAGjD,OADAsD,SAASnH,iBAAiB,QAAS8G,EAAa,CAAEM,SAAS,IACpD,IAAMD,SAASlH,oBAAoB,QAAS6G,EAAa,CAAEM,SAAS,KAC1E,CAAC3L,EAAU2G,EAAWyB,EAAc2C,IAKjC3L,EAAAsE,UAAUuH,EAA2B,CAACxE,EAAOwE,IAEnD3E,EAAkBK,EAAWZ,GAC7BO,EAAkB5D,EAAQxC,QAAS6F,GAGjC1E,EAACqJ,EAAA,CACCpJ,MAAO9B,EACPmH,YACAQ,WACAE,cAAe2D,EAAe3D,GAC9BG,iBAAkBwD,EAAexD,GACjCkB,sBAAuBuC,EACvBxD,mBAAoBuD,EAAevD,GAEnC1F,SAAAV,EAACW,EAAUC,IAAV,IACKsB,EACJrB,IAAKkH,EACLjH,MAAO,CAAEC,SAAU,cAAemB,EAAepB,OACjDyJ,cAAe/F,EAAqBvG,EAAMsM,cAAgBjC,IAExD,GADoB,IAChBA,EAAMkC,OAAwB,CAChBlC,EAAM4B,OACdO,kBAAkBnC,EAAMoC,WAChClB,EAAQtD,QAAUZ,EAAWqF,wBAG7BlB,EAAwBvD,QAAUmE,SAASO,KAAK9J,MAAM+J,iBACtDR,SAASO,KAAK9J,MAAM+J,iBAAmB,OACnCxJ,EAAQ1C,WAAU0C,EAAQ1C,SAASmC,MAAMgK,eAAiB,QAC9DjB,EAAiBvB,EACnB,IAEFyC,cAAevG,EAAqBvG,EAAM8M,cAAelB,GACzDmB,YAAaxG,EAAqBvG,EAAM+M,YAAc1C,IACpD,MAAM2B,EAAU3B,EAAM4B,OAClBD,EAAQgB,kBAAkB3C,EAAMoC,YAClCT,EAAQiB,sBAAsB5C,EAAMoC,WAEtCL,SAASO,KAAK9J,MAAM+J,iBAAmBpB,EAAwBvD,QAC3D7E,EAAQ1C,WAAU0C,EAAQ1C,SAASmC,MAAMgK,eAAiB,IAC9DtB,EAAQtD,QAAU,aAWtBiF,EAAa,kBAWbC,EAAwBrN,EAAAC,WAC5B,CAACC,EAA0CC,KACzC,MAAM+D,WAAEA,KAAeoJ,GAAepN,EAChCqN,EAAmBhC,EAAoB6B,EAAYlN,EAAME,mBAC/D,OACE6B,EAACoD,EAAA,CAASC,QAASpB,GAAcqJ,EAAiBxF,SAChDpF,SAAAV,EAACuL,EAAA,CAAoB1K,IAAK3C,KAAkBmN,QAS9CE,EAA4BxN,EAAAC,WAChC,CAACC,EAA8CC,KAC7C,MAAMC,kBAAEA,EAAA2C,MAAmBA,KAAUuK,GAAepN,EAC9CuN,EAAoB3N,EAAqBsN,EAAYhN,GACrDmN,EAAmBhC,EAAoB6B,EAAYhN,IACnDkJ,sBAAEA,GAA0BiE,EAC5BG,EAAc7L,EAAgB1B,EAAe2B,GACjDyL,EAAiBtF,cAAcnG,IAE3B6L,EAAwC3N,EAAAuD,YAAmB,GAC3DgC,EAAoBC,EAAoB,KACxCmI,EAAgCxF,UAClCwF,EAAgCxF,UAChCwF,EAAgCxF,aAAU,IAE3C,KA0BH,OAxBMnI,EAAAsE,UAAU,KACd,MAAM1D,EAAW6M,EAAkB7M,SACnC,GAAIA,EAAU,CAQZ,MAAM0F,EAAe,KAEnB,GADAf,KACKoI,EAAgCxF,QAAS,CAC5C,MAAMyF,EAAWC,EAA0BjN,EAAU0I,GACrDqE,EAAgCxF,QAAUyF,EAC1CtE,GACF,GAIF,OAFAA,IACA1I,EAASuE,iBAAiB,SAAUmB,GAC7B,IAAM1F,EAASwE,oBAAoB,SAAUkB,EACtD,GACC,CAACmH,EAAkB7M,SAAU2E,EAAmB+D,IAGjDrH,EAACW,EAAUC,IAAV,CACC,aAAY0K,EAAiBxF,SAAW,UAAY,YAChDuF,EACJxK,IAAK4K,EACL3K,MAAO,CACL+K,MAAO,uCACPC,OAAQ,2CACLhL,GAELiL,qBAAsBvH,EAAqBvG,EAAM8N,qBAAuBzD,IACtE,MACM0D,EADQ1D,EAAM4B,OACIS,wBAClBtC,EAAIC,EAAMwB,QAAUkC,EAAU7D,KAC9Ba,EAAIV,EAAMyB,QAAUiC,EAAUjD,IACpCuC,EAAiBlF,mBAAmB,CAAEiC,IAAGW,QAE3CgC,YAAaxG,EAAqBvG,EAAM+M,YAAaM,EAAiBnF,sBAM9EiF,EAAgBpK,YAAcmK,EAM9B,IAAMc,EAAc,mBAKdC,EAAyBnO,EAAAC,WAC7B,CAACC,EAA2CC,KAC1C,MAAMmD,EAAUxD,EAAqBoO,EAAahO,EAAME,mBAClDgO,EAA2BpG,QAAQ1E,EAAQtC,YAAcsC,EAAQpC,YAEvE,MADmC,WAAjBoC,EAAQjD,MAAqB+N,EAC5BnM,EAACoM,EAAA,IAAyBnO,EAAO4C,IAAK3C,IAAmB,OAIhFgO,EAAiBlL,YAAciL,EAO/B,IAAMG,EAA6BrO,EAAAC,WAGjC,CAACC,EAA+CC,KAChD,MAAMC,kBAAEA,KAAsBkO,GAAgBpO,EACxCoD,EAAUxD,EAAqBoO,EAAa9N,IAC3C0N,EAAOS,GAAkBvO,EAAAW,SAAS,IAClCoN,EAAQS,GAAmBxO,EAAAW,SAAS,GACrC8N,EAAUzG,QAAQ8F,GAASC,GAcjC,OAZA7G,EAAkB5D,EAAQtC,WAAY,KACpC,MAAM+M,EAASzK,EAAQtC,YAAYgG,cAAgB,EACnD1D,EAAQZ,qBAAqBqL,GAC7BS,EAAUT,KAGZ7G,EAAkB5D,EAAQpC,WAAY,KACpC,MAAM4M,EAAQxK,EAAQpC,YAAY2F,aAAe,EACjDvD,EAAQb,oBAAoBqL,GAC5BS,EAAST,KAGJW,EACLxM,EAACW,EAAUC,IAAV,IACKyL,EACJxL,IAAK3C,EACL4C,MAAO,CACL+K,QACAC,SACA/K,SAAU,WACVqH,MAAuB,QAAhB/G,EAAQhD,IAAgB,OAAI,EACnC8J,KAAsB,QAAhB9G,EAAQhD,IAAgB,OAAI,EAClC6J,OAAQ,KACLjK,EAAM6C,SAGX,OAKN,SAAS8H,EAAM6D,GACb,OAAOA,EAAQC,SAASD,EAAO,IAAM,CACvC,CAEA,SAAS9G,EAAcgH,EAAsBC,GAC3C,MAAMC,EAAQF,EAAeC,EAC7B,OAAOE,MAAMD,GAAS,EAAIA,CAC5B,CAEA,SAASpG,EAAarB,GACpB,MAAMyH,EAAQlH,EAAcP,EAAMzG,SAAUyG,EAAMvG,SAC5CkO,EAAmB3H,EAAME,UAAUE,aAAeJ,EAAME,UAAUG,WAClEuH,GAAA5H,EAAmBE,UAAUC,KAAOwH,GAAoBF,EAE9D,OAAOI,KAAKC,IAAIF,EAAW,GAC7B,CAoBA,SAAS1F,EAAyBhD,EAAmBc,EAAc/G,EAAiB,OAClF,MAAMmI,EAAcC,EAAarB,GAC3B2H,EAAmB3H,EAAME,UAAUE,aAAeJ,EAAME,UAAUG,WAClEH,EAAYF,EAAME,UAAUC,KAAOwH,EACnChG,EAAe3B,EAAMvG,QAAUuG,EAAMzG,SACrCwO,EAAc7H,EAAYkB,EAE1B4G,EC56BR,SAAeX,GAAgBY,EAAKH,IAClC,OAAOD,KAAKI,IAAIH,EAAKD,KAAKC,IAAIG,EAAKZ,GACrC,CD06BgCa,CAAMhJ,EADH,QAARjG,EAAgB,CAAC,EAAG0I,GAAgB,EAAgB,EAAfA,EAAmB,IAGjF,OADoBE,EAAY,CAAC,EAAGF,GAAe,CAAC,EAAGoG,GAChDjG,CAAYkG,EACrB,CAGA,SAASnG,EAAYsG,EAAkCC,GACrD,OAAQf,IACN,GAAIc,EAAM,KAAOA,EAAM,IAAMC,EAAO,KAAOA,EAAO,GAAI,OAAOA,EAAO,GACpE,MAAMX,GAASW,EAAO,GAAKA,EAAO,KAAOD,EAAM,GAAKA,EAAM,IAC1D,OAAOC,EAAO,GAAKX,GAASJ,EAAQc,EAAM,IAE9C,CAEA,SAAS/E,EAAiClE,EAAmByC,GAC3D,OAAOzC,EAAY,GAAKA,EAAYyC,CACtC,CAIA,IAAM6E,EAA4B,CAAC/L,EAAmB4N,EAAU,UAC9D,IAAIC,EAAe,CAAEvF,KAAMtI,EAAK0H,WAAYwB,IAAKlJ,EAAK+H,WAClD+F,EAAM,EASV,OARC,SAASC,IACR,MAAM7M,EAAW,CAAEoH,KAAMtI,EAAK0H,WAAYwB,IAAKlJ,EAAK+H,WAC9CiG,EAAqBH,EAAavF,OAASpH,EAASoH,KACpD2F,EAAmBJ,EAAa3E,MAAQhI,EAASgI,KACnD8E,GAAsBC,IAAkBL,IAC5CC,EAAe3M,EACf4M,EAAM7K,OAAOiL,sBAAsBH,EACrC,CAPC,GAQM,IAAM9K,OAAOkL,qBAAqBL,IAG3C,SAASpK,EAAoB0K,EAAsBC,GACjD,MAAMC,EAAiBxE,EAAesE,GAChCG,EAAyBrQ,EAAAuD,OAAO,GAEtC,OADMvD,EAAAsE,UAAU,IAAM,IAAMS,OAAOC,aAAaqL,EAAiBlI,SAAU,IAC9DnI,EAAAsQ,YAAY,KACvBvL,OAAOC,aAAaqL,EAAiBlI,SACrCkI,EAAiBlI,QAAUpD,OAAOG,WAAWkL,EAAgBD,IAC5D,CAACC,EAAgBD,GACtB,CAEA,SAASjJ,EAAkBgF,EAA6BvB,GACtD,MAAMhE,EAAeiF,EAAejB,GACpC4F,EAAgB,KACd,IAAIX,EAAM,EACV,GAAI1D,EAAS,CAQX,MAAMsE,EAAiB,IAAIC,eAAe,KACxCR,qBAAqBL,GACrBA,EAAM7K,OAAOiL,sBAAsBrJ,KAGrC,OADA6J,EAAeE,QAAQxE,GAChB,KACLnH,OAAOkL,qBAAqBL,GAC5BY,EAAeG,UAAUzE,GAE7B,GACC,CAACA,EAASvF,GACf,CAIA,IAAMiK,EAAO7Q,EACP8Q,EAAW1N,EAGX2N,EAAS3C,EEn/Bf,SAASpO,GAAWgR,UACnBA,EAASpO,SACTA,KACGzC,IAEH,OACC8Q,EAAAC,cAACC,EAAwB,CACxBC,YAAU,cACVJ,UAAWK,EAAG,WAAYL,MACtB7Q,GAEJ8Q,EAAAC,cAACC,EAA4B,CAC5BC,YAAU,uBACVJ,UAAU,8KAETpO,GAEFqO,EAAAC,cAACI,EAAAA,MACDL,EAAAC,cAACC,EAA0B,MAG9B,CAEA,SAASG,GAAUN,UAClBA,EAAS1M,YACTA,EAAc,cACXnE,IAEH,OACC8Q,EAAAC,cAACC,EAAuC,CACvCC,YAAU,wBACV9M,YAAaA,EACb0M,UAAWK,EACV,qDACgB,aAAhB/M,GAA8B,6CACd,eAAhBA,GAAgC,+CAChC0M,MAEG7Q,GAEJ8Q,EAAAC,cAACC,EAAmC,CACnCC,YAAU,oBACVJ,UAAU,2CAId","x_google_ignoreList":[0,1]}
1
+ {"version":3,"file":"scroll-area-DeP5Jei7.mjs","sources":["../../node_modules/@radix-ui/react-scroll-area/dist/index.mjs","../../node_modules/@radix-ui/number/dist/index.mjs","../../src/components/ui/scroll-area/scroll-area.tsx"],"sourcesContent":["\"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","// 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","import { cn } from \"@/lib/utils\";\nimport * as ScrollAreaPrimitive from \"@radix-ui/react-scroll-area\";\nimport React from \"react\";\n\nfunction ScrollArea({\n\tclassName,\n\tchildren,\n\t...props\n}: React.ComponentProps<typeof ScrollAreaPrimitive.Root>) {\n\treturn (\n\t\t<ScrollAreaPrimitive.Root\n\t\t\tdata-slot=\"scroll-area\"\n\t\t\tclassName={cn(\"relative\", className)}\n\t\t\t{...props}\n\t\t>\n\t\t\t<ScrollAreaPrimitive.Viewport\n\t\t\t\tdata-slot=\"scroll-area-viewport\"\n\t\t\t\tclassName=\"ring-ring/10 dark:ring-ring/20 dark:outline-ring/40 outline-ring/50 size-full rounded-[inherit] transition-[color,box-shadow] focus-visible:ring-4 focus-visible:outline-1\"\n\t\t\t>\n\t\t\t\t{children}\n\t\t\t</ScrollAreaPrimitive.Viewport>\n\t\t\t<ScrollBar />\n\t\t\t<ScrollAreaPrimitive.Corner />\n\t\t</ScrollAreaPrimitive.Root>\n\t);\n}\n\nfunction ScrollBar({\n\tclassName,\n\torientation = \"vertical\",\n\t...props\n}: React.ComponentProps<typeof ScrollAreaPrimitive.ScrollAreaScrollbar>) {\n\treturn (\n\t\t<ScrollAreaPrimitive.ScrollAreaScrollbar\n\t\t\tdata-slot=\"scroll-area-scrollbar\"\n\t\t\torientation={orientation}\n\t\t\tclassName={cn(\n\t\t\t\t\"flex touch-none p-px transition-colors select-none\",\n\t\t\t\torientation === \"vertical\" && \"h-full w-2.5 border-l border-l-transparent\",\n\t\t\t\torientation === \"horizontal\" && \"h-2.5 flex-col border-t border-t-transparent\",\n\t\t\t\tclassName,\n\t\t\t)}\n\t\t\t{...props}\n\t\t>\n\t\t\t<ScrollAreaPrimitive.ScrollAreaThumb\n\t\t\t\tdata-slot=\"scroll-area-thumb\"\n\t\t\t\tclassName=\"bg-border relative flex-1 rounded-full\"\n\t\t\t/>\n\t\t</ScrollAreaPrimitive.ScrollAreaScrollbar>\n\t);\n}\n\nexport { ScrollArea, ScrollBar };\n"],"names":["SCROLL_AREA_NAME","createScrollAreaContext","createScrollAreaScope","createContextScope","ScrollAreaProvider","useScrollAreaContext","ScrollArea","React2","forwardRef","props","forwardedRef","__scopeScrollArea","type","dir","scrollHideDelay","scrollAreaProps","scrollArea","setScrollArea","useState","viewport","setViewport","content","setContent","scrollbarX","setScrollbarX","scrollbarY","setScrollbarY","cornerWidth","setCornerWidth","cornerHeight","setCornerHeight","scrollbarXEnabled","setScrollbarXEnabled","scrollbarYEnabled","setScrollbarYEnabled","composedRefs","useComposedRefs","node","direction","useDirection","jsx","scope","onViewportChange","onContentChange","onScrollbarXChange","onScrollbarXEnabledChange","onScrollbarYChange","onScrollbarYEnabledChange","onCornerWidthChange","onCornerHeightChange","children","Primitive","div","ref","style","position","displayName","VIEWPORT_NAME","ScrollAreaViewport","nonce","viewportProps","context","useRef","jsxs","Fragment","dangerouslySetInnerHTML","__html","overflowX","overflowY","minWidth","display","SCROLLBAR_NAME","ScrollAreaScrollbar","forceMount","scrollbarProps","isHorizontal","orientation","useEffect","ScrollAreaScrollbarHover","ScrollAreaScrollbarScroll","ScrollAreaScrollbarAuto","ScrollAreaScrollbarVisible","visible","setVisible","hideTimer","handlePointerEnter","window","clearTimeout","handlePointerLeave","setTimeout","addEventListener","removeEventListener","Presence","present","debounceScrollEnd","useDebounceCallback","send","state","hidden","SCROLL","scrolling","SCROLL_END","POINTER_ENTER","interacting","POINTER_LEAVE","idle","HIDE","scrollDirection","prevScrollPos","handleScroll","scrollPos","onPointerEnter","composeEventHandlers","onPointerLeave","handleResize","isOverflowX","offsetWidth","scrollWidth","isOverflowY","offsetHeight","scrollHeight","useResizeObserver","thumbRef","pointerOffsetRef","sizes","setSizes","scrollbar","size","paddingStart","paddingEnd","thumbRatio","getThumbRatio","commonProps","onSizesChange","hasThumb","Boolean","onThumbChange","thumb","current","onThumbPointerUp","onThumbPointerDown","pointerPos","getScrollPosition","pointerOffset","thumbSizePx","getThumbSize","thumbCenter","offset","thumbOffsetFromEnd","minPointerPos","maxPointerPos","maxScrollPos","scrollRange","linearScale","interpolate","getScrollPositionFromPointer","ScrollAreaScrollbarX","onThumbPositionChange","getThumbOffsetFromScroll","scrollLeft","transform","onWheelScroll","onDragScroll","ScrollAreaScrollbarY","scrollTop","computedStyle","setComputedStyle","composeRefs","getComputedStyle","ScrollAreaScrollbarImpl","bottom","left","right","x","event","deltaX","isScrollingWithinScrollbarBounds","preventDefault","onResize","clientWidth","toInt","paddingLeft","paddingRight","top","y","deltaY","clientHeight","paddingTop","paddingBottom","ScrollbarProvider","useScrollbarContext","setScrollbar","rectRef","prevWebkitUserSelectRef","handleWheelScroll","useCallbackRef","handleThumbPositionChange","handleDragScroll","clientX","clientY","handleWheel","element","target","isScrollbarWheel","contains","document","passive","onPointerDown","button","setPointerCapture","pointerId","getBoundingClientRect","body","webkitUserSelect","scrollBehavior","onPointerMove","onPointerUp","hasPointerCapture","releasePointerCapture","THUMB_NAME","ScrollAreaThumb","thumbProps","scrollbarContext","ScrollAreaThumbImpl","scrollAreaContext","composedRef","removeUnlinkedScrollListenerRef","listener","addUnlinkedScrollListener","width","height","onPointerDownCapture","thumbRect","CORNER_NAME","ScrollAreaCorner","hasBothScrollbarsVisible","ScrollAreaCornerImpl","cornerProps","setWidth","setHeight","hasSize","value","parseInt","viewportSize","contentSize","ratio","isNaN","scrollbarPadding","thumbSize","Math","max","maxThumbPos","scrollWithoutMomentum","min","clamp","input","output","handler","prevPosition","rAF","loop","isHorizontalScroll","isVerticalScroll","requestAnimationFrame","cancelAnimationFrame","callback","delay","handleCallback","debounceTimerRef","useCallback","useLayoutEffect","resizeObserver","ResizeObserver","observe","unobserve","Root","Viewport","Corner","className","React","createElement","ScrollAreaPrimitive","data-slot","cn","ScrollBar"],"mappings":"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","x_google_ignoreList":[0,1]}
@@ -1,2 +1,2 @@
1
- import{c as e}from"./utils-CplKzw61.mjs";import*as t from"@radix-ui/react-select";import a from"react";import{C as s}from"./check-C1kmNajw.mjs";import{C as r}from"./chevron-down-V04oa9sD.mjs";import{c as o}from"./createLucideIcon-CXSR1bEP.mjs";const l=o("ChevronUp",[["path",{d:"m18 15-6-6-6 6",key:"153udz"}]]);function n({...e}){return a.createElement(t.Root,{"data-slot":"select",...e})}function c({...e}){return a.createElement(t.Group,{"data-slot":"select-group",...e})}function i({...e}){return a.createElement(t.Value,{"data-slot":"select-value",...e})}function m({className:s,children:o,...l}){return a.createElement(t.Trigger,{"data-slot":"select-trigger",className:e("border-input text-muted-foreground ring-offset-background placeholder:text-muted-foreground focus:ring-ring flex h-10 w-full cursor-pointer items-center justify-between rounded-md border bg-transparent px-3 py-2 text-sm whitespace-nowrap shadow-sm focus:ring-1 focus:outline-none disabled:cursor-not-allowed disabled:opacity-50 [&>span]:line-clamp-1",s),...l},o,a.createElement(t.Icon,{asChild:!0},a.createElement(r,{className:"size-4 opacity-50"})))}function d({className:s,children:r,position:o="popper",...l}){return a.createElement(t.Portal,null,a.createElement(t.Content,{"data-slot":"select-content",className:e("bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 relative z-50 max-h-96 min-w-[8rem] overflow-hidden rounded-md border shadow-md","popper"===o&&"data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1",s),position:o,...l},a.createElement(g,null),a.createElement(t.Viewport,{className:e("p-1","popper"===o&&"h-[var(--radix-select-trigger-height)] w-full min-w-[var(--radix-select-trigger-width)] scroll-my-1")},r),a.createElement(h,null)))}function u({className:s,...r}){return a.createElement(t.Label,{"data-slot":"select-label",className:e("py-1.5 pr-2 pl-8 text-sm font-semibold",s),...r})}function p({className:r,children:o,...l}){return a.createElement(t.Item,{"data-slot":"select-item",className:e("focus:bg-accent focus:text-accent-foreground relative flex w-full cursor-default items-center rounded-sm py-1.5 pr-2 pl-8 text-sm outline-none select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50",r),...l},a.createElement("span",{className:"absolute left-2 flex size-3.5 items-center justify-center"},a.createElement(t.ItemIndicator,null,a.createElement(s,{className:"size-4"}))),a.createElement(t.ItemText,null,o))}function f({className:s,...r}){return a.createElement(t.Separator,{"data-slot":"select-separator",className:e("bg-muted -mx-1 my-1 h-px",s),...r})}function g({className:s,...r}){return a.createElement(t.ScrollUpButton,{"data-slot":"select-scroll-up-button",className:e("flex cursor-default items-center justify-center py-1",s),...r},a.createElement(l,{className:"size-4"}))}function h({className:s,...o}){return a.createElement(t.ScrollDownButton,{"data-slot":"select-scroll-down-button",className:e("flex cursor-default items-center justify-center py-1",s),...o},a.createElement(r,{className:"size-4"}))}export{n as S,d as a,c as b,p as c,u as d,h as e,g as f,f as g,m as h,i};
2
- //# sourceMappingURL=select-Dsju3pcN.mjs.map
1
+ import{c as e}from"./utils-C1EKaz-p.mjs";import*as t from"@radix-ui/react-select";import a from"react";import{C as s}from"./check-CTdDPXjk.mjs";import{C as r}from"./chevron-down-DDHw_qmV.mjs";import{c as o}from"./createLucideIcon-Bub0IDlo.mjs";const l=o("ChevronUp",[["path",{d:"m18 15-6-6-6 6",key:"153udz"}]]);function n({...e}){return a.createElement(t.Root,{"data-slot":"select",...e})}function c({...e}){return a.createElement(t.Group,{"data-slot":"select-group",...e})}function i({...e}){return a.createElement(t.Value,{"data-slot":"select-value",...e})}function m({className:s,children:o,...l}){return a.createElement(t.Trigger,{"data-slot":"select-trigger",className:e("border-input text-muted-foreground ring-offset-background placeholder:text-muted-foreground focus:ring-ring flex h-10 w-full cursor-pointer items-center justify-between rounded-md border bg-transparent px-3 py-2 text-sm whitespace-nowrap shadow-sm focus:ring-1 focus:outline-none disabled:cursor-not-allowed disabled:opacity-50 [&>span]:line-clamp-1",s),...l},o,a.createElement(t.Icon,{asChild:!0},a.createElement(r,{className:"size-4 opacity-50"})))}function d({className:s,children:r,position:o="popper",...l}){return a.createElement(t.Portal,null,a.createElement(t.Content,{"data-slot":"select-content",className:e("bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 relative z-50 max-h-96 min-w-[8rem] overflow-hidden rounded-md border shadow-md","popper"===o&&"data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1",s),position:o,...l},a.createElement(g,null),a.createElement(t.Viewport,{className:e("p-1","popper"===o&&"h-[var(--radix-select-trigger-height)] w-full min-w-[var(--radix-select-trigger-width)] scroll-my-1")},r),a.createElement(h,null)))}function u({className:s,...r}){return a.createElement(t.Label,{"data-slot":"select-label",className:e("py-1.5 pr-2 pl-8 text-sm font-semibold",s),...r})}function p({className:r,children:o,...l}){return a.createElement(t.Item,{"data-slot":"select-item",className:e("focus:bg-accent focus:text-accent-foreground relative flex w-full cursor-default items-center rounded-sm py-1.5 pr-2 pl-8 text-sm outline-none select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50",r),...l},a.createElement("span",{className:"absolute left-2 flex size-3.5 items-center justify-center"},a.createElement(t.ItemIndicator,null,a.createElement(s,{className:"size-4"}))),a.createElement(t.ItemText,null,o))}function f({className:s,...r}){return a.createElement(t.Separator,{"data-slot":"select-separator",className:e("bg-muted -mx-1 my-1 h-px",s),...r})}function g({className:s,...r}){return a.createElement(t.ScrollUpButton,{"data-slot":"select-scroll-up-button",className:e("flex cursor-default items-center justify-center py-1",s),...r},a.createElement(l,{className:"size-4"}))}function h({className:s,...o}){return a.createElement(t.ScrollDownButton,{"data-slot":"select-scroll-down-button",className:e("flex cursor-default items-center justify-center py-1",s),...o},a.createElement(r,{className:"size-4"}))}export{n as S,d as a,c as b,p as c,u as d,h as e,g as f,f as g,m as h,i};
2
+ //# sourceMappingURL=select-BdrpNh7G.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"select-Dsju3pcN.mjs","sources":["../../node_modules/lucide-react/dist/esm/icons/chevron-up.js","../../src/components/ui/select/select.tsx"],"sourcesContent":["/**\n * @license lucide-react v0.479.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.js';\n\nconst __iconNode = [[\"path\", { d: \"m18 15-6-6-6 6\", key: \"153udz\" }]];\nconst ChevronUp = createLucideIcon(\"ChevronUp\", __iconNode);\n\nexport { __iconNode, ChevronUp as default };\n//# sourceMappingURL=chevron-up.js.map\n","import { cn } from \"@/lib/utils\";\nimport * as SelectPrimitive from \"@radix-ui/react-select\";\nimport { CheckIcon, ChevronDownIcon, ChevronUpIcon } from \"lucide-react\";\nimport React from \"react\";\n\nfunction Select({ ...props }: React.ComponentProps<typeof SelectPrimitive.Root>) {\n\treturn <SelectPrimitive.Root data-slot=\"select\" {...props} />;\n}\n\nfunction SelectGroup({ ...props }: React.ComponentProps<typeof SelectPrimitive.Group>) {\n\treturn <SelectPrimitive.Group data-slot=\"select-group\" {...props} />;\n}\n\nfunction SelectValue({ ...props }: React.ComponentProps<typeof SelectPrimitive.Value>) {\n\treturn <SelectPrimitive.Value data-slot=\"select-value\" {...props} />;\n}\n\nfunction SelectTrigger({\n\tclassName,\n\tchildren,\n\t...props\n}: React.ComponentProps<typeof SelectPrimitive.Trigger>) {\n\treturn (\n\t\t<SelectPrimitive.Trigger\n\t\t\tdata-slot=\"select-trigger\"\n\t\t\tclassName={cn(\n\t\t\t\t\"border-input text-muted-foreground ring-offset-background placeholder:text-muted-foreground focus:ring-ring flex h-10 w-full cursor-pointer items-center justify-between rounded-md border bg-transparent px-3 py-2 text-sm whitespace-nowrap shadow-sm focus:ring-1 focus:outline-none disabled:cursor-not-allowed disabled:opacity-50 [&>span]:line-clamp-1\",\n\t\t\t\tclassName,\n\t\t\t)}\n\t\t\t{...props}\n\t\t>\n\t\t\t{children}\n\t\t\t<SelectPrimitive.Icon asChild>\n\t\t\t\t<ChevronDownIcon className=\"size-4 opacity-50\" />\n\t\t\t</SelectPrimitive.Icon>\n\t\t</SelectPrimitive.Trigger>\n\t);\n}\n\nfunction SelectContent({\n\tclassName,\n\tchildren,\n\tposition = \"popper\",\n\t...props\n}: React.ComponentProps<typeof SelectPrimitive.Content>) {\n\treturn (\n\t\t<SelectPrimitive.Portal>\n\t\t\t<SelectPrimitive.Content\n\t\t\t\tdata-slot=\"select-content\"\n\t\t\t\tclassName={cn(\n\t\t\t\t\t\"bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 relative z-50 max-h-96 min-w-[8rem] overflow-hidden rounded-md border shadow-md\",\n\t\t\t\t\tposition === \"popper\" &&\n\t\t\t\t\t\t\"data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1\",\n\t\t\t\t\tclassName,\n\t\t\t\t)}\n\t\t\t\tposition={position}\n\t\t\t\t{...props}\n\t\t\t>\n\t\t\t\t<SelectScrollUpButton />\n\t\t\t\t<SelectPrimitive.Viewport\n\t\t\t\t\tclassName={cn(\n\t\t\t\t\t\t\"p-1\",\n\t\t\t\t\t\tposition === \"popper\" &&\n\t\t\t\t\t\t\t\"h-[var(--radix-select-trigger-height)] w-full min-w-[var(--radix-select-trigger-width)] scroll-my-1\",\n\t\t\t\t\t)}\n\t\t\t\t>\n\t\t\t\t\t{children}\n\t\t\t\t</SelectPrimitive.Viewport>\n\t\t\t\t<SelectScrollDownButton />\n\t\t\t</SelectPrimitive.Content>\n\t\t</SelectPrimitive.Portal>\n\t);\n}\n\nfunction SelectLabel({ className, ...props }: React.ComponentProps<typeof SelectPrimitive.Label>) {\n\treturn (\n\t\t<SelectPrimitive.Label\n\t\t\tdata-slot=\"select-label\"\n\t\t\tclassName={cn(\"py-1.5 pr-2 pl-8 text-sm font-semibold\", className)}\n\t\t\t{...props}\n\t\t/>\n\t);\n}\n\nfunction SelectItem({\n\tclassName,\n\tchildren,\n\t...props\n}: React.ComponentProps<typeof SelectPrimitive.Item>) {\n\treturn (\n\t\t<SelectPrimitive.Item\n\t\t\tdata-slot=\"select-item\"\n\t\t\tclassName={cn(\n\t\t\t\t\"focus:bg-accent focus:text-accent-foreground relative flex w-full cursor-default items-center rounded-sm py-1.5 pr-2 pl-8 text-sm outline-none select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50\",\n\t\t\t\tclassName,\n\t\t\t)}\n\t\t\t{...props}\n\t\t>\n\t\t\t<span className=\"absolute left-2 flex size-3.5 items-center justify-center\">\n\t\t\t\t<SelectPrimitive.ItemIndicator>\n\t\t\t\t\t<CheckIcon className=\"size-4\" />\n\t\t\t\t</SelectPrimitive.ItemIndicator>\n\t\t\t</span>\n\t\t\t<SelectPrimitive.ItemText>{children}</SelectPrimitive.ItemText>\n\t\t</SelectPrimitive.Item>\n\t);\n}\n\nfunction SelectSeparator({\n\tclassName,\n\t...props\n}: React.ComponentProps<typeof SelectPrimitive.Separator>) {\n\treturn (\n\t\t<SelectPrimitive.Separator\n\t\t\tdata-slot=\"select-separator\"\n\t\t\tclassName={cn(\"bg-muted -mx-1 my-1 h-px\", className)}\n\t\t\t{...props}\n\t\t/>\n\t);\n}\n\nfunction SelectScrollUpButton({\n\tclassName,\n\t...props\n}: React.ComponentProps<typeof SelectPrimitive.ScrollUpButton>) {\n\treturn (\n\t\t<SelectPrimitive.ScrollUpButton\n\t\t\tdata-slot=\"select-scroll-up-button\"\n\t\t\tclassName={cn(\"flex cursor-default items-center justify-center py-1\", className)}\n\t\t\t{...props}\n\t\t>\n\t\t\t<ChevronUpIcon className=\"size-4\" />\n\t\t</SelectPrimitive.ScrollUpButton>\n\t);\n}\n\nfunction SelectScrollDownButton({\n\tclassName,\n\t...props\n}: React.ComponentProps<typeof SelectPrimitive.ScrollDownButton>) {\n\treturn (\n\t\t<SelectPrimitive.ScrollDownButton\n\t\t\tdata-slot=\"select-scroll-down-button\"\n\t\t\tclassName={cn(\"flex cursor-default items-center justify-center py-1\", className)}\n\t\t\t{...props}\n\t\t>\n\t\t\t<ChevronDownIcon className=\"size-4\" />\n\t\t</SelectPrimitive.ScrollDownButton>\n\t);\n}\n\nexport {\n\tSelect,\n\tSelectContent,\n\tSelectGroup,\n\tSelectItem,\n\tSelectLabel,\n\tSelectScrollDownButton,\n\tSelectScrollUpButton,\n\tSelectSeparator,\n\tSelectTrigger,\n\tSelectValue,\n};\n"],"names":["ChevronUp","createLucideIcon","d","key","Select","props","React","createElement","SelectPrimitive","Root","data-slot","SelectGroup","Group","SelectValue","Value","SelectTrigger","className","children","Trigger","cn","Icon","asChild","ChevronDownIcon","SelectContent","position","Portal","Content","SelectScrollUpButton","Viewport","SelectScrollDownButton","SelectLabel","Label","SelectItem","Item","span","ItemIndicator","CheckIcon","ItemText","SelectSeparator","Separator","ScrollUpButton","ChevronUpIcon","ScrollDownButton"],"mappings":"oPAGa,MAaPA,EAAYC,EAAiB,YAbC,CAAC,CAAC,OAAQ,CAAEC,EAAG,iBAAkBC,IAAK,aCE1E,SAASC,MAAYC,IACpB,OAAOC,EAAAC,cAACC,EAAgBC,KAAI,CAACC,YAAU,YAAaL,GACrD,CAEA,SAASM,MAAiBN,IACzB,OAAOC,EAAAC,cAACC,EAAgBI,MAAK,CAACF,YAAU,kBAAmBL,GAC5D,CAEA,SAASQ,MAAiBR,IACzB,OAAOC,EAAAC,cAACC,EAAgBM,MAAK,CAACJ,YAAU,kBAAmBL,GAC5D,CAEA,SAASU,GAAcC,UACtBA,EAASC,SACTA,KACGZ,IAEH,OACCC,EAAAC,cAACC,EAAgBU,QAAO,CACvBR,YAAU,iBACVM,UAAWG,EACV,gWACAH,MAEGX,GAEHY,EACDX,EAAAC,cAACC,EAAgBY,KAAI,CAACC,SAAAA,GACrBf,EAAAC,cAACe,EAAAA,CAAgBN,UAAU,uBAI/B,CAEA,SAASO,GAAcP,UACtBA,EAASC,SACTA,EAAQO,SACRA,EAAW,YACRnB,IAEH,OACCC,gBAACE,EAAgBiB,OAAM,KACtBnB,EAAAC,cAACC,EAAgBkB,QAAO,CACvBhB,YAAU,iBACVM,UAAWG,EACV,scACa,WAAbK,GACC,kIACDR,GAEDQ,SAAUA,KACNnB,GAEJC,EAAAC,cAACoB,EAAAA,MACDrB,EAAAC,cAACC,EAAgBoB,SAAQ,CACxBZ,UAAWG,EACV,MACa,WAAbK,GACC,wGAGDP,GAEFX,EAAAC,cAACsB,EAAAA,OAIL,CAEA,SAASC,GAAYd,UAAEA,KAAcX,IACpC,OACCC,EAAAC,cAACC,EAAgBuB,MAAK,CACrBrB,YAAU,eACVM,UAAWG,EAAG,yCAA0CH,MACpDX,GAGP,CAEA,SAAS2B,GAAWhB,UACnBA,EAASC,SACTA,KACGZ,IAEH,OACCC,EAAAC,cAACC,EAAgByB,KAAI,CACpBvB,YAAU,cACVM,UAAWG,EACV,4NACAH,MAEGX,GAEJC,EAAAC,cAAC2B,OAAAA,CAAKlB,UAAU,6DACfV,EAAAC,cAACC,EAAgB2B,cAAa,KAC7B7B,EAAAC,cAAC6B,EAAAA,CAAUpB,UAAU,aAGvBV,EAAAC,cAACC,EAAgB6B,SAAQ,KAAEpB,GAG9B,CAEA,SAASqB,GAAgBtB,UACxBA,KACGX,IAEH,OACCC,EAAAC,cAACC,EAAgB+B,UAAS,CACzB7B,YAAU,mBACVM,UAAWG,EAAG,2BAA4BH,MACtCX,GAGP,CAEA,SAASsB,GAAqBX,UAC7BA,KACGX,IAEH,OACCC,EAAAC,cAACC,EAAgBgC,eAAc,CAC9B9B,YAAU,0BACVM,UAAWG,EAAG,uDAAwDH,MAClEX,GAEJC,EAAAC,cAACkC,EAAAA,CAAczB,UAAU,WAG5B,CAEA,SAASa,GAAuBb,UAC/BA,KACGX,IAEH,OACCC,EAAAC,cAACC,EAAgBkC,iBAAgB,CAChChC,YAAU,4BACVM,UAAWG,EAAG,uDAAwDH,MAClEX,GAEJC,EAAAC,cAACe,EAAAA,CAAgBN,UAAU,WAG9B","x_google_ignoreList":[0]}
1
+ {"version":3,"file":"select-BdrpNh7G.mjs","sources":["../../node_modules/lucide-react/dist/esm/icons/chevron-up.js","../../src/components/ui/select/select.tsx"],"sourcesContent":["/**\n * @license lucide-react v0.479.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.js';\n\nconst __iconNode = [[\"path\", { d: \"m18 15-6-6-6 6\", key: \"153udz\" }]];\nconst ChevronUp = createLucideIcon(\"ChevronUp\", __iconNode);\n\nexport { __iconNode, ChevronUp as default };\n//# sourceMappingURL=chevron-up.js.map\n","import { cn } from \"@/lib/utils\";\nimport * as SelectPrimitive from \"@radix-ui/react-select\";\nimport { CheckIcon, ChevronDownIcon, ChevronUpIcon } from \"lucide-react\";\nimport React from \"react\";\n\nfunction Select({ ...props }: React.ComponentProps<typeof SelectPrimitive.Root>) {\n\treturn <SelectPrimitive.Root data-slot=\"select\" {...props} />;\n}\n\nfunction SelectGroup({ ...props }: React.ComponentProps<typeof SelectPrimitive.Group>) {\n\treturn <SelectPrimitive.Group data-slot=\"select-group\" {...props} />;\n}\n\nfunction SelectValue({ ...props }: React.ComponentProps<typeof SelectPrimitive.Value>) {\n\treturn <SelectPrimitive.Value data-slot=\"select-value\" {...props} />;\n}\n\nfunction SelectTrigger({\n\tclassName,\n\tchildren,\n\t...props\n}: React.ComponentProps<typeof SelectPrimitive.Trigger>) {\n\treturn (\n\t\t<SelectPrimitive.Trigger\n\t\t\tdata-slot=\"select-trigger\"\n\t\t\tclassName={cn(\n\t\t\t\t\"border-input text-muted-foreground ring-offset-background placeholder:text-muted-foreground focus:ring-ring flex h-10 w-full cursor-pointer items-center justify-between rounded-md border bg-transparent px-3 py-2 text-sm whitespace-nowrap shadow-sm focus:ring-1 focus:outline-none disabled:cursor-not-allowed disabled:opacity-50 [&>span]:line-clamp-1\",\n\t\t\t\tclassName,\n\t\t\t)}\n\t\t\t{...props}\n\t\t>\n\t\t\t{children}\n\t\t\t<SelectPrimitive.Icon asChild>\n\t\t\t\t<ChevronDownIcon className=\"size-4 opacity-50\" />\n\t\t\t</SelectPrimitive.Icon>\n\t\t</SelectPrimitive.Trigger>\n\t);\n}\n\nfunction SelectContent({\n\tclassName,\n\tchildren,\n\tposition = \"popper\",\n\t...props\n}: React.ComponentProps<typeof SelectPrimitive.Content>) {\n\treturn (\n\t\t<SelectPrimitive.Portal>\n\t\t\t<SelectPrimitive.Content\n\t\t\t\tdata-slot=\"select-content\"\n\t\t\t\tclassName={cn(\n\t\t\t\t\t\"bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 relative z-50 max-h-96 min-w-[8rem] overflow-hidden rounded-md border shadow-md\",\n\t\t\t\t\tposition === \"popper\" &&\n\t\t\t\t\t\t\"data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1\",\n\t\t\t\t\tclassName,\n\t\t\t\t)}\n\t\t\t\tposition={position}\n\t\t\t\t{...props}\n\t\t\t>\n\t\t\t\t<SelectScrollUpButton />\n\t\t\t\t<SelectPrimitive.Viewport\n\t\t\t\t\tclassName={cn(\n\t\t\t\t\t\t\"p-1\",\n\t\t\t\t\t\tposition === \"popper\" &&\n\t\t\t\t\t\t\t\"h-[var(--radix-select-trigger-height)] w-full min-w-[var(--radix-select-trigger-width)] scroll-my-1\",\n\t\t\t\t\t)}\n\t\t\t\t>\n\t\t\t\t\t{children}\n\t\t\t\t</SelectPrimitive.Viewport>\n\t\t\t\t<SelectScrollDownButton />\n\t\t\t</SelectPrimitive.Content>\n\t\t</SelectPrimitive.Portal>\n\t);\n}\n\nfunction SelectLabel({ className, ...props }: React.ComponentProps<typeof SelectPrimitive.Label>) {\n\treturn (\n\t\t<SelectPrimitive.Label\n\t\t\tdata-slot=\"select-label\"\n\t\t\tclassName={cn(\"py-1.5 pr-2 pl-8 text-sm font-semibold\", className)}\n\t\t\t{...props}\n\t\t/>\n\t);\n}\n\nfunction SelectItem({\n\tclassName,\n\tchildren,\n\t...props\n}: React.ComponentProps<typeof SelectPrimitive.Item>) {\n\treturn (\n\t\t<SelectPrimitive.Item\n\t\t\tdata-slot=\"select-item\"\n\t\t\tclassName={cn(\n\t\t\t\t\"focus:bg-accent focus:text-accent-foreground relative flex w-full cursor-default items-center rounded-sm py-1.5 pr-2 pl-8 text-sm outline-none select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50\",\n\t\t\t\tclassName,\n\t\t\t)}\n\t\t\t{...props}\n\t\t>\n\t\t\t<span className=\"absolute left-2 flex size-3.5 items-center justify-center\">\n\t\t\t\t<SelectPrimitive.ItemIndicator>\n\t\t\t\t\t<CheckIcon className=\"size-4\" />\n\t\t\t\t</SelectPrimitive.ItemIndicator>\n\t\t\t</span>\n\t\t\t<SelectPrimitive.ItemText>{children}</SelectPrimitive.ItemText>\n\t\t</SelectPrimitive.Item>\n\t);\n}\n\nfunction SelectSeparator({\n\tclassName,\n\t...props\n}: React.ComponentProps<typeof SelectPrimitive.Separator>) {\n\treturn (\n\t\t<SelectPrimitive.Separator\n\t\t\tdata-slot=\"select-separator\"\n\t\t\tclassName={cn(\"bg-muted -mx-1 my-1 h-px\", className)}\n\t\t\t{...props}\n\t\t/>\n\t);\n}\n\nfunction SelectScrollUpButton({\n\tclassName,\n\t...props\n}: React.ComponentProps<typeof SelectPrimitive.ScrollUpButton>) {\n\treturn (\n\t\t<SelectPrimitive.ScrollUpButton\n\t\t\tdata-slot=\"select-scroll-up-button\"\n\t\t\tclassName={cn(\"flex cursor-default items-center justify-center py-1\", className)}\n\t\t\t{...props}\n\t\t>\n\t\t\t<ChevronUpIcon className=\"size-4\" />\n\t\t</SelectPrimitive.ScrollUpButton>\n\t);\n}\n\nfunction SelectScrollDownButton({\n\tclassName,\n\t...props\n}: React.ComponentProps<typeof SelectPrimitive.ScrollDownButton>) {\n\treturn (\n\t\t<SelectPrimitive.ScrollDownButton\n\t\t\tdata-slot=\"select-scroll-down-button\"\n\t\t\tclassName={cn(\"flex cursor-default items-center justify-center py-1\", className)}\n\t\t\t{...props}\n\t\t>\n\t\t\t<ChevronDownIcon className=\"size-4\" />\n\t\t</SelectPrimitive.ScrollDownButton>\n\t);\n}\n\nexport {\n\tSelect,\n\tSelectContent,\n\tSelectGroup,\n\tSelectItem,\n\tSelectLabel,\n\tSelectScrollDownButton,\n\tSelectScrollUpButton,\n\tSelectSeparator,\n\tSelectTrigger,\n\tSelectValue,\n};\n"],"names":["ChevronUp","createLucideIcon","d","key","Select","props","React","createElement","SelectPrimitive","Root","data-slot","SelectGroup","Group","SelectValue","Value","SelectTrigger","className","children","Trigger","cn","Icon","asChild","ChevronDownIcon","SelectContent","position","Portal","Content","SelectScrollUpButton","Viewport","SelectScrollDownButton","SelectLabel","Label","SelectItem","Item","span","ItemIndicator","CheckIcon","ItemText","SelectSeparator","Separator","ScrollUpButton","ChevronUpIcon","ScrollDownButton"],"mappings":"oPAGa,MAaPA,EAAYC,EAAiB,YAbC,CAAC,CAAC,OAAQ,CAAEC,EAAG,iBAAkBC,IAAK,aCE1E,SAASC,MAAYC,IACpB,OAAOC,EAAAC,cAACC,EAAgBC,KAAI,CAACC,YAAU,YAAaL,GACrD,CAEA,SAASM,MAAiBN,IACzB,OAAOC,EAAAC,cAACC,EAAgBI,MAAK,CAACF,YAAU,kBAAmBL,GAC5D,CAEA,SAASQ,MAAiBR,IACzB,OAAOC,EAAAC,cAACC,EAAgBM,MAAK,CAACJ,YAAU,kBAAmBL,GAC5D,CAEA,SAASU,GAAcC,UACtBA,EAASC,SACTA,KACGZ,IAEH,OACCC,EAAAC,cAACC,EAAgBU,QAAO,CACvBR,YAAU,iBACVM,UAAWG,EACV,gWACAH,MAEGX,GAEHY,EACDX,EAAAC,cAACC,EAAgBY,KAAI,CAACC,SAAAA,GACrBf,EAAAC,cAACe,EAAAA,CAAgBN,UAAU,uBAI/B,CAEA,SAASO,GAAcP,UACtBA,EAASC,SACTA,EAAQO,SACRA,EAAW,YACRnB,IAEH,OACCC,gBAACE,EAAgBiB,OAAM,KACtBnB,EAAAC,cAACC,EAAgBkB,QAAO,CACvBhB,YAAU,iBACVM,UAAWG,EACV,scACa,WAAbK,GACC,kIACDR,GAEDQ,SAAUA,KACNnB,GAEJC,EAAAC,cAACoB,EAAAA,MACDrB,EAAAC,cAACC,EAAgBoB,SAAQ,CACxBZ,UAAWG,EACV,MACa,WAAbK,GACC,wGAGDP,GAEFX,EAAAC,cAACsB,EAAAA,OAIL,CAEA,SAASC,GAAYd,UAAEA,KAAcX,IACpC,OACCC,EAAAC,cAACC,EAAgBuB,MAAK,CACrBrB,YAAU,eACVM,UAAWG,EAAG,yCAA0CH,MACpDX,GAGP,CAEA,SAAS2B,GAAWhB,UACnBA,EAASC,SACTA,KACGZ,IAEH,OACCC,EAAAC,cAACC,EAAgByB,KAAI,CACpBvB,YAAU,cACVM,UAAWG,EACV,4NACAH,MAEGX,GAEJC,EAAAC,cAAC2B,OAAAA,CAAKlB,UAAU,6DACfV,EAAAC,cAACC,EAAgB2B,cAAa,KAC7B7B,EAAAC,cAAC6B,EAAAA,CAAUpB,UAAU,aAGvBV,EAAAC,cAACC,EAAgB6B,SAAQ,KAAEpB,GAG9B,CAEA,SAASqB,GAAgBtB,UACxBA,KACGX,IAEH,OACCC,EAAAC,cAACC,EAAgB+B,UAAS,CACzB7B,YAAU,mBACVM,UAAWG,EAAG,2BAA4BH,MACtCX,GAGP,CAEA,SAASsB,GAAqBX,UAC7BA,KACGX,IAEH,OACCC,EAAAC,cAACC,EAAgBgC,eAAc,CAC9B9B,YAAU,0BACVM,UAAWG,EAAG,uDAAwDH,MAClEX,GAEJC,EAAAC,cAACkC,EAAAA,CAAczB,UAAU,WAG5B,CAEA,SAASa,GAAuBb,UAC/BA,KACGX,IAEH,OACCC,EAAAC,cAACC,EAAgBkC,iBAAgB,CAChChC,YAAU,4BACVM,UAAWG,EAAG,uDAAwDH,MAClEX,GAEJC,EAAAC,cAACe,EAAAA,CAAgBN,UAAU,WAG9B","x_google_ignoreList":[0]}
@@ -1,2 +1,2 @@
1
- import{c as r}from"./utils-CplKzw61.mjs";import*as t from"react";import a from"react";import{P as o}from"./index-CZMSgrEB.mjs";import{jsx as i}from"react/jsx-runtime";var e="horizontal",n=["horizontal","vertical"],l=t.forwardRef((r,t)=>{const{decorative:a,orientation:l=e,...s}=r,c=function(r){return n.includes(r)}(l)?l:e,m=a?{role:"none"}:{"aria-orientation":"vertical"===c?c:void 0,role:"separator"};return i(o.div,{"data-orientation":c,...m,...s,ref:t})});l.displayName="Separator";var s=l;function c({className:t,orientation:o="horizontal",decorative:i=!0,...e}){return a.createElement(s,{"data-slot":"separator-root",decorative:i,orientation:o,className:r("bg-border shrink-0 data-[orientation=horizontal]:h-px data-[orientation=horizontal]:w-full data-[orientation=vertical]:h-full data-[orientation=vertical]:w-px",t),...e})}export{c as S};
2
- //# sourceMappingURL=separator-yvrmazzo.mjs.map
1
+ import{c as r}from"./utils-C1EKaz-p.mjs";import*as t from"react";import a from"react";import{P as o}from"./index-DuDVR7ID.mjs";import{jsx as i}from"react/jsx-runtime";var e="horizontal",n=["horizontal","vertical"],l=t.forwardRef((r,t)=>{const{decorative:a,orientation:l=e,...s}=r,c=function(r){return n.includes(r)}(l)?l:e,m=a?{role:"none"}:{"aria-orientation":"vertical"===c?c:void 0,role:"separator"};return i(o.div,{"data-orientation":c,...m,...s,ref:t})});l.displayName="Separator";var s=l;function c({className:t,orientation:o="horizontal",decorative:i=!0,...e}){return a.createElement(s,{"data-slot":"separator-root",decorative:i,orientation:o,className:r("bg-border shrink-0 data-[orientation=horizontal]:h-px data-[orientation=horizontal]:w-full data-[orientation=vertical]:h-full data-[orientation=vertical]:w-px",t),...e})}export{c as S};
2
+ //# sourceMappingURL=separator-DbIrm4r-.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"separator-yvrmazzo.mjs","sources":["../../node_modules/@radix-ui/react-separator/dist/index.mjs","../../src/components/ui/separator/separator.tsx"],"sourcesContent":["// src/separator.tsx\nimport * as React from \"react\";\nimport { Primitive } from \"@radix-ui/react-primitive\";\nimport { jsx } from \"react/jsx-runtime\";\nvar NAME = \"Separator\";\nvar DEFAULT_ORIENTATION = \"horizontal\";\nvar ORIENTATIONS = [\"horizontal\", \"vertical\"];\nvar Separator = React.forwardRef((props, forwardedRef) => {\n const { decorative, orientation: orientationProp = DEFAULT_ORIENTATION, ...domProps } = props;\n const orientation = isValidOrientation(orientationProp) ? orientationProp : DEFAULT_ORIENTATION;\n const ariaOrientation = orientation === \"vertical\" ? orientation : void 0;\n const semanticProps = decorative ? { role: \"none\" } : { \"aria-orientation\": ariaOrientation, role: \"separator\" };\n return /* @__PURE__ */ jsx(\n Primitive.div,\n {\n \"data-orientation\": orientation,\n ...semanticProps,\n ...domProps,\n ref: forwardedRef\n }\n );\n});\nSeparator.displayName = NAME;\nfunction isValidOrientation(orientation) {\n return ORIENTATIONS.includes(orientation);\n}\nvar Root = Separator;\nexport {\n Root,\n Separator\n};\n//# sourceMappingURL=index.mjs.map\n","import { cn } from \"@/lib/utils\";\nimport * as SeparatorPrimitive from \"@radix-ui/react-separator\";\nimport React from \"react\";\n\nfunction Separator({\n\tclassName,\n\torientation = \"horizontal\",\n\tdecorative = true,\n\t...props\n}: React.ComponentProps<typeof SeparatorPrimitive.Root>) {\n\treturn (\n\t\t<SeparatorPrimitive.Root\n\t\t\tdata-slot=\"separator-root\"\n\t\t\tdecorative={decorative}\n\t\t\torientation={orientation}\n\t\t\tclassName={cn(\n\t\t\t\t\"bg-border shrink-0 data-[orientation=horizontal]:h-px data-[orientation=horizontal]:w-full data-[orientation=vertical]:h-full data-[orientation=vertical]:w-px\",\n\t\t\t\tclassName,\n\t\t\t)}\n\t\t\t{...props}\n\t\t/>\n\t);\n}\n\nexport { Separator };\n"],"names":["DEFAULT_ORIENTATION","ORIENTATIONS","Separator","React","forwardRef","props","forwardedRef","decorative","orientation","orientationProp","domProps","includes","isValidOrientation","semanticProps","role","jsx","Primitive","div","ref","displayName","Root","className","createElement","SeparatorPrimitive","data-slot","cn"],"mappings":"uKAOA,IACMA,EAAsB,aACtBC,EAAe,CAAC,aAAc,YAiB9BC,EAAkBC,EAAAC,WAA6C,CAACC,EAAOC,KAC3E,MAAMC,WAAEA,EAAYC,YAAaC,EAAkBT,KAAwBU,GAAaL,EAClFG,EAqBR,SAA4BA,GAC1B,OAAOP,EAAaU,SAASH,EAC/B,CAvBsBI,CAAmBH,GAAmBA,EAAkBT,EAGtEa,EAAgBN,EAClB,CAAEO,KAAM,QACR,CAAE,mBAHkC,aAAhBN,EAA6BA,OAAc,EAGxBM,KAAM,aAEjD,OACEC,EAACC,EAAUC,IAAV,CACC,mBAAkBT,KACdK,KACAH,EACJQ,IAAKZ,MAKXJ,EAAUiB,YAtCG,YA8Cb,IAAMC,EAAOlB,ECjDb,SAASA,GAAUmB,UAClBA,EAASb,YACTA,EAAc,aAAYD,WAC1BA,GAAa,KACVF,IAEH,OACCF,EAAAmB,cAACC,EAAuB,CACvBC,YAAU,iBACVjB,WAAYA,EACZC,YAAaA,EACba,UAAWI,EACV,iKACAJ,MAEGhB,GAGP","x_google_ignoreList":[0]}
1
+ {"version":3,"file":"separator-DbIrm4r-.mjs","sources":["../../node_modules/@radix-ui/react-separator/dist/index.mjs","../../src/components/ui/separator/separator.tsx"],"sourcesContent":["// src/separator.tsx\nimport * as React from \"react\";\nimport { Primitive } from \"@radix-ui/react-primitive\";\nimport { jsx } from \"react/jsx-runtime\";\nvar NAME = \"Separator\";\nvar DEFAULT_ORIENTATION = \"horizontal\";\nvar ORIENTATIONS = [\"horizontal\", \"vertical\"];\nvar Separator = React.forwardRef((props, forwardedRef) => {\n const { decorative, orientation: orientationProp = DEFAULT_ORIENTATION, ...domProps } = props;\n const orientation = isValidOrientation(orientationProp) ? orientationProp : DEFAULT_ORIENTATION;\n const ariaOrientation = orientation === \"vertical\" ? orientation : void 0;\n const semanticProps = decorative ? { role: \"none\" } : { \"aria-orientation\": ariaOrientation, role: \"separator\" };\n return /* @__PURE__ */ jsx(\n Primitive.div,\n {\n \"data-orientation\": orientation,\n ...semanticProps,\n ...domProps,\n ref: forwardedRef\n }\n );\n});\nSeparator.displayName = NAME;\nfunction isValidOrientation(orientation) {\n return ORIENTATIONS.includes(orientation);\n}\nvar Root = Separator;\nexport {\n Root,\n Separator\n};\n//# sourceMappingURL=index.mjs.map\n","import { cn } from \"@/lib/utils\";\nimport * as SeparatorPrimitive from \"@radix-ui/react-separator\";\nimport React from \"react\";\n\nfunction Separator({\n\tclassName,\n\torientation = \"horizontal\",\n\tdecorative = true,\n\t...props\n}: React.ComponentProps<typeof SeparatorPrimitive.Root>) {\n\treturn (\n\t\t<SeparatorPrimitive.Root\n\t\t\tdata-slot=\"separator-root\"\n\t\t\tdecorative={decorative}\n\t\t\torientation={orientation}\n\t\t\tclassName={cn(\n\t\t\t\t\"bg-border shrink-0 data-[orientation=horizontal]:h-px data-[orientation=horizontal]:w-full data-[orientation=vertical]:h-full data-[orientation=vertical]:w-px\",\n\t\t\t\tclassName,\n\t\t\t)}\n\t\t\t{...props}\n\t\t/>\n\t);\n}\n\nexport { Separator };\n"],"names":["DEFAULT_ORIENTATION","ORIENTATIONS","Separator","React","forwardRef","props","forwardedRef","decorative","orientation","orientationProp","domProps","includes","isValidOrientation","semanticProps","role","jsx","Primitive","div","ref","displayName","Root","className","createElement","SeparatorPrimitive","data-slot","cn"],"mappings":"uKAOA,IACMA,EAAsB,aACtBC,EAAe,CAAC,aAAc,YAiB9BC,EAAkBC,EAAAC,WAA6C,CAACC,EAAOC,KAC3E,MAAMC,WAAEA,EAAYC,YAAaC,EAAkBT,KAAwBU,GAAaL,EAClFG,EAqBR,SAA4BA,GAC1B,OAAOP,EAAaU,SAASH,EAC/B,CAvBsBI,CAAmBH,GAAmBA,EAAkBT,EAGtEa,EAAgBN,EAClB,CAAEO,KAAM,QACR,CAAE,mBAHkC,aAAhBN,EAA6BA,OAAc,EAGxBM,KAAM,aAEjD,OACEC,EAACC,EAAUC,IAAV,CACC,mBAAkBT,KACdK,KACAH,EACJQ,IAAKZ,MAKXJ,EAAUiB,YAtCG,YA8Cb,IAAMC,EAAOlB,ECjDb,SAASA,GAAUmB,UAClBA,EAASb,YACTA,EAAc,aAAYD,WAC1BA,GAAa,KACVF,IAEH,OACCF,EAAAmB,cAACC,EAAuB,CACvBC,YAAU,iBACVjB,WAAYA,EACZC,YAAaA,EACba,UAAWI,EACV,iKACAJ,MAEGhB,GAGP","x_google_ignoreList":[0]}
@@ -1,2 +1,2 @@
1
- import{c as e}from"./utils-CplKzw61.mjs";import t from"react";function a({className:a,...m}){return t.createElement("div",{"data-slot":"skeleton",className:e("bg-muted animate-pulse rounded-md",a),...m})}export{a as S};
2
- //# sourceMappingURL=skeleton-CgM54DVd.mjs.map
1
+ import{c as e}from"./utils-C1EKaz-p.mjs";import t from"react";function a({className:a,...m}){return t.createElement("div",{"data-slot":"skeleton",className:e("bg-muted animate-pulse rounded-md",a),...m})}export{a as S};
2
+ //# sourceMappingURL=skeleton-j85jApz0.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"skeleton-CgM54DVd.mjs","sources":["../../src/components/ui/skeleton/skeleton.tsx"],"sourcesContent":["import { cn } from \"@/lib/utils\";\nimport React from \"react\";\nfunction Skeleton({ className, ...props }: React.ComponentProps<\"div\">) {\n\treturn (\n\t\t<div\n\t\t\tdata-slot=\"skeleton\"\n\t\t\tclassName={cn(\"bg-muted animate-pulse rounded-md\", className)}\n\t\t\t{...props}\n\t\t/>\n\t);\n}\n\nexport { Skeleton };\n"],"names":["Skeleton","className","props","React","createElement","div","data-slot","cn"],"mappings":"8DAEA,SAASA,GAASC,UAAEA,KAAcC,IACjC,OACCC,EAAAC,cAACC,MAAAA,CACAC,YAAU,WACVL,UAAWM,EAAG,oCAAqCN,MAC/CC,GAGP"}
1
+ {"version":3,"file":"skeleton-j85jApz0.mjs","sources":["../../src/components/ui/skeleton/skeleton.tsx"],"sourcesContent":["import { cn } from \"@/lib/utils\";\nimport React from \"react\";\nfunction Skeleton({ className, ...props }: React.ComponentProps<\"div\">) {\n\treturn (\n\t\t<div\n\t\t\tdata-slot=\"skeleton\"\n\t\t\tclassName={cn(\"bg-muted animate-pulse rounded-md\", className)}\n\t\t\t{...props}\n\t\t/>\n\t);\n}\n\nexport { Skeleton };\n"],"names":["Skeleton","className","props","React","createElement","div","data-slot","cn"],"mappings":"8DAEA,SAASA,GAASC,UAAEA,KAAcC,IACjC,OACCC,EAAAC,cAACC,MAAAA,CACAC,YAAU,WACVL,UAAWM,EAAG,oCAAqCN,MAC/CC,GAGP"}