@leafygreen-ui/icon 11.17.0 → 11.19.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.
Files changed (47) hide show
  1. package/.turbo/turbo-build.log +795 -0
  2. package/.turbo/turbo-tsc.log +1 -0
  3. package/CHANGELOG.md +12 -0
  4. package/README.md +7 -7
  5. package/dist/CodeBlock.js +2 -0
  6. package/dist/CodeBlock.js.map +1 -0
  7. package/dist/Federation.js +2 -0
  8. package/dist/Federation.js.map +1 -0
  9. package/dist/MultiDirectionArrow.js +2 -0
  10. package/dist/MultiDirectionArrow.js.map +1 -0
  11. package/dist/MultiLayers.js +2 -0
  12. package/dist/MultiLayers.js.map +1 -0
  13. package/dist/esm/CodeBlock.js +2 -0
  14. package/dist/esm/CodeBlock.js.map +1 -0
  15. package/dist/esm/Federation.js +2 -0
  16. package/dist/esm/Federation.js.map +1 -0
  17. package/dist/esm/MultiDirectionArrow.js +2 -0
  18. package/dist/esm/MultiDirectionArrow.js.map +1 -0
  19. package/dist/esm/MultiLayers.js +2 -0
  20. package/dist/esm/MultiLayers.js.map +1 -0
  21. package/dist/esm/index.js +1 -1
  22. package/dist/esm/index.js.map +1 -1
  23. package/dist/generated/CodeBlock.d.ts +17 -0
  24. package/dist/generated/CodeBlock.d.ts.map +1 -0
  25. package/dist/generated/Federation.d.ts +17 -0
  26. package/dist/generated/Federation.d.ts.map +1 -0
  27. package/dist/generated/MultiDirectionArrow.d.ts +17 -0
  28. package/dist/generated/MultiDirectionArrow.d.ts.map +1 -0
  29. package/dist/generated/MultiLayers.d.ts +17 -0
  30. package/dist/generated/MultiLayers.d.ts.map +1 -0
  31. package/dist/glyphs/index.d.ts +17 -1
  32. package/dist/glyphs/index.d.ts.map +1 -1
  33. package/dist/index.js +1 -1
  34. package/dist/index.js.map +1 -1
  35. package/package.json +5 -4
  36. package/src/generated/CodeBlock.tsx +75 -0
  37. package/src/generated/Federation.tsx +65 -0
  38. package/src/generated/MultiDirectionArrow.tsx +77 -0
  39. package/src/generated/MultiLayers.tsx +65 -0
  40. package/src/glyphs/CodeBlock.svg +5 -0
  41. package/src/glyphs/Federation.svg +3 -0
  42. package/src/glyphs/MultiDirectionArrow.svg +6 -0
  43. package/src/glyphs/MultiLayers.svg +3 -0
  44. package/src/glyphs/index.ts +8 -0
  45. package/stories.js +1 -1
  46. package/tsconfig.json +9 -3
  47. package/tsconfig.tsbuildinfo +1 -1
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../src/glyphCommon.ts","../src/createGlyphComponent.tsx","../src/createIconComponent.tsx","../src/glyphs/index.ts","../src/Icon.tsx","../src/isComponentGlyph.ts"],"sourcesContent":["export const Size = {\n Small: 'small',\n Default: 'default',\n Large: 'large',\n XLarge: 'xlarge',\n} as const;\n\nexport type Size = typeof Size[keyof typeof Size];\n\nexport const sizeMap: Record<Size, number> = {\n small: 14,\n default: 16,\n large: 20,\n xlarge: 24,\n} as const;\n\ninterface AccessibleFunctionParams {\n 'aria-labelledby'?: string;\n 'aria-label'?: string;\n title?: string | null;\n}\n\ntype AccessibleFunctionReturnType =\n | AccessibleFunctionParams\n | { 'aria-hidden': true; alt: '' };\n\nexport function generateAccessibleProps(\n role: 'img' | 'presentation',\n glyphName: string,\n {\n ['aria-label']: ariaLabel,\n ['aria-labelledby']: ariaLabelledby,\n title,\n }: AccessibleFunctionParams,\n): AccessibleFunctionReturnType {\n switch (role) {\n case 'img':\n if (!ariaLabel && !ariaLabelledby && !title) {\n return { 'aria-label': getGlyphLabel(glyphName) };\n }\n\n return {\n ['aria-labelledby']: ariaLabelledby,\n ['aria-label']: ariaLabel,\n title,\n };\n\n case 'presentation':\n return { 'aria-hidden': true, alt: '' };\n }\n}\n\nexport function getGlyphLabel(name: string) {\n return `${name.replace(/([a-z])([A-Z])/g, '$1 $2')} Icon`;\n}\n","import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport { css, cx } from '@leafygreen-ui/emotion';\n\nimport { generateAccessibleProps, Size, sizeMap } from './glyphCommon';\nimport { LGGlyph, SVGR } from './types';\n\n/**\n * Returns a single glyph component.\n * Process custom glyphs to ensure consistent behavior between custom and built-in icons\n * @param glyphName: string - the display name of the icon\n * @param Glyph: SVGR.Component - the SVG icon component\n * @returns LGGlyph.Component\n */\nexport function createGlyphComponent(\n glyphName: string,\n Glyph: SVGR.Component,\n): LGGlyph.Component {\n const GlyphComponent: LGGlyph.Component = ({\n className,\n size = Size.Default,\n fill,\n title,\n 'aria-labelledby': ariaLabelledby,\n 'aria-label': ariaLabel,\n role = 'img',\n ...rest\n }: LGGlyph.ComponentProps) => {\n const fillStyle = css`\n color: ${fill};\n `;\n\n const renderedSize = typeof size === 'number' ? size : sizeMap[size];\n\n if (!(role === 'img' || role === 'presentation')) {\n console.warn(\n \"Please provide a valid role to this component. Valid options are 'img' and 'presentation'. If you'd like the Icon to be accessible to screen readers please use 'img', otherwise set the role to 'presentation'.\",\n );\n }\n\n return (\n <Glyph\n className={cx(\n {\n [fillStyle]: fill != null,\n },\n className,\n )}\n height={renderedSize}\n width={renderedSize}\n role={role}\n {...generateAccessibleProps(role, glyphName, {\n title,\n ['aria-label']: ariaLabel,\n ['aria-labelledby']: ariaLabelledby,\n })}\n {...rest}\n />\n );\n };\n\n GlyphComponent.displayName = glyphName;\n\n GlyphComponent.isGlyph = true;\n\n GlyphComponent.propTypes = {\n fill: PropTypes.string,\n size: PropTypes.oneOfType([\n PropTypes.oneOf(Object.values(Size)),\n PropTypes.number,\n ]),\n className: PropTypes.string,\n };\n\n return GlyphComponent;\n}\n","import React from 'react';\nimport kebabCase from 'lodash/kebabCase';\nimport PropTypes from 'prop-types';\n\nimport { Size } from './glyphCommon';\nimport { LGGlyph } from './types';\n\n// We omit size here because we map string values for size to numbers in this component.\nexport interface IconProps extends Omit<LGGlyph.ComponentProps, 'size'> {\n /**\n * The name of the icon glyph\n */\n glyph: string;\n\n /**\n * Size of the icon\n */\n size?: Size | number;\n}\n\ntype GlyphObject = Record<string, LGGlyph.Component>;\n\n/**\n * Returns a single component with a `glyph` prop to select the glyph\n * @param glyphs The set of glyphs\n * @returns Icon component\n */\nexport function createIconComponent<G extends GlyphObject = GlyphObject>(\n glyphs: G,\n) {\n const Icon = ({ glyph, ...rest }: IconProps) => {\n const SVGComponent = glyphs[glyph];\n\n if (SVGComponent) {\n return <SVGComponent {...rest} />;\n } else {\n // TODO: improve fuzzy match\n // Suggest the proper icon casing if there's a near match\n const nearMatch = Object.keys(glyphs).find(\n key => kebabCase(key) === kebabCase(glyph),\n );\n console.error(\n 'Error in Icon',\n `Could not find glyph named \"${glyph}\" in the icon set.`,\n nearMatch && `Did you mean \"${nearMatch}?\"`,\n );\n return <></>;\n }\n };\n\n Icon.displayName = 'Icon';\n\n Icon.isGlyph = true;\n\n Icon.propTypes = {\n glyph: PropTypes.oneOf(Object.keys(glyphs)).isRequired,\n size: PropTypes.oneOfType([\n PropTypes.oneOf(Object.values(Size)),\n PropTypes.number,\n ]),\n } as any;\n\n return Icon;\n}\n","import { createGlyphComponent } from '../createGlyphComponent';\nimport { LGGlyph } from '../types';\n\n// Glyphs\nimport ActivityFeed from './ActivityFeed.svg';\nimport AddFile from './AddFile.svg';\nimport Apps from './Apps.svg';\nimport Array from './Array.svg';\nimport ArrowDown from './ArrowDown.svg';\nimport ArrowLeft from './ArrowLeft.svg';\nimport ArrowRight from './ArrowRight.svg';\nimport ArrowUp from './ArrowUp.svg';\nimport Beaker from './Beaker.svg';\nimport Bell from './Bell.svg';\nimport Biometric from './Biometric.svg';\nimport Building from './Building.svg';\nimport Bulb from './Bulb.svg';\nimport Calendar from './Calendar.svg';\nimport CaretDown from './CaretDown.svg';\nimport CaretLeft from './CaretLeft.svg';\nimport CaretRight from './CaretRight.svg';\nimport CaretUp from './CaretUp.svg';\nimport ChartFilled from './ChartFilled.svg';\nimport Charts from './Charts.svg';\nimport Checkmark from './Checkmark.svg';\nimport CheckmarkWithCircle from './CheckmarkWithCircle.svg';\nimport ChevronDown from './ChevronDown.svg';\nimport ChevronLeft from './ChevronLeft.svg';\nimport ChevronRight from './ChevronRight.svg';\nimport ChevronUp from './ChevronUp.svg';\nimport Clock from './Clock.svg';\nimport ClockWithArrow from './ClockWithArrow.svg';\nimport Clone from './Clone.svg';\nimport Cloud from './Cloud.svg';\nimport Code from './Code.svg';\nimport Connect from './Connect.svg';\nimport Copy from './Copy.svg';\nimport CreditCard from './CreditCard.svg';\nimport CurlyBraces from './CurlyBraces.svg';\nimport Cursor from './Cursor.svg';\nimport Dashboard from './Dashboard.svg';\nimport Database from './Database.svg';\nimport Diagram from './Diagram.svg';\nimport Diagram2 from './Diagram2.svg';\nimport Diagram3 from './Diagram3.svg';\nimport Disconnect from './Disconnect.svg';\nimport Download from './Download.svg';\nimport Drag from './Drag.svg';\nimport Edit from './Edit.svg';\nimport Ellipsis from './Ellipsis.svg';\nimport Email from './Email.svg';\nimport Export from './Export.svg';\nimport Favorite from './Favorite.svg';\nimport File from './File.svg';\nimport Filter from './Filter.svg';\nimport Folder from './Folder.svg';\nimport FullScreenEnter from './FullScreenEnter.svg';\nimport FullScreenExit from './FullScreenExit.svg';\nimport Gauge from './Gauge.svg';\nimport GlobeAmericas from './GlobeAmericas.svg';\nimport GovernmentBuilding from './GovernmentBuilding.svg';\nimport Highlight from './Highlight.svg';\nimport Home from './Home.svg';\nimport Import from './Import.svg';\nimport ImportantWithCircle from './ImportantWithCircle.svg';\nimport InfoWithCircle from './InfoWithCircle.svg';\nimport InviteUser from './InviteUser.svg';\nimport Key from './Key.svg';\nimport Laptop from './Laptop.svg';\nimport Link from './Link.svg';\nimport Lock from './Lock.svg';\nimport LogIn from './LogIn.svg';\nimport LogOut from './LogOut.svg';\nimport MagnifyingGlass from './MagnifyingGlass.svg';\nimport Megaphone from './Megaphone.svg';\nimport Menu from './Menu.svg';\nimport Minus from './Minus.svg';\nimport NoFilter from './NoFilter.svg';\nimport NotAllowed from './NotAllowed.svg';\nimport Note from './Note.svg';\nimport OpenNewTab from './OpenNewTab.svg';\nimport Pause from './Pause.svg';\nimport Person from './Person.svg';\nimport PersonGroup from './PersonGroup.svg';\nimport PersonWithLock from './PersonWithLock.svg';\nimport Play from './Play.svg';\nimport Plus from './Plus.svg';\nimport PlusWithCircle from './PlusWithCircle.svg';\nimport QuestionMarkWithCircle from './QuestionMarkWithCircle.svg';\nimport Read from './Read.svg';\nimport Redo from './Redo.svg';\nimport Refresh from './Refresh.svg';\nimport Relationship from './Relationship.svg';\nimport ReplicaSet from './ReplicaSet.svg';\nimport Resize from './Resize.svg';\nimport Save from './Save.svg';\nimport Serverless from './Serverless.svg';\nimport Settings from './Settings.svg';\nimport ShardedCluster from './ShardedCluster.svg';\nimport Shell from './Shell.svg';\nimport SMS from './SMS.svg';\nimport SortAscending from './SortAscending.svg';\nimport SortDescending from './SortDescending.svg';\nimport SplitHorizontal from './SplitHorizontal.svg';\nimport SplitVertical from './SplitVertical.svg';\nimport Stitch from './Stitch.svg';\nimport Support from './Support.svg';\nimport Sweep from './Sweep.svg';\nimport Table from './Table.svg';\nimport Tag from './Tag.svg';\nimport ThumbsDown from './ThumbsDown.svg';\nimport ThumbsUp from './ThumbsUp.svg';\nimport TimeSeries from './TimeSeries.svg';\nimport Trash from './Trash.svg';\nimport Undo from './Undo.svg';\nimport University from './University.svg';\nimport Unlock from './Unlock.svg';\nimport Unsorted from './Unsorted.svg';\nimport UpDownCarets from './UpDownCarets.svg';\nimport Upload from './Upload.svg';\nimport VerticalEllipsis from './VerticalEllipsis.svg';\nimport Visibility from './Visibility.svg';\nimport VisibilityOff from './VisibilityOff.svg';\nimport Warning from './Warning.svg';\nimport Wizard from './Wizard.svg';\nimport Wrench from './Wrench.svg';\nimport Write from './Write.svg';\nimport X from './X.svg';\nimport XWithCircle from './XWithCircle.svg';\n\nconst _glyphs = {\n ActivityFeed,\n AddFile,\n Apps,\n Array,\n ArrowDown,\n ArrowLeft,\n ArrowRight,\n ArrowUp,\n Beaker,\n Bell,\n Biometric,\n Building,\n Bulb,\n Calendar,\n CaretDown,\n CaretLeft,\n CaretRight,\n CaretUp,\n ChartFilled,\n Charts,\n Checkmark,\n CheckmarkWithCircle,\n ChevronDown,\n ChevronLeft,\n ChevronRight,\n ChevronUp,\n Clock,\n ClockWithArrow,\n Clone,\n Cloud,\n Code,\n Connect,\n Copy,\n CreditCard,\n CurlyBraces,\n Cursor,\n Dashboard,\n Database,\n Diagram,\n Diagram2,\n Diagram3,\n Disconnect,\n Download,\n Drag,\n Edit,\n Ellipsis,\n Email,\n Export,\n Favorite,\n File,\n Filter,\n FullScreenEnter,\n FullScreenExit,\n Folder,\n Gauge,\n GlobeAmericas,\n GovernmentBuilding,\n Highlight,\n Home,\n Import,\n ImportantWithCircle,\n InfoWithCircle,\n InviteUser,\n Key,\n Laptop,\n Link,\n Lock,\n LogIn,\n LogOut,\n MagnifyingGlass,\n Megaphone,\n Menu,\n Minus,\n NoFilter,\n NotAllowed,\n Note,\n OpenNewTab,\n Pause,\n Person,\n PersonGroup,\n PersonWithLock,\n Play,\n Plus,\n PlusWithCircle,\n QuestionMarkWithCircle,\n Read,\n Redo,\n Refresh,\n Relationship,\n ReplicaSet,\n Resize,\n Save,\n Serverless,\n ShardedCluster,\n Settings,\n Shell,\n SMS,\n SortAscending,\n SortDescending,\n SplitHorizontal,\n SplitVertical,\n Stitch,\n Support,\n Sweep,\n Table,\n Tag,\n ThumbsDown,\n ThumbsUp,\n TimeSeries,\n Trash,\n Undo,\n University,\n Unlock,\n Unsorted,\n UpDownCarets,\n Upload,\n VerticalEllipsis,\n Visibility,\n VisibilityOff,\n Warning,\n Wizard,\n Wrench,\n Write,\n X,\n XWithCircle,\n} as const;\n\nexport type GlyphName = keyof typeof _glyphs;\n\nconst glyphKeys = Object.keys(_glyphs) as Array<GlyphName>;\n\nexport const glyphs = glyphKeys.reduce((acc, name) => {\n acc[name] = createGlyphComponent(name, _glyphs[name]);\n\n return acc;\n}, {} as Record<GlyphName, LGGlyph.Component>);\n","import { createIconComponent } from './createIconComponent';\nimport { glyphs } from './glyphs';\n\nexport const Icon = createIconComponent(glyphs);\n","import { ComponentType, isValidElement, ReactNode } from 'react';\n\nimport { LGGlyph } from './types';\n\ntype ExtendedComponentType = ComponentType<any> & {\n [key: string]: any;\n};\n/**\n * Helper type to check if element is a LeafyGreen UI Glyph\n * @internal\n */\nfunction isComponentGlyph(node: ReactNode): node is LGGlyph.Element;\nfunction isComponentGlyph(\n component: ExtendedComponentType,\n): component is LGGlyph.Component;\nfunction isComponentGlyph(\n child: ReactNode | ExtendedComponentType,\n): child is LGGlyph.Element | LGGlyph.Component {\n // If we're received a rendered component (i.e. ReactNode)\n if (isValidElement(child)) {\n return (\n child != null &&\n typeof child === 'object' &&\n 'type' in child &&\n (child.type as any).isGlyph === true\n );\n }\n\n // If we've recieved a component function\n return (\n child != null &&\n typeof child === 'function' &&\n 'isGlyph' in child &&\n child.isGlyph === true\n );\n}\n\nexport { isComponentGlyph };\n"],"names":["_templateObject","Size","Small","Default","Large","XLarge","sizeMap","small","default","large","xlarge","_excluded","createGlyphComponent","glyphName","Glyph","GlyphComponent","_ref","_generateAccessiblePr","className","_ref$size","size","fill","title","ariaLabelledby","ariaLabel","_ref$role","role","rest","_objectWithoutProperties","fillStyle","css","renderedSize","console","warn","React","createElement","_extends","cx","_defineProperty","height","width","_ref2","name","concat","replace","alt","generateAccessibleProps","displayName","isGlyph","propTypes","PropTypes","string","oneOfType","oneOf","Object","values","number","createIconComponent","glyphs","Icon","glyph","SVGComponent","nearMatch","keys","find","key","kebabCase","error","Fragment","isRequired","_glyphs","ActivityFeed","AddFile","Apps","Array","ArrowDown","ArrowLeft","ArrowRight","ArrowUp","Beaker","Bell","Biometric","Building","Bulb","Calendar","CaretDown","CaretLeft","CaretRight","CaretUp","ChartFilled","Charts","Checkmark","CheckmarkWithCircle","ChevronDown","ChevronLeft","ChevronRight","ChevronUp","Clock","ClockWithArrow","Clone","Cloud","Code","Connect","Copy","CreditCard","CurlyBraces","Cursor","Dashboard","Database","Diagram","Diagram2","Diagram3","Disconnect","Download","Drag","Edit","Ellipsis","Email","Export","Favorite","File","Filter","FullScreenEnter","FullScreenExit","Folder","Gauge","GlobeAmericas","GovernmentBuilding","Highlight","Home","Import","ImportantWithCircle","InfoWithCircle","InviteUser","Key","Laptop","Link","Lock","LogIn","LogOut","MagnifyingGlass","Megaphone","Menu","Minus","NoFilter","NotAllowed","Note","OpenNewTab","Pause","Person","PersonGroup","PersonWithLock","Play","Plus","PlusWithCircle","QuestionMarkWithCircle","Read","Redo","Refresh","Relationship","ReplicaSet","Resize","Save","Serverless","ShardedCluster","Settings","Shell","SMS","SortAscending","SortDescending","SplitHorizontal","SplitVertical","Stitch","Support","Sweep","Table","Tag","ThumbsDown","ThumbsUp","TimeSeries","Trash","Undo","University","Unlock","Unsorted","UpDownCarets","Upload","VerticalEllipsis","Visibility","VisibilityOff","Warning","Wizard","Wrench","Write","X","XWithCircle","reduce","acc","child","isValidElement","_typeof","type"],"mappings":"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AC,mYACAC,gnBACAC,6mBACAC,ySACAC,gdACAC,2bACAC,siBACAC,6pBACAC,ioBACAC,qmBACAC,iWACAC,iYACAC,koBACAC,2aACAC,gjBACAC,41BACAC,qaACAC,grBACAC,qvBACAC,4bACAC,kaACAC,2UACAC,8QACAC,idACAC,gZACAC,0hBACAC,mrBACAC,kVACAC,8kBACAC,0wBACAC,otBACAC,wTACAC,+XACAC,+VACAC,8pBACAC,guCACAC,yhBACAC,ywBACAC,ibACAC,6eACAC,6aACAC,ylCACAC,kYACAC,ovBACAC,8lCACAC,8aACAC,ueACAC,2dACAC,+dACAC,mWACAC,2VACAC,qTACAC,8bACAC,yxBACAC,wcACAC,qYACAC,ooBACAC,ynBACAC,6mBACAC,mXACAC,+gBACAC,i5BACAC,meACAC,0jBACAC,scACAC,yjBACAC,gZACAC,4xBACAC,ooCACAC,oaACAC,gvBACAC,8pBACAC,+tCACAC,+fACAC,ucAGSzI,GADKJ,OAAOS,KAAKO,IACE8H,QAAO,SAAUC,EAAK3J,GAElD,OADA2J,EAAI3J,GAAQ9B,EAAqB8B,EAAM4B,GAAQ5B,IACxC2J,IACN,IChQQ1I,GAAOF,GAAoBC,+JCMtC,SAA0B4I,GAExB,OAAkBC,EAAAA,eAAeD,GACf,MAATA,GAAoC,WAAnBE,EAAQF,IAAuB,SAAUA,IAAgC,IAAvBA,EAAMG,KAAKzJ,QAIvE,MAATsJ,GAAkC,mBAAVA,GAAwB,YAAaA,IAA2B,IAAlBA,EAAMtJ"}
1
+ {"version":3,"file":"index.js","sources":["../src/glyphCommon.ts","../src/createGlyphComponent.tsx","../src/createIconComponent.tsx","../src/glyphs/index.ts","../src/Icon.tsx","../src/isComponentGlyph.ts"],"sourcesContent":["export const Size = {\n Small: 'small',\n Default: 'default',\n Large: 'large',\n XLarge: 'xlarge',\n} as const;\n\nexport type Size = typeof Size[keyof typeof Size];\n\nexport const sizeMap: Record<Size, number> = {\n small: 14,\n default: 16,\n large: 20,\n xlarge: 24,\n} as const;\n\ninterface AccessibleFunctionParams {\n 'aria-labelledby'?: string;\n 'aria-label'?: string;\n title?: string | null;\n}\n\ntype AccessibleFunctionReturnType =\n | AccessibleFunctionParams\n | { 'aria-hidden': true; alt: '' };\n\nexport function generateAccessibleProps(\n role: 'img' | 'presentation',\n glyphName: string,\n {\n ['aria-label']: ariaLabel,\n ['aria-labelledby']: ariaLabelledby,\n title,\n }: AccessibleFunctionParams,\n): AccessibleFunctionReturnType {\n switch (role) {\n case 'img':\n if (!ariaLabel && !ariaLabelledby && !title) {\n return { 'aria-label': getGlyphLabel(glyphName) };\n }\n\n return {\n ['aria-labelledby']: ariaLabelledby,\n ['aria-label']: ariaLabel,\n title,\n };\n\n case 'presentation':\n return { 'aria-hidden': true, alt: '' };\n }\n}\n\nexport function getGlyphLabel(name: string) {\n return `${name.replace(/([a-z])([A-Z])/g, '$1 $2')} Icon`;\n}\n","import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport { css, cx } from '@leafygreen-ui/emotion';\n\nimport { generateAccessibleProps, Size, sizeMap } from './glyphCommon';\nimport { LGGlyph, SVGR } from './types';\n\n/**\n * Returns a single glyph component.\n * Process custom glyphs to ensure consistent behavior between custom and built-in icons\n * @param glyphName: string - the display name of the icon\n * @param Glyph: SVGR.Component - the SVG icon component\n * @returns LGGlyph.Component\n */\nexport function createGlyphComponent(\n glyphName: string,\n Glyph: SVGR.Component,\n): LGGlyph.Component {\n const GlyphComponent: LGGlyph.Component = ({\n className,\n size = Size.Default,\n fill,\n title,\n 'aria-labelledby': ariaLabelledby,\n 'aria-label': ariaLabel,\n role = 'img',\n ...rest\n }: LGGlyph.ComponentProps) => {\n const fillStyle = css`\n color: ${fill};\n `;\n\n const renderedSize = typeof size === 'number' ? size : sizeMap[size];\n\n if (!(role === 'img' || role === 'presentation')) {\n console.warn(\n \"Please provide a valid role to this component. Valid options are 'img' and 'presentation'. If you'd like the Icon to be accessible to screen readers please use 'img', otherwise set the role to 'presentation'.\",\n );\n }\n\n return (\n <Glyph\n className={cx(\n {\n [fillStyle]: fill != null,\n },\n className,\n )}\n height={renderedSize}\n width={renderedSize}\n role={role}\n {...generateAccessibleProps(role, glyphName, {\n title,\n ['aria-label']: ariaLabel,\n ['aria-labelledby']: ariaLabelledby,\n })}\n {...rest}\n />\n );\n };\n\n GlyphComponent.displayName = glyphName;\n\n GlyphComponent.isGlyph = true;\n\n GlyphComponent.propTypes = {\n fill: PropTypes.string,\n size: PropTypes.oneOfType([\n PropTypes.oneOf(Object.values(Size)),\n PropTypes.number,\n ]),\n className: PropTypes.string,\n };\n\n return GlyphComponent;\n}\n","import React from 'react';\nimport kebabCase from 'lodash/kebabCase';\nimport PropTypes from 'prop-types';\n\nimport { Size } from './glyphCommon';\nimport { LGGlyph } from './types';\n\n// We omit size here because we map string values for size to numbers in this component.\nexport interface IconProps extends Omit<LGGlyph.ComponentProps, 'size'> {\n /**\n * The name of the icon glyph\n */\n glyph: string;\n\n /**\n * Size of the icon\n */\n size?: Size | number;\n}\n\ntype GlyphObject = Record<string, LGGlyph.Component>;\n\n/**\n * Returns a single component with a `glyph` prop to select the glyph\n * @param glyphs The set of glyphs\n * @returns Icon component\n */\nexport function createIconComponent<G extends GlyphObject = GlyphObject>(\n glyphs: G,\n) {\n const Icon = ({ glyph, ...rest }: IconProps) => {\n const SVGComponent = glyphs[glyph];\n\n if (SVGComponent) {\n return <SVGComponent {...rest} />;\n } else {\n // TODO: improve fuzzy match\n // Suggest the proper icon casing if there's a near match\n const nearMatch = Object.keys(glyphs).find(\n key => kebabCase(key) === kebabCase(glyph),\n );\n console.error(\n 'Error in Icon',\n `Could not find glyph named \"${glyph}\" in the icon set.`,\n nearMatch && `Did you mean \"${nearMatch}?\"`,\n );\n return <></>;\n }\n };\n\n Icon.displayName = 'Icon';\n\n Icon.isGlyph = true;\n\n Icon.propTypes = {\n glyph: PropTypes.oneOf(Object.keys(glyphs)).isRequired,\n size: PropTypes.oneOfType([\n PropTypes.oneOf(Object.values(Size)),\n PropTypes.number,\n ]),\n } as any;\n\n return Icon;\n}\n","import { createGlyphComponent } from '../createGlyphComponent';\nimport { LGGlyph } from '../types';\n\n// Glyphs\nimport ActivityFeed from './ActivityFeed.svg';\nimport AddFile from './AddFile.svg';\nimport Apps from './Apps.svg';\nimport Array from './Array.svg';\nimport ArrowDown from './ArrowDown.svg';\nimport ArrowLeft from './ArrowLeft.svg';\nimport ArrowRight from './ArrowRight.svg';\nimport ArrowUp from './ArrowUp.svg';\nimport Beaker from './Beaker.svg';\nimport Bell from './Bell.svg';\nimport Biometric from './Biometric.svg';\nimport Building from './Building.svg';\nimport Bulb from './Bulb.svg';\nimport Calendar from './Calendar.svg';\nimport CaretDown from './CaretDown.svg';\nimport CaretLeft from './CaretLeft.svg';\nimport CaretRight from './CaretRight.svg';\nimport CaretUp from './CaretUp.svg';\nimport ChartFilled from './ChartFilled.svg';\nimport Charts from './Charts.svg';\nimport Checkmark from './Checkmark.svg';\nimport CheckmarkWithCircle from './CheckmarkWithCircle.svg';\nimport ChevronDown from './ChevronDown.svg';\nimport ChevronLeft from './ChevronLeft.svg';\nimport ChevronRight from './ChevronRight.svg';\nimport ChevronUp from './ChevronUp.svg';\nimport Clock from './Clock.svg';\nimport ClockWithArrow from './ClockWithArrow.svg';\nimport Clone from './Clone.svg';\nimport Cloud from './Cloud.svg';\nimport Code from './Code.svg';\nimport CodeBlock from './CodeBlock.svg';\nimport Connect from './Connect.svg';\nimport Copy from './Copy.svg';\nimport CreditCard from './CreditCard.svg';\nimport CurlyBraces from './CurlyBraces.svg';\nimport Cursor from './Cursor.svg';\nimport Dashboard from './Dashboard.svg';\nimport Database from './Database.svg';\nimport Diagram from './Diagram.svg';\nimport Diagram2 from './Diagram2.svg';\nimport Diagram3 from './Diagram3.svg';\nimport Disconnect from './Disconnect.svg';\nimport Download from './Download.svg';\nimport Drag from './Drag.svg';\nimport Edit from './Edit.svg';\nimport Ellipsis from './Ellipsis.svg';\nimport Email from './Email.svg';\nimport Export from './Export.svg';\nimport Favorite from './Favorite.svg';\nimport Federation from './Federation.svg';\nimport File from './File.svg';\nimport Filter from './Filter.svg';\nimport Folder from './Folder.svg';\nimport FullScreenEnter from './FullScreenEnter.svg';\nimport FullScreenExit from './FullScreenExit.svg';\nimport Gauge from './Gauge.svg';\nimport GlobeAmericas from './GlobeAmericas.svg';\nimport GovernmentBuilding from './GovernmentBuilding.svg';\nimport Highlight from './Highlight.svg';\nimport Home from './Home.svg';\nimport Import from './Import.svg';\nimport ImportantWithCircle from './ImportantWithCircle.svg';\nimport InfoWithCircle from './InfoWithCircle.svg';\nimport InviteUser from './InviteUser.svg';\nimport Key from './Key.svg';\nimport Laptop from './Laptop.svg';\nimport Link from './Link.svg';\nimport Lock from './Lock.svg';\nimport LogIn from './LogIn.svg';\nimport LogOut from './LogOut.svg';\nimport MagnifyingGlass from './MagnifyingGlass.svg';\nimport Megaphone from './Megaphone.svg';\nimport Menu from './Menu.svg';\nimport Minus from './Minus.svg';\nimport MultiDirectionArrow from './MultiDirectionArrow.svg';\nimport MultiLayers from './MultiLayers.svg';\nimport NoFilter from './NoFilter.svg';\nimport NotAllowed from './NotAllowed.svg';\nimport Note from './Note.svg';\nimport OpenNewTab from './OpenNewTab.svg';\nimport Pause from './Pause.svg';\nimport Person from './Person.svg';\nimport PersonGroup from './PersonGroup.svg';\nimport PersonWithLock from './PersonWithLock.svg';\nimport Play from './Play.svg';\nimport Plus from './Plus.svg';\nimport PlusWithCircle from './PlusWithCircle.svg';\nimport QuestionMarkWithCircle from './QuestionMarkWithCircle.svg';\nimport Read from './Read.svg';\nimport Redo from './Redo.svg';\nimport Refresh from './Refresh.svg';\nimport Relationship from './Relationship.svg';\nimport ReplicaSet from './ReplicaSet.svg';\nimport Resize from './Resize.svg';\nimport Save from './Save.svg';\nimport Serverless from './Serverless.svg';\nimport Settings from './Settings.svg';\nimport ShardedCluster from './ShardedCluster.svg';\nimport Shell from './Shell.svg';\nimport SMS from './SMS.svg';\nimport SortAscending from './SortAscending.svg';\nimport SortDescending from './SortDescending.svg';\nimport SplitHorizontal from './SplitHorizontal.svg';\nimport SplitVertical from './SplitVertical.svg';\nimport Stitch from './Stitch.svg';\nimport Support from './Support.svg';\nimport Sweep from './Sweep.svg';\nimport Table from './Table.svg';\nimport Tag from './Tag.svg';\nimport ThumbsDown from './ThumbsDown.svg';\nimport ThumbsUp from './ThumbsUp.svg';\nimport TimeSeries from './TimeSeries.svg';\nimport Trash from './Trash.svg';\nimport Undo from './Undo.svg';\nimport University from './University.svg';\nimport Unlock from './Unlock.svg';\nimport Unsorted from './Unsorted.svg';\nimport UpDownCarets from './UpDownCarets.svg';\nimport Upload from './Upload.svg';\nimport VerticalEllipsis from './VerticalEllipsis.svg';\nimport Visibility from './Visibility.svg';\nimport VisibilityOff from './VisibilityOff.svg';\nimport Warning from './Warning.svg';\nimport Wizard from './Wizard.svg';\nimport Wrench from './Wrench.svg';\nimport Write from './Write.svg';\nimport X from './X.svg';\nimport XWithCircle from './XWithCircle.svg';\n\nconst _glyphs = {\n ActivityFeed,\n AddFile,\n Apps,\n Array,\n ArrowDown,\n ArrowLeft,\n ArrowRight,\n ArrowUp,\n Beaker,\n Bell,\n Biometric,\n Building,\n Bulb,\n Calendar,\n CaretDown,\n CaretLeft,\n CaretRight,\n CaretUp,\n ChartFilled,\n Charts,\n Checkmark,\n CheckmarkWithCircle,\n ChevronDown,\n ChevronLeft,\n ChevronRight,\n ChevronUp,\n Clock,\n ClockWithArrow,\n Clone,\n Cloud,\n Code,\n CodeBlock,\n Connect,\n Copy,\n CreditCard,\n CurlyBraces,\n Cursor,\n Dashboard,\n Database,\n Diagram,\n Diagram2,\n Diagram3,\n Disconnect,\n Download,\n Drag,\n Edit,\n Ellipsis,\n Email,\n Export,\n Favorite,\n Federation,\n File,\n Filter,\n FullScreenEnter,\n FullScreenExit,\n Folder,\n Gauge,\n GlobeAmericas,\n GovernmentBuilding,\n Highlight,\n Home,\n Import,\n ImportantWithCircle,\n InfoWithCircle,\n InviteUser,\n Key,\n Laptop,\n Link,\n Lock,\n LogIn,\n LogOut,\n MagnifyingGlass,\n Megaphone,\n Menu,\n Minus,\n MultiDirectionArrow,\n MultiLayers,\n NoFilter,\n NotAllowed,\n Note,\n OpenNewTab,\n Pause,\n Person,\n PersonGroup,\n PersonWithLock,\n Play,\n Plus,\n PlusWithCircle,\n QuestionMarkWithCircle,\n Read,\n Redo,\n Refresh,\n Relationship,\n ReplicaSet,\n Resize,\n Save,\n Serverless,\n ShardedCluster,\n Settings,\n Shell,\n SMS,\n SortAscending,\n SortDescending,\n SplitHorizontal,\n SplitVertical,\n Stitch,\n Support,\n Sweep,\n Table,\n Tag,\n ThumbsDown,\n ThumbsUp,\n TimeSeries,\n Trash,\n Undo,\n University,\n Unlock,\n Unsorted,\n UpDownCarets,\n Upload,\n VerticalEllipsis,\n Visibility,\n VisibilityOff,\n Warning,\n Wizard,\n Wrench,\n Write,\n X,\n XWithCircle,\n} as const;\n\nexport type GlyphName = keyof typeof _glyphs;\n\nconst glyphKeys = Object.keys(_glyphs) as Array<GlyphName>;\n\nexport const glyphs = glyphKeys.reduce((acc, name) => {\n acc[name] = createGlyphComponent(name, _glyphs[name]);\n\n return acc;\n}, {} as Record<GlyphName, LGGlyph.Component>);\n","import { createIconComponent } from './createIconComponent';\nimport { glyphs } from './glyphs';\n\nexport const Icon = createIconComponent(glyphs);\n","import { ComponentType, isValidElement, ReactNode } from 'react';\n\nimport { LGGlyph } from './types';\n\ntype ExtendedComponentType = ComponentType<any> & {\n [key: string]: any;\n};\n/**\n * Helper type to check if element is a LeafyGreen UI Glyph\n * @internal\n */\nfunction isComponentGlyph(node: ReactNode): node is LGGlyph.Element;\nfunction isComponentGlyph(\n component: ExtendedComponentType,\n): component is LGGlyph.Component;\nfunction isComponentGlyph(\n child: ReactNode | ExtendedComponentType,\n): child is LGGlyph.Element | LGGlyph.Component {\n // If we're received a rendered component (i.e. ReactNode)\n if (isValidElement(child)) {\n return (\n child != null &&\n typeof child === 'object' &&\n 'type' in child &&\n (child.type as any).isGlyph === true\n );\n }\n\n // If we've recieved a component function\n return (\n child != null &&\n typeof child === 'function' &&\n 'isGlyph' in child &&\n child.isGlyph === true\n );\n}\n\nexport { isComponentGlyph };\n"],"names":["_templateObject","Size","Small","Default","Large","XLarge","sizeMap","small","default","large","xlarge","_excluded","createGlyphComponent","glyphName","Glyph","GlyphComponent","_ref","_generateAccessiblePr","className","_ref$size","size","fill","title","ariaLabelledby","ariaLabel","_ref$role","role","rest","_objectWithoutProperties","fillStyle","css","renderedSize","console","warn","React","createElement","_extends","cx","_defineProperty","height","width","_ref2","name","concat","replace","alt","generateAccessibleProps","displayName","isGlyph","propTypes","PropTypes","string","oneOfType","oneOf","Object","values","number","createIconComponent","glyphs","Icon","glyph","SVGComponent","nearMatch","keys","find","key","kebabCase","error","Fragment","isRequired","_glyphs","ActivityFeed","AddFile","Apps","Array","ArrowDown","ArrowLeft","ArrowRight","ArrowUp","Beaker","Bell","Biometric","Building","Bulb","Calendar","CaretDown","CaretLeft","CaretRight","CaretUp","ChartFilled","Charts","Checkmark","CheckmarkWithCircle","ChevronDown","ChevronLeft","ChevronRight","ChevronUp","Clock","ClockWithArrow","Clone","Cloud","Code","CodeBlock","Connect","Copy","CreditCard","CurlyBraces","Cursor","Dashboard","Database","Diagram","Diagram2","Diagram3","Disconnect","Download","Drag","Edit","Ellipsis","Email","Export","Favorite","Federation","File","Filter","FullScreenEnter","FullScreenExit","Folder","Gauge","GlobeAmericas","GovernmentBuilding","Highlight","Home","Import","ImportantWithCircle","InfoWithCircle","InviteUser","Key","Laptop","Link","Lock","LogIn","LogOut","MagnifyingGlass","Megaphone","Menu","Minus","MultiDirectionArrow","MultiLayers","NoFilter","NotAllowed","Note","OpenNewTab","Pause","Person","PersonGroup","PersonWithLock","Play","Plus","PlusWithCircle","QuestionMarkWithCircle","Read","Redo","Refresh","Relationship","ReplicaSet","Resize","Save","Serverless","ShardedCluster","Settings","Shell","SMS","SortAscending","SortDescending","SplitHorizontal","SplitVertical","Stitch","Support","Sweep","Table","Tag","ThumbsDown","ThumbsUp","TimeSeries","Trash","Undo","University","Unlock","Unsorted","UpDownCarets","Upload","VerticalEllipsis","Visibility","VisibilityOff","Warning","Wizard","Wrench","Write","X","XWithCircle","reduce","acc","child","isValidElement","_typeof","type"],"mappings":"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CAC,ksBACAC,qYACAC,mYACAC,gnBACAC,6mBACAC,ySACAC,gdACAC,2bACAC,siBACAC,6pBACAC,ioBACAC,qmBACAC,iWACAC,iYACAC,koBACAC,2aACAC,gjBACAC,41BACAC,qaACAC,grBACAC,qvBACAC,4bACAC,kaACAC,2UACAC,8QACAC,+kBACAC,+xDACAC,idACAC,gZACAC,0hBACAC,mrBACAC,kVACAC,8kBACAC,0wBACAC,otBACAC,wTACAC,+XACAC,+VACAC,8pBACAC,guCACAC,yhBACAC,ywBACAC,ibACAC,6eACAC,6aACAC,ylCACAC,kYACAC,ovBACAC,8lCACAC,8aACAC,ueACAC,2dACAC,+dACAC,mWACAC,2VACAC,qTACAC,8bACAC,yxBACAC,wcACAC,qYACAC,ooBACAC,ynBACAC,6mBACAC,mXACAC,+gBACAC,i5BACAC,meACAC,0jBACAC,scACAC,yjBACAC,gZACAC,4xBACAC,ooCACAC,oaACAC,gvBACAC,8pBACAC,+tCACAC,+fACAC,ucAGS7I,GADKJ,OAAOS,KAAKO,IACEkI,QAAO,SAAUC,EAAK/J,GAElD,OADA+J,EAAI/J,GAAQ9B,EAAqB8B,EAAM4B,GAAQ5B,IACxC+J,IACN,ICxQQ9I,GAAOF,GAAoBC,+JCMtC,SAA0BgJ,GAExB,OAAkBC,EAAAA,eAAeD,GACf,MAATA,GAAoC,WAAnBE,EAAQF,IAAuB,SAAUA,IAAgC,IAAvBA,EAAMG,KAAK7J,QAIvE,MAAT0J,GAAkC,mBAAVA,GAAwB,YAAaA,IAA2B,IAAlBA,EAAM1J"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@leafygreen-ui/icon",
3
- "version": "11.17.0",
3
+ "version": "11.19.0",
4
4
  "description": "LeafyGreen UI Kit Icons",
5
5
  "main": "./dist/index.js",
6
6
  "module": "./dist/esm/index.js",
@@ -13,8 +13,9 @@
13
13
  }
14
14
  },
15
15
  "scripts": {
16
- "pre-build": "ts-node ./scripts/build.ts --files",
17
- "build": "../../node_modules/.bin/rollup --config ../../rollup.config.js"
16
+ "prebuild": "ts-node ./scripts/build.ts --files",
17
+ "build": "../../node_modules/.bin/rollup --config ../../rollup.config.js",
18
+ "tsc": "tsc --build tsconfig.json"
18
19
  },
19
20
  "license": "Apache-2.0",
20
21
  "publishConfig": {
@@ -37,4 +38,4 @@
37
38
  "bugs": {
38
39
  "url": "https://jira.mongodb.org/projects/PD/summary"
39
40
  }
40
- }
41
+ }
@@ -0,0 +1,75 @@
1
+ /**
2
+ * This is a generated file. Do not modify it manually.
3
+ *
4
+ * @script ./node_modules/.bin/ts-node packages/icon/scripts/build.ts
5
+ * @checksum eb9c64f8c68f28dfe48fe6d31c8c5e75
6
+ */
7
+ import { css, cx } from '@leafygreen-ui/emotion';
8
+ import PropTypes from 'prop-types';
9
+ import * as React from 'react';
10
+
11
+ import { generateAccessibleProps, sizeMap } from '../glyphCommon';
12
+ import { LGGlyph } from '../types';
13
+ export interface CodeBlockProps extends LGGlyph.ComponentProps {}
14
+ const CodeBlock = ({
15
+ className,
16
+ size = 16,
17
+ title,
18
+ ['aria-label']: ariaLabel,
19
+ ['aria-labelledby']: ariaLabelledby,
20
+ fill,
21
+ role = 'img',
22
+ ...props
23
+ }: CodeBlockProps) => {
24
+ const fillStyle = css`
25
+ color: ${fill};
26
+ `;
27
+ const noFlexShrink = css`
28
+ flex-shrink: 0;
29
+ `;
30
+ const accessibleProps = generateAccessibleProps(role, 'CodeBlock', {
31
+ title,
32
+ ['aria-label']: ariaLabel,
33
+ ['aria-labelledby']: ariaLabelledby,
34
+ });
35
+ return (
36
+ <svg
37
+ className={cx(
38
+ {
39
+ [fillStyle]: fill != null,
40
+ },
41
+ noFlexShrink,
42
+ className,
43
+ )}
44
+ height={typeof size === 'number' ? size : sizeMap[size]}
45
+ width={typeof size === 'number' ? size : sizeMap[size]}
46
+ role={role}
47
+ {...accessibleProps}
48
+ {...props}
49
+ viewBox="0 0 16 16"
50
+ >
51
+ <path
52
+ fillRule="evenodd"
53
+ clipRule="evenodd"
54
+ d="M13 4H3L3 12H13V4ZM3 2C1.89543 2 1 2.89543 1 4V12C1 13.1046 1.89543 14 3 14H13C14.1046 14 15 13.1046 15 12V4C15 2.89543 14.1046 2 13 2H3Z"
55
+ fill={'currentColor'}
56
+ />
57
+ <path
58
+ d="M4.22142 7.42141L6.256 5.7796C6.42099 5.64646 6.66621 5.66804 6.80371 5.82782L7.30163 6.4064C7.43913 6.56618 7.41683 6.80364 7.25184 6.93678L5.93426 8L7.25184 9.06322C7.41683 9.19636 7.43913 9.43382 7.30163 9.59359L6.80371 10.1722C6.66621 10.332 6.42099 10.3535 6.256 10.2204L4.22142 8.57859C4.04409 8.4355 3.94156 8.22352 3.94156 8C3.94156 7.77648 4.04409 7.5645 4.22142 7.42141Z"
59
+ fill={'currentColor'}
60
+ />
61
+ <path
62
+ d="M11.7786 7.42141L9.74399 5.7796C9.57899 5.64646 9.33377 5.66804 9.19628 5.82782L8.69836 6.4064C8.56086 6.56618 8.58315 6.80364 8.74815 6.93678L10.0657 8L8.74815 9.06322C8.58315 9.19636 8.56086 9.43382 8.69836 9.59359L9.19628 10.1722C9.33377 10.332 9.57899 10.3535 9.74399 10.2204L11.7786 8.57859C11.9559 8.4355 12.0584 8.22352 12.0584 8C12.0584 7.77648 11.9559 7.5645 11.7786 7.42141Z"
63
+ fill={'currentColor'}
64
+ />
65
+ </svg>
66
+ );
67
+ };
68
+ CodeBlock.displayName = 'CodeBlock';
69
+ CodeBlock.isGlyph = true;
70
+ CodeBlock.propTypes = {
71
+ fill: PropTypes.string,
72
+ size: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),
73
+ className: PropTypes.string,
74
+ };
75
+ export default CodeBlock;
@@ -0,0 +1,65 @@
1
+ /**
2
+ * This is a generated file. Do not modify it manually.
3
+ *
4
+ * @script ./node_modules/.bin/ts-node packages/icon/scripts/build.ts
5
+ * @checksum cfc3d87292d7b7cee8bb0273ea93327c
6
+ */
7
+ import { css, cx } from '@leafygreen-ui/emotion';
8
+ import PropTypes from 'prop-types';
9
+ import * as React from 'react';
10
+
11
+ import { generateAccessibleProps, sizeMap } from '../glyphCommon';
12
+ import { LGGlyph } from '../types';
13
+ export interface FederationProps extends LGGlyph.ComponentProps {}
14
+ const Federation = ({
15
+ className,
16
+ size = 16,
17
+ title,
18
+ ['aria-label']: ariaLabel,
19
+ ['aria-labelledby']: ariaLabelledby,
20
+ fill,
21
+ role = 'img',
22
+ ...props
23
+ }: FederationProps) => {
24
+ const fillStyle = css`
25
+ color: ${fill};
26
+ `;
27
+ const noFlexShrink = css`
28
+ flex-shrink: 0;
29
+ `;
30
+ const accessibleProps = generateAccessibleProps(role, 'Federation', {
31
+ title,
32
+ ['aria-label']: ariaLabel,
33
+ ['aria-labelledby']: ariaLabelledby,
34
+ });
35
+ return (
36
+ <svg
37
+ className={cx(
38
+ {
39
+ [fillStyle]: fill != null,
40
+ },
41
+ noFlexShrink,
42
+ className,
43
+ )}
44
+ height={typeof size === 'number' ? size : sizeMap[size]}
45
+ width={typeof size === 'number' ? size : sizeMap[size]}
46
+ role={role}
47
+ {...accessibleProps}
48
+ {...props}
49
+ viewBox="0 0 16 16"
50
+ >
51
+ <path
52
+ d="M8 0C9.6 0 10.8 1.3 10.8 3C10.8 4.5 9.8 5.7 8.5 6V8.1L11.6 10.5C12 10.2 12.6 10 13.1 10C14.7 10 15.9 11.3 15.9 13C15.9 14.7 14.6 16 13.1 16C11.5 16 10.3 14.7 10.3 13C10.3 12.3 10.5 11.7 10.9 11.2L8 9L5.1 11.2C5.5 11.7 5.7 12.3 5.7 13C5.7 14.7 4.4 16 2.9 16C1.4 16 0 14.7 0 13C0 11.3 1.3 10 2.8 10C3.4 10 3.9 10.2 4.3 10.5L7.4 8.1V5.9C6.2 5.7 5.2 4.5 5.2 3C5.2 1.3 6.4 0 8 0ZM8 5C8.8 5 9.9 4.2 9.9 3C9.9 1.9 9 1 8 1C7 1 6.1 1.9 6.1 3C6.1 4.2 7.1 5 8 5ZM2.8 11C1.8 11 0.9 11.9 0.9 13C0.9 14.1 1.7 15 2.8 15C3.9 15 4.7 14.1 4.7 13C4.7 11.9 3.9 11 2.8 11ZM13.2 11C12.2 11 11.3 11.9 11.3 13C11.3 14.1 12.1 15 13.2 15C14.3 15 15.1 14.1 15.1 13C15.1 11.9 14.2 11 13.2 11Z"
53
+ fill={'currentColor'}
54
+ />
55
+ </svg>
56
+ );
57
+ };
58
+ Federation.displayName = 'Federation';
59
+ Federation.isGlyph = true;
60
+ Federation.propTypes = {
61
+ fill: PropTypes.string,
62
+ size: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),
63
+ className: PropTypes.string,
64
+ };
65
+ export default Federation;
@@ -0,0 +1,77 @@
1
+ /**
2
+ * This is a generated file. Do not modify it manually.
3
+ *
4
+ * @script ./node_modules/.bin/ts-node packages/icon/scripts/build.ts
5
+ * @checksum 1c9d37e8db109e018b6197a9b630e9e9
6
+ */
7
+ import { css, cx } from '@leafygreen-ui/emotion';
8
+ import PropTypes from 'prop-types';
9
+ import * as React from 'react';
10
+
11
+ import { generateAccessibleProps, sizeMap } from '../glyphCommon';
12
+ import { LGGlyph } from '../types';
13
+ export interface MultiDirectionArrowProps extends LGGlyph.ComponentProps {}
14
+ const MultiDirectionArrow = ({
15
+ className,
16
+ size = 16,
17
+ title,
18
+ ['aria-label']: ariaLabel,
19
+ ['aria-labelledby']: ariaLabelledby,
20
+ fill,
21
+ role = 'img',
22
+ ...props
23
+ }: MultiDirectionArrowProps) => {
24
+ const fillStyle = css`
25
+ color: ${fill};
26
+ `;
27
+ const noFlexShrink = css`
28
+ flex-shrink: 0;
29
+ `;
30
+ const accessibleProps = generateAccessibleProps(role, 'MultiDirectionArrow', {
31
+ title,
32
+ ['aria-label']: ariaLabel,
33
+ ['aria-labelledby']: ariaLabelledby,
34
+ });
35
+ return (
36
+ <svg
37
+ className={cx(
38
+ {
39
+ [fillStyle]: fill != null,
40
+ },
41
+ noFlexShrink,
42
+ className,
43
+ )}
44
+ height={typeof size === 'number' ? size : sizeMap[size]}
45
+ width={typeof size === 'number' ? size : sizeMap[size]}
46
+ role={role}
47
+ {...accessibleProps}
48
+ {...props}
49
+ viewBox="0 0 16 16"
50
+ >
51
+ <path
52
+ d="M5 8.57279V13.4272C5 13.9565 4.39241 14.2015 4.0721 13.8014L2.12898 11.3742C1.95701 11.1594 1.95701 10.8406 2.12898 10.6258L4.0721 8.19856C4.39241 7.79846 5 8.04351 5 8.57279Z"
53
+ fill={'currentColor'}
54
+ />
55
+ <path
56
+ d="M5 10H12.5C12.7761 10 13 10.2239 13 10.5V11.5C13 11.7761 12.7761 12 12.5 12H5V10Z"
57
+ fill={'currentColor'}
58
+ />
59
+ <path
60
+ d="M11 7.42721V2.57279C11 2.04351 11.6076 1.79846 11.9279 2.19856L13.871 4.62577C14.043 4.84058 14.043 5.15942 13.871 5.37423L11.9279 7.80144C11.6076 8.20154 11 7.95649 11 7.42721Z"
61
+ fill={'currentColor'}
62
+ />
63
+ <path
64
+ d="M3 4.5C3 4.22386 3.22386 4 3.5 4H11V6H3.5C3.22386 6 3 5.77614 3 5.5V4.5Z"
65
+ fill={'currentColor'}
66
+ />
67
+ </svg>
68
+ );
69
+ };
70
+ MultiDirectionArrow.displayName = 'MultiDirectionArrow';
71
+ MultiDirectionArrow.isGlyph = true;
72
+ MultiDirectionArrow.propTypes = {
73
+ fill: PropTypes.string,
74
+ size: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),
75
+ className: PropTypes.string,
76
+ };
77
+ export default MultiDirectionArrow;
@@ -0,0 +1,65 @@
1
+ /**
2
+ * This is a generated file. Do not modify it manually.
3
+ *
4
+ * @script ./node_modules/.bin/ts-node packages/icon/scripts/build.ts
5
+ * @checksum aa200f912666400fa37709652cc362c7
6
+ */
7
+ import { css, cx } from '@leafygreen-ui/emotion';
8
+ import PropTypes from 'prop-types';
9
+ import * as React from 'react';
10
+
11
+ import { generateAccessibleProps, sizeMap } from '../glyphCommon';
12
+ import { LGGlyph } from '../types';
13
+ export interface MultiLayersProps extends LGGlyph.ComponentProps {}
14
+ const MultiLayers = ({
15
+ className,
16
+ size = 16,
17
+ title,
18
+ ['aria-label']: ariaLabel,
19
+ ['aria-labelledby']: ariaLabelledby,
20
+ fill,
21
+ role = 'img',
22
+ ...props
23
+ }: MultiLayersProps) => {
24
+ const fillStyle = css`
25
+ color: ${fill};
26
+ `;
27
+ const noFlexShrink = css`
28
+ flex-shrink: 0;
29
+ `;
30
+ const accessibleProps = generateAccessibleProps(role, 'MultiLayers', {
31
+ title,
32
+ ['aria-label']: ariaLabel,
33
+ ['aria-labelledby']: ariaLabelledby,
34
+ });
35
+ return (
36
+ <svg
37
+ className={cx(
38
+ {
39
+ [fillStyle]: fill != null,
40
+ },
41
+ noFlexShrink,
42
+ className,
43
+ )}
44
+ height={typeof size === 'number' ? size : sizeMap[size]}
45
+ width={typeof size === 'number' ? size : sizeMap[size]}
46
+ role={role}
47
+ {...accessibleProps}
48
+ {...props}
49
+ viewBox="0 0 16 16"
50
+ >
51
+ <path
52
+ d="M12.4311 9.74514L12.1717 9.62373L12.4311 9.50233C12.7321 9.3607 13.0019 9.15837 13.1887 8.90545C13.3858 8.65253 13.5 8.32879 13.5 8.00506C13.5 7.68132 13.3858 7.3677 13.1887 7.10467C12.9915 6.85175 12.7321 6.64942 12.4311 6.50778L12.1406 6.36615L12.3585 6.26498C12.6594 6.12335 12.9292 5.92101 13.116 5.66809C13.3132 5.41517 13.4274 5.09144 13.4274 4.7677C13.4274 4.44397 13.3132 4.13035 13.116 3.86732C12.9189 3.6144 12.6594 3.41206 12.3585 3.27043L9.1934 1.76303C8.79906 1.58093 8.38396 1.5 7.96887 1.5C7.55377 1.5 7.1283 1.58093 6.74434 1.76303L3.56887 3.27043C3.26792 3.41206 2.99811 3.6144 2.81132 3.86732C2.61415 4.12023 2.5 4.44397 2.5 4.7677C2.5 5.09144 2.61415 5.40506 2.81132 5.66809C3.00849 5.92101 3.26792 6.12335 3.56887 6.26498L3.85943 6.40661L3.64151 6.50778C3.34057 6.64942 3.07075 6.85175 2.88396 7.10467C2.68679 7.35759 2.57264 7.68132 2.57264 8.00506C2.57264 8.32879 2.68679 8.64241 2.88396 8.90545C3.08113 9.15837 3.34057 9.3607 3.64151 9.50233L3.90094 9.62373L3.64151 9.74514C3.34057 9.88677 3.07075 10.0891 2.88396 10.342C2.68679 10.5949 2.57264 10.9187 2.57264 11.2424C2.57264 11.5661 2.68679 11.8798 2.88396 12.1428C3.08113 12.3957 3.34057 12.5981 3.64151 12.7397L6.8066 14.237C7.19057 14.4191 7.61604 14.5 8.03113 14.5C8.44623 14.5 8.8717 14.4191 9.25566 14.237L12.4208 12.7397C12.7217 12.5981 12.9915 12.3957 13.1783 12.1428C13.3755 11.8899 13.4896 11.5661 13.4896 11.2424C13.4896 10.9187 13.3755 10.6051 13.1783 10.342C12.9811 10.0891 12.7217 9.88677 12.4208 9.74514H12.4311ZM8.04151 12.9926C7.83396 12.9926 7.63679 12.9521 7.50189 12.8813L4.33679 11.384C4.22264 11.3335 4.17075 11.2728 4.15 11.2525L4.17075 11.2323L4.33679 11.121L5.69623 10.4837L6.82736 11.0198C7.21132 11.2019 7.63679 11.2829 8.05189 11.2829C8.46698 11.2829 8.89245 11.2019 9.27642 11.0198L10.4075 10.4837L11.767 11.121C11.8811 11.1716 11.933 11.2323 11.9538 11.2525L11.933 11.2728L11.767 11.384L8.60189 12.8813C8.4566 12.9521 8.25943 12.9926 8.06226 12.9926H8.04151ZM4.13962 8.00506L4.16038 7.98482L4.32642 7.87354L5.64434 7.2463L6.74434 7.76226C7.1283 7.94436 7.55377 8.02529 7.96887 8.02529C8.38396 8.02529 8.80943 7.94436 9.1934 7.76226L10.366 7.20584L11.7566 7.86342C11.8708 7.91401 11.9226 7.97471 11.9434 7.99494L11.9226 8.01517L11.7566 8.12646L8.59151 9.62373C8.44623 9.69455 8.24906 9.73502 8.05189 9.73502C7.84434 9.73502 7.64717 9.69455 7.51226 9.62373L4.34717 8.12646C4.23302 8.07588 4.18113 8.01517 4.16038 7.99494L4.13962 8.00506ZM4.06698 4.7677L4.08774 4.74747L4.25377 4.63619L7.41887 3.13891C7.56415 3.06809 7.76132 3.02763 7.95849 3.02763C8.16604 3.02763 8.36321 3.06809 8.49811 3.13891L11.6632 4.63619C11.7774 4.68677 11.8292 4.74747 11.85 4.7677L11.8292 4.78794L11.6632 4.89922L8.49811 6.3965C8.35283 6.46731 8.15566 6.50778 7.95849 6.50778C7.75094 6.50778 7.55377 6.46731 7.41887 6.3965L4.25377 4.89922C4.13962 4.84864 4.08774 4.78794 4.06698 4.7677Z"
53
+ fill={'currentColor'}
54
+ />
55
+ </svg>
56
+ );
57
+ };
58
+ MultiLayers.displayName = 'MultiLayers';
59
+ MultiLayers.isGlyph = true;
60
+ MultiLayers.propTypes = {
61
+ fill: PropTypes.string,
62
+ size: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),
63
+ className: PropTypes.string,
64
+ };
65
+ export default MultiLayers;
@@ -0,0 +1,5 @@
1
+ <svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
2
+ <path fill-rule="evenodd" clip-rule="evenodd" d="M13 4H3L3 12H13V4ZM3 2C1.89543 2 1 2.89543 1 4V12C1 13.1046 1.89543 14 3 14H13C14.1046 14 15 13.1046 15 12V4C15 2.89543 14.1046 2 13 2H3Z" fill="#000000"/>
3
+ <path d="M4.22142 7.42141L6.256 5.7796C6.42099 5.64646 6.66621 5.66804 6.80371 5.82782L7.30163 6.4064C7.43913 6.56618 7.41683 6.80364 7.25184 6.93678L5.93426 8L7.25184 9.06322C7.41683 9.19636 7.43913 9.43382 7.30163 9.59359L6.80371 10.1722C6.66621 10.332 6.42099 10.3535 6.256 10.2204L4.22142 8.57859C4.04409 8.4355 3.94156 8.22352 3.94156 8C3.94156 7.77648 4.04409 7.5645 4.22142 7.42141Z" fill="#000000"/>
4
+ <path d="M11.7786 7.42141L9.74399 5.7796C9.57899 5.64646 9.33377 5.66804 9.19628 5.82782L8.69836 6.4064C8.56086 6.56618 8.58315 6.80364 8.74815 6.93678L10.0657 8L8.74815 9.06322C8.58315 9.19636 8.56086 9.43382 8.69836 9.59359L9.19628 10.1722C9.33377 10.332 9.57899 10.3535 9.74399 10.2204L11.7786 8.57859C11.9559 8.4355 12.0584 8.22352 12.0584 8C12.0584 7.77648 11.9559 7.5645 11.7786 7.42141Z" fill="#000000"/>
5
+ </svg>
@@ -0,0 +1,3 @@
1
+ <svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
2
+ <path d="M8 0C9.6 0 10.8 1.3 10.8 3C10.8 4.5 9.8 5.7 8.5 6V8.1L11.6 10.5C12 10.2 12.6 10 13.1 10C14.7 10 15.9 11.3 15.9 13C15.9 14.7 14.6 16 13.1 16C11.5 16 10.3 14.7 10.3 13C10.3 12.3 10.5 11.7 10.9 11.2L8 9L5.1 11.2C5.5 11.7 5.7 12.3 5.7 13C5.7 14.7 4.4 16 2.9 16C1.4 16 0 14.7 0 13C0 11.3 1.3 10 2.8 10C3.4 10 3.9 10.2 4.3 10.5L7.4 8.1V5.9C6.2 5.7 5.2 4.5 5.2 3C5.2 1.3 6.4 0 8 0ZM8 5C8.8 5 9.9 4.2 9.9 3C9.9 1.9 9 1 8 1C7 1 6.1 1.9 6.1 3C6.1 4.2 7.1 5 8 5ZM2.8 11C1.8 11 0.9 11.9 0.9 13C0.9 14.1 1.7 15 2.8 15C3.9 15 4.7 14.1 4.7 13C4.7 11.9 3.9 11 2.8 11ZM13.2 11C12.2 11 11.3 11.9 11.3 13C11.3 14.1 12.1 15 13.2 15C14.3 15 15.1 14.1 15.1 13C15.1 11.9 14.2 11 13.2 11Z" fill="#000000"/>
3
+ </svg>
@@ -0,0 +1,6 @@
1
+ <svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
2
+ <path d="M5 8.57279V13.4272C5 13.9565 4.39241 14.2015 4.0721 13.8014L2.12898 11.3742C1.95701 11.1594 1.95701 10.8406 2.12898 10.6258L4.0721 8.19856C4.39241 7.79846 5 8.04351 5 8.57279Z" fill="#000000"/>
3
+ <path d="M5 10H12.5C12.7761 10 13 10.2239 13 10.5V11.5C13 11.7761 12.7761 12 12.5 12H5V10Z" fill="#000000"/>
4
+ <path d="M11 7.42721V2.57279C11 2.04351 11.6076 1.79846 11.9279 2.19856L13.871 4.62577C14.043 4.84058 14.043 5.15942 13.871 5.37423L11.9279 7.80144C11.6076 8.20154 11 7.95649 11 7.42721Z" fill="#000000"/>
5
+ <path d="M3 4.5C3 4.22386 3.22386 4 3.5 4H11V6H3.5C3.22386 6 3 5.77614 3 5.5V4.5Z" fill="#000000"/>
6
+ </svg>
@@ -0,0 +1,3 @@
1
+ <svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
2
+ <path d="M12.4311 9.74514L12.1717 9.62373L12.4311 9.50233C12.7321 9.3607 13.0019 9.15837 13.1887 8.90545C13.3858 8.65253 13.5 8.32879 13.5 8.00506C13.5 7.68132 13.3858 7.3677 13.1887 7.10467C12.9915 6.85175 12.7321 6.64942 12.4311 6.50778L12.1406 6.36615L12.3585 6.26498C12.6594 6.12335 12.9292 5.92101 13.116 5.66809C13.3132 5.41517 13.4274 5.09144 13.4274 4.7677C13.4274 4.44397 13.3132 4.13035 13.116 3.86732C12.9189 3.6144 12.6594 3.41206 12.3585 3.27043L9.1934 1.76303C8.79906 1.58093 8.38396 1.5 7.96887 1.5C7.55377 1.5 7.1283 1.58093 6.74434 1.76303L3.56887 3.27043C3.26792 3.41206 2.99811 3.6144 2.81132 3.86732C2.61415 4.12023 2.5 4.44397 2.5 4.7677C2.5 5.09144 2.61415 5.40506 2.81132 5.66809C3.00849 5.92101 3.26792 6.12335 3.56887 6.26498L3.85943 6.40661L3.64151 6.50778C3.34057 6.64942 3.07075 6.85175 2.88396 7.10467C2.68679 7.35759 2.57264 7.68132 2.57264 8.00506C2.57264 8.32879 2.68679 8.64241 2.88396 8.90545C3.08113 9.15837 3.34057 9.3607 3.64151 9.50233L3.90094 9.62373L3.64151 9.74514C3.34057 9.88677 3.07075 10.0891 2.88396 10.342C2.68679 10.5949 2.57264 10.9187 2.57264 11.2424C2.57264 11.5661 2.68679 11.8798 2.88396 12.1428C3.08113 12.3957 3.34057 12.5981 3.64151 12.7397L6.8066 14.237C7.19057 14.4191 7.61604 14.5 8.03113 14.5C8.44623 14.5 8.8717 14.4191 9.25566 14.237L12.4208 12.7397C12.7217 12.5981 12.9915 12.3957 13.1783 12.1428C13.3755 11.8899 13.4896 11.5661 13.4896 11.2424C13.4896 10.9187 13.3755 10.6051 13.1783 10.342C12.9811 10.0891 12.7217 9.88677 12.4208 9.74514H12.4311ZM8.04151 12.9926C7.83396 12.9926 7.63679 12.9521 7.50189 12.8813L4.33679 11.384C4.22264 11.3335 4.17075 11.2728 4.15 11.2525L4.17075 11.2323L4.33679 11.121L5.69623 10.4837L6.82736 11.0198C7.21132 11.2019 7.63679 11.2829 8.05189 11.2829C8.46698 11.2829 8.89245 11.2019 9.27642 11.0198L10.4075 10.4837L11.767 11.121C11.8811 11.1716 11.933 11.2323 11.9538 11.2525L11.933 11.2728L11.767 11.384L8.60189 12.8813C8.4566 12.9521 8.25943 12.9926 8.06226 12.9926H8.04151ZM4.13962 8.00506L4.16038 7.98482L4.32642 7.87354L5.64434 7.2463L6.74434 7.76226C7.1283 7.94436 7.55377 8.02529 7.96887 8.02529C8.38396 8.02529 8.80943 7.94436 9.1934 7.76226L10.366 7.20584L11.7566 7.86342C11.8708 7.91401 11.9226 7.97471 11.9434 7.99494L11.9226 8.01517L11.7566 8.12646L8.59151 9.62373C8.44623 9.69455 8.24906 9.73502 8.05189 9.73502C7.84434 9.73502 7.64717 9.69455 7.51226 9.62373L4.34717 8.12646C4.23302 8.07588 4.18113 8.01517 4.16038 7.99494L4.13962 8.00506ZM4.06698 4.7677L4.08774 4.74747L4.25377 4.63619L7.41887 3.13891C7.56415 3.06809 7.76132 3.02763 7.95849 3.02763C8.16604 3.02763 8.36321 3.06809 8.49811 3.13891L11.6632 4.63619C11.7774 4.68677 11.8292 4.74747 11.85 4.7677L11.8292 4.78794L11.6632 4.89922L8.49811 6.3965C8.35283 6.46731 8.15566 6.50778 7.95849 6.50778C7.75094 6.50778 7.55377 6.46731 7.41887 6.3965L4.25377 4.89922C4.13962 4.84864 4.08774 4.78794 4.06698 4.7677Z" fill="#000000"/>
3
+ </svg>
@@ -33,6 +33,7 @@ import ClockWithArrow from './ClockWithArrow.svg';
33
33
  import Clone from './Clone.svg';
34
34
  import Cloud from './Cloud.svg';
35
35
  import Code from './Code.svg';
36
+ import CodeBlock from './CodeBlock.svg';
36
37
  import Connect from './Connect.svg';
37
38
  import Copy from './Copy.svg';
38
39
  import CreditCard from './CreditCard.svg';
@@ -51,6 +52,7 @@ import Ellipsis from './Ellipsis.svg';
51
52
  import Email from './Email.svg';
52
53
  import Export from './Export.svg';
53
54
  import Favorite from './Favorite.svg';
55
+ import Federation from './Federation.svg';
54
56
  import File from './File.svg';
55
57
  import Filter from './Filter.svg';
56
58
  import Folder from './Folder.svg';
@@ -75,6 +77,8 @@ import MagnifyingGlass from './MagnifyingGlass.svg';
75
77
  import Megaphone from './Megaphone.svg';
76
78
  import Menu from './Menu.svg';
77
79
  import Minus from './Minus.svg';
80
+ import MultiDirectionArrow from './MultiDirectionArrow.svg';
81
+ import MultiLayers from './MultiLayers.svg';
78
82
  import NoFilter from './NoFilter.svg';
79
83
  import NotAllowed from './NotAllowed.svg';
80
84
  import Note from './Note.svg';
@@ -160,6 +164,7 @@ const _glyphs = {
160
164
  Clone,
161
165
  Cloud,
162
166
  Code,
167
+ CodeBlock,
163
168
  Connect,
164
169
  Copy,
165
170
  CreditCard,
@@ -178,6 +183,7 @@ const _glyphs = {
178
183
  Email,
179
184
  Export,
180
185
  Favorite,
186
+ Federation,
181
187
  File,
182
188
  Filter,
183
189
  FullScreenEnter,
@@ -202,6 +208,8 @@ const _glyphs = {
202
208
  Megaphone,
203
209
  Menu,
204
210
  Minus,
211
+ MultiDirectionArrow,
212
+ MultiLayers,
205
213
  NoFilter,
206
214
  NotAllowed,
207
215
  Note,