@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/listbox/shared.d.ts
CHANGED
|
@@ -24,6 +24,7 @@ export declare const BaseModel: Schema.Struct<{
|
|
|
24
24
|
readonly id: Schema.String;
|
|
25
25
|
readonly isShowing: Schema.Boolean;
|
|
26
26
|
readonly transitionState: Schema.Literals<readonly ["Idle", "EnterStart", "EnterAnimating", "LeaveStart", "LeaveAnimating"]>;
|
|
27
|
+
readonly transitionGeneration: Schema.Number;
|
|
27
28
|
}>;
|
|
28
29
|
readonly maybeActiveItemIndex: Schema.Option<Schema.Number>;
|
|
29
30
|
readonly activationTrigger: Schema.Literals<readonly ["Pointer", "Keyboard"]>;
|
|
@@ -92,8 +93,12 @@ export declare const Message: import("foldkit/message").MessageUnion<{
|
|
|
92
93
|
message: import("foldkit/message").MessageUnion<{
|
|
93
94
|
readonly Showed: {};
|
|
94
95
|
readonly Hid: {};
|
|
95
|
-
readonly CompletedWaitForPaint: {
|
|
96
|
-
|
|
96
|
+
readonly CompletedWaitForPaint: {
|
|
97
|
+
generation: Schema.Number;
|
|
98
|
+
};
|
|
99
|
+
readonly EndedAnimation: {
|
|
100
|
+
generation: Schema.Number;
|
|
101
|
+
};
|
|
97
102
|
}>;
|
|
98
103
|
};
|
|
99
104
|
readonly PressedPointerOnButton: {
|
|
@@ -204,12 +209,15 @@ export declare const DelayClearSearch: Command.CommandDefinitionWithArgs<"DelayC
|
|
|
204
209
|
/** Detects whether the listbox button moved or the leave animation ended. Whichever comes first; both outcomes signal the Animation submodel that leave is complete. */
|
|
205
210
|
export declare const DetectMovementOrAnimationEnd: Command.CommandDefinitionWithArgs<"DetectMovementOrAnimationEnd", {
|
|
206
211
|
id: Schema.String;
|
|
212
|
+
generation: Schema.Number;
|
|
207
213
|
}, Effect.Effect<{
|
|
208
214
|
readonly _tag: "GotAnimationMessage";
|
|
209
215
|
readonly message: {
|
|
210
216
|
readonly _tag: "CompletedWaitForPaint";
|
|
217
|
+
readonly generation: number;
|
|
211
218
|
} | {
|
|
212
219
|
readonly _tag: "EndedAnimation";
|
|
220
|
+
readonly generation: number;
|
|
213
221
|
} | {
|
|
214
222
|
readonly _tag: "Hid";
|
|
215
223
|
} | {
|
|
@@ -283,8 +291,10 @@ export declare const makeUpdate: <Model extends BaseModel>(handleSelectedItem: (
|
|
|
283
291
|
readonly _tag: "GotAnimationMessage";
|
|
284
292
|
readonly message: {
|
|
285
293
|
readonly _tag: "CompletedWaitForPaint";
|
|
294
|
+
readonly generation: number;
|
|
286
295
|
} | {
|
|
287
296
|
readonly _tag: "EndedAnimation";
|
|
297
|
+
readonly generation: number;
|
|
288
298
|
} | {
|
|
289
299
|
readonly _tag: "Hid";
|
|
290
300
|
} | {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shared.d.ts","sourceRoot":"","sources":["../../src/listbox/shared.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,MAAM,EAIN,MAAM,EAEN,MAAM,EAGP,MAAM,QAAQ,CAAA;AACf,OAAO,KAAK,OAAO,MAAM,iBAAiB,CAAA;AAE1C,OAAO,KAAK,EAAE,cAAc,EAAE,IAAI,EAAE,MAAM,cAAc,CAAA;AAExD,OAAO,KAAK,KAAK,MAAM,eAAe,CAAA;AAEtC,OAAO,EAAE,KAAK,IAAI,IAAI,YAAY,EAAc,MAAM,kBAAkB,CAAA;AACxE,OAAO,KAAK,MAAM,MAAM,gBAAgB,CAAA;AAExC,OAAO,EACL,YAAY,EAGb,MAAM,oBAAoB,CAAA;AAkB3B,OAAO,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAA;AAEvD,OAAO,EAAE,qBAAqB,EAAE,CAAA;AAIhC,4FAA4F;AAC5F,eAAO,MAAM,iBAAiB,mDAA2C,CAAA;AACzE,MAAM,MAAM,iBAAiB,GAAG,OAAO,iBAAiB,CAAC,IAAI,CAAA;AAE7D,yFAAyF;AACzF,eAAO,MAAM,WAAW,sDAA8C,CAAA;AACtE,MAAM,MAAM,WAAW,GAAG,OAAO,WAAW,CAAC,IAAI,CAAA;AAEjD,wKAAwK;AACxK,eAAO,MAAM,SAAS
|
|
1
|
+
{"version":3,"file":"shared.d.ts","sourceRoot":"","sources":["../../src/listbox/shared.ts"],"names":[],"mappings":"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"}
|
package/dist/listbox/shared.js
CHANGED
|
@@ -4,7 +4,7 @@ import * as Command from 'foldkit/command';
|
|
|
4
4
|
import * as Dom from 'foldkit/dom';
|
|
5
5
|
import { defineMessageUnion } from 'foldkit/message';
|
|
6
6
|
import * as Mount from 'foldkit/mount';
|
|
7
|
-
import {
|
|
7
|
+
import { makeModifyFieldsFor } from 'foldkit/struct';
|
|
8
8
|
import { defineView } from 'foldkit/submodel';
|
|
9
9
|
import * as Update from 'foldkit/update';
|
|
10
10
|
import { AnchorConfig, anchorSetup, portalToContainingRoot, } from '../anchor/index.js';
|
|
@@ -115,8 +115,8 @@ export const itemsSelector = (id) => __foldkitBrandViewResult((idSelector(`${id}
|
|
|
115
115
|
export const itemSelector = (id, index) => __foldkitBrandViewResult((idSelector(`${id}-item-${index}`)), "@foldkit/ui/listbox/shared.js#itemSelector");
|
|
116
116
|
export const itemId = (id, index) => __foldkitBrandViewResult((`${id}-item-${index}`), "@foldkit/ui/listbox/shared.js#itemId");
|
|
117
117
|
// HELPERS
|
|
118
|
-
const
|
|
119
|
-
export const closedModel = (model) => __foldkitBrandViewResult((
|
|
118
|
+
const modifyBaseFields = makeModifyFieldsFor();
|
|
119
|
+
export const closedModel = (model) => __foldkitBrandViewResult((modifyBaseFields(model, {
|
|
120
120
|
isOpen: () => __foldkitBrandViewResult((false), "@foldkit/ui/listbox/shared.js#isOpen"),
|
|
121
121
|
maybeActiveItemIndex: () => __foldkitBrandViewResult((Option.none()), "@foldkit/ui/listbox/shared.js#maybeActiveItemIndex"),
|
|
122
122
|
searchQuery: () => __foldkitBrandViewResult((''), "@foldkit/ui/listbox/shared.js#searchQuery"),
|
|
@@ -178,39 +178,39 @@ export const DelayClearSearch = Command.define('DelayClearSearch', {
|
|
|
178
178
|
});
|
|
179
179
|
/** Detects whether the listbox button moved or the leave animation ended. Whichever comes first; both outcomes signal the Animation submodel that leave is complete. */
|
|
180
180
|
export const DetectMovementOrAnimationEnd = Command.define('DetectMovementOrAnimationEnd', {
|
|
181
|
-
args: { id: Schema.String },
|
|
181
|
+
args: { id: Schema.String, generation: Schema.Number },
|
|
182
182
|
messages: [Message.GotAnimationMessage],
|
|
183
|
-
execute: ({ id }) => __foldkitBrandViewResult((Effect.raceFirst(Dom.detectElementMovement(buttonSelector(id)).pipe(Effect.as(Message.GotAnimationMessage({
|
|
184
|
-
message: Animation.Message.EndedAnimation(),
|
|
183
|
+
execute: ({ id, generation }) => __foldkitBrandViewResult((Effect.raceFirst(Dom.detectElementMovement(buttonSelector(id)).pipe(Effect.as(Message.GotAnimationMessage({
|
|
184
|
+
message: Animation.Message.EndedAnimation({ generation }),
|
|
185
185
|
}))), Dom.waitForAnimationSettled(itemsSelector(id)).pipe(Effect.as(Message.GotAnimationMessage({
|
|
186
|
-
message: Animation.Message.EndedAnimation(),
|
|
186
|
+
message: Animation.Message.EndedAnimation({ generation }),
|
|
187
187
|
}))))), "@foldkit/ui/listbox/shared.js#execute~8"),
|
|
188
188
|
});
|
|
189
189
|
export const makeUpdate = (handleSelectedItem) => {
|
|
190
190
|
const foldAnimationOutMessage = Animation.OutMessage.match({
|
|
191
|
-
StartedLeaveAnimating: () => __foldkitBrandViewResult((model => (__foldkitBrandViewResult(({
|
|
191
|
+
StartedLeaveAnimating: ({ generation }) => __foldkitBrandViewResult((model => (__foldkitBrandViewResult(({
|
|
192
192
|
model,
|
|
193
|
-
commands: [DetectMovementOrAnimationEnd({ id: model.id })],
|
|
193
|
+
commands: [DetectMovementOrAnimationEnd({ id: model.id, generation })],
|
|
194
194
|
}), "@foldkit/ui/listbox/shared.js#anonymous"))), "@foldkit/ui/listbox/shared.js#StartedLeaveAnimating"),
|
|
195
195
|
TransitionedOut: () => __foldkitBrandViewResult((model => (__foldkitBrandViewResult(({ model }), "@foldkit/ui/listbox/shared.js#anonymous~2"))), "@foldkit/ui/listbox/shared.js#TransitionedOut"),
|
|
196
196
|
});
|
|
197
197
|
const foldAnimation = Update.foldChild({
|
|
198
198
|
update: animationUpdate,
|
|
199
199
|
read: (model) => __foldkitBrandViewResult((Option.some(model.animation)), "@foldkit/ui/listbox/shared.js#read"),
|
|
200
|
-
write: (model, nextAnimation) => __foldkitBrandViewResult((
|
|
200
|
+
write: (model, nextAnimation) => __foldkitBrandViewResult((modifyBaseFields(model, { animation: () => __foldkitBrandViewResult((nextAnimation), "@foldkit/ui/listbox/shared.js#animation") })), "@foldkit/ui/listbox/shared.js#write"),
|
|
201
201
|
toParentMessage: message => __foldkitBrandViewResult((Message.GotAnimationMessage({ message })), "@foldkit/ui/listbox/shared.js#toParentMessage"),
|
|
202
202
|
foldOutMessage: foldAnimationOutMessage,
|
|
203
203
|
});
|
|
204
204
|
const foldAnimationShow = Update.foldChildStep({
|
|
205
205
|
update: animationShow,
|
|
206
206
|
read: (model) => __foldkitBrandViewResult((Option.some(model.animation)), "@foldkit/ui/listbox/shared.js#read~2"),
|
|
207
|
-
write: (model, nextAnimation) => __foldkitBrandViewResult((
|
|
207
|
+
write: (model, nextAnimation) => __foldkitBrandViewResult((modifyBaseFields(model, { animation: () => __foldkitBrandViewResult((nextAnimation), "@foldkit/ui/listbox/shared.js#animation~2") })), "@foldkit/ui/listbox/shared.js#write~2"),
|
|
208
208
|
toParentMessage: message => __foldkitBrandViewResult((Message.GotAnimationMessage({ message })), "@foldkit/ui/listbox/shared.js#toParentMessage~2"),
|
|
209
209
|
});
|
|
210
210
|
const foldAnimationHide = Update.foldChildStep({
|
|
211
211
|
update: animationHide,
|
|
212
212
|
read: (model) => __foldkitBrandViewResult((Option.some(model.animation)), "@foldkit/ui/listbox/shared.js#read~3"),
|
|
213
|
-
write: (model, nextAnimation) => __foldkitBrandViewResult((
|
|
213
|
+
write: (model, nextAnimation) => __foldkitBrandViewResult((modifyBaseFields(model, { animation: () => __foldkitBrandViewResult((nextAnimation), "@foldkit/ui/listbox/shared.js#animation~3") })), "@foldkit/ui/listbox/shared.js#write~3"),
|
|
214
214
|
toParentMessage: message => __foldkitBrandViewResult((Message.GotAnimationMessage({ message })), "@foldkit/ui/listbox/shared.js#toParentMessage~3"),
|
|
215
215
|
});
|
|
216
216
|
const openListbox = (baseModel, openCommands) => {
|
|
@@ -222,12 +222,12 @@ export const makeUpdate = (handleSelectedItem) => {
|
|
|
222
222
|
}), "@foldkit/ui/listbox/shared.js#anonymous~3")),
|
|
223
223
|
foldAnimationShow,
|
|
224
224
|
stepModel => (__foldkitBrandViewResult(({
|
|
225
|
-
model:
|
|
225
|
+
model: modifyBaseFields(stepModel, { isOpen: () => __foldkitBrandViewResult((true), "@foldkit/ui/listbox/shared.js#isOpen~2") }),
|
|
226
226
|
}), "@foldkit/ui/listbox/shared.js#anonymous~4")),
|
|
227
227
|
])), "@foldkit/ui/listbox/shared.js#openListbox");
|
|
228
228
|
}
|
|
229
229
|
return __foldkitBrandViewResult(({
|
|
230
|
-
model:
|
|
230
|
+
model: modifyBaseFields(baseModel, { isOpen: () => __foldkitBrandViewResult((true), "@foldkit/ui/listbox/shared.js#isOpen~3") }),
|
|
231
231
|
commands: openCommands,
|
|
232
232
|
}), "@foldkit/ui/listbox/shared.js#openListbox");
|
|
233
233
|
};
|
|
@@ -273,7 +273,7 @@ export const makeUpdate = (handleSelectedItem) => {
|
|
|
273
273
|
SuppressedItemCommit: () => (__foldkitBrandViewResult(({ model }), "@foldkit/ui/listbox/shared.js#SuppressedItemCommit")),
|
|
274
274
|
CompletedAnchorListbox: () => (__foldkitBrandViewResult(({ model }), "@foldkit/ui/listbox/shared.js#CompletedAnchorListbox")),
|
|
275
275
|
CompletedPortalListboxBackdrop: () => (__foldkitBrandViewResult(({ model }), "@foldkit/ui/listbox/shared.js#CompletedPortalListboxBackdrop")),
|
|
276
|
-
Opened: ({ maybeActiveItemIndex }) => __foldkitBrandViewResult((openListbox(
|
|
276
|
+
Opened: ({ maybeActiveItemIndex }) => __foldkitBrandViewResult((openListbox(modifyBaseFields(model, {
|
|
277
277
|
maybeActiveItemIndex: () => __foldkitBrandViewResult((maybeActiveItemIndex), "@foldkit/ui/listbox/shared.js#maybeActiveItemIndex~2"),
|
|
278
278
|
activationTrigger: () => __foldkitBrandViewResult((Option.match(maybeActiveItemIndex, {
|
|
279
279
|
onNone: () => __foldkitBrandViewResult(('Pointer'), "@foldkit/ui/listbox/shared.js#onNone"),
|
|
@@ -291,7 +291,7 @@ export const makeUpdate = (handleSelectedItem) => {
|
|
|
291
291
|
return __foldkitBrandViewResult((closeListbox(model, closeWithoutFocusCommands)), "@foldkit/ui/listbox/shared.js#BlurredItems");
|
|
292
292
|
},
|
|
293
293
|
ActivatedItem: ({ index, activationTrigger }) => (__foldkitBrandViewResult(({
|
|
294
|
-
model:
|
|
294
|
+
model: modifyBaseFields(model, {
|
|
295
295
|
maybeActiveItemIndex: () => __foldkitBrandViewResult((Option.some(index)), "@foldkit/ui/listbox/shared.js#maybeActiveItemIndex~3"),
|
|
296
296
|
activationTrigger: () => __foldkitBrandViewResult((activationTrigger), "@foldkit/ui/listbox/shared.js#activationTrigger~2"),
|
|
297
297
|
}),
|
|
@@ -305,7 +305,7 @@ export const makeUpdate = (handleSelectedItem) => {
|
|
|
305
305
|
return __foldkitBrandViewResult(({ model }), "@foldkit/ui/listbox/shared.js#MovedPointerOverItem");
|
|
306
306
|
}
|
|
307
307
|
return __foldkitBrandViewResult(({
|
|
308
|
-
model:
|
|
308
|
+
model: modifyBaseFields(model, {
|
|
309
309
|
maybeActiveItemIndex: () => __foldkitBrandViewResult((Option.some(index)), "@foldkit/ui/listbox/shared.js#maybeActiveItemIndex~4"),
|
|
310
310
|
activationTrigger: () => __foldkitBrandViewResult(('Pointer'), "@foldkit/ui/listbox/shared.js#activationTrigger~3"),
|
|
311
311
|
maybeLastPointerPosition: () => __foldkitBrandViewResult((Option.some({ screenX, screenY })), "@foldkit/ui/listbox/shared.js#maybeLastPointerPosition~3"),
|
|
@@ -314,7 +314,7 @@ export const makeUpdate = (handleSelectedItem) => {
|
|
|
314
314
|
},
|
|
315
315
|
DeactivatedItem: () => __foldkitBrandViewResult((model.activationTrigger === 'Pointer'
|
|
316
316
|
? {
|
|
317
|
-
model:
|
|
317
|
+
model: modifyBaseFields(model, {
|
|
318
318
|
maybeActiveItemIndex: () => __foldkitBrandViewResult((Option.none()), "@foldkit/ui/listbox/shared.js#maybeActiveItemIndex~5"),
|
|
319
319
|
}),
|
|
320
320
|
}
|
|
@@ -331,7 +331,7 @@ export const makeUpdate = (handleSelectedItem) => {
|
|
|
331
331
|
const nextSearchQuery = model.searchQuery + key;
|
|
332
332
|
const nextSearchVersion = Number.increment(model.searchVersion);
|
|
333
333
|
return __foldkitBrandViewResult(({
|
|
334
|
-
model:
|
|
334
|
+
model: modifyBaseFields(model, {
|
|
335
335
|
searchQuery: () => __foldkitBrandViewResult((nextSearchQuery), "@foldkit/ui/listbox/shared.js#searchQuery~3"),
|
|
336
336
|
searchVersion: () => __foldkitBrandViewResult((nextSearchVersion), "@foldkit/ui/listbox/shared.js#searchVersion~3"),
|
|
337
337
|
maybeActiveItemIndex: () => __foldkitBrandViewResult((Option.orElse(maybeTargetIndex, () => __foldkitBrandViewResult((model.maybeActiveItemIndex), "@foldkit/ui/listbox/shared.js#anonymous~7"))), "@foldkit/ui/listbox/shared.js#maybeActiveItemIndex~6"),
|
|
@@ -343,11 +343,13 @@ export const makeUpdate = (handleSelectedItem) => {
|
|
|
343
343
|
if (version !== model.searchVersion) {
|
|
344
344
|
return __foldkitBrandViewResult(({ model }), "@foldkit/ui/listbox/shared.js#CompletedDelayClearSearch");
|
|
345
345
|
}
|
|
346
|
-
return __foldkitBrandViewResult(({
|
|
346
|
+
return __foldkitBrandViewResult(({
|
|
347
|
+
model: modifyBaseFields(model, { searchQuery: () => __foldkitBrandViewResult((''), "@foldkit/ui/listbox/shared.js#searchQuery~4") }),
|
|
348
|
+
}), "@foldkit/ui/listbox/shared.js#CompletedDelayClearSearch");
|
|
347
349
|
},
|
|
348
350
|
GotAnimationMessage: ({ message: animationMessage }) => __foldkitBrandViewResult((foldAnimation(model, animationMessage)), "@foldkit/ui/listbox/shared.js#GotAnimationMessage"),
|
|
349
351
|
PressedPointerOnButton: ({ pointerType, button }) => {
|
|
350
|
-
const withPointerType =
|
|
352
|
+
const withPointerType = modifyBaseFields(model, {
|
|
351
353
|
maybeLastButtonPointerType: () => __foldkitBrandViewResult((Option.some(pointerType)), "@foldkit/ui/listbox/shared.js#maybeLastButtonPointerType~2"),
|
|
352
354
|
});
|
|
353
355
|
if (pointerType !== 'mouse' || button !== LEFT_MOUSE_BUTTON) {
|
|
@@ -357,13 +359,13 @@ export const makeUpdate = (handleSelectedItem) => {
|
|
|
357
359
|
return __foldkitBrandViewResult((Update.combine(withPointerType, [
|
|
358
360
|
stepModel => __foldkitBrandViewResult((closeListbox(stepModel, closeWithFocusCommands)), "@foldkit/ui/listbox/shared.js#anonymous~8"),
|
|
359
361
|
stepModel => (__foldkitBrandViewResult(({
|
|
360
|
-
model:
|
|
362
|
+
model: modifyBaseFields(stepModel, {
|
|
361
363
|
maybeLastButtonPointerType: () => __foldkitBrandViewResult((Option.some(pointerType)), "@foldkit/ui/listbox/shared.js#maybeLastButtonPointerType~3"),
|
|
362
364
|
}),
|
|
363
365
|
}), "@foldkit/ui/listbox/shared.js#anonymous~9")),
|
|
364
366
|
])), "@foldkit/ui/listbox/shared.js#PressedPointerOnButton");
|
|
365
367
|
}
|
|
366
|
-
return __foldkitBrandViewResult((openListbox(
|
|
368
|
+
return __foldkitBrandViewResult((openListbox(modifyBaseFields(withPointerType, {
|
|
367
369
|
maybeActiveItemIndex: () => __foldkitBrandViewResult((Option.none()), "@foldkit/ui/listbox/shared.js#maybeActiveItemIndex~7"),
|
|
368
370
|
activationTrigger: () => __foldkitBrandViewResult(('Pointer'), "@foldkit/ui/listbox/shared.js#activationTrigger~4"),
|
|
369
371
|
searchQuery: () => __foldkitBrandViewResult((''), "@foldkit/ui/listbox/shared.js#searchQuery~5"),
|
|
@@ -372,7 +374,7 @@ export const makeUpdate = (handleSelectedItem) => {
|
|
|
372
374
|
}), openCommands)), "@foldkit/ui/listbox/shared.js#PressedPointerOnButton");
|
|
373
375
|
},
|
|
374
376
|
IgnoredMouseClick: () => (__foldkitBrandViewResult(({
|
|
375
|
-
model:
|
|
377
|
+
model: modifyBaseFields(model, {
|
|
376
378
|
maybeLastButtonPointerType: () => __foldkitBrandViewResult((Option.none()), "@foldkit/ui/listbox/shared.js#maybeLastButtonPointerType~4"),
|
|
377
379
|
}),
|
|
378
380
|
}), "@foldkit/ui/listbox/shared.js#IgnoredMouseClick")),
|
package/dist/listbox/single.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"]>;
|
|
@@ -42,6 +43,7 @@ export declare const update: (model: {
|
|
|
42
43
|
readonly id: string;
|
|
43
44
|
readonly isShowing: boolean;
|
|
44
45
|
readonly transitionState: "EnterAnimating" | "EnterStart" | "Idle" | "LeaveAnimating" | "LeaveStart";
|
|
46
|
+
readonly transitionGeneration: number;
|
|
45
47
|
};
|
|
46
48
|
readonly maybeActiveItemIndex: Option.Option<number>;
|
|
47
49
|
readonly activationTrigger: "Keyboard" | "Pointer";
|
|
@@ -63,6 +65,7 @@ export declare const update: (model: {
|
|
|
63
65
|
readonly id: string;
|
|
64
66
|
readonly isShowing: boolean;
|
|
65
67
|
readonly transitionState: "EnterAnimating" | "EnterStart" | "Idle" | "LeaveAnimating" | "LeaveStart";
|
|
68
|
+
readonly transitionGeneration: number;
|
|
66
69
|
};
|
|
67
70
|
readonly maybeActiveItemIndex: Option.Option<number>;
|
|
68
71
|
readonly activationTrigger: "Keyboard" | "Pointer";
|
|
@@ -115,8 +118,10 @@ export declare const update: (model: {
|
|
|
115
118
|
readonly _tag: "GotAnimationMessage";
|
|
116
119
|
readonly message: {
|
|
117
120
|
readonly _tag: "CompletedWaitForPaint";
|
|
121
|
+
readonly generation: number;
|
|
118
122
|
} | {
|
|
119
123
|
readonly _tag: "EndedAnimation";
|
|
124
|
+
readonly generation: number;
|
|
120
125
|
} | {
|
|
121
126
|
readonly _tag: "Hid";
|
|
122
127
|
} | {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"single.d.ts","sourceRoot":"","sources":["../../src/listbox/single.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AACvC,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,SAAS,CAAA;AACrC,OAAO,EAAE,KAAK,IAAI,IAAI,YAAY,EAAc,MAAM,kBAAkB,CAAA;AAExE,OAAO,EACL,KAAK,cAAc,EAEnB,KAAK,oBAAoB,EACzB,KAAK,gBAAgB,EACrB,OAAO,EACP,UAAU,EAIX,MAAM,aAAa,CAAA;AAIpB,wOAAwO;AACxO,eAAO,MAAM,KAAK
|
|
1
|
+
{"version":3,"file":"single.d.ts","sourceRoot":"","sources":["../../src/listbox/single.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AACvC,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,SAAS,CAAA;AACrC,OAAO,EAAE,KAAK,IAAI,IAAI,YAAY,EAAc,MAAM,kBAAkB,CAAA;AAExE,OAAO,EACL,KAAK,cAAc,EAEnB,KAAK,oBAAoB,EACzB,KAAK,gBAAgB,EACrB,OAAO,EACP,UAAU,EAIX,MAAM,aAAa,CAAA;AAIpB,wOAAwO;AACxO,eAAO,MAAM,KAAK;;;;;;;;;;;;;;;;;;;;;EAEhB,CAAA;AAEF,MAAM,MAAM,KAAK,GAAG,OAAO,KAAK,CAAC,IAAI,CAAA;AAIrC,mOAAmO;AACnO,MAAM,MAAM,UAAU,GAAG,cAAc,CAAA;AAEvC,4GAA4G;AAC5G,eAAO,MAAM,IAAI,WAAY,UAAU,KAAG,KAAyB,CAAA;AAInE;;qDAEqD;AACrD,eAAO,MAAM,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAElB,CAAA;AAED,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,0IAA0I;AAC1I,eAAO,MAAM,UAAU,UAAW,KAAK,QAAQ,MAAM,KAAG,YACT,CAAA;AAI/C,uFAAuF;AACvF,MAAM,MAAM,UAAU,CACpB,IAAI,EACJ,KAAK,SAAS,MAAM,GAAG,MAAM,IAC3B,oBAAoB,CAAC,IAAI,CAAC,GAC5B,QAAQ,CAAC;IACP;;;;6CAIyC;IACzC,kBAAkB,EAAE,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;CACzC,CAAC,GACF,gBAAgB,CAAC,IAAI,EAAE,KAAK,CAAC,CAAA;AAkB/B,KAAK,kBAAkB,CAAC,KAAK,SAAS,MAAM,IAAI,MAAM,CAAC,oBAAoB,CACzE,KAAK,EACL,OAAO,EACP,UAAU,CAAC,KAAK,CAAC,CAClB,CAAA;AAED;;;;uBAIuB;AACvB,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;;;;;;;;;;;;;;;;;;wDAkBwD;AACxD,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,CA2BtB,CAAA"}
|
package/dist/menu/index.d.ts
CHANGED
|
@@ -20,6 +20,7 @@ export declare const Model: Schema.Struct<{
|
|
|
20
20
|
readonly id: Schema.String;
|
|
21
21
|
readonly isShowing: Schema.Boolean;
|
|
22
22
|
readonly transitionState: Schema.Literals<readonly ["Idle", "EnterStart", "EnterAnimating", "LeaveStart", "LeaveAnimating"]>;
|
|
23
|
+
readonly transitionGeneration: Schema.Number;
|
|
23
24
|
}>;
|
|
24
25
|
readonly maybeActiveItemIndex: Schema.Option<Schema.Number>;
|
|
25
26
|
readonly activationTrigger: Schema.Literals<readonly ["Pointer", "Keyboard"]>;
|
|
@@ -84,8 +85,12 @@ export declare const Message: import("foldkit/message").MessageUnion<{
|
|
|
84
85
|
message: import("foldkit/message").MessageUnion<{
|
|
85
86
|
readonly Showed: {};
|
|
86
87
|
readonly Hid: {};
|
|
87
|
-
readonly CompletedWaitForPaint: {
|
|
88
|
-
|
|
88
|
+
readonly CompletedWaitForPaint: {
|
|
89
|
+
generation: Schema.Number;
|
|
90
|
+
};
|
|
91
|
+
readonly EndedAnimation: {
|
|
92
|
+
generation: Schema.Number;
|
|
93
|
+
};
|
|
89
94
|
}>;
|
|
90
95
|
};
|
|
91
96
|
readonly PressedPointerOnButton: {
|
|
@@ -203,12 +208,15 @@ export declare const DelayClearSearch: Command.CommandDefinitionWithArgs<"DelayC
|
|
|
203
208
|
/** Detects whether the menu button moved or the leave animation ended. Whichever comes first; both outcomes signal the Animation submodel that leave is complete. */
|
|
204
209
|
export declare const DetectMovementOrAnimationEnd: Command.CommandDefinitionWithArgs<"DetectMovementOrAnimationEnd", {
|
|
205
210
|
id: Schema.String;
|
|
211
|
+
generation: Schema.Number;
|
|
206
212
|
}, Effect.Effect<{
|
|
207
213
|
readonly _tag: "GotAnimationMessage";
|
|
208
214
|
readonly message: {
|
|
209
215
|
readonly _tag: "CompletedWaitForPaint";
|
|
216
|
+
readonly generation: number;
|
|
210
217
|
} | {
|
|
211
218
|
readonly _tag: "EndedAnimation";
|
|
219
|
+
readonly generation: number;
|
|
212
220
|
} | {
|
|
213
221
|
readonly _tag: "Hid";
|
|
214
222
|
} | {
|
|
@@ -227,6 +235,7 @@ export declare const update: (model: Model, message: Message) => Readonly<{
|
|
|
227
235
|
readonly id: string;
|
|
228
236
|
readonly isShowing: boolean;
|
|
229
237
|
readonly transitionState: "EnterAnimating" | "EnterStart" | "Idle" | "LeaveAnimating" | "LeaveStart";
|
|
238
|
+
readonly transitionGeneration: number;
|
|
230
239
|
};
|
|
231
240
|
readonly maybeActiveItemIndex: Option.Option<number>;
|
|
232
241
|
readonly activationTrigger: "Keyboard" | "Pointer";
|
|
@@ -284,8 +293,10 @@ export declare const update: (model: Model, message: Message) => Readonly<{
|
|
|
284
293
|
readonly _tag: "GotAnimationMessage";
|
|
285
294
|
readonly message: {
|
|
286
295
|
readonly _tag: "CompletedWaitForPaint";
|
|
296
|
+
readonly generation: number;
|
|
287
297
|
} | {
|
|
288
298
|
readonly _tag: "EndedAnimation";
|
|
299
|
+
readonly generation: number;
|
|
289
300
|
} | {
|
|
290
301
|
readonly _tag: "Hid";
|
|
291
302
|
} | {
|
package/dist/menu/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/menu/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,MAAM,EAGN,MAAM,EAEN,MAAM,EAGP,MAAM,QAAQ,CAAA;AACf,OAAO,KAAK,OAAO,MAAM,iBAAiB,CAAA;AAE1C,OAAO,KAAK,EAAE,cAAc,EAAE,IAAI,EAAE,MAAM,cAAc,CAAA;AAExD,OAAO,KAAK,KAAK,MAAM,eAAe,CAAA;AAEtC,OAAO,EAAE,KAAK,IAAI,IAAI,YAAY,EAAc,MAAM,kBAAkB,CAAA;AACxE,OAAO,KAAK,MAAM,MAAM,gBAAgB,CAAA;AAExC,OAAO,EACL,YAAY,EAGb,MAAM,oBAAoB,CAAA;AAU3B,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAA;AAQ7C,OAAO,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAA;AAIvD,4FAA4F;AAC5F,eAAO,MAAM,iBAAiB,mDAA2C,CAAA;AACzE,MAAM,MAAM,iBAAiB,GAAG,OAAO,iBAAiB,CAAC,IAAI,CAAA;AAQ7D,iIAAiI;AACjI,eAAO,MAAM,KAAK
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/menu/index.ts"],"names":[],"mappings":"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"}
|
package/dist/menu/index.js
CHANGED
|
@@ -4,7 +4,7 @@ import * as Command from 'foldkit/command';
|
|
|
4
4
|
import * as Dom from 'foldkit/dom';
|
|
5
5
|
import { defineMessageUnion } from 'foldkit/message';
|
|
6
6
|
import * as Mount from 'foldkit/mount';
|
|
7
|
-
import {
|
|
7
|
+
import { modifyFields } from 'foldkit/struct';
|
|
8
8
|
import { defineView } from 'foldkit/submodel';
|
|
9
9
|
import * as Update from 'foldkit/update';
|
|
10
10
|
import { AnchorConfig, anchorSetup, portalToContainingRoot, } from '../anchor/index.js';
|
|
@@ -114,7 +114,7 @@ export const init = (config) => (__foldkitBrandViewResult(({
|
|
|
114
114
|
maybePointerOrigin: Option.none(),
|
|
115
115
|
}), "@foldkit/ui/menu/index.js#init"));
|
|
116
116
|
// UPDATE
|
|
117
|
-
const closedModel = (model) => __foldkitBrandViewResult((
|
|
117
|
+
const closedModel = (model) => __foldkitBrandViewResult((modifyFields(model, {
|
|
118
118
|
isOpen: () => __foldkitBrandViewResult((false), "@foldkit/ui/menu/index.js#isOpen"),
|
|
119
119
|
maybeActiveItemIndex: () => __foldkitBrandViewResult((Option.none()), "@foldkit/ui/menu/index.js#maybeActiveItemIndex"),
|
|
120
120
|
searchQuery: () => __foldkitBrandViewResult((''), "@foldkit/ui/menu/index.js#searchQuery"),
|
|
@@ -185,38 +185,38 @@ export const DelayClearSearch = Command.define('DelayClearSearch', {
|
|
|
185
185
|
});
|
|
186
186
|
/** Detects whether the menu button moved or the leave animation ended. Whichever comes first; both outcomes signal the Animation submodel that leave is complete. */
|
|
187
187
|
export const DetectMovementOrAnimationEnd = Command.define('DetectMovementOrAnimationEnd', {
|
|
188
|
-
args: { id: Schema.String },
|
|
188
|
+
args: { id: Schema.String, generation: Schema.Number },
|
|
189
189
|
messages: [Message.GotAnimationMessage],
|
|
190
|
-
execute: ({ id }) => __foldkitBrandViewResult((Effect.raceFirst(Dom.detectElementMovement(buttonSelector(id)).pipe(Effect.as(Message.GotAnimationMessage({
|
|
191
|
-
message: Animation.Message.EndedAnimation(),
|
|
190
|
+
execute: ({ id, generation }) => __foldkitBrandViewResult((Effect.raceFirst(Dom.detectElementMovement(buttonSelector(id)).pipe(Effect.as(Message.GotAnimationMessage({
|
|
191
|
+
message: Animation.Message.EndedAnimation({ generation }),
|
|
192
192
|
}))), Dom.waitForAnimationSettled(itemsSelector(id)).pipe(Effect.as(Message.GotAnimationMessage({
|
|
193
|
-
message: Animation.Message.EndedAnimation(),
|
|
193
|
+
message: Animation.Message.EndedAnimation({ generation }),
|
|
194
194
|
}))))), "@foldkit/ui/menu/index.js#execute~8"),
|
|
195
195
|
});
|
|
196
196
|
const foldAnimationOutMessage = Animation.OutMessage.match({
|
|
197
|
-
StartedLeaveAnimating: () => __foldkitBrandViewResult((model => (__foldkitBrandViewResult(({
|
|
197
|
+
StartedLeaveAnimating: ({ generation }) => __foldkitBrandViewResult((model => (__foldkitBrandViewResult(({
|
|
198
198
|
model,
|
|
199
|
-
commands: [DetectMovementOrAnimationEnd({ id: model.id })],
|
|
199
|
+
commands: [DetectMovementOrAnimationEnd({ id: model.id, generation })],
|
|
200
200
|
}), "@foldkit/ui/menu/index.js#anonymous"))), "@foldkit/ui/menu/index.js#StartedLeaveAnimating"),
|
|
201
201
|
TransitionedOut: () => __foldkitBrandViewResult((model => (__foldkitBrandViewResult(({ model }), "@foldkit/ui/menu/index.js#anonymous~2"))), "@foldkit/ui/menu/index.js#TransitionedOut"),
|
|
202
202
|
});
|
|
203
203
|
const foldAnimation = Update.foldChild({
|
|
204
204
|
update: animationUpdate,
|
|
205
205
|
read: (model) => __foldkitBrandViewResult((Option.some(model.animation)), "@foldkit/ui/menu/index.js#read"),
|
|
206
|
-
write: (model, nextAnimation) => __foldkitBrandViewResult((
|
|
206
|
+
write: (model, nextAnimation) => __foldkitBrandViewResult((modifyFields(model, { animation: () => __foldkitBrandViewResult((nextAnimation), "@foldkit/ui/menu/index.js#animation") })), "@foldkit/ui/menu/index.js#write"),
|
|
207
207
|
toParentMessage: message => __foldkitBrandViewResult((Message.GotAnimationMessage({ message })), "@foldkit/ui/menu/index.js#toParentMessage"),
|
|
208
208
|
foldOutMessage: foldAnimationOutMessage,
|
|
209
209
|
});
|
|
210
210
|
const foldAnimationShow = Update.foldChildStep({
|
|
211
211
|
update: animationShow,
|
|
212
212
|
read: (model) => __foldkitBrandViewResult((Option.some(model.animation)), "@foldkit/ui/menu/index.js#read~2"),
|
|
213
|
-
write: (model, nextAnimation) => __foldkitBrandViewResult((
|
|
213
|
+
write: (model, nextAnimation) => __foldkitBrandViewResult((modifyFields(model, { animation: () => __foldkitBrandViewResult((nextAnimation), "@foldkit/ui/menu/index.js#animation~2") })), "@foldkit/ui/menu/index.js#write~2"),
|
|
214
214
|
toParentMessage: message => __foldkitBrandViewResult((Message.GotAnimationMessage({ message })), "@foldkit/ui/menu/index.js#toParentMessage~2"),
|
|
215
215
|
});
|
|
216
216
|
const foldAnimationHide = Update.foldChildStep({
|
|
217
217
|
update: animationHide,
|
|
218
218
|
read: (model) => __foldkitBrandViewResult((Option.some(model.animation)), "@foldkit/ui/menu/index.js#read~3"),
|
|
219
|
-
write: (model, nextAnimation) => __foldkitBrandViewResult((
|
|
219
|
+
write: (model, nextAnimation) => __foldkitBrandViewResult((modifyFields(model, { animation: () => __foldkitBrandViewResult((nextAnimation), "@foldkit/ui/menu/index.js#animation~3") })), "@foldkit/ui/menu/index.js#write~3"),
|
|
220
220
|
toParentMessage: message => __foldkitBrandViewResult((Message.GotAnimationMessage({ message })), "@foldkit/ui/menu/index.js#toParentMessage~3"),
|
|
221
221
|
});
|
|
222
222
|
/** Processes a Menu Message and returns the next Model, optional Commands, and
|
|
@@ -241,12 +241,12 @@ export const update = (model, message) => {
|
|
|
241
241
|
stepModel => (__foldkitBrandViewResult(({ model: stepModel, commands: openCommands }), "@foldkit/ui/menu/index.js#anonymous~3")),
|
|
242
242
|
foldAnimationShow,
|
|
243
243
|
stepModel => (__foldkitBrandViewResult(({
|
|
244
|
-
model:
|
|
244
|
+
model: modifyFields(stepModel, { isOpen: () => __foldkitBrandViewResult((true), "@foldkit/ui/menu/index.js#isOpen~2") }),
|
|
245
245
|
}), "@foldkit/ui/menu/index.js#anonymous~4")),
|
|
246
246
|
])), "@foldkit/ui/menu/index.js#openMenu");
|
|
247
247
|
}
|
|
248
248
|
return __foldkitBrandViewResult(({
|
|
249
|
-
model:
|
|
249
|
+
model: modifyFields(baseModel, { isOpen: () => __foldkitBrandViewResult((true), "@foldkit/ui/menu/index.js#isOpen~3") }),
|
|
250
250
|
commands: openCommands,
|
|
251
251
|
}), "@foldkit/ui/menu/index.js#openMenu");
|
|
252
252
|
};
|
|
@@ -275,7 +275,7 @@ export const update = (model, message) => {
|
|
|
275
275
|
SuppressedSpaceScroll: () => (__foldkitBrandViewResult(({ model }), "@foldkit/ui/menu/index.js#SuppressedSpaceScroll")),
|
|
276
276
|
CompletedAnchorMenu: () => (__foldkitBrandViewResult(({ model }), "@foldkit/ui/menu/index.js#CompletedAnchorMenu")),
|
|
277
277
|
CompletedPortalMenuBackdrop: () => (__foldkitBrandViewResult(({ model }), "@foldkit/ui/menu/index.js#CompletedPortalMenuBackdrop")),
|
|
278
|
-
Opened: ({ maybeActiveItemIndex }) => __foldkitBrandViewResult((openMenu(
|
|
278
|
+
Opened: ({ maybeActiveItemIndex }) => __foldkitBrandViewResult((openMenu(modifyFields(model, {
|
|
279
279
|
maybeActiveItemIndex: () => __foldkitBrandViewResult((maybeActiveItemIndex), "@foldkit/ui/menu/index.js#maybeActiveItemIndex~2"),
|
|
280
280
|
activationTrigger: () => __foldkitBrandViewResult((Option.match(maybeActiveItemIndex, {
|
|
281
281
|
onNone: () => __foldkitBrandViewResult(('Pointer'), "@foldkit/ui/menu/index.js#onNone"),
|
|
@@ -293,7 +293,7 @@ export const update = (model, message) => {
|
|
|
293
293
|
return __foldkitBrandViewResult((closeMenu(model, closeWithoutFocusCommands)), "@foldkit/ui/menu/index.js#BlurredItems");
|
|
294
294
|
},
|
|
295
295
|
ActivatedItem: ({ index, activationTrigger }) => (__foldkitBrandViewResult(({
|
|
296
|
-
model:
|
|
296
|
+
model: modifyFields(model, {
|
|
297
297
|
maybeActiveItemIndex: () => __foldkitBrandViewResult((Option.some(index)), "@foldkit/ui/menu/index.js#maybeActiveItemIndex~3"),
|
|
298
298
|
activationTrigger: () => __foldkitBrandViewResult((activationTrigger), "@foldkit/ui/menu/index.js#activationTrigger~2"),
|
|
299
299
|
}),
|
|
@@ -307,7 +307,7 @@ export const update = (model, message) => {
|
|
|
307
307
|
return __foldkitBrandViewResult(({ model }), "@foldkit/ui/menu/index.js#MovedPointerOverItem");
|
|
308
308
|
}
|
|
309
309
|
return __foldkitBrandViewResult(({
|
|
310
|
-
model:
|
|
310
|
+
model: modifyFields(model, {
|
|
311
311
|
maybeActiveItemIndex: () => __foldkitBrandViewResult((Option.some(index)), "@foldkit/ui/menu/index.js#maybeActiveItemIndex~4"),
|
|
312
312
|
activationTrigger: () => __foldkitBrandViewResult(('Pointer'), "@foldkit/ui/menu/index.js#activationTrigger~3"),
|
|
313
313
|
maybeLastPointerPosition: () => __foldkitBrandViewResult((Option.some({ screenX, screenY })), "@foldkit/ui/menu/index.js#maybeLastPointerPosition~3"),
|
|
@@ -315,7 +315,11 @@ export const update = (model, message) => {
|
|
|
315
315
|
}), "@foldkit/ui/menu/index.js#MovedPointerOverItem");
|
|
316
316
|
},
|
|
317
317
|
DeactivatedItem: () => __foldkitBrandViewResult((model.activationTrigger === 'Pointer'
|
|
318
|
-
? {
|
|
318
|
+
? {
|
|
319
|
+
model: modifyFields(model, {
|
|
320
|
+
maybeActiveItemIndex: () => __foldkitBrandViewResult((Option.none()), "@foldkit/ui/menu/index.js#maybeActiveItemIndex~5"),
|
|
321
|
+
}),
|
|
322
|
+
}
|
|
319
323
|
: { model }), "@foldkit/ui/menu/index.js#DeactivatedItem"),
|
|
320
324
|
SelectedItem: ({ index, item }) => __foldkitBrandViewResult((pipe(closeMenu(model, closeWithFocusCommands), Update.withOutMessage(OutMessage.Selected({ value: item, index })))), "@foldkit/ui/menu/index.js#SelectedItem"),
|
|
321
325
|
RequestedItemClick: ({ index }) => (__foldkitBrandViewResult(({
|
|
@@ -326,7 +330,7 @@ export const update = (model, message) => {
|
|
|
326
330
|
const nextSearchQuery = model.searchQuery + key;
|
|
327
331
|
const nextSearchVersion = model.searchVersion + 1;
|
|
328
332
|
return __foldkitBrandViewResult(({
|
|
329
|
-
model:
|
|
333
|
+
model: modifyFields(model, {
|
|
330
334
|
searchQuery: () => __foldkitBrandViewResult((nextSearchQuery), "@foldkit/ui/menu/index.js#searchQuery~3"),
|
|
331
335
|
searchVersion: () => __foldkitBrandViewResult((nextSearchVersion), "@foldkit/ui/menu/index.js#searchVersion~3"),
|
|
332
336
|
maybeActiveItemIndex: () => __foldkitBrandViewResult((Option.orElse(maybeTargetIndex, () => __foldkitBrandViewResult((model.maybeActiveItemIndex), "@foldkit/ui/menu/index.js#anonymous~7"))), "@foldkit/ui/menu/index.js#maybeActiveItemIndex~6"),
|
|
@@ -338,11 +342,11 @@ export const update = (model, message) => {
|
|
|
338
342
|
if (version !== model.searchVersion) {
|
|
339
343
|
return __foldkitBrandViewResult(({ model }), "@foldkit/ui/menu/index.js#CompletedDelayClearSearch");
|
|
340
344
|
}
|
|
341
|
-
return __foldkitBrandViewResult(({ model:
|
|
345
|
+
return __foldkitBrandViewResult(({ model: modifyFields(model, { searchQuery: () => __foldkitBrandViewResult((''), "@foldkit/ui/menu/index.js#searchQuery~4") }) }), "@foldkit/ui/menu/index.js#CompletedDelayClearSearch");
|
|
342
346
|
},
|
|
343
347
|
GotAnimationMessage: ({ message: animationMessage }) => __foldkitBrandViewResult((foldAnimation(model, animationMessage)), "@foldkit/ui/menu/index.js#GotAnimationMessage"),
|
|
344
348
|
PressedPointerOnButton: ({ pointerType, button, screenX, screenY, timeStamp, }) => {
|
|
345
|
-
const withPointerType =
|
|
349
|
+
const withPointerType = modifyFields(model, {
|
|
346
350
|
maybeLastButtonPointerType: () => __foldkitBrandViewResult((Option.some(pointerType)), "@foldkit/ui/menu/index.js#maybeLastButtonPointerType~2"),
|
|
347
351
|
});
|
|
348
352
|
if (pointerType !== 'mouse' || button !== LEFT_MOUSE_BUTTON) {
|
|
@@ -352,13 +356,13 @@ export const update = (model, message) => {
|
|
|
352
356
|
return __foldkitBrandViewResult((Update.combine(withPointerType, [
|
|
353
357
|
stepModel => __foldkitBrandViewResult((closeMenu(stepModel, closeWithFocusCommands)), "@foldkit/ui/menu/index.js#anonymous~8"),
|
|
354
358
|
stepModel => (__foldkitBrandViewResult(({
|
|
355
|
-
model:
|
|
359
|
+
model: modifyFields(stepModel, {
|
|
356
360
|
maybeLastButtonPointerType: () => __foldkitBrandViewResult((Option.some(pointerType)), "@foldkit/ui/menu/index.js#maybeLastButtonPointerType~3"),
|
|
357
361
|
}),
|
|
358
362
|
}), "@foldkit/ui/menu/index.js#anonymous~9")),
|
|
359
363
|
])), "@foldkit/ui/menu/index.js#PressedPointerOnButton");
|
|
360
364
|
}
|
|
361
|
-
return __foldkitBrandViewResult((openMenu(
|
|
365
|
+
return __foldkitBrandViewResult((openMenu(modifyFields(withPointerType, {
|
|
362
366
|
maybeActiveItemIndex: () => __foldkitBrandViewResult((Option.none()), "@foldkit/ui/menu/index.js#maybeActiveItemIndex~7"),
|
|
363
367
|
activationTrigger: () => __foldkitBrandViewResult(('Pointer'), "@foldkit/ui/menu/index.js#activationTrigger~4"),
|
|
364
368
|
searchQuery: () => __foldkitBrandViewResult((''), "@foldkit/ui/menu/index.js#searchQuery~5"),
|
|
@@ -392,7 +396,9 @@ export const update = (model, message) => {
|
|
|
392
396
|
}), "@foldkit/ui/menu/index.js#ReleasedPointerOnItems");
|
|
393
397
|
},
|
|
394
398
|
IgnoredMouseClick: () => (__foldkitBrandViewResult(({
|
|
395
|
-
model:
|
|
399
|
+
model: modifyFields(model, {
|
|
400
|
+
maybeLastButtonPointerType: () => __foldkitBrandViewResult((Option.none()), "@foldkit/ui/menu/index.js#maybeLastButtonPointerType~4"),
|
|
401
|
+
}),
|
|
396
402
|
}), "@foldkit/ui/menu/index.js#IgnoredMouseClick")),
|
|
397
403
|
})), "@foldkit/ui/menu/index.js#update");
|
|
398
404
|
};
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import type { Attribute, Html, HtmlBuilder } from 'foldkit/html';
|
|
2
|
+
/** Attribute groups provided to a Meter view. */
|
|
3
|
+
export type MeterAttributes<Message> = Readonly<{
|
|
4
|
+
meter: ReadonlyArray<Attribute<Message>>;
|
|
5
|
+
label: ReadonlyArray<Attribute<Message>>;
|
|
6
|
+
fill: ReadonlyArray<Attribute<Message>>;
|
|
7
|
+
}>;
|
|
8
|
+
/** Configuration for rendering a Meter with {@link view}. */
|
|
9
|
+
export type ViewConfig<Message> = Readonly<{
|
|
10
|
+
id: string;
|
|
11
|
+
value: number;
|
|
12
|
+
min?: number;
|
|
13
|
+
max?: number;
|
|
14
|
+
low?: number;
|
|
15
|
+
high?: number;
|
|
16
|
+
optimum?: number;
|
|
17
|
+
valueText?: string | ((value: number, max: number) => string);
|
|
18
|
+
ariaLabel?: string;
|
|
19
|
+
ariaLabelledBy?: string;
|
|
20
|
+
toView: (attributes: MeterAttributes<Message>) => Html;
|
|
21
|
+
}>;
|
|
22
|
+
/** Returns the label element id, derived from the meter's base id. */
|
|
23
|
+
export declare const labelId: (id: string) => string;
|
|
24
|
+
/** Renders an accessible meter as a stateless controlled view. */
|
|
25
|
+
export declare const view: <Message>(config: ViewConfig<Message>, h: HtmlBuilder<Message>) => Html;
|
|
26
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/meter/index.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,cAAc,CAAA;AAYhE,iDAAiD;AACjD,MAAM,MAAM,eAAe,CAAC,OAAO,IAAI,QAAQ,CAAC;IAC9C,KAAK,EAAE,aAAa,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAA;IACxC,KAAK,EAAE,aAAa,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAA;IACxC,IAAI,EAAE,aAAa,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAA;CACxC,CAAC,CAAA;AAEF,6DAA6D;AAC7D,MAAM,MAAM,UAAU,CAAC,OAAO,IAAI,QAAQ,CAAC;IACzC,EAAE,EAAE,MAAM,CAAA;IACV,KAAK,EAAE,MAAM,CAAA;IACb,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,SAAS,CAAC,EAAE,MAAM,GAAG,CAAC,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,KAAK,MAAM,CAAC,CAAA;IAC7D,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,MAAM,EAAE,CAAC,UAAU,EAAE,eAAe,CAAC,OAAO,CAAC,KAAK,IAAI,CAAA;CACvD,CAAC,CAAA;AAEF,sEAAsE;AACtE,eAAO,MAAM,OAAO,OAAQ,MAAM,KAAG,MAAuB,CAAA;AAE5D,kEAAkE;AAClE,eAAO,MAAM,IAAI,GAAI,OAAO,UAClB,UAAU,CAAC,OAAO,CAAC,KACxB,WAAW,CAAC,OAAO,CAAC,KACtB,IAkEF,CAAA"}
|