onejs-core 3.0.3 → 3.0.5

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.
Files changed (103) hide show
  1. package/.gitattributes +2 -2
  2. package/.prettierrc +5 -5
  3. package/.vscode/settings.json +5 -5
  4. package/LICENSE +20 -20
  5. package/README.md +102 -102
  6. package/bin/oj.js +252 -252
  7. package/definitions/Assemblies/OneJS.Runtime.Ext.d.ts +6 -6
  8. package/definitions/Assemblies/OneJS.Runtime.d.ts +826 -826
  9. package/definitions/Assemblies/OneJS.Samples.d.ts +20 -20
  10. package/definitions/Assemblies/Unity.Mathematics.d.ts +9221 -9221
  11. package/definitions/Assemblies/UnityEditor.CoreModule.d.ts +32614 -32614
  12. package/definitions/Assemblies/UnityEngine.AIModule.d.ts +998 -998
  13. package/definitions/Assemblies/UnityEngine.AnimationModule.d.ts +3308 -3308
  14. package/definitions/Assemblies/UnityEngine.AssetBundleModule.d.ts +337 -337
  15. package/definitions/Assemblies/UnityEngine.AudioModule.d.ts +1154 -1154
  16. package/definitions/Assemblies/UnityEngine.CoreModule.d.ts +29587 -29587
  17. package/definitions/Assemblies/UnityEngine.PhysicsModule.d.ts +3137 -3137
  18. package/definitions/Assemblies/UnityEngine.TerrainModule.d.ts +1270 -1270
  19. package/definitions/Assemblies/UnityEngine.UIElementsModule.d.ts +32718 -32718
  20. package/definitions/Assemblies/UnityEngine.UnityAnalyticsCommonModule.d.ts +274 -274
  21. package/definitions/Assemblies/index.d.ts +16 -16
  22. package/definitions/Assemblies/mscorlib.d.ts +19416 -19416
  23. package/definitions/augments.d.ts +66 -66
  24. package/definitions/globals.d.ts +53 -53
  25. package/definitions/index.d.ts +11 -11
  26. package/definitions/jsx.d.ts +570 -570
  27. package/definitions/modules.d.ts +32 -32
  28. package/definitions/onejs.d.ts +171 -171
  29. package/definitions/preact.jsx.d.ts +6 -6
  30. package/definitions/proto-overrides.d.ts +41 -41
  31. package/definitions/puerts.d.ts +30 -30
  32. package/definitions/unity-engine.d.ts +22 -22
  33. package/dist/dom/document.d.ts +30 -0
  34. package/dist/dom/document.js +89 -0
  35. package/dist/dom/dom-style.d.ts +9 -0
  36. package/dist/dom/dom-style.js +27 -0
  37. package/dist/dom/dom.d.ts +83 -0
  38. package/dist/dom/dom.js +313 -0
  39. package/dist/dom/index.d.ts +4 -0
  40. package/dist/dom/index.js +4 -0
  41. package/dist/index.d.ts +25 -0
  42. package/dist/index.js +45 -0
  43. package/dist/math/index.d.ts +86 -0
  44. package/dist/math/index.js +361 -0
  45. package/dist/preloads/inject.d.ts +3 -0
  46. package/dist/preloads/inject.js +36 -0
  47. package/dist/styling/index.d.ts +10 -0
  48. package/dist/styling/index.js +28 -0
  49. package/dist/styling/utils/generateAlphabeticName.d.ts +1 -0
  50. package/dist/styling/utils/generateAlphabeticName.js +16 -0
  51. package/dist/styling/utils/generateComponentId.d.ts +1 -0
  52. package/dist/styling/utils/generateComponentId.js +5 -0
  53. package/dist/styling/utils/hash.d.ts +5 -0
  54. package/dist/styling/utils/hash.js +34 -0
  55. package/dist/utils/arrays.d.ts +1 -0
  56. package/dist/utils/arrays.js +10 -0
  57. package/dist/utils/color-palettes.d.ts +2 -0
  58. package/dist/utils/color-palettes.js +2 -0
  59. package/dist/utils/color-parser.d.ts +161 -0
  60. package/dist/utils/color-parser.js +241 -0
  61. package/dist/utils/float-parser.d.ts +7 -0
  62. package/dist/utils/float-parser.js +23 -0
  63. package/dist/utils/index.d.ts +12 -0
  64. package/dist/utils/index.js +15 -0
  65. package/dist/utils/subscribe.d.ts +4 -0
  66. package/dist/utils/subscribe.js +10 -0
  67. package/dist/utils/system.d.ts +1 -0
  68. package/dist/utils/system.js +16 -0
  69. package/dom/document.ts +115 -115
  70. package/dom/dom-style.ts +36 -36
  71. package/dom/dom.ts +376 -376
  72. package/dom/index.ts +3 -3
  73. package/index.ts +59 -59
  74. package/jsr.json +9 -9
  75. package/math/README.md +212 -212
  76. package/math/index.ts +487 -487
  77. package/package.json +34 -33
  78. package/preloads/inject.ts +43 -43
  79. package/scripts/esbuild/copy-assets.mjs +94 -94
  80. package/scripts/esbuild/decorator-fix.mjs +17 -17
  81. package/scripts/esbuild/import-transform.mjs +100 -100
  82. package/scripts/esbuild/index.mjs +3 -3
  83. package/scripts/esbuild/watch-output.mjs +38 -38
  84. package/scripts/postcss/cleanup-plugin.cjs +89 -89
  85. package/scripts/postcss/onejs-tw-config.cjs +252 -252
  86. package/scripts/postcss/optional-import-plugin.cjs +26 -26
  87. package/scripts/postcss/tailwind-logging-plugin.cjs +11 -11
  88. package/scripts/postcss/unwrap-is-plugin.cjs +16 -16
  89. package/scripts/postcss/uss-transform-plugin.cjs +92 -92
  90. package/scripts/switch.cjs +321 -290
  91. package/styling/index.tsx +32 -32
  92. package/styling/utils/generateAlphabeticName.ts +20 -20
  93. package/styling/utils/generateComponentId.ts +5 -5
  94. package/styling/utils/hash.ts +46 -46
  95. package/tsconfig.json +24 -24
  96. package/typings.d.ts +5 -5
  97. package/utils/arrays.ts +10 -10
  98. package/utils/color-palettes.ts +2 -2
  99. package/utils/color-parser.ts +248 -248
  100. package/utils/float-parser.ts +30 -30
  101. package/utils/index.ts +15 -15
  102. package/utils/subscribe.ts +16 -16
  103. package/utils/system.ts +16 -16
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
  }