ProductPromotion
Logo

Angular.JS

made by https://0x3d.site

GitHub - hm21/ngx-image-hero: A package to implement hero animations, allowing users to click on images and smoothly zoom them into a larger, immersive view, enhancing the user experience and interaction with images.
A package to implement hero animations, allowing users to click on images and smoothly zoom them into a larger, immersive view, enhancing the user experience and interaction with images. - hm21/ngx...
Visit Site

GitHub - hm21/ngx-image-hero: A package to implement hero animations, allowing users to click on images and smoothly zoom them into a larger, immersive view, enhancing the user experience and interaction with images.

GitHub - hm21/ngx-image-hero: A package to implement hero animations, allowing users to click on images and smoothly zoom them into a larger, immersive view, enhancing the user experience and interaction with images.

npm version NPM monthly downloads NPM total downloads License: MIT Issues Web Demo

This package is similar to the popular Flutter Hero animations.

Table of contents

About

A package to implement hero animations, allowing users to click on images and smoothly zoom them into a larger, immersive view, enhancing the user experience and interaction with images.

Getting started

Installation

npm install ngx-image-hero

Import the directive

import { Component } from "@angular/core";
import { NgxImageHeroDirective } from "ngx-image-hero";

@Component({
  selector: "app-root",
  standalone: true,
  templateUrl: "./app.component.html",
  styleUrl: "./app.component.scss",
  imports: [NgxImageHeroDirective],
})
export class AppComponent {}

Inputs

Option Type Default Comment
highQualityPath string The path to the high-quality image or content to be displayed, which seamlessly replaces the current picture when opened.
fixedHero boolean false Specifies whether to use the fixed-hero mode when absolute positioning is not effective due to overflow issues.
supportedFormats string[] An array of supported image formats, which is only required when using the <picture> element where the browser automatically selects the format.
backdropPosition 'documentEnd' 'beforeHeroItem' Insert backdrop at this position.
browserSupportAvif boolean If you have already manually determined whether the browser supports AVIF, you can set it using this option. Otherwise, the package will automatically perform the check. This option is only required when supportedFormats contains values.
browserSupportWebP boolean If you have already manually determined whether the browser supports WebP, you can set it using this option. Otherwise, the package will automatically perform the check. This option is only required when supportedFormats contains values.

Outputs

Option Type Comment
openHero output Triggered when the hero animation starts.
closeHero output Triggered when the hero animation ends.

Simple example

<img ngxHero src="https://picsum.photos/id/200/400" alt="demo-image" />

Complete example demonstrating all properties

<picture>
  @for (format of imgFormats; track format) {
  <source srcset="assets/img/demo.{{format}}" type="image/{{ format }}" />
  }
  <img ngxHero fixedHero="false" highQualityPath="assets/img/demo_4x" browserSupportAvif="supportAvif" browserSupportWebP="supportWebP" [supportedFormats]="['avif', 'webp', 'jpeg']" (openHero)="onOpenHero()" (closeHero)="onCloseHero()" src="assets/img/demo.jpeg" alt="demo-image" />
</picture>

Contributing

I welcome contributions from the open-source community to make this project even better. Whether you want to report a bug, suggest a new feature, or contribute code, I appreciate your help.

Bug Reports and Feature Requests

If you encounter a bug or have an idea for a new feature, please open an issue on my GitHub Issues page. I will review it and discuss the best approach to address it.

Code Contributions

If you'd like to contribute code to this project, please follow these steps:

  1. Fork the repository to your GitHub account.
  2. Clone your forked repository to your local machine.
git clone https://github.com/hm21/ngx-scroll-animations.git

More Resources
to explore the angular.

mail [email protected] to add your project or resources here 🔥.

Related Articles
to learn about angular.

FAQ's
to learn more about Angular JS.

mail [email protected] to add more queries here 🔍.

More Sites
to check out once you're finished browsing here.

0x3d
https://www.0x3d.site/
0x3d is designed for aggregating information.
NodeJS
https://nodejs.0x3d.site/
NodeJS Online Directory
Cross Platform
https://cross-platform.0x3d.site/
Cross Platform Online Directory
Open Source
https://open-source.0x3d.site/
Open Source Online Directory
Analytics
https://analytics.0x3d.site/
Analytics Online Directory
JavaScript
https://javascript.0x3d.site/
JavaScript Online Directory
GoLang
https://golang.0x3d.site/
GoLang Online Directory
Python
https://python.0x3d.site/
Python Online Directory
Swift
https://swift.0x3d.site/
Swift Online Directory
Rust
https://rust.0x3d.site/
Rust Online Directory
Scala
https://scala.0x3d.site/
Scala Online Directory
Ruby
https://ruby.0x3d.site/
Ruby Online Directory
Clojure
https://clojure.0x3d.site/
Clojure Online Directory
Elixir
https://elixir.0x3d.site/
Elixir Online Directory
Elm
https://elm.0x3d.site/
Elm Online Directory
Lua
https://lua.0x3d.site/
Lua Online Directory
C Programming
https://c-programming.0x3d.site/
C Programming Online Directory
C++ Programming
https://cpp-programming.0x3d.site/
C++ Programming Online Directory
R Programming
https://r-programming.0x3d.site/
R Programming Online Directory
Perl
https://perl.0x3d.site/
Perl Online Directory
Java
https://java.0x3d.site/
Java Online Directory
Kotlin
https://kotlin.0x3d.site/
Kotlin Online Directory
PHP
https://php.0x3d.site/
PHP Online Directory
React JS
https://react.0x3d.site/
React JS Online Directory
Angular
https://angular.0x3d.site/
Angular JS Online Directory