@api-client/ui 0.1.8 → 0.1.9

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.
@@ -5,204 +5,265 @@ import type { Fragment } from './Fragment.js';
5
5
  import type { Application, UpdateRequest } from './Application.js';
6
6
  import type { ActivityDetail, ActivityWithResultDetail } from '../events/IntentEvents.js';
7
7
  /**
8
- * `Activity` is a crucial component of your app. An application sends an intent
9
- * to bring the activity. If it's found, the activity gets to the foreground and start its activity.
8
+ * ## Activity
10
9
  *
11
- * **Lifecycle**
10
+ * `Activity` is a core building block of your application, representing a single,
11
+ * focused operation that a user can perform.
12
+ * Activities manage their own lifecycle, UI, and fragments, and communicate with the application
13
+ * and other activities via intents.
12
14
  *
13
- * - `onCreated()` - fires when the system first creates the activity.
14
- * - `onStart()` - the activity becomes visible to the user as the app prepares for
15
- * the activity to enter the foreground and become interactive.
16
- * - `onResume()` - the state in which the app interacts with the user.
17
- * - `onPause()` - the first indication that the user is leaving your activity.
18
- * - `onStop()` - your activity is no longer visible to the user.
19
- * - `onDestroy()`- is called before the activity is destroyed
15
+ * Activities are managed by the application and can be started, paused, resumed, stopped,
16
+ * and destroyed according to the app's navigation and user actions.
17
+ * They can also start other activities for results, manage fragments, and handle intent
18
+ * events dispatched by hosted web components.
19
+ *
20
+ * ### Lifecycle Methods
21
+ * - `onCreate(intent?)` - Called when the activity is first created.
22
+ * - `onStart()` - Called when the activity becomes visible to the user.
23
+ * - `onResume()` - Called when the activity gains focus and becomes interactive.
24
+ * - `onPause()` - Called when the activity loses focus but is still visible.
25
+ * - `onStop()` - Called when the activity is no longer visible.
26
+ * - `onDestroy()` - Called before the activity is destroyed.
27
+ * - `onRestart()` - Called after the activity has been stopped, just prior to it being started again.
28
+ *
29
+ * ### Example
30
+ * ```typescript
31
+ * class MyActivity extends Activity {
32
+ * async onCreate(intent?: Intent) {
33
+ * super.onCreate(intent);
34
+ * // Initialization logic here
35
+ * }
36
+ *
37
+ * render() {
38
+ * return html`<h1>Hello from MyActivity!</h1>`;
39
+ * }
40
+ * }
41
+ * ```
20
42
  */
21
43
  export declare class Activity extends EventTarget {
22
44
  /**
23
- * To be set by an activity to replace the default render root.
24
- * This is particularly useful when the activity is a modal dialog
25
- * and the content should be rendered outside the application's render root.
45
+ * The root element where the activity's content should be rendered.
46
+ * Set this if you want to render outside the application's default render root (e.g., for modals).
26
47
  */
27
48
  renderRoot?: HTMLElement;
28
49
  /**
29
- * An activity can define its action name that does not change.
30
- * It then should be used as the activity registration key.
31
- * This way other activities/fragments can use it to call the activity.
50
+ * An optional static action name for the activity.
51
+ * Use this as the registration key for referencing the activity in intents.
52
+ *
53
+ * @example
54
+ * ```typescript
55
+ * class LoginActivity extends Activity {
56
+ * static action = 'login';
57
+ * }
58
+ * ```
32
59
  */
33
60
  static action?: string;
61
+ /** The current lifecycle state of the activity. */
34
62
  lifecycle: ActivityLifecycle;
63
+ /** The parent application instance. */
35
64
  protected parent: Application;
36
- /**
37
- * The fragment manager that manages fragments in this activity.
38
- */
65
+ /** The fragment manager for managing fragments within this activity. */
39
66
  protected manager: FragmentManager;
67
+ /** Data to be returned as a result to the calling activity. */
40
68
  protected resultData?: unknown;
69
+ /** The exit code for the activity result. */
41
70
  protected exitCode: IntentResult;
71
+ /** Gets the current result code for the activity. */
42
72
  get resultCode(): IntentResult;
73
+ /** Tracks pending request codes for activities started for result. */
74
+ protected pendingRequestCodes: number[];
43
75
  /**
44
- * When starting an new activity for result, we add the request code here
45
- * so that the manager can track which activity originally called the
46
- * activity for result.
76
+ * Constructs a new Activity.
77
+ * @param parent The parent application instance.
47
78
  */
48
- protected pendingRequestCodes: number[];
49
79
  constructor(parent: Application);
50
80
  /**
51
- * Called when the activity is starting. This is where most initialization should go.
52
- * You can call `finish()` from within this function, in which case `onDestroy()` will be
53
- * immediately called after `onCreate()` without any of the rest of the activity lifecycle
54
- * (`onStart()`, `onResume()`, `onPause()`, etc) executing.
55
- *
56
- * In the `onCreate()` method, perform basic activity startup logic that happens only once
57
- * for the entire life of the activity.
81
+ * Checks if the activity is in the `Destroyed` state.
82
+ * @returns `true` if destroyed, `false` otherwise.
83
+ */
84
+ isDestroyed(): boolean;
85
+ /**
86
+ * Checks if the activity is in the `Resumed` state.
87
+ * @returns `true` if resumed, `false` otherwise.
88
+ */
89
+ isResumed(): boolean;
90
+ /**
91
+ * Called when the activity is starting. Override to perform initialization logic.
58
92
  * @param intent Optional intent data.
93
+ * @example
94
+ * ```typescript
95
+ * async onCreate(intent?: Intent) {
96
+ * await fetchData();
97
+ * }
98
+ * ```
59
99
  */
60
100
  onCreate(intent?: Intent): void | Promise<void>;
61
101
  /**
62
- * Called when the activity becomes visible.
63
- * As `onCreate()` exits, the activity enters the `Started` state, and the activity becomes visible
64
- * to the user. This callback contains what amounts to the activity’s final preparations for coming
65
- * to the foreground and becoming interactive.
66
- *
67
- * Called after `onCreate()`. It will usually be followed by onResume().
68
- * This is a good place to begin running animations, etc.
69
- * You can call `finish()` from within this function, in which case `onStop()` will be
70
- * immediately called after `onStart()` without the lifecycle transitions
71
- * in-between (`onResume()`, `onPause()`, etc) executing.
102
+ * Called when the activity becomes visible to the user.
103
+ * Override to start animations or prepare UI.
72
104
  */
73
105
  onStart(): void | Promise<void>;
74
106
  /**
75
- * Called when the activity gains focus.
76
- * Called after the `onPause()`. This is usually a hint for your activity to start interacting
77
- * with the user, which is a good indicator that the activity became active and ready to receive input.
78
- * This sometimes could also be a transit state toward another resting state.
79
- * For instance, an activity may be relaunched to `onPause()` due to configuration changes and
80
- * the activity was visible, but wasn't the top-most activity of an activity task.
81
- * The `render()` function is always called after this callback.
107
+ * Called when the activity gains focus and becomes interactive.
108
+ * Override to start input handling or resume tasks.
82
109
  */
83
110
  onResume(): void | Promise<void>;
84
111
  /**
85
- * Called when the activity loses focus.
86
- * Called as part of the activity lifecycle when the user no longer actively interacts with the activity,
87
- * but it is still visible on screen. The counterpart to `onResume()`.
88
- *
89
- * When activity B is launched in front of activity A, this callback will be invoked on A.
90
- * B will not be created until A's `onPause()` returns, so be sure to not do anything lengthy here.
91
- *
92
- * This callback is mostly used for saving any persistent state the activity is editing,
93
- * to present a "edit in place" model to the user and making sure nothing is lost if there are
94
- * not enough resources to start the new activity without first killing this one.
95
- * This is also a good place to stop things that consume a noticeable amount of CPU in order
96
- * to make the switch to the next activity as fast as possible.
112
+ * Called when the activity loses focus but is still visible.
113
+ * Override to pause ongoing tasks or save state.
97
114
  */
98
115
  onPause(): void | Promise<void>;
99
116
  /**
100
- * Called when you are no longer visible to the user.
101
- * You will next receive either onRestart(), onDestroy(), or nothing, depending on later user activity.
102
- * This is a good place to stop refreshing UI, running animations and other visual things.
117
+ * Called when the activity is no longer visible to the user.
118
+ * Override to stop UI updates or animations.
103
119
  */
104
120
  onStop(): void | Promise<void>;
121
+ /**
122
+ * Called after the activity has been stopped, just prior to it being started again.
123
+ */
105
124
  onRestart(): void | Promise<void>;
106
125
  /**
107
- * Perform any final cleanup before an activity is destroyed.
108
- * This can happen because the activity is finishing (someone called finish() on it).
126
+ * Called before the activity is destroyed. Override to clean up resources.
109
127
  */
110
128
  onDestroy(): void | Promise<void>;
111
129
  /**
112
- * Called when a new intent is delivered
130
+ * Called when a new intent is delivered to the activity.
131
+ * Override to handle new intents.
113
132
  * @param intent New intent data.
114
133
  */
115
134
  onNewIntent(intent: Intent): void | Promise<void>;
116
135
  /**
117
136
  * Called by the renderer when the activity is rendered for the first time.
137
+ * Override to perform actions after first render.
118
138
  */
119
139
  onFirstRender(): void;
120
140
  /**
121
- * A function called when it should render the view.
141
+ * Renders the activity's view. Override to provide UI.
142
+ * @returns A Lit TemplateResult or `nothing` if nothing should be rendered.
143
+ * @example
144
+ * ```typescript
145
+ * render() {
146
+ * return html`<div>Hello, world!</div>`;
147
+ * }
148
+ * ```
122
149
  */
123
150
  render(): TemplateResult | typeof nothing;
124
151
  /**
125
- * Finishes the activity.
152
+ * Finishes the activity and notifies the application.
153
+ * @example
154
+ * ```typescript
155
+ * await this.finish();
156
+ * ```
126
157
  */
127
158
  finish(): Promise<void>;
128
159
  /**
129
- * When the activity changes its state it should call the
130
- * `requestUpdate()` method to inform the parent application to
131
- * perform the render operation.
132
- * The function dispatches the `activity:update` custom event
133
- * that is handled by the parent application.
134
- *
135
- * Note, the application may choose to not call the render procedure
136
- * (for example, when the activity is not visible). The rendering
137
- * function is asynchronous. The only way to know the activity is being rendered,
138
- * is when the `render()` method if called.
160
+ * Requests the parent application to update the UI.
161
+ * @param opts Update options.
162
+ * @example
163
+ * ```typescript
164
+ * this.requestUpdate();
165
+ * ```
139
166
  */
140
167
  requestUpdate(opts?: UpdateRequest): void;
141
168
  /**
142
- * Registers a new fragment.
143
- * @param key The name of the fragment
144
- * @param fragment The fragment to register.
169
+ * Registers a new fragment with this activity.
170
+ * @param key The fragment's key.
171
+ * @param fragment The fragment instance.
172
+ * @param data Optional data to pass to the fragment.
173
+ * @example
174
+ * ```typescript
175
+ * await this.addFragment('profile', new ProfileFragment());
176
+ * ```
145
177
  */
146
178
  addFragment(key: string, fragment: Fragment, data?: unknown): Promise<void>;
179
+ /**
180
+ * Shows a registered fragment.
181
+ * @param key The fragment's key.
182
+ * @param root Optional root element to render into.
183
+ */
147
184
  showFragment(key: string, root?: HTMLElement): Promise<void>;
185
+ /**
186
+ * Hides a registered fragment.
187
+ * @param key The fragment's key.
188
+ */
148
189
  hideFragment(key: string): Promise<void>;
149
190
  /**
150
- * Unifies Fragment and Activity interfaces.
151
- * @returns `this`
191
+ * Returns the parent application instance.
192
+ * @returns The application.
152
193
  */
153
194
  getApplication(): Application;
154
195
  /**
155
- * A shortcut to the `manager` function.
156
- * @param intent The intent to start
196
+ * Starts a new activity.
197
+ * @param intent The intent to start.
198
+ * @example
199
+ * ```typescript
200
+ * await this.startActivity({ action: 'login' });
201
+ * ```
157
202
  */
158
203
  startActivity(intent: Intent): Promise<void>;
159
204
  /**
160
205
  * Starts a new activity for a result.
161
- * @param intent The intent that created this activity.
162
- * @returns The request code created with this call.
206
+ * @param intent The intent to start.
207
+ * @returns The request code for the started activity.
208
+ * @example
209
+ * ```typescript
210
+ * const code = await this.startActivityForResult({ action: 'pickFile' });
211
+ * ```
163
212
  */
164
213
  startActivityForResult(intent: Intent): Promise<number>;
165
214
  /**
166
- * Call this method to return data to the activity that started this activity.
167
- * @param data The data to return.
215
+ * Sets the result to be returned to the calling activity.
216
+ * @param resultCode The result code.
217
+ * @param data Optional result data.
218
+ * @example
219
+ * ```typescript
220
+ * this.setResult(IntentResult.RESULT_OK, { userId: 123 });
221
+ * ```
168
222
  */
169
223
  setResult(resultCode: IntentResult, data?: unknown): void;
170
224
  /**
171
- * Called when an activity you launched exits, giving you the `requestCode` you started it with,
172
- * the `resultCode` it returned, and any additional data from it. The `resultCode` will be `RESULT_CANCELED`
173
- * if the activity explicitly returned that, didn't return any result, or crashed during its operation.
174
- *
175
- * An activity can never receive a result in the resumed state. You can count on `onResume()` being called
176
- * after this method, though not necessarily immediately after. If the activity was resumed,
177
- * it will be paused and the result will be delivered, followed by `onResume()`.
178
- *
179
- * @param requestCode The request code passed to startActivityForResult.
180
- * @param data The result from the activity.
225
+ * Called when an activity you launched exits, giving you the request code, result code, and intent.
226
+ * Override to handle results from started activities.
227
+ * @param requestCode The request code.
228
+ * @param resultCode The result code.
181
229
  * @param intent The intent that was used to start the activity.
230
+ * @example
231
+ * ```typescript
232
+ * async onActivityResult(requestCode, resultCode, intent) {
233
+ * if (resultCode === IntentResult.RESULT_OK) {
234
+ * // handle result
235
+ * }
236
+ * }
237
+ * ```
182
238
  */
183
239
  onActivityResult(requestCode: number, resultCode: IntentResult, intent: Intent): Promise<void>;
240
+ /**
241
+ * Returns the current activity instance.
242
+ * @returns This activity.
243
+ */
184
244
  getActivity(): Activity;
185
245
  /**
186
- * Checks whether this activity initiated the activity for result.
187
- * @param code The request code to look for.
188
- * @returns `true` if the activity has the request code.
246
+ * Checks if this activity initiated the activity for result with the given code.
247
+ * @param code The request code.
248
+ * @returns `true` if the code is pending, `false` otherwise.
189
249
  */
190
250
  hasRequestCode(code: number): boolean;
251
+ /**
252
+ * Gets the result data set by `setResult`.
253
+ * @returns The result data or `undefined`.
254
+ */
191
255
  getResult(): unknown | undefined;
192
256
  /**
193
- * A handler for the intent event dispatched by web components hosted by this activity.
194
- *
195
- * **Usage example:**
257
+ * Handles intent events dispatched by web components hosted by this activity.
196
258
  *
197
- * ```ts
259
+ * Usage example:
260
+ * ```html
198
261
  * <custom-element @startactivity="${this.handleIntentEvent}"></custom-element>
199
262
  * <custom-element @startactivityforresult="${this.handleIntentEvent}"></custom-element>
200
263
  * ```
201
264
  *
202
- * @param event The event that was dispatched.
203
- * @returns A promise that resolves when the intent is handled.
204
- * @throws An error if the activity has no activity.
205
- * @throws An error if the event type is not recognized.
265
+ * @param event The intent event.
266
+ * @throws Error if the event type is not recognized.
206
267
  */
207
268
  handleIntentEvent(event: CustomEvent<ActivityDetail | ActivityWithResultDetail>): Promise<void>;
208
269
  }
@@ -1 +1 @@
1
- {"version":3,"file":"Activity.d.ts","sourceRoot":"","sources":["../../../src/core/Activity.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,KAAK,CAAA;AAC7C,OAAO,EAAE,iBAAiB,EAAE,YAAY,EAAE,KAAK,MAAM,EAAE,MAAM,sBAAsB,CAAA;AACnF,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAA;AACtD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AAC7C,OAAO,KAAK,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAA;AAElE,OAAO,KAAK,EAAE,cAAc,EAAE,wBAAwB,EAAE,MAAM,2BAA2B,CAAA;AAGzF;;;;;;;;;;;;;GAaG;AACH,qBAAa,QAAS,SAAQ,WAAW;IACvC;;;;OAIG;IACH,UAAU,CAAC,EAAE,WAAW,CAAA;IACxB;;;;OAIG;IACH,MAAM,CAAC,MAAM,CAAC,EAAE,MAAM,CAAA;IAEf,SAAS,EAAE,iBAAiB,CAAgC;IACnE,SAAS,CAAC,MAAM,EAAE,WAAW,CAAA;IAC7B;;OAEG;IACH,SAAS,CAAC,OAAO,EAAE,eAAe,CAAA;IAClC,SAAS,CAAC,UAAU,CAAC,EAAE,OAAO,CAAA;IAE9B,SAAS,CAAC,QAAQ,eAA+B;IAEjD,IAAI,UAAU,IAAI,YAAY,CAE7B;IAED;;;;OAIG;IACH,SAAS,CAAC,mBAAmB,EAAE,MAAM,EAAE,CAAK;gBAEhC,MAAM,EAAE,WAAW;IAM/B;;;;;;;;;OASG;IACH,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;IAI/C;;;;;;;;;;;OAWG;IACH,OAAO,IAAI,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;IAI/B;;;;;;;;OAQG;IACH,QAAQ,IAAI,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;IAIhC;;;;;;;;;;;;;OAaG;IACH,OAAO,IAAI,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;IAI/B;;;;OAIG;IACH,MAAM,IAAI,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;IAI9B,SAAS,IAAI,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;IAIjC;;;OAGG;IACH,SAAS,IAAI,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;IAKjC;;;OAGG;IACH,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;IAIjD;;OAEG;IACH,aAAa,IAAI,IAAI;IAIrB;;OAEG;IACH,MAAM,IAAI,cAAc,GAAG,OAAO,OAAO;IAIzC;;OAEG;IACG,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC;IAI7B;;;;;;;;;;;OAWG;IACH,aAAa,CAAC,IAAI,GAAE,aAAkB,GAAG,IAAI;IAQ7C;;;;OAIG;IACG,WAAW,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IAI3E,YAAY,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC;IAI5D,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAO9C;;;OAGG;IACH,cAAc,IAAI,WAAW;IAI7B;;;OAGG;IACH,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAI5C;;;;OAIG;IACG,sBAAsB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAQ7D;;;OAGG;IACH,SAAS,CAAC,UAAU,EAAE,YAAY,EAAE,IAAI,CAAC,EAAE,OAAO,GAAG,IAAI;IAKzD;;;;;;;;;;;;OAYG;IACG,gBAAgB,CAAC,WAAW,EAAE,MAAM,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAmBpG,WAAW,IAAI,QAAQ;IAIvB;;;;OAIG;IACH,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAIrC,SAAS,IAAI,OAAO,GAAG,SAAS;IAIhC;;;;;;;;;;;;;;OAcG;IAEG,iBAAiB,CAAC,KAAK,EAAE,WAAW,CAAC,cAAc,GAAG,wBAAwB,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;CAUtG"}
1
+ {"version":3,"file":"Activity.d.ts","sourceRoot":"","sources":["../../../src/core/Activity.ts"],"names":[],"mappings":"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"}