@tamagui/toggle-group 2.7.7 → 3.0.0-beta.637.1
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/cjs/Toggle.cjs +65 -130
- package/dist/cjs/Toggle.native.cjs +100 -0
- package/dist/cjs/Toggle.native.js +75 -136
- package/dist/cjs/Toggle.native.js.map +1 -1
- package/dist/cjs/ToggleGroup.cjs +158 -211
- package/dist/cjs/ToggleGroup.native.cjs +208 -0
- package/dist/cjs/ToggleGroup.native.js +173 -225
- package/dist/cjs/ToggleGroup.native.js.map +1 -1
- package/dist/cjs/context.cjs +19 -20
- package/dist/cjs/context.native.cjs +37 -0
- package/dist/cjs/context.native.js +20 -20
- package/dist/cjs/context.native.js.map +1 -1
- package/dist/cjs/index.cjs +15 -18
- package/dist/cjs/index.native.cjs +29 -0
- package/dist/cjs/index.native.js +15 -17
- package/dist/cjs/index.native.js.map +1 -1
- package/dist/cjs/types.cjs +10 -11
- package/dist/cjs/types.native.cjs +19 -0
- package/dist/cjs/types.native.js +10 -10
- package/dist/cjs/types.native.js.map +1 -1
- package/dist/esm/Toggle.mjs +53 -104
- package/dist/esm/Toggle.mjs.map +1 -1
- package/dist/esm/Toggle.native.js +61 -115
- package/dist/esm/Toggle.native.js.map +1 -1
- package/dist/esm/ToggleGroup.mjs +145 -188
- package/dist/esm/ToggleGroup.mjs.map +1 -1
- package/dist/esm/ToggleGroup.native.js +160 -203
- package/dist/esm/ToggleGroup.native.js.map +1 -1
- package/dist/esm/context.mjs +5 -3
- package/dist/esm/context.mjs.map +1 -1
- package/dist/esm/context.native.js +6 -4
- package/dist/esm/context.native.js.map +1 -1
- package/dist/esm/index.js +4 -3
- package/dist/esm/index.mjs +4 -3
- package/dist/esm/index.native.js +4 -3
- package/dist/esm/types.mjs +0 -2
- package/dist/esm/types.native.js +0 -2
- package/dist/jsx/Toggle.mjs +53 -104
- package/dist/jsx/Toggle.mjs.map +1 -1
- package/dist/jsx/Toggle.native.cjs +100 -0
- package/dist/jsx/Toggle.native.js +75 -136
- package/dist/jsx/Toggle.native.js.map +1 -1
- package/dist/jsx/ToggleGroup.mjs +145 -188
- package/dist/jsx/ToggleGroup.mjs.map +1 -1
- package/dist/jsx/ToggleGroup.native.cjs +208 -0
- package/dist/jsx/ToggleGroup.native.js +173 -225
- package/dist/jsx/ToggleGroup.native.js.map +1 -1
- package/dist/jsx/context.mjs +5 -3
- package/dist/jsx/context.mjs.map +1 -1
- package/dist/jsx/context.native.cjs +37 -0
- package/dist/jsx/context.native.js +20 -20
- package/dist/jsx/context.native.js.map +1 -1
- package/dist/jsx/index.js +4 -3
- package/dist/jsx/index.mjs +4 -3
- package/dist/jsx/index.native.cjs +29 -0
- package/dist/jsx/index.native.js +15 -17
- package/dist/jsx/index.native.js.map +1 -1
- package/dist/jsx/types.mjs +0 -2
- package/dist/jsx/types.native.cjs +19 -0
- package/dist/jsx/types.native.js +10 -10
- package/dist/jsx/types.native.js.map +1 -1
- package/package.json +16 -15
- package/src/Toggle.tsx +27 -66
- package/src/ToggleGroup.tsx +13 -10
- package/types/Toggle.d.ts +45 -49
- package/types/Toggle.d.ts.map +1 -1
- package/types/ToggleGroup.d.ts +26 -87
- package/types/ToggleGroup.d.ts.map +1 -1
- package/types/context.d.ts +1 -1
- package/types/context.d.ts.map +1 -1
- package/dist/esm/index.js.map +0 -1
- package/dist/esm/index.mjs.map +0 -1
- package/dist/esm/index.native.js.map +0 -1
- package/dist/esm/types.mjs.map +0 -1
- package/dist/esm/types.native.js.map +0 -1
- package/dist/jsx/index.js.map +0 -1
- package/dist/jsx/index.mjs.map +0 -1
- package/dist/jsx/types.mjs.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"Toggle.native.js","names":[],"sources":["esm/Toggle.native.js"],"sourcesContent":["import { jsx as _jsx } from \"react/jsx-runtime\";\nimport { createRefComponent } from \"@tamagui/compose-refs\";\nimport { composeEventHandlers } from \"@tamagui/helpers\";\nimport { resolveSizeToken } from \"@tamagui/size\";\nimport { useControllableState } from \"@tamagui/use-controllable-state\";\nimport { styled, View } from \"@tamagui/web\";\nimport * as React from \"react\";\nimport { context } from \"./context\";\nvar NAME = \"Toggle\";\nvar ToggleFrame = styled(View, {\n displayName: NAME,\n render: \"button\",\n context,\n size: true,\n alignItems: \"center\",\n justifyContent: \"center\",\n display: \"flex\",\n variants: {\n size: {\n number: function(val) {\n return {\n width: val,\n height: val\n };\n },\n Size: function(val, param) {\n var { tokens } = param;\n if (!val) return;\n var sizeToken = resolveSizeToken(val, \"size\");\n var size = typeof sizeToken === \"number\" ? sizeToken : tokens.size[sizeToken];\n return {\n width: size,\n height: size\n };\n }\n },\n defaultActiveStyle: {\n true: {}\n }\n }\n}, {\n accept: {\n activeStyle: \"style\"\n }\n});\nvar Toggle = createRefComponent(function Toggle2(props, forwardedRef) {\n var { active: activeProp, activeStyle, defaultActive = false, onActiveChange, activeTheme, ...buttonProps } = props;\n var [active = false, setActive] = useControllableState({\n prop: activeProp,\n onChange: onActiveChange,\n defaultProp: defaultActive\n });\n var _props_onPress;\n return /* @__PURE__ */ _jsx(ToggleFrame, {\n theme: activeTheme !== null && activeTheme !== void 0 ? activeTheme : null,\n \"aria-pressed\": active,\n \"data-state\": active ? \"on\" : \"off\",\n \"data-disabled\": props.disabled ? \"\" : void 0,\n ...active && !activeStyle && {\n defaultActiveStyle: true\n },\n ...buttonProps,\n ...active && activeStyle ? activeStyle : void 0,\n ref: forwardedRef,\n onPress: composeEventHandlers((_props_onPress = props.onPress) !== null && _props_onPress !== void 0 ? _props_onPress : void 0, function() {\n if (!props.disabled) {\n setActive(function(prev) {\n return !prev;\n });\n }\n })\n });\n});\nexport {\n Toggle,\n ToggleFrame\n};\n//# sourceMappingURL=Toggle.js.map\n"],"mappings":";;;;;;;;;;AAQA,IAAI,OAAO;AACX,IAAI,cAAc,OAAO,MAAM;CAC7B,aAAa;CACb,QAAQ;CACR;CACA,MAAM;CACN,YAAY;CACZ,gBAAgB;CAChB,SAAS;CACT,UAAU;EACR,MAAM;GACJ,QAAQ,SAAS,KAAK;IACpB,OAAO;KACL,OAAO;KACP,QAAQ;IACV;GACF;GACA,MAAM,SAAS,KAAK,OAAO;IACzB,IAAI,EAAE,WAAW;IACjB,IAAI,CAAC,KAAK;IACV,IAAI,YAAY,iBAAiB,KAAK,MAAM;IAC5C,IAAI,OAAO,OAAO,cAAc,WAAW,YAAY,OAAO,KAAK;IACnE,OAAO;KACL,OAAO;KACP,QAAQ;IACV;GACF;EACF;EACA,oBAAoB,EAClB,MAAM,CAAC,EACT;CACF;AACF,GAAG,EACD,QAAQ,EACN,aAAa,QACf,EACF,CAAC;AACD,IAAI,SAAS,mBAAmB,SAAS,QAAQ,OAAO,cAAc;CACpE,IAAI,EAAE,QAAQ,YAAY,aAAa,gBAAgB,OAAO,gBAAgB,aAAa,GAAG,gBAAgB;CAC9G,IAAI,CAAC,SAAS,OAAO,aAAa,qBAAqB;EACrD,MAAM;EACN,UAAU;EACV,aAAa;CACf,CAAC;CACD,IAAI;CACJ,OAAuB,oBAAK,aAAa;EACvC,OAAO,gBAAgB,QAAQ,gBAAgB,KAAK,IAAI,cAAc;EACtE,gBAAgB;EAChB,cAAc,SAAS,OAAO;EAC9B,iBAAiB,MAAM,WAAW,KAAK,KAAK;EAC5C,GAAG,UAAU,CAAC,eAAe,EAC3B,oBAAoB,KACtB;EACA,GAAG;EACH,GAAG,UAAU,cAAc,cAAc,KAAK;EAC9C,KAAK;EACL,SAAS,sBAAsB,iBAAiB,MAAM,aAAa,QAAQ,mBAAmB,KAAK,IAAI,iBAAiB,KAAK,GAAG,WAAW;GACzI,IAAI,CAAC,MAAM,UAAU;IACnB,UAAU,SAAS,MAAM;KACvB,OAAO,CAAC;IACV,CAAC;GACH;EACF,CAAC;CACH,CAAC;AACH,CAAC"}
|
package/dist/esm/ToggleGroup.mjs
CHANGED
|
@@ -1,209 +1,166 @@
|
|
|
1
|
+
import { createRefComponent } from "@tamagui/compose-refs";
|
|
1
2
|
import { isWeb } from "@tamagui/constants";
|
|
2
3
|
import { registerFocusable } from "@tamagui/focusable";
|
|
3
4
|
import { withStaticProperties } from "@tamagui/helpers";
|
|
4
5
|
import { RovingFocusGroup } from "@tamagui/roving-focus";
|
|
5
6
|
import { useControllableState } from "@tamagui/use-controllable-state";
|
|
6
7
|
import { useDirection } from "@tamagui/use-direction";
|
|
7
|
-
import { createStyledContext,
|
|
8
|
+
import { View, createStyledContext, createStyledHOC, styled } from "@tamagui/web";
|
|
8
9
|
import React from "react";
|
|
9
10
|
import { Toggle, ToggleFrame } from "./Toggle.mjs";
|
|
10
|
-
import { context
|
|
11
|
+
import { context } from "./context.mjs";
|
|
11
12
|
import { jsx } from "react/jsx-runtime";
|
|
13
|
+
|
|
12
14
|
const TOGGLE_GROUP_NAME = "ToggleGroup";
|
|
13
15
|
const TOGGLE_GROUP_ITEM_NAME = "ToggleGroupItem";
|
|
14
16
|
const TOGGLE_GROUP_CONTEXT = "ToggleGroup";
|
|
15
|
-
const {
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
const
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
const
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
active,
|
|
46
|
-
children: inner
|
|
47
|
-
}) : inner
|
|
48
|
-
})
|
|
49
|
-
});
|
|
17
|
+
const { Provider: ToggleGroupItemProvider } = createStyledContext();
|
|
18
|
+
const { Provider: ToggleGroupContext, useStyledContext: useToggleGroupContext } = createStyledContext({});
|
|
19
|
+
const ToggleGroupItem = createStyledHOC(ToggleFrame, (props, forwardedRef) => {
|
|
20
|
+
const valueContext = useToggleGroupValueContext(props.__scopeToggleGroup);
|
|
21
|
+
const context$1 = useToggleGroupContext(props.__scopeToggleGroup);
|
|
22
|
+
const toggleContext = context.useStyledContext(props.__scopeToggleGroup);
|
|
23
|
+
const active = valueContext?.value.includes(props.value);
|
|
24
|
+
const color = props.color || toggleContext.color;
|
|
25
|
+
const disabled = context$1.disabled || props.disabled || false;
|
|
26
|
+
const inner = /* @__PURE__ */ jsx(ToggleGroupItemImpl, {
|
|
27
|
+
ref: forwardedRef,
|
|
28
|
+
tabIndex: disabled ? -1 : 0,
|
|
29
|
+
...props,
|
|
30
|
+
active,
|
|
31
|
+
disabled
|
|
32
|
+
});
|
|
33
|
+
return /* @__PURE__ */ jsx(ToggleGroupItemProvider, {
|
|
34
|
+
scope: props.__scopeToggleGroup,
|
|
35
|
+
children: /* @__PURE__ */ jsx(context.Provider, {
|
|
36
|
+
color,
|
|
37
|
+
active,
|
|
38
|
+
children: context$1.rovingFocus ? /* @__PURE__ */ jsx(RovingFocusGroup.Item, {
|
|
39
|
+
asChild: "except-style",
|
|
40
|
+
__scopeRovingFocusGroup: props.__scopeToggleGroup || TOGGLE_GROUP_CONTEXT,
|
|
41
|
+
tabIndex: disabled ? -1 : 0,
|
|
42
|
+
active,
|
|
43
|
+
children: inner
|
|
44
|
+
}) : inner
|
|
45
|
+
})
|
|
46
|
+
});
|
|
50
47
|
});
|
|
51
48
|
ToggleGroupItem.displayName = TOGGLE_GROUP_ITEM_NAME;
|
|
52
|
-
const ToggleGroupItemImpl =
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
valueContext.onItemActivate(value);
|
|
70
|
-
} else {
|
|
71
|
-
valueContext.onItemDeactivate(value);
|
|
72
|
-
}
|
|
73
|
-
}
|
|
74
|
-
});
|
|
75
|
-
});
|
|
76
|
-
const ToggleGroup = withStaticProperties(React.forwardRef((props, forwardedRef) => {
|
|
77
|
-
const {
|
|
78
|
-
type,
|
|
79
|
-
...toggleGroupProps
|
|
80
|
-
} = props;
|
|
81
|
-
if (!isWeb) {
|
|
82
|
-
React.useEffect(() => {
|
|
83
|
-
if (!props.id) return;
|
|
84
|
-
return registerFocusable(props.id, {
|
|
85
|
-
focus: () => {}
|
|
86
|
-
});
|
|
87
|
-
}, [props.id]);
|
|
88
|
-
}
|
|
89
|
-
if (type === "single") {
|
|
90
|
-
const singleProps = toggleGroupProps;
|
|
91
|
-
return /* @__PURE__ */jsx(ToggleGroupImplSingle, {
|
|
92
|
-
...singleProps,
|
|
93
|
-
ref: forwardedRef
|
|
94
|
-
});
|
|
95
|
-
}
|
|
96
|
-
if (type === "multiple") {
|
|
97
|
-
const multipleProps = toggleGroupProps;
|
|
98
|
-
return /* @__PURE__ */jsx(ToggleGroupImplMultiple, {
|
|
99
|
-
...multipleProps,
|
|
100
|
-
ref: forwardedRef
|
|
101
|
-
});
|
|
102
|
-
}
|
|
103
|
-
throw new Error(`Missing prop \`type\` expected on \`${TOGGLE_GROUP_NAME}\``);
|
|
104
|
-
}), {
|
|
105
|
-
Item: ToggleGroupItem
|
|
49
|
+
const ToggleGroupItemImpl = createRefComponent((props, forwardedRef) => {
|
|
50
|
+
const { __scopeToggleGroup, value, ...itemProps } = props;
|
|
51
|
+
const valueContext = useToggleGroupValueContext(__scopeToggleGroup);
|
|
52
|
+
const singleProps = { "aria-pressed": void 0 };
|
|
53
|
+
const typeProps = valueContext.type === "single" ? singleProps : void 0;
|
|
54
|
+
return /* @__PURE__ */ jsx(Toggle, {
|
|
55
|
+
...typeProps,
|
|
56
|
+
...itemProps,
|
|
57
|
+
ref: forwardedRef,
|
|
58
|
+
onActiveChange: (pressed) => {
|
|
59
|
+
if (pressed) {
|
|
60
|
+
valueContext.onItemActivate(value);
|
|
61
|
+
} else {
|
|
62
|
+
valueContext.onItemDeactivate(value);
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
});
|
|
106
66
|
});
|
|
67
|
+
const ToggleGroup = withStaticProperties(createRefComponent((props, forwardedRef) => {
|
|
68
|
+
const { type, ...toggleGroupProps } = props;
|
|
69
|
+
if (!isWeb) {
|
|
70
|
+
React.useEffect(() => {
|
|
71
|
+
if (!props.id) return;
|
|
72
|
+
return registerFocusable(props.id, { focus: () => {} });
|
|
73
|
+
}, [props.id]);
|
|
74
|
+
}
|
|
75
|
+
if (type === "single") {
|
|
76
|
+
const singleProps = toggleGroupProps;
|
|
77
|
+
return /* @__PURE__ */ jsx(ToggleGroupImplSingle, {
|
|
78
|
+
...singleProps,
|
|
79
|
+
ref: forwardedRef
|
|
80
|
+
});
|
|
81
|
+
}
|
|
82
|
+
if (type === "multiple") {
|
|
83
|
+
const multipleProps = toggleGroupProps;
|
|
84
|
+
return /* @__PURE__ */ jsx(ToggleGroupImplMultiple, {
|
|
85
|
+
...multipleProps,
|
|
86
|
+
ref: forwardedRef
|
|
87
|
+
});
|
|
88
|
+
}
|
|
89
|
+
throw new Error(`Missing prop \`type\` expected on \`${TOGGLE_GROUP_NAME}\``);
|
|
90
|
+
}), { Item: ToggleGroupItem });
|
|
107
91
|
ToggleGroup.displayName = TOGGLE_GROUP_NAME;
|
|
108
|
-
const {
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
value: value ? [value] : [],
|
|
130
|
-
defaultValue: value,
|
|
131
|
-
onItemActivate: setValue,
|
|
132
|
-
onItemDeactivate: React.useCallback(() => disableDeactivation ? null : setValue(""), [setValue, disableDeactivation]),
|
|
133
|
-
children: /* @__PURE__ */jsx(ToggleGroupImpl, {
|
|
134
|
-
...toggleGroupSingleProps,
|
|
135
|
-
ref: forwardedRef,
|
|
136
|
-
children
|
|
137
|
-
})
|
|
138
|
-
});
|
|
139
|
-
});
|
|
140
|
-
const ToggleGroupImplMultiple = React.forwardRef((props, forwardedRef) => {
|
|
141
|
-
const {
|
|
142
|
-
value: valueProp,
|
|
143
|
-
defaultValue,
|
|
144
|
-
onValueChange = () => {},
|
|
145
|
-
disableDeactivation,
|
|
146
|
-
children,
|
|
147
|
-
...toggleGroupMultipleProps
|
|
148
|
-
} = props;
|
|
149
|
-
const [value = [], setValue] = useControllableState({
|
|
150
|
-
prop: valueProp,
|
|
151
|
-
defaultProp: defaultValue,
|
|
152
|
-
onChange: onValueChange
|
|
153
|
-
});
|
|
154
|
-
const handleButtonActivate = React.useCallback(itemValue => setValue((prevValue = []) => [...prevValue, itemValue]), [setValue]);
|
|
155
|
-
const handleButtonDeactivate = React.useCallback(itemValue => setValue((prevValue = []) => prevValue.filter(value2 => value2 !== itemValue)), [setValue]);
|
|
156
|
-
return /* @__PURE__ */jsx(ToggleGroupValueProvider, {
|
|
157
|
-
scope: props.__scopeToggleGroup,
|
|
158
|
-
type: "multiple",
|
|
159
|
-
value,
|
|
160
|
-
defaultValue: value,
|
|
161
|
-
onItemActivate: handleButtonActivate,
|
|
162
|
-
onItemDeactivate: handleButtonDeactivate,
|
|
163
|
-
children: /* @__PURE__ */jsx(ToggleGroupImpl, {
|
|
164
|
-
...toggleGroupMultipleProps,
|
|
165
|
-
ref: forwardedRef,
|
|
166
|
-
children
|
|
167
|
-
})
|
|
168
|
-
});
|
|
92
|
+
const { Provider: ToggleGroupValueProvider, useStyledContext: useToggleGroupValueContext } = createStyledContext();
|
|
93
|
+
const ToggleGroupImplSingle = createRefComponent((props, forwardedRef) => {
|
|
94
|
+
const { value: valueProp, defaultValue, onValueChange = () => {}, disableDeactivation = false, children, ...toggleGroupSingleProps } = props;
|
|
95
|
+
const [value, setValue] = useControllableState({
|
|
96
|
+
prop: valueProp,
|
|
97
|
+
defaultProp: defaultValue,
|
|
98
|
+
onChange: onValueChange
|
|
99
|
+
});
|
|
100
|
+
return /* @__PURE__ */ jsx(ToggleGroupValueProvider, {
|
|
101
|
+
scope: props.__scopeToggleGroup,
|
|
102
|
+
type: "single",
|
|
103
|
+
value: value ? [value] : [],
|
|
104
|
+
defaultValue: value,
|
|
105
|
+
onItemActivate: setValue,
|
|
106
|
+
onItemDeactivate: React.useCallback(() => disableDeactivation ? null : setValue(""), [setValue, disableDeactivation]),
|
|
107
|
+
children: /* @__PURE__ */ jsx(ToggleGroupImpl, {
|
|
108
|
+
...toggleGroupSingleProps,
|
|
109
|
+
ref: forwardedRef,
|
|
110
|
+
children
|
|
111
|
+
})
|
|
112
|
+
});
|
|
169
113
|
});
|
|
170
|
-
const
|
|
171
|
-
|
|
114
|
+
const ToggleGroupImplMultiple = createRefComponent((props, forwardedRef) => {
|
|
115
|
+
const { value: valueProp, defaultValue, onValueChange = () => {}, disableDeactivation, children, ...toggleGroupMultipleProps } = props;
|
|
116
|
+
const [value = [], setValue] = useControllableState({
|
|
117
|
+
prop: valueProp,
|
|
118
|
+
defaultProp: defaultValue,
|
|
119
|
+
onChange: onValueChange
|
|
120
|
+
});
|
|
121
|
+
const handleButtonActivate = React.useCallback((itemValue) => setValue((prevValue = []) => [...prevValue, itemValue]), [setValue]);
|
|
122
|
+
const handleButtonDeactivate = React.useCallback((itemValue) => setValue((prevValue = []) => prevValue.filter((value2) => value2 !== itemValue)), [setValue]);
|
|
123
|
+
return /* @__PURE__ */ jsx(ToggleGroupValueProvider, {
|
|
124
|
+
scope: props.__scopeToggleGroup,
|
|
125
|
+
type: "multiple",
|
|
126
|
+
value,
|
|
127
|
+
defaultValue: value,
|
|
128
|
+
onItemActivate: handleButtonActivate,
|
|
129
|
+
onItemDeactivate: handleButtonDeactivate,
|
|
130
|
+
children: /* @__PURE__ */ jsx(ToggleGroupImpl, {
|
|
131
|
+
...toggleGroupMultipleProps,
|
|
132
|
+
ref: forwardedRef,
|
|
133
|
+
children
|
|
134
|
+
})
|
|
135
|
+
});
|
|
172
136
|
});
|
|
173
|
-
const
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
__scopeRovingFocusGroup: __scopeToggleGroup || TOGGLE_GROUP_CONTEXT,
|
|
200
|
-
orientation,
|
|
201
|
-
dir: direction,
|
|
202
|
-
loop,
|
|
203
|
-
children: content
|
|
204
|
-
}) : content
|
|
205
|
-
})
|
|
206
|
-
});
|
|
137
|
+
const ToggleGroupFrame = styled(View, { displayName: TOGGLE_GROUP_NAME });
|
|
138
|
+
const ToggleGroupImpl = createStyledHOC(ToggleGroupFrame, (props, forwardedRef) => {
|
|
139
|
+
const { __scopeToggleGroup, disabled = false, orientation = "horizontal", dir, rovingFocus = true, loop = true, color, ...toggleGroupProps } = props;
|
|
140
|
+
const direction = useDirection(dir);
|
|
141
|
+
const content = /* @__PURE__ */ jsx(ToggleGroupFrame, {
|
|
142
|
+
role: "group",
|
|
143
|
+
ref: forwardedRef,
|
|
144
|
+
"data-disabled": disabled ? "" : void 0,
|
|
145
|
+
...toggleGroupProps
|
|
146
|
+
});
|
|
147
|
+
return /* @__PURE__ */ jsx(ToggleGroupContext, {
|
|
148
|
+
scope: __scopeToggleGroup,
|
|
149
|
+
rovingFocus,
|
|
150
|
+
disabled,
|
|
151
|
+
children: /* @__PURE__ */ jsx(context.Provider, {
|
|
152
|
+
color,
|
|
153
|
+
children: rovingFocus ? /* @__PURE__ */ jsx(RovingFocusGroup, {
|
|
154
|
+
asChild: "except-style",
|
|
155
|
+
__scopeRovingFocusGroup: __scopeToggleGroup || TOGGLE_GROUP_CONTEXT,
|
|
156
|
+
orientation,
|
|
157
|
+
dir: direction,
|
|
158
|
+
loop,
|
|
159
|
+
children: content
|
|
160
|
+
}) : content
|
|
161
|
+
})
|
|
162
|
+
});
|
|
207
163
|
});
|
|
164
|
+
|
|
208
165
|
export { ToggleGroup };
|
|
209
166
|
//# sourceMappingURL=ToggleGroup.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["isWeb","registerFocusable","withStaticProperties","RovingFocusGroup","useControllableState","useDirection","createStyledContext","styled","View","React","Toggle","ToggleFrame","context","ToggleContext","jsx","TOGGLE_GROUP_NAME","TOGGLE_GROUP_ITEM_NAME","TOGGLE_GROUP_CONTEXT","Provider","ToggleGroupItemProvider","ToggleGroupContext","useStyledContext","useToggleGroupContext","ToggleGroupItem","styleable","props","forwardedRef","valueContext","useToggleGroupValueContext","__scopeToggleGroup","toggleContext","active","value","includes","color","disabled","inner","ToggleGroupItemImpl","ref","tabIndex","scope","children","rovingFocus","Item","asChild","__scopeRovingFocusGroup","focusable","displayName","forwardRef","itemProps","singleProps","typeProps","type","onActiveChange","pressed","onItemActivate","onItemDeactivate","ToggleGroup","toggleGroupProps","useEffect","id","focus","ToggleGroupImplSingle","multipleProps","ToggleGroupImplMultiple","Error","ToggleGroupValueProvider","valueProp","defaultValue","onValueChange","disableDeactivation","toggleGroupSingleProps","setValue","prop","defaultProp","onChange","useCallback","ToggleGroupImpl","toggleGroupMultipleProps","handleButtonActivate","itemValue","prevValue","handleButtonDeactivate","filter","value2","ToggleGroupFrame","name","orientation","dir","loop","direction","content","role"],"sources":["../../src/ToggleGroup.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"ToggleGroup.js","names":["context","ToggleContext"],"sources":["esm/ToggleGroup.js"],"sourcesContent":["import { createRefComponent } from \"@tamagui/compose-refs\";\nimport { isWeb } from \"@tamagui/constants\";\nimport { registerFocusable } from \"@tamagui/focusable\";\nimport { withStaticProperties } from \"@tamagui/helpers\";\nimport { RovingFocusGroup } from \"@tamagui/roving-focus\";\nimport { useControllableState } from \"@tamagui/use-controllable-state\";\nimport { useDirection } from \"@tamagui/use-direction\";\nimport { createStyledHOC, createStyledContext, styled, View } from \"@tamagui/web\";\nimport React from \"react\";\nimport { Toggle, ToggleFrame } from \"./Toggle\";\nimport { context as ToggleContext } from \"./context\";\nimport { jsx } from \"react/jsx-runtime\";\nconst TOGGLE_GROUP_NAME = \"ToggleGroup\";\nconst TOGGLE_GROUP_ITEM_NAME = \"ToggleGroupItem\";\nconst TOGGLE_GROUP_CONTEXT = \"ToggleGroup\";\nconst { Provider: ToggleGroupItemProvider } = createStyledContext();\nconst { Provider: ToggleGroupContext, useStyledContext: useToggleGroupContext } = createStyledContext({});\nconst ToggleGroupItem = createStyledHOC(\n ToggleFrame,\n (props, forwardedRef) => {\n const valueContext = useToggleGroupValueContext(props.__scopeToggleGroup);\n const context = useToggleGroupContext(props.__scopeToggleGroup);\n const toggleContext = ToggleContext.useStyledContext(props.__scopeToggleGroup);\n const active = valueContext?.value.includes(props.value);\n const color = props.color || toggleContext.color;\n const disabled = context.disabled || props.disabled || false;\n const inner = /* @__PURE__ */ jsx(\n ToggleGroupItemImpl,\n {\n ref: forwardedRef,\n tabIndex: disabled ? -1 : 0,\n ...props,\n active,\n disabled\n }\n );\n return /* @__PURE__ */ jsx(ToggleGroupItemProvider, { scope: props.__scopeToggleGroup, children: /* @__PURE__ */ jsx(ToggleContext.Provider, { color, active, children: context.rovingFocus ? /* @__PURE__ */ jsx(\n RovingFocusGroup.Item,\n {\n asChild: \"except-style\",\n __scopeRovingFocusGroup: props.__scopeToggleGroup || TOGGLE_GROUP_CONTEXT,\n tabIndex: disabled ? -1 : 0,\n active,\n children: inner\n }\n ) : inner }) });\n }\n);\nToggleGroupItem.displayName = TOGGLE_GROUP_ITEM_NAME;\nconst ToggleGroupItemImpl = createRefComponent((props, forwardedRef) => {\n const { __scopeToggleGroup, value, ...itemProps } = props;\n const valueContext = useToggleGroupValueContext(__scopeToggleGroup);\n const singleProps = { \"aria-pressed\": void 0 };\n const typeProps = valueContext.type === \"single\" ? singleProps : void 0;\n return /* @__PURE__ */ jsx(\n Toggle,\n {\n ...typeProps,\n ...itemProps,\n ref: forwardedRef,\n onActiveChange: (pressed) => {\n if (pressed) {\n valueContext.onItemActivate(value);\n } else {\n valueContext.onItemDeactivate(value);\n }\n }\n }\n );\n});\nconst ToggleGroup = withStaticProperties(\n createRefComponent(\n (props, forwardedRef) => {\n const { type, ...toggleGroupProps } = props;\n if (!isWeb) {\n React.useEffect(() => {\n if (!props.id) return;\n return registerFocusable(props.id, {\n focus: () => {\n }\n });\n }, [props.id]);\n }\n if (type === \"single\") {\n const singleProps = toggleGroupProps;\n return /* @__PURE__ */ jsx(ToggleGroupImplSingle, { ...singleProps, ref: forwardedRef });\n }\n if (type === \"multiple\") {\n const multipleProps = toggleGroupProps;\n return /* @__PURE__ */ jsx(ToggleGroupImplMultiple, { ...multipleProps, ref: forwardedRef });\n }\n throw new Error(`Missing prop \\`type\\` expected on \\`${TOGGLE_GROUP_NAME}\\``);\n }\n ),\n {\n Item: ToggleGroupItem\n }\n);\nToggleGroup.displayName = TOGGLE_GROUP_NAME;\nconst {\n Provider: ToggleGroupValueProvider,\n useStyledContext: useToggleGroupValueContext\n} = createStyledContext();\nconst ToggleGroupImplSingle = createRefComponent((props, forwardedRef) => {\n const {\n value: valueProp,\n defaultValue,\n onValueChange = () => {\n },\n disableDeactivation = false,\n children,\n ...toggleGroupSingleProps\n } = props;\n const [value, setValue] = useControllableState({\n prop: valueProp,\n defaultProp: defaultValue,\n onChange: onValueChange\n });\n return /* @__PURE__ */ jsx(\n ToggleGroupValueProvider,\n {\n scope: props.__scopeToggleGroup,\n type: \"single\",\n value: value ? [value] : [],\n defaultValue: value,\n onItemActivate: setValue,\n onItemDeactivate: React.useCallback(\n () => disableDeactivation ? null : setValue(\"\"),\n [setValue, disableDeactivation]\n ),\n children: /* @__PURE__ */ jsx(ToggleGroupImpl, { ...toggleGroupSingleProps, ref: forwardedRef, children })\n }\n );\n});\nconst ToggleGroupImplMultiple = createRefComponent((props, forwardedRef) => {\n const {\n value: valueProp,\n defaultValue,\n onValueChange = () => {\n },\n disableDeactivation,\n children,\n ...toggleGroupMultipleProps\n } = props;\n const [value = [], setValue] = useControllableState({\n prop: valueProp,\n defaultProp: defaultValue,\n onChange: onValueChange\n });\n const handleButtonActivate = React.useCallback(\n (itemValue) => setValue((prevValue = []) => [...prevValue, itemValue]),\n [setValue]\n );\n const handleButtonDeactivate = React.useCallback(\n (itemValue) => setValue((prevValue = []) => prevValue.filter((value2) => value2 !== itemValue)),\n [setValue]\n );\n return /* @__PURE__ */ jsx(\n ToggleGroupValueProvider,\n {\n scope: props.__scopeToggleGroup,\n type: \"multiple\",\n value,\n defaultValue: value,\n onItemActivate: handleButtonActivate,\n onItemDeactivate: handleButtonDeactivate,\n children: /* @__PURE__ */ jsx(ToggleGroupImpl, { ...toggleGroupMultipleProps, ref: forwardedRef, children })\n }\n );\n});\nconst ToggleGroupFrame = styled(View, {\n displayName: TOGGLE_GROUP_NAME\n});\nconst ToggleGroupImpl = createStyledHOC(\n ToggleGroupFrame,\n (props, forwardedRef) => {\n const {\n __scopeToggleGroup,\n disabled = false,\n orientation = \"horizontal\",\n dir,\n rovingFocus = true,\n loop = true,\n color,\n ...toggleGroupProps\n } = props;\n const direction = useDirection(dir);\n const content = /* @__PURE__ */ jsx(\n ToggleGroupFrame,\n {\n role: \"group\",\n ref: forwardedRef,\n \"data-disabled\": disabled ? \"\" : void 0,\n ...toggleGroupProps\n }\n );\n return /* @__PURE__ */ jsx(\n ToggleGroupContext,\n {\n scope: __scopeToggleGroup,\n rovingFocus,\n disabled,\n children: /* @__PURE__ */ jsx(ToggleContext.Provider, { color, children: rovingFocus ? /* @__PURE__ */ jsx(\n RovingFocusGroup,\n {\n asChild: \"except-style\",\n __scopeRovingFocusGroup: __scopeToggleGroup || TOGGLE_GROUP_CONTEXT,\n orientation,\n dir: direction,\n loop,\n children: content\n }\n ) : content })\n }\n );\n }\n);\nexport {\n ToggleGroup\n};\n//# sourceMappingURL=ToggleGroup.js.map\n"],"mappings":"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"}
|