ics-ui-kit 0.1.0-alpha.47 → 0.1.0-alpha.49

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 (198) hide show
  1. package/README.md +32 -32
  2. package/dist/AlertContext-CxjW1LVL.js.map +1 -1
  3. package/dist/AlertIcon-DQs4wtDT.js.map +1 -1
  4. package/dist/Button--ooZ8ALo.js.map +1 -1
  5. package/dist/ButtonBase-Sf-fcVor.js.map +1 -1
  6. package/dist/CarouselItem-DCAuGIKz.js.map +1 -1
  7. package/dist/{CheckboxField-DvsGq3kV.js → CheckboxField-BR2hWwTO.js} +2 -2
  8. package/dist/CheckboxField-BR2hWwTO.js.map +1 -0
  9. package/dist/{Command-BU9Ouar3.js → Command-C_iW2joV.js} +2 -2
  10. package/dist/Command-C_iW2joV.js.map +1 -0
  11. package/dist/ComponentVariantProvider-B0SFUaXB.js.map +1 -1
  12. package/dist/Description-BTPMlTT-.js.map +1 -1
  13. package/dist/Dialog-CkDUxZUj.js.map +1 -1
  14. package/dist/Divider-Dm2gjy8W.js.map +1 -1
  15. package/dist/EmptyState-DRKjscH-.js.map +1 -1
  16. package/dist/ErrorState-B26k67-z.js.map +1 -1
  17. package/dist/FeatureIcon-yM7FhAXa.js.map +1 -1
  18. package/dist/{Field-CdocNMjg.js → Field-DpbrZvvg.js} +2 -2
  19. package/dist/Field-DpbrZvvg.js.map +1 -0
  20. package/dist/{FieldLabel-DRwAhGMz.js → FieldLabel-saPDMPPr.js} +2 -2
  21. package/dist/FieldLabel-saPDMPPr.js.map +1 -0
  22. package/dist/FolderSvg-cw0DxNVy.js.map +1 -1
  23. package/dist/{FormFooterTemplate-1MNxzQ7J.js → FormFooterTemplate-DV4pN3b-.js} +2 -2
  24. package/dist/FormFooterTemplate-DV4pN3b-.js.map +1 -0
  25. package/dist/FormHeader-BA2dJOPS.js.map +1 -1
  26. package/dist/{FormStack-DbtLshF8.js → FormStack-D-0fK-Zy.js} +3 -3
  27. package/dist/FormStack-D-0fK-Zy.js.map +1 -0
  28. package/dist/HintState-BxrCAWqq.js.map +1 -1
  29. package/dist/Icon-DH3ev9GK.js.map +1 -1
  30. package/dist/IconButton-moydR8IU.js.map +1 -1
  31. package/dist/{IconTooltip-CibXkFmt.js → IconTooltip-BbswlF6Q.js} +3 -3
  32. package/dist/IconTooltip-BbswlF6Q.js.map +1 -0
  33. package/dist/ImagePlaceholder-B6mGYVx2.js.map +1 -1
  34. package/dist/ImagePreview-BIBDrLVV.js.map +1 -1
  35. package/dist/ImageUploader-C-_ZPptv.js.map +1 -1
  36. package/dist/Indicator-B75A1Vgp.js.map +1 -1
  37. package/dist/InputGroup-CmstXpkX.js.map +1 -1
  38. package/dist/InputOTP-B2e1nfSO.js.map +1 -1
  39. package/dist/Loader-BpHiL6W-.js.map +1 -1
  40. package/dist/MenuItem-pvsONHlh.js.map +1 -1
  41. package/dist/{MenuItemShortcut-CGbVYqRi.js → MenuItemShortcut-DK7VneTR.js} +2 -2
  42. package/dist/MenuItemShortcut-DK7VneTR.js.map +1 -0
  43. package/dist/MenuItemText-7uPl9P3z.js.map +1 -1
  44. package/dist/Overlay-CLw_hvAN.js.map +1 -1
  45. package/dist/{Popover-CkezMtEz.js → Popover-DmwXZwYd.js} +17 -17
  46. package/dist/Popover-DmwXZwYd.js.map +1 -0
  47. package/dist/RichButton-BuenN3bJ.js.map +1 -1
  48. package/dist/ScrollShadowContainer-ODG9ChxA.js.map +1 -1
  49. package/dist/{SearchSelectTag-D1bFK1ux.js → SearchSelectTag-Ce-Q9JGR.js} +2 -2
  50. package/dist/SearchSelectTag-Ce-Q9JGR.js.map +1 -0
  51. package/dist/{Select-Bfrb-J8s.js → Select-CWbLja8r.js} +195 -195
  52. package/dist/Select-CWbLja8r.js.map +1 -0
  53. package/dist/Sheet-Dx9mwcF6.js.map +1 -1
  54. package/dist/Shortcut-D8L15_ed.js +22 -0
  55. package/dist/Shortcut-D8L15_ed.js.map +1 -0
  56. package/dist/Skeleton-y6I-i9q5.js.map +1 -1
  57. package/dist/{Tag-DJuVSJh5.js → Tag-CofZF1d0.js} +6 -6
  58. package/dist/Tag-CofZF1d0.js.map +1 -0
  59. package/dist/Text-DeBE8AKl.js.map +1 -1
  60. package/dist/TextInput-DTzujp77.js.map +1 -1
  61. package/dist/{Toggle-CS29Nksd.js → Toggle-CCD2UHWr.js} +15 -13
  62. package/dist/Toggle-CCD2UHWr.js.map +1 -0
  63. package/dist/{Tooltip-Cm1-WEdA.js → Tooltip-BH_Jc6ub.js} +2 -2
  64. package/dist/Tooltip-BH_Jc6ub.js.map +1 -0
  65. package/dist/TriggerButton-a2ClSj7f.js +33 -0
  66. package/dist/TriggerButton-a2ClSj7f.js.map +1 -0
  67. package/dist/blocks/auth/otp-form.js +1 -1
  68. package/dist/blocks/auth/otp-form.js.map +1 -1
  69. package/dist/cn-dsXlqdJg.js.map +1 -1
  70. package/dist/components/alert-dialog.js.map +1 -1
  71. package/dist/components/alert.js.map +1 -1
  72. package/dist/components/avatar/Avatar.d.ts +1 -1
  73. package/dist/components/avatar/avatar-indicator/AvatarIndicator.d.ts +3 -1
  74. package/dist/components/avatar/avatar-label/AvatarLabel.d.ts +1 -1
  75. package/dist/components/avatar.js +110 -93
  76. package/dist/components/avatar.js.map +1 -1
  77. package/dist/components/badge.js.map +1 -1
  78. package/dist/components/breadcrumb.js.map +1 -1
  79. package/dist/components/button.js +1 -1
  80. package/dist/components/button.js.map +1 -1
  81. package/dist/components/calendar.js.map +1 -1
  82. package/dist/components/card.js.map +1 -1
  83. package/dist/components/carousel.js.map +1 -1
  84. package/dist/components/checkbox.js +1 -1
  85. package/dist/components/collapsible.js.map +1 -1
  86. package/dist/components/color-tile.js.map +1 -1
  87. package/dist/components/command.js +1 -1
  88. package/dist/components/container.js.map +1 -1
  89. package/dist/components/counter.js.map +1 -1
  90. package/dist/components/dialog.js +1 -1
  91. package/dist/components/dialog.js.map +1 -1
  92. package/dist/components/divider.js.map +1 -1
  93. package/dist/components/drawer.js +1 -1
  94. package/dist/components/drawer.js.map +1 -1
  95. package/dist/components/dropdown.js +2 -2
  96. package/dist/components/dropdown.js.map +1 -1
  97. package/dist/components/error-state.js.map +1 -1
  98. package/dist/components/field.js +1 -1
  99. package/dist/components/file-upload.js.map +1 -1
  100. package/dist/components/form.js +3 -3
  101. package/dist/components/form.js.map +1 -1
  102. package/dist/components/gallery.js.map +1 -1
  103. package/dist/components/icon-tooltip.js +1 -1
  104. package/dist/components/input.js.map +1 -1
  105. package/dist/components/label.js +1 -1
  106. package/dist/components/menu-item.js +1 -1
  107. package/dist/components/menu-item.js.map +1 -1
  108. package/dist/components/overflow-tooltip.js +1 -1
  109. package/dist/components/overflow-tooltip.js.map +1 -1
  110. package/dist/components/page-state.js.map +1 -1
  111. package/dist/components/popover.js +1 -1
  112. package/dist/components/portal-container.js.map +1 -1
  113. package/dist/components/progress-circle.js.map +1 -1
  114. package/dist/components/progress.js.map +1 -1
  115. package/dist/components/prose.js.map +1 -1
  116. package/dist/components/radio-group.js.map +1 -1
  117. package/dist/components/resizable.js.map +1 -1
  118. package/dist/components/scheduler.js +1 -1
  119. package/dist/components/scheduler.js.map +1 -1
  120. package/dist/components/search-select.js +4 -4
  121. package/dist/components/search-select.js.map +1 -1
  122. package/dist/components/select.js +1 -1
  123. package/dist/components/shortcut.js +1 -1
  124. package/dist/components/sidebar.js +71 -68
  125. package/dist/components/sidebar.js.map +1 -1
  126. package/dist/components/slider.js.map +1 -1
  127. package/dist/components/stepper.js.map +1 -1
  128. package/dist/components/switch.js +1 -1
  129. package/dist/components/switch.js.map +1 -1
  130. package/dist/components/system-state.js.map +1 -1
  131. package/dist/components/table.js.map +1 -1
  132. package/dist/components/tabs.js.map +1 -1
  133. package/dist/components/tag-input.js +2 -2
  134. package/dist/components/tag-input.js.map +1 -1
  135. package/dist/components/tag.js +1 -1
  136. package/dist/components/textarea.js.map +1 -1
  137. package/dist/components/toast.js.map +1 -1
  138. package/dist/components/toggle/Toggle.d.ts +8 -2
  139. package/dist/components/toggle-group.js +1 -1
  140. package/dist/components/toggle-group.js.map +1 -1
  141. package/dist/components/toggle.js +1 -1
  142. package/dist/components/toolbar.js.map +1 -1
  143. package/dist/components/tooltip.js +1 -1
  144. package/dist/downloadFile-yZV-aaO2.js.map +1 -1
  145. package/dist/font-inter.css +15 -15
  146. package/dist/font-menlo.css +15 -15
  147. package/dist/index-0ioNhtNM.js.map +1 -1
  148. package/dist/index-5Bhkapwi.js.map +1 -1
  149. package/dist/index-BGQepRFJ.js.map +1 -1
  150. package/dist/index-BGfrl8IX.js.map +1 -1
  151. package/dist/index-BNirMMl4.js.map +1 -1
  152. package/dist/index-BVqs-uqP.js.map +1 -1
  153. package/dist/index-BZPx6jYI.js.map +1 -1
  154. package/dist/index-BdXokVmb.js.map +1 -1
  155. package/dist/index-Bwf2hSw6.js.map +1 -1
  156. package/dist/index-C0UREtMP.js.map +1 -1
  157. package/dist/index-C3surxzg.js.map +1 -1
  158. package/dist/index-CCKe-Mpx.js.map +1 -1
  159. package/dist/index-CpDnqHCm.js.map +1 -1
  160. package/dist/index-DFZozV_h.js.map +1 -1
  161. package/dist/index-DG36Jang.js.map +1 -1
  162. package/dist/index-DfNPZZ8M.js.map +1 -1
  163. package/dist/index-DpXwz_9G.js.map +1 -1
  164. package/dist/index-Nzc5v6h6.js.map +1 -1
  165. package/dist/index-l1F44JQJ.js.map +1 -1
  166. package/dist/index.js.map +1 -1
  167. package/dist/inputBaseStyles-BZJgQP7O.js.map +1 -1
  168. package/dist/lib/utils.js.map +1 -1
  169. package/dist/styles-scoped.css +5846 -5832
  170. package/dist/styles.css +1949 -1935
  171. package/dist/types/css.d.ts +4 -4
  172. package/dist/useBreakpoints-wEcfJPHd.js.map +1 -1
  173. package/dist/useDebounce-BRah78CF.js.map +1 -1
  174. package/dist/useFileUpload-iDag0iqM.js.map +1 -1
  175. package/dist/useMergeRefs-qoKniYqT.js.map +1 -1
  176. package/dist/usePortalContainer-ae6EzS08.js.map +1 -1
  177. package/dist/vendors/tanstack/react-table.js.map +1 -1
  178. package/dist/zod-BMNoK3aM.js.map +1 -1
  179. package/package.json +172 -172
  180. package/dist/CheckboxField-DvsGq3kV.js.map +0 -1
  181. package/dist/Command-BU9Ouar3.js.map +0 -1
  182. package/dist/Field-CdocNMjg.js.map +0 -1
  183. package/dist/FieldLabel-DRwAhGMz.js.map +0 -1
  184. package/dist/FormFooterTemplate-1MNxzQ7J.js.map +0 -1
  185. package/dist/FormStack-DbtLshF8.js.map +0 -1
  186. package/dist/IconTooltip-CibXkFmt.js.map +0 -1
  187. package/dist/MenuItemShortcut-CGbVYqRi.js.map +0 -1
  188. package/dist/Popover-CkezMtEz.js.map +0 -1
  189. package/dist/SearchSelectTag-D1bFK1ux.js.map +0 -1
  190. package/dist/Select-Bfrb-J8s.js.map +0 -1
  191. package/dist/Shortcut-Cm4nUx2C.js +0 -22
  192. package/dist/Shortcut-Cm4nUx2C.js.map +0 -1
  193. package/dist/Tag-DJuVSJh5.js.map +0 -1
  194. package/dist/Toggle-CS29Nksd.js.map +0 -1
  195. package/dist/Tooltip-Cm1-WEdA.js.map +0 -1
  196. package/dist/TriggerButton-BzXO5wcQ.js +0 -33
  197. package/dist/TriggerButton-BzXO5wcQ.js.map +0 -1
  198. package/dist/design-tokens.source.json +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"toolbar.js","sources":["../../node_modules/.pnpm/@radix-ui+react-separator@1_3cab2173b21cab89052082793cdd8770/node_modules/@radix-ui/react-separator/dist/index.mjs","../../node_modules/.pnpm/@radix-ui+react-toolbar@1.1_e665a8a61a53048a6b7ca3c339815ce4/node_modules/@radix-ui/react-toolbar/dist/index.mjs","../../node_modules/.pnpm/@radix-ui+react-scroll-area_88061cd61cff4d69a1ef4c76fcbaa229/node_modules/@radix-ui/react-scroll-area/dist/index.mjs","../../src/components/scroll-area/ScrollArea.tsx","../../src/components/toolbar/ToolbarContext.tsx","../../src/components/toolbar/Toolbar.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","\"use client\";\n\n// src/toolbar.tsx\nimport * as React from \"react\";\nimport { composeEventHandlers } from \"@radix-ui/primitive\";\nimport { createContextScope } from \"@radix-ui/react-context\";\nimport * as RovingFocusGroup from \"@radix-ui/react-roving-focus\";\nimport { createRovingFocusGroupScope } from \"@radix-ui/react-roving-focus\";\nimport { Primitive } from \"@radix-ui/react-primitive\";\nimport * as SeparatorPrimitive from \"@radix-ui/react-separator\";\nimport * as ToggleGroupPrimitive from \"@radix-ui/react-toggle-group\";\nimport { createToggleGroupScope } from \"@radix-ui/react-toggle-group\";\nimport { useDirection } from \"@radix-ui/react-direction\";\nimport { jsx } from \"react/jsx-runtime\";\nvar TOOLBAR_NAME = \"Toolbar\";\nvar [createToolbarContext, createToolbarScope] = createContextScope(TOOLBAR_NAME, [\n createRovingFocusGroupScope,\n createToggleGroupScope\n]);\nvar useRovingFocusGroupScope = createRovingFocusGroupScope();\nvar useToggleGroupScope = createToggleGroupScope();\nvar [ToolbarProvider, useToolbarContext] = createToolbarContext(TOOLBAR_NAME);\nvar Toolbar = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeToolbar, orientation = \"horizontal\", dir, loop = true, ...toolbarProps } = props;\n const rovingFocusGroupScope = useRovingFocusGroupScope(__scopeToolbar);\n const direction = useDirection(dir);\n return /* @__PURE__ */ jsx(ToolbarProvider, { scope: __scopeToolbar, orientation, dir: direction, children: /* @__PURE__ */ jsx(\n RovingFocusGroup.Root,\n {\n asChild: true,\n ...rovingFocusGroupScope,\n orientation,\n dir: direction,\n loop,\n children: /* @__PURE__ */ jsx(\n Primitive.div,\n {\n role: \"toolbar\",\n \"aria-orientation\": orientation,\n dir: direction,\n ...toolbarProps,\n ref: forwardedRef\n }\n )\n }\n ) });\n }\n);\nToolbar.displayName = TOOLBAR_NAME;\nvar SEPARATOR_NAME = \"ToolbarSeparator\";\nvar ToolbarSeparator = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeToolbar, ...separatorProps } = props;\n const context = useToolbarContext(SEPARATOR_NAME, __scopeToolbar);\n return /* @__PURE__ */ jsx(\n SeparatorPrimitive.Root,\n {\n orientation: context.orientation === \"horizontal\" ? \"vertical\" : \"horizontal\",\n ...separatorProps,\n ref: forwardedRef\n }\n );\n }\n);\nToolbarSeparator.displayName = SEPARATOR_NAME;\nvar BUTTON_NAME = \"ToolbarButton\";\nvar ToolbarButton = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeToolbar, ...buttonProps } = props;\n const rovingFocusGroupScope = useRovingFocusGroupScope(__scopeToolbar);\n return /* @__PURE__ */ jsx(RovingFocusGroup.Item, { asChild: true, ...rovingFocusGroupScope, focusable: !props.disabled, children: /* @__PURE__ */ jsx(Primitive.button, { type: \"button\", ...buttonProps, ref: forwardedRef }) });\n }\n);\nToolbarButton.displayName = BUTTON_NAME;\nvar LINK_NAME = \"ToolbarLink\";\nvar ToolbarLink = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeToolbar, ...linkProps } = props;\n const rovingFocusGroupScope = useRovingFocusGroupScope(__scopeToolbar);\n return /* @__PURE__ */ jsx(RovingFocusGroup.Item, { asChild: true, ...rovingFocusGroupScope, focusable: true, children: /* @__PURE__ */ jsx(\n Primitive.a,\n {\n ...linkProps,\n ref: forwardedRef,\n onKeyDown: composeEventHandlers(props.onKeyDown, (event) => {\n if (event.key === \" \") event.currentTarget.click();\n })\n }\n ) });\n }\n);\nToolbarLink.displayName = LINK_NAME;\nvar TOGGLE_GROUP_NAME = \"ToolbarToggleGroup\";\nvar ToolbarToggleGroup = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeToolbar, ...toggleGroupProps } = props;\n const context = useToolbarContext(TOGGLE_GROUP_NAME, __scopeToolbar);\n const toggleGroupScope = useToggleGroupScope(__scopeToolbar);\n return /* @__PURE__ */ jsx(\n ToggleGroupPrimitive.Root,\n {\n \"data-orientation\": context.orientation,\n dir: context.dir,\n ...toggleGroupScope,\n ...toggleGroupProps,\n ref: forwardedRef,\n rovingFocus: false\n }\n );\n }\n);\nToolbarToggleGroup.displayName = TOGGLE_GROUP_NAME;\nvar TOGGLE_ITEM_NAME = \"ToolbarToggleItem\";\nvar ToolbarToggleItem = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeToolbar, ...toggleItemProps } = props;\n const toggleGroupScope = useToggleGroupScope(__scopeToolbar);\n const scope = { __scopeToolbar: props.__scopeToolbar };\n return /* @__PURE__ */ jsx(ToolbarButton, { asChild: true, ...scope, children: /* @__PURE__ */ jsx(ToggleGroupPrimitive.Item, { ...toggleGroupScope, ...toggleItemProps, ref: forwardedRef }) });\n }\n);\nToolbarToggleItem.displayName = TOGGLE_ITEM_NAME;\nvar Root4 = Toolbar;\nvar Separator = ToolbarSeparator;\nvar Button = ToolbarButton;\nvar Link = ToolbarLink;\nvar ToggleGroup = ToolbarToggleGroup;\nvar ToggleItem = ToolbarToggleItem;\nexport {\n Button,\n Link,\n Root4 as Root,\n Separator,\n ToggleGroup,\n ToggleItem,\n Toolbar,\n ToolbarButton,\n ToolbarLink,\n ToolbarSeparator,\n ToolbarToggleGroup,\n ToolbarToggleItem,\n createToolbarScope\n};\n//# sourceMappingURL=index.mjs.map\n","\"use client\";\n\n// src/scroll-area.tsx\nimport * as React2 from \"react\";\nimport { Primitive } from \"@radix-ui/react-primitive\";\nimport { Presence } from \"@radix-ui/react-presence\";\nimport { createContextScope } from \"@radix-ui/react-context\";\nimport { useComposedRefs } from \"@radix-ui/react-compose-refs\";\nimport { useCallbackRef } from \"@radix-ui/react-use-callback-ref\";\nimport { useDirection } from \"@radix-ui/react-direction\";\nimport { useLayoutEffect } from \"@radix-ui/react-use-layout-effect\";\nimport { clamp } from \"@radix-ui/number\";\nimport { composeEventHandlers } from \"@radix-ui/primitive\";\n\n// src/use-state-machine.ts\nimport * as React from \"react\";\nfunction useStateMachine(initialState, machine) {\n return React.useReducer((state, event) => {\n const nextState = machine[state][event];\n return nextState ?? state;\n }, initialState);\n}\n\n// src/scroll-area.tsx\nimport { Fragment, jsx, jsxs } from \"react/jsx-runtime\";\nvar SCROLL_AREA_NAME = \"ScrollArea\";\nvar [createScrollAreaContext, createScrollAreaScope] = createContextScope(SCROLL_AREA_NAME);\nvar [ScrollAreaProvider, useScrollAreaContext] = createScrollAreaContext(SCROLL_AREA_NAME);\nvar ScrollArea = React2.forwardRef(\n (props, forwardedRef) => {\n const {\n __scopeScrollArea,\n type = \"hover\",\n dir,\n scrollHideDelay = 600,\n ...scrollAreaProps\n } = props;\n const [scrollArea, setScrollArea] = React2.useState(null);\n const [viewport, setViewport] = React2.useState(null);\n const [content, setContent] = React2.useState(null);\n const [scrollbarX, setScrollbarX] = React2.useState(null);\n const [scrollbarY, setScrollbarY] = React2.useState(null);\n const [cornerWidth, setCornerWidth] = React2.useState(0);\n const [cornerHeight, setCornerHeight] = React2.useState(0);\n const [scrollbarXEnabled, setScrollbarXEnabled] = React2.useState(false);\n const [scrollbarYEnabled, setScrollbarYEnabled] = React2.useState(false);\n const composedRefs = useComposedRefs(forwardedRef, (node) => setScrollArea(node));\n const direction = useDirection(dir);\n return /* @__PURE__ */ jsx(\n ScrollAreaProvider,\n {\n scope: __scopeScrollArea,\n type,\n dir: direction,\n scrollHideDelay,\n scrollArea,\n viewport,\n onViewportChange: setViewport,\n content,\n onContentChange: setContent,\n scrollbarX,\n onScrollbarXChange: setScrollbarX,\n scrollbarXEnabled,\n onScrollbarXEnabledChange: setScrollbarXEnabled,\n scrollbarY,\n onScrollbarYChange: setScrollbarY,\n scrollbarYEnabled,\n onScrollbarYEnabledChange: setScrollbarYEnabled,\n onCornerWidthChange: setCornerWidth,\n onCornerHeightChange: setCornerHeight,\n children: /* @__PURE__ */ jsx(\n Primitive.div,\n {\n dir: direction,\n ...scrollAreaProps,\n ref: composedRefs,\n style: {\n position: \"relative\",\n // Pass corner sizes as CSS vars to reduce re-renders of context consumers\n [\"--radix-scroll-area-corner-width\"]: cornerWidth + \"px\",\n [\"--radix-scroll-area-corner-height\"]: cornerHeight + \"px\",\n ...props.style\n }\n }\n )\n }\n );\n }\n);\nScrollArea.displayName = SCROLL_AREA_NAME;\nvar VIEWPORT_NAME = \"ScrollAreaViewport\";\nvar ScrollAreaViewport = React2.forwardRef(\n (props, forwardedRef) => {\n const { __scopeScrollArea, children, nonce, ...viewportProps } = props;\n const context = useScrollAreaContext(VIEWPORT_NAME, __scopeScrollArea);\n const ref = React2.useRef(null);\n const composedRefs = useComposedRefs(forwardedRef, ref, context.onViewportChange);\n return /* @__PURE__ */ jsxs(Fragment, { children: [\n /* @__PURE__ */ jsx(\n \"style\",\n {\n dangerouslySetInnerHTML: {\n __html: `[data-radix-scroll-area-viewport]{scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;}[data-radix-scroll-area-viewport]::-webkit-scrollbar{display:none}`\n },\n nonce\n }\n ),\n /* @__PURE__ */ jsx(\n Primitive.div,\n {\n \"data-radix-scroll-area-viewport\": \"\",\n ...viewportProps,\n ref: composedRefs,\n style: {\n /**\n * We don't support `visible` because the intention is to have at least one scrollbar\n * if this component is used and `visible` will behave like `auto` in that case\n * https://developer.mozilla.org/en-US/docs/Web/CSS/overflow#description\n *\n * We don't handle `auto` because the intention is for the native implementation\n * to be hidden if using this component. We just want to ensure the node is scrollable\n * so could have used either `scroll` or `auto` here. We picked `scroll` to prevent\n * the browser from having to work out whether to render native scrollbars or not,\n * we tell it to with the intention of hiding them in CSS.\n */\n overflowX: context.scrollbarXEnabled ? \"scroll\" : \"hidden\",\n overflowY: context.scrollbarYEnabled ? \"scroll\" : \"hidden\",\n ...props.style\n },\n children: /* @__PURE__ */ jsx(\"div\", { ref: context.onContentChange, style: { minWidth: \"100%\", display: \"table\" }, children })\n }\n )\n ] });\n }\n);\nScrollAreaViewport.displayName = VIEWPORT_NAME;\nvar SCROLLBAR_NAME = \"ScrollAreaScrollbar\";\nvar ScrollAreaScrollbar = React2.forwardRef(\n (props, forwardedRef) => {\n const { forceMount, ...scrollbarProps } = props;\n const context = useScrollAreaContext(SCROLLBAR_NAME, props.__scopeScrollArea);\n const { onScrollbarXEnabledChange, onScrollbarYEnabledChange } = context;\n const isHorizontal = props.orientation === \"horizontal\";\n React2.useEffect(() => {\n isHorizontal ? onScrollbarXEnabledChange(true) : onScrollbarYEnabledChange(true);\n return () => {\n isHorizontal ? onScrollbarXEnabledChange(false) : onScrollbarYEnabledChange(false);\n };\n }, [isHorizontal, onScrollbarXEnabledChange, onScrollbarYEnabledChange]);\n return context.type === \"hover\" ? /* @__PURE__ */ jsx(ScrollAreaScrollbarHover, { ...scrollbarProps, ref: forwardedRef, forceMount }) : context.type === \"scroll\" ? /* @__PURE__ */ jsx(ScrollAreaScrollbarScroll, { ...scrollbarProps, ref: forwardedRef, forceMount }) : context.type === \"auto\" ? /* @__PURE__ */ jsx(ScrollAreaScrollbarAuto, { ...scrollbarProps, ref: forwardedRef, forceMount }) : context.type === \"always\" ? /* @__PURE__ */ jsx(ScrollAreaScrollbarVisible, { ...scrollbarProps, ref: forwardedRef }) : null;\n }\n);\nScrollAreaScrollbar.displayName = SCROLLBAR_NAME;\nvar ScrollAreaScrollbarHover = React2.forwardRef((props, forwardedRef) => {\n const { forceMount, ...scrollbarProps } = props;\n const context = useScrollAreaContext(SCROLLBAR_NAME, props.__scopeScrollArea);\n const [visible, setVisible] = React2.useState(false);\n React2.useEffect(() => {\n const scrollArea = context.scrollArea;\n let hideTimer = 0;\n if (scrollArea) {\n const handlePointerEnter = () => {\n window.clearTimeout(hideTimer);\n setVisible(true);\n };\n const handlePointerLeave = () => {\n hideTimer = window.setTimeout(() => setVisible(false), context.scrollHideDelay);\n };\n scrollArea.addEventListener(\"pointerenter\", handlePointerEnter);\n scrollArea.addEventListener(\"pointerleave\", handlePointerLeave);\n return () => {\n window.clearTimeout(hideTimer);\n scrollArea.removeEventListener(\"pointerenter\", handlePointerEnter);\n scrollArea.removeEventListener(\"pointerleave\", handlePointerLeave);\n };\n }\n }, [context.scrollArea, context.scrollHideDelay]);\n return /* @__PURE__ */ jsx(Presence, { present: forceMount || visible, children: /* @__PURE__ */ jsx(\n ScrollAreaScrollbarAuto,\n {\n \"data-state\": visible ? \"visible\" : \"hidden\",\n ...scrollbarProps,\n ref: forwardedRef\n }\n ) });\n});\nvar ScrollAreaScrollbarScroll = React2.forwardRef((props, forwardedRef) => {\n const { forceMount, ...scrollbarProps } = props;\n const context = useScrollAreaContext(SCROLLBAR_NAME, props.__scopeScrollArea);\n const isHorizontal = props.orientation === \"horizontal\";\n const debounceScrollEnd = useDebounceCallback(() => send(\"SCROLL_END\"), 100);\n const [state, send] = useStateMachine(\"hidden\", {\n hidden: {\n SCROLL: \"scrolling\"\n },\n scrolling: {\n SCROLL_END: \"idle\",\n POINTER_ENTER: \"interacting\"\n },\n interacting: {\n SCROLL: \"interacting\",\n POINTER_LEAVE: \"idle\"\n },\n idle: {\n HIDE: \"hidden\",\n SCROLL: \"scrolling\",\n POINTER_ENTER: \"interacting\"\n }\n });\n React2.useEffect(() => {\n if (state === \"idle\") {\n const hideTimer = window.setTimeout(() => send(\"HIDE\"), context.scrollHideDelay);\n return () => window.clearTimeout(hideTimer);\n }\n }, [state, context.scrollHideDelay, send]);\n React2.useEffect(() => {\n const viewport = context.viewport;\n const scrollDirection = isHorizontal ? \"scrollLeft\" : \"scrollTop\";\n if (viewport) {\n let prevScrollPos = viewport[scrollDirection];\n const handleScroll = () => {\n const scrollPos = viewport[scrollDirection];\n const hasScrollInDirectionChanged = prevScrollPos !== scrollPos;\n if (hasScrollInDirectionChanged) {\n send(\"SCROLL\");\n debounceScrollEnd();\n }\n prevScrollPos = scrollPos;\n };\n viewport.addEventListener(\"scroll\", handleScroll);\n return () => viewport.removeEventListener(\"scroll\", handleScroll);\n }\n }, [context.viewport, isHorizontal, send, debounceScrollEnd]);\n return /* @__PURE__ */ jsx(Presence, { present: forceMount || state !== \"hidden\", children: /* @__PURE__ */ jsx(\n ScrollAreaScrollbarVisible,\n {\n \"data-state\": state === \"hidden\" ? \"hidden\" : \"visible\",\n ...scrollbarProps,\n ref: forwardedRef,\n onPointerEnter: composeEventHandlers(props.onPointerEnter, () => send(\"POINTER_ENTER\")),\n onPointerLeave: composeEventHandlers(props.onPointerLeave, () => send(\"POINTER_LEAVE\"))\n }\n ) });\n});\nvar ScrollAreaScrollbarAuto = React2.forwardRef((props, forwardedRef) => {\n const context = useScrollAreaContext(SCROLLBAR_NAME, props.__scopeScrollArea);\n const { forceMount, ...scrollbarProps } = props;\n const [visible, setVisible] = React2.useState(false);\n const isHorizontal = props.orientation === \"horizontal\";\n const handleResize = useDebounceCallback(() => {\n if (context.viewport) {\n const isOverflowX = context.viewport.offsetWidth < context.viewport.scrollWidth;\n const isOverflowY = context.viewport.offsetHeight < context.viewport.scrollHeight;\n setVisible(isHorizontal ? isOverflowX : isOverflowY);\n }\n }, 10);\n useResizeObserver(context.viewport, handleResize);\n useResizeObserver(context.content, handleResize);\n return /* @__PURE__ */ jsx(Presence, { present: forceMount || visible, children: /* @__PURE__ */ jsx(\n ScrollAreaScrollbarVisible,\n {\n \"data-state\": visible ? \"visible\" : \"hidden\",\n ...scrollbarProps,\n ref: forwardedRef\n }\n ) });\n});\nvar ScrollAreaScrollbarVisible = React2.forwardRef((props, forwardedRef) => {\n const { orientation = \"vertical\", ...scrollbarProps } = props;\n const context = useScrollAreaContext(SCROLLBAR_NAME, props.__scopeScrollArea);\n const thumbRef = React2.useRef(null);\n const pointerOffsetRef = React2.useRef(0);\n const [sizes, setSizes] = React2.useState({\n content: 0,\n viewport: 0,\n scrollbar: { size: 0, paddingStart: 0, paddingEnd: 0 }\n });\n const thumbRatio = getThumbRatio(sizes.viewport, sizes.content);\n const commonProps = {\n ...scrollbarProps,\n sizes,\n onSizesChange: setSizes,\n hasThumb: Boolean(thumbRatio > 0 && thumbRatio < 1),\n onThumbChange: (thumb) => thumbRef.current = thumb,\n onThumbPointerUp: () => pointerOffsetRef.current = 0,\n onThumbPointerDown: (pointerPos) => pointerOffsetRef.current = pointerPos\n };\n function getScrollPosition(pointerPos, dir) {\n return getScrollPositionFromPointer(pointerPos, pointerOffsetRef.current, sizes, dir);\n }\n if (orientation === \"horizontal\") {\n return /* @__PURE__ */ jsx(\n ScrollAreaScrollbarX,\n {\n ...commonProps,\n ref: forwardedRef,\n onThumbPositionChange: () => {\n if (context.viewport && thumbRef.current) {\n const scrollPos = context.viewport.scrollLeft;\n const offset = getThumbOffsetFromScroll(scrollPos, sizes, context.dir);\n thumbRef.current.style.transform = `translate3d(${offset}px, 0, 0)`;\n }\n },\n onWheelScroll: (scrollPos) => {\n if (context.viewport) context.viewport.scrollLeft = scrollPos;\n },\n onDragScroll: (pointerPos) => {\n if (context.viewport) {\n context.viewport.scrollLeft = getScrollPosition(pointerPos, context.dir);\n }\n }\n }\n );\n }\n if (orientation === \"vertical\") {\n return /* @__PURE__ */ jsx(\n ScrollAreaScrollbarY,\n {\n ...commonProps,\n ref: forwardedRef,\n onThumbPositionChange: () => {\n if (context.viewport && thumbRef.current) {\n const scrollPos = context.viewport.scrollTop;\n const offset = getThumbOffsetFromScroll(scrollPos, sizes);\n thumbRef.current.style.transform = `translate3d(0, ${offset}px, 0)`;\n }\n },\n onWheelScroll: (scrollPos) => {\n if (context.viewport) context.viewport.scrollTop = scrollPos;\n },\n onDragScroll: (pointerPos) => {\n if (context.viewport) context.viewport.scrollTop = getScrollPosition(pointerPos);\n }\n }\n );\n }\n return null;\n});\nvar ScrollAreaScrollbarX = React2.forwardRef((props, forwardedRef) => {\n const { sizes, onSizesChange, ...scrollbarProps } = props;\n const context = useScrollAreaContext(SCROLLBAR_NAME, props.__scopeScrollArea);\n const [computedStyle, setComputedStyle] = React2.useState();\n const ref = React2.useRef(null);\n const composeRefs = useComposedRefs(forwardedRef, ref, context.onScrollbarXChange);\n React2.useEffect(() => {\n if (ref.current) setComputedStyle(getComputedStyle(ref.current));\n }, [ref]);\n return /* @__PURE__ */ jsx(\n ScrollAreaScrollbarImpl,\n {\n \"data-orientation\": \"horizontal\",\n ...scrollbarProps,\n ref: composeRefs,\n sizes,\n style: {\n bottom: 0,\n left: context.dir === \"rtl\" ? \"var(--radix-scroll-area-corner-width)\" : 0,\n right: context.dir === \"ltr\" ? \"var(--radix-scroll-area-corner-width)\" : 0,\n [\"--radix-scroll-area-thumb-width\"]: getThumbSize(sizes) + \"px\",\n ...props.style\n },\n onThumbPointerDown: (pointerPos) => props.onThumbPointerDown(pointerPos.x),\n onDragScroll: (pointerPos) => props.onDragScroll(pointerPos.x),\n onWheelScroll: (event, maxScrollPos) => {\n if (context.viewport) {\n const scrollPos = context.viewport.scrollLeft + event.deltaX;\n props.onWheelScroll(scrollPos);\n if (isScrollingWithinScrollbarBounds(scrollPos, maxScrollPos)) {\n event.preventDefault();\n }\n }\n },\n onResize: () => {\n if (ref.current && context.viewport && computedStyle) {\n onSizesChange({\n content: context.viewport.scrollWidth,\n viewport: context.viewport.offsetWidth,\n scrollbar: {\n size: ref.current.clientWidth,\n paddingStart: toInt(computedStyle.paddingLeft),\n paddingEnd: toInt(computedStyle.paddingRight)\n }\n });\n }\n }\n }\n );\n});\nvar ScrollAreaScrollbarY = React2.forwardRef((props, forwardedRef) => {\n const { sizes, onSizesChange, ...scrollbarProps } = props;\n const context = useScrollAreaContext(SCROLLBAR_NAME, props.__scopeScrollArea);\n const [computedStyle, setComputedStyle] = React2.useState();\n const ref = React2.useRef(null);\n const composeRefs = useComposedRefs(forwardedRef, ref, context.onScrollbarYChange);\n React2.useEffect(() => {\n if (ref.current) setComputedStyle(getComputedStyle(ref.current));\n }, [ref]);\n return /* @__PURE__ */ jsx(\n ScrollAreaScrollbarImpl,\n {\n \"data-orientation\": \"vertical\",\n ...scrollbarProps,\n ref: composeRefs,\n sizes,\n style: {\n top: 0,\n right: context.dir === \"ltr\" ? 0 : void 0,\n left: context.dir === \"rtl\" ? 0 : void 0,\n bottom: \"var(--radix-scroll-area-corner-height)\",\n [\"--radix-scroll-area-thumb-height\"]: getThumbSize(sizes) + \"px\",\n ...props.style\n },\n onThumbPointerDown: (pointerPos) => props.onThumbPointerDown(pointerPos.y),\n onDragScroll: (pointerPos) => props.onDragScroll(pointerPos.y),\n onWheelScroll: (event, maxScrollPos) => {\n if (context.viewport) {\n const scrollPos = context.viewport.scrollTop + event.deltaY;\n props.onWheelScroll(scrollPos);\n if (isScrollingWithinScrollbarBounds(scrollPos, maxScrollPos)) {\n event.preventDefault();\n }\n }\n },\n onResize: () => {\n if (ref.current && context.viewport && computedStyle) {\n onSizesChange({\n content: context.viewport.scrollHeight,\n viewport: context.viewport.offsetHeight,\n scrollbar: {\n size: ref.current.clientHeight,\n paddingStart: toInt(computedStyle.paddingTop),\n paddingEnd: toInt(computedStyle.paddingBottom)\n }\n });\n }\n }\n }\n );\n});\nvar [ScrollbarProvider, useScrollbarContext] = createScrollAreaContext(SCROLLBAR_NAME);\nvar ScrollAreaScrollbarImpl = React2.forwardRef((props, forwardedRef) => {\n const {\n __scopeScrollArea,\n sizes,\n hasThumb,\n onThumbChange,\n onThumbPointerUp,\n onThumbPointerDown,\n onThumbPositionChange,\n onDragScroll,\n onWheelScroll,\n onResize,\n ...scrollbarProps\n } = props;\n const context = useScrollAreaContext(SCROLLBAR_NAME, __scopeScrollArea);\n const [scrollbar, setScrollbar] = React2.useState(null);\n const composeRefs = useComposedRefs(forwardedRef, (node) => setScrollbar(node));\n const rectRef = React2.useRef(null);\n const prevWebkitUserSelectRef = React2.useRef(\"\");\n const viewport = context.viewport;\n const maxScrollPos = sizes.content - sizes.viewport;\n const handleWheelScroll = useCallbackRef(onWheelScroll);\n const handleThumbPositionChange = useCallbackRef(onThumbPositionChange);\n const handleResize = useDebounceCallback(onResize, 10);\n function handleDragScroll(event) {\n if (rectRef.current) {\n const x = event.clientX - rectRef.current.left;\n const y = event.clientY - rectRef.current.top;\n onDragScroll({ x, y });\n }\n }\n React2.useEffect(() => {\n const handleWheel = (event) => {\n const element = event.target;\n const isScrollbarWheel = scrollbar?.contains(element);\n if (isScrollbarWheel) handleWheelScroll(event, maxScrollPos);\n };\n document.addEventListener(\"wheel\", handleWheel, { passive: false });\n return () => document.removeEventListener(\"wheel\", handleWheel, { passive: false });\n }, [viewport, scrollbar, maxScrollPos, handleWheelScroll]);\n React2.useEffect(handleThumbPositionChange, [sizes, handleThumbPositionChange]);\n useResizeObserver(scrollbar, handleResize);\n useResizeObserver(context.content, handleResize);\n return /* @__PURE__ */ jsx(\n ScrollbarProvider,\n {\n scope: __scopeScrollArea,\n scrollbar,\n hasThumb,\n onThumbChange: useCallbackRef(onThumbChange),\n onThumbPointerUp: useCallbackRef(onThumbPointerUp),\n onThumbPositionChange: handleThumbPositionChange,\n onThumbPointerDown: useCallbackRef(onThumbPointerDown),\n children: /* @__PURE__ */ jsx(\n Primitive.div,\n {\n ...scrollbarProps,\n ref: composeRefs,\n style: { position: \"absolute\", ...scrollbarProps.style },\n onPointerDown: composeEventHandlers(props.onPointerDown, (event) => {\n const mainPointer = 0;\n if (event.button === mainPointer) {\n const element = event.target;\n element.setPointerCapture(event.pointerId);\n rectRef.current = scrollbar.getBoundingClientRect();\n prevWebkitUserSelectRef.current = document.body.style.webkitUserSelect;\n document.body.style.webkitUserSelect = \"none\";\n if (context.viewport) context.viewport.style.scrollBehavior = \"auto\";\n handleDragScroll(event);\n }\n }),\n onPointerMove: composeEventHandlers(props.onPointerMove, handleDragScroll),\n onPointerUp: composeEventHandlers(props.onPointerUp, (event) => {\n const element = event.target;\n if (element.hasPointerCapture(event.pointerId)) {\n element.releasePointerCapture(event.pointerId);\n }\n document.body.style.webkitUserSelect = prevWebkitUserSelectRef.current;\n if (context.viewport) context.viewport.style.scrollBehavior = \"\";\n rectRef.current = null;\n })\n }\n )\n }\n );\n});\nvar THUMB_NAME = \"ScrollAreaThumb\";\nvar ScrollAreaThumb = React2.forwardRef(\n (props, forwardedRef) => {\n const { forceMount, ...thumbProps } = props;\n const scrollbarContext = useScrollbarContext(THUMB_NAME, props.__scopeScrollArea);\n return /* @__PURE__ */ jsx(Presence, { present: forceMount || scrollbarContext.hasThumb, children: /* @__PURE__ */ jsx(ScrollAreaThumbImpl, { ref: forwardedRef, ...thumbProps }) });\n }\n);\nvar ScrollAreaThumbImpl = React2.forwardRef(\n (props, forwardedRef) => {\n const { __scopeScrollArea, style, ...thumbProps } = props;\n const scrollAreaContext = useScrollAreaContext(THUMB_NAME, __scopeScrollArea);\n const scrollbarContext = useScrollbarContext(THUMB_NAME, __scopeScrollArea);\n const { onThumbPositionChange } = scrollbarContext;\n const composedRef = useComposedRefs(\n forwardedRef,\n (node) => scrollbarContext.onThumbChange(node)\n );\n const removeUnlinkedScrollListenerRef = React2.useRef(void 0);\n const debounceScrollEnd = useDebounceCallback(() => {\n if (removeUnlinkedScrollListenerRef.current) {\n removeUnlinkedScrollListenerRef.current();\n removeUnlinkedScrollListenerRef.current = void 0;\n }\n }, 100);\n React2.useEffect(() => {\n const viewport = scrollAreaContext.viewport;\n if (viewport) {\n const handleScroll = () => {\n debounceScrollEnd();\n if (!removeUnlinkedScrollListenerRef.current) {\n const listener = addUnlinkedScrollListener(viewport, onThumbPositionChange);\n removeUnlinkedScrollListenerRef.current = listener;\n onThumbPositionChange();\n }\n };\n onThumbPositionChange();\n viewport.addEventListener(\"scroll\", handleScroll);\n return () => viewport.removeEventListener(\"scroll\", handleScroll);\n }\n }, [scrollAreaContext.viewport, debounceScrollEnd, onThumbPositionChange]);\n return /* @__PURE__ */ jsx(\n Primitive.div,\n {\n \"data-state\": scrollbarContext.hasThumb ? \"visible\" : \"hidden\",\n ...thumbProps,\n ref: composedRef,\n style: {\n width: \"var(--radix-scroll-area-thumb-width)\",\n height: \"var(--radix-scroll-area-thumb-height)\",\n ...style\n },\n onPointerDownCapture: composeEventHandlers(props.onPointerDownCapture, (event) => {\n const thumb = event.target;\n const thumbRect = thumb.getBoundingClientRect();\n const x = event.clientX - thumbRect.left;\n const y = event.clientY - thumbRect.top;\n scrollbarContext.onThumbPointerDown({ x, y });\n }),\n onPointerUp: composeEventHandlers(props.onPointerUp, scrollbarContext.onThumbPointerUp)\n }\n );\n }\n);\nScrollAreaThumb.displayName = THUMB_NAME;\nvar CORNER_NAME = \"ScrollAreaCorner\";\nvar ScrollAreaCorner = React2.forwardRef(\n (props, forwardedRef) => {\n const context = useScrollAreaContext(CORNER_NAME, props.__scopeScrollArea);\n const hasBothScrollbarsVisible = Boolean(context.scrollbarX && context.scrollbarY);\n const hasCorner = context.type !== \"scroll\" && hasBothScrollbarsVisible;\n return hasCorner ? /* @__PURE__ */ jsx(ScrollAreaCornerImpl, { ...props, ref: forwardedRef }) : null;\n }\n);\nScrollAreaCorner.displayName = CORNER_NAME;\nvar ScrollAreaCornerImpl = React2.forwardRef((props, forwardedRef) => {\n const { __scopeScrollArea, ...cornerProps } = props;\n const context = useScrollAreaContext(CORNER_NAME, __scopeScrollArea);\n const [width, setWidth] = React2.useState(0);\n const [height, setHeight] = React2.useState(0);\n const hasSize = Boolean(width && height);\n useResizeObserver(context.scrollbarX, () => {\n const height2 = context.scrollbarX?.offsetHeight || 0;\n context.onCornerHeightChange(height2);\n setHeight(height2);\n });\n useResizeObserver(context.scrollbarY, () => {\n const width2 = context.scrollbarY?.offsetWidth || 0;\n context.onCornerWidthChange(width2);\n setWidth(width2);\n });\n return hasSize ? /* @__PURE__ */ jsx(\n Primitive.div,\n {\n ...cornerProps,\n ref: forwardedRef,\n style: {\n width,\n height,\n position: \"absolute\",\n right: context.dir === \"ltr\" ? 0 : void 0,\n left: context.dir === \"rtl\" ? 0 : void 0,\n bottom: 0,\n ...props.style\n }\n }\n ) : null;\n});\nfunction toInt(value) {\n return value ? parseInt(value, 10) : 0;\n}\nfunction getThumbRatio(viewportSize, contentSize) {\n const ratio = viewportSize / contentSize;\n return isNaN(ratio) ? 0 : ratio;\n}\nfunction getThumbSize(sizes) {\n const ratio = getThumbRatio(sizes.viewport, sizes.content);\n const scrollbarPadding = sizes.scrollbar.paddingStart + sizes.scrollbar.paddingEnd;\n const thumbSize = (sizes.scrollbar.size - scrollbarPadding) * ratio;\n return Math.max(thumbSize, 18);\n}\nfunction getScrollPositionFromPointer(pointerPos, pointerOffset, sizes, dir = \"ltr\") {\n const thumbSizePx = getThumbSize(sizes);\n const thumbCenter = thumbSizePx / 2;\n const offset = pointerOffset || thumbCenter;\n const thumbOffsetFromEnd = thumbSizePx - offset;\n const minPointerPos = sizes.scrollbar.paddingStart + offset;\n const maxPointerPos = sizes.scrollbar.size - sizes.scrollbar.paddingEnd - thumbOffsetFromEnd;\n const maxScrollPos = sizes.content - sizes.viewport;\n const scrollRange = dir === \"ltr\" ? [0, maxScrollPos] : [maxScrollPos * -1, 0];\n const interpolate = linearScale([minPointerPos, maxPointerPos], scrollRange);\n return interpolate(pointerPos);\n}\nfunction getThumbOffsetFromScroll(scrollPos, sizes, dir = \"ltr\") {\n const thumbSizePx = getThumbSize(sizes);\n const scrollbarPadding = sizes.scrollbar.paddingStart + sizes.scrollbar.paddingEnd;\n const scrollbar = sizes.scrollbar.size - scrollbarPadding;\n const maxScrollPos = sizes.content - sizes.viewport;\n const maxThumbPos = scrollbar - thumbSizePx;\n const scrollClampRange = dir === \"ltr\" ? [0, maxScrollPos] : [maxScrollPos * -1, 0];\n const scrollWithoutMomentum = clamp(scrollPos, scrollClampRange);\n const interpolate = linearScale([0, maxScrollPos], [0, maxThumbPos]);\n return interpolate(scrollWithoutMomentum);\n}\nfunction linearScale(input, output) {\n return (value) => {\n if (input[0] === input[1] || output[0] === output[1]) return output[0];\n const ratio = (output[1] - output[0]) / (input[1] - input[0]);\n return output[0] + ratio * (value - input[0]);\n };\n}\nfunction isScrollingWithinScrollbarBounds(scrollPos, maxScrollPos) {\n return scrollPos > 0 && scrollPos < maxScrollPos;\n}\nvar addUnlinkedScrollListener = (node, handler = () => {\n}) => {\n let prevPosition = { left: node.scrollLeft, top: node.scrollTop };\n let rAF = 0;\n (function loop() {\n const position = { left: node.scrollLeft, top: node.scrollTop };\n const isHorizontalScroll = prevPosition.left !== position.left;\n const isVerticalScroll = prevPosition.top !== position.top;\n if (isHorizontalScroll || isVerticalScroll) handler();\n prevPosition = position;\n rAF = window.requestAnimationFrame(loop);\n })();\n return () => window.cancelAnimationFrame(rAF);\n};\nfunction useDebounceCallback(callback, delay) {\n const handleCallback = useCallbackRef(callback);\n const debounceTimerRef = React2.useRef(0);\n React2.useEffect(() => () => window.clearTimeout(debounceTimerRef.current), []);\n return React2.useCallback(() => {\n window.clearTimeout(debounceTimerRef.current);\n debounceTimerRef.current = window.setTimeout(handleCallback, delay);\n }, [handleCallback, delay]);\n}\nfunction useResizeObserver(element, onResize) {\n const handleResize = useCallbackRef(onResize);\n useLayoutEffect(() => {\n let rAF = 0;\n if (element) {\n const resizeObserver = new ResizeObserver(() => {\n cancelAnimationFrame(rAF);\n rAF = window.requestAnimationFrame(handleResize);\n });\n resizeObserver.observe(element);\n return () => {\n window.cancelAnimationFrame(rAF);\n resizeObserver.unobserve(element);\n };\n }\n }, [element, handleResize]);\n}\nvar Root = ScrollArea;\nvar Viewport = ScrollAreaViewport;\nvar Scrollbar = ScrollAreaScrollbar;\nvar Thumb = ScrollAreaThumb;\nvar Corner = ScrollAreaCorner;\nexport {\n Corner,\n Root,\n ScrollArea,\n ScrollAreaCorner,\n ScrollAreaScrollbar,\n ScrollAreaThumb,\n ScrollAreaViewport,\n Scrollbar,\n Thumb,\n Viewport,\n createScrollAreaScope\n};\n//# sourceMappingURL=index.mjs.map\n","import * as React from \"react\";\r\nimport * as ScrollAreaPrimitive from \"@radix-ui/react-scroll-area\";\r\nimport { tv } from \"tailwind-variants\";\r\nimport { VariantsConfig } from \"@/lib/utils/variants\";\r\n\r\nconst scrollAreaStyles = tv({\r\n\tslots: {\r\n\t\troot: \"relative overflow-hidden\",\r\n\t\tviewport: \"h-full w-full rounded-[inherit]\"\r\n\t}\r\n});\r\n\r\ntype ScrollAreaProps = React.ComponentPropsWithoutRef<typeof ScrollAreaPrimitive.Root> & {\r\n\tthumbClassName?: string;\r\n\tscrollbarClassName?: string;\r\n\torientation?: \"vertical\" | \"horizontal\" | \"both\";\r\n};\r\n\r\nconst ScrollArea = React.forwardRef<React.ElementRef<typeof ScrollAreaPrimitive.Root>, ScrollAreaProps>(\r\n\t({ className, children, thumbClassName, scrollbarClassName, orientation = \"both\", ...props }, ref) => {\r\n\t\tconst styles = scrollAreaStyles();\r\n\r\n\t\treturn (\r\n\t\t\t<ScrollAreaPrimitive.Root ref={ref} className={styles.root({ className })} {...props}>\r\n\t\t\t\t<ScrollAreaPrimitive.Viewport className={styles.viewport()}>{children}</ScrollAreaPrimitive.Viewport>\r\n\t\t\t\t{(orientation === \"vertical\" || orientation === \"both\") && (\r\n\t\t\t\t\t<ScrollBar orientation=\"vertical\" thumbClassName={thumbClassName} className={scrollbarClassName} />\r\n\t\t\t\t)}\r\n\t\t\t\t{(orientation === \"horizontal\" || orientation === \"both\") && (\r\n\t\t\t\t\t<ScrollBar\r\n\t\t\t\t\t\torientation=\"horizontal\"\r\n\t\t\t\t\t\tthumbClassName={thumbClassName}\r\n\t\t\t\t\t\tclassName={scrollbarClassName}\r\n\t\t\t\t\t/>\r\n\t\t\t\t)}\r\n\t\t\t\t<ScrollAreaPrimitive.Corner />\r\n\t\t\t</ScrollAreaPrimitive.Root>\r\n\t\t);\r\n\t}\r\n);\r\nScrollArea.displayName = ScrollAreaPrimitive.Root.displayName;\r\n\r\nexport interface ScrollAreaVariants {\r\n\torientation?: \"vertical\" | \"horizontal\";\r\n}\r\n\r\nconst scrollBarStyles = tv({\r\n\tslots: {\r\n\t\twrapper: \"flex touch-none select-none transition-colors\",\r\n\t\tthumb: \"relative flex-1 rounded-full bg-secondary-border\"\r\n\t},\r\n\tvariants: {\r\n\t\torientation: {\r\n\t\t\tvertical: { wrapper: \"h-full w-2.5 border-l border-l-transparent p-0.5\" },\r\n\t\t\thorizontal: { wrapper: \"h-2.5 flex-col border-t border-t-transparent p-0.5\" }\r\n\t\t}\r\n\t} satisfies VariantsConfig<ScrollAreaVariants>\r\n});\r\n\r\ntype ScrollBarProps = React.ComponentPropsWithoutRef<typeof ScrollAreaPrimitive.ScrollAreaScrollbar> &\r\n\tScrollAreaVariants & {\r\n\t\tthumbClassName?: string;\r\n\t};\r\n\r\nconst ScrollBar = React.forwardRef<React.ElementRef<typeof ScrollAreaPrimitive.ScrollAreaScrollbar>, ScrollBarProps>(\r\n\t({ className, orientation = \"vertical\", thumbClassName, ...props }, ref) => {\r\n\t\tconst styles = scrollBarStyles();\r\n\r\n\t\treturn (\r\n\t\t\t<ScrollAreaPrimitive.ScrollAreaScrollbar\r\n\t\t\t\tref={ref}\r\n\t\t\t\torientation={orientation}\r\n\t\t\t\tclassName={styles.wrapper({ className, orientation })}\r\n\t\t\t\t{...props}\r\n\t\t\t>\r\n\t\t\t\t<ScrollAreaPrimitive.ScrollAreaThumb className={styles.thumb({ className: thumbClassName })} />\r\n\t\t\t</ScrollAreaPrimitive.ScrollAreaScrollbar>\r\n\t\t);\r\n\t}\r\n);\r\nScrollBar.displayName = ScrollAreaPrimitive.ScrollAreaScrollbar.displayName;\r\n\r\nexport { ScrollArea, ScrollBar };\r\n","import React, { createContext, useContext, ReactNode } from \"react\";\r\n\r\ninterface ToolbarContextValue {\r\n\tfocus: \"high\" | \"low\";\r\n}\r\n\r\nconst ToolbarContext = createContext<ToolbarContextValue | undefined>(undefined);\r\n\r\nexport interface ToolbarProviderProps {\r\n\tchildren: ReactNode;\r\n\tfocus?: \"high\" | \"low\";\r\n}\r\n\r\nexport const ToolbarProvider: React.FC<ToolbarProviderProps> = ({ children, focus = \"high\" }) => {\r\n\treturn <ToolbarContext.Provider value={{ focus }}>{children}</ToolbarContext.Provider>;\r\n};\r\n\r\nexport const useToolbarContext = (): ToolbarContextValue => {\r\n\tconst context = useContext(ToolbarContext);\r\n\r\n\tif (context === undefined) {\r\n\t\tthrow new Error(\"useToolbarContext должен использоваться внутри ToolbarProvider\");\r\n\t}\r\n\r\n\treturn context;\r\n};\r\n","import * as ToolbarPrimitive from \"@radix-ui/react-toolbar\";\r\nimport React, { PropsWithChildren } from \"react\";\r\nimport { tv } from \"tailwind-variants\";\r\nimport { Divider } from \"../divider/Divider\";\r\nimport { Icon } from \"../icon\";\r\nimport { ChevronDown, LucideIcon } from \"lucide-react\";\r\nimport { ScrollArea } from \"../scroll-area/ScrollArea\";\r\nimport { ToolbarProvider, ToolbarProviderProps, useToolbarContext } from \"./ToolbarContext\";\r\n\r\nconst toolbarStyles = tv({\r\n\tslots: {\r\n\t\twrapper: \"flex items-center gap-1 rounded-lg p-1.5 lg:p-1\",\r\n\t\tscrollbar: \"h-1.5 border-t-0 px-1.5\",\r\n\t\tthumb: \"\",\r\n\t\tscrollarea: \"lg:rounded-lg\"\r\n\t},\r\n\tvariants: {\r\n\t\tfocus: {\r\n\t\t\tlow: {\r\n\t\t\t\twrapper: \"border border-secondary-border bg-secondary-bg\",\r\n\t\t\t\tscrollarea: \"lg:shadow-soft-sm\",\r\n\t\t\t\tthumb: \"bg-primary-border\"\r\n\t\t\t},\r\n\t\t\thigh: {\r\n\t\t\t\twrapper: \"bg-inverse-secondary-bg\",\r\n\t\t\t\tscrollarea: \"lg:shadow-hard-base\",\r\n\t\t\t\tthumb: \"bg-inverse-active\"\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n});\r\n\r\nexport type ToolbarProps = React.ComponentPropsWithoutRef<typeof ToolbarPrimitive.Root> &\r\n\tPick<ToolbarProviderProps, \"focus\">;\r\n\r\nexport const Toolbar = React.forwardRef<React.ElementRef<typeof ToolbarPrimitive.Root>, ToolbarProps>(\r\n\t({ className, focus = \"high\", ...props }, ref) => {\r\n\t\tconst styles = toolbarStyles();\r\n\r\n\t\treturn (\r\n\t\t\t<ToolbarProvider focus={focus}>\r\n\t\t\t\t<ScrollArea\r\n\t\t\t\t\ttype=\"always\"\r\n\t\t\t\t\tthumbClassName={styles.thumb({ focus })}\r\n\t\t\t\t\tscrollbarClassName={styles.scrollbar()}\r\n\t\t\t\t\tclassName={styles.scrollarea({ focus })}\r\n\t\t\t\t\torientation=\"horizontal\"\r\n\t\t\t\t>\r\n\t\t\t\t\t<ToolbarPrimitive.Root ref={ref} className={styles.wrapper({ className, focus })} {...props} />\r\n\t\t\t\t</ScrollArea>\r\n\t\t\t</ToolbarProvider>\r\n\t\t);\r\n\t}\r\n);\r\n\r\nToolbar.displayName = \"Toolbar\";\r\n\r\nconst toolbarButtonStyles = tv({\r\n\tbase: \"inline-flex items-center justify-center gap-1.5 rounded-sm p-1.5\",\r\n\tvariants: {\r\n\t\tfocus: {\r\n\t\t\tlow: \"hover:bg-secondary-bg-hover\",\r\n\t\t\thigh: \"hover:bg-inverse-hover\"\r\n\t\t}\r\n\t}\r\n});\r\n\r\nexport type ToolbarButtonProps = React.ComponentPropsWithoutRef<typeof ToolbarPrimitive.ToolbarButton>;\r\n\r\nexport const ToolbarButton = React.forwardRef<\r\n\tReact.ElementRef<typeof ToolbarPrimitive.ToolbarButton>,\r\n\tToolbarButtonProps\r\n>(({ className, ...props }, ref) => {\r\n\tconst { focus } = useToolbarContext();\r\n\tconst styles = toolbarButtonStyles({ className, focus });\r\n\treturn <ToolbarPrimitive.ToolbarButton ref={ref} className={styles} {...props} />;\r\n});\r\n\r\nToolbarButton.displayName = \"ToolbarButton\";\r\n\r\nconst toolbarIconStyles = tv({\r\n\tbase: \"h-4 w-4\",\r\n\tvariants: {\r\n\t\tfocus: {\r\n\t\t\tlow: \"text-primary-fg\",\r\n\t\t\thigh: \"stroke-[1.5px] text-inverse-primary-fg\"\r\n\t\t}\r\n\t}\r\n});\r\n\r\nexport type ToolbarIconProps = React.ComponentPropsWithoutRef<typeof Icon>;\r\n\r\nexport const ToolbarIcon = React.forwardRef<React.ElementRef<typeof Icon>, ToolbarIconProps>(\r\n\t({ className, ...props }, ref) => {\r\n\t\tconst { focus } = useToolbarContext();\r\n\t\treturn <Icon ref={ref} className={toolbarIconStyles({ className, focus })} {...props} />;\r\n\t}\r\n);\r\n\r\nToolbarIcon.displayName = \"ToolbarIcon\";\r\n\r\nconst toolbarTextStyles = tv({\r\n\tbase: \"text-base leading-none\",\r\n\tvariants: {\r\n\t\tfocus: {\r\n\t\t\tlow: \"text-primary-fg\",\r\n\t\t\thigh: \"text-inverse-primary-fg\"\r\n\t\t}\r\n\t}\r\n});\r\n\r\nexport type ToolbarTextProps = React.HTMLAttributes<HTMLDivElement>;\r\n\r\nexport const ToolbarText = React.forwardRef<HTMLDivElement, PropsWithChildren<ToolbarTextProps>>(\r\n\t({ className, ...props }, ref) => {\r\n\t\tconst { focus } = useToolbarContext();\r\n\t\treturn <div ref={ref} className={toolbarTextStyles({ className, focus })} {...props} />;\r\n\t}\r\n);\r\n\r\nToolbarText.displayName = \"ToolbarText\";\r\n\r\nconst toolbarSubTriggerStyles = tv({\r\n\tbase: \"\",\r\n\tslots: {\r\n\t\ticon: \"h-2 w-2 stroke-[3px]\"\r\n\t},\r\n\tvariants: {\r\n\t\tfocus: {\r\n\t\t\tlow: \"text-primary-fg\",\r\n\t\t\thigh: \"text-inverse-primary-fg\"\r\n\t\t}\r\n\t}\r\n});\r\n\r\nexport type ToolbarSubTriggerProps = Omit<React.ComponentPropsWithoutRef<typeof Icon>, \"icon\"> & {\r\n\ticon?: LucideIcon;\r\n};\r\n\r\nexport const ToolbarSubTrigger = React.forwardRef<React.ElementRef<typeof Icon>, ToolbarSubTriggerProps>(\r\n\t({ className, icon, ...props }, ref) => {\r\n\t\tconst { focus } = useToolbarContext();\r\n\t\tconst styles = toolbarSubTriggerStyles();\r\n\t\treturn (\r\n\t\t\t<span className={styles.base({ className, focus })}>\r\n\t\t\t\t<Icon icon={icon || ChevronDown} ref={ref} className={styles.icon({ focus })} {...props} />\r\n\t\t\t</span>\r\n\t\t);\r\n\t}\r\n);\r\n\r\nToolbarSubTrigger.displayName = \"ToolbarSubTrigger\";\r\n\r\nconst toolbarToggleGroupStyles = tv({\r\n\tbase: [\"flex items-center gap-1\"]\r\n});\r\n\r\nexport type ToolbarToggleGroupProps = React.ComponentPropsWithoutRef<typeof ToolbarPrimitive.ToggleGroup>;\r\n\r\nexport const ToolbarToggleGroup = React.forwardRef<\r\n\tReact.ElementRef<typeof ToolbarPrimitive.ToggleGroup>,\r\n\tToolbarToggleGroupProps\r\n>(({ className, ...props }, ref) => {\r\n\tconst styles = toolbarToggleGroupStyles({ className });\r\n\treturn <ToolbarPrimitive.ToggleGroup ref={ref} className={styles} {...props} />;\r\n});\r\nToolbarToggleGroup.displayName = ToolbarPrimitive.ToggleGroup.displayName;\r\n\r\nconst toolbarToggleStyles = tv({\r\n\textend: toolbarButtonStyles,\r\n\tbase: \"disabled:pointer-events-none disabled:opacity-50\",\r\n\tvariants: {\r\n\t\tfocus: {\r\n\t\t\tlow: \"data-[state=on]:bg-primary-bg-hover\",\r\n\t\t\thigh: \"data-[state=on]:bg-inverse-active\"\r\n\t\t}\r\n\t}\r\n});\r\n\r\nexport type ToolbarToggleItemProps = React.ComponentPropsWithoutRef<typeof ToolbarPrimitive.ToolbarToggleItem> & {\r\n\tchildren: React.ReactNode;\r\n};\r\n\r\nexport const ToolbarToggleItem = React.forwardRef<\r\n\tReact.ElementRef<typeof ToolbarPrimitive.ToolbarToggleItem>,\r\n\tToolbarToggleItemProps\r\n>(({ className, children, ...props }, ref) => {\r\n\tconst { focus } = useToolbarContext();\r\n\tconst styles = toolbarToggleStyles({ className, focus });\r\n\r\n\treturn (\r\n\t\t<ToolbarPrimitive.ToolbarToggleItem ref={ref} className={styles} {...props}>\r\n\t\t\t{children}\r\n\t\t</ToolbarPrimitive.ToolbarToggleItem>\r\n\t);\r\n});\r\n\r\nToolbarToggleItem.displayName = \"ToolbarToggleItem\";\r\n\r\nconst toolbarDividerStyles = tv({\r\n\tbase: \"h-5 w-px\",\r\n\tvariants: {\r\n\t\tfocus: {\r\n\t\t\tlow: \"bg-secondary-border\",\r\n\t\t\thigh: \"bg-inverse-border\"\r\n\t\t}\r\n\t}\r\n});\r\n\r\nexport type ToolbarSeparatorProps = React.HTMLAttributes<HTMLDivElement>;\r\n\r\nexport const ToolbarSeparator = React.forwardRef<React.ElementRef<typeof Divider>, ToolbarSeparatorProps>(\r\n\t({ className, ...props }, ref) => {\r\n\t\tconst { focus } = useToolbarContext();\r\n\t\tconst styles = toolbarDividerStyles({ className, focus });\r\n\t\treturn (\r\n\t\t\t<ToolbarPrimitive.ToolbarSeparator asChild data-orientation=\"vertical\">\r\n\t\t\t\t<Divider ref={ref} orientation=\"vertical\" className={styles} {...props} />\r\n\t\t\t</ToolbarPrimitive.ToolbarSeparator>\r\n\t\t);\r\n\t}\r\n);\r\n\r\nToolbarSeparator.displayName = \"ToolbarSeparator\";\r\n\r\nconst toolbarTriggerChevronStyles = tv({\r\n\tslots: {\r\n\t\twrapper: \"pr-0.5\",\r\n\t\tsubtrigger: \"py-0.5\"\r\n\t},\r\n\tvariants: {\r\n\t\tsub: {\r\n\t\t\ttrue: { wrapper: \"-ml-0.5 px-0.5 py-2\" }\r\n\t\t}\r\n\t}\r\n});\r\n\r\nexport type ToolbarTriggerChevronProps = ToolbarTriggerProps & {\r\n\tsub?: boolean;\r\n};\r\n\r\nexport const ToolbarTriggerChevron = React.forwardRef<\r\n\tReact.ElementRef<typeof ToolbarPrimitive.ToolbarButton>,\r\n\tToolbarTriggerChevronProps\r\n>(({ className, children, sub, ...props }, ref) => {\r\n\tconst styles = toolbarTriggerChevronStyles();\r\n\r\n\treturn (\r\n\t\t<ToolbarTrigger ref={ref} data-stick-left className={styles.wrapper({ className, sub })} {...props}>\r\n\t\t\t{children}\r\n\t\t\t<ToolbarSubTrigger className={styles.subtrigger()} />\r\n\t\t</ToolbarTrigger>\r\n\t);\r\n});\r\n\r\nToolbarTriggerChevron.displayName = \"ToolbarTriggerChevron \";\r\n\r\nconst toolbarTriggerStyles = tv({\r\n\tbase: \"\",\r\n\tvariants: {\r\n\t\tfocus: {\r\n\t\t\tlow: \"data-[state=open]:bg-primary-bg-hover\",\r\n\t\t\thigh: \"data-[state=open]:bg-inverse-active\"\r\n\t\t}\r\n\t}\r\n});\r\n\r\nexport type ToolbarTriggerProps = ToolbarButtonProps & {\r\n\t\"data-state\"?: \"open\" | \"closed\";\r\n};\r\n\r\nexport const ToolbarTrigger = React.forwardRef<\r\n\tReact.ElementRef<typeof ToolbarPrimitive.ToolbarButton>,\r\n\tToolbarTriggerProps\r\n>(({ className, children, ...props }, ref) => {\r\n\tconst { focus } = useToolbarContext();\r\n\r\n\treturn (\r\n\t\t<ToolbarButton ref={ref} data-stick-left className={toolbarTriggerStyles({ className, focus })} {...props}>\r\n\t\t\t{children}\r\n\t\t</ToolbarButton>\r\n\t);\r\n});\r\n\r\nToolbarTrigger.displayName = \"ToolbarTrigger\";\r\n"],"names":["NAME","DEFAULT_ORIENTATION","ORIENTATIONS","Separator","React","props","forwardedRef","decorative","orientationProp","domProps","orientation","isValidOrientation","semanticProps","jsx","Primitive","Root","TOOLBAR_NAME","createToolbarContext","createToolbarScope","createContextScope","createRovingFocusGroupScope","createToggleGroupScope","useRovingFocusGroupScope","useToggleGroupScope","ToolbarProvider","useToolbarContext","Toolbar","__scopeToolbar","dir","loop","toolbarProps","rovingFocusGroupScope","direction","useDirection","RovingFocusGroup.Root","SEPARATOR_NAME","ToolbarSeparator","separatorProps","context","SeparatorPrimitive.Root","BUTTON_NAME","ToolbarButton","buttonProps","RovingFocusGroup.Item","LINK_NAME","ToolbarLink","linkProps","composeEventHandlers","event","TOGGLE_GROUP_NAME","ToolbarToggleGroup","toggleGroupProps","toggleGroupScope","ToggleGroupPrimitive.Root","TOGGLE_ITEM_NAME","ToolbarToggleItem","toggleItemProps","scope","ToggleGroupPrimitive.Item","Root4","ToggleGroup","useStateMachine","initialState","machine","state","SCROLL_AREA_NAME","createScrollAreaContext","createScrollAreaScope","ScrollAreaProvider","useScrollAreaContext","ScrollArea","React2","__scopeScrollArea","type","scrollHideDelay","scrollAreaProps","scrollArea","setScrollArea","viewport","setViewport","content","setContent","scrollbarX","setScrollbarX","scrollbarY","setScrollbarY","cornerWidth","setCornerWidth","cornerHeight","setCornerHeight","scrollbarXEnabled","setScrollbarXEnabled","scrollbarYEnabled","setScrollbarYEnabled","composedRefs","useComposedRefs","node","VIEWPORT_NAME","ScrollAreaViewport","children","nonce","viewportProps","ref","jsxs","Fragment","SCROLLBAR_NAME","ScrollAreaScrollbar","forceMount","scrollbarProps","onScrollbarXEnabledChange","onScrollbarYEnabledChange","isHorizontal","ScrollAreaScrollbarHover","ScrollAreaScrollbarScroll","ScrollAreaScrollbarAuto","ScrollAreaScrollbarVisible","visible","setVisible","hideTimer","handlePointerEnter","handlePointerLeave","Presence","debounceScrollEnd","useDebounceCallback","send","scrollDirection","prevScrollPos","handleScroll","scrollPos","handleResize","isOverflowX","isOverflowY","useResizeObserver","thumbRef","pointerOffsetRef","sizes","setSizes","thumbRatio","getThumbRatio","commonProps","thumb","pointerPos","getScrollPosition","getScrollPositionFromPointer","ScrollAreaScrollbarX","offset","getThumbOffsetFromScroll","ScrollAreaScrollbarY","onSizesChange","computedStyle","setComputedStyle","composeRefs","ScrollAreaScrollbarImpl","getThumbSize","maxScrollPos","isScrollingWithinScrollbarBounds","toInt","ScrollbarProvider","useScrollbarContext","hasThumb","onThumbChange","onThumbPointerUp","onThumbPointerDown","onThumbPositionChange","onDragScroll","onWheelScroll","onResize","scrollbar","setScrollbar","rectRef","prevWebkitUserSelectRef","handleWheelScroll","useCallbackRef","handleThumbPositionChange","handleDragScroll","x","y","handleWheel","element","THUMB_NAME","ScrollAreaThumb","thumbProps","scrollbarContext","ScrollAreaThumbImpl","style","scrollAreaContext","composedRef","removeUnlinkedScrollListenerRef","listener","addUnlinkedScrollListener","thumbRect","CORNER_NAME","ScrollAreaCorner","hasBothScrollbarsVisible","ScrollAreaCornerImpl","cornerProps","width","setWidth","height","setHeight","hasSize","height2","width2","value","viewportSize","contentSize","ratio","scrollbarPadding","thumbSize","pointerOffset","thumbSizePx","thumbCenter","thumbOffsetFromEnd","minPointerPos","maxPointerPos","scrollRange","linearScale","maxThumbPos","scrollClampRange","scrollWithoutMomentum","clamp","input","output","handler","prevPosition","rAF","position","isHorizontalScroll","isVerticalScroll","callback","delay","handleCallback","debounceTimerRef","useLayoutEffect","resizeObserver","Viewport","Corner","scrollAreaStyles","tv","className","thumbClassName","scrollbarClassName","styles","ScrollAreaPrimitive.Root","ScrollAreaPrimitive.Viewport","ScrollBar","ScrollAreaPrimitive.Corner","scrollBarStyles","ScrollAreaPrimitive.ScrollAreaScrollbar","ScrollAreaPrimitive.ScrollAreaThumb","ToolbarContext","createContext","focus","useContext","toolbarStyles","ToolbarPrimitive.Root","toolbarButtonStyles","ToolbarPrimitive.ToolbarButton","toolbarIconStyles","ToolbarIcon","Icon","toolbarTextStyles","ToolbarText","toolbarSubTriggerStyles","ToolbarSubTrigger","icon","ChevronDown","toolbarToggleGroupStyles","ToolbarPrimitive.ToggleGroup","toolbarToggleStyles","ToolbarPrimitive.ToolbarToggleItem","toolbarDividerStyles","ToolbarPrimitive.ToolbarSeparator","Divider","toolbarTriggerChevronStyles","ToolbarTriggerChevron","sub","ToolbarTrigger","toolbarTriggerStyles"],"mappings":"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","x_google_ignoreList":[0,1,2]}
1
+ {"version":3,"file":"toolbar.js","sources":["../../node_modules/.pnpm/@radix-ui+react-separator@1.1.7_@types+react-dom@18.3.6_@types+react@18.3.20__@types+react@18_luov2sfvtjhsptnk4t2x7ut2li/node_modules/@radix-ui/react-separator/dist/index.mjs","../../node_modules/.pnpm/@radix-ui+react-toolbar@1.1.11_@types+react-dom@18.3.6_@types+react@18.3.20__@types+react@18._rf4bpvlanjdphvprledybkomta/node_modules/@radix-ui/react-toolbar/dist/index.mjs","../../node_modules/.pnpm/@radix-ui+react-scroll-area@1.2.10_@types+react-dom@18.3.6_@types+react@18.3.20__@types+react_xujtuorru7thxfhdwrenlz4spy/node_modules/@radix-ui/react-scroll-area/dist/index.mjs","../../src/components/scroll-area/ScrollArea.tsx","../../src/components/toolbar/ToolbarContext.tsx","../../src/components/toolbar/Toolbar.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","\"use client\";\n\n// src/toolbar.tsx\nimport * as React from \"react\";\nimport { composeEventHandlers } from \"@radix-ui/primitive\";\nimport { createContextScope } from \"@radix-ui/react-context\";\nimport * as RovingFocusGroup from \"@radix-ui/react-roving-focus\";\nimport { createRovingFocusGroupScope } from \"@radix-ui/react-roving-focus\";\nimport { Primitive } from \"@radix-ui/react-primitive\";\nimport * as SeparatorPrimitive from \"@radix-ui/react-separator\";\nimport * as ToggleGroupPrimitive from \"@radix-ui/react-toggle-group\";\nimport { createToggleGroupScope } from \"@radix-ui/react-toggle-group\";\nimport { useDirection } from \"@radix-ui/react-direction\";\nimport { jsx } from \"react/jsx-runtime\";\nvar TOOLBAR_NAME = \"Toolbar\";\nvar [createToolbarContext, createToolbarScope] = createContextScope(TOOLBAR_NAME, [\n createRovingFocusGroupScope,\n createToggleGroupScope\n]);\nvar useRovingFocusGroupScope = createRovingFocusGroupScope();\nvar useToggleGroupScope = createToggleGroupScope();\nvar [ToolbarProvider, useToolbarContext] = createToolbarContext(TOOLBAR_NAME);\nvar Toolbar = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeToolbar, orientation = \"horizontal\", dir, loop = true, ...toolbarProps } = props;\n const rovingFocusGroupScope = useRovingFocusGroupScope(__scopeToolbar);\n const direction = useDirection(dir);\n return /* @__PURE__ */ jsx(ToolbarProvider, { scope: __scopeToolbar, orientation, dir: direction, children: /* @__PURE__ */ jsx(\n RovingFocusGroup.Root,\n {\n asChild: true,\n ...rovingFocusGroupScope,\n orientation,\n dir: direction,\n loop,\n children: /* @__PURE__ */ jsx(\n Primitive.div,\n {\n role: \"toolbar\",\n \"aria-orientation\": orientation,\n dir: direction,\n ...toolbarProps,\n ref: forwardedRef\n }\n )\n }\n ) });\n }\n);\nToolbar.displayName = TOOLBAR_NAME;\nvar SEPARATOR_NAME = \"ToolbarSeparator\";\nvar ToolbarSeparator = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeToolbar, ...separatorProps } = props;\n const context = useToolbarContext(SEPARATOR_NAME, __scopeToolbar);\n return /* @__PURE__ */ jsx(\n SeparatorPrimitive.Root,\n {\n orientation: context.orientation === \"horizontal\" ? \"vertical\" : \"horizontal\",\n ...separatorProps,\n ref: forwardedRef\n }\n );\n }\n);\nToolbarSeparator.displayName = SEPARATOR_NAME;\nvar BUTTON_NAME = \"ToolbarButton\";\nvar ToolbarButton = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeToolbar, ...buttonProps } = props;\n const rovingFocusGroupScope = useRovingFocusGroupScope(__scopeToolbar);\n return /* @__PURE__ */ jsx(RovingFocusGroup.Item, { asChild: true, ...rovingFocusGroupScope, focusable: !props.disabled, children: /* @__PURE__ */ jsx(Primitive.button, { type: \"button\", ...buttonProps, ref: forwardedRef }) });\n }\n);\nToolbarButton.displayName = BUTTON_NAME;\nvar LINK_NAME = \"ToolbarLink\";\nvar ToolbarLink = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeToolbar, ...linkProps } = props;\n const rovingFocusGroupScope = useRovingFocusGroupScope(__scopeToolbar);\n return /* @__PURE__ */ jsx(RovingFocusGroup.Item, { asChild: true, ...rovingFocusGroupScope, focusable: true, children: /* @__PURE__ */ jsx(\n Primitive.a,\n {\n ...linkProps,\n ref: forwardedRef,\n onKeyDown: composeEventHandlers(props.onKeyDown, (event) => {\n if (event.key === \" \") event.currentTarget.click();\n })\n }\n ) });\n }\n);\nToolbarLink.displayName = LINK_NAME;\nvar TOGGLE_GROUP_NAME = \"ToolbarToggleGroup\";\nvar ToolbarToggleGroup = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeToolbar, ...toggleGroupProps } = props;\n const context = useToolbarContext(TOGGLE_GROUP_NAME, __scopeToolbar);\n const toggleGroupScope = useToggleGroupScope(__scopeToolbar);\n return /* @__PURE__ */ jsx(\n ToggleGroupPrimitive.Root,\n {\n \"data-orientation\": context.orientation,\n dir: context.dir,\n ...toggleGroupScope,\n ...toggleGroupProps,\n ref: forwardedRef,\n rovingFocus: false\n }\n );\n }\n);\nToolbarToggleGroup.displayName = TOGGLE_GROUP_NAME;\nvar TOGGLE_ITEM_NAME = \"ToolbarToggleItem\";\nvar ToolbarToggleItem = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeToolbar, ...toggleItemProps } = props;\n const toggleGroupScope = useToggleGroupScope(__scopeToolbar);\n const scope = { __scopeToolbar: props.__scopeToolbar };\n return /* @__PURE__ */ jsx(ToolbarButton, { asChild: true, ...scope, children: /* @__PURE__ */ jsx(ToggleGroupPrimitive.Item, { ...toggleGroupScope, ...toggleItemProps, ref: forwardedRef }) });\n }\n);\nToolbarToggleItem.displayName = TOGGLE_ITEM_NAME;\nvar Root4 = Toolbar;\nvar Separator = ToolbarSeparator;\nvar Button = ToolbarButton;\nvar Link = ToolbarLink;\nvar ToggleGroup = ToolbarToggleGroup;\nvar ToggleItem = ToolbarToggleItem;\nexport {\n Button,\n Link,\n Root4 as Root,\n Separator,\n ToggleGroup,\n ToggleItem,\n Toolbar,\n ToolbarButton,\n ToolbarLink,\n ToolbarSeparator,\n ToolbarToggleGroup,\n ToolbarToggleItem,\n createToolbarScope\n};\n//# sourceMappingURL=index.mjs.map\n","\"use client\";\n\n// src/scroll-area.tsx\nimport * as React2 from \"react\";\nimport { Primitive } from \"@radix-ui/react-primitive\";\nimport { Presence } from \"@radix-ui/react-presence\";\nimport { createContextScope } from \"@radix-ui/react-context\";\nimport { useComposedRefs } from \"@radix-ui/react-compose-refs\";\nimport { useCallbackRef } from \"@radix-ui/react-use-callback-ref\";\nimport { useDirection } from \"@radix-ui/react-direction\";\nimport { useLayoutEffect } from \"@radix-ui/react-use-layout-effect\";\nimport { clamp } from \"@radix-ui/number\";\nimport { composeEventHandlers } from \"@radix-ui/primitive\";\n\n// src/use-state-machine.ts\nimport * as React from \"react\";\nfunction useStateMachine(initialState, machine) {\n return React.useReducer((state, event) => {\n const nextState = machine[state][event];\n return nextState ?? state;\n }, initialState);\n}\n\n// src/scroll-area.tsx\nimport { Fragment, jsx, jsxs } from \"react/jsx-runtime\";\nvar SCROLL_AREA_NAME = \"ScrollArea\";\nvar [createScrollAreaContext, createScrollAreaScope] = createContextScope(SCROLL_AREA_NAME);\nvar [ScrollAreaProvider, useScrollAreaContext] = createScrollAreaContext(SCROLL_AREA_NAME);\nvar ScrollArea = React2.forwardRef(\n (props, forwardedRef) => {\n const {\n __scopeScrollArea,\n type = \"hover\",\n dir,\n scrollHideDelay = 600,\n ...scrollAreaProps\n } = props;\n const [scrollArea, setScrollArea] = React2.useState(null);\n const [viewport, setViewport] = React2.useState(null);\n const [content, setContent] = React2.useState(null);\n const [scrollbarX, setScrollbarX] = React2.useState(null);\n const [scrollbarY, setScrollbarY] = React2.useState(null);\n const [cornerWidth, setCornerWidth] = React2.useState(0);\n const [cornerHeight, setCornerHeight] = React2.useState(0);\n const [scrollbarXEnabled, setScrollbarXEnabled] = React2.useState(false);\n const [scrollbarYEnabled, setScrollbarYEnabled] = React2.useState(false);\n const composedRefs = useComposedRefs(forwardedRef, (node) => setScrollArea(node));\n const direction = useDirection(dir);\n return /* @__PURE__ */ jsx(\n ScrollAreaProvider,\n {\n scope: __scopeScrollArea,\n type,\n dir: direction,\n scrollHideDelay,\n scrollArea,\n viewport,\n onViewportChange: setViewport,\n content,\n onContentChange: setContent,\n scrollbarX,\n onScrollbarXChange: setScrollbarX,\n scrollbarXEnabled,\n onScrollbarXEnabledChange: setScrollbarXEnabled,\n scrollbarY,\n onScrollbarYChange: setScrollbarY,\n scrollbarYEnabled,\n onScrollbarYEnabledChange: setScrollbarYEnabled,\n onCornerWidthChange: setCornerWidth,\n onCornerHeightChange: setCornerHeight,\n children: /* @__PURE__ */ jsx(\n Primitive.div,\n {\n dir: direction,\n ...scrollAreaProps,\n ref: composedRefs,\n style: {\n position: \"relative\",\n // Pass corner sizes as CSS vars to reduce re-renders of context consumers\n [\"--radix-scroll-area-corner-width\"]: cornerWidth + \"px\",\n [\"--radix-scroll-area-corner-height\"]: cornerHeight + \"px\",\n ...props.style\n }\n }\n )\n }\n );\n }\n);\nScrollArea.displayName = SCROLL_AREA_NAME;\nvar VIEWPORT_NAME = \"ScrollAreaViewport\";\nvar ScrollAreaViewport = React2.forwardRef(\n (props, forwardedRef) => {\n const { __scopeScrollArea, children, nonce, ...viewportProps } = props;\n const context = useScrollAreaContext(VIEWPORT_NAME, __scopeScrollArea);\n const ref = React2.useRef(null);\n const composedRefs = useComposedRefs(forwardedRef, ref, context.onViewportChange);\n return /* @__PURE__ */ jsxs(Fragment, { children: [\n /* @__PURE__ */ jsx(\n \"style\",\n {\n dangerouslySetInnerHTML: {\n __html: `[data-radix-scroll-area-viewport]{scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;}[data-radix-scroll-area-viewport]::-webkit-scrollbar{display:none}`\n },\n nonce\n }\n ),\n /* @__PURE__ */ jsx(\n Primitive.div,\n {\n \"data-radix-scroll-area-viewport\": \"\",\n ...viewportProps,\n ref: composedRefs,\n style: {\n /**\n * We don't support `visible` because the intention is to have at least one scrollbar\n * if this component is used and `visible` will behave like `auto` in that case\n * https://developer.mozilla.org/en-US/docs/Web/CSS/overflow#description\n *\n * We don't handle `auto` because the intention is for the native implementation\n * to be hidden if using this component. We just want to ensure the node is scrollable\n * so could have used either `scroll` or `auto` here. We picked `scroll` to prevent\n * the browser from having to work out whether to render native scrollbars or not,\n * we tell it to with the intention of hiding them in CSS.\n */\n overflowX: context.scrollbarXEnabled ? \"scroll\" : \"hidden\",\n overflowY: context.scrollbarYEnabled ? \"scroll\" : \"hidden\",\n ...props.style\n },\n children: /* @__PURE__ */ jsx(\"div\", { ref: context.onContentChange, style: { minWidth: \"100%\", display: \"table\" }, children })\n }\n )\n ] });\n }\n);\nScrollAreaViewport.displayName = VIEWPORT_NAME;\nvar SCROLLBAR_NAME = \"ScrollAreaScrollbar\";\nvar ScrollAreaScrollbar = React2.forwardRef(\n (props, forwardedRef) => {\n const { forceMount, ...scrollbarProps } = props;\n const context = useScrollAreaContext(SCROLLBAR_NAME, props.__scopeScrollArea);\n const { onScrollbarXEnabledChange, onScrollbarYEnabledChange } = context;\n const isHorizontal = props.orientation === \"horizontal\";\n React2.useEffect(() => {\n isHorizontal ? onScrollbarXEnabledChange(true) : onScrollbarYEnabledChange(true);\n return () => {\n isHorizontal ? onScrollbarXEnabledChange(false) : onScrollbarYEnabledChange(false);\n };\n }, [isHorizontal, onScrollbarXEnabledChange, onScrollbarYEnabledChange]);\n return context.type === \"hover\" ? /* @__PURE__ */ jsx(ScrollAreaScrollbarHover, { ...scrollbarProps, ref: forwardedRef, forceMount }) : context.type === \"scroll\" ? /* @__PURE__ */ jsx(ScrollAreaScrollbarScroll, { ...scrollbarProps, ref: forwardedRef, forceMount }) : context.type === \"auto\" ? /* @__PURE__ */ jsx(ScrollAreaScrollbarAuto, { ...scrollbarProps, ref: forwardedRef, forceMount }) : context.type === \"always\" ? /* @__PURE__ */ jsx(ScrollAreaScrollbarVisible, { ...scrollbarProps, ref: forwardedRef }) : null;\n }\n);\nScrollAreaScrollbar.displayName = SCROLLBAR_NAME;\nvar ScrollAreaScrollbarHover = React2.forwardRef((props, forwardedRef) => {\n const { forceMount, ...scrollbarProps } = props;\n const context = useScrollAreaContext(SCROLLBAR_NAME, props.__scopeScrollArea);\n const [visible, setVisible] = React2.useState(false);\n React2.useEffect(() => {\n const scrollArea = context.scrollArea;\n let hideTimer = 0;\n if (scrollArea) {\n const handlePointerEnter = () => {\n window.clearTimeout(hideTimer);\n setVisible(true);\n };\n const handlePointerLeave = () => {\n hideTimer = window.setTimeout(() => setVisible(false), context.scrollHideDelay);\n };\n scrollArea.addEventListener(\"pointerenter\", handlePointerEnter);\n scrollArea.addEventListener(\"pointerleave\", handlePointerLeave);\n return () => {\n window.clearTimeout(hideTimer);\n scrollArea.removeEventListener(\"pointerenter\", handlePointerEnter);\n scrollArea.removeEventListener(\"pointerleave\", handlePointerLeave);\n };\n }\n }, [context.scrollArea, context.scrollHideDelay]);\n return /* @__PURE__ */ jsx(Presence, { present: forceMount || visible, children: /* @__PURE__ */ jsx(\n ScrollAreaScrollbarAuto,\n {\n \"data-state\": visible ? \"visible\" : \"hidden\",\n ...scrollbarProps,\n ref: forwardedRef\n }\n ) });\n});\nvar ScrollAreaScrollbarScroll = React2.forwardRef((props, forwardedRef) => {\n const { forceMount, ...scrollbarProps } = props;\n const context = useScrollAreaContext(SCROLLBAR_NAME, props.__scopeScrollArea);\n const isHorizontal = props.orientation === \"horizontal\";\n const debounceScrollEnd = useDebounceCallback(() => send(\"SCROLL_END\"), 100);\n const [state, send] = useStateMachine(\"hidden\", {\n hidden: {\n SCROLL: \"scrolling\"\n },\n scrolling: {\n SCROLL_END: \"idle\",\n POINTER_ENTER: \"interacting\"\n },\n interacting: {\n SCROLL: \"interacting\",\n POINTER_LEAVE: \"idle\"\n },\n idle: {\n HIDE: \"hidden\",\n SCROLL: \"scrolling\",\n POINTER_ENTER: \"interacting\"\n }\n });\n React2.useEffect(() => {\n if (state === \"idle\") {\n const hideTimer = window.setTimeout(() => send(\"HIDE\"), context.scrollHideDelay);\n return () => window.clearTimeout(hideTimer);\n }\n }, [state, context.scrollHideDelay, send]);\n React2.useEffect(() => {\n const viewport = context.viewport;\n const scrollDirection = isHorizontal ? \"scrollLeft\" : \"scrollTop\";\n if (viewport) {\n let prevScrollPos = viewport[scrollDirection];\n const handleScroll = () => {\n const scrollPos = viewport[scrollDirection];\n const hasScrollInDirectionChanged = prevScrollPos !== scrollPos;\n if (hasScrollInDirectionChanged) {\n send(\"SCROLL\");\n debounceScrollEnd();\n }\n prevScrollPos = scrollPos;\n };\n viewport.addEventListener(\"scroll\", handleScroll);\n return () => viewport.removeEventListener(\"scroll\", handleScroll);\n }\n }, [context.viewport, isHorizontal, send, debounceScrollEnd]);\n return /* @__PURE__ */ jsx(Presence, { present: forceMount || state !== \"hidden\", children: /* @__PURE__ */ jsx(\n ScrollAreaScrollbarVisible,\n {\n \"data-state\": state === \"hidden\" ? \"hidden\" : \"visible\",\n ...scrollbarProps,\n ref: forwardedRef,\n onPointerEnter: composeEventHandlers(props.onPointerEnter, () => send(\"POINTER_ENTER\")),\n onPointerLeave: composeEventHandlers(props.onPointerLeave, () => send(\"POINTER_LEAVE\"))\n }\n ) });\n});\nvar ScrollAreaScrollbarAuto = React2.forwardRef((props, forwardedRef) => {\n const context = useScrollAreaContext(SCROLLBAR_NAME, props.__scopeScrollArea);\n const { forceMount, ...scrollbarProps } = props;\n const [visible, setVisible] = React2.useState(false);\n const isHorizontal = props.orientation === \"horizontal\";\n const handleResize = useDebounceCallback(() => {\n if (context.viewport) {\n const isOverflowX = context.viewport.offsetWidth < context.viewport.scrollWidth;\n const isOverflowY = context.viewport.offsetHeight < context.viewport.scrollHeight;\n setVisible(isHorizontal ? isOverflowX : isOverflowY);\n }\n }, 10);\n useResizeObserver(context.viewport, handleResize);\n useResizeObserver(context.content, handleResize);\n return /* @__PURE__ */ jsx(Presence, { present: forceMount || visible, children: /* @__PURE__ */ jsx(\n ScrollAreaScrollbarVisible,\n {\n \"data-state\": visible ? \"visible\" : \"hidden\",\n ...scrollbarProps,\n ref: forwardedRef\n }\n ) });\n});\nvar ScrollAreaScrollbarVisible = React2.forwardRef((props, forwardedRef) => {\n const { orientation = \"vertical\", ...scrollbarProps } = props;\n const context = useScrollAreaContext(SCROLLBAR_NAME, props.__scopeScrollArea);\n const thumbRef = React2.useRef(null);\n const pointerOffsetRef = React2.useRef(0);\n const [sizes, setSizes] = React2.useState({\n content: 0,\n viewport: 0,\n scrollbar: { size: 0, paddingStart: 0, paddingEnd: 0 }\n });\n const thumbRatio = getThumbRatio(sizes.viewport, sizes.content);\n const commonProps = {\n ...scrollbarProps,\n sizes,\n onSizesChange: setSizes,\n hasThumb: Boolean(thumbRatio > 0 && thumbRatio < 1),\n onThumbChange: (thumb) => thumbRef.current = thumb,\n onThumbPointerUp: () => pointerOffsetRef.current = 0,\n onThumbPointerDown: (pointerPos) => pointerOffsetRef.current = pointerPos\n };\n function getScrollPosition(pointerPos, dir) {\n return getScrollPositionFromPointer(pointerPos, pointerOffsetRef.current, sizes, dir);\n }\n if (orientation === \"horizontal\") {\n return /* @__PURE__ */ jsx(\n ScrollAreaScrollbarX,\n {\n ...commonProps,\n ref: forwardedRef,\n onThumbPositionChange: () => {\n if (context.viewport && thumbRef.current) {\n const scrollPos = context.viewport.scrollLeft;\n const offset = getThumbOffsetFromScroll(scrollPos, sizes, context.dir);\n thumbRef.current.style.transform = `translate3d(${offset}px, 0, 0)`;\n }\n },\n onWheelScroll: (scrollPos) => {\n if (context.viewport) context.viewport.scrollLeft = scrollPos;\n },\n onDragScroll: (pointerPos) => {\n if (context.viewport) {\n context.viewport.scrollLeft = getScrollPosition(pointerPos, context.dir);\n }\n }\n }\n );\n }\n if (orientation === \"vertical\") {\n return /* @__PURE__ */ jsx(\n ScrollAreaScrollbarY,\n {\n ...commonProps,\n ref: forwardedRef,\n onThumbPositionChange: () => {\n if (context.viewport && thumbRef.current) {\n const scrollPos = context.viewport.scrollTop;\n const offset = getThumbOffsetFromScroll(scrollPos, sizes);\n thumbRef.current.style.transform = `translate3d(0, ${offset}px, 0)`;\n }\n },\n onWheelScroll: (scrollPos) => {\n if (context.viewport) context.viewport.scrollTop = scrollPos;\n },\n onDragScroll: (pointerPos) => {\n if (context.viewport) context.viewport.scrollTop = getScrollPosition(pointerPos);\n }\n }\n );\n }\n return null;\n});\nvar ScrollAreaScrollbarX = React2.forwardRef((props, forwardedRef) => {\n const { sizes, onSizesChange, ...scrollbarProps } = props;\n const context = useScrollAreaContext(SCROLLBAR_NAME, props.__scopeScrollArea);\n const [computedStyle, setComputedStyle] = React2.useState();\n const ref = React2.useRef(null);\n const composeRefs = useComposedRefs(forwardedRef, ref, context.onScrollbarXChange);\n React2.useEffect(() => {\n if (ref.current) setComputedStyle(getComputedStyle(ref.current));\n }, [ref]);\n return /* @__PURE__ */ jsx(\n ScrollAreaScrollbarImpl,\n {\n \"data-orientation\": \"horizontal\",\n ...scrollbarProps,\n ref: composeRefs,\n sizes,\n style: {\n bottom: 0,\n left: context.dir === \"rtl\" ? \"var(--radix-scroll-area-corner-width)\" : 0,\n right: context.dir === \"ltr\" ? \"var(--radix-scroll-area-corner-width)\" : 0,\n [\"--radix-scroll-area-thumb-width\"]: getThumbSize(sizes) + \"px\",\n ...props.style\n },\n onThumbPointerDown: (pointerPos) => props.onThumbPointerDown(pointerPos.x),\n onDragScroll: (pointerPos) => props.onDragScroll(pointerPos.x),\n onWheelScroll: (event, maxScrollPos) => {\n if (context.viewport) {\n const scrollPos = context.viewport.scrollLeft + event.deltaX;\n props.onWheelScroll(scrollPos);\n if (isScrollingWithinScrollbarBounds(scrollPos, maxScrollPos)) {\n event.preventDefault();\n }\n }\n },\n onResize: () => {\n if (ref.current && context.viewport && computedStyle) {\n onSizesChange({\n content: context.viewport.scrollWidth,\n viewport: context.viewport.offsetWidth,\n scrollbar: {\n size: ref.current.clientWidth,\n paddingStart: toInt(computedStyle.paddingLeft),\n paddingEnd: toInt(computedStyle.paddingRight)\n }\n });\n }\n }\n }\n );\n});\nvar ScrollAreaScrollbarY = React2.forwardRef((props, forwardedRef) => {\n const { sizes, onSizesChange, ...scrollbarProps } = props;\n const context = useScrollAreaContext(SCROLLBAR_NAME, props.__scopeScrollArea);\n const [computedStyle, setComputedStyle] = React2.useState();\n const ref = React2.useRef(null);\n const composeRefs = useComposedRefs(forwardedRef, ref, context.onScrollbarYChange);\n React2.useEffect(() => {\n if (ref.current) setComputedStyle(getComputedStyle(ref.current));\n }, [ref]);\n return /* @__PURE__ */ jsx(\n ScrollAreaScrollbarImpl,\n {\n \"data-orientation\": \"vertical\",\n ...scrollbarProps,\n ref: composeRefs,\n sizes,\n style: {\n top: 0,\n right: context.dir === \"ltr\" ? 0 : void 0,\n left: context.dir === \"rtl\" ? 0 : void 0,\n bottom: \"var(--radix-scroll-area-corner-height)\",\n [\"--radix-scroll-area-thumb-height\"]: getThumbSize(sizes) + \"px\",\n ...props.style\n },\n onThumbPointerDown: (pointerPos) => props.onThumbPointerDown(pointerPos.y),\n onDragScroll: (pointerPos) => props.onDragScroll(pointerPos.y),\n onWheelScroll: (event, maxScrollPos) => {\n if (context.viewport) {\n const scrollPos = context.viewport.scrollTop + event.deltaY;\n props.onWheelScroll(scrollPos);\n if (isScrollingWithinScrollbarBounds(scrollPos, maxScrollPos)) {\n event.preventDefault();\n }\n }\n },\n onResize: () => {\n if (ref.current && context.viewport && computedStyle) {\n onSizesChange({\n content: context.viewport.scrollHeight,\n viewport: context.viewport.offsetHeight,\n scrollbar: {\n size: ref.current.clientHeight,\n paddingStart: toInt(computedStyle.paddingTop),\n paddingEnd: toInt(computedStyle.paddingBottom)\n }\n });\n }\n }\n }\n );\n});\nvar [ScrollbarProvider, useScrollbarContext] = createScrollAreaContext(SCROLLBAR_NAME);\nvar ScrollAreaScrollbarImpl = React2.forwardRef((props, forwardedRef) => {\n const {\n __scopeScrollArea,\n sizes,\n hasThumb,\n onThumbChange,\n onThumbPointerUp,\n onThumbPointerDown,\n onThumbPositionChange,\n onDragScroll,\n onWheelScroll,\n onResize,\n ...scrollbarProps\n } = props;\n const context = useScrollAreaContext(SCROLLBAR_NAME, __scopeScrollArea);\n const [scrollbar, setScrollbar] = React2.useState(null);\n const composeRefs = useComposedRefs(forwardedRef, (node) => setScrollbar(node));\n const rectRef = React2.useRef(null);\n const prevWebkitUserSelectRef = React2.useRef(\"\");\n const viewport = context.viewport;\n const maxScrollPos = sizes.content - sizes.viewport;\n const handleWheelScroll = useCallbackRef(onWheelScroll);\n const handleThumbPositionChange = useCallbackRef(onThumbPositionChange);\n const handleResize = useDebounceCallback(onResize, 10);\n function handleDragScroll(event) {\n if (rectRef.current) {\n const x = event.clientX - rectRef.current.left;\n const y = event.clientY - rectRef.current.top;\n onDragScroll({ x, y });\n }\n }\n React2.useEffect(() => {\n const handleWheel = (event) => {\n const element = event.target;\n const isScrollbarWheel = scrollbar?.contains(element);\n if (isScrollbarWheel) handleWheelScroll(event, maxScrollPos);\n };\n document.addEventListener(\"wheel\", handleWheel, { passive: false });\n return () => document.removeEventListener(\"wheel\", handleWheel, { passive: false });\n }, [viewport, scrollbar, maxScrollPos, handleWheelScroll]);\n React2.useEffect(handleThumbPositionChange, [sizes, handleThumbPositionChange]);\n useResizeObserver(scrollbar, handleResize);\n useResizeObserver(context.content, handleResize);\n return /* @__PURE__ */ jsx(\n ScrollbarProvider,\n {\n scope: __scopeScrollArea,\n scrollbar,\n hasThumb,\n onThumbChange: useCallbackRef(onThumbChange),\n onThumbPointerUp: useCallbackRef(onThumbPointerUp),\n onThumbPositionChange: handleThumbPositionChange,\n onThumbPointerDown: useCallbackRef(onThumbPointerDown),\n children: /* @__PURE__ */ jsx(\n Primitive.div,\n {\n ...scrollbarProps,\n ref: composeRefs,\n style: { position: \"absolute\", ...scrollbarProps.style },\n onPointerDown: composeEventHandlers(props.onPointerDown, (event) => {\n const mainPointer = 0;\n if (event.button === mainPointer) {\n const element = event.target;\n element.setPointerCapture(event.pointerId);\n rectRef.current = scrollbar.getBoundingClientRect();\n prevWebkitUserSelectRef.current = document.body.style.webkitUserSelect;\n document.body.style.webkitUserSelect = \"none\";\n if (context.viewport) context.viewport.style.scrollBehavior = \"auto\";\n handleDragScroll(event);\n }\n }),\n onPointerMove: composeEventHandlers(props.onPointerMove, handleDragScroll),\n onPointerUp: composeEventHandlers(props.onPointerUp, (event) => {\n const element = event.target;\n if (element.hasPointerCapture(event.pointerId)) {\n element.releasePointerCapture(event.pointerId);\n }\n document.body.style.webkitUserSelect = prevWebkitUserSelectRef.current;\n if (context.viewport) context.viewport.style.scrollBehavior = \"\";\n rectRef.current = null;\n })\n }\n )\n }\n );\n});\nvar THUMB_NAME = \"ScrollAreaThumb\";\nvar ScrollAreaThumb = React2.forwardRef(\n (props, forwardedRef) => {\n const { forceMount, ...thumbProps } = props;\n const scrollbarContext = useScrollbarContext(THUMB_NAME, props.__scopeScrollArea);\n return /* @__PURE__ */ jsx(Presence, { present: forceMount || scrollbarContext.hasThumb, children: /* @__PURE__ */ jsx(ScrollAreaThumbImpl, { ref: forwardedRef, ...thumbProps }) });\n }\n);\nvar ScrollAreaThumbImpl = React2.forwardRef(\n (props, forwardedRef) => {\n const { __scopeScrollArea, style, ...thumbProps } = props;\n const scrollAreaContext = useScrollAreaContext(THUMB_NAME, __scopeScrollArea);\n const scrollbarContext = useScrollbarContext(THUMB_NAME, __scopeScrollArea);\n const { onThumbPositionChange } = scrollbarContext;\n const composedRef = useComposedRefs(\n forwardedRef,\n (node) => scrollbarContext.onThumbChange(node)\n );\n const removeUnlinkedScrollListenerRef = React2.useRef(void 0);\n const debounceScrollEnd = useDebounceCallback(() => {\n if (removeUnlinkedScrollListenerRef.current) {\n removeUnlinkedScrollListenerRef.current();\n removeUnlinkedScrollListenerRef.current = void 0;\n }\n }, 100);\n React2.useEffect(() => {\n const viewport = scrollAreaContext.viewport;\n if (viewport) {\n const handleScroll = () => {\n debounceScrollEnd();\n if (!removeUnlinkedScrollListenerRef.current) {\n const listener = addUnlinkedScrollListener(viewport, onThumbPositionChange);\n removeUnlinkedScrollListenerRef.current = listener;\n onThumbPositionChange();\n }\n };\n onThumbPositionChange();\n viewport.addEventListener(\"scroll\", handleScroll);\n return () => viewport.removeEventListener(\"scroll\", handleScroll);\n }\n }, [scrollAreaContext.viewport, debounceScrollEnd, onThumbPositionChange]);\n return /* @__PURE__ */ jsx(\n Primitive.div,\n {\n \"data-state\": scrollbarContext.hasThumb ? \"visible\" : \"hidden\",\n ...thumbProps,\n ref: composedRef,\n style: {\n width: \"var(--radix-scroll-area-thumb-width)\",\n height: \"var(--radix-scroll-area-thumb-height)\",\n ...style\n },\n onPointerDownCapture: composeEventHandlers(props.onPointerDownCapture, (event) => {\n const thumb = event.target;\n const thumbRect = thumb.getBoundingClientRect();\n const x = event.clientX - thumbRect.left;\n const y = event.clientY - thumbRect.top;\n scrollbarContext.onThumbPointerDown({ x, y });\n }),\n onPointerUp: composeEventHandlers(props.onPointerUp, scrollbarContext.onThumbPointerUp)\n }\n );\n }\n);\nScrollAreaThumb.displayName = THUMB_NAME;\nvar CORNER_NAME = \"ScrollAreaCorner\";\nvar ScrollAreaCorner = React2.forwardRef(\n (props, forwardedRef) => {\n const context = useScrollAreaContext(CORNER_NAME, props.__scopeScrollArea);\n const hasBothScrollbarsVisible = Boolean(context.scrollbarX && context.scrollbarY);\n const hasCorner = context.type !== \"scroll\" && hasBothScrollbarsVisible;\n return hasCorner ? /* @__PURE__ */ jsx(ScrollAreaCornerImpl, { ...props, ref: forwardedRef }) : null;\n }\n);\nScrollAreaCorner.displayName = CORNER_NAME;\nvar ScrollAreaCornerImpl = React2.forwardRef((props, forwardedRef) => {\n const { __scopeScrollArea, ...cornerProps } = props;\n const context = useScrollAreaContext(CORNER_NAME, __scopeScrollArea);\n const [width, setWidth] = React2.useState(0);\n const [height, setHeight] = React2.useState(0);\n const hasSize = Boolean(width && height);\n useResizeObserver(context.scrollbarX, () => {\n const height2 = context.scrollbarX?.offsetHeight || 0;\n context.onCornerHeightChange(height2);\n setHeight(height2);\n });\n useResizeObserver(context.scrollbarY, () => {\n const width2 = context.scrollbarY?.offsetWidth || 0;\n context.onCornerWidthChange(width2);\n setWidth(width2);\n });\n return hasSize ? /* @__PURE__ */ jsx(\n Primitive.div,\n {\n ...cornerProps,\n ref: forwardedRef,\n style: {\n width,\n height,\n position: \"absolute\",\n right: context.dir === \"ltr\" ? 0 : void 0,\n left: context.dir === \"rtl\" ? 0 : void 0,\n bottom: 0,\n ...props.style\n }\n }\n ) : null;\n});\nfunction toInt(value) {\n return value ? parseInt(value, 10) : 0;\n}\nfunction getThumbRatio(viewportSize, contentSize) {\n const ratio = viewportSize / contentSize;\n return isNaN(ratio) ? 0 : ratio;\n}\nfunction getThumbSize(sizes) {\n const ratio = getThumbRatio(sizes.viewport, sizes.content);\n const scrollbarPadding = sizes.scrollbar.paddingStart + sizes.scrollbar.paddingEnd;\n const thumbSize = (sizes.scrollbar.size - scrollbarPadding) * ratio;\n return Math.max(thumbSize, 18);\n}\nfunction getScrollPositionFromPointer(pointerPos, pointerOffset, sizes, dir = \"ltr\") {\n const thumbSizePx = getThumbSize(sizes);\n const thumbCenter = thumbSizePx / 2;\n const offset = pointerOffset || thumbCenter;\n const thumbOffsetFromEnd = thumbSizePx - offset;\n const minPointerPos = sizes.scrollbar.paddingStart + offset;\n const maxPointerPos = sizes.scrollbar.size - sizes.scrollbar.paddingEnd - thumbOffsetFromEnd;\n const maxScrollPos = sizes.content - sizes.viewport;\n const scrollRange = dir === \"ltr\" ? [0, maxScrollPos] : [maxScrollPos * -1, 0];\n const interpolate = linearScale([minPointerPos, maxPointerPos], scrollRange);\n return interpolate(pointerPos);\n}\nfunction getThumbOffsetFromScroll(scrollPos, sizes, dir = \"ltr\") {\n const thumbSizePx = getThumbSize(sizes);\n const scrollbarPadding = sizes.scrollbar.paddingStart + sizes.scrollbar.paddingEnd;\n const scrollbar = sizes.scrollbar.size - scrollbarPadding;\n const maxScrollPos = sizes.content - sizes.viewport;\n const maxThumbPos = scrollbar - thumbSizePx;\n const scrollClampRange = dir === \"ltr\" ? [0, maxScrollPos] : [maxScrollPos * -1, 0];\n const scrollWithoutMomentum = clamp(scrollPos, scrollClampRange);\n const interpolate = linearScale([0, maxScrollPos], [0, maxThumbPos]);\n return interpolate(scrollWithoutMomentum);\n}\nfunction linearScale(input, output) {\n return (value) => {\n if (input[0] === input[1] || output[0] === output[1]) return output[0];\n const ratio = (output[1] - output[0]) / (input[1] - input[0]);\n return output[0] + ratio * (value - input[0]);\n };\n}\nfunction isScrollingWithinScrollbarBounds(scrollPos, maxScrollPos) {\n return scrollPos > 0 && scrollPos < maxScrollPos;\n}\nvar addUnlinkedScrollListener = (node, handler = () => {\n}) => {\n let prevPosition = { left: node.scrollLeft, top: node.scrollTop };\n let rAF = 0;\n (function loop() {\n const position = { left: node.scrollLeft, top: node.scrollTop };\n const isHorizontalScroll = prevPosition.left !== position.left;\n const isVerticalScroll = prevPosition.top !== position.top;\n if (isHorizontalScroll || isVerticalScroll) handler();\n prevPosition = position;\n rAF = window.requestAnimationFrame(loop);\n })();\n return () => window.cancelAnimationFrame(rAF);\n};\nfunction useDebounceCallback(callback, delay) {\n const handleCallback = useCallbackRef(callback);\n const debounceTimerRef = React2.useRef(0);\n React2.useEffect(() => () => window.clearTimeout(debounceTimerRef.current), []);\n return React2.useCallback(() => {\n window.clearTimeout(debounceTimerRef.current);\n debounceTimerRef.current = window.setTimeout(handleCallback, delay);\n }, [handleCallback, delay]);\n}\nfunction useResizeObserver(element, onResize) {\n const handleResize = useCallbackRef(onResize);\n useLayoutEffect(() => {\n let rAF = 0;\n if (element) {\n const resizeObserver = new ResizeObserver(() => {\n cancelAnimationFrame(rAF);\n rAF = window.requestAnimationFrame(handleResize);\n });\n resizeObserver.observe(element);\n return () => {\n window.cancelAnimationFrame(rAF);\n resizeObserver.unobserve(element);\n };\n }\n }, [element, handleResize]);\n}\nvar Root = ScrollArea;\nvar Viewport = ScrollAreaViewport;\nvar Scrollbar = ScrollAreaScrollbar;\nvar Thumb = ScrollAreaThumb;\nvar Corner = ScrollAreaCorner;\nexport {\n Corner,\n Root,\n ScrollArea,\n ScrollAreaCorner,\n ScrollAreaScrollbar,\n ScrollAreaThumb,\n ScrollAreaViewport,\n Scrollbar,\n Thumb,\n Viewport,\n createScrollAreaScope\n};\n//# sourceMappingURL=index.mjs.map\n","import * as React from \"react\";\nimport * as ScrollAreaPrimitive from \"@radix-ui/react-scroll-area\";\nimport { tv } from \"tailwind-variants\";\nimport { VariantsConfig } from \"@/lib/utils/variants\";\n\nconst scrollAreaStyles = tv({\n\tslots: {\n\t\troot: \"relative overflow-hidden\",\n\t\tviewport: \"h-full w-full rounded-[inherit]\"\n\t}\n});\n\ntype ScrollAreaProps = React.ComponentPropsWithoutRef<typeof ScrollAreaPrimitive.Root> & {\n\tthumbClassName?: string;\n\tscrollbarClassName?: string;\n\torientation?: \"vertical\" | \"horizontal\" | \"both\";\n};\n\nconst ScrollArea = React.forwardRef<React.ElementRef<typeof ScrollAreaPrimitive.Root>, ScrollAreaProps>(\n\t({ className, children, thumbClassName, scrollbarClassName, orientation = \"both\", ...props }, ref) => {\n\t\tconst styles = scrollAreaStyles();\n\n\t\treturn (\n\t\t\t<ScrollAreaPrimitive.Root ref={ref} className={styles.root({ className })} {...props}>\n\t\t\t\t<ScrollAreaPrimitive.Viewport className={styles.viewport()}>{children}</ScrollAreaPrimitive.Viewport>\n\t\t\t\t{(orientation === \"vertical\" || orientation === \"both\") && (\n\t\t\t\t\t<ScrollBar orientation=\"vertical\" thumbClassName={thumbClassName} className={scrollbarClassName} />\n\t\t\t\t)}\n\t\t\t\t{(orientation === \"horizontal\" || orientation === \"both\") && (\n\t\t\t\t\t<ScrollBar\n\t\t\t\t\t\torientation=\"horizontal\"\n\t\t\t\t\t\tthumbClassName={thumbClassName}\n\t\t\t\t\t\tclassName={scrollbarClassName}\n\t\t\t\t\t/>\n\t\t\t\t)}\n\t\t\t\t<ScrollAreaPrimitive.Corner />\n\t\t\t</ScrollAreaPrimitive.Root>\n\t\t);\n\t}\n);\nScrollArea.displayName = ScrollAreaPrimitive.Root.displayName;\n\nexport interface ScrollAreaVariants {\n\torientation?: \"vertical\" | \"horizontal\";\n}\n\nconst scrollBarStyles = tv({\n\tslots: {\n\t\twrapper: \"flex touch-none select-none transition-colors\",\n\t\tthumb: \"relative flex-1 rounded-full bg-secondary-border\"\n\t},\n\tvariants: {\n\t\torientation: {\n\t\t\tvertical: { wrapper: \"h-full w-2.5 border-l border-l-transparent p-0.5\" },\n\t\t\thorizontal: { wrapper: \"h-2.5 flex-col border-t border-t-transparent p-0.5\" }\n\t\t}\n\t} satisfies VariantsConfig<ScrollAreaVariants>\n});\n\ntype ScrollBarProps = React.ComponentPropsWithoutRef<typeof ScrollAreaPrimitive.ScrollAreaScrollbar> &\n\tScrollAreaVariants & {\n\t\tthumbClassName?: string;\n\t};\n\nconst ScrollBar = React.forwardRef<React.ElementRef<typeof ScrollAreaPrimitive.ScrollAreaScrollbar>, ScrollBarProps>(\n\t({ className, orientation = \"vertical\", thumbClassName, ...props }, ref) => {\n\t\tconst styles = scrollBarStyles();\n\n\t\treturn (\n\t\t\t<ScrollAreaPrimitive.ScrollAreaScrollbar\n\t\t\t\tref={ref}\n\t\t\t\torientation={orientation}\n\t\t\t\tclassName={styles.wrapper({ className, orientation })}\n\t\t\t\t{...props}\n\t\t\t>\n\t\t\t\t<ScrollAreaPrimitive.ScrollAreaThumb className={styles.thumb({ className: thumbClassName })} />\n\t\t\t</ScrollAreaPrimitive.ScrollAreaScrollbar>\n\t\t);\n\t}\n);\nScrollBar.displayName = ScrollAreaPrimitive.ScrollAreaScrollbar.displayName;\n\nexport { ScrollArea, ScrollBar };\n","import React, { createContext, useContext, ReactNode } from \"react\";\n\ninterface ToolbarContextValue {\n\tfocus: \"high\" | \"low\";\n}\n\nconst ToolbarContext = createContext<ToolbarContextValue | undefined>(undefined);\n\nexport interface ToolbarProviderProps {\n\tchildren: ReactNode;\n\tfocus?: \"high\" | \"low\";\n}\n\nexport const ToolbarProvider: React.FC<ToolbarProviderProps> = ({ children, focus = \"high\" }) => {\n\treturn <ToolbarContext.Provider value={{ focus }}>{children}</ToolbarContext.Provider>;\n};\n\nexport const useToolbarContext = (): ToolbarContextValue => {\n\tconst context = useContext(ToolbarContext);\n\n\tif (context === undefined) {\n\t\tthrow new Error(\"useToolbarContext должен использоваться внутри ToolbarProvider\");\n\t}\n\n\treturn context;\n};\n","import * as ToolbarPrimitive from \"@radix-ui/react-toolbar\";\nimport React, { PropsWithChildren } from \"react\";\nimport { tv } from \"tailwind-variants\";\nimport { Divider } from \"../divider/Divider\";\nimport { Icon } from \"../icon\";\nimport { ChevronDown, LucideIcon } from \"lucide-react\";\nimport { ScrollArea } from \"../scroll-area/ScrollArea\";\nimport { ToolbarProvider, ToolbarProviderProps, useToolbarContext } from \"./ToolbarContext\";\n\nconst toolbarStyles = tv({\n\tslots: {\n\t\twrapper: \"flex items-center gap-1 rounded-lg p-1.5 lg:p-1\",\n\t\tscrollbar: \"h-1.5 border-t-0 px-1.5\",\n\t\tthumb: \"\",\n\t\tscrollarea: \"lg:rounded-lg\"\n\t},\n\tvariants: {\n\t\tfocus: {\n\t\t\tlow: {\n\t\t\t\twrapper: \"border border-secondary-border bg-secondary-bg\",\n\t\t\t\tscrollarea: \"lg:shadow-soft-sm\",\n\t\t\t\tthumb: \"bg-primary-border\"\n\t\t\t},\n\t\t\thigh: {\n\t\t\t\twrapper: \"bg-inverse-secondary-bg\",\n\t\t\t\tscrollarea: \"lg:shadow-hard-base\",\n\t\t\t\tthumb: \"bg-inverse-active\"\n\t\t\t}\n\t\t}\n\t}\n});\n\nexport type ToolbarProps = React.ComponentPropsWithoutRef<typeof ToolbarPrimitive.Root> &\n\tPick<ToolbarProviderProps, \"focus\">;\n\nexport const Toolbar = React.forwardRef<React.ElementRef<typeof ToolbarPrimitive.Root>, ToolbarProps>(\n\t({ className, focus = \"high\", ...props }, ref) => {\n\t\tconst styles = toolbarStyles();\n\n\t\treturn (\n\t\t\t<ToolbarProvider focus={focus}>\n\t\t\t\t<ScrollArea\n\t\t\t\t\ttype=\"always\"\n\t\t\t\t\tthumbClassName={styles.thumb({ focus })}\n\t\t\t\t\tscrollbarClassName={styles.scrollbar()}\n\t\t\t\t\tclassName={styles.scrollarea({ focus })}\n\t\t\t\t\torientation=\"horizontal\"\n\t\t\t\t>\n\t\t\t\t\t<ToolbarPrimitive.Root ref={ref} className={styles.wrapper({ className, focus })} {...props} />\n\t\t\t\t</ScrollArea>\n\t\t\t</ToolbarProvider>\n\t\t);\n\t}\n);\n\nToolbar.displayName = \"Toolbar\";\n\nconst toolbarButtonStyles = tv({\n\tbase: \"inline-flex items-center justify-center gap-1.5 rounded-sm p-1.5\",\n\tvariants: {\n\t\tfocus: {\n\t\t\tlow: \"hover:bg-secondary-bg-hover\",\n\t\t\thigh: \"hover:bg-inverse-hover\"\n\t\t}\n\t}\n});\n\nexport type ToolbarButtonProps = React.ComponentPropsWithoutRef<typeof ToolbarPrimitive.ToolbarButton>;\n\nexport const ToolbarButton = React.forwardRef<\n\tReact.ElementRef<typeof ToolbarPrimitive.ToolbarButton>,\n\tToolbarButtonProps\n>(({ className, ...props }, ref) => {\n\tconst { focus } = useToolbarContext();\n\tconst styles = toolbarButtonStyles({ className, focus });\n\treturn <ToolbarPrimitive.ToolbarButton ref={ref} className={styles} {...props} />;\n});\n\nToolbarButton.displayName = \"ToolbarButton\";\n\nconst toolbarIconStyles = tv({\n\tbase: \"h-4 w-4\",\n\tvariants: {\n\t\tfocus: {\n\t\t\tlow: \"text-primary-fg\",\n\t\t\thigh: \"stroke-[1.5px] text-inverse-primary-fg\"\n\t\t}\n\t}\n});\n\nexport type ToolbarIconProps = React.ComponentPropsWithoutRef<typeof Icon>;\n\nexport const ToolbarIcon = React.forwardRef<React.ElementRef<typeof Icon>, ToolbarIconProps>(\n\t({ className, ...props }, ref) => {\n\t\tconst { focus } = useToolbarContext();\n\t\treturn <Icon ref={ref} className={toolbarIconStyles({ className, focus })} {...props} />;\n\t}\n);\n\nToolbarIcon.displayName = \"ToolbarIcon\";\n\nconst toolbarTextStyles = tv({\n\tbase: \"text-base leading-none\",\n\tvariants: {\n\t\tfocus: {\n\t\t\tlow: \"text-primary-fg\",\n\t\t\thigh: \"text-inverse-primary-fg\"\n\t\t}\n\t}\n});\n\nexport type ToolbarTextProps = React.HTMLAttributes<HTMLDivElement>;\n\nexport const ToolbarText = React.forwardRef<HTMLDivElement, PropsWithChildren<ToolbarTextProps>>(\n\t({ className, ...props }, ref) => {\n\t\tconst { focus } = useToolbarContext();\n\t\treturn <div ref={ref} className={toolbarTextStyles({ className, focus })} {...props} />;\n\t}\n);\n\nToolbarText.displayName = \"ToolbarText\";\n\nconst toolbarSubTriggerStyles = tv({\n\tbase: \"\",\n\tslots: {\n\t\ticon: \"h-2 w-2 stroke-[3px]\"\n\t},\n\tvariants: {\n\t\tfocus: {\n\t\t\tlow: \"text-primary-fg\",\n\t\t\thigh: \"text-inverse-primary-fg\"\n\t\t}\n\t}\n});\n\nexport type ToolbarSubTriggerProps = Omit<React.ComponentPropsWithoutRef<typeof Icon>, \"icon\"> & {\n\ticon?: LucideIcon;\n};\n\nexport const ToolbarSubTrigger = React.forwardRef<React.ElementRef<typeof Icon>, ToolbarSubTriggerProps>(\n\t({ className, icon, ...props }, ref) => {\n\t\tconst { focus } = useToolbarContext();\n\t\tconst styles = toolbarSubTriggerStyles();\n\t\treturn (\n\t\t\t<span className={styles.base({ className, focus })}>\n\t\t\t\t<Icon icon={icon || ChevronDown} ref={ref} className={styles.icon({ focus })} {...props} />\n\t\t\t</span>\n\t\t);\n\t}\n);\n\nToolbarSubTrigger.displayName = \"ToolbarSubTrigger\";\n\nconst toolbarToggleGroupStyles = tv({\n\tbase: [\"flex items-center gap-1\"]\n});\n\nexport type ToolbarToggleGroupProps = React.ComponentPropsWithoutRef<typeof ToolbarPrimitive.ToggleGroup>;\n\nexport const ToolbarToggleGroup = React.forwardRef<\n\tReact.ElementRef<typeof ToolbarPrimitive.ToggleGroup>,\n\tToolbarToggleGroupProps\n>(({ className, ...props }, ref) => {\n\tconst styles = toolbarToggleGroupStyles({ className });\n\treturn <ToolbarPrimitive.ToggleGroup ref={ref} className={styles} {...props} />;\n});\nToolbarToggleGroup.displayName = ToolbarPrimitive.ToggleGroup.displayName;\n\nconst toolbarToggleStyles = tv({\n\textend: toolbarButtonStyles,\n\tbase: \"disabled:pointer-events-none disabled:opacity-50\",\n\tvariants: {\n\t\tfocus: {\n\t\t\tlow: \"data-[state=on]:bg-primary-bg-hover\",\n\t\t\thigh: \"data-[state=on]:bg-inverse-active\"\n\t\t}\n\t}\n});\n\nexport type ToolbarToggleItemProps = React.ComponentPropsWithoutRef<typeof ToolbarPrimitive.ToolbarToggleItem> & {\n\tchildren: React.ReactNode;\n};\n\nexport const ToolbarToggleItem = React.forwardRef<\n\tReact.ElementRef<typeof ToolbarPrimitive.ToolbarToggleItem>,\n\tToolbarToggleItemProps\n>(({ className, children, ...props }, ref) => {\n\tconst { focus } = useToolbarContext();\n\tconst styles = toolbarToggleStyles({ className, focus });\n\n\treturn (\n\t\t<ToolbarPrimitive.ToolbarToggleItem ref={ref} className={styles} {...props}>\n\t\t\t{children}\n\t\t</ToolbarPrimitive.ToolbarToggleItem>\n\t);\n});\n\nToolbarToggleItem.displayName = \"ToolbarToggleItem\";\n\nconst toolbarDividerStyles = tv({\n\tbase: \"h-5 w-px\",\n\tvariants: {\n\t\tfocus: {\n\t\t\tlow: \"bg-secondary-border\",\n\t\t\thigh: \"bg-inverse-border\"\n\t\t}\n\t}\n});\n\nexport type ToolbarSeparatorProps = React.HTMLAttributes<HTMLDivElement>;\n\nexport const ToolbarSeparator = React.forwardRef<React.ElementRef<typeof Divider>, ToolbarSeparatorProps>(\n\t({ className, ...props }, ref) => {\n\t\tconst { focus } = useToolbarContext();\n\t\tconst styles = toolbarDividerStyles({ className, focus });\n\t\treturn (\n\t\t\t<ToolbarPrimitive.ToolbarSeparator asChild data-orientation=\"vertical\">\n\t\t\t\t<Divider ref={ref} orientation=\"vertical\" className={styles} {...props} />\n\t\t\t</ToolbarPrimitive.ToolbarSeparator>\n\t\t);\n\t}\n);\n\nToolbarSeparator.displayName = \"ToolbarSeparator\";\n\nconst toolbarTriggerChevronStyles = tv({\n\tslots: {\n\t\twrapper: \"pr-0.5\",\n\t\tsubtrigger: \"py-0.5\"\n\t},\n\tvariants: {\n\t\tsub: {\n\t\t\ttrue: { wrapper: \"-ml-0.5 px-0.5 py-2\" }\n\t\t}\n\t}\n});\n\nexport type ToolbarTriggerChevronProps = ToolbarTriggerProps & {\n\tsub?: boolean;\n};\n\nexport const ToolbarTriggerChevron = React.forwardRef<\n\tReact.ElementRef<typeof ToolbarPrimitive.ToolbarButton>,\n\tToolbarTriggerChevronProps\n>(({ className, children, sub, ...props }, ref) => {\n\tconst styles = toolbarTriggerChevronStyles();\n\n\treturn (\n\t\t<ToolbarTrigger ref={ref} data-stick-left className={styles.wrapper({ className, sub })} {...props}>\n\t\t\t{children}\n\t\t\t<ToolbarSubTrigger className={styles.subtrigger()} />\n\t\t</ToolbarTrigger>\n\t);\n});\n\nToolbarTriggerChevron.displayName = \"ToolbarTriggerChevron \";\n\nconst toolbarTriggerStyles = tv({\n\tbase: \"\",\n\tvariants: {\n\t\tfocus: {\n\t\t\tlow: \"data-[state=open]:bg-primary-bg-hover\",\n\t\t\thigh: \"data-[state=open]:bg-inverse-active\"\n\t\t}\n\t}\n});\n\nexport type ToolbarTriggerProps = ToolbarButtonProps & {\n\t\"data-state\"?: \"open\" | \"closed\";\n};\n\nexport const ToolbarTrigger = React.forwardRef<\n\tReact.ElementRef<typeof ToolbarPrimitive.ToolbarButton>,\n\tToolbarTriggerProps\n>(({ className, children, ...props }, ref) => {\n\tconst { focus } = useToolbarContext();\n\n\treturn (\n\t\t<ToolbarButton ref={ref} data-stick-left className={toolbarTriggerStyles({ className, focus })} {...props}>\n\t\t\t{children}\n\t\t</ToolbarButton>\n\t);\n});\n\nToolbarTrigger.displayName = \"ToolbarTrigger\";\n"],"names":["NAME","DEFAULT_ORIENTATION","ORIENTATIONS","Separator","React","props","forwardedRef","decorative","orientationProp","domProps","orientation","isValidOrientation","semanticProps","jsx","Primitive","Root","TOOLBAR_NAME","createToolbarContext","createToolbarScope","createContextScope","createRovingFocusGroupScope","createToggleGroupScope","useRovingFocusGroupScope","useToggleGroupScope","ToolbarProvider","useToolbarContext","Toolbar","__scopeToolbar","dir","loop","toolbarProps","rovingFocusGroupScope","direction","useDirection","RovingFocusGroup.Root","SEPARATOR_NAME","ToolbarSeparator","separatorProps","context","SeparatorPrimitive.Root","BUTTON_NAME","ToolbarButton","buttonProps","RovingFocusGroup.Item","LINK_NAME","ToolbarLink","linkProps","composeEventHandlers","event","TOGGLE_GROUP_NAME","ToolbarToggleGroup","toggleGroupProps","toggleGroupScope","ToggleGroupPrimitive.Root","TOGGLE_ITEM_NAME","ToolbarToggleItem","toggleItemProps","scope","ToggleGroupPrimitive.Item","Root4","ToggleGroup","useStateMachine","initialState","machine","state","SCROLL_AREA_NAME","createScrollAreaContext","createScrollAreaScope","ScrollAreaProvider","useScrollAreaContext","ScrollArea","React2","__scopeScrollArea","type","scrollHideDelay","scrollAreaProps","scrollArea","setScrollArea","viewport","setViewport","content","setContent","scrollbarX","setScrollbarX","scrollbarY","setScrollbarY","cornerWidth","setCornerWidth","cornerHeight","setCornerHeight","scrollbarXEnabled","setScrollbarXEnabled","scrollbarYEnabled","setScrollbarYEnabled","composedRefs","useComposedRefs","node","VIEWPORT_NAME","ScrollAreaViewport","children","nonce","viewportProps","ref","jsxs","Fragment","SCROLLBAR_NAME","ScrollAreaScrollbar","forceMount","scrollbarProps","onScrollbarXEnabledChange","onScrollbarYEnabledChange","isHorizontal","ScrollAreaScrollbarHover","ScrollAreaScrollbarScroll","ScrollAreaScrollbarAuto","ScrollAreaScrollbarVisible","visible","setVisible","hideTimer","handlePointerEnter","handlePointerLeave","Presence","debounceScrollEnd","useDebounceCallback","send","scrollDirection","prevScrollPos","handleScroll","scrollPos","handleResize","isOverflowX","isOverflowY","useResizeObserver","thumbRef","pointerOffsetRef","sizes","setSizes","thumbRatio","getThumbRatio","commonProps","thumb","pointerPos","getScrollPosition","getScrollPositionFromPointer","ScrollAreaScrollbarX","offset","getThumbOffsetFromScroll","ScrollAreaScrollbarY","onSizesChange","computedStyle","setComputedStyle","composeRefs","ScrollAreaScrollbarImpl","getThumbSize","maxScrollPos","isScrollingWithinScrollbarBounds","toInt","ScrollbarProvider","useScrollbarContext","hasThumb","onThumbChange","onThumbPointerUp","onThumbPointerDown","onThumbPositionChange","onDragScroll","onWheelScroll","onResize","scrollbar","setScrollbar","rectRef","prevWebkitUserSelectRef","handleWheelScroll","useCallbackRef","handleThumbPositionChange","handleDragScroll","x","y","handleWheel","element","THUMB_NAME","ScrollAreaThumb","thumbProps","scrollbarContext","ScrollAreaThumbImpl","style","scrollAreaContext","composedRef","removeUnlinkedScrollListenerRef","listener","addUnlinkedScrollListener","thumbRect","CORNER_NAME","ScrollAreaCorner","hasBothScrollbarsVisible","ScrollAreaCornerImpl","cornerProps","width","setWidth","height","setHeight","hasSize","height2","width2","value","viewportSize","contentSize","ratio","scrollbarPadding","thumbSize","pointerOffset","thumbSizePx","thumbCenter","thumbOffsetFromEnd","minPointerPos","maxPointerPos","scrollRange","linearScale","maxThumbPos","scrollClampRange","scrollWithoutMomentum","clamp","input","output","handler","prevPosition","rAF","position","isHorizontalScroll","isVerticalScroll","callback","delay","handleCallback","debounceTimerRef","useLayoutEffect","resizeObserver","Viewport","Corner","scrollAreaStyles","tv","className","thumbClassName","scrollbarClassName","styles","ScrollAreaPrimitive.Root","ScrollAreaPrimitive.Viewport","ScrollBar","ScrollAreaPrimitive.Corner","scrollBarStyles","ScrollAreaPrimitive.ScrollAreaScrollbar","ScrollAreaPrimitive.ScrollAreaThumb","ToolbarContext","createContext","focus","useContext","toolbarStyles","ToolbarPrimitive.Root","toolbarButtonStyles","ToolbarPrimitive.ToolbarButton","toolbarIconStyles","ToolbarIcon","Icon","toolbarTextStyles","ToolbarText","toolbarSubTriggerStyles","ToolbarSubTrigger","icon","ChevronDown","toolbarToggleGroupStyles","ToolbarPrimitive.ToggleGroup","toolbarToggleStyles","ToolbarPrimitive.ToolbarToggleItem","toolbarDividerStyles","ToolbarPrimitive.ToolbarSeparator","Divider","toolbarTriggerChevronStyles","ToolbarTriggerChevron","sub","ToolbarTrigger","toolbarTriggerStyles"],"mappings":"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","x_google_ignoreList":[0,1,2]}
@@ -1,4 +1,4 @@
1
- import { T as i, d as T, c as a, i as l, g as p, j as s, a as e, h as r, f as n, e as x, b as c, u as g } from "../Tooltip-Cm1-WEdA.js";
1
+ import { T as i, d as T, c as a, i as l, g as p, j as s, a as e, h as r, f as n, e as x, b as c, u as g } from "../Tooltip-BH_Jc6ub.js";
2
2
  export {
3
3
  i as Tooltip,
4
4
  T as TooltipArrow,
@@ -1 +1 @@
1
- {"version":3,"file":"downloadFile-yZV-aaO2.js","sources":["../src/lib/utils/file/downloadFile.ts"],"sourcesContent":["import { FileValue } from \"@/components/input\";\r\n\r\nexport function downloadFile(value: FileValue) {\r\n\tif (!value) return;\r\n\r\n\tif (value instanceof File) {\r\n\t\t// Логика для браузерного File объекта\r\n\t\tconst url = URL.createObjectURL(value);\r\n\t\tconst link = document.createElement(\"a\");\r\n\t\tlink.href = url;\r\n\t\tlink.download = value.name;\r\n\t\tdocument.body.appendChild(link);\r\n\t\tlink.click();\r\n\t\tdocument.body.removeChild(link);\r\n\t\t// Освобождаем память\r\n\t\tURL.revokeObjectURL(url);\r\n\t} else if (value.url) {\r\n\t\t// Логика для FileInfo с URL\r\n\t\tconst link = document.createElement(\"a\");\r\n\t\tlink.href = value.url;\r\n\t\tlink.download = value.name;\r\n\t\tlink.target = \"_blank\";\r\n\t\tdocument.body.appendChild(link);\r\n\t\tlink.click();\r\n\t\tdocument.body.removeChild(link);\r\n\t}\r\n}\r\n"],"names":["downloadFile","value","url","link"],"mappings":"AAEO,SAASA,EAAaC,GAAkB;AAC9C,MAAKA;AAEL,QAAIA,aAAiB,MAAM;AAEpB,YAAAC,IAAM,IAAI,gBAAgBD,CAAK,GAC/BE,IAAO,SAAS,cAAc,GAAG;AACvC,MAAAA,EAAK,OAAOD,GACZC,EAAK,WAAWF,EAAM,MACb,SAAA,KAAK,YAAYE,CAAI,GAC9BA,EAAK,MAAM,GACF,SAAA,KAAK,YAAYA,CAAI,GAE9B,IAAI,gBAAgBD,CAAG;AAAA,IAAA,WACbD,EAAM,KAAK;AAEf,YAAAE,IAAO,SAAS,cAAc,GAAG;AACvC,MAAAA,EAAK,OAAOF,EAAM,KAClBE,EAAK,WAAWF,EAAM,MACtBE,EAAK,SAAS,UACL,SAAA,KAAK,YAAYA,CAAI,GAC9BA,EAAK,MAAM,GACF,SAAA,KAAK,YAAYA,CAAI;AAAA,IAAA;AAAA;AAEhC;"}
1
+ {"version":3,"file":"downloadFile-yZV-aaO2.js","sources":["../src/lib/utils/file/downloadFile.ts"],"sourcesContent":["import { FileValue } from \"@/components/input\";\n\nexport function downloadFile(value: FileValue) {\n\tif (!value) return;\n\n\tif (value instanceof File) {\n\t\t// Логика для браузерного File объекта\n\t\tconst url = URL.createObjectURL(value);\n\t\tconst link = document.createElement(\"a\");\n\t\tlink.href = url;\n\t\tlink.download = value.name;\n\t\tdocument.body.appendChild(link);\n\t\tlink.click();\n\t\tdocument.body.removeChild(link);\n\t\t// Освобождаем память\n\t\tURL.revokeObjectURL(url);\n\t} else if (value.url) {\n\t\t// Логика для FileInfo с URL\n\t\tconst link = document.createElement(\"a\");\n\t\tlink.href = value.url;\n\t\tlink.download = value.name;\n\t\tlink.target = \"_blank\";\n\t\tdocument.body.appendChild(link);\n\t\tlink.click();\n\t\tdocument.body.removeChild(link);\n\t}\n}\n"],"names":["downloadFile","value","url","link"],"mappings":"AAEO,SAASA,EAAaC,GAAkB;AAC9C,MAAKA;AAEL,QAAIA,aAAiB,MAAM;AAEpB,YAAAC,IAAM,IAAI,gBAAgBD,CAAK,GAC/BE,IAAO,SAAS,cAAc,GAAG;AACvC,MAAAA,EAAK,OAAOD,GACZC,EAAK,WAAWF,EAAM,MACb,SAAA,KAAK,YAAYE,CAAI,GAC9BA,EAAK,MAAM,GACF,SAAA,KAAK,YAAYA,CAAI,GAE9B,IAAI,gBAAgBD,CAAG;AAAA,IAAA,WACbD,EAAM,KAAK;AAEf,YAAAE,IAAO,SAAS,cAAc,GAAG;AACvC,MAAAA,EAAK,OAAOF,EAAM,KAClBE,EAAK,WAAWF,EAAM,MACtBE,EAAK,SAAS,UACL,SAAA,KAAK,YAAYA,CAAI,GAC9BA,EAAK,MAAM,GACF,SAAA,KAAK,YAAYA,CAAI;AAAA,IAAA;AAAA;AAEhC;"}