3.12.0 • Published 8 months ago

@conectate/ct-img v3.12.0

Weekly downloads
7
License
BSD-3-Clause
Repository
github
Last release
8 months ago

ct-img

HTML image loader, this component if the lazy loading of the browser is available it will use it, otherwise it will create an IntersectionObserver to find the scroll position and thus display the image at the precise moment. You can configure which is the scroll target if it was not the body

To use lazy loading you must specify srcset as attribute instead of src.

Example

<!-- Lazy loading -->
<ct-img srcset="https://example.com/img.png" lazy></ct-img>
<!-- Lazy loading with custom scroll target (viewport) in lit-element -->
<ct-img srcset="https://example.com/img.png" lazy .viewport="${this.customEleent}"></ct-img>

<!-- Lazy loading with custom scroll target (viewport) in vanilla-->
<ct-img id="img" srcset="https://example.com/img.png" lazy></ct-img>
<script>
	document.getElementById('img').viewport = document.getElementById('scrollTarget');
</script>

<!-- background size: contain -->
<ct-img src="https://example.com/img.png" contain></ct-img>

Attributes

AttributeTypeDescription
background-position'left' | 'right'Position of Backgroud
containBooleanFor contain background size

Properties

PropertyAttributeTypeDefault
${ [x: string]: any; }
altaltstring""
lazylazybooleanfalse
onErrorSrconErrorSrcstring"'data:image/svg+xml,' + encodeURIComponent('<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path fill=\"#CCC\" d=\"M21 19V5c0-1.1-.9-2-2-2H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2zM8.5 13.5l2.5 3.01L14.5 12l4.5 6H5l3.5-4.5z\"/>')"
placeholderImgplaceholderImgstring""
roundroundbooleanfalse
srcsrcstring""
srcsetsrcsetstring \| undefined
viewportviewportHTMLElement"body"

Methods

MethodTypeDescription
$$(name: string): HTMLElement \| Element \| undefined \| nullReturns the first element that is a descendant of node that matches selectors.
$$$(name: string): NodeListOf<HTMLElement \| Element> \| undefinedReturns all element descendants of node that match selectors.
deepClone(ob: object): anyClone all native types of object in a new object referenceob: Original Object
deleteAt(listTarget: string, index: number): voidDelete item in listlistTarget: List Targetindex: Index
fire(name: string, value: any): voidFire a event with name and value
insertAt(listTarget: string, index: number, el: any): voidInsert Object in list at indexlistTarget: List Targetindex: Indexel: Object
mapIDs(): voidMap all IDs for shadowRoot and save in this.$ like a polymer element.You should add in the first line of firstUpdated()
move(array: any[], old_index: number, new_index: number): voidMove item in arrayarray: Array objectold_index: Old Indexnew_index: New Index
push(name: string, value: any): voidSet Value and fire event with the same name
scrollToY(scrollTargetY?: number \| undefined, time?: number \| undefined, easing?: "easeInOutSine" \| "easeOutSine" \| "easeInOutQuint" \| "easeInOutCubic" \| undefined, target?: Element \| undefined): voidscrollTargetY: pixels to scroll. Ej:const ticketsBlockPositionY = this.$.contact.getBoundingClientRect().top + window.scrollTarget.scrollTop;time: Time to scrolltarget: scrollTarget Element
set(name: string, value: any): voidSet Value and fire event with the same name
setAt(listTarget: string, index: number, el: any): void
splice(name: string, index: number, pos: number, value: any): voidSet Value and fire event with the same name
3.9.0

9 months ago

3.8.1

10 months ago

3.11.0

8 months ago

3.8.0

10 months ago

3.10.0

8 months ago

3.12.0

8 months ago

3.7.5

1 year ago

3.7.4

1 year ago

3.7.3

2 years ago

3.7.1

2 years ago

3.7.0

2 years ago

3.6.0

2 years ago

3.5.11

2 years ago

3.5.10

3 years ago

3.5.0

3 years ago

3.4.0

3 years ago

3.3.0

3 years ago

3.2.1

3 years ago

3.2.0

3 years ago

3.1.0

3 years ago

3.0.0

3 years ago

1.4.1

3 years ago

1.4.0

3 years ago

1.0.0

4 years ago