foldkit 0.21.0 → 0.22.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.
package/README.md CHANGED
@@ -36,7 +36,8 @@ See the full example at [examples/counter/src/main.ts](https://github.com/devinj
36
36
 
37
37
  ```ts
38
38
  import { Match as M, Schema } from 'effect'
39
- import { type Command, Runtime } from 'foldkit'
39
+ import { Runtime } from 'foldkit'
40
+ import { Command } from 'foldkit/command'
40
41
  import { Html, html } from 'foldkit/html'
41
42
  import { m } from 'foldkit/message'
42
43
 
@@ -1,6 +1,13 @@
1
1
  import { Data, Effect, Option } from 'effect';
2
2
  import { Dispatch } from '../runtime';
3
3
  import { VNode } from '../vdom';
4
+ /** Modifier key state extracted from a `KeyboardEvent`. */
5
+ export type KeyboardModifiers = Readonly<{
6
+ shiftKey: boolean;
7
+ ctrlKey: boolean;
8
+ altKey: boolean;
9
+ metaKey: boolean;
10
+ }>;
4
11
  /** A virtual DOM element represented as an `Effect` that produces a `VNode`. */
5
12
  export type Html = Effect.Effect<VNode | null, never, Dispatch>;
6
13
  type Child = Html | string;
@@ -71,19 +78,19 @@ type Attribute<Message> = Data.TaggedEnum<{
71
78
  readonly f: (screenX: number, screenY: number, pointerType: string, timeStamp: number) => Option.Option<Message>;
72
79
  };
73
80
  OnKeyDown: {
74
- readonly f: (key: string) => Message;
81
+ readonly f: (key: string, modifiers: KeyboardModifiers) => Message;
75
82
  };
76
83
  OnKeyDownPreventDefault: {
77
- readonly f: (key: string) => Option.Option<Message>;
84
+ readonly f: (key: string, modifiers: KeyboardModifiers) => Option.Option<Message>;
78
85
  };
79
86
  OnKeyUp: {
80
- readonly f: (key: string) => Message;
87
+ readonly f: (key: string, modifiers: KeyboardModifiers) => Message;
81
88
  };
82
89
  OnKeyUpPreventDefault: {
83
- readonly f: (key: string) => Option.Option<Message>;
90
+ readonly f: (key: string, modifiers: KeyboardModifiers) => Option.Option<Message>;
84
91
  };
85
92
  OnKeyPress: {
86
- readonly f: (key: string) => Message;
93
+ readonly f: (key: string, modifiers: KeyboardModifiers) => Message;
87
94
  };
88
95
  OnFocus: {
89
96
  readonly message: Message;
@@ -387,6 +394,12 @@ type Attribute<Message> = Data.TaggedEnum<{
387
394
  StrokeDashoffset: {
388
395
  readonly value: string;
389
396
  };
397
+ OnInsert: {
398
+ readonly f: (element: Element) => void;
399
+ };
400
+ OnDestroy: {
401
+ readonly f: (element: Element) => void;
402
+ };
390
403
  }>;
391
404
  declare const Attribute: <A>(args: {
392
405
  readonly key: string;
@@ -493,25 +506,75 @@ export declare const html: <Message>() => {
493
506
  readonly _tag: "OnPointerUp";
494
507
  readonly f: (screenX: number, screenY: number, pointerType: string, timeStamp: number) => Option.Option<Message>;
495
508
  };
496
- OnKeyDown: (f: (key: string) => Message) => {
509
+ OnKeyDown: (f: (key: string, modifiers: Readonly<{
510
+ shiftKey: boolean;
511
+ ctrlKey: boolean;
512
+ altKey: boolean;
513
+ metaKey: boolean;
514
+ }>) => Message) => {
497
515
  readonly _tag: "OnKeyDown";
498
- readonly f: (key: string) => Message;
499
- };
500
- OnKeyDownPreventDefault: (f: (key: string) => Option.Option<Message>) => {
516
+ readonly f: (key: string, modifiers: Readonly<{
517
+ shiftKey: boolean;
518
+ ctrlKey: boolean;
519
+ altKey: boolean;
520
+ metaKey: boolean;
521
+ }>) => Message;
522
+ };
523
+ OnKeyDownPreventDefault: (f: (key: string, modifiers: Readonly<{
524
+ shiftKey: boolean;
525
+ ctrlKey: boolean;
526
+ altKey: boolean;
527
+ metaKey: boolean;
528
+ }>) => Option.Option<Message>) => {
501
529
  readonly _tag: "OnKeyDownPreventDefault";
502
- readonly f: (key: string) => Option.Option<Message>;
503
- };
504
- OnKeyUp: (f: (key: string) => Message) => {
530
+ readonly f: (key: string, modifiers: Readonly<{
531
+ shiftKey: boolean;
532
+ ctrlKey: boolean;
533
+ altKey: boolean;
534
+ metaKey: boolean;
535
+ }>) => Option.Option<Message>;
536
+ };
537
+ OnKeyUp: (f: (key: string, modifiers: Readonly<{
538
+ shiftKey: boolean;
539
+ ctrlKey: boolean;
540
+ altKey: boolean;
541
+ metaKey: boolean;
542
+ }>) => Message) => {
505
543
  readonly _tag: "OnKeyUp";
506
- readonly f: (key: string) => Message;
507
- };
508
- OnKeyUpPreventDefault: (f: (key: string) => Option.Option<Message>) => {
544
+ readonly f: (key: string, modifiers: Readonly<{
545
+ shiftKey: boolean;
546
+ ctrlKey: boolean;
547
+ altKey: boolean;
548
+ metaKey: boolean;
549
+ }>) => Message;
550
+ };
551
+ OnKeyUpPreventDefault: (f: (key: string, modifiers: Readonly<{
552
+ shiftKey: boolean;
553
+ ctrlKey: boolean;
554
+ altKey: boolean;
555
+ metaKey: boolean;
556
+ }>) => Option.Option<Message>) => {
509
557
  readonly _tag: "OnKeyUpPreventDefault";
510
- readonly f: (key: string) => Option.Option<Message>;
511
- };
512
- OnKeyPress: (f: (key: string) => Message) => {
558
+ readonly f: (key: string, modifiers: Readonly<{
559
+ shiftKey: boolean;
560
+ ctrlKey: boolean;
561
+ altKey: boolean;
562
+ metaKey: boolean;
563
+ }>) => Option.Option<Message>;
564
+ };
565
+ OnKeyPress: (f: (key: string, modifiers: Readonly<{
566
+ shiftKey: boolean;
567
+ ctrlKey: boolean;
568
+ altKey: boolean;
569
+ metaKey: boolean;
570
+ }>) => Message) => {
513
571
  readonly _tag: "OnKeyPress";
514
- readonly f: (key: string) => Message;
572
+ readonly f: (key: string, modifiers: Readonly<{
573
+ shiftKey: boolean;
574
+ ctrlKey: boolean;
575
+ altKey: boolean;
576
+ metaKey: boolean;
577
+ }>) => Message;
515
578
  };
516
579
  OnFocus: (message: Message) => {
517
580
  readonly _tag: "OnFocus";
@@ -915,6 +978,14 @@ export declare const html: <Message>() => {
915
978
  readonly _tag: "StrokeDashoffset";
916
979
  readonly value: string;
917
980
  };
981
+ OnInsert: (f: (element: Element) => void) => {
982
+ readonly _tag: "OnInsert";
983
+ readonly f: (element: Element) => void;
984
+ };
985
+ OnDestroy: (f: (element: Element) => void) => {
986
+ readonly _tag: "OnDestroy";
987
+ readonly f: (element: Element) => void;
988
+ };
918
989
  a: ElementFunction<Message>;
919
990
  abbr: ElementFunction<Message>;
920
991
  address: ElementFunction<Message>;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/html/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/html/index.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,13 @@
1
1
  import { Array, Data, Effect, Match, Option, Predicate, Ref, String, flow, pipe, } from 'effect';
2
2
  import { h } from 'snabbdom';
3
3
  import { Dispatch } from '../runtime';
4
- const { Key, Class, Id, Title, Lang, Dir, Tabindex, Hidden, OnClick, OnDblClick, OnMouseDown, OnMouseUp, OnMouseEnter, OnMouseLeave, OnMouseOver, OnMouseOut, OnMouseMove, OnPointerMove, OnPointerLeave, OnPointerDown, OnPointerUp, OnKeyDown, OnKeyDownPreventDefault, OnKeyUp, OnKeyUpPreventDefault, OnKeyPress, OnFocus, OnBlur, OnInput, OnChange, OnSubmit, OnReset, OnScroll, OnWheel, OnCopy, OnCut, OnPaste, OnCancel, OnToggle, Value, Checked, Selected, Open, Placeholder, Name, Disabled, Readonly, Required, Autofocus, Spellcheck, Autocorrect, Autocapitalize, InputMode, EnterKeyHint, Multiple, Type, Accept, Autocomplete, Pattern, Maxlength, Minlength, Size, Cols, Rows, Max, Min, Step, For, Href, Src, Alt, Target, Rel, Download, Action, Method, Enctype, Novalidate, Role, AriaLabel, AriaLabelledBy, AriaDescribedBy, AriaHidden, AriaExpanded, AriaSelected, AriaChecked, AriaDisabled, AriaRequired, AriaInvalid, AriaLive, AriaControls, AriaCurrent, AriaOrientation, AriaPressed, AriaHasPopup, AriaActiveDescendant, Attribute, DataAttribute, Style, InnerHTML, ViewBox, Xmlns, Fill, FillRule, ClipRule, Stroke, StrokeWidth, StrokeLinecap, StrokeLinejoin, D, Cx, Cy, R, X, Y, Width, Height, X1, Y1, X2, Y2, Points, Transform, Opacity, StrokeDasharray, StrokeDashoffset, } = Data.taggedEnum();
4
+ const keyboardModifiers = (event) => ({
5
+ shiftKey: event.shiftKey,
6
+ ctrlKey: event.ctrlKey,
7
+ altKey: event.altKey,
8
+ metaKey: event.metaKey,
9
+ });
10
+ const { Key, Class, Id, Title, Lang, Dir, Tabindex, Hidden, OnClick, OnDblClick, OnMouseDown, OnMouseUp, OnMouseEnter, OnMouseLeave, OnMouseOver, OnMouseOut, OnMouseMove, OnPointerMove, OnPointerLeave, OnPointerDown, OnPointerUp, OnKeyDown, OnKeyDownPreventDefault, OnKeyUp, OnKeyUpPreventDefault, OnKeyPress, OnFocus, OnBlur, OnInput, OnChange, OnSubmit, OnReset, OnScroll, OnWheel, OnCopy, OnCut, OnPaste, OnCancel, OnToggle, Value, Checked, Selected, Open, Placeholder, Name, Disabled, Readonly, Required, Autofocus, Spellcheck, Autocorrect, Autocapitalize, InputMode, EnterKeyHint, Multiple, Type, Accept, Autocomplete, Pattern, Maxlength, Minlength, Size, Cols, Rows, Max, Min, Step, For, Href, Src, Alt, Target, Rel, Download, Action, Method, Enctype, Novalidate, Role, AriaLabel, AriaLabelledBy, AriaDescribedBy, AriaHidden, AriaExpanded, AriaSelected, AriaChecked, AriaDisabled, AriaRequired, AriaInvalid, AriaLive, AriaControls, AriaCurrent, AriaOrientation, AriaPressed, AriaHasPopup, AriaActiveDescendant, Attribute, DataAttribute, Style, InnerHTML, ViewBox, Xmlns, Fill, FillRule, ClipRule, Stroke, StrokeWidth, StrokeLinecap, StrokeLinejoin, D, Cx, Cy, R, X, Y, Width, Height, X1, Y1, X2, Y2, Points, Transform, Opacity, StrokeDasharray, StrokeDashoffset, OnInsert, OnDestroy, } = Data.taggedEnum();
5
11
  const buildVNodeData = (attributes) => Effect.gen(function* () {
6
12
  const { dispatchSync } = yield* Dispatch;
7
13
  const dataRef = yield* Ref.make({});
@@ -105,11 +111,11 @@ const buildVNodeData = (attributes) => Effect.gen(function* () {
105
111
  },
106
112
  }),
107
113
  OnKeyDown: ({ f }) => updateDataOn({
108
- keydown: ({ key }) => dispatchSync(f(key)),
114
+ keydown: (event) => dispatchSync(f(event.key, keyboardModifiers(event))),
109
115
  }),
110
116
  OnKeyDownPreventDefault: ({ f }) => updateDataOn({
111
117
  keydown: (event) => {
112
- const maybeMessage = f(event.key);
118
+ const maybeMessage = f(event.key, keyboardModifiers(event));
113
119
  if (Option.isSome(maybeMessage)) {
114
120
  event.preventDefault();
115
121
  dispatchSync(maybeMessage.value);
@@ -117,11 +123,11 @@ const buildVNodeData = (attributes) => Effect.gen(function* () {
117
123
  },
118
124
  }),
119
125
  OnKeyUp: ({ f }) => updateDataOn({
120
- keyup: ({ key }) => dispatchSync(f(key)),
126
+ keyup: (event) => dispatchSync(f(event.key, keyboardModifiers(event))),
121
127
  }),
122
128
  OnKeyUpPreventDefault: ({ f }) => updateDataOn({
123
129
  keyup: (event) => {
124
- const maybeMessage = f(event.key);
130
+ const maybeMessage = f(event.key, keyboardModifiers(event));
125
131
  if (Option.isSome(maybeMessage)) {
126
132
  event.preventDefault();
127
133
  dispatchSync(maybeMessage.value);
@@ -129,7 +135,7 @@ const buildVNodeData = (attributes) => Effect.gen(function* () {
129
135
  },
130
136
  }),
131
137
  OnKeyPress: ({ f }) => updateDataOn({
132
- keypress: ({ key }) => dispatchSync(f(key)),
138
+ keypress: (event) => dispatchSync(f(event.key, keyboardModifiers(event))),
133
139
  }),
134
140
  OnFocus: ({ message }) => updateDataOn({
135
141
  focus: () => dispatchSync(message),
@@ -269,6 +275,28 @@ const buildVNodeData = (attributes) => Effect.gen(function* () {
269
275
  Opacity: ({ value }) => updateDataAttrs({ opacity: value }),
270
276
  StrokeDasharray: ({ value }) => updateDataAttrs({ 'stroke-dasharray': value }),
271
277
  StrokeDashoffset: ({ value }) => updateDataAttrs({ 'stroke-dashoffset': value }),
278
+ OnInsert: ({ f }) => Ref.update(dataRef, data => ({
279
+ ...data,
280
+ hook: {
281
+ ...data.hook,
282
+ insert: vnode => {
283
+ if (vnode.elm instanceof Element) {
284
+ f(vnode.elm);
285
+ }
286
+ },
287
+ },
288
+ })),
289
+ OnDestroy: ({ f }) => Ref.update(dataRef, data => ({
290
+ ...data,
291
+ hook: {
292
+ ...data.hook,
293
+ destroy: vnode => {
294
+ if (vnode.elm instanceof Element) {
295
+ f(vnode.elm);
296
+ }
297
+ },
298
+ },
299
+ })),
272
300
  })));
273
301
  return yield* Ref.get(dataRef);
274
302
  });
@@ -630,6 +658,8 @@ const htmlAttributes = () => ({
630
658
  Opacity: (value) => Opacity({ value }),
631
659
  StrokeDasharray: (value) => StrokeDasharray({ value }),
632
660
  StrokeDashoffset: (value) => StrokeDashoffset({ value }),
661
+ OnInsert: (f) => OnInsert({ f }),
662
+ OnDestroy: (f) => OnDestroy({ f }),
633
663
  });
634
664
  /**
635
665
  * Factory that returns all HTML, SVG, and MathML element constructors,
@@ -1,3 +1,3 @@
1
1
  export { html } from './index';
2
- export type { Html, TagName } from './index';
2
+ export type { Html, KeyboardModifiers, TagName } from './index';
3
3
  //# sourceMappingURL=public.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"public.d.ts","sourceRoot":"","sources":["../../src/html/public.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,SAAS,CAAA;AAE9B,YAAY,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,SAAS,CAAA"}
1
+ {"version":3,"file":"public.d.ts","sourceRoot":"","sources":["../../src/html/public.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,SAAS,CAAA;AAE9B,YAAY,EAAE,IAAI,EAAE,iBAAiB,EAAE,OAAO,EAAE,MAAM,SAAS,CAAA"}
package/dist/index.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- export type { Command } from './command';
1
+ export * as Command from './command/public';
2
2
  export * as FieldValidation from './fieldValidation/public';
3
3
  export * as Html from './html/public';
4
4
  export * as Message from './message/public';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AACxC,OAAO,KAAK,eAAe,MAAM,0BAA0B,CAAA;AAC3D,OAAO,KAAK,IAAI,MAAM,eAAe,CAAA;AACrC,OAAO,KAAK,OAAO,MAAM,kBAAkB,CAAA;AAC3C,OAAO,KAAK,UAAU,MAAM,qBAAqB,CAAA;AACjD,OAAO,KAAK,KAAK,MAAM,gBAAgB,CAAA;AACvC,OAAO,KAAK,OAAO,MAAM,kBAAkB,CAAA;AAC3C,OAAO,KAAK,MAAM,MAAM,iBAAiB,CAAA;AACzC,OAAO,KAAK,MAAM,MAAM,iBAAiB,CAAA;AACzC,OAAO,KAAK,IAAI,MAAM,eAAe,CAAA;AACrC,OAAO,KAAK,EAAE,MAAM,MAAM,CAAA;AAC1B,OAAO,KAAK,GAAG,MAAM,cAAc,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,OAAO,MAAM,kBAAkB,CAAA;AAC3C,OAAO,KAAK,eAAe,MAAM,0BAA0B,CAAA;AAC3D,OAAO,KAAK,IAAI,MAAM,eAAe,CAAA;AACrC,OAAO,KAAK,OAAO,MAAM,kBAAkB,CAAA;AAC3C,OAAO,KAAK,UAAU,MAAM,qBAAqB,CAAA;AACjD,OAAO,KAAK,KAAK,MAAM,gBAAgB,CAAA;AACvC,OAAO,KAAK,OAAO,MAAM,kBAAkB,CAAA;AAC3C,OAAO,KAAK,MAAM,MAAM,iBAAiB,CAAA;AACzC,OAAO,KAAK,MAAM,MAAM,iBAAiB,CAAA;AACzC,OAAO,KAAK,IAAI,MAAM,eAAe,CAAA;AACrC,OAAO,KAAK,EAAE,MAAM,MAAM,CAAA;AAC1B,OAAO,KAAK,GAAG,MAAM,cAAc,CAAA"}
package/dist/index.js CHANGED
@@ -1,3 +1,4 @@
1
+ export * as Command from './command/public';
1
2
  export * as FieldValidation from './fieldValidation/public';
2
3
  export * as Html from './html/public';
3
4
  export * as Message from './message/public';
@@ -55,4 +55,17 @@ export declare const clickElement: (selector: string) => Effect.Effect<void, Ele
55
55
  * ```
56
56
  */
57
57
  export declare const scrollIntoView: (selector: string) => Effect.Effect<void, ElementNotFound>;
58
+ /** Direction for focus advancement — forward or backward in tab order. */
59
+ export type FocusDirection = 'Next' | 'Previous';
60
+ /**
61
+ * Focuses the next or previous focusable element in the document relative to the element matching the given selector.
62
+ * Uses requestAnimationFrame to ensure the DOM is updated before querying focus order.
63
+ * Fails with `ElementNotFound` if the selector does not match an `HTMLElement`.
64
+ *
65
+ * @example
66
+ * ```typescript
67
+ * Task.advanceFocus('#menu-button', 'Next').pipe(Effect.ignore, Effect.as(NoOp()))
68
+ * ```
69
+ */
70
+ export declare const advanceFocus: (selector: string, direction: FocusDirection) => Effect.Effect<void, ElementNotFound>;
58
71
  //# sourceMappingURL=dom.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"dom.d.ts","sourceRoot":"","sources":["../../src/task/dom.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AAE/B,OAAO,EAAE,eAAe,EAAE,MAAM,SAAS,CAAA;AAEzC;;;;;;;;;GASG;AACH,eAAO,MAAM,KAAK,GAAI,UAAU,MAAM,KAAG,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,eAAe,CAWxE,CAAA;AAEJ;;;;;;;;;GASG;AACH,eAAO,MAAM,SAAS,GACpB,UAAU,MAAM,KACf,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,eAAe,CAWlC,CAAA;AAEJ;;;;;;;;;GASG;AACH,eAAO,MAAM,UAAU,GACrB,UAAU,MAAM,KACf,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,eAAe,CAWlC,CAAA;AAEJ;;;;;;;;;GASG;AACH,eAAO,MAAM,YAAY,GACvB,UAAU,MAAM,KACf,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,eAAe,CAWlC,CAAA;AAEJ;;;;;;;;;GASG;AACH,eAAO,MAAM,cAAc,GACzB,UAAU,MAAM,KACf,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,eAAe,CAWlC,CAAA"}
1
+ {"version":3,"file":"dom.d.ts","sourceRoot":"","sources":["../../src/task/dom.ts"],"names":[],"mappings":"AAAA,OAAO,EAAS,MAAM,EAAqC,MAAM,QAAQ,CAAA;AAEzE,OAAO,EAAE,eAAe,EAAE,MAAM,SAAS,CAAA;AAczC;;;;;;;;;GASG;AACH,eAAO,MAAM,KAAK,GAAI,UAAU,MAAM,KAAG,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,eAAe,CAWxE,CAAA;AAEJ;;;;;;;;;GASG;AACH,eAAO,MAAM,SAAS,GACpB,UAAU,MAAM,KACf,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,eAAe,CAWlC,CAAA;AAEJ;;;;;;;;;GASG;AACH,eAAO,MAAM,UAAU,GACrB,UAAU,MAAM,KACf,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,eAAe,CAWlC,CAAA;AAEJ;;;;;;;;;GASG;AACH,eAAO,MAAM,YAAY,GACvB,UAAU,MAAM,KACf,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,eAAe,CAWlC,CAAA;AAEJ;;;;;;;;;GASG;AACH,eAAO,MAAM,cAAc,GACzB,UAAU,MAAM,KACf,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,eAAe,CAWlC,CAAA;AAEJ,0EAA0E;AAC1E,MAAM,MAAM,cAAc,GAAG,MAAM,GAAG,UAAU,CAAA;AAEhD;;;;;;;;;GASG;AACH,eAAO,MAAM,YAAY,GACvB,UAAU,MAAM,EAChB,WAAW,cAAc,KACxB,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,eAAe,CAuClC,CAAA"}
package/dist/task/dom.js CHANGED
@@ -1,5 +1,13 @@
1
- import { Effect } from 'effect';
1
+ import { Array, Effect, Equal, Match as M, Number, Option } from 'effect';
2
2
  import { ElementNotFound } from './error';
3
+ const FOCUSABLE_SELECTOR = Array.join([
4
+ 'a[href]',
5
+ 'button:not([disabled])',
6
+ 'input:not([disabled])',
7
+ 'select:not([disabled])',
8
+ 'textarea:not([disabled])',
9
+ '[tabindex]:not([tabindex="-1"])',
10
+ ], ', ');
3
11
  /**
4
12
  * Focuses an element matching the given selector.
5
13
  * Uses requestAnimationFrame to ensure the DOM is updated before attempting to focus.
@@ -110,3 +118,32 @@ export const scrollIntoView = (selector) => Effect.async(resume => {
110
118
  }
111
119
  });
112
120
  });
121
+ /**
122
+ * Focuses the next or previous focusable element in the document relative to the element matching the given selector.
123
+ * Uses requestAnimationFrame to ensure the DOM is updated before querying focus order.
124
+ * Fails with `ElementNotFound` if the selector does not match an `HTMLElement`.
125
+ *
126
+ * @example
127
+ * ```typescript
128
+ * Task.advanceFocus('#menu-button', 'Next').pipe(Effect.ignore, Effect.as(NoOp()))
129
+ * ```
130
+ */
131
+ export const advanceFocus = (selector, direction) => Effect.async(resume => {
132
+ requestAnimationFrame(() => {
133
+ const reference = document.querySelector(selector);
134
+ if (!(reference instanceof HTMLElement)) {
135
+ return resume(Effect.fail(new ElementNotFound({ selector })));
136
+ }
137
+ const focusableElements = Array.fromIterable(document.querySelectorAll(FOCUSABLE_SELECTOR));
138
+ const referenceElementIndex = Array.findFirstIndex(focusableElements, Equal.equals(reference));
139
+ if (Option.isNone(referenceElementIndex)) {
140
+ return resume(Effect.fail(new ElementNotFound({ selector })));
141
+ }
142
+ const offsetReferenceElementIndex = M.value(direction).pipe(M.when('Next', () => Number.increment), M.when('Previous', () => Number.decrement), M.exhaustive)(referenceElementIndex.value);
143
+ const nextElement = Array.get(focusableElements, offsetReferenceElementIndex);
144
+ if (Option.isSome(nextElement)) {
145
+ nextElement.value.focus();
146
+ }
147
+ resume(Effect.void);
148
+ });
149
+ });
@@ -1 +1 @@
1
- {"version":3,"file":"elementMovement.d.ts","sourceRoot":"","sources":["../../src/task/elementMovement.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AAI/B;;;;;;;;;;;;;;;;;GAiBG;AACH,eAAO,MAAM,qBAAqB,GAAI,UAAU,MAAM,KAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAsCvE,CAAA"}
1
+ {"version":3,"file":"elementMovement.d.ts","sourceRoot":"","sources":["../../src/task/elementMovement.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AAI/B;;;;;;;;;;;;;;;;;GAiBG;AACH,eAAO,MAAM,qBAAqB,GAAI,UAAU,MAAM,KAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAqCvE,CAAA"}
@@ -25,8 +25,7 @@ export const detectElementMovement = (selector) => Effect.async((resume, signal)
25
25
  }
26
26
  const element = document.querySelector(selector);
27
27
  if (!(element instanceof HTMLElement)) {
28
- resume(Effect.void);
29
- return;
28
+ return resume(Effect.void);
30
29
  }
31
30
  const initialPosition = rectToPosition(element.getBoundingClientRect());
32
31
  const cleanup = () => {
@@ -1,6 +1,7 @@
1
1
  export { ElementNotFound, TimeZoneError } from './error';
2
2
  export { getTime, getTimeZone, getZonedTime, getZonedTimeIn } from './time';
3
- export { focus, showModal, closeModal, clickElement, scrollIntoView, } from './dom';
3
+ export { advanceFocus, focus, showModal, closeModal, clickElement, scrollIntoView, } from './dom';
4
+ export type { FocusDirection } from './dom';
4
5
  export { detectElementMovement } from './elementMovement';
5
6
  export { delay, nextFrame, waitForTransitions } from './timing';
6
7
  export { randomInt } from './random';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/task/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,SAAS,CAAA;AACxD,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,QAAQ,CAAA;AAC3E,OAAO,EACL,KAAK,EACL,SAAS,EACT,UAAU,EACV,YAAY,EACZ,cAAc,GACf,MAAM,OAAO,CAAA;AACd,OAAO,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAA;AACzD,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAA;AAC/D,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAA;AACpC,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,cAAc,CAAA;AACvD,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,SAAS,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/task/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,SAAS,CAAA;AACxD,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,QAAQ,CAAA;AAC3E,OAAO,EACL,YAAY,EACZ,KAAK,EACL,SAAS,EACT,UAAU,EACV,YAAY,EACZ,cAAc,GACf,MAAM,OAAO,CAAA;AACd,YAAY,EAAE,cAAc,EAAE,MAAM,OAAO,CAAA;AAC3C,OAAO,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAA;AACzD,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAA;AAC/D,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAA;AACpC,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,cAAc,CAAA;AACvD,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,SAAS,CAAA"}
@@ -1,6 +1,6 @@
1
1
  export { ElementNotFound, TimeZoneError } from './error';
2
2
  export { getTime, getTimeZone, getZonedTime, getZonedTimeIn } from './time';
3
- export { focus, showModal, closeModal, clickElement, scrollIntoView, } from './dom';
3
+ export { advanceFocus, focus, showModal, closeModal, clickElement, scrollIntoView, } from './dom';
4
4
  export { detectElementMovement } from './elementMovement';
5
5
  export { delay, nextFrame, waitForTransitions } from './timing';
6
6
  export { randomInt } from './random';
@@ -2,6 +2,8 @@ import { Effect } from 'effect';
2
2
  /**
3
3
  * Locks page scroll by setting `overflow: hidden` on the document element.
4
4
  * Compensates for scrollbar width with padding to prevent layout shift.
5
+ * On iOS Safari, intercepts `touchmove` events to prevent page scroll
6
+ * while allowing scrolling within overflow containers.
5
7
  * Uses reference counting so nested locks are safe — the page only unlocks
6
8
  * when every lock has been released.
7
9
  *
@@ -14,6 +16,7 @@ export declare const lockScroll: Effect.Effect<void>;
14
16
  /**
15
17
  * Releases one scroll lock. When the last lock is released, restores the
16
18
  * original `overflow` and `padding-right` on the document element.
19
+ * On iOS Safari, removes the `touchmove` listener.
17
20
  *
18
21
  * @example
19
22
  * ```typescript
@@ -1 +1 @@
1
- {"version":3,"file":"scrollLock.d.ts","sourceRoot":"","sources":["../../src/task/scrollLock.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAU,MAAM,QAAQ,CAAA;AAQvC;;;;;;;;;;GAUG;AACH,eAAO,MAAM,UAAU,EAAE,MAAM,CAAC,MAAM,CAAC,IAAI,CAkBzC,CAAA;AAEF;;;;;;;;GAQG;AACH,eAAO,MAAM,YAAY,EAAE,MAAM,CAAC,MAAM,CAAC,IAAI,CAU3C,CAAA"}
1
+ {"version":3,"file":"scrollLock.d.ts","sourceRoot":"","sources":["../../src/task/scrollLock.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAU,MAAM,QAAQ,CAAA;AAuCvC;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,UAAU,EAAE,MAAM,CAAC,MAAM,CAAC,IAAI,CAwBzC,CAAA;AAEF;;;;;;;;;GASG;AACH,eAAO,MAAM,YAAY,EAAE,MAAM,CAAC,MAAM,CAAC,IAAI,CAW3C,CAAA"}
@@ -4,9 +4,38 @@ const scrollLockState = {
4
4
  overflow: '',
5
5
  paddingRight: '',
6
6
  };
7
+ const isIOS = () => {
8
+ const { platform, maxTouchPoints } = window.navigator;
9
+ const isIPhone = /iPhone/gi.test(platform);
10
+ const isIPad = /Mac/gi.test(platform) && maxTouchPoints > 0;
11
+ return isIPhone || isIPad;
12
+ };
13
+ const isScrollableElement = (element) => {
14
+ const style = window.getComputedStyle(element);
15
+ const overflowY = style.overflowY;
16
+ const isOverflowable = overflowY === 'auto' || overflowY === 'scroll';
17
+ return isOverflowable && element.scrollHeight > element.clientHeight;
18
+ };
19
+ const findScrollableParent = (target) => {
20
+ let current = target;
21
+ while (current && current !== document.documentElement) {
22
+ if (isScrollableElement(current)) {
23
+ return current;
24
+ }
25
+ current = current.parentElement;
26
+ }
27
+ return null;
28
+ };
29
+ const handleTouchMove = (event) => {
30
+ if (event.target instanceof Element && !findScrollableParent(event.target)) {
31
+ event.preventDefault();
32
+ }
33
+ };
7
34
  /**
8
35
  * Locks page scroll by setting `overflow: hidden` on the document element.
9
36
  * Compensates for scrollbar width with padding to prevent layout shift.
37
+ * On iOS Safari, intercepts `touchmove` events to prevent page scroll
38
+ * while allowing scrolling within overflow containers.
10
39
  * Uses reference counting so nested locks are safe — the page only unlocks
11
40
  * when every lock has been released.
12
41
  *
@@ -24,12 +53,18 @@ export const lockScroll = Effect.sync(() => {
24
53
  style.overflow = 'hidden';
25
54
  style.paddingRight =
26
55
  scrollbarWidth > 0 ? `${scrollbarWidth}px` : style.paddingRight;
56
+ if (isIOS()) {
57
+ document.addEventListener('touchmove', handleTouchMove, {
58
+ passive: false,
59
+ });
60
+ }
27
61
  }
28
62
  scrollLockState.count++;
29
63
  });
30
64
  /**
31
65
  * Releases one scroll lock. When the last lock is released, restores the
32
66
  * original `overflow` and `padding-right` on the document element.
67
+ * On iOS Safari, removes the `touchmove` listener.
33
68
  *
34
69
  * @example
35
70
  * ```typescript
@@ -42,5 +77,6 @@ export const unlockScroll = Effect.sync(() => {
42
77
  const { documentElement: { style }, } = document;
43
78
  style.overflow = scrollLockState.overflow;
44
79
  style.paddingRight = scrollLockState.paddingRight;
80
+ document.removeEventListener('touchmove', handleTouchMove);
45
81
  }
46
82
  });
@@ -0,0 +1,18 @@
1
+ import type { Placement } from '@floating-ui/dom';
2
+ /** Static configuration for anchor-based positioning of menu items relative to the button. */
3
+ export type AnchorConfig = Readonly<{
4
+ placement?: Placement;
5
+ gap?: number;
6
+ offset?: number;
7
+ padding?: number;
8
+ portal?: boolean;
9
+ }>;
10
+ /** Returns insert/destroy hook callbacks that position the menu items container relative to its button using Floating UI. */
11
+ export declare const anchorHooks: (config: {
12
+ buttonId: string;
13
+ anchor: AnchorConfig;
14
+ }) => Readonly<{
15
+ onInsert: (items: Element) => void;
16
+ onDestroy: (items: Element) => void;
17
+ }>;
18
+ //# sourceMappingURL=anchor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"anchor.d.ts","sourceRoot":"","sources":["../../../src/ui/menu/anchor.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAA;AAEjD,8FAA8F;AAC9F,MAAM,MAAM,YAAY,GAAG,QAAQ,CAAC;IAClC,SAAS,CAAC,EAAE,SAAS,CAAA;IACrB,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,MAAM,CAAC,EAAE,OAAO,CAAA;CACjB,CAAC,CAAA;AAmBF,6HAA6H;AAC7H,eAAO,MAAM,WAAW,GAAI,QAAQ;IAClC,QAAQ,EAAE,MAAM,CAAA;IAChB,MAAM,EAAE,YAAY,CAAA;CACrB,KAAG,QAAQ,CAAC;IACX,QAAQ,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAA;IAClC,SAAS,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAA;CACpC,CAsEC,CAAA"}
@@ -0,0 +1,72 @@
1
+ import { autoUpdate, computePosition, flip, offset as floatingOffset, shift, size, } from '@floating-ui/dom';
2
+ const PORTAL_ROOT_ID = 'foldkit-portal-root';
3
+ const getOrCreatePortalRoot = () => {
4
+ const existing = document.getElementById(PORTAL_ROOT_ID);
5
+ if (existing) {
6
+ return existing;
7
+ }
8
+ const root = document.createElement('div');
9
+ root.id = PORTAL_ROOT_ID;
10
+ return document.body.appendChild(root);
11
+ };
12
+ const anchorCleanups = new WeakMap();
13
+ /** Returns insert/destroy hook callbacks that position the menu items container relative to its button using Floating UI. */
14
+ export const anchorHooks = (config) => ({
15
+ onInsert: (items) => {
16
+ const button = document.getElementById(config.buttonId);
17
+ if (!(button instanceof HTMLElement) || !(items instanceof HTMLElement)) {
18
+ return;
19
+ }
20
+ const isPortal = config.anchor.portal ?? true;
21
+ if (isPortal) {
22
+ getOrCreatePortalRoot().appendChild(items);
23
+ }
24
+ const { placement, gap, offset: crossAxis, padding } = config.anchor;
25
+ let isFirstUpdate = true;
26
+ const floatingCleanup = autoUpdate(button, items, () => {
27
+ computePosition(button, items, {
28
+ placement: placement ?? 'bottom-start',
29
+ strategy: 'absolute',
30
+ middleware: [
31
+ floatingOffset({
32
+ mainAxis: gap ?? 0,
33
+ crossAxis: crossAxis ?? 0,
34
+ }),
35
+ flip({ padding: padding ?? 0 }),
36
+ shift({ padding: padding ?? 0 }),
37
+ size({
38
+ apply({ rects }) {
39
+ items.style.setProperty('--button-width', `${rects.reference.width}px`);
40
+ },
41
+ }),
42
+ ],
43
+ }).then(({ x, y }) => {
44
+ items.style.left = `${x}px`;
45
+ items.style.top = `${y}px`;
46
+ if (isFirstUpdate) {
47
+ isFirstUpdate = false;
48
+ items.style.visibility = '';
49
+ }
50
+ });
51
+ });
52
+ if (isPortal) {
53
+ const handleTabKey = (event) => {
54
+ if (event instanceof KeyboardEvent && event.key === 'Tab') {
55
+ button.focus();
56
+ }
57
+ };
58
+ items.addEventListener('keydown', handleTabKey);
59
+ anchorCleanups.set(items, () => {
60
+ floatingCleanup();
61
+ items.removeEventListener('keydown', handleTabKey);
62
+ });
63
+ }
64
+ else {
65
+ anchorCleanups.set(items, floatingCleanup);
66
+ }
67
+ },
68
+ onDestroy: (items) => {
69
+ anchorCleanups.get(items)?.();
70
+ anchorCleanups.delete(items);
71
+ },
72
+ });
@@ -1,6 +1,7 @@
1
1
  import { Option, Schema as S } from 'effect';
2
2
  import type { Command } from '../../command';
3
- import type { Html } from '../../html';
3
+ import { type Html } from '../../html';
4
+ import type { AnchorConfig } from './anchor';
4
5
  /** Schema for the activation trigger — whether the user interacted via mouse or keyboard. */
5
6
  export declare const ActivationTrigger: S.Literal<["Pointer", "Keyboard"]>;
6
7
  export type ActivationTrigger = typeof ActivationTrigger.Type;
@@ -36,7 +37,7 @@ export declare const Opened: import("../../schema").CallableTaggedStruct<"Opened
36
37
  }>;
37
38
  /** Sent when the menu closes via Escape key or backdrop click. */
38
39
  export declare const Closed: import("../../schema").CallableTaggedStruct<"Closed", {}>;
39
- /** Sent when focus leaves the menu items container via Tab key. */
40
+ /** Sent when focus leaves the menu items container via Tab key or blur. */
40
41
  export declare const ClosedByTab: import("../../schema").CallableTaggedStruct<"ClosedByTab", {}>;
41
42
  /** Sent when an item is highlighted via arrow keys or mouse hover. Includes activation trigger. */
42
43
  export declare const ActivatedItem: import("../../schema").CallableTaggedStruct<"ActivatedItem", {
@@ -137,7 +138,7 @@ export type DetectedButtonMovement = typeof DetectedButtonMovement.Type;
137
138
  export type PressedPointerOnButton = typeof PressedPointerOnButton.Type;
138
139
  export type ReleasedPointerOnItems = typeof ReleasedPointerOnItems.Type;
139
140
  export type Message = typeof Message.Type;
140
- /** Configuration for creating a menu model with `init`. `isAnimated` enables CSS transition coordination (default `false`). `isModal` locks page scroll and inerts other elements when open (default `true`). */
141
+ /** Configuration for creating a menu model with `init`. `isAnimated` enables CSS transition coordination (default `false`). `isModal` locks page scroll and inerts other elements when open (default `false`). */
141
142
  export type InitConfig = Readonly<{
142
143
  id: string;
143
144
  isAnimated?: boolean;
@@ -179,6 +180,7 @@ export type ViewConfig<Message, Item extends string> = Readonly<{
179
180
  groupToHeading?: (groupKey: string) => GroupHeading | undefined;
180
181
  groupClassName?: string;
181
182
  separatorClassName?: string;
183
+ anchor?: AnchorConfig;
182
184
  }>;
183
185
  type Segment<A> = Readonly<{
184
186
  key: string;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/ui/menu/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/ui/menu/index.ts"],"names":[],"mappings":"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"}
@@ -5,6 +5,7 @@ import { m } from '../../message';
5
5
  import { evo } from '../../struct';
6
6
  import * as Task from '../../task';
7
7
  import { findFirstEnabledIndex, keyToIndex, wrapIndex } from '../keyboard';
8
+ import { anchorHooks } from './anchor';
8
9
  // MODEL
9
10
  /** Schema for the activation trigger — whether the user interacted via mouse or keyboard. */
10
11
  export const ActivationTrigger = S.Literal('Pointer', 'Keyboard');
@@ -37,7 +38,7 @@ export const Opened = m('Opened', {
37
38
  });
38
39
  /** Sent when the menu closes via Escape key or backdrop click. */
39
40
  export const Closed = m('Closed');
40
- /** Sent when focus leaves the menu items container via Tab key. */
41
+ /** Sent when focus leaves the menu items container via Tab key or blur. */
41
42
  export const ClosedByTab = m('ClosedByTab');
42
43
  /** Sent when an item is highlighted via arrow keys or mouse hover. Includes activation trigger. */
43
44
  export const ActivatedItem = m('ActivatedItem', {
@@ -98,7 +99,7 @@ export const init = (config) => ({
98
99
  id: config.id,
99
100
  isOpen: false,
100
101
  isAnimated: config.isAnimated ?? false,
101
- isModal: config.isModal ?? true,
102
+ isModal: config.isModal ?? false,
102
103
  transitionState: 'Idle',
103
104
  maybeActiveItemIndex: Option.none(),
104
105
  activationTrigger: 'Keyboard',
@@ -328,8 +329,8 @@ export const resolveTypeaheadMatch = (items, query, maybeActiveItemIndex, isDisa
328
329
  };
329
330
  /** Renders a headless menu with typeahead search, keyboard navigation, and aria-activedescendant focus management. */
330
331
  export const view = (config) => {
331
- const { div, AriaActiveDescendant, AriaControls, AriaDisabled, AriaExpanded, AriaHasPopup, AriaLabelledBy, Class, DataAttribute, Id, OnBlur, OnClick, OnKeyDownPreventDefault, OnKeyUpPreventDefault, OnPointerDown, OnPointerLeave, OnPointerMove, OnPointerUp, Role, Tabindex, Type, keyed, } = html();
332
- const { model: { id, isOpen, transitionState, maybeActiveItemIndex, searchQuery, maybeLastButtonPointerType, }, toMessage, items, itemToConfig, isItemDisabled, itemToSearchText = (item) => item, isButtonDisabled, buttonContent, buttonClassName, itemsClassName, backdropClassName, className, itemGroupKey, groupToHeading, groupClassName, separatorClassName, } = config;
332
+ const { div, AriaActiveDescendant, AriaControls, AriaDisabled, AriaExpanded, AriaHasPopup, AriaLabelledBy, Class, DataAttribute, Id, OnBlur, OnClick, OnDestroy, OnInsert, OnKeyDownPreventDefault, OnKeyUpPreventDefault, OnPointerDown, OnPointerLeave, OnPointerMove, OnPointerUp, Role, Style, Tabindex, Type, keyed, } = html();
333
+ const { model: { id, isOpen, transitionState, maybeActiveItemIndex, searchQuery, maybeLastButtonPointerType, }, toMessage, items, itemToConfig, isItemDisabled, itemToSearchText = (item) => item, isButtonDisabled, buttonContent, buttonClassName, itemsClassName, backdropClassName, className, itemGroupKey, groupToHeading, groupClassName, separatorClassName, anchor, } = config;
333
334
  const isLeaving = transitionState === 'LeaveStart' || transitionState === 'LeaveAnimating';
334
335
  const isVisible = isOpen || isLeaving;
335
336
  const transitionAttributes = M.value(transitionState).pipe(M.when('EnterStart', () => [
@@ -410,6 +411,16 @@ export const view = (config) => {
410
411
  onNone: () => [],
411
412
  onSome: index => [AriaActiveDescendant(itemId(id, index))],
412
413
  });
414
+ const hooks = anchor
415
+ ? anchorHooks({ buttonId: `${id}-button`, anchor })
416
+ : undefined;
417
+ const anchorAttributes = hooks
418
+ ? [
419
+ Style({ position: 'absolute', margin: '0', visibility: 'hidden' }),
420
+ OnInsert(hooks.onInsert),
421
+ OnDestroy(hooks.onDestroy),
422
+ ]
423
+ : [];
413
424
  const itemsContainerAttributes = [
414
425
  Id(`${id}-items`),
415
426
  Role('menu'),
@@ -417,6 +428,7 @@ export const view = (config) => {
417
428
  ...maybeActiveDescendant,
418
429
  Tabindex(0),
419
430
  Class(itemsClassName),
431
+ ...anchorAttributes,
420
432
  ...transitionAttributes,
421
433
  ...(isLeaving
422
434
  ? []
@@ -1,3 +1,4 @@
1
1
  export { init, update, view, Model, Message, TransitionState } from './index';
2
2
  export type { ActivationTrigger, Opened, Closed, ClosedByTab, ActivatedItem, DeactivatedItem, SelectedItem, MovedPointerOverItem, Searched, ClearedSearch, NoOp, AdvancedTransitionFrame, EndedTransition, InitConfig, ViewConfig, ItemConfig, GroupHeading, } from './index';
3
+ export type { AnchorConfig } from './anchor';
3
4
  //# sourceMappingURL=public.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"public.d.ts","sourceRoot":"","sources":["../../../src/ui/menu/public.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,eAAe,EAAE,MAAM,SAAS,CAAA;AAE7E,YAAY,EACV,iBAAiB,EACjB,MAAM,EACN,MAAM,EACN,WAAW,EACX,aAAa,EACb,eAAe,EACf,YAAY,EACZ,oBAAoB,EACpB,QAAQ,EACR,aAAa,EACb,IAAI,EACJ,uBAAuB,EACvB,eAAe,EACf,UAAU,EACV,UAAU,EACV,UAAU,EACV,YAAY,GACb,MAAM,SAAS,CAAA"}
1
+ {"version":3,"file":"public.d.ts","sourceRoot":"","sources":["../../../src/ui/menu/public.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,eAAe,EAAE,MAAM,SAAS,CAAA;AAE7E,YAAY,EACV,iBAAiB,EACjB,MAAM,EACN,MAAM,EACN,WAAW,EACX,aAAa,EACb,eAAe,EACf,YAAY,EACZ,oBAAoB,EACpB,QAAQ,EACR,aAAa,EACb,IAAI,EACJ,uBAAuB,EACvB,eAAe,EACf,UAAU,EACV,UAAU,EACV,UAAU,EACV,YAAY,GACb,MAAM,SAAS,CAAA;AAEhB,YAAY,EAAE,YAAY,EAAE,MAAM,UAAU,CAAA"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "foldkit",
3
- "version": "0.21.0",
3
+ "version": "0.22.0",
4
4
  "description": "Elm-inspired UI framework powered by Effect",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -106,6 +106,7 @@
106
106
  "directory": "packages/foldkit"
107
107
  },
108
108
  "dependencies": {
109
+ "@floating-ui/dom": "^1.7.5",
109
110
  "snabbdom": "^3.6.3"
110
111
  },
111
112
  "publishConfig": {