@pzerelles/headlessui-svelte 2.1.2-next.5 → 2.1.2-next.7

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,5 +1,5 @@
1
1
  <script lang="ts" module>
2
- import type { ElementType, Props } from "../utils/types.js"
2
+ import type { ElementType, Props, PropsOf } from "../utils/types.js"
3
3
 
4
4
  const DEFAULT_INPUT_TAG = "input" as const
5
5
 
@@ -17,7 +17,6 @@
17
17
  InputRenderPropArg,
18
18
  InputPropsWeControl,
19
19
  {
20
- id?: string
21
20
  value?: TValue
22
21
  disabled?: boolean
23
22
  invalid?: boolean
@@ -44,7 +43,7 @@
44
43
  let {
45
44
  ref = $bindable(),
46
45
  value = $bindable(),
47
- id = providedId?.value || `headlessui-input-${internalId}`,
46
+ id = (providedId?.value || `headlessui-input-${internalId}`) as PropsOf<TTag>["id"],
48
47
  disabled: theirDisabled = false,
49
48
  autofocus = false,
50
49
  invalid = false,
@@ -1,4 +1,4 @@
1
- import type { ElementType, Props } from "../utils/types.js";
1
+ import type { ElementType, Props, PropsOf } from "../utils/types.js";
2
2
  declare const DEFAULT_INPUT_TAG: "input";
3
3
  type InputRenderPropArg = {
4
4
  disabled: boolean;
@@ -9,7 +9,6 @@ type InputRenderPropArg = {
9
9
  };
10
10
  type InputPropsWeControl = "aria-labelledby" | "aria-describedby";
11
11
  export type InputProps<TTag extends ElementType = typeof DEFAULT_INPUT_TAG, TValue = string> = Props<TTag, InputRenderPropArg, InputPropsWeControl, {
12
- id?: string;
13
12
  value?: TValue;
14
13
  disabled?: boolean;
15
14
  invalid?: boolean;
@@ -19,13 +18,12 @@ declare class __sveltets_Render<TTag extends ElementType = typeof DEFAULT_INPUT_
19
18
  props(): {
20
19
  as?: TTag | undefined;
21
20
  value?: TValue | undefined;
22
- } & (Exclude<keyof import("../utils/types.js").PropsOf<TTag>, ("as" | "children" | "refName" | "class") | "invalid" | "disabled" | "autofocus" | "value" | "id" | InputPropsWeControl> extends infer T extends keyof import("../utils/types.js").PropsOf<TTag> ? { [P in T]: import("../utils/types.js").PropsOf<TTag>[P]; } : never) & {
21
+ } & (Exclude<keyof PropsOf<TTag>, ("as" | "children" | "refName" | "class") | "invalid" | "disabled" | "autofocus" | "value" | InputPropsWeControl> extends infer T extends keyof PropsOf<TTag> ? { [P in T]: PropsOf<TTag>[P]; } : never) & {
23
22
  children?: import("../utils/types.js").Children<InputRenderPropArg> | undefined;
24
23
  ref?: HTMLElement;
25
- } & (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) ? {
26
- class?: import("../utils/types.js").PropsOf<TTag>["class"] | ((bag: InputRenderPropArg) => string) | undefined;
24
+ } & (true extends (PropsOf<TTag> extends infer T_1 ? T_1 extends 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) ? {
25
+ class?: PropsOf<TTag>["class"] | ((bag: InputRenderPropArg) => string) | undefined;
27
26
  } : {}) & {
28
- id?: string;
29
27
  value?: TValue | undefined;
30
28
  disabled?: boolean;
31
29
  invalid?: boolean;
@@ -45,7 +45,7 @@
45
45
  }
46
46
 
47
47
  if (current instanceof HTMLLabelElement) {
48
- let target = document.getElementById(current.getAttribute("htmlFor") ?? "")
48
+ let target = document.getElementById(current.getAttribute("for") ?? "")
49
49
  if (target) {
50
50
  // Bail if the target element is disabled
51
51
  let actuallyDisabled = target.getAttribute("disabled")
@@ -81,7 +81,7 @@
81
81
  const slot = $derived({ disabled })
82
82
  const ourProps = $derived({
83
83
  id,
84
- htmlFor: passive ? undefined : htmlFor,
84
+ for: passive ? undefined : htmlFor,
85
85
  onclick: passive ? undefined : handleClick,
86
86
  ...stateFromSlot(slot),
87
87
  })
@@ -12,19 +12,20 @@
12
12
  }
13
13
  type TextareaPropsWeControl = "aria-labelledby" | "aria-describedby"
14
14
 
15
- export type TextareaProps<TTag extends ElementType = typeof DEFAULT_TEXTAREA_TAG> = Props<
15
+ export type TextareaProps<TTag extends ElementType = typeof DEFAULT_TEXTAREA_TAG, TValue = string> = Props<
16
16
  TTag,
17
17
  TextareaRenderPropArg,
18
18
  TextareaPropsWeControl,
19
19
  {
20
+ value?: TValue
20
21
  disabled?: boolean
21
22
  invalid?: boolean
22
- autoFocus?: boolean
23
+ autofocus?: boolean
23
24
  }
24
25
  >
25
26
  </script>
26
27
 
27
- <script lang="ts" generics="TTag extends ElementType = typeof DEFAULT_TEXTAREA_TAG">
28
+ <script lang="ts" generics="TTag extends ElementType = typeof DEFAULT_TEXTAREA_TAG, TValue = string">
28
29
  import { htmlid } from "../utils/id.js"
29
30
  import { useDisabled } from "../hooks/use-disabled.js"
30
31
  import { useProvidedId } from "../internal/id.js"
@@ -41,13 +42,13 @@
41
42
 
42
43
  let {
43
44
  ref = $bindable(),
44
- value = $bindable<PropsOf<TTag>["value"]>(),
45
+ value = $bindable(),
45
46
  id = (providedId?.value || `headlessui-input-${internalId}`) as PropsOf<TTag>["id"],
46
47
  disabled: theirDisabled = false,
47
48
  autofocus = false as PropsOf<TTag>["autofocus"],
48
49
  invalid = false,
49
50
  ...theirProps
50
- }: { as?: TTag } & TextareaProps<TTag> = $props()
51
+ }: { as?: TTag; value?: TValue } & TextareaProps<TTag, TValue> = $props()
51
52
  const disabled = $derived(providedDisabled?.value ?? theirDisabled)
52
53
 
53
54
  const labelledBy = useLabelledBy()
@@ -8,23 +8,26 @@ type TextareaRenderPropArg = {
8
8
  invalid: boolean;
9
9
  };
10
10
  type TextareaPropsWeControl = "aria-labelledby" | "aria-describedby";
11
- export type TextareaProps<TTag extends ElementType = typeof DEFAULT_TEXTAREA_TAG> = Props<TTag, TextareaRenderPropArg, TextareaPropsWeControl, {
11
+ export type TextareaProps<TTag extends ElementType = typeof DEFAULT_TEXTAREA_TAG, TValue = string> = Props<TTag, TextareaRenderPropArg, TextareaPropsWeControl, {
12
+ value?: TValue;
12
13
  disabled?: boolean;
13
14
  invalid?: boolean;
14
- autoFocus?: boolean;
15
+ autofocus?: boolean;
15
16
  }>;
16
- declare class __sveltets_Render<TTag extends ElementType = typeof DEFAULT_TEXTAREA_TAG> {
17
+ declare class __sveltets_Render<TTag extends ElementType = typeof DEFAULT_TEXTAREA_TAG, TValue = string> {
17
18
  props(): {
18
19
  as?: TTag | undefined;
19
- } & (Exclude<keyof PropsOf<TTag>, ("as" | "children" | "refName" | "class") | "invalid" | "disabled" | TextareaPropsWeControl | "autoFocus"> extends infer T extends keyof PropsOf<TTag> ? { [P in T]: PropsOf<TTag>[P]; } : never) & {
20
+ value?: TValue | undefined;
21
+ } & (Exclude<keyof PropsOf<TTag>, ("as" | "children" | "refName" | "class") | "invalid" | "disabled" | "autofocus" | "value" | TextareaPropsWeControl> extends infer T extends keyof PropsOf<TTag> ? { [P in T]: PropsOf<TTag>[P]; } : never) & {
20
22
  children?: import("../utils/types.js").Children<TextareaRenderPropArg> | undefined;
21
23
  ref?: HTMLElement;
22
24
  } & (true extends (PropsOf<TTag> extends infer T_1 ? T_1 extends 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) ? {
23
25
  class?: PropsOf<TTag>["class"] | ((bag: TextareaRenderPropArg) => string) | undefined;
24
26
  } : {}) & {
27
+ value?: TValue | undefined;
25
28
  disabled?: boolean;
26
29
  invalid?: boolean;
27
- autoFocus?: boolean;
30
+ autofocus?: boolean;
28
31
  };
29
32
  events(): {} & {
30
33
  [evt: string]: CustomEvent<any>;
@@ -34,14 +37,14 @@ declare class __sveltets_Render<TTag extends ElementType = typeof DEFAULT_TEXTAR
34
37
  exports(): {};
35
38
  }
36
39
  interface $$IsomorphicComponent {
37
- new <TTag extends ElementType = typeof DEFAULT_TEXTAREA_TAG>(options: import('svelte').ComponentConstructorOptions<ReturnType<__sveltets_Render<TTag>['props']>>): import('svelte').SvelteComponent<ReturnType<__sveltets_Render<TTag>['props']>, ReturnType<__sveltets_Render<TTag>['events']>, ReturnType<__sveltets_Render<TTag>['slots']>> & {
38
- $$bindings?: ReturnType<__sveltets_Render<TTag>['bindings']>;
39
- } & ReturnType<__sveltets_Render<TTag>['exports']>;
40
- <TTag extends ElementType = typeof DEFAULT_TEXTAREA_TAG>(internal: unknown, props: ReturnType<__sveltets_Render<TTag>['props']> & {
41
- $$events?: ReturnType<__sveltets_Render<TTag>['events']>;
42
- }): ReturnType<__sveltets_Render<TTag>['exports']>;
43
- z_$$bindings?: ReturnType<__sveltets_Render<any>['bindings']>;
40
+ new <TTag extends ElementType = typeof DEFAULT_TEXTAREA_TAG, TValue = string>(options: import('svelte').ComponentConstructorOptions<ReturnType<__sveltets_Render<TTag, TValue>['props']>>): import('svelte').SvelteComponent<ReturnType<__sveltets_Render<TTag, TValue>['props']>, ReturnType<__sveltets_Render<TTag, TValue>['events']>, ReturnType<__sveltets_Render<TTag, TValue>['slots']>> & {
41
+ $$bindings?: ReturnType<__sveltets_Render<TTag, TValue>['bindings']>;
42
+ } & ReturnType<__sveltets_Render<TTag, TValue>['exports']>;
43
+ <TTag extends ElementType = typeof DEFAULT_TEXTAREA_TAG, TValue = string>(internal: unknown, props: ReturnType<__sveltets_Render<TTag, TValue>['props']> & {
44
+ $$events?: ReturnType<__sveltets_Render<TTag, TValue>['events']>;
45
+ }): ReturnType<__sveltets_Render<TTag, TValue>['exports']>;
46
+ z_$$bindings?: ReturnType<__sveltets_Render<any, any>['bindings']>;
44
47
  }
45
48
  declare const Textarea: $$IsomorphicComponent;
46
- type Textarea<TTag extends ElementType = typeof DEFAULT_TEXTAREA_TAG> = InstanceType<typeof Textarea<TTag>>;
49
+ type Textarea<TTag extends ElementType = typeof DEFAULT_TEXTAREA_TAG, TValue = string> = InstanceType<typeof Textarea<TTag, TValue>>;
47
50
  export default Textarea;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pzerelles/headlessui-svelte",
3
- "version": "2.1.2-next.5",
3
+ "version": "2.1.2-next.7",
4
4
  "exports": {
5
5
  ".": {
6
6
  "types": "./dist/index.d.ts",
@@ -27,7 +27,7 @@
27
27
  "@testing-library/jest-dom": "^6.5.0",
28
28
  "@testing-library/svelte": "^5.2.1",
29
29
  "@types/eslint": "^9.6.1",
30
- "@types/node": "^20.16.1",
30
+ "@types/node": "^20.16.3",
31
31
  "autoprefixer": "^10.4.20",
32
32
  "eslint": "^9.9.1",
33
33
  "eslint-config-prettier": "^9.1.0",
@@ -35,7 +35,7 @@
35
35
  "globals": "^15.9.0",
36
36
  "jsdom": "^24.1.3",
37
37
  "outdent": "^0.8.0",
38
- "postcss": "^8.4.41",
38
+ "postcss": "^8.4.44",
39
39
  "prettier": "^3.3.3",
40
40
  "prettier-plugin-svelte": "^3.2.6",
41
41
  "prettier-plugin-tailwindcss": "^0.6.6",