@womp/kookie-ui 0.15.0 → 0.16.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/components.css +91 -0
- package/dist/cjs/components/_internal/pane-chrome.d.ts +11 -0
- package/dist/cjs/components/_internal/pane-chrome.d.ts.map +1 -1
- package/dist/cjs/components/_internal/pane-chrome.js +1 -1
- package/dist/cjs/components/_internal/pane-chrome.js.map +4 -4
- package/dist/cjs/components/_internal/shell-sidebar.js +1 -1
- package/dist/cjs/components/_internal/shell-sidebar.js.map +4 -4
- package/dist/cjs/components/chatbar.js +2 -2
- package/dist/cjs/components/chatbar.js.map +4 -4
- package/dist/cjs/components/context-menu.js +1 -1
- package/dist/cjs/components/context-menu.js.map +4 -4
- package/dist/cjs/components/dropdown-menu.js +1 -1
- package/dist/cjs/components/dropdown-menu.js.map +4 -4
- package/dist/cjs/components/index.js +5 -5
- package/dist/cjs/components/index.js.map +4 -4
- package/dist/cjs/components/scroll-area.d.ts.map +1 -1
- package/dist/cjs/components/scroll-area.js +1 -1
- package/dist/cjs/components/scroll-area.js.map +4 -4
- package/dist/cjs/components/select.d.ts.map +1 -1
- package/dist/cjs/components/select.js +1 -1
- package/dist/cjs/components/select.js.map +4 -4
- package/dist/cjs/components/shell.js +1 -1
- package/dist/cjs/components/shell.js.map +4 -4
- package/dist/cjs/components/sidebar.js +1 -1
- package/dist/cjs/components/sidebar.js.map +4 -4
- package/dist/cjs/components/table.js +1 -1
- package/dist/cjs/components/table.js.map +4 -4
- package/dist/cjs/components/theme-panel.js +3 -3
- package/dist/cjs/components/theme-panel.js.map +4 -4
- package/dist/cjs/components/toolbar.d.ts +8 -2
- package/dist/cjs/components/toolbar.d.ts.map +1 -1
- package/dist/cjs/components/toolbar.js +2 -2
- package/dist/cjs/components/toolbar.js.map +3 -3
- package/dist/cjs/hooks/use-thumb-sync.d.ts +13 -0
- package/dist/cjs/hooks/use-thumb-sync.d.ts.map +1 -0
- package/dist/cjs/hooks/use-thumb-sync.js +2 -0
- package/dist/cjs/hooks/use-thumb-sync.js.map +7 -0
- package/dist/cjs/index.js +6 -6
- package/dist/cjs/index.js.map +4 -4
- package/dist/esm/chunk-2IWL4V4H.js +2 -0
- package/dist/esm/chunk-2IWL4V4H.js.map +7 -0
- package/dist/esm/{chunk-CYXBQRQK.js → chunk-2MYYU7ST.js} +2 -2
- package/dist/esm/{chunk-KA5XDSKH.js → chunk-2NNCZM7P.js} +2 -2
- package/dist/esm/chunk-4EBCFKNC.js +2 -0
- package/dist/esm/chunk-4EBCFKNC.js.map +7 -0
- package/dist/esm/{chunk-4FQLRQKJ.js → chunk-BDOMLGLZ.js} +2 -2
- package/dist/esm/chunk-DDFONGSM.js +2 -0
- package/dist/esm/chunk-DDFONGSM.js.map +7 -0
- package/dist/esm/{chunk-K7XY7FLD.js → chunk-DDYII5NA.js} +2 -2
- package/dist/esm/chunk-HKRQ3E3I.js +2 -0
- package/dist/esm/chunk-HKRQ3E3I.js.map +7 -0
- package/dist/esm/{chunk-SHFBYYEP.js → chunk-J43ZS6TI.js} +2 -2
- package/dist/esm/{chunk-5EAMAW2H.js → chunk-PAB6HVKC.js} +2 -2
- package/dist/esm/{chunk-A6CDNZMT.js → chunk-RVHKSNMJ.js} +2 -2
- package/dist/esm/chunk-UZS3BA2Z.js +2 -0
- package/dist/esm/chunk-UZS3BA2Z.js.map +7 -0
- package/dist/esm/{chunk-TY3DIJFF.js → chunk-YSHEXVBI.js} +2 -2
- package/dist/esm/components/_internal/pane-chrome.d.ts +11 -0
- package/dist/esm/components/_internal/pane-chrome.d.ts.map +1 -1
- package/dist/esm/components/_internal/pane-chrome.js +1 -1
- package/dist/esm/components/_internal/shell-sidebar.js +1 -1
- package/dist/esm/components/chatbar.js +1 -1
- package/dist/esm/components/context-menu.js +1 -1
- package/dist/esm/components/dropdown-menu.js +1 -1
- package/dist/esm/components/index.js +1 -1
- package/dist/esm/components/scroll-area.d.ts.map +1 -1
- package/dist/esm/components/scroll-area.js +1 -1
- package/dist/esm/components/select.d.ts.map +1 -1
- package/dist/esm/components/select.js +1 -1
- package/dist/esm/components/shell.js +1 -1
- package/dist/esm/components/sidebar.js +1 -1
- package/dist/esm/components/table.js +1 -1
- package/dist/esm/components/theme-panel.js +1 -1
- package/dist/esm/components/toolbar.d.ts +8 -2
- package/dist/esm/components/toolbar.d.ts.map +1 -1
- package/dist/esm/components/toolbar.js +1 -1
- package/dist/esm/hooks/use-thumb-sync.d.ts +13 -0
- package/dist/esm/hooks/use-thumb-sync.d.ts.map +1 -0
- package/dist/esm/hooks/use-thumb-sync.js +2 -0
- package/dist/esm/hooks/use-thumb-sync.js.map +7 -0
- package/dist/esm/index.js +1 -1
- package/package.json +1 -1
- package/src/components/_internal/pane-chrome.tsx +37 -9
- package/src/components/scroll-area.tsx +3 -1
- package/src/components/select.tsx +3 -0
- package/src/components/shell.css +109 -0
- package/src/components/toolbar.css +6 -0
- package/src/components/toolbar.tsx +15 -6
- package/src/hooks/use-thumb-sync.ts +55 -0
- package/styles.css +91 -0
- package/dist/esm/chunk-BQE543O5.js +0 -2
- package/dist/esm/chunk-BQE543O5.js.map +0 -7
- package/dist/esm/chunk-C7JXVNMI.js +0 -2
- package/dist/esm/chunk-C7JXVNMI.js.map +0 -7
- package/dist/esm/chunk-JZD5FHSU.js +0 -2
- package/dist/esm/chunk-JZD5FHSU.js.map +0 -7
- package/dist/esm/chunk-VASXAV62.js +0 -2
- package/dist/esm/chunk-VASXAV62.js.map +0 -7
- /package/dist/esm/{chunk-CYXBQRQK.js.map → chunk-2MYYU7ST.js.map} +0 -0
- /package/dist/esm/{chunk-KA5XDSKH.js.map → chunk-2NNCZM7P.js.map} +0 -0
- /package/dist/esm/{chunk-4FQLRQKJ.js.map → chunk-BDOMLGLZ.js.map} +0 -0
- /package/dist/esm/{chunk-K7XY7FLD.js.map → chunk-DDYII5NA.js.map} +0 -0
- /package/dist/esm/{chunk-SHFBYYEP.js.map → chunk-J43ZS6TI.js.map} +0 -0
- /package/dist/esm/{chunk-5EAMAW2H.js.map → chunk-PAB6HVKC.js.map} +0 -0
- /package/dist/esm/{chunk-A6CDNZMT.js.map → chunk-RVHKSNMJ.js.map} +0 -0
- /package/dist/esm/{chunk-TY3DIJFF.js.map → chunk-YSHEXVBI.js.map} +0 -0
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{a as p}from"./chunk-ZUOK3KFY.js";import{a as v}from"./chunk-MQT3YJKY.js";import{a as x}from"./chunk-Y4IB7KDZ.js";import{a as B}from"./chunk-O6K6RZXY.js";import{a as R}from"./chunk-UBSLEGQZ.js";import{a as y}from"./chunk-GSTOGDAJ.js";import*as o from"react";import b from"classnames";import{Toolbar as m}from"radix-ui";var S=o.createContext(null),C=o.createContext(null);function T(t){let r=o.useContext(S);if(!r)throw new Error(`${t} must be rendered inside a Toolbar.`);return r}var d=o.forwardRef((t,r)=>{let e=t.size??p.size.default,a=t.orientation??p.orientation.default,{className:n,orientation:i,backdrop:s=!1,children:l,...u}=R(t,p,y),c=o.useMemo(()=>({size:e,orientation:a,backdrop:s}),[e,a,s]);return o.createElement(m.Root,{...u,ref:r,orientation:a,"data-backdrop":s||void 0,className:b("rt-Toolbar",n)},o.createElement(S.Provider,{value:c},l))});d.displayName="Toolbar";var G=o.forwardRef(({className:t,disabled:r=!1,children:e,...a},n)=>{let{orientation:i}=T("ToolbarGroup"),s=o.useMemo(()=>({disabled:r}),[r]);return o.createElement("div",{role:"group","data-orientation":i,"data-disabled":r||void 0,...a,ref:n,className:b("rt-ToolbarGroup",t)},o.createElement(C.Provider,{value:s},e))});G.displayName="Toolbar.Group";function D(t){return t===!0||t==="true"}var N=o.forwardRef((t,r)=>{let e=T("ToolbarButton"),a=o.useContext(C),{iconOnly:n,size:i,variant:s,emphasis:l,color:u,disabled:c,...P}=t,z=D(t["aria-pressed"]),O="data-state"in t||t["aria-pressed"]===void 0?{}:{"data-state":z?"on":"off"},f={size:i??e.size,...l!==void 0?{emphasis:l}:{variant:s??(a?"ghost":e.backdrop?"raised":"soft")},color:u??(s||l?void 0:"gray"),...O};return o.createElement(m.Button,{asChild:!0,ref:r,disabled:c||a?.disabled||void 0},n?o.createElement(v,{...P,...f}):o.createElement(x,{...P,...f}))});N.displayName="Toolbar.Button";var g=o.forwardRef(({className:t,...r},e)=>(T("ToolbarSeparator"),o.createElement(m.Separator,{...r,ref:e,className:b("rt-ToolbarSeparator",t)})));g.displayName="Toolbar.Separator";var w={1:"2",2:"3",3:"4",4:"5"},h=o.forwardRef(({className:t,children:r,style:e,id:a},n)=>{let{size:i}=T("ToolbarTitle");return r==null||r===!1?null:o.createElement(B,{ref:n,as:"span",size:w[i],weight:"medium",truncate:!0,id:a,style:e,className:b("rt-ToolbarTitle",t)},r)});h.displayName="Toolbar.Title";var V=Object.assign(d,{Root:d,Group:G,Button:N,Separator:g,Title:h});export{d as a,G as b,N as c,g as d,h as e,V as f};
|
|
2
|
+
//# sourceMappingURL=chunk-2IWL4V4H.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../src/components/toolbar.tsx"],
|
|
4
|
+
"sourcesContent": ["'use client';\n\nimport * as React from 'react';\nimport classNames from 'classnames';\nimport { Toolbar as ToolbarPrimitive } from 'radix-ui';\n\nimport { toolbarRootPropDefs } from './toolbar.props.js';\nimport { Button } from './button.js';\nimport { IconButton } from './icon-button.js';\nimport { Text } from './text.js';\nimport { extractProps } from '../helpers/extract-props.js';\nimport { marginPropDefs } from '../props/margin.props.js';\n\nimport type { ButtonProps } from './button.js';\nimport type { TextProps } from './text.js';\nimport type { MarginProps } from '../props/margin.props.js';\nimport type { ComponentPropsWithout, RemovedProps } from '../helpers/component-props.js';\nimport type { GetPropDefTypes } from '../props/prop-def.js';\nimport type { ButtonRankProps } from './button.js';\n\n/*\n * Toolbar takes Kookie UI v2's contract (v2: components/toolbar), built on Radix instead of\n * Base UI. A toolbar is a row of controls with ONE tab stop: `role=\"toolbar\"`, and the arrow\n * keys move focus between its controls. That keyboard is the reason it is a component.\n *\n * Its `size` reaches every control inside it that does not state its own. The row itself paints\n * nothing; a `ToolbarGroup` draws a quiet well around controls that belong together, and a\n * `ToolbarSeparator` draws a gray hairline between clusters. Use a `Flex` to cluster controls\n * without a well: the row spaces the clusters with `space-between`.\n */\n\ntype ToolbarSize = NonNullable<GetPropDefTypes<typeof toolbarRootPropDefs>['size']>;\ntype ToolbarOrientation = NonNullable<GetPropDefTypes<typeof toolbarRootPropDefs>['orientation']>;\n\ninterface ToolbarContextValue {\n size: ToolbarSize;\n orientation: ToolbarOrientation;\n backdrop: boolean;\n}\n\nconst ToolbarContext = React.createContext<ToolbarContextValue | null>(null);\n\n/** Set by a `ToolbarGroup`: its children rest quiet, and `disabled` turns them all off. */\nconst ToolbarGroupContext = React.createContext<{ disabled: boolean } | null>(null);\n\nfunction useToolbarContext(consumer: string): ToolbarContextValue {\n const context = React.useContext(ToolbarContext);\n if (!context) {\n throw new Error(`${consumer} must be rendered inside a Toolbar.`);\n }\n return context;\n}\n\n// ============================================================================\n// Toolbar (root)\n// ============================================================================\n\ntype ToolbarOwnProps = GetPropDefTypes<typeof toolbarRootPropDefs>;\n\ninterface ToolbarProps\n extends ComponentPropsWithout<typeof ToolbarPrimitive.Root, RemovedProps | 'orientation'>,\n ToolbarOwnProps,\n MarginProps {\n /**\n * Gives every control a surface of its own, for a row that content passes behind, such as\n * `Shell.PaneHeader float`. Buttons rest `raised` instead of `soft`, and a group's well is\n * solid and raised.\n */\n backdrop?: boolean;\n}\n\n/**\n * A row of controls with one keyboard tab stop. The arrow keys move focus between the controls.\n *\n * Give it an `aria-label` (or `aria-labelledby`) that says what the controls act on.\n *\n * @example\n * ```tsx\n * <Toolbar aria-label=\"Formatting\">\n * <ToolbarGroup>\n * <ToolbarButton iconOnly aria-label=\"Bold\" aria-pressed={bold} onClick={toggleBold}>\n * <HugeiconsIcon icon={TextBoldIcon} strokeWidth={1.75} />\n * </ToolbarButton>\n * </ToolbarGroup>\n * <ToolbarSeparator />\n * <ToolbarButton>Share</ToolbarButton>\n * </Toolbar>\n * ```\n */\nconst ToolbarRoot = React.forwardRef<HTMLDivElement, ToolbarProps>((props, forwardedRef) => {\n const size: ToolbarSize = props.size ?? toolbarRootPropDefs.size.default;\n const orientation: ToolbarOrientation = props.orientation ?? toolbarRootPropDefs.orientation.default;\n const { className, orientation: _orientation, backdrop = false, children, ...rootProps } = extractProps(\n props,\n toolbarRootPropDefs,\n marginPropDefs,\n );\n\n const context = React.useMemo(() => ({ size, orientation, backdrop }), [size, orientation, backdrop]);\n\n return (\n <ToolbarPrimitive.Root\n {...rootProps}\n ref={forwardedRef}\n orientation={orientation}\n data-backdrop={backdrop || undefined}\n className={classNames('rt-Toolbar', className)}\n >\n <ToolbarContext.Provider value={context}>{children}</ToolbarContext.Provider>\n </ToolbarPrimitive.Root>\n );\n});\nToolbarRoot.displayName = 'Toolbar';\n\n// ============================================================================\n// ToolbarGroup\n// ============================================================================\n\ninterface ToolbarGroupProps extends ComponentPropsWithout<'div', RemovedProps> {\n /** Turns every control in the group off at once. */\n disabled?: boolean;\n}\n\n/**\n * Controls that belong together, drawn as one quiet well that stands level with a button\n * beside it. Buttons inside it rest as `ghost` unless they state a `variant`.\n * To cluster controls without a well, use a `Flex`.\n */\nconst ToolbarGroup = React.forwardRef<HTMLDivElement, ToolbarGroupProps>(\n ({ className, disabled = false, children, ...props }, forwardedRef) => {\n const { orientation } = useToolbarContext('ToolbarGroup');\n const group = React.useMemo(() => ({ disabled }), [disabled]);\n return (\n <div\n role=\"group\"\n data-orientation={orientation}\n data-disabled={disabled || undefined}\n {...props}\n ref={forwardedRef}\n className={classNames('rt-ToolbarGroup', className)}\n >\n <ToolbarGroupContext.Provider value={group}>{children}</ToolbarGroupContext.Provider>\n </div>\n );\n },\n);\nToolbarGroup.displayName = 'Toolbar.Group';\n\n// ============================================================================\n// ToolbarButton\n// ============================================================================\n\ntype ToolbarButtonBaseProps = Omit<ButtonProps, 'as' | 'asChild' | 'variant' | 'emphasis'>;\n\n/** A labelled button: takes every `Button` prop. */\ntype ToolbarTextButtonProps = ToolbarButtonBaseProps &\n ButtonRankProps & {\n iconOnly?: false;\n};\n\n/** An icon-only button: renders an `IconButton`, and the type requires an `aria-label`. */\ntype ToolbarIconButtonProps = Omit<ToolbarButtonBaseProps, 'aria-label' | 'aria-labelledby' | 'fullWidth'> &\n ButtonRankProps & {\n iconOnly: true;\n /** The control's accessible name. An icon has no words of its own, so this is required. */\n 'aria-label': string;\n};\n\ntype ToolbarButtonProps = ToolbarTextButtonProps | ToolbarIconButtonProps;\n\nfunction isPressed(value: React.AriaAttributes['aria-pressed']) {\n return value === true || value === 'true';\n}\n\n/**\n * A `Button` that joins the toolbar's keyboard navigation, so a row of them is one tab stop.\n *\n * Set `iconOnly` (with an `aria-label`) for a symbol-only control. Set `aria-pressed` for a\n * control that toggles; a pressed button wears Button's pressed look.\n *\n * It takes the toolbar's `size`, and rests as a gray `soft` button (`raised` in a toolbar with\n * `backdrop`, gray `ghost` inside a `ToolbarGroup`). A stated `size`, `variant` or `color` wins; a stated `variant` without a\n * `color` takes Button's own default colour. It throws outside a `Toolbar`.\n */\nconst ToolbarButton = React.forwardRef<HTMLButtonElement, ToolbarButtonProps>((props, forwardedRef) => {\n const toolbar = useToolbarContext('ToolbarButton');\n const group = React.useContext(ToolbarGroupContext);\n const { iconOnly, size, variant, emphasis, color, disabled, ...rest } = props;\n\n const pressed = isPressed(props['aria-pressed']);\n const stateProps =\n 'data-state' in props || props['aria-pressed'] === undefined ? {} : { 'data-state': pressed ? 'on' : 'off' };\n\n const shared = {\n size: size ?? toolbar.size,\n // A caller states the look by `variant` or the rank by `emphasis`, never both.\n ...(emphasis !== undefined ? { emphasis } : { variant: variant ?? (group ? 'ghost' : toolbar.backdrop ? 'raised' : 'soft') }),\n // The gray rest is a pair with the default variant: a caller who states a variant or an\n // emphasis gets Button's own colour for it unless they state a colour too.\n color: color ?? (variant || emphasis ? undefined : 'gray'),\n ...stateProps,\n } as const;\n\n return (\n <ToolbarPrimitive.Button asChild ref={forwardedRef} disabled={disabled || group?.disabled || undefined}>\n {iconOnly ? (\n <IconButton {...(rest as Omit<ToolbarIconButtonProps, 'iconOnly' | 'variant' | 'emphasis'>)} {...shared} />\n ) : (\n <Button {...(rest as Omit<ToolbarTextButtonProps, 'iconOnly' | 'variant' | 'emphasis'>)} {...shared} />\n )}\n </ToolbarPrimitive.Button>\n );\n});\nToolbarButton.displayName = 'Toolbar.Button';\n\n// ============================================================================\n// ToolbarSeparator\n// ============================================================================\n\ntype ToolbarSeparatorProps = ComponentPropsWithout<typeof ToolbarPrimitive.Separator, RemovedProps | 'orientation'>;\n\n/**\n * A gray hairline between two clusters, announced as a separator. Its direction is always\n * opposite to the toolbar's.\n */\nconst ToolbarSeparator = React.forwardRef<HTMLDivElement, ToolbarSeparatorProps>(\n ({ className, ...props }, forwardedRef) => {\n useToolbarContext('ToolbarSeparator');\n return (\n <ToolbarPrimitive.Separator\n {...props}\n ref={forwardedRef}\n className={classNames('rt-ToolbarSeparator', className)}\n />\n );\n },\n);\nToolbarSeparator.displayName = 'Toolbar.Separator';\n\n// ============================================================================\n// ToolbarTitle\n// ============================================================================\n\n/** The title's text step: one step above the label of a button at the same size. */\nconst TITLE_SIZE = { '1': '2', '2': '3', '3': '4', '4': '5' } as const satisfies Record<ToolbarSize, TextProps['size']>;\n\ninterface ToolbarTitleProps {\n /** The title text. With none, the title renders nothing. */\n children?: React.ReactNode;\n className?: string;\n style?: React.CSSProperties;\n /** The id of the title, so that the toolbar's `aria-labelledby` can point at it. */\n id?: string;\n}\n\n/**\n * What the row is about, at its leading edge. One line: it truncates rather than wrapping.\n * Its text step follows the toolbar's `size`, and it takes more air from the controls beside it\n * than they take from each other.\n */\nconst ToolbarTitle = React.forwardRef<HTMLSpanElement, ToolbarTitleProps>(\n ({ className, children, style, id }, forwardedRef) => {\n const { size } = useToolbarContext('ToolbarTitle');\n if (children === undefined || children === null || children === false) return null;\n return (\n <Text\n ref={forwardedRef}\n as=\"span\"\n size={TITLE_SIZE[size]}\n weight=\"medium\"\n truncate\n id={id}\n style={style}\n className={classNames('rt-ToolbarTitle', className)}\n >\n {children}\n </Text>\n );\n },\n);\nToolbarTitle.displayName = 'Toolbar.Title';\n\n// ============================================================================\n// Exports\n// ============================================================================\n\nconst Toolbar = Object.assign(ToolbarRoot, {\n Root: ToolbarRoot,\n Group: ToolbarGroup,\n Button: ToolbarButton,\n Separator: ToolbarSeparator,\n Title: ToolbarTitle,\n});\n\nexport {\n Toolbar,\n ToolbarGroup,\n ToolbarButton,\n ToolbarSeparator,\n ToolbarTitle,\n ToolbarRoot as Root,\n ToolbarGroup as Group,\n ToolbarButton as Button,\n ToolbarSeparator as Separator,\n ToolbarTitle as Title,\n};\nexport type {\n ToolbarProps,\n ToolbarGroupProps,\n ToolbarButtonProps,\n ToolbarSeparatorProps,\n ToolbarTitleProps,\n ToolbarProps as RootProps,\n ToolbarGroupProps as GroupProps,\n ToolbarButtonProps as ButtonProps,\n ToolbarSeparatorProps as SeparatorProps,\n ToolbarTitleProps as TitleProps,\n};\n"],
|
|
5
|
+
"mappings": "gPAEA,UAAYA,MAAW,QACvB,OAAOC,MAAgB,aACvB,OAAS,WAAWC,MAAwB,WAoC5C,IAAMC,EAAuB,gBAA0C,IAAI,EAGrEC,EAA4B,gBAA4C,IAAI,EAElF,SAASC,EAAkBC,EAAuC,CAChE,IAAMC,EAAgB,aAAWJ,CAAc,EAC/C,GAAI,CAACI,EACH,MAAM,IAAI,MAAM,GAAGD,CAAQ,qCAAqC,EAElE,OAAOC,CACT,CAsCA,IAAMC,EAAoB,aAAyC,CAACC,EAAOC,IAAiB,CAC1F,IAAMC,EAAoBF,EAAM,MAAQG,EAAoB,KAAK,QAC3DC,EAAkCJ,EAAM,aAAeG,EAAoB,YAAY,QACvF,CAAE,UAAAE,EAAW,YAAaC,EAAc,SAAAC,EAAW,GAAO,SAAAC,EAAU,GAAGC,CAAU,EAAIC,EACzFV,EACAG,EACAQ,CACF,EAEMb,EAAgB,UAAQ,KAAO,CAAE,KAAAI,EAAM,YAAAE,EAAa,SAAAG,CAAS,GAAI,CAACL,EAAME,EAAaG,CAAQ,CAAC,EAEpG,OACE,gBAACK,EAAiB,KAAjB,CACE,GAAGH,EACJ,IAAKR,EACL,YAAaG,EACb,gBAAeG,GAAY,OAC3B,UAAWM,EAAW,aAAcR,CAAS,GAE7C,gBAACX,EAAe,SAAf,CAAwB,MAAOI,GAAUU,CAAS,CACrD,CAEJ,CAAC,EACDT,EAAY,YAAc,UAgB1B,IAAMe,EAAqB,aACzB,CAAC,CAAE,UAAAT,EAAW,SAAAU,EAAW,GAAO,SAAAP,EAAU,GAAGR,CAAM,EAAGC,IAAiB,CACrE,GAAM,CAAE,YAAAG,CAAY,EAAIR,EAAkB,cAAc,EAClDoB,EAAc,UAAQ,KAAO,CAAE,SAAAD,CAAS,GAAI,CAACA,CAAQ,CAAC,EAC5D,OACE,gBAAC,OACC,KAAK,QACL,mBAAkBX,EAClB,gBAAeW,GAAY,OAC1B,GAAGf,EACJ,IAAKC,EACL,UAAWY,EAAW,kBAAmBR,CAAS,GAElD,gBAACV,EAAoB,SAApB,CAA6B,MAAOqB,GAAQR,CAAS,CACxD,CAEJ,CACF,EACAM,EAAa,YAAc,gBAwB3B,SAASG,EAAUC,EAA6C,CAC9D,OAAOA,IAAU,IAAQA,IAAU,MACrC,CAYA,IAAMC,EAAsB,aAAkD,CAACnB,EAAOC,IAAiB,CACrG,IAAMmB,EAAUxB,EAAkB,eAAe,EAC3CoB,EAAc,aAAWrB,CAAmB,EAC5C,CAAE,SAAA0B,EAAU,KAAAnB,EAAM,QAAAoB,EAAS,SAAAC,EAAU,MAAAC,EAAO,SAAAT,EAAU,GAAGU,CAAK,EAAIzB,EAElE0B,EAAUT,EAAUjB,EAAM,cAAc,CAAC,EACzC2B,EACJ,eAAgB3B,GAASA,EAAM,cAAc,IAAM,OAAY,CAAC,EAAI,CAAE,aAAc0B,EAAU,KAAO,KAAM,EAEvGE,EAAS,CACb,KAAM1B,GAAQkB,EAAQ,KAEtB,GAAIG,IAAa,OAAY,CAAE,SAAAA,CAAS,EAAI,CAAE,QAASD,IAAYN,EAAQ,QAAUI,EAAQ,SAAW,SAAW,OAAQ,EAG3H,MAAOI,IAAUF,GAAWC,EAAW,OAAY,QACnD,GAAGI,CACL,EAEA,OACE,gBAACf,EAAiB,OAAjB,CAAwB,QAAO,GAAC,IAAKX,EAAc,SAAUc,GAAYC,GAAO,UAAY,QAC1FK,EACC,gBAACQ,EAAA,CAAY,GAAIJ,EAA6E,GAAGG,EAAQ,EAEzG,gBAACE,EAAA,CAAQ,GAAIL,EAA6E,GAAGG,EAAQ,CAEzG,CAEJ,CAAC,EACDT,EAAc,YAAc,iBAY5B,IAAMY,EAAyB,aAC7B,CAAC,CAAE,UAAA1B,EAAW,GAAGL,CAAM,EAAGC,KACxBL,EAAkB,kBAAkB,EAElC,gBAACgB,EAAiB,UAAjB,CACE,GAAGZ,EACJ,IAAKC,EACL,UAAWY,EAAW,sBAAuBR,CAAS,EACxD,EAGN,EACA0B,EAAiB,YAAc,oBAO/B,IAAMC,EAAa,CAAE,EAAK,IAAK,EAAK,IAAK,EAAK,IAAK,EAAK,GAAI,EAgBtDC,EAAqB,aACzB,CAAC,CAAE,UAAA5B,EAAW,SAAAG,EAAU,MAAA0B,EAAO,GAAAC,CAAG,EAAGlC,IAAiB,CACpD,GAAM,CAAE,KAAAC,CAAK,EAAIN,EAAkB,cAAc,EACjD,OAA8BY,GAAa,MAAQA,IAAa,GAAc,KAE5E,gBAAC4B,EAAA,CACC,IAAKnC,EACL,GAAG,OACH,KAAM+B,EAAW9B,CAAI,EACrB,OAAO,SACP,SAAQ,GACR,GAAIiC,EACJ,MAAOD,EACP,UAAWrB,EAAW,kBAAmBR,CAAS,GAEjDG,CACH,CAEJ,CACF,EACAyB,EAAa,YAAc,gBAM3B,IAAMI,EAAU,OAAO,OAAOtC,EAAa,CACzC,KAAMA,EACN,MAAOe,EACP,OAAQK,EACR,UAAWY,EACX,MAAOE,CACT,CAAC",
|
|
6
|
+
"names": ["React", "classNames", "ToolbarPrimitive", "ToolbarContext", "ToolbarGroupContext", "useToolbarContext", "consumer", "context", "ToolbarRoot", "props", "forwardedRef", "size", "toolbarRootPropDefs", "orientation", "className", "_orientation", "backdrop", "children", "rootProps", "extractProps", "marginPropDefs", "ToolbarPrimitive", "classNames", "ToolbarGroup", "disabled", "group", "isPressed", "value", "ToolbarButton", "toolbar", "iconOnly", "variant", "emphasis", "color", "rest", "pressed", "stateProps", "shared", "IconButton", "Button", "ToolbarSeparator", "TITLE_SIZE", "ToolbarTitle", "style", "id", "Text", "Toolbar"]
|
|
7
|
+
}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{a as A}from"./chunk-X3UTLDGG.js";import{b as V,d as L,f as O}from"./chunk-IX5HIHVI.js";import{a as W}from"./chunk-MJJ7XDIP.js";import{c as T}from"./chunk-2NNB4ZZ5.js";import{b as y,c as g}from"./chunk-PRRJ4WRE.js";import{a as N}from"./chunk-
|
|
2
|
-
//# sourceMappingURL=chunk-
|
|
1
|
+
import{a as A}from"./chunk-X3UTLDGG.js";import{b as V,d as L,f as O}from"./chunk-IX5HIHVI.js";import{a as W}from"./chunk-MJJ7XDIP.js";import{c as T}from"./chunk-2NNB4ZZ5.js";import{b as y,c as g}from"./chunk-PRRJ4WRE.js";import{a as N}from"./chunk-HKRQ3E3I.js";import{c as C,d as k,e as z,f as D}from"./chunk-HI3JY3DJ.js";import{b as I,c as b,d as v,e as S,f as h}from"./chunk-FK6F6ROH.js";import{a as R}from"./chunk-UBSLEGQZ.js";import{a as te}from"./chunk-OS3FCYZY.js";var oe={};te(oe,{CheckboxItem:()=>U,Content:()=>F,Group:()=>H,Item:()=>K,Label:()=>q,RadioGroup:()=>J,RadioItem:()=>Q,Root:()=>_,Separator:()=>$,Sub:()=>X,SubContent:()=>Z,SubTrigger:()=>Y,Trigger:()=>j,Virtual:()=>A});import*as e from"react";import u from"classnames";import{ContextMenu as a,Slot as G}from"radix-ui";var _=t=>e.createElement(a.Root,{...t});_.displayName="ContextMenu.Root";var j=e.forwardRef(({children:t,...n},o)=>e.createElement(a.Trigger,{...n,ref:o,asChild:!0},W(t)));j.displayName="ContextMenu.Trigger";var E=e.createContext({}),F=e.forwardRef((t,n)=>{let o=y(),i=b(t.material,o),{size:r=C.size.default}=t,{className:s,children:m,color:l,container:x,forceMount:M,material:w,submenuBehavior:ee,virtualized:B=!1,...d}=R(t,C),p=l||o.accentColor,P=I(r,C.size.default),f=e.useMemo(()=>({size:r,color:p,material:i}),[r,p,i]),c=e.createElement(T,{size:r},e.createElement(E.Provider,{value:f},m));return e.createElement(a.Portal,{container:x,forceMount:M},e.createElement(g,{asChild:!0},e.createElement(a.Content,{"data-accent-color":p,"data-material":i,alignOffset:v(P,o.scaling),collisionPadding:10,...d,asChild:!1,ref:n,className:u("rt-PopperContent","rt-BaseMenuContent","rt-variant-soft","rt-ContextMenuContent",s)},B?e.createElement("div",{className:u("rt-BaseMenuViewport","rt-ContextMenuViewport","rt-virtualized")},c):e.createElement(N,{type:"auto",scrollbars:"vertical"},e.createElement("div",{className:u("rt-BaseMenuViewport","rt-ContextMenuViewport")},c)))))});F.displayName="ContextMenu.Content";var q=e.forwardRef(({className:t,...n},o)=>e.createElement(a.Label,{...n,asChild:!1,ref:o,className:u("rt-BaseMenuLabel","rt-ContextMenuLabel",t)}));q.displayName="ContextMenu.Label";var K=e.forwardRef((t,n)=>{let{className:o,children:i,color:r=k.color.default,shortcut:s,...m}=t;return e.createElement(a.Item,{"data-accent-color":r,"aria-keyshortcuts":s?S(s):void 0,...m,ref:n,className:u("rt-reset","rt-BaseMenuItem","rt-ContextMenuItem",o)},e.createElement(G.Slottable,null,i),s&&e.createElement(h,{shortcut:s,className:"rt-ContextMenuShortcut"}))});K.displayName="ContextMenu.Item";var H=e.forwardRef(({className:t,...n},o)=>e.createElement(a.Group,{...n,asChild:!1,ref:o,className:u("rt-BaseMenuGroup","rt-ContextMenuGroup",t)}));H.displayName="ContextMenu.Group";var J=e.forwardRef(({className:t,...n},o)=>e.createElement(a.RadioGroup,{...n,asChild:!1,ref:o,className:u("rt-BaseMenuRadioGroup","rt-ContextMenuRadioGroup",t)}));J.displayName="ContextMenu.RadioGroup";var Q=e.forwardRef((t,n)=>{let{children:o,className:i,color:r=D.color.default,...s}=t;return e.createElement(a.RadioItem,{...s,asChild:!1,ref:n,"data-accent-color":r,className:u("rt-BaseMenuItem","rt-BaseMenuRadioItem","rt-ContextMenuItem","rt-ContextMenuRadioItem",i)},e.createElement(G.Slottable,null,o),e.createElement(a.ItemIndicator,{className:"rt-BaseMenuItemIndicator rt-ContextMenuItemIndicator"},e.createElement(O,{className:"rt-BaseMenuItemIndicatorIcon rt-ContextMenuItemIndicatorIcon"})))});Q.displayName="ContextMenu.RadioItem";var U=e.forwardRef((t,n)=>{let{children:o,className:i,shortcut:r,color:s=z.color.default,...m}=t;return e.createElement(a.CheckboxItem,{"aria-keyshortcuts":r?S(r):void 0,...m,asChild:!1,ref:n,"data-accent-color":s,className:u("rt-BaseMenuItem","rt-BaseMenuCheckboxItem","rt-ContextMenuItem","rt-ContextMenuCheckboxItem",i)},e.createElement(G.Slottable,null,o),e.createElement(a.ItemIndicator,{className:"rt-BaseMenuItemIndicator rt-ContextMenuItemIndicator"},e.createElement(V,{className:"rt-BaseMenuItemIndicatorIcon rt-ContextMenuItemIndicatorIcon"})),r&&e.createElement(h,{shortcut:r,className:"rt-ContextMenuShortcut"}))});U.displayName="ContextMenu.CheckboxItem";var X=t=>e.createElement(a.Sub,{...t});X.displayName="ContextMenu.Sub";var Y=e.forwardRef((t,n)=>{let{className:o,children:i,...r}=t;return e.createElement(a.SubTrigger,{...r,asChild:!1,ref:n,className:u("rt-BaseMenuItem","rt-BaseMenuSubTrigger","rt-ContextMenuItem","rt-ContextMenuSubTrigger",o)},i,e.createElement("div",{className:"rt-BaseMenuShortcut rt-ContextMenuShortcut"},e.createElement(L,{className:"rt-BaseMenuSubTriggerIcon rt-ContextMenuSubTriggerIcon"})))});Y.displayName="ContextMenu.SubTrigger";var Z=e.forwardRef((t,n)=>{let o=e.useContext(E),i=y(),r=t.size??o.size,s=t.color??o.color,m=t.material??o.material??b(void 0,i),{className:l,children:x,container:M,forceMount:w,color:ee,material:B,virtualized:d=!1,...p}=R({...t,size:r},C),P=I(r,C.size.default),f=e.useMemo(()=>({size:r,color:s,material:m}),[r,s,m]),c=e.createElement(T,{size:r},e.createElement(E.Provider,{value:f},x));return e.createElement(a.Portal,{container:M,forceMount:w},e.createElement(g,{asChild:!0},e.createElement(a.SubContent,{"data-accent-color":s,"data-material":m,alignOffset:v(P,i.scaling),sideOffset:1,collisionPadding:10,...p,asChild:!1,ref:n,className:u("rt-PopperContent","rt-BaseMenuContent","rt-variant-soft","rt-BaseMenuSubContent","rt-ContextMenuContent","rt-ContextMenuSubContent",l)},d?e.createElement("div",{className:u("rt-BaseMenuViewport","rt-ContextMenuViewport","rt-virtualized")},c):e.createElement(N,{type:"auto",scrollbars:"vertical"},e.createElement("div",{className:u("rt-BaseMenuViewport","rt-ContextMenuViewport")},c)))))});Z.displayName="ContextMenu.SubContent";var $=e.forwardRef(({className:t,...n},o)=>e.createElement(a.Separator,{...n,asChild:!1,ref:o,className:u("rt-BaseMenuSeparator","rt-ContextMenuSeparator",t)}));$.displayName="ContextMenu.Separator";export{_ as a,j as b,F as c,q as d,K as e,H as f,J as g,Q as h,U as i,X as j,Y as k,Z as l,$ as m,oe as n};
|
|
2
|
+
//# sourceMappingURL=chunk-2MYYU7ST.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{a as ne}from"./chunk-X3UTLDGG.js";import{b as Q,c as Z,d as z,e as ee,f as oe}from"./chunk-IX5HIHVI.js";import{a as J}from"./chunk-MJJ7XDIP.js";import{c as L}from"./chunk-2NNB4ZZ5.js";import{b as O,c as G}from"./chunk-PRRJ4WRE.js";import{a as _}from"./chunk-JZD5FHSU.js";import{b as y,c as S,d as A,e as F,f as j}from"./chunk-HI3JY3DJ.js";import{b as T,c as x,d as H,e as E,f as N}from"./chunk-FK6F6ROH.js";import{a as h}from"./chunk-UBSLEGQZ.js";import{a as P,b as I,c as U,d as Y,e as B,f as q,g as X,h as $,i as k}from"./chunk-JSW6J6RS.js";import{a as ye}from"./chunk-OS3FCYZY.js";var ke={};ye(ke,{CheckboxItem:()=>we,Content:()=>pe,Group:()=>le,Item:()=>de,Label:()=>ue,RadioGroup:()=>ce,RadioItem:()=>me,Root:()=>ae,Separator:()=>fe,Sub:()=>De,SubContent:()=>Pe,SubTrigger:()=>Me,Trigger:()=>ie,TriggerIcon:()=>ge,Virtual:()=>ne});import*as e from"react";import u from"classnames";import{DropdownMenu as p,Slot as Se}from"radix-ui";import{useCallbackRef as re}from"radix-ui/internal";var te=e.createContext(!1),ae=o=>{let{open:n,defaultOpen:r=!1,onOpenChange:s}=o,[a,t]=e.useState(r),i=n??a,d=re(s),l=e.useCallback(m=>{t(m),d(m)},[d]);return e.createElement(te.Provider,{value:i},e.createElement(p.Root,{...o,onOpenChange:l}))};ae.displayName="DropdownMenu.Root";var ie=e.forwardRef(({children:o,...n},r)=>e.createElement(p.Trigger,{...n,ref:r,asChild:!0},J(o)));ie.displayName="DropdownMenu.Trigger";var K=e.createContext({}),Te={ltr:"ArrowLeft",rtl:"ArrowRight"},xe={ltr:"ArrowRight",rtl:"ArrowLeft"};function Ee(o){return o instanceof HTMLElement&&(o.isContentEditable||o.tagName==="INPUT"||o.tagName==="TEXTAREA")}function se(o){return o?.closest("[dir]")?.getAttribute("dir")==="rtl"?"rtl":"ltr"}var pe=e.forwardRef((o,n)=>{let r=O(),s=x(o.material,r),{size:a=y.size.default}=o,{className:t,children:i,color:d,container:l,forceMount:m,material:M,submenuBehavior:c,virtualized:v=!1,onEscapeKeyDown:C,onKeyDown:g,...R}=h(o,y),w=d||r.accentColor,f=T(c,"cascade"),W=f==="drill-down",be=e.useContext(te),b=U(),Ie=D=>{C?.(D),!(D.defaultPrevented||!W||b.getDepth()===0)&&(D.preventDefault(),b.pop("keyboard"))},ve=D=>{g?.(D),!(D.defaultPrevented||!W||b.getDepth()===0)&&(Ee(D.target)||D.key===Te[se(D.currentTarget)]&&(D.preventDefault(),b.pop("keyboard")))},he=e.useMemo(()=>({size:a,color:w,material:s}),[a,w,s]),V=e.createElement(L,{size:a},e.createElement(K.Provider,{value:he},e.createElement(Y,{store:b,behavior:f,open:be},i)));return e.createElement(p.Portal,{container:l,forceMount:m},e.createElement(G,{asChild:!0},e.createElement(p.Content,{"data-accent-color":w,"data-material":s,align:"start",sideOffset:4,collisionPadding:10,...R,onEscapeKeyDown:Ie,onKeyDown:ve,asChild:!1,ref:n,className:u("rt-PopperContent","rt-BaseMenuContent","rt-variant-soft","rt-DropdownMenuContent",t)},v?e.createElement("div",{className:u("rt-BaseMenuViewport","rt-DropdownMenuViewport","rt-virtualized")},V):e.createElement(_,{type:"auto",scrollbars:"vertical"},e.createElement("div",{className:u("rt-BaseMenuViewport","rt-DropdownMenuViewport")},V)))))});pe.displayName="DropdownMenu.Content";var ue=e.forwardRef(({className:o,...n},r)=>e.useContext(P)?e.createElement(p.Label,{...n,asChild:!1,ref:r,className:u("rt-BaseMenuLabel","rt-DropdownMenuLabel",o)}):null);ue.displayName="DropdownMenu.Label";var de=e.forwardRef((o,n)=>{let{className:r,children:s,color:a=A.color.default,shortcut:t,...i}=o;return e.useContext(P)?e.createElement(p.Item,{"data-accent-color":a,"aria-keyshortcuts":t?E(t):void 0,...i,ref:n,className:u("rt-reset","rt-BaseMenuItem","rt-DropdownMenuItem",r)},e.createElement(Se.Slottable,null,s),t&&e.createElement(N,{shortcut:t,className:"rt-DropdownMenuShortcut"})):null});de.displayName="DropdownMenu.Item";var le=e.forwardRef(({className:o,...n},r)=>e.createElement(p.Group,{...n,asChild:!1,ref:r,className:u("rt-BaseMenuGroup","rt-DropdownMenuGroup",o)}));le.displayName="DropdownMenu.Group";var ce=e.forwardRef(({className:o,...n},r)=>e.createElement(p.RadioGroup,{...n,asChild:!1,ref:r,className:u("rt-BaseMenuRadioGroup","rt-DropdownMenuRadioGroup",o)}));ce.displayName="DropdownMenu.RadioGroup";var me=e.forwardRef((o,n)=>{let{children:r,className:s,color:a=j.color.default,...t}=o;return e.useContext(P)?e.createElement(p.RadioItem,{...t,asChild:!1,ref:n,"data-accent-color":a,className:u("rt-BaseMenuItem","rt-BaseMenuRadioItem","rt-DropdownMenuItem","rt-DropdownMenuRadioItem",s)},r,e.createElement(p.ItemIndicator,{className:"rt-BaseMenuItemIndicator rt-DropdownMenuItemIndicator"},e.createElement(oe,{className:"rt-BaseMenuItemIndicatorIcon rt-DropdownMenuItemIndicatorIcon"}))):null});me.displayName="DropdownMenu.RadioItem";var we=e.forwardRef((o,n)=>{let{children:r,className:s,shortcut:a,color:t=F.color.default,...i}=o;return e.useContext(P)?e.createElement(p.CheckboxItem,{"aria-keyshortcuts":a?E(a):void 0,...i,asChild:!1,ref:n,"data-accent-color":t,className:u("rt-BaseMenuItem","rt-BaseMenuCheckboxItem","rt-DropdownMenuItem","rt-DropdownMenuCheckboxItem",s)},r,e.createElement(p.ItemIndicator,{className:"rt-BaseMenuItemIndicator rt-DropdownMenuItemIndicator"},e.createElement(Q,{className:"rt-BaseMenuItemIndicatorIcon rt-DropdownMenuItemIndicatorIcon"})),a&&e.createElement(N,{shortcut:a,className:"rt-DropdownMenuShortcut"})):null});we.displayName="DropdownMenu.CheckboxItem";var De=({label:o="Back",open:n,defaultOpen:r,onOpenChange:s,children:a})=>{let t=I(),i=e.useId(),d=e.useMemo(()=>({id:i,label:o}),[i,o]),l=B(t,i)!=="closed";e.useLayoutEffect(()=>{!t||n===void 0||(n&&!t.isOpen(i)?t.push(i,null):!n&&t.isOpen(i)&&t.close(i))},[t,n,i]);let m=e.useRef(r);e.useLayoutEffect(()=>{t&&m.current&&n===void 0&&t.push(i,null)},[]);let M=re(s),c=e.useRef(l);return e.useEffect(()=>{!t||c.current===l||(c.current=l,M(l))},[t,l,M]),e.createElement($.Provider,{value:d},e.createElement(p.Sub,{open:n,defaultOpen:r,onOpenChange:t?void 0:s},a))};De.displayName="DropdownMenu.Sub";var Me=e.forwardRef((o,n)=>{let{className:r,children:s,onKeyDown:a,...t}=o,i=I(),d=k(),l=e.useContext(P);if(i&&d){if(!l)return null;let m=c=>{c.preventDefault(),i.push(d.id)},M=c=>{a?.(c),!(c.defaultPrevented||t.disabled)&&c.key===xe[se(c.currentTarget)]&&(c.preventDefault(),i.push(d.id,"keyboard"))};return e.createElement(p.Item,{"aria-haspopup":"menu",...t,"data-drill-down-trigger":d.id,"data-drill-down-name":t.textValue,onSelect:m,onKeyDown:M,ref:n,className:u("rt-reset","rt-BaseMenuItem","rt-BaseMenuSubTrigger","rt-DropdownMenuItem","rt-DropdownMenuSubTrigger","rt-DropdownMenuDrillDownSubTrigger",r)},s,e.createElement("div",{className:"rt-BaseMenuShortcut rt-DropdownMenuShortcut"},e.createElement(z,{className:"rt-BaseMenuSubTriggerIcon rt-DropdownMenuSubTriggerIcon"})))}return e.createElement(p.SubTrigger,{...t,onKeyDown:a,asChild:!1,ref:n,className:u("rt-BaseMenuItem","rt-BaseMenuSubTrigger","rt-DropdownMenuItem","rt-DropdownMenuSubTrigger",r)},s,e.createElement("div",{className:"rt-BaseMenuShortcut rt-DropdownMenuShortcut"},e.createElement(z,{className:"rt-BaseMenuSubTriggerIcon rt-DropdownMenuSubTriggerIcon"})))});Me.displayName="DropdownMenu.SubTrigger";var fe=e.forwardRef(({className:o,...n},r)=>e.useContext(P)?e.createElement(p.Separator,{...n,asChild:!1,ref:r,className:u("rt-BaseMenuSeparator","rt-DropdownMenuSeparator",o)}):null);fe.displayName="DropdownMenu.Separator";function Ne({label:o,name:n}){let r=I(),s=e.useCallback(i=>{i.preventDefault(),r?.pop()},[r]),a=typeof o=="string"?o:n,t=a&&a!=="Back"?`Back from ${a}`:void 0;return e.createElement(p.Item,{"aria-label":t,textValue:a||"Back",onSelect:s,className:u("rt-reset","rt-BaseMenuItem","rt-DropdownMenuItem","rt-DropdownMenuDrillDownBackItem")},e.createElement(ee,{className:"rt-BaseMenuSubTriggerIcon rt-DropdownMenuDrillDownBackIcon"}),e.createElement("span",{className:"rt-DropdownMenuDrillDownBackLabel"},o))}function Be(o){let{loop:n,onEscapeKeyDown:r,onPointerDownOutside:s,onFocusOutside:a,onInteractOutside:t,sideOffset:i,alignOffset:d,avoidCollisions:l,collisionBoundary:m,collisionPadding:M,arrowPadding:c,sticky:v,hideWhenDetached:C,updatePositionStrategy:g,...R}=o;return R}var Pe=e.forwardRef((o,n)=>{let r=I(),s=k();return r&&s?e.createElement(Ce,{...o,ref:n,store:r,sub:s}):e.createElement(Re,{...o,ref:n})});Pe.displayName="DropdownMenu.SubContent";var Re=e.forwardRef((o,n)=>{let r=e.useContext(K),s=O(),a=o.size??r.size,t=o.color??r.color,i=o.material??r.material??x(void 0,s),{className:d,children:l,container:m,forceMount:M,color:c,material:v,virtualized:C=!1,...g}=h({...o,size:a},S),R=T(a,S.size.default),w=e.useMemo(()=>({size:a,color:t,material:i}),[a,t,i]),f=e.createElement(L,{size:a},e.createElement(K.Provider,{value:w},l));return e.createElement(p.Portal,{container:m,forceMount:M},e.createElement(G,{asChild:!0},e.createElement(p.SubContent,{"data-accent-color":t,"data-material":i,alignOffset:H(R,s.scaling),sideOffset:1,collisionPadding:10,...g,asChild:!1,ref:n,className:u("rt-PopperContent","rt-BaseMenuContent","rt-variant-soft","rt-BaseMenuSubContent","rt-DropdownMenuContent","rt-DropdownMenuSubContent",d)},C?e.createElement("div",{className:u("rt-BaseMenuViewport","rt-DropdownMenuViewport","rt-virtualized")},f):e.createElement(_,{type:"auto",scrollbars:"vertical"},e.createElement("div",{className:u("rt-BaseMenuViewport","rt-DropdownMenuViewport")},f)))))});Re.displayName="DropdownMenu.CascadeSubContent";var Ce=e.forwardRef(({store:o,sub:n,...r},s)=>{let a=B(o,n.id),t=q(o,n.id),i=X(a==="top"?o:null);if(a==="closed")return null;let{className:d,children:l,container:m,forceMount:M,virtualized:c,size:v,color:C,material:g,...R}=Be(r),w=a==="top",f=t?.name||(typeof n.label=="string"?n.label:"");return e.createElement("div",{role:"group","aria-label":f||void 0,...R,ref:s,"data-drill-down-panel":n.id,"data-drill-down-active":w?!0:void 0,"data-animation-direction":w?i??void 0:void 0,className:u("rt-DropdownMenuDrillDownPanel",d)},w&&e.createElement(e.Fragment,null,e.createElement(Ne,{label:n.label,name:f}),e.createElement(p.Separator,{className:"rt-BaseMenuSeparator rt-DropdownMenuSeparator"})),e.createElement(P.Provider,{value:w},l))});Ce.displayName="DropdownMenu.DrillDownPanel";var ge=e.forwardRef(({className:o,...n},r)=>e.createElement(Z,{...n,ref:r,className:u("rt-DropdownMenuTriggerIcon",o)}));ge.displayName="DropdownMenu.TriggerIcon";export{ae as a,ie as b,pe as c,ue as d,de as e,le as f,ce as g,me as h,we as i,De as j,Me as k,fe as l,Pe as m,ge as n,ke as o};
|
|
2
|
-
//# sourceMappingURL=chunk-
|
|
1
|
+
import{a as ne}from"./chunk-X3UTLDGG.js";import{b as Q,c as Z,d as z,e as ee,f as oe}from"./chunk-IX5HIHVI.js";import{a as J}from"./chunk-MJJ7XDIP.js";import{c as L}from"./chunk-2NNB4ZZ5.js";import{b as O,c as G}from"./chunk-PRRJ4WRE.js";import{a as _}from"./chunk-HKRQ3E3I.js";import{b as y,c as S,d as A,e as F,f as j}from"./chunk-HI3JY3DJ.js";import{b as T,c as x,d as H,e as E,f as N}from"./chunk-FK6F6ROH.js";import{a as h}from"./chunk-UBSLEGQZ.js";import{a as P,b as I,c as U,d as Y,e as B,f as q,g as X,h as $,i as k}from"./chunk-JSW6J6RS.js";import{a as ye}from"./chunk-OS3FCYZY.js";var ke={};ye(ke,{CheckboxItem:()=>we,Content:()=>pe,Group:()=>le,Item:()=>de,Label:()=>ue,RadioGroup:()=>ce,RadioItem:()=>me,Root:()=>ae,Separator:()=>fe,Sub:()=>De,SubContent:()=>Pe,SubTrigger:()=>Me,Trigger:()=>ie,TriggerIcon:()=>ge,Virtual:()=>ne});import*as e from"react";import u from"classnames";import{DropdownMenu as p,Slot as Se}from"radix-ui";import{useCallbackRef as re}from"radix-ui/internal";var te=e.createContext(!1),ae=o=>{let{open:n,defaultOpen:r=!1,onOpenChange:s}=o,[a,t]=e.useState(r),i=n??a,d=re(s),l=e.useCallback(m=>{t(m),d(m)},[d]);return e.createElement(te.Provider,{value:i},e.createElement(p.Root,{...o,onOpenChange:l}))};ae.displayName="DropdownMenu.Root";var ie=e.forwardRef(({children:o,...n},r)=>e.createElement(p.Trigger,{...n,ref:r,asChild:!0},J(o)));ie.displayName="DropdownMenu.Trigger";var K=e.createContext({}),Te={ltr:"ArrowLeft",rtl:"ArrowRight"},xe={ltr:"ArrowRight",rtl:"ArrowLeft"};function Ee(o){return o instanceof HTMLElement&&(o.isContentEditable||o.tagName==="INPUT"||o.tagName==="TEXTAREA")}function se(o){return o?.closest("[dir]")?.getAttribute("dir")==="rtl"?"rtl":"ltr"}var pe=e.forwardRef((o,n)=>{let r=O(),s=x(o.material,r),{size:a=y.size.default}=o,{className:t,children:i,color:d,container:l,forceMount:m,material:M,submenuBehavior:c,virtualized:v=!1,onEscapeKeyDown:C,onKeyDown:g,...R}=h(o,y),w=d||r.accentColor,f=T(c,"cascade"),W=f==="drill-down",be=e.useContext(te),b=U(),Ie=D=>{C?.(D),!(D.defaultPrevented||!W||b.getDepth()===0)&&(D.preventDefault(),b.pop("keyboard"))},ve=D=>{g?.(D),!(D.defaultPrevented||!W||b.getDepth()===0)&&(Ee(D.target)||D.key===Te[se(D.currentTarget)]&&(D.preventDefault(),b.pop("keyboard")))},he=e.useMemo(()=>({size:a,color:w,material:s}),[a,w,s]),V=e.createElement(L,{size:a},e.createElement(K.Provider,{value:he},e.createElement(Y,{store:b,behavior:f,open:be},i)));return e.createElement(p.Portal,{container:l,forceMount:m},e.createElement(G,{asChild:!0},e.createElement(p.Content,{"data-accent-color":w,"data-material":s,align:"start",sideOffset:4,collisionPadding:10,...R,onEscapeKeyDown:Ie,onKeyDown:ve,asChild:!1,ref:n,className:u("rt-PopperContent","rt-BaseMenuContent","rt-variant-soft","rt-DropdownMenuContent",t)},v?e.createElement("div",{className:u("rt-BaseMenuViewport","rt-DropdownMenuViewport","rt-virtualized")},V):e.createElement(_,{type:"auto",scrollbars:"vertical"},e.createElement("div",{className:u("rt-BaseMenuViewport","rt-DropdownMenuViewport")},V)))))});pe.displayName="DropdownMenu.Content";var ue=e.forwardRef(({className:o,...n},r)=>e.useContext(P)?e.createElement(p.Label,{...n,asChild:!1,ref:r,className:u("rt-BaseMenuLabel","rt-DropdownMenuLabel",o)}):null);ue.displayName="DropdownMenu.Label";var de=e.forwardRef((o,n)=>{let{className:r,children:s,color:a=A.color.default,shortcut:t,...i}=o;return e.useContext(P)?e.createElement(p.Item,{"data-accent-color":a,"aria-keyshortcuts":t?E(t):void 0,...i,ref:n,className:u("rt-reset","rt-BaseMenuItem","rt-DropdownMenuItem",r)},e.createElement(Se.Slottable,null,s),t&&e.createElement(N,{shortcut:t,className:"rt-DropdownMenuShortcut"})):null});de.displayName="DropdownMenu.Item";var le=e.forwardRef(({className:o,...n},r)=>e.createElement(p.Group,{...n,asChild:!1,ref:r,className:u("rt-BaseMenuGroup","rt-DropdownMenuGroup",o)}));le.displayName="DropdownMenu.Group";var ce=e.forwardRef(({className:o,...n},r)=>e.createElement(p.RadioGroup,{...n,asChild:!1,ref:r,className:u("rt-BaseMenuRadioGroup","rt-DropdownMenuRadioGroup",o)}));ce.displayName="DropdownMenu.RadioGroup";var me=e.forwardRef((o,n)=>{let{children:r,className:s,color:a=j.color.default,...t}=o;return e.useContext(P)?e.createElement(p.RadioItem,{...t,asChild:!1,ref:n,"data-accent-color":a,className:u("rt-BaseMenuItem","rt-BaseMenuRadioItem","rt-DropdownMenuItem","rt-DropdownMenuRadioItem",s)},r,e.createElement(p.ItemIndicator,{className:"rt-BaseMenuItemIndicator rt-DropdownMenuItemIndicator"},e.createElement(oe,{className:"rt-BaseMenuItemIndicatorIcon rt-DropdownMenuItemIndicatorIcon"}))):null});me.displayName="DropdownMenu.RadioItem";var we=e.forwardRef((o,n)=>{let{children:r,className:s,shortcut:a,color:t=F.color.default,...i}=o;return e.useContext(P)?e.createElement(p.CheckboxItem,{"aria-keyshortcuts":a?E(a):void 0,...i,asChild:!1,ref:n,"data-accent-color":t,className:u("rt-BaseMenuItem","rt-BaseMenuCheckboxItem","rt-DropdownMenuItem","rt-DropdownMenuCheckboxItem",s)},r,e.createElement(p.ItemIndicator,{className:"rt-BaseMenuItemIndicator rt-DropdownMenuItemIndicator"},e.createElement(Q,{className:"rt-BaseMenuItemIndicatorIcon rt-DropdownMenuItemIndicatorIcon"})),a&&e.createElement(N,{shortcut:a,className:"rt-DropdownMenuShortcut"})):null});we.displayName="DropdownMenu.CheckboxItem";var De=({label:o="Back",open:n,defaultOpen:r,onOpenChange:s,children:a})=>{let t=I(),i=e.useId(),d=e.useMemo(()=>({id:i,label:o}),[i,o]),l=B(t,i)!=="closed";e.useLayoutEffect(()=>{!t||n===void 0||(n&&!t.isOpen(i)?t.push(i,null):!n&&t.isOpen(i)&&t.close(i))},[t,n,i]);let m=e.useRef(r);e.useLayoutEffect(()=>{t&&m.current&&n===void 0&&t.push(i,null)},[]);let M=re(s),c=e.useRef(l);return e.useEffect(()=>{!t||c.current===l||(c.current=l,M(l))},[t,l,M]),e.createElement($.Provider,{value:d},e.createElement(p.Sub,{open:n,defaultOpen:r,onOpenChange:t?void 0:s},a))};De.displayName="DropdownMenu.Sub";var Me=e.forwardRef((o,n)=>{let{className:r,children:s,onKeyDown:a,...t}=o,i=I(),d=k(),l=e.useContext(P);if(i&&d){if(!l)return null;let m=c=>{c.preventDefault(),i.push(d.id)},M=c=>{a?.(c),!(c.defaultPrevented||t.disabled)&&c.key===xe[se(c.currentTarget)]&&(c.preventDefault(),i.push(d.id,"keyboard"))};return e.createElement(p.Item,{"aria-haspopup":"menu",...t,"data-drill-down-trigger":d.id,"data-drill-down-name":t.textValue,onSelect:m,onKeyDown:M,ref:n,className:u("rt-reset","rt-BaseMenuItem","rt-BaseMenuSubTrigger","rt-DropdownMenuItem","rt-DropdownMenuSubTrigger","rt-DropdownMenuDrillDownSubTrigger",r)},s,e.createElement("div",{className:"rt-BaseMenuShortcut rt-DropdownMenuShortcut"},e.createElement(z,{className:"rt-BaseMenuSubTriggerIcon rt-DropdownMenuSubTriggerIcon"})))}return e.createElement(p.SubTrigger,{...t,onKeyDown:a,asChild:!1,ref:n,className:u("rt-BaseMenuItem","rt-BaseMenuSubTrigger","rt-DropdownMenuItem","rt-DropdownMenuSubTrigger",r)},s,e.createElement("div",{className:"rt-BaseMenuShortcut rt-DropdownMenuShortcut"},e.createElement(z,{className:"rt-BaseMenuSubTriggerIcon rt-DropdownMenuSubTriggerIcon"})))});Me.displayName="DropdownMenu.SubTrigger";var fe=e.forwardRef(({className:o,...n},r)=>e.useContext(P)?e.createElement(p.Separator,{...n,asChild:!1,ref:r,className:u("rt-BaseMenuSeparator","rt-DropdownMenuSeparator",o)}):null);fe.displayName="DropdownMenu.Separator";function Ne({label:o,name:n}){let r=I(),s=e.useCallback(i=>{i.preventDefault(),r?.pop()},[r]),a=typeof o=="string"?o:n,t=a&&a!=="Back"?`Back from ${a}`:void 0;return e.createElement(p.Item,{"aria-label":t,textValue:a||"Back",onSelect:s,className:u("rt-reset","rt-BaseMenuItem","rt-DropdownMenuItem","rt-DropdownMenuDrillDownBackItem")},e.createElement(ee,{className:"rt-BaseMenuSubTriggerIcon rt-DropdownMenuDrillDownBackIcon"}),e.createElement("span",{className:"rt-DropdownMenuDrillDownBackLabel"},o))}function Be(o){let{loop:n,onEscapeKeyDown:r,onPointerDownOutside:s,onFocusOutside:a,onInteractOutside:t,sideOffset:i,alignOffset:d,avoidCollisions:l,collisionBoundary:m,collisionPadding:M,arrowPadding:c,sticky:v,hideWhenDetached:C,updatePositionStrategy:g,...R}=o;return R}var Pe=e.forwardRef((o,n)=>{let r=I(),s=k();return r&&s?e.createElement(Ce,{...o,ref:n,store:r,sub:s}):e.createElement(Re,{...o,ref:n})});Pe.displayName="DropdownMenu.SubContent";var Re=e.forwardRef((o,n)=>{let r=e.useContext(K),s=O(),a=o.size??r.size,t=o.color??r.color,i=o.material??r.material??x(void 0,s),{className:d,children:l,container:m,forceMount:M,color:c,material:v,virtualized:C=!1,...g}=h({...o,size:a},S),R=T(a,S.size.default),w=e.useMemo(()=>({size:a,color:t,material:i}),[a,t,i]),f=e.createElement(L,{size:a},e.createElement(K.Provider,{value:w},l));return e.createElement(p.Portal,{container:m,forceMount:M},e.createElement(G,{asChild:!0},e.createElement(p.SubContent,{"data-accent-color":t,"data-material":i,alignOffset:H(R,s.scaling),sideOffset:1,collisionPadding:10,...g,asChild:!1,ref:n,className:u("rt-PopperContent","rt-BaseMenuContent","rt-variant-soft","rt-BaseMenuSubContent","rt-DropdownMenuContent","rt-DropdownMenuSubContent",d)},C?e.createElement("div",{className:u("rt-BaseMenuViewport","rt-DropdownMenuViewport","rt-virtualized")},f):e.createElement(_,{type:"auto",scrollbars:"vertical"},e.createElement("div",{className:u("rt-BaseMenuViewport","rt-DropdownMenuViewport")},f)))))});Re.displayName="DropdownMenu.CascadeSubContent";var Ce=e.forwardRef(({store:o,sub:n,...r},s)=>{let a=B(o,n.id),t=q(o,n.id),i=X(a==="top"?o:null);if(a==="closed")return null;let{className:d,children:l,container:m,forceMount:M,virtualized:c,size:v,color:C,material:g,...R}=Be(r),w=a==="top",f=t?.name||(typeof n.label=="string"?n.label:"");return e.createElement("div",{role:"group","aria-label":f||void 0,...R,ref:s,"data-drill-down-panel":n.id,"data-drill-down-active":w?!0:void 0,"data-animation-direction":w?i??void 0:void 0,className:u("rt-DropdownMenuDrillDownPanel",d)},w&&e.createElement(e.Fragment,null,e.createElement(Ne,{label:n.label,name:f}),e.createElement(p.Separator,{className:"rt-BaseMenuSeparator rt-DropdownMenuSeparator"})),e.createElement(P.Provider,{value:w},l))});Ce.displayName="DropdownMenu.DrillDownPanel";var ge=e.forwardRef(({className:o,...n},r)=>e.createElement(Z,{...n,ref:r,className:u("rt-DropdownMenuTriggerIcon",o)}));ge.displayName="DropdownMenu.TriggerIcon";export{ae as a,ie as b,pe as c,ue as d,de as e,le as f,ce as g,me as h,we as i,De as j,Me as k,fe as l,Pe as m,ge as n,ke as o};
|
|
2
|
+
//# sourceMappingURL=chunk-2NNCZM7P.js.map
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{a as S,b as N,c as b}from"./chunk-UPCRXJB2.js";import{b as I,c as T}from"./chunk-IX5HIHVI.js";import{b as v,c as y}from"./chunk-PRRJ4WRE.js";import{a as h}from"./chunk-DDFONGSM.js";import{a as u}from"./chunk-UBSLEGQZ.js";import{a as g}from"./chunk-GSTOGDAJ.js";import{a as W}from"./chunk-OS3FCYZY.js";var O={};W(O,{Content:()=>E,Group:()=>G,Item:()=>L,Label:()=>D,Root:()=>x,Separator:()=>V,Trigger:()=>w});import*as e from"react";import s from"classnames";import{Select as a,ScrollArea as P}from"radix-ui";var R=e.createContext({}),x=r=>{let{children:o,size:t=S.size.default,...l}=r;return e.createElement(a.Root,{...l},e.createElement(R.Provider,{value:e.useMemo(()=>({size:t}),[t])},o))};x.displayName="Select.Root";var w=e.forwardRef((r,o)=>{let t=e.useContext(R),{children:l,className:i,color:n,radius:f,placeholder:d,error:p,loading:c,disabled:m,readOnly:C,material:z,...M}=u({size:t?.size,...r},{size:S.size},N,g),A=e.useMemo(()=>({"aria-invalid":p||void 0,"aria-busy":c||void 0,"aria-disabled":m||void 0,"aria-readonly":C||void 0}),[p,c,m,C]);return e.createElement(a.Trigger,{asChild:!0},e.createElement("button",{"data-accent-color":n,"data-radius":f,"data-material":z,"data-error":p,"data-loading":c,...M,...A,ref:o,className:s("rt-reset","rt-SelectTrigger",i)},e.createElement("span",{className:"rt-SelectTriggerInner"},e.createElement(a.Value,{placeholder:d},l)),e.createElement(a.Icon,{asChild:!0},c?e.createElement("div",{className:"rt-SelectIcon rt-SelectLoadingIcon","aria-hidden":"true"},e.createElement("svg",{width:"16",height:"16",viewBox:"0 0 16 16",fill:"none"},e.createElement("circle",{cx:"8",cy:"8",r:"7",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeDasharray:"32",strokeDashoffset:"32",className:"rt-SelectLoadingIconCircle"}))):e.createElement(T,{className:"rt-SelectIcon"}))))});w.displayName="Select.Trigger";var E=e.forwardRef((r,o)=>{let t=e.useContext(R),{className:l,children:i,color:n,container:f,...d}=u({size:t?.size,...r},{size:S.size},b),p=v(),c=n||p.accentColor,m=h();return e.createElement(a.Portal,{container:f},e.createElement(y,{asChild:!0},e.createElement(a.Content,{"data-accent-color":c,sideOffset:4,...d,asChild:!1,ref:o,className:s("rt-PopperContent","rt-BaseMenuContent","rt-variant-soft","rt-SelectContent",l)},e.createElement(P.Root,{type:"auto",className:"rt-ScrollAreaRoot"},e.createElement(a.Viewport,{asChild:!0,className:s("rt-BaseMenuViewport","rt-SelectViewport")},e.createElement(P.Viewport,{ref:m,className:"rt-ScrollAreaViewport",style:{overflowY:void 0}},i)),e.createElement(P.Scrollbar,{className:"rt-ScrollAreaScrollbar rt-r-size-1",orientation:"vertical"},e.createElement(P.Thumb,{className:"rt-ScrollAreaThumb"}))))))});E.displayName="Select.Content";var L=e.forwardRef((r,o)=>{let{className:t,children:l,...i}=r,n=typeof l!="string";return e.createElement(a.Item,{...i,asChild:!1,ref:o,className:s("rt-reset","rt-BaseMenuItem","rt-SelectItem",{"rt-SelectItemRich":n},t)},e.createElement(a.ItemIndicator,{className:"rt-SelectItemIndicator"},e.createElement(I,{className:"rt-SelectItemIndicatorIcon"})),e.createElement(a.ItemText,null,l))});L.displayName="Select.Item";var G=e.forwardRef(({className:r,...o},t)=>e.createElement(a.Group,{...o,asChild:!1,ref:t,className:s("rt-SelectGroup",r)}));G.displayName="Select.Group";var D=e.forwardRef(({className:r,...o},t)=>e.createElement(a.Label,{...o,asChild:!1,ref:t,className:s("rt-BaseMenuLabel","rt-SelectLabel",r)}));D.displayName="Select.Label";var V=e.forwardRef(({className:r,...o},t)=>e.createElement(a.Separator,{...o,asChild:!1,ref:t,className:s("rt-BaseMenuSeparator","rt-SelectSeparator",r)}));V.displayName="Select.Separator";export{x as a,w as b,E as c,L as d,G as e,D as f,V as g,O as h};
|
|
2
|
+
//# sourceMappingURL=chunk-4EBCFKNC.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../src/components/select.tsx"],
|
|
4
|
+
"sourcesContent": ["'use client';\n\nimport { warnDeprecated } from '../helpers/warn-deprecated.js';\nimport * as React from 'react';\nimport classNames from 'classnames';\nimport { Select as SelectPrimitive, ScrollArea as ScrollAreaPrimitive } from 'radix-ui';\n\nimport { extractProps } from '../helpers/extract-props.js';\nimport { marginPropDefs } from '../props/margin.props.js';\nimport { ChevronDownIcon, ThickCheckIcon } from './icons.js';\nimport {\n selectRootPropDefs,\n selectTriggerPropDefs,\n selectContentPropDefs,\n} from './select.props.js';\nimport { useThemeContext, Theme } from './theme.js';\nimport { useThumbSync } from '../hooks/use-thumb-sync.js';\n\nimport type { MarginProps } from '../props/margin.props.js';\nimport type { GetPropDefTypes } from '../props/prop-def.js';\nimport type { ComponentPropsWithout, RemovedProps } from '../helpers/component-props.js';\n\ntype SelectRootOwnProps = GetPropDefTypes<typeof selectRootPropDefs>;\n\ntype SelectContextValue = SelectRootOwnProps;\nconst SelectContext = React.createContext<SelectContextValue>({});\n\ninterface SelectRootProps extends SelectPrimitive.SelectProps, SelectContextValue {}\nconst SelectRoot: React.FC<SelectRootProps> = (props) => {\n const { children, size = selectRootPropDefs.size.default, ...rootProps } = props;\n return (\n <SelectPrimitive.Root {...rootProps}>\n <SelectContext.Provider value={React.useMemo(() => ({ size }), [size])}>\n {children}\n </SelectContext.Provider>\n </SelectPrimitive.Root>\n );\n};\nSelectRoot.displayName = 'Select.Root';\n\ntype SelectTriggerElement = React.ElementRef<typeof SelectPrimitive.Trigger>;\ntype SelectTriggerOwnProps = GetPropDefTypes<typeof selectTriggerPropDefs>;\ninterface SelectTriggerProps\n extends ComponentPropsWithout<typeof SelectPrimitive.Trigger, RemovedProps>,\n MarginProps,\n SelectTriggerOwnProps {}\nconst SelectTrigger = React.forwardRef<SelectTriggerElement, SelectTriggerProps>(\n (props, forwardedRef) => {\n const context = React.useContext(SelectContext);\n const {\n children,\n className,\n color,\n radius,\n placeholder,\n error,\n loading,\n disabled,\n readOnly,\n material,\n ...triggerProps\n } = extractProps(\n // Pass size value from the context to generate styles\n { size: context?.size, ...props },\n // Pass size prop def to allow it to be extracted\n { size: selectRootPropDefs.size },\n selectTriggerPropDefs,\n marginPropDefs,\n );\n\n\n const ariaProps = React.useMemo(\n () => ({\n 'aria-invalid': error || undefined,\n 'aria-busy': loading || undefined,\n 'aria-disabled': disabled || undefined,\n 'aria-readonly': readOnly || undefined,\n }),\n [error, loading, disabled, readOnly],\n );\n\n return (\n <SelectPrimitive.Trigger asChild>\n <button\n data-accent-color={color}\n data-radius={radius}\n data-material={material}\n data-error={error}\n data-loading={loading}\n {...triggerProps}\n {...ariaProps}\n ref={forwardedRef}\n className={classNames('rt-reset', 'rt-SelectTrigger', className)}\n >\n <span className=\"rt-SelectTriggerInner\">\n <SelectPrimitive.Value placeholder={placeholder}>{children}</SelectPrimitive.Value>\n </span>\n <SelectPrimitive.Icon asChild>\n {loading ? (\n <div className=\"rt-SelectIcon rt-SelectLoadingIcon\" aria-hidden=\"true\">\n <svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\">\n <circle\n cx=\"8\"\n cy=\"8\"\n r=\"7\"\n stroke=\"currentColor\"\n strokeWidth=\"2\"\n strokeLinecap=\"round\"\n strokeDasharray=\"32\"\n strokeDashoffset=\"32\"\n className=\"rt-SelectLoadingIconCircle\"\n />\n </svg>\n </div>\n ) : (\n <ChevronDownIcon className=\"rt-SelectIcon\" />\n )}\n </SelectPrimitive.Icon>\n </button>\n </SelectPrimitive.Trigger>\n );\n },\n);\nSelectTrigger.displayName = 'Select.Trigger';\n\ntype SelectContentElement = React.ElementRef<typeof SelectPrimitive.Content>;\ntype SelectContentOwnProps = GetPropDefTypes<typeof selectContentPropDefs>;\ninterface SelectContentProps\n extends ComponentPropsWithout<typeof SelectPrimitive.Content, RemovedProps>,\n SelectContentOwnProps {\n container?: React.ComponentPropsWithoutRef<typeof SelectPrimitive.Portal>['container'];\n}\nconst SelectContent = React.forwardRef<SelectContentElement, SelectContentProps>(\n (props, forwardedRef) => {\n const context = React.useContext(SelectContext);\n const { className, children, color, container, ...contentProps } = extractProps(\n // Pass size value from the context to generate styles\n { size: context?.size, ...props },\n // Pass size prop def to allow it to be extracted\n { size: selectRootPropDefs.size },\n selectContentPropDefs,\n );\n const themeContext = useThemeContext();\n const resolvedColor = color || themeContext.accentColor;\n const setThumbViewport = useThumbSync<HTMLDivElement>();\n return (\n <SelectPrimitive.Portal container={container}>\n <Theme asChild>\n <SelectPrimitive.Content\n data-accent-color={resolvedColor}\n sideOffset={4}\n {...contentProps}\n asChild={false}\n ref={forwardedRef}\n className={classNames(\n 'rt-PopperContent',\n 'rt-BaseMenuContent',\n 'rt-variant-soft',\n 'rt-SelectContent',\n className,\n )}\n >\n <ScrollAreaPrimitive.Root type=\"auto\" className=\"rt-ScrollAreaRoot\">\n <SelectPrimitive.Viewport\n asChild\n className={classNames('rt-BaseMenuViewport', 'rt-SelectViewport')}\n >\n <ScrollAreaPrimitive.Viewport\n ref={setThumbViewport}\n className=\"rt-ScrollAreaViewport\"\n style={{ overflowY: undefined }}\n >\n {children}\n </ScrollAreaPrimitive.Viewport>\n </SelectPrimitive.Viewport>\n <ScrollAreaPrimitive.Scrollbar\n className=\"rt-ScrollAreaScrollbar rt-r-size-1\"\n orientation=\"vertical\"\n >\n <ScrollAreaPrimitive.Thumb className=\"rt-ScrollAreaThumb\" />\n </ScrollAreaPrimitive.Scrollbar>\n </ScrollAreaPrimitive.Root>\n </SelectPrimitive.Content>\n </Theme>\n </SelectPrimitive.Portal>\n );\n },\n);\nSelectContent.displayName = 'Select.Content';\n\ntype SelectItemElement = React.ElementRef<typeof SelectPrimitive.Item>;\ninterface SelectItemProps\n extends ComponentPropsWithout<typeof SelectPrimitive.Item, RemovedProps> {}\nconst SelectItem = React.forwardRef<SelectItemElement, SelectItemProps>((props, forwardedRef) => {\n const { className, children, ...itemProps } = props;\n\n // Detect if this is rich content (not just a string)\n const isRichContent = typeof children !== 'string';\n\n return (\n <SelectPrimitive.Item\n {...itemProps}\n asChild={false}\n ref={forwardedRef}\n className={classNames(\n 'rt-reset',\n 'rt-BaseMenuItem',\n 'rt-SelectItem',\n { 'rt-SelectItemRich': isRichContent },\n className,\n )}\n >\n <SelectPrimitive.ItemIndicator className=\"rt-SelectItemIndicator\">\n <ThickCheckIcon className=\"rt-SelectItemIndicatorIcon\" />\n </SelectPrimitive.ItemIndicator>\n <SelectPrimitive.ItemText>{children}</SelectPrimitive.ItemText>\n </SelectPrimitive.Item>\n );\n});\nSelectItem.displayName = 'Select.Item';\n\ntype SelectGroupElement = React.ElementRef<typeof SelectPrimitive.Group>;\ninterface SelectGroupProps\n extends ComponentPropsWithout<typeof SelectPrimitive.Group, RemovedProps> {}\nconst SelectGroup = React.forwardRef<SelectGroupElement, SelectGroupProps>(\n ({ className, ...props }, forwardedRef) => (\n <SelectPrimitive.Group\n {...props}\n asChild={false}\n ref={forwardedRef}\n className={classNames('rt-SelectGroup', className)}\n />\n ),\n);\nSelectGroup.displayName = 'Select.Group';\n\ntype SelectLabelElement = React.ElementRef<typeof SelectPrimitive.Label>;\ninterface SelectLabelProps\n extends ComponentPropsWithout<typeof SelectPrimitive.Label, RemovedProps> {}\nconst SelectLabel = React.forwardRef<SelectLabelElement, SelectLabelProps>(\n ({ className, ...props }, forwardedRef) => (\n <SelectPrimitive.Label\n {...props}\n asChild={false}\n ref={forwardedRef}\n className={classNames('rt-BaseMenuLabel', 'rt-SelectLabel', className)}\n />\n ),\n);\nSelectLabel.displayName = 'Select.Label';\n\ntype SelectSeparatorElement = React.ElementRef<typeof SelectPrimitive.Separator>;\ninterface SelectSeparatorProps\n extends ComponentPropsWithout<typeof SelectPrimitive.Separator, RemovedProps> {}\nconst SelectSeparator = React.forwardRef<SelectSeparatorElement, SelectSeparatorProps>(\n ({ className, ...props }, forwardedRef) => (\n <SelectPrimitive.Separator\n {...props}\n asChild={false}\n ref={forwardedRef}\n className={classNames('rt-BaseMenuSeparator', 'rt-SelectSeparator', className)}\n />\n ),\n);\nSelectSeparator.displayName = 'Select.Separator';\n\nexport {\n SelectRoot as Root,\n SelectTrigger as Trigger,\n SelectContent as Content,\n SelectItem as Item,\n SelectGroup as Group,\n SelectLabel as Label,\n SelectSeparator as Separator,\n};\n\nexport type {\n SelectRootProps as RootProps,\n SelectTriggerProps as TriggerProps,\n SelectContentProps as ContentProps,\n SelectItemProps as ItemProps,\n SelectGroupProps as GroupProps,\n SelectLabelProps as LabelProps,\n SelectSeparatorProps as SeparatorProps,\n};\n"],
|
|
5
|
+
"mappings": "oTAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,aAAAE,EAAA,UAAAC,EAAA,SAAAC,EAAA,UAAAC,EAAA,SAAAC,EAAA,cAAAC,EAAA,YAAAC,IAGA,UAAYC,MAAW,QACvB,OAAOC,MAAgB,aACvB,OAAS,UAAUC,EAAiB,cAAcC,MAA2B,WAoB7E,IAAMC,EAAsB,gBAAkC,CAAC,CAAC,EAG1DC,EAAyCC,GAAU,CACvD,GAAM,CAAE,SAAAC,EAAU,KAAAC,EAAOC,EAAmB,KAAK,QAAS,GAAGC,CAAU,EAAIJ,EAC3E,OACE,gBAACK,EAAgB,KAAhB,CAAsB,GAAGD,GACxB,gBAACN,EAAc,SAAd,CAAuB,MAAa,UAAQ,KAAO,CAAE,KAAAI,CAAK,GAAI,CAACA,CAAI,CAAC,GAClED,CACH,CACF,CAEJ,EACAF,EAAW,YAAc,cAQzB,IAAMO,EAAsB,aAC1B,CAACN,EAAOO,IAAiB,CACvB,IAAMC,EAAgB,aAAWV,CAAa,EACxC,CACJ,SAAAG,EACA,UAAAQ,EACA,MAAAC,EACA,OAAAC,EACA,YAAAC,EACA,MAAAC,EACA,QAAAC,EACA,SAAAC,EACA,SAAAC,EACA,SAAAC,EACA,GAAGC,CACL,EAAIC,EAEF,CAAE,KAAMX,GAAS,KAAM,GAAGR,CAAM,EAEhC,CAAE,KAAMG,EAAmB,IAAK,EAChCiB,EACAC,CACF,EAGMC,EAAkB,UACtB,KAAO,CACL,eAAgBT,GAAS,OACzB,YAAaC,GAAW,OACxB,gBAAiBC,GAAY,OAC7B,gBAAiBC,GAAY,MAC/B,GACA,CAACH,EAAOC,EAASC,EAAUC,CAAQ,CACrC,EAEA,OACE,gBAACX,EAAgB,QAAhB,CAAwB,QAAO,IAC9B,gBAAC,UACC,oBAAmBK,EACnB,cAAaC,EACb,gBAAeM,EACf,aAAYJ,EACZ,eAAcC,EACb,GAAGI,EACH,GAAGI,EACJ,IAAKf,EACL,UAAWgB,EAAW,WAAY,mBAAoBd,CAAS,GAE/D,gBAAC,QAAK,UAAU,yBACd,gBAACJ,EAAgB,MAAhB,CAAsB,YAAaO,GAAcX,CAAS,CAC7D,EACA,gBAACI,EAAgB,KAAhB,CAAqB,QAAO,IAC1BS,EACC,gBAAC,OAAI,UAAU,qCAAqC,cAAY,QAC9D,gBAAC,OAAI,MAAM,KAAK,OAAO,KAAK,QAAQ,YAAY,KAAK,QACnD,gBAAC,UACC,GAAG,IACH,GAAG,IACH,EAAE,IACF,OAAO,eACP,YAAY,IACZ,cAAc,QACd,gBAAgB,KAChB,iBAAiB,KACjB,UAAU,6BACZ,CACF,CACF,EAEA,gBAACU,EAAA,CAAgB,UAAU,gBAAgB,CAE/C,CACF,CACF,CAEJ,CACF,EACAlB,EAAc,YAAc,iBAS5B,IAAMmB,EAAsB,aAC1B,CAACzB,EAAOO,IAAiB,CACvB,IAAMC,EAAgB,aAAWV,CAAa,EACxC,CAAE,UAAAW,EAAW,SAAAR,EAAU,MAAAS,EAAO,UAAAgB,EAAW,GAAGC,CAAa,EAAIR,EAEjE,CAAE,KAAMX,GAAS,KAAM,GAAGR,CAAM,EAEhC,CAAE,KAAMG,EAAmB,IAAK,EAChCyB,CACF,EACMC,EAAeC,EAAgB,EAC/BC,EAAgBrB,GAASmB,EAAa,YACtCG,EAAmBC,EAA6B,EACtD,OACE,gBAAC5B,EAAgB,OAAhB,CAAuB,UAAWqB,GACjC,gBAACQ,EAAA,CAAM,QAAO,IACZ,gBAAC7B,EAAgB,QAAhB,CACC,oBAAmB0B,EACnB,WAAY,EACX,GAAGJ,EACJ,QAAS,GACT,IAAKpB,EACL,UAAWgB,EACT,mBACA,qBACJ,kBACI,mBACAd,CACF,GAEA,gBAAC0B,EAAoB,KAApB,CAAyB,KAAK,OAAO,UAAU,qBAC9C,gBAAC9B,EAAgB,SAAhB,CACC,QAAO,GACP,UAAWkB,EAAW,sBAAuB,mBAAmB,GAEhE,gBAACY,EAAoB,SAApB,CACC,IAAKH,EACL,UAAU,wBACV,MAAO,CAAE,UAAW,MAAU,GAE7B/B,CACH,CACF,EACA,gBAACkC,EAAoB,UAApB,CACC,UAAU,qCACV,YAAY,YAEZ,gBAACA,EAAoB,MAApB,CAA0B,UAAU,qBAAqB,CAC5D,CACF,CACF,CACF,CACF,CAEJ,CACF,EACAV,EAAc,YAAc,iBAK5B,IAAMW,EAAmB,aAA+C,CAACpC,EAAOO,IAAiB,CAC/F,GAAM,CAAE,UAAAE,EAAW,SAAAR,EAAU,GAAGoC,CAAU,EAAIrC,EAGxCsC,EAAgB,OAAOrC,GAAa,SAE1C,OACE,gBAACI,EAAgB,KAAhB,CACE,GAAGgC,EACJ,QAAS,GACT,IAAK9B,EACL,UAAWgB,EACT,WACA,kBACA,gBACA,CAAE,oBAAqBe,CAAc,EACrC7B,CACF,GAEA,gBAACJ,EAAgB,cAAhB,CAA8B,UAAU,0BACvC,gBAACkC,EAAA,CAAe,UAAU,6BAA6B,CACzD,EACA,gBAAClC,EAAgB,SAAhB,KAA0BJ,CAAS,CACtC,CAEJ,CAAC,EACDmC,EAAW,YAAc,cAKzB,IAAMI,EAAoB,aACxB,CAAC,CAAE,UAAA/B,EAAW,GAAGT,CAAM,EAAGO,IACxB,gBAACF,EAAgB,MAAhB,CACE,GAAGL,EACJ,QAAS,GACT,IAAKO,EACL,UAAWgB,EAAW,iBAAkBd,CAAS,EACnD,CAEJ,EACA+B,EAAY,YAAc,eAK1B,IAAMC,EAAoB,aACxB,CAAC,CAAE,UAAAhC,EAAW,GAAGT,CAAM,EAAGO,IACxB,gBAACF,EAAgB,MAAhB,CACE,GAAGL,EACJ,QAAS,GACT,IAAKO,EACL,UAAWgB,EAAW,mBAAoB,iBAAkBd,CAAS,EACvE,CAEJ,EACAgC,EAAY,YAAc,eAK1B,IAAMC,EAAwB,aAC5B,CAAC,CAAE,UAAAjC,EAAW,GAAGT,CAAM,EAAGO,IACxB,gBAACF,EAAgB,UAAhB,CACE,GAAGL,EACJ,QAAS,GACT,IAAKO,EACL,UAAWgB,EAAW,uBAAwB,qBAAsBd,CAAS,EAC/E,CAEJ,EACAiC,EAAgB,YAAc",
|
|
6
|
+
"names": ["select_exports", "__export", "SelectContent", "SelectGroup", "SelectItem", "SelectLabel", "SelectRoot", "SelectSeparator", "SelectTrigger", "React", "classNames", "SelectPrimitive", "ScrollAreaPrimitive", "SelectContext", "SelectRoot", "props", "children", "size", "selectRootPropDefs", "rootProps", "SelectPrimitive", "SelectTrigger", "forwardedRef", "context", "className", "color", "radius", "placeholder", "error", "loading", "disabled", "readOnly", "material", "triggerProps", "extractProps", "selectTriggerPropDefs", "marginPropDefs", "ariaProps", "classNames", "ChevronDownIcon", "SelectContent", "container", "contentProps", "selectContentPropDefs", "themeContext", "useThemeContext", "resolvedColor", "setThumbViewport", "useThumbSync", "Theme", "ScrollAreaPrimitive", "SelectItem", "itemProps", "isRichContent", "ThickCheckIcon", "SelectGroup", "SelectLabel", "SelectSeparator"]
|
|
7
|
+
}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{a as tt}from"./chunk-DQTJMIRO.js";import{a as Be}from"./chunk-MQT3YJKY.js";import{g as Ze,j as et}from"./chunk-IX5HIHVI.js";import{a as Ae}from"./chunk-O6K6RZXY.js";import{a as Qe}from"./chunk-JZD5FHSU.js";import{a as ze}from"./chunk-XZ5XZS5O.js";import{a as Fe}from"./chunk-7CBZFHSQ.js";import{a as De}from"./chunk-AGAQC4HH.js";import{b as U}from"./chunk-FWB47YCH.js";import{a as Ot}from"./chunk-OS3FCYZY.js";var jt={};Ot(jt,{AttachTrigger:()=>ft,Attachment:()=>$e,AttachmentsRow:()=>ut,InlineEnd:()=>dt,InlineStart:()=>lt,Item:()=>ht,Root:()=>ct,Row:()=>bt,RowEnd:()=>Ct,RowStart:()=>Rt,Send:()=>gt,Textarea:()=>it});import*as e from"react";import T from"classnames";import{useComposedRefs as rt}from"radix-ui/internal";import{useDropzone as Ht}from"react-dropzone";var je=typeof window<"u"?e.useLayoutEffect:e.useEffect;function at(t,o){let{placeholder:a}=t;if(!a){o();return}t.placeholder="";try{o()}finally{t.placeholder=a}}var ot=e.createContext(null),We=e.createContext(""),O=()=>{let t=e.useContext(ot);if(!t)throw new Error("Chatbar context not found. Wrap parts in <Chatbar.Root>.");return t},me=t=>Array.isArray(t)?t:typeof t=="string"?t.split(",").map(o=>o.trim()).filter(Boolean):[],It=(t,o)=>{if(o.length===0)return!0;let a=t.type.toLowerCase(),c=t.name.toLowerCase();for(let i of o){let l=i.toLowerCase();if(l.includes("/")){let[d,u]=l.split("/"),[f,b]=a.split("/");if(d==="*"||d===f&&(u==="*"||u===b))return!0}else if(l.startsWith(".")&&c.endsWith(l))return!0}return!1},Ft=/\.(png|jpe?g|gif|webp|bmp|svg|avif)$/i,st=(t,o)=>(o||"").toLowerCase().startsWith("image/")||Ft.test(t),Ve=t=>t.trim().length>0,nt=(t,o)=>`${t} ${o}${t===1?"":"s"}`,zt=0,Dt=()=>`chatbar-attachment-${Date.now()}-${++zt}`,ct=e.forwardRef((t,o)=>{let{className:a,style:c,children:i,value:l,defaultValue:d="",onValueChange:u,open:f,defaultOpen:b=!1,onOpenChange:g,expandOn:v="both",minLines:C=3,maxLines:w=6,sendMode:H="whenDirty",disabled:R,readOnly:E,onSubmit:B,size:A="2",variant:I,color:M,radius:N,material:J,width:h,maxWidth:Q,attachments:F,defaultAttachments:se,onAttachmentsChange:P,accept:z,multiple:j=!0,maxAttachments:G,maxFileSize:_,paste:V=!0,pasteAccept:q,clearOnSubmit:L=!0,onAttachmentReject:D,dropzone:ce=!0,apiRef:we,onBlurCapture:pe,notices:he,context:fe,...Se}=t,be=J,r=l!=null,[y,S]=e.useState(d),Z=r?l:y,W=f!=null,[ee,Ee]=e.useState(b),X=W?f:ee,te="attachments"in t,[ie,vt]=e.useState(()=>se??[]),le=e.useMemo(()=>te?F??[]:ie,[te,F,ie]),[Ke,yt]=e.useState({text:"",id:0}),de=e.useCallback(n=>yt(s=>({text:n,id:s.id+1})),[]),Ue=e.useRef(null),xt=rt(o,Ue),Te=e.useRef(null),Le=e.useRef(null),ue=e.useRef(!1),Re=e.useRef(!1),Ce=e.useRef(void 0),ke=e.useRef(null),Ge=me(z).join(","),Me=me(q).join(","),Ne=e.useMemo(()=>me(Ge),[Ge]),Pt=e.useMemo(()=>Me?me(Me):Ne,[Me,Ne]),_e={value:Z,attachments:le,accepts:Ne,pasteAccepts:Pt,multiple:j,maxAttachments:G,maxFileSize:_,disabled:R,readOnly:E,expandOn:v,isValueControlled:r,isOpenControlled:W,isAttachmentsControlled:te,onValueChange:u,onOpenChange:g,onAttachmentsChange:P,onAttachmentReject:D,onSubmit:B},x=e.useRef(_e);x.current=_e;let Oe=e.useRef(null),$=e.useCallback(()=>Oe.current??x.current.attachments,[]),ae=e.useCallback(n=>{x.current.isOpenControlled||Ee(n),x.current.onOpenChange?.(n)},[]),ge=e.useCallback(n=>{x.current.isValueControlled||S(n),x.current.onValueChange?.(n)},[]),ne=e.useCallback(n=>{Oe.current=n,queueMicrotask(()=>{Oe.current=null}),x.current.isAttachmentsControlled||vt(n),x.current.onAttachmentsChange?.(n)},[]),ve=e.useRef(new Set),re=e.useCallback((n,s,m=x.current.multiple)=>{let p=x.current;if(p.disabled||p.readOnly||n.length===0)return 0;let K=$(),Y=[],oe=[],Mt=typeof p.maxAttachments=="number"?Math.max(p.maxAttachments-K.length,0):1/0,Nt=m?1/0:1;for(let k of n){if(Y.length>=Mt||Y.length>=Nt){oe.push({file:k,reason:"count"});continue}if(typeof p.maxFileSize=="number"&&k.size>p.maxFileSize){oe.push({file:k,reason:"size"});continue}if(!It(k,s)){oe.push({file:k,reason:"type"});continue}let Ie=st(k.name,k.type)?URL.createObjectURL(k):void 0;Ie&&ve.current.add(Ie),Y.push({id:Dt(),name:k.name,size:k.size,type:k.type,file:k,url:Ie,status:"idle"})}let Pe=[];return Y.length>0&&(ne(K.concat(Y)),p.expandOn!=="none"&&ae(!0),Pe.push(`${nt(Y.length,"file")} attached.`)),oe.length>0&&(p.onAttachmentReject?.(oe),Pe.push(`${nt(oe.length,"file")} could not be attached.`)),Pe.length>0&&de(Pe.join(" ")),Y.length},[$,ne,ae,de]),ye=e.useCallback(n=>re(n,x.current.accepts),[re]),qe=e.useCallback(n=>re(n,x.current.pasteAccepts),[re]),Xe=e.useCallback(n=>{let s=$(),m=s.find(p=>p.id===n);m&&(ne(s.filter(p=>p.id!==n)),de(`Removed ${m.name}.`))},[$,ne,de]),Ye=e.useCallback(n=>{let s=x.current;if(s.disabled||s.readOnly)return!1;let m=$();if(!Ve(s.value)&&m.length===0)return!1;let p={value:s.value,attachments:m};if(n&&s.onSubmit)for(let K of m)K.url&&ve.current.delete(K.url);return s.onSubmit?.(p),n&&(ge(""),ne([])),!0},[$,ge,ne]);e.useEffect(()=>{let n=ve.current;if(n.size===0)return;let s=new Set(le.map(m=>m.url));for(let m of Array.from(n))s.has(m)||(URL.revokeObjectURL(m),n.delete(m))},[le]),e.useEffect(()=>{let n=ve.current;return()=>{if(!x.current.isAttachmentsControlled){for(let s of Array.from(n))URL.revokeObjectURL(s);n.clear()}}},[]);let xe=e.useCallback(n=>{let s=x.current,m=Le.current;if(clearTimeout(Ce.current),Re.current=!1,!m||s.disabled||s.readOnly)return;let p=n?.accept!=null?me(n.accept):s.accepts,K=n?.multiple??s.multiple;ke.current={patterns:p,multiple:K},m.accept=p.join(","),m.multiple=K,ue.current=!0,m.click(),setTimeout(()=>{document.hasFocus()&&(ue.current=!1)},1e3)},[]),Je=e.useCallback(()=>{Re.current=!0,clearTimeout(Ce.current),Ce.current=setTimeout(()=>{Re.current=!1},800)},[]);e.useEffect(()=>()=>clearTimeout(Ce.current),[]),e.useEffect(()=>{let n=Le.current,s=()=>{ue.current=!1};return window.addEventListener("focus",s),n?.addEventListener("cancel",s),()=>{window.removeEventListener("focus",s),n?.removeEventListener("cancel",s)}},[]);let At=e.useCallback(n=>{let s=n.currentTarget,m=Array.from(s.files??[]),p=ke.current;re(m,p?.patterns??x.current.accepts,p?.multiple),ue.current=!1,ke.current=null,s.value=""},[re]),wt=e.useCallback(n=>{pe?.(n);let s=x.current,m=Ue.current;if(!m||s.expandOn==="none")return;let p=n.relatedTarget;p&&m.contains(p)||ue.current||Re.current||!Ve(s.value)&&$().length===0&&ae(!1)},[pe,ae,$]),St=e.useCallback(n=>{ye(n)},[ye]),{getRootProps:Et,isDragActive:Tt}=Ht({onDrop:St,onDragEnter:()=>de(""),noClick:!0,noKeyboard:!0,noPaste:!0,disabled:!ce||R||E}),He=ce&&Tt;e.useImperativeHandle(we,()=>({focusTextarea:()=>Te.current?.focus({preventScroll:!0}),openFilePicker:()=>xe()}),[xe]);let Lt=e.useCallback(n=>{if(R||n.pointerType==="mouse"&&n.button!==0)return;let s=n.target;s instanceof Element&&s.closest('button, [role="button"], a[href], input, textarea, select, [contenteditable], [tabindex]:not([tabindex="-1"])')||(n.preventDefault(),Te.current?.focus({preventScroll:!0}))},[R]),kt=e.useMemo(()=>({open:X,setOpen:ae,setValue:ge,size:A,expandOn:v,minLines:C,maxLines:w,sendMode:H,disabled:R,readOnly:E,paste:V,clearOnSubmit:L,multiple:j,textareaRef:Te,attachments:le,removeAttachment:Xe,submit:Ye,appendFiles:ye,appendFilesFromPaste:qe,openFilePicker:xe,beginFilePickerPress:Je}),[X,ae,ge,A,v,C,w,H,R,E,V,L,j,le,Xe,Ye,ye,qe,xe,Je]);return e.createElement(ot.Provider,{value:kt},e.createElement(We.Provider,{value:Z},e.createElement(e.Fragment,null,e.createElement("div",{...Se,ref:xt,className:T("rt-ChatbarRoot",`rt-r-size-${A}`,a),style:{position:"relative",width:h,maxWidth:Q,...c},"data-state":X?"open":"closed","data-disabled":R?"":void 0,"data-readonly":E?"":void 0,"data-drop-active":He?"":void 0,"data-accent-color":M,"data-radius":N,"data-material":be,onBlurCapture:wt},e.createElement("input",{ref:Le,type:"file",tabIndex:-1,"aria-hidden":!0,style:{display:"none"},onChange:At}),he?e.createElement("div",{className:"rt-ChatbarNotices"},e.createElement(tt.Provider,{value:A},he)):null,e.createElement("div",{...ce?Et():{},style:{width:"100%",flex:"1 1 auto",minHeight:0},onPointerDown:Lt},e.createElement("div",{className:T("rt-ChatbarBox",`rt-variant-${I??"raised"}`),style:{position:"relative"},"data-accent-color":M,"data-radius":N,"data-material":be},e.createElement("div",{className:"rt-ChatbarGrid"},i),He&&e.createElement("div",{className:"rt-ChatbarDropOverlay","aria-hidden":!0},e.createElement("div",{className:"rt-ChatbarDropContent"},e.createElement(Ae,{emphasis:"medium",size:A,weight:"medium"},"Drop files here to attach"))))),fe?e.createElement(Ae,{as:"div",size:A==="3"?"2":"1",emphasis:"medium",className:"rt-ChatbarContext"},fe):null,e.createElement(De,{role:"status","aria-live":"polite"},He?"Drop files here to attach.":e.createElement("span",{key:Ke.id},Ke.text))))))});ct.displayName="Chatbar.Root";var it=e.forwardRef((t,o)=>{let{className:a,style:c,asChild:i,onFocus:l,onChange:d,onPaste:u,onKeyDown:f,onCompositionStart:b,onCompositionEnd:g,submitOnEnter:v=!1,...C}=t,w=O(),H=e.useContext(We),{open:R,minLines:E,maxLines:B,expandOn:A,disabled:I,readOnly:M,setOpen:N,setValue:J,textareaRef:h,paste:Q,appendFilesFromPaste:F,size:se,submit:P,clearOnSubmit:z}=w,j=rt(o,h),G=e.useRef(0),_=e.useRef(0),V=e.useRef(!1),q=e.useRef({open:R,minLines:E,maxLines:B});je(()=>{q.current={open:R,minLines:E,maxLines:B}},[R,E,B]);let L=e.useCallback(()=>{let r=h.current;if(!r)return;let y=window.getComputedStyle(r);G.current=parseFloat(y.lineHeight)||20,_.current=(parseFloat(y.paddingTop)||0)+(parseFloat(y.paddingBottom)||0)},[h]),D=e.useCallback((r,y)=>{let{minLines:S,maxLines:Z}=q.current,W=G.current,ee=_.current,Ee=Math.ceil((y?S:1)*W)+ee,X=Math.ceil((y?Z:1)*W)+ee,te=Math.max(r.scrollHeight,Ee);r.style.height=`${Math.min(te,X)}px`;let ie=te>X;r.style.overflowY=ie?"auto":"hidden",r.style.maxHeight=ie?`${X}px`:"none"},[]);je(()=>{L()},[L,se]),je(()=>{let r=h.current;r&&(G.current===0&&L(),at(r,()=>{r.style.height="auto";let y=R;if(!R&&(A==="overflow"||A==="both")){let S=Math.ceil(G.current)+_.current;r.scrollHeight>S+1&&(y=!0,N(!0))}D(r,y)}))},[H,R,A,E,B,se,N,h,L,D]),e.useEffect(()=>{let r=h.current;if(!r||typeof ResizeObserver>"u")return;let y=-1,S=new ResizeObserver(Z=>{let W=Z[0]?.contentRect.width??0;if(W===y)return;let ee=y===-1;y=W,!ee&&(L(),at(r,()=>{r.style.height="auto",D(r,q.current.open)}))});return S.observe(r),()=>S.disconnect()},[h,L,D]),e.useEffect(()=>{},[]);let ce=e.useCallback(r=>{l?.(r),!(I||M)&&(A==="focus"||A==="both")&&!R&&N(!0)},[I,M,A,R,N,l]),we=e.useCallback(r=>{J(r.currentTarget.value),d?.(r)},[J,d]),pe=e.useCallback(r=>{if(u?.(r),r.defaultPrevented||!Q||I||M)return;let y=Array.from(r.clipboardData?.items??[]).filter(S=>S.kind==="file").map(S=>S.getAsFile()).filter(S=>!!S);y.length!==0&&F(y)>0&&r.preventDefault()},[Q,I,M,u,F]),he=e.useCallback(r=>{V.current=!0,b?.(r)},[b]),fe=e.useCallback(r=>{V.current=!1,g?.(r)},[g]),Se=e.useCallback(r=>{f?.(r),!(r.defaultPrevented||!v)&&(r.key!=="Enter"||r.shiftKey||r.altKey||r.ctrlKey||r.metaKey||V.current||r.nativeEvent.isComposing||r.nativeEvent.keyCode===229||(r.preventDefault(),P(z)))},[v,f,P,z]),be=i?U:"textarea";return e.createElement("div",{className:T("rt-ChatbarField","rt-ChatbarTextarea",a)},e.createElement(be,{...C,ref:j,className:"rt-ChatbarInput",value:H,onChange:we,onFocus:ce,onPaste:pe,onKeyDown:Se,onCompositionStart:he,onCompositionEnd:fe,disabled:I,readOnly:M,rows:R?E:1,spellCheck:C.spellCheck??!0,autoCorrect:C.autoCorrect??"on",style:c}))});it.displayName="Chatbar.Textarea";var lt=e.forwardRef((t,o)=>{let{children:a,asChild:c,className:i,...l}=t;return O().open?null:e.createElement(c?U:"div",{...l,ref:o,className:T("rt-ChatbarInlineStart",i)},a)});lt.displayName="Chatbar.InlineStart";var dt=e.forwardRef((t,o)=>{let{children:a,asChild:c,className:i,...l}=t;return O().open?null:e.createElement(c?U:"div",{...l,ref:o,className:T("rt-ChatbarInlineEnd",i)},a)});dt.displayName="Chatbar.InlineEnd";var ut=e.forwardRef((t,o)=>{let{asChild:a,forceMount:c,renderAttachment:i,className:l,children:d,...u}=t,f=O(),b=e.Children.toArray(d).length>0;return f.attachments.length===0&&!b&&!c?null:e.createElement("div",null,e.createElement(a?U:"div",{...u,ref:o,className:T("rt-ChatbarAttachmentsRow",l),role:"list","aria-label":u["aria-label"]??"Attachments"},e.createElement(Qe,{className:"rt-ChatbarScrollArea",scrollbars:"horizontal",size:"1"},e.createElement(Fe,{align:"center",gap:"2",minWidth:"fit-content"},f.attachments.map(v=>e.createElement($e,{key:v.id,attachment:v,asChild:!!i},i?.(v))),d))))});ut.displayName="Chatbar.AttachmentsRow";function mt(t,o){let a=t.closest('[role="listitem"]'),c=a?.parentElement?Array.from(a.parentElement.children):[],i=a?c.indexOf(a):-1,d=(c[i+1]??c[i-1])?.querySelector(".rt-ChatbarItemRemove");d?d.focus():o.current?.focus({preventScroll:!0})}var pt=({lead:t,leadKind:o,label:a,detail:c,removeLabel:i,onRemove:l})=>{let d=O();return e.createElement(e.Fragment,null,e.createElement("span",{className:"rt-ChatbarItemLead","data-kind":o,"aria-hidden":!0},t),e.createElement(Ae,{className:"rt-ChatbarItemLabel",size:d.size,truncate:!0},a,c?e.createElement(De,null,", ",c):null),l&&e.createElement(Be,{className:"rt-ChatbarItemRemove","aria-label":i,size:"1",variant:"ghost",color:"gray",onClick:l},e.createElement(Ze,null)))},Bt={uploading:"uploading",error:"failed to upload"},$e=e.forwardRef((t,o)=>{let{attachment:a,asChild:c,className:i,children:l,...d}=t,u=O(),f=c?U:"div",b=!!a.url&&st(a.name,a.type),g=`${Math.ceil(a.size/1024)} KB`,v=a.status?Bt[a.status]:void 0,C=u.disabled||u.readOnly,w=R=>{mt(R.currentTarget,u.textareaRef),u.removeAttachment(a.id)},H=a.status==="uploading"?e.createElement(ze,{size:"1"}):b?e.createElement("img",{className:"rt-ChatbarAttachmentImage",src:a.url,alt:""}):e.createElement(et,null);return e.createElement(f,{...d,ref:o,className:T(l?"rt-ChatbarAttachment":"rt-ChatbarAttachment rt-ChatbarItem",i),role:"listitem","data-kind":b?"image":"file","data-status":a.status,title:a.name},l??e.createElement(pt,{lead:H,leadKind:b&&a.status!=="uploading"?"image":"icon",label:a.name,detail:v?`${g}, ${v}`:g,removeLabel:`Remove ${a.name}`,onRemove:C?void 0:w}))});$e.displayName="Chatbar.Attachment";var ht=e.forwardRef((t,o)=>{let{children:a,icon:c,image:i,color:l,onRemove:d,removeLabel:u,className:f,...b}=t,g=O(),v=g.disabled||g.readOnly,C=d?w=>{mt(w.currentTarget,g.textareaRef),d()}:void 0;return e.createElement("div",{...b,ref:o,className:T("rt-ChatbarItem",f),role:"listitem","data-accent-color":i?void 0:l??"gray",title:a},e.createElement(pt,{lead:i?e.createElement("img",{className:"rt-ChatbarAttachmentImage",src:i,alt:""}):c,leadKind:i?"image":"icon",label:a,removeLabel:u??`Remove ${a}`,onRemove:v?void 0:C}))});ht.displayName="Chatbar.Item";var ft=e.forwardRef((t,o)=>{let{asChild:a,accept:c,multiple:i,disabled:l,onPointerDown:d,onClick:u,...f}=t,b=O(),g=l||b.disabled||b.readOnly;return e.createElement(a?U:"button",{...f,ref:o,className:T("rt-ChatbarAttachTrigger",f.className),type:f.type??"button","aria-label":f["aria-label"]??"Add attachments",disabled:g,onPointerDown:C=>{d?.(C),!g&&!C.defaultPrevented&&b.beginFilePickerPress()},onClick:C=>{u?.(C),!(g||C.defaultPrevented)&&b.openFilePicker({accept:c,multiple:i})}})});ft.displayName="Chatbar.AttachTrigger";var bt=e.forwardRef((t,o)=>{let{asChild:a,children:c,className:i,...l}=t;return O().open?e.createElement("div",null,e.createElement(a?U:"div",{...l,ref:o,className:T("rt-ChatbarRow",i)},e.createElement(Fe,{align:"center",justify:"between",width:"100%"},c))):null});bt.displayName="Chatbar.Row";var Rt=e.forwardRef((t,o)=>{let{className:a,...c}=t;return e.createElement("div",{...c,ref:o,className:T("rt-ChatbarRowStart",a)})});Rt.displayName="Chatbar.RowStart";var Ct=e.forwardRef((t,o)=>{let{className:a,...c}=t;return e.createElement("div",{...c,ref:o,className:T("rt-ChatbarRowEnd",a)})});Ct.displayName="Chatbar.RowEnd";var gt=e.forwardRef((t,o)=>{let{asChild:a,clearOnSend:c,disabled:i,children:l,style:d,className:u,size:f,variant:b,emphasis:g,tabIndex:v,onClick:C,status:w="ready",onStop:H,onRetry:R,stopLabel:E="Stop",retryLabel:B="Retry",stopIcon:A,retryIcon:I,"aria-label":M,"aria-labelledby":N,...J}=t,h=O(),Q=e.useContext(We),F=Ve(Q)||h.attachments.length>0,P=F?"send":w==="submitted"||w==="streaming"?"stop":w==="error"?"retry":"send";if(h.sendMode==="never"&&P==="send")return null;let z=P!=="send"||h.sendMode==="always"||F,j=P==="send"?i||h.disabled||h.readOnly||!F:i||h.disabled,_=P==="stop"?{"aria-label":E}:P==="retry"?{"aria-label":B}:N?{"aria-labelledby":N}:{"aria-label":M??"Send"},V=L=>{if(C?.(L),L.defaultPrevented||j)return;if(P==="stop"){H?.();return}if(P==="retry"){R?.();return}let D=c??h.clearOnSubmit;h.submit(D)&&D&&h.textareaRef.current?.focus({preventScroll:!0})},q=P==="stop"?A??(w==="submitted"?e.createElement(ze,{size:h.size}):e.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 24 24",fill:"currentColor","aria-hidden":!0},e.createElement("rect",{x:"7",y:"7",width:"10",height:"10",rx:"2"}))):P==="retry"?I??e.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":!0},e.createElement("path",{d:"M3 12a9 9 0 1 0 3-6.7L3 8"}),e.createElement("path",{d:"M3 3v5h5"})):l??e.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":!0},e.createElement("path",{d:"M5 12h14"}),e.createElement("path",{d:"m12 5 7 7-7 7"}));return e.createElement(Be,{...J,ref:o,size:f??h.size,...g?{emphasis:g}:{variant:b??(h.open||P!=="send"?"solid":"ghost")},disabled:j,className:T("rt-ChatbarSend",u),style:{opacity:z?1:0,pointerEvents:z?void 0:"none",...d},"aria-hidden":z?void 0:!0,tabIndex:z?v:-1,asChild:a,onClick:V,"data-status":w,"data-mode":P,..._},q)});gt.displayName="Chatbar.Send";export{ct as a,it as b,lt as c,dt as d,ut as e,$e as f,ht as g,ft as h,bt as i,Rt as j,Ct as k,gt as l,jt as m};
|
|
2
|
-
//# sourceMappingURL=chunk-
|
|
1
|
+
import{a as tt}from"./chunk-DQTJMIRO.js";import{a as Be}from"./chunk-MQT3YJKY.js";import{g as Ze,j as et}from"./chunk-IX5HIHVI.js";import{a as Ae}from"./chunk-O6K6RZXY.js";import{a as Qe}from"./chunk-HKRQ3E3I.js";import{a as ze}from"./chunk-XZ5XZS5O.js";import{a as Fe}from"./chunk-7CBZFHSQ.js";import{a as De}from"./chunk-AGAQC4HH.js";import{b as U}from"./chunk-FWB47YCH.js";import{a as Ot}from"./chunk-OS3FCYZY.js";var jt={};Ot(jt,{AttachTrigger:()=>ft,Attachment:()=>$e,AttachmentsRow:()=>ut,InlineEnd:()=>dt,InlineStart:()=>lt,Item:()=>ht,Root:()=>ct,Row:()=>bt,RowEnd:()=>Ct,RowStart:()=>Rt,Send:()=>gt,Textarea:()=>it});import*as e from"react";import T from"classnames";import{useComposedRefs as rt}from"radix-ui/internal";import{useDropzone as Ht}from"react-dropzone";var je=typeof window<"u"?e.useLayoutEffect:e.useEffect;function at(t,o){let{placeholder:a}=t;if(!a){o();return}t.placeholder="";try{o()}finally{t.placeholder=a}}var ot=e.createContext(null),We=e.createContext(""),O=()=>{let t=e.useContext(ot);if(!t)throw new Error("Chatbar context not found. Wrap parts in <Chatbar.Root>.");return t},me=t=>Array.isArray(t)?t:typeof t=="string"?t.split(",").map(o=>o.trim()).filter(Boolean):[],It=(t,o)=>{if(o.length===0)return!0;let a=t.type.toLowerCase(),c=t.name.toLowerCase();for(let i of o){let l=i.toLowerCase();if(l.includes("/")){let[d,u]=l.split("/"),[f,b]=a.split("/");if(d==="*"||d===f&&(u==="*"||u===b))return!0}else if(l.startsWith(".")&&c.endsWith(l))return!0}return!1},Ft=/\.(png|jpe?g|gif|webp|bmp|svg|avif)$/i,st=(t,o)=>(o||"").toLowerCase().startsWith("image/")||Ft.test(t),Ve=t=>t.trim().length>0,nt=(t,o)=>`${t} ${o}${t===1?"":"s"}`,zt=0,Dt=()=>`chatbar-attachment-${Date.now()}-${++zt}`,ct=e.forwardRef((t,o)=>{let{className:a,style:c,children:i,value:l,defaultValue:d="",onValueChange:u,open:f,defaultOpen:b=!1,onOpenChange:g,expandOn:v="both",minLines:C=3,maxLines:w=6,sendMode:H="whenDirty",disabled:R,readOnly:E,onSubmit:B,size:A="2",variant:I,color:M,radius:N,material:J,width:h,maxWidth:Q,attachments:F,defaultAttachments:se,onAttachmentsChange:P,accept:z,multiple:j=!0,maxAttachments:G,maxFileSize:_,paste:V=!0,pasteAccept:q,clearOnSubmit:L=!0,onAttachmentReject:D,dropzone:ce=!0,apiRef:we,onBlurCapture:pe,notices:he,context:fe,...Se}=t,be=J,r=l!=null,[y,S]=e.useState(d),Z=r?l:y,W=f!=null,[ee,Ee]=e.useState(b),X=W?f:ee,te="attachments"in t,[ie,vt]=e.useState(()=>se??[]),le=e.useMemo(()=>te?F??[]:ie,[te,F,ie]),[Ke,yt]=e.useState({text:"",id:0}),de=e.useCallback(n=>yt(s=>({text:n,id:s.id+1})),[]),Ue=e.useRef(null),xt=rt(o,Ue),Te=e.useRef(null),Le=e.useRef(null),ue=e.useRef(!1),Re=e.useRef(!1),Ce=e.useRef(void 0),ke=e.useRef(null),Ge=me(z).join(","),Me=me(q).join(","),Ne=e.useMemo(()=>me(Ge),[Ge]),Pt=e.useMemo(()=>Me?me(Me):Ne,[Me,Ne]),_e={value:Z,attachments:le,accepts:Ne,pasteAccepts:Pt,multiple:j,maxAttachments:G,maxFileSize:_,disabled:R,readOnly:E,expandOn:v,isValueControlled:r,isOpenControlled:W,isAttachmentsControlled:te,onValueChange:u,onOpenChange:g,onAttachmentsChange:P,onAttachmentReject:D,onSubmit:B},x=e.useRef(_e);x.current=_e;let Oe=e.useRef(null),$=e.useCallback(()=>Oe.current??x.current.attachments,[]),ae=e.useCallback(n=>{x.current.isOpenControlled||Ee(n),x.current.onOpenChange?.(n)},[]),ge=e.useCallback(n=>{x.current.isValueControlled||S(n),x.current.onValueChange?.(n)},[]),ne=e.useCallback(n=>{Oe.current=n,queueMicrotask(()=>{Oe.current=null}),x.current.isAttachmentsControlled||vt(n),x.current.onAttachmentsChange?.(n)},[]),ve=e.useRef(new Set),re=e.useCallback((n,s,m=x.current.multiple)=>{let p=x.current;if(p.disabled||p.readOnly||n.length===0)return 0;let K=$(),Y=[],oe=[],Mt=typeof p.maxAttachments=="number"?Math.max(p.maxAttachments-K.length,0):1/0,Nt=m?1/0:1;for(let k of n){if(Y.length>=Mt||Y.length>=Nt){oe.push({file:k,reason:"count"});continue}if(typeof p.maxFileSize=="number"&&k.size>p.maxFileSize){oe.push({file:k,reason:"size"});continue}if(!It(k,s)){oe.push({file:k,reason:"type"});continue}let Ie=st(k.name,k.type)?URL.createObjectURL(k):void 0;Ie&&ve.current.add(Ie),Y.push({id:Dt(),name:k.name,size:k.size,type:k.type,file:k,url:Ie,status:"idle"})}let Pe=[];return Y.length>0&&(ne(K.concat(Y)),p.expandOn!=="none"&&ae(!0),Pe.push(`${nt(Y.length,"file")} attached.`)),oe.length>0&&(p.onAttachmentReject?.(oe),Pe.push(`${nt(oe.length,"file")} could not be attached.`)),Pe.length>0&&de(Pe.join(" ")),Y.length},[$,ne,ae,de]),ye=e.useCallback(n=>re(n,x.current.accepts),[re]),qe=e.useCallback(n=>re(n,x.current.pasteAccepts),[re]),Xe=e.useCallback(n=>{let s=$(),m=s.find(p=>p.id===n);m&&(ne(s.filter(p=>p.id!==n)),de(`Removed ${m.name}.`))},[$,ne,de]),Ye=e.useCallback(n=>{let s=x.current;if(s.disabled||s.readOnly)return!1;let m=$();if(!Ve(s.value)&&m.length===0)return!1;let p={value:s.value,attachments:m};if(n&&s.onSubmit)for(let K of m)K.url&&ve.current.delete(K.url);return s.onSubmit?.(p),n&&(ge(""),ne([])),!0},[$,ge,ne]);e.useEffect(()=>{let n=ve.current;if(n.size===0)return;let s=new Set(le.map(m=>m.url));for(let m of Array.from(n))s.has(m)||(URL.revokeObjectURL(m),n.delete(m))},[le]),e.useEffect(()=>{let n=ve.current;return()=>{if(!x.current.isAttachmentsControlled){for(let s of Array.from(n))URL.revokeObjectURL(s);n.clear()}}},[]);let xe=e.useCallback(n=>{let s=x.current,m=Le.current;if(clearTimeout(Ce.current),Re.current=!1,!m||s.disabled||s.readOnly)return;let p=n?.accept!=null?me(n.accept):s.accepts,K=n?.multiple??s.multiple;ke.current={patterns:p,multiple:K},m.accept=p.join(","),m.multiple=K,ue.current=!0,m.click(),setTimeout(()=>{document.hasFocus()&&(ue.current=!1)},1e3)},[]),Je=e.useCallback(()=>{Re.current=!0,clearTimeout(Ce.current),Ce.current=setTimeout(()=>{Re.current=!1},800)},[]);e.useEffect(()=>()=>clearTimeout(Ce.current),[]),e.useEffect(()=>{let n=Le.current,s=()=>{ue.current=!1};return window.addEventListener("focus",s),n?.addEventListener("cancel",s),()=>{window.removeEventListener("focus",s),n?.removeEventListener("cancel",s)}},[]);let At=e.useCallback(n=>{let s=n.currentTarget,m=Array.from(s.files??[]),p=ke.current;re(m,p?.patterns??x.current.accepts,p?.multiple),ue.current=!1,ke.current=null,s.value=""},[re]),wt=e.useCallback(n=>{pe?.(n);let s=x.current,m=Ue.current;if(!m||s.expandOn==="none")return;let p=n.relatedTarget;p&&m.contains(p)||ue.current||Re.current||!Ve(s.value)&&$().length===0&&ae(!1)},[pe,ae,$]),St=e.useCallback(n=>{ye(n)},[ye]),{getRootProps:Et,isDragActive:Tt}=Ht({onDrop:St,onDragEnter:()=>de(""),noClick:!0,noKeyboard:!0,noPaste:!0,disabled:!ce||R||E}),He=ce&&Tt;e.useImperativeHandle(we,()=>({focusTextarea:()=>Te.current?.focus({preventScroll:!0}),openFilePicker:()=>xe()}),[xe]);let Lt=e.useCallback(n=>{if(R||n.pointerType==="mouse"&&n.button!==0)return;let s=n.target;s instanceof Element&&s.closest('button, [role="button"], a[href], input, textarea, select, [contenteditable], [tabindex]:not([tabindex="-1"])')||(n.preventDefault(),Te.current?.focus({preventScroll:!0}))},[R]),kt=e.useMemo(()=>({open:X,setOpen:ae,setValue:ge,size:A,expandOn:v,minLines:C,maxLines:w,sendMode:H,disabled:R,readOnly:E,paste:V,clearOnSubmit:L,multiple:j,textareaRef:Te,attachments:le,removeAttachment:Xe,submit:Ye,appendFiles:ye,appendFilesFromPaste:qe,openFilePicker:xe,beginFilePickerPress:Je}),[X,ae,ge,A,v,C,w,H,R,E,V,L,j,le,Xe,Ye,ye,qe,xe,Je]);return e.createElement(ot.Provider,{value:kt},e.createElement(We.Provider,{value:Z},e.createElement(e.Fragment,null,e.createElement("div",{...Se,ref:xt,className:T("rt-ChatbarRoot",`rt-r-size-${A}`,a),style:{position:"relative",width:h,maxWidth:Q,...c},"data-state":X?"open":"closed","data-disabled":R?"":void 0,"data-readonly":E?"":void 0,"data-drop-active":He?"":void 0,"data-accent-color":M,"data-radius":N,"data-material":be,onBlurCapture:wt},e.createElement("input",{ref:Le,type:"file",tabIndex:-1,"aria-hidden":!0,style:{display:"none"},onChange:At}),he?e.createElement("div",{className:"rt-ChatbarNotices"},e.createElement(tt.Provider,{value:A},he)):null,e.createElement("div",{...ce?Et():{},style:{width:"100%",flex:"1 1 auto",minHeight:0},onPointerDown:Lt},e.createElement("div",{className:T("rt-ChatbarBox",`rt-variant-${I??"raised"}`),style:{position:"relative"},"data-accent-color":M,"data-radius":N,"data-material":be},e.createElement("div",{className:"rt-ChatbarGrid"},i),He&&e.createElement("div",{className:"rt-ChatbarDropOverlay","aria-hidden":!0},e.createElement("div",{className:"rt-ChatbarDropContent"},e.createElement(Ae,{emphasis:"medium",size:A,weight:"medium"},"Drop files here to attach"))))),fe?e.createElement(Ae,{as:"div",size:A==="3"?"2":"1",emphasis:"medium",className:"rt-ChatbarContext"},fe):null,e.createElement(De,{role:"status","aria-live":"polite"},He?"Drop files here to attach.":e.createElement("span",{key:Ke.id},Ke.text))))))});ct.displayName="Chatbar.Root";var it=e.forwardRef((t,o)=>{let{className:a,style:c,asChild:i,onFocus:l,onChange:d,onPaste:u,onKeyDown:f,onCompositionStart:b,onCompositionEnd:g,submitOnEnter:v=!1,...C}=t,w=O(),H=e.useContext(We),{open:R,minLines:E,maxLines:B,expandOn:A,disabled:I,readOnly:M,setOpen:N,setValue:J,textareaRef:h,paste:Q,appendFilesFromPaste:F,size:se,submit:P,clearOnSubmit:z}=w,j=rt(o,h),G=e.useRef(0),_=e.useRef(0),V=e.useRef(!1),q=e.useRef({open:R,minLines:E,maxLines:B});je(()=>{q.current={open:R,minLines:E,maxLines:B}},[R,E,B]);let L=e.useCallback(()=>{let r=h.current;if(!r)return;let y=window.getComputedStyle(r);G.current=parseFloat(y.lineHeight)||20,_.current=(parseFloat(y.paddingTop)||0)+(parseFloat(y.paddingBottom)||0)},[h]),D=e.useCallback((r,y)=>{let{minLines:S,maxLines:Z}=q.current,W=G.current,ee=_.current,Ee=Math.ceil((y?S:1)*W)+ee,X=Math.ceil((y?Z:1)*W)+ee,te=Math.max(r.scrollHeight,Ee);r.style.height=`${Math.min(te,X)}px`;let ie=te>X;r.style.overflowY=ie?"auto":"hidden",r.style.maxHeight=ie?`${X}px`:"none"},[]);je(()=>{L()},[L,se]),je(()=>{let r=h.current;r&&(G.current===0&&L(),at(r,()=>{r.style.height="auto";let y=R;if(!R&&(A==="overflow"||A==="both")){let S=Math.ceil(G.current)+_.current;r.scrollHeight>S+1&&(y=!0,N(!0))}D(r,y)}))},[H,R,A,E,B,se,N,h,L,D]),e.useEffect(()=>{let r=h.current;if(!r||typeof ResizeObserver>"u")return;let y=-1,S=new ResizeObserver(Z=>{let W=Z[0]?.contentRect.width??0;if(W===y)return;let ee=y===-1;y=W,!ee&&(L(),at(r,()=>{r.style.height="auto",D(r,q.current.open)}))});return S.observe(r),()=>S.disconnect()},[h,L,D]),e.useEffect(()=>{},[]);let ce=e.useCallback(r=>{l?.(r),!(I||M)&&(A==="focus"||A==="both")&&!R&&N(!0)},[I,M,A,R,N,l]),we=e.useCallback(r=>{J(r.currentTarget.value),d?.(r)},[J,d]),pe=e.useCallback(r=>{if(u?.(r),r.defaultPrevented||!Q||I||M)return;let y=Array.from(r.clipboardData?.items??[]).filter(S=>S.kind==="file").map(S=>S.getAsFile()).filter(S=>!!S);y.length!==0&&F(y)>0&&r.preventDefault()},[Q,I,M,u,F]),he=e.useCallback(r=>{V.current=!0,b?.(r)},[b]),fe=e.useCallback(r=>{V.current=!1,g?.(r)},[g]),Se=e.useCallback(r=>{f?.(r),!(r.defaultPrevented||!v)&&(r.key!=="Enter"||r.shiftKey||r.altKey||r.ctrlKey||r.metaKey||V.current||r.nativeEvent.isComposing||r.nativeEvent.keyCode===229||(r.preventDefault(),P(z)))},[v,f,P,z]),be=i?U:"textarea";return e.createElement("div",{className:T("rt-ChatbarField","rt-ChatbarTextarea",a)},e.createElement(be,{...C,ref:j,className:"rt-ChatbarInput",value:H,onChange:we,onFocus:ce,onPaste:pe,onKeyDown:Se,onCompositionStart:he,onCompositionEnd:fe,disabled:I,readOnly:M,rows:R?E:1,spellCheck:C.spellCheck??!0,autoCorrect:C.autoCorrect??"on",style:c}))});it.displayName="Chatbar.Textarea";var lt=e.forwardRef((t,o)=>{let{children:a,asChild:c,className:i,...l}=t;return O().open?null:e.createElement(c?U:"div",{...l,ref:o,className:T("rt-ChatbarInlineStart",i)},a)});lt.displayName="Chatbar.InlineStart";var dt=e.forwardRef((t,o)=>{let{children:a,asChild:c,className:i,...l}=t;return O().open?null:e.createElement(c?U:"div",{...l,ref:o,className:T("rt-ChatbarInlineEnd",i)},a)});dt.displayName="Chatbar.InlineEnd";var ut=e.forwardRef((t,o)=>{let{asChild:a,forceMount:c,renderAttachment:i,className:l,children:d,...u}=t,f=O(),b=e.Children.toArray(d).length>0;return f.attachments.length===0&&!b&&!c?null:e.createElement("div",null,e.createElement(a?U:"div",{...u,ref:o,className:T("rt-ChatbarAttachmentsRow",l),role:"list","aria-label":u["aria-label"]??"Attachments"},e.createElement(Qe,{className:"rt-ChatbarScrollArea",scrollbars:"horizontal",size:"1"},e.createElement(Fe,{align:"center",gap:"2",minWidth:"fit-content"},f.attachments.map(v=>e.createElement($e,{key:v.id,attachment:v,asChild:!!i},i?.(v))),d))))});ut.displayName="Chatbar.AttachmentsRow";function mt(t,o){let a=t.closest('[role="listitem"]'),c=a?.parentElement?Array.from(a.parentElement.children):[],i=a?c.indexOf(a):-1,d=(c[i+1]??c[i-1])?.querySelector(".rt-ChatbarItemRemove");d?d.focus():o.current?.focus({preventScroll:!0})}var pt=({lead:t,leadKind:o,label:a,detail:c,removeLabel:i,onRemove:l})=>{let d=O();return e.createElement(e.Fragment,null,e.createElement("span",{className:"rt-ChatbarItemLead","data-kind":o,"aria-hidden":!0},t),e.createElement(Ae,{className:"rt-ChatbarItemLabel",size:d.size,truncate:!0},a,c?e.createElement(De,null,", ",c):null),l&&e.createElement(Be,{className:"rt-ChatbarItemRemove","aria-label":i,size:"1",variant:"ghost",color:"gray",onClick:l},e.createElement(Ze,null)))},Bt={uploading:"uploading",error:"failed to upload"},$e=e.forwardRef((t,o)=>{let{attachment:a,asChild:c,className:i,children:l,...d}=t,u=O(),f=c?U:"div",b=!!a.url&&st(a.name,a.type),g=`${Math.ceil(a.size/1024)} KB`,v=a.status?Bt[a.status]:void 0,C=u.disabled||u.readOnly,w=R=>{mt(R.currentTarget,u.textareaRef),u.removeAttachment(a.id)},H=a.status==="uploading"?e.createElement(ze,{size:"1"}):b?e.createElement("img",{className:"rt-ChatbarAttachmentImage",src:a.url,alt:""}):e.createElement(et,null);return e.createElement(f,{...d,ref:o,className:T(l?"rt-ChatbarAttachment":"rt-ChatbarAttachment rt-ChatbarItem",i),role:"listitem","data-kind":b?"image":"file","data-status":a.status,title:a.name},l??e.createElement(pt,{lead:H,leadKind:b&&a.status!=="uploading"?"image":"icon",label:a.name,detail:v?`${g}, ${v}`:g,removeLabel:`Remove ${a.name}`,onRemove:C?void 0:w}))});$e.displayName="Chatbar.Attachment";var ht=e.forwardRef((t,o)=>{let{children:a,icon:c,image:i,color:l,onRemove:d,removeLabel:u,className:f,...b}=t,g=O(),v=g.disabled||g.readOnly,C=d?w=>{mt(w.currentTarget,g.textareaRef),d()}:void 0;return e.createElement("div",{...b,ref:o,className:T("rt-ChatbarItem",f),role:"listitem","data-accent-color":i?void 0:l??"gray",title:a},e.createElement(pt,{lead:i?e.createElement("img",{className:"rt-ChatbarAttachmentImage",src:i,alt:""}):c,leadKind:i?"image":"icon",label:a,removeLabel:u??`Remove ${a}`,onRemove:v?void 0:C}))});ht.displayName="Chatbar.Item";var ft=e.forwardRef((t,o)=>{let{asChild:a,accept:c,multiple:i,disabled:l,onPointerDown:d,onClick:u,...f}=t,b=O(),g=l||b.disabled||b.readOnly;return e.createElement(a?U:"button",{...f,ref:o,className:T("rt-ChatbarAttachTrigger",f.className),type:f.type??"button","aria-label":f["aria-label"]??"Add attachments",disabled:g,onPointerDown:C=>{d?.(C),!g&&!C.defaultPrevented&&b.beginFilePickerPress()},onClick:C=>{u?.(C),!(g||C.defaultPrevented)&&b.openFilePicker({accept:c,multiple:i})}})});ft.displayName="Chatbar.AttachTrigger";var bt=e.forwardRef((t,o)=>{let{asChild:a,children:c,className:i,...l}=t;return O().open?e.createElement("div",null,e.createElement(a?U:"div",{...l,ref:o,className:T("rt-ChatbarRow",i)},e.createElement(Fe,{align:"center",justify:"between",width:"100%"},c))):null});bt.displayName="Chatbar.Row";var Rt=e.forwardRef((t,o)=>{let{className:a,...c}=t;return e.createElement("div",{...c,ref:o,className:T("rt-ChatbarRowStart",a)})});Rt.displayName="Chatbar.RowStart";var Ct=e.forwardRef((t,o)=>{let{className:a,...c}=t;return e.createElement("div",{...c,ref:o,className:T("rt-ChatbarRowEnd",a)})});Ct.displayName="Chatbar.RowEnd";var gt=e.forwardRef((t,o)=>{let{asChild:a,clearOnSend:c,disabled:i,children:l,style:d,className:u,size:f,variant:b,emphasis:g,tabIndex:v,onClick:C,status:w="ready",onStop:H,onRetry:R,stopLabel:E="Stop",retryLabel:B="Retry",stopIcon:A,retryIcon:I,"aria-label":M,"aria-labelledby":N,...J}=t,h=O(),Q=e.useContext(We),F=Ve(Q)||h.attachments.length>0,P=F?"send":w==="submitted"||w==="streaming"?"stop":w==="error"?"retry":"send";if(h.sendMode==="never"&&P==="send")return null;let z=P!=="send"||h.sendMode==="always"||F,j=P==="send"?i||h.disabled||h.readOnly||!F:i||h.disabled,_=P==="stop"?{"aria-label":E}:P==="retry"?{"aria-label":B}:N?{"aria-labelledby":N}:{"aria-label":M??"Send"},V=L=>{if(C?.(L),L.defaultPrevented||j)return;if(P==="stop"){H?.();return}if(P==="retry"){R?.();return}let D=c??h.clearOnSubmit;h.submit(D)&&D&&h.textareaRef.current?.focus({preventScroll:!0})},q=P==="stop"?A??(w==="submitted"?e.createElement(ze,{size:h.size}):e.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 24 24",fill:"currentColor","aria-hidden":!0},e.createElement("rect",{x:"7",y:"7",width:"10",height:"10",rx:"2"}))):P==="retry"?I??e.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":!0},e.createElement("path",{d:"M3 12a9 9 0 1 0 3-6.7L3 8"}),e.createElement("path",{d:"M3 3v5h5"})):l??e.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":!0},e.createElement("path",{d:"M5 12h14"}),e.createElement("path",{d:"m12 5 7 7-7 7"}));return e.createElement(Be,{...J,ref:o,size:f??h.size,...g?{emphasis:g}:{variant:b??(h.open||P!=="send"?"solid":"ghost")},disabled:j,className:T("rt-ChatbarSend",u),style:{opacity:z?1:0,pointerEvents:z?void 0:"none",...d},"aria-hidden":z?void 0:!0,tabIndex:z?v:-1,asChild:a,onClick:V,"data-status":w,"data-mode":P,..._},q)});gt.displayName="Chatbar.Send";export{ct as a,it as b,lt as c,dt as d,ut as e,$e as f,ht as g,ft as h,bt as i,Rt as j,Ct as k,gt as l,jt as m};
|
|
2
|
+
//# sourceMappingURL=chunk-BDOMLGLZ.js.map
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import*as a from"react";function p(){let[t,e]=a.useState(null);return a.useEffect(()=>{let r=t?.parentElement;if(!t||!r)return;let o=0,u=()=>{o=0;for(let n of r.querySelectorAll(":scope > .rt-ScrollAreaScrollbar > .rt-ScrollAreaThumb")){let s=n.parentElement,l=getComputedStyle(s);if(s.dataset.orientation==="horizontal"){let c=s.clientWidth-parseFloat(l.paddingLeft)-parseFloat(l.paddingRight),i=m(t.scrollLeft,t.scrollWidth-t.offsetWidth,c-n.offsetWidth);n.style.transform=`translate3d(${i}px, 0, 0)`}else{let c=s.clientHeight-parseFloat(l.paddingTop)-parseFloat(l.paddingBottom),i=m(t.scrollTop,t.scrollHeight-t.offsetHeight,c-n.offsetHeight);n.style.transform=`translate3d(0, ${i}px, 0)`}}},f=()=>{o||(o=requestAnimationFrame(u))};return t.addEventListener("scroll",f,{passive:!0}),()=>{o&&cancelAnimationFrame(o),t.removeEventListener("scroll",f)}},[t]),e}function m(t,e,r){return e<=0||r<=0?0:Math.min(Math.max(t,-e),e)/e*r}export{p as a};
|
|
2
|
+
//# sourceMappingURL=chunk-DDFONGSM.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../src/hooks/use-thumb-sync.ts"],
|
|
4
|
+
"sourcesContent": ["import * as React from 'react';\n\n/**\n * Keeps a Radix ScrollArea's thumbs on the scroll position on every scroll.\n *\n * Radix moves a thumb from a requestAnimationFrame loop it starts on the first scroll event of a\n * burst. Next's production minifier compiles that self-calling loop away, so in a production\n * build the thumb moves once, sits while the content scrolls, and jumps when the next burst\n * starts. This writes the transform Radix would, at most once per frame. Nothing re-renders.\n *\n * Pass the hook's setter as a ref on `ScrollArea.Viewport`; the scrollbars are its siblings.\n */\nexport function useThumbSync<T extends HTMLElement>() {\n const [viewport, setViewport] = React.useState<T | null>(null);\n\n React.useEffect(() => {\n const root = viewport?.parentElement;\n if (!viewport || !root) return;\n let frame = 0;\n const write = () => {\n frame = 0;\n for (const thumb of root.querySelectorAll<HTMLElement>(':scope > .rt-ScrollAreaScrollbar > .rt-ScrollAreaThumb')) {\n const scrollbar = thumb.parentElement as HTMLElement;\n const style = getComputedStyle(scrollbar);\n if (scrollbar.dataset.orientation === 'horizontal') {\n const track = scrollbar.clientWidth - parseFloat(style.paddingLeft) - parseFloat(style.paddingRight);\n const offset = thumbOffset(viewport.scrollLeft, viewport.scrollWidth - viewport.offsetWidth, track - thumb.offsetWidth);\n thumb.style.transform = `translate3d(${offset}px, 0, 0)`;\n } else {\n const track = scrollbar.clientHeight - parseFloat(style.paddingTop) - parseFloat(style.paddingBottom);\n const offset = thumbOffset(viewport.scrollTop, viewport.scrollHeight - viewport.offsetHeight, track - thumb.offsetHeight);\n thumb.style.transform = `translate3d(0, ${offset}px, 0)`;\n }\n }\n };\n const schedule = () => {\n if (!frame) frame = requestAnimationFrame(write);\n };\n viewport.addEventListener('scroll', schedule, { passive: true });\n return () => {\n if (frame) cancelAnimationFrame(frame);\n viewport.removeEventListener('scroll', schedule);\n };\n }, [viewport]);\n\n return setViewport;\n}\n\n/** Radix's mapping: scroll position over its range, onto the room the thumb has to travel. */\nfunction thumbOffset(position: number, range: number, travel: number) {\n if (range <= 0 || travel <= 0) return 0;\n // Right-to-left scrolls run from -range to 0; the thumb then travels from -travel to 0.\n const clamped = Math.min(Math.max(position, -range), range);\n return (clamped / range) * travel;\n}\n"],
|
|
5
|
+
"mappings": "AAAA,UAAYA,MAAW,QAYhB,SAASC,GAAsC,CACpD,GAAM,CAACC,EAAUC,CAAW,EAAU,WAAmB,IAAI,EAE7D,OAAM,YAAU,IAAM,CACpB,IAAMC,EAAOF,GAAU,cACvB,GAAI,CAACA,GAAY,CAACE,EAAM,OACxB,IAAIC,EAAQ,EACNC,EAAQ,IAAM,CAClBD,EAAQ,EACR,QAAWE,KAASH,EAAK,iBAA8B,wDAAwD,EAAG,CAChH,IAAMI,EAAYD,EAAM,cAClBE,EAAQ,iBAAiBD,CAAS,EACxC,GAAIA,EAAU,QAAQ,cAAgB,aAAc,CAClD,IAAME,EAAQF,EAAU,YAAc,WAAWC,EAAM,WAAW,EAAI,WAAWA,EAAM,YAAY,EAC7FE,EAASC,EAAYV,EAAS,WAAYA,EAAS,YAAcA,EAAS,YAAaQ,EAAQH,EAAM,WAAW,EACtHA,EAAM,MAAM,UAAY,eAAeI,CAAM,WAC/C,KAAO,CACL,IAAMD,EAAQF,EAAU,aAAe,WAAWC,EAAM,UAAU,EAAI,WAAWA,EAAM,aAAa,EAC9FE,EAASC,EAAYV,EAAS,UAAWA,EAAS,aAAeA,EAAS,aAAcQ,EAAQH,EAAM,YAAY,EACxHA,EAAM,MAAM,UAAY,kBAAkBI,CAAM,QAClD,CACF,CACF,EACME,EAAW,IAAM,CAChBR,IAAOA,EAAQ,sBAAsBC,CAAK,EACjD,EACA,OAAAJ,EAAS,iBAAiB,SAAUW,EAAU,CAAE,QAAS,EAAK,CAAC,EACxD,IAAM,CACPR,GAAO,qBAAqBA,CAAK,EACrCH,EAAS,oBAAoB,SAAUW,CAAQ,CACjD,CACF,EAAG,CAACX,CAAQ,CAAC,EAENC,CACT,CAGA,SAASS,EAAYE,EAAkBC,EAAeC,EAAgB,CACpE,OAAID,GAAS,GAAKC,GAAU,EAAU,EAEtB,KAAK,IAAI,KAAK,IAAIF,EAAU,CAACC,CAAK,EAAGA,CAAK,EACxCA,EAASC,CAC7B",
|
|
6
|
+
"names": ["React", "useThumbSync", "viewport", "setViewport", "root", "frame", "write", "thumb", "scrollbar", "style", "track", "offset", "thumbOffset", "schedule", "position", "range", "travel"]
|
|
7
|
+
}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{a as Oe,b as Ae}from"./chunk-I53SGTKV.js";import{a as De}from"./chunk-MGQ4A2FI.js";import{a as Ie}from"./chunk-SHFBYYEP.js";import{c as ne,d as oe,e as Re,f as ve,g as ge}from"./chunk-BQE543O5.js";import{a as Ne}from"./chunk-672FI4OH.js";import{a as ke}from"./chunk-A2NG5NRN.js";import{a as q,b as ze,c as xe,d as He,g as we}from"./chunk-3J6AUDID.js";import{a as be,b as le}from"./chunk-HCNO7PX6.js";import{a as ie,b as ce,c as de}from"./chunk-5ROQAZ7J.js";import{e as ae,f as Ce,h as Ee,i as Z,j as ye,k as re,l as se,n as Me,o as ee}from"./chunk-3PTKPDSA.js";import{a as Le,b as Te}from"./chunk-BZZXXZ3O.js";import{a as Se}from"./chunk-HWQ3NTJP.js";import{a as Pe}from"./chunk-TBZO22XK.js";import{a as qe}from"./chunk-OS3FCYZY.js";var Qe={};qe(Qe,{Bottom:()=>Ne,Content:()=>Ke,Header:()=>Ue,Inspector:()=>ke,Left:()=>We,PaneFooter:()=>ve,PaneHeader:()=>Re,Panel:()=>me,Rail:()=>_e,Root:()=>Ve,Scroll:()=>ge,Sidebar:()=>Ie,Trigger:()=>$e,useResponsivePresentation:()=>De,useShell:()=>Ae,useSidebarMode:()=>Oe});import*as e from"react";import V from"classnames";import{useComposedRefs as fe}from"radix-ui/internal";var ue=0;function Fe(a){ue=Math.max(0,ue+a);let r=document.documentElement;ue>0?r.setAttribute("data-rt-shell-lock",""):r.removeAttribute("data-rt-shell-lock")}var pe="data-rt-shell-inert",je=30;function j(a,r){return r===null||r===a||r===a.body||r===a.documentElement}function Be(a,r,i){for(let d of a.querySelectorAll("[data-shell-trigger][aria-controls]"))if(!(d.getAttribute("aria-controls")!==r||d.closest("[inert]"))&&!(i&&!i.some(P=>P.contains(d))))return d;return null}var Ve=e.forwardRef(({className:a,children:r,height:i="full",size:d="2",style:P,onKeyDown:A,onFocus:H,...w},N)=>{let[s]=e.useState(Ce),R=e.useCallback(t=>Ee(s,t),[s]);e.useSyncExternalStore(R,()=>s.version,()=>0);let p=e.useRef(null),y=fe(N,p),[S,M]=e.useState(()=>new Set),b=e.useCallback(t=>{M(o=>o.has(t)?o:new Set(o).add(t))},[]),h=e.useCallback(t=>{M(o=>{if(!o.has(t))return o;let n=new Set(o);return n.delete(t),n})},[]),f=e.useMemo(()=>({registerInset:b,unregisterInset:h}),[b,h]),v=e.useCallback(()=>{for(let t of s.entries.values())t.overlayLive&&t.setValue("closed","dismiss")},[s]),C=e.useCallback(()=>[...s.entries.values()].filter(t=>t.overlayLive&&t.el).map(t=>({name:t.name,id:t.id,el:t.el})),[s]),g=[...s.entries.values()].filter(t=>t.overlayLive&&t.el).length,k=i!=="full"&&i!=="auto",I=e.useCallback(()=>{let t=p.current;if(!t)return;let o=C().map(n=>n.el);for(let n of t.children){if(!(n instanceof HTMLElement)||n.classList.contains("rt-ShellScrim"))continue;let c=o.some(z=>n===z||n.contains(z));o.length===0||c?n.hasAttribute(pe)&&(n.removeAttribute(pe),n.inert=!1):n.inert||(n.setAttribute(pe,""),n.inert=!0)}},[C]),O=e.useRef(null),G=e.useRef([]),X=e.useRef(null),D=e.useRef(!1),L=e.useRef(0),F=e.useCallback(()=>{L.current&&cancelAnimationFrame(L.current),L.current=0},[]),U=e.useCallback((t,o)=>{F();let n=0,c=()=>{if(L.current=0,!!t.isConnected){if(o(t.ownerDocument.activeElement)){t.focus({preventScroll:!0});return}n+=1,n<je&&(L.current=requestAnimationFrame(c))}};L.current=requestAnimationFrame(c)},[F]);e.useEffect(()=>()=>{F(),D.current&&(D.current=!1,Fe(-1))},[F]),e.useEffect(()=>{let t=p.current;if(!t)return;let o=t.ownerDocument,n=C(),c=n.map(l=>l.el),z=!k&&n.length>0;z!==D.current&&(D.current=z,Fe(z?1:-1));let _=G.current;G.current=n;let x=_.filter(l=>{if(c.includes(l.el))return!1;let u=s.entries.get(l.name);return!l.el.isConnected||!u||u.el!==l.el||u.value==="closed"}),K=l=>l!==null&&x.some(u=>u.el.contains(l));if(_.length===0&&n.length>0){let l=o.activeElement,u=l instanceof HTMLElement&&!j(o,l)&&!c.some(m=>m.contains(l))?l:null;if(u&&!t.contains(u)){let m=X.current;m&&m.isConnected&&!c.some(Y=>Y.contains(m))&&(u=m)}O.current=u}if(I(),n.length===0){let l=O.current;if(O.current=null,x.length===0)return;let m=(E=>E!==null&&E.isConnected&&!E.closest("[inert]")&&!K(E))(l)?l:null;for(let E of x)m??(m=Be(o,E.id));if(!m)return;let Y=E=>j(o,E)||K(E);Y(o.activeElement)?m.focus({preventScroll:!0}):U(m,Y);return}if(x.length>0){let l=o.activeElement;if(j(o,l)||K(l)){let u=null;for(let m of x)u??(u=Be(o,m.id,c));(u??c[c.length-1]).focus({preventScroll:!0})}}let $=c.filter(l=>!_.some(u=>u.el===l)),Q=o.activeElement;$.length>0&&!c.some(l=>l.contains(Q))&&($[0].focus({preventScroll:!0}),U($[0],l=>j(o,l)||l instanceof Element&&l.closest("[inert]")!==null))}),e.useEffect(()=>{let t=p.current;if(!t||g===0||typeof MutationObserver>"u")return;let o=new MutationObserver(I);return o.observe(t,{childList:!0,subtree:!0,attributes:!0,attributeFilter:["inert"]}),()=>o.disconnect()},[g,I]);let te=t=>{A?.(t),!(t.key!=="Escape"||t.defaultPrevented||g===0)&&(v(),t.stopPropagation())};e.useEffect(()=>{let t=p.current;if(!t||g===0)return;let o=t.ownerDocument,n=c=>{c.key!=="Escape"||c.defaultPrevented||!j(o,c.target)||v()};return o.addEventListener("keydown",n),()=>o.removeEventListener("keydown",n)},[g,v]);let J=t=>{H?.(t),t.target instanceof HTMLElement&&p.current?.contains(t.target)&&(X.current=t.target)},T=s.entries.get("rail"),B=T!==void 0&&T.value!==void 0&&T.value!=="closed"?S.has("rail")?`calc(${T.size}px + 2 * var(--shell-inset-gap))`:`${T.size}px`:void 0,W=i==="full"?{}:i==="auto"?{height:"auto"}:typeof i=="number"?{height:`${i}px`}:{height:i};return e.createElement(ye.Provider,{value:s},e.createElement(ne.Provider,{value:d},e.createElement(Me.Provider,{value:f},e.createElement("div",{...w,ref:y,className:V("rt-ShellRoot",a),"data-height":i==="auto"?"auto":void 0,"data-has-inset":S.size>0||void 0,"data-overlay-live":g>0||void 0,onKeyDown:te,onFocus:J,style:{...W,...B?{"--shell-rail-offset":B}:{},...P}},r,e.createElement("div",{className:"rt-ShellScrim","aria-hidden":!0,onClick:v})))))});Ve.displayName="Shell.Root";var Ue=e.forwardRef(({className:a,height:r=64,style:i,...d},P)=>e.createElement("header",{...d,ref:P,className:V("rt-ShellHeader",a),style:{...i,"--shell-header-height":`${r}px`}}));Ue.displayName="Shell.Header";var We=e.forwardRef(({children:a},r)=>(e.useEffect(()=>{},[]),e.createElement(e.Fragment,null,a)));We.displayName="Shell.Left";var Ge={controlled:"open",default:"defaultOpen"},_e=e.forwardRef((a,r)=>{let{className:i,presentation:d,expandedSize:P=64,collapsible:A,onExpand:H,onCollapse:w,children:N,style:s,open:R,defaultOpen:p,onOpenChange:y,inset:S,id:M,...b}=a,{table:h,attributes:f}=de(d,"fixed"),v=ie({name:"rail",label:"Rail",propNames:Ge,id:M,controlled:q(R),defaultValue:q(p),presentationTable:h,builtIn:ze,onChange:(g,k)=>y?.(g!=="closed",{reason:k}),onExpand:H,onCollapse:w,size:P});ee("rail",S);let C=fe(r,v.setElement);return e.createElement("div",{...b,id:v.id,ref:C,className:V("rt-ShellPane","rt-ShellRail",i),...ce(v,f),"data-inset":S||void 0,tabIndex:v.overlaying?-1:b.tabIndex,style:{...s,"--rail-size":`${P}px`}},e.createElement(Xe,null,N))});_e.displayName="Shell.Rail";function Xe({children:a}){let r=e.useContext(ne);return e.createElement("div",{className:V("rt-ShellRailContent",`rt-r-size-${r}`)},e.createElement(oe,{presentation:"thin"},a))}var Je={controlled:"open",default:"defaultOpen"},me=e.forwardRef((a,r)=>{let{className:i,presentation:d,defaultOpen:P,open:A,onOpenChange:H,size:w,defaultSize:N,expandedSize:s=288,minSize:R=100,maxSize:p=800,resizable:y=!1,collapsible:S=!0,onExpand:M,onCollapse:b,onResize:h,onResizeStart:f,onResizeEnd:v,snapPoints:C,snapTolerance:g,collapseThreshold:k,paneId:I,persistence:O,children:G,style:X,onSizeChange:D,sizeUpdate:L,sizeUpdateMs:F=50,inset:U,id:te,...J}=a,T=re("Shell.Panel"),he=se(T,"rail"),B=de(d,"fixed"),W=d===void 0,t=W?he?.presentationTable??ae:B.table,o=W?{"data-presentation-follows":""}:B.attributes,n=ie({name:"panel",label:"Panel",propNames:Je,id:te,controlled:q(A),defaultValue:q(P),presentationTable:t,builtIn:xe,onChange:(Q,l)=>H?.(Q!=="closed",{reason:l}),onExpand:M,onCollapse:b,size:s});ee("panel",U),e.useEffect(()=>{(C!==void 0||k!==void 0||I!==void 0||O!==void 0)&&void 0},[C,k,I,O]);let c=e.useRef(null),z=fe(r,n.setElement,c),_=Le({name:"panel",elementId:n.id,elementRef:c,cssVarName:"--panel-size",orientation:"vertical",edge:"end",growth:He,expandedSize:s,minSize:R,maxSize:p,resizable:y,collapsible:S,size:w,defaultSize:N,onSizeChange:D,sizeUpdate:L,sizeUpdateMs:F,onResize:h,onResizeStart:f,onResizeEnd:v,snapPoints:C,snapTolerance:g,collapseThreshold:k,paneId:I,persistence:O,overlaying:n.overlaying,overlayingNow:()=>(W?T.entries.get("rail")?.presentationTable??ae:B.table)[Pe()]==="overlay",requestCollapse:()=>n.setValue("closed","toggle"),requestToggle:()=>n.toggle("toggle")}),{handles:x,content:K}=Te(G,le),$=y&&n.shown!==!1&&!n.overlaying?e.createElement(Se.Provider,{value:_},x.length>0?x:e.createElement(be,null)):null;return e.createElement("div",{...we(J),id:n.id,ref:z,className:V("rt-ShellPane","rt-ShellPanel",i),...ce(n,o),"data-inset":U||void 0,tabIndex:n.overlaying?-1:J.tabIndex,style:{...X,"--panel-expanded-size":`${s}px`}},e.createElement("div",{className:"rt-ShellPanelContent"},e.createElement(oe,null,K)),$)});me.displayName="Shell.Panel";me.Handle=le;var Ke=e.forwardRef(({className:a,inset:r,...i},d)=>(ee("content",r),e.createElement("main",{...i,ref:d,className:V("rt-ShellContent",a),"data-inset":r||void 0})));Ke.displayName="Shell.Content";var $e=e.forwardRef(({target:a,action:r="toggle",peekOnHover:i,onClick:d,onMouseEnter:P,onMouseLeave:A,children:H,...w},N)=>{let s=re("Shell.Trigger");e.useEffect(()=>{a==="left"&&void 0,i&&void 0},[a,i]);let R=a==="left"?"rail":a,p=se(s,R),y=p?.value===void 0?void 0:p.value!=="closed",S=h=>{if(d?.(h),h.defaultPrevented)return;let f=s.entries.get(R);f&&(s.peek===R&&Z(s,null),r==="toggle"?f.toggle("toggle"):r==="expand"?f.setValue("open","toggle"):f.setValue("closed","toggle"))},M=h=>{if(P?.(h),!i)return;let f=s.entries.get(R);f&&f.value==="closed"&&f.presentation!=="overlay"&&Z(s,R)},b=h=>{A?.(h),i&&s.peek===R&&Z(s,null)};return e.createElement("button",{type:"button","aria-controls":p?.id,"aria-expanded":y,...w,ref:N,onClick:S,onMouseEnter:M,onMouseLeave:b,"data-shell-trigger":a,"data-shell-action":r},H)});$e.displayName="Shell.Trigger";export{Ve as a,Ue as b,We as c,_e as d,me as e,Ke as f,$e as g,Qe as h};
|
|
2
|
-
//# sourceMappingURL=chunk-
|
|
1
|
+
import{a as Oe,b as Ae}from"./chunk-I53SGTKV.js";import{a as De}from"./chunk-MGQ4A2FI.js";import{a as Ie}from"./chunk-J43ZS6TI.js";import{c as ne,d as oe,e as Re,f as ve,g as ge}from"./chunk-UZS3BA2Z.js";import{a as Ne}from"./chunk-672FI4OH.js";import{a as ke}from"./chunk-A2NG5NRN.js";import{a as q,b as ze,c as xe,d as He,g as we}from"./chunk-3J6AUDID.js";import{a as be,b as le}from"./chunk-HCNO7PX6.js";import{a as ie,b as ce,c as de}from"./chunk-5ROQAZ7J.js";import{e as ae,f as Ce,h as Ee,i as Z,j as ye,k as re,l as se,n as Me,o as ee}from"./chunk-3PTKPDSA.js";import{a as Le,b as Te}from"./chunk-BZZXXZ3O.js";import{a as Se}from"./chunk-HWQ3NTJP.js";import{a as Pe}from"./chunk-TBZO22XK.js";import{a as qe}from"./chunk-OS3FCYZY.js";var Qe={};qe(Qe,{Bottom:()=>Ne,Content:()=>Ke,Header:()=>Ue,Inspector:()=>ke,Left:()=>We,PaneFooter:()=>ve,PaneHeader:()=>Re,Panel:()=>me,Rail:()=>_e,Root:()=>Ve,Scroll:()=>ge,Sidebar:()=>Ie,Trigger:()=>$e,useResponsivePresentation:()=>De,useShell:()=>Ae,useSidebarMode:()=>Oe});import*as e from"react";import V from"classnames";import{useComposedRefs as fe}from"radix-ui/internal";var ue=0;function Fe(a){ue=Math.max(0,ue+a);let r=document.documentElement;ue>0?r.setAttribute("data-rt-shell-lock",""):r.removeAttribute("data-rt-shell-lock")}var pe="data-rt-shell-inert",je=30;function j(a,r){return r===null||r===a||r===a.body||r===a.documentElement}function Be(a,r,i){for(let d of a.querySelectorAll("[data-shell-trigger][aria-controls]"))if(!(d.getAttribute("aria-controls")!==r||d.closest("[inert]"))&&!(i&&!i.some(P=>P.contains(d))))return d;return null}var Ve=e.forwardRef(({className:a,children:r,height:i="full",size:d="2",style:P,onKeyDown:A,onFocus:H,...w},N)=>{let[s]=e.useState(Ce),R=e.useCallback(t=>Ee(s,t),[s]);e.useSyncExternalStore(R,()=>s.version,()=>0);let p=e.useRef(null),y=fe(N,p),[S,M]=e.useState(()=>new Set),b=e.useCallback(t=>{M(o=>o.has(t)?o:new Set(o).add(t))},[]),h=e.useCallback(t=>{M(o=>{if(!o.has(t))return o;let n=new Set(o);return n.delete(t),n})},[]),f=e.useMemo(()=>({registerInset:b,unregisterInset:h}),[b,h]),v=e.useCallback(()=>{for(let t of s.entries.values())t.overlayLive&&t.setValue("closed","dismiss")},[s]),C=e.useCallback(()=>[...s.entries.values()].filter(t=>t.overlayLive&&t.el).map(t=>({name:t.name,id:t.id,el:t.el})),[s]),g=[...s.entries.values()].filter(t=>t.overlayLive&&t.el).length,k=i!=="full"&&i!=="auto",I=e.useCallback(()=>{let t=p.current;if(!t)return;let o=C().map(n=>n.el);for(let n of t.children){if(!(n instanceof HTMLElement)||n.classList.contains("rt-ShellScrim"))continue;let c=o.some(z=>n===z||n.contains(z));o.length===0||c?n.hasAttribute(pe)&&(n.removeAttribute(pe),n.inert=!1):n.inert||(n.setAttribute(pe,""),n.inert=!0)}},[C]),O=e.useRef(null),G=e.useRef([]),X=e.useRef(null),D=e.useRef(!1),L=e.useRef(0),F=e.useCallback(()=>{L.current&&cancelAnimationFrame(L.current),L.current=0},[]),U=e.useCallback((t,o)=>{F();let n=0,c=()=>{if(L.current=0,!!t.isConnected){if(o(t.ownerDocument.activeElement)){t.focus({preventScroll:!0});return}n+=1,n<je&&(L.current=requestAnimationFrame(c))}};L.current=requestAnimationFrame(c)},[F]);e.useEffect(()=>()=>{F(),D.current&&(D.current=!1,Fe(-1))},[F]),e.useEffect(()=>{let t=p.current;if(!t)return;let o=t.ownerDocument,n=C(),c=n.map(l=>l.el),z=!k&&n.length>0;z!==D.current&&(D.current=z,Fe(z?1:-1));let _=G.current;G.current=n;let x=_.filter(l=>{if(c.includes(l.el))return!1;let u=s.entries.get(l.name);return!l.el.isConnected||!u||u.el!==l.el||u.value==="closed"}),K=l=>l!==null&&x.some(u=>u.el.contains(l));if(_.length===0&&n.length>0){let l=o.activeElement,u=l instanceof HTMLElement&&!j(o,l)&&!c.some(m=>m.contains(l))?l:null;if(u&&!t.contains(u)){let m=X.current;m&&m.isConnected&&!c.some(Y=>Y.contains(m))&&(u=m)}O.current=u}if(I(),n.length===0){let l=O.current;if(O.current=null,x.length===0)return;let m=(E=>E!==null&&E.isConnected&&!E.closest("[inert]")&&!K(E))(l)?l:null;for(let E of x)m??(m=Be(o,E.id));if(!m)return;let Y=E=>j(o,E)||K(E);Y(o.activeElement)?m.focus({preventScroll:!0}):U(m,Y);return}if(x.length>0){let l=o.activeElement;if(j(o,l)||K(l)){let u=null;for(let m of x)u??(u=Be(o,m.id,c));(u??c[c.length-1]).focus({preventScroll:!0})}}let $=c.filter(l=>!_.some(u=>u.el===l)),Q=o.activeElement;$.length>0&&!c.some(l=>l.contains(Q))&&($[0].focus({preventScroll:!0}),U($[0],l=>j(o,l)||l instanceof Element&&l.closest("[inert]")!==null))}),e.useEffect(()=>{let t=p.current;if(!t||g===0||typeof MutationObserver>"u")return;let o=new MutationObserver(I);return o.observe(t,{childList:!0,subtree:!0,attributes:!0,attributeFilter:["inert"]}),()=>o.disconnect()},[g,I]);let te=t=>{A?.(t),!(t.key!=="Escape"||t.defaultPrevented||g===0)&&(v(),t.stopPropagation())};e.useEffect(()=>{let t=p.current;if(!t||g===0)return;let o=t.ownerDocument,n=c=>{c.key!=="Escape"||c.defaultPrevented||!j(o,c.target)||v()};return o.addEventListener("keydown",n),()=>o.removeEventListener("keydown",n)},[g,v]);let J=t=>{H?.(t),t.target instanceof HTMLElement&&p.current?.contains(t.target)&&(X.current=t.target)},T=s.entries.get("rail"),B=T!==void 0&&T.value!==void 0&&T.value!=="closed"?S.has("rail")?`calc(${T.size}px + 2 * var(--shell-inset-gap))`:`${T.size}px`:void 0,W=i==="full"?{}:i==="auto"?{height:"auto"}:typeof i=="number"?{height:`${i}px`}:{height:i};return e.createElement(ye.Provider,{value:s},e.createElement(ne.Provider,{value:d},e.createElement(Me.Provider,{value:f},e.createElement("div",{...w,ref:y,className:V("rt-ShellRoot",a),"data-height":i==="auto"?"auto":void 0,"data-has-inset":S.size>0||void 0,"data-overlay-live":g>0||void 0,onKeyDown:te,onFocus:J,style:{...W,...B?{"--shell-rail-offset":B}:{},...P}},r,e.createElement("div",{className:"rt-ShellScrim","aria-hidden":!0,onClick:v})))))});Ve.displayName="Shell.Root";var Ue=e.forwardRef(({className:a,height:r=64,style:i,...d},P)=>e.createElement("header",{...d,ref:P,className:V("rt-ShellHeader",a),style:{...i,"--shell-header-height":`${r}px`}}));Ue.displayName="Shell.Header";var We=e.forwardRef(({children:a},r)=>(e.useEffect(()=>{},[]),e.createElement(e.Fragment,null,a)));We.displayName="Shell.Left";var Ge={controlled:"open",default:"defaultOpen"},_e=e.forwardRef((a,r)=>{let{className:i,presentation:d,expandedSize:P=64,collapsible:A,onExpand:H,onCollapse:w,children:N,style:s,open:R,defaultOpen:p,onOpenChange:y,inset:S,id:M,...b}=a,{table:h,attributes:f}=de(d,"fixed"),v=ie({name:"rail",label:"Rail",propNames:Ge,id:M,controlled:q(R),defaultValue:q(p),presentationTable:h,builtIn:ze,onChange:(g,k)=>y?.(g!=="closed",{reason:k}),onExpand:H,onCollapse:w,size:P});ee("rail",S);let C=fe(r,v.setElement);return e.createElement("div",{...b,id:v.id,ref:C,className:V("rt-ShellPane","rt-ShellRail",i),...ce(v,f),"data-inset":S||void 0,tabIndex:v.overlaying?-1:b.tabIndex,style:{...s,"--rail-size":`${P}px`}},e.createElement(Xe,null,N))});_e.displayName="Shell.Rail";function Xe({children:a}){let r=e.useContext(ne);return e.createElement("div",{className:V("rt-ShellRailContent",`rt-r-size-${r}`)},e.createElement(oe,{presentation:"thin"},a))}var Je={controlled:"open",default:"defaultOpen"},me=e.forwardRef((a,r)=>{let{className:i,presentation:d,defaultOpen:P,open:A,onOpenChange:H,size:w,defaultSize:N,expandedSize:s=288,minSize:R=100,maxSize:p=800,resizable:y=!1,collapsible:S=!0,onExpand:M,onCollapse:b,onResize:h,onResizeStart:f,onResizeEnd:v,snapPoints:C,snapTolerance:g,collapseThreshold:k,paneId:I,persistence:O,children:G,style:X,onSizeChange:D,sizeUpdate:L,sizeUpdateMs:F=50,inset:U,id:te,...J}=a,T=re("Shell.Panel"),he=se(T,"rail"),B=de(d,"fixed"),W=d===void 0,t=W?he?.presentationTable??ae:B.table,o=W?{"data-presentation-follows":""}:B.attributes,n=ie({name:"panel",label:"Panel",propNames:Je,id:te,controlled:q(A),defaultValue:q(P),presentationTable:t,builtIn:xe,onChange:(Q,l)=>H?.(Q!=="closed",{reason:l}),onExpand:M,onCollapse:b,size:s});ee("panel",U),e.useEffect(()=>{(C!==void 0||k!==void 0||I!==void 0||O!==void 0)&&void 0},[C,k,I,O]);let c=e.useRef(null),z=fe(r,n.setElement,c),_=Le({name:"panel",elementId:n.id,elementRef:c,cssVarName:"--panel-size",orientation:"vertical",edge:"end",growth:He,expandedSize:s,minSize:R,maxSize:p,resizable:y,collapsible:S,size:w,defaultSize:N,onSizeChange:D,sizeUpdate:L,sizeUpdateMs:F,onResize:h,onResizeStart:f,onResizeEnd:v,snapPoints:C,snapTolerance:g,collapseThreshold:k,paneId:I,persistence:O,overlaying:n.overlaying,overlayingNow:()=>(W?T.entries.get("rail")?.presentationTable??ae:B.table)[Pe()]==="overlay",requestCollapse:()=>n.setValue("closed","toggle"),requestToggle:()=>n.toggle("toggle")}),{handles:x,content:K}=Te(G,le),$=y&&n.shown!==!1&&!n.overlaying?e.createElement(Se.Provider,{value:_},x.length>0?x:e.createElement(be,null)):null;return e.createElement("div",{...we(J),id:n.id,ref:z,className:V("rt-ShellPane","rt-ShellPanel",i),...ce(n,o),"data-inset":U||void 0,tabIndex:n.overlaying?-1:J.tabIndex,style:{...X,"--panel-expanded-size":`${s}px`}},e.createElement("div",{className:"rt-ShellPanelContent"},e.createElement(oe,null,K)),$)});me.displayName="Shell.Panel";me.Handle=le;var Ke=e.forwardRef(({className:a,inset:r,...i},d)=>(ee("content",r),e.createElement("main",{...i,ref:d,className:V("rt-ShellContent",a),"data-inset":r||void 0})));Ke.displayName="Shell.Content";var $e=e.forwardRef(({target:a,action:r="toggle",peekOnHover:i,onClick:d,onMouseEnter:P,onMouseLeave:A,children:H,...w},N)=>{let s=re("Shell.Trigger");e.useEffect(()=>{a==="left"&&void 0,i&&void 0},[a,i]);let R=a==="left"?"rail":a,p=se(s,R),y=p?.value===void 0?void 0:p.value!=="closed",S=h=>{if(d?.(h),h.defaultPrevented)return;let f=s.entries.get(R);f&&(s.peek===R&&Z(s,null),r==="toggle"?f.toggle("toggle"):r==="expand"?f.setValue("open","toggle"):f.setValue("closed","toggle"))},M=h=>{if(P?.(h),!i)return;let f=s.entries.get(R);f&&f.value==="closed"&&f.presentation!=="overlay"&&Z(s,R)},b=h=>{A?.(h),i&&s.peek===R&&Z(s,null)};return e.createElement("button",{type:"button","aria-controls":p?.id,"aria-expanded":y,...w,ref:N,onClick:S,onMouseEnter:M,onMouseLeave:b,"data-shell-trigger":a,"data-shell-action":r},H)});$e.displayName="Shell.Trigger";export{Ve as a,Ue as b,We as c,_e as d,me as e,Ke as f,$e as g,Qe as h};
|
|
2
|
+
//# sourceMappingURL=chunk-DDYII5NA.js.map
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{a as u}from"./chunk-AO32NT75.js";import{a as d}from"./chunk-5GXFBLBJ.js";import{a as S}from"./chunk-DDFONGSM.js";import{a as e}from"./chunk-XPRPYCII.js";import{a as f}from"./chunk-5BWLY27A.js";import{a as P}from"./chunk-PS6NEG5A.js";import{a as n}from"./chunk-E23RKOQJ.js";import{b as t}from"./chunk-PBFSBHBS.js";import*as r from"react";import a from"classnames";import{ScrollArea as o}from"radix-ui";import{useComposedRefs as M}from"radix-ui/internal";var x=r.forwardRef((A,v)=>{let{rest:y,...R}=d(A),[b,g]=u(R),{asChild:s,children:h,className:N,style:w,type:i,scrollHideDelay:C=i!=="scroll"?0:void 0,dir:H,size:p=e.size.default,radius:m=e.radius.default,scrollbars:l=e.scrollbars.default,fade:c=e.fade.default,...T}=y,V=f(c),z=S(),D=M(v,V,z);return r.createElement(o.Root,{type:i,scrollHideDelay:C,className:a("rt-ScrollAreaRoot",b,N),"data-fade":c?"":void 0,style:n(g,w),asChild:s},P({asChild:s,children:h},E=>r.createElement(r.Fragment,null,r.createElement(o.Viewport,{...T,ref:D,className:"rt-ScrollAreaViewport"},E),r.createElement("div",{className:"rt-ScrollAreaViewportFocusRing"}),l!=="vertical"?r.createElement(o.Scrollbar,{"data-radius":m,orientation:"horizontal",className:a("rt-ScrollAreaScrollbar",t({className:"rt-r-size",value:p,propValues:e.size.values}))},r.createElement(o.Thumb,{className:"rt-ScrollAreaThumb"})):null,l!=="horizontal"?r.createElement(o.Scrollbar,{"data-radius":m,orientation:"vertical",className:a("rt-ScrollAreaScrollbar",t({className:"rt-r-size",value:p,propValues:e.size.values}))},r.createElement(o.Thumb,{className:"rt-ScrollAreaThumb"})):null,l==="both"?r.createElement(o.Corner,{className:"rt-ScrollAreaCorner"}):null)))});x.displayName="ScrollArea";export{x as a};
|
|
2
|
+
//# sourceMappingURL=chunk-HKRQ3E3I.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../src/components/scroll-area.tsx"],
|
|
4
|
+
"sourcesContent": ["import * as React from 'react';\nimport classNames from 'classnames';\nimport { ScrollArea as ScrollAreaPrimitive } from 'radix-ui';\nimport { useComposedRefs } from 'radix-ui/internal';\n\nimport { scrollAreaPropDefs } from './scroll-area.props.js';\nimport { useScrollEdges } from '../hooks/use-scroll-edges.js';\nimport { useThumbSync } from '../hooks/use-thumb-sync.js';\nimport { extractMarginProps } from '../helpers/extract-margin-props.js';\nimport { getMarginStyles } from '../helpers/get-margin-styles.js';\nimport { getResponsiveClassNames } from '../helpers/get-responsive-styles.js';\nimport { getSubtree } from '../helpers/get-subtree.js';\nimport { mergeStyles } from '../helpers/merge-styles.js';\n\nimport type { ComponentPropsWithout, RemovedProps } from '../helpers/component-props.js';\nimport type { MarginProps } from '../props/margin.props.js';\nimport type { GetPropDefTypes } from '../props/prop-def.js';\n\ntype ScrollAreaElement = React.ElementRef<typeof ScrollAreaPrimitive.Viewport>;\ntype ScrollAreaOwnProps = GetPropDefTypes<typeof scrollAreaPropDefs>;\ninterface ScrollAreaProps\n extends ComponentPropsWithout<typeof ScrollAreaPrimitive.Root, RemovedProps>,\n ComponentPropsWithout<typeof ScrollAreaPrimitive.Viewport, RemovedProps | 'dir'>,\n MarginProps,\n ScrollAreaOwnProps {}\nconst ScrollArea = React.forwardRef<ScrollAreaElement, ScrollAreaProps>((props, forwardedRef) => {\n const { rest: marginRest, ...marginProps } = extractMarginProps(props);\n const [marginClassNames, marginCustomProperties] = getMarginStyles(marginProps);\n\n const {\n asChild,\n children,\n className,\n style,\n type,\n scrollHideDelay = type !== 'scroll' ? 0 : undefined,\n dir,\n size = scrollAreaPropDefs.size.default,\n radius = scrollAreaPropDefs.radius.default,\n scrollbars = scrollAreaPropDefs.scrollbars.default,\n fade = scrollAreaPropDefs.fade.default,\n ...viewportProps\n } = marginRest;\n const setEdgesElement = useScrollEdges<HTMLDivElement>(fade);\n const setThumbViewport = useThumbSync<HTMLDivElement>();\n const viewportRef = useComposedRefs(forwardedRef, setEdgesElement, setThumbViewport);\n\n return (\n <ScrollAreaPrimitive.Root\n type={type}\n scrollHideDelay={scrollHideDelay}\n className={classNames('rt-ScrollAreaRoot', marginClassNames, className)}\n data-fade={fade ? '' : undefined}\n style={mergeStyles(marginCustomProperties, style)}\n asChild={asChild}\n >\n {getSubtree({ asChild, children }, (children) => (\n <>\n <ScrollAreaPrimitive.Viewport\n {...viewportProps}\n ref={viewportRef}\n className=\"rt-ScrollAreaViewport\"\n >\n {children}\n </ScrollAreaPrimitive.Viewport>\n\n <div className=\"rt-ScrollAreaViewportFocusRing\" />\n\n {scrollbars !== 'vertical' ? (\n <ScrollAreaPrimitive.Scrollbar\n data-radius={radius}\n orientation=\"horizontal\"\n className={classNames(\n 'rt-ScrollAreaScrollbar',\n getResponsiveClassNames({\n className: 'rt-r-size',\n value: size,\n propValues: scrollAreaPropDefs.size.values,\n }),\n )}\n >\n <ScrollAreaPrimitive.Thumb className=\"rt-ScrollAreaThumb\" />\n </ScrollAreaPrimitive.Scrollbar>\n ) : null}\n\n {scrollbars !== 'horizontal' ? (\n <ScrollAreaPrimitive.Scrollbar\n data-radius={radius}\n orientation=\"vertical\"\n className={classNames(\n 'rt-ScrollAreaScrollbar',\n getResponsiveClassNames({\n className: 'rt-r-size',\n value: size,\n propValues: scrollAreaPropDefs.size.values,\n }),\n )}\n >\n <ScrollAreaPrimitive.Thumb className=\"rt-ScrollAreaThumb\" />\n </ScrollAreaPrimitive.Scrollbar>\n ) : null}\n\n {scrollbars === 'both' ? (\n <ScrollAreaPrimitive.Corner className=\"rt-ScrollAreaCorner\" />\n ) : null}\n </>\n ))}\n </ScrollAreaPrimitive.Root>\n );\n});\nScrollArea.displayName = 'ScrollArea';\n\nexport { ScrollArea };\nexport type { ScrollAreaProps };\n"],
|
|
5
|
+
"mappings": "gUAAA,UAAYA,MAAW,QACvB,OAAOC,MAAgB,aACvB,OAAS,cAAcC,MAA2B,WAClD,OAAS,mBAAAC,MAAuB,oBAsBhC,IAAMC,EAAmB,aAA+C,CAACC,EAAOC,IAAiB,CAC/F,GAAM,CAAE,KAAMC,EAAY,GAAGC,CAAY,EAAIC,EAAmBJ,CAAK,EAC/D,CAACK,EAAkBC,CAAsB,EAAIC,EAAgBJ,CAAW,EAExE,CACJ,QAAAK,EACA,SAAAC,EACA,UAAAC,EACA,MAAAC,EACA,KAAAC,EACA,gBAAAC,EAAkBD,IAAS,SAAW,EAAI,OAC1C,IAAAE,EACA,KAAAC,EAAOC,EAAmB,KAAK,QAC/B,OAAAC,EAASD,EAAmB,OAAO,QACnC,WAAAE,EAAaF,EAAmB,WAAW,QAC3C,KAAAG,EAAOH,EAAmB,KAAK,QAC/B,GAAGI,CACL,EAAIlB,EACEmB,EAAkBC,EAA+BH,CAAI,EACrDI,EAAmBC,EAA6B,EAChDC,EAAcC,EAAgBzB,EAAcoB,EAAiBE,CAAgB,EAEnF,OACE,gBAACI,EAAoB,KAApB,CACC,KAAMf,EACN,gBAAiBC,EACjB,UAAWe,EAAW,oBAAqBvB,EAAkBK,CAAS,EACtE,YAAWS,EAAO,GAAK,OACvB,MAAOU,EAAYvB,EAAwBK,CAAK,EAChD,QAASH,GAERsB,EAAW,CAAE,QAAAtB,EAAS,SAAAC,CAAS,EAAIA,GAClC,gCACE,gBAACkB,EAAoB,SAApB,CACE,GAAGP,EACJ,IAAKK,EACL,UAAU,yBAEThB,CACH,EAEA,gBAAC,OAAI,UAAU,iCAAiC,EAE/CS,IAAe,WACd,gBAACS,EAAoB,UAApB,CACC,cAAaV,EACb,YAAY,aACZ,UAAWW,EACT,yBACAG,EAAwB,CACtB,UAAW,YACX,MAAOhB,EACP,WAAYC,EAAmB,KAAK,MACtC,CAAC,CACH,GAEA,gBAACW,EAAoB,MAApB,CAA0B,UAAU,qBAAqB,CAC5D,EACE,KAEHT,IAAe,aACd,gBAACS,EAAoB,UAApB,CACC,cAAaV,EACb,YAAY,WACZ,UAAWW,EACT,yBACAG,EAAwB,CACtB,UAAW,YACX,MAAOhB,EACP,WAAYC,EAAmB,KAAK,MACtC,CAAC,CACH,GAEA,gBAACW,EAAoB,MAApB,CAA0B,UAAU,qBAAqB,CAC5D,EACE,KAEHT,IAAe,OACd,gBAACS,EAAoB,OAApB,CAA2B,UAAU,sBAAsB,EAC1D,IACN,CACD,CACH,CAEJ,CAAC,EACD5B,EAAW,YAAc",
|
|
6
|
+
"names": ["React", "classNames", "ScrollAreaPrimitive", "useComposedRefs", "ScrollArea", "props", "forwardedRef", "marginRest", "marginProps", "extractMarginProps", "marginClassNames", "marginCustomProperties", "getMarginStyles", "asChild", "children", "className", "style", "type", "scrollHideDelay", "dir", "size", "scrollAreaPropDefs", "radius", "scrollbars", "fade", "viewportProps", "setEdgesElement", "useScrollEdges", "setThumbViewport", "useThumbSync", "viewportRef", "useComposedRefs", "ScrollAreaPrimitive", "classNames", "mergeStyles", "getSubtree", "getResponsiveClassNames"]
|
|
7
|
+
}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{d as v}from"./chunk-
|
|
2
|
-
//# sourceMappingURL=chunk-
|
|
1
|
+
import{d as v}from"./chunk-UZS3BA2Z.js";import{b as w,d as B,g as I}from"./chunk-3J6AUDID.js";import{a as y,c as S}from"./chunk-HCNO7PX6.js";import{a as x,b as E,c as T}from"./chunk-5ROQAZ7J.js";import{o as M}from"./chunk-3PTKPDSA.js";import{a as V,b as N}from"./chunk-BZZXXZ3O.js";import{a as C}from"./chunk-HWQ3NTJP.js";import{a as R}from"./chunk-TBZO22XK.js";import*as e from"react";import de from"classnames";import{useComposedRefs as le}from"radix-ui/internal";var k=t=>t==="collapsed"?"closed":"open",pe=t=>t==="closed"?"collapsed":"expanded";function A(t){if(t===void 0)return;if(typeof t=="string")return k(t);let n={};for(let[r,o]of Object.entries(t))o!==void 0&&(n[r]=k(o));return n}var Se={controlled:"state",default:"defaultState"},ce={initial:"overlay",sm:"fixed"},H=e.forwardRef((t,n)=>{let{className:r,presentation:o=ce,expandedSize:i=288,minSize:c=200,maxSize:m=400,resizable:u=!1,collapsible:U=!0,onExpand:D,onCollapse:L,onResize:O,onResizeStart:_,onResizeEnd:$,snapPoints:s,snapTolerance:W,collapseThreshold:d,paneId:l,persistence:p,children:j,style:q,state:F,defaultState:G,onStateChange:K,size:J,defaultSize:Q,onSizeChange:X,sizeUpdate:Y,sizeUpdateMs:Z=50,inset:b,id:ee,...f}=t,{table:P,attributes:ae}=T(o,"fixed"),a=x({name:"sidebar",label:"Sidebar",propNames:Se,id:ee,controlled:A(F),defaultValue:A(G),presentationTable:P,builtIn:w,onChange:(re,se)=>K?.(pe(re),{reason:se}),onExpand:D,onCollapse:L,size:i});M("sidebar",b),e.useEffect(()=>{(s!==void 0||d!==void 0||l!==void 0||p!==void 0)&&void 0},[s,d,l,p]);let h=e.useRef(null),te=le(n,a.setElement,h),ne=V({name:"sidebar",elementId:a.id,elementRef:h,cssVarName:"--sidebar-size",orientation:"vertical",edge:"end",growth:B,expandedSize:i,minSize:c,maxSize:m,resizable:u,collapsible:U,size:J,defaultSize:Q,onSizeChange:X,sizeUpdate:Y,sizeUpdateMs:Z,onResize:O,onResizeStart:_,onResizeEnd:$,snapPoints:s,snapTolerance:W,collapseThreshold:d,paneId:l,persistence:p,overlaying:a.overlaying,overlayingNow:()=>P[R()]==="overlay",requestCollapse:()=>a.setValue("closed","toggle"),requestToggle:()=>a.toggle("toggle")}),{handles:g,content:oe}=N(j,S),ie=u&&a.value!=="closed"&&!a.overlaying?e.createElement(C.Provider,{value:ne},g.length>0?g:e.createElement(y,null)):null,z=a.peeking?`var(--sidebar-size, ${i}px)`:void 0;return e.createElement("div",{...I(f),id:a.id,ref:te,className:de("rt-ShellPane","rt-ShellSidebar",r),...E(a,ae),"data-inset":b||void 0,tabIndex:a.overlaying?-1:f.tabIndex,style:{...q,"--sidebar-expanded-size":`${i}px`,"--sidebar-min-size":`${c}px`,"--sidebar-max-size":`${m}px`,...z?{"--peek-sidebar-width":z}:{}}},e.createElement("div",{className:"rt-ShellSidebarContent"},e.createElement(v,null,oe)),ie)});H.displayName="Shell.Sidebar";H.Handle=S;export{H as a};
|
|
2
|
+
//# sourceMappingURL=chunk-J43ZS6TI.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{a as U}from"./chunk-2IPVLV6B.js";import{a as K,b as F,c as j,e as E,f as O}from"./chunk-KA5XDSKH.js";import{a as z,b as H,c as W}from"./chunk-QE2EF7A7.js";import{d as G}from"./chunk-IX5HIHVI.js";import{a as w}from"./chunk-PTEAQFHI.js";import{b as P}from"./chunk-BQE543O5.js";import{b as x}from"./chunk-FWB47YCH.js";import{a as D}from"./chunk-XHKL4PG7.js";import{a as ae}from"./chunk-OS3FCYZY.js";var oe={};ae(oe,{Group:()=>_,GroupContent:()=>re,GroupLabel:()=>ee,Menu:()=>$,MenuButton:()=>J,MenuItem:()=>X,MenuSub:()=>Q,MenuSubContent:()=>Z,MenuSubTrigger:()=>Y,Search:()=>te,Separator:()=>V});import*as e from"react";import u from"classnames";import*as f from"@radix-ui/react-accordion";var V=e.forwardRef(({className:r,...t},n)=>e.createElement(U,{...t,ref:n,className:u("rt-SidebarSeparator",r)}));V.displayName="Sidebar.Separator";var $=e.forwardRef(({className:r,...t},n)=>e.createElement("ul",{...t,ref:n,className:u("rt-SidebarMenu",r)}));$.displayName="Sidebar.Menu";var X=e.forwardRef(({className:r,...t},n)=>e.createElement("li",{...t,ref:n,className:u("rt-SidebarMenuItem",r)}));X.displayName="Sidebar.MenuItem";function ne(r){let t=[],n=[];return e.Children.forEach(r,a=>{if(typeof a=="string"||typeof a=="number")n.push(e.createElement("span",{key:n.length,className:"rt-SidebarMenuLabel"},a));else if(e.isValidElement(a)){let i=a;i.type==="svg"||i.props&&i.props.icon||typeof i.type=="function"&&(i.type.displayName?.includes("Icon")||i.type.name?.includes("Icon"))?t.push(a):n.push(a)}else a&&n.push(a)}),{icons:t,labels:n}}function k(r){if(typeof r=="string"||typeof r=="number")return e.createElement("span",{className:"rt-SidebarMenuLabel"},r);if(Array.isArray(r))return r.map((t,n)=>e.createElement(e.Fragment,{key:n},k(t)));if(e.isValidElement(r)){let t=r,n=t.props&&t.props.className||"";if(typeof t.type=="string"&&n.split(" ").includes("rt-SidebarMenuLabel"))return t;let i=k(t.props?.children);return e.cloneElement(t,{...t.props},i)}return r}var J=e.forwardRef(({asChild:r=!1,isActive:t=!1,shortcut:n,badge:a,className:i,children:l,onKeyDown:m,...M},C)=>{let s=P(),c=s?.size??"2",p=s?.presentation==="thin",v=r?x:"button",I=e.useCallback(o=>{if(o.key==="ArrowDown"||o.key==="ArrowUp"){let b=o.currentTarget.closest(".rt-SidebarContent, .rt-SidebarSearchPopover"),y=b?Array.from(b.querySelectorAll(".rt-SidebarMenuButton")).filter(h=>h.offsetParent!==null):[],d=y.indexOf(o.currentTarget),N=y[d+(o.key==="ArrowDown"?1:-1)];d!==-1&&N&&(o.preventDefault(),N.focus())}m?.(o)},[m]),S=e.useMemo(()=>k(l),[l]),{icons:R,labels:B}=e.useMemo(()=>p?ne(l):{icons:[],labels:[]},[p,l]),L=e.useMemo(()=>{if(!r)return null;try{let o=e.Children.only(S),b=o.props?.children,y=e.createElement(e.Fragment,null,b,a&&e.createElement("div",{className:"rt-SidebarMenuBadge"},typeof a=="string"?e.createElement(w,{size:c,variant:"soft"},a):e.createElement(w,{size:a.size||c,variant:a.variant||"soft",color:a.color,radius:a.radius},a.content)),n&&e.createElement("div",{className:"rt-BaseMenuShortcut rt-SidebarMenuShortcut"},e.createElement(D,{size:c},n)));return e.cloneElement(o,{...o.props},y)}catch{return S}},[r,S,a,n,c]);return e.createElement(v,{...M,ref:C,"aria-current":t?"page":void 0,className:u("rt-reset","rt-BaseMenuItem","rt-SidebarMenuButton",i),"data-active":t||void 0,onKeyDown:I},r?L:p&&R.length>0?e.createElement(e.Fragment,null,e.createElement("span",{className:"rt-SidebarMenuIconWrapper"},R),B.map((o,b)=>e.createElement(e.Fragment,{key:b},typeof o=="string"||typeof o=="number"?e.createElement("span",{className:"rt-SidebarMenuLabel"},o):o))):e.createElement(e.Fragment,null,S,a&&e.createElement("div",{className:"rt-SidebarMenuBadge"},typeof a=="string"?e.createElement(w,{size:c,variant:"soft"},a):e.createElement(w,{size:a.size||c,variant:a.variant||"soft",color:a.color,radius:a.radius},a.content)),n&&e.createElement("div",{className:"rt-BaseMenuShortcut rt-SidebarMenuShortcut"},e.createElement(D,{size:c},n))))});J.displayName="Sidebar.MenuButton";var T=e.createContext("accordion"),Q=e.forwardRef(({defaultOpen:r=!1,children:t,...n},a)=>(P()?.presentation==="thin"?"dropdown":"accordion")==="dropdown"?e.createElement("div",{...n,ref:a},e.createElement(K,null,e.createElement(T.Provider,{value:"dropdown"},t))):e.createElement("div",{...n,ref:a},e.createElement(T.Provider,{value:"accordion"},e.createElement(f.Root,{type:"single",collapsible:!0,defaultValue:r?"item":void 0},e.createElement(f.Item,{value:"item"},t)))));Q.displayName="Sidebar.MenuSub";var Y=e.forwardRef(({asChild:r=!1,className:t,children:n,...a},i)=>e.useContext(T)==="dropdown"?e.createElement(F,null,e.createElement("button",{...a,ref:i,type:"button","aria-haspopup":"menu",className:u("rt-reset","rt-BaseMenuItem","rt-SidebarMenuButton","rt-SidebarMenuSubTrigger",t)},n)):e.createElement(f.Header,{asChild:!0},e.createElement("div",null,e.createElement(f.Trigger,{...a,ref:i,asChild:r,className:u("rt-reset","rt-BaseMenuItem","rt-SidebarMenuButton","rt-SidebarMenuSubTrigger",t)},r?n:e.createElement(e.Fragment,null,n,e.createElement(G,{className:u("rt-BaseMenuSubTriggerIcon","rt-SidebarMenuSubTriggerIcon")}))))));Y.displayName="Sidebar.MenuSubTrigger";var Z=e.forwardRef(({className:r,children:t,...n},a)=>{let i=P();if(e.useContext(T)==="dropdown"){let m=s=>{if(Array.isArray(s))return s.map((c,p)=>e.createElement(e.Fragment,{key:p},m(c)));if(e.isValidElement(s)){if(s.type?.displayName==="Sidebar.MenuButton")return s.props?.children;let p=s.props?.children;if(p!==void 0)return e.cloneElement(s,{...s.props,children:m(p)})}return s},M=e.Children.map(t,(s,c)=>{if(e.isValidElement(s)&&s.type?.displayName==="Sidebar.MenuItem"){let p=s.props?.children,v=m(p);return e.createElement(E,{key:c,asChild:!0},v)}return e.createElement(E,{key:c,asChild:!0},m(s))}),C=i?.size==="3"?"2":i?.size;return e.createElement(j,{size:C,className:u(r)},e.createElement(O,null,M))}return e.createElement(f.Content,{...n,ref:a,className:u("rt-SidebarMenuSubContent",r)},e.createElement("div",{className:"rt-SidebarMenuSubList"},t))});Z.displayName="Sidebar.MenuSubContent";var _=e.forwardRef(({className:r,...t},n)=>e.createElement("div",{...t,ref:n,className:u("rt-BaseMenuGroup","rt-SidebarGroup",r)}));_.displayName="Sidebar.Group";var ee=e.forwardRef(({asChild:r=!1,className:t,...n},a)=>e.createElement(r?x:"div",{...n,ref:a,className:u("rt-BaseMenuLabel","rt-SidebarGroupLabel",t)}));ee.displayName="Sidebar.GroupLabel";var re=e.forwardRef(({className:r,...t},n)=>e.createElement("div",{...t,ref:n,className:u("rt-SidebarGroupContent",r)}));re.displayName="Sidebar.GroupContent";var A=({className:r})=>e.createElement("svg",{className:r,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true"},e.createElement("circle",{cx:"11",cy:"11",r:"8"}),e.createElement("line",{x1:"21",y1:"21",x2:"16.65",y2:"16.65"})),q=({className:r})=>e.createElement("svg",{className:r,width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true"},e.createElement("line",{x1:"18",y1:"6",x2:"6",y2:"18"}),e.createElement("line",{x1:"6",y1:"6",x2:"18",y2:"18"})),te=e.forwardRef(({value:r,onValueChange:t,placeholder:n="Search...",children:a,className:i,...l},m)=>{let M=P(),C=M?.presentation==="thin",s=e.useRef(null),c=e.useRef(null),v=`${e.useId()}-results`,I=e.useRef(r);I.current=r;let S=e.useRef(t);S.current=t;let R=n.replace(/\.+$/,""),B=e.useCallback(o=>{o.key==="Escape"&&I.current&&(o.preventDefault(),o.stopPropagation(),S.current(""),s.current?.focus())},[]),L=e.useCallback(o=>{let b=c.current;if(!b)return;let y=b.querySelector('[role="group"]');if(!y)return;let d=Array.from(y.querySelectorAll("a, button"));if(d.length===0)return;let N=document.activeElement,h=N===s.current,g=d.indexOf(N);if(o.key.length===1&&!o.ctrlKey&&!o.metaKey&&!o.altKey&&!h&&g!==-1){s.current?.focus();return}switch(o.key){case"ArrowDown":{o.preventDefault(),h||g===-1?d[0]?.focus():g<d.length-1&&d[g+1]?.focus();break}case"ArrowUp":{o.preventDefault(),g<=0?s.current?.focus():d[g-1]?.focus();break}case"Home":{h||(o.preventDefault(),d[0]?.focus());break}case"End":{h||(o.preventDefault(),d[d.length-1]?.focus());break}}},[]);return C?e.createElement("div",{...l,ref:m,className:u("rt-SidebarSearch","rt-SidebarSearch--thin",i)},e.createElement(z,null,e.createElement(H,null,e.createElement("button",{type:"button",className:u("rt-reset","rt-BaseMenuItem","rt-SidebarMenuButton","rt-SidebarSearchTrigger"),"aria-label":R},e.createElement("span",{className:"rt-SidebarMenuIconWrapper"},e.createElement(A,null)),e.createElement("span",{className:"rt-SidebarMenuLabel"},"Search"))),e.createElement(W,{side:"right",align:"start",size:"2",width:"280px","aria-label":R},e.createElement("div",{ref:c,className:"rt-SidebarSearchPopover",role:"search",onKeyDown:L},e.createElement("div",{className:"rt-SidebarSearchInputWrapper"},e.createElement(A,{className:"rt-SidebarSearchIcon"}),e.createElement("input",{ref:s,type:"search",className:"rt-SidebarSearchInput",value:r,onChange:o=>t(o.target.value),onKeyDown:B,placeholder:n,"aria-label":R,"aria-controls":a?v:void 0,autoFocus:!0}),r&&e.createElement("button",{type:"button",className:"rt-reset rt-SidebarSearchClear",onClick:()=>{t(""),s.current?.focus()},"aria-label":"Clear search"},e.createElement(q,null))),a&&e.createElement("div",{id:v,role:"group","aria-label":"Search results"},a))))):e.createElement("div",{...l,ref:m,className:u("rt-SidebarSearch","rt-SidebarSearch--expanded","rt-ShellPaneChrome",`rt-r-size-${M?.size??"2"}`,i),role:"search"},e.createElement("div",{className:"rt-SidebarSearchInputWrapper"},e.createElement(A,{className:"rt-SidebarSearchIcon"}),e.createElement("input",{ref:s,type:"search",className:"rt-SidebarSearchInput",value:r,onChange:o=>t(o.target.value),onKeyDown:B,placeholder:n,"aria-label":R}),r&&e.createElement("button",{type:"button",className:"rt-reset rt-SidebarSearchClear",onClick:()=>{t(""),s.current?.focus()},"aria-label":"Clear search"},e.createElement(q,null))))});te.displayName="Sidebar.Search";export{V as a,$ as b,X as c,J as d,Q as e,Y as f,Z as g,_ as h,ee as i,re as j,te as k,oe as l};
|
|
2
|
-
//# sourceMappingURL=chunk-
|
|
1
|
+
import{a as U}from"./chunk-2IPVLV6B.js";import{a as K,b as F,c as j,e as E,f as O}from"./chunk-2NNCZM7P.js";import{a as z,b as H,c as W}from"./chunk-QE2EF7A7.js";import{d as G}from"./chunk-IX5HIHVI.js";import{a as w}from"./chunk-PTEAQFHI.js";import{b as P}from"./chunk-UZS3BA2Z.js";import{b as x}from"./chunk-FWB47YCH.js";import{a as D}from"./chunk-XHKL4PG7.js";import{a as ae}from"./chunk-OS3FCYZY.js";var oe={};ae(oe,{Group:()=>_,GroupContent:()=>re,GroupLabel:()=>ee,Menu:()=>$,MenuButton:()=>J,MenuItem:()=>X,MenuSub:()=>Q,MenuSubContent:()=>Z,MenuSubTrigger:()=>Y,Search:()=>te,Separator:()=>V});import*as e from"react";import u from"classnames";import*as f from"@radix-ui/react-accordion";var V=e.forwardRef(({className:r,...t},n)=>e.createElement(U,{...t,ref:n,className:u("rt-SidebarSeparator",r)}));V.displayName="Sidebar.Separator";var $=e.forwardRef(({className:r,...t},n)=>e.createElement("ul",{...t,ref:n,className:u("rt-SidebarMenu",r)}));$.displayName="Sidebar.Menu";var X=e.forwardRef(({className:r,...t},n)=>e.createElement("li",{...t,ref:n,className:u("rt-SidebarMenuItem",r)}));X.displayName="Sidebar.MenuItem";function ne(r){let t=[],n=[];return e.Children.forEach(r,a=>{if(typeof a=="string"||typeof a=="number")n.push(e.createElement("span",{key:n.length,className:"rt-SidebarMenuLabel"},a));else if(e.isValidElement(a)){let i=a;i.type==="svg"||i.props&&i.props.icon||typeof i.type=="function"&&(i.type.displayName?.includes("Icon")||i.type.name?.includes("Icon"))?t.push(a):n.push(a)}else a&&n.push(a)}),{icons:t,labels:n}}function k(r){if(typeof r=="string"||typeof r=="number")return e.createElement("span",{className:"rt-SidebarMenuLabel"},r);if(Array.isArray(r))return r.map((t,n)=>e.createElement(e.Fragment,{key:n},k(t)));if(e.isValidElement(r)){let t=r,n=t.props&&t.props.className||"";if(typeof t.type=="string"&&n.split(" ").includes("rt-SidebarMenuLabel"))return t;let i=k(t.props?.children);return e.cloneElement(t,{...t.props},i)}return r}var J=e.forwardRef(({asChild:r=!1,isActive:t=!1,shortcut:n,badge:a,className:i,children:l,onKeyDown:m,...M},C)=>{let s=P(),c=s?.size??"2",p=s?.presentation==="thin",v=r?x:"button",I=e.useCallback(o=>{if(o.key==="ArrowDown"||o.key==="ArrowUp"){let b=o.currentTarget.closest(".rt-SidebarContent, .rt-SidebarSearchPopover"),y=b?Array.from(b.querySelectorAll(".rt-SidebarMenuButton")).filter(h=>h.offsetParent!==null):[],d=y.indexOf(o.currentTarget),N=y[d+(o.key==="ArrowDown"?1:-1)];d!==-1&&N&&(o.preventDefault(),N.focus())}m?.(o)},[m]),S=e.useMemo(()=>k(l),[l]),{icons:R,labels:B}=e.useMemo(()=>p?ne(l):{icons:[],labels:[]},[p,l]),L=e.useMemo(()=>{if(!r)return null;try{let o=e.Children.only(S),b=o.props?.children,y=e.createElement(e.Fragment,null,b,a&&e.createElement("div",{className:"rt-SidebarMenuBadge"},typeof a=="string"?e.createElement(w,{size:c,variant:"soft"},a):e.createElement(w,{size:a.size||c,variant:a.variant||"soft",color:a.color,radius:a.radius},a.content)),n&&e.createElement("div",{className:"rt-BaseMenuShortcut rt-SidebarMenuShortcut"},e.createElement(D,{size:c},n)));return e.cloneElement(o,{...o.props},y)}catch{return S}},[r,S,a,n,c]);return e.createElement(v,{...M,ref:C,"aria-current":t?"page":void 0,className:u("rt-reset","rt-BaseMenuItem","rt-SidebarMenuButton",i),"data-active":t||void 0,onKeyDown:I},r?L:p&&R.length>0?e.createElement(e.Fragment,null,e.createElement("span",{className:"rt-SidebarMenuIconWrapper"},R),B.map((o,b)=>e.createElement(e.Fragment,{key:b},typeof o=="string"||typeof o=="number"?e.createElement("span",{className:"rt-SidebarMenuLabel"},o):o))):e.createElement(e.Fragment,null,S,a&&e.createElement("div",{className:"rt-SidebarMenuBadge"},typeof a=="string"?e.createElement(w,{size:c,variant:"soft"},a):e.createElement(w,{size:a.size||c,variant:a.variant||"soft",color:a.color,radius:a.radius},a.content)),n&&e.createElement("div",{className:"rt-BaseMenuShortcut rt-SidebarMenuShortcut"},e.createElement(D,{size:c},n))))});J.displayName="Sidebar.MenuButton";var T=e.createContext("accordion"),Q=e.forwardRef(({defaultOpen:r=!1,children:t,...n},a)=>(P()?.presentation==="thin"?"dropdown":"accordion")==="dropdown"?e.createElement("div",{...n,ref:a},e.createElement(K,null,e.createElement(T.Provider,{value:"dropdown"},t))):e.createElement("div",{...n,ref:a},e.createElement(T.Provider,{value:"accordion"},e.createElement(f.Root,{type:"single",collapsible:!0,defaultValue:r?"item":void 0},e.createElement(f.Item,{value:"item"},t)))));Q.displayName="Sidebar.MenuSub";var Y=e.forwardRef(({asChild:r=!1,className:t,children:n,...a},i)=>e.useContext(T)==="dropdown"?e.createElement(F,null,e.createElement("button",{...a,ref:i,type:"button","aria-haspopup":"menu",className:u("rt-reset","rt-BaseMenuItem","rt-SidebarMenuButton","rt-SidebarMenuSubTrigger",t)},n)):e.createElement(f.Header,{asChild:!0},e.createElement("div",null,e.createElement(f.Trigger,{...a,ref:i,asChild:r,className:u("rt-reset","rt-BaseMenuItem","rt-SidebarMenuButton","rt-SidebarMenuSubTrigger",t)},r?n:e.createElement(e.Fragment,null,n,e.createElement(G,{className:u("rt-BaseMenuSubTriggerIcon","rt-SidebarMenuSubTriggerIcon")}))))));Y.displayName="Sidebar.MenuSubTrigger";var Z=e.forwardRef(({className:r,children:t,...n},a)=>{let i=P();if(e.useContext(T)==="dropdown"){let m=s=>{if(Array.isArray(s))return s.map((c,p)=>e.createElement(e.Fragment,{key:p},m(c)));if(e.isValidElement(s)){if(s.type?.displayName==="Sidebar.MenuButton")return s.props?.children;let p=s.props?.children;if(p!==void 0)return e.cloneElement(s,{...s.props,children:m(p)})}return s},M=e.Children.map(t,(s,c)=>{if(e.isValidElement(s)&&s.type?.displayName==="Sidebar.MenuItem"){let p=s.props?.children,v=m(p);return e.createElement(E,{key:c,asChild:!0},v)}return e.createElement(E,{key:c,asChild:!0},m(s))}),C=i?.size==="3"?"2":i?.size;return e.createElement(j,{size:C,className:u(r)},e.createElement(O,null,M))}return e.createElement(f.Content,{...n,ref:a,className:u("rt-SidebarMenuSubContent",r)},e.createElement("div",{className:"rt-SidebarMenuSubList"},t))});Z.displayName="Sidebar.MenuSubContent";var _=e.forwardRef(({className:r,...t},n)=>e.createElement("div",{...t,ref:n,className:u("rt-BaseMenuGroup","rt-SidebarGroup",r)}));_.displayName="Sidebar.Group";var ee=e.forwardRef(({asChild:r=!1,className:t,...n},a)=>e.createElement(r?x:"div",{...n,ref:a,className:u("rt-BaseMenuLabel","rt-SidebarGroupLabel",t)}));ee.displayName="Sidebar.GroupLabel";var re=e.forwardRef(({className:r,...t},n)=>e.createElement("div",{...t,ref:n,className:u("rt-SidebarGroupContent",r)}));re.displayName="Sidebar.GroupContent";var A=({className:r})=>e.createElement("svg",{className:r,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true"},e.createElement("circle",{cx:"11",cy:"11",r:"8"}),e.createElement("line",{x1:"21",y1:"21",x2:"16.65",y2:"16.65"})),q=({className:r})=>e.createElement("svg",{className:r,width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true"},e.createElement("line",{x1:"18",y1:"6",x2:"6",y2:"18"}),e.createElement("line",{x1:"6",y1:"6",x2:"18",y2:"18"})),te=e.forwardRef(({value:r,onValueChange:t,placeholder:n="Search...",children:a,className:i,...l},m)=>{let M=P(),C=M?.presentation==="thin",s=e.useRef(null),c=e.useRef(null),v=`${e.useId()}-results`,I=e.useRef(r);I.current=r;let S=e.useRef(t);S.current=t;let R=n.replace(/\.+$/,""),B=e.useCallback(o=>{o.key==="Escape"&&I.current&&(o.preventDefault(),o.stopPropagation(),S.current(""),s.current?.focus())},[]),L=e.useCallback(o=>{let b=c.current;if(!b)return;let y=b.querySelector('[role="group"]');if(!y)return;let d=Array.from(y.querySelectorAll("a, button"));if(d.length===0)return;let N=document.activeElement,h=N===s.current,g=d.indexOf(N);if(o.key.length===1&&!o.ctrlKey&&!o.metaKey&&!o.altKey&&!h&&g!==-1){s.current?.focus();return}switch(o.key){case"ArrowDown":{o.preventDefault(),h||g===-1?d[0]?.focus():g<d.length-1&&d[g+1]?.focus();break}case"ArrowUp":{o.preventDefault(),g<=0?s.current?.focus():d[g-1]?.focus();break}case"Home":{h||(o.preventDefault(),d[0]?.focus());break}case"End":{h||(o.preventDefault(),d[d.length-1]?.focus());break}}},[]);return C?e.createElement("div",{...l,ref:m,className:u("rt-SidebarSearch","rt-SidebarSearch--thin",i)},e.createElement(z,null,e.createElement(H,null,e.createElement("button",{type:"button",className:u("rt-reset","rt-BaseMenuItem","rt-SidebarMenuButton","rt-SidebarSearchTrigger"),"aria-label":R},e.createElement("span",{className:"rt-SidebarMenuIconWrapper"},e.createElement(A,null)),e.createElement("span",{className:"rt-SidebarMenuLabel"},"Search"))),e.createElement(W,{side:"right",align:"start",size:"2",width:"280px","aria-label":R},e.createElement("div",{ref:c,className:"rt-SidebarSearchPopover",role:"search",onKeyDown:L},e.createElement("div",{className:"rt-SidebarSearchInputWrapper"},e.createElement(A,{className:"rt-SidebarSearchIcon"}),e.createElement("input",{ref:s,type:"search",className:"rt-SidebarSearchInput",value:r,onChange:o=>t(o.target.value),onKeyDown:B,placeholder:n,"aria-label":R,"aria-controls":a?v:void 0,autoFocus:!0}),r&&e.createElement("button",{type:"button",className:"rt-reset rt-SidebarSearchClear",onClick:()=>{t(""),s.current?.focus()},"aria-label":"Clear search"},e.createElement(q,null))),a&&e.createElement("div",{id:v,role:"group","aria-label":"Search results"},a))))):e.createElement("div",{...l,ref:m,className:u("rt-SidebarSearch","rt-SidebarSearch--expanded","rt-ShellPaneChrome",`rt-r-size-${M?.size??"2"}`,i),role:"search"},e.createElement("div",{className:"rt-SidebarSearchInputWrapper"},e.createElement(A,{className:"rt-SidebarSearchIcon"}),e.createElement("input",{ref:s,type:"search",className:"rt-SidebarSearchInput",value:r,onChange:o=>t(o.target.value),onKeyDown:B,placeholder:n,"aria-label":R}),r&&e.createElement("button",{type:"button",className:"rt-reset rt-SidebarSearchClear",onClick:()=>{t(""),s.current?.focus()},"aria-label":"Clear search"},e.createElement(q,null))))});te.displayName="Sidebar.Search";export{V as a,$ as b,X as c,J as d,Q as e,Y as f,Z as g,_ as h,ee as i,re as j,te as k,oe as l};
|
|
2
|
+
//# sourceMappingURL=chunk-PAB6HVKC.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{a as p,b as R,c as n}from"./chunk-BALS3AVM.js";import{a as b}from"./chunk-
|
|
2
|
-
//# sourceMappingURL=chunk-
|
|
1
|
+
import{a as p,b as R,c as n}from"./chunk-BALS3AVM.js";import{a as b}from"./chunk-HKRQ3E3I.js";import{a as s}from"./chunk-UBSLEGQZ.js";import{a as d}from"./chunk-GSTOGDAJ.js";import{b as m}from"./chunk-PBFSBHBS.js";import{a as h}from"./chunk-OS3FCYZY.js";var v={};h(v,{Body:()=>c,Cell:()=>C,ColumnHeaderCell:()=>y,Header:()=>T,Root:()=>P,Row:()=>f,RowHeaderCell:()=>i});import*as e from"react";import t from"classnames";var P=e.forwardRef((o,l)=>{let{layout:a,...r}=p,{className:w,children:u,layout:H,...N}=s(o,r,d),E=m({value:H,className:p.layout.className,propValues:p.layout.values});return e.createElement("div",{ref:l,className:t("rt-TableRoot",w),...N},e.createElement(b,null,e.createElement("table",{className:t("rt-TableRootTable",E)},u)))});P.displayName="Table.Root";var T=e.forwardRef(({className:o,...l},a)=>e.createElement("thead",{...l,ref:a,className:t("rt-TableHeader",o)}));T.displayName="Table.Header";var c=e.forwardRef(({className:o,...l},a)=>e.createElement("tbody",{...l,ref:a,className:t("rt-TableBody",o)}));c.displayName="Table.Body";var f=e.forwardRef((o,l)=>{let{className:a,...r}=s(o,R);return e.createElement("tr",{...r,ref:l,className:t("rt-TableRow",a)})});f.displayName="Table.Row";var C=e.forwardRef((o,l)=>{let{className:a,...r}=s(o,n);return e.createElement("td",{className:t("rt-TableCell",a),ref:l,...r})});C.displayName="Table.Cell";var y=e.forwardRef((o,l)=>{let{className:a,...r}=s(o,n);return e.createElement("th",{className:t("rt-TableCell","rt-TableColumnHeaderCell",a),scope:"col",ref:l,...r})});y.displayName="Table.ColumnHeaderCell";var i=e.forwardRef((o,l)=>{let{className:a,...r}=s(o,n);return e.createElement("th",{className:t("rt-TableCell","rt-TableRowHeaderCell",a),scope:"row",ref:l,...r})});i.displayName="Table.RowHeaderCell";export{P as a,T as b,c,f as d,C as e,y as f,i as g,v as h};
|
|
2
|
+
//# sourceMappingURL=chunk-RVHKSNMJ.js.map
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{a as l}from"./chunk-HKRQ3E3I.js";import*as e from"react";import i from"classnames";var c=e.createContext(null);function u(){return e.useContext(c)}var S=e.createContext("2");function C({children:t,presentation:a}){let r=e.useContext(S),o=e.useMemo(()=>({size:r,menuVariant:"soft",presentation:a}),[r,a]);return e.createElement(c.Provider,{value:o},t)}function s(){let t=u(),a=t?.size??"2",r=t?.menuVariant??"soft";return["rt-ShellPaneChrome",`rt-r-size-${a}`,`rt-menu-variant-${r}`]}var f=e.forwardRef(({className:t,float:a,...r},o)=>{let n=s();return e.createElement("div",{...r,ref:o,"data-float":a||void 0,className:i("rt-ShellPaneHeader","rt-SidebarHeader","rt-SidebarHeader--container",...n,t)})});f.displayName="Shell.PaneHeader";var m=e.forwardRef(({className:t,float:a,...r},o)=>{let n=s();return e.createElement("div",{...r,ref:o,"data-float":a||void 0,className:i("rt-ShellPaneFooter","rt-SidebarFooter","rt-SidebarFooter--container",...n,t)})});m.displayName="Shell.PaneFooter";var P=e.forwardRef(({className:t,children:a,fade:r=!1,...o},n)=>{let d=s();return e.createElement(l,{type:"hover",fade:r,className:"rt-ShellScroll"},e.createElement("div",{...o,ref:n,className:i("rt-BaseMenuContent","rt-SidebarContent",...d,t)},e.createElement("div",{className:"rt-BaseMenuViewport"},a)))});P.displayName="Shell.Scroll";export{c as a,u as b,S as c,C as d,f as e,m as f,P as g};
|
|
2
|
+
//# sourceMappingURL=chunk-UZS3BA2Z.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../src/components/_internal/pane-chrome.tsx"],
|
|
4
|
+
"sourcesContent": ["'use client';\n\n/**\n * A pane's own chrome: a header row, a scrolling region and a footer row.\n *\n * Shell.Sidebar and Shell.Panel render these as `Shell.PaneHeader`, `Shell.Scroll` and\n * `Shell.PaneFooter`. The pane renders anything; with these parts it is the presentation, so\n * Sidebar's menu parts work inside it with no `Sidebar.Root`. The index comes from the nearest\n * Shell (`Shell.Root size`), or from a deprecated `Sidebar.Root` that still wraps them.\n */\n\nimport * as React from 'react';\nimport classNames from 'classnames';\n\nimport { ScrollArea } from '../scroll-area.js';\n\ntype PaneSize = '1' | '2' | '3';\n\ntype SidebarVisualContextValue = {\n size: PaneSize;\n menuVariant: 'solid' | 'soft';\n presentation?: 'thin' | 'expanded';\n color?: string;\n};\n\n/** Size, menu highlight and presentation for the Sidebar parts. Internal: not exported. */\nconst SidebarVisualContext = React.createContext<SidebarVisualContextValue | null>(null);\n\nfunction useSidebarVisual() {\n return React.useContext(SidebarVisualContext);\n}\n\n/** The Shell's index. `Shell.Root size` sets it; panes hand it to their chrome. */\nconst ShellSizeContext = React.createContext<PaneSize>('2');\n\n/**\n * Gives a Shell pane's children the Shell's index, so Sidebar parts size themselves. In a Rail\n * the rows are `thin`: icon tiles with a small label, sub-menus as dropdowns.\n */\nfunction PaneChromeScope({ children, presentation }: { children: React.ReactNode; presentation?: 'thin' }) {\n const size = React.useContext(ShellSizeContext);\n const value = React.useMemo<SidebarVisualContextValue>(() => ({ size, menuVariant: 'soft', presentation }), [size, presentation]);\n return <SidebarVisualContext.Provider value={value}>{children}</SidebarVisualContext.Provider>;\n}\n\nfunction useChromeClasses() {\n const visual = useSidebarVisual();\n const size = visual?.size ?? '2';\n const menuVariant = visual?.menuVariant ?? 'soft';\n return ['rt-ShellPaneChrome', `rt-r-size-${size}`, `rt-menu-variant-${menuVariant}`];\n}\n\ninterface PaneHeaderProps extends React.ComponentPropsWithoutRef<'div'> {\n /**\n * Floats the row over the top of `Shell.Scroll`, so the list scrolls behind it. The list\n * starts below the row, and `Shell.Scroll fade` fades it out under the row. The row paints\n * nothing and lets clicks through between its controls; a `Toolbar backdrop` in it keeps\n * the controls readable.\n */\n float?: boolean;\n}\n\n/** A pane's header row, pinned above its scrolling region. */\nconst PaneHeader = React.forwardRef<HTMLDivElement, PaneHeaderProps>(({ className, float, ...props }, forwardedRef) => {\n const chrome = useChromeClasses();\n return (\n <div\n {...props}\n ref={forwardedRef}\n data-float={float || undefined}\n className={classNames('rt-ShellPaneHeader', 'rt-SidebarHeader', 'rt-SidebarHeader--container', ...chrome, className)}\n />\n );\n});\nPaneHeader.displayName = 'Shell.PaneHeader';\n\ninterface PaneFooterProps extends React.ComponentPropsWithoutRef<'div'> {\n /** Floats the row over the bottom of `Shell.Scroll`, the way `Shell.PaneHeader float` does at the top. */\n float?: boolean;\n}\n\n/** A pane's footer row, pinned below its scrolling region. */\nconst PaneFooter = React.forwardRef<HTMLDivElement, PaneFooterProps>(({ className, float, ...props }, forwardedRef) => {\n const chrome = useChromeClasses();\n return (\n <div\n {...props}\n ref={forwardedRef}\n data-float={float || undefined}\n className={classNames('rt-ShellPaneFooter', 'rt-SidebarFooter', 'rt-SidebarFooter--container', ...chrome, className)}\n />\n );\n});\nPaneFooter.displayName = 'Shell.PaneFooter';\n\ninterface ScrollProps extends React.ComponentPropsWithoutRef<'div'> {\n /** Fades the list out toward an edge with more past it, and under a floating header or footer. */\n fade?: boolean;\n}\n\n/**\n * The one region of a pane that scrolls; it takes the room the header and footer leave.\n * It is not a landmark: for navigation, pass `role=\"navigation\"` and an `aria-label`.\n */\nconst Scroll = React.forwardRef<HTMLDivElement, ScrollProps>(({ className, children, fade = false, ...props }, forwardedRef) => {\n const chrome = useChromeClasses();\n return (\n <ScrollArea type=\"hover\" fade={fade} className=\"rt-ShellScroll\">\n <div {...props} ref={forwardedRef} className={classNames('rt-BaseMenuContent', 'rt-SidebarContent', ...chrome, className)}>\n <div className=\"rt-BaseMenuViewport\">{children}</div>\n </div>\n </ScrollArea>\n );\n});\nScroll.displayName = 'Shell.Scroll';\n\nexport { SidebarVisualContext, useSidebarVisual, ShellSizeContext, PaneChromeScope, PaneHeader, PaneFooter, Scroll };\nexport type { SidebarVisualContextValue, PaneSize, PaneHeaderProps, PaneFooterProps, ScrollProps };\n"],
|
|
5
|
+
"mappings": "wCAWA,UAAYA,MAAW,QACvB,OAAOC,MAAgB,aAcvB,IAAMC,EAA6B,gBAAgD,IAAI,EAEvF,SAASC,GAAmB,CAC1B,OAAa,aAAWD,CAAoB,CAC9C,CAGA,IAAME,EAAyB,gBAAwB,GAAG,EAM1D,SAASC,EAAgB,CAAE,SAAAC,EAAU,aAAAC,CAAa,EAAyD,CACzG,IAAMC,EAAa,aAAWJ,CAAgB,EACxCK,EAAc,UAAmC,KAAO,CAAE,KAAAD,EAAM,YAAa,OAAQ,aAAAD,CAAa,GAAI,CAACC,EAAMD,CAAY,CAAC,EAChI,OAAO,gBAACL,EAAqB,SAArB,CAA8B,MAAOO,GAAQH,CAAS,CAChE,CAEA,SAASI,GAAmB,CAC1B,IAAMC,EAASR,EAAiB,EAC1BK,EAAOG,GAAQ,MAAQ,IACvBC,EAAcD,GAAQ,aAAe,OAC3C,MAAO,CAAC,qBAAsB,aAAaH,CAAI,GAAI,mBAAmBI,CAAW,EAAE,CACrF,CAaA,IAAMC,EAAmB,aAA4C,CAAC,CAAE,UAAAC,EAAW,MAAAC,EAAO,GAAGC,CAAM,EAAGC,IAAiB,CACrH,IAAMC,EAASR,EAAiB,EAChC,OACE,gBAAC,OACE,GAAGM,EACJ,IAAKC,EACL,aAAYF,GAAS,OACrB,UAAWI,EAAW,qBAAsB,mBAAoB,8BAA+B,GAAGD,EAAQJ,CAAS,EACrH,CAEJ,CAAC,EACDD,EAAW,YAAc,mBAQzB,IAAMO,EAAmB,aAA4C,CAAC,CAAE,UAAAN,EAAW,MAAAC,EAAO,GAAGC,CAAM,EAAGC,IAAiB,CACrH,IAAMC,EAASR,EAAiB,EAChC,OACE,gBAAC,OACE,GAAGM,EACJ,IAAKC,EACL,aAAYF,GAAS,OACrB,UAAWI,EAAW,qBAAsB,mBAAoB,8BAA+B,GAAGD,EAAQJ,CAAS,EACrH,CAEJ,CAAC,EACDM,EAAW,YAAc,mBAWzB,IAAMC,EAAe,aAAwC,CAAC,CAAE,UAAAP,EAAW,SAAAR,EAAU,KAAAgB,EAAO,GAAO,GAAGN,CAAM,EAAGC,IAAiB,CAC9H,IAAMC,EAASR,EAAiB,EAChC,OACE,gBAACa,EAAA,CAAW,KAAK,QAAQ,KAAMD,EAAM,UAAU,kBAC7C,gBAAC,OAAK,GAAGN,EAAO,IAAKC,EAAc,UAAWE,EAAW,qBAAsB,oBAAqB,GAAGD,EAAQJ,CAAS,GACtH,gBAAC,OAAI,UAAU,uBAAuBR,CAAS,CACjD,CACF,CAEJ,CAAC,EACDe,EAAO,YAAc",
|
|
6
|
+
"names": ["React", "classNames", "SidebarVisualContext", "useSidebarVisual", "ShellSizeContext", "PaneChromeScope", "children", "presentation", "size", "value", "useChromeClasses", "visual", "menuVariant", "PaneHeader", "className", "float", "props", "forwardedRef", "chrome", "classNames", "PaneFooter", "Scroll", "fade", "ScrollArea"]
|
|
7
|
+
}
|