@ignite-element/core 3.0.0-beta.2

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/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2025 JOSΞ
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
package/README.md ADDED
@@ -0,0 +1,22 @@
1
+ # ignite-core
2
+
3
+ Advanced adapter-neutral primitives for Ignite contracts and shared typing.
4
+
5
+ Use `ignite-core` only when you are building custom adapters, headless integrations, or library-level tooling on top of Ignite internals.
6
+
7
+ Most application and component authors should install `ignite-element` instead.
8
+
9
+ Package role:
10
+
11
+ - adapter-neutral types and contracts
12
+ - event/effect typing and callback contracts
13
+ - small shared utilities used by higher-level packages
14
+
15
+ This package no longer exposes projection or component authoring helpers. Use `ignite-element/xstate`, `ignite-element/redux`, or `ignite-element/mobx` for authoring components.
16
+
17
+ Default public package for application code:
18
+
19
+ - `ignite-element`
20
+ - `ignite-element/xstate`
21
+ - `ignite-element/redux`
22
+ - `ignite-element/mobx`
@@ -0,0 +1,78 @@
1
+ const s = () => ({ __payload: void 0 });
2
+ var u = /* @__PURE__ */ ((e) => (e.Shared = "shared", e.Isolated = "isolated", e))(u || {});
3
+ const i = /* @__PURE__ */ Symbol.for("ignite.command.metadata"), c = (e, t) => {
4
+ if (t === void 0)
5
+ return e;
6
+ const n = function(...r) {
7
+ return e.apply(this, r);
8
+ };
9
+ return Object.defineProperty(n, i, {
10
+ configurable: !0,
11
+ enumerable: !1,
12
+ value: t,
13
+ writable: !1
14
+ }), n;
15
+ }, f = Object.assign(c, {
16
+ number(e = {}) {
17
+ return {
18
+ type: "number",
19
+ ...e
20
+ };
21
+ },
22
+ string(e = {}) {
23
+ return {
24
+ type: "string",
25
+ ...e
26
+ };
27
+ },
28
+ boolean(e = {}) {
29
+ return {
30
+ type: "boolean",
31
+ ...e
32
+ };
33
+ },
34
+ enum(e, t = {}) {
35
+ return {
36
+ type: "string",
37
+ enum: [...e],
38
+ ...t
39
+ };
40
+ },
41
+ object(e = {}, t = {}) {
42
+ return {
43
+ type: "object",
44
+ properties: e,
45
+ ...t
46
+ };
47
+ },
48
+ array(e, t = {}) {
49
+ return {
50
+ type: "array",
51
+ ...typeof e > "u" ? {} : { items: e },
52
+ ...t
53
+ };
54
+ }
55
+ });
56
+ function d(e) {
57
+ throw new Error(e);
58
+ }
59
+ function l(e) {
60
+ return typeof e == "function";
61
+ }
62
+ function m(e, t, n) {
63
+ for (const [r, a] of Object.entries(t)) {
64
+ const o = r;
65
+ if (e.matches(o))
66
+ return a;
67
+ }
68
+ return n;
69
+ }
70
+ export {
71
+ u as StateScope,
72
+ f as command,
73
+ i as commandMetadataSymbol,
74
+ s as event,
75
+ d as failInvariant,
76
+ l as isFunction,
77
+ m as matchState
78
+ };
@@ -0,0 +1 @@
1
+ (function(t,a){typeof exports=="object"&&typeof module<"u"?a(exports):typeof define=="function"&&define.amd?define(["exports"],a):(t=typeof globalThis<"u"?globalThis:t||self,a(t["ignite-core"]={}))})(this,(function(t){"use strict";const a=()=>({__payload:void 0});var i=(e=>(e.Shared="shared",e.Isolated="isolated",e))(i||{});const u=Symbol.for("ignite.command.metadata"),c=Object.assign((e,n)=>{if(n===void 0)return e;const r=function(...o){return e.apply(this,o)};return Object.defineProperty(r,u,{configurable:!0,enumerable:!1,value:n,writable:!1}),r},{number(e={}){return{type:"number",...e}},string(e={}){return{type:"string",...e}},boolean(e={}){return{type:"boolean",...e}},enum(e,n={}){return{type:"string",enum:[...e],...n}},object(e={},n={}){return{type:"object",properties:e,...n}},array(e,n={}){return{type:"array",...typeof e>"u"?{}:{items:e},...n}}});function d(e){throw new Error(e)}function f(e){return typeof e=="function"}function m(e,n,r){for(const[o,s]of Object.entries(n)){const l=o;if(e.matches(l))return s}return r}t.StateScope=i,t.command=c,t.commandMetadataSymbol=u,t.event=a,t.failInvariant=d,t.isFunction=f,t.matchState=m,Object.defineProperty(t,Symbol.toStringTag,{value:"Module"})}));
@@ -0,0 +1,29 @@
1
+ export declare enum StateScope {
2
+ Shared = "shared",
3
+ Isolated = "isolated"
4
+ }
5
+ export default interface IgniteAdapter<State, Event> {
6
+ /**
7
+ * Subscribes to state changes and returns an unsubscribe function
8
+ */
9
+ subscribe: (listener: (state: State) => void) => {
10
+ unsubscribe: () => void;
11
+ };
12
+ /**
13
+ * Sends an event or action to update the state
14
+ */
15
+ send: (event: Event) => void;
16
+ /**
17
+ * Retrieves the current state
18
+ */
19
+ getState: () => State;
20
+ /**
21
+ * Stops the adapter, cleaning up resources
22
+ */
23
+ stop: () => void;
24
+ /**
25
+ * Indicates whether the adapter is shared or isolated.
26
+ */
27
+ scope?: StateScope;
28
+ }
29
+ //# sourceMappingURL=IgniteAdapter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IgniteAdapter.d.ts","sourceRoot":"","sources":["../../src/IgniteAdapter.ts"],"names":[],"mappings":"AAAA,oBAAY,UAAU;IACrB,MAAM,WAAW;IACjB,QAAQ,aAAa;CACrB;AAED,MAAM,CAAC,OAAO,WAAW,aAAa,CAAC,KAAK,EAAE,KAAK;IAClD;;OAEG;IACH,SAAS,EAAE,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,KAAK;QAAE,WAAW,EAAE,MAAM,IAAI,CAAA;KAAE,CAAC;IAE7E;;OAEG;IACH,IAAI,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;IAE7B;;OAEG;IACH,QAAQ,EAAE,MAAM,KAAK,CAAC;IAEtB;;OAEG;IACH,IAAI,EAAE,MAAM,IAAI,CAAC;IAEjB;;OAEG;IACH,KAAK,CAAC,EAAE,UAAU,CAAC;CACnB"}
@@ -0,0 +1,136 @@
1
+ export type FacadeStatesCallback<Snapshot, Result extends Record<string, unknown> = Record<string, unknown>> = (snapshot: Snapshot) => Result;
2
+ export type ViewContext<Snapshot> = Snapshot extends object ? Snapshot & {
3
+ snapshot: Snapshot;
4
+ } : {
5
+ snapshot: Snapshot;
6
+ };
7
+ export type FacadeViewCallback<Snapshot, Result extends Record<string, unknown> = Record<string, unknown>> = (context: ViewContext<Snapshot>) => Result;
8
+ export type FacadeCommandFunction = (...args: any[]) => unknown;
9
+ export type FacadeCommandResult = Record<string, FacadeCommandFunction>;
10
+ export declare const commandMetadataSymbol: unique symbol;
11
+ export type CommandMetadataPrimitive = null | boolean | number | string;
12
+ export type CommandMetadataValue = CommandMetadataPrimitive | CommandMetadataValue[] | readonly CommandMetadataValue[] | {
13
+ [key: string]: CommandMetadataValue | undefined;
14
+ };
15
+ export type NumberCommandInputMetadata = {
16
+ type: "number";
17
+ description?: string;
18
+ minimum?: number;
19
+ maximum?: number;
20
+ multipleOf?: number;
21
+ default?: number;
22
+ };
23
+ export type NumberCommandInputOptions = Omit<NumberCommandInputMetadata, "type">;
24
+ export type StringCommandInputMetadata = {
25
+ type: "string";
26
+ description?: string;
27
+ minLength?: number;
28
+ maxLength?: number;
29
+ pattern?: string;
30
+ format?: string;
31
+ default?: string;
32
+ };
33
+ export type StringCommandInputOptions = Omit<StringCommandInputMetadata, "type">;
34
+ export type BooleanCommandInputMetadata = {
35
+ type: "boolean";
36
+ description?: string;
37
+ default?: boolean;
38
+ };
39
+ export type BooleanCommandInputOptions = Omit<BooleanCommandInputMetadata, "type">;
40
+ export type EnumCommandInputMetadata<Value extends string = string> = {
41
+ type: "string";
42
+ description?: string;
43
+ enum: readonly Value[];
44
+ default?: Value;
45
+ };
46
+ export type EnumCommandInputOptions<Value extends string = string> = Omit<EnumCommandInputMetadata<Value>, "type" | "enum">;
47
+ export type CommandInputMetadata = NumberCommandInputMetadata | StringCommandInputMetadata | BooleanCommandInputMetadata | EnumCommandInputMetadata | ObjectCommandInputMetadata | ArrayCommandInputMetadata;
48
+ export type ObjectCommandInputProperties = Record<string, CommandInputMetadata>;
49
+ export type ObjectCommandInputMetadata = {
50
+ type: "object";
51
+ description?: string;
52
+ properties?: ObjectCommandInputProperties;
53
+ required?: readonly string[];
54
+ additionalProperties?: boolean | CommandInputMetadata;
55
+ default?: {
56
+ [key: string]: CommandMetadataValue | undefined;
57
+ };
58
+ };
59
+ export type ObjectCommandInputOptions = Omit<ObjectCommandInputMetadata, "type" | "properties">;
60
+ export type ArrayCommandInputMetadata = {
61
+ type: "array";
62
+ description?: string;
63
+ items?: CommandInputMetadata;
64
+ minItems?: number;
65
+ maxItems?: number;
66
+ default?: CommandMetadataValue[];
67
+ };
68
+ export type ArrayCommandInputOptions = Omit<ArrayCommandInputMetadata, "type" | "items">;
69
+ export type CommandMetadata = {
70
+ description?: string;
71
+ input?: CommandMetadataValue;
72
+ [key: string]: CommandMetadataValue | undefined;
73
+ };
74
+ export type CommandWithMetadata<Command extends FacadeCommandFunction = FacadeCommandFunction> = Command & {
75
+ readonly [commandMetadataSymbol]?: CommandMetadata;
76
+ };
77
+ export type CommandHelper = {
78
+ <Command extends FacadeCommandFunction>(commandFunction: Command, metadata?: CommandMetadata): CommandWithMetadata<Command>;
79
+ number(options?: NumberCommandInputOptions): NumberCommandInputMetadata;
80
+ string(options?: StringCommandInputOptions): StringCommandInputMetadata;
81
+ boolean(options?: BooleanCommandInputOptions): BooleanCommandInputMetadata;
82
+ enum<const Values extends readonly [string, ...string[]]>(values: Values, options?: EnumCommandInputOptions<Values[number]>): EnumCommandInputMetadata<Values[number]>;
83
+ object(properties?: ObjectCommandInputProperties, options?: ObjectCommandInputOptions): ObjectCommandInputMetadata;
84
+ array(items?: CommandInputMetadata, options?: ArrayCommandInputOptions): ArrayCommandInputMetadata;
85
+ };
86
+ export declare const command: CommandHelper;
87
+ export type EmptyEventMap = {
88
+ readonly [Type in never]: EventDescriptor<never>;
89
+ };
90
+ export type EventDescriptor<Payload> = {
91
+ readonly __payload?: Payload;
92
+ };
93
+ export type EventMap = {
94
+ readonly [Type in string]: EventDescriptor<unknown>;
95
+ };
96
+ export type EventBuilder = <Payload>() => EventDescriptor<Payload>;
97
+ export type EventPayload<Descriptor> = Descriptor extends EventDescriptor<infer Payload> ? Payload : never;
98
+ export type EmitPayloadArgs<Events extends EventMap, Type extends keyof Events & string> = undefined extends EventPayload<Events[Type]> ? [payload?: EventPayload<Events[Type]> | undefined] : [payload: EventPayload<Events[Type]>];
99
+ export type EmitFromEvents<Events extends EventMap> = <Type extends keyof Events & string>(type: Type, ...args: EmitPayloadArgs<Events, Type>) => void;
100
+ export type CommandContext<Actor, Host = unknown> = {
101
+ actor: Actor;
102
+ command: CommandHelper;
103
+ host: Host;
104
+ };
105
+ export type FacadeCommandsCallback<Actor, Result extends FacadeCommandResult = FacadeCommandResult, Host = unknown> = (context: CommandContext<Actor, Host>) => Result;
106
+ export type EffectContext<Actor, Events extends EventMap = EmptyEventMap, Host = unknown, Snapshot = unknown> = {
107
+ actor: Actor;
108
+ emit: EmitFromEvents<Events>;
109
+ host: Host;
110
+ select: EffectSelector<Snapshot>;
111
+ };
112
+ export type EffectSelection<Value> = {
113
+ current: Value;
114
+ previous: Value;
115
+ changed: boolean;
116
+ };
117
+ export type EffectSelector<Snapshot> = <Value>(selector: (snapshot: Snapshot) => Value) => EffectSelection<Value>;
118
+ export type FacadeEffectArgs<Snapshot, Actor, Events extends EventMap = EmptyEventMap, Host = unknown> = EffectContext<Actor, Events, Host, Snapshot> & {
119
+ snapshot: Snapshot;
120
+ prevSnapshot: Snapshot;
121
+ };
122
+ export type FacadeEffectsCallback<Snapshot, Actor, Events extends EventMap = EmptyEventMap, Host = unknown> = (snapshot: Snapshot, prevSnapshot: Snapshot, context: EffectContext<Actor, Events, Host, Snapshot>) => void;
123
+ export type FacadeEffectsObjectCallback<Snapshot, Actor, Events extends EventMap = EmptyEventMap, Host = unknown> = (args: FacadeEffectArgs<Snapshot, Actor, Events, Host>) => void;
124
+ export type FacadeEffectsLike<Snapshot, Actor, Events extends EventMap = EmptyEventMap, Host = unknown> = FacadeEffectsCallback<Snapshot, Actor, Events, Host> | FacadeEffectsObjectCallback<Snapshot, Actor, Events, Host>;
125
+ type IsNever<T> = [T] extends [never] ? true : false;
126
+ type StateResult<Snapshot, StateCallback, Result = [StateCallback] extends [
127
+ FacadeStatesCallback<Snapshot, infer Result>
128
+ ] ? Result : [StateCallback] extends [FacadeViewCallback<Snapshot, infer Result>] ? Result : Record<never, never>> = IsNever<StateCallback> extends true ? Record<never, never> : Result;
129
+ type CommandResult<CommandCallback, Result = CommandCallback extends FacadeCommandsCallback<infer _Actor, infer CallbackResult, infer _Host> ? CallbackResult extends FacadeCommandResult ? CallbackResult : Record<never, never> : Record<never, never>> = IsNever<CommandCallback> extends true ? Record<never, never> : Result;
130
+ export type BaseRenderArgs<State, Event> = {
131
+ state: State;
132
+ send: (event: Event) => void;
133
+ };
134
+ export type RenderArgs<State, Event, Snapshot = State, StateCallback = undefined, CommandCallback = undefined> = BaseRenderArgs<State, Event> & StateResult<Snapshot, NonNullable<StateCallback>> & CommandResult<NonNullable<CommandCallback>>;
135
+ export {};
136
+ //# sourceMappingURL=RenderArgs.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RenderArgs.d.ts","sourceRoot":"","sources":["../../src/RenderArgs.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,oBAAoB,CAC/B,QAAQ,EACR,MAAM,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,IAC7D,CAAC,QAAQ,EAAE,QAAQ,KAAK,MAAM,CAAC;AAEnC,MAAM,MAAM,WAAW,CAAC,QAAQ,IAAI,QAAQ,SAAS,MAAM,GACxD,QAAQ,GAAG;IAAE,QAAQ,EAAE,QAAQ,CAAA;CAAE,GACjC;IAAE,QAAQ,EAAE,QAAQ,CAAA;CAAE,CAAC;AAE1B,MAAM,MAAM,kBAAkB,CAC7B,QAAQ,EACR,MAAM,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,IAC7D,CAAC,OAAO,EAAE,WAAW,CAAC,QAAQ,CAAC,KAAK,MAAM,CAAC;AAG/C,MAAM,MAAM,qBAAqB,GAAG,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,OAAO,CAAC;AAEhE,MAAM,MAAM,mBAAmB,GAAG,MAAM,CAAC,MAAM,EAAE,qBAAqB,CAAC,CAAC;AAExE,eAAO,MAAM,qBAAqB,eAAwC,CAAC;AAE3E,MAAM,MAAM,wBAAwB,GAAG,IAAI,GAAG,OAAO,GAAG,MAAM,GAAG,MAAM,CAAC;AAExE,MAAM,MAAM,oBAAoB,GAC7B,wBAAwB,GACxB,oBAAoB,EAAE,GACtB,SAAS,oBAAoB,EAAE,GAC/B;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,oBAAoB,GAAG,SAAS,CAAA;CAAE,CAAC;AAEvD,MAAM,MAAM,0BAA0B,GAAG;IACxC,IAAI,EAAE,QAAQ,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,MAAM,MAAM,yBAAyB,GAAG,IAAI,CAC3C,0BAA0B,EAC1B,MAAM,CACN,CAAC;AAEF,MAAM,MAAM,0BAA0B,GAAG;IACxC,IAAI,EAAE,QAAQ,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,MAAM,MAAM,yBAAyB,GAAG,IAAI,CAC3C,0BAA0B,EAC1B,MAAM,CACN,CAAC;AAEF,MAAM,MAAM,2BAA2B,GAAG;IACzC,IAAI,EAAE,SAAS,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,OAAO,CAAC;CAClB,CAAC;AAEF,MAAM,MAAM,0BAA0B,GAAG,IAAI,CAC5C,2BAA2B,EAC3B,MAAM,CACN,CAAC;AAEF,MAAM,MAAM,wBAAwB,CAAC,KAAK,SAAS,MAAM,GAAG,MAAM,IAAI;IACrE,IAAI,EAAE,QAAQ,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,IAAI,EAAE,SAAS,KAAK,EAAE,CAAC;IACvB,OAAO,CAAC,EAAE,KAAK,CAAC;CAChB,CAAC;AAEF,MAAM,MAAM,uBAAuB,CAAC,KAAK,SAAS,MAAM,GAAG,MAAM,IAAI,IAAI,CACxE,wBAAwB,CAAC,KAAK,CAAC,EAC/B,MAAM,GAAG,MAAM,CACf,CAAC;AAEF,MAAM,MAAM,oBAAoB,GAC7B,0BAA0B,GAC1B,0BAA0B,GAC1B,2BAA2B,GAC3B,wBAAwB,GACxB,0BAA0B,GAC1B,yBAAyB,CAAC;AAE7B,MAAM,MAAM,4BAA4B,GAAG,MAAM,CAAC,MAAM,EAAE,oBAAoB,CAAC,CAAC;AAEhF,MAAM,MAAM,0BAA0B,GAAG;IACxC,IAAI,EAAE,QAAQ,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,4BAA4B,CAAC;IAC1C,QAAQ,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC7B,oBAAoB,CAAC,EAAE,OAAO,GAAG,oBAAoB,CAAC;IACtD,OAAO,CAAC,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,oBAAoB,GAAG,SAAS,CAAA;KAAE,CAAC;CAC9D,CAAC;AAEF,MAAM,MAAM,yBAAyB,GAAG,IAAI,CAC3C,0BAA0B,EAC1B,MAAM,GAAG,YAAY,CACrB,CAAC;AAEF,MAAM,MAAM,yBAAyB,GAAG;IACvC,IAAI,EAAE,OAAO,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,KAAK,CAAC,EAAE,oBAAoB,CAAC;IAC7B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,oBAAoB,EAAE,CAAC;CACjC,CAAC;AAEF,MAAM,MAAM,wBAAwB,GAAG,IAAI,CAC1C,yBAAyB,EACzB,MAAM,GAAG,OAAO,CAChB,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG;IAC7B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,KAAK,CAAC,EAAE,oBAAoB,CAAC;IAC7B,CAAC,GAAG,EAAE,MAAM,GAAG,oBAAoB,GAAG,SAAS,CAAC;CAChD,CAAC;AAEF,MAAM,MAAM,mBAAmB,CAC9B,OAAO,SAAS,qBAAqB,GAAG,qBAAqB,IAC1D,OAAO,GAAG;IACb,QAAQ,CAAC,CAAC,qBAAqB,CAAC,CAAC,EAAE,eAAe,CAAC;CACnD,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG;IAC3B,CAAC,OAAO,SAAS,qBAAqB,EACrC,eAAe,EAAE,OAAO,EACxB,QAAQ,CAAC,EAAE,eAAe,GACxB,mBAAmB,CAAC,OAAO,CAAC,CAAC;IAChC,MAAM,CAAC,OAAO,CAAC,EAAE,yBAAyB,GAAG,0BAA0B,CAAC;IACxE,MAAM,CAAC,OAAO,CAAC,EAAE,yBAAyB,GAAG,0BAA0B,CAAC;IACxE,OAAO,CAAC,OAAO,CAAC,EAAE,0BAA0B,GAAG,2BAA2B,CAAC;IAC3E,IAAI,CAAC,KAAK,CAAC,MAAM,SAAS,SAAS,CAAC,MAAM,EAAE,GAAG,MAAM,EAAE,CAAC,EACvD,MAAM,EAAE,MAAM,EACd,OAAO,CAAC,EAAE,uBAAuB,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,GAC/C,wBAAwB,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;IAC5C,MAAM,CACL,UAAU,CAAC,EAAE,4BAA4B,EACzC,OAAO,CAAC,EAAE,yBAAyB,GACjC,0BAA0B,CAAC;IAC9B,KAAK,CACJ,KAAK,CAAC,EAAE,oBAAoB,EAC5B,OAAO,CAAC,EAAE,wBAAwB,GAChC,yBAAyB,CAAC;CAC7B,CAAC;AA6BF,eAAO,MAAM,OAAO,EAAE,aA8CpB,CAAC;AAEH,MAAM,MAAM,aAAa,GAAG;IAC3B,QAAQ,EAAE,IAAI,IAAI,KAAK,GAAG,eAAe,CAAC,KAAK,CAAC;CAChD,CAAC;AAEF,MAAM,MAAM,eAAe,CAAC,OAAO,IAAI;IACtC,QAAQ,CAAC,SAAS,CAAC,EAAE,OAAO,CAAC;CAC7B,CAAC;AAEF,MAAM,MAAM,QAAQ,GAAG;IACtB,QAAQ,EAAE,IAAI,IAAI,MAAM,GAAG,eAAe,CAAC,OAAO,CAAC;CACnD,CAAC;AAEF,MAAM,MAAM,YAAY,GAAG,CAAC,OAAO,OAAO,eAAe,CAAC,OAAO,CAAC,CAAC;AAEnE,MAAM,MAAM,YAAY,CAAC,UAAU,IAAI,UAAU,SAAS,eAAe,CACxE,MAAM,OAAO,CACb,GACE,OAAO,GACP,KAAK,CAAC;AAET,MAAM,MAAM,eAAe,CAC1B,MAAM,SAAS,QAAQ,EACvB,IAAI,SAAS,MAAM,MAAM,GAAG,MAAM,IAC/B,SAAS,SAAS,YAAY,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,GAC7C,CAAC,OAAO,CAAC,EAAE,YAAY,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,GAAG,SAAS,CAAC,GAClD,CAAC,OAAO,EAAE,YAAY,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAEzC,MAAM,MAAM,cAAc,CAAC,MAAM,SAAS,QAAQ,IAAI,CACrD,IAAI,SAAS,MAAM,MAAM,GAAG,MAAM,EAElC,IAAI,EAAE,IAAI,EACV,GAAG,IAAI,EAAE,eAAe,CAAC,MAAM,EAAE,IAAI,CAAC,KAClC,IAAI,CAAC;AAEV,MAAM,MAAM,cAAc,CAAC,KAAK,EAAE,IAAI,GAAG,OAAO,IAAI;IACnD,KAAK,EAAE,KAAK,CAAC;IACb,OAAO,EAAE,aAAa,CAAC;IACvB,IAAI,EAAE,IAAI,CAAC;CACX,CAAC;AAEF,MAAM,MAAM,sBAAsB,CACjC,KAAK,EACL,MAAM,SAAS,mBAAmB,GAAG,mBAAmB,EACxD,IAAI,GAAG,OAAO,IACX,CAAC,OAAO,EAAE,cAAc,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,MAAM,CAAC;AAErD,MAAM,MAAM,aAAa,CACxB,KAAK,EACL,MAAM,SAAS,QAAQ,GAAG,aAAa,EACvC,IAAI,GAAG,OAAO,EACd,QAAQ,GAAG,OAAO,IACf;IACH,KAAK,EAAE,KAAK,CAAC;IACb,IAAI,EAAE,cAAc,CAAC,MAAM,CAAC,CAAC;IAC7B,IAAI,EAAE,IAAI,CAAC;IACX,MAAM,EAAE,cAAc,CAAC,QAAQ,CAAC,CAAC;CACjC,CAAC;AAEF,MAAM,MAAM,eAAe,CAAC,KAAK,IAAI;IACpC,OAAO,EAAE,KAAK,CAAC;IACf,QAAQ,EAAE,KAAK,CAAC;IAChB,OAAO,EAAE,OAAO,CAAC;CACjB,CAAC;AAEF,MAAM,MAAM,cAAc,CAAC,QAAQ,IAAI,CAAC,KAAK,EAC5C,QAAQ,EAAE,CAAC,QAAQ,EAAE,QAAQ,KAAK,KAAK,KACnC,eAAe,CAAC,KAAK,CAAC,CAAC;AAE5B,MAAM,MAAM,gBAAgB,CAC3B,QAAQ,EACR,KAAK,EACL,MAAM,SAAS,QAAQ,GAAG,aAAa,EACvC,IAAI,GAAG,OAAO,IACX,aAAa,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,CAAC,GAAG;IAClD,QAAQ,EAAE,QAAQ,CAAC;IACnB,YAAY,EAAE,QAAQ,CAAC;CACvB,CAAC;AAEF,MAAM,MAAM,qBAAqB,CAChC,QAAQ,EACR,KAAK,EACL,MAAM,SAAS,QAAQ,GAAG,aAAa,EACvC,IAAI,GAAG,OAAO,IACX,CACH,QAAQ,EAAE,QAAQ,EAClB,YAAY,EAAE,QAAQ,EACtB,OAAO,EAAE,aAAa,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,CAAC,KACjD,IAAI,CAAC;AAEV,MAAM,MAAM,2BAA2B,CACtC,QAAQ,EACR,KAAK,EACL,MAAM,SAAS,QAAQ,GAAG,aAAa,EACvC,IAAI,GAAG,OAAO,IACX,CAAC,IAAI,EAAE,gBAAgB,CAAC,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,CAAC,KAAK,IAAI,CAAC;AAEpE,MAAM,MAAM,iBAAiB,CAC5B,QAAQ,EACR,KAAK,EACL,MAAM,SAAS,QAAQ,GAAG,aAAa,EACvC,IAAI,GAAG,OAAO,IAEZ,qBAAqB,CAAC,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,CAAC,GACpD,2BAA2B,CAAC,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;AAE9D,KAAK,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,IAAI,GAAG,KAAK,CAAC;AAErD,KAAK,WAAW,CACf,QAAQ,EACR,aAAa,EACb,MAAM,GAAG,CAAC,aAAa,CAAC,SAAS;IAChC,oBAAoB,CAAC,QAAQ,EAAE,MAAM,MAAM,CAAC;CAC5C,GACE,MAAM,GACN,CAAC,aAAa,CAAC,SAAS,CAAC,kBAAkB,CAAC,QAAQ,EAAE,MAAM,MAAM,CAAC,CAAC,GACnE,MAAM,GACN,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,IACrB,OAAO,CAAC,aAAa,CAAC,SAAS,IAAI,GAAG,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,GAAG,MAAM,CAAC;AAExE,KAAK,aAAa,CACjB,eAAe,EACf,MAAM,GAAG,eAAe,SAAS,sBAAsB,CACtD,MAAM,MAAM,EACZ,MAAM,cAAc,EACpB,MAAM,KAAK,CACX,GACE,cAAc,SAAS,mBAAmB,GACzC,cAAc,GACd,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,GACrB,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,IACpB,OAAO,CAAC,eAAe,CAAC,SAAS,IAAI,GAAG,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,GAAG,MAAM,CAAC;AAE1E,MAAM,MAAM,cAAc,CAAC,KAAK,EAAE,KAAK,IAAI;IAC1C,KAAK,EAAE,KAAK,CAAC;IACb,IAAI,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;CAC7B,CAAC;AAEF,MAAM,MAAM,UAAU,CACrB,KAAK,EACL,KAAK,EACL,QAAQ,GAAG,KAAK,EAChB,aAAa,GAAG,SAAS,EACzB,eAAe,GAAG,SAAS,IACxB,cAAc,CAAC,KAAK,EAAE,KAAK,CAAC,GAC/B,WAAW,CAAC,QAAQ,EAAE,WAAW,CAAC,aAAa,CAAC,CAAC,GACjD,aAAa,CAAC,WAAW,CAAC,eAAe,CAAC,CAAC,CAAC"}
@@ -0,0 +1,3 @@
1
+ import { EventBuilder } from './RenderArgs';
2
+ export declare const event: EventBuilder;
3
+ //# sourceMappingURL=events.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"events.d.ts","sourceRoot":"","sources":["../../src/events.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAmB,MAAM,cAAc,CAAC;AAElE,eAAO,MAAM,KAAK,EAAE,YACyD,CAAC"}
@@ -0,0 +1,10 @@
1
+ export { event } from './events';
2
+ export type { default as IgniteAdapter } from './IgniteAdapter';
3
+ export { StateScope } from './IgniteAdapter';
4
+ export type { ArrayCommandInputMetadata, ArrayCommandInputOptions, BaseRenderArgs, BooleanCommandInputMetadata, BooleanCommandInputOptions, CommandContext, CommandHelper, CommandInputMetadata, CommandMetadata, CommandMetadataPrimitive, CommandMetadataValue, CommandWithMetadata, EffectContext, EffectSelection, EffectSelector, EmitFromEvents, EmitPayloadArgs, EmptyEventMap, EnumCommandInputMetadata, EnumCommandInputOptions, EventBuilder, EventDescriptor, EventMap, EventPayload, FacadeCommandFunction, FacadeCommandResult, FacadeCommandsCallback, FacadeEffectArgs, FacadeEffectsCallback, FacadeEffectsLike, FacadeEffectsObjectCallback, FacadeStatesCallback, FacadeViewCallback, NumberCommandInputMetadata, NumberCommandInputOptions, ObjectCommandInputMetadata, ObjectCommandInputOptions, ObjectCommandInputProperties, RenderArgs, StringCommandInputMetadata, StringCommandInputOptions, ViewContext, } from './RenderArgs';
5
+ export { command, commandMetadataSymbol } from './RenderArgs';
6
+ export type { AnyCommandsCallback, AnyEffectsCallback, AnyStatesCallback, AnyViewCallback, EventsDefinition, InferEvents, } from './types';
7
+ export { failInvariant } from './utils/failInvariant';
8
+ export { isFunction } from './utils/isFunction';
9
+ export { matchState } from './utils/matchState';
10
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AACjC,YAAY,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChE,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,YAAY,EACX,yBAAyB,EACzB,wBAAwB,EACxB,cAAc,EACd,2BAA2B,EAC3B,0BAA0B,EAC1B,cAAc,EACd,aAAa,EACb,oBAAoB,EACpB,eAAe,EACf,wBAAwB,EACxB,oBAAoB,EACpB,mBAAmB,EACnB,aAAa,EACb,eAAe,EACf,cAAc,EACd,cAAc,EACd,eAAe,EACf,aAAa,EACb,wBAAwB,EACxB,uBAAuB,EACvB,YAAY,EACZ,eAAe,EACf,QAAQ,EACR,YAAY,EACZ,qBAAqB,EACrB,mBAAmB,EACnB,sBAAsB,EACtB,gBAAgB,EAChB,qBAAqB,EACrB,iBAAiB,EACjB,2BAA2B,EAC3B,oBAAoB,EACpB,kBAAkB,EAClB,0BAA0B,EAC1B,yBAAyB,EACzB,0BAA0B,EAC1B,yBAAyB,EACzB,4BAA4B,EAC5B,UAAU,EACV,0BAA0B,EAC1B,yBAAyB,EACzB,WAAW,GACX,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,OAAO,EAAE,qBAAqB,EAAE,MAAM,cAAc,CAAC;AAC9D,YAAY,EACX,mBAAmB,EACnB,kBAAkB,EAClB,iBAAiB,EACjB,eAAe,EACf,gBAAgB,EAChB,WAAW,GACX,MAAM,SAAS,CAAC;AACjB,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACtD,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAChD,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC"}
@@ -0,0 +1,9 @@
1
+ import { EmptyEventMap, EventBuilder, EventMap, FacadeCommandResult, FacadeCommandsCallback, FacadeEffectsLike, FacadeStatesCallback, FacadeViewCallback } from './RenderArgs';
2
+ export type AnyStatesCallback = FacadeStatesCallback<unknown, Record<string, unknown>>;
3
+ export type AnyViewCallback = FacadeViewCallback<unknown, Record<string, unknown>>;
4
+ export type AnyCommandsCallback = FacadeCommandsCallback<unknown, FacadeCommandResult>;
5
+ export type AnyEffectsCallback = FacadeEffectsLike<unknown, unknown, EventMap>;
6
+ export type EventsDefinition<Events> = (event: EventBuilder) => Events;
7
+ export type AnyEventsDefinition = EventsDefinition<EventMap>;
8
+ export type InferEvents<Definition> = Definition extends EventsDefinition<infer Events> ? Events extends EventMap ? Events : never : EmptyEventMap;
9
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACX,aAAa,EACb,YAAY,EACZ,QAAQ,EACR,mBAAmB,EACnB,sBAAsB,EACtB,iBAAiB,EACjB,oBAAoB,EACpB,kBAAkB,EAClB,MAAM,cAAc,CAAC;AAEtB,MAAM,MAAM,iBAAiB,GAAG,oBAAoB,CACnD,OAAO,EACP,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CACvB,CAAC;AACF,MAAM,MAAM,eAAe,GAAG,kBAAkB,CAC/C,OAAO,EACP,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CACvB,CAAC;AACF,MAAM,MAAM,mBAAmB,GAAG,sBAAsB,CACvD,OAAO,EACP,mBAAmB,CACnB,CAAC;AACF,MAAM,MAAM,kBAAkB,GAAG,iBAAiB,CAAC,OAAO,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC;AAE/E,MAAM,MAAM,gBAAgB,CAAC,MAAM,IAAI,CAAC,KAAK,EAAE,YAAY,KAAK,MAAM,CAAC;AACvE,MAAM,MAAM,mBAAmB,GAAG,gBAAgB,CAAC,QAAQ,CAAC,CAAC;AAE7D,MAAM,MAAM,WAAW,CAAC,UAAU,IAAI,UAAU,SAAS,gBAAgB,CACxE,MAAM,MAAM,CACZ,GACE,MAAM,SAAS,QAAQ,GACtB,MAAM,GACN,KAAK,GACN,aAAa,CAAC"}
@@ -0,0 +1,2 @@
1
+ export declare function failInvariant(message: string): never;
2
+ //# sourceMappingURL=failInvariant.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"failInvariant.d.ts","sourceRoot":"","sources":["../../../src/utils/failInvariant.ts"],"names":[],"mappings":"AAAA,wBAAgB,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,KAAK,CAEpD"}
@@ -0,0 +1,2 @@
1
+ export declare function isFunction<T extends (...args: unknown[]) => unknown>(value: unknown): value is T;
2
+ //# sourceMappingURL=isFunction.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"isFunction.d.ts","sourceRoot":"","sources":["../../../src/utils/isFunction.ts"],"names":[],"mappings":"AAAA,wBAAgB,UAAU,CAAC,CAAC,SAAS,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,OAAO,EACnE,KAAK,EAAE,OAAO,GACZ,KAAK,IAAI,CAAC,CAEZ"}
@@ -0,0 +1,6 @@
1
+ export type MatchStateSnapshot<StateValue extends string = string> = {
2
+ matches: (value: StateValue) => boolean;
3
+ };
4
+ export type MatchStateCases<T> = Record<string, T>;
5
+ export declare function matchState<Cases extends MatchStateCases<unknown>, Fallback>(snapshot: MatchStateSnapshot<Extract<keyof Cases, string>>, cases: Cases, fallback: Fallback): Cases[keyof Cases] | Fallback;
6
+ //# sourceMappingURL=matchState.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"matchState.d.ts","sourceRoot":"","sources":["../../../src/utils/matchState.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,kBAAkB,CAAC,UAAU,SAAS,MAAM,GAAG,MAAM,IAAI;IACpE,OAAO,EAAE,CAAC,KAAK,EAAE,UAAU,KAAK,OAAO,CAAC;CACxC,CAAC;AAEF,MAAM,MAAM,eAAe,CAAC,CAAC,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;AAEnD,wBAAgB,UAAU,CAAC,KAAK,SAAS,eAAe,CAAC,OAAO,CAAC,EAAE,QAAQ,EAC1E,QAAQ,EAAE,kBAAkB,CAAC,OAAO,CAAC,MAAM,KAAK,EAAE,MAAM,CAAC,CAAC,EAC1D,KAAK,EAAE,KAAK,EACZ,QAAQ,EAAE,QAAQ,GAChB,KAAK,CAAC,MAAM,KAAK,CAAC,GAAG,QAAQ,CAS/B"}
package/package.json ADDED
@@ -0,0 +1,49 @@
1
+ {
2
+ "name": "@ignite-element/core",
3
+ "version": "3.0.0-beta.2",
4
+ "type": "module",
5
+ "main": "dist/ignite-core.cjs.js",
6
+ "module": "dist/ignite-core.es.js",
7
+ "types": "dist/types/index.d.ts",
8
+ "description": "Adapter-neutral primitives for the ignite-element package family, versioned in lockstep with ignite-element.",
9
+ "repository": {
10
+ "type": "git",
11
+ "url": "git+https://github.com/0xjcf/ignite-element.git"
12
+ },
13
+ "homepage": "https://github.com/0xjcf/ignite-element#readme",
14
+ "bugs": {
15
+ "url": "https://github.com/0xjcf/ignite-element/issues"
16
+ },
17
+ "keywords": [
18
+ "ignite-element",
19
+ "web-components",
20
+ "state-management",
21
+ "runtime"
22
+ ],
23
+ "author": "Jose C. Flores (0xjcf)",
24
+ "license": "MIT",
25
+ "exports": {
26
+ ".": {
27
+ "types": "./dist/types/index.d.ts",
28
+ "import": "./dist/ignite-core.es.js",
29
+ "require": "./dist/ignite-core.cjs.js",
30
+ "default": "./dist/ignite-core.es.js"
31
+ }
32
+ },
33
+ "sideEffects": false,
34
+ "files": [
35
+ "dist",
36
+ "README.md"
37
+ ],
38
+ "devDependencies": {
39
+ "typescript": "^5.9.3",
40
+ "vite": "^7.1.12",
41
+ "vite-plugin-dts": "^4.5.4"
42
+ },
43
+ "scripts": {
44
+ "build:types": "tsc",
45
+ "build:js": "vite build",
46
+ "build": "pnpm run build:types && pnpm run build:js",
47
+ "typecheck": "tsc --noEmit --pretty false --project tsconfig.json"
48
+ }
49
+ }