@foldkit/ui 0.112.0

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 (201) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +67 -0
  3. package/dist/anchor.d.ts +38 -0
  4. package/dist/anchor.d.ts.map +1 -0
  5. package/dist/anchor.js +142 -0
  6. package/dist/animation/index.d.ts +49 -0
  7. package/dist/animation/index.d.ts.map +1 -0
  8. package/dist/animation/index.js +75 -0
  9. package/dist/animation/public.d.ts +3 -0
  10. package/dist/animation/public.d.ts.map +1 -0
  11. package/dist/animation/public.js +1 -0
  12. package/dist/animation/schema.d.ts +43 -0
  13. package/dist/animation/schema.d.ts.map +1 -0
  14. package/dist/animation/schema.js +41 -0
  15. package/dist/animation/update.d.ts +24 -0
  16. package/dist/animation/update.d.ts.map +1 -0
  17. package/dist/animation/update.js +67 -0
  18. package/dist/button/index.d.ts +17 -0
  19. package/dist/button/index.d.ts.map +1 -0
  20. package/dist/button/index.js +22 -0
  21. package/dist/button/public.d.ts +3 -0
  22. package/dist/button/public.d.ts.map +1 -0
  23. package/dist/button/public.js +1 -0
  24. package/dist/calendar/index.d.ts +462 -0
  25. package/dist/calendar/index.d.ts.map +1 -0
  26. package/dist/calendar/index.js +825 -0
  27. package/dist/calendar/public.d.ts +3 -0
  28. package/dist/calendar/public.d.ts.map +1 -0
  29. package/dist/calendar/public.js +1 -0
  30. package/dist/checkbox/index.d.ts +119 -0
  31. package/dist/checkbox/index.d.ts.map +1 -0
  32. package/dist/checkbox/index.js +111 -0
  33. package/dist/checkbox/public.d.ts +3 -0
  34. package/dist/checkbox/public.d.ts.map +1 -0
  35. package/dist/checkbox/public.js +1 -0
  36. package/dist/combobox/multi.d.ts +183 -0
  37. package/dist/combobox/multi.d.ts.map +1 -0
  38. package/dist/combobox/multi.js +81 -0
  39. package/dist/combobox/multiPublic.d.ts +3 -0
  40. package/dist/combobox/multiPublic.d.ts.map +1 -0
  41. package/dist/combobox/multiPublic.js +1 -0
  42. package/dist/combobox/public.d.ts +7 -0
  43. package/dist/combobox/public.d.ts.map +1 -0
  44. package/dist/combobox/public.js +3 -0
  45. package/dist/combobox/shared.d.ts +423 -0
  46. package/dist/combobox/shared.d.ts.map +1 -0
  47. package/dist/combobox/shared.js +708 -0
  48. package/dist/combobox/single.d.ts +198 -0
  49. package/dist/combobox/single.d.ts.map +1 -0
  50. package/dist/combobox/single.js +106 -0
  51. package/dist/datePicker/index.d.ts +457 -0
  52. package/dist/datePicker/index.d.ts.map +1 -0
  53. package/dist/datePicker/index.js +318 -0
  54. package/dist/datePicker/public.d.ts +3 -0
  55. package/dist/datePicker/public.d.ts.map +1 -0
  56. package/dist/datePicker/public.js +1 -0
  57. package/dist/dialog/index.d.ts +160 -0
  58. package/dist/dialog/index.d.ts.map +1 -0
  59. package/dist/dialog/index.js +211 -0
  60. package/dist/dialog/public.d.ts +3 -0
  61. package/dist/dialog/public.d.ts.map +1 -0
  62. package/dist/dialog/public.js +1 -0
  63. package/dist/disclosure/index.d.ts +110 -0
  64. package/dist/disclosure/index.d.ts.map +1 -0
  65. package/dist/disclosure/index.js +111 -0
  66. package/dist/disclosure/public.d.ts +3 -0
  67. package/dist/disclosure/public.d.ts.map +1 -0
  68. package/dist/disclosure/public.js +1 -0
  69. package/dist/dragAndDrop/index.d.ts +540 -0
  70. package/dist/dragAndDrop/index.d.ts.map +1 -0
  71. package/dist/dragAndDrop/index.js +535 -0
  72. package/dist/dragAndDrop/public.d.ts +3 -0
  73. package/dist/dragAndDrop/public.d.ts.map +1 -0
  74. package/dist/dragAndDrop/public.js +1 -0
  75. package/dist/fieldset/index.d.ts +21 -0
  76. package/dist/fieldset/index.d.ts.map +1 -0
  77. package/dist/fieldset/index.js +25 -0
  78. package/dist/fieldset/public.d.ts +3 -0
  79. package/dist/fieldset/public.d.ts.map +1 -0
  80. package/dist/fieldset/public.js +1 -0
  81. package/dist/fileDrop/index.d.ts +109 -0
  82. package/dist/fileDrop/index.d.ts.map +1 -0
  83. package/dist/fileDrop/index.js +127 -0
  84. package/dist/fileDrop/public.d.ts +3 -0
  85. package/dist/fileDrop/public.d.ts.map +1 -0
  86. package/dist/fileDrop/public.js +1 -0
  87. package/dist/group.d.ts +8 -0
  88. package/dist/group.d.ts.map +1 -0
  89. package/dist/group.js +13 -0
  90. package/dist/index.d.ts +25 -0
  91. package/dist/index.d.ts.map +1 -0
  92. package/dist/index.js +24 -0
  93. package/dist/input/index.d.ts +26 -0
  94. package/dist/input/index.d.ts.map +1 -0
  95. package/dist/input/index.js +43 -0
  96. package/dist/input/public.d.ts +3 -0
  97. package/dist/input/public.d.ts.map +1 -0
  98. package/dist/input/public.js +1 -0
  99. package/dist/internal/optionExtensions.d.ts +6 -0
  100. package/dist/internal/optionExtensions.d.ts.map +1 -0
  101. package/dist/internal/optionExtensions.js +2 -0
  102. package/dist/keyboard.d.ts +6 -0
  103. package/dist/keyboard.d.ts.map +1 -0
  104. package/dist/keyboard.js +9 -0
  105. package/dist/listbox/multi.d.ts +189 -0
  106. package/dist/listbox/multi.d.ts.map +1 -0
  107. package/dist/listbox/multi.js +65 -0
  108. package/dist/listbox/multiPublic.d.ts +3 -0
  109. package/dist/listbox/multiPublic.d.ts.map +1 -0
  110. package/dist/listbox/multiPublic.js +1 -0
  111. package/dist/listbox/public.d.ts +7 -0
  112. package/dist/listbox/public.d.ts.map +1 -0
  113. package/dist/listbox/public.js +3 -0
  114. package/dist/listbox/shared.d.ts +432 -0
  115. package/dist/listbox/shared.d.ts.map +1 -0
  116. package/dist/listbox/shared.js +670 -0
  117. package/dist/listbox/single.d.ts +207 -0
  118. package/dist/listbox/single.d.ts.map +1 -0
  119. package/dist/listbox/single.js +73 -0
  120. package/dist/menu/index.d.ts +368 -0
  121. package/dist/menu/index.d.ts.map +1 -0
  122. package/dist/menu/index.js +682 -0
  123. package/dist/menu/public.d.ts +4 -0
  124. package/dist/menu/public.d.ts.map +1 -0
  125. package/dist/menu/public.js +1 -0
  126. package/dist/popover/index.d.ts +267 -0
  127. package/dist/popover/index.d.ts.map +1 -0
  128. package/dist/popover/index.js +346 -0
  129. package/dist/popover/public.d.ts +4 -0
  130. package/dist/popover/public.d.ts.map +1 -0
  131. package/dist/popover/public.js +1 -0
  132. package/dist/radioGroup/index.d.ts +169 -0
  133. package/dist/radioGroup/index.d.ts.map +1 -0
  134. package/dist/radioGroup/index.js +197 -0
  135. package/dist/radioGroup/public.d.ts +3 -0
  136. package/dist/radioGroup/public.d.ts.map +1 -0
  137. package/dist/radioGroup/public.js +1 -0
  138. package/dist/select/index.d.ts +24 -0
  139. package/dist/select/index.d.ts.map +1 -0
  140. package/dist/select/index.js +40 -0
  141. package/dist/select/public.d.ts +3 -0
  142. package/dist/select/public.d.ts.map +1 -0
  143. package/dist/select/public.js +1 -0
  144. package/dist/slider/index.d.ts +318 -0
  145. package/dist/slider/index.d.ts.map +1 -0
  146. package/dist/slider/index.js +337 -0
  147. package/dist/slider/public.d.ts +3 -0
  148. package/dist/slider/public.d.ts.map +1 -0
  149. package/dist/slider/public.js +1 -0
  150. package/dist/switch/index.d.ts +99 -0
  151. package/dist/switch/index.d.ts.map +1 -0
  152. package/dist/switch/index.js +107 -0
  153. package/dist/switch/public.d.ts +3 -0
  154. package/dist/switch/public.d.ts.map +1 -0
  155. package/dist/switch/public.js +1 -0
  156. package/dist/tabs/index.d.ts +155 -0
  157. package/dist/tabs/index.d.ts.map +1 -0
  158. package/dist/tabs/index.js +185 -0
  159. package/dist/tabs/public.d.ts +3 -0
  160. package/dist/tabs/public.d.ts.map +1 -0
  161. package/dist/tabs/public.js +1 -0
  162. package/dist/test/apps/disabledButton.d.ts +38 -0
  163. package/dist/test/apps/disabledButton.d.ts.map +1 -0
  164. package/dist/test/apps/disabledButton.js +71 -0
  165. package/dist/textarea/index.d.ts +26 -0
  166. package/dist/textarea/index.d.ts.map +1 -0
  167. package/dist/textarea/index.js +44 -0
  168. package/dist/textarea/public.d.ts +3 -0
  169. package/dist/textarea/public.d.ts.map +1 -0
  170. package/dist/textarea/public.js +1 -0
  171. package/dist/toast/index.d.ts +608 -0
  172. package/dist/toast/index.d.ts.map +1 -0
  173. package/dist/toast/index.js +146 -0
  174. package/dist/toast/public.d.ts +4 -0
  175. package/dist/toast/public.d.ts.map +1 -0
  176. package/dist/toast/public.js +1 -0
  177. package/dist/toast/schema.d.ts +154 -0
  178. package/dist/toast/schema.d.ts.map +1 -0
  179. package/dist/toast/schema.js +93 -0
  180. package/dist/toast/update.d.ts +510 -0
  181. package/dist/toast/update.d.ts.map +1 -0
  182. package/dist/toast/update.js +225 -0
  183. package/dist/tooltip/index.d.ts +170 -0
  184. package/dist/tooltip/index.d.ts.map +1 -0
  185. package/dist/tooltip/index.js +253 -0
  186. package/dist/tooltip/public.d.ts +4 -0
  187. package/dist/tooltip/public.d.ts.map +1 -0
  188. package/dist/tooltip/public.js +1 -0
  189. package/dist/typeahead.d.ts +4 -0
  190. package/dist/typeahead.d.ts.map +1 -0
  191. package/dist/typeahead.js +14 -0
  192. package/dist/virtualList/index.d.ts +203 -0
  193. package/dist/virtualList/index.d.ts.map +1 -0
  194. package/dist/virtualList/index.js +392 -0
  195. package/dist/virtualList/public.d.ts +3 -0
  196. package/dist/virtualList/public.d.ts.map +1 -0
  197. package/dist/virtualList/public.js +1 -0
  198. package/dist/vitest-setup.d.ts +2 -0
  199. package/dist/vitest-setup.d.ts.map +1 -0
  200. package/dist/vitest-setup.js +2 -0
  201. package/package.json +161 -0
@@ -0,0 +1,608 @@
1
+ import { Schema as S } from 'effect';
2
+ import { type ChildAttribute, type Html } from 'foldkit/html';
3
+ import { Dismissed, DismissedAll, ElapsedDuration, GotAnimationMessage, HoveredEntry, LeftEntry, Position, Variant } from './schema.js';
4
+ import { DismissAfter } from './update.js';
5
+ export type { InitConfig } from './schema.js';
6
+ export type { ShowInput } from './update.js';
7
+ export { Variant, Position, Dismissed, DismissedAll, ElapsedDuration, HoveredEntry, LeftEntry, GotAnimationMessage, DismissAfter, };
8
+ /** Handlers passed to `entryToView`. Spread `dismiss` onto a close
9
+ * button's attribute array (typically inside `h.button([...dismiss])`)
10
+ * to let users dismiss the entry manually. The attribute carries the
11
+ * Toast's dismiss handler bound to this entry's id; it routes through
12
+ * the Toast boundary's wrap chain at click time. */
13
+ export type EntryHandlers = Readonly<{
14
+ dismiss: ReadonlyArray<ChildAttribute>;
15
+ }>;
16
+ /** Factory that binds `Toast` to a user-provided payload schema. The
17
+ * returned module contains everything needed to wire a toast stack into an
18
+ * app: `Model`, `Message`, `Entry`, `Added`, `init`, `update`, `show` /
19
+ * `dismiss` / `dismissAll` helpers, and the headless `view`.
20
+ *
21
+ * The payload is whatever content shape the consumer supplies via Schema.
22
+ * The component never reads it. It flows through to `entryToView`. The
23
+ * component itself owns only lifecycle and a11y fields (id, variant,
24
+ * animation, dismiss timer, hover state).
25
+ *
26
+ * Consume the bound module's exports everywhere. `Toast.Model` in your app
27
+ * Model, `Toast.Message` in your parent Message union, `Toast.show` /
28
+ * `Toast.dismiss` in your update, `Toast.view` in your view. The top-level
29
+ * exports (`Variant`, `Position`, static message tags, `DismissAfter`) are
30
+ * payload-independent and safe to reference when you need them without a
31
+ * bound module, but the typical path is through the factory return.
32
+ *
33
+ * @example
34
+ * ```ts
35
+ * const ToastPayload = S.Struct({
36
+ * bodyText: S.String,
37
+ * maybeLink: S.Option(S.Struct({
38
+ * href: S.String,
39
+ * text: S.String,
40
+ * })),
41
+ * })
42
+ * export const Toast = Toast.make(ToastPayload)
43
+ * ```
44
+ */
45
+ export declare const make: <A, I>(payloadSchema: S.Codec<A, I>) => {
46
+ readonly view: import("foldkit/submodel").View<{
47
+ readonly id: string;
48
+ readonly defaultDuration: import("effect/Duration").Duration;
49
+ readonly entries: readonly {
50
+ readonly id: string;
51
+ readonly variant: "Error" | "Info" | "Success" | "Warning";
52
+ readonly animation: {
53
+ readonly id: string;
54
+ readonly isShowing: boolean;
55
+ readonly transitionState: "Idle" | "EnterStart" | "EnterAnimating" | "LeaveStart" | "LeaveAnimating";
56
+ };
57
+ readonly maybeDuration: import("effect/Option").Option<import("effect/Duration").Duration>;
58
+ readonly pendingDismissVersion: number;
59
+ readonly isHovered: boolean;
60
+ readonly payload: A;
61
+ }[];
62
+ readonly nextEntryKey: number;
63
+ }, {
64
+ readonly _tag: "Dismissed";
65
+ readonly entryId: string;
66
+ } | {
67
+ readonly _tag: "DismissedAll";
68
+ } | {
69
+ readonly _tag: "ElapsedDuration";
70
+ readonly entryId: string;
71
+ readonly version: number;
72
+ } | {
73
+ readonly _tag: "HoveredEntry";
74
+ readonly entryId: string;
75
+ } | {
76
+ readonly _tag: "LeftEntry";
77
+ readonly entryId: string;
78
+ } | {
79
+ readonly _tag: "GotAnimationMessage";
80
+ readonly entryId: string;
81
+ readonly message: {
82
+ readonly _tag: "Showed";
83
+ } | {
84
+ readonly _tag: "Hid";
85
+ } | {
86
+ readonly _tag: "AdvancedAnimationFrame";
87
+ } | {
88
+ readonly _tag: "EndedAnimation";
89
+ };
90
+ } | {
91
+ readonly _tag: "Added";
92
+ readonly entry: {
93
+ readonly id: string;
94
+ readonly variant: "Error" | "Info" | "Success" | "Warning";
95
+ readonly animation: {
96
+ readonly id: string;
97
+ readonly isShowing: boolean;
98
+ readonly transitionState: "Idle" | "EnterStart" | "EnterAnimating" | "LeaveStart" | "LeaveAnimating";
99
+ };
100
+ readonly maybeDuration: import("effect/Option").Option<import("effect/Duration").Duration>;
101
+ readonly pendingDismissVersion: number;
102
+ readonly isHovered: boolean;
103
+ readonly payload: A;
104
+ };
105
+ }, Readonly<{
106
+ position: Position;
107
+ entryToView: (entry: {
108
+ readonly id: string;
109
+ readonly variant: "Error" | "Info" | "Success" | "Warning";
110
+ readonly animation: {
111
+ readonly id: string;
112
+ readonly isShowing: boolean;
113
+ readonly transitionState: "Idle" | "EnterStart" | "EnterAnimating" | "LeaveStart" | "LeaveAnimating";
114
+ };
115
+ readonly maybeDuration: import("effect/Option").Option<import("effect/Duration").Duration>;
116
+ readonly pendingDismissVersion: number;
117
+ readonly isHovered: boolean;
118
+ readonly payload: A;
119
+ }, handlers: EntryHandlers) => Html;
120
+ ariaLabel?: string;
121
+ containerClassName?: string;
122
+ entryClassName?: string;
123
+ }>>;
124
+ readonly Entry: S.Struct<{
125
+ readonly id: S.String;
126
+ readonly variant: S.Literals<readonly ["Info", "Success", "Warning", "Error"]>;
127
+ readonly animation: S.Struct<{
128
+ readonly id: S.String;
129
+ readonly isShowing: S.Boolean;
130
+ readonly transitionState: S.Literals<readonly ["Idle", "EnterStart", "EnterAnimating", "LeaveStart", "LeaveAnimating"]>;
131
+ }>;
132
+ readonly maybeDuration: S.Option<S.DurationFromMillis>;
133
+ readonly pendingDismissVersion: S.Number;
134
+ readonly isHovered: S.Boolean;
135
+ readonly payload: S.Codec<A, I, never, never>;
136
+ }>;
137
+ readonly Model: S.Struct<{
138
+ readonly id: S.String;
139
+ readonly defaultDuration: S.DurationFromMillis;
140
+ readonly entries: S.$Array<S.Struct<{
141
+ readonly id: S.String;
142
+ readonly variant: S.Literals<readonly ["Info", "Success", "Warning", "Error"]>;
143
+ readonly animation: S.Struct<{
144
+ readonly id: S.String;
145
+ readonly isShowing: S.Boolean;
146
+ readonly transitionState: S.Literals<readonly ["Idle", "EnterStart", "EnterAnimating", "LeaveStart", "LeaveAnimating"]>;
147
+ }>;
148
+ readonly maybeDuration: S.Option<S.DurationFromMillis>;
149
+ readonly pendingDismissVersion: S.Number;
150
+ readonly isHovered: S.Boolean;
151
+ readonly payload: S.Codec<A, I, never, never>;
152
+ }>>;
153
+ readonly nextEntryKey: S.Number;
154
+ }>;
155
+ readonly Message: S.Union<readonly [import("foldkit/schema").CallableTaggedStruct<"Added", {
156
+ entry: S.Struct<{
157
+ readonly id: S.String;
158
+ readonly variant: S.Literals<readonly ["Info", "Success", "Warning", "Error"]>;
159
+ readonly animation: S.Struct<{
160
+ readonly id: S.String;
161
+ readonly isShowing: S.Boolean;
162
+ readonly transitionState: S.Literals<readonly ["Idle", "EnterStart", "EnterAnimating", "LeaveStart", "LeaveAnimating"]>;
163
+ }>;
164
+ readonly maybeDuration: S.Option<S.DurationFromMillis>;
165
+ readonly pendingDismissVersion: S.Number;
166
+ readonly isHovered: S.Boolean;
167
+ readonly payload: S.Codec<A, I, never, never>;
168
+ }>;
169
+ }>, import("foldkit/schema").CallableTaggedStruct<"Dismissed", {
170
+ entryId: S.String;
171
+ }>, import("foldkit/schema").CallableTaggedStruct<"DismissedAll", {}>, import("foldkit/schema").CallableTaggedStruct<"ElapsedDuration", {
172
+ entryId: S.String;
173
+ version: S.Number;
174
+ }>, import("foldkit/schema").CallableTaggedStruct<"HoveredEntry", {
175
+ entryId: S.String;
176
+ }>, import("foldkit/schema").CallableTaggedStruct<"LeftEntry", {
177
+ entryId: S.String;
178
+ }>, import("foldkit/schema").CallableTaggedStruct<"GotAnimationMessage", {
179
+ entryId: S.String;
180
+ message: S.Union<[import("foldkit/schema").CallableTaggedStruct<"Showed", {}>, import("foldkit/schema").CallableTaggedStruct<"Hid", {}>, import("foldkit/schema").CallableTaggedStruct<"AdvancedAnimationFrame", {}>, import("foldkit/schema").CallableTaggedStruct<"EndedAnimation", {}>]>;
181
+ }>]>;
182
+ readonly OutMessage: S.Union<readonly [import("foldkit/schema").CallableTaggedStruct<"DismissedToast", {
183
+ payload: S.Codec<A, I, never, never>;
184
+ }>]>;
185
+ readonly Added: import("foldkit/schema").CallableTaggedStruct<"Added", {
186
+ entry: S.Struct<{
187
+ readonly id: S.String;
188
+ readonly variant: S.Literals<readonly ["Info", "Success", "Warning", "Error"]>;
189
+ readonly animation: S.Struct<{
190
+ readonly id: S.String;
191
+ readonly isShowing: S.Boolean;
192
+ readonly transitionState: S.Literals<readonly ["Idle", "EnterStart", "EnterAnimating", "LeaveStart", "LeaveAnimating"]>;
193
+ }>;
194
+ readonly maybeDuration: S.Option<S.DurationFromMillis>;
195
+ readonly pendingDismissVersion: S.Number;
196
+ readonly isHovered: S.Boolean;
197
+ readonly payload: S.Codec<A, I, never, never>;
198
+ }>;
199
+ }>;
200
+ readonly DismissedToast: import("foldkit/schema").CallableTaggedStruct<"DismissedToast", {
201
+ payload: S.Codec<A, I, never, never>;
202
+ }>;
203
+ readonly init: (config: Readonly<{
204
+ id: string;
205
+ defaultDuration?: import("effect/Duration").Input;
206
+ }>) => {
207
+ readonly id: string;
208
+ readonly defaultDuration: import("effect/Duration").Duration;
209
+ readonly entries: readonly {
210
+ readonly id: string;
211
+ readonly variant: "Error" | "Info" | "Success" | "Warning";
212
+ readonly animation: {
213
+ readonly id: string;
214
+ readonly isShowing: boolean;
215
+ readonly transitionState: "Idle" | "EnterStart" | "EnterAnimating" | "LeaveStart" | "LeaveAnimating";
216
+ };
217
+ readonly maybeDuration: import("effect/Option").Option<import("effect/Duration").Duration>;
218
+ readonly pendingDismissVersion: number;
219
+ readonly isHovered: boolean;
220
+ readonly payload: A;
221
+ }[];
222
+ readonly nextEntryKey: number;
223
+ };
224
+ readonly update: (model: {
225
+ readonly id: string;
226
+ readonly defaultDuration: import("effect/Duration").Duration;
227
+ readonly entries: readonly {
228
+ readonly id: string;
229
+ readonly variant: "Error" | "Info" | "Success" | "Warning";
230
+ readonly animation: {
231
+ readonly id: string;
232
+ readonly isShowing: boolean;
233
+ readonly transitionState: "Idle" | "EnterStart" | "EnterAnimating" | "LeaveStart" | "LeaveAnimating";
234
+ };
235
+ readonly maybeDuration: import("effect/Option").Option<import("effect/Duration").Duration>;
236
+ readonly pendingDismissVersion: number;
237
+ readonly isHovered: boolean;
238
+ readonly payload: A;
239
+ }[];
240
+ readonly nextEntryKey: number;
241
+ }, message: {
242
+ readonly _tag: "Dismissed";
243
+ readonly entryId: string;
244
+ } | {
245
+ readonly _tag: "DismissedAll";
246
+ } | {
247
+ readonly _tag: "ElapsedDuration";
248
+ readonly entryId: string;
249
+ readonly version: number;
250
+ } | {
251
+ readonly _tag: "HoveredEntry";
252
+ readonly entryId: string;
253
+ } | {
254
+ readonly _tag: "LeftEntry";
255
+ readonly entryId: string;
256
+ } | {
257
+ readonly _tag: "GotAnimationMessage";
258
+ readonly entryId: string;
259
+ readonly message: {
260
+ readonly _tag: "Showed";
261
+ } | {
262
+ readonly _tag: "Hid";
263
+ } | {
264
+ readonly _tag: "AdvancedAnimationFrame";
265
+ } | {
266
+ readonly _tag: "EndedAnimation";
267
+ };
268
+ } | {
269
+ readonly _tag: "Added";
270
+ readonly entry: {
271
+ readonly id: string;
272
+ readonly variant: "Error" | "Info" | "Success" | "Warning";
273
+ readonly animation: {
274
+ readonly id: string;
275
+ readonly isShowing: boolean;
276
+ readonly transitionState: "Idle" | "EnterStart" | "EnterAnimating" | "LeaveStart" | "LeaveAnimating";
277
+ };
278
+ readonly maybeDuration: import("effect/Option").Option<import("effect/Duration").Duration>;
279
+ readonly pendingDismissVersion: number;
280
+ readonly isHovered: boolean;
281
+ readonly payload: A;
282
+ };
283
+ }) => readonly [{
284
+ readonly id: string;
285
+ readonly defaultDuration: import("effect/Duration").Duration;
286
+ readonly entries: readonly {
287
+ readonly id: string;
288
+ readonly variant: "Error" | "Info" | "Success" | "Warning";
289
+ readonly animation: {
290
+ readonly id: string;
291
+ readonly isShowing: boolean;
292
+ readonly transitionState: "Idle" | "EnterStart" | "EnterAnimating" | "LeaveStart" | "LeaveAnimating";
293
+ };
294
+ readonly maybeDuration: import("effect/Option").Option<import("effect/Duration").Duration>;
295
+ readonly pendingDismissVersion: number;
296
+ readonly isHovered: boolean;
297
+ readonly payload: A;
298
+ }[];
299
+ readonly nextEntryKey: number;
300
+ }, readonly Readonly<{
301
+ name: string;
302
+ args?: Record<string, unknown>;
303
+ effect: import("effect/Effect").Effect<{
304
+ readonly _tag: "Dismissed";
305
+ readonly entryId: string;
306
+ } | {
307
+ readonly _tag: "DismissedAll";
308
+ } | {
309
+ readonly _tag: "ElapsedDuration";
310
+ readonly entryId: string;
311
+ readonly version: number;
312
+ } | {
313
+ readonly _tag: "HoveredEntry";
314
+ readonly entryId: string;
315
+ } | {
316
+ readonly _tag: "LeftEntry";
317
+ readonly entryId: string;
318
+ } | {
319
+ readonly _tag: "GotAnimationMessage";
320
+ readonly entryId: string;
321
+ readonly message: {
322
+ readonly _tag: "Showed";
323
+ } | {
324
+ readonly _tag: "Hid";
325
+ } | {
326
+ readonly _tag: "AdvancedAnimationFrame";
327
+ } | {
328
+ readonly _tag: "EndedAnimation";
329
+ };
330
+ } | {
331
+ readonly _tag: "Added";
332
+ readonly entry: {
333
+ readonly id: string;
334
+ readonly variant: "Error" | "Info" | "Success" | "Warning";
335
+ readonly animation: {
336
+ readonly id: string;
337
+ readonly isShowing: boolean;
338
+ readonly transitionState: "Idle" | "EnterStart" | "EnterAnimating" | "LeaveStart" | "LeaveAnimating";
339
+ };
340
+ readonly maybeDuration: import("effect/Option").Option<import("effect/Duration").Duration>;
341
+ readonly pendingDismissVersion: number;
342
+ readonly isHovered: boolean;
343
+ readonly payload: A;
344
+ };
345
+ }, never, never>;
346
+ }>[], import("effect/Option").Option<{
347
+ readonly _tag: "DismissedToast";
348
+ readonly payload: A;
349
+ }>];
350
+ readonly show: (model: {
351
+ readonly id: string;
352
+ readonly defaultDuration: import("effect/Duration").Duration;
353
+ readonly entries: readonly {
354
+ readonly id: string;
355
+ readonly variant: "Error" | "Info" | "Success" | "Warning";
356
+ readonly animation: {
357
+ readonly id: string;
358
+ readonly isShowing: boolean;
359
+ readonly transitionState: "Idle" | "EnterStart" | "EnterAnimating" | "LeaveStart" | "LeaveAnimating";
360
+ };
361
+ readonly maybeDuration: import("effect/Option").Option<import("effect/Duration").Duration>;
362
+ readonly pendingDismissVersion: number;
363
+ readonly isHovered: boolean;
364
+ readonly payload: A;
365
+ }[];
366
+ readonly nextEntryKey: number;
367
+ }, input: Readonly<{
368
+ payload: A;
369
+ variant?: Variant;
370
+ duration?: import("effect/Duration").Input;
371
+ sticky?: boolean;
372
+ }>) => readonly [{
373
+ readonly id: string;
374
+ readonly defaultDuration: import("effect/Duration").Duration;
375
+ readonly entries: readonly {
376
+ readonly id: string;
377
+ readonly variant: "Error" | "Info" | "Success" | "Warning";
378
+ readonly animation: {
379
+ readonly id: string;
380
+ readonly isShowing: boolean;
381
+ readonly transitionState: "Idle" | "EnterStart" | "EnterAnimating" | "LeaveStart" | "LeaveAnimating";
382
+ };
383
+ readonly maybeDuration: import("effect/Option").Option<import("effect/Duration").Duration>;
384
+ readonly pendingDismissVersion: number;
385
+ readonly isHovered: boolean;
386
+ readonly payload: A;
387
+ }[];
388
+ readonly nextEntryKey: number;
389
+ }, readonly Readonly<{
390
+ name: string;
391
+ args?: Record<string, unknown>;
392
+ effect: import("effect/Effect").Effect<{
393
+ readonly _tag: "Dismissed";
394
+ readonly entryId: string;
395
+ } | {
396
+ readonly _tag: "DismissedAll";
397
+ } | {
398
+ readonly _tag: "ElapsedDuration";
399
+ readonly entryId: string;
400
+ readonly version: number;
401
+ } | {
402
+ readonly _tag: "HoveredEntry";
403
+ readonly entryId: string;
404
+ } | {
405
+ readonly _tag: "LeftEntry";
406
+ readonly entryId: string;
407
+ } | {
408
+ readonly _tag: "GotAnimationMessage";
409
+ readonly entryId: string;
410
+ readonly message: {
411
+ readonly _tag: "Showed";
412
+ } | {
413
+ readonly _tag: "Hid";
414
+ } | {
415
+ readonly _tag: "AdvancedAnimationFrame";
416
+ } | {
417
+ readonly _tag: "EndedAnimation";
418
+ };
419
+ } | {
420
+ readonly _tag: "Added";
421
+ readonly entry: {
422
+ readonly id: string;
423
+ readonly variant: "Error" | "Info" | "Success" | "Warning";
424
+ readonly animation: {
425
+ readonly id: string;
426
+ readonly isShowing: boolean;
427
+ readonly transitionState: "Idle" | "EnterStart" | "EnterAnimating" | "LeaveStart" | "LeaveAnimating";
428
+ };
429
+ readonly maybeDuration: import("effect/Option").Option<import("effect/Duration").Duration>;
430
+ readonly pendingDismissVersion: number;
431
+ readonly isHovered: boolean;
432
+ readonly payload: A;
433
+ };
434
+ }, never, never>;
435
+ }>[], import("effect/Option").Option<{
436
+ readonly _tag: "DismissedToast";
437
+ readonly payload: A;
438
+ }>];
439
+ readonly dismiss: (model: {
440
+ readonly id: string;
441
+ readonly defaultDuration: import("effect/Duration").Duration;
442
+ readonly entries: readonly {
443
+ readonly id: string;
444
+ readonly variant: "Error" | "Info" | "Success" | "Warning";
445
+ readonly animation: {
446
+ readonly id: string;
447
+ readonly isShowing: boolean;
448
+ readonly transitionState: "Idle" | "EnterStart" | "EnterAnimating" | "LeaveStart" | "LeaveAnimating";
449
+ };
450
+ readonly maybeDuration: import("effect/Option").Option<import("effect/Duration").Duration>;
451
+ readonly pendingDismissVersion: number;
452
+ readonly isHovered: boolean;
453
+ readonly payload: A;
454
+ }[];
455
+ readonly nextEntryKey: number;
456
+ }, entryId: string) => readonly [{
457
+ readonly id: string;
458
+ readonly defaultDuration: import("effect/Duration").Duration;
459
+ readonly entries: readonly {
460
+ readonly id: string;
461
+ readonly variant: "Error" | "Info" | "Success" | "Warning";
462
+ readonly animation: {
463
+ readonly id: string;
464
+ readonly isShowing: boolean;
465
+ readonly transitionState: "Idle" | "EnterStart" | "EnterAnimating" | "LeaveStart" | "LeaveAnimating";
466
+ };
467
+ readonly maybeDuration: import("effect/Option").Option<import("effect/Duration").Duration>;
468
+ readonly pendingDismissVersion: number;
469
+ readonly isHovered: boolean;
470
+ readonly payload: A;
471
+ }[];
472
+ readonly nextEntryKey: number;
473
+ }, readonly Readonly<{
474
+ name: string;
475
+ args?: Record<string, unknown>;
476
+ effect: import("effect/Effect").Effect<{
477
+ readonly _tag: "Dismissed";
478
+ readonly entryId: string;
479
+ } | {
480
+ readonly _tag: "DismissedAll";
481
+ } | {
482
+ readonly _tag: "ElapsedDuration";
483
+ readonly entryId: string;
484
+ readonly version: number;
485
+ } | {
486
+ readonly _tag: "HoveredEntry";
487
+ readonly entryId: string;
488
+ } | {
489
+ readonly _tag: "LeftEntry";
490
+ readonly entryId: string;
491
+ } | {
492
+ readonly _tag: "GotAnimationMessage";
493
+ readonly entryId: string;
494
+ readonly message: {
495
+ readonly _tag: "Showed";
496
+ } | {
497
+ readonly _tag: "Hid";
498
+ } | {
499
+ readonly _tag: "AdvancedAnimationFrame";
500
+ } | {
501
+ readonly _tag: "EndedAnimation";
502
+ };
503
+ } | {
504
+ readonly _tag: "Added";
505
+ readonly entry: {
506
+ readonly id: string;
507
+ readonly variant: "Error" | "Info" | "Success" | "Warning";
508
+ readonly animation: {
509
+ readonly id: string;
510
+ readonly isShowing: boolean;
511
+ readonly transitionState: "Idle" | "EnterStart" | "EnterAnimating" | "LeaveStart" | "LeaveAnimating";
512
+ };
513
+ readonly maybeDuration: import("effect/Option").Option<import("effect/Duration").Duration>;
514
+ readonly pendingDismissVersion: number;
515
+ readonly isHovered: boolean;
516
+ readonly payload: A;
517
+ };
518
+ }, never, never>;
519
+ }>[], import("effect/Option").Option<{
520
+ readonly _tag: "DismissedToast";
521
+ readonly payload: A;
522
+ }>];
523
+ readonly dismissAll: (model: {
524
+ readonly id: string;
525
+ readonly defaultDuration: import("effect/Duration").Duration;
526
+ readonly entries: readonly {
527
+ readonly id: string;
528
+ readonly variant: "Error" | "Info" | "Success" | "Warning";
529
+ readonly animation: {
530
+ readonly id: string;
531
+ readonly isShowing: boolean;
532
+ readonly transitionState: "Idle" | "EnterStart" | "EnterAnimating" | "LeaveStart" | "LeaveAnimating";
533
+ };
534
+ readonly maybeDuration: import("effect/Option").Option<import("effect/Duration").Duration>;
535
+ readonly pendingDismissVersion: number;
536
+ readonly isHovered: boolean;
537
+ readonly payload: A;
538
+ }[];
539
+ readonly nextEntryKey: number;
540
+ }) => readonly [{
541
+ readonly id: string;
542
+ readonly defaultDuration: import("effect/Duration").Duration;
543
+ readonly entries: readonly {
544
+ readonly id: string;
545
+ readonly variant: "Error" | "Info" | "Success" | "Warning";
546
+ readonly animation: {
547
+ readonly id: string;
548
+ readonly isShowing: boolean;
549
+ readonly transitionState: "Idle" | "EnterStart" | "EnterAnimating" | "LeaveStart" | "LeaveAnimating";
550
+ };
551
+ readonly maybeDuration: import("effect/Option").Option<import("effect/Duration").Duration>;
552
+ readonly pendingDismissVersion: number;
553
+ readonly isHovered: boolean;
554
+ readonly payload: A;
555
+ }[];
556
+ readonly nextEntryKey: number;
557
+ }, readonly Readonly<{
558
+ name: string;
559
+ args?: Record<string, unknown>;
560
+ effect: import("effect/Effect").Effect<{
561
+ readonly _tag: "Dismissed";
562
+ readonly entryId: string;
563
+ } | {
564
+ readonly _tag: "DismissedAll";
565
+ } | {
566
+ readonly _tag: "ElapsedDuration";
567
+ readonly entryId: string;
568
+ readonly version: number;
569
+ } | {
570
+ readonly _tag: "HoveredEntry";
571
+ readonly entryId: string;
572
+ } | {
573
+ readonly _tag: "LeftEntry";
574
+ readonly entryId: string;
575
+ } | {
576
+ readonly _tag: "GotAnimationMessage";
577
+ readonly entryId: string;
578
+ readonly message: {
579
+ readonly _tag: "Showed";
580
+ } | {
581
+ readonly _tag: "Hid";
582
+ } | {
583
+ readonly _tag: "AdvancedAnimationFrame";
584
+ } | {
585
+ readonly _tag: "EndedAnimation";
586
+ };
587
+ } | {
588
+ readonly _tag: "Added";
589
+ readonly entry: {
590
+ readonly id: string;
591
+ readonly variant: "Error" | "Info" | "Success" | "Warning";
592
+ readonly animation: {
593
+ readonly id: string;
594
+ readonly isShowing: boolean;
595
+ readonly transitionState: "Idle" | "EnterStart" | "EnterAnimating" | "LeaveStart" | "LeaveAnimating";
596
+ };
597
+ readonly maybeDuration: import("effect/Option").Option<import("effect/Duration").Duration>;
598
+ readonly pendingDismissVersion: number;
599
+ readonly isHovered: boolean;
600
+ readonly payload: A;
601
+ };
602
+ }, never, never>;
603
+ }>[], import("effect/Option").Option<{
604
+ readonly _tag: "DismissedToast";
605
+ readonly payload: A;
606
+ }>];
607
+ };
608
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/toast/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAc,MAAM,IAAI,CAAC,EAAE,MAAM,QAAQ,CAAA;AAChD,OAAO,EACL,KAAK,cAAc,EACnB,KAAK,IAAI,EAGV,MAAM,cAAc,CAAA;AAGrB,OAAO,EACL,SAAS,EACT,YAAY,EACZ,eAAe,EACf,mBAAmB,EACnB,YAAY,EACZ,SAAS,EACT,QAAQ,EACR,OAAO,EACR,MAAM,aAAa,CAAA;AACpB,OAAO,EAAE,YAAY,EAAe,MAAM,aAAa,CAAA;AAEvD,YAAY,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AAC7C,YAAY,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AAE5C,OAAO,EACL,OAAO,EACP,QAAQ,EACR,SAAS,EACT,YAAY,EACZ,eAAe,EACf,YAAY,EACZ,SAAS,EACT,mBAAmB,EACnB,YAAY,GACb,CAAA;AA0ED;;;;qDAIqD;AACrD,MAAM,MAAM,aAAa,GAAG,QAAQ,CAAC;IACnC,OAAO,EAAE,aAAa,CAAC,cAAc,CAAC,CAAA;CACvC,CAAC,CAAA;AAIF;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,eAAO,MAAM,IAAI,GAAI,CAAC,EAAE,CAAC,EAAE,eAAe,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBAUzC,QAAQ;qBACL,CAAC,KAAK;;;;;;;;;;;;SAAO,EAAE,QAAQ,EAAE,aAAa,KAAK,IAAI;oBAChD,MAAM;6BACG,MAAM;yBACV,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA2F1B,CAAA"}