foldkit 0.27.0 → 0.29.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.
package/README.md CHANGED
@@ -161,7 +161,7 @@ This is what makes Foldkit unusually AI-friendly. The same property that makes t
161
161
  - **[Shopping Cart](https://github.com/devinjameson/foldkit/blob/main/examples/shopping-cart/src/main.ts)** — Nested models and complex state
162
162
  - **[Snake](https://github.com/devinjameson/foldkit/blob/main/examples/snake/src/main.ts)** — Classic game built with Subscriptions
163
163
  - **[WebSocket Chat](https://github.com/devinjameson/foldkit/blob/main/examples/websocket-chat/src/main.ts)** — Managed Resources with WebSocket integration
164
- - **[Auth](https://github.com/devinjameson/foldkit/blob/main/examples/auth/src/main.ts)** — Authentication flow with model-as-union
164
+ - **[Auth](https://github.com/devinjameson/foldkit/blob/main/examples/auth/src/main.ts)** — Authentication flow with Submodels and OutMessage
165
165
  - **[Query Sync](https://github.com/devinjameson/foldkit/blob/main/examples/query-sync/src/main.ts)** — URL query parameter sync with filtering and sorting
166
166
  - **[Error View](https://github.com/devinjameson/foldkit/blob/main/examples/error-view/src/main.ts)** — Custom error fallback UI
167
167
  - **[Typing Game](https://github.com/devinjameson/foldkit/tree/main/packages/typing-game)** — Multiplayer typing game with Effect RPC backend
@@ -271,7 +271,7 @@ export type Attribute<Message> = Data.TaggedEnum<{
271
271
  readonly value: boolean;
272
272
  };
273
273
  AriaChecked: {
274
- readonly value: boolean;
274
+ readonly value: boolean | 'mixed';
275
275
  };
276
276
  AriaDisabled: {
277
277
  readonly value: boolean;
@@ -823,9 +823,9 @@ export declare const html: <Message>() => {
823
823
  readonly _tag: "AriaSelected";
824
824
  readonly value: boolean;
825
825
  };
826
- AriaChecked: (value: boolean) => {
826
+ AriaChecked: (value: boolean | "mixed") => {
827
827
  readonly _tag: "AriaChecked";
828
- readonly value: boolean;
828
+ readonly value: boolean | "mixed";
829
829
  };
830
830
  AriaDisabled: (value: boolean) => {
831
831
  readonly _tag: "AriaDisabled";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/html/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/html/index.ts"],"names":[],"mappings":"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"}
@@ -32,18 +32,22 @@ export type Biparser<A> = {
32
32
  parse: (segments: ReadonlyArray<string>, search?: string) => Effect.Effect<ParseResult<A>, ParseError>;
33
33
  print: (value: A, state: PrintState) => Effect.Effect<PrintState, ParseError>;
34
34
  };
35
+ type BuildFn<A> = A extends {
36
+ _tag: string;
37
+ } ? keyof Omit<A, '_tag'> extends never ? (value?: Omit<A, '_tag'>) => string : (value: Omit<A, '_tag'>) => string : never;
35
38
  /**
36
39
  * A parser with a `build` method that can reconstruct URLs from parsed values.
37
40
  *
38
41
  * Created by applying `mapTo` to a `Biparser`, binding it to a tagged
39
42
  * type constructor so parsed values carry a discriminant tag and URLs can be
40
43
  * built from tag payloads.
44
+ *
45
+ * Routers are callable — `homeRouter()` or `personRouter({ id: 42 })` —
46
+ * and also expose `.build` as an alias and `.parse` for URL matching.
41
47
  */
42
- export type Router<A> = {
48
+ export type Router<A> = BuildFn<A> & {
43
49
  parse: (segments: ReadonlyArray<string>, search?: string) => Effect.Effect<ParseResult<A>, ParseError>;
44
- build: (value: A extends {
45
- _tag: string;
46
- } ? Omit<A, '_tag'> : never) => string;
50
+ build: BuildFn<A>;
47
51
  };
48
52
  /**
49
53
  * A `Biparser` that has been terminated (e.g. by `query`) and cannot
@@ -104,22 +108,15 @@ export declare const root: Biparser<{}>;
104
108
  export type Parser<A> = {
105
109
  parse: (segments: ReadonlyArray<string>, search?: string) => Effect.Effect<ParseResult<A>, ParseError>;
106
110
  };
111
+ type ParserInput = Biparser<any> | Parser<any>;
112
+ type InferParsed<P> = P extends Biparser<infer A> ? A : P extends Parser<infer A> ? A : never;
107
113
  /**
108
114
  * Combines multiple parsers, trying each in order until one succeeds.
109
115
  *
110
116
  * Returns a `Parser` (parse-only) since the union of different route
111
117
  * shapes cannot provide a single unified print function.
112
118
  */
113
- export declare function oneOf<A>(p1: Biparser<A> | Parser<A>): Parser<A>;
114
- export declare function oneOf<A, B = never>(p1: Biparser<A> | Parser<A>, p2: Biparser<B> | Parser<B>): Parser<A | B>;
115
- export declare function oneOf<A, B = never, C = never>(p1: Biparser<A> | Parser<A>, p2: Biparser<B> | Parser<B>, p3: Biparser<C> | Parser<C>): Parser<A | B | C>;
116
- export declare function oneOf<A, B = never, C = never, D = never>(p1: Biparser<A> | Parser<A>, p2: Biparser<B> | Parser<B>, p3: Biparser<C> | Parser<C>, p4: Biparser<D> | Parser<D>): Parser<A | B | C | D>;
117
- export declare function oneOf<A, B = never, C = never, D = never, E = never>(p1: Biparser<A> | Parser<A>, p2: Biparser<B> | Parser<B>, p3: Biparser<C> | Parser<C>, p4: Biparser<D> | Parser<D>, p5: Biparser<E> | Parser<E>): Parser<A | B | C | D | E>;
118
- export declare function oneOf<A, B = never, C = never, D = never, E = never, F = never>(p1: Biparser<A> | Parser<A>, p2: Biparser<B> | Parser<B>, p3: Biparser<C> | Parser<C>, p4: Biparser<D> | Parser<D>, p5: Biparser<E> | Parser<E>, p6: Biparser<F> | Parser<F>): Parser<A | B | C | D | E | F>;
119
- export declare function oneOf<A, B = never, C = never, D = never, E = never, F = never, G = never>(p1: Biparser<A> | Parser<A>, p2: Biparser<B> | Parser<B>, p3: Biparser<C> | Parser<C>, p4: Biparser<D> | Parser<D>, p5: Biparser<E> | Parser<E>, p6: Biparser<F> | Parser<F>, p7: Biparser<G> | Parser<G>): Parser<A | B | C | D | E | F | G>;
120
- export declare function oneOf<A, B = never, C = never, D = never, E = never, F = never, G = never, H = never>(p1: Biparser<A> | Parser<A>, p2: Biparser<B> | Parser<B>, p3: Biparser<C> | Parser<C>, p4: Biparser<D> | Parser<D>, p5: Biparser<E> | Parser<E>, p6: Biparser<F> | Parser<F>, p7: Biparser<G> | Parser<G>, p8: Biparser<H> | Parser<H>): Parser<A | B | C | D | E | F | G | H>;
121
- export declare function oneOf<A, B = never, C = never, D = never, E = never, F = never, G = never, H = never, I = never>(p1: Biparser<A> | Parser<A>, p2: Biparser<B> | Parser<B>, p3: Biparser<C> | Parser<C>, p4: Biparser<D> | Parser<D>, p5: Biparser<E> | Parser<E>, p6: Biparser<F> | Parser<F>, p7: Biparser<G> | Parser<G>, p8: Biparser<H> | Parser<H>, p9: Biparser<I> | Parser<I>): Parser<A | B | C | D | E | F | G | H | I>;
122
- export declare function oneOf<A, B = never, C = never, D = never, E = never, F = never, G = never, H = never, I = never, J = never>(p1: Biparser<A> | Parser<A>, p2: Biparser<B> | Parser<B>, p3: Biparser<C> | Parser<C>, p4: Biparser<D> | Parser<D>, p5: Biparser<E> | Parser<E>, p6: Biparser<F> | Parser<F>, p7: Biparser<G> | Parser<G>, p8: Biparser<H> | Parser<H>, p9: Biparser<I> | Parser<I>, p10: Biparser<J> | Parser<J>): Parser<A | B | C | D | E | F | G | H | I | J>;
119
+ export declare const oneOf: <Parsers extends ReadonlyArray<ParserInput>>(...parsers: Parsers) => Parser<InferParsed<Parsers[number]>>;
123
120
  /**
124
121
  * Converts a `Biparser` into a `Router` by mapping parsed values to a
125
122
  * tagged type constructor.
@@ -1 +1 @@
1
- {"version":3,"file":"parser.d.ts","sourceRoot":"","sources":["../../src/route/parser.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"parser.d.ts","sourceRoot":"","sources":["../../src/route/parser.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,MAAM,EAGN,MAAM,EACN,MAAM,EAIP,MAAM,QAAQ,CAAA;AAEf,OAAO,EAAE,GAAG,EAAE,MAAM,QAAQ,CAAA;;;;AAE5B;;;;;GAKG;AACH,qBAAa,UAAW,SAAQ,gBAA+B;IAC7D,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;IACxB,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;IAC1B,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAA;IACxB,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;CAC3B,CAAC;CAAG;AAEL;;GAEG;AACH,MAAM,MAAM,WAAW,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC,CAAA;AAEvD,KAAK,UAAU,GAAG;IAChB,QAAQ,EAAE,aAAa,CAAC,MAAM,CAAC,CAAA;IAC/B,WAAW,EAAE,eAAe,CAAA;CAC7B,CAAA;AAED;;;GAGG;AACH,MAAM,MAAM,QAAQ,CAAC,CAAC,IAAI;IACxB,KAAK,EAAE,CACL,QAAQ,EAAE,aAAa,CAAC,MAAM,CAAC,EAC/B,MAAM,CAAC,EAAE,MAAM,KACZ,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,UAAU,CAAC,CAAA;IAC9C,KAAK,EAAE,CAAC,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,UAAU,KAAK,MAAM,CAAC,MAAM,CAAC,UAAU,EAAE,UAAU,CAAC,CAAA;CAC9E,CAAA;AAED,KAAK,OAAO,CAAC,CAAC,IAAI,CAAC,SAAS;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,GACxC,MAAM,IAAI,CAAC,CAAC,EAAE,MAAM,CAAC,SAAS,KAAK,GACjC,CAAC,KAAK,CAAC,EAAE,IAAI,CAAC,CAAC,EAAE,MAAM,CAAC,KAAK,MAAM,GACnC,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,EAAE,MAAM,CAAC,KAAK,MAAM,GACpC,KAAK,CAAA;AAET;;;;;;;;;GASG;AACH,MAAM,MAAM,MAAM,CAAC,CAAC,IAAI,OAAO,CAAC,CAAC,CAAC,GAAG;IACnC,KAAK,EAAE,CACL,QAAQ,EAAE,aAAa,CAAC,MAAM,CAAC,EAC/B,MAAM,CAAC,EAAE,MAAM,KACZ,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,UAAU,CAAC,CAAA;IAC9C,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC,CAAA;CAClB,CAAA;AAED;;;GAGG;AACH,MAAM,MAAM,cAAc,CAAC,CAAC,IAAI,QAAQ,CAAC,CAAC,CAAC,GAAG;IAAE,QAAQ,CAAC,UAAU,EAAE,IAAI,CAAA;CAAE,CAAA;AAM3E;;;;;;;GAOG;AACH,eAAO,MAAM,OAAO,GAAI,SAAS,MAAM,KAAG,QAAQ,CAAC,EAAE,CA6BnD,CAAA;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,KAAK,GAAI,CAAC,EACrB,OAAO,MAAM,EACb,OAAO,CAAC,OAAO,EAAE,MAAM,KAAK,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,UAAU,CAAC,EACxD,OAAO,CAAC,KAAK,EAAE,CAAC,KAAK,MAAM,KAC1B,QAAQ,CAAC,CAAC,CAwBX,CAAA;AAEF;;;;;;;GAOG;AACH,eAAO,MAAM,MAAM,GAAI,CAAC,SAAS,MAAM,EACrC,MAAM,CAAC,KACN,QAAQ,CAAC,MAAM,CAAC,CAAC,EAAE,MAAM,CAAC,CAM1B,CAAA;AAEH;;;;;;;;;GASG;AACH,eAAO,MAAM,GAAG,GAAI,CAAC,SAAS,MAAM,EAAE,MAAM,CAAC,KAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,EAAE,MAAM,CAAC,CAkBvE,CAAA;AAEH;;;;GAIG;AACH,eAAO,MAAM,IAAI,EAAE,QAAQ,CAAC,EAAE,CAc7B,CAAA;AAED;;;;;GAKG;AACH,MAAM,MAAM,MAAM,CAAC,CAAC,IAAI;IACtB,KAAK,EAAE,CACL,QAAQ,EAAE,aAAa,CAAC,MAAM,CAAC,EAC/B,MAAM,CAAC,EAAE,MAAM,KACZ,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,UAAU,CAAC,CAAA;CAC/C,CAAA;AAED,KAAK,WAAW,GAAG,QAAQ,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,CAAA;AAE9C,KAAK,WAAW,CAAC,CAAC,IAChB,CAAC,SAAS,QAAQ,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,SAAS,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,GAAG,KAAK,CAAA;AAEzE;;;;;GAKG;AACH,eAAO,MAAM,KAAK,GAAI,OAAO,SAAS,aAAa,CAAC,WAAW,CAAC,EAC9D,GAAG,SAAS,OAAO,KAClB,MAAM,CAAC,WAAW,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAcpC,CAAA;AAEF;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,KAAK,EAAE;IAClB,CAAC,CAAC,EAAE,mBAAmB,EAAE;QACvB,IAAI,EAAE,MAAM,CAAC,CAAA;KACd,GAAG,CAAC,MAAM,EAAE,QAAQ,CAAC,EAAE,CAAC,KAAK,MAAM,CAAC,CAAC,CAAC,CAAA;IACvC,CAAC,CAAC,EAAE,CAAC,EAAE,mBAAmB,EAAE;QAC1B,IAAI,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,CAAA;KACrB,GAAG,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC,KAAK,MAAM,CAAC,CAAC,CAAC,CAAA;CAoBvC,CAAA;AAED;;;;;;;;;GASG;AACH,eAAO,MAAM,KAAK,GACf,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACnE,SAAS,QAAQ,CAAC,CAAC,CAAC,MAGpB,SAAS,QAAQ,CAAC,CAAC,CAAC,GAAG;IACrB,QAAQ,CAAC,UAAU,CAAC,EAAE,KAAK,CAAA;IAC3B,QAAQ,CAAC,kEAAkE,CAAC,EAAE,KAAK,CAAA;CACpF,KACA,QAAQ,CAAC,CAAC,GAAG,CAAC,CAmBf,CAAA;AAEJ;;;;;;;;;;;;;;;;GAgBG;AACH,eAAO,MAAM,KAAK,GACf,CAAC,EAAE,CAAC,SAAS,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,OAAO,CAAC,EAClD,QAAQ,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,MAE5B,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAChC,QAAQ,QAAQ,CAAC,CAAC,CAAC,KAClB,cAAc,CAAC,CAAC,GAAG,CAAC,CAgEtB,CAAA;AA4BH;;;;;;;GAOG;AACH,eAAO,MAAM,oBAAoB,GAC9B,CAAC,EAAE,CAAC,EACH,QAAQ,MAAM,CAAC,CAAC,CAAC,EACjB,0BAA0B;IAAE,IAAI,EAAE,CAAC,IAAI,EAAE;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,KAAK,CAAC,CAAA;CAAE,MAElE,KAAK,GAAG,KAAG,CAAC,GAAG,CAQb,CAAA"}
@@ -110,20 +110,20 @@ export const root = {
110
110
  }),
111
111
  print: (_, state) => Effect.succeed(state),
112
112
  };
113
- export function oneOf(p1, p2, p3, p4, p5, p6, p7, p8, p9, p10) {
114
- const parsers = [p1, p2, p3, p4, p5, p6, p7, p8, p9, p10].filter(p => p !== undefined);
115
- return {
116
- parse: (segments, search) => Array.matchLeft(parsers, {
117
- onEmpty: () => {
118
- const segmentsStr = '/' + Array.join(segments, '/');
119
- return Effect.fail(new ParseError({
120
- message: `No parsers provided for path: ${segmentsStr}`,
121
- }));
122
- },
123
- onNonEmpty: () => Effect.firstSuccessOf(Array.map(parsers, parser => parser.parse(segments, search))),
124
- }),
125
- };
126
- }
113
+ /**
114
+ * Combines multiple parsers, trying each in order until one succeeds.
115
+ *
116
+ * Returns a `Parser` (parse-only) since the union of different route
117
+ * shapes cannot provide a single unified print function.
118
+ */
119
+ export const oneOf = (...parsers) => ({
120
+ parse: (segments, search) => Array.matchLeft(parsers, {
121
+ onEmpty: () => Effect.fail(new ParseError({
122
+ message: `No parsers provided for path: /${Array.join(segments, '/')}`,
123
+ })),
124
+ onNonEmpty: () => Effect.firstSuccessOf(Array.map(parsers, parser => parser.parse(segments, search))),
125
+ }),
126
+ });
127
127
  /**
128
128
  * Converts a `Biparser` into a `Router` by mapping parsed values to a
129
129
  * tagged type constructor.
@@ -138,15 +138,17 @@ export function oneOf(p1, p2, p3, p4, p5, p6, p7, p8, p9, p10) {
138
138
  */
139
139
  export const mapTo = (appRouteConstructor) => {
140
140
  return (parser) => {
141
- return {
141
+ const build = buildUrl(parser);
142
+ const router = Object.assign(build, {
142
143
  parse: (segments, search) => pipe(parser.parse(segments, search), Effect.map(([value, remaining]) => {
143
144
  const result = appRouteConstructor.make.length === 0
144
145
  ? appRouteConstructor.make()
145
146
  : appRouteConstructor.make(value);
146
147
  return [result, remaining];
147
148
  })),
148
- build: buildUrl(parser),
149
- };
149
+ build,
150
+ });
151
+ return router;
150
152
  };
151
153
  };
152
154
  /**
@@ -185,35 +187,31 @@ export const slash = (parserB) => (parserA) => ({
185
187
  */
186
188
  export const query = (schema) => (parser) => {
187
189
  const queryParser = {
188
- parse: (segments, search) => {
189
- return pipe(parser.parse(segments, search), Effect.flatMap(([pathValue, remainingSegments]) => {
190
- const searchParams = new URLSearchParams(search ?? '');
191
- const queryRecord = Record.fromEntries(searchParams.entries());
192
- return pipe(queryRecord, Schema.decodeUnknown(schema), Effect.mapError(error => new ParseError({
193
- message: `Query parameter validation failed: ${error.message}`,
194
- expected: 'valid query parameters',
195
- actual: search || 'empty',
196
- })), Effect.map(queryValue =>
197
- /* eslint-disable-next-line @typescript-eslint/consistent-type-assertions */
198
- [{ ...pathValue, ...queryValue }, remainingSegments]));
199
- }));
200
- },
201
- print: (value, state) => pipe(parser.print(value, state), Effect.flatMap(newState => {
202
- return pipe(Schema.encode(schema)(value), Effect.map(queryValue => {
203
- const newQueryParams = new URLSearchParams(newState.queryParams);
204
- pipe(queryValue, Record.toEntries, Array.forEach(([key, val]) => {
205
- if (Predicate.isNotNullable(val)) {
206
- newQueryParams.set(key, val.toString());
207
- }
208
- }));
209
- return {
210
- ...newState,
211
- queryParams: newQueryParams,
212
- };
213
- }), Effect.mapError(error => new ParseError({
214
- message: `Query parameter encoding failed: ${error.message}`,
215
- })));
190
+ parse: (segments, search) => pipe(parser.parse(segments, search), Effect.flatMap(([pathValue, remainingSegments]) => {
191
+ const searchParams = new URLSearchParams(search ?? '');
192
+ const queryRecord = Record.fromEntries(searchParams.entries());
193
+ return pipe(queryRecord, Schema.decodeUnknown(schema), Effect.mapError(error => new ParseError({
194
+ message: `Query parameter validation failed: ${error.message}`,
195
+ expected: 'valid query parameters',
196
+ actual: search || 'empty',
197
+ })), Effect.map(queryValue =>
198
+ /* eslint-disable-next-line @typescript-eslint/consistent-type-assertions */
199
+ [{ ...pathValue, ...queryValue }, remainingSegments]));
216
200
  })),
201
+ print: (value, state) => pipe(parser.print(value, state), Effect.flatMap(newState => pipe(Schema.encode(schema)(value), Effect.map(queryValue => {
202
+ const newQueryParams = new URLSearchParams(newState.queryParams);
203
+ pipe(queryValue, Record.toEntries, Array.forEach(([key, val]) => {
204
+ if (Predicate.isNotNullable(val)) {
205
+ newQueryParams.set(key, val.toString());
206
+ }
207
+ }));
208
+ return {
209
+ ...newState,
210
+ queryParams: newQueryParams,
211
+ };
212
+ }), Effect.mapError(error => new ParseError({
213
+ message: `Query parameter encoding failed: ${error.message}`,
214
+ }))))),
217
215
  };
218
216
  return makeTerminalParser(queryParser);
219
217
  };
@@ -228,9 +226,7 @@ const complete = ([value, remaining]) => Array.match(remaining, {
228
226
  }));
229
227
  },
230
228
  });
231
- const parseUrl = (parser) => (url) => {
232
- return pipe(pathToSegments(url.pathname), segments => parser.parse(segments, Option.getOrUndefined(url.search)), Effect.flatMap(complete));
233
- };
229
+ const parseUrl = (parser) => (url) => pipe(pathToSegments(url.pathname), segments => parser.parse(segments, Option.getOrUndefined(url.search)), Effect.flatMap(complete));
234
230
  /**
235
231
  * Parses a URL against a parser, falling back to a not-found route if no
236
232
  * parser matches.
@@ -1 +1 @@
1
- {"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../../src/runtime/runtime.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../../src/runtime/runtime.ts"],"names":[],"mappings":"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"}
@@ -62,11 +62,13 @@ const makeRuntime = ({ Model, Flags: _Flags, flags: flags_, init, update, view,
62
62
  const processMessage = (message) => Effect.gen(function* () {
63
63
  const currentModel = yield* Ref.get(modelRef);
64
64
  const [nextModel, commands] = update(currentModel, message);
65
- yield* Ref.set(modelRef, nextModel);
66
- yield* render(nextModel);
67
- if (!modelEquivalence(currentModel, nextModel)) {
68
- yield* SubscriptionRef.set(modelSubscriptionRef, nextModel);
69
- preserveModel(nextModel);
65
+ if (currentModel !== nextModel) {
66
+ yield* Ref.set(modelRef, nextModel);
67
+ yield* render(nextModel);
68
+ if (!modelEquivalence(currentModel, nextModel)) {
69
+ yield* SubscriptionRef.set(modelSubscriptionRef, nextModel);
70
+ preserveModel(nextModel);
71
+ }
70
72
  }
71
73
  yield* Effect.forEach(commands, command => Effect.forkDaemon(command.pipe(provideAllResources, Effect.flatMap(enqueueMessage))));
72
74
  });
@@ -0,0 +1,51 @@
1
+ import { Schema as S } from 'effect';
2
+ import type { Command } from '../../command';
3
+ import type { Attribute } from '../../html';
4
+ import type { Html } from '../../html';
5
+ /** Schema for the checkbox component's state, tracking the checked status. */
6
+ export declare const Model: S.Struct<{
7
+ id: typeof S.String;
8
+ isChecked: typeof S.Boolean;
9
+ }>;
10
+ export type Model = typeof Model.Type;
11
+ /** Sent when the user toggles the checkbox via click or Space key. */
12
+ export declare const Toggled: import("../../schema").CallableTaggedStruct<"Toggled", {}>;
13
+ /** Placeholder message used when no action is needed. */
14
+ export declare const NoOp: import("../../schema").CallableTaggedStruct<"NoOp", {}>;
15
+ /** Union of all messages the checkbox component can produce. */
16
+ export declare const Message: S.Union<[import("../../schema").CallableTaggedStruct<"Toggled", {}>, import("../../schema").CallableTaggedStruct<"NoOp", {}>]>;
17
+ export type Toggled = typeof Toggled.Type;
18
+ export type NoOp = typeof NoOp.Type;
19
+ export type Message = typeof Message.Type;
20
+ /** Configuration for creating a checkbox model with `init`. */
21
+ export type InitConfig = Readonly<{
22
+ id: string;
23
+ isChecked?: boolean;
24
+ }>;
25
+ /** Creates an initial checkbox model from a config. Defaults to unchecked. */
26
+ export declare const init: (config: InitConfig) => Model;
27
+ /** Processes a checkbox message and returns the next model and commands. */
28
+ export declare const update: (model: Model, message: Message) => [Model, ReadonlyArray<Command<Message>>];
29
+ /** Attribute groups the checkbox component provides to the consumer's `toView` callback. */
30
+ export type CheckboxAttributes<Message> = Readonly<{
31
+ checkbox: ReadonlyArray<Attribute<Message>>;
32
+ label: ReadonlyArray<Attribute<Message>>;
33
+ description: ReadonlyArray<Attribute<Message>>;
34
+ hiddenInput: ReadonlyArray<Attribute<Message>>;
35
+ }>;
36
+ /** Configuration for rendering a checkbox with `view`. */
37
+ export type ViewConfig<Message> = Readonly<{
38
+ model: Model;
39
+ toMessage: (message: Toggled | NoOp) => Message;
40
+ toView: (attributes: CheckboxAttributes<Message>) => Html;
41
+ isDisabled?: boolean;
42
+ isIndeterminate?: boolean;
43
+ name?: string;
44
+ value?: string;
45
+ }>;
46
+ /** Renders an accessible checkbox by building ARIA attribute groups and delegating layout to the consumer's `toView` callback. */
47
+ export declare const view: <Message>(config: ViewConfig<Message>) => Html;
48
+ /** Creates a memoized checkbox view. Static config is captured in a closure;
49
+ * only `model` and `toMessage` are compared per render via `createLazy`. */
50
+ export declare const lazy: <Message>(staticConfig: Omit<ViewConfig<Message>, "model" | "toMessage">) => ((model: Model, toMessage: ViewConfig<Message>["toMessage"]) => Html);
51
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/ui/checkbox/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAsB,MAAM,IAAI,CAAC,EAAE,MAAM,QAAQ,CAAA;AAExD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,eAAe,CAAA;AAC5C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAA;AAE3C,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,YAAY,CAAA;AAOtC,8EAA8E;AAC9E,eAAO,MAAM,KAAK;;;EAGhB,CAAA;AAEF,MAAM,MAAM,KAAK,GAAG,OAAO,KAAK,CAAC,IAAI,CAAA;AAIrC,sEAAsE;AACtE,eAAO,MAAM,OAAO,4DAAe,CAAA;AACnC,yDAAyD;AACzD,eAAO,MAAM,IAAI,yDAAY,CAAA;AAE7B,gEAAgE;AAChE,eAAO,MAAM,OAAO,gIAAyB,CAAA;AAE7C,MAAM,MAAM,OAAO,GAAG,OAAO,OAAO,CAAC,IAAI,CAAA;AACzC,MAAM,MAAM,IAAI,GAAG,OAAO,IAAI,CAAC,IAAI,CAAA;AAEnC,MAAM,MAAM,OAAO,GAAG,OAAO,OAAO,CAAC,IAAI,CAAA;AAIzC,+DAA+D;AAC/D,MAAM,MAAM,UAAU,GAAG,QAAQ,CAAC;IAChC,EAAE,EAAE,MAAM,CAAA;IACV,SAAS,CAAC,EAAE,OAAO,CAAA;CACpB,CAAC,CAAA;AAEF,8EAA8E;AAC9E,eAAO,MAAM,IAAI,GAAI,QAAQ,UAAU,KAAG,KAGxC,CAAA;AAIF,4EAA4E;AAC5E,eAAO,MAAM,MAAM,GACjB,OAAO,KAAK,EACZ,SAAS,OAAO,KACf,CAAC,KAAK,EAAE,aAAa,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAOvC,CAAA;AAIH,4FAA4F;AAC5F,MAAM,MAAM,kBAAkB,CAAC,OAAO,IAAI,QAAQ,CAAC;IACjD,QAAQ,EAAE,aAAa,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAA;IAC3C,KAAK,EAAE,aAAa,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAA;IACxC,WAAW,EAAE,aAAa,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAA;IAC9C,WAAW,EAAE,aAAa,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAA;CAC/C,CAAC,CAAA;AAEF,0DAA0D;AAC1D,MAAM,MAAM,UAAU,CAAC,OAAO,IAAI,QAAQ,CAAC;IACzC,KAAK,EAAE,KAAK,CAAA;IACZ,SAAS,EAAE,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,KAAK,OAAO,CAAA;IAC/C,MAAM,EAAE,CAAC,UAAU,EAAE,kBAAkB,CAAC,OAAO,CAAC,KAAK,IAAI,CAAA;IACzD,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,eAAe,CAAC,EAAE,OAAO,CAAA;IACzB,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,KAAK,CAAC,EAAE,MAAM,CAAA;CACf,CAAC,CAAA;AAKF,kIAAkI;AAClI,eAAO,MAAM,IAAI,GAAI,OAAO,EAAE,QAAQ,UAAU,CAAC,OAAO,CAAC,KAAG,IAwE3D,CAAA;AAED;6EAC6E;AAC7E,eAAO,MAAM,IAAI,GAAI,OAAO,EAC1B,cAAc,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,OAAO,GAAG,WAAW,CAAC,KAC7D,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU,CAAC,OAAO,CAAC,CAAC,WAAW,CAAC,KAAK,IAAI,CAgBtE,CAAA"}
@@ -0,0 +1,81 @@
1
+ import { Match as M, Option, Schema as S } from 'effect';
2
+ import { html } from '../../html';
3
+ import { createLazy } from '../../html/lazy';
4
+ import { m } from '../../message';
5
+ import { evo } from '../../struct';
6
+ // MODEL
7
+ /** Schema for the checkbox component's state, tracking the checked status. */
8
+ export const Model = S.Struct({
9
+ id: S.String,
10
+ isChecked: S.Boolean,
11
+ });
12
+ // MESSAGE
13
+ /** Sent when the user toggles the checkbox via click or Space key. */
14
+ export const Toggled = m('Toggled');
15
+ /** Placeholder message used when no action is needed. */
16
+ export const NoOp = m('NoOp');
17
+ /** Union of all messages the checkbox component can produce. */
18
+ export const Message = S.Union(Toggled, NoOp);
19
+ /** Creates an initial checkbox model from a config. Defaults to unchecked. */
20
+ export const init = (config) => ({
21
+ id: config.id,
22
+ isChecked: config.isChecked ?? false,
23
+ });
24
+ // UPDATE
25
+ /** Processes a checkbox message and returns the next model and commands. */
26
+ export const update = (model, message) => M.value(message).pipe(M.withReturnType(), M.tagsExhaustive({
27
+ Toggled: () => [evo(model, { isChecked: isChecked => !isChecked }), []],
28
+ NoOp: () => [model, []],
29
+ }));
30
+ const labelId = (id) => `${id}-label`;
31
+ const descriptionId = (id) => `${id}-description`;
32
+ /** Renders an accessible checkbox by building ARIA attribute groups and delegating layout to the consumer's `toView` callback. */
33
+ export const view = (config) => {
34
+ const { AriaChecked, AriaDescribedBy, AriaDisabled, AriaLabelledBy, DataAttribute, Id, Name, OnClick, OnKeyUpPreventDefault, Role, Tabindex, Type, Value, } = html();
35
+ const { model: { id, isChecked }, toMessage, isDisabled = false, isIndeterminate = false, name, value: formValue = 'on', } = config;
36
+ const handleKeyUp = (key) => M.value(key).pipe(M.when(' ', () => Option.some(toMessage(Toggled()))), M.orElse(() => Option.none()));
37
+ const stateAttributes = isIndeterminate
38
+ ? [DataAttribute('indeterminate', '')]
39
+ : isChecked
40
+ ? [DataAttribute('checked', '')]
41
+ : [];
42
+ const disabledAttributes = isDisabled
43
+ ? [AriaDisabled(true), DataAttribute('disabled', '')]
44
+ : [];
45
+ const checkboxAttributes = [
46
+ Role('checkbox'),
47
+ AriaChecked(isIndeterminate ? 'mixed' : isChecked),
48
+ AriaLabelledBy(labelId(id)),
49
+ AriaDescribedBy(descriptionId(id)),
50
+ Tabindex(0),
51
+ ...stateAttributes,
52
+ ...disabledAttributes,
53
+ ...(isDisabled
54
+ ? []
55
+ : [OnClick(toMessage(Toggled())), OnKeyUpPreventDefault(handleKeyUp)]),
56
+ ];
57
+ const labelAttributes = [
58
+ Id(labelId(id)),
59
+ ...(isDisabled ? [] : [OnClick(toMessage(Toggled()))]),
60
+ ];
61
+ const descriptionAttributes = [Id(descriptionId(id))];
62
+ const hiddenInputAttributes = name
63
+ ? [Type('hidden'), Name(name), Value(isChecked ? formValue : '')]
64
+ : [];
65
+ return config.toView({
66
+ checkbox: checkboxAttributes,
67
+ label: labelAttributes,
68
+ description: descriptionAttributes,
69
+ hiddenInput: hiddenInputAttributes,
70
+ });
71
+ };
72
+ /** Creates a memoized checkbox view. Static config is captured in a closure;
73
+ * only `model` and `toMessage` are compared per render via `createLazy`. */
74
+ export const lazy = (staticConfig) => {
75
+ const lazyView = createLazy();
76
+ return (model, toMessage) => lazyView((currentModel, currentToMessage) => view({
77
+ ...staticConfig,
78
+ model: currentModel,
79
+ toMessage: currentToMessage,
80
+ }), [model, toMessage]);
81
+ };
@@ -0,0 +1,3 @@
1
+ export { init, update, view, lazy, Model, Message } from './index';
2
+ export type { Toggled, NoOp, InitConfig, ViewConfig, CheckboxAttributes, } from './index';
3
+ //# sourceMappingURL=public.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"public.d.ts","sourceRoot":"","sources":["../../../src/ui/checkbox/public.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,SAAS,CAAA;AAElE,YAAY,EACV,OAAO,EACP,IAAI,EACJ,UAAU,EACV,UAAU,EACV,kBAAkB,GACnB,MAAM,SAAS,CAAA"}
@@ -0,0 +1 @@
1
+ export { init, update, view, lazy, Model, Message } from './index';
@@ -66,6 +66,8 @@ export declare const update: (model: {
66
66
  } & {
67
67
  readonly selectedItems: readonly string[];
68
68
  }, readonly import("../../command").Command<{
69
+ readonly _tag: "NoOp";
70
+ } | {
69
71
  readonly _tag: "Opened";
70
72
  readonly maybeActiveItemIndex: import("effect/Option").Option<number>;
71
73
  } | {
@@ -94,8 +96,6 @@ export declare const update: (model: {
94
96
  } | {
95
97
  readonly _tag: "RequestedItemClick";
96
98
  readonly index: number;
97
- } | {
98
- readonly _tag: "NoOp";
99
99
  } | {
100
100
  readonly _tag: "AdvancedTransitionFrame";
101
101
  } | {
@@ -142,6 +142,8 @@ export declare const makeUpdate: <Model extends BaseModel>(handlers: Readonly<{
142
142
  handleSelectedItem: (model: Model, item: string, displayText: string, context: SelectedItemContext) => [Model, ReadonlyArray<Command<Message>>];
143
143
  handleImmediateActivation: (model: Model, item: string, displayText: string) => Model;
144
144
  }>) => (model: Model, message: Message) => [Model, readonly Command<{
145
+ readonly _tag: "NoOp";
146
+ } | {
145
147
  readonly _tag: "Opened";
146
148
  readonly maybeActiveItemIndex: Option.Option<number>;
147
149
  } | {
@@ -170,8 +172,6 @@ export declare const makeUpdate: <Model extends BaseModel>(handlers: Readonly<{
170
172
  } | {
171
173
  readonly _tag: "RequestedItemClick";
172
174
  readonly index: number;
173
- } | {
174
- readonly _tag: "NoOp";
175
175
  } | {
176
176
  readonly _tag: "AdvancedTransitionFrame";
177
177
  } | {
@@ -70,6 +70,8 @@ export declare const update: (model: {
70
70
  readonly maybeSelectedItem: Option.Option<string>;
71
71
  readonly maybeSelectedDisplayText: Option.Option<string>;
72
72
  }, readonly import("../../command").Command<{
73
+ readonly _tag: "NoOp";
74
+ } | {
73
75
  readonly _tag: "Opened";
74
76
  readonly maybeActiveItemIndex: Option.Option<number>;
75
77
  } | {
@@ -98,8 +100,6 @@ export declare const update: (model: {
98
100
  } | {
99
101
  readonly _tag: "RequestedItemClick";
100
102
  readonly index: number;
101
- } | {
102
- readonly _tag: "NoOp";
103
103
  } | {
104
104
  readonly _tag: "AdvancedTransitionFrame";
105
105
  } | {
@@ -1,9 +1,11 @@
1
+ export * as Checkbox from './checkbox/public';
1
2
  export * as Combobox from './combobox/public';
2
3
  export * as Dialog from './dialog/public';
3
4
  export * as Disclosure from './disclosure/public';
4
5
  export * as Listbox from './listbox/public';
5
6
  export * as Menu from './menu/public';
6
7
  export * as Popover from './popover/public';
8
+ export * as RadioGroup from './radioGroup/public';
7
9
  export * as Switch from './switch/public';
8
10
  export * as Tabs from './tabs/public';
9
11
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/ui/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,QAAQ,MAAM,mBAAmB,CAAA;AAC7C,OAAO,KAAK,MAAM,MAAM,iBAAiB,CAAA;AACzC,OAAO,KAAK,UAAU,MAAM,qBAAqB,CAAA;AACjD,OAAO,KAAK,OAAO,MAAM,kBAAkB,CAAA;AAC3C,OAAO,KAAK,IAAI,MAAM,eAAe,CAAA;AACrC,OAAO,KAAK,OAAO,MAAM,kBAAkB,CAAA;AAC3C,OAAO,KAAK,MAAM,MAAM,iBAAiB,CAAA;AACzC,OAAO,KAAK,IAAI,MAAM,eAAe,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/ui/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,QAAQ,MAAM,mBAAmB,CAAA;AAC7C,OAAO,KAAK,QAAQ,MAAM,mBAAmB,CAAA;AAC7C,OAAO,KAAK,MAAM,MAAM,iBAAiB,CAAA;AACzC,OAAO,KAAK,UAAU,MAAM,qBAAqB,CAAA;AACjD,OAAO,KAAK,OAAO,MAAM,kBAAkB,CAAA;AAC3C,OAAO,KAAK,IAAI,MAAM,eAAe,CAAA;AACrC,OAAO,KAAK,OAAO,MAAM,kBAAkB,CAAA;AAC3C,OAAO,KAAK,UAAU,MAAM,qBAAqB,CAAA;AACjD,OAAO,KAAK,MAAM,MAAM,iBAAiB,CAAA;AACzC,OAAO,KAAK,IAAI,MAAM,eAAe,CAAA"}
package/dist/ui/index.js CHANGED
@@ -1,8 +1,10 @@
1
+ export * as Checkbox from './checkbox/public';
1
2
  export * as Combobox from './combobox/public';
2
3
  export * as Dialog from './dialog/public';
3
4
  export * as Disclosure from './disclosure/public';
4
5
  export * as Listbox from './listbox/public';
5
6
  export * as Menu from './menu/public';
6
7
  export * as Popover from './popover/public';
8
+ export * as RadioGroup from './radioGroup/public';
7
9
  export * as Switch from './switch/public';
8
10
  export * as Tabs from './tabs/public';
@@ -66,13 +66,13 @@ export declare const update: (model: {
66
66
  } & {
67
67
  readonly selectedItems: readonly string[];
68
68
  }, readonly import("../../command").Command<{
69
+ readonly _tag: "NoOp";
70
+ } | {
69
71
  readonly _tag: "Closed";
70
72
  } | {
71
73
  readonly _tag: "ClosedByTab";
72
74
  } | {
73
75
  readonly _tag: "DeactivatedItem";
74
- } | {
75
- readonly _tag: "NoOp";
76
76
  } | {
77
77
  readonly _tag: "AdvancedTransitionFrame";
78
78
  } | {
@@ -142,13 +142,13 @@ type SelectedItemContext = Readonly<{
142
142
  maybeRestoreInert: Option.Option<Command<Message>>;
143
143
  }>;
144
144
  export declare const makeUpdate: <Model extends BaseModel>(handleSelectedItem: (model: Model, item: string, context: SelectedItemContext) => [Model, ReadonlyArray<Command<Message>>]) => (model: Model, message: Message) => [Model, readonly Command<{
145
+ readonly _tag: "NoOp";
146
+ } | {
145
147
  readonly _tag: "Closed";
146
148
  } | {
147
149
  readonly _tag: "ClosedByTab";
148
150
  } | {
149
151
  readonly _tag: "DeactivatedItem";
150
- } | {
151
- readonly _tag: "NoOp";
152
152
  } | {
153
153
  readonly _tag: "AdvancedTransitionFrame";
154
154
  } | {
@@ -66,13 +66,13 @@ export declare const update: (model: {
66
66
  } & {
67
67
  readonly maybeSelectedItem: Option.Option<string>;
68
68
  }, readonly import("../../command").Command<{
69
+ readonly _tag: "NoOp";
70
+ } | {
69
71
  readonly _tag: "Closed";
70
72
  } | {
71
73
  readonly _tag: "ClosedByTab";
72
74
  } | {
73
75
  readonly _tag: "DeactivatedItem";
74
- } | {
75
- readonly _tag: "NoOp";
76
76
  } | {
77
77
  readonly _tag: "AdvancedTransitionFrame";
78
78
  } | {
@@ -0,0 +1,72 @@
1
+ import { Schema as S } from 'effect';
2
+ import type { Command } from '../../command';
3
+ import type { Attribute } from '../../html';
4
+ import type { Html } from '../../html';
5
+ /** Controls the radio group layout direction and which arrow keys navigate between options. */
6
+ export declare const Orientation: S.Literal<["Horizontal", "Vertical"]>;
7
+ export type Orientation = typeof Orientation.Type;
8
+ /** Schema for the radio group component's state, tracking the selected value and orientation. */
9
+ export declare const Model: S.Struct<{
10
+ id: typeof S.String;
11
+ selectedValue: S.OptionFromSelf<typeof S.String>;
12
+ orientation: S.Literal<["Horizontal", "Vertical"]>;
13
+ }>;
14
+ export type Model = typeof Model.Type;
15
+ /** Sent when a radio option is selected via click or keyboard navigation. */
16
+ export declare const SelectedOption: import("../../schema").CallableTaggedStruct<"SelectedOption", {
17
+ value: typeof S.String;
18
+ index: typeof S.Number;
19
+ }>;
20
+ /** Placeholder message used when no action is needed. */
21
+ export declare const NoOp: import("../../schema").CallableTaggedStruct<"NoOp", {}>;
22
+ /** Union of all messages the radio group component can produce. */
23
+ export declare const Message: S.Union<[import("../../schema").CallableTaggedStruct<"SelectedOption", {
24
+ value: typeof S.String;
25
+ index: typeof S.Number;
26
+ }>, import("../../schema").CallableTaggedStruct<"NoOp", {}>]>;
27
+ export type SelectedOption = typeof SelectedOption.Type;
28
+ export type NoOp = typeof NoOp.Type;
29
+ export type Message = typeof Message.Type;
30
+ /** Configuration for creating a radio group model with `init`. */
31
+ export type InitConfig = Readonly<{
32
+ id: string;
33
+ selectedValue?: string;
34
+ orientation?: Orientation;
35
+ }>;
36
+ /** Creates an initial radio group model from a config. Defaults to no selection and vertical orientation. */
37
+ export declare const init: (config: InitConfig) => Model;
38
+ /** Processes a radio group message and returns the next model and commands. */
39
+ export declare const update: (model: Model, message: Message) => [Model, ReadonlyArray<Command<Message>>];
40
+ /** Attribute groups the radio group component provides for each option's `content` callback. */
41
+ export type OptionAttributes<Message> = Readonly<{
42
+ option: ReadonlyArray<Attribute<Message>>;
43
+ label: ReadonlyArray<Attribute<Message>>;
44
+ description: ReadonlyArray<Attribute<Message>>;
45
+ }>;
46
+ /** Configuration for an individual radio option. */
47
+ export type OptionConfig<Message> = Readonly<{
48
+ value: string;
49
+ content: (attributes: OptionAttributes<Message>) => Html;
50
+ }>;
51
+ /** Configuration for rendering a radio group with `view`. */
52
+ export type ViewConfig<Message, Option extends string> = Readonly<{
53
+ model: Model;
54
+ toMessage: (message: SelectedOption | NoOp) => Message;
55
+ options: ReadonlyArray<Option>;
56
+ optionToConfig: (option: Option, context: Readonly<{
57
+ isSelected: boolean;
58
+ isActive: boolean;
59
+ isDisabled: boolean;
60
+ }>) => OptionConfig<Message>;
61
+ isOptionDisabled?: (option: Option, index: number) => boolean;
62
+ orientation?: Orientation;
63
+ className?: string;
64
+ name?: string;
65
+ isDisabled?: boolean;
66
+ }>;
67
+ /** Renders an accessible radio group by building ARIA attribute groups and delegating layout to the consumer's `optionToConfig` callback. */
68
+ export declare const view: <Message, RadioOption extends string>(config: ViewConfig<Message, RadioOption>) => Html;
69
+ /** Creates a memoized radio group view. Static config is captured in a closure;
70
+ * only `model` and `toMessage` are compared per render via `createLazy`. */
71
+ export declare const lazy: <Message, RadioOption extends string>(staticConfig: Omit<ViewConfig<Message, RadioOption>, "model" | "toMessage">) => ((model: Model, toMessage: ViewConfig<Message, RadioOption>["toMessage"]) => Html);
72
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/ui/radioGroup/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,147 @@
1
+ import { Array, Effect, Match as M, Option, Predicate, Schema as S, String, pipe, } from 'effect';
2
+ import { html } from '../../html';
3
+ import { createLazy } from '../../html/lazy';
4
+ import { m } from '../../message';
5
+ import { evo } from '../../struct';
6
+ import * as Task from '../../task';
7
+ import { keyToIndex } from '../keyboard';
8
+ // MODEL
9
+ /** Controls the radio group layout direction and which arrow keys navigate between options. */
10
+ export const Orientation = S.Literal('Horizontal', 'Vertical');
11
+ /** Schema for the radio group component's state, tracking the selected value and orientation. */
12
+ export const Model = S.Struct({
13
+ id: S.String,
14
+ selectedValue: S.OptionFromSelf(S.String),
15
+ orientation: Orientation,
16
+ });
17
+ // MESSAGE
18
+ /** Sent when a radio option is selected via click or keyboard navigation. */
19
+ export const SelectedOption = m('SelectedOption', {
20
+ value: S.String,
21
+ index: S.Number,
22
+ });
23
+ /** Placeholder message used when no action is needed. */
24
+ export const NoOp = m('NoOp');
25
+ /** Union of all messages the radio group component can produce. */
26
+ export const Message = S.Union(SelectedOption, NoOp);
27
+ /** Creates an initial radio group model from a config. Defaults to no selection and vertical orientation. */
28
+ export const init = (config) => ({
29
+ id: config.id,
30
+ selectedValue: Option.fromNullable(config.selectedValue),
31
+ orientation: config.orientation ?? 'Vertical',
32
+ });
33
+ // UPDATE
34
+ const optionId = (id, index) => `${id}-option-${index}`;
35
+ /** Processes a radio group message and returns the next model and commands. */
36
+ export const update = (model, message) => M.value(message).pipe(M.withReturnType(), M.tagsExhaustive({
37
+ SelectedOption: ({ value, index }) => {
38
+ const selector = `#${optionId(model.id, index)}`;
39
+ return [
40
+ evo(model, { selectedValue: () => Option.some(value) }),
41
+ [Task.focus(selector).pipe(Effect.ignore, Effect.as(NoOp()))],
42
+ ];
43
+ },
44
+ NoOp: () => [model, []],
45
+ }));
46
+ const labelId = (id, index) => `${id}-option-${index}-label`;
47
+ const descriptionId = (id, index) => `${id}-option-${index}-description`;
48
+ /** Renders an accessible radio group by building ARIA attribute groups and delegating layout to the consumer's `optionToConfig` callback. */
49
+ export const view = (config) => {
50
+ const { div, input, AriaChecked, AriaDescribedBy, AriaDisabled, AriaLabelledBy, AriaOrientation, Class, DataAttribute, Id, Name, OnClick, OnKeyDownPreventDefault, Role, Tabindex, Type, Value, } = html();
51
+ const { model, model: { id, selectedValue }, toMessage, options, optionToConfig, isOptionDisabled: isOptionDisabledFn, orientation = model.orientation, className, name, isDisabled: isGroupDisabled = false, } = config;
52
+ const isDisabled = (index) => {
53
+ if (isGroupDisabled) {
54
+ return true;
55
+ }
56
+ if (!isOptionDisabledFn) {
57
+ return false;
58
+ }
59
+ return pipe(options, Array.get(index), Option.exists(option => isOptionDisabledFn(option, index)));
60
+ };
61
+ const selectedIndex = Option.flatMap(selectedValue, value => Array.findFirstIndex(options, option => optionToConfig(option, {
62
+ isSelected: false,
63
+ isActive: false,
64
+ isDisabled: false,
65
+ }).value === value));
66
+ const focusedIndex = pipe(selectedIndex, Option.getOrElse(() => pipe(options.length, Array.makeBy(index => index), Array.findFirst(Predicate.not(isDisabled)), Option.getOrElse(() => 0))));
67
+ const { nextKey, previousKey } = M.value(orientation).pipe(M.when('Horizontal', () => ({
68
+ nextKey: 'ArrowRight',
69
+ previousKey: 'ArrowLeft',
70
+ })), M.when('Vertical', () => ({
71
+ nextKey: 'ArrowDown',
72
+ previousKey: 'ArrowUp',
73
+ })), M.exhaustive);
74
+ const optionValues = Array.map(options, (option, index) => optionToConfig(option, {
75
+ isSelected: Option.exists(selectedIndex, selectedIdx => selectedIdx === index),
76
+ isActive: index === focusedIndex,
77
+ isDisabled: isDisabled(index),
78
+ }).value);
79
+ const resolveKeyIndex = keyToIndex(nextKey, previousKey, options.length, focusedIndex, isDisabled);
80
+ const handleKeyDown = (currentIndex) => (key) => M.value(key).pipe(M.whenOr(nextKey, previousKey, 'Home', 'End', 'PageUp', 'PageDown', () => {
81
+ const nextIndex = resolveKeyIndex(key);
82
+ return pipe(optionValues, Array.get(nextIndex), Option.map(value => toMessage(SelectedOption({ value, index: nextIndex }))));
83
+ }), M.when(' ', () => pipe(optionValues, Array.get(currentIndex), Option.map(value => toMessage(SelectedOption({ value, index: currentIndex }))))), M.orElse(() => Option.none()));
84
+ const renderedOptions = Array.map(options, (option, index) => {
85
+ const isSelected = Option.exists(selectedIndex, selectedIdx => selectedIdx === index);
86
+ const isFocusable = index === focusedIndex;
87
+ const isOptionDisabled = isDisabled(index);
88
+ const optionConfig = optionToConfig(option, {
89
+ isSelected,
90
+ isActive: isFocusable,
91
+ isDisabled: isOptionDisabled,
92
+ });
93
+ const checkedAttributes = isSelected ? [DataAttribute('checked', '')] : [];
94
+ const activeAttributes = isFocusable ? [DataAttribute('active', '')] : [];
95
+ const disabledAttributes = isOptionDisabled
96
+ ? [AriaDisabled(true), DataAttribute('disabled', '')]
97
+ : [];
98
+ const optionAttributes = [
99
+ Id(optionId(id, index)),
100
+ Role('radio'),
101
+ AriaChecked(isSelected),
102
+ AriaLabelledBy(labelId(id, index)),
103
+ AriaDescribedBy(descriptionId(id, index)),
104
+ Tabindex(isFocusable ? 0 : -1),
105
+ ...checkedAttributes,
106
+ ...activeAttributes,
107
+ ...disabledAttributes,
108
+ ...(isOptionDisabled
109
+ ? []
110
+ : [
111
+ OnClick(toMessage(SelectedOption({ value: optionConfig.value, index }))),
112
+ OnKeyDownPreventDefault(handleKeyDown(index)),
113
+ ]),
114
+ ];
115
+ const labelAttributes = [
116
+ Id(labelId(id, index)),
117
+ ];
118
+ const descriptionAttributes = [
119
+ Id(descriptionId(id, index)),
120
+ ];
121
+ return optionConfig.content({
122
+ option: optionAttributes,
123
+ label: labelAttributes,
124
+ description: descriptionAttributes,
125
+ });
126
+ });
127
+ const hiddenInputs = pipe(name, Option.fromNullable, Option.flatMap(inputName => pipe(selectedValue, Option.map(value => input([Type('hidden'), Name(inputName), Value(value)])))), Option.match({
128
+ onNone: () => [],
129
+ onSome: hiddenInput => [hiddenInput],
130
+ }));
131
+ const groupAttributes = [
132
+ Role('radiogroup'),
133
+ AriaOrientation(String.toLowerCase(orientation)),
134
+ ...(className ? [Class(className)] : []),
135
+ ];
136
+ return div(groupAttributes, [...renderedOptions, ...hiddenInputs]);
137
+ };
138
+ /** Creates a memoized radio group view. Static config is captured in a closure;
139
+ * only `model` and `toMessage` are compared per render via `createLazy`. */
140
+ export const lazy = (staticConfig) => {
141
+ const lazyView = createLazy();
142
+ return (model, toMessage) => lazyView((currentModel, currentToMessage) => view({
143
+ ...staticConfig,
144
+ model: currentModel,
145
+ toMessage: currentToMessage,
146
+ }), [model, toMessage]);
147
+ };
@@ -0,0 +1,3 @@
1
+ export { init, update, view, lazy, Model, Message } from './index';
2
+ export type { SelectedOption, NoOp, Orientation, InitConfig, ViewConfig, OptionAttributes, OptionConfig, } from './index';
3
+ //# sourceMappingURL=public.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"public.d.ts","sourceRoot":"","sources":["../../../src/ui/radioGroup/public.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,SAAS,CAAA;AAElE,YAAY,EACV,cAAc,EACd,IAAI,EACJ,WAAW,EACX,UAAU,EACV,UAAU,EACV,gBAAgB,EAChB,YAAY,GACb,MAAM,SAAS,CAAA"}
@@ -0,0 +1 @@
1
+ export { init, update, view, lazy, Model, Message } from './index';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "foldkit",
3
- "version": "0.27.0",
3
+ "version": "0.29.0",
4
4
  "description": "Elm-inspired UI framework powered by Effect",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -63,6 +63,10 @@
63
63
  "types": "./dist/ui/index.d.ts",
64
64
  "import": "./dist/ui/index.js"
65
65
  },
66
+ "./ui/checkbox": {
67
+ "types": "./dist/ui/checkbox/public.d.ts",
68
+ "import": "./dist/ui/checkbox/public.js"
69
+ },
66
70
  "./ui/dialog": {
67
71
  "types": "./dist/ui/dialog/public.d.ts",
68
72
  "import": "./dist/ui/dialog/public.js"
@@ -87,6 +91,10 @@
87
91
  "types": "./dist/ui/popover/public.d.ts",
88
92
  "import": "./dist/ui/popover/public.js"
89
93
  },
94
+ "./ui/radioGroup": {
95
+ "types": "./dist/ui/radioGroup/public.d.ts",
96
+ "import": "./dist/ui/radioGroup/public.js"
97
+ },
90
98
  "./ui/switch": {
91
99
  "types": "./dist/ui/switch/public.d.ts",
92
100
  "import": "./dist/ui/switch/public.js"