@tamagui/checkbox 2.0.0-rc.3 → 2.0.0-rc.31

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.
@@ -1,158 +0,0 @@
1
- import { isIndeterminate, useCheckbox } from "@tamagui/checkbox-headless";
2
- import {
3
- getVariableValue,
4
- isWeb,
5
- shouldRenderNativePlatform,
6
- useProps,
7
- useTheme,
8
- withStaticProperties
9
- } from "@tamagui/core";
10
-
11
- import { getFontSize } from "@tamagui/font-size";
12
- import { getSize } from "@tamagui/get-token";
13
- import { useGetThemedIcon } from "@tamagui/helpers-tamagui";
14
- import { useControllableState } from "@tamagui/use-controllable-state";
15
- import React, { useMemo } from "react";
16
- import { CheckboxFrame, CheckboxIndicatorFrame } from "./Checkbox";
17
- import { CheckboxStyledContext } from "./CheckboxStyledContext";
18
- import { jsx, jsxs } from "react/jsx-runtime";
19
- const CheckboxContext = React.createContext({
20
- checked: !1,
21
- disabled: !1
22
- }), ensureContext = (x) => {
23
- x.context || (x.context = CheckboxContext);
24
- };
25
- function createCheckbox(createProps) {
26
- const { Frame = CheckboxFrame, Indicator = CheckboxIndicatorFrame } = createProps;
27
- ensureContext(Frame), ensureContext(Indicator);
28
- const FrameComponent = Frame.styleable(
29
- function(_props, forwardedRef) {
30
- const {
31
- scaleSize = 0.45,
32
- sizeAdjust = 0,
33
- scaleIcon,
34
- checked: checkedProp,
35
- defaultChecked,
36
- onCheckedChange,
37
- native,
38
- unstyled = !1,
39
- activeStyle,
40
- activeTheme,
41
- ...props
42
- } = _props, propsActive = useProps(props), styledContext = React.useContext(CheckboxStyledContext.context);
43
- let adjustedSize = 0, size = 0;
44
- unstyled || (adjustedSize = getVariableValue(
45
- getSize(propsActive.size ?? styledContext?.size ?? "$true", {
46
- shift: sizeAdjust
47
- })
48
- ), size = scaleSize ? Math.round(adjustedSize * scaleSize) : adjustedSize);
49
- const [checked = !1, setChecked] = useControllableState({
50
- prop: checkedProp,
51
- defaultProp: defaultChecked,
52
- onChange: onCheckedChange
53
- }), { checkboxProps, checkboxRef, bubbleInput } = useCheckbox(
54
- // @ts-ignore
55
- propsActive,
56
- [checked, setChecked],
57
- forwardedRef
58
- );
59
- if (shouldRenderNativePlatform(native) === "web")
60
- return /* @__PURE__ */ jsx(
61
- "input",
62
- {
63
- type: "checkbox",
64
- defaultChecked: isIndeterminate(checked) ? !1 : checked,
65
- tabIndex: -1,
66
- ref: checkboxRef,
67
- disabled: checkboxProps.disabled,
68
- style: {
69
- appearance: "auto",
70
- accentColor: "var(--color6)",
71
- ...checkboxProps.style
72
- }
73
- }
74
- );
75
- const memoizedContext = useMemo(
76
- () => ({
77
- checked,
78
- disabled: checkboxProps.disabled
79
- }),
80
- [checked, checkboxProps.disabled]
81
- ), isActive = !!checked, disabled = checkboxProps.disabled;
82
- return /* @__PURE__ */ jsx(CheckboxContext.Provider, { value: memoizedContext, children: /* @__PURE__ */ jsxs(
83
- CheckboxStyledContext.Provider,
84
- {
85
- size: propsActive.size ?? styledContext?.size ?? "$true",
86
- scaleIcon: scaleIcon ?? styledContext?.scaleIcon ?? 1,
87
- unstyled,
88
- active: isActive,
89
- disabled,
90
- children: [
91
- /* @__PURE__ */ jsx(
92
- Frame,
93
- {
94
- render: "button",
95
- ref: checkboxRef,
96
- unstyled,
97
- theme: activeTheme ?? null,
98
- ...isWeb && { type: "button" },
99
- ...!unstyled && {
100
- width: size,
101
- height: size,
102
- size
103
- },
104
- checked,
105
- disabled,
106
- ...checkboxProps,
107
- ...props,
108
- ...isActive && {
109
- ...!unstyled && !activeStyle && {
110
- backgroundColor: "$backgroundActive"
111
- },
112
- ...activeStyle
113
- },
114
- children: propsActive.children
115
- }
116
- ),
117
- bubbleInput
118
- ]
119
- }
120
- ) });
121
- }
122
- ), IndicatorComponent = Indicator.styleable(
123
- (props, forwardedRef) => {
124
- const {
125
- children: childrenProp,
126
- forceMount,
127
- disablePassStyles,
128
- unstyled = !1,
129
- activeStyle,
130
- ...indicatorProps
131
- } = props, styledContext = CheckboxStyledContext.useStyledContext(), { active } = styledContext;
132
- let children = childrenProp;
133
- if (!unstyled) {
134
- const iconSize = (typeof styledContext.size == "number" ? styledContext.size * 0.65 : getFontSize(styledContext.size)) * styledContext.scaleIcon, theme = useTheme(), getThemedIcon = useGetThemedIcon({ size: iconSize, color: theme.color });
135
- children = React.Children.toArray(childrenProp).map((child) => disablePassStyles || !React.isValidElement(child) ? child : getThemedIcon(child));
136
- }
137
- const context = React.useContext(CheckboxContext);
138
- return forceMount || isIndeterminate(context.checked) || context.checked === !0 ? /* @__PURE__ */ jsx(
139
- Indicator,
140
- {
141
- pointerEvents: "none",
142
- ...indicatorProps,
143
- ...active && activeStyle,
144
- ref: forwardedRef,
145
- children
146
- }
147
- ) : null;
148
- }
149
- );
150
- return withStaticProperties(FrameComponent, {
151
- Indicator: IndicatorComponent
152
- });
153
- }
154
- export {
155
- CheckboxContext,
156
- createCheckbox
157
- };
158
- //# sourceMappingURL=createCheckbox.js.map
@@ -1,6 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../src/createCheckbox.tsx"],
4
- "mappings": "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",
5
- "names": []
6
- }