@oztix/roadie-components 2.0.0 → 2.0.1
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/Autocomplete.d.ts +17 -33
- package/dist/Autocomplete.js +1 -1
- package/dist/{Button-DagX1D_q.d.ts → Button-fnIVmjIB.d.ts} +2 -3
- package/dist/Button.d.ts +6 -6
- package/dist/Button.js +1 -1
- package/dist/Combobox.d.ts +18 -35
- package/dist/Combobox.js +1 -1
- package/dist/LinkButton.d.ts +1 -1
- package/dist/LinkButton.js +1 -1
- package/dist/RadioGroup.d.ts +4 -4
- package/dist/RadioGroup.js +1 -1
- package/dist/Select.d.ts +18 -31
- package/dist/Select.js +1 -1
- package/dist/Steps.d.ts +9 -10
- package/dist/Steps.js +1 -1
- package/dist/_chunks/{chunk-A6JSYXKN.js → chunk-3H22EQQ6.js} +2 -2
- package/dist/_chunks/{chunk-A6JSYXKN.js.map → chunk-3H22EQQ6.js.map} +1 -1
- package/dist/_chunks/chunk-BQEJDV7D.js +3 -0
- package/dist/_chunks/chunk-BQEJDV7D.js.map +1 -0
- package/dist/_chunks/{chunk-3HWPLULJ.js → chunk-NRVNUMJE.js} +2 -2
- package/dist/_chunks/chunk-NRVNUMJE.js.map +1 -0
- package/dist/_chunks/chunk-OIZX63GZ.js +2 -0
- package/dist/_chunks/chunk-OIZX63GZ.js.map +1 -0
- package/dist/_chunks/chunk-OPR5JL7N.js +3 -0
- package/dist/_chunks/chunk-OPR5JL7N.js.map +1 -0
- package/dist/_chunks/chunk-SCS7WZ6Z.js +3 -0
- package/dist/_chunks/chunk-SCS7WZ6Z.js.map +1 -0
- package/dist/_chunks/{chunk-2MBFDJ6K.js → chunk-XERFFH3S.js} +2 -2
- package/dist/_chunks/chunk-XERFFH3S.js.map +1 -0
- package/dist/_chunks/{chunk-3NU36NBL.js → chunk-XRFHVFJ5.js} +2 -2
- package/dist/_chunks/{chunk-3NU36NBL.js.map → chunk-XRFHVFJ5.js.map} +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.js +1 -1
- package/package.json +10 -5
- package/dist/_chunks/chunk-2MBFDJ6K.js.map +0 -1
- package/dist/_chunks/chunk-3HWPLULJ.js.map +0 -1
- package/dist/_chunks/chunk-FSO4EAAY.js +0 -3
- package/dist/_chunks/chunk-FSO4EAAY.js.map +0 -1
- package/dist/_chunks/chunk-M4FEKBLW.js +0 -2
- package/dist/_chunks/chunk-M4FEKBLW.js.map +0 -1
- package/dist/_chunks/chunk-RXMWFJ6W.js +0 -3
- package/dist/_chunks/chunk-RXMWFJ6W.js.map +0 -1
- package/dist/_chunks/chunk-Y6TDYPCZ.js +0 -3
- package/dist/_chunks/chunk-Y6TDYPCZ.js.map +0 -1
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/components/Select/index.tsx"],"names":["SelectContext","createContext","selectTriggerVariants","cva","intentVariants","SelectRoot","invalid","required","props","fieldContext","useFieldContext","resolvedInvalid","resolvedRequired","jsx","SelectPrimitive","SelectTrigger","className","intent","emphasis","size","use","inField","cn","SelectValue","SelectIcon","children","CaretDownIcon","SelectPortal","SelectPositioner","SelectPopup","SelectItem","content","jsxs","Fragment","SelectItemText","SelectItemIndicator","CheckIcon","SelectGroup","SelectGroupLabel","SelectLabel","showIndicator","RequiredIndicator","OptionalIndicator","SelectScrollUpArrow","CaretUpIcon","SelectScrollDownArrow","SelectHelperText","SelectErrorText","SelectContent","Select"],"mappings":"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","file":"chunk-RXMWFJ6W.js","sourcesContent":["'use client'\n\nimport { type ComponentProps, createContext, use } from 'react'\n\nimport { Select as SelectPrimitive } from '@base-ui/react/select'\nimport { CaretDownIcon, CaretUpIcon, CheckIcon } from '@phosphor-icons/react'\nimport { type VariantProps, cva } from 'class-variance-authority'\n\nimport { cn } from '@oztix/roadie-core/utils'\n\nimport { intentVariants } from '../../variants'\nimport { useFieldContext } from '../Field'\nimport { OptionalIndicator } from '../Indicator'\nimport { RequiredIndicator } from '../Indicator'\n\n/* ─── Context ─── */\n\ninterface SelectContextValue {\n invalid?: boolean\n required?: boolean\n}\n\nconst SelectContext = createContext<SelectContextValue>({})\n\n/* ─── Trigger variants (matches Input) ─── */\n\nexport const selectTriggerVariants = cva(\n 'inline-flex w-full items-center justify-between rounded-lg font-sans select-none cursor-pointer text-left data-[popup-open]:bg-[var(--color-accent-2)] data-[popup-open]:border-[var(--color-accent-9)] data-[popup-open]:outline-[length:var(--focus-ring-width)]',\n {\n variants: {\n intent: intentVariants,\n emphasis: {\n normal: 'emphasis-raised border border-normal is-interactive-field',\n subtle:\n 'bg-subtle text-normal border border-transparent is-interactive-field'\n },\n size: {\n sm: 'h-8 px-1.5 text-base',\n md: 'h-10 px-2 text-base',\n lg: 'h-12 px-2 text-base'\n }\n },\n defaultVariants: {\n emphasis: 'normal',\n size: 'md'\n }\n }\n)\n\n/* ─── Root ─── */\n\nexport interface SelectRootProps\n extends ComponentProps<typeof SelectPrimitive.Root> {\n invalid?: boolean\n required?: boolean\n}\n\nexport function SelectRoot({ invalid, required, ...props }: SelectRootProps) {\n const fieldContext = useFieldContext()\n const resolvedInvalid = invalid ?? fieldContext.invalid\n const resolvedRequired = required ?? fieldContext.required\n\n return (\n <SelectContext\n value={{ invalid: resolvedInvalid, required: resolvedRequired }}\n >\n <SelectPrimitive.Root {...props} />\n </SelectContext>\n )\n}\n\nSelectRoot.displayName = 'Select'\n\n/* ─── Trigger ─── */\n\nexport interface SelectTriggerProps\n extends ComponentProps<typeof SelectPrimitive.Trigger>,\n VariantProps<typeof selectTriggerVariants> {}\n\nexport function SelectTrigger({\n className,\n intent,\n emphasis,\n size,\n ...props\n}: SelectTriggerProps) {\n const fieldContext = useFieldContext()\n const { invalid } = use(SelectContext)\n const inField = !!fieldContext.fieldId\n\n return (\n <SelectPrimitive.Trigger\n className={cn(\n selectTriggerVariants({ intent, emphasis, size, className })\n )}\n {...(inField && {\n 'aria-labelledby': fieldContext.labelId || undefined,\n 'aria-describedby': invalid\n ? fieldContext.errorTextId || undefined\n : fieldContext.helperTextId || undefined,\n 'aria-invalid': invalid || undefined,\n 'aria-required': fieldContext.required || undefined\n })}\n {...props}\n />\n )\n}\n\nSelectTrigger.displayName = 'Select.Trigger'\n\n/* ─── Value ─── */\n\nexport interface SelectValueProps\n extends ComponentProps<typeof SelectPrimitive.Value> {}\n\nexport function SelectValue({ className, ...props }: SelectValueProps) {\n return (\n <SelectPrimitive.Value\n className={cn('truncate data-[placeholder]:text-subtle', className)}\n {...props}\n />\n )\n}\n\nSelectValue.displayName = 'Select.Value'\n\n/* ─── Icon ─── */\n\nexport interface SelectIconProps\n extends ComponentProps<typeof SelectPrimitive.Icon> {}\n\nexport function SelectIcon({ className, children, ...props }: SelectIconProps) {\n return (\n <SelectPrimitive.Icon\n className={cn(\n 'duration-moderate ml-2 shrink-0 text-subtle transition-transform data-[popup-open]:rotate-180',\n className\n )}\n {...props}\n >\n {children ?? <CaretDownIcon weight='bold' className='size-4' />}\n </SelectPrimitive.Icon>\n )\n}\n\nSelectIcon.displayName = 'Select.Icon'\n\n/* ─── Portal ─── */\n\nexport interface SelectPortalProps\n extends ComponentProps<typeof SelectPrimitive.Portal> {}\n\nexport function SelectPortal(props: SelectPortalProps) {\n return <SelectPrimitive.Portal {...props} />\n}\n\nSelectPortal.displayName = 'Select.Portal'\n\n/* ─── Positioner ─── */\n\nexport interface SelectPositionerProps\n extends ComponentProps<typeof SelectPrimitive.Positioner> {}\n\nexport function SelectPositioner({\n className,\n ...props\n}: SelectPositionerProps) {\n return (\n <SelectPrimitive.Positioner\n className={cn('z-50', className)}\n alignItemWithTrigger={false}\n {...props}\n />\n )\n}\n\nSelectPositioner.displayName = 'Select.Positioner'\n\n/* ─── Popup (dropdown content) ─── */\n\nexport interface SelectPopupProps\n extends ComponentProps<typeof SelectPrimitive.Popup> {}\n\nexport function SelectPopup({ className, ...props }: SelectPopupProps) {\n return (\n <SelectPrimitive.Popup\n className={cn(\n 'max-h-[var(--available-height)] max-w-[var(--available-width)] min-w-[var(--anchor-width)] overflow-y-auto rounded-xl border border-[var(--intent-border-subtle)] bg-raised p-1 shadow-lg',\n 'origin-[var(--transform-origin)] transition-[transform,scale,opacity] data-[ending-style]:scale-95 data-[ending-style]:opacity-0 data-[starting-style]:scale-95 data-[starting-style]:opacity-0',\n className\n )}\n {...props}\n />\n )\n}\n\nSelectPopup.displayName = 'Select.Popup'\n\n/* ─── Item ─── */\n\nexport interface SelectItemProps\n extends ComponentProps<typeof SelectPrimitive.Item> {}\n\nexport function SelectItem({ className, children, ...props }: SelectItemProps) {\n const content =\n typeof children === 'string' || typeof children === 'number' ? (\n <>\n <SelectItemText>{children}</SelectItemText>\n <SelectItemIndicator />\n </>\n ) : (\n children\n )\n\n return (\n <SelectPrimitive.Item\n className={cn(\n 'flex w-full min-w-0 cursor-pointer items-center justify-between gap-2 rounded-lg px-2 py-1.5 text-sm text-normal outline-none select-none',\n 'data-[highlighted]:bg-subtle',\n className\n )}\n {...props}\n >\n {content}\n </SelectPrimitive.Item>\n )\n}\n\nSelectItem.displayName = 'Select.Item'\n\n/* ─── ItemText ─── */\n\nexport interface SelectItemTextProps\n extends ComponentProps<typeof SelectPrimitive.ItemText> {}\n\nexport function SelectItemText(props: SelectItemTextProps) {\n return <SelectPrimitive.ItemText {...props} />\n}\n\nSelectItemText.displayName = 'Select.ItemText'\n\n/* ─── ItemIndicator ─── */\n\nexport interface SelectItemIndicatorProps\n extends ComponentProps<typeof SelectPrimitive.ItemIndicator> {}\n\nexport function SelectItemIndicator({\n className,\n children,\n ...props\n}: SelectItemIndicatorProps) {\n return (\n <SelectPrimitive.ItemIndicator\n className={cn('shrink-0 text-subtle', className)}\n {...props}\n >\n {children ?? <CheckIcon weight='bold' className='size-4' />}\n </SelectPrimitive.ItemIndicator>\n )\n}\n\nSelectItemIndicator.displayName = 'Select.ItemIndicator'\n\n/* ─── Group ─── */\n\nexport interface SelectGroupProps\n extends ComponentProps<typeof SelectPrimitive.Group> {}\n\nexport function SelectGroup({ className, ...props }: SelectGroupProps) {\n return (\n <SelectPrimitive.Group className={cn('[&+&]:mt-1', className)} {...props} />\n )\n}\n\nSelectGroup.displayName = 'Select.Group'\n\n/* ─── GroupLabel ─── */\n\nexport interface SelectGroupLabelProps\n extends ComponentProps<typeof SelectPrimitive.GroupLabel> {}\n\nexport function SelectGroupLabel({\n className,\n ...props\n}: SelectGroupLabelProps) {\n return (\n <SelectPrimitive.GroupLabel\n className={cn(\n 'px-2 py-1.5 text-xs font-medium text-subtle select-none',\n className\n )}\n {...props}\n />\n )\n}\n\nSelectGroupLabel.displayName = 'Select.GroupLabel'\n\n/* ─── Label ─── */\n\nexport interface SelectLabelProps\n extends ComponentProps<typeof SelectPrimitive.Label> {\n showIndicator?: boolean\n}\n\nexport function SelectLabel({\n className,\n showIndicator,\n children,\n ...props\n}: SelectLabelProps) {\n const { required } = use(SelectContext)\n return (\n <SelectPrimitive.Label\n className={cn(\n 'flex items-center gap-1 text-sm font-medium text-normal',\n className\n )}\n {...props}\n >\n {children}\n {showIndicator &&\n (required ? (\n <>\n {' '}\n <RequiredIndicator />\n </>\n ) : (\n <>\n {' '}\n <OptionalIndicator />\n </>\n ))}\n </SelectPrimitive.Label>\n )\n}\n\nSelectLabel.displayName = 'Select.Label'\n\n/* ─── ScrollUpArrow ─── */\n\nexport interface SelectScrollUpArrowProps\n extends ComponentProps<typeof SelectPrimitive.ScrollUpArrow> {}\n\nexport function SelectScrollUpArrow({\n className,\n ...props\n}: SelectScrollUpArrowProps) {\n return (\n <SelectPrimitive.ScrollUpArrow\n className={cn(\n 'flex items-center justify-center py-1 text-subtle',\n className\n )}\n {...props}\n >\n <CaretUpIcon weight='bold' className='size-3' />\n </SelectPrimitive.ScrollUpArrow>\n )\n}\n\nSelectScrollUpArrow.displayName = 'Select.ScrollUpArrow'\n\n/* ─── ScrollDownArrow ─── */\n\nexport interface SelectScrollDownArrowProps\n extends ComponentProps<typeof SelectPrimitive.ScrollDownArrow> {}\n\nexport function SelectScrollDownArrow({\n className,\n ...props\n}: SelectScrollDownArrowProps) {\n return (\n <SelectPrimitive.ScrollDownArrow\n className={cn(\n 'flex items-center justify-center py-1 text-subtle',\n className\n )}\n {...props}\n >\n <CaretDownIcon weight='bold' className='size-3' />\n </SelectPrimitive.ScrollDownArrow>\n )\n}\n\nSelectScrollDownArrow.displayName = 'Select.ScrollDownArrow'\n\n/* ─── HelperText ─── */\n\nexport interface SelectHelperTextProps extends ComponentProps<'p'> {}\n\nexport function SelectHelperText({\n className,\n ...props\n}: SelectHelperTextProps) {\n return <p className={cn('text-sm text-subtle', className)} {...props} />\n}\n\nSelectHelperText.displayName = 'Select.HelperText'\n\n/* ─── ErrorText ─── */\n\nexport interface SelectErrorTextProps extends ComponentProps<'p'> {}\n\nexport function SelectErrorText({ className, ...props }: SelectErrorTextProps) {\n const { invalid } = use(SelectContext)\n if (!invalid) return null\n return (\n <p\n role='alert'\n className={cn('text-sm text-subtle intent-danger', className)}\n {...props}\n />\n )\n}\n\nSelectErrorText.displayName = 'Select.ErrorText'\n\n/* ─── Content (convenience wrapper) ─── */\n\nexport interface SelectContentProps extends SelectPopupProps {}\n\nexport function SelectContent({ children, ...props }: SelectContentProps) {\n return (\n <SelectPortal>\n <SelectPositioner>\n <SelectPopup {...props}>{children}</SelectPopup>\n </SelectPositioner>\n </SelectPortal>\n )\n}\n\nSelectContent.displayName = 'Select.Content'\n\n/* ─── Compound export ─── */\n\nexport const Select = Object.assign(SelectRoot, {\n Trigger: SelectTrigger,\n Value: SelectValue,\n Icon: SelectIcon,\n Portal: SelectPortal,\n Positioner: SelectPositioner,\n Popup: SelectPopup,\n Content: SelectContent,\n Item: SelectItem,\n ItemText: SelectItemText,\n ItemIndicator: SelectItemIndicator,\n Group: SelectGroup,\n GroupLabel: SelectGroupLabel,\n Label: SelectLabel,\n HelperText: SelectHelperText,\n ErrorText: SelectErrorText,\n ScrollUpArrow: SelectScrollUpArrow,\n ScrollDownArrow: SelectScrollDownArrow\n})\n\nexport type SelectProps = SelectRootProps\nexport type { SelectTriggerProps as SelectTriggerVariantProps }\n"]}
|
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
"use client";
|
|
2
|
-
import {a as a$2}from'./chunk-N2HGY7W7.js';import {a as a$1}from'./chunk-4LGCF3SN.js';import {Autocomplete}from'@base-ui/react/autocomplete';import {XIcon,CaretDownIcon}from'@phosphor-icons/react';import {cva}from'class-variance-authority';import {cn}from'@oztix/roadie-core/utils';import {jsx}from'react/jsx-runtime';var q=Autocomplete.useFilter,j=Autocomplete.useFilteredItems,T=cva("inline-flex w-full items-center rounded-lg font-sans",{variants:{intent:a$1,emphasis:{normal:"emphasis-sunken border border-subtle is-interactive-field-group",subtle:"bg-subtle text-normal border border-transparent is-interactive-field-group"},size:{sm:"h-8 px-1.5 text-base",md:"h-10 px-2 text-base",lg:"h-12 px-2 text-base"}},defaultVariants:{emphasis:"normal",size:"md"}});function m(e){return jsx(Autocomplete.Root,{...e})}m.displayName="Autocomplete";function a(e){return jsx(Autocomplete.Value,{...e})}a.displayName="Autocomplete.Value";function c({className:e,intent:t,emphasis:r,size:n,...G}){let s=a$2(),w=!!s.fieldId;return jsx(Autocomplete.InputGroup,{className:cn(T({intent:t,emphasis:r,size:n,className:e})),"aria-invalid":w&&s.invalid||void 0,...G})}c.displayName="Autocomplete.InputGroup";function d({className:e,...t}){let r=a$2(),n=!!r.fieldId;return jsx(Autocomplete.Input,{className:cn("min-w-0 flex-1 bg-transparent outline-none placeholder:text-subtle",e),...n&&{id:r.fieldId,"aria-invalid":r.invalid||void 0,"aria-required":r.required||void 0,"aria-describedby":r.invalid?r.errorTextId||void 0:r.helperTextId||void 0},...t})}d.displayName="Autocomplete.Input";function P({className:e,children:t,...r}){return jsx(Autocomplete.Trigger,{className:cn("duration-moderate shrink-0 text-subtle transition-transform data-[popup-open]:rotate-180",e),...r,children:t??jsx(CaretDownIcon,{weight:"bold",className:"size-4"})})}P.displayName="Autocomplete.Trigger";function A({className:e,children:t,...r}){return jsx(Autocomplete.Clear,{className:cn("shrink-0 cursor-pointer text-subtle hover:text-normal",e),...r,children:t??jsx(XIcon,{weight:"bold",className:"size-4"})})}A.displayName="Autocomplete.Clear";function x(e){return jsx(Autocomplete.Portal,{...e})}x.displayName="Autocomplete.Portal";function f({className:e,...t}){return jsx(Autocomplete.Positioner,{className:cn("z-50",e),sideOffset:4,...t})}f.displayName="Autocomplete.Positioner";function y({className:e,...t}){return jsx(Autocomplete.Popup,{className:cn("max-h-[var(--available-height)] max-w-[var(--available-width)] min-w-[var(--anchor-width)] overflow-y-auto rounded-xl border border-[var(--intent-border-subtle)] bg-raised p-1 shadow-lg","origin-[var(--transform-origin)] transition-[transform,scale,opacity] data-[ending-style]:scale-95 data-[ending-style]:opacity-0 data-[starting-style]:scale-95 data-[starting-style]:opacity-0",e),...t})}y.displayName="Autocomplete.Popup";function b({className:e,...t}){return jsx(Autocomplete.List,{className:e,...t})}b.displayName="Autocomplete.List";function g({className:e,...t}){return jsx(Autocomplete.Item,{className:cn("flex w-full min-w-0 cursor-pointer items-center justify-between gap-2 rounded-lg px-2 py-1.5 text-sm text-normal outline-none select-none","data-[highlighted]:bg-subtle",e),...t})}g.displayName="Autocomplete.Item";function v(e){return jsx(Autocomplete.Collection,{...e})}v.displayName="Autocomplete.Collection";function C({className:e,...t}){return jsx(Autocomplete.Group,{className:cn("[&+&]:mt-1",e),...t})}C.displayName="Autocomplete.Group";function I({className:e,...t}){return jsx(Autocomplete.GroupLabel,{className:cn("px-2 py-1.5 text-xs font-medium text-subtle select-none",e),...t})}I.displayName="Autocomplete.GroupLabel";function N({className:e,...t}){return jsx(Autocomplete.Empty,{className:cn("text-center text-sm text-subtle empty:hidden [&:not(:empty)]:px-3 [&:not(:empty)]:py-4",e),...t})}N.displayName="Autocomplete.Empty";function h({className:e,...t}){return jsx(Autocomplete.Status,{className:cn("sr-only",e),...t})}h.displayName="Autocomplete.Status";var D=Object.assign(m,{Value:a,InputGroup:c,Input:d,Trigger:P,Clear:A,Portal:x,Positioner:f,Popup:y,List:b,Item:g,Collection:v,Group:C,GroupLabel:I,Empty:N,Status:h});export{q as a,j as b,T as c,m as d,a as e,c as f,d as g,P as h,A as i,x as j,f as k,y as l,b as m,g as n,v as o,C as p,I as q,N as r,h as s,D as t};//# sourceMappingURL=chunk-Y6TDYPCZ.js.map
|
|
3
|
-
//# sourceMappingURL=chunk-Y6TDYPCZ.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/components/Autocomplete/index.tsx"],"names":["useFilter","AutocompletePrimitive","useFilteredItems","autocompleteInputGroupVariants","cva","intentVariants","AutocompleteRoot","props","jsx","AutocompleteValue","AutocompleteInputGroup","className","intent","emphasis","size","fieldContext","useFieldContext","inField","cn","AutocompleteInput","AutocompleteTrigger","children","CaretDownIcon","AutocompleteClear","XIcon","AutocompletePortal","AutocompletePositioner","AutocompletePopup","AutocompleteList","AutocompleteItem","AutocompleteCollection","AutocompleteGroup","AutocompleteGroupLabel","AutocompleteEmpty","AutocompleteStatus","Autocomplete"],"mappings":"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","file":"chunk-Y6TDYPCZ.js","sourcesContent":["'use client'\n\nimport type { ComponentProps } from 'react'\n\nimport {\n type AutocompleteFilter,\n type AutocompleteFilterOptions,\n Autocomplete as AutocompletePrimitive\n} from '@base-ui/react/autocomplete'\nimport { CaretDownIcon, XIcon } from '@phosphor-icons/react'\nimport { type VariantProps, cva } from 'class-variance-authority'\n\nimport { cn } from '@oztix/roadie-core/utils'\n\nimport { intentVariants } from '../../variants'\nimport { useFieldContext } from '../Field'\n\nexport const useFilter = AutocompletePrimitive.useFilter\nexport const useFilteredItems = AutocompletePrimitive.useFilteredItems\nexport type {\n AutocompleteFilter as Filter,\n AutocompleteFilterOptions as FilterOptions\n}\n\n/* ─── Input group variants (matches Combobox/Select) ─── */\n\nexport const autocompleteInputGroupVariants = cva(\n 'inline-flex w-full items-center rounded-lg font-sans',\n {\n variants: {\n intent: intentVariants,\n emphasis: {\n normal:\n 'emphasis-sunken border border-subtle is-interactive-field-group',\n subtle:\n 'bg-subtle text-normal border border-transparent is-interactive-field-group'\n },\n size: {\n sm: 'h-8 px-1.5 text-base',\n md: 'h-10 px-2 text-base',\n lg: 'h-12 px-2 text-base'\n }\n },\n defaultVariants: {\n emphasis: 'normal',\n size: 'md'\n }\n }\n)\n\n/* ─── Root ─── */\n\nexport interface AutocompleteRootProps\n extends ComponentProps<typeof AutocompletePrimitive.Root> {}\n\nexport function AutocompleteRoot(props: AutocompleteRootProps) {\n return <AutocompletePrimitive.Root {...props} />\n}\n\nAutocompleteRoot.displayName = 'Autocomplete'\n\n/* ─── Value ─── */\n\nexport interface AutocompleteValueProps\n extends ComponentProps<typeof AutocompletePrimitive.Value> {}\n\nexport function AutocompleteValue(props: AutocompleteValueProps) {\n return <AutocompletePrimitive.Value {...props} />\n}\n\nAutocompleteValue.displayName = 'Autocomplete.Value'\n\n/* ─── InputGroup ─── */\n\nexport interface AutocompleteInputGroupProps\n extends ComponentProps<typeof AutocompletePrimitive.InputGroup>,\n VariantProps<typeof autocompleteInputGroupVariants> {}\n\nexport function AutocompleteInputGroup({\n className,\n intent,\n emphasis,\n size,\n ...props\n}: AutocompleteInputGroupProps) {\n const fieldContext = useFieldContext()\n const inField = !!fieldContext.fieldId\n\n return (\n <AutocompletePrimitive.InputGroup\n className={cn(\n autocompleteInputGroupVariants({ intent, emphasis, size, className })\n )}\n aria-invalid={(inField && fieldContext.invalid) || undefined}\n {...props}\n />\n )\n}\n\nAutocompleteInputGroup.displayName = 'Autocomplete.InputGroup'\n\n/* ─── Input ─── */\n\nexport interface AutocompleteInputProps\n extends ComponentProps<typeof AutocompletePrimitive.Input> {}\n\nexport function AutocompleteInput({\n className,\n ...props\n}: AutocompleteInputProps) {\n const fieldContext = useFieldContext()\n const inField = !!fieldContext.fieldId\n\n return (\n <AutocompletePrimitive.Input\n className={cn(\n 'min-w-0 flex-1 bg-transparent outline-none placeholder:text-subtle',\n className\n )}\n {...(inField && {\n id: fieldContext.fieldId,\n 'aria-invalid': fieldContext.invalid || undefined,\n 'aria-required': fieldContext.required || undefined,\n 'aria-describedby': fieldContext.invalid\n ? fieldContext.errorTextId || undefined\n : fieldContext.helperTextId || undefined\n })}\n {...props}\n />\n )\n}\n\nAutocompleteInput.displayName = 'Autocomplete.Input'\n\n/* ─── Trigger ─── */\n\nexport interface AutocompleteTriggerProps\n extends ComponentProps<typeof AutocompletePrimitive.Trigger> {}\n\nexport function AutocompleteTrigger({\n className,\n children,\n ...props\n}: AutocompleteTriggerProps) {\n return (\n <AutocompletePrimitive.Trigger\n className={cn(\n 'duration-moderate shrink-0 text-subtle transition-transform data-[popup-open]:rotate-180',\n className\n )}\n {...props}\n >\n {children ?? <CaretDownIcon weight='bold' className='size-4' />}\n </AutocompletePrimitive.Trigger>\n )\n}\n\nAutocompleteTrigger.displayName = 'Autocomplete.Trigger'\n\n/* ─── Clear ─── */\n\nexport interface AutocompleteClearProps\n extends ComponentProps<typeof AutocompletePrimitive.Clear> {}\n\nexport function AutocompleteClear({\n className,\n children,\n ...props\n}: AutocompleteClearProps) {\n return (\n <AutocompletePrimitive.Clear\n className={cn(\n 'shrink-0 cursor-pointer text-subtle hover:text-normal',\n className\n )}\n {...props}\n >\n {children ?? <XIcon weight='bold' className='size-4' />}\n </AutocompletePrimitive.Clear>\n )\n}\n\nAutocompleteClear.displayName = 'Autocomplete.Clear'\n\n/* ─── Portal ─── */\n\nexport interface AutocompletePortalProps\n extends ComponentProps<typeof AutocompletePrimitive.Portal> {}\n\nexport function AutocompletePortal(props: AutocompletePortalProps) {\n return <AutocompletePrimitive.Portal {...props} />\n}\n\nAutocompletePortal.displayName = 'Autocomplete.Portal'\n\n/* ─── Positioner ─── */\n\nexport interface AutocompletePositionerProps\n extends ComponentProps<typeof AutocompletePrimitive.Positioner> {}\n\nexport function AutocompletePositioner({\n className,\n ...props\n}: AutocompletePositionerProps) {\n return (\n <AutocompletePrimitive.Positioner\n className={cn('z-50', className)}\n sideOffset={4}\n {...props}\n />\n )\n}\n\nAutocompletePositioner.displayName = 'Autocomplete.Positioner'\n\n/* ─── Popup ─── */\n\nexport interface AutocompletePopupProps\n extends ComponentProps<typeof AutocompletePrimitive.Popup> {}\n\nexport function AutocompletePopup({\n className,\n ...props\n}: AutocompletePopupProps) {\n return (\n <AutocompletePrimitive.Popup\n className={cn(\n 'max-h-[var(--available-height)] max-w-[var(--available-width)] min-w-[var(--anchor-width)] overflow-y-auto rounded-xl border border-[var(--intent-border-subtle)] bg-raised p-1 shadow-lg',\n 'origin-[var(--transform-origin)] transition-[transform,scale,opacity] data-[ending-style]:scale-95 data-[ending-style]:opacity-0 data-[starting-style]:scale-95 data-[starting-style]:opacity-0',\n className\n )}\n {...props}\n />\n )\n}\n\nAutocompletePopup.displayName = 'Autocomplete.Popup'\n\n/* ─── List ─── */\n\nexport interface AutocompleteListProps\n extends ComponentProps<typeof AutocompletePrimitive.List> {}\n\nexport function AutocompleteList({\n className,\n ...props\n}: AutocompleteListProps) {\n return <AutocompletePrimitive.List className={className} {...props} />\n}\n\nAutocompleteList.displayName = 'Autocomplete.List'\n\n/* ─── Item ─── */\n\nexport interface AutocompleteItemProps\n extends ComponentProps<typeof AutocompletePrimitive.Item> {}\n\nexport function AutocompleteItem({\n className,\n ...props\n}: AutocompleteItemProps) {\n return (\n <AutocompletePrimitive.Item\n className={cn(\n 'flex w-full min-w-0 cursor-pointer items-center justify-between gap-2 rounded-lg px-2 py-1.5 text-sm text-normal outline-none select-none',\n 'data-[highlighted]:bg-subtle',\n className\n )}\n {...props}\n />\n )\n}\n\nAutocompleteItem.displayName = 'Autocomplete.Item'\n\n/* ─── Collection ─── */\n\nexport interface AutocompleteCollectionProps\n extends ComponentProps<typeof AutocompletePrimitive.Collection> {}\n\nexport function AutocompleteCollection(props: AutocompleteCollectionProps) {\n return <AutocompletePrimitive.Collection {...props} />\n}\n\nAutocompleteCollection.displayName = 'Autocomplete.Collection'\n\n/* ─── Group ─── */\n\nexport interface AutocompleteGroupProps\n extends ComponentProps<typeof AutocompletePrimitive.Group> {}\n\nexport function AutocompleteGroup({\n className,\n ...props\n}: AutocompleteGroupProps) {\n return (\n <AutocompletePrimitive.Group\n className={cn('[&+&]:mt-1', className)}\n {...props}\n />\n )\n}\n\nAutocompleteGroup.displayName = 'Autocomplete.Group'\n\n/* ─── GroupLabel ─── */\n\nexport interface AutocompleteGroupLabelProps\n extends ComponentProps<typeof AutocompletePrimitive.GroupLabel> {}\n\nexport function AutocompleteGroupLabel({\n className,\n ...props\n}: AutocompleteGroupLabelProps) {\n return (\n <AutocompletePrimitive.GroupLabel\n className={cn(\n 'px-2 py-1.5 text-xs font-medium text-subtle select-none',\n className\n )}\n {...props}\n />\n )\n}\n\nAutocompleteGroupLabel.displayName = 'Autocomplete.GroupLabel'\n\n/* ─── Empty ─── */\n\nexport interface AutocompleteEmptyProps\n extends ComponentProps<typeof AutocompletePrimitive.Empty> {}\n\nexport function AutocompleteEmpty({\n className,\n ...props\n}: AutocompleteEmptyProps) {\n return (\n <AutocompletePrimitive.Empty\n className={cn(\n 'text-center text-sm text-subtle empty:hidden [&:not(:empty)]:px-3 [&:not(:empty)]:py-4',\n className\n )}\n {...props}\n />\n )\n}\n\nAutocompleteEmpty.displayName = 'Autocomplete.Empty'\n\n/* ─── Status ─── */\n\nexport interface AutocompleteStatusProps\n extends ComponentProps<typeof AutocompletePrimitive.Status> {}\n\nexport function AutocompleteStatus({\n className,\n ...props\n}: AutocompleteStatusProps) {\n return (\n <AutocompletePrimitive.Status\n className={cn('sr-only', className)}\n {...props}\n />\n )\n}\n\nAutocompleteStatus.displayName = 'Autocomplete.Status'\n\n/* ─── Compound export ─── */\n\nexport const Autocomplete = Object.assign(AutocompleteRoot, {\n Value: AutocompleteValue,\n InputGroup: AutocompleteInputGroup,\n Input: AutocompleteInput,\n Trigger: AutocompleteTrigger,\n Clear: AutocompleteClear,\n Portal: AutocompletePortal,\n Positioner: AutocompletePositioner,\n Popup: AutocompletePopup,\n List: AutocompleteList,\n Item: AutocompleteItem,\n Collection: AutocompleteCollection,\n Group: AutocompleteGroup,\n GroupLabel: AutocompleteGroupLabel,\n Empty: AutocompleteEmpty,\n Status: AutocompleteStatus\n})\n\nexport type AutocompleteProps = AutocompleteRootProps\n"]}
|