@purr-react-styled-components/components.text-field 0.0.7 → 0.0.9

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 CHANGED
@@ -1 +1,31 @@
1
- "use strict";var T=Object.create;var y=Object.defineProperty;var L=Object.getOwnPropertyDescriptor;var O=Object.getOwnPropertyNames;var R=Object.getPrototypeOf,V=Object.prototype.hasOwnProperty;var k=(e,t,i,l)=>{if(t&&typeof t=="object"||typeof t=="function")for(let a of O(t))!V.call(e,a)&&a!==i&&y(e,a,{get:()=>t[a],enumerable:!(l=L(t,a))||l.enumerable});return e};var b=(e,t,i)=>(i=e!=null?T(R(e)):{},k(t||!e||!e.__esModule?y(i,"default",{value:e,enumerable:!0}):i,e));Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const d=require("react/jsx-runtime"),$=require("clsx"),c=require("react"),B=require("@purr-core/hooks.focus-with-callback"),M=require("@purr-core/hooks.sync-state-with-props"),h=require("styled-components"),W=require("@purr-react-styled-components/utils.helpers"),D=e=>{let t=0,i=0;const l=(e==null?void 0:e.$variant)==="standard"?0:14;return e!=null&&e.$hasPreAdornment?t=32+l:t=l,e!=null&&e.$hasPostAdornment?i=32+l:i=l,h.css(["padding:0px ","px 0px ","px;"],i,t)},o={Container:h.div.withConfig({displayName:"_style__Container",componentId:"sc-8htvm-0"})(["transition:all 200ms ease-in-out;position:relative;width:",";height:56px;border-radius:4px;",";"],({$fullWidth:e})=>e?"100%":"210px",W.getVariantStyle),Input:h.input.withConfig({displayName:"_style__Input",componentId:"sc-8htvm-1"})(["box-sizing:border-box;transition:all 200ms ease-in-out;width:100%;margin-top:",";height:",";line-height:",";background-color:transparent;color:#ffffff;border-radius:4px;border:none;font-size:16px;",";&:focus-visible{outline:none;}&:disabled{color:#ffffff80;}"],({$hasLabel:e})=>e?"12px":"0px",({$hasLabel:e})=>e?"44px":"56px",({$hasLabel:e})=>e?"44px":"56px",D)},E=c.lazy(()=>import("@purr-react-styled-components/components.post-adornment").then(e=>({default:e.PostAdornment}))),G=c.lazy(()=>import("@purr-react-styled-components/components.pre-adornment").then(e=>({default:e.PreAdornment}))),S=c.forwardRef(({value:e="",variant:t="standard",onChange:i,onFocus:l,onBlur:a,clear:r,htmlAttributes:v,inputHtmlAttributes:j,preAdornmentProps:n,postAdornmentProps:u,className:q="",fullWidth:g=!1,disabled:s=!1,required:f=!1,error:_=null,isStandalone:w=!1},F)=>{const{currentValue:C,setCurrentValue:I}=M(e,w),{captureOnFocus:N,captureOnBlur:m}=B({onFocus:l,onBlur:a}),z=x=>{i==null||i(x.target.value,x),I(x.target.value)};return d.jsxs(o.Container,{...v,$fullWidth:g,$variant:t,$disabled:s,className:$("text-field",g&&"text-field--full-width",f&&"text-field--required",s&&"text-field--disabled",_&&"text-field--error",`text-field--variant-${t}`,q),children:[d.jsx(c.Suspense,{children:!!(n!=null&&n.children)&&d.jsx(G,{...n,hasLabel:!0,variant:t})}),d.jsx(o.Input,{...j,$variant:t,$hasPreAdornment:!!(n!=null&&n.children),$hasPostAdornment:!!r||!!(u!=null&&u.children),$hasLabel:!0,ref:F,value:C,disabled:s,required:f,onChange:z,onFocus:N,onBlur:m,className:$("text-field-input",`text-field-input--variant-${t}`,s&&"text-field-input--disabled",f&&"text-field-input--required")}),d.jsx(c.Suspense,{children:!!(u!=null&&u.children)&&d.jsx(E,{...u,clear:r,variant:t})})]})});S.displayName="TextField";exports.TextField=S;
1
+ 'use strict';var m=require('clsx'),r=require('react'),z=require('@purr-core/hooks.focus-with-callback'),M=require('@purr-core/hooks.sync-state-with-props'),x=require('styled-components'),utils_helpers=require('@purr-react-styled-components/utils.helpers');function _interopDefault(e){return e&&e.__esModule?e:{default:e}}var m__default=/*#__PURE__*/_interopDefault(m);var r__default=/*#__PURE__*/_interopDefault(r);var z__default=/*#__PURE__*/_interopDefault(z);var M__default=/*#__PURE__*/_interopDefault(M);var x__default=/*#__PURE__*/_interopDefault(x);var w=e=>{let t=0,i=0,n=e?.$variant==="standard"?0:14;return e?.$hasPreAdornment?t=32+n:t=n,e?.$hasPostAdornment?i=32+n:i=n,x.css`
2
+ padding: 0px ${i}px 0px ${t}px;
3
+ `},f={Container:x__default.default.div`
4
+ transition: all 200ms ease-in-out;
5
+ position: relative;
6
+ width: ${({$fullWidth:e})=>e?"100%":"210px"};
7
+ height: 56px;
8
+ border-radius: 4px;
9
+ ${utils_helpers.getVariantStyle};
10
+ `,Input:x__default.default.input`
11
+ box-sizing: border-box;
12
+ transition: all 200ms ease-in-out;
13
+ width: 100%;
14
+ margin-top: ${({$hasLabel:e})=>e?"12px":"0px"};
15
+ height: ${({$hasLabel:e})=>e?"44px":"56px"};
16
+ line-height: ${({$hasLabel:e})=>e?"44px":"56px"};
17
+ background-color: transparent;
18
+ color: #ffffff;
19
+ border-radius: 4px;
20
+ border: none;
21
+ font-size: 16px;
22
+ ${w};
23
+
24
+ &:focus-visible {
25
+ outline: none;
26
+ }
27
+
28
+ &:disabled {
29
+ color: #ffffff80;
30
+ }
31
+ `};var N=r.lazy(()=>import('@purr-react-styled-components/components.post-adornment').then(e=>({default:e.PostAdornment}))),W=r.lazy(()=>import('@purr-react-styled-components/components.pre-adornment').then(e=>({default:e.PreAdornment}))),k=r.forwardRef(({value:e="",variant:t="standard",onChange:i,onFocus:n,onBlur:c,clear:u,htmlAttributes:b,inputHtmlAttributes:g,preAdornmentProps:a,postAdornmentProps:l,className:T="",fullWidth:p=false,disabled:o=false,required:d=false,error:v=null,isStandalone:P=false},y)=>{let{currentValue:F,setCurrentValue:S}=M__default.default(e,P),{captureOnFocus:C,captureOnBlur:A}=z__default.default({onFocus:n,onBlur:c}),V=s=>{i?.(s.target.value,s),S(s.target.value);};return r__default.default.createElement(f.Container,{...b,$fullWidth:p,$variant:t,$disabled:o,className:m__default.default("text-field",p&&"text-field--full-width",d&&"text-field--required",o&&"text-field--disabled",v&&"text-field--error",`text-field--variant-${t}`,T)},r__default.default.createElement(r.Suspense,null,!!a?.children&&r__default.default.createElement(W,{...a,hasLabel:true,variant:t})),r__default.default.createElement(f.Input,{...g,$variant:t,$hasPreAdornment:!!a?.children,$hasPostAdornment:!!u||!!l?.children,$hasLabel:true,ref:y,value:F,disabled:o,required:d,onChange:V,onFocus:C,onBlur:A,className:m__default.default("text-field-input",`text-field-input--variant-${t}`,o&&"text-field-input--disabled",d&&"text-field-input--required")}),r__default.default.createElement(r.Suspense,null,!!l?.children&&r__default.default.createElement(N,{...l,clear:u,variant:t})))});k.displayName="TextField";exports.TextField=k;
@@ -1,11 +1,11 @@
1
- import { ChangeEvent, FocusEventHandler, HTMLAttributes, InputHTMLAttributes } from 'react';
1
+ import React, { ChangeEvent, FocusEventHandler, HTMLAttributes, InputHTMLAttributes } from 'react';
2
2
  import { FieldError } from 'react-hook-form';
3
3
  import { IExtendable } from '@purr-core/utils.definitions';
4
4
  import { IPostAdornmentProps } from '@purr-react-styled-components/components.post-adornment';
5
5
  import { IPreAdornmentProps } from '@purr-react-styled-components/components.pre-adornment';
6
6
 
7
- export type TTextFieldVariant = "standard" | "outlined" | "filled";
8
- export interface ITextFieldProps {
7
+ type TTextFieldVariant = "standard" | "outlined" | "filled";
8
+ interface ITextFieldProps {
9
9
  value?: string;
10
10
  variant?: TTextFieldVariant;
11
11
  onChange?: (value: string, e: ChangeEvent<HTMLInputElement>) => void;
@@ -23,3 +23,7 @@ export interface ITextFieldProps {
23
23
  error?: FieldError;
24
24
  isStandalone?: boolean;
25
25
  }
26
+
27
+ declare const TextField: React.ForwardRefExoticComponent<ITextFieldProps & React.RefAttributes<HTMLInputElement>>;
28
+
29
+ export { type ITextFieldProps, type TTextFieldVariant, TextField };
package/dist/index.d.ts CHANGED
@@ -1,2 +1,29 @@
1
- export * from './_components';
2
- export * from './_types';
1
+ import React, { ChangeEvent, FocusEventHandler, HTMLAttributes, InputHTMLAttributes } from 'react';
2
+ import { FieldError } from 'react-hook-form';
3
+ import { IExtendable } from '@purr-core/utils.definitions';
4
+ import { IPostAdornmentProps } from '@purr-react-styled-components/components.post-adornment';
5
+ import { IPreAdornmentProps } from '@purr-react-styled-components/components.pre-adornment';
6
+
7
+ type TTextFieldVariant = "standard" | "outlined" | "filled";
8
+ interface ITextFieldProps {
9
+ value?: string;
10
+ variant?: TTextFieldVariant;
11
+ onChange?: (value: string, e: ChangeEvent<HTMLInputElement>) => void;
12
+ onFocus?: FocusEventHandler<HTMLInputElement>;
13
+ onBlur?: FocusEventHandler<HTMLInputElement>;
14
+ clear?: () => void;
15
+ htmlAttributes?: HTMLAttributes<HTMLDivElement> & IExtendable;
16
+ inputHtmlAttributes?: InputHTMLAttributes<HTMLInputElement> & IExtendable;
17
+ preAdornmentProps?: IPreAdornmentProps;
18
+ postAdornmentProps?: IPostAdornmentProps;
19
+ className?: string;
20
+ fullWidth?: boolean;
21
+ disabled?: boolean;
22
+ required?: boolean;
23
+ error?: FieldError;
24
+ isStandalone?: boolean;
25
+ }
26
+
27
+ declare const TextField: React.ForwardRefExoticComponent<ITextFieldProps & React.RefAttributes<HTMLInputElement>>;
28
+
29
+ export { type ITextFieldProps, type TTextFieldVariant, TextField };
package/dist/index.js CHANGED
@@ -1,72 +1,31 @@
1
- import { jsxs as L, jsx as n } from "react/jsx-runtime";
2
- import s from "clsx";
3
- import { lazy as g, forwardRef as V, Suspense as r } from "react";
4
- import j from "@purr-core/hooks.focus-with-callback";
5
- import k from "@purr-core/hooks.sync-state-with-props";
6
- import m, { css as B } from "styled-components";
7
- import { getVariantStyle as O } from "@purr-react-styled-components/utils.helpers";
8
- const R = (t) => {
9
- let e = 0, i = 0;
10
- const f = (t == null ? void 0 : t.$variant) === "standard" ? 0 : 14;
11
- return t != null && t.$hasPreAdornment ? e = 32 + f : e = f, t != null && t.$hasPostAdornment ? i = 32 + f : i = f, B(["padding:0px ", "px 0px ", "px;"], i, e);
12
- }, o = {
13
- Container: m.div.withConfig({
14
- displayName: "_style__Container",
15
- componentId: "sc-8htvm-0"
16
- })(["transition:all 200ms ease-in-out;position:relative;width:", ";height:56px;border-radius:4px;", ";"], ({
17
- $fullWidth: t
18
- }) => t ? "100%" : "210px", O),
19
- Input: m.input.withConfig({
20
- displayName: "_style__Input",
21
- componentId: "sc-8htvm-1"
22
- })(["box-sizing:border-box;transition:all 200ms ease-in-out;width:100%;margin-top:", ";height:", ";line-height:", ";background-color:transparent;color:#ffffff;border-radius:4px;border:none;font-size:16px;", ";&:focus-visible{outline:none;}&:disabled{color:#ffffff80;}"], ({
23
- $hasLabel: t
24
- }) => t ? "12px" : "0px", ({
25
- $hasLabel: t
26
- }) => t ? "44px" : "56px", ({
27
- $hasLabel: t
28
- }) => t ? "44px" : "56px", R)
29
- }, T = g(() => import("@purr-react-styled-components/components.post-adornment").then((t) => ({
30
- default: t.PostAdornment
31
- }))), W = g(() => import("@purr-react-styled-components/components.pre-adornment").then((t) => ({
32
- default: t.PreAdornment
33
- }))), M = V(({
34
- value: t = "",
35
- variant: e = "standard",
36
- onChange: i,
37
- onFocus: f,
38
- onBlur: y,
39
- clear: x,
40
- htmlAttributes: b,
41
- inputHtmlAttributes: $,
42
- preAdornmentProps: l,
43
- postAdornmentProps: a,
44
- className: v = "",
45
- fullWidth: h = !1,
46
- disabled: d = !1,
47
- required: u = !1,
48
- error: S = null,
49
- isStandalone: w = !1
50
- }, _) => {
51
- const {
52
- currentValue: C,
53
- setCurrentValue: F
54
- } = k(t, w), {
55
- captureOnFocus: I,
56
- captureOnBlur: N
57
- } = j({
58
- onFocus: f,
59
- onBlur: y
60
- }), z = (c) => {
61
- i == null || i(c.target.value, c), F(c.target.value);
62
- };
63
- return /* @__PURE__ */ L(o.Container, { ...b, $fullWidth: h, $variant: e, $disabled: d, className: s("text-field", h && "text-field--full-width", u && "text-field--required", d && "text-field--disabled", S && "text-field--error", `text-field--variant-${e}`, v), children: [
64
- /* @__PURE__ */ n(r, { children: !!(l != null && l.children) && /* @__PURE__ */ n(W, { ...l, hasLabel: !0, variant: e }) }),
65
- /* @__PURE__ */ n(o.Input, { ...$, $variant: e, $hasPreAdornment: !!(l != null && l.children), $hasPostAdornment: !!x || !!(a != null && a.children), $hasLabel: !0, ref: _, value: C, disabled: d, required: u, onChange: z, onFocus: I, onBlur: N, className: s("text-field-input", `text-field-input--variant-${e}`, d && "text-field-input--disabled", u && "text-field-input--required") }),
66
- /* @__PURE__ */ n(r, { children: !!(a != null && a.children) && /* @__PURE__ */ n(T, { ...a, clear: x, variant: e }) })
67
- ] });
68
- });
69
- M.displayName = "TextField";
70
- export {
71
- M as TextField
72
- };
1
+ import m from'clsx';import r,{lazy,forwardRef,Suspense}from'react';import z from'@purr-core/hooks.focus-with-callback';import M from'@purr-core/hooks.sync-state-with-props';import x,{css}from'styled-components';import {getVariantStyle}from'@purr-react-styled-components/utils.helpers';var w=e=>{let t=0,i=0,n=e?.$variant==="standard"?0:14;return e?.$hasPreAdornment?t=32+n:t=n,e?.$hasPostAdornment?i=32+n:i=n,css`
2
+ padding: 0px ${i}px 0px ${t}px;
3
+ `},f={Container:x.div`
4
+ transition: all 200ms ease-in-out;
5
+ position: relative;
6
+ width: ${({$fullWidth:e})=>e?"100%":"210px"};
7
+ height: 56px;
8
+ border-radius: 4px;
9
+ ${getVariantStyle};
10
+ `,Input:x.input`
11
+ box-sizing: border-box;
12
+ transition: all 200ms ease-in-out;
13
+ width: 100%;
14
+ margin-top: ${({$hasLabel:e})=>e?"12px":"0px"};
15
+ height: ${({$hasLabel:e})=>e?"44px":"56px"};
16
+ line-height: ${({$hasLabel:e})=>e?"44px":"56px"};
17
+ background-color: transparent;
18
+ color: #ffffff;
19
+ border-radius: 4px;
20
+ border: none;
21
+ font-size: 16px;
22
+ ${w};
23
+
24
+ &:focus-visible {
25
+ outline: none;
26
+ }
27
+
28
+ &:disabled {
29
+ color: #ffffff80;
30
+ }
31
+ `};var N=lazy(()=>import('@purr-react-styled-components/components.post-adornment').then(e=>({default:e.PostAdornment}))),W=lazy(()=>import('@purr-react-styled-components/components.pre-adornment').then(e=>({default:e.PreAdornment}))),k=forwardRef(({value:e="",variant:t="standard",onChange:i,onFocus:n,onBlur:c,clear:u,htmlAttributes:b,inputHtmlAttributes:g,preAdornmentProps:a,postAdornmentProps:l,className:T="",fullWidth:p=false,disabled:o=false,required:d=false,error:v=null,isStandalone:P=false},y)=>{let{currentValue:F,setCurrentValue:S}=M(e,P),{captureOnFocus:C,captureOnBlur:A}=z({onFocus:n,onBlur:c}),V=s=>{i?.(s.target.value,s),S(s.target.value);};return r.createElement(f.Container,{...b,$fullWidth:p,$variant:t,$disabled:o,className:m("text-field",p&&"text-field--full-width",d&&"text-field--required",o&&"text-field--disabled",v&&"text-field--error",`text-field--variant-${t}`,T)},r.createElement(Suspense,null,!!a?.children&&r.createElement(W,{...a,hasLabel:true,variant:t})),r.createElement(f.Input,{...g,$variant:t,$hasPreAdornment:!!a?.children,$hasPostAdornment:!!u||!!l?.children,$hasLabel:true,ref:y,value:F,disabled:o,required:d,onChange:V,onFocus:C,onBlur:A,className:m("text-field-input",`text-field-input--variant-${t}`,o&&"text-field-input--disabled",d&&"text-field-input--required")}),r.createElement(Suspense,null,!!l?.children&&r.createElement(N,{...l,clear:u,variant:t})))});k.displayName="TextField";export{k as TextField};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@purr-react-styled-components/components.text-field",
3
- "version": "0.0.7",
3
+ "version": "0.0.9",
4
4
  "type": "module",
5
5
  "main": "dist/index.cjs",
6
6
  "module": "dist/index.js",
@@ -25,15 +25,15 @@
25
25
  "react": "*",
26
26
  "styled-components": "*",
27
27
  "clsx": "*",
28
- "@purr-react-styled-components/components.post-adornment": "0.0.7",
29
- "@purr-react-styled-components/components.pre-adornment": "0.0.7",
30
- "@purr-core/utils.definitions": "0.0.10",
31
- "@purr-react-styled-components/utils.helpers": "0.0.6",
32
- "@purr-core/hooks.focus-with-callback": "0.0.7",
33
- "@purr-core/hooks.sync-state-with-props": "0.0.7"
28
+ "@purr-react-styled-components/components.post-adornment": "0.0.9",
29
+ "@purr-core/utils.definitions": "0.0.12",
30
+ "@purr-react-styled-components/utils.helpers": "0.0.8",
31
+ "@purr-core/hooks.sync-state-with-props": "0.0.9",
32
+ "@purr-react-styled-components/components.pre-adornment": "0.0.9",
33
+ "@purr-core/hooks.focus-with-callback": "0.0.9"
34
34
  },
35
35
  "devDependencies": {
36
- "@purr-react-styled-components/components.icon": "0.0.7"
36
+ "@purr-react-styled-components/components.icon": "0.0.9"
37
37
  },
38
38
  "author": "@DinhThienPhuc",
39
39
  "license": "ISC",
@@ -42,6 +42,8 @@
42
42
  "scripts": {
43
43
  "dev": "vite build --watch",
44
44
  "build": "tsc && vite build",
45
+ "build:vite": "tsc && vite build",
46
+ "build:tsup": "tsup",
45
47
  "lint": "eslint . --ext ts,tsx --max-warnings 0"
46
48
  }
47
49
  }
@@ -1,4 +0,0 @@
1
- import { default as React } from 'react';
2
- import { ITextFieldProps } from './_types';
3
-
4
- export declare const TextField: React.ForwardRefExoticComponent<ITextFieldProps & React.RefAttributes<HTMLInputElement>>;
package/dist/_style.d.ts DELETED
@@ -1,15 +0,0 @@
1
- import { TTextFieldVariant } from './_types';
2
-
3
- export declare const Styled: {
4
- Container: import('styled-components/dist/types').IStyledComponentBase<"web", import('styled-components/dist/types').Substitute<import('react').DetailedHTMLProps<import('react').HTMLAttributes<HTMLDivElement>, HTMLDivElement>, {
5
- $fullWidth: boolean;
6
- $disabled: boolean;
7
- $variant: TTextFieldVariant;
8
- }>> & string;
9
- Input: import('styled-components/dist/types').IStyledComponentBase<"web", import('styled-components/dist/types').Substitute<import('react').DetailedHTMLProps<import('react').InputHTMLAttributes<HTMLInputElement>, HTMLInputElement>, {
10
- $variant: TTextFieldVariant;
11
- $hasPreAdornment: boolean;
12
- $hasPostAdornment: boolean;
13
- $hasLabel: boolean;
14
- }>> & string;
15
- };