bits-ui 0.19.7 → 0.20.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,5 +1,7 @@
1
1
  <script>import { derived } from "svelte/store";
2
2
  import { setCtx } from "../ctx.js";
3
+ export let open = void 0;
4
+ export let onOpenChange = void 0;
3
5
  export let value = void 0;
4
6
  export let onValueChange = void 0;
5
7
  export let placeholder = void 0;
@@ -25,10 +27,16 @@ export let weekdayFormat = void 0;
25
27
  export let numberOfMonths = void 0;
26
28
  export let onOutsideClick = void 0;
27
29
  const {
28
- states: { value: localValue, placeholder: localPlaceholder, isInvalid: localIsInvalid },
30
+ states: {
31
+ open: localOpen,
32
+ value: localValue,
33
+ placeholder: localPlaceholder,
34
+ isInvalid: localIsInvalid
35
+ },
29
36
  updateOption,
30
37
  ids
31
38
  } = setCtx({
39
+ defaultOpen: open,
32
40
  defaultValue: value,
33
41
  defaultPlaceholder: placeholder,
34
42
  preventDeselect,
@@ -62,6 +70,13 @@ const {
62
70
  placeholder = next;
63
71
  }
64
72
  return next;
73
+ },
74
+ onOpenChange: ({ next }) => {
75
+ if (open !== next) {
76
+ onOpenChange?.(next);
77
+ open = next;
78
+ }
79
+ return next;
65
80
  }
66
81
  });
67
82
  const idValues = derived(
@@ -126,6 +141,8 @@ $:
126
141
  value !== void 0 && localValue.set(value);
127
142
  $:
128
143
  placeholder !== void 0 && localPlaceholder.set(placeholder);
144
+ $:
145
+ open !== void 0 && localOpen.set(open);
129
146
  $:
130
147
  updateOption("disabled", disabled);
131
148
  $:
@@ -48,6 +48,7 @@ $:
48
48
  on:m-pointerdown={dispatch}
49
49
  on:m-pointerleave={dispatch}
50
50
  on:m-pointermove={dispatch}
51
+ on:pointerenter
51
52
  >
52
53
  <slot {builder} />
53
54
  </div>
@@ -35,6 +35,7 @@ $:
35
35
  on:m-pointerdown={dispatch}
36
36
  on:m-pointerleave={dispatch}
37
37
  on:m-pointermove={dispatch}
38
+ on:pointerenter
38
39
  >
39
40
  <slot {builder} />
40
41
  </svelte:element>
@@ -31,6 +31,7 @@ $:
31
31
  on:m-pointerdown={dispatch}
32
32
  on:m-pointerleave={dispatch}
33
33
  on:m-pointermove={dispatch}
34
+ on:pointerenter
34
35
  >
35
36
  <slot {builder} />
36
37
  </div>
@@ -42,6 +42,7 @@ $:
42
42
  on:m-keydown={dispatch}
43
43
  on:m-pointerleave={dispatch}
44
44
  on:m-pointermove={dispatch}
45
+ on:pointerenter
45
46
  >
46
47
  <slot {builder} />
47
48
  </div>
@@ -36,13 +36,14 @@ type ItemEvents<T extends Element = HTMLDivElement> = {
36
36
  pointerdown: CustomEventHandler<PointerEvent, T>;
37
37
  pointerleave: CustomEventHandler<PointerEvent, T>;
38
38
  pointermove: CustomEventHandler<PointerEvent, T>;
39
+ pointerenter: CustomEventHandler<PointerEvent, T>;
39
40
  };
40
41
  type CheckboxItemEvents = ItemEvents;
41
42
  type RadioItemEvents = ItemEvents;
42
43
  type SubTriggerEvents = Omit<ItemEvents, "pointerdown">;
43
44
  type ContextTriggerEvents<T extends Element = HTMLDivElement> = {
44
45
  pointerdown: CustomEventHandler<PointerEvent, T>;
45
- contextmenu: CustomEventHandler<Event, T>;
46
+ contextmenu: CustomEventHandler<MouseEvent, T>;
46
47
  };
47
48
  type DropdownTriggerEvents<T extends Element = HTMLButtonElement> = {
48
49
  click: CustomEventHandler<MouseEvent, T>;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "bits-ui",
3
- "version": "0.19.7",
3
+ "version": "0.20.0",
4
4
  "license": "MIT",
5
5
  "repository": "github:huntabyte/bits-ui",
6
6
  "exports": {