@tamagui/checkbox 1.79.7 → 1.79.8

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 (92) hide show
  1. package/dist/cjs/BubbleInput.js +69 -0
  2. package/dist/cjs/BubbleInput.js.map +6 -0
  3. package/dist/cjs/BubbleInput.native.js +70 -0
  4. package/dist/cjs/BubbleInput.native.js.map +6 -0
  5. package/dist/cjs/CheckboxIndicator.js +70 -0
  6. package/dist/cjs/CheckboxIndicator.js.map +6 -0
  7. package/dist/cjs/CheckboxIndicator.native.js +71 -0
  8. package/dist/cjs/CheckboxIndicator.native.js.map +6 -0
  9. package/dist/cjs/CheckboxStyledContext.js +29 -0
  10. package/dist/cjs/CheckboxStyledContext.js.map +6 -0
  11. package/dist/cjs/CheckboxStyledContext.native.js +30 -0
  12. package/dist/cjs/CheckboxStyledContext.native.js.map +6 -0
  13. package/dist/cjs/ScopedProps.js +189 -0
  14. package/dist/cjs/ScopedProps.js.map +6 -0
  15. package/dist/cjs/ScopedProps.native.js +199 -0
  16. package/dist/cjs/ScopedProps.native.js.map +6 -0
  17. package/dist/cjs/createCheckbox.js +167 -0
  18. package/dist/cjs/createCheckbox.js.map +6 -0
  19. package/dist/cjs/createCheckbox.native.js +177 -0
  20. package/dist/cjs/createCheckbox.native.js.map +6 -0
  21. package/dist/cjs/isIndeterminate.js +32 -0
  22. package/dist/cjs/isIndeterminate.js.map +6 -0
  23. package/dist/cjs/isIndeterminate.native.js +33 -0
  24. package/dist/cjs/isIndeterminate.native.js.map +6 -0
  25. package/dist/cjs/utils.js +32 -0
  26. package/dist/cjs/utils.js.map +6 -0
  27. package/dist/cjs/utils.native.js +33 -0
  28. package/dist/cjs/utils.native.js.map +6 -0
  29. package/dist/esm/BubbleInput.js +44 -0
  30. package/dist/esm/BubbleInput.js.map +6 -0
  31. package/dist/esm/BubbleInput.native.js +44 -0
  32. package/dist/esm/BubbleInput.native.js.map +6 -0
  33. package/dist/esm/CheckboxIndicator.js +57 -0
  34. package/dist/esm/CheckboxIndicator.js.map +6 -0
  35. package/dist/esm/CheckboxIndicator.native.js +57 -0
  36. package/dist/esm/CheckboxIndicator.native.js.map +6 -0
  37. package/dist/esm/CheckboxStyledContext.js +9 -0
  38. package/dist/esm/CheckboxStyledContext.js.map +6 -0
  39. package/dist/esm/CheckboxStyledContext.native.js +9 -0
  40. package/dist/esm/CheckboxStyledContext.native.js.map +6 -0
  41. package/dist/esm/ScopedProps.js +175 -0
  42. package/dist/esm/ScopedProps.js.map +6 -0
  43. package/dist/esm/ScopedProps.native.js +184 -0
  44. package/dist/esm/ScopedProps.native.js.map +6 -0
  45. package/dist/esm/createCheckbox.js +156 -0
  46. package/dist/esm/createCheckbox.js.map +6 -0
  47. package/dist/esm/createCheckbox.native.js +165 -0
  48. package/dist/esm/createCheckbox.native.js.map +6 -0
  49. package/dist/esm/isIndeterminate.js +11 -0
  50. package/dist/esm/isIndeterminate.js.map +6 -0
  51. package/dist/esm/isIndeterminate.native.js +11 -0
  52. package/dist/esm/isIndeterminate.native.js.map +6 -0
  53. package/dist/esm/utils.js +11 -0
  54. package/dist/esm/utils.js.map +6 -0
  55. package/dist/esm/utils.native.js +11 -0
  56. package/dist/esm/utils.native.js.map +6 -0
  57. package/dist/jsx/BubbleInput.js +40 -0
  58. package/dist/jsx/BubbleInput.js.map +6 -0
  59. package/dist/jsx/BubbleInput.native.js +40 -0
  60. package/dist/jsx/BubbleInput.native.js.map +6 -0
  61. package/dist/jsx/CheckboxIndicator.js +52 -0
  62. package/dist/jsx/CheckboxIndicator.js.map +6 -0
  63. package/dist/jsx/CheckboxIndicator.native.js +52 -0
  64. package/dist/jsx/CheckboxIndicator.native.js.map +6 -0
  65. package/dist/jsx/CheckboxStyledContext.js +9 -0
  66. package/dist/jsx/CheckboxStyledContext.js.map +6 -0
  67. package/dist/jsx/CheckboxStyledContext.native.js +9 -0
  68. package/dist/jsx/CheckboxStyledContext.native.js.map +6 -0
  69. package/dist/jsx/ScopedProps.js +160 -0
  70. package/dist/jsx/ScopedProps.js.map +6 -0
  71. package/dist/jsx/ScopedProps.native.js +169 -0
  72. package/dist/jsx/ScopedProps.native.js.map +6 -0
  73. package/dist/jsx/createCheckbox.js +137 -0
  74. package/dist/jsx/createCheckbox.js.map +6 -0
  75. package/dist/jsx/createCheckbox.native.js +146 -0
  76. package/dist/jsx/createCheckbox.native.js.map +6 -0
  77. package/dist/jsx/isIndeterminate.js +11 -0
  78. package/dist/jsx/isIndeterminate.js.map +6 -0
  79. package/dist/jsx/isIndeterminate.native.js +11 -0
  80. package/dist/jsx/isIndeterminate.native.js.map +6 -0
  81. package/dist/jsx/utils.js +11 -0
  82. package/dist/jsx/utils.js.map +6 -0
  83. package/dist/jsx/utils.native.js +11 -0
  84. package/dist/jsx/utils.native.js.map +6 -0
  85. package/package.json +12 -12
  86. package/types/BubbleInput.d.ts.map +1 -0
  87. package/types/CheckboxIndicator.d.ts.map +1 -0
  88. package/types/CheckboxStyledContext.d.ts.map +1 -0
  89. package/types/ScopedProps.d.ts.map +1 -0
  90. package/types/createCheckbox.d.ts.map +1 -0
  91. package/types/isIndeterminate.d.ts.map +1 -0
  92. package/types/utils.d.ts.map +1 -0
@@ -0,0 +1,40 @@
1
+ import { usePrevious } from "@tamagui/use-previous";
2
+ import * as React from "react";
3
+ import { isIndeterminate } from "./utils";
4
+ const BubbleInput = (props) => {
5
+ const { checked, bubbles = !0, control, isHidden, ...inputProps } = props, ref = React.useRef(null), prevChecked = usePrevious(checked);
6
+ return React.useEffect(() => {
7
+ const input = ref.current, inputProto = window.HTMLInputElement.prototype, setChecked = Object.getOwnPropertyDescriptor(
8
+ inputProto,
9
+ "checked"
10
+ ).set;
11
+ if (prevChecked !== checked && setChecked) {
12
+ const event = new Event("click", { bubbles });
13
+ input.indeterminate = isIndeterminate(checked), setChecked.call(input, isIndeterminate(checked) ? !1 : checked), input.dispatchEvent(event);
14
+ }
15
+ }, [prevChecked, checked, bubbles]), <input
16
+ type="checkbox"
17
+ defaultChecked={isIndeterminate(checked) ? !1 : checked}
18
+ {...inputProps}
19
+ tabIndex={-1}
20
+ ref={ref}
21
+ aria-hidden={isHidden}
22
+ style={{
23
+ ...isHidden ? {
24
+ // ...controlSize,
25
+ position: "absolute",
26
+ pointerEvents: "none",
27
+ opacity: 0,
28
+ margin: 0
29
+ } : {
30
+ appearance: "auto",
31
+ accentColor: "var(--color6)"
32
+ },
33
+ ...props.style
34
+ }}
35
+ />;
36
+ };
37
+ export {
38
+ BubbleInput
39
+ };
40
+ //# sourceMappingURL=BubbleInput.js.map
@@ -0,0 +1,6 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/BubbleInput.tsx"],
4
+ "mappings": "AAAA,SAAS,mBAAmB;AAC5B,YAAY,WAAW;AAGvB,SAAS,uBAAuB;AAEzB,MAAM,cAAc,CAAC,UAA4B;AACtD,QAAM,EAAE,SAAS,UAAU,IAAM,SAAS,UAAU,GAAG,WAAW,IAAI,OAChE,MAAM,MAAM,OAAyB,IAAI,GACzC,cAAc,YAAY,OAAO;AAGvC,eAAM,UAAU,MAAM;AACpB,UAAM,QAAQ,IAAI,SACZ,aAAa,OAAO,iBAAiB,WAKrC,aAJa,OAAO;AAAA,MACxB;AAAA,MACA;AAAA,IACF,EAC8B;AAE9B,QAAI,gBAAgB,WAAW,YAAY;AACzC,YAAM,QAAQ,IAAI,MAAM,SAAS,EAAE,QAAQ,CAAC;AAC5C,YAAM,gBAAgB,gBAAgB,OAAO,GAC7C,WAAW,KAAK,OAAO,gBAAgB,OAAO,IAAI,KAAQ,OAAO,GACjE,MAAM,cAAc,KAAK;AAAA,IAC3B;AAAA,EACF,GAAG,CAAC,aAAa,SAAS,OAAO,CAAC,GAGhC,CAAC;AAAA,IACC,KAAK;AAAA,IACL,gBAAgB,gBAAgB,OAAO,IAAI,KAAQ;AAAA,QAC/C;AAAA,IACJ,UAAU;AAAA,IACV,KAAK;AAAA,IACL,aAAa;AAAA,IACb,OAAO;AAAA,MACL,GAAI,WACA;AAAA;AAAA,QAEE,UAAU;AAAA,QACV,eAAe;AAAA,QACf,SAAS;AAAA,QACT,QAAQ;AAAA,MACV,IACA;AAAA,QACE,YAAY;AAAA,QACZ,aAAa;AAAA,MACf;AAAA,MAEJ,GAAG,MAAM;AAAA,IACX;AAAA,EACF;AAEJ;",
5
+ "names": []
6
+ }
@@ -0,0 +1,52 @@
1
+ import {
2
+ styled,
3
+ useTheme,
4
+ withStaticProperties
5
+ } from "@tamagui/core";
6
+ import { getFontSize } from "@tamagui/font-size";
7
+ import { useGetThemedIcon } from "@tamagui/helpers-tamagui";
8
+ import { ThemeableStack } from "@tamagui/stacks";
9
+ import * as React from "react";
10
+ import {
11
+ CheckboxComponent,
12
+ useCheckboxContext
13
+ } from "./Checkbox";
14
+ import { CheckboxStyledContext } from "./CheckboxStyledContext";
15
+ import { getState, isIndeterminate } from "./utils";
16
+ const INDICATOR_NAME = "CheckboxIndicator", CheckboxIndicatorFrame = styled(ThemeableStack, {
17
+ // use Checkbox for easier themes
18
+ name: INDICATOR_NAME,
19
+ context: CheckboxStyledContext
20
+ }), CheckboxIndicator = CheckboxIndicatorFrame.extractable(
21
+ React.forwardRef(
22
+ (props, forwardedRef) => {
23
+ const {
24
+ __scopeCheckbox,
25
+ children: childrenProp,
26
+ forceMount,
27
+ disablePassStyles,
28
+ ...indicatorProps
29
+ } = props;
30
+ process.env.NODE_ENV === "development" && !childrenProp && console.warn(
31
+ "Warning: You created a Checkbox.Indicator without passing an child prop for it to use as an icon."
32
+ );
33
+ const context = useCheckboxContext(INDICATOR_NAME, __scopeCheckbox), styledContext = React.useContext(CheckboxStyledContext), iconSize = (typeof styledContext.size == "number" ? styledContext.size * 0.65 : getFontSize(styledContext.size)) * styledContext.scaleIcon, theme = useTheme(), getThemedIcon = useGetThemedIcon({ size: iconSize, color: theme.color }), children = React.Children.toArray(childrenProp).map((child) => disablePassStyles || !React.isValidElement(child) ? child : getThemedIcon(child));
34
+ return forceMount || isIndeterminate(context.state) || context.state === !0 ? <CheckboxIndicatorFrame
35
+ data-state={getState(context.state)}
36
+ data-disabled={context.disabled ? "" : void 0}
37
+ pointerEvents="none"
38
+ {...indicatorProps}
39
+ ref={forwardedRef}
40
+ >{children}</CheckboxIndicatorFrame> : null;
41
+ }
42
+ )
43
+ );
44
+ CheckboxIndicator.displayName = INDICATOR_NAME;
45
+ const Checkbox = withStaticProperties(CheckboxComponent, {
46
+ Indicator: CheckboxIndicator,
47
+ Props: CheckboxStyledContext.Provider
48
+ });
49
+ export {
50
+ Checkbox
51
+ };
52
+ //# sourceMappingURL=CheckboxIndicator.js.map
@@ -0,0 +1,6 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/CheckboxIndicator.tsx"],
4
+ "mappings": "AAGA;AAAA,EAGE;AAAA,EACA;AAAA,EACA;AAAA,OACK;AACP,SAAS,mBAAmB;AAE5B,SAAS,wBAAwB;AACjC,SAAS,sBAAsB;AAC/B,YAAY,WAAW;AAEvB;AAAA,EACE;AAAA,EAGA;AAAA,OACK;AACP,SAAS,6BAA6B;AACtC,SAAS,UAAU,uBAAuB;AAe1C,MAAM,iBAAiB,qBAEjB,yBAAyB,OAAO,gBAAgB;AAAA;AAAA,EAEpD,MAAM;AAAA,EACN,SAAS;AACX,CAAC,GAgBK,oBAAoB,uBAAuB;AAAA,EAC/C,MAAM;AAAA,IACJ,CAAC,OAA4C,iBAAiB;AAC5D,YAAM;AAAA,QACJ;AAAA,QACA,UAAU;AAAA,QACV;AAAA,QACA;AAAA,QACA,GAAG;AAAA,MACL,IAAI;AACJ,MAAI,QAAQ,IAAI,aAAa,iBAAiB,CAAC,gBAC7C,QAAQ;AAAA,QACN;AAAA,MACF;AAEF,YAAM,UAAU,mBAAmB,gBAAgB,eAAe,GAC5D,gBAAgB,MAAM,WAAW,qBAAqB,GACtD,YACH,OAAO,cAAc,QAAS,WAC3B,cAAc,OAAO,OACrB,YAAY,cAAc,IAAW,KAAK,cAAc,WACxD,QAAQ,SAAS,GACjB,gBAAgB,iBAAiB,EAAE,MAAM,UAAU,OAAO,MAAM,MAAM,CAAC,GAGvE,WADY,MAAM,SAAS,QAAQ,YAAY,EAC1B,IAAI,CAAC,UAC1B,qBAAqB,CAAC,MAAM,eAAe,KAAK,IAC3C,QAEF,cAAc,KAAK,CAC3B;AAED,aAAI,cAAc,gBAAgB,QAAQ,KAAK,KAAK,QAAQ,UAAU,KAElE,CAAC;AAAA,QACC,YAAY,SAAS,QAAQ,KAAK;AAAA,QAClC,eAAe,QAAQ,WAAW,KAAK;AAAA,QACvC,cAAc;AAAA,YACV;AAAA,QACJ,KAAK;AAAA,QAEJ,SACH,EARC,0BAWE;AAAA,IACT;AAAA,EACF;AACF;AAEA,kBAAkB,cAAc;AAEzB,MAAM,WAAW,qBAAqB,mBAAmB;AAAA,EAC9D,WAAW;AAAA,EACX,OAAO,sBAAsB;AAC/B,CAAC;",
5
+ "names": []
6
+ }
@@ -0,0 +1,52 @@
1
+ import {
2
+ styled,
3
+ useTheme,
4
+ withStaticProperties
5
+ } from "@tamagui/core";
6
+ import { getFontSize } from "@tamagui/font-size";
7
+ import { useGetThemedIcon } from "@tamagui/helpers-tamagui";
8
+ import { ThemeableStack } from "@tamagui/stacks";
9
+ import * as React from "react";
10
+ import {
11
+ CheckboxComponent,
12
+ useCheckboxContext
13
+ } from "./Checkbox";
14
+ import { CheckboxStyledContext } from "./CheckboxStyledContext";
15
+ import { getState, isIndeterminate } from "./utils";
16
+ const INDICATOR_NAME = "CheckboxIndicator", CheckboxIndicatorFrame = styled(ThemeableStack, {
17
+ // use Checkbox for easier themes
18
+ name: INDICATOR_NAME,
19
+ context: CheckboxStyledContext
20
+ }), CheckboxIndicator = CheckboxIndicatorFrame.extractable(
21
+ React.forwardRef(
22
+ (props, forwardedRef) => {
23
+ const {
24
+ __scopeCheckbox,
25
+ children: childrenProp,
26
+ forceMount,
27
+ disablePassStyles,
28
+ ...indicatorProps
29
+ } = props;
30
+ process.env.NODE_ENV === "development" && !childrenProp && console.warn(
31
+ "Warning: You created a Checkbox.Indicator without passing an child prop for it to use as an icon."
32
+ );
33
+ const context = useCheckboxContext(INDICATOR_NAME, __scopeCheckbox), styledContext = React.useContext(CheckboxStyledContext), iconSize = (typeof styledContext.size == "number" ? styledContext.size * 0.65 : getFontSize(styledContext.size)) * styledContext.scaleIcon, theme = useTheme(), getThemedIcon = useGetThemedIcon({ size: iconSize, color: theme.color }), children = React.Children.toArray(childrenProp).map((child) => disablePassStyles || !React.isValidElement(child) ? child : getThemedIcon(child));
34
+ return forceMount || isIndeterminate(context.state) || context.state === !0 ? <CheckboxIndicatorFrame
35
+ data-state={getState(context.state)}
36
+ data-disabled={context.disabled ? "" : void 0}
37
+ pointerEvents="none"
38
+ {...indicatorProps}
39
+ ref={forwardedRef}
40
+ >{children}</CheckboxIndicatorFrame> : null;
41
+ }
42
+ )
43
+ );
44
+ CheckboxIndicator.displayName = INDICATOR_NAME;
45
+ const Checkbox = withStaticProperties(CheckboxComponent, {
46
+ Indicator: CheckboxIndicator,
47
+ Props: CheckboxStyledContext.Provider
48
+ });
49
+ export {
50
+ Checkbox
51
+ };
52
+ //# sourceMappingURL=CheckboxIndicator.js.map
@@ -0,0 +1,6 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/CheckboxIndicator.tsx"],
4
+ "mappings": "AAGA;AAAA,EAGE;AAAA,EACA;AAAA,EACA;AAAA,OACK;AACP,SAAS,mBAAmB;AAE5B,SAAS,wBAAwB;AACjC,SAAS,sBAAsB;AAC/B,YAAY,WAAW;AAEvB;AAAA,EACE;AAAA,EAGA;AAAA,OACK;AACP,SAAS,6BAA6B;AACtC,SAAS,UAAU,uBAAuB;AAe1C,MAAM,iBAAiB,qBAEjB,yBAAyB,OAAO,gBAAgB;AAAA;AAAA,EAEpD,MAAM;AAAA,EACN,SAAS;AACX,CAAC,GAgBK,oBAAoB,uBAAuB;AAAA,EAC/C,MAAM;AAAA,IACJ,CAAC,OAA4C,iBAAiB;AAC5D,YAAM;AAAA,QACJ;AAAA,QACA,UAAU;AAAA,QACV;AAAA,QACA;AAAA,QACA,GAAG;AAAA,MACL,IAAI;AACJ,MAAI,QAAQ,IAAI,aAAa,iBAAiB,CAAC,gBAC7C,QAAQ;AAAA,QACN;AAAA,MACF;AAEF,YAAM,UAAU,mBAAmB,gBAAgB,eAAe,GAC5D,gBAAgB,MAAM,WAAW,qBAAqB,GACtD,YACH,OAAO,cAAc,QAAS,WAC3B,cAAc,OAAO,OACrB,YAAY,cAAc,IAAW,KAAK,cAAc,WACxD,QAAQ,SAAS,GACjB,gBAAgB,iBAAiB,EAAE,MAAM,UAAU,OAAO,MAAM,MAAM,CAAC,GAGvE,WADY,MAAM,SAAS,QAAQ,YAAY,EAC1B,IAAI,CAAC,UAC1B,qBAAqB,CAAC,MAAM,eAAe,KAAK,IAC3C,QAEF,cAAc,KAAK,CAC3B;AAED,aAAI,cAAc,gBAAgB,QAAQ,KAAK,KAAK,QAAQ,UAAU,KAElE,CAAC;AAAA,QACC,YAAY,SAAS,QAAQ,KAAK;AAAA,QAClC,eAAe,QAAQ,WAAW,KAAK;AAAA,QACvC,cAAc;AAAA,YACV;AAAA,QACJ,KAAK;AAAA,QAEJ,SACH,EARC,0BAWE;AAAA,IACT;AAAA,EACF;AACF;AAEA,kBAAkB,cAAc;AAEzB,MAAM,WAAW,qBAAqB,mBAAmB;AAAA,EAC9D,WAAW;AAAA,EACX,OAAO,sBAAsB;AAC/B,CAAC;",
5
+ "names": []
6
+ }
@@ -0,0 +1,9 @@
1
+ import { createStyledContext } from "@tamagui/core";
2
+ const CheckboxStyledContext = createStyledContext({
3
+ size: "$true",
4
+ scaleIcon: 1
5
+ });
6
+ export {
7
+ CheckboxStyledContext
8
+ };
9
+ //# sourceMappingURL=CheckboxStyledContext.js.map
@@ -0,0 +1,6 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/CheckboxStyledContext.tsx"],
4
+ "mappings": "AAAA,SAAqB,2BAA2B;AAEzC,MAAM,wBAAwB,oBAAoB;AAAA,EACvD,MAAM;AAAA,EACN,WAAW;AACb,CAAC;",
5
+ "names": []
6
+ }
@@ -0,0 +1,9 @@
1
+ import { createStyledContext } from "@tamagui/core";
2
+ const CheckboxStyledContext = createStyledContext({
3
+ size: "$true",
4
+ scaleIcon: 1
5
+ });
6
+ export {
7
+ CheckboxStyledContext
8
+ };
9
+ //# sourceMappingURL=CheckboxStyledContext.js.map
@@ -0,0 +1,6 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/CheckboxStyledContext.tsx"],
4
+ "mappings": "AAAA,SAAqB,2BAA2B;AAEzC,MAAM,wBAAwB,oBAAoB;AAAA,EACvD,MAAM;AAAA,EACN,WAAW;AACb,CAAC;",
5
+ "names": []
6
+ }
@@ -0,0 +1,160 @@
1
+ import {
2
+ composeEventHandlers,
3
+ getVariableValue,
4
+ isWeb,
5
+ styled,
6
+ useComposedRefs,
7
+ useProps
8
+ } from "@tamagui/core";
9
+ import { createContextScope } from "@tamagui/create-context";
10
+ import "@tamagui/focusable";
11
+ import { getSize } from "@tamagui/get-token";
12
+ import { useLabelContext } from "@tamagui/label";
13
+ import { ThemeableStack } from "@tamagui/stacks";
14
+ import { useControllableState } from "@tamagui/use-controllable-state";
15
+ import * as React from "react";
16
+ import { BubbleInput } from "./BubbleInput";
17
+ import { CheckboxStyledContext } from "./CheckboxStyledContext";
18
+ import { getState, isIndeterminate } from "./isIndeterminate";
19
+ const CHECKBOX_NAME = "Checkbox", CheckboxFrame = styled(ThemeableStack, {
20
+ name: CHECKBOX_NAME,
21
+ tag: "button",
22
+ context: CheckboxStyledContext,
23
+ variants: {
24
+ unstyled: {
25
+ false: {
26
+ size: "$true",
27
+ backgroundColor: "$background",
28
+ alignItems: "center",
29
+ justifyContent: "center",
30
+ pressTheme: !0,
31
+ focusable: !0,
32
+ borderWidth: 1,
33
+ borderColor: "$borderColor",
34
+ hoverStyle: {
35
+ borderColor: "$borderColorHover"
36
+ },
37
+ focusStyle: {
38
+ borderColor: "$borderColorFocus",
39
+ outlineStyle: "solid",
40
+ outlineWidth: 2,
41
+ outlineColor: "$borderColorFocus"
42
+ }
43
+ }
44
+ },
45
+ disabled: {
46
+ true: {
47
+ pointerEvents: "none",
48
+ userSelect: "none",
49
+ cursor: "not-allowed",
50
+ hoverStyle: {
51
+ borderColor: "$borderColor",
52
+ backgroundColor: "$background"
53
+ },
54
+ pressStyle: {
55
+ borderColor: "$borderColor",
56
+ backgroundColor: "$backgroundColor"
57
+ },
58
+ focusStyle: {
59
+ outlineWidth: 0
60
+ }
61
+ }
62
+ },
63
+ size: {
64
+ "...size": (val, { tokens }) => ({
65
+ borderRadius: getVariableValue(getSize(val)) / 8
66
+ })
67
+ }
68
+ },
69
+ defaultVariants: {
70
+ unstyled: process.env.TAMAGUI_HEADLESS === "1"
71
+ }
72
+ }), [createCheckboxContext, createCheckboxScope] = createContextScope(CHECKBOX_NAME), [CheckboxProvider, useCheckboxContext] = createCheckboxContext(CHECKBOX_NAME), CheckboxComponent = CheckboxFrame.styleable(
73
+ function(props, forwardedRef) {
74
+ const {
75
+ __scopeCheckbox,
76
+ labelledBy: ariaLabelledby,
77
+ name,
78
+ checked: checkedProp,
79
+ defaultChecked,
80
+ required,
81
+ scaleSize = 0.45,
82
+ sizeAdjust = 0,
83
+ disabled,
84
+ value = "on",
85
+ onCheckedChange,
86
+ native,
87
+ scaleIcon,
88
+ ...checkboxProps
89
+ } = props, [button, setButton] = React.useState(null), composedRefs = useComposedRefs(forwardedRef, (node) => setButton(node)), hasConsumerStoppedPropagationRef = React.useRef(!1), propsActive = useProps(props), isFormControl = isWeb ? button ? !!button.closest("form") : !0 : !1, [checked = !1, setChecked] = useControllableState({
90
+ prop: checkedProp,
91
+ defaultProp: defaultChecked,
92
+ onChange: onCheckedChange
93
+ }), styledContext = React.useContext(CheckboxStyledContext), adjustedSize = getVariableValue(
94
+ getSize(propsActive.size ?? styledContext?.size ?? "$true", {
95
+ shift: sizeAdjust
96
+ })
97
+ ), size = scaleSize ? Math.round(adjustedSize * scaleSize) : adjustedSize, labelId = useLabelContext(button), labelledBy = ariaLabelledby || labelId;
98
+ return <CheckboxProvider scope={__scopeCheckbox} state={checked} disabled={disabled}>{isWeb && native ? <BubbleInput
99
+ control={button}
100
+ bubbles={!hasConsumerStoppedPropagationRef.current}
101
+ name={name}
102
+ value={value}
103
+ checked={checked}
104
+ required={required}
105
+ disabled={disabled}
106
+ id={props.id}
107
+ /> : <>
108
+ <CheckboxFrame
109
+ width={size}
110
+ height={size}
111
+ tag="button"
112
+ role="checkbox"
113
+ aria-labelledby={labelledBy}
114
+ aria-checked={isIndeterminate(checked) ? "mixed" : checked}
115
+ aria-required={required}
116
+ data-state={getState(checked)}
117
+ data-disabled={disabled ? "" : void 0}
118
+ disabled={disabled}
119
+ {...checkboxProps}
120
+ ref={composedRefs}
121
+ {...isWeb && {
122
+ type: "button",
123
+ value,
124
+ onKeyDown: composeEventHandlers(
125
+ props.onKeyDown,
126
+ (event) => {
127
+ event.key === "Enter" && event.preventDefault();
128
+ }
129
+ )
130
+ }}
131
+ onPress={composeEventHandlers(props.onPress, (event) => {
132
+ setChecked(
133
+ (prevChecked) => isIndeterminate(prevChecked) ? !0 : !prevChecked
134
+ ), isFormControl && (hasConsumerStoppedPropagationRef.current = event.isPropagationStopped(), hasConsumerStoppedPropagationRef.current || event.stopPropagation());
135
+ })}
136
+ ><CheckboxStyledContext.Provider
137
+ size={propsActive.size ?? styledContext?.size ?? "$true"}
138
+ scaleIcon={scaleIcon ?? styledContext?.scaleIcon ?? 1}
139
+ >{propsActive.children}</CheckboxStyledContext.Provider></CheckboxFrame>
140
+ {isWeb && isFormControl ? <BubbleInput
141
+ isHidden
142
+ control={button}
143
+ bubbles={!hasConsumerStoppedPropagationRef.current}
144
+ name={name}
145
+ value={value}
146
+ checked={checked}
147
+ required={required}
148
+ disabled={disabled}
149
+ /> : null}
150
+ </>}</CheckboxProvider>;
151
+ }
152
+ );
153
+ export {
154
+ CheckboxComponent,
155
+ CheckboxFrame,
156
+ CheckboxProvider,
157
+ createCheckboxScope,
158
+ useCheckboxContext
159
+ };
160
+ //# sourceMappingURL=ScopedProps.js.map
@@ -0,0 +1,6 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/ScopedProps.tsx"],
4
+ "mappings": "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",
5
+ "names": []
6
+ }
@@ -0,0 +1,169 @@
1
+ import {
2
+ composeEventHandlers,
3
+ getVariableValue,
4
+ isWeb,
5
+ styled,
6
+ useComposedRefs,
7
+ useProps
8
+ } from "@tamagui/core";
9
+ import { createContextScope } from "@tamagui/create-context";
10
+ import { registerFocusable } from "@tamagui/focusable";
11
+ import { getSize } from "@tamagui/get-token";
12
+ import { useLabelContext } from "@tamagui/label";
13
+ import { ThemeableStack } from "@tamagui/stacks";
14
+ import { useControllableState } from "@tamagui/use-controllable-state";
15
+ import * as React from "react";
16
+ import { BubbleInput } from "./BubbleInput";
17
+ import { CheckboxStyledContext } from "./CheckboxStyledContext";
18
+ import { getState, isIndeterminate } from "./isIndeterminate";
19
+ const CHECKBOX_NAME = "Checkbox", CheckboxFrame = styled(ThemeableStack, {
20
+ name: CHECKBOX_NAME,
21
+ tag: "button",
22
+ context: CheckboxStyledContext,
23
+ variants: {
24
+ unstyled: {
25
+ false: {
26
+ size: "$true",
27
+ backgroundColor: "$background",
28
+ alignItems: "center",
29
+ justifyContent: "center",
30
+ pressTheme: !0,
31
+ focusable: !0,
32
+ borderWidth: 1,
33
+ borderColor: "$borderColor",
34
+ hoverStyle: {
35
+ borderColor: "$borderColorHover"
36
+ },
37
+ focusStyle: {
38
+ borderColor: "$borderColorFocus",
39
+ outlineStyle: "solid",
40
+ outlineWidth: 2,
41
+ outlineColor: "$borderColorFocus"
42
+ }
43
+ }
44
+ },
45
+ disabled: {
46
+ true: {
47
+ pointerEvents: "none",
48
+ userSelect: "none",
49
+ cursor: "not-allowed",
50
+ hoverStyle: {
51
+ borderColor: "$borderColor",
52
+ backgroundColor: "$background"
53
+ },
54
+ pressStyle: {
55
+ borderColor: "$borderColor",
56
+ backgroundColor: "$backgroundColor"
57
+ },
58
+ focusStyle: {
59
+ outlineWidth: 0
60
+ }
61
+ }
62
+ },
63
+ size: {
64
+ "...size": (val, { tokens }) => ({
65
+ borderRadius: getVariableValue(getSize(val)) / 8
66
+ })
67
+ }
68
+ },
69
+ defaultVariants: {
70
+ unstyled: process.env.TAMAGUI_HEADLESS === "1"
71
+ }
72
+ }), [createCheckboxContext, createCheckboxScope] = createContextScope(CHECKBOX_NAME), [CheckboxProvider, useCheckboxContext] = createCheckboxContext(CHECKBOX_NAME), CheckboxComponent = CheckboxFrame.styleable(
73
+ function(props, forwardedRef) {
74
+ const {
75
+ __scopeCheckbox,
76
+ labelledBy: ariaLabelledby,
77
+ name,
78
+ checked: checkedProp,
79
+ defaultChecked,
80
+ required,
81
+ scaleSize = 0.45,
82
+ sizeAdjust = 0,
83
+ disabled,
84
+ value = "on",
85
+ onCheckedChange,
86
+ native,
87
+ scaleIcon,
88
+ ...checkboxProps
89
+ } = props, [button, setButton] = React.useState(null), composedRefs = useComposedRefs(forwardedRef, (node) => setButton(node)), hasConsumerStoppedPropagationRef = React.useRef(!1), propsActive = useProps(props), isFormControl = isWeb ? button ? !!button.closest("form") : !0 : !1, [checked = !1, setChecked] = useControllableState({
90
+ prop: checkedProp,
91
+ defaultProp: defaultChecked,
92
+ onChange: onCheckedChange
93
+ }), styledContext = React.useContext(CheckboxStyledContext), adjustedSize = getVariableValue(
94
+ getSize(propsActive.size ?? (styledContext == null ? void 0 : styledContext.size) ?? "$true", {
95
+ shift: sizeAdjust
96
+ })
97
+ ), size = scaleSize ? Math.round(adjustedSize * scaleSize) : adjustedSize, labelId = useLabelContext(button), labelledBy = ariaLabelledby || labelId;
98
+ return React.useEffect(() => {
99
+ if (props.id && !disabled)
100
+ return registerFocusable(props.id, {
101
+ focusAndSelect: () => {
102
+ setChecked((x) => !x);
103
+ },
104
+ focus: () => {
105
+ }
106
+ });
107
+ }, [props.id, setChecked, disabled]), <CheckboxProvider scope={__scopeCheckbox} state={checked} disabled={disabled}>{isWeb && native ? <BubbleInput
108
+ control={button}
109
+ bubbles={!hasConsumerStoppedPropagationRef.current}
110
+ name={name}
111
+ value={value}
112
+ checked={checked}
113
+ required={required}
114
+ disabled={disabled}
115
+ id={props.id}
116
+ /> : <>
117
+ <CheckboxFrame
118
+ width={size}
119
+ height={size}
120
+ tag="button"
121
+ role="checkbox"
122
+ aria-labelledby={labelledBy}
123
+ aria-checked={isIndeterminate(checked) ? "mixed" : checked}
124
+ aria-required={required}
125
+ data-state={getState(checked)}
126
+ data-disabled={disabled ? "" : void 0}
127
+ disabled={disabled}
128
+ {...checkboxProps}
129
+ ref={composedRefs}
130
+ {...isWeb && {
131
+ type: "button",
132
+ value,
133
+ onKeyDown: composeEventHandlers(
134
+ props.onKeyDown,
135
+ (event) => {
136
+ event.key === "Enter" && event.preventDefault();
137
+ }
138
+ )
139
+ }}
140
+ onPress={composeEventHandlers(props.onPress, (event) => {
141
+ setChecked(
142
+ (prevChecked) => isIndeterminate(prevChecked) ? !0 : !prevChecked
143
+ ), isFormControl && (hasConsumerStoppedPropagationRef.current = event.isPropagationStopped(), hasConsumerStoppedPropagationRef.current || event.stopPropagation());
144
+ })}
145
+ ><CheckboxStyledContext.Provider
146
+ size={propsActive.size ?? (styledContext == null ? void 0 : styledContext.size) ?? "$true"}
147
+ scaleIcon={scaleIcon ?? (styledContext == null ? void 0 : styledContext.scaleIcon) ?? 1}
148
+ >{propsActive.children}</CheckboxStyledContext.Provider></CheckboxFrame>
149
+ {isWeb && isFormControl ? <BubbleInput
150
+ isHidden
151
+ control={button}
152
+ bubbles={!hasConsumerStoppedPropagationRef.current}
153
+ name={name}
154
+ value={value}
155
+ checked={checked}
156
+ required={required}
157
+ disabled={disabled}
158
+ /> : null}
159
+ </>}</CheckboxProvider>;
160
+ }
161
+ );
162
+ export {
163
+ CheckboxComponent,
164
+ CheckboxFrame,
165
+ CheckboxProvider,
166
+ createCheckboxScope,
167
+ useCheckboxContext
168
+ };
169
+ //# sourceMappingURL=ScopedProps.js.map
@@ -0,0 +1,6 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/ScopedProps.tsx"],
4
+ "mappings": "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",
5
+ "names": []
6
+ }