@almoamendev/ngx-md3 0.3.4 → 0.3.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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@almoamendev/ngx-md3",
3
- "version": "0.3.4",
3
+ "version": "0.3.5",
4
4
  "description": "MD3-style Angular components & style library",
5
5
  "author": "Murtadha (Hussain) Almoamen",
6
6
  "license": "MIT",
@@ -809,6 +809,13 @@ declare class CarouselItem {
809
809
  static ɵcmp: _angular_core.ɵɵComponentDeclaration<CarouselItem, "md3-carousel-item", never, {}, {}, never, ["*"], true, never>;
810
810
  }
811
811
 
812
+ /**
813
+ * Reads an aspect ratio from an input value.
814
+ *
815
+ * Accepts a number (`1.778`) or the more readable fraction form (`"16 / 9"`). Anything that is
816
+ * not a positive, finite ratio resolves to `undefined`, which leaves the height to CSS.
817
+ */
818
+ declare function parseCarouselAspectRatio(value: unknown): number | undefined;
812
819
  /**
813
820
  * A Material Design 3 carousel.
814
821
  *
@@ -848,6 +855,16 @@ declare class Carousel {
848
855
  smallItemSizeMax: _angular_core.InputSignalWithTransform<number, unknown>;
849
856
  /** Space between items, in pixels. */
850
857
  gap: _angular_core.InputSignalWithTransform<number, unknown>;
858
+ /**
859
+ * Width-to-height ratio of a fully unmasked item, as a number or a `"16 / 9"` fraction.
860
+ *
861
+ * The solver changes item width as the container resizes, so a fixed height would let the
862
+ * ratio drift. Setting this derives the carousel's height from the solved item width
863
+ * instead, keeping items at a constant shape at every viewport size.
864
+ *
865
+ * Leave it unset to size the carousel with `--md3-carousel-height` in CSS.
866
+ */
867
+ aspectRatio: _angular_core.InputSignalWithTransform<number | undefined, unknown>;
851
868
  /**
852
869
  * Index of the item leading the focal range. Two-way bindable.
853
870
  *
@@ -889,6 +906,14 @@ declare class Carousel {
889
906
  * container fits more items in the focal range.
890
907
  */
891
908
  readonly lastIndex: _angular_core.Signal<number>;
909
+ /**
910
+ * Height implied by `aspect-ratio`, in pixels, or `undefined` when CSS owns the height.
911
+ *
912
+ * Measured against a focal item's visible width — the solved item size less the gap — so a
913
+ * fully unmasked item matches the requested ratio exactly. Masked items keep this height and
914
+ * crop horizontally, which is what the Material Design arrangement expects.
915
+ */
916
+ readonly resolvedHeight: _angular_core.Signal<number | undefined>;
892
917
  readonly atStart: _angular_core.Signal<boolean>;
893
918
  /** True when the carousel cannot scroll any further towards the end. */
894
919
  readonly atEnd: _angular_core.Signal<boolean>;
@@ -940,7 +965,7 @@ declare class Carousel {
940
965
  */
941
966
  private applyGeometry;
942
967
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<Carousel, never>;
943
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<Carousel, "md3-carousel", never, { "carouselLayout": { "alias": "carousel-layout"; "required": false; "isSignal": true; }; "alignment": { "alias": "alignment"; "required": false; "isSignal": true; }; "orientation": { "alias": "orientation"; "required": false; "isSignal": true; }; "itemSize": { "alias": "item-size"; "required": false; "isSignal": true; }; "smallItemSizeMin": { "alias": "small-item-size-min"; "required": false; "isSignal": true; }; "smallItemSizeMax": { "alias": "small-item-size-max"; "required": false; "isSignal": true; }; "gap": { "alias": "gap"; "required": false; "isSignal": true; }; "index": { "alias": "index"; "required": false; "isSignal": true; }; }, { "index": "indexChange"; }, ["items"], ["*"], true, never>;
968
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<Carousel, "md3-carousel", never, { "carouselLayout": { "alias": "carousel-layout"; "required": false; "isSignal": true; }; "alignment": { "alias": "alignment"; "required": false; "isSignal": true; }; "orientation": { "alias": "orientation"; "required": false; "isSignal": true; }; "itemSize": { "alias": "item-size"; "required": false; "isSignal": true; }; "smallItemSizeMin": { "alias": "small-item-size-min"; "required": false; "isSignal": true; }; "smallItemSizeMax": { "alias": "small-item-size-max"; "required": false; "isSignal": true; }; "gap": { "alias": "gap"; "required": false; "isSignal": true; }; "aspectRatio": { "alias": "aspect-ratio"; "required": false; "isSignal": true; }; "index": { "alias": "index"; "required": false; "isSignal": true; }; }, { "index": "indexChange"; }, ["items"], ["*"], true, never>;
944
969
  }
945
970
 
946
971
  /**
@@ -1910,5 +1935,5 @@ declare class SnackbarService {
1910
1935
  static ɵprov: _angular_core.ɵɵInjectableDeclaration<SnackbarService>;
1911
1936
  }
1912
1937
 
1913
- export { AppBar, AppBarLogo, Avatar, Badge, Button, ButtonGroup, CAROUSEL_STRATEGIES, Card, Carousel, CarouselItem, Checkbox, ChipAvatar, Chips, CircularProgressIndicator, DIALOG_COMPONENT, DIALOG_CONFIG, DIALOG_DATA, Dialog, DialogActions, DialogBody, DialogHeader, DialogRef, DialogService, Divider, FloatingActionButton, FullScreenDialog, FullScreenDialogHeader, Grid, GridItem, IconButton, IconElement, InputElement, LayoutService, LinearProgressIndicator, List, ListItem, ListItemPrimaryAction, ListLeading, ListSlot, LoadingIndicator, MENU_COMPONENT, MENU_CONFIG, MENU_DATA, MaterialIcon, Menu, MenuGroup, MenuItem, MenuRef, MenuService, NavigationBar, NavigationGroup, NavigationItem, NavigationRail, RadioButton, SIDE_SHEET_COMPONENT, SIDE_SHEET_CONFIG, SIDE_SHEET_DATA, SNACKBAR_ACTION_LABEL, SNACKBAR_CONFIG, SNACKBAR_MESSAGE, Scaffold, ScaffoldBar, ScaffoldPane, ScaffoldRail, SheetsService, SideSheetActions, SideSheetBody, SideSheetHeader, SideSheetRef, Slider, Snackbar, SnackbarRef, SnackbarService, SplitButton, StateComponent, SupportingText, Switch, TextField, TypeBody, TypeDisplay, TypeHeadline, TypeLabel, TypeTitle, buildGeometry, clampIndex, indexForScrollOffset, multiBrowseStrategy, resolveItemGeometry, resolveState, scrollOffsetForIndex, sizeBandFor };
1938
+ export { AppBar, AppBarLogo, Avatar, Badge, Button, ButtonGroup, CAROUSEL_STRATEGIES, Card, Carousel, CarouselItem, Checkbox, ChipAvatar, Chips, CircularProgressIndicator, DIALOG_COMPONENT, DIALOG_CONFIG, DIALOG_DATA, Dialog, DialogActions, DialogBody, DialogHeader, DialogRef, DialogService, Divider, FloatingActionButton, FullScreenDialog, FullScreenDialogHeader, Grid, GridItem, IconButton, IconElement, InputElement, LayoutService, LinearProgressIndicator, List, ListItem, ListItemPrimaryAction, ListLeading, ListSlot, LoadingIndicator, MENU_COMPONENT, MENU_CONFIG, MENU_DATA, MaterialIcon, Menu, MenuGroup, MenuItem, MenuRef, MenuService, NavigationBar, NavigationGroup, NavigationItem, NavigationRail, RadioButton, SIDE_SHEET_COMPONENT, SIDE_SHEET_CONFIG, SIDE_SHEET_DATA, SNACKBAR_ACTION_LABEL, SNACKBAR_CONFIG, SNACKBAR_MESSAGE, Scaffold, ScaffoldBar, ScaffoldPane, ScaffoldRail, SheetsService, SideSheetActions, SideSheetBody, SideSheetHeader, SideSheetRef, Slider, Snackbar, SnackbarRef, SnackbarService, SplitButton, StateComponent, SupportingText, Switch, TextField, TypeBody, TypeDisplay, TypeHeadline, TypeLabel, TypeTitle, buildGeometry, clampIndex, indexForScrollOffset, multiBrowseStrategy, parseCarouselAspectRatio, resolveItemGeometry, resolveState, scrollOffsetForIndex, sizeBandFor };
1914
1939
  export type { AppBarScrollingStyle, AppBarType, ButtonGroupSelection, ButtonGroupType, ButtonSize, ButtonType, CardType, CarouselAlignment, CarouselArrangement, CarouselGeometry, CarouselItemGeometry, CarouselItemSize, CarouselKeyline, CarouselKeylineState, CarouselLayout, CarouselOrientation, CarouselStrategy, CarouselStrategyContext, ChipStyle, ChipType, DialogConfig, DialogContainer, DialogRole, FabSize, FabType, FullScreenDialogConfig, IconButtonType, IconButtonWidth, ListLeadingSize, ListLeadingType, Md3NavigationMode, MenuConfig, MenuPositionOrigin, MenuPositionX, MenuPositionY, MenuScrollStrategy, PreviousDialog, SideSheetConfig, SideSheetContainer, SideSheetSide, SideSheetType, SliderSize, SnackbarConfig, SnackbarDismiss, SnackbarDismissReason, SnackbarPoliteness, SplitButtonType, TextColor, TextSize };