@supersoniks/concorde 4.5.1 → 4.6.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/build-infos.json +1 -1
- package/concorde-core.bundle.js +250 -246
- package/concorde-core.es.js +2109 -2064
- package/dist/concorde-core.bundle.js +250 -246
- package/dist/concorde-core.es.js +2109 -2064
- package/docs/assets/index-CaysOMFz.js +5046 -0
- package/docs/assets/index-D8mGoXzF.css +1 -0
- package/docs/css/docs.css +0 -0
- package/docs/fonts/ClashGrotesk-Bold.eot +0 -0
- package/docs/fonts/ClashGrotesk-Bold.ttf +0 -0
- package/docs/fonts/ClashGrotesk-Bold.woff +0 -0
- package/docs/fonts/ClashGrotesk-Bold.woff2 +0 -0
- package/docs/fonts/ClashGrotesk-Extralight.eot +0 -0
- package/docs/fonts/ClashGrotesk-Extralight.ttf +0 -0
- package/docs/fonts/ClashGrotesk-Extralight.woff +0 -0
- package/docs/fonts/ClashGrotesk-Extralight.woff2 +0 -0
- package/docs/fonts/ClashGrotesk-Light.eot +0 -0
- package/docs/fonts/ClashGrotesk-Light.ttf +0 -0
- package/docs/fonts/ClashGrotesk-Light.woff +0 -0
- package/docs/fonts/ClashGrotesk-Light.woff2 +0 -0
- package/docs/fonts/ClashGrotesk-Medium.eot +0 -0
- package/docs/fonts/ClashGrotesk-Medium.ttf +0 -0
- package/docs/fonts/ClashGrotesk-Medium.woff +0 -0
- package/docs/fonts/ClashGrotesk-Medium.woff2 +0 -0
- package/docs/fonts/ClashGrotesk-Regular.eot +0 -0
- package/docs/fonts/ClashGrotesk-Regular.ttf +0 -0
- package/docs/fonts/ClashGrotesk-Regular.woff +0 -0
- package/docs/fonts/ClashGrotesk-Regular.woff2 +0 -0
- package/docs/fonts/ClashGrotesk-Semibold.eot +0 -0
- package/docs/fonts/ClashGrotesk-Semibold.ttf +0 -0
- package/docs/fonts/ClashGrotesk-Semibold.woff +0 -0
- package/docs/fonts/ClashGrotesk-Semibold.woff2 +0 -0
- package/docs/fonts/ClashGrotesk-Variable.eot +0 -0
- package/docs/fonts/ClashGrotesk-Variable.ttf +0 -0
- package/docs/fonts/ClashGrotesk-Variable.woff +0 -0
- package/docs/fonts/ClashGrotesk-Variable.woff2 +0 -0
- package/docs/img/concorde-icon.svg +5 -0
- package/docs/img/concorde-logo.svg +1 -0
- package/docs/img/concorde.png +0 -0
- package/docs/img/concorde_def.png +0 -0
- package/docs/img/concorde_seuil.png.webp +0 -0
- package/docs/img/concorde_seuil_invert.png +0 -0
- package/docs/img/paul_metrand.jpg +0 -0
- package/docs/img/paul_metrand_xs.jpg +0 -0
- package/docs/index.html +93 -0
- package/docs/src/core/components/functional/date/date.md +290 -0
- package/docs/src/core/components/functional/fetch/fetch.md +123 -0
- package/docs/src/core/components/functional/if/if.md +16 -0
- package/docs/src/core/components/functional/list/list.md +199 -0
- package/docs/src/core/components/functional/mix/mix.md +41 -0
- package/docs/src/core/components/functional/queue/queue.md +87 -0
- package/docs/src/core/components/functional/router/router.md +129 -0
- package/docs/src/core/components/functional/sdui/default-library.json +108 -0
- package/docs/src/core/components/functional/sdui/example.json +99 -0
- package/docs/src/core/components/functional/sdui/sdui.md +356 -0
- package/docs/src/core/components/functional/states/states.md +87 -0
- package/docs/src/core/components/functional/submit/submit.md +83 -0
- package/docs/src/core/components/functional/subscriber/subscriber.md +91 -0
- package/docs/src/core/components/functional/value/value.md +35 -0
- package/docs/src/core/components/ui/alert/alert.md +121 -0
- package/docs/src/core/components/ui/alert-messages/alert-messages.md +0 -0
- package/docs/src/core/components/ui/badge/badge.md +127 -0
- package/docs/src/core/components/ui/button/button.md +182 -0
- package/docs/src/core/components/ui/captcha/captcha.md +24 -0
- package/docs/src/core/components/ui/card/card.md +97 -0
- package/docs/src/core/components/ui/divider/divider.md +35 -0
- package/docs/src/core/components/ui/form/checkbox/checkbox.md +104 -0
- package/docs/src/core/components/ui/form/fieldset/fieldset.md +129 -0
- package/docs/src/core/components/ui/form/form-actions/form-actions.md +77 -0
- package/docs/src/core/components/ui/form/form-layout/form-layout.md +44 -0
- package/docs/src/core/components/ui/form/input/input.md +167 -0
- package/docs/src/core/components/ui/form/input-autocomplete/input-autocomplete.md +131 -0
- package/docs/src/core/components/ui/form/radio/radio.md +84 -0
- package/docs/src/core/components/ui/form/select/select.md +97 -0
- package/docs/src/core/components/ui/form/switch/switch.md +84 -0
- package/docs/src/core/components/ui/form/textarea/textarea.md +65 -0
- package/docs/src/core/components/ui/group/group.md +75 -0
- package/docs/src/core/components/ui/icon/icon.md +125 -0
- package/docs/src/core/components/ui/icon/icons.json +1 -0
- package/docs/src/core/components/ui/image/image.md +107 -0
- package/docs/src/core/components/ui/link/link.md +43 -0
- package/docs/src/core/components/ui/loader/loader.md +67 -0
- package/docs/src/core/components/ui/menu/menu.md +329 -0
- package/docs/src/core/components/ui/modal/modal.md +119 -0
- package/docs/src/core/components/ui/pop/pop.md +96 -0
- package/docs/src/core/components/ui/progress/progress.md +63 -0
- package/docs/src/core/components/ui/table/table.md +455 -0
- package/docs/src/core/components/ui/toast/toast.md +166 -0
- package/docs/src/core/components/ui/tooltip/tooltip.md +82 -0
- package/docs/src/docs/_core-concept/overview.md +57 -0
- package/docs/src/docs/_core-concept/subscriber.md +76 -0
- package/docs/src/docs/_decorators/ancestor-attribute.md +78 -0
- package/docs/src/docs/_decorators/auto-subscribe.md +199 -0
- package/docs/src/docs/_decorators/bind.md +164 -0
- package/docs/src/docs/_decorators/get.md +65 -0
- package/docs/src/docs/_decorators/on-assign.md +362 -0
- package/docs/src/docs/_decorators/publish.md +54 -0
- package/docs/src/docs/_decorators/subscribe.md +36 -0
- package/docs/src/docs/_decorators/wait-for-ancestors.md +160 -0
- package/docs/src/docs/_getting-started/concorde-outside.md +143 -0
- package/docs/src/docs/_getting-started/create-a-component.md +137 -0
- package/docs/src/docs/_getting-started/my-first-subscriber.md +174 -0
- package/docs/src/docs/_getting-started/pubsub.md +150 -0
- package/docs/src/docs/_getting-started/start.md +39 -0
- package/docs/src/docs/_getting-started/theming.md +91 -0
- package/docs/src/docs/_misc/dataProviderKey.md +135 -0
- package/docs/src/docs/_misc/endpoint.md +42 -0
- package/docs/src/docs/_misc/templates-demo.md +19 -0
- package/docs/src/docs/search/docs-search.json +5242 -0
- package/docs/src/tag-list.json +1 -0
- package/docs/src/tsconfig-model.json +23 -0
- package/docs/src/tsconfig.json +987 -0
- package/docs/svg/regular/plane.svg +1 -0
- package/docs/svg/solid/plane.svg +1 -0
- package/package.json +5 -1
- package/src/core/components/functional/fetch/fetch.md +0 -0
- package/src/core/components/ui/_css/scroll.ts +0 -0
- package/src/core/components/ui/_css/size.ts +0 -0
- package/src/core/components/ui/alert/alert.ts +0 -0
- package/src/core/components/ui/button/button.ts +0 -0
- package/src/core/components/ui/captcha/altchaStyles.ts +0 -0
- package/src/core/components/ui/divider/divider.ts +0 -0
- package/src/core/components/ui/icon/icon.ts +0 -0
- package/src/core/components/ui/menu/menu.md +0 -0
- package/src/core/components/ui/modal/modal-close.ts +0 -0
- package/src/core/components/ui/modal/modal.md +0 -0
- package/src/core/components/ui/table/table-caption.ts +0 -0
- package/src/core/decorators/Subscriber.ts +2 -0
- package/src/core/decorators/api.ts +3 -3
- package/src/core/decorators/subscriber/ancestorAttribute.ts +5 -4
- package/src/core/decorators/subscriber/bind.ts +9 -7
- package/src/core/decorators/subscriber/common.ts +22 -2
- package/src/core/decorators/subscriber/dynamicPropertyWatch.spec.ts +125 -0
- package/src/core/decorators/subscriber/dynamicPropertyWatch.ts +157 -72
- package/src/core/decorators/subscriber/handle.disambig.spec.ts +20 -0
- package/src/core/decorators/subscriber/handle.skip.spec.ts +37 -0
- package/src/core/decorators/subscriber/handle.ts +128 -0
- package/src/core/decorators/subscriber/onAssign.ts +96 -6
- package/src/core/decorators/subscriber/publish.ts +2 -2
- package/src/core/utils/route.ts +0 -0
- package/src/decorators.ts +6 -0
- package/src/docs/_decorators/bind.md +1 -1
- package/src/docs/_decorators/handle.md +169 -0
- package/src/docs/_decorators/on-assign.md +52 -0
- package/src/docs/_misc/dataProviderKey.md +4 -4
- package/src/docs/code.ts +0 -0
- package/src/docs/example/decorators-demo-bind-demos.ts +6 -2
- package/src/docs/example/decorators-demo-geo.ts +10 -9
- package/src/docs/example/decorators-demo-subscribe-publish-get-demos.ts +91 -5
- package/src/docs/example/decorators-demo.ts +2 -2
- package/src/docs/navigation/navigation.ts +4 -0
- package/src/docs/search/docs-search.json +272 -22
- package/src/tsconfig.json +12 -0
- package/src/tsconfig.tsbuildinfo +1 -1
|
@@ -1,10 +1,6 @@
|
|
|
1
1
|
import { html, LitElement } from "lit";
|
|
2
2
|
import { customElement, property, state } from "lit/decorators.js";
|
|
3
|
-
import {
|
|
4
|
-
get,
|
|
5
|
-
publish,
|
|
6
|
-
subscribe,
|
|
7
|
-
} from "@supersoniks/concorde/decorators";
|
|
3
|
+
import { get, handle, publish, subscribe } from "@supersoniks/concorde/decorators";
|
|
8
4
|
import type {
|
|
9
5
|
APIConfiguration,
|
|
10
6
|
ApiGetResult,
|
|
@@ -322,3 +318,93 @@ export class DemoSubscribeDynamic extends LitElement {
|
|
|
322
318
|
`;
|
|
323
319
|
}
|
|
324
320
|
}
|
|
321
|
+
|
|
322
|
+
type DemoCounterData = { count: number; title: string; user: { name: string } };
|
|
323
|
+
const demoDataKey = new DataProviderKey<DemoCounterData>("demoData");
|
|
324
|
+
|
|
325
|
+
@customElement("demo-handle")
|
|
326
|
+
export class DemoHandle extends LitElement {
|
|
327
|
+
static styles = [tailwind];
|
|
328
|
+
|
|
329
|
+
@state() doubled = 0;
|
|
330
|
+
@state() lastUpdate = "";
|
|
331
|
+
|
|
332
|
+
@handle(demoDataKey.count)
|
|
333
|
+
onCountChange(count: number) {
|
|
334
|
+
this.doubled = count * 2;
|
|
335
|
+
this.lastUpdate = new Date().toLocaleTimeString();
|
|
336
|
+
}
|
|
337
|
+
|
|
338
|
+
incrementCount() {
|
|
339
|
+
const publisher = PublisherManager.get("demoData");
|
|
340
|
+
const data = publisher.get() as DemoCounterData;
|
|
341
|
+
publisher.set({ ...data, count: data.count + 1 });
|
|
342
|
+
}
|
|
343
|
+
|
|
344
|
+
render() {
|
|
345
|
+
return html`
|
|
346
|
+
<div class="space-y-4">
|
|
347
|
+
<p class="text-sm text-neutral-600 dark:text-neutral-400">
|
|
348
|
+
<code>@handle</code> sur <code>demoData.count</code> — calcul
|
|
349
|
+
<code>doubled = count * 2</code>
|
|
350
|
+
</p>
|
|
351
|
+
<p>Doubled count: <strong>${this.doubled}</strong></p>
|
|
352
|
+
<p class="text-sm text-neutral-500">
|
|
353
|
+
Last update: ${this.lastUpdate || "—"}
|
|
354
|
+
</p>
|
|
355
|
+
<sonic-button @click=${this.incrementCount}>Increment count</sonic-button>
|
|
356
|
+
</div>
|
|
357
|
+
`;
|
|
358
|
+
}
|
|
359
|
+
}
|
|
360
|
+
|
|
361
|
+
@customElement("demo-handle-dynamic")
|
|
362
|
+
export class DemoHandleDynamic extends LitElement {
|
|
363
|
+
static styles = [tailwind];
|
|
364
|
+
|
|
365
|
+
@property({ type: Number })
|
|
366
|
+
userIndex = 0;
|
|
367
|
+
|
|
368
|
+
@state() displayName = "";
|
|
369
|
+
@state() lastUpdate = "";
|
|
370
|
+
|
|
371
|
+
@handle(new DataProviderKey<User, { userIndex: number }>("demoUsers.${userIndex}"))
|
|
372
|
+
onUserAssigned(user: User) {
|
|
373
|
+
this.displayName = `${user.firstName} ${user.lastName}`;
|
|
374
|
+
this.lastUpdate = new Date().toLocaleTimeString();
|
|
375
|
+
}
|
|
376
|
+
|
|
377
|
+
render() {
|
|
378
|
+
return html`
|
|
379
|
+
<div class="space-y-4">
|
|
380
|
+
<p class="text-sm text-neutral-600 dark:text-neutral-400">
|
|
381
|
+
<code>@handle</code> avec chemin dynamique
|
|
382
|
+
<code>demoUsers.\${userIndex}</code>
|
|
383
|
+
</p>
|
|
384
|
+
<sonic-input
|
|
385
|
+
type="number"
|
|
386
|
+
.value=${String(this.userIndex)}
|
|
387
|
+
@input=${(e: Event) =>
|
|
388
|
+
(this.userIndex = parseInt((e.target as HTMLInputElement).value))}
|
|
389
|
+
min="0"
|
|
390
|
+
max="9"
|
|
391
|
+
label="User index"
|
|
392
|
+
></sonic-input>
|
|
393
|
+
${this.displayName
|
|
394
|
+
? html`
|
|
395
|
+
<div
|
|
396
|
+
class="rounded border border-neutral-200 dark:border-neutral-700 p-3"
|
|
397
|
+
>
|
|
398
|
+
<p>${this.displayName}</p>
|
|
399
|
+
<p class="text-sm text-neutral-500">
|
|
400
|
+
Assigned at ${this.lastUpdate}
|
|
401
|
+
</p>
|
|
402
|
+
</div>
|
|
403
|
+
`
|
|
404
|
+
: html`<p class="text-neutral-500">
|
|
405
|
+
No user at index ${this.userIndex}
|
|
406
|
+
</p>`}
|
|
407
|
+
</div>
|
|
408
|
+
`;
|
|
409
|
+
}
|
|
410
|
+
}
|
|
@@ -443,8 +443,8 @@ export class DemoWaitAncestorsReadySection extends LitElement {
|
|
|
443
443
|
return html`
|
|
444
444
|
<div class="space-y-4">
|
|
445
445
|
<p class="text-sm text-neutral-600 dark:text-neutral-400">
|
|
446
|
-
Parent défini au chargement. Ajout dynamique de l’enfant —
|
|
447
|
-
immédiate si l’ancêtre est prêt.
|
|
446
|
+
Parent défini au chargement. Ajout dynamique de l’enfant —
|
|
447
|
+
initialisation immédiate si l’ancêtre est prêt.
|
|
448
448
|
</p>
|
|
449
449
|
<sonic-button ?disabled=${this.childInDom} @click=${this.addChild}>
|
|
450
450
|
${this.childInDom ? "Child added" : "Add child dynamically"}
|
|
@@ -138,6 +138,10 @@ export class DocsNavigation extends LitElement {
|
|
|
138
138
|
label: "@subscribe",
|
|
139
139
|
href: "#docs/_decorators/subscribe.md/subscribe",
|
|
140
140
|
},
|
|
141
|
+
{
|
|
142
|
+
label: "@handle",
|
|
143
|
+
href: "#docs/_decorators/handle.md/handle",
|
|
144
|
+
},
|
|
141
145
|
{
|
|
142
146
|
label: "@publish",
|
|
143
147
|
href: "#docs/_decorators/publish.md/publish",
|
|
@@ -3185,7 +3185,7 @@
|
|
|
3185
3185
|
}
|
|
3186
3186
|
},
|
|
3187
3187
|
{
|
|
3188
|
-
"search": "See also: @subscribe, @publish, @get.\n",
|
|
3188
|
+
"search": "See also: @subscribe, @handle, @publish, @get.\n",
|
|
3189
3189
|
"files": {
|
|
3190
3190
|
"docs/_decorators/bind.md": {
|
|
3191
3191
|
"title": "@bind",
|
|
@@ -3409,6 +3409,211 @@
|
|
|
3409
3409
|
}
|
|
3410
3410
|
}
|
|
3411
3411
|
},
|
|
3412
|
+
{
|
|
3413
|
+
"search": "@handle",
|
|
3414
|
+
"files": {
|
|
3415
|
+
"docs/_decorators/handle.md": {
|
|
3416
|
+
"title": "@handle",
|
|
3417
|
+
"hashes": {
|
|
3418
|
+
"handle": {
|
|
3419
|
+
"count": 1,
|
|
3420
|
+
"title": "",
|
|
3421
|
+
"type": "page"
|
|
3422
|
+
}
|
|
3423
|
+
}
|
|
3424
|
+
}
|
|
3425
|
+
}
|
|
3426
|
+
},
|
|
3427
|
+
{
|
|
3428
|
+
"search": "Typed callback on one or more DataProviderKey<T> paths: invokes the decorated method when a publisher assigns a value (calculations, side effects, updating other @state properties, etc.).\n",
|
|
3429
|
+
"files": {
|
|
3430
|
+
"docs/_decorators/handle.md": {
|
|
3431
|
+
"title": "@handle",
|
|
3432
|
+
"hashes": {
|
|
3433
|
+
"handle": {
|
|
3434
|
+
"count": 1,
|
|
3435
|
+
"title": "",
|
|
3436
|
+
"type": "paragraph"
|
|
3437
|
+
}
|
|
3438
|
+
}
|
|
3439
|
+
}
|
|
3440
|
+
}
|
|
3441
|
+
},
|
|
3442
|
+
{
|
|
3443
|
+
"search": "Unlike @subscribe, nothing is bound to the decorated member — only your method runs. @handle is typed and accepts up to 3 keys plus an optional trailing HandleOptions object. It supersedes the string-based @onAssign.\n",
|
|
3444
|
+
"files": {
|
|
3445
|
+
"docs/_decorators/handle.md": {
|
|
3446
|
+
"title": "@handle",
|
|
3447
|
+
"hashes": {
|
|
3448
|
+
"handle": {
|
|
3449
|
+
"count": 1,
|
|
3450
|
+
"title": "",
|
|
3451
|
+
"type": "paragraph"
|
|
3452
|
+
}
|
|
3453
|
+
}
|
|
3454
|
+
}
|
|
3455
|
+
}
|
|
3456
|
+
},
|
|
3457
|
+
{
|
|
3458
|
+
"search": "By default the method is called on every assignment, even when the value is null / undefined. Use the options below to restrict that.\n",
|
|
3459
|
+
"files": {
|
|
3460
|
+
"docs/_decorators/handle.md": {
|
|
3461
|
+
"title": "@handle",
|
|
3462
|
+
"hashes": {
|
|
3463
|
+
"handle": {
|
|
3464
|
+
"count": 1,
|
|
3465
|
+
"title": "",
|
|
3466
|
+
"type": "paragraph"
|
|
3467
|
+
}
|
|
3468
|
+
}
|
|
3469
|
+
}
|
|
3470
|
+
}
|
|
3471
|
+
},
|
|
3472
|
+
{
|
|
3473
|
+
"search": "Placeholders in DataProviderKey resolve from the host component’s properties (same rules as @bind / @subscribe).\n",
|
|
3474
|
+
"files": {
|
|
3475
|
+
"docs/_decorators/handle.md": {
|
|
3476
|
+
"title": "@handle",
|
|
3477
|
+
"hashes": {
|
|
3478
|
+
"dynamic-path": {
|
|
3479
|
+
"count": 1,
|
|
3480
|
+
"title": "Dynamic path",
|
|
3481
|
+
"type": "paragraph"
|
|
3482
|
+
}
|
|
3483
|
+
}
|
|
3484
|
+
}
|
|
3485
|
+
}
|
|
3486
|
+
},
|
|
3487
|
+
{
|
|
3488
|
+
"search": "@handle accepts up to 3 keys; the method receives one strongly-typed argument per key, in order. Each assignment triggers the method, so make your method safe against partial values (or use waitForAllDefined, see below).\n",
|
|
3489
|
+
"files": {
|
|
3490
|
+
"docs/_decorators/handle.md": {
|
|
3491
|
+
"title": "@handle",
|
|
3492
|
+
"hashes": {
|
|
3493
|
+
"multiple-paths": {
|
|
3494
|
+
"count": 1,
|
|
3495
|
+
"title": "Multiple paths",
|
|
3496
|
+
"type": "paragraph"
|
|
3497
|
+
}
|
|
3498
|
+
}
|
|
3499
|
+
}
|
|
3500
|
+
}
|
|
3501
|
+
},
|
|
3502
|
+
{
|
|
3503
|
+
"search": "Pass an options object as the last argument. The names map to real situations seen in the apps.\n",
|
|
3504
|
+
"files": {
|
|
3505
|
+
"docs/_decorators/handle.md": {
|
|
3506
|
+
"title": "@handle",
|
|
3507
|
+
"hashes": {
|
|
3508
|
+
"options-handleoptions": {
|
|
3509
|
+
"count": 1,
|
|
3510
|
+
"title": "Options (`HandleOptions`)",
|
|
3511
|
+
"type": "paragraph"
|
|
3512
|
+
}
|
|
3513
|
+
}
|
|
3514
|
+
}
|
|
3515
|
+
}
|
|
3516
|
+
},
|
|
3517
|
+
{
|
|
3518
|
+
"search": "Only call the method once all watched keys are defined (non null / undefined). This reproduces the historical @onAssign semantics — use it when the logic only makes sense with every source ready (e.g. building a date from date + timeZone + direction).\n",
|
|
3519
|
+
"files": {
|
|
3520
|
+
"docs/_decorators/handle.md": {
|
|
3521
|
+
"title": "@handle",
|
|
3522
|
+
"hashes": {
|
|
3523
|
+
"waitforalldefined": {
|
|
3524
|
+
"count": 1,
|
|
3525
|
+
"title": "`waitForAllDefined`",
|
|
3526
|
+
"type": "paragraph"
|
|
3527
|
+
}
|
|
3528
|
+
}
|
|
3529
|
+
}
|
|
3530
|
+
}
|
|
3531
|
+
},
|
|
3532
|
+
{
|
|
3533
|
+
"search": "Do not call the method when a received value belongs to one of the listed categories (the Skip enum). Each entry is a named category — not a value — so there is no value/pattern ambiguity (e.g. {} is Skip.EmptyObject, an explicit "empty object" category, never a value comparison).\n",
|
|
3534
|
+
"files": {
|
|
3535
|
+
"docs/_decorators/handle.md": {
|
|
3536
|
+
"title": "@handle",
|
|
3537
|
+
"hashes": {
|
|
3538
|
+
"skip": {
|
|
3539
|
+
"count": 1,
|
|
3540
|
+
"title": "`skip`",
|
|
3541
|
+
"type": "paragraph"
|
|
3542
|
+
}
|
|
3543
|
+
}
|
|
3544
|
+
}
|
|
3545
|
+
}
|
|
3546
|
+
},
|
|
3547
|
+
{
|
|
3548
|
+
"search": "Useful when a not-yet-initialized publisher emits {} as a "loading" state. For a specific value (e.g. a particular string), use accept instead.\n",
|
|
3549
|
+
"files": {
|
|
3550
|
+
"docs/_decorators/handle.md": {
|
|
3551
|
+
"title": "@handle",
|
|
3552
|
+
"hashes": {
|
|
3553
|
+
"skip": {
|
|
3554
|
+
"count": 1,
|
|
3555
|
+
"title": "`skip`",
|
|
3556
|
+
"type": "paragraph"
|
|
3557
|
+
}
|
|
3558
|
+
}
|
|
3559
|
+
}
|
|
3560
|
+
}
|
|
3561
|
+
},
|
|
3562
|
+
{
|
|
3563
|
+
"search": "A runtime guard called with the received value(s). If it returns false, the method is not called. TypeScript types are erased at runtime, so this is how you validate a shape/type when the data comes from an untrusted source (API, postMessage, storage…).\n",
|
|
3564
|
+
"files": {
|
|
3565
|
+
"docs/_decorators/handle.md": {
|
|
3566
|
+
"title": "@handle",
|
|
3567
|
+
"hashes": {
|
|
3568
|
+
"accept": {
|
|
3569
|
+
"count": 1,
|
|
3570
|
+
"title": "`accept`",
|
|
3571
|
+
"type": "paragraph"
|
|
3572
|
+
}
|
|
3573
|
+
}
|
|
3574
|
+
}
|
|
3575
|
+
}
|
|
3576
|
+
},
|
|
3577
|
+
{
|
|
3578
|
+
"search": "Options can be combined, e.g. @handle(a, b, { waitForAllDefined: true, accept }).\n",
|
|
3579
|
+
"files": {
|
|
3580
|
+
"docs/_decorators/handle.md": {
|
|
3581
|
+
"title": "@handle",
|
|
3582
|
+
"hashes": {
|
|
3583
|
+
"accept": {
|
|
3584
|
+
"count": 1,
|
|
3585
|
+
"title": "`accept`",
|
|
3586
|
+
"type": "paragraph"
|
|
3587
|
+
}
|
|
3588
|
+
}
|
|
3589
|
+
}
|
|
3590
|
+
}
|
|
3591
|
+
},
|
|
3592
|
+
{
|
|
3593
|
+
"search": "See also DataProviderKey.\n",
|
|
3594
|
+
"files": {
|
|
3595
|
+
"docs/_decorators/handle.md": {
|
|
3596
|
+
"title": "@handle",
|
|
3597
|
+
"hashes": {
|
|
3598
|
+
"highlights": {
|
|
3599
|
+
"count": 1,
|
|
3600
|
+
"title": "Highlights",
|
|
3601
|
+
"type": "paragraph"
|
|
3602
|
+
}
|
|
3603
|
+
}
|
|
3604
|
+
},
|
|
3605
|
+
"docs/_decorators/subscribe.md": {
|
|
3606
|
+
"title": "@subscribe",
|
|
3607
|
+
"hashes": {
|
|
3608
|
+
"demo": {
|
|
3609
|
+
"count": 1,
|
|
3610
|
+
"title": "Demo",
|
|
3611
|
+
"type": "paragraph"
|
|
3612
|
+
}
|
|
3613
|
+
}
|
|
3614
|
+
}
|
|
3615
|
+
}
|
|
3616
|
+
},
|
|
3412
3617
|
{
|
|
3413
3618
|
"search": "@onAssign",
|
|
3414
3619
|
"files": {
|
|
@@ -3424,6 +3629,21 @@
|
|
|
3424
3629
|
}
|
|
3425
3630
|
}
|
|
3426
3631
|
},
|
|
3632
|
+
{
|
|
3633
|
+
"search": "⚠️ Deprecated — use @handle instead.\n@onAssign takes untyped string paths; @handle does the same with full typing via DataProviderKey, supports up to 3 keys, and exposes explicit options. @onAssign stays functional and unchanged during the migration. See the Migrating to @handle section below.\n",
|
|
3634
|
+
"files": {
|
|
3635
|
+
"docs/_decorators/on-assign.md": {
|
|
3636
|
+
"title": "@onAssign",
|
|
3637
|
+
"hashes": {
|
|
3638
|
+
"onassign": {
|
|
3639
|
+
"count": 1,
|
|
3640
|
+
"title": "",
|
|
3641
|
+
"type": "paragraph"
|
|
3642
|
+
}
|
|
3643
|
+
}
|
|
3644
|
+
}
|
|
3645
|
+
}
|
|
3646
|
+
},
|
|
3427
3647
|
{
|
|
3428
3648
|
"search": "The @onAssign decorator allows you to execute a method when one or more publishers are updated. The method is called only when all specified publishers have been assigned values.\n",
|
|
3429
3649
|
"files": {
|
|
@@ -3439,6 +3659,21 @@
|
|
|
3439
3659
|
}
|
|
3440
3660
|
}
|
|
3441
3661
|
},
|
|
3662
|
+
{
|
|
3663
|
+
"search": "For a typed equivalent (recommended), use @handle.\n",
|
|
3664
|
+
"files": {
|
|
3665
|
+
"docs/_decorators/on-assign.md": {
|
|
3666
|
+
"title": "@onAssign",
|
|
3667
|
+
"hashes": {
|
|
3668
|
+
"onassign": {
|
|
3669
|
+
"count": 1,
|
|
3670
|
+
"title": "",
|
|
3671
|
+
"type": "paragraph"
|
|
3672
|
+
}
|
|
3673
|
+
}
|
|
3674
|
+
}
|
|
3675
|
+
}
|
|
3676
|
+
},
|
|
3442
3677
|
{
|
|
3443
3678
|
"search": "This decorator subscribes to one or more publishers via the PublisherManager. When all specified publishers have been assigned values (via set), the decorated method is called with all the values as arguments.\n",
|
|
3444
3679
|
"files": {
|
|
@@ -3544,6 +3779,36 @@
|
|
|
3544
3779
|
}
|
|
3545
3780
|
}
|
|
3546
3781
|
},
|
|
3782
|
+
{
|
|
3783
|
+
"search": "@handle is the typed successor of @onAssign. The key behavioral difference: @onAssign waits for all values to be defined before calling the method, whereas @handle calls it on every assignment by default. Use the waitForAllDefined option to keep the old semantics.\n",
|
|
3784
|
+
"files": {
|
|
3785
|
+
"docs/_decorators/on-assign.md": {
|
|
3786
|
+
"title": "@onAssign",
|
|
3787
|
+
"hashes": {
|
|
3788
|
+
"migrating-to-handle": {
|
|
3789
|
+
"count": 1,
|
|
3790
|
+
"title": "Migrating to @handle",
|
|
3791
|
+
"type": "paragraph"
|
|
3792
|
+
}
|
|
3793
|
+
}
|
|
3794
|
+
}
|
|
3795
|
+
}
|
|
3796
|
+
},
|
|
3797
|
+
{
|
|
3798
|
+
"search": "@handle is capped at 3 keys. For the rare case of 4 or more publishers, keep @onAssign for now, or split the logic into several @handle methods that each store their value and call a shared method (guarding against partial values).\n",
|
|
3799
|
+
"files": {
|
|
3800
|
+
"docs/_decorators/on-assign.md": {
|
|
3801
|
+
"title": "@onAssign",
|
|
3802
|
+
"hashes": {
|
|
3803
|
+
"4-paths": {
|
|
3804
|
+
"count": 1,
|
|
3805
|
+
"title": "4+ paths",
|
|
3806
|
+
"type": "paragraph"
|
|
3807
|
+
}
|
|
3808
|
+
}
|
|
3809
|
+
}
|
|
3810
|
+
}
|
|
3811
|
+
},
|
|
3547
3812
|
{
|
|
3548
3813
|
"search": "@publish",
|
|
3549
3814
|
"files": {
|
|
@@ -3649,21 +3914,6 @@
|
|
|
3649
3914
|
}
|
|
3650
3915
|
}
|
|
3651
3916
|
},
|
|
3652
|
-
{
|
|
3653
|
-
"search": "See also DataProviderKey.\n",
|
|
3654
|
-
"files": {
|
|
3655
|
-
"docs/_decorators/subscribe.md": {
|
|
3656
|
-
"title": "@subscribe",
|
|
3657
|
-
"hashes": {
|
|
3658
|
-
"demo": {
|
|
3659
|
-
"count": 1,
|
|
3660
|
-
"title": "Demo",
|
|
3661
|
-
"type": "paragraph"
|
|
3662
|
-
}
|
|
3663
|
-
}
|
|
3664
|
-
}
|
|
3665
|
-
}
|
|
3666
|
-
},
|
|
3667
3917
|
{
|
|
3668
3918
|
"search": "@awaitConnectedAncestors and @dispatchConnectedEvent",
|
|
3669
3919
|
"files": {
|
|
@@ -5045,14 +5295,14 @@
|
|
|
5045
5295
|
}
|
|
5046
5296
|
},
|
|
5047
5297
|
{
|
|
5048
|
-
"search": "Use DataProviderKey with @subscribe (read-only)
|
|
5298
|
+
"search": "Use DataProviderKey with @subscribe (read-only), @publish (write-only), or @handle (method callback on assign). With @subscribe / @publish, the decorated property must match the key’s value type. With @handle, the method receives (value: T).\n",
|
|
5049
5299
|
"files": {
|
|
5050
5300
|
"docs/_misc/dataProviderKey.md": {
|
|
5051
5301
|
"title": "DataProviderKey",
|
|
5052
5302
|
"hashes": {
|
|
5053
|
-
"integration-with-subscribe-and-
|
|
5303
|
+
"integration-with-subscribe-publish-and-handle": {
|
|
5054
5304
|
"count": 1,
|
|
5055
|
-
"title": "Integration with @subscribe and @
|
|
5305
|
+
"title": "Integration with @subscribe, @publish and @handle",
|
|
5056
5306
|
"type": "paragraph"
|
|
5057
5307
|
}
|
|
5058
5308
|
}
|
|
@@ -5060,14 +5310,14 @@
|
|
|
5060
5310
|
}
|
|
5061
5311
|
},
|
|
5062
5312
|
{
|
|
5063
|
-
"search": "
|
|
5313
|
+
"search": "These decorators support dynamic paths: "base.${prop}" in the constructor. A wrong property type (e.g. number for DataProviderKey<string>) is a TypeScript error. See @handle for method callbacks.\n",
|
|
5064
5314
|
"files": {
|
|
5065
5315
|
"docs/_misc/dataProviderKey.md": {
|
|
5066
5316
|
"title": "DataProviderKey",
|
|
5067
5317
|
"hashes": {
|
|
5068
|
-
"integration-with-subscribe-and-
|
|
5318
|
+
"integration-with-subscribe-publish-and-handle": {
|
|
5069
5319
|
"count": 1,
|
|
5070
|
-
"title": "Integration with @subscribe and @
|
|
5320
|
+
"title": "Integration with @subscribe, @publish and @handle",
|
|
5071
5321
|
"type": "paragraph"
|
|
5072
5322
|
}
|
|
5073
5323
|
}
|
package/src/tsconfig.json
CHANGED
|
@@ -810,9 +810,21 @@
|
|
|
810
810
|
"./decorators/subscriber/dynamicPath": [
|
|
811
811
|
"/sites/concorde/src/core/decorators/subscriber/dynamicPath.ts"
|
|
812
812
|
],
|
|
813
|
+
"./decorators/subscriber/dynamicPropertyWatch.spec": [
|
|
814
|
+
"/sites/concorde/src/core/decorators/subscriber/dynamicPropertyWatch.spec.ts"
|
|
815
|
+
],
|
|
813
816
|
"./decorators/subscriber/dynamicPropertyWatch": [
|
|
814
817
|
"/sites/concorde/src/core/decorators/subscriber/dynamicPropertyWatch.ts"
|
|
815
818
|
],
|
|
819
|
+
"./decorators/subscriber/handle.disambig.spec": [
|
|
820
|
+
"/sites/concorde/src/core/decorators/subscriber/handle.disambig.spec.ts"
|
|
821
|
+
],
|
|
822
|
+
"./decorators/subscriber/handle.skip.spec": [
|
|
823
|
+
"/sites/concorde/src/core/decorators/subscriber/handle.skip.spec.ts"
|
|
824
|
+
],
|
|
825
|
+
"./decorators/subscriber/handle": [
|
|
826
|
+
"/sites/concorde/src/core/decorators/subscriber/handle.ts"
|
|
827
|
+
],
|
|
816
828
|
"./decorators/subscriber/onAssign": [
|
|
817
829
|
"/sites/concorde/src/core/decorators/subscriber/onAssign.ts"
|
|
818
830
|
],
|
package/src/tsconfig.tsbuildinfo
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"root":["./components.ts","./concorde-loaded.ts","./dataprovider.ts","./decorators.ts","./directives.ts","./index.ts","./mixins.ts","./utils.ts","./core/core.ts","./core/_types/endpoint.ts","./core/_types/key.ts","./core/_types/types.ts","./core/components/functional/functional.ts","./core/components/functional/date/date.ts","./core/components/functional/example/example.ts","./core/components/functional/fetch/fetch.ts","./core/components/functional/if/if.test.ts","./core/components/functional/if/if.ts","./core/components/functional/list/list.demo.ts","./core/components/functional/list/list.spec.ts","./core/components/functional/list/list.ts","./core/components/functional/mix/mix.ts","./core/components/functional/queue/queue.demo.ts","./core/components/functional/queue/queue.ts","./core/components/functional/router/redirect.ts","./core/components/functional/router/router.demo.ts","./core/components/functional/router/router.spec.ts","./core/components/functional/router/router.ts","./core/components/functional/sdui/SDUIDescriptorTransformer.ts","./core/components/functional/sdui/sdui-utils.ts","./core/components/functional/sdui/sdui.ts","./core/components/functional/sdui/types.ts","./core/components/functional/sonic-scope/sonic-scope.ts","./core/components/functional/states/states.demo.ts","./core/components/functional/states/states.spec.ts","./core/components/functional/states/states.ts","./core/components/functional/submit/submit.ts","./core/components/functional/subscriber/subscriber.ts","./core/components/functional/translation/translation.ts","./core/components/functional/value/value.ts","./core/components/ui/ui.ts","./core/components/ui/_css/scroll.ts","./core/components/ui/_css/shadow.ts","./core/components/ui/_css/size.ts","./core/components/ui/_css/type.ts","./core/components/ui/alert/alert.ts","./core/components/ui/alert-messages/alert-messages.ts","./core/components/ui/badge/badge.ts","./core/components/ui/button/button.ts","./core/components/ui/captcha/altchaStyles.ts","./core/components/ui/captcha/captcha.ts","./core/components/ui/card/card-footer.ts","./core/components/ui/card/card-header-descripton.ts","./core/components/ui/card/card-header.ts","./core/components/ui/card/card-main.ts","./core/components/ui/card/card.ts","./core/components/ui/divider/divider.ts","./core/components/ui/form/checkbox/checkbox.ts","./core/components/ui/form/css/form-control.ts","./core/components/ui/form/fieldset/fieldset.ts","./core/components/ui/form/fieldset/legend-description.ts","./core/components/ui/form/fieldset/legend.ts","./core/components/ui/form/form-actions/form-actions.ts","./core/components/ui/form/form-layout/form-layout.ts","./core/components/ui/form/input/input.ts","./core/components/ui/form/input/password-helper.ts","./core/components/ui/form/input/same-value-helper.ts","./core/components/ui/form/input-autocomplete/input-autocomplete.ts","./core/components/ui/form/radio/radio.ts","./core/components/ui/form/select/select.ts","./core/components/ui/form/switch/switch.ts","./core/components/ui/form/textarea/textarea.ts","./core/components/ui/group/group.ts","./core/components/ui/icon/icon.stories.ts","./core/components/ui/icon/icon.ts","./core/components/ui/icon/icons.ts","./core/components/ui/image/image.ts","./core/components/ui/link/link.ts","./core/components/ui/loader/loader.stories.ts","./core/components/ui/loader/loader.ts","./core/components/ui/loader/styles/fixed.ts","./core/components/ui/loader/styles/inline.ts","./core/components/ui/menu/menu-item.ts","./core/components/ui/menu/menu.ts","./core/components/ui/modal/modal-actions.ts","./core/components/ui/modal/modal-close.ts","./core/components/ui/modal/modal-content.ts","./core/components/ui/modal/modal-subtitle.ts","./core/components/ui/modal/modal-title.ts","./core/components/ui/modal/modal-utils.ts","./core/components/ui/modal/modal.ts","./core/components/ui/pop/pop.ts","./core/components/ui/progress/progress.ts","./core/components/ui/table/table-caption.ts","./core/components/ui/table/table-tbody.ts","./core/components/ui/table/table-td.ts","./core/components/ui/table/table-tfoot.ts","./core/components/ui/table/table-th.ts","./core/components/ui/table/table-thead.ts","./core/components/ui/table/table-tr.ts","./core/components/ui/table/table.ts","./core/components/ui/theme/theme.ts","./core/components/ui/theme/theme-collection/core-variables.ts","./core/components/ui/theme/theme-collection/dark.ts","./core/components/ui/theme/theme-collection/light.ts","./core/components/ui/toast/message-subscriber.ts","./core/components/ui/toast/toast-item.ts","./core/components/ui/toast/toast.ts","./core/components/ui/toast/types.ts","./core/components/ui/tooltip/tooltip.ts","./core/decorators/Subscriber.ts","./core/decorators/api.spec.ts","./core/decorators/api.ts","./core/decorators/lifecycle.ts","./core/decorators/subscriber/ancestorAttribute.ts","./core/decorators/subscriber/autoFill.ts","./core/decorators/subscriber/autoSubscribe.ts","./core/decorators/subscriber/bind.ts","./core/decorators/subscriber/common.ts","./core/decorators/subscriber/dynamicPath.ts","./core/decorators/subscriber/dynamicPropertyWatch.ts","./core/decorators/subscriber/onAssign.ts","./core/decorators/subscriber/publish.spec.ts","./core/decorators/subscriber/publish.ts","./core/decorators/subscriber/publisherPath.ts","./core/decorators/subscriber/subscribe.spec.ts","./core/decorators/subscriber/subscribe.ts","./core/directives/DataProvider.ts","./core/directives/Wording.ts","./core/mixins/Fetcher.ts","./core/mixins/FormCheckable.ts","./core/mixins/FormElement.ts","./core/mixins/FormInput.ts","./core/mixins/Subscriber.ts","./core/mixins/TemplatesContainer.ts","./core/mixins/mixins.ts","./core/utils/Arrays.ts","./core/utils/DataBindObserver.ts","./core/utils/Electron.ts","./core/utils/Format.ts","./core/utils/HTML.ts","./core/utils/LocationHandler.ts","./core/utils/Objects.ts","./core/utils/PublisherProxy.ts","./core/utils/Utils.ts","./core/utils/aesCrypto.ts","./core/utils/api.ts","./core/utils/dataProviderKey.spec.ts","./core/utils/dataProviderKey.ts","./core/utils/endpoint.spec.ts","./core/utils/endpoint.ts","./core/utils/route.spec.ts","./core/utils/route.ts","./core/utils/url-pattern.ts","./test-utils/TestUtils.ts"],"version":"5.9.2"}
|
|
1
|
+
{"root":["./components.ts","./concorde-loaded.ts","./dataprovider.ts","./decorators.ts","./directives.ts","./index.ts","./mixins.ts","./utils.ts","./core/core.ts","./core/_types/endpoint.ts","./core/_types/key.ts","./core/_types/types.ts","./core/components/functional/functional.ts","./core/components/functional/date/date.ts","./core/components/functional/example/example.ts","./core/components/functional/fetch/fetch.ts","./core/components/functional/if/if.test.ts","./core/components/functional/if/if.ts","./core/components/functional/list/list.demo.ts","./core/components/functional/list/list.spec.ts","./core/components/functional/list/list.ts","./core/components/functional/mix/mix.ts","./core/components/functional/queue/queue.demo.ts","./core/components/functional/queue/queue.ts","./core/components/functional/router/redirect.ts","./core/components/functional/router/router.demo.ts","./core/components/functional/router/router.spec.ts","./core/components/functional/router/router.ts","./core/components/functional/sdui/SDUIDescriptorTransformer.ts","./core/components/functional/sdui/sdui-utils.ts","./core/components/functional/sdui/sdui.ts","./core/components/functional/sdui/types.ts","./core/components/functional/sonic-scope/sonic-scope.ts","./core/components/functional/states/states.demo.ts","./core/components/functional/states/states.spec.ts","./core/components/functional/states/states.ts","./core/components/functional/submit/submit.ts","./core/components/functional/subscriber/subscriber.ts","./core/components/functional/translation/translation.ts","./core/components/functional/value/value.ts","./core/components/ui/ui.ts","./core/components/ui/_css/scroll.ts","./core/components/ui/_css/shadow.ts","./core/components/ui/_css/size.ts","./core/components/ui/_css/type.ts","./core/components/ui/alert/alert.ts","./core/components/ui/alert-messages/alert-messages.ts","./core/components/ui/badge/badge.ts","./core/components/ui/button/button.ts","./core/components/ui/captcha/altchaStyles.ts","./core/components/ui/captcha/captcha.ts","./core/components/ui/card/card-footer.ts","./core/components/ui/card/card-header-descripton.ts","./core/components/ui/card/card-header.ts","./core/components/ui/card/card-main.ts","./core/components/ui/card/card.ts","./core/components/ui/divider/divider.ts","./core/components/ui/form/checkbox/checkbox.ts","./core/components/ui/form/css/form-control.ts","./core/components/ui/form/fieldset/fieldset.ts","./core/components/ui/form/fieldset/legend-description.ts","./core/components/ui/form/fieldset/legend.ts","./core/components/ui/form/form-actions/form-actions.ts","./core/components/ui/form/form-layout/form-layout.ts","./core/components/ui/form/input/input.ts","./core/components/ui/form/input/password-helper.ts","./core/components/ui/form/input/same-value-helper.ts","./core/components/ui/form/input-autocomplete/input-autocomplete.ts","./core/components/ui/form/radio/radio.ts","./core/components/ui/form/select/select.ts","./core/components/ui/form/switch/switch.ts","./core/components/ui/form/textarea/textarea.ts","./core/components/ui/group/group.ts","./core/components/ui/icon/icon.stories.ts","./core/components/ui/icon/icon.ts","./core/components/ui/icon/icons.ts","./core/components/ui/image/image.ts","./core/components/ui/link/link.ts","./core/components/ui/loader/loader.stories.ts","./core/components/ui/loader/loader.ts","./core/components/ui/loader/styles/fixed.ts","./core/components/ui/loader/styles/inline.ts","./core/components/ui/menu/menu-item.ts","./core/components/ui/menu/menu.ts","./core/components/ui/modal/modal-actions.ts","./core/components/ui/modal/modal-close.ts","./core/components/ui/modal/modal-content.ts","./core/components/ui/modal/modal-subtitle.ts","./core/components/ui/modal/modal-title.ts","./core/components/ui/modal/modal-utils.ts","./core/components/ui/modal/modal.ts","./core/components/ui/pop/pop.ts","./core/components/ui/progress/progress.ts","./core/components/ui/table/table-caption.ts","./core/components/ui/table/table-tbody.ts","./core/components/ui/table/table-td.ts","./core/components/ui/table/table-tfoot.ts","./core/components/ui/table/table-th.ts","./core/components/ui/table/table-thead.ts","./core/components/ui/table/table-tr.ts","./core/components/ui/table/table.ts","./core/components/ui/theme/theme.ts","./core/components/ui/theme/theme-collection/core-variables.ts","./core/components/ui/theme/theme-collection/dark.ts","./core/components/ui/theme/theme-collection/light.ts","./core/components/ui/toast/message-subscriber.ts","./core/components/ui/toast/toast-item.ts","./core/components/ui/toast/toast.ts","./core/components/ui/toast/types.ts","./core/components/ui/tooltip/tooltip.ts","./core/decorators/Subscriber.ts","./core/decorators/api.spec.ts","./core/decorators/api.ts","./core/decorators/lifecycle.ts","./core/decorators/subscriber/ancestorAttribute.ts","./core/decorators/subscriber/autoFill.ts","./core/decorators/subscriber/autoSubscribe.ts","./core/decorators/subscriber/bind.ts","./core/decorators/subscriber/common.ts","./core/decorators/subscriber/dynamicPath.ts","./core/decorators/subscriber/dynamicPropertyWatch.spec.ts","./core/decorators/subscriber/dynamicPropertyWatch.ts","./core/decorators/subscriber/handle.disambig.spec.ts","./core/decorators/subscriber/handle.skip.spec.ts","./core/decorators/subscriber/handle.ts","./core/decorators/subscriber/onAssign.ts","./core/decorators/subscriber/publish.spec.ts","./core/decorators/subscriber/publish.ts","./core/decorators/subscriber/publisherPath.ts","./core/decorators/subscriber/subscribe.spec.ts","./core/decorators/subscriber/subscribe.ts","./core/directives/DataProvider.ts","./core/directives/Wording.ts","./core/mixins/Fetcher.ts","./core/mixins/FormCheckable.ts","./core/mixins/FormElement.ts","./core/mixins/FormInput.ts","./core/mixins/Subscriber.ts","./core/mixins/TemplatesContainer.ts","./core/mixins/mixins.ts","./core/utils/Arrays.ts","./core/utils/DataBindObserver.ts","./core/utils/Electron.ts","./core/utils/Format.ts","./core/utils/HTML.ts","./core/utils/LocationHandler.ts","./core/utils/Objects.ts","./core/utils/PublisherProxy.ts","./core/utils/Utils.ts","./core/utils/aesCrypto.ts","./core/utils/api.ts","./core/utils/dataProviderKey.spec.ts","./core/utils/dataProviderKey.ts","./core/utils/endpoint.spec.ts","./core/utils/endpoint.ts","./core/utils/route.spec.ts","./core/utils/route.ts","./core/utils/url-pattern.ts","./test-utils/TestUtils.ts"],"version":"5.9.2"}
|