foldkit 0.89.0 → 0.90.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +19 -10
- package/dist/command/index.d.ts.map +1 -1
- package/dist/command/index.js +3 -11
- package/dist/devTools/overlay.d.ts +3 -3
- package/dist/devTools/overlay.d.ts.map +1 -1
- package/dist/devTools/overlay.js +209 -171
- package/dist/devTools/protocol.d.ts +77 -19
- package/dist/devTools/protocol.d.ts.map +1 -1
- package/dist/devTools/protocol.js +10 -5
- package/dist/devTools/serialize.d.ts +8 -2
- package/dist/devTools/serialize.d.ts.map +1 -1
- package/dist/devTools/serialize.js +11 -2
- package/dist/devTools/store.d.ts +9 -5
- package/dist/devTools/store.d.ts.map +1 -1
- package/dist/devTools/store.js +13 -13
- package/dist/devTools/webSocketBridge.d.ts.map +1 -1
- package/dist/devTools/webSocketBridge.js +2 -2
- package/dist/html/index.d.ts +12 -0
- package/dist/html/index.d.ts.map +1 -1
- package/dist/html/index.js +20 -4
- package/dist/mount/index.d.ts +64 -21
- package/dist/mount/index.d.ts.map +1 -1
- package/dist/mount/index.js +43 -32
- package/dist/mount/public.d.ts +1 -1
- package/dist/mount/public.d.ts.map +1 -1
- package/dist/runtime/crashUI.js +30 -30
- package/dist/runtime/runtime.d.ts.map +1 -1
- package/dist/runtime/runtime.js +4 -4
- package/dist/test/apps/bubbling.js +4 -4
- package/dist/test/apps/disabledButton.js +10 -10
- package/dist/test/apps/fileUpload.d.ts.map +1 -1
- package/dist/test/apps/fileUpload.js +13 -13
- package/dist/test/apps/interactions.d.ts.map +1 -1
- package/dist/test/apps/interactions.js +15 -15
- package/dist/test/apps/keypress.js +8 -8
- package/dist/test/apps/login.d.ts.map +1 -1
- package/dist/test/apps/login.js +32 -24
- package/dist/test/apps/logoutButton.d.ts.map +1 -1
- package/dist/test/apps/logoutButton.js +2 -2
- package/dist/test/apps/mountPanel.d.ts +19 -3
- package/dist/test/apps/mountPanel.d.ts.map +1 -1
- package/dist/test/apps/mountPanel.js +41 -20
- package/dist/test/apps/multiRole.js +3 -3
- package/dist/test/apps/pointer.d.ts.map +1 -1
- package/dist/test/apps/pointer.js +11 -11
- package/dist/test/apps/resumeUpload.d.ts.map +1 -1
- package/dist/test/apps/resumeUpload.js +8 -8
- package/dist/test/internal.d.ts +50 -20
- package/dist/test/internal.d.ts.map +1 -1
- package/dist/test/internal.js +65 -74
- package/dist/test/scene.d.ts +7 -7
- package/dist/test/scene.d.ts.map +1 -1
- package/dist/test/scene.js +42 -37
- package/dist/test/story.d.ts.map +1 -1
- package/dist/test/story.js +2 -2
- package/dist/ui/anchor.d.ts +12 -8
- package/dist/ui/anchor.d.ts.map +1 -1
- package/dist/ui/anchor.js +41 -16
- package/dist/ui/animation/index.js +24 -24
- package/dist/ui/button/index.d.ts.map +1 -1
- package/dist/ui/button/index.js +6 -6
- package/dist/ui/calendar/index.d.ts.map +1 -1
- package/dist/ui/calendar/index.js +101 -99
- package/dist/ui/checkbox/index.d.ts.map +1 -1
- package/dist/ui/checkbox/index.js +15 -15
- package/dist/ui/combobox/multi.d.ts +1 -7
- package/dist/ui/combobox/multi.d.ts.map +1 -1
- package/dist/ui/combobox/shared.d.ts +14 -5
- package/dist/ui/combobox/shared.d.ts.map +1 -1
- package/dist/ui/combobox/shared.js +137 -125
- package/dist/ui/combobox/single.d.ts +1 -7
- package/dist/ui/combobox/single.d.ts.map +1 -1
- package/dist/ui/datePicker/index.js +4 -4
- package/dist/ui/dialog/index.d.ts.map +1 -1
- package/dist/ui/dialog/index.js +27 -27
- package/dist/ui/disclosure/index.d.ts.map +1 -1
- package/dist/ui/disclosure/index.js +24 -22
- package/dist/ui/dragAndDrop/index.d.ts.map +1 -1
- package/dist/ui/dragAndDrop/index.js +15 -15
- package/dist/ui/fieldset/index.js +6 -6
- package/dist/ui/fileDrop/index.d.ts +2 -2
- package/dist/ui/fileDrop/index.d.ts.map +1 -1
- package/dist/ui/fileDrop/index.js +16 -16
- package/dist/ui/input/index.d.ts.map +1 -1
- package/dist/ui/input/index.js +15 -13
- package/dist/ui/listbox/multi.d.ts +1 -7
- package/dist/ui/listbox/multi.d.ts.map +1 -1
- package/dist/ui/listbox/shared.d.ts +12 -3
- package/dist/ui/listbox/shared.d.ts.map +1 -1
- package/dist/ui/listbox/shared.js +91 -89
- package/dist/ui/listbox/single.d.ts +1 -7
- package/dist/ui/listbox/single.d.ts.map +1 -1
- package/dist/ui/menu/index.d.ts +12 -3
- package/dist/ui/menu/index.d.ts.map +1 -1
- package/dist/ui/menu/index.js +75 -77
- package/dist/ui/popover/index.d.ts +13 -3
- package/dist/ui/popover/index.d.ts.map +1 -1
- package/dist/ui/popover/index.js +62 -53
- package/dist/ui/radioGroup/index.d.ts.map +1 -1
- package/dist/ui/radioGroup/index.js +20 -20
- package/dist/ui/select/index.d.ts.map +1 -1
- package/dist/ui/select/index.js +13 -11
- package/dist/ui/slider/index.d.ts.map +1 -1
- package/dist/ui/slider/index.js +26 -26
- package/dist/ui/switch/index.d.ts.map +1 -1
- package/dist/ui/switch/index.js +14 -14
- package/dist/ui/tabs/index.d.ts.map +1 -1
- package/dist/ui/tabs/index.js +40 -36
- package/dist/ui/textarea/index.d.ts.map +1 -1
- package/dist/ui/textarea/index.js +15 -13
- package/dist/ui/toast/index.d.ts.map +1 -1
- package/dist/ui/toast/index.js +27 -27
- package/dist/ui/tooltip/index.d.ts +11 -2
- package/dist/ui/tooltip/index.d.ts.map +1 -1
- package/dist/ui/tooltip/index.js +33 -33
- package/dist/ui/virtualList/index.d.ts.map +1 -1
- package/dist/ui/virtualList/index.js +18 -15
- package/package.json +1 -1
package/dist/test/scene.js
CHANGED
|
@@ -2,7 +2,7 @@ import { Array, Effect, Function, Option, Predicate, String as String_, pipe, }
|
|
|
2
2
|
import { dual } from 'effect/Function';
|
|
3
3
|
import { FOLDKIT_MOUNT_KEY, FileHandlerSymbol } from '../html/index.js';
|
|
4
4
|
import { Dispatch } from '../runtime/index.js';
|
|
5
|
-
import { assertAllCommandsResolved, assertAllMountsResolved, assertAllUnmountsAcknowledged, assertExactCommands, assertExactMounts, assertHasCommands, assertHasMounts, assertNoUnacknowledgedUnmounts, assertNoUnresolvedCommands, assertNoUnresolvedMounts, assertZeroCommands, assertZeroMounts, formatCommand, formatMatcher, resolveAllInternal, resolveByMatcher,
|
|
5
|
+
import { assertAllCommandsResolved, assertAllMountsResolved, assertAllUnmountsAcknowledged, assertExactCommands, assertExactMounts, assertHasCommands, assertHasMounts, assertNoUnacknowledgedUnmounts, assertNoUnresolvedCommands, assertNoUnresolvedMounts, assertZeroCommands, assertZeroMounts, formatCommand, formatMatcher, formatMountList, formatMountMatcher, mountMatches, resolveAllInternal, resolveByMatcher, resolveMountByMatcher, } from './internal.js';
|
|
6
6
|
import { accessibleDescription, accessibleName, ancestorsOf, attr, resolveTarget, selector, textContent, within, } from './query.js';
|
|
7
7
|
import { allAltText, allDisplayValue, allLabel, allPlaceholder, allRole, allSelector, allTestId, allText, allTitle, } from './query.js';
|
|
8
8
|
export { find, findAll, textContent, attr, getByRole, getAllByRole, getByText, getByPlaceholder, getByLabel, getByAltText, getByTitle, getByTestId, getByDisplayValue, role, placeholder, label, altText, title, testId, displayValue, selector, text, within, getAllByText, getAllByLabel, getAllByPlaceholder, getAllByAltText, getAllByTitle, getAllByTestId, getAllByDisplayValue, first, last, nth, filter, } from './query.js';
|
|
@@ -35,7 +35,9 @@ const collectRenderedSlots = (vnode) => {
|
|
|
35
35
|
if (marker !== undefined) {
|
|
36
36
|
const occurrence = counts.get(marker.name) ?? 0;
|
|
37
37
|
counts.set(marker.name, occurrence + 1);
|
|
38
|
-
slots.push(
|
|
38
|
+
slots.push(marker.args === undefined
|
|
39
|
+
? { name: marker.name, occurrence }
|
|
40
|
+
: { name: marker.name, args: marker.args, occurrence });
|
|
39
41
|
}
|
|
40
42
|
for (const child of node.children ?? []) {
|
|
41
43
|
if (typeof child !== 'string') {
|
|
@@ -310,23 +312,23 @@ const expectNoCommandsStep = () => (simulation) => {
|
|
|
310
312
|
assertZeroCommands(toInternal(simulation).commands);
|
|
311
313
|
return simulation;
|
|
312
314
|
};
|
|
313
|
-
/** Resolves a specific pending Mount with the given result Message.
|
|
314
|
-
*
|
|
315
|
+
/** Resolves a specific pending Mount with the given result Message. Accepts
|
|
316
|
+
* either a Mount Definition (matches by name) or a Mount instance produced
|
|
317
|
+
* by calling a Definition (matches by name + structural-equal args). The
|
|
318
|
+
* first pending mount that matches is resolved. Mirrors `resolve` for
|
|
315
319
|
* Commands; the optional `toParentMessage` lifter matches `Mount.mapMessage`
|
|
316
320
|
* when a child Submodel mount is observed in a parent's view. */
|
|
317
|
-
const resolveMount = (
|
|
321
|
+
const resolveMount = (matcher, resultMessage, toParentMessage) => (simulation) => {
|
|
318
322
|
/* eslint-disable @typescript-eslint/consistent-type-assertions */
|
|
319
323
|
const internal = toInternal(simulation);
|
|
320
324
|
const messageForUpdate = (Predicate.isUndefined(toParentMessage)
|
|
321
325
|
? resultMessage
|
|
322
326
|
: toParentMessage(resultMessage));
|
|
323
|
-
const next =
|
|
327
|
+
const next = resolveMountByMatcher(internal, internal.mounts, matcher, messageForUpdate);
|
|
324
328
|
if (Predicate.isUndefined(next)) {
|
|
325
|
-
throw new Error(`I tried to resolve Mount
|
|
326
|
-
`Pending Mounts:\n${
|
|
327
|
-
|
|
328
|
-
: ' (none)'}\n\n` +
|
|
329
|
-
'Make sure the rendered view contains an OnMount with this name.');
|
|
329
|
+
throw new Error(`I tried to resolve Mount ${formatMountMatcher(matcher)} but it wasn't in the pending Mounts.\n\n` +
|
|
330
|
+
`Pending Mounts:\n${formatMountList(internal.mounts)}\n\n` +
|
|
331
|
+
'Make sure the rendered view contains an OnMount with this name and (when matching by instance) matching args.');
|
|
330
332
|
}
|
|
331
333
|
const resolvedKeys = new Set(Array.map(next.pendingMounts, slot => slotKey(slot)));
|
|
332
334
|
const updatedSlots = Array.map(internal.mountSlots, (state) => {
|
|
@@ -336,7 +338,7 @@ const resolveMount = (definition, resultMessage, toParentMessage) => (simulation
|
|
|
336
338
|
const key = slotKey(state.slot);
|
|
337
339
|
return resolvedKeys.has(key)
|
|
338
340
|
? state
|
|
339
|
-
: state.slot.name ===
|
|
341
|
+
: state.slot.name === matcher.name
|
|
340
342
|
? { slot: state.slot, status: RESOLVED }
|
|
341
343
|
: state;
|
|
342
344
|
});
|
|
@@ -351,24 +353,26 @@ const resolveMount = (definition, resultMessage, toParentMessage) => (simulation
|
|
|
351
353
|
* in the order listed; each resolution feeds its Message through update
|
|
352
354
|
* before the next is resolved. */
|
|
353
355
|
const resolveAllMounts = (...resolvers) => (simulation) => Array.reduce(resolvers, simulation, (current, resolver) => {
|
|
354
|
-
const [
|
|
356
|
+
const [matcher, resultMessage] = resolver;
|
|
355
357
|
const lift = resolver.length === 3
|
|
356
358
|
? /* eslint-disable-next-line @typescript-eslint/consistent-type-assertions */
|
|
357
359
|
resolver[2]
|
|
358
360
|
: undefined;
|
|
359
361
|
return Predicate.isUndefined(lift)
|
|
360
|
-
? resolveMount(
|
|
361
|
-
: resolveMount(
|
|
362
|
+
? resolveMount(matcher, resultMessage)(current)
|
|
363
|
+
: resolveMount(matcher, resultMessage, lift)(current);
|
|
362
364
|
});
|
|
363
|
-
/** Asserts that every given Mount is among the pending Mounts.
|
|
364
|
-
|
|
365
|
-
|
|
365
|
+
/** Asserts that every given Mount is among the pending Mounts. Accepts Mount
|
|
366
|
+
* Definitions (match by name) and Mount instances (match by name + args). */
|
|
367
|
+
const expectHasMountsStep = (...matchers) => (simulation) => {
|
|
368
|
+
assertHasMounts(toInternal(simulation).mounts, matchers);
|
|
366
369
|
return simulation;
|
|
367
370
|
};
|
|
368
|
-
/** Asserts that the pending Mounts match the given
|
|
369
|
-
* (order-independent
|
|
370
|
-
|
|
371
|
-
|
|
371
|
+
/** Asserts that the pending Mounts match the given matchers exactly
|
|
372
|
+
* (order-independent). Accepts Mount Definitions (match by name) and Mount
|
|
373
|
+
* instances (match by name + args). */
|
|
374
|
+
const expectExactMountsStep = (...matchers) => (simulation) => {
|
|
375
|
+
assertExactMounts(toInternal(simulation).mounts, matchers);
|
|
372
376
|
return simulation;
|
|
373
377
|
};
|
|
374
378
|
/** Asserts that there are no pending Mounts. */
|
|
@@ -379,27 +383,28 @@ const expectNoMountsStep = () => (simulation) => {
|
|
|
379
383
|
/** Acknowledges that the given Mounts disappeared from the rendered tree.
|
|
380
384
|
* Required for every Mount that fires and then unmounts during a scene,
|
|
381
385
|
* whether or not it was resolved first. Without this, the scene throws at
|
|
382
|
-
* the end of the test for any unacknowledged unmount.
|
|
383
|
-
|
|
386
|
+
* the end of the test for any unacknowledged unmount. Mount matchers may
|
|
387
|
+
* be Definitions or instances; instances acknowledge a specific args shape. */
|
|
388
|
+
const expectEndedMountsStep = (...matchers) => (simulation) => {
|
|
384
389
|
/* eslint-disable @typescript-eslint/consistent-type-assertions */
|
|
385
390
|
const internal = toInternal(simulation);
|
|
386
|
-
const
|
|
391
|
+
const remaining = Array.fromIterable(matchers);
|
|
387
392
|
const updatedSlots = [];
|
|
388
393
|
for (const state of internal.mountSlots) {
|
|
389
|
-
|
|
394
|
+
const maybeMatchIndex = Array.findFirstIndex(remaining, matcher => state.status._tag === 'Ended' &&
|
|
390
395
|
!state.status.acknowledged &&
|
|
391
|
-
|
|
392
|
-
|
|
393
|
-
|
|
394
|
-
|
|
395
|
-
|
|
396
|
-
|
|
397
|
-
|
|
398
|
-
}
|
|
396
|
+
mountMatches(matcher, state.slot));
|
|
397
|
+
Option.match(maybeMatchIndex, {
|
|
398
|
+
onNone: () => updatedSlots.push(state),
|
|
399
|
+
onSome: matchIndex => {
|
|
400
|
+
remaining.splice(matchIndex, 1);
|
|
401
|
+
updatedSlots.push({ slot: state.slot, status: ENDED_ACKNOWLEDGED });
|
|
402
|
+
},
|
|
403
|
+
});
|
|
399
404
|
}
|
|
400
|
-
if (Array.isReadonlyArrayNonEmpty(
|
|
405
|
+
if (Array.isReadonlyArrayNonEmpty(remaining)) {
|
|
401
406
|
throw new Error(`I tried to acknowledge ended Mounts but some haven't unmounted:\n\n` +
|
|
402
|
-
pipe(
|
|
407
|
+
pipe(remaining, Array.map(matcher => ` ${formatMountMatcher(matcher)}`), Array.join('\n')) +
|
|
403
408
|
'\n\nUse Scene.Mount.expectEnded only after the Mount has disappeared from the rendered tree.');
|
|
404
409
|
}
|
|
405
410
|
return {
|
|
@@ -665,7 +670,7 @@ export const focus = (target) => (simulation) => invokeAndCapture(simulation, ta
|
|
|
665
670
|
});
|
|
666
671
|
/** Simulates a blur event on the element matching the target. */
|
|
667
672
|
export const blur = (target) => (simulation) => invokeAndCapture(simulation, target, 'blur', handler => {
|
|
668
|
-
handler();
|
|
673
|
+
handler({ relatedTarget: null });
|
|
669
674
|
});
|
|
670
675
|
/** Simulates a change event on the element matching the target.
|
|
671
676
|
* Dual: `change(target, value)` or `change(value)` for data-last piping. */
|
package/dist/test/story.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"story.d.ts","sourceRoot":"","sources":["../../src/test/story.ts"],"names":[],"mappings":"AAAA,OAAO,EAAS,MAAM,
|
|
1
|
+
{"version":3,"file":"story.d.ts","sourceRoot":"","sources":["../../src/test/story.ts"],"names":[],"mappings":"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"}
|
package/dist/test/story.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Array, Option, Predicate, pipe } from 'effect';
|
|
1
|
+
import { Array, Equal, Option, Predicate, pipe } from 'effect';
|
|
2
2
|
import { assertAllCommandsResolved, assertExactCommands, assertHasCommands, assertNoUnresolvedCommands, assertZeroCommands, formatCommand, formatMatcher, resolveAllInternal, resolveByMatcher, } from './internal.js';
|
|
3
3
|
const toInternal = (simulation) =>
|
|
4
4
|
// eslint-disable-next-line @typescript-eslint/consistent-type-assertions
|
|
@@ -117,7 +117,7 @@ export const expectOutMessage = (expected) => (simulation) => {
|
|
|
117
117
|
const outMessage = internal.outMessage;
|
|
118
118
|
if (!Option.isOption(outMessage) ||
|
|
119
119
|
Option.isNone(outMessage) ||
|
|
120
|
-
|
|
120
|
+
!Equal.equals(outMessage.value, expected)) {
|
|
121
121
|
throw new Error(`Expected OutMessage:\n\n Some(${JSON.stringify(expected)})\n\nBut got:\n\n ${JSON.stringify(outMessage)}`);
|
|
122
122
|
}
|
|
123
123
|
return simulation;
|
package/dist/ui/anchor.d.ts
CHANGED
|
@@ -1,12 +1,16 @@
|
|
|
1
|
-
import
|
|
1
|
+
import { Schema as S } from 'effect';
|
|
2
|
+
/** Schema mirroring `@floating-ui/dom`'s `Placement` literal union: a side
|
|
3
|
+
* (`top`/`right`/`bottom`/`left`) optionally suffixed with `-start` or `-end`. */
|
|
4
|
+
export declare const Placement: S.Literals<readonly ["top", "right", "bottom", "left", "top-start", "top-end", "right-start", "right-end", "bottom-start", "bottom-end", "left-start", "left-end"]>;
|
|
2
5
|
/** Static configuration for anchor-based positioning of a floating element relative to a button. */
|
|
3
|
-
export
|
|
4
|
-
placement
|
|
5
|
-
gap
|
|
6
|
-
offset
|
|
7
|
-
padding
|
|
8
|
-
portal
|
|
6
|
+
export declare const AnchorConfig: S.Struct<{
|
|
7
|
+
readonly placement: S.optional<S.Literals<readonly ["top", "right", "bottom", "left", "top-start", "top-end", "right-start", "right-end", "bottom-start", "bottom-end", "left-start", "left-end"]>>;
|
|
8
|
+
readonly gap: S.optional<S.Number>;
|
|
9
|
+
readonly offset: S.optional<S.Number>;
|
|
10
|
+
readonly padding: S.optional<S.Number>;
|
|
11
|
+
readonly portal: S.optional<S.Boolean>;
|
|
9
12
|
}>;
|
|
13
|
+
export type AnchorConfig = typeof AnchorConfig.Type;
|
|
10
14
|
/** Relocates an element into the shared `foldkit-portal-root` div appended to
|
|
11
15
|
* `document.body`, escaping any ancestor stacking context. Returns a cleanup
|
|
12
16
|
* function that removes the element from the portal root. Designed to be
|
|
@@ -30,5 +34,5 @@ export declare const anchorSetup: (config: {
|
|
|
30
34
|
interceptTab?: boolean;
|
|
31
35
|
focusAfterPosition?: boolean;
|
|
32
36
|
focusSelector?: string;
|
|
33
|
-
}) => (
|
|
37
|
+
}) => (element: Element) => (() => void);
|
|
34
38
|
//# sourceMappingURL=anchor.d.ts.map
|
package/dist/ui/anchor.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"anchor.d.ts","sourceRoot":"","sources":["../../src/ui/anchor.ts"],"names":[],"mappings":"AAQA,OAAO,
|
|
1
|
+
{"version":3,"file":"anchor.d.ts","sourceRoot":"","sources":["../../src/ui/anchor.ts"],"names":[],"mappings":"AAQA,OAAO,EAAY,MAAM,IAAI,CAAC,EAAE,MAAM,QAAQ,CAAA;AAE9C;mFACmF;AACnF,eAAO,MAAM,SAAS,qKAapB,CAAA;AAEF,oGAAoG;AACpG,eAAO,MAAM,YAAY;;;;;;EAMvB,CAAA;AAEF,MAAM,MAAM,YAAY,GAAG,OAAO,YAAY,CAAC,IAAI,CAAA;AAwBnD;;;;4EAI4E;AAC5E,eAAO,MAAM,YAAY,GAAI,SAAS,OAAO,KAAG,CAAC,MAAM,IAAI,CAW1D,CAAA;AAED;;;;;;;;;;2DAU2D;AAC3D,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,CAiF9B,CAAA"}
|
package/dist/ui/anchor.js
CHANGED
|
@@ -1,4 +1,29 @@
|
|
|
1
1
|
import { autoUpdate, computePosition, flip, offset as floatingOffset, shift, size, } from '@floating-ui/dom';
|
|
2
|
+
import { Function, Schema as S } from 'effect';
|
|
3
|
+
/** Schema mirroring `@floating-ui/dom`'s `Placement` literal union: a side
|
|
4
|
+
* (`top`/`right`/`bottom`/`left`) optionally suffixed with `-start` or `-end`. */
|
|
5
|
+
export const Placement = S.Literals([
|
|
6
|
+
'top',
|
|
7
|
+
'right',
|
|
8
|
+
'bottom',
|
|
9
|
+
'left',
|
|
10
|
+
'top-start',
|
|
11
|
+
'top-end',
|
|
12
|
+
'right-start',
|
|
13
|
+
'right-end',
|
|
14
|
+
'bottom-start',
|
|
15
|
+
'bottom-end',
|
|
16
|
+
'left-start',
|
|
17
|
+
'left-end',
|
|
18
|
+
]);
|
|
19
|
+
/** Static configuration for anchor-based positioning of a floating element relative to a button. */
|
|
20
|
+
export const AnchorConfig = S.Struct({
|
|
21
|
+
placement: S.optional(Placement),
|
|
22
|
+
gap: S.optional(S.Number),
|
|
23
|
+
offset: S.optional(S.Number),
|
|
24
|
+
padding: S.optional(S.Number),
|
|
25
|
+
portal: S.optional(S.Boolean),
|
|
26
|
+
});
|
|
2
27
|
const PORTAL_ROOT_ID = 'foldkit-portal-root';
|
|
3
28
|
const getOrCreatePortalRoot = () => {
|
|
4
29
|
const existing = document.getElementById(PORTAL_ROOT_ID);
|
|
@@ -45,18 +70,18 @@ export const portalToBody = (element) => {
|
|
|
45
70
|
* requestAnimationFrame so the element is painted before focus fires.
|
|
46
71
|
* `focusSelector` optionally targets a descendant (e.g. a calendar grid
|
|
47
72
|
* inside a popover panel) instead of the panel itself. */
|
|
48
|
-
export const anchorSetup = (config) => (
|
|
73
|
+
export const anchorSetup = (config) => (element) => {
|
|
49
74
|
const button = document.getElementById(config.buttonId);
|
|
50
|
-
if (!(button instanceof HTMLElement) || !(
|
|
51
|
-
return
|
|
75
|
+
if (!(button instanceof HTMLElement) || !(element instanceof HTMLElement)) {
|
|
76
|
+
return Function.constVoid;
|
|
52
77
|
}
|
|
53
78
|
const isPortal = config.anchor.portal ?? true;
|
|
54
|
-
const portalCleanup = isPortal ? portalToBody(
|
|
79
|
+
const portalCleanup = isPortal ? portalToBody(element) : undefined;
|
|
55
80
|
const { placement, gap, offset: crossAxis, padding } = config.anchor;
|
|
56
81
|
const shouldInterceptTab = config.interceptTab ?? true;
|
|
57
82
|
let isFirstUpdate = true;
|
|
58
|
-
const floatingCleanup = autoUpdate(button,
|
|
59
|
-
computePosition(button,
|
|
83
|
+
const floatingCleanup = autoUpdate(button, element, () => {
|
|
84
|
+
computePosition(button, element, {
|
|
60
85
|
placement: placement ?? 'bottom-start',
|
|
61
86
|
strategy: 'absolute',
|
|
62
87
|
middleware: [
|
|
@@ -69,24 +94,24 @@ export const anchorSetup = (config) => (items) => {
|
|
|
69
94
|
size({
|
|
70
95
|
padding: padding ?? 0,
|
|
71
96
|
apply({ rects, availableHeight }) {
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
97
|
+
element.style.setProperty('--button-width', `${rects.reference.width}px`);
|
|
98
|
+
element.style.maxHeight = `${availableHeight}px`;
|
|
99
|
+
element.style.overflowY = 'auto';
|
|
100
|
+
element.style.overscrollBehavior = 'none';
|
|
76
101
|
},
|
|
77
102
|
}),
|
|
78
103
|
],
|
|
79
104
|
}).then(({ x, y }) => {
|
|
80
|
-
|
|
81
|
-
|
|
105
|
+
element.style.left = `${x}px`;
|
|
106
|
+
element.style.top = `${y}px`;
|
|
82
107
|
if (isFirstUpdate) {
|
|
83
108
|
isFirstUpdate = false;
|
|
84
|
-
|
|
109
|
+
element.style.visibility = '';
|
|
85
110
|
if (config.focusAfterPosition ?? false) {
|
|
86
111
|
requestAnimationFrame(() => {
|
|
87
112
|
const target = config.focusSelector
|
|
88
113
|
? document.querySelector(config.focusSelector)
|
|
89
|
-
:
|
|
114
|
+
: element;
|
|
90
115
|
if (target instanceof HTMLElement) {
|
|
91
116
|
target.focus();
|
|
92
117
|
}
|
|
@@ -101,10 +126,10 @@ export const anchorSetup = (config) => (items) => {
|
|
|
101
126
|
button.focus();
|
|
102
127
|
}
|
|
103
128
|
};
|
|
104
|
-
|
|
129
|
+
element.addEventListener('keydown', handleTabKey);
|
|
105
130
|
return () => {
|
|
106
131
|
floatingCleanup();
|
|
107
|
-
|
|
132
|
+
element.removeEventListener('keydown', handleTabKey);
|
|
108
133
|
portalCleanup?.();
|
|
109
134
|
};
|
|
110
135
|
}
|
|
@@ -14,60 +14,60 @@ export { RequestFrame, WaitForAnimationSettled, defaultLeaveCommand, update };
|
|
|
14
14
|
* - `data-transition` — any animation is active
|
|
15
15
|
*/
|
|
16
16
|
export const view = (config) => {
|
|
17
|
-
const
|
|
17
|
+
const h = html();
|
|
18
18
|
const { model: { id, isShowing, transitionState }, content, className, attributes = [], element = 'div', animateSize = false, } = config;
|
|
19
19
|
const isLeaving = transitionState === 'LeaveStart' || transitionState === 'LeaveAnimating';
|
|
20
20
|
const isVisible = isShowing || isLeaving;
|
|
21
21
|
const transitionAttributes = M.value(transitionState).pipe(M.when('EnterStart', () => [
|
|
22
|
-
DataAttribute('closed', ''),
|
|
23
|
-
DataAttribute('enter', ''),
|
|
24
|
-
DataAttribute('transition', ''),
|
|
22
|
+
h.DataAttribute('closed', ''),
|
|
23
|
+
h.DataAttribute('enter', ''),
|
|
24
|
+
h.DataAttribute('transition', ''),
|
|
25
25
|
]), M.when('EnterAnimating', () => [
|
|
26
|
-
DataAttribute('enter', ''),
|
|
27
|
-
DataAttribute('transition', ''),
|
|
26
|
+
h.DataAttribute('enter', ''),
|
|
27
|
+
h.DataAttribute('transition', ''),
|
|
28
28
|
]), M.when('LeaveStart', () => [
|
|
29
|
-
DataAttribute('leave', ''),
|
|
30
|
-
DataAttribute('transition', ''),
|
|
29
|
+
h.DataAttribute('leave', ''),
|
|
30
|
+
h.DataAttribute('transition', ''),
|
|
31
31
|
]), M.when('LeaveAnimating', () => [
|
|
32
|
-
DataAttribute('closed', ''),
|
|
33
|
-
DataAttribute('leave', ''),
|
|
34
|
-
DataAttribute('transition', ''),
|
|
32
|
+
h.DataAttribute('closed', ''),
|
|
33
|
+
h.DataAttribute('leave', ''),
|
|
34
|
+
h.DataAttribute('transition', ''),
|
|
35
35
|
]), M.orElse(() => []));
|
|
36
36
|
if (animateSize) {
|
|
37
37
|
const isClosed = transitionState === 'EnterStart' ||
|
|
38
38
|
transitionState === 'LeaveAnimating' ||
|
|
39
39
|
!isVisible;
|
|
40
|
-
return div([
|
|
41
|
-
Style({
|
|
40
|
+
return h.div([
|
|
41
|
+
h.Style({
|
|
42
42
|
display: 'grid',
|
|
43
43
|
gridTemplateRows: isClosed ? '0fr' : '1fr',
|
|
44
44
|
transition: 'grid-template-rows 200ms ease-out',
|
|
45
45
|
overflow: 'hidden',
|
|
46
46
|
}),
|
|
47
47
|
], [
|
|
48
|
-
div([
|
|
49
|
-
Style({ minHeight: '0px', overflow: 'hidden' }),
|
|
50
|
-
...(!isVisible ? [AriaHidden(true)] : []),
|
|
48
|
+
h.div([
|
|
49
|
+
h.Style({ minHeight: '0px', overflow: 'hidden' }),
|
|
50
|
+
...(!isVisible ? [h.AriaHidden(true)] : []),
|
|
51
51
|
], [
|
|
52
|
-
keyed(element)(id, [
|
|
53
|
-
Id(id),
|
|
52
|
+
h.keyed(element)(id, [
|
|
53
|
+
h.Id(id),
|
|
54
54
|
...(isClosed && transitionState === 'Idle'
|
|
55
|
-
? [DataAttribute('closed', '')]
|
|
55
|
+
? [h.DataAttribute('closed', '')]
|
|
56
56
|
: []),
|
|
57
57
|
...transitionAttributes,
|
|
58
|
-
...(className ? [Class(className)] : []),
|
|
58
|
+
...(className ? [h.Class(className)] : []),
|
|
59
59
|
...attributes,
|
|
60
60
|
], [content]),
|
|
61
61
|
]),
|
|
62
62
|
]);
|
|
63
63
|
}
|
|
64
64
|
if (!isVisible) {
|
|
65
|
-
return empty;
|
|
65
|
+
return h.empty;
|
|
66
66
|
}
|
|
67
|
-
return keyed(element)(id, [
|
|
68
|
-
Id(id),
|
|
67
|
+
return h.keyed(element)(id, [
|
|
68
|
+
h.Id(id),
|
|
69
69
|
...transitionAttributes,
|
|
70
|
-
...(className ? [Class(className)] : []),
|
|
70
|
+
...(className ? [h.Class(className)] : []),
|
|
71
71
|
...attributes,
|
|
72
72
|
], [content]);
|
|
73
73
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/ui/button/index.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAA;AAEpD,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,qBAAqB,CAAA;AAI/C,0FAA0F;AAC1F,MAAM,MAAM,gBAAgB,CAAC,aAAa,IAAI,QAAQ,CAAC;IACrD,MAAM,EAAE,aAAa,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC,CAAA;CAChD,CAAC,CAAA;AAEF,wDAAwD;AACxD,MAAM,MAAM,UAAU,CAAC,aAAa,IAAI,QAAQ,CAAC;IAC/C,MAAM,EAAE,CAAC,UAAU,EAAE,gBAAgB,CAAC,aAAa,CAAC,KAAK,IAAI,CAAA;IAC7D,OAAO,CAAC,EAAE,aAAa,CAAA;IACvB,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,IAAI,CAAC,EAAE,QAAQ,GAAG,QAAQ,GAAG,OAAO,CAAA;IACpC,WAAW,CAAC,EAAE,OAAO,CAAA;CACtB,CAAC,CAAA;AAEF,2HAA2H;AAC3H,eAAO,MAAM,IAAI,GAAI,aAAa,EAChC,QAAQ,UAAU,CAAC,aAAa,CAAC,KAChC,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/ui/button/index.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAA;AAEpD,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,qBAAqB,CAAA;AAI/C,0FAA0F;AAC1F,MAAM,MAAM,gBAAgB,CAAC,aAAa,IAAI,QAAQ,CAAC;IACrD,MAAM,EAAE,aAAa,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC,CAAA;CAChD,CAAC,CAAA;AAEF,wDAAwD;AACxD,MAAM,MAAM,UAAU,CAAC,aAAa,IAAI,QAAQ,CAAC;IAC/C,MAAM,EAAE,CAAC,UAAU,EAAE,gBAAgB,CAAC,aAAa,CAAC,KAAK,IAAI,CAAA;IAC7D,OAAO,CAAC,EAAE,aAAa,CAAA;IACvB,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,IAAI,CAAC,EAAE,QAAQ,GAAG,QAAQ,GAAG,OAAO,CAAA;IACpC,WAAW,CAAC,EAAE,OAAO,CAAA;CACtB,CAAC,CAAA;AAEF,2HAA2H;AAC3H,eAAO,MAAM,IAAI,GAAI,aAAa,EAChC,QAAQ,UAAU,CAAC,aAAa,CAAC,KAChC,IA+BF,CAAA"}
|
package/dist/ui/button/index.js
CHANGED
|
@@ -2,16 +2,16 @@ import { Predicate } from 'effect';
|
|
|
2
2
|
import { html } from '../../html/index.js';
|
|
3
3
|
/** Renders an accessible button by building attribute groups and delegating layout to the consumer's `toView` callback. */
|
|
4
4
|
export const view = (config) => {
|
|
5
|
-
const
|
|
5
|
+
const h = html();
|
|
6
6
|
const { toView, onClick, isDisabled = false, type = 'button', isAutofocus = false, } = config;
|
|
7
7
|
const disabledAttributes = isDisabled
|
|
8
|
-
? [AriaDisabled(true), DataAttribute('disabled', '')]
|
|
8
|
+
? [h.AriaDisabled(true), h.DataAttribute('disabled', '')]
|
|
9
9
|
: [];
|
|
10
|
-
const clickAttributes = Predicate.isNotUndefined(onClick) && !isDisabled ? [OnClick(onClick)] : [];
|
|
11
|
-
const autofocusAttributes = isAutofocus ? [Autofocus(true)] : [];
|
|
10
|
+
const clickAttributes = Predicate.isNotUndefined(onClick) && !isDisabled ? [h.OnClick(onClick)] : [];
|
|
11
|
+
const autofocusAttributes = isAutofocus ? [h.Autofocus(true)] : [];
|
|
12
12
|
const buttonAttributes = [
|
|
13
|
-
Type(type),
|
|
14
|
-
Tabindex(0),
|
|
13
|
+
h.Type(type),
|
|
14
|
+
h.Tabindex(0),
|
|
15
15
|
...disabledAttributes,
|
|
16
16
|
...clickAttributes,
|
|
17
17
|
...autofocusAttributes,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/ui/calendar/index.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/ui/calendar/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAS,MAAM,EAAc,MAAM,EAAE,MAAM,IAAI,CAAC,EAAQ,MAAM,QAAQ,CAAA;AAE7E,OAAO,KAAK,QAAQ,MAAM,yBAAyB,CAAA;AACnD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAA;AAC3D,OAAO,KAAK,OAAO,MAAM,wBAAwB,CAAA;AAGjD,OAAO,EACL,KAAK,SAAS,EACd,KAAK,IAAI,EAGV,MAAM,qBAAqB,CAAA;AAM5B;;8EAE8E;AAC9E,eAAO,MAAM,QAAQ,kDAA0C,CAAA;AAC/D,MAAM,MAAM,QAAQ,GAAG,OAAO,QAAQ,CAAC,IAAI,CAAA;AAE3C;;;YAGY;AACZ,eAAO,MAAM,KAAK;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAchB,CAAA;AAEF,MAAM,MAAM,KAAK,GAAG,OAAO,KAAK,CAAC,IAAI,CAAA;AAIrC,wDAAwD;AACxD,eAAO,MAAM,UAAU;;;;;;EAAmD,CAAA;AAC1E;kDACkD;AAClD,eAAO,MAAM,gBAAgB;;;EAG3B,CAAA;AACF;0EAC0E;AAC1E,eAAO,MAAM,0BAA0B,wFAAkC,CAAA;AACzE;0EAC0E;AAC1E,eAAO,MAAM,sBAAsB,oFAA8B,CAAA;AACjE;mEACmE;AACnE,eAAO,MAAM,cAAc,4EAAsB,CAAA;AACjD;0DAC0D;AAC1D,eAAO,MAAM,aAAa;;EAAuC,CAAA;AACjE;iFACiF;AACjF,eAAO,MAAM,YAAY;;EAAqC,CAAA;AAC9D;2DAC2D;AAC3D,eAAO,MAAM,UAAU;;EAErB,CAAA;AACF,uDAAuD;AACvD,eAAO,MAAM,WAAW,yEAAmB,CAAA;AAC3C,oDAAoD;AACpD,eAAO,MAAM,WAAW,yEAAmB,CAAA;AAC3C,8EAA8E;AAC9E,eAAO,MAAM,cAAc;;;;;;EAEzB,CAAA;AACF,+CAA+C;AAC/C,eAAO,MAAM,kBAAkB,gFAA0B,CAAA;AAEzD,gEAAgE;AAChE,eAAO,MAAM,OAAO;;;;;;;;;;;;;;;;;;;;;oFAalB,CAAA;AACF,MAAM,MAAM,OAAO,GAAG,OAAO,OAAO,CAAC,IAAI,CAAA;AAIzC;;;;;;4CAM4C;AAC5C,eAAO,MAAM,gBAAgB;;;EAG3B,CAAA;AAEF;;+DAE+D;AAC/D,eAAO,MAAM,UAAU;;;EAAmB,CAAA;AAC1C,MAAM,MAAM,UAAU,GAAG,OAAO,UAAU,CAAC,IAAI,CAAA;AAI/C,+DAA+D;AAC/D,MAAM,MAAM,UAAU,GAAG,QAAQ,CAAC;IAChC,EAAE,EAAE,MAAM,CAAA;IACV,KAAK,EAAE,YAAY,CAAA;IACnB,mBAAmB,CAAC,EAAE,YAAY,CAAA;IAClC,MAAM,CAAC,EAAE,QAAQ,CAAC,YAAY,CAAA;IAC9B,OAAO,CAAC,EAAE,YAAY,CAAA;IACtB,OAAO,CAAC,EAAE,YAAY,CAAA;IACtB,kBAAkB,CAAC,EAAE,aAAa,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAA;IACtD,aAAa,CAAC,EAAE,aAAa,CAAC,YAAY,CAAC,CAAA;CAC5C,CAAC,CAAA;AAEF;wEACwE;AACxE,eAAO,MAAM,IAAI,GAAI,QAAQ,UAAU,KAAG,KAuBzC,CAAA;AAID,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;AAMD;6EAC6E;AAC7E,eAAO,MAAM,SAAS;;;;iBASrB,CAAA;AAED;;;;;wEAKwE;AACxE,eAAO,MAAM,UAAU,GAAI,OAAO,KAAK,EAAE,MAAM,YAAY,KAAG,YACzB,CAAA;AAErC;;;;;;oEAMoE;AACpE,eAAO,MAAM,UAAU,GACrB,OAAO,KAAK,EACZ,cAAc,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,KACxC,KAAyD,CAAA;AAE5D;wDACwD;AACxD,eAAO,MAAM,UAAU,GACrB,OAAO,KAAK,EACZ,cAAc,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,KACxC,KAAyD,CAAA;AAE5D;sDACsD;AACtD,eAAO,MAAM,gBAAgB,GAC3B,OAAO,KAAK,EACZ,eAAe,aAAa,CAAC,YAAY,CAAC,KACzC,KAA2D,CAAA;AAE9D;qEACqE;AACrE,eAAO,MAAM,qBAAqB,GAChC,OAAO,KAAK,EACZ,oBAAoB,aAAa,CAAC,QAAQ,CAAC,SAAS,CAAC,KACpD,KAAqE,CAAA;AAExE;;;;;;;;;wDASwD;AACxD,eAAO,MAAM,UAAU,GAAI,OAAO,KAAK,KAAG,KAWzC,CAAA;AA6PD;0BAC0B;AAC1B,eAAO,MAAM,MAAM,GAAI,OAAO,KAAK,EAAE,SAAS,OAAO,KAAG,YA+JrD,CAAA;AAmEH,yEAAyE;AACzE,MAAM,MAAM,OAAO,CAAC,aAAa,IAAI,QAAQ,CAAC;IAC5C,IAAI,EAAE,YAAY,CAAA;IAClB,KAAK,EAAE,MAAM,CAAA;IACb,cAAc,EAAE,aAAa,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC,CAAA;IACvD,gBAAgB,EAAE,aAAa,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC,CAAA;IACzD,UAAU,EAAE,OAAO,CAAA;IACnB,SAAS,EAAE,OAAO,CAAA;IAClB,OAAO,EAAE,OAAO,CAAA;IAChB,aAAa,EAAE,OAAO,CAAA;IACtB,UAAU,EAAE,OAAO,CAAA;CACpB,CAAC,CAAA;AAEF,yEAAyE;AACzE,MAAM,MAAM,YAAY,CAAC,aAAa,IAAI,QAAQ,CAAC;IACjD,IAAI,EAAE,MAAM,CAAA;IACZ,UAAU,EAAE,aAAa,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC,CAAA;CACpD,CAAC,CAAA;AAEF;+CAC+C;AAC/C,MAAM,MAAM,IAAI,CAAC,aAAa,IAAI,QAAQ,CAAC;IACzC,UAAU,EAAE,aAAa,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC,CAAA;IACnD,KAAK,EAAE,aAAa,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAA;CAC7C,CAAC,CAAA;AAEF;;;;cAIc;AACd,MAAM,MAAM,SAAS,CAAC,aAAa,IAAI,QAAQ,CAAC;IAC9C,KAAK,EAAE,MAAM,CAAA;IACb,KAAK,EAAE,MAAM,CAAA;IACb,UAAU,EAAE,MAAM,CAAA;IAClB,cAAc,EAAE,aAAa,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC,CAAA;IACvD,gBAAgB,EAAE,aAAa,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC,CAAA;IACzD,UAAU,EAAE,OAAO,CAAA;IACnB,SAAS,EAAE,OAAO,CAAA;IAClB,cAAc,EAAE,OAAO,CAAA;IACvB,UAAU,EAAE,OAAO,CAAA;CACpB,CAAC,CAAA;AAEF,uEAAuE;AACvE,MAAM,MAAM,QAAQ,CAAC,aAAa,IAAI,QAAQ,CAAC;IAC7C,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,EAAE,MAAM,CAAA;IACb,cAAc,EAAE,aAAa,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC,CAAA;IACvD,gBAAgB,EAAE,aAAa,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC,CAAA;IACzD,UAAU,EAAE,OAAO,CAAA;IACnB,SAAS,EAAE,OAAO,CAAA;IAClB,aAAa,EAAE,OAAO,CAAA;IACtB,UAAU,EAAE,OAAO,CAAA;CACpB,CAAC,CAAA;AAEF,uEAAuE;AACvE,MAAM,MAAM,kBAAkB,CAAC,aAAa,IAAI,QAAQ,CAAC;IACvD,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,aAAa,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC,CAAA;IAC7C,mBAAmB,EAAE,aAAa,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC,CAAA;IAC5D,eAAe,EAAE,aAAa,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC,CAAA;IACxD,aAAa,EAAE,aAAa,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC,CAAA;IACtD,OAAO,EAAE,QAAQ,CAAC;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;IAC/C,IAAI,EAAE,aAAa,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC,CAAA;IAC7C,SAAS,EAAE,aAAa,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC,CAAA;IAClD,aAAa,EAAE,aAAa,CAAC,YAAY,CAAC,aAAa,CAAC,CAAC,CAAA;IACzD,KAAK,EAAE,aAAa,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAA;CAC1C,CAAC,CAAA;AAEF;;2EAE2E;AAC3E,MAAM,MAAM,oBAAoB,CAAC,aAAa,IAAI,QAAQ,CAAC;IACzD,IAAI,EAAE,QAAQ,CAAA;IACd,IAAI,EAAE,aAAa,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC,CAAA;IAC7C,aAAa,EAAE,aAAa,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC,CAAA;IACtD,OAAO,EAAE,QAAQ,CAAC;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;IAC/C,IAAI,EAAE,aAAa,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC,CAAA;IAC7C,KAAK,EAAE,aAAa,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC,CAAA;CAC/C,CAAC,CAAA;AAEF;yEACyE;AACzE,MAAM,MAAM,mBAAmB,CAAC,aAAa,IAAI,QAAQ,CAAC;IACxD,IAAI,EAAE,OAAO,CAAA;IACb,IAAI,EAAE,aAAa,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC,CAAA;IAC7C,kBAAkB,EAAE,aAAa,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC,CAAA;IAC3D,cAAc,EAAE,aAAa,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC,CAAA;IACvD,OAAO,EAAE,QAAQ,CAAC;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;IAC/C,IAAI,EAAE,aAAa,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC,CAAA;IAC7C,KAAK,EAAE,aAAa,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,CAAA;CAC9C,CAAC,CAAA;AAEF;;;0BAG0B;AAC1B,MAAM,MAAM,kBAAkB,CAAC,aAAa,IACxC,kBAAkB,CAAC,aAAa,CAAC,GACjC,oBAAoB,CAAC,aAAa,CAAC,GACnC,mBAAmB,CAAC,aAAa,CAAC,CAAA;AAEtC,0DAA0D;AAC1D,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;;;;;0DAKsD;IACtD,cAAc,CAAC,EAAE,CAAC,IAAI,EAAE,YAAY,KAAK,aAAa,CAAA;IACtD,kBAAkB,CAAC,EAAE,MAAM,CAAA;IAC3B,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,sBAAsB,CAAC,EAAE,MAAM,CAAA;IAC/B,kBAAkB,CAAC,EAAE,MAAM,CAAA;IAC3B,sBAAsB,CAAC,EAAE,MAAM,CAAA;IAC/B,wBAAwB,CAAC,EAAE,MAAM,CAAA;CAClC,CAAC,CAAA;AAogBF;;;+BAG+B;AAC/B,eAAO,MAAM,IAAI,GAAI,aAAa,EAAE,QAAQ,UAAU,CAAC,aAAa,CAAC,KAAG,IASrE,CAAA;AAEH;mFACmF;AACnF,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"}
|