angular-three 2.0.0-beta.24 → 2.0.0-beta.240

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 (118) hide show
  1. package/esm2022/index.mjs +4 -11
  2. package/esm2022/lib/canvas.mjs +124 -190
  3. package/esm2022/lib/directives/args.mjs +13 -25
  4. package/esm2022/lib/directives/common.mjs +39 -15
  5. package/esm2022/lib/directives/parent.mjs +11 -26
  6. package/esm2022/lib/dom/events.mjs +2 -2
  7. package/esm2022/lib/events.mjs +33 -31
  8. package/esm2022/lib/instance.mjs +39 -34
  9. package/esm2022/lib/loader.mjs +49 -31
  10. package/esm2022/lib/loop.mjs +28 -25
  11. package/esm2022/lib/portal.mjs +133 -161
  12. package/esm2022/lib/ref.mjs +22 -20
  13. package/esm2022/lib/renderer/catalogue.mjs +2 -2
  14. package/esm2022/lib/renderer/constants.mjs +3 -2
  15. package/esm2022/lib/renderer/index.mjs +154 -122
  16. package/esm2022/lib/renderer/store.mjs +209 -178
  17. package/esm2022/lib/renderer/utils.mjs +52 -79
  18. package/esm2022/lib/roots.mjs +67 -56
  19. package/esm2022/lib/routed-scene.mjs +6 -7
  20. package/esm2022/lib/store.mjs +164 -190
  21. package/esm2022/lib/three-types.mjs +2 -2
  22. package/esm2022/lib/utils/apply-props.mjs +24 -28
  23. package/esm2022/lib/utils/attach.mjs +6 -6
  24. package/esm2022/lib/utils/before-render.mjs +22 -0
  25. package/esm2022/lib/utils/create-api-token.mjs +13 -0
  26. package/esm2022/lib/utils/is.mjs +6 -5
  27. package/esm2022/lib/utils/make.mjs +19 -17
  28. package/esm2022/lib/utils/parameters.mjs +27 -0
  29. package/esm2022/lib/utils/signal-store.mjs +67 -57
  30. package/esm2022/lib/utils/update.mjs +3 -2
  31. package/fesm2022/angular-three.mjs +2002 -2098
  32. package/fesm2022/angular-three.mjs.map +1 -1
  33. package/index.d.ts +6 -10
  34. package/lib/canvas.d.ts +1120 -52
  35. package/lib/directives/args.d.ts +5 -5
  36. package/lib/directives/common.d.ts +20 -4
  37. package/lib/directives/parent.d.ts +6 -6
  38. package/lib/dom/events.d.ts +3 -3
  39. package/lib/events.d.ts +15 -15
  40. package/lib/instance.d.ts +26 -16
  41. package/lib/loader.d.ts +17 -7
  42. package/lib/loop.d.ts +8 -55
  43. package/lib/portal.d.ts +32 -35
  44. package/lib/ref.d.ts +2 -3
  45. package/lib/renderer/catalogue.d.ts +5 -1
  46. package/lib/renderer/constants.d.ts +2 -1
  47. package/lib/renderer/index.d.ts +55 -4
  48. package/lib/renderer/store.d.ts +23 -25
  49. package/lib/renderer/utils.d.ts +3 -4
  50. package/lib/roots.d.ts +7 -6
  51. package/lib/store.d.ts +26 -28
  52. package/lib/three-types.d.ts +135 -141
  53. package/lib/utils/apply-props.d.ts +2 -3
  54. package/lib/utils/attach.d.ts +4 -4
  55. package/lib/utils/before-render.d.ts +10 -0
  56. package/lib/utils/create-api-token.d.ts +23 -0
  57. package/lib/utils/is.d.ts +13 -13
  58. package/lib/utils/make.d.ts +10 -9
  59. package/lib/utils/parameters.d.ts +9 -0
  60. package/lib/utils/signal-store.d.ts +17 -4
  61. package/lib/utils/update.d.ts +1 -1
  62. package/metadata.json +1 -1
  63. package/package.json +72 -52
  64. package/web-types.json +1 -1
  65. package/esm2022/lib/before-render.mjs +0 -13
  66. package/esm2022/lib/directives/key.mjs +0 -29
  67. package/esm2022/lib/directives/repeat.mjs +0 -17
  68. package/esm2022/lib/utils/assert-injection-context.mjs +0 -14
  69. package/esm2022/lib/utils/create-injection-token.mjs +0 -47
  70. package/esm2022/lib/utils/safe-detect-changes.mjs +0 -17
  71. package/lib/before-render.d.ts +0 -6
  72. package/lib/directives/key.d.ts +0 -10
  73. package/lib/directives/repeat.d.ts +0 -7
  74. package/lib/utils/assert-injection-context.d.ts +0 -2
  75. package/lib/utils/create-injection-token.d.ts +0 -27
  76. package/lib/utils/safe-detect-changes.d.ts +0 -2
  77. package/plugin/README.md +0 -11
  78. package/plugin/generators.json +0 -49
  79. package/plugin/package.json +0 -6
  80. package/plugin/src/generators/init/compat.d.ts +0 -4
  81. package/plugin/src/generators/init/compat.js +0 -6
  82. package/plugin/src/generators/init/compat.js.map +0 -1
  83. package/plugin/src/generators/init/files/experience/experience.component.html__tmpl__ +0 -4
  84. package/plugin/src/generators/init/files/experience/experience.component.ts__tmpl__ +0 -17
  85. package/plugin/src/generators/init/generator.d.ts +0 -6
  86. package/plugin/src/generators/init/generator.js +0 -155
  87. package/plugin/src/generators/init/generator.js.map +0 -1
  88. package/plugin/src/generators/init/schema.json +0 -17
  89. package/plugin/src/generators/init-cannon/compat.d.ts +0 -2
  90. package/plugin/src/generators/init-cannon/compat.js +0 -6
  91. package/plugin/src/generators/init-cannon/compat.js.map +0 -1
  92. package/plugin/src/generators/init-cannon/generator.d.ts +0 -2
  93. package/plugin/src/generators/init-cannon/generator.js +0 -22
  94. package/plugin/src/generators/init-cannon/generator.js.map +0 -1
  95. package/plugin/src/generators/init-cannon/schema.json +0 -6
  96. package/plugin/src/generators/init-postprocessing/compat.d.ts +0 -2
  97. package/plugin/src/generators/init-postprocessing/compat.js +0 -6
  98. package/plugin/src/generators/init-postprocessing/compat.js.map +0 -1
  99. package/plugin/src/generators/init-postprocessing/generator.d.ts +0 -2
  100. package/plugin/src/generators/init-postprocessing/generator.js +0 -20
  101. package/plugin/src/generators/init-postprocessing/generator.js.map +0 -1
  102. package/plugin/src/generators/init-postprocessing/schema.json +0 -6
  103. package/plugin/src/generators/init-soba/compat.d.ts +0 -2
  104. package/plugin/src/generators/init-soba/compat.js +0 -6
  105. package/plugin/src/generators/init-soba/compat.js.map +0 -1
  106. package/plugin/src/generators/init-soba/generator.d.ts +0 -2
  107. package/plugin/src/generators/init-soba/generator.js +0 -26
  108. package/plugin/src/generators/init-soba/generator.js.map +0 -1
  109. package/plugin/src/generators/init-soba/schema.json +0 -6
  110. package/plugin/src/generators/utils.d.ts +0 -2
  111. package/plugin/src/generators/utils.js +0 -34
  112. package/plugin/src/generators/utils.js.map +0 -1
  113. package/plugin/src/generators/versions.d.ts +0 -12
  114. package/plugin/src/generators/versions.js +0 -16
  115. package/plugin/src/generators/versions.js.map +0 -1
  116. package/plugin/src/index.d.ts +0 -3
  117. package/plugin/src/index.js +0 -10
  118. package/plugin/src/index.js.map +0 -1
@@ -0,0 +1,9 @@
1
+ import { Signal } from '@angular/core';
2
+ export type Excluded<TOptions extends object, TKeys extends (keyof TOptions)[]> = {
3
+ [K in Exclude<keyof TOptions, TKeys[number]>]: TOptions[K];
4
+ };
5
+ export declare function exclude<TOptions extends object, TKeys extends (keyof TOptions)[]>(options: () => TOptions, keysToExclude: TKeys): Signal<Excluded<TOptions, TKeys>>;
6
+ export type Picked<TOptions extends object, TKeyOption extends (keyof TOptions)[]> = {
7
+ [K in TKeyOption[number]]: TOptions[K];
8
+ };
9
+ export declare function pick<TOptions extends object, TKeyOption extends keyof TOptions | (keyof TOptions)[]>(options: () => TOptions, keys: TKeyOption): TKeyOption extends keyof TOptions ? Signal<TOptions[TKeyOption]> : TKeyOption extends (keyof TOptions)[] ? Signal<Picked<TOptions, TKeyOption>> : never;
@@ -1,4 +1,4 @@
1
- import { type CreateComputedOptions, type CreateSignalOptions, type Signal } from '@angular/core';
1
+ import { CreateComputedOptions, CreateSignalOptions, Signal } from '@angular/core';
2
2
  export type NgtSignalStore<State extends object> = {
3
3
  select<Key1 extends keyof State, Key2 extends keyof State[Key1], Key3 extends keyof State[Key1][Key2], Key4 extends keyof State[Key1][Key2][Key3]>(key1: Key1, key2: Key2, key3: Key3, key4: Key4, options?: CreateComputedOptions<State[Key1][Key2][Key3][Key4]>): Signal<State[Key1][Key2][Key3][Key4]>;
4
4
  select<Key1 extends keyof State, Key2 extends keyof State[Key1], Key3 extends keyof State[Key1][Key2]>(key1: Key1, key2: Key2, key3: Key3, options?: CreateComputedOptions<State[Key1][Key2][Key3]>): Signal<State[Key1][Key2][Key3]>;
@@ -10,8 +10,21 @@ export type NgtSignalStore<State extends object> = {
10
10
  get<Key1 extends keyof State, Key2 extends keyof State[Key1]>(key1: Key1, key2: Key2): State[Key1][Key2];
11
11
  get<Key extends keyof State>(key: Key): State[Key];
12
12
  get(): State;
13
- set(state: Partial<State> | ((previous: State) => Partial<State>)): void;
14
- patch(state: Partial<State>): void;
13
+ /**
14
+ * New state takes precedence
15
+ */
16
+ update(state: Partial<State> | ((previous: State) => Partial<State>)): void;
17
+ /**
18
+ * Non-undefined old state takes precedence
19
+ */
20
+ patch(state: Partial<State> | ((previous: State) => Partial<State>)): void;
21
+ /**
22
+ * Equivalence to select()
23
+ */
15
24
  state: Signal<State>;
25
+ /**
26
+ * Equivalence to get()
27
+ */
28
+ get snapshot(): State;
16
29
  };
17
- export declare function signalStore<State extends object>(initialState?: Partial<State> | ((storeApi: Pick<NgtSignalStore<State>, 'get' | 'set' | 'patch'>) => Partial<State>), options?: CreateSignalOptions<State>): NgtSignalStore<State>;
30
+ export declare function signalStore<State extends object>(initialState?: Partial<State> | ((storeApi: Pick<NgtSignalStore<State>, 'get' | 'update' | 'patch' | 'select'>) => Partial<State>), options?: CreateSignalOptions<State>): NgtSignalStore<State>;
@@ -1,4 +1,4 @@
1
- import type { NgtCameraManual, NgtSize } from '../store';
1
+ import { NgtCameraManual, NgtSize } from '../store';
2
2
  export declare function checkNeedsUpdate(value: unknown): void;
3
3
  export declare function checkUpdate(value: unknown): void;
4
4
  export declare function updateCamera(camera: NgtCameraManual, size: NgtSize): void;