@radix-ui/react-toggle-group 0.1.6-rc.5 → 0.1.6-rc.50

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
@@ -10,7 +10,7 @@ export interface ToggleGroupSingleProps extends ToggleGroupImplSingleProps {
10
10
  export interface ToggleGroupMultipleProps extends ToggleGroupImplMultipleProps {
11
11
  type: 'multiple';
12
12
  }
13
- export const ToggleGroup: React.ForwardRefExoticComponent<(ToggleGroupSingleProps & React.RefAttributes<HTMLDivElement>) | (ToggleGroupMultipleProps & React.RefAttributes<HTMLDivElement>)>;
13
+ export const ToggleGroup: React.ForwardRefExoticComponent<(ToggleGroupSingleProps | ToggleGroupMultipleProps) & React.RefAttributes<HTMLDivElement>>;
14
14
  interface ToggleGroupImplSingleProps extends ToggleGroupImplProps {
15
15
  /**
16
16
  * The controlled stateful value of the item that is pressed.
@@ -68,7 +68,7 @@ interface ToggleGroupItemImplProps extends Omit<ToggleProps, 'defaultPressed' |
68
68
  */
69
69
  value: string;
70
70
  }
71
- export const Root: React.ForwardRefExoticComponent<(ToggleGroupSingleProps & React.RefAttributes<HTMLDivElement>) | (ToggleGroupMultipleProps & React.RefAttributes<HTMLDivElement>)>;
71
+ export const Root: React.ForwardRefExoticComponent<(ToggleGroupSingleProps | ToggleGroupMultipleProps) & React.RefAttributes<HTMLDivElement>>;
72
72
  export const Item: React.ForwardRefExoticComponent<ToggleGroupItemProps & React.RefAttributes<HTMLButtonElement>>;
73
73
 
74
74
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"mappings":"A;A;A;A;A;AAmBA,OAAA,6FAEE,CAAC;AAIH,uCAAiC,SAAQ,0BAA0B;IACjE,IAAI,EAAE,QAAQ,CAAC;CAChB;AACD,yCAAmC,SAAQ,4BAA4B;IACrE,IAAI,EAAE,UAAU,CAAC;CAClB;AAED,OAAA,MAAM,+KAiBJ,CAAC;AAiBH,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;AAiCD,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;AAoDD,6BAA6B,MAAM,wBAAwB,CAAC,OAAO,iBAAiB,IAAI,CAAC,CAAC;AAE1F,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;AA2CD,qCAA+B,SAAQ,IAAI,CAAC,wBAAwB,EAAE,SAAS,CAAC;CAAG;AAEnF,OAAA,MAAM,+GAuBL,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;AA2BD,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"}
1
+ {"mappings":";;;;;AAmBA,OAAA,6FAEE,CAAC;AAIH,uCAAiC,SAAQ,0BAA0B;IACjE,IAAI,EAAE,QAAQ,CAAC;CAChB;AACD,yCAAmC,SAAQ,4BAA4B;IACrE,IAAI,EAAE,UAAU,CAAC;CAClB;AAED,OAAA,MAAM,uIAiBJ,CAAC;AAiBH,oCAAqC,SAAQ,oBAAoB;IAC/D;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;;OAGG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB;;OAEG;IACH,aAAa,CAAC,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;CACrC;AAiCD,sCAAuC,SAAQ,oBAAoB;IACjE;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB;;;OAGG;IACH,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB;;OAEG;IACH,aAAa,CAAC,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;CACvC;AAoDD,6BAA6B,MAAM,wBAAwB,CAAC,OAAO,iBAAiB,IAAI,CAAC,CAAC;AAE1F,yBAAyB,MAAM,wBAAwB,CAAC,OAAO,UAAU,GAAG,CAAC,CAAC;AAC9E,8BAA+B,SAAQ,iBAAiB;IACtD;;;OAGG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;;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;AA2CD,qCAA+B,SAAQ,IAAI,CAAC,wBAAwB,EAAE,SAAS,CAAC;CAAG;AAEnF,OAAA,MAAM,+GAuBL,CAAC;AAOF,mBAAmB,MAAM,wBAAwB,CAAC,aAAa,CAAC,CAAC;AACjE,kCAAmC,SAAQ,IAAI,CAAC,WAAW,EAAE,gBAAgB,GAAG,iBAAiB,CAAC;IAChG;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;CACf;AA2BD,OAAA,MAAM,gIAAkB,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","packages/react/toggle-group/src/index.ts"],"sourcesContent":[null,null,"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"],"names":[],"version":3,"file":"index.d.ts.map"}
package/dist/index.js CHANGED
@@ -1,2 +1,193 @@
1
- var e,r,o=require("@radix-ui/react-direction").useDirection,t=require("@radix-ui/react-use-controllable-state").useControllableState,a=require("@radix-ui/react-toggle").Toggle,l=require("@radix-ui/react-roving-focus"),n=(e={},r=l,Object.keys(r).forEach((function(o){"default"!==o&&"__esModule"!==o&&Object.defineProperty(e,o,{enumerable:!0,get:function(){return r[o]}})})),e),u=l.createRovingFocusGroupScope,c=require("@radix-ui/react-primitive").Primitive,i=require("@radix-ui/react-context").createContextScope,s=g(require("react")),p=g(require("@babel/runtime/helpers/extends"));function g(e){return e&&e.__esModule?e.default:e}const[d,f]=i("ToggleGroup",[u]);exports.createToggleGroupScope=f;const m=u(),v=/*#__PURE__*/s.forwardRef(((e,r)=>{const{type:o,...t}=e;if("single"===o){const e=t;/*#__PURE__*/return s.createElement(_,p({},e,{ref:r}))}if("multiple"===o){const e=t;/*#__PURE__*/return s.createElement(b,p({},e,{ref:r}))}throw new Error("Missing prop `type` expected on `ToggleGroup`")}));exports.ToggleGroup=v;const[G,T]=d("ToggleGroup"),_=/*#__PURE__*/s.forwardRef(((e,r)=>{const{value:o,defaultValue:a,onValueChange:l=(()=>{}),...n}=e,[u,c]=t({prop:o,defaultProp:a,onChange:l});/*#__PURE__*/return s.createElement(G,{scope:e.__scopeToggleGroup,type:"single",value:u?[u]:[],onItemActivate:c,onItemDeactivate:s.useCallback((()=>c("")),[c])},/*#__PURE__*/s.createElement(C,p({},n,{ref:r})))})),b=/*#__PURE__*/s.forwardRef(((e,r)=>{const{value:o,defaultValue:a,onValueChange:l=(()=>{}),...n}=e,[u=[],c]=t({prop:o,defaultProp:a,onChange:l}),i=s.useCallback((e=>c(((r=[])=>[...r,e]))),[c]),g=s.useCallback((e=>c(((r=[])=>r.filter((r=>r!==e))))),[c]);/*#__PURE__*/return s.createElement(G,{scope:e.__scopeToggleGroup,type:"multiple",value:u,onItemActivate:i,onItemDeactivate:g},/*#__PURE__*/s.createElement(C,p({},n,{ref:r})))})),[E,x]=d("ToggleGroup"),C=/*#__PURE__*/s.forwardRef(((e,r)=>{const{__scopeToggleGroup:t,disabled:a=!1,rovingFocus:l=!0,orientation:u,dir:i,loop:g=!0,...d}=e,f=m(t),v=o(i),G={role:"group",dir:v,...d};/*#__PURE__*/return s.createElement(E,{scope:t,rovingFocus:l,disabled:a},l?/*#__PURE__*/s.createElement(n.Root,p({asChild:!0},f,{orientation:u,dir:v,loop:g}),/*#__PURE__*/s.createElement(c.div,p({},G,{ref:r}))):/*#__PURE__*/s.createElement(c.div,p({},G,{ref:r})))})),I=/*#__PURE__*/s.forwardRef(((e,r)=>{const o=T("ToggleGroupItem",e.__scopeToggleGroup),t=x("ToggleGroupItem",e.__scopeToggleGroup),a=m(e.__scopeToggleGroup),l=o.value.includes(e.value),u=t.disabled||e.disabled,c={...e,pressed:l,disabled:u},i=s.useRef(null);return t.rovingFocus?/*#__PURE__*/s.createElement(n.Item,p({asChild:!0},a,{focusable:!u,active:l,ref:i}),/*#__PURE__*/s.createElement(h,p({},c,{ref:r}))):/*#__PURE__*/s.createElement(h,p({},c,{ref:r}))}));exports.ToggleGroupItem=I;const h=/*#__PURE__*/s.forwardRef(((e,r)=>{const{__scopeToggleGroup:o,value:t,...l}=e,n=T("ToggleGroupItem",o),u={role:"radio","aria-checked":e.pressed,"aria-pressed":void 0},c="single"===n.type?u:void 0;/*#__PURE__*/return s.createElement(a,p({},c,l,{ref:r,onPressedChange:e=>{e?n.onItemActivate(t):n.onItemDeactivate(t)}}))})),R=v;exports.Root=R;const q=I;exports.Item=q;
1
+ var $1z6X1$babelruntimehelpersextends = require("@babel/runtime/helpers/extends");
2
+ var $1z6X1$react = require("react");
3
+ var $1z6X1$radixuireactcontext = require("@radix-ui/react-context");
4
+ var $1z6X1$radixuireactprimitive = require("@radix-ui/react-primitive");
5
+ var $1z6X1$radixuireactrovingfocus = require("@radix-ui/react-roving-focus");
6
+ var $1z6X1$radixuireacttoggle = require("@radix-ui/react-toggle");
7
+ var $1z6X1$radixuireactusecontrollablestate = require("@radix-ui/react-use-controllable-state");
8
+ var $1z6X1$radixuireactdirection = require("@radix-ui/react-direction");
9
+
10
+ function $parcel$export(e, n, v, s) {
11
+ Object.defineProperty(e, n, {get: v, set: s, enumerable: true, configurable: true});
12
+ }
13
+ function $parcel$interopDefault(a) {
14
+ return a && a.__esModule ? a.default : a;
15
+ }
16
+
17
+ $parcel$export(module.exports, "createToggleGroupScope", () => $14b404ddd46c8376$export$d1c7c4bcd9f26dd4);
18
+ $parcel$export(module.exports, "ToggleGroup", () => $14b404ddd46c8376$export$af3ec21f6cfb5e30);
19
+ $parcel$export(module.exports, "ToggleGroupItem", () => $14b404ddd46c8376$export$b453109e13abe10b);
20
+ $parcel$export(module.exports, "Root", () => $14b404ddd46c8376$export$be92b6f5f03c0fe9);
21
+ $parcel$export(module.exports, "Item", () => $14b404ddd46c8376$export$6d08773d2e66f8f2);
22
+
23
+
24
+
25
+
26
+
27
+
28
+
29
+
30
+
31
+ /* -------------------------------------------------------------------------------------------------
32
+ * ToggleGroup
33
+ * -----------------------------------------------------------------------------------------------*/ const $14b404ddd46c8376$var$TOGGLE_GROUP_NAME = 'ToggleGroup';
34
+ const [$14b404ddd46c8376$var$createToggleGroupContext, $14b404ddd46c8376$export$d1c7c4bcd9f26dd4] = $1z6X1$radixuireactcontext.createContextScope($14b404ddd46c8376$var$TOGGLE_GROUP_NAME, [
35
+ $1z6X1$radixuireactrovingfocus.createRovingFocusGroupScope
36
+ ]);
37
+ const $14b404ddd46c8376$var$useRovingFocusGroupScope = $1z6X1$radixuireactrovingfocus.createRovingFocusGroupScope();
38
+ const $14b404ddd46c8376$export$af3ec21f6cfb5e30 = /*#__PURE__*/ ($parcel$interopDefault($1z6X1$react)).forwardRef((props, forwardedRef)=>{
39
+ const { type: type , ...toggleGroupProps } = props;
40
+ if (type === 'single') {
41
+ const singleProps = toggleGroupProps;
42
+ return /*#__PURE__*/ ($parcel$interopDefault($1z6X1$react)).createElement($14b404ddd46c8376$var$ToggleGroupImplSingle, ($parcel$interopDefault($1z6X1$babelruntimehelpersextends))({}, singleProps, {
43
+ ref: forwardedRef
44
+ }));
45
+ }
46
+ if (type === 'multiple') {
47
+ const multipleProps = toggleGroupProps;
48
+ return /*#__PURE__*/ ($parcel$interopDefault($1z6X1$react)).createElement($14b404ddd46c8376$var$ToggleGroupImplMultiple, ($parcel$interopDefault($1z6X1$babelruntimehelpersextends))({}, multipleProps, {
49
+ ref: forwardedRef
50
+ }));
51
+ }
52
+ throw new Error(`Missing prop \`type\` expected on \`${$14b404ddd46c8376$var$TOGGLE_GROUP_NAME}\``);
53
+ });
54
+ /*#__PURE__*/ Object.assign($14b404ddd46c8376$export$af3ec21f6cfb5e30, {
55
+ displayName: $14b404ddd46c8376$var$TOGGLE_GROUP_NAME
56
+ });
57
+ /* -----------------------------------------------------------------------------------------------*/ const [$14b404ddd46c8376$var$ToggleGroupValueProvider, $14b404ddd46c8376$var$useToggleGroupValueContext] = $14b404ddd46c8376$var$createToggleGroupContext($14b404ddd46c8376$var$TOGGLE_GROUP_NAME);
58
+ const $14b404ddd46c8376$var$ToggleGroupImplSingle = /*#__PURE__*/ ($parcel$interopDefault($1z6X1$react)).forwardRef((props, forwardedRef)=>{
59
+ const { value: valueProp , defaultValue: defaultValue , onValueChange: onValueChange = ()=>{} , ...toggleGroupSingleProps } = props;
60
+ const [value, setValue] = $1z6X1$radixuireactusecontrollablestate.useControllableState({
61
+ prop: valueProp,
62
+ defaultProp: defaultValue,
63
+ onChange: onValueChange
64
+ });
65
+ return /*#__PURE__*/ ($parcel$interopDefault($1z6X1$react)).createElement($14b404ddd46c8376$var$ToggleGroupValueProvider, {
66
+ scope: props.__scopeToggleGroup,
67
+ type: "single",
68
+ value: value ? [
69
+ value
70
+ ] : [],
71
+ onItemActivate: setValue,
72
+ onItemDeactivate: ($parcel$interopDefault($1z6X1$react)).useCallback(()=>setValue('')
73
+ , [
74
+ setValue
75
+ ])
76
+ }, /*#__PURE__*/ ($parcel$interopDefault($1z6X1$react)).createElement($14b404ddd46c8376$var$ToggleGroupImpl, ($parcel$interopDefault($1z6X1$babelruntimehelpersextends))({}, toggleGroupSingleProps, {
77
+ ref: forwardedRef
78
+ })));
79
+ });
80
+ const $14b404ddd46c8376$var$ToggleGroupImplMultiple = /*#__PURE__*/ ($parcel$interopDefault($1z6X1$react)).forwardRef((props, forwardedRef)=>{
81
+ const { value: valueProp , defaultValue: defaultValue , onValueChange: onValueChange = ()=>{} , ...toggleGroupMultipleProps } = props;
82
+ const [value1 = [], setValue] = $1z6X1$radixuireactusecontrollablestate.useControllableState({
83
+ prop: valueProp,
84
+ defaultProp: defaultValue,
85
+ onChange: onValueChange
86
+ });
87
+ const handleButtonActivate = ($parcel$interopDefault($1z6X1$react)).useCallback((itemValue)=>setValue((prevValue = [])=>[
88
+ ...prevValue,
89
+ itemValue
90
+ ]
91
+ )
92
+ , [
93
+ setValue
94
+ ]);
95
+ const handleButtonDeactivate = ($parcel$interopDefault($1z6X1$react)).useCallback((itemValue)=>setValue((prevValue = [])=>prevValue.filter((value)=>value !== itemValue
96
+ )
97
+ )
98
+ , [
99
+ setValue
100
+ ]);
101
+ return /*#__PURE__*/ ($parcel$interopDefault($1z6X1$react)).createElement($14b404ddd46c8376$var$ToggleGroupValueProvider, {
102
+ scope: props.__scopeToggleGroup,
103
+ type: "multiple",
104
+ value: value1,
105
+ onItemActivate: handleButtonActivate,
106
+ onItemDeactivate: handleButtonDeactivate
107
+ }, /*#__PURE__*/ ($parcel$interopDefault($1z6X1$react)).createElement($14b404ddd46c8376$var$ToggleGroupImpl, ($parcel$interopDefault($1z6X1$babelruntimehelpersextends))({}, toggleGroupMultipleProps, {
108
+ ref: forwardedRef
109
+ })));
110
+ });
111
+ /*#__PURE__*/ Object.assign($14b404ddd46c8376$export$af3ec21f6cfb5e30, {
112
+ displayName: $14b404ddd46c8376$var$TOGGLE_GROUP_NAME
113
+ });
114
+ /* -----------------------------------------------------------------------------------------------*/ const [$14b404ddd46c8376$var$ToggleGroupContext, $14b404ddd46c8376$var$useToggleGroupContext] = $14b404ddd46c8376$var$createToggleGroupContext($14b404ddd46c8376$var$TOGGLE_GROUP_NAME);
115
+ const $14b404ddd46c8376$var$ToggleGroupImpl = /*#__PURE__*/ ($parcel$interopDefault($1z6X1$react)).forwardRef((props, forwardedRef)=>{
116
+ const { __scopeToggleGroup: __scopeToggleGroup , disabled: disabled = false , rovingFocus: rovingFocus = true , orientation: orientation , dir: dir , loop: loop = true , ...toggleGroupProps } = props;
117
+ const rovingFocusGroupScope = $14b404ddd46c8376$var$useRovingFocusGroupScope(__scopeToggleGroup);
118
+ const direction = $1z6X1$radixuireactdirection.useDirection(dir);
119
+ const commonProps = {
120
+ role: 'group',
121
+ dir: direction,
122
+ ...toggleGroupProps
123
+ };
124
+ return /*#__PURE__*/ ($parcel$interopDefault($1z6X1$react)).createElement($14b404ddd46c8376$var$ToggleGroupContext, {
125
+ scope: __scopeToggleGroup,
126
+ rovingFocus: rovingFocus,
127
+ disabled: disabled
128
+ }, rovingFocus ? /*#__PURE__*/ ($parcel$interopDefault($1z6X1$react)).createElement($1z6X1$radixuireactrovingfocus.Root, ($parcel$interopDefault($1z6X1$babelruntimehelpersextends))({
129
+ asChild: true
130
+ }, rovingFocusGroupScope, {
131
+ orientation: orientation,
132
+ dir: direction,
133
+ loop: loop
134
+ }), /*#__PURE__*/ ($parcel$interopDefault($1z6X1$react)).createElement($1z6X1$radixuireactprimitive.Primitive.div, ($parcel$interopDefault($1z6X1$babelruntimehelpersextends))({}, commonProps, {
135
+ ref: forwardedRef
136
+ }))) : /*#__PURE__*/ ($parcel$interopDefault($1z6X1$react)).createElement($1z6X1$radixuireactprimitive.Primitive.div, ($parcel$interopDefault($1z6X1$babelruntimehelpersextends))({}, commonProps, {
137
+ ref: forwardedRef
138
+ })));
139
+ });
140
+ /* -------------------------------------------------------------------------------------------------
141
+ * ToggleGroupItem
142
+ * -----------------------------------------------------------------------------------------------*/ const $14b404ddd46c8376$var$ITEM_NAME = 'ToggleGroupItem';
143
+ const $14b404ddd46c8376$export$b453109e13abe10b = /*#__PURE__*/ ($parcel$interopDefault($1z6X1$react)).forwardRef((props, forwardedRef)=>{
144
+ const valueContext = $14b404ddd46c8376$var$useToggleGroupValueContext($14b404ddd46c8376$var$ITEM_NAME, props.__scopeToggleGroup);
145
+ const context = $14b404ddd46c8376$var$useToggleGroupContext($14b404ddd46c8376$var$ITEM_NAME, props.__scopeToggleGroup);
146
+ const rovingFocusGroupScope = $14b404ddd46c8376$var$useRovingFocusGroupScope(props.__scopeToggleGroup);
147
+ const pressed = valueContext.value.includes(props.value);
148
+ const disabled = context.disabled || props.disabled;
149
+ const commonProps = {
150
+ ...props,
151
+ pressed: pressed,
152
+ disabled: disabled
153
+ };
154
+ const ref = ($parcel$interopDefault($1z6X1$react)).useRef(null);
155
+ return context.rovingFocus ? /*#__PURE__*/ ($parcel$interopDefault($1z6X1$react)).createElement($1z6X1$radixuireactrovingfocus.Item, ($parcel$interopDefault($1z6X1$babelruntimehelpersextends))({
156
+ asChild: true
157
+ }, rovingFocusGroupScope, {
158
+ focusable: !disabled,
159
+ active: pressed,
160
+ ref: ref
161
+ }), /*#__PURE__*/ ($parcel$interopDefault($1z6X1$react)).createElement($14b404ddd46c8376$var$ToggleGroupItemImpl, ($parcel$interopDefault($1z6X1$babelruntimehelpersextends))({}, commonProps, {
162
+ ref: forwardedRef
163
+ }))) : /*#__PURE__*/ ($parcel$interopDefault($1z6X1$react)).createElement($14b404ddd46c8376$var$ToggleGroupItemImpl, ($parcel$interopDefault($1z6X1$babelruntimehelpersextends))({}, commonProps, {
164
+ ref: forwardedRef
165
+ }));
166
+ });
167
+ /*#__PURE__*/ Object.assign($14b404ddd46c8376$export$b453109e13abe10b, {
168
+ displayName: $14b404ddd46c8376$var$ITEM_NAME
169
+ });
170
+ /* -----------------------------------------------------------------------------------------------*/ const $14b404ddd46c8376$var$ToggleGroupItemImpl = /*#__PURE__*/ ($parcel$interopDefault($1z6X1$react)).forwardRef((props, forwardedRef)=>{
171
+ const { __scopeToggleGroup: __scopeToggleGroup , value: value , ...itemProps } = props;
172
+ const valueContext = $14b404ddd46c8376$var$useToggleGroupValueContext($14b404ddd46c8376$var$ITEM_NAME, __scopeToggleGroup);
173
+ const singleProps = {
174
+ role: 'radio',
175
+ 'aria-checked': props.pressed,
176
+ 'aria-pressed': undefined
177
+ };
178
+ const typeProps = valueContext.type === 'single' ? singleProps : undefined;
179
+ return /*#__PURE__*/ ($parcel$interopDefault($1z6X1$react)).createElement($1z6X1$radixuireacttoggle.Toggle, ($parcel$interopDefault($1z6X1$babelruntimehelpersextends))({}, typeProps, itemProps, {
180
+ ref: forwardedRef,
181
+ onPressedChange: (pressed)=>{
182
+ if (pressed) valueContext.onItemActivate(value);
183
+ else valueContext.onItemDeactivate(value);
184
+ }
185
+ }));
186
+ });
187
+ /* -----------------------------------------------------------------------------------------------*/ const $14b404ddd46c8376$export$be92b6f5f03c0fe9 = $14b404ddd46c8376$export$af3ec21f6cfb5e30;
188
+ const $14b404ddd46c8376$export$6d08773d2e66f8f2 = $14b404ddd46c8376$export$b453109e13abe10b;
189
+
190
+
191
+
192
+
2
193
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
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 { 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":["dest","source","Object","keys","forEach","key","defineProperty","enumerable","get","$parcel$interopDefault","a","__esModule","default","createToggleGroupContext","createToggleGroupScope","createContextScope","createRovingFocusGroupScope","useRovingFocusGroupScope","ToggleGroup","React","forwardRef","props","forwardedRef","type","toggleGroupProps","singleProps","_react","createElement","$f77bfc2d84e306a2598fbec8af931a$var$ToggleGroupImplSingle","_babelRuntimeHelpersExtends","ref","multipleProps","$f77bfc2d84e306a2598fbec8af931a$var$ToggleGroupImplMultiple","Error","ToggleGroupValueProvider","useToggleGroupValueContext","ToggleGroupImplSingle","value","valueProp","defaultValue","onValueChange","toggleGroupSingleProps","setValue","useControllableState","prop","defaultProp","onChange","$f77bfc2d84e306a2598fbec8af931a$var$ToggleGroupValueProvider","scope","__scopeToggleGroup","onItemActivate","onItemDeactivate","useCallback","$f77bfc2d84e306a2598fbec8af931a$var$ToggleGroupImpl","ToggleGroupImplMultiple","toggleGroupMultipleProps","handleButtonActivate","itemValue","prevValue","handleButtonDeactivate","filter","ToggleGroupContext","useToggleGroupContext","ToggleGroupImpl","disabled","rovingFocus","orientation","dir","loop","rovingFocusGroupScope","direction","useDirection","commonProps","role","$f77bfc2d84e306a2598fbec8af931a$var$ToggleGroupContext","_radixUiReactRovingFocus","Root","asChild","Primitive","div","ToggleGroupItem","valueContext","context","pressed","includes","useRef","Item","focusable","active","$f77bfc2d84e306a2598fbec8af931a$var$ToggleGroupItemImpl","ToggleGroupItemImpl","itemProps","undefined","typeProps","Toggle","onPressedChange"],"version":3,"file":"index.js.map"}
1
+ {"mappings":"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","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.js.map"}
@@ -1,2 +1,182 @@
1
- import{useDirection as e}from"@radix-ui/react-direction";import{useControllableState as o}from"@radix-ui/react-use-controllable-state";import{Toggle as r}from"@radix-ui/react-toggle";import*as t from"@radix-ui/react-roving-focus";import{createRovingFocusGroupScope as a}from"@radix-ui/react-roving-focus";import{Primitive as l}from"@radix-ui/react-primitive";import{createContextScope as n}from"@radix-ui/react-context";import i from"react";import c from"@babel/runtime/helpers/esm/extends";const[p,u]=n("ToggleGroup",[a]);export{u as createToggleGroupScope};const s=a();export const ToggleGroup=/*#__PURE__*/i.forwardRef(((e,o)=>{const{type:r,...t}=e;if("single"===r){const e=t;/*#__PURE__*/return i.createElement(d,c({},e,{ref:o}))}if("multiple"===r){const e=t;/*#__PURE__*/return i.createElement(f,c({},e,{ref:o}))}throw new Error("Missing prop `type` expected on `ToggleGroup`")}));/*#__PURE__*/const[g,m]=p("ToggleGroup"),d=/*#__PURE__*/i.forwardRef(((e,r)=>{const{value:t,defaultValue:a,onValueChange:l=(()=>{}),...n}=e,[p,u]=o({prop:t,defaultProp:a,onChange:l});/*#__PURE__*/return i.createElement(g,{scope:e.__scopeToggleGroup,type:"single",value:p?[p]:[],onItemActivate:u,onItemDeactivate:i.useCallback((()=>u("")),[u])},/*#__PURE__*/i.createElement(T,c({},n,{ref:r})))})),f=/*#__PURE__*/i.forwardRef(((e,r)=>{const{value:t,defaultValue:a,onValueChange:l=(()=>{}),...n}=e,[p=[],u]=o({prop:t,defaultProp:a,onChange:l}),s=i.useCallback((e=>u(((o=[])=>[...o,e]))),[u]),m=i.useCallback((e=>u(((o=[])=>o.filter((o=>o!==e))))),[u]);/*#__PURE__*/return i.createElement(g,{scope:e.__scopeToggleGroup,type:"multiple",value:p,onItemActivate:s,onItemDeactivate:m},/*#__PURE__*/i.createElement(T,c({},n,{ref:r})))})),[v,G]=p("ToggleGroup"),T=/*#__PURE__*/i.forwardRef(((o,r)=>{const{__scopeToggleGroup:a,disabled:n=!1,rovingFocus:p=!0,orientation:u,dir:g,loop:m=!0,...d}=o,f=s(a),G=e(g),T={role:"group",dir:G,...d};/*#__PURE__*/return i.createElement(v,{scope:a,rovingFocus:p,disabled:n},p?/*#__PURE__*/i.createElement(t.Root,c({asChild:!0},f,{orientation:u,dir:G,loop:m}),/*#__PURE__*/i.createElement(l.div,c({},T,{ref:r}))):/*#__PURE__*/i.createElement(l.div,c({},T,{ref:r})))}));export const ToggleGroupItem=/*#__PURE__*/i.forwardRef(((e,o)=>{const r=m("ToggleGroupItem",e.__scopeToggleGroup),a=G("ToggleGroupItem",e.__scopeToggleGroup),l=s(e.__scopeToggleGroup),n=r.value.includes(e.value),p=a.disabled||e.disabled,u={...e,pressed:n,disabled:p},g=i.useRef(null);return a.rovingFocus?/*#__PURE__*/i.createElement(t.Item,c({asChild:!0},l,{focusable:!p,active:n,ref:g}),/*#__PURE__*/i.createElement(x,c({},u,{ref:o}))):/*#__PURE__*/i.createElement(x,c({},u,{ref:o}))}));/*#__PURE__*/const x=/*#__PURE__*/i.forwardRef(((e,o)=>{const{__scopeToggleGroup:t,value:a,...l}=e,n=m("ToggleGroupItem",t),p={role:"radio","aria-checked":e.pressed,"aria-pressed":void 0},u="single"===n.type?p:void 0;/*#__PURE__*/return i.createElement(r,c({},u,l,{ref:o,onPressedChange:e=>{e?n.onItemActivate(a):n.onItemDeactivate(a)}}))}));export const Root=ToggleGroup;export const Item=ToggleGroupItem;
1
+ import $jFibJ$babelruntimehelpersesmextends from "@babel/runtime/helpers/esm/extends";
2
+ import $jFibJ$react from "react";
3
+ import {createContextScope as $jFibJ$createContextScope} from "@radix-ui/react-context";
4
+ import {Primitive as $jFibJ$Primitive} from "@radix-ui/react-primitive";
5
+ import {createRovingFocusGroupScope as $jFibJ$createRovingFocusGroupScope, Root as $jFibJ$Root, Item as $jFibJ$Item} from "@radix-ui/react-roving-focus";
6
+ import {Toggle as $jFibJ$Toggle} from "@radix-ui/react-toggle";
7
+ import {useControllableState as $jFibJ$useControllableState} from "@radix-ui/react-use-controllable-state";
8
+ import {useDirection as $jFibJ$useDirection} from "@radix-ui/react-direction";
9
+
10
+
11
+
12
+
13
+
14
+
15
+
16
+
17
+
18
+
19
+ /* -------------------------------------------------------------------------------------------------
20
+ * ToggleGroup
21
+ * -----------------------------------------------------------------------------------------------*/ const $6c1fd9e6a8969628$var$TOGGLE_GROUP_NAME = 'ToggleGroup';
22
+ const [$6c1fd9e6a8969628$var$createToggleGroupContext, $6c1fd9e6a8969628$export$d1c7c4bcd9f26dd4] = $jFibJ$createContextScope($6c1fd9e6a8969628$var$TOGGLE_GROUP_NAME, [
23
+ $jFibJ$createRovingFocusGroupScope
24
+ ]);
25
+ const $6c1fd9e6a8969628$var$useRovingFocusGroupScope = $jFibJ$createRovingFocusGroupScope();
26
+ const $6c1fd9e6a8969628$export$af3ec21f6cfb5e30 = /*#__PURE__*/ $jFibJ$react.forwardRef((props, forwardedRef)=>{
27
+ const { type: type , ...toggleGroupProps } = props;
28
+ if (type === 'single') {
29
+ const singleProps = toggleGroupProps;
30
+ return /*#__PURE__*/ $jFibJ$react.createElement($6c1fd9e6a8969628$var$ToggleGroupImplSingle, $jFibJ$babelruntimehelpersesmextends({}, singleProps, {
31
+ ref: forwardedRef
32
+ }));
33
+ }
34
+ if (type === 'multiple') {
35
+ const multipleProps = toggleGroupProps;
36
+ return /*#__PURE__*/ $jFibJ$react.createElement($6c1fd9e6a8969628$var$ToggleGroupImplMultiple, $jFibJ$babelruntimehelpersesmextends({}, multipleProps, {
37
+ ref: forwardedRef
38
+ }));
39
+ }
40
+ throw new Error(`Missing prop \`type\` expected on \`${$6c1fd9e6a8969628$var$TOGGLE_GROUP_NAME}\``);
41
+ });
42
+ /*#__PURE__*/ Object.assign($6c1fd9e6a8969628$export$af3ec21f6cfb5e30, {
43
+ displayName: $6c1fd9e6a8969628$var$TOGGLE_GROUP_NAME
44
+ });
45
+ /* -----------------------------------------------------------------------------------------------*/ const [$6c1fd9e6a8969628$var$ToggleGroupValueProvider, $6c1fd9e6a8969628$var$useToggleGroupValueContext] = $6c1fd9e6a8969628$var$createToggleGroupContext($6c1fd9e6a8969628$var$TOGGLE_GROUP_NAME);
46
+ const $6c1fd9e6a8969628$var$ToggleGroupImplSingle = /*#__PURE__*/ $jFibJ$react.forwardRef((props, forwardedRef)=>{
47
+ const { value: valueProp , defaultValue: defaultValue , onValueChange: onValueChange = ()=>{} , ...toggleGroupSingleProps } = props;
48
+ const [value, setValue] = $jFibJ$useControllableState({
49
+ prop: valueProp,
50
+ defaultProp: defaultValue,
51
+ onChange: onValueChange
52
+ });
53
+ return /*#__PURE__*/ $jFibJ$react.createElement($6c1fd9e6a8969628$var$ToggleGroupValueProvider, {
54
+ scope: props.__scopeToggleGroup,
55
+ type: "single",
56
+ value: value ? [
57
+ value
58
+ ] : [],
59
+ onItemActivate: setValue,
60
+ onItemDeactivate: $jFibJ$react.useCallback(()=>setValue('')
61
+ , [
62
+ setValue
63
+ ])
64
+ }, /*#__PURE__*/ $jFibJ$react.createElement($6c1fd9e6a8969628$var$ToggleGroupImpl, $jFibJ$babelruntimehelpersesmextends({}, toggleGroupSingleProps, {
65
+ ref: forwardedRef
66
+ })));
67
+ });
68
+ const $6c1fd9e6a8969628$var$ToggleGroupImplMultiple = /*#__PURE__*/ $jFibJ$react.forwardRef((props, forwardedRef)=>{
69
+ const { value: valueProp , defaultValue: defaultValue , onValueChange: onValueChange = ()=>{} , ...toggleGroupMultipleProps } = props;
70
+ const [value1 = [], setValue] = $jFibJ$useControllableState({
71
+ prop: valueProp,
72
+ defaultProp: defaultValue,
73
+ onChange: onValueChange
74
+ });
75
+ const handleButtonActivate = $jFibJ$react.useCallback((itemValue)=>setValue((prevValue = [])=>[
76
+ ...prevValue,
77
+ itemValue
78
+ ]
79
+ )
80
+ , [
81
+ setValue
82
+ ]);
83
+ const handleButtonDeactivate = $jFibJ$react.useCallback((itemValue)=>setValue((prevValue = [])=>prevValue.filter((value)=>value !== itemValue
84
+ )
85
+ )
86
+ , [
87
+ setValue
88
+ ]);
89
+ return /*#__PURE__*/ $jFibJ$react.createElement($6c1fd9e6a8969628$var$ToggleGroupValueProvider, {
90
+ scope: props.__scopeToggleGroup,
91
+ type: "multiple",
92
+ value: value1,
93
+ onItemActivate: handleButtonActivate,
94
+ onItemDeactivate: handleButtonDeactivate
95
+ }, /*#__PURE__*/ $jFibJ$react.createElement($6c1fd9e6a8969628$var$ToggleGroupImpl, $jFibJ$babelruntimehelpersesmextends({}, toggleGroupMultipleProps, {
96
+ ref: forwardedRef
97
+ })));
98
+ });
99
+ /*#__PURE__*/ Object.assign($6c1fd9e6a8969628$export$af3ec21f6cfb5e30, {
100
+ displayName: $6c1fd9e6a8969628$var$TOGGLE_GROUP_NAME
101
+ });
102
+ /* -----------------------------------------------------------------------------------------------*/ const [$6c1fd9e6a8969628$var$ToggleGroupContext, $6c1fd9e6a8969628$var$useToggleGroupContext] = $6c1fd9e6a8969628$var$createToggleGroupContext($6c1fd9e6a8969628$var$TOGGLE_GROUP_NAME);
103
+ const $6c1fd9e6a8969628$var$ToggleGroupImpl = /*#__PURE__*/ $jFibJ$react.forwardRef((props, forwardedRef)=>{
104
+ const { __scopeToggleGroup: __scopeToggleGroup , disabled: disabled = false , rovingFocus: rovingFocus = true , orientation: orientation , dir: dir , loop: loop = true , ...toggleGroupProps } = props;
105
+ const rovingFocusGroupScope = $6c1fd9e6a8969628$var$useRovingFocusGroupScope(__scopeToggleGroup);
106
+ const direction = $jFibJ$useDirection(dir);
107
+ const commonProps = {
108
+ role: 'group',
109
+ dir: direction,
110
+ ...toggleGroupProps
111
+ };
112
+ return /*#__PURE__*/ $jFibJ$react.createElement($6c1fd9e6a8969628$var$ToggleGroupContext, {
113
+ scope: __scopeToggleGroup,
114
+ rovingFocus: rovingFocus,
115
+ disabled: disabled
116
+ }, rovingFocus ? /*#__PURE__*/ $jFibJ$react.createElement($jFibJ$Root, $jFibJ$babelruntimehelpersesmextends({
117
+ asChild: true
118
+ }, rovingFocusGroupScope, {
119
+ orientation: orientation,
120
+ dir: direction,
121
+ loop: loop
122
+ }), /*#__PURE__*/ $jFibJ$react.createElement($jFibJ$Primitive.div, $jFibJ$babelruntimehelpersesmextends({}, commonProps, {
123
+ ref: forwardedRef
124
+ }))) : /*#__PURE__*/ $jFibJ$react.createElement($jFibJ$Primitive.div, $jFibJ$babelruntimehelpersesmextends({}, commonProps, {
125
+ ref: forwardedRef
126
+ })));
127
+ });
128
+ /* -------------------------------------------------------------------------------------------------
129
+ * ToggleGroupItem
130
+ * -----------------------------------------------------------------------------------------------*/ const $6c1fd9e6a8969628$var$ITEM_NAME = 'ToggleGroupItem';
131
+ const $6c1fd9e6a8969628$export$b453109e13abe10b = /*#__PURE__*/ $jFibJ$react.forwardRef((props, forwardedRef)=>{
132
+ const valueContext = $6c1fd9e6a8969628$var$useToggleGroupValueContext($6c1fd9e6a8969628$var$ITEM_NAME, props.__scopeToggleGroup);
133
+ const context = $6c1fd9e6a8969628$var$useToggleGroupContext($6c1fd9e6a8969628$var$ITEM_NAME, props.__scopeToggleGroup);
134
+ const rovingFocusGroupScope = $6c1fd9e6a8969628$var$useRovingFocusGroupScope(props.__scopeToggleGroup);
135
+ const pressed = valueContext.value.includes(props.value);
136
+ const disabled = context.disabled || props.disabled;
137
+ const commonProps = {
138
+ ...props,
139
+ pressed: pressed,
140
+ disabled: disabled
141
+ };
142
+ const ref = $jFibJ$react.useRef(null);
143
+ return context.rovingFocus ? /*#__PURE__*/ $jFibJ$react.createElement($jFibJ$Item, $jFibJ$babelruntimehelpersesmextends({
144
+ asChild: true
145
+ }, rovingFocusGroupScope, {
146
+ focusable: !disabled,
147
+ active: pressed,
148
+ ref: ref
149
+ }), /*#__PURE__*/ $jFibJ$react.createElement($6c1fd9e6a8969628$var$ToggleGroupItemImpl, $jFibJ$babelruntimehelpersesmextends({}, commonProps, {
150
+ ref: forwardedRef
151
+ }))) : /*#__PURE__*/ $jFibJ$react.createElement($6c1fd9e6a8969628$var$ToggleGroupItemImpl, $jFibJ$babelruntimehelpersesmextends({}, commonProps, {
152
+ ref: forwardedRef
153
+ }));
154
+ });
155
+ /*#__PURE__*/ Object.assign($6c1fd9e6a8969628$export$b453109e13abe10b, {
156
+ displayName: $6c1fd9e6a8969628$var$ITEM_NAME
157
+ });
158
+ /* -----------------------------------------------------------------------------------------------*/ const $6c1fd9e6a8969628$var$ToggleGroupItemImpl = /*#__PURE__*/ $jFibJ$react.forwardRef((props, forwardedRef)=>{
159
+ const { __scopeToggleGroup: __scopeToggleGroup , value: value , ...itemProps } = props;
160
+ const valueContext = $6c1fd9e6a8969628$var$useToggleGroupValueContext($6c1fd9e6a8969628$var$ITEM_NAME, __scopeToggleGroup);
161
+ const singleProps = {
162
+ role: 'radio',
163
+ 'aria-checked': props.pressed,
164
+ 'aria-pressed': undefined
165
+ };
166
+ const typeProps = valueContext.type === 'single' ? singleProps : undefined;
167
+ return /*#__PURE__*/ $jFibJ$react.createElement($jFibJ$Toggle, $jFibJ$babelruntimehelpersesmextends({}, typeProps, itemProps, {
168
+ ref: forwardedRef,
169
+ onPressedChange: (pressed)=>{
170
+ if (pressed) valueContext.onItemActivate(value);
171
+ else valueContext.onItemDeactivate(value);
172
+ }
173
+ }));
174
+ });
175
+ /* -----------------------------------------------------------------------------------------------*/ const $6c1fd9e6a8969628$export$be92b6f5f03c0fe9 = $6c1fd9e6a8969628$export$af3ec21f6cfb5e30;
176
+ const $6c1fd9e6a8969628$export$6d08773d2e66f8f2 = $6c1fd9e6a8969628$export$b453109e13abe10b;
177
+
178
+
179
+
180
+
181
+ export {$6c1fd9e6a8969628$export$d1c7c4bcd9f26dd4 as createToggleGroupScope, $6c1fd9e6a8969628$export$af3ec21f6cfb5e30 as ToggleGroup, $6c1fd9e6a8969628$export$b453109e13abe10b as ToggleGroupItem, $6c1fd9e6a8969628$export$be92b6f5f03c0fe9 as Root, $6c1fd9e6a8969628$export$6d08773d2e66f8f2 as Item};
2
182
  //# 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 { 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":["createToggleGroupContext","createToggleGroupScope","createContextScope","createRovingFocusGroupScope","useRovingFocusGroupScope","ToggleGroup","React","forwardRef","props","forwardedRef","type","toggleGroupProps","singleProps","_react","createElement","$aa4ce03ccbfe0180cf77e2e37a90e$var$ToggleGroupImplSingle","_babelRuntimeHelpersEsmExtends","ref","multipleProps","$aa4ce03ccbfe0180cf77e2e37a90e$var$ToggleGroupImplMultiple","Error","ToggleGroupValueProvider","useToggleGroupValueContext","ToggleGroupImplSingle","value","valueProp","defaultValue","onValueChange","toggleGroupSingleProps","setValue","useControllableState","prop","defaultProp","onChange","$aa4ce03ccbfe0180cf77e2e37a90e$var$ToggleGroupValueProvider","scope","__scopeToggleGroup","onItemActivate","onItemDeactivate","useCallback","$aa4ce03ccbfe0180cf77e2e37a90e$var$ToggleGroupImpl","ToggleGroupImplMultiple","toggleGroupMultipleProps","handleButtonActivate","itemValue","prevValue","handleButtonDeactivate","filter","ToggleGroupContext","useToggleGroupContext","ToggleGroupImpl","disabled","rovingFocus","orientation","dir","loop","rovingFocusGroupScope","direction","useDirection","commonProps","role","$aa4ce03ccbfe0180cf77e2e37a90e$var$ToggleGroupContext","_radixUiReactRovingFocus","Root","asChild","Primitive","div","ToggleGroupItem","valueContext","context","pressed","includes","useRef","Item","focusable","active","$aa4ce03ccbfe0180cf77e2e37a90e$var$ToggleGroupItemImpl","ToggleGroupItemImpl","itemProps","undefined","typeProps","Toggle","onPressedChange"],"version":3,"file":"index.module.js.map"}
1
+ {"mappings":"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","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.module.js.map"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@radix-ui/react-toggle-group",
3
- "version": "0.1.6-rc.5",
3
+ "version": "0.1.6-rc.50",
4
4
  "license": "MIT",
5
5
  "source": "src/index.ts",
6
6
  "main": "dist/index.js",
@@ -17,16 +17,17 @@
17
17
  },
18
18
  "dependencies": {
19
19
  "@babel/runtime": "^7.13.10",
20
- "@radix-ui/primitive": "0.1.0",
21
- "@radix-ui/react-context": "0.1.2-rc.2",
22
- "@radix-ui/react-direction": "0.1.0-rc.5",
23
- "@radix-ui/react-primitive": "0.1.5-rc.2",
24
- "@radix-ui/react-roving-focus": "0.1.6-rc.5",
25
- "@radix-ui/react-toggle": "0.1.5-rc.2",
26
- "@radix-ui/react-use-controllable-state": "0.1.1-rc.2"
20
+ "@radix-ui/primitive": "0.1.1-rc.7",
21
+ "@radix-ui/react-context": "0.1.2-rc.47",
22
+ "@radix-ui/react-direction": "0.1.0-rc.50",
23
+ "@radix-ui/react-primitive": "0.1.5-rc.47",
24
+ "@radix-ui/react-roving-focus": "0.1.6-rc.50",
25
+ "@radix-ui/react-toggle": "0.1.5-rc.47",
26
+ "@radix-ui/react-use-controllable-state": "0.1.1-rc.47"
27
27
  },
28
28
  "peerDependencies": {
29
- "react": "^16.8 || ^17.0 || ^18.0"
29
+ "react": "^16.8 || ^17.0 || ^18.0",
30
+ "react-dom": "^16.8 || ^17.0 || ^18.0"
30
31
  },
31
32
  "homepage": "https://radix-ui.com/primitives",
32
33
  "repository": {