@purr-react-tailwindcss/components.switch 0.0.6 → 0.0.7
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/index.cjs +1 -0
- package/dist/index.d.cts +33 -0
- package/dist/index.d.ts +33 -0
- package/dist/index.js +1 -0
- package/package.json +3 -3
package/dist/index.cjs
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
'use strict';var u=require('clsx'),i=require('react'),q=require('@purr-core/hooks.sync-state-with-props');function _interopDefault(e){return e&&e.__esModule?e:{default:e}}var u__default=/*#__PURE__*/_interopDefault(u);var i__default=/*#__PURE__*/_interopDefault(i);var q__default=/*#__PURE__*/_interopDefault(q);var k=Object.defineProperty;var l=(t,e)=>()=>(t&&(e=t(t=0)),e);var n=(t,e)=>{for(var r in e)k(t,r,{get:e[r],enumerable:true});};var c={};n(c,{SwitchLabelLeft:()=>h});var h,f=l(()=>{h=i.memo(({leftLabel:t="",disabled:e=false,htmlAttributes:r})=>t?i__default.default.createElement("span",{className:u__default.default("mr-2 font-sans text-base",e?"cursor-not-allowed text-white/50 opacity-50":"text-white opacity-100","switch-label","switch-label__left",e&&"switch-label__left--disabled"),...r},t):null);h.displayName="SwitchLabelLeft";});var m={};n(m,{SwitchLabelRight:()=>p});var p,w=l(()=>{p=i.memo(({rightLabel:t="",disabled:e=false,htmlAttributes:r})=>t?i__default.default.createElement("span",{className:u__default.default("ml-2 font-sans text-base",e?"cursor-not-allowed text-white/50 opacity-50":"text-white opacity-100","switch-label","switch-label__right",e&&"switch-label__right--disabled"),...r},t):null);p.displayName="SwitchLabelRight";});var z=i.lazy(()=>Promise.resolve().then(()=>(f(),c)).then(t=>({default:t.SwitchLabelLeft}))),R=i.lazy(()=>Promise.resolve().then(()=>(w(),m)).then(t=>({default:t.SwitchLabelRight}))),W=i.forwardRef(({value:t=false,leftLabel:e="",rightLabel:r="",htmlAttributes:S,inputHtmlAttributes:d,leftLabelHtmlAttributes:x,rightLabelHtmlAttributes:L,onChange:y,disabled:a=false,required:v=false,isStandalone:I=false},N)=>{let{currentValue:o,setCurrentValue:_}=q__default.default(t,I),P=s=>{_(s.target.checked),y?.(s.target.checked,s);};return i__default.default.createElement("div",{className:"switch inline-flex items-center",...S},i__default.default.createElement(i.Suspense,null,!!e&&i__default.default.createElement(z,{htmlAttributes:x,leftLabel:e,disabled:a})),i__default.default.createElement("div",{className:u__default.default("relative h-3 w-8 rounded-lg transition-all duration-200 ease-in-out after:pointer-events-none after:absolute after:-left-1 after:-top-1 after:h-5 after:w-5 after:rounded-full after:transition-all after:duration-200 after:ease-in-out",a&&o&&"bg-sky-400/20 after:bg-slate-700",a&&!o&&"bg-white/20 after:bg-gray-500",!a&&o&&"bg-sky-400/50 after:bg-blue-300",!a&&!o&&"bg-white/50 after:bg-gray-200",o?"after:translate-x-5":"after:translate-x-0","switch-pad",o&&"switch-pad--on",a&&"switch-pad--disabled")},i__default.default.createElement("input",{ref:N,checked:o,onChange:P,disabled:a,type:"checkbox",required:v,className:u__default.default("absolute left-0 top-0 h-3 w-8 opacity-0",a?"cursor-not-allowed":"cursor-pointer"),...d})),i__default.default.createElement(i.Suspense,null,!!r&&i__default.default.createElement(R,{htmlAttributes:L,rightLabel:r,disabled:a})))});W.displayName="Switch";exports.Switch=W;
|
package/dist/index.d.cts
ADDED
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import React, { HTMLAttributes, InputHTMLAttributes, ChangeEvent } from 'react';
|
|
2
|
+
import { FieldError } from 'react-hook-form';
|
|
3
|
+
import { IExtendable } from '@purr-core/utils.definitions';
|
|
4
|
+
|
|
5
|
+
interface ISwitchLeftLabelProps {
|
|
6
|
+
leftLabel?: string;
|
|
7
|
+
disabled?: boolean;
|
|
8
|
+
htmlAttributes?: HTMLAttributes<HTMLSpanElement> & IExtendable;
|
|
9
|
+
}
|
|
10
|
+
interface ISwitchRightLabelProps {
|
|
11
|
+
rightLabel?: string;
|
|
12
|
+
disabled?: boolean;
|
|
13
|
+
htmlAttributes?: HTMLAttributes<HTMLSpanElement> & IExtendable;
|
|
14
|
+
}
|
|
15
|
+
interface ISwitchProps {
|
|
16
|
+
value?: boolean;
|
|
17
|
+
leftLabel?: string;
|
|
18
|
+
rightLabel?: string;
|
|
19
|
+
htmlAttributes?: HTMLAttributes<HTMLDivElement> & IExtendable;
|
|
20
|
+
inputHtmlAttributes?: InputHTMLAttributes<HTMLInputElement> & IExtendable;
|
|
21
|
+
leftLabelHtmlAttributes?: HTMLAttributes<HTMLSpanElement> & IExtendable;
|
|
22
|
+
rightLabelHtmlAttributes?: HTMLAttributes<HTMLSpanElement> & IExtendable;
|
|
23
|
+
fullWidth?: boolean;
|
|
24
|
+
disabled?: boolean;
|
|
25
|
+
required?: boolean;
|
|
26
|
+
error?: FieldError;
|
|
27
|
+
isStandalone?: boolean;
|
|
28
|
+
onChange?: (value: boolean, e: ChangeEvent<HTMLInputElement>) => void;
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
declare const Switch: React.ForwardRefExoticComponent<ISwitchProps & React.RefAttributes<HTMLInputElement>>;
|
|
32
|
+
|
|
33
|
+
export { type ISwitchLeftLabelProps, type ISwitchProps, type ISwitchRightLabelProps, Switch };
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import React, { HTMLAttributes, InputHTMLAttributes, ChangeEvent } from 'react';
|
|
2
|
+
import { FieldError } from 'react-hook-form';
|
|
3
|
+
import { IExtendable } from '@purr-core/utils.definitions';
|
|
4
|
+
|
|
5
|
+
interface ISwitchLeftLabelProps {
|
|
6
|
+
leftLabel?: string;
|
|
7
|
+
disabled?: boolean;
|
|
8
|
+
htmlAttributes?: HTMLAttributes<HTMLSpanElement> & IExtendable;
|
|
9
|
+
}
|
|
10
|
+
interface ISwitchRightLabelProps {
|
|
11
|
+
rightLabel?: string;
|
|
12
|
+
disabled?: boolean;
|
|
13
|
+
htmlAttributes?: HTMLAttributes<HTMLSpanElement> & IExtendable;
|
|
14
|
+
}
|
|
15
|
+
interface ISwitchProps {
|
|
16
|
+
value?: boolean;
|
|
17
|
+
leftLabel?: string;
|
|
18
|
+
rightLabel?: string;
|
|
19
|
+
htmlAttributes?: HTMLAttributes<HTMLDivElement> & IExtendable;
|
|
20
|
+
inputHtmlAttributes?: InputHTMLAttributes<HTMLInputElement> & IExtendable;
|
|
21
|
+
leftLabelHtmlAttributes?: HTMLAttributes<HTMLSpanElement> & IExtendable;
|
|
22
|
+
rightLabelHtmlAttributes?: HTMLAttributes<HTMLSpanElement> & IExtendable;
|
|
23
|
+
fullWidth?: boolean;
|
|
24
|
+
disabled?: boolean;
|
|
25
|
+
required?: boolean;
|
|
26
|
+
error?: FieldError;
|
|
27
|
+
isStandalone?: boolean;
|
|
28
|
+
onChange?: (value: boolean, e: ChangeEvent<HTMLInputElement>) => void;
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
declare const Switch: React.ForwardRefExoticComponent<ISwitchProps & React.RefAttributes<HTMLInputElement>>;
|
|
32
|
+
|
|
33
|
+
export { type ISwitchLeftLabelProps, type ISwitchProps, type ISwitchRightLabelProps, Switch };
|
package/dist/index.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import u from'clsx';import i,{lazy,forwardRef,Suspense,memo}from'react';import q from'@purr-core/hooks.sync-state-with-props';var k=Object.defineProperty;var l=(t,e)=>()=>(t&&(e=t(t=0)),e);var n=(t,e)=>{for(var r in e)k(t,r,{get:e[r],enumerable:true});};var c={};n(c,{SwitchLabelLeft:()=>h});var h,f=l(()=>{h=memo(({leftLabel:t="",disabled:e=false,htmlAttributes:r})=>t?i.createElement("span",{className:u("mr-2 font-sans text-base",e?"cursor-not-allowed text-white/50 opacity-50":"text-white opacity-100","switch-label","switch-label__left",e&&"switch-label__left--disabled"),...r},t):null);h.displayName="SwitchLabelLeft";});var m={};n(m,{SwitchLabelRight:()=>p});var p,w=l(()=>{p=memo(({rightLabel:t="",disabled:e=false,htmlAttributes:r})=>t?i.createElement("span",{className:u("ml-2 font-sans text-base",e?"cursor-not-allowed text-white/50 opacity-50":"text-white opacity-100","switch-label","switch-label__right",e&&"switch-label__right--disabled"),...r},t):null);p.displayName="SwitchLabelRight";});var z=lazy(()=>Promise.resolve().then(()=>(f(),c)).then(t=>({default:t.SwitchLabelLeft}))),R=lazy(()=>Promise.resolve().then(()=>(w(),m)).then(t=>({default:t.SwitchLabelRight}))),W=forwardRef(({value:t=false,leftLabel:e="",rightLabel:r="",htmlAttributes:S,inputHtmlAttributes:d,leftLabelHtmlAttributes:x,rightLabelHtmlAttributes:L,onChange:y,disabled:a=false,required:v=false,isStandalone:I=false},N)=>{let{currentValue:o,setCurrentValue:_}=q(t,I),P=s=>{_(s.target.checked),y?.(s.target.checked,s);};return i.createElement("div",{className:"switch inline-flex items-center",...S},i.createElement(Suspense,null,!!e&&i.createElement(z,{htmlAttributes:x,leftLabel:e,disabled:a})),i.createElement("div",{className:u("relative h-3 w-8 rounded-lg transition-all duration-200 ease-in-out after:pointer-events-none after:absolute after:-left-1 after:-top-1 after:h-5 after:w-5 after:rounded-full after:transition-all after:duration-200 after:ease-in-out",a&&o&&"bg-sky-400/20 after:bg-slate-700",a&&!o&&"bg-white/20 after:bg-gray-500",!a&&o&&"bg-sky-400/50 after:bg-blue-300",!a&&!o&&"bg-white/50 after:bg-gray-200",o?"after:translate-x-5":"after:translate-x-0","switch-pad",o&&"switch-pad--on",a&&"switch-pad--disabled")},i.createElement("input",{ref:N,checked:o,onChange:P,disabled:a,type:"checkbox",required:v,className:u("absolute left-0 top-0 h-3 w-8 opacity-0",a?"cursor-not-allowed":"cursor-pointer"),...d})),i.createElement(Suspense,null,!!r&&i.createElement(R,{htmlAttributes:L,rightLabel:r,disabled:a})))});W.displayName="Switch";export{W as Switch};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@purr-react-tailwindcss/components.switch",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.7",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"main": "dist/index.cjs",
|
|
6
6
|
"module": "dist/index.js",
|
|
@@ -25,8 +25,8 @@
|
|
|
25
25
|
"react": "*",
|
|
26
26
|
"clsx": "*",
|
|
27
27
|
"react-hook-form": "*",
|
|
28
|
-
"@purr-core/utils.definitions": "0.0.
|
|
29
|
-
"@purr-core/hooks.sync-state-with-props": "0.0.
|
|
28
|
+
"@purr-core/utils.definitions": "0.0.12",
|
|
29
|
+
"@purr-core/hooks.sync-state-with-props": "0.0.9"
|
|
30
30
|
},
|
|
31
31
|
"author": "@DinhThienPhuc",
|
|
32
32
|
"license": "ISC",
|