@radix-ui/react-toggle-group 0.1.6-rc.4 → 0.1.6-rc.7

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 * from './ToggleGroup';\n"],"names":[],"version":3,"file":"index.d.ts.map"}
package/dist/index.js CHANGED
@@ -1,2 +1,211 @@
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$exportWildcard(dest, source) {
11
+ Object.keys(source).forEach(function(key) {
12
+ if (key === 'default' || key === '__esModule' || dest.hasOwnProperty(key)) {
13
+ return;
14
+ }
15
+
16
+ Object.defineProperty(dest, key, {
17
+ enumerable: true,
18
+ get: function get() {
19
+ return source[key];
20
+ }
21
+ });
22
+ });
23
+
24
+ return dest;
25
+ }
26
+ function $parcel$interopDefault(a) {
27
+ return a && a.__esModule ? a.default : a;
28
+ }
29
+ function $parcel$export(e, n, v, s) {
30
+ Object.defineProperty(e, n, {get: v, set: s, enumerable: true, configurable: true});
31
+ }
32
+ var $14b404ddd46c8376$exports = {};
33
+
34
+ $parcel$export($14b404ddd46c8376$exports, "createToggleGroupScope", () => $14b404ddd46c8376$export$d1c7c4bcd9f26dd4);
35
+ $parcel$export($14b404ddd46c8376$exports, "ToggleGroup", () => $14b404ddd46c8376$export$af3ec21f6cfb5e30);
36
+ $parcel$export($14b404ddd46c8376$exports, "ToggleGroupItem", () => $14b404ddd46c8376$export$b453109e13abe10b);
37
+ $parcel$export($14b404ddd46c8376$exports, "Root", () => $14b404ddd46c8376$export$be92b6f5f03c0fe9);
38
+ $parcel$export($14b404ddd46c8376$exports, "Item", () => $14b404ddd46c8376$export$6d08773d2e66f8f2);
39
+
40
+
41
+
42
+
43
+
44
+
45
+
46
+
47
+
48
+ /* -------------------------------------------------------------------------------------------------
49
+ * ToggleGroup
50
+ * -----------------------------------------------------------------------------------------------*/ const $14b404ddd46c8376$var$TOGGLE_GROUP_NAME = 'ToggleGroup';
51
+ const [$14b404ddd46c8376$var$createToggleGroupContext, $14b404ddd46c8376$export$d1c7c4bcd9f26dd4] = $1z6X1$radixuireactcontext.createContextScope($14b404ddd46c8376$var$TOGGLE_GROUP_NAME, [
52
+ $1z6X1$radixuireactrovingfocus.createRovingFocusGroupScope
53
+ ]);
54
+ const $14b404ddd46c8376$var$useRovingFocusGroupScope = $1z6X1$radixuireactrovingfocus.createRovingFocusGroupScope();
55
+ const $14b404ddd46c8376$export$af3ec21f6cfb5e30 = /*#__PURE__*/ ($parcel$interopDefault($1z6X1$react)).forwardRef((props, forwardedRef)=>{
56
+ const { type: type , ...toggleGroupProps } = props;
57
+ if (type === 'single') {
58
+ const singleProps = toggleGroupProps;
59
+ return /*#__PURE__*/ ($parcel$interopDefault($1z6X1$react)).createElement($14b404ddd46c8376$var$ToggleGroupImplSingle, ($parcel$interopDefault($1z6X1$babelruntimehelpersextends))({}, singleProps, {
60
+ ref: forwardedRef
61
+ }));
62
+ }
63
+ if (type === 'multiple') {
64
+ const multipleProps = toggleGroupProps;
65
+ return /*#__PURE__*/ ($parcel$interopDefault($1z6X1$react)).createElement($14b404ddd46c8376$var$ToggleGroupImplMultiple, ($parcel$interopDefault($1z6X1$babelruntimehelpersextends))({}, multipleProps, {
66
+ ref: forwardedRef
67
+ }));
68
+ }
69
+ throw new Error(`Missing prop \`type\` expected on \`${$14b404ddd46c8376$var$TOGGLE_GROUP_NAME}\``);
70
+ });
71
+ /*#__PURE__*/ Object.assign($14b404ddd46c8376$export$af3ec21f6cfb5e30, {
72
+ displayName: $14b404ddd46c8376$var$TOGGLE_GROUP_NAME
73
+ });
74
+ /* -----------------------------------------------------------------------------------------------*/ const [$14b404ddd46c8376$var$ToggleGroupValueProvider, $14b404ddd46c8376$var$useToggleGroupValueContext] = $14b404ddd46c8376$var$createToggleGroupContext($14b404ddd46c8376$var$TOGGLE_GROUP_NAME);
75
+ const $14b404ddd46c8376$var$ToggleGroupImplSingle = /*#__PURE__*/ ($parcel$interopDefault($1z6X1$react)).forwardRef((props, forwardedRef)=>{
76
+ const { value: valueProp , defaultValue: defaultValue , onValueChange: onValueChange = ()=>{} , ...toggleGroupSingleProps } = props;
77
+ const [value, setValue] = $1z6X1$radixuireactusecontrollablestate.useControllableState({
78
+ prop: valueProp,
79
+ defaultProp: defaultValue,
80
+ onChange: onValueChange
81
+ });
82
+ return /*#__PURE__*/ ($parcel$interopDefault($1z6X1$react)).createElement($14b404ddd46c8376$var$ToggleGroupValueProvider, {
83
+ scope: props.__scopeToggleGroup,
84
+ type: "single",
85
+ value: value ? [
86
+ value
87
+ ] : [],
88
+ onItemActivate: setValue,
89
+ onItemDeactivate: ($parcel$interopDefault($1z6X1$react)).useCallback(()=>setValue('')
90
+ , [
91
+ setValue
92
+ ])
93
+ }, /*#__PURE__*/ ($parcel$interopDefault($1z6X1$react)).createElement($14b404ddd46c8376$var$ToggleGroupImpl, ($parcel$interopDefault($1z6X1$babelruntimehelpersextends))({}, toggleGroupSingleProps, {
94
+ ref: forwardedRef
95
+ })));
96
+ });
97
+ const $14b404ddd46c8376$var$ToggleGroupImplMultiple = /*#__PURE__*/ ($parcel$interopDefault($1z6X1$react)).forwardRef((props, forwardedRef)=>{
98
+ const { value: valueProp , defaultValue: defaultValue , onValueChange: onValueChange = ()=>{} , ...toggleGroupMultipleProps } = props;
99
+ const [value1 = [], setValue] = $1z6X1$radixuireactusecontrollablestate.useControllableState({
100
+ prop: valueProp,
101
+ defaultProp: defaultValue,
102
+ onChange: onValueChange
103
+ });
104
+ const handleButtonActivate = ($parcel$interopDefault($1z6X1$react)).useCallback((itemValue)=>setValue((prevValue = [])=>[
105
+ ...prevValue,
106
+ itemValue
107
+ ]
108
+ )
109
+ , [
110
+ setValue
111
+ ]);
112
+ const handleButtonDeactivate = ($parcel$interopDefault($1z6X1$react)).useCallback((itemValue)=>setValue((prevValue = [])=>prevValue.filter((value)=>value !== itemValue
113
+ )
114
+ )
115
+ , [
116
+ setValue
117
+ ]);
118
+ return /*#__PURE__*/ ($parcel$interopDefault($1z6X1$react)).createElement($14b404ddd46c8376$var$ToggleGroupValueProvider, {
119
+ scope: props.__scopeToggleGroup,
120
+ type: "multiple",
121
+ value: value1,
122
+ onItemActivate: handleButtonActivate,
123
+ onItemDeactivate: handleButtonDeactivate
124
+ }, /*#__PURE__*/ ($parcel$interopDefault($1z6X1$react)).createElement($14b404ddd46c8376$var$ToggleGroupImpl, ($parcel$interopDefault($1z6X1$babelruntimehelpersextends))({}, toggleGroupMultipleProps, {
125
+ ref: forwardedRef
126
+ })));
127
+ });
128
+ /*#__PURE__*/ Object.assign($14b404ddd46c8376$export$af3ec21f6cfb5e30, {
129
+ displayName: $14b404ddd46c8376$var$TOGGLE_GROUP_NAME
130
+ });
131
+ /* -----------------------------------------------------------------------------------------------*/ const [$14b404ddd46c8376$var$ToggleGroupContext, $14b404ddd46c8376$var$useToggleGroupContext] = $14b404ddd46c8376$var$createToggleGroupContext($14b404ddd46c8376$var$TOGGLE_GROUP_NAME);
132
+ const $14b404ddd46c8376$var$ToggleGroupImpl = /*#__PURE__*/ ($parcel$interopDefault($1z6X1$react)).forwardRef((props, forwardedRef)=>{
133
+ const { __scopeToggleGroup: __scopeToggleGroup , disabled: disabled = false , rovingFocus: rovingFocus = true , orientation: orientation , dir: dir , loop: loop = true , ...toggleGroupProps } = props;
134
+ const rovingFocusGroupScope = $14b404ddd46c8376$var$useRovingFocusGroupScope(__scopeToggleGroup);
135
+ const direction = $1z6X1$radixuireactdirection.useDirection(dir);
136
+ const commonProps = {
137
+ role: 'group',
138
+ dir: direction,
139
+ ...toggleGroupProps
140
+ };
141
+ return /*#__PURE__*/ ($parcel$interopDefault($1z6X1$react)).createElement($14b404ddd46c8376$var$ToggleGroupContext, {
142
+ scope: __scopeToggleGroup,
143
+ rovingFocus: rovingFocus,
144
+ disabled: disabled
145
+ }, rovingFocus ? /*#__PURE__*/ ($parcel$interopDefault($1z6X1$react)).createElement($1z6X1$radixuireactrovingfocus.Root, ($parcel$interopDefault($1z6X1$babelruntimehelpersextends))({
146
+ asChild: true
147
+ }, rovingFocusGroupScope, {
148
+ orientation: orientation,
149
+ dir: direction,
150
+ loop: loop
151
+ }), /*#__PURE__*/ ($parcel$interopDefault($1z6X1$react)).createElement($1z6X1$radixuireactprimitive.Primitive.div, ($parcel$interopDefault($1z6X1$babelruntimehelpersextends))({}, commonProps, {
152
+ ref: forwardedRef
153
+ }))) : /*#__PURE__*/ ($parcel$interopDefault($1z6X1$react)).createElement($1z6X1$radixuireactprimitive.Primitive.div, ($parcel$interopDefault($1z6X1$babelruntimehelpersextends))({}, commonProps, {
154
+ ref: forwardedRef
155
+ })));
156
+ });
157
+ /* -------------------------------------------------------------------------------------------------
158
+ * ToggleGroupItem
159
+ * -----------------------------------------------------------------------------------------------*/ const $14b404ddd46c8376$var$ITEM_NAME = 'ToggleGroupItem';
160
+ const $14b404ddd46c8376$export$b453109e13abe10b = /*#__PURE__*/ ($parcel$interopDefault($1z6X1$react)).forwardRef((props, forwardedRef)=>{
161
+ const valueContext = $14b404ddd46c8376$var$useToggleGroupValueContext($14b404ddd46c8376$var$ITEM_NAME, props.__scopeToggleGroup);
162
+ const context = $14b404ddd46c8376$var$useToggleGroupContext($14b404ddd46c8376$var$ITEM_NAME, props.__scopeToggleGroup);
163
+ const rovingFocusGroupScope = $14b404ddd46c8376$var$useRovingFocusGroupScope(props.__scopeToggleGroup);
164
+ const pressed = valueContext.value.includes(props.value);
165
+ const disabled = context.disabled || props.disabled;
166
+ const commonProps = {
167
+ ...props,
168
+ pressed: pressed,
169
+ disabled: disabled
170
+ };
171
+ const ref = ($parcel$interopDefault($1z6X1$react)).useRef(null);
172
+ return context.rovingFocus ? /*#__PURE__*/ ($parcel$interopDefault($1z6X1$react)).createElement($1z6X1$radixuireactrovingfocus.Item, ($parcel$interopDefault($1z6X1$babelruntimehelpersextends))({
173
+ asChild: true
174
+ }, rovingFocusGroupScope, {
175
+ focusable: !disabled,
176
+ active: pressed,
177
+ ref: ref
178
+ }), /*#__PURE__*/ ($parcel$interopDefault($1z6X1$react)).createElement($14b404ddd46c8376$var$ToggleGroupItemImpl, ($parcel$interopDefault($1z6X1$babelruntimehelpersextends))({}, commonProps, {
179
+ ref: forwardedRef
180
+ }))) : /*#__PURE__*/ ($parcel$interopDefault($1z6X1$react)).createElement($14b404ddd46c8376$var$ToggleGroupItemImpl, ($parcel$interopDefault($1z6X1$babelruntimehelpersextends))({}, commonProps, {
181
+ ref: forwardedRef
182
+ }));
183
+ });
184
+ /*#__PURE__*/ Object.assign($14b404ddd46c8376$export$b453109e13abe10b, {
185
+ displayName: $14b404ddd46c8376$var$ITEM_NAME
186
+ });
187
+ /* -----------------------------------------------------------------------------------------------*/ const $14b404ddd46c8376$var$ToggleGroupItemImpl = /*#__PURE__*/ ($parcel$interopDefault($1z6X1$react)).forwardRef((props, forwardedRef)=>{
188
+ const { __scopeToggleGroup: __scopeToggleGroup , value: value , ...itemProps } = props;
189
+ const valueContext = $14b404ddd46c8376$var$useToggleGroupValueContext($14b404ddd46c8376$var$ITEM_NAME, __scopeToggleGroup);
190
+ const singleProps = {
191
+ role: 'radio',
192
+ 'aria-checked': props.pressed,
193
+ 'aria-pressed': undefined
194
+ };
195
+ const typeProps = valueContext.type === 'single' ? singleProps : undefined;
196
+ return /*#__PURE__*/ ($parcel$interopDefault($1z6X1$react)).createElement($1z6X1$radixuireacttoggle.Toggle, ($parcel$interopDefault($1z6X1$babelruntimehelpersextends))({}, typeProps, itemProps, {
197
+ ref: forwardedRef,
198
+ onPressedChange: (pressed)=>{
199
+ if (pressed) valueContext.onItemActivate(value);
200
+ else valueContext.onItemDeactivate(value);
201
+ }
202
+ }));
203
+ });
204
+ /* -----------------------------------------------------------------------------------------------*/ const $14b404ddd46c8376$export$be92b6f5f03c0fe9 = $14b404ddd46c8376$export$af3ec21f6cfb5e30;
205
+ const $14b404ddd46c8376$export$6d08773d2e66f8f2 = $14b404ddd46c8376$export$b453109e13abe10b;
206
+
207
+
208
+ $parcel$exportWildcard(module.exports, $14b404ddd46c8376$exports);
209
+
210
+
2
211
  //# 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 * 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":["React","createContextScope","Primitive","RovingFocusGroup","createRovingFocusGroupScope","Toggle","useControllableState","useDirection","TOGGLE_GROUP_NAME","createToggleGroupContext","createToggleGroupScope","useRovingFocusGroupScope","ToggleGroup","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","ToggleGroupItem","valueContext","context","pressed","includes","ref","useRef","ToggleGroupItemImpl","itemProps","undefined","typeProps","onItemActivate","onItemDeactivate","Root","Item"],"version":3,"file":"index.js.map"}
@@ -1,2 +1,192 @@
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
+ function $parcel$export(e, n, v, s) {
11
+ Object.defineProperty(e, n, {get: v, set: s, enumerable: true, configurable: true});
12
+ }
13
+ var $6c1fd9e6a8969628$exports = {};
14
+
15
+ $parcel$export($6c1fd9e6a8969628$exports, "createToggleGroupScope", () => $6c1fd9e6a8969628$export$d1c7c4bcd9f26dd4);
16
+ $parcel$export($6c1fd9e6a8969628$exports, "ToggleGroup", () => $6c1fd9e6a8969628$export$af3ec21f6cfb5e30);
17
+ $parcel$export($6c1fd9e6a8969628$exports, "ToggleGroupItem", () => $6c1fd9e6a8969628$export$b453109e13abe10b);
18
+ $parcel$export($6c1fd9e6a8969628$exports, "Root", () => $6c1fd9e6a8969628$export$be92b6f5f03c0fe9);
19
+ $parcel$export($6c1fd9e6a8969628$exports, "Item", () => $6c1fd9e6a8969628$export$6d08773d2e66f8f2);
20
+
21
+
22
+
23
+
24
+
25
+
26
+
27
+
28
+
29
+ /* -------------------------------------------------------------------------------------------------
30
+ * ToggleGroup
31
+ * -----------------------------------------------------------------------------------------------*/ const $6c1fd9e6a8969628$var$TOGGLE_GROUP_NAME = 'ToggleGroup';
32
+ const [$6c1fd9e6a8969628$var$createToggleGroupContext, $6c1fd9e6a8969628$export$d1c7c4bcd9f26dd4] = $jFibJ$createContextScope($6c1fd9e6a8969628$var$TOGGLE_GROUP_NAME, [
33
+ $jFibJ$createRovingFocusGroupScope
34
+ ]);
35
+ const $6c1fd9e6a8969628$var$useRovingFocusGroupScope = $jFibJ$createRovingFocusGroupScope();
36
+ const $6c1fd9e6a8969628$export$af3ec21f6cfb5e30 = /*#__PURE__*/ $jFibJ$react.forwardRef((props, forwardedRef)=>{
37
+ const { type: type , ...toggleGroupProps } = props;
38
+ if (type === 'single') {
39
+ const singleProps = toggleGroupProps;
40
+ return /*#__PURE__*/ $jFibJ$react.createElement($6c1fd9e6a8969628$var$ToggleGroupImplSingle, $jFibJ$babelruntimehelpersesmextends({}, singleProps, {
41
+ ref: forwardedRef
42
+ }));
43
+ }
44
+ if (type === 'multiple') {
45
+ const multipleProps = toggleGroupProps;
46
+ return /*#__PURE__*/ $jFibJ$react.createElement($6c1fd9e6a8969628$var$ToggleGroupImplMultiple, $jFibJ$babelruntimehelpersesmextends({}, multipleProps, {
47
+ ref: forwardedRef
48
+ }));
49
+ }
50
+ throw new Error(`Missing prop \`type\` expected on \`${$6c1fd9e6a8969628$var$TOGGLE_GROUP_NAME}\``);
51
+ });
52
+ /*#__PURE__*/ Object.assign($6c1fd9e6a8969628$export$af3ec21f6cfb5e30, {
53
+ displayName: $6c1fd9e6a8969628$var$TOGGLE_GROUP_NAME
54
+ });
55
+ /* -----------------------------------------------------------------------------------------------*/ const [$6c1fd9e6a8969628$var$ToggleGroupValueProvider, $6c1fd9e6a8969628$var$useToggleGroupValueContext] = $6c1fd9e6a8969628$var$createToggleGroupContext($6c1fd9e6a8969628$var$TOGGLE_GROUP_NAME);
56
+ const $6c1fd9e6a8969628$var$ToggleGroupImplSingle = /*#__PURE__*/ $jFibJ$react.forwardRef((props, forwardedRef)=>{
57
+ const { value: valueProp , defaultValue: defaultValue , onValueChange: onValueChange = ()=>{} , ...toggleGroupSingleProps } = props;
58
+ const [value, setValue] = $jFibJ$useControllableState({
59
+ prop: valueProp,
60
+ defaultProp: defaultValue,
61
+ onChange: onValueChange
62
+ });
63
+ return /*#__PURE__*/ $jFibJ$react.createElement($6c1fd9e6a8969628$var$ToggleGroupValueProvider, {
64
+ scope: props.__scopeToggleGroup,
65
+ type: "single",
66
+ value: value ? [
67
+ value
68
+ ] : [],
69
+ onItemActivate: setValue,
70
+ onItemDeactivate: $jFibJ$react.useCallback(()=>setValue('')
71
+ , [
72
+ setValue
73
+ ])
74
+ }, /*#__PURE__*/ $jFibJ$react.createElement($6c1fd9e6a8969628$var$ToggleGroupImpl, $jFibJ$babelruntimehelpersesmextends({}, toggleGroupSingleProps, {
75
+ ref: forwardedRef
76
+ })));
77
+ });
78
+ const $6c1fd9e6a8969628$var$ToggleGroupImplMultiple = /*#__PURE__*/ $jFibJ$react.forwardRef((props, forwardedRef)=>{
79
+ const { value: valueProp , defaultValue: defaultValue , onValueChange: onValueChange = ()=>{} , ...toggleGroupMultipleProps } = props;
80
+ const [value1 = [], setValue] = $jFibJ$useControllableState({
81
+ prop: valueProp,
82
+ defaultProp: defaultValue,
83
+ onChange: onValueChange
84
+ });
85
+ const handleButtonActivate = $jFibJ$react.useCallback((itemValue)=>setValue((prevValue = [])=>[
86
+ ...prevValue,
87
+ itemValue
88
+ ]
89
+ )
90
+ , [
91
+ setValue
92
+ ]);
93
+ const handleButtonDeactivate = $jFibJ$react.useCallback((itemValue)=>setValue((prevValue = [])=>prevValue.filter((value)=>value !== itemValue
94
+ )
95
+ )
96
+ , [
97
+ setValue
98
+ ]);
99
+ return /*#__PURE__*/ $jFibJ$react.createElement($6c1fd9e6a8969628$var$ToggleGroupValueProvider, {
100
+ scope: props.__scopeToggleGroup,
101
+ type: "multiple",
102
+ value: value1,
103
+ onItemActivate: handleButtonActivate,
104
+ onItemDeactivate: handleButtonDeactivate
105
+ }, /*#__PURE__*/ $jFibJ$react.createElement($6c1fd9e6a8969628$var$ToggleGroupImpl, $jFibJ$babelruntimehelpersesmextends({}, toggleGroupMultipleProps, {
106
+ ref: forwardedRef
107
+ })));
108
+ });
109
+ /*#__PURE__*/ Object.assign($6c1fd9e6a8969628$export$af3ec21f6cfb5e30, {
110
+ displayName: $6c1fd9e6a8969628$var$TOGGLE_GROUP_NAME
111
+ });
112
+ /* -----------------------------------------------------------------------------------------------*/ const [$6c1fd9e6a8969628$var$ToggleGroupContext, $6c1fd9e6a8969628$var$useToggleGroupContext] = $6c1fd9e6a8969628$var$createToggleGroupContext($6c1fd9e6a8969628$var$TOGGLE_GROUP_NAME);
113
+ const $6c1fd9e6a8969628$var$ToggleGroupImpl = /*#__PURE__*/ $jFibJ$react.forwardRef((props, forwardedRef)=>{
114
+ const { __scopeToggleGroup: __scopeToggleGroup , disabled: disabled = false , rovingFocus: rovingFocus = true , orientation: orientation , dir: dir , loop: loop = true , ...toggleGroupProps } = props;
115
+ const rovingFocusGroupScope = $6c1fd9e6a8969628$var$useRovingFocusGroupScope(__scopeToggleGroup);
116
+ const direction = $jFibJ$useDirection(dir);
117
+ const commonProps = {
118
+ role: 'group',
119
+ dir: direction,
120
+ ...toggleGroupProps
121
+ };
122
+ return /*#__PURE__*/ $jFibJ$react.createElement($6c1fd9e6a8969628$var$ToggleGroupContext, {
123
+ scope: __scopeToggleGroup,
124
+ rovingFocus: rovingFocus,
125
+ disabled: disabled
126
+ }, rovingFocus ? /*#__PURE__*/ $jFibJ$react.createElement($jFibJ$Root, $jFibJ$babelruntimehelpersesmextends({
127
+ asChild: true
128
+ }, rovingFocusGroupScope, {
129
+ orientation: orientation,
130
+ dir: direction,
131
+ loop: loop
132
+ }), /*#__PURE__*/ $jFibJ$react.createElement($jFibJ$Primitive.div, $jFibJ$babelruntimehelpersesmextends({}, commonProps, {
133
+ ref: forwardedRef
134
+ }))) : /*#__PURE__*/ $jFibJ$react.createElement($jFibJ$Primitive.div, $jFibJ$babelruntimehelpersesmextends({}, commonProps, {
135
+ ref: forwardedRef
136
+ })));
137
+ });
138
+ /* -------------------------------------------------------------------------------------------------
139
+ * ToggleGroupItem
140
+ * -----------------------------------------------------------------------------------------------*/ const $6c1fd9e6a8969628$var$ITEM_NAME = 'ToggleGroupItem';
141
+ const $6c1fd9e6a8969628$export$b453109e13abe10b = /*#__PURE__*/ $jFibJ$react.forwardRef((props, forwardedRef)=>{
142
+ const valueContext = $6c1fd9e6a8969628$var$useToggleGroupValueContext($6c1fd9e6a8969628$var$ITEM_NAME, props.__scopeToggleGroup);
143
+ const context = $6c1fd9e6a8969628$var$useToggleGroupContext($6c1fd9e6a8969628$var$ITEM_NAME, props.__scopeToggleGroup);
144
+ const rovingFocusGroupScope = $6c1fd9e6a8969628$var$useRovingFocusGroupScope(props.__scopeToggleGroup);
145
+ const pressed = valueContext.value.includes(props.value);
146
+ const disabled = context.disabled || props.disabled;
147
+ const commonProps = {
148
+ ...props,
149
+ pressed: pressed,
150
+ disabled: disabled
151
+ };
152
+ const ref = $jFibJ$react.useRef(null);
153
+ return context.rovingFocus ? /*#__PURE__*/ $jFibJ$react.createElement($jFibJ$Item, $jFibJ$babelruntimehelpersesmextends({
154
+ asChild: true
155
+ }, rovingFocusGroupScope, {
156
+ focusable: !disabled,
157
+ active: pressed,
158
+ ref: ref
159
+ }), /*#__PURE__*/ $jFibJ$react.createElement($6c1fd9e6a8969628$var$ToggleGroupItemImpl, $jFibJ$babelruntimehelpersesmextends({}, commonProps, {
160
+ ref: forwardedRef
161
+ }))) : /*#__PURE__*/ $jFibJ$react.createElement($6c1fd9e6a8969628$var$ToggleGroupItemImpl, $jFibJ$babelruntimehelpersesmextends({}, commonProps, {
162
+ ref: forwardedRef
163
+ }));
164
+ });
165
+ /*#__PURE__*/ Object.assign($6c1fd9e6a8969628$export$b453109e13abe10b, {
166
+ displayName: $6c1fd9e6a8969628$var$ITEM_NAME
167
+ });
168
+ /* -----------------------------------------------------------------------------------------------*/ const $6c1fd9e6a8969628$var$ToggleGroupItemImpl = /*#__PURE__*/ $jFibJ$react.forwardRef((props, forwardedRef)=>{
169
+ const { __scopeToggleGroup: __scopeToggleGroup , value: value , ...itemProps } = props;
170
+ const valueContext = $6c1fd9e6a8969628$var$useToggleGroupValueContext($6c1fd9e6a8969628$var$ITEM_NAME, __scopeToggleGroup);
171
+ const singleProps = {
172
+ role: 'radio',
173
+ 'aria-checked': props.pressed,
174
+ 'aria-pressed': undefined
175
+ };
176
+ const typeProps = valueContext.type === 'single' ? singleProps : undefined;
177
+ return /*#__PURE__*/ $jFibJ$react.createElement($jFibJ$Toggle, $jFibJ$babelruntimehelpersesmextends({}, typeProps, itemProps, {
178
+ ref: forwardedRef,
179
+ onPressedChange: (pressed)=>{
180
+ if (pressed) valueContext.onItemActivate(value);
181
+ else valueContext.onItemDeactivate(value);
182
+ }
183
+ }));
184
+ });
185
+ /* -----------------------------------------------------------------------------------------------*/ const $6c1fd9e6a8969628$export$be92b6f5f03c0fe9 = $6c1fd9e6a8969628$export$af3ec21f6cfb5e30;
186
+ const $6c1fd9e6a8969628$export$6d08773d2e66f8f2 = $6c1fd9e6a8969628$export$b453109e13abe10b;
187
+
188
+
189
+
190
+
191
+ 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
192
  //# 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 * 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":["React","createContextScope","Primitive","RovingFocusGroup","createRovingFocusGroupScope","Toggle","useControllableState","useDirection","TOGGLE_GROUP_NAME","createToggleGroupContext","createToggleGroupScope","useRovingFocusGroupScope","ToggleGroup","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","ToggleGroupItem","valueContext","context","pressed","includes","ref","useRef","ToggleGroupItemImpl","itemProps","undefined","typeProps","onItemActivate","onItemDeactivate","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.1.6-rc.4",
3
+ "version": "0.1.6-rc.7",
4
4
  "license": "MIT",
5
5
  "source": "src/index.ts",
6
6
  "main": "dist/index.js",
@@ -18,12 +18,12 @@
18
18
  "dependencies": {
19
19
  "@babel/runtime": "^7.13.10",
20
20
  "@radix-ui/primitive": "0.1.0",
21
- "@radix-ui/react-context": "0.1.2-rc.1",
22
- "@radix-ui/react-direction": "0.1.0-rc.4",
23
- "@radix-ui/react-primitive": "0.1.5-rc.1",
24
- "@radix-ui/react-roving-focus": "0.1.6-rc.4",
25
- "@radix-ui/react-toggle": "0.1.5-rc.1",
26
- "@radix-ui/react-use-controllable-state": "0.1.1-rc.1"
21
+ "@radix-ui/react-context": "0.1.2-rc.4",
22
+ "@radix-ui/react-direction": "0.1.0-rc.7",
23
+ "@radix-ui/react-primitive": "0.1.5-rc.4",
24
+ "@radix-ui/react-roving-focus": "0.1.6-rc.7",
25
+ "@radix-ui/react-toggle": "0.1.5-rc.4",
26
+ "@radix-ui/react-use-controllable-state": "0.1.1-rc.4"
27
27
  },
28
28
  "peerDependencies": {
29
29
  "react": "^16.8 || ^17.0 || ^18.0"