1.14.0-alpha.1 • Published 21 days ago

@squiz/xaccel-utility-functions v1.14.0-alpha.1

Weekly downloads
-
License
ISC
Repository
-
Last release
21 days ago

utility-functions

Description

A package contains the following functions:

  • debounce
  • uuid
  • generateClasses
  • generateModifierClass
  • generateNewSubBlock
  • generateCSSTransitionClasses

debounce

Description

This function will debounce the callback. It provides better performance

Usage

import {debounce} from @squiz/xaccel-utility-functions;

window.addEventListener('resize', debounce(functionToDebounce));

uuid

Description

A utility for crating unique string id.

IMPORTANT! This is deprecated version of uuid function. It can be used only on the client-side. The function will be removed from this package soon. It's still here because it's used in some PnP components You can find new uuid in "@squiz/xaccel-uuid package

Usage

import {uuid} from @squiz/xaccel-utility-functions;

const myCustomId = uuid()

generateClasses

Description

A utility to pass custom BEM classes to existing PnP components

Usage

import {generateClasses} from @squiz/xaccel-utility-functions;
...
You can make a div in JSX like this:
<div
    className={generateClasses(
        {
            block: 'collapsible-header',
            modifiers: { active: expanded },
            override: userCustomClassObject,
        },
        styles
    )}
>
And pass external styles to userCustomClassObject
e.g. className={{
                className: 'quickLinksHeader',
                cssModule: styles,
                retainMissingModuleClasses: true,
            }}
Now every element with e.g. collapsible-header__title will also have quickLinksHeader__title class applied
...

generateCSSTransitionClasses

Description

A utility to create transition classes, which can be used in CSSTransition component

Usage

import {generateCSSTransitionClasses} from @squiz/xaccel-utility-functions;

<CSSTransition
    classNames={generateCSSTransitionClasses(
        {
            block: 'collapsible-body',
            override: className,
        },
        styles
    )}
>

generateNewSubBlock

Description

A utility to generate new subblock

Usage

import {overflowMenuButtonClass} from @squiz/xaccel-utility-functions;

const overflowMenuButtonClass = generateNewSubBlock(
    {
        block: 'overflow-menu',
        sub: '-button',
        override: className,
    },
    styles
)

generateModifierClass

Description

A utility to generate new modifier class

Usage

import {overflowMenuButtonClass} from @squiz/xaccel-utility-functions;

const rightToLeftClass = generateModifierClass(
    {
        block: 'dropdown',
        element: 'menu',
        modifier: 'right-to-left',
        override: className,
    },
    styles
)
1.14.0-alpha.1

21 days ago

1.15.0-beta.0

2 months ago

1.13.1

3 months ago

1.12.1

4 months ago

1.13.0-beta.1

4 months ago

1.9.1-alpha.0

4 months ago

1.12.1-alpha.0

4 months ago

1.9.0

4 months ago

1.9.1-beta.0

4 months ago

1.9.0-beta.32

4 months ago

1.11.0-alpha.8

5 months ago

1.11.0-alpha.7

5 months ago

1.9.0-beta.24

6 months ago

1.10.0-alpha.15

6 months ago

1.10.0-alpha.13

6 months ago

1.10.0-alpha.5

7 months ago

1.9.0-beta.13

7 months ago

1.9.0-alpha.13

7 months ago

1.9.0-beta.8

7 months ago

1.9.0-alpha.9

7 months ago

1.9.0-alpha.8

7 months ago

1.9.0-beta.3

7 months ago

1.9.0-alpha.4

7 months ago

1.9.0-alpha.3

7 months ago

1.9.0-beta.2

7 months ago

1.9.0-beta.1

7 months ago

1.9.0-beta.0

7 months ago

1.6.0-beta.0

7 months ago

1.5.1-beta.4

7 months ago

1.6.0-alpha.5

7 months ago

1.6.0-alpha.4

7 months ago

1.5.1-beta.3

7 months ago

1.6.0-alpha.0

7 months ago

1.5.1-beta.0

7 months ago

1.5.0-beta.1

7 months ago

1.5.1-alpha.2

7 months ago

1.5.1-alpha.1

7 months ago

1.5.0-alpha.3

7 months ago

1.5.0-beta.0

7 months ago

1.4.2-beta.0

7 months ago

1.4.2-alpha.0

7 months ago

1.4.0

8 months ago

1.3.0

8 months ago

1.2.2

8 months ago

1.2.1

9 months ago

1.2.0

9 months ago

1.1.0

9 months ago