1 |
- {"mappings":";;;;;;;;;A;;;;;;;;;ACYA;;oGAEA,CAEA,MAAMa,uCAAiB,GAAG,aAA1B,AAAA;AAGA,MAAM,CAACC,8CAAD,EAA2Bd,yCAA3B,CAAA,GAAqDM,yBAAkB,CAACO,uCAAD,EAAoB;IAC/FJ,kCAD+F;CAApB,CAA7E,AAAA;AAGA,MAAMM,8CAAwB,GAAGN,kCAA2B,EAA5D,AAAA;AAUA,MAAMR,yCAAW,GAAA,aAAGI,CAAAA,YAAK,CAACW,UAAN,CAGlB,CAACC,KAAD,EAAQC,YAAR,GAAyB;IACzB,MAAM,E,MAAEC,IAAF,CAAA,EAAQ,GAAGC,gBAAH,EAAR,GAAgCH,KAAtC,AAAM;IAEN,IAAIE,IAAI,KAAK,QAAb,EAAuB;QACrB,MAAME,WAAW,GAAGD,gBAApB,AAAA;QACA,OAAA,aAAO,CAAA,YAAA,CAAA,aAAA,CAAC,2CAAD,EAAA,oCAAA,CAAA,EAAA,EAA2BC,WAA3B,EAAP;YAA+C,GAAG,EAAEH,YAAL;SAAxC,CAAA,CAAP,CAAO;KACR;IAED,IAAIC,IAAI,KAAK,UAAb,EAAyB;QACvB,MAAMG,aAAa,GAAGF,gBAAtB,AAAA;QACA,OAAA,aAAO,CAAA,YAAA,CAAA,aAAA,CAAC,6CAAD,EAAA,oCAAA,CAAA,EAAA,EAA6BE,aAA7B,EAAP;YAAmD,GAAG,EAAEJ,YAAL;SAA5C,CAAA,CAAP,CAAO;KACR;IAED,MAAM,IAAIK,KAAJ,CAAW,CAAA,oCAAA,EAAsCV,uCAAkB,CAAA,EAAA,CAAnE,CAAN,CAAA;CAhBkB,CAApB,AAiBC;AAED,aAAA,CAAA,MAAA,CAAA,MAAA,CAAA,yCAAA,EAAA;IAAA,WAAA,EAAA,uCAAA;CAAA,CAAA,CAAA;AAEA,oGAAA,CASA,MAAM,CAACW,8CAAD,EAA2BC,gDAA3B,CAAA,GACJX,8CAAwB,CAA+BD,uCAA/B,CAD1B,AAAA;AAoBA,MAAMa,2CAAqB,GAAA,aAAGrB,CAAAA,YAAK,CAACW,UAAN,CAG5B,CAACC,KAAD,EAAiDC,YAAjD,GAAkE;IAClE,MAAM,EACJS,KAAK,EAAEC,SADH,CAAA,E,cAEJC,YAFI,CAAA,iBAGJC,aAAa,GAAG,IAAM,EAHlB,GAIJ,GAAGC,sBAAH,EAJI,GAKFd,KALJ,AAAM;IAON,MAAM,CAACU,KAAD,EAAQK,QAAR,CAAA,GAAoBrB,2BAAoB,CAAC;QAC7CsB,IAAI,EAAEL,SADuC;QAE7CM,WAAW,EAAEL,YAFgC;QAG7CM,QAAQ,EAAEL,aAAVK;KAH4C,CAA9C,AAA+C;IAM/C,OAAA,aACE,CAAA,YAAA,CAAA,aAAA,CAAC,8CAAD,EADF;QAEI,KAAK,EAAElB,KAAK,CAACmB,kBADf;QAEE,IAAI,EAAC,QAFP;QAGE,KAAK,EAAET,KAAK,GAAG;YAACA,KAAD;SAAH,GAAa,EAH3B;QAIE,cAAc,EAAEK,QAJlB;QAKE,gBAAgB,EAAE3B,YAAK,CAACgC,WAAN,CAAkB,IAAML,QAAQ,CAAC,EAAD,CAAhC;QAAA,EAAsC;YAACA,QAAD;SAAtC,CAAlB;KALF,EAAA,aAOE,CAAA,YAAA,CAAA,aAAA,CAAC,qCAAD,EAAA,oCAAA,CAAA,EAAA,EAAqBD,sBAArB,EAPF;QAO+C,GAAG,EAAEb,YAAL;KAA7C,CAAA,CAPF,CADF,CAQI;CAzBwB,CAA9B,AA4BC;AAmBD,MAAMoB,6CAAuB,GAAA,aAAGjC,CAAAA,YAAK,CAACW,UAAN,CAG9B,CAACC,KAAD,EAAmDC,YAAnD,GAAoE;IACpE,MAAM,EACJS,KAAK,EAAEC,SADH,CAAA,E,cAEJC,YAFI,CAAA,iBAGJC,aAAa,GAAG,IAAM,EAHlB,GAIJ,GAAGS,wBAAH,EAJI,GAKFtB,KALJ,AAAM;IAON,MAAM,CAACU,MAAK,GAAG,EAAT,EAAaK,QAAb,CAAA,GAAyBrB,2BAAoB,CAAC;QAClDsB,IAAI,EAAEL,SAD4C;QAElDM,WAAW,EAAEL,YAFqC;QAGlDM,QAAQ,EAAEL,aAAVK;KAHiD,CAAnD,AAAoD;IAMpD,MAAMK,oBAAoB,GAAGnC,YAAK,CAACgC,WAAN,CAC1BI,CAAAA,SAAD,GAAuBT,QAAQ,CAAC,CAACU,SAAS,GAAG,EAAb,GAAoB;mBAAIA,SAAJ;gBAAeD,SAAf;aAArB;QAAA,CADJ;IAAA,EAE3B;QAACT,QAAD;KAF2B,CAA7B,AAAA;IAKA,MAAMW,sBAAsB,GAAGtC,YAAK,CAACgC,WAAN,CAC5BI,CAAAA,SAAD,GACET,QAAQ,CAAC,CAACU,SAAS,GAAG,EAAb,GAAoBA,SAAS,CAACE,MAAV,CAAkBjB,CAAAA,KAAD,GAAWA,KAAK,KAAKc,SAAtC;YAAA,CAArB;QAAA,CAFmB;IAAA,EAG7B;QAACT,QAAD;KAH6B,CAA/B,AAAA;IAMA,OAAA,aACE,CAAA,YAAA,CAAA,aAAA,CAAC,8CAAD,EADF;QAEI,KAAK,EAAEf,KAAK,CAACmB,kBADf;QAEE,IAAI,EAAC,UAFP;QAGE,KAAK,EAAET,MAHT;QAIE,cAAc,EAAEa,oBAJlB;QAKE,gBAAgB,EAAEG,sBAAlB;KALF,EAAA,aAOE,CAAA,YAAA,CAAA,aAAA,CAAC,qCAAD,EAAA,oCAAA,CAAA,EAAA,EAAqBJ,wBAArB,EAPF;QAOiD,GAAG,EAAErB,YAAL;KAA/C,CAAA,CAPF,CADF,CAQI;CApC0B,CAAhC,AAuCC;AAED,aAAA,CAAA,MAAA,CAAA,MAAA,CAAA,yCAAA,EAAA;IAAA,WAAA,EAAA,uCAAA;CAAA,CAAA,CAAA;AAEA,oGAAA,CAIA,MAAM,CAAC2B,wCAAD,EAAqBC,2CAArB,CAAA,GACJhC,8CAAwB,CAA0BD,uCAA1B,CAD1B,AAAA;AAsBA,MAAMkC,qCAAe,GAAA,aAAG1C,CAAAA,YAAK,CAACW,UAAN,CACtB,CAACC,KAAD,EAA2CC,YAA3C,GAA4D;IAC1D,MAAM,E,oBACJkB,kBADI,CAAA,YAEJY,QAAQ,GAAG,KAFP,gBAGJC,WAAW,GAAG,IAHV,G,aAIJC,WAJI,CAAA,E,KAKJC,GALI,CAAA,QAMJC,IAAI,GAAG,IANH,GAOJ,GAAGhC,gBAAH,EAPI,GAQFH,KARJ,AAAM;IASN,MAAMoC,qBAAqB,GAAGtC,8CAAwB,CAACqB,kBAAD,CAAtD,AAAA;IACA,MAAMkB,SAAS,GAAG1C,mBAAY,CAACuC,GAAD,CAA9B,AAAA;IACA,MAAMI,WAAW,GAAG;QAAEC,IAAI,EAAE,OAAR;QAAiBL,GAAG,EAAEG,SAAtB;QAAiC,GAAGlC,gBAAH;KAArD,AAAoB;IACpB,OAAA,aACE,CAAA,YAAA,CAAA,aAAA,CAAC,wCAAD,EADF;QACsB,KAAK,EAAEgB,kBAA3B;QAA+C,WAAW,EAAEa,WAA5D;QAAyE,QAAQ,EAAED,QAAV;KAAzE,EACGC,WAAW,GAAA,aACV,CAAA,YAAA,CAAA,aAAA,CAAC,WAAD,EAFJ,oCAAA,CAAA;QAGM,OAAO,EAAP,IAAA;KADF,EAEMI,qBAFN,EAAA;QAGE,WAAW,EAAEH,WAHf;QAIE,GAAG,EAAEI,SAJP;QAKE,IAAI,EAAEF,IAAN;KALF,CAAA,EAAA,aAOE,CAAA,YAAA,CAAA,aAAA,CAAC,gBAAD,CAAW,GAAX,EAAA,oCAAA,CAAA,EAAA,EAAmBG,WAAnB,EAPF;QAOkC,GAAG,EAAErC,YAAL;KAAhC,CAAA,CAPF,CADU,GAAA,aAWV,CAAA,YAAA,CAAA,aAAA,CAAC,gBAAD,CAAW,GAAX,EAAA,oCAAA,CAAA,EAAA,EAAmBqC,WAAnB,EAHE;QAG8B,GAAG,EAAErC,YAAL;KAAhC,CAAA,CAZJ,CADF,CAaM;CA3Bc,CAAxB,AA+BG;AAGH;;oGAEA,CAEA,MAAMuC,+BAAS,GAAG,iBAAlB,AAAA;AAKA,MAAMvD,yCAAe,GAAA,aAAGG,CAAAA,YAAK,CAACW,UAAN,CACtB,CAACC,KAAD,EAA2CC,YAA3C,GAA4D;IAC1D,MAAMwC,YAAY,GAAGjC,gDAA0B,CAACgC,+BAAD,EAAYxC,KAAK,CAACmB,kBAAlB,CAA/C,AAAA;IACA,MAAMuB,OAAO,GAAGb,2CAAqB,CAACW,+BAAD,EAAYxC,KAAK,CAACmB,kBAAlB,CAArC,AAAA;IACA,MAAMiB,qBAAqB,GAAGtC,8CAAwB,CAACE,KAAK,CAACmB,kBAAP,CAAtD,AAAA;IACA,MAAMwB,OAAO,GAAGF,YAAY,CAAC/B,KAAb,CAAmBkC,QAAnB,CAA4B5C,KAAK,CAACU,KAAlC,CAAhB,AAAA;IACA,MAAMqB,QAAQ,GAAGW,OAAO,CAACX,QAAR,IAAoB/B,KAAK,CAAC+B,QAA3C,AAAA;IACA,MAAMO,WAAW,GAAG;QAAE,GAAGtC,KAAL;Q,SAAY2C,OAAZ;Q,UAAqBZ,QAAAA;KAAzC,AAAoB;IACpB,MAAMc,GAAG,GAAGzD,YAAK,CAAC0D,MAAN,CAA6B,IAA7B,CAAZ,AAAA;IACA,OAAOJ,OAAO,CAACV,WAAR,GAAA,aACL,CAAA,YAAA,CAAA,aAAA,CAAC,WAAD,EADF,oCAAA,CAAA;QAEI,OAAO,EAAP,IAAA;KADF,EAEMI,qBAFN,EAAA;QAGE,SAAS,EAAE,CAACL,QAHd;QAIE,MAAM,EAAEY,OAJV;QAKE,GAAG,EAAEE,GAAL;KALF,CAAA,EAAA,aAOE,CAAA,YAAA,CAAA,aAAA,CAAC,yCAAD,EAAA,oCAAA,CAAA,EAAA,EAAyBP,WAAzB,EAPF;QAOwC,GAAG,EAAErC,YAAL;KAAtC,CAAA,CAPF,CADK,GAAA,aAWL,CAAA,YAAA,CAAA,aAAA,CAAC,yCAAD,EAAA,oCAAA,CAAA,EAAA,EAAyBqC,WAAzB,EAHE;QAGoC,GAAG,EAAErC,YAAL;KAAtC,CAAA,CAXF,CAWE;CApBkB,CAAxB,AAsBG;AAGH,aAAA,CAAA,MAAA,CAAA,MAAA,CAAA,yCAAA,EAAA;IAAA,WAAA,EAAA,+BAAA;CAAA,CAAA,CAAA;AAEA,oGAAA,CAWA,MAAM8C,yCAAmB,GAAA,aAAG3D,CAAAA,YAAK,CAACW,UAAN,CAC1B,CAACC,KAAD,EAA+CC,YAA/C,GAAgE;IAC9D,MAAM,E,oBAAEkB,kBAAF,CAAA,E,OAAsBT,KAAtB,CAAA,EAA6B,GAAGsC,SAAH,EAA7B,GAA8ChD,KAApD,AAAM;IACN,MAAMyC,YAAY,GAAGjC,gDAA0B,CAACgC,+BAAD,EAAYrB,kBAAZ,CAA/C,AAAA;IACA,MAAMf,WAAW,GAAG;QAAEmC,IAAI,EAAE,OAAR;QAAiB,cAAA,EAAgBvC,KAAK,CAAC2C,OAAvC;QAAgD,cAAA,EAAgBM,SAAhB;KAApE,AAAoB;IACpB,MAAMC,SAAS,GAAGT,YAAY,CAACvC,IAAb,KAAsB,QAAtB,GAAiCE,WAAjC,GAA+C6C,SAAjE,AAAA;IACA,OAAA,aACE,CAAA,YAAA,CAAA,aAAA,CAAC,aAAD,EAAA,oCAAA,CAAA,EAAA,EACMC,SADN,EAEMF,SAFN,EADF;QAII,GAAG,EAAE/C,YAHP;QAIE,eAAe,EAAG0C,CAAAA,OAAD,GAAa;YAC5B,IAAIA,OAAJ,EACEF,YAAY,CAACU,cAAb,CAA4BzC,KAA5B,CAAA+B,CAAAA;iBAEAA,YAAY,CAACW,gBAAb,CAA8B1C,KAA9B,CAAA+B,CAAAA;SAEH;KAVH,CAAA,CADF,CACE;CAPsB,CAA5B,AAoBG;AAGH,oGAAA,CAEA,MAAMvD,yCAAI,GAAGF,yCAAb,AAAA;AACA,MAAMG,yCAAI,GAAGF,yCAAb,AAAA;;ADjTA","sources":["packages/react/toggle-group/src/index.ts","packages/react/toggle-group/src/ToggleGroup.tsx"],"sourcesContent":["export {\n createToggleGroupScope,\n //\n ToggleGroup,\n ToggleGroupItem,\n //\n Root,\n Item,\n} from './ToggleGroup';\nexport type {\n ToggleGroupSingleProps,\n ToggleGroupMultipleProps,\n ToggleGroupItemProps,\n} from './ToggleGroup';\n","import React from 'react';\nimport { createContextScope } from '@radix-ui/react-context';\nimport { Primitive } from '@radix-ui/react-primitive';\nimport * as RovingFocusGroup from '@radix-ui/react-roving-focus';\nimport { createRovingFocusGroupScope } from '@radix-ui/react-roving-focus';\nimport { Toggle } from '@radix-ui/react-toggle';\nimport { useControllableState } from '@radix-ui/react-use-controllable-state';\nimport { useDirection } from '@radix-ui/react-direction';\n\nimport type * as Radix from '@radix-ui/react-primitive';\nimport type { Scope } from '@radix-ui/react-context';\n\n/* -------------------------------------------------------------------------------------------------\n * ToggleGroup\n * -----------------------------------------------------------------------------------------------*/\n\nconst TOGGLE_GROUP_NAME = 'ToggleGroup';\n\ntype ScopedProps<P> = P & { __scopeToggleGroup?: Scope };\nconst [createToggleGroupContext, createToggleGroupScope] = createContextScope(TOGGLE_GROUP_NAME, [\n createRovingFocusGroupScope,\n]);\nconst useRovingFocusGroupScope = createRovingFocusGroupScope();\n\ntype ToggleGroupElement = ToggleGroupImplSingleElement | ToggleGroupImplMultipleElement;\ninterface ToggleGroupSingleProps extends ToggleGroupImplSingleProps {\n type: 'single';\n}\ninterface ToggleGroupMultipleProps extends ToggleGroupImplMultipleProps {\n type: 'multiple';\n}\n\nconst ToggleGroup = React.forwardRef<\n ToggleGroupElement,\n ToggleGroupSingleProps | ToggleGroupMultipleProps\n>((props, forwardedRef) => {\n const { type, ...toggleGroupProps } = props;\n\n if (type === 'single') {\n const singleProps = toggleGroupProps as ToggleGroupImplSingleProps;\n return <ToggleGroupImplSingle {...singleProps} ref={forwardedRef} />;\n }\n\n if (type === 'multiple') {\n const multipleProps = toggleGroupProps as ToggleGroupImplMultipleProps;\n return <ToggleGroupImplMultiple {...multipleProps} ref={forwardedRef} />;\n }\n\n throw new Error(`Missing prop \\`type\\` expected on \\`${TOGGLE_GROUP_NAME}\\``);\n});\n\nToggleGroup.displayName = TOGGLE_GROUP_NAME;\n\n/* -----------------------------------------------------------------------------------------------*/\n\ntype ToggleGroupValueContextValue = {\n type: 'single' | 'multiple';\n value: string[];\n onItemActivate(value: string): void;\n onItemDeactivate(value: string): void;\n};\n\nconst [ToggleGroupValueProvider, useToggleGroupValueContext] =\n createToggleGroupContext<ToggleGroupValueContextValue>(TOGGLE_GROUP_NAME);\n\ntype ToggleGroupImplSingleElement = ToggleGroupImplElement;\ninterface ToggleGroupImplSingleProps extends ToggleGroupImplProps {\n /**\n * The controlled stateful value of the item that is pressed.\n */\n value?: string;\n /**\n * The value of the item that is pressed when initially rendered. Use\n * `defaultValue` if you do not need to control the state of a toggle group.\n */\n defaultValue?: string;\n /**\n * The callback that fires when the value of the toggle group changes.\n */\n onValueChange?(value: string): void;\n}\n\nconst ToggleGroupImplSingle = React.forwardRef<\n ToggleGroupImplSingleElement,\n ToggleGroupImplSingleProps\n>((props: ScopedProps<ToggleGroupImplSingleProps>, forwardedRef) => {\n const {\n value: valueProp,\n defaultValue,\n onValueChange = () => {},\n ...toggleGroupSingleProps\n } = props;\n\n const [value, setValue] = useControllableState({\n prop: valueProp,\n defaultProp: defaultValue,\n onChange: onValueChange,\n });\n\n return (\n <ToggleGroupValueProvider\n scope={props.__scopeToggleGroup}\n type=\"single\"\n value={value ? [value] : []}\n onItemActivate={setValue}\n onItemDeactivate={React.useCallback(() => setValue(''), [setValue])}\n >\n <ToggleGroupImpl {...toggleGroupSingleProps} ref={forwardedRef} />\n </ToggleGroupValueProvider>\n );\n});\n\ntype ToggleGroupImplMultipleElement = ToggleGroupImplElement;\ninterface ToggleGroupImplMultipleProps extends ToggleGroupImplProps {\n /**\n * The controlled stateful value of the items that are pressed.\n */\n value?: string[];\n /**\n * The value of the items that are pressed when initially rendered. Use\n * `defaultValue` if you do not need to control the state of a toggle group.\n */\n defaultValue?: string[];\n /**\n * The callback that fires when the state of the toggle group changes.\n */\n onValueChange?(value: string[]): void;\n}\n\nconst ToggleGroupImplMultiple = React.forwardRef<\n ToggleGroupImplMultipleElement,\n ToggleGroupImplMultipleProps\n>((props: ScopedProps<ToggleGroupImplMultipleProps>, forwardedRef) => {\n const {\n value: valueProp,\n defaultValue,\n onValueChange = () => {},\n ...toggleGroupMultipleProps\n } = props;\n\n const [value = [], setValue] = useControllableState({\n prop: valueProp,\n defaultProp: defaultValue,\n onChange: onValueChange,\n });\n\n const handleButtonActivate = React.useCallback(\n (itemValue: string) => setValue((prevValue = []) => [...prevValue, itemValue]),\n [setValue]\n );\n\n const handleButtonDeactivate = React.useCallback(\n (itemValue: string) =>\n setValue((prevValue = []) => prevValue.filter((value) => value !== itemValue)),\n [setValue]\n );\n\n return (\n <ToggleGroupValueProvider\n scope={props.__scopeToggleGroup}\n type=\"multiple\"\n value={value}\n onItemActivate={handleButtonActivate}\n onItemDeactivate={handleButtonDeactivate}\n >\n <ToggleGroupImpl {...toggleGroupMultipleProps} ref={forwardedRef} />\n </ToggleGroupValueProvider>\n );\n});\n\nToggleGroup.displayName = TOGGLE_GROUP_NAME;\n\n/* -----------------------------------------------------------------------------------------------*/\n\ntype ToggleGroupContextValue = { rovingFocus: boolean; disabled: boolean };\n\nconst [ToggleGroupContext, useToggleGroupContext] =\n createToggleGroupContext<ToggleGroupContextValue>(TOGGLE_GROUP_NAME);\n\ntype RovingFocusGroupProps = Radix.ComponentPropsWithoutRef<typeof RovingFocusGroup.Root>;\ntype ToggleGroupImplElement = React.ElementRef<typeof Primitive.div>;\ntype PrimitiveDivProps = Radix.ComponentPropsWithoutRef<typeof Primitive.div>;\ninterface ToggleGroupImplProps extends PrimitiveDivProps {\n /**\n * Whether the group is disabled from user interaction.\n * @defaultValue false\n */\n disabled?: boolean;\n /**\n * Whether the group should maintain roving focus of its buttons.\n * @defaultValue true\n */\n rovingFocus?: boolean;\n loop?: RovingFocusGroupProps['loop'];\n orientation?: RovingFocusGroupProps['orientation'];\n dir?: RovingFocusGroupProps['dir'];\n}\n\nconst ToggleGroupImpl = React.forwardRef<ToggleGroupImplElement, ToggleGroupImplProps>(\n (props: ScopedProps<ToggleGroupImplProps>, forwardedRef) => {\n const {\n __scopeToggleGroup,\n disabled = false,\n rovingFocus = true,\n orientation,\n dir,\n loop = true,\n ...toggleGroupProps\n } = props;\n const rovingFocusGroupScope = useRovingFocusGroupScope(__scopeToggleGroup);\n const direction = useDirection(dir);\n const commonProps = { role: 'group', dir: direction, ...toggleGroupProps };\n return (\n <ToggleGroupContext scope={__scopeToggleGroup} rovingFocus={rovingFocus} disabled={disabled}>\n {rovingFocus ? (\n <RovingFocusGroup.Root\n asChild\n {...rovingFocusGroupScope}\n orientation={orientation}\n dir={direction}\n loop={loop}\n >\n <Primitive.div {...commonProps} ref={forwardedRef} />\n </RovingFocusGroup.Root>\n ) : (\n <Primitive.div {...commonProps} ref={forwardedRef} />\n )}\n </ToggleGroupContext>\n );\n }\n);\n\n/* -------------------------------------------------------------------------------------------------\n * ToggleGroupItem\n * -----------------------------------------------------------------------------------------------*/\n\nconst ITEM_NAME = 'ToggleGroupItem';\n\ntype ToggleGroupItemElement = ToggleGroupItemImplElement;\ninterface ToggleGroupItemProps extends Omit<ToggleGroupItemImplProps, 'pressed'> {}\n\nconst ToggleGroupItem = React.forwardRef<ToggleGroupItemElement, ToggleGroupItemProps>(\n (props: ScopedProps<ToggleGroupItemProps>, forwardedRef) => {\n const valueContext = useToggleGroupValueContext(ITEM_NAME, props.__scopeToggleGroup);\n const context = useToggleGroupContext(ITEM_NAME, props.__scopeToggleGroup);\n const rovingFocusGroupScope = useRovingFocusGroupScope(props.__scopeToggleGroup);\n const pressed = valueContext.value.includes(props.value);\n const disabled = context.disabled || props.disabled;\n const commonProps = { ...props, pressed, disabled };\n const ref = React.useRef<HTMLDivElement>(null);\n return context.rovingFocus ? (\n <RovingFocusGroup.Item\n asChild\n {...rovingFocusGroupScope}\n focusable={!disabled}\n active={pressed}\n ref={ref}\n >\n <ToggleGroupItemImpl {...commonProps} ref={forwardedRef} />\n </RovingFocusGroup.Item>\n ) : (\n <ToggleGroupItemImpl {...commonProps} ref={forwardedRef} />\n );\n }\n);\n\nToggleGroupItem.displayName = ITEM_NAME;\n\n/* -----------------------------------------------------------------------------------------------*/\n\ntype ToggleGroupItemImplElement = React.ElementRef<typeof Toggle>;\ntype ToggleProps = Radix.ComponentPropsWithoutRef<typeof Toggle>;\ninterface ToggleGroupItemImplProps extends Omit<ToggleProps, 'defaultPressed' | 'onPressedChange'> {\n /**\n * A string value for the toggle group item. All items within a toggle group should use a unique value.\n */\n value: string;\n}\n\nconst ToggleGroupItemImpl = React.forwardRef<ToggleGroupItemImplElement, ToggleGroupItemImplProps>(\n (props: ScopedProps<ToggleGroupItemImplProps>, forwardedRef) => {\n const { __scopeToggleGroup, value, ...itemProps } = props;\n const valueContext = useToggleGroupValueContext(ITEM_NAME, __scopeToggleGroup);\n const singleProps = { role: 'radio', 'aria-checked': props.pressed, 'aria-pressed': undefined };\n const typeProps = valueContext.type === 'single' ? singleProps : undefined;\n return (\n <Toggle\n {...typeProps}\n {...itemProps}\n ref={forwardedRef}\n onPressedChange={(pressed) => {\n if (pressed) {\n valueContext.onItemActivate(value);\n } else {\n valueContext.onItemDeactivate(value);\n }\n }}\n />\n );\n }\n);\n\n/* -----------------------------------------------------------------------------------------------*/\n\nconst Root = ToggleGroup;\nconst Item = ToggleGroupItem;\n\nexport {\n createToggleGroupScope,\n //\n ToggleGroup,\n ToggleGroupItem,\n //\n Root,\n Item,\n};\nexport type { ToggleGroupSingleProps, ToggleGroupMultipleProps, ToggleGroupItemProps };\n"],"names":["createToggleGroupScope","ToggleGroup","ToggleGroupItem","Root","Item","React","createContextScope","Primitive","RovingFocusGroup","createRovingFocusGroupScope","Toggle","useControllableState","useDirection","TOGGLE_GROUP_NAME","createToggleGroupContext","useRovingFocusGroupScope","forwardRef","props","forwardedRef","type","toggleGroupProps","singleProps","multipleProps","Error","ToggleGroupValueProvider","useToggleGroupValueContext","ToggleGroupImplSingle","value","valueProp","defaultValue","onValueChange","toggleGroupSingleProps","setValue","prop","defaultProp","onChange","__scopeToggleGroup","useCallback","ToggleGroupImplMultiple","toggleGroupMultipleProps","handleButtonActivate","itemValue","prevValue","handleButtonDeactivate","filter","ToggleGroupContext","useToggleGroupContext","ToggleGroupImpl","disabled","rovingFocus","orientation","dir","loop","rovingFocusGroupScope","direction","commonProps","role","ITEM_NAME","valueContext","context","pressed","includes","ref","useRef","ToggleGroupItemImpl","itemProps","undefined","typeProps","onItemActivate","onItemDeactivate"],"version":3,"file":"index.mjs.map"}
|