onejs-core 3.0.1 → 3.0.3
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/.gitattributes +2 -2
- package/.prettierrc +5 -5
- package/.vscode/settings.json +5 -5
- package/LICENSE +20 -20
- package/README.md +102 -102
- package/definitions/Assemblies/OneJS.Runtime.Ext.d.ts +6 -6
- package/definitions/Assemblies/OneJS.Runtime.d.ts +826 -826
- package/definitions/Assemblies/OneJS.Samples.d.ts +20 -20
- package/definitions/Assemblies/Unity.Mathematics.d.ts +9221 -9221
- package/definitions/Assemblies/UnityEditor.CoreModule.d.ts +32614 -32614
- package/definitions/Assemblies/UnityEngine.AIModule.d.ts +998 -998
- package/definitions/Assemblies/UnityEngine.AnimationModule.d.ts +3308 -3308
- package/definitions/Assemblies/UnityEngine.AssetBundleModule.d.ts +337 -337
- package/definitions/Assemblies/UnityEngine.AudioModule.d.ts +1154 -1154
- package/definitions/Assemblies/UnityEngine.CoreModule.d.ts +29587 -29587
- package/definitions/Assemblies/UnityEngine.PhysicsModule.d.ts +3137 -3137
- package/definitions/Assemblies/UnityEngine.TerrainModule.d.ts +1270 -1270
- package/definitions/Assemblies/UnityEngine.UIElementsModule.d.ts +32718 -32718
- package/definitions/Assemblies/UnityEngine.UnityAnalyticsCommonModule.d.ts +274 -274
- package/definitions/Assemblies/index.d.ts +16 -16
- package/definitions/Assemblies/mscorlib.d.ts +19416 -19416
- package/definitions/augments.d.ts +66 -66
- package/definitions/globals.d.ts +53 -53
- package/definitions/index.d.ts +11 -11
- package/definitions/jsx.d.ts +570 -570
- package/definitions/modules.d.ts +32 -32
- package/definitions/onejs.d.ts +171 -171
- package/definitions/preact.jsx.d.ts +6 -6
- package/definitions/proto-overrides.d.ts +41 -41
- package/definitions/puerts.d.ts +30 -30
- package/definitions/unity-engine.d.ts +22 -22
- package/dom/document.ts +115 -115
- package/dom/dom-style.ts +36 -36
- package/dom/dom.ts +376 -376
- package/dom/index.ts +3 -3
- package/index.ts +59 -58
- package/jsr.json +9 -9
- package/math/README.md +212 -212
- package/math/index.ts +487 -487
- package/package.json +33 -33
- package/preloads/inject.ts +43 -43
- package/scripts/esbuild/copy-assets.mjs +94 -94
- package/scripts/esbuild/decorator-fix.mjs +17 -17
- package/scripts/esbuild/import-transform.mjs +100 -100
- package/scripts/esbuild/index.mjs +3 -3
- package/scripts/esbuild/watch-output.mjs +38 -38
- package/scripts/postcss/cleanup-plugin.cjs +89 -89
- package/scripts/postcss/onejs-tw-config.cjs +252 -252
- package/scripts/postcss/optional-import-plugin.cjs +26 -26
- package/scripts/postcss/tailwind-logging-plugin.cjs +11 -11
- package/scripts/postcss/unwrap-is-plugin.cjs +16 -16
- package/scripts/postcss/uss-transform-plugin.cjs +92 -92
- package/scripts/switch.cjs +290 -290
- package/styling/index.tsx +32 -32
- package/styling/utils/generateAlphabeticName.ts +20 -20
- package/styling/utils/generateComponentId.ts +5 -5
- package/styling/utils/hash.ts +46 -46
- package/tsconfig.json +24 -24
- package/typings.d.ts +5 -5
- package/utils/arrays.ts +10 -10
- package/utils/color-palettes.ts +2 -2
- package/utils/color-parser.ts +248 -248
- package/utils/float-parser.ts +30 -30
- package/utils/index.ts +15 -15
- package/utils/subscribe.ts +16 -16
- package/utils/system.ts +16 -16
- package/dist/csharp/index.d.ts +0 -3
- package/dist/csharp/index.js +0 -3
- package/dist/dom/document.d.ts +0 -30
- package/dist/dom/document.js +0 -89
- package/dist/dom/dom-style.d.ts +0 -9
- package/dist/dom/dom-style.js +0 -27
- package/dist/dom/dom.d.ts +0 -83
- package/dist/dom/dom.js +0 -313
- package/dist/dom/index.d.ts +0 -4
- package/dist/dom/index.js +0 -4
- package/dist/dom/selector.d.ts +0 -0
- package/dist/dom/selector.js +0 -0
- package/dist/index.d.ts +0 -25
- package/dist/index.js +0 -44
- package/dist/math/index.d.ts +0 -86
- package/dist/math/index.js +0 -361
- package/dist/preloads/inject.d.ts +0 -3
- package/dist/preloads/inject.js +0 -36
- package/dist/styling/index.d.ts +0 -10
- package/dist/styling/index.js +0 -28
- package/dist/styling/utils/generateAlphabeticName.d.ts +0 -1
- package/dist/styling/utils/generateAlphabeticName.js +0 -16
- package/dist/styling/utils/generateComponentId.d.ts +0 -1
- package/dist/styling/utils/generateComponentId.js +0 -5
- package/dist/styling/utils/hash.d.ts +0 -5
- package/dist/styling/utils/hash.js +0 -34
- package/dist/utils/arrays.d.ts +0 -1
- package/dist/utils/arrays.js +0 -10
- package/dist/utils/color-palettes.d.ts +0 -2
- package/dist/utils/color-palettes.js +0 -2
- package/dist/utils/color-parser.d.ts +0 -161
- package/dist/utils/color-parser.js +0 -241
- package/dist/utils/float-parser.d.ts +0 -7
- package/dist/utils/float-parser.js +0 -23
- package/dist/utils/index.d.ts +0 -12
- package/dist/utils/index.js +0 -15
- package/dist/utils/responsive.d.ts +0 -4
- package/dist/utils/responsive.js +0 -23
- package/dist/utils/subscribe.d.ts +0 -4
- package/dist/utils/subscribe.js +0 -10
- package/dist/utils/system.d.ts +0 -1
- package/dist/utils/system.js +0 -16
- package/dist/utils/toJsArray.d.ts +0 -1
- package/dist/utils/toJsArray.js +0 -10
package/dom/document.ts
CHANGED
|
@@ -1,116 +1,116 @@
|
|
|
1
|
-
import { Vector2 } from "UnityEngine"
|
|
2
|
-
import { DomWrapper } from "./dom"
|
|
3
|
-
import { EventBase } from "UnityEngine/UIElements"
|
|
4
|
-
|
|
5
|
-
interface ElementCreationOptions {
|
|
6
|
-
is?: string
|
|
7
|
-
}
|
|
8
|
-
|
|
9
|
-
export class DocumentWrapper {
|
|
10
|
-
public get _doc(): CS.OneJS.Dom.Document { return this.#doc }
|
|
11
|
-
|
|
12
|
-
#doc: CS.OneJS.Dom.Document
|
|
13
|
-
#body: DomWrapper | null
|
|
14
|
-
|
|
15
|
-
/**
|
|
16
|
-
* The body/root element of the document. Will be null for Editor documents.
|
|
17
|
-
*/
|
|
18
|
-
public get body(): DomWrapper | null { return this.#body }
|
|
19
|
-
|
|
20
|
-
constructor(doc: CS.OneJS.Dom.Document) {
|
|
21
|
-
this.#doc = doc
|
|
22
|
-
this.#body = doc.body ? new DomWrapper(doc.body) : null
|
|
23
|
-
}
|
|
24
|
-
|
|
25
|
-
addRuntimeUSS(uss: string): void {
|
|
26
|
-
this.#doc.addRuntimeUSS(uss)
|
|
27
|
-
}
|
|
28
|
-
|
|
29
|
-
clearRuntimeStyleSheets(): void {
|
|
30
|
-
this.#doc.clearRuntimeStyleSheets()
|
|
31
|
-
}
|
|
32
|
-
|
|
33
|
-
// MARK: Create
|
|
34
|
-
|
|
35
|
-
createElement(tagName: string, options?: ElementCreationOptions): DomWrapper {
|
|
36
|
-
return new DomWrapper(this.#doc.createElement(tagName))
|
|
37
|
-
}
|
|
38
|
-
|
|
39
|
-
createElementNS(ns: string, tagName: string, options?: ElementCreationOptions): DomWrapper {
|
|
40
|
-
tagName = typeof tagName === 'string' ? tagName : 'div'
|
|
41
|
-
return new DomWrapper(this.#doc.createElement(tagName))
|
|
42
|
-
}
|
|
43
|
-
|
|
44
|
-
createTextNode(text: string): DomWrapper {
|
|
45
|
-
return new DomWrapper(this.#doc.createTextNode(text))
|
|
46
|
-
}
|
|
47
|
-
|
|
48
|
-
createDocumentFragment(): DomWrapper {
|
|
49
|
-
return this.createElement("div")
|
|
50
|
-
}
|
|
51
|
-
|
|
52
|
-
// MARK: Query
|
|
53
|
-
|
|
54
|
-
getElementById(id: string): DomWrapper {
|
|
55
|
-
return new DomWrapper(this.#doc.getElementById(id))
|
|
56
|
-
}
|
|
57
|
-
|
|
58
|
-
querySelectorAll(selector: string): DomWrapper[] {
|
|
59
|
-
let doms = this.#doc.querySelectorAll(selector)
|
|
60
|
-
let res = [] as any[]
|
|
61
|
-
for (let i = 0; i < doms.Length; i++) {
|
|
62
|
-
res.push(new DomWrapper(doms.get_Item(i)))
|
|
63
|
-
}
|
|
64
|
-
return res
|
|
65
|
-
}
|
|
66
|
-
|
|
67
|
-
elementFromPoint(x: number, y: number): DomWrapper | null {
|
|
68
|
-
const root = this.body
|
|
69
|
-
if (!root) return null
|
|
70
|
-
|
|
71
|
-
const hitTest = (node: DomWrapper): DomWrapper | null => {
|
|
72
|
-
if (!node.ve.worldBound.Contains(new Vector2(x, y))) return null
|
|
73
|
-
|
|
74
|
-
// later siblings are painted on top → scan from back to front
|
|
75
|
-
for (let i = node.childNodes.length - 1; i >= 0; i--) {
|
|
76
|
-
const hit = hitTest(node.childNodes[i])
|
|
77
|
-
if (hit) return hit
|
|
78
|
-
}
|
|
79
|
-
return node
|
|
80
|
-
}
|
|
81
|
-
|
|
82
|
-
return hitTest(root)
|
|
83
|
-
}
|
|
84
|
-
|
|
85
|
-
elementsFromPoint(x: number, y: number): DomWrapper[] {
|
|
86
|
-
const root = this.body
|
|
87
|
-
if (!root) return []
|
|
88
|
-
|
|
89
|
-
const hits: DomWrapper[] = []
|
|
90
|
-
|
|
91
|
-
const collect = (node: DomWrapper): void => {
|
|
92
|
-
if (!node.ve.worldBound.Contains(new Vector2(x, y))) return
|
|
93
|
-
|
|
94
|
-
// visit children first, from front to back (last child is top‑most)
|
|
95
|
-
for (let i = node.childNodes.length - 1; i >= 0; i--) {
|
|
96
|
-
collect(node.childNodes[i])
|
|
97
|
-
}
|
|
98
|
-
|
|
99
|
-
// add the current node itself
|
|
100
|
-
hits.push(node)
|
|
101
|
-
}
|
|
102
|
-
|
|
103
|
-
collect(root)
|
|
104
|
-
return hits // ordered front‑to‑back (top‑most first)
|
|
105
|
-
}
|
|
106
|
-
|
|
107
|
-
// MARK: Event
|
|
108
|
-
|
|
109
|
-
addEventListener(type: string, listener: (event: EventBase) => void, options?: boolean | { once?: boolean }) {
|
|
110
|
-
this.body?.addEventListener(type, listener, options)
|
|
111
|
-
}
|
|
112
|
-
|
|
113
|
-
removeEventListener(type: string, listener: (event: EventBase) => void, useCapture?: boolean) {
|
|
114
|
-
this.body?.removeEventListener(type, listener, useCapture)
|
|
115
|
-
}
|
|
1
|
+
import { Vector2 } from "UnityEngine"
|
|
2
|
+
import { DomWrapper } from "./dom"
|
|
3
|
+
import { EventBase } from "UnityEngine/UIElements"
|
|
4
|
+
|
|
5
|
+
interface ElementCreationOptions {
|
|
6
|
+
is?: string
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
export class DocumentWrapper {
|
|
10
|
+
public get _doc(): CS.OneJS.Dom.Document { return this.#doc }
|
|
11
|
+
|
|
12
|
+
#doc: CS.OneJS.Dom.Document
|
|
13
|
+
#body: DomWrapper | null
|
|
14
|
+
|
|
15
|
+
/**
|
|
16
|
+
* The body/root element of the document. Will be null for Editor documents.
|
|
17
|
+
*/
|
|
18
|
+
public get body(): DomWrapper | null { return this.#body }
|
|
19
|
+
|
|
20
|
+
constructor(doc: CS.OneJS.Dom.Document) {
|
|
21
|
+
this.#doc = doc
|
|
22
|
+
this.#body = doc.body ? new DomWrapper(doc.body) : null
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
addRuntimeUSS(uss: string): void {
|
|
26
|
+
this.#doc.addRuntimeUSS(uss)
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
clearRuntimeStyleSheets(): void {
|
|
30
|
+
this.#doc.clearRuntimeStyleSheets()
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
// MARK: Create
|
|
34
|
+
|
|
35
|
+
createElement(tagName: string, options?: ElementCreationOptions): DomWrapper {
|
|
36
|
+
return new DomWrapper(this.#doc.createElement(tagName))
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
createElementNS(ns: string, tagName: string, options?: ElementCreationOptions): DomWrapper {
|
|
40
|
+
tagName = typeof tagName === 'string' ? tagName : 'div'
|
|
41
|
+
return new DomWrapper(this.#doc.createElement(tagName))
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
createTextNode(text: string): DomWrapper {
|
|
45
|
+
return new DomWrapper(this.#doc.createTextNode(text))
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
createDocumentFragment(): DomWrapper {
|
|
49
|
+
return this.createElement("div")
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
// MARK: Query
|
|
53
|
+
|
|
54
|
+
getElementById(id: string): DomWrapper {
|
|
55
|
+
return new DomWrapper(this.#doc.getElementById(id))
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
querySelectorAll(selector: string): DomWrapper[] {
|
|
59
|
+
let doms = this.#doc.querySelectorAll(selector)
|
|
60
|
+
let res = [] as any[]
|
|
61
|
+
for (let i = 0; i < doms.Length; i++) {
|
|
62
|
+
res.push(new DomWrapper(doms.get_Item(i)))
|
|
63
|
+
}
|
|
64
|
+
return res
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
elementFromPoint(x: number, y: number): DomWrapper | null {
|
|
68
|
+
const root = this.body
|
|
69
|
+
if (!root) return null
|
|
70
|
+
|
|
71
|
+
const hitTest = (node: DomWrapper): DomWrapper | null => {
|
|
72
|
+
if (!node.ve.worldBound.Contains(new Vector2(x, y))) return null
|
|
73
|
+
|
|
74
|
+
// later siblings are painted on top → scan from back to front
|
|
75
|
+
for (let i = node.childNodes.length - 1; i >= 0; i--) {
|
|
76
|
+
const hit = hitTest(node.childNodes[i])
|
|
77
|
+
if (hit) return hit
|
|
78
|
+
}
|
|
79
|
+
return node
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
return hitTest(root)
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
elementsFromPoint(x: number, y: number): DomWrapper[] {
|
|
86
|
+
const root = this.body
|
|
87
|
+
if (!root) return []
|
|
88
|
+
|
|
89
|
+
const hits: DomWrapper[] = []
|
|
90
|
+
|
|
91
|
+
const collect = (node: DomWrapper): void => {
|
|
92
|
+
if (!node.ve.worldBound.Contains(new Vector2(x, y))) return
|
|
93
|
+
|
|
94
|
+
// visit children first, from front to back (last child is top‑most)
|
|
95
|
+
for (let i = node.childNodes.length - 1; i >= 0; i--) {
|
|
96
|
+
collect(node.childNodes[i])
|
|
97
|
+
}
|
|
98
|
+
|
|
99
|
+
// add the current node itself
|
|
100
|
+
hits.push(node)
|
|
101
|
+
}
|
|
102
|
+
|
|
103
|
+
collect(root)
|
|
104
|
+
return hits // ordered front‑to‑back (top‑most first)
|
|
105
|
+
}
|
|
106
|
+
|
|
107
|
+
// MARK: Event
|
|
108
|
+
|
|
109
|
+
addEventListener(type: string, listener: (event: EventBase) => void, options?: boolean | { once?: boolean }) {
|
|
110
|
+
this.body?.addEventListener(type, listener, options)
|
|
111
|
+
}
|
|
112
|
+
|
|
113
|
+
removeEventListener(type: string, listener: (event: EventBase) => void, useCapture?: boolean) {
|
|
114
|
+
this.body?.removeEventListener(type, listener, useCapture)
|
|
115
|
+
}
|
|
116
116
|
}
|
package/dom/dom-style.ts
CHANGED
|
@@ -1,37 +1,37 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
export class DomStyleWrapper implements CS.OneJS.Dom.DomStyle {
|
|
4
|
-
_domStyle: CS.OneJS.Dom.DomStyle // Making this public so that Proxy's setProperty can access it
|
|
5
|
-
|
|
6
|
-
constructor(domStyle: CS.OneJS.Dom.DomStyle) {
|
|
7
|
-
this._domStyle = domStyle
|
|
8
|
-
|
|
9
|
-
return new Proxy(this, {
|
|
10
|
-
set(target, prop, value, receiver) {
|
|
11
|
-
if (typeof prop === 'string' && !(prop in target)) {
|
|
12
|
-
target.setProperty(prop, value)
|
|
13
|
-
return true
|
|
14
|
-
}
|
|
15
|
-
return Reflect.set(target, prop, value, receiver)
|
|
16
|
-
},
|
|
17
|
-
get(target, prop, receiver) {
|
|
18
|
-
if (typeof prop === 'string' && !(prop in target)) {
|
|
19
|
-
return target.getProperty(prop)
|
|
20
|
-
}
|
|
21
|
-
return Reflect.get(target, prop, receiver)
|
|
22
|
-
}
|
|
23
|
-
})
|
|
24
|
-
}
|
|
25
|
-
|
|
26
|
-
getProperty(name: string) {
|
|
27
|
-
return this._domStyle.getProperty(name)
|
|
28
|
-
}
|
|
29
|
-
|
|
30
|
-
setProperty(name: string, value: any) {
|
|
31
|
-
this._domStyle.setProperty(name, value)
|
|
32
|
-
}
|
|
33
|
-
}
|
|
34
|
-
|
|
35
|
-
export interface DomStyleWrapper extends CS.OneJS.Dom.DomStyle {
|
|
36
|
-
[key: string | symbol]: any;
|
|
1
|
+
|
|
2
|
+
|
|
3
|
+
export class DomStyleWrapper implements CS.OneJS.Dom.DomStyle {
|
|
4
|
+
_domStyle: CS.OneJS.Dom.DomStyle // Making this public so that Proxy's setProperty can access it
|
|
5
|
+
|
|
6
|
+
constructor(domStyle: CS.OneJS.Dom.DomStyle) {
|
|
7
|
+
this._domStyle = domStyle
|
|
8
|
+
|
|
9
|
+
return new Proxy(this, {
|
|
10
|
+
set(target, prop, value, receiver) {
|
|
11
|
+
if (typeof prop === 'string' && !(prop in target)) {
|
|
12
|
+
target.setProperty(prop, value)
|
|
13
|
+
return true
|
|
14
|
+
}
|
|
15
|
+
return Reflect.set(target, prop, value, receiver)
|
|
16
|
+
},
|
|
17
|
+
get(target, prop, receiver) {
|
|
18
|
+
if (typeof prop === 'string' && !(prop in target)) {
|
|
19
|
+
return target.getProperty(prop)
|
|
20
|
+
}
|
|
21
|
+
return Reflect.get(target, prop, receiver)
|
|
22
|
+
}
|
|
23
|
+
})
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
getProperty(name: string) {
|
|
27
|
+
return this._domStyle.getProperty(name)
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
setProperty(name: string, value: any) {
|
|
31
|
+
this._domStyle.setProperty(name, value)
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
export interface DomStyleWrapper extends CS.OneJS.Dom.DomStyle {
|
|
36
|
+
[key: string | symbol]: any;
|
|
37
37
|
}
|