@tamagui/radio-group 2.7.7 → 3.0.0-beta.643.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.
Files changed (65) hide show
  1. package/dist/cjs/RadioGroup.cjs +127 -116
  2. package/dist/cjs/RadioGroup.native.cjs +146 -0
  3. package/dist/cjs/RadioGroup.native.js +127 -117
  4. package/dist/cjs/RadioGroup.native.js.map +1 -1
  5. package/dist/cjs/index.cjs +9 -28
  6. package/dist/cjs/index.native.cjs +21 -0
  7. package/dist/cjs/index.native.js +10 -28
  8. package/dist/cjs/index.native.js.map +1 -1
  9. package/dist/esm/RadioGroup.mjs +105 -100
  10. package/dist/esm/RadioGroup.mjs.map +1 -1
  11. package/dist/esm/RadioGroup.native.js +105 -102
  12. package/dist/esm/RadioGroup.native.js.map +1 -1
  13. package/dist/esm/index.js +1 -12
  14. package/dist/esm/index.mjs +1 -12
  15. package/dist/esm/index.native.js +1 -12
  16. package/dist/jsx/RadioGroup.mjs +105 -100
  17. package/dist/jsx/RadioGroup.mjs.map +1 -1
  18. package/dist/jsx/RadioGroup.native.cjs +146 -0
  19. package/dist/jsx/RadioGroup.native.js +127 -117
  20. package/dist/jsx/RadioGroup.native.js.map +1 -1
  21. package/dist/jsx/index.js +1 -12
  22. package/dist/jsx/index.mjs +1 -12
  23. package/dist/jsx/index.native.cjs +21 -0
  24. package/dist/jsx/index.native.js +10 -28
  25. package/dist/jsx/index.native.js.map +1 -1
  26. package/package.json +5 -15
  27. package/src/RadioGroup.tsx +160 -89
  28. package/src/index.ts +0 -15
  29. package/types/RadioGroup.d.ts +145 -16
  30. package/types/RadioGroup.d.ts.map +1 -1
  31. package/types/index.d.ts +0 -251
  32. package/types/index.d.ts.map +1 -1
  33. package/dist/cjs/RadioGroupStyledContext.cjs +0 -32
  34. package/dist/cjs/RadioGroupStyledContext.native.js +0 -35
  35. package/dist/cjs/RadioGroupStyledContext.native.js.map +0 -1
  36. package/dist/cjs/createRadioGroup.cjs +0 -175
  37. package/dist/cjs/createRadioGroup.native.js +0 -178
  38. package/dist/cjs/createRadioGroup.native.js.map +0 -1
  39. package/dist/esm/RadioGroupStyledContext.mjs +0 -7
  40. package/dist/esm/RadioGroupStyledContext.mjs.map +0 -1
  41. package/dist/esm/RadioGroupStyledContext.native.js +0 -7
  42. package/dist/esm/RadioGroupStyledContext.native.js.map +0 -1
  43. package/dist/esm/createRadioGroup.mjs +0 -139
  44. package/dist/esm/createRadioGroup.mjs.map +0 -1
  45. package/dist/esm/createRadioGroup.native.js +0 -139
  46. package/dist/esm/createRadioGroup.native.js.map +0 -1
  47. package/dist/esm/index.js.map +0 -1
  48. package/dist/esm/index.mjs.map +0 -1
  49. package/dist/esm/index.native.js.map +0 -1
  50. package/dist/jsx/RadioGroupStyledContext.mjs +0 -7
  51. package/dist/jsx/RadioGroupStyledContext.mjs.map +0 -1
  52. package/dist/jsx/RadioGroupStyledContext.native.js +0 -35
  53. package/dist/jsx/RadioGroupStyledContext.native.js.map +0 -1
  54. package/dist/jsx/createRadioGroup.mjs +0 -139
  55. package/dist/jsx/createRadioGroup.mjs.map +0 -1
  56. package/dist/jsx/createRadioGroup.native.js +0 -178
  57. package/dist/jsx/createRadioGroup.native.js.map +0 -1
  58. package/dist/jsx/index.js.map +0 -1
  59. package/dist/jsx/index.mjs.map +0 -1
  60. package/src/RadioGroupStyledContext.tsx +0 -10
  61. package/src/createRadioGroup.tsx +0 -191
  62. package/types/RadioGroupStyledContext.d.ts +0 -6
  63. package/types/RadioGroupStyledContext.d.ts.map +0 -1
  64. package/types/createRadioGroup.d.ts +0 -282
  65. package/types/createRadioGroup.d.ts.map +0 -1
@@ -1,139 +0,0 @@
1
- import { isWeb, withStaticProperties } from "@tamagui/core";
2
- import { useRadioGroup, useRadioGroupItem, useRadioGroupItemIndicator } from "@tamagui/radio-headless";
3
- import { RovingFocusGroup } from "@tamagui/roving-focus";
4
- import React from "react";
5
- import { RadioGroupFrame, RadioGroupIndicatorFrame, RadioGroupItemFrame } from "./RadioGroup.mjs";
6
- import { Fragment, jsx, jsxs } from "react/jsx-runtime";
7
- const ensureContext = x => {
8
- if (!x.context) {
9
- x.context = RadioGroupContext;
10
- }
11
- };
12
- const RadioGroupContext = React.createContext({});
13
- const RadioGroupItemContext = React.createContext({
14
- checked: false,
15
- disabled: false
16
- });
17
- function createRadioGroup(createProps) {
18
- const {
19
- disableActiveTheme,
20
- Frame = RadioGroupFrame,
21
- Indicator = RadioGroupIndicatorFrame,
22
- Item = RadioGroupItemFrame
23
- } = createProps;
24
- ensureContext(Frame);
25
- ensureContext(Indicator);
26
- ensureContext(Item);
27
- const RadioGroupImp = Frame.styleable((props, ref) => {
28
- const {
29
- value,
30
- defaultValue,
31
- onValueChange,
32
- required = false,
33
- disabled = false,
34
- name,
35
- native,
36
- accentColor,
37
- orientation = "vertical",
38
- ...rest
39
- } = props;
40
- const {
41
- providerValue,
42
- frameAttrs,
43
- rovingFocusGroupAttrs
44
- } = useRadioGroup({
45
- orientation,
46
- name,
47
- defaultValue,
48
- value,
49
- onValueChange,
50
- required,
51
- disabled,
52
- native,
53
- accentColor
54
- });
55
- return /* @__PURE__ */jsx(RadioGroupContext.Provider, {
56
- value: providerValue,
57
- children: /* @__PURE__ */jsx(RovingFocusGroup, {
58
- ...rovingFocusGroupAttrs,
59
- children: /* @__PURE__ */jsx(RadioGroupFrame, {
60
- ...frameAttrs,
61
- ref,
62
- ...rest
63
- })
64
- })
65
- });
66
- });
67
- const RadioGroupItemImp = Item.styleable((props, ref) => {
68
- const {
69
- value,
70
- labelledBy,
71
- onPress,
72
- onKeyDown,
73
- disabled,
74
- id,
75
- ...rest
76
- } = props;
77
- const {
78
- providerValue,
79
- bubbleInput,
80
- rovingFocusGroupAttrs,
81
- frameAttrs,
82
- isFormControl,
83
- native
84
- } = useRadioGroupItem({
85
- radioGroupContext: RadioGroupContext,
86
- value,
87
- id,
88
- labelledBy,
89
- disabled,
90
- onPress,
91
- onKeyDown
92
- });
93
- return /* @__PURE__ */jsx(RadioGroupItemContext.Provider, {
94
- value: providerValue,
95
- children: isWeb && native ? bubbleInput : /* @__PURE__ */jsxs(Fragment, {
96
- children: [/* @__PURE__ */jsx(RovingFocusGroup.Item, {
97
- ...rovingFocusGroupAttrs,
98
- children: /* @__PURE__ */jsx(RadioGroupItemFrame, {
99
- ...frameAttrs,
100
- ref,
101
- ...rest
102
- })
103
- }), isFormControl && bubbleInput]
104
- })
105
- });
106
- });
107
- RadioGroupItemImp.displayName = "RadioGroupItem";
108
- const RadioIndicator = Indicator.styleable((props, forwardedRef) => {
109
- const {
110
- forceMount,
111
- disabled,
112
- ...indicatorProps
113
- } = props;
114
- const {
115
- checked,
116
- ...useIndicatorRest
117
- } = useRadioGroupItemIndicator({
118
- radioGroupItemContext: RadioGroupItemContext,
119
- disabled
120
- });
121
- if (forceMount || checked) {
122
- return /* @__PURE__ */jsx(Indicator, {
123
- ...useIndicatorRest,
124
- ref: forwardedRef,
125
- ...indicatorProps
126
- });
127
- }
128
- return null;
129
- });
130
- RadioIndicator.displayName = "RadioIndicator";
131
- const RadioGroup = withStaticProperties(RadioGroupImp, {
132
- Item: RadioGroupItemImp,
133
- Indicator: RadioIndicator
134
- });
135
- RadioGroup.displayName = "RadioGroup";
136
- return RadioGroup;
137
- }
138
- export { createRadioGroup };
139
- //# sourceMappingURL=createRadioGroup.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["isWeb","withStaticProperties","useRadioGroup","useRadioGroupItem","useRadioGroupItemIndicator","RovingFocusGroup","React","RadioGroupFrame","RadioGroupIndicatorFrame","RadioGroupItemFrame","Fragment","jsx","jsxs","ensureContext","x","context","RadioGroupContext","createContext","RadioGroupItemContext","checked","disabled","createRadioGroup","createProps","disableActiveTheme","Frame","Indicator","Item","RadioGroupImp","styleable","props","ref","value","defaultValue","onValueChange","required","name","native","accentColor","orientation","rest","providerValue","frameAttrs","rovingFocusGroupAttrs","Provider","children","RadioGroupItemImp","labelledBy","onPress","onKeyDown","id","bubbleInput","isFormControl","radioGroupContext","displayName","RadioIndicator","forwardedRef","forceMount","indicatorProps","useIndicatorRest","radioGroupItemContext","RadioGroup"],"sources":["../../src/createRadioGroup.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -1,178 +0,0 @@
1
- "use strict";
2
-
3
- var __create = Object.create;
4
- var __defProp = Object.defineProperty;
5
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
6
- var __getOwnPropNames = Object.getOwnPropertyNames;
7
- var __getProtoOf = Object.getPrototypeOf;
8
- var __hasOwnProp = Object.prototype.hasOwnProperty;
9
- var __export = (target, all) => {
10
- for (var name in all) __defProp(target, name, {
11
- get: all[name],
12
- enumerable: true
13
- });
14
- };
15
- var __copyProps = (to, from, except, desc) => {
16
- if (from && typeof from === "object" || typeof from === "function") {
17
- for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {
18
- get: () => from[key],
19
- enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
20
- });
21
- }
22
- return to;
23
- };
24
- var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
25
- // If the importer is in node compatibility mode or this is not an ESM
26
- // file that has been converted to a CommonJS file using a Babel-
27
- // compatible transform (i.e. "__esModule" has not been set), then set
28
- // "default" to the CommonJS "module.exports" for node compatibility.
29
- isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", {
30
- value: mod,
31
- enumerable: true
32
- }) : target, mod));
33
- var __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
34
- value: true
35
- }), mod);
36
- var createRadioGroup_exports = {};
37
- __export(createRadioGroup_exports, {
38
- createRadioGroup: () => createRadioGroup
39
- });
40
- module.exports = __toCommonJS(createRadioGroup_exports);
41
- var import_jsx_runtime = require("react/jsx-runtime");
42
- var import_core = require("@tamagui/core");
43
- var import_radio_headless = require("@tamagui/radio-headless");
44
- var import_roving_focus = require("@tamagui/roving-focus");
45
- var import_react = __toESM(require("react"), 1);
46
- var import_RadioGroup = require("./RadioGroup.native.js");
47
- var ensureContext = function (x) {
48
- if (!x.context) {
49
- x.context = RadioGroupContext;
50
- }
51
- };
52
- var RadioGroupContext = /* @__PURE__ */import_react.default.createContext({});
53
- var RadioGroupItemContext = /* @__PURE__ */import_react.default.createContext({
54
- checked: false,
55
- disabled: false
56
- });
57
- function createRadioGroup(createProps) {
58
- var {
59
- disableActiveTheme,
60
- Frame = import_RadioGroup.RadioGroupFrame,
61
- Indicator = import_RadioGroup.RadioGroupIndicatorFrame,
62
- Item = import_RadioGroup.RadioGroupItemFrame
63
- } = createProps;
64
- ensureContext(Frame);
65
- ensureContext(Indicator);
66
- ensureContext(Item);
67
- var RadioGroupImp = Frame.styleable(function (props, ref) {
68
- var {
69
- value,
70
- defaultValue,
71
- onValueChange,
72
- required = false,
73
- disabled = false,
74
- name,
75
- native,
76
- accentColor,
77
- orientation = "vertical",
78
- ...rest
79
- } = props;
80
- var {
81
- providerValue,
82
- frameAttrs,
83
- rovingFocusGroupAttrs
84
- } = (0, import_radio_headless.useRadioGroup)({
85
- orientation,
86
- name,
87
- defaultValue,
88
- value,
89
- onValueChange,
90
- required,
91
- disabled,
92
- native,
93
- accentColor
94
- });
95
- return /* @__PURE__ */(0, import_jsx_runtime.jsx)(RadioGroupContext.Provider, {
96
- value: providerValue,
97
- children: /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_roving_focus.RovingFocusGroup, {
98
- ...rovingFocusGroupAttrs,
99
- children: /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_RadioGroup.RadioGroupFrame, {
100
- ...frameAttrs,
101
- ref,
102
- ...rest
103
- })
104
- })
105
- });
106
- });
107
- var RadioGroupItemImp = Item.styleable(function (props, ref) {
108
- var {
109
- value,
110
- labelledBy,
111
- onPress,
112
- onKeyDown,
113
- disabled,
114
- id,
115
- ...rest
116
- } = props;
117
- var {
118
- providerValue,
119
- bubbleInput,
120
- rovingFocusGroupAttrs,
121
- frameAttrs,
122
- isFormControl,
123
- native
124
- } = (0, import_radio_headless.useRadioGroupItem)({
125
- radioGroupContext: RadioGroupContext,
126
- value,
127
- id,
128
- labelledBy,
129
- disabled,
130
- onPress,
131
- onKeyDown
132
- });
133
- return /* @__PURE__ */(0, import_jsx_runtime.jsx)(RadioGroupItemContext.Provider, {
134
- value: providerValue,
135
- children: import_core.isWeb && native ? bubbleInput : /* @__PURE__ */(0, import_jsx_runtime.jsxs)(import_jsx_runtime.Fragment, {
136
- children: [/* @__PURE__ */(0, import_jsx_runtime.jsx)(import_roving_focus.RovingFocusGroup.Item, {
137
- ...rovingFocusGroupAttrs,
138
- children: /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_RadioGroup.RadioGroupItemFrame, {
139
- ...frameAttrs,
140
- ref,
141
- ...rest
142
- })
143
- }), isFormControl && bubbleInput]
144
- })
145
- });
146
- });
147
- RadioGroupItemImp.displayName = "RadioGroupItem";
148
- var RadioIndicator = Indicator.styleable(function (props, forwardedRef) {
149
- var {
150
- forceMount,
151
- disabled,
152
- ...indicatorProps
153
- } = props;
154
- var {
155
- checked,
156
- ...useIndicatorRest
157
- } = (0, import_radio_headless.useRadioGroupItemIndicator)({
158
- radioGroupItemContext: RadioGroupItemContext,
159
- disabled
160
- });
161
- if (forceMount || checked) {
162
- return /* @__PURE__ */(0, import_jsx_runtime.jsx)(Indicator, {
163
- ...useIndicatorRest,
164
- ref: forwardedRef,
165
- ...indicatorProps
166
- });
167
- }
168
- return null;
169
- });
170
- RadioIndicator.displayName = "RadioIndicator";
171
- var RadioGroup = (0, import_core.withStaticProperties)(RadioGroupImp, {
172
- Item: RadioGroupItemImp,
173
- Indicator: RadioIndicator
174
- });
175
- RadioGroup.displayName = "RadioGroup";
176
- return RadioGroup;
177
- }
178
- //# sourceMappingURL=createRadioGroup.native.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["__create","Object","create","__defProp","defineProperty","__getOwnPropDesc","getOwnPropertyDescriptor","__getOwnPropNames","getOwnPropertyNames","__getProtoOf","getPrototypeOf","__hasOwnProp","prototype","hasOwnProperty","__export","target","all","name","get","enumerable","__copyProps","to","from","except","desc","key","call","__toESM","mod","isNodeMode","__esModule","value","__toCommonJS","createRadioGroup_exports","createRadioGroup","module","exports","import_jsx_runtime","require","import_core","import_radio_headless","import_roving_focus","import_react","import_RadioGroup","ensureContext","x","context","RadioGroupContext","default","createContext","RadioGroupItemContext","checked","disabled","createProps","disableActiveTheme","Frame","RadioGroupFrame","Indicator","RadioGroupIndicatorFrame","Item","RadioGroupItemFrame","RadioGroupImp","styleable","props","ref","defaultValue","onValueChange","required","native","accentColor","orientation","rest","providerValue","frameAttrs","rovingFocusGroupAttrs","useRadioGroup","jsx","Provider","children","RovingFocusGroup","RadioGroupItemImp","labelledBy","onPress","onKeyDown","id","bubbleInput","isFormControl","useRadioGroupItem","radioGroupContext","isWeb","jsxs","Fragment"],"sources":["../../src/createRadioGroup.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -1 +0,0 @@
1
- {"version":3,"names":["RadioGroupFrame","RadioGroupIndicatorFrame","RadioGroupItemFrame","createRadioGroup","RadioGroup","Frame","Indicator","Item"],"sources":["../../src/index.ts"],"sourcesContent":[null],"mappings":"AAAA,SACEA,eAAA,EACAC,wBAAA,EACAC,mBAAA,QACK;AACP,SAASC,gBAAA,QAAwB;AAEjC,cAAc;AACd,cAAc;AACd,cAAc;AAEP,MAAMC,UAAA,GAAaD,gBAAA,CAAiB;EACzCE,KAAA,EAAOL,eAAA;EACPM,SAAA,EAAWL,wBAAA;EACXM,IAAA,EAAML;AACR,CAAC","ignoreList":[]}
@@ -1 +0,0 @@
1
- {"version":3,"names":["RadioGroupFrame","RadioGroupIndicatorFrame","RadioGroupItemFrame","createRadioGroup","RadioGroup","Frame","Indicator","Item"],"sources":["../../src/index.ts"],"sourcesContent":[null],"mappings":"AAAA,SACEA,eAAA,EACAC,wBAAA,EACAC,mBAAA,QACK;AACP,SAASC,gBAAA,QAAwB;AAEjC,cAAc;AACd,cAAc;AACd,cAAc;AAEP,MAAMC,UAAA,GAAaD,gBAAA,CAAiB;EACzCE,KAAA,EAAOL,eAAA;EACPM,SAAA,EAAWL,wBAAA;EACXM,IAAA,EAAML;AACR,CAAC","ignoreList":[]}
@@ -1,10 +0,0 @@
1
- import type { SizeTokens } from '@tamagui/core'
2
- import { createStyledContext } from '@tamagui/core'
3
-
4
- export const RadioGroupStyledContext = createStyledContext(
5
- {
6
- size: '$true' as SizeTokens,
7
- scaleIcon: 1,
8
- },
9
- 'RadioGroup'
10
- )
@@ -1,191 +0,0 @@
1
- import type { GetProps } from '@tamagui/core'
2
- import { isWeb, withStaticProperties } from '@tamagui/core'
3
- import type {
4
- RadioGroupContextValue,
5
- RadioGroupItemContextValue,
6
- } from '@tamagui/radio-headless'
7
- import {
8
- useRadioGroup,
9
- useRadioGroupItem,
10
- useRadioGroupItemIndicator,
11
- } from '@tamagui/radio-headless'
12
- import { RovingFocusGroup } from '@tamagui/roving-focus'
13
- import React from 'react'
14
- import {
15
- RadioGroupFrame,
16
- RadioGroupIndicatorFrame,
17
- RadioGroupItemFrame,
18
- } from './RadioGroup'
19
-
20
- const ensureContext = (x: any) => {
21
- if (!x.context) {
22
- x.context = RadioGroupContext
23
- }
24
- }
25
-
26
- type RadioIndicatorProps = GetProps<typeof RadioGroupIndicatorFrame> & {
27
- forceMount?: boolean
28
- unstyled?: boolean
29
- }
30
-
31
- const RadioGroupContext = React.createContext<RadioGroupContextValue>({})
32
- const RadioGroupItemContext = React.createContext<RadioGroupItemContextValue>({
33
- checked: false,
34
- disabled: false,
35
- })
36
-
37
- export type RadioGroupItemProps = GetProps<typeof RadioGroupItemFrame> & {
38
- value: string
39
- id?: string
40
- labelledBy?: string
41
- disabled?: boolean
42
- }
43
-
44
- export type RadioGroupProps = GetProps<typeof RadioGroupFrame> & {
45
- value?: string
46
- defaultValue?: string
47
- onValueChange?: (value: string) => void
48
- required?: boolean
49
- disabled?: boolean
50
- name?: string
51
- native?: boolean
52
- accentColor?: string
53
- }
54
-
55
- type RadioGroupComponent = (props: RadioGroupProps) => any
56
-
57
- type RadioGroupIndicatorComponent = (props: RadioIndicatorProps) => any
58
-
59
- type RadioGroupItemComponent = (props: RadioGroupItemProps) => any
60
-
61
- export function createRadioGroup<
62
- F extends RadioGroupComponent,
63
- D extends RadioGroupIndicatorComponent,
64
- I extends RadioGroupItemComponent,
65
- >(createProps: { disableActiveTheme?: boolean; Frame?: F; Indicator?: D; Item?: I }) {
66
- const {
67
- disableActiveTheme,
68
- Frame = RadioGroupFrame,
69
- Indicator = RadioGroupIndicatorFrame,
70
- Item = RadioGroupItemFrame,
71
- } = createProps as any as {
72
- disableActiveTheme?: boolean
73
- Frame: typeof RadioGroupFrame
74
- Indicator: typeof RadioGroupIndicatorFrame
75
- Item: typeof RadioGroupItemFrame
76
- }
77
-
78
- ensureContext(Frame)
79
- ensureContext(Indicator)
80
- ensureContext(Item)
81
-
82
- type RadioGroupProps = GetProps<typeof RadioGroupFrame> & {
83
- value?: string
84
- defaultValue?: string
85
- onValueChange?: (value: string) => void
86
- required?: boolean
87
- disabled?: boolean
88
- name?: string
89
- native?: boolean
90
- accentColor?: string
91
- }
92
-
93
- const RadioGroupImp = Frame.styleable<RadioGroupProps>((props, ref) => {
94
- const {
95
- value,
96
- defaultValue,
97
- onValueChange,
98
- required = false,
99
- disabled = false,
100
- name,
101
- native,
102
- accentColor,
103
- orientation = 'vertical',
104
- ...rest
105
- } = props
106
-
107
- const { providerValue, frameAttrs, rovingFocusGroupAttrs } = useRadioGroup({
108
- orientation,
109
- name,
110
- defaultValue,
111
- value,
112
- onValueChange,
113
- required,
114
- disabled,
115
- native,
116
- accentColor,
117
- })
118
-
119
- return (
120
- <RadioGroupContext.Provider value={providerValue}>
121
- <RovingFocusGroup {...rovingFocusGroupAttrs}>
122
- <RadioGroupFrame {...frameAttrs} ref={ref} {...rest} />
123
- </RovingFocusGroup>
124
- </RadioGroupContext.Provider>
125
- )
126
- })
127
-
128
- const RadioGroupItemImp = Item.styleable<RadioGroupItemProps>((props, ref) => {
129
- const { value, labelledBy, onPress, onKeyDown, disabled, id, ...rest } = props
130
-
131
- const {
132
- providerValue,
133
- bubbleInput,
134
- rovingFocusGroupAttrs,
135
- frameAttrs,
136
- isFormControl,
137
- native,
138
- } = useRadioGroupItem({
139
- radioGroupContext: RadioGroupContext,
140
- value,
141
- id,
142
- labelledBy,
143
- disabled,
144
- onPress: onPress!,
145
- onKeyDown,
146
- })
147
-
148
- return (
149
- <RadioGroupItemContext.Provider value={providerValue}>
150
- {isWeb && native ? (
151
- bubbleInput
152
- ) : (
153
- <>
154
- <RovingFocusGroup.Item {...rovingFocusGroupAttrs}>
155
- <RadioGroupItemFrame {...frameAttrs} ref={ref} {...rest} />
156
- </RovingFocusGroup.Item>
157
- {isFormControl && bubbleInput}
158
- </>
159
- )}
160
- </RadioGroupItemContext.Provider>
161
- )
162
- })
163
-
164
- RadioGroupItemImp.displayName = 'RadioGroupItem'
165
-
166
- const RadioIndicator = Indicator.styleable<RadioIndicatorProps>(
167
- (props: RadioIndicatorProps, forwardedRef) => {
168
- const { forceMount, disabled, ...indicatorProps } = props
169
- const { checked, ...useIndicatorRest } = useRadioGroupItemIndicator({
170
- radioGroupItemContext: RadioGroupItemContext,
171
- disabled,
172
- })
173
-
174
- if (forceMount || checked) {
175
- return <Indicator {...useIndicatorRest} ref={forwardedRef} {...indicatorProps} />
176
- }
177
-
178
- return null
179
- }
180
- )
181
-
182
- RadioIndicator.displayName = 'RadioIndicator'
183
-
184
- const RadioGroup = withStaticProperties(RadioGroupImp, {
185
- Item: RadioGroupItemImp,
186
- Indicator: RadioIndicator,
187
- })
188
- RadioGroup.displayName = 'RadioGroup'
189
-
190
- return RadioGroup
191
- }
@@ -1,6 +0,0 @@
1
- import type { SizeTokens } from '@tamagui/core';
2
- export declare const RadioGroupStyledContext: import("@tamagui/core").StyledContext<{
3
- size: SizeTokens;
4
- scaleIcon: number;
5
- }>;
6
- //# sourceMappingURL=RadioGroupStyledContext.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"RadioGroupStyledContext.d.ts","sourceRoot":"","sources":["../src/RadioGroupStyledContext.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,eAAe,CAAA;AAG/C,eAAO,MAAM,uBAAuB;UAEf,UAAU;;EAI9B,CAAA"}