foldkit 0.115.0 → 0.117.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.
@@ -23,19 +23,19 @@ export declare const today: {
23
23
  /**
24
24
  * The current calendar date in the browser's local timezone.
25
25
  */
26
- local: Effect.Effect<{
27
- readonly year: number;
28
- readonly month: number;
29
- readonly day: number;
30
- }, never, never>;
26
+ local: Effect.Effect<import("effect/Schema").Struct.ReadonlySide<{
27
+ readonly year: import("effect/Schema").Int;
28
+ readonly month: import("effect/Schema").Int;
29
+ readonly day: import("effect/Schema").Int;
30
+ }, "Type">, never, never>;
31
31
  /**
32
32
  * The current calendar date in a specific IANA timezone
33
33
  * (e.g. `"America/New_York"`, `"Europe/London"`, `"Asia/Tokyo"`).
34
34
  */
35
- inZone: (timeZone: string) => Effect.Effect<{
36
- readonly year: number;
37
- readonly month: number;
38
- readonly day: number;
39
- }, never, never>;
35
+ inZone: (timeZone: string) => Effect.Effect<import("effect/Schema").Struct.ReadonlySide<{
36
+ readonly year: import("effect/Schema").Int;
37
+ readonly month: import("effect/Schema").Int;
38
+ readonly day: import("effect/Schema").Int;
39
+ }, "Type">, never, never>;
40
40
  };
41
41
  //# sourceMappingURL=today.d.ts.map
@@ -1,8 +1,8 @@
1
- import { Option } from 'effect';
1
+ import { Option, Schema as S } from 'effect';
2
2
  export declare const GOT_MESSAGE_PATTERN: RegExp;
3
- export declare const isTagged: <I>(input: I) => input is I & {
4
- readonly _tag: string;
5
- };
3
+ export declare const isTagged: <I>(input: I) => input is I & S.Struct.ReadonlySide<{
4
+ readonly _tag: S.String;
5
+ }, "Type">;
6
6
  /** Submodel chain information extracted from a recorded Message. */
7
7
  export type SubmodelInfo = Readonly<{
8
8
  submodelPath: ReadonlyArray<string>;
@@ -1 +1 @@
1
- {"version":3,"file":"submodelPath.d.ts","sourceRoot":"","sources":["../../src/devTools/submodelPath.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAqB,MAAM,QAAQ,CAAA;AAElD,eAAO,MAAM,mBAAmB,QAAmB,CAAA;AAGnD,eAAO,MAAM,QAAQ;;CAAe,CAAA;AAEpC,oEAAoE;AACpE,MAAM,MAAM,YAAY,GAAG,QAAQ,CAAC;IAClC,YAAY,EAAE,aAAa,CAAC,MAAM,CAAC,CAAA;IACnC,YAAY,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;CACpC,CAAC,CAAA;AAEF;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,mBAAmB,GAC9B,KAAK,MAAM,EACX,SAAS,OAAO,KACf,YAuBF,CAAA"}
1
+ {"version":3,"file":"submodelPath.d.ts","sourceRoot":"","sources":["../../src/devTools/submodelPath.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,IAAI,CAAC,EAAQ,MAAM,QAAQ,CAAA;AAElD,eAAO,MAAM,mBAAmB,QAAmB,CAAA;AAGnD,eAAO,MAAM,QAAQ;;UAAe,CAAA;AAEpC,oEAAoE;AACpE,MAAM,MAAM,YAAY,GAAG,QAAQ,CAAC;IAClC,YAAY,EAAE,aAAa,CAAC,MAAM,CAAC,CAAA;IACnC,YAAY,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;CACpC,CAAC,CAAA;AAEF;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,mBAAmB,GAC9B,KAAK,MAAM,EACX,SAAS,OAAO,KACf,YAuBF,CAAA"}
package/dist/dom/dom.d.ts CHANGED
@@ -125,6 +125,24 @@ export declare const scrollIntoView: (selector: string, options?: Readonly<{
125
125
  export declare const scrollIntoViewAfterPaint: (selector: string, options?: Readonly<{
126
126
  block?: ScrollLogicalPosition;
127
127
  }>) => Effect.Effect<void, ElementNotFound>;
128
+ /**
129
+ * Like `scrollIntoViewAfterPaint`, but skips the scroll if the element is
130
+ * already fully visible within its scroll container.
131
+ *
132
+ * Defaults to `{ block: 'center' }`; pass a different `block` when the
133
+ * target should land at a specific position when it does need to scroll.
134
+ *
135
+ * Fails with `ElementNotFound` if the selector does not match an `HTMLElement`.
136
+ *
137
+ * @example
138
+ * ```typescript
139
+ * Dom.scrollIntoViewIfNotVisible('#active-nav-link')
140
+ * Dom.scrollIntoViewIfNotVisible('#active-nav-link', { block: 'nearest' })
141
+ * ```
142
+ */
143
+ export declare const scrollIntoViewIfNotVisible: (selector: string, options?: Readonly<{
144
+ block?: ScrollLogicalPosition;
145
+ }>) => Effect.Effect<void, ElementNotFound>;
128
146
  /** Direction for focus advancement: forward or backward in tab order. */
129
147
  export type FocusDirection = 'Next' | 'Previous';
130
148
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"dom.d.ts","sourceRoot":"","sources":["../../src/dom/dom.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,MAAM,EAMP,MAAM,QAAQ,CAAA;AAGf,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAA;AAiC5C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AACH,eAAO,MAAM,KAAK,GAChB,UAAU,MAAM,EAChB,UAAU,QAAQ,CAAC;IAAE,aAAa,CAAC,EAAE,OAAO,CAAC;IAAC,aAAa,CAAC,EAAE,OAAO,CAAA;CAAE,CAAC,KACvE,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,eAAe,CAQlC,CAAA;AAEJ;;;;;;;;;;;;;;;;;GAiBG;AACH,eAAO,MAAM,SAAS,GACpB,UAAU,MAAM,EAChB,UAAU,QAAQ,CAAC;IAAE,aAAa,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,KAC7C,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,eAAe,CAsElC,CAAA;AAuBJ;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,UAAU,GACrB,UAAU,MAAM,KACf,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,eAAe,CAyBlC,CAAA;AAEJ;;;;;;;;GAQG;AACH,eAAO,MAAM,YAAY,GACvB,UAAU,MAAM,KACf,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,eAAe,CAKlC,CAAA;AAEJ;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,cAAc,GACzB,UAAU,MAAM,EAChB,UAAU,QAAQ,CAAC;IAAE,KAAK,CAAC,EAAE,qBAAqB,CAAA;CAAE,CAAC,KACpD,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,eAAe,CAKlC,CAAA;AAEJ;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,eAAO,MAAM,wBAAwB,GACnC,UAAU,MAAM,EAChB,UAAU,QAAQ,CAAC;IAAE,KAAK,CAAC,EAAE,qBAAqB,CAAA;CAAE,CAAC,KACpD,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,eAAe,CAKlC,CAAA;AAEJ,yEAAyE;AACzE,MAAM,MAAM,cAAc,GAAG,MAAM,GAAG,UAAU,CAAA;AAEhD;;;;;;;;GAQG;AACH,eAAO,MAAM,YAAY,GACvB,UAAU,MAAM,EAChB,WAAW,cAAc,KACxB,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,eAAe,CAiClC,CAAA"}
1
+ {"version":3,"file":"dom.d.ts","sourceRoot":"","sources":["../../src/dom/dom.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,MAAM,EAMP,MAAM,QAAQ,CAAA;AAGf,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAA;AAiC5C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AACH,eAAO,MAAM,KAAK,GAChB,UAAU,MAAM,EAChB,UAAU,QAAQ,CAAC;IAAE,aAAa,CAAC,EAAE,OAAO,CAAC;IAAC,aAAa,CAAC,EAAE,OAAO,CAAA;CAAE,CAAC,KACvE,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,eAAe,CAQlC,CAAA;AAEJ;;;;;;;;;;;;;;;;;GAiBG;AACH,eAAO,MAAM,SAAS,GACpB,UAAU,MAAM,EAChB,UAAU,QAAQ,CAAC;IAAE,aAAa,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,KAC7C,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,eAAe,CAsElC,CAAA;AAuBJ;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,UAAU,GACrB,UAAU,MAAM,KACf,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,eAAe,CAyBlC,CAAA;AAEJ;;;;;;;;GAQG;AACH,eAAO,MAAM,YAAY,GACvB,UAAU,MAAM,KACf,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,eAAe,CAKlC,CAAA;AAEJ;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,cAAc,GACzB,UAAU,MAAM,EAChB,UAAU,QAAQ,CAAC;IAAE,KAAK,CAAC,EAAE,qBAAqB,CAAA;CAAE,CAAC,KACpD,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,eAAe,CAKlC,CAAA;AAEJ;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,eAAO,MAAM,wBAAwB,GACnC,UAAU,MAAM,EAChB,UAAU,QAAQ,CAAC;IAAE,KAAK,CAAC,EAAE,qBAAqB,CAAA;CAAE,CAAC,KACpD,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,eAAe,CAKlC,CAAA;AAcJ;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,0BAA0B,GACrC,UAAU,MAAM,EAChB,UAAU,QAAQ,CAAC;IAAE,KAAK,CAAC,EAAE,qBAAqB,CAAA;CAAE,CAAC,KACpD,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,eAAe,CAkBlC,CAAA;AAEJ,yEAAyE;AACzE,MAAM,MAAM,cAAc,GAAG,MAAM,GAAG,UAAU,CAAA;AAEhD;;;;;;;;GAQG;AACH,eAAO,MAAM,YAAY,GACvB,UAAU,MAAM,EAChB,WAAW,cAAc,KACxB,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,eAAe,CAiClC,CAAA"}
package/dist/dom/dom.js CHANGED
@@ -232,6 +232,48 @@ export const scrollIntoViewAfterPaint = (selector, options) => Effect.gen(functi
232
232
  const element = yield* queryHTMLElement(selector);
233
233
  element.scrollIntoView({ block: options?.block ?? 'nearest' });
234
234
  });
235
+ const findScrollParent = (element) => {
236
+ let candidate = element.parentElement;
237
+ while (candidate !== null) {
238
+ const { overflowY } = getComputedStyle(candidate);
239
+ if (overflowY === 'scroll' || overflowY === 'auto') {
240
+ return Option.some(candidate);
241
+ }
242
+ candidate = candidate.parentElement;
243
+ }
244
+ return Option.none();
245
+ };
246
+ /**
247
+ * Like `scrollIntoViewAfterPaint`, but skips the scroll if the element is
248
+ * already fully visible within its scroll container.
249
+ *
250
+ * Defaults to `{ block: 'center' }`; pass a different `block` when the
251
+ * target should land at a specific position when it does need to scroll.
252
+ *
253
+ * Fails with `ElementNotFound` if the selector does not match an `HTMLElement`.
254
+ *
255
+ * @example
256
+ * ```typescript
257
+ * Dom.scrollIntoViewIfNotVisible('#active-nav-link')
258
+ * Dom.scrollIntoViewIfNotVisible('#active-nav-link', { block: 'nearest' })
259
+ * ```
260
+ */
261
+ export const scrollIntoViewIfNotVisible = (selector, options) => Effect.gen(function* () {
262
+ yield* afterPaint;
263
+ const element = yield* queryHTMLElement(selector);
264
+ Option.match(findScrollParent(element), {
265
+ onNone: () => element.scrollIntoView({ block: options?.block ?? 'center' }),
266
+ onSome: scrollParent => {
267
+ const parentRect = scrollParent.getBoundingClientRect();
268
+ const elementRect = element.getBoundingClientRect();
269
+ const isFullyVisible = elementRect.top >= parentRect.top &&
270
+ elementRect.bottom <= parentRect.bottom;
271
+ if (!isFullyVisible) {
272
+ element.scrollIntoView({ block: options?.block ?? 'center' });
273
+ }
274
+ },
275
+ });
276
+ });
235
277
  /**
236
278
  * Focuses the next or previous focusable element in the document relative to the element matching the given selector.
237
279
  * Fails with `ElementNotFound` if the selector does not match an `HTMLElement`.
@@ -1,5 +1,5 @@
1
1
  export { ElementNotFound } from './error.js';
2
- export { advanceFocus, clickElement, closeModal, focus, scrollIntoView, scrollIntoViewAfterPaint, showModal, } from './dom.js';
2
+ export { advanceFocus, clickElement, closeModal, focus, scrollIntoView, scrollIntoViewAfterPaint, scrollIntoViewIfNotVisible, showModal, } from './dom.js';
3
3
  export type { FocusDirection } from './dom.js';
4
4
  export { detectElementMovement } from './elementMovement.js';
5
5
  export { inertOthers, restoreInert } from './inert.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/dom/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAA;AAC5C,OAAO,EACL,YAAY,EACZ,YAAY,EACZ,UAAU,EACV,KAAK,EACL,cAAc,EACd,wBAAwB,EACxB,SAAS,GACV,MAAM,UAAU,CAAA;AACjB,YAAY,EAAE,cAAc,EAAE,MAAM,UAAU,CAAA;AAC9C,OAAO,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAA;AAC5D,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,YAAY,CAAA;AACtD,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAA;AAC1D,OAAO,EAAE,uBAAuB,EAAE,MAAM,uBAAuB,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/dom/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAA;AAC5C,OAAO,EACL,YAAY,EACZ,YAAY,EACZ,UAAU,EACV,KAAK,EACL,cAAc,EACd,wBAAwB,EACxB,0BAA0B,EAC1B,SAAS,GACV,MAAM,UAAU,CAAA;AACjB,YAAY,EAAE,cAAc,EAAE,MAAM,UAAU,CAAA;AAC9C,OAAO,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAA;AAC5D,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,YAAY,CAAA;AACtD,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAA;AAC1D,OAAO,EAAE,uBAAuB,EAAE,MAAM,uBAAuB,CAAA"}
package/dist/dom/index.js CHANGED
@@ -1,5 +1,5 @@
1
1
  export { ElementNotFound } from './error.js';
2
- export { advanceFocus, clickElement, closeModal, focus, scrollIntoView, scrollIntoViewAfterPaint, showModal, } from './dom.js';
2
+ export { advanceFocus, clickElement, closeModal, focus, scrollIntoView, scrollIntoViewAfterPaint, scrollIntoViewIfNotVisible, showModal, } from './dom.js';
3
3
  export { detectElementMovement } from './elementMovement.js';
4
4
  export { inertOthers, restoreInert } from './inert.js';
5
5
  export { lockScroll, unlockScroll } from './scrollLock.js';
@@ -1,3 +1,3 @@
1
- export { ElementNotFound, advanceFocus, clickElement, closeModal, detectElementMovement, focus, inertOthers, lockScroll, restoreInert, scrollIntoView, scrollIntoViewAfterPaint, showModal, unlockScroll, waitForAnimationSettled, } from './index.js';
1
+ export { ElementNotFound, advanceFocus, clickElement, closeModal, detectElementMovement, focus, inertOthers, lockScroll, restoreInert, scrollIntoView, scrollIntoViewAfterPaint, scrollIntoViewIfNotVisible, showModal, unlockScroll, waitForAnimationSettled, } from './index.js';
2
2
  export type { FocusDirection } from './index.js';
3
3
  //# sourceMappingURL=public.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"public.d.ts","sourceRoot":"","sources":["../../src/dom/public.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,eAAe,EACf,YAAY,EACZ,YAAY,EACZ,UAAU,EACV,qBAAqB,EACrB,KAAK,EACL,WAAW,EACX,UAAU,EACV,YAAY,EACZ,cAAc,EACd,wBAAwB,EACxB,SAAS,EACT,YAAY,EACZ,uBAAuB,GACxB,MAAM,YAAY,CAAA;AACnB,YAAY,EAAE,cAAc,EAAE,MAAM,YAAY,CAAA"}
1
+ {"version":3,"file":"public.d.ts","sourceRoot":"","sources":["../../src/dom/public.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,eAAe,EACf,YAAY,EACZ,YAAY,EACZ,UAAU,EACV,qBAAqB,EACrB,KAAK,EACL,WAAW,EACX,UAAU,EACV,YAAY,EACZ,cAAc,EACd,wBAAwB,EACxB,0BAA0B,EAC1B,SAAS,EACT,YAAY,EACZ,uBAAuB,GACxB,MAAM,YAAY,CAAA;AACnB,YAAY,EAAE,cAAc,EAAE,MAAM,YAAY,CAAA"}
@@ -1 +1 @@
1
- export { ElementNotFound, advanceFocus, clickElement, closeModal, detectElementMovement, focus, inertOthers, lockScroll, restoreInert, scrollIntoView, scrollIntoViewAfterPaint, showModal, unlockScroll, waitForAnimationSettled, } from './index.js';
1
+ export { ElementNotFound, advanceFocus, clickElement, closeModal, detectElementMovement, focus, inertOthers, lockScroll, restoreInert, scrollIntoView, scrollIntoViewAfterPaint, scrollIntoViewIfNotVisible, showModal, unlockScroll, waitForAnimationSettled, } from './index.js';
@@ -51,10 +51,10 @@ export type Message = typeof Message.Type;
51
51
  export declare const reloadedSources: ReadonlyArray<RawSource>;
52
52
  export declare const ReloadSources: Command.CommandDefinitionNoArgs<"ReloadSources", Effect.Effect<{
53
53
  readonly _tag: "LoadedSources";
54
- readonly sources: readonly {
55
- readonly kind: "Book";
56
- readonly id: string;
57
- }[];
54
+ readonly sources: readonly S.Struct.ReadonlySide<{
55
+ readonly kind: S.Literal<"Book">;
56
+ readonly id: S.String;
57
+ }, "Type">[];
58
58
  }, never, never>>;
59
59
  export declare const validSources: ReadonlyArray<RawSource>;
60
60
  export declare const malformedSources: ReadonlyArray<RawSource>;
@@ -27,22 +27,22 @@ export declare const Message: S.Union<readonly [import("../../schema/index.js").
27
27
  offset: S.Number;
28
28
  }>]>;
29
29
  export type Message = typeof Message.Type;
30
- export declare const MeasurePanel: Mount.MountDefinitionNoArgs<"MeasurePanel", {
31
- readonly _tag: "MeasuredPanel";
32
- readonly width: number;
33
- } | {
34
- readonly _tag: "FailedMountSidebar";
35
- readonly reason: string;
36
- }>;
37
- export declare const FocusButton: Mount.MountDefinitionNoArgs<"FocusButton", {
38
- readonly _tag: "CompletedFocusButton";
39
- }>;
30
+ export declare const MeasurePanel: Mount.MountDefinitionNoArgs<"MeasurePanel", S.Struct.ReadonlySide<{
31
+ readonly _tag: S.tag<"MeasuredPanel">;
32
+ width: S.Number;
33
+ }, "Type"> | S.Struct.ReadonlySide<{
34
+ readonly _tag: S.tag<"FailedMountSidebar">;
35
+ reason: S.String;
36
+ }, "Type">>;
37
+ export declare const FocusButton: Mount.MountDefinitionNoArgs<"FocusButton", S.Struct.ReadonlySide<{
38
+ readonly _tag: S.tag<"CompletedFocusButton">;
39
+ }, "Type">>;
40
40
  export declare const ScrollList: Mount.MountDefinitionWithArgs<"ScrollList", {
41
41
  offset: S.Number;
42
- }, {
43
- readonly _tag: "ScrolledTo";
44
- readonly offset: number;
45
- }>;
42
+ }, S.Struct.ReadonlySide<{
43
+ readonly _tag: S.tag<"ScrolledTo">;
44
+ offset: S.Number;
45
+ }, "Type">>;
46
46
  export declare const initialModel: Model;
47
47
  export declare const update: (model: Model, message: Message) => readonly [Model, ReadonlyArray<never>];
48
48
  export declare const view: (model: Model) => Html;
@@ -1 +1 @@
1
- {"version":3,"file":"mountPanel.d.ts","sourceRoot":"","sources":["../../../src/test/apps/mountPanel.ts"],"names":[],"mappings":"AAAA,OAAO,EAA8B,MAAM,IAAI,CAAC,EAAE,MAAM,QAAQ,CAAA;AAGhE,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,qBAAqB,CAAA;AAE/C,OAAO,KAAK,KAAK,MAAM,sBAAsB,CAAA;AAI7C,eAAO,MAAM,KAAK;;;;EAIhB,CAAA;AACF,MAAM,MAAM,KAAK,GAAG,OAAO,KAAK,CAAC,IAAI,CAAA;AAIrC,eAAO,MAAM,aAAa,2EAAqB,CAAA;AAC/C,eAAO,MAAM,aAAa;;EAA0C,CAAA;AACpE,eAAO,MAAM,oBAAoB,kFAA4B,CAAA;AAC7D,eAAO,MAAM,kBAAkB;;EAAgD,CAAA;AAC/E,eAAO,MAAM,gBAAgB,8EAAwB,CAAA;AACrD,eAAO,MAAM,UAAU;;EAAwC,CAAA;AAE/D,eAAO,MAAM,OAAO;;;;;;IAOlB,CAAA;AACF,MAAM,MAAM,OAAO,GAAG,OAAO,OAAO,CAAC,IAAI,CAAA;AAWzC,eAAO,MAAM,YAAY;;;;;;EAI6B,CAAA;AAEtD,eAAO,MAAM,WAAW;;EAGuB,CAAA;AAE/C,eAAO,MAAM,UAAU;;;;;EAatB,CAAA;AAID,eAAO,MAAM,YAAY,EAAE,KAI1B,CAAA;AAID,eAAO,MAAM,MAAM,GACjB,OAAO,KAAK,EACZ,SAAS,OAAO,KACf,SAAS,CAAC,KAAK,EAAE,aAAa,CAAC,KAAK,CAAC,CAcrC,CAAA;AAIH,eAAO,MAAM,IAAI,GAAI,OAAO,KAAK,KAAG,IA8BnC,CAAA;AAED;;4BAE4B;AAC5B,eAAO,MAAM,YAAY,GAAI,OAAO,KAAK,KAAG,IAc3C,CAAA;AAED;;;2DAG2D;AAC3D,eAAO,MAAM,cAAc,GAAI,QAAQ,MAAM,KAAG,IAO/C,CAAA"}
1
+ {"version":3,"file":"mountPanel.d.ts","sourceRoot":"","sources":["../../../src/test/apps/mountPanel.ts"],"names":[],"mappings":"AAAA,OAAO,EAA8B,MAAM,IAAI,CAAC,EAAE,MAAM,QAAQ,CAAA;AAGhE,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,qBAAqB,CAAA;AAE/C,OAAO,KAAK,KAAK,MAAM,sBAAsB,CAAA;AAI7C,eAAO,MAAM,KAAK;;;;EAIhB,CAAA;AACF,MAAM,MAAM,KAAK,GAAG,OAAO,KAAK,CAAC,IAAI,CAAA;AAIrC,eAAO,MAAM,aAAa,2EAAqB,CAAA;AAC/C,eAAO,MAAM,aAAa;;EAA0C,CAAA;AACpE,eAAO,MAAM,oBAAoB,kFAA4B,CAAA;AAC7D,eAAO,MAAM,kBAAkB;;EAAgD,CAAA;AAC/E,eAAO,MAAM,gBAAgB,8EAAwB,CAAA;AACrD,eAAO,MAAM,UAAU;;EAAwC,CAAA;AAE/D,eAAO,MAAM,OAAO;;;;;;IAOlB,CAAA;AACF,MAAM,MAAM,OAAO,GAAG,OAAO,OAAO,CAAC,IAAI,CAAA;AAWzC,eAAO,MAAM,YAAY;;;;;;WAI6B,CAAA;AAEtD,eAAO,MAAM,WAAW;;WAGuB,CAAA;AAE/C,eAAO,MAAM,UAAU;;;;;WAatB,CAAA;AAID,eAAO,MAAM,YAAY,EAAE,KAI1B,CAAA;AAID,eAAO,MAAM,MAAM,GACjB,OAAO,KAAK,EACZ,SAAS,OAAO,KACf,SAAS,CAAC,KAAK,EAAE,aAAa,CAAC,KAAK,CAAC,CAcrC,CAAA;AAIH,eAAO,MAAM,IAAI,GAAI,OAAO,KAAK,KAAG,IA8BnC,CAAA;AAED;;4BAE4B;AAC5B,eAAO,MAAM,YAAY,GAAI,OAAO,KAAK,KAAG,IAc3C,CAAA;AAED;;;2DAG2D;AAC3D,eAAO,MAAM,cAAc,GAAI,QAAQ,MAAM,KAAG,IAO/C,CAAA"}
@@ -10,14 +10,14 @@ export declare const Url: S.Struct<{
10
10
  }>;
11
11
  export type Url = typeof Url.Type;
12
12
  /** Parses a URL string into a `Url`, returning `Option.None` if invalid. */
13
- export declare const fromString: (str: string) => Option.Option<{
14
- readonly protocol: string;
15
- readonly host: string;
16
- readonly port: Option.Option<string>;
17
- readonly pathname: string;
18
- readonly search: Option.Option<string>;
19
- readonly hash: Option.Option<string>;
20
- }>;
13
+ export declare const fromString: (str: string) => Option.Option<S.Struct.ReadonlySide<{
14
+ readonly protocol: S.String;
15
+ readonly host: S.String;
16
+ readonly port: S.Option<S.String>;
17
+ readonly pathname: S.String;
18
+ readonly search: S.Option<S.String>;
19
+ readonly hash: S.Option<S.String>;
20
+ }, "Type">>;
21
21
  /** Serializes a `Url` back to a string. */
22
22
  export declare const toString: (url: Url) => string;
23
23
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/url/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,MAAM,EACN,MAAM,IAAI,CAAC,EAIZ,MAAM,QAAQ,CAAA;AAIf,qGAAqG;AACrG,eAAO,MAAM,GAAG;;;;;;;EAOd,CAAA;AACF,MAAM,MAAM,GAAG,GAAG,OAAO,GAAG,CAAC,IAAI,CAAA;AAwFjC,4EAA4E;AAC5E,eAAO,MAAM,UAAU,GAAI,KAAK,MAAM;;;;;;;EAAuC,CAAA;AAC7E,2CAA2C;AAC3C,eAAO,MAAM,QAAQ,GAAI,KAAK,GAAG,WAAqC,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/url/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,MAAM,EACN,MAAM,IAAI,CAAC,EAIZ,MAAM,QAAQ,CAAA;AAIf,qGAAqG;AACrG,eAAO,MAAM,GAAG;;;;;;;EAOd,CAAA;AACF,MAAM,MAAM,GAAG,GAAG,OAAO,GAAG,CAAC,IAAI,CAAA;AAwFjC,4EAA4E;AAC5E,eAAO,MAAM,UAAU,GAAI,KAAK,MAAM;;;;;;;WAAuC,CAAA;AAC7E,2CAA2C;AAC3C,eAAO,MAAM,QAAQ,GAAI,KAAK,GAAG,WAAqC,CAAA"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "foldkit",
3
- "version": "0.115.0",
3
+ "version": "0.117.0",
4
4
  "description": "A TypeScript frontend framework, built on Effect and architected like Elm",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -129,13 +129,13 @@
129
129
  "dist"
130
130
  ],
131
131
  "peerDependencies": {
132
- "@effect/platform-browser": "4.0.0-beta.83",
133
- "effect": "4.0.0-beta.83"
132
+ "@effect/platform-browser": "4.0.0-beta.88",
133
+ "effect": "4.0.0-beta.88"
134
134
  },
135
135
  "devDependencies": {
136
- "@effect/platform-browser": "4.0.0-beta.83",
137
- "@effect/vitest": "4.0.0-beta.83",
138
- "effect": "4.0.0-beta.83",
136
+ "@effect/platform-browser": "4.0.0-beta.88",
137
+ "@effect/vitest": "4.0.0-beta.88",
138
+ "effect": "4.0.0-beta.88",
139
139
  "happy-dom": "^20.10.4",
140
140
  "rimraf": "^6.1.3",
141
141
  "typedoc": "^0.28.19",