@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
@@ -1 +1 @@
1
- {"version":3,"file":"anchor.d.ts","sourceRoot":"","sources":["../../src/anchor/anchor.ts"],"names":[],"mappings":"AAAA,OAAO,EAA2B,MAAM,EAAgB,MAAM,QAAQ,CAAA;AAatE;mFACmF;AACnF,eAAO,MAAM,SAAS,0KAapB,CAAA;AAEF,MAAM,MAAM,SAAS,GAAG,OAAO,SAAS,CAAC,IAAI,CAAA;AAE7C;+DAC+D;AAC/D,eAAO,MAAM,OAAO;;;;;IAQlB,CAAA;AAEF,MAAM,MAAM,OAAO,GAAG,OAAO,OAAO,CAAC,IAAI,CAAA;AAEzC,oGAAoG;AACpG,eAAO,MAAM,YAAY;;;;;;;;;;;;EAOvB,CAAA;AAEF,MAAM,MAAM,YAAY,GAAG,OAAO,YAAY,CAAC,IAAI,CAAA;AAkCnD;;;;;;0DAM0D;AAC1D,eAAO,MAAM,sBAAsB,YAAa,OAAO,KAAG,CAAC,MAAM,IAAI,CAWpE,CAAA;AAUD;;;;;;;;;;;;;;;;;;;;;0BAqB0B;AAC1B,MAAM,MAAM,WAAW,GAAG,QAAQ,CAAC;IACjC,QAAQ,EAAE,MAAM,CAAA;IAChB,MAAM,EAAE,YAAY,CAAA;IACpB,YAAY,CAAC,EAAE,OAAO,CAAA;IACtB,kBAAkB,CAAC,EAAE,OAAO,CAAA;IAC5B,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,YAAY,CAAC,EAAE,MAAM,CAAA;CACtB,CAAC,CAAA;AAsBF;;;;;;;;;;;;;;;;;;;;;;;gFAuBgF;AAChF,eAAO,MAAM,WAAW,YACb,OAAO,UACR,WAAW,KAClB,CAAC,MAAM,IAAI,CAgPb,CAAA"}
1
+ {"version":3,"file":"anchor.d.ts","sourceRoot":"","sources":["../../src/anchor/anchor.ts"],"names":[],"mappings":"AAAA,OAAO,EAA2B,MAAM,EAAgB,MAAM,QAAQ,CAAA;AAatE;mFACmF;AACnF,eAAO,MAAM,SAAS,0KAapB,CAAA;AAEF,MAAM,MAAM,SAAS,GAAG,OAAO,SAAS,CAAC,IAAI,CAAA;AAE7C;+DAC+D;AAC/D,eAAO,MAAM,OAAO;;;;;IAQlB,CAAA;AAEF,MAAM,MAAM,OAAO,GAAG,OAAO,OAAO,CAAC,IAAI,CAAA;AAEzC,oGAAoG;AACpG,eAAO,MAAM,YAAY;;;;;;;;;;;;EAOvB,CAAA;AAEF,MAAM,MAAM,YAAY,GAAG,OAAO,YAAY,CAAC,IAAI,CAAA;AAkCnD;;;;;;0DAM0D;AAC1D,eAAO,MAAM,sBAAsB,YAAa,OAAO,KAAG,CAAC,MAAM,IAAI,CAWpE,CAAA;AAUD;;;;;;;;;;;;;;;;;;;;;0BAqB0B;AAC1B,MAAM,MAAM,WAAW,GAAG,QAAQ,CAAC;IACjC,QAAQ,EAAE,MAAM,CAAA;IAChB,MAAM,EAAE,YAAY,CAAA;IACpB,YAAY,CAAC,EAAE,OAAO,CAAA;IACtB,kBAAkB,CAAC,EAAE,OAAO,CAAA;IAC5B,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,YAAY,CAAC,EAAE,MAAM,CAAA;CACtB,CAAC,CAAA;AAsBF;;;;;;;;;;;;;;;;;;;;;;;gFAuBgF;AAChF,eAAO,MAAM,WAAW,YACb,OAAO,UACR,WAAW,KAClB,CAAC,MAAM,IAAI,CAkQb,CAAA"}
@@ -136,8 +136,17 @@ export const anchorSetup = (element, config) => {
136
136
  const root = element.getRootNode();
137
137
  const inShadow = root instanceof ShadowRoot;
138
138
  const owner = inShadow ? root : document;
139
+ if (!(element instanceof HTMLElement)) {
140
+ console.error('[@foldkit/ui] anchorSetup requires an HTML panel. The panel will not be positioned.');
141
+ return __foldkitBrandViewResult((Function.constVoid), "@foldkit/ui/anchor/anchor.js#anchorSetup");
142
+ }
139
143
  const button = owner.getElementById(config.buttonId);
140
- if (!(button instanceof HTMLElement) || !(element instanceof HTMLElement)) {
144
+ if (button === null) {
145
+ console.error(`[@foldkit/ui] anchorSetup could not find a trigger with id "${config.buttonId}". The panel will not be positioned.`);
146
+ return __foldkitBrandViewResult((Function.constVoid), "@foldkit/ui/anchor/anchor.js#anchorSetup");
147
+ }
148
+ if (!(button instanceof HTMLElement)) {
149
+ console.error(`[@foldkit/ui] anchorSetup requires an HTML trigger with id "${config.buttonId}". The panel will not be positioned.`);
141
150
  return __foldkitBrandViewResult((Function.constVoid), "@foldkit/ui/anchor/anchor.js#anchorSetup");
142
151
  }
143
152
  const isPortal = config.anchor.portal ?? true;
@@ -28,10 +28,13 @@ export declare const view: import("foldkit/submodel").View<{
28
28
  readonly id: string;
29
29
  readonly isShowing: boolean;
30
30
  readonly transitionState: "EnterAnimating" | "EnterStart" | "Idle" | "LeaveAnimating" | "LeaveStart";
31
+ readonly transitionGeneration: number;
31
32
  }, {
32
33
  readonly _tag: "CompletedWaitForPaint";
34
+ readonly generation: number;
33
35
  } | {
34
36
  readonly _tag: "EndedAnimation";
37
+ readonly generation: number;
35
38
  } | {
36
39
  readonly _tag: "Hid";
37
40
  } | {
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/animation/index.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AAGjE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,eAAe,EAAE,IAAI,EAAE,MAAM,aAAa,CAAA;AAC/E,OAAO,EACL,uBAAuB,EACvB,YAAY,EACZ,mBAAmB,EACnB,IAAI,EACJ,IAAI,EACJ,MAAM,EACN,MAAM,EACP,MAAM,aAAa,CAAA;AAEpB,YAAY,EAAE,GAAG,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AAC1D,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,eAAe,EAAE,CAAA;AAE5D,OAAO,EACL,uBAAuB,EACvB,YAAY,EACZ,mBAAmB,EACnB,IAAI,EACJ,IAAI,EACJ,MAAM,EACN,MAAM,GACP,CAAA;AAID,qFAAqF;AACrF,MAAM,MAAM,UAAU,GAAG,QAAQ,CAAC;IAChC,OAAO,EAAE,IAAI,CAAA;IACb,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,UAAU,CAAC,EAAE,aAAa,CAAC,cAAc,CAAC,CAAA;IAC1C,OAAO,CAAC,EAAE,OAAO,CAAC,OAAO,EAAE,UAAU,CAAC,CAAA;IACtC;;2EAEuE;IACvE,WAAW,CAAC,EAAE,OAAO,CAAA;CACtB,CAAC,CAAA;AAEF;;;;;;;;GAQG;AACH,eAAO,MAAM,IAAI;;;;;;;;;;;;;aAnBN,IAAI;gBACD,MAAM;iBACL,aAAa,CAAC,cAAc,CAAC;cAChC,OAAO,CAAC,OAAO,EAAE,UAAU,CAAC;IACtC;;2EAEuE;kBACzD,OAAO;GA2GtB,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/animation/index.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AAGjE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,eAAe,EAAE,IAAI,EAAE,MAAM,aAAa,CAAA;AAC/E,OAAO,EACL,uBAAuB,EACvB,YAAY,EACZ,mBAAmB,EACnB,IAAI,EACJ,IAAI,EACJ,MAAM,EACN,MAAM,EACP,MAAM,aAAa,CAAA;AAEpB,YAAY,EAAE,GAAG,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AAC1D,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,eAAe,EAAE,CAAA;AAE5D,OAAO,EACL,uBAAuB,EACvB,YAAY,EACZ,mBAAmB,EACnB,IAAI,EACJ,IAAI,EACJ,MAAM,EACN,MAAM,GACP,CAAA;AAID,qFAAqF;AACrF,MAAM,MAAM,UAAU,GAAG,QAAQ,CAAC;IAChC,OAAO,EAAE,IAAI,CAAA;IACb,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,UAAU,CAAC,EAAE,aAAa,CAAC,cAAc,CAAC,CAAA;IAC1C,OAAO,CAAC,EAAE,OAAO,CAAC,OAAO,EAAE,UAAU,CAAC,CAAA;IACtC;;2EAEuE;IACvE,WAAW,CAAC,EAAE,OAAO,CAAA;CACtB,CAAC,CAAA;AAEF;;;;;;;;GAQG;AACH,eAAO,MAAM,IAAI;;;;;;;;;;;;;;;;aAnBN,IAAI;gBACD,MAAM;iBACL,aAAa,CAAC,cAAc,CAAC;cAChC,OAAO,CAAC,OAAO,EAAE,UAAU,CAAC;IACtC;;2EAEuE;kBACzD,OAAO;GA2GtB,CAAA"}
@@ -2,25 +2,34 @@ import { Schema } from 'effect';
2
2
  /** Schema for the animation lifecycle state, tracking enter/leave phases. */
3
3
  export declare const TransitionState: Schema.Literals<readonly ["Idle", "EnterStart", "EnterAnimating", "LeaveStart", "LeaveAnimating"]>;
4
4
  export type TransitionState = typeof TransitionState.Type;
5
- /** Schema for the animation component's state, tracking its unique ID, visibility intent, and lifecycle phase. */
5
+ /** Schema for Animation state, including the transition generation used to reject
6
+ * stale Command results. */
6
7
  export declare const Model: Schema.Struct<{
7
8
  readonly id: Schema.String;
8
9
  readonly isShowing: Schema.Boolean;
9
10
  readonly transitionState: Schema.Literals<readonly ["Idle", "EnterStart", "EnterAnimating", "LeaveStart", "LeaveAnimating"]>;
11
+ readonly transitionGeneration: Schema.Number;
10
12
  }>;
11
13
  export type Model = typeof Model.Type;
12
14
  /** Union of all messages the animation component can produce. */
13
15
  export declare const Message: import("foldkit/message").MessageUnion<{
14
16
  readonly Showed: {};
15
17
  readonly Hid: {};
16
- readonly CompletedWaitForPaint: {};
17
- readonly EndedAnimation: {};
18
+ readonly CompletedWaitForPaint: {
19
+ generation: Schema.Number;
20
+ };
21
+ readonly EndedAnimation: {
22
+ generation: Schema.Number;
23
+ };
18
24
  }>;
19
25
  export type Message = typeof Message.Type;
20
26
  export type Showed = typeof Message.Showed.Type;
21
27
  export type Hid = typeof Message.Hid.Type;
28
+ /** Union of the facts Animation reports to its parent. */
22
29
  export declare const OutMessage: import("foldkit/message").MessageUnion<{
23
- readonly StartedLeaveAnimating: {};
30
+ readonly StartedLeaveAnimating: {
31
+ generation: Schema.Number;
32
+ };
24
33
  readonly TransitionedOut: {};
25
34
  }>;
26
35
  export type OutMessage = typeof OutMessage.Type;
@@ -1 +1 @@
1
- {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../src/animation/schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AAK/B,6EAA6E;AAC7E,eAAO,MAAM,eAAe,oGAM1B,CAAA;AACF,MAAM,MAAM,eAAe,GAAG,OAAO,eAAe,CAAC,IAAI,CAAA;AAIzD,kHAAkH;AAClH,eAAO,MAAM,KAAK;;;;EAIhB,CAAA;AAEF,MAAM,MAAM,KAAK,GAAG,OAAO,KAAK,CAAC,IAAI,CAAA;AAIrC,iEAAiE;AACjE,eAAO,MAAM,OAAO;;;;;EAKlB,CAAA;AACF,MAAM,MAAM,OAAO,GAAG,OAAO,OAAO,CAAC,IAAI,CAAA;AAEzC,MAAM,MAAM,MAAM,GAAG,OAAO,OAAO,CAAC,MAAM,CAAC,IAAI,CAAA;AAC/C,MAAM,MAAM,GAAG,GAAG,OAAO,OAAO,CAAC,GAAG,CAAC,IAAI,CAAA;AAIzC,eAAO,MAAM,UAAU;;;EAGrB,CAAA;AACF,MAAM,MAAM,UAAU,GAAG,OAAO,UAAU,CAAC,IAAI,CAAA;AAI/C,iEAAiE;AACjE,MAAM,MAAM,UAAU,GAAG,QAAQ,CAAC;IAChC,EAAE,EAAE,MAAM,CAAA;IACV,SAAS,CAAC,EAAE,OAAO,CAAA;CACpB,CAAC,CAAA;AAEF,4EAA4E;AAC5E,eAAO,MAAM,IAAI,WAAY,UAAU,KAAG,KAIxC,CAAA"}
1
+ {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../src/animation/schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AAK/B,6EAA6E;AAC7E,eAAO,MAAM,eAAe,oGAM1B,CAAA;AACF,MAAM,MAAM,eAAe,GAAG,OAAO,eAAe,CAAC,IAAI,CAAA;AAIzD;6BAC6B;AAC7B,eAAO,MAAM,KAAK;;;;;EAKhB,CAAA;AAEF,MAAM,MAAM,KAAK,GAAG,OAAO,KAAK,CAAC,IAAI,CAAA;AAIrC,iEAAiE;AACjE,eAAO,MAAM,OAAO;;;;QAGO,UAAU;;;QACjB,UAAU;;EAC5B,CAAA;AACF,MAAM,MAAM,OAAO,GAAG,OAAO,OAAO,CAAC,IAAI,CAAA;AAEzC,MAAM,MAAM,MAAM,GAAG,OAAO,OAAO,CAAC,MAAM,CAAC,IAAI,CAAA;AAC/C,MAAM,MAAM,GAAG,GAAG,OAAO,OAAO,CAAC,GAAG,CAAC,IAAI,CAAA;AAIzC,0DAA0D;AAC1D,eAAO,MAAM,UAAU;;QACI,UAAU;;;EAEnC,CAAA;AACF,MAAM,MAAM,UAAU,GAAG,OAAO,UAAU,CAAC,IAAI,CAAA;AAI/C,iEAAiE;AACjE,MAAM,MAAM,UAAU,GAAG,QAAQ,CAAC;IAChC,EAAE,EAAE,MAAM,CAAA;IACV,SAAS,CAAC,EAAE,OAAO,CAAA;CACpB,CAAC,CAAA;AAEF,4EAA4E;AAC5E,eAAO,MAAM,IAAI,WAAY,UAAU,KAAG,KAKxC,CAAA"}
@@ -11,23 +11,26 @@ export const TransitionState = Schema.Literals([
11
11
  'LeaveAnimating',
12
12
  ]);
13
13
  // MODEL
14
- /** Schema for the animation component's state, tracking its unique ID, visibility intent, and lifecycle phase. */
14
+ /** Schema for Animation state, including the transition generation used to reject
15
+ * stale Command results. */
15
16
  export const Model = Schema.Struct({
16
17
  id: Schema.String,
17
18
  isShowing: Schema.Boolean,
18
19
  transitionState: TransitionState,
20
+ transitionGeneration: Schema.Number,
19
21
  });
20
22
  // MESSAGE
21
23
  /** Union of all messages the animation component can produce. */
22
24
  export const Message = defineMessageUnion({
23
25
  Showed: {},
24
26
  Hid: {},
25
- CompletedWaitForPaint: {},
26
- EndedAnimation: {},
27
+ CompletedWaitForPaint: { generation: Schema.Number },
28
+ EndedAnimation: { generation: Schema.Number },
27
29
  });
28
30
  // OUT MESSAGE
31
+ /** Union of the facts Animation reports to its parent. */
29
32
  export const OutMessage = defineMessageUnion({
30
- StartedLeaveAnimating: {},
33
+ StartedLeaveAnimating: { generation: Schema.Number },
31
34
  TransitionedOut: {},
32
35
  });
33
36
  /** Creates an initial animation model from a config. Defaults to hidden. */
@@ -35,4 +38,5 @@ export const init = (config) => (__foldkitBrandViewResult(({
35
38
  id: config.id,
36
39
  isShowing: config.isShowing ?? false,
37
40
  transitionState: 'Idle',
41
+ transitionGeneration: 0,
38
42
  }), "@foldkit/ui/animation/schema.js#init"));
@@ -3,20 +3,28 @@ import { type Update } from 'foldkit';
3
3
  import * as Command from 'foldkit/command';
4
4
  import { type Hid, Message, type Model, OutMessage, type Showed } from './schema.js';
5
5
  type UpdateReturn = Update.ReturnWithOutMessage<Model, Message, OutMessage>;
6
- /** Waits for paint via double-rAF before the enter/leave lifecycle advances. */
7
- export declare const WaitForPaint: Command.CommandDefinitionNoArgs<"WaitForPaint", Effect.Effect<{
6
+ /** Waits for paint via double-rAF, then reports the transition generation that
7
+ * scheduled the wait. */
8
+ export declare const WaitForPaint: Command.CommandDefinitionWithArgs<"WaitForPaint", {
9
+ generation: Schema.Number;
10
+ }, Effect.Effect<{
8
11
  readonly _tag: "CompletedWaitForPaint";
12
+ readonly generation: number;
9
13
  }, never, never>>;
10
- /** Waits for all CSS animations on the element to settle. Covers both CSS transitions and CSS keyframe animations. */
14
+ /** Waits for all CSS transitions and keyframe animations on the element to
15
+ * settle, then reports the transition generation that scheduled the wait. */
11
16
  export declare const WaitForAnimationSettled: Command.CommandDefinitionWithArgs<"WaitForAnimationSettled", {
12
17
  id: Schema.String;
18
+ generation: Schema.Number;
13
19
  }, Effect.Effect<{
14
20
  readonly _tag: "EndedAnimation";
21
+ readonly generation: number;
15
22
  }, never, never>>;
16
23
  /** Processes an Animation Message and returns the next Model, optional
17
24
  * Commands, and an optional OutMessage. `Showed` and `Hid` start a transition
18
25
  * but cannot finish one, so direct calls with either Message return a plain
19
- * update result. */
26
+ * update result. Results from an earlier transition generation leave the Model
27
+ * unchanged. */
20
28
  export declare function update(model: Model, message: Showed | Hid): Update.Return<Model, Message>;
21
29
  export declare function update(model: Model, message: Message): UpdateReturn;
22
30
  /** Programmatically starts the enter lifecycle. */
@@ -25,7 +33,9 @@ export declare const show: (model: Model) => Update.Return<Model, Message>;
25
33
  export declare const hide: (model: Model) => Update.Return<Model, Message>;
26
34
  /** Toggles the animation between its shown and hidden states. */
27
35
  export declare const toggle: (model: Model) => Update.Return<Model, Message>;
28
- /** Creates the standard leave-phase command that waits for CSS animations on the element to settle. Use this when handling the `StartedLeaveAnimating` OutMessage for components that don't need custom leave behavior. */
36
+ /** Creates the standard leave Command for the Model's current transition. Use
37
+ * this when handling `StartedLeaveAnimating` unless the component needs its
38
+ * own settlement strategy. */
29
39
  export declare const defaultLeaveCommand: (model: Model) => Command.Command<Message>;
30
40
  export {};
31
41
  //# sourceMappingURL=update.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"update.d.ts","sourceRoot":"","sources":["../../src/animation/update.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAS,MAAM,EAAE,MAAM,QAAQ,CAAA;AAC9C,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,SAAS,CAAA;AACrC,OAAO,KAAK,OAAO,MAAM,iBAAiB,CAAA;AAM1C,OAAO,EACL,KAAK,GAAG,EACR,OAAO,EACP,KAAK,KAAK,EACV,UAAU,EACV,KAAK,MAAM,EACZ,MAAM,aAAa,CAAA;AAMpB,KAAK,YAAY,GAAG,MAAM,CAAC,oBAAoB,CAAC,KAAK,EAAE,OAAO,EAAE,UAAU,CAAC,CAAA;AAG3E,gFAAgF;AAChF,eAAO,MAAM,YAAY;;iBAGvB,CAAA;AACF,sHAAsH;AACtH,eAAO,MAAM,uBAAuB;;;;iBAUnC,CAAA;AAED;;;qBAGqB;AACrB,wBAAgB,MAAM,CACpB,KAAK,EAAE,KAAK,EACZ,OAAO,EAAE,MAAM,GAAG,GAAG,GACpB,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,OAAO,CAAC,CAAA;AAChC,wBAAgB,MAAM,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,GAAG,YAAY,CAAA;AAkEpE,mDAAmD;AACnD,eAAO,MAAM,IAAI,UAAW,KAAK,KAAG,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,OAAO,CAC/B,CAAA;AAEjC,mDAAmD;AACnD,eAAO,MAAM,IAAI,UAAW,KAAK,KAAG,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,OAAO,CAClC,CAAA;AAE9B,iEAAiE;AACjE,eAAO,MAAM,MAAM,UAAW,KAAK,KAAG,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,OAAO,CAMjE,CAAA;AAED,2NAA2N;AAC3N,eAAO,MAAM,mBAAmB,UAAW,KAAK,KAAG,OAAO,CAAC,OAAO,CAAC,OAAO,CAC/B,CAAA"}
1
+ {"version":3,"file":"update.d.ts","sourceRoot":"","sources":["../../src/animation/update.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAiB,MAAM,EAAE,MAAM,QAAQ,CAAA;AACtD,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,SAAS,CAAA;AACrC,OAAO,KAAK,OAAO,MAAM,iBAAiB,CAAA;AAM1C,OAAO,EACL,KAAK,GAAG,EACR,OAAO,EACP,KAAK,KAAK,EACV,UAAU,EACV,KAAK,MAAM,EACZ,MAAM,aAAa,CAAA;AAMpB,KAAK,YAAY,GAAG,MAAM,CAAC,oBAAoB,CAAC,KAAK,EAAE,OAAO,EAAE,UAAU,CAAC,CAAA;AAG3E;0BAC0B;AAC1B,eAAO,MAAM,YAAY;;;;;iBAOvB,CAAA;AACF;8EAC8E;AAC9E,eAAO,MAAM,uBAAuB;;;;;;iBAUnC,CAAA;AAED;;;;iBAIiB;AACjB,wBAAgB,MAAM,CACpB,KAAK,EAAE,KAAK,EACZ,OAAO,EAAE,MAAM,GAAG,GAAG,GACpB,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,OAAO,CAAC,CAAA;AAChC,wBAAgB,MAAM,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,GAAG,YAAY,CAAA;AA+FpE,mDAAmD;AACnD,eAAO,MAAM,IAAI,UAAW,KAAK,KAAG,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,OAAO,CAC/B,CAAA;AAEjC,mDAAmD;AACnD,eAAO,MAAM,IAAI,UAAW,KAAK,KAAG,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,OAAO,CAClC,CAAA;AAE9B,iEAAiE;AACjE,eAAO,MAAM,MAAM,UAAW,KAAK,KAAG,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,OAAO,CAMjE,CAAA;AAED;;+BAE+B;AAC/B,eAAO,MAAM,mBAAmB,UAAW,KAAK,KAAG,OAAO,CAAC,OAAO,CAAC,OAAO,CAItE,CAAA"}
@@ -1,38 +1,42 @@
1
1
  import { brandViewResult as __foldkitBrandViewResult } from 'foldkit/brand'
2
- import { Effect, Match, Schema } from 'effect';
2
+ import { Effect, Match, Number, Schema } from 'effect';
3
3
  import * as Command from 'foldkit/command';
4
4
  import * as Dom from 'foldkit/dom';
5
5
  import * as Render from 'foldkit/render';
6
- import { evo } from 'foldkit/struct';
6
+ import { modifyFields } from 'foldkit/struct';
7
7
  import { idSelector } from '../internal/selectors.js';
8
8
  import { Message, OutMessage, } from './schema.js';
9
9
  // UPDATE
10
10
  const elementSelector = (id) => __foldkitBrandViewResult((idSelector(id)), "@foldkit/ui/animation/update.js#elementSelector");
11
11
  const withUpdateReturn = Match.withReturnType();
12
- /** Waits for paint via double-rAF before the enter/leave lifecycle advances. */
12
+ /** Waits for paint via double-rAF, then reports the transition generation that
13
+ * scheduled the wait. */
13
14
  export const WaitForPaint = Command.define('WaitForPaint', {
15
+ args: { generation: Schema.Number },
14
16
  messages: [Message.CompletedWaitForPaint],
15
- execute: Render.afterPaint.pipe(Effect.as(Message.CompletedWaitForPaint())),
17
+ execute: ({ generation }) => __foldkitBrandViewResult((Render.afterPaint.pipe(Effect.as(Message.CompletedWaitForPaint({ generation })))), "@foldkit/ui/animation/update.js#execute"),
16
18
  });
17
- /** Waits for all CSS animations on the element to settle. Covers both CSS transitions and CSS keyframe animations. */
19
+ /** Waits for all CSS transitions and keyframe animations on the element to
20
+ * settle, then reports the transition generation that scheduled the wait. */
18
21
  export const WaitForAnimationSettled = Command.define('WaitForAnimationSettled', {
19
- args: { id: Schema.String },
22
+ args: { id: Schema.String, generation: Schema.Number },
20
23
  messages: [Message.EndedAnimation],
21
- execute: ({ id }) => __foldkitBrandViewResult((Dom.waitForAnimationSettled(elementSelector(id)).pipe(Effect.as(Message.EndedAnimation()))), "@foldkit/ui/animation/update.js#execute"),
24
+ execute: ({ id, generation }) => __foldkitBrandViewResult((Dom.waitForAnimationSettled(elementSelector(id)).pipe(Effect.as(Message.EndedAnimation({ generation })))), "@foldkit/ui/animation/update.js#execute~2"),
22
25
  });
23
26
  export function update(model, message) {
24
- const maybeNextFrame = WaitForPaint();
25
27
  return __foldkitBrandViewResult((Message.match(message, {
26
28
  Showed: () => {
27
29
  if (model.isShowing) {
28
30
  return __foldkitBrandViewResult(({ model }), "@foldkit/ui/animation/update.js#Showed");
29
31
  }
32
+ const nextTransitionGeneration = Number.increment(model.transitionGeneration);
30
33
  return __foldkitBrandViewResult(({
31
- model: evo(model, {
34
+ model: modifyFields(model, {
32
35
  isShowing: () => __foldkitBrandViewResult((true), "@foldkit/ui/animation/update.js#isShowing"),
33
36
  transitionState: () => __foldkitBrandViewResult(('EnterStart'), "@foldkit/ui/animation/update.js#transitionState"),
37
+ transitionGeneration: () => __foldkitBrandViewResult((nextTransitionGeneration), "@foldkit/ui/animation/update.js#transitionGeneration"),
34
38
  }),
35
- commands: [maybeNextFrame],
39
+ commands: [WaitForPaint({ generation: nextTransitionGeneration })],
36
40
  }), "@foldkit/ui/animation/update.js#Showed");
37
41
  },
38
42
  Hid: () => {
@@ -41,27 +45,50 @@ export function update(model, message) {
41
45
  if (isLeaving || !model.isShowing) {
42
46
  return __foldkitBrandViewResult(({ model }), "@foldkit/ui/animation/update.js#Hid");
43
47
  }
48
+ const nextTransitionGeneration = Number.increment(model.transitionGeneration);
44
49
  return __foldkitBrandViewResult(({
45
- model: evo(model, {
50
+ model: modifyFields(model, {
46
51
  isShowing: () => __foldkitBrandViewResult((false), "@foldkit/ui/animation/update.js#isShowing~2"),
47
52
  transitionState: () => __foldkitBrandViewResult(('LeaveStart'), "@foldkit/ui/animation/update.js#transitionState~2"),
53
+ transitionGeneration: () => __foldkitBrandViewResult((nextTransitionGeneration), "@foldkit/ui/animation/update.js#transitionGeneration~2"),
48
54
  }),
49
- commands: [maybeNextFrame],
55
+ commands: [WaitForPaint({ generation: nextTransitionGeneration })],
50
56
  }), "@foldkit/ui/animation/update.js#Hid");
51
57
  },
52
- CompletedWaitForPaint: () => __foldkitBrandViewResult((Match.value(model.transitionState).pipe(withUpdateReturn, Match.when('EnterStart', () => (__foldkitBrandViewResult(({
53
- model: evo(model, { transitionState: () => __foldkitBrandViewResult(('EnterAnimating'), "@foldkit/ui/animation/update.js#transitionState~3") }),
54
- commands: [WaitForAnimationSettled({ id: model.id })],
55
- }), "@foldkit/ui/animation/update.js#anonymous"))), Match.when('LeaveStart', () => (__foldkitBrandViewResult(({
56
- model: evo(model, { transitionState: () => __foldkitBrandViewResult(('LeaveAnimating'), "@foldkit/ui/animation/update.js#transitionState~4") }),
57
- outMessage: OutMessage.StartedLeaveAnimating(),
58
- }), "@foldkit/ui/animation/update.js#anonymous~2"))), Match.orElse(() => (__foldkitBrandViewResult(({ model }), "@foldkit/ui/animation/update.js#anonymous~3"))))), "@foldkit/ui/animation/update.js#CompletedWaitForPaint"),
59
- EndedAnimation: () => __foldkitBrandViewResult((Match.value(model.transitionState).pipe(withUpdateReturn, Match.when('EnterAnimating', () => (__foldkitBrandViewResult(({
60
- model: evo(model, { transitionState: () => __foldkitBrandViewResult(('Idle'), "@foldkit/ui/animation/update.js#transitionState~5") }),
61
- }), "@foldkit/ui/animation/update.js#anonymous~4"))), Match.when('LeaveAnimating', () => (__foldkitBrandViewResult(({
62
- model: evo(model, { transitionState: () => __foldkitBrandViewResult(('Idle'), "@foldkit/ui/animation/update.js#transitionState~6") }),
63
- outMessage: OutMessage.TransitionedOut(),
64
- }), "@foldkit/ui/animation/update.js#anonymous~5"))), Match.orElse(() => (__foldkitBrandViewResult(({ model }), "@foldkit/ui/animation/update.js#anonymous~6"))))), "@foldkit/ui/animation/update.js#EndedAnimation"),
58
+ CompletedWaitForPaint: ({ generation }) => {
59
+ if (generation !== model.transitionGeneration) {
60
+ return __foldkitBrandViewResult(({ model }), "@foldkit/ui/animation/update.js#CompletedWaitForPaint");
61
+ }
62
+ return __foldkitBrandViewResult((Match.value(model.transitionState).pipe(withUpdateReturn, Match.when('EnterStart', () => (__foldkitBrandViewResult(({
63
+ model: modifyFields(model, {
64
+ transitionState: () => __foldkitBrandViewResult(('EnterAnimating'), "@foldkit/ui/animation/update.js#transitionState~3"),
65
+ }),
66
+ commands: [
67
+ WaitForAnimationSettled({
68
+ id: model.id,
69
+ generation: model.transitionGeneration,
70
+ }),
71
+ ],
72
+ }), "@foldkit/ui/animation/update.js#anonymous"))), Match.when('LeaveStart', () => (__foldkitBrandViewResult(({
73
+ model: modifyFields(model, {
74
+ transitionState: () => __foldkitBrandViewResult(('LeaveAnimating'), "@foldkit/ui/animation/update.js#transitionState~4"),
75
+ }),
76
+ outMessage: OutMessage.StartedLeaveAnimating({
77
+ generation: model.transitionGeneration,
78
+ }),
79
+ }), "@foldkit/ui/animation/update.js#anonymous~2"))), Match.orElse(() => (__foldkitBrandViewResult(({ model }), "@foldkit/ui/animation/update.js#anonymous~3"))))), "@foldkit/ui/animation/update.js#CompletedWaitForPaint");
80
+ },
81
+ EndedAnimation: ({ generation }) => {
82
+ if (generation !== model.transitionGeneration) {
83
+ return __foldkitBrandViewResult(({ model }), "@foldkit/ui/animation/update.js#EndedAnimation");
84
+ }
85
+ return __foldkitBrandViewResult((Match.value(model.transitionState).pipe(withUpdateReturn, Match.when('EnterAnimating', () => (__foldkitBrandViewResult(({
86
+ model: modifyFields(model, { transitionState: () => __foldkitBrandViewResult(('Idle'), "@foldkit/ui/animation/update.js#transitionState~5") }),
87
+ }), "@foldkit/ui/animation/update.js#anonymous~4"))), Match.when('LeaveAnimating', () => (__foldkitBrandViewResult(({
88
+ model: modifyFields(model, { transitionState: () => __foldkitBrandViewResult(('Idle'), "@foldkit/ui/animation/update.js#transitionState~6") }),
89
+ outMessage: OutMessage.TransitionedOut(),
90
+ }), "@foldkit/ui/animation/update.js#anonymous~5"))), Match.orElse(() => (__foldkitBrandViewResult(({ model }), "@foldkit/ui/animation/update.js#anonymous~6"))))), "@foldkit/ui/animation/update.js#EndedAnimation");
91
+ },
65
92
  })), "@foldkit/ui/animation/update.js#update");
66
93
  }
67
94
  /** Programmatically starts the enter lifecycle. */
@@ -77,5 +104,10 @@ export const toggle = (model) => {
77
104
  return __foldkitBrandViewResult((show(model)), "@foldkit/ui/animation/update.js#toggle");
78
105
  }
79
106
  };
80
- /** Creates the standard leave-phase command that waits for CSS animations on the element to settle. Use this when handling the `StartedLeaveAnimating` OutMessage for components that don't need custom leave behavior. */
81
- export const defaultLeaveCommand = (model) => __foldkitBrandViewResult((WaitForAnimationSettled({ id: model.id })), "@foldkit/ui/animation/update.js#defaultLeaveCommand");
107
+ /** Creates the standard leave Command for the Model's current transition. Use
108
+ * this when handling `StartedLeaveAnimating` unless the component needs its
109
+ * own settlement strategy. */
110
+ export const defaultLeaveCommand = (model) => __foldkitBrandViewResult((WaitForAnimationSettled({
111
+ id: model.id,
112
+ generation: model.transitionGeneration,
113
+ })), "@foldkit/ui/animation/update.js#defaultLeaveCommand");
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/calendar/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/calendar/index.ts"],"names":[],"mappings":"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"}
@@ -5,7 +5,7 @@ import * as Command from 'foldkit/command';
5
5
  import * as Dom from 'foldkit/dom';
6
6
  import { childAttributes, } from 'foldkit/html';
7
7
  import { defineMessageUnion } from 'foldkit/message';
8
- import { evo } from 'foldkit/struct';
8
+ import { modifyFields } from 'foldkit/struct';
9
9
  import { defineView } from 'foldkit/submodel';
10
10
  import * as Update from 'foldkit/update';
11
11
  import * as OptionExt from '../internal/optionExtensions.js';
@@ -104,7 +104,7 @@ export const selectDate = (model, date) => __foldkitBrandViewResult((update(mode
104
104
  * example when opening a date picker onto its current value so the selected
105
105
  * month is visible. Returns the model directly because it produces no
106
106
  * commands and no OutMessage. */
107
- export const focusDate = Function.dual(2, (model, date) => __foldkitBrandViewResult((evo(model, {
107
+ export const focusDate = Function.dual(2, (model, date) => __foldkitBrandViewResult((modifyFields(model, {
108
108
  maybeFocusedDate: () => __foldkitBrandViewResult((Option.some(date)), "@foldkit/ui/calendar/index.js#maybeFocusedDate"),
109
109
  viewYear: () => __foldkitBrandViewResult((date.year), "@foldkit/ui/calendar/index.js#viewYear"),
110
110
  viewMonth: () => __foldkitBrandViewResult((date.month), "@foldkit/ui/calendar/index.js#viewMonth"),
@@ -117,17 +117,17 @@ export const focusDate = Function.dual(2, (model, date) => __foldkitBrandViewRes
117
117
  * Does NOT reconcile the current selection. If a previously-selected date
118
118
  * is now below the new minimum, it remains selected. Callers should clear or
119
119
  * reassign the selection explicitly if their domain requires it. */
120
- export const reflectMinDate = Function.dual(2, (model, maybeMinDate) => __foldkitBrandViewResult((evo(model, { maybeMinDate: () => __foldkitBrandViewResult((maybeMinDate), "@foldkit/ui/calendar/index.js#maybeMinDate") })), "@foldkit/ui/calendar/index.js#anonymous~2"));
120
+ export const reflectMinDate = Function.dual(2, (model, maybeMinDate) => __foldkitBrandViewResult((modifyFields(model, { maybeMinDate: () => __foldkitBrandViewResult((maybeMinDate), "@foldkit/ui/calendar/index.js#maybeMinDate") })), "@foldkit/ui/calendar/index.js#anonymous~2"));
121
121
  /** Reflects the maximum selectable date onto the model. Pass `Option.none()`
122
122
  * to remove the maximum. Does NOT reconcile the current selection. */
123
- export const reflectMaxDate = Function.dual(2, (model, maybeMaxDate) => __foldkitBrandViewResult((evo(model, { maybeMaxDate: () => __foldkitBrandViewResult((maybeMaxDate), "@foldkit/ui/calendar/index.js#maybeMaxDate") })), "@foldkit/ui/calendar/index.js#anonymous~3"));
123
+ export const reflectMaxDate = Function.dual(2, (model, maybeMaxDate) => __foldkitBrandViewResult((modifyFields(model, { maybeMaxDate: () => __foldkitBrandViewResult((maybeMaxDate), "@foldkit/ui/calendar/index.js#maybeMaxDate") })), "@foldkit/ui/calendar/index.js#anonymous~3"));
124
124
  /** Reflects the list of individually-disabled dates onto the model. Pass an
125
125
  * empty array to clear. Does NOT reconcile the current selection. */
126
- export const reflectDisabledDates = Function.dual(2, (model, disabledDates) => __foldkitBrandViewResult((evo(model, { disabledDates: () => __foldkitBrandViewResult((disabledDates), "@foldkit/ui/calendar/index.js#disabledDates") })), "@foldkit/ui/calendar/index.js#anonymous~4"));
126
+ export const reflectDisabledDates = Function.dual(2, (model, disabledDates) => __foldkitBrandViewResult((modifyFields(model, { disabledDates: () => __foldkitBrandViewResult((disabledDates), "@foldkit/ui/calendar/index.js#disabledDates") })), "@foldkit/ui/calendar/index.js#anonymous~4"));
127
127
  /** Reflects the days of the week that are disabled (e.g. weekends) onto the
128
128
  * model. Pass an empty array to clear. Does NOT reconcile the current
129
129
  * selection. */
130
- export const reflectDisabledDaysOfWeek = Function.dual(2, (model, disabledDaysOfWeek) => __foldkitBrandViewResult((evo(model, { disabledDaysOfWeek: () => __foldkitBrandViewResult((disabledDaysOfWeek), "@foldkit/ui/calendar/index.js#disabledDaysOfWeek") })), "@foldkit/ui/calendar/index.js#anonymous~5"));
130
+ export const reflectDisabledDaysOfWeek = Function.dual(2, (model, disabledDaysOfWeek) => __foldkitBrandViewResult((modifyFields(model, { disabledDaysOfWeek: () => __foldkitBrandViewResult((disabledDaysOfWeek), "@foldkit/ui/calendar/index.js#disabledDaysOfWeek") })), "@foldkit/ui/calendar/index.js#anonymous~5"));
131
131
  /** Returns the calendar to Days mode regardless of current depth. Useful for
132
132
  * standalone (non-popovered) consumers that want to wire their own back-out
133
133
  * gesture. Popovered consumers like `DatePicker` don't need this. Escape
@@ -143,7 +143,7 @@ export const dropToDays = (model) => {
143
143
  onNone: () => __foldkitBrandViewResult((1), "@foldkit/ui/calendar/index.js#onNone"),
144
144
  onSome: date => __foldkitBrandViewResult((Math.min(date.day, Calendar.daysInMonth(model.viewYear, model.viewMonth))), "@foldkit/ui/calendar/index.js#onSome"),
145
145
  });
146
- return __foldkitBrandViewResult((evo(model, {
146
+ return __foldkitBrandViewResult((modifyFields(model, {
147
147
  viewMode: () => __foldkitBrandViewResult(('Days'), "@foldkit/ui/calendar/index.js#viewMode"),
148
148
  maybeFocusedDate: () => __foldkitBrandViewResult((Option.some(Calendar.make(model.viewYear, model.viewMonth, focusedDay))), "@foldkit/ui/calendar/index.js#maybeFocusedDate~2"),
149
149
  })), "@foldkit/ui/calendar/index.js#dropToDays");
@@ -214,7 +214,7 @@ const currentOrFallbackFocus = (model) => __foldkitBrandViewResult((Option.getOr
214
214
  * the parent infers month transitions from the date itself rather than from
215
215
  * a separate `ChangedViewMonth` signal that would race with the selection. */
216
216
  const commitSelection = (model, date) => (__foldkitBrandViewResult(({
217
- model: evo(model, {
217
+ model: modifyFields(model, {
218
218
  maybeFocusedDate: () => __foldkitBrandViewResult((Option.some(date)), "@foldkit/ui/calendar/index.js#maybeFocusedDate~3"),
219
219
  viewYear: () => __foldkitBrandViewResult((date.year), "@foldkit/ui/calendar/index.js#viewYear~2"),
220
220
  viewMonth: () => __foldkitBrandViewResult((date.month), "@foldkit/ui/calendar/index.js#viewMonth~2"),
@@ -228,7 +228,7 @@ const applyFocusMove = (model, candidate, direction, cap) => {
228
228
  const clamped = clampToRange(model, candidate);
229
229
  const nextFocus = skipDisabled(model, clamped, direction, cap);
230
230
  const crossedMonth = nextFocus.year !== model.viewYear || nextFocus.month !== model.viewMonth;
231
- const nextModel = evo(model, {
231
+ const nextModel = modifyFields(model, {
232
232
  maybeFocusedDate: () => __foldkitBrandViewResult((Option.some(nextFocus)), "@foldkit/ui/calendar/index.js#maybeFocusedDate~4"),
233
233
  viewYear: () => __foldkitBrandViewResult((nextFocus.year), "@foldkit/ui/calendar/index.js#viewYear~3"),
234
234
  viewMonth: () => __foldkitBrandViewResult((nextFocus.month), "@foldkit/ui/calendar/index.js#viewMonth~3"),
@@ -265,7 +265,7 @@ const applyViewMonthChange = (model, year, month, direction) => {
265
265
  return __foldkitBrandViewResult(({ model }), "@foldkit/ui/calendar/index.js#applyViewMonthChange");
266
266
  }
267
267
  const nextFocus = moveFocusForViewChange(model, year, month, direction);
268
- const nextModel = evo(model, {
268
+ const nextModel = modifyFields(model, {
269
269
  viewYear: () => __foldkitBrandViewResult((year), "@foldkit/ui/calendar/index.js#viewYear~4"),
270
270
  viewMonth: () => __foldkitBrandViewResult((month), "@foldkit/ui/calendar/index.js#viewMonth~4"),
271
271
  maybeFocusedDate: () => __foldkitBrandViewResult((Option.some(nextFocus)), "@foldkit/ui/calendar/index.js#maybeFocusedDate~5"),
@@ -298,7 +298,7 @@ const applyMonthsFocusShift = (model, monthShift) => {
298
298
  const focused = currentOrFallbackFocus(model);
299
299
  const nextFocus = Calendar.addMonths(focused, monthShift);
300
300
  return __foldkitBrandViewResult(({
301
- model: evo(model, {
301
+ model: modifyFields(model, {
302
302
  maybeFocusedDate: () => __foldkitBrandViewResult((Option.some(nextFocus)), "@foldkit/ui/calendar/index.js#maybeFocusedDate~6"),
303
303
  viewYear: () => __foldkitBrandViewResult((nextFocus.year), "@foldkit/ui/calendar/index.js#viewYear~5"),
304
304
  }),
@@ -312,7 +312,7 @@ const applyYearsFocusShift = (model, yearShift) => {
312
312
  const focused = currentOrFallbackFocus(model);
313
313
  const nextFocus = Calendar.addYears(focused, yearShift);
314
314
  return __foldkitBrandViewResult(({
315
- model: evo(model, {
315
+ model: modifyFields(model, {
316
316
  maybeFocusedDate: () => __foldkitBrandViewResult((Option.some(nextFocus)), "@foldkit/ui/calendar/index.js#maybeFocusedDate~7"),
317
317
  }),
318
318
  }), "@foldkit/ui/calendar/index.js#applyYearsFocusShift");
@@ -360,10 +360,10 @@ export const update = (model, message) => __foldkitBrandViewResult((Message.matc
360
360
  return __foldkitBrandViewResult((applyViewMonthChange(model, next.year, next.month, 1)), "@foldkit/ui/calendar/index.js#ClickedNextMonthButton");
361
361
  },
362
362
  ClickedHeading: () => __foldkitBrandViewResult((Match.value(model.viewMode).pipe(withUpdateReturn, Match.when('Days', () => (__foldkitBrandViewResult(({
363
- model: evo(model, { viewMode: () => __foldkitBrandViewResult(('Months'), "@foldkit/ui/calendar/index.js#viewMode~2") }),
363
+ model: modifyFields(model, { viewMode: () => __foldkitBrandViewResult(('Months'), "@foldkit/ui/calendar/index.js#viewMode~2") }),
364
364
  commands: [FocusGrid({ id: model.id })],
365
365
  }), "@foldkit/ui/calendar/index.js#anonymous~35"))), Match.when('Months', () => (__foldkitBrandViewResult(({
366
- model: evo(model, { viewMode: () => __foldkitBrandViewResult(('Years'), "@foldkit/ui/calendar/index.js#viewMode~3") }),
366
+ model: modifyFields(model, { viewMode: () => __foldkitBrandViewResult(('Years'), "@foldkit/ui/calendar/index.js#viewMode~3") }),
367
367
  commands: [FocusGrid({ id: model.id })],
368
368
  }), "@foldkit/ui/calendar/index.js#anonymous~36"))), Match.when('Years', () => (__foldkitBrandViewResult(({ model }), "@foldkit/ui/calendar/index.js#anonymous~37"))), Match.exhaustive)), "@foldkit/ui/calendar/index.js#ClickedHeading"),
369
369
  SelectedMonth: ({ month }) => {
@@ -373,7 +373,9 @@ export const update = (model, message) => __foldkitBrandViewResult((Message.matc
373
373
  else {
374
374
  const viewMonthChange = applyViewMonthChange(model, model.viewYear, month, jumpDirection(model, model.viewYear, month));
375
375
  const monthSelection = {
376
- model: evo(viewMonthChange.model, { viewMode: () => __foldkitBrandViewResult(('Days'), "@foldkit/ui/calendar/index.js#viewMode~4") }),
376
+ model: modifyFields(viewMonthChange.model, {
377
+ viewMode: () => __foldkitBrandViewResult(('Days'), "@foldkit/ui/calendar/index.js#viewMode~4"),
378
+ }),
377
379
  commands: [FocusGrid({ id: model.id })],
378
380
  };
379
381
  return __foldkitBrandViewResult((pipe(monthSelection, Update.withOutMessage(viewMonthChange.outMessage))), "@foldkit/ui/calendar/index.js#SelectedMonth");
@@ -386,17 +388,23 @@ export const update = (model, message) => __foldkitBrandViewResult((Message.matc
386
388
  else {
387
389
  const yearViewMonthChange = applyViewMonthChange(model, year, model.viewMonth, jumpDirection(model, year, model.viewMonth));
388
390
  const yearSelection = {
389
- model: evo(yearViewMonthChange.model, { viewMode: () => __foldkitBrandViewResult(('Months'), "@foldkit/ui/calendar/index.js#viewMode~5") }),
391
+ model: modifyFields(yearViewMonthChange.model, {
392
+ viewMode: () => __foldkitBrandViewResult(('Months'), "@foldkit/ui/calendar/index.js#viewMode~5"),
393
+ }),
390
394
  commands: [FocusGrid({ id: model.id })],
391
395
  };
392
396
  return __foldkitBrandViewResult((pipe(yearSelection, Update.withOutMessage(yearViewMonthChange.outMessage))), "@foldkit/ui/calendar/index.js#SelectedYear");
393
397
  }
394
398
  },
395
399
  PagedYears: ({ direction }) => __foldkitBrandViewResult((applyYearsFocusShift(model, direction * YEARS_PAGE_SIZE)), "@foldkit/ui/calendar/index.js#PagedYears"),
396
- FocusedGrid: () => (__foldkitBrandViewResult(({ model: evo(model, { isGridFocused: () => __foldkitBrandViewResult((true), "@foldkit/ui/calendar/index.js#isGridFocused") }) }), "@foldkit/ui/calendar/index.js#FocusedGrid")),
397
- BlurredGrid: () => (__foldkitBrandViewResult(({ model: evo(model, { isGridFocused: () => __foldkitBrandViewResult((false), "@foldkit/ui/calendar/index.js#isGridFocused~2") }) }), "@foldkit/ui/calendar/index.js#BlurredGrid")),
400
+ FocusedGrid: () => (__foldkitBrandViewResult(({
401
+ model: modifyFields(model, { isGridFocused: () => __foldkitBrandViewResult((true), "@foldkit/ui/calendar/index.js#isGridFocused") }),
402
+ }), "@foldkit/ui/calendar/index.js#FocusedGrid")),
403
+ BlurredGrid: () => (__foldkitBrandViewResult(({
404
+ model: modifyFields(model, { isGridFocused: () => __foldkitBrandViewResult((false), "@foldkit/ui/calendar/index.js#isGridFocused~2") }),
405
+ }), "@foldkit/ui/calendar/index.js#BlurredGrid")),
398
406
  RefreshedToday: ({ today }) => (__foldkitBrandViewResult(({
399
- model: evo(model, { today: () => __foldkitBrandViewResult((today), "@foldkit/ui/calendar/index.js#today") }),
407
+ model: modifyFields(model, { today: () => __foldkitBrandViewResult((today), "@foldkit/ui/calendar/index.js#today") }),
400
408
  }), "@foldkit/ui/calendar/index.js#RefreshedToday")),
401
409
  CompletedFocusGrid: () => (__foldkitBrandViewResult(({ model }), "@foldkit/ui/calendar/index.js#CompletedFocusGrid")),
402
410
  })), "@foldkit/ui/calendar/index.js#update");
@@ -77,7 +77,7 @@ export declare const descriptionId: (id: string) => string;
77
77
  *
78
78
  * // In update:
79
79
  * ToggledTerms: ({ isChecked }) => ({
80
- * model: evo(model, { acceptedTerms: () => isChecked }),
80
+ * model: modifyFields(model, { acceptedTerms: () => isChecked }),
81
81
  * }),
82
82
  * ``` */
83
83
  export declare const view: <Message>(config: ViewConfig<Message>, h: HtmlBuilder<Message>) => Html;
@@ -22,7 +22,7 @@ export const descriptionId = (id) => __foldkitBrandViewResult((`${id}-descriptio
22
22
  *
23
23
  * // In update:
24
24
  * ToggledTerms: ({ isChecked }) => ({
25
- * model: evo(model, { acceptedTerms: () => isChecked }),
25
+ * model: modifyFields(model, { acceptedTerms: () => isChecked }),
26
26
  * }),
27
27
  * ``` */
28
28
  export const view = (config, h) => {
@@ -15,6 +15,7 @@ export declare const Model: Schema.Struct<{
15
15
  readonly id: Schema.String;
16
16
  readonly isShowing: Schema.Boolean;
17
17
  readonly transitionState: Schema.Literals<readonly ["Idle", "EnterStart", "EnterAnimating", "LeaveStart", "LeaveAnimating"]>;
18
+ readonly transitionGeneration: Schema.Number;
18
19
  }>;
19
20
  readonly maybeActiveItemIndex: Schema.Option<Schema.Number>;
20
21
  readonly activationTrigger: Schema.Literals<readonly ["Pointer", "Keyboard"]>;
@@ -47,6 +48,7 @@ export declare const update: (model: {
47
48
  readonly id: string;
48
49
  readonly isShowing: boolean;
49
50
  readonly transitionState: "EnterAnimating" | "EnterStart" | "Idle" | "LeaveAnimating" | "LeaveStart";
51
+ readonly transitionGeneration: number;
50
52
  };
51
53
  readonly maybeActiveItemIndex: Option.Option<number>;
52
54
  readonly activationTrigger: "Keyboard" | "Pointer";
@@ -68,6 +70,7 @@ export declare const update: (model: {
68
70
  readonly id: string;
69
71
  readonly isShowing: boolean;
70
72
  readonly transitionState: "EnterAnimating" | "EnterStart" | "Idle" | "LeaveAnimating" | "LeaveStart";
73
+ readonly transitionGeneration: number;
71
74
  };
72
75
  readonly maybeActiveItemIndex: Option.Option<number>;
73
76
  readonly activationTrigger: "Keyboard" | "Pointer";
@@ -120,8 +123,10 @@ export declare const update: (model: {
120
123
  readonly _tag: "GotAnimationMessage";
121
124
  readonly message: {
122
125
  readonly _tag: "CompletedWaitForPaint";
126
+ readonly generation: number;
123
127
  } | {
124
128
  readonly _tag: "EndedAnimation";
129
+ readonly generation: number;
125
130
  } | {
126
131
  readonly _tag: "Hid";
127
132
  } | {
@@ -1 +1 @@
1
- {"version":3,"file":"multi.d.ts","sourceRoot":"","sources":["../../src/combobox/multi.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AACvC,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,SAAS,CAAA;AAErC,OAAO,KAAK,EAAE,IAAI,IAAI,YAAY,EAAE,MAAM,kBAAkB,CAAA;AAE5D,OAAO,EACL,KAAK,cAAc,EAEnB,KAAK,cAAc,EACnB,OAAO,EACP,UAAU,EAKX,MAAM,aAAa,CAAA;AAIpB,qOAAqO;AACrO,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,+HAA+H;AAC/H,eAAO,MAAM,IAAI,WAAY,UAAU,KAAG,KAAyB,CAAA;AAInE;;;;;8DAK8D;AAC9D,eAAO,MAAM,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAcjB,CAAA;AAEF,KAAK,YAAY,GAAG,UAAU,CAAC,OAAO,MAAM,CAAC,CAAA;AAE7C;mEACmE;AACnE,eAAO,MAAM,IAAI,UAAW,KAAK,KAAG,YACoC,CAAA;AAExE;;sEAEsE;AACtE,eAAO,MAAM,KAAK,UAAW,KAAK,KAAG,YACwC,CAAA;AAE7E;wEACwE;AACxE,eAAO,MAAM,UAAU,UAAW,KAAK,QAAQ,MAAM,KAAG,YAIrD,CAAA;AAIH,uFAAuF;AACvF,MAAM,MAAM,UAAU,CAAC,IAAI,SAAS,MAAM,IAAI,cAAc,CAAC,IAAI,CAAC,CAAA;AAIlE,KAAK,kBAAkB,CAAC,IAAI,SAAS,MAAM,IAAI,MAAM,CAAC,oBAAoB,CACxE,KAAK,EACL,OAAO,EACP,UAAU,CAAC,IAAI,CAAC,CACjB,CAAA;AAED;;;;+BAI+B;AAC/B,MAAM,MAAM,MAAM,CAAC,IAAI,SAAS,MAAM,GAAG,MAAM,IAAI,QAAQ,CAAC;IAC1D,IAAI,EAAE,YAAY,CAAC,KAAK,EAAE,OAAO,EAAE,UAAU,CAAC,IAAI,CAAC,CAAC,CAAA;IACpD,MAAM,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,KAAK,kBAAkB,CAAC,IAAI,CAAC,CAAA;IACpE,UAAU,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,KAAK,kBAAkB,CAAC,IAAI,CAAC,CAAA;IAClE,IAAI,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,kBAAkB,CAAC,IAAI,CAAC,CAAA;IAChD,KAAK,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,kBAAkB,CAAC,IAAI,CAAC,CAAA;CAClD,CAAC,CAAA;AAEF;;wEAEwE;AACxE,eAAO,MAAM,MAAM,GAAI,IAAI,SAAS,MAAM,GAAG,MAAM,OAAK,MAAM,CAAC,IAAI,CA2BlE,CAAA"}
1
+ {"version":3,"file":"multi.d.ts","sourceRoot":"","sources":["../../src/combobox/multi.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AACvC,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,SAAS,CAAA;AAErC,OAAO,KAAK,EAAE,IAAI,IAAI,YAAY,EAAE,MAAM,kBAAkB,CAAA;AAE5D,OAAO,EACL,KAAK,cAAc,EAEnB,KAAK,cAAc,EACnB,OAAO,EACP,UAAU,EAKX,MAAM,aAAa,CAAA;AAIpB,qOAAqO;AACrO,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,+HAA+H;AAC/H,eAAO,MAAM,IAAI,WAAY,UAAU,KAAG,KAAyB,CAAA;AAInE;;;;;8DAK8D;AAC9D,eAAO,MAAM,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAcjB,CAAA;AAEF,KAAK,YAAY,GAAG,UAAU,CAAC,OAAO,MAAM,CAAC,CAAA;AAE7C;mEACmE;AACnE,eAAO,MAAM,IAAI,UAAW,KAAK,KAAG,YACoC,CAAA;AAExE;;sEAEsE;AACtE,eAAO,MAAM,KAAK,UAAW,KAAK,KAAG,YACwC,CAAA;AAE7E;wEACwE;AACxE,eAAO,MAAM,UAAU,UAAW,KAAK,QAAQ,MAAM,KAAG,YAIrD,CAAA;AAIH,uFAAuF;AACvF,MAAM,MAAM,UAAU,CAAC,IAAI,SAAS,MAAM,IAAI,cAAc,CAAC,IAAI,CAAC,CAAA;AAIlE,KAAK,kBAAkB,CAAC,IAAI,SAAS,MAAM,IAAI,MAAM,CAAC,oBAAoB,CACxE,KAAK,EACL,OAAO,EACP,UAAU,CAAC,IAAI,CAAC,CACjB,CAAA;AAED;;;;+BAI+B;AAC/B,MAAM,MAAM,MAAM,CAAC,IAAI,SAAS,MAAM,GAAG,MAAM,IAAI,QAAQ,CAAC;IAC1D,IAAI,EAAE,YAAY,CAAC,KAAK,EAAE,OAAO,EAAE,UAAU,CAAC,IAAI,CAAC,CAAC,CAAA;IACpD,MAAM,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,KAAK,kBAAkB,CAAC,IAAI,CAAC,CAAA;IACpE,UAAU,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,KAAK,kBAAkB,CAAC,IAAI,CAAC,CAAA;IAClE,IAAI,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,kBAAkB,CAAC,IAAI,CAAC,CAAA;IAChD,KAAK,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,kBAAkB,CAAC,IAAI,CAAC,CAAA;CAClD,CAAC,CAAA;AAEF;;wEAEwE;AACxE,eAAO,MAAM,MAAM,GAAI,IAAI,SAAS,MAAM,GAAG,MAAM,OAAK,MAAM,CAAC,IAAI,CA2BlE,CAAA"}
@@ -1,6 +1,6 @@
1
1
  import { brandViewResult as __foldkitBrandViewResult } from 'foldkit/brand'
2
2
  import { Option, Schema } from 'effect';
3
- import { evo } from 'foldkit/struct';
3
+ import { modifyFields } from 'foldkit/struct';
4
4
  import { BaseModel, Message, OutMessage, baseInit, closedBaseModel, makeUpdate, makeView, } from './shared.js';
5
5
  // MODEL
6
6
  /** Schema for the multi-select combobox's private interaction state (open/closed status, active item, activation trigger, typed input value). The selection is owned by the parent and passed in via `ViewInputs.selectedValues`. */
@@ -18,7 +18,7 @@ export const init = (config) => __foldkitBrandViewResult((baseInit(config)), "@f
18
18
  * design. Clear the selection by toggling each value off. */
19
19
  export const update = makeUpdate({
20
20
  handleClose: model => (__foldkitBrandViewResult(({
21
- model: evo(closedBaseModel(model), { inputValue: () => __foldkitBrandViewResult((''), "@foldkit/ui/combobox/multi.js#inputValue") }),
21
+ model: modifyFields(closedBaseModel(model), { inputValue: () => __foldkitBrandViewResult((''), "@foldkit/ui/combobox/multi.js#inputValue") }),
22
22
  }), "@foldkit/ui/combobox/multi.js#handleClose")),
23
23
  handleSelectedItem: (model, item) => (__foldkitBrandViewResult(({
24
24
  model,