1.5.2 • Published 8 months ago

@cypress-design/icon-registry v1.5.2

Weekly downloads
-
License
MIT
Repository
-
Last release
8 months ago

Registry of icons

This package contains the SVG icons and provides a way to load them as HTML elements. This contains all the elements that are not specifically react or vue.

Usage

import {
  /**
   * Array of icons generated by svg-to-ts
   * contains the body of each icon
   */
  iconSet,
  /**
   * Record of each icon with is meta data
   * key: camel case of the rootId (ex: "action-next")
   * value: {
   *  availableSizes: ['16'],
   *  hasFillColor: false,
   *  hasStrokeColor: true,
   *  hasSecondaryFillColor: false,
   *  hasSecondaryStrokeColor: false,
   * }
   */
  iconsMetadata,
  compileIcon,
  getComponentAttributes,
} from '@cypress-design/icon-registry'

iconSet.forEach((icon) => {
  // `icon.name` contains "book-code-x16"
  // since we mostly need the rooId we can extract it from the name
  const [rootId] = icon.name.split('_x')
  // these information sets are intended to be used in a template or a render function
  console.log({
    body: icon.data,
    metaData: icons[rootId],
  })

  const { size, compiledClasses, body } = compileIcon({
    name: rootId,
    size: 16,
    // colors from the tailwind set of colors
    strokeColor: 'red-600',
    fillColor: 'amber-300',
  })
  // size: the size of the icon with the default value if possible,
  // compiledClasses: all css classes that we will hav to add to our SVG element becaus eof the color passed,
  // body: the interior of the SVG element between the opening and closing SVG tags,
})

Build

Generated types

Sample:

// lists all the colors available from windi classes
export type WindiColors = 'jade-200' | 'jade-300' | 'red-200' | 'red-300'

export type IconProps =
  | IconActionDeleteCircleProps
  | IconTestingTypeComponentProps
// | ...

interface IconActionDeleteCircleProps {
  name: 'action-delete-circle'
  color?: keyof typeof colors
}

interface IconTestingTypeComponentProps {
  name: 'testing-type-component'
  size?: 16 | 24 | 64 | 120
  color?: keyof typeof colors
  bgColor?: keyof typeof colors
}

//...
1.5.2

8 months ago

2.0.0-next.0

10 months ago

1.5.1

10 months ago

1.5.0

10 months ago

1.4.9

10 months ago

1.4.8

10 months ago

1.4.7

10 months ago

1.4.6

10 months ago

1.4.5

10 months ago

1.2.0

1 year ago

1.0.0

1 year ago

1.4.4

11 months ago

1.4.3

11 months ago

1.4.2

11 months ago

1.4.1

11 months ago

1.2.3

12 months ago

1.4.0

11 months ago

1.2.2

12 months ago

1.2.1

12 months ago

1.1.0

1 year ago

1.3.5

11 months ago

1.3.4

11 months ago

1.3.3

11 months ago

1.3.2

11 months ago

1.3.1

12 months ago

1.3.0

12 months ago

0.42.1

1 year ago

0.42.0

1 year ago

0.41.0

1 year ago

0.40.1

1 year ago

0.40.0

1 year ago

0.39.0

1 year ago

0.38.0

1 year ago

0.37.0

1 year ago

0.36.0

1 year ago

0.35.0

1 year ago

0.34.0

1 year ago

0.32.0

2 years ago

0.30.0

2 years ago

0.29.0

2 years ago

0.27.0

2 years ago

0.25.0

2 years ago

0.33.1

2 years ago

0.33.0

2 years ago

0.31.0

2 years ago

0.28.0

2 years ago

0.26.0

2 years ago

0.24.1

2 years ago

0.24.0

2 years ago

0.22.2

2 years ago

0.23.0

2 years ago

0.22.1

2 years ago

0.22.0

2 years ago

0.21.0

2 years ago

0.20.4

2 years ago

0.20.3

2 years ago

0.20.2

2 years ago

0.20.1

2 years ago

0.20.0

2 years ago

0.19.0

2 years ago

0.18.0

2 years ago

0.15.0

3 years ago

0.16.0

3 years ago

0.17.0

3 years ago

0.16.1

3 years ago

0.16.2

3 years ago

0.12.0

3 years ago

0.13.0

3 years ago

0.12.1

3 years ago

0.14.0

3 years ago

0.11.0

3 years ago

0.10.0

3 years ago

0.9.0

3 years ago

0.8.0

3 years ago

0.7.0

3 years ago

0.3.0

3 years ago

0.5.0

3 years ago

0.4.1

3 years ago

0.4.0

3 years ago

0.6.1

3 years ago

0.6.0

3 years ago

0.4.2

3 years ago

0.2.0

3 years ago

0.1.1

3 years ago

0.1.0

3 years ago