foldkit 0.63.0 → 0.65.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":"overlay.d.ts","sourceRoot":"","sources":["../../src/devtools/overlay.ts"],"names":[],"mappings":"AACA,OAAO,EAEL,MAAM,EAGN,OAAO,EAGP,MAAM,EASP,MAAM,QAAQ,CAAA;AAEf,OAAO,KAAK,OAAO,MAAM,YAAY,CAAA;AAKrC,OAAO,KAAK,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAA;AAOxE,OAAO,EACL,KAAK,aAAa,EAInB,MAAM,SAAS,CAAA;AAuOhB,eAAO,MAAM,MAAM;;EAA0C,CAAA;AAC7D,eAAO,MAAM,YAAY;;;;;;EAGxB,CAAA;AACD,eAAO,MAAM,aAAa;;;;;;EAGzB,CAAA;AACD,eAAO,MAAM,MAAM;;EAA4C,CAAA;AAC/D,eAAO,MAAM,KAAK;;EAA0C,CAAA;AAC5D,eAAO,MAAM,UAAU;;EAA6C,CAAA;AACpE,eAAO,MAAM,YAAY;;EAAiD,CAAA;AAC1E,eAAO,MAAM,WAAW;;EAA+C,CAAA;AAmzCvE,eAAO,MAAM,aAAa,GACxB,OAAO,aAAa,EACpB,UAAU,gBAAgB,EAC1B,MAAM,YAAY,EAClB,aAAa,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,sCAkDhC,CAAA"}
1
+ {"version":3,"file":"overlay.d.ts","sourceRoot":"","sources":["../../src/devtools/overlay.ts"],"names":[],"mappings":"AACA,OAAO,EAEL,MAAM,EAGN,OAAO,EAGP,MAAM,EASP,MAAM,QAAQ,CAAA;AAEf,OAAO,KAAK,OAAO,MAAM,YAAY,CAAA;AAKrC,OAAO,KAAK,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAA;AAOxE,OAAO,EACL,KAAK,aAAa,EAInB,MAAM,SAAS,CAAA;AAgQhB,eAAO,MAAM,MAAM;;EAA0C,CAAA;AAC7D,eAAO,MAAM,YAAY;;;;;;EAGxB,CAAA;AACD,eAAO,MAAM,aAAa;;;;;;EAGzB,CAAA;AACD,eAAO,MAAM,MAAM;;EAA4C,CAAA;AAC/D,eAAO,MAAM,KAAK;;EAA0C,CAAA;AAC5D,eAAO,MAAM,UAAU;;EAA6C,CAAA;AACpE,eAAO,MAAM,YAAY;;EAAiD,CAAA;AAC1E,eAAO,MAAM,WAAW;;EAA+C,CAAA;AAmzCvE,eAAO,MAAM,aAAa,GACxB,OAAO,aAAa,EACpB,UAAU,gBAAgB,EAC1B,MAAM,YAAY,EAClB,aAAa,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,sCAkDhC,CAAA"}
@@ -143,6 +143,21 @@ const toDisplayState = (state) => ({
143
143
  pausedAtIndex: state.pausedAtIndex,
144
144
  });
145
145
  const isExpandable = (value) => Predicate.isObject(value);
146
+ /** Convert DOM-class instances (File, Blob, Date, URL) to plain-object
147
+ * representations so the tree renderer's key-enumeration walk can see their
148
+ * meaningful data, which otherwise lives on the prototype as getters and
149
+ * is invisible to `Object.keys`. Recurses through arrays and records so
150
+ * the transform applies at every level. File is matched before Blob
151
+ * because File extends Blob. */
152
+ const toInspectableValue = (value) => M.value(value).pipe(M.when(M.instanceOf(File), file => ({
153
+ name: file.name,
154
+ size: file.size,
155
+ type: file.type,
156
+ lastModified: file.lastModified,
157
+ })), M.when(M.instanceOf(Blob), blob => ({
158
+ size: blob.size,
159
+ type: blob.type,
160
+ })), M.when(M.instanceOf(Date), date => date.toISOString()), M.when(M.instanceOf(URL), ({ href }) => href), M.when(Array.isArray, Array_.map(toInspectableValue)), M.when(Predicate.isReadonlyRecord, Record.map(toInspectableValue)), M.orElse(Function.identity));
146
161
  const Tagged = S.Struct({ _tag: S.String });
147
162
  const isTagged = S.is(Tagged);
148
163
  const objectPreview = (value) => pipe(value, Record.keys, Array_.filter(key => key !== '_tag'), Array_.match({
@@ -477,7 +492,7 @@ const makeView = (position, mode, maybeBanner) => {
477
492
  const treeView = (value, rootPath, expandedPaths, changedPaths, affectedPaths, maybeRootLabel, indentRootChildren) => {
478
493
  const nodes = [];
479
494
  flattenTree({
480
- value,
495
+ value: toInspectableValue(value),
481
496
  treePath: rootPath,
482
497
  expandedPaths,
483
498
  changedPaths,
@@ -56,6 +56,10 @@ export type Validation<T> = [Predicate.Predicate<T>, ValidationMessage<T>];
56
56
  export declare const resolveMessage: <T>(message: ValidationMessage<T>, value: T) => string;
57
57
  /** Creates a `Validation` that checks if a string is non-empty. */
58
58
  export declare const required: (message?: ValidationMessage<string>) => Validation<string>;
59
+ /** Wraps a string validation so that empty strings pass without being
60
+ * checked. Useful for fields that are optional but must be valid if
61
+ * filled in (e.g. an optional email). */
62
+ export declare const optional: (validation: Validation<string>) => Validation<string>;
59
63
  /** Creates a `Validation` that checks if a string meets a minimum length. */
60
64
  export declare const minLength: (min: number, message?: ValidationMessage<string>) => Validation<string>;
61
65
  /** Creates a `Validation` that checks if a string does not exceed a maximum length. */
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/fieldValidation/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/fieldValidation/index.ts"],"names":[],"mappings":"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"}
@@ -33,6 +33,13 @@ export const resolveMessage = (message, value) => (typeof message === 'string' ?
33
33
  // STRING VALIDATORS
34
34
  /** Creates a `Validation` that checks if a string is non-empty. */
35
35
  export const required = (message = 'Required') => [String.isNonEmpty, message];
36
+ /** Wraps a string validation so that empty strings pass without being
37
+ * checked. Useful for fields that are optional but must be valid if
38
+ * filled in (e.g. an optional email). */
39
+ export const optional = (validation) => {
40
+ const [predicate, message] = validation;
41
+ return [Predicate.or(String.isEmpty, predicate), message];
42
+ };
36
43
  /** Creates a `Validation` that checks if a string meets a minimum length. */
37
44
  export const minLength = (min, message) => [
38
45
  flow(String.length, Number_.greaterThanOrEqualTo(min)),
@@ -1,3 +1,3 @@
1
- export { makeField, required, minLength, maxLength, pattern, email, url, startsWith, endsWith, includes, equals, min, max, between, positive, nonNegative, integer, oneOf, } from './index';
1
+ export { makeField, required, optional, minLength, maxLength, pattern, email, url, startsWith, endsWith, includes, equals, min, max, between, positive, nonNegative, integer, oneOf, } from './index';
2
2
  export type { Field, Validation, ValidationMessage } from './index';
3
3
  //# sourceMappingURL=public.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"public.d.ts","sourceRoot":"","sources":["../../src/fieldValidation/public.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,SAAS,EACT,QAAQ,EACR,SAAS,EACT,SAAS,EACT,OAAO,EACP,KAAK,EACL,GAAG,EACH,UAAU,EACV,QAAQ,EACR,QAAQ,EACR,MAAM,EACN,GAAG,EACH,GAAG,EACH,OAAO,EACP,QAAQ,EACR,WAAW,EACX,OAAO,EACP,KAAK,GACN,MAAM,SAAS,CAAA;AAEhB,YAAY,EAAE,KAAK,EAAE,UAAU,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAA"}
1
+ {"version":3,"file":"public.d.ts","sourceRoot":"","sources":["../../src/fieldValidation/public.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,SAAS,EACT,QAAQ,EACR,QAAQ,EACR,SAAS,EACT,SAAS,EACT,OAAO,EACP,KAAK,EACL,GAAG,EACH,UAAU,EACV,QAAQ,EACR,QAAQ,EACR,MAAM,EACN,GAAG,EACH,GAAG,EACH,OAAO,EACP,QAAQ,EACR,WAAW,EACX,OAAO,EACP,KAAK,GACN,MAAM,SAAS,CAAA;AAEhB,YAAY,EAAE,KAAK,EAAE,UAAU,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAA"}
@@ -1 +1 @@
1
- export { makeField, required, minLength, maxLength, pattern, email, url, startsWith, endsWith, includes, equals, min, max, between, positive, nonNegative, integer, oneOf, } from './index';
1
+ export { makeField, required, optional, minLength, maxLength, pattern, email, url, startsWith, endsWith, includes, equals, min, max, between, positive, nonNegative, integer, oneOf, } from './index';
@@ -0,0 +1,48 @@
1
+ /**
2
+ * Per-element drag-zone state: tracks which event targets have had a
3
+ * `dragenter` without a matching `dragleave`. The zone is considered
4
+ * active while the target set is non-empty OR a pending microtask-empty-
5
+ * check is in flight from a recent `dragleave` (see `processDragLeave`).
6
+ *
7
+ * The target-tracking pattern matches react-dropzone and @react-aria/dnd
8
+ * — pruning stale targets self-heals cases where a `dragleave` failed to
9
+ * fire, and the microtask-deferred empty-check prevents a transient
10
+ * false "left" when the pointer crosses from the zone's padding onto a
11
+ * child in synchronous-dispatch rendering.
12
+ */
13
+ export type DragZoneState = {
14
+ targets: Set<EventTarget>;
15
+ pendingEmptyCheck: boolean;
16
+ };
17
+ export declare const getDragZoneState: (zone: Element) => DragZoneState;
18
+ /**
19
+ * Decides whether a dragenter should dispatch an "entered" Message.
20
+ * Returns true when the zone transitions from inactive to active.
21
+ *
22
+ * A zone is considered "active" if either the target set is non-empty or
23
+ * a leave-check microtask is pending. The pending-check guard is what
24
+ * prevents a double-enter when the pointer crosses from one child of the
25
+ * zone directly onto another: dragleave empties the set and schedules a
26
+ * microtask, dragenter follows synchronously with the next target, and
27
+ * we correctly treat the dragenter as a continuation of the existing
28
+ * drag session rather than a new one.
29
+ */
30
+ export declare const processDragEnter: (state: DragZoneState, zone: Element, target: EventTarget | null) => boolean;
31
+ /**
32
+ * Decides what to do on `dragleave`. Returns `'schedule'` when the caller
33
+ * should schedule a microtask-deferred empty-check, `'done'` when no
34
+ * further action is needed (either because other targets are still
35
+ * pending or a check is already in flight).
36
+ */
37
+ export declare const processDragLeave: (state: DragZoneState, zone: Element, target: EventTarget | null) => "schedule" | "done";
38
+ /**
39
+ * The microtask body a scheduled `processDragLeave` caller should run.
40
+ * Returns true when the caller should dispatch the "left" Message. A
41
+ * `dragenter` that races in between the scheduling and the microtask
42
+ * re-populates `targets`, so by the time this runs the set correctly
43
+ * reflects whether the drag is genuinely gone.
44
+ */
45
+ export declare const checkScheduledLeave: (state: DragZoneState) => boolean;
46
+ /** Clears the target set and any pending empty-check after a drop. */
47
+ export declare const clearDragZoneAfterDrop: (zone: Element) => void;
48
+ //# sourceMappingURL=dragZoneTracking.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dragZoneTracking.d.ts","sourceRoot":"","sources":["../../src/html/dragZoneTracking.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AACH,MAAM,MAAM,aAAa,GAAG;IAC1B,OAAO,EAAE,GAAG,CAAC,WAAW,CAAC,CAAA;IACzB,iBAAiB,EAAE,OAAO,CAAA;CAC3B,CAAA;AAID,eAAO,MAAM,gBAAgB,GAAI,MAAM,OAAO,KAAG,aAWhD,CAAA;AAUD;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,gBAAgB,GAC3B,OAAO,aAAa,EACpB,MAAM,OAAO,EACb,QAAQ,WAAW,GAAG,IAAI,KACzB,OAKF,CAAA;AAED;;;;;GAKG;AACH,eAAO,MAAM,gBAAgB,GAC3B,OAAO,aAAa,EACpB,MAAM,OAAO,EACb,QAAQ,WAAW,GAAG,IAAI,KACzB,UAAU,GAAG,MAWf,CAAA;AAED;;;;;;GAMG;AACH,eAAO,MAAM,mBAAmB,GAAI,OAAO,aAAa,KAAG,OAG1D,CAAA;AAED,sEAAsE;AACtE,eAAO,MAAM,sBAAsB,GAAI,MAAM,OAAO,KAAG,IAMtD,CAAA"}
@@ -0,0 +1,75 @@
1
+ const dragZoneStates = new WeakMap();
2
+ export const getDragZoneState = (zone) => {
3
+ const existing = dragZoneStates.get(zone);
4
+ if (existing !== undefined) {
5
+ return existing;
6
+ }
7
+ const created = {
8
+ targets: new Set(),
9
+ pendingEmptyCheck: false,
10
+ };
11
+ dragZoneStates.set(zone, created);
12
+ return created;
13
+ };
14
+ const pruneStaleTargets = (zone, targets) => {
15
+ for (const target of targets) {
16
+ if (!(target instanceof Node) || !zone.contains(target)) {
17
+ targets.delete(target);
18
+ }
19
+ }
20
+ };
21
+ /**
22
+ * Decides whether a dragenter should dispatch an "entered" Message.
23
+ * Returns true when the zone transitions from inactive to active.
24
+ *
25
+ * A zone is considered "active" if either the target set is non-empty or
26
+ * a leave-check microtask is pending. The pending-check guard is what
27
+ * prevents a double-enter when the pointer crosses from one child of the
28
+ * zone directly onto another: dragleave empties the set and schedules a
29
+ * microtask, dragenter follows synchronously with the next target, and
30
+ * we correctly treat the dragenter as a continuation of the existing
31
+ * drag session rather than a new one.
32
+ */
33
+ export const processDragEnter = (state, zone, target) => {
34
+ pruneStaleTargets(zone, state.targets);
35
+ const wasActive = state.targets.size > 0 || state.pendingEmptyCheck;
36
+ state.targets.add(target ?? zone);
37
+ return !wasActive;
38
+ };
39
+ /**
40
+ * Decides what to do on `dragleave`. Returns `'schedule'` when the caller
41
+ * should schedule a microtask-deferred empty-check, `'done'` when no
42
+ * further action is needed (either because other targets are still
43
+ * pending or a check is already in flight).
44
+ */
45
+ export const processDragLeave = (state, zone, target) => {
46
+ state.targets.delete(target ?? zone);
47
+ pruneStaleTargets(zone, state.targets);
48
+ if (state.targets.size > 0) {
49
+ return 'done';
50
+ }
51
+ if (state.pendingEmptyCheck) {
52
+ return 'done';
53
+ }
54
+ state.pendingEmptyCheck = true;
55
+ return 'schedule';
56
+ };
57
+ /**
58
+ * The microtask body a scheduled `processDragLeave` caller should run.
59
+ * Returns true when the caller should dispatch the "left" Message. A
60
+ * `dragenter` that races in between the scheduling and the microtask
61
+ * re-populates `targets`, so by the time this runs the set correctly
62
+ * reflects whether the drag is genuinely gone.
63
+ */
64
+ export const checkScheduledLeave = (state) => {
65
+ state.pendingEmptyCheck = false;
66
+ return state.targets.size === 0;
67
+ };
68
+ /** Clears the target set and any pending empty-check after a drop. */
69
+ export const clearDragZoneAfterDrop = (zone) => {
70
+ const state = dragZoneStates.get(zone);
71
+ if (state !== undefined) {
72
+ state.targets.clear();
73
+ state.pendingEmptyCheck = false;
74
+ }
75
+ };
@@ -192,6 +192,7 @@ export type Attribute<Message> = Data.TaggedEnum<{
192
192
  OnDragOver: {
193
193
  readonly message: Message;
194
194
  };
195
+ AllowDrop: {};
195
196
  OnDrop: {
196
197
  readonly message: Message;
197
198
  };
@@ -946,6 +947,8 @@ export declare const html: <Message = never>() => {
946
947
  } | {
947
948
  readonly _tag: "OnDragOver";
948
949
  readonly message: Message;
950
+ } | {
951
+ readonly _tag: "AllowDrop";
949
952
  } | {
950
953
  readonly _tag: "OnDrop";
951
954
  readonly message: Message;
@@ -1759,6 +1762,9 @@ export declare const html: <Message = never>() => {
1759
1762
  readonly _tag: "OnDragOver";
1760
1763
  readonly message: Message;
1761
1764
  };
1765
+ AllowDrop: () => {
1766
+ readonly _tag: "AllowDrop";
1767
+ };
1762
1768
  OnDrop: (message: Message) => {
1763
1769
  readonly _tag: "OnDrop";
1764
1770
  readonly message: 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,6 +1,7 @@
1
1
  import { Array, Data, Effect, Match, Option, Predicate, Ref, String, pipe, } from 'effect';
2
2
  import { h } from 'snabbdom';
3
3
  import { Dispatch } from '../runtime';
4
+ import { checkScheduledLeave, clearDragZoneAfterDrop, getDragZoneState, processDragEnter, processDragLeave, } from './dragZoneTracking';
4
5
  export { createKeyedLazy, createLazy } from './lazy';
5
6
  /**
6
7
  * Tag symbol attached to file-aware event handler functions so Scene test
@@ -23,7 +24,7 @@ const keyboardModifiers = (event) => ({
23
24
  altKey: event.altKey,
24
25
  metaKey: event.metaKey,
25
26
  });
26
- const { Key, Class, Id, Title, Lang, Dir, Tabindex, Hidden, Contenteditable, Draggable, Accesskey, Translate, Inert, Popover, Popovertarget, Popovertargetaction, OnClick, OnDoubleClick, OnMouseDown, OnMouseUp, OnMouseEnter, OnMouseLeave, OnMouseOver, OnMouseOut, OnMouseMove, OnPointerMove, OnPointerLeave, OnPointerDown, OnPointerUp, OnKeyDown, OnKeyDownPreventDefault, OnKeyUp, OnKeyUpPreventDefault, OnKeyPress, OnFocus, OnBlur, OnInput, OnChange, OnFileChange, OnSubmit, OnReset, OnScroll, OnWheel, OnCopy, OnCut, OnPaste, OnCancel, OnToggle, OnContextMenu, OnDragStart, OnDrag, OnDragEnd, OnDragEnter, OnDragLeave, OnDragOver, OnDrop, OnDropFiles, OnTouchStart, OnTouchEnd, OnTouchMove, OnTouchCancel, OnAnimationStart, OnAnimationEnd, OnAnimationIteration, OnTransitionEnd, OnLoad, OnError, OnPlay, OnPause, OnEnded, OnTimeUpdate, OnVolumeChange, OnSelect, 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, Formaction, Formmethod, Formnovalidate, Formtarget, Formenctype, Colspan, Rowspan, Scope, Headers, Span, Start, Reversed, CiteAttr, Datetime, Wrap, List, FormAttr, LabelAttr, ContentAttr, Charset, HttpEquiv, Srcset, Sizes, Loading, Decoding, Fetchpriority, Crossorigin, Referrerpolicy, Integrity, Hreflang, Ping, Sandbox, Allow, Srcdoc, Autoplay, Controls, Loop, Muted, Poster, Preload, Playsinline, High, Low, Optimum, Usemap, Ismap, Role, AriaLabel, AriaLabelledBy, AriaDescribedBy, AriaHidden, AriaExpanded, AriaSelected, AriaChecked, AriaDisabled, AriaRequired, AriaInvalid, AriaLive, AriaControls, AriaCurrent, AriaOrientation, AriaPressed, AriaHasPopup, AriaActiveDescendant, AriaSort, AriaMultiSelectable, AriaModal, AriaBusy, AriaErrorMessage, AriaRoleDescription, AriaAtomic, AriaAutocomplete, AriaColcount, AriaColindex, AriaColspan, AriaDescription, AriaDetails, AriaFlowto, AriaKeyshortcuts, AriaLevel, AriaOwns, AriaPlaceholder, AriaPosinset, AriaReadonly, AriaRelevant, AriaRowcount, AriaRowindex, AriaRowspan, AriaSetsize, AriaValuemax, AriaValuemin, AriaValuenow, AriaValuetext, 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();
27
+ const { Key, Class, Id, Title, Lang, Dir, Tabindex, Hidden, Contenteditable, Draggable, Accesskey, Translate, Inert, Popover, Popovertarget, Popovertargetaction, OnClick, OnDoubleClick, OnMouseDown, OnMouseUp, OnMouseEnter, OnMouseLeave, OnMouseOver, OnMouseOut, OnMouseMove, OnPointerMove, OnPointerLeave, OnPointerDown, OnPointerUp, OnKeyDown, OnKeyDownPreventDefault, OnKeyUp, OnKeyUpPreventDefault, OnKeyPress, OnFocus, OnBlur, OnInput, OnChange, OnFileChange, OnSubmit, OnReset, OnScroll, OnWheel, OnCopy, OnCut, OnPaste, OnCancel, OnToggle, OnContextMenu, OnDragStart, OnDrag, OnDragEnd, OnDragEnter, OnDragLeave, OnDragOver, AllowDrop, OnDrop, OnDropFiles, OnTouchStart, OnTouchEnd, OnTouchMove, OnTouchCancel, OnAnimationStart, OnAnimationEnd, OnAnimationIteration, OnTransitionEnd, OnLoad, OnError, OnPlay, OnPause, OnEnded, OnTimeUpdate, OnVolumeChange, OnSelect, 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, Formaction, Formmethod, Formnovalidate, Formtarget, Formenctype, Colspan, Rowspan, Scope, Headers, Span, Start, Reversed, CiteAttr, Datetime, Wrap, List, FormAttr, LabelAttr, ContentAttr, Charset, HttpEquiv, Srcset, Sizes, Loading, Decoding, Fetchpriority, Crossorigin, Referrerpolicy, Integrity, Hreflang, Ping, Sandbox, Allow, Srcdoc, Autoplay, Controls, Loop, Muted, Poster, Preload, Playsinline, High, Low, Optimum, Usemap, Ismap, Role, AriaLabel, AriaLabelledBy, AriaDescribedBy, AriaHidden, AriaExpanded, AriaSelected, AriaChecked, AriaDisabled, AriaRequired, AriaInvalid, AriaLive, AriaControls, AriaCurrent, AriaOrientation, AriaPressed, AriaHasPopup, AriaActiveDescendant, AriaSort, AriaMultiSelectable, AriaModal, AriaBusy, AriaErrorMessage, AriaRoleDescription, AriaAtomic, AriaAutocomplete, AriaColcount, AriaColindex, AriaColspan, AriaDescription, AriaDetails, AriaFlowto, AriaKeyshortcuts, AriaLevel, AriaOwns, AriaPlaceholder, AriaPosinset, AriaReadonly, AriaRelevant, AriaRowcount, AriaRowindex, AriaRowspan, AriaSetsize, AriaValuemax, AriaValuemin, AriaValuenow, AriaValuetext, 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();
27
28
  const buildVNodeData = (attributes) => Effect.gen(function* () {
28
29
  const { dispatchSync } = yield* Dispatch;
29
30
  const dataRef = yield* Ref.make({});
@@ -238,11 +239,33 @@ const buildVNodeData = (attributes) => Effect.gen(function* () {
238
239
  OnDragEnter: ({ message }) => updateDataOn({
239
240
  dragenter: (event) => {
240
241
  event.preventDefault();
241
- dispatchSync(message);
242
+ const zone = event.currentTarget;
243
+ if (!(zone instanceof Element)) {
244
+ dispatchSync(message);
245
+ return;
246
+ }
247
+ const state = getDragZoneState(zone);
248
+ if (processDragEnter(state, zone, event.target)) {
249
+ dispatchSync(message);
250
+ }
242
251
  },
243
252
  }),
244
253
  OnDragLeave: ({ message }) => updateDataOn({
245
- dragleave: () => dispatchSync(message),
254
+ dragleave: (event) => {
255
+ const zone = event.currentTarget;
256
+ if (!(zone instanceof Element)) {
257
+ dispatchSync(message);
258
+ return;
259
+ }
260
+ const state = getDragZoneState(zone);
261
+ if (processDragLeave(state, zone, event.target) === 'schedule') {
262
+ queueMicrotask(() => {
263
+ if (checkScheduledLeave(state)) {
264
+ dispatchSync(message);
265
+ }
266
+ });
267
+ }
268
+ },
246
269
  }),
247
270
  OnDragOver: ({ message }) => updateDataOn({
248
271
  dragover: (event) => {
@@ -250,9 +273,18 @@ const buildVNodeData = (attributes) => Effect.gen(function* () {
250
273
  dispatchSync(message);
251
274
  },
252
275
  }),
276
+ AllowDrop: () => updateDataOn({
277
+ dragover: (event) => {
278
+ event.preventDefault();
279
+ },
280
+ }),
253
281
  OnDrop: ({ message }) => updateDataOn({
254
282
  drop: (event) => {
255
283
  event.preventDefault();
284
+ const zone = event.currentTarget;
285
+ if (zone instanceof Element) {
286
+ clearDragZoneAfterDrop(zone);
287
+ }
256
288
  dispatchSync(message);
257
289
  },
258
290
  }),
@@ -261,6 +293,10 @@ const buildVNodeData = (attributes) => Effect.gen(function* () {
261
293
  event.preventDefault();
262
294
  /* eslint-disable-next-line @typescript-eslint/consistent-type-assertions */
263
295
  const dragEvent = event;
296
+ const zone = dragEvent.currentTarget;
297
+ if (zone instanceof Element) {
298
+ clearDragZoneAfterDrop(zone);
299
+ }
264
300
  const files = dragEvent.dataTransfer?.files
265
301
  ? Array.fromIterable(dragEvent.dataTransfer.files)
266
302
  : Array.empty();
@@ -810,6 +846,7 @@ const htmlAttributes = () => ({
810
846
  OnDragEnter: (message) => OnDragEnter({ message }),
811
847
  OnDragLeave: (message) => OnDragLeave({ message }),
812
848
  OnDragOver: (message) => OnDragOver({ message }),
849
+ AllowDrop: () => AllowDrop(),
813
850
  OnDrop: (message) => OnDrop({ message }),
814
851
  OnDropFiles: (f) => OnDropFiles({ f }),
815
852
  OnTouchStart: (message) => OnTouchStart({ message }),
@@ -1 +1 @@
1
- {"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../../src/runtime/runtime.ts"],"names":[],"mappings":"AACA,OAAO,EAGL,OAAO,EACP,MAAM,EAGN,KAAK,EAEL,MAAM,EAMN,MAAM,EAKP,MAAM,QAAQ,CAAA;AAGf,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,YAAY,CAAA;AAGzC,OAAO,EAAE,IAAI,EAAE,MAAM,SAAS,CAAA;AAC9B,OAAO,EAAE,GAAG,EAA+B,MAAM,QAAQ,CAAA;AAOzD,OAAO,KAAK,EAAyB,gBAAgB,EAAE,MAAM,mBAAmB,CAAA;AAChF,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAA;AACnD,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AAOzC,0DAA0D;AAC1D,MAAM,MAAM,gBAAgB,GACxB,aAAa,GACb,YAAY,GACZ,UAAU,GACV,SAAS,CAAA;AAEb,wCAAwC;AACxC,MAAM,MAAM,UAAU,GAAG,aAAa,GAAG,QAAQ,CAAA;AAEjD;;;;GAIG;AACH,MAAM,MAAM,YAAY,GAAG,SAAS,GAAG,YAAY,CAAA;AAEnD;;;;;;;;;GASG;AACH,MAAM,MAAM,cAAc,GACtB,KAAK,GACL,QAAQ,CAAC;IACP,IAAI,CAAC,EAAE,UAAU,CAAA;IACjB,QAAQ,CAAC,EAAE,gBAAgB,CAAA;IAC3B,IAAI,CAAC,EAAE,YAAY,CAAA;IACnB,MAAM,CAAC,EAAE,MAAM,CAAA;CAChB,CAAC,CAAA;AAMN,sFAAsF;AACtF,MAAM,MAAM,eAAe,CAAC,KAAK,EAAE,OAAO,IAAI,QAAQ,CAAC;IACrD,KAAK,EAAE,KAAK,CAAA;IACZ,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;IAC/B,UAAU,EAAE,MAAM,CAAA;IAClB,WAAW,EAAE,MAAM,CAAA;CACpB,CAAC,CAAA;AAEF;;;;;;;;GAQG;AACH,MAAM,MAAM,cAAc,CAAC,KAAK,EAAE,OAAO,IACrC,KAAK,GACL,QAAQ,CAAC;IACP,IAAI,CAAC,EAAE,UAAU,CAAA;IACjB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,UAAU,CAAC,EAAE,CAAC,OAAO,EAAE,eAAe,CAAC,KAAK,EAAE,OAAO,CAAC,KAAK,IAAI,CAAA;CAChE,CAAC,CAAA;;4BA6BsB,CAAC,OAAO,EAAE,OAAO,KAAK,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC;2BAC1C,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI;;AALrD,8EAA8E;AAC9E,qBAAa,QAAS,SAAQ,aAM3B;CAAG;AAEN,YAAY,EAAE,OAAO,EAAE,MAAM,YAAY,CAAA;AAEzC,oFAAoF;AACpF,MAAM,MAAM,aAAa,CAAC,OAAO,IAAI,QAAQ,CAAC;IAC5C,YAAY,EAAE,CAAC,OAAO,EAAE,UAAU,KAAK,OAAO,CAAA;IAC9C,WAAW,EAAE,CAAC,GAAG,EAAE,GAAG,KAAK,OAAO,CAAA;CACnC,CAAC,CAAA;AAEF,0GAA0G;AAC1G,MAAM,MAAM,YAAY,CAAC,KAAK,EAAE,OAAO,IAAI,QAAQ,CAAC;IAClD,KAAK,EAAE,KAAK,CAAA;IACZ,KAAK,EAAE,KAAK,CAAA;IACZ,OAAO,EAAE,OAAO,CAAA;CACjB,CAAC,CAAA;AAEF,iFAAiF;AACjF,MAAM,MAAM,WAAW,CAAC,KAAK,EAAE,OAAO,IAAI,QAAQ,CAAC;IACjD,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,YAAY,CAAC,KAAK,EAAE,OAAO,CAAC,KAAK,IAAI,CAAA;IACtD,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,YAAY,CAAC,KAAK,EAAE,OAAO,CAAC,KAAK,IAAI,CAAA;CACzD,CAAC,CAAA;AA6DF,KAAK,iBAAiB,CACpB,KAAK,EACL,OAAO,EACP,aAAa,SAAS,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,EACzD,SAAS,GAAG,KAAK,EACjB,uBAAuB,GAAG,KAAK,IAC7B,QAAQ,CAAC;IACX,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,GAAG,EAAE,KAAK,CAAC,CAAA;IACvC,MAAM,EAAE,CACN,KAAK,EAAE,KAAK,EACZ,OAAO,EAAE,OAAO,KACb,SAAS;QACZ,KAAK;QACL,aAAa,CAAC,OAAO,CAAC,OAAO,EAAE,KAAK,EAAE,SAAS,GAAG,uBAAuB,CAAC,CAAC;KAC5E,CAAA;IACD,IAAI,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAA;IAC5B,aAAa,CAAC,EAAE,aAAa,CAC3B,KAAK,EACL,OAAO,EACP,aAAa,EACb,SAAS,GAAG,uBAAuB,CACpC,CAAA;IACD,SAAS,EAAE,WAAW,CAAA;IACtB,KAAK,CAAC,EAAE,WAAW,CAAC,KAAK,EAAE,OAAO,CAAC,CAAA;IACnC,QAAQ,CAAC,EAAE,cAAc,CAAC,KAAK,EAAE,OAAO,CAAC,CAAA;IACzC,SAAS,CAAC,EAAE,KAAK,CAAC,KAAK,CAAC,SAAS,CAAC,CAAA;IAClC,gBAAgB,CAAC,EAAE,gBAAgB,CAAC,KAAK,EAAE,OAAO,EAAE,uBAAuB,CAAC,CAAA;IAC5E,oFAAoF;IACpF,KAAK,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,MAAM,CAAA;IAChC,QAAQ,CAAC,EAAE,cAAc,CAAA;CAC1B,CAAC,CAAA;AAEF,kEAAkE;AAClE,MAAM,MAAM,6BAA6B,CACvC,KAAK,EACL,OAAO,EACP,aAAa,SAAS,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,EACzD,KAAK,EACL,SAAS,GAAG,KAAK,EACjB,uBAAuB,GAAG,KAAK,IAC7B,iBAAiB,CACnB,KAAK,EACL,OAAO,EACP,aAAa,EACb,SAAS,EACT,uBAAuB,CACxB,GACC,QAAQ,CAAC;IACP,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,GAAG,EAAE,KAAK,CAAC,CAAA;IACvC,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;IAC3B,OAAO,EAAE,aAAa,CAAC,OAAO,CAAC,CAAA;IAC/B,IAAI,EAAE,CACJ,KAAK,EAAE,KAAK,EACZ,GAAG,EAAE,GAAG,KACL,SAAS;QACZ,KAAK;QACL,aAAa,CACX,OAAO,CAAC,OAAO,EAAE,KAAK,EAAE,SAAS,GAAG,uBAAuB,CAAC,CAC7D;KACF,CAAA;CACF,CAAC,CAAA;AAEJ,qEAAqE;AACrE,MAAM,MAAM,oBAAoB,CAC9B,KAAK,EACL,OAAO,EACP,aAAa,SAAS,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,EACzD,SAAS,GAAG,KAAK,EACjB,uBAAuB,GAAG,KAAK,IAC7B,iBAAiB,CACnB,KAAK,EACL,OAAO,EACP,aAAa,EACb,SAAS,EACT,uBAAuB,CACxB,GACC,QAAQ,CAAC;IACP,OAAO,EAAE,aAAa,CAAC,OAAO,CAAC,CAAA;IAC/B,IAAI,EAAE,CACJ,GAAG,EAAE,GAAG,KACL,SAAS;QACZ,KAAK;QACL,aAAa,CACX,OAAO,CAAC,OAAO,EAAE,KAAK,EAAE,SAAS,GAAG,uBAAuB,CAAC,CAC7D;KACF,CAAA;CACF,CAAC,CAAA;AAEJ,qEAAqE;AACrE,MAAM,MAAM,sBAAsB,CAChC,KAAK,EACL,OAAO,EACP,aAAa,SAAS,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,EACzD,KAAK,EACL,SAAS,GAAG,KAAK,EACjB,uBAAuB,GAAG,KAAK,IAC7B,iBAAiB,CACnB,KAAK,EACL,OAAO,EACP,aAAa,EACb,SAAS,EACT,uBAAuB,CACxB,GACC,QAAQ,CAAC;IACP,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,GAAG,EAAE,KAAK,CAAC,CAAA;IACvC,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;IAC3B,IAAI,EAAE,CACJ,KAAK,EAAE,KAAK,KACT,SAAS;QACZ,KAAK;QACL,aAAa,CACX,OAAO,CAAC,OAAO,EAAE,KAAK,EAAE,SAAS,GAAG,uBAAuB,CAAC,CAC7D;KACF,CAAA;CACF,CAAC,CAAA;AAEJ,oEAAoE;AACpE,MAAM,MAAM,aAAa,CACvB,KAAK,EACL,OAAO,EACP,aAAa,SAAS,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,EACzD,SAAS,GAAG,KAAK,EACjB,uBAAuB,GAAG,KAAK,IAC7B,iBAAiB,CACnB,KAAK,EACL,OAAO,EACP,aAAa,EACb,SAAS,EACT,uBAAuB,CACxB,GACC,QAAQ,CAAC;IACP,IAAI,EAAE,MAAM,SAAS;QACnB,KAAK;QACL,aAAa,CACX,OAAO,CAAC,OAAO,EAAE,KAAK,EAAE,SAAS,GAAG,uBAAuB,CAAC,CAC7D;KACF,CAAA;CACF,CAAC,CAAA;AAEJ,iEAAiE;AACjE,MAAM,MAAM,WAAW,CACrB,KAAK,EACL,OAAO,EACP,KAAK,GAAG,IAAI,EACZ,SAAS,GAAG,KAAK,EACjB,uBAAuB,GAAG,KAAK,IAC7B,KAAK,SAAS,IAAI,GAClB,MAAM,SAAS;IACb,KAAK;IACL,aAAa,CACX,OAAO,CAAC,OAAO,EAAE,KAAK,EAAE,SAAS,GAAG,uBAAuB,CAAC,CAC7D;CACF,GACD,CACE,KAAK,EAAE,KAAK,KACT,SAAS;IACZ,KAAK;IACL,aAAa,CACX,OAAO,CAAC,OAAO,EAAE,KAAK,EAAE,SAAS,GAAG,uBAAuB,CAAC,CAC7D;CACF,CAAA;AAEL,2GAA2G;AAC3G,MAAM,MAAM,kBAAkB,CAC5B,KAAK,EACL,OAAO,EACP,KAAK,GAAG,IAAI,EACZ,SAAS,GAAG,KAAK,EACjB,uBAAuB,GAAG,KAAK,IAC7B,KAAK,SAAS,IAAI,GAClB,CACE,GAAG,EAAE,GAAG,KACL,SAAS;IACZ,KAAK;IACL,aAAa,CACX,OAAO,CAAC,OAAO,EAAE,KAAK,EAAE,SAAS,GAAG,uBAAuB,CAAC,CAC7D;CACF,GACD,CACE,KAAK,EAAE,KAAK,EACZ,GAAG,EAAE,GAAG,KACL,SAAS;IACZ,KAAK;IACL,aAAa,CACX,OAAO,CAAC,OAAO,EAAE,KAAK,EAAE,SAAS,GAAG,uBAAuB,CAAC,CAC7D;CACF,CAAA;AAEL,wGAAwG;AACxG,MAAM,MAAM,iBAAiB,GAAG,CAAC,QAAQ,CAAC,EAAE,OAAO,KAAK,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;AAslB3E,2HAA2H;AAC3H,wBAAgB,WAAW,CACzB,KAAK,EACL,OAAO,SAAS;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,EAChC,aAAa,SAAS,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,EACzD,KAAK,EACL,SAAS,GAAG,KAAK,EACjB,uBAAuB,GAAG,KAAK,EAE/B,MAAM,EAAE,6BAA6B,CACnC,KAAK,EACL,OAAO,EACP,aAAa,EACb,KAAK,EACL,SAAS,EACT,uBAAuB,CACxB,GACA,iBAAiB,CAAA;AAEpB,wBAAgB,WAAW,CACzB,KAAK,EACL,OAAO,SAAS;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,EAChC,aAAa,SAAS,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,EACzD,SAAS,GAAG,KAAK,EACjB,uBAAuB,GAAG,KAAK,EAE/B,MAAM,EAAE,oBAAoB,CAC1B,KAAK,EACL,OAAO,EACP,aAAa,EACb,SAAS,EACT,uBAAuB,CACxB,GACA,iBAAiB,CAAA;AAEpB,wBAAgB,WAAW,CACzB,KAAK,EACL,OAAO,SAAS;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,EAChC,aAAa,SAAS,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,EACzD,KAAK,EACL,SAAS,GAAG,KAAK,EACjB,uBAAuB,GAAG,KAAK,EAE/B,MAAM,EAAE,sBAAsB,CAC5B,KAAK,EACL,OAAO,EACP,aAAa,EACb,KAAK,EACL,SAAS,EACT,uBAAuB,CACxB,GACA,iBAAiB,CAAA;AAEpB,wBAAgB,WAAW,CACzB,KAAK,EACL,OAAO,SAAS;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,EAChC,aAAa,SAAS,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,EACzD,SAAS,GAAG,KAAK,EACjB,uBAAuB,GAAG,KAAK,EAE/B,MAAM,EAAE,aAAa,CACnB,KAAK,EACL,OAAO,EACP,aAAa,EACb,SAAS,EACT,uBAAuB,CACxB,GACA,iBAAiB,CAAA;AAiLpB,kEAAkE;AAClE,eAAO,MAAM,GAAG,GAAI,gBAAgB,iBAAiB,KAAG,IA+BvD,CAAA"}
1
+ {"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../../src/runtime/runtime.ts"],"names":[],"mappings":"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"}
@@ -86,6 +86,17 @@ const makeRuntime = ({ Model, flags: resolveFlags, init, update, view, subscript
86
86
  const currentMessageRef = yield* Ref.make(Option.none());
87
87
  const maybeRuntimeRef = yield* Ref.make(Option.none());
88
88
  const maybeDevtoolsStoreRef = yield* Ref.make(Option.none());
89
+ /** `true` while a render is patching the DOM. Synchronous events
90
+ * that fire as a side-effect of DOM mutations (e.g. Chrome firing
91
+ * `blur` when a focused element is removed) call `dispatchSync`; if
92
+ * they do so while the flag is set, the message is offered to
93
+ * `pendingMessagesQueue` and processed after the current render
94
+ * completes. Without this lock, nested dispatches during a patch
95
+ * see a stale `maybeCurrentVNodeRef` and double-patch the DOM. */
96
+ const isRenderingRef = yield* Ref.make(false);
97
+ /** Messages offered by `dispatchSync` calls that land while a render
98
+ * is in progress. Drained at the end of each render. */
99
+ const pendingMessagesQueue = yield* Queue.unbounded();
89
100
  const processMessage = (message) => Effect.gen(function* () {
90
101
  const currentModel = yield* Ref.get(modelRef);
91
102
  const [nextModel, commands] = update(currentModel, message);
@@ -127,12 +138,18 @@ const makeRuntime = ({ Model, flags: resolveFlags, init, update, view, subscript
127
138
  const appError = squashed instanceof Error
128
139
  ? squashed
129
140
  : new Error(String(squashed));
130
- const model = Ref.get(modelRef).pipe(Effect.runSync);
141
+ const model = Effect.runSync(Ref.get(modelRef));
131
142
  renderCrashView({ error: appError, model, message }, crash, container, maybeCurrentVNodeRef);
132
143
  }
133
144
  };
134
145
  const dispatchSync = (message) => {
135
- const maybeRuntime = Ref.get(maybeRuntimeRef).pipe(Effect.runSync);
146
+ const isRendering = Effect.runSync(Ref.get(isRenderingRef));
147
+ if (isRendering) {
148
+ /* eslint-disable-next-line @typescript-eslint/consistent-type-assertions */
149
+ Queue.offer(pendingMessagesQueue, message).pipe(Effect.runSync);
150
+ return;
151
+ }
152
+ const maybeRuntime = Effect.runSync(Ref.get(maybeRuntimeRef));
136
153
  Option.match(maybeRuntime, {
137
154
  onNone: Function.constVoid,
138
155
  onSome: runProcessMessage(
@@ -146,6 +163,10 @@ const makeRuntime = ({ Model, flags: resolveFlags, init, update, view, subscript
146
163
  /* eslint-disable-next-line @typescript-eslint/consistent-type-assertions */
147
164
  enqueueMessage(message);
148
165
  const dispatch = { dispatchAsync, dispatchSync };
166
+ const drainPendingMessages = Effect.gen(function* () {
167
+ const pending = yield* Queue.takeAll(pendingMessagesQueue);
168
+ yield* Effect.forEach(pending, queuedMessage => Effect.sync(() => dispatchSync(queuedMessage)));
169
+ });
149
170
  const render = (model, message) => Effect.gen(function* () {
150
171
  const viewStart = performance.now();
151
172
  const nextVNodeNullish = yield* view(model);
@@ -164,11 +185,12 @@ const makeRuntime = ({ Model, flags: resolveFlags, init, update, view, subscript
164
185
  },
165
186
  });
166
187
  const maybeCurrentVNode = yield* Ref.get(maybeCurrentVNodeRef);
167
- const patchedVNode = yield* Effect.sync(() => patchVNode(maybeCurrentVNode, nextVNodeNullish, container));
188
+ const patchedVNode = yield* Effect.acquireUseRelease(Ref.set(isRenderingRef, true), () => Effect.sync(() => patchVNode(maybeCurrentVNode, nextVNodeNullish, container)), () => Ref.set(isRenderingRef, false));
168
189
  yield* Ref.set(maybeCurrentVNodeRef, Option.some(patchedVNode));
169
190
  if (title) {
170
191
  document.title = title(model);
171
192
  }
193
+ yield* drainPendingMessages;
172
194
  }).pipe(Effect.provideService(Dispatch, dispatch));
173
195
  const runtime = yield* Effect.runtime();
174
196
  yield* Ref.set(maybeRuntimeRef, Option.some(runtime));
@@ -254,7 +276,7 @@ const makeRuntime = ({ Model, flags: resolveFlags, init, update, view, subscript
254
276
  const appError = squashed instanceof Error
255
277
  ? squashed
256
278
  : new Error(String(squashed));
257
- const model = Ref.get(modelRef).pipe(Effect.runSync);
279
+ const model = Effect.runSync(Ref.get(modelRef));
258
280
  const message = Ref.get(currentMessageRef).pipe(Effect.runSync, Option.getOrThrow);
259
281
  renderCrashView({ error: appError, model, message }, crash, container, maybeCurrentVNodeRef);
260
282
  })));
@@ -283,13 +305,13 @@ const renderCrashView = (context, crash, container, maybeCurrentVNodeRef) => {
283
305
  const crashHtml = crash?.view
284
306
  ? crash.view(context)
285
307
  : defaultCrashView(context);
286
- const maybeCurrentVNode = Ref.get(maybeCurrentVNodeRef).pipe(Effect.runSync);
308
+ const maybeCurrentVNode = Effect.runSync(Ref.get(maybeCurrentVNodeRef));
287
309
  const vnode = crashHtml.pipe(Effect.provideService(Dispatch, noOpDispatch), Effect.runSync);
288
310
  patchVNode(maybeCurrentVNode, vnode, container);
289
311
  }
290
312
  catch (viewError) {
291
313
  console.error('[foldkit] crash.view failed:', viewError);
292
- const maybeCurrentVNode = Ref.get(maybeCurrentVNodeRef).pipe(Effect.runSync);
314
+ const maybeCurrentVNode = Effect.runSync(Ref.get(maybeCurrentVNodeRef));
293
315
  const fallbackViewError = viewError instanceof Error ? viewError : new Error(String(viewError));
294
316
  const vnode = defaultCrashView(context, fallbackViewError).pipe(Effect.provideService(Dispatch, noOpDispatch), Effect.runSync);
295
317
  patchVNode(maybeCurrentVNode, vnode, container);
@@ -4,7 +4,7 @@ export { advanceFocus, focus, showModal, closeModal, clickElement, scrollIntoVie
4
4
  export type { FocusDirection } from './dom';
5
5
  export { detectElementMovement } from './elementMovement';
6
6
  export { delay, nextFrame, waitForTransitions } from './timing';
7
- export { randomInt } from './random';
7
+ export { randomInt, uuid } from './random';
8
8
  export { lockScroll, unlockScroll } from './scrollLock';
9
9
  export { inertOthers, restoreInert } from './inert';
10
10
  //# sourceMappingURL=index.d.ts.map
@@ -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,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
+ {"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,IAAI,EAAE,MAAM,UAAU,CAAA;AAC1C,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,cAAc,CAAA;AACvD,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,SAAS,CAAA"}
@@ -3,6 +3,6 @@ export { getTime, getTimeZone, getZonedTime, getZonedTimeIn } from './time';
3
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
- export { randomInt } from './random';
6
+ export { randomInt, uuid } from './random';
7
7
  export { lockScroll, unlockScroll } from './scrollLock';
8
8
  export { inertOthers, restoreInert } from './inert';
@@ -1,2 +1,2 @@
1
- export { ElementNotFound, TimeZoneError, getTime, getTimeZone, getZonedTime, getZonedTimeIn, focus, showModal, closeModal, clickElement, delay, scrollIntoView, randomInt, nextFrame, waitForTransitions, } from './index';
1
+ export { ElementNotFound, TimeZoneError, getTime, getTimeZone, getZonedTime, getZonedTimeIn, focus, showModal, closeModal, clickElement, delay, scrollIntoView, randomInt, uuid, nextFrame, waitForTransitions, } from './index';
2
2
  //# sourceMappingURL=public.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"public.d.ts","sourceRoot":"","sources":["../../src/task/public.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,eAAe,EACf,aAAa,EACb,OAAO,EACP,WAAW,EACX,YAAY,EACZ,cAAc,EACd,KAAK,EACL,SAAS,EACT,UAAU,EACV,YAAY,EACZ,KAAK,EACL,cAAc,EACd,SAAS,EACT,SAAS,EACT,kBAAkB,GACnB,MAAM,SAAS,CAAA"}
1
+ {"version":3,"file":"public.d.ts","sourceRoot":"","sources":["../../src/task/public.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,eAAe,EACf,aAAa,EACb,OAAO,EACP,WAAW,EACX,YAAY,EACZ,cAAc,EACd,KAAK,EACL,SAAS,EACT,UAAU,EACV,YAAY,EACZ,KAAK,EACL,cAAc,EACd,SAAS,EACT,IAAI,EACJ,SAAS,EACT,kBAAkB,GACnB,MAAM,SAAS,CAAA"}
@@ -1 +1 @@
1
- export { ElementNotFound, TimeZoneError, getTime, getTimeZone, getZonedTime, getZonedTimeIn, focus, showModal, closeModal, clickElement, delay, scrollIntoView, randomInt, nextFrame, waitForTransitions, } from './index';
1
+ export { ElementNotFound, TimeZoneError, getTime, getTimeZone, getZonedTime, getZonedTimeIn, focus, showModal, closeModal, clickElement, delay, scrollIntoView, randomInt, uuid, nextFrame, waitForTransitions, } from './index';
@@ -8,4 +8,14 @@ import { Effect } from 'effect';
8
8
  * ```
9
9
  */
10
10
  export declare const randomInt: (min: number, max: number) => Effect.Effect<number>;
11
+ /**
12
+ * Generates a RFC 4122 version 4 UUID via the platform's
13
+ * `crypto.randomUUID()`.
14
+ *
15
+ * @example
16
+ * ```typescript
17
+ * Task.uuid.pipe(Effect.map(id => CreatedCard({ id, title })))
18
+ * ```
19
+ */
20
+ export declare const uuid: Effect.Effect<string>;
11
21
  //# sourceMappingURL=random.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"random.d.ts","sourceRoot":"","sources":["../../src/task/random.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AAE/B;;;;;;;GAOG;AACH,eAAO,MAAM,SAAS,GAAI,KAAK,MAAM,EAAE,KAAK,MAAM,KAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CACP,CAAA"}
1
+ {"version":3,"file":"random.d.ts","sourceRoot":"","sources":["../../src/task/random.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AAE/B;;;;;;;GAOG;AACH,eAAO,MAAM,SAAS,GAAI,KAAK,MAAM,EAAE,KAAK,MAAM,KAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CACP,CAAA;AAElE;;;;;;;;GAQG;AACH,eAAO,MAAM,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,CAEtC,CAAA"}
@@ -8,3 +8,13 @@ import { Effect } from 'effect';
8
8
  * ```
9
9
  */
10
10
  export const randomInt = (min, max) => Effect.sync(() => Math.floor(Math.random() * (max - min)) + min);
11
+ /**
12
+ * Generates a RFC 4122 version 4 UUID via the platform's
13
+ * `crypto.randomUUID()`.
14
+ *
15
+ * @example
16
+ * ```typescript
17
+ * Task.uuid.pipe(Effect.map(id => CreatedCard({ id, title })))
18
+ * ```
19
+ */
20
+ export const uuid = Effect.sync(() => crypto.randomUUID());
@@ -0,0 +1,113 @@
1
+ import { Option, Schema as S } from 'effect';
2
+ import * as Command from '../../command';
3
+ import { type Attribute, type Html } from '../../html';
4
+ /** Schema for the file-drop component's state.
5
+ *
6
+ * `isDragOver` controls the `data-drag-over` attribute on the root while a
7
+ * drag is hovering. The html layer's `OnDragEnter`/`OnDragLeave` handlers
8
+ * track the per-element active state internally so transitions between
9
+ * children of the zone do not flicker the boolean off-and-on. */
10
+ export declare const Model: S.Struct<{
11
+ id: typeof S.String;
12
+ isDragOver: typeof S.Boolean;
13
+ }>;
14
+ export type Model = typeof Model.Type;
15
+ /** Sent when a drag enters the drop zone. Flips `isDragOver` to true so
16
+ * the consumer's styling can highlight the zone. */
17
+ export declare const EnteredDragZone: import("../../schema").CallableTaggedStruct<"EnteredDragZone", {}>;
18
+ /** Sent when a drag leaves the drop zone without dropping. Flips
19
+ * `isDragOver` back to false. */
20
+ export declare const LeftDragZone: import("../../schema").CallableTaggedStruct<"LeftDragZone", {}>;
21
+ /** Sent when the user drops files on the zone or selects them via the
22
+ * hidden `<input type="file">`. Carries a non-empty list of `File`
23
+ * objects, resets `isDragOver`, and emits `ReceivedFiles` as an
24
+ * OutMessage. */
25
+ export declare const DroppedFiles: import("../../schema").CallableTaggedStruct<"DroppedFiles", {
26
+ files: S.NonEmptyArray<S.Schema<File, File, never>>;
27
+ }>;
28
+ /** Sent when a drop or input-change event fires without any files \u2014
29
+ * typically a drag of non-file data (text, URLs, images from another
30
+ * page). Resets `isDragOver` and emits `DroppedWithoutFiles` as an
31
+ * OutMessage so the consumer can surface a message (e.g. "Only files are
32
+ * accepted"). */
33
+ export declare const DroppedWithoutFiles: import("../../schema").CallableTaggedStruct<"DroppedWithoutFiles", {}>;
34
+ /** Union of all messages the file-drop component can produce. */
35
+ export declare const Message: S.Union<[import("../../schema").CallableTaggedStruct<"EnteredDragZone", {}>, import("../../schema").CallableTaggedStruct<"LeftDragZone", {}>, import("../../schema").CallableTaggedStruct<"DroppedFiles", {
36
+ files: S.NonEmptyArray<S.Schema<File, File, never>>;
37
+ }>, import("../../schema").CallableTaggedStruct<"DroppedWithoutFiles", {}>]>;
38
+ export type Message = typeof Message.Type;
39
+ /** Emitted when files arrive via drop or input-change. The consumer's
40
+ * parent update handles this to process the files (validate, upload,
41
+ * store in Model, etc.). The files list is non-empty. */
42
+ export declare const ReceivedFiles: import("../../schema").CallableTaggedStruct<"ReceivedFiles", {
43
+ files: S.NonEmptyArray<S.Schema<File, File, never>>;
44
+ }>;
45
+ /** The file-drop component's OutMessages: `ReceivedFiles` on the happy
46
+ * path and `DroppedWithoutFiles` when a drop event fires without files.
47
+ * `DroppedWithoutFiles` is reused from the Message definitions \u2014 the
48
+ * fact is the same whether the component is handling it or reporting it
49
+ * up. */
50
+ export declare const OutMessage: S.Union<[import("../../schema").CallableTaggedStruct<"ReceivedFiles", {
51
+ files: S.NonEmptyArray<S.Schema<File, File, never>>;
52
+ }>, import("../../schema").CallableTaggedStruct<"DroppedWithoutFiles", {}>]>;
53
+ export type OutMessage = typeof OutMessage.Type;
54
+ /** Configuration for creating a file-drop model with `init`. */
55
+ export type InitConfig = Readonly<{
56
+ id: string;
57
+ }>;
58
+ /** Creates an initial file-drop model. Drag state starts cleared. */
59
+ export declare const init: (config: InitConfig) => Model;
60
+ type UpdateReturn = readonly [
61
+ Model,
62
+ ReadonlyArray<Command.Command<Message>>,
63
+ Option.Option<OutMessage>
64
+ ];
65
+ /** Processes a file-drop message and returns the next model, commands,
66
+ * and optional OutMessage. */
67
+ export declare const update: (model: Model, message: Message) => UpdateReturn;
68
+ /** Attribute groups the file-drop component provides to the consumer's
69
+ * `toView` callback. Spread each group onto the element that plays that
70
+ * role: `root` typically goes on a `<label>` so clicking it focuses the
71
+ * hidden input, `input` on the `<input type="file">`. */
72
+ export type FileDropAttributes<ParentMessage> = Readonly<{
73
+ /** Attributes for the outer drop zone element (typically a `<label>`):
74
+ * drag-and-drop handlers, `data-drag-over` while a drag hovers, and
75
+ * `data-disabled` when disabled. */
76
+ root: ReadonlyArray<Attribute<ParentMessage>>;
77
+ /** Attributes for a hidden `<input type="file">` nested inside the
78
+ * root: file-change handler, `type`, `id`, `multiple`, `accept`, and
79
+ * `sr-only` class. */
80
+ input: ReadonlyArray<Attribute<ParentMessage>>;
81
+ }>;
82
+ /** Configuration for rendering a file-drop with `view`.
83
+ *
84
+ * The `ParentMessage` type parameter is your parent's Message type, not
85
+ * FileDrop's. `toParentMessage` receives a FileDrop message and returns
86
+ * your parent message. */
87
+ export type ViewConfig<ParentMessage> = Readonly<{
88
+ model: Model;
89
+ toParentMessage: (message: Message) => ParentMessage;
90
+ toView: (attributes: FileDropAttributes<ParentMessage>) => Html;
91
+ /** List of accepted MIME types or file extensions (e.g.
92
+ * `['application/pdf', '.doc']`). Joined with commas and forwarded to
93
+ * the hidden input's `accept` attribute. Omit or pass an empty array
94
+ * to accept any file type. */
95
+ accept?: ReadonlyArray<string>;
96
+ /** When true, the hidden input accepts multiple files per selection. */
97
+ multiple?: boolean;
98
+ /** When true, drag handlers are stripped from the root and the input
99
+ * is disabled. Styling can react via `data-disabled` on the root. */
100
+ isDisabled?: boolean;
101
+ }>;
102
+ /** Renders an accessible file-drop zone by building attribute groups for
103
+ * a `<label>`-wrapped hidden file input. The consumer's `toView` callback
104
+ * composes those groups into concrete markup. The component owns the
105
+ * drag-state and file-arrival messaging; the consumer owns the visual
106
+ * rendering. */
107
+ export declare const view: <ParentMessage>(config: ViewConfig<ParentMessage>) => Html;
108
+ /** Creates a memoized file-drop view. Static config is captured in a
109
+ * closure; only `model` and `toParentMessage` are compared per render via
110
+ * `createLazy`. */
111
+ export declare const lazy: <ParentMessage>(staticConfig: Omit<ViewConfig<ParentMessage>, "model" | "toParentMessage">) => ((model: Model, toParentMessage: ViewConfig<ParentMessage>["toParentMessage"]) => Html);
112
+ export {};
113
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/ui/fileDrop/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAqB,MAAM,EAAE,MAAM,IAAI,CAAC,EAAE,MAAM,QAAQ,CAAA;AAE/D,OAAO,KAAK,OAAO,MAAM,eAAe,CAAA;AAExC,OAAO,EAAE,KAAK,SAAS,EAAE,KAAK,IAAI,EAAoB,MAAM,YAAY,CAAA;AAMxE;;;;;iEAKiE;AACjE,eAAO,MAAM,KAAK;;;EAGhB,CAAA;AACF,MAAM,MAAM,KAAK,GAAG,OAAO,KAAK,CAAC,IAAI,CAAA;AAIrC;oDACoD;AACpD,eAAO,MAAM,eAAe,oEAAuB,CAAA;AACnD;iCACiC;AACjC,eAAO,MAAM,YAAY,iEAAoB,CAAA;AAC7C;;;iBAGiB;AACjB,eAAO,MAAM,YAAY;;EAEvB,CAAA;AACF;;;;iBAIiB;AACjB,eAAO,MAAM,mBAAmB,wEAA2B,CAAA;AAE3D,iEAAiE;AACjE,eAAO,MAAM,OAAO;;4EAKnB,CAAA;AACD,MAAM,MAAM,OAAO,GAAG,OAAO,OAAO,CAAC,IAAI,CAAA;AAIzC;;yDAEyD;AACzD,eAAO,MAAM,aAAa;;EAExB,CAAA;AAEF;;;;SAIS;AACT,eAAO,MAAM,UAAU;;4EAA8C,CAAA;AACrE,MAAM,MAAM,UAAU,GAAG,OAAO,UAAU,CAAC,IAAI,CAAA;AAI/C,gEAAgE;AAChE,MAAM,MAAM,UAAU,GAAG,QAAQ,CAAC;IAChC,EAAE,EAAE,MAAM,CAAA;CACX,CAAC,CAAA;AAEF,qEAAqE;AACrE,eAAO,MAAM,IAAI,GAAI,QAAQ,UAAU,KAAG,KAGxC,CAAA;AAIF,KAAK,YAAY,GAAG,SAAS;IAC3B,KAAK;IACL,aAAa,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IACvC,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC;CAC1B,CAAA;AAED;8BAC8B;AAC9B,eAAO,MAAM,MAAM,GAAI,OAAO,KAAK,EAAE,SAAS,OAAO,KAAG,YAyBrD,CAAA;AAIH;;;yDAGyD;AACzD,MAAM,MAAM,kBAAkB,CAAC,aAAa,IAAI,QAAQ,CAAC;IACvD;;wCAEoC;IACpC,IAAI,EAAE,aAAa,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC,CAAA;IAC7C;;0BAEsB;IACtB,KAAK,EAAE,aAAa,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC,CAAA;CAC/C,CAAC,CAAA;AAEF;;;;0BAI0B;AAC1B,MAAM,MAAM,UAAU,CAAC,aAAa,IAAI,QAAQ,CAAC;IAC/C,KAAK,EAAE,KAAK,CAAA;IACZ,eAAe,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,aAAa,CAAA;IACpD,MAAM,EAAE,CAAC,UAAU,EAAE,kBAAkB,CAAC,aAAa,CAAC,KAAK,IAAI,CAAA;IAC/D;;;kCAG8B;IAC9B,MAAM,CAAC,EAAE,aAAa,CAAC,MAAM,CAAC,CAAA;IAC9B,wEAAwE;IACxE,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB;yEACqE;IACrE,UAAU,CAAC,EAAE,OAAO,CAAA;CACrB,CAAC,CAAA;AAEF;;;;gBAIgB;AAChB,eAAO,MAAM,IAAI,GAAI,aAAa,EAChC,QAAQ,UAAU,CAAC,aAAa,CAAC,KAChC,IA0EF,CAAA;AAED;;mBAEmB;AACnB,eAAO,MAAM,IAAI,GAAI,aAAa,EAChC,cAAc,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,EAAE,OAAO,GAAG,iBAAiB,CAAC,KACzE,CAAC,CACF,KAAK,EAAE,KAAK,EACZ,eAAe,EAAE,UAAU,CAAC,aAAa,CAAC,CAAC,iBAAiB,CAAC,KAC1D,IAAI,CAgBR,CAAA"}
@@ -0,0 +1,137 @@
1
+ import { Array, Match as M, Option, Schema as S } from 'effect';
2
+ import * as File from '../../file';
3
+ import { createLazy, html } from '../../html';
4
+ import { m } from '../../message';
5
+ import { evo } from '../../struct';
6
+ // MODEL
7
+ /** Schema for the file-drop component's state.
8
+ *
9
+ * `isDragOver` controls the `data-drag-over` attribute on the root while a
10
+ * drag is hovering. The html layer's `OnDragEnter`/`OnDragLeave` handlers
11
+ * track the per-element active state internally so transitions between
12
+ * children of the zone do not flicker the boolean off-and-on. */
13
+ export const Model = S.Struct({
14
+ id: S.String,
15
+ isDragOver: S.Boolean,
16
+ });
17
+ // MESSAGE
18
+ /** Sent when a drag enters the drop zone. Flips `isDragOver` to true so
19
+ * the consumer's styling can highlight the zone. */
20
+ export const EnteredDragZone = m('EnteredDragZone');
21
+ /** Sent when a drag leaves the drop zone without dropping. Flips
22
+ * `isDragOver` back to false. */
23
+ export const LeftDragZone = m('LeftDragZone');
24
+ /** Sent when the user drops files on the zone or selects them via the
25
+ * hidden `<input type="file">`. Carries a non-empty list of `File`
26
+ * objects, resets `isDragOver`, and emits `ReceivedFiles` as an
27
+ * OutMessage. */
28
+ export const DroppedFiles = m('DroppedFiles', {
29
+ files: S.NonEmptyArray(File.File),
30
+ });
31
+ /** Sent when a drop or input-change event fires without any files \u2014
32
+ * typically a drag of non-file data (text, URLs, images from another
33
+ * page). Resets `isDragOver` and emits `DroppedWithoutFiles` as an
34
+ * OutMessage so the consumer can surface a message (e.g. "Only files are
35
+ * accepted"). */
36
+ export const DroppedWithoutFiles = m('DroppedWithoutFiles');
37
+ /** Union of all messages the file-drop component can produce. */
38
+ export const Message = S.Union(EnteredDragZone, LeftDragZone, DroppedFiles, DroppedWithoutFiles);
39
+ // OUT MESSAGE
40
+ /** Emitted when files arrive via drop or input-change. The consumer's
41
+ * parent update handles this to process the files (validate, upload,
42
+ * store in Model, etc.). The files list is non-empty. */
43
+ export const ReceivedFiles = m('ReceivedFiles', {
44
+ files: S.NonEmptyArray(File.File),
45
+ });
46
+ /** The file-drop component's OutMessages: `ReceivedFiles` on the happy
47
+ * path and `DroppedWithoutFiles` when a drop event fires without files.
48
+ * `DroppedWithoutFiles` is reused from the Message definitions \u2014 the
49
+ * fact is the same whether the component is handling it or reporting it
50
+ * up. */
51
+ export const OutMessage = S.Union(ReceivedFiles, DroppedWithoutFiles);
52
+ /** Creates an initial file-drop model. Drag state starts cleared. */
53
+ export const init = (config) => ({
54
+ id: config.id,
55
+ isDragOver: false,
56
+ });
57
+ /** Processes a file-drop message and returns the next model, commands,
58
+ * and optional OutMessage. */
59
+ export const update = (model, message) => M.value(message).pipe(M.withReturnType(), M.tagsExhaustive({
60
+ EnteredDragZone: () => [
61
+ evo(model, { isDragOver: () => true }),
62
+ [],
63
+ Option.none(),
64
+ ],
65
+ LeftDragZone: () => [
66
+ evo(model, { isDragOver: () => false }),
67
+ [],
68
+ Option.none(),
69
+ ],
70
+ DroppedFiles: ({ files }) => [
71
+ evo(model, { isDragOver: () => false }),
72
+ [],
73
+ Option.some(ReceivedFiles({ files })),
74
+ ],
75
+ DroppedWithoutFiles: () => [
76
+ evo(model, { isDragOver: () => false }),
77
+ [],
78
+ Option.some(DroppedWithoutFiles()),
79
+ ],
80
+ }));
81
+ /** Renders an accessible file-drop zone by building attribute groups for
82
+ * a `<label>`-wrapped hidden file input. The consumer's `toView` callback
83
+ * composes those groups into concrete markup. The component owns the
84
+ * drag-state and file-arrival messaging; the consumer owns the visual
85
+ * rendering. */
86
+ export const view = (config) => {
87
+ const { Accept, AllowDrop, Class, DataAttribute, Disabled, Id, Multiple, OnDragEnter, OnDragLeave, OnDropFiles, OnFileChange, Type, } = html();
88
+ const { model: { id, isDragOver }, toParentMessage, accept, multiple = false, isDisabled = false, } = config;
89
+ const stateAttributes = [
90
+ ...(isDragOver ? [DataAttribute('drag-over', '')] : []),
91
+ ...(isDisabled ? [DataAttribute('disabled', '')] : []),
92
+ ];
93
+ const rootAttributes = isDisabled
94
+ ? stateAttributes
95
+ : [
96
+ ...stateAttributes,
97
+ OnDragEnter(toParentMessage(EnteredDragZone())),
98
+ OnDragLeave(toParentMessage(LeftDragZone())),
99
+ AllowDrop(),
100
+ OnDropFiles(files => toParentMessage(Array.match(files, {
101
+ onEmpty: () => DroppedWithoutFiles(),
102
+ onNonEmpty: nonEmptyFiles => DroppedFiles({ files: [...nonEmptyFiles] }),
103
+ }))),
104
+ ];
105
+ const inputAttributes = [
106
+ Id(id),
107
+ Type('file'),
108
+ Class('sr-only'),
109
+ ...(multiple ? [Multiple(true)] : []),
110
+ ...(accept !== undefined && accept.length > 0
111
+ ? [Accept(accept.join(','))]
112
+ : []),
113
+ ...(isDisabled
114
+ ? [Disabled(true)]
115
+ : [
116
+ OnFileChange(files => toParentMessage(Array.match(files, {
117
+ onEmpty: () => DroppedWithoutFiles(),
118
+ onNonEmpty: nonEmptyFiles => DroppedFiles({ files: [...nonEmptyFiles] }),
119
+ }))),
120
+ ]),
121
+ ];
122
+ return config.toView({
123
+ root: rootAttributes,
124
+ input: inputAttributes,
125
+ });
126
+ };
127
+ /** Creates a memoized file-drop view. Static config is captured in a
128
+ * closure; only `model` and `toParentMessage` are compared per render via
129
+ * `createLazy`. */
130
+ export const lazy = (staticConfig) => {
131
+ const lazyView = createLazy();
132
+ return (model, toParentMessage) => lazyView((currentModel, currentToMessage) => view({
133
+ ...staticConfig,
134
+ model: currentModel,
135
+ toParentMessage: currentToMessage,
136
+ }), [model, toParentMessage]);
137
+ };
@@ -0,0 +1,3 @@
1
+ export { init, update, view, lazy, Model, Message, OutMessage, ReceivedFiles, EnteredDragZone, LeftDragZone, DroppedFiles, DroppedWithoutFiles, } from './index';
2
+ export type { InitConfig, ViewConfig, FileDropAttributes } from './index';
3
+ //# sourceMappingURL=public.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"public.d.ts","sourceRoot":"","sources":["../../../src/ui/fileDrop/public.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,IAAI,EACJ,MAAM,EACN,IAAI,EACJ,IAAI,EACJ,KAAK,EACL,OAAO,EACP,UAAU,EACV,aAAa,EACb,eAAe,EACf,YAAY,EACZ,YAAY,EACZ,mBAAmB,GACpB,MAAM,SAAS,CAAA;AAEhB,YAAY,EAAE,UAAU,EAAE,UAAU,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAA"}
@@ -0,0 +1 @@
1
+ export { init, update, view, lazy, Model, Message, OutMessage, ReceivedFiles, EnteredDragZone, LeftDragZone, DroppedFiles, DroppedWithoutFiles, } from './index';
@@ -7,6 +7,7 @@ export * as Dialog from './dialog/public';
7
7
  export * as DragAndDrop from './dragAndDrop/public';
8
8
  export * as Disclosure from './disclosure/public';
9
9
  export * as Fieldset from './fieldset/public';
10
+ export * as FileDrop from './fileDrop/public';
10
11
  export * as Input from './input/public';
11
12
  export * as Listbox from './listbox/public';
12
13
  export * as Menu from './menu/public';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/ui/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,iBAAiB,CAAA;AACzC,OAAO,KAAK,QAAQ,MAAM,mBAAmB,CAAA;AAC7C,OAAO,KAAK,UAAU,MAAM,qBAAqB,CAAA;AACjD,OAAO,KAAK,QAAQ,MAAM,mBAAmB,CAAA;AAC7C,OAAO,KAAK,QAAQ,MAAM,mBAAmB,CAAA;AAC7C,OAAO,KAAK,MAAM,MAAM,iBAAiB,CAAA;AACzC,OAAO,KAAK,WAAW,MAAM,sBAAsB,CAAA;AACnD,OAAO,KAAK,UAAU,MAAM,qBAAqB,CAAA;AACjD,OAAO,KAAK,QAAQ,MAAM,mBAAmB,CAAA;AAC7C,OAAO,KAAK,KAAK,MAAM,gBAAgB,CAAA;AACvC,OAAO,KAAK,OAAO,MAAM,kBAAkB,CAAA;AAC3C,OAAO,KAAK,IAAI,MAAM,eAAe,CAAA;AACrC,OAAO,KAAK,OAAO,MAAM,kBAAkB,CAAA;AAC3C,OAAO,KAAK,UAAU,MAAM,qBAAqB,CAAA;AACjD,OAAO,KAAK,MAAM,MAAM,iBAAiB,CAAA;AACzC,OAAO,KAAK,MAAM,MAAM,iBAAiB,CAAA;AACzC,OAAO,KAAK,QAAQ,MAAM,mBAAmB,CAAA;AAC7C,OAAO,KAAK,IAAI,MAAM,eAAe,CAAA;AACrC,OAAO,KAAK,UAAU,MAAM,qBAAqB,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/ui/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,iBAAiB,CAAA;AACzC,OAAO,KAAK,QAAQ,MAAM,mBAAmB,CAAA;AAC7C,OAAO,KAAK,UAAU,MAAM,qBAAqB,CAAA;AACjD,OAAO,KAAK,QAAQ,MAAM,mBAAmB,CAAA;AAC7C,OAAO,KAAK,QAAQ,MAAM,mBAAmB,CAAA;AAC7C,OAAO,KAAK,MAAM,MAAM,iBAAiB,CAAA;AACzC,OAAO,KAAK,WAAW,MAAM,sBAAsB,CAAA;AACnD,OAAO,KAAK,UAAU,MAAM,qBAAqB,CAAA;AACjD,OAAO,KAAK,QAAQ,MAAM,mBAAmB,CAAA;AAC7C,OAAO,KAAK,QAAQ,MAAM,mBAAmB,CAAA;AAC7C,OAAO,KAAK,KAAK,MAAM,gBAAgB,CAAA;AACvC,OAAO,KAAK,OAAO,MAAM,kBAAkB,CAAA;AAC3C,OAAO,KAAK,IAAI,MAAM,eAAe,CAAA;AACrC,OAAO,KAAK,OAAO,MAAM,kBAAkB,CAAA;AAC3C,OAAO,KAAK,UAAU,MAAM,qBAAqB,CAAA;AACjD,OAAO,KAAK,MAAM,MAAM,iBAAiB,CAAA;AACzC,OAAO,KAAK,MAAM,MAAM,iBAAiB,CAAA;AACzC,OAAO,KAAK,QAAQ,MAAM,mBAAmB,CAAA;AAC7C,OAAO,KAAK,IAAI,MAAM,eAAe,CAAA;AACrC,OAAO,KAAK,UAAU,MAAM,qBAAqB,CAAA"}
package/dist/ui/index.js CHANGED
@@ -7,6 +7,7 @@ export * as Dialog from './dialog/public';
7
7
  export * as DragAndDrop from './dragAndDrop/public';
8
8
  export * as Disclosure from './disclosure/public';
9
9
  export * as Fieldset from './fieldset/public';
10
+ export * as FileDrop from './fileDrop/public';
10
11
  export * as Input from './input/public';
11
12
  export * as Listbox from './listbox/public';
12
13
  export * as Menu from './menu/public';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "foldkit",
3
- "version": "0.63.0",
3
+ "version": "0.65.0",
4
4
  "description": "A frontend framework for TypeScript, built on Effect, using The Elm Architecture",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",