foldkit 0.81.0 → 0.82.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 (200) hide show
  1. package/README.md +6 -4
  2. package/dist/calendar/calendarDate.d.ts +11 -11
  3. package/dist/calendar/calendarDate.d.ts.map +1 -1
  4. package/dist/calendar/calendarDate.js +14 -13
  5. package/dist/calendar/comparison.d.ts +3 -3
  6. package/dist/calendar/comparison.d.ts.map +1 -1
  7. package/dist/calendar/comparison.js +5 -5
  8. package/dist/calendar/info.d.ts +1 -1
  9. package/dist/calendar/info.d.ts.map +1 -1
  10. package/dist/calendar/info.js +9 -1
  11. package/dist/calendar/locale.d.ts +5 -5
  12. package/dist/calendar/locale.js +23 -2
  13. package/dist/command/index.d.ts +2 -2
  14. package/dist/command/index.d.ts.map +1 -1
  15. package/dist/devTools/overlay.d.ts.map +1 -1
  16. package/dist/devTools/overlay.js +49 -27
  17. package/dist/devTools/protocol.d.ts +192 -192
  18. package/dist/devTools/protocol.d.ts.map +1 -1
  19. package/dist/devTools/protocol.js +36 -12
  20. package/dist/devTools/serialize.d.ts.map +1 -1
  21. package/dist/devTools/serialize.js +4 -4
  22. package/dist/devTools/store.d.ts.map +1 -1
  23. package/dist/devTools/store.js +1 -2
  24. package/dist/devTools/submodelPath.d.ts +1 -1
  25. package/dist/devTools/summarize.d.ts +6 -6
  26. package/dist/devTools/summarize.d.ts.map +1 -1
  27. package/dist/devTools/summarize.js +6 -6
  28. package/dist/devTools/webSocketBridge.d.ts +1 -1
  29. package/dist/devTools/webSocketBridge.d.ts.map +1 -1
  30. package/dist/devTools/webSocketBridge.js +19 -18
  31. package/dist/fieldValidation/index.d.ts +11 -11
  32. package/dist/fieldValidation/index.d.ts.map +1 -1
  33. package/dist/fieldValidation/index.js +8 -7
  34. package/dist/file/error.d.ts +1 -1
  35. package/dist/file/file.d.ts +1 -1
  36. package/dist/file/file.js +1 -1
  37. package/dist/file/reader.d.ts +4 -4
  38. package/dist/file/reader.js +5 -5
  39. package/dist/file/select.js +1 -1
  40. package/dist/html/index.d.ts.map +1 -1
  41. package/dist/html/index.js +4 -3
  42. package/dist/html/lazy.d.ts.map +1 -1
  43. package/dist/html/lazy.js +6 -7
  44. package/dist/managedResource/index.d.ts +2 -2
  45. package/dist/managedResource/index.d.ts.map +1 -1
  46. package/dist/managedResource/index.js +2 -2
  47. package/dist/mount/index.d.ts +1 -1
  48. package/dist/mount/index.d.ts.map +1 -1
  49. package/dist/route/parser.d.ts +2 -2
  50. package/dist/route/parser.d.ts.map +1 -1
  51. package/dist/route/parser.js +5 -5
  52. package/dist/runtime/browserListeners.d.ts.map +1 -1
  53. package/dist/runtime/browserListeners.js +6 -7
  54. package/dist/runtime/deepFreeze.d.ts +1 -1
  55. package/dist/runtime/deepFreeze.js +2 -2
  56. package/dist/runtime/hmrProtocol.d.ts +22 -0
  57. package/dist/runtime/hmrProtocol.d.ts.map +1 -0
  58. package/dist/runtime/hmrProtocol.js +15 -0
  59. package/dist/runtime/hmrProtocolPublic.d.ts +2 -0
  60. package/dist/runtime/hmrProtocolPublic.d.ts.map +1 -0
  61. package/dist/runtime/hmrProtocolPublic.js +1 -0
  62. package/dist/runtime/runtime.d.ts +10 -7
  63. package/dist/runtime/runtime.d.ts.map +1 -1
  64. package/dist/runtime/runtime.js +116 -114
  65. package/dist/runtime/subscription.d.ts +5 -5
  66. package/dist/runtime/subscription.d.ts.map +1 -1
  67. package/dist/runtime/urlRequest.d.ts +15 -15
  68. package/dist/runtime/urlRequest.d.ts.map +1 -1
  69. package/dist/runtime/urlRequest.js +1 -1
  70. package/dist/schema/index.d.ts +3 -3
  71. package/dist/schema/index.d.ts.map +1 -1
  72. package/dist/schema/index.js +10 -4
  73. package/dist/task/dom.js +1 -1
  74. package/dist/task/elementMovement.js +1 -1
  75. package/dist/task/error.d.ts +2 -2
  76. package/dist/task/inert.d.ts.map +1 -1
  77. package/dist/task/inert.js +4 -7
  78. package/dist/task/time.d.ts +1 -1
  79. package/dist/task/time.js +1 -1
  80. package/dist/task/timing.d.ts +1 -1
  81. package/dist/task/timing.d.ts.map +1 -1
  82. package/dist/task/timing.js +2 -2
  83. package/dist/test/apps/bubbling.d.ts +3 -3
  84. package/dist/test/apps/bubbling.d.ts.map +1 -1
  85. package/dist/test/apps/bubbling.js +1 -1
  86. package/dist/test/apps/counter.d.ts +6 -6
  87. package/dist/test/apps/counter.d.ts.map +1 -1
  88. package/dist/test/apps/counter.js +7 -1
  89. package/dist/test/apps/disabledButton.d.ts +11 -11
  90. package/dist/test/apps/disabledButton.d.ts.map +1 -1
  91. package/dist/test/apps/disabledButton.js +1 -1
  92. package/dist/test/apps/fileUpload.d.ts +4 -4
  93. package/dist/test/apps/fileUpload.d.ts.map +1 -1
  94. package/dist/test/apps/fileUpload.js +1 -1
  95. package/dist/test/apps/formChild.d.ts +16 -16
  96. package/dist/test/apps/formChild.d.ts.map +1 -1
  97. package/dist/test/apps/formChild.js +9 -4
  98. package/dist/test/apps/interactions.d.ts +8 -8
  99. package/dist/test/apps/interactions.d.ts.map +1 -1
  100. package/dist/test/apps/interactions.js +8 -1
  101. package/dist/test/apps/keypress.d.ts +7 -7
  102. package/dist/test/apps/keypress.d.ts.map +1 -1
  103. package/dist/test/apps/keypress.js +1 -1
  104. package/dist/test/apps/login.d.ts +14 -14
  105. package/dist/test/apps/login.d.ts.map +1 -1
  106. package/dist/test/apps/login.js +9 -2
  107. package/dist/test/apps/logoutButton.d.ts +3 -3
  108. package/dist/test/apps/logoutButton.d.ts.map +1 -1
  109. package/dist/test/apps/logoutButton.js +2 -2
  110. package/dist/test/apps/multiRole.d.ts +2 -2
  111. package/dist/test/apps/multiRole.d.ts.map +1 -1
  112. package/dist/test/apps/multiRole.js +1 -1
  113. package/dist/test/apps/pointer.d.ts +6 -6
  114. package/dist/test/apps/pointer.d.ts.map +1 -1
  115. package/dist/test/apps/pointer.js +1 -1
  116. package/dist/test/apps/resumeUpload.d.ts +8 -8
  117. package/dist/test/apps/resumeUpload.d.ts.map +1 -1
  118. package/dist/test/apps/resumeUpload.js +12 -5
  119. package/dist/test/internal.js +10 -10
  120. package/dist/test/matchers.js +1 -1
  121. package/dist/test/query.d.ts.map +1 -1
  122. package/dist/test/query.js +13 -13
  123. package/dist/test/scene.d.ts.map +1 -1
  124. package/dist/test/scene.js +3 -3
  125. package/dist/test/story.js +1 -1
  126. package/dist/ui/animation/schema.d.ts +5 -5
  127. package/dist/ui/animation/schema.d.ts.map +1 -1
  128. package/dist/ui/animation/schema.js +9 -3
  129. package/dist/ui/calendar/index.d.ts +77 -77
  130. package/dist/ui/calendar/index.d.ts.map +1 -1
  131. package/dist/ui/calendar/index.js +26 -11
  132. package/dist/ui/checkbox/index.d.ts +2 -2
  133. package/dist/ui/combobox/multi.d.ts +38 -42
  134. package/dist/ui/combobox/multi.d.ts.map +1 -1
  135. package/dist/ui/combobox/multi.js +4 -1
  136. package/dist/ui/combobox/shared.d.ts +31 -31
  137. package/dist/ui/combobox/shared.d.ts.map +1 -1
  138. package/dist/ui/combobox/shared.js +34 -12
  139. package/dist/ui/combobox/single.d.ts +39 -43
  140. package/dist/ui/combobox/single.d.ts.map +1 -1
  141. package/dist/ui/combobox/single.js +7 -6
  142. package/dist/ui/datePicker/index.d.ts +86 -86
  143. package/dist/ui/datePicker/index.d.ts.map +1 -1
  144. package/dist/ui/datePicker/index.js +10 -3
  145. package/dist/ui/dialog/index.d.ts +8 -8
  146. package/dist/ui/dialog/index.d.ts.map +1 -1
  147. package/dist/ui/dialog/index.js +9 -3
  148. package/dist/ui/disclosure/index.d.ts +2 -2
  149. package/dist/ui/disclosure/index.d.ts.map +1 -1
  150. package/dist/ui/disclosure/index.js +1 -1
  151. package/dist/ui/dragAndDrop/index.d.ts +76 -76
  152. package/dist/ui/dragAndDrop/index.d.ts.map +1 -1
  153. package/dist/ui/dragAndDrop/index.js +47 -29
  154. package/dist/ui/fileDrop/index.d.ts +8 -8
  155. package/dist/ui/fileDrop/index.d.ts.map +1 -1
  156. package/dist/ui/fileDrop/index.js +7 -2
  157. package/dist/ui/listbox/multi.d.ts +36 -40
  158. package/dist/ui/listbox/multi.d.ts.map +1 -1
  159. package/dist/ui/listbox/multi.js +4 -1
  160. package/dist/ui/listbox/shared.d.ts +32 -32
  161. package/dist/ui/listbox/shared.d.ts.map +1 -1
  162. package/dist/ui/listbox/shared.js +36 -11
  163. package/dist/ui/listbox/single.d.ts +36 -40
  164. package/dist/ui/listbox/single.d.ts.map +1 -1
  165. package/dist/ui/listbox/single.js +5 -2
  166. package/dist/ui/menu/index.d.ts +40 -40
  167. package/dist/ui/menu/index.d.ts.map +1 -1
  168. package/dist/ui/menu/index.js +38 -11
  169. package/dist/ui/popover/index.d.ts +12 -12
  170. package/dist/ui/popover/index.d.ts.map +1 -1
  171. package/dist/ui/popover/index.js +17 -2
  172. package/dist/ui/radioGroup/index.d.ts +6 -6
  173. package/dist/ui/radioGroup/index.d.ts.map +1 -1
  174. package/dist/ui/radioGroup/index.js +5 -5
  175. package/dist/ui/slider/index.d.ts +26 -26
  176. package/dist/ui/slider/index.d.ts.map +1 -1
  177. package/dist/ui/slider/index.js +30 -16
  178. package/dist/ui/switch/index.d.ts +2 -2
  179. package/dist/ui/tabs/index.d.ts +8 -8
  180. package/dist/ui/tabs/index.d.ts.map +1 -1
  181. package/dist/ui/tabs/index.js +3 -3
  182. package/dist/ui/toast/index.d.ts +75 -75
  183. package/dist/ui/toast/index.d.ts.map +1 -1
  184. package/dist/ui/toast/index.js +1 -1
  185. package/dist/ui/toast/schema.d.ts +63 -63
  186. package/dist/ui/toast/schema.d.ts.map +1 -1
  187. package/dist/ui/toast/schema.js +19 -4
  188. package/dist/ui/toast/update.d.ts +67 -67
  189. package/dist/ui/toast/update.d.ts.map +1 -1
  190. package/dist/ui/toast/update.js +2 -2
  191. package/dist/ui/tooltip/index.d.ts +15 -15
  192. package/dist/ui/tooltip/index.d.ts.map +1 -1
  193. package/dist/ui/tooltip/index.js +14 -4
  194. package/dist/ui/virtualList/index.d.ts +16 -16
  195. package/dist/ui/virtualList/index.d.ts.map +1 -1
  196. package/dist/ui/virtualList/index.js +46 -42
  197. package/dist/url/index.d.ts +8 -8
  198. package/dist/url/index.d.ts.map +1 -1
  199. package/dist/url/index.js +14 -14
  200. package/package.json +11 -7
@@ -2,19 +2,19 @@ import { Schema as S } from 'effect';
2
2
  import * as Command from '../../command/index.js';
3
3
  import { type Attribute, type Html } from '../../html/index.js';
4
4
  /** Controls the radio group layout direction and which arrow keys navigate between options. */
5
- export declare const Orientation: S.Literal<["Horizontal", "Vertical"]>;
5
+ export declare const Orientation: S.Literals<readonly ["Horizontal", "Vertical"]>;
6
6
  export type Orientation = typeof Orientation.Type;
7
7
  /** Schema for the radio group component's state, tracking the selected value and orientation. */
8
8
  export declare const Model: S.Struct<{
9
- id: typeof S.String;
10
- selectedValue: S.OptionFromSelf<typeof S.String>;
11
- orientation: S.Literal<["Horizontal", "Vertical"]>;
9
+ readonly id: S.String;
10
+ readonly selectedValue: S.Option<S.String>;
11
+ readonly orientation: S.Literals<readonly ["Horizontal", "Vertical"]>;
12
12
  }>;
13
13
  export type Model = typeof Model.Type;
14
14
  /** Sent when a radio option is selected via click or keyboard navigation. */
15
15
  export declare const SelectedOption: import("../../schema/index.js").CallableTaggedStruct<"SelectedOption", {
16
- value: typeof S.String;
17
- index: typeof S.Number;
16
+ value: S.String;
17
+ index: S.Number;
18
18
  }>;
19
19
  /** Sent when the focus-option command completes. */
20
20
  export declare const CompletedFocusOption: import("../../schema/index.js").CallableTaggedStruct<"CompletedFocusOption", {}>;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/ui/radioGroup/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/ui/radioGroup/index.ts"],"names":[],"mappings":"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"}
@@ -7,11 +7,11 @@ import * as Task from '../../task/index.js';
7
7
  import { keyToIndex } from '../keyboard.js';
8
8
  // MODEL
9
9
  /** Controls the radio group layout direction and which arrow keys navigate between options. */
10
- export const Orientation = S.Literal('Horizontal', 'Vertical');
10
+ export const Orientation = S.Literals(['Horizontal', 'Vertical']);
11
11
  /** Schema for the radio group component's state, tracking the selected value and orientation. */
12
12
  export const Model = S.Struct({
13
13
  id: S.String,
14
- selectedValue: S.OptionFromSelf(S.String),
14
+ selectedValue: S.Option(S.String),
15
15
  orientation: Orientation,
16
16
  });
17
17
  // MESSAGE
@@ -23,11 +23,11 @@ export const SelectedOption = m('SelectedOption', {
23
23
  /** Sent when the focus-option command completes. */
24
24
  export const CompletedFocusOption = m('CompletedFocusOption');
25
25
  /** Union of all messages the radio group component can produce. */
26
- export const Message = S.Union(SelectedOption, CompletedFocusOption);
26
+ export const Message = S.Union([SelectedOption, CompletedFocusOption]);
27
27
  /** Creates an initial radio group model from a config. Defaults to no selection and vertical orientation. */
28
28
  export const init = (config) => ({
29
29
  id: config.id,
30
- selectedValue: Option.fromNullable(config.selectedValue),
30
+ selectedValue: Option.fromNullishOr(config.selectedValue),
31
31
  orientation: config.orientation ?? 'Vertical',
32
32
  });
33
33
  // UPDATE
@@ -137,7 +137,7 @@ export const view = (config) => {
137
137
  description: descriptionAttributes,
138
138
  });
139
139
  });
140
- const hiddenInputs = pipe(name, Option.fromNullable, Option.flatMap(inputName => pipe(selectedValue, Option.map(value => input([Type('hidden'), Name(inputName), Value(value)])))), Option.match({
140
+ const hiddenInputs = pipe(name, Option.fromNullishOr, Option.flatMap(inputName => pipe(selectedValue, Option.map(value => input([Type('hidden'), Name(inputName), Value(value)])))), Option.match({
141
141
  onNone: () => [],
142
142
  onSome: hiddenInput => [hiddenInput],
143
143
  }));
@@ -4,13 +4,13 @@ import { type Attribute, type Html } from '../../html/index.js';
4
4
  /** Schema for the slider component's state. Tracks the current value, the
5
5
  * range (min/max/step), and the active drag phase. */
6
6
  export declare const Model: S.Struct<{
7
- id: typeof S.String;
8
- value: typeof S.Number;
9
- min: typeof S.Number;
10
- max: typeof S.Number;
11
- step: typeof S.Number;
12
- dragState: S.Union<[import("../../schema/index.js").CallableTaggedStruct<"Idle", {}>, import("../../schema/index.js").CallableTaggedStruct<"Dragging", {
13
- originValue: typeof S.Number;
7
+ readonly id: S.String;
8
+ readonly value: S.Number;
9
+ readonly min: S.Number;
10
+ readonly max: S.Number;
11
+ readonly step: S.Number;
12
+ readonly dragState: S.Union<readonly [import("../../schema/index.js").CallableTaggedStruct<"Idle", {}>, import("../../schema/index.js").CallableTaggedStruct<"Dragging", {
13
+ originValue: S.Number;
14
14
  }>]>;
15
15
  }>;
16
16
  export type Model = typeof Model.Type;
@@ -20,12 +20,12 @@ export declare const PressedThumb: import("../../schema/index.js").CallableTagge
20
20
  * cursor position. Ignored while already dragging, which absorbs the bubble
21
21
  * from a thumb press so the value is not shifted. */
22
22
  export declare const PressedPointer: import("../../schema/index.js").CallableTaggedStruct<"PressedPointer", {
23
- value: typeof S.Number;
23
+ value: S.Number;
24
24
  }>;
25
25
  /** The pointer moved during a drag, producing a new snapped value from the
26
26
  * cursor position within the track. */
27
27
  export declare const MovedDragPointer: import("../../schema/index.js").CallableTaggedStruct<"MovedDragPointer", {
28
- value: typeof S.Number;
28
+ value: S.Number;
29
29
  }>;
30
30
  /** The pointer was released during a drag. Commits the current value. */
31
31
  export declare const ReleasedDragPointer: import("../../schema/index.js").CallableTaggedStruct<"ReleasedDragPointer", {}>;
@@ -33,7 +33,7 @@ export declare const ReleasedDragPointer: import("../../schema/index.js").Callab
33
33
  export declare const CancelledDrag: import("../../schema/index.js").CallableTaggedStruct<"CancelledDrag", {}>;
34
34
  /** The user pressed a keyboard navigation key on the focused thumb. */
35
35
  export declare const PressedKeyboardNavigation: import("../../schema/index.js").CallableTaggedStruct<"PressedKeyboardNavigation", {
36
- direction: S.Literal<["StepDecrement", "StepIncrement", "PageDecrement", "PageIncrement", "Min", "Max"]>;
36
+ direction: S.Literals<readonly ["StepDecrement", "StepIncrement", "PageDecrement", "PageIncrement", "Min", "Max"]>;
37
37
  }>;
38
38
  /** Union of all messages the slider component can produce. */
39
39
  export declare const Message: S.Union<[
@@ -54,11 +54,11 @@ export type PressedKeyboardNavigation = typeof PressedKeyboardNavigation.Type;
54
54
  /** Emitted when the slider value changes. The parent uses this to react to
55
55
  * value updates — e.g. to run validation or trigger a side effect. */
56
56
  export declare const ChangedValue: import("../../schema/index.js").CallableTaggedStruct<"ChangedValue", {
57
- value: typeof S.Number;
57
+ value: S.Number;
58
58
  }>;
59
59
  /** Union of all out-messages the slider component can emit to its parent. */
60
60
  export declare const OutMessage: import("../../schema/index.js").CallableTaggedStruct<"ChangedValue", {
61
- value: typeof S.Number;
61
+ value: S.Number;
62
62
  }>;
63
63
  export type OutMessage = typeof OutMessage.Type;
64
64
  /** Configuration for creating a slider model with `init`. */
@@ -86,14 +86,14 @@ export declare const update: (model: Model, message: Message) => UpdateReturn;
86
86
  /** Schema describing the subscription dependencies for document-level drag
87
87
  * tracking. */
88
88
  export declare const SubscriptionDeps: S.Struct<{
89
- documentPointer: S.Struct<{
90
- dragActivity: S.Literal<["Idle", "Active"]>;
91
- id: typeof S.String;
92
- min: typeof S.Number;
93
- max: typeof S.Number;
89
+ readonly documentPointer: S.Struct<{
90
+ readonly dragActivity: S.Literals<readonly ["Idle", "Active"]>;
91
+ readonly id: S.String;
92
+ readonly min: S.Number;
93
+ readonly max: S.Number;
94
94
  }>;
95
- documentEscape: S.Struct<{
96
- dragActivity: S.Literal<["Idle", "Active"]>;
95
+ readonly documentEscape: S.Struct<{
96
+ readonly dragActivity: S.Literals<readonly ["Idle", "Active"]>;
97
97
  }>;
98
98
  }>;
99
99
  /** Document-level subscriptions for pointer and keyboard events during slider
@@ -126,14 +126,14 @@ export declare const subscriptions: import("../../runtime/subscription.js").Subs
126
126
  readonly _tag: "PressedKeyboardNavigation";
127
127
  readonly direction: "Max" | "Min" | "StepDecrement" | "StepIncrement" | "PageDecrement" | "PageIncrement";
128
128
  }, S.Struct<{
129
- documentPointer: S.Struct<{
130
- dragActivity: S.Literal<["Idle", "Active"]>;
131
- id: typeof S.String;
132
- min: typeof S.Number;
133
- max: typeof S.Number;
129
+ readonly documentPointer: S.Struct<{
130
+ readonly dragActivity: S.Literals<readonly ["Idle", "Active"]>;
131
+ readonly id: S.String;
132
+ readonly min: S.Number;
133
+ readonly max: S.Number;
134
134
  }>;
135
- documentEscape: S.Struct<{
136
- dragActivity: S.Literal<["Idle", "Active"]>;
135
+ readonly documentEscape: S.Struct<{
136
+ readonly dragActivity: S.Literals<readonly ["Idle", "Active"]>;
137
137
  }>;
138
138
  }>, never>;
139
139
  /** Attribute groups the slider component provides to the consumer's `toView`
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/ui/slider/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/ui/slider/index.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { Effect, Equal, Function, Match as M, Option, Schema as S, Stream, String as String_, pipe, } from 'effect';
1
+ import { Effect, Equal, Match as M, Option, Schema as S, Stream, String as String_, pipe, } from 'effect';
2
2
  import { createLazy, html, } from '../../html/index.js';
3
3
  import { m } from '../../message/index.js';
4
4
  import { makeSubscriptions } from '../../runtime/subscription.js';
@@ -7,7 +7,7 @@ import { evo } from '../../struct/index.js';
7
7
  // MODEL
8
8
  const Idle = ts('Idle');
9
9
  const Dragging = ts('Dragging', { originValue: S.Number });
10
- const DragState = S.Union(Idle, Dragging);
10
+ const DragState = S.Union([Idle, Dragging]);
11
11
  /** Schema for the slider component's state. Tracks the current value, the
12
12
  * range (min/max/step), and the active drag phase. */
13
13
  export const Model = S.Struct({
@@ -34,10 +34,24 @@ export const ReleasedDragPointer = m('ReleasedDragPointer');
34
34
  export const CancelledDrag = m('CancelledDrag');
35
35
  /** The user pressed a keyboard navigation key on the focused thumb. */
36
36
  export const PressedKeyboardNavigation = m('PressedKeyboardNavigation', {
37
- direction: S.Literal('StepDecrement', 'StepIncrement', 'PageDecrement', 'PageIncrement', 'Min', 'Max'),
37
+ direction: S.Literals([
38
+ 'StepDecrement',
39
+ 'StepIncrement',
40
+ 'PageDecrement',
41
+ 'PageIncrement',
42
+ 'Min',
43
+ 'Max',
44
+ ]),
38
45
  });
39
46
  /** Union of all messages the slider component can produce. */
40
- export const Message = S.Union(PressedThumb, PressedPointer, MovedDragPointer, ReleasedDragPointer, CancelledDrag, PressedKeyboardNavigation);
47
+ export const Message = S.Union([
48
+ PressedThumb,
49
+ PressedPointer,
50
+ MovedDragPointer,
51
+ ReleasedDragPointer,
52
+ CancelledDrag,
53
+ PressedKeyboardNavigation,
54
+ ]);
41
55
  // OUT MESSAGE
42
56
  /** Emitted when the slider value changes. The parent uses this to react to
43
57
  * value updates — e.g. to run validation or trigger a side effect. */
@@ -139,9 +153,9 @@ export const update = (model, message) => M.value(message).pipe(withUpdateReturn
139
153
  PressedKeyboardNavigation: ({ direction }) => withValue(model, nextValueForDirection(model, direction), []),
140
154
  }));
141
155
  // SUBSCRIPTION
142
- const DragActivity = S.Literal('Idle', 'Active');
156
+ const DragActivity = S.Literals(['Idle', 'Active']);
143
157
  const dragActivityFromModel = (model) => M.value(model.dragState).pipe(M.withReturnType(), M.tag('Dragging', () => 'Active'), M.orElse(() => 'Idle'));
144
- const trackElement = (id) => Option.fromNullable(document.querySelector(`[data-slider-track-id="${id}"]`));
158
+ const trackElement = (id) => Option.fromNullishOr(document.querySelector(`[data-slider-track-id="${id}"]`));
145
159
  const valueFromClientX = (clientX, trackElement_, min, max) => {
146
160
  const rect = trackElement_.getBoundingClientRect();
147
161
  if (rect.width === 0) {
@@ -178,29 +192,29 @@ export const subscriptions = makeSubscriptions(SubscriptionDeps)({
178
192
  dependenciesToStream: ({ dragActivity, id, min, max }) => {
179
193
  const pointerEvents = Stream.merge(Stream.fromEventListener(document, 'pointermove').pipe(Stream.mapEffect(event => Effect.sync(() => Option.map(trackElement(id), element => MovedDragPointer({
180
194
  value: valueFromClientX(event.clientX, element, min, max),
181
- })))), Stream.filterMap(Function.identity)), Stream.fromEventListener(document, 'pointerup').pipe(Stream.map(() => ReleasedDragPointer())));
195
+ })))), Stream.filter(Option.isSome), Stream.map(option => option.value)), Stream.fromEventListener(document, 'pointerup').pipe(Stream.map(() => ReleasedDragPointer())));
182
196
  // NOTE: prevents text selection and locks cursor to grabbing while the
183
197
  // user drags the thumb. Matches the approach used in drag-and-drop.
184
- const documentDragStyles = Stream.async(_emit => {
198
+ const documentDragStyles = Stream.callback(() => Effect.acquireRelease(Effect.sync(() => {
185
199
  document.documentElement.style.setProperty('user-select', 'none');
186
200
  document.documentElement.style.setProperty('-webkit-user-select', 'none');
187
201
  const cursorStyle = document.createElement('style');
188
202
  cursorStyle.textContent = '* { cursor: grabbing !important; }';
189
203
  document.head.appendChild(cursorStyle);
190
- return Effect.sync(() => {
191
- document.documentElement.style.removeProperty('user-select');
192
- document.documentElement.style.removeProperty('-webkit-user-select');
193
- cursorStyle.remove();
194
- });
195
- });
196
- return Stream.when(Stream.merge(pointerEvents, documentDragStyles), () => dragActivity === 'Active');
204
+ return cursorStyle;
205
+ }), cursorStyle => Effect.sync(() => {
206
+ document.documentElement.style.removeProperty('user-select');
207
+ document.documentElement.style.removeProperty('-webkit-user-select');
208
+ cursorStyle.remove();
209
+ })).pipe(Effect.flatMap(() => Effect.never)));
210
+ return Stream.when(Stream.merge(pointerEvents, documentDragStyles), Effect.sync(() => dragActivity === 'Active'));
197
211
  },
198
212
  },
199
213
  documentEscape: {
200
214
  modelToDependencies: model => ({
201
215
  dragActivity: dragActivityFromModel(model),
202
216
  }),
203
- dependenciesToStream: ({ dragActivity }) => Stream.when(Stream.fromEventListener(document, 'keydown').pipe(Stream.filter(({ key }) => key === 'Escape'), Stream.map(() => CancelledDrag())), () => dragActivity === 'Active'),
217
+ dependenciesToStream: ({ dragActivity }) => Stream.when(Stream.fromEventListener(document, 'keydown').pipe(Stream.filter(({ key }) => key === 'Escape'), Stream.map(() => CancelledDrag())), Effect.sync(() => dragActivity === 'Active')),
204
218
  },
205
219
  });
206
220
  // VIEW
@@ -3,8 +3,8 @@ import type { Command } from '../../command/index.js';
3
3
  import { type Attribute, type Html } from '../../html/index.js';
4
4
  /** Schema for the switch component's state, tracking the toggle's checked status. */
5
5
  export declare const Model: S.Struct<{
6
- id: typeof S.String;
7
- isChecked: typeof S.Boolean;
6
+ readonly id: S.String;
7
+ readonly isChecked: S.Boolean;
8
8
  }>;
9
9
  export type Model = typeof Model.Type;
10
10
  /** Sent when the user toggles the switch via click or Space key. */
@@ -3,26 +3,26 @@ import * as Command from '../../command/index.js';
3
3
  import { type Attribute, type Html, type TagName } from '../../html/index.js';
4
4
  export { wrapIndex, findFirstEnabledIndex, keyToIndex } from '../keyboard.js';
5
5
  /** Controls the tab list layout direction and which arrow keys navigate between tabs. */
6
- export declare const Orientation: S.Literal<["Horizontal", "Vertical"]>;
6
+ export declare const Orientation: S.Literals<readonly ["Horizontal", "Vertical"]>;
7
7
  export type Orientation = typeof Orientation.Type;
8
8
  /** Controls whether tabs activate on focus (`Automatic`) or require an explicit selection (`Manual`). */
9
- export declare const ActivationMode: S.Literal<["Automatic", "Manual"]>;
9
+ export declare const ActivationMode: S.Literals<readonly ["Automatic", "Manual"]>;
10
10
  export type ActivationMode = typeof ActivationMode.Type;
11
11
  /** Schema for the tabs component's state, tracking active/focused indices and activation mode. */
12
12
  export declare const Model: S.Struct<{
13
- id: typeof S.String;
14
- activeIndex: typeof S.Number;
15
- focusedIndex: typeof S.Number;
16
- activationMode: S.Literal<["Automatic", "Manual"]>;
13
+ readonly id: S.String;
14
+ readonly activeIndex: S.Number;
15
+ readonly focusedIndex: S.Number;
16
+ readonly activationMode: S.Literals<readonly ["Automatic", "Manual"]>;
17
17
  }>;
18
18
  export type Model = typeof Model.Type;
19
19
  /** Sent when a tab is selected via click or keyboard. Updates both the active and focused indices. */
20
20
  export declare const TabSelected: import("../../schema/index.js").CallableTaggedStruct<"TabSelected", {
21
- index: typeof S.Number;
21
+ index: S.Number;
22
22
  }>;
23
23
  /** Sent when a tab receives keyboard focus in `Manual` mode without being activated. */
24
24
  export declare const TabFocused: import("../../schema/index.js").CallableTaggedStruct<"TabFocused", {
25
- index: typeof S.Number;
25
+ index: S.Number;
26
26
  }>;
27
27
  /** Sent when the focus-tab command completes. */
28
28
  export declare const CompletedFocusTab: import("../../schema/index.js").CallableTaggedStruct<"CompletedFocusTab", {}>;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/ui/tabs/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/ui/tabs/index.ts"],"names":[],"mappings":"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"}
@@ -8,9 +8,9 @@ import { keyToIndex } from '../keyboard.js';
8
8
  export { wrapIndex, findFirstEnabledIndex, keyToIndex } from '../keyboard.js';
9
9
  // MODEL
10
10
  /** Controls the tab list layout direction and which arrow keys navigate between tabs. */
11
- export const Orientation = S.Literal('Horizontal', 'Vertical');
11
+ export const Orientation = S.Literals(['Horizontal', 'Vertical']);
12
12
  /** Controls whether tabs activate on focus (`Automatic`) or require an explicit selection (`Manual`). */
13
- export const ActivationMode = S.Literal('Automatic', 'Manual');
13
+ export const ActivationMode = S.Literals(['Automatic', 'Manual']);
14
14
  /** Schema for the tabs component's state, tracking active/focused indices and activation mode. */
15
15
  export const Model = S.Struct({
16
16
  id: S.String,
@@ -26,7 +26,7 @@ export const TabFocused = m('TabFocused', { index: S.Number });
26
26
  /** Sent when the focus-tab command completes. */
27
27
  export const CompletedFocusTab = m('CompletedFocusTab');
28
28
  /** Union of all messages the tabs component can produce. */
29
- export const Message = S.Union(TabSelected, TabFocused, CompletedFocusTab);
29
+ export const Message = S.Union([TabSelected, TabFocused, CompletedFocusTab]);
30
30
  /** Creates an initial tabs model from a config. Defaults to first tab and automatic activation. */
31
31
  export const init = (config) => {
32
32
  const activeIndex = config.activeIndex ?? 0;