@basis-ng/primitives 0.0.1-alpha.144 → 0.0.1-alpha.145

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": "@basis-ng/primitives",
3
- "version": "0.0.1-alpha.144",
3
+ "version": "0.0.1-alpha.145",
4
4
  "description": "basis-ng components, animations, directives and services for Angular",
5
5
  "peerDependencies": {
6
6
  "@angular/common": "^21.0.0",
@@ -433,14 +433,24 @@ declare class DialogContent extends CdkDialogContainer implements OnInit {
433
433
  static ɵcmp: _angular_core.ɵɵComponentDeclaration<DialogContent, "b-dialog-content", never, {}, {}, never, never, true, never>;
434
434
  }
435
435
 
436
+ type Direction = 'top' | 'bottom' | 'left' | 'right';
437
+
436
438
  /**
437
- * A draggable bottom sheet drawer with open/close and drag-to-dismiss behavior.
439
+ * A draggable floating drawer that can slide from any side.
438
440
  */
439
441
  declare class Drawer {
440
442
  /**
441
443
  * Model indicating whether the drawer is open.
442
444
  */
443
445
  readonly isOpen: _angular_core.ModelSignal<boolean>;
446
+ /**
447
+ * Side of the viewport the drawer appears from.
448
+ */
449
+ readonly side: _angular_core.InputSignal<Direction>;
450
+ /**
451
+ * Whether the drawer can be dragged closed.
452
+ */
453
+ readonly draggable: _angular_core.InputSignalWithTransform<boolean, unknown>;
444
454
  /**
445
455
  * Emitted when the sheet is closed.
446
456
  */
@@ -450,21 +460,25 @@ declare class Drawer {
450
460
  */
451
461
  readonly isDragging: _angular_core.WritableSignal<boolean>;
452
462
  /**
453
- * Starting Y position of the pointer when drag begins.
463
+ * Starting pointer coordinate for the active drag axis.
454
464
  */
455
- readonly startY: _angular_core.WritableSignal<number>;
465
+ readonly startOffset: _angular_core.WritableSignal<number>;
456
466
  /**
457
- * Current vertical translation of the drawer.
467
+ * Current close progress of the drawer, from 0 (open) to 100 (closed).
458
468
  */
459
- private readonly translateY;
469
+ private readonly dragProgress;
460
470
  /**
461
- * Vertical drag threshold (percentage) to trigger close on release.
471
+ * Drag threshold (percentage) to trigger close on release.
462
472
  */
463
473
  readonly closeThreshold: _angular_core.InputSignal<number>;
464
474
  /**
465
475
  * Computed CSS transform for the drawer based on drag/open state.
466
476
  */
467
477
  readonly transform: _angular_core.Signal<string>;
478
+ /**
479
+ * Current progress to use for the rendered transform.
480
+ */
481
+ readonly currentProgress: _angular_core.Signal<number>;
468
482
  /**
469
483
  * Element reference to the host component.
470
484
  */
@@ -482,14 +496,35 @@ declare class Drawer {
482
496
  startDrag(event: PointerEvent): void;
483
497
  /**
484
498
  * Update drawer position during drag.
485
- * @param clientY - Current pointer Y position.
499
+ * @param event - Current pointer event.
486
500
  */
487
- updateDrag(clientY: number): void; /**
501
+ updateDrag(event: PointerEvent): void;
502
+ /**
488
503
  * Snap the drawer to open or closed based on threshold.
489
504
  */
490
505
  snapToOpenOrClose(): void;
506
+ /**
507
+ * Closes the drawer and emits the close event.
508
+ */
509
+ private close;
510
+ /**
511
+ * Maps the current side to the transform axis and sign.
512
+ */
513
+ private getTransform;
514
+ /**
515
+ * Returns the pointer coordinate relevant to the active drag axis.
516
+ */
517
+ private getPointerOffset;
518
+ /**
519
+ * Indicates whether the drawer moves horizontally.
520
+ */
521
+ private isHorizontal;
522
+ /**
523
+ * Returns the positive pointer direction that closes the drawer.
524
+ */
525
+ private getCloseDirection;
491
526
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<Drawer, never>;
492
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<Drawer, "b-drawer", never, { "isOpen": { "alias": "isOpen"; "required": false; "isSignal": true; }; "closeThreshold": { "alias": "closeThreshold"; "required": false; "isSignal": true; }; }, { "isOpen": "isOpenChange"; "closeSheet": "closeSheet"; }, never, ["*"], true, never>;
527
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<Drawer, "b-drawer", never, { "isOpen": { "alias": "isOpen"; "required": false; "isSignal": true; }; "side": { "alias": "side"; "required": false; "isSignal": true; }; "draggable": { "alias": "draggable"; "required": false; "isSignal": true; }; "closeThreshold": { "alias": "closeThreshold"; "required": false; "isSignal": true; }; }, { "isOpen": "isOpenChange"; "closeSheet": "closeSheet"; }, never, ["*"], true, never>;
493
528
  }
494
529
 
495
530
  /**
@@ -1159,38 +1194,6 @@ declare class SelectFilter implements OnInit {
1159
1194
  static ɵdir: _angular_core.ɵɵDirectiveDeclaration<SelectFilter, "[bSelectFilter]", never, {}, {}, never, never, true, never>;
1160
1195
  }
1161
1196
 
1162
- /**
1163
- * Slide-in sheet panel used for side or bottom panels with optional backdrop.
1164
- */
1165
- declare class Sheet {
1166
- /**
1167
- * Whether the sheet is open. Can be two-way bound.
1168
- */
1169
- readonly isOpen: _angular_core.ModelSignal<boolean>;
1170
- /**
1171
- * Side of the sheet panel.
1172
- */
1173
- readonly side: _angular_core.InputSignal<"left" | "right">;
1174
- /**
1175
- * Whether the sheet is positioned on the right side.
1176
- */
1177
- readonly isRight: _angular_core.Signal<boolean>;
1178
- /**
1179
- * Emitted when the sheet is closed.
1180
- */
1181
- closeSheet: _angular_core.OutputEmitterRef<void>;
1182
- /**
1183
- * Reference to the host element.
1184
- */
1185
- private readonly el;
1186
- /**
1187
- * Closes the sheet when clicking outside of it.
1188
- */
1189
- closeOnOutsideClick(event: Event): void;
1190
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<Sheet, never>;
1191
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<Sheet, "b-sheet", never, { "isOpen": { "alias": "isOpen"; "required": false; "isSignal": true; }; "side": { "alias": "side"; "required": false; "isSignal": true; }; }, { "isOpen": "isOpenChange"; "closeSheet": "closeSheet"; }, never, ["*"], true, never>;
1192
- }
1193
-
1194
1197
  /**
1195
1198
  * A spinner component to indicate loading states.
1196
1199
  */
@@ -1769,7 +1772,5 @@ declare class Utils {
1769
1772
 
1770
1773
  type Alignment = 'left' | 'center' | 'right' | 'top' | 'bottom';
1771
1774
 
1772
- type Direction = 'top' | 'bottom' | 'left' | 'right';
1773
-
1774
- export { Alert, Badge, Button, ButtonGroup, Calendar, Card, CardContent, CardDescription, CardFooter, CardHeader, CardTitle, Checkbox, CommandComponent, CommandOptionsComponent, ConnectedOverlay, Dialog, DialogContent, DialogManager, Drawer, Input, InputGroup, Menu, MenuGroup, MenuItem, MenuItemCheckbox, MenuItemRadio, MenuLabel, MenuTriggerDirective, Option, Otp, OtpDigitDirective, Overlay, OverlayOrigin, OverlayTrigger, Popover, PopoverTrigger, Range, ResponsiveManager, Select, SelectContent, SelectFilter, SelectTrigger, SelectValue, Sheet, Spinner, SwitchComponent, Tab, Tabs, Textarea, TextareaGroup, ThemeManager, Tooltip, TooltipContent, TooltipTrigger, TranslatePipe, TranslationManager, Tree, TreeNode, Utils };
1775
+ export { Alert, Badge, Button, ButtonGroup, Calendar, Card, CardContent, CardDescription, CardFooter, CardHeader, CardTitle, Checkbox, CommandComponent, CommandOptionsComponent, ConnectedOverlay, Dialog, DialogContent, DialogManager, Drawer, Input, InputGroup, Menu, MenuGroup, MenuItem, MenuItemCheckbox, MenuItemRadio, MenuLabel, MenuTriggerDirective, Option, Otp, OtpDigitDirective, Overlay, OverlayOrigin, OverlayTrigger, Popover, PopoverTrigger, Range, ResponsiveManager, Select, SelectContent, SelectFilter, SelectTrigger, SelectValue, Spinner, SwitchComponent, Tab, Tabs, Textarea, TextareaGroup, ThemeManager, Tooltip, TooltipContent, TooltipTrigger, TranslatePipe, TranslationManager, Tree, TreeNode, Utils };
1775
1776
  export type { Alignment, DeviceBreakpoints, DeviceType, DialogConfig, DialogData, Direction, Position, TranslationDictionary };