@guideify/react 0.2.0 → 0.3.0
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.
- package/dist/index.d.cts +65 -0
- package/dist/index.d.ts +65 -0
- package/package.json +1 -1
package/dist/index.d.cts
CHANGED
|
@@ -186,6 +186,56 @@ interface Flow {
|
|
|
186
186
|
dismissible?: boolean;
|
|
187
187
|
steps: Step[];
|
|
188
188
|
}
|
|
189
|
+
/**
|
|
190
|
+
* What marks a checklist item done.
|
|
191
|
+
*
|
|
192
|
+
* A flow this environment already publishes, or an event the customer already
|
|
193
|
+
* sends us — both of which exist before the checklist does. There is
|
|
194
|
+
* deliberately no third variant for "the user ticked it": the surface is only
|
|
195
|
+
* worth its corner of somebody's application if it reflects what has actually
|
|
196
|
+
* happened in the product, and a box you can tick yourself reports nothing.
|
|
197
|
+
*/
|
|
198
|
+
type ChecklistItemGoal = {
|
|
199
|
+
type: 'flow';
|
|
200
|
+
flowId: string;
|
|
201
|
+
} | {
|
|
202
|
+
type: 'event';
|
|
203
|
+
name: string;
|
|
204
|
+
};
|
|
205
|
+
interface ChecklistItem {
|
|
206
|
+
id: string;
|
|
207
|
+
label: string;
|
|
208
|
+
/** Optional one-liner under the label. The renderer's document, not a string. */
|
|
209
|
+
body?: ContentNode;
|
|
210
|
+
goal: ChecklistItemGoal;
|
|
211
|
+
}
|
|
212
|
+
/**
|
|
213
|
+
* The persistent surface — BUILD_REPORT §8, J-02.
|
|
214
|
+
*
|
|
215
|
+
* **It carries no `trigger`, no `frequency` and no `priority`, and the three
|
|
216
|
+
* absences are the design.** A checklist is not triggered, it is present:
|
|
217
|
+
* `Trigger`'s five variants each describe a moment, which is precisely what
|
|
218
|
+
* this is not, and `Frequency` answers *how often does this fire* about
|
|
219
|
+
* something that never fires. It does not compete for the screen either — §8
|
|
220
|
+
* puts it outside the one-blocking-flow rule, so it never enters the sort that
|
|
221
|
+
* `priority` exists to break. Three fields pinned to a constant would each be a
|
|
222
|
+
* question the reader has to answer before discovering it was never asked.
|
|
223
|
+
*
|
|
224
|
+
* `audience` is the same `RuleNode` a flow takes, read by the same
|
|
225
|
+
* `evaluateRules`. Reusing the evaluator is what stops a second rule engine
|
|
226
|
+
* existing.
|
|
227
|
+
*/
|
|
228
|
+
interface Checklist {
|
|
229
|
+
id: string;
|
|
230
|
+
name: string;
|
|
231
|
+
version: number;
|
|
232
|
+
audience?: RuleNode;
|
|
233
|
+
items: ChecklistItem[];
|
|
234
|
+
/** Where the launcher sits. The host app's other corner is usually taken. */
|
|
235
|
+
position?: 'bottom-end' | 'bottom-start';
|
|
236
|
+
/** Hidden once every item is done, which is the default a customer expects. */
|
|
237
|
+
dismissWhenComplete?: boolean;
|
|
238
|
+
}
|
|
189
239
|
interface ThemeTokens {
|
|
190
240
|
accent?: string;
|
|
191
241
|
scrim?: string;
|
|
@@ -203,6 +253,21 @@ interface GuideifyConfig {
|
|
|
203
253
|
envKey: string;
|
|
204
254
|
flows: Flow[];
|
|
205
255
|
settings?: ConfigSettings;
|
|
256
|
+
/**
|
|
257
|
+
* The one persistent surface this environment publishes, if it has one.
|
|
258
|
+
*
|
|
259
|
+
* **Singular, deliberately.** A corner of somebody else's application has
|
|
260
|
+
* room for one launcher; a list invites two of them fighting over the same
|
|
261
|
+
* 56 pixels, and nothing in this product could arbitrate between them.
|
|
262
|
+
*
|
|
263
|
+
* Additive with a safe default, which is the header's rule and is what makes
|
|
264
|
+
* it publishable to environments held on an older core by `sdkPin` (R-04): a
|
|
265
|
+
* core built before this field existed parses the artifact, ignores the key
|
|
266
|
+
* and runs its flows. `packages/sdk/test/checklist-config.test.mjs` pins
|
|
267
|
+
* that, because it is an accident of `validateConfig` until something asserts
|
|
268
|
+
* it.
|
|
269
|
+
*/
|
|
270
|
+
checklist?: Checklist;
|
|
206
271
|
}
|
|
207
272
|
interface UserTraits {
|
|
208
273
|
[key: string]: unknown;
|
package/dist/index.d.ts
CHANGED
|
@@ -186,6 +186,56 @@ interface Flow {
|
|
|
186
186
|
dismissible?: boolean;
|
|
187
187
|
steps: Step[];
|
|
188
188
|
}
|
|
189
|
+
/**
|
|
190
|
+
* What marks a checklist item done.
|
|
191
|
+
*
|
|
192
|
+
* A flow this environment already publishes, or an event the customer already
|
|
193
|
+
* sends us — both of which exist before the checklist does. There is
|
|
194
|
+
* deliberately no third variant for "the user ticked it": the surface is only
|
|
195
|
+
* worth its corner of somebody's application if it reflects what has actually
|
|
196
|
+
* happened in the product, and a box you can tick yourself reports nothing.
|
|
197
|
+
*/
|
|
198
|
+
type ChecklistItemGoal = {
|
|
199
|
+
type: 'flow';
|
|
200
|
+
flowId: string;
|
|
201
|
+
} | {
|
|
202
|
+
type: 'event';
|
|
203
|
+
name: string;
|
|
204
|
+
};
|
|
205
|
+
interface ChecklistItem {
|
|
206
|
+
id: string;
|
|
207
|
+
label: string;
|
|
208
|
+
/** Optional one-liner under the label. The renderer's document, not a string. */
|
|
209
|
+
body?: ContentNode;
|
|
210
|
+
goal: ChecklistItemGoal;
|
|
211
|
+
}
|
|
212
|
+
/**
|
|
213
|
+
* The persistent surface — BUILD_REPORT §8, J-02.
|
|
214
|
+
*
|
|
215
|
+
* **It carries no `trigger`, no `frequency` and no `priority`, and the three
|
|
216
|
+
* absences are the design.** A checklist is not triggered, it is present:
|
|
217
|
+
* `Trigger`'s five variants each describe a moment, which is precisely what
|
|
218
|
+
* this is not, and `Frequency` answers *how often does this fire* about
|
|
219
|
+
* something that never fires. It does not compete for the screen either — §8
|
|
220
|
+
* puts it outside the one-blocking-flow rule, so it never enters the sort that
|
|
221
|
+
* `priority` exists to break. Three fields pinned to a constant would each be a
|
|
222
|
+
* question the reader has to answer before discovering it was never asked.
|
|
223
|
+
*
|
|
224
|
+
* `audience` is the same `RuleNode` a flow takes, read by the same
|
|
225
|
+
* `evaluateRules`. Reusing the evaluator is what stops a second rule engine
|
|
226
|
+
* existing.
|
|
227
|
+
*/
|
|
228
|
+
interface Checklist {
|
|
229
|
+
id: string;
|
|
230
|
+
name: string;
|
|
231
|
+
version: number;
|
|
232
|
+
audience?: RuleNode;
|
|
233
|
+
items: ChecklistItem[];
|
|
234
|
+
/** Where the launcher sits. The host app's other corner is usually taken. */
|
|
235
|
+
position?: 'bottom-end' | 'bottom-start';
|
|
236
|
+
/** Hidden once every item is done, which is the default a customer expects. */
|
|
237
|
+
dismissWhenComplete?: boolean;
|
|
238
|
+
}
|
|
189
239
|
interface ThemeTokens {
|
|
190
240
|
accent?: string;
|
|
191
241
|
scrim?: string;
|
|
@@ -203,6 +253,21 @@ interface GuideifyConfig {
|
|
|
203
253
|
envKey: string;
|
|
204
254
|
flows: Flow[];
|
|
205
255
|
settings?: ConfigSettings;
|
|
256
|
+
/**
|
|
257
|
+
* The one persistent surface this environment publishes, if it has one.
|
|
258
|
+
*
|
|
259
|
+
* **Singular, deliberately.** A corner of somebody else's application has
|
|
260
|
+
* room for one launcher; a list invites two of them fighting over the same
|
|
261
|
+
* 56 pixels, and nothing in this product could arbitrate between them.
|
|
262
|
+
*
|
|
263
|
+
* Additive with a safe default, which is the header's rule and is what makes
|
|
264
|
+
* it publishable to environments held on an older core by `sdkPin` (R-04): a
|
|
265
|
+
* core built before this field existed parses the artifact, ignores the key
|
|
266
|
+
* and runs its flows. `packages/sdk/test/checklist-config.test.mjs` pins
|
|
267
|
+
* that, because it is an accident of `validateConfig` until something asserts
|
|
268
|
+
* it.
|
|
269
|
+
*/
|
|
270
|
+
checklist?: Checklist;
|
|
206
271
|
}
|
|
207
272
|
interface UserTraits {
|
|
208
273
|
[key: string]: unknown;
|