@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.
Files changed (109) hide show
  1. package/dist/anchor/anchor.d.ts.map +1 -1
  2. package/dist/anchor/anchor.js +10 -1
  3. package/dist/animation/index.d.ts +3 -0
  4. package/dist/animation/index.d.ts.map +1 -1
  5. package/dist/animation/schema.d.ts +13 -4
  6. package/dist/animation/schema.d.ts.map +1 -1
  7. package/dist/animation/schema.js +8 -4
  8. package/dist/animation/update.d.ts +15 -5
  9. package/dist/animation/update.d.ts.map +1 -1
  10. package/dist/animation/update.js +59 -27
  11. package/dist/calendar/index.d.ts.map +1 -1
  12. package/dist/calendar/index.js +27 -19
  13. package/dist/checkbox/index.d.ts +1 -1
  14. package/dist/checkbox/index.js +1 -1
  15. package/dist/combobox/multi.d.ts +5 -0
  16. package/dist/combobox/multi.d.ts.map +1 -1
  17. package/dist/combobox/multi.js +2 -2
  18. package/dist/combobox/shared.d.ts +12 -2
  19. package/dist/combobox/shared.d.ts.map +1 -1
  20. package/dist/combobox/shared.js +21 -21
  21. package/dist/combobox/single.d.ts +5 -0
  22. package/dist/combobox/single.d.ts.map +1 -1
  23. package/dist/combobox/single.js +4 -4
  24. package/dist/datePicker/index.d.ts +13 -2
  25. package/dist/datePicker/index.d.ts.map +1 -1
  26. package/dist/datePicker/index.js +10 -10
  27. package/dist/dialog/index.d.ts +13 -2
  28. package/dist/dialog/index.d.ts.map +1 -1
  29. package/dist/dialog/index.js +28 -14
  30. package/dist/disclosure/index.d.ts +2 -2
  31. package/dist/disclosure/index.js +1 -1
  32. package/dist/dragAndDrop/index.js +14 -14
  33. package/dist/fileDrop/index.d.ts.map +1 -1
  34. package/dist/fileDrop/index.js +7 -5
  35. package/dist/hoverIntent/hoverIntent.d.ts.map +1 -1
  36. package/dist/hoverIntent/hoverIntent.js +16 -16
  37. package/dist/index.d.ts +2 -0
  38. package/dist/index.d.ts.map +1 -1
  39. package/dist/index.js +2 -0
  40. package/dist/internal/accessibleName.d.ts +9 -0
  41. package/dist/internal/accessibleName.d.ts.map +1 -0
  42. package/dist/internal/accessibleName.js +12 -0
  43. package/dist/internal/range.d.ts +7 -0
  44. package/dist/internal/range.d.ts.map +1 -0
  45. package/dist/internal/range.js +12 -0
  46. package/dist/listbox/multi.d.ts +5 -0
  47. package/dist/listbox/multi.d.ts.map +1 -1
  48. package/dist/listbox/shared.d.ts +12 -2
  49. package/dist/listbox/shared.d.ts.map +1 -1
  50. package/dist/listbox/shared.js +26 -24
  51. package/dist/listbox/single.d.ts +5 -0
  52. package/dist/listbox/single.d.ts.map +1 -1
  53. package/dist/menu/index.d.ts +13 -2
  54. package/dist/menu/index.d.ts.map +1 -1
  55. package/dist/menu/index.js +29 -23
  56. package/dist/meter/index.d.ts +26 -0
  57. package/dist/meter/index.d.ts.map +1 -0
  58. package/dist/meter/index.js +67 -0
  59. package/dist/meter/public.d.ts +3 -0
  60. package/dist/meter/public.d.ts.map +1 -0
  61. package/dist/meter/public.js +1 -0
  62. package/dist/popover/index.d.ts +16 -2
  63. package/dist/popover/index.d.ts.map +1 -1
  64. package/dist/popover/index.js +18 -16
  65. package/dist/progress/index.d.ts +24 -0
  66. package/dist/progress/index.d.ts.map +1 -0
  67. package/dist/progress/index.js +85 -0
  68. package/dist/progress/public.d.ts +3 -0
  69. package/dist/progress/public.d.ts.map +1 -0
  70. package/dist/progress/public.js +1 -0
  71. package/dist/radioGroup/index.d.ts.map +1 -1
  72. package/dist/radioGroup/index.js +5 -3
  73. package/dist/slider/index.d.ts +61 -28
  74. package/dist/slider/index.d.ts.map +1 -1
  75. package/dist/slider/index.js +163 -87
  76. package/dist/slider/public.d.ts +1 -1
  77. package/dist/slider/public.d.ts.map +1 -1
  78. package/dist/slider/public.js +1 -1
  79. package/dist/switch/index.d.ts +1 -1
  80. package/dist/switch/index.js +1 -1
  81. package/dist/tabs/index.d.ts.map +1 -1
  82. package/dist/tabs/index.js +5 -3
  83. package/dist/test/apps/disabledButton.d.ts +12 -4
  84. package/dist/test/apps/disabledButton.d.ts.map +1 -1
  85. package/dist/test/apps/disabledButton.js +3 -3
  86. package/dist/toast/index.d.ts +869 -45
  87. package/dist/toast/index.d.ts.map +1 -1
  88. package/dist/toast/index.js +77 -17
  89. package/dist/toast/public.d.ts +2 -2
  90. package/dist/toast/public.d.ts.map +1 -1
  91. package/dist/toast/public.js +1 -1
  92. package/dist/toast/schema.d.ts +160 -6
  93. package/dist/toast/schema.d.ts.map +1 -1
  94. package/dist/toast/schema.js +69 -2
  95. package/dist/toast/swipeTarget.d.ts +5 -0
  96. package/dist/toast/swipeTarget.d.ts.map +1 -0
  97. package/dist/toast/swipeTarget.js +18 -0
  98. package/dist/toast/test.d.ts +7 -1
  99. package/dist/toast/test.d.ts.map +1 -1
  100. package/dist/toast/test.js +37 -3
  101. package/dist/toast/update.d.ts +768 -7
  102. package/dist/toast/update.d.ts.map +1 -1
  103. package/dist/toast/update.js +283 -68
  104. package/dist/tooltip/tooltip.d.ts +7 -7
  105. package/dist/tooltip/tooltip.d.ts.map +1 -1
  106. package/dist/tooltip/tooltip.js +14 -12
  107. package/dist/virtualList/index.d.ts.map +1 -1
  108. package/dist/virtualList/index.js +8 -6
  109. package/package.json +9 -9
@@ -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 { evo } from 'foldkit/struct';
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 resetToClosed = (model) => __foldkitBrandViewResult((evo(model, {
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: () => __foldkitBrandViewResult((Animation.init({ id: `${model.id}-panel` })), "@foldkit/ui/dialog/index.js#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(), wrapAnimationMessage),
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({ id: model.animation.id }), wrapAnimationMessage),
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(), wrapAnimationMessage),
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({ id: model.animation.id }), wrapAnimationMessage),
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((evo(model, { animation: () => __foldkitBrandViewResult((nextAnimation), "@foldkit/ui/dialog/index.js#animation~2") })), "@foldkit/ui/dialog/index.js#write"),
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((evo(model, { animation: () => __foldkitBrandViewResult((nextAnimation), "@foldkit/ui/dialog/index.js#animation~3") })), "@foldkit/ui/dialog/index.js#write~2"),
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((evo(model, { animation: () => __foldkitBrandViewResult((nextAnimation), "@foldkit/ui/dialog/index.js#animation~4") })), "@foldkit/ui/dialog/index.js#write~3"),
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: evo(stepModel, { isOpen: () => __foldkitBrandViewResult((true), "@foldkit/ui/dialog/index.js#isOpen~2") }),
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: evo(model, { isOpen: () => __foldkitBrandViewResult((true), "@foldkit/ui/dialog/index.js#isOpen~3") }), commands };
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: evo(stepModel, { isOpen: () => __foldkitBrandViewResult((false), "@foldkit/ui/dialog/index.js#isOpen~4") }),
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: evo(model, { isOpen: () => __foldkitBrandViewResult((false), "@foldkit/ui/dialog/index.js#isOpen~5") }),
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 {@link DisclosureAttributes.animatePanel}.
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: evo(model, { isDetailsOpen: () => isOpen }),
81
+ * model: modifyFields(model, { isDetailsOpen: () => isOpen }),
82
82
  * }),
83
83
  * ``` */
84
84
  export declare const view: <Message>(config: ViewConfig<Message>, h: HtmlBuilder<Message>) => Html;
@@ -28,7 +28,7 @@ const panelSizeTransition = 'grid-template-rows 200ms ease-out';
28
28
  *
29
29
  * // In update:
30
30
  * ToggledDetails: ({ isOpen }) => ({
31
- * model: evo(model, { isDetailsOpen: () => isOpen }),
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 { evo } from 'foldkit/struct';
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: evo(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: evo(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: evo(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: evo(model, { dragState: () => __foldkitBrandViewResult((DragState.Idle()), "@foldkit/ui/dragAndDrop/index.js#dragState~4") }),
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: evo(model, { dragState: () => __foldkitBrandViewResult((DragState.Idle()), "@foldkit/ui/dragAndDrop/index.js#dragState~5") }),
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: evo(model, { dragState: () => __foldkitBrandViewResult((DragState.Idle()), "@foldkit/ui/dragAndDrop/index.js#dragState~6") }),
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: evo(model, { dragState: () => __foldkitBrandViewResult((DragState.Idle()), "@foldkit/ui/dragAndDrop/index.js#dragState~7") }),
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: evo(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: evo(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: evo(model, { dragState: () => __foldkitBrandViewResult((DragState.Idle()), "@foldkit/ui/dragAndDrop/index.js#dragState~10") }),
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
- toMessage: event => {
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#toMessage");
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#toMessage");
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;;;;;;;;;;;;;;;;;;;;;EAiBlD,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"}
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"}
@@ -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 { evo } from 'foldkit/struct';
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: evo(model, { isDragOver: () => __foldkitBrandViewResult((true), "@foldkit/ui/fileDrop/index.js#isDragOver") }),
44
+ model: modifyFields(model, { isDragOver: () => __foldkitBrandViewResult((true), "@foldkit/ui/fileDrop/index.js#isDragOver") }),
45
45
  }), "@foldkit/ui/fileDrop/index.js#EnteredDragZone")),
46
- LeftDragZone: () => (__foldkitBrandViewResult(({ model: evo(model, { isDragOver: () => __foldkitBrandViewResult((false), "@foldkit/ui/fileDrop/index.js#isDragOver~2") }) }), "@foldkit/ui/fileDrop/index.js#LeftDragZone")),
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: evo(model, { isDragOver: () => __foldkitBrandViewResult((false), "@foldkit/ui/fileDrop/index.js#isDragOver~3") }),
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: evo(model, { isDragOver: () => __foldkitBrandViewResult((false), "@foldkit/ui/fileDrop/index.js#isDragOver~4") }),
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,YAyCpD,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"}
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 { evo } from 'foldkit/struct';
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: evo(model, { isOpen: () => __foldkitBrandViewResult((true), "@foldkit/ui/hoverIntent/hoverIntent.js#isOpen") }),
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: evo(model, { isOpen: () => __foldkitBrandViewResult((false), "@foldkit/ui/hoverIntent/hoverIntent.js#isOpen~2") }),
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: evo(model, { pendingOpenVersion: () => __foldkitBrandViewResult((version), "@foldkit/ui/hoverIntent/hoverIntent.js#pendingOpenVersion") }),
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: evo(model, { pendingCloseVersion: () => __foldkitBrandViewResult((version), "@foldkit/ui/hoverIntent/hoverIntent.js#pendingCloseVersion") }),
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 = evo(model, {
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 = evo(model, {
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: evo(leftModel, { isDismissed: () => __foldkitBrandViewResult((false), "@foldkit/ui/hoverIntent/hoverIntent.js#isDismissed") }) }), "@foldkit/ui/hoverIntent/hoverIntent.js#left");
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 = evo(model, {
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 = evo(model, {
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: evo(blurredModel, { isDismissed: () => __foldkitBrandViewResult((false), "@foldkit/ui/hoverIntent/hoverIntent.js#isDismissed~2") }) }), "@foldkit/ui/hoverIntent/hoverIntent.js#blurred");
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 = evo(model, {
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(evo(model, { isTriggerHovered: () => __foldkitBrandViewResult((true), "@foldkit/ui/hoverIntent/hoverIntent.js#isTriggerHovered") }))), "@foldkit/ui/hoverIntent/hoverIntent.js#EnteredTrigger"),
159
- LeftTrigger: () => __foldkitBrandViewResult((left(evo(model, { isTriggerHovered: () => __foldkitBrandViewResult((false), "@foldkit/ui/hoverIntent/hoverIntent.js#isTriggerHovered~2") }))), "@foldkit/ui/hoverIntent/hoverIntent.js#LeftTrigger"),
160
- EnteredPanel: () => __foldkitBrandViewResult((entered(evo(model, { isPanelHovered: () => __foldkitBrandViewResult((true), "@foldkit/ui/hoverIntent/hoverIntent.js#isPanelHovered~2") }))), "@foldkit/ui/hoverIntent/hoverIntent.js#EnteredPanel"),
161
- LeftPanel: () => __foldkitBrandViewResult((left(evo(model, { isPanelHovered: () => __foldkitBrandViewResult((false), "@foldkit/ui/hoverIntent/hoverIntent.js#isPanelHovered~3") }))), "@foldkit/ui/hoverIntent/hoverIntent.js#LeftPanel"),
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';
@@ -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");
@@ -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;;;;;;;;;;;;;;;;;;;;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"}
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"}