@sth87/shadcn-design-system 0.0.22 → 0.0.23

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.
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("react/jsx-runtime"),i=require("react"),a=require("../../packages/ui/src/components/select.cjs"),R=require("../../packages/ui/src/components/combobox.cjs"),o=require("../../packages/ui/src/lib/utils.cjs"),C=require("../FloatLabel.cjs"),A=require("lucide-react"),B=require("../Tooltip/Tooltip.cjs"),T=i.forwardRef(({className:S,label:x,helperText:v,state:m="default",size:r="normal",isFloatLabel:s,infoTooltip:f,clearable:M=!1,placeholder:b="",options:j=[],tagRender:u,multiple:g=!1,value:c,defaultValue:k,onValueChange:w,values:E,defaultValues:p,onValuesChange:F,search:h,clickToRemove:O=!0,overflowBehavior:V="wrap-when-open",disabled:y},_)=>{const d=i.useId(),[N,q]=i.useState(c??k??"");i.useEffect(()=>{!g&&c!==void 0&&q(c)},[g,c]);const G=i.useCallback(t=>{const n=t||"";c===void 0&&q(n),w?.(n)},[w,c]),H={default:"text-muted-foreground",success:"text-success",warning:"text-warning",error:"text-error"},I=s?r==="xl"||r==="lg"?r:"xl":r,P=i.useMemo(()=>{const t=new Map;return j.forEach(n=>{const l=n.group;t.has(l)||t.set(l,[]),t.get(l).push(n)}),t},[j]);return e.jsx("div",{className:S,children:e.jsxs("div",{ref:_,className:o.cn("flex flex-col gap-1.5 relative",{"floating-label relative":s}),children:[!s&&x&&e.jsxs("label",{htmlFor:d,className:"flex gap-2 text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70",children:[x,f&&e.jsx(B.Tooltip,{content:f,children:e.jsx(A.Info,{className:"size-3.5 min-w-3.5"})})]}),e.jsx("div",{className:"relative",children:g?e.jsxs(a.MultiSelect,{values:E,defaultValues:typeof p=="string"?[p]:p,onValuesChange:F,children:[e.jsx(a.MultiSelectTrigger,{id:d,disabled:y,className:o.cn("peer w-full",{"pt-5 pb-1":s&&r!=="lg"},S),size:I,state:m,children:e.jsx(a.MultiSelectValue,{placeholder:b,clickToRemove:O&&M,overflowBehavior:V})}),s&&e.jsx(C.FloatingLabel,{htmlFor:d,size:r,infoTooltip:f,children:x}),e.jsx(a.MultiSelectContent,{search:h,children:[...P.entries()].map(([t,n])=>t?e.jsxs(i.Fragment,{children:[e.jsx(a.MultiSelectGroup,{heading:t,children:n.map(l=>e.jsx(a.MultiSelectItem,{value:l.value,disabled:l?.disabled,icon:l?.icon,tagRender:!!u,children:u?u(l):l.label},l.value))}),e.jsx(a.MultiSelectSeparator,{})]},t):n.map(l=>e.jsx(a.MultiSelectItem,{value:l.value,disabled:l?.disabled,icon:l?.icon,tagRender:!!u,children:u?u(l):l.label},l.value)))})]}):e.jsxs(e.Fragment,{children:[e.jsx(R.Combobox,{value:c??N,options:j,placeHolder:b,emptyText:typeof h=="object"?h.emptyMessage:"No results found",onChange:G,clearable:M,disabled:y,id:d,className:o.cn("peer w-full justify-start",{"pt-5 pb-1":s&&r!=="lg"}),size:I,state:m,dropdownClassName:o.cn("opacity-40",{"translate-y-[-8px]":s&&r!=="lg"}),searchable:!!h,tagRender:u}),s&&e.jsx(C.FloatingLabel,{htmlFor:d,size:r,infoTooltip:f,shouldFloat:!!(c??N),className:"pointer-events-none",children:x})]})}),v&&e.jsx("p",{className:o.cn("text-xs",m?H[m]:""),children:v})]})})});T.displayName="Select";exports.default=T;
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("react/jsx-runtime"),a=require("react"),u=require("../../packages/ui/src/components/select.cjs"),K=require("../../packages/ui/src/components/combobox.cjs"),o=require("../../packages/ui/src/lib/utils.cjs"),O=require("../FloatLabel.cjs"),Q=require("lucide-react"),U=require("../Tooltip/Tooltip.cjs"),V=a.forwardRef(({className:M,label:x,helperText:b,state:m="default",size:s="normal",isFloatLabel:c,infoTooltip:f,clearable:v=!1,placeholder:y="",options:g=[],tagRender:i,multiple:p=!1,value:n,defaultValue:_,onValueChange:w,values:F,defaultValues:S,onValuesChange:N,search:j,clickToRemove:G=!0,overflowBehavior:H="wrap-when-open",disabled:q,onChange:h,onFocus:I,onBlur:C},P)=>{const d=a.useId(),[k,T]=a.useState(n??_??"");a.useEffect(()=>{!p&&n!==void 0&&T(n)},[p,n]);const R=a.useCallback(t=>{const r=t||"";n===void 0&&T(r),w?.(r),h?.(r)},[w,h,n]),A=a.useCallback(t=>{N?.(t),h?.(t)},[N,h]),D={default:"text-muted-foreground",success:"text-success",warning:"text-warning",error:"text-error"},E=c?s==="xl"||s==="lg"?s:"xl":s,J=a.useMemo(()=>{const t=new Map;return g.forEach(r=>{const l=r.group;t.has(l)||t.set(l,[]),t.get(l).push(r)}),t},[g]);return e.jsx("div",{className:M,children:e.jsxs("div",{ref:P,className:o.cn("flex flex-col gap-1.5 relative",{"floating-label relative":c}),children:[!c&&x&&e.jsxs("label",{htmlFor:d,className:"flex gap-2 text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70",children:[x,f&&e.jsx(U.Tooltip,{content:f,children:e.jsx(Q.Info,{className:"size-3.5 min-w-3.5"})})]}),e.jsx("div",{className:"relative",children:p?e.jsxs(u.MultiSelect,{values:F,defaultValues:typeof S=="string"?[S]:S,onValuesChange:A,children:[e.jsx(u.MultiSelectTrigger,{id:d,disabled:q,className:o.cn("peer w-full",{"pt-5 pb-1":c&&s!=="lg"},M),size:E,state:m,onFocus:I,onBlur:C,children:e.jsx(u.MultiSelectValue,{placeholder:y,clickToRemove:G&&v,overflowBehavior:H})}),c&&e.jsx(O.FloatingLabel,{htmlFor:d,size:s,infoTooltip:f,children:x}),e.jsx(u.MultiSelectContent,{search:j,children:[...J.entries()].map(([t,r])=>t?e.jsxs(a.Fragment,{children:[e.jsx(u.MultiSelectGroup,{heading:t,children:r.map(l=>e.jsx(u.MultiSelectItem,{value:l.value,disabled:l?.disabled,icon:l?.icon,tagRender:!!i,children:i?i(l):l.label},l.value))}),e.jsx(u.MultiSelectSeparator,{})]},t):r.map(l=>e.jsx(u.MultiSelectItem,{value:l.value,disabled:l?.disabled,icon:l?.icon,tagRender:!!i,children:i?i(l):l.label},l.value)))})]}):e.jsxs(e.Fragment,{children:[e.jsx(K.Combobox,{value:n??k,options:g,placeHolder:y,emptyText:typeof j=="object"?j.emptyMessage:"No results found",onChange:R,clearable:v,disabled:q,id:d,className:o.cn("peer w-full justify-start",{"pt-5 pb-1":c&&s!=="lg"}),size:E,state:m,dropdownClassName:o.cn("opacity-40",{"translate-y-[-8px]":c&&s!=="lg"}),searchable:!!j,tagRender:i,onFocus:I,onBlur:C}),c&&e.jsx(O.FloatingLabel,{htmlFor:d,size:s,infoTooltip:f,shouldFloat:!!(n??k),className:"pointer-events-none",children:x})]})}),b&&e.jsx("p",{className:o.cn("text-xs",m?D[m]:""),children:b})]})})});V.displayName="Select";exports.default=V;
2
2
  //# sourceMappingURL=Select.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"Select.cjs","sources":["../../../../src/components/Select/Select.tsx"],"sourcesContent":["import React from \"react\";\nimport {\n MultiSelect as BaseMultiSelect,\n MultiSelectTrigger as BaseMultiSelectTrigger,\n MultiSelectValue as BaseMultiSelectValue,\n MultiSelectContent as BaseMultiSelectContent,\n MultiSelectItem as BaseMultiSelectItem,\n MultiSelectGroup as BaseMultiSelectGroup,\n MultiSelectSeparator as BaseMultiSelectSeparator,\n} from \"@dsui/ui/components/select\";\nimport {\n Combobox,\n type ComboboxProps,\n type SelectOption as SSelectOption,\n} from \"@dsui/ui/components/combobox\";\nimport { cn } from \"@dsui/ui/lib/utils\";\nimport { FloatingLabel } from \"@/components/FloatLabel\";\nimport { Info } from \"lucide-react\";\nimport { Tooltip } from \"../Tooltip/Tooltip\";\n\nexport type SelectOption = SSelectOption;\n\nexport type SelectProps = ComboboxProps & {\n label?: string;\n helperText?: React.ReactNode;\n state?: \"default\" | \"success\" | \"warning\" | \"error\";\n size?: \"xs\" | \"sm\" | \"normal\" | \"lg\" | \"xl\";\n isFloatLabel?: boolean;\n infoTooltip?: React.ReactNode;\n clearable?: boolean;\n placeholder?: string;\n options?: SelectOption[];\n tagRender?: (option: SelectOption) => React.ReactNode;\n multiple?: boolean;\n value?: string;\n defaultValue?: string;\n onValueChange?: (value: string) => void;\n values?: string[];\n defaultValues?: string | string[];\n onValuesChange?: (values: string[]) => void;\n search?: boolean | { placeholder?: string; emptyMessage?: string };\n clickToRemove?: boolean;\n overflowBehavior?: \"wrap\" | \"wrap-when-open\" | \"cutoff\";\n className?: string;\n disabled?: boolean;\n};\n\nconst Select = React.forwardRef<HTMLDivElement, SelectProps>(\n (\n {\n className,\n label,\n helperText,\n state = \"default\",\n size = \"normal\",\n isFloatLabel,\n infoTooltip,\n clearable = false,\n placeholder = \"\",\n options = [],\n tagRender,\n multiple = false,\n value,\n defaultValue,\n onValueChange,\n values,\n defaultValues,\n onValuesChange,\n search,\n clickToRemove = true,\n overflowBehavior = \"wrap-when-open\",\n disabled,\n },\n ref\n ) => {\n const selectId = React.useId();\n\n // For single select, use controlled value or internal state\n const [internalValue, setInternalValue] = React.useState(\n value ?? defaultValue ?? \"\"\n );\n\n React.useEffect(() => {\n if (!multiple && value !== undefined) {\n setInternalValue(value);\n }\n }, [multiple, value]);\n\n // Handle single select value change\n const handleSingleValueChange = React.useCallback(\n (newValue?: string | null) => {\n const val = newValue || \"\";\n if (value === undefined) {\n setInternalValue(val);\n }\n onValueChange?.(val);\n },\n [onValueChange, value]\n );\n\n // Helper text styles\n const helperTextStyles = {\n default: \"text-muted-foreground\",\n success: \"text-success\",\n warning: \"text-warning\",\n error: \"text-error\",\n };\n\n // Calculate current size\n const currentSize = isFloatLabel\n ? size === \"xl\" || size === \"lg\"\n ? size\n : \"xl\"\n : size;\n\n // Group options by group property\n const groupedOptions = React.useMemo(() => {\n const groups = new Map<string | undefined, SelectOption[]>();\n options.forEach((option) => {\n const group = option.group;\n if (!groups.has(group)) {\n groups.set(group, []);\n }\n groups.get(group)!.push(option);\n });\n return groups;\n }, [options]);\n\n return (\n <div className={className}>\n <div\n ref={ref}\n className={cn(\"flex flex-col gap-1.5 relative\", {\n \"floating-label relative\": isFloatLabel,\n })}\n >\n {!isFloatLabel && label && (\n <label\n htmlFor={selectId}\n className=\"flex gap-2 text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70\"\n >\n {label}\n {infoTooltip && (\n <Tooltip content={infoTooltip}>\n <Info className=\"size-3.5 min-w-3.5\" />\n </Tooltip>\n )}\n </label>\n )}\n\n <div className=\"relative\">\n {!multiple ? (\n // Single Mode\n <>\n <Combobox\n value={value ?? internalValue}\n options={options}\n placeHolder={placeholder}\n emptyText={\n typeof search === \"object\"\n ? search.emptyMessage\n : \"No results found\"\n }\n onChange={handleSingleValueChange}\n clearable={clearable}\n disabled={disabled}\n id={selectId}\n className={cn(\n \"peer w-full justify-start\",\n {\n \"pt-5 pb-1\": isFloatLabel && size !== \"lg\",\n }\n // className,\n )}\n size={currentSize}\n state={state}\n dropdownClassName={cn(\"opacity-40\", {\n \"translate-y-[-8px]\": isFloatLabel && size !== \"lg\",\n })}\n searchable={!!search}\n tagRender={tagRender}\n />\n {isFloatLabel && (\n <FloatingLabel\n htmlFor={selectId}\n size={size}\n infoTooltip={infoTooltip}\n shouldFloat={!!(value ?? internalValue)}\n className=\"pointer-events-none\"\n >\n {label}\n </FloatingLabel>\n )}\n </>\n ) : (\n // Multi Mode\n <BaseMultiSelect\n values={values}\n defaultValues={\n typeof defaultValues === \"string\"\n ? [defaultValues]\n : defaultValues\n }\n onValuesChange={onValuesChange}\n >\n <BaseMultiSelectTrigger\n id={selectId}\n disabled={disabled}\n className={cn(\n \"peer w-full\",\n {\n \"pt-5 pb-1\": isFloatLabel && size !== \"lg\",\n },\n className\n )}\n size={currentSize}\n state={state}\n >\n <BaseMultiSelectValue\n placeholder={placeholder}\n clickToRemove={clickToRemove && clearable}\n overflowBehavior={overflowBehavior}\n />\n </BaseMultiSelectTrigger>\n\n {isFloatLabel && (\n <FloatingLabel\n htmlFor={selectId}\n size={size}\n infoTooltip={infoTooltip}\n >\n {label}\n </FloatingLabel>\n )}\n\n <BaseMultiSelectContent search={search}>\n {[...groupedOptions.entries()].map(([group, items]) => {\n if (group) {\n return (\n <React.Fragment key={group}>\n <BaseMultiSelectGroup heading={group}>\n {items.map((option) => (\n <BaseMultiSelectItem\n key={option.value}\n value={option.value}\n disabled={option?.disabled}\n icon={option?.icon}\n tagRender={!!tagRender}\n >\n {tagRender ? tagRender(option) : option.label}\n </BaseMultiSelectItem>\n ))}\n </BaseMultiSelectGroup>\n <BaseMultiSelectSeparator />\n </React.Fragment>\n );\n }\n return items.map((option) => (\n <BaseMultiSelectItem\n key={option.value}\n value={option.value}\n disabled={option?.disabled}\n icon={option?.icon}\n tagRender={!!tagRender}\n >\n {tagRender ? tagRender(option) : option.label}\n </BaseMultiSelectItem>\n ));\n })}\n </BaseMultiSelectContent>\n </BaseMultiSelect>\n )}\n </div>\n\n {helperText && (\n <p className={cn(\"text-xs\", state ? helperTextStyles[state] : \"\")}>\n {helperText}\n </p>\n )}\n </div>\n </div>\n );\n }\n);\n\nSelect.displayName = \"Select\";\nexport default Select;\n"],"names":["Select","React","className","label","helperText","state","size","isFloatLabel","infoTooltip","clearable","placeholder","options","tagRender","multiple","value","defaultValue","onValueChange","values","defaultValues","onValuesChange","search","clickToRemove","overflowBehavior","disabled","ref","selectId","internalValue","setInternalValue","handleSingleValueChange","newValue","val","helperTextStyles","currentSize","groupedOptions","groups","option","group","jsx","jsxs","cn","Tooltip","Info","BaseMultiSelect","BaseMultiSelectTrigger","BaseMultiSelectValue","FloatingLabel","BaseMultiSelectContent","items","BaseMultiSelectGroup","BaseMultiSelectItem","BaseMultiSelectSeparator","Fragment","Combobox"],"mappings":"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"}
1
+ {"version":3,"file":"Select.cjs","sources":["../../../../src/components/Select/Select.tsx"],"sourcesContent":["import React from \"react\";\nimport {\n MultiSelect as BaseMultiSelect,\n MultiSelectTrigger as BaseMultiSelectTrigger,\n MultiSelectValue as BaseMultiSelectValue,\n MultiSelectContent as BaseMultiSelectContent,\n MultiSelectItem as BaseMultiSelectItem,\n MultiSelectGroup as BaseMultiSelectGroup,\n MultiSelectSeparator as BaseMultiSelectSeparator,\n} from \"@dsui/ui/components/select\";\nimport {\n Combobox,\n type ComboboxProps,\n type SelectOption as SSelectOption,\n} from \"@dsui/ui/components/combobox\";\nimport { cn } from \"@dsui/ui/lib/utils\";\nimport { FloatingLabel } from \"@/components/FloatLabel\";\nimport { Info } from \"lucide-react\";\nimport { Tooltip } from \"../Tooltip/Tooltip\";\n\nexport type SelectOption = SSelectOption;\n\nexport type SelectProps = Omit<ComboboxProps, \"ref\"> & {\n label?: string;\n helperText?: React.ReactNode;\n state?: \"default\" | \"success\" | \"warning\" | \"error\";\n size?: \"xs\" | \"sm\" | \"normal\" | \"lg\" | \"xl\";\n isFloatLabel?: boolean;\n infoTooltip?: React.ReactNode;\n clearable?: boolean;\n placeholder?: string;\n options?: SelectOption[];\n tagRender?: (option: SelectOption) => React.ReactNode;\n multiple?: boolean;\n value?: string;\n defaultValue?: string;\n onValueChange?: (value: string) => void;\n values?: string[];\n defaultValues?: string | string[];\n onValuesChange?: (values: string[]) => void;\n search?: boolean | { placeholder?: string; emptyMessage?: string };\n clickToRemove?: boolean;\n overflowBehavior?: \"wrap\" | \"wrap-when-open\" | \"cutoff\";\n className?: string;\n disabled?: boolean;\n onChange?: (value: string | string[]) => void;\n onFocus?: (event: React.FocusEvent<HTMLInputElement>) => void;\n onBlur?: (event: React.FocusEvent<HTMLInputElement>) => void;\n};\n\nconst Select = React.forwardRef<HTMLDivElement, SelectProps>(\n (\n {\n className,\n label,\n helperText,\n state = \"default\",\n size = \"normal\",\n isFloatLabel,\n infoTooltip,\n clearable = false,\n placeholder = \"\",\n options = [],\n tagRender,\n multiple = false,\n value,\n defaultValue,\n onValueChange,\n values,\n defaultValues,\n onValuesChange,\n search,\n clickToRemove = true,\n overflowBehavior = \"wrap-when-open\",\n disabled,\n onChange,\n onFocus,\n onBlur,\n },\n ref\n ) => {\n const selectId = React.useId();\n\n // For single select, use controlled value or internal state\n const [internalValue, setInternalValue] = React.useState(\n value ?? defaultValue ?? \"\"\n );\n\n React.useEffect(() => {\n if (!multiple && value !== undefined) {\n setInternalValue(value);\n }\n }, [multiple, value]);\n\n // Handle single select value change\n const handleSingleValueChange = React.useCallback(\n (newValue?: string | null) => {\n const val = newValue || \"\";\n if (value === undefined) {\n setInternalValue(val);\n }\n onValueChange?.(val);\n onChange?.(val);\n },\n [onValueChange, onChange, value]\n );\n\n // Handle multi select values change\n const handleMultiValuesChange = React.useCallback(\n (newValues: string[]) => {\n onValuesChange?.(newValues);\n onChange?.(newValues);\n },\n [onValuesChange, onChange]\n );\n\n // Helper text styles\n const helperTextStyles = {\n default: \"text-muted-foreground\",\n success: \"text-success\",\n warning: \"text-warning\",\n error: \"text-error\",\n };\n\n // Calculate current size\n const currentSize = isFloatLabel\n ? size === \"xl\" || size === \"lg\"\n ? size\n : \"xl\"\n : size;\n\n // Group options by group property\n const groupedOptions = React.useMemo(() => {\n const groups = new Map<string | undefined, SelectOption[]>();\n options.forEach((option) => {\n const group = option.group;\n if (!groups.has(group)) {\n groups.set(group, []);\n }\n groups.get(group)!.push(option);\n });\n return groups;\n }, [options]);\n\n return (\n <div className={className}>\n <div\n ref={ref}\n className={cn(\"flex flex-col gap-1.5 relative\", {\n \"floating-label relative\": isFloatLabel,\n })}\n >\n {!isFloatLabel && label && (\n <label\n htmlFor={selectId}\n className=\"flex gap-2 text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70\"\n >\n {label}\n {infoTooltip && (\n <Tooltip content={infoTooltip}>\n <Info className=\"size-3.5 min-w-3.5\" />\n </Tooltip>\n )}\n </label>\n )}\n\n <div className=\"relative\">\n {!multiple ? (\n // Single Mode\n <>\n <Combobox\n value={value ?? internalValue}\n options={options}\n placeHolder={placeholder}\n emptyText={\n typeof search === \"object\"\n ? search.emptyMessage\n : \"No results found\"\n }\n onChange={handleSingleValueChange}\n clearable={clearable}\n disabled={disabled}\n id={selectId}\n className={cn(\n \"peer w-full justify-start\",\n {\n \"pt-5 pb-1\": isFloatLabel && size !== \"lg\",\n }\n // className,\n )}\n size={currentSize}\n state={state}\n dropdownClassName={cn(\"opacity-40\", {\n \"translate-y-[-8px]\": isFloatLabel && size !== \"lg\",\n })}\n searchable={!!search}\n tagRender={tagRender}\n onFocus={onFocus}\n onBlur={onBlur}\n />\n {isFloatLabel && (\n <FloatingLabel\n htmlFor={selectId}\n size={size}\n infoTooltip={infoTooltip}\n shouldFloat={!!(value ?? internalValue)}\n className=\"pointer-events-none\"\n >\n {label}\n </FloatingLabel>\n )}\n </>\n ) : (\n // Multi Mode\n <BaseMultiSelect\n values={values}\n defaultValues={\n typeof defaultValues === \"string\"\n ? [defaultValues]\n : defaultValues\n }\n onValuesChange={handleMultiValuesChange}\n >\n <BaseMultiSelectTrigger\n id={selectId}\n disabled={disabled}\n className={cn(\n \"peer w-full\",\n {\n \"pt-5 pb-1\": isFloatLabel && size !== \"lg\",\n },\n className\n )}\n size={currentSize}\n state={state}\n onFocus={onFocus}\n onBlur={onBlur}\n >\n <BaseMultiSelectValue\n placeholder={placeholder}\n clickToRemove={clickToRemove && clearable}\n overflowBehavior={overflowBehavior}\n />\n </BaseMultiSelectTrigger>\n\n {isFloatLabel && (\n <FloatingLabel\n htmlFor={selectId}\n size={size}\n infoTooltip={infoTooltip}\n >\n {label}\n </FloatingLabel>\n )}\n\n <BaseMultiSelectContent search={search}>\n {[...groupedOptions.entries()].map(([group, items]) => {\n if (group) {\n return (\n <React.Fragment key={group}>\n <BaseMultiSelectGroup heading={group}>\n {items.map((option) => (\n <BaseMultiSelectItem\n key={option.value}\n value={option.value}\n disabled={option?.disabled}\n icon={option?.icon}\n tagRender={!!tagRender}\n >\n {tagRender ? tagRender(option) : option.label}\n </BaseMultiSelectItem>\n ))}\n </BaseMultiSelectGroup>\n <BaseMultiSelectSeparator />\n </React.Fragment>\n );\n }\n return items.map((option) => (\n <BaseMultiSelectItem\n key={option.value}\n value={option.value}\n disabled={option?.disabled}\n icon={option?.icon}\n tagRender={!!tagRender}\n >\n {tagRender ? tagRender(option) : option.label}\n </BaseMultiSelectItem>\n ));\n })}\n </BaseMultiSelectContent>\n </BaseMultiSelect>\n )}\n </div>\n\n {helperText && (\n <p className={cn(\"text-xs\", state ? helperTextStyles[state] : \"\")}>\n {helperText}\n </p>\n )}\n </div>\n </div>\n );\n }\n);\n\nSelect.displayName = \"Select\";\nexport default Select;\n"],"names":["Select","React","className","label","helperText","state","size","isFloatLabel","infoTooltip","clearable","placeholder","options","tagRender","multiple","value","defaultValue","onValueChange","values","defaultValues","onValuesChange","search","clickToRemove","overflowBehavior","disabled","onChange","onFocus","onBlur","ref","selectId","internalValue","setInternalValue","handleSingleValueChange","newValue","val","handleMultiValuesChange","newValues","helperTextStyles","currentSize","groupedOptions","groups","option","group","jsx","jsxs","cn","Tooltip","Info","BaseMultiSelect","BaseMultiSelectTrigger","BaseMultiSelectValue","FloatingLabel","BaseMultiSelectContent","items","BaseMultiSelectGroup","BaseMultiSelectItem","BaseMultiSelectSeparator","Fragment","Combobox"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const T=require("./components/Command/index.cjs"),C=require("./components/Popover/index.cjs"),g=require("./components/Tour/index.cjs"),c=require("./components/QrCode/index.cjs"),m=require("./components/Stepper/index.cjs"),x=require("./components/Pagination/index.cjs"),f=require("./components/DropdownMenu/index.cjs"),R=require("./components/ContextMenu/index.cjs"),I=require("./components/FloatLabel.cjs"),M=require("./components/TimeGridView.cjs"),P=require("./components/WheelColumn.cjs"),G=require("./components/Marquee/index.cjs");require("@radix-ui/react-slot");require("./packages/ui/src/components/button.cjs");const d=require("./packages/ui/src/components/button-group.cjs");require("./packages/ui/src/components/input.cjs");require("./packages/ui/src/components/textarea.cjs");const k=require("./packages/ui/src/components/label.cjs");require("./packages/ui/src/components/select.cjs");require("./packages/ui/src/components/combobox.cjs");require("react/jsx-runtime");require("@radix-ui/react-tooltip");const w=require("./packages/ui/src/lib/utils.cjs");require("react");require("lucide-react");require("react-day-picker");require("./packages/ui/src/components/popover.cjs");require("@radix-ui/react-separator");require("./packages/ui/src/components/switch.cjs");require("vaul");require("@radix-ui/react-scroll-area");const B=require("./packages/ui/src/components/tree-view.cjs");require("@radix-ui/react-alert-dialog");require("@radix-ui/react-avatar");require("./packages/ui/src/components/badge.cjs");require("./packages/ui/src/components/checkbox.cjs");require("@radix-ui/react-collapsible");require("cmdk");require("@radix-ui/react-dialog");require("@radix-ui/react-dropdown-menu");require("./packages/ui/src/components/input-otp.cjs");require("./packages/ui/src/components/radio-group.cjs");const A=require("./packages/ui/src/components/sidebar.cjs");require("@radix-ui/react-slider");require("./packages/ui/src/components/tabs.cjs");require("./packages/ui/src/components/toggle.cjs");const D=require("./hooks/use-callback-ref.cjs"),v=require("./hooks/use-debounced-callback.cjs"),y=require("./hooks/use-debounced-value.cjs"),V=require("./hooks/use-intersection-observer.cjs"),F=require("./hooks/use-script.cjs"),E=require("./hooks/use-scroll-lock.cjs"),O=require("./hooks/use-on-click-outside.cjs"),z=require("./hooks/use-event-listener.cjs"),L=require("./hooks/use-media-query.cjs"),h=require("./hooks/use-data-table.cjs"),W=require("./components/Badge/Badge.cjs"),Q=require("./components/Breadcrumb/Breadcrumb.cjs"),H=require("./components/Button/Button.cjs"),$=require("./components/Button/ButtonGroup.cjs"),N=require("./components/Checkbox/Checkbox.cjs"),U=require("./components/Collapsible/Collapsible.cjs"),_=require("./components/Dialog/Dialog.cjs"),j=require("./components/Glass/Glass.cjs"),J=require("./components/Input/Input.cjs"),K=require("./components/InputOTP/InputOTP.cjs"),X=require("./components/Radio/Radio.cjs"),Y=require("./components/ScrollArea/ScrollArea.cjs"),Z=require("./components/Select/Select.cjs"),ee=require("./components/Separator/Separator.cjs"),re=require("./components/Sheet/Sheet.cjs"),te=require("./components/Skeleton/Skeleton.cjs"),oe=require("./components/Slider/Slider.cjs"),ie=require("./components/Switch/Switch.cjs"),ue=require("./components/Tabs/Tabs.cjs"),ae=require("./components/Textarea/Textarea.cjs"),ne=require("./components/Toggle/Toggle.cjs"),se=require("./components/Rate/Rate.cjs"),i=require("./components/Resizable/Resizable.cjs"),le=require("./components/Accordion/Accordion.cjs"),ce=require("./lib/TextAnimation/BlurText.cjs"),de=require("./lib/TextAnimation/CircularText.cjs"),qe=require("./lib/TextAnimation/TextPressureEffect.cjs"),be=require("./lib/TextAnimation/TypingText.cjs"),Se=require("./components/Avatar/Avatar.cjs"),q=require("./components/Calendar/Calendar.cjs"),pe=require("./components/DatePicker/DatePicker.cjs"),Te=require("./components/DatePicker/RangePicker.cjs"),Ce=require("./components/DatePicker/TimePicker.cjs"),e=require("./components/Sidebar/Sidebar.cjs"),a=require("./components/Toast/Toast.cjs"),ge=require("./components/Tooltip/Tooltip.cjs"),me=require("./components/Upload/Upload.cjs"),xe=require("./components/QrCode/QrCode.cjs"),fe=require("./components/Stepper/Stepper.cjs"),Re=require("./components/Table/data-table.cjs"),Ie=require("./components/Table/data-table-pagination.cjs"),n=require("./packages/ui/src/components/resizable.cjs"),s=require("./packages/ui/src/components/accordion.cjs"),l=require("./components/ImageViewer/ImageViewer.cjs"),b=require("./components/Carousel/Carousel.cjs"),t=require("./components/Cropper/Cropper.cjs"),S=require("./components/Cropper/CropperTool.cjs"),o=require("./components/Cropper/utils.cjs"),r=require("./components/Interactive/CursorFollow.cjs"),u=require("./components/Masonry/Masonry.cjs"),p=require("./components/Masonry/MasonryWrapper.cjs"),Me=require("./lib/TextAnimation/RotatingText.cjs"),Pe=require("./lib/TextAnimation/FlipWords.cjs"),Ge=require("./lib/TextAnimation/GradientText.cjs"),ke=require("./lib/TextAnimation/RollingText.cjs"),we=require("./lib/TextAnimation/ShimmeringText.cjs"),Be=require("./lib/TextAnimation/SplittingText.cjs"),Ae=require("./lib/TextAnimation/TextGenerateEffect.cjs"),De=require("./lib/TextAnimation/TextHoverEffect.cjs"),ve=require("./lib/TextAnimation/WritingText.cjs");exports.Command=T.Command;exports.Popover=C.Popover;exports.Tour=g.Tour;exports.QRCode=c.QRCode;exports.QrCode=c.QRCode;exports.Stepper=m.Stepper;exports.Pagination=x.Pagination;exports.DropdownMenu=f.DropdownMenu;exports.ContextMenu=R.ContextMenu;exports.FloatingLabel=I.FloatingLabel;exports.TimeGridView=M.TimeGridView;exports.WheelColumn=P.TimeColumnwheel;exports.Marquee=G.Marquee;exports.ButtonGroupSeparator=d.ButtonGroupSeparator;exports.ButtonGroupText=d.ButtonGroupText;exports.Label=k.Label;exports.cn=w.cn;exports.TreeSelect=B.TreeView;exports.useSidebar=A.useSidebar;exports.useCallbackRef=D.useCallbackRef;exports.useDebouncedCallback=v.useDebouncedCallback;exports.useDebounceValue=y.useDebounceValue;exports.useIntersectionObserver=V.useIntersectionObserver;exports.useScript=F.useScript;exports.useScrollLock=E.useScrollLock;exports.useOnClickOutside=O.useOnClickOutside;exports.useEventListener=z.useEventListener;exports.useMediaQuery=L.useMediaQuery;exports.useDataTable=h.useDataTable;exports.Badge=W.default;exports.Breadcrumb=Q.default;exports.Button=H.default;exports.ButtonGroup=$.default;exports.Checkbox=N.default;exports.Collapsible=U.default;exports.Dialog=_.default;exports.Glass=j.default;exports.Input=J.default;exports.InputOTP=K.default;exports.Radio=X.default;exports.ScrollArea=Y.ScrollArea;exports.Select=Z.default;exports.Separator=ee.default;exports.Sheet=re.default;exports.Skeleton=te.default;exports.Slider=oe.default;exports.Switch=ie.default;exports.Tabs=ue.default;exports.Textarea=ae.default;exports.Toggle=ne.default;exports.Rate=se.default;exports.Handle=i.Handle;exports.Panel=i.Panel;exports.Resizable=i.default;exports.ResizableWrapper=i.ResizableWrapper;exports.Accordion=le.default;exports.BlurText=ce.default;exports.CircularText=de.default;exports.TextPressure=qe.default;exports.TypingText=be.default;exports.Avatar=Se.Avatar;exports.Calendar=q.Calendar;exports.CalendarDayButton=q.CalendarDayButton;exports.DatePicker=pe.DatePicker;exports.RangePicker=Te.RangePicker;exports.TimePicker=Ce.TimePicker;exports.Sidebar=e.Sidebar;exports.SidebarContent=e.SidebarContent;exports.SidebarFooter=e.SidebarFooter;exports.SidebarGroup=e.SidebarGroup;exports.SidebarGroupAction=e.SidebarGroupAction;exports.SidebarGroupContent=e.SidebarGroupContent;exports.SidebarGroupLabel=e.SidebarGroupLabel;exports.SidebarHeader=e.SidebarHeader;exports.SidebarInput=e.SidebarInput;exports.SidebarInset=e.SidebarInset;exports.SidebarMenu=e.SidebarMenu;exports.SidebarMenuAction=e.SidebarMenuAction;exports.SidebarMenuBadge=e.SidebarMenuBadge;exports.SidebarMenuButton=e.SidebarMenuButton;exports.SidebarMenuItem=e.SidebarMenuItem;exports.SidebarMenuSkeleton=e.SidebarMenuSkeleton;exports.SidebarMenuSub=e.SidebarMenuSub;exports.SidebarMenuSubButton=e.SidebarMenuSubButton;exports.SidebarMenuSubItem=e.SidebarMenuSubItem;exports.SidebarProvider=e.SidebarProvider;exports.SidebarRail=e.SidebarRail;exports.SidebarSeparator=e.SidebarSeparator;exports.SidebarTrigger=e.SidebarTrigger;exports.Toast=a.toast;exports.Toaster=a.Toaster;exports.toast=a.toast;exports.Tooltip=ge.Tooltip;exports.Upload=me.Upload;exports.useQRCode=xe.useQRCode;exports.useStepper=fe.useStepper;exports.DataTable=Re.DataTable;exports.DataTablePagination=Ie.DataTablePagination;exports.ResizableHandle=n.ResizableHandle;exports.ResizablePanel=n.ResizablePanel;exports.ResizablePanelGroup=n.ResizablePanelGroup;exports.AccordionContent=s.AccordionContent;exports.AccordionItem=s.AccordionItem;exports.AccordionTrigger=s.AccordionTrigger;exports.ImageViewer=l.ImageViewer;exports.ImageViewerGroup=l.ImageViewerGroup;exports.ImageViewerImage=l.ImageViewerImage;exports.Carousel=b.Carousel;exports.CarouselSlide=b.CarouselSlide;exports.Cropper=t.Root;exports.CropperArea=t.Area;exports.CropperImage=t.Image;exports.CropperVideo=t.Video;exports.useCropper=t.useCropper;exports.CropperTool=S.CropperTool;exports.useCropperTool=S.useCropperTool;exports.base64ToBlob=o.base64ToBlob;exports.base64ToFile=o.base64ToFile;exports.downloadImage=o.downloadImage;exports.getCroppedImg=o.getCroppedImg;exports.rotateSize=o.rotateSize;exports.Cursor=r.Cursor;exports.CursorFollow=r.CursorFollow;exports.CursorProvider=r.CursorProvider;exports.TRANSITION_PRESETS=r.TRANSITION_PRESETS;exports.useCursor=r.useCursor;exports.useCursorFollow=r.useCursorFollow;exports.Item=u.Item;exports.MasonryItem=u.MasonryItem;exports.MasonryRoot=u.MasonryRoot;exports.Root=u.Root;exports.Masonry=p.Masonry;exports.MasonryComponent=p.MasonryComponent;exports.RotatingText=Me.RotatingText;exports.FlipWords=Pe.FlipWords;exports.GradientText=Ge.GradientText;exports.RollingText=ke.RollingText;exports.ShimmeringText=we.ShimmeringText;exports.SplittingText=Be.SplittingText;exports.TextGenerateEffect=Ae.TextGenerateEffect;exports.TextHoverEffect=De.TextHoverEffect;exports.WritingText=ve.WritingText;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const T=require("./components/Command/index.cjs"),C=require("./components/Popover/index.cjs"),g=require("./components/Tour/index.cjs"),c=require("./components/QrCode/index.cjs"),m=require("./components/Stepper/index.cjs"),x=require("./components/Pagination/index.cjs"),f=require("./components/DropdownMenu/index.cjs"),R=require("./components/ContextMenu/index.cjs"),I=require("./components/FloatLabel.cjs"),M=require("./components/TimeGridView.cjs"),P=require("./components/WheelColumn.cjs"),G=require("./components/Marquee/index.cjs");require("@radix-ui/react-slot");require("./packages/ui/src/components/button.cjs");const d=require("./packages/ui/src/components/button-group.cjs");require("./packages/ui/src/components/input.cjs");require("./packages/ui/src/components/textarea.cjs");const k=require("./packages/ui/src/components/label.cjs");require("./packages/ui/src/components/select.cjs");require("./packages/ui/src/components/combobox.cjs");require("react/jsx-runtime");require("@radix-ui/react-tooltip");const w=require("./packages/ui/src/lib/utils.cjs");require("react");require("lucide-react");require("react-day-picker");require("./packages/ui/src/components/popover.cjs");require("@radix-ui/react-separator");require("./packages/ui/src/components/switch.cjs");require("vaul");require("@radix-ui/react-scroll-area");const B=require("./packages/ui/src/components/tree-view.cjs");require("@radix-ui/react-alert-dialog");require("@radix-ui/react-avatar");require("./packages/ui/src/components/badge.cjs");require("./packages/ui/src/components/checkbox.cjs");require("@radix-ui/react-collapsible");require("cmdk");require("@radix-ui/react-dialog");require("@radix-ui/react-dropdown-menu");require("./packages/ui/src/components/input-otp.cjs");require("./packages/ui/src/components/radio-group.cjs");const A=require("./packages/ui/src/components/sidebar.cjs");require("@radix-ui/react-slider");require("./packages/ui/src/components/tabs.cjs");require("./packages/ui/src/components/toggle.cjs");const D=require("./hooks/use-callback-ref.cjs"),v=require("./hooks/use-debounced-callback.cjs"),y=require("./hooks/use-debounced-value.cjs"),V=require("./hooks/use-intersection-observer.cjs"),F=require("./hooks/use-script.cjs"),E=require("./hooks/use-scroll-lock.cjs"),O=require("./hooks/use-on-click-outside.cjs"),z=require("./hooks/use-event-listener.cjs"),L=require("./hooks/use-media-query.cjs"),h=require("./hooks/use-data-table.cjs"),W=require("./components/Badge/Badge.cjs"),Q=require("./components/Breadcrumb/Breadcrumb.cjs"),H=require("./components/Button/Button.cjs"),$=require("./components/Button/ButtonGroup.cjs"),N=require("./components/Checkbox/Checkbox.cjs"),U=require("./components/Collapsible/Collapsible.cjs"),_=require("./components/Dialog/Dialog.cjs"),j=require("./components/Glass/Glass.cjs"),J=require("./components/Input/Input.cjs"),K=require("./components/InputOTP/InputOTP.cjs"),X=require("./components/Radio/Radio.cjs"),Y=require("./components/ScrollArea/ScrollArea.cjs"),Z=require("./components/Select/Select.cjs"),ee=require("./components/Separator/Separator.cjs"),re=require("./components/Sheet/Sheet.cjs"),oe=require("./components/Skeleton/Skeleton.cjs"),te=require("./components/Slider/Slider.cjs"),ie=require("./components/Switch/Switch.cjs"),ue=require("./components/Tabs/Tabs.cjs"),ae=require("./components/Textarea/Textarea.cjs"),ne=require("./components/Toggle/Toggle.cjs"),se=require("./components/Rate/Rate.cjs"),i=require("./components/Resizable/Resizable.cjs"),le=require("./components/Accordion/Accordion.cjs"),ce=require("./lib/TextAnimation/BlurText.cjs"),de=require("./lib/TextAnimation/CircularText.cjs"),qe=require("./lib/TextAnimation/TextPressureEffect.cjs"),be=require("./lib/TextAnimation/TypingText.cjs"),Se=require("./components/Avatar/Avatar.cjs"),q=require("./components/Calendar/Calendar.cjs"),pe=require("./components/DatePicker/DatePicker.cjs"),Te=require("./components/DatePicker/RangePicker.cjs"),Ce=require("./components/DatePicker/TimePicker.cjs"),e=require("./components/Sidebar/Sidebar.cjs"),a=require("./components/Toast/Toast.cjs"),ge=require("./components/Tooltip/Tooltip.cjs"),me=require("./components/Upload/Upload.cjs"),xe=require("./components/QrCode/QrCode.cjs"),fe=require("./components/Stepper/Stepper.cjs"),Re=require("./components/Table/data-table.cjs"),Ie=require("./components/Table/data-table-pagination.cjs"),n=require("./packages/ui/src/components/resizable.cjs"),s=require("./packages/ui/src/components/accordion.cjs"),l=require("./components/ImageViewer/ImageViewer.cjs"),b=require("./components/Carousel/Carousel.cjs"),o=require("./components/Cropper/Cropper.cjs"),S=require("./components/Cropper/CropperTool.cjs"),t=require("./components/Cropper/utils.cjs"),r=require("./components/Interactive/CursorFollow.cjs"),u=require("./components/Masonry/Masonry.cjs"),p=require("./components/Masonry/MasonryWrapper.cjs"),Me=require("./lib/TextAnimation/RotatingText.cjs"),Pe=require("./lib/TextAnimation/FlipWords.cjs"),Ge=require("./lib/TextAnimation/GradientText.cjs"),ke=require("./lib/TextAnimation/RollingText.cjs"),we=require("./lib/TextAnimation/ShimmeringText.cjs"),Be=require("./lib/TextAnimation/SplittingText.cjs"),Ae=require("./lib/TextAnimation/TextGenerateEffect.cjs"),De=require("./lib/TextAnimation/TextHoverEffect.cjs"),ve=require("./lib/TextAnimation/WritingText.cjs");exports.Command=T.Command;exports.Popover=C.Popover;exports.Tour=g.Tour;exports.QRCode=c.QRCode;exports.QrCode=c.QRCode;exports.Stepper=m.Stepper;exports.Pagination=x.Pagination;exports.DropdownMenu=f.DropdownMenu;exports.ContextMenu=R.ContextMenu;exports.FloatingLabel=I.FloatingLabel;exports.TimeGridView=M.TimeGridView;exports.WheelColumn=P.TimeColumnwheel;exports.Marquee=G.Marquee;exports.ButtonGroupSeparator=d.ButtonGroupSeparator;exports.ButtonGroupText=d.ButtonGroupText;exports.Label=k.Label;exports.cn=w.cn;exports.TreeView=B.TreeView;exports.useSidebar=A.useSidebar;exports.useCallbackRef=D.useCallbackRef;exports.useDebouncedCallback=v.useDebouncedCallback;exports.useDebounceValue=y.useDebounceValue;exports.useIntersectionObserver=V.useIntersectionObserver;exports.useScript=F.useScript;exports.useScrollLock=E.useScrollLock;exports.useOnClickOutside=O.useOnClickOutside;exports.useEventListener=z.useEventListener;exports.useMediaQuery=L.useMediaQuery;exports.useDataTable=h.useDataTable;exports.Badge=W.default;exports.Breadcrumb=Q.default;exports.Button=H.default;exports.ButtonGroup=$.default;exports.Checkbox=N.default;exports.Collapsible=U.default;exports.Dialog=_.default;exports.Glass=j.default;exports.Input=J.default;exports.InputOTP=K.default;exports.Radio=X.default;exports.ScrollArea=Y.ScrollArea;exports.Select=Z.default;exports.Separator=ee.default;exports.Sheet=re.default;exports.Skeleton=oe.default;exports.Slider=te.default;exports.Switch=ie.default;exports.Tabs=ue.default;exports.Textarea=ae.default;exports.Toggle=ne.default;exports.Rate=se.default;exports.Handle=i.Handle;exports.Panel=i.Panel;exports.Resizable=i.default;exports.ResizableWrapper=i.ResizableWrapper;exports.Accordion=le.default;exports.BlurText=ce.default;exports.CircularText=de.default;exports.TextPressure=qe.default;exports.TypingText=be.default;exports.Avatar=Se.Avatar;exports.Calendar=q.Calendar;exports.CalendarDayButton=q.CalendarDayButton;exports.DatePicker=pe.DatePicker;exports.RangePicker=Te.RangePicker;exports.TimePicker=Ce.TimePicker;exports.Sidebar=e.Sidebar;exports.SidebarContent=e.SidebarContent;exports.SidebarFooter=e.SidebarFooter;exports.SidebarGroup=e.SidebarGroup;exports.SidebarGroupAction=e.SidebarGroupAction;exports.SidebarGroupContent=e.SidebarGroupContent;exports.SidebarGroupLabel=e.SidebarGroupLabel;exports.SidebarHeader=e.SidebarHeader;exports.SidebarInput=e.SidebarInput;exports.SidebarInset=e.SidebarInset;exports.SidebarMenu=e.SidebarMenu;exports.SidebarMenuAction=e.SidebarMenuAction;exports.SidebarMenuBadge=e.SidebarMenuBadge;exports.SidebarMenuButton=e.SidebarMenuButton;exports.SidebarMenuItem=e.SidebarMenuItem;exports.SidebarMenuSkeleton=e.SidebarMenuSkeleton;exports.SidebarMenuSub=e.SidebarMenuSub;exports.SidebarMenuSubButton=e.SidebarMenuSubButton;exports.SidebarMenuSubItem=e.SidebarMenuSubItem;exports.SidebarProvider=e.SidebarProvider;exports.SidebarRail=e.SidebarRail;exports.SidebarSeparator=e.SidebarSeparator;exports.SidebarTrigger=e.SidebarTrigger;exports.Toast=a.toast;exports.Toaster=a.Toaster;exports.toast=a.toast;exports.Tooltip=ge.Tooltip;exports.Upload=me.Upload;exports.useQRCode=xe.useQRCode;exports.useStepper=fe.useStepper;exports.DataTable=Re.DataTable;exports.DataTablePagination=Ie.DataTablePagination;exports.ResizableHandle=n.ResizableHandle;exports.ResizablePanel=n.ResizablePanel;exports.ResizablePanelGroup=n.ResizablePanelGroup;exports.AccordionContent=s.AccordionContent;exports.AccordionItem=s.AccordionItem;exports.AccordionTrigger=s.AccordionTrigger;exports.ImageViewer=l.ImageViewer;exports.ImageViewerGroup=l.ImageViewerGroup;exports.ImageViewerImage=l.ImageViewerImage;exports.Carousel=b.Carousel;exports.CarouselSlide=b.CarouselSlide;exports.Cropper=o.Root;exports.CropperArea=o.Area;exports.CropperImage=o.Image;exports.CropperVideo=o.Video;exports.useCropper=o.useCropper;exports.CropperTool=S.CropperTool;exports.useCropperTool=S.useCropperTool;exports.base64ToBlob=t.base64ToBlob;exports.base64ToFile=t.base64ToFile;exports.downloadImage=t.downloadImage;exports.getCroppedImg=t.getCroppedImg;exports.rotateSize=t.rotateSize;exports.Cursor=r.Cursor;exports.CursorFollow=r.CursorFollow;exports.CursorProvider=r.CursorProvider;exports.TRANSITION_PRESETS=r.TRANSITION_PRESETS;exports.useCursor=r.useCursor;exports.useCursorFollow=r.useCursorFollow;exports.Item=u.Item;exports.MasonryItem=u.MasonryItem;exports.MasonryRoot=u.MasonryRoot;exports.Root=u.Root;exports.Masonry=p.Masonry;exports.MasonryComponent=p.MasonryComponent;exports.RotatingText=Me.RotatingText;exports.FlipWords=Pe.FlipWords;exports.GradientText=Ge.GradientText;exports.RollingText=ke.RollingText;exports.ShimmeringText=we.ShimmeringText;exports.SplittingText=Be.SplittingText;exports.TextGenerateEffect=Ae.TextGenerateEffect;exports.TextHoverEffect=De.TextHoverEffect;exports.WritingText=ve.WritingText;
2
2
  //# sourceMappingURL=index.cjs.map
@@ -1,142 +1,152 @@
1
- import { jsx as r, jsxs as m, Fragment as D } from "react/jsx-runtime";
2
- import d from "react";
3
- import { MultiSelect as F, MultiSelectTrigger as J, MultiSelectValue as K, MultiSelectContent as P, MultiSelectGroup as Q, MultiSelectItem as k, MultiSelectSeparator as U } from "../../packages/ui/src/components/select.js";
4
- import { Combobox as W } from "../../packages/ui/src/components/combobox.js";
5
- import { cn as o } from "../../packages/ui/src/lib/utils.js";
6
- import { FloatingLabel as E } from "../FloatLabel.js";
7
- import { Info as X } from "lucide-react";
8
- import { Tooltip as Y } from "../Tooltip/Tooltip.js";
9
- const Z = d.forwardRef(
1
+ import { jsx as r, jsxs as m, Fragment as U } from "react/jsx-runtime";
2
+ import s from "react";
3
+ import { MultiSelect as W, MultiSelectTrigger as X, MultiSelectValue as Y, MultiSelectContent as Z, MultiSelectGroup as $, MultiSelectItem as G, MultiSelectSeparator as B } from "../../packages/ui/src/components/select.js";
4
+ import { Combobox as F } from "../../packages/ui/src/components/combobox.js";
5
+ import { cn as u } from "../../packages/ui/src/lib/utils.js";
6
+ import { FloatingLabel as H } from "../FloatLabel.js";
7
+ import { Info as R } from "lucide-react";
8
+ import { Tooltip as z } from "../Tooltip/Tooltip.js";
9
+ const L = s.forwardRef(
10
10
  ({
11
- className: v,
12
- label: u,
11
+ className: M,
12
+ label: o,
13
13
  helperText: w,
14
14
  state: f = "default",
15
15
  size: t = "normal",
16
- isFloatLabel: c,
16
+ isFloatLabel: n,
17
17
  infoTooltip: p,
18
18
  clearable: y = !1,
19
- placeholder: M = "",
20
- options: g = [],
21
- tagRender: s,
22
- multiple: x = !1,
23
- value: n,
24
- defaultValue: V,
25
- onValueChange: N,
26
- values: _,
27
- defaultValues: S,
28
- onValuesChange: G,
19
+ placeholder: N = "",
20
+ options: x = [],
21
+ tagRender: d,
22
+ multiple: S = !1,
23
+ value: a,
24
+ defaultValue: O,
25
+ onValueChange: b,
26
+ values: T,
27
+ defaultValues: v,
28
+ onValuesChange: I,
29
29
  search: h,
30
- clickToRemove: H = !0,
31
- overflowBehavior: O = "wrap-when-open",
32
- disabled: b
33
- }, T) => {
34
- const i = d.useId(), [C, I] = d.useState(
35
- n ?? V ?? ""
30
+ clickToRemove: q = !0,
31
+ overflowBehavior: A = "wrap-when-open",
32
+ disabled: j,
33
+ onChange: g,
34
+ onFocus: C,
35
+ onBlur: k
36
+ }, D) => {
37
+ const i = s.useId(), [E, V] = s.useState(
38
+ a ?? O ?? ""
36
39
  );
37
- d.useEffect(() => {
38
- !x && n !== void 0 && I(n);
39
- }, [x, n]);
40
- const q = d.useCallback(
40
+ s.useEffect(() => {
41
+ !S && a !== void 0 && V(a);
42
+ }, [S, a]);
43
+ const J = s.useCallback(
41
44
  (l) => {
42
- const a = l || "";
43
- n === void 0 && I(a), N?.(a);
45
+ const c = l || "";
46
+ a === void 0 && V(c), b?.(c), g?.(c);
44
47
  },
45
- [N, n]
46
- ), A = {
48
+ [b, g, a]
49
+ ), K = s.useCallback(
50
+ (l) => {
51
+ I?.(l), g?.(l);
52
+ },
53
+ [I, g]
54
+ ), P = {
47
55
  default: "text-muted-foreground",
48
56
  success: "text-success",
49
57
  warning: "text-warning",
50
58
  error: "text-error"
51
- }, j = c ? t === "xl" || t === "lg" ? t : "xl" : t, B = d.useMemo(() => {
59
+ }, _ = n ? t === "xl" || t === "lg" ? t : "xl" : t, Q = s.useMemo(() => {
52
60
  const l = /* @__PURE__ */ new Map();
53
- return g.forEach((a) => {
54
- const e = a.group;
55
- l.has(e) || l.set(e, []), l.get(e).push(a);
61
+ return x.forEach((c) => {
62
+ const e = c.group;
63
+ l.has(e) || l.set(e, []), l.get(e).push(c);
56
64
  }), l;
57
- }, [g]);
58
- return /* @__PURE__ */ r("div", { className: v, children: /* @__PURE__ */ m(
65
+ }, [x]);
66
+ return /* @__PURE__ */ r("div", { className: M, children: /* @__PURE__ */ m(
59
67
  "div",
60
68
  {
61
- ref: T,
62
- className: o("flex flex-col gap-1.5 relative", {
63
- "floating-label relative": c
69
+ ref: D,
70
+ className: u("flex flex-col gap-1.5 relative", {
71
+ "floating-label relative": n
64
72
  }),
65
73
  children: [
66
- !c && u && /* @__PURE__ */ m(
74
+ !n && o && /* @__PURE__ */ m(
67
75
  "label",
68
76
  {
69
77
  htmlFor: i,
70
78
  className: "flex gap-2 text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70",
71
79
  children: [
72
- u,
73
- p && /* @__PURE__ */ r(Y, { content: p, children: /* @__PURE__ */ r(X, { className: "size-3.5 min-w-3.5" }) })
80
+ o,
81
+ p && /* @__PURE__ */ r(z, { content: p, children: /* @__PURE__ */ r(R, { className: "size-3.5 min-w-3.5" }) })
74
82
  ]
75
83
  }
76
84
  ),
77
- /* @__PURE__ */ r("div", { className: "relative", children: x ? (
85
+ /* @__PURE__ */ r("div", { className: "relative", children: S ? (
78
86
  // Multi Mode
79
87
  /* @__PURE__ */ m(
80
- F,
88
+ W,
81
89
  {
82
- values: _,
83
- defaultValues: typeof S == "string" ? [S] : S,
84
- onValuesChange: G,
90
+ values: T,
91
+ defaultValues: typeof v == "string" ? [v] : v,
92
+ onValuesChange: K,
85
93
  children: [
86
94
  /* @__PURE__ */ r(
87
- J,
95
+ X,
88
96
  {
89
97
  id: i,
90
- disabled: b,
91
- className: o(
98
+ disabled: j,
99
+ className: u(
92
100
  "peer w-full",
93
101
  {
94
- "pt-5 pb-1": c && t !== "lg"
102
+ "pt-5 pb-1": n && t !== "lg"
95
103
  },
96
- v
104
+ M
97
105
  ),
98
- size: j,
106
+ size: _,
99
107
  state: f,
108
+ onFocus: C,
109
+ onBlur: k,
100
110
  children: /* @__PURE__ */ r(
101
- K,
111
+ Y,
102
112
  {
103
- placeholder: M,
104
- clickToRemove: H && y,
105
- overflowBehavior: O
113
+ placeholder: N,
114
+ clickToRemove: q && y,
115
+ overflowBehavior: A
106
116
  }
107
117
  )
108
118
  }
109
119
  ),
110
- c && /* @__PURE__ */ r(
111
- E,
120
+ n && /* @__PURE__ */ r(
121
+ H,
112
122
  {
113
123
  htmlFor: i,
114
124
  size: t,
115
125
  infoTooltip: p,
116
- children: u
126
+ children: o
117
127
  }
118
128
  ),
119
- /* @__PURE__ */ r(P, { search: h, children: [...B.entries()].map(([l, a]) => l ? /* @__PURE__ */ m(d.Fragment, { children: [
120
- /* @__PURE__ */ r(Q, { heading: l, children: a.map((e) => /* @__PURE__ */ r(
121
- k,
129
+ /* @__PURE__ */ r(Z, { search: h, children: [...Q.entries()].map(([l, c]) => l ? /* @__PURE__ */ m(s.Fragment, { children: [
130
+ /* @__PURE__ */ r($, { heading: l, children: c.map((e) => /* @__PURE__ */ r(
131
+ G,
122
132
  {
123
133
  value: e.value,
124
134
  disabled: e?.disabled,
125
135
  icon: e?.icon,
126
- tagRender: !!s,
127
- children: s ? s(e) : e.label
136
+ tagRender: !!d,
137
+ children: d ? d(e) : e.label
128
138
  },
129
139
  e.value
130
140
  )) }),
131
- /* @__PURE__ */ r(U, {})
132
- ] }, l) : a.map((e) => /* @__PURE__ */ r(
133
- k,
141
+ /* @__PURE__ */ r(B, {})
142
+ ] }, l) : c.map((e) => /* @__PURE__ */ r(
143
+ G,
134
144
  {
135
145
  value: e.value,
136
146
  disabled: e?.disabled,
137
147
  icon: e?.icon,
138
- tagRender: !!s,
139
- children: s ? s(e) : e.label
148
+ tagRender: !!d,
149
+ children: d ? d(e) : e.label
140
150
  },
141
151
  e.value
142
152
  ))) })
@@ -145,55 +155,57 @@ const Z = d.forwardRef(
145
155
  )
146
156
  ) : (
147
157
  // Single Mode
148
- /* @__PURE__ */ m(D, { children: [
158
+ /* @__PURE__ */ m(U, { children: [
149
159
  /* @__PURE__ */ r(
150
- W,
160
+ F,
151
161
  {
152
- value: n ?? C,
153
- options: g,
154
- placeHolder: M,
162
+ value: a ?? E,
163
+ options: x,
164
+ placeHolder: N,
155
165
  emptyText: typeof h == "object" ? h.emptyMessage : "No results found",
156
- onChange: q,
166
+ onChange: J,
157
167
  clearable: y,
158
- disabled: b,
168
+ disabled: j,
159
169
  id: i,
160
- className: o(
170
+ className: u(
161
171
  "peer w-full justify-start",
162
172
  {
163
- "pt-5 pb-1": c && t !== "lg"
173
+ "pt-5 pb-1": n && t !== "lg"
164
174
  }
165
175
  // className,
166
176
  ),
167
- size: j,
177
+ size: _,
168
178
  state: f,
169
- dropdownClassName: o("opacity-40", {
170
- "translate-y-[-8px]": c && t !== "lg"
179
+ dropdownClassName: u("opacity-40", {
180
+ "translate-y-[-8px]": n && t !== "lg"
171
181
  }),
172
182
  searchable: !!h,
173
- tagRender: s
183
+ tagRender: d,
184
+ onFocus: C,
185
+ onBlur: k
174
186
  }
175
187
  ),
176
- c && /* @__PURE__ */ r(
177
- E,
188
+ n && /* @__PURE__ */ r(
189
+ H,
178
190
  {
179
191
  htmlFor: i,
180
192
  size: t,
181
193
  infoTooltip: p,
182
- shouldFloat: !!(n ?? C),
194
+ shouldFloat: !!(a ?? E),
183
195
  className: "pointer-events-none",
184
- children: u
196
+ children: o
185
197
  }
186
198
  )
187
199
  ] })
188
200
  ) }),
189
- w && /* @__PURE__ */ r("p", { className: o("text-xs", f ? A[f] : ""), children: w })
201
+ w && /* @__PURE__ */ r("p", { className: u("text-xs", f ? P[f] : ""), children: w })
190
202
  ]
191
203
  }
192
204
  ) });
193
205
  }
194
206
  );
195
- Z.displayName = "Select";
207
+ L.displayName = "Select";
196
208
  export {
197
- Z as default
209
+ L as default
198
210
  };
199
211
  //# sourceMappingURL=Select.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Select.js","sources":["../../../../src/components/Select/Select.tsx"],"sourcesContent":["import React from \"react\";\nimport {\n MultiSelect as BaseMultiSelect,\n MultiSelectTrigger as BaseMultiSelectTrigger,\n MultiSelectValue as BaseMultiSelectValue,\n MultiSelectContent as BaseMultiSelectContent,\n MultiSelectItem as BaseMultiSelectItem,\n MultiSelectGroup as BaseMultiSelectGroup,\n MultiSelectSeparator as BaseMultiSelectSeparator,\n} from \"@dsui/ui/components/select\";\nimport {\n Combobox,\n type ComboboxProps,\n type SelectOption as SSelectOption,\n} from \"@dsui/ui/components/combobox\";\nimport { cn } from \"@dsui/ui/lib/utils\";\nimport { FloatingLabel } from \"@/components/FloatLabel\";\nimport { Info } from \"lucide-react\";\nimport { Tooltip } from \"../Tooltip/Tooltip\";\n\nexport type SelectOption = SSelectOption;\n\nexport type SelectProps = ComboboxProps & {\n label?: string;\n helperText?: React.ReactNode;\n state?: \"default\" | \"success\" | \"warning\" | \"error\";\n size?: \"xs\" | \"sm\" | \"normal\" | \"lg\" | \"xl\";\n isFloatLabel?: boolean;\n infoTooltip?: React.ReactNode;\n clearable?: boolean;\n placeholder?: string;\n options?: SelectOption[];\n tagRender?: (option: SelectOption) => React.ReactNode;\n multiple?: boolean;\n value?: string;\n defaultValue?: string;\n onValueChange?: (value: string) => void;\n values?: string[];\n defaultValues?: string | string[];\n onValuesChange?: (values: string[]) => void;\n search?: boolean | { placeholder?: string; emptyMessage?: string };\n clickToRemove?: boolean;\n overflowBehavior?: \"wrap\" | \"wrap-when-open\" | \"cutoff\";\n className?: string;\n disabled?: boolean;\n};\n\nconst Select = React.forwardRef<HTMLDivElement, SelectProps>(\n (\n {\n className,\n label,\n helperText,\n state = \"default\",\n size = \"normal\",\n isFloatLabel,\n infoTooltip,\n clearable = false,\n placeholder = \"\",\n options = [],\n tagRender,\n multiple = false,\n value,\n defaultValue,\n onValueChange,\n values,\n defaultValues,\n onValuesChange,\n search,\n clickToRemove = true,\n overflowBehavior = \"wrap-when-open\",\n disabled,\n },\n ref\n ) => {\n const selectId = React.useId();\n\n // For single select, use controlled value or internal state\n const [internalValue, setInternalValue] = React.useState(\n value ?? defaultValue ?? \"\"\n );\n\n React.useEffect(() => {\n if (!multiple && value !== undefined) {\n setInternalValue(value);\n }\n }, [multiple, value]);\n\n // Handle single select value change\n const handleSingleValueChange = React.useCallback(\n (newValue?: string | null) => {\n const val = newValue || \"\";\n if (value === undefined) {\n setInternalValue(val);\n }\n onValueChange?.(val);\n },\n [onValueChange, value]\n );\n\n // Helper text styles\n const helperTextStyles = {\n default: \"text-muted-foreground\",\n success: \"text-success\",\n warning: \"text-warning\",\n error: \"text-error\",\n };\n\n // Calculate current size\n const currentSize = isFloatLabel\n ? size === \"xl\" || size === \"lg\"\n ? size\n : \"xl\"\n : size;\n\n // Group options by group property\n const groupedOptions = React.useMemo(() => {\n const groups = new Map<string | undefined, SelectOption[]>();\n options.forEach((option) => {\n const group = option.group;\n if (!groups.has(group)) {\n groups.set(group, []);\n }\n groups.get(group)!.push(option);\n });\n return groups;\n }, [options]);\n\n return (\n <div className={className}>\n <div\n ref={ref}\n className={cn(\"flex flex-col gap-1.5 relative\", {\n \"floating-label relative\": isFloatLabel,\n })}\n >\n {!isFloatLabel && label && (\n <label\n htmlFor={selectId}\n className=\"flex gap-2 text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70\"\n >\n {label}\n {infoTooltip && (\n <Tooltip content={infoTooltip}>\n <Info className=\"size-3.5 min-w-3.5\" />\n </Tooltip>\n )}\n </label>\n )}\n\n <div className=\"relative\">\n {!multiple ? (\n // Single Mode\n <>\n <Combobox\n value={value ?? internalValue}\n options={options}\n placeHolder={placeholder}\n emptyText={\n typeof search === \"object\"\n ? search.emptyMessage\n : \"No results found\"\n }\n onChange={handleSingleValueChange}\n clearable={clearable}\n disabled={disabled}\n id={selectId}\n className={cn(\n \"peer w-full justify-start\",\n {\n \"pt-5 pb-1\": isFloatLabel && size !== \"lg\",\n }\n // className,\n )}\n size={currentSize}\n state={state}\n dropdownClassName={cn(\"opacity-40\", {\n \"translate-y-[-8px]\": isFloatLabel && size !== \"lg\",\n })}\n searchable={!!search}\n tagRender={tagRender}\n />\n {isFloatLabel && (\n <FloatingLabel\n htmlFor={selectId}\n size={size}\n infoTooltip={infoTooltip}\n shouldFloat={!!(value ?? internalValue)}\n className=\"pointer-events-none\"\n >\n {label}\n </FloatingLabel>\n )}\n </>\n ) : (\n // Multi Mode\n <BaseMultiSelect\n values={values}\n defaultValues={\n typeof defaultValues === \"string\"\n ? [defaultValues]\n : defaultValues\n }\n onValuesChange={onValuesChange}\n >\n <BaseMultiSelectTrigger\n id={selectId}\n disabled={disabled}\n className={cn(\n \"peer w-full\",\n {\n \"pt-5 pb-1\": isFloatLabel && size !== \"lg\",\n },\n className\n )}\n size={currentSize}\n state={state}\n >\n <BaseMultiSelectValue\n placeholder={placeholder}\n clickToRemove={clickToRemove && clearable}\n overflowBehavior={overflowBehavior}\n />\n </BaseMultiSelectTrigger>\n\n {isFloatLabel && (\n <FloatingLabel\n htmlFor={selectId}\n size={size}\n infoTooltip={infoTooltip}\n >\n {label}\n </FloatingLabel>\n )}\n\n <BaseMultiSelectContent search={search}>\n {[...groupedOptions.entries()].map(([group, items]) => {\n if (group) {\n return (\n <React.Fragment key={group}>\n <BaseMultiSelectGroup heading={group}>\n {items.map((option) => (\n <BaseMultiSelectItem\n key={option.value}\n value={option.value}\n disabled={option?.disabled}\n icon={option?.icon}\n tagRender={!!tagRender}\n >\n {tagRender ? tagRender(option) : option.label}\n </BaseMultiSelectItem>\n ))}\n </BaseMultiSelectGroup>\n <BaseMultiSelectSeparator />\n </React.Fragment>\n );\n }\n return items.map((option) => (\n <BaseMultiSelectItem\n key={option.value}\n value={option.value}\n disabled={option?.disabled}\n icon={option?.icon}\n tagRender={!!tagRender}\n >\n {tagRender ? tagRender(option) : option.label}\n </BaseMultiSelectItem>\n ));\n })}\n </BaseMultiSelectContent>\n </BaseMultiSelect>\n )}\n </div>\n\n {helperText && (\n <p className={cn(\"text-xs\", state ? helperTextStyles[state] : \"\")}>\n {helperText}\n </p>\n )}\n </div>\n </div>\n );\n }\n);\n\nSelect.displayName = \"Select\";\nexport default Select;\n"],"names":["Select","React","className","label","helperText","state","size","isFloatLabel","infoTooltip","clearable","placeholder","options","tagRender","multiple","value","defaultValue","onValueChange","values","defaultValues","onValuesChange","search","clickToRemove","overflowBehavior","disabled","ref","selectId","internalValue","setInternalValue","handleSingleValueChange","newValue","val","helperTextStyles","currentSize","groupedOptions","groups","option","group","jsx","jsxs","cn","Tooltip","Info","BaseMultiSelect","BaseMultiSelectTrigger","BaseMultiSelectValue","FloatingLabel","BaseMultiSelectContent","items","BaseMultiSelectGroup","BaseMultiSelectItem","BaseMultiSelectSeparator","Fragment","Combobox"],"mappings":"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"}
1
+ {"version":3,"file":"Select.js","sources":["../../../../src/components/Select/Select.tsx"],"sourcesContent":["import React from \"react\";\nimport {\n MultiSelect as BaseMultiSelect,\n MultiSelectTrigger as BaseMultiSelectTrigger,\n MultiSelectValue as BaseMultiSelectValue,\n MultiSelectContent as BaseMultiSelectContent,\n MultiSelectItem as BaseMultiSelectItem,\n MultiSelectGroup as BaseMultiSelectGroup,\n MultiSelectSeparator as BaseMultiSelectSeparator,\n} from \"@dsui/ui/components/select\";\nimport {\n Combobox,\n type ComboboxProps,\n type SelectOption as SSelectOption,\n} from \"@dsui/ui/components/combobox\";\nimport { cn } from \"@dsui/ui/lib/utils\";\nimport { FloatingLabel } from \"@/components/FloatLabel\";\nimport { Info } from \"lucide-react\";\nimport { Tooltip } from \"../Tooltip/Tooltip\";\n\nexport type SelectOption = SSelectOption;\n\nexport type SelectProps = Omit<ComboboxProps, \"ref\"> & {\n label?: string;\n helperText?: React.ReactNode;\n state?: \"default\" | \"success\" | \"warning\" | \"error\";\n size?: \"xs\" | \"sm\" | \"normal\" | \"lg\" | \"xl\";\n isFloatLabel?: boolean;\n infoTooltip?: React.ReactNode;\n clearable?: boolean;\n placeholder?: string;\n options?: SelectOption[];\n tagRender?: (option: SelectOption) => React.ReactNode;\n multiple?: boolean;\n value?: string;\n defaultValue?: string;\n onValueChange?: (value: string) => void;\n values?: string[];\n defaultValues?: string | string[];\n onValuesChange?: (values: string[]) => void;\n search?: boolean | { placeholder?: string; emptyMessage?: string };\n clickToRemove?: boolean;\n overflowBehavior?: \"wrap\" | \"wrap-when-open\" | \"cutoff\";\n className?: string;\n disabled?: boolean;\n onChange?: (value: string | string[]) => void;\n onFocus?: (event: React.FocusEvent<HTMLInputElement>) => void;\n onBlur?: (event: React.FocusEvent<HTMLInputElement>) => void;\n};\n\nconst Select = React.forwardRef<HTMLDivElement, SelectProps>(\n (\n {\n className,\n label,\n helperText,\n state = \"default\",\n size = \"normal\",\n isFloatLabel,\n infoTooltip,\n clearable = false,\n placeholder = \"\",\n options = [],\n tagRender,\n multiple = false,\n value,\n defaultValue,\n onValueChange,\n values,\n defaultValues,\n onValuesChange,\n search,\n clickToRemove = true,\n overflowBehavior = \"wrap-when-open\",\n disabled,\n onChange,\n onFocus,\n onBlur,\n },\n ref\n ) => {\n const selectId = React.useId();\n\n // For single select, use controlled value or internal state\n const [internalValue, setInternalValue] = React.useState(\n value ?? defaultValue ?? \"\"\n );\n\n React.useEffect(() => {\n if (!multiple && value !== undefined) {\n setInternalValue(value);\n }\n }, [multiple, value]);\n\n // Handle single select value change\n const handleSingleValueChange = React.useCallback(\n (newValue?: string | null) => {\n const val = newValue || \"\";\n if (value === undefined) {\n setInternalValue(val);\n }\n onValueChange?.(val);\n onChange?.(val);\n },\n [onValueChange, onChange, value]\n );\n\n // Handle multi select values change\n const handleMultiValuesChange = React.useCallback(\n (newValues: string[]) => {\n onValuesChange?.(newValues);\n onChange?.(newValues);\n },\n [onValuesChange, onChange]\n );\n\n // Helper text styles\n const helperTextStyles = {\n default: \"text-muted-foreground\",\n success: \"text-success\",\n warning: \"text-warning\",\n error: \"text-error\",\n };\n\n // Calculate current size\n const currentSize = isFloatLabel\n ? size === \"xl\" || size === \"lg\"\n ? size\n : \"xl\"\n : size;\n\n // Group options by group property\n const groupedOptions = React.useMemo(() => {\n const groups = new Map<string | undefined, SelectOption[]>();\n options.forEach((option) => {\n const group = option.group;\n if (!groups.has(group)) {\n groups.set(group, []);\n }\n groups.get(group)!.push(option);\n });\n return groups;\n }, [options]);\n\n return (\n <div className={className}>\n <div\n ref={ref}\n className={cn(\"flex flex-col gap-1.5 relative\", {\n \"floating-label relative\": isFloatLabel,\n })}\n >\n {!isFloatLabel && label && (\n <label\n htmlFor={selectId}\n className=\"flex gap-2 text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70\"\n >\n {label}\n {infoTooltip && (\n <Tooltip content={infoTooltip}>\n <Info className=\"size-3.5 min-w-3.5\" />\n </Tooltip>\n )}\n </label>\n )}\n\n <div className=\"relative\">\n {!multiple ? (\n // Single Mode\n <>\n <Combobox\n value={value ?? internalValue}\n options={options}\n placeHolder={placeholder}\n emptyText={\n typeof search === \"object\"\n ? search.emptyMessage\n : \"No results found\"\n }\n onChange={handleSingleValueChange}\n clearable={clearable}\n disabled={disabled}\n id={selectId}\n className={cn(\n \"peer w-full justify-start\",\n {\n \"pt-5 pb-1\": isFloatLabel && size !== \"lg\",\n }\n // className,\n )}\n size={currentSize}\n state={state}\n dropdownClassName={cn(\"opacity-40\", {\n \"translate-y-[-8px]\": isFloatLabel && size !== \"lg\",\n })}\n searchable={!!search}\n tagRender={tagRender}\n onFocus={onFocus}\n onBlur={onBlur}\n />\n {isFloatLabel && (\n <FloatingLabel\n htmlFor={selectId}\n size={size}\n infoTooltip={infoTooltip}\n shouldFloat={!!(value ?? internalValue)}\n className=\"pointer-events-none\"\n >\n {label}\n </FloatingLabel>\n )}\n </>\n ) : (\n // Multi Mode\n <BaseMultiSelect\n values={values}\n defaultValues={\n typeof defaultValues === \"string\"\n ? [defaultValues]\n : defaultValues\n }\n onValuesChange={handleMultiValuesChange}\n >\n <BaseMultiSelectTrigger\n id={selectId}\n disabled={disabled}\n className={cn(\n \"peer w-full\",\n {\n \"pt-5 pb-1\": isFloatLabel && size !== \"lg\",\n },\n className\n )}\n size={currentSize}\n state={state}\n onFocus={onFocus}\n onBlur={onBlur}\n >\n <BaseMultiSelectValue\n placeholder={placeholder}\n clickToRemove={clickToRemove && clearable}\n overflowBehavior={overflowBehavior}\n />\n </BaseMultiSelectTrigger>\n\n {isFloatLabel && (\n <FloatingLabel\n htmlFor={selectId}\n size={size}\n infoTooltip={infoTooltip}\n >\n {label}\n </FloatingLabel>\n )}\n\n <BaseMultiSelectContent search={search}>\n {[...groupedOptions.entries()].map(([group, items]) => {\n if (group) {\n return (\n <React.Fragment key={group}>\n <BaseMultiSelectGroup heading={group}>\n {items.map((option) => (\n <BaseMultiSelectItem\n key={option.value}\n value={option.value}\n disabled={option?.disabled}\n icon={option?.icon}\n tagRender={!!tagRender}\n >\n {tagRender ? tagRender(option) : option.label}\n </BaseMultiSelectItem>\n ))}\n </BaseMultiSelectGroup>\n <BaseMultiSelectSeparator />\n </React.Fragment>\n );\n }\n return items.map((option) => (\n <BaseMultiSelectItem\n key={option.value}\n value={option.value}\n disabled={option?.disabled}\n icon={option?.icon}\n tagRender={!!tagRender}\n >\n {tagRender ? tagRender(option) : option.label}\n </BaseMultiSelectItem>\n ));\n })}\n </BaseMultiSelectContent>\n </BaseMultiSelect>\n )}\n </div>\n\n {helperText && (\n <p className={cn(\"text-xs\", state ? helperTextStyles[state] : \"\")}>\n {helperText}\n </p>\n )}\n </div>\n </div>\n );\n }\n);\n\nSelect.displayName = \"Select\";\nexport default Select;\n"],"names":["Select","React","className","label","helperText","state","size","isFloatLabel","infoTooltip","clearable","placeholder","options","tagRender","multiple","value","defaultValue","onValueChange","values","defaultValues","onValuesChange","search","clickToRemove","overflowBehavior","disabled","onChange","onFocus","onBlur","ref","selectId","internalValue","setInternalValue","handleSingleValueChange","newValue","val","handleMultiValuesChange","newValues","helperTextStyles","currentSize","groupedOptions","groups","option","group","jsx","jsxs","cn","Tooltip","Info","BaseMultiSelect","BaseMultiSelectTrigger","BaseMultiSelectValue","FloatingLabel","BaseMultiSelectContent","items","BaseMultiSelectGroup","BaseMultiSelectItem","BaseMultiSelectSeparator","Fragment","Combobox"],"mappings":"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"}
package/dist/esm/index.js CHANGED
@@ -228,7 +228,7 @@ export {
228
228
  ce as Toggle,
229
229
  Po as Tooltip,
230
230
  z as Tour,
231
- xr as TreeSelect,
231
+ xr as TreeView,
232
232
  Fe as TypingText,
233
233
  Bo as Upload,
234
234
  Z as WheelColumn,
@@ -1,7 +1,7 @@
1
1
  import React from "react";
2
2
  import { type ComboboxProps, type SelectOption as SSelectOption } from "../../packages/ui/src/components/combobox";
3
3
  export type SelectOption = SSelectOption;
4
- export type SelectProps = ComboboxProps & {
4
+ export type SelectProps = Omit<ComboboxProps, "ref"> & {
5
5
  label?: string;
6
6
  helperText?: React.ReactNode;
7
7
  state?: "default" | "success" | "warning" | "error";
@@ -27,7 +27,39 @@ export type SelectProps = ComboboxProps & {
27
27
  overflowBehavior?: "wrap" | "wrap-when-open" | "cutoff";
28
28
  className?: string;
29
29
  disabled?: boolean;
30
+ onChange?: (value: string | string[]) => void;
31
+ onFocus?: (event: React.FocusEvent<HTMLInputElement>) => void;
32
+ onBlur?: (event: React.FocusEvent<HTMLInputElement>) => void;
30
33
  };
31
- declare const Select: React.ForwardRefExoticComponent<Omit<SelectProps, "ref"> & React.RefAttributes<HTMLDivElement>>;
34
+ declare const Select: React.ForwardRefExoticComponent<Omit<ComboboxProps, "ref"> & {
35
+ label?: string;
36
+ helperText?: React.ReactNode;
37
+ state?: "default" | "success" | "warning" | "error";
38
+ size?: "xs" | "sm" | "normal" | "lg" | "xl";
39
+ isFloatLabel?: boolean;
40
+ infoTooltip?: React.ReactNode;
41
+ clearable?: boolean;
42
+ placeholder?: string;
43
+ options?: SelectOption[];
44
+ tagRender?: (option: SelectOption) => React.ReactNode;
45
+ multiple?: boolean;
46
+ value?: string;
47
+ defaultValue?: string;
48
+ onValueChange?: (value: string) => void;
49
+ values?: string[];
50
+ defaultValues?: string | string[];
51
+ onValuesChange?: (values: string[]) => void;
52
+ search?: boolean | {
53
+ placeholder?: string;
54
+ emptyMessage?: string;
55
+ };
56
+ clickToRemove?: boolean;
57
+ overflowBehavior?: "wrap" | "wrap-when-open" | "cutoff";
58
+ className?: string;
59
+ disabled?: boolean;
60
+ onChange?: (value: string | string[]) => void;
61
+ onFocus?: (event: React.FocusEvent<HTMLInputElement>) => void;
62
+ onBlur?: (event: React.FocusEvent<HTMLInputElement>) => void;
63
+ } & React.RefAttributes<HTMLDivElement>>;
32
64
  export default Select;
33
65
  //# sourceMappingURL=Select.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Select.d.ts","sourceRoot":"","sources":["../../../../../../../src/components/Select/Select.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAU1B,OAAO,EAEL,KAAK,aAAa,EAClB,KAAK,YAAY,IAAI,aAAa,EACnC,MAAM,8BAA8B,CAAC;AAMtC,MAAM,MAAM,YAAY,GAAG,aAAa,CAAC;AAEzC,MAAM,MAAM,WAAW,GAAG,aAAa,GAAG;IACxC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC7B,KAAK,CAAC,EAAE,SAAS,GAAG,SAAS,GAAG,SAAS,GAAG,OAAO,CAAC;IACpD,IAAI,CAAC,EAAE,IAAI,GAAG,IAAI,GAAG,QAAQ,GAAG,IAAI,GAAG,IAAI,CAAC;IAC5C,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,WAAW,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC9B,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,YAAY,EAAE,CAAC;IACzB,SAAS,CAAC,EAAE,CAAC,MAAM,EAAE,YAAY,KAAK,KAAK,CAAC,SAAS,CAAC;IACtD,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACxC,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,aAAa,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IAClC,cAAc,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,IAAI,CAAC;IAC5C,MAAM,CAAC,EAAE,OAAO,GAAG;QAAE,WAAW,CAAC,EAAE,MAAM,CAAC;QAAC,YAAY,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IACnE,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,gBAAgB,CAAC,EAAE,MAAM,GAAG,gBAAgB,GAAG,QAAQ,CAAC;IACxD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB,CAAC;AAEF,QAAA,MAAM,MAAM,iGA4OX,CAAC;AAGF,eAAe,MAAM,CAAC"}
1
+ {"version":3,"file":"Select.d.ts","sourceRoot":"","sources":["../../../../../../../src/components/Select/Select.tsx"],"names":[],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- export { TreeView as TreeSelect, TreeView as default, type TreeDataItem, } from "./TreeSelect";
1
+ export { TreeView, type TreeDataItem } from "./TreeSelect";
2
2
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../../src/components/TreeSelect/index.tsx"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,IAAI,UAAU,EACtB,QAAQ,IAAI,OAAO,EACnB,KAAK,YAAY,GAClB,MAAM,cAAc,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../../src/components/TreeSelect/index.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,KAAK,YAAY,EAAE,MAAM,cAAc,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sth87/shadcn-design-system",
3
- "version": "0.0.22",
3
+ "version": "0.0.23",
4
4
  "type": "module",
5
5
  "description": "A modern React design system base on Shadcn UI and Tailwind CSS.",
6
6
  "author": "Sonth87 <sonth87@gmail.com>",