# ba-icon-bundle The icons directory contains all of the related files required to generate the icon bundle, which handles the task of bringing over icons from the ba-graphics repo in addition to mapping legacy ids to newer ba-graphics icons. ## ba-icons.json This is a file which contains a single JSON object, with two properties; `baGraphicsIcons` and `legacyMap`. The `legacyMap` property contains an object, which defines various mappings of the format `"legacy-icon-id":"ba-graphics-icon-id"`. The `baGraphicsIcons` property is an array which lists out all of the ba-graphics icons that should be included in the bundle. All new icons needed by perspectives should be included in the `baGraphicsIcons` array which is the id in ba-graphics of the SVG you need to reference. If you are replacing an old perspective SVG with a new ba-graphics SVG you should use the `legacyMap` property. This is so we have backwards compatibility for people referencing the old SVG concept. The new ba-graphics id will be mounted with the old SVG id. ## ba-icon-bundle.js Generated icon bundle file that is included in the ca-portal bundle to be consumed in the product. ## CommonIconService.js This class is instantiated in the ba_common.json perspective file as a service, which is responsible for including the ba-icon-bundle and ensuring that the SVGs contained there are loaded into the DOM.