@playcanvas/web-components 0.12.0 → 0.13.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.
Files changed (95) hide show
  1. package/README.md +1 -1
  2. package/dist/app.d.cts +281 -0
  3. package/dist/app.d.ts +61 -3
  4. package/dist/asset.d.cts +224 -0
  5. package/dist/asset.d.ts +8 -2
  6. package/dist/async-element.d.cts +103 -0
  7. package/dist/async-element.d.ts +6 -4
  8. package/dist/colors.d.cts +1 -0
  9. package/dist/components/button-component.d.cts +186 -0
  10. package/dist/components/button-component.d.ts +1 -1
  11. package/dist/components/camera-component.d.cts +253 -0
  12. package/dist/components/camera-component.d.ts +1 -1
  13. package/dist/components/collision-component.d.cts +73 -0
  14. package/dist/components/collision-component.d.ts +1 -1
  15. package/dist/components/component.d.cts +82 -0
  16. package/dist/components/component.d.ts +1 -1
  17. package/dist/components/element-component.d.cts +316 -0
  18. package/dist/components/element-component.d.ts +1 -1
  19. package/dist/components/gsplat-component.d.cts +108 -0
  20. package/dist/components/gsplat-component.d.ts +1 -1
  21. package/dist/components/layoutchild-component.d.cts +110 -0
  22. package/dist/components/layoutchild-component.d.ts +1 -1
  23. package/dist/components/layoutgroup-component.d.cts +136 -0
  24. package/dist/components/layoutgroup-component.d.ts +1 -1
  25. package/dist/components/light-component.d.cts +264 -0
  26. package/dist/components/light-component.d.ts +1 -1
  27. package/dist/components/listener-component.d.cts +20 -0
  28. package/dist/components/listener-component.d.ts +1 -1
  29. package/dist/components/particlesystem-component.d.cts +52 -0
  30. package/dist/components/particlesystem-component.d.ts +1 -1
  31. package/dist/components/render-component.d.cts +76 -0
  32. package/dist/components/render-component.d.ts +1 -1
  33. package/dist/components/rigidbody-component.d.cts +88 -0
  34. package/dist/components/rigidbody-component.d.ts +1 -1
  35. package/dist/components/screen-component.d.cts +70 -0
  36. package/dist/components/screen-component.d.ts +1 -1
  37. package/dist/components/script-component.d.cts +163 -0
  38. package/dist/components/script-component.d.ts +1 -1
  39. package/dist/components/script.d.cts +94 -0
  40. package/dist/components/script.d.ts +1 -1
  41. package/dist/components/scrollbar-component.d.cts +69 -0
  42. package/dist/components/scrollbar-component.d.ts +1 -1
  43. package/dist/components/scrollview-component.d.cts +178 -0
  44. package/dist/components/scrollview-component.d.ts +1 -1
  45. package/dist/components/sound-component.d.cts +108 -0
  46. package/dist/components/sound-component.d.ts +1 -1
  47. package/dist/components/sound-slot.d.cts +134 -0
  48. package/dist/components/sound-slot.d.ts +2 -2
  49. package/dist/custom-elements.json +80 -22
  50. package/dist/entity-base.d.cts +67 -0
  51. package/dist/entity-base.d.ts +2 -2
  52. package/dist/entity.d.cts +131 -0
  53. package/dist/entity.d.ts +1 -1
  54. package/dist/index.d.cts +79 -0
  55. package/dist/index.d.ts +33 -33
  56. package/dist/loading-bar.d.cts +35 -0
  57. package/dist/material.d.cts +1011 -0
  58. package/dist/model.d.cts +72 -0
  59. package/dist/model.d.ts +1 -1
  60. package/dist/module.d.cts +29 -0
  61. package/dist/module.d.ts +16 -10
  62. package/dist/node.d.cts +253 -0
  63. package/dist/node.d.ts +1 -1
  64. package/dist/parse.d.cts +147 -0
  65. package/dist/pwc.cjs +285 -92
  66. package/dist/pwc.cjs.map +1 -1
  67. package/dist/pwc.js +286 -93
  68. package/dist/pwc.js.map +1 -1
  69. package/dist/pwc.min.js +1 -1
  70. package/dist/pwc.min.js.map +1 -1
  71. package/dist/pwc.min.mjs +1 -1
  72. package/dist/pwc.min.mjs.map +1 -1
  73. package/dist/pwc.mjs +286 -93
  74. package/dist/pwc.mjs.map +1 -1
  75. package/dist/scene.d.cts +117 -0
  76. package/dist/scene.d.ts +1 -1
  77. package/dist/sky.d.cts +121 -0
  78. package/dist/sky.d.ts +1 -1
  79. package/dist/vscode.html-custom-data.json +3 -3
  80. package/dist/web-types.json +42 -6
  81. package/package.json +16 -7
  82. package/src/app.ts +211 -49
  83. package/src/asset.ts +34 -2
  84. package/src/async-element.ts +4 -2
  85. package/src/components/button-component.ts +7 -7
  86. package/src/components/element-component.ts +7 -7
  87. package/src/components/gsplat-component.ts +3 -3
  88. package/src/components/particlesystem-component.ts +7 -8
  89. package/src/components/script-component.ts +2 -2
  90. package/src/components/sound-slot.ts +2 -2
  91. package/src/loading-bar.ts +2 -2
  92. package/src/material.ts +2 -2
  93. package/src/model.ts +2 -5
  94. package/src/module.ts +39 -20
  95. package/src/sky.ts +2 -3
@@ -0,0 +1,79 @@
1
+ /**
2
+ * The Engine Web Components module provides a set of Web Components for the PlayCanvas Engine.
3
+ * While these components are normally instantiated in a declarative fashion using HTML, this
4
+ * reference covers the TypeScript/JavaScript API that allows these components to be created
5
+ * programmatically.
6
+ *
7
+ * @module EngineWebComponents
8
+ */
9
+ import { AsyncElement, whenReady } from './async-element.cjs';
10
+ import { ModuleElement } from './module.cjs';
11
+ import { AppElement } from './app.cjs';
12
+ import { EntityElement } from './entity.cjs';
13
+ import { AssetElement } from './asset.cjs';
14
+ import { ListenerComponentElement } from './components/listener-component.cjs';
15
+ import { ButtonComponentElement } from './components/button-component.cjs';
16
+ import { CameraComponentElement } from './components/camera-component.cjs';
17
+ import { CollisionComponentElement } from './components/collision-component.cjs';
18
+ import { ComponentElement } from './components/component.cjs';
19
+ import { ElementComponentElement } from './components/element-component.cjs';
20
+ import { LayoutChildComponentElement } from './components/layoutchild-component.cjs';
21
+ import { LayoutGroupComponentElement } from './components/layoutgroup-component.cjs';
22
+ import { LightComponentElement } from './components/light-component.cjs';
23
+ import { ParticleSystemComponentElement } from './components/particlesystem-component.cjs';
24
+ import { RenderComponentElement } from './components/render-component.cjs';
25
+ import { RigidBodyComponentElement } from './components/rigidbody-component.cjs';
26
+ import { ScreenComponentElement } from './components/screen-component.cjs';
27
+ import { ScrollbarComponentElement } from './components/scrollbar-component.cjs';
28
+ import { ScrollViewComponentElement } from './components/scrollview-component.cjs';
29
+ import { ScriptComponentElement } from './components/script-component.cjs';
30
+ import { ScriptElement } from './components/script.cjs';
31
+ import { SoundComponentElement } from './components/sound-component.cjs';
32
+ import { SoundSlotElement } from './components/sound-slot.cjs';
33
+ import { GSplatComponentElement } from './components/gsplat-component.cjs';
34
+ import { EntityBaseElement } from './entity-base.cjs';
35
+ import { MaterialElement } from './material.cjs';
36
+ import { ModelElement } from './model.cjs';
37
+ import { NodeElement } from './node.cjs';
38
+ import { SceneElement } from './scene.cjs';
39
+ import { SkyElement } from './sky.cjs';
40
+ import type { ScriptAttributesChangeEvent, ScriptEnableChangeEvent, ScriptNameChangeEvent } from './components/script-component.cjs';
41
+ declare global {
42
+ interface HTMLElementEventMap {
43
+ scriptattributeschange: ScriptAttributesChangeEvent;
44
+ scriptenablechange: ScriptEnableChangeEvent;
45
+ scriptnamechange: ScriptNameChangeEvent;
46
+ }
47
+ interface HTMLElementTagNameMap {
48
+ 'pc-app': AppElement;
49
+ 'pc-asset': AssetElement;
50
+ 'pc-button': ButtonComponentElement;
51
+ 'pc-camera': CameraComponentElement;
52
+ 'pc-collision': CollisionComponentElement;
53
+ 'pc-element': ElementComponentElement;
54
+ 'pc-entity': EntityElement;
55
+ 'pc-gsplat': GSplatComponentElement;
56
+ 'pc-layoutchild': LayoutChildComponentElement;
57
+ 'pc-layoutgroup': LayoutGroupComponentElement;
58
+ 'pc-light': LightComponentElement;
59
+ 'pc-listener': ListenerComponentElement;
60
+ 'pc-material': MaterialElement;
61
+ 'pc-model': ModelElement;
62
+ 'pc-module': ModuleElement;
63
+ 'pc-node': NodeElement;
64
+ 'pc-particles': ParticleSystemComponentElement;
65
+ 'pc-render': RenderComponentElement;
66
+ 'pc-rigidbody': RigidBodyComponentElement;
67
+ 'pc-scene': SceneElement;
68
+ 'pc-screen': ScreenComponentElement;
69
+ 'pc-script': ScriptElement;
70
+ 'pc-scripts': ScriptComponentElement;
71
+ 'pc-scrollbar': ScrollbarComponentElement;
72
+ 'pc-scrollview': ScrollViewComponentElement;
73
+ 'pc-sky': SkyElement;
74
+ 'pc-sound': SoundSlotElement;
75
+ 'pc-sounds': SoundComponentElement;
76
+ }
77
+ }
78
+ export { AsyncElement, ModuleElement, AppElement, EntityElement, AssetElement, ButtonComponentElement, CameraComponentElement, CollisionComponentElement, ComponentElement, ElementComponentElement, LayoutChildComponentElement, LayoutGroupComponentElement, ParticleSystemComponentElement, LightComponentElement, ListenerComponentElement, RenderComponentElement, RigidBodyComponentElement, ScreenComponentElement, ScrollbarComponentElement, ScrollViewComponentElement, ScriptComponentElement, ScriptElement, SoundComponentElement, SoundSlotElement, GSplatComponentElement, EntityBaseElement, MaterialElement, ModelElement, NodeElement, SceneElement, SkyElement, whenReady };
79
+ export type { AsyncElementTagName } from './async-element.cjs';
package/dist/index.d.ts CHANGED
@@ -6,38 +6,38 @@
6
6
  *
7
7
  * @module EngineWebComponents
8
8
  */
9
- import { AsyncElement, whenReady } from './async-element';
10
- import { ModuleElement } from './module';
11
- import { AppElement } from './app';
12
- import { EntityElement } from './entity';
13
- import { AssetElement } from './asset';
14
- import { ListenerComponentElement } from './components/listener-component';
15
- import { ButtonComponentElement } from './components/button-component';
16
- import { CameraComponentElement } from './components/camera-component';
17
- import { CollisionComponentElement } from './components/collision-component';
18
- import { ComponentElement } from './components/component';
19
- import { ElementComponentElement } from './components/element-component';
20
- import { LayoutChildComponentElement } from './components/layoutchild-component';
21
- import { LayoutGroupComponentElement } from './components/layoutgroup-component';
22
- import { LightComponentElement } from './components/light-component';
23
- import { ParticleSystemComponentElement } from './components/particlesystem-component';
24
- import { RenderComponentElement } from './components/render-component';
25
- import { RigidBodyComponentElement } from './components/rigidbody-component';
26
- import { ScreenComponentElement } from './components/screen-component';
27
- import { ScrollbarComponentElement } from './components/scrollbar-component';
28
- import { ScrollViewComponentElement } from './components/scrollview-component';
29
- import { ScriptComponentElement } from './components/script-component';
30
- import { ScriptElement } from './components/script';
31
- import { SoundComponentElement } from './components/sound-component';
32
- import { SoundSlotElement } from './components/sound-slot';
33
- import { GSplatComponentElement } from './components/gsplat-component';
34
- import { EntityBaseElement } from './entity-base';
35
- import { MaterialElement } from './material';
36
- import { ModelElement } from './model';
37
- import { NodeElement } from './node';
38
- import { SceneElement } from './scene';
39
- import { SkyElement } from './sky';
40
- import type { ScriptAttributesChangeEvent, ScriptEnableChangeEvent, ScriptNameChangeEvent } from './components/script-component';
9
+ import { AsyncElement, whenReady } from './async-element.js';
10
+ import { ModuleElement } from './module.js';
11
+ import { AppElement } from './app.js';
12
+ import { EntityElement } from './entity.js';
13
+ import { AssetElement } from './asset.js';
14
+ import { ListenerComponentElement } from './components/listener-component.js';
15
+ import { ButtonComponentElement } from './components/button-component.js';
16
+ import { CameraComponentElement } from './components/camera-component.js';
17
+ import { CollisionComponentElement } from './components/collision-component.js';
18
+ import { ComponentElement } from './components/component.js';
19
+ import { ElementComponentElement } from './components/element-component.js';
20
+ import { LayoutChildComponentElement } from './components/layoutchild-component.js';
21
+ import { LayoutGroupComponentElement } from './components/layoutgroup-component.js';
22
+ import { LightComponentElement } from './components/light-component.js';
23
+ import { ParticleSystemComponentElement } from './components/particlesystem-component.js';
24
+ import { RenderComponentElement } from './components/render-component.js';
25
+ import { RigidBodyComponentElement } from './components/rigidbody-component.js';
26
+ import { ScreenComponentElement } from './components/screen-component.js';
27
+ import { ScrollbarComponentElement } from './components/scrollbar-component.js';
28
+ import { ScrollViewComponentElement } from './components/scrollview-component.js';
29
+ import { ScriptComponentElement } from './components/script-component.js';
30
+ import { ScriptElement } from './components/script.js';
31
+ import { SoundComponentElement } from './components/sound-component.js';
32
+ import { SoundSlotElement } from './components/sound-slot.js';
33
+ import { GSplatComponentElement } from './components/gsplat-component.js';
34
+ import { EntityBaseElement } from './entity-base.js';
35
+ import { MaterialElement } from './material.js';
36
+ import { ModelElement } from './model.js';
37
+ import { NodeElement } from './node.js';
38
+ import { SceneElement } from './scene.js';
39
+ import { SkyElement } from './sky.js';
40
+ import type { ScriptAttributesChangeEvent, ScriptEnableChangeEvent, ScriptNameChangeEvent } from './components/script-component.js';
41
41
  declare global {
42
42
  interface HTMLElementEventMap {
43
43
  scriptattributeschange: ScriptAttributesChangeEvent;
@@ -76,4 +76,4 @@ declare global {
76
76
  }
77
77
  }
78
78
  export { AsyncElement, ModuleElement, AppElement, EntityElement, AssetElement, ButtonComponentElement, CameraComponentElement, CollisionComponentElement, ComponentElement, ElementComponentElement, LayoutChildComponentElement, LayoutGroupComponentElement, ParticleSystemComponentElement, LightComponentElement, ListenerComponentElement, RenderComponentElement, RigidBodyComponentElement, ScreenComponentElement, ScrollbarComponentElement, ScrollViewComponentElement, ScriptComponentElement, ScriptElement, SoundComponentElement, SoundSlotElement, GSplatComponentElement, EntityBaseElement, MaterialElement, ModelElement, NodeElement, SceneElement, SkyElement, whenReady };
79
- export type { AsyncElementTagName } from './async-element';
79
+ export type { AsyncElementTagName } from './async-element.js';
@@ -0,0 +1,35 @@
1
+ /**
2
+ * The slim progress bar `<pc-app>` shows while it boots and preloads. An implementation detail of
3
+ * AppElement rather than a custom element, so its shape can change without a breaking change.
4
+ *
5
+ * All styling is inline, so the library injects no stylesheet. The colors and height resolve CSS
6
+ * custom properties — `--pc-loading-bar-color`, `--pc-loading-bar-background` and
7
+ * `--pc-loading-bar-height` — so a page can theme the bar from `pc-app` or `:root`.
8
+ */
9
+ declare class LoadingBar {
10
+ private _track;
11
+ private _fill;
12
+ private _sweep;
13
+ private _removal;
14
+ /**
15
+ * Creates the bar and appends it to `parent`, starting in the indeterminate state.
16
+ * @param parent - The element to append the bar to.
17
+ */
18
+ constructor(parent: HTMLElement);
19
+ /**
20
+ * Reflects preload progress, switching the bar from indeterminate to determinate on the first
21
+ * call.
22
+ * @param loaded - The number of assets that have finished loading.
23
+ * @param total - The number of assets being preloaded.
24
+ */
25
+ progress(loaded: number, total: number): void;
26
+ /**
27
+ * Fills the bar, fades it out and removes it. Idempotent.
28
+ */
29
+ complete(): void;
30
+ /**
31
+ * Removes the bar immediately, cancelling any pending fade. Idempotent.
32
+ */
33
+ destroy(): void;
34
+ }
35
+ export { LoadingBar };