apprun 3.37.3 → 3.38.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/.claude/settings.local.json +18 -0
- package/.docs/done/2026/07/13/explicit-pretty-links.md +32 -0
- package/.docs/done/2026/07/13/first-render-dom-attributes.md +18 -0
- package/.docs/plans/2026/07/13/plan-explicit-pretty-links.md +119 -0
- package/.docs/plans/2026/07/13/plan-first-render-dom-attributes.md +66 -0
- package/.docs/plans/2026/07/13/plan-play-typescript-runtime.md +77 -0
- package/.docs/plans/2026/07/13/plan-release-3-38-1-docs.md +74 -0
- package/.docs/reqs/2026/07/13/req-explicit-pretty-links.md +46 -0
- package/.docs/reqs/2026/07/13/req-first-render-dom-attributes.md +31 -0
- package/.docs/reqs/2026/07/13/req-play-typescript-runtime.md +29 -0
- package/.docs/reqs/2026/07/13/req-release-3-38-1-docs.md +34 -0
- package/.playwright-mcp/console-2026-06-24T18-37-47-881Z.log +17 -0
- package/CHANGELOG.md +14 -1
- package/README.md +3 -2
- package/WHATSNEW.md +32 -6
- package/ai/apprun.prompt.md +545 -109
- package/apprun.d.ts +21 -6
- package/cli/app.js +7 -0
- package/dist/apprun-code.js +1 -1
- package/dist/apprun-code.js.map +1 -1
- package/dist/apprun-dev-tools.js +1 -1
- package/dist/apprun-dev-tools.js.map +1 -1
- package/dist/apprun-html.esm.js +7 -7
- package/dist/apprun-html.esm.js.map +1 -1
- package/dist/apprun-html.js +1 -1
- package/dist/apprun-html.js.map +1 -1
- package/dist/apprun-play-html.esm.js +7 -7
- package/dist/apprun-play-html.esm.js.map +1 -1
- package/dist/apprun-play.js +1 -1
- package/dist/apprun-play.js.map +1 -1
- package/dist/apprun.esm.js +1 -1
- package/dist/apprun.esm.js.map +1 -1
- package/dist/apprun.js +1 -1
- package/dist/apprun.js.map +1 -1
- package/dist/createState.js.map +1 -1
- package/esm/apprun-code.js +15 -3
- package/esm/apprun-code.js.map +1 -1
- package/esm/apprun-play.js +8 -2
- package/esm/apprun-play.js.map +1 -1
- package/esm/apprun.js +16 -8
- package/esm/apprun.js.map +1 -1
- package/esm/directive.js +129 -8
- package/esm/directive.js.map +1 -1
- package/esm/router.js +3 -2
- package/esm/router.js.map +1 -1
- package/esm/types.js +1 -0
- package/esm/types.js.map +1 -1
- package/esm/vdom-my-prop-attr.js +5 -11
- package/esm/vdom-my-prop-attr.js.map +1 -1
- package/esm/version.js +1 -1
- package/jsx-runtime.js +1 -1
- package/jsx-runtime.js.map +1 -1
- package/package.json +1 -1
- package/src/apprun-code.tsx +15 -3
- package/src/apprun-play.tsx +9 -3
- package/src/apprun.ts +18 -10
- package/src/component.ts +1 -1
- package/src/createState.ts +1 -1
- package/src/directive.ts +132 -7
- package/src/global.d.ts +2 -2
- package/src/router.ts +3 -2
- package/src/types.ts +6 -3
- package/src/vdom-my-prop-attr.ts +5 -11
- package/src/version.ts +1 -1
- package/error.log +0 -0
package/esm/directive.js
CHANGED
|
@@ -34,34 +34,155 @@
|
|
|
34
34
|
* - Enhanced error handling for invalid event targets
|
|
35
35
|
* - Safer DOM element property access
|
|
36
36
|
*
|
|
37
|
+
* Nested State Binding Support (v3.37.4):
|
|
38
|
+
* - Enhanced $bind directive to support nested object and array paths
|
|
39
|
+
* - Supports dot notation: 'user.name', 'user.profile.settings.theme'
|
|
40
|
+
* - Supports bracket notation: 'items[0]', 'users[1].name'
|
|
41
|
+
* - Supports mixed notation: 'users[0].settings.theme', 'data["key"].value'
|
|
42
|
+
* - Safe traversal with automatic intermediate object/array creation
|
|
43
|
+
* - Maintains backward compatibility with simple property binding
|
|
44
|
+
*
|
|
37
45
|
* Usage:
|
|
38
46
|
* ```tsx
|
|
39
47
|
* // Event binding
|
|
40
48
|
* <button $onclick="event-name">Click</button>
|
|
41
49
|
* <input $oninput={e => setState(e.target.value)} />
|
|
42
50
|
*
|
|
43
|
-
* //
|
|
51
|
+
* // Simple two-way binding
|
|
44
52
|
* <input $bind="state.property" />
|
|
45
53
|
* <select $bind="selected">...</select>
|
|
46
54
|
*
|
|
55
|
+
* // Nested object binding
|
|
56
|
+
* <input $bind="user.profile.name" />
|
|
57
|
+
* <input $bind="user.settings.theme" />
|
|
58
|
+
*
|
|
59
|
+
* // Array element binding
|
|
60
|
+
* <input $bind="items[0]" />
|
|
61
|
+
* <input $bind="todos[1].title" />
|
|
62
|
+
*
|
|
63
|
+
* // Mixed nested binding
|
|
64
|
+
* <input $bind="users[0].profile.settings.notifications.email" />
|
|
65
|
+
* <select $bind="config.display.mode">...</select>
|
|
66
|
+
*
|
|
47
67
|
* // Array handlers
|
|
48
68
|
* <button $onclick={['handler', param1, param2]}>Click</button>
|
|
49
69
|
* ```
|
|
50
70
|
*/
|
|
51
71
|
import app from './app';
|
|
52
72
|
import { safeEventTarget } from './type-utils';
|
|
73
|
+
/**
|
|
74
|
+
* Parse a path string into an array of keys and indices
|
|
75
|
+
* Supports paths like: 'a.b', 'a[0]', 'a[0].b', 'a["key"]'
|
|
76
|
+
*/
|
|
77
|
+
const parsePath = (path) => {
|
|
78
|
+
if (!path)
|
|
79
|
+
return [];
|
|
80
|
+
const keys = [];
|
|
81
|
+
let current = '';
|
|
82
|
+
let inBracket = false;
|
|
83
|
+
let quoteChar = '';
|
|
84
|
+
for (let i = 0; i < path.length; i++) {
|
|
85
|
+
const char = path[i];
|
|
86
|
+
if (char === '[' && !inBracket) {
|
|
87
|
+
if (current) {
|
|
88
|
+
keys.push(current);
|
|
89
|
+
current = '';
|
|
90
|
+
}
|
|
91
|
+
inBracket = true;
|
|
92
|
+
}
|
|
93
|
+
else if (char === ']' && inBracket) {
|
|
94
|
+
if (quoteChar) {
|
|
95
|
+
// Remove quotes from string keys
|
|
96
|
+
current = current.slice(1, -1);
|
|
97
|
+
}
|
|
98
|
+
else if (/^\d+$/.test(current)) {
|
|
99
|
+
// Convert numeric strings to numbers
|
|
100
|
+
current = parseInt(current, 10);
|
|
101
|
+
}
|
|
102
|
+
keys.push(current);
|
|
103
|
+
current = '';
|
|
104
|
+
inBracket = false;
|
|
105
|
+
quoteChar = '';
|
|
106
|
+
}
|
|
107
|
+
else if ((char === '"' || char === "'") && inBracket) {
|
|
108
|
+
if (!quoteChar) {
|
|
109
|
+
quoteChar = char;
|
|
110
|
+
}
|
|
111
|
+
else if (char === quoteChar) {
|
|
112
|
+
quoteChar = '';
|
|
113
|
+
}
|
|
114
|
+
current += char;
|
|
115
|
+
}
|
|
116
|
+
else if (char === '.' && !inBracket) {
|
|
117
|
+
if (current) {
|
|
118
|
+
keys.push(current);
|
|
119
|
+
current = '';
|
|
120
|
+
}
|
|
121
|
+
}
|
|
122
|
+
else {
|
|
123
|
+
current += char;
|
|
124
|
+
}
|
|
125
|
+
}
|
|
126
|
+
if (current) {
|
|
127
|
+
keys.push(current);
|
|
128
|
+
}
|
|
129
|
+
return keys;
|
|
130
|
+
};
|
|
131
|
+
/**
|
|
132
|
+
* Safely get a nested value from an object using a path
|
|
133
|
+
*/
|
|
134
|
+
const getNestedValue = (obj, path) => {
|
|
135
|
+
let current = obj;
|
|
136
|
+
for (const key of path) {
|
|
137
|
+
if (current == null)
|
|
138
|
+
return undefined;
|
|
139
|
+
current = current[key];
|
|
140
|
+
}
|
|
141
|
+
return current;
|
|
142
|
+
};
|
|
143
|
+
/**
|
|
144
|
+
* Safely set a nested value in an object using a path
|
|
145
|
+
* Creates intermediate objects/arrays as needed
|
|
146
|
+
*/
|
|
147
|
+
const setNestedValue = (obj, path, value) => {
|
|
148
|
+
if (path.length === 0)
|
|
149
|
+
return value;
|
|
150
|
+
const result = { ...obj };
|
|
151
|
+
let current = result;
|
|
152
|
+
for (let i = 0; i < path.length - 1; i++) {
|
|
153
|
+
const key = path[i];
|
|
154
|
+
const nextKey = path[i + 1];
|
|
155
|
+
if (current[key] == null) {
|
|
156
|
+
// Create array if next key is numeric, object otherwise
|
|
157
|
+
current[key] = typeof nextKey === 'number' ? [] : {};
|
|
158
|
+
}
|
|
159
|
+
else if (Array.isArray(current[key])) {
|
|
160
|
+
current[key] = [...current[key]];
|
|
161
|
+
}
|
|
162
|
+
else if (typeof current[key] === 'object') {
|
|
163
|
+
current[key] = { ...current[key] };
|
|
164
|
+
}
|
|
165
|
+
current = current[key];
|
|
166
|
+
}
|
|
167
|
+
current[path[path.length - 1]] = value;
|
|
168
|
+
return result;
|
|
169
|
+
};
|
|
53
170
|
const getStateValue = (component, name) => {
|
|
54
|
-
|
|
171
|
+
if (!name)
|
|
172
|
+
return component['state'] || '';
|
|
173
|
+
const path = parsePath(name);
|
|
174
|
+
const value = getNestedValue(component['state'], path);
|
|
175
|
+
return value !== undefined ? value : '';
|
|
55
176
|
};
|
|
56
177
|
const setStateValue = (component, name, value) => {
|
|
57
|
-
if (name) {
|
|
58
|
-
const state = component['state'] || {};
|
|
59
|
-
state[name] = value;
|
|
60
|
-
component.setState(state);
|
|
61
|
-
}
|
|
62
|
-
else {
|
|
178
|
+
if (!name) {
|
|
63
179
|
component.setState(value);
|
|
180
|
+
return;
|
|
64
181
|
}
|
|
182
|
+
const path = parsePath(name);
|
|
183
|
+
const currentState = component['state'] || {};
|
|
184
|
+
const newState = setNestedValue(currentState, path, value);
|
|
185
|
+
component.setState(newState);
|
|
65
186
|
};
|
|
66
187
|
const apply_directive = (key, props, tag, component) => {
|
|
67
188
|
if (key.startsWith('$on')) {
|
package/esm/directive.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"directive.js","sourceRoot":"","sources":["../src/directive.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"directive.js","sourceRoot":"","sources":["../src/directive.ts"],"names":[],"mappings":"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"}
|
package/esm/router.js
CHANGED
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
* 2. Path-based routing (/path)
|
|
10
10
|
* - Works with browser history API
|
|
11
11
|
* - Requires server configuration for SPA routing
|
|
12
|
-
* - Handles popstate
|
|
12
|
+
* - Handles browser links and popstate after app.use_prettyLink() opts in before initialization
|
|
13
13
|
* 3. Event-based navigation
|
|
14
14
|
* - Routes trigger corresponding component events
|
|
15
15
|
* - Automatic route parameter extraction
|
|
@@ -38,7 +38,7 @@
|
|
|
38
38
|
*
|
|
39
39
|
* // Navigate programmatically
|
|
40
40
|
* app.run('route', '#/home');
|
|
41
|
-
* route('/users/123'); // Direct routing
|
|
41
|
+
* route('/users/123'); // Direct routing does not require pretty-link mode
|
|
42
42
|
*
|
|
43
43
|
* // Hierarchical matching examples
|
|
44
44
|
* app.on('/api', (operation, id) => // Handle /api/users/123);
|
|
@@ -50,6 +50,7 @@
|
|
|
50
50
|
* // If handler found at /api, it receives: ('v1', 'users', '123')
|
|
51
51
|
*
|
|
52
52
|
* // Base Path Support (NEW):
|
|
53
|
+
* app.use_prettyLink(); // Enable automatic browser path navigation before initialization
|
|
53
54
|
* app.basePath = '/myapp'; // For sub-directory deployments
|
|
54
55
|
* // Links: <a href="/users/123"> (relative paths)
|
|
55
56
|
* // Navigation: /myapp/users/123 (full path)
|
package/esm/router.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"router.js","sourceRoot":"","sources":["../src/router.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"router.js","sourceRoot":"","sources":["../src/router.ts"],"names":[],"mappings":"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"}
|
package/esm/types.js
CHANGED
|
@@ -19,6 +19,7 @@
|
|
|
19
19
|
* - ActionOptions: Action behavior options (render, history, global, callback)
|
|
20
20
|
* - MountOptions: Component mounting options (global events, routing, transitions)
|
|
21
21
|
* - AppStartOptions: Application startup configuration with lifecycle hooks
|
|
22
|
+
* - IApp.use_prettyLink: Explicit startup selection for path-link routing
|
|
22
23
|
*
|
|
23
24
|
* Features:
|
|
24
25
|
* - Strong typing for component lifecycle
|
package/esm/types.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuDG"}
|
package/esm/vdom-my-prop-attr.js
CHANGED
|
@@ -3,24 +3,18 @@
|
|
|
3
3
|
* Standards-compliant property/attribute handling with caching and special element support
|
|
4
4
|
* Features: Skip logic for preserving user interactions during VDOM reconciliation
|
|
5
5
|
* Exports: updateProps - Main function for DOM element property updates
|
|
6
|
-
* Updated:
|
|
6
|
+
* Updated: 2026-07-13 - Restore stale class cleanup when first-render VDOM props are null
|
|
7
7
|
*/
|
|
8
8
|
import { find, html, svg } from 'property-information';
|
|
9
9
|
const ATTR_PROPS = '_props';
|
|
10
10
|
const propertyInfoCache = new Map();
|
|
11
11
|
// Merge old and new props, handling className -> class conversion and null cleanup
|
|
12
12
|
function mergeProps(oldProps, newProps) {
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
}
|
|
13
|
+
newProps = newProps || {};
|
|
14
|
+
newProps['class'] = newProps['class'] || newProps['className'];
|
|
15
|
+
delete newProps['className'];
|
|
17
16
|
if (!oldProps || Object.keys(oldProps).length === 0)
|
|
18
|
-
return newProps
|
|
19
|
-
if (!newProps || Object.keys(newProps).length === 0) {
|
|
20
|
-
const props = {};
|
|
21
|
-
Object.keys(oldProps).forEach(p => props[p] = null);
|
|
22
|
-
return props;
|
|
23
|
-
}
|
|
17
|
+
return newProps;
|
|
24
18
|
const props = {};
|
|
25
19
|
Object.keys(oldProps).forEach(p => {
|
|
26
20
|
if (!(p in newProps))
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vdom-my-prop-attr.js","sourceRoot":"","sources":["../src/vdom-my-prop-attr.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,sBAAsB,CAAC;AAEvD,MAAM,UAAU,GAAG,QAAQ,CAAC;AAC5B,MAAM,iBAAiB,GAAG,IAAI,GAAG,EAAe,CAAC;AAEjD,mFAAmF;AACnF,SAAS,UAAU,CAAC,QAAgC,EAAE,QAAgC;IACpF,
|
|
1
|
+
{"version":3,"file":"vdom-my-prop-attr.js","sourceRoot":"","sources":["../src/vdom-my-prop-attr.ts"],"names":[],"mappings":"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"}
|
package/esm/version.js
CHANGED
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
*/
|
|
10
10
|
// Import version from package.json to maintain single source of truth
|
|
11
11
|
// This version string is used across the framework
|
|
12
|
-
export const APPRUN_VERSION = '3.
|
|
12
|
+
export const APPRUN_VERSION = '3.38.0';
|
|
13
13
|
// Version string with prefix for global tracking
|
|
14
14
|
export const APPRUN_VERSION_GLOBAL = `AppRun-${APPRUN_VERSION}`;
|
|
15
15
|
//# sourceMappingURL=version.js.map
|
package/jsx-runtime.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
!function(n,e){"object"==typeof exports&&"object"==typeof module?module.exports=e():"function"==typeof define&&define.amd?define([],e):"object"==typeof exports?exports.apprun=e():n.apprun=e()}(this,(()=>(()=>{"use strict";var n={593:(n,e,l)=>{l.d(e,{FK:()=>$,n:()=>Y,t_:()=>Q,cJ:()=>J});var t={};l.r(t),l.d(t,{boolean:()=>i,booleanish:()=>u,commaOrSpaceSeparated:()=>g,commaSeparated:()=>d,number:()=>c,overloadedBoolean:()=>s,spaceSeparated:()=>p});var o=l(741);class r{constructor(n,e){this.attribute=e,this.property=n}}r.prototype.attribute="",r.prototype.booleanish=!1,r.prototype.boolean=!1,r.prototype.commaOrSpaceSeparated=!1,r.prototype.commaSeparated=!1,r.prototype.defined=!1,r.prototype.mustUseProperty=!1,r.prototype.number=!1,r.prototype.overloadedBoolean=!1,r.prototype.property="",r.prototype.spaceSeparated=!1,r.prototype.space=void 0;let a=0;const i=h(),u=h(),s=h(),c=h(),p=h(),d=h(),g=h();function h(){return 2**++a}const f=Object.keys(t);class m extends r{constructor(n,e,l,o){let r=-1;if(super(n,e),y(this,"space",o),"number"==typeof l)for(;++r<f.length;){const n=f[r];y(this,f[r],(l&t[n])===t[n])}}}function y(n,e,l){l&&(n[e]=l)}function v(n){return n.toLowerCase()}m.prototype.defined=!0;const b=/[A-Z]/g,k=/-[a-z]/g,S=/^data[-\w.:]+$/i;function C(n){return"-"+n.toLowerCase()}function w(n){return n.charAt(1).toUpperCase()}class x{constructor(n,e,l){this.normal=e,this.property=n,l&&(this.space=l)}}function P(n,e){const l={},t={};for(const e of n)Object.assign(l,e.property),Object.assign(t,e.normal);return new x(l,t,e)}function A(n){const e={},l={};for(const[t,o]of Object.entries(n.properties)){const r=new m(t,n.transform(n.attributes||{},t),o,n.space);n.mustUseProperty&&n.mustUseProperty.includes(t)&&(r.mustUseProperty=!0),e[t]=r,l[v(t)]=t,l[v(r.attribute)]=t}return new x(e,l,n.space)}x.prototype.normal={},x.prototype.property={},x.prototype.space=void 0;const O=A({properties:{ariaActiveDescendant:null,ariaAtomic:u,ariaAutoComplete:null,ariaBusy:u,ariaChecked:u,ariaColCount:c,ariaColIndex:c,ariaColSpan:c,ariaControls:p,ariaCurrent:null,ariaDescribedBy:p,ariaDetails:null,ariaDisabled:u,ariaDropEffect:p,ariaErrorMessage:null,ariaExpanded:u,ariaFlowTo:p,ariaGrabbed:u,ariaHasPopup:null,ariaHidden:u,ariaInvalid:null,ariaKeyShortcuts:null,ariaLabel:null,ariaLabelledBy:p,ariaLevel:c,ariaLive:null,ariaModal:u,ariaMultiLine:u,ariaMultiSelectable:u,ariaOrientation:null,ariaOwns:p,ariaPlaceholder:null,ariaPosInSet:c,ariaPressed:u,ariaReadOnly:u,ariaRelevant:null,ariaRequired:u,ariaRoleDescription:p,ariaRowCount:c,ariaRowIndex:c,ariaRowSpan:c,ariaSelected:u,ariaSetSize:c,ariaSort:null,ariaValueMax:c,ariaValueMin:c,ariaValueNow:c,ariaValueText:null,role:null},transform:(n,e)=>"role"===e?e:"aria-"+e.slice(4).toLowerCase()});function L(n,e){return e in n?n[e]:e}function M(n,e){return L(n,e.toLowerCase())}const E=A({attributes:{acceptcharset:"accept-charset",classname:"class",htmlfor:"for",httpequiv:"http-equiv"},mustUseProperty:["checked","multiple","muted","selected"],properties:{abbr:null,accept:d,acceptCharset:p,accessKey:p,action:null,allow:null,allowFullScreen:i,allowPaymentRequest:i,allowUserMedia:i,alt:null,as:null,async:i,autoCapitalize:null,autoComplete:p,autoFocus:i,autoPlay:i,blocking:p,capture:null,charSet:null,checked:i,cite:null,className:p,cols:c,colSpan:null,content:null,contentEditable:u,controls:i,controlsList:p,coords:c|d,crossOrigin:null,data:null,dateTime:null,decoding:null,default:i,defer:i,dir:null,dirName:null,disabled:i,download:s,draggable:u,encType:null,enterKeyHint:null,fetchPriority:null,form:null,formAction:null,formEncType:null,formMethod:null,formNoValidate:i,formTarget:null,headers:p,height:c,hidden:s,high:c,href:null,hrefLang:null,htmlFor:p,httpEquiv:p,id:null,imageSizes:null,imageSrcSet:null,inert:i,inputMode:null,integrity:null,is:null,isMap:i,itemId:null,itemProp:p,itemRef:p,itemScope:i,itemType:p,kind:null,label:null,lang:null,language:null,list:null,loading:null,loop:i,low:c,manifest:null,max:null,maxLength:c,media:null,method:null,min:null,minLength:c,multiple:i,muted:i,name:null,nonce:null,noModule:i,noValidate:i,onAbort:null,onAfterPrint:null,onAuxClick:null,onBeforeMatch:null,onBeforePrint:null,onBeforeToggle:null,onBeforeUnload:null,onBlur:null,onCancel:null,onCanPlay:null,onCanPlayThrough:null,onChange:null,onClick:null,onClose:null,onContextLost:null,onContextMenu:null,onContextRestored:null,onCopy:null,onCueChange:null,onCut:null,onDblClick:null,onDrag:null,onDragEnd:null,onDragEnter:null,onDragExit:null,onDragLeave:null,onDragOver:null,onDragStart:null,onDrop:null,onDurationChange:null,onEmptied:null,onEnded:null,onError:null,onFocus:null,onFormData:null,onHashChange:null,onInput:null,onInvalid:null,onKeyDown:null,onKeyPress:null,onKeyUp:null,onLanguageChange:null,onLoad:null,onLoadedData:null,onLoadedMetadata:null,onLoadEnd:null,onLoadStart:null,onMessage:null,onMessageError:null,onMouseDown:null,onMouseEnter:null,onMouseLeave:null,onMouseMove:null,onMouseOut:null,onMouseOver:null,onMouseUp:null,onOffline:null,onOnline:null,onPageHide:null,onPageShow:null,onPaste:null,onPause:null,onPlay:null,onPlaying:null,onPopState:null,onProgress:null,onRateChange:null,onRejectionHandled:null,onReset:null,onResize:null,onScroll:null,onScrollEnd:null,onSecurityPolicyViolation:null,onSeeked:null,onSeeking:null,onSelect:null,onSlotChange:null,onStalled:null,onStorage:null,onSubmit:null,onSuspend:null,onTimeUpdate:null,onToggle:null,onUnhandledRejection:null,onUnload:null,onVolumeChange:null,onWaiting:null,onWheel:null,open:i,optimum:c,pattern:null,ping:p,placeholder:null,playsInline:i,popover:null,popoverTarget:null,popoverTargetAction:null,poster:null,preload:null,readOnly:i,referrerPolicy:null,rel:p,required:i,reversed:i,rows:c,rowSpan:c,sandbox:p,scope:null,scoped:i,seamless:i,selected:i,shadowRootClonable:i,shadowRootDelegatesFocus:i,shadowRootMode:null,shape:null,size:c,sizes:null,slot:null,span:c,spellCheck:u,src:null,srcDoc:null,srcLang:null,srcSet:null,start:c,step:null,style:null,tabIndex:c,target:null,title:null,translate:null,type:null,typeMustMatch:i,useMap:null,value:u,width:c,wrap:null,writingSuggestions:null,align:null,aLink:null,archive:p,axis:null,background:null,bgColor:null,border:c,borderColor:null,bottomMargin:c,cellPadding:null,cellSpacing:null,char:null,charOff:null,classId:null,clear:null,code:null,codeBase:null,codeType:null,color:null,compact:i,declare:i,event:null,face:null,frame:null,frameBorder:null,hSpace:c,leftMargin:c,link:null,longDesc:null,lowSrc:null,marginHeight:c,marginWidth:c,noResize:i,noHref:i,noShade:i,noWrap:i,object:null,profile:null,prompt:null,rev:null,rightMargin:c,rules:null,scheme:null,scrolling:u,standby:null,summary:null,text:null,topMargin:c,valueType:null,version:null,vAlign:null,vLink:null,vSpace:c,allowTransparency:null,autoCorrect:null,autoSave:null,disablePictureInPicture:i,disableRemotePlayback:i,prefix:null,property:null,results:c,security:null,unselectable:null},space:"html",transform:M}),T=A({attributes:{accentHeight:"accent-height",alignmentBaseline:"alignment-baseline",arabicForm:"arabic-form",baselineShift:"baseline-shift",capHeight:"cap-height",className:"class",clipPath:"clip-path",clipRule:"clip-rule",colorInterpolation:"color-interpolation",colorInterpolationFilters:"color-interpolation-filters",colorProfile:"color-profile",colorRendering:"color-rendering",crossOrigin:"crossorigin",dataType:"datatype",dominantBaseline:"dominant-baseline",enableBackground:"enable-background",fillOpacity:"fill-opacity",fillRule:"fill-rule",floodColor:"flood-color",floodOpacity:"flood-opacity",fontFamily:"font-family",fontSize:"font-size",fontSizeAdjust:"font-size-adjust",fontStretch:"font-stretch",fontStyle:"font-style",fontVariant:"font-variant",fontWeight:"font-weight",glyphName:"glyph-name",glyphOrientationHorizontal:"glyph-orientation-horizontal",glyphOrientationVertical:"glyph-orientation-vertical",hrefLang:"hreflang",horizAdvX:"horiz-adv-x",horizOriginX:"horiz-origin-x",horizOriginY:"horiz-origin-y",imageRendering:"image-rendering",letterSpacing:"letter-spacing",lightingColor:"lighting-color",markerEnd:"marker-end",markerMid:"marker-mid",markerStart:"marker-start",navDown:"nav-down",navDownLeft:"nav-down-left",navDownRight:"nav-down-right",navLeft:"nav-left",navNext:"nav-next",navPrev:"nav-prev",navRight:"nav-right",navUp:"nav-up",navUpLeft:"nav-up-left",navUpRight:"nav-up-right",onAbort:"onabort",onActivate:"onactivate",onAfterPrint:"onafterprint",onBeforePrint:"onbeforeprint",onBegin:"onbegin",onCancel:"oncancel",onCanPlay:"oncanplay",onCanPlayThrough:"oncanplaythrough",onChange:"onchange",onClick:"onclick",onClose:"onclose",onCopy:"oncopy",onCueChange:"oncuechange",onCut:"oncut",onDblClick:"ondblclick",onDrag:"ondrag",onDragEnd:"ondragend",onDragEnter:"ondragenter",onDragExit:"ondragexit",onDragLeave:"ondragleave",onDragOver:"ondragover",onDragStart:"ondragstart",onDrop:"ondrop",onDurationChange:"ondurationchange",onEmptied:"onemptied",onEnd:"onend",onEnded:"onended",onError:"onerror",onFocus:"onfocus",onFocusIn:"onfocusin",onFocusOut:"onfocusout",onHashChange:"onhashchange",onInput:"oninput",onInvalid:"oninvalid",onKeyDown:"onkeydown",onKeyPress:"onkeypress",onKeyUp:"onkeyup",onLoad:"onload",onLoadedData:"onloadeddata",onLoadedMetadata:"onloadedmetadata",onLoadStart:"onloadstart",onMessage:"onmessage",onMouseDown:"onmousedown",onMouseEnter:"onmouseenter",onMouseLeave:"onmouseleave",onMouseMove:"onmousemove",onMouseOut:"onmouseout",onMouseOver:"onmouseover",onMouseUp:"onmouseup",onMouseWheel:"onmousewheel",onOffline:"onoffline",onOnline:"ononline",onPageHide:"onpagehide",onPageShow:"onpageshow",onPaste:"onpaste",onPause:"onpause",onPlay:"onplay",onPlaying:"onplaying",onPopState:"onpopstate",onProgress:"onprogress",onRateChange:"onratechange",onRepeat:"onrepeat",onReset:"onreset",onResize:"onresize",onScroll:"onscroll",onSeeked:"onseeked",onSeeking:"onseeking",onSelect:"onselect",onShow:"onshow",onStalled:"onstalled",onStorage:"onstorage",onSubmit:"onsubmit",onSuspend:"onsuspend",onTimeUpdate:"ontimeupdate",onToggle:"ontoggle",onUnload:"onunload",onVolumeChange:"onvolumechange",onWaiting:"onwaiting",onZoom:"onzoom",overlinePosition:"overline-position",overlineThickness:"overline-thickness",paintOrder:"paint-order",panose1:"panose-1",pointerEvents:"pointer-events",referrerPolicy:"referrerpolicy",renderingIntent:"rendering-intent",shapeRendering:"shape-rendering",stopColor:"stop-color",stopOpacity:"stop-opacity",strikethroughPosition:"strikethrough-position",strikethroughThickness:"strikethrough-thickness",strokeDashArray:"stroke-dasharray",strokeDashOffset:"stroke-dashoffset",strokeLineCap:"stroke-linecap",strokeLineJoin:"stroke-linejoin",strokeMiterLimit:"stroke-miterlimit",strokeOpacity:"stroke-opacity",strokeWidth:"stroke-width",tabIndex:"tabindex",textAnchor:"text-anchor",textDecoration:"text-decoration",textRendering:"text-rendering",transformOrigin:"transform-origin",typeOf:"typeof",underlinePosition:"underline-position",underlineThickness:"underline-thickness",unicodeBidi:"unicode-bidi",unicodeRange:"unicode-range",unitsPerEm:"units-per-em",vAlphabetic:"v-alphabetic",vHanging:"v-hanging",vIdeographic:"v-ideographic",vMathematical:"v-mathematical",vectorEffect:"vector-effect",vertAdvY:"vert-adv-y",vertOriginX:"vert-origin-x",vertOriginY:"vert-origin-y",wordSpacing:"word-spacing",writingMode:"writing-mode",xHeight:"x-height",playbackOrder:"playbackorder",timelineBegin:"timelinebegin"},properties:{about:g,accentHeight:c,accumulate:null,additive:null,alignmentBaseline:null,alphabetic:c,amplitude:c,arabicForm:null,ascent:c,attributeName:null,attributeType:null,azimuth:c,bandwidth:null,baselineShift:null,baseFrequency:null,baseProfile:null,bbox:null,begin:null,bias:c,by:null,calcMode:null,capHeight:c,className:p,clip:null,clipPath:null,clipPathUnits:null,clipRule:null,color:null,colorInterpolation:null,colorInterpolationFilters:null,colorProfile:null,colorRendering:null,content:null,contentScriptType:null,contentStyleType:null,crossOrigin:null,cursor:null,cx:null,cy:null,d:null,dataType:null,defaultAction:null,descent:c,diffuseConstant:c,direction:null,display:null,dur:null,divisor:c,dominantBaseline:null,download:i,dx:null,dy:null,edgeMode:null,editable:null,elevation:c,enableBackground:null,end:null,event:null,exponent:c,externalResourcesRequired:null,fill:null,fillOpacity:c,fillRule:null,filter:null,filterRes:null,filterUnits:null,floodColor:null,floodOpacity:null,focusable:null,focusHighlight:null,fontFamily:null,fontSize:null,fontSizeAdjust:null,fontStretch:null,fontStyle:null,fontVariant:null,fontWeight:null,format:null,fr:null,from:null,fx:null,fy:null,g1:d,g2:d,glyphName:d,glyphOrientationHorizontal:null,glyphOrientationVertical:null,glyphRef:null,gradientTransform:null,gradientUnits:null,handler:null,hanging:c,hatchContentUnits:null,hatchUnits:null,height:null,href:null,hrefLang:null,horizAdvX:c,horizOriginX:c,horizOriginY:c,id:null,ideographic:c,imageRendering:null,initialVisibility:null,in:null,in2:null,intercept:c,k:c,k1:c,k2:c,k3:c,k4:c,kernelMatrix:g,kernelUnitLength:null,keyPoints:null,keySplines:null,keyTimes:null,kerning:null,lang:null,lengthAdjust:null,letterSpacing:null,lightingColor:null,limitingConeAngle:c,local:null,markerEnd:null,markerMid:null,markerStart:null,markerHeight:null,markerUnits:null,markerWidth:null,mask:null,maskContentUnits:null,maskUnits:null,mathematical:null,max:null,media:null,mediaCharacterEncoding:null,mediaContentEncodings:null,mediaSize:c,mediaTime:null,method:null,min:null,mode:null,name:null,navDown:null,navDownLeft:null,navDownRight:null,navLeft:null,navNext:null,navPrev:null,navRight:null,navUp:null,navUpLeft:null,navUpRight:null,numOctaves:null,observer:null,offset:null,onAbort:null,onActivate:null,onAfterPrint:null,onBeforePrint:null,onBegin:null,onCancel:null,onCanPlay:null,onCanPlayThrough:null,onChange:null,onClick:null,onClose:null,onCopy:null,onCueChange:null,onCut:null,onDblClick:null,onDrag:null,onDragEnd:null,onDragEnter:null,onDragExit:null,onDragLeave:null,onDragOver:null,onDragStart:null,onDrop:null,onDurationChange:null,onEmptied:null,onEnd:null,onEnded:null,onError:null,onFocus:null,onFocusIn:null,onFocusOut:null,onHashChange:null,onInput:null,onInvalid:null,onKeyDown:null,onKeyPress:null,onKeyUp:null,onLoad:null,onLoadedData:null,onLoadedMetadata:null,onLoadStart:null,onMessage:null,onMouseDown:null,onMouseEnter:null,onMouseLeave:null,onMouseMove:null,onMouseOut:null,onMouseOver:null,onMouseUp:null,onMouseWheel:null,onOffline:null,onOnline:null,onPageHide:null,onPageShow:null,onPaste:null,onPause:null,onPlay:null,onPlaying:null,onPopState:null,onProgress:null,onRateChange:null,onRepeat:null,onReset:null,onResize:null,onScroll:null,onSeeked:null,onSeeking:null,onSelect:null,onShow:null,onStalled:null,onStorage:null,onSubmit:null,onSuspend:null,onTimeUpdate:null,onToggle:null,onUnload:null,onVolumeChange:null,onWaiting:null,onZoom:null,opacity:null,operator:null,order:null,orient:null,orientation:null,origin:null,overflow:null,overlay:null,overlinePosition:c,overlineThickness:c,paintOrder:null,panose1:null,path:null,pathLength:c,patternContentUnits:null,patternTransform:null,patternUnits:null,phase:null,ping:p,pitch:null,playbackOrder:null,pointerEvents:null,points:null,pointsAtX:c,pointsAtY:c,pointsAtZ:c,preserveAlpha:null,preserveAspectRatio:null,primitiveUnits:null,propagate:null,property:g,r:null,radius:null,referrerPolicy:null,refX:null,refY:null,rel:g,rev:g,renderingIntent:null,repeatCount:null,repeatDur:null,requiredExtensions:g,requiredFeatures:g,requiredFonts:g,requiredFormats:g,resource:null,restart:null,result:null,rotate:null,rx:null,ry:null,scale:null,seed:null,shapeRendering:null,side:null,slope:null,snapshotTime:null,specularConstant:c,specularExponent:c,spreadMethod:null,spacing:null,startOffset:null,stdDeviation:null,stemh:null,stemv:null,stitchTiles:null,stopColor:null,stopOpacity:null,strikethroughPosition:c,strikethroughThickness:c,string:null,stroke:null,strokeDashArray:g,strokeDashOffset:null,strokeLineCap:null,strokeLineJoin:null,strokeMiterLimit:c,strokeOpacity:c,strokeWidth:null,style:null,surfaceScale:c,syncBehavior:null,syncBehaviorDefault:null,syncMaster:null,syncTolerance:null,syncToleranceDefault:null,systemLanguage:g,tabIndex:c,tableValues:null,target:null,targetX:c,targetY:c,textAnchor:null,textDecoration:null,textRendering:null,textLength:null,timelineBegin:null,title:null,transformBehavior:null,type:null,typeOf:g,to:null,transform:null,transformOrigin:null,u1:null,u2:null,underlinePosition:c,underlineThickness:c,unicode:null,unicodeBidi:null,unicodeRange:null,unitsPerEm:c,values:null,vAlphabetic:c,vMathematical:c,vectorEffect:null,vHanging:c,vIdeographic:c,version:null,vertAdvY:c,vertOriginX:c,vertOriginY:c,viewBox:null,viewTarget:null,visibility:null,width:null,widths:null,wordSpacing:null,writingMode:null,x:null,x1:null,x2:null,xChannelSelector:null,xHeight:c,y:null,y1:null,y2:null,yChannelSelector:null,z:null,zoomAndPan:null},space:"svg",transform:L}),D=A({properties:{xLinkActuate:null,xLinkArcRole:null,xLinkHref:null,xLinkRole:null,xLinkShow:null,xLinkTitle:null,xLinkType:null},space:"xlink",transform:(n,e)=>"xlink:"+e.slice(5).toLowerCase()}),R=A({attributes:{xmlnsxlink:"xmlns:xlink"},properties:{xmlnsXLink:null,xmlns:null},space:"xmlns",transform:M}),U=A({properties:{xmlBase:null,xmlLang:null,xmlSpace:null},space:"xml",transform:(n,e)=>"xml:"+e.slice(3).toLowerCase()}),B=P([O,E,D,R,U],"html"),j=P([O,T,D,R,U],"svg"),_="_props",z=new Map;function N(n,e,l){!function(n){return null!=n&&!1!==n&&""!==n&&(!0===n||("string"==typeof n?"false"!==n.toLowerCase()&&"0"!==n:Boolean(n)))}(l)?n.removeAttribute(e):n.setAttribute(e,e)}function H(n,e,l){try{n[e]=l}catch(t){I(n,e,l,!1)}}function I(n,e,l,t){if(null==l)return void n.removeAttribute(e);const o=String(l);if(t&&e.includes(":")){const[l]=e.split(":");"xlink"===l?n.setAttributeNS("http://www.w3.org/1999/xlink",e,o):n.setAttribute(e,o)}else n.setAttribute(e,o)}function F(n,e,l,t){if(o=n,a=e,document.activeElement===o?["selectionStart","selectionEnd","selectionDirection"].includes(a):"scrollTop"===a||"scrollLeft"===a||o instanceof HTMLMediaElement&&["currentTime","paused","playbackRate","volume"].includes(a))return;var o,a;if("style"===e){if(n.style.cssText&&(n.style.cssText=""),"string"==typeof l)n.style.cssText=l;else if(l&&"object"==typeof l)for(const e in l)n.style[e]!==l[e]&&(n.style[e]=l[e]);return}if("key"===e)return void(null!=l&&(n.key=l));if(e.startsWith("data-"))return void function(n,e,l){const t=(o=e.slice(5)).length<=1?o.toLowerCase():o.split("-").map(((n,e)=>0===e?n.toLowerCase():n.charAt(0).toUpperCase()+n.slice(1).toLowerCase())).join("");var o;null==l?delete n.dataset[t]:n.dataset[t]=String(l)}(n,e,l);if(e.startsWith("on"))return void function(n,e,l){e.startsWith("on")&&(l&&"function"!=typeof l?"string"==typeof l&&(l?n.setAttribute(e,l):n.removeAttribute(e)):n[e]=l)}(n,e,l);if(!("INPUT"!==n.tagName&&"TEXTAREA"!==n.tagName&&"SELECT"!==n.tagName||"value"!==e&&"selected"!==e&&"selectedIndex"!==e))return void H(n,e,l);if("INPUT"===n.tagName&&"checked"===e)return H(n,e,l),void N(n,e,l);const i=function(n,e){const l=`${n}:${e}`;let t=z.get(l);return void 0===t&&(t=function(n,e){const l=v(e);let t=e,o=r;if(l in n.normal)return n.property[n.normal[l]];if(l.length>4&&"data"===l.slice(0,4)&&S.test(e)){if("-"===e.charAt(4)){const n=e.slice(5).replace(k,w);t="data"+n.charAt(0).toUpperCase()+n.slice(1)}else{const n=e.slice(4);if(!k.test(n)){let l=n.replace(b,C);"-"!==l.charAt(0)&&(l="-"+l),e="data"+l}}o=m}return new o(t,e)}(e?j:B,n)||null,z.set(l,t)),t}(e,t);i?i.boolean||i.overloadedBoolean?N(n,i.attribute,l):i.mustUseProperty&&!t?H(n,i.property,l):I(n,i.attribute,l,t):e.startsWith("aria-")||"role"===e?I(n,e,l,t):e in n||void 0!==n[e]?H(n,e,l):I(n,e,l,t)}function V(n){return/^[a-zA-Z_:][\w\-:.]*$/.test(n)&&!n.includes("<")&&!n.includes(">")&&!n.includes('"')&&!n.includes("'")}function W(n,e,l){const t=function(n,e){if(e&&(e.class=e.class||e.className,delete e.className),!n||0===Object.keys(n).length)return e||{};if(!e||0===Object.keys(e).length){const e={};return Object.keys(n).forEach((n=>e[n]=null)),e}const l={};return Object.keys(n).forEach((n=>{n in e||(l[n]=null)})),Object.keys(e).forEach((n=>l[n]=e[n])),l}(n[_]||{},e);n[_]=e||{},function(n,e,l,t){for(const l in e)V(l)&&F(n,l,e[l],t);e&&"function"==typeof e.ref&&window.requestAnimationFrame((()=>e.ref(n)))}(n,t,0,l)}function $(n,...e){return q(e)}function q(n){const e=[],l=n=>{null!=n&&""!==n&&!1!==n&&e.push("function"==typeof n||"object"==typeof n?n:`${n}`)};return n&&n.forEach((n=>{Array.isArray(n)?n.forEach((n=>l(n))):l(n)})),e}const K={};let X=0;function Y(n,e,...l){const t=q(l);if("string"==typeof n)return{tag:n,props:e,children:t};if(Array.isArray(n))return n;if(void 0===n&&l)return t;if(Object.getPrototypeOf(n).__isAppRunComponent)return{tag:n,props:e,children:t};if("function"==typeof n)return n(e,t);throw new Error(`Unknown tag in vdom ${n}`)}const J=(n,e,l={})=>{null!=e&&!1!==e&&function(n,e,l={}){if(null==e||!1===e)return;if(e=ln(e,l),!n)return;const t="SVG"===n.nodeName;Array.isArray(e)?G(n,e,t):G(n,[e],t)}("string"==typeof n&&n?document.getElementById(n)||document.querySelector(n):n,e=(0,o.A)(e,l),l)};function Z(n,e,l){l=l||"svg"===e.tag,function(n,e){const l=n.nodeName,t=`${e.tag||""}`;return l.toUpperCase()===t.toUpperCase()}(n,e)?(G(n,e.children,l),W(n,e.props,l)):n.parentNode.replaceChild(en(e,l),n)}function G(n,e,l){const t=n.childNodes?.length||0,o=e?.length||0,r=Math.min(t,o);for(let t=0;t<r;t++){const o=e[t],r=n.childNodes[t];if("string"==typeof o)r.textContent!==o&&(3===r.nodeType?r.nodeValue=o:n.replaceChild(nn(o),r));else if(o instanceof HTMLElement||o instanceof SVGElement)n.insertBefore(o,r);else{const e=o.props&&o.props.key;if(e)if(r.key===e)Z(n.childNodes[t],o,l);else{const a=K[e];a?(n.insertBefore(a,r),Z(n.childNodes[t],o,l)):n.replaceChild(en(o,l),r)}else Z(n.childNodes[t],o,l)}}let a=n.childNodes?.length||0;for(;a>r;)n.removeChild(n.lastChild),a--;if(o>r){const t=document.createDocumentFragment();for(let n=r;n<e.length;n++)t.appendChild(en(e[n],l));n.appendChild(t)}}const Q=n=>{const e=document.createElement("section");return e.insertAdjacentHTML("afterbegin",n),Array.from(e.children)};function nn(n){if(0===n?.indexOf("_html:")){const e=document.createElement("div");return e.insertAdjacentHTML("afterbegin",n.substring(6)),e}return document.createTextNode(n??"")}function en(n,e){if(n instanceof HTMLElement||n instanceof SVGElement)return n;if("string"==typeof n)return nn(n);if(!n.tag||"function"==typeof n.tag)return nn(JSON.stringify(n));const l=(e=e||"svg"===n.tag)?document.createElementNS("http://www.w3.org/2000/svg",n.tag):document.createElement(n.tag);return W(l,n.props,e),n.children&&n.children.forEach((n=>l.appendChild(en(n,e)))),n.props&&void 0!==n.props.key&&(l.key=n.props.key,K[n.props.key]=l,++X>=500&&(function(){if(!(Object.keys(K).length<=1e3))for(const[n,e]of Object.entries(K))e.isConnected||delete K[n]}(),X=0)),l}function ln(n,e,l=0){if("string"==typeof n)return n;if(Array.isArray(n))return n.map((n=>ln(n,e,l++)));let t=n;if(n&&"function"==typeof n.tag&&Object.getPrototypeOf(n.tag).__isAppRunComponent&&(t=function(n,e,l){const{tag:t,props:o,children:r}=n;let a=`_${l}`,i=o&&o.id;i?a=i:i=`_${l}${Date.now()}`;let u="section";o&&o.as&&(u=o.as,delete o.as),e.__componentCache||(e.__componentCache={});let s=e.__componentCache[a];if(s&&s instanceof t&&s.element)s.renderState(s.state);else{const n=document.createElement(u);s=e.__componentCache[a]=new t({...o,children:r}).mount(n,{render:!0})}if(s.mounted){const n=s.mounted(o,r,s.state);void 0!==n&&s.setState(n)}return W(s.element,o,!1),s.element}(n,e,l)),t&&Array.isArray(t.children)){const n=t.props?._component;if(n){let e=0;t.children=t.children.map((l=>ln(l,n,e++)))}else t.children=t.children.map((n=>ln(n,e,l++)))}return t}},634:(n,e,l)=>{function t(n){return n?.target instanceof HTMLElement?n.target:null}l.d(e,{PB:()=>t})},672:(n,e,l)=>{l.d(e,{C:()=>t});const t="AppRun-3.37.2"},741:(n,e,l)=>{l.d(e,{A:()=>u});var t=l(859),o=l(634);const r=(n,e)=>(e?n.state[e]:n.state)||"",a=(n,e,l)=>{if(e){const t=n.state||{};t[e]=l,n.setState(t)}else n.setState(l)},i=(n,e)=>{if(Array.isArray(n))return n.map((n=>i(n,e)));{let{type:l,tag:u,props:s,children:c}=n;return u=u||l,c=c||s?.children,s&&Object.keys(s).forEach((n=>{n.startsWith("$")&&(((n,e,l,i)=>{if(n.startsWith("$on")){const l=e[n];if(n=n.substring(1),"boolean"==typeof l)e[n]=e=>i.run?i.run(n,e):t.A.run(n,e);else if("string"==typeof l)e[n]=n=>i.run?i.run(l,n):t.A.run(l,n);else if("function"==typeof l)e[n]=n=>i.setState(l(i.state,n));else if(Array.isArray(l)){const[o,...r]=l;"string"==typeof o?e[n]=n=>i.run?i.run(o,...r,n):t.A.run(o,...r,n):"function"==typeof o&&(e[n]=n=>i.setState(o(i.state,...r,n)))}}else if("$bind"===n){const t=e.type||"text",u="string"==typeof e[n]?e[n]:e.name;if("input"===l)switch(t){case"checkbox":e.checked=r(i,u),e.onclick=n=>{const e=(0,o.PB)(n);e&&a(i,u||e.name,e.checked)};break;case"radio":e.checked=r(i,u)===e.value,e.onclick=n=>{const e=(0,o.PB)(n);e&&a(i,u||e.name,e.value)};break;case"number":case"range":e.value=r(i,u),e.oninput=n=>{const e=(0,o.PB)(n);e&&a(i,u||e.name,Number(e.value))};break;default:e.value=r(i,u),e.oninput=n=>{const e=(0,o.PB)(n);e&&a(i,u||e.name,e.value)}}else"select"===l?(e.value=r(i,u),e.onchange=n=>{const e=(0,o.PB)(n);e&&!e.multiple&&a(i,u||e.name,e.value)}):"option"===l?(e.selected=r(i,u),e.onclick=n=>{const e=(0,o.PB)(n);e&&a(i,u||e.name,e.selected)}):"textarea"===l&&(e.innerHTML=r(i,u),e.oninput=n=>{const e=(0,o.PB)(n);e&&a(i,u||e.name,e.value)})}else t.A.run("$",{key:n,tag:l,props:e,component:i})})(n,s,u,e),delete s[n])})),c&&i(c,e),n}},u=i},859:(n,e,l)=>{l.d(e,{A:()=>i});var t=l(672);const o=t.C;let r;const a="undefined"!=typeof window?window:void 0!==l.g?l.g:"undefined"!=typeof self?self:{};a.app&&a._AppRunVersions?r=a.app:(r=new class{constructor(){this._events={}}on(n,e,l={}){this._events[n]=this._events[n]||[],this._events[n].push({fn:e,options:l})}off(n,e){const l=this._events[n]||[];this._events[n]=l.filter((n=>n.fn!==e))}find(n){return this._events[n]}run(n,...e){const l=this.getSubscribers(n,this._events);return console.assert(l&&l.length>0,"No subscriber for event: "+n),l.forEach((l=>{const{fn:t,options:o}=l;if(!t||"function"!=typeof t)return console.error(`AppRun event handler for '${n}' is not a function:`,t),!1;if(o.delay)this.delay(n,t,e,o);else try{Object.keys(o).length>0?t.apply(this,[...e,o]):t.apply(this,e)}catch(e){console.error(`Error in event handler for '${n}':`,e)}return!l.options.once})),l.length}once(n,e,l={}){this.on(n,e,{...l,once:!0})}delay(n,e,l,t){t._t&&clearTimeout(t._t),t._t=setTimeout((()=>{clearTimeout(t._t);try{Object.keys(t).length>0?e.apply(this,[...l,t]):e.apply(this,l)}catch(e){console.error(`Error in delayed event handler for '${n}':`,e)}}),t.delay)}runAsync(n,...e){const l=this.getSubscribers(n,this._events);console.assert(l&&l.length>0,"No subscriber for event: "+n);const t=l.map((l=>{const{fn:t,options:o}=l;if(!t||"function"!=typeof t)return console.error(`AppRun async event handler for '${n}' is not a function:`,t),Promise.resolve(null);try{return Object.keys(o).length>0?t.apply(this,[...e,o]):t.apply(this,e)}catch(e){return console.error(`Error in async event handler for '${n}':`,e),Promise.reject(e)}}));return Promise.all(t)}query(n,...e){return console.warn("app.query() is deprecated. Use app.runAsync() instead."),this.runAsync(n,...e)}getSubscribers(n,e){const l=e[n]||[];return e[n]=l.filter((n=>!n.options.once)),Object.keys(e).filter((e=>e.endsWith("*")&&n.startsWith(e.replace("*","")))).sort(((n,e)=>e.length-n.length)).forEach((t=>l.push(...e[t].map((e=>({...e,options:{...e.options,event:n}})))))),l}},a.app=r,a._AppRunVersions=o);const i=r}},e={};function l(t){var o=e[t];if(void 0!==o)return o.exports;var r=e[t]={exports:{}};return n[t](r,r.exports,l),r.exports}l.d=(n,e)=>{for(var t in e)l.o(e,t)&&!l.o(n,t)&&Object.defineProperty(n,t,{enumerable:!0,get:e[t]})},l.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(n){if("object"==typeof window)return window}}(),l.o=(n,e)=>Object.prototype.hasOwnProperty.call(n,e),l.r=n=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(n,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(n,"__esModule",{value:!0})};var t={};l.r(t),l.d(t,{Fragment:()=>o.FK,createElement:()=>o.n,jsx:()=>o.n,jsxs:()=>o.n,render:()=>o.cJ,safeHTML:()=>o.t_});var o=l(593);return t})()));
|
|
1
|
+
!function(n,e){"object"==typeof exports&&"object"==typeof module?module.exports=e():"function"==typeof define&&define.amd?define([],e):"object"==typeof exports?exports.apprun=e():n.apprun=e()}(this,(()=>(()=>{"use strict";var n={859(n,e,l){l.d(e,{A:()=>i});var t=l(672);const o=t.C;let r;const a="undefined"!=typeof window?window:void 0!==l.g?l.g:"undefined"!=typeof self?self:{};a.app&&a._AppRunVersions?r=a.app:(r=new class{constructor(){this._events={}}on(n,e,l={}){this._events[n]=this._events[n]||[],this._events[n].push({fn:e,options:l})}off(n,e){const l=this._events[n]||[];this._events[n]=l.filter((n=>n.fn!==e))}find(n){return this._events[n]}run(n,...e){const l=this.getSubscribers(n,this._events);return console.assert(l&&l.length>0,"No subscriber for event: "+n),l.forEach((l=>{const{fn:t,options:o}=l;if(!t||"function"!=typeof t)return console.error(`AppRun event handler for '${n}' is not a function:`,t),!1;if(o.delay)this.delay(n,t,e,o);else try{Object.keys(o).length>0?t.apply(this,[...e,o]):t.apply(this,e)}catch(e){console.error(`Error in event handler for '${n}':`,e)}return!l.options.once})),l.length}once(n,e,l={}){this.on(n,e,{...l,once:!0})}delay(n,e,l,t){t._t&&clearTimeout(t._t),t._t=setTimeout((()=>{clearTimeout(t._t);try{Object.keys(t).length>0?e.apply(this,[...l,t]):e.apply(this,l)}catch(e){console.error(`Error in delayed event handler for '${n}':`,e)}}),t.delay)}runAsync(n,...e){const l=this.getSubscribers(n,this._events);console.assert(l&&l.length>0,"No subscriber for event: "+n);const t=l.map((l=>{const{fn:t,options:o}=l;if(!t||"function"!=typeof t)return console.error(`AppRun async event handler for '${n}' is not a function:`,t),Promise.resolve(null);try{return Object.keys(o).length>0?t.apply(this,[...e,o]):t.apply(this,e)}catch(e){return console.error(`Error in async event handler for '${n}':`,e),Promise.reject(e)}}));return Promise.all(t)}query(n,...e){return console.warn("app.query() is deprecated. Use app.runAsync() instead."),this.runAsync(n,...e)}getSubscribers(n,e){const l=e[n]||[];return e[n]=l.filter((n=>!n.options.once)),Object.keys(e).filter((e=>e.endsWith("*")&&n.startsWith(e.replace("*","")))).sort(((n,e)=>e.length-n.length)).forEach((t=>l.push(...e[t].map((e=>({...e,options:{...e.options,event:n}})))))),l}},a.app=r,a._AppRunVersions=o);const i=r},741(n,e,l){l.d(e,{A:()=>s});var t=l(859),o=l(634);const r=n=>{if(!n)return[];const e=[];let l="",t=!1,o="";for(let r=0;r<n.length;r++){const a=n[r];"["!==a||t?"]"===a&&t?(o?l=l.slice(1,-1):/^\d+$/.test(l)&&(l=parseInt(l,10)),e.push(l),l="",t=!1,o=""):'"'!==a&&"'"!==a||!t?"."!==a||t?l+=a:l&&(e.push(l),l=""):(o?a===o&&(o=""):o=a,l+=a):(l&&(e.push(l),l=""),t=!0)}return l&&e.push(l),e},a=(n,e)=>{if(!e)return n.state||"";const l=r(e),t=((n,e)=>{let l=n;for(const n of e){if(null==l)return;l=l[n]}return l})(n.state,l);return void 0!==t?t:""},i=(n,e,l)=>{if(!e)return void n.setState(l);const t=r(e),o=((n,e,l)=>{if(0===e.length)return l;const t={...n};let o=t;for(let n=0;n<e.length-1;n++){const l=e[n],t=e[n+1];null==o[l]?o[l]="number"==typeof t?[]:{}:Array.isArray(o[l])?o[l]=[...o[l]]:"object"==typeof o[l]&&(o[l]={...o[l]}),o=o[l]}return o[e[e.length-1]]=l,t})(n.state||{},t,l);n.setState(o)},u=(n,e)=>{if(Array.isArray(n))return n.map((n=>u(n,e)));{let{type:l,tag:r,props:s,children:c}=n;return r=r||l,c=c||s?.children,s&&Object.keys(s).forEach((n=>{n.startsWith("$")&&(((n,e,l,r)=>{if(n.startsWith("$on")){const l=e[n];if(n=n.substring(1),"boolean"==typeof l)e[n]=e=>r.run?r.run(n,e):t.A.run(n,e);else if("string"==typeof l)e[n]=n=>r.run?r.run(l,n):t.A.run(l,n);else if("function"==typeof l)e[n]=n=>r.setState(l(r.state,n));else if(Array.isArray(l)){const[o,...a]=l;"string"==typeof o?e[n]=n=>r.run?r.run(o,...a,n):t.A.run(o,...a,n):"function"==typeof o&&(e[n]=n=>r.setState(o(r.state,...a,n)))}}else if("$bind"===n){const t=e.type||"text",u="string"==typeof e[n]?e[n]:e.name;if("input"===l)switch(t){case"checkbox":e.checked=a(r,u),e.onclick=n=>{const e=(0,o.PB)(n);e&&i(r,u||e.name,e.checked)};break;case"radio":e.checked=a(r,u)===e.value,e.onclick=n=>{const e=(0,o.PB)(n);e&&i(r,u||e.name,e.value)};break;case"number":case"range":e.value=a(r,u),e.oninput=n=>{const e=(0,o.PB)(n);e&&i(r,u||e.name,Number(e.value))};break;default:e.value=a(r,u),e.oninput=n=>{const e=(0,o.PB)(n);e&&i(r,u||e.name,e.value)}}else"select"===l?(e.value=a(r,u),e.onchange=n=>{const e=(0,o.PB)(n);e&&!e.multiple&&i(r,u||e.name,e.value)}):"option"===l?(e.selected=a(r,u),e.onclick=n=>{const e=(0,o.PB)(n);e&&i(r,u||e.name,e.selected)}):"textarea"===l&&(e.innerHTML=a(r,u),e.oninput=n=>{const e=(0,o.PB)(n);e&&i(r,u||e.name,e.value)})}else t.A.run("$",{key:n,tag:l,props:e,component:r})})(n,s,r,e),delete s[n])})),c&&u(c,e),n}},s=u},634(n,e,l){function t(n){return n?.target instanceof HTMLElement?n.target:null}l.d(e,{PB:()=>t})},593(n,e,l){l.d(e,{FK:()=>$,n:()=>Y,t_:()=>Q,cJ:()=>J});var t={};l.r(t),l.d(t,{boolean:()=>i,booleanish:()=>u,commaOrSpaceSeparated:()=>g,commaSeparated:()=>d,number:()=>c,overloadedBoolean:()=>s,spaceSeparated:()=>p});var o=l(741);class r{constructor(n,e){this.attribute=e,this.property=n}}r.prototype.attribute="",r.prototype.booleanish=!1,r.prototype.boolean=!1,r.prototype.commaOrSpaceSeparated=!1,r.prototype.commaSeparated=!1,r.prototype.defined=!1,r.prototype.mustUseProperty=!1,r.prototype.number=!1,r.prototype.overloadedBoolean=!1,r.prototype.property="",r.prototype.spaceSeparated=!1,r.prototype.space=void 0;let a=0;const i=f(),u=f(),s=f(),c=f(),p=f(),d=f(),g=f();function f(){return 2**++a}const h=Object.keys(t);class m extends r{constructor(n,e,l,o){let r=-1;if(super(n,e),y(this,"space",o),"number"==typeof l)for(;++r<h.length;){const n=h[r];y(this,h[r],(l&t[n])===t[n])}}}function y(n,e,l){l&&(n[e]=l)}function v(n){return n.toLowerCase()}m.prototype.defined=!0;const b=/[A-Z]/g,k=/-[a-z]/g,S=/^data[-\w.:]+$/i;function C(n){return"-"+n.toLowerCase()}function w(n){return n.charAt(1).toUpperCase()}class x{constructor(n,e,l){this.normal=e,this.property=n,l&&(this.space=l)}}function P(n,e){const l={},t={};for(const e of n)Object.assign(l,e.property),Object.assign(t,e.normal);return new x(l,t,e)}function A(n){const e={},l={};for(const[t,o]of Object.entries(n.properties)){const r=new m(t,n.transform(n.attributes||{},t),o,n.space);n.mustUseProperty&&n.mustUseProperty.includes(t)&&(r.mustUseProperty=!0),e[t]=r,l[v(t)]=t,l[v(r.attribute)]=t}return new x(e,l,n.space)}x.prototype.normal={},x.prototype.property={},x.prototype.space=void 0;const O=A({properties:{ariaActiveDescendant:null,ariaAtomic:u,ariaAutoComplete:null,ariaBusy:u,ariaChecked:u,ariaColCount:c,ariaColIndex:c,ariaColSpan:c,ariaControls:p,ariaCurrent:null,ariaDescribedBy:p,ariaDetails:null,ariaDisabled:u,ariaDropEffect:p,ariaErrorMessage:null,ariaExpanded:u,ariaFlowTo:p,ariaGrabbed:u,ariaHasPopup:null,ariaHidden:u,ariaInvalid:null,ariaKeyShortcuts:null,ariaLabel:null,ariaLabelledBy:p,ariaLevel:c,ariaLive:null,ariaModal:u,ariaMultiLine:u,ariaMultiSelectable:u,ariaOrientation:null,ariaOwns:p,ariaPlaceholder:null,ariaPosInSet:c,ariaPressed:u,ariaReadOnly:u,ariaRelevant:null,ariaRequired:u,ariaRoleDescription:p,ariaRowCount:c,ariaRowIndex:c,ariaRowSpan:c,ariaSelected:u,ariaSetSize:c,ariaSort:null,ariaValueMax:c,ariaValueMin:c,ariaValueNow:c,ariaValueText:null,role:null},transform:(n,e)=>"role"===e?e:"aria-"+e.slice(4).toLowerCase()});function L(n,e){return e in n?n[e]:e}function M(n,e){return L(n,e.toLowerCase())}const E=A({attributes:{acceptcharset:"accept-charset",classname:"class",htmlfor:"for",httpequiv:"http-equiv"},mustUseProperty:["checked","multiple","muted","selected"],properties:{abbr:null,accept:d,acceptCharset:p,accessKey:p,action:null,allow:null,allowFullScreen:i,allowPaymentRequest:i,allowUserMedia:i,alt:null,as:null,async:i,autoCapitalize:null,autoComplete:p,autoFocus:i,autoPlay:i,blocking:p,capture:null,charSet:null,checked:i,cite:null,className:p,cols:c,colSpan:null,content:null,contentEditable:u,controls:i,controlsList:p,coords:c|d,crossOrigin:null,data:null,dateTime:null,decoding:null,default:i,defer:i,dir:null,dirName:null,disabled:i,download:s,draggable:u,encType:null,enterKeyHint:null,fetchPriority:null,form:null,formAction:null,formEncType:null,formMethod:null,formNoValidate:i,formTarget:null,headers:p,height:c,hidden:s,high:c,href:null,hrefLang:null,htmlFor:p,httpEquiv:p,id:null,imageSizes:null,imageSrcSet:null,inert:i,inputMode:null,integrity:null,is:null,isMap:i,itemId:null,itemProp:p,itemRef:p,itemScope:i,itemType:p,kind:null,label:null,lang:null,language:null,list:null,loading:null,loop:i,low:c,manifest:null,max:null,maxLength:c,media:null,method:null,min:null,minLength:c,multiple:i,muted:i,name:null,nonce:null,noModule:i,noValidate:i,onAbort:null,onAfterPrint:null,onAuxClick:null,onBeforeMatch:null,onBeforePrint:null,onBeforeToggle:null,onBeforeUnload:null,onBlur:null,onCancel:null,onCanPlay:null,onCanPlayThrough:null,onChange:null,onClick:null,onClose:null,onContextLost:null,onContextMenu:null,onContextRestored:null,onCopy:null,onCueChange:null,onCut:null,onDblClick:null,onDrag:null,onDragEnd:null,onDragEnter:null,onDragExit:null,onDragLeave:null,onDragOver:null,onDragStart:null,onDrop:null,onDurationChange:null,onEmptied:null,onEnded:null,onError:null,onFocus:null,onFormData:null,onHashChange:null,onInput:null,onInvalid:null,onKeyDown:null,onKeyPress:null,onKeyUp:null,onLanguageChange:null,onLoad:null,onLoadedData:null,onLoadedMetadata:null,onLoadEnd:null,onLoadStart:null,onMessage:null,onMessageError:null,onMouseDown:null,onMouseEnter:null,onMouseLeave:null,onMouseMove:null,onMouseOut:null,onMouseOver:null,onMouseUp:null,onOffline:null,onOnline:null,onPageHide:null,onPageShow:null,onPaste:null,onPause:null,onPlay:null,onPlaying:null,onPopState:null,onProgress:null,onRateChange:null,onRejectionHandled:null,onReset:null,onResize:null,onScroll:null,onScrollEnd:null,onSecurityPolicyViolation:null,onSeeked:null,onSeeking:null,onSelect:null,onSlotChange:null,onStalled:null,onStorage:null,onSubmit:null,onSuspend:null,onTimeUpdate:null,onToggle:null,onUnhandledRejection:null,onUnload:null,onVolumeChange:null,onWaiting:null,onWheel:null,open:i,optimum:c,pattern:null,ping:p,placeholder:null,playsInline:i,popover:null,popoverTarget:null,popoverTargetAction:null,poster:null,preload:null,readOnly:i,referrerPolicy:null,rel:p,required:i,reversed:i,rows:c,rowSpan:c,sandbox:p,scope:null,scoped:i,seamless:i,selected:i,shadowRootClonable:i,shadowRootDelegatesFocus:i,shadowRootMode:null,shape:null,size:c,sizes:null,slot:null,span:c,spellCheck:u,src:null,srcDoc:null,srcLang:null,srcSet:null,start:c,step:null,style:null,tabIndex:c,target:null,title:null,translate:null,type:null,typeMustMatch:i,useMap:null,value:u,width:c,wrap:null,writingSuggestions:null,align:null,aLink:null,archive:p,axis:null,background:null,bgColor:null,border:c,borderColor:null,bottomMargin:c,cellPadding:null,cellSpacing:null,char:null,charOff:null,classId:null,clear:null,code:null,codeBase:null,codeType:null,color:null,compact:i,declare:i,event:null,face:null,frame:null,frameBorder:null,hSpace:c,leftMargin:c,link:null,longDesc:null,lowSrc:null,marginHeight:c,marginWidth:c,noResize:i,noHref:i,noShade:i,noWrap:i,object:null,profile:null,prompt:null,rev:null,rightMargin:c,rules:null,scheme:null,scrolling:u,standby:null,summary:null,text:null,topMargin:c,valueType:null,version:null,vAlign:null,vLink:null,vSpace:c,allowTransparency:null,autoCorrect:null,autoSave:null,disablePictureInPicture:i,disableRemotePlayback:i,prefix:null,property:null,results:c,security:null,unselectable:null},space:"html",transform:M}),T=A({attributes:{accentHeight:"accent-height",alignmentBaseline:"alignment-baseline",arabicForm:"arabic-form",baselineShift:"baseline-shift",capHeight:"cap-height",className:"class",clipPath:"clip-path",clipRule:"clip-rule",colorInterpolation:"color-interpolation",colorInterpolationFilters:"color-interpolation-filters",colorProfile:"color-profile",colorRendering:"color-rendering",crossOrigin:"crossorigin",dataType:"datatype",dominantBaseline:"dominant-baseline",enableBackground:"enable-background",fillOpacity:"fill-opacity",fillRule:"fill-rule",floodColor:"flood-color",floodOpacity:"flood-opacity",fontFamily:"font-family",fontSize:"font-size",fontSizeAdjust:"font-size-adjust",fontStretch:"font-stretch",fontStyle:"font-style",fontVariant:"font-variant",fontWeight:"font-weight",glyphName:"glyph-name",glyphOrientationHorizontal:"glyph-orientation-horizontal",glyphOrientationVertical:"glyph-orientation-vertical",hrefLang:"hreflang",horizAdvX:"horiz-adv-x",horizOriginX:"horiz-origin-x",horizOriginY:"horiz-origin-y",imageRendering:"image-rendering",letterSpacing:"letter-spacing",lightingColor:"lighting-color",markerEnd:"marker-end",markerMid:"marker-mid",markerStart:"marker-start",navDown:"nav-down",navDownLeft:"nav-down-left",navDownRight:"nav-down-right",navLeft:"nav-left",navNext:"nav-next",navPrev:"nav-prev",navRight:"nav-right",navUp:"nav-up",navUpLeft:"nav-up-left",navUpRight:"nav-up-right",onAbort:"onabort",onActivate:"onactivate",onAfterPrint:"onafterprint",onBeforePrint:"onbeforeprint",onBegin:"onbegin",onCancel:"oncancel",onCanPlay:"oncanplay",onCanPlayThrough:"oncanplaythrough",onChange:"onchange",onClick:"onclick",onClose:"onclose",onCopy:"oncopy",onCueChange:"oncuechange",onCut:"oncut",onDblClick:"ondblclick",onDrag:"ondrag",onDragEnd:"ondragend",onDragEnter:"ondragenter",onDragExit:"ondragexit",onDragLeave:"ondragleave",onDragOver:"ondragover",onDragStart:"ondragstart",onDrop:"ondrop",onDurationChange:"ondurationchange",onEmptied:"onemptied",onEnd:"onend",onEnded:"onended",onError:"onerror",onFocus:"onfocus",onFocusIn:"onfocusin",onFocusOut:"onfocusout",onHashChange:"onhashchange",onInput:"oninput",onInvalid:"oninvalid",onKeyDown:"onkeydown",onKeyPress:"onkeypress",onKeyUp:"onkeyup",onLoad:"onload",onLoadedData:"onloadeddata",onLoadedMetadata:"onloadedmetadata",onLoadStart:"onloadstart",onMessage:"onmessage",onMouseDown:"onmousedown",onMouseEnter:"onmouseenter",onMouseLeave:"onmouseleave",onMouseMove:"onmousemove",onMouseOut:"onmouseout",onMouseOver:"onmouseover",onMouseUp:"onmouseup",onMouseWheel:"onmousewheel",onOffline:"onoffline",onOnline:"ononline",onPageHide:"onpagehide",onPageShow:"onpageshow",onPaste:"onpaste",onPause:"onpause",onPlay:"onplay",onPlaying:"onplaying",onPopState:"onpopstate",onProgress:"onprogress",onRateChange:"onratechange",onRepeat:"onrepeat",onReset:"onreset",onResize:"onresize",onScroll:"onscroll",onSeeked:"onseeked",onSeeking:"onseeking",onSelect:"onselect",onShow:"onshow",onStalled:"onstalled",onStorage:"onstorage",onSubmit:"onsubmit",onSuspend:"onsuspend",onTimeUpdate:"ontimeupdate",onToggle:"ontoggle",onUnload:"onunload",onVolumeChange:"onvolumechange",onWaiting:"onwaiting",onZoom:"onzoom",overlinePosition:"overline-position",overlineThickness:"overline-thickness",paintOrder:"paint-order",panose1:"panose-1",pointerEvents:"pointer-events",referrerPolicy:"referrerpolicy",renderingIntent:"rendering-intent",shapeRendering:"shape-rendering",stopColor:"stop-color",stopOpacity:"stop-opacity",strikethroughPosition:"strikethrough-position",strikethroughThickness:"strikethrough-thickness",strokeDashArray:"stroke-dasharray",strokeDashOffset:"stroke-dashoffset",strokeLineCap:"stroke-linecap",strokeLineJoin:"stroke-linejoin",strokeMiterLimit:"stroke-miterlimit",strokeOpacity:"stroke-opacity",strokeWidth:"stroke-width",tabIndex:"tabindex",textAnchor:"text-anchor",textDecoration:"text-decoration",textRendering:"text-rendering",transformOrigin:"transform-origin",typeOf:"typeof",underlinePosition:"underline-position",underlineThickness:"underline-thickness",unicodeBidi:"unicode-bidi",unicodeRange:"unicode-range",unitsPerEm:"units-per-em",vAlphabetic:"v-alphabetic",vHanging:"v-hanging",vIdeographic:"v-ideographic",vMathematical:"v-mathematical",vectorEffect:"vector-effect",vertAdvY:"vert-adv-y",vertOriginX:"vert-origin-x",vertOriginY:"vert-origin-y",wordSpacing:"word-spacing",writingMode:"writing-mode",xHeight:"x-height",playbackOrder:"playbackorder",timelineBegin:"timelinebegin"},properties:{about:g,accentHeight:c,accumulate:null,additive:null,alignmentBaseline:null,alphabetic:c,amplitude:c,arabicForm:null,ascent:c,attributeName:null,attributeType:null,azimuth:c,bandwidth:null,baselineShift:null,baseFrequency:null,baseProfile:null,bbox:null,begin:null,bias:c,by:null,calcMode:null,capHeight:c,className:p,clip:null,clipPath:null,clipPathUnits:null,clipRule:null,color:null,colorInterpolation:null,colorInterpolationFilters:null,colorProfile:null,colorRendering:null,content:null,contentScriptType:null,contentStyleType:null,crossOrigin:null,cursor:null,cx:null,cy:null,d:null,dataType:null,defaultAction:null,descent:c,diffuseConstant:c,direction:null,display:null,dur:null,divisor:c,dominantBaseline:null,download:i,dx:null,dy:null,edgeMode:null,editable:null,elevation:c,enableBackground:null,end:null,event:null,exponent:c,externalResourcesRequired:null,fill:null,fillOpacity:c,fillRule:null,filter:null,filterRes:null,filterUnits:null,floodColor:null,floodOpacity:null,focusable:null,focusHighlight:null,fontFamily:null,fontSize:null,fontSizeAdjust:null,fontStretch:null,fontStyle:null,fontVariant:null,fontWeight:null,format:null,fr:null,from:null,fx:null,fy:null,g1:d,g2:d,glyphName:d,glyphOrientationHorizontal:null,glyphOrientationVertical:null,glyphRef:null,gradientTransform:null,gradientUnits:null,handler:null,hanging:c,hatchContentUnits:null,hatchUnits:null,height:null,href:null,hrefLang:null,horizAdvX:c,horizOriginX:c,horizOriginY:c,id:null,ideographic:c,imageRendering:null,initialVisibility:null,in:null,in2:null,intercept:c,k:c,k1:c,k2:c,k3:c,k4:c,kernelMatrix:g,kernelUnitLength:null,keyPoints:null,keySplines:null,keyTimes:null,kerning:null,lang:null,lengthAdjust:null,letterSpacing:null,lightingColor:null,limitingConeAngle:c,local:null,markerEnd:null,markerMid:null,markerStart:null,markerHeight:null,markerUnits:null,markerWidth:null,mask:null,maskContentUnits:null,maskUnits:null,mathematical:null,max:null,media:null,mediaCharacterEncoding:null,mediaContentEncodings:null,mediaSize:c,mediaTime:null,method:null,min:null,mode:null,name:null,navDown:null,navDownLeft:null,navDownRight:null,navLeft:null,navNext:null,navPrev:null,navRight:null,navUp:null,navUpLeft:null,navUpRight:null,numOctaves:null,observer:null,offset:null,onAbort:null,onActivate:null,onAfterPrint:null,onBeforePrint:null,onBegin:null,onCancel:null,onCanPlay:null,onCanPlayThrough:null,onChange:null,onClick:null,onClose:null,onCopy:null,onCueChange:null,onCut:null,onDblClick:null,onDrag:null,onDragEnd:null,onDragEnter:null,onDragExit:null,onDragLeave:null,onDragOver:null,onDragStart:null,onDrop:null,onDurationChange:null,onEmptied:null,onEnd:null,onEnded:null,onError:null,onFocus:null,onFocusIn:null,onFocusOut:null,onHashChange:null,onInput:null,onInvalid:null,onKeyDown:null,onKeyPress:null,onKeyUp:null,onLoad:null,onLoadedData:null,onLoadedMetadata:null,onLoadStart:null,onMessage:null,onMouseDown:null,onMouseEnter:null,onMouseLeave:null,onMouseMove:null,onMouseOut:null,onMouseOver:null,onMouseUp:null,onMouseWheel:null,onOffline:null,onOnline:null,onPageHide:null,onPageShow:null,onPaste:null,onPause:null,onPlay:null,onPlaying:null,onPopState:null,onProgress:null,onRateChange:null,onRepeat:null,onReset:null,onResize:null,onScroll:null,onSeeked:null,onSeeking:null,onSelect:null,onShow:null,onStalled:null,onStorage:null,onSubmit:null,onSuspend:null,onTimeUpdate:null,onToggle:null,onUnload:null,onVolumeChange:null,onWaiting:null,onZoom:null,opacity:null,operator:null,order:null,orient:null,orientation:null,origin:null,overflow:null,overlay:null,overlinePosition:c,overlineThickness:c,paintOrder:null,panose1:null,path:null,pathLength:c,patternContentUnits:null,patternTransform:null,patternUnits:null,phase:null,ping:p,pitch:null,playbackOrder:null,pointerEvents:null,points:null,pointsAtX:c,pointsAtY:c,pointsAtZ:c,preserveAlpha:null,preserveAspectRatio:null,primitiveUnits:null,propagate:null,property:g,r:null,radius:null,referrerPolicy:null,refX:null,refY:null,rel:g,rev:g,renderingIntent:null,repeatCount:null,repeatDur:null,requiredExtensions:g,requiredFeatures:g,requiredFonts:g,requiredFormats:g,resource:null,restart:null,result:null,rotate:null,rx:null,ry:null,scale:null,seed:null,shapeRendering:null,side:null,slope:null,snapshotTime:null,specularConstant:c,specularExponent:c,spreadMethod:null,spacing:null,startOffset:null,stdDeviation:null,stemh:null,stemv:null,stitchTiles:null,stopColor:null,stopOpacity:null,strikethroughPosition:c,strikethroughThickness:c,string:null,stroke:null,strokeDashArray:g,strokeDashOffset:null,strokeLineCap:null,strokeLineJoin:null,strokeMiterLimit:c,strokeOpacity:c,strokeWidth:null,style:null,surfaceScale:c,syncBehavior:null,syncBehaviorDefault:null,syncMaster:null,syncTolerance:null,syncToleranceDefault:null,systemLanguage:g,tabIndex:c,tableValues:null,target:null,targetX:c,targetY:c,textAnchor:null,textDecoration:null,textRendering:null,textLength:null,timelineBegin:null,title:null,transformBehavior:null,type:null,typeOf:g,to:null,transform:null,transformOrigin:null,u1:null,u2:null,underlinePosition:c,underlineThickness:c,unicode:null,unicodeBidi:null,unicodeRange:null,unitsPerEm:c,values:null,vAlphabetic:c,vMathematical:c,vectorEffect:null,vHanging:c,vIdeographic:c,version:null,vertAdvY:c,vertOriginX:c,vertOriginY:c,viewBox:null,viewTarget:null,visibility:null,width:null,widths:null,wordSpacing:null,writingMode:null,x:null,x1:null,x2:null,xChannelSelector:null,xHeight:c,y:null,y1:null,y2:null,yChannelSelector:null,z:null,zoomAndPan:null},space:"svg",transform:L}),D=A({properties:{xLinkActuate:null,xLinkArcRole:null,xLinkHref:null,xLinkRole:null,xLinkShow:null,xLinkTitle:null,xLinkType:null},space:"xlink",transform:(n,e)=>"xlink:"+e.slice(5).toLowerCase()}),R=A({attributes:{xmlnsxlink:"xmlns:xlink"},properties:{xmlnsXLink:null,xmlns:null},space:"xmlns",transform:M}),U=A({properties:{xmlBase:null,xmlLang:null,xmlSpace:null},space:"xml",transform:(n,e)=>"xml:"+e.slice(3).toLowerCase()}),B=P([O,E,D,R,U],"html"),j=P([O,T,D,R,U],"svg"),_="_props",z=new Map;function N(n,e,l){!function(n){return null!=n&&!1!==n&&""!==n&&(!0===n||("string"==typeof n?"false"!==n.toLowerCase()&&"0"!==n:Boolean(n)))}(l)?n.removeAttribute(e):n.setAttribute(e,e)}function H(n,e,l){try{n[e]=l}catch(t){I(n,e,l,!1)}}function I(n,e,l,t){if(null==l)return void n.removeAttribute(e);const o=String(l);if(t&&e.includes(":")){const[l]=e.split(":");"xlink"===l?n.setAttributeNS("http://www.w3.org/1999/xlink",e,o):n.setAttribute(e,o)}else n.setAttribute(e,o)}function F(n,e,l,t){if(o=n,a=e,document.activeElement===o?["selectionStart","selectionEnd","selectionDirection"].includes(a):"scrollTop"===a||"scrollLeft"===a||o instanceof HTMLMediaElement&&["currentTime","paused","playbackRate","volume"].includes(a))return;var o,a;if("style"===e){if(n.style.cssText&&(n.style.cssText=""),"string"==typeof l)n.style.cssText=l;else if(l&&"object"==typeof l)for(const e in l)n.style[e]!==l[e]&&(n.style[e]=l[e]);return}if("key"===e)return void(null!=l&&(n.key=l));if(e.startsWith("data-"))return void function(n,e,l){const t=(o=e.slice(5)).length<=1?o.toLowerCase():o.split("-").map(((n,e)=>0===e?n.toLowerCase():n.charAt(0).toUpperCase()+n.slice(1).toLowerCase())).join("");var o;null==l?delete n.dataset[t]:n.dataset[t]=String(l)}(n,e,l);if(e.startsWith("on"))return void function(n,e,l){e.startsWith("on")&&(l&&"function"!=typeof l?"string"==typeof l&&(l?n.setAttribute(e,l):n.removeAttribute(e)):n[e]=l)}(n,e,l);if(!("INPUT"!==n.tagName&&"TEXTAREA"!==n.tagName&&"SELECT"!==n.tagName||"value"!==e&&"selected"!==e&&"selectedIndex"!==e))return void H(n,e,l);if("INPUT"===n.tagName&&"checked"===e)return H(n,e,l),void N(n,e,l);const i=function(n,e){const l=`${n}:${e}`;let t=z.get(l);return void 0===t&&(t=function(n,e){const l=v(e);let t=e,o=r;if(l in n.normal)return n.property[n.normal[l]];if(l.length>4&&"data"===l.slice(0,4)&&S.test(e)){if("-"===e.charAt(4)){const n=e.slice(5).replace(k,w);t="data"+n.charAt(0).toUpperCase()+n.slice(1)}else{const n=e.slice(4);if(!k.test(n)){let l=n.replace(b,C);"-"!==l.charAt(0)&&(l="-"+l),e="data"+l}}o=m}return new o(t,e)}(e?j:B,n)||null,z.set(l,t)),t}(e,t);i?i.boolean||i.overloadedBoolean?N(n,i.attribute,l):i.mustUseProperty&&!t?H(n,i.property,l):I(n,i.attribute,l,t):e.startsWith("aria-")||"role"===e?I(n,e,l,t):e in n||void 0!==n[e]?H(n,e,l):I(n,e,l,t)}function V(n){return/^[a-zA-Z_:][\w\-:.]*$/.test(n)&&!n.includes("<")&&!n.includes(">")&&!n.includes('"')&&!n.includes("'")}function W(n,e,l){const t=function(n,e){if((e=e||{}).class=e.class||e.className,delete e.className,!n||0===Object.keys(n).length)return e;const l={};return Object.keys(n).forEach((n=>{n in e||(l[n]=null)})),Object.keys(e).forEach((n=>l[n]=e[n])),l}(n[_]||{},e);n[_]=e||{},function(n,e,l,t){for(const l in e)V(l)&&F(n,l,e[l],t);e&&"function"==typeof e.ref&&window.requestAnimationFrame((()=>e.ref(n)))}(n,t,0,l)}function $(n,...e){return q(e)}function q(n){const e=[],l=n=>{null!=n&&""!==n&&!1!==n&&e.push("function"==typeof n||"object"==typeof n?n:`${n}`)};return n&&n.forEach((n=>{Array.isArray(n)?n.forEach((n=>l(n))):l(n)})),e}const K={};let X=0;function Y(n,e,...l){const t=q(l);if("string"==typeof n)return{tag:n,props:e,children:t};if(Array.isArray(n))return n;if(void 0===n&&l)return t;if(Object.getPrototypeOf(n).__isAppRunComponent)return{tag:n,props:e,children:t};if("function"==typeof n)return n(e,t);throw new Error(`Unknown tag in vdom ${n}`)}const J=(n,e,l={})=>{null!=e&&!1!==e&&function(n,e,l={}){if(null==e||!1===e)return;if(e=ln(e,l),!n)return;const t="SVG"===n.nodeName;Array.isArray(e)?G(n,e,t):G(n,[e],t)}("string"==typeof n&&n?document.getElementById(n)||document.querySelector(n):n,e=(0,o.A)(e,l),l)};function Z(n,e,l){l=l||"svg"===e.tag,function(n,e){const l=n.nodeName,t=`${e.tag||""}`;return l.toUpperCase()===t.toUpperCase()}(n,e)?(G(n,e.children,l),W(n,e.props,l)):n.parentNode.replaceChild(en(e,l),n)}function G(n,e,l){const t=n.childNodes?.length||0,o=e?.length||0,r=Math.min(t,o);for(let t=0;t<r;t++){const o=e[t],r=n.childNodes[t];if("string"==typeof o)r.textContent!==o&&(3===r.nodeType?r.nodeValue=o:n.replaceChild(nn(o),r));else if(o instanceof HTMLElement||o instanceof SVGElement)n.insertBefore(o,r);else{const e=o.props&&o.props.key;if(e)if(r.key===e)Z(n.childNodes[t],o,l);else{const a=K[e];a?(n.insertBefore(a,r),Z(n.childNodes[t],o,l)):n.replaceChild(en(o,l),r)}else Z(n.childNodes[t],o,l)}}let a=n.childNodes?.length||0;for(;a>r;)n.removeChild(n.lastChild),a--;if(o>r){const t=document.createDocumentFragment();for(let n=r;n<e.length;n++)t.appendChild(en(e[n],l));n.appendChild(t)}}const Q=n=>{const e=document.createElement("section");return e.insertAdjacentHTML("afterbegin",n),Array.from(e.children)};function nn(n){if(0===n?.indexOf("_html:")){const e=document.createElement("div");return e.insertAdjacentHTML("afterbegin",n.substring(6)),e}return document.createTextNode(n??"")}function en(n,e){if(n instanceof HTMLElement||n instanceof SVGElement)return n;if("string"==typeof n)return nn(n);if(!n.tag||"function"==typeof n.tag)return nn(JSON.stringify(n));const l=(e=e||"svg"===n.tag)?document.createElementNS("http://www.w3.org/2000/svg",n.tag):document.createElement(n.tag);return W(l,n.props,e),n.children&&n.children.forEach((n=>l.appendChild(en(n,e)))),n.props&&void 0!==n.props.key&&(l.key=n.props.key,K[n.props.key]=l,++X>=500&&(function(){if(!(Object.keys(K).length<=1e3))for(const[n,e]of Object.entries(K))e.isConnected||delete K[n]}(),X=0)),l}function ln(n,e,l=0){if("string"==typeof n)return n;if(Array.isArray(n))return n.map((n=>ln(n,e,l++)));let t=n;if(n&&"function"==typeof n.tag&&Object.getPrototypeOf(n.tag).__isAppRunComponent&&(t=function(n,e,l){const{tag:t,props:o,children:r}=n;let a=`_${l}`,i=o&&o.id;i?a=i:i=`_${l}${Date.now()}`;let u="section";o&&o.as&&(u=o.as,delete o.as),e.__componentCache||(e.__componentCache={});let s=e.__componentCache[a];if(s&&s instanceof t&&s.element)s.renderState(s.state);else{const n=document.createElement(u);s=e.__componentCache[a]=new t({...o,children:r}).mount(n,{render:!0})}if(s.mounted){const n=s.mounted(o,r,s.state);void 0!==n&&s.setState(n)}return W(s.element,o,!1),s.element}(n,e,l)),t&&Array.isArray(t.children)){const n=t.props?._component;if(n){let e=0;t.children=t.children.map((l=>ln(l,n,e++)))}else t.children=t.children.map((n=>ln(n,e,l++)))}return t}},672(n,e,l){l.d(e,{C:()=>t});const t="AppRun-3.38.0"}},e={};function l(t){var o=e[t];if(void 0!==o)return o.exports;var r=e[t]={exports:{}};return n[t](r,r.exports,l),r.exports}l.d=(n,e)=>{for(var t in e)l.o(e,t)&&!l.o(n,t)&&Object.defineProperty(n,t,{enumerable:!0,get:e[t]})},l.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(n){if("object"==typeof window)return window}}(),l.o=(n,e)=>Object.prototype.hasOwnProperty.call(n,e),l.r=n=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(n,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(n,"__esModule",{value:!0})};var t={};l.r(t),l.d(t,{Fragment:()=>o.FK,createElement:()=>o.n,jsx:()=>o.n,jsxs:()=>o.n,render:()=>o.cJ,safeHTML:()=>o.t_});var o=l(593);return t})()));
|
|
2
2
|
//# sourceMappingURL=jsx-runtime.js.map
|