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