@tamagui/switch-headless 2.1.0 → 2.2.0-1781071309197

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 +1 @@
1
- {"version":3,"names":["useComposedRefs","isWeb","composeEventHandlers","useLabelContext","usePrevious","React","jsx","getState","checked","BubbleInput","props","control","bubbles","inputProps","ref","useRef","prevChecked","useEffect","input","current","inputProto","window","HTMLInputElement","prototype","setChecked","Object","getOwnPropertyDescriptor","set","event","Event","call","dispatchEvent","type","defaultChecked","tabIndex","style","position","pointerEvents","opacity","margin","useSwitch","disabled","name","value","required","hasConsumerStoppedPropagationRef","button","setButton","useState","composedRefs","isFormControl","Boolean","closest","labelId","ariaLabelledBy","labeledBy","switchProps","role","onPress","isPropagationStopped","stopPropagation","switchRef","bubbleInput","transform"],"sources":["../../src/useSwitch.tsx"],"sourcesContent":[null],"mappings":"AAAA,SAASA,eAAA,QAAuB;AAChC,SAASC,KAAA,QAAa;AACtB,SAASC,oBAAA,QAA4B;AACrC,SAASC,eAAA,QAAuB;AAChC,SAASC,WAAA,QAAmB;AAC5B,YAAYC,KAAA,MAAW;AAuDnB,SAAAC,GAAA;AApCJ,SAASC,SAASC,OAAA,EAAsB;EACtC,OAAAA,OAAO,YAAU,cAAY;AAC/B;AAWA,MAAMC,WAAA,GAAeC,KAAA,IAA4B;EAC/C;IAAMC,OAAE;IAAAH,OAAS;IAAAI,OAAS,OAAU;IAAA,GAAMC;EAAG,CAAW,GAAAH,KAAI;EAC5D,MAAAI,GAAM,GAAAT,KAAM,CAAAU,MAAM,KAAyB,CAAI;EAC/C,MAAAC,WAAM,GAAAZ,WAAc,CAAAI,OAAY,CAAO;EAGvCH,KAAA,CAAAY,SAAM,OAAU;IACd,MAAAC,KAAM,GAAAJ,GAAQ,CAAAK,OAAI;IAClB,MAAAC,UAAM,GAAAC,MAAa,CAAAC,gBAAO,CAAAC,SAAiB;IAC3C,MAAAC,UAAM,GAAAC,MAAa,CAAAC,wBAAO,CAAAN,UAAA,aAAAO,GAAA;IAAA,IACxBX,WAAA,KAAAR,OAAA,IAAAgB,UAAA;MAAA,MACAI,KAAA,OAAAC,KAAA;QAAAjB;MAAA;MAAAY,UACF,CAAAM,IAAA,CAAAZ,KAAA,EAAAV,OAAA;MACAU,KAAA,CAAAa,aAAM,CAAaH,KAAA;IACnB;EACE,IACAZ,WAAA,EACAR,OAAA,EAAyBI,OAC3B,CACF;EAEA,sBAAAN,GAAA;IAAA0B,IAAA;IAAA,aAEE;IAAAC,cAAC,EAAAzB,OAAA;IAAA,GAAAK,UAAA;IAAAqB,QACC,IAAK;IAAApB,GAAA;IACMqB,KAAA,EACX;MAAgB,GAAAzB,KACZ,CAAAyB,KAAA;MAAAC,QACJ,YAAU;MAAAC,aACV;MAAAC,OACA;MAAOC,MAAA,EACL;IAAS;EACC;AACK;AACN,SAAAC,SACDA,CAAA9B,KAAA,GAAAF,OAAA,EAAAgB,UAAA,GAAAV,GAAA;EAAA;IACV;MAAA2B,QAAA;MAAAC,IAAA;MAAAC,KAAA;MAAAC;IAAA,IAAAlC,KAAA;IAAA,MACFmC,gCAAA,GAAAxC,KAAA,CAAAU,MAAA;IAAA,OAAA+B,MAAA,EAAAC,SAAA,IAAA1C,KAAA,CAAA2C,QAAA;IAEJ,MAAAC,YAAA,GAAAjD,eAAA,CAAAc,GAAA,EAAAiC,SAAA;IAEO,MAAAG,aACL,GAAAjD,KACC,GAAA6C,MAAS,GAAAK,OAAU,CACpBL,MACA,CAAAM,OAAA;IACA,MAAIC,OAAQ,GAAIlD,eAAA,CAAA2C,MAAmB;IACjC,MAAAQ,cAAO,GAAA5C,KAAA,uBAAAA,KAAA,CAAA6C,SAAA,IAAAF,OAAA;IAAA,OACL;MAAaG,WACX;QACEC,IAAA;QAAwC,cAC1C,EAAAjD,OAAA;QAAA,IACFP,KAAA;UAAAiC,QACA,EAAAO,QAAW;UAAA,YACX,EAAalC,QAAA,CAAAC,OAAA;UACf,iBAAAiC,QAAA;UACFA;QACE,MAAM;QACN,iBAAM,EAAAa,cAAA;QAENI,OAAO,EAAAxD,oBAAqB,CAAAQ,KAAM,CAAAgD,OAAmC,EAAA9B,KAAI;UACzEJ,UAAM,CAAAR,WAAe,KAAAA,WAAsB,CAAK;UAEhD,IAAAf,KAAM,IAAAiD,aAAgB;YAMtBL,gCAAgC,CAAA1B,OAAM,GAAAS,KAAA,CAAA+B,oBAAA;YACtC,IAAM,CAAAd,gCAAuB,CAAA1B,OAAiB,EAAAS,KAAK,CAAAgC,eAAmB;UACtE;QAAO;MACQ;MACLC,SACN,EAAAZ,YAAgB;MAAAa,WACZ,EAAA7D,KACA,IAAAiD,aAAA,kBAAA5C,GAAA,CAAAG,WAAA;QAAAE,OACE,EAAAmC,MAAA;QAAiClC,OACjC,GAAAiC,gCAA8B,CAAA1B,OAAA;QAAAuB,IAAA;QACGC,KAAA;QACjCnC,OACF;QACCoC,QACL;QAAmBH,QACnB;QACEN,KAAA;UAAA4B,SAAY;QAAiB;MAC7B;IACE;EAIA;AAAqE;AACvE,SACDvB,SAAA","ignoreList":[]}
1
+ {"version":3,"names":["useComposedRefs","isWeb","composeEventHandlers","useLabelContext","usePrevious","React","jsx","getState","checked","BubbleInput","props","control","bubbles","inputProps","ref","useRef","prevChecked","useEffect","input","current","inputProto","window","HTMLInputElement","prototype","setChecked","Object","getOwnPropertyDescriptor","set","event","Event","call","dispatchEvent","type","defaultChecked","tabIndex","style","position","pointerEvents","opacity","margin","useSwitch","disabled","name","value","required","hasConsumerStoppedPropagationRef","button","setButton","useState","composedRefs","isFormControl","Boolean","closest","labelId","ariaLabelledBy","labeledBy","switchProps","role","onPress","isPropagationStopped","stopPropagation","switchRef","bubbleInput","transform"],"sources":["useSwitch.mjs"],"sourcesContent":["import { useComposedRefs } from \"@tamagui/compose-refs\";\nimport { isWeb } from \"@tamagui/constants\";\nimport { composeEventHandlers } from \"@tamagui/helpers\";\nimport { useLabelContext } from \"@tamagui/label\";\nimport { usePrevious } from \"@tamagui/use-previous\";\nimport * as React from \"react\";\nimport { jsx } from \"react/jsx-runtime\";\n\nfunction getState(checked) {\n\treturn checked ? \"checked\" : \"unchecked\";\n}\nconst BubbleInput = (props) => {\n\tconst { control, checked, bubbles = true, ...inputProps } = props;\n\tconst ref = React.useRef(null);\n\tconst prevChecked = usePrevious(checked);\n\tReact.useEffect(() => {\n\t\tconst input = ref.current;\n\t\tconst inputProto = window.HTMLInputElement.prototype;\n\t\tconst setChecked = Object.getOwnPropertyDescriptor(inputProto, \"checked\").set;\n\t\tif (prevChecked !== checked && setChecked) {\n\t\t\tconst event = new Event(\"click\", { bubbles });\n\t\t\tsetChecked.call(input, checked);\n\t\t\tinput.dispatchEvent(event);\n\t\t}\n\t}, [\n\t\tprevChecked,\n\t\tchecked,\n\t\tbubbles\n\t]);\n\treturn /* @__PURE__ */ jsx(\"input\", {\n\t\ttype: \"checkbox\",\n\t\t\"aria-hidden\": true,\n\t\tdefaultChecked: checked,\n\t\t...inputProps,\n\t\ttabIndex: -1,\n\t\tref,\n\t\tstyle: {\n\t\t\t...props.style,\n\t\t\tposition: \"absolute\",\n\t\t\tpointerEvents: \"none\",\n\t\t\topacity: 0,\n\t\t\tmargin: 0\n\t\t}\n\t});\n};\nfunction useSwitch(props, [checked, setChecked], ref) {\n\t{\n\t\tconst { disabled, name, value, required } = props;\n\t\tconst hasConsumerStoppedPropagationRef = React.useRef(false);\n\t\tconst [button, setButton] = React.useState(null);\n\t\tconst composedRefs = useComposedRefs(ref, setButton);\n\t\tconst isFormControl = isWeb ? button ? Boolean(button.closest(\"form\")) : true : false;\n\t\tconst labelId = useLabelContext(button);\n\t\tconst ariaLabelledBy = props[\"aria-labelledby\"] || props.labeledBy || labelId;\n\t\treturn {\n\t\t\tswitchProps: {\n\t\t\t\trole: \"switch\",\n\t\t\t\t\"aria-checked\": checked,\n\t\t\t\t...isWeb ? {\n\t\t\t\t\ttabIndex: disabled ? void 0 : 0,\n\t\t\t\t\t\"data-state\": getState(checked),\n\t\t\t\t\t\"data-disabled\": disabled ? \"\" : void 0,\n\t\t\t\t\tdisabled\n\t\t\t\t} : {},\n\t\t\t\t\"aria-labelledby\": ariaLabelledBy,\n\t\t\t\tonPress: composeEventHandlers(props.onPress, (event) => {\n\t\t\t\t\tsetChecked((prevChecked) => !prevChecked);\n\t\t\t\t\tif (isWeb && isFormControl) {\n\t\t\t\t\t\thasConsumerStoppedPropagationRef.current = event.isPropagationStopped();\n\t\t\t\t\t\tif (!hasConsumerStoppedPropagationRef.current) event.stopPropagation();\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t},\n\t\t\tswitchRef: composedRefs,\n\t\t\tbubbleInput: isWeb && isFormControl ? /* @__PURE__ */ jsx(BubbleInput, {\n\t\t\t\tcontrol: button,\n\t\t\t\tbubbles: !hasConsumerStoppedPropagationRef.current,\n\t\t\t\tname,\n\t\t\t\tvalue,\n\t\t\t\tchecked,\n\t\t\t\trequired,\n\t\t\t\tdisabled,\n\t\t\t\tstyle: { transform: \"translateX(-100%)\" }\n\t\t\t}) : null\n\t\t};\n\t}\n}\n\nexport { useSwitch };"],"mappings":"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","ignoreList":[]}
@@ -1,10 +1,3 @@
1
- import { jsx as _jsx } from "react/jsx-runtime";
2
- import { useComposedRefs } from "@tamagui/compose-refs";
3
- import { isWeb } from "@tamagui/constants";
4
- import { composeEventHandlers } from "@tamagui/helpers";
5
- import { useLabelContext } from "@tamagui/label";
6
- import { usePrevious } from "@tamagui/use-previous";
7
- import * as React from "react";
8
1
  function useSwitch(props, param, ref) {
9
2
  var [checked, setChecked] = param;
10
3
  return {
@@ -1 +1 @@
1
- {"version":3,"names":["jsx","_jsx","useComposedRefs","isWeb","composeEventHandlers","useLabelContext","usePrevious","React","useSwitch","props","param","ref","checked","setChecked","switchProps","onPress","prevChecked","switchRef","bubbleInput"],"sources":["../../src/useSwitch.tsx"],"sourcesContent":[null],"mappings":"AAAA,SAASA,GAAA,IAAAC,IAAA,2BAAuB;AAChC,SAASC,eAAa;AACtB,SAASC,KAAA,4BAA4B;AACrC,SAASC,oBAAA,QAAuB;AAChC,SAASC,eAAA,QAAmB;AAC5B,SAAAC,WAAY,QAAW;AAuDnB,YAAAC,KAAA;AApCJ,SAASC,SAASA,CAAAC,KAAA,EAAAC,KAAsB,EAAAC,GAAA;EACtC,KAAAC,OAAO,EAAAC,UAAU,IAAAH,KAAY;EAC/B;IAWAI,WAAM;MAAAC,OAAeA,CAAA;QACnBF,UAAQ,WAASG,WAAS;UAC1B,OAAM,CAAAA,WAAY;QAClB;MAGA;IAAA;IACEC,SAAM,EAAAN,GAAA;IACNO,WAAM;EACN;AAA0B;AACxB,SACAV,SAAA","ignoreList":[]}
1
+ {"version":3,"names":["useSwitch","props","param","ref","checked","setChecked","switchProps","onPress","prevChecked","switchRef","bubbleInput"],"sources":["useSwitch.native.js"],"sourcesContent":["\n\n\nfunction useSwitch(props, param, ref) {\n\tvar [checked, setChecked] = param;\n\treturn {\n\t\tswitchProps: { onPress() {\n\t\t\tsetChecked(function(prevChecked) {\n\t\t\t\treturn !prevChecked;\n\t\t\t});\n\t\t} },\n\t\tswitchRef: ref,\n\t\tbubbleInput: null\n\t};\n}\n\nexport { useSwitch };"],"mappings":"AAGA,SAASA,SAASA,CAACC,KAAK,EAAEC,KAAK,EAAEC,GAAG,EAAE;EACrC,IAAI,CAACC,OAAO,EAAEC,UAAU,CAAC,GAAGH,KAAK;EACjC,OAAO;IACNI,WAAW,EAAE;MAAEC,OAAOA,CAAA,EAAG;QACxBF,UAAU,CAAC,UAASG,WAAW,EAAE;UAChC,OAAO,CAACA,WAAW;QACpB,CAAC,CAAC;MACH;IAAE,CAAC;IACHC,SAAS,EAAEN,GAAG;IACdO,WAAW,EAAE;EACd,CAAC;AACF;AAEA,SAASV,SAAS","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":["useComposedRefs","isWeb","composeEventHandlers","useLabelContext","usePrevious","React","jsx","getState","checked","BubbleInput","props","control","bubbles","inputProps","ref","useRef","prevChecked","useEffect","input","current","inputProto","window","HTMLInputElement","prototype","setChecked","Object","getOwnPropertyDescriptor","set","event","Event","call","dispatchEvent","type","defaultChecked","tabIndex","style","position","pointerEvents","opacity","margin","useSwitch","disabled","name","value","required","hasConsumerStoppedPropagationRef","button","setButton","useState","composedRefs","isFormControl","Boolean","closest","labelId","ariaLabelledBy","labeledBy","switchProps","role","onPress","isPropagationStopped","stopPropagation","switchRef","bubbleInput","transform"],"sources":["../../src/useSwitch.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["useComposedRefs","isWeb","composeEventHandlers","useLabelContext","usePrevious","React","jsx","getState","checked","BubbleInput","props","control","bubbles","inputProps","ref","useRef","prevChecked","useEffect","input","current","inputProto","window","HTMLInputElement","prototype","setChecked","Object","getOwnPropertyDescriptor","set","event","Event","call","dispatchEvent","type","defaultChecked","tabIndex","style","position","pointerEvents","opacity","margin","useSwitch","disabled","name","value","required","hasConsumerStoppedPropagationRef","button","setButton","useState","composedRefs","isFormControl","Boolean","closest","labelId","ariaLabelledBy","labeledBy","switchProps","role","onPress","isPropagationStopped","stopPropagation","switchRef","bubbleInput","transform"],"sources":["useSwitch.mjs"],"sourcesContent":["import { useComposedRefs } from \"@tamagui/compose-refs\";\nimport { isWeb } from \"@tamagui/constants\";\nimport { composeEventHandlers } from \"@tamagui/helpers\";\nimport { useLabelContext } from \"@tamagui/label\";\nimport { usePrevious } from \"@tamagui/use-previous\";\nimport * as React from \"react\";\nimport { jsx } from \"react/jsx-runtime\";\n\nfunction getState(checked) {\n\treturn checked ? \"checked\" : \"unchecked\";\n}\nconst BubbleInput = (props) => {\n\tconst { control, checked, bubbles = true, ...inputProps } = props;\n\tconst ref = React.useRef(null);\n\tconst prevChecked = usePrevious(checked);\n\tReact.useEffect(() => {\n\t\tconst input = ref.current;\n\t\tconst inputProto = window.HTMLInputElement.prototype;\n\t\tconst setChecked = Object.getOwnPropertyDescriptor(inputProto, \"checked\").set;\n\t\tif (prevChecked !== checked && setChecked) {\n\t\t\tconst event = new Event(\"click\", { bubbles });\n\t\t\tsetChecked.call(input, checked);\n\t\t\tinput.dispatchEvent(event);\n\t\t}\n\t}, [\n\t\tprevChecked,\n\t\tchecked,\n\t\tbubbles\n\t]);\n\treturn /* @__PURE__ */ jsx(\"input\", {\n\t\ttype: \"checkbox\",\n\t\t\"aria-hidden\": true,\n\t\tdefaultChecked: checked,\n\t\t...inputProps,\n\t\ttabIndex: -1,\n\t\tref,\n\t\tstyle: {\n\t\t\t...props.style,\n\t\t\tposition: \"absolute\",\n\t\t\tpointerEvents: \"none\",\n\t\t\topacity: 0,\n\t\t\tmargin: 0\n\t\t}\n\t});\n};\nfunction useSwitch(props, [checked, setChecked], ref) {\n\t{\n\t\tconst { disabled, name, value, required } = props;\n\t\tconst hasConsumerStoppedPropagationRef = React.useRef(false);\n\t\tconst [button, setButton] = React.useState(null);\n\t\tconst composedRefs = useComposedRefs(ref, setButton);\n\t\tconst isFormControl = isWeb ? button ? Boolean(button.closest(\"form\")) : true : false;\n\t\tconst labelId = useLabelContext(button);\n\t\tconst ariaLabelledBy = props[\"aria-labelledby\"] || props.labeledBy || labelId;\n\t\treturn {\n\t\t\tswitchProps: {\n\t\t\t\trole: \"switch\",\n\t\t\t\t\"aria-checked\": checked,\n\t\t\t\t...isWeb ? {\n\t\t\t\t\ttabIndex: disabled ? void 0 : 0,\n\t\t\t\t\t\"data-state\": getState(checked),\n\t\t\t\t\t\"data-disabled\": disabled ? \"\" : void 0,\n\t\t\t\t\tdisabled\n\t\t\t\t} : {},\n\t\t\t\t\"aria-labelledby\": ariaLabelledBy,\n\t\t\t\tonPress: composeEventHandlers(props.onPress, (event) => {\n\t\t\t\t\tsetChecked((prevChecked) => !prevChecked);\n\t\t\t\t\tif (isWeb && isFormControl) {\n\t\t\t\t\t\thasConsumerStoppedPropagationRef.current = event.isPropagationStopped();\n\t\t\t\t\t\tif (!hasConsumerStoppedPropagationRef.current) event.stopPropagation();\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t},\n\t\t\tswitchRef: composedRefs,\n\t\t\tbubbleInput: isWeb && isFormControl ? /* @__PURE__ */ jsx(BubbleInput, {\n\t\t\t\tcontrol: button,\n\t\t\t\tbubbles: !hasConsumerStoppedPropagationRef.current,\n\t\t\t\tname,\n\t\t\t\tvalue,\n\t\t\t\tchecked,\n\t\t\t\trequired,\n\t\t\t\tdisabled,\n\t\t\t\tstyle: { transform: \"translateX(-100%)\" }\n\t\t\t}) : null\n\t\t};\n\t}\n}\n\nexport { useSwitch };"],"mappings":"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","ignoreList":[]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tamagui/switch-headless",
3
- "version": "2.1.0",
3
+ "version": "2.2.0-1781071309197",
4
4
  "source": "src/index.ts",
5
5
  "files": [
6
6
  "src",
@@ -8,9 +8,7 @@
8
8
  "dist"
9
9
  ],
10
10
  "type": "module",
11
- "sideEffects": [
12
- "*.css"
13
- ],
11
+ "sideEffects": false,
14
12
  "main": "dist/cjs",
15
13
  "module": "dist/esm",
16
14
  "types": "./types/index.d.ts",
@@ -36,14 +34,14 @@
36
34
  "clean:build": "tamagui-build clean:build"
37
35
  },
38
36
  "dependencies": {
39
- "@tamagui/compose-refs": "2.1.0",
40
- "@tamagui/constants": "2.1.0",
41
- "@tamagui/helpers": "2.1.0",
42
- "@tamagui/label": "2.1.0",
43
- "@tamagui/use-previous": "2.1.0"
37
+ "@tamagui/compose-refs": "2.2.0-1781071309197",
38
+ "@tamagui/constants": "2.2.0-1781071309197",
39
+ "@tamagui/helpers": "2.2.0-1781071309197",
40
+ "@tamagui/label": "2.2.0-1781071309197",
41
+ "@tamagui/use-previous": "2.2.0-1781071309197"
44
42
  },
45
43
  "devDependencies": {
46
- "@tamagui/build": "2.1.0",
44
+ "@tamagui/build": "2.2.0-1781071309197",
47
45
  "react": ">=19",
48
46
  "react-native": "0.83.2"
49
47
  },