@pzerelles/headlessui-svelte 2.1.2-next.17 → 2.1.2-next.18

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.
@@ -208,6 +208,7 @@ let {
208
208
  disabled: ownDisabled = false,
209
209
  horizontal = false,
210
210
  multiple = false,
211
+ closeOnSelect,
211
212
  __demoMode = false,
212
213
  ...theirProps
213
214
  } = $props();
@@ -283,6 +284,9 @@ const data = {
283
284
  get orientation() {
284
285
  return orientation;
285
286
  },
287
+ get closeOnSelect() {
288
+ return closeOnSelect;
289
+ },
286
290
  compare,
287
291
  isSelected,
288
292
  get optionsProps() {
@@ -19,6 +19,7 @@ export type ListboxProps<TTag extends ElementType = typeof DEFAULT_LISTBOX_TAG,
19
19
  form?: string;
20
20
  name?: string;
21
21
  multiple?: boolean;
22
+ closeOnSelect?: boolean;
22
23
  __demoMode?: boolean;
23
24
  }>;
24
25
  export type ListboxChildren<T> = Snippet<[ListboxRenderPropArg<T>]>;
@@ -26,7 +27,7 @@ export * from "./context.svelte.js";
26
27
  declare class __sveltets_Render<TType, TActualType, TTag extends ElementType = typeof DEFAULT_LISTBOX_TAG> {
27
28
  props(): {
28
29
  as?: TTag | undefined;
29
- } & (Exclude<keyof import("../utils/types.js").PropsOf<TTag>, "form" | ("as" | "children" | "refName" | "class") | "invalid" | "disabled" | "value" | "name" | "onchange" | "multiple" | "__demoMode" | "horizontal" | "defaultValue" | "by"> extends infer T extends keyof import("../utils/types.js").PropsOf<TTag> ? { [P in T]: import("../utils/types.js").PropsOf<TTag>[P]; } : never) & {
30
+ } & (Exclude<keyof import("../utils/types.js").PropsOf<TTag>, "form" | ("as" | "children" | "refName" | "class") | "invalid" | "disabled" | "value" | "name" | "onchange" | "multiple" | "__demoMode" | "horizontal" | "defaultValue" | "by" | "closeOnSelect"> extends infer T extends keyof import("../utils/types.js").PropsOf<TTag> ? { [P in T]: import("../utils/types.js").PropsOf<TTag>[P]; } : never) & {
30
31
  children?: Snippet<[ListboxRenderPropArg<TType>, Record<string, any>]> | undefined;
31
32
  ref?: HTMLElement;
32
33
  } & (true extends (import("../utils/types.js").PropsOf<TTag> extends infer T_1 ? T_1 extends import("../utils/types.js").PropsOf<TTag> ? T_1 extends never ? never : "class" extends infer T_2 ? T_2 extends "class" ? T_2 extends keyof T_1 ? true : never : never : never : never : never) ? {
@@ -42,6 +43,7 @@ declare class __sveltets_Render<TType, TActualType, TTag extends ElementType = t
42
43
  form?: string;
43
44
  name?: string;
44
45
  multiple?: boolean;
46
+ closeOnSelect?: boolean;
45
47
  __demoMode?: boolean;
46
48
  };
47
49
  events(): {} & {
@@ -75,7 +75,7 @@ onMount(() => {
75
75
  const handleClick = (event) => {
76
76
  if (disabled) return event.preventDefault();
77
77
  actions.onChange(value);
78
- if (data.mode === ValueMode.Single) {
78
+ if (data.closeOnSelect === true || data.closeOnSelect === void 0 && data.mode === ValueMode.Single) {
79
79
  actions.closeListbox();
80
80
  data.buttonElement?.focus({ preventScroll: true });
81
81
  }
@@ -62,6 +62,7 @@ export type ListboxDataContext<T = unknown> = {
62
62
  mode: ValueMode;
63
63
  orientation: "horizontal" | "vertical";
64
64
  activeOptionIndex: number | null;
65
+ closeOnSelect?: boolean;
65
66
  compare(a: T, z: T): boolean;
66
67
  isSelected(value: T): boolean;
67
68
  optionsProps: {
@@ -17,7 +17,7 @@ export var ActivationTrigger;
17
17
  export function useActions(component) {
18
18
  const context = getContext("ListboxActionsContext");
19
19
  if (!context) {
20
- let err = new Error(`<${component} /> is missing a parent <Listbox /> component.`);
20
+ const err = new Error(`<${component} /> is missing a parent <Listbox /> component.`);
21
21
  if (Error.captureStackTrace)
22
22
  Error.captureStackTrace(err, useActions);
23
23
  throw err;
@@ -27,7 +27,7 @@ export function useActions(component) {
27
27
  export function useData(component) {
28
28
  const context = getContext("ListboxDataContext");
29
29
  if (!context) {
30
- let err = new Error(`<${component} /> is missing a parent <Listbox /> component.`);
30
+ const err = new Error(`<${component} /> is missing a parent <Listbox /> component.`);
31
31
  if (Error.captureStackTrace)
32
32
  Error.captureStackTrace(err, useData);
33
33
  throw err;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pzerelles/headlessui-svelte",
3
- "version": "2.1.2-next.17",
3
+ "version": "2.1.2-next.18",
4
4
  "exports": {
5
5
  ".": {
6
6
  "types": "./dist/index.d.ts",