@jamsrui/autocomplete 0.0.18 → 0.0.20
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-config.d.mts +4 -4
- package/dist/autocomplete-config.mjs +1 -1
- package/dist/autocomplete-content.mjs +1 -1
- package/dist/autocomplete-context.mjs +1 -1
- package/dist/autocomplete-item.mjs +1 -1
- package/dist/autocomplete-popover.mjs +1 -1
- package/dist/autocomplete.mjs +1 -1
- package/dist/index.d.mts +22 -6
- package/dist/index.mjs +1 -1
- package/dist/use-autocomplete.mjs +1 -1
- package/package.json +5 -5
|
@@ -1,12 +1,12 @@
|
|
|
1
|
-
import { A as Autocomplete } from './autocomplete-Fn-_jn7o.mjs';
|
|
2
1
|
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
3
|
-
import {
|
|
4
|
-
import './autocomplete-
|
|
2
|
+
import { WithGlobalConfig } from '@jamsrui/core';
|
|
3
|
+
import { A as Autocomplete } from './autocomplete-Fn-_jn7o.mjs';
|
|
5
4
|
import '@floating-ui/react';
|
|
6
5
|
import '@jamsrui/input';
|
|
7
6
|
import '@jamsrui/utils';
|
|
8
7
|
import 'react';
|
|
9
8
|
import './autocomplete-content.mjs';
|
|
9
|
+
import './autocomplete-item.mjs';
|
|
10
10
|
import './autocomplete-popover.mjs';
|
|
11
11
|
import './styles.mjs';
|
|
12
12
|
|
|
@@ -16,7 +16,7 @@ declare const AutocompleteConfig: (props: Omit<Partial<AutocompleteConfig.Props>
|
|
|
16
16
|
children: React.ReactNode;
|
|
17
17
|
}) => react_jsx_runtime.JSX.Element;
|
|
18
18
|
declare namespace AutocompleteConfig {
|
|
19
|
-
interface Props extends
|
|
19
|
+
interface Props extends WithGlobalConfig<Autocomplete.Props> {
|
|
20
20
|
}
|
|
21
21
|
}
|
|
22
22
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{createConfigContext as o}from"@jamsrui/utils";const[t,p]=o({displayName:"AutocompleteConfig"});export{t as AutocompleteConfig,p as useAutocompleteConfig};
|
|
1
|
+
"use client";import{createConfigContext as o}from"@jamsrui/utils";const[t,p]=o({displayName:"AutocompleteConfig"});export{t as AutocompleteConfig,p as useAutocompleteConfig};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{jsx as
|
|
1
|
+
"use client";import{jsx as i}from"react/jsx-runtime";import{FloatingList as r}from"@floating-ui/react";import{useRenderElement as p}from"@jamsrui/hooks";import{useAutocompleteContext as s}from"./autocomplete-context.mjs";const u=t=>{const{getContentProps:o,getFloatingListProps:e}=s(),n=p("div",{props:[o(t)]});return i(r,{...e(),children:n})};export{u as AutocompleteContent};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{createContext as t,use as o}from"react";const
|
|
1
|
+
"use client";import{createContext as t,use as o}from"react";const u=t(null),n=()=>{const e=o(u);if(!e)throw new Error("useAutocompleteContext must be used within Autocomplete");return e};export{u as AutocompleteContext,n as useAutocompleteContext};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{useListItem as I}from"@floating-ui/react";import{useHover as g,useMergeRefs as A,useRenderElement as P}from"@jamsrui/hooks";import{useAutocompleteContext as h}from"./autocomplete-context.mjs";const V=l=>{const{textValue:a,children:e,value:t,disabled:i,...n}=l,{getAutocompleteItemProps:
|
|
1
|
+
"use client";import{useListItem as I}from"@floating-ui/react";import{useHover as g,useMergeRefs as A,useRenderElement as P}from"@jamsrui/hooks";import{useAutocompleteContext as h}from"./autocomplete-context.mjs";const V=l=>{const{textValue:a,children:e,value:t,disabled:i,...n}=l,{getAutocompleteItemProps:c,activeIndex:d,value:m}=h(),s=a??(typeof e=="string"?e:t);s.length||console.warn(`No label provided for list item with value ${t}`);const{ref:p,index:u}=I({label:s}),o=i??!1,r=m.includes(t),f=d===u,{isHovered:v,ref:b}=g({isDisabled:o}),x=A([p,b]);return P("li",{props:[c(n),{ref:x,"aria-selected":r,"data-selected":r,"aria-disabled":o,"data-disabled":o,"data-active":f,"data-hovered":v,children:e}]})};export{V as AutocompleteItem};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{jsx as o}from"react/jsx-runtime";import{FloatingFocusManager as s,FloatingPortal as
|
|
1
|
+
"use client";import{jsx as o}from"react/jsx-runtime";import{FloatingFocusManager as s,FloatingPortal as l}from"@floating-ui/react";import{useRenderElement as a}from"@jamsrui/hooks";import{useAutocompleteContext as m}from"./autocomplete-context.mjs";const P=e=>{const{getPopoverProps:t,isOpen:r,getFocusManagerProps:p}=m(),n=a("button",{props:[t(e)]});return r?o(l,{children:o(s,{...p(),children:n})}):null};export{P as AutocompletePopover};
|
package/dist/autocomplete.mjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{Fragment as x,jsx as o,jsxs as v}from"react/jsx-runtime";import{useRenderElement as l}from"@jamsrui/hooks";import{Input as i}from"@jamsrui/input";import{mergeConfigProps as f}from"@jamsrui/utils";import{useAutocompleteConfig as A}from"./autocomplete-config.mjs";import{AutocompleteContent as d}from"./autocomplete-content.mjs";import{AutocompleteContext as P}from"./autocomplete-context.mjs";import{AutocompletePopover as g}from"./autocomplete-popover.mjs";import{useAutocomplete as C}from"./use-autocomplete.mjs";const w=e=>{const{children:p}=e,t=A(),m=f(t,t,e),r=C(m),{getRootProps:n,getInputProps:c}=r,s=v(x,{children:[o(i,{...c({})}),o(g,{children:o(d,{children:p})})]}),u=l("div",{props:[n({}),{children:s}]});return o(P,{value:r,children:u})};export{w as Autocomplete};
|
|
1
|
+
"use client";import{Fragment as x,jsx as o,jsxs as v}from"react/jsx-runtime";import{useRenderElement as l}from"@jamsrui/hooks";import{Input as i}from"@jamsrui/input";import{mergeConfigProps as f}from"@jamsrui/utils";import{useAutocompleteConfig as A}from"./autocomplete-config.mjs";import{AutocompleteContent as d}from"./autocomplete-content.mjs";import{AutocompleteContext as P}from"./autocomplete-context.mjs";import{AutocompletePopover as g}from"./autocomplete-popover.mjs";import{useAutocomplete as C}from"./use-autocomplete.mjs";const w=e=>{const{children:p}=e,t=A(),m=f(t,t,e),r=C(m),{getRootProps:n,getInputProps:c}=r,s=v(x,{children:[o(i,{...c({})}),o(g,{children:o(d,{children:p})})]}),u=l("div",{props:[n({}),{children:s}]});return o(P,{value:r,children:u})};export{w as Autocomplete};
|
package/dist/index.d.mts
CHANGED
|
@@ -1,12 +1,28 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
1
|
+
import * as react from 'react';
|
|
2
|
+
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
3
|
+
import { A as Autocomplete$1 } from './autocomplete-Fn-_jn7o.mjs';
|
|
4
|
+
export { u as useAutocomplete } from './autocomplete-Fn-_jn7o.mjs';
|
|
5
|
+
import { AutocompleteConfig } from './autocomplete-config.mjs';
|
|
6
|
+
export { useAutocompleteConfig } from './autocomplete-config.mjs';
|
|
7
|
+
import { AutocompleteItem } from './autocomplete-item.mjs';
|
|
8
|
+
export { AutocompleteSlots, AutocompleteVariantProps, autocompleteVariants } from './styles.mjs';
|
|
5
9
|
import '@floating-ui/react';
|
|
6
10
|
import '@jamsrui/input';
|
|
7
11
|
import '@jamsrui/utils';
|
|
8
|
-
import 'react';
|
|
9
12
|
import './autocomplete-content.mjs';
|
|
10
13
|
import './autocomplete-popover.mjs';
|
|
11
|
-
import './styles.mjs';
|
|
12
14
|
import '@jamsrui/core';
|
|
15
|
+
|
|
16
|
+
declare const Autocomplete: ((props: Autocomplete$1.Props) => react_jsx_runtime.JSX.Element) & {
|
|
17
|
+
Item: (props: AutocompleteItem.Props) => react.ReactElement<unknown, string | react.JSXElementConstructor<any>>;
|
|
18
|
+
};
|
|
19
|
+
declare namespace Autocomplete {
|
|
20
|
+
interface Props extends Autocomplete$1.Props {
|
|
21
|
+
}
|
|
22
|
+
interface Config extends AutocompleteConfig.Props {
|
|
23
|
+
}
|
|
24
|
+
interface Item extends AutocompleteItem.Props {
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
export { Autocomplete, AutocompleteConfig, AutocompleteItem };
|
package/dist/index.mjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
import{Autocomplete as t}from"./autocomplete.mjs";import{AutocompleteConfig as e,useAutocompleteConfig as p}from"./autocomplete-config.mjs";import{AutocompleteItem as o}from"./autocomplete-item.mjs";import{autocompleteVariants as m}from"./styles.mjs";import{useAutocomplete as r}from"./use-autocomplete.mjs";const a=Object.assign(t,{Item:o});export{a as Autocomplete,e as AutocompleteConfig,o as AutocompleteItem,m as autocompleteVariants,r as useAutocomplete,p as useAutocompleteConfig};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{useCallback as s,useMemo as B,useRef as J,useState as c}from"react";import{autoUpdate as Q,flip as X,offset as Y,size as Z,useDismiss as _,useFloating as ee,useInteractions as te,useListNavigation as oe,useRole as se}from"@floating-ui/react";import{useControlledState as M}from"@jamsrui/hooks";import{cn as r,dataAttrDev as a,mapPropsVariants as ne}from"@jamsrui/utils";import{autocompleteVariants as V}from"./styles.mjs";const ge=S=>{const[R,G]=ne(S,V.variantKeys),{classNames:t,isOpen:L,defaultOpen:T,onOpenChange:j,value:k,defaultValue:w,onValueChange:D,placement:u="bottom-start",isMultiple:ae,...p}=R,P=J([]),[l,H]=c(null),[$,re]=c(1),[pe,E]=c(!1),[m=!1,i]=M({defaultProp:T,onChange:j,prop:L}),[d=[],le]=M({defaultProp:w,onChange:D,prop:k}),{refs:{setReference:g,setFloating:f},floatingStyles:v,context:n}=ee({placement:u,open:m,onOpenChange:i,whileElementsMounted:Q,middleware:[Y(2),X({crossAxis:u.includes("-"),padding:0}),Z({apply({rects:e,elements:U,availableHeight:q}){Object.assign(U.floating.style,{maxHeight:`${Math.max(50,Math.min(400,q))}px`,minWidth:`${e.reference.width}px`})},padding:0})]}),W=oe(n,{listRef:P,activeIndex:l,selectedIndex:$,onNavigate:H,virtual:!0,loop:!0}),z=_(n,{outsidePress:!0}),K=se(n,{role:"listbox"}),{getReferenceProps:y,getFloatingProps:A,getItemProps:me}=te([W,z,K]),N=s(()=>{E(!0),i(e=>!e)},[i]),o=V(G),I=s(()=>({...p,"data-component":a("autocomplete"),"data-slot":a("root"),className:o.root({className:r(t?.root,p.className)})}),[t?.root,p,o]),C=s(e=>({...e,"data-slot":a("item"),className:o.item({className:r(t?.item,e.className)})}),[t?.item,o]),h=s(e=>({...e,"data-slot":a("popover"),className:o.popover({className:r(t?.popover,e.className)}),style:v,...A({}),ref:f}),[t?.popover,v,A,f,o]),x=s(e=>({...e,"data-slot":a("content"),className:o.content({className:r(t?.content,e.className)})}),[t?.content,o]),F=s(()=>({context:n,initialFocus:-1,visuallyHiddenDismiss:!0,modal:!0,restoreFocus:!0}),[n]),O=s(()=>({elementsRef:P}),[]),b=s(e=>({...e,...y({}),slotProps:{contentWrapper:{ref:g,onClick:N}}}),[y,N,g]);return B(()=>({getAutocompleteItemProps:C,getRootProps:I,getInputProps:b,getContentProps:x,getPopoverProps:h,getFloatingListProps:O,getFocusManagerProps:F,isOpen:m,activeIndex:l,value:d}),[l,C,x,O,F,b,h,I,m,d])};export{ge as useAutocomplete};
|
|
1
|
+
"use client";import{useCallback as s,useMemo as B,useRef as J,useState as c}from"react";import{autoUpdate as Q,flip as X,offset as Y,size as Z,useDismiss as _,useFloating as ee,useInteractions as te,useListNavigation as oe,useRole as se}from"@floating-ui/react";import{useControlledState as M}from"@jamsrui/hooks";import{cn as r,dataAttrDev as a,mapPropsVariants as ne}from"@jamsrui/utils";import{autocompleteVariants as V}from"./styles.mjs";const ge=S=>{const[R,G]=ne(S,V.variantKeys),{classNames:t,isOpen:L,defaultOpen:T,onOpenChange:j,value:k,defaultValue:w,onValueChange:D,placement:u="bottom-start",isMultiple:ae,...p}=R,P=J([]),[l,H]=c(null),[$,re]=c(1),[pe,E]=c(!1),[m=!1,i]=M({defaultProp:T,onChange:j,prop:L}),[d=[],le]=M({defaultProp:w,onChange:D,prop:k}),{refs:{setReference:g,setFloating:f},floatingStyles:v,context:n}=ee({placement:u,open:m,onOpenChange:i,whileElementsMounted:Q,middleware:[Y(2),X({crossAxis:u.includes("-"),padding:0}),Z({apply({rects:e,elements:U,availableHeight:q}){Object.assign(U.floating.style,{maxHeight:`${Math.max(50,Math.min(400,q))}px`,minWidth:`${e.reference.width}px`})},padding:0})]}),W=oe(n,{listRef:P,activeIndex:l,selectedIndex:$,onNavigate:H,virtual:!0,loop:!0}),z=_(n,{outsidePress:!0}),K=se(n,{role:"listbox"}),{getReferenceProps:y,getFloatingProps:A,getItemProps:me}=te([W,z,K]),N=s(()=>{E(!0),i(e=>!e)},[i]),o=V(G),I=s(()=>({...p,"data-component":a("autocomplete"),"data-slot":a("root"),className:o.root({className:r(t?.root,p.className)})}),[t?.root,p,o]),C=s(e=>({...e,"data-slot":a("item"),className:o.item({className:r(t?.item,e.className)})}),[t?.item,o]),h=s(e=>({...e,"data-slot":a("popover"),className:o.popover({className:r(t?.popover,e.className)}),style:v,...A({}),ref:f}),[t?.popover,v,A,f,o]),x=s(e=>({...e,"data-slot":a("content"),className:o.content({className:r(t?.content,e.className)})}),[t?.content,o]),F=s(()=>({context:n,initialFocus:-1,visuallyHiddenDismiss:!0,modal:!0,restoreFocus:!0}),[n]),O=s(()=>({elementsRef:P}),[]),b=s(e=>({...e,...y({}),slotProps:{contentWrapper:{ref:g,onClick:N}}}),[y,N,g]);return B(()=>({getAutocompleteItemProps:C,getRootProps:I,getInputProps:b,getContentProps:x,getPopoverProps:h,getFloatingListProps:O,getFocusManagerProps:F,isOpen:m,activeIndex:l,value:d}),[l,C,x,O,F,b,h,I,m,d])};export{ge as useAutocomplete};
|
package/package.json
CHANGED
|
@@ -1,16 +1,16 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@jamsrui/autocomplete",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.20",
|
|
4
4
|
"peerDependencies": {
|
|
5
5
|
"motion": ">=12",
|
|
6
6
|
"react": ">=19"
|
|
7
7
|
},
|
|
8
8
|
"dependencies": {
|
|
9
9
|
"@floating-ui/react": ">=0.27",
|
|
10
|
-
"@jamsrui/hooks": "^0.0.
|
|
11
|
-
"@jamsrui/
|
|
12
|
-
"@jamsrui/
|
|
13
|
-
"@jamsrui/utils": "^0.0.
|
|
10
|
+
"@jamsrui/hooks": "^0.0.18",
|
|
11
|
+
"@jamsrui/core": "^0.0.14",
|
|
12
|
+
"@jamsrui/input": "^0.0.20",
|
|
13
|
+
"@jamsrui/utils": "^0.0.18"
|
|
14
14
|
},
|
|
15
15
|
"exports": {
|
|
16
16
|
".": {
|