duck-dev-lib 0.0.45 → 0.0.46

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "duck-dev-lib",
3
- "version": "0.0.45",
3
+ "version": "0.0.46",
4
4
  "peerDependencies": {
5
5
  "@angular/common": "^21.0.0",
6
6
  "@angular/core": "^21.0.0"
@@ -1,8 +1,9 @@
1
1
  import * as _angular_core from '@angular/core';
2
- import { ElementRef, OnDestroy, OnInit, TemplateRef, AfterContentInit } from '@angular/core';
2
+ import { ElementRef, OnDestroy, OnInit, TemplateRef, AfterContentInit, Signal } from '@angular/core';
3
3
  import { Translation } from '@jsverse/transloco';
4
4
  import { FormGroup } from '@angular/forms';
5
5
  import { DomSanitizer, SafeHtml } from '@angular/platform-browser';
6
+ import * as duck_dev_lib from 'duck-dev-lib';
6
7
 
7
8
  declare enum AccentEnumColor {
8
9
  Orange = "orange",
@@ -456,6 +457,13 @@ declare class DuckDevCardMinimal {
456
457
  }
457
458
 
458
459
  declare class DuckDevCardNeobrutalPoster {
460
+ private readonly destroyRef;
461
+ private activePointerId;
462
+ private dragAxis;
463
+ private dragStartX;
464
+ private dragStartY;
465
+ private cardWidth;
466
+ private swipeEmitTimeoutId;
459
467
  readonly color: _angular_core.InputSignal<AccentEnumColor>;
460
468
  readonly railTop: _angular_core.InputSignal<string>;
461
469
  readonly railMiddle: _angular_core.InputSignal<string>;
@@ -466,21 +474,68 @@ declare class DuckDevCardNeobrutalPoster {
466
474
  readonly badge: _angular_core.InputSignal<string>;
467
475
  readonly metricLabel: _angular_core.InputSignal<string>;
468
476
  readonly metric: _angular_core.InputSignal<string>;
477
+ readonly swipeable: _angular_core.InputSignal<boolean>;
478
+ readonly swipeThreshold: _angular_core.InputSignal<number>;
479
+ readonly swipedLeft: _angular_core.OutputEmitterRef<void>;
480
+ readonly swipedRight: _angular_core.OutputEmitterRef<void>;
469
481
  protected readonly cardStyle: _angular_core.Signal<{
470
482
  [key: string]: string;
471
483
  }>;
484
+ protected readonly isDragging: _angular_core.WritableSignal<boolean>;
485
+ protected readonly dragOffsetX: _angular_core.WritableSignal<number>;
486
+ protected readonly dragTransition: _angular_core.WritableSignal<string>;
487
+ protected readonly rotationDeg: _angular_core.Signal<number>;
488
+ protected readonly transformStyle: _angular_core.Signal<string>;
489
+ protected readonly cursorStyle: _angular_core.Signal<"default" | "grabbing" | "grab">;
490
+ protected readonly touchActionStyle: _angular_core.Signal<"pan-y" | "auto">;
491
+ constructor();
492
+ protected onPointerDown(event: PointerEvent): void;
493
+ protected onPointerMove(event: PointerEvent): void;
494
+ protected onPointerUp(event: PointerEvent): void;
495
+ protected onPointerCancel(event: PointerEvent): void;
496
+ private releasePointer;
497
+ private resetPosition;
498
+ private clearSwipeEmitTimeout;
499
+ private clamp;
472
500
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<DuckDevCardNeobrutalPoster, never>;
473
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<DuckDevCardNeobrutalPoster, "dd-card-neobrutal-poster", never, { "color": { "alias": "color"; "required": false; "isSignal": true; }; "railTop": { "alias": "railTop"; "required": true; "isSignal": true; }; "railMiddle": { "alias": "railMiddle"; "required": true; "isSignal": true; }; "railBottom": { "alias": "railBottom"; "required": true; "isSignal": true; }; "eyebrow": { "alias": "eyebrow"; "required": true; "isSignal": true; }; "title": { "alias": "title"; "required": true; "isSignal": true; }; "description": { "alias": "description"; "required": true; "isSignal": true; }; "badge": { "alias": "badge"; "required": true; "isSignal": true; }; "metricLabel": { "alias": "metricLabel"; "required": true; "isSignal": true; }; "metric": { "alias": "metric"; "required": true; "isSignal": true; }; }, {}, never, never, true, never>;
501
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<DuckDevCardNeobrutalPoster, "dd-card-neobrutal-poster", never, { "color": { "alias": "color"; "required": false; "isSignal": true; }; "railTop": { "alias": "railTop"; "required": true; "isSignal": true; }; "railMiddle": { "alias": "railMiddle"; "required": true; "isSignal": true; }; "railBottom": { "alias": "railBottom"; "required": true; "isSignal": true; }; "eyebrow": { "alias": "eyebrow"; "required": true; "isSignal": true; }; "title": { "alias": "title"; "required": true; "isSignal": true; }; "description": { "alias": "description"; "required": true; "isSignal": true; }; "badge": { "alias": "badge"; "required": true; "isSignal": true; }; "metricLabel": { "alias": "metricLabel"; "required": true; "isSignal": true; }; "metric": { "alias": "metric"; "required": true; "isSignal": true; }; "swipeable": { "alias": "swipeable"; "required": false; "isSignal": true; }; "swipeThreshold": { "alias": "swipeThreshold"; "required": false; "isSignal": true; }; }, { "swipedLeft": "swipedLeft"; "swipedRight": "swipedRight"; }, never, never, true, never>;
474
502
  }
475
503
 
476
504
  declare class DuckDevCardNeobrutalSlab {
505
+ private readonly destroyRef;
506
+ private activePointerId;
507
+ private dragAxis;
508
+ private dragStartX;
509
+ private dragStartY;
510
+ private cardWidth;
511
+ private swipeEmitTimeoutId;
477
512
  readonly color: _angular_core.InputSignal<AccentEnumColor>;
478
513
  readonly strapLabel: _angular_core.InputSignal<string>;
514
+ readonly swipeable: _angular_core.InputSignal<boolean>;
515
+ readonly swipeThreshold: _angular_core.InputSignal<number>;
516
+ readonly swipedLeft: _angular_core.OutputEmitterRef<void>;
517
+ readonly swipedRight: _angular_core.OutputEmitterRef<void>;
479
518
  protected readonly cardStyle: _angular_core.Signal<{
480
519
  [key: string]: string;
481
520
  }>;
521
+ protected readonly isDragging: _angular_core.WritableSignal<boolean>;
522
+ protected readonly dragOffsetX: _angular_core.WritableSignal<number>;
523
+ protected readonly dragTransition: _angular_core.WritableSignal<string>;
524
+ protected readonly rotationDeg: _angular_core.Signal<number>;
525
+ protected readonly transformStyle: _angular_core.Signal<string>;
526
+ protected readonly cursorStyle: _angular_core.Signal<"default" | "grabbing" | "grab">;
527
+ protected readonly touchActionStyle: _angular_core.Signal<"pan-y" | "auto">;
528
+ constructor();
529
+ protected onPointerDown(event: PointerEvent): void;
530
+ protected onPointerMove(event: PointerEvent): void;
531
+ protected onPointerUp(event: PointerEvent): void;
532
+ protected onPointerCancel(event: PointerEvent): void;
533
+ private releasePointer;
534
+ private resetPosition;
535
+ private clearSwipeEmitTimeout;
536
+ private clamp;
482
537
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<DuckDevCardNeobrutalSlab, never>;
483
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<DuckDevCardNeobrutalSlab, "dd-card-neobrutal-slab", never, { "color": { "alias": "color"; "required": false; "isSignal": true; }; "strapLabel": { "alias": "strapLabel"; "required": true; "isSignal": true; }; }, {}, never, ["*"], true, never>;
538
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<DuckDevCardNeobrutalSlab, "dd-card-neobrutal-slab", never, { "color": { "alias": "color"; "required": false; "isSignal": true; }; "strapLabel": { "alias": "strapLabel"; "required": true; "isSignal": true; }; "swipeable": { "alias": "swipeable"; "required": false; "isSignal": true; }; "swipeThreshold": { "alias": "swipeThreshold"; "required": false; "isSignal": true; }; }, { "swipedLeft": "swipedLeft"; "swipedRight": "swipedRight"; }, never, ["*"], true, never>;
484
539
  }
485
540
 
486
541
  declare class DuckDevCardNeobrutalStamp {
@@ -698,5 +753,147 @@ declare class DuckDevSegmentNeobrutal implements AfterContentInit {
698
753
  static ɵcmp: _angular_core.ɵɵComponentDeclaration<DuckDevSegmentNeobrutal, "duck-dev-segment-neobrutal", never, { "value": { "alias": "value"; "required": false; "isSignal": true; }; "color": { "alias": "color"; "required": false; "isSignal": true; }; }, { "valueChange": "valueChange"; "ionChange": "ionChange"; }, ["segmentButtons"], never, true, never>;
699
754
  }
700
755
 
701
- export { AccentEnumColor, Badge, BadgeNeobrutalSlab, BadgeNeobrutalStamp, BadgeNeobrutalTicket, ButtonBlurLift, ButtonCasper, ButtonFlip, ButtonGlideOver, ButtonNeobrutalBurst, ButtonNeobrutalSlab, ButtonNeobrutalTag, DdFlexDirectionDirective, DuckDevAccordionComponent as DuckDevAccordion, DuckDevAccordionNeobrutalComponent as DuckDevAccordionNeobrutal, DuckDevCardAccent, DuckDevCardMinimal, DuckDevCardNeobrutalPoster, DuckDevCardNeobrutalSlab, DuckDevCardNeobrutalStamp, DuckDevCardNeobrutalTicket, DuckDevCardOutline, DuckDevCardSection, DuckDevCardSignal, DuckDevIcon, DuckDevInput, DuckDevInputNeobrutalPoster, DuckDevInputNeobrutalRadio, DuckDevInputNeobrutalSlab, DuckDevInputNeobrutalStrip, DuckDevInputNeobrutalToggle, DuckDevLibTranslations, DuckDevModalClassic, DuckDevNotification, DuckDevNotificationContainer, DuckDevNotificationService, DuckDevProgressLine, DuckDevProgressMeter, DuckDevProgressNeobrutalSlab, DuckDevProgressNeobrutalStamp, DuckDevProgressNeobrutalTicket, DuckDevProgressStack, DuckDevSegmentButton, DuckDevSegmentClassic, DuckDevSegmentNeobrutal, DuckDevTab, DuckDevTabVertical, DuckDevTooltip, DuckDevTooltipNeobrutalComponent, LoaderClassic, LoaderLoadingBubble, LoaderNeobrutalBars, LoaderNeobrutalMarquee, LoaderNeobrutalStamp, LoaderThreeDots, MainDocumentationPage, SliderClassic };
702
- export type { DuckDevAccordionItem, DuckDevInputOption, DuckDevTabItem, DuckDevTabVerticalItem, NotificationItem, NotificationPosition, NotificationType, TooltipPlacement };
756
+ type DuckDevSpeakerBubbleTailSide = 'left' | 'right';
757
+ type DuckDevSpeakerBubbleTail = DuckDevSpeakerBubbleTailSide | 'auto';
758
+ declare function getClassicSpeakerBubbleStyle(color: AccentEnumColor): {
759
+ [key: string]: string;
760
+ };
761
+ declare function getNeobrutalSpeakerBubbleStyle(color: AccentEnumColor): {
762
+ [key: string]: string;
763
+ };
764
+
765
+ type DuckDevSpeakerBubbleTarget = Element | string | null | undefined;
766
+ type SpeakerBubbleTailVariant = 'classic' | 'soft' | 'outline' | 'neobrutal-slab' | 'neobrutal-ticket';
767
+ declare function useSpeakerBubbleTail(variant: SpeakerBubbleTailVariant, tail: Signal<DuckDevSpeakerBubbleTail>, target: Signal<DuckDevSpeakerBubbleTarget>): {
768
+ readonly resolvedTail: Signal<DuckDevSpeakerBubbleTailSide>;
769
+ readonly tailStyle: Signal<Record<string, string>>;
770
+ readonly tailViewBox: Signal<string>;
771
+ readonly tailPath: Signal<string>;
772
+ readonly tailSecondaryPath: Signal<string | null>;
773
+ };
774
+
775
+ declare class DuckDevSpeakerBubbleClassic {
776
+ readonly color: _angular_core.InputSignal<AccentEnumColor>;
777
+ readonly tail: _angular_core.InputSignal<DuckDevSpeakerBubbleTail>;
778
+ readonly target: _angular_core.InputSignal<DuckDevSpeakerBubbleTarget>;
779
+ private readonly hostRef;
780
+ private readonly documentRef;
781
+ private readonly destroyRef;
782
+ private readonly platformId;
783
+ private readonly isBrowser;
784
+ private readonly bubbleGeometry;
785
+ private animationFrameId;
786
+ private resizeObserver;
787
+ private observedTarget;
788
+ private observersInitialized;
789
+ protected readonly bubbleStyle: _angular_core.Signal<{
790
+ [key: string]: string;
791
+ }>;
792
+ protected readonly resolvedTail: _angular_core.Signal<DuckDevSpeakerBubbleTailSide>;
793
+ protected readonly shapeStyle: _angular_core.Signal<Record<string, string>>;
794
+ protected readonly shapeViewBox: _angular_core.Signal<string>;
795
+ protected readonly shapePath: _angular_core.Signal<string>;
796
+ constructor();
797
+ private readonly scheduleRefresh;
798
+ private setupObservers;
799
+ private refreshShape;
800
+ private resolveTailSide;
801
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<DuckDevSpeakerBubbleClassic, never>;
802
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<DuckDevSpeakerBubbleClassic, "dd-speaker-bubble-classic", never, { "color": { "alias": "color"; "required": false; "isSignal": true; }; "tail": { "alias": "tail"; "required": false; "isSignal": true; }; "target": { "alias": "target"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, never>;
803
+ }
804
+
805
+ declare class DuckDevSpeakerBubbleSoft {
806
+ readonly color: _angular_core.InputSignal<AccentEnumColor>;
807
+ readonly tail: _angular_core.InputSignal<DuckDevSpeakerBubbleTail>;
808
+ readonly target: _angular_core.InputSignal<DuckDevSpeakerBubbleTarget>;
809
+ private readonly tailController;
810
+ protected readonly bubbleStyle: _angular_core.Signal<{
811
+ [key: string]: string;
812
+ }>;
813
+ protected readonly resolvedTail: _angular_core.Signal<duck_dev_lib.DuckDevSpeakerBubbleTailSide>;
814
+ protected readonly tailStyle: _angular_core.Signal<Record<string, string>>;
815
+ protected readonly tailViewBox: _angular_core.Signal<string>;
816
+ protected readonly tailPath: _angular_core.Signal<string>;
817
+ protected readonly tailSecondaryPath: _angular_core.Signal<string | null>;
818
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<DuckDevSpeakerBubbleSoft, never>;
819
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<DuckDevSpeakerBubbleSoft, "dd-speaker-bubble-soft", never, { "color": { "alias": "color"; "required": false; "isSignal": true; }; "tail": { "alias": "tail"; "required": false; "isSignal": true; }; "target": { "alias": "target"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, never>;
820
+ }
821
+
822
+ declare class DuckDevSpeakerBubbleOutline {
823
+ readonly color: _angular_core.InputSignal<AccentEnumColor>;
824
+ readonly tail: _angular_core.InputSignal<DuckDevSpeakerBubbleTail>;
825
+ readonly target: _angular_core.InputSignal<DuckDevSpeakerBubbleTarget>;
826
+ private readonly tailController;
827
+ protected readonly bubbleStyle: _angular_core.Signal<{
828
+ [key: string]: string;
829
+ }>;
830
+ protected readonly resolvedTail: _angular_core.Signal<duck_dev_lib.DuckDevSpeakerBubbleTailSide>;
831
+ protected readonly tailStyle: _angular_core.Signal<Record<string, string>>;
832
+ protected readonly tailViewBox: _angular_core.Signal<string>;
833
+ protected readonly tailPath: _angular_core.Signal<string>;
834
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<DuckDevSpeakerBubbleOutline, never>;
835
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<DuckDevSpeakerBubbleOutline, "dd-speaker-bubble-outline", never, { "color": { "alias": "color"; "required": false; "isSignal": true; }; "tail": { "alias": "tail"; "required": false; "isSignal": true; }; "target": { "alias": "target"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, never>;
836
+ }
837
+
838
+ declare class DuckDevSpeakerBubbleNeobrutalSlab {
839
+ readonly color: _angular_core.InputSignal<AccentEnumColor>;
840
+ readonly tail: _angular_core.InputSignal<DuckDevSpeakerBubbleTail>;
841
+ readonly target: _angular_core.InputSignal<DuckDevSpeakerBubbleTarget>;
842
+ private readonly hostRef;
843
+ private readonly documentRef;
844
+ private readonly destroyRef;
845
+ private readonly platformId;
846
+ private readonly isBrowser;
847
+ private readonly bubbleGeometry;
848
+ private animationFrameId;
849
+ private resizeObserver;
850
+ private observedTarget;
851
+ private observersInitialized;
852
+ protected readonly bubbleStyle: _angular_core.Signal<{
853
+ [key: string]: string;
854
+ }>;
855
+ protected readonly resolvedTail: _angular_core.Signal<DuckDevSpeakerBubbleTailSide>;
856
+ protected readonly shapeStyle: _angular_core.Signal<Record<string, string>>;
857
+ protected readonly shapeViewBox: _angular_core.Signal<string>;
858
+ protected readonly shapePath: _angular_core.Signal<string>;
859
+ constructor();
860
+ private readonly scheduleRefresh;
861
+ private setupObservers;
862
+ private refreshShape;
863
+ private resolveTailSide;
864
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<DuckDevSpeakerBubbleNeobrutalSlab, never>;
865
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<DuckDevSpeakerBubbleNeobrutalSlab, "dd-speaker-bubble-neobrutal-slab", never, { "color": { "alias": "color"; "required": false; "isSignal": true; }; "tail": { "alias": "tail"; "required": false; "isSignal": true; }; "target": { "alias": "target"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, never>;
866
+ }
867
+
868
+ declare class DuckDevSpeakerBubbleNeobrutalTicket {
869
+ readonly color: _angular_core.InputSignal<AccentEnumColor>;
870
+ readonly tail: _angular_core.InputSignal<DuckDevSpeakerBubbleTail>;
871
+ readonly target: _angular_core.InputSignal<DuckDevSpeakerBubbleTarget>;
872
+ private readonly hostRef;
873
+ private readonly documentRef;
874
+ private readonly destroyRef;
875
+ private readonly platformId;
876
+ private readonly isBrowser;
877
+ private readonly bubbleGeometry;
878
+ private animationFrameId;
879
+ private resizeObserver;
880
+ private observedTarget;
881
+ private observersInitialized;
882
+ protected readonly bubbleStyle: _angular_core.Signal<{
883
+ [key: string]: string;
884
+ }>;
885
+ protected readonly resolvedTail: _angular_core.Signal<DuckDevSpeakerBubbleTailSide>;
886
+ protected readonly shapeStyle: _angular_core.Signal<Record<string, string>>;
887
+ protected readonly shapeViewBox: _angular_core.Signal<string>;
888
+ protected readonly shapePath: _angular_core.Signal<string>;
889
+ constructor();
890
+ private readonly scheduleRefresh;
891
+ private setupObservers;
892
+ private refreshShape;
893
+ private resolveTailSide;
894
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<DuckDevSpeakerBubbleNeobrutalTicket, never>;
895
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<DuckDevSpeakerBubbleNeobrutalTicket, "dd-speaker-bubble-neobrutal-ticket", never, { "color": { "alias": "color"; "required": false; "isSignal": true; }; "tail": { "alias": "tail"; "required": false; "isSignal": true; }; "target": { "alias": "target"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, never>;
896
+ }
897
+
898
+ export { AccentEnumColor, Badge, BadgeNeobrutalSlab, BadgeNeobrutalStamp, BadgeNeobrutalTicket, ButtonBlurLift, ButtonCasper, ButtonFlip, ButtonGlideOver, ButtonNeobrutalBurst, ButtonNeobrutalSlab, ButtonNeobrutalTag, DdFlexDirectionDirective, DuckDevAccordionComponent as DuckDevAccordion, DuckDevAccordionNeobrutalComponent as DuckDevAccordionNeobrutal, DuckDevCardAccent, DuckDevCardMinimal, DuckDevCardNeobrutalPoster, DuckDevCardNeobrutalSlab, DuckDevCardNeobrutalStamp, DuckDevCardNeobrutalTicket, DuckDevCardOutline, DuckDevCardSection, DuckDevCardSignal, DuckDevIcon, DuckDevInput, DuckDevInputNeobrutalPoster, DuckDevInputNeobrutalRadio, DuckDevInputNeobrutalSlab, DuckDevInputNeobrutalStrip, DuckDevInputNeobrutalToggle, DuckDevLibTranslations, DuckDevModalClassic, DuckDevNotification, DuckDevNotificationContainer, DuckDevNotificationService, DuckDevProgressLine, DuckDevProgressMeter, DuckDevProgressNeobrutalSlab, DuckDevProgressNeobrutalStamp, DuckDevProgressNeobrutalTicket, DuckDevProgressStack, DuckDevSegmentButton, DuckDevSegmentClassic, DuckDevSegmentNeobrutal, DuckDevSpeakerBubbleClassic, DuckDevSpeakerBubbleNeobrutalSlab, DuckDevSpeakerBubbleNeobrutalTicket, DuckDevSpeakerBubbleOutline, DuckDevSpeakerBubbleSoft, DuckDevTab, DuckDevTabVertical, DuckDevTooltip, DuckDevTooltipNeobrutalComponent, LoaderClassic, LoaderLoadingBubble, LoaderNeobrutalBars, LoaderNeobrutalMarquee, LoaderNeobrutalStamp, LoaderThreeDots, MainDocumentationPage, SliderClassic, getClassicSpeakerBubbleStyle, getNeobrutalSpeakerBubbleStyle, useSpeakerBubbleTail };
899
+ export type { DuckDevAccordionItem, DuckDevInputOption, DuckDevSpeakerBubbleTail, DuckDevSpeakerBubbleTailSide, DuckDevSpeakerBubbleTarget, DuckDevTabItem, DuckDevTabVerticalItem, NotificationItem, NotificationPosition, NotificationType, TooltipPlacement };