@radix-ui/react-toggle-group 0.0.10 → 0.1.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/dist/index.d.ts CHANGED
@@ -1,15 +1,16 @@
1
+ import React from "react";
2
+ import * as Radix from "@radix-ui/react-primitive";
3
+ import { Primitive } from "@radix-ui/react-primitive";
1
4
  import { RovingFocusGroup } from "@radix-ui/react-roving-focus";
2
5
  import { Toggle } from "@radix-ui/react-toggle";
3
- import * as Polymorphic from "@radix-ui/react-polymorphic";
4
- declare const TOGGLE_GROUP_DEFAULT_TAG = "div";
5
- type ToggleGroupOwnProps = Polymorphic.OwnProps<typeof ToggleGroupSingle> | Polymorphic.OwnProps<typeof ToggleGroupMultiple>;
6
- export type ToggleGroupPrimitive = Polymorphic.ForwardRefComponent<Polymorphic.IntrinsicElement<typeof ToggleGroupSingle> | Polymorphic.IntrinsicElement<typeof ToggleGroupMultiple>, ToggleGroupOwnProps>;
7
- export const ToggleGroup: ToggleGroupPrimitive;
8
- type ToggleGroupSingleOwnProps = Polymorphic.Merge<Polymorphic.OwnProps<typeof ToggleGroupImpl>, {
9
- /**
10
- * Allow only one button to be pressed at a time.
11
- */
6
+ export interface ToggleGroupSingleProps extends ToggleGroupImplSingleProps {
12
7
  type: 'single';
8
+ }
9
+ export interface ToggleGroupMultipleProps extends ToggleGroupImplMultipleProps {
10
+ type: 'multiple';
11
+ }
12
+ export const ToggleGroup: React.ForwardRefExoticComponent<(ToggleGroupSingleProps & React.RefAttributes<HTMLDivElement>) | (ToggleGroupMultipleProps & React.RefAttributes<HTMLDivElement>)>;
13
+ interface ToggleGroupImplSingleProps extends ToggleGroupImplProps {
13
14
  /**
14
15
  * The controlled stateful value of the item that is pressed.
15
16
  */
@@ -23,14 +24,8 @@ type ToggleGroupSingleOwnProps = Polymorphic.Merge<Polymorphic.OwnProps<typeof T
23
24
  * The callback that fires when the value of the toggle group changes.
24
25
  */
25
26
  onValueChange?(value: string): void;
26
- }>;
27
- type ToggleGroupSinglePrimitive = Polymorphic.ForwardRefComponent<Polymorphic.IntrinsicElement<typeof ToggleGroupImpl>, ToggleGroupSingleOwnProps>;
28
- declare const ToggleGroupSingle: ToggleGroupSinglePrimitive;
29
- type ToggleGroupMultipleOwnProps = Polymorphic.Merge<Polymorphic.OwnProps<typeof ToggleGroupImpl>, {
30
- /**
31
- * Allow mutltiple items to be pressed at the same time.
32
- */
33
- type: 'multiple';
27
+ }
28
+ interface ToggleGroupImplMultipleProps extends ToggleGroupImplProps {
34
29
  /**
35
30
  * The controlled stateful value of the items that are pressed.
36
31
  */
@@ -44,10 +39,10 @@ type ToggleGroupMultipleOwnProps = Polymorphic.Merge<Polymorphic.OwnProps<typeof
44
39
  * The callback that fires when the state of the toggle group changes.
45
40
  */
46
41
  onValueChange?(value: string[]): void;
47
- }>;
48
- type ToggleGroupMultiplePrimitive = Polymorphic.ForwardRefComponent<Polymorphic.IntrinsicElement<typeof ToggleGroupImpl>, ToggleGroupMultipleOwnProps>;
49
- declare const ToggleGroupMultiple: ToggleGroupMultiplePrimitive;
50
- type ToggleGroupImplOwnProps = Polymorphic.Merge<Omit<Polymorphic.OwnProps<typeof RovingFocusGroup>, 'currentTabStopId' | 'defaultCurrentTabStopId' | 'onCurrentTabStopIdChange' | 'onEntryFocus'>, {
42
+ }
43
+ type RovingFocusGroupProps = Radix.ComponentPropsWithoutRef<typeof RovingFocusGroup>;
44
+ type PrimitiveDivProps = Radix.ComponentPropsWithoutRef<typeof Primitive.div>;
45
+ interface ToggleGroupImplProps extends PrimitiveDivProps {
51
46
  /**
52
47
  * Whether the group is disabled from user interaction.
53
48
  * @defaultValue false
@@ -58,24 +53,21 @@ type ToggleGroupImplOwnProps = Polymorphic.Merge<Omit<Polymorphic.OwnProps<typeo
58
53
  * @defaultValue true
59
54
  */
60
55
  rovingFocus?: boolean;
61
- }>;
62
- type ToggleGroupImplPrimitive = Polymorphic.ForwardRefComponent<typeof TOGGLE_GROUP_DEFAULT_TAG, ToggleGroupImplOwnProps>;
63
- declare const ToggleGroupImpl: ToggleGroupImplPrimitive;
64
- type ToggleGroupItemOwnProps = Omit<Polymorphic.OwnProps<typeof ToggleGroupRovingFocusItem> | Polymorphic.OwnProps<typeof ToggleGroupItemImpl>, 'pressed'>;
65
- export type ToggleGroupItemPrimitive = Polymorphic.ForwardRefComponent<Polymorphic.IntrinsicElement<typeof ToggleGroupRovingFocusItem> | Polymorphic.IntrinsicElement<typeof ToggleGroupItemImpl>, ToggleGroupItemOwnProps>;
66
- export const ToggleGroupItem: ToggleGroupItemPrimitive;
67
- type ToggleGroupRovingFocusItemOwnProps = Polymorphic.OwnProps<typeof ToggleGroupItemImpl>;
68
- type ToggleGroupRovingFocusItemPrimitive = Polymorphic.ForwardRefComponent<Polymorphic.IntrinsicElement<typeof ToggleGroupItemImpl>, ToggleGroupRovingFocusItemOwnProps>;
69
- declare const ToggleGroupRovingFocusItem: ToggleGroupRovingFocusItemPrimitive;
70
- type ToggleGroupItemImplOwnProps = Polymorphic.Merge<Omit<Polymorphic.OwnProps<typeof Toggle>, 'defaultPressed' | 'onPressedChange'>, {
56
+ loop?: RovingFocusGroupProps['loop'];
57
+ orientation?: RovingFocusGroupProps['orientation'];
58
+ dir?: RovingFocusGroupProps['dir'];
59
+ }
60
+ export interface ToggleGroupItemProps extends Omit<ToggleGroupItemImplProps, 'pressed'> {
61
+ }
62
+ export const ToggleGroupItem: React.ForwardRefExoticComponent<ToggleGroupItemProps & React.RefAttributes<HTMLButtonElement>>;
63
+ type ToggleProps = Radix.ComponentPropsWithoutRef<typeof Toggle>;
64
+ interface ToggleGroupItemImplProps extends Omit<ToggleProps, 'defaultPressed' | 'onPressedChange'> {
71
65
  /**
72
66
  * A string value for the toggle group item. All items within a toggle group should use a unique value.
73
67
  */
74
68
  value: string;
75
- }>;
76
- type ToggleGroupItemImplPrimitive = Polymorphic.ForwardRefComponent<Polymorphic.IntrinsicElement<typeof Toggle>, ToggleGroupItemImplOwnProps>;
77
- declare const ToggleGroupItemImpl: ToggleGroupItemImplPrimitive;
78
- export const Root: ToggleGroupPrimitive;
79
- export const Item: ToggleGroupItemPrimitive;
69
+ }
70
+ export const Root: React.ForwardRefExoticComponent<(ToggleGroupSingleProps & React.RefAttributes<HTMLDivElement>) | (ToggleGroupMultipleProps & React.RefAttributes<HTMLDivElement>)>;
71
+ export const Item: React.ForwardRefExoticComponent<ToggleGroupItemProps & React.RefAttributes<HTMLButtonElement>>;
80
72
 
81
73
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"mappings":"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","sources":["./packages/react/toggle-group/src/packages/react/toggle-group/src/ToggleGroup.tsx","./packages/react/toggle-group/src/packages/react/toggle-group/src/index.ts"],"sourcesContent":[null,null],"names":[],"version":3,"file":"index.d.ts.map"}
1
+ {"mappings":"A;A;A;A;A;AAgBA,uCAAiC,SAAQ,0BAA0B;IACjE,IAAI,EAAE,QAAQ,CAAC;CAChB;AACD,yCAAmC,SAAQ,4BAA4B;IACrE,IAAI,EAAE,UAAU,CAAC;CAClB;AAED,OAAA,MAAM,+KAiBJ,CAAC;AAgBH,oCAAqC,SAAQ,oBAAoB;IAC/D;A;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;A;A;OAGG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB;A;OAEG;IACH,aAAa,CAAC,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;CACrC;AA+BD,sCAAuC,SAAQ,oBAAoB;IACjE;A;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB;A;A;OAGG;IACH,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB;A;OAEG;IACH,aAAa,CAAC,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;CACvC;AAiDD,6BAA6B,MAAM,wBAAwB,CAAC,uBAAuB,CAAC,CAAC;AAErF,yBAAyB,MAAM,wBAAwB,CAAC,OAAO,UAAU,GAAG,CAAC,CAAC;AAC9E,8BAA+B,SAAQ,iBAAiB;IACtD;A;A;OAGG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;A;A;OAGG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,IAAI,CAAC,EAAE,qBAAqB,CAAC,MAAM,CAAC,CAAC;IACrC,WAAW,CAAC,EAAE,qBAAqB,CAAC,aAAa,CAAC,CAAC;IACnD,GAAG,CAAC,EAAE,qBAAqB,CAAC,KAAK,CAAC,CAAC;CACpC;AAkCD,qCAA+B,SAAQ,IAAI,CAAC,wBAAwB,EAAE,SAAS,CAAC;CAAG;AAEnF,OAAA,MAAM,+GAgBL,CAAC;AAOF,mBAAmB,MAAM,wBAAwB,CAAC,aAAa,CAAC,CAAC;AACjE,kCAAmC,SAAQ,IAAI,CAAC,WAAW,EAAE,gBAAgB,GAAG,iBAAiB,CAAC;IAChG;A;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;CACf;AAwBD,OAAA,MAAM,wKAAkB,CAAC;AACzB,OAAA,MAAM,oGAAsB,CAAC","sources":["./packages/react/toggle-group/src/packages/react/toggle-group/src/ToggleGroup.tsx","./packages/react/toggle-group/src/packages/react/toggle-group/src/index.ts"],"sourcesContent":[null,null],"names":[],"version":3,"file":"index.d.ts.map"}
package/dist/index.js CHANGED
@@ -1,2 +1,2 @@
1
- var e=require("@radix-ui/react-use-controllable-state").useControllableState,r=require("@radix-ui/react-toggle").Toggle,t=require("@radix-ui/react-slot").Slot,o=require("@radix-ui/react-roving-focus"),a=o.RovingFocusGroup,l=o.RovingFocusItem,n=require("@radix-ui/react-primitive").Primitive,u=require("@radix-ui/react-context").createContext,i=s(require("react")),c=s(require("@babel/runtime/helpers/extends"));function s(e){return e&&e.__esModule?e.default:e}const d="div",f=/*#__PURE__*/i.forwardRef(((e,r)=>{if("single"===e.type)/*#__PURE__*/return i.createElement(m,c({},e,{ref:r}));if("multiple"===e.type)/*#__PURE__*/return i.createElement(v,c({},e,{ref:r}));throw new Error("Missing prop `type` expected on `ToggleGroup`")}));exports.ToggleGroup=f;const[g,p]=u("ToggleGroup"),m=/*#__PURE__*/i.forwardRef(((r,t)=>{const{value:o,defaultValue:a,onValueChange:l=(()=>{}),...n}=r,[u,s]=e({prop:o,defaultProp:a,onChange:l});/*#__PURE__*/return i.createElement(g,{value:u?[u]:[],onItemActivate:s,onItemDeactivate:i.useCallback((()=>s("")),[s])},/*#__PURE__*/i.createElement(x,c({},n,{ref:t})))})),v=/*#__PURE__*/i.forwardRef(((r,t)=>{const{value:o,defaultValue:a,onValueChange:l=(()=>{}),...n}=r,[u=[],s]=e({prop:o,defaultProp:a,onChange:l}),d=i.useCallback((e=>s(((r=[])=>[...r,e]))),[s]),f=i.useCallback((e=>s(((r=[])=>r.filter((r=>r!==e))))),[s]);/*#__PURE__*/return i.createElement(g,{value:u,onItemActivate:d,onItemDeactivate:f},/*#__PURE__*/i.createElement(x,c({},n,{ref:t})))})),[b,E]=u("ToggleGroup"),x=/*#__PURE__*/i.forwardRef(((e,r)=>{const{as:t=d,disabled:o=!1,rovingFocus:l=!0,orientation:u,dir:s="ltr",loop:f=!0,...g}=e;/*#__PURE__*/return i.createElement(b,{rovingFocus:l,disabled:o},l?/*#__PURE__*/i.createElement(a,c({role:"group",orientation:u,dir:s,loop:f},g,{as:t,ref:r})):/*#__PURE__*/i.createElement(n,c({role:"group"},g,{as:t,ref:r})))})),I=/*#__PURE__*/i.forwardRef(((e,r)=>{const t=p("ToggleGroupItem"),o=E("ToggleGroupItem"),a=t.value.includes(e.value),l=o.disabled||e.disabled;return o.rovingFocus?/*#__PURE__*/i.createElement(C,c({},e,{ref:r,pressed:a,disabled:l})):/*#__PURE__*/i.createElement(R,c({},e,{ref:r,pressed:a,disabled:l}))}));exports.ToggleGroupItem=I;const C=/*#__PURE__*/i.forwardRef(((e,r)=>/*#__PURE__*/i.createElement(l,{as:t,focusable:!e.disabled,active:e.pressed},/*#__PURE__*/i.createElement(R,c({},e,{ref:r}))))),R=/*#__PURE__*/i.forwardRef(((e,t)=>{const{value:o,...a}=e,l=p("ToggleGroupItem");/*#__PURE__*/return i.createElement(r,c({},a,{ref:t,onPressedChange:e=>{e?l.onItemActivate(o):l.onItemDeactivate(o)}}))})),w=f;exports.Root=w;const G=I;exports.Item=G;
1
+ var e=require("@radix-ui/react-use-controllable-state").useControllableState,r=require("@radix-ui/react-toggle").Toggle,t=require("@radix-ui/react-roving-focus"),o=t.RovingFocusGroup,a=t.RovingFocusItem,l=require("@radix-ui/react-primitive").Primitive,n=require("@radix-ui/react-context").createContext,u=c(require("react")),i=c(require("@babel/runtime/helpers/extends"));function c(e){return e&&e.__esModule?e.default:e}const s=/*#__PURE__*/u.forwardRef(((e,r)=>{const{type:t,...o}=e;if("single"===t){const e=o;/*#__PURE__*/return u.createElement(g,i({},e,{ref:r}))}if("multiple"===t){const e=o;/*#__PURE__*/return u.createElement(p,i({},e,{ref:r}))}throw new Error("Missing prop `type` expected on `ToggleGroup`")}));exports.ToggleGroup=s;const[d,f]=n("ToggleGroup"),g=/*#__PURE__*/u.forwardRef(((r,t)=>{const{value:o,defaultValue:a,onValueChange:l=(()=>{}),...n}=r,[c,s]=e({prop:o,defaultProp:a,onChange:l});/*#__PURE__*/return u.createElement(d,{value:c?[c]:[],onItemActivate:s,onItemDeactivate:u.useCallback((()=>s("")),[s])},/*#__PURE__*/u.createElement(E,i({},n,{ref:t})))})),p=/*#__PURE__*/u.forwardRef(((r,t)=>{const{value:o,defaultValue:a,onValueChange:l=(()=>{}),...n}=r,[c=[],s]=e({prop:o,defaultProp:a,onChange:l}),f=u.useCallback((e=>s(((r=[])=>[...r,e]))),[s]),g=u.useCallback((e=>s(((r=[])=>r.filter((r=>r!==e))))),[s]);/*#__PURE__*/return u.createElement(d,{value:c,onItemActivate:f,onItemDeactivate:g},/*#__PURE__*/u.createElement(E,i({},n,{ref:t})))})),[m,v]=n("ToggleGroup"),E=/*#__PURE__*/u.forwardRef(((e,r)=>{const{disabled:t=!1,rovingFocus:a=!0,orientation:n,dir:c="ltr",loop:s=!0,...d}=e,f={role:"group",dir:c,...d};/*#__PURE__*/return u.createElement(m,{rovingFocus:a,disabled:t},a?/*#__PURE__*/u.createElement(o,{asChild:!0,orientation:n,dir:c,loop:s},/*#__PURE__*/u.createElement(l.div,i({},f,{ref:r}))):/*#__PURE__*/u.createElement(l.div,i({},f,{ref:r})))})),b=/*#__PURE__*/u.forwardRef(((e,r)=>{const t=f("ToggleGroupItem"),o=v("ToggleGroupItem"),l=t.value.includes(e.value),n=o.disabled||e.disabled,c={...e,pressed:l,disabled:n},s=u.useRef(null);return o.rovingFocus?/*#__PURE__*/u.createElement(a,{asChild:!0,focusable:!n,active:l,ref:s},/*#__PURE__*/u.createElement(x,i({},c,{ref:r}))):/*#__PURE__*/u.createElement(x,i({},c,{ref:r}))}));exports.ToggleGroupItem=b;const x=/*#__PURE__*/u.forwardRef(((e,t)=>{const{value:o,...a}=e,l=f("ToggleGroupItem");/*#__PURE__*/return u.createElement(r,i({},a,{ref:t,onPressedChange:e=>{e?l.onItemActivate(o):l.onItemDeactivate(o)}}))})),C=s;exports.Root=C;const I=b;exports.Item=I;
2
2
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"mappings":"2ZAAA,SAASA,EAAuBC,GAC9B,OAAOA,GAAKA,EAAEC,WAAaD,EAAEE,QAAUF,ECazC,MACMG,EAA2B,MAY3BC,eAAcC,EAAMC,YAAW,CAACC,EAAOC,KAC3C,GAAmB,WAAfD,EAAME,kBACR,OAAOC,EAAAC,cAACC,EAADC,EAAA,GAAuBN,EAAvB,CAA8BO,IAAKN,KAG5C,GAAmB,aAAfD,EAAME,kBACR,OAAOC,EAAAC,cAACI,EAADF,EAAA,GAAyBN,EAAzB,CAAgCO,IAAKN,KAG9C,MAAM,IAAIQ,MAAO,0EAanB,MACEC,EACAC,GACEC,EAtCsB,eAoEpBC,eAAoBf,EAAMC,YAAW,CAACC,EAAOC,KACjD,MACEa,MAAOC,EADHC,aAEJA,EAFIC,cAGJA,EAAgB,YACbC,GACDlB,GAEGc,EAAOK,GAAYC,EAAqB,CAC7CC,KAAMN,EACNO,YAAaN,EACbO,SAAUN,iBAGZ,OACEd,EAAAC,cAACoB,EAAD,CACEV,MAAOA,EAAQ,CAACA,GAAS,GACzBW,eAAgBN,EAChBO,iBAAkB5B,EAAM6B,aAAY,IAAMR,EAAS,KAAK,CAACA,kBAEzDhB,EAAAC,cAACwB,EAADtB,EAAA,GAAqBY,EAArB,CAA6CX,IAAKN,SAiClD4B,eAAsB/B,EAAMC,YAAW,CAACC,EAAOC,KACnD,MACEa,MAAOC,EADHC,aAEJA,EAFIC,cAGJA,EAAgB,YACba,GACD9B,GAEGc,EAAQ,GAAIK,GAAYC,EAAqB,CAClDC,KAAMN,EACNO,YAAaN,EACbO,SAAUN,IAGNc,EAAuBjC,EAAM6B,aAChCK,GAAcb,GAAS,CAACc,EAAY,KAAO,IAAIA,EAAWD,MAC3D,CAACb,IAGGe,EAAyBpC,EAAM6B,aAClCK,GAAcb,GAAS,CAACc,EAAY,KAAOA,EAAUE,QAAQrB,GAAUA,IAAUkB,OAClF,CAACb,iBAGH,OACEhB,EAAAC,cAACoB,EAAD,CACEV,MAAOA,EACPW,eAAgBM,EAChBL,iBAAkBQ,gBAElB/B,EAAAC,cAACwB,EAADtB,EAAA,GAAqBwB,EAArB,CAA+CvB,IAAKN,UAWnDmC,EAAoBC,GAAyBzB,EAlK1B,eA8LpB0B,eAAkBxC,EAAMC,YAAW,CAACC,EAAOC,KAC/C,MAAMsC,GACJA,EAAK3C,EADD4C,SAEJA,GAAW,EAFPC,YAGJA,GAAc,EAHVC,YAIJA,EAJIC,IAKJA,EAAM,MALFC,KAMJA,GAAO,KACJC,GACD7C,eACJ,OACEG,EAAAC,cAAC0C,EAAD,CAAoBL,YAAaA,EAAaD,SAAUA,GACrDC,eACCtC,EAAAC,cAAC2C,EAADzC,EAAA,CACE0C,KAAK,QACLN,YAAaA,EACbC,IAAKA,EACLC,KAAMA,GACFC,EALN,CAMEN,GAAIA,EACJhC,IAAKN,kBAGPE,EAAAC,cAAC6C,EAAD3C,EAAA,CAAW0C,KAAK,SAAYH,EAA5B,CAA8CN,GAAIA,EAAIhC,IAAKN,SAwB7DiD,eAAkBpD,EAAMC,YAAW,CAACC,EAAOC,KAC/C,MAAMkD,EAAexC,EAfL,mBAgBVyC,EAAUf,EAhBA,mBAiBVgB,EAAUF,EAAarC,MAAMwC,SAAStD,EAAMc,OAC5C0B,EAAWY,EAAQZ,UAAYxC,EAAMwC,SAE3C,OAAOY,EAAQX,yBACbtC,EAAAC,cAACmD,EAADjD,EAAA,GACMN,EADN,CAEEO,IAAKN,EACLoD,QAASA,EACTb,SAAUA,kBAGZrC,EAAAC,cAACoD,EAADlD,EAAA,GAAyBN,EAAzB,CAAgCO,IAAKN,EAAcoD,QAASA,EAASb,SAAUA,kCAenF,MAAMiB,eAA6B3D,EAAMC,YAAW,CAACC,EAAOC,iBAExDE,EAAAC,cAACsD,EAAD,CAAiBnB,GAAIoB,EAAMC,WAAY5D,EAAMwC,SAAUqB,OAAQ7D,EAAMqD,sBACnElD,EAAAC,cAACoD,EAADlD,EAAA,GAAyBN,EAAzB,CAAgCO,IAAKN,QAsBrC6D,eAAsBhE,EAAMC,YAAW,CAACC,EAAOC,KACnD,MAAMa,MAAEA,KAAUiD,GAAc/D,EAC1BmD,EAAexC,EAtEL,gCAwEhB,OACER,EAAAC,cAAC4D,EAAD1D,EAAA,GACMyD,EADN,CAEExD,IAAKN,EACLgE,gBAAkBZ,IACZA,EACFF,EAAa1B,eAAeX,GAE5BqC,EAAazB,iBAAiBZ,UASlCoD,EAAOrE,iBACb,MAAMsE,EAAOjB","sources":["./node_modules/@parcel/scope-hoisting/lib/helpers.js","./packages/react/toggle-group/src/ToggleGroup.tsx"],"sourcesContent":["function $parcel$interopDefault(a) {\n return a && a.__esModule ? a.default : a;\n}\n\nfunction $parcel$defineInteropFlag(a) {\n Object.defineProperty(a, '__esModule', {value: true});\n}\n\nfunction $parcel$reexport(e, n, v) {\n Object.defineProperty(e, n, {get: v, enumerable: true});\n}\n\nfunction $parcel$exportWildcard(dest, source) {\n Object.keys(source).forEach(function(key) {\n if (key === 'default' || key === '__esModule') {\n return;\n }\n\n Object.defineProperty(dest, key, {\n enumerable: true,\n get: function get() {\n return source[key];\n },\n });\n });\n\n return dest;\n}\n\nfunction $parcel$missingModule(name) {\n var err = new Error(\"Cannot find module '\" + name + \"'\");\n err.code = 'MODULE_NOT_FOUND';\n throw err;\n}\n\nvar $parcel$global =\n typeof globalThis !== 'undefined'\n ? globalThis\n : typeof self !== 'undefined'\n ? self\n : typeof window !== 'undefined'\n ? window\n : typeof global !== 'undefined'\n ? global\n : {};\n","import React from 'react';\nimport { createContext } from '@radix-ui/react-context';\nimport { Primitive } from '@radix-ui/react-primitive';\nimport { RovingFocusGroup, RovingFocusItem } from '@radix-ui/react-roving-focus';\nimport { Slot } from '@radix-ui/react-slot';\nimport { Toggle } from '@radix-ui/react-toggle';\nimport { useControllableState } from '@radix-ui/react-use-controllable-state';\n\nimport type * as Polymorphic from '@radix-ui/react-polymorphic';\n\n/* -------------------------------------------------------------------------------------------------\n * ToggleGroup\n * -----------------------------------------------------------------------------------------------*/\n\nconst TOGGLE_GROUP_NAME = 'ToggleGroup';\nconst TOGGLE_GROUP_DEFAULT_TAG = 'div';\n\ntype ToggleGroupOwnProps =\n | Polymorphic.OwnProps<typeof ToggleGroupSingle>\n | Polymorphic.OwnProps<typeof ToggleGroupMultiple>;\n\ntype ToggleGroupPrimitive = Polymorphic.ForwardRefComponent<\n | Polymorphic.IntrinsicElement<typeof ToggleGroupSingle>\n | Polymorphic.IntrinsicElement<typeof ToggleGroupMultiple>,\n ToggleGroupOwnProps\n>;\n\nconst ToggleGroup = React.forwardRef((props, forwardedRef) => {\n if (props.type === 'single') {\n return <ToggleGroupSingle {...props} ref={forwardedRef} />;\n }\n\n if (props.type === 'multiple') {\n return <ToggleGroupMultiple {...props} ref={forwardedRef} />;\n }\n\n throw new Error(`Missing prop \\`type\\` expected on \\`${TOGGLE_GROUP_NAME}\\``);\n}) as ToggleGroupPrimitive;\n\nToggleGroup.displayName = TOGGLE_GROUP_NAME;\n\n/* -----------------------------------------------------------------------------------------------*/\n\ntype ToggleGroupValueContextValue = {\n value: string[];\n onItemActivate(value: string): void;\n onItemDeactivate(value: string): void;\n};\n\nconst [\n ToggleGroupValueProvider,\n useToggleGroupValueContext,\n] = createContext<ToggleGroupValueContextValue>(TOGGLE_GROUP_NAME);\n\ntype ToggleGroupSingleOwnProps = Polymorphic.Merge<\n Polymorphic.OwnProps<typeof ToggleGroupImpl>,\n {\n /**\n * Allow only one button to be pressed at a time.\n */\n type: 'single';\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>;\n\ntype ToggleGroupSinglePrimitive = Polymorphic.ForwardRefComponent<\n Polymorphic.IntrinsicElement<typeof ToggleGroupImpl>,\n ToggleGroupSingleOwnProps\n>;\n\nconst ToggleGroupSingle = React.forwardRef((props, 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 value={value ? [value] : []}\n onItemActivate={setValue}\n onItemDeactivate={React.useCallback(() => setValue(''), [setValue])}\n >\n <ToggleGroupImpl {...toggleGroupSingleProps} ref={forwardedRef} />\n </ToggleGroupValueProvider>\n );\n}) as ToggleGroupSinglePrimitive;\n\ntype ToggleGroupMultipleOwnProps = Polymorphic.Merge<\n Polymorphic.OwnProps<typeof ToggleGroupImpl>,\n {\n /**\n * Allow mutltiple items to be pressed at the same time.\n */\n type: 'multiple';\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>;\n\ntype ToggleGroupMultiplePrimitive = Polymorphic.ForwardRefComponent<\n Polymorphic.IntrinsicElement<typeof ToggleGroupImpl>,\n ToggleGroupMultipleOwnProps\n>;\n\nconst ToggleGroupMultiple = React.forwardRef((props, 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) => setValue((prevValue = []) => [...prevValue, itemValue]),\n [setValue]\n );\n\n const handleButtonDeactivate = React.useCallback(\n (itemValue) => setValue((prevValue = []) => prevValue.filter((value) => value !== itemValue)),\n [setValue]\n );\n\n return (\n <ToggleGroupValueProvider\n value={value}\n onItemActivate={handleButtonActivate}\n onItemDeactivate={handleButtonDeactivate}\n >\n <ToggleGroupImpl {...toggleGroupMultipleProps} ref={forwardedRef} />\n </ToggleGroupValueProvider>\n );\n}) as ToggleGroupMultiplePrimitive;\n\nToggleGroup.displayName = TOGGLE_GROUP_NAME;\n\n/* -----------------------------------------------------------------------------------------------*/\n\ntype ToggleGroupContextValue = { rovingFocus: boolean; disabled: boolean };\n\nconst [ToggleGroupContext, useToggleGroupContext] = createContext<ToggleGroupContextValue>(\n TOGGLE_GROUP_NAME\n);\n\ntype ToggleGroupImplOwnProps = Polymorphic.Merge<\n Omit<\n Polymorphic.OwnProps<typeof RovingFocusGroup>,\n 'currentTabStopId' | 'defaultCurrentTabStopId' | 'onCurrentTabStopIdChange' | 'onEntryFocus'\n >,\n {\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 }\n>;\n\ntype ToggleGroupImplPrimitive = Polymorphic.ForwardRefComponent<\n typeof TOGGLE_GROUP_DEFAULT_TAG,\n ToggleGroupImplOwnProps\n>;\n\nconst ToggleGroupImpl = React.forwardRef((props, forwardedRef) => {\n const {\n as = TOGGLE_GROUP_DEFAULT_TAG,\n disabled = false,\n rovingFocus = true,\n orientation,\n dir = 'ltr',\n loop = true,\n ...toggleGroupProps\n } = props;\n return (\n <ToggleGroupContext rovingFocus={rovingFocus} disabled={disabled}>\n {rovingFocus ? (\n <RovingFocusGroup\n role=\"group\"\n orientation={orientation}\n dir={dir}\n loop={loop}\n {...toggleGroupProps}\n as={as}\n ref={forwardedRef}\n />\n ) : (\n <Primitive role=\"group\" {...toggleGroupProps} as={as} ref={forwardedRef} />\n )}\n </ToggleGroupContext>\n );\n}) as ToggleGroupImplPrimitive;\n\n/* -------------------------------------------------------------------------------------------------\n * ToggleGroupItem\n * -----------------------------------------------------------------------------------------------*/\n\nconst ITEM_NAME = 'ToggleGroupItem';\n\ntype ToggleGroupItemOwnProps = Omit<\n | Polymorphic.OwnProps<typeof ToggleGroupRovingFocusItem>\n | Polymorphic.OwnProps<typeof ToggleGroupItemImpl>,\n 'pressed'\n>;\n\ntype ToggleGroupItemPrimitive = Polymorphic.ForwardRefComponent<\n | Polymorphic.IntrinsicElement<typeof ToggleGroupRovingFocusItem>\n | Polymorphic.IntrinsicElement<typeof ToggleGroupItemImpl>,\n ToggleGroupItemOwnProps\n>;\n\nconst ToggleGroupItem = React.forwardRef((props, forwardedRef) => {\n const valueContext = useToggleGroupValueContext(ITEM_NAME);\n const context = useToggleGroupContext(ITEM_NAME);\n const pressed = valueContext.value.includes(props.value);\n const disabled = context.disabled || props.disabled;\n\n return context.rovingFocus ? (\n <ToggleGroupRovingFocusItem\n {...props}\n ref={forwardedRef}\n pressed={pressed}\n disabled={disabled}\n />\n ) : (\n <ToggleGroupItemImpl {...props} ref={forwardedRef} pressed={pressed} disabled={disabled} />\n );\n}) as ToggleGroupItemPrimitive;\n\nToggleGroupItem.displayName = ITEM_NAME;\n\n/* -----------------------------------------------------------------------------------------------*/\n\ntype ToggleGroupRovingFocusItemOwnProps = Polymorphic.OwnProps<typeof ToggleGroupItemImpl>;\n\ntype ToggleGroupRovingFocusItemPrimitive = Polymorphic.ForwardRefComponent<\n Polymorphic.IntrinsicElement<typeof ToggleGroupItemImpl>,\n ToggleGroupRovingFocusItemOwnProps\n>;\n\nconst ToggleGroupRovingFocusItem = React.forwardRef((props, forwardedRef) => {\n return (\n <RovingFocusItem as={Slot} focusable={!props.disabled} active={props.pressed}>\n <ToggleGroupItemImpl {...props} ref={forwardedRef} />\n </RovingFocusItem>\n );\n}) as ToggleGroupRovingFocusItemPrimitive;\n\n/* -----------------------------------------------------------------------------------------------*/\n\ntype ToggleGroupItemImplOwnProps = Polymorphic.Merge<\n Omit<Polymorphic.OwnProps<typeof Toggle>, 'defaultPressed' | 'onPressedChange'>,\n {\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>;\n\ntype ToggleGroupItemImplPrimitive = Polymorphic.ForwardRefComponent<\n Polymorphic.IntrinsicElement<typeof Toggle>,\n ToggleGroupItemImplOwnProps\n>;\n\nconst ToggleGroupItemImpl = React.forwardRef((props, forwardedRef) => {\n const { value, ...itemProps } = props;\n const valueContext = useToggleGroupValueContext(ITEM_NAME);\n\n return (\n <Toggle\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}) as ToggleGroupItemImplPrimitive;\n\n/* -----------------------------------------------------------------------------------------------*/\n\nconst Root = ToggleGroup;\nconst Item = ToggleGroupItem;\n\nexport {\n ToggleGroup,\n ToggleGroupItem,\n //\n Root,\n Item,\n};\nexport type { ToggleGroupPrimitive, ToggleGroupItemPrimitive };\n"],"names":["$parcel$interopDefault","a","__esModule","default","TOGGLE_GROUP_DEFAULT_TAG","ToggleGroup","React","forwardRef","props","forwardedRef","type","_react","createElement","$f77bfc2d84e306a2598fbec8af931a$var$ToggleGroupSingle","_babelRuntimeHelpersExtends","ref","$f77bfc2d84e306a2598fbec8af931a$var$ToggleGroupMultiple","Error","ToggleGroupValueProvider","useToggleGroupValueContext","createContext","ToggleGroupSingle","value","valueProp","defaultValue","onValueChange","toggleGroupSingleProps","setValue","useControllableState","prop","defaultProp","onChange","$f77bfc2d84e306a2598fbec8af931a$var$ToggleGroupValueProvider","onItemActivate","onItemDeactivate","useCallback","$f77bfc2d84e306a2598fbec8af931a$var$ToggleGroupImpl","ToggleGroupMultiple","toggleGroupMultipleProps","handleButtonActivate","itemValue","prevValue","handleButtonDeactivate","filter","ToggleGroupContext","useToggleGroupContext","ToggleGroupImpl","as","disabled","rovingFocus","orientation","dir","loop","toggleGroupProps","$f77bfc2d84e306a2598fbec8af931a$var$ToggleGroupContext","RovingFocusGroup","role","Primitive","ToggleGroupItem","valueContext","context","pressed","includes","$f77bfc2d84e306a2598fbec8af931a$var$ToggleGroupRovingFocusItem","$f77bfc2d84e306a2598fbec8af931a$var$ToggleGroupItemImpl","ToggleGroupRovingFocusItem","RovingFocusItem","Slot","focusable","active","ToggleGroupItemImpl","itemProps","Toggle","onPressedChange","Root","Item"],"version":3,"file":"index.js.map"}
1
+ {"mappings":"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","sources":["./node_modules/@parcel/scope-hoisting/lib/helpers.js","./packages/react/toggle-group/src/ToggleGroup.tsx"],"sourcesContent":["function $parcel$interopDefault(a) {\n return a && a.__esModule ? a.default : a;\n}\n\nfunction $parcel$defineInteropFlag(a) {\n Object.defineProperty(a, '__esModule', {value: true});\n}\n\nfunction $parcel$reexport(e, n, v) {\n Object.defineProperty(e, n, {get: v, enumerable: true});\n}\n\nfunction $parcel$exportWildcard(dest, source) {\n Object.keys(source).forEach(function(key) {\n if (key === 'default' || key === '__esModule') {\n return;\n }\n\n Object.defineProperty(dest, key, {\n enumerable: true,\n get: function get() {\n return source[key];\n },\n });\n });\n\n return dest;\n}\n\nfunction $parcel$missingModule(name) {\n var err = new Error(\"Cannot find module '\" + name + \"'\");\n err.code = 'MODULE_NOT_FOUND';\n throw err;\n}\n\nvar $parcel$global =\n typeof globalThis !== 'undefined'\n ? globalThis\n : typeof self !== 'undefined'\n ? self\n : typeof window !== 'undefined'\n ? window\n : typeof global !== 'undefined'\n ? global\n : {};\n","import React from 'react';\nimport { createContext } from '@radix-ui/react-context';\nimport { Primitive } from '@radix-ui/react-primitive';\nimport { RovingFocusGroup, RovingFocusItem } from '@radix-ui/react-roving-focus';\nimport { Toggle } from '@radix-ui/react-toggle';\nimport { useControllableState } from '@radix-ui/react-use-controllable-state';\n\nimport type * as Radix from '@radix-ui/react-primitive';\n\n/* -------------------------------------------------------------------------------------------------\n * ToggleGroup\n * -----------------------------------------------------------------------------------------------*/\n\nconst TOGGLE_GROUP_NAME = 'ToggleGroup';\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 value: string[];\n onItemActivate(value: string): void;\n onItemDeactivate(value: string): void;\n};\n\nconst [ToggleGroupValueProvider, useToggleGroupValueContext] =\n createContext<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, 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 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, 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) => setValue((prevValue = []) => [...prevValue, itemValue]),\n [setValue]\n );\n\n const handleButtonDeactivate = React.useCallback(\n (itemValue) => setValue((prevValue = []) => prevValue.filter((value) => value !== itemValue)),\n [setValue]\n );\n\n return (\n <ToggleGroupValueProvider\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 createContext<ToggleGroupContextValue>(TOGGLE_GROUP_NAME);\n\ntype RovingFocusGroupProps = Radix.ComponentPropsWithoutRef<typeof RovingFocusGroup>;\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, forwardedRef) => {\n const {\n disabled = false,\n rovingFocus = true,\n orientation,\n dir = 'ltr',\n loop = true,\n ...toggleGroupProps\n } = props;\n const commonProps = { role: 'group', dir, ...toggleGroupProps };\n return (\n <ToggleGroupContext rovingFocus={rovingFocus} disabled={disabled}>\n {rovingFocus ? (\n <RovingFocusGroup asChild orientation={orientation} dir={dir} loop={loop}>\n <Primitive.div {...commonProps} ref={forwardedRef} />\n </RovingFocusGroup>\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, forwardedRef) => {\n const valueContext = useToggleGroupValueContext(ITEM_NAME);\n const context = useToggleGroupContext(ITEM_NAME);\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 <RovingFocusItem asChild focusable={!disabled} active={pressed} ref={ref}>\n <ToggleGroupItemImpl {...commonProps} ref={forwardedRef} />\n </RovingFocusItem>\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, forwardedRef) => {\n const { value, ...itemProps } = props;\n const valueContext = useToggleGroupValueContext(ITEM_NAME);\n return (\n <Toggle\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 ToggleGroup,\n ToggleGroupItem,\n //\n Root,\n Item,\n};\nexport type { ToggleGroupSingleProps, ToggleGroupMultipleProps, ToggleGroupItemProps };\n"],"names":["$parcel$interopDefault","a","__esModule","default","ToggleGroup","React","forwardRef","props","forwardedRef","type","toggleGroupProps","singleProps","_react","createElement","$f77bfc2d84e306a2598fbec8af931a$var$ToggleGroupImplSingle","_babelRuntimeHelpersExtends","ref","multipleProps","$f77bfc2d84e306a2598fbec8af931a$var$ToggleGroupImplMultiple","Error","ToggleGroupValueProvider","useToggleGroupValueContext","createContext","ToggleGroupImplSingle","value","valueProp","defaultValue","onValueChange","toggleGroupSingleProps","setValue","useControllableState","prop","defaultProp","onChange","$f77bfc2d84e306a2598fbec8af931a$var$ToggleGroupValueProvider","onItemActivate","onItemDeactivate","useCallback","$f77bfc2d84e306a2598fbec8af931a$var$ToggleGroupImpl","ToggleGroupImplMultiple","toggleGroupMultipleProps","handleButtonActivate","itemValue","prevValue","handleButtonDeactivate","filter","ToggleGroupContext","useToggleGroupContext","ToggleGroupImpl","disabled","rovingFocus","orientation","dir","loop","commonProps","role","$f77bfc2d84e306a2598fbec8af931a$var$ToggleGroupContext","RovingFocusGroup","asChild","Primitive","div","ToggleGroupItem","valueContext","context","pressed","includes","useRef","RovingFocusItem","focusable","active","$f77bfc2d84e306a2598fbec8af931a$var$ToggleGroupItemImpl","ToggleGroupItemImpl","itemProps","Toggle","onPressedChange","Root","Item"],"version":3,"file":"index.js.map"}
@@ -1,2 +1,2 @@
1
- import{useControllableState as e}from"@radix-ui/react-use-controllable-state";import{Toggle as r}from"@radix-ui/react-toggle";import{Slot as t}from"@radix-ui/react-slot";import{RovingFocusGroup as o,RovingFocusItem as a}from"@radix-ui/react-roving-focus";import{Primitive as l}from"@radix-ui/react-primitive";import{createContext as n}from"@radix-ui/react-context";import i from"react";import c from"@babel/runtime/helpers/esm/extends";const u="div";export const ToggleGroup=/*#__PURE__*/i.forwardRef(((e,r)=>{if("single"===e.type)/*#__PURE__*/return i.createElement(p,c({},e,{ref:r}));if("multiple"===e.type)/*#__PURE__*/return i.createElement(d,c({},e,{ref:r}));throw new Error("Missing prop `type` expected on `ToggleGroup`")}));/*#__PURE__*/const[s,m]=n("ToggleGroup"),p=/*#__PURE__*/i.forwardRef(((r,t)=>{const{value:o,defaultValue:a,onValueChange:l=(()=>{}),...n}=r,[u,m]=e({prop:o,defaultProp:a,onChange:l});/*#__PURE__*/return i.createElement(s,{value:u?[u]:[],onItemActivate:m,onItemDeactivate:i.useCallback((()=>m("")),[m])},/*#__PURE__*/i.createElement(v,c({},n,{ref:t})))})),d=/*#__PURE__*/i.forwardRef(((r,t)=>{const{value:o,defaultValue:a,onValueChange:l=(()=>{}),...n}=r,[u=[],m]=e({prop:o,defaultProp:a,onChange:l}),p=i.useCallback((e=>m(((r=[])=>[...r,e]))),[m]),d=i.useCallback((e=>m(((r=[])=>r.filter((r=>r!==e))))),[m]);/*#__PURE__*/return i.createElement(s,{value:u,onItemActivate:p,onItemDeactivate:d},/*#__PURE__*/i.createElement(v,c({},n,{ref:t})))})),[f,g]=n("ToggleGroup"),v=/*#__PURE__*/i.forwardRef(((e,r)=>{const{as:t=u,disabled:a=!1,rovingFocus:n=!0,orientation:s,dir:m="ltr",loop:p=!0,...d}=e;/*#__PURE__*/return i.createElement(f,{rovingFocus:n,disabled:a},n?/*#__PURE__*/i.createElement(o,c({role:"group",orientation:s,dir:m,loop:p},d,{as:t,ref:r})):/*#__PURE__*/i.createElement(l,c({role:"group"},d,{as:t,ref:r})))}));export const ToggleGroupItem=/*#__PURE__*/i.forwardRef(((e,r)=>{const t=m("ToggleGroupItem"),o=g("ToggleGroupItem"),a=t.value.includes(e.value),l=o.disabled||e.disabled;return o.rovingFocus?/*#__PURE__*/i.createElement(E,c({},e,{ref:r,pressed:a,disabled:l})):/*#__PURE__*/i.createElement(b,c({},e,{ref:r,pressed:a,disabled:l}))}));/*#__PURE__*/const E=/*#__PURE__*/i.forwardRef(((e,r)=>/*#__PURE__*/i.createElement(a,{as:t,focusable:!e.disabled,active:e.pressed},/*#__PURE__*/i.createElement(b,c({},e,{ref:r}))))),b=/*#__PURE__*/i.forwardRef(((e,t)=>{const{value:o,...a}=e,l=m("ToggleGroupItem");/*#__PURE__*/return i.createElement(r,c({},a,{ref:t,onPressedChange:e=>{e?l.onItemActivate(o):l.onItemDeactivate(o)}}))}));export const Root=ToggleGroup;export const Item=ToggleGroupItem;
1
+ import{useControllableState as e}from"@radix-ui/react-use-controllable-state";import{Toggle as r}from"@radix-ui/react-toggle";import{RovingFocusGroup as t,RovingFocusItem as o}from"@radix-ui/react-roving-focus";import{Primitive as a}from"@radix-ui/react-primitive";import{createContext as l}from"@radix-ui/react-context";import n from"react";import i from"@babel/runtime/helpers/esm/extends";export const ToggleGroup=/*#__PURE__*/n.forwardRef(((e,r)=>{const{type:t,...o}=e;if("single"===t){const e=o;/*#__PURE__*/return n.createElement(m,i({},e,{ref:r}))}if("multiple"===t){const e=o;/*#__PURE__*/return n.createElement(s,i({},e,{ref:r}))}throw new Error("Missing prop `type` expected on `ToggleGroup`")}));/*#__PURE__*/const[c,u]=l("ToggleGroup"),m=/*#__PURE__*/n.forwardRef(((r,t)=>{const{value:o,defaultValue:a,onValueChange:l=(()=>{}),...u}=r,[m,s]=e({prop:o,defaultProp:a,onChange:l});/*#__PURE__*/return n.createElement(c,{value:m?[m]:[],onItemActivate:s,onItemDeactivate:n.useCallback((()=>s("")),[s])},/*#__PURE__*/n.createElement(d,i({},u,{ref:t})))})),s=/*#__PURE__*/n.forwardRef(((r,t)=>{const{value:o,defaultValue:a,onValueChange:l=(()=>{}),...u}=r,[m=[],s]=e({prop:o,defaultProp:a,onChange:l}),f=n.useCallback((e=>s(((r=[])=>[...r,e]))),[s]),p=n.useCallback((e=>s(((r=[])=>r.filter((r=>r!==e))))),[s]);/*#__PURE__*/return n.createElement(c,{value:m,onItemActivate:f,onItemDeactivate:p},/*#__PURE__*/n.createElement(d,i({},u,{ref:t})))})),[f,p]=l("ToggleGroup"),d=/*#__PURE__*/n.forwardRef(((e,r)=>{const{disabled:o=!1,rovingFocus:l=!0,orientation:c,dir:u="ltr",loop:m=!0,...s}=e,p={role:"group",dir:u,...s};/*#__PURE__*/return n.createElement(f,{rovingFocus:l,disabled:o},l?/*#__PURE__*/n.createElement(t,{asChild:!0,orientation:c,dir:u,loop:m},/*#__PURE__*/n.createElement(a.div,i({},p,{ref:r}))):/*#__PURE__*/n.createElement(a.div,i({},p,{ref:r})))}));export const ToggleGroupItem=/*#__PURE__*/n.forwardRef(((e,r)=>{const t=u("ToggleGroupItem"),a=p("ToggleGroupItem"),l=t.value.includes(e.value),c=a.disabled||e.disabled,m={...e,pressed:l,disabled:c},s=n.useRef(null);return a.rovingFocus?/*#__PURE__*/n.createElement(o,{asChild:!0,focusable:!c,active:l,ref:s},/*#__PURE__*/n.createElement(g,i({},m,{ref:r}))):/*#__PURE__*/n.createElement(g,i({},m,{ref:r}))}));/*#__PURE__*/const g=/*#__PURE__*/n.forwardRef(((e,t)=>{const{value:o,...a}=e,l=u("ToggleGroupItem");/*#__PURE__*/return n.createElement(r,i({},a,{ref:t,onPressedChange:e=>{e?l.onItemActivate(o):l.onItemDeactivate(o)}}))}));export const Root=ToggleGroup;export const Item=ToggleGroupItem;
2
2
  //# sourceMappingURL=index.module.js.map
@@ -1 +1 @@
1
- {"mappings":"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","sources":["./packages/react/toggle-group/src/ToggleGroup.tsx"],"sourcesContent":["import React from 'react';\nimport { createContext } from '@radix-ui/react-context';\nimport { Primitive } from '@radix-ui/react-primitive';\nimport { RovingFocusGroup, RovingFocusItem } from '@radix-ui/react-roving-focus';\nimport { Slot } from '@radix-ui/react-slot';\nimport { Toggle } from '@radix-ui/react-toggle';\nimport { useControllableState } from '@radix-ui/react-use-controllable-state';\n\nimport type * as Polymorphic from '@radix-ui/react-polymorphic';\n\n/* -------------------------------------------------------------------------------------------------\n * ToggleGroup\n * -----------------------------------------------------------------------------------------------*/\n\nconst TOGGLE_GROUP_NAME = 'ToggleGroup';\nconst TOGGLE_GROUP_DEFAULT_TAG = 'div';\n\ntype ToggleGroupOwnProps =\n | Polymorphic.OwnProps<typeof ToggleGroupSingle>\n | Polymorphic.OwnProps<typeof ToggleGroupMultiple>;\n\ntype ToggleGroupPrimitive = Polymorphic.ForwardRefComponent<\n | Polymorphic.IntrinsicElement<typeof ToggleGroupSingle>\n | Polymorphic.IntrinsicElement<typeof ToggleGroupMultiple>,\n ToggleGroupOwnProps\n>;\n\nconst ToggleGroup = React.forwardRef((props, forwardedRef) => {\n if (props.type === 'single') {\n return <ToggleGroupSingle {...props} ref={forwardedRef} />;\n }\n\n if (props.type === 'multiple') {\n return <ToggleGroupMultiple {...props} ref={forwardedRef} />;\n }\n\n throw new Error(`Missing prop \\`type\\` expected on \\`${TOGGLE_GROUP_NAME}\\``);\n}) as ToggleGroupPrimitive;\n\nToggleGroup.displayName = TOGGLE_GROUP_NAME;\n\n/* -----------------------------------------------------------------------------------------------*/\n\ntype ToggleGroupValueContextValue = {\n value: string[];\n onItemActivate(value: string): void;\n onItemDeactivate(value: string): void;\n};\n\nconst [\n ToggleGroupValueProvider,\n useToggleGroupValueContext,\n] = createContext<ToggleGroupValueContextValue>(TOGGLE_GROUP_NAME);\n\ntype ToggleGroupSingleOwnProps = Polymorphic.Merge<\n Polymorphic.OwnProps<typeof ToggleGroupImpl>,\n {\n /**\n * Allow only one button to be pressed at a time.\n */\n type: 'single';\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>;\n\ntype ToggleGroupSinglePrimitive = Polymorphic.ForwardRefComponent<\n Polymorphic.IntrinsicElement<typeof ToggleGroupImpl>,\n ToggleGroupSingleOwnProps\n>;\n\nconst ToggleGroupSingle = React.forwardRef((props, 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 value={value ? [value] : []}\n onItemActivate={setValue}\n onItemDeactivate={React.useCallback(() => setValue(''), [setValue])}\n >\n <ToggleGroupImpl {...toggleGroupSingleProps} ref={forwardedRef} />\n </ToggleGroupValueProvider>\n );\n}) as ToggleGroupSinglePrimitive;\n\ntype ToggleGroupMultipleOwnProps = Polymorphic.Merge<\n Polymorphic.OwnProps<typeof ToggleGroupImpl>,\n {\n /**\n * Allow mutltiple items to be pressed at the same time.\n */\n type: 'multiple';\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>;\n\ntype ToggleGroupMultiplePrimitive = Polymorphic.ForwardRefComponent<\n Polymorphic.IntrinsicElement<typeof ToggleGroupImpl>,\n ToggleGroupMultipleOwnProps\n>;\n\nconst ToggleGroupMultiple = React.forwardRef((props, 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) => setValue((prevValue = []) => [...prevValue, itemValue]),\n [setValue]\n );\n\n const handleButtonDeactivate = React.useCallback(\n (itemValue) => setValue((prevValue = []) => prevValue.filter((value) => value !== itemValue)),\n [setValue]\n );\n\n return (\n <ToggleGroupValueProvider\n value={value}\n onItemActivate={handleButtonActivate}\n onItemDeactivate={handleButtonDeactivate}\n >\n <ToggleGroupImpl {...toggleGroupMultipleProps} ref={forwardedRef} />\n </ToggleGroupValueProvider>\n );\n}) as ToggleGroupMultiplePrimitive;\n\nToggleGroup.displayName = TOGGLE_GROUP_NAME;\n\n/* -----------------------------------------------------------------------------------------------*/\n\ntype ToggleGroupContextValue = { rovingFocus: boolean; disabled: boolean };\n\nconst [ToggleGroupContext, useToggleGroupContext] = createContext<ToggleGroupContextValue>(\n TOGGLE_GROUP_NAME\n);\n\ntype ToggleGroupImplOwnProps = Polymorphic.Merge<\n Omit<\n Polymorphic.OwnProps<typeof RovingFocusGroup>,\n 'currentTabStopId' | 'defaultCurrentTabStopId' | 'onCurrentTabStopIdChange' | 'onEntryFocus'\n >,\n {\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 }\n>;\n\ntype ToggleGroupImplPrimitive = Polymorphic.ForwardRefComponent<\n typeof TOGGLE_GROUP_DEFAULT_TAG,\n ToggleGroupImplOwnProps\n>;\n\nconst ToggleGroupImpl = React.forwardRef((props, forwardedRef) => {\n const {\n as = TOGGLE_GROUP_DEFAULT_TAG,\n disabled = false,\n rovingFocus = true,\n orientation,\n dir = 'ltr',\n loop = true,\n ...toggleGroupProps\n } = props;\n return (\n <ToggleGroupContext rovingFocus={rovingFocus} disabled={disabled}>\n {rovingFocus ? (\n <RovingFocusGroup\n role=\"group\"\n orientation={orientation}\n dir={dir}\n loop={loop}\n {...toggleGroupProps}\n as={as}\n ref={forwardedRef}\n />\n ) : (\n <Primitive role=\"group\" {...toggleGroupProps} as={as} ref={forwardedRef} />\n )}\n </ToggleGroupContext>\n );\n}) as ToggleGroupImplPrimitive;\n\n/* -------------------------------------------------------------------------------------------------\n * ToggleGroupItem\n * -----------------------------------------------------------------------------------------------*/\n\nconst ITEM_NAME = 'ToggleGroupItem';\n\ntype ToggleGroupItemOwnProps = Omit<\n | Polymorphic.OwnProps<typeof ToggleGroupRovingFocusItem>\n | Polymorphic.OwnProps<typeof ToggleGroupItemImpl>,\n 'pressed'\n>;\n\ntype ToggleGroupItemPrimitive = Polymorphic.ForwardRefComponent<\n | Polymorphic.IntrinsicElement<typeof ToggleGroupRovingFocusItem>\n | Polymorphic.IntrinsicElement<typeof ToggleGroupItemImpl>,\n ToggleGroupItemOwnProps\n>;\n\nconst ToggleGroupItem = React.forwardRef((props, forwardedRef) => {\n const valueContext = useToggleGroupValueContext(ITEM_NAME);\n const context = useToggleGroupContext(ITEM_NAME);\n const pressed = valueContext.value.includes(props.value);\n const disabled = context.disabled || props.disabled;\n\n return context.rovingFocus ? (\n <ToggleGroupRovingFocusItem\n {...props}\n ref={forwardedRef}\n pressed={pressed}\n disabled={disabled}\n />\n ) : (\n <ToggleGroupItemImpl {...props} ref={forwardedRef} pressed={pressed} disabled={disabled} />\n );\n}) as ToggleGroupItemPrimitive;\n\nToggleGroupItem.displayName = ITEM_NAME;\n\n/* -----------------------------------------------------------------------------------------------*/\n\ntype ToggleGroupRovingFocusItemOwnProps = Polymorphic.OwnProps<typeof ToggleGroupItemImpl>;\n\ntype ToggleGroupRovingFocusItemPrimitive = Polymorphic.ForwardRefComponent<\n Polymorphic.IntrinsicElement<typeof ToggleGroupItemImpl>,\n ToggleGroupRovingFocusItemOwnProps\n>;\n\nconst ToggleGroupRovingFocusItem = React.forwardRef((props, forwardedRef) => {\n return (\n <RovingFocusItem as={Slot} focusable={!props.disabled} active={props.pressed}>\n <ToggleGroupItemImpl {...props} ref={forwardedRef} />\n </RovingFocusItem>\n );\n}) as ToggleGroupRovingFocusItemPrimitive;\n\n/* -----------------------------------------------------------------------------------------------*/\n\ntype ToggleGroupItemImplOwnProps = Polymorphic.Merge<\n Omit<Polymorphic.OwnProps<typeof Toggle>, 'defaultPressed' | 'onPressedChange'>,\n {\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>;\n\ntype ToggleGroupItemImplPrimitive = Polymorphic.ForwardRefComponent<\n Polymorphic.IntrinsicElement<typeof Toggle>,\n ToggleGroupItemImplOwnProps\n>;\n\nconst ToggleGroupItemImpl = React.forwardRef((props, forwardedRef) => {\n const { value, ...itemProps } = props;\n const valueContext = useToggleGroupValueContext(ITEM_NAME);\n\n return (\n <Toggle\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}) as ToggleGroupItemImplPrimitive;\n\n/* -----------------------------------------------------------------------------------------------*/\n\nconst Root = ToggleGroup;\nconst Item = ToggleGroupItem;\n\nexport {\n ToggleGroup,\n ToggleGroupItem,\n //\n Root,\n Item,\n};\nexport type { ToggleGroupPrimitive, ToggleGroupItemPrimitive };\n"],"names":["TOGGLE_GROUP_DEFAULT_TAG","ToggleGroup","React","forwardRef","props","forwardedRef","type","_react","createElement","$aa4ce03ccbfe0180cf77e2e37a90e$var$ToggleGroupSingle","_babelRuntimeHelpersEsmExtends","ref","$aa4ce03ccbfe0180cf77e2e37a90e$var$ToggleGroupMultiple","Error","ToggleGroupValueProvider","useToggleGroupValueContext","createContext","ToggleGroupSingle","value","valueProp","defaultValue","onValueChange","toggleGroupSingleProps","setValue","useControllableState","prop","defaultProp","onChange","$aa4ce03ccbfe0180cf77e2e37a90e$var$ToggleGroupValueProvider","onItemActivate","onItemDeactivate","useCallback","$aa4ce03ccbfe0180cf77e2e37a90e$var$ToggleGroupImpl","ToggleGroupMultiple","toggleGroupMultipleProps","handleButtonActivate","itemValue","prevValue","handleButtonDeactivate","filter","ToggleGroupContext","useToggleGroupContext","ToggleGroupImpl","as","disabled","rovingFocus","orientation","dir","loop","toggleGroupProps","$aa4ce03ccbfe0180cf77e2e37a90e$var$ToggleGroupContext","RovingFocusGroup","role","Primitive","ToggleGroupItem","valueContext","context","pressed","includes","$aa4ce03ccbfe0180cf77e2e37a90e$var$ToggleGroupRovingFocusItem","$aa4ce03ccbfe0180cf77e2e37a90e$var$ToggleGroupItemImpl","ToggleGroupRovingFocusItem","RovingFocusItem","Slot","focusable","active","ToggleGroupItemImpl","itemProps","Toggle","onPressedChange","Root","Item"],"version":3,"file":"index.module.js.map"}
1
+ {"mappings":"+YAuBA,MAAMA,yBAAcC,EAAMC,YAGxB,CAACC,EAAOC,KACR,MAAMC,KAAEA,KAASC,GAAqBH,EAEtC,GAAa,WAATE,EAAmB,CACrB,MAAME,EAAcD,eACpB,OAAOE,EAAAC,cAACC,EAADC,EAAA,GAA2BJ,EAA3B,CAAwCK,IAAKR,KAGtD,GAAa,aAATC,EAAqB,CACvB,MAAMQ,EAAgBP,eACtB,OAAOE,EAAAC,cAACK,EAADH,EAAA,GAA6BE,EAA7B,CAA4CD,IAAKR,KAG1D,MAAM,IAAIW,MAAO,iEAanB,MAAOC,EAA0BC,GAC/BC,EAxCwB,eA2DpBC,eAAwBlB,EAAMC,YAGlC,CAACC,EAAOC,KACR,MACEgB,MAAOC,EADHC,aAEJA,EAFIC,cAGJA,EAAgB,YACbC,GACDrB,GAEGiB,EAAOK,GAAYC,EAAqB,CAC7CC,KAAMN,EACNO,YAAaN,EACbO,SAAUN,iBAGZ,OACEf,EAAAC,cAACqB,EAAD,CACEV,MAAOA,EAAQ,CAACA,GAAS,GACzBW,eAAgBN,EAChBO,iBAAkB/B,EAAMgC,aAAY,IAAMR,EAAS,KAAK,CAACA,kBAEzDjB,EAAAC,cAACyB,EAADvB,EAAA,GAAqBa,EAArB,CAA6CZ,IAAKR,SAsBlD+B,eAA0BlC,EAAMC,YAGpC,CAACC,EAAOC,KACR,MACEgB,MAAOC,EADHC,aAEJA,EAFIC,cAGJA,EAAgB,YACba,GACDjC,GAEGiB,EAAQ,GAAIK,GAAYC,EAAqB,CAClDC,KAAMN,EACNO,YAAaN,EACbO,SAAUN,IAGNc,EAAuBpC,EAAMgC,aAChCK,GAAcb,GAAS,CAACc,EAAY,KAAO,IAAIA,EAAWD,MAC3D,CAACb,IAGGe,EAAyBvC,EAAMgC,aAClCK,GAAcb,GAAS,CAACc,EAAY,KAAOA,EAAUE,QAAQrB,GAAUA,IAAUkB,OAClF,CAACb,iBAGH,OACEjB,EAAAC,cAACqB,EAAD,CACEV,MAAOA,EACPW,eAAgBM,EAChBL,iBAAkBQ,gBAElBhC,EAAAC,cAACyB,EAADvB,EAAA,GAAqByB,EAArB,CAA+CxB,IAAKR,UAWnDsC,EAAoBC,GACzBzB,EArJwB,eA0KpB0B,eAAkB3C,EAAMC,YAC5B,CAACC,EAAOC,KACN,MAAMyC,SACJA,GAAW,EADPC,YAEJA,GAAc,EAFVC,YAGJA,EAHIC,IAIJA,EAAM,MAJFC,KAKJA,GAAO,KACJ3C,GACDH,EACE+C,EAAc,CAAEC,KAAM,QAASH,IAAAA,KAAQ1C,gBAC7C,OACEE,EAAAC,cAAC2C,EAAD,CAAoBN,YAAaA,EAAaD,SAAUA,GACrDC,eACCtC,EAAAC,cAAC4C,EAAD,CAAkBC,SAAO,EAACP,YAAaA,EAAaC,IAAKA,EAAKC,KAAMA,gBAClEzC,EAAAC,cAAC8C,EAAUC,IAAX7C,EAAA,GAAmBuC,EAAnB,CAAgCtC,IAAKR,mBAGvCI,EAAAC,cAAC8C,EAAUC,IAAX7C,EAAA,GAAmBuC,EAAnB,CAAgCtC,IAAKR,gBAgB/C,MAAMqD,6BAAkBxD,EAAMC,YAC5B,CAACC,EAAOC,KACN,MAAMsD,EAAezC,EAPP,mBAQR0C,EAAUhB,EARF,mBASRiB,EAAUF,EAAatC,MAAMyC,SAAS1D,EAAMiB,OAC5CyB,EAAWc,EAAQd,UAAY1C,EAAM0C,SACrCK,EAAc,IAAK/C,EAAOyD,QAAAA,EAASf,SAAAA,GACnCjC,EAAMX,EAAM6D,OAAuB,MACzC,OAAOH,EAAQb,yBACbtC,EAAAC,cAACsD,EAAD,CAAiBT,SAAO,EAACU,WAAYnB,EAAUoB,OAAQL,EAAShD,IAAKA,gBACnEJ,EAAAC,cAACyD,EAADvD,EAAA,GAAyBuC,EAAzB,CAAsCtC,IAAKR,mBAG7CI,EAAAC,cAACyD,EAADvD,EAAA,GAAyBuC,EAAzB,CAAsCtC,IAAKR,qBAkBjD,MAAM+D,eAAsBlE,EAAMC,YAChC,CAACC,EAAOC,KACN,MAAMgB,MAAEA,KAAUgD,GAAcjE,EAC1BuD,EAAezC,EAvCP,gCAwCd,OACET,EAAAC,cAAC4D,EAAD1D,EAAA,GACMyD,EADN,CAEExD,IAAKR,EACLkE,gBAAkBV,IACZA,EACFF,EAAa3B,eAAeX,GAE5BsC,EAAa1B,iBAAiBZ,iBAU1C,MAAMmD,KAAOvE,mBACb,MAAMwE,KAAOf","sources":["./packages/react/toggle-group/src/ToggleGroup.tsx"],"sourcesContent":["import React from 'react';\nimport { createContext } from '@radix-ui/react-context';\nimport { Primitive } from '@radix-ui/react-primitive';\nimport { RovingFocusGroup, RovingFocusItem } from '@radix-ui/react-roving-focus';\nimport { Toggle } from '@radix-ui/react-toggle';\nimport { useControllableState } from '@radix-ui/react-use-controllable-state';\n\nimport type * as Radix from '@radix-ui/react-primitive';\n\n/* -------------------------------------------------------------------------------------------------\n * ToggleGroup\n * -----------------------------------------------------------------------------------------------*/\n\nconst TOGGLE_GROUP_NAME = 'ToggleGroup';\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 value: string[];\n onItemActivate(value: string): void;\n onItemDeactivate(value: string): void;\n};\n\nconst [ToggleGroupValueProvider, useToggleGroupValueContext] =\n createContext<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, 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 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, 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) => setValue((prevValue = []) => [...prevValue, itemValue]),\n [setValue]\n );\n\n const handleButtonDeactivate = React.useCallback(\n (itemValue) => setValue((prevValue = []) => prevValue.filter((value) => value !== itemValue)),\n [setValue]\n );\n\n return (\n <ToggleGroupValueProvider\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 createContext<ToggleGroupContextValue>(TOGGLE_GROUP_NAME);\n\ntype RovingFocusGroupProps = Radix.ComponentPropsWithoutRef<typeof RovingFocusGroup>;\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, forwardedRef) => {\n const {\n disabled = false,\n rovingFocus = true,\n orientation,\n dir = 'ltr',\n loop = true,\n ...toggleGroupProps\n } = props;\n const commonProps = { role: 'group', dir, ...toggleGroupProps };\n return (\n <ToggleGroupContext rovingFocus={rovingFocus} disabled={disabled}>\n {rovingFocus ? (\n <RovingFocusGroup asChild orientation={orientation} dir={dir} loop={loop}>\n <Primitive.div {...commonProps} ref={forwardedRef} />\n </RovingFocusGroup>\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, forwardedRef) => {\n const valueContext = useToggleGroupValueContext(ITEM_NAME);\n const context = useToggleGroupContext(ITEM_NAME);\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 <RovingFocusItem asChild focusable={!disabled} active={pressed} ref={ref}>\n <ToggleGroupItemImpl {...commonProps} ref={forwardedRef} />\n </RovingFocusItem>\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, forwardedRef) => {\n const { value, ...itemProps } = props;\n const valueContext = useToggleGroupValueContext(ITEM_NAME);\n return (\n <Toggle\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 ToggleGroup,\n ToggleGroupItem,\n //\n Root,\n Item,\n};\nexport type { ToggleGroupSingleProps, ToggleGroupMultipleProps, ToggleGroupItemProps };\n"],"names":["ToggleGroup","React","forwardRef","props","forwardedRef","type","toggleGroupProps","singleProps","_react","createElement","$aa4ce03ccbfe0180cf77e2e37a90e$var$ToggleGroupImplSingle","_babelRuntimeHelpersEsmExtends","ref","multipleProps","$aa4ce03ccbfe0180cf77e2e37a90e$var$ToggleGroupImplMultiple","Error","ToggleGroupValueProvider","useToggleGroupValueContext","createContext","ToggleGroupImplSingle","value","valueProp","defaultValue","onValueChange","toggleGroupSingleProps","setValue","useControllableState","prop","defaultProp","onChange","$aa4ce03ccbfe0180cf77e2e37a90e$var$ToggleGroupValueProvider","onItemActivate","onItemDeactivate","useCallback","$aa4ce03ccbfe0180cf77e2e37a90e$var$ToggleGroupImpl","ToggleGroupImplMultiple","toggleGroupMultipleProps","handleButtonActivate","itemValue","prevValue","handleButtonDeactivate","filter","ToggleGroupContext","useToggleGroupContext","ToggleGroupImpl","disabled","rovingFocus","orientation","dir","loop","commonProps","role","$aa4ce03ccbfe0180cf77e2e37a90e$var$ToggleGroupContext","RovingFocusGroup","asChild","Primitive","div","ToggleGroupItem","valueContext","context","pressed","includes","useRef","RovingFocusItem","focusable","active","$aa4ce03ccbfe0180cf77e2e37a90e$var$ToggleGroupItemImpl","ToggleGroupItemImpl","itemProps","Toggle","onPressedChange","Root","Item"],"version":3,"file":"index.module.js.map"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@radix-ui/react-toggle-group",
3
- "version": "0.0.10",
3
+ "version": "0.1.0",
4
4
  "license": "MIT",
5
5
  "source": "src/index.ts",
6
6
  "main": "dist/index.js",
@@ -13,19 +13,16 @@
13
13
  "sideEffects": false,
14
14
  "scripts": {
15
15
  "clean": "rm -rf dist",
16
- "prepublish": "yarn clean",
17
16
  "version": "yarn version"
18
17
  },
19
18
  "dependencies": {
20
19
  "@babel/runtime": "^7.13.10",
21
- "@radix-ui/primitive": "0.0.5",
22
- "@radix-ui/react-context": "0.0.5",
23
- "@radix-ui/react-polymorphic": "0.0.12",
24
- "@radix-ui/react-primitive": "0.0.14",
25
- "@radix-ui/react-roving-focus": "0.0.15",
26
- "@radix-ui/react-slot": "0.0.12",
27
- "@radix-ui/react-toggle": "0.0.9",
28
- "@radix-ui/react-use-controllable-state": "0.0.6"
20
+ "@radix-ui/primitive": "0.1.0",
21
+ "@radix-ui/react-context": "0.1.0",
22
+ "@radix-ui/react-primitive": "0.1.0",
23
+ "@radix-ui/react-roving-focus": "0.1.0",
24
+ "@radix-ui/react-toggle": "0.1.0",
25
+ "@radix-ui/react-use-controllable-state": "0.1.0"
29
26
  },
30
27
  "peerDependencies": {
31
28
  "react": "^16.8 || ^17.0"