@purpurds/toggle 5.28.1 → 5.28.3
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/LICENSE.txt +3 -3
- package/dist/hooks/useResizeObserver.d.ts +15 -0
- package/dist/hooks/useResizeObserver.d.ts.map +1 -0
- package/dist/{useToggleDrag.d.ts → hooks/useToggleDrag.d.ts} +6 -2
- package/dist/hooks/useToggleDrag.d.ts.map +1 -0
- package/dist/toggle.cjs.js +5 -5
- package/dist/toggle.cjs.js.map +1 -1
- package/dist/toggle.es.js +372 -338
- package/dist/toggle.es.js.map +1 -1
- package/package.json +5 -5
- package/src/hooks/useResizeObserver.ts +121 -0
- package/src/{useToggleDrag.ts → hooks/useToggleDrag.ts} +11 -9
- package/src/toggle.tsx +2 -2
- package/dist/useToggleDrag.d.ts.map +0 -1
package/dist/LICENSE.txt
CHANGED
|
@@ -1,19 +1,19 @@
|
|
|
1
1
|
Name: @purpurds/icon
|
|
2
|
-
Version: 5.28.
|
|
2
|
+
Version: 5.28.2
|
|
3
3
|
License: AGPL-3.0-only
|
|
4
4
|
Private: false
|
|
5
5
|
|
|
6
6
|
---
|
|
7
7
|
|
|
8
8
|
Name: @purpurds/label
|
|
9
|
-
Version: 5.28.
|
|
9
|
+
Version: 5.28.2
|
|
10
10
|
License: AGPL-3.0-only
|
|
11
11
|
Private: false
|
|
12
12
|
|
|
13
13
|
---
|
|
14
14
|
|
|
15
15
|
Name: @purpurds/paragraph
|
|
16
|
-
Version: 5.28.
|
|
16
|
+
Version: 5.28.2
|
|
17
17
|
License: AGPL-3.0-only
|
|
18
18
|
Private: false
|
|
19
19
|
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { RefObject } from 'react';
|
|
2
|
+
|
|
3
|
+
type Size = {
|
|
4
|
+
width: number | undefined;
|
|
5
|
+
height: number | undefined;
|
|
6
|
+
};
|
|
7
|
+
type UseResizeObserverOptions<T extends HTMLElement = HTMLElement> = {
|
|
8
|
+
ref: RefObject<T>;
|
|
9
|
+
onResize?: (size: Size) => void;
|
|
10
|
+
box?: "border-box" | "content-box" | "device-pixel-content-box";
|
|
11
|
+
round?: boolean;
|
|
12
|
+
};
|
|
13
|
+
export declare function useResizeObserver<T extends HTMLElement = HTMLElement>(options: UseResizeObserverOptions<T>): Size;
|
|
14
|
+
export {};
|
|
15
|
+
//# sourceMappingURL=useResizeObserver.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useResizeObserver.d.ts","sourceRoot":"","sources":["../../src/hooks/useResizeObserver.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAKvC,KAAK,IAAI,GAAG;IACV,KAAK,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1B,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC;CAC5B,CAAC;AAEF,KAAK,wBAAwB,CAAC,CAAC,SAAS,WAAW,GAAG,WAAW,IAAI;IACnE,GAAG,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC;IAClB,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,IAAI,CAAC;IAChC,GAAG,CAAC,EAAE,YAAY,GAAG,aAAa,GAAG,0BAA0B,CAAC;IAChE,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB,CAAC;AAOF,wBAAgB,iBAAiB,CAAC,CAAC,SAAS,WAAW,GAAG,WAAW,EACnE,OAAO,EAAE,wBAAwB,CAAC,CAAC,CAAC,GACnC,IAAI,CA0DN"}
|
|
@@ -1,7 +1,10 @@
|
|
|
1
1
|
import { MutableRefObject } from 'react';
|
|
2
|
-
import { ToggleProps } from './toggle';
|
|
3
2
|
|
|
4
|
-
|
|
3
|
+
type UseToggleDragProps = {
|
|
4
|
+
checked: boolean;
|
|
5
|
+
onChange: ((checked: boolean) => void) | undefined;
|
|
6
|
+
};
|
|
7
|
+
export declare const useToggleDrag: ({ checked, onChange }: UseToggleDragProps) => {
|
|
5
8
|
trackRef: MutableRefObject<HTMLDivElement | null>;
|
|
6
9
|
thumbRef: import('react').RefObject<HTMLSpanElement>;
|
|
7
10
|
isDragging: boolean;
|
|
@@ -16,4 +19,5 @@ export declare const useToggleDrag: ({ checked, onChange }: Pick<ToggleProps, "c
|
|
|
16
19
|
onStop: () => void;
|
|
17
20
|
onChangeWithDrag: () => void;
|
|
18
21
|
};
|
|
22
|
+
export {};
|
|
19
23
|
//# sourceMappingURL=useToggleDrag.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useToggleDrag.d.ts","sourceRoot":"","sources":["../../src/hooks/useToggleDrag.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAoB,MAAM,OAAO,CAAC;AAI3D,KAAK,kBAAkB,GAAG;IACxB,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,EAAE,CAAC,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,CAAC,GAAG,SAAS,CAAC;CACpD,CAAC;AAEF,eAAO,MAAM,aAAa,0BAA2B,kBAAkB;;;;;;;;;oBAiB9C;QAAE,CAAC,EAAE,MAAM,CAAA;KAAE;;;CAiCrC,CAAC"}
|
package/dist/toggle.cjs.js
CHANGED
|
@@ -1,18 +1,18 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const _=require("react/jsx-runtime"),c=require("react");require("react-dom");function ee(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var H={exports:{}};/*!
|
|
2
2
|
Copyright (c) 2018 Jed Watson.
|
|
3
3
|
Licensed under the MIT License (MIT), see
|
|
4
4
|
http://jedwatson.github.io/classnames
|
|
5
|
-
*/(function(e){(function(){var n={}.hasOwnProperty;function r(){for(var t="",
|
|
5
|
+
*/(function(e){(function(){var n={}.hasOwnProperty;function r(){for(var t="",o=0;o<arguments.length;o++){var i=arguments[o];i&&(t=u(t,a.call(this,i)))}return t}function a(t){if(typeof t=="string"||typeof t=="number")return this&&this[t]||t;if(typeof t!="object")return"";if(Array.isArray(t))return r.apply(this,t);if(t.toString!==Object.prototype.toString&&!t.toString.toString().includes("[native code]"))return t.toString();var o="";for(var i in t)n.call(t,i)&&t[i]&&(o=u(o,this&&this[i]||i));return o}function u(t,o){return o?t?t+" "+o:t+o:t}e.exports?(r.default=r,e.exports=r):window.classNames=r})()})(H);var te=H.exports;const re=ee(te),ne={"purpur-icon":"_purpur-icon_8u1lq_1","purpur-icon--xxs":"_purpur-icon--xxs_8u1lq_4","purpur-icon--xs":"_purpur-icon--xs_8u1lq_8","purpur-icon--sm":"_purpur-icon--sm_8u1lq_12","purpur-icon--md":"_purpur-icon--md_8u1lq_16","purpur-icon--lg":"_purpur-icon--lg_8u1lq_20","purpur-icon--xl":"_purpur-icon--xl_8u1lq_24"},oe={name:"checkmark-bold",svg:'<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor"><path fill-rule="evenodd" d="M21.243 4.176a2 2 0 0 1 .324 2.81l-10.45 13.176a2.092 2.092 0 0 1-3.118.18l-5.413-5.413A2 2 0 1 1 5.414 12.1l3.9 3.9 9.118-11.5a2 2 0 0 1 2.81-.324Z" clip-rule="evenodd"/></svg>',keywords:["checkmark-bold"],category:"utility"},ae=re.bind(ne),M="purpur-icon",ce="md",ue=e=>e.filter(n=>Object.keys(n).length>=1).map(n=>`${n.name}="${n.value}"`).join(" "),ie=({content:e="",title:n}={})=>{const r=[{name:"xmlns",value:"http://www.w3.org/2000/svg"},{name:"fill",value:"currentColor"},{name:"viewBox",value:"0 0 24 24"},n?{name:"role",value:"img"}:{name:"aria-hidden",value:"true"}],a=n?`<title>${n}</title>`:"";return`<svg ${ue(r)}>${a}${e}</svg>`},se=e=>e.replace(/<(\/?)svg([^>]*)>/g,"").trim(),q=({["data-testid"]:e,svg:n,allyTitle:r,className:a,size:u=ce,...t})=>{const o=ie({content:se(n.svg),title:r}),i=ae(a,M,`${M}--${u}`);return _.jsx("span",{"aria-label":r,className:i,"data-testid":e,dangerouslySetInnerHTML:{__html:o},...t})};q.displayName="Icon";function C(){return C=Object.assign?Object.assign.bind():function(e){for(var n=1;n<arguments.length;n++){var r=arguments[n];for(var a in r)({}).hasOwnProperty.call(r,a)&&(e[a]=r[a])}return e},C.apply(null,arguments)}function le(e,n){typeof e=="function"?e(n):e!=null&&(e.current=n)}function pe(...e){return n=>e.forEach(r=>le(r,n))}const I=c.forwardRef((e,n)=>{const{children:r,...a}=e,u=c.Children.toArray(r),t=u.find(fe);if(t){const o=t.props.children,i=u.map(s=>s===t?c.Children.count(o)>1?c.Children.only(null):c.isValidElement(o)?o.props.children:null:s);return c.createElement(O,C({},a,{ref:n}),c.isValidElement(o)?c.cloneElement(o,void 0,i):null)}return c.createElement(O,C({},a,{ref:n}),r)});I.displayName="Slot";const O=c.forwardRef((e,n)=>{const{children:r,...a}=e;return c.isValidElement(r)?c.cloneElement(r,{...he(a,r.props),ref:n?pe(n,r.ref):r.ref}):c.Children.count(r)>1?c.Children.only(null):null});O.displayName="SlotClone";const de=({children:e})=>c.createElement(c.Fragment,null,e);function fe(e){return c.isValidElement(e)&&e.type===de}function he(e,n){const r={...n};for(const a in n){const u=e[a],t=n[a];/^on[A-Z]/.test(a)?u&&t?r[a]=(...o)=>{t(...o),u(...o)}:u&&(r[a]=u):a==="style"?r[a]={...u,...t}:a==="className"&&(r[a]=[u,t].filter(Boolean).join(" "))}return{...e,...r}}const ge=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","span","svg","ul"],be=ge.reduce((e,n)=>{const r=c.forwardRef((a,u)=>{const{asChild:t,...o}=a,i=t?I:n;return c.useEffect(()=>{window[Symbol.for("radix-ui")]=!0},[]),c.createElement(i,C({},o,{ref:u}))});return r.displayName=`Primitive.${n}`,{...e,[n]:r}},{}),me=c.forwardRef((e,n)=>c.createElement(be.label,C({},e,{ref:n,onMouseDown:r=>{var a;(a=e.onMouseDown)===null||a===void 0||a.call(e,r),!r.defaultPrevented&&r.detail>1&&r.preventDefault()}}))),ve=me;function _e(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var T={exports:{}};/*!
|
|
6
6
|
Copyright (c) 2018 Jed Watson.
|
|
7
7
|
Licensed under the MIT License (MIT), see
|
|
8
8
|
http://jedwatson.github.io/classnames
|
|
9
|
-
*/(function(e){(function(){var n={}.hasOwnProperty;function r(){for(var t="",
|
|
9
|
+
*/(function(e){(function(){var n={}.hasOwnProperty;function r(){for(var t="",o=0;o<arguments.length;o++){var i=arguments[o];i&&(t=u(t,a(i)))}return t}function a(t){if(typeof t=="string"||typeof t=="number")return t;if(typeof t!="object")return"";if(Array.isArray(t))return r.apply(null,t);if(t.toString!==Object.prototype.toString&&!t.toString.toString().includes("[native code]"))return t.toString();var o="";for(var i in t)n.call(t,i)&&t[i]&&(o=u(o,i));return o}function u(t,o){return o?t?t+" "+o:t+o:t}e.exports?(r.default=r,e.exports=r):window.classNames=r})()})(T);var $e=T.exports;const we=_e($e),A={"purpur-label":"_purpur-label_12cfi_1","purpur-label--negative":"_purpur-label--negative_12cfi_9","purpur-label--disabled":"_purpur-label--disabled_12cfi_12"},N="purpur-label",xe=({children:e,className:n,htmlFor:r,"data-testid":a,disabled:u,negative:t=!1,...o})=>{const i=we([n,A[N],{[A[`${N}--disabled`]]:u,[A[`${N}--negative`]]:t}]);return _.jsx(ve,{className:i,"data-testid":a,htmlFor:r,...o,children:e})};function ye(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var V={exports:{}};/*!
|
|
10
10
|
Copyright (c) 2018 Jed Watson.
|
|
11
11
|
Licensed under the MIT License (MIT), see
|
|
12
12
|
http://jedwatson.github.io/classnames
|
|
13
|
-
*/(function(e){(function(){var n={}.hasOwnProperty;function r(){for(var t="",
|
|
13
|
+
*/(function(e){(function(){var n={}.hasOwnProperty;function r(){for(var t="",o=0;o<arguments.length;o++){var i=arguments[o];i&&(t=u(t,a(i)))}return t}function a(t){if(typeof t=="string"||typeof t=="number")return t;if(typeof t!="object")return"";if(Array.isArray(t))return r.apply(null,t);if(t.toString!==Object.prototype.toString&&!t.toString.toString().includes("[native code]"))return t.toString();var o="";for(var i in t)n.call(t,i)&&t[i]&&(o=u(o,i));return o}function u(t,o){return o?t?t+" "+o:t+o:t}e.exports?(r.default=r,e.exports=r):window.classNames=r})()})(V);var Se=V.exports;const Ee=ye(Se),P={"purpur-paragraph":"_purpur-paragraph_1rh57_1","purpur-paragraph--disabled":"_purpur-paragraph--disabled_1rh57_7","purpur-paragraph--hyphens":"_purpur-paragraph--hyphens_1rh57_10","purpur-paragraph--negative":"_purpur-paragraph--negative_1rh57_13","purpur-paragraph--paragraph-100":"_purpur-paragraph--paragraph-100_1rh57_16","purpur-paragraph--paragraph-100-medium":"_purpur-paragraph--paragraph-100-medium_1rh57_22","purpur-paragraph--paragraph-100-bold":"_purpur-paragraph--paragraph-100-bold_1rh57_29","purpur-paragraph--paragraph-200":"_purpur-paragraph--paragraph-200_1rh57_36","purpur-paragraph--preamble-100":"_purpur-paragraph--preamble-100_1rh57_42","purpur-paragraph--preamble-200":"_purpur-paragraph--preamble-200_1rh57_48","purpur-paragraph--additional-100":"_purpur-paragraph--additional-100_1rh57_54","purpur-paragraph--additional-100-medium":"_purpur-paragraph--additional-100-medium_1rh57_60","purpur-paragraph--overline-100":"_purpur-paragraph--overline-100_1rh57_67","purpur-paragraph--overline-200":"_purpur-paragraph--overline-200_1rh57_75"},Ce={PARAGRAPH100:"paragraph-100",PARAGRAPH100MEDIUM:"paragraph-100-medium",PARAGRAPH100BOLD:"paragraph-100-bold",PARAGRAPH200:"paragraph-200",PREAMBLE100:"preamble-100",PREAMBLE200:"preamble-200",ADDITIONAL100:"additional-100",ADDITIONAL100MEDIUM:"additional-100-medium",OVERLINE100:"overline-100",OVERLINE200:"overline-200"},k="purpur-paragraph",F=({["data-testid"]:e,children:n,className:r,disabled:a,enableHyphenation:u=!1,negative:t=!1,variant:o=Ce.PARAGRAPH100,...i})=>{const s=Ee([r,P[k],P[`${k}--${o}`],{[P[`${k}--hyphens`]]:u,[P[`${k}--disabled`]]:a,[P[`${k}--negative`]]:t}]);return _.jsx("p",{...i,className:s,"data-testid":e,children:n})};F.displayName="Paragraph";function S(){return S=Object.assign?Object.assign.bind():function(e){for(var n=1;n<arguments.length;n++){var r=arguments[n];for(var a in r)({}).hasOwnProperty.call(r,a)&&(e[a]=r[a])}return e},S.apply(null,arguments)}function Pe(e,n,{checkForDefaultPrevented:r=!0}={}){return function(u){if(e==null||e(u),r===!1||!u.defaultPrevented)return n==null?void 0:n(u)}}function ke(e,n){typeof e=="function"?e(n):e!=null&&(e.current=n)}function W(...e){return n=>e.forEach(r=>ke(r,n))}function Re(...e){return c.useCallback(W(...e),e)}function Ae(e,n=[]){let r=[];function a(t,o){const i=c.createContext(o),s=r.length;r=[...r,o];function l(p){const{scope:d,children:h,...f}=p,m=(d==null?void 0:d[e][s])||i,g=c.useMemo(()=>f,Object.values(f));return c.createElement(m.Provider,{value:g},h)}function b(p,d){const h=(d==null?void 0:d[e][s])||i,f=c.useContext(h);if(f)return f;if(o!==void 0)return o;throw new Error(`\`${p}\` must be used within \`${t}\``)}return l.displayName=t+"Provider",[l,b]}const u=()=>{const t=r.map(o=>c.createContext(o));return function(i){const s=(i==null?void 0:i[e])||t;return c.useMemo(()=>({[`__scope${e}`]:{...i,[e]:s}}),[i,s])}};return u.scopeName=e,[a,Ne(u,...n)]}function Ne(...e){const n=e[0];if(e.length===1)return n;const r=()=>{const a=e.map(u=>({useScope:u(),scopeName:u.scopeName}));return function(t){const o=a.reduce((i,{useScope:s,scopeName:l})=>{const p=s(t)[`__scope${l}`];return{...i,...p}},{});return c.useMemo(()=>({[`__scope${n.scopeName}`]:o}),[o])}};return r.scopeName=n.scopeName,r}function U(e){const n=c.useRef(e);return c.useEffect(()=>{n.current=e}),c.useMemo(()=>(...r)=>{var a;return(a=n.current)===null||a===void 0?void 0:a.call(n,...r)},[])}function De({prop:e,defaultProp:n,onChange:r=()=>{}}){const[a,u]=Oe({defaultProp:n,onChange:r}),t=e!==void 0,o=t?e:a,i=U(r),s=c.useCallback(l=>{if(t){const p=typeof l=="function"?l(e):l;p!==e&&i(p)}else u(l)},[t,e,u,i]);return[o,s]}function Oe({defaultProp:e,onChange:n}){const r=c.useState(e),[a]=r,u=c.useRef(a),t=U(n);return c.useEffect(()=>{u.current!==a&&(t(a),u.current=a)},[a,u,t]),r}function je(e){const n=c.useRef({value:e,previous:e});return c.useMemo(()=>(n.current.value!==e&&(n.current.previous=n.current.value,n.current.value=e),n.current.previous),[e])}const Me=globalThis!=null&&globalThis.document?c.useLayoutEffect:()=>{};function ze(e){const[n,r]=c.useState(void 0);return Me(()=>{if(e){r({width:e.offsetWidth,height:e.offsetHeight});const a=new ResizeObserver(u=>{if(!Array.isArray(u)||!u.length)return;const t=u[0];let o,i;if("borderBoxSize"in t){const s=t.borderBoxSize,l=Array.isArray(s)?s[0]:s;o=l.inlineSize,i=l.blockSize}else o=e.offsetWidth,i=e.offsetHeight;r({width:o,height:i})});return a.observe(e,{box:"border-box"}),()=>a.unobserve(e)}else r(void 0)},[e]),n}const G=c.forwardRef((e,n)=>{const{children:r,...a}=e,u=c.Children.toArray(r),t=u.find(Le);if(t){const o=t.props.children,i=u.map(s=>s===t?c.Children.count(o)>1?c.Children.only(null):c.isValidElement(o)?o.props.children:null:s);return c.createElement(j,S({},a,{ref:n}),c.isValidElement(o)?c.cloneElement(o,void 0,i):null)}return c.createElement(j,S({},a,{ref:n}),r)});G.displayName="Slot";const j=c.forwardRef((e,n)=>{const{children:r,...a}=e;return c.isValidElement(r)?c.cloneElement(r,{...Xe(a,r.props),ref:n?W(n,r.ref):r.ref}):c.Children.count(r)>1?c.Children.only(null):null});j.displayName="SlotClone";const Be=({children:e})=>c.createElement(c.Fragment,null,e);function Le(e){return c.isValidElement(e)&&e.type===Be}function Xe(e,n){const r={...n};for(const a in n){const u=e[a],t=n[a];/^on[A-Z]/.test(a)?u&&t?r[a]=(...i)=>{t(...i),u(...i)}:u&&(r[a]=u):a==="style"?r[a]={...u,...t}:a==="className"&&(r[a]=[u,t].filter(Boolean).join(" "))}return{...e,...r}}const He=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","span","svg","ul"],Z=He.reduce((e,n)=>{const r=c.forwardRef((a,u)=>{const{asChild:t,...o}=a,i=t?G:n;return c.useEffect(()=>{window[Symbol.for("radix-ui")]=!0},[]),c.createElement(i,S({},o,{ref:u}))});return r.displayName=`Primitive.${n}`,{...e,[n]:r}},{}),J="Switch",[qe,rt]=Ae(J),[Ie,Te]=qe(J),Ve=c.forwardRef((e,n)=>{const{__scopeSwitch:r,name:a,checked:u,defaultChecked:t,required:o,disabled:i,value:s="on",onCheckedChange:l,...b}=e,[p,d]=c.useState(null),h=Re(n,$=>d($)),f=c.useRef(!1),m=p?!!p.closest("form"):!0,[g=!1,v]=De({prop:u,defaultProp:t,onChange:l});return c.createElement(Ie,{scope:r,checked:g,disabled:i},c.createElement(Z.button,S({type:"button",role:"switch","aria-checked":g,"aria-required":o,"data-state":Y(g),"data-disabled":i?"":void 0,disabled:i,value:s},b,{ref:h,onClick:Pe(e.onClick,$=>{v(y=>!y),m&&(f.current=$.isPropagationStopped(),f.current||$.stopPropagation())})})),m&&c.createElement(Ue,{control:p,bubbles:!f.current,name:a,value:s,checked:g,required:o,disabled:i,style:{transform:"translateX(-100%)"}}))}),Fe="SwitchThumb",We=c.forwardRef((e,n)=>{const{__scopeSwitch:r,...a}=e,u=Te(Fe,r);return c.createElement(Z.span,S({"data-state":Y(u.checked),"data-disabled":u.disabled?"":void 0},a,{ref:n}))}),Ue=e=>{const{control:n,checked:r,bubbles:a=!0,...u}=e,t=c.useRef(null),o=je(r),i=ze(n);return c.useEffect(()=>{const s=t.current,l=window.HTMLInputElement.prototype,p=Object.getOwnPropertyDescriptor(l,"checked").set;if(o!==r&&p){const d=new Event("click",{bubbles:a});p.call(s,r),s.dispatchEvent(d)}},[o,r,a]),c.createElement("input",S({type:"checkbox","aria-hidden":!0,defaultChecked:r},u,{tabIndex:-1,ref:t,style:{...e.style,...i,position:"absolute",pointerEvents:"none",opacity:0,margin:0}}))};function Y(e){return e?"checked":"unchecked"}const Ge=Ve,Ze=We;function Je(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var K={exports:{}};/*!
|
|
14
14
|
Copyright (c) 2018 Jed Watson.
|
|
15
15
|
Licensed under the MIT License (MIT), see
|
|
16
16
|
http://jedwatson.github.io/classnames
|
|
17
|
-
*/(function(e){(function(){var n={}.hasOwnProperty;function r(){for(var t="",
|
|
17
|
+
*/(function(e){(function(){var n={}.hasOwnProperty;function r(){for(var t="",o=0;o<arguments.length;o++){var i=arguments[o];i&&(t=u(t,a(i)))}return t}function a(t){if(typeof t=="string"||typeof t=="number")return t;if(typeof t!="object")return"";if(Array.isArray(t))return r.apply(null,t);if(t.toString!==Object.prototype.toString&&!t.toString.toString().includes("[native code]"))return t.toString();var o="";for(var i in t)n.call(t,i)&&t[i]&&(o=u(o,i));return o}function u(t,o){return o?t?t+" "+o:t+o:t}e.exports?(r.default=r,e.exports=r):window.classNames=r})()})(K);var Ye=K.exports;const D=Je(Ye),z=e=>e&&"touches"in e,Ke=({children:e,disabled:n,onStart:r,onDrag:a,onStop:u,bounds:t,position:o,style:i})=>{const[s,l]=c.useState(void 0),[b,p]=c.useState(void 0),[d,h]=c.useState(!1),f=v=>{if(!n){v.preventDefault();const $=z(v.nativeEvent)?v.nativeEvent.touches[0].clientX:v.nativeEvent.clientX;p($),r==null||r()}},m=c.useCallback(v=>{if(typeof b!="number")return;const y=(z(v)?v.touches[0].clientX:v.clientX)-b;if(!y)return;const E=o+y;!d&&Math.abs(E)&&h(!0);const R=E>t.right?t.right:E<t.left?t.left:E;l(R),a==null||a({x:R})},[a,l,d,b]),g=c.useCallback(()=>{p(void 0),l(void 0),h(!1),u==null||u()},[u,p]);return c.useEffect(()=>(window.addEventListener("mousemove",m),window.addEventListener("touchmove",m),()=>{window.removeEventListener("mousemove",m),window.removeEventListener("touchmove",m)}),[m]),c.useEffect(()=>(window.addEventListener("mouseup",g),window.addEventListener("touchend",g),()=>{window.removeEventListener("mouseup",g),window.removeEventListener("touchend",g)}),[g]),c.isValidElement(e)?c.cloneElement(c.Children.only(e),{onMouseDown:f,onTouchStart:f,style:{...i,transform:`translateX(${d?s:o}px)`}}):null},B={width:void 0,height:void 0};function L(e){const{ref:n,box:r="content-box",round:a}=e,[{width:u,height:t},o]=c.useState(B),i=Qe(),s=c.useRef({...B}),l=c.useRef(void 0);return l.current=e.onResize,c.useEffect(()=>{if(!n.current||typeof window>"u"||!("ResizeObserver"in window))return;const b=new ResizeObserver(([p])=>{const d=r==="border-box"?"borderBoxSize":r==="device-pixel-content-box"?"devicePixelContentBoxSize":"contentBoxSize",h=X(p,d,"inlineSize"),f=X(p,d,"blockSize");if(s.current.width!==h||s.current.height!==f){const g={width:h&&a?Math.round(h):h,height:f&&a?Math.round(f):f};s.current.width=h,s.current.height=f,l.current?l.current(g):i()&&o(g)}});return b.observe(n.current,{box:r}),()=>{b.disconnect()}},[r,n,i,a]),{width:u,height:t}}function X(e,n,r){return e[n]?Array.isArray(e[n])?e[n][0][r]:e[n][r]:n==="contentBoxSize"?e.contentRect[r==="inlineSize"?"width":"height"]:void 0}function Qe(){const e=c.useRef(!1);return c.useEffect(()=>(e.current=!0,()=>{e.current=!1}),[]),c.useCallback(()=>e.current,[])}const et=({checked:e,onChange:n})=>{const r=c.useRef(null),a=c.useRef(null),[u,t]=c.useState(void 0),[o,i]=c.useState(!1),[s,l]=c.useState(0),{height:b=0}=L({ref:a,round:!0}),{height:p=0}=L({ref:r,round:!0}),d=(p||0)-b,h=b+d,f=d/2,m=h/2,g=typeof u=="number"&&(e?u<m:u>m);return{trackRef:r,thumbRef:a,isDragging:o,bounds:{left:f,right:h},position:e?h:f,onDrag:({x:E})=>{t(E),Math.abs((e?h:f)-E)>2&&i(!0)},onStop:()=>{i(!1),o&&l(Date.now()),g&&(n==null||n(!e))},onChangeWithDrag:()=>{Date.now()-s>50&&(n==null||n(!e)),t(void 0)}}},w={"purpur-toggle":"_purpur-toggle_1xng6_1","purpur-toggle__track":"_purpur-toggle__track_1xng6_7","purpur-toggle__checkmark-container":"_purpur-toggle__checkmark-container_1xng6_45","purpur-toggle__thumb":"_purpur-toggle__thumb_1xng6_60","purpur-toggle__thumb--dragging":"_purpur-toggle__thumb--dragging_1xng6_80","purpur-toggle__checkmark":"_purpur-toggle__checkmark_1xng6_45","purpur-toggle__label--right":"_purpur-toggle__label--right_1xng6_100","purpur-toggle__label--left":"_purpur-toggle__label--left_1xng6_103","purpur-toggle__container":"_purpur-toggle__container_1xng6_106"},x="purpur-toggle",tt=({["data-testid"]:e,className:n,label:r,onChange:a,labelPosition:u="right",checked:t,disableDrag:o,defaultChecked:i,...s},l)=>{const[b,p]=c.useState(typeof t=="boolean"?t:!!i),d=!!(typeof t=="boolean"?t:b),{thumbRef:h,trackRef:f,isDragging:m,onChangeWithDrag:g,...v}=et({checked:d,onChange:y=>{s.disabled||(a==null||a(y),p(y))}}),$=()=>_.jsx(xe,{htmlFor:s.id,"data-testid":e&&`${e}-label`,disabled:s.disabled,className:D(w[`${x}__label`],w[`${x}__label--${u}`]),children:_.jsx(F,{variant:"paragraph-100",disabled:s.disabled,children:r})});return _.jsxs("div",{className:D([n,w[`${x}__container`]]),children:[r&&u==="left"&&$(),_.jsx(Ge,{...s,ref:l,id:s.id,"data-testid":e,className:w[x],onCheckedChange:g,checked:d,children:_.jsxs("span",{ref:f,className:w[`${x}__track`],children:[_.jsx("span",{className:w[`${x}__checkmark-container`],children:_.jsx(q,{className:w[`${x}__checkmark`],svg:oe,size:"xxs"})}),_.jsx(Ke,{disabled:o,...v,children:_.jsx(Ze,{ref:h,"data-testid":e&&`${e}-thumb`,className:D([w[`${x}__thumb`],{[w[`${x}__thumb--dragging`]]:m}])})})]})}),r&&u==="right"&&$()]})},Q=c.forwardRef(tt);Q.displayName="Toggle";exports.Toggle=Q;
|
|
18
18
|
//# sourceMappingURL=toggle.cjs.js.map
|