0.42.1 • Published 11 days ago

@cypress-design/icon-registry v0.42.1

Weekly downloads
-
License
MIT
Repository
-
Last release
11 days 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
}

//...
0.42.1

11 days ago

0.42.0

24 days ago

0.41.0

1 month ago

0.40.1

1 month ago

0.40.0

1 month ago

0.39.0

2 months ago

0.38.0

2 months ago

0.37.0

2 months ago

0.36.0

2 months ago

0.35.0

3 months ago

0.34.0

3 months ago

0.32.0

7 months ago

0.30.0

7 months ago

0.29.0

7 months ago

0.27.0

9 months ago

0.25.0

10 months ago

0.33.1

6 months ago

0.33.0

6 months ago

0.31.0

7 months ago

0.28.0

8 months ago

0.26.0

10 months ago

0.24.1

12 months ago

0.24.0

12 months ago

0.22.2

12 months ago

0.23.0

12 months ago

0.22.1

1 year ago

0.22.0

1 year ago

0.21.0

1 year ago

0.20.4

1 year ago

0.20.3

1 year ago

0.20.2

1 year ago

0.20.1

1 year ago

0.20.0

1 year ago

0.19.0

1 year ago

0.18.0

1 year ago

0.15.0

1 year ago

0.16.0

1 year ago

0.17.0

1 year ago

0.16.1

1 year ago

0.16.2

1 year ago

0.12.0

2 years ago

0.13.0

2 years ago

0.12.1

2 years ago

0.14.0

2 years ago

0.11.0

2 years ago

0.10.0

2 years ago

0.9.0

2 years ago

0.8.0

2 years ago

0.7.0

2 years ago

0.3.0

2 years ago

0.5.0

2 years ago

0.4.1

2 years ago

0.4.0

2 years ago

0.6.1

2 years ago

0.6.0

2 years ago

0.4.2

2 years ago

0.2.0

2 years ago

0.1.1

2 years ago

0.1.0

2 years ago