@purpurds/autocomplete 7.6.1 → 7.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"version":3,"file":"useAutocomplete.d.ts","sourceRoot":"","sources":["../src/useAutocomplete.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAiB,SAAS,EAAE,MAAM,OAAO,CAAC;AAE7E,OAAO,KAAK,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAIxE,MAAM,MAAM,kBAAkB,GAAG;IAC/B,KAAK,EAAE,MAAM,CAAC;IACd,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB,CAAC;AAEF,MAAM,MAAM,UAAU,GAAG,IAAI,CAAC,qBAAqB,CAAC,OAAO,CAAC,EAAE,SAAS,GAAG,aAAa,CAAC,GAAG;IACzF,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,OAAO,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,UAAU,CAAC,gBAAgB,CAAC,GAAG,SAAS,KAAK,IAAI,CAAC;IACzE,WAAW,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,UAAU,CAAC,gBAAgB,CAAC,GAAG,SAAS,KAAK,IAAI,CAAC;CAC9E,CAAC;AAEF,MAAM,MAAM,qBAAqB,CAAC,CAAC,SAAS,kBAAkB,IAAI;IAIhE,QAAQ,CAAC,EAAE,OAAO,CAAC;IAInB,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAI/B,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAI3B,UAAU,CAAC,EAAE,MAAM,CAAC;IAIpB,YAAY,CAAC,EAAE,CAAC,UAAU,EAAE,MAAM,GAAG,SAAS,EAAE,MAAM,EAAE,CAAC,KAAK,OAAO,CAAC;IAItE,EAAE,EAAE,MAAM,CAAC;IAIX,YAAY,EAAE,MAAM,CAAC;IAIrB,gBAAgB,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAInC,aAAa,CAAC,EAAE,SAAS,CAAC;IAI1B,WAAW,CAAC,EAAE,KAAK,CAAC,iBAAiB,CAAC,gBAAgB,CAAC,CAAC;IAIxD,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAIxC,YAAY,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,UAAU,CAAC,gBAAgB,CAAC,GAAG,SAAS,KAAK,SAAS,CAAC;IAIpF,cAAc,CAAC,EAAE,KAAK,CAAC,oBAAoB,CAAC,gBAAgB,CAAC,CAAC;IAI9D,gBAAgB,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,UAAU,CAAC,gBAAgB,CAAC,GAAG,SAAS,KAAK,SAAS,CAAC;IAIxF,WAAW,CAAC,EAAE,OAAO,CAAC;IAItB,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,GAAG,SAAS,KAAK,IAAI,CAAC;IAI3C,OAAO,EAAE,CAAC,EAAE,CAAC;IAIb,cAAc,CAAC,EAAE,CAAC,CAAC;IACnB,CAAC,aAAa,CAAC,CAAC,EAAE,MAAM,CAAC;CAC1B,CAAC;AAEF,eAAO,MAAM,eAAe,GAAI,CAAC,SAAS,kBAAkB,gSAoBzD,qBAAqB,CAAC,CAAC,CAAC;;;;;;;;kCA2LY,CAAC,SAAS,MAAM,KAAG,gBAAgB;;CAyDzE,CAAC"}
1
+ {"version":3,"file":"useAutocomplete.d.ts","sourceRoot":"","sources":["../src/useAutocomplete.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAiB,SAAS,EAAE,MAAM,OAAO,CAAC;AAEtD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AACxD,OAAO,KAAK,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAIxE,MAAM,MAAM,kBAAkB,GAAG;IAC/B,KAAK,EAAE,MAAM,CAAC;IACd,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB,CAAC;AAEF,MAAM,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,SAAS,GAAG,aAAa,CAAC,GAAG;IAC7E,OAAO,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,UAAU,CAAC,gBAAgB,CAAC,GAAG,SAAS,KAAK,IAAI,CAAC;IACzE,WAAW,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,UAAU,CAAC,gBAAgB,CAAC,GAAG,SAAS,KAAK,IAAI,CAAC;CAC9E,CAAC;AAEF,MAAM,MAAM,qBAAqB,CAAC,CAAC,SAAS,kBAAkB,IAAI;IAIhE,QAAQ,CAAC,EAAE,OAAO,CAAC;IAInB,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAI/B,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAI3B,UAAU,CAAC,EAAE,MAAM,CAAC;IAIpB,YAAY,CAAC,EAAE,CAAC,UAAU,EAAE,MAAM,GAAG,SAAS,EAAE,MAAM,EAAE,CAAC,KAAK,OAAO,CAAC;IAItE,EAAE,EAAE,MAAM,CAAC;IAIX,YAAY,EAAE,MAAM,CAAC;IAIrB,gBAAgB,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAInC,aAAa,CAAC,EAAE,SAAS,CAAC;IAI1B,WAAW,CAAC,EAAE,KAAK,CAAC,iBAAiB,CAAC,gBAAgB,CAAC,CAAC;IAIxD,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAIxC,YAAY,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,UAAU,CAAC,gBAAgB,CAAC,GAAG,SAAS,KAAK,SAAS,CAAC;IAIpF,cAAc,CAAC,EAAE,KAAK,CAAC,oBAAoB,CAAC,gBAAgB,CAAC,CAAC;IAI9D,gBAAgB,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,UAAU,CAAC,gBAAgB,CAAC,GAAG,SAAS,KAAK,SAAS,CAAC;IAIxF,WAAW,CAAC,EAAE,OAAO,CAAC;IAItB,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,GAAG,SAAS,KAAK,IAAI,CAAC;IAI3C,OAAO,EAAE,CAAC,EAAE,CAAC;IAIb,cAAc,CAAC,EAAE,CAAC,CAAC;IACnB,CAAC,aAAa,CAAC,CAAC,EAAE,MAAM,CAAC;CAC1B,CAAC;AAEF,eAAO,MAAM,eAAe,GAAI,CAAC,SAAS,kBAAkB,gSAoBzD,qBAAqB,CAAC,CAAC,CAAC;;;;;;;;kCA2LY,CAAC,SAAS,MAAM,KAAG,gBAAgB;;CAyDzE,CAAC"}
package/dist/utils.d.ts CHANGED
@@ -1,8 +1,8 @@
1
- import { MutableRefObject } from 'react';
1
+ import { RefObject } from 'react';
2
2
 
3
3
  export type Prettify<T> = {
4
4
  [K in keyof T]: T[K];
5
5
  } & {};
6
- export declare const useMutableRefObject: <T>(value: T) => MutableRefObject<T>;
6
+ export declare const useRefObject: <T>(value: T) => RefObject<T>;
7
7
  export declare const useOnClickOutside: (element: HTMLElement | null, callback: () => void) => void;
8
8
  //# sourceMappingURL=utils.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,gBAAgB,EAAkC,MAAM,OAAO,CAAC;AAG9E,MAAM,MAAM,QAAQ,CAAC,CAAC,IAAI;KACvB,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;CACrB,GAAG,EAAE,CAAC;AAEP,eAAO,MAAM,mBAAmB,GAAI,CAAC,SAAS,CAAC,KAAG,gBAAgB,CAAC,CAAC,CAEnE,CAAC;AAEF,eAAO,MAAM,iBAAiB,YAAa,WAAW,GAAG,IAAI,YAAY,MAAM,IAAI,SAgBlF,CAAC"}
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,SAAS,EAAkC,MAAM,OAAO,CAAC;AAGvE,MAAM,MAAM,QAAQ,CAAC,CAAC,IAAI;KACvB,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;CACrB,GAAG,EAAE,CAAC;AAEP,eAAO,MAAM,YAAY,GAAI,CAAC,SAAS,CAAC,KAAG,SAAS,CAAC,CAAC,CAErD,CAAC;AAEF,eAAO,MAAM,iBAAiB,YAAa,WAAW,GAAG,IAAI,YAAY,MAAM,IAAI,SAgBlF,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@purpurds/autocomplete",
3
- "version": "7.6.1",
3
+ "version": "7.7.0",
4
4
  "license": "AGPL-3.0-only",
5
5
  "main": "./dist/autocomplete.cjs.js",
6
6
  "types": "./dist/autocomplete.d.ts",
@@ -17,13 +17,14 @@
17
17
  "dependencies": {
18
18
  "classnames": "~2.5.0",
19
19
  "eslint": "9.24.0",
20
- "@purpurds/icon": "7.6.1",
21
- "@purpurds/listbox": "7.6.1",
22
- "@purpurds/heading": "7.6.1",
23
- "@purpurds/notification": "7.6.1",
24
- "@purpurds/paragraph": "7.6.1",
25
- "@purpurds/text-field": "7.6.1",
26
- "@purpurds/tokens": "7.6.1"
20
+ "@purpurds/common-types": "7.7.0",
21
+ "@purpurds/heading": "7.7.0",
22
+ "@purpurds/icon": "7.7.0",
23
+ "@purpurds/listbox": "7.7.0",
24
+ "@purpurds/notification": "7.7.0",
25
+ "@purpurds/paragraph": "7.7.0",
26
+ "@purpurds/text-field": "7.7.0",
27
+ "@purpurds/tokens": "7.7.0"
27
28
  },
28
29
  "devDependencies": {
29
30
  "@storybook/blocks": "^8.6.4",
@@ -45,11 +46,11 @@
45
46
  "typescript": "^5.6.3",
46
47
  "vite": "^6.2.1",
47
48
  "vitest": "^3.1.2",
48
- "@purpurds/button": "7.6.1",
49
+ "@purpurds/button": "7.7.0",
49
50
  "@purpurds/component-rig": "1.0.0",
50
- "@purpurds/search-field": "7.6.1",
51
- "@purpurds/label": "7.6.1",
52
- "@purpurds/icon": "7.6.1"
51
+ "@purpurds/icon": "7.7.0",
52
+ "@purpurds/label": "7.7.0",
53
+ "@purpurds/search-field": "7.7.0"
53
54
  },
54
55
  "peerDependencies": {
55
56
  "@types/react": "^18 || ^19",
@@ -1,8 +1,9 @@
1
- import type { ComponentPropsWithRef, CSSProperties, ReactNode } from "react";
1
+ import type { CSSProperties, ReactNode } from "react";
2
2
  import { useRef, useState } from "react";
3
+ import type { BaseProps } from "@purpurds/common-types";
3
4
  import type { ListboxItemProps, ListboxProps } from "@purpurds/listbox";
4
5
 
5
- import { useMutableRefObject, useOnClickOutside } from "./utils";
6
+ import { useOnClickOutside, useRefObject } from "./utils";
6
7
 
7
8
  export type AutocompleteOption = {
8
9
  label: string;
@@ -11,8 +12,7 @@ export type AutocompleteOption = {
11
12
  disabled?: boolean;
12
13
  };
13
14
 
14
- export type InputProps = Omit<ComponentPropsWithRef<"input">, "onFocus" | "onMouseDown"> & {
15
- "data-testid"?: string;
15
+ export type InputProps = Omit<BaseProps<"input">, "onFocus" | "onMouseDown"> & {
16
16
  onFocus: (event: React.FocusEvent<HTMLInputElement> | undefined) => void;
17
17
  onMouseDown: (event: React.MouseEvent<HTMLInputElement> | undefined) => void;
18
18
  };
@@ -123,7 +123,7 @@ export const useAutocomplete = <T extends AutocompleteOption>({
123
123
  (T & { isSetByClickEvent?: false }) | undefined
124
124
  >(highlightFirstOption ? options[0] : undefined);
125
125
  const inputRef = useRef<HTMLInputElement>(null);
126
- const internalRef = useMutableRefObject<HTMLDivElement | null>(null);
126
+ const internalRef = useRefObject<HTMLDivElement | null>(null);
127
127
  const listboxRef = useRef<HTMLUListElement>(null);
128
128
  const optionRefs = useRef<Record<string, HTMLLIElement>>({});
129
129
  const [listboxIsOpen, setListboxIsOpen] = useState(false);
package/src/utils.ts CHANGED
@@ -1,12 +1,12 @@
1
- import { type MutableRefObject, useCallback, useEffect, useRef } from "react";
1
+ import { type RefObject, useCallback, useEffect, useRef } from "react";
2
2
 
3
3
  // Used to "merge" "intersection types". Used to get comments on the props to the docs.
4
4
  export type Prettify<T> = {
5
5
  [K in keyof T]: T[K];
6
6
  } & {};
7
7
 
8
- export const useMutableRefObject = <T>(value: T): MutableRefObject<T> => {
9
- return useRef<T>(value) as MutableRefObject<T>;
8
+ export const useRefObject = <T>(value: T): RefObject<T> => {
9
+ return useRef<T>(value) as RefObject<T>;
10
10
  };
11
11
 
12
12
  export const useOnClickOutside = (element: HTMLElement | null, callback: () => void) => {