@blotch/dolan 22.2.3 → 22.2.5
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/commands/add.js +9 -1
- package/dist/commands/add.js.map +1 -1
- package/dist/commands/add.test.js +38 -3
- package/dist/commands/add.test.js.map +1 -1
- package/dist/commands/doctor.js +258 -21
- package/dist/commands/doctor.js.map +1 -1
- package/dist/commands/doctor.test.js +425 -11
- package/dist/commands/doctor.test.js.map +1 -1
- package/dist/commands/init.d.ts +2 -2
- package/dist/commands/init.js +38 -18
- package/dist/commands/init.js.map +1 -1
- package/dist/commands/init.test.js +105 -2
- package/dist/commands/init.test.js.map +1 -1
- package/dist/commands/theme.js +1 -1
- package/dist/commands/theme.js.map +1 -1
- package/dist/commands/update.d.ts +7 -0
- package/dist/commands/update.js +194 -50
- package/dist/commands/update.js.map +1 -1
- package/dist/commands/update.test.js +570 -3
- package/dist/commands/update.test.js.map +1 -1
- package/dist/lockfile.d.ts +17 -0
- package/dist/lockfile.js +56 -1
- package/dist/lockfile.js.map +1 -1
- package/dist/lockfile.test.d.ts +1 -0
- package/dist/lockfile.test.js +65 -0
- package/dist/lockfile.test.js.map +1 -0
- package/dist/registry.d.ts +6 -0
- package/dist/registry.js +119 -11
- package/dist/registry.js.map +1 -1
- package/dist/registry.test.js +61 -6
- package/dist/registry.test.js.map +1 -1
- package/dist/test-utils.d.ts +27 -0
- package/dist/test-utils.js +45 -1
- package/dist/test-utils.js.map +1 -1
- package/dist/testing/fire-lynx-event.d.ts +14 -0
- package/dist/testing/fire-lynx-event.js +19 -0
- package/dist/testing/fire-lynx-event.js.map +1 -0
- package/dist/testing/fire-lynx-event.test.d.ts +1 -0
- package/dist/testing/fire-lynx-event.test.js +44 -0
- package/dist/testing/fire-lynx-event.test.js.map +1 -0
- package/dist/testing/lynx-main-thread.d.ts +22 -0
- package/dist/testing/lynx-main-thread.js +11 -0
- package/dist/testing/lynx-main-thread.js.map +1 -0
- package/dist/testing/lynx-main-thread.test.d.ts +1 -0
- package/dist/testing/lynx-main-thread.test.js +24 -0
- package/dist/testing/lynx-main-thread.test.js.map +1 -0
- package/dist/testing/set-input-signal.d.ts +5 -4
- package/dist/testing/set-input-signal.js +5 -4
- package/dist/testing/set-input-signal.js.map +1 -1
- package/dist/ui/boolean-inputs.test.ts +76 -0
- package/dist/ui/components/accordion/accordion.test.ts +158 -144
- package/dist/ui/components/accordion/accordion.ts +19 -14
- package/dist/ui/components/action-sheet/action-sheet.test.ts +637 -183
- package/dist/ui/components/action-sheet/action-sheet.ts +339 -55
- package/dist/ui/components/action-sheet/index.ts +1 -0
- package/dist/ui/components/alert/alert.test.ts +67 -19
- package/dist/ui/components/alert/alert.ts +14 -16
- package/dist/ui/components/alert-dialog/alert-dialog.test.ts +740 -129
- package/dist/ui/components/alert-dialog/alert-dialog.ts +672 -58
- package/dist/ui/components/alert-dialog/index.ts +5 -0
- package/dist/ui/components/area-chart/area-chart.test.ts +81 -1
- package/dist/ui/components/area-chart/area-chart.ts +3 -2
- package/dist/ui/components/avatar/avatar.test.ts +89 -45
- package/dist/ui/components/badge/badge.test.ts +57 -23
- package/dist/ui/components/badge/badge.ts +14 -15
- package/dist/ui/components/bar-chart/bar-chart.test.ts +82 -1
- package/dist/ui/components/bottom-sheet/bottom-sheet.test.ts +1314 -273
- package/dist/ui/components/bottom-sheet/bottom-sheet.ts +1046 -119
- package/dist/ui/components/bottom-sheet/index.ts +7 -1
- package/dist/ui/components/button/button.test.ts +646 -2
- package/dist/ui/components/button/button.ts +443 -64
- package/dist/ui/components/button/index.ts +2 -0
- package/dist/ui/components/button-group/button-group.test.ts +528 -2
- package/dist/ui/components/button-group/button-group.ts +428 -70
- package/dist/ui/components/button-group/index.ts +3 -0
- package/dist/ui/components/candlestick-chart/candlestick-chart.test.ts +82 -1
- package/dist/ui/components/card/card.test.ts +97 -61
- package/dist/ui/components/card/card.ts +2 -1
- package/dist/ui/components/chart/chart-presets.test.ts +197 -1
- package/dist/ui/components/chart/chart-presets.ts +14 -7
- package/dist/ui/components/chart/chart-theme.ts +12 -0
- package/dist/ui/components/chart/chart.test.ts +1031 -0
- package/dist/ui/components/chart/chart.ts +66 -46
- package/dist/ui/components/checkbox/checkbox.test.ts +124 -42
- package/dist/ui/components/checkbox/checkbox.ts +25 -24
- package/dist/ui/components/collapsible/collapsible.test.ts +158 -81
- package/dist/ui/components/collapsible/collapsible.ts +21 -15
- package/dist/ui/components/context-menu/context-menu.test.ts +224 -0
- package/dist/ui/components/context-menu/context-menu.ts +110 -0
- package/dist/ui/components/context-menu/index.ts +1 -0
- package/dist/ui/components/dialog/dialog.test.ts +210 -152
- package/dist/ui/components/dialog/dialog.ts +35 -29
- package/dist/ui/components/dock/dock-scroll.test.ts +130 -0
- package/dist/ui/components/dock/dock-scroll.ts +142 -0
- package/dist/ui/components/dock/dock-search.test.ts +594 -0
- package/dist/ui/components/dock/dock.test.ts +752 -0
- package/dist/ui/components/dock/dock.ts +1438 -0
- package/dist/ui/components/dock/index.ts +2 -0
- package/dist/ui/components/dynamic-color/dynamic-color.test.ts +144 -0
- package/dist/ui/components/dynamic-color/dynamic-color.ts +146 -0
- package/dist/ui/components/dynamic-color/index.ts +5 -0
- package/dist/ui/components/empty-state/empty-state.test.ts +28 -39
- package/dist/ui/components/glass/concentric-radius.test.ts +13 -0
- package/dist/ui/components/glass/concentric-radius.ts +17 -0
- package/dist/ui/components/glass/glass-design.test.ts +78 -0
- package/dist/ui/components/glass/glass-design.ts +119 -0
- package/dist/ui/components/glass/glass.test.ts +376 -0
- package/dist/ui/components/glass/glass.ts +430 -0
- package/dist/ui/components/glass/index.ts +19 -0
- package/dist/ui/components/icon/icon-theme.test.ts +64 -0
- package/dist/ui/components/icon/icon-theme.ts +70 -16
- package/dist/ui/components/icon/icon.test.ts +52 -41
- package/dist/ui/components/input/input.test.ts +178 -101
- package/dist/ui/components/input/input.ts +17 -13
- package/dist/ui/components/label/label.test.ts +11 -24
- package/dist/ui/components/label/label.ts +8 -2
- package/dist/ui/components/line-chart/line-chart.test.ts +76 -1
- package/dist/ui/components/line-chart/line-chart.ts +3 -2
- package/dist/ui/components/list/list.test.ts +80 -49
- package/dist/ui/components/list/list.ts +5 -4
- package/dist/ui/components/menu/index.ts +25 -0
- package/dist/ui/components/menu/menu-placement.test.ts +153 -0
- package/dist/ui/components/menu/menu-placement.ts +159 -0
- package/dist/ui/components/menu/menu-popup.test.ts +636 -0
- package/dist/ui/components/menu/menu-popup.ts +565 -0
- package/dist/ui/components/menu/menu.test.ts +523 -0
- package/dist/ui/components/menu/menu.ts +455 -0
- package/dist/ui/components/nav-drawer/nav-drawer.test.ts +425 -260
- package/dist/ui/components/nav-drawer/nav-drawer.ts +75 -58
- package/dist/ui/components/navigation-bar/index.ts +1 -0
- package/dist/ui/components/navigation-bar/navigation-bar.test.ts +425 -0
- package/dist/ui/components/navigation-bar/navigation-bar.ts +411 -0
- package/dist/ui/components/pagination/pagination.test.ts +136 -86
- package/dist/ui/components/popover/index.ts +9 -0
- package/dist/ui/components/popover/popover-panel.test.ts +735 -0
- package/dist/ui/components/popover/popover-panel.ts +603 -0
- package/dist/ui/components/popover/popover.test.ts +286 -0
- package/dist/ui/components/popover/popover.ts +207 -0
- package/dist/ui/components/progress/progress.test.ts +102 -46
- package/dist/ui/components/progress/progress.ts +54 -55
- package/dist/ui/components/radio-group/radio-group.test.ts +128 -83
- package/dist/ui/components/radio-group/radio-group.ts +26 -25
- package/dist/ui/components/scatter-chart/scatter-chart.test.ts +74 -1
- package/dist/ui/components/scroll-area/scroll-area.test.ts +72 -36
- package/dist/ui/components/scroll-area/scroll-area.ts +4 -3
- package/dist/ui/components/search-field/index.ts +15 -0
- package/dist/ui/components/search-field/keyboard.test.ts +147 -0
- package/dist/ui/components/search-field/keyboard.ts +123 -0
- package/dist/ui/components/search-field/search-field.test.ts +549 -0
- package/dist/ui/components/search-field/search-field.ts +628 -0
- package/dist/ui/components/segmented-control/index.ts +8 -0
- package/dist/ui/components/segmented-control/segmented-control.test.ts +861 -0
- package/dist/ui/components/segmented-control/segmented-control.ts +884 -0
- package/dist/ui/components/select/select.test.ts +138 -78
- package/dist/ui/components/select/select.ts +19 -12
- package/dist/ui/components/separator/separator.test.ts +18 -17
- package/dist/ui/components/sheet/sheet.test.ts +151 -11
- package/dist/ui/components/sheet/sheet.ts +68 -5
- package/dist/ui/components/skeleton/skeleton.test.ts +24 -7
- package/dist/ui/components/skeleton/skeleton.ts +10 -16
- package/dist/ui/components/slider/index.ts +1 -0
- package/dist/ui/components/slider/slider.test.ts +695 -0
- package/dist/ui/components/slider/slider.ts +901 -0
- package/dist/ui/components/spinner/spinner.test.ts +64 -46
- package/dist/ui/components/spinner/spinner.ts +16 -19
- package/dist/ui/components/switch/index.ts +1 -1
- package/dist/ui/components/switch/switch.test.ts +534 -48
- package/dist/ui/components/switch/switch.ts +613 -48
- package/dist/ui/components/tab-bar/index.ts +1 -0
- package/dist/ui/components/tab-bar/tab-bar.test.ts +280 -0
- package/dist/ui/components/tab-bar/tab-bar.ts +230 -0
- package/dist/ui/components/tabs/index.ts +7 -1
- package/dist/ui/components/tabs/tabs.test.ts +484 -150
- package/dist/ui/components/tabs/tabs.ts +344 -149
- package/dist/ui/components/textarea/textarea.test.ts +206 -100
- package/dist/ui/components/textarea/textarea.ts +16 -13
- package/dist/ui/components/toast/toast.test.ts +434 -350
- package/dist/ui/components/toast/toast.ts +42 -51
- package/dist/ui/components/toggle/index.ts +1 -0
- package/dist/ui/components/toggle/toggle.test.ts +559 -146
- package/dist/ui/components/toggle/toggle.ts +241 -26
- package/dist/ui/components/toolbar/bar-scroll.test.ts +310 -0
- package/dist/ui/components/toolbar/bar-scroll.ts +372 -0
- package/dist/ui/components/toolbar/index.ts +12 -0
- package/dist/ui/components/toolbar/toolbar.test.ts +438 -0
- package/dist/ui/components/toolbar/toolbar.ts +535 -0
- package/dist/ui/theme/chart-colors.test.ts +8 -3
- package/dist/ui/theme/dark.css +38 -2
- package/dist/ui/theme/default.css +55 -7
- package/dist/ui/theme/icon-colors.test.ts +8 -3
- package/dist/ui/theme/rgb-channels.test.ts +84 -0
- package/dist/ui/theme/tailwind-build.test.ts +114 -0
- package/dist/ui/theme/tailwind-css.test.ts +83 -0
- package/dist/ui/theme/tailwind-plugin.test.ts +42 -2
- package/dist/ui/theme/tailwind-plugin.ts +93 -29
- package/dist/ui/theme/tailwind.css +113 -0
- package/dist/ui/utils/animate.test.ts +13 -1
- package/dist/utils/analyze.d.ts +19 -0
- package/dist/utils/analyze.js +16 -0
- package/dist/utils/analyze.js.map +1 -1
- package/dist/utils/analyze.test.js +14 -1
- package/dist/utils/analyze.test.js.map +1 -1
- package/dist/utils/installed.d.ts +25 -1
- package/dist/utils/installed.js +33 -0
- package/dist/utils/installed.js.map +1 -1
- package/dist/utils/installed.test.js +55 -1
- package/dist/utils/installed.test.js.map +1 -1
- package/dist/utils/resolve-paths.d.ts +4 -4
- package/dist/utils/resolve-paths.js +5 -7
- package/dist/utils/resolve-paths.js.map +1 -1
- package/dist/utils/resolve-paths.test.js +9 -5
- package/dist/utils/resolve-paths.test.js.map +1 -1
- package/dist/utils/tailwind.d.ts +45 -0
- package/dist/utils/tailwind.js +90 -0
- package/dist/utils/tailwind.js.map +1 -0
- package/dist/utils/tailwind.test.d.ts +1 -0
- package/dist/utils/tailwind.test.js +134 -0
- package/dist/utils/tailwind.test.js.map +1 -0
- package/package.json +9 -1
- package/dist/ui/components/area-chart/area-chart-render.test.ts +0 -63
- package/dist/ui/components/bar-chart/bar-chart-render.test.ts +0 -58
- package/dist/ui/components/button/button-render.test.ts +0 -132
- package/dist/ui/components/button-group/button-group-render.test.ts +0 -146
- package/dist/ui/components/candlestick-chart/candlestick-chart-render.test.ts +0 -59
- package/dist/ui/components/chart/chart-render.test.ts +0 -730
- package/dist/ui/components/line-chart/line-chart-render.test.ts +0 -83
- package/dist/ui/components/scatter-chart/scatter-chart-render.test.ts +0 -64
|
@@ -15,7 +15,12 @@ import { LYNX_ELEMENTS } from '@blotch/angular-lynx';
|
|
|
15
15
|
|
|
16
16
|
import { type AnimationHandle, DURATION, EASING } from '../../utils/animate';
|
|
17
17
|
import { cn } from '../../utils/cn';
|
|
18
|
-
import {
|
|
18
|
+
import {
|
|
19
|
+
type ToastAction,
|
|
20
|
+
type ToastData,
|
|
21
|
+
dismissToast,
|
|
22
|
+
toasts,
|
|
23
|
+
} from './toast-state';
|
|
19
24
|
|
|
20
25
|
// --- Drag-to-dismiss tuning (front toast only) ---
|
|
21
26
|
// Minimum downward travel (px) before releasing dismisses the toast instead of
|
|
@@ -80,7 +85,7 @@ const stackTransform = (depth: number): string =>
|
|
|
80
85
|
}
|
|
81
86
|
</view>
|
|
82
87
|
@if (data().action; as action) {
|
|
83
|
-
<view [class]="actionClass()" (catchtap)="onAction()">
|
|
88
|
+
<view [class]="actionClass()" (catchtap)="onAction(action)">
|
|
84
89
|
<text [class]="actionTextClass()">{{ action.label }}</text>
|
|
85
90
|
</view>
|
|
86
91
|
}
|
|
@@ -111,28 +116,25 @@ export class UiToastItem implements OnInit, OnDestroy {
|
|
|
111
116
|
// unspecified order, and the timer can race both.
|
|
112
117
|
#isDismissing = false;
|
|
113
118
|
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
});
|
|
134
|
-
/* v8 ignore stop */
|
|
135
|
-
}
|
|
119
|
+
// The depth the restack effect last saw, so it knows where to animate from.
|
|
120
|
+
#stackedDepth: number | null = null;
|
|
121
|
+
|
|
122
|
+
/**
|
|
123
|
+
* Restack: when a toast in front is dismissed (or a new one is pushed) this
|
|
124
|
+
* toast's depth changes — animate it to its new slot. A field rather than a
|
|
125
|
+
* constructor: Angular's test build keeps a function for a constructor that
|
|
126
|
+
* nothing calls, which an app's coverage report would show as uncovered.
|
|
127
|
+
*/
|
|
128
|
+
protected readonly restacking = effect(() => {
|
|
129
|
+
const depth = this.depth();
|
|
130
|
+
const from = this.#stackedDepth;
|
|
131
|
+
this.#stackedDepth = depth;
|
|
132
|
+
// `effect` runs after inputs are set, so the first run just records the
|
|
133
|
+
// starting depth. After that it only re-runs once the depth changes; the
|
|
134
|
+
// second check is a safeguard.
|
|
135
|
+
if (from === null || from === depth) return;
|
|
136
|
+
this.#animateRestack(from, depth);
|
|
137
|
+
});
|
|
136
138
|
|
|
137
139
|
ngOnInit(): void {
|
|
138
140
|
// Start the auto-dismiss countdown when the toast mounts — i.e. when it is
|
|
@@ -230,8 +232,12 @@ export class UiToastItem implements OnInit, OnDestroy {
|
|
|
230
232
|
this.dismiss();
|
|
231
233
|
}
|
|
232
234
|
|
|
233
|
-
|
|
234
|
-
|
|
235
|
+
/**
|
|
236
|
+
* Runs the toast's action, then dismisses it. The action button only
|
|
237
|
+
* renders for a toast that has an action, which it passes in.
|
|
238
|
+
*/
|
|
239
|
+
protected onAction(action: ToastAction): void {
|
|
240
|
+
action.onAction();
|
|
235
241
|
this.dismiss();
|
|
236
242
|
}
|
|
237
243
|
|
|
@@ -317,8 +323,6 @@ export class UiToastItem implements OnInit, OnDestroy {
|
|
|
317
323
|
|
|
318
324
|
#animateIn(): void {
|
|
319
325
|
const el = this.#host.nativeElement;
|
|
320
|
-
/* v8 ignore next 1 -- host is always mounted when animateIn runs in tests */
|
|
321
|
-
if (!el) return;
|
|
322
326
|
this.#anim?.cancel();
|
|
323
327
|
// Reveal now that the animation owns opacity (0 → 1 below); afterwards the
|
|
324
328
|
// host style keeps it at 1. Without this the resting-position frame before
|
|
@@ -358,32 +362,24 @@ export class UiToastItem implements OnInit, OnDestroy {
|
|
|
358
362
|
}
|
|
359
363
|
|
|
360
364
|
/**
|
|
361
|
-
*
|
|
362
|
-
*
|
|
363
|
-
*
|
|
364
|
-
* v8 ignore start -- only invoked from the restack effect, which never
|
|
365
|
-
* re-runs in JIT (see the effect body above); exercised on device.
|
|
365
|
+
* Move to a new stack slot when depth changes (a toast in front popped, or a
|
|
366
|
+
* new one pushed this one back). This is what makes the stack slide forward
|
|
367
|
+
* when the front toast is dismissed.
|
|
366
368
|
*/
|
|
367
369
|
#animateRestack(from: number, to: number): void {
|
|
368
370
|
// A toast pushed while this one is animating out would shift its depth and
|
|
369
371
|
// restack it back into view — let the exit win instead.
|
|
370
372
|
if (this.#isDismissing) return;
|
|
371
373
|
const el = this.#host.nativeElement;
|
|
372
|
-
if (!el) return;
|
|
373
374
|
this.#anim?.cancel();
|
|
374
375
|
this.#anim = el.animate(
|
|
375
376
|
[{ transform: stackTransform(from) }, { transform: stackTransform(to) }],
|
|
376
377
|
{ duration: DURATION.normal, easing: EASING.standard, fill: 'forwards' },
|
|
377
378
|
);
|
|
378
379
|
}
|
|
379
|
-
/**
|
|
380
|
-
* v8 ignore stop
|
|
381
|
-
*/
|
|
382
380
|
|
|
383
381
|
#animateOut(): void {
|
|
384
382
|
const el = this.#host.nativeElement;
|
|
385
|
-
/* v8 ignore next 1 -- host is always mounted when animateOut runs in tests */
|
|
386
|
-
if (!el) return;
|
|
387
383
|
this.#anim?.cancel();
|
|
388
384
|
|
|
389
385
|
const d = this.depth();
|
|
@@ -431,18 +427,13 @@ export class UiToastItem implements OnInit, OnDestroy {
|
|
|
431
427
|
#snapBack(fromOffset: number): void {
|
|
432
428
|
const el = this.#host.nativeElement;
|
|
433
429
|
this.#anim?.cancel();
|
|
434
|
-
|
|
435
|
-
|
|
436
|
-
|
|
437
|
-
|
|
438
|
-
|
|
439
|
-
|
|
440
|
-
|
|
441
|
-
],
|
|
442
|
-
{ duration: DURATION.fast, easing: EASING.spring, fill: 'forwards' },
|
|
443
|
-
);
|
|
444
|
-
}
|
|
445
|
-
/* v8 ignore stop */
|
|
430
|
+
this.#anim = el.animate(
|
|
431
|
+
[
|
|
432
|
+
{ transform: `translateY(${fromOffset}px) scale(1)` },
|
|
433
|
+
{ transform: 'translateY(0px) scale(1)' },
|
|
434
|
+
],
|
|
435
|
+
{ duration: DURATION.fast, easing: EASING.spring, fill: 'forwards' },
|
|
436
|
+
);
|
|
446
437
|
// Match the inline transform to the animation's resting state so the two
|
|
447
438
|
// agree once fill:'forwards' hands control back to the style binding.
|
|
448
439
|
this.dragOffset.set(0);
|