juxscript 1.1.355 → 1.1.359

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.
@@ -0,0 +1,96 @@
1
+ export interface Route {
2
+ path: string;
3
+ name: string;
4
+ render?: () => void | Promise<void>;
5
+ }
6
+ declare class Router {
7
+ private _routes;
8
+ private _currentPath;
9
+ private _onNavigate;
10
+ private _initialized;
11
+ /**
12
+ * Register a route
13
+ */
14
+ add(path: string, name?: string, render?: () => void | Promise<void>): this;
15
+ /**
16
+ * Register multiple routes at once
17
+ */
18
+ addAll(routes: Record<string, (() => void | Promise<void>) | {
19
+ name?: string;
20
+ render?: () => void | Promise<void>;
21
+ }>): this;
22
+ /**
23
+ * Navigate to a path — mirrors compiler4's `route()` + `navigateTo()`
24
+ */
25
+ navigate(path: string): void;
26
+ /**
27
+ * Get the current route path
28
+ */
29
+ current(): string;
30
+ /**
31
+ * Get the current route object
32
+ */
33
+ currentRoute(): Route | undefined;
34
+ /**
35
+ * Get all registered routes
36
+ */
37
+ all(): Route[];
38
+ /**
39
+ * Get all registered route paths
40
+ */
41
+ paths(): string[];
42
+ /**
43
+ * Check if a path matches the current route
44
+ */
45
+ isActive(path: string): boolean;
46
+ /**
47
+ * Get a route by path
48
+ */
49
+ get(path: string): Route | undefined;
50
+ /**
51
+ * Listen for navigation events
52
+ */
53
+ onNavigate(callback: (path: string, route?: Route) => void): () => void;
54
+ /**
55
+ * Initialize browser listeners — mirrors compiler4's popstate + click handlers
56
+ */
57
+ init(): this;
58
+ /**
59
+ * Execute a route — clears containers and calls render, mirrors compiler4's `route()` function
60
+ */
61
+ private _exec;
62
+ /**
63
+ * Normalize a path — mirrors compiler4's route path normalization
64
+ */
65
+ private _normalize;
66
+ /**
67
+ * Derive a display name from a path
68
+ */
69
+ private _nameFromPath;
70
+ }
71
+ /**
72
+ * Get the router singleton.
73
+ *
74
+ * @example
75
+ * import { routes } from 'juxscript';
76
+ *
77
+ * // Register routes
78
+ * routes.add('/home', 'Home');
79
+ * routes.add('/about', 'About');
80
+ *
81
+ * // Navigate
82
+ * routes.navigate('/about');
83
+ *
84
+ * // Check active
85
+ * routes.isActive('/about'); // true
86
+ *
87
+ * // Get all paths (for sidebar/nav)
88
+ * routes.paths(); // ['/home', '/about']
89
+ *
90
+ * // Listen for changes
91
+ * routes.onNavigate((path) => console.log('Navigated to', path));
92
+ */
93
+ export declare function routes(): Router;
94
+ export { Router };
95
+ export default routes;
96
+ //# sourceMappingURL=routes.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"routes.d.ts","sourceRoot":"","sources":["../../lib/components/routes.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,KAAK;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACvC;AAED,cAAM,MAAM;IACR,OAAO,CAAC,OAAO,CAAiC;IAChD,OAAO,CAAC,YAAY,CAAe;IACnC,OAAO,CAAC,WAAW,CAAiD;IACpE,OAAO,CAAC,YAAY,CAAkB;IAEtC;;OAEG;IACH,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI;IAU3E;;OAEG;IACH,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,GAAG;QAAE,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;KAAE,CAAC,GAAG,IAAI;IAW3H;;OAEG;IACH,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAW5B;;OAEG;IACH,OAAO,IAAI,MAAM;IAIjB;;OAEG;IACH,YAAY,IAAI,KAAK,GAAG,SAAS;IAIjC;;OAEG;IACH,GAAG,IAAI,KAAK,EAAE;IAId;;OAEG;IACH,KAAK,IAAI,MAAM,EAAE;IAIjB;;OAEG;IACH,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAI/B;;OAEG;IACH,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,KAAK,GAAG,SAAS;IAIpC;;OAEG;IACH,UAAU,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,KAAK,KAAK,IAAI,GAAG,MAAM,IAAI;IAOvE;;OAEG;IACH,IAAI,IAAI,IAAI;IAgCZ;;OAEG;IACH,OAAO,CAAC,KAAK;IAkBb;;OAEG;IACH,OAAO,CAAC,UAAU;IAclB;;OAEG;IACH,OAAO,CAAC,aAAa;CAKxB;AAKD;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,MAAM,IAAI,MAAM,CAE/B;AAGD,OAAO,EAAE,MAAM,EAAE,CAAC;AAClB,eAAe,MAAM,CAAC"}
@@ -0,0 +1,194 @@
1
+ class Router {
2
+ constructor() {
3
+ this._routes = new Map();
4
+ this._currentPath = '/';
5
+ this._onNavigate = [];
6
+ this._initialized = false;
7
+ }
8
+ /**
9
+ * Register a route
10
+ */
11
+ add(path, name, render) {
12
+ const normalizedPath = this._normalize(path);
13
+ this._routes.set(normalizedPath, {
14
+ path: normalizedPath,
15
+ name: name || this._nameFromPath(normalizedPath),
16
+ render
17
+ });
18
+ return this;
19
+ }
20
+ /**
21
+ * Register multiple routes at once
22
+ */
23
+ addAll(routes) {
24
+ for (const [path, value] of Object.entries(routes)) {
25
+ if (typeof value === 'function') {
26
+ this.add(path, undefined, value);
27
+ }
28
+ else {
29
+ this.add(path, value.name, value.render);
30
+ }
31
+ }
32
+ return this;
33
+ }
34
+ /**
35
+ * Navigate to a path — mirrors compiler4's `route()` + `navigateTo()`
36
+ */
37
+ navigate(path) {
38
+ const normalizedPath = this._normalize(path);
39
+ this._currentPath = normalizedPath;
40
+ if (typeof window !== 'undefined') {
41
+ window.history.pushState({}, '', normalizedPath);
42
+ }
43
+ this._exec(normalizedPath);
44
+ }
45
+ /**
46
+ * Get the current route path
47
+ */
48
+ current() {
49
+ return this._currentPath;
50
+ }
51
+ /**
52
+ * Get the current route object
53
+ */
54
+ currentRoute() {
55
+ return this._routes.get(this._currentPath) || this._routes.get('/');
56
+ }
57
+ /**
58
+ * Get all registered routes
59
+ */
60
+ all() {
61
+ return Array.from(this._routes.values());
62
+ }
63
+ /**
64
+ * Get all registered route paths
65
+ */
66
+ paths() {
67
+ return Array.from(this._routes.keys());
68
+ }
69
+ /**
70
+ * Check if a path matches the current route
71
+ */
72
+ isActive(path) {
73
+ return this._normalize(path) === this._currentPath;
74
+ }
75
+ /**
76
+ * Get a route by path
77
+ */
78
+ get(path) {
79
+ return this._routes.get(this._normalize(path));
80
+ }
81
+ /**
82
+ * Listen for navigation events
83
+ */
84
+ onNavigate(callback) {
85
+ this._onNavigate.push(callback);
86
+ return () => {
87
+ this._onNavigate = this._onNavigate.filter(cb => cb !== callback);
88
+ };
89
+ }
90
+ /**
91
+ * Initialize browser listeners — mirrors compiler4's popstate + click handlers
92
+ */
93
+ init() {
94
+ if (this._initialized || typeof window === 'undefined')
95
+ return this;
96
+ this._initialized = true;
97
+ this._currentPath = window.location.pathname;
98
+ // popstate (back/forward)
99
+ window.addEventListener('popstate', () => {
100
+ this._currentPath = window.location.pathname;
101
+ this._exec(this._currentPath);
102
+ });
103
+ // Intercept <a> clicks — mirrors compiler4's click handler
104
+ document.addEventListener('click', (e) => {
105
+ const link = e.target.closest('a[href]');
106
+ if (link) {
107
+ const href = link.getAttribute('href');
108
+ if (href && href.startsWith('/') && !href.startsWith('//')) {
109
+ e.preventDefault();
110
+ this.navigate(href);
111
+ }
112
+ }
113
+ });
114
+ // Expose global navigateTo — mirrors compiler4
115
+ window.navigateTo = (path) => {
116
+ this.navigate(path);
117
+ };
118
+ return this;
119
+ }
120
+ /**
121
+ * Execute a route — clears containers and calls render, mirrors compiler4's `route()` function
122
+ */
123
+ _exec(path) {
124
+ const route = this._routes.get(path) || this._routes.get('/');
125
+ if (typeof document !== 'undefined') {
126
+ const appMain = document.getElementById('appmain-content');
127
+ if (appMain)
128
+ appMain.innerHTML = '';
129
+ const app = document.getElementById('app');
130
+ if (app)
131
+ app.innerHTML = '';
132
+ }
133
+ if (route?.render) {
134
+ route.render();
135
+ }
136
+ this._onNavigate.forEach(cb => cb(path, route));
137
+ }
138
+ /**
139
+ * Normalize a path — mirrors compiler4's route path normalization
140
+ */
141
+ _normalize(path) {
142
+ let p = path
143
+ .toLowerCase()
144
+ .replace(/\\/g, '/')
145
+ .replace(/\.jux$/i, '')
146
+ .replace(/\s+/g, '-')
147
+ .replace(/\/+$/g, '');
148
+ if (!p.startsWith('/'))
149
+ p = '/' + p;
150
+ if (p === '' || p === '/index')
151
+ p = '/';
152
+ return p;
153
+ }
154
+ /**
155
+ * Derive a display name from a path
156
+ */
157
+ _nameFromPath(path) {
158
+ if (path === '/')
159
+ return 'Home';
160
+ const seg = path.split('/').filter(Boolean).pop() || 'Home';
161
+ return seg.charAt(0).toUpperCase() + seg.slice(1).replace(/-/g, ' ');
162
+ }
163
+ }
164
+ // Singleton instance
165
+ const router = new Router();
166
+ /**
167
+ * Get the router singleton.
168
+ *
169
+ * @example
170
+ * import { routes } from 'juxscript';
171
+ *
172
+ * // Register routes
173
+ * routes.add('/home', 'Home');
174
+ * routes.add('/about', 'About');
175
+ *
176
+ * // Navigate
177
+ * routes.navigate('/about');
178
+ *
179
+ * // Check active
180
+ * routes.isActive('/about'); // true
181
+ *
182
+ * // Get all paths (for sidebar/nav)
183
+ * routes.paths(); // ['/home', '/about']
184
+ *
185
+ * // Listen for changes
186
+ * routes.onNavigate((path) => console.log('Navigated to', path));
187
+ */
188
+ export function routes() {
189
+ return router;
190
+ }
191
+ // Also export the class for typing
192
+ export { Router };
193
+ export default routes;
194
+ //# sourceMappingURL=routes.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"routes.js","sourceRoot":"","sources":["../../lib/components/routes.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -17,6 +17,7 @@ import { button, btn } from "./components/button.js";
17
17
  import { link, a } from "./components/link.js";
18
18
  import { container } from "./components/container.js";
19
19
  import { grid } from "./components/grid.js";
20
+ import { routes } from "./components/routes.js";
20
21
  export declare const jux: {
21
22
  tag: typeof tag;
22
23
  div: typeof div;
@@ -63,6 +64,8 @@ export declare const jux: {
63
64
  a: typeof a;
64
65
  container: typeof container;
65
66
  grid: typeof grid;
67
+ routes: typeof routes;
66
68
  };
67
69
  export { pageState };
70
+ export { routes };
68
71
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../lib/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,qBAAqB,CAAC;AAC3F,OAAO,EAAE,OAAO,EAAE,MAAM,yBAAyB,CAAC;AAClD,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAC3I,OAAO,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAChD,OAAO,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAC;AAC9C,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACnE,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACjD,OAAO,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAC;AAC5C,OAAO,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAC;AAC9C,OAAO,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAClD,OAAO,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAC;AAC9C,OAAO,EAAE,GAAG,EAAE,MAAM,qBAAqB,CAAC;AAC1C,OAAO,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAC;AAC9C,OAAO,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAC;AAC5C,OAAO,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAC;AAC5C,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,wBAAwB,CAAC;AACrD,OAAO,EAAE,IAAI,EAAE,CAAC,EAAE,MAAM,sBAAsB,CAAC;AAC/C,OAAO,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AACtD,OAAO,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAC;AAE5C,eAAO,MAAM,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAyCf,CAAC;AAEF,OAAO,EAAE,SAAS,EAAE,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../lib/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,qBAAqB,CAAC;AAC3F,OAAO,EAAE,OAAO,EAAE,MAAM,yBAAyB,CAAC;AAClD,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAC3I,OAAO,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAChD,OAAO,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAC;AAC9C,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACnE,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACjD,OAAO,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAC;AAC5C,OAAO,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAC;AAC9C,OAAO,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAClD,OAAO,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAC;AAC9C,OAAO,EAAE,GAAG,EAAE,MAAM,qBAAqB,CAAC;AAC1C,OAAO,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAC;AAC9C,OAAO,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAC;AAC5C,OAAO,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAC;AAC5C,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,wBAAwB,CAAC;AACrD,OAAO,EAAE,IAAI,EAAE,CAAC,EAAE,MAAM,sBAAsB,CAAC;AAC/C,OAAO,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AACtD,OAAO,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAC;AAC5C,OAAO,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAEhD,eAAO,MAAM,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA0Cf,CAAC;AAEF,OAAO,EAAE,SAAS,EAAE,CAAC;AACrB,OAAO,EAAE,MAAM,EAAE,CAAC"}
package/dist/index.js CHANGED
@@ -17,6 +17,7 @@ import { button, btn } from "./components/button.js";
17
17
  import { link, a } from "./components/link.js";
18
18
  import { container } from "./components/container.js";
19
19
  import { grid } from "./components/grid.js";
20
+ import { routes } from "./components/routes.js";
20
21
  export const jux = {
21
22
  tag,
22
23
  div,
@@ -57,8 +58,10 @@ export const jux = {
57
58
  link,
58
59
  a,
59
60
  container,
60
- grid
61
+ grid,
62
+ routes
61
63
  };
62
64
  export { pageState };
65
+ export { routes };
63
66
  jux.watch = pageState.__watch;
64
67
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../lib/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,qBAAqB,CAAC;AAC3F,OAAO,EAAE,OAAO,EAAE,MAAM,yBAAyB,CAAC;AAClD,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAC3I,OAAO,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAChD,OAAO,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAC;AAC9C,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACnE,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACjD,OAAO,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAC;AAC5C,OAAO,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAC;AAC9C,OAAO,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAClD,OAAO,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAC;AAC9C,OAAO,EAAE,GAAG,EAAE,MAAM,qBAAqB,CAAC;AAC1C,OAAO,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAC;AAC9C,OAAO,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAC;AAC5C,OAAO,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAC;AAC5C,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,wBAAwB,CAAC;AACrD,OAAO,EAAE,IAAI,EAAE,CAAC,EAAE,MAAM,sBAAsB,CAAC;AAC/C,OAAO,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AACtD,OAAO,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAC;AAE5C,MAAM,CAAC,MAAM,GAAG,GAAG;IACf,GAAG;IACH,GAAG;IACH,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE;IACtB,CAAC;IACD,IAAI;IACJ,GAAG;IACH,IAAI;IACJ,OAAO;IACP,KAAK;IACL,KAAK;IACL,QAAQ;IACR,MAAM;IACN,GAAG;IACH,GAAG;IACH,MAAM;IACN,IAAI;IACJ,IAAI;IACJ,QAAQ;IACR,KAAK;IACL,KAAK;IACL,IAAI;IACJ,MAAM;IACN,MAAM;IACN,KAAK;IACL,QAAQ;IACR,aAAa;IACb,IAAI;IACJ,KAAK;IACL,QAAQ;IACR,KAAK;IACL,GAAG;IACH,KAAK;IACL,IAAI;IACJ,IAAI;IACJ,MAAM;IACN,GAAG;IACH,IAAI;IACJ,CAAC;IACD,SAAS;IACT,IAAI;CACP,CAAC;AAEF,OAAO,EAAE,SAAS,EAAE,CAAC;AAEpB,GAAW,CAAC,KAAK,GAAG,SAAS,CAAC,OAAO,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../lib/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,qBAAqB,CAAC;AAC3F,OAAO,EAAE,OAAO,EAAE,MAAM,yBAAyB,CAAC;AAClD,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAC3I,OAAO,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAChD,OAAO,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAC;AAC9C,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACnE,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACjD,OAAO,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAC;AAC5C,OAAO,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAC;AAC9C,OAAO,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAClD,OAAO,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAC;AAC9C,OAAO,EAAE,GAAG,EAAE,MAAM,qBAAqB,CAAC;AAC1C,OAAO,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAC;AAC9C,OAAO,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAC;AAC5C,OAAO,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAC;AAC5C,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,wBAAwB,CAAC;AACrD,OAAO,EAAE,IAAI,EAAE,CAAC,EAAE,MAAM,sBAAsB,CAAC;AAC/C,OAAO,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AACtD,OAAO,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAC;AAC5C,OAAO,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAEhD,MAAM,CAAC,MAAM,GAAG,GAAG;IACf,GAAG;IACH,GAAG;IACH,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE;IACtB,CAAC;IACD,IAAI;IACJ,GAAG;IACH,IAAI;IACJ,OAAO;IACP,KAAK;IACL,KAAK;IACL,QAAQ;IACR,MAAM;IACN,GAAG;IACH,GAAG;IACH,MAAM;IACN,IAAI;IACJ,IAAI;IACJ,QAAQ;IACR,KAAK;IACL,KAAK;IACL,IAAI;IACJ,MAAM;IACN,MAAM;IACN,KAAK;IACL,QAAQ;IACR,aAAa;IACb,IAAI;IACJ,KAAK;IACL,QAAQ;IACR,KAAK;IACL,GAAG;IACH,KAAK;IACL,IAAI;IACJ,IAAI;IACJ,MAAM;IACN,GAAG;IACH,IAAI;IACJ,CAAC;IACD,SAAS;IACT,IAAI;IACJ,MAAM;CACT,CAAC;AAEF,OAAO,EAAE,SAAS,EAAE,CAAC;AACrB,OAAO,EAAE,MAAM,EAAE,CAAC;AAEjB,GAAW,CAAC,KAAK,GAAG,SAAS,CAAC,OAAO,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "juxscript",
3
- "version": "1.1.355",
3
+ "version": "1.1.359",
4
4
  "type": "module",
5
5
  "description": "A JavaScript UX authorship platform",
6
6
  "main": "./dist/lib/index.js",