foldkit 0.85.0 → 0.87.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/devTools/overlay.d.ts.map +1 -1
- package/dist/devTools/overlay.js +1 -1
- package/dist/{task → dom}/dom.d.ts +10 -10
- package/dist/dom/dom.d.ts.map +1 -0
- package/dist/{task → dom}/dom.js +15 -22
- package/dist/{task → dom}/elementMovement.d.ts +1 -1
- package/dist/dom/elementMovement.d.ts.map +1 -0
- package/dist/{task → dom}/elementMovement.js +5 -6
- package/dist/{task → dom}/error.d.ts +0 -8
- package/dist/dom/error.d.ts.map +1 -0
- package/dist/{task → dom}/error.js +0 -3
- package/dist/dom/index.d.ts +8 -0
- package/dist/dom/index.d.ts.map +1 -0
- package/dist/dom/index.js +6 -0
- package/dist/{task → dom}/inert.d.ts +4 -3
- package/dist/dom/inert.d.ts.map +1 -0
- package/dist/{task → dom}/inert.js +4 -3
- package/dist/dom/public.d.ts +3 -0
- package/dist/dom/public.d.ts.map +1 -0
- package/dist/dom/public.js +1 -0
- package/dist/{task → dom}/scrollLock.d.ts +3 -3
- package/dist/dom/scrollLock.d.ts.map +1 -0
- package/dist/{task → dom}/scrollLock.js +3 -3
- package/dist/dom/waitForAnimation.d.ts +17 -0
- package/dist/dom/waitForAnimation.d.ts.map +1 -0
- package/dist/dom/waitForAnimation.js +23 -0
- package/dist/index.d.ts +2 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -1
- package/dist/render/index.d.ts +2 -0
- package/dist/render/index.d.ts.map +1 -0
- package/dist/render/index.js +1 -0
- package/dist/render/public.d.ts +2 -0
- package/dist/render/public.d.ts.map +1 -0
- package/dist/render/public.js +1 -0
- package/dist/render/render.d.ts +40 -0
- package/dist/render/render.d.ts.map +1 -0
- package/dist/render/render.js +48 -0
- package/dist/ui/animation/update.d.ts.map +1 -1
- package/dist/ui/animation/update.js +5 -4
- package/dist/ui/calendar/index.d.ts.map +1 -1
- package/dist/ui/calendar/index.js +2 -2
- package/dist/ui/combobox/shared.d.ts.map +1 -1
- package/dist/ui/combobox/shared.js +10 -10
- package/dist/ui/dialog/index.d.ts.map +1 -1
- package/dist/ui/dialog/index.js +3 -3
- package/dist/ui/disclosure/index.d.ts.map +1 -1
- package/dist/ui/disclosure/index.js +3 -3
- package/dist/ui/dragAndDrop/index.d.ts.map +1 -1
- package/dist/ui/dragAndDrop/index.js +2 -2
- package/dist/ui/listbox/multi.d.ts +1 -1
- package/dist/ui/listbox/shared.d.ts +1 -1
- package/dist/ui/listbox/shared.d.ts.map +1 -1
- package/dist/ui/listbox/shared.js +12 -12
- package/dist/ui/listbox/single.d.ts +1 -1
- package/dist/ui/menu/index.d.ts.map +1 -1
- package/dist/ui/menu/index.js +13 -13
- package/dist/ui/popover/index.d.ts.map +1 -1
- package/dist/ui/popover/index.js +8 -8
- package/dist/ui/radioGroup/index.d.ts.map +1 -1
- package/dist/ui/radioGroup/index.js +2 -2
- package/dist/ui/tabs/index.d.ts.map +1 -1
- package/dist/ui/tabs/index.js +3 -3
- package/dist/ui/toast/update.d.ts.map +1 -1
- package/dist/ui/toast/update.js +1 -2
- package/dist/ui/tooltip/index.d.ts.map +1 -1
- package/dist/ui/tooltip/index.js +1 -2
- package/package.json +9 -5
- package/dist/task/dom.d.ts.map +0 -1
- package/dist/task/elementMovement.d.ts.map +0 -1
- package/dist/task/error.d.ts.map +0 -1
- package/dist/task/index.d.ts +0 -10
- package/dist/task/index.d.ts.map +0 -1
- package/dist/task/index.js +0 -8
- package/dist/task/inert.d.ts.map +0 -1
- package/dist/task/public.d.ts +0 -2
- package/dist/task/public.d.ts.map +0 -1
- package/dist/task/public.js +0 -1
- package/dist/task/random.d.ts +0 -21
- package/dist/task/random.d.ts.map +0 -1
- package/dist/task/random.js +0 -20
- package/dist/task/scrollLock.d.ts.map +0 -1
- package/dist/task/time.d.ts +0 -43
- package/dist/task/time.d.ts.map +0 -1
- package/dist/task/time.js +0 -53
- package/dist/task/timing.d.ts +0 -39
- package/dist/task/timing.d.ts.map +0 -1
- package/dist/task/timing.js +0 -51
package/dist/ui/menu/index.js
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import { Array, Effect, Equal, Match as M, Option, Predicate, Schema as S, String as Str, pipe, } from 'effect';
|
|
2
2
|
import * as Command from '../../command/index.js';
|
|
3
|
+
import * as Dom from '../../dom/index.js';
|
|
3
4
|
import { OptionExt } from '../../effectExtensions/index.js';
|
|
4
5
|
import { createLazy, html, } from '../../html/index.js';
|
|
5
6
|
import { m } from '../../message/index.js';
|
|
6
7
|
import * as Mount from '../../mount/index.js';
|
|
7
8
|
import { evo } from '../../struct/index.js';
|
|
8
|
-
import * as Task from '../../task/index.js';
|
|
9
9
|
import { anchorSetup, portalToBody } from '../anchor.js';
|
|
10
10
|
// NOTE: Animation imports are split across schema + update to avoid a circular
|
|
11
11
|
// dependency: animation → html → runtime → devtools → menu → animation.
|
|
@@ -207,9 +207,9 @@ const delegateToAnimation = (model, animationMessage) => {
|
|
|
207
207
|
onNone: () => [],
|
|
208
208
|
onSome: M.type().pipe(M.tagsExhaustive({
|
|
209
209
|
StartedLeaveAnimating: () => [
|
|
210
|
-
DetectMovementOrAnimationEnd(Effect.raceFirst(
|
|
210
|
+
DetectMovementOrAnimationEnd(Effect.raceFirst(Dom.detectElementMovement(buttonSelector(model.id)).pipe(Effect.as(GotAnimationMessage({
|
|
211
211
|
message: AnimationEndedAnimation(),
|
|
212
|
-
}))),
|
|
212
|
+
}))), Dom.waitForAnimationSettled(itemsSelector(model.id)).pipe(Effect.as(GotAnimationMessage({
|
|
213
213
|
message: AnimationEndedAnimation(),
|
|
214
214
|
}))))),
|
|
215
215
|
],
|
|
@@ -223,15 +223,15 @@ const delegateToAnimation = (model, animationMessage) => {
|
|
|
223
223
|
};
|
|
224
224
|
/** Processes a menu message and returns the next model and commands. */
|
|
225
225
|
export const update = (model, message) => {
|
|
226
|
-
const maybeLockScroll = OptionExt.when(model.isModal, LockScroll(
|
|
227
|
-
const maybeUnlockScroll = OptionExt.when(model.isModal, UnlockScroll(
|
|
228
|
-
const maybeInertOthers = OptionExt.when(model.isModal, InertOthers(
|
|
226
|
+
const maybeLockScroll = OptionExt.when(model.isModal, LockScroll(Dom.lockScroll.pipe(Effect.as(CompletedLockScroll()))));
|
|
227
|
+
const maybeUnlockScroll = OptionExt.when(model.isModal, UnlockScroll(Dom.unlockScroll.pipe(Effect.as(CompletedUnlockScroll()))));
|
|
228
|
+
const maybeInertOthers = OptionExt.when(model.isModal, InertOthers(Dom.inertOthers(model.id, [
|
|
229
229
|
buttonSelector(model.id),
|
|
230
230
|
itemsSelector(model.id),
|
|
231
231
|
]).pipe(Effect.as(CompletedSetupInert()))));
|
|
232
|
-
const maybeRestoreInert = OptionExt.when(model.isModal, RestoreInert(
|
|
233
|
-
const focusButton = FocusButton(
|
|
234
|
-
const focusItems = FocusItems(
|
|
232
|
+
const maybeRestoreInert = OptionExt.when(model.isModal, RestoreInert(Dom.restoreInert(model.id).pipe(Effect.as(CompletedTeardownInert()))));
|
|
233
|
+
const focusButton = FocusButton(Dom.focus(buttonSelector(model.id)).pipe(Effect.ignore, Effect.as(CompletedFocusButton())));
|
|
234
|
+
const focusItems = FocusItems(Dom.focus(itemsSelector(model.id)).pipe(Effect.ignore, Effect.as(CompletedFocusItems())));
|
|
235
235
|
const openCommands = [
|
|
236
236
|
...Array.getSomes([maybeLockScroll, maybeInertOthers]),
|
|
237
237
|
focusItems,
|
|
@@ -287,7 +287,7 @@ export const update = (model, message) => {
|
|
|
287
287
|
}),
|
|
288
288
|
activationTrigger === 'Keyboard'
|
|
289
289
|
? [
|
|
290
|
-
ScrollIntoView(
|
|
290
|
+
ScrollIntoView(Dom.scrollIntoView(itemSelector(model.id, index)).pipe(Effect.ignore, Effect.as(CompletedScrollIntoView()))),
|
|
291
291
|
]
|
|
292
292
|
: [],
|
|
293
293
|
],
|
|
@@ -312,7 +312,7 @@ export const update = (model, message) => {
|
|
|
312
312
|
RequestedItemClick: ({ index }) => [
|
|
313
313
|
model,
|
|
314
314
|
[
|
|
315
|
-
ClickItem(
|
|
315
|
+
ClickItem(Dom.clickElement(itemSelector(model.id, index)).pipe(Effect.ignore, Effect.as(CompletedClickItem()))),
|
|
316
316
|
],
|
|
317
317
|
],
|
|
318
318
|
Searched: ({ key, maybeTargetIndex }) => {
|
|
@@ -325,7 +325,7 @@ export const update = (model, message) => {
|
|
|
325
325
|
maybeActiveItemIndex: () => Option.orElse(maybeTargetIndex, () => model.maybeActiveItemIndex),
|
|
326
326
|
}),
|
|
327
327
|
[
|
|
328
|
-
DelayClearSearch(
|
|
328
|
+
DelayClearSearch(Effect.sleep(SEARCH_DEBOUNCE_MILLISECONDS).pipe(Effect.as(ClearedSearch({ version: nextSearchVersion })))),
|
|
329
329
|
],
|
|
330
330
|
];
|
|
331
331
|
},
|
|
@@ -378,7 +378,7 @@ export const update = (model, message) => {
|
|
|
378
378
|
return [
|
|
379
379
|
model,
|
|
380
380
|
[
|
|
381
|
-
ClickItem(
|
|
381
|
+
ClickItem(Dom.clickElement(itemSelector(model.id, model.maybeActiveItemIndex.value)).pipe(Effect.ignore, Effect.as(CompletedClickItem()))),
|
|
382
382
|
],
|
|
383
383
|
];
|
|
384
384
|
},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/ui/popover/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAA4C,MAAM,IAAI,CAAC,EAAE,MAAM,QAAQ,CAAA;AAE9E,OAAO,KAAK,OAAO,MAAM,wBAAwB,CAAA;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/ui/popover/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAA4C,MAAM,IAAI,CAAC,EAAE,MAAM,QAAQ,CAAA;AAE9E,OAAO,KAAK,OAAO,MAAM,wBAAwB,CAAA;AAGjD,OAAO,EACL,KAAK,SAAS,EACd,KAAK,IAAI,EAIV,MAAM,qBAAqB,CAAA;AAE5B,OAAO,KAAK,KAAK,MAAM,sBAAsB,CAAA;AAG7C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,cAAc,CAAA;AAiBhD,qGAAqG;AACrG,eAAO,MAAM,KAAK;;;;;;;;;;;;EAQhB,CAAA;AAEF,MAAM,MAAM,KAAK,GAAG,OAAO,KAAK,CAAC,IAAI,CAAA;AAIrC,2EAA2E;AAC3E,eAAO,MAAM,MAAM,oEAAc,CAAA;AACjC,kGAAkG;AAClG,eAAO,MAAM,MAAM,oEAAc,CAAA;AACjC,oFAAoF;AACpF,eAAO,MAAM,YAAY,0EAAoB,CAAA;AAC7C,qHAAqH;AACrH,eAAO,MAAM,sBAAsB;;;EAGjC,CAAA;AACF,6EAA6E;AAC7E,eAAO,MAAM,mBAAmB,iFAA2B,CAAA;AAC3D,kEAAkE;AAClE,eAAO,MAAM,oBAAoB,kFAA4B,CAAA;AAC7D,mDAAmD;AACnD,eAAO,MAAM,mBAAmB,iFAA2B,CAAA;AAC3D,qDAAqD;AACrD,eAAO,MAAM,qBAAqB,mFAA6B,CAAA;AAC/D,oDAAoD;AACpD,eAAO,MAAM,mBAAmB,iFAA2B,CAAA;AAC3D,qDAAqD;AACrD,eAAO,MAAM,sBAAsB,oFAA8B,CAAA;AACjE,wGAAwG;AACxG,eAAO,MAAM,iBAAiB,+EAAyB,CAAA;AACvD,sEAAsE;AACtE,eAAO,MAAM,qBAAqB,mFAA6B,CAAA;AAC/D,2KAA2K;AAC3K,eAAO,MAAM,sBAAsB,oFAA8B,CAAA;AACjE,+IAA+I;AAC/I,eAAO,MAAM,8BAA8B,4FAE1C,CAAA;AACD,0DAA0D;AAC1D,eAAO,MAAM,mBAAmB;;EAE9B,CAAA;AAEF,+DAA+D;AAC/D,eAAO,MAAM,OAAO,EAAE,CAAC,CAAC,KAAK,CAC3B;IACE,OAAO,MAAM;IACb,OAAO,MAAM;IACb,OAAO,YAAY;IACnB,OAAO,sBAAsB;IAC7B,OAAO,mBAAmB;IAC1B,OAAO,oBAAoB;IAC3B,OAAO,mBAAmB;IAC1B,OAAO,qBAAqB;IAC5B,OAAO,mBAAmB;IAC1B,OAAO,sBAAsB;IAC7B,OAAO,iBAAiB;IACxB,OAAO,qBAAqB;IAC5B,OAAO,sBAAsB;IAC7B,OAAO,8BAA8B;IACrC,OAAO,mBAAmB;CAC3B,CAiBD,CAAA;AAEF,MAAM,MAAM,MAAM,GAAG,OAAO,MAAM,CAAC,IAAI,CAAA;AACvC,MAAM,MAAM,MAAM,GAAG,OAAO,MAAM,CAAC,IAAI,CAAA;AACvC,MAAM,MAAM,YAAY,GAAG,OAAO,YAAY,CAAC,IAAI,CAAA;AACnD,MAAM,MAAM,sBAAsB,GAAG,OAAO,sBAAsB,CAAC,IAAI,CAAA;AACvE,MAAM,MAAM,iBAAiB,GAAG,OAAO,iBAAiB,CAAC,IAAI,CAAA;AAC7D,MAAM,MAAM,qBAAqB,GAAG,OAAO,qBAAqB,CAAC,IAAI,CAAA;AAErE,MAAM,MAAM,OAAO,GAAG,OAAO,OAAO,CAAC,IAAI,CAAA;AAMzC,6aAA6a;AAC7a,MAAM,MAAM,UAAU,GAAG,QAAQ,CAAC;IAChC,EAAE,EAAE,MAAM,CAAA;IACV,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,YAAY,CAAC,EAAE,OAAO,CAAA;CACvB,CAAC,CAAA;AAEF,0EAA0E;AAC1E,eAAO,MAAM,IAAI,GAAI,QAAQ,UAAU,KAAG,KAQxC,CAAA;AAaF,KAAK,YAAY,GAAG,SAAS,CAAC,KAAK,EAAE,aAAa,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAA;AAG7E,uEAAuE;AACvE,eAAO,MAAM,UAAU;;EAAoD,CAAA;AAC3E,0DAA0D;AAC1D,eAAO,MAAM,YAAY;;EAGxB,CAAA;AACD,0EAA0E;AAC1E,eAAO,MAAM,WAAW;;EAAqD,CAAA;AAC7E,qEAAqE;AACrE,eAAO,MAAM,YAAY;;EAGxB,CAAA;AACD,sDAAsD;AACtD,eAAO,MAAM,UAAU;;EAAoD,CAAA;AAC3E,4DAA4D;AAC5D,eAAO,MAAM,WAAW;;EAAsD,CAAA;AAC9E,yKAAyK;AACzK,eAAO,MAAM,4BAA4B;;;;;;;;;;;EAGxC,CAAA;AAkDD,2EAA2E;AAC3E,eAAO,MAAM,MAAM,GAAI,OAAO,KAAK,EAAE,SAAS,OAAO,KAAG,YA2IvD,CAAA;AAED;;+DAE+D;AAC/D,eAAO,MAAM,aAAa;;EAGzB,CAAA;AAED;;+DAE+D;AAC/D,eAAO,MAAM,qBAAqB;;EAGjC,CAAA;AAYD;oGACoG;AACpG,eAAO,MAAM,IAAI,GACf,OAAO,KAAK,KACX,SAAS,CAAC,KAAK,EAAE,aAAa,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAClC,CAAA;AAEzB;oGACoG;AACpG,eAAO,MAAM,KAAK,GAChB,OAAO,KAAK,KACX,SAAS,CAAC,KAAK,EAAE,aAAa,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAClC,CAAA;AAIzB,yDAAyD;AACzD,MAAM,MAAM,UAAU,CAAC,aAAa,IAAI,QAAQ,CAAC;IAC/C,KAAK,EAAE,KAAK,CAAA;IACZ,eAAe,EAAE,CACf,OAAO,EACH,MAAM,GACN,MAAM,GACN,YAAY,GACZ,sBAAsB,GACtB,iBAAiB,GACjB,qBAAqB,GACrB,OAAO,sBAAsB,CAAC,IAAI,GAClC,OAAO,8BAA8B,CAAC,IAAI,KAC3C,aAAa,CAAA;IAClB,QAAQ,CAAC,EAAE,MAAM,aAAa,CAAA;IAC9B,QAAQ,CAAC,EAAE,MAAM,aAAa,CAAA;IAC9B,MAAM,EAAE,YAAY,CAAA;IACpB,aAAa,EAAE,IAAI,CAAA;IACnB,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,gBAAgB,CAAC,EAAE,aAAa,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC,CAAA;IAC1D,YAAY,EAAE,IAAI,CAAA;IAClB,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,eAAe,CAAC,EAAE,aAAa,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC,CAAA;IACzD,iBAAiB,CAAC,EAAE,MAAM,CAAA;IAC1B,kBAAkB,CAAC,EAAE,aAAa,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC,CAAA;IAC5D,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,UAAU,CAAC,EAAE,aAAa,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC,CAAA;CACrD,CAAC,CAAA;AAEF,yKAAyK;AACzK,eAAO,MAAM,IAAI,GAAI,aAAa,EAChC,QAAQ,UAAU,CAAC,aAAa,CAAC,KAChC,IAsNF,CAAA;AAED;mFACmF;AACnF,eAAO,MAAM,IAAI,GAAI,aAAa,EAChC,cAAc,IAAI,CAChB,UAAU,CAAC,aAAa,CAAC,EACzB,OAAO,GAAG,iBAAiB,GAAG,UAAU,GAAG,UAAU,CACtD,KACA,CAAC,CACF,KAAK,EAAE,KAAK,EACZ,eAAe,EAAE,UAAU,CAAC,aAAa,CAAC,CAAC,iBAAiB,CAAC,KAC1D,IAAI,CAgBR,CAAA"}
|
package/dist/ui/popover/index.js
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import { Array, Effect, Equal, Match as M, Option, Schema as S } from 'effect';
|
|
2
2
|
import * as Command from '../../command/index.js';
|
|
3
|
+
import * as Dom from '../../dom/index.js';
|
|
3
4
|
import { OptionExt } from '../../effectExtensions/index.js';
|
|
4
5
|
import { createLazy, html, } from '../../html/index.js';
|
|
5
6
|
import { m } from '../../message/index.js';
|
|
6
7
|
import * as Mount from '../../mount/index.js';
|
|
7
8
|
import { evo } from '../../struct/index.js';
|
|
8
|
-
import * as Task from '../../task/index.js';
|
|
9
9
|
import { anchorSetup, portalToBody } from '../anchor.js';
|
|
10
10
|
// NOTE: Animation imports are split across schema + update to avoid a circular
|
|
11
11
|
// dependency: animation → html → runtime → devtools → popover → animation.
|
|
@@ -118,9 +118,9 @@ const delegateToAnimation = (model, animationMessage) => {
|
|
|
118
118
|
onNone: () => [],
|
|
119
119
|
onSome: M.type().pipe(M.tagsExhaustive({
|
|
120
120
|
StartedLeaveAnimating: () => [
|
|
121
|
-
DetectMovementOrAnimationEnd(Effect.raceFirst(
|
|
121
|
+
DetectMovementOrAnimationEnd(Effect.raceFirst(Dom.detectElementMovement(buttonSelector(model.id)).pipe(Effect.as(GotAnimationMessage({
|
|
122
122
|
message: AnimationEndedAnimation(),
|
|
123
|
-
}))),
|
|
123
|
+
}))), Dom.waitForAnimationSettled(panelSelector(model.id)).pipe(Effect.as(GotAnimationMessage({
|
|
124
124
|
message: AnimationEndedAnimation(),
|
|
125
125
|
}))))),
|
|
126
126
|
],
|
|
@@ -134,14 +134,14 @@ const delegateToAnimation = (model, animationMessage) => {
|
|
|
134
134
|
};
|
|
135
135
|
/** Processes a popover message and returns the next model and commands. */
|
|
136
136
|
export const update = (model, message) => {
|
|
137
|
-
const maybeLockScroll = OptionExt.when(model.isModal, LockScroll(
|
|
138
|
-
const maybeUnlockScroll = OptionExt.when(model.isModal, UnlockScroll(
|
|
139
|
-
const maybeInertOthers = OptionExt.when(model.isModal, InertOthers(
|
|
137
|
+
const maybeLockScroll = OptionExt.when(model.isModal, LockScroll(Dom.lockScroll.pipe(Effect.as(CompletedLockScroll()))));
|
|
138
|
+
const maybeUnlockScroll = OptionExt.when(model.isModal, UnlockScroll(Dom.unlockScroll.pipe(Effect.as(CompletedUnlockScroll()))));
|
|
139
|
+
const maybeInertOthers = OptionExt.when(model.isModal, InertOthers(Dom.inertOthers(model.id, [
|
|
140
140
|
buttonSelector(model.id),
|
|
141
141
|
panelSelector(model.id),
|
|
142
142
|
]).pipe(Effect.as(CompletedSetupInert()))));
|
|
143
|
-
const maybeRestoreInert = OptionExt.when(model.isModal, RestoreInert(
|
|
144
|
-
const focusButton = FocusButton(
|
|
143
|
+
const maybeRestoreInert = OptionExt.when(model.isModal, RestoreInert(Dom.restoreInert(model.id).pipe(Effect.as(CompletedTeardownInert()))));
|
|
144
|
+
const focusButton = FocusButton(Dom.focus(buttonSelector(model.id)).pipe(Effect.ignore, Effect.as(CompletedFocusButton())));
|
|
145
145
|
const openCommands = Array.getSomes([maybeLockScroll, maybeInertOthers]);
|
|
146
146
|
const closeWithFocusCommands = [
|
|
147
147
|
focusButton,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/ui/radioGroup/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAML,MAAM,IAAI,CAAC,EAGZ,MAAM,QAAQ,CAAA;AAEf,OAAO,KAAK,OAAO,MAAM,wBAAwB,CAAA;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/ui/radioGroup/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { Array, Effect, Match as M, Option, Predicate, Schema as S, String, pipe, } from 'effect';
|
|
2
2
|
import * as Command from '../../command/index.js';
|
|
3
|
+
import * as Dom from '../../dom/index.js';
|
|
3
4
|
import { createLazy, html, } from '../../html/index.js';
|
|
4
5
|
import { m } from '../../message/index.js';
|
|
5
6
|
import { evo } from '../../struct/index.js';
|
|
6
|
-
import * as Task from '../../task/index.js';
|
|
7
7
|
import { keyToIndex } from '../keyboard.js';
|
|
8
8
|
// MODEL
|
|
9
9
|
/** Controls the radio group layout direction and which arrow keys navigate between options. */
|
|
@@ -41,7 +41,7 @@ export const update = (model, message) => M.value(message).pipe(M.withReturnType
|
|
|
41
41
|
return [
|
|
42
42
|
evo(model, { selectedValue: () => Option.some(value) }),
|
|
43
43
|
[
|
|
44
|
-
FocusOption(
|
|
44
|
+
FocusOption(Dom.focus(selector).pipe(Effect.ignore, Effect.as(CompletedFocusOption()))),
|
|
45
45
|
],
|
|
46
46
|
];
|
|
47
47
|
},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/ui/tabs/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAKL,MAAM,IAAI,CAAC,EAGZ,MAAM,QAAQ,CAAA;AAEf,OAAO,KAAK,OAAO,MAAM,wBAAwB,CAAA;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/ui/tabs/index.ts"],"names":[],"mappings":"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"}
|
package/dist/ui/tabs/index.js
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { Array, Effect, Match as M, Option, Schema as S, String, pipe, } from 'effect';
|
|
2
2
|
import * as Command from '../../command/index.js';
|
|
3
|
+
import * as Dom from '../../dom/index.js';
|
|
3
4
|
import { createLazy, html, } from '../../html/index.js';
|
|
4
5
|
import { m } from '../../message/index.js';
|
|
5
6
|
import { evo } from '../../struct/index.js';
|
|
6
|
-
import * as Task from '../../task/index.js';
|
|
7
7
|
import { keyToIndex } from '../keyboard.js';
|
|
8
8
|
export { wrapIndex, findFirstEnabledIndex, keyToIndex } from '../keyboard.js';
|
|
9
9
|
// MODEL
|
|
@@ -50,7 +50,7 @@ export const update = (model, message) => M.value(message).pipe(M.withReturnType
|
|
|
50
50
|
focusedIndex: () => index,
|
|
51
51
|
}),
|
|
52
52
|
[
|
|
53
|
-
FocusTab(
|
|
53
|
+
FocusTab(Dom.focus(tabSelector).pipe(Effect.ignore, Effect.as(CompletedFocusTab()))),
|
|
54
54
|
],
|
|
55
55
|
];
|
|
56
56
|
},
|
|
@@ -59,7 +59,7 @@ export const update = (model, message) => M.value(message).pipe(M.withReturnType
|
|
|
59
59
|
return [
|
|
60
60
|
evo(model, { focusedIndex: () => index }),
|
|
61
61
|
[
|
|
62
|
-
FocusTab(
|
|
62
|
+
FocusTab(Dom.focus(tabSelector).pipe(Effect.ignore, Effect.as(CompletedFocusTab()))),
|
|
63
63
|
],
|
|
64
64
|
];
|
|
65
65
|
},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"update.d.ts","sourceRoot":"","sources":["../../../src/ui/toast/update.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,QAAQ,EACR,MAAM,EAGN,MAAM,EACN,MAAM,IAAI,CAAC,EACZ,MAAM,QAAQ,CAAA;AAEf,OAAO,KAAK,OAAO,MAAM,wBAAwB,CAAA;
|
|
1
|
+
{"version":3,"file":"update.d.ts","sourceRoot":"","sources":["../../../src/ui/toast/update.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,QAAQ,EACR,MAAM,EAGN,MAAM,EACN,MAAM,IAAI,CAAC,EACZ,MAAM,QAAQ,CAAA;AAEf,OAAO,KAAK,OAAO,MAAM,wBAAwB,CAAA;AAcjD,OAAO,EAML,KAAK,UAAU,EACf,KAAK,OAAO,EAKb,MAAM,aAAa,CAAA;AAIpB;;oDAEoD;AACpD,MAAM,MAAM,SAAS,CAAC,CAAC,IAAI,QAAQ,CAAC;IAClC,OAAO,EAAE,CAAC,CAAA;IACV,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,QAAQ,CAAC,EAAE,QAAQ,CAAC,KAAK,CAAA;IACzB,MAAM,CAAC,EAAE,OAAO,CAAA;CACjB,CAAC,CAAA;AAEF;;;eAGe;AACf,eAAO,MAAM,YAAY;;;;EAAkD,CAAA;AAI3E;;;;;;4EAM4E;AAC5E,eAAO,MAAM,WAAW,GAAI,CAAC,EAAE,CAAC,EAAE,eAAe,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4BA0ItC,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAmIG,SAAS,CAAC,CAAC,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;gBAIP,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAkB/C,CAAA"}
|
package/dist/ui/toast/update.js
CHANGED
|
@@ -2,7 +2,6 @@ import { Array, Duration, Effect, Match as M, Number, Option, } from 'effect';
|
|
|
2
2
|
import * as Command from '../../command/index.js';
|
|
3
3
|
import { OptionExt } from '../../effectExtensions/index.js';
|
|
4
4
|
import { evo } from '../../struct/index.js';
|
|
5
|
-
import * as Task from '../../task/index.js';
|
|
6
5
|
import { Hid as AnimationHid, Showed as AnimationShowed, init as animationInit, } from '../animation/schema.js';
|
|
7
6
|
import { defaultLeaveCommand as animationDefaultLeaveCommand, update as animationUpdate, } from '../animation/update.js';
|
|
8
7
|
import { DEFAULT_DURATION, Dismissed, DismissedAll, ElapsedDuration, GotAnimationMessage, makeAdded, makeEntry, makeMessage, makeModel, } from './schema.js';
|
|
@@ -35,7 +34,7 @@ export const makeRuntime = (payloadSchema) => {
|
|
|
35
34
|
const { transitionState } = entry.animation;
|
|
36
35
|
return (transitionState === 'LeaveStart' || transitionState === 'LeaveAnimating');
|
|
37
36
|
};
|
|
38
|
-
const scheduleDismiss = (entryId, version, duration) => DismissAfter(
|
|
37
|
+
const scheduleDismiss = (entryId, version, duration) => DismissAfter(Effect.sleep(duration).pipe(Effect.as(ElapsedDuration({ entryId, version }))));
|
|
39
38
|
const rescheduleDismissCommands = (entry) => {
|
|
40
39
|
if (isEntryLeaving(entry) || entry.isHovered) {
|
|
41
40
|
return [];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/ui/tooltip/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EAMR,MAAM,IAAI,CAAC,EACZ,MAAM,QAAQ,CAAA;AAEf,OAAO,KAAK,OAAO,MAAM,wBAAwB,CAAA;AAEjD,OAAO,EACL,KAAK,SAAS,EACd,KAAK,IAAI,EAIV,MAAM,qBAAqB,CAAA;AAE5B,OAAO,KAAK,KAAK,MAAM,sBAAsB,CAAA;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/ui/tooltip/index.ts"],"names":[],"mappings":"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"}
|
package/dist/ui/tooltip/index.js
CHANGED
|
@@ -5,7 +5,6 @@ import { createLazy, html, } from '../../html/index.js';
|
|
|
5
5
|
import { m } from '../../message/index.js';
|
|
6
6
|
import * as Mount from '../../mount/index.js';
|
|
7
7
|
import { evo } from '../../struct/index.js';
|
|
8
|
-
import * as Task from '../../task/index.js';
|
|
9
8
|
import { anchorSetup } from '../anchor.js';
|
|
10
9
|
// MODEL
|
|
11
10
|
/** Schema for the tooltip component's state. `isOpen` is visibility; `isHovered` tracks pointer on trigger; `isFocused` tracks tooltip-affirming focus on the trigger (focus arriving without a preceding mouse press — keyboard, touch, or pen; mouse-click-induced focus is excluded since it doesn't affirm the user wants the tooltip visible); `isDismissed` suppresses re-opening after the user dismissed the tooltip (via Escape or left-click) until they disengage (leave or blur). `showDelay` is the hover-to-show duration. `maybeLastPointerType` records the most recent pointer type that pressed the trigger, so a mouse-click-induced focus can be distinguished from other focus. */
|
|
@@ -93,7 +92,7 @@ export const update = (model, message) => M.value(message).pipe(withUpdateReturn
|
|
|
93
92
|
pendingShowVersion: () => nextVersion,
|
|
94
93
|
}),
|
|
95
94
|
[
|
|
96
|
-
ShowAfterDelay(
|
|
95
|
+
ShowAfterDelay(Effect.sleep(model.showDelay).pipe(Effect.as(ElapsedShowDelay({ version: nextVersion })))),
|
|
97
96
|
],
|
|
98
97
|
];
|
|
99
98
|
},
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "foldkit",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.87.0",
|
|
4
4
|
"description": "A TypeScript frontend framework, built on Effect and architected like Elm",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/index.js",
|
|
@@ -19,6 +19,10 @@
|
|
|
19
19
|
"types": "./dist/command/public.d.ts",
|
|
20
20
|
"import": "./dist/command/public.js"
|
|
21
21
|
},
|
|
22
|
+
"./dom": {
|
|
23
|
+
"types": "./dist/dom/public.d.ts",
|
|
24
|
+
"import": "./dist/dom/public.js"
|
|
25
|
+
},
|
|
22
26
|
"./html": {
|
|
23
27
|
"types": "./dist/html/public.d.ts",
|
|
24
28
|
"import": "./dist/html/public.js"
|
|
@@ -39,6 +43,10 @@
|
|
|
39
43
|
"types": "./dist/navigation/public.d.ts",
|
|
40
44
|
"import": "./dist/navigation/public.js"
|
|
41
45
|
},
|
|
46
|
+
"./render": {
|
|
47
|
+
"types": "./dist/render/public.d.ts",
|
|
48
|
+
"import": "./dist/render/public.js"
|
|
49
|
+
},
|
|
42
50
|
"./route": {
|
|
43
51
|
"types": "./dist/route/public.d.ts",
|
|
44
52
|
"import": "./dist/route/public.js"
|
|
@@ -79,10 +87,6 @@
|
|
|
79
87
|
"types": "./dist/subscription/public.d.ts",
|
|
80
88
|
"import": "./dist/subscription/public.js"
|
|
81
89
|
},
|
|
82
|
-
"./task": {
|
|
83
|
-
"types": "./dist/task/public.d.ts",
|
|
84
|
-
"import": "./dist/task/public.js"
|
|
85
|
-
},
|
|
86
90
|
"./test": {
|
|
87
91
|
"types": "./dist/test/public.d.ts",
|
|
88
92
|
"import": "./dist/test/public.js"
|
package/dist/task/dom.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"dom.d.ts","sourceRoot":"","sources":["../../src/task/dom.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,MAAM,EAMP,MAAM,QAAQ,CAAA;AAEf,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAA;AAsC5C;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,eAAO,MAAM,KAAK,GAAI,UAAU,MAAM,KAAG,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,eAAe,CAKxE,CAAA;AAEJ;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,SAAS,GACpB,UAAU,MAAM,EAChB,UAAU,QAAQ,CAAC;IAAE,aAAa,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,KAC7C,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,eAAe,CAgDlC,CAAA;AAuBJ;;;;;;;;;GASG;AACH,eAAO,MAAM,UAAU,GACrB,UAAU,MAAM,KACf,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,eAAe,CAclC,CAAA;AAEJ;;;;;;;;GAQG;AACH,eAAO,MAAM,YAAY,GACvB,UAAU,MAAM,KACf,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,eAAe,CAKlC,CAAA;AAEJ;;;;;;;;GAQG;AACH,eAAO,MAAM,cAAc,GACzB,UAAU,MAAM,KACf,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,eAAe,CAKlC,CAAA;AAEJ,0EAA0E;AAC1E,MAAM,MAAM,cAAc,GAAG,MAAM,GAAG,UAAU,CAAA;AAEhD;;;;;;;;GAQG;AACH,eAAO,MAAM,YAAY,GACvB,UAAU,MAAM,EAChB,WAAW,cAAc,KACxB,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,eAAe,CAiClC,CAAA"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"elementMovement.d.ts","sourceRoot":"","sources":["../../src/task/elementMovement.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AAI/B;;;;;;;;;;;;;;;;;GAiBG;AACH,eAAO,MAAM,qBAAqB,GAAI,UAAU,MAAM,KAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAqCvE,CAAA"}
|
package/dist/task/error.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"error.d.ts","sourceRoot":"","sources":["../../src/task/error.ts"],"names":[],"mappings":";;;AAEA,qFAAqF;AACrF,qBAAa,eAAgB,SAAQ,qBAAoC;IACvE,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;CAC1B,CAAC;CAAG;;;;AAEL,8DAA8D;AAC9D,qBAAa,aAAc,SAAQ,mBAAkC;IACnE,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;CACxB,CAAC;CAAG"}
|
package/dist/task/index.d.ts
DELETED
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
export { ElementNotFound, TimeZoneError } from './error.js';
|
|
2
|
-
export { getTime, getTimeZone, getZonedTime, getZonedTimeIn } from './time.js';
|
|
3
|
-
export { advanceFocus, focus, showModal, closeModal, clickElement, scrollIntoView, } from './dom.js';
|
|
4
|
-
export type { FocusDirection } from './dom.js';
|
|
5
|
-
export { detectElementMovement } from './elementMovement.js';
|
|
6
|
-
export { delay, nextFrame, waitForAnimationSettled } from './timing.js';
|
|
7
|
-
export { randomInt, uuid } from './random.js';
|
|
8
|
-
export { lockScroll, unlockScroll } from './scrollLock.js';
|
|
9
|
-
export { inertOthers, restoreInert } from './inert.js';
|
|
10
|
-
//# sourceMappingURL=index.d.ts.map
|
package/dist/task/index.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/task/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,YAAY,CAAA;AAC3D,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,WAAW,CAAA;AAC9E,OAAO,EACL,YAAY,EACZ,KAAK,EACL,SAAS,EACT,UAAU,EACV,YAAY,EACZ,cAAc,GACf,MAAM,UAAU,CAAA;AACjB,YAAY,EAAE,cAAc,EAAE,MAAM,UAAU,CAAA;AAC9C,OAAO,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAA;AAC5D,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,uBAAuB,EAAE,MAAM,aAAa,CAAA;AACvE,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,aAAa,CAAA;AAC7C,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAA;AAC1D,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,YAAY,CAAA"}
|
package/dist/task/index.js
DELETED
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
export { ElementNotFound, TimeZoneError } from './error.js';
|
|
2
|
-
export { getTime, getTimeZone, getZonedTime, getZonedTimeIn } from './time.js';
|
|
3
|
-
export { advanceFocus, focus, showModal, closeModal, clickElement, scrollIntoView, } from './dom.js';
|
|
4
|
-
export { detectElementMovement } from './elementMovement.js';
|
|
5
|
-
export { delay, nextFrame, waitForAnimationSettled } from './timing.js';
|
|
6
|
-
export { randomInt, uuid } from './random.js';
|
|
7
|
-
export { lockScroll, unlockScroll } from './scrollLock.js';
|
|
8
|
-
export { inertOthers, restoreInert } from './inert.js';
|
package/dist/task/inert.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"inert.d.ts","sourceRoot":"","sources":["../../src/task/inert.ts"],"names":[],"mappings":"AAAA,OAAO,EAAS,MAAM,EAA2C,MAAM,QAAQ,CAAA;AAuF/E;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,WAAW,GACtB,IAAI,MAAM,EACV,kBAAkB,aAAa,CAAC,MAAM,CAAC,KACtC,MAAM,CAAC,MAAM,CAAC,IAAI,CAajB,CAAA;AAEJ;;;;;;;;GAQG;AACH,eAAO,MAAM,YAAY,GAAI,IAAI,MAAM,KAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAQxD,CAAA"}
|
package/dist/task/public.d.ts
DELETED
|
@@ -1 +0,0 @@
|
|
|
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,uBAAuB,GACxB,MAAM,YAAY,CAAA"}
|
package/dist/task/public.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export { ElementNotFound, TimeZoneError, getTime, getTimeZone, getZonedTime, getZonedTimeIn, focus, showModal, closeModal, clickElement, delay, scrollIntoView, randomInt, uuid, nextFrame, waitForAnimationSettled, } from './index.js';
|
package/dist/task/random.d.ts
DELETED
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
import { Effect } from 'effect';
|
|
2
|
-
/**
|
|
3
|
-
* Generates a random integer between min (inclusive) and max (exclusive).
|
|
4
|
-
*
|
|
5
|
-
* @example
|
|
6
|
-
* ```typescript
|
|
7
|
-
* Task.randomInt(1, 7).pipe(Effect.map(value => GotDiceRoll({ value })))
|
|
8
|
-
* ```
|
|
9
|
-
*/
|
|
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>;
|
|
21
|
-
//# sourceMappingURL=random.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
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
DELETED
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
import { Effect } from 'effect';
|
|
2
|
-
/**
|
|
3
|
-
* Generates a random integer between min (inclusive) and max (exclusive).
|
|
4
|
-
*
|
|
5
|
-
* @example
|
|
6
|
-
* ```typescript
|
|
7
|
-
* Task.randomInt(1, 7).pipe(Effect.map(value => GotDiceRoll({ value })))
|
|
8
|
-
* ```
|
|
9
|
-
*/
|
|
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());
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"scrollLock.d.ts","sourceRoot":"","sources":["../../src/task/scrollLock.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAU,MAAM,QAAQ,CAAA;AA6CvC;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,UAAU,EAAE,MAAM,CAAC,MAAM,CAAC,IAAI,CAwBzC,CAAA;AAEF;;;;;;;;;GASG;AACH,eAAO,MAAM,YAAY,EAAE,MAAM,CAAC,MAAM,CAAC,IAAI,CAW3C,CAAA"}
|
package/dist/task/time.d.ts
DELETED
|
@@ -1,43 +0,0 @@
|
|
|
1
|
-
import { DateTime, Effect } from 'effect';
|
|
2
|
-
import { TimeZoneError } from './error.js';
|
|
3
|
-
/**
|
|
4
|
-
* Gets the current UTC time.
|
|
5
|
-
*
|
|
6
|
-
* @example
|
|
7
|
-
* ```typescript
|
|
8
|
-
* Task.getTime.pipe(Effect.map(utc => GotTime({ utc })))
|
|
9
|
-
* ```
|
|
10
|
-
*/
|
|
11
|
-
export declare const getTime: Effect.Effect<DateTime.Utc>;
|
|
12
|
-
/**
|
|
13
|
-
* Gets the system timezone.
|
|
14
|
-
*
|
|
15
|
-
* @example
|
|
16
|
-
* ```typescript
|
|
17
|
-
* Task.getTimeZone.pipe(Effect.map(zone => GotTimeZone({ zone })))
|
|
18
|
-
* ```
|
|
19
|
-
*/
|
|
20
|
-
export declare const getTimeZone: Effect.Effect<DateTime.TimeZone>;
|
|
21
|
-
/**
|
|
22
|
-
* Gets the current time in the system timezone.
|
|
23
|
-
*
|
|
24
|
-
* @example
|
|
25
|
-
* ```typescript
|
|
26
|
-
* Task.getZonedTime.pipe(Effect.map(zoned => GotTime({ zoned })))
|
|
27
|
-
* ```
|
|
28
|
-
*/
|
|
29
|
-
export declare const getZonedTime: Effect.Effect<DateTime.Zoned>;
|
|
30
|
-
/**
|
|
31
|
-
* Gets the current time in a specific timezone.
|
|
32
|
-
* Fails with `TimeZoneError` if the timezone ID is invalid.
|
|
33
|
-
*
|
|
34
|
-
* @example
|
|
35
|
-
* ```typescript
|
|
36
|
-
* Task.getZonedTimeIn('America/New_York').pipe(
|
|
37
|
-
* Effect.map(zoned => GotNYTime({ zoned })),
|
|
38
|
-
* Effect.catch(() => Effect.succeed(FailedGetTimeZone())),
|
|
39
|
-
* )
|
|
40
|
-
* ```
|
|
41
|
-
*/
|
|
42
|
-
export declare const getZonedTimeIn: (zoneId: string) => Effect.Effect<DateTime.Zoned, TimeZoneError>;
|
|
43
|
-
//# sourceMappingURL=time.d.ts.map
|
package/dist/task/time.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"time.d.ts","sourceRoot":"","sources":["../../src/task/time.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAU,MAAM,QAAQ,CAAA;AAEjD,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAA;AAE1C;;;;;;;GAOG;AACH,eAAO,MAAM,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAgB,CAAA;AAEhE;;;;;;;GAOG;AACH,eAAO,MAAM,WAAW,EAAE,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAExD,CAAA;AAED;;;;;;;GAOG;AACH,eAAO,MAAM,YAAY,EAAE,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAMtD,CAAA;AAED;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,cAAc,GACzB,QAAQ,MAAM,KACb,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,EAAE,aAAa,CAQ1C,CAAA"}
|
package/dist/task/time.js
DELETED
|
@@ -1,53 +0,0 @@
|
|
|
1
|
-
import { DateTime, Effect, Option } from 'effect';
|
|
2
|
-
import { TimeZoneError } from './error.js';
|
|
3
|
-
/**
|
|
4
|
-
* Gets the current UTC time.
|
|
5
|
-
*
|
|
6
|
-
* @example
|
|
7
|
-
* ```typescript
|
|
8
|
-
* Task.getTime.pipe(Effect.map(utc => GotTime({ utc })))
|
|
9
|
-
* ```
|
|
10
|
-
*/
|
|
11
|
-
export const getTime = DateTime.now;
|
|
12
|
-
/**
|
|
13
|
-
* Gets the system timezone.
|
|
14
|
-
*
|
|
15
|
-
* @example
|
|
16
|
-
* ```typescript
|
|
17
|
-
* Task.getTimeZone.pipe(Effect.map(zone => GotTimeZone({ zone })))
|
|
18
|
-
* ```
|
|
19
|
-
*/
|
|
20
|
-
export const getTimeZone = Effect.sync(() => DateTime.zoneMakeLocal());
|
|
21
|
-
/**
|
|
22
|
-
* Gets the current time in the system timezone.
|
|
23
|
-
*
|
|
24
|
-
* @example
|
|
25
|
-
* ```typescript
|
|
26
|
-
* Task.getZonedTime.pipe(Effect.map(zoned => GotTime({ zoned })))
|
|
27
|
-
* ```
|
|
28
|
-
*/
|
|
29
|
-
export const getZonedTime = Effect.gen(function* () {
|
|
30
|
-
const utc = yield* DateTime.now;
|
|
31
|
-
const zone = DateTime.zoneMakeLocal();
|
|
32
|
-
return DateTime.setZone(utc, zone);
|
|
33
|
-
});
|
|
34
|
-
/**
|
|
35
|
-
* Gets the current time in a specific timezone.
|
|
36
|
-
* Fails with `TimeZoneError` if the timezone ID is invalid.
|
|
37
|
-
*
|
|
38
|
-
* @example
|
|
39
|
-
* ```typescript
|
|
40
|
-
* Task.getZonedTimeIn('America/New_York').pipe(
|
|
41
|
-
* Effect.map(zoned => GotNYTime({ zoned })),
|
|
42
|
-
* Effect.catch(() => Effect.succeed(FailedGetTimeZone())),
|
|
43
|
-
* )
|
|
44
|
-
* ```
|
|
45
|
-
*/
|
|
46
|
-
export const getZonedTimeIn = (zoneId) => Effect.gen(function* () {
|
|
47
|
-
const utc = yield* DateTime.now;
|
|
48
|
-
const maybeZone = DateTime.zoneMakeNamed(zoneId);
|
|
49
|
-
if (Option.isNone(maybeZone)) {
|
|
50
|
-
return yield* Effect.fail(new TimeZoneError({ zoneId }));
|
|
51
|
-
}
|
|
52
|
-
return DateTime.setZone(utc, maybeZone.value);
|
|
53
|
-
});
|
package/dist/task/timing.d.ts
DELETED
|
@@ -1,39 +0,0 @@
|
|
|
1
|
-
import { Duration, Effect } from 'effect';
|
|
2
|
-
/**
|
|
3
|
-
* Waits for the given duration before completing.
|
|
4
|
-
* Useful for debouncing, such as clearing a typeahead search query.
|
|
5
|
-
*
|
|
6
|
-
* @example
|
|
7
|
-
* ```typescript
|
|
8
|
-
* Task.delay('1 second').pipe(Effect.as(TimedOut()))
|
|
9
|
-
* ```
|
|
10
|
-
*/
|
|
11
|
-
export declare const delay: (duration: Duration.Input) => Effect.Effect<void>;
|
|
12
|
-
/**
|
|
13
|
-
* Completes after two animation frames, ensuring the browser has painted
|
|
14
|
-
* the current state before proceeding. Used for CSS transition orchestration —
|
|
15
|
-
* the double-rAF guarantees the "from" state is visible before transitioning
|
|
16
|
-
* to the "to" state.
|
|
17
|
-
*
|
|
18
|
-
* @example
|
|
19
|
-
* ```typescript
|
|
20
|
-
* Task.nextFrame.pipe(Effect.as(TransitionFrameAdvanced()))
|
|
21
|
-
* ```
|
|
22
|
-
*/
|
|
23
|
-
export declare const nextFrame: Effect.Effect<void>;
|
|
24
|
-
/**
|
|
25
|
-
* Waits for all CSS animations on the element matching the selector to settle.
|
|
26
|
-
* Covers both CSS transitions and CSS keyframe animations via the Web Animations
|
|
27
|
-
* API. Falls back to completing immediately if the element is missing or has no
|
|
28
|
-
* active animations.
|
|
29
|
-
*
|
|
30
|
-
* Leave animations must be finite. `animation-iteration-count: infinite` will
|
|
31
|
-
* keep the underlying `.finished` promise pending and hang the caller.
|
|
32
|
-
*
|
|
33
|
-
* @example
|
|
34
|
-
* ```typescript
|
|
35
|
-
* Task.waitForAnimationSettled('#menu-items').pipe(Effect.as(EndedAnimation()))
|
|
36
|
-
* ```
|
|
37
|
-
*/
|
|
38
|
-
export declare const waitForAnimationSettled: (selector: string) => Effect.Effect<void>;
|
|
39
|
-
//# sourceMappingURL=timing.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"timing.d.ts","sourceRoot":"","sources":["../../src/task/timing.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AAEzC;;;;;;;;GAQG;AACH,eAAO,MAAM,KAAK,GAAI,UAAU,QAAQ,CAAC,KAAK,KAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAC3C,CAAA;AAExB;;;;;;;;;;GAUG;AACH,eAAO,MAAM,SAAS,EAAE,MAAM,CAAC,MAAM,CAAC,IAAI,CAMxC,CAAA;AAEF;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,uBAAuB,GAClC,UAAU,MAAM,KACf,MAAM,CAAC,MAAM,CAAC,IAAI,CAYjB,CAAA"}
|