@esri/calcite-ui-icons 3.29.0 → 3.30.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE.md +4 -5
- package/README.md +36 -41
- package/docs/icons.json +1 -1
- package/docs/keywords.json +8531 -14811
- package/index.d.ts +3479 -3479
- package/index.js +3479 -3479
- package/lib/spriter/cli.js +7 -8
- package/lib/spriter/index.js +37 -40
- package/package.json +45 -37
- package/.github/workflows/npm-release.yml +0 -20
- package/CONTRIBUTE.md +0 -29
- package/bin/build.js +0 -24
- package/bin/cli.js +0 -6
- package/bin/convert-mobile.js +0 -218
- package/bin/optimize.js +0 -68
- package/bin/path-data.js +0 -136
- package/bin/server.js +0 -41
- package/bin/templates/imageset.json +0 -29
- package/bin/templates/xcassets.json +0 -6
- package/bower.json +0 -27
- package/docs/app.js +0 -118
- package/docs/index.html +0 -132
- package/docs/resources/calcite-web.min.css +0 -8
- package/docs/resources/calcite-web.min.js +0 -7
- package/js/ai16.d.ts +0 -1
- package/js/ai16.js +0 -1
- package/js/ai16.json +0 -1
- package/js/ai24.d.ts +0 -1
- package/js/ai24.js +0 -1
- package/js/ai24.json +0 -1
- package/js/ai32.d.ts +0 -1
- package/js/ai32.js +0 -1
- package/js/ai32.json +0 -1
- package/js/arrowCircleDownF16.d.ts +0 -1
- package/js/arrowCircleDownF16.js +0 -1
- package/js/arrowCircleDownF16.json +0 -1
- package/js/arrowCircleDownF24.d.ts +0 -1
- package/js/arrowCircleDownF24.js +0 -1
- package/js/arrowCircleDownF24.json +0 -1
- package/js/arrowCircleDownF32.d.ts +0 -1
- package/js/arrowCircleDownF32.js +0 -1
- package/js/arrowCircleDownF32.json +0 -1
- package/js/bookmarkF16.d.ts +0 -1
- package/js/bookmarkF16.js +0 -1
- package/js/bookmarkF16.json +0 -1
- package/js/bookmarkF24.d.ts +0 -1
- package/js/bookmarkF24.js +0 -1
- package/js/bookmarkF24.json +0 -1
- package/js/bookmarkF32.d.ts +0 -1
- package/js/bookmarkF32.js +0 -1
- package/js/bookmarkF32.json +0 -1
- package/js/codeBrand16.d.ts +0 -1
- package/js/codeBrand16.js +0 -1
- package/js/codeBrand16.json +0 -1
- package/js/codeBrand24.d.ts +0 -1
- package/js/codeBrand24.js +0 -1
- package/js/codeBrand24.json +0 -1
- package/js/codeBrand32.d.ts +0 -1
- package/js/codeBrand32.js +0 -1
- package/js/codeBrand32.json +0 -1
- package/js/codeBrandEdit16.d.ts +0 -1
- package/js/codeBrandEdit16.js +0 -1
- package/js/codeBrandEdit16.json +0 -1
- package/js/codeBrandEdit24.d.ts +0 -1
- package/js/codeBrandEdit24.js +0 -1
- package/js/codeBrandEdit24.json +0 -1
- package/js/codeBrandEdit32.d.ts +0 -1
- package/js/codeBrandEdit32.js +0 -1
- package/js/codeBrandEdit32.json +0 -1
- package/js/esriCommunity16.d.ts +0 -1
- package/js/esriCommunity16.js +0 -1
- package/js/esriCommunity16.json +0 -1
- package/js/esriCommunity24.d.ts +0 -1
- package/js/esriCommunity24.js +0 -1
- package/js/esriCommunity24.json +0 -1
- package/js/esriCommunity32.d.ts +0 -1
- package/js/esriCommunity32.js +0 -1
- package/js/esriCommunity32.json +0 -1
- package/js/esriCommunityGlyph16.d.ts +0 -1
- package/js/esriCommunityGlyph16.js +0 -1
- package/js/esriCommunityGlyph16.json +0 -1
- package/js/esriCommunityGlyph24.d.ts +0 -1
- package/js/esriCommunityGlyph24.js +0 -1
- package/js/esriCommunityGlyph24.json +0 -1
- package/js/esriCommunityGlyph32.d.ts +0 -1
- package/js/esriCommunityGlyph32.js +0 -1
- package/js/esriCommunityGlyph32.json +0 -1
- package/js/featureDisplayOrder16.d.ts +0 -1
- package/js/featureDisplayOrder16.js +0 -1
- package/js/featureDisplayOrder16.json +0 -1
- package/js/featureDisplayOrder24.d.ts +0 -1
- package/js/featureDisplayOrder24.js +0 -1
- package/js/featureDisplayOrder24.json +0 -1
- package/js/featureDisplayOrder32.d.ts +0 -1
- package/js/featureDisplayOrder32.js +0 -1
- package/js/featureDisplayOrder32.json +0 -1
- package/js/folderFill16F.d.ts +0 -1
- package/js/folderFill16F.js +0 -1
- package/js/folderFill16F.json +0 -1
- package/js/folderFill24F.d.ts +0 -1
- package/js/folderFill24F.js +0 -1
- package/js/folderFill24F.json +0 -1
- package/js/folderFill32F.d.ts +0 -1
- package/js/folderFill32F.js +0 -1
- package/js/folderFill32F.json +0 -1
- package/js/full1Column16.d.ts +0 -1
- package/js/full1Column16.js +0 -1
- package/js/full1Column16.json +0 -1
- package/js/full1Column24.d.ts +0 -1
- package/js/full1Column24.js +0 -1
- package/js/full1Column24.json +0 -1
- package/js/full1Column32.d.ts +0 -1
- package/js/full1Column32.js +0 -1
- package/js/full1Column32.json +0 -1
- package/js/fullMedium1Column16.d.ts +0 -1
- package/js/fullMedium1Column16.js +0 -1
- package/js/fullMedium1Column16.json +0 -1
- package/js/fullMedium1Column24.d.ts +0 -1
- package/js/fullMedium1Column24.js +0 -1
- package/js/fullMedium1Column24.json +0 -1
- package/js/fullMedium1Column32.d.ts +0 -1
- package/js/fullMedium1Column32.js +0 -1
- package/js/fullMedium1Column32.json +0 -1
- package/js/fullSmall1Column16.d.ts +0 -1
- package/js/fullSmall1Column16.js +0 -1
- package/js/fullSmall1Column16.json +0 -1
- package/js/fullSmall1Column24.d.ts +0 -1
- package/js/fullSmall1Column24.js +0 -1
- package/js/fullSmall1Column24.json +0 -1
- package/js/fullSmall1Column32.d.ts +0 -1
- package/js/fullSmall1Column32.js +0 -1
- package/js/fullSmall1Column32.json +0 -1
- package/js/i12XPlaybackSpeed16.d.ts +0 -1
- package/js/i12XPlaybackSpeed16.js +0 -1
- package/js/i12XPlaybackSpeed16.json +0 -1
- package/js/i12XPlaybackSpeed24.d.ts +0 -1
- package/js/i12XPlaybackSpeed24.js +0 -1
- package/js/i12XPlaybackSpeed24.json +0 -1
- package/js/i12XPlaybackSpeed32.d.ts +0 -1
- package/js/i12XPlaybackSpeed32.js +0 -1
- package/js/i12XPlaybackSpeed32.json +0 -1
- package/js/i14XPlaybackSpeed16.d.ts +0 -1
- package/js/i14XPlaybackSpeed16.js +0 -1
- package/js/i14XPlaybackSpeed16.json +0 -1
- package/js/i14XPlaybackSpeed24.d.ts +0 -1
- package/js/i14XPlaybackSpeed24.js +0 -1
- package/js/i14XPlaybackSpeed24.json +0 -1
- package/js/i14XPlaybackSpeed32.d.ts +0 -1
- package/js/i14XPlaybackSpeed32.js +0 -1
- package/js/i14XPlaybackSpeed32.json +0 -1
- package/js/i18XPlaybackSpeed16.d.ts +0 -1
- package/js/i18XPlaybackSpeed16.js +0 -1
- package/js/i18XPlaybackSpeed16.json +0 -1
- package/js/i18XPlaybackSpeed24.d.ts +0 -1
- package/js/i18XPlaybackSpeed24.js +0 -1
- package/js/i18XPlaybackSpeed24.json +0 -1
- package/js/i18XPlaybackSpeed32.d.ts +0 -1
- package/js/i18XPlaybackSpeed32.js +0 -1
- package/js/i18XPlaybackSpeed32.json +0 -1
- package/js/i1XPlaybackSpeed16.d.ts +0 -1
- package/js/i1XPlaybackSpeed16.js +0 -1
- package/js/i1XPlaybackSpeed16.json +0 -1
- package/js/i1XPlaybackSpeed24.d.ts +0 -1
- package/js/i1XPlaybackSpeed24.js +0 -1
- package/js/i1XPlaybackSpeed24.json +0 -1
- package/js/i1XPlaybackSpeed32.d.ts +0 -1
- package/js/i1XPlaybackSpeed32.js +0 -1
- package/js/i1XPlaybackSpeed32.json +0 -1
- package/js/i2XPlaybackSpeed16.d.ts +0 -1
- package/js/i2XPlaybackSpeed16.js +0 -1
- package/js/i2XPlaybackSpeed16.json +0 -1
- package/js/i2XPlaybackSpeed24.d.ts +0 -1
- package/js/i2XPlaybackSpeed24.js +0 -1
- package/js/i2XPlaybackSpeed24.json +0 -1
- package/js/i2XPlaybackSpeed32.d.ts +0 -1
- package/js/i2XPlaybackSpeed32.js +0 -1
- package/js/i2XPlaybackSpeed32.json +0 -1
- package/js/i4XPlaybackSpeed16.d.ts +0 -1
- package/js/i4XPlaybackSpeed16.js +0 -1
- package/js/i4XPlaybackSpeed16.json +0 -1
- package/js/i4XPlaybackSpeed24.d.ts +0 -1
- package/js/i4XPlaybackSpeed24.js +0 -1
- package/js/i4XPlaybackSpeed24.json +0 -1
- package/js/i4XPlaybackSpeed32.d.ts +0 -1
- package/js/i4XPlaybackSpeed32.js +0 -1
- package/js/i4XPlaybackSpeed32.json +0 -1
- package/js/i8XPlaybackSpeed16.d.ts +0 -1
- package/js/i8XPlaybackSpeed16.js +0 -1
- package/js/i8XPlaybackSpeed16.json +0 -1
- package/js/i8XPlaybackSpeed24.d.ts +0 -1
- package/js/i8XPlaybackSpeed24.js +0 -1
- package/js/i8XPlaybackSpeed24.json +0 -1
- package/js/i8XPlaybackSpeed32.d.ts +0 -1
- package/js/i8XPlaybackSpeed32.js +0 -1
- package/js/i8XPlaybackSpeed32.json +0 -1
- package/js/large2Column16.d.ts +0 -1
- package/js/large2Column16.js +0 -1
- package/js/large2Column16.json +0 -1
- package/js/large2Column24.d.ts +0 -1
- package/js/large2Column24.js +0 -1
- package/js/large2Column24.json +0 -1
- package/js/large2Column32.d.ts +0 -1
- package/js/large2Column32.js +0 -1
- package/js/large2Column32.json +0 -1
- package/js/locationSharingDisabled16.d.ts +0 -1
- package/js/locationSharingDisabled16.js +0 -1
- package/js/locationSharingDisabled16.json +0 -1
- package/js/locationSharingDisabled24.d.ts +0 -1
- package/js/locationSharingDisabled24.js +0 -1
- package/js/locationSharingDisabled24.json +0 -1
- package/js/locationSharingDisabled32.d.ts +0 -1
- package/js/locationSharingDisabled32.js +0 -1
- package/js/locationSharingDisabled32.json +0 -1
- package/js/locationSharingEnabled16.d.ts +0 -1
- package/js/locationSharingEnabled16.js +0 -1
- package/js/locationSharingEnabled16.json +0 -1
- package/js/locationSharingEnabled24.d.ts +0 -1
- package/js/locationSharingEnabled24.js +0 -1
- package/js/locationSharingEnabled24.json +0 -1
- package/js/locationSharingEnabled32.d.ts +0 -1
- package/js/locationSharingEnabled32.js +0 -1
- package/js/locationSharingEnabled32.json +0 -1
- package/js/locationSharingFilled16.d.ts +0 -1
- package/js/locationSharingFilled16.js +0 -1
- package/js/locationSharingFilled16.json +0 -1
- package/js/locationSharingFilled24.d.ts +0 -1
- package/js/locationSharingFilled24.js +0 -1
- package/js/locationSharingFilled24.json +0 -1
- package/js/locationSharingFilled32.d.ts +0 -1
- package/js/locationSharingFilled32.js +0 -1
- package/js/locationSharingFilled32.json +0 -1
- package/js/medium2Column16.d.ts +0 -1
- package/js/medium2Column16.js +0 -1
- package/js/medium2Column16.json +0 -1
- package/js/medium2Column24.d.ts +0 -1
- package/js/medium2Column24.js +0 -1
- package/js/medium2Column24.json +0 -1
- package/js/medium2Column32.d.ts +0 -1
- package/js/medium2Column32.js +0 -1
- package/js/medium2Column32.json +0 -1
- package/js/numberCircle1F16.d.ts +0 -1
- package/js/numberCircle1F16.js +0 -1
- package/js/numberCircle1F16.json +0 -1
- package/js/numberCircle1F24.d.ts +0 -1
- package/js/numberCircle1F24.js +0 -1
- package/js/numberCircle1F24.json +0 -1
- package/js/numberCircle1F32.d.ts +0 -1
- package/js/numberCircle1F32.js +0 -1
- package/js/numberCircle1F32.json +0 -1
- package/js/numberCircle2F16.d.ts +0 -1
- package/js/numberCircle2F16.js +0 -1
- package/js/numberCircle2F16.json +0 -1
- package/js/numberCircle2F24.d.ts +0 -1
- package/js/numberCircle2F24.js +0 -1
- package/js/numberCircle2F24.json +0 -1
- package/js/numberCircle2F32.d.ts +0 -1
- package/js/numberCircle2F32.js +0 -1
- package/js/numberCircle2F32.json +0 -1
- package/js/numberCircle3F16.d.ts +0 -1
- package/js/numberCircle3F16.js +0 -1
- package/js/numberCircle3F16.json +0 -1
- package/js/numberCircle3F24.d.ts +0 -1
- package/js/numberCircle3F24.js +0 -1
- package/js/numberCircle3F24.json +0 -1
- package/js/numberCircle3F32.d.ts +0 -1
- package/js/numberCircle3F32.js +0 -1
- package/js/numberCircle3F32.json +0 -1
- package/js/numberCircle4F16.d.ts +0 -1
- package/js/numberCircle4F16.js +0 -1
- package/js/numberCircle4F16.json +0 -1
- package/js/numberCircle4F24.d.ts +0 -1
- package/js/numberCircle4F24.js +0 -1
- package/js/numberCircle4F24.json +0 -1
- package/js/numberCircle4F32.d.ts +0 -1
- package/js/numberCircle4F32.js +0 -1
- package/js/numberCircle4F32.json +0 -1
- package/js/numberCircle5F16.d.ts +0 -1
- package/js/numberCircle5F16.js +0 -1
- package/js/numberCircle5F16.json +0 -1
- package/js/numberCircle5F24.d.ts +0 -1
- package/js/numberCircle5F24.js +0 -1
- package/js/numberCircle5F24.json +0 -1
- package/js/numberCircle5F32.d.ts +0 -1
- package/js/numberCircle5F32.js +0 -1
- package/js/numberCircle5F32.json +0 -1
- package/js/numberCircle6F16.d.ts +0 -1
- package/js/numberCircle6F16.js +0 -1
- package/js/numberCircle6F16.json +0 -1
- package/js/numberCircle6F24.d.ts +0 -1
- package/js/numberCircle6F24.js +0 -1
- package/js/numberCircle6F24.json +0 -1
- package/js/numberCircle6F32.d.ts +0 -1
- package/js/numberCircle6F32.js +0 -1
- package/js/numberCircle6F32.json +0 -1
- package/js/numberCircle7F16.d.ts +0 -1
- package/js/numberCircle7F16.js +0 -1
- package/js/numberCircle7F16.json +0 -1
- package/js/numberCircle7F24.d.ts +0 -1
- package/js/numberCircle7F24.js +0 -1
- package/js/numberCircle7F24.json +0 -1
- package/js/numberCircle7F32.d.ts +0 -1
- package/js/numberCircle7F32.js +0 -1
- package/js/numberCircle7F32.json +0 -1
- package/js/numberCircle8F16.d.ts +0 -1
- package/js/numberCircle8F16.js +0 -1
- package/js/numberCircle8F16.json +0 -1
- package/js/numberCircle8F24.d.ts +0 -1
- package/js/numberCircle8F24.js +0 -1
- package/js/numberCircle8F24.json +0 -1
- package/js/numberCircle8F32.d.ts +0 -1
- package/js/numberCircle8F32.js +0 -1
- package/js/numberCircle8F32.json +0 -1
- package/js/numberCircle9F16.d.ts +0 -1
- package/js/numberCircle9F16.js +0 -1
- package/js/numberCircle9F16.json +0 -1
- package/js/numberCircle9F24.d.ts +0 -1
- package/js/numberCircle9F24.js +0 -1
- package/js/numberCircle9F24.json +0 -1
- package/js/numberCircle9F32.d.ts +0 -1
- package/js/numberCircle9F32.js +0 -1
- package/js/numberCircle9F32.json +0 -1
- package/js/partlyCloud16.d.ts +0 -1
- package/js/partlyCloud16.js +0 -1
- package/js/partlyCloud16.json +0 -1
- package/js/partlyCloud24.d.ts +0 -1
- package/js/partlyCloud24.js +0 -1
- package/js/partlyCloud24.json +0 -1
- package/js/partlyCloud32.d.ts +0 -1
- package/js/partlyCloud32.js +0 -1
- package/js/partlyCloud32.json +0 -1
- package/js/pinTearF16.d.ts +0 -1
- package/js/pinTearF16.js +0 -1
- package/js/pinTearF16.json +0 -1
- package/js/pinTearF24.d.ts +0 -1
- package/js/pinTearF24.js +0 -1
- package/js/pinTearF24.json +0 -1
- package/js/pinTearF32.d.ts +0 -1
- package/js/pinTearF32.js +0 -1
- package/js/pinTearF32.json +0 -1
- package/js/popUpBlankF16.d.ts +0 -1
- package/js/popUpBlankF16.js +0 -1
- package/js/popUpBlankF16.json +0 -1
- package/js/popUpBlankF24.d.ts +0 -1
- package/js/popUpBlankF24.js +0 -1
- package/js/popUpBlankF24.json +0 -1
- package/js/popUpBlankF32.d.ts +0 -1
- package/js/popUpBlankF32.js +0 -1
- package/js/popUpBlankF32.json +0 -1
- package/js/radialTreeLinkChartYayout16.d.ts +0 -1
- package/js/radialTreeLinkChartYayout16.js +0 -1
- package/js/radialTreeLinkChartYayout16.json +0 -1
- package/js/radialTreeLinkChartYayout24.d.ts +0 -1
- package/js/radialTreeLinkChartYayout24.js +0 -1
- package/js/radialTreeLinkChartYayout24.json +0 -1
- package/js/radialTreeLinkChartYayout32.d.ts +0 -1
- package/js/radialTreeLinkChartYayout32.js +0 -1
- package/js/radialTreeLinkChartYayout32.json +0 -1
- package/js/satellite0F16.d.ts +0 -1
- package/js/satellite0F16.js +0 -1
- package/js/satellite0F16.json +0 -1
- package/js/satellite0F24.d.ts +0 -1
- package/js/satellite0F24.js +0 -1
- package/js/satellite0F24.json +0 -1
- package/js/satellite0F32.d.ts +0 -1
- package/js/satellite0F32.js +0 -1
- package/js/satellite0F32.json +0 -1
- package/js/satellite1F16.d.ts +0 -1
- package/js/satellite1F16.js +0 -1
- package/js/satellite1F16.json +0 -1
- package/js/satellite1F24.d.ts +0 -1
- package/js/satellite1F24.js +0 -1
- package/js/satellite1F24.json +0 -1
- package/js/satellite1F32.d.ts +0 -1
- package/js/satellite1F32.js +0 -1
- package/js/satellite1F32.json +0 -1
- package/js/satellite2F16.d.ts +0 -1
- package/js/satellite2F16.js +0 -1
- package/js/satellite2F16.json +0 -1
- package/js/satellite2F24.d.ts +0 -1
- package/js/satellite2F24.js +0 -1
- package/js/satellite2F24.json +0 -1
- package/js/satellite2F32.d.ts +0 -1
- package/js/satellite2F32.js +0 -1
- package/js/satellite2F32.json +0 -1
- package/js/satellite3F16.d.ts +0 -1
- package/js/satellite3F16.js +0 -1
- package/js/satellite3F16.json +0 -1
- package/js/satellite3F24.d.ts +0 -1
- package/js/satellite3F24.js +0 -1
- package/js/satellite3F24.json +0 -1
- package/js/satellite3F32.d.ts +0 -1
- package/js/satellite3F32.js +0 -1
- package/js/satellite3F32.json +0 -1
- package/js/sensor21.d.ts +0 -1
- package/js/sensor21.js +0 -1
- package/js/sensor21.json +0 -1
- package/js/sensor48.d.ts +0 -1
- package/js/sensor48.js +0 -1
- package/js/sensor48.json +0 -1
- package/js/sensor64.d.ts +0 -1
- package/js/sensor64.js +0 -1
- package/js/sensor64.json +0 -1
- package/js/sheildCoin16.d.ts +0 -1
- package/js/sheildCoin16.js +0 -1
- package/js/sheildCoin16.json +0 -1
- package/js/sheildCoin24.d.ts +0 -1
- package/js/sheildCoin24.js +0 -1
- package/js/sheildCoin24.json +0 -1
- package/js/sheildCoin32.d.ts +0 -1
- package/js/sheildCoin32.js +0 -1
- package/js/sheildCoin32.json +0 -1
- package/js/small2Column16.d.ts +0 -1
- package/js/small2Column16.js +0 -1
- package/js/small2Column16.json +0 -1
- package/js/small2Column24.d.ts +0 -1
- package/js/small2Column24.js +0 -1
- package/js/small2Column24.json +0 -1
- package/js/small2Column32.d.ts +0 -1
- package/js/small2Column32.js +0 -1
- package/js/small2Column32.json +0 -1
- package/launch-calcite.command +0 -1
- package/launch-meridian.command +0 -1
package/bin/optimize.js
DELETED
|
@@ -1,68 +0,0 @@
|
|
|
1
|
-
const fs = require('fs-extra');
|
|
2
|
-
const glob = require('glob-promise');
|
|
3
|
-
const SVGO = require('svgo');
|
|
4
|
-
const progress = require('cli-progress');
|
|
5
|
-
|
|
6
|
-
let options = {
|
|
7
|
-
plugins: [
|
|
8
|
-
{cleanupIDs: {remove: false}},
|
|
9
|
-
{removeStyleElement: true},
|
|
10
|
-
{removeUselessDefs: true},
|
|
11
|
-
{removeUselessStrokeAndFill: false},
|
|
12
|
-
{removeHiddenElems: true},
|
|
13
|
-
{removeEmptyText: true},
|
|
14
|
-
{convertShapeToPath: { convertArcs: true }},
|
|
15
|
-
{convertPathData: { noSpaceAfterFlags: false }},
|
|
16
|
-
{removeEmptyAttrs: true},
|
|
17
|
-
{removeEmptyContainers: true},
|
|
18
|
-
{mergePaths: false},
|
|
19
|
-
{removeTitle: true},
|
|
20
|
-
{removeDesc: true},
|
|
21
|
-
{removeDimensions: true},
|
|
22
|
-
{removeAttrs: {attrs: ['class', '(stroke)']}}
|
|
23
|
-
],
|
|
24
|
-
multipass: true
|
|
25
|
-
};
|
|
26
|
-
|
|
27
|
-
/**
|
|
28
|
-
* Reads an icon file off disk and optimizes it, saving to same location
|
|
29
|
-
* @param {string[]} filePaths array of relative file paths
|
|
30
|
-
* @param {SVGO} svgo SVGO instance with correct options
|
|
31
|
-
* @param {SingleBar} bar progress bar instance
|
|
32
|
-
* @return {Promise}
|
|
33
|
-
*/
|
|
34
|
-
function optimizeIcons (filePaths, svgo, bar) {
|
|
35
|
-
var num = 0;
|
|
36
|
-
return Promise.all(filePaths.map((path) => {
|
|
37
|
-
return fs.readFile(path, 'utf-8')
|
|
38
|
-
.then((svg) => svgo.optimize(svg, { path }))
|
|
39
|
-
.then((result) => {
|
|
40
|
-
num++;
|
|
41
|
-
bar.update(num);
|
|
42
|
-
return fs.writeFile(path, result.data, 'utf-8');
|
|
43
|
-
});
|
|
44
|
-
}));
|
|
45
|
-
}
|
|
46
|
-
|
|
47
|
-
/**
|
|
48
|
-
* Optimize a set of icons
|
|
49
|
-
* @param {string} files Glob pattern for icons source
|
|
50
|
-
* @param {boolean} remove Remove id attributes from output
|
|
51
|
-
* @return {Promise} Formatted object with all icon metadata
|
|
52
|
-
*/
|
|
53
|
-
module.exports = function (files, remove) {
|
|
54
|
-
if (!files) {
|
|
55
|
-
return Promise.resolve(true);
|
|
56
|
-
}
|
|
57
|
-
options.plugins[0] = {cleanupIDs: { remove }};
|
|
58
|
-
svgo = new SVGO(options);
|
|
59
|
-
return glob(files).then((iconPaths) => {
|
|
60
|
-
const format = " \x1b[32m {bar} {percentage}% | {value}/{total} \x1b[0m";
|
|
61
|
-
const bar = new progress.SingleBar({ format }, progress.Presets.shades_classic);
|
|
62
|
-
bar.start(iconPaths.length, 0);
|
|
63
|
-
return optimizeIcons(iconPaths, svgo, bar).then(() => {
|
|
64
|
-
bar.stop();
|
|
65
|
-
console.log("");
|
|
66
|
-
});
|
|
67
|
-
});
|
|
68
|
-
}
|
package/bin/path-data.js
DELETED
|
@@ -1,136 +0,0 @@
|
|
|
1
|
-
const camelCase = require('camelcase');
|
|
2
|
-
const fs = require('fs-extra');
|
|
3
|
-
const glob = require('glob-promise');
|
|
4
|
-
const path = require('path');
|
|
5
|
-
const util = require('util');
|
|
6
|
-
const svgson = util.promisify(require('svgson'));
|
|
7
|
-
const version = require('../package.json').version;
|
|
8
|
-
|
|
9
|
-
/**
|
|
10
|
-
* Gets all important information about an icon.
|
|
11
|
-
* @param {string} svg - Path to icon file.
|
|
12
|
-
* @return {object} - Formatted object with all icon metadata
|
|
13
|
-
*/
|
|
14
|
-
function formatSVG (svg) {
|
|
15
|
-
let file = path.basename(svg.file);
|
|
16
|
-
let filled = file.indexOf('-f.svg') > -1;
|
|
17
|
-
return {
|
|
18
|
-
file,
|
|
19
|
-
filled,
|
|
20
|
-
paths: getPaths(svg.contents),
|
|
21
|
-
size: getSize(file),
|
|
22
|
-
variant: getVariant(file, filled)
|
|
23
|
-
};
|
|
24
|
-
}
|
|
25
|
-
|
|
26
|
-
/**
|
|
27
|
-
* Find the path(s) from an icon's svgson data
|
|
28
|
-
* @param {object} svg - Object as returned from svgson.
|
|
29
|
-
* @return {array} - Array of paths
|
|
30
|
-
*/
|
|
31
|
-
function getPaths (svg) {
|
|
32
|
-
const bbPaths = ['M0 0h16v16H0z', 'M0 0h24v24H0z', 'M0 0h32v32H0z'];
|
|
33
|
-
return svg.childs
|
|
34
|
-
.filter(child => child.name === 'path' && bbPaths.indexOf(child.attrs.d) === -1) // filter out bounding box paths
|
|
35
|
-
.map(child => ({ opacity: child.attrs.opacity, d: child.attrs.d }));
|
|
36
|
-
}
|
|
37
|
-
|
|
38
|
-
/**
|
|
39
|
-
* Find the base icon name
|
|
40
|
-
* @param {string} name - Icon filename
|
|
41
|
-
* @param {boolean} filled - Icon filename
|
|
42
|
-
* @return {array} - Icon filename without size, fill, or file extension
|
|
43
|
-
*/
|
|
44
|
-
function getVariant (name, filled) {
|
|
45
|
-
var noF = name.replace('-f.svg', '.svg');
|
|
46
|
-
return noF.substring(0, noF.length - 7) + (filled ? "-f" : "");
|
|
47
|
-
}
|
|
48
|
-
|
|
49
|
-
/**
|
|
50
|
-
* Find an icon's size
|
|
51
|
-
* @param {string} name - Icon filename
|
|
52
|
-
* @return {integer} - 16, 24, 36
|
|
53
|
-
*/
|
|
54
|
-
function getSize(name) {
|
|
55
|
-
var noF = name.replace('-f.svg', '.svg');
|
|
56
|
-
return parseInt(noF.substring(noF.length - 4, noF.length - 6), 10);
|
|
57
|
-
}
|
|
58
|
-
|
|
59
|
-
/**
|
|
60
|
-
* Read an icon from disc and get data as json
|
|
61
|
-
* @param {string} fileName - Icon filename (full path)
|
|
62
|
-
* @return {Promise} - Promise resolving to object which includes name and svgson data
|
|
63
|
-
*/
|
|
64
|
-
function readSVG (fileName) {
|
|
65
|
-
return new Promise(function(resolve, reject) {
|
|
66
|
-
fs.readFile(fileName, 'utf-8').then(function (svg) {
|
|
67
|
-
svgson(svg, {}, function (contents) {
|
|
68
|
-
resolve({file: fileName, contents});
|
|
69
|
-
});
|
|
70
|
-
});
|
|
71
|
-
});
|
|
72
|
-
}
|
|
73
|
-
|
|
74
|
-
module.exports = function generatePathFile () {
|
|
75
|
-
let banner = '// File generated automatically by path-data.js, do not edit directly\n';
|
|
76
|
-
let jsFile = `${banner}`;
|
|
77
|
-
let tsFile = `
|
|
78
|
-
${banner}
|
|
79
|
-
interface CalciteMultiPathEntry {
|
|
80
|
-
d: string;
|
|
81
|
-
opacity?: string;
|
|
82
|
-
}
|
|
83
|
-
export type CalciteIconPath = string | CalciteMultiPathEntry[];
|
|
84
|
-
`;
|
|
85
|
-
return glob('icons/*.svg')
|
|
86
|
-
.then(filePaths => Promise.all(filePaths.map(readSVG)))
|
|
87
|
-
.then(files => files.map(formatSVG))
|
|
88
|
-
.then(files => {
|
|
89
|
-
let icons = {};
|
|
90
|
-
let keywords = JSON.parse(fs.readFileSync('docs/keywords.json', 'utf-8'));
|
|
91
|
-
files.forEach(file => {
|
|
92
|
-
// add to json file
|
|
93
|
-
icons[file.variant] = icons[file.variant] || keywords[file.variant] || { alias: [], category: "", release: "" };
|
|
94
|
-
var icon = icons[file.variant];
|
|
95
|
-
const firstPath = file.paths[0] || { d: "" }; // back up for "blank" icon
|
|
96
|
-
const paths = file.paths.length > 1 ? file.paths : firstPath.d;
|
|
97
|
-
icon[file.size] = paths;
|
|
98
|
-
var base = file.variant.substring(0, file.variant.length - 2);
|
|
99
|
-
// make sure filled variants get the keywords from their standard counterpart
|
|
100
|
-
if (file.filled && !icon.release) {
|
|
101
|
-
const variantKeywords = keywords[base];
|
|
102
|
-
if (variantKeywords) {
|
|
103
|
-
icon.alias = variantKeywords.alias;
|
|
104
|
-
icon.category = variantKeywords.category;
|
|
105
|
-
icon.release = variantKeywords.release;
|
|
106
|
-
}
|
|
107
|
-
}
|
|
108
|
-
// add to ts and js files
|
|
109
|
-
const variant = file.variant.match(/^\d/) ? `i${file.variant}`: file.variant;
|
|
110
|
-
const camelCaseName = camelCase(`${file.filled ? base: variant }-${file.size}${ file.filled ? "-f" : ""}`);
|
|
111
|
-
jsFile += `export {${camelCaseName}} from "./js/${camelCaseName}.js";\n`;
|
|
112
|
-
|
|
113
|
-
let contents, tsContents;
|
|
114
|
-
if (typeof paths === "string") {
|
|
115
|
-
tsFile += `export const ${camelCaseName}: string;\n`;
|
|
116
|
-
contents = `export const ${camelCaseName} = "${paths}";\n`;
|
|
117
|
-
tsContents = `export const ${camelCaseName}: string;\n`;
|
|
118
|
-
} else {
|
|
119
|
-
icon.multiPath = true;
|
|
120
|
-
tsFile += `export const ${camelCaseName}: CalciteMultiPathEntry[];\n`;
|
|
121
|
-
contents = `export const ${camelCaseName} = ${JSON.stringify(paths)};\n`;
|
|
122
|
-
tsContents = `export const ${camelCaseName}: CalciteMultiPathEntry[];\n`;
|
|
123
|
-
}
|
|
124
|
-
|
|
125
|
-
fs.writeFile(`js/${camelCaseName}.js`, contents, 'utf8');
|
|
126
|
-
fs.writeFile(`js/${camelCaseName}.d.ts`, tsContents, 'utf8');
|
|
127
|
-
fs.writeFile(`js/${camelCaseName}.json`, JSON.stringify(paths), 'utf8');
|
|
128
|
-
});
|
|
129
|
-
let promises = [
|
|
130
|
-
fs.writeFile('docs/icons.json', JSON.stringify({ version, icons }), 'utf8'),
|
|
131
|
-
fs.writeFile('index.d.ts', tsFile, 'utf8'),
|
|
132
|
-
fs.writeFile('index.js', jsFile, 'utf8')
|
|
133
|
-
];
|
|
134
|
-
return Promise.all(promises);
|
|
135
|
-
});
|
|
136
|
-
};
|
package/bin/server.js
DELETED
|
@@ -1,41 +0,0 @@
|
|
|
1
|
-
#!/usr/bin/env node
|
|
2
|
-
const build = require('./build');
|
|
3
|
-
const pathData = require('./path-data');
|
|
4
|
-
const optimize = require('./optimize');
|
|
5
|
-
const debounce = require('debounce');
|
|
6
|
-
const bs = require('browser-sync').create();
|
|
7
|
-
const options = {
|
|
8
|
-
awaitWriteFinish: true,
|
|
9
|
-
ignoreInitial: true
|
|
10
|
-
};
|
|
11
|
-
|
|
12
|
-
console.log('🗜 optimizing icons... \n')
|
|
13
|
-
|
|
14
|
-
build()
|
|
15
|
-
.then(() => {
|
|
16
|
-
bs.init({
|
|
17
|
-
server: './docs',
|
|
18
|
-
notify: false,
|
|
19
|
-
ui: false,
|
|
20
|
-
port: 8080
|
|
21
|
-
});
|
|
22
|
-
bs.watch('icons/*.svg', options, onChange);
|
|
23
|
-
bs.watch('docs/keywords.json', options, onChange);
|
|
24
|
-
|
|
25
|
-
function onChange (event, file) {
|
|
26
|
-
if (event === 'add') {
|
|
27
|
-
console.log('🗜 new icon detected, optimizing... \n');
|
|
28
|
-
optimize(file, true).then(() => {});
|
|
29
|
-
} else {
|
|
30
|
-
update();
|
|
31
|
-
}
|
|
32
|
-
}
|
|
33
|
-
|
|
34
|
-
const update = debounce(function () {
|
|
35
|
-
pathData()
|
|
36
|
-
.then(() => {
|
|
37
|
-
console.log('✨ path file updated');
|
|
38
|
-
bs.reload();
|
|
39
|
-
});
|
|
40
|
-
}, 300);
|
|
41
|
-
});
|
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"images": [
|
|
3
|
-
{
|
|
4
|
-
"idiom": "universal"
|
|
5
|
-
},
|
|
6
|
-
{
|
|
7
|
-
"scale": "1x",
|
|
8
|
-
"idiom": "universal",
|
|
9
|
-
"filename": "${NAME}@1x.png"
|
|
10
|
-
},
|
|
11
|
-
{
|
|
12
|
-
"scale": "2x",
|
|
13
|
-
"idiom": "universal",
|
|
14
|
-
"filename": "${NAME}@2x.png"
|
|
15
|
-
},
|
|
16
|
-
{
|
|
17
|
-
"scale": "3x",
|
|
18
|
-
"idiom": "universal",
|
|
19
|
-
"filename": "${NAME}@3x.png"
|
|
20
|
-
}
|
|
21
|
-
],
|
|
22
|
-
"properties": {
|
|
23
|
-
"template-rendering-intent" : "template"
|
|
24
|
-
},
|
|
25
|
-
"info": {
|
|
26
|
-
"version": 1,
|
|
27
|
-
"author": "xcode"
|
|
28
|
-
}
|
|
29
|
-
}
|
package/bower.json
DELETED
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "calcite-ui-icons",
|
|
3
|
-
"authors": [
|
|
4
|
-
"Julio Ochoa <jochoa@esri.com>",
|
|
5
|
-
"Paul Pederson <PPederson@esri.com>",
|
|
6
|
-
"John Griffith <jgriffith@esri.com>",
|
|
7
|
-
"Katelyn Seitz <kseitz@esri.com>"
|
|
8
|
-
],
|
|
9
|
-
"description": "A collection of UI icons created by Esri for web based applications.",
|
|
10
|
-
"main": "",
|
|
11
|
-
"keywords": [
|
|
12
|
-
"esri",
|
|
13
|
-
"arcgis",
|
|
14
|
-
"apps",
|
|
15
|
-
"icons",
|
|
16
|
-
"svg"
|
|
17
|
-
],
|
|
18
|
-
"license": "SEE LICENSE IN README.md",
|
|
19
|
-
"private": false,
|
|
20
|
-
"ignore": [
|
|
21
|
-
"**/.*",
|
|
22
|
-
"node_modules",
|
|
23
|
-
"bower_components",
|
|
24
|
-
"test",
|
|
25
|
-
"tests"
|
|
26
|
-
]
|
|
27
|
-
}
|
package/docs/app.js
DELETED
|
@@ -1,118 +0,0 @@
|
|
|
1
|
-
(function () {
|
|
2
|
-
var icons = {};
|
|
3
|
-
var $icons = [];
|
|
4
|
-
|
|
5
|
-
fetch('./icons.json')
|
|
6
|
-
.then(function (response) {
|
|
7
|
-
return response.json();
|
|
8
|
-
})
|
|
9
|
-
.then(function (payload) {
|
|
10
|
-
icons = payload.icons;
|
|
11
|
-
document.querySelector('.js-version').innerHTML = payload.version;
|
|
12
|
-
document.querySelector('.js-search').addEventListener("input", searchIcons);
|
|
13
|
-
calcite.bus.on("modal:close", removeHash);
|
|
14
|
-
startup();
|
|
15
|
-
});
|
|
16
|
-
|
|
17
|
-
function startup () {
|
|
18
|
-
document.querySelector('.js-loader').classList.add('hide');
|
|
19
|
-
var $iconContainer = document.querySelector('.js-icons');
|
|
20
|
-
|
|
21
|
-
Object.keys(icons)
|
|
22
|
-
.map(function (key) {
|
|
23
|
-
return {name: key, icon: icons[key]}
|
|
24
|
-
})
|
|
25
|
-
.forEach(function (detail) {
|
|
26
|
-
var $btn = document.createElement('button');
|
|
27
|
-
$btn.classList = 'js-modal-toggle block padding-leader-2 padding-trailer-2 trailer-1 js-icon-select icon-select btn btn-transparent';
|
|
28
|
-
$btn.setAttribute('data-icon', detail.name);
|
|
29
|
-
$btn.setAttribute('data-modal', 'iconDetail');
|
|
30
|
-
$btn.setAttribute('aria-label', 'View details of icon: ' + detail.name);
|
|
31
|
-
$btn.appendChild(getSVG(detail.icon['32'], 32));
|
|
32
|
-
var $name = document.createElement('span');
|
|
33
|
-
$name.innerHTML = detail.name;
|
|
34
|
-
$name.classList.add('icon-select--name');
|
|
35
|
-
$btn.appendChild($name);
|
|
36
|
-
$iconContainer.appendChild($btn);
|
|
37
|
-
$btn.addEventListener("click", showDetail);
|
|
38
|
-
$icons.push($btn);
|
|
39
|
-
});
|
|
40
|
-
calcite.init();
|
|
41
|
-
|
|
42
|
-
if (window.location.hash.length > 1) {
|
|
43
|
-
var active = window.location.hash.substring(1);
|
|
44
|
-
if (icons[active]) {
|
|
45
|
-
$iconContainer.querySelector('.js-icon-select[data-icon="' + active + '"]').click();
|
|
46
|
-
}
|
|
47
|
-
}
|
|
48
|
-
}
|
|
49
|
-
|
|
50
|
-
function searchIcons (e) {
|
|
51
|
-
$icons.forEach(function ($btn) {
|
|
52
|
-
var name = $btn.getAttribute('data-icon');
|
|
53
|
-
var icon = icons[name];
|
|
54
|
-
var iconText = name + icon.alias.join('');
|
|
55
|
-
var terms = e.target.value.toLowerCase().split(' ');
|
|
56
|
-
var matches = terms.reduce((acc, term) => acc && iconText.toLowerCase().includes(term), true);
|
|
57
|
-
if (matches) {
|
|
58
|
-
$btn.classList.remove('hide');
|
|
59
|
-
} else {
|
|
60
|
-
$btn.classList.add('hide');
|
|
61
|
-
}
|
|
62
|
-
});
|
|
63
|
-
}
|
|
64
|
-
|
|
65
|
-
function showDetail (e) {
|
|
66
|
-
var key = e.target.getAttribute('data-icon');
|
|
67
|
-
var icon = icons[key];
|
|
68
|
-
var filled = key.substring(key.length - 2);
|
|
69
|
-
var isFilled = filled === "-f";
|
|
70
|
-
var baseName = isFilled ? key.substring(0, key.length - 2) : key;
|
|
71
|
-
var baseURL = 'https://raw.githubusercontent.com/Esri/calcite-ui-icons/master/icons/' + baseName + '-';
|
|
72
|
-
var suffix = '.svg';
|
|
73
|
-
var tags = icon.alias.map(function (alias) {
|
|
74
|
-
return '<span class="label inline-block margin-right-quarter trailer-quarter">' + alias + '</span>';
|
|
75
|
-
}).join('');
|
|
76
|
-
|
|
77
|
-
window.location.hash = key;
|
|
78
|
-
document.querySelector('.js-detail-name').innerHTML = key;
|
|
79
|
-
document.querySelector('.js-detail-aliases').innerHTML = (tags && tags) || '---';
|
|
80
|
-
document.querySelector('.js-detail-category').innerHTML = (icon.category && icon.category) || '---';
|
|
81
|
-
document.querySelector('.js-detail-release').innerHTML = (icon.release && icon.release) || '---';
|
|
82
|
-
|
|
83
|
-
[16, 24, 32].forEach(function (size) {
|
|
84
|
-
document.querySelector('.js-link-' + size).href = baseURL + size + (isFilled ? filled : "") + suffix;
|
|
85
|
-
var iconDetail = document.querySelector('.js-detail-' + size);
|
|
86
|
-
iconDetail.innerHTML = '';
|
|
87
|
-
iconDetail.appendChild(getSVG(icon[size], size));
|
|
88
|
-
});
|
|
89
|
-
}
|
|
90
|
-
|
|
91
|
-
function getSVG (paths, size) {
|
|
92
|
-
var $svg = document.createElementNS('http://www.w3.org/2000/svg', 'svg');
|
|
93
|
-
$svg.setAttribute('width', size);
|
|
94
|
-
$svg.setAttribute('height', size);
|
|
95
|
-
if (typeof paths === 'string') {
|
|
96
|
-
paths = [paths];
|
|
97
|
-
}
|
|
98
|
-
paths.forEach(function (path) {
|
|
99
|
-
var $path = document.createElementNS('http://www.w3.org/2000/svg', 'path');
|
|
100
|
-
if (typeof path === 'string') {
|
|
101
|
-
$path.setAttribute('d', path);
|
|
102
|
-
} else {
|
|
103
|
-
$path.setAttribute('d', path.d);
|
|
104
|
-
if (path.opacity) {
|
|
105
|
-
$path.setAttribute('opacity', path.opacity);
|
|
106
|
-
}
|
|
107
|
-
}
|
|
108
|
-
$svg.appendChild($path);
|
|
109
|
-
});
|
|
110
|
-
return $svg;
|
|
111
|
-
}
|
|
112
|
-
|
|
113
|
-
function removeHash (fromOpen) {
|
|
114
|
-
if (!fromOpen) {
|
|
115
|
-
window.location.hash = '?';
|
|
116
|
-
}
|
|
117
|
-
}
|
|
118
|
-
})();
|
package/docs/index.html
DELETED
|
@@ -1,132 +0,0 @@
|
|
|
1
|
-
<!doctype html>
|
|
2
|
-
<html lang="en">
|
|
3
|
-
<head>
|
|
4
|
-
<meta charset="utf-8">
|
|
5
|
-
<meta content="IE=edge" http-equiv="X-UA-Compatible">
|
|
6
|
-
<meta name="viewport" content="width=device-width">
|
|
7
|
-
<title>Calcite UI Icons</title>
|
|
8
|
-
<meta name="description" content="Searchable library of SVG icons for the Calcite design system">
|
|
9
|
-
<link rel="stylesheet" href="./resources/calcite-web.min.css">
|
|
10
|
-
<style>
|
|
11
|
-
.icon-select * {
|
|
12
|
-
pointer-events: none;
|
|
13
|
-
margin-left: auto;
|
|
14
|
-
margin-right: auto;
|
|
15
|
-
}
|
|
16
|
-
.icon-select {
|
|
17
|
-
border: 1px solid #efefef;
|
|
18
|
-
background-color: #fff;
|
|
19
|
-
color: #000;
|
|
20
|
-
transition: all 100ms linear;
|
|
21
|
-
}
|
|
22
|
-
.icon-select:hover, .icon-select:focus {
|
|
23
|
-
border: 1px solid #007ac2;
|
|
24
|
-
color: #000;
|
|
25
|
-
text-decoration: none;
|
|
26
|
-
background-color: #fff;
|
|
27
|
-
}
|
|
28
|
-
.icon-select--name {
|
|
29
|
-
word-wrap: break-word;
|
|
30
|
-
text-align: center;
|
|
31
|
-
margin-top: .5rem;
|
|
32
|
-
white-space: normal;
|
|
33
|
-
font-size: 12px;
|
|
34
|
-
display: block;
|
|
35
|
-
}
|
|
36
|
-
</style>
|
|
37
|
-
</head>
|
|
38
|
-
<body>
|
|
39
|
-
<div class="wrapper panel panel-no-border panel-no-padding">
|
|
40
|
-
<!-- header -->
|
|
41
|
-
<header class="panel-blue" role="banner">
|
|
42
|
-
<div class="grid-container">
|
|
43
|
-
<div class="column-24">
|
|
44
|
-
<h1 class="sub-nav-title leader-3">Calcite UI Icons</h1>
|
|
45
|
-
</div>
|
|
46
|
-
<div class="column-24">
|
|
47
|
-
<div class="column-12">
|
|
48
|
-
<p class="trailer-half">
|
|
49
|
-
Version <span class="js-version margin-right-2">1.1.2</span>
|
|
50
|
-
<a href="https://github.com/esri/calcite-ui-icons/" class="link-white">View on GitHub <svg xmlns="http://www.w3.org/2000/svg" fill="currentColor" width="16" height="15" class="margin-left-quarter"><path d="M14 8h1v7H1V1h7v1H2v12h12zm-4-7v1h3.29L7.62 7.67l.71.71L14 2.71V6h1V1z"/></svg></a>
|
|
51
|
-
</p>
|
|
52
|
-
</div>
|
|
53
|
-
</div>
|
|
54
|
-
</div>
|
|
55
|
-
</header>
|
|
56
|
-
|
|
57
|
-
<div class="third-nav js-sticky">
|
|
58
|
-
<div class="third-nav-container">
|
|
59
|
-
<div class="grid-container">
|
|
60
|
-
<div class="column-24">
|
|
61
|
-
<div class="column-12 pre-12">
|
|
62
|
-
<label class="trailer-0">
|
|
63
|
-
<input type="search" class="js-search input-search leader-quarter trailer-quarter" placeholder="Search icons" aria-label="Search icons">
|
|
64
|
-
</label>
|
|
65
|
-
</div>
|
|
66
|
-
</div>
|
|
67
|
-
</div>
|
|
68
|
-
</div>
|
|
69
|
-
</div>
|
|
70
|
-
<div class="grid-container padding-trailer-4 padding-leader-2">
|
|
71
|
-
<div class="js-app-content column-24 leader-0">
|
|
72
|
-
<div class="js-loader loader is-active padding-leader-6 leader-3 padding-trailer-3">
|
|
73
|
-
<div class="loader-bars"></div>
|
|
74
|
-
<div class="loader-text">Loading icons...</div>
|
|
75
|
-
</div>
|
|
76
|
-
<div class="js-icons block-group block-group-6-up tablet-block-group-4-up phone-block-group-2-up"></div>
|
|
77
|
-
</div>
|
|
78
|
-
</div>
|
|
79
|
-
|
|
80
|
-
<div class="js-modal modal-overlay" data-modal="iconDetail">
|
|
81
|
-
<div class="modal-content column-12" role="dialog">
|
|
82
|
-
<button class="js-modal-toggle right btn-link leader-quarter" aria-label="Close icon detail view">
|
|
83
|
-
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24">
|
|
84
|
-
<path d="M13.207 12.5l7.778 7.778-.707.707-7.778-7.778-7.778 7.778-.707-.707 7.778-7.778-7.778-7.778.707-.707 7.778 7.778 7.778-7.778.707.707z"/>
|
|
85
|
-
</svg>
|
|
86
|
-
</button>
|
|
87
|
-
<h2 class='trailer-half js-detail-name'></h2>
|
|
88
|
-
<div class="block-group block-group-2-up leader-half">
|
|
89
|
-
<div class="block">
|
|
90
|
-
<h3 class="font-size-1 trailer-0">Aliases</h3>
|
|
91
|
-
<p class="js-detail-aliases leader-quarter"></p>
|
|
92
|
-
</div>
|
|
93
|
-
<div class="block">
|
|
94
|
-
<h3 class="font-size-1 trailer-0">Category</h3>
|
|
95
|
-
<p class="js-detail-category font-size-2"></p>
|
|
96
|
-
</div>
|
|
97
|
-
</div>
|
|
98
|
-
|
|
99
|
-
<h3 class="font-size-1">Sizes</h3>
|
|
100
|
-
<div class="block-group block-group-3-up">
|
|
101
|
-
<a class="js-link-16 block padding-leader-1 padding-trailer-2 icon-select btn btn-transparent" href="#" target="_blank">
|
|
102
|
-
<div class="text-center trailer-1">
|
|
103
|
-
<span class="label label-blue">16</span>
|
|
104
|
-
</div>
|
|
105
|
-
<div class="js-detail-16 text-center"></div>
|
|
106
|
-
</a>
|
|
107
|
-
<a class="js-link-24 block padding-leader-1 padding-trailer-2 icon-select btn btn-transparent" href="#" target="_blank">
|
|
108
|
-
<div class="text-center trailer-1">
|
|
109
|
-
<span class="label label-blue">24</span>
|
|
110
|
-
</div>
|
|
111
|
-
<div class="js-detail-24 text-center"></div>
|
|
112
|
-
</a>
|
|
113
|
-
<a class="js-link-32 block padding-leader-1 padding-trailer-2 icon-select btn btn-transparent" href="#" target="_blank">
|
|
114
|
-
<div class="text-center trailer-1">
|
|
115
|
-
<span class="label label-blue">32</span>
|
|
116
|
-
</div>
|
|
117
|
-
<div class="js-detail-32 text-center"></div>
|
|
118
|
-
</a>
|
|
119
|
-
</div>
|
|
120
|
-
<p class='leader-1 trailer-0 font-size--1 avenir-italic'>Released in v<span class='js-detail-release'></span></p>
|
|
121
|
-
</div>
|
|
122
|
-
</div>
|
|
123
|
-
</div>
|
|
124
|
-
|
|
125
|
-
<!-- get calcite-web js from the cdn (use latest version) -->
|
|
126
|
-
<script src="./resources/calcite-web.min.js"></script>
|
|
127
|
-
|
|
128
|
-
<!-- start up app -->
|
|
129
|
-
<script src="./app.js"></script>
|
|
130
|
-
|
|
131
|
-
</body>
|
|
132
|
-
</html>
|