@foldkit/ui 0.162.0 → 0.163.0-canary.4187988d5940
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/anchor.d.ts.map +1 -1
- package/dist/anchor/anchor.js +10 -1
- package/dist/animation/index.d.ts +3 -0
- package/dist/animation/index.d.ts.map +1 -1
- package/dist/animation/schema.d.ts +13 -4
- package/dist/animation/schema.d.ts.map +1 -1
- package/dist/animation/schema.js +8 -4
- package/dist/animation/update.d.ts +15 -5
- package/dist/animation/update.d.ts.map +1 -1
- package/dist/animation/update.js +59 -27
- package/dist/calendar/index.d.ts.map +1 -1
- package/dist/calendar/index.js +27 -19
- package/dist/checkbox/index.d.ts +1 -1
- package/dist/checkbox/index.js +1 -1
- package/dist/combobox/multi.d.ts +5 -0
- package/dist/combobox/multi.d.ts.map +1 -1
- package/dist/combobox/multi.js +2 -2
- package/dist/combobox/shared.d.ts +12 -2
- package/dist/combobox/shared.d.ts.map +1 -1
- package/dist/combobox/shared.js +21 -21
- package/dist/combobox/single.d.ts +5 -0
- package/dist/combobox/single.d.ts.map +1 -1
- package/dist/combobox/single.js +4 -4
- package/dist/datePicker/index.d.ts +13 -2
- package/dist/datePicker/index.d.ts.map +1 -1
- package/dist/datePicker/index.js +10 -10
- package/dist/dialog/index.d.ts +13 -2
- package/dist/dialog/index.d.ts.map +1 -1
- package/dist/dialog/index.js +28 -14
- package/dist/disclosure/index.d.ts +2 -2
- package/dist/disclosure/index.js +1 -1
- package/dist/dragAndDrop/index.js +14 -14
- package/dist/fileDrop/index.d.ts.map +1 -1
- package/dist/fileDrop/index.js +7 -5
- package/dist/hoverIntent/hoverIntent.d.ts.map +1 -1
- package/dist/hoverIntent/hoverIntent.js +16 -16
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -0
- package/dist/internal/accessibleName.d.ts +9 -0
- package/dist/internal/accessibleName.d.ts.map +1 -0
- package/dist/internal/accessibleName.js +12 -0
- package/dist/internal/range.d.ts +7 -0
- package/dist/internal/range.d.ts.map +1 -0
- package/dist/internal/range.js +12 -0
- package/dist/listbox/multi.d.ts +5 -0
- package/dist/listbox/multi.d.ts.map +1 -1
- package/dist/listbox/shared.d.ts +12 -2
- package/dist/listbox/shared.d.ts.map +1 -1
- package/dist/listbox/shared.js +26 -24
- package/dist/listbox/single.d.ts +5 -0
- package/dist/listbox/single.d.ts.map +1 -1
- package/dist/menu/index.d.ts +13 -2
- package/dist/menu/index.d.ts.map +1 -1
- package/dist/menu/index.js +29 -23
- package/dist/meter/index.d.ts +26 -0
- package/dist/meter/index.d.ts.map +1 -0
- package/dist/meter/index.js +67 -0
- package/dist/meter/public.d.ts +3 -0
- package/dist/meter/public.d.ts.map +1 -0
- package/dist/meter/public.js +1 -0
- package/dist/popover/index.d.ts +16 -2
- package/dist/popover/index.d.ts.map +1 -1
- package/dist/popover/index.js +18 -16
- package/dist/progress/index.d.ts +24 -0
- package/dist/progress/index.d.ts.map +1 -0
- package/dist/progress/index.js +85 -0
- package/dist/progress/public.d.ts +3 -0
- package/dist/progress/public.d.ts.map +1 -0
- package/dist/progress/public.js +1 -0
- package/dist/radioGroup/index.d.ts.map +1 -1
- package/dist/radioGroup/index.js +5 -3
- package/dist/slider/index.d.ts +61 -28
- package/dist/slider/index.d.ts.map +1 -1
- package/dist/slider/index.js +163 -87
- package/dist/slider/public.d.ts +1 -1
- package/dist/slider/public.d.ts.map +1 -1
- package/dist/slider/public.js +1 -1
- package/dist/switch/index.d.ts +1 -1
- package/dist/switch/index.js +1 -1
- package/dist/tabs/index.d.ts.map +1 -1
- package/dist/tabs/index.js +5 -3
- package/dist/test/apps/disabledButton.d.ts +12 -4
- package/dist/test/apps/disabledButton.d.ts.map +1 -1
- package/dist/test/apps/disabledButton.js +3 -3
- package/dist/toast/index.d.ts +869 -45
- package/dist/toast/index.d.ts.map +1 -1
- package/dist/toast/index.js +77 -17
- package/dist/toast/public.d.ts +2 -2
- package/dist/toast/public.d.ts.map +1 -1
- package/dist/toast/public.js +1 -1
- package/dist/toast/schema.d.ts +160 -6
- package/dist/toast/schema.d.ts.map +1 -1
- package/dist/toast/schema.js +69 -2
- package/dist/toast/swipeTarget.d.ts +5 -0
- package/dist/toast/swipeTarget.d.ts.map +1 -0
- package/dist/toast/swipeTarget.js +18 -0
- package/dist/toast/test.d.ts +7 -1
- package/dist/toast/test.d.ts.map +1 -1
- package/dist/toast/test.js +37 -3
- package/dist/toast/update.d.ts +768 -7
- package/dist/toast/update.d.ts.map +1 -1
- package/dist/toast/update.js +283 -68
- package/dist/tooltip/tooltip.d.ts +7 -7
- package/dist/tooltip/tooltip.d.ts.map +1 -1
- package/dist/tooltip/tooltip.js +14 -12
- package/dist/virtualList/index.d.ts.map +1 -1
- package/dist/virtualList/index.js +8 -6
- package/package.json +9 -9
package/dist/dialog/index.js
CHANGED
|
@@ -6,7 +6,7 @@ import * as Dom from 'foldkit/dom';
|
|
|
6
6
|
import { childAttributes } from 'foldkit/html';
|
|
7
7
|
import { defineMessageUnion } from 'foldkit/message';
|
|
8
8
|
import * as Mount from 'foldkit/mount';
|
|
9
|
-
import {
|
|
9
|
+
import { modifyFields } from 'foldkit/struct';
|
|
10
10
|
import { defineView } from 'foldkit/submodel';
|
|
11
11
|
import * as Update from 'foldkit/update';
|
|
12
12
|
// NOTE: Animation imports are split across schema + update to avoid a circular
|
|
@@ -137,30 +137,44 @@ export const ReleaseDialogResources = Command.define('ReleaseDialogResources', {
|
|
|
137
137
|
const isLeaving = (model) => __foldkitBrandViewResult((model.animation.transitionState === 'LeaveStart' ||
|
|
138
138
|
model.animation.transitionState === 'LeaveAnimating'), "@foldkit/ui/dialog/index.js#isLeaving");
|
|
139
139
|
const isOpenOrAnimating = (model) => __foldkitBrandViewResult((model.isOpen || model.animation.transitionState !== 'Idle'), "@foldkit/ui/dialog/index.js#isOpenOrAnimating");
|
|
140
|
-
const
|
|
140
|
+
const resetAnimationToClosed = (animation) => __foldkitBrandViewResult((modifyFields(animation, {
|
|
141
|
+
isShowing: () => __foldkitBrandViewResult((false), "@foldkit/ui/dialog/index.js#isShowing"),
|
|
142
|
+
transitionState: () => __foldkitBrandViewResult(('Idle'), "@foldkit/ui/dialog/index.js#transitionState"),
|
|
143
|
+
})), "@foldkit/ui/dialog/index.js#resetAnimationToClosed");
|
|
144
|
+
const resetToClosed = (model) => __foldkitBrandViewResult((modifyFields(model, {
|
|
141
145
|
isOpen: () => __foldkitBrandViewResult((false), "@foldkit/ui/dialog/index.js#isOpen"),
|
|
142
|
-
animation:
|
|
146
|
+
animation: resetAnimationToClosed,
|
|
143
147
|
})), "@foldkit/ui/dialog/index.js#resetToClosed");
|
|
144
148
|
const wrapAnimationMessage = (message) => __foldkitBrandViewResult((Message.GotAnimationMessage({ message })), "@foldkit/ui/dialog/index.js#wrapAnimationMessage");
|
|
145
149
|
const resumeAnimationAfterAcquisition = (model) => __foldkitBrandViewResult((Match.value(model.animation.transitionState).pipe(Match.withReturnType(), Match.when('Idle', () => (__foldkitBrandViewResult(({ model }), "@foldkit/ui/dialog/index.js#anonymous~10"))), Match.when('EnterStart', () => (__foldkitBrandViewResult(({
|
|
146
150
|
model,
|
|
147
151
|
commands: [
|
|
148
|
-
Command.mapMessage(AnimationUpdate.WaitForPaint(
|
|
152
|
+
Command.mapMessage(AnimationUpdate.WaitForPaint({
|
|
153
|
+
generation: model.animation.transitionGeneration,
|
|
154
|
+
}), wrapAnimationMessage),
|
|
149
155
|
],
|
|
150
156
|
}), "@foldkit/ui/dialog/index.js#anonymous~11"))), Match.when('EnterAnimating', () => (__foldkitBrandViewResult(({
|
|
151
157
|
model,
|
|
152
158
|
commands: [
|
|
153
|
-
Command.mapMessage(AnimationUpdate.WaitForAnimationSettled({
|
|
159
|
+
Command.mapMessage(AnimationUpdate.WaitForAnimationSettled({
|
|
160
|
+
id: model.animation.id,
|
|
161
|
+
generation: model.animation.transitionGeneration,
|
|
162
|
+
}), wrapAnimationMessage),
|
|
154
163
|
],
|
|
155
164
|
}), "@foldkit/ui/dialog/index.js#anonymous~12"))), Match.when('LeaveStart', () => (__foldkitBrandViewResult(({
|
|
156
165
|
model,
|
|
157
166
|
commands: [
|
|
158
|
-
Command.mapMessage(AnimationUpdate.WaitForPaint(
|
|
167
|
+
Command.mapMessage(AnimationUpdate.WaitForPaint({
|
|
168
|
+
generation: model.animation.transitionGeneration,
|
|
169
|
+
}), wrapAnimationMessage),
|
|
159
170
|
],
|
|
160
171
|
}), "@foldkit/ui/dialog/index.js#anonymous~13"))), Match.when('LeaveAnimating', () => (__foldkitBrandViewResult(({
|
|
161
172
|
model,
|
|
162
173
|
commands: [
|
|
163
|
-
Command.mapMessage(AnimationUpdate.WaitForAnimationSettled({
|
|
174
|
+
Command.mapMessage(AnimationUpdate.WaitForAnimationSettled({
|
|
175
|
+
id: model.animation.id,
|
|
176
|
+
generation: model.animation.transitionGeneration,
|
|
177
|
+
}), wrapAnimationMessage),
|
|
164
178
|
],
|
|
165
179
|
}), "@foldkit/ui/dialog/index.js#anonymous~14"))), Match.exhaustive)), "@foldkit/ui/dialog/index.js#resumeAnimationAfterAcquisition");
|
|
166
180
|
const foldAnimationOutMessage = (outMessage, { liftCommand }) => __foldkitBrandViewResult((Animation.OutMessage.match(outMessage, {
|
|
@@ -178,20 +192,20 @@ const foldAnimationOutMessage = (outMessage, { liftCommand }) => __foldkitBrandV
|
|
|
178
192
|
const foldAnimation = Update.foldChild({
|
|
179
193
|
update: AnimationUpdate.update,
|
|
180
194
|
read: (model) => __foldkitBrandViewResult((Option.some(model.animation)), "@foldkit/ui/dialog/index.js#read"),
|
|
181
|
-
write: (model, nextAnimation) => __foldkitBrandViewResult((
|
|
195
|
+
write: (model, nextAnimation) => __foldkitBrandViewResult((modifyFields(model, { animation: () => __foldkitBrandViewResult((nextAnimation), "@foldkit/ui/dialog/index.js#animation") })), "@foldkit/ui/dialog/index.js#write"),
|
|
182
196
|
toParentMessage: wrapAnimationMessage,
|
|
183
197
|
foldOutMessage: foldAnimationOutMessage,
|
|
184
198
|
});
|
|
185
199
|
const foldAnimationShow = Update.foldChildStep({
|
|
186
200
|
update: AnimationUpdate.show,
|
|
187
201
|
read: (model) => __foldkitBrandViewResult((Option.some(model.animation)), "@foldkit/ui/dialog/index.js#read~2"),
|
|
188
|
-
write: (model, nextAnimation) => __foldkitBrandViewResult((
|
|
202
|
+
write: (model, nextAnimation) => __foldkitBrandViewResult((modifyFields(model, { animation: () => __foldkitBrandViewResult((nextAnimation), "@foldkit/ui/dialog/index.js#animation~2") })), "@foldkit/ui/dialog/index.js#write~2"),
|
|
189
203
|
toParentMessage: wrapAnimationMessage,
|
|
190
204
|
});
|
|
191
205
|
const foldAnimationHide = Update.foldChildStep({
|
|
192
206
|
update: AnimationUpdate.hide,
|
|
193
207
|
read: (model) => __foldkitBrandViewResult((Option.some(model.animation)), "@foldkit/ui/dialog/index.js#read~3"),
|
|
194
|
-
write: (model, nextAnimation) => __foldkitBrandViewResult((
|
|
208
|
+
write: (model, nextAnimation) => __foldkitBrandViewResult((modifyFields(model, { animation: () => __foldkitBrandViewResult((nextAnimation), "@foldkit/ui/dialog/index.js#animation~3") })), "@foldkit/ui/dialog/index.js#write~3"),
|
|
195
209
|
toParentMessage: wrapAnimationMessage,
|
|
196
210
|
});
|
|
197
211
|
/** Processes a Dialog Message and returns the next Model and optional Commands. */
|
|
@@ -208,10 +222,10 @@ export const update = (model, message) => __foldkitBrandViewResult((Message.matc
|
|
|
208
222
|
stepModel => (__foldkitBrandViewResult(({ model: stepModel, commands }), "@foldkit/ui/dialog/index.js#anonymous~19")),
|
|
209
223
|
foldAnimationShow,
|
|
210
224
|
stepModel => (__foldkitBrandViewResult(({
|
|
211
|
-
model:
|
|
225
|
+
model: modifyFields(stepModel, { isOpen: () => __foldkitBrandViewResult((true), "@foldkit/ui/dialog/index.js#isOpen~2") }),
|
|
212
226
|
}), "@foldkit/ui/dialog/index.js#anonymous~20")),
|
|
213
227
|
])
|
|
214
|
-
: { model:
|
|
228
|
+
: { model: modifyFields(model, { isOpen: () => __foldkitBrandViewResult((true), "@foldkit/ui/dialog/index.js#isOpen~3") }), commands };
|
|
215
229
|
return __foldkitBrandViewResult((wasClosed
|
|
216
230
|
? pipe(dialogOpen, Update.withOutMessage(OutMessage.Opened()))
|
|
217
231
|
: dialogOpen), "@foldkit/ui/dialog/index.js#RequestedOpen");
|
|
@@ -224,7 +238,7 @@ export const update = (model, message) => __foldkitBrandViewResult((Message.matc
|
|
|
224
238
|
if (model.isAnimated) {
|
|
225
239
|
const dialogClose = Update.combine(model, [
|
|
226
240
|
stepModel => (__foldkitBrandViewResult(({
|
|
227
|
-
model:
|
|
241
|
+
model: modifyFields(stepModel, { isOpen: () => __foldkitBrandViewResult((false), "@foldkit/ui/dialog/index.js#isOpen~4") }),
|
|
228
242
|
}), "@foldkit/ui/dialog/index.js#anonymous~21")),
|
|
229
243
|
foldAnimationHide,
|
|
230
244
|
]);
|
|
@@ -235,7 +249,7 @@ export const update = (model, message) => __foldkitBrandViewResult((Message.matc
|
|
|
235
249
|
const maybeClose = Option.liftPredicate(CloseDialog({ id: model.id }), () => __foldkitBrandViewResult((wasOpen), "@foldkit/ui/dialog/index.js#anonymous~22"));
|
|
236
250
|
const commands = Option.toArray(maybeClose);
|
|
237
251
|
const dialogClose = {
|
|
238
|
-
model:
|
|
252
|
+
model: modifyFields(model, { isOpen: () => __foldkitBrandViewResult((false), "@foldkit/ui/dialog/index.js#isOpen~5") }),
|
|
239
253
|
commands,
|
|
240
254
|
};
|
|
241
255
|
return __foldkitBrandViewResult((wasOpen
|
|
@@ -30,7 +30,7 @@ export type DisclosureAttributes<Message> = Readonly<{
|
|
|
30
30
|
* disclosure opens. */
|
|
31
31
|
animatePanel: (content: Html, options?: AnimatePanelOptions) => Html;
|
|
32
32
|
}>;
|
|
33
|
-
/** Options for
|
|
33
|
+
/** Options for `DisclosureAttributes.animatePanel`.
|
|
34
34
|
*
|
|
35
35
|
* - `peek`: a CSS height the collapsed panel keeps, such as `'7.5em'` for
|
|
36
36
|
* five lines at a 1.5 leading. The visible content is an inert preview;
|
|
@@ -78,7 +78,7 @@ export type ViewConfig<Message> = Readonly<{
|
|
|
78
78
|
*
|
|
79
79
|
* // In update:
|
|
80
80
|
* ToggledDetails: ({ isOpen }) => ({
|
|
81
|
-
* model:
|
|
81
|
+
* model: modifyFields(model, { isDetailsOpen: () => isOpen }),
|
|
82
82
|
* }),
|
|
83
83
|
* ``` */
|
|
84
84
|
export declare const view: <Message>(config: ViewConfig<Message>, h: HtmlBuilder<Message>) => Html;
|
package/dist/disclosure/index.js
CHANGED
|
@@ -28,7 +28,7 @@ const panelSizeTransition = 'grid-template-rows 200ms ease-out';
|
|
|
28
28
|
*
|
|
29
29
|
* // In update:
|
|
30
30
|
* ToggledDetails: ({ isOpen }) => ({
|
|
31
|
-
* model:
|
|
31
|
+
* model: modifyFields(model, { isDetailsOpen: () => isOpen }),
|
|
32
32
|
* }),
|
|
33
33
|
* ``` */
|
|
34
34
|
export const view = (config, h) => {
|
|
@@ -5,7 +5,7 @@ import * as Dom from 'foldkit/dom';
|
|
|
5
5
|
import { inertHtml as ih } from 'foldkit/html';
|
|
6
6
|
import { defineMessageUnion } from 'foldkit/message';
|
|
7
7
|
import { defineTaggedUnion } from 'foldkit/schema';
|
|
8
|
-
import {
|
|
8
|
+
import { modifyFields } from 'foldkit/struct';
|
|
9
9
|
import * as Subscription from 'foldkit/subscription';
|
|
10
10
|
import * as Update from 'foldkit/update';
|
|
11
11
|
import { attributeSelector } from '../internal/selectors.js';
|
|
@@ -195,7 +195,7 @@ const withUpdateReturn = Match.withReturnType();
|
|
|
195
195
|
* Commands, and an optional OutMessage for the parent. */
|
|
196
196
|
export const update = (model, message) => __foldkitBrandViewResult((Message.match(message, {
|
|
197
197
|
PressedDraggable: ({ itemId, containerId, index, screenX, screenY }) => (__foldkitBrandViewResult(({
|
|
198
|
-
model:
|
|
198
|
+
model: modifyFields(model, {
|
|
199
199
|
dragState: () => __foldkitBrandViewResult((DragState.Pending({
|
|
200
200
|
itemId,
|
|
201
201
|
containerId,
|
|
@@ -212,7 +212,7 @@ export const update = (model, message) => __foldkitBrandViewResult((Message.matc
|
|
|
212
212
|
return __foldkitBrandViewResult(({ model }), "@foldkit/ui/dragAndDrop/index.js#anonymous~9");
|
|
213
213
|
}
|
|
214
214
|
return __foldkitBrandViewResult(({
|
|
215
|
-
model:
|
|
215
|
+
model: modifyFields(model, {
|
|
216
216
|
dragState: () => __foldkitBrandViewResult((DragState.Dragging({
|
|
217
217
|
itemId: pending.itemId,
|
|
218
218
|
sourceContainerId: pending.containerId,
|
|
@@ -224,7 +224,7 @@ export const update = (model, message) => __foldkitBrandViewResult((Message.matc
|
|
|
224
224
|
}),
|
|
225
225
|
}), "@foldkit/ui/dragAndDrop/index.js#anonymous~9");
|
|
226
226
|
}), Match.tag('Dragging', dragging => (__foldkitBrandViewResult(({
|
|
227
|
-
model:
|
|
227
|
+
model: modifyFields(model, {
|
|
228
228
|
dragState: () => __foldkitBrandViewResult((DragState.Dragging({
|
|
229
229
|
...dragging,
|
|
230
230
|
current: { clientX, clientY },
|
|
@@ -233,14 +233,14 @@ export const update = (model, message) => __foldkitBrandViewResult((Message.matc
|
|
|
233
233
|
}),
|
|
234
234
|
}), "@foldkit/ui/dragAndDrop/index.js#anonymous~10"))), Match.orElse(() => (__foldkitBrandViewResult(({ model }), "@foldkit/ui/dragAndDrop/index.js#anonymous~11"))))), "@foldkit/ui/dragAndDrop/index.js#MovedPointer"),
|
|
235
235
|
ReleasedPointer: () => __foldkitBrandViewResult((Match.value(model.dragState).pipe(withUpdateReturn, Match.tag('Pending', () => (__foldkitBrandViewResult(({
|
|
236
|
-
model:
|
|
236
|
+
model: modifyFields(model, { dragState: () => __foldkitBrandViewResult((DragState.Idle()), "@foldkit/ui/dragAndDrop/index.js#dragState~4") }),
|
|
237
237
|
}), "@foldkit/ui/dragAndDrop/index.js#anonymous~12"))), Match.tag('Dragging', dragging => __foldkitBrandViewResult((Option.match(dragging.maybeDropTarget, {
|
|
238
238
|
onNone: () => (__foldkitBrandViewResult(({
|
|
239
|
-
model:
|
|
239
|
+
model: modifyFields(model, { dragState: () => __foldkitBrandViewResult((DragState.Idle()), "@foldkit/ui/dragAndDrop/index.js#dragState~5") }),
|
|
240
240
|
outMessage: OutMessage.Cancelled(),
|
|
241
241
|
}), "@foldkit/ui/dragAndDrop/index.js#onNone")),
|
|
242
242
|
onSome: dropTarget => (__foldkitBrandViewResult(({
|
|
243
|
-
model:
|
|
243
|
+
model: modifyFields(model, { dragState: () => __foldkitBrandViewResult((DragState.Idle()), "@foldkit/ui/dragAndDrop/index.js#dragState~6") }),
|
|
244
244
|
outMessage: OutMessage.Reordered({
|
|
245
245
|
itemId: dragging.itemId,
|
|
246
246
|
fromContainerId: dragging.sourceContainerId,
|
|
@@ -254,13 +254,13 @@ export const update = (model, message) => __foldkitBrandViewResult((Message.matc
|
|
|
254
254
|
const maybeFocusCommand = Option.liftPredicate(model.dragState, dragState => __foldkitBrandViewResult((dragState._tag === 'KeyboardDragging'), "@foldkit/ui/dragAndDrop/index.js#anonymous~15")).pipe(Option.map(({ itemId }) => __foldkitBrandViewResult((FocusItem({ itemId })), "@foldkit/ui/dragAndDrop/index.js#anonymous~16")));
|
|
255
255
|
const maybeOutMessage = Option.liftPredicate(model.dragState._tag, _tag => __foldkitBrandViewResult((_tag === 'Dragging' || _tag === 'KeyboardDragging'), "@foldkit/ui/dragAndDrop/index.js#anonymous~17")).pipe(Option.map(() => __foldkitBrandViewResult((OutMessage.Cancelled()), "@foldkit/ui/dragAndDrop/index.js#anonymous~18")));
|
|
256
256
|
const dragCancellation = {
|
|
257
|
-
model:
|
|
257
|
+
model: modifyFields(model, { dragState: () => __foldkitBrandViewResult((DragState.Idle()), "@foldkit/ui/dragAndDrop/index.js#dragState~7") }),
|
|
258
258
|
commands: Option.toArray(maybeFocusCommand),
|
|
259
259
|
};
|
|
260
260
|
return __foldkitBrandViewResult((pipe(dragCancellation, Update.withOutMessage(Option.getOrUndefined(maybeOutMessage)))), "@foldkit/ui/dragAndDrop/index.js#CancelledDrag");
|
|
261
261
|
},
|
|
262
262
|
ActivatedKeyboardDrag: ({ itemId, containerId, index }) => (__foldkitBrandViewResult(({
|
|
263
|
-
model:
|
|
263
|
+
model: modifyFields(model, {
|
|
264
264
|
dragState: () => __foldkitBrandViewResult((DragState.KeyboardDragging({
|
|
265
265
|
itemId,
|
|
266
266
|
sourceContainerId: containerId,
|
|
@@ -271,7 +271,7 @@ export const update = (model, message) => __foldkitBrandViewResult((Message.matc
|
|
|
271
271
|
}),
|
|
272
272
|
}), "@foldkit/ui/dragAndDrop/index.js#ActivatedKeyboardDrag")),
|
|
273
273
|
CompletedResolveKeyboardMove: ({ targetContainerId, targetIndex }) => __foldkitBrandViewResult((Match.value(model.dragState).pipe(withUpdateReturn, Match.tag('KeyboardDragging', keyboardDragging => (__foldkitBrandViewResult(({
|
|
274
|
-
model:
|
|
274
|
+
model: modifyFields(model, {
|
|
275
275
|
dragState: () => __foldkitBrandViewResult((DragState.KeyboardDragging({
|
|
276
276
|
...keyboardDragging,
|
|
277
277
|
targetContainerId,
|
|
@@ -281,7 +281,7 @@ export const update = (model, message) => __foldkitBrandViewResult((Message.matc
|
|
|
281
281
|
commands: [FocusItem({ itemId: keyboardDragging.itemId })],
|
|
282
282
|
}), "@foldkit/ui/dragAndDrop/index.js#anonymous~19"))), Match.orElse(() => (__foldkitBrandViewResult(({ model }), "@foldkit/ui/dragAndDrop/index.js#anonymous~20"))))), "@foldkit/ui/dragAndDrop/index.js#CompletedResolveKeyboardMove"),
|
|
283
283
|
ConfirmedKeyboardDrop: () => __foldkitBrandViewResult((Match.value(model.dragState).pipe(withUpdateReturn, Match.tag('KeyboardDragging', keyboardDragging => (__foldkitBrandViewResult(({
|
|
284
|
-
model:
|
|
284
|
+
model: modifyFields(model, { dragState: () => __foldkitBrandViewResult((DragState.Idle()), "@foldkit/ui/dragAndDrop/index.js#dragState~10") }),
|
|
285
285
|
commands: [FocusItem({ itemId: keyboardDragging.itemId })],
|
|
286
286
|
outMessage: OutMessage.Reordered({
|
|
287
287
|
itemId: keyboardDragging.itemId,
|
|
@@ -393,18 +393,18 @@ export const subscriptions = Subscription.make()(entry => (__foldkitBrandViewRes
|
|
|
393
393
|
dependenciesToStream: ({ dragActivity }) => __foldkitBrandViewResult((Stream.when(Subscription.fromEventFilterMapPreventDefault({
|
|
394
394
|
target: document,
|
|
395
395
|
type: 'keydown',
|
|
396
|
-
|
|
396
|
+
filterMapEvent: event => {
|
|
397
397
|
// NOTE: the draggable's OnKeyDownPreventDefault calls preventDefault on
|
|
398
398
|
// the Space that activates keyboard drag. Skip it here so the same
|
|
399
399
|
// keypress doesn't also confirm the drop in the same tick.
|
|
400
400
|
if (event.defaultPrevented) {
|
|
401
|
-
return __foldkitBrandViewResult((Option.none()), "@foldkit/ui/dragAndDrop/index.js#
|
|
401
|
+
return __foldkitBrandViewResult((Option.none()), "@foldkit/ui/dragAndDrop/index.js#filterMapEvent");
|
|
402
402
|
}
|
|
403
403
|
return __foldkitBrandViewResult((Match.value(event.key).pipe(Match.withReturnType(), Match.when('Tab', () => __foldkitBrandViewResult((Option.some(Message.PressedArrowKey({
|
|
404
404
|
direction: event.shiftKey
|
|
405
405
|
? 'PreviousContainer'
|
|
406
406
|
: 'NextContainer',
|
|
407
|
-
}))), "@foldkit/ui/dragAndDrop/index.js#anonymous~50")), Match.whenOr(' ', 'Enter', () => __foldkitBrandViewResult((Option.some(Message.ConfirmedKeyboardDrop())), "@foldkit/ui/dragAndDrop/index.js#anonymous~51")), Match.orElse(key => __foldkitBrandViewResult((Option.map(arrowKeyToDirection(key), direction => __foldkitBrandViewResult((Message.PressedArrowKey({ direction })), "@foldkit/ui/dragAndDrop/index.js#anonymous~53"))), "@foldkit/ui/dragAndDrop/index.js#anonymous~52")))), "@foldkit/ui/dragAndDrop/index.js#
|
|
407
|
+
}))), "@foldkit/ui/dragAndDrop/index.js#anonymous~50")), Match.whenOr(' ', 'Enter', () => __foldkitBrandViewResult((Option.some(Message.ConfirmedKeyboardDrop())), "@foldkit/ui/dragAndDrop/index.js#anonymous~51")), Match.orElse(key => __foldkitBrandViewResult((Option.map(arrowKeyToDirection(key), direction => __foldkitBrandViewResult((Message.PressedArrowKey({ direction })), "@foldkit/ui/dragAndDrop/index.js#anonymous~53"))), "@foldkit/ui/dragAndDrop/index.js#anonymous~52")))), "@foldkit/ui/dragAndDrop/index.js#filterMapEvent");
|
|
408
408
|
},
|
|
409
409
|
}), Effect.sync(() => __foldkitBrandViewResult((dragActivity === 'Active'), "@foldkit/ui/dragAndDrop/index.js#anonymous~54")))), "@foldkit/ui/dragAndDrop/index.js#dependenciesToStream~3"),
|
|
410
410
|
}),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/fileDrop/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAS,MAAM,EAAE,MAAM,QAAQ,CAAA;AACtC,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,SAAS,CAAA;AAErC,OAAO,EAAE,KAAK,cAAc,EAAE,KAAK,IAAI,EAAmB,MAAM,cAAc,CAAA;AAO9E;;;;;iEAKiE;AACjE,eAAO,MAAM,KAAK;;;EAGhB,CAAA;AACF,MAAM,MAAM,KAAK,GAAG,OAAO,KAAK,CAAC,IAAI,CAAA;AAIrC,iEAAiE;AACjE,eAAO,MAAM,OAAO;;;;QAGF,KAAK;;;EAErB,CAAA;AACF,MAAM,MAAM,OAAO,GAAG,OAAO,OAAO,CAAC,IAAI,CAAA;AAIzC;wEACwE;AACxE,eAAO,MAAM,UAAU;;QACJ,KAAK;;;EAEtB,CAAA;AACF,MAAM,MAAM,UAAU,GAAG,OAAO,UAAU,CAAC,IAAI,CAAA;AAI/C,gEAAgE;AAChE,MAAM,MAAM,UAAU,GAAG,QAAQ,CAAC;IAChC,EAAE,EAAE,MAAM,CAAA;CACX,CAAC,CAAA;AAEF,qEAAqE;AACrE,eAAO,MAAM,IAAI,WAAY,UAAU,KAAG,KAGxC,CAAA;AAIF;kCACkC;AAClC,eAAO,MAAM,MAAM,UAAW,KAAK,WAAW,OAAO;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/fileDrop/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAS,MAAM,EAAE,MAAM,QAAQ,CAAA;AACtC,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,SAAS,CAAA;AAErC,OAAO,EAAE,KAAK,cAAc,EAAE,KAAK,IAAI,EAAmB,MAAM,cAAc,CAAA;AAO9E;;;;;iEAKiE;AACjE,eAAO,MAAM,KAAK;;;EAGhB,CAAA;AACF,MAAM,MAAM,KAAK,GAAG,OAAO,KAAK,CAAC,IAAI,CAAA;AAIrC,iEAAiE;AACjE,eAAO,MAAM,OAAO;;;;QAGF,KAAK;;;EAErB,CAAA;AACF,MAAM,MAAM,OAAO,GAAG,OAAO,OAAO,CAAC,IAAI,CAAA;AAIzC;wEACwE;AACxE,eAAO,MAAM,UAAU;;QACJ,KAAK;;;EAEtB,CAAA;AACF,MAAM,MAAM,UAAU,GAAG,OAAO,UAAU,CAAC,IAAI,CAAA;AAI/C,gEAAgE;AAChE,MAAM,MAAM,UAAU,GAAG,QAAQ,CAAC;IAChC,EAAE,EAAE,MAAM,CAAA;CACX,CAAC,CAAA;AAEF,qEAAqE;AACrE,eAAO,MAAM,IAAI,WAAY,UAAU,KAAG,KAGxC,CAAA;AAIF;kCACkC;AAClC,eAAO,MAAM,MAAM,UAAW,KAAK,WAAW,OAAO;;;;;;;;;;;;;;;;;;;;;EAmBlD,CAAA;AAIH;yBACyB;AACzB,MAAM,MAAM,kBAAkB,GAAG,QAAQ,CAAC;IACxC;;yCAEqC;IACrC,IAAI,EAAE,aAAa,CAAC,cAAc,CAAC,CAAA;IACnC;;2BAEuB;IACvB,KAAK,EAAE,aAAa,CAAC,cAAc,CAAC,CAAA;CACrC,CAAC,CAAA;AAEF,qFAAqF;AACrF,MAAM,MAAM,UAAU,GAAG,QAAQ,CAAC;IAChC,MAAM,EAAE,CAAC,UAAU,EAAE,kBAAkB,KAAK,IAAI,CAAA;IAChD,MAAM,CAAC,EAAE,aAAa,CAAC,MAAM,CAAC,CAAA;IAC9B,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,UAAU,CAAC,EAAE,OAAO,CAAA;CACrB,CAAC,CAAA;AASF;iDACiD;AACjD,eAAO,MAAM,IAAI;;;;;;;;;;;;;YAfP,CAAC,UAAU,EAAE,kBAAkB,KAAK,IAAI;aACvC,aAAa,CAAC,MAAM,CAAC;eACnB,OAAO;iBACL,OAAO;GAkDrB,CAAA"}
|
package/dist/fileDrop/index.js
CHANGED
|
@@ -3,7 +3,7 @@ import { Array, Schema } from 'effect';
|
|
|
3
3
|
import * as File from 'foldkit/file';
|
|
4
4
|
import { childAttributes } from 'foldkit/html';
|
|
5
5
|
import { defineMessageUnion } from 'foldkit/message';
|
|
6
|
-
import {
|
|
6
|
+
import { modifyFields } from 'foldkit/struct';
|
|
7
7
|
import { defineView } from 'foldkit/submodel';
|
|
8
8
|
// MODEL
|
|
9
9
|
/** Schema for the file-drop component's state.
|
|
@@ -41,15 +41,17 @@ export const init = (config) => (__foldkitBrandViewResult(({
|
|
|
41
41
|
* and an optional OutMessage. */
|
|
42
42
|
export const update = (model, message) => __foldkitBrandViewResult((Message.match(message, {
|
|
43
43
|
EnteredDragZone: () => (__foldkitBrandViewResult(({
|
|
44
|
-
model:
|
|
44
|
+
model: modifyFields(model, { isDragOver: () => __foldkitBrandViewResult((true), "@foldkit/ui/fileDrop/index.js#isDragOver") }),
|
|
45
45
|
}), "@foldkit/ui/fileDrop/index.js#EnteredDragZone")),
|
|
46
|
-
LeftDragZone: () => (__foldkitBrandViewResult(({
|
|
46
|
+
LeftDragZone: () => (__foldkitBrandViewResult(({
|
|
47
|
+
model: modifyFields(model, { isDragOver: () => __foldkitBrandViewResult((false), "@foldkit/ui/fileDrop/index.js#isDragOver~2") }),
|
|
48
|
+
}), "@foldkit/ui/fileDrop/index.js#LeftDragZone")),
|
|
47
49
|
DroppedFiles: ({ files }) => (__foldkitBrandViewResult(({
|
|
48
|
-
model:
|
|
50
|
+
model: modifyFields(model, { isDragOver: () => __foldkitBrandViewResult((false), "@foldkit/ui/fileDrop/index.js#isDragOver~3") }),
|
|
49
51
|
outMessage: OutMessage.ReceivedFiles({ files }),
|
|
50
52
|
}), "@foldkit/ui/fileDrop/index.js#DroppedFiles")),
|
|
51
53
|
DroppedNonFiles: () => (__foldkitBrandViewResult(({
|
|
52
|
-
model:
|
|
54
|
+
model: modifyFields(model, { isDragOver: () => __foldkitBrandViewResult((false), "@foldkit/ui/fileDrop/index.js#isDragOver~4") }),
|
|
53
55
|
outMessage: OutMessage.RejectedNonFiles(),
|
|
54
56
|
}), "@foldkit/ui/fileDrop/index.js#DroppedNonFiles")),
|
|
55
57
|
})), "@foldkit/ui/fileDrop/index.js#update");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hoverIntent.d.ts","sourceRoot":"","sources":["../../src/hoverIntent/hoverIntent.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAiB,MAAM,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AACxE,OAAO,KAAK,OAAO,MAAM,iBAAiB,CAAA;AAC1C,OAAO,EAAE,KAAK,cAAc,EAAE,KAAK,IAAI,EAAmB,MAAM,cAAc,CAAA;AAG9E,OAAO,KAAK,MAAM,MAAM,gBAAgB,CAAA;AAExC,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AAOlD,yJAAyJ;AACzJ,eAAO,MAAM,KAAK;;;;;;;;;;EAUhB,CAAA;AACF,MAAM,MAAM,KAAK,GAAG,OAAO,KAAK,CAAC,IAAI,CAAA;AAKrC,sDAAsD;AACtD,MAAM,MAAM,UAAU,GAAG,QAAQ,CAAC;IAChC,SAAS,CAAC,EAAE,QAAQ,CAAC,KAAK,CAAA;IAC1B,UAAU,CAAC,EAAE,QAAQ,CAAC,KAAK,CAAA;CAC5B,CAAC,CAAA;AAEF,yPAAyP;AACzP,eAAO,MAAM,IAAI,YAAY,UAAU,KAAQ,KAgB7C,CAAA;AAIF,4EAA4E;AAC5E,eAAO,MAAM,iBAAiB;;;;;;iBAO5B,CAAA;AAEF,4EAA4E;AAC5E,eAAO,MAAM,iBAAiB;;;;;;iBAO5B,CAAA;AAEF,KAAK,YAAY,GAAG,MAAM,CAAC,oBAAoB,CAAC,KAAK,EAAE,OAAO,EAAE,UAAU,CAAC,CAAA;AAyI3E;0EAC0E;AAC1E,eAAO,MAAM,KAAK,UAAW,KAAK,KAAG,YAOlC,CAAA;AAEH,iHAAiH;AACjH,eAAO,MAAM,MAAM,UAAW,KAAK,WAAW,OAAO,KAAG,
|
|
1
|
+
{"version":3,"file":"hoverIntent.d.ts","sourceRoot":"","sources":["../../src/hoverIntent/hoverIntent.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAiB,MAAM,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AACxE,OAAO,KAAK,OAAO,MAAM,iBAAiB,CAAA;AAC1C,OAAO,EAAE,KAAK,cAAc,EAAE,KAAK,IAAI,EAAmB,MAAM,cAAc,CAAA;AAG9E,OAAO,KAAK,MAAM,MAAM,gBAAgB,CAAA;AAExC,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AAOlD,yJAAyJ;AACzJ,eAAO,MAAM,KAAK;;;;;;;;;;EAUhB,CAAA;AACF,MAAM,MAAM,KAAK,GAAG,OAAO,KAAK,CAAC,IAAI,CAAA;AAKrC,sDAAsD;AACtD,MAAM,MAAM,UAAU,GAAG,QAAQ,CAAC;IAChC,SAAS,CAAC,EAAE,QAAQ,CAAC,KAAK,CAAA;IAC1B,UAAU,CAAC,EAAE,QAAQ,CAAC,KAAK,CAAA;CAC5B,CAAC,CAAA;AAEF,yPAAyP;AACzP,eAAO,MAAM,IAAI,YAAY,UAAU,KAAQ,KAgB7C,CAAA;AAIF,4EAA4E;AAC5E,eAAO,MAAM,iBAAiB;;;;;;iBAO5B,CAAA;AAEF,4EAA4E;AAC5E,eAAO,MAAM,iBAAiB;;;;;;iBAO5B,CAAA;AAEF,KAAK,YAAY,GAAG,MAAM,CAAC,oBAAoB,CAAC,KAAK,EAAE,OAAO,EAAE,UAAU,CAAC,CAAA;AAyI3E;0EAC0E;AAC1E,eAAO,MAAM,KAAK,UAAW,KAAK,KAAG,YAOlC,CAAA;AAEH,iHAAiH;AACjH,eAAO,MAAM,MAAM,UAAW,KAAK,WAAW,OAAO,KAAG,YA4CpD,CAAA;AAIJ;;;;kEAIkE;AAClE,MAAM,MAAM,UAAU,GAAG,QAAQ,CAAC;IAChC,OAAO,EAAE,aAAa,CAAC,cAAc,CAAC,CAAA;IACtC,KAAK,EAAE,aAAa,CAAC,cAAc,CAAC,CAAA;IACpC,SAAS,EAAE,OAAO,CAAA;CACnB,CAAC,CAAA;AAEF,qFAAqF;AACrF,MAAM,MAAM,UAAU,GAAG,QAAQ,CAAC;IAChC,uLAAuL;IACvL,oBAAoB,CAAC,EAAE,MAAM,CAAA;IAC7B,MAAM,EAAE,CAAC,MAAM,EAAE,UAAU,KAAK,IAAI,CAAA;CACrC,CAAC,CAAA;AAEF,8GAA8G;AAC9G,eAAO,MAAM,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IANf,uLAAuL;2BAChK,MAAM;YACrB,CAAC,MAAM,EAAE,UAAU,KAAK,IAAI;GAiDrC,CAAA"}
|
|
@@ -2,7 +2,7 @@ import { brandViewResult as __foldkitBrandViewResult } from 'foldkit/brand'
|
|
|
2
2
|
import { Duration, Effect, Match, Number, Option, Schema } from 'effect';
|
|
3
3
|
import * as Command from 'foldkit/command';
|
|
4
4
|
import { childAttributes } from 'foldkit/html';
|
|
5
|
-
import {
|
|
5
|
+
import { modifyFields } from 'foldkit/struct';
|
|
6
6
|
import { defineView } from 'foldkit/submodel';
|
|
7
7
|
import { Message, OutMessage } from './message.js';
|
|
8
8
|
// MODEL
|
|
@@ -57,7 +57,7 @@ const open = (model) => {
|
|
|
57
57
|
return __foldkitBrandViewResult(({ model }), "@foldkit/ui/hoverIntent/hoverIntent.js#open");
|
|
58
58
|
}
|
|
59
59
|
return __foldkitBrandViewResult(({
|
|
60
|
-
model:
|
|
60
|
+
model: modifyFields(model, { isOpen: () => __foldkitBrandViewResult((true), "@foldkit/ui/hoverIntent/hoverIntent.js#isOpen") }),
|
|
61
61
|
outMessage: OutMessage.Opened(),
|
|
62
62
|
}), "@foldkit/ui/hoverIntent/hoverIntent.js#open");
|
|
63
63
|
};
|
|
@@ -66,26 +66,26 @@ const finishClosing = (model) => {
|
|
|
66
66
|
return __foldkitBrandViewResult(({ model }), "@foldkit/ui/hoverIntent/hoverIntent.js#finishClosing");
|
|
67
67
|
}
|
|
68
68
|
return __foldkitBrandViewResult(({
|
|
69
|
-
model:
|
|
69
|
+
model: modifyFields(model, { isOpen: () => __foldkitBrandViewResult((false), "@foldkit/ui/hoverIntent/hoverIntent.js#isOpen~2") }),
|
|
70
70
|
outMessage: OutMessage.Closed(),
|
|
71
71
|
}), "@foldkit/ui/hoverIntent/hoverIntent.js#finishClosing");
|
|
72
72
|
};
|
|
73
73
|
const scheduleOpen = (model) => {
|
|
74
74
|
const version = Number.increment(model.pendingOpenVersion);
|
|
75
75
|
return __foldkitBrandViewResult(({
|
|
76
|
-
model:
|
|
76
|
+
model: modifyFields(model, { pendingOpenVersion: () => __foldkitBrandViewResult((version), "@foldkit/ui/hoverIntent/hoverIntent.js#pendingOpenVersion") }),
|
|
77
77
|
commands: [WaitBeforeOpening({ delay: model.openDelay, version })],
|
|
78
78
|
}), "@foldkit/ui/hoverIntent/hoverIntent.js#scheduleOpen");
|
|
79
79
|
};
|
|
80
80
|
const scheduleClose = (model, delay) => {
|
|
81
81
|
const version = Number.increment(model.pendingCloseVersion);
|
|
82
82
|
return __foldkitBrandViewResult(({
|
|
83
|
-
model:
|
|
83
|
+
model: modifyFields(model, { pendingCloseVersion: () => __foldkitBrandViewResult((version), "@foldkit/ui/hoverIntent/hoverIntent.js#pendingCloseVersion") }),
|
|
84
84
|
commands: [WaitBeforeClosing({ delay, version })],
|
|
85
85
|
}), "@foldkit/ui/hoverIntent/hoverIntent.js#scheduleClose");
|
|
86
86
|
};
|
|
87
87
|
const entered = (model) => {
|
|
88
|
-
const enteredModel =
|
|
88
|
+
const enteredModel = modifyFields(model, {
|
|
89
89
|
pendingCloseVersion: Number.increment,
|
|
90
90
|
});
|
|
91
91
|
if (enteredModel.isOpen || enteredModel.isDismissed) {
|
|
@@ -94,14 +94,14 @@ const entered = (model) => {
|
|
|
94
94
|
return __foldkitBrandViewResult((scheduleOpen(enteredModel)), "@foldkit/ui/hoverIntent/hoverIntent.js#entered");
|
|
95
95
|
};
|
|
96
96
|
const left = (model) => {
|
|
97
|
-
const leftModel =
|
|
97
|
+
const leftModel = modifyFields(model, {
|
|
98
98
|
pendingOpenVersion: Number.increment,
|
|
99
99
|
});
|
|
100
100
|
if (isEngaged(leftModel)) {
|
|
101
101
|
return __foldkitBrandViewResult(({ model: leftModel }), "@foldkit/ui/hoverIntent/hoverIntent.js#left");
|
|
102
102
|
}
|
|
103
103
|
if (leftModel.isDismissed) {
|
|
104
|
-
return __foldkitBrandViewResult(({ model:
|
|
104
|
+
return __foldkitBrandViewResult(({ model: modifyFields(leftModel, { isDismissed: () => __foldkitBrandViewResult((false), "@foldkit/ui/hoverIntent/hoverIntent.js#isDismissed") }) }), "@foldkit/ui/hoverIntent/hoverIntent.js#left");
|
|
105
105
|
}
|
|
106
106
|
if (!leftModel.isOpen) {
|
|
107
107
|
return __foldkitBrandViewResult(({ model: leftModel }), "@foldkit/ui/hoverIntent/hoverIntent.js#left");
|
|
@@ -109,7 +109,7 @@ const left = (model) => {
|
|
|
109
109
|
return __foldkitBrandViewResult((scheduleClose(leftModel, leftModel.closeDelay)), "@foldkit/ui/hoverIntent/hoverIntent.js#left");
|
|
110
110
|
};
|
|
111
111
|
const focused = (model, focusLocation) => {
|
|
112
|
-
const focusedModel =
|
|
112
|
+
const focusedModel = modifyFields(model, {
|
|
113
113
|
maybeFocusLocation: () => __foldkitBrandViewResult((Option.some(focusLocation)), "@foldkit/ui/hoverIntent/hoverIntent.js#maybeFocusLocation"),
|
|
114
114
|
pendingOpenVersion: Number.increment,
|
|
115
115
|
pendingCloseVersion: Number.increment,
|
|
@@ -120,7 +120,7 @@ const focused = (model, focusLocation) => {
|
|
|
120
120
|
return __foldkitBrandViewResult((open(focusedModel)), "@foldkit/ui/hoverIntent/hoverIntent.js#focused");
|
|
121
121
|
};
|
|
122
122
|
const blurred = (model) => {
|
|
123
|
-
const blurredModel =
|
|
123
|
+
const blurredModel = modifyFields(model, {
|
|
124
124
|
maybeFocusLocation: () => __foldkitBrandViewResult((Option.none()), "@foldkit/ui/hoverIntent/hoverIntent.js#maybeFocusLocation~2"),
|
|
125
125
|
pendingOpenVersion: Number.increment,
|
|
126
126
|
});
|
|
@@ -128,7 +128,7 @@ const blurred = (model) => {
|
|
|
128
128
|
return __foldkitBrandViewResult(({ model: blurredModel }), "@foldkit/ui/hoverIntent/hoverIntent.js#blurred");
|
|
129
129
|
}
|
|
130
130
|
if (blurredModel.isDismissed) {
|
|
131
|
-
return __foldkitBrandViewResult(({ model:
|
|
131
|
+
return __foldkitBrandViewResult(({ model: modifyFields(blurredModel, { isDismissed: () => __foldkitBrandViewResult((false), "@foldkit/ui/hoverIntent/hoverIntent.js#isDismissed~2") }) }), "@foldkit/ui/hoverIntent/hoverIntent.js#blurred");
|
|
132
132
|
}
|
|
133
133
|
if (!blurredModel.isOpen) {
|
|
134
134
|
return __foldkitBrandViewResult(({ model: blurredModel }), "@foldkit/ui/hoverIntent/hoverIntent.js#blurred");
|
|
@@ -137,7 +137,7 @@ const blurred = (model) => {
|
|
|
137
137
|
};
|
|
138
138
|
const dismiss = (model, isTriggerFocused) => {
|
|
139
139
|
const maybeFocusLocation = Option.liftPredicate('Trigger', () => __foldkitBrandViewResult((isTriggerFocused), "@foldkit/ui/hoverIntent/hoverIntent.js#anonymous"));
|
|
140
|
-
const dismissedModel =
|
|
140
|
+
const dismissedModel = modifyFields(model, {
|
|
141
141
|
isOpen: () => __foldkitBrandViewResult((false), "@foldkit/ui/hoverIntent/hoverIntent.js#isOpen~3"),
|
|
142
142
|
isPanelHovered: () => __foldkitBrandViewResult((false), "@foldkit/ui/hoverIntent/hoverIntent.js#isPanelHovered"),
|
|
143
143
|
maybeFocusLocation: () => __foldkitBrandViewResult((maybeFocusLocation), "@foldkit/ui/hoverIntent/hoverIntent.js#maybeFocusLocation~3"),
|
|
@@ -155,10 +155,10 @@ const dismiss = (model, isTriggerFocused) => {
|
|
|
155
155
|
export const close = (model) => __foldkitBrandViewResult((dismiss(model, Option.exists(model.maybeFocusLocation, focusLocation => __foldkitBrandViewResult((focusLocation === 'Trigger'), "@foldkit/ui/hoverIntent/hoverIntent.js#anonymous~2")))), "@foldkit/ui/hoverIntent/hoverIntent.js#close");
|
|
156
156
|
/** Processes a HoverIntent Message and returns the next Model, optional Commands, and an optional OutMessage. */
|
|
157
157
|
export const update = (model, message) => __foldkitBrandViewResult((Message.match(message, {
|
|
158
|
-
EnteredTrigger: () => __foldkitBrandViewResult((entered(
|
|
159
|
-
LeftTrigger: () => __foldkitBrandViewResult((left(
|
|
160
|
-
EnteredPanel: () => __foldkitBrandViewResult((entered(
|
|
161
|
-
LeftPanel: () => __foldkitBrandViewResult((left(
|
|
158
|
+
EnteredTrigger: () => __foldkitBrandViewResult((entered(modifyFields(model, { isTriggerHovered: () => __foldkitBrandViewResult((true), "@foldkit/ui/hoverIntent/hoverIntent.js#isTriggerHovered") }))), "@foldkit/ui/hoverIntent/hoverIntent.js#EnteredTrigger"),
|
|
159
|
+
LeftTrigger: () => __foldkitBrandViewResult((left(modifyFields(model, { isTriggerHovered: () => __foldkitBrandViewResult((false), "@foldkit/ui/hoverIntent/hoverIntent.js#isTriggerHovered~2") }))), "@foldkit/ui/hoverIntent/hoverIntent.js#LeftTrigger"),
|
|
160
|
+
EnteredPanel: () => __foldkitBrandViewResult((entered(modifyFields(model, { isPanelHovered: () => __foldkitBrandViewResult((true), "@foldkit/ui/hoverIntent/hoverIntent.js#isPanelHovered~2") }))), "@foldkit/ui/hoverIntent/hoverIntent.js#EnteredPanel"),
|
|
161
|
+
LeftPanel: () => __foldkitBrandViewResult((left(modifyFields(model, { isPanelHovered: () => __foldkitBrandViewResult((false), "@foldkit/ui/hoverIntent/hoverIntent.js#isPanelHovered~3") }))), "@foldkit/ui/hoverIntent/hoverIntent.js#LeftPanel"),
|
|
162
162
|
FocusedTrigger: () => __foldkitBrandViewResult((focused(model, 'Trigger')), "@foldkit/ui/hoverIntent/hoverIntent.js#FocusedTrigger"),
|
|
163
163
|
BlurredTrigger: () => __foldkitBrandViewResult((blurred(model)), "@foldkit/ui/hoverIntent/hoverIntent.js#BlurredTrigger"),
|
|
164
164
|
FocusedPanel: () => __foldkitBrandViewResult((focused(model, 'Panel')), "@foldkit/ui/hoverIntent/hoverIntent.js#FocusedPanel"),
|
package/dist/index.d.ts
CHANGED
|
@@ -14,8 +14,10 @@ export * as HoverIntent from './hoverIntent/public.js';
|
|
|
14
14
|
export * as Input from './input/public.js';
|
|
15
15
|
export * as Listbox from './listbox/public.js';
|
|
16
16
|
export * as Menu from './menu/public.js';
|
|
17
|
+
export * as Meter from './meter/public.js';
|
|
17
18
|
export * as Nav from './nav/public.js';
|
|
18
19
|
export * as Popover from './popover/public.js';
|
|
20
|
+
export * as Progress from './progress/public.js';
|
|
19
21
|
export * as RadioGroup from './radioGroup/public.js';
|
|
20
22
|
export * as Select from './select/public.js';
|
|
21
23
|
export * as Slider from './slider/public.js';
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,oBAAoB,CAAA;AAC5C,OAAO,KAAK,SAAS,MAAM,uBAAuB,CAAA;AAClD,OAAO,KAAK,MAAM,MAAM,oBAAoB,CAAA;AAC5C,OAAO,KAAK,QAAQ,MAAM,sBAAsB,CAAA;AAChD,OAAO,KAAK,UAAU,MAAM,wBAAwB,CAAA;AACpD,OAAO,KAAK,QAAQ,MAAM,sBAAsB,CAAA;AAChD,OAAO,KAAK,QAAQ,MAAM,sBAAsB,CAAA;AAChD,OAAO,KAAK,MAAM,MAAM,oBAAoB,CAAA;AAC5C,OAAO,KAAK,WAAW,MAAM,yBAAyB,CAAA;AACtD,OAAO,KAAK,UAAU,MAAM,wBAAwB,CAAA;AACpD,OAAO,KAAK,QAAQ,MAAM,sBAAsB,CAAA;AAChD,OAAO,KAAK,QAAQ,MAAM,sBAAsB,CAAA;AAChD,OAAO,KAAK,WAAW,MAAM,yBAAyB,CAAA;AACtD,OAAO,KAAK,KAAK,MAAM,mBAAmB,CAAA;AAC1C,OAAO,KAAK,OAAO,MAAM,qBAAqB,CAAA;AAC9C,OAAO,KAAK,IAAI,MAAM,kBAAkB,CAAA;AACxC,OAAO,KAAK,GAAG,MAAM,iBAAiB,CAAA;AACtC,OAAO,KAAK,OAAO,MAAM,qBAAqB,CAAA;AAC9C,OAAO,KAAK,UAAU,MAAM,wBAAwB,CAAA;AACpD,OAAO,KAAK,MAAM,MAAM,oBAAoB,CAAA;AAC5C,OAAO,KAAK,MAAM,MAAM,oBAAoB,CAAA;AAC5C,OAAO,KAAK,MAAM,MAAM,oBAAoB,CAAA;AAC5C,OAAO,KAAK,QAAQ,MAAM,sBAAsB,CAAA;AAChD,OAAO,KAAK,IAAI,MAAM,kBAAkB,CAAA;AACxC,OAAO,KAAK,KAAK,MAAM,mBAAmB,CAAA;AAC1C,OAAO,KAAK,OAAO,MAAM,qBAAqB,CAAA;AAC9C,OAAO,KAAK,WAAW,MAAM,yBAAyB,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,oBAAoB,CAAA;AAC5C,OAAO,KAAK,SAAS,MAAM,uBAAuB,CAAA;AAClD,OAAO,KAAK,MAAM,MAAM,oBAAoB,CAAA;AAC5C,OAAO,KAAK,QAAQ,MAAM,sBAAsB,CAAA;AAChD,OAAO,KAAK,UAAU,MAAM,wBAAwB,CAAA;AACpD,OAAO,KAAK,QAAQ,MAAM,sBAAsB,CAAA;AAChD,OAAO,KAAK,QAAQ,MAAM,sBAAsB,CAAA;AAChD,OAAO,KAAK,MAAM,MAAM,oBAAoB,CAAA;AAC5C,OAAO,KAAK,WAAW,MAAM,yBAAyB,CAAA;AACtD,OAAO,KAAK,UAAU,MAAM,wBAAwB,CAAA;AACpD,OAAO,KAAK,QAAQ,MAAM,sBAAsB,CAAA;AAChD,OAAO,KAAK,QAAQ,MAAM,sBAAsB,CAAA;AAChD,OAAO,KAAK,WAAW,MAAM,yBAAyB,CAAA;AACtD,OAAO,KAAK,KAAK,MAAM,mBAAmB,CAAA;AAC1C,OAAO,KAAK,OAAO,MAAM,qBAAqB,CAAA;AAC9C,OAAO,KAAK,IAAI,MAAM,kBAAkB,CAAA;AACxC,OAAO,KAAK,KAAK,MAAM,mBAAmB,CAAA;AAC1C,OAAO,KAAK,GAAG,MAAM,iBAAiB,CAAA;AACtC,OAAO,KAAK,OAAO,MAAM,qBAAqB,CAAA;AAC9C,OAAO,KAAK,QAAQ,MAAM,sBAAsB,CAAA;AAChD,OAAO,KAAK,UAAU,MAAM,wBAAwB,CAAA;AACpD,OAAO,KAAK,MAAM,MAAM,oBAAoB,CAAA;AAC5C,OAAO,KAAK,MAAM,MAAM,oBAAoB,CAAA;AAC5C,OAAO,KAAK,MAAM,MAAM,oBAAoB,CAAA;AAC5C,OAAO,KAAK,QAAQ,MAAM,sBAAsB,CAAA;AAChD,OAAO,KAAK,IAAI,MAAM,kBAAkB,CAAA;AACxC,OAAO,KAAK,KAAK,MAAM,mBAAmB,CAAA;AAC1C,OAAO,KAAK,OAAO,MAAM,qBAAqB,CAAA;AAC9C,OAAO,KAAK,WAAW,MAAM,yBAAyB,CAAA"}
|
package/dist/index.js
CHANGED
|
@@ -14,8 +14,10 @@ export * as HoverIntent from './hoverIntent/public.js';
|
|
|
14
14
|
export * as Input from './input/public.js';
|
|
15
15
|
export * as Listbox from './listbox/public.js';
|
|
16
16
|
export * as Menu from './menu/public.js';
|
|
17
|
+
export * as Meter from './meter/public.js';
|
|
17
18
|
export * as Nav from './nav/public.js';
|
|
18
19
|
export * as Popover from './popover/public.js';
|
|
20
|
+
export * as Progress from './progress/public.js';
|
|
19
21
|
export * as RadioGroup from './radioGroup/public.js';
|
|
20
22
|
export * as Select from './select/public.js';
|
|
21
23
|
export * as Slider from './slider/public.js';
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { Attribute, HtmlBuilder } from 'foldkit/html';
|
|
2
|
+
type AccessibleNameConfig = Readonly<{
|
|
3
|
+
ariaLabel: string | undefined;
|
|
4
|
+
ariaLabelledBy: string | undefined;
|
|
5
|
+
fallbackLabelId: string;
|
|
6
|
+
}>;
|
|
7
|
+
export declare const accessibleNameAttributes: <Message>(config: AccessibleNameConfig, h: HtmlBuilder<Message>) => ReadonlyArray<Attribute<Message>>;
|
|
8
|
+
export {};
|
|
9
|
+
//# sourceMappingURL=accessibleName.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"accessibleName.d.ts","sourceRoot":"","sources":["../../src/internal/accessibleName.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,cAAc,CAAA;AAE1D,KAAK,oBAAoB,GAAG,QAAQ,CAAC;IACnC,SAAS,EAAE,MAAM,GAAG,SAAS,CAAA;IAC7B,cAAc,EAAE,MAAM,GAAG,SAAS,CAAA;IAClC,eAAe,EAAE,MAAM,CAAA;CACxB,CAAC,CAAA;AAEF,eAAO,MAAM,wBAAwB,GAAI,OAAO,UACtC,oBAAoB,KACzB,WAAW,CAAC,OAAO,CAAC,KACtB,aAAa,CAAC,SAAS,CAAC,OAAO,CAAC,CAQlC,CAAA"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { brandViewResult as __foldkitBrandViewResult } from 'foldkit/brand'
|
|
2
|
+
export const accessibleNameAttributes = (config, h) => {
|
|
3
|
+
if (config.ariaLabel !== undefined) {
|
|
4
|
+
return __foldkitBrandViewResult(([h.AriaLabel(config.ariaLabel)]), "@foldkit/ui/internal/accessibleName.js#accessibleNameAttributes");
|
|
5
|
+
}
|
|
6
|
+
else if (config.ariaLabelledBy !== undefined) {
|
|
7
|
+
return __foldkitBrandViewResult(([h.AriaLabelledBy(config.ariaLabelledBy)]), "@foldkit/ui/internal/accessibleName.js#accessibleNameAttributes");
|
|
8
|
+
}
|
|
9
|
+
else {
|
|
10
|
+
return __foldkitBrandViewResult(([h.AriaLabelledBy(config.fallbackLabelId)]), "@foldkit/ui/internal/accessibleName.js#accessibleNameAttributes");
|
|
11
|
+
}
|
|
12
|
+
};
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
export declare const clamp: (value: number, min: number, max: number) => number;
|
|
2
|
+
export declare const normalizeRangeMax: (min: number, max: number) => number;
|
|
3
|
+
/** Computes the fraction (0–1) of a value between min and max. Returns 0
|
|
4
|
+
* when the range has zero or negative width. */
|
|
5
|
+
export declare const fractionOfValue: (value: number, min: number, max: number) => number;
|
|
6
|
+
export declare const percentageFromFraction: (fraction: number) => string;
|
|
7
|
+
//# sourceMappingURL=range.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"range.d.ts","sourceRoot":"","sources":["../../src/internal/range.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,KAAK,UAAW,MAAM,OAAO,MAAM,OAAO,MAAM,KAAG,MAC3B,CAAA;AAErC,eAAO,MAAM,iBAAiB,QAAS,MAAM,OAAO,MAAM,KAAG,MACzC,CAAA;AAEpB;iDACiD;AACjD,eAAO,MAAM,eAAe,UACnB,MAAM,OACR,MAAM,OACN,MAAM,KACV,MAMF,CAAA;AAED,eAAO,MAAM,sBAAsB,aAAc,MAAM,KAAG,MAChB,CAAA"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { brandViewResult as __foldkitBrandViewResult } from 'foldkit/brand'
|
|
2
|
+
export const clamp = (value, min, max) => __foldkitBrandViewResult((Math.min(Math.max(value, min), max)), "@foldkit/ui/internal/range.js#clamp");
|
|
3
|
+
export const normalizeRangeMax = (min, max) => __foldkitBrandViewResult((Math.max(min, max)), "@foldkit/ui/internal/range.js#normalizeRangeMax");
|
|
4
|
+
/** Computes the fraction (0–1) of a value between min and max. Returns 0
|
|
5
|
+
* when the range has zero or negative width. */
|
|
6
|
+
export const fractionOfValue = (value, min, max) => {
|
|
7
|
+
if (max <= min) {
|
|
8
|
+
return __foldkitBrandViewResult((0), "@foldkit/ui/internal/range.js#fractionOfValue");
|
|
9
|
+
}
|
|
10
|
+
return __foldkitBrandViewResult((clamp((value - min) / (max - min), 0, 1)), "@foldkit/ui/internal/range.js#fractionOfValue");
|
|
11
|
+
};
|
|
12
|
+
export const percentageFromFraction = (fraction) => __foldkitBrandViewResult((`${Math.round(fraction * 10000) / 100}%`), "@foldkit/ui/internal/range.js#percentageFromFraction");
|
package/dist/listbox/multi.d.ts
CHANGED
|
@@ -13,6 +13,7 @@ export declare const Model: Schema.Struct<{
|
|
|
13
13
|
readonly id: Schema.String;
|
|
14
14
|
readonly isShowing: Schema.Boolean;
|
|
15
15
|
readonly transitionState: Schema.Literals<readonly ["Idle", "EnterStart", "EnterAnimating", "LeaveStart", "LeaveAnimating"]>;
|
|
16
|
+
readonly transitionGeneration: Schema.Number;
|
|
16
17
|
}>;
|
|
17
18
|
readonly maybeActiveItemIndex: Schema.Option<Schema.Number>;
|
|
18
19
|
readonly activationTrigger: Schema.Literals<readonly ["Pointer", "Keyboard"]>;
|
|
@@ -43,6 +44,7 @@ export declare const update: (model: {
|
|
|
43
44
|
readonly id: string;
|
|
44
45
|
readonly isShowing: boolean;
|
|
45
46
|
readonly transitionState: "EnterAnimating" | "EnterStart" | "Idle" | "LeaveAnimating" | "LeaveStart";
|
|
47
|
+
readonly transitionGeneration: number;
|
|
46
48
|
};
|
|
47
49
|
readonly maybeActiveItemIndex: Option.Option<number>;
|
|
48
50
|
readonly activationTrigger: "Keyboard" | "Pointer";
|
|
@@ -64,6 +66,7 @@ export declare const update: (model: {
|
|
|
64
66
|
readonly id: string;
|
|
65
67
|
readonly isShowing: boolean;
|
|
66
68
|
readonly transitionState: "EnterAnimating" | "EnterStart" | "Idle" | "LeaveAnimating" | "LeaveStart";
|
|
69
|
+
readonly transitionGeneration: number;
|
|
67
70
|
};
|
|
68
71
|
readonly maybeActiveItemIndex: Option.Option<number>;
|
|
69
72
|
readonly activationTrigger: "Keyboard" | "Pointer";
|
|
@@ -114,8 +117,10 @@ export declare const update: (model: {
|
|
|
114
117
|
readonly _tag: "GotAnimationMessage";
|
|
115
118
|
readonly message: {
|
|
116
119
|
readonly _tag: "CompletedWaitForPaint";
|
|
120
|
+
readonly generation: number;
|
|
117
121
|
} | {
|
|
118
122
|
readonly _tag: "EndedAnimation";
|
|
123
|
+
readonly generation: number;
|
|
119
124
|
} | {
|
|
120
125
|
readonly _tag: "Hid";
|
|
121
126
|
} | {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"multi.d.ts","sourceRoot":"","sources":["../../src/listbox/multi.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AACvC,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,SAAS,CAAA;AACrC,OAAO,KAAK,EAAE,IAAI,IAAI,YAAY,EAAE,MAAM,kBAAkB,CAAA;AAE5D,OAAO,EACL,KAAK,cAAc,EAEnB,KAAK,cAAc,EACnB,OAAO,EACP,UAAU,EAIX,MAAM,aAAa,CAAA;AAIpB,mOAAmO;AACnO,eAAO,MAAM,KAAK
|
|
1
|
+
{"version":3,"file":"multi.d.ts","sourceRoot":"","sources":["../../src/listbox/multi.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AACvC,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,SAAS,CAAA;AACrC,OAAO,KAAK,EAAE,IAAI,IAAI,YAAY,EAAE,MAAM,kBAAkB,CAAA;AAE5D,OAAO,EACL,KAAK,cAAc,EAEnB,KAAK,cAAc,EACnB,OAAO,EACP,UAAU,EAIX,MAAM,aAAa,CAAA;AAIpB,mOAAmO;AACnO,eAAO,MAAM,KAAK;;;;;;;;;;;;;;;;;;;;;EAEhB,CAAA;AAEF,MAAM,MAAM,KAAK,GAAG,OAAO,KAAK,CAAC,IAAI,CAAA;AAIrC,kOAAkO;AAClO,MAAM,MAAM,UAAU,GAAG,cAAc,CAAA;AAEvC,2GAA2G;AAC3G,eAAO,MAAM,IAAI,WAAY,UAAU,KAAG,KAAyB,CAAA;AAInE;;;kBAGkB;AAClB,eAAO,MAAM,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAGhB,CAAA;AAEH,KAAK,YAAY,GAAG,UAAU,CAAC,OAAO,MAAM,CAAC,CAAA;AAE7C;6DAC6D;AAC7D,eAAO,MAAM,IAAI,UAAW,KAAK,KAAG,YACoC,CAAA;AAExE;;;eAGe;AACf,eAAO,MAAM,KAAK,UAAW,KAAK,KAAG,YACJ,CAAA;AAEjC,8IAA8I;AAC9I,eAAO,MAAM,UAAU,UAAW,KAAK,QAAQ,MAAM,KAAG,YACT,CAAA;AAI/C,uFAAuF;AACvF,MAAM,MAAM,UAAU,CAAC,IAAI,EAAE,KAAK,SAAS,MAAM,GAAG,MAAM,IAAI,cAAc,CAC1E,IAAI,EACJ,KAAK,CACN,CAAA;AAID,KAAK,kBAAkB,CAAC,KAAK,SAAS,MAAM,IAAI,MAAM,CAAC,oBAAoB,CACzE,KAAK,EACL,OAAO,EACP,UAAU,CAAC,KAAK,CAAC,CAClB,CAAA;AAED;;;;2CAI2C;AAC3C,MAAM,MAAM,MAAM,CAChB,IAAI,GAAG,MAAM,EACb,KAAK,SAAS,MAAM,GAAG,IAAI,SAAS,MAAM,GAAG,IAAI,GAAG,MAAM,IACxD,QAAQ,CAAC;IACX,IAAI,EAAE,YAAY,CAAC,KAAK,EAAE,OAAO,EAAE,UAAU,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAA;IAC3D,MAAM,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,KAAK,kBAAkB,CAAC,KAAK,CAAC,CAAA;IACrE,UAAU,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,KAAK,kBAAkB,CAAC,KAAK,CAAC,CAAA;IACpE,IAAI,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,kBAAkB,CAAC,KAAK,CAAC,CAAA;IACjD,KAAK,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,kBAAkB,CAAC,KAAK,CAAC,CAAA;CACnD,CAAC,CAAA;AAEF;;;;qBAIqB;AACrB,eAAO,MAAM,MAAM,GACjB,IAAI,GAAG,MAAM,EACb,KAAK,SAAS,MAAM,GAAG,IAAI,SAAS,MAAM,GAAG,IAAI,GAAG,MAAM,OACvD,MAAM,CAAC,IAAI,EAAE,KAAK,CAoBtB,CAAA"}
|