@ngxsmk/cdk 3.2.0 → 3.3.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 +1 -1
- package/esm2022/input-group/input-group-engine.mjs +53 -28
- package/esm2022/public-api.mjs +2 -1
- package/esm2022/state-machine/create-machine.mjs +38 -0
- package/esm2022/state-machine/create-presence.mjs +70 -0
- package/esm2022/state-machine/index.mjs +3 -0
- package/esm2022/state-machine/ngxsmk-cdk-state-machine.mjs +5 -0
- package/fesm2022/ngxsmk-cdk-autofocus.mjs.map +1 -1
- package/fesm2022/ngxsmk-cdk-click-outside.mjs.map +1 -1
- package/fesm2022/ngxsmk-cdk-cva-base.mjs.map +1 -1
- package/fesm2022/ngxsmk-cdk-focus-trap.mjs.map +1 -1
- package/fesm2022/ngxsmk-cdk-focusable.mjs.map +1 -1
- package/fesm2022/ngxsmk-cdk-input-group.mjs +52 -27
- package/fesm2022/ngxsmk-cdk-input-group.mjs.map +1 -1
- package/fesm2022/ngxsmk-cdk-intersection-observer.mjs.map +1 -1
- package/fesm2022/ngxsmk-cdk-listbox-keyboard.mjs.map +1 -1
- package/fesm2022/ngxsmk-cdk-live-announcer.mjs.map +1 -1
- package/fesm2022/ngxsmk-cdk-media-query.mjs.map +1 -1
- package/fesm2022/ngxsmk-cdk-resize-observer.mjs.map +1 -1
- package/fesm2022/ngxsmk-cdk-roving-focus.mjs.map +1 -1
- package/fesm2022/ngxsmk-cdk-scheduler.mjs.map +1 -1
- package/fesm2022/ngxsmk-cdk-scroll-lock.mjs.map +1 -1
- package/fesm2022/ngxsmk-cdk-skip-link.mjs.map +1 -1
- package/fesm2022/ngxsmk-cdk-spreadsheet.mjs.map +1 -1
- package/fesm2022/ngxsmk-cdk-state-machine.mjs +113 -0
- package/fesm2022/ngxsmk-cdk-state-machine.mjs.map +1 -0
- package/fesm2022/ngxsmk-cdk-testing.mjs.map +1 -1
- package/fesm2022/ngxsmk-cdk-visually-hidden.mjs.map +1 -1
- package/fesm2022/ngxsmk-cdk.mjs +1 -0
- package/fesm2022/ngxsmk-cdk.mjs.map +1 -1
- package/input-group/input-group-engine.d.ts +3 -0
- package/input-group/input-group-engine.d.ts.map +1 -1
- package/package.json +41 -29
- package/public-api.d.ts +1 -0
- package/public-api.d.ts.map +1 -1
- package/state-machine/create-machine.d.ts +37 -0
- package/state-machine/create-machine.d.ts.map +1 -0
- package/state-machine/create-presence.d.ts +29 -0
- package/state-machine/create-presence.d.ts.map +1 -0
- package/state-machine/index.d.ts +3 -0
- package/state-machine/index.d.ts.map +1 -0
- package/state-machine/ngxsmk-cdk-state-machine.d.ts.map +1 -0
|
@@ -0,0 +1,113 @@
|
|
|
1
|
+
import { signal, computed } from '@angular/core';
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Signal-backed finite state machine for mutually exclusive UI lifecycles.
|
|
5
|
+
* Prefer over parallel booleans. For animated overlays, use {@link createPresence}.
|
|
6
|
+
*
|
|
7
|
+
* ```ts
|
|
8
|
+
* const m = createMachine({
|
|
9
|
+
* initial: 'idle',
|
|
10
|
+
* states: {
|
|
11
|
+
* idle: { START: 'loading' },
|
|
12
|
+
* loading: { SUCCESS: 'success', FAIL: 'error' },
|
|
13
|
+
* success: { RESET: 'idle' },
|
|
14
|
+
* error: { RESET: 'idle' },
|
|
15
|
+
* },
|
|
16
|
+
* });
|
|
17
|
+
* m.send('START');
|
|
18
|
+
* ```
|
|
19
|
+
*/
|
|
20
|
+
function createMachine(config) {
|
|
21
|
+
const current = signal(config.initial);
|
|
22
|
+
const send = (event) => {
|
|
23
|
+
const from = current();
|
|
24
|
+
const next = config.states[from]?.[event];
|
|
25
|
+
if (next === undefined) {
|
|
26
|
+
return false;
|
|
27
|
+
}
|
|
28
|
+
current.set(next);
|
|
29
|
+
return true;
|
|
30
|
+
};
|
|
31
|
+
return {
|
|
32
|
+
state: current.asReadonly(),
|
|
33
|
+
send,
|
|
34
|
+
matches: (...states) => states.includes(current()),
|
|
35
|
+
can: (event) => config.states[current()]?.[event] !== undefined,
|
|
36
|
+
snapshot: () => current(),
|
|
37
|
+
};
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
/**
|
|
41
|
+
* Animated presence: `closed → open → closing → closed`.
|
|
42
|
+
* Re-open during exit cancels the pending settle (no phantom close).
|
|
43
|
+
*
|
|
44
|
+
* ```ts
|
|
45
|
+
* const presence = createPresence();
|
|
46
|
+
* presence.open();
|
|
47
|
+
* await presence.close(() => playExit(el, motion));
|
|
48
|
+
* ```
|
|
49
|
+
*/
|
|
50
|
+
function createPresence() {
|
|
51
|
+
const machine = createMachine({
|
|
52
|
+
initial: 'closed',
|
|
53
|
+
states: {
|
|
54
|
+
closed: { OPEN: 'open' },
|
|
55
|
+
open: { CLOSE: 'closing', OPEN: 'open' },
|
|
56
|
+
closing: { OPEN: 'open', CLOSE: 'closing', CLOSED: 'closed' },
|
|
57
|
+
},
|
|
58
|
+
});
|
|
59
|
+
let generation = 0;
|
|
60
|
+
const open = () => {
|
|
61
|
+
generation += 1;
|
|
62
|
+
machine.send('OPEN');
|
|
63
|
+
};
|
|
64
|
+
const close = async (playExit) => {
|
|
65
|
+
if (machine.matches('closed')) {
|
|
66
|
+
return true;
|
|
67
|
+
}
|
|
68
|
+
if (machine.matches('closing')) {
|
|
69
|
+
return false;
|
|
70
|
+
}
|
|
71
|
+
if (!machine.send('CLOSE')) {
|
|
72
|
+
return false;
|
|
73
|
+
}
|
|
74
|
+
const gen = (generation += 1);
|
|
75
|
+
try {
|
|
76
|
+
await playExit();
|
|
77
|
+
}
|
|
78
|
+
catch {
|
|
79
|
+
/* animation abort */
|
|
80
|
+
}
|
|
81
|
+
if (gen !== generation) {
|
|
82
|
+
return false;
|
|
83
|
+
}
|
|
84
|
+
machine.send('CLOSED');
|
|
85
|
+
return machine.matches('closed');
|
|
86
|
+
};
|
|
87
|
+
const forceClose = () => {
|
|
88
|
+
generation += 1;
|
|
89
|
+
if (machine.matches('closed')) {
|
|
90
|
+
return;
|
|
91
|
+
}
|
|
92
|
+
if (machine.matches('open')) {
|
|
93
|
+
machine.send('CLOSE');
|
|
94
|
+
}
|
|
95
|
+
machine.send('CLOSED');
|
|
96
|
+
};
|
|
97
|
+
return {
|
|
98
|
+
state: machine.state,
|
|
99
|
+
mounted: computed(() => machine.matches('open', 'closing')),
|
|
100
|
+
isClosing: computed(() => machine.matches('closing')),
|
|
101
|
+
isOpen: computed(() => machine.matches('open')),
|
|
102
|
+
open,
|
|
103
|
+
close,
|
|
104
|
+
forceClose,
|
|
105
|
+
};
|
|
106
|
+
}
|
|
107
|
+
|
|
108
|
+
/**
|
|
109
|
+
* Generated bundle index. Do not edit.
|
|
110
|
+
*/
|
|
111
|
+
|
|
112
|
+
export { createMachine, createPresence };
|
|
113
|
+
//# sourceMappingURL=ngxsmk-cdk-state-machine.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ngxsmk-cdk-state-machine.mjs","sources":["../../../../packages/cdk/state-machine/create-machine.ts","../../../../packages/cdk/state-machine/create-presence.ts","../../../../packages/cdk/state-machine/ngxsmk-cdk-state-machine.ts"],"sourcesContent":["import { signal, type Signal } from '@angular/core';\n\n/** Transition table: from each state, which events lead where. */\nexport type MachineTransitions<S extends string, E extends string> = Partial<\n Record<S, Partial<Record<E, S>>>\n>;\n\nexport interface CreateMachineConfig<S extends string, E extends string> {\n readonly initial: S;\n readonly states: MachineTransitions<S, E>;\n}\n\nexport interface Machine<S extends string, E extends string> {\n readonly state: Signal<S>;\n send(event: E): boolean;\n matches(...states: S[]): boolean;\n can(event: E): boolean;\n snapshot(): S;\n}\n\n/**\n * Signal-backed finite state machine for mutually exclusive UI lifecycles.\n * Prefer over parallel booleans. For animated overlays, use {@link createPresence}.\n *\n * ```ts\n * const m = createMachine({\n * initial: 'idle',\n * states: {\n * idle: { START: 'loading' },\n * loading: { SUCCESS: 'success', FAIL: 'error' },\n * success: { RESET: 'idle' },\n * error: { RESET: 'idle' },\n * },\n * });\n * m.send('START');\n * ```\n */\nexport function createMachine<S extends string, E extends string>(\n config: CreateMachineConfig<S, E>,\n): Machine<S, E> {\n const current = signal(config.initial);\n\n const send = (event: E): boolean => {\n const from = current();\n const next = config.states[from]?.[event];\n if (next === undefined) {\n return false;\n }\n current.set(next);\n return true;\n };\n\n return {\n state: current.asReadonly(),\n send,\n matches: (...states: S[]) => states.includes(current()),\n can: (event: E) => config.states[current()]?.[event] !== undefined,\n snapshot: () => current(),\n };\n}\n\n/** Shared async UI status — prefer over parallel isLoading/isError flags. */\nexport type AsyncStatus = 'idle' | 'loading' | 'success' | 'error';\n\n/** Shared AI / tool-run status. */\nexport type AiRunStatus = 'pending' | 'running' | 'completed' | 'error' | 'cancelled';\n","import { computed, type Signal } from '@angular/core';\nimport { createMachine } from './create-machine';\n\nexport type PresenceState = 'closed' | 'open' | 'closing';\n\nexport type PresenceEvent = 'OPEN' | 'CLOSE' | 'CLOSED';\n\nexport interface PresenceController {\n readonly state: Signal<PresenceState>;\n readonly mounted: Signal<boolean>;\n readonly isClosing: Signal<boolean>;\n readonly isOpen: Signal<boolean>;\n /** Opens and cancels any in-flight exit. */\n open(): void;\n /**\n * Plays exit, then settles to `closed` only if this close was not superseded.\n * @returns `true` when this generation settled to closed\n */\n close(playExit: () => Promise<void>): Promise<boolean>;\n forceClose(): void;\n}\n\n/**\n * Animated presence: `closed → open → closing → closed`.\n * Re-open during exit cancels the pending settle (no phantom close).\n *\n * ```ts\n * const presence = createPresence();\n * presence.open();\n * await presence.close(() => playExit(el, motion));\n * ```\n */\nexport function createPresence(): PresenceController {\n const machine = createMachine<PresenceState, PresenceEvent>({\n initial: 'closed',\n states: {\n closed: { OPEN: 'open' },\n open: { CLOSE: 'closing', OPEN: 'open' },\n closing: { OPEN: 'open', CLOSE: 'closing', CLOSED: 'closed' },\n },\n });\n\n let generation = 0;\n\n const open = (): void => {\n generation += 1;\n machine.send('OPEN');\n };\n\n const close = async (playExit: () => Promise<void>): Promise<boolean> => {\n if (machine.matches('closed')) {\n return true;\n }\n if (machine.matches('closing')) {\n return false;\n }\n if (!machine.send('CLOSE')) {\n return false;\n }\n const gen = (generation += 1);\n try {\n await playExit();\n } catch {\n /* animation abort */\n }\n if (gen !== generation) {\n return false;\n }\n machine.send('CLOSED');\n return machine.matches('closed');\n };\n\n const forceClose = (): void => {\n generation += 1;\n if (machine.matches('closed')) {\n return;\n }\n if (machine.matches('open')) {\n machine.send('CLOSE');\n }\n machine.send('CLOSED');\n };\n\n return {\n state: machine.state,\n mounted: computed(() => machine.matches('open', 'closing')),\n isClosing: computed(() => machine.matches('closing')),\n isOpen: computed(() => machine.matches('open')),\n open,\n close,\n forceClose,\n };\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ngxsmk-cdk-testing.mjs","sources":["../../../../packages/cdk/testing/a11y.ts","../../../../packages/cdk/testing/ngxsmk-cdk-testing.ts"],"sourcesContent":["import * as axe from 'axe-core';\n\n/**\n * Runs axe-core analysis on the provided HTML element and throws an error if any accessibility\n * violations are detected.\n *\n * Pass axe `options` to tune the run — e.g. in jsdom-based tests disable the\n * `color-contrast` rule, which requires a real rendering engine.\n */\nexport async function expectNoA11yViolations(\n element: HTMLElement,\n options: axe.RunOptions = {},\n): Promise<void> {\n const results = await axe.run(element, options);\n if (results.violations.length > 0) {\n const formatted = results.violations\n .map(\n (v) =>\n `[${v.id}] ${v.help}\\n - Help URL: ${v.helpUrl}\\n - Nodes affected:\\n${v.nodes\n .map((n) => ` * ${n.html}`)\n .join('\\n')}`,\n )\n .join('\\n\\n');\n throw new Error(`Accessibility violations detected:\\n\\n${formatted}`);\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;AAEA;;;;;;AAMG;AACI,eAAe,sBAAsB,CAC1C,OAAoB,EACpB,UAA0B,EAAE,EAAA;IAE5B,MAAM,OAAO,GAAG,MAAM,GAAG,CAAC,GAAG,CAAC,OAAO,EAAE,OAAO,CAAC;IAC/C,IAAI,OAAO,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE;AACjC,QAAA,MAAM,SAAS,GAAG,OAAO,CAAC;aACvB,GAAG,CACF,CAAC,CAAC,KACA,CAAA,CAAA,EAAI,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,IAAI,CAAA,gBAAA,EAAmB,CAAC,CAAC,OAAO,CAAA,uBAAA,EAA0B,CAAC,CAAC;aACxE,GAAG,CAAC,CAAC,CAAC,KAAK,CAAA,MAAA,EAAS,CAAC,CAAC,IAAI,CAAA,CAAE;AAC5B,aAAA,IAAI,CAAC,IAAI,CAAC,CAAA,CAAE;aAElB,IAAI,CAAC,MAAM,CAAC;AACf,QAAA,MAAM,IAAI,KAAK,CAAC,yCAAyC,SAAS,CAAA,CAAE,CAAC;IACvE;AACF;;ACzBA;;AAEG
|
|
1
|
+
{"version":3,"file":"ngxsmk-cdk-testing.mjs","sources":["../../../../packages/cdk/testing/a11y.ts","../../../../packages/cdk/testing/ngxsmk-cdk-testing.ts"],"sourcesContent":["import * as axe from 'axe-core';\n\n/**\n * Runs axe-core analysis on the provided HTML element and throws an error if any accessibility\n * violations are detected.\n *\n * Pass axe `options` to tune the run — e.g. in jsdom-based tests disable the\n * `color-contrast` rule, which requires a real rendering engine.\n */\nexport async function expectNoA11yViolations(\n element: HTMLElement,\n options: axe.RunOptions = {},\n): Promise<void> {\n const results = await axe.run(element, options);\n if (results.violations.length > 0) {\n const formatted = results.violations\n .map(\n (v) =>\n `[${v.id}] ${v.help}\\n - Help URL: ${v.helpUrl}\\n - Nodes affected:\\n${v.nodes\n .map((n) => ` * ${n.html}`)\n .join('\\n')}`,\n )\n .join('\\n\\n');\n throw new Error(`Accessibility violations detected:\\n\\n${formatted}`);\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;AAEA;;;;;;AAMG;AACI,eAAe,sBAAsB,CAC1C,OAAoB,EACpB,UAA0B,EAAE,EAAA;IAE5B,MAAM,OAAO,GAAG,MAAM,GAAG,CAAC,GAAG,CAAC,OAAO,EAAE,OAAO,CAAC;IAC/C,IAAI,OAAO,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE;AACjC,QAAA,MAAM,SAAS,GAAG,OAAO,CAAC;aACvB,GAAG,CACF,CAAC,CAAC,KACA,CAAA,CAAA,EAAI,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,IAAI,CAAA,gBAAA,EAAmB,CAAC,CAAC,OAAO,CAAA,uBAAA,EAA0B,CAAC,CAAC;aACxE,GAAG,CAAC,CAAC,CAAC,KAAK,CAAA,MAAA,EAAS,CAAC,CAAC,IAAI,CAAA,CAAE;AAC5B,aAAA,IAAI,CAAC,IAAI,CAAC,CAAA,CAAE;aAElB,IAAI,CAAC,MAAM,CAAC;AACf,QAAA,MAAM,IAAI,KAAK,CAAC,yCAAyC,SAAS,CAAA,CAAE,CAAC;IACvE;AACF;;ACzBA;;AAEG;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ngxsmk-cdk-visually-hidden.mjs","sources":["../../../../packages/cdk/visually-hidden/visually-hidden.ts","../../../../packages/cdk/visually-hidden/ngxsmk-cdk-visually-hidden.ts"],"sourcesContent":["import { Directive } from '@angular/core';\n\n/**\n * Hides the host visually while keeping it available to screen readers.\n *\n * ```html\n * <span ngxsmkVisuallyHidden>Opens in a new window</span>\n * ```\n */\n@Directive({\n standalone: true,\n selector: '[ngxsmkVisuallyHidden]',\n host: {\n style: `\n position: absolute;\n width: 1px;\n height: 1px;\n margin: -1px;\n padding: 0;\n border: 0;\n overflow: hidden;\n clip-path: inset(100%);\n white-space: nowrap;\n `,\n },\n})\nexport class NgxsmkVisuallyHidden {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;AAEA;;;;;;AAMG;MAkBU,oBAAoB,CAAA;8GAApB,oBAAoB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;kGAApB,oBAAoB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,wBAAA,EAAA,IAAA,EAAA,EAAA,cAAA,EAAA,wNAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;2FAApB,oBAAoB,EAAA,UAAA,EAAA,CAAA;kBAjBhC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,UAAU,EAAE,IAAI;AAChB,oBAAA,QAAQ,EAAE,wBAAwB;AAClC,oBAAA,IAAI,EAAE;AACJ,wBAAA,KAAK,EAAE;;;;;;;;;;AAUN,IAAA,CAAA;AACF,qBAAA;AACF,iBAAA;;;ACzBD;;AAEG
|
|
1
|
+
{"version":3,"file":"ngxsmk-cdk-visually-hidden.mjs","sources":["../../../../packages/cdk/visually-hidden/visually-hidden.ts","../../../../packages/cdk/visually-hidden/ngxsmk-cdk-visually-hidden.ts"],"sourcesContent":["import { Directive } from '@angular/core';\n\n/**\n * Hides the host visually while keeping it available to screen readers.\n *\n * ```html\n * <span ngxsmkVisuallyHidden>Opens in a new window</span>\n * ```\n */\n@Directive({\n standalone: true,\n selector: '[ngxsmkVisuallyHidden]',\n host: {\n style: `\n position: absolute;\n width: 1px;\n height: 1px;\n margin: -1px;\n padding: 0;\n border: 0;\n overflow: hidden;\n clip-path: inset(100%);\n white-space: nowrap;\n `,\n },\n})\nexport class NgxsmkVisuallyHidden {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;AAEA;;;;;;AAMG;MAkBU,oBAAoB,CAAA;8GAApB,oBAAoB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;kGAApB,oBAAoB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,wBAAA,EAAA,IAAA,EAAA,EAAA,cAAA,EAAA,wNAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;2FAApB,oBAAoB,EAAA,UAAA,EAAA,CAAA;kBAjBhC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,UAAU,EAAE,IAAI;AAChB,oBAAA,QAAQ,EAAE,wBAAwB;AAClC,oBAAA,IAAI,EAAE;AACJ,wBAAA,KAAK,EAAE;;;;;;;;;;AAUN,IAAA,CAAA;AACF,qBAAA;AACF,iBAAA;;;ACzBD;;AAEG;;"}
|
package/fesm2022/ngxsmk-cdk.mjs
CHANGED
|
@@ -10,6 +10,7 @@ export * from '@ngxsmk/cdk/resize-observer';
|
|
|
10
10
|
export * from '@ngxsmk/cdk/autofocus';
|
|
11
11
|
export * from '@ngxsmk/cdk/cva-base';
|
|
12
12
|
export * from '@ngxsmk/cdk/listbox-keyboard';
|
|
13
|
+
export * from '@ngxsmk/cdk/state-machine';
|
|
13
14
|
export * from '@ngxsmk/cdk/scheduler';
|
|
14
15
|
export { ClipboardPlugin, FilterPlugin, FormulaPlugin, SortPlugin, SpreadsheetEngine, PluginHost as SpreadsheetPluginHost, SelectionPlugin as SpreadsheetSelectionPlugin, UndoPlugin, ValidationPlugin, cellRef, cellsInRange, cloneRow, colIndexToLetter, colLetterToIndex, createEmptyRow, formatCellValue, generateRowId, isCellInRange, normalizeRange, parseCellRef, pinnedWidth } from '@ngxsmk/cdk/spreadsheet';
|
|
15
16
|
export * from '@ngxsmk/cdk/input-group';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ngxsmk-cdk.mjs","sources":["../../../../packages/cdk/public-api.ts","../../../../packages/cdk/ngxsmk-cdk.ts"],"sourcesContent":["/*\n * Public API Surface of @ngxsmk/cdk\n */\n\nexport * from '@ngxsmk/cdk/click-outside';\nexport * from '@ngxsmk/cdk/focusable';\nexport * from '@ngxsmk/cdk/focus-trap';\nexport * from '@ngxsmk/cdk/live-announcer';\nexport * from '@ngxsmk/cdk/media-query';\nexport * from '@ngxsmk/cdk/scroll-lock';\nexport * from '@ngxsmk/cdk/visually-hidden';\nexport * from '@ngxsmk/cdk/intersection-observer';\nexport * from '@ngxsmk/cdk/resize-observer';\nexport * from '@ngxsmk/cdk/autofocus';\nexport * from '@ngxsmk/cdk/cva-base';\nexport * from '@ngxsmk/cdk/listbox-keyboard';\nexport * from '@ngxsmk/cdk/scheduler';\n\n// Spreadsheet — selective re-exports to avoid name collisions with scheduler\nexport {\n SpreadsheetEngine,\n type SpreadsheetConfig,\n type SpreadsheetDensity,\n type SpreadsheetLifecycleHooks,\n} from '@ngxsmk/cdk/spreadsheet';\nexport type {\n Cell,\n CellValue,\n CellType,\n CellMeta,\n CellEditState,\n CellAddress,\n CellRange,\n ColumnDef,\n ColumnState,\n SortDirection,\n ColumnWidthPreset,\n RowDef,\n RowData,\n SummaryRow,\n SelectionState as SpreadsheetSelectionState,\n SelectionMode,\n SortCriterion,\n SortState,\n FilterCriterion,\n FilterOperator,\n FilterState,\n FormulaNode,\n FormulaResult,\n FormulaDependency,\n FormulaFunction,\n} from '@ngxsmk/cdk/spreadsheet';\nexport {\n PluginHost as SpreadsheetPluginHost,\n SortPlugin,\n FilterPlugin,\n SelectionPlugin as SpreadsheetSelectionPlugin,\n FormulaPlugin,\n ClipboardPlugin,\n UndoPlugin,\n ValidationPlugin,\n type SpreadsheetPlugin,\n} from '@ngxsmk/cdk/spreadsheet';\nexport {\n colIndexToLetter,\n colLetterToIndex,\n cellRef,\n parseCellRef,\n normalizeRange,\n isCellInRange,\n cellsInRange,\n formatCellValue,\n createEmptyRow,\n generateRowId,\n cloneRow,\n pinnedWidth,\n} from '@ngxsmk/cdk/spreadsheet';\n\n// Input Group — no naming collisions, re-export everything\nexport * from '@ngxsmk/cdk/input-group';\n\n// NOTE: '@ngxsmk/cdk/testing' is intentionally NOT re-exported here. It pulls in\n// axe-core (a CommonJS dependency) which would otherwise leak into every runtime\n// bundle that imports the main '@ngxsmk/cdk' barrel. Import test helpers directly\n// from the dedicated entry point instead: `import { ... } from '@ngxsmk/cdk/testing'`.\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"ngxsmk-cdk.mjs","sources":["../../../../packages/cdk/public-api.ts","../../../../packages/cdk/ngxsmk-cdk.ts"],"sourcesContent":["/*\n * Public API Surface of @ngxsmk/cdk\n */\n\nexport * from '@ngxsmk/cdk/click-outside';\nexport * from '@ngxsmk/cdk/focusable';\nexport * from '@ngxsmk/cdk/focus-trap';\nexport * from '@ngxsmk/cdk/live-announcer';\nexport * from '@ngxsmk/cdk/media-query';\nexport * from '@ngxsmk/cdk/scroll-lock';\nexport * from '@ngxsmk/cdk/visually-hidden';\nexport * from '@ngxsmk/cdk/intersection-observer';\nexport * from '@ngxsmk/cdk/resize-observer';\nexport * from '@ngxsmk/cdk/autofocus';\nexport * from '@ngxsmk/cdk/cva-base';\nexport * from '@ngxsmk/cdk/listbox-keyboard';\nexport * from '@ngxsmk/cdk/state-machine';\nexport * from '@ngxsmk/cdk/scheduler';\n\n// Spreadsheet — selective re-exports to avoid name collisions with scheduler\nexport {\n SpreadsheetEngine,\n type SpreadsheetConfig,\n type SpreadsheetDensity,\n type SpreadsheetLifecycleHooks,\n} from '@ngxsmk/cdk/spreadsheet';\nexport type {\n Cell,\n CellValue,\n CellType,\n CellMeta,\n CellEditState,\n CellAddress,\n CellRange,\n ColumnDef,\n ColumnState,\n SortDirection,\n ColumnWidthPreset,\n RowDef,\n RowData,\n SummaryRow,\n SelectionState as SpreadsheetSelectionState,\n SelectionMode,\n SortCriterion,\n SortState,\n FilterCriterion,\n FilterOperator,\n FilterState,\n FormulaNode,\n FormulaResult,\n FormulaDependency,\n FormulaFunction,\n} from '@ngxsmk/cdk/spreadsheet';\nexport {\n PluginHost as SpreadsheetPluginHost,\n SortPlugin,\n FilterPlugin,\n SelectionPlugin as SpreadsheetSelectionPlugin,\n FormulaPlugin,\n ClipboardPlugin,\n UndoPlugin,\n ValidationPlugin,\n type SpreadsheetPlugin,\n} from '@ngxsmk/cdk/spreadsheet';\nexport {\n colIndexToLetter,\n colLetterToIndex,\n cellRef,\n parseCellRef,\n normalizeRange,\n isCellInRange,\n cellsInRange,\n formatCellValue,\n createEmptyRow,\n generateRowId,\n cloneRow,\n pinnedWidth,\n} from '@ngxsmk/cdk/spreadsheet';\n\n// Input Group — no naming collisions, re-export everything\nexport * from '@ngxsmk/cdk/input-group';\n\n// NOTE: '@ngxsmk/cdk/testing' is intentionally NOT re-exported here. It pulls in\n// axe-core (a CommonJS dependency) which would otherwise leak into every runtime\n// bundle that imports the main '@ngxsmk/cdk' barrel. Import test helpers directly\n// from the dedicated entry point instead: `import { ... } from '@ngxsmk/cdk/testing'`.\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA;;AAEG;AAgFH;AACA;AACA;AACA;;ACrFA;;AAEG"}
|
|
@@ -68,6 +68,7 @@ export declare class InputGroupEngine {
|
|
|
68
68
|
readonly onValidationChange: WritableSignal<(status: ValidationStatus, message: string) => void>;
|
|
69
69
|
private _config;
|
|
70
70
|
private _asyncTimer;
|
|
71
|
+
private _validationGeneration;
|
|
71
72
|
constructor(config?: InputGroupEngineConfig);
|
|
72
73
|
setValue(value: string): void;
|
|
73
74
|
clear(): void;
|
|
@@ -80,8 +81,10 @@ export declare class InputGroupEngine {
|
|
|
80
81
|
addAddon(addon: InputGroupAddon): void;
|
|
81
82
|
removeAddon(id: string): void;
|
|
82
83
|
setStatus(status: ValidationStatus, message?: string): void;
|
|
84
|
+
private _clearAsyncTimer;
|
|
83
85
|
private _runValidation;
|
|
84
86
|
reset(): void;
|
|
87
|
+
destroy(): void;
|
|
85
88
|
enable(): void;
|
|
86
89
|
disable(): void;
|
|
87
90
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"input-group-engine.d.ts","sourceRoot":"","sources":["../../../../packages/cdk/input-group/input-group-engine.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"input-group-engine.d.ts","sourceRoot":"","sources":["../../../../packages/cdk/input-group/input-group-engine.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ngxsmk/cdk",
|
|
3
|
-
"version": "3.
|
|
3
|
+
"version": "3.3.0",
|
|
4
4
|
"description": "Low-level Angular directives and utilities (click-outside, focus-trap, media-query, scroll-lock) for @ngxsmk.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"angular",
|
|
@@ -22,8 +22,14 @@
|
|
|
22
22
|
"url": "https://github.com/NGXSMK/ngxsmk-ui-kit/issues"
|
|
23
23
|
},
|
|
24
24
|
"peerDependencies": {
|
|
25
|
-
"@angular/common": ">=17.3.0",
|
|
26
|
-
"@angular/core": ">=17.3.0"
|
|
25
|
+
"@angular/common": ">=17.3.0 <23.0.0",
|
|
26
|
+
"@angular/core": ">=17.3.0 <23.0.0",
|
|
27
|
+
"@angular/forms": ">=17.3.0 <23.0.0"
|
|
28
|
+
},
|
|
29
|
+
"peerDependenciesMeta": {
|
|
30
|
+
"@angular/forms": {
|
|
31
|
+
"optional": true
|
|
32
|
+
}
|
|
27
33
|
},
|
|
28
34
|
"dependencies": {
|
|
29
35
|
"tslib": "^2.3.0"
|
|
@@ -56,23 +62,17 @@
|
|
|
56
62
|
"esm": "./esm2022/click-outside/ngxsmk-cdk-click-outside.mjs",
|
|
57
63
|
"default": "./fesm2022/ngxsmk-cdk-click-outside.mjs"
|
|
58
64
|
},
|
|
59
|
-
"./cva-base": {
|
|
60
|
-
"types": "./cva-base/index.d.ts",
|
|
61
|
-
"esm2022": "./esm2022/cva-base/ngxsmk-cdk-cva-base.mjs",
|
|
62
|
-
"esm": "./esm2022/cva-base/ngxsmk-cdk-cva-base.mjs",
|
|
63
|
-
"default": "./fesm2022/ngxsmk-cdk-cva-base.mjs"
|
|
64
|
-
},
|
|
65
65
|
"./input-group": {
|
|
66
66
|
"types": "./input-group/index.d.ts",
|
|
67
67
|
"esm2022": "./esm2022/input-group/ngxsmk-cdk-input-group.mjs",
|
|
68
68
|
"esm": "./esm2022/input-group/ngxsmk-cdk-input-group.mjs",
|
|
69
69
|
"default": "./fesm2022/ngxsmk-cdk-input-group.mjs"
|
|
70
70
|
},
|
|
71
|
-
"./
|
|
72
|
-
"types": "./
|
|
73
|
-
"esm2022": "./esm2022/
|
|
74
|
-
"esm": "./esm2022/
|
|
75
|
-
"default": "./fesm2022/ngxsmk-cdk-
|
|
71
|
+
"./cva-base": {
|
|
72
|
+
"types": "./cva-base/index.d.ts",
|
|
73
|
+
"esm2022": "./esm2022/cva-base/ngxsmk-cdk-cva-base.mjs",
|
|
74
|
+
"esm": "./esm2022/cva-base/ngxsmk-cdk-cva-base.mjs",
|
|
75
|
+
"default": "./fesm2022/ngxsmk-cdk-cva-base.mjs"
|
|
76
76
|
},
|
|
77
77
|
"./focus-trap": {
|
|
78
78
|
"types": "./focus-trap/index.d.ts",
|
|
@@ -80,11 +80,11 @@
|
|
|
80
80
|
"esm": "./esm2022/focus-trap/ngxsmk-cdk-focus-trap.mjs",
|
|
81
81
|
"default": "./fesm2022/ngxsmk-cdk-focus-trap.mjs"
|
|
82
82
|
},
|
|
83
|
-
"./
|
|
84
|
-
"types": "./
|
|
85
|
-
"esm2022": "./esm2022/
|
|
86
|
-
"esm": "./esm2022/
|
|
87
|
-
"default": "./fesm2022/ngxsmk-cdk-
|
|
83
|
+
"./focusable": {
|
|
84
|
+
"types": "./focusable/index.d.ts",
|
|
85
|
+
"esm2022": "./esm2022/focusable/ngxsmk-cdk-focusable.mjs",
|
|
86
|
+
"esm": "./esm2022/focusable/ngxsmk-cdk-focusable.mjs",
|
|
87
|
+
"default": "./fesm2022/ngxsmk-cdk-focusable.mjs"
|
|
88
88
|
},
|
|
89
89
|
"./intersection-observer": {
|
|
90
90
|
"types": "./intersection-observer/index.d.ts",
|
|
@@ -92,6 +92,12 @@
|
|
|
92
92
|
"esm": "./esm2022/intersection-observer/ngxsmk-cdk-intersection-observer.mjs",
|
|
93
93
|
"default": "./fesm2022/ngxsmk-cdk-intersection-observer.mjs"
|
|
94
94
|
},
|
|
95
|
+
"./listbox-keyboard": {
|
|
96
|
+
"types": "./listbox-keyboard/index.d.ts",
|
|
97
|
+
"esm2022": "./esm2022/listbox-keyboard/ngxsmk-cdk-listbox-keyboard.mjs",
|
|
98
|
+
"esm": "./esm2022/listbox-keyboard/ngxsmk-cdk-listbox-keyboard.mjs",
|
|
99
|
+
"default": "./fesm2022/ngxsmk-cdk-listbox-keyboard.mjs"
|
|
100
|
+
},
|
|
95
101
|
"./live-announcer": {
|
|
96
102
|
"types": "./live-announcer/index.d.ts",
|
|
97
103
|
"esm2022": "./esm2022/live-announcer/ngxsmk-cdk-live-announcer.mjs",
|
|
@@ -110,11 +116,11 @@
|
|
|
110
116
|
"esm": "./esm2022/resize-observer/ngxsmk-cdk-resize-observer.mjs",
|
|
111
117
|
"default": "./fesm2022/ngxsmk-cdk-resize-observer.mjs"
|
|
112
118
|
},
|
|
113
|
-
"./
|
|
114
|
-
"types": "./
|
|
115
|
-
"esm2022": "./esm2022/
|
|
116
|
-
"esm": "./esm2022/
|
|
117
|
-
"default": "./fesm2022/ngxsmk-cdk-
|
|
119
|
+
"./roving-focus": {
|
|
120
|
+
"types": "./roving-focus/index.d.ts",
|
|
121
|
+
"esm2022": "./esm2022/roving-focus/ngxsmk-cdk-roving-focus.mjs",
|
|
122
|
+
"esm": "./esm2022/roving-focus/ngxsmk-cdk-roving-focus.mjs",
|
|
123
|
+
"default": "./fesm2022/ngxsmk-cdk-roving-focus.mjs"
|
|
118
124
|
},
|
|
119
125
|
"./skip-link": {
|
|
120
126
|
"types": "./skip-link/index.d.ts",
|
|
@@ -122,11 +128,11 @@
|
|
|
122
128
|
"esm": "./esm2022/skip-link/ngxsmk-cdk-skip-link.mjs",
|
|
123
129
|
"default": "./fesm2022/ngxsmk-cdk-skip-link.mjs"
|
|
124
130
|
},
|
|
125
|
-
"./
|
|
126
|
-
"types": "./
|
|
127
|
-
"esm2022": "./esm2022/
|
|
128
|
-
"esm": "./esm2022/
|
|
129
|
-
"default": "./fesm2022/ngxsmk-cdk-
|
|
131
|
+
"./scheduler": {
|
|
132
|
+
"types": "./scheduler/index.d.ts",
|
|
133
|
+
"esm2022": "./esm2022/scheduler/ngxsmk-cdk-scheduler.mjs",
|
|
134
|
+
"esm": "./esm2022/scheduler/ngxsmk-cdk-scheduler.mjs",
|
|
135
|
+
"default": "./fesm2022/ngxsmk-cdk-scheduler.mjs"
|
|
130
136
|
},
|
|
131
137
|
"./scroll-lock": {
|
|
132
138
|
"types": "./scroll-lock/index.d.ts",
|
|
@@ -140,6 +146,12 @@
|
|
|
140
146
|
"esm": "./esm2022/spreadsheet/ngxsmk-cdk-spreadsheet.mjs",
|
|
141
147
|
"default": "./fesm2022/ngxsmk-cdk-spreadsheet.mjs"
|
|
142
148
|
},
|
|
149
|
+
"./state-machine": {
|
|
150
|
+
"types": "./state-machine/index.d.ts",
|
|
151
|
+
"esm2022": "./esm2022/state-machine/ngxsmk-cdk-state-machine.mjs",
|
|
152
|
+
"esm": "./esm2022/state-machine/ngxsmk-cdk-state-machine.mjs",
|
|
153
|
+
"default": "./fesm2022/ngxsmk-cdk-state-machine.mjs"
|
|
154
|
+
},
|
|
143
155
|
"./testing": {
|
|
144
156
|
"types": "./testing/index.d.ts",
|
|
145
157
|
"esm2022": "./esm2022/testing/ngxsmk-cdk-testing.mjs",
|
package/public-api.d.ts
CHANGED
|
@@ -10,6 +10,7 @@ export * from '@ngxsmk/cdk/resize-observer';
|
|
|
10
10
|
export * from '@ngxsmk/cdk/autofocus';
|
|
11
11
|
export * from '@ngxsmk/cdk/cva-base';
|
|
12
12
|
export * from '@ngxsmk/cdk/listbox-keyboard';
|
|
13
|
+
export * from '@ngxsmk/cdk/state-machine';
|
|
13
14
|
export * from '@ngxsmk/cdk/scheduler';
|
|
14
15
|
export { SpreadsheetEngine, type SpreadsheetConfig, type SpreadsheetDensity, type SpreadsheetLifecycleHooks, } from '@ngxsmk/cdk/spreadsheet';
|
|
15
16
|
export type { Cell, CellValue, CellType, CellMeta, CellEditState, CellAddress, CellRange, ColumnDef, ColumnState, SortDirection, ColumnWidthPreset, RowDef, RowData, SummaryRow, SelectionState as SpreadsheetSelectionState, SelectionMode, SortCriterion, SortState, FilterCriterion, FilterOperator, FilterState, FormulaNode, FormulaResult, FormulaDependency, FormulaFunction, } from '@ngxsmk/cdk/spreadsheet';
|
package/public-api.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"public-api.d.ts","sourceRoot":"","sources":["../../../packages/cdk/public-api.ts"],"names":[],"mappings":"AAIA,cAAc,2BAA2B,CAAC;AAC1C,cAAc,uBAAuB,CAAC;AACtC,cAAc,wBAAwB,CAAC;AACvC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,yBAAyB,CAAC;AACxC,cAAc,yBAAyB,CAAC;AACxC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,mCAAmC,CAAC;AAClD,cAAc,6BAA6B,CAAC;AAC5C,cAAc,uBAAuB,CAAC;AACtC,cAAc,sBAAsB,CAAC;AACrC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,uBAAuB,CAAC;AAGtC,OAAO,EACL,iBAAiB,EACjB,KAAK,iBAAiB,EACtB,KAAK,kBAAkB,EACvB,KAAK,yBAAyB,GAC/B,MAAM,yBAAyB,CAAC;AACjC,YAAY,EACV,IAAI,EACJ,SAAS,EACT,QAAQ,EACR,QAAQ,EACR,aAAa,EACb,WAAW,EACX,SAAS,EACT,SAAS,EACT,WAAW,EACX,aAAa,EACb,iBAAiB,EACjB,MAAM,EACN,OAAO,EACP,UAAU,EACV,cAAc,IAAI,yBAAyB,EAC3C,aAAa,EACb,aAAa,EACb,SAAS,EACT,eAAe,EACf,cAAc,EACd,WAAW,EACX,WAAW,EACX,aAAa,EACb,iBAAiB,EACjB,eAAe,GAChB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EACL,UAAU,IAAI,qBAAqB,EACnC,UAAU,EACV,YAAY,EACZ,eAAe,IAAI,0BAA0B,EAC7C,aAAa,EACb,eAAe,EACf,UAAU,EACV,gBAAgB,EAChB,KAAK,iBAAiB,GACvB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EACL,gBAAgB,EAChB,gBAAgB,EAChB,OAAO,EACP,YAAY,EACZ,cAAc,EACd,aAAa,EACb,YAAY,EACZ,eAAe,EACf,cAAc,EACd,aAAa,EACb,QAAQ,EACR,WAAW,GACZ,MAAM,yBAAyB,CAAC;AAGjC,cAAc,yBAAyB,CAAC"}
|
|
1
|
+
{"version":3,"file":"public-api.d.ts","sourceRoot":"","sources":["../../../packages/cdk/public-api.ts"],"names":[],"mappings":"AAIA,cAAc,2BAA2B,CAAC;AAC1C,cAAc,uBAAuB,CAAC;AACtC,cAAc,wBAAwB,CAAC;AACvC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,yBAAyB,CAAC;AACxC,cAAc,yBAAyB,CAAC;AACxC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,mCAAmC,CAAC;AAClD,cAAc,6BAA6B,CAAC;AAC5C,cAAc,uBAAuB,CAAC;AACtC,cAAc,sBAAsB,CAAC;AACrC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,uBAAuB,CAAC;AAGtC,OAAO,EACL,iBAAiB,EACjB,KAAK,iBAAiB,EACtB,KAAK,kBAAkB,EACvB,KAAK,yBAAyB,GAC/B,MAAM,yBAAyB,CAAC;AACjC,YAAY,EACV,IAAI,EACJ,SAAS,EACT,QAAQ,EACR,QAAQ,EACR,aAAa,EACb,WAAW,EACX,SAAS,EACT,SAAS,EACT,WAAW,EACX,aAAa,EACb,iBAAiB,EACjB,MAAM,EACN,OAAO,EACP,UAAU,EACV,cAAc,IAAI,yBAAyB,EAC3C,aAAa,EACb,aAAa,EACb,SAAS,EACT,eAAe,EACf,cAAc,EACd,WAAW,EACX,WAAW,EACX,aAAa,EACb,iBAAiB,EACjB,eAAe,GAChB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EACL,UAAU,IAAI,qBAAqB,EACnC,UAAU,EACV,YAAY,EACZ,eAAe,IAAI,0BAA0B,EAC7C,aAAa,EACb,eAAe,EACf,UAAU,EACV,gBAAgB,EAChB,KAAK,iBAAiB,GACvB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EACL,gBAAgB,EAChB,gBAAgB,EAChB,OAAO,EACP,YAAY,EACZ,cAAc,EACd,aAAa,EACb,YAAY,EACZ,eAAe,EACf,cAAc,EACd,aAAa,EACb,QAAQ,EACR,WAAW,GACZ,MAAM,yBAAyB,CAAC;AAGjC,cAAc,yBAAyB,CAAC"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import { type Signal } from '@angular/core';
|
|
2
|
+
/** Transition table: from each state, which events lead where. */
|
|
3
|
+
export type MachineTransitions<S extends string, E extends string> = Partial<Record<S, Partial<Record<E, S>>>>;
|
|
4
|
+
export interface CreateMachineConfig<S extends string, E extends string> {
|
|
5
|
+
readonly initial: S;
|
|
6
|
+
readonly states: MachineTransitions<S, E>;
|
|
7
|
+
}
|
|
8
|
+
export interface Machine<S extends string, E extends string> {
|
|
9
|
+
readonly state: Signal<S>;
|
|
10
|
+
send(event: E): boolean;
|
|
11
|
+
matches(...states: S[]): boolean;
|
|
12
|
+
can(event: E): boolean;
|
|
13
|
+
snapshot(): S;
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* Signal-backed finite state machine for mutually exclusive UI lifecycles.
|
|
17
|
+
* Prefer over parallel booleans. For animated overlays, use {@link createPresence}.
|
|
18
|
+
*
|
|
19
|
+
* ```ts
|
|
20
|
+
* const m = createMachine({
|
|
21
|
+
* initial: 'idle',
|
|
22
|
+
* states: {
|
|
23
|
+
* idle: { START: 'loading' },
|
|
24
|
+
* loading: { SUCCESS: 'success', FAIL: 'error' },
|
|
25
|
+
* success: { RESET: 'idle' },
|
|
26
|
+
* error: { RESET: 'idle' },
|
|
27
|
+
* },
|
|
28
|
+
* });
|
|
29
|
+
* m.send('START');
|
|
30
|
+
* ```
|
|
31
|
+
*/
|
|
32
|
+
export declare function createMachine<S extends string, E extends string>(config: CreateMachineConfig<S, E>): Machine<S, E>;
|
|
33
|
+
/** Shared async UI status — prefer over parallel isLoading/isError flags. */
|
|
34
|
+
export type AsyncStatus = 'idle' | 'loading' | 'success' | 'error';
|
|
35
|
+
/** Shared AI / tool-run status. */
|
|
36
|
+
export type AiRunStatus = 'pending' | 'running' | 'completed' | 'error' | 'cancelled';
|
|
37
|
+
//# sourceMappingURL=create-machine.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"create-machine.d.ts","sourceRoot":"","sources":["../../../../packages/cdk/state-machine/create-machine.ts"],"names":[],"mappings":"AAAA,OAAO,EAAU,KAAK,MAAM,EAAE,MAAM,eAAe,CAAC;AAEpD,kEAAkE;AAClE,MAAM,MAAM,kBAAkB,CAAC,CAAC,SAAS,MAAM,EAAE,CAAC,SAAS,MAAM,IAAI,OAAO,CAC1E,MAAM,CAAC,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CACjC,CAAC;AAEF,MAAM,WAAW,mBAAmB,CAAC,CAAC,SAAS,MAAM,EAAE,CAAC,SAAS,MAAM;IACrE,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC;IACpB,QAAQ,CAAC,MAAM,EAAE,kBAAkB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;CAC3C;AAED,MAAM,WAAW,OAAO,CAAC,CAAC,SAAS,MAAM,EAAE,CAAC,SAAS,MAAM;IACzD,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC;IAC1B,IAAI,CAAC,KAAK,EAAE,CAAC,GAAG,OAAO,CAAC;IACxB,OAAO,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,GAAG,OAAO,CAAC;IACjC,GAAG,CAAC,KAAK,EAAE,CAAC,GAAG,OAAO,CAAC;IACvB,QAAQ,IAAI,CAAC,CAAC;CACf;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,aAAa,CAAC,CAAC,SAAS,MAAM,EAAE,CAAC,SAAS,MAAM,EAC9D,MAAM,EAAE,mBAAmB,CAAC,CAAC,EAAE,CAAC,CAAC,GAChC,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,CAoBf;AAED,6EAA6E;AAC7E,MAAM,MAAM,WAAW,GAAG,MAAM,GAAG,SAAS,GAAG,SAAS,GAAG,OAAO,CAAC;AAEnE,mCAAmC;AACnC,MAAM,MAAM,WAAW,GAAG,SAAS,GAAG,SAAS,GAAG,WAAW,GAAG,OAAO,GAAG,WAAW,CAAC"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { type Signal } from '@angular/core';
|
|
2
|
+
export type PresenceState = 'closed' | 'open' | 'closing';
|
|
3
|
+
export type PresenceEvent = 'OPEN' | 'CLOSE' | 'CLOSED';
|
|
4
|
+
export interface PresenceController {
|
|
5
|
+
readonly state: Signal<PresenceState>;
|
|
6
|
+
readonly mounted: Signal<boolean>;
|
|
7
|
+
readonly isClosing: Signal<boolean>;
|
|
8
|
+
readonly isOpen: Signal<boolean>;
|
|
9
|
+
/** Opens and cancels any in-flight exit. */
|
|
10
|
+
open(): void;
|
|
11
|
+
/**
|
|
12
|
+
* Plays exit, then settles to `closed` only if this close was not superseded.
|
|
13
|
+
* @returns `true` when this generation settled to closed
|
|
14
|
+
*/
|
|
15
|
+
close(playExit: () => Promise<void>): Promise<boolean>;
|
|
16
|
+
forceClose(): void;
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* Animated presence: `closed → open → closing → closed`.
|
|
20
|
+
* Re-open during exit cancels the pending settle (no phantom close).
|
|
21
|
+
*
|
|
22
|
+
* ```ts
|
|
23
|
+
* const presence = createPresence();
|
|
24
|
+
* presence.open();
|
|
25
|
+
* await presence.close(() => playExit(el, motion));
|
|
26
|
+
* ```
|
|
27
|
+
*/
|
|
28
|
+
export declare function createPresence(): PresenceController;
|
|
29
|
+
//# sourceMappingURL=create-presence.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"create-presence.d.ts","sourceRoot":"","sources":["../../../../packages/cdk/state-machine/create-presence.ts"],"names":[],"mappings":"AAAA,OAAO,EAAY,KAAK,MAAM,EAAE,MAAM,eAAe,CAAC;AAGtD,MAAM,MAAM,aAAa,GAAG,QAAQ,GAAG,MAAM,GAAG,SAAS,CAAC;AAE1D,MAAM,MAAM,aAAa,GAAG,MAAM,GAAG,OAAO,GAAG,QAAQ,CAAC;AAExD,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC,aAAa,CAAC,CAAC;IACtC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC;IAClC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC;IACpC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC;IACjC,4CAA4C;IAC5C,IAAI,IAAI,IAAI,CAAC;IACb;;;OAGG;IACH,KAAK,CAAC,QAAQ,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IACvD,UAAU,IAAI,IAAI,CAAC;CACpB;AAED;;;;;;;;;GASG;AACH,wBAAgB,cAAc,IAAI,kBAAkB,CA4DnD"}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
export { createMachine, type AiRunStatus, type AsyncStatus, type CreateMachineConfig, type Machine, type MachineTransitions, } from './create-machine';
|
|
2
|
+
export { createPresence, type PresenceController, type PresenceEvent, type PresenceState, } from './create-presence';
|
|
3
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../packages/cdk/state-machine/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,aAAa,EACb,KAAK,WAAW,EAChB,KAAK,WAAW,EAChB,KAAK,mBAAmB,EACxB,KAAK,OAAO,EACZ,KAAK,kBAAkB,GACxB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EACL,cAAc,EACd,KAAK,kBAAkB,EACvB,KAAK,aAAa,EAClB,KAAK,aAAa,GACnB,MAAM,mBAAmB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ngxsmk-cdk-state-machine.d.ts","sourceRoot":"","sources":["../../../../packages/cdk/state-machine/ngxsmk-cdk-state-machine.ts"],"names":[],"mappings":"AAAA;;GAEG;;AAEH,cAAc,SAAS,CAAC"}
|