@xjur-ui/react 2.2.1 → 2.2.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/CHANGELOG.md +16 -0
- package/dist/chunk-DTNZXDCY.js +2 -0
- package/dist/chunk-DTNZXDCY.js.map +1 -0
- package/dist/{chunk-G6NSC3FL.js → chunk-MTIWFWRN.js} +2 -2
- package/dist/{chunk-G6NSC3FL.js.map → chunk-MTIWFWRN.js.map} +1 -1
- package/dist/{chunk-3H75F4Y2.js → chunk-TQWBQ452.js} +2 -2
- package/dist/chunk-TQWBQ452.js.map +1 -0
- package/dist/components/controls/date-picker.d.ts +1 -1
- package/dist/components/controls/date-picker.js +1 -1
- package/dist/components/controls/date-picker.js.map +1 -1
- package/dist/components/controls/input.js +1 -1
- package/dist/components/controls/select.d.ts +1 -3
- package/dist/components/controls/select.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/horizontal-scroll.js +1 -1
- package/dist/components/horizontal-scroll.js.map +1 -1
- package/dist/components/upload.js +1 -1
- package/dist/components/upload.js.map +1 -1
- package/dist/index.css +1 -1
- package/dist/index.css.map +1 -1
- package/package.json +14 -14
- package/dist/chunk-2JU3PFV2.js +0 -2
- package/dist/chunk-2JU3PFV2.js.map +0 -1
- package/dist/chunk-3H75F4Y2.js.map +0 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,21 @@
|
|
|
1
1
|
# @xjur-ui/react
|
|
2
2
|
|
|
3
|
+
## 2.2.3
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- c3896d1: fix package json exports
|
|
8
|
+
|
|
9
|
+
## 2.2.2
|
|
10
|
+
|
|
11
|
+
### Patch Changes
|
|
12
|
+
|
|
13
|
+
- 92538cf: fix: improve filter components layout and remove deprecated SelectLabel/InputLabel exports
|
|
14
|
+
- Updated filter variant components (Input, Select, DatePicker) to use inline-flex with w-auto for better layout
|
|
15
|
+
- Removed SelectLabel and InputLabel exports as they're now integrated with floating labels
|
|
16
|
+
- Updated Storybook documentation to reflect component API changes
|
|
17
|
+
- Improved horizontal scroll component spacing for filter usage
|
|
18
|
+
|
|
3
19
|
## 2.2.1
|
|
4
20
|
|
|
5
21
|
### Patch Changes
|
|
@@ -0,0 +1,2 @@
|
|
|
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
|
|
@@ -0,0 +1 @@
|
|
|
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"]}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import {b}from'./chunk-SXGSWVMZ.js';import {b as b$1,c,
|
|
2
|
-
//# sourceMappingURL=chunk-
|
|
1
|
+
import {b}from'./chunk-SXGSWVMZ.js';import {b as b$1,c,e,d,g,j,k,l}from'./chunk-DTNZXDCY.js';import {useMemo}from'react';import {jsx,jsxs}from'react/jsx-runtime';var s=[{name:"M\xEAs",value:"month"},{name:"Semana",value:"week"},{name:"Dia",value:"day"}];function V(){let{calendarView:l$1,handleChangeView:S}=b(),v=useMemo(()=>s.find(e=>e.value===l$1)?.name,[l$1]);return jsx("div",{className:"w-[94px]",children:jsxs(b$1,{children:[jsxs(c,{children:[jsx(e,{displayValue:v,name:"calendar-toggle-view",value:l$1}),jsx(d,{className:"text-icon-neutral-3",name:"keyboard_arrow_down"})]}),jsx(g,{children:jsx(j,{children:s.map(e=>jsx(k,{isActive:l$1===e.value,value:e.value,onClick:()=>S(e.value),children:jsx(l,{children:e.name})},e.value))})})]})})}export{V as a};//# sourceMappingURL=chunk-MTIWFWRN.js.map
|
|
2
|
+
//# sourceMappingURL=chunk-MTIWFWRN.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/components/full-calendar/calendar-toggle-view.tsx"],"names":["views","CalendarToggleView","calendarView","handleChangeView","useFullCalendar","displayValue","useMemo","view","jsx","jsxs","SelectRoot","SelectTrigger","SelectValue","SelectIcon","SelectContent","SelectOptions","SelectOption","SelectOptionText"],"mappings":"kKAcA,IAAMA,CAAAA,CAAsD,CAC1D,CAAE,IAAA,CAAM,QAAA,CAAO,KAAA,CAAO,OAAQ,CAAA,CAC9B,CAAE,IAAA,CAAM,QAAA,CAAU,KAAA,CAAO,MAAO,CAAA,CAChC,CAAE,IAAA,CAAM,KAAA,CAAO,KAAA,CAAO,KAAM,CAC9B,CAAA,CAEO,SAASC,CAAAA,EAAqB,CACnC,GAAM,CAAE,YAAA,CAAAC,GAAAA,CAAc,gBAAA,CAAAC,CAAiB,CAAA,CAAIC,CAAAA,EAAgB,CAErDC,CAAAA,CAAeC,OAAAA,CACnB,IAAMN,EAAM,IAAA,CAAKO,CAAAA,EAAQA,CAAAA,CAAK,KAAA,GAAUL,GAAY,CAAA,EAAG,IAAA,CACvD,CAACA,GAAY,CACf,CAAA,CAEA,OACEM,GAAAA,CAAC,KAAA,CAAA,CAAI,SAAA,CAAU,UAAA,CACb,SAAAC,IAAAA,CAACC,GAAAA,CAAA,CACC,QAAA,CAAA,CAAAD,IAAAA,CAACE,CAAAA,CAAA,CACC,QAAA,CAAA,CAAAH,GAAAA,CAACI,CAAAA,CAAA,CACC,YAAA,CAAcP,CAAAA,CACd,IAAA,CAAK,sBAAA,CACL,KAAA,CAAOH,IACT,CAAA,CACAM,GAAAA,CAACK,CAAAA,CAAA,CACC,SAAA,CAAU,qBAAA,CACV,IAAA,CAAK,qBAAA,CACP,CAAA,CAAA,CACF,CAAA,CAEAL,GAAAA,CAACM,CAAAA,CAAA,CACC,QAAA,CAAAN,GAAAA,CAACO,CAAAA,CAAA,CACE,QAAA,CAAAf,CAAAA,CAAM,GAAA,CAAIO,CAAAA,EACTC,GAAAA,CAACQ,CAAAA,CAAA,CACC,QAAA,CAAUd,GAAAA,GAAiBK,CAAAA,CAAK,KAAA,CAEhC,KAAA,CAAOA,CAAAA,CAAK,KAAA,CACZ,OAAA,CAAS,IAAMJ,EAAiBI,CAAAA,CAAK,KAAK,CAAA,CAE1C,QAAA,CAAAC,GAAAA,CAACS,CAAAA,CAAA,CAAkB,QAAA,CAAAV,EAAK,IAAA,CAAK,CAAA,CAAA,CAJxBA,CAAAA,CAAK,KAKZ,CACD,CAAA,CACH,CAAA,CACF,CAAA,CAAA,CACF,EACF,CAEJ","file":"chunk-
|
|
1
|
+
{"version":3,"sources":["../src/components/full-calendar/calendar-toggle-view.tsx"],"names":["views","CalendarToggleView","calendarView","handleChangeView","useFullCalendar","displayValue","useMemo","view","jsx","jsxs","SelectRoot","SelectTrigger","SelectValue","SelectIcon","SelectContent","SelectOptions","SelectOption","SelectOptionText"],"mappings":"kKAcA,IAAMA,CAAAA,CAAsD,CAC1D,CAAE,IAAA,CAAM,QAAA,CAAO,KAAA,CAAO,OAAQ,CAAA,CAC9B,CAAE,IAAA,CAAM,QAAA,CAAU,KAAA,CAAO,MAAO,CAAA,CAChC,CAAE,IAAA,CAAM,KAAA,CAAO,KAAA,CAAO,KAAM,CAC9B,CAAA,CAEO,SAASC,CAAAA,EAAqB,CACnC,GAAM,CAAE,YAAA,CAAAC,GAAAA,CAAc,gBAAA,CAAAC,CAAiB,CAAA,CAAIC,CAAAA,EAAgB,CAErDC,CAAAA,CAAeC,OAAAA,CACnB,IAAMN,EAAM,IAAA,CAAKO,CAAAA,EAAQA,CAAAA,CAAK,KAAA,GAAUL,GAAY,CAAA,EAAG,IAAA,CACvD,CAACA,GAAY,CACf,CAAA,CAEA,OACEM,GAAAA,CAAC,KAAA,CAAA,CAAI,SAAA,CAAU,UAAA,CACb,SAAAC,IAAAA,CAACC,GAAAA,CAAA,CACC,QAAA,CAAA,CAAAD,IAAAA,CAACE,CAAAA,CAAA,CACC,QAAA,CAAA,CAAAH,GAAAA,CAACI,CAAAA,CAAA,CACC,YAAA,CAAcP,CAAAA,CACd,IAAA,CAAK,sBAAA,CACL,KAAA,CAAOH,IACT,CAAA,CACAM,GAAAA,CAACK,CAAAA,CAAA,CACC,SAAA,CAAU,qBAAA,CACV,IAAA,CAAK,qBAAA,CACP,CAAA,CAAA,CACF,CAAA,CAEAL,GAAAA,CAACM,CAAAA,CAAA,CACC,QAAA,CAAAN,GAAAA,CAACO,CAAAA,CAAA,CACE,QAAA,CAAAf,CAAAA,CAAM,GAAA,CAAIO,CAAAA,EACTC,GAAAA,CAACQ,CAAAA,CAAA,CACC,QAAA,CAAUd,GAAAA,GAAiBK,CAAAA,CAAK,KAAA,CAEhC,KAAA,CAAOA,CAAAA,CAAK,KAAA,CACZ,OAAA,CAAS,IAAMJ,EAAiBI,CAAAA,CAAK,KAAK,CAAA,CAE1C,QAAA,CAAAC,GAAAA,CAACS,CAAAA,CAAA,CAAkB,QAAA,CAAAV,EAAK,IAAA,CAAK,CAAA,CAAA,CAJxBA,CAAAA,CAAK,KAKZ,CACD,CAAA,CACH,CAAA,CACF,CAAA,CAAA,CACF,EACF,CAEJ","file":"chunk-MTIWFWRN.js","sourcesContent":["import { useMemo } from 'react'\nimport {\n SelectContent,\n SelectOption,\n SelectRoot,\n SelectTrigger,\n SelectValue,\n SelectOptions,\n SelectOptionText,\n SelectIcon\n} from '../controls/select'\nimport type { CalendarView } from './types/calendar-view'\nimport { useFullCalendar } from './calendar-root'\n\nconst views: Array<{ name: string; value: CalendarView }> = [\n { name: 'Mês', value: 'month' },\n { name: 'Semana', value: 'week' },\n { name: 'Dia', value: 'day' }\n]\n\nexport function CalendarToggleView() {\n const { calendarView, handleChangeView } = useFullCalendar()\n\n const displayValue = useMemo(\n () => views.find(view => view.value === calendarView)?.name,\n [calendarView]\n )\n\n return (\n <div className=\"w-[94px]\">\n <SelectRoot>\n <SelectTrigger>\n <SelectValue\n displayValue={displayValue}\n name=\"calendar-toggle-view\"\n value={calendarView}\n />\n <SelectIcon\n className=\"text-icon-neutral-3\"\n name=\"keyboard_arrow_down\"\n />\n </SelectTrigger>\n\n <SelectContent>\n <SelectOptions>\n {views.map(view => (\n <SelectOption\n isActive={calendarView === view.value}\n key={view.value}\n value={view.value}\n onClick={() => handleChangeView(view.value)}\n >\n <SelectOptionText>{view.name}</SelectOptionText>\n </SelectOption>\n ))}\n </SelectOptions>\n </SelectContent>\n </SelectRoot>\n </div>\n )\n}\n"]}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import {a as a$2}from'./chunk-PBR7SFWY.js';import {a as a$1}from'./chunk-JGPHBUVM.js';import {a,b}from'./chunk-2JQVYVAT.js';import {a as a$3}from'./chunk-CBFC4QME.js';import {b as b$1}from'./chunk-DVDHTP4C.js';import {tv,twMerge}from'@xjur-ui/util';import {InputMask}from'@react-input/mask';import {InputNumberFormat}from'@react-input/number-format';import {jsx,jsxs}from'react/jsx-runtime';var y=tv({slots:{wrapper:"group flex
|
|
2
|
-
//# sourceMappingURL=chunk-
|
|
1
|
+
import {a as a$2}from'./chunk-PBR7SFWY.js';import {a as a$1}from'./chunk-JGPHBUVM.js';import {a,b}from'./chunk-2JQVYVAT.js';import {a as a$3}from'./chunk-CBFC4QME.js';import {b as b$1}from'./chunk-DVDHTP4C.js';import {tv,twMerge}from'@xjur-ui/util';import {InputMask}from'@react-input/mask';import {InputNumberFormat}from'@react-input/number-format';import {jsx,jsxs}from'react/jsx-runtime';var y=tv({slots:{wrapper:"group flex flex-col gap-small-2x",trigger:["h-large-4x relative","inline-flex w-auto items-center gap-small rounded-small-1x","py-small_1x-alt px-small","bg-layer-2-hover border border-transparent","group-has-[div[data-slot=input-action-slot]]:rounded-r-none","transition-all duration-200"],content:"flex w-full",value:"text-size-body-md font-normal placeholder:text-neutral-placeholder flex-1 outline-none",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",action:"h-large-4x overflow-hidden"},variants:{state:{normal:{trigger:"hover:border-border-layer-1 focus-within:border-primary-idle focus-within:hover:border-primary-idle"},error:{trigger:"border-danger-idle hover:border-danger-idle focus-within:border-danger-idle focus-within:hover:border-danger-idle",caption:"text-danger-label-idle"},disabled:{trigger:"pointer-events-none border-transparent bg-layer-2-idle"}}}}),{wrapper:h,trigger:I,content:C,value:p,icon:N,caption:w,action:P,slotText:k}=y();function R({className:e,state:t="normal",customMask:r,variant:n="normal",mask:a$1,...l}){return jsx(a.Provider,{value:{state:t,customMask:r,mask:a$1,variant:n},children:jsx("div",{className:h({className:e,state:t}),...l})})}function S({className:e,...t}){let{state:r}=b();return jsx("div",{className:C({className:e,state:r}),...t})}function V(e){return jsx(a$1,{...e})}function B({className:e,...t}){let{state:r,variant:n}=b(),a=tv({base:["group bg-layer-2-idle relative"],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"]}}}),l=twMerge(I({state:r,className:e}),n==="filter"&&a({state:r,className:e}));return jsx("div",{"aria-disabled":r==="disabled",className:l,...t})}function q({className:e,placeholder:t,...r}){let{customMask:n,state:a,mask:l,variant:d}=b();return jsx(InputMask,{...r,...l?{...a$2(l)}:n&&{...n},className:p({className:e,state:a}),disabled:a==="disabled",placeholder:d==="filter"?" ":t,readOnly:a==="disabled"})}function E({className:e,placeholder:t,...r}){let{state:n,variant:a}=b();return jsx("input",{...r,className:p({className:e,state:n}),disabled:n==="disabled",placeholder:a==="filter"?" ":t,readOnly:n==="disabled"})}function G({className:e,locales:t="pt-BR",placeholder:r,groupDisplay:n=false,...a}){let{state:l,variant:d}=b();return jsx(InputNumberFormat,{...a,className:p({className:e,state:l}),disabled:l==="disabled",groupDisplay:n,locales:t,placeholder:d==="filter"?" ":r,readOnly:l==="disabled"})}function H({className:e,name:t,...r}){let{state:n}=b();return jsx("div",{className:N({className:e,state:n}),"data-slot":"control-slot",...r,children:jsx(b$1,{name:t})})}function J({className:e,...t}){let{state:r}=b();return jsx("span",{className:k({className:e,state:r}),...t})}function K({className:e,...t}){let{state:r}=b();return jsx("p",{className:w({className:e,state:r}),...t})}function F({className:e,...t}){let{state:r}=b();return jsx("div",{className:P({className:e,state:r}),"data-slot":"input-action-slot",...t})}function Q({handleIncrement:e,handleDecrement:t}){return jsxs(F,{className:"w-large-4x border-border-layer-2 rounded-r-small-1x bg-layer-2-hover flex flex-col items-center justify-center border",children:[jsx("button",{className:"flex h-1/2 items-center justify-center",type:"button",onClick:e,children:jsx(b$1,{className:"text-icon-neutral-3",name:"keyboard_arrow_up"})}),jsx(a$3,{}),jsx("button",{className:"flex h-1/2 items-center justify-center",type:"button",onClick:t,children:jsx(b$1,{className:"text-icon-neutral-3",name:"keyboard_arrow_down"})})]})}export{y as a,R as b,S as c,V as d,B as e,q as f,E as g,G as h,H as i,J as j,K as k,F as l,Q as m};//# sourceMappingURL=chunk-TQWBQ452.js.map
|
|
2
|
+
//# sourceMappingURL=chunk-TQWBQ452.js.map
|
|
@@ -0,0 +1 @@
|
|
|
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"]}
|
|
@@ -76,7 +76,7 @@ declare function DatePickerIcon({ className, name, ...props }: ComponentProps<'d
|
|
|
76
76
|
name: IconType;
|
|
77
77
|
}): react_jsx_runtime.JSX.Element;
|
|
78
78
|
declare function DatePickerSlot({ className, ...props }: ComponentProps<'span'>): react_jsx_runtime.JSX.Element;
|
|
79
|
-
declare function DatePickerValue({ className, displayValue, value, ...props }: ComponentProps<'input'> & {
|
|
79
|
+
declare function DatePickerValue({ className, displayValue, placeholder, value, ...props }: ComponentProps<'input'> & {
|
|
80
80
|
displayValue?: string;
|
|
81
81
|
}): react_jsx_runtime.JSX.Element;
|
|
82
82
|
declare function DatePickerContent({ className, sideOffset, side, align, ...props }: ComponentProps<typeof RadixPopover.Content>): react_jsx_runtime.JSX.Element;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import {a as a$1}from'../../chunk-JGPHBUVM.js';import {a,b}from'../../chunk-2JQVYVAT.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 i from'@radix-ui/react-popover';import {jsx,jsxs
|
|
1
|
+
import {a as a$1}from'../../chunk-JGPHBUVM.js';import {a,b}from'../../chunk-2JQVYVAT.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 i from'@radix-ui/react-popover';import {jsx,jsxs}from'react/jsx-runtime';var P=tv({slots:{wrapper:"group flex flex-col gap-small-2x",trigger:["h-large-4x cursor-pointer relative","inline-flex w-auto items-center gap-small rounded-small-1x","py-small_1x-alt px-small","bg-layer-2-hover border border-transparent","group-has-[div[data-slot=input-action-slot]]:rounded-r-none","transition-all duration-200"],content:["group z-10 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-1 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:y,trigger:h,icon:C,caption:R,slotText:w,content:k}=P();function L({className:r,state:t="normal",defaultOpen:e,variant:n="normal",modal:l,open:a$1,onOpenChange:p,...u}){return jsx(i.Root,{defaultOpen:e,modal:l,open:a$1,onOpenChange:p,children:jsx(a.Provider,{value:{state:t,variant:n},children:jsx("div",{className:y({className:r,state:t}),...u})})})}function M({className:r,...t}){let{state:e,variant:n}=b(),l=tv({base:["group bg-layer-2-idle relative"],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(h({state:e,className:r}),n==="filter"&&l({state:e,className:r}));return jsx(i.Trigger,{className:a,disabled:e==="disabled",...t})}function V(r){return jsx(a$1,{...r})}function j({className:r,name:t,...e}){let{state:n}=b();return jsx("div",{className:C({className:r,state:n}),"data-slot":"control-slot",...e,children:jsx(b$1,{name:t})})}function J({className:r,...t}){let{state:e}=b();return jsx("span",{className:w({className:r,state:e}),...t})}function S({className:r,displayValue:t="",placeholder:e,value:n,...l}){let{variant:a}=b(),p=useMemo(()=>a==="filter"?t:t||e,[t,e,a]);return jsxs("div",{className:"grid w-full items-center",children:[e&&a==="filter"&&jsx(a$1,{children:e}),e&&a==="filter"&&jsx(a$2,{className:"invisible col-start-1 row-start-1 self-center",children:e}),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",{...l,"aria-readonly":true,className:twJoin("pointer-events-none",r),hidden:true,placeholder:" ",readOnly:true,value:n??""})]})}function _({className:r,sideOffset:t=5,side:e="bottom",align:n="start",...l}){let{state:a}=b();return jsx(i.Portal,{children:jsx(i.Content,{align:n,className:k({className:r,state:a}),side:e,sideOffset:t,...l})})}function q({className:r,...t}){let{state:e}=b();return jsx("p",{className:R({className:r,state:e}),...t})}export{q as DatePickerCaption,_ as DatePickerContent,j as DatePickerIcon,V as DatePickerLabel,L as DatePickerRoot,J as DatePickerSlot,M as DatePickerTrigger,S as DatePickerValue,P as datePicker};//# sourceMappingURL=date-picker.js.map
|
|
2
2
|
//# sourceMappingURL=date-picker.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/components/controls/date-picker.tsx"],"names":["datePicker","tv","wrapper","trigger","icon","caption","slotText","content","DatePickerRoot","className","state","defaultOpen","variant","modal","open","handleOpenChange","props","jsx","FieldContext","DatePickerTrigger","useFieldContext","filterTrigger","mergedClassName","twMerge","DatePickerLabel","FloatingLabel","DatePickerIcon","name","Icon","DatePickerSlot","DatePickerValue","displayValue","value","valueOrPlaceholder","useMemo","jsxs","Fragment","Typography","twJoin","DatePickerContent","sideOffset","side","align","DatePickerCaption"],"mappings":"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","file":"date-picker.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 FieldContext,\n useFieldContext,\n type FieldContextValue\n} from './context/field.context'\nimport { FloatingLabel } from './floating-label'\n\nexport const datePicker = tv({\n slots: {\n wrapper: 'group flex w-full flex-col gap-small-2x',\n trigger: [\n 'h-large-4x w-full cursor-pointer relative',\n 'flex 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: [\n 'group z-10 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-1 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 } = datePicker()\n\nexport function DatePickerRoot({\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 DatePickerTrigger({\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 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 <RadixPopover.Trigger\n className={mergedClassName}\n disabled={state === 'disabled'}\n {...props}\n />\n )\n}\n\nexport function DatePickerLabel(props: ComponentProps<typeof FloatingLabel>) {\n return <FloatingLabel {...props} />\n}\n\nexport function DatePickerIcon({\n className,\n name,\n ...props\n}: ComponentProps<'div'> & {\n name: IconType\n}) {\n const { state } = useFieldContext()\n\n return (\n <div className={icon({ className, state })} {...props}>\n <Icon name={name} />\n </div>\n )\n}\n\nexport function DatePickerSlot({\n className,\n ...props\n}: ComponentProps<'span'>) {\n const { state } = useFieldContext()\n return <span className={slotText({ className, state })} {...props} />\n}\n\nexport function DatePickerValue({\n className,\n displayValue = '',\n value,\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 || props.placeholder\n }, [displayValue, props.placeholder, variant])\n\n return (\n <>\n <Typography className=\"text-neutral-dark group-has-[div[data-slot=date-picker-left-slot]]:pl-large-1x\">\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 </>\n )\n}\n\nexport function DatePickerContent({\n className,\n sideOffset = 5,\n side = 'bottom',\n align = 'start',\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 </RadixPopover.Portal>\n )\n}\n\nexport function DatePickerCaption({\n className,\n ...props\n}: ComponentProps<'p'>) {\n const { state } = useFieldContext()\n return <p className={caption({ className, state })} {...props} />\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["../../../src/components/controls/date-picker.tsx"],"names":["datePicker","tv","wrapper","trigger","icon","caption","slotText","content","DatePickerRoot","className","state","defaultOpen","variant","modal","open","handleOpenChange","props","jsx","FieldContext","DatePickerTrigger","useFieldContext","filterTrigger","mergedClassName","twMerge","DatePickerLabel","FloatingLabel","DatePickerIcon","name","Icon","DatePickerSlot","DatePickerValue","displayValue","placeholder","value","valueOrPlaceholder","useMemo","jsxs","Typography","twJoin","DatePickerContent","sideOffset","side","align","DatePickerCaption"],"mappings":"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","file":"date-picker.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 FieldContext,\n useFieldContext,\n type FieldContextValue\n} from './context/field.context'\nimport { FloatingLabel } from './floating-label'\n\nexport const datePicker = tv({\n slots: {\n wrapper: 'group flex flex-col gap-small-2x',\n trigger: [\n 'h-large-4x cursor-pointer 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: [\n 'group z-10 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-1 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 } = datePicker()\n\nexport function DatePickerRoot({\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 DatePickerTrigger({\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 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 <RadixPopover.Trigger\n className={mergedClassName}\n disabled={state === 'disabled'}\n {...props}\n />\n )\n}\n\nexport function DatePickerLabel(props: ComponentProps<typeof FloatingLabel>) {\n return <FloatingLabel {...props} />\n}\n\nexport function DatePickerIcon({\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 DatePickerSlot({\n className,\n ...props\n}: ComponentProps<'span'>) {\n const { state } = useFieldContext()\n return <span className={slotText({ className, state })} {...props} />\n}\n\nexport function DatePickerValue({\n className,\n displayValue = '',\n placeholder,\n value,\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 DatePickerContent({\n className,\n sideOffset = 5,\n side = 'bottom',\n align = 'start',\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 </RadixPopover.Portal>\n )\n}\n\nexport function DatePickerCaption({\n className,\n ...props\n}: ComponentProps<'p'>) {\n const { state } = useFieldContext()\n return <p className={caption({ className, state })} {...props} />\n}\n"]}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export{l as InputAction,k as InputCaption,c as InputContent,i as InputIcon,d as InputLabel,f as InputMask,h as InputNumber,m as InputNumericStepper,b as InputRoot,j as InputSlot,g as InputText,e as InputTrigger,a as input}from'../../chunk-
|
|
1
|
+
export{l as InputAction,k as InputCaption,c as InputContent,i as InputIcon,d as InputLabel,f as InputMask,h as InputNumber,m as InputNumericStepper,b as InputRoot,j as InputSlot,g as InputText,e as InputTrigger,a as input}from'../../chunk-TQWBQ452.js';import'../../chunk-PBR7SFWY.js';import'../../chunk-JGPHBUVM.js';import'../../chunk-2JQVYVAT.js';import'../../chunk-CBFC4QME.js';import'../../chunk-DVDHTP4C.js';//# sourceMappingURL=input.js.map
|
|
2
2
|
//# sourceMappingURL=input.js.map
|
|
@@ -6,7 +6,6 @@ import { I as IconType } from '../../icons-C-hGI45d.js';
|
|
|
6
6
|
import { Typography } from '../typography.js';
|
|
7
7
|
import { ListContent, ListItem, ListHeader, ListHeaderTitle } from '../list.js';
|
|
8
8
|
import { FieldContextValue } from './context/field.context.js';
|
|
9
|
-
import { FloatingLabel } from './floating-label.js';
|
|
10
9
|
import 'class-variance-authority/types';
|
|
11
10
|
import '@xjur-ui/util';
|
|
12
11
|
import '@react-input/mask';
|
|
@@ -78,7 +77,6 @@ declare function SelectTrigger({ className, ...props }: ComponentProps<typeof Ra
|
|
|
78
77
|
declare function SelectIcon({ className, name, ...props }: ComponentProps<'div'> & {
|
|
79
78
|
name: IconType;
|
|
80
79
|
}): react_jsx_runtime.JSX.Element;
|
|
81
|
-
declare function SelectLabel(props: ComponentProps<typeof FloatingLabel>): react_jsx_runtime.JSX.Element;
|
|
82
80
|
declare function SelectValue({ className, displayValue, value, placeholder, ...props }: ComponentProps<'input'> & {
|
|
83
81
|
displayValue?: string;
|
|
84
82
|
}): react_jsx_runtime.JSX.Element;
|
|
@@ -92,4 +90,4 @@ declare function SelectOptionText(props: ComponentProps<typeof Typography>): rea
|
|
|
92
90
|
declare function SelectHeader(props: ComponentProps<typeof ListHeader>): react_jsx_runtime.JSX.Element;
|
|
93
91
|
declare function SelectHeaderTitle(props: ComponentProps<typeof ListHeaderTitle>): react_jsx_runtime.JSX.Element;
|
|
94
92
|
|
|
95
|
-
export { SelectCaption, SelectContent, SelectHeader, SelectHeaderTitle, SelectIcon,
|
|
93
|
+
export { SelectCaption, SelectContent, SelectHeader, SelectHeaderTitle, SelectIcon, SelectMultiValue, SelectOption, SelectOptionText, SelectOptions, SelectRoot, SelectSlot, SelectTrigger, SelectValue, select };
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export{
|
|
1
|
+
export{h as SelectCaption,g as SelectContent,m as SelectHeader,n as SelectHeaderTitle,d as SelectIcon,f as SelectMultiValue,k as SelectOption,l as SelectOptionText,j as SelectOptions,b as SelectRoot,i as SelectSlot,c as SelectTrigger,e as SelectValue,a as select}from'../../chunk-DTNZXDCY.js';import'../../chunk-JGPHBUVM.js';import'../../chunk-2JQVYVAT.js';import'../../chunk-YOLTIAFT.js';import'../../chunk-DVDHTP4C.js';import'../../chunk-EIG6CBTQ.js';//# sourceMappingURL=select.js.map
|
|
2
2
|
//# sourceMappingURL=select.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export{a as CalendarToggleView}from'../../chunk-
|
|
1
|
+
export{a as CalendarToggleView}from'../../chunk-MTIWFWRN.js';import'../../chunk-SXGSWVMZ.js';import'../../chunk-DTNZXDCY.js';import'../../chunk-JGPHBUVM.js';import'../../chunk-2JQVYVAT.js';import'../../chunk-YOLTIAFT.js';import'../../chunk-DVDHTP4C.js';import'../../chunk-EIG6CBTQ.js';//# sourceMappingURL=calendar-toggle-view.js.map
|
|
2
2
|
//# sourceMappingURL=calendar-toggle-view.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export{a as CalendarTodayButton}from'../../chunk-GKILN5HI.js';export{a as CalendarToggleView}from'../../chunk-
|
|
1
|
+
export{a as CalendarTodayButton}from'../../chunk-GKILN5HI.js';export{a as CalendarToggleView}from'../../chunk-MTIWFWRN.js';export{a as CalendarViewRenderer}from'../../chunk-HLWHETF5.js';export{a as CalendarWeekView}from'../../chunk-4M3WR2KJ.js';import'../../chunk-SLMHDBWO.js';import'../../chunk-ZVVPUP7V.js';import'../../chunk-MZSV4LNY.js';export{a as CalendarEvent,c as CalendarEventDescription,d as CalendarEventStatus,b as CalendarEventTitle}from'../../chunk-F4DYKYWJ.js';export{a as CalendarHeader}from'../../chunk-4BGTC333.js';export{a as CalendarMonthView}from'../../chunk-BYXTOSM6.js';import'../../chunk-TTKENFBF.js';import'../../chunk-OKSGVAQQ.js';export{a as CalendarNavigator}from'../../chunk-RGKXZJJS.js';import'../../chunk-EXC2XOL6.js';export{a as CalendarRoot,b as useFullCalendar}from'../../chunk-SXGSWVMZ.js';export{a as CalendarBody}from'../../chunk-J4X5RQTR.js';import'../../chunk-DTNZXDCY.js';import'../../chunk-SLAAEXWI.js';import'../../chunk-JGPHBUVM.js';import'../../chunk-2JQVYVAT.js';import'../../chunk-NELCN6E2.js';import'../../chunk-6PHXO2YA.js';import'../../chunk-CBFC4QME.js';import'../../chunk-YOLTIAFT.js';import'../../chunk-M6ZI7M3R.js';import'../../chunk-DVDHTP4C.js';import'../../chunk-EIG6CBTQ.js';//# sourceMappingURL=index.js.map
|
|
2
2
|
//# sourceMappingURL=index.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import {b}from'../chunk-M6ZI7M3R.js';import {b as b$1}from'../chunk-DVDHTP4C.js';import {useRef,useState,useCallback,useEffect}from'react';import {cx}from'@xjur-ui/util';import {jsxs,jsx}from'react/jsx-runtime';function P({children:h,className:u,gap:g="small",scrollAmount:s=200,...b$2}){let l=useRef(null),[S,z]=useState(false),[w,
|
|
1
|
+
import {b}from'../chunk-M6ZI7M3R.js';import {b as b$1}from'../chunk-DVDHTP4C.js';import {useRef,useState,useCallback,useEffect}from'react';import {cx}from'@xjur-ui/util';import {jsxs,jsx}from'react/jsx-runtime';function P({children:h,className:u,gap:g="small",scrollAmount:s=200,...b$2}){let l=useRef(null),[S,z]=useState(false),[w,y]=useState(false),[p,a]=useState(false),o=useCallback(()=>{let e=l.current;if(!e)return;let{scrollLeft:n,scrollWidth:i,clientWidth:r}=e;z(n>0),y(n<i-r-1);},[]),L=useCallback(()=>{let e=l.current;e&&(a(true),e.scrollTo({left:e.scrollLeft-s,behavior:"smooth"}),setTimeout(()=>a(false),300));},[s]),R=useCallback(()=>{let e=l.current;e&&(a(true),e.scrollTo({left:e.scrollLeft+s,behavior:"smooth"}),setTimeout(()=>a(false),300));},[s]);useEffect(()=>{let e=l.current;if(!e)return;let n=()=>{o();},i=()=>{o();};o(),e.addEventListener("scroll",n,{passive:true}),window.addEventListener("resize",i);let r=null;return typeof ResizeObserver<"u"&&(r=new ResizeObserver(()=>{o();}),r.observe(e)),()=>{e.removeEventListener("scroll",n),window.removeEventListener("resize",i),r&&r.disconnect();}},[o]);let x={small:"gap-small",medium:"gap-medium",large:"gap-large"}[g];return jsxs("div",{className:cx("relative isolate",u),...b$2,children:[S&&jsx("div",{className:"absolute top-1/2 left-0 z-[3] flex h-full w-[80px] -translate-y-1/2 items-center",style:{background:"linear-gradient(to right, white 40%, transparent)"},children:jsx(b,{appearance:"ghost","aria-label":"Scroll left",className:"ml-0",disabled:p,size:"icon_md",variant:"secondary",onClick:L,children:jsx(b$1,{name:"chevron_left"})})}),w&&jsx("div",{className:"absolute top-1/2 right-0 z-[2] flex h-full w-[80px] -translate-y-1/2 items-center justify-end",style:{background:"linear-gradient(to left, white 40%, transparent)"},children:jsx(b,{appearance:"ghost","aria-label":"Scroll right",className:"mr-0",disabled:p,size:"icon_md",variant:"secondary",onClick:R,children:jsx(b$1,{name:"chevron_right"})})}),jsx("div",{className:cx("scrollbar-hide py-small relative z-1 flex overflow-x-auto overflow-y-visible","min-w-0 [&>*]:flex-none [&>*]:whitespace-nowrap",x,u),ref:l,children:h})]})}export{P as HorizontalScroll};//# sourceMappingURL=horizontal-scroll.js.map
|
|
2
2
|
//# sourceMappingURL=horizontal-scroll.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/components/horizontal-scroll.tsx"],"names":["HorizontalScroll","children","className","gap","scrollAmount","props","scrollContainerRef","useRef","canScrollLeft","setCanScrollLeft","useState","canScrollRight","setCanScrollRight","isScrolling","setIsScrolling","checkScrollable","useCallback","container","scrollLeft","scrollWidth","clientWidth","handleScrollLeft","handleScrollRight","useEffect","handleScroll","handleResize","resizeObserver","gapClass","jsxs","cx","jsx","Button","Icon"],"mappings":"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
|
|
1
|
+
{"version":3,"sources":["../../src/components/horizontal-scroll.tsx"],"names":["HorizontalScroll","children","className","gap","scrollAmount","props","scrollContainerRef","useRef","canScrollLeft","setCanScrollLeft","useState","canScrollRight","setCanScrollRight","isScrolling","setIsScrolling","checkScrollable","useCallback","container","scrollLeft","scrollWidth","clientWidth","handleScrollLeft","handleScrollRight","useEffect","handleScroll","handleResize","resizeObserver","gapClass","jsxs","cx","jsx","Button","Icon"],"mappings":"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","file":"horizontal-scroll.js","sourcesContent":["import type { ComponentProps, ReactNode } from 'react'\nimport { useCallback, useEffect, useRef, useState } from 'react'\nimport { cx } from '@xjur-ui/util'\nimport { Button } from './controls/button'\nimport { Icon } from './icon'\n\nexport interface HorizontalScrollProps extends ComponentProps<'div'> {\n children: ReactNode\n gap?: 'small' | 'medium' | 'large'\n scrollAmount?: number\n}\n\nexport function HorizontalScroll({\n children,\n className,\n gap = 'small',\n scrollAmount = 200,\n ...props\n}: HorizontalScrollProps) {\n const scrollContainerRef = useRef<HTMLDivElement>(null)\n const [canScrollLeft, setCanScrollLeft] = useState(false)\n const [canScrollRight, setCanScrollRight] = useState(false)\n const [isScrolling, setIsScrolling] = useState(false)\n\n const checkScrollable = useCallback(() => {\n const container = scrollContainerRef.current\n if (!container) return\n\n const { scrollLeft, scrollWidth, clientWidth } = container\n setCanScrollLeft(scrollLeft > 0)\n setCanScrollRight(scrollLeft < scrollWidth - clientWidth - 1)\n }, [])\n\n const handleScrollLeft = useCallback(() => {\n const container = scrollContainerRef.current\n if (!container) return\n\n setIsScrolling(true)\n container.scrollTo({\n left: container.scrollLeft - scrollAmount,\n behavior: 'smooth'\n })\n\n setTimeout(() => setIsScrolling(false), 300)\n }, [scrollAmount])\n\n const handleScrollRight = useCallback(() => {\n const container = scrollContainerRef.current\n if (!container) return\n\n setIsScrolling(true)\n container.scrollTo({\n left: container.scrollLeft + scrollAmount,\n behavior: 'smooth'\n })\n\n setTimeout(() => setIsScrolling(false), 300)\n }, [scrollAmount])\n\n useEffect(() => {\n const container = scrollContainerRef.current\n if (!container) return\n\n const handleScroll = () => {\n checkScrollable()\n }\n\n const handleResize = () => {\n checkScrollable()\n }\n\n checkScrollable()\n container.addEventListener('scroll', handleScroll, { passive: true })\n window.addEventListener('resize', handleResize)\n\n let resizeObserver: ResizeObserver | null = null\n if (typeof ResizeObserver !== 'undefined') {\n resizeObserver = new ResizeObserver(() => {\n checkScrollable()\n })\n resizeObserver.observe(container)\n }\n\n return () => {\n container.removeEventListener('scroll', handleScroll)\n window.removeEventListener('resize', handleResize)\n if (resizeObserver) {\n resizeObserver.disconnect()\n }\n }\n }, [checkScrollable])\n\n const gapClass = {\n small: 'gap-small',\n medium: 'gap-medium',\n large: 'gap-large'\n }[gap]\n\n return (\n <div className={cx('relative isolate', className)} {...props}>\n {/* Left Arrow */}\n {canScrollLeft && (\n <div\n className=\"absolute top-1/2 left-0 z-[3] flex h-full w-[80px] -translate-y-1/2 items-center\"\n style={{\n background: `linear-gradient(to right, white 40%, transparent)`\n }}\n >\n <Button\n appearance=\"ghost\"\n aria-label=\"Scroll left\"\n className=\"ml-0\"\n disabled={isScrolling}\n size=\"icon_md\"\n variant=\"secondary\"\n onClick={handleScrollLeft}\n >\n <Icon name=\"chevron_left\" />\n </Button>\n </div>\n )}\n\n {/* Right Arrow */}\n {canScrollRight && (\n <div\n className=\"absolute top-1/2 right-0 z-[2] flex h-full w-[80px] -translate-y-1/2 items-center justify-end\"\n style={{\n background: `linear-gradient(to left, white 40%, transparent)`\n }}\n >\n <Button\n appearance=\"ghost\"\n aria-label=\"Scroll right\"\n className=\"mr-0\"\n disabled={isScrolling}\n size=\"icon_md\"\n variant=\"secondary\"\n onClick={handleScrollRight}\n >\n <Icon name=\"chevron_right\" />\n </Button>\n </div>\n )}\n\n {/* Scrollable Content */}\n <div\n className={cx(\n 'scrollbar-hide py-small relative z-1 flex overflow-x-auto overflow-y-visible',\n 'min-w-0 [&>*]:flex-none [&>*]:whitespace-nowrap',\n gapClass,\n className\n )}\n ref={scrollContainerRef}\n >\n {children}\n </div>\n </div>\n )\n}\n"]}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import {a}from'../chunk-3L772WC6.js';import {b as b$3,c as c$1,
|
|
1
|
+
import {a}from'../chunk-3L772WC6.js';import {b as b$3,c as c$1,g as g$1,k}from'../chunk-DTNZXDCY.js';import {b as b$2,c,g}from'../chunk-TQWBQ452.js';import'../chunk-PBR7SFWY.js';import'../chunk-JGPHBUVM.js';import'../chunk-2JQVYVAT.js';import'../chunk-CBFC4QME.js';import'../chunk-YOLTIAFT.js';import {b as b$1}from'../chunk-M6ZI7M3R.js';import {b}from'../chunk-DVDHTP4C.js';import'../chunk-EIG6CBTQ.js';import {createContext,useState,useRef,useCallback,useContext}from'react';import {cva,cx}from'@xjur-ui/util';import {jsx,jsxs}from'react/jsx-runtime';var q=createContext(null);function T(){let l=useContext(q);if(!l)throw new Error("Upload components must be used within UploadRoot");return l}function te({children:l,className:n,files:d,onFilesChange:c,accept:m,multiple:o=false,disabled:u=false,maxFiles:b=1,maxSize:x,acceptedFormats:f=[".jpeg",".png",".webp"],...v}){return jsx(q.Provider,{value:{files:d,onFilesChange:c,accept:m,multiple:o,disabled:u,maxFiles:b,maxSize:x,acceptedFormats:f},children:jsx("div",{className:cx("flex flex-col gap-4",n),...v,children:l})})}var ae=cva(["flex flex-col items-center justify-center","relative border-2 border-dashed border-border-layer-2 rounded-lg transition-all duration-200 ease-in-out cursor-pointer","hover:border-border-layer-2 hover:bg-transparent","focus-within:border-primary-idle focus-within:ring-2 focus-within:ring-primary-idle/20","data-[drag-over=true]:border-primary-idle data-[drag-over=true]:bg-primary-alt-idle/10"],{variants:{size:{large:"p-6 min-h-[200px] ",medium:"p-6 min-h-[160px]",small:"p-6 min-h-[130px]",oneLine:"p-4 min-h-[18px]"},showButton:{true:"",false:""},variant:{default:"bg-white",transparent:"bg-transparent",minimal:"bg-white",oneLineWhite:"bg-white",oneLineTransparent:"bg-transparent"}},compoundVariants:[{size:"large",showButton:true},{size:"medium",showButton:true},{size:"small",showButton:true},{variant:"oneLineWhite",showButton:false,className:"items-center flex flex-row justify-center"},{variant:"oneLineTransparent",showButton:false,className:"items-center flex flex-row justify-center"}],defaultVariants:{size:"large",variant:"default",showButton:true}});function re({className:l,size:n="large",showButton:d=true,variant:c="default",showAcceptedFormats:m=true,buttonText:o="Selecionar arquivo",description:u="Clique ou solte os arquivos para fazer o upload",icon:b="upload",...x}){let{onFilesChange:f,accept:v,multiple:r,disabled:a,maxFiles:t,maxSize:F,acceptedFormats:E}=T(),[W,P]=useState(false),w=useRef(null),[U,D]=useState(0),N=useCallback(i=>{let s=i;return t&&t>0&&(s=s.slice(0,t)),F&&(s=s.filter(p=>p.size<=F)),v&&(s=s.filter(p=>{let Q=`.${p.name.split(".").pop()?.toLowerCase()}`;return E?.some(L=>L.startsWith(".")?L===Q:p.type.includes(L))})),s.map(p=>({name:p.name,type:p.type,fileBinary:p,restrict:false}))},[t,F,v,E]),_=useCallback(i=>{i.preventDefault(),i.stopPropagation(),D(s=>s+1),P(true);},[]),K=useCallback(i=>{i.preventDefault(),i.stopPropagation(),D(s=>s-1),U<=1&&P(false);},[U]),$=useCallback(i=>{i.preventDefault(),i.stopPropagation();},[]),G=useCallback(i=>{if(i.preventDefault(),i.stopPropagation(),P(false),D(0),a)return;let s=Array.from(i.dataTransfer.files),p=N(s);p.length>0&&f?.(p);},[a,f,N]),J=useCallback(i=>{if(a)return;let s=Array.from(i.target.files||[]),p=N(s);p.length>0&&f?.(p);},[a,f,N]);return jsxs(M,{...x,"aria-disabled":a,"aria-label":u,className:cx(ae({size:n,showButton:d,variant:c}),l),"data-drag-over":W,fileInputRef:w,onDragEnter:_,onDragLeave:K,onDragOver:$,onDrop:G,children:[jsx("input",{accept:v,className:"hidden",disabled:a,multiple:r,ref:w,type:"file",onChange:J}),jsx(H,{buttonText:o,description:u,icon:b,showAcceptedFormats:m,showButton:d,variant:c||"default",onButtonClick:()=>{!a&&w.current&&w.current.click();}})]})}function ne({children:l,className:n,...d}){return jsx("h3",{className:cx("text-neutral-dark text-lg font-semibold",n),...d,children:l})}function H({description:l="Clique ou solte os arquivos para fazer o upload",icon:n="upload",showAcceptedFormats:d=true,buttonText:c="Selecionar arquivo",showButton:m=true,onButtonClick:o,variant:u="default",className:b$2,...x}){let{acceptedFormats:f}=T(),v=()=>d?jsxs("p",{className:"text-neutral-secondary mt-2 text-sm",children:["Formatos aceitos: ",f?.join(" ")]}):null;return u==="oneLineWhite"||u==="oneLineTransparent"?jsxs("div",{...x,className:cx("flex h-full items-center justify-center gap-4 text-center",b$2),children:[jsx(b,{className:"text-neutral-secondary text-4xl",name:n}),jsx("p",{className:"text-neutral-dark text-base font-medium",children:l}),v()]}):jsxs("div",{...x,className:cx("flex h-full w-full flex-col items-center gap-4 text-center",b$2),children:[jsxs("div",{className:"flex flex-col items-center",children:[jsx(b,{className:"text-neutral-secondary mb-3 text-4xl",name:n}),jsx("p",{className:"text-neutral-dark mb-2 text-base font-medium",children:l}),v()]}),m&&jsx("div",{children:jsx(b$1,{size:"md",variant:"primary",onClick:a=>{a.stopPropagation(),o?.();},children:c})})]})}function M({children:l,fileInputRef:n,...d}){let{disabled:c}=T(),m=useCallback(()=>{!c&&n?.current&&n.current.click();},[c,n]);return jsx("div",{role:"button",tabIndex:c?-1:0,onClick:m,onKeyDown:o=>{(o.key==="Enter"||o.key===" ")&&(o.preventDefault(),m());},...d,children:l})}function oe({fileTypeOptions:l=[{value:"document",label:"Documento"},{value:"image",label:"Imagem"},{value:"video",label:"V\xEDdeo"},{value:"audio",label:"\xC1udio"},{value:"other",label:"Outro"}],onUpdateFile:n,onDeleteFile:d,className:c$2,...m}){let{files:o,onFilesChange:u}=T();if(!o||o.length===0)return null;let b$4=(r,a)=>{if(n)n(r,{description:a});else {let t=[...o];t[r]={...t[r],description:a},u?.(t);}},x=(r,a)=>{if(n)n(r,{fileType:a});else {let t=[...o];t[r]={...t[r],fileType:a},u?.(t);}},f=(r,a)=>{if(n)n(r,{restrict:a});else {let t=[...o];t[r]={...t[r],restrict:a},u?.(t);}},v=r=>{if(d)d(r);else {let a=o.filter((t,F)=>F!==r);u?.(a);}};return jsx("div",{className:cx("space-y-2",c$2),...m,children:jsxs("div",{className:"border-border-layer-2 p-4",children:[jsxs("div",{className:"border-border-layer-2 mb-3 flex w-full flex-row items-center justify-between gap-4 border-b pb-2",children:[jsx("div",{className:"w-full",children:jsx("span",{className:"text-sm font-medium text-gray-300",children:"Descri\xE7\xE3o"})}),jsx("div",{className:"w-full",children:jsx("span",{className:"text-sm font-medium text-gray-300",children:"Tipo"})}),jsx("div",{className:"flex justify-end",children:jsx("span",{className:"text-sm font-medium text-gray-300",children:"Restrito"})})]}),jsx("div",{className:"space-y-3",children:o.map((r,a$1)=>jsxs("div",{className:"flex flex-row items-center gap-4 py-3",children:[jsx("div",{className:"flex justify-start",children:jsx(b,{className:"text-neutral-secondary hover:text-neutral-dark cursor-grab",name:"drag_indicator"})}),jsx("div",{className:"w-full",children:jsx(b$2,{children:jsx(c,{children:jsx(g,{placeholder:"Nome do arquivo",value:r.description||r.name,onChange:t=>b$4(a$1,t.target.value)})})})}),jsx("div",{className:"w-full",children:jsxs(b$3,{children:[jsxs(c$1,{className:"flex justify-between",children:[jsx("span",{className:"text-neutral-dark",children:l.find(t=>t.value===r.fileType)?.label||"Tipo"}),jsx(b,{className:"text-neutral-secondary",name:"keyboard_arrow_down"})]}),jsx(g$1,{children:l.map(t=>jsx(k,{value:t.value,onSelect:()=>x(a$1,t.value),children:t.label},t.value))})]})}),jsx("div",{className:"flex justify-end",children:jsx(a,{checked:r.restrict||false,onCheckedChange:t=>f(a$1,t)})}),jsx("div",{className:"flex justify-end",children:jsx(b$1,{appearance:"ghost",size:"sm",variant:"destructive",onClick:()=>v(a$1),children:jsx(b,{name:"delete"})})})]},a$1))})]})})}var me={Root:te,Area:re,Title:ne,AreaContent:H,AreaTrigger:M,EditableList:oe};export{oe as EditableFilesList,me as Upload,re as UploadArea,H as UploadAreaContent,M as UploadAreaTrigger,te as UploadRoot,ne as UploadTitle,ae as uploadAreaVariants};//# sourceMappingURL=upload.js.map
|
|
2
2
|
//# sourceMappingURL=upload.js.map
|