@solace-health/ui 0.10.719 → 0.10.721
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/chunk-6K6WXMWB.cjs +2 -0
- package/dist/chunk-6K6WXMWB.cjs.map +1 -0
- package/dist/chunk-K63JFA6C.cjs +2 -0
- package/dist/chunk-K63JFA6C.cjs.map +1 -0
- package/dist/chunk-N27L7K64.js +2 -0
- package/dist/chunk-N27L7K64.js.map +1 -0
- package/dist/chunk-UQCNRDXB.js +2 -0
- package/dist/chunk-UQCNRDXB.js.map +1 -0
- package/dist/metafile-cjs.json +1 -1
- package/dist/metafile-esm.json +1 -1
- package/dist/v2/address-input/address-input.cjs +1 -1
- package/dist/v2/address-input/address-input.js +1 -1
- package/dist/v2/combobox/combobox.cjs +1 -1
- package/dist/v2/combobox/combobox.d.ts +6 -0
- package/dist/v2/combobox/combobox.js +1 -1
- package/dist/v2/combobox/combobox.stories.d.ts +1 -0
- package/dist/v2/date-picker/date-picker-input.cjs +1 -1
- package/dist/v2/date-picker/date-picker-input.js +1 -1
- package/dist/v2/date-picker/date-picker.cjs +1 -1
- package/dist/v2/date-picker/date-picker.js +1 -1
- package/dist/v2/image-preview/image-preview.cjs +1 -1
- package/dist/v2/image-preview/image-preview.js +1 -1
- package/dist/v2/index.cjs +1 -1
- package/dist/v2/index.js +1 -1
- package/dist/v2/radio-button-group/radio-button-group.cjs +1 -1
- package/dist/v2/radio-button-group/radio-button-group.d.ts +1 -1
- package/dist/v2/radio-button-group/radio-button-group.js +1 -1
- package/dist/v2/radio-button-group/radio-button-group.stories.d.ts +1 -0
- package/dist/v2/time-select/time-select.cjs +1 -1
- package/dist/v2/time-select/time-select.js +1 -1
- package/package.json +2 -2
- package/dist/chunk-NRPSJWVS.js +0 -2
- package/dist/chunk-NRPSJWVS.js.map +0 -1
- package/dist/chunk-RW4X7LSI.cjs +0 -2
- package/dist/chunk-RW4X7LSI.cjs.map +0 -1
- package/dist/chunk-YNO7JCKX.cjs +0 -2
- package/dist/chunk-YNO7JCKX.cjs.map +0 -1
- package/dist/chunk-YOXQYCZI.js +0 -2
- package/dist/chunk-YOXQYCZI.js.map +0 -1
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/v2/radio-button-group/radio-button-group.tsx"],"names":["radioGroupVariants","cva","BasicRadioButtonGroupItem","label","value","className","props","jsxs","cn","jsx","RadioGroupItemHeader","children","RadioGroupItemContent","RadioGroupItemCollapseContent","open","motion","RadioGroupItemIcon","icon","unstyled","iconClassName","PiCheckCircleFill","RadioGroupItem","size","variant","Fragment","PiCheckBold","RadioButtonGroup","id","columns","items","itemClassName","item"],"mappings":"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","file":"chunk-NRPSJWVS.js","sourcesContent":["import { cva } from 'class-variance-authority';\nimport { motion } from 'motion/react';\nimport * as React from 'react';\nimport * as RadioGroupPrimitive from 'radix-ui/radio-group';\n\nimport { PiCheckBold, PiCheckCircleFill } from 'react-icons/pi';\nimport { cn } from '@/lib/utils';\nimport { type ButtonSize } from '@/v2/button/button';\n\ntype Variant = 'primary' | 'basic' | 'card' | 'dark';\n\ntype RadioButtonGroupItemProps = React.ComponentProps<typeof RadioGroupPrimitive.Item> & {\n label?: string | React.ReactElement;\n value: string;\n onValueChange?: (value: string) => void;\n size?: ButtonSize;\n variant?: Variant;\n};\n\nconst radioGroupVariants = cva(\n [\n 'focus-visible:border-ring',\n 'focus-visible:ring-ring/50',\n 'aria-invalid:ring-destructive/20',\n 'dark:aria-invalid:ring-destructive/40',\n 'aria-invalid:border-destructive',\n 'text-dark-green',\n 'disabled:text-secondary-foreground',\n 'h-auto',\n 'min-h-12',\n 'shrink-0',\n 'cursor-pointer',\n 'rounded-md',\n 'border',\n 'bg-white',\n 'px-4',\n 'py-3',\n 'leading-tight',\n 'font-bold',\n 'whitespace-normal',\n 'outline-none',\n 'hover:bg-green-100',\n 'focus-visible:ring-[3px]',\n 'disabled:pointer-events-none',\n 'disabled:border-gray-300',\n 'disabled:bg-white',\n 'disabled:opacity-50',\n '[&_svg]:pointer-events-none',\n '[&_svg]:shrink-0',\n \"[&_svg:not([class*='size-'])]:size-5\",\n ],\n {\n variants: {\n variant: {\n primary: ['inline-flex', 'items-center', 'justify-between', 'gap-2', 'transition-all'],\n dark: [\n 'inline-flex',\n 'items-center',\n 'justify-between',\n 'gap-2',\n 'transition-all',\n 'bg-transparent',\n 'text-white',\n 'hover:border-green-600',\n 'hover:bg-transparent',\n 'disabled:border-gray-500',\n 'disabled:bg-transparent',\n 'disabled:text-white',\n ],\n card: [\n 'group',\n 'w-full',\n 'grid',\n 'grid-cols-[1fr_auto]',\n 'gap-y-4',\n 'p-4',\n 'transition-colors',\n 'min-w-48',\n ],\n },\n size: {\n default: '',\n sm: 'h-8 px-3 [&_svg:not([class*=\"size-\"])]:size-4',\n },\n checked: {\n true: 'border-dark-green',\n },\n },\n compoundVariants: [\n {\n variant: 'primary',\n checked: false,\n className: 'border-gray-400',\n },\n {\n variant: 'card',\n checked: false,\n className: 'border-gray-200',\n },\n {\n variant: 'dark',\n checked: false,\n className: 'border-gray-500',\n },\n {\n variant: 'dark',\n checked: true,\n className: 'border-green-600 bg-green-900/20',\n },\n ],\n defaultVariants: {\n variant: 'primary',\n size: 'default',\n checked: false,\n },\n },\n);\n\nfunction BasicRadioButtonGroupItem({\n label,\n value,\n className = undefined,\n ...props\n}: Omit<RadioButtonGroupItemProps, 'variant' | 'size'>) {\n return (\n <RadioGroupPrimitive.Item\n data-slot=\"radio-group-item\"\n value={value}\n className={cn(\n 'flex h-8 w-full cursor-pointer items-center gap-2 disabled:cursor-not-allowed disabled:opacity-50',\n className,\n )}\n {...props}\n >\n <span\n className={cn(\n 'flex h-5 w-5 items-center justify-center rounded-full border border-gray-400 transition-colors',\n props.checked && 'border-dark-green',\n 'bg-white',\n 'relative',\n )}\n >\n {props.checked && <span className=\"bg-dark-green h-3 w-3 rounded-full\" />}\n </span>\n {!!label && <span className=\"min-w-0 flex-1 text-left break-words select-none\">{label}</span>}\n </RadioGroupPrimitive.Item>\n );\n}\n\ntype RadioGroupItemHeaderProps = React.PropsWithChildren & {\n label?: string | React.ReactNode;\n className?: string;\n};\n\n/** Display the header section of a radio group item. Defaults to `label` prop if provided.\n *\n * Recommended for use with the `card` variant.\n */\nfunction RadioGroupItemHeader({\n children,\n label = undefined,\n className = '',\n}: RadioGroupItemHeaderProps) {\n if (label) {\n return <div className={cn('text-primary text-left font-bold', className)}>{label}</div>;\n }\n\n return <div className={cn('flex w-full items-center gap-4', className)}>{children}</div>;\n}\n\ntype RadioGroupItemContentProps = Pick<RadioButtonGroupItemProps, 'children' | 'className'>;\n\nfunction RadioGroupItemContent({ className, children }: RadioGroupItemContentProps) {\n return (\n <div className={cn('text-primary col-span-2 text-left font-normal', className)}>{children}</div>\n );\n}\n\ntype RadioGroupItemCollapseContentProps = React.PropsWithChildren & {\n className?: string;\n open: boolean;\n};\n\n/** Display a collapsible content section within a radio group item.\n *\n * Recommended for use with the `card` variant.\n */\nfunction RadioGroupItemCollapseContent({\n children,\n open,\n className = '',\n}: RadioGroupItemCollapseContentProps) {\n return (\n <motion.div\n initial={false}\n animate={open ? { height: 'auto', opacity: 1 } : { height: 0, opacity: 0 }}\n transition={{\n height: { duration: 0.24, ease: 'easeInOut' },\n opacity: { duration: 0.18, ease: 'easeInOut' },\n }}\n className={cn('col-span-2 overflow-hidden text-left font-normal', className)}\n aria-hidden={!open}\n >\n {children}\n </motion.div>\n );\n}\n\ntype RadioGroupItemIconProps = {\n className?: string;\n icon?: React.ReactNode;\n unstyled?: boolean;\n};\n\n/** Display a custom icon or a default check icon when the radio button is checked.\n *\n * Recommended for use with the `card` variant.\n */\nfunction RadioGroupItemIcon({\n icon = undefined,\n className = '',\n unstyled = false,\n}: RadioGroupItemIconProps) {\n const iconClassName = cn('opacity-0 group-data-[state=checked]:opacity-100', className);\n\n if (icon) {\n return unstyled ? icon : <span className={iconClassName}>{icon}</span>;\n }\n\n return <PiCheckCircleFill className={iconClassName} />;\n}\n\n/** Display a radio group item. Must be used inside of a `RadioButtonGroup`. */\nfunction RadioGroupItem({\n label = undefined,\n value,\n size = 'default',\n variant = 'primary',\n className = undefined,\n children = undefined,\n ...props\n}: RadioButtonGroupItemProps) {\n if (variant === 'basic') {\n return (\n <BasicRadioButtonGroupItem label={label} value={value} className={className} {...props} />\n );\n }\n\n return (\n <RadioGroupPrimitive.Item\n data-slot=\"radio-group-item\"\n value={value}\n className={cn(radioGroupVariants({ variant, size, checked: props.checked }), className)}\n {...props}\n >\n {variant === 'card' ? (\n children\n ) : (\n <>\n {!!label && <div className=\"text-left\">{label}</div>}{' '}\n {variant === 'dark' ? (\n <span\n className={cn(\n 'flex size-5 items-center justify-center rounded-full bg-green-600 transition-opacity',\n props.checked ? 'opacity-100' : 'opacity-0',\n )}\n >\n <PiCheckBold className=\"size-3 text-white\" />\n </span>\n ) : (\n <PiCheckCircleFill className={cn(props.checked ? 'opacity-100' : 'opacity-0')} />\n )}\n </>\n )}\n </RadioGroupPrimitive.Item>\n );\n}\n\ntype RadioGroupProps = React.ComponentProps<typeof RadioGroupPrimitive.Root> & {\n columns?: 1 | 2 | 3 | 4;\n items?: { label: string | React.ReactElement; value: string; disabled?: boolean }[];\n size?: ButtonSize;\n variant?: Variant;\n itemClassName?: string;\n};\n\nfunction RadioButtonGroup({\n className,\n id,\n value,\n children = null,\n columns = 1,\n items = [],\n size = 'default',\n variant = 'primary',\n itemClassName = undefined,\n ...props\n}: RadioGroupProps) {\n return (\n <RadioGroupPrimitive.Root\n data-slot=\"radio-group\"\n className={cn(\n 'grid gap-2',\n columns === 1 && 'grid-cols-1',\n columns === 2 && 'grid-cols-2',\n columns === 3 && 'grid-cols-3',\n columns === 4 && 'grid-cols-4',\n className,\n )}\n id={id}\n value={value}\n {...props}\n >\n {items?.length\n ? items.map((item) => (\n <RadioGroupItem\n data-slot=\"radio-group-item\"\n key={item.value}\n value={item.value}\n label={item.label}\n id={`${id}-${item.value}`}\n checked={value === item.value}\n disabled={item.disabled}\n onValueChange={props.onValueChange}\n size={size}\n variant={variant}\n className={itemClassName}\n />\n ))\n : children}\n </RadioGroupPrimitive.Root>\n );\n}\n\nexport {\n RadioButtonGroup,\n RadioGroupItem,\n RadioGroupItemContent,\n RadioGroupItemCollapseContent,\n RadioGroupItemIcon,\n RadioGroupItemHeader,\n type RadioGroupProps,\n type RadioButtonGroupItemProps,\n type RadioGroupItemContentProps,\n type RadioGroupItemCollapseContentProps,\n type RadioGroupItemIconProps,\n type RadioGroupItemHeaderProps,\n};\n"]}
|
package/dist/chunk-RW4X7LSI.cjs
DELETED
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
'use strict';var chunkQRO22BPZ_cjs=require('./chunk-QRO22BPZ.cjs'),classVarianceAuthority=require('class-variance-authority'),react=require('motion/react'),l=require('radix-ui/radio-group'),pi=require('react-icons/pi'),jsxRuntime=require('react/jsx-runtime');function _interopNamespace(e){if(e&&e.__esModule)return e;var n=Object.create(null);if(e){Object.keys(e).forEach(function(k){if(k!=='default'){var d=Object.getOwnPropertyDescriptor(e,k);Object.defineProperty(n,k,d.get?d:{enumerable:true,get:function(){return e[k]}});}})}n.default=e;return Object.freeze(n)}var l__namespace=/*#__PURE__*/_interopNamespace(l);var R=classVarianceAuthority.cva(["focus-visible:border-ring","focus-visible:ring-ring/50","aria-invalid:ring-destructive/20","dark:aria-invalid:ring-destructive/40","aria-invalid:border-destructive","text-dark-green","disabled:text-secondary-foreground","h-auto","min-h-12","shrink-0","cursor-pointer","rounded-md","border","bg-white","px-4","py-3","leading-tight","font-bold","whitespace-normal","outline-none","hover:bg-green-100","focus-visible:ring-[3px]","disabled:pointer-events-none","disabled:border-gray-300","disabled:bg-white","disabled:opacity-50","[&_svg]:pointer-events-none","[&_svg]:shrink-0","[&_svg:not([class*='size-'])]:size-5"],{variants:{variant:{primary:["inline-flex","items-center","justify-between","gap-2","transition-all"],dark:["inline-flex","items-center","justify-between","gap-2","transition-all","bg-transparent","text-white","hover:border-green-600","hover:bg-transparent","disabled:border-gray-500","disabled:bg-transparent","disabled:text-white"],card:["group","w-full","grid","grid-cols-[1fr_auto]","gap-y-4","p-4","transition-colors","min-w-48"]},size:{default:"",sm:'h-8 px-3 [&_svg:not([class*="size-"])]:size-4'},checked:{true:"border-dark-green"}},compoundVariants:[{variant:"primary",checked:false,className:"border-gray-400"},{variant:"card",checked:false,className:"border-gray-200"},{variant:"dark",checked:false,className:"border-gray-500"},{variant:"dark",checked:true,className:"border-green-600 bg-green-900/20"}],defaultVariants:{variant:"primary",size:"default",checked:false}});function y({label:e,value:a,className:r=void 0,...i}){return jsxRuntime.jsxs(l__namespace.Item,{"data-slot":"radio-group-item",value:a,className:chunkQRO22BPZ_cjs.a("flex h-8 w-full cursor-pointer items-center gap-2 disabled:cursor-not-allowed disabled:opacity-50",r),...i,children:[jsxRuntime.jsx("span",{className:chunkQRO22BPZ_cjs.a("flex h-5 w-5 items-center justify-center rounded-full border border-gray-400 transition-colors",i.checked&&"border-dark-green","bg-white","relative"),children:i.checked&&jsxRuntime.jsx("span",{className:"bg-dark-green h-3 w-3 rounded-full"})}),!!e&&jsxRuntime.jsx("span",{className:"min-w-0 flex-1 text-left break-words select-none",children:e})]})}function x({children:e,label:a=void 0,className:r=""}){return a?jsxRuntime.jsx("div",{className:chunkQRO22BPZ_cjs.a("text-primary text-left font-bold",r),children:a}):jsxRuntime.jsx("div",{className:chunkQRO22BPZ_cjs.a("flex w-full items-center gap-4",r),children:e})}function w({className:e,children:a}){return jsxRuntime.jsx("div",{className:chunkQRO22BPZ_cjs.a("text-primary col-span-2 text-left font-normal",e),children:a})}function z({children:e,open:a,className:r=""}){return jsxRuntime.jsx(react.motion.div,{initial:false,animate:a?{height:"auto",opacity:1}:{height:0,opacity:0},transition:{height:{duration:.24,ease:"easeInOut"},opacity:{duration:.18,ease:"easeInOut"}},className:chunkQRO22BPZ_cjs.a("col-span-2 overflow-hidden text-left font-normal",r),"aria-hidden":!a,children:e})}function B({icon:e=void 0,className:a="",unstyled:r=false}){let i=chunkQRO22BPZ_cjs.a("opacity-0 group-data-[state=checked]:opacity-100",a);return e?r?e:jsxRuntime.jsx("span",{className:i,children:e}):jsxRuntime.jsx(pi.PiCheckCircleFill,{className:i})}function G({label:e=void 0,value:a,size:r="default",variant:i="primary",className:n=void 0,children:p=void 0,...s}){return i==="basic"?jsxRuntime.jsx(y,{label:e,value:a,className:n,...s}):jsxRuntime.jsx(l__namespace.Item,{"data-slot":"radio-group-item",value:a,className:chunkQRO22BPZ_cjs.a(R({variant:i,size:r,checked:s.checked}),n),...s,children:i==="card"?p:jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[!!e&&jsxRuntime.jsx("div",{className:"text-left",children:e})," ",i==="dark"?jsxRuntime.jsx("span",{className:chunkQRO22BPZ_cjs.a("flex size-5 items-center justify-center rounded-full bg-green-600 transition-opacity",s.checked?"opacity-100":"opacity-0"),children:jsxRuntime.jsx(pi.PiCheckBold,{className:"size-3 text-white"})}):jsxRuntime.jsx(pi.PiCheckCircleFill,{className:chunkQRO22BPZ_cjs.a(s.checked?"opacity-100":"opacity-0")})]})})}function V({className:e,id:a,value:r,children:i=null,columns:n=1,items:p=[],size:s="default",variant:g="primary",itemClassName:f=void 0,...c}){return jsxRuntime.jsx(l__namespace.Root,{"data-slot":"radio-group",className:chunkQRO22BPZ_cjs.a("grid gap-2",n===1&&"grid-cols-1",n===2&&"grid-cols-2",n===3&&"grid-cols-3",n===4&&"grid-cols-4",e),id:a,value:r,...c,children:p?.length?p.map(d=>jsxRuntime.jsx(G,{"data-slot":"radio-group-item",value:d.value,label:d.label,id:`${a}-${d.value}`,checked:r===d.value,disabled:d.disabled,onValueChange:c.onValueChange,size:s,variant:g,className:f},d.value)):i})}exports.a=x;exports.b=w;exports.c=z;exports.d=B;exports.e=G;exports.f=V;//# sourceMappingURL=chunk-RW4X7LSI.cjs.map
|
|
2
|
-
//# sourceMappingURL=chunk-RW4X7LSI.cjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/v2/radio-button-group/radio-button-group.tsx"],"names":["radioGroupVariants","cva","BasicRadioButtonGroupItem","label","value","className","props","jsxs","l","cn","jsx","RadioGroupItemHeader","children","RadioGroupItemContent","RadioGroupItemCollapseContent","open","motion","RadioGroupItemIcon","icon","unstyled","iconClassName","PiCheckCircleFill","RadioGroupItem","size","variant","Fragment","PiCheckBold","RadioButtonGroup","id","columns","items","itemClassName","item"],"mappings":"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","file":"chunk-RW4X7LSI.cjs","sourcesContent":["import { cva } from 'class-variance-authority';\nimport { motion } from 'motion/react';\nimport * as React from 'react';\nimport * as RadioGroupPrimitive from 'radix-ui/radio-group';\n\nimport { PiCheckBold, PiCheckCircleFill } from 'react-icons/pi';\nimport { cn } from '@/lib/utils';\nimport { type ButtonSize } from '@/v2/button/button';\n\ntype Variant = 'primary' | 'basic' | 'card' | 'dark';\n\ntype RadioButtonGroupItemProps = React.ComponentProps<typeof RadioGroupPrimitive.Item> & {\n label?: string | React.ReactElement;\n value: string;\n onValueChange?: (value: string) => void;\n size?: ButtonSize;\n variant?: Variant;\n};\n\nconst radioGroupVariants = cva(\n [\n 'focus-visible:border-ring',\n 'focus-visible:ring-ring/50',\n 'aria-invalid:ring-destructive/20',\n 'dark:aria-invalid:ring-destructive/40',\n 'aria-invalid:border-destructive',\n 'text-dark-green',\n 'disabled:text-secondary-foreground',\n 'h-auto',\n 'min-h-12',\n 'shrink-0',\n 'cursor-pointer',\n 'rounded-md',\n 'border',\n 'bg-white',\n 'px-4',\n 'py-3',\n 'leading-tight',\n 'font-bold',\n 'whitespace-normal',\n 'outline-none',\n 'hover:bg-green-100',\n 'focus-visible:ring-[3px]',\n 'disabled:pointer-events-none',\n 'disabled:border-gray-300',\n 'disabled:bg-white',\n 'disabled:opacity-50',\n '[&_svg]:pointer-events-none',\n '[&_svg]:shrink-0',\n \"[&_svg:not([class*='size-'])]:size-5\",\n ],\n {\n variants: {\n variant: {\n primary: ['inline-flex', 'items-center', 'justify-between', 'gap-2', 'transition-all'],\n dark: [\n 'inline-flex',\n 'items-center',\n 'justify-between',\n 'gap-2',\n 'transition-all',\n 'bg-transparent',\n 'text-white',\n 'hover:border-green-600',\n 'hover:bg-transparent',\n 'disabled:border-gray-500',\n 'disabled:bg-transparent',\n 'disabled:text-white',\n ],\n card: [\n 'group',\n 'w-full',\n 'grid',\n 'grid-cols-[1fr_auto]',\n 'gap-y-4',\n 'p-4',\n 'transition-colors',\n 'min-w-48',\n ],\n },\n size: {\n default: '',\n sm: 'h-8 px-3 [&_svg:not([class*=\"size-\"])]:size-4',\n },\n checked: {\n true: 'border-dark-green',\n },\n },\n compoundVariants: [\n {\n variant: 'primary',\n checked: false,\n className: 'border-gray-400',\n },\n {\n variant: 'card',\n checked: false,\n className: 'border-gray-200',\n },\n {\n variant: 'dark',\n checked: false,\n className: 'border-gray-500',\n },\n {\n variant: 'dark',\n checked: true,\n className: 'border-green-600 bg-green-900/20',\n },\n ],\n defaultVariants: {\n variant: 'primary',\n size: 'default',\n checked: false,\n },\n },\n);\n\nfunction BasicRadioButtonGroupItem({\n label,\n value,\n className = undefined,\n ...props\n}: Omit<RadioButtonGroupItemProps, 'variant' | 'size'>) {\n return (\n <RadioGroupPrimitive.Item\n data-slot=\"radio-group-item\"\n value={value}\n className={cn(\n 'flex h-8 w-full cursor-pointer items-center gap-2 disabled:cursor-not-allowed disabled:opacity-50',\n className,\n )}\n {...props}\n >\n <span\n className={cn(\n 'flex h-5 w-5 items-center justify-center rounded-full border border-gray-400 transition-colors',\n props.checked && 'border-dark-green',\n 'bg-white',\n 'relative',\n )}\n >\n {props.checked && <span className=\"bg-dark-green h-3 w-3 rounded-full\" />}\n </span>\n {!!label && <span className=\"min-w-0 flex-1 text-left break-words select-none\">{label}</span>}\n </RadioGroupPrimitive.Item>\n );\n}\n\ntype RadioGroupItemHeaderProps = React.PropsWithChildren & {\n label?: string | React.ReactNode;\n className?: string;\n};\n\n/** Display the header section of a radio group item. Defaults to `label` prop if provided.\n *\n * Recommended for use with the `card` variant.\n */\nfunction RadioGroupItemHeader({\n children,\n label = undefined,\n className = '',\n}: RadioGroupItemHeaderProps) {\n if (label) {\n return <div className={cn('text-primary text-left font-bold', className)}>{label}</div>;\n }\n\n return <div className={cn('flex w-full items-center gap-4', className)}>{children}</div>;\n}\n\ntype RadioGroupItemContentProps = Pick<RadioButtonGroupItemProps, 'children' | 'className'>;\n\nfunction RadioGroupItemContent({ className, children }: RadioGroupItemContentProps) {\n return (\n <div className={cn('text-primary col-span-2 text-left font-normal', className)}>{children}</div>\n );\n}\n\ntype RadioGroupItemCollapseContentProps = React.PropsWithChildren & {\n className?: string;\n open: boolean;\n};\n\n/** Display a collapsible content section within a radio group item.\n *\n * Recommended for use with the `card` variant.\n */\nfunction RadioGroupItemCollapseContent({\n children,\n open,\n className = '',\n}: RadioGroupItemCollapseContentProps) {\n return (\n <motion.div\n initial={false}\n animate={open ? { height: 'auto', opacity: 1 } : { height: 0, opacity: 0 }}\n transition={{\n height: { duration: 0.24, ease: 'easeInOut' },\n opacity: { duration: 0.18, ease: 'easeInOut' },\n }}\n className={cn('col-span-2 overflow-hidden text-left font-normal', className)}\n aria-hidden={!open}\n >\n {children}\n </motion.div>\n );\n}\n\ntype RadioGroupItemIconProps = {\n className?: string;\n icon?: React.ReactNode;\n unstyled?: boolean;\n};\n\n/** Display a custom icon or a default check icon when the radio button is checked.\n *\n * Recommended for use with the `card` variant.\n */\nfunction RadioGroupItemIcon({\n icon = undefined,\n className = '',\n unstyled = false,\n}: RadioGroupItemIconProps) {\n const iconClassName = cn('opacity-0 group-data-[state=checked]:opacity-100', className);\n\n if (icon) {\n return unstyled ? icon : <span className={iconClassName}>{icon}</span>;\n }\n\n return <PiCheckCircleFill className={iconClassName} />;\n}\n\n/** Display a radio group item. Must be used inside of a `RadioButtonGroup`. */\nfunction RadioGroupItem({\n label = undefined,\n value,\n size = 'default',\n variant = 'primary',\n className = undefined,\n children = undefined,\n ...props\n}: RadioButtonGroupItemProps) {\n if (variant === 'basic') {\n return (\n <BasicRadioButtonGroupItem label={label} value={value} className={className} {...props} />\n );\n }\n\n return (\n <RadioGroupPrimitive.Item\n data-slot=\"radio-group-item\"\n value={value}\n className={cn(radioGroupVariants({ variant, size, checked: props.checked }), className)}\n {...props}\n >\n {variant === 'card' ? (\n children\n ) : (\n <>\n {!!label && <div className=\"text-left\">{label}</div>}{' '}\n {variant === 'dark' ? (\n <span\n className={cn(\n 'flex size-5 items-center justify-center rounded-full bg-green-600 transition-opacity',\n props.checked ? 'opacity-100' : 'opacity-0',\n )}\n >\n <PiCheckBold className=\"size-3 text-white\" />\n </span>\n ) : (\n <PiCheckCircleFill className={cn(props.checked ? 'opacity-100' : 'opacity-0')} />\n )}\n </>\n )}\n </RadioGroupPrimitive.Item>\n );\n}\n\ntype RadioGroupProps = React.ComponentProps<typeof RadioGroupPrimitive.Root> & {\n columns?: 1 | 2 | 3 | 4;\n items?: { label: string | React.ReactElement; value: string; disabled?: boolean }[];\n size?: ButtonSize;\n variant?: Variant;\n itemClassName?: string;\n};\n\nfunction RadioButtonGroup({\n className,\n id,\n value,\n children = null,\n columns = 1,\n items = [],\n size = 'default',\n variant = 'primary',\n itemClassName = undefined,\n ...props\n}: RadioGroupProps) {\n return (\n <RadioGroupPrimitive.Root\n data-slot=\"radio-group\"\n className={cn(\n 'grid gap-2',\n columns === 1 && 'grid-cols-1',\n columns === 2 && 'grid-cols-2',\n columns === 3 && 'grid-cols-3',\n columns === 4 && 'grid-cols-4',\n className,\n )}\n id={id}\n value={value}\n {...props}\n >\n {items?.length\n ? items.map((item) => (\n <RadioGroupItem\n data-slot=\"radio-group-item\"\n key={item.value}\n value={item.value}\n label={item.label}\n id={`${id}-${item.value}`}\n checked={value === item.value}\n disabled={item.disabled}\n onValueChange={props.onValueChange}\n size={size}\n variant={variant}\n className={itemClassName}\n />\n ))\n : children}\n </RadioGroupPrimitive.Root>\n );\n}\n\nexport {\n RadioButtonGroup,\n RadioGroupItem,\n RadioGroupItemContent,\n RadioGroupItemCollapseContent,\n RadioGroupItemIcon,\n RadioGroupItemHeader,\n type RadioGroupProps,\n type RadioButtonGroupItemProps,\n type RadioGroupItemContentProps,\n type RadioGroupItemCollapseContentProps,\n type RadioGroupItemIconProps,\n type RadioGroupItemHeaderProps,\n};\n"]}
|
package/dist/chunk-YNO7JCKX.cjs
DELETED
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
'use strict';var chunkODAOIGPB_cjs=require('./chunk-ODAOIGPB.cjs'),chunk5EK4BBD6_cjs=require('./chunk-5EK4BBD6.cjs'),chunk4CHRDQR7_cjs=require('./chunk-4CHRDQR7.cjs'),chunkQRO22BPZ_cjs=require('./chunk-QRO22BPZ.cjs'),lu=require('react-icons/lu'),react=require('react'),jsxRuntime=require('react/jsx-runtime');var j=({classNames:i=void 0,disabled:l=false,options:d,preSearchOptions:z=void 0,onSearchChange:F=void 0,onChange:O=void 0,onOpenChange:m=void 0,placeholder:I="Select an option",searchLabel:T="Search...",notFoundMessage:D="Not found.",value:n=void 0,size:E="default",error:b=false,shouldFilter:G=true,pinnedOption:a=void 0})=>{let[p,u]=react.useState(false),[R,c]=react.useState(false),V=R?d:z||d,[H,s]=react.useState(""),K=()=>{u(!p),c(false),s(""),m?.(!p);},v=e=>{O?.(e===n?"":e),u(false),c(false),s(""),m?.(false);},M=a&&a.value===n?a:d.find(e=>e.value===n);return jsxRuntime.jsxs(chunkODAOIGPB_cjs.a,{open:p,onOpenChange:K,children:[jsxRuntime.jsxs(chunkODAOIGPB_cjs.b,{"aria-invalid":b,"data-placeholder":n?void 0:"",disabled:l,className:chunkQRO22BPZ_cjs.a("focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive hover:border-dark-green inline-flex h-12 w-full shrink-0 cursor-pointer items-center justify-between gap-2 rounded-md border px-4 whitespace-nowrap transition-all outline-none focus-visible:ring-[3px] disabled:pointer-events-none disabled:bg-gray-200 disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-5",E==="sm"&&"py-xs h-8 px-3 [&_svg:not([class*='size-'])]:size-4",i?.trigger),children:[jsxRuntime.jsxs("div",{className:"flex min-w-0 flex-1 items-center gap-2",children:[!n&&jsxRuntime.jsx(lu.LuSearch,{className:chunkQRO22BPZ_cjs.a(b&&"text-red")}),jsxRuntime.jsx("span",{className:chunkQRO22BPZ_cjs.a("block min-w-0 truncate",!n&&"text-gray-700"),children:n?M?.label:I})]}),jsxRuntime.jsx(lu.LuChevronsUpDown,{className:"opacity-50"})]}),jsxRuntime.jsx(chunkODAOIGPB_cjs.c,{align:"start",className:chunkQRO22BPZ_cjs.a("w-[var(--radix-popover-trigger-width)] p-0",i?.content),children:jsxRuntime.jsxs(chunk4CHRDQR7_cjs.a,{shouldFilter:G,value:H,onValueChange:s,children:[jsxRuntime.jsx(chunk4CHRDQR7_cjs.c,{placeholder:T,className:chunkQRO22BPZ_cjs.a("h-9",i?.input),onValueChange:e=>{c(!!e),F?.(e);}}),jsxRuntime.jsxs(chunk4CHRDQR7_cjs.d,{onWheel:e=>e.stopPropagation(),children:[jsxRuntime.jsx(chunk4CHRDQR7_cjs.e,{children:D}),jsxRuntime.jsx(chunk4CHRDQR7_cjs.f,{children:V.map(e=>jsxRuntime.jsxs(chunk4CHRDQR7_cjs.h,{value:e.value,keywords:[typeof e.label=="string"?e.label:"",e.additionalSearchText??""],onSelect:v,className:i?.item,disabled:e.disabled,children:[e.label,jsxRuntime.jsx(lu.LuCheck,{className:chunkQRO22BPZ_cjs.a("ml-auto",n===e.value?"opacity-100":"opacity-0")})]},e.value))})]}),a&&jsxRuntime.jsx(chunk4CHRDQR7_cjs.j,{className:"border-t-0",children:jsxRuntime.jsxs("button",{type:"button",disabled:a.disabled,onClick:()=>v(a.value),onPointerEnter:()=>s(""),onFocus:()=>s(""),onKeyDown:e=>{e.key==="Enter"&&e.stopPropagation();},className:chunkQRO22BPZ_cjs.a("text-dark-green hover:bg-accent focus-visible:ring-ring/50 [&_svg:not([class*='text-'])]:text-muted-foreground flex w-full cursor-pointer items-center gap-2 rounded-sm px-2 py-1.5 text-left italic outline-none focus-visible:ring-[3px] disabled:pointer-events-none disabled:opacity-50 [&_svg]:size-4 [&_svg]:shrink-0",i?.pinnedOption),children:[a.label,jsxRuntime.jsx(lu.LuCheck,{className:chunkQRO22BPZ_cjs.a("ml-auto",n===a.value?"opacity-100":"opacity-0")})]})})]})})]})},Y=({variant:i="default",...l})=>i==="input"?jsxRuntime.jsx(chunk5EK4BBD6_cjs.a,{...l}):jsxRuntime.jsx(j,{...l});exports.a=Y;//# sourceMappingURL=chunk-YNO7JCKX.cjs.map
|
|
2
|
-
//# sourceMappingURL=chunk-YNO7JCKX.cjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/v2/combobox/combobox.tsx"],"names":["DefaultCombobox","classNames","disabled","options","preSearchOptions","onSearchChange","onChange","onOpenChange","placeholder","searchLabel","notFoundMessage","value","size","error","shouldFilter","pinnedOption","open","setOpen","useState","isSearching","setIsSearching","optionsToDisplay","highlighted","setHighlighted","handleOpenChange","handleSelect","selectedValue","selectedOption","item","jsxs","Popover","PopoverTrigger","cn","jsx","LuSearch","LuChevronsUpDown","PopoverContent","Command","CommandInput","val","CommandList","CommandEmpty","CommandGroup","CommandItem","LuCheck","CommandFooter","Combobox","variant","props","InputVariantCombobox"],"mappings":"yTAsDMA,CAAAA,CAAkB,CAAC,CACvB,UAAA,CAAAC,CAAAA,CAAa,MAAA,CACb,SAAAC,CAAAA,CAAW,KAAA,CACX,QAAAC,CAAAA,CACA,gBAAA,CAAAC,EAAmB,MAAA,CACnB,cAAA,CAAAC,CAAAA,CAAiB,MAAA,CACjB,QAAA,CAAAC,CAAAA,CAAW,OACX,YAAA,CAAAC,CAAAA,CAAe,MAAA,CACf,WAAA,CAAAC,CAAAA,CAAc,kBAAA,CACd,YAAAC,CAAAA,CAAc,WAAA,CACd,eAAA,CAAAC,CAAAA,CAAkB,YAAA,CAClB,KAAA,CAAAC,EAAQ,MAAA,CACR,IAAA,CAAAC,EAAO,SAAA,CACP,KAAA,CAAAC,EAAQ,KAAA,CACR,YAAA,CAAAC,CAAAA,CAAe,IAAA,CACf,YAAA,CAAAC,CAAAA,CAAe,MACjB,CAAA,GAA+C,CAC7C,GAAM,CAACC,CAAAA,CAAMC,CAAO,CAAA,CAAIC,cAAAA,CAAS,KAAK,CAAA,CAIhC,CAACC,CAAAA,CAAaC,CAAc,CAAA,CAAIF,cAAAA,CAAS,KAAK,CAAA,CAC9CG,CAAAA,CAAmBF,EAAchB,CAAAA,CAAUC,CAAAA,EAAoBD,CAAAA,CAG/D,CAACmB,CAAAA,CAAaC,CAAc,EAAIL,cAAAA,CAAS,EAAE,CAAA,CAE3CM,CAAAA,CAAmB,IAAM,CAC7BP,EAAQ,CAACD,CAAI,CAAA,CACbI,CAAAA,CAAe,KAAK,CAAA,CACpBG,EAAe,EAAE,CAAA,CACjBhB,IAAe,CAACS,CAAI,EACtB,CAAA,CAGMS,CAAAA,CAAgBC,CAAAA,EAA0B,CAC9CpB,CAAAA,GAAWoB,CAAAA,GAAkBf,EAAQ,EAAA,CAAKe,CAAa,EACvDT,CAAAA,CAAQ,KAAK,EACbG,CAAAA,CAAe,KAAK,CAAA,CACpBG,CAAAA,CAAe,EAAE,CAAA,CACjBhB,IAAe,KAAK,EACtB,EAEMoB,CAAAA,CACJZ,CAAAA,EAAgBA,EAAa,KAAA,GAAUJ,CAAAA,CACnCI,CAAAA,CACAZ,CAAAA,CAAQ,IAAA,CAAMyB,CAAAA,EAASA,EAAK,KAAA,GAAUjB,CAAK,CAAA,CAEjD,OACEkB,eAAAA,CAACC,mBAAAA,CAAA,CAAQ,IAAA,CAAMd,CAAAA,CAAM,YAAA,CAAcQ,CAAAA,CACjC,QAAA,CAAA,CAAAK,eAAAA,CAACE,oBAAA,CACC,cAAA,CAAclB,EACd,kBAAA,CAAmBF,CAAAA,CAAa,OAAL,EAAA,CAC3B,QAAA,CAAUT,CAAAA,CACV,SAAA,CAAW8B,mBAAAA,CACT,8fAAA,CACApB,IAAS,IAAA,EAAQ,qDAAA,CACjBX,GAAY,OACd,CAAA,CAEA,UAAA4B,eAAAA,CAAC,KAAA,CAAA,CAAI,SAAA,CAAU,wCAAA,CACZ,QAAA,CAAA,CAAA,CAAClB,CAAAA,EAASsB,eAACC,WAAAA,CAAA,CAAS,UAAWF,mBAAAA,CAAGnB,CAAAA,EAAS,UAAU,CAAA,CAAG,CAAA,CACzDoB,cAAAA,CAAC,MAAA,CAAA,CAAK,SAAA,CAAWD,mBAAAA,CAAG,yBAA0B,CAACrB,CAAAA,EAAS,eAAe,CAAA,CACpE,QAAA,CAAAA,CAAAA,CAAQgB,GAAgB,KAAA,CAAQnB,CAAAA,CACnC,CAAA,CAAA,CACF,CAAA,CACAyB,cAAAA,CAACE,mBAAAA,CAAA,CAAiB,SAAA,CAAU,YAAA,CAAa,GAC3C,CAAA,CACAF,cAAAA,CAACG,oBAAA,CACC,KAAA,CAAM,OAAA,CACN,SAAA,CAAWJ,mBAAAA,CAAG,4CAAA,CAA8C/B,GAAY,OAAO,CAAA,CAE/E,SAAA4B,eAAAA,CAACQ,mBAAAA,CAAA,CACC,YAAA,CAGEvB,CAAAA,CAEF,KAAA,CAAOQ,CAAAA,CACP,aAAA,CAAeC,CAAAA,CAEf,UAAAU,cAAAA,CAACK,mBAAAA,CAAA,CACC,WAAA,CAAa7B,CAAAA,CACb,UAAWuB,mBAAAA,CAAG,KAAA,CAAO/B,CAAAA,EAAY,KAAK,CAAA,CACtC,aAAA,CAAgBsC,GAAQ,CACtBnB,CAAAA,CAAe,CAAC,CAACmB,CAAG,CAAA,CACpBlC,IAAiBkC,CAAG,EACtB,CAAA,CACF,CAAA,CACAV,eAAAA,CAACW,mBAAAA,CAAA,CAAY,OAAA,CAAU,CAAA,EAAM,EAAE,eAAA,EAAgB,CAC7C,UAAAP,cAAAA,CAACQ,mBAAAA,CAAA,CAAc,QAAA,CAAA/B,CAAAA,CAAgB,CAAA,CAC/BuB,eAACS,mBAAAA,CAAA,CACE,SAAArB,CAAAA,CAAiB,GAAA,CAAKO,GACrBC,eAAAA,CAACc,mBAAAA,CAAA,CAEC,KAAA,CAAOf,CAAAA,CAAK,KAAA,CACZ,SAAU,CACR,OAAOA,EAAK,KAAA,EAAU,QAAA,CAAWA,EAAK,KAAA,CAAQ,EAAA,CAC9CA,CAAAA,CAAK,oBAAA,EAAwB,EAC/B,CAAA,CACA,SAAUH,CAAAA,CACV,SAAA,CAAWxB,CAAAA,EAAY,IAAA,CACvB,QAAA,CAAU2B,CAAAA,CAAK,SAEd,QAAA,CAAA,CAAAA,CAAAA,CAAK,KAAA,CACNK,cAAAA,CAACW,UAAAA,CAAA,CACC,UAAWZ,mBAAAA,CAAG,SAAA,CAAWrB,IAAUiB,CAAAA,CAAK,KAAA,CAAQ,cAAgB,WAAW,CAAA,CAC7E,CAAA,CAAA,CAAA,CAbKA,CAAAA,CAAK,KAcZ,CACD,EACH,CAAA,CAAA,CACF,CAAA,CACCb,GAGCkB,cAAAA,CAACY,mBAAAA,CAAA,CAAc,SAAA,CAAU,YAAA,CACvB,QAAA,CAAAhB,eAAAA,CAAC,QAAA,CAAA,CACC,IAAA,CAAK,SACL,QAAA,CAAUd,CAAAA,CAAa,SACvB,OAAA,CAAS,IAAMU,EAAaV,CAAAA,CAAa,KAAK,CAAA,CAE9C,cAAA,CAAgB,IAAMQ,CAAAA,CAAe,EAAE,CAAA,CACvC,OAAA,CAAS,IAAMA,CAAAA,CAAe,EAAE,CAAA,CAChC,UAAY,CAAA,EAAM,CAGZ,CAAA,CAAE,GAAA,GAAQ,OAAA,EAAS,CAAA,CAAE,kBAC3B,CAAA,CACA,UAAWS,mBAAAA,CACT,6TAAA,CACA/B,GAAY,YACd,CAAA,CAEC,QAAA,CAAA,CAAAc,CAAAA,CAAa,KAAA,CACdkB,cAAAA,CAACW,WAAA,CACC,SAAA,CAAWZ,mBAAAA,CACT,SAAA,CACArB,CAAAA,GAAUI,CAAAA,CAAa,MAAQ,aAAA,CAAgB,WACjD,CAAA,CACF,CAAA,CAAA,CACF,CAAA,CACF,CAAA,CAAA,CAEJ,EACF,CAAA,CAAA,CACF,CAEJ,EAEa+B,CAAAA,CAAW,CAAC,CAAE,OAAA,CAAAC,CAAAA,CAAU,SAAA,CAAW,GAAGC,CAAM,CAAA,GACvDD,IAAY,OAAA,CAAUd,cAAAA,CAACgB,mBAAAA,CAAA,CAAsB,GAAGD,CAAAA,CAAO,EAAKf,cAAAA,CAACjC,CAAAA,CAAA,CAAiB,GAAGgD,CAAAA,CAAO","file":"chunk-YNO7JCKX.cjs","sourcesContent":["import { LuCheck, LuChevronsUpDown, LuSearch } from 'react-icons/lu';\nimport { useState } from 'react';\nimport { Popover, PopoverContent, PopoverTrigger } from '@/v2/popover/popover';\nimport { cn } from '@/lib/utils';\nimport {\n Command,\n CommandEmpty,\n CommandFooter,\n CommandGroup,\n CommandInput,\n CommandItem,\n CommandList,\n} from '@/v2/command/command';\nimport { InputVariantCombobox } from './input-variant';\n\nexport type ComboboxOption = {\n label: string | React.ReactNode;\n value: string;\n additionalSearchText?: string;\n secondaryLabel?: string;\n disabled?: boolean;\n};\n\nexport type ComboboxProps = {\n classNames?: {\n content?: string;\n input?: string;\n item?: string;\n pinnedOption?: string;\n positioner?: string;\n trigger?: string;\n };\n disabled?: boolean;\n options: ComboboxOption[];\n preSearchOptions?: ComboboxOption[];\n onSearchChange?: (value: string) => void;\n onChange?: (value: string) => void;\n onOpenChange?: (open: boolean) => void;\n placeholder?: string;\n searchLabel?: string;\n notFoundMessage?: string;\n value?: string;\n size?: 'default' | 'sm';\n error?: boolean;\n shouldFilter?: boolean;\n /**\n * An option pinned below the scrollable list, always visible and never filtered.\n * Selecting it calls `onChange` like any other option.\n */\n pinnedOption?: ComboboxOption;\n side?: 'top' | 'bottom';\n variant?: 'default' | 'input';\n};\n\nconst DefaultCombobox = ({\n classNames = undefined,\n disabled = false,\n options,\n preSearchOptions = undefined,\n onSearchChange = undefined,\n onChange = undefined,\n onOpenChange = undefined,\n placeholder = 'Select an option',\n searchLabel = 'Search...',\n notFoundMessage = 'Not found.',\n value = undefined,\n size = 'default',\n error = false,\n shouldFilter = true,\n pinnedOption = undefined,\n}: Omit<ComboboxProps, 'side' | 'variant'>) => {\n const [open, setOpen] = useState(false);\n\n // Allow filtering down to just a subset of options before searching\n // NOTE: preSearchOptions is optional, while options is a required prop that we can fallback to\n const [isSearching, setIsSearching] = useState(false);\n const optionsToDisplay = isSearching ? options : preSearchOptions || options;\n\n // cmdk's highlighted item, controlled so hovering the pinned option can clear it\n const [highlighted, setHighlighted] = useState('');\n\n const handleOpenChange = () => {\n setOpen(!open);\n setIsSearching(false);\n setHighlighted('');\n onOpenChange?.(!open);\n };\n\n // Shared by the list items and the pinned option so they can't drift apart\n const handleSelect = (selectedValue: string) => {\n onChange?.(selectedValue === value ? '' : selectedValue);\n setOpen(false);\n setIsSearching(false);\n setHighlighted('');\n onOpenChange?.(false);\n };\n\n const selectedOption =\n pinnedOption && pinnedOption.value === value\n ? pinnedOption\n : options.find((item) => item.value === value);\n\n return (\n <Popover open={open} onOpenChange={handleOpenChange}>\n <PopoverTrigger\n aria-invalid={error}\n data-placeholder={!value ? '' : undefined}\n disabled={disabled}\n className={cn(\n \"focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive hover:border-dark-green inline-flex h-12 w-full shrink-0 cursor-pointer items-center justify-between gap-2 rounded-md border px-4 whitespace-nowrap transition-all outline-none focus-visible:ring-[3px] disabled:pointer-events-none disabled:bg-gray-200 disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-5\",\n size === 'sm' && \"py-xs h-8 px-3 [&_svg:not([class*='size-'])]:size-4\",\n classNames?.trigger,\n )}\n >\n <div className=\"flex min-w-0 flex-1 items-center gap-2\">\n {!value && <LuSearch className={cn(error && 'text-red')} />}\n <span className={cn('block min-w-0 truncate', !value && 'text-gray-700')}>\n {value ? selectedOption?.label : placeholder}\n </span>\n </div>\n <LuChevronsUpDown className=\"opacity-50\" />\n </PopoverTrigger>\n <PopoverContent\n align=\"start\"\n className={cn('w-[var(--radix-popover-trigger-width)] p-0', classNames?.content)}\n >\n <Command\n shouldFilter={\n // This should be mainly be driven by the presence of the `onSearchChange` function\n // to match multiselect's behavior, however we omit this for backwards compatibility.\n shouldFilter\n }\n value={highlighted}\n onValueChange={setHighlighted}\n >\n <CommandInput\n placeholder={searchLabel}\n className={cn('h-9', classNames?.input)}\n onValueChange={(val) => {\n setIsSearching(!!val);\n onSearchChange?.(val);\n }}\n />\n <CommandList onWheel={(e) => e.stopPropagation()}>\n <CommandEmpty>{notFoundMessage}</CommandEmpty>\n <CommandGroup>\n {optionsToDisplay.map((item) => (\n <CommandItem\n key={item.value}\n value={item.value}\n keywords={[\n typeof item.label === 'string' ? item.label : '',\n item.additionalSearchText ?? '',\n ]}\n onSelect={handleSelect}\n className={classNames?.item}\n disabled={item.disabled}\n >\n {item.label}\n <LuCheck\n className={cn('ml-auto', value === item.value ? 'opacity-100' : 'opacity-0')}\n />\n </CommandItem>\n ))}\n </CommandGroup>\n </CommandList>\n {pinnedOption && (\n // A plain button, not a CommandItem, so cmdk never filters it out. The trade-off is\n // that arrow keys don't reach it; it's reachable with Tab from the search input instead.\n <CommandFooter className=\"border-t-0\">\n <button\n type=\"button\"\n disabled={pinnedOption.disabled}\n onClick={() => handleSelect(pinnedOption.value)}\n // cmdk keeps the last hovered item highlighted; clear it so only one row looks active\n onPointerEnter={() => setHighlighted('')}\n onFocus={() => setHighlighted('')}\n onKeyDown={(e) => {\n // cmdk's root handles Enter by preventing the default and selecting the\n // highlighted option, which would swallow this button's own activation\n if (e.key === 'Enter') e.stopPropagation();\n }}\n className={cn(\n \"text-dark-green hover:bg-accent focus-visible:ring-ring/50 [&_svg:not([class*='text-'])]:text-muted-foreground flex w-full cursor-pointer items-center gap-2 rounded-sm px-2 py-1.5 text-left italic outline-none focus-visible:ring-[3px] disabled:pointer-events-none disabled:opacity-50 [&_svg]:size-4 [&_svg]:shrink-0\",\n classNames?.pinnedOption,\n )}\n >\n {pinnedOption.label}\n <LuCheck\n className={cn(\n 'ml-auto',\n value === pinnedOption.value ? 'opacity-100' : 'opacity-0',\n )}\n />\n </button>\n </CommandFooter>\n )}\n </Command>\n </PopoverContent>\n </Popover>\n );\n};\n\nexport const Combobox = ({ variant = 'default', ...props }: ComboboxProps) =>\n variant === 'input' ? <InputVariantCombobox {...props} /> : <DefaultCombobox {...props} />;\n"]}
|
package/dist/chunk-YOXQYCZI.js
DELETED
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import {a as a$1,b,c}from'./chunk-YVP6QCW6.js';import {a}from'./chunk-J3TZ7WPF.js';import {a as a$3,c as c$1,d,e,f,h,j as j$1}from'./chunk-J624VXFX.js';import {a as a$2}from'./chunk-YTIIAU4W.js';import {LuSearch,LuChevronsUpDown,LuCheck}from'react-icons/lu';import {useState}from'react';import {jsx,jsxs}from'react/jsx-runtime';var j=({classNames:i=void 0,disabled:l=false,options:d$1,preSearchOptions:z=void 0,onSearchChange:F=void 0,onChange:O=void 0,onOpenChange:m=void 0,placeholder:I="Select an option",searchLabel:T="Search...",notFoundMessage:D="Not found.",value:n=void 0,size:E="default",error:b$1=false,shouldFilter:G=true,pinnedOption:a=void 0})=>{let[p,u]=useState(false),[R,c$2]=useState(false),V=R?d$1:z||d$1,[H,s]=useState(""),K=()=>{u(!p),c$2(false),s(""),m?.(!p);},v=e=>{O?.(e===n?"":e),u(false),c$2(false),s(""),m?.(false);},M=a&&a.value===n?a:d$1.find(e=>e.value===n);return jsxs(a$1,{open:p,onOpenChange:K,children:[jsxs(b,{"aria-invalid":b$1,"data-placeholder":n?void 0:"",disabled:l,className:a$2("focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive hover:border-dark-green inline-flex h-12 w-full shrink-0 cursor-pointer items-center justify-between gap-2 rounded-md border px-4 whitespace-nowrap transition-all outline-none focus-visible:ring-[3px] disabled:pointer-events-none disabled:bg-gray-200 disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-5",E==="sm"&&"py-xs h-8 px-3 [&_svg:not([class*='size-'])]:size-4",i?.trigger),children:[jsxs("div",{className:"flex min-w-0 flex-1 items-center gap-2",children:[!n&&jsx(LuSearch,{className:a$2(b$1&&"text-red")}),jsx("span",{className:a$2("block min-w-0 truncate",!n&&"text-gray-700"),children:n?M?.label:I})]}),jsx(LuChevronsUpDown,{className:"opacity-50"})]}),jsx(c,{align:"start",className:a$2("w-[var(--radix-popover-trigger-width)] p-0",i?.content),children:jsxs(a$3,{shouldFilter:G,value:H,onValueChange:s,children:[jsx(c$1,{placeholder:T,className:a$2("h-9",i?.input),onValueChange:e=>{c$2(!!e),F?.(e);}}),jsxs(d,{onWheel:e=>e.stopPropagation(),children:[jsx(e,{children:D}),jsx(f,{children:V.map(e=>jsxs(h,{value:e.value,keywords:[typeof e.label=="string"?e.label:"",e.additionalSearchText??""],onSelect:v,className:i?.item,disabled:e.disabled,children:[e.label,jsx(LuCheck,{className:a$2("ml-auto",n===e.value?"opacity-100":"opacity-0")})]},e.value))})]}),a&&jsx(j$1,{className:"border-t-0",children:jsxs("button",{type:"button",disabled:a.disabled,onClick:()=>v(a.value),onPointerEnter:()=>s(""),onFocus:()=>s(""),onKeyDown:e=>{e.key==="Enter"&&e.stopPropagation();},className:a$2("text-dark-green hover:bg-accent focus-visible:ring-ring/50 [&_svg:not([class*='text-'])]:text-muted-foreground flex w-full cursor-pointer items-center gap-2 rounded-sm px-2 py-1.5 text-left italic outline-none focus-visible:ring-[3px] disabled:pointer-events-none disabled:opacity-50 [&_svg]:size-4 [&_svg]:shrink-0",i?.pinnedOption),children:[a.label,jsx(LuCheck,{className:a$2("ml-auto",n===a.value?"opacity-100":"opacity-0")})]})})]})})]})},Y=({variant:i="default",...l})=>i==="input"?jsx(a,{...l}):jsx(j,{...l});export{Y as a};//# sourceMappingURL=chunk-YOXQYCZI.js.map
|
|
2
|
-
//# sourceMappingURL=chunk-YOXQYCZI.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/v2/combobox/combobox.tsx"],"names":["DefaultCombobox","classNames","disabled","options","preSearchOptions","onSearchChange","onChange","onOpenChange","placeholder","searchLabel","notFoundMessage","value","size","error","shouldFilter","pinnedOption","open","setOpen","useState","isSearching","setIsSearching","optionsToDisplay","highlighted","setHighlighted","handleOpenChange","handleSelect","selectedValue","selectedOption","item","jsxs","Popover","PopoverTrigger","cn","jsx","LuSearch","LuChevronsUpDown","PopoverContent","Command","CommandInput","val","CommandList","CommandEmpty","CommandGroup","CommandItem","LuCheck","CommandFooter","Combobox","variant","props","InputVariantCombobox"],"mappings":"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","file":"chunk-YOXQYCZI.js","sourcesContent":["import { LuCheck, LuChevronsUpDown, LuSearch } from 'react-icons/lu';\nimport { useState } from 'react';\nimport { Popover, PopoverContent, PopoverTrigger } from '@/v2/popover/popover';\nimport { cn } from '@/lib/utils';\nimport {\n Command,\n CommandEmpty,\n CommandFooter,\n CommandGroup,\n CommandInput,\n CommandItem,\n CommandList,\n} from '@/v2/command/command';\nimport { InputVariantCombobox } from './input-variant';\n\nexport type ComboboxOption = {\n label: string | React.ReactNode;\n value: string;\n additionalSearchText?: string;\n secondaryLabel?: string;\n disabled?: boolean;\n};\n\nexport type ComboboxProps = {\n classNames?: {\n content?: string;\n input?: string;\n item?: string;\n pinnedOption?: string;\n positioner?: string;\n trigger?: string;\n };\n disabled?: boolean;\n options: ComboboxOption[];\n preSearchOptions?: ComboboxOption[];\n onSearchChange?: (value: string) => void;\n onChange?: (value: string) => void;\n onOpenChange?: (open: boolean) => void;\n placeholder?: string;\n searchLabel?: string;\n notFoundMessage?: string;\n value?: string;\n size?: 'default' | 'sm';\n error?: boolean;\n shouldFilter?: boolean;\n /**\n * An option pinned below the scrollable list, always visible and never filtered.\n * Selecting it calls `onChange` like any other option.\n */\n pinnedOption?: ComboboxOption;\n side?: 'top' | 'bottom';\n variant?: 'default' | 'input';\n};\n\nconst DefaultCombobox = ({\n classNames = undefined,\n disabled = false,\n options,\n preSearchOptions = undefined,\n onSearchChange = undefined,\n onChange = undefined,\n onOpenChange = undefined,\n placeholder = 'Select an option',\n searchLabel = 'Search...',\n notFoundMessage = 'Not found.',\n value = undefined,\n size = 'default',\n error = false,\n shouldFilter = true,\n pinnedOption = undefined,\n}: Omit<ComboboxProps, 'side' | 'variant'>) => {\n const [open, setOpen] = useState(false);\n\n // Allow filtering down to just a subset of options before searching\n // NOTE: preSearchOptions is optional, while options is a required prop that we can fallback to\n const [isSearching, setIsSearching] = useState(false);\n const optionsToDisplay = isSearching ? options : preSearchOptions || options;\n\n // cmdk's highlighted item, controlled so hovering the pinned option can clear it\n const [highlighted, setHighlighted] = useState('');\n\n const handleOpenChange = () => {\n setOpen(!open);\n setIsSearching(false);\n setHighlighted('');\n onOpenChange?.(!open);\n };\n\n // Shared by the list items and the pinned option so they can't drift apart\n const handleSelect = (selectedValue: string) => {\n onChange?.(selectedValue === value ? '' : selectedValue);\n setOpen(false);\n setIsSearching(false);\n setHighlighted('');\n onOpenChange?.(false);\n };\n\n const selectedOption =\n pinnedOption && pinnedOption.value === value\n ? pinnedOption\n : options.find((item) => item.value === value);\n\n return (\n <Popover open={open} onOpenChange={handleOpenChange}>\n <PopoverTrigger\n aria-invalid={error}\n data-placeholder={!value ? '' : undefined}\n disabled={disabled}\n className={cn(\n \"focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive hover:border-dark-green inline-flex h-12 w-full shrink-0 cursor-pointer items-center justify-between gap-2 rounded-md border px-4 whitespace-nowrap transition-all outline-none focus-visible:ring-[3px] disabled:pointer-events-none disabled:bg-gray-200 disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-5\",\n size === 'sm' && \"py-xs h-8 px-3 [&_svg:not([class*='size-'])]:size-4\",\n classNames?.trigger,\n )}\n >\n <div className=\"flex min-w-0 flex-1 items-center gap-2\">\n {!value && <LuSearch className={cn(error && 'text-red')} />}\n <span className={cn('block min-w-0 truncate', !value && 'text-gray-700')}>\n {value ? selectedOption?.label : placeholder}\n </span>\n </div>\n <LuChevronsUpDown className=\"opacity-50\" />\n </PopoverTrigger>\n <PopoverContent\n align=\"start\"\n className={cn('w-[var(--radix-popover-trigger-width)] p-0', classNames?.content)}\n >\n <Command\n shouldFilter={\n // This should be mainly be driven by the presence of the `onSearchChange` function\n // to match multiselect's behavior, however we omit this for backwards compatibility.\n shouldFilter\n }\n value={highlighted}\n onValueChange={setHighlighted}\n >\n <CommandInput\n placeholder={searchLabel}\n className={cn('h-9', classNames?.input)}\n onValueChange={(val) => {\n setIsSearching(!!val);\n onSearchChange?.(val);\n }}\n />\n <CommandList onWheel={(e) => e.stopPropagation()}>\n <CommandEmpty>{notFoundMessage}</CommandEmpty>\n <CommandGroup>\n {optionsToDisplay.map((item) => (\n <CommandItem\n key={item.value}\n value={item.value}\n keywords={[\n typeof item.label === 'string' ? item.label : '',\n item.additionalSearchText ?? '',\n ]}\n onSelect={handleSelect}\n className={classNames?.item}\n disabled={item.disabled}\n >\n {item.label}\n <LuCheck\n className={cn('ml-auto', value === item.value ? 'opacity-100' : 'opacity-0')}\n />\n </CommandItem>\n ))}\n </CommandGroup>\n </CommandList>\n {pinnedOption && (\n // A plain button, not a CommandItem, so cmdk never filters it out. The trade-off is\n // that arrow keys don't reach it; it's reachable with Tab from the search input instead.\n <CommandFooter className=\"border-t-0\">\n <button\n type=\"button\"\n disabled={pinnedOption.disabled}\n onClick={() => handleSelect(pinnedOption.value)}\n // cmdk keeps the last hovered item highlighted; clear it so only one row looks active\n onPointerEnter={() => setHighlighted('')}\n onFocus={() => setHighlighted('')}\n onKeyDown={(e) => {\n // cmdk's root handles Enter by preventing the default and selecting the\n // highlighted option, which would swallow this button's own activation\n if (e.key === 'Enter') e.stopPropagation();\n }}\n className={cn(\n \"text-dark-green hover:bg-accent focus-visible:ring-ring/50 [&_svg:not([class*='text-'])]:text-muted-foreground flex w-full cursor-pointer items-center gap-2 rounded-sm px-2 py-1.5 text-left italic outline-none focus-visible:ring-[3px] disabled:pointer-events-none disabled:opacity-50 [&_svg]:size-4 [&_svg]:shrink-0\",\n classNames?.pinnedOption,\n )}\n >\n {pinnedOption.label}\n <LuCheck\n className={cn(\n 'ml-auto',\n value === pinnedOption.value ? 'opacity-100' : 'opacity-0',\n )}\n />\n </button>\n </CommandFooter>\n )}\n </Command>\n </PopoverContent>\n </Popover>\n );\n};\n\nexport const Combobox = ({ variant = 'default', ...props }: ComboboxProps) =>\n variant === 'input' ? <InputVariantCombobox {...props} /> : <DefaultCombobox {...props} />;\n"]}
|