@symfony/ux-live-component 2.27.0 → 2.28.2

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 (36) hide show
  1. package/dist/live.min.css +1 -1
  2. package/dist/live_controller.d.ts +153 -18
  3. package/dist/live_controller.js +3011 -3112
  4. package/package.json +17 -13
  5. package/dist/Backend/Backend.d.ts +0 -31
  6. package/dist/Backend/BackendRequest.d.ts +0 -9
  7. package/dist/Backend/BackendResponse.d.ts +0 -6
  8. package/dist/Backend/RequestBuilder.d.ts +0 -17
  9. package/dist/Component/ElementDriver.d.ts +0 -31
  10. package/dist/Component/UnsyncedInputsTracker.d.ts +0 -28
  11. package/dist/Component/ValueStore.d.ts +0 -17
  12. package/dist/Component/index.d.ts +0 -74
  13. package/dist/Component/plugins/ChildComponentPlugin.d.ts +0 -11
  14. package/dist/Component/plugins/LazyPlugin.d.ts +0 -7
  15. package/dist/Component/plugins/LoadingPlugin.d.ts +0 -23
  16. package/dist/Component/plugins/PageUnloadingPlugin.d.ts +0 -6
  17. package/dist/Component/plugins/PluginInterface.d.ts +0 -4
  18. package/dist/Component/plugins/PollingPlugin.d.ts +0 -10
  19. package/dist/Component/plugins/QueryStringPlugin.d.ts +0 -13
  20. package/dist/Component/plugins/SetValueOntoModelFieldsPlugin.d.ts +0 -6
  21. package/dist/Component/plugins/ValidatedFieldsPlugin.d.ts +0 -6
  22. package/dist/ComponentRegistry.d.ts +0 -8
  23. package/dist/Directive/directives_parser.d.ts +0 -11
  24. package/dist/Directive/get_model_binding.d.ts +0 -9
  25. package/dist/HookManager.d.ts +0 -7
  26. package/dist/PollingDirector.d.ts +0 -16
  27. package/dist/Rendering/ChangingItemsTracker.d.ts +0 -12
  28. package/dist/Rendering/ElementChanges.d.ts +0 -26
  29. package/dist/Rendering/ExternalMutationTracker.d.ts +0 -26
  30. package/dist/Util/getElementAsTagText.d.ts +0 -1
  31. package/dist/data_manipulation_utils.d.ts +0 -2
  32. package/dist/dom_utils.d.ts +0 -10
  33. package/dist/morphdom.d.ts +0 -2
  34. package/dist/normalize_attributes_for_comparison.d.ts +0 -1
  35. package/dist/string_utils.d.ts +0 -3
  36. package/dist/url_utils.d.ts +0 -11
package/dist/live.min.css CHANGED
@@ -1 +1 @@
1
- [data-loading=""],[data-loading=show],[data-loading=delay\|show]{display:none}
1
+ [data-loading=""],[data-loading=show],[data-loading*=\|show]{display:none}
@@ -1,19 +1,161 @@
1
1
  import { Controller } from '@hotwired/stimulus';
2
- import { type BackendInterface } from './Backend/Backend';
3
- import Component from './Component';
4
- export { Component };
5
- export { getComponent } from './ComponentRegistry';
6
- export interface LiveEvent extends CustomEvent {
2
+
3
+ declare class export_default$2{
4
+ response: Response;
5
+ private body;
6
+ private liveUrl;
7
+ constructor(response: Response);
8
+ getBody(): Promise<string>;
9
+ getLiveUrl(): string | null;
10
+ }
11
+
12
+ declare class export_default$1{
13
+ promise: Promise<Response>;
14
+ actions: string[];
15
+ updatedModels: string[];
16
+ isResolved: boolean;
17
+ constructor(promise: Promise<Response>, actions: string[], updateModels: string[]);
18
+ containsOneOfActions(targetedActions: string[]): boolean;
19
+ areAnyModelsUpdated(targetedModels: string[]): boolean;
20
+ }
21
+
22
+ interface ChildrenFingerprints {
23
+ [key: string]: {
24
+ fingerprint: string;
25
+ tag: string;
26
+ };
27
+ }
28
+ interface BackendInterface {
29
+ makeRequest(props: any, actions: BackendAction[], updated: {
30
+ [key: string]: any;
31
+ }, children: ChildrenFingerprints, updatedPropsFromParent: {
32
+ [key: string]: any;
33
+ }, files: {
34
+ [key: string]: FileList;
35
+ }): export_default$1;
36
+ }
37
+ interface BackendAction {
38
+ name: string;
39
+ args: Record<string, string>;
40
+ }
41
+
42
+ interface ElementDriver {
43
+ getModelName(element: HTMLElement): string | null;
44
+ getComponentProps(): any;
45
+ getEventsToEmit(): Array<{
46
+ event: string;
47
+ data: any;
48
+ target: string | null;
49
+ componentName: string | null;
50
+ }>;
51
+ getBrowserEventsToDispatch(): Array<{
52
+ event: string;
53
+ payload: any;
54
+ }>;
55
+ }
56
+
57
+ interface PluginInterface {
58
+ attachToComponent(component: Component): void;
59
+ }
60
+
61
+ declare class export_default{
62
+ private props;
63
+ private dirtyProps;
64
+ private pendingProps;
65
+ private updatedPropsFromParent;
66
+ constructor(props: any);
67
+ get(name: string): any;
68
+ has(name: string): boolean;
69
+ set(name: string, value: any): boolean;
70
+ getOriginalProps(): any;
71
+ getDirtyProps(): any;
72
+ getUpdatedPropsFromParent(): any;
73
+ flushDirtyPropsToPending(): void;
74
+ reinitializeAllProps(props: any): void;
75
+ pushPendingPropsBackToDirty(): void;
76
+ storeNewPropsFromParent(props: any): boolean;
77
+ }
78
+
79
+ type MaybePromise<T = void> = T | Promise<T>;
80
+ type ComponentHooks = {
81
+ connect: (component: Component) => MaybePromise;
82
+ disconnect: (component: Component) => MaybePromise;
83
+ 'request:started': (requestConfig: any) => MaybePromise;
84
+ 'render:finished': (component: Component) => MaybePromise;
85
+ 'response:error': (backendResponse: export_default$2, controls: {
86
+ displayError: boolean;
87
+ }) => MaybePromise;
88
+ 'loading.state:started': (element: HTMLElement, request: export_default$1) => MaybePromise;
89
+ 'loading.state:finished': (element: HTMLElement) => MaybePromise;
90
+ 'model:set': (model: string, value: any, component: Component) => MaybePromise;
91
+ };
92
+ type ComponentHookName = keyof ComponentHooks;
93
+ type ComponentHookCallback<T extends string = ComponentHookName> = T extends ComponentHookName ? ComponentHooks[T] : (...args: any[]) => MaybePromise;
94
+ declare class Component {
95
+ readonly element: HTMLElement;
96
+ readonly name: string;
97
+ readonly listeners: Map<string, string[]>;
98
+ private backend;
99
+ readonly elementDriver: ElementDriver;
100
+ id: string | null;
101
+ fingerprint: string;
102
+ readonly valueStore: export_default;
103
+ private readonly unsyncedInputsTracker;
104
+ private hooks;
105
+ defaultDebounce: number;
106
+ private backendRequest;
107
+ private pendingActions;
108
+ private pendingFiles;
109
+ private isRequestPending;
110
+ private requestDebounceTimeout;
111
+ private nextRequestPromise;
112
+ private nextRequestPromiseResolve;
113
+ private externalMutationTracker;
114
+ constructor(element: HTMLElement, name: string, props: any, listeners: Array<{
115
+ event: string;
116
+ action: string;
117
+ }>, id: string | null, backend: BackendInterface, elementDriver: ElementDriver);
118
+ addPlugin(plugin: PluginInterface): void;
119
+ connect(): void;
120
+ disconnect(): void;
121
+ on<T extends string | ComponentHookName = ComponentHookName>(hookName: T, callback: ComponentHookCallback<T>): void;
122
+ off<T extends string | ComponentHookName = ComponentHookName>(hookName: T, callback: ComponentHookCallback<T>): void;
123
+ set(model: string, value: any, reRender?: boolean, debounce?: number | boolean): Promise<export_default$2>;
124
+ getData(model: string): any;
125
+ action(name: string, args?: any, debounce?: number | boolean): Promise<export_default$2>;
126
+ files(key: string, input: HTMLInputElement): void;
127
+ render(): Promise<export_default$2>;
128
+ getUnsyncedModels(): string[];
129
+ emit(name: string, data: any, onlyMatchingComponentsNamed?: string | null): void;
130
+ emitUp(name: string, data: any, onlyMatchingComponentsNamed?: string | null): void;
131
+ emitSelf(name: string, data: any): void;
132
+ private performEmit;
133
+ private doEmit;
134
+ private isTurboEnabled;
135
+ private tryStartingRequest;
136
+ private performRequest;
137
+ private processRerender;
138
+ private calculateDebounce;
139
+ private clearRequestDebounceTimeout;
140
+ private debouncedStartRequest;
141
+ private renderError;
142
+ private resetPromise;
143
+ _updateFromParentProps(props: any): void;
144
+ }
145
+
146
+ declare const getComponent: (element: HTMLElement) => Promise<Component>;
147
+
148
+ interface LiveEvent extends CustomEvent {
7
149
  detail: {
8
150
  controller: LiveController;
9
151
  component: Component;
10
152
  };
11
153
  }
12
- export interface LiveController {
154
+ interface LiveController {
13
155
  element: HTMLElement;
14
156
  component: Component;
15
157
  }
16
- export default class LiveControllerDefault extends Controller<HTMLElement> implements LiveController {
158
+ declare class LiveControllerDefault extends Controller<HTMLElement> implements LiveController {
17
159
  static values: {
18
160
  name: StringConstructor;
19
161
  url: StringConstructor;
@@ -49,10 +191,6 @@ export default class LiveControllerDefault extends Controller<HTMLElement> imple
49
191
  type: StringConstructor;
50
192
  default: string;
51
193
  };
52
- queryMapping: {
53
- type: ObjectConstructor;
54
- default: {};
55
- };
56
194
  };
57
195
  readonly nameValue: string;
58
196
  readonly urlValue: string;
@@ -76,11 +214,6 @@ export default class LiveControllerDefault extends Controller<HTMLElement> imple
76
214
  readonly debounceValue: number;
77
215
  readonly fingerprintValue: string;
78
216
  readonly requestMethodValue: 'get' | 'post';
79
- readonly queryMappingValue: {
80
- [p: string]: {
81
- name: string;
82
- };
83
- };
84
217
  private proxiedComponent;
85
218
  private mutationObserver;
86
219
  component: Component;
@@ -93,11 +226,11 @@ export default class LiveControllerDefault extends Controller<HTMLElement> imple
93
226
  disconnect(): void;
94
227
  update(event: any): void;
95
228
  action(event: any): void;
96
- $render(): Promise<import("./Backend/BackendResponse").default>;
229
+ $render(): Promise<export_default$2>;
97
230
  emit(event: any): void;
98
231
  emitUp(event: any): void;
99
232
  emitSelf(event: any): void;
100
- $updateModel(model: string, value: any, shouldRender?: boolean, debounce?: number | boolean): Promise<import("./Backend/BackendResponse").default>;
233
+ $updateModel(model: string, value: any, shouldRender?: boolean, debounce?: number | boolean): Promise<export_default$2>;
101
234
  propsUpdatedFromParentValueChanged(): void;
102
235
  fingerprintValueChanged(): void;
103
236
  private getEmitDirectives;
@@ -110,3 +243,5 @@ export default class LiveControllerDefault extends Controller<HTMLElement> imple
110
243
  private dispatchEvent;
111
244
  private onMutations;
112
245
  }
246
+
247
+ export { Component, type LiveController, type LiveEvent, LiveControllerDefault as default, getComponent };