@foldkit/ui 0.135.0 → 0.137.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/anchor.d.ts +7 -1
- package/dist/anchor.d.ts.map +1 -1
- package/dist/anchor.js +77 -26
- package/dist/animation/index.d.ts +5 -5
- package/dist/animation/index.d.ts.map +1 -1
- package/dist/animation/index.js +4 -4
- package/dist/animation/public.d.ts +1 -1
- package/dist/animation/public.d.ts.map +1 -1
- package/dist/animation/public.js +1 -1
- package/dist/animation/schema.d.ts +2 -2
- package/dist/animation/schema.d.ts.map +1 -1
- package/dist/animation/schema.js +2 -2
- package/dist/animation/update.d.ts +3 -3
- package/dist/animation/update.d.ts.map +1 -1
- package/dist/animation/update.js +17 -10
- package/dist/calendar/index.d.ts.map +1 -1
- package/dist/calendar/index.js +41 -37
- package/dist/combobox/multi.d.ts +1 -1
- package/dist/combobox/shared.d.ts +4 -3
- package/dist/combobox/shared.d.ts.map +1 -1
- package/dist/combobox/shared.js +85 -55
- package/dist/combobox/single.d.ts +1 -1
- package/dist/datePicker/index.d.ts +2 -2
- package/dist/dialog/index.d.ts +2 -2
- package/dist/dialog/index.d.ts.map +1 -1
- package/dist/dialog/index.js +23 -11
- package/dist/dragAndDrop/index.d.ts +7 -7
- package/dist/dragAndDrop/index.d.ts.map +1 -1
- package/dist/dragAndDrop/index.js +73 -64
- package/dist/dragAndDrop/public.d.ts +1 -1
- package/dist/dragAndDrop/public.d.ts.map +1 -1
- package/dist/dragAndDrop/public.js +1 -1
- package/dist/internal/selectors.d.ts +10 -0
- package/dist/internal/selectors.d.ts.map +1 -1
- package/dist/internal/selectors.js +10 -0
- package/dist/listbox/multi.d.ts +2 -2
- package/dist/listbox/public.d.ts +1 -1
- package/dist/listbox/public.d.ts.map +1 -1
- package/dist/listbox/public.js +1 -1
- package/dist/listbox/shared.d.ts +9 -8
- package/dist/listbox/shared.d.ts.map +1 -1
- package/dist/listbox/shared.js +91 -51
- package/dist/listbox/single.d.ts +2 -2
- package/dist/menu/index.d.ts +7 -6
- package/dist/menu/index.d.ts.map +1 -1
- package/dist/menu/index.js +86 -46
- package/dist/menu/public.d.ts +1 -1
- package/dist/menu/public.d.ts.map +1 -1
- package/dist/menu/public.js +1 -1
- package/dist/popover/index.d.ts +4 -3
- package/dist/popover/index.d.ts.map +1 -1
- package/dist/popover/index.js +48 -22
- package/dist/slider/index.d.ts.map +1 -1
- package/dist/slider/index.js +2 -1
- package/dist/tabs/index.d.ts.map +1 -1
- package/dist/tabs/index.js +16 -12
- package/dist/test/apps/disabledButton.d.ts +2 -2
- package/dist/toast/index.d.ts +19 -18
- package/dist/toast/index.d.ts.map +1 -1
- package/dist/toast/index.js +5 -4
- package/dist/toast/public.d.ts +1 -1
- package/dist/toast/public.d.ts.map +1 -1
- package/dist/toast/public.js +1 -1
- package/dist/toast/schema.d.ts +5 -5
- package/dist/toast/schema.d.ts.map +1 -1
- package/dist/toast/schema.js +2 -2
- package/dist/toast/test.d.ts +6 -5
- package/dist/toast/test.d.ts.map +1 -1
- package/dist/toast/test.js +8 -7
- package/dist/toast/update.d.ts +14 -14
- package/dist/toast/update.d.ts.map +1 -1
- package/dist/toast/update.js +26 -22
- package/dist/tooltip/index.d.ts +2 -177
- package/dist/tooltip/index.d.ts.map +1 -1
- package/dist/tooltip/index.js +2 -256
- package/dist/tooltip/message.d.ts +53 -0
- package/dist/tooltip/message.d.ts.map +1 -0
- package/dist/tooltip/message.js +45 -0
- package/dist/tooltip/public.d.ts +1 -1
- package/dist/tooltip/public.d.ts.map +1 -1
- package/dist/tooltip/public.js +1 -1
- package/dist/tooltip/tooltip.d.ts +130 -0
- package/dist/tooltip/tooltip.d.ts.map +1 -0
- package/dist/tooltip/tooltip.js +226 -0
- package/dist/virtualList/index.d.ts.map +1 -1
- package/dist/virtualList/index.js +22 -18
- package/package.json +2 -2
package/dist/anchor.d.ts
CHANGED
|
@@ -9,6 +9,7 @@ export declare const AnchorConfig: S.Struct<{
|
|
|
9
9
|
readonly offset: S.optional<S.Number>;
|
|
10
10
|
readonly padding: S.optional<S.Number>;
|
|
11
11
|
readonly portal: S.optional<S.Boolean>;
|
|
12
|
+
readonly isPlacementLocked: S.optional<S.Boolean>;
|
|
12
13
|
}>;
|
|
13
14
|
export type AnchorConfig = typeof AnchorConfig.Type;
|
|
14
15
|
/** Relocates an element into the shared `foldkit-portal-root` div within its
|
|
@@ -29,7 +30,12 @@ export declare const portalToContainingRoot: (element: Element) => (() => void);
|
|
|
29
30
|
* first position computation clears visibility, deferred via
|
|
30
31
|
* requestAnimationFrame so the element is painted before focus fires.
|
|
31
32
|
* `focusSelector` optionally targets a descendant (e.g. a calendar grid
|
|
32
|
-
* inside a popover panel) instead of the panel itself.
|
|
33
|
+
* inside a popover panel) instead of the panel itself.
|
|
34
|
+
* When `isPlacementLocked` is true, the element keeps the side that the first
|
|
35
|
+
* positioning picks, and `flip` is removed from every later update. The locked
|
|
36
|
+
* side is also written to `data-placement` on the element, so CSS can react to
|
|
37
|
+
* it. None of this happens unless `isPlacementLocked` is set, so existing
|
|
38
|
+
* callers render exactly as before. */
|
|
33
39
|
export declare const anchorSetup: (config: {
|
|
34
40
|
buttonId: string;
|
|
35
41
|
anchor: AnchorConfig;
|
package/dist/anchor.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"anchor.d.ts","sourceRoot":"","sources":["../src/anchor.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"anchor.d.ts","sourceRoot":"","sources":["../src/anchor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAmB,MAAM,IAAI,CAAC,EAAgB,MAAM,QAAQ,CAAA;AAYnE;mFACmF;AACnF,eAAO,MAAM,SAAS,qKAapB,CAAA;AAEF,oGAAoG;AACpG,eAAO,MAAM,YAAY;;;;;;;EAOvB,CAAA;AAEF,MAAM,MAAM,YAAY,GAAG,OAAO,YAAY,CAAC,IAAI,CAAA;AAkCnD;;;;;;0DAM0D;AAC1D,eAAO,MAAM,sBAAsB,GAAI,SAAS,OAAO,KAAG,CAAC,MAAM,IAAI,CAWpE,CAAA;AAKD;;;;;;;;;;;;;;;wCAewC;AACxC,eAAO,MAAM,WAAW,GACrB,QAAQ;IACP,QAAQ,EAAE,MAAM,CAAA;IAChB,MAAM,EAAE,YAAY,CAAA;IACpB,YAAY,CAAC,EAAE,OAAO,CAAA;IACtB,kBAAkB,CAAC,EAAE,OAAO,CAAA;IAC5B,aAAa,CAAC,EAAE,MAAM,CAAA;CACvB,MACA,SAAS,OAAO,KAAG,CAAC,MAAM,IAAI,CAiK9B,CAAA"}
|
package/dist/anchor.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { brandViewResult as __foldkitBrandViewResult } from 'foldkit/brand'
|
|
2
|
-
import { Function, Schema as S } from 'effect';
|
|
2
|
+
import { Array, Function, Schema as S, String, pipe } from 'effect';
|
|
3
3
|
import { autoUpdate, computePosition, flip, offset as floatingOffset, shift, size, } from '@floating-ui/dom';
|
|
4
4
|
/** Schema mirroring `@floating-ui/dom`'s `Placement` literal union: a side
|
|
5
5
|
* (`top`/`right`/`bottom`/`left`) optionally suffixed with `-start` or `-end`. */
|
|
@@ -24,6 +24,7 @@ export const AnchorConfig = S.Struct({
|
|
|
24
24
|
offset: S.optional(S.Number),
|
|
25
25
|
padding: S.optional(S.Number),
|
|
26
26
|
portal: S.optional(S.Boolean),
|
|
27
|
+
isPlacementLocked: S.optional(S.Boolean),
|
|
27
28
|
});
|
|
28
29
|
const PORTAL_ROOT_ID = 'foldkit-portal-root';
|
|
29
30
|
const getOrCreatePortalRoot = (element) => {
|
|
@@ -71,6 +72,7 @@ export const portalToContainingRoot = (element) => {
|
|
|
71
72
|
}
|
|
72
73
|
}), "@foldkit/ui/anchor.js#portalToContainingRoot");
|
|
73
74
|
};
|
|
75
|
+
const toSide = (placement) => __foldkitBrandViewResult((pipe(placement, String.split('-'), Array.headNonEmpty)), "@foldkit/ui/anchor.js#toSide");
|
|
74
76
|
/** Positions a floating element relative to its button using Floating UI, then
|
|
75
77
|
* returns a cleanup function. Designed to be called inside an `OnMount`
|
|
76
78
|
* action: the consumer wraps the call in `Effect.sync` and stashes the
|
|
@@ -81,7 +83,12 @@ export const portalToContainingRoot = (element) => {
|
|
|
81
83
|
* first position computation clears visibility, deferred via
|
|
82
84
|
* requestAnimationFrame so the element is painted before focus fires.
|
|
83
85
|
* `focusSelector` optionally targets a descendant (e.g. a calendar grid
|
|
84
|
-
* inside a popover panel) instead of the panel itself.
|
|
86
|
+
* inside a popover panel) instead of the panel itself.
|
|
87
|
+
* When `isPlacementLocked` is true, the element keeps the side that the first
|
|
88
|
+
* positioning picks, and `flip` is removed from every later update. The locked
|
|
89
|
+
* side is also written to `data-placement` on the element, so CSS can react to
|
|
90
|
+
* it. None of this happens unless `isPlacementLocked` is set, so existing
|
|
91
|
+
* callers render exactly as before. */
|
|
85
92
|
export const anchorSetup = (config) => __foldkitBrandViewResult(((element) => {
|
|
86
93
|
// NOTE: resolve the button and any focus target within the element's own
|
|
87
94
|
// root, which is a shadow root when the app is hosted in one (e.g. the
|
|
@@ -105,38 +112,70 @@ export const anchorSetup = (config) => __foldkitBrandViewResult(((element) => {
|
|
|
105
112
|
if (inShadow) {
|
|
106
113
|
element.style.position = 'fixed';
|
|
107
114
|
}
|
|
108
|
-
const { placement, gap, offset: crossAxis, padding } = config.anchor;
|
|
115
|
+
const { placement, gap, offset: crossAxis, padding, isPlacementLocked, } = config.anchor;
|
|
109
116
|
const shouldInterceptTab = config.interceptTab ?? true;
|
|
117
|
+
const isPlacementLockEnabled = isPlacementLocked ?? false;
|
|
110
118
|
let isFirstUpdate = true;
|
|
111
|
-
|
|
119
|
+
let isActive = true;
|
|
120
|
+
let isPositioning = false;
|
|
121
|
+
let isPositioningQueued = false;
|
|
122
|
+
let lockedPlacement;
|
|
123
|
+
const positionElement = () => {
|
|
124
|
+
if (!isActive) {
|
|
125
|
+
return;
|
|
126
|
+
}
|
|
127
|
+
if (isPlacementLockEnabled && isPositioning) {
|
|
128
|
+
isPositioningQueued = true;
|
|
129
|
+
return;
|
|
130
|
+
}
|
|
131
|
+
if (isPlacementLockEnabled) {
|
|
132
|
+
isPositioning = true;
|
|
133
|
+
}
|
|
134
|
+
const isLocked = isPlacementLockEnabled && lockedPlacement !== undefined;
|
|
135
|
+
const requestedPlacement = lockedPlacement ?? placement ?? 'bottom-start';
|
|
112
136
|
computePosition(button, element, {
|
|
113
|
-
placement:
|
|
137
|
+
placement: requestedPlacement,
|
|
114
138
|
strategy,
|
|
115
139
|
middleware: [
|
|
116
140
|
floatingOffset({
|
|
117
141
|
mainAxis: gap ?? 0,
|
|
118
142
|
crossAxis: crossAxis ?? 0,
|
|
119
143
|
}),
|
|
120
|
-
flip({ padding: padding ?? 0 }),
|
|
144
|
+
...(isLocked ? [] : [flip({ padding: padding ?? 0 })]),
|
|
121
145
|
shift({ padding: padding ?? 0 }),
|
|
122
146
|
size({
|
|
123
147
|
padding: padding ?? 0,
|
|
124
148
|
apply({ rects, availableHeight }) {
|
|
149
|
+
if (!isActive) {
|
|
150
|
+
return;
|
|
151
|
+
}
|
|
125
152
|
element.style.setProperty('--button-width', `${rects.reference.width}px`);
|
|
126
|
-
element.style.maxHeight = `${availableHeight}px`;
|
|
153
|
+
element.style.maxHeight = `${Math.max(0, availableHeight)}px`;
|
|
127
154
|
element.style.overflowY = 'auto';
|
|
128
155
|
element.style.overscrollBehavior = 'none';
|
|
129
156
|
},
|
|
130
157
|
}),
|
|
131
158
|
],
|
|
132
|
-
})
|
|
159
|
+
})
|
|
160
|
+
.then(({ x, y, placement: resolvedPlacement }) => {
|
|
161
|
+
if (!isActive) {
|
|
162
|
+
return;
|
|
163
|
+
}
|
|
133
164
|
element.style.left = `${x}px`;
|
|
134
165
|
element.style.top = `${y}px`;
|
|
166
|
+
if (isPlacementLockEnabled) {
|
|
167
|
+
const nextLockedPlacement = lockedPlacement ?? resolvedPlacement;
|
|
168
|
+
lockedPlacement = nextLockedPlacement;
|
|
169
|
+
element.setAttribute('data-placement', toSide(nextLockedPlacement));
|
|
170
|
+
}
|
|
135
171
|
if (isFirstUpdate) {
|
|
136
172
|
isFirstUpdate = false;
|
|
137
173
|
element.style.visibility = '';
|
|
138
174
|
if (config.focusAfterPosition ?? false) {
|
|
139
175
|
requestAnimationFrame(() => {
|
|
176
|
+
if (!isActive) {
|
|
177
|
+
return;
|
|
178
|
+
}
|
|
140
179
|
const target = config.focusSelector
|
|
141
180
|
? owner.querySelector(config.focusSelector)
|
|
142
181
|
: element;
|
|
@@ -146,25 +185,37 @@ export const anchorSetup = (config) => __foldkitBrandViewResult(((element) => {
|
|
|
146
185
|
});
|
|
147
186
|
}
|
|
148
187
|
}
|
|
149
|
-
})
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
188
|
+
})
|
|
189
|
+
.finally(() => {
|
|
190
|
+
if (isPlacementLockEnabled) {
|
|
191
|
+
isPositioning = false;
|
|
192
|
+
}
|
|
193
|
+
if (isActive && isPositioningQueued) {
|
|
194
|
+
isPositioningQueued = false;
|
|
195
|
+
positionElement();
|
|
155
196
|
}
|
|
156
|
-
};
|
|
197
|
+
});
|
|
198
|
+
};
|
|
199
|
+
const floatingCleanup = autoUpdate(button, element, positionElement);
|
|
200
|
+
const handleTabKey = (event) => {
|
|
201
|
+
if (event instanceof KeyboardEvent && event.key === 'Tab') {
|
|
202
|
+
button.focus();
|
|
203
|
+
}
|
|
204
|
+
};
|
|
205
|
+
const isTabIntercepted = isPortal && shouldInterceptTab;
|
|
206
|
+
if (isTabIntercepted) {
|
|
157
207
|
element.addEventListener('keydown', handleTabKey);
|
|
158
|
-
return __foldkitBrandViewResult((() => {
|
|
159
|
-
floatingCleanup();
|
|
160
|
-
element.removeEventListener('keydown', handleTabKey);
|
|
161
|
-
portalCleanup?.();
|
|
162
|
-
}), "@foldkit/ui/anchor.js#anonymous~2");
|
|
163
|
-
}
|
|
164
|
-
else {
|
|
165
|
-
return __foldkitBrandViewResult((() => {
|
|
166
|
-
floatingCleanup();
|
|
167
|
-
portalCleanup?.();
|
|
168
|
-
}), "@foldkit/ui/anchor.js#anonymous~2");
|
|
169
208
|
}
|
|
209
|
+
return __foldkitBrandViewResult((() => {
|
|
210
|
+
isActive = false;
|
|
211
|
+
isPositioningQueued = false;
|
|
212
|
+
floatingCleanup();
|
|
213
|
+
if (isTabIntercepted) {
|
|
214
|
+
element.removeEventListener('keydown', handleTabKey);
|
|
215
|
+
}
|
|
216
|
+
if (isPlacementLockEnabled) {
|
|
217
|
+
element.removeAttribute('data-placement');
|
|
218
|
+
}
|
|
219
|
+
portalCleanup?.();
|
|
220
|
+
}), "@foldkit/ui/anchor.js#anonymous~2");
|
|
170
221
|
}), "@foldkit/ui/anchor.js#anchorSetup");
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import type { ChildAttribute, Html, TagName } from 'foldkit/html';
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
2
|
+
import { CompletedWaitForPaint, EndedAnimation, Hid, Message, Model, OutMessage, Showed, StartedLeaveAnimating, TransitionState, TransitionedOut, init } from './schema.js';
|
|
3
|
+
import { WaitForAnimationSettled, WaitForPaint, defaultLeaveCommand, update } from './update.js';
|
|
4
4
|
export type { InitConfig } from './schema.js';
|
|
5
|
-
export {
|
|
6
|
-
export {
|
|
5
|
+
export { CompletedWaitForPaint, EndedAnimation, Hid, init, Message, Model, OutMessage, Showed, StartedLeaveAnimating, TransitionState, TransitionedOut, };
|
|
6
|
+
export { WaitForAnimationSettled, WaitForPaint, defaultLeaveCommand, update };
|
|
7
7
|
/** Per-render view inputs passed to `view` via `h.submodel`'s `viewInputs` field. */
|
|
8
8
|
export type ViewInputs = Readonly<{
|
|
9
9
|
content: Html;
|
|
@@ -33,7 +33,7 @@ export declare const view: import("foldkit/submodel").View<{
|
|
|
33
33
|
} | {
|
|
34
34
|
readonly _tag: "Hid";
|
|
35
35
|
} | {
|
|
36
|
-
readonly _tag: "
|
|
36
|
+
readonly _tag: "CompletedWaitForPaint";
|
|
37
37
|
} | {
|
|
38
38
|
readonly _tag: "EndedAnimation";
|
|
39
39
|
}, Readonly<{
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/animation/index.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AAGjE,OAAO,EACL,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/animation/index.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AAGjE,OAAO,EACL,qBAAqB,EACrB,cAAc,EACd,GAAG,EACH,OAAO,EACP,KAAK,EACL,UAAU,EACV,MAAM,EACN,qBAAqB,EACrB,eAAe,EACf,eAAe,EACf,IAAI,EACL,MAAM,aAAa,CAAA;AACpB,OAAO,EACL,uBAAuB,EACvB,YAAY,EACZ,mBAAmB,EACnB,MAAM,EACP,MAAM,aAAa,CAAA;AAEpB,YAAY,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AAC7C,OAAO,EACL,qBAAqB,EACrB,cAAc,EACd,GAAG,EACH,IAAI,EACJ,OAAO,EACP,KAAK,EACL,UAAU,EACV,MAAM,EACN,qBAAqB,EACrB,eAAe,EACf,eAAe,GAChB,CAAA;AAED,OAAO,EAAE,uBAAuB,EAAE,YAAY,EAAE,mBAAmB,EAAE,MAAM,EAAE,CAAA;AAI7E,qFAAqF;AACrF,MAAM,MAAM,UAAU,GAAG,QAAQ,CAAC;IAChC,OAAO,EAAE,IAAI,CAAA;IACb,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,UAAU,CAAC,EAAE,aAAa,CAAC,cAAc,CAAC,CAAA;IAC1C,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB;;2EAEuE;IACvE,WAAW,CAAC,EAAE,OAAO,CAAA;CACtB,CAAC,CAAA;AAEF;;;;;;;;GAQG;AACH,eAAO,MAAM,IAAI;;;;;;;;;;;;;aAnBN,IAAI;gBACD,MAAM;iBACL,aAAa,CAAC,cAAc,CAAC;cAChC,OAAO;IACjB;;2EAEuE;kBACzD,OAAO;GA2GtB,CAAA"}
|
package/dist/animation/index.js
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { brandViewResult as __foldkitBrandViewResult } from 'foldkit/brand'
|
|
2
2
|
import { Match as M } from 'effect';
|
|
3
3
|
import { defineView } from 'foldkit/submodel';
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
export {
|
|
7
|
-
export {
|
|
4
|
+
import { CompletedWaitForPaint, EndedAnimation, Hid, Message, Model, OutMessage, Showed, StartedLeaveAnimating, TransitionState, TransitionedOut, init, } from './schema.js';
|
|
5
|
+
import { WaitForAnimationSettled, WaitForPaint, defaultLeaveCommand, update, } from './update.js';
|
|
6
|
+
export { CompletedWaitForPaint, EndedAnimation, Hid, init, Message, Model, OutMessage, Showed, StartedLeaveAnimating, TransitionState, TransitionedOut, };
|
|
7
|
+
export { WaitForAnimationSettled, WaitForPaint, defaultLeaveCommand, update };
|
|
8
8
|
/** Renders a headless animation wrapper that coordinates CSS transitions and
|
|
9
9
|
* CSS keyframe animations via data attributes.
|
|
10
10
|
*
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
export { init, update, view, defaultLeaveCommand, Model, Message, OutMessage, Showed, Hid,
|
|
1
|
+
export { init, update, view, defaultLeaveCommand, Model, Message, OutMessage, Showed, Hid, CompletedWaitForPaint, EndedAnimation, StartedLeaveAnimating, TransitionedOut, TransitionState, WaitForPaint, WaitForAnimationSettled, } from './index.js';
|
|
2
2
|
export type { InitConfig, ViewInputs } from './index.js';
|
|
3
3
|
//# sourceMappingURL=public.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"public.d.ts","sourceRoot":"","sources":["../../src/animation/public.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,IAAI,EACJ,MAAM,EACN,IAAI,EACJ,mBAAmB,EACnB,KAAK,EACL,OAAO,EACP,UAAU,EACV,MAAM,EACN,GAAG,EACH,
|
|
1
|
+
{"version":3,"file":"public.d.ts","sourceRoot":"","sources":["../../src/animation/public.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,IAAI,EACJ,MAAM,EACN,IAAI,EACJ,mBAAmB,EACnB,KAAK,EACL,OAAO,EACP,UAAU,EACV,MAAM,EACN,GAAG,EACH,qBAAqB,EACrB,cAAc,EACd,qBAAqB,EACrB,eAAe,EACf,eAAe,EACf,YAAY,EACZ,uBAAuB,GACxB,MAAM,YAAY,CAAA;AAEnB,YAAY,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,YAAY,CAAA"}
|
package/dist/animation/public.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export { init, update, view, defaultLeaveCommand, Model, Message, OutMessage, Showed, Hid,
|
|
1
|
+
export { init, update, view, defaultLeaveCommand, Model, Message, OutMessage, Showed, Hid, CompletedWaitForPaint, EndedAnimation, StartedLeaveAnimating, TransitionedOut, TransitionState, WaitForPaint, WaitForAnimationSettled, } from './index.js';
|
|
@@ -14,14 +14,14 @@ export declare const Showed: import("foldkit/schema").CallableTaggedStruct<"Show
|
|
|
14
14
|
/** Sent when the animation should leave (become hidden). Starts the leave sequence. */
|
|
15
15
|
export declare const Hid: import("foldkit/schema").CallableTaggedStruct<"Hid", {}>;
|
|
16
16
|
/** Sent internally when a double-rAF completes, advancing the lifecycle to its animating phase. */
|
|
17
|
-
export declare const
|
|
17
|
+
export declare const CompletedWaitForPaint: import("foldkit/schema").CallableTaggedStruct<"CompletedWaitForPaint", {}>;
|
|
18
18
|
/** Sent internally when all CSS animations on the element have settled. Covers both CSS transitions and CSS keyframe animations. */
|
|
19
19
|
export declare const EndedAnimation: import("foldkit/schema").CallableTaggedStruct<"EndedAnimation", {}>;
|
|
20
20
|
/** Union of all messages the animation component can produce. */
|
|
21
21
|
export declare const Message: S.Union<[
|
|
22
22
|
typeof Showed,
|
|
23
23
|
typeof Hid,
|
|
24
|
-
typeof
|
|
24
|
+
typeof CompletedWaitForPaint,
|
|
25
25
|
typeof EndedAnimation
|
|
26
26
|
]>;
|
|
27
27
|
export type Message = typeof Message.Type;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../src/animation/schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,IAAI,CAAC,EAAE,MAAM,QAAQ,CAAA;AAKpC,6EAA6E;AAC7E,eAAO,MAAM,eAAe,+FAM1B,CAAA;AACF,MAAM,MAAM,eAAe,GAAG,OAAO,eAAe,CAAC,IAAI,CAAA;AAIzD,kHAAkH;AAClH,eAAO,MAAM,KAAK;;;;EAIhB,CAAA;AAEF,MAAM,MAAM,KAAK,GAAG,OAAO,KAAK,CAAC,IAAI,CAAA;AAIrC,wFAAwF;AACxF,eAAO,MAAM,MAAM,6DAAc,CAAA;AACjC,uFAAuF;AACvF,eAAO,MAAM,GAAG,0DAAW,CAAA;AAC3B,mGAAmG;AACnG,eAAO,MAAM,
|
|
1
|
+
{"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../src/animation/schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,IAAI,CAAC,EAAE,MAAM,QAAQ,CAAA;AAKpC,6EAA6E;AAC7E,eAAO,MAAM,eAAe,+FAM1B,CAAA;AACF,MAAM,MAAM,eAAe,GAAG,OAAO,eAAe,CAAC,IAAI,CAAA;AAIzD,kHAAkH;AAClH,eAAO,MAAM,KAAK;;;;EAIhB,CAAA;AAEF,MAAM,MAAM,KAAK,GAAG,OAAO,KAAK,CAAC,IAAI,CAAA;AAIrC,wFAAwF;AACxF,eAAO,MAAM,MAAM,6DAAc,CAAA;AACjC,uFAAuF;AACvF,eAAO,MAAM,GAAG,0DAAW,CAAA;AAC3B,mGAAmG;AACnG,eAAO,MAAM,qBAAqB,4EAA6B,CAAA;AAC/D,oIAAoI;AACpI,eAAO,MAAM,cAAc,qEAAsB,CAAA;AAEjD,iEAAiE;AACjE,eAAO,MAAM,OAAO,EAAE,CAAC,CAAC,KAAK,CAC3B;IACE,OAAO,MAAM;IACb,OAAO,GAAG;IACV,OAAO,qBAAqB;IAC5B,OAAO,cAAc;CACtB,CAC8D,CAAA;AACjE,MAAM,MAAM,OAAO,GAAG,OAAO,OAAO,CAAC,IAAI,CAAA;AAEzC,MAAM,MAAM,MAAM,GAAG,OAAO,MAAM,CAAC,IAAI,CAAA;AACvC,MAAM,MAAM,GAAG,GAAG,OAAO,GAAG,CAAC,IAAI,CAAA;AAIjC,0RAA0R;AAC1R,eAAO,MAAM,qBAAqB,4EAA6B,CAAA;AAC/D,iIAAiI;AACjI,eAAO,MAAM,eAAe,sEAAuB,CAAA;AAEnD,eAAO,MAAM,UAAU,sKAAoD,CAAA;AAC3E,MAAM,MAAM,UAAU,GAAG,OAAO,UAAU,CAAC,IAAI,CAAA;AAI/C,iEAAiE;AACjE,MAAM,MAAM,UAAU,GAAG,QAAQ,CAAC;IAChC,EAAE,EAAE,MAAM,CAAA;IACV,SAAS,CAAC,EAAE,OAAO,CAAA;CACpB,CAAC,CAAA;AAEF,4EAA4E;AAC5E,eAAO,MAAM,IAAI,GAAI,QAAQ,UAAU,KAAG,KAIxC,CAAA"}
|
package/dist/animation/schema.js
CHANGED
|
@@ -23,11 +23,11 @@ export const Showed = m('Showed');
|
|
|
23
23
|
/** Sent when the animation should leave (become hidden). Starts the leave sequence. */
|
|
24
24
|
export const Hid = m('Hid');
|
|
25
25
|
/** Sent internally when a double-rAF completes, advancing the lifecycle to its animating phase. */
|
|
26
|
-
export const
|
|
26
|
+
export const CompletedWaitForPaint = m('CompletedWaitForPaint');
|
|
27
27
|
/** Sent internally when all CSS animations on the element have settled. Covers both CSS transitions and CSS keyframe animations. */
|
|
28
28
|
export const EndedAnimation = m('EndedAnimation');
|
|
29
29
|
/** Union of all messages the animation component can produce. */
|
|
30
|
-
export const Message = S.Union([Showed, Hid,
|
|
30
|
+
export const Message = S.Union([Showed, Hid, CompletedWaitForPaint, EndedAnimation]);
|
|
31
31
|
// OUT MESSAGE
|
|
32
32
|
/** Sent to the parent when the leave sequence advances to LeaveAnimating. The parent is responsible for providing the command that detects when the leave animation completes (e.g. WaitForAnimationSettled or a racing command). Use `defaultLeaveCommand` for the standard behavior. */
|
|
33
33
|
export const StartedLeaveAnimating = m('StartedLeaveAnimating');
|
|
@@ -6,9 +6,9 @@ type UpdateReturn = readonly [
|
|
|
6
6
|
ReadonlyArray<Command.Command<Message>>,
|
|
7
7
|
Option.Option<OutMessage>
|
|
8
8
|
];
|
|
9
|
-
/**
|
|
10
|
-
export declare const
|
|
11
|
-
readonly _tag: "
|
|
9
|
+
/** Waits for paint via double-rAF before the enter/leave lifecycle advances. */
|
|
10
|
+
export declare const WaitForPaint: Command.CommandDefinitionNoArgs<"WaitForPaint", Effect.Effect<{
|
|
11
|
+
readonly _tag: "CompletedWaitForPaint";
|
|
12
12
|
}, never, never>>;
|
|
13
13
|
/** Waits for all CSS animations on the element to settle. Covers both CSS transitions and CSS keyframe animations. */
|
|
14
14
|
export declare const WaitForAnimationSettled: Command.CommandDefinitionWithArgs<"WaitForAnimationSettled", {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"update.d.ts","sourceRoot":"","sources":["../../src/animation/update.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAc,MAAM,EAAE,MAAM,IAAI,CAAC,EAAE,MAAM,QAAQ,CAAA;AAChE,OAAO,KAAK,OAAO,MAAM,iBAAiB,CAAA;AAM1C,OAAO,EAGL,KAAK,OAAO,EACZ,KAAK,KAAK,EACV,KAAK,UAAU,EAGhB,MAAM,aAAa,CAAA;AAMpB,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;AAGD,
|
|
1
|
+
{"version":3,"file":"update.d.ts","sourceRoot":"","sources":["../../src/animation/update.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAc,MAAM,EAAE,MAAM,IAAI,CAAC,EAAE,MAAM,QAAQ,CAAA;AAChE,OAAO,KAAK,OAAO,MAAM,iBAAiB,CAAA;AAM1C,OAAO,EAGL,KAAK,OAAO,EACZ,KAAK,KAAK,EACV,KAAK,UAAU,EAGhB,MAAM,aAAa,CAAA;AAMpB,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;AAGD,gFAAgF;AAChF,eAAO,MAAM,YAAY;;iBAGvB,CAAA;AACF,sHAAsH;AACtH,eAAO,MAAM,uBAAuB;;;;iBAUnC,CAAA;AAED,oGAAoG;AACpG,eAAO,MAAM,MAAM,GAAI,OAAO,KAAK,EAAE,SAAS,OAAO,KAAG,YAyEvD,CAAA;AAED,2NAA2N;AAC3N,eAAO,MAAM,mBAAmB,GAAI,OAAO,KAAK,KAAG,OAAO,CAAC,OAAO,CAAC,OAAO,CAC/B,CAAA"}
|
package/dist/animation/update.js
CHANGED
|
@@ -5,17 +5,24 @@ import * as Dom from 'foldkit/dom';
|
|
|
5
5
|
import * as Render from 'foldkit/render';
|
|
6
6
|
import { evo } from 'foldkit/struct';
|
|
7
7
|
import { idSelector } from '../internal/selectors.js';
|
|
8
|
-
import {
|
|
8
|
+
import { CompletedWaitForPaint, EndedAnimation, StartedLeaveAnimating, TransitionedOut, } from './schema.js';
|
|
9
9
|
// UPDATE
|
|
10
10
|
const elementSelector = (id) => __foldkitBrandViewResult((idSelector(id)), "@foldkit/ui/animation/update.js#elementSelector");
|
|
11
11
|
const withUpdateReturn = M.withReturnType();
|
|
12
|
-
/**
|
|
13
|
-
export const
|
|
12
|
+
/** Waits for paint via double-rAF before the enter/leave lifecycle advances. */
|
|
13
|
+
export const WaitForPaint = Command.define('WaitForPaint', {
|
|
14
|
+
messages: [CompletedWaitForPaint],
|
|
15
|
+
execute: Render.afterPaint.pipe(Effect.as(CompletedWaitForPaint())),
|
|
16
|
+
});
|
|
14
17
|
/** Waits for all CSS animations on the element to settle. Covers both CSS transitions and CSS keyframe animations. */
|
|
15
|
-
export const WaitForAnimationSettled = Command.define('WaitForAnimationSettled', {
|
|
18
|
+
export const WaitForAnimationSettled = Command.define('WaitForAnimationSettled', {
|
|
19
|
+
args: { id: S.String },
|
|
20
|
+
messages: [EndedAnimation],
|
|
21
|
+
execute: ({ id }) => __foldkitBrandViewResult((Dom.waitForAnimationSettled(elementSelector(id)).pipe(Effect.as(EndedAnimation()))), "@foldkit/ui/animation/update.js#execute"),
|
|
22
|
+
});
|
|
16
23
|
/** Processes an animation message and returns the next model, commands, and optional OutMessage. */
|
|
17
24
|
export const update = (model, message) => {
|
|
18
|
-
const maybeNextFrame =
|
|
25
|
+
const maybeNextFrame = WaitForPaint();
|
|
19
26
|
return __foldkitBrandViewResult((M.value(message).pipe(withUpdateReturn, M.tagsExhaustive({
|
|
20
27
|
Showed: () => {
|
|
21
28
|
if (model.isShowing) {
|
|
@@ -45,24 +52,24 @@ export const update = (model, message) => {
|
|
|
45
52
|
Option.none(),
|
|
46
53
|
]), "@foldkit/ui/animation/update.js#Hid");
|
|
47
54
|
},
|
|
48
|
-
|
|
55
|
+
CompletedWaitForPaint: () => __foldkitBrandViewResult((M.value(model.transitionState).pipe(withUpdateReturn, M.when('EnterStart', () => __foldkitBrandViewResult(([
|
|
49
56
|
evo(model, { transitionState: () => __foldkitBrandViewResult(('EnterAnimating'), "@foldkit/ui/animation/update.js#transitionState~3") }),
|
|
50
57
|
[WaitForAnimationSettled({ id: model.id })],
|
|
51
58
|
Option.none(),
|
|
52
|
-
]), "@foldkit/ui/animation/update.js#anonymous
|
|
59
|
+
]), "@foldkit/ui/animation/update.js#anonymous")), M.when('LeaveStart', () => __foldkitBrandViewResult(([
|
|
53
60
|
evo(model, { transitionState: () => __foldkitBrandViewResult(('LeaveAnimating'), "@foldkit/ui/animation/update.js#transitionState~4") }),
|
|
54
61
|
[],
|
|
55
62
|
Option.some(StartedLeaveAnimating()),
|
|
56
|
-
]), "@foldkit/ui/animation/update.js#anonymous~
|
|
63
|
+
]), "@foldkit/ui/animation/update.js#anonymous~2")), M.orElse(() => __foldkitBrandViewResult(([model, [], Option.none()]), "@foldkit/ui/animation/update.js#anonymous~3")))), "@foldkit/ui/animation/update.js#CompletedWaitForPaint"),
|
|
57
64
|
EndedAnimation: () => __foldkitBrandViewResult((M.value(model.transitionState).pipe(withUpdateReturn, M.when('EnterAnimating', () => __foldkitBrandViewResult(([
|
|
58
65
|
evo(model, { transitionState: () => __foldkitBrandViewResult(('Idle'), "@foldkit/ui/animation/update.js#transitionState~5") }),
|
|
59
66
|
[],
|
|
60
67
|
Option.none(),
|
|
61
|
-
]), "@foldkit/ui/animation/update.js#anonymous~
|
|
68
|
+
]), "@foldkit/ui/animation/update.js#anonymous~4")), M.when('LeaveAnimating', () => __foldkitBrandViewResult(([
|
|
62
69
|
evo(model, { transitionState: () => __foldkitBrandViewResult(('Idle'), "@foldkit/ui/animation/update.js#transitionState~6") }),
|
|
63
70
|
[],
|
|
64
71
|
Option.some(TransitionedOut()),
|
|
65
|
-
]), "@foldkit/ui/animation/update.js#anonymous~
|
|
72
|
+
]), "@foldkit/ui/animation/update.js#anonymous~5")), M.orElse(() => __foldkitBrandViewResult(([model, [], Option.none()]), "@foldkit/ui/animation/update.js#anonymous~6")))), "@foldkit/ui/animation/update.js#EndedAnimation"),
|
|
66
73
|
}))), "@foldkit/ui/animation/update.js#update");
|
|
67
74
|
};
|
|
68
75
|
/** Creates the standard leave-phase command that waits for CSS animations on the element to settle. Use this when handling the `StartedLeaveAnimating` OutMessage for components that don't need custom leave behavior. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/calendar/index.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/calendar/index.ts"],"names":[],"mappings":"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"}
|