@xjur-ui/react 2.2.2 → 2.2.4
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/CHANGELOG.md +12 -0
- package/dist/chunk-5Z3AIBBS.js +2 -0
- package/dist/{chunk-JGPHBUVM.js.map → chunk-5Z3AIBBS.js.map} +1 -1
- package/dist/{chunk-TQWBQ452.js → chunk-PBI3K7KX.js} +2 -2
- package/dist/chunk-PBI3K7KX.js.map +1 -0
- package/dist/chunk-SYECSMYR.js +2 -0
- package/dist/chunk-SYECSMYR.js.map +1 -0
- package/dist/{chunk-MTIWFWRN.js → chunk-XC6SVYAS.js} +2 -2
- package/dist/{chunk-MTIWFWRN.js.map → chunk-XC6SVYAS.js.map} +1 -1
- package/dist/components/controls/date-picker.d.ts +2 -1
- package/dist/components/controls/date-picker.js +1 -1
- package/dist/components/controls/date-picker.js.map +1 -1
- package/dist/components/controls/floating-label.js +1 -1
- package/dist/components/controls/input.d.ts +2 -1
- package/dist/components/controls/input.js +1 -1
- package/dist/components/controls/rating.js +1 -1
- package/dist/components/controls/select.d.ts +2 -1
- package/dist/components/controls/select.js +1 -1
- package/dist/components/controls/slider.js +1 -1
- package/dist/components/full-calendar/calendar-toggle-view.js +1 -1
- package/dist/components/full-calendar/index.js +1 -1
- package/dist/components/steps/index.js +1 -1
- package/dist/components/table/index.js +1 -1
- package/dist/components/upload.js +1 -1
- package/dist/index.css +1 -1
- package/dist/index.css.map +1 -1
- package/package.json +14 -14
- package/dist/chunk-DTNZXDCY.js +0 -2
- package/dist/chunk-DTNZXDCY.js.map +0 -1
- package/dist/chunk-JGPHBUVM.js +0 -2
- package/dist/chunk-TQWBQ452.js.map +0 -1
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@xjur-ui/react",
|
|
3
|
-
"version": "2.2.
|
|
3
|
+
"version": "2.2.4",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"description": "React components for XJur Design System",
|
|
6
6
|
"types": "dist/index.d.ts",
|
|
@@ -34,19 +34,19 @@
|
|
|
34
34
|
"./breadcrumb": "./dist/components/breadcrumb.js",
|
|
35
35
|
"./dnd": "./dist/components/drag-and-drop/index.js",
|
|
36
36
|
"./full-calendar": "./dist/components/full-calendar/index.js",
|
|
37
|
-
"./button": "./dist/components/
|
|
38
|
-
"./calendar": "./dist/components/
|
|
39
|
-
"./checkbox": "./dist/components/
|
|
40
|
-
"./date-picker": "./dist/components/
|
|
41
|
-
"./input": "./dist/components/
|
|
42
|
-
"./otp-input": "./dist/components/
|
|
43
|
-
"./radio": "./dist/components/
|
|
44
|
-
"./rich-editor": "./dist/components/
|
|
45
|
-
"./search-input": "./dist/components/
|
|
46
|
-
"./select": "./dist/components/
|
|
47
|
-
"./switch": "./dist/components/
|
|
48
|
-
"./slider": "./dist/components/
|
|
49
|
-
"./rating": "./dist/components/
|
|
37
|
+
"./button": "./dist/components/controls/button.js",
|
|
38
|
+
"./calendar": "./dist/components/controls/calendar.js",
|
|
39
|
+
"./checkbox": "./dist/components/controls/checkbox.js",
|
|
40
|
+
"./date-picker": "./dist/components/controls/date-picker.js",
|
|
41
|
+
"./input": "./dist/components/controls/input.js",
|
|
42
|
+
"./otp-input": "./dist/components/controls/otp-input.js",
|
|
43
|
+
"./radio": "./dist/components/controls/radio.js",
|
|
44
|
+
"./rich-editor": "./dist/components/controls/rich-editor.js",
|
|
45
|
+
"./search-input": "./dist/components/controls/search-input.js",
|
|
46
|
+
"./select": "./dist/components/controls/select.js",
|
|
47
|
+
"./switch": "./dist/components/controls/switch.js",
|
|
48
|
+
"./slider": "./dist/components/controls/slider.js",
|
|
49
|
+
"./rating": "./dist/components/controls/rating.js",
|
|
50
50
|
"./pessoa": "./dist/components/custom/pessoa/index.js",
|
|
51
51
|
"./steps": "./dist/components/steps/index.js"
|
|
52
52
|
},
|
package/dist/chunk-DTNZXDCY.js
DELETED
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import {a as a$1}from'./chunk-JGPHBUVM.js';import {a,b}from'./chunk-2JQVYVAT.js';import {a as a$3,d,e,b as b$2,c}from'./chunk-YOLTIAFT.js';import {b as b$1}from'./chunk-DVDHTP4C.js';import {a as a$2}from'./chunk-EIG6CBTQ.js';import {tv,twMerge,twJoin}from'@xjur-ui/util';import {useMemo}from'react';import*as s from'@radix-ui/react-popover';import {jsx,jsxs}from'react/jsx-runtime';var w=tv({slots:{wrapper:"group flex flex-col gap-small-2x",trigger:["h-large-4x w-auto inline-flex cursor-pointer relative","items-center gap-small rounded-small-1x","py-small_1x-alt px-small","bg-layer-2-idle border border-border-layer-2","group-has-[div[data-slot=input-action-slot]]:rounded-r-none","transition-all duration-200"],content:["group z-1000 max-h-[var(--radix-popover-content-available-height)] max-w-[var(--radix-popover-content-available-width)] min-w-[var(--radix-popover-trigger-width)]"],icon:"size-large text-icon-neutral-3 flex items-center justify-center",slotText:"size-large flex items-center justify-center !text-size-label-md text-neutral-placeholder",caption:"!text-size-body-sm font-normal"},variants:{state:{normal:{trigger:"hover:border-border-layer-3 data-[state=open]:border-primary-idle data-[state=open]:hover:border-primary-idle"},error:{trigger:"border-danger-idle hover:border-danger-idle data-[state=open]:border-danger-idle data-[state=open]:hover:border-danger-idle",caption:"text-danger-label-idle"},disabled:{trigger:"pointer-events-none border-transparent bg-layer-2-idle"}}}}),{wrapper:S,trigger:N,icon:L,caption:O,slotText:F,content:I}=w();function J({className:t,state:e="normal",defaultOpen:o,variant:n="normal",modal:i,open:a$1,onOpenChange:p,...c}){return jsx(s.Root,{defaultOpen:o,modal:i,open:a$1,onOpenChange:p,children:jsx(a.Provider,{value:{state:e,variant:n},children:jsx("div",{className:S({className:t,state:e}),...c})})})}function _({className:t,...e}){let{state:o,variant:n}=b(),i=tv({base:["group bg-layer-2-idle"],variants:{state:{normal:["border-border-layer-2 hover:border-border-layer-3 has-[input:not(:placeholder-shown)]:border-primary-idle"],error:["border-danger-idle hover:border-danger-idle"],disabled:["border border-border-layer-2 opacity-60"]}}}),a=twMerge(N({state:o,className:t}),n==="filter"&&i({state:o,className:t}));return jsx(s.Trigger,{className:a,disabled:o==="disabled",...e})}function q({className:t,name:e,...o}){let{state:n}=b();return jsx("div",{className:L({className:t,state:n}),"data-slot":"control-slot",...o,children:jsx(b$1,{name:e})})}function B({className:t,displayValue:e="",value:o,placeholder:n,...i}){let{variant:a}=b(),p=useMemo(()=>a==="filter"?e:e||n,[e,n,a]);return jsxs("div",{className:"grid w-full items-center",children:[n&&a==="filter"&&jsx(a$1,{children:n}),n&&a==="filter"&&jsx(a$2,{className:"invisible col-start-1 row-start-1 self-center",children:n}),jsx(a$2,{className:"text-neutral-dark group-has-[div[data-slot=date-picker-left-slot]]:pl-large-1x z-10 col-start-1 row-start-1 self-center text-left",children:p}),jsx("input",{...i,"aria-readonly":true,className:twJoin("pointer-events-none",t),hidden:true,placeholder:" ",readOnly:true,value:o??""})]})}function D({className:t,value:e,placeholder:o,children:n,...i}){let{variant:a}=b(),p=useMemo(()=>a==="filter"?false:Array.isArray(e)&&e.length===0&&o,[e,o,a]),c=useMemo(()=>Array.isArray(e)&&e.length>0,[e]);return jsxs("div",{className:twMerge(t,"gap-small-1x scrollbar-hide flex w-full overflow-x-hidden","group-disabled:!pl-0"),children:[o&&a==="filter"&&jsx(a$1,{children:o}),o&&a==="filter"&&!c&&jsx(a$2,{className:"invisible",children:o}),p&&jsx(a$2,{className:"text-neutral-dark group-has-[div[data-slot=date-picker-left-slot]]:pl-large-1x",children:o}),n,jsx("input",{...i,"aria-readonly":true,className:twMerge(t,"pointer-events-none"),hidden:true,placeholder:c?"":" ",readOnly:true,value:Array.isArray(e)?e.join(","):e})]})}function E({className:t,sideOffset:e=5,side:o="bottom",align:n="start",children:i,...a}){let{state:p}=b();return jsx(s.Portal,{children:jsx(s.Content,{align:n,className:I({className:t,state:p}),side:o,sideOffset:e,...a,children:jsx(a$3,{children:i})})})}function G({className:t,...e}){let{state:o}=b();return jsx("p",{className:O({className:t,state:o}),...e})}function K({className:t,...e}){let{state:o}=b();return jsx("span",{className:F({className:t,state:o}),...e})}function Q(t){return jsx(d,{...t})}function U({className:t,...e$1}){return jsx(e,{className:twMerge(t,"cursor-pointer"),...e$1})}function W(t){return jsx(a$2,{...t})}function X(t){return jsx(b$2,{...t})}function Y(t){return jsx(c,{...t})}export{w as a,J as b,_ as c,q as d,B as e,D as f,E as g,G as h,K as i,Q as j,U as k,W as l,X as m,Y as n};//# sourceMappingURL=chunk-DTNZXDCY.js.map
|
|
2
|
-
//# sourceMappingURL=chunk-DTNZXDCY.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/components/controls/select.tsx"],"names":["select","tv","wrapper","trigger","icon","caption","slotText","content","SelectRoot","className","state","defaultOpen","variant","modal","open","handleOpenChange","props","jsx","FieldContext","SelectTrigger","useFieldContext","filterTrigger","mergedClassName","twMerge","SelectIcon","name","Icon","SelectValue","displayValue","value","placeholder","valueOrPlaceholder","useMemo","jsxs","FloatingLabel","Typography","twJoin","SelectMultiValue","children","shouldShowPlaceholder","hasSelectedItems","SelectContent","sideOffset","side","align","ListRoot","SelectCaption","SelectSlot","SelectOptions","ListContent","SelectOption","ListItem","SelectOptionText","SelectHeader","ListHeader","SelectHeaderTitle","ListHeaderTitle"],"mappings":"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","file":"chunk-DTNZXDCY.js","sourcesContent":["import { tv, twJoin, twMerge } from '@xjur-ui/util'\nimport { useMemo, type ComponentProps } from 'react'\nimport * as RadixPopover from '@radix-ui/react-popover'\nimport { Icon, type IconType } from '../icon'\nimport { Typography } from '../typography'\nimport {\n ListHeaderTitle,\n ListHeader,\n ListContent,\n ListItem,\n ListRoot\n} from '../list'\nimport {\n FieldContext,\n useFieldContext,\n type FieldContextValue\n} from './context/field.context'\nimport { FloatingLabel } from './floating-label'\n\nexport const select = tv({\n slots: {\n wrapper: 'group flex flex-col gap-small-2x',\n trigger: [\n 'h-large-4x w-auto inline-flex cursor-pointer relative',\n 'items-center gap-small rounded-small-1x',\n 'py-small_1x-alt px-small',\n 'bg-layer-2-idle border border-border-layer-2',\n 'group-has-[div[data-slot=input-action-slot]]:rounded-r-none',\n 'transition-all duration-200'\n ],\n content: [\n 'group z-1000 max-h-[var(--radix-popover-content-available-height)] max-w-[var(--radix-popover-content-available-width)] min-w-[var(--radix-popover-trigger-width)]'\n ],\n icon: 'size-large text-icon-neutral-3 flex items-center justify-center',\n slotText:\n 'size-large flex items-center justify-center !text-size-label-md text-neutral-placeholder',\n caption: '!text-size-body-sm font-normal'\n },\n variants: {\n state: {\n normal: {\n trigger:\n 'hover:border-border-layer-3 data-[state=open]:border-primary-idle data-[state=open]:hover:border-primary-idle'\n },\n error: {\n trigger:\n 'border-danger-idle hover:border-danger-idle data-[state=open]:border-danger-idle data-[state=open]:hover:border-danger-idle',\n caption: 'text-danger-label-idle'\n },\n disabled: {\n trigger: 'pointer-events-none border-transparent bg-layer-2-idle'\n }\n }\n }\n})\n\nconst { wrapper, trigger, icon, caption, slotText, content } = select()\n\nexport function SelectRoot({\n className,\n state = 'normal',\n defaultOpen,\n variant = 'normal',\n modal,\n open,\n onOpenChange: handleOpenChange,\n ...props\n}: ComponentProps<'div'> &\n FieldContextValue &\n ComponentProps<typeof RadixPopover.Root>) {\n return (\n <RadixPopover.Root\n defaultOpen={defaultOpen}\n modal={modal}\n open={open}\n onOpenChange={handleOpenChange}\n >\n <FieldContext.Provider value={{ state, variant }}>\n <div className={wrapper({ className, state })} {...props} />\n </FieldContext.Provider>\n </RadixPopover.Root>\n )\n}\n\nexport function SelectTrigger({\n className,\n ...props\n}: ComponentProps<typeof RadixPopover.Trigger>) {\n const { state, variant } = useFieldContext()\n\n const filterTrigger = tv({\n base: ['group bg-layer-2-idle'],\n variants: {\n state: {\n normal: [\n 'border-border-layer-2 hover:border-border-layer-3 has-[input:not(:placeholder-shown)]:border-primary-idle'\n ],\n error: ['border-danger-idle hover:border-danger-idle'],\n disabled: ['border border-border-layer-2 opacity-60']\n }\n }\n })\n\n const mergedClassName = twMerge(\n trigger({ state, className }),\n variant === 'filter' && filterTrigger({ state, className })\n )\n\n return (\n <RadixPopover.Trigger\n className={mergedClassName}\n disabled={state === 'disabled'}\n {...props}\n />\n )\n}\n\nexport function SelectIcon({\n className,\n name,\n ...props\n}: ComponentProps<'div'> & {\n name: IconType\n}) {\n const { state } = useFieldContext()\n\n return (\n <div\n className={icon({ className, state })}\n data-slot=\"control-slot\"\n {...props}\n >\n <Icon name={name} />\n </div>\n )\n}\n\nexport function SelectValue({\n className,\n displayValue = '',\n value,\n placeholder,\n ...props\n}: ComponentProps<'input'> & { displayValue?: string }) {\n const { variant } = useFieldContext()\n\n const valueOrPlaceholder = useMemo(() => {\n if (variant === 'filter') return displayValue\n return displayValue || placeholder\n }, [displayValue, placeholder, variant])\n\n return (\n <div className=\"grid w-full items-center\">\n {placeholder && variant === 'filter' && (\n <FloatingLabel>{placeholder}</FloatingLabel>\n )}\n\n {placeholder && variant === 'filter' && (\n <Typography className=\"invisible col-start-1 row-start-1 self-center\">\n {placeholder}\n </Typography>\n )}\n\n <Typography className=\"text-neutral-dark group-has-[div[data-slot=date-picker-left-slot]]:pl-large-1x z-10 col-start-1 row-start-1 self-center text-left\">\n {valueOrPlaceholder}\n </Typography>\n\n <input\n {...props}\n aria-readonly={true}\n className={twJoin('pointer-events-none', className)}\n hidden={true}\n placeholder={' '}\n readOnly={true}\n value={value ?? ''}\n />\n </div>\n )\n}\n\nexport function SelectMultiValue({\n className,\n value,\n placeholder,\n children,\n ...props\n}: ComponentProps<'input'>) {\n const { variant } = useFieldContext()\n\n const shouldShowPlaceholder = useMemo(() => {\n if (variant === 'filter') return false\n return Array.isArray(value) && value.length === 0 && placeholder\n }, [value, placeholder, variant])\n\n const hasSelectedItems = useMemo(() => {\n return Array.isArray(value) && value.length > 0\n }, [value])\n\n return (\n <div\n className={twMerge(\n className,\n 'gap-small-1x scrollbar-hide flex w-full overflow-x-hidden',\n 'group-disabled:!pl-0'\n )}\n >\n {placeholder && variant === 'filter' && (\n <FloatingLabel>{placeholder}</FloatingLabel>\n )}\n\n {placeholder && variant === 'filter' && !hasSelectedItems && (\n <Typography className=\"invisible\">{placeholder}</Typography>\n )}\n\n {shouldShowPlaceholder && (\n <Typography className=\"text-neutral-dark group-has-[div[data-slot=date-picker-left-slot]]:pl-large-1x\">\n {placeholder}\n </Typography>\n )}\n\n {children}\n\n <input\n {...props}\n aria-readonly={true}\n className={twMerge(className, 'pointer-events-none')}\n hidden={true}\n placeholder={hasSelectedItems ? '' : ' '}\n readOnly={true}\n value={Array.isArray(value) ? value.join(',') : value}\n />\n </div>\n )\n}\n\nexport function SelectContent({\n className,\n sideOffset = 5,\n side = 'bottom',\n align = 'start',\n children,\n ...props\n}: ComponentProps<typeof RadixPopover.Content>) {\n const { state } = useFieldContext()\n\n return (\n <RadixPopover.Portal>\n <RadixPopover.Content\n align={align}\n className={content({ className, state })}\n side={side}\n sideOffset={sideOffset}\n {...props}\n >\n <ListRoot>{children}</ListRoot>\n </RadixPopover.Content>\n </RadixPopover.Portal>\n )\n}\n\nexport function SelectCaption({ className, ...props }: ComponentProps<'p'>) {\n const { state } = useFieldContext()\n return <p className={caption({ className, state })} {...props} />\n}\n\nexport function SelectSlot({ className, ...props }: ComponentProps<'span'>) {\n const { state } = useFieldContext()\n return <span className={slotText({ className, state })} {...props} />\n}\n\nexport function SelectOptions(props: ComponentProps<typeof ListContent>) {\n return <ListContent {...props} />\n}\n\nexport function SelectOption({\n className,\n ...props\n}: ComponentProps<typeof ListItem>) {\n return (\n <ListItem className={twMerge(className, 'cursor-pointer')} {...props} />\n )\n}\n\nexport function SelectOptionText(props: ComponentProps<typeof Typography>) {\n return <Typography {...props} />\n}\n\nexport function SelectHeader(props: ComponentProps<typeof ListHeader>) {\n return <ListHeader {...props} />\n}\n\nexport function SelectHeaderTitle(\n props: ComponentProps<typeof ListHeaderTitle>\n) {\n return <ListHeaderTitle {...props} />\n}\n"]}
|
package/dist/chunk-JGPHBUVM.js
DELETED
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import {b}from'./chunk-2JQVYVAT.js';import {tv}from'@xjur-ui/util';import {jsx}from'react/jsx-runtime';function d({className:a,htmlFor:e,children:l,...n}){let{state:s}=b(),r=tv({base:["group inline-block max-w-full truncate text-left","ease animate-in left-small right-small pointer-events-none absolute top-1/2 -translate-y-1/2 transition-all duration-250","text-size-body-md","group-focus-within:-top-[3px]","group-data-[state=open]:-top-[3px]","group-focus-within:text-size-label-sm-1x group-focus-within:font-medium","group-data-[state=open]:text-size-label-sm-1x group-data-[state=open]:font-medium","group-has-[input:not(:placeholder-shown)]:-top-[3px]","group-has-[input:not(:placeholder-shown)]:text-size-label-sm-1x","group-has-[input:not(:placeholder-shown)]:font-medium","group-has-[div[data-slot=control-slot]]:left-large-4x","group-has-[div[data-slot=control-slot]]:group-focus-within:left-small","group-has-[div[data-slot=control-slot]]:group-has-[input:not(:placeholder-shown)]:left-small","group-has-[div[data-slot=control-slot]]:group-data-[state=open]:left-small","group-focus-within:animate-in","group-has-[input:not(:placeholder-shown)]:animate-out","data-[disabled=true]:hidden"],variants:{state:{normal:["group-focus-within:!text-primary-idle group-data-[state=open]:!text-primary-idle","group-has-[input:not(:placeholder-shown)]:!text-primary-idle"],error:["group-focus-within:!text-danger-label-active group-data-[state=open]:!text-danger-label-active","group-has-[input:not(:placeholder-shown)]:!text-danger-label-active"],disabled:[]}}});return jsx("label",{className:r({className:a,state:s}),htmlFor:e,...n,children:jsx("span",{className:"rounded-small-1x bg-layer-2-idle max-w-full",children:l})})}export{d as a};//# sourceMappingURL=chunk-JGPHBUVM.js.map
|
|
2
|
-
//# sourceMappingURL=chunk-JGPHBUVM.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/components/controls/input.tsx"],"names":["input","tv","wrapper","trigger","content","value","icon","caption","action","slotText","InputRoot","className","state","customMask","variant","mask","props","jsx","FieldContext","InputContent","useFieldContext","InputLabel","FloatingLabel","InputTrigger","filterTrigger","mergedClassName","twMerge","InputMask","placeholder","InputMaskComponent","inputMask","InputText","InputNumber","locales","groupDisplay","InputNumberFormat","InputIcon","name","Icon","InputSlot","InputCaption","InputAction","InputNumericStepper","handleIncrement","handleDecrement","jsxs","Divider"],"mappings":"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","file":"chunk-TQWBQ452.js","sourcesContent":["import { tv, twMerge } from '@xjur-ui/util'\nimport type { ComponentProps } from 'react'\nimport { InputMask as InputMaskComponent } from '@react-input/mask'\nimport {\n InputNumberFormat,\n type InputNumberFormatProps\n} from '@react-input/number-format'\nimport { Icon, type IconType } from '../icon'\nimport { inputMask } from '../../resources/input-mask'\nimport { Divider } from '../divider'\nimport {\n type FieldContextValue,\n FieldContext,\n useFieldContext\n} from './context/field.context'\nimport { FloatingLabel } from './floating-label'\n\nexport const input = tv({\n slots: {\n wrapper: 'group flex flex-col gap-small-2x',\n trigger: [\n 'h-large-4x relative',\n 'inline-flex w-auto items-center gap-small rounded-small-1x',\n 'py-small_1x-alt px-small',\n 'bg-layer-2-hover border border-transparent',\n 'group-has-[div[data-slot=input-action-slot]]:rounded-r-none',\n 'transition-all duration-200'\n ],\n content: 'flex w-full',\n value:\n 'text-size-body-md font-normal placeholder:text-neutral-placeholder flex-1 outline-none',\n icon: 'size-large text-icon-neutral-3 flex items-center justify-center',\n slotText:\n 'size-large flex items-center justify-center !text-size-label-md text-neutral-placeholder',\n caption: '!text-size-body-sm font-normal',\n action: 'h-large-4x overflow-hidden'\n },\n variants: {\n state: {\n normal: {\n trigger:\n 'hover:border-border-layer-1 focus-within:border-primary-idle focus-within:hover:border-primary-idle'\n },\n error: {\n trigger:\n 'border-danger-idle hover:border-danger-idle focus-within:border-danger-idle focus-within:hover:border-danger-idle',\n caption: 'text-danger-label-idle'\n },\n disabled: {\n trigger: 'pointer-events-none border-transparent bg-layer-2-idle'\n }\n }\n }\n})\n\nconst { wrapper, trigger, content, value, icon, caption, action, slotText } =\n input()\n\nexport function InputRoot({\n className,\n state = 'normal',\n customMask,\n variant = 'normal',\n mask,\n ...props\n}: ComponentProps<'div'> & FieldContextValue) {\n return (\n <FieldContext.Provider value={{ state, customMask, mask, variant }}>\n <div className={wrapper({ className, state })} {...props} />\n </FieldContext.Provider>\n )\n}\n\nexport function InputContent({ className, ...props }: ComponentProps<'div'>) {\n const { state } = useFieldContext()\n return <div className={content({ className, state })} {...props} />\n}\n\nexport function InputLabel(props: ComponentProps<typeof FloatingLabel>) {\n return <FloatingLabel {...props} />\n}\n\nexport function InputTrigger({ className, ...props }: ComponentProps<'div'>) {\n const { state, variant } = useFieldContext()\n\n const filterTrigger = tv({\n base: ['group bg-layer-2-idle relative'],\n variants: {\n state: {\n normal: [\n 'border-border-layer-2 hover:border-border-layer-3 has-[input:not(:placeholder-shown)]:border-primary-idle'\n ],\n error: ['border-danger-idle hover:border-danger-idle'],\n disabled: ['border border-border-layer-2 opacity-60']\n }\n }\n })\n\n const mergedClassName = twMerge(\n trigger({ state, className }),\n variant === 'filter' && filterTrigger({ state, className })\n )\n\n return (\n <div\n aria-disabled={state === 'disabled'}\n className={mergedClassName}\n {...props}\n />\n )\n}\n\nexport function InputMask({\n className,\n placeholder,\n ...props\n}: ComponentProps<'input'>) {\n const { customMask, state, mask, variant } = useFieldContext()\n\n return (\n <InputMaskComponent\n {...props}\n {...(mask ? { ...inputMask(mask) } : customMask && { ...customMask })}\n className={value({ className, state })}\n disabled={state === 'disabled'}\n placeholder={variant === 'filter' ? ' ' : placeholder}\n readOnly={state === 'disabled'}\n />\n )\n}\n\nexport function InputText({\n className,\n placeholder,\n ...props\n}: ComponentProps<'input'>) {\n const { state, variant } = useFieldContext()\n\n return (\n <input\n {...props}\n className={value({ className, state })}\n disabled={state === 'disabled'}\n placeholder={variant === 'filter' ? ' ' : placeholder}\n readOnly={state === 'disabled'}\n />\n )\n}\n\nexport function InputNumber({\n className,\n locales = 'pt-BR',\n placeholder,\n groupDisplay = false,\n ...props\n}: InputNumberFormatProps) {\n const { state, variant } = useFieldContext()\n\n return (\n <InputNumberFormat\n {...props}\n className={value({ className, state })}\n disabled={state === 'disabled'}\n groupDisplay={groupDisplay}\n locales={locales}\n placeholder={variant === 'filter' ? ' ' : placeholder}\n readOnly={state === 'disabled'}\n />\n )\n}\n\nexport function InputIcon({\n className,\n name,\n ...props\n}: ComponentProps<'div'> & {\n name: IconType\n}) {\n const { state } = useFieldContext()\n\n return (\n <div\n className={icon({ className, state })}\n data-slot=\"control-slot\"\n {...props}\n >\n <Icon name={name} />\n </div>\n )\n}\n\nexport function InputSlot({ className, ...props }: ComponentProps<'span'>) {\n const { state } = useFieldContext()\n return <span className={slotText({ className, state })} {...props} />\n}\n\nexport function InputCaption({ className, ...props }: ComponentProps<'p'>) {\n const { state } = useFieldContext()\n return <p className={caption({ className, state })} {...props} />\n}\n\nexport function InputAction({ className, ...props }: ComponentProps<'div'>) {\n const { state } = useFieldContext()\n return (\n <div\n className={action({ className, state })}\n data-slot=\"input-action-slot\"\n {...props}\n />\n )\n}\n\nexport function InputNumericStepper({\n handleIncrement,\n handleDecrement\n}: {\n handleIncrement: () => void\n handleDecrement: () => void\n}) {\n return (\n <InputAction className=\"w-large-4x border-border-layer-2 rounded-r-small-1x bg-layer-2-hover flex flex-col items-center justify-center border\">\n <button\n className=\"flex h-1/2 items-center justify-center\"\n type=\"button\"\n onClick={handleIncrement}\n >\n <Icon className=\"text-icon-neutral-3\" name=\"keyboard_arrow_up\" />\n </button>\n\n <Divider />\n\n <button\n className=\"flex h-1/2 items-center justify-center\"\n type=\"button\"\n onClick={handleDecrement}\n >\n <Icon className=\"text-icon-neutral-3\" name=\"keyboard_arrow_down\" />\n </button>\n </InputAction>\n )\n}\n"]}
|