foldkit 0.64.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.
- package/dist/fieldValidation/index.d.ts +4 -0
- package/dist/fieldValidation/index.d.ts.map +1 -1
- package/dist/fieldValidation/index.js +7 -0
- package/dist/fieldValidation/public.d.ts +1 -1
- package/dist/fieldValidation/public.d.ts.map +1 -1
- package/dist/fieldValidation/public.js +1 -1
- package/dist/runtime/runtime.d.ts.map +1 -1
- package/dist/runtime/runtime.js +28 -6
- package/dist/task/index.d.ts +1 -1
- package/dist/task/index.d.ts.map +1 -1
- package/dist/task/index.js +1 -1
- package/dist/task/public.d.ts +1 -1
- package/dist/task/public.d.ts.map +1 -1
- package/dist/task/public.js +1 -1
- package/dist/task/random.d.ts +10 -0
- package/dist/task/random.d.ts.map +1 -1
- package/dist/task/random.js +10 -0
- package/dist/ui/fileDrop/index.d.ts +22 -11
- package/dist/ui/fileDrop/index.d.ts.map +1 -1
- package/dist/ui/fileDrop/index.js +35 -11
- package/dist/ui/fileDrop/public.d.ts +1 -1
- package/dist/ui/fileDrop/public.d.ts.map +1 -1
- package/dist/ui/fileDrop/public.js +1 -1
- package/package.json +1 -1
|
@@ -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":"AAAA,OAAO,EAIL,SAAS,EACT,MAAM,IAAI,CAAC,EAIZ,MAAM,QAAQ,CAAA;AAEf,OAAO,EAAE,oBAAoB,EAAM,MAAM,WAAW,CAAA;AAEpD,mEAAmE;AACnE,MAAM,MAAM,KAAK,CAAC,CAAC,EAAE,CAAC,IAAI,QAAQ,CAAC;IACjC,YAAY,EAAE,oBAAoB,CAAC,cAAc,EAAE;QAAE,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;KAAE,CAAC,CAAA;IAC7E,UAAU,EAAE,oBAAoB,CAAC,YAAY,EAAE;QAAE,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;KAAE,CAAC,CAAA;IACzE,KAAK,EAAE,oBAAoB,CAAC,OAAO,EAAE;QAAE,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;KAAE,CAAC,CAAA;IAC/D,OAAO,EAAE,oBAAoB,CAC3B,SAAS,EACT;QAAE,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QAAC,MAAM,EAAE,CAAC,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,CAAA;KAAE,CACpE,CAAA;IACD,KAAK,EAAE,CAAC,CAAC,KAAK,CACZ;QACE,oBAAoB,CAAC,cAAc,EAAE;YAAE,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;SAAE,CAAC;QAC/D,oBAAoB,CAAC,YAAY,EAAE;YAAE,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;SAAE,CAAC;QAC7D,oBAAoB,CAAC,OAAO,EAAE;YAAE,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;SAAE,CAAC;QACxD,oBAAoB,CAClB,SAAS,EACT;YAAE,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;YAAC,MAAM,EAAE,CAAC,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,CAAA;SAAE,CACpE;KACF,CACF,CAAA;IACD,QAAQ,EAAE,CAAC,gBAAgB,EAAE,aAAa,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,KAAK,CAC5D,UAAU,EAAE,CAAC,KAEX,QAAQ,CAAC;QAAE,IAAI,EAAE,OAAO,CAAC;QAAC,KAAK,EAAE,CAAC,CAAA;KAAE,CAAC,GACrC,QAAQ,CAAC;QACP,IAAI,EAAE,SAAS,CAAA;QACf,KAAK,EAAE,CAAC,CAAA;QACR,MAAM,EAAE,SAAS,CAAC,MAAM,EAAE,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAA;KAC5C,CAAC,CAAA;IACN,WAAW,EAAE,CAAC,gBAAgB,EAAE,aAAa,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,KAAK,CAC/D,UAAU,EAAE,CAAC,KAEX,QAAQ,CAAC;QAAE,IAAI,EAAE,OAAO,CAAC;QAAC,KAAK,EAAE,CAAC,CAAA;KAAE,CAAC,GACrC,QAAQ,CAAC;QACP,IAAI,EAAE,SAAS,CAAA;QACf,KAAK,EAAE,CAAC,CAAA;QACR,MAAM,EAAE,SAAS,CAAC,MAAM,EAAE,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAA;KAC5C,CAAC,CAAA;CACP,CAAC,CAAA;AAEF,0HAA0H;AAC1H,eAAO,MAAM,SAAS,GAAI,CAAC,EAAE,CAAC,EAAE,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,KAAG,KAAK,CAAC,CAAC,EAAE,CAAC,CA6CjE,CAAA;AAED,qHAAqH;AACrH,MAAM,MAAM,iBAAiB,CAAC,CAAC,IAAI,MAAM,GAAG,CAAC,CAAC,KAAK,EAAE,CAAC,KAAK,MAAM,CAAC,CAAA;AAElE,0EAA0E;AAC1E,MAAM,MAAM,UAAU,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAA;AAE1E,eAAO,MAAM,cAAc,GAAI,CAAC,EAC9B,SAAS,iBAAiB,CAAC,CAAC,CAAC,EAC7B,OAAO,CAAC,KACP,MAAkE,CAAA;AAIrE,mEAAmE;AACnE,eAAO,MAAM,QAAQ,GACnB,UAAS,iBAAiB,CAAC,MAAM,CAAc,KAC9C,UAAU,CAAC,MAAM,CAAiC,CAAA;AAErD,6EAA6E;AAC7E,eAAO,MAAM,SAAS,GACpB,KAAK,MAAM,EACX,UAAU,iBAAiB,CAAC,MAAM,CAAC,KAClC,UAAU,CAAC,MAAM,CAGnB,CAAA;AAED,uFAAuF;AACvF,eAAO,MAAM,SAAS,GACpB,KAAK,MAAM,EACX,UAAU,iBAAiB,CAAC,MAAM,CAAC,KAClC,UAAU,CAAC,MAAM,CAGnB,CAAA;AAED,mFAAmF;AACnF,eAAO,MAAM,OAAO,GAClB,OAAO,MAAM,EACb,UAAS,iBAAiB,CAAC,MAAM,CAAoB,KACpD,UAAU,CAAC,MAAM,CAAwD,CAAA;AAI5E,8EAA8E;AAC9E,eAAO,MAAM,KAAK,GAChB,UAAS,iBAAiB,CAAC,MAAM,CAA2B,KAC3D,UAAU,CAAC,MAAM,CAAkC,CAAA;AAItD,4EAA4E;AAC5E,eAAO,MAAM,GAAG,GACd,UAAS,iBAAiB,CAAC,MAAM,CAAiB,KACjD,UAAU,CAAC,MAAM,CAAgC,CAAA;AAEpD,qFAAqF;AACrF,eAAO,MAAM,UAAU,GACrB,QAAQ,MAAM,EACd,UAAU,iBAAiB,CAAC,MAAM,CAAC,KAClC,UAAU,CAAC,MAAM,CAGnB,CAAA;AAED,mFAAmF;AACnF,eAAO,MAAM,QAAQ,GACnB,QAAQ,MAAM,EACd,UAAU,iBAAiB,CAAC,MAAM,CAAC,KAClC,UAAU,CAAC,MAAM,CAGnB,CAAA;AAED,qFAAqF;AACrF,eAAO,MAAM,QAAQ,GACnB,WAAW,MAAM,EACjB,UAAU,iBAAiB,CAAC,MAAM,CAAC,KAClC,UAAU,CAAC,MAAM,CAGnB,CAAA;AAED,wFAAwF;AACxF,eAAO,MAAM,MAAM,GACjB,UAAU,MAAM,EAChB,UAAU,iBAAiB,CAAC,MAAM,CAAC,KAClC,UAAU,CAAC,MAAM,CAGnB,CAAA;AAID,kGAAkG;AAClG,eAAO,MAAM,GAAG,GACd,KAAK,MAAM,EACX,UAAU,iBAAiB,CAAC,MAAM,CAAC,KAClC,UAAU,CAAC,MAAM,CAGnB,CAAA;AAED,+FAA+F;AAC/F,eAAO,MAAM,GAAG,GACd,KAAK,MAAM,EACX,UAAU,iBAAiB,CAAC,MAAM,CAAC,KAClC,UAAU,CAAC,MAAM,CAGnB,CAAA;AAED,+FAA+F;AAC/F,eAAO,MAAM,OAAO,GAClB,KAAK,MAAM,EACX,KAAK,MAAM,EACX,UAAU,iBAAiB,CAAC,MAAM,CAAC,KAClC,UAAU,CAAC,MAAM,CAMnB,CAAA;AAED,2EAA2E;AAC3E,eAAO,MAAM,QAAQ,GACnB,UAAS,iBAAiB,CAAC,MAAM,CAAsB,KACtD,UAAU,CAAC,MAAM,CAAsC,CAAA;AAE1D,yEAAyE;AACzE,eAAO,MAAM,WAAW,GACtB,UAAS,iBAAiB,CAAC,MAAM,CAA0B,KAC1D,UAAU,CAAC,MAAM,CAA+C,CAAA;AAEnE,kFAAkF;AAClF,eAAO,MAAM,OAAO,GAClB,UAAS,iBAAiB,CAAC,MAAM,CAA4B,KAC5D,UAAU,CAAC,MAAM,CAAgD,CAAA;AAIpE,kGAAkG;AAClG,eAAO,MAAM,KAAK,GAChB,QAAQ,aAAa,CAAC,MAAM,CAAC,EAC7B,UAAU,iBAAiB,CAAC,MAAM,CAAC,KAClC,UAAU,CAAC,MAAM,CAMnB,CAAA"}
|
|
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';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../../src/runtime/runtime.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../../src/runtime/runtime.ts"],"names":[],"mappings":"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"}
|
package/dist/runtime/runtime.js
CHANGED
|
@@ -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)
|
|
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
|
|
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)
|
|
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)
|
|
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)
|
|
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);
|
package/dist/task/index.d.ts
CHANGED
|
@@ -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
|
package/dist/task/index.d.ts.map
CHANGED
|
@@ -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;
|
|
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"}
|
package/dist/task/index.js
CHANGED
|
@@ -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';
|
package/dist/task/public.d.ts
CHANGED
|
@@ -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"}
|
package/dist/task/public.js
CHANGED
|
@@ -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';
|
package/dist/task/random.d.ts
CHANGED
|
@@ -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"}
|
package/dist/task/random.js
CHANGED
|
@@ -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());
|
|
@@ -19,26 +19,37 @@ export declare const EnteredDragZone: import("../../schema").CallableTaggedStruc
|
|
|
19
19
|
* `isDragOver` back to false. */
|
|
20
20
|
export declare const LeftDragZone: import("../../schema").CallableTaggedStruct<"LeftDragZone", {}>;
|
|
21
21
|
/** Sent when the user drops files on the zone or selects them via the
|
|
22
|
-
* hidden `<input type="file">`. Carries
|
|
23
|
-
* `isDragOver`, and emits `ReceivedFiles` as an
|
|
22
|
+
* hidden `<input type="file">`. Carries a non-empty list of `File`
|
|
23
|
+
* objects, resets `isDragOver`, and emits `ReceivedFiles` as an
|
|
24
|
+
* OutMessage. */
|
|
24
25
|
export declare const DroppedFiles: import("../../schema").CallableTaggedStruct<"DroppedFiles", {
|
|
25
|
-
files: S.
|
|
26
|
+
files: S.NonEmptyArray<S.Schema<File, File, never>>;
|
|
26
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", {}>;
|
|
27
34
|
/** Union of all messages the file-drop component can produce. */
|
|
28
35
|
export declare const Message: S.Union<[import("../../schema").CallableTaggedStruct<"EnteredDragZone", {}>, import("../../schema").CallableTaggedStruct<"LeftDragZone", {}>, import("../../schema").CallableTaggedStruct<"DroppedFiles", {
|
|
29
|
-
files: S.
|
|
30
|
-
}>]>;
|
|
36
|
+
files: S.NonEmptyArray<S.Schema<File, File, never>>;
|
|
37
|
+
}>, import("../../schema").CallableTaggedStruct<"DroppedWithoutFiles", {}>]>;
|
|
31
38
|
export type Message = typeof Message.Type;
|
|
32
39
|
/** Emitted when files arrive via drop or input-change. The consumer's
|
|
33
40
|
* parent update handles this to process the files (validate, upload,
|
|
34
|
-
* store in Model, etc.). */
|
|
41
|
+
* store in Model, etc.). The files list is non-empty. */
|
|
35
42
|
export declare const ReceivedFiles: import("../../schema").CallableTaggedStruct<"ReceivedFiles", {
|
|
36
|
-
files: S.
|
|
37
|
-
}>;
|
|
38
|
-
/** The file-drop component's OutMessage, narrowed to `ReceivedFiles`. */
|
|
39
|
-
export declare const OutMessage: import("../../schema").CallableTaggedStruct<"ReceivedFiles", {
|
|
40
|
-
files: S.Array$<S.Schema<File, File, never>>;
|
|
43
|
+
files: S.NonEmptyArray<S.Schema<File, File, never>>;
|
|
41
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", {}>]>;
|
|
42
53
|
export type OutMessage = typeof OutMessage.Type;
|
|
43
54
|
/** Configuration for creating a file-drop model with `init`. */
|
|
44
55
|
export type InitConfig = Readonly<{
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/ui/fileDrop/index.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Match as M, Option, Schema as S } from 'effect';
|
|
1
|
+
import { Array, Match as M, Option, Schema as S } from 'effect';
|
|
2
2
|
import * as File from '../../file';
|
|
3
3
|
import { createLazy, html } from '../../html';
|
|
4
4
|
import { m } from '../../message';
|
|
@@ -22,22 +22,33 @@ export const EnteredDragZone = m('EnteredDragZone');
|
|
|
22
22
|
* `isDragOver` back to false. */
|
|
23
23
|
export const LeftDragZone = m('LeftDragZone');
|
|
24
24
|
/** Sent when the user drops files on the zone or selects them via the
|
|
25
|
-
* hidden `<input type="file">`. Carries
|
|
26
|
-
* `isDragOver`, and emits `ReceivedFiles` as an
|
|
25
|
+
* hidden `<input type="file">`. Carries a non-empty list of `File`
|
|
26
|
+
* objects, resets `isDragOver`, and emits `ReceivedFiles` as an
|
|
27
|
+
* OutMessage. */
|
|
27
28
|
export const DroppedFiles = m('DroppedFiles', {
|
|
28
|
-
files: S.
|
|
29
|
+
files: S.NonEmptyArray(File.File),
|
|
29
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');
|
|
30
37
|
/** Union of all messages the file-drop component can produce. */
|
|
31
|
-
export const Message = S.Union(EnteredDragZone, LeftDragZone, DroppedFiles);
|
|
38
|
+
export const Message = S.Union(EnteredDragZone, LeftDragZone, DroppedFiles, DroppedWithoutFiles);
|
|
32
39
|
// OUT MESSAGE
|
|
33
40
|
/** Emitted when files arrive via drop or input-change. The consumer's
|
|
34
41
|
* parent update handles this to process the files (validate, upload,
|
|
35
|
-
* store in Model, etc.). */
|
|
42
|
+
* store in Model, etc.). The files list is non-empty. */
|
|
36
43
|
export const ReceivedFiles = m('ReceivedFiles', {
|
|
37
|
-
files: S.
|
|
44
|
+
files: S.NonEmptyArray(File.File),
|
|
38
45
|
});
|
|
39
|
-
/** The file-drop component's
|
|
40
|
-
|
|
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);
|
|
41
52
|
/** Creates an initial file-drop model. Drag state starts cleared. */
|
|
42
53
|
export const init = (config) => ({
|
|
43
54
|
id: config.id,
|
|
@@ -61,6 +72,11 @@ export const update = (model, message) => M.value(message).pipe(M.withReturnType
|
|
|
61
72
|
[],
|
|
62
73
|
Option.some(ReceivedFiles({ files })),
|
|
63
74
|
],
|
|
75
|
+
DroppedWithoutFiles: () => [
|
|
76
|
+
evo(model, { isDragOver: () => false }),
|
|
77
|
+
[],
|
|
78
|
+
Option.some(DroppedWithoutFiles()),
|
|
79
|
+
],
|
|
64
80
|
}));
|
|
65
81
|
/** Renders an accessible file-drop zone by building attribute groups for
|
|
66
82
|
* a `<label>`-wrapped hidden file input. The consumer's `toView` callback
|
|
@@ -81,7 +97,10 @@ export const view = (config) => {
|
|
|
81
97
|
OnDragEnter(toParentMessage(EnteredDragZone())),
|
|
82
98
|
OnDragLeave(toParentMessage(LeftDragZone())),
|
|
83
99
|
AllowDrop(),
|
|
84
|
-
OnDropFiles(files => toParentMessage(
|
|
100
|
+
OnDropFiles(files => toParentMessage(Array.match(files, {
|
|
101
|
+
onEmpty: () => DroppedWithoutFiles(),
|
|
102
|
+
onNonEmpty: nonEmptyFiles => DroppedFiles({ files: [...nonEmptyFiles] }),
|
|
103
|
+
}))),
|
|
85
104
|
];
|
|
86
105
|
const inputAttributes = [
|
|
87
106
|
Id(id),
|
|
@@ -93,7 +112,12 @@ export const view = (config) => {
|
|
|
93
112
|
: []),
|
|
94
113
|
...(isDisabled
|
|
95
114
|
? [Disabled(true)]
|
|
96
|
-
: [
|
|
115
|
+
: [
|
|
116
|
+
OnFileChange(files => toParentMessage(Array.match(files, {
|
|
117
|
+
onEmpty: () => DroppedWithoutFiles(),
|
|
118
|
+
onNonEmpty: nonEmptyFiles => DroppedFiles({ files: [...nonEmptyFiles] }),
|
|
119
|
+
}))),
|
|
120
|
+
]),
|
|
97
121
|
];
|
|
98
122
|
return config.toView({
|
|
99
123
|
root: rootAttributes,
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
export { init, update, view, lazy, Model, Message, OutMessage, ReceivedFiles, EnteredDragZone, LeftDragZone, DroppedFiles, } from './index';
|
|
1
|
+
export { init, update, view, lazy, Model, Message, OutMessage, ReceivedFiles, EnteredDragZone, LeftDragZone, DroppedFiles, DroppedWithoutFiles, } from './index';
|
|
2
2
|
export type { InitConfig, ViewConfig, FileDropAttributes } from './index';
|
|
3
3
|
//# sourceMappingURL=public.d.ts.map
|
|
@@ -1 +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,
|
|
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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export { init, update, view, lazy, Model, Message, OutMessage, ReceivedFiles, EnteredDragZone, LeftDragZone, DroppedFiles, } from './index';
|
|
1
|
+
export { init, update, view, lazy, Model, Message, OutMessage, ReceivedFiles, EnteredDragZone, LeftDragZone, DroppedFiles, DroppedWithoutFiles, } from './index';
|