ng-horizontal-scroller
Version:
A horizontal infinite scroller component for Angular
1 lines • 5.07 kB
Source Map (JSON)
{"version":3,"file":"ng-horizontal-scroller.mjs","sources":["../../../projects/ng-horizontal-scroller/src/lib/horizontal-scroller.component.ts","../../../projects/ng-horizontal-scroller/src/lib/horizontal-scroller.component.html","../../../projects/ng-horizontal-scroller/src/ng-horizontal-scroller.ts"],"sourcesContent":["import { CommonModule } from '@angular/common';\r\nimport { Component, Input, ViewEncapsulation } from '@angular/core';\r\n\r\nexport interface ScrollItem {\r\n thumbnail: string;\r\n description?: string;\r\n url?: string;\r\n}\r\n\r\n@Component({\r\n selector: 'ng-horizontal-scroller',\r\n standalone: true,\r\n imports: [CommonModule],\r\n templateUrl: './horizontal-scroller.component.html',\r\n styleUrl: './horizontal-scroller.component.scss',\r\n encapsulation: ViewEncapsulation.None,\r\n})\r\nexport class HorizontalScrollerComponent {\r\n @Input() speed: number = 20;\r\n\r\n scrollSpeed: string = `${this.speed}s`;\r\n @Input() items: ScrollItem[] = [\r\n {\r\n thumbnail: 'https://cdn.simpleicons.org/react/61DAFB',\r\n description: 'React',\r\n url: 'https://cdn.simpleicons.org/react/61DAFB',\r\n },\r\n\r\n {\r\n thumbnail: 'https://cdn.simpleicons.org/angular/DD0031',\r\n description: 'Angular',\r\n url: 'https://cdn.simpleicons.org/angular/DD0031',\r\n },\r\n {\r\n thumbnail: 'https://cdn.simpleicons.org/svelte/FF3E00',\r\n description: 'Svelte',\r\n url: 'https://cdn.simpleicons.org/svelte/FF3E00',\r\n },\r\n {\r\n thumbnail: 'https://cdn.simpleicons.org/nextdotjs/000000',\r\n description: 'Next',\r\n },\r\n {\r\n thumbnail: 'https://cdn.simpleicons.org/tailwindcss/06B6D4',\r\n description: 'Tailwind',\r\n },\r\n {\r\n thumbnail: 'https://cdn.simpleicons.org/vite/646CFF',\r\n description: 'Vite',\r\n },\r\n {\r\n thumbnail: 'https://cdn.simpleicons.org/javascript/F0DB4F',\r\n description: 'Javascript',\r\n },\r\n {\r\n thumbnail: 'https://cdn.simpleicons.org/python/4B8BBE',\r\n description: 'Python',\r\n },\r\n ];\r\n}\r\n","<div class=\"overflow-hidden whitespace-nowrap\">\r\n <div\r\n data-testid=\"logo-container\"\r\n class=\"flex animate-scroll hover-pause w-max\"\r\n [ngStyle]=\"{'animation-duration': scrollSpeed}\"\r\n >\r\n <div\r\n class=\"flex justify-around items-center py-4 px-4 sm:px-8 space-x-4 sm:space-x-10\"\r\n *ngFor=\"let item of items.concat(items)\"\r\n >\r\n <div class=\"p-6 flex flex-col\">\r\n <a target=\"_blank\" [href]=\"item?.url\">\r\n <img\r\n data-testid=\"logo-img\"\r\n [src]=\"item.thumbnail\"\r\n class=\"h-auto min-h-14 max-h-full transition-transform duration-300 hover:scale-[1.15] object-contain\"\r\n />\r\n <span\r\n *ngIf=\"item?.description\"\r\n class=\"text-center text-black py-2 text-sm sm:text-lg\"\r\n >{{ item?.description }}</span\r\n >\r\n </a>\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;;;MAiBa,2BAA2B,CAAA;IAC7B,KAAK,GAAW,EAAE;AAE3B,IAAA,WAAW,GAAW,CAAG,EAAA,IAAI,CAAC,KAAK,GAAG;AAC7B,IAAA,KAAK,GAAiB;AAC7B,QAAA;AACE,YAAA,SAAS,EAAE,0CAA0C;AACrD,YAAA,WAAW,EAAE,OAAO;AACpB,YAAA,GAAG,EAAE,0CAA0C;AAChD,SAAA;AAED,QAAA;AACE,YAAA,SAAS,EAAE,4CAA4C;AACvD,YAAA,WAAW,EAAE,SAAS;AACtB,YAAA,GAAG,EAAE,4CAA4C;AAClD,SAAA;AACD,QAAA;AACE,YAAA,SAAS,EAAE,2CAA2C;AACtD,YAAA,WAAW,EAAE,QAAQ;AACrB,YAAA,GAAG,EAAE,2CAA2C;AACjD,SAAA;AACD,QAAA;AACE,YAAA,SAAS,EAAE,8CAA8C;AACzD,YAAA,WAAW,EAAE,MAAM;AACpB,SAAA;AACD,QAAA;AACE,YAAA,SAAS,EAAE,gDAAgD;AAC3D,YAAA,WAAW,EAAE,UAAU;AACxB,SAAA;AACD,QAAA;AACE,YAAA,SAAS,EAAE,yCAAyC;AACpD,YAAA,WAAW,EAAE,MAAM;AACpB,SAAA;AACD,QAAA;AACE,YAAA,SAAS,EAAE,+CAA+C;AAC1D,YAAA,WAAW,EAAE,YAAY;AAC1B,SAAA;AACD,QAAA;AACE,YAAA,SAAS,EAAE,2CAA2C;AACtD,YAAA,WAAW,EAAE,QAAQ;AACtB,SAAA;KACF;uGAzCU,2BAA2B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;2FAA3B,2BAA2B,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,wBAAA,EAAA,MAAA,EAAA,EAAA,KAAA,EAAA,OAAA,EAAA,KAAA,EAAA,OAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECjBxC,u9BA2BA,EAAA,MAAA,EAAA,CAAA,kLAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EDfY,YAAY,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,cAAA,EAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,SAAA,CAAA,EAAA,CAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA;;2FAKX,2BAA2B,EAAA,UAAA,EAAA,CAAA;kBARvC,SAAS;+BACE,wBAAwB,EAAA,UAAA,EACtB,IAAI,EACP,OAAA,EAAA,CAAC,YAAY,CAAC,EAAA,aAAA,EAGR,iBAAiB,CAAC,IAAI,EAAA,QAAA,EAAA,u9BAAA,EAAA,MAAA,EAAA,CAAA,kLAAA,CAAA,EAAA;8BAG5B,KAAK,EAAA,CAAA;sBAAb;gBAGQ,KAAK,EAAA,CAAA;sBAAb;;;AErBH;;AAEG;;;;"}