@miraidesigns/utils
v1.3.1
Published
Mirai Designs Framework: Utils module
Downloads
2
Maintainers
Readme
Utils
A collection of useful Sass and TypeScript functions.
Sass
px2rem
A basic function to convert a given px
value into rem
.
@use '@miraidesigns/utils';
p {
font-size: utils.px2rem(16px); // Results in 1rem
}
TypeScript
Functions
| Name | Type | Description |
| --------------------------------------- | ------------------------------------------------ | -------------------------------------------------------------------------------- |
| isRTL()
| (): boolean
| Returns wether or not the page is currently in RTL mode |
| hasScrollbar(elem, horizontal?)
| (Element, boolean): boolean
| Returns wether or not the current element has a visible scrollbar |
| getScrollbarParent(elem, ignoreElem?)
| (HTMLElement, string): HTMLElement
| Starting from the given element, returns the closest parent that has a scrollbar |
| matchParentHeight(elem)
| (HTMLElement): void
| Match the given element's height to that of its parent. |
| throttle(func, delay)
| ((...args: any[]) => void, number): () => void
| Will limit how often a function can be executed |
| debounce(func, timeout)
| ((...args: any[]) => void, number): () => void
| Will block a function from being executed again until enough time has passed |
| empty(string)
| (string): boolean
| Strip string of white spaces and check if its empty. |
| imageLoaded(image)
| (HTMLImageElement): Promise<boolean>
| Will resolve promise once an image is fully loaded. |
Here is a small example using the throttle
function.
// Here we import the throttle function from our utils module.
import { throttle } from '@miraidesigns/utils';
const throttledFunc = () => {
console.log('I only execute every 250ms');
}
// And we apply the throttle to a scroll event, a very common way to avoid overhead on repeated calls.
window.addEventListener('scroll', throttle(throttledFunc, 250));