@sectile/core 0.1.0 → 0.2.1
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 +3 -2
- package/dist/accordion.d.ts +2 -1
- package/dist/accordion.d.ts.map +1 -1
- package/dist/accordion.js +5 -1
- package/dist/accordion.js.map +1 -1
- package/dist/alert-dialog.d.ts +2 -1
- package/dist/alert-dialog.d.ts.map +1 -1
- package/dist/alert-dialog.js +2 -1
- package/dist/alert-dialog.js.map +1 -1
- package/dist/calendar.d.ts +1 -0
- package/dist/calendar.d.ts.map +1 -1
- package/dist/calendar.js +1 -0
- package/dist/calendar.js.map +1 -1
- package/dist/carousel.d.ts +2 -1
- package/dist/carousel.d.ts.map +1 -1
- package/dist/carousel.js +5 -1
- package/dist/carousel.js.map +1 -1
- package/dist/cascade-select.d.ts +48 -0
- package/dist/cascade-select.d.ts.map +1 -0
- package/dist/cascade-select.js +148 -0
- package/dist/cascade-select.js.map +1 -0
- package/dist/checkbox-group.d.ts +2 -1
- package/dist/checkbox-group.d.ts.map +1 -1
- package/dist/checkbox-group.js +6 -2
- package/dist/checkbox-group.js.map +1 -1
- package/dist/checkbox.d.ts +1 -0
- package/dist/checkbox.d.ts.map +1 -1
- package/dist/checkbox.js +1 -0
- package/dist/checkbox.js.map +1 -1
- package/dist/collection-window.d.ts +51 -0
- package/dist/collection-window.d.ts.map +1 -0
- package/dist/collection-window.js +111 -0
- package/dist/collection-window.js.map +1 -0
- package/dist/color-picker.d.ts +101 -0
- package/dist/color-picker.d.ts.map +1 -0
- package/dist/color-picker.js +503 -0
- package/dist/color-picker.js.map +1 -0
- package/dist/combobox.d.ts +2 -1
- package/dist/combobox.d.ts.map +1 -1
- package/dist/combobox.js +8 -4
- package/dist/combobox.js.map +1 -1
- package/dist/date-field.d.ts +7 -3
- package/dist/date-field.d.ts.map +1 -1
- package/dist/date-field.js +26 -14
- package/dist/date-field.js.map +1 -1
- package/dist/date-picker.d.ts +25 -2
- package/dist/date-picker.d.ts.map +1 -1
- package/dist/date-picker.js +119 -15
- package/dist/date-picker.js.map +1 -1
- package/dist/date-range-field.d.ts +47 -0
- package/dist/date-range-field.d.ts.map +1 -0
- package/dist/date-range-field.js +66 -0
- package/dist/date-range-field.js.map +1 -0
- package/dist/date-range-picker.d.ts +2 -1
- package/dist/date-range-picker.d.ts.map +1 -1
- package/dist/date-range-picker.js +14 -10
- package/dist/date-range-picker.js.map +1 -1
- package/dist/date-time-field.d.ts +7 -3
- package/dist/date-time-field.d.ts.map +1 -1
- package/dist/date-time-field.js +33 -19
- package/dist/date-time-field.js.map +1 -1
- package/dist/date-time-picker.d.ts +19 -2
- package/dist/date-time-picker.d.ts.map +1 -1
- package/dist/date-time-picker.js +21 -16
- package/dist/date-time-picker.js.map +1 -1
- package/dist/date-time-range-picker.d.ts +22 -2
- package/dist/date-time-range-picker.d.ts.map +1 -1
- package/dist/date-time-range-picker.js +49 -23
- package/dist/date-time-range-picker.js.map +1 -1
- package/dist/dialog.d.ts +2 -1
- package/dist/dialog.d.ts.map +1 -1
- package/dist/dialog.js +2 -1
- package/dist/dialog.js.map +1 -1
- package/dist/disclosure.d.ts +1 -0
- package/dist/disclosure.d.ts.map +1 -1
- package/dist/disclosure.js +1 -0
- package/dist/disclosure.js.map +1 -1
- package/dist/editable.d.ts +29 -0
- package/dist/editable.d.ts.map +1 -0
- package/dist/editable.js +34 -0
- package/dist/editable.js.map +1 -0
- package/dist/feed.d.ts +24 -4
- package/dist/feed.d.ts.map +1 -1
- package/dist/feed.js +121 -23
- package/dist/feed.js.map +1 -1
- package/dist/form.d.ts +135 -0
- package/dist/form.d.ts.map +1 -0
- package/dist/form.js +627 -0
- package/dist/form.js.map +1 -0
- package/dist/index.d.ts +21 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/interaction.d.ts +2 -1
- package/dist/interaction.d.ts.map +1 -1
- package/dist/interaction.js +4 -0
- package/dist/interaction.js.map +1 -1
- package/dist/internal/composites/calendar.d.ts +2 -1
- package/dist/internal/composites/calendar.d.ts.map +1 -1
- package/dist/internal/composites/calendar.js +4 -0
- package/dist/internal/composites/calendar.js.map +1 -1
- package/dist/internal/composites/combobox.d.ts +2 -1
- package/dist/internal/composites/combobox.d.ts.map +1 -1
- package/dist/internal/composites/combobox.js +6 -2
- package/dist/internal/composites/combobox.js.map +1 -1
- package/dist/internal/composites/grid-control.d.ts +2 -1
- package/dist/internal/composites/grid-control.d.ts.map +1 -1
- package/dist/internal/composites/grid-control.js +5 -1
- package/dist/internal/composites/grid-control.js.map +1 -1
- package/dist/internal/composites/linear-action.d.ts +2 -1
- package/dist/internal/composites/linear-action.d.ts.map +1 -1
- package/dist/internal/composites/linear-action.js +4 -0
- package/dist/internal/composites/linear-action.js.map +1 -1
- package/dist/internal/composites/listbox.d.ts +3 -1
- package/dist/internal/composites/listbox.d.ts.map +1 -1
- package/dist/internal/composites/listbox.js +12 -4
- package/dist/internal/composites/listbox.js.map +1 -1
- package/dist/internal/composites/menu.d.ts +2 -1
- package/dist/internal/composites/menu.d.ts.map +1 -1
- package/dist/internal/composites/menu.js +5 -1
- package/dist/internal/composites/menu.js.map +1 -1
- package/dist/internal/composites/popup.d.ts +2 -1
- package/dist/internal/composites/popup.d.ts.map +1 -1
- package/dist/internal/composites/popup.js +3 -1
- package/dist/internal/composites/popup.js.map +1 -1
- package/dist/internal/composites/slider.d.ts +2 -1
- package/dist/internal/composites/slider.d.ts.map +1 -1
- package/dist/internal/composites/slider.js +4 -0
- package/dist/internal/composites/slider.js.map +1 -1
- package/dist/internal/composites/tree-grid.d.ts +4 -2
- package/dist/internal/composites/tree-grid.d.ts.map +1 -1
- package/dist/internal/composites/tree-grid.js +7 -0
- package/dist/internal/composites/tree-grid.js.map +1 -1
- package/dist/internal/composites/tree-view.d.ts +4 -1
- package/dist/internal/composites/tree-view.d.ts.map +1 -1
- package/dist/internal/composites/tree-view.js +28 -7
- package/dist/internal/composites/tree-view.js.map +1 -1
- package/dist/internal/editing/text.d.ts +4 -2
- package/dist/internal/editing/text.d.ts.map +1 -1
- package/dist/internal/editing/text.js +10 -0
- package/dist/internal/editing/text.js.map +1 -1
- package/dist/internal/runtime/revision.d.ts +2 -1
- package/dist/internal/runtime/revision.d.ts.map +1 -1
- package/dist/internal/runtime/revision.js +4 -0
- package/dist/internal/runtime/revision.js.map +1 -1
- package/dist/internal/state/checked.d.ts +2 -1
- package/dist/internal/state/checked.d.ts.map +1 -1
- package/dist/internal/state/checked.js +6 -2
- package/dist/internal/state/checked.js.map +1 -1
- package/dist/internal/state/open-state.d.ts +2 -1
- package/dist/internal/state/open-state.d.ts.map +1 -1
- package/dist/internal/state/open-state.js +5 -1
- package/dist/internal/state/open-state.js.map +1 -1
- package/dist/layer-stack.d.ts +47 -0
- package/dist/layer-stack.d.ts.map +1 -0
- package/dist/layer-stack.js +115 -0
- package/dist/layer-stack.js.map +1 -0
- package/dist/listbox.d.ts +1 -0
- package/dist/listbox.d.ts.map +1 -1
- package/dist/listbox.js +1 -0
- package/dist/listbox.js.map +1 -1
- package/dist/menu-button.d.ts +2 -0
- package/dist/menu-button.d.ts.map +1 -1
- package/dist/menu-button.js +2 -0
- package/dist/menu-button.js.map +1 -1
- package/dist/menu.d.ts +3 -1
- package/dist/menu.d.ts.map +1 -1
- package/dist/menu.js +7 -2
- package/dist/menu.js.map +1 -1
- package/dist/menubar.d.ts +2 -0
- package/dist/menubar.d.ts.map +1 -1
- package/dist/menubar.js +2 -0
- package/dist/menubar.js.map +1 -1
- package/dist/month-picker.d.ts +5 -0
- package/dist/month-picker.d.ts.map +1 -0
- package/dist/month-picker.js +4 -0
- package/dist/month-picker.js.map +1 -0
- package/dist/month-range-picker.d.ts +6 -0
- package/dist/month-range-picker.d.ts.map +1 -0
- package/dist/month-range-picker.js +5 -0
- package/dist/month-range-picker.js.map +1 -0
- package/dist/multi-thumb-slider.d.ts +2 -1
- package/dist/multi-thumb-slider.d.ts.map +1 -1
- package/dist/multi-thumb-slider.js +5 -1
- package/dist/multi-thumb-slider.js.map +1 -1
- package/dist/navigation-menu.d.ts +6 -0
- package/dist/navigation-menu.d.ts.map +1 -0
- package/dist/navigation-menu.js +5 -0
- package/dist/navigation-menu.js.map +1 -0
- package/dist/number-field.d.ts +4 -2
- package/dist/number-field.d.ts.map +1 -1
- package/dist/number-field.js +10 -3
- package/dist/number-field.js.map +1 -1
- package/dist/pagination.d.ts +4 -2
- package/dist/pagination.d.ts.map +1 -1
- package/dist/pagination.js +13 -6
- package/dist/pagination.js.map +1 -1
- package/dist/pin-input.d.ts +3 -1
- package/dist/pin-input.d.ts.map +1 -1
- package/dist/pin-input.js +5 -1
- package/dist/pin-input.js.map +1 -1
- package/dist/popover.d.ts +17 -0
- package/dist/popover.d.ts.map +1 -0
- package/dist/popover.js +6 -0
- package/dist/popover.js.map +1 -0
- package/dist/quantity-field.d.ts +2 -1
- package/dist/quantity-field.d.ts.map +1 -1
- package/dist/quantity-field.js +15 -11
- package/dist/quantity-field.js.map +1 -1
- package/dist/radio-group.d.ts +2 -1
- package/dist/radio-group.d.ts.map +1 -1
- package/dist/radio-group.js +4 -0
- package/dist/radio-group.js.map +1 -1
- package/dist/range-calendar.d.ts +6 -0
- package/dist/range-calendar.d.ts.map +1 -0
- package/dist/range-calendar.js +5 -0
- package/dist/range-calendar.js.map +1 -0
- package/dist/rating.d.ts +2 -1
- package/dist/rating.d.ts.map +1 -1
- package/dist/rating.js +6 -2
- package/dist/rating.js.map +1 -1
- package/dist/reorder.d.ts +47 -0
- package/dist/reorder.d.ts.map +1 -0
- package/dist/reorder.js +110 -0
- package/dist/reorder.js.map +1 -0
- package/dist/revision.d.ts +1 -0
- package/dist/revision.d.ts.map +1 -1
- package/dist/revision.js +1 -0
- package/dist/revision.js.map +1 -1
- package/dist/select.d.ts +2 -1
- package/dist/select.d.ts.map +1 -1
- package/dist/select.js +5 -1
- package/dist/select.js.map +1 -1
- package/dist/shared.d.ts +1 -0
- package/dist/shared.d.ts.map +1 -1
- package/dist/shared.js.map +1 -1
- package/dist/slider.d.ts +1 -0
- package/dist/slider.d.ts.map +1 -1
- package/dist/slider.js +1 -0
- package/dist/slider.js.map +1 -1
- package/dist/spin-button.d.ts +3 -1
- package/dist/spin-button.d.ts.map +1 -1
- package/dist/spin-button.js +7 -3
- package/dist/spin-button.js.map +1 -1
- package/dist/stepper.d.ts +2 -1
- package/dist/stepper.d.ts.map +1 -1
- package/dist/stepper.js +4 -0
- package/dist/stepper.js.map +1 -1
- package/dist/structures/grid.d.ts +3 -1
- package/dist/structures/grid.d.ts.map +1 -1
- package/dist/structures/grid.js +5 -0
- package/dist/structures/grid.js.map +1 -1
- package/dist/structures/range.d.ts +4 -2
- package/dist/structures/range.d.ts.map +1 -1
- package/dist/structures/range.js +8 -1
- package/dist/structures/range.js.map +1 -1
- package/dist/structures/sequence.d.ts +4 -2
- package/dist/structures/sequence.d.ts.map +1 -1
- package/dist/structures/sequence.js +4 -0
- package/dist/structures/sequence.js.map +1 -1
- package/dist/structures/tree.d.ts +2 -1
- package/dist/structures/tree.d.ts.map +1 -1
- package/dist/structures/tree.js +4 -0
- package/dist/structures/tree.js.map +1 -1
- package/dist/switch.d.ts +2 -1
- package/dist/switch.d.ts.map +1 -1
- package/dist/switch.js +6 -2
- package/dist/switch.js.map +1 -1
- package/dist/tabs.d.ts +2 -1
- package/dist/tabs.d.ts.map +1 -1
- package/dist/tabs.js +4 -0
- package/dist/tabs.js.map +1 -1
- package/dist/tags-input.d.ts +3 -1
- package/dist/tags-input.d.ts.map +1 -1
- package/dist/tags-input.js +5 -1
- package/dist/tags-input.js.map +1 -1
- package/dist/text.d.ts +2 -0
- package/dist/text.d.ts.map +1 -1
- package/dist/text.js +2 -0
- package/dist/text.js.map +1 -1
- package/dist/time-field.d.ts +4 -2
- package/dist/time-field.d.ts.map +1 -1
- package/dist/time-field.js +20 -11
- package/dist/time-field.js.map +1 -1
- package/dist/time-range-field.d.ts +53 -0
- package/dist/time-range-field.d.ts.map +1 -0
- package/dist/time-range-field.js +75 -0
- package/dist/time-range-field.js.map +1 -0
- package/dist/timer.d.ts +37 -0
- package/dist/timer.d.ts.map +1 -0
- package/dist/timer.js +84 -0
- package/dist/timer.js.map +1 -0
- package/dist/toast.d.ts +56 -0
- package/dist/toast.d.ts.map +1 -0
- package/dist/toast.js +87 -0
- package/dist/toast.js.map +1 -0
- package/dist/toggle-button.d.ts +2 -1
- package/dist/toggle-button.d.ts.map +1 -1
- package/dist/toggle-button.js +6 -2
- package/dist/toggle-button.js.map +1 -1
- package/dist/toggle-group.d.ts +25 -0
- package/dist/toggle-group.d.ts.map +1 -0
- package/dist/toggle-group.js +30 -0
- package/dist/toggle-group.js.map +1 -0
- package/dist/toolbar.d.ts +1 -0
- package/dist/toolbar.d.ts.map +1 -1
- package/dist/toolbar.js +1 -0
- package/dist/toolbar.js.map +1 -1
- package/dist/tooltip.d.ts +1 -0
- package/dist/tooltip.d.ts.map +1 -1
- package/dist/tooltip.js +1 -0
- package/dist/tooltip.js.map +1 -1
- package/dist/tree-grid.d.ts +4 -1
- package/dist/tree-grid.d.ts.map +1 -1
- package/dist/tree-grid.js +12 -6
- package/dist/tree-grid.js.map +1 -1
- package/dist/tree-view.d.ts +2 -1
- package/dist/tree-view.d.ts.map +1 -1
- package/dist/tree-view.js +1 -0
- package/dist/tree-view.js.map +1 -1
- package/dist/units.d.ts +10 -5
- package/dist/units.d.ts.map +1 -1
- package/dist/units.js +19 -3
- package/dist/units.js.map +1 -1
- package/dist/window-splitter.d.ts +1 -0
- package/dist/window-splitter.d.ts.map +1 -1
- package/dist/window-splitter.js +1 -0
- package/dist/window-splitter.js.map +1 -1
- package/dist/year-picker.d.ts +10 -0
- package/dist/year-picker.d.ts.map +1 -0
- package/dist/year-picker.js +27 -0
- package/dist/year-picker.js.map +1 -0
- package/dist/year-range-picker.d.ts +6 -0
- package/dist/year-range-picker.d.ts.map +1 -0
- package/dist/year-range-picker.js +5 -0
- package/dist/year-range-picker.js.map +1 -0
- package/package.json +100 -2
package/README.md
CHANGED
|
@@ -5,8 +5,9 @@ Pure, renderer-neutral interaction semantics with explicit laws, failures, and r
|
|
|
5
5
|
## Scope
|
|
6
6
|
|
|
7
7
|
- Ordered structures: sequence, range, grid, and tree
|
|
8
|
-
- Reusable state: cursor, selection, expansion, revision, and
|
|
9
|
-
-
|
|
8
|
+
- Reusable state: cursor, selection, expansion, revision, interaction gates, and finite collection windows
|
|
9
|
+
- Coordination primitives for generation-bound async work, nested layer stacks, and identity-based reordering
|
|
10
|
+
- Composite behavior for selection, navigation, disclosure, editing, forms, and overlays
|
|
10
11
|
- UTF-16-safe text editing, exact decimal expressions, and dimension-checked units
|
|
11
12
|
|
|
12
13
|
## Contract
|
package/dist/accordion.d.ts
CHANGED
|
@@ -38,6 +38,7 @@ export interface AccordionUpdate<ID extends StableID = StableID> {
|
|
|
38
38
|
readonly state: AccordionState<ID>;
|
|
39
39
|
readonly commands: readonly AccordionCommand<ID>[];
|
|
40
40
|
}
|
|
41
|
-
export declare function createAccordionState<ID extends StableID>(domain: Sequence<ID>, input?: AccordionStateInput<ID>, policies?: AccordionPolicies<ID>):
|
|
41
|
+
export declare function createAccordionState<ID extends StableID>(domain: Sequence<ID>, input?: AccordionStateInput<ID>, policies?: AccordionPolicies<ID>): AccordionState<ID>;
|
|
42
|
+
export declare function tryCreateAccordionState<ID extends StableID>(domain: Sequence<ID>, input?: AccordionStateInput<ID>, policies?: AccordionPolicies<ID>): Result<AccordionState<ID>>;
|
|
42
43
|
export declare function applyAccordionEvent<ID extends StableID>(domain: Sequence<ID>, state: AccordionState<ID>, event: AccordionEvent<ID>, policies?: AccordionPolicies<ID>): Result<AccordionUpdate<ID>>;
|
|
43
44
|
//# sourceMappingURL=accordion.d.ts.map
|
package/dist/accordion.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"accordion.d.ts","sourceRoot":"","sources":["../src/accordion.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"accordion.d.ts","sourceRoot":"","sources":["../src/accordion.ts"],"names":[],"mappings":"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"}
|
package/dist/accordion.js
CHANGED
|
@@ -1,8 +1,12 @@
|
|
|
1
|
+
import { unwrap } from './result.js';
|
|
1
2
|
import { fail, ok } from './internal/kernel/foundation.js';
|
|
2
3
|
import { createMachineUpdate } from './internal/kernel/machine.js';
|
|
3
4
|
import { applyLinearActionEvent, createLinearActionState, } from './internal/composites/linear-action.js';
|
|
4
5
|
import { createCursorState } from './internal/state/cursor.js';
|
|
5
6
|
export function createAccordionState(domain, input = {}, policies = {}) {
|
|
7
|
+
return unwrap(tryCreateAccordionState(domain, input, policies));
|
|
8
|
+
}
|
|
9
|
+
export function tryCreateAccordionState(domain, input = {}, policies = {}) {
|
|
6
10
|
const current = input.current ?? null;
|
|
7
11
|
if (current !== null && !domain.contains(current)) {
|
|
8
12
|
return fail('construction', 'accordion-cursor-outside-domain', 'Accordion cursor must exist in its domain.');
|
|
@@ -26,7 +30,7 @@ export function createAccordionState(domain, input = {}, policies = {}) {
|
|
|
26
30
|
return ok(accordionState(current, openIDs));
|
|
27
31
|
}
|
|
28
32
|
export function applyAccordionEvent(domain, state, event, policies = {}) {
|
|
29
|
-
const normalized =
|
|
33
|
+
const normalized = tryCreateAccordionState(domain, {
|
|
30
34
|
current: state.cursor.current, openIDs: state.openIDs,
|
|
31
35
|
}, policies);
|
|
32
36
|
if (!normalized.ok)
|
package/dist/accordion.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"accordion.js","sourceRoot":"","sources":["../src/accordion.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"accordion.js","sourceRoot":"","sources":["../src/accordion.ts"],"names":[],"mappings":"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"}
|
package/dist/alert-dialog.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { Result } from './shared.js';
|
|
2
|
-
import { createDialogState, type DialogEvent, type DialogState } from './dialog.js';
|
|
2
|
+
import { createDialogState, tryCreateDialogState, type DialogEvent, type DialogState } from './dialog.js';
|
|
3
3
|
export type AlertDialogState = DialogState;
|
|
4
4
|
export type AlertDialogEvent = DialogEvent;
|
|
5
5
|
export type AlertDialogCommand = {
|
|
@@ -14,5 +14,6 @@ export interface AlertDialogUpdate {
|
|
|
14
14
|
readonly commands: readonly AlertDialogCommand[];
|
|
15
15
|
}
|
|
16
16
|
export declare const createAlertDialogState: typeof createDialogState;
|
|
17
|
+
export declare const tryCreateAlertDialogState: typeof tryCreateDialogState;
|
|
17
18
|
export declare function applyAlertDialogEvent(state: AlertDialogState, event: AlertDialogEvent): Result<AlertDialogUpdate>;
|
|
18
19
|
//# sourceMappingURL=alert-dialog.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"alert-dialog.d.ts","sourceRoot":"","sources":["../src/alert-dialog.ts"],"names":[],"mappings":"AAAA,OAAO,KAAI,EAAC,MAAM,EAAC,MAAI,aAAa,CAAC;AAAA,OAAM,EAAkB,iBAAiB,EAAC,KAAK,WAAW,EAAC,KAAK,WAAW,EAAC,MAAI,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"alert-dialog.d.ts","sourceRoot":"","sources":["../src/alert-dialog.ts"],"names":[],"mappings":"AAAA,OAAO,KAAI,EAAC,MAAM,EAAC,MAAI,aAAa,CAAC;AAAA,OAAM,EAAkB,iBAAiB,EAAC,oBAAoB,EAAC,KAAK,WAAW,EAAC,KAAK,WAAW,EAAC,MAAI,aAAa,CAAC;AACxJ,MAAM,MAAM,gBAAgB,GAAC,WAAW,CAAC;AAAA,MAAM,MAAM,gBAAgB,GAAC,WAAW,CAAC;AAAA,MAAM,MAAM,kBAAkB,GAAC;IAAC,QAAQ,CAAC,IAAI,EAAC,uBAAuB,CAAA;CAAC,GAAC;IAAC,QAAQ,CAAC,IAAI,EAAC,uBAAuB,CAAA;CAAC,GAAC;IAAC,QAAQ,CAAC,IAAI,EAAC,gBAAgB,CAAA;CAAC,CAAC;AAAA,MAAM,WAAW,iBAAiB;IAAC,QAAQ,CAAC,KAAK,EAAC,gBAAgB,CAAC;IAAA,QAAQ,CAAC,QAAQ,EAAC,SAAS,kBAAkB,EAAE,CAAA;CAAC;AACrV,eAAO,MAAM,sBAAsB,EAAC,OAAO,iBAAmC,CAAC;AAAA,eAAO,MAAM,yBAAyB,EAAC,OAAO,oBAAyC,CAAC;AAAA,wBAAgB,qBAAqB,CAAC,KAAK,EAAC,gBAAgB,EAAC,KAAK,EAAC,gBAAgB,GAAE,MAAM,CAAC,iBAAiB,CAAC,CAAyT"}
|
package/dist/alert-dialog.js
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
|
-
import { applyDialogEvent, createDialogState } from './dialog.js';
|
|
1
|
+
import { applyDialogEvent, createDialogState, tryCreateDialogState } from './dialog.js';
|
|
2
2
|
export const createAlertDialogState = createDialogState;
|
|
3
|
+
export const tryCreateAlertDialogState = tryCreateDialogState;
|
|
3
4
|
export function applyAlertDialogEvent(state, event) { const r = applyDialogEvent(state, event); if (!r.ok)
|
|
4
5
|
return r; const commands = []; for (const c of r.value.commands) {
|
|
5
6
|
commands.push(c);
|
package/dist/alert-dialog.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"alert-dialog.js","sourceRoot":"","sources":["../src/alert-dialog.ts"],"names":[],"mappings":"AAAqC,OAAM,EAAC,gBAAgB,EAAC,iBAAiB,EAAmC,MAAI,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"alert-dialog.js","sourceRoot":"","sources":["../src/alert-dialog.ts"],"names":[],"mappings":"AAAqC,OAAM,EAAC,gBAAgB,EAAC,iBAAiB,EAAC,oBAAoB,EAAmC,MAAI,aAAa,CAAC;AAExJ,MAAM,CAAC,MAAM,sBAAsB,GAA0B,iBAAiB,CAAC;AAAA,MAAM,CAAC,MAAM,yBAAyB,GAA6B,oBAAoB,CAAC;AAAA,MAAM,UAAU,qBAAqB,CAAC,KAAsB,EAAC,KAAsB,IAA4B,MAAM,CAAC,GAAC,gBAAgB,CAAC,KAAK,EAAC,KAAK,CAAC,CAAC,CAAA,IAAG,CAAC,CAAC,CAAC,EAAE;IAAC,OAAO,CAAC,CAAC,CAAA,MAAM,QAAQ,GAAsB,EAAE,CAAC,CAAA,KAAI,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,QAAQ,EAAC,CAAC;IAAA,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAAA,IAAG,CAAC,CAAC,IAAI,KAAG,uBAAuB;QAAC,QAAQ,CAAC,IAAI,CAAC,EAAC,IAAI,EAAC,gBAAgB,EAAC,CAAC,CAAA;AAAA,CAAC,CAAA,OAAM,EAAC,EAAE,EAAC,IAAI,EAAC,KAAK,EAAC,MAAM,CAAC,MAAM,CAAC,EAAC,KAAK,EAAC,CAAC,CAAC,KAAK,CAAC,KAAK,EAAC,QAAQ,EAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAC,CAAC,EAAC,CAAA,CAAA,CAAC"}
|
package/dist/calendar.d.ts
CHANGED
|
@@ -1,2 +1,3 @@
|
|
|
1
1
|
export { applyCalendarEvent, createCalendarState, type CalendarCommand, type CalendarEvent, type CalendarPolicies, type CalendarState, type CalendarStateInput, type CalendarUpdate, } from './internal/composites/calendar.js';
|
|
2
|
+
export { tryCreateCalendarState } from './internal/composites/calendar.js';
|
|
2
3
|
//# sourceMappingURL=calendar.d.ts.map
|
package/dist/calendar.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"calendar.d.ts","sourceRoot":"","sources":["../src/calendar.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,kBAAkB,EAClB,mBAAmB,EACnB,KAAK,eAAe,EACpB,KAAK,aAAa,EAClB,KAAK,gBAAgB,EACrB,KAAK,aAAa,EAClB,KAAK,kBAAkB,EACvB,KAAK,cAAc,GACpB,MAAM,mCAAmC,CAAC"}
|
|
1
|
+
{"version":3,"file":"calendar.d.ts","sourceRoot":"","sources":["../src/calendar.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,kBAAkB,EAClB,mBAAmB,EACnB,KAAK,eAAe,EACpB,KAAK,aAAa,EAClB,KAAK,gBAAgB,EACrB,KAAK,aAAa,EAClB,KAAK,kBAAkB,EACvB,KAAK,cAAc,GACpB,MAAM,mCAAmC,CAAC;AAE3C,OAAO,EAAE,sBAAsB,EAAE,MAAM,mCAAmC,CAAC"}
|
package/dist/calendar.js
CHANGED
package/dist/calendar.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"calendar.js","sourceRoot":"","sources":["../src/calendar.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,kBAAkB,EAClB,mBAAmB,GAOpB,MAAM,mCAAmC,CAAC"}
|
|
1
|
+
{"version":3,"file":"calendar.js","sourceRoot":"","sources":["../src/calendar.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,kBAAkB,EAClB,mBAAmB,GAOpB,MAAM,mCAAmC,CAAC;AAE3C,OAAO,EAAE,sBAAsB,EAAE,MAAM,mCAAmC,CAAC"}
|
package/dist/carousel.d.ts
CHANGED
|
@@ -33,7 +33,8 @@ export interface CarouselUpdate<ID extends StableID = StableID> {
|
|
|
33
33
|
readonly state: CarouselState<ID>;
|
|
34
34
|
readonly commands: readonly CarouselCommand<ID>[];
|
|
35
35
|
}
|
|
36
|
-
export declare function createCarouselState<ID extends StableID>(slides: Sequence<ID>, current?: ID | null, paused?: boolean, pauseReasons?: readonly CarouselPauseReason[]):
|
|
36
|
+
export declare function createCarouselState<ID extends StableID>(slides: Sequence<ID>, current?: ID | null, paused?: boolean, pauseReasons?: readonly CarouselPauseReason[]): CarouselState<ID>;
|
|
37
|
+
export declare function tryCreateCarouselState<ID extends StableID>(slides: Sequence<ID>, current?: ID | null, paused?: boolean, pauseReasons?: readonly CarouselPauseReason[]): Result<CarouselState<ID>>;
|
|
37
38
|
export declare function getCarouselPosition<ID extends StableID>(slides: Sequence<ID>, state: CarouselState<ID>): CarouselPosition;
|
|
38
39
|
export declare function isCarouselRotationPaused(state: CarouselState): boolean;
|
|
39
40
|
export declare function applyCarouselEvent<ID extends StableID>(slides: Sequence<ID>, state: CarouselState<ID>, event: CarouselEvent<ID>, policies?: CarouselPolicies): Result<CarouselUpdate<ID>>;
|
package/dist/carousel.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"carousel.d.ts","sourceRoot":"","sources":["../src/carousel.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"carousel.d.ts","sourceRoot":"","sources":["../src/carousel.ts"],"names":[],"mappings":"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"}
|
package/dist/carousel.js
CHANGED
|
@@ -1,7 +1,11 @@
|
|
|
1
|
+
import { unwrap } from './result.js';
|
|
1
2
|
import { fail, ok } from './internal/kernel/foundation.js';
|
|
2
3
|
import { createMachineUpdate } from './internal/kernel/machine.js';
|
|
3
4
|
import { createCursorState } from './internal/state/cursor.js';
|
|
4
5
|
export function createCarouselState(slides, current = null, paused = false, pauseReasons = []) {
|
|
6
|
+
return unwrap(tryCreateCarouselState(slides, current, paused, pauseReasons));
|
|
7
|
+
}
|
|
8
|
+
export function tryCreateCarouselState(slides, current = null, paused = false, pauseReasons = []) {
|
|
5
9
|
if (current !== null && !slides.contains(current))
|
|
6
10
|
return fail('construction', 'carousel-cursor-outside-slides', 'Carousel cursor must identify a slide.');
|
|
7
11
|
return ok(Object.freeze({ cursor: createCursorState(current), paused, pauseReasons: Object.freeze([...new Set(pauseReasons)]) }));
|
|
@@ -13,7 +17,7 @@ export function isCarouselRotationPaused(state) {
|
|
|
13
17
|
return state.paused || state.pauseReasons.length > 0;
|
|
14
18
|
}
|
|
15
19
|
export function applyCarouselEvent(slides, state, event, policies = {}) {
|
|
16
|
-
const valid =
|
|
20
|
+
const valid = tryCreateCarouselState(slides, state.cursor.current, state.paused, state.pauseReasons);
|
|
17
21
|
if (!valid.ok)
|
|
18
22
|
return { ok: false, error: { ...valid.error, class: 'transition-rejection' } };
|
|
19
23
|
if (event === 'pause' || event === 'resume' || event === 'toggle-pause') {
|
package/dist/carousel.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"carousel.js","sourceRoot":"","sources":["../src/carousel.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"carousel.js","sourceRoot":"","sources":["../src/carousel.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import type { Result, StableID } from './shared.js';
|
|
2
|
+
import type { Tree } from './structures/tree.js';
|
|
3
|
+
export type CascadeSelectEvent<ID extends StableID = StableID> = 'open' | 'close' | 'toggle' | 'next' | 'previous' | 'first' | 'last' | 'right' | 'left' | 'select' | {
|
|
4
|
+
readonly type: 'focus';
|
|
5
|
+
readonly id: ID;
|
|
6
|
+
} | {
|
|
7
|
+
readonly type: 'select';
|
|
8
|
+
readonly id: ID;
|
|
9
|
+
};
|
|
10
|
+
export type CascadeSelectCommand<ID extends StableID = StableID> = {
|
|
11
|
+
readonly type: 'focus';
|
|
12
|
+
readonly id: ID;
|
|
13
|
+
} | {
|
|
14
|
+
readonly type: 'select-value';
|
|
15
|
+
readonly id: ID;
|
|
16
|
+
} | {
|
|
17
|
+
readonly type: 'close-popup';
|
|
18
|
+
};
|
|
19
|
+
export interface CascadeSelectState<ID extends StableID = StableID> {
|
|
20
|
+
readonly open: boolean;
|
|
21
|
+
readonly value: ID | null;
|
|
22
|
+
readonly highlighted: ID | null;
|
|
23
|
+
/** Open branch IDs from the root to the deepest visible column. */
|
|
24
|
+
readonly path: readonly ID[];
|
|
25
|
+
}
|
|
26
|
+
export interface CascadeSelectStateInput<ID extends StableID = StableID> {
|
|
27
|
+
readonly open?: boolean;
|
|
28
|
+
readonly value?: ID | null;
|
|
29
|
+
readonly highlighted?: ID | null;
|
|
30
|
+
readonly path?: readonly ID[];
|
|
31
|
+
}
|
|
32
|
+
export interface CascadeSelectPolicies<ID extends StableID = StableID> {
|
|
33
|
+
readonly eligible?: (id: ID) => boolean;
|
|
34
|
+
/** Defaults to leaf-only selection. */
|
|
35
|
+
readonly selectable?: (id: ID, leaf: boolean) => boolean;
|
|
36
|
+
}
|
|
37
|
+
export type CascadeSelectEligiblePredicate<ID extends StableID = StableID> = NonNullable<CascadeSelectPolicies<ID>['eligible']>;
|
|
38
|
+
export type CascadeSelectSelectablePredicate<ID extends StableID = StableID> = NonNullable<CascadeSelectPolicies<ID>['selectable']>;
|
|
39
|
+
export interface CascadeSelectUpdate<ID extends StableID = StableID> {
|
|
40
|
+
readonly state: CascadeSelectState<ID>;
|
|
41
|
+
readonly commands: readonly CascadeSelectCommand<ID>[];
|
|
42
|
+
}
|
|
43
|
+
export declare function createCascadeSelectState<ID extends StableID>(tree: Tree<ID>, input?: CascadeSelectStateInput<ID>): CascadeSelectState<ID>;
|
|
44
|
+
export declare function tryCreateCascadeSelectState<ID extends StableID>(tree: Tree<ID>, input?: CascadeSelectStateInput<ID>): Result<CascadeSelectState<ID>>;
|
|
45
|
+
export declare function getCascadeSelectColumns<ID extends StableID>(tree: Tree<ID>, state: CascadeSelectState<ID>): readonly (readonly ID[])[];
|
|
46
|
+
export declare function getCascadeSelectValuePath<ID extends StableID>(tree: Tree<ID>, value: ID | null): readonly ID[];
|
|
47
|
+
export declare function applyCascadeSelectEvent<ID extends StableID>(tree: Tree<ID>, state: CascadeSelectState<ID>, event: CascadeSelectEvent<ID>, policies?: CascadeSelectPolicies<ID>): Result<CascadeSelectUpdate<ID>>;
|
|
48
|
+
//# sourceMappingURL=cascade-select.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cascade-select.d.ts","sourceRoot":"","sources":["../src/cascade-select.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,148 @@
|
|
|
1
|
+
import { unwrap } from './result.js';
|
|
2
|
+
import { fail, freezeArray, ok } from './internal/kernel/foundation.js';
|
|
3
|
+
import { createMachineUpdate } from './internal/kernel/machine.js';
|
|
4
|
+
export function createCascadeSelectState(tree, input = {}) {
|
|
5
|
+
return unwrap(tryCreateCascadeSelectState(tree, input));
|
|
6
|
+
}
|
|
7
|
+
export function tryCreateCascadeSelectState(tree, input = {}) {
|
|
8
|
+
if (input.open !== undefined && typeof input.open !== 'boolean') {
|
|
9
|
+
return fail('construction', 'invalid-cascade-select-open', 'Cascade select open state must be boolean.');
|
|
10
|
+
}
|
|
11
|
+
const value = input.value ?? null;
|
|
12
|
+
const highlighted = input.highlighted ?? value;
|
|
13
|
+
if (value !== null && !tree.has(value)) {
|
|
14
|
+
return fail('construction', 'cascade-select-value-outside-tree', 'Cascade select value must exist in the tree.', { value });
|
|
15
|
+
}
|
|
16
|
+
if (highlighted !== null && !tree.has(highlighted)) {
|
|
17
|
+
return fail('construction', 'cascade-select-highlight-outside-tree', 'Cascade select highlight must exist in the tree.', { highlighted });
|
|
18
|
+
}
|
|
19
|
+
const inferredPath = value === null ? [] : [...(tree.ancestorsOf(value) ?? [])].reverse();
|
|
20
|
+
const path = input.path === undefined ? inferredPath : [...input.path];
|
|
21
|
+
const pathError = validatePath(tree, path);
|
|
22
|
+
if (pathError !== null)
|
|
23
|
+
return pathError;
|
|
24
|
+
return ok(Object.freeze({ open: input.open ?? false, value, highlighted, path: freezeArray(path) }));
|
|
25
|
+
}
|
|
26
|
+
export function getCascadeSelectColumns(tree, state) {
|
|
27
|
+
const columns = [tree.roots.ids];
|
|
28
|
+
for (const id of state.path) {
|
|
29
|
+
const children = tree.childrenOf(id)?.ids ?? [];
|
|
30
|
+
if (children.length > 0)
|
|
31
|
+
columns.push(children);
|
|
32
|
+
}
|
|
33
|
+
return freezeArray(columns.map((column) => freezeArray(column)));
|
|
34
|
+
}
|
|
35
|
+
export function getCascadeSelectValuePath(tree, value) {
|
|
36
|
+
return value === null
|
|
37
|
+
? freezeArray([])
|
|
38
|
+
: freezeArray([...(tree.ancestorsOf(value) ?? [])].reverse().concat(value));
|
|
39
|
+
}
|
|
40
|
+
export function applyCascadeSelectEvent(tree, state, event, policies = {}) {
|
|
41
|
+
const valid = tryCreateCascadeSelectState(tree, state);
|
|
42
|
+
if (!valid.ok)
|
|
43
|
+
return { ok: false, error: { ...valid.error, class: 'transition-rejection' } };
|
|
44
|
+
if (event === 'open' || event === 'close' || event === 'toggle') {
|
|
45
|
+
const open = event === 'toggle' ? !state.open : event === 'open';
|
|
46
|
+
return createMachineUpdate(open === state.open ? state : cascadeState(state, { open }));
|
|
47
|
+
}
|
|
48
|
+
if (typeof event === 'object') {
|
|
49
|
+
if (!tree.has(event.id))
|
|
50
|
+
return fail('transition-rejection', 'cascade-select-target-unavailable', 'Cascade select target must exist in the tree.');
|
|
51
|
+
if (!isEligible(event.id, policies))
|
|
52
|
+
return fail('transition-rejection', 'cascade-select-target-disabled', 'Cascade select target must be eligible.');
|
|
53
|
+
return event.type === 'focus'
|
|
54
|
+
? focus(tree, state, event.id)
|
|
55
|
+
: choose(tree, state, event.id, policies);
|
|
56
|
+
}
|
|
57
|
+
if (event === 'left') {
|
|
58
|
+
const parent = state.highlighted === null ? null : tree.parentOf(state.highlighted);
|
|
59
|
+
if (parent === null)
|
|
60
|
+
return createMachineUpdate(state);
|
|
61
|
+
return focus(tree, cascadeState(state, { path: ancestors(tree, parent) }), parent);
|
|
62
|
+
}
|
|
63
|
+
if (event === 'right') {
|
|
64
|
+
if (state.highlighted === null || tree.isLeaf(state.highlighted) !== false)
|
|
65
|
+
return createMachineUpdate(state);
|
|
66
|
+
const child = firstEligible(tree.childrenOf(state.highlighted)?.ids ?? [], policies);
|
|
67
|
+
if (child === null)
|
|
68
|
+
return createMachineUpdate(state);
|
|
69
|
+
return focus(tree, cascadeState(state, { path: [...ancestors(tree, state.highlighted), state.highlighted] }), child);
|
|
70
|
+
}
|
|
71
|
+
if (event === 'select') {
|
|
72
|
+
return state.highlighted === null ? createMachineUpdate(state) : choose(tree, state, state.highlighted, policies);
|
|
73
|
+
}
|
|
74
|
+
const siblings = siblingsOf(tree, state.highlighted, state.path);
|
|
75
|
+
const eligible = siblings.filter((id) => isEligible(id, policies));
|
|
76
|
+
if (eligible.length === 0)
|
|
77
|
+
return createMachineUpdate(state);
|
|
78
|
+
const currentIndex = state.highlighted === null ? -1 : eligible.indexOf(state.highlighted);
|
|
79
|
+
let next;
|
|
80
|
+
if (event === 'first')
|
|
81
|
+
next = eligible[0];
|
|
82
|
+
else if (event === 'last')
|
|
83
|
+
next = eligible[eligible.length - 1];
|
|
84
|
+
else {
|
|
85
|
+
const delta = event === 'next' ? 1 : -1;
|
|
86
|
+
const fallback = delta > 0 ? 0 : eligible.length - 1;
|
|
87
|
+
const index = currentIndex < 0 ? fallback : Math.min(eligible.length - 1, Math.max(0, currentIndex + delta));
|
|
88
|
+
next = eligible[index];
|
|
89
|
+
}
|
|
90
|
+
return focus(tree, state, next);
|
|
91
|
+
}
|
|
92
|
+
function focus(tree, state, id) {
|
|
93
|
+
if (id === state.highlighted && state.open)
|
|
94
|
+
return createMachineUpdate(state);
|
|
95
|
+
return createMachineUpdate(cascadeState(state, { open: true, highlighted: id }), [{ type: 'focus', id }]);
|
|
96
|
+
}
|
|
97
|
+
function choose(tree, state, id, policies) {
|
|
98
|
+
const leaf = tree.isLeaf(id) === true;
|
|
99
|
+
if ((policies.selectable?.(id, leaf) ?? leaf) === true) {
|
|
100
|
+
const next = cascadeState(state, { open: false, value: id, highlighted: id, path: ancestors(tree, id) });
|
|
101
|
+
return createMachineUpdate(next, [{ type: 'select-value', id }, { type: 'close-popup' }]);
|
|
102
|
+
}
|
|
103
|
+
if (leaf)
|
|
104
|
+
return fail('transition-rejection', 'cascade-select-target-unselectable', 'Cascade select policy rejected the target.');
|
|
105
|
+
const child = firstEligible(tree.childrenOf(id)?.ids ?? [], policies);
|
|
106
|
+
const path = [...ancestors(tree, id), id];
|
|
107
|
+
const next = cascadeState(state, { open: true, highlighted: child ?? id, path });
|
|
108
|
+
return createMachineUpdate(next, child === null ? [] : [{ type: 'focus', id: child }]);
|
|
109
|
+
}
|
|
110
|
+
function validatePath(tree, path) {
|
|
111
|
+
for (let index = 0; index < path.length; index += 1) {
|
|
112
|
+
const id = path[index];
|
|
113
|
+
if (id === undefined || !tree.has(id))
|
|
114
|
+
return fail('construction', 'cascade-select-path-outside-tree', 'Every cascade select path item must exist in the tree.');
|
|
115
|
+
if (tree.isLeaf(id) !== false)
|
|
116
|
+
return fail('construction', 'cascade-select-leaf-in-path', 'Cascade select paths may contain only branches.', { id });
|
|
117
|
+
const expectedParent = index === 0 ? null : path[index - 1];
|
|
118
|
+
if (tree.parentOf(id) !== expectedParent)
|
|
119
|
+
return fail('construction', 'invalid-cascade-select-path', 'Cascade select path must form a direct root-to-branch chain.');
|
|
120
|
+
}
|
|
121
|
+
return null;
|
|
122
|
+
}
|
|
123
|
+
function cascadeState(state, patch) {
|
|
124
|
+
return Object.freeze({
|
|
125
|
+
open: patch.open ?? state.open,
|
|
126
|
+
value: patch.value === undefined ? state.value : patch.value,
|
|
127
|
+
highlighted: patch.highlighted === undefined ? state.highlighted : patch.highlighted,
|
|
128
|
+
path: freezeArray(patch.path ?? state.path),
|
|
129
|
+
});
|
|
130
|
+
}
|
|
131
|
+
function ancestors(tree, id) {
|
|
132
|
+
return freezeArray([...(tree.ancestorsOf(id) ?? [])].reverse());
|
|
133
|
+
}
|
|
134
|
+
function siblingsOf(tree, highlighted, path) {
|
|
135
|
+
if (highlighted !== null) {
|
|
136
|
+
const parent = tree.parentOf(highlighted);
|
|
137
|
+
return parent === null ? tree.roots.ids : tree.childrenOf(parent)?.ids ?? [];
|
|
138
|
+
}
|
|
139
|
+
const parent = path[path.length - 1];
|
|
140
|
+
return parent === undefined ? tree.roots.ids : tree.childrenOf(parent)?.ids ?? [];
|
|
141
|
+
}
|
|
142
|
+
function firstEligible(ids, policies) {
|
|
143
|
+
return ids.find((id) => isEligible(id, policies)) ?? null;
|
|
144
|
+
}
|
|
145
|
+
function isEligible(id, policies) {
|
|
146
|
+
return policies.eligible?.(id) ?? true;
|
|
147
|
+
}
|
|
148
|
+
//# sourceMappingURL=cascade-select.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cascade-select.js","sourceRoot":"","sources":["../src/cascade-select.ts"],"names":[],"mappings":"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"}
|
package/dist/checkbox-group.d.ts
CHANGED
|
@@ -7,6 +7,7 @@ export type CheckboxGroupState<ID extends StableID = StableID> = ListboxState<ID
|
|
|
7
7
|
export type CheckboxGroupStateInput<ID extends StableID = StableID> = ListboxStateInput<ID>;
|
|
8
8
|
export type CheckboxGroupPolicies<ID extends StableID = StableID> = Omit<ListboxPolicies<ID>, 'selectionMode' | 'selectionFollowsFocus'>;
|
|
9
9
|
export type CheckboxGroupUpdate<ID extends StableID = StableID> = ListboxUpdate<ID>;
|
|
10
|
-
export declare function createCheckboxGroupState<ID extends StableID>(domain: Sequence<ID>, input?: CheckboxGroupStateInput<ID>):
|
|
10
|
+
export declare function createCheckboxGroupState<ID extends StableID>(domain: Sequence<ID>, input?: CheckboxGroupStateInput<ID>): CheckboxGroupState<ID>;
|
|
11
|
+
export declare function tryCreateCheckboxGroupState<ID extends StableID>(domain: Sequence<ID>, input?: CheckboxGroupStateInput<ID>): Result<CheckboxGroupState<ID>>;
|
|
11
12
|
export declare function applyCheckboxGroupEvent<ID extends StableID>(domain: Sequence<ID>, state: CheckboxGroupState<ID>, event: CheckboxGroupEvent<ID>, policies?: CheckboxGroupPolicies<ID>): Result<CheckboxGroupUpdate<ID>>;
|
|
12
13
|
//# sourceMappingURL=checkbox-group.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"checkbox-group.d.ts","sourceRoot":"","sources":["../src/checkbox-group.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"checkbox-group.d.ts","sourceRoot":"","sources":["../src/checkbox-group.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACpD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,EAGL,KAAK,cAAc,EACnB,KAAK,YAAY,EACjB,KAAK,eAAe,EACpB,KAAK,YAAY,EACjB,KAAK,iBAAiB,EACtB,KAAK,aAAa,EAEnB,MAAM,kCAAkC,CAAC;AAE1C,MAAM,MAAM,kBAAkB,CAAC,EAAE,SAAS,QAAQ,GAAG,QAAQ,IAAI,OAAO,CAAC,YAAY,CAAC,EAAE,CAAC,EAAE,UAAU,CAAC,CAAC;AACvG,MAAM,MAAM,oBAAoB,CAAC,EAAE,SAAS,QAAQ,GAAG,QAAQ,IAAI,cAAc,CAAC,EAAE,CAAC,CAAC;AACtF,MAAM,MAAM,kBAAkB,CAAC,EAAE,SAAS,QAAQ,GAAG,QAAQ,IAAI,YAAY,CAAC,EAAE,CAAC,CAAC;AAClF,MAAM,MAAM,uBAAuB,CAAC,EAAE,SAAS,QAAQ,GAAG,QAAQ,IAAI,iBAAiB,CAAC,EAAE,CAAC,CAAC;AAC5F,MAAM,MAAM,qBAAqB,CAAC,EAAE,SAAS,QAAQ,GAAG,QAAQ,IAAI,IAAI,CAAC,eAAe,CAAC,EAAE,CAAC,EAAE,eAAe,GAAG,uBAAuB,CAAC,CAAC;AACzI,MAAM,MAAM,mBAAmB,CAAC,EAAE,SAAS,QAAQ,GAAG,QAAQ,IAAI,aAAa,CAAC,EAAE,CAAC,CAAC;AAEpF,wBAAgB,wBAAwB,CAAC,EAAE,SAAS,QAAQ,EAC1D,MAAM,EAAE,QAAQ,CAAC,EAAE,CAAC,EACpB,KAAK,GAAE,uBAAuB,CAAC,EAAE,CAAM,GACtC,kBAAkB,CAAC,EAAE,CAAC,CAExB;AAED,wBAAgB,2BAA2B,CAAC,EAAE,SAAS,QAAQ,EAC7D,MAAM,EAAE,QAAQ,CAAC,EAAE,CAAC,EACpB,KAAK,GAAE,uBAAuB,CAAC,EAAE,CAAM,GACtC,MAAM,CAAC,kBAAkB,CAAC,EAAE,CAAC,CAAC,CAEhC;AAED,wBAAgB,uBAAuB,CAAC,EAAE,SAAS,QAAQ,EACzD,MAAM,EAAE,QAAQ,CAAC,EAAE,CAAC,EACpB,KAAK,EAAE,kBAAkB,CAAC,EAAE,CAAC,EAC7B,KAAK,EAAE,kBAAkB,CAAC,EAAE,CAAC,EAC7B,QAAQ,GAAE,qBAAqB,CAAC,EAAE,CAAM,GACvC,MAAM,CAAC,mBAAmB,CAAC,EAAE,CAAC,CAAC,CAMjC"}
|
package/dist/checkbox-group.js
CHANGED
|
@@ -1,6 +1,10 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { unwrap } from './result.js';
|
|
2
|
+
import { applyListboxEvent, createListboxState, tryCreateListboxState, } from './internal/composites/listbox.js';
|
|
2
3
|
export function createCheckboxGroupState(domain, input = {}) {
|
|
3
|
-
return
|
|
4
|
+
return unwrap(tryCreateCheckboxGroupState(domain, input));
|
|
5
|
+
}
|
|
6
|
+
export function tryCreateCheckboxGroupState(domain, input = {}) {
|
|
7
|
+
return tryCreateListboxState(domain, input, 'multiple');
|
|
4
8
|
}
|
|
5
9
|
export function applyCheckboxGroupEvent(domain, state, event, policies = {}) {
|
|
6
10
|
return applyListboxEvent(domain, state, event, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"checkbox-group.js","sourceRoot":"","sources":["../src/checkbox-group.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"checkbox-group.js","sourceRoot":"","sources":["../src/checkbox-group.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAGrC,OAAO,EACL,iBAAiB,EACjB,kBAAkB,EAOlB,qBAAqB,GACtB,MAAM,kCAAkC,CAAC;AAS1C,MAAM,UAAU,wBAAwB,CACtC,MAAoB,EACpB,KAAK,GAAgC,EAAE;IAEvC,OAAO,MAAM,CAAC,2BAA2B,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC;AAC5D,CAAC;AAED,MAAM,UAAU,2BAA2B,CACzC,MAAoB,EACpB,KAAK,GAAgC,EAAE;IAEvC,OAAO,qBAAqB,CAAC,MAAM,EAAE,KAAK,EAAE,UAAU,CAAC,CAAC;AAC1D,CAAC;AAED,MAAM,UAAU,uBAAuB,CACrC,MAAoB,EACpB,KAA6B,EAC7B,KAA6B,EAC7B,QAAQ,GAA8B,EAAE;IAExC,OAAO,iBAAiB,CAAC,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE;QAC7C,GAAG,QAAQ;QACX,aAAa,EAAE,UAAU;QACzB,qBAAqB,EAAE,KAAK;KAC7B,CAAC,CAAC;AACL,CAAC"}
|
package/dist/checkbox.d.ts
CHANGED
|
@@ -1,2 +1,3 @@
|
|
|
1
1
|
export { applyCheckedEvent as applyCheckboxEvent, createCheckedState as createCheckboxState, type CheckedCommand as CheckboxCommand, type CheckedEvent as CheckboxEvent, type CheckedPolicies as CheckboxPolicies, type CheckedState as CheckboxState, type CheckedValue as CheckboxValue, } from './internal/state/checked.js';
|
|
2
|
+
export { tryCreateCheckedState as tryCreateCheckboxState } from './internal/state/checked.js';
|
|
2
3
|
//# sourceMappingURL=checkbox.d.ts.map
|
package/dist/checkbox.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"checkbox.d.ts","sourceRoot":"","sources":["../src/checkbox.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,iBAAiB,IAAI,kBAAkB,EACvC,kBAAkB,IAAI,mBAAmB,EACzC,KAAK,cAAc,IAAI,eAAe,EACtC,KAAK,YAAY,IAAI,aAAa,EAClC,KAAK,eAAe,IAAI,gBAAgB,EACxC,KAAK,YAAY,IAAI,aAAa,EAClC,KAAK,YAAY,IAAI,aAAa,GACnC,MAAM,6BAA6B,CAAC"}
|
|
1
|
+
{"version":3,"file":"checkbox.d.ts","sourceRoot":"","sources":["../src/checkbox.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,iBAAiB,IAAI,kBAAkB,EACvC,kBAAkB,IAAI,mBAAmB,EACzC,KAAK,cAAc,IAAI,eAAe,EACtC,KAAK,YAAY,IAAI,aAAa,EAClC,KAAK,eAAe,IAAI,gBAAgB,EACxC,KAAK,YAAY,IAAI,aAAa,EAClC,KAAK,YAAY,IAAI,aAAa,GACnC,MAAM,6BAA6B,CAAC;AAErC,OAAO,EAAE,qBAAqB,IAAI,sBAAsB,EAAE,MAAM,6BAA6B,CAAC"}
|
package/dist/checkbox.js
CHANGED
package/dist/checkbox.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"checkbox.js","sourceRoot":"","sources":["../src/checkbox.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,iBAAiB,IAAI,kBAAkB,EACvC,kBAAkB,IAAI,mBAAmB,GAM1C,MAAM,6BAA6B,CAAC"}
|
|
1
|
+
{"version":3,"file":"checkbox.js","sourceRoot":"","sources":["../src/checkbox.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,iBAAiB,IAAI,kBAAkB,EACvC,kBAAkB,IAAI,mBAAmB,GAM1C,MAAM,6BAA6B,CAAC;AAErC,OAAO,EAAE,qBAAqB,IAAI,sBAAsB,EAAE,MAAM,6BAA6B,CAAC"}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import { type MachineUpdate } from './internal/kernel/machine.js';
|
|
2
|
+
import type { Result, StableID } from './shared.js';
|
|
3
|
+
export type CollectionWindowDirection = 'before' | 'after';
|
|
4
|
+
export interface CollectionWindowRequest<ID extends StableID = StableID> {
|
|
5
|
+
readonly generation: number;
|
|
6
|
+
readonly direction: CollectionWindowDirection;
|
|
7
|
+
readonly anchor: ID | null;
|
|
8
|
+
readonly revision: number;
|
|
9
|
+
}
|
|
10
|
+
export interface CollectionWindowState<ID extends StableID = StableID> {
|
|
11
|
+
readonly revision: number;
|
|
12
|
+
readonly requestGeneration: number;
|
|
13
|
+
readonly start: number;
|
|
14
|
+
readonly size: number;
|
|
15
|
+
readonly total: number | null;
|
|
16
|
+
readonly pending: CollectionWindowRequest<ID> | null;
|
|
17
|
+
}
|
|
18
|
+
export interface CollectionWindowStateInput<ID extends StableID = StableID> {
|
|
19
|
+
readonly revision?: number;
|
|
20
|
+
readonly requestGeneration?: number;
|
|
21
|
+
readonly start?: number;
|
|
22
|
+
readonly size?: number;
|
|
23
|
+
readonly total?: number | null;
|
|
24
|
+
readonly pending?: CollectionWindowRequest<ID> | null;
|
|
25
|
+
}
|
|
26
|
+
export type CollectionWindowEvent<ID extends StableID = StableID> = {
|
|
27
|
+
readonly type: 'request-window';
|
|
28
|
+
readonly direction: CollectionWindowDirection;
|
|
29
|
+
readonly anchor: ID | null;
|
|
30
|
+
} | {
|
|
31
|
+
readonly type: 'clear-request';
|
|
32
|
+
readonly generation?: number;
|
|
33
|
+
};
|
|
34
|
+
export type CollectionWindowCommand<ID extends StableID = StableID> = {
|
|
35
|
+
readonly type: 'request-window';
|
|
36
|
+
readonly request: CollectionWindowRequest<ID>;
|
|
37
|
+
};
|
|
38
|
+
export type CollectionWindowUpdate<ID extends StableID = StableID> = MachineUpdate<CollectionWindowState<ID>, CollectionWindowCommand<ID>>;
|
|
39
|
+
export interface CollectionWindowReplacement {
|
|
40
|
+
readonly revision: number;
|
|
41
|
+
readonly requestGeneration?: number;
|
|
42
|
+
readonly start: number;
|
|
43
|
+
readonly size: number;
|
|
44
|
+
readonly total?: number | null;
|
|
45
|
+
}
|
|
46
|
+
export declare function createCollectionWindowState<ID extends StableID = StableID>(input?: CollectionWindowStateInput<ID>): CollectionWindowState<ID>;
|
|
47
|
+
export declare function tryCreateCollectionWindowState<ID extends StableID = StableID>(input?: CollectionWindowStateInput<ID>): Result<CollectionWindowState<ID>>;
|
|
48
|
+
export declare function applyCollectionWindowEvent<ID extends StableID>(state: CollectionWindowState<ID>, event: CollectionWindowEvent<ID>): Result<CollectionWindowUpdate<ID>>;
|
|
49
|
+
export declare function synchronizeCollectionWindow<ID extends StableID>(state: CollectionWindowState<ID>, replacement: CollectionWindowReplacement): Result<CollectionWindowState<ID>>;
|
|
50
|
+
export declare function canRequestCollectionWindow<ID extends StableID>(state: CollectionWindowState<ID>, direction: CollectionWindowDirection): boolean;
|
|
51
|
+
//# sourceMappingURL=collection-window.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"collection-window.d.ts","sourceRoot":"","sources":["../src/collection-window.ts"],"names":[],"mappings":"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"}
|