@primer/components 0.0.0-202181419181 → 0.0.0-202181584433

Sign up to get free protection for your applications and to get access to all the features.
@@ -1 +1 @@
1
- {"version":3,"file":"browser.umd.js","sources":["../node_modules/object-assign/index.js","../node_modules/@styled-system/core/dist/index.esm.js","../node_modules/@styled-system/layout/dist/index.esm.js","../node_modules/@styled-system/color/dist/index.esm.js","../node_modules/@styled-system/typography/dist/index.esm.js","../node_modules/@styled-system/flexbox/dist/index.esm.js","../node_modules/@styled-system/grid/dist/index.esm.js","../node_modules/@styled-system/border/dist/index.esm.js","../node_modules/@styled-system/background/dist/index.esm.js","../node_modules/@styled-system/position/dist/index.esm.js","../node_modules/@styled-system/space/dist/index.esm.js","../node_modules/@styled-system/shadow/dist/index.esm.js","../node_modules/@styled-system/css/dist/index.esm.js","../node_modules/@styled-system/variant/dist/index.esm.js","../node_modules/styled-system/dist/index.esm.js","../src/constants.ts","../node_modules/@styled-system/theme-get/dist/index.esm.js","../src/BaseStyles.tsx","../node_modules/deepmerge/dist/cjs.js","../src/ThemeProvider.tsx","../src/sx.ts","../src/Box.tsx","../src/BorderBox.tsx","../src/Flex.tsx","../src/Grid.tsx","../src/Position.tsx","../src/hooks/useDetails.tsx","../src/hooks/useOnOutsideClick.tsx","../src/utils/iterateFocusableElements.ts","../src/hooks/useOpenAndCloseFocus.ts","../src/hooks/useOnEscapePress.ts","../src/hooks/useProvidedRefOrCreate.ts","../src/hooks/useOverlay.tsx","../src/polyfills/eventListenerSignal.ts","../src/utils/userAgent.ts","../src/utils/uniqueId.ts","../src/behaviors/focusZone.ts","../src/Button/ButtonStyles.tsx","../src/Button/ButtonBase.tsx","../src/Button/Button.tsx","../src/Button/ButtonDanger.tsx","../src/Button/ButtonGroup.tsx","../src/Button/ButtonOutline.tsx","../src/Button/ButtonPrimary.tsx","../src/Button/ButtonInvisible.tsx","../src/Button/ButtonTableList.tsx","../node_modules/@primer/octicons-react/dist/index.esm.js","../src/Button/ButtonClose.tsx","../src/behaviors/anchoredPosition.ts","../src/hooks/useAnchoredPosition.ts","../src/hooks/useResizeObserver.ts","../src/behaviors/focusTrap.ts","../src/hooks/useFocusTrap.ts","../src/StyledOcticon.tsx","../src/hooks/useFocusZone.ts","../src/Portal/Portal.tsx","../src/hooks/useCombinedRefs.ts","../src/Dialog/Dialog.tsx","../src/Dialog/ConfirmationDialog.tsx","../src/ActionList/Header.tsx","../src/ActionList/Group.tsx","../src/Truncate.tsx","../src/ActionList/Divider.tsx","../src/ActionList/Item.tsx","../src/ActionList/List.tsx","../src/ActionList/index.ts","../src/Overlay.tsx","../src/AnchoredOverlay/AnchoredOverlay.tsx","../src/hooks/useRenderForcingRef.ts","../src/hooks/useProvidedStateOrCreate.ts","../src/ActionMenu.tsx","../src/Avatar.tsx","../src/AvatarPair.tsx","../node_modules/classnames/index.js","../src/AvatarStack.tsx","../src/BranchName.tsx","../src/Breadcrumb.tsx","../src/Caret.tsx","../src/CircleBadge.tsx","../src/utils/isNumeric.tsx","../src/CircleOcticon.tsx","../src/CounterLabel.tsx","../src/Details.tsx","../src/hooks/useDialog.ts","../src/Text.tsx","../src/Dialog.tsx","../src/DropdownStyles.ts","../src/Dropdown.tsx","../src/DropdownMenu/DropdownButton.tsx","../src/DropdownMenu/DropdownMenu.tsx","../src/FilteredSearch.tsx","../src/FilterList.tsx","../src/Flash.tsx","../src/FormGroup.tsx","../src/Header.tsx","../src/Heading.tsx","../src/LabelGroup.tsx","../src/Label.tsx","../src/Link.tsx","../src/Pagehead.tsx","../src/Pagination/Pagination.tsx","../src/Pagination/model.tsx","../src/PointerBox.tsx","../src/Popover.tsx","../src/ProgressBar.tsx","../src/SelectMenu/hooks/useKeyboardNav.js","../src/SelectMenu/SelectMenuContext.tsx","../src/SelectMenu/SelectMenuDivider.tsx","../src/TextInput.tsx","../src/SelectMenu/SelectMenuFilter.tsx","../src/SelectMenu/SelectMenuFooter.tsx","../src/SelectMenu/SelectMenuHeader.tsx","../src/SelectMenu/SelectMenuItem.tsx","../src/SelectMenu/SelectMenuList.tsx","../src/Spinner.tsx","../src/SelectMenu/SelectMenuLoadingAnimation.tsx","../src/SelectMenu/SelectMenuModal.tsx","../src/SelectMenu/SelectMenuTab.tsx","../src/SelectMenu/SelectMenuTabPanel.tsx","../src/SelectMenu/SelectMenuTabs.tsx","../src/SelectMenu/SelectMenu.tsx","../src/SideNav.tsx","../src/StateLabel.tsx","../src/SubNav.tsx","../src/TabNav.tsx","../src/Timeline.tsx","../src/Tooltip.tsx","../src/UnderlineNav.tsx","../src/hooks/useSafeTimeout.ts"],"sourcesContent":["/*\nobject-assign\n(c) Sindre Sorhus\n@license MIT\n*/\n\n'use strict';\n/* eslint-disable no-unused-vars */\nvar getOwnPropertySymbols = Object.getOwnPropertySymbols;\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\nvar propIsEnumerable = Object.prototype.propertyIsEnumerable;\n\nfunction toObject(val) {\n\tif (val === null || val === undefined) {\n\t\tthrow new TypeError('Object.assign cannot be called with null or undefined');\n\t}\n\n\treturn Object(val);\n}\n\nfunction shouldUseNative() {\n\ttry {\n\t\tif (!Object.assign) {\n\t\t\treturn false;\n\t\t}\n\n\t\t// Detect buggy property enumeration order in older V8 versions.\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=4118\n\t\tvar test1 = new String('abc'); // eslint-disable-line no-new-wrappers\n\t\ttest1[5] = 'de';\n\t\tif (Object.getOwnPropertyNames(test1)[0] === '5') {\n\t\t\treturn false;\n\t\t}\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=3056\n\t\tvar test2 = {};\n\t\tfor (var i = 0; i < 10; i++) {\n\t\t\ttest2['_' + String.fromCharCode(i)] = i;\n\t\t}\n\t\tvar order2 = Object.getOwnPropertyNames(test2).map(function (n) {\n\t\t\treturn test2[n];\n\t\t});\n\t\tif (order2.join('') !== '0123456789') {\n\t\t\treturn false;\n\t\t}\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=3056\n\t\tvar test3 = {};\n\t\t'abcdefghijklmnopqrst'.split('').forEach(function (letter) {\n\t\t\ttest3[letter] = letter;\n\t\t});\n\t\tif (Object.keys(Object.assign({}, test3)).join('') !==\n\t\t\t\t'abcdefghijklmnopqrst') {\n\t\t\treturn false;\n\t\t}\n\n\t\treturn true;\n\t} catch (err) {\n\t\t// We don't expect any of the above to throw, but better to be safe.\n\t\treturn false;\n\t}\n}\n\nmodule.exports = shouldUseNative() ? Object.assign : function (target, source) {\n\tvar from;\n\tvar to = toObject(target);\n\tvar symbols;\n\n\tfor (var s = 1; s < arguments.length; s++) {\n\t\tfrom = Object(arguments[s]);\n\n\t\tfor (var key in from) {\n\t\t\tif (hasOwnProperty.call(from, key)) {\n\t\t\t\tto[key] = from[key];\n\t\t\t}\n\t\t}\n\n\t\tif (getOwnPropertySymbols) {\n\t\t\tsymbols = getOwnPropertySymbols(from);\n\t\t\tfor (var i = 0; i < symbols.length; i++) {\n\t\t\t\tif (propIsEnumerable.call(from, symbols[i])) {\n\t\t\t\t\tto[symbols[i]] = from[symbols[i]];\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\treturn to;\n};\n","import assign from 'object-assign';\nexport var merge = function merge(a, b) {\n var result = assign({}, a, b);\n\n for (var key in a) {\n var _assign;\n\n if (!a[key] || typeof b[key] !== 'object') continue;\n assign(result, (_assign = {}, _assign[key] = assign(a[key], b[key]), _assign));\n }\n\n return result;\n}; // sort object-value responsive styles\n\nvar sort = function sort(obj) {\n var next = {};\n Object.keys(obj).sort(function (a, b) {\n return a.localeCompare(b, undefined, {\n numeric: true,\n sensitivity: 'base'\n });\n }).forEach(function (key) {\n next[key] = obj[key];\n });\n return next;\n};\n\nvar defaults = {\n breakpoints: [40, 52, 64].map(function (n) {\n return n + 'em';\n })\n};\n\nvar createMediaQuery = function createMediaQuery(n) {\n return \"@media screen and (min-width: \" + n + \")\";\n};\n\nvar getValue = function getValue(n, scale) {\n return get(scale, n, n);\n};\n\nexport var get = function get(obj, key, def, p, undef) {\n key = key && key.split ? key.split('.') : [key];\n\n for (p = 0; p < key.length; p++) {\n obj = obj ? obj[key[p]] : undef;\n }\n\n return obj === undef ? def : obj;\n};\nexport var createParser = function createParser(config) {\n var cache = {};\n\n var parse = function parse(props) {\n var styles = {};\n var shouldSort = false;\n var isCacheDisabled = props.theme && props.theme.disableStyledSystemCache;\n\n for (var key in props) {\n if (!config[key]) continue;\n var sx = config[key];\n var raw = props[key];\n var scale = get(props.theme, sx.scale, sx.defaults);\n\n if (typeof raw === 'object') {\n cache.breakpoints = !isCacheDisabled && cache.breakpoints || get(props.theme, 'breakpoints', defaults.breakpoints);\n\n if (Array.isArray(raw)) {\n cache.media = !isCacheDisabled && cache.media || [null].concat(cache.breakpoints.map(createMediaQuery));\n styles = merge(styles, parseResponsiveStyle(cache.media, sx, scale, raw, props));\n continue;\n }\n\n if (raw !== null) {\n styles = merge(styles, parseResponsiveObject(cache.breakpoints, sx, scale, raw, props));\n shouldSort = true;\n }\n\n continue;\n }\n\n assign(styles, sx(raw, scale, props));\n } // sort object-based responsive styles\n\n\n if (shouldSort) {\n styles = sort(styles);\n }\n\n return styles;\n };\n\n parse.config = config;\n parse.propNames = Object.keys(config);\n parse.cache = cache;\n var keys = Object.keys(config).filter(function (k) {\n return k !== 'config';\n });\n\n if (keys.length > 1) {\n keys.forEach(function (key) {\n var _createParser;\n\n parse[key] = createParser((_createParser = {}, _createParser[key] = config[key], _createParser));\n });\n }\n\n return parse;\n};\n\nvar parseResponsiveStyle = function parseResponsiveStyle(mediaQueries, sx, scale, raw, _props) {\n var styles = {};\n raw.slice(0, mediaQueries.length).forEach(function (value, i) {\n var media = mediaQueries[i];\n var style = sx(value, scale, _props);\n\n if (!media) {\n assign(styles, style);\n } else {\n var _assign2;\n\n assign(styles, (_assign2 = {}, _assign2[media] = assign({}, styles[media], style), _assign2));\n }\n });\n return styles;\n};\n\nvar parseResponsiveObject = function parseResponsiveObject(breakpoints, sx, scale, raw, _props) {\n var styles = {};\n\n for (var key in raw) {\n var breakpoint = breakpoints[key];\n var value = raw[key];\n var style = sx(value, scale, _props);\n\n if (!breakpoint) {\n assign(styles, style);\n } else {\n var _assign3;\n\n var media = createMediaQuery(breakpoint);\n assign(styles, (_assign3 = {}, _assign3[media] = assign({}, styles[media], style), _assign3));\n }\n }\n\n return styles;\n};\n\nexport var createStyleFunction = function createStyleFunction(_ref) {\n var properties = _ref.properties,\n property = _ref.property,\n scale = _ref.scale,\n _ref$transform = _ref.transform,\n transform = _ref$transform === void 0 ? getValue : _ref$transform,\n defaultScale = _ref.defaultScale;\n properties = properties || [property];\n\n var sx = function sx(value, scale, _props) {\n var result = {};\n var n = transform(value, scale, _props);\n if (n === null) return;\n properties.forEach(function (prop) {\n result[prop] = n;\n });\n return result;\n };\n\n sx.scale = scale;\n sx.defaults = defaultScale;\n return sx;\n}; // new v5 API\n\nexport var system = function system(args) {\n if (args === void 0) {\n args = {};\n }\n\n var config = {};\n Object.keys(args).forEach(function (key) {\n var conf = args[key];\n\n if (conf === true) {\n // shortcut definition\n config[key] = createStyleFunction({\n property: key,\n scale: key\n });\n return;\n }\n\n if (typeof conf === 'function') {\n config[key] = conf;\n return;\n }\n\n config[key] = createStyleFunction(conf);\n });\n var parser = createParser(config);\n return parser;\n};\nexport var compose = function compose() {\n var config = {};\n\n for (var _len = arguments.length, parsers = new Array(_len), _key = 0; _key < _len; _key++) {\n parsers[_key] = arguments[_key];\n }\n\n parsers.forEach(function (parser) {\n if (!parser || !parser.config) return;\n assign(config, parser.config);\n });\n var parser = createParser(config);\n return parser;\n};\n","import { system, get } from '@styled-system/core';\n\nvar isNumber = function isNumber(n) {\n return typeof n === 'number' && !isNaN(n);\n};\n\nvar getWidth = function getWidth(n, scale) {\n return get(scale, n, !isNumber(n) || n > 1 ? n : n * 100 + '%');\n};\n\nvar config = {\n width: {\n property: 'width',\n scale: 'sizes',\n transform: getWidth\n },\n height: {\n property: 'height',\n scale: 'sizes'\n },\n minWidth: {\n property: 'minWidth',\n scale: 'sizes'\n },\n minHeight: {\n property: 'minHeight',\n scale: 'sizes'\n },\n maxWidth: {\n property: 'maxWidth',\n scale: 'sizes'\n },\n maxHeight: {\n property: 'maxHeight',\n scale: 'sizes'\n },\n size: {\n properties: ['width', 'height'],\n scale: 'sizes'\n },\n overflow: true,\n overflowX: true,\n overflowY: true,\n display: true,\n verticalAlign: true\n};\nexport var layout = system(config);\nexport default layout;\n","import { system } from '@styled-system/core';\nvar config = {\n color: {\n property: 'color',\n scale: 'colors'\n },\n backgroundColor: {\n property: 'backgroundColor',\n scale: 'colors'\n },\n opacity: true\n};\nconfig.bg = config.backgroundColor;\nexport var color = system(config);\nexport default color;\n","import { system } from '@styled-system/core';\nvar defaults = {\n fontSizes: [12, 14, 16, 20, 24, 32, 48, 64, 72]\n};\nvar config = {\n fontFamily: {\n property: 'fontFamily',\n scale: 'fonts'\n },\n fontSize: {\n property: 'fontSize',\n scale: 'fontSizes',\n defaultScale: defaults.fontSizes\n },\n fontWeight: {\n property: 'fontWeight',\n scale: 'fontWeights'\n },\n lineHeight: {\n property: 'lineHeight',\n scale: 'lineHeights'\n },\n letterSpacing: {\n property: 'letterSpacing',\n scale: 'letterSpacings'\n },\n textAlign: true,\n fontStyle: true\n};\nexport var typography = system(config);\nexport default typography;\n","import { system } from '@styled-system/core';\nvar config = {\n alignItems: true,\n alignContent: true,\n justifyItems: true,\n justifyContent: true,\n flexWrap: true,\n flexDirection: true,\n // item\n flex: true,\n flexGrow: true,\n flexShrink: true,\n flexBasis: true,\n justifySelf: true,\n alignSelf: true,\n order: true\n};\nexport var flexbox = system(config);\nexport default flexbox;\n","import { system } from '@styled-system/core';\nvar defaults = {\n space: [0, 4, 8, 16, 32, 64, 128, 256, 512]\n};\nvar config = {\n gridGap: {\n property: 'gridGap',\n scale: 'space',\n defaultScale: defaults.space\n },\n gridColumnGap: {\n property: 'gridColumnGap',\n scale: 'space',\n defaultScale: defaults.space\n },\n gridRowGap: {\n property: 'gridRowGap',\n scale: 'space',\n defaultScale: defaults.space\n },\n gridColumn: true,\n gridRow: true,\n gridAutoFlow: true,\n gridAutoColumns: true,\n gridAutoRows: true,\n gridTemplateColumns: true,\n gridTemplateRows: true,\n gridTemplateAreas: true,\n gridArea: true\n};\nexport var grid = system(config);\nexport default grid;\n","import { system } from '@styled-system/core';\nvar config = {\n border: {\n property: 'border',\n scale: 'borders'\n },\n borderWidth: {\n property: 'borderWidth',\n scale: 'borderWidths'\n },\n borderStyle: {\n property: 'borderStyle',\n scale: 'borderStyles'\n },\n borderColor: {\n property: 'borderColor',\n scale: 'colors'\n },\n borderRadius: {\n property: 'borderRadius',\n scale: 'radii'\n },\n borderTop: {\n property: 'borderTop',\n scale: 'borders'\n },\n borderTopLeftRadius: {\n property: 'borderTopLeftRadius',\n scale: 'radii'\n },\n borderTopRightRadius: {\n property: 'borderTopRightRadius',\n scale: 'radii'\n },\n borderRight: {\n property: 'borderRight',\n scale: 'borders'\n },\n borderBottom: {\n property: 'borderBottom',\n scale: 'borders'\n },\n borderBottomLeftRadius: {\n property: 'borderBottomLeftRadius',\n scale: 'radii'\n },\n borderBottomRightRadius: {\n property: 'borderBottomRightRadius',\n scale: 'radii'\n },\n borderLeft: {\n property: 'borderLeft',\n scale: 'borders'\n },\n borderX: {\n properties: ['borderLeft', 'borderRight'],\n scale: 'borders'\n },\n borderY: {\n properties: ['borderTop', 'borderBottom'],\n scale: 'borders'\n }\n};\nconfig.borderTopWidth = {\n property: 'borderTopWidth',\n scale: 'borderWidths'\n};\nconfig.borderTopColor = {\n property: 'borderTopColor',\n scale: 'colors'\n};\nconfig.borderTopStyle = {\n property: 'borderTopStyle',\n scale: 'borderStyles'\n};\nconfig.borderTopLeftRadius = {\n property: 'borderTopLeftRadius',\n scale: 'radii'\n};\nconfig.borderTopRightRadius = {\n property: 'borderTopRightRadius',\n scale: 'radii'\n};\nconfig.borderBottomWidth = {\n property: 'borderBottomWidth',\n scale: 'borderWidths'\n};\nconfig.borderBottomColor = {\n property: 'borderBottomColor',\n scale: 'colors'\n};\nconfig.borderBottomStyle = {\n property: 'borderBottomStyle',\n scale: 'borderStyles'\n};\nconfig.borderBottomLeftRadius = {\n property: 'borderBottomLeftRadius',\n scale: 'radii'\n};\nconfig.borderBottomRightRadius = {\n property: 'borderBottomRightRadius',\n scale: 'radii'\n};\nconfig.borderLeftWidth = {\n property: 'borderLeftWidth',\n scale: 'borderWidths'\n};\nconfig.borderLeftColor = {\n property: 'borderLeftColor',\n scale: 'colors'\n};\nconfig.borderLeftStyle = {\n property: 'borderLeftStyle',\n scale: 'borderStyles'\n};\nconfig.borderRightWidth = {\n property: 'borderRightWidth',\n scale: 'borderWidths'\n};\nconfig.borderRightColor = {\n property: 'borderRightColor',\n scale: 'colors'\n};\nconfig.borderRightStyle = {\n property: 'borderRightStyle',\n scale: 'borderStyles'\n};\nexport var border = system(config);\nexport default border;\n","import { system } from '@styled-system/core';\nvar config = {\n background: true,\n backgroundImage: true,\n backgroundSize: true,\n backgroundPosition: true,\n backgroundRepeat: true\n};\nconfig.bgImage = config.backgroundImage;\nconfig.bgSize = config.backgroundSize;\nconfig.bgPosition = config.backgroundPosition;\nconfig.bgRepeat = config.backgroundRepeat;\nexport var background = system(config);\nexport default background;\n","import { system } from '@styled-system/core';\nvar defaults = {\n space: [0, 4, 8, 16, 32, 64, 128, 256, 512]\n};\nvar config = {\n position: true,\n zIndex: {\n property: 'zIndex',\n scale: 'zIndices'\n },\n top: {\n property: 'top',\n scale: 'space',\n defaultScale: defaults.space\n },\n right: {\n property: 'right',\n scale: 'space',\n defaultScale: defaults.space\n },\n bottom: {\n property: 'bottom',\n scale: 'space',\n defaultScale: defaults.space\n },\n left: {\n property: 'left',\n scale: 'space',\n defaultScale: defaults.space\n }\n};\nexport var position = system(config);\nexport default position;\n","import { get, system, compose } from '@styled-system/core';\nvar defaults = {\n space: [0, 4, 8, 16, 32, 64, 128, 256, 512]\n};\n\nvar isNumber = function isNumber(n) {\n return typeof n === 'number' && !isNaN(n);\n};\n\nvar getMargin = function getMargin(n, scale) {\n if (!isNumber(n)) {\n return get(scale, n, n);\n }\n\n var isNegative = n < 0;\n var absolute = Math.abs(n);\n var value = get(scale, absolute, absolute);\n\n if (!isNumber(value)) {\n return isNegative ? '-' + value : value;\n }\n\n return value * (isNegative ? -1 : 1);\n};\n\nvar configs = {};\nconfigs.margin = {\n margin: {\n property: 'margin',\n scale: 'space',\n transform: getMargin,\n defaultScale: defaults.space\n },\n marginTop: {\n property: 'marginTop',\n scale: 'space',\n transform: getMargin,\n defaultScale: defaults.space\n },\n marginRight: {\n property: 'marginRight',\n scale: 'space',\n transform: getMargin,\n defaultScale: defaults.space\n },\n marginBottom: {\n property: 'marginBottom',\n scale: 'space',\n transform: getMargin,\n defaultScale: defaults.space\n },\n marginLeft: {\n property: 'marginLeft',\n scale: 'space',\n transform: getMargin,\n defaultScale: defaults.space\n },\n marginX: {\n properties: ['marginLeft', 'marginRight'],\n scale: 'space',\n transform: getMargin,\n defaultScale: defaults.space\n },\n marginY: {\n properties: ['marginTop', 'marginBottom'],\n scale: 'space',\n transform: getMargin,\n defaultScale: defaults.space\n }\n};\nconfigs.margin.m = configs.margin.margin;\nconfigs.margin.mt = configs.margin.marginTop;\nconfigs.margin.mr = configs.margin.marginRight;\nconfigs.margin.mb = configs.margin.marginBottom;\nconfigs.margin.ml = configs.margin.marginLeft;\nconfigs.margin.mx = configs.margin.marginX;\nconfigs.margin.my = configs.margin.marginY;\nconfigs.padding = {\n padding: {\n property: 'padding',\n scale: 'space',\n defaultScale: defaults.space\n },\n paddingTop: {\n property: 'paddingTop',\n scale: 'space',\n defaultScale: defaults.space\n },\n paddingRight: {\n property: 'paddingRight',\n scale: 'space',\n defaultScale: defaults.space\n },\n paddingBottom: {\n property: 'paddingBottom',\n scale: 'space',\n defaultScale: defaults.space\n },\n paddingLeft: {\n property: 'paddingLeft',\n scale: 'space',\n defaultScale: defaults.space\n },\n paddingX: {\n properties: ['paddingLeft', 'paddingRight'],\n scale: 'space',\n defaultScale: defaults.space\n },\n paddingY: {\n properties: ['paddingTop', 'paddingBottom'],\n scale: 'space',\n defaultScale: defaults.space\n }\n};\nconfigs.padding.p = configs.padding.padding;\nconfigs.padding.pt = configs.padding.paddingTop;\nconfigs.padding.pr = configs.padding.paddingRight;\nconfigs.padding.pb = configs.padding.paddingBottom;\nconfigs.padding.pl = configs.padding.paddingLeft;\nconfigs.padding.px = configs.padding.paddingX;\nconfigs.padding.py = configs.padding.paddingY;\nexport var margin = system(configs.margin);\nexport var padding = system(configs.padding);\nexport var space = compose(margin, padding);\nexport default space;\n","import { system } from '@styled-system/core';\nexport var shadow = system({\n boxShadow: {\n property: 'boxShadow',\n scale: 'shadows'\n },\n textShadow: {\n property: 'textShadow',\n scale: 'shadows'\n }\n});\nexport default shadow;\n","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\n// based on https://github.com/developit/dlv\nexport var get = function get(obj, key, def, p, undef) {\n key = key && key.split ? key.split('.') : [key];\n\n for (p = 0; p < key.length; p++) {\n obj = obj ? obj[key[p]] : undef;\n }\n\n return obj === undef ? def : obj;\n};\nvar defaultBreakpoints = [40, 52, 64].map(function (n) {\n return n + 'em';\n});\nvar defaultTheme = {\n space: [0, 4, 8, 16, 32, 64, 128, 256, 512],\n fontSizes: [12, 14, 16, 20, 24, 32, 48, 64, 72]\n};\nvar aliases = {\n bg: 'backgroundColor',\n m: 'margin',\n mt: 'marginTop',\n mr: 'marginRight',\n mb: 'marginBottom',\n ml: 'marginLeft',\n mx: 'marginX',\n my: 'marginY',\n p: 'padding',\n pt: 'paddingTop',\n pr: 'paddingRight',\n pb: 'paddingBottom',\n pl: 'paddingLeft',\n px: 'paddingX',\n py: 'paddingY'\n};\nvar multiples = {\n marginX: ['marginLeft', 'marginRight'],\n marginY: ['marginTop', 'marginBottom'],\n paddingX: ['paddingLeft', 'paddingRight'],\n paddingY: ['paddingTop', 'paddingBottom'],\n size: ['width', 'height']\n};\nvar scales = {\n color: 'colors',\n backgroundColor: 'colors',\n borderColor: 'colors',\n margin: 'space',\n marginTop: 'space',\n marginRight: 'space',\n marginBottom: 'space',\n marginLeft: 'space',\n marginX: 'space',\n marginY: 'space',\n padding: 'space',\n paddingTop: 'space',\n paddingRight: 'space',\n paddingBottom: 'space',\n paddingLeft: 'space',\n paddingX: 'space',\n paddingY: 'space',\n top: 'space',\n right: 'space',\n bottom: 'space',\n left: 'space',\n gridGap: 'space',\n gridColumnGap: 'space',\n gridRowGap: 'space',\n gap: 'space',\n columnGap: 'space',\n rowGap: 'space',\n fontFamily: 'fonts',\n fontSize: 'fontSizes',\n fontWeight: 'fontWeights',\n lineHeight: 'lineHeights',\n letterSpacing: 'letterSpacings',\n border: 'borders',\n borderTop: 'borders',\n borderRight: 'borders',\n borderBottom: 'borders',\n borderLeft: 'borders',\n borderWidth: 'borderWidths',\n borderStyle: 'borderStyles',\n borderRadius: 'radii',\n borderTopRightRadius: 'radii',\n borderTopLeftRadius: 'radii',\n borderBottomRightRadius: 'radii',\n borderBottomLeftRadius: 'radii',\n borderTopWidth: 'borderWidths',\n borderTopColor: 'colors',\n borderTopStyle: 'borderStyles',\n borderBottomWidth: 'borderWidths',\n borderBottomColor: 'colors',\n borderBottomStyle: 'borderStyles',\n borderLeftWidth: 'borderWidths',\n borderLeftColor: 'colors',\n borderLeftStyle: 'borderStyles',\n borderRightWidth: 'borderWidths',\n borderRightColor: 'colors',\n borderRightStyle: 'borderStyles',\n outlineColor: 'colors',\n boxShadow: 'shadows',\n textShadow: 'shadows',\n zIndex: 'zIndices',\n width: 'sizes',\n minWidth: 'sizes',\n maxWidth: 'sizes',\n height: 'sizes',\n minHeight: 'sizes',\n maxHeight: 'sizes',\n flexBasis: 'sizes',\n size: 'sizes',\n // svg\n fill: 'colors',\n stroke: 'colors'\n};\n\nvar positiveOrNegative = function positiveOrNegative(scale, value) {\n if (typeof value !== 'number' || value >= 0) {\n return get(scale, value, value);\n }\n\n var absolute = Math.abs(value);\n var n = get(scale, absolute, absolute);\n if (typeof n === 'string') return '-' + n;\n return n * -1;\n};\n\nvar transforms = ['margin', 'marginTop', 'marginRight', 'marginBottom', 'marginLeft', 'marginX', 'marginY', 'top', 'bottom', 'left', 'right'].reduce(function (acc, curr) {\n var _extends2;\n\n return _extends({}, acc, (_extends2 = {}, _extends2[curr] = positiveOrNegative, _extends2));\n}, {});\nexport var responsive = function responsive(styles) {\n return function (theme) {\n var next = {};\n var breakpoints = get(theme, 'breakpoints', defaultBreakpoints);\n var mediaQueries = [null].concat(breakpoints.map(function (n) {\n return \"@media screen and (min-width: \" + n + \")\";\n }));\n\n for (var key in styles) {\n var value = typeof styles[key] === 'function' ? styles[key](theme) : styles[key];\n if (value == null) continue;\n\n if (!Array.isArray(value)) {\n next[key] = value;\n continue;\n }\n\n for (var i = 0; i < value.slice(0, mediaQueries.length).length; i++) {\n var media = mediaQueries[i];\n\n if (!media) {\n next[key] = value[i];\n continue;\n }\n\n next[media] = next[media] || {};\n if (value[i] == null) continue;\n next[media][key] = value[i];\n }\n }\n\n return next;\n };\n};\nexport var css = function css(args) {\n return function (props) {\n if (props === void 0) {\n props = {};\n }\n\n var theme = _extends({}, defaultTheme, {}, props.theme || props);\n\n var result = {};\n var obj = typeof args === 'function' ? args(theme) : args;\n var styles = responsive(obj)(theme);\n\n for (var key in styles) {\n var x = styles[key];\n var val = typeof x === 'function' ? x(theme) : x;\n\n if (key === 'variant') {\n var variant = css(get(theme, val))(theme);\n result = _extends({}, result, {}, variant);\n continue;\n }\n\n if (val && typeof val === 'object') {\n result[key] = css(val)(theme);\n continue;\n }\n\n var prop = get(aliases, key, key);\n var scaleName = get(scales, prop);\n var scale = get(theme, scaleName, get(theme, prop, {}));\n var transform = get(transforms, prop, get);\n var value = transform(scale, val, val);\n\n if (multiples[prop]) {\n var dirs = multiples[prop];\n\n for (var i = 0; i < dirs.length; i++) {\n result[dirs[i]] = value;\n }\n } else {\n result[prop] = value;\n }\n }\n\n return result;\n };\n};\nexport default css;\n","import { get, createParser } from '@styled-system/core';\nimport css from '@styled-system/css';\nexport var variant = function variant(_ref) {\n var _config;\n\n var scale = _ref.scale,\n _ref$prop = _ref.prop,\n prop = _ref$prop === void 0 ? 'variant' : _ref$prop,\n _ref$variants = _ref.variants,\n variants = _ref$variants === void 0 ? {} : _ref$variants,\n key = _ref.key;\n var sx;\n\n if (Object.keys(variants).length) {\n sx = function sx(value, scale, props) {\n return css(get(scale, value, null))(props.theme);\n };\n } else {\n sx = function sx(value, scale) {\n return get(scale, value, null);\n };\n }\n\n sx.scale = scale || key;\n sx.defaults = variants;\n var config = (_config = {}, _config[prop] = sx, _config);\n var parser = createParser(config);\n return parser;\n};\nexport default variant;\nexport var buttonStyle = variant({\n key: 'buttons'\n});\nexport var textStyle = variant({\n key: 'textStyles',\n prop: 'textStyle'\n});\nexport var colorStyle = variant({\n key: 'colorStyles',\n prop: 'colors'\n});\n","import { createStyleFunction, createParser } from '@styled-system/core'; // v4 api shims\n\nimport layout from '@styled-system/layout';\nimport color from '@styled-system/color';\nimport typography from '@styled-system/typography';\nimport flexbox from '@styled-system/flexbox';\nimport grid from '@styled-system/grid';\nimport border from '@styled-system/border';\nimport background from '@styled-system/background';\nimport position from '@styled-system/position';\nexport { get, createParser, createStyleFunction, compose, system } from '@styled-system/core';\nexport { margin, padding, space } from '@styled-system/space';\nexport { color } from '@styled-system/color';\nexport { layout } from '@styled-system/layout';\nexport { typography } from '@styled-system/typography';\nexport { flexbox } from '@styled-system/flexbox';\nexport { border } from '@styled-system/border';\nexport { background } from '@styled-system/background';\nexport { position } from '@styled-system/position';\nexport { grid } from '@styled-system/grid';\nexport { shadow } from '@styled-system/shadow';\nexport { default as boxShadow, default as textShadow } from '@styled-system/shadow';\nexport { variant, buttonStyle, textStyle, colorStyle } from '@styled-system/variant';\nvar width = layout.width,\n height = layout.height,\n minWidth = layout.minWidth,\n minHeight = layout.minHeight,\n maxWidth = layout.maxWidth,\n maxHeight = layout.maxHeight,\n size = layout.size,\n verticalAlign = layout.verticalAlign,\n display = layout.display,\n overflow = layout.overflow,\n overflowX = layout.overflowX,\n overflowY = layout.overflowY;\nvar opacity = color.opacity;\nvar fontSize = typography.fontSize,\n fontFamily = typography.fontFamily,\n fontWeight = typography.fontWeight,\n lineHeight = typography.lineHeight,\n textAlign = typography.textAlign,\n fontStyle = typography.fontStyle,\n letterSpacing = typography.letterSpacing;\nvar alignItems = flexbox.alignItems,\n alignContent = flexbox.alignContent,\n justifyItems = flexbox.justifyItems,\n justifyContent = flexbox.justifyContent,\n flexWrap = flexbox.flexWrap,\n flexDirection = flexbox.flexDirection,\n flex = flexbox.flex,\n flexGrow = flexbox.flexGrow,\n flexShrink = flexbox.flexShrink,\n flexBasis = flexbox.flexBasis,\n justifySelf = flexbox.justifySelf,\n alignSelf = flexbox.alignSelf,\n order = flexbox.order;\nvar gridGap = grid.gridGap,\n gridColumnGap = grid.gridColumnGap,\n gridRowGap = grid.gridRowGap,\n gridColumn = grid.gridColumn,\n gridRow = grid.gridRow,\n gridAutoFlow = grid.gridAutoFlow,\n gridAutoColumns = grid.gridAutoColumns,\n gridAutoRows = grid.gridAutoRows,\n gridTemplateColumns = grid.gridTemplateColumns,\n gridTemplateRows = grid.gridTemplateRows,\n gridTemplateAreas = grid.gridTemplateAreas,\n gridArea = grid.gridArea;\nvar borderWidth = border.borderWidth,\n borderStyle = border.borderStyle,\n borderColor = border.borderColor,\n borderTop = border.borderTop,\n borderRight = border.borderRight,\n borderBottom = border.borderBottom,\n borderLeft = border.borderLeft,\n borderRadius = border.borderRadius;\nvar backgroundImage = background.backgroundImage,\n backgroundSize = background.backgroundSize,\n backgroundPosition = background.backgroundPosition,\n backgroundRepeat = background.backgroundRepeat;\nvar zIndex = position.zIndex,\n top = position.top,\n right = position.right,\n bottom = position.bottom,\n left = position.left;\nexport { default as borders } from '@styled-system/border';\nexport { width, height, minWidth, minHeight, maxWidth, maxHeight, size, verticalAlign, display, overflow, overflowX, overflowY // color\n, opacity // typography\n, fontSize, fontFamily, fontWeight, lineHeight, textAlign, fontStyle, letterSpacing // flexbox\n, alignItems, alignContent, justifyItems, justifyContent, flexWrap, flexDirection, flex, flexGrow, flexShrink, flexBasis, justifySelf, alignSelf, order // grid\n, gridGap, gridColumnGap, gridRowGap, gridColumn, gridRow, gridAutoFlow, gridAutoColumns, gridAutoRows, gridTemplateColumns, gridTemplateRows, gridTemplateAreas, gridArea // border\n, borderWidth, borderStyle, borderColor, borderTop, borderRight, borderBottom, borderLeft, borderRadius // background\n, backgroundImage, backgroundSize, backgroundPosition, backgroundRepeat // position\n, zIndex, top, right, bottom, left }; // v4 style API shim\n\nexport var style = function style(_ref) {\n var prop = _ref.prop,\n cssProperty = _ref.cssProperty,\n alias = _ref.alias,\n key = _ref.key,\n transformValue = _ref.transformValue,\n scale = _ref.scale,\n properties = _ref.properties;\n var config = {};\n config[prop] = createStyleFunction({\n properties: properties,\n property: cssProperty || prop,\n scale: key,\n defaultScale: scale,\n transform: transformValue\n });\n if (alias) config[alias] = config[prop];\n var parse = createParser(config);\n return parse;\n};\n","import {themeGet} from '@styled-system/theme-get'\n// eslint-disable-next-line import/no-namespace\nimport * as styledSystem from 'styled-system'\nimport theme from './theme'\n\nconst {get: getKey, compose, system} = styledSystem\n\nexport const get = (key: string) => themeGet(key, getKey(theme, key))\n\n// Common props\n\nexport const COMMON = compose(styledSystem.space, styledSystem.color, styledSystem.display)\n\nexport interface SystemCommonProps\n extends styledSystem.ColorProps,\n styledSystem.SpaceProps,\n styledSystem.DisplayProps {}\n\n// Typography props\n\nconst whiteSpace = system({\n whiteSpace: {\n property: 'whiteSpace'\n // cssProperty: 'whiteSpace',\n }\n})\n\nexport const TYPOGRAPHY = compose(styledSystem.typography, whiteSpace)\n\nexport interface SystemTypographyProps extends styledSystem.TypographyProps {\n whiteSpace?: 'normal' | 'nowrap' | 'pre' | 'pre-wrap' | 'pre-line'\n}\n\n// Border props\n\nexport const BORDER = compose(styledSystem.border, styledSystem.shadow)\n\nexport interface SystemBorderProps extends styledSystem.BorderProps, styledSystem.ShadowProps {}\n\n// Layout props\n\nexport const LAYOUT = styledSystem.layout\n\nexport type SystemLayoutProps = styledSystem.LayoutProps\n\n// Position props\n\nexport const POSITION = styledSystem.position\n\nexport type SystemPositionProps = styledSystem.PositionProps\n\n// Flex props\n\nexport const FLEX = styledSystem.flexbox\n\nexport type SystemFlexProps = styledSystem.FlexboxProps\n\n// Grid props\n\nexport const GRID = styledSystem.grid\n\nexport type SystemGridProps = styledSystem.GridProps\n","import { get } from '@styled-system/core';\nexport var themeGet = function themeGet(path, fallback) {\n if (fallback === void 0) {\n fallback = null;\n }\n\n return function (props) {\n return get(props.theme, path, fallback);\n };\n};\nexport default themeGet;\n","import React from 'react'\nimport styled, {createGlobalStyle} from 'styled-components'\nimport {COMMON, SystemCommonProps, SystemTypographyProps, TYPOGRAPHY} from './constants'\nimport {ComponentProps} from './utils/types'\n\nconst GlobalStyle = createGlobalStyle`\n * { box-sizing: border-box; }\n body { margin: 0; }\n table { border-collapse: collapse; }\n \n [role=\"button\"]:focus:not(:focus-visible):not(.focus-visible),\n [role=\"tabpanel\"][tabindex=\"0\"]:focus:not(:focus-visible):not(.focus-visible),\n button:focus:not(:focus-visible):not(.focus-visible),\n summary:focus:not(:focus-visible):not(.focus-visible),\n a:focus:not(:focus-visible):not(.focus-visible) {\n outline: none;\n box-shadow: none;\n }\n\n [tabindex=\"0\"]:focus:not(:focus-visible):not(.focus-visible),\n details-dialog:focus:not(:focus-visible):not(.focus-visible) {\n outline: none;\n }\n`\n\nconst Base = styled.div<SystemTypographyProps & SystemCommonProps>`\n ${TYPOGRAPHY};\n ${COMMON};\n`\n\nexport type BaseStylesProps = ComponentProps<typeof Base>\n\nfunction BaseStyles(props: BaseStylesProps) {\n const {children, ...rest} = props\n\n // load polyfill for :focus-visible\n require('focus-visible')\n\n return (\n <Base {...rest} data-portal-root>\n <GlobalStyle />\n {children}\n </Base>\n )\n}\n\nBaseStyles.defaultProps = {\n color: 'text.primary',\n fontFamily: 'normal',\n lineHeight: 'default'\n}\n\nexport default BaseStyles\n","'use strict';\n\nvar isMergeableObject = function isMergeableObject(value) {\n\treturn isNonNullObject(value)\n\t\t&& !isSpecial(value)\n};\n\nfunction isNonNullObject(value) {\n\treturn !!value && typeof value === 'object'\n}\n\nfunction isSpecial(value) {\n\tvar stringValue = Object.prototype.toString.call(value);\n\n\treturn stringValue === '[object RegExp]'\n\t\t|| stringValue === '[object Date]'\n\t\t|| isReactElement(value)\n}\n\n// see https://github.com/facebook/react/blob/b5ac963fb791d1298e7f396236383bc955f916c1/src/isomorphic/classic/element/ReactElement.js#L21-L25\nvar canUseSymbol = typeof Symbol === 'function' && Symbol.for;\nvar REACT_ELEMENT_TYPE = canUseSymbol ? Symbol.for('react.element') : 0xeac7;\n\nfunction isReactElement(value) {\n\treturn value.$$typeof === REACT_ELEMENT_TYPE\n}\n\nfunction emptyTarget(val) {\n\treturn Array.isArray(val) ? [] : {}\n}\n\nfunction cloneUnlessOtherwiseSpecified(value, options) {\n\treturn (options.clone !== false && options.isMergeableObject(value))\n\t\t? deepmerge(emptyTarget(value), value, options)\n\t\t: value\n}\n\nfunction defaultArrayMerge(target, source, options) {\n\treturn target.concat(source).map(function(element) {\n\t\treturn cloneUnlessOtherwiseSpecified(element, options)\n\t})\n}\n\nfunction getMergeFunction(key, options) {\n\tif (!options.customMerge) {\n\t\treturn deepmerge\n\t}\n\tvar customMerge = options.customMerge(key);\n\treturn typeof customMerge === 'function' ? customMerge : deepmerge\n}\n\nfunction getEnumerableOwnPropertySymbols(target) {\n\treturn Object.getOwnPropertySymbols\n\t\t? Object.getOwnPropertySymbols(target).filter(function(symbol) {\n\t\t\treturn target.propertyIsEnumerable(symbol)\n\t\t})\n\t\t: []\n}\n\nfunction getKeys(target) {\n\treturn Object.keys(target).concat(getEnumerableOwnPropertySymbols(target))\n}\n\nfunction propertyIsOnObject(object, property) {\n\ttry {\n\t\treturn property in object\n\t} catch(_) {\n\t\treturn false\n\t}\n}\n\n// Protects from prototype poisoning and unexpected merging up the prototype chain.\nfunction propertyIsUnsafe(target, key) {\n\treturn propertyIsOnObject(target, key) // Properties are safe to merge if they don't exist in the target yet,\n\t\t&& !(Object.hasOwnProperty.call(target, key) // unsafe if they exist up the prototype chain,\n\t\t\t&& Object.propertyIsEnumerable.call(target, key)) // and also unsafe if they're nonenumerable.\n}\n\nfunction mergeObject(target, source, options) {\n\tvar destination = {};\n\tif (options.isMergeableObject(target)) {\n\t\tgetKeys(target).forEach(function(key) {\n\t\t\tdestination[key] = cloneUnlessOtherwiseSpecified(target[key], options);\n\t\t});\n\t}\n\tgetKeys(source).forEach(function(key) {\n\t\tif (propertyIsUnsafe(target, key)) {\n\t\t\treturn\n\t\t}\n\n\t\tif (propertyIsOnObject(target, key) && options.isMergeableObject(source[key])) {\n\t\t\tdestination[key] = getMergeFunction(key, options)(target[key], source[key], options);\n\t\t} else {\n\t\t\tdestination[key] = cloneUnlessOtherwiseSpecified(source[key], options);\n\t\t}\n\t});\n\treturn destination\n}\n\nfunction deepmerge(target, source, options) {\n\toptions = options || {};\n\toptions.arrayMerge = options.arrayMerge || defaultArrayMerge;\n\toptions.isMergeableObject = options.isMergeableObject || isMergeableObject;\n\t// cloneUnlessOtherwiseSpecified is added to `options` so that custom arrayMerge()\n\t// implementations can use it. The caller may not replace it.\n\toptions.cloneUnlessOtherwiseSpecified = cloneUnlessOtherwiseSpecified;\n\n\tvar sourceIsArray = Array.isArray(source);\n\tvar targetIsArray = Array.isArray(target);\n\tvar sourceAndTargetTypesMatch = sourceIsArray === targetIsArray;\n\n\tif (!sourceAndTargetTypesMatch) {\n\t\treturn cloneUnlessOtherwiseSpecified(source, options)\n\t} else if (sourceIsArray) {\n\t\treturn options.arrayMerge(target, source, options)\n\t} else {\n\t\treturn mergeObject(target, source, options)\n\t}\n}\n\ndeepmerge.all = function deepmergeAll(array, options) {\n\tif (!Array.isArray(array)) {\n\t\tthrow new Error('first argument should be an array')\n\t}\n\n\treturn array.reduce(function(prev, next) {\n\t\treturn deepmerge(prev, next, options)\n\t}, {})\n};\n\nvar deepmerge_1 = deepmerge;\n\nmodule.exports = deepmerge_1;\n","import React from 'react'\nimport {ThemeProvider as SCThemeProvider} from 'styled-components'\nimport defaultTheme from './theme'\nimport deepmerge from 'deepmerge'\n\nconst defaultColorMode = 'day'\nconst defaultDayScheme = 'light'\nconst defaultNightScheme = 'dark'\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport type Theme = {[key: string]: any}\ntype ColorMode = 'day' | 'night'\ntype ColorModeWithAuto = ColorMode | 'auto'\n\nexport type ThemeProviderProps = {\n theme?: Theme\n colorMode?: ColorModeWithAuto\n dayScheme?: string\n nightScheme?: string\n}\n\nconst ThemeContext = React.createContext<{\n theme?: Theme\n colorScheme?: string\n colorMode?: ColorModeWithAuto\n resolvedColorMode?: ColorMode\n dayScheme?: string\n nightScheme?: string\n setColorMode: React.Dispatch<React.SetStateAction<ColorModeWithAuto>>\n setDayScheme: React.Dispatch<React.SetStateAction<string>>\n setNightScheme: React.Dispatch<React.SetStateAction<string>>\n}>({\n setColorMode: () => null,\n setDayScheme: () => null,\n setNightScheme: () => null\n})\n\nexport const ThemeProvider: React.FC<ThemeProviderProps> = ({children, ...props}) => {\n // Get fallback values from parent ThemeProvider (if exists)\n const {\n theme: fallbackTheme,\n colorMode: fallbackColorMode,\n dayScheme: fallbackDayScheme,\n nightScheme: fallbackNightScheme\n } = useTheme()\n\n // Initialize state\n const theme = props.theme ?? fallbackTheme ?? defaultTheme\n const [colorMode, setColorMode] = React.useState(props.colorMode ?? fallbackColorMode ?? defaultColorMode)\n const [dayScheme, setDayScheme] = React.useState(props.dayScheme ?? fallbackDayScheme ?? defaultDayScheme)\n const [nightScheme, setNightScheme] = React.useState(props.nightScheme ?? fallbackNightScheme ?? defaultNightScheme)\n const systemColorMode = useSystemColorMode()\n const resolvedColorMode = resolveColorMode(colorMode, systemColorMode)\n const colorScheme = chooseColorScheme(resolvedColorMode, dayScheme, nightScheme)\n const resolvedTheme = React.useMemo(() => applyColorScheme(theme, colorScheme), [theme, colorScheme])\n\n // Update state if props change\n React.useEffect(() => {\n setColorMode(props.colorMode ?? fallbackColorMode ?? defaultColorMode)\n }, [props.colorMode, fallbackColorMode])\n\n React.useEffect(() => {\n setDayScheme(props.dayScheme ?? fallbackDayScheme ?? defaultDayScheme)\n }, [props.dayScheme, fallbackDayScheme])\n\n React.useEffect(() => {\n setNightScheme(props.nightScheme ?? fallbackNightScheme ?? defaultNightScheme)\n }, [props.nightScheme, fallbackNightScheme])\n\n return (\n <ThemeContext.Provider\n value={{\n theme: resolvedTheme,\n colorScheme,\n colorMode,\n resolvedColorMode,\n dayScheme,\n nightScheme,\n setColorMode,\n setDayScheme,\n setNightScheme\n }}\n >\n <SCThemeProvider theme={resolvedTheme}>{children}</SCThemeProvider>\n </ThemeContext.Provider>\n )\n}\n\nexport function useTheme() {\n return React.useContext(ThemeContext)\n}\n\nexport function useColorSchemeVar(values: Partial<Record<string, string>>, fallback: string) {\n const {colorScheme = ''} = useTheme()\n return values[colorScheme] ?? fallback\n}\n\nfunction useSystemColorMode() {\n const [systemColorMode, setSystemColorMode] = React.useState(getSystemColorMode)\n\n React.useEffect(() => {\n // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition\n const media = window?.matchMedia?.('(prefers-color-scheme: dark)')\n\n function handleChange(event: MediaQueryListEvent) {\n const isNight = event.matches\n setSystemColorMode(isNight ? 'night' : 'day')\n }\n\n // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition\n if (media) {\n // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition\n if (media.addEventListener !== undefined) {\n media.addEventListener('change', handleChange)\n return function cleanup() {\n media.removeEventListener('change', handleChange)\n }\n }\n // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition\n else if (media.addListener !== undefined) {\n media.addListener(handleChange)\n return function cleanup() {\n media.removeListener(handleChange)\n }\n }\n }\n }, [])\n\n return systemColorMode\n}\n\nfunction getSystemColorMode(): ColorMode {\n // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition\n if (typeof window !== 'undefined' && window.matchMedia?.('(prefers-color-scheme: dark)')?.matches) {\n return 'night'\n }\n\n return 'day'\n}\n\nfunction resolveColorMode(colorMode: ColorModeWithAuto, systemColorMode: ColorMode) {\n switch (colorMode) {\n case 'auto':\n return systemColorMode\n default:\n return colorMode\n }\n}\n\nfunction chooseColorScheme(colorMode: ColorMode, dayScheme: string, nightScheme: string) {\n switch (colorMode) {\n case 'day':\n return dayScheme\n case 'night':\n return nightScheme\n }\n}\n\nfunction applyColorScheme(theme: Theme, colorScheme: string) {\n if (!theme.colorSchemes) {\n return theme\n }\n\n if (!theme.colorSchemes[colorScheme]) {\n // eslint-disable-next-line no-console\n console.error(`\\`${colorScheme}\\` scheme not defined in \\`theme.colorSchemes\\``)\n\n // Apply the first defined color scheme\n const defaultColorScheme = Object.keys(theme.colorSchemes)[0]\n return deepmerge(theme, theme.colorSchemes[defaultColorScheme])\n }\n\n return deepmerge(theme, theme.colorSchemes[colorScheme])\n}\n\nexport default ThemeProvider\n","import css, {SystemStyleObject} from '@styled-system/css'\n\nexport interface SxProp {\n sx?: SystemStyleObject\n}\n\nconst sx = (props: SxProp) => css(props.sx)\n\nexport default sx\n","import styled from 'styled-components'\nimport {\n background,\n BackgroundProps,\n border,\n BorderProps,\n color,\n ColorProps,\n flexbox,\n FlexboxProps,\n grid,\n GridProps,\n layout,\n LayoutProps,\n position,\n PositionProps,\n shadow,\n ShadowProps,\n space,\n SpaceProps,\n typography,\n TypographyProps\n} from 'styled-system'\nimport sx, {SxProp} from './sx'\nimport {ComponentProps} from './utils/types'\n\ntype StyledBoxProps = SpaceProps &\n ColorProps &\n TypographyProps &\n LayoutProps &\n FlexboxProps &\n GridProps &\n BackgroundProps &\n BorderProps &\n PositionProps &\n ShadowProps &\n SxProp\n\nconst Box = styled.div<StyledBoxProps>(\n space,\n color,\n typography,\n layout,\n flexbox,\n grid,\n background,\n border,\n position,\n shadow,\n sx\n)\n\nexport type BoxProps = ComponentProps<typeof Box>\nexport default Box\n","import styled from 'styled-components'\nimport Box, {BoxProps} from './Box'\n\nexport type BorderBoxProps = BoxProps\n\n/**\n * @deprecated Use the Box component instead (i.e. <BorderBox> → <Box borderWidth='1px' borderStyle='solid' borderColor='border.primary' borderRadius={2}>)\n */\nconst BorderBox = styled(Box)``\n\nBorderBox.defaultProps = {\n borderWidth: '1px',\n borderStyle: 'solid',\n borderColor: 'border.primary',\n borderRadius: 2\n}\n\nexport default BorderBox\n","import styled from 'styled-components'\nimport Box, {BoxProps} from './Box'\n\nexport type FlexProps = BoxProps\n\n/**\n * @deprecated Use the Box component instead (i.e. <Flex> → <Box display=\"flex\">)\n */\nconst Flex = styled(Box)``\n\nFlex.defaultProps = {\n display: 'flex'\n}\n\nexport default Flex\n","import styled from 'styled-components'\nimport Box, {BoxProps} from './Box'\n\nexport type GridProps = BoxProps\n\n/**\n * @deprecated Use the Box component instead (i.e. <Grid> → <Box display=\"grid\">)\n */\nconst Grid = styled(Box)``\n\nGrid.defaultProps = {\n display: 'grid'\n}\n\nexport default Grid\n","import React from 'react'\nimport styled from 'styled-components'\nimport Box from './Box'\nimport {ComponentProps} from './utils/types'\n\ntype StyledPositionProps = {as?: React.ElementType}\n\n/**\n * @deprecated Use the Box component instead (i.e. <Position> → <Box>)\n */\nconst Position = styled(Box)<StyledPositionProps>``\n\nexport type PositionProps = ComponentProps<typeof Position>\n\n/**\n * @deprecated Use the Box component instead (i.e. <Absolute> → <Box position=\"absolute\">)\n */\nexport default Position\n\n// Absolute\nexport type AbsoluteProps = Omit<PositionProps, 'position'>\n\n/**\n * @deprecated Use the Box component instead (i.e. <Absolute> → <Box position=\"absolute\">)\n */\nexport const Absolute = React.forwardRef((props: AbsoluteProps, ref) => {\n return <Position {...props} position=\"absolute\" ref={ref} />\n})\nAbsolute.displayName = 'Absolute'\n\n// Fixed\nexport type FixedProps = Omit<PositionProps, 'position'>\n\n/**\n * @deprecated Use the Box component instead (i.e. <Fixed> → <Box position=\"fixed\">)\n */\nexport const Fixed = React.forwardRef((props: AbsoluteProps, ref) => {\n return <Position {...props} position=\"fixed\" ref={ref} />\n})\nFixed.displayName = 'Fixed'\n\n// Relative\nexport type RelativeProps = Omit<PositionProps, 'position'>\n\n/**\n * @deprecated Use the Box component instead (i.e. <Relative> → <Box position=\"relative\">)\n */\nexport const Relative = React.forwardRef((props: RelativeProps, ref) => {\n return <Position {...props} position=\"relative\" ref={ref} />\n})\nRelative.displayName = 'Relative'\n\n// Sticky\nexport type StickyProps = Omit<PositionProps, 'position'>\n\n/**\n * @deprecated Use the Box component instead (i.e. <Sticky> → <Box position=\"sticky\">)\n */\nexport const Sticky = React.forwardRef((props: StickyProps, ref) => {\n return <Position {...props} position=\"sticky\" ref={ref} />\n})\nSticky.defaultProps = {top: 0, zIndex: 1}\nSticky.displayName = 'Sticky'\n","import {useCallback, useEffect, useState, useRef} from 'react'\n\ntype UseDetailsParameters = {\n ref?: React.RefObject<HTMLElement>\n closeOnOutsideClick?: boolean\n defaultOpen?: boolean\n onClickOutside?: (event: MouseEvent) => void\n}\n\nfunction useDetails({ref, closeOnOutsideClick, defaultOpen, onClickOutside}: UseDetailsParameters) {\n const [open, setOpen] = useState(defaultOpen)\n const backupRef = useRef(null)\n const customRef = ref ?? backupRef\n\n const onClickOutsideInternal = useCallback(\n (event: MouseEvent) => {\n const {current} = customRef\n const eventTarget = event.target as HTMLElement\n const closest = eventTarget.closest('details') as HTMLDetailsElement\n if (closest !== current) {\n onClickOutside && onClickOutside(event)\n if (!event.defaultPrevented) {\n setOpen(false)\n }\n }\n },\n [customRef, setOpen, onClickOutside]\n )\n\n // handles the overlay behavior - closing the menu when clicking outside of it\n useEffect(() => {\n if (open && closeOnOutsideClick) {\n document.addEventListener('click', onClickOutsideInternal)\n return () => {\n document.removeEventListener('click', onClickOutsideInternal)\n }\n }\n }, [open, closeOnOutsideClick, onClickOutsideInternal])\n\n const handleToggle = (e: React.SyntheticEvent<HTMLElement, Event>) => {\n if (!e.defaultPrevented) {\n const eventTarget = e.target as HTMLDetailsElement\n setOpen(eventTarget.open)\n }\n }\n\n const getDetailsProps = () => {\n return {onToggle: handleToggle, open, ref: customRef}\n }\n\n return {open, setOpen, getDetailsProps}\n}\n\nexport default useDetails\n","import React, {useEffect, useCallback, useMemo} from 'react'\n\nexport type TouchOrMouseEvent = MouseEvent | TouchEvent\ntype TouchOrMouseEventCallback = (event: TouchOrMouseEvent) => boolean | undefined\n\nexport type UseOnOutsideClickSettings = {\n containerRef: React.RefObject<HTMLDivElement>\n ignoreClickRefs?: React.RefObject<HTMLElement>[]\n onClickOutside: (e: TouchOrMouseEvent) => void\n}\n\n// Because events are handled at the document level, we provide a mechanism for early return.\nconst stopPropagation = true\n\n/**\n * Calls all handlers in reverse order\n * @param event The MouseEvent generated by the click event.\n */\nfunction handleClick(event: MouseEvent) {\n if (!event.defaultPrevented) {\n for (const handler of Object.values(registry).reverse()) {\n // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition\n if (handler(event) === stopPropagation || event.defaultPrevented) {\n break\n }\n }\n }\n}\n\nconst registry: {[id: number]: TouchOrMouseEventCallback} = {}\n\nfunction register(id: number, handler: TouchOrMouseEventCallback): void {\n registry[id] = handler\n}\n\nfunction deregister(id: number) {\n delete registry[id]\n}\n\n// For auto-incrementing unique identifiers for registered handlers.\nlet handlerId = 0\n\nexport const useOnOutsideClick = ({containerRef, ignoreClickRefs, onClickOutside}: UseOnOutsideClickSettings) => {\n const id = useMemo(() => handlerId++, [])\n\n const handler = useCallback<TouchOrMouseEventCallback>(\n event => {\n // don't call click handler if the mouse event was triggered by an auxiliary button (right click/wheel button/etc)\n if (event instanceof MouseEvent && event.button > 0) {\n return stopPropagation\n }\n\n // don't call handler if the click happened inside of the container\n if (containerRef.current?.contains(event.target as Node)) {\n return stopPropagation\n }\n\n // don't call handler if click happened on an ignored ref\n if (ignoreClickRefs && ignoreClickRefs.some(({current}) => current?.contains(event.target as Node))) {\n return stopPropagation\n }\n\n onClickOutside(event)\n },\n [containerRef, ignoreClickRefs, onClickOutside]\n )\n\n useEffect(() => {\n if (Object.keys(registry).length === 0) {\n // use capture to ensure we get all events\n document.addEventListener('mousedown', handleClick, {capture: true})\n }\n register(id, handler)\n\n return () => {\n deregister(id)\n if (Object.keys(registry).length === 0) {\n document.removeEventListener('mousedown', handleClick, {capture: true})\n }\n }\n }, [id, handler])\n}\n","/**\n * Options to the focusable elements iterator\n */\nexport interface IterateFocusableElements {\n /**\n * (Default: false) Iterate through focusable elements in reverse-order\n */\n reverse?: boolean\n\n /**\n * (Default: false) Perform additional checks to determine tabbability\n * which may adversely affect app performance.\n */\n strict?: boolean\n\n /**\n * (Default: false) Only iterate tabbable elements, which is the subset\n * of focusable elements that are part of the page's tab sequence.\n */\n onlyTabbable?: boolean\n}\n\n/**\n * Returns an iterator over all of the focusable elements within `container`.\n * Note: If `container` is itself focusable it will be included in the results.\n * @param container The container over which to find focusable elements.\n * @param reverse If true, iterate backwards through focusable elements.\n */\nexport function* iterateFocusableElements(\n container: HTMLElement,\n options: IterateFocusableElements = {}\n): Generator<HTMLElement, undefined, undefined> {\n const strict = options.strict ?? false\n const acceptFn = options.onlyTabbable ?? false ? isTabbable : isFocusable\n const walker = document.createTreeWalker(container, NodeFilter.SHOW_ELEMENT, {\n acceptNode: node =>\n node instanceof HTMLElement && acceptFn(node, strict) ? NodeFilter.FILTER_ACCEPT : NodeFilter.FILTER_SKIP\n })\n let nextNode: Node | null = null\n\n // Allow the container to participate\n if (!options.reverse && acceptFn(container, strict)) {\n yield container\n }\n\n // If iterating in reverse, continue traversing down into the last child until we reach\n // a leaf DOM node\n if (options.reverse) {\n let lastChild = walker.lastChild()\n while (lastChild) {\n nextNode = lastChild\n lastChild = walker.lastChild()\n }\n } else {\n nextNode = walker.firstChild()\n }\n while (nextNode instanceof HTMLElement) {\n yield nextNode\n nextNode = options.reverse ? walker.previousNode() : walker.nextNode()\n }\n\n // Allow the container to participate (in reverse)\n if (options.reverse && acceptFn(container, strict)) {\n yield container\n }\n\n return undefined\n}\n\n/**\n * Determines whether the given element is focusable. If `strict` is true, we may\n * perform additional checks that require a reflow (less performant).\n * @param elem\n * @param strict\n */\nexport function isFocusable(elem: HTMLElement, strict = false): boolean {\n // Certain conditions cause an element to never be focusable, even if they have tabindex=\"0\"\n const disabledAttrInert =\n ['BUTTON', 'INPUT', 'SELECT', 'TEXTAREA', 'OPTGROUP', 'OPTION', 'FIELDSET'].includes(elem.tagName) &&\n (elem as HTMLElement & {disabled: boolean}).disabled\n const hiddenInert = elem.hidden\n const hiddenInputInert = elem instanceof HTMLInputElement && elem.type === 'hidden'\n if (disabledAttrInert || hiddenInert || hiddenInputInert) {\n return false\n }\n\n // Each of the conditions checked below require a reflow, thus are gated by the `strict`\n // argument. If any are true, the element is not focusable, even if tabindex is set.\n if (strict) {\n const sizeInert = elem.offsetWidth === 0 || elem.offsetHeight === 0\n const visibilityInert = ['hidden', 'collapse'].includes(getComputedStyle(elem).visibility)\n const clientRectsInert = elem.getClientRects().length === 0\n if (sizeInert || visibilityInert || clientRectsInert) {\n return false\n }\n }\n\n // Any element with `tabindex` explicitly set can be focusable, even if it's set to \"-1\"\n if (elem.getAttribute('tabindex') != null) {\n return true\n }\n\n // One last way `elem.tabIndex` can be wrong.\n if (elem instanceof HTMLAnchorElement && elem.getAttribute('href') == null) {\n return false\n }\n\n return elem.tabIndex !== -1\n}\n\n/**\n * Determines whether the given element is tabbable. If `strict` is true, we may\n * perform additional checks that require a reflow (less performant). This check\n * ensures that the element is focusable and that its tabindex is not explicitly\n * set to \"-1\" (which makes it focusable, but removes it from the tab order).\n * @param elem\n * @param strict\n */\nexport function isTabbable(elem: HTMLElement, strict = false): boolean {\n return isFocusable(elem, strict) && elem.getAttribute('tabindex') !== '-1'\n}\n","import React, {useEffect} from 'react'\nimport {iterateFocusableElements} from '../utils/iterateFocusableElements'\n\nexport type UseOpenAndCloseFocusSettings = {\n initialFocusRef?: React.RefObject<HTMLElement>\n containerRef: React.RefObject<HTMLElement>\n returnFocusRef: React.RefObject<HTMLElement>\n}\n\nexport function useOpenAndCloseFocus({\n initialFocusRef,\n returnFocusRef,\n containerRef\n}: UseOpenAndCloseFocusSettings): void {\n useEffect(() => {\n const returnRef = returnFocusRef.current\n if (initialFocusRef && initialFocusRef.current) {\n initialFocusRef.current.focus()\n } else if (containerRef.current) {\n const firstItem = iterateFocusableElements(containerRef.current).next().value\n firstItem?.focus()\n }\n return function () {\n returnRef?.focus()\n }\n }, [initialFocusRef, returnFocusRef, containerRef])\n}\n","import {useEffect, useCallback} from 'react'\n\nconst handlers: ((e: KeyboardEvent) => void)[] = []\n\n/**\n * Calls all handlers in reverse order\n * @param event The KeyboardEvent generated by the Escape keydown.\n */\nfunction handleEscape(event: KeyboardEvent) {\n if (event.key === 'Escape' && !event.defaultPrevented) {\n for (let i = handlers.length - 1; i >= 0; --i) {\n handlers[i](event)\n // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition\n if (event.defaultPrevented) {\n break\n }\n }\n }\n}\n\n/**\n * Sets up a `keydown` listener on `window.document`. If\n * 1) The pressed key is \"Escape\", and\n * 2) The event has not had `.preventDefault()` called\n * The given callback will be executed.\n *\n * Note: If multiple `useOnEscapePress` hooks are active simultaneously, the\n * callbacks will occur in reverse order. In other words, if a parent component\n * and a child component both call `useOnEscapePress`, when the user presses\n * Escape, the child component's callback will execute, followed by the parent's\n * callback. Each callback has the chance to call `.preventDefault()` on the\n * event to prevent further callbacks.\n *\n * @param callback {(e: KeyboardEvent) => void} The callback that gets executed\n * when the Escape key is pressed. The KeyboardEvent generated by the Escape\n * keypress is passed as the only argument.\n *\n * @param callbackDependencies {React.DependencyList} The dependencies of the given\n * `onEscape` callback for memoization. Omit this param if the callback is already\n * memoized. See `React.useCallback` for more info on memoization.\n */\nexport const useOnEscapePress = (\n onEscape: (e: KeyboardEvent) => void,\n callbackDependencies: React.DependencyList = [onEscape]\n): void => {\n // eslint-disable-next-line react-hooks/exhaustive-deps\n const escapeCallback = useCallback(onEscape, callbackDependencies)\n useEffect(() => {\n if (handlers.length === 0) {\n document.addEventListener('keydown', handleEscape)\n }\n handlers.push(escapeCallback)\n return () => {\n handlers.splice(\n handlers.findIndex(h => h === escapeCallback),\n 1\n )\n if (handlers.length === 0) {\n document.removeEventListener('keydown', handleEscape)\n }\n }\n }, [escapeCallback])\n}\n","import React from 'react'\n\n/**\n * There are some situations where we only want to create a new ref if one is not provided to a component\n * or hook as a prop. However, due to the `rules-of-hooks`, we cannot conditionally make a call to `React.useRef`\n * only in the situations where the ref is not provided as a prop.\n * This hook aims to encapsulate that logic, so the consumer doesn't need to be concerned with violating `rules-of-hooks`.\n * @param providedRef The ref to use - if undefined, will use the ref from a call to React.useRef\n * @type TRef The type of the RefObject which should be created.\n */\nexport function useProvidedRefOrCreate<TRef>(providedRef?: React.RefObject<TRef>): React.RefObject<TRef> {\n const createdRef = React.useRef<TRef>(null)\n return providedRef ?? createdRef\n}\n","import {useOnOutsideClick, TouchOrMouseEvent} from './useOnOutsideClick'\nimport {useOpenAndCloseFocus} from './useOpenAndCloseFocus'\nimport {useOnEscapePress} from './useOnEscapePress'\nimport {useProvidedRefOrCreate} from './useProvidedRefOrCreate'\n\nexport type UseOverlaySettings = {\n ignoreClickRefs?: React.RefObject<HTMLElement>[]\n initialFocusRef?: React.RefObject<HTMLElement>\n returnFocusRef: React.RefObject<HTMLElement>\n onEscape: (e: KeyboardEvent) => void\n onClickOutside: (e: TouchOrMouseEvent) => void\n overlayRef?: React.RefObject<HTMLDivElement>\n}\n\nexport type OverlayReturnProps = {\n ref: React.RefObject<HTMLDivElement>\n}\n\nexport const useOverlay = ({\n overlayRef: _overlayRef,\n returnFocusRef,\n initialFocusRef,\n onEscape,\n ignoreClickRefs,\n onClickOutside\n}: UseOverlaySettings): OverlayReturnProps => {\n const overlayRef = useProvidedRefOrCreate<HTMLDivElement>(_overlayRef)\n useOpenAndCloseFocus({containerRef: overlayRef, returnFocusRef, initialFocusRef})\n useOnOutsideClick({containerRef: overlayRef, ignoreClickRefs, onClickOutside})\n useOnEscapePress(onEscape)\n return {ref: overlayRef}\n}\n","/*\n\nThis file polyfills the following: https://github.com/whatwg/dom/issues/911\nOnce all targeted browsers support this DOM feature, this polyfill can be deleted.\n\nThis allows users to pass an AbortSignal to a call to addEventListener as part of the\nAddEventListenerOptions object. When the signal is aborted, the event listener is\nremoved.\n\n*/\n\nlet signalSupported = false\n// eslint-disable-next-line @typescript-eslint/no-empty-function\nfunction noop() {}\ntry {\n const options = Object.create(\n {},\n {\n signal: {\n get() {\n signalSupported = true\n }\n }\n }\n )\n window.addEventListener('test', noop, options)\n window.removeEventListener('test', noop, options)\n} catch (e) {\n /* */\n}\nfunction featureSupported(): boolean {\n return signalSupported\n}\n\nfunction monkeyPatch() {\n if (typeof window === 'undefined') {\n return\n }\n\n const originalAddEventListener = EventTarget.prototype.addEventListener\n EventTarget.prototype.addEventListener = function (name, originalCallback, optionsOrCapture) {\n if (\n typeof optionsOrCapture === 'object' &&\n 'signal' in optionsOrCapture &&\n optionsOrCapture.signal instanceof AbortSignal\n ) {\n originalAddEventListener.call(optionsOrCapture.signal, 'abort', () => {\n this.removeEventListener(name, originalCallback, optionsOrCapture)\n })\n }\n return originalAddEventListener.call(this, name, originalCallback, optionsOrCapture)\n }\n}\n\nexport function polyfill(): void {\n if (!featureSupported()) {\n monkeyPatch()\n signalSupported = true\n }\n}\n\ndeclare global {\n interface AddEventListenerOptions {\n signal?: AbortSignal\n }\n}\n","let isMac: boolean | undefined = undefined\nexport function isMacOS(): boolean {\n if (isMac === undefined) {\n isMac = /^mac/i.test(window.navigator.platform)\n }\n return isMac\n}\n","let idSeed = 10000\nexport function uniqueId(): string {\n return `__primer_id_${idSeed++}`\n}\n","import {iterateFocusableElements} from '../utils/iterateFocusableElements'\nimport {polyfill as eventListenerSignalPolyfill} from '../polyfills/eventListenerSignal'\nimport {isMacOS} from '../utils/userAgent'\nimport {uniqueId} from '../utils/uniqueId'\n\neventListenerSignalPolyfill()\n\nexport type Direction = 'previous' | 'next' | 'start' | 'end'\n\nexport type FocusMovementKeys =\n | 'ArrowLeft'\n | 'ArrowDown'\n | 'ArrowUp'\n | 'ArrowRight'\n | 'h'\n | 'j'\n | 'k'\n | 'l'\n | 'a'\n | 's'\n | 'w'\n | 'd'\n | 'Tab'\n | 'Home'\n | 'End'\n | 'PageUp'\n | 'PageDown'\n\n// eslint-disable-next-line no-shadow\nexport enum FocusKeys {\n // Left and right arrow keys (previous and next, respectively)\n ArrowHorizontal = 0b000000001,\n\n // Up and down arrow keys (previous and next, respectively)\n ArrowVertical = 0b000000010,\n\n // The \"J\" and \"K\" keys (next and previous, respectively)\n JK = 0b000000100,\n\n // The \"H\" and \"L\" keys (previous and next, respectively)\n HL = 0b000001000,\n\n // The Home and End keys (previous and next, respectively, to end)\n HomeAndEnd = 0b000010000,\n\n // The PgUp and PgDn keys (previous and next, respectively, to end)\n PageUpDown = 0b100000000,\n\n // The \"W\" and \"S\" keys (previous and next, respectively)\n WS = 0b000100000,\n\n // The \"A\" and \"D\" keys (previous and next, respectively)\n AD = 0b001000000,\n\n // The Tab key (next)\n Tab = 0b010000000,\n\n ArrowAll = FocusKeys.ArrowHorizontal | FocusKeys.ArrowVertical,\n HJKL = FocusKeys.HL | FocusKeys.JK,\n WASD = FocusKeys.WS | FocusKeys.AD,\n All = FocusKeys.ArrowAll |\n FocusKeys.HJKL |\n FocusKeys.HomeAndEnd |\n FocusKeys.PageUpDown |\n FocusKeys.WASD |\n FocusKeys.Tab\n}\n\nconst KEY_TO_BIT = {\n ArrowLeft: FocusKeys.ArrowHorizontal,\n ArrowDown: FocusKeys.ArrowVertical,\n ArrowUp: FocusKeys.ArrowVertical,\n ArrowRight: FocusKeys.ArrowHorizontal,\n h: FocusKeys.HL,\n j: FocusKeys.JK,\n k: FocusKeys.JK,\n l: FocusKeys.HL,\n a: FocusKeys.AD,\n s: FocusKeys.WS,\n w: FocusKeys.WS,\n d: FocusKeys.AD,\n Tab: FocusKeys.Tab,\n Home: FocusKeys.HomeAndEnd,\n End: FocusKeys.HomeAndEnd,\n PageUp: FocusKeys.PageUpDown,\n PageDown: FocusKeys.PageUpDown\n} as {[k in FocusMovementKeys]: FocusKeys}\n\nconst KEY_TO_DIRECTION = {\n ArrowLeft: 'previous',\n ArrowDown: 'next',\n ArrowUp: 'previous',\n ArrowRight: 'next',\n h: 'previous',\n j: 'next',\n k: 'previous',\n l: 'next',\n a: 'previous',\n s: 'next',\n w: 'previous',\n d: 'next',\n Tab: 'next',\n Home: 'start',\n End: 'end',\n PageUp: 'start',\n PageDown: 'end'\n} as {[k in FocusMovementKeys]: Direction}\n\n/**\n * Options that control the behavior of the arrow focus behavior.\n */\nexport interface FocusZoneSettings {\n /**\n * Choose the behavior applied in cases where focus is currently at either the first or\n * last element of the container.\n *\n * \"stop\" - do nothing and keep focus where it was\n * \"wrap\" - wrap focus around to the first element from the last, or the last element from the first\n *\n * Default: \"stop\"\n */\n focusOutBehavior?: 'stop' | 'wrap'\n\n /**\n * If set, this will be called to get the next focusable element. If this function\n * returns null, we will try to determine the next direction ourselves. Use the\n * `bindKeys` option to customize which keys are listened to.\n *\n * The function can accept a Direction, indicating the direction focus should move,\n * the HTMLElement that was previously focused, and lastly the `KeyboardEvent` object\n * created by the original `\"keydown\"` event.\n */\n getNextFocusable?: (direction: Direction, from: Element | undefined, event: KeyboardEvent) => HTMLElement | undefined\n\n /**\n * Called to decide if a focusable element is allowed to participate in the arrow\n * key focus behavior.\n *\n * By default, all focusable elements within the given container will participate\n * in the arrow key focus behavior. If you need to withhold some elements from\n * participation, implement this callback to return false for those elements.\n */\n focusableElementFilter?: (element: HTMLElement) => boolean\n\n /**\n * Bit flags that identify keys that will be bound to. Each available key either\n * moves focus to the \"next\" element or the \"previous\" element, so it is best\n * to only bind the keys that make sense to move focus in your UI. Use the `FocusKeys`\n * object to discover supported keys.\n *\n * Use the bitwise \"OR\" operator (`|`) to combine key types. For example,\n * `FocusKeys.WASD | FocusKeys.HJKL` represents all of W, A, S, D, H, J, K, and L.\n *\n * A note on FocusKeys.PageUpDown: This behavior does not support paging, so by default\n * using these keys will result in the same behavior as Home and End. To override this\n * behavior, implement `getNextFocusable`.\n *\n * The default for this setting is `FocusKeys.ArrowVertical | FocusKeys.HomeAndEnd`, unless\n * `getNextFocusable` is provided, in which case `FocusKeys.ArrowAll | FocusKeys.HomeAndEnd`\n * is used as the default.\n */\n bindKeys?: FocusKeys\n\n /**\n * If provided, this signal can be used to disable the behavior and remove any\n * event listeners.\n */\n abortSignal?: AbortSignal\n\n /**\n * If `activeDescendantControl` is supplied, do not move focus or alter `tabindex` on\n * any element. Instead, manage `aria-activedescendant` according to the ARIA best\n * practices guidelines.\n * @see https://www.w3.org/TR/wai-aria-practices-1.1/#kbd_focus_activedescendant\n *\n * The given `activeDescendantControl` will be given an `aria-controls` attribute that\n * references the ID of the `container`. Additionally, it will be given an\n * `aria-activedescendant` attribute that references the ID of the currently-active\n * descendant.\n *\n * This element will retain DOM focus as arrow keys are pressed.\n */\n activeDescendantControl?: HTMLElement\n\n /**\n * Called each time the active descendant changes. Note that either of the parameters\n * may be undefined, e.g. when an element in the container first becomes active, or\n * when the controlling element becomes unfocused.\n */\n onActiveDescendantChanged?: (\n newActiveDescendant: HTMLElement | undefined,\n previousActiveDescendant: HTMLElement | undefined,\n directlyActivated: boolean\n ) => void\n\n /**\n * This option allows customization of the behavior that determines which of the\n * focusable elements should be focused when focus enters the container via the Tab key.\n *\n * When set to \"first\", whenever focus enters the container via Tab, we will focus the\n * first focusable element. When set to \"previous\", the most recently focused element\n * will be focused (fallback to first if there was no previous).\n *\n * The \"closest\" strategy works like \"first\", except either the first or the last element\n * of the container will be focused, depending on the direction from which focus comes.\n *\n * If a function is provided, this function should return the HTMLElement intended\n * to receive focus. This is useful if you want to focus the currently \"selected\"\n * item or element.\n *\n * Default: \"previous\"\n *\n * For more information, @see https://www.w3.org/TR/wai-aria-practices-1.1/#kbd_general_within\n */\n focusInStrategy?: 'first' | 'closest' | 'previous' | ((previousFocusedElement: Element) => HTMLElement | undefined)\n}\n\nfunction getDirection(keyboardEvent: KeyboardEvent) {\n const direction = KEY_TO_DIRECTION[keyboardEvent.key as keyof typeof KEY_TO_DIRECTION]\n if (keyboardEvent.key === 'Tab' && keyboardEvent.shiftKey) {\n return 'previous'\n }\n const isMac = isMacOS()\n if ((isMac && keyboardEvent.metaKey) || (!isMac && keyboardEvent.ctrlKey)) {\n if (keyboardEvent.key === 'ArrowLeft' || keyboardEvent.key === 'ArrowUp') {\n return 'start'\n } else if (keyboardEvent.key === 'ArrowRight' || keyboardEvent.key === 'ArrowDown') {\n return 'end'\n }\n }\n return direction\n}\n\n/**\n * There are some situations where we do not want various keys to affect focus. This function\n * checks for those situations.\n * 1. Home and End should not move focus when a text input or textarea is active\n * 2. Keys that would normally type characters into an input or navigate a select element should be ignored\n * 3. The down arrow sometimes should not move focus when a select is active since that sometimes invokes the dropdown\n * 4. Page Up and Page Down within a textarea should not have any effect\n * 5. When in a text input or textarea, left should only move focus if the cursor is at the beginning of the input\n * 6. When in a text input or textarea, right should only move focus if the cursor is at the end of the input\n * 7. When in a textarea, up and down should only move focus if cursor is at the beginning or end, respectively.\n * @param keyboardEvent\n * @param activeElement\n */\nfunction shouldIgnoreFocusHandling(keyboardEvent: KeyboardEvent, activeElement: Element | null) {\n const key = keyboardEvent.key\n\n // Get the number of characters in `key`, accounting for double-wide UTF-16 chars. If keyLength\n // is 1, we can assume it's a \"printable\" character. Otherwise it's likely a control character.\n // One exception is the Tab key, which is technically printable, but browsers generally assign\n // its function to move focus rather than type a <TAB> character.\n const keyLength = [...key].length\n\n const isTextInput =\n (activeElement instanceof HTMLInputElement && activeElement.type === 'text') ||\n activeElement instanceof HTMLTextAreaElement\n\n // If we would normally type a character into an input, ignore\n // Also, Home and End keys should never affect focus when in a text input\n if (isTextInput && (keyLength === 1 || key === 'Home' || key === 'End')) {\n return true\n }\n\n // Some situations we want to ignore with <select> elements\n if (activeElement instanceof HTMLSelectElement) {\n // Regular typeable characters change the selection, so ignore those\n if (keyLength === 1) {\n return true\n }\n // On macOS, bare ArrowDown opens the select, so ignore that\n if (key === 'ArrowDown' && isMacOS() && !keyboardEvent.metaKey) {\n return true\n }\n // On other platforms, Alt+ArrowDown opens the select, so ignore that\n if (key === 'ArrowDown' && !isMacOS() && keyboardEvent.altKey) {\n return true\n }\n }\n\n // Ignore page up and page down for textareas\n if (activeElement instanceof HTMLTextAreaElement && (key === 'PageUp' || key === 'PageDown')) {\n return true\n }\n\n if (isTextInput) {\n const textInput = activeElement as HTMLInputElement | HTMLTextAreaElement\n const cursorAtStart = textInput.selectionStart === 0 && textInput.selectionEnd === 0\n const cursorAtEnd =\n textInput.selectionStart === textInput.value.length && textInput.selectionEnd === textInput.value.length\n\n // When in a text area or text input, only move focus left/right if at beginning/end of the field\n if (key === 'ArrowLeft' && !cursorAtStart) {\n return true\n }\n if (key === 'ArrowRight' && !cursorAtEnd) {\n return true\n }\n\n // When in a text area, only move focus up/down if at beginning/end of the field\n if (textInput instanceof HTMLTextAreaElement) {\n if (key === 'ArrowUp' && !cursorAtStart) {\n return true\n }\n if (key === 'ArrowDown' && !cursorAtEnd) {\n return true\n }\n }\n }\n\n return false\n}\n\nexport const isActiveDescendantAttribute = 'data-is-active-descendant'\n/**\n * A value of activated-directly for data-is-active-descendant indicates the descendant was activated\n * by a manual user interaction with intent to move active descendant. This usually translates to the\n * user pressing one of the bound keys (up/down arrow, etc) to move through the focus zone. This is\n * intended to be roughly equivalent to the :focus-visible pseudo-class\n **/\nexport const activeDescendantActivatedDirectly = 'activated-directly'\n/**\n * A value of activated-indirectly for data-is-active-descendant indicates the descendant was activated\n * implicitly, and not by a direct key press. This includes focus zone being created from scratch, focusable\n * elements being added/removed, and mouseover events. This is intended to be roughly equivalent\n * to :focus:not(:focus-visible)\n **/\nexport const activeDescendantActivatedIndirectly = 'activated-indirectly'\nexport const hasActiveDescendantAttribute = 'data-has-active-descendant'\n\n/**\n * Sets up the arrow key focus behavior for all focusable elements in the given `container`.\n * @param container\n * @param settings\n * @returns\n */\nexport function focusZone(container: HTMLElement, settings?: FocusZoneSettings): AbortController {\n const focusableElements: HTMLElement[] = []\n const savedTabIndex = new WeakMap<HTMLElement, string | null>()\n const bindKeys =\n settings?.bindKeys ??\n (settings?.getNextFocusable ? FocusKeys.ArrowAll : FocusKeys.ArrowVertical) | FocusKeys.HomeAndEnd\n const focusOutBehavior = settings?.focusOutBehavior ?? 'stop'\n const focusInStrategy = settings?.focusInStrategy ?? 'previous'\n const activeDescendantControl = settings?.activeDescendantControl\n const activeDescendantCallback = settings?.onActiveDescendantChanged\n let currentFocusedElement: HTMLElement | undefined\n\n function getFirstFocusableElement() {\n return focusableElements[0] as HTMLElement | undefined\n }\n\n function isActiveDescendantInputFocused() {\n return document.activeElement === activeDescendantControl\n }\n\n function updateFocusedElement(to?: HTMLElement, directlyActivated = false) {\n const from = currentFocusedElement\n currentFocusedElement = to\n\n if (activeDescendantControl) {\n if (to && isActiveDescendantInputFocused()) {\n setActiveDescendant(from, to, directlyActivated)\n } else {\n clearActiveDescendant()\n }\n\n return\n }\n\n if (from && from !== to && savedTabIndex.has(from)) {\n from.setAttribute('tabindex', '-1')\n }\n\n to?.setAttribute('tabindex', '0')\n }\n\n function setActiveDescendant(from: HTMLElement | undefined, to: HTMLElement, directlyActivated = false) {\n if (!to.id) {\n to.setAttribute('id', uniqueId())\n }\n\n if (from && from !== to) {\n from.removeAttribute(isActiveDescendantAttribute)\n }\n\n if (\n !activeDescendantControl ||\n (!directlyActivated && activeDescendantControl.getAttribute('aria-activedescendant') === to.id)\n ) {\n // prevent active descendant callback from being called repeatedly if the same element is activated (e.g. via mousemove)\n return\n }\n\n activeDescendantControl.setAttribute('aria-activedescendant', to.id)\n container.setAttribute(hasActiveDescendantAttribute, to.id)\n to.setAttribute(\n isActiveDescendantAttribute,\n directlyActivated ? activeDescendantActivatedDirectly : activeDescendantActivatedIndirectly\n )\n activeDescendantCallback?.(to, from, directlyActivated)\n }\n\n function clearActiveDescendant(previouslyActiveElement = currentFocusedElement) {\n if (focusInStrategy === 'first') {\n currentFocusedElement = undefined\n }\n\n activeDescendantControl?.removeAttribute('aria-activedescendant')\n container.removeAttribute(hasActiveDescendantAttribute)\n previouslyActiveElement?.removeAttribute(isActiveDescendantAttribute)\n activeDescendantCallback?.(undefined, previouslyActiveElement, false)\n }\n\n function beginFocusManagement(...elements: HTMLElement[]) {\n const filteredElements = elements.filter(e => settings?.focusableElementFilter?.(e) ?? true)\n if (filteredElements.length === 0) {\n return\n }\n // Insert all elements atomically. Assume that all passed elements are well-ordered.\n const insertIndex = focusableElements.findIndex(\n e => (e.compareDocumentPosition(filteredElements[0]) & Node.DOCUMENT_POSITION_PRECEDING) > 0\n )\n focusableElements.splice(insertIndex === -1 ? focusableElements.length : insertIndex, 0, ...filteredElements)\n for (const element of filteredElements) {\n // Set tabindex=\"-1\" on all tabbable elements, but save the original\n // value in case we need to disable the behavior\n if (!savedTabIndex.has(element)) {\n savedTabIndex.set(element, element.getAttribute('tabindex'))\n }\n element.setAttribute('tabindex', '-1')\n }\n\n if (!currentFocusedElement) {\n updateFocusedElement(getFirstFocusableElement())\n }\n }\n\n function endFocusManagement(...elements: HTMLElement[]) {\n for (const element of elements) {\n const focusableElementIndex = focusableElements.indexOf(element)\n if (focusableElementIndex >= 0) {\n focusableElements.splice(focusableElementIndex, 1)\n }\n const savedIndex = savedTabIndex.get(element)\n if (savedIndex !== undefined) {\n if (savedIndex === null) {\n element.removeAttribute('tabindex')\n } else {\n element.setAttribute('tabindex', savedIndex)\n }\n savedTabIndex.delete(element)\n }\n\n // If removing the last-focused element, move focus to the first element in the list.\n if (element === currentFocusedElement) {\n const nextElementToFocus = getFirstFocusableElement()\n updateFocusedElement(nextElementToFocus)\n }\n }\n }\n\n // Take all tabbable elements within container under management\n beginFocusManagement(...iterateFocusableElements(container))\n\n // Open the first tabbable element for tabbing\n updateFocusedElement(getFirstFocusableElement())\n\n // If the DOM structure of the container changes, make sure we keep our state up-to-date\n // with respect to the focusable elements cache and its order\n const observer = new MutationObserver(mutations => {\n // Perform all removals first, in case element order has simply changed\n for (const mutation of mutations) {\n for (const removedNode of mutation.removedNodes) {\n if (removedNode instanceof HTMLElement) {\n endFocusManagement(...iterateFocusableElements(removedNode))\n }\n }\n }\n for (const mutation of mutations) {\n for (const addedNode of mutation.addedNodes) {\n if (addedNode instanceof HTMLElement) {\n beginFocusManagement(...iterateFocusableElements(addedNode))\n }\n }\n }\n })\n\n observer.observe(container, {\n subtree: true,\n childList: true\n })\n\n const controller = new AbortController()\n const signal = settings?.abortSignal ?? controller.signal\n\n signal.addEventListener('abort', () => {\n // Clean up any modifications\n endFocusManagement(...focusableElements)\n })\n\n let elementIndexFocusedByClick: number | undefined = undefined\n container.addEventListener(\n 'mousedown',\n event => {\n // Since focusin is only called when focus changes, we need to make sure the clicked\n // element isn't already focused.\n if (event.target instanceof HTMLElement && event.target !== document.activeElement) {\n elementIndexFocusedByClick = focusableElements.indexOf(event.target)\n }\n },\n {signal}\n )\n\n if (activeDescendantControl) {\n container.addEventListener('focusin', event => {\n if (event.target instanceof HTMLElement && focusableElements.includes(event.target)) {\n // Move focus to the activeDescendantControl if one of the descendants is focused\n activeDescendantControl.focus()\n updateFocusedElement(event.target)\n }\n })\n container.addEventListener(\n 'mousemove',\n ({target}) => {\n if (!(target instanceof Node)) {\n return\n }\n\n const focusableElement = focusableElements.find(element => element.contains(target))\n\n if (focusableElement) {\n updateFocusedElement(focusableElement)\n }\n },\n {signal, capture: true}\n )\n\n // Listeners specifically on the controlling element\n activeDescendantControl.addEventListener('focusin', () => {\n // Focus moved into the active descendant input. Activate current or first descendant.\n if (!currentFocusedElement) {\n updateFocusedElement(getFirstFocusableElement())\n } else {\n setActiveDescendant(undefined, currentFocusedElement)\n }\n })\n activeDescendantControl.addEventListener('focusout', () => {\n clearActiveDescendant()\n })\n } else {\n // This is called whenever focus enters an element in the container\n container.addEventListener(\n 'focusin',\n event => {\n if (event.target instanceof HTMLElement) {\n // If a click initiated the focus movement, we always want to set our internal state\n // to reflect the clicked element as the currently focused one.\n if (elementIndexFocusedByClick !== undefined) {\n if (elementIndexFocusedByClick >= 0) {\n if (focusableElements[elementIndexFocusedByClick] !== currentFocusedElement) {\n updateFocusedElement(focusableElements[elementIndexFocusedByClick])\n }\n }\n elementIndexFocusedByClick = undefined\n } else {\n // Set tab indexes and internal state based on the focus handling strategy\n if (focusInStrategy === 'previous') {\n updateFocusedElement(event.target)\n } else if (focusInStrategy === 'closest' || focusInStrategy === 'first') {\n if (event.relatedTarget instanceof Element && !container.contains(event.relatedTarget)) {\n // Regardless of the previously focused element, if we're coming from outside the\n // container, put focus onto the first encountered element (from above, it's The\n // first element of the container; from below, it's the last). If the\n // focusInStrategy is set to \"first\", lastKeyboardFocusDirection will always\n // be undefined.\n const targetElementIndex = lastKeyboardFocusDirection === 'previous' ? focusableElements.length - 1 : 0\n const targetElement = focusableElements[targetElementIndex] as HTMLElement | undefined\n targetElement?.focus()\n return\n } else {\n updateFocusedElement(event.target)\n }\n } else if (typeof focusInStrategy === 'function') {\n if (event.relatedTarget instanceof Element && !container.contains(event.relatedTarget)) {\n const elementToFocus = focusInStrategy(event.relatedTarget)\n const requestedFocusElementIndex = elementToFocus ? focusableElements.indexOf(elementToFocus) : -1\n if (requestedFocusElementIndex >= 0 && elementToFocus instanceof HTMLElement) {\n // Since we are calling focus() this handler will run again synchronously. Therefore,\n // we don't want to let this invocation finish since it will clobber the value of\n // currentFocusedElement.\n elementToFocus.focus()\n return\n } else {\n // eslint-disable-next-line no-console\n console.warn('Element requested is not a known focusable element.')\n }\n } else {\n updateFocusedElement(event.target)\n }\n }\n }\n }\n lastKeyboardFocusDirection = undefined\n },\n {signal}\n )\n }\n\n const keyboardEventRecipient = activeDescendantControl ?? container\n\n // If the strategy is \"closest\", we need to capture the direction that the user\n // is trying to move focus before our focusin handler is executed.\n let lastKeyboardFocusDirection: Direction | undefined = undefined\n if (focusInStrategy === 'closest') {\n document.addEventListener(\n 'keydown',\n event => {\n if (event.key === 'Tab') {\n lastKeyboardFocusDirection = getDirection(event)\n }\n },\n {signal, capture: true}\n )\n }\n\n function getCurrentFocusedIndex() {\n if (!currentFocusedElement) {\n return 0\n }\n\n const focusedIndex = focusableElements.indexOf(currentFocusedElement)\n const fallbackIndex = currentFocusedElement === container ? -1 : 0\n\n return focusedIndex !== -1 ? focusedIndex : fallbackIndex\n }\n\n // \"keydown\" is the event that triggers DOM focus change, so that is what we use here\n keyboardEventRecipient.addEventListener(\n 'keydown',\n event => {\n if (event.key in KEY_TO_DIRECTION) {\n const keyBit = KEY_TO_BIT[event.key as keyof typeof KEY_TO_BIT]\n // Check if the pressed key (keyBit) is one that is being used for focus (bindKeys)\n if (\n !event.defaultPrevented &&\n (keyBit & bindKeys) > 0 &&\n !shouldIgnoreFocusHandling(event, document.activeElement)\n ) {\n // Moving forward or backward?\n const direction = getDirection(event)\n\n let nextElementToFocus: HTMLElement | undefined = undefined\n\n // If there is a custom function that retrieves the next focusable element, try calling that first.\n if (settings?.getNextFocusable) {\n nextElementToFocus = settings.getNextFocusable(direction, document.activeElement ?? undefined, event)\n }\n if (!nextElementToFocus) {\n const lastFocusedIndex = getCurrentFocusedIndex()\n let nextFocusedIndex = lastFocusedIndex\n if (direction === 'previous') {\n nextFocusedIndex -= 1\n } else if (direction === 'start') {\n nextFocusedIndex = 0\n } else if (direction === 'next') {\n nextFocusedIndex += 1\n } else {\n // end\n nextFocusedIndex = focusableElements.length - 1\n }\n\n if (nextFocusedIndex < 0) {\n // Tab should never cause focus to wrap. Use focusTrap for that behavior.\n if (focusOutBehavior === 'wrap' && event.key !== 'Tab') {\n nextFocusedIndex = focusableElements.length - 1\n } else {\n nextFocusedIndex = 0\n }\n }\n if (nextFocusedIndex >= focusableElements.length) {\n if (focusOutBehavior === 'wrap' && event.key !== 'Tab') {\n nextFocusedIndex = 0\n } else {\n nextFocusedIndex = focusableElements.length - 1\n }\n }\n if (lastFocusedIndex !== nextFocusedIndex) {\n nextElementToFocus = focusableElements[nextFocusedIndex]\n }\n }\n\n if (activeDescendantControl) {\n updateFocusedElement(nextElementToFocus || currentFocusedElement, true)\n } else if (nextElementToFocus) {\n lastKeyboardFocusDirection = direction\n\n // updateFocusedElement will be called implicitly when focus moves, as long as the event isn't prevented somehow\n nextElementToFocus.focus()\n }\n // Tab should always allow escaping from this container, so only\n // preventDefault if tab key press already resulted in a focus movement\n if (event.key !== 'Tab' || nextElementToFocus) {\n event.preventDefault()\n }\n }\n }\n },\n {signal}\n )\n return controller\n}\n","import {css} from 'styled-components'\nimport {get} from '../constants'\n\nexport default css`\n position: relative;\n display: inline-block;\n padding: 6px 16px;\n font-family: inherit;\n font-weight: ${get('fontWeights.bold')};\n line-height: 20px;\n white-space: nowrap;\n vertical-align: middle;\n cursor: pointer;\n user-select: none;\n border-radius: ${get('radii.2')};\n appearance: none;\n text-decoration: none;\n text-align: center;\n\n &:hover {\n // needed to override link styles\n text-decoration: none;\n }\n\n &:focus {\n outline: none;\n }\n\n &:disabled {\n cursor: default;\n }\n\n &:disabled svg {\n opacity: 0.6;\n }\n`\n","import styled from 'styled-components'\nimport {compose, fontSize, FontSizeProps, variant} from 'styled-system'\nimport {COMMON, LAYOUT, SystemCommonProps, SystemLayoutProps} from '../constants'\nimport {ComponentProps} from '../utils/types'\nimport buttonBaseStyles from './ButtonStyles'\n\nexport const buttonSystemProps = compose(fontSize, COMMON, LAYOUT)\nexport type ButtonSystemProps = FontSizeProps & SystemCommonProps & SystemLayoutProps\n\nconst variants = variant({\n variants: {\n small: {\n p: '4px 12px',\n fontSize: 0\n },\n medium: {\n fontSize: 1\n },\n large: {\n fontSize: 2,\n p: '10px 20px'\n }\n }\n})\n\ntype StyledButtonBaseProps = {\n as?: 'button' | 'a' | 'summary' | 'input' | string | React.ReactType\n variant?: 'small' | 'medium' | 'large'\n} & FontSizeProps\n\nconst ButtonBase = styled.button.attrs<StyledButtonBaseProps>(({disabled, onClick}) => ({\n onClick: disabled ? undefined : onClick\n}))<StyledButtonBaseProps>`\n ${buttonBaseStyles}\n ${variants}\n`\n\nButtonBase.defaultProps = {\n variant: 'medium'\n}\n\nexport type ButtonBaseProps = ComponentProps<typeof ButtonBase>\nexport default ButtonBase\n","import styled from 'styled-components'\nimport {get} from '../constants'\nimport sx, {SxProp} from '../sx'\nimport {ComponentProps} from '../utils/types'\nimport ButtonBase, {ButtonBaseProps, ButtonSystemProps, buttonSystemProps} from './ButtonBase'\n\nconst Button = styled(ButtonBase)<ButtonBaseProps & ButtonSystemProps & SxProp>`\n color: ${get('colors.btn.text')};\n background-color: ${get('colors.btn.bg')};\n border: 1px solid ${get('colors.btn.border')};\n box-shadow: ${get('shadows.btn.shadow')}, ${get('shadows.btn.insetShadow')}};\n\n &:hover {\n background-color: ${get('colors.btn.hoverBg')};\n border-color: ${get('colors.btn.hoverBorder')};\n }\n\n // focus must come before :active so that the active box shadow overrides\n &:focus {\n border-color: ${get('colors.btn.focusBorder')};\n box-shadow: ${get('shadows.btn.focusShadow')};\n }\n\n &:active {\n background-color: ${get('colors.btn.selectedBg')};\n box-shadow: ${get('shadows.btn.shadowActive')};\n }\n\n &:disabled {\n color: ${get('colors.text.disabled')};\n background-color: ${get('colors.btn.bg')};\n border-color: ${get('colors.btn.border')};\n }\n\n ${buttonSystemProps};\n ${sx};\n`\n\nexport type ButtonProps = ComponentProps<typeof Button>\nexport default Button\n","import styled from 'styled-components'\nimport {get} from '../constants'\nimport sx, {SxProp} from '../sx'\nimport {ComponentProps} from '../utils/types'\nimport ButtonBase, {ButtonBaseProps, ButtonSystemProps, buttonSystemProps} from './ButtonBase'\n\nconst ButtonDanger = styled(ButtonBase)<ButtonBaseProps & ButtonSystemProps & SxProp>`\n color: ${get('colors.btn.danger.text')};\n border: 1px solid ${get('colors.btn.border')};\n background-color: ${get('colors.btn.bg')};\n box-shadow: ${get('shadows.btn.shadow')};\n\n &:hover {\n color: ${get('colors.btn.danger.hoverText')};\n background-color: ${get('colors.btn.danger.hoverBg')};\n border-color: ${get('colors.btn.danger.hoverBorder')};\n box-shadow: ${get('shadows.btn.danger.hoverShadow')};\n }\n // focus must come before :active so that the active box shadow overrides\n &:focus {\n border-color: ${get('colors.btn.danger.focusBorder')};\n box-shadow: ${get('shadows.btn.danger.focusShadow')};\n }\n\n &:active {\n color: ${get('colors.btn.danger.selectedText')};\n background-color: ${get('colors.btn.danger.selectedBg')};\n box-shadow: ${get('shadows.btn.danger.selectedShadow')};\n border-color: ${get('colors.btn.danger.selectedBorder')};\n }\n\n &:disabled {\n color: ${get('colors.btn.danger.disabledText')};\n background-color: ${get('colors.btn.danger.disabledBg')};\n border-color: ${get('colors.btn.danger.disabledBorder')};\n }\n\n ${buttonSystemProps};\n ${sx};\n`\n\nexport type ButtonDangerProps = ComponentProps<typeof ButtonDanger>\nexport default ButtonDanger\n","import styled from 'styled-components'\nimport Box from '../Box'\nimport {get} from '../constants'\nimport sx from '../sx'\nimport {ComponentProps} from '../utils/types'\n\nconst ButtonGroup = styled(Box)`\n vertical-align: middle;\n\n && > * {\n position: relative;\n border-right-width: 0;\n border-radius: 0;\n\n :first-child {\n border-top-left-radius: ${get('radii.2')};\n border-bottom-left-radius: ${get('radii.2')};\n margin-right: 0;\n }\n\n :not(:first-child) {\n margin-left: 0;\n margin-right: 0;\n }\n\n :last-child {\n border-right-width: 1px;\n border-top-right-radius: ${get('radii.2')};\n border-bottom-right-radius: ${get('radii.2')};\n }\n\n :focus,\n :active,\n :hover {\n border-right-width: 1px;\n + * {\n border-left-width: 0;\n }\n }\n\n :focus,\n :active {\n z-index: 1;\n }\n }\n\n ${sx};\n`\n\nButtonGroup.defaultProps = {\n display: 'inline-block'\n}\n\nexport type ButtonGroupProps = ComponentProps<typeof ButtonGroup>\nexport default ButtonGroup\n","import styled from 'styled-components'\nimport {get} from '../constants'\nimport sx, {SxProp} from '../sx'\nimport {ComponentProps} from '../utils/types'\nimport ButtonBase, {ButtonBaseProps, ButtonSystemProps, buttonSystemProps} from './ButtonBase'\n\nconst ButtonOutline = styled(ButtonBase)<ButtonBaseProps & ButtonSystemProps & SxProp>`\n color: ${get('colors.btn.outline.text')};\n border: 1px solid ${get('colors.btn.border')};\n background-color: ${get('colors.btn.bg')};\n box-shadow: ${get('shadows.btn.shadow')};\n\n &:hover {\n color: ${get('colors.btn.outline.hoverText')};\n background-color: ${get('colors.btn.outline.hoverBg')};\n border-color: ${get('colors.btn.outline.hoverBorder')};\n box-shadow: ${get('shadows.btn.outline.hoverShadow')};\n }\n // focus must come before :active so that the active box shadow overrides\n &:focus {\n border-color: ${get('colors.btn.outline.focusBorder')};\n box-shadow: ${get('shadows.btn.outline.focusShadow')};\n }\n\n &:active {\n color: ${get('colors.btn.outline.selectedText')};\n background-color: ${get('colors.btn.outline.selectedBg')};\n box-shadow: ${get('shadows.btn.outline.selectedShadow')};\n border-color: ${get('colors.btn.outline.selectedBorder')};\n }\n\n &:disabled {\n color: ${get('colors.btn.outline.disabledText')};\n background-color: ${get('colors.btn.outline.disabledBg')};\n border-color: ${get('colors.btn.border')};\n }\n\n ${buttonSystemProps};\n ${sx};\n`\n\nexport type ButtonOutlineProps = ComponentProps<typeof ButtonOutline>\nexport default ButtonOutline\n","import styled from 'styled-components'\nimport {get} from '../constants'\nimport sx, {SxProp} from '../sx'\nimport {ComponentProps} from '../utils/types'\nimport ButtonBase, {ButtonBaseProps, ButtonSystemProps, buttonSystemProps} from './ButtonBase'\n\nexport const ButtonPrimary = styled(ButtonBase)<ButtonBaseProps & ButtonSystemProps & SxProp>`\n color: ${get('colors.btn.primary.text')};\n border: 1px solid ${get('colors.btn.primary.border')};\n background-color: ${get('colors.btn.primary.bg')};\n box-shadow: ${get('shadows.btn.primary.shadow')};\n\n &:hover {\n color: ${get('colors.btn.primary.hoverText')};\n background-color: ${get('colors.btn.primary.hoverBg')};\n border-color: ${get('colors.btn.primary.hoverBorder')};\n box-shadow: ${get('shadows.btn.primary.hoverShadow')};\n }\n // focus must come before :active so that the active box shadow overrides\n &:focus {\n border-color: ${get('colors.btn.primary.focusBorder')};\n box-shadow: ${get('shadows.btn.primary.focusShadow')};\n }\n\n &:active {\n background-color: ${get('colors.btn.primary.selectedBg')};\n box-shadow: ${get('shadows.btn.primary.selectedShadow')};\n }\n\n &:disabled {\n color: ${get('colors.btn.primary.disabledText')};\n background-color: ${get('colors.btn.primary.disabledBg')};\n border-color: ${get('colors.btn.primary.disabledBorder')};\n }\n\n ${buttonSystemProps};\n ${sx};\n`\n\nexport type ButtonPrimaryProps = ComponentProps<typeof ButtonPrimary>\nexport default ButtonPrimary\n","import styled from 'styled-components'\nimport {get} from '../constants'\nimport sx, {SxProp} from '../sx'\nimport {ComponentProps} from '../utils/types'\nimport ButtonBase, {ButtonBaseProps, ButtonSystemProps, buttonSystemProps} from './ButtonBase'\n\nconst ButtonInvisible = styled(ButtonBase)<ButtonBaseProps & ButtonSystemProps & SxProp>`\n color: ${get('colors.text.link')};\n background-color: transparent;\n border: 0;\n border-radius: ${get('radii.2')};\n box-shadow: none;\n\n &:disabled {\n color: ${get('colors.text.disabled')};\n }\n\n &:focus {\n box-shadow: ${get('shadows.btn.focusShadow')};\n }\n\n ${buttonSystemProps};\n ${sx}\n`\n\nexport type ButtonInvisibleProps = ComponentProps<typeof ButtonInvisible>\nexport default ButtonInvisible\n","import styled from 'styled-components'\nimport {\n COMMON,\n get,\n LAYOUT,\n SystemCommonProps,\n SystemLayoutProps,\n SystemTypographyProps,\n TYPOGRAPHY\n} from '../constants'\nimport sx, {SxProp} from '../sx'\nimport {ComponentProps} from '../utils/types'\n\ntype StyledButtonTableListProps = SystemCommonProps & SystemTypographyProps & SystemLayoutProps & SxProp\n\nconst ButtonTableList = styled.summary<StyledButtonTableListProps>`\n display: inline-block;\n padding: 0;\n font-size: ${get('fontSizes.1')};\n color: ${get('colors.text.secondary')};\n text-decoration: none;\n white-space: nowrap;\n cursor: pointer;\n user-select: none;\n background-color: transparent;\n border: 0;\n appearance: none; // Corrects inability to style clickable input types in iOS.\n\n &:hover {\n text-decoration: underline;\n }\n\n &:disabled {\n &,\n &:hover {\n color: rgba(${get('colors.text.secondary')}, 0.5);\n cursor: default;\n }\n }\n\n &:after {\n display: inline-block;\n margin-left: ${get('space.1')};\n width: 0;\n height: 0;\n vertical-align: -2px;\n content: '';\n border: 4px solid transparent;\n border-top-color: currentcolor;\n }\n ${COMMON}\n ${TYPOGRAPHY}\n ${LAYOUT}\n ${sx};\n`\n\nexport type ButtonTableListProps = ComponentProps<typeof ButtonTableList>\nexport default ButtonTableList\n","import React from 'react';\n\nvar sizeMap = {\n small: 16,\n medium: 32,\n large: 64\n};\n\nfunction getSvgProps(_ref) {\n var ariaLabel = _ref['aria-label'],\n className = _ref.className,\n _ref$fill = _ref.fill,\n fill = _ref$fill === undefined ? 'currentColor' : _ref$fill,\n size = _ref.size,\n verticalAlign = _ref.verticalAlign,\n svgDataByHeight = _ref.svgDataByHeight;\n\n var height = sizeMap[size] || size;\n var naturalHeight = closestNaturalHeight(Object.keys(svgDataByHeight), height);\n var naturalWidth = svgDataByHeight[naturalHeight].width;\n var width = height * (naturalWidth / naturalHeight);\n var path = svgDataByHeight[naturalHeight].path;\n\n return {\n 'aria-hidden': ariaLabel ? 'false' : 'true',\n 'aria-label': ariaLabel,\n role: 'img',\n className: className,\n viewBox: '0 0 ' + naturalWidth + ' ' + naturalHeight,\n width: width,\n height: height,\n fill: fill,\n style: {\n display: 'inline-block',\n userSelect: 'none',\n verticalAlign: verticalAlign\n },\n dangerouslySetInnerHTML: { __html: path }\n };\n}\n\nfunction closestNaturalHeight(naturalHeights, height) {\n return naturalHeights.map(function (naturalHeight) {\n return parseInt(naturalHeight, 10);\n }).reduce(function (acc, naturalHeight) {\n return naturalHeight <= height ? naturalHeight : acc;\n }, naturalHeights[0]);\n}\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nfunction AlertIcon(props) {\n var svgDataByHeight = { \"16\": { \"width\": 16, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M8.22 1.754a.25.25 0 00-.44 0L1.698 13.132a.25.25 0 00.22.368h12.164a.25.25 0 00.22-.368L8.22 1.754zm-1.763-.707c.659-1.234 2.427-1.234 3.086 0l6.082 11.378A1.75 1.75 0 0114.082 15H1.918a1.75 1.75 0 01-1.543-2.575L6.457 1.047zM9 11a1 1 0 11-2 0 1 1 0 012 0zm-.25-5.25a.75.75 0 00-1.5 0v2.5a.75.75 0 001.5 0v-2.5z\\\"></path>\" }, \"24\": { \"width\": 24, \"path\": \"<path d=\\\"M13 17.5a1 1 0 11-2 0 1 1 0 012 0zm-.25-8.25a.75.75 0 00-1.5 0v4.5a.75.75 0 001.5 0v-4.5z\\\"></path><path fill-rule=\\\"evenodd\\\" d=\\\"M9.836 3.244c.963-1.665 3.365-1.665 4.328 0l8.967 15.504c.963 1.667-.24 3.752-2.165 3.752H3.034c-1.926 0-3.128-2.085-2.165-3.752L9.836 3.244zm3.03.751a1 1 0 00-1.732 0L2.168 19.499A1 1 0 003.034 21h17.932a1 1 0 00.866-1.5L12.866 3.994z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nAlertIcon.defaultProps = {\n className: 'octicon octicon-alert',\n size: 16,\n verticalAlign: 'text-bottom'\n};\n\nfunction ArchiveIcon(props) {\n var svgDataByHeight = { \"16\": { \"width\": 16, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M1.75 2.5a.25.25 0 00-.25.25v1.5c0 .138.112.25.25.25h12.5a.25.25 0 00.25-.25v-1.5a.25.25 0 00-.25-.25H1.75zM0 2.75C0 1.784.784 1 1.75 1h12.5c.966 0 1.75.784 1.75 1.75v1.5A1.75 1.75 0 0114.25 6H1.75A1.75 1.75 0 010 4.25v-1.5zM1.75 7a.75.75 0 01.75.75v5.5c0 .138.112.25.25.25h10.5a.25.25 0 00.25-.25v-5.5a.75.75 0 111.5 0v5.5A1.75 1.75 0 0113.25 15H2.75A1.75 1.75 0 011 13.25v-5.5A.75.75 0 011.75 7zm4.5 1a.75.75 0 000 1.5h3.5a.75.75 0 100-1.5h-3.5z\\\"></path>\" }, \"24\": { \"width\": 24, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M2.75 2A1.75 1.75 0 001 3.75v3.5C1 8.216 1.784 9 2.75 9h18.5A1.75 1.75 0 0023 7.25v-3.5A1.75 1.75 0 0021.25 2H2.75zm18.5 1.5H2.75a.25.25 0 00-.25.25v3.5c0 .138.112.25.25.25h18.5a.25.25 0 00.25-.25v-3.5a.25.25 0 00-.25-.25z\\\"></path><path d=\\\"M2.75 10a.75.75 0 01.75.75v9.5c0 .138.112.25.25.25h16.5a.25.25 0 00.25-.25v-9.5a.75.75 0 011.5 0v9.5A1.75 1.75 0 0120.25 22H3.75A1.75 1.75 0 012 20.25v-9.5a.75.75 0 01.75-.75z\\\"></path><path d=\\\"M9.75 11.5a.75.75 0 000 1.5h4.5a.75.75 0 000-1.5h-4.5z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nArchiveIcon.defaultProps = {\n className: 'octicon octicon-archive',\n size: 16,\n verticalAlign: 'text-bottom'\n};\n\nfunction ArrowBothIcon(props) {\n var svgDataByHeight = { \"16\": { \"width\": 16, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M3.72 3.72a.75.75 0 011.06 1.06L2.56 7h10.88l-2.22-2.22a.75.75 0 011.06-1.06l3.5 3.5a.75.75 0 010 1.06l-3.5 3.5a.75.75 0 11-1.06-1.06l2.22-2.22H2.56l2.22 2.22a.75.75 0 11-1.06 1.06l-3.5-3.5a.75.75 0 010-1.06l3.5-3.5z\\\"></path>\" }, \"24\": { \"width\": 24, \"path\": \"<path d=\\\"M7.78 5.97a.75.75 0 00-1.06 0l-5.25 5.25a.75.75 0 000 1.06l5.25 5.25a.75.75 0 001.06-1.06L3.81 12.5h16.38l-3.97 3.97a.75.75 0 101.06 1.06l5.25-5.25a.75.75 0 000-1.06l-5.25-5.25a.75.75 0 10-1.06 1.06L20.19 11H3.81l3.97-3.97a.75.75 0 000-1.06z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nArrowBothIcon.defaultProps = {\n className: 'octicon octicon-arrow-both',\n size: 16,\n verticalAlign: 'text-bottom'\n};\n\nfunction ArrowDownIcon(props) {\n var svgDataByHeight = { \"16\": { \"width\": 16, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M13.03 8.22a.75.75 0 010 1.06l-4.25 4.25a.75.75 0 01-1.06 0L3.47 9.28a.75.75 0 011.06-1.06l2.97 2.97V3.75a.75.75 0 011.5 0v7.44l2.97-2.97a.75.75 0 011.06 0z\\\"></path>\" }, \"24\": { \"width\": 24, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M4.97 13.22a.75.75 0 000 1.06l6.25 6.25a.75.75 0 001.06 0l6.25-6.25a.75.75 0 10-1.06-1.06l-4.97 4.97V3.75a.75.75 0 00-1.5 0v14.44l-4.97-4.97a.75.75 0 00-1.06 0z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nArrowDownIcon.defaultProps = {\n className: 'octicon octicon-arrow-down',\n size: 16,\n verticalAlign: 'text-bottom'\n};\n\nfunction ArrowDownLeftIcon(props) {\n var svgDataByHeight = { \"24\": { \"width\": 24, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M5.75 8.5a.75.75 0 00-.75.75v9c0 .414.336.75.75.75h9a.75.75 0 000-1.5H7.56L17.78 7.28a.75.75 0 00-1.06-1.06L6.5 16.44V9.25a.75.75 0 00-.75-.75z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nArrowDownLeftIcon.defaultProps = {\n className: 'octicon octicon-arrow-down-left',\n size: 16,\n verticalAlign: 'text-bottom'\n};\n\nfunction ArrowDownRightIcon(props) {\n var svgDataByHeight = { \"24\": { \"width\": 24, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M18.25 8.5a.75.75 0 01.75.75v9a.75.75 0 01-.75.75h-9a.75.75 0 010-1.5h7.19L6.22 7.28a.75.75 0 011.06-1.06L17.5 16.44V9.25a.75.75 0 01.75-.75z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nArrowDownRightIcon.defaultProps = {\n className: 'octicon octicon-arrow-down-right',\n size: 16,\n verticalAlign: 'text-bottom'\n};\n\nfunction ArrowLeftIcon(props) {\n var svgDataByHeight = { \"16\": { \"width\": 16, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M7.78 12.53a.75.75 0 01-1.06 0L2.47 8.28a.75.75 0 010-1.06l4.25-4.25a.75.75 0 011.06 1.06L4.81 7h7.44a.75.75 0 010 1.5H4.81l2.97 2.97a.75.75 0 010 1.06z\\\"></path>\" }, \"24\": { \"width\": 24, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M10.78 19.03a.75.75 0 01-1.06 0l-6.25-6.25a.75.75 0 010-1.06l6.25-6.25a.75.75 0 111.06 1.06L5.81 11.5h14.44a.75.75 0 010 1.5H5.81l4.97 4.97a.75.75 0 010 1.06z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nArrowLeftIcon.defaultProps = {\n className: 'octicon octicon-arrow-left',\n size: 16,\n verticalAlign: 'text-bottom'\n};\n\nfunction ArrowRightIcon(props) {\n var svgDataByHeight = { \"16\": { \"width\": 16, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M8.22 2.97a.75.75 0 011.06 0l4.25 4.25a.75.75 0 010 1.06l-4.25 4.25a.75.75 0 01-1.06-1.06l2.97-2.97H3.75a.75.75 0 010-1.5h7.44L8.22 4.03a.75.75 0 010-1.06z\\\"></path>\" }, \"24\": { \"width\": 24, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M13.22 19.03a.75.75 0 001.06 0l6.25-6.25a.75.75 0 000-1.06l-6.25-6.25a.75.75 0 10-1.06 1.06l4.97 4.97H3.75a.75.75 0 000 1.5h14.44l-4.97 4.97a.75.75 0 000 1.06z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nArrowRightIcon.defaultProps = {\n className: 'octicon octicon-arrow-right',\n size: 16,\n verticalAlign: 'text-bottom'\n};\n\nfunction ArrowSwitchIcon(props) {\n var svgDataByHeight = { \"16\": { \"width\": 16, \"path\": \"<path d=\\\"M5.22 14.78a.75.75 0 001.06-1.06L4.56 12h8.69a.75.75 0 000-1.5H4.56l1.72-1.72a.75.75 0 00-1.06-1.06l-3 3a.75.75 0 000 1.06l3 3zm5.56-6.5a.75.75 0 11-1.06-1.06l1.72-1.72H2.75a.75.75 0 010-1.5h8.69L9.72 2.28a.75.75 0 011.06-1.06l3 3a.75.75 0 010 1.06l-3 3z\\\"></path>\" }, \"24\": { \"width\": 24, \"path\": \"<path d=\\\"M7.72 21.78a.75.75 0 001.06-1.06L5.56 17.5h14.69a.75.75 0 000-1.5H5.56l3.22-3.22a.75.75 0 10-1.06-1.06l-4.5 4.5a.75.75 0 000 1.06l4.5 4.5zm8.56-9.5a.75.75 0 11-1.06-1.06L18.44 8H3.75a.75.75 0 010-1.5h14.69l-3.22-3.22a.75.75 0 011.06-1.06l4.5 4.5a.75.75 0 010 1.06l-4.5 4.5z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nArrowSwitchIcon.defaultProps = {\n className: 'octicon octicon-arrow-switch',\n size: 16,\n verticalAlign: 'text-bottom'\n};\n\nfunction ArrowUpIcon(props) {\n var svgDataByHeight = { \"16\": { \"width\": 16, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M3.47 7.78a.75.75 0 010-1.06l4.25-4.25a.75.75 0 011.06 0l4.25 4.25a.75.75 0 01-1.06 1.06L9 4.81v7.44a.75.75 0 01-1.5 0V4.81L4.53 7.78a.75.75 0 01-1.06 0z\\\"></path>\" }, \"24\": { \"width\": 24, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M6.47 10.78a.75.75 0 010-1.06l5.25-5.25a.75.75 0 011.06 0l5.25 5.25a.75.75 0 11-1.06 1.06L13 6.81v12.44a.75.75 0 01-1.5 0V6.81l-3.97 3.97a.75.75 0 01-1.06 0z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nArrowUpIcon.defaultProps = {\n className: 'octicon octicon-arrow-up',\n size: 16,\n verticalAlign: 'text-bottom'\n};\n\nfunction ArrowUpLeftIcon(props) {\n var svgDataByHeight = { \"24\": { \"width\": 24, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M5.75 15.5a.75.75 0 01-.75-.75v-9A.75.75 0 015.75 5h9a.75.75 0 010 1.5H7.56l10.22 10.22a.75.75 0 11-1.06 1.06L6.5 7.56v7.19a.75.75 0 01-.75.75z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nArrowUpLeftIcon.defaultProps = {\n className: 'octicon octicon-arrow-up-left',\n size: 16,\n verticalAlign: 'text-bottom'\n};\n\nfunction ArrowUpRightIcon(props) {\n var svgDataByHeight = { \"24\": { \"width\": 24, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M18.25 15.5a.75.75 0 00.75-.75v-9a.75.75 0 00-.75-.75h-9a.75.75 0 000 1.5h7.19L6.22 16.72a.75.75 0 101.06 1.06L17.5 7.56v7.19c0 .414.336.75.75.75z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nArrowUpRightIcon.defaultProps = {\n className: 'octicon octicon-arrow-up-right',\n size: 16,\n verticalAlign: 'text-bottom'\n};\n\nfunction BeakerIcon(props) {\n var svgDataByHeight = { \"16\": { \"width\": 16, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M5 5.782V2.5h-.25a.75.75 0 010-1.5h6.5a.75.75 0 010 1.5H11v3.282l3.666 5.76C15.619 13.04 14.543 15 12.767 15H3.233c-1.776 0-2.852-1.96-1.899-3.458L5 5.782zM9.5 2.5h-3V6a.75.75 0 01-.117.403L4.73 9h6.54L9.617 6.403A.75.75 0 019.5 6V2.5zm-6.9 9.847L3.775 10.5h8.45l1.175 1.847a.75.75 0 01-.633 1.153H3.233a.75.75 0 01-.633-1.153z\\\"></path>\" }, \"24\": { \"width\": 24, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M8 8.807V3.5h-.563a.75.75 0 010-1.5h9.125a.75.75 0 010 1.5H16v5.307l5.125 9.301c.964 1.75-.302 3.892-2.299 3.892H5.174c-1.998 0-3.263-2.142-2.3-3.892L8 8.807zM14.5 3.5h-5V9a.75.75 0 01-.093.362L7.127 13.5h9.746l-2.28-4.138A.75.75 0 0114.5 9V3.5zM4.189 18.832L6.3 15h11.4l2.111 3.832a1.125 1.125 0 01-.985 1.668H5.174a1.125 1.125 0 01-.985-1.668z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nBeakerIcon.defaultProps = {\n className: 'octicon octicon-beaker',\n size: 16,\n verticalAlign: 'text-bottom'\n};\n\nfunction BellIcon(props) {\n var svgDataByHeight = { \"16\": { \"width\": 16, \"path\": \"<path d=\\\"M8 16a2 2 0 001.985-1.75c.017-.137-.097-.25-.235-.25h-3.5c-.138 0-.252.113-.235.25A2 2 0 008 16z\\\"></path><path fill-rule=\\\"evenodd\\\" d=\\\"M8 1.5A3.5 3.5 0 004.5 5v2.947c0 .346-.102.683-.294.97l-1.703 2.556a.018.018 0 00-.003.01l.001.006c0 .002.002.004.004.006a.017.017 0 00.006.004l.007.001h10.964l.007-.001a.016.016 0 00.006-.004.016.016 0 00.004-.006l.001-.007a.017.017 0 00-.003-.01l-1.703-2.554a1.75 1.75 0 01-.294-.97V5A3.5 3.5 0 008 1.5zM3 5a5 5 0 0110 0v2.947c0 .05.015.098.042.139l1.703 2.555A1.518 1.518 0 0113.482 13H2.518a1.518 1.518 0 01-1.263-2.36l1.703-2.554A.25.25 0 003 7.947V5z\\\"></path>\" }, \"24\": { \"width\": 24, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M12 1C8.318 1 5 3.565 5 7v4.539a3.25 3.25 0 01-.546 1.803l-2.2 3.299A1.518 1.518 0 003.519 19H8.5a3.5 3.5 0 107 0h4.982a1.518 1.518 0 001.263-2.36l-2.2-3.298A3.25 3.25 0 0119 11.539V7c0-3.435-3.319-6-7-6zM6.5 7c0-2.364 2.383-4.5 5.5-4.5s5.5 2.136 5.5 4.5v4.539c0 .938.278 1.854.798 2.635l2.199 3.299a.017.017 0 01.003.01l-.001.006-.004.006-.006.004-.007.001H3.518l-.007-.001-.006-.004-.004-.006-.001-.007.003-.01 2.2-3.298a4.75 4.75 0 00.797-2.635V7zM14 19h-4a2 2 0 104 0z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nBellIcon.defaultProps = {\n className: 'octicon octicon-bell',\n size: 16,\n verticalAlign: 'text-bottom'\n};\n\nfunction BellFillIcon(props) {\n var svgDataByHeight = { \"24\": { \"width\": 24, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M6 8a6 6 0 1112 0v2.917c0 .703.228 1.387.65 1.95L20.7 15.6a1.5 1.5 0 01-1.2 2.4h-15a1.5 1.5 0 01-1.2-2.4l2.05-2.733a3.25 3.25 0 00.65-1.95V8zm6 13.5A3.502 3.502 0 018.645 19h6.71A3.502 3.502 0 0112 21.5z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nBellFillIcon.defaultProps = {\n className: 'octicon octicon-bell-fill',\n size: 16,\n verticalAlign: 'text-bottom'\n};\n\nfunction BellSlashIcon(props) {\n var svgDataByHeight = { \"16\": { \"width\": 16, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M8 1.5c-.997 0-1.895.416-2.534 1.086A.75.75 0 014.38 1.55 5 5 0 0113 5v2.373a.75.75 0 01-1.5 0V5A3.5 3.5 0 008 1.5zM4.182 4.31L1.19 2.143a.75.75 0 10-.88 1.214L3 5.305v2.642a.25.25 0 01-.042.139L1.255 10.64A1.518 1.518 0 002.518 13h11.108l1.184.857a.75.75 0 10.88-1.214l-1.375-.996a1.196 1.196 0 00-.013-.01L4.198 4.321a.733.733 0 00-.016-.011zm7.373 7.19L4.5 6.391v1.556c0 .346-.102.683-.294.97l-1.703 2.556a.018.018 0 00-.003.01.015.015 0 00.005.012.017.017 0 00.006.004l.007.001h9.037zM8 16a2 2 0 001.985-1.75c.017-.137-.097-.25-.235-.25h-3.5c-.138 0-.252.113-.235.25A2 2 0 008 16z\\\"></path>\" }, \"24\": { \"width\": 24, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M1.22 1.22a.75.75 0 011.06 0l20.5 20.5a.75.75 0 11-1.06 1.06L17.94 19H15.5a3.5 3.5 0 11-7 0H3.518a1.518 1.518 0 01-1.263-2.36l2.2-3.298A3.25 3.25 0 005 11.539V7c0-.294.025-.583.073-.866L1.22 2.28a.75.75 0 010-1.06zM10 19a2 2 0 104 0h-4zM6.5 7.56l9.94 9.94H3.517l-.007-.001-.006-.004-.004-.006-.001-.007.003-.01 2.2-3.298a4.75 4.75 0 00.797-2.635V7.56z\\\"></path><path d=\\\"M12 2.5c-1.463 0-2.8.485-3.788 1.257l-.04.032a.75.75 0 11-.935-1.173l.05-.04C8.548 1.59 10.212 1 12 1c3.681 0 7 2.565 7 6v4.539c0 .642.19 1.269.546 1.803l1.328 1.992a.75.75 0 11-1.248.832l-1.328-1.992a4.75 4.75 0 01-.798-2.635V7c0-2.364-2.383-4.5-5.5-4.5z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nBellSlashIcon.defaultProps = {\n className: 'octicon octicon-bell-slash',\n size: 16,\n verticalAlign: 'text-bottom'\n};\n\nfunction BlockedIcon(props) {\n var svgDataByHeight = { \"16\": { \"width\": 16, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M4.467.22a.75.75 0 01.53-.22h6.006a.75.75 0 01.53.22l4.247 4.247c.141.14.22.331.22.53v6.006a.75.75 0 01-.22.53l-4.247 4.247a.75.75 0 01-.53.22H4.997a.75.75 0 01-.53-.22L.22 11.533a.75.75 0 01-.22-.53V4.997a.75.75 0 01.22-.53L4.467.22zm.84 1.28L1.5 5.308v5.384L5.308 14.5h5.384l3.808-3.808V5.308L10.692 1.5H5.308zM4 7.75A.75.75 0 014.75 7h6.5a.75.75 0 010 1.5h-6.5A.75.75 0 014 7.75z\\\"></path>\" }, \"24\": { \"width\": 24, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M7.638 2.22a.75.75 0 01.53-.22h7.664a.75.75 0 01.53.22l5.418 5.418c.141.14.22.332.22.53v7.664a.75.75 0 01-.22.53l-5.418 5.418a.75.75 0 01-.53.22H8.168a.75.75 0 01-.53-.22l-5.42-5.418a.75.75 0 01-.219-.53V8.168a.75.75 0 01.22-.53l5.418-5.42zM8.48 3.5L3.5 8.48v7.04l4.98 4.98h7.04l4.98-4.98V8.48L15.52 3.5H8.48zM7 11.75a.75.75 0 01.75-.75h8.5a.75.75 0 010 1.5h-8.5a.75.75 0 01-.75-.75z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nBlockedIcon.defaultProps = {\n className: 'octicon octicon-blocked',\n size: 16,\n verticalAlign: 'text-bottom'\n};\n\nfunction BoldIcon(props) {\n var svgDataByHeight = { \"16\": { \"width\": 16, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M4 2a1 1 0 00-1 1v10a1 1 0 001 1h5.5a3.5 3.5 0 001.852-6.47A3.5 3.5 0 008.5 2H4zm4.5 5a1.5 1.5 0 100-3H5v3h3.5zM5 9v3h4.5a1.5 1.5 0 000-3H5z\\\"></path>\" }, \"24\": { \"width\": 24, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M6 4.75c0-.69.56-1.25 1.25-1.25h5a4.75 4.75 0 013.888 7.479A5 5 0 0114 20.5H7.25c-.69 0-1.25-.56-1.25-1.25V4.75zM8.5 13v5H14a2.5 2.5 0 000-5H8.5zm0-2.5h3.751A2.25 2.25 0 0012.25 6H8.5v4.5z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nBoldIcon.defaultProps = {\n className: 'octicon octicon-bold',\n size: 16,\n verticalAlign: 'text-bottom'\n};\n\nfunction BookIcon(props) {\n var svgDataByHeight = { \"16\": { \"width\": 16, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M0 1.75A.75.75 0 01.75 1h4.253c1.227 0 2.317.59 3 1.501A3.744 3.744 0 0111.006 1h4.245a.75.75 0 01.75.75v10.5a.75.75 0 01-.75.75h-4.507a2.25 2.25 0 00-1.591.659l-.622.621a.75.75 0 01-1.06 0l-.622-.621A2.25 2.25 0 005.258 13H.75a.75.75 0 01-.75-.75V1.75zm8.755 3a2.25 2.25 0 012.25-2.25H14.5v9h-3.757c-.71 0-1.4.201-1.992.572l.004-7.322zm-1.504 7.324l.004-5.073-.002-2.253A2.25 2.25 0 005.003 2.5H1.5v9h3.757a3.75 3.75 0 011.994.574z\\\"></path>\" }, \"24\": { \"width\": 24, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M0 3.75A.75.75 0 01.75 3h7.497c1.566 0 2.945.8 3.751 2.014A4.496 4.496 0 0115.75 3h7.5a.75.75 0 01.75.75v15.063a.75.75 0 01-.755.75l-7.682-.052a3 3 0 00-2.142.878l-.89.891a.75.75 0 01-1.061 0l-.902-.901a3 3 0 00-2.121-.879H.75a.75.75 0 01-.75-.75v-15zm11.247 3.747a3 3 0 00-3-2.997H1.5V18h6.947a4.5 4.5 0 012.803.98l-.003-11.483zm1.503 11.485V7.5a3 3 0 013-3h6.75v13.558l-6.927-.047a4.5 4.5 0 00-2.823.971z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nBookIcon.defaultProps = {\n className: 'octicon octicon-book',\n size: 16,\n verticalAlign: 'text-bottom'\n};\n\nfunction BookmarkIcon(props) {\n var svgDataByHeight = { \"16\": { \"width\": 16, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M4.75 2.5a.25.25 0 00-.25.25v9.91l3.023-2.489a.75.75 0 01.954 0l3.023 2.49V2.75a.25.25 0 00-.25-.25h-6.5zM3 2.75C3 1.784 3.784 1 4.75 1h6.5c.966 0 1.75.784 1.75 1.75v11.5a.75.75 0 01-1.227.579L8 11.722l-3.773 3.107A.75.75 0 013 14.25V2.75z\\\"></path>\" }, \"24\": { \"width\": 24, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M5 3.75C5 2.784 5.784 2 6.75 2h10.5c.966 0 1.75.784 1.75 1.75v17.5a.75.75 0 01-1.218.586L12 17.21l-5.781 4.625A.75.75 0 015 21.25V3.75zm1.75-.25a.25.25 0 00-.25.25v15.94l5.031-4.026a.75.75 0 01.938 0L17.5 19.69V3.75a.25.25 0 00-.25-.25H6.75z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nBookmarkIcon.defaultProps = {\n className: 'octicon octicon-bookmark',\n size: 16,\n verticalAlign: 'text-bottom'\n};\n\nfunction BookmarkFillIcon(props) {\n var svgDataByHeight = { \"24\": { \"width\": 24, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M6.69 2a1.75 1.75 0 00-1.75 1.756L5 21.253a.75.75 0 001.219.583L12 17.21l5.782 4.625A.75.75 0 0019 21.25V3.75A1.75 1.75 0 0017.25 2H6.69z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nBookmarkFillIcon.defaultProps = {\n className: 'octicon octicon-bookmark-fill',\n size: 16,\n verticalAlign: 'text-bottom'\n};\n\nfunction BookmarkSlashIcon(props) {\n var svgDataByHeight = { \"16\": { \"width\": 16, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M1.19 1.143a.75.75 0 10-.88 1.214L3 4.305v9.945a.75.75 0 001.206.596L8 11.944l3.794 2.902A.75.75 0 0013 14.25v-2.703l1.81 1.31a.75.75 0 10.88-1.214l-2.994-2.168a1.09 1.09 0 00-.014-.01L4.196 3.32a.712.712 0 00-.014-.01L1.19 1.143zM4.5 5.39v7.341l3.044-2.328a.75.75 0 01.912 0l3.044 2.328V10.46l-7-5.07zM5.865 1a.75.75 0 000 1.5h5.385a.25.25 0 01.25.25v3.624a.75.75 0 001.5 0V2.75A1.75 1.75 0 0011.25 1H5.865z\\\"></path>\" }, \"24\": { \"width\": 24, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M1.565 2.018a.75.75 0 00-.88 1.214L5 6.357v14.902a.75.75 0 001.219.585L12 17.21l5.781 4.633A.75.75 0 0019 21.259v-4.764l3.435 2.487a.75.75 0 10.88-1.215L1.565 2.017zM17.5 15.408l-11-7.965v12.254l5.031-4.032a.75.75 0 01.938 0l5.031 4.032v-4.288z\\\"></path><path d=\\\"M7.25 2a.75.75 0 000 1.5h10a.25.25 0 01.25.25v6.5a.75.75 0 001.5 0v-6.5A1.75 1.75 0 0017.25 2h-10z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nBookmarkSlashIcon.defaultProps = {\n className: 'octicon octicon-bookmark-slash',\n size: 16,\n verticalAlign: 'text-bottom'\n};\n\nfunction BookmarkSlashFillIcon(props) {\n var svgDataByHeight = { \"24\": { \"width\": 24, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M3.232 2.175a.75.75 0 10-.964 1.15l2.679 2.244L5 21.253a.75.75 0 001.219.583L12 17.21l5.782 4.625A.75.75 0 0019 21.25v-3.907l1.768 1.482a.75.75 0 10.964-1.15l-18.5-15.5zM7.422 2a.75.75 0 00-.482 1.325l10.828 9.073A.75.75 0 0019 11.823V3.75A1.75 1.75 0 0017.25 2H7.421h.001z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nBookmarkSlashFillIcon.defaultProps = {\n className: 'octicon octicon-bookmark-slash-fill',\n size: 16,\n verticalAlign: 'text-bottom'\n};\n\nfunction BriefcaseIcon(props) {\n var svgDataByHeight = { \"16\": { \"width\": 16, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M6.75 0A1.75 1.75 0 005 1.75V3H1.75A1.75 1.75 0 000 4.75v8.5C0 14.216.784 15 1.75 15h12.5A1.75 1.75 0 0016 13.25v-8.5A1.75 1.75 0 0014.25 3H11V1.75A1.75 1.75 0 009.25 0h-2.5zM9.5 3V1.75a.25.25 0 00-.25-.25h-2.5a.25.25 0 00-.25.25V3h3zM5 4.5H1.75a.25.25 0 00-.25.25V6a2 2 0 002 2h9a2 2 0 002-2V4.75a.25.25 0 00-.25-.25H5zm-1.5 5a3.484 3.484 0 01-2-.627v4.377c0 .138.112.25.25.25h12.5a.25.25 0 00.25-.25V8.873a3.484 3.484 0 01-2 .627h-9z\\\"></path>\" }, \"24\": { \"width\": 24, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M7.5 1.75C7.5.784 8.284 0 9.25 0h5.5c.966 0 1.75.784 1.75 1.75V4h4.75c.966 0 1.75.784 1.75 1.75v14.5A1.75 1.75 0 0121.25 22H2.75A1.75 1.75 0 011 20.25V5.75C1 4.784 1.784 4 2.75 4H7.5V1.75zm-5 10.24v8.26c0 .138.112.25.25.25h18.5a.25.25 0 00.25-.25v-8.26A4.233 4.233 0 0118.75 13H5.25a4.233 4.233 0 01-2.75-1.01zm19-3.24a2.75 2.75 0 01-2.75 2.75H5.25A2.75 2.75 0 012.5 8.75v-3a.25.25 0 01.25-.25h18.5a.25.25 0 01.25.25v3zm-6.5-7V4H9V1.75a.25.25 0 01.25-.25h5.5a.25.25 0 01.25.25z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nBriefcaseIcon.defaultProps = {\n className: 'octicon octicon-briefcase',\n size: 16,\n verticalAlign: 'text-bottom'\n};\n\nfunction BroadcastIcon(props) {\n var svgDataByHeight = { \"16\": { \"width\": 16, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M3.267 1.457c.3.286.312.76.026 1.06A6.475 6.475 0 001.5 7a6.472 6.472 0 001.793 4.483.75.75 0 01-1.086 1.034 8.89 8.89 0 01-.276-.304l.569-.49-.569.49A7.971 7.971 0 010 7c0-2.139.84-4.083 2.207-5.517a.75.75 0 011.06-.026zm9.466 0a.75.75 0 011.06.026A7.975 7.975 0 0116 7c0 2.139-.84 4.083-2.207 5.517a.75.75 0 11-1.086-1.034A6.475 6.475 0 0014.5 7a6.475 6.475 0 00-1.793-4.483.75.75 0 01.026-1.06zM8.75 8.582a1.75 1.75 0 10-1.5 0v5.668a.75.75 0 001.5 0V8.582zM5.331 4.736a.75.75 0 10-1.143-.972A4.983 4.983 0 003 7c0 1.227.443 2.352 1.177 3.222a.75.75 0 001.146-.967A3.483 3.483 0 014.5 7c0-.864.312-1.654.831-2.264zm6.492-.958a.75.75 0 00-1.146.967c.514.61.823 1.395.823 2.255 0 .86-.31 1.646-.823 2.255a.75.75 0 101.146.967A4.983 4.983 0 0013 7a4.983 4.983 0 00-1.177-3.222z\\\"></path>\" }, \"24\": { \"width\": 24, \"path\": \"<path d=\\\"M20.485 2.515a.75.75 0 00-1.06 1.06A10.465 10.465 0 0122.5 11c0 2.9-1.174 5.523-3.075 7.424a.75.75 0 001.06 1.061A11.965 11.965 0 0024 11c0-3.314-1.344-6.315-3.515-8.485zm-15.91 1.06a.75.75 0 00-1.06-1.06A11.965 11.965 0 000 11c0 3.313 1.344 6.314 3.515 8.485a.75.75 0 001.06-1.06A10.465 10.465 0 011.5 11c0-2.9 1.174-5.524 3.075-7.425zM8.11 7.11a.75.75 0 00-1.06-1.06A6.98 6.98 0 005 11a6.98 6.98 0 002.05 4.95.75.75 0 001.06-1.061 5.48 5.48 0 01-1.61-3.89 5.48 5.48 0 011.61-3.888zm8.84-1.06a.75.75 0 10-1.06 1.06A5.48 5.48 0 0117.5 11a5.48 5.48 0 01-1.61 3.889.75.75 0 101.06 1.06A6.98 6.98 0 0019 11a6.98 6.98 0 00-2.05-4.949zM14 11a2 2 0 01-1.25 1.855v8.395a.75.75 0 01-1.5 0v-8.395A2 2 0 1114 11z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nBroadcastIcon.defaultProps = {\n className: 'octicon octicon-broadcast',\n size: 16,\n verticalAlign: 'text-bottom'\n};\n\nfunction BrowserIcon(props) {\n var svgDataByHeight = { \"16\": { \"width\": 16, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M0 2.75C0 1.784.784 1 1.75 1h12.5c.966 0 1.75.784 1.75 1.75v10.5A1.75 1.75 0 0114.25 15H1.75A1.75 1.75 0 010 13.25V2.75zm1.75-.25a.25.25 0 00-.25.25V4.5h2v-2H1.75zM5 2.5v2h2v-2H5zm3.5 0v2h6V2.75a.25.25 0 00-.25-.25H8.5zm6 3.5h-13v7.25c0 .138.112.25.25.25h12.5a.25.25 0 00.25-.25V6z\\\"></path>\" }, \"24\": { \"width\": 24, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M0 3.75C0 2.784.784 2 1.75 2h20.5c.966 0 1.75.784 1.75 1.75v16.5A1.75 1.75 0 0122.25 22H1.75A1.75 1.75 0 010 20.25V3.75zm1.75-.25a.25.25 0 00-.25.25V5.5h4v-2H1.75zM7 3.5v2h4v-2H7zm5.5 0v2h10V3.75a.25.25 0 00-.25-.25H12.5zm10 3.5h-21v13.25c0 .138.112.25.25.25h20.5a.25.25 0 00.25-.25V7z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nBrowserIcon.defaultProps = {\n className: 'octicon octicon-browser',\n size: 16,\n verticalAlign: 'text-bottom'\n};\n\nfunction BugIcon(props) {\n var svgDataByHeight = { \"16\": { \"width\": 16, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M4.72.22a.75.75 0 011.06 0l1 .999a3.492 3.492 0 012.441 0l.999-1a.75.75 0 111.06 1.061l-.775.776c.616.63.995 1.493.995 2.444v.327c0 .1-.009.197-.025.292.408.14.764.392 1.029.722l1.968-.787a.75.75 0 01.556 1.392L13 7.258V9h2.25a.75.75 0 010 1.5H13v.5c0 .409-.049.806-.141 1.186l2.17.868a.75.75 0 01-.557 1.392l-2.184-.873A4.997 4.997 0 018 16a4.997 4.997 0 01-4.288-2.427l-2.183.873a.75.75 0 01-.558-1.392l2.17-.868A5.013 5.013 0 013 11v-.5H.75a.75.75 0 010-1.5H3V7.258L.971 6.446a.75.75 0 01.558-1.392l1.967.787c.265-.33.62-.583 1.03-.722a1.684 1.684 0 01-.026-.292V4.5c0-.951.38-1.814.995-2.444L4.72 1.28a.75.75 0 010-1.06zM6.173 5h3.654A.173.173 0 0010 4.827V4.5a2 2 0 10-4 0v.327c0 .096.077.173.173.173zM5.25 6.5a.75.75 0 00-.75.75V11a3.5 3.5 0 107 0V7.25a.75.75 0 00-.75-.75h-5.5z\\\"></path>\" }, \"24\": { \"width\": 24, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M7.72.22a.75.75 0 011.06 0l1.204 1.203A4.983 4.983 0 0112 1c.717 0 1.4.151 2.016.423L15.22.22a.75.75 0 011.06 1.06l-.971.972A4.988 4.988 0 0117 6v1.104a2.755 2.755 0 011.917 1.974l1.998-.999a.75.75 0 01.67 1.342L19 10.714V13.5l3.25.003a.75.75 0 110 1.5L19 15.001V16a7.02 7.02 0 01-.204 1.686.833.833 0 01.04.018l2.75 1.375a.75.75 0 11-.671 1.342l-2.638-1.319A7 7 0 0112 23a7 7 0 01-6.197-3.742l-2.758 1.181a.75.75 0 11-.59-1.378l2.795-1.199A7.007 7.007 0 015 16v-.996H1.75a.75.75 0 010-1.5H5v-2.79L2.415 9.42a.75.75 0 01.67-1.342l1.998.999A2.755 2.755 0 017 7.104V6a4.99 4.99 0 011.69-3.748l-.97-.972a.75.75 0 010-1.06zM8.5 7h7V6a3.5 3.5 0 10-7 0v1zm-2 3.266V9.75c0-.69.56-1.25 1.25-1.25h8.5c.69 0 1.25.56 1.25 1.25V16a5.5 5.5 0 01-11 0v-5.734z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nBugIcon.defaultProps = {\n className: 'octicon octicon-bug',\n size: 16,\n verticalAlign: 'text-bottom'\n};\n\nfunction CalendarIcon(props) {\n var svgDataByHeight = { \"16\": { \"width\": 16, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M4.75 0a.75.75 0 01.75.75V2h5V.75a.75.75 0 011.5 0V2h1.25c.966 0 1.75.784 1.75 1.75v10.5A1.75 1.75 0 0113.25 16H2.75A1.75 1.75 0 011 14.25V3.75C1 2.784 1.784 2 2.75 2H4V.75A.75.75 0 014.75 0zm0 3.5h8.5a.25.25 0 01.25.25V6h-11V3.75a.25.25 0 01.25-.25h2zm-2.25 4v6.75c0 .138.112.25.25.25h10.5a.25.25 0 00.25-.25V7.5h-11z\\\"></path>\" }, \"24\": { \"width\": 24, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M6.75 0a.75.75 0 01.75.75V3h9V.75a.75.75 0 011.5 0V3h2.75c.966 0 1.75.784 1.75 1.75v16a1.75 1.75 0 01-1.75 1.75H3.25a1.75 1.75 0 01-1.75-1.75v-16C1.5 3.784 2.284 3 3.25 3H6V.75A.75.75 0 016.75 0zm-3.5 4.5a.25.25 0 00-.25.25V8h18V4.75a.25.25 0 00-.25-.25H3.25zM21 9.5H3v11.25c0 .138.112.25.25.25h17.5a.25.25 0 00.25-.25V9.5z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nCalendarIcon.defaultProps = {\n className: 'octicon octicon-calendar',\n size: 16,\n verticalAlign: 'text-bottom'\n};\n\nfunction CheckIcon(props) {\n var svgDataByHeight = { \"16\": { \"width\": 16, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M13.78 4.22a.75.75 0 010 1.06l-7.25 7.25a.75.75 0 01-1.06 0L2.22 9.28a.75.75 0 011.06-1.06L6 10.94l6.72-6.72a.75.75 0 011.06 0z\\\"></path>\" }, \"24\": { \"width\": 24, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M21.03 5.72a.75.75 0 010 1.06l-11.5 11.5a.75.75 0 01-1.072-.012l-5.5-5.75a.75.75 0 111.084-1.036l4.97 5.195L19.97 5.72a.75.75 0 011.06 0z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nCheckIcon.defaultProps = {\n className: 'octicon octicon-check',\n size: 16,\n verticalAlign: 'text-bottom'\n};\n\nfunction CheckCircleIcon(props) {\n var svgDataByHeight = { \"16\": { \"width\": 16, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M1.5 8a6.5 6.5 0 1113 0 6.5 6.5 0 01-13 0zM0 8a8 8 0 1116 0A8 8 0 010 8zm11.78-1.72a.75.75 0 00-1.06-1.06L6.75 9.19 5.28 7.72a.75.75 0 00-1.06 1.06l2 2a.75.75 0 001.06 0l4.5-4.5z\\\"></path>\" }, \"24\": { \"width\": 24, \"path\": \"<path d=\\\"M17.28 9.28a.75.75 0 00-1.06-1.06l-5.97 5.97-2.47-2.47a.75.75 0 00-1.06 1.06l3 3a.75.75 0 001.06 0l6.5-6.5z\\\"></path><path fill-rule=\\\"evenodd\\\" d=\\\"M12 1C5.925 1 1 5.925 1 12s4.925 11 11 11 11-4.925 11-11S18.075 1 12 1zM2.5 12a9.5 9.5 0 1119 0 9.5 9.5 0 01-19 0z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nCheckCircleIcon.defaultProps = {\n className: 'octicon octicon-check-circle',\n size: 16,\n verticalAlign: 'text-bottom'\n};\n\nfunction CheckCircleFillIcon(props) {\n var svgDataByHeight = { \"16\": { \"width\": 16, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M8 16A8 8 0 108 0a8 8 0 000 16zm3.78-9.72a.75.75 0 00-1.06-1.06L6.75 9.19 5.28 7.72a.75.75 0 00-1.06 1.06l2 2a.75.75 0 001.06 0l4.5-4.5z\\\"></path>\" }, \"24\": { \"width\": 24, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M1 12C1 5.925 5.925 1 12 1s11 4.925 11 11-4.925 11-11 11S1 18.075 1 12zm16.28-2.72a.75.75 0 00-1.06-1.06l-5.97 5.97-2.47-2.47a.75.75 0 00-1.06 1.06l3 3a.75.75 0 001.06 0l6.5-6.5z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nCheckCircleFillIcon.defaultProps = {\n className: 'octicon octicon-check-circle-fill',\n size: 16,\n verticalAlign: 'text-bottom'\n};\n\nfunction ChecklistIcon(props) {\n var svgDataByHeight = { \"16\": { \"width\": 16, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M2.5 1.75a.25.25 0 01.25-.25h8.5a.25.25 0 01.25.25v7.736a.75.75 0 101.5 0V1.75A1.75 1.75 0 0011.25 0h-8.5A1.75 1.75 0 001 1.75v11.5c0 .966.784 1.75 1.75 1.75h3.17a.75.75 0 000-1.5H2.75a.25.25 0 01-.25-.25V1.75zM4.75 4a.75.75 0 000 1.5h4.5a.75.75 0 000-1.5h-4.5zM4 7.75A.75.75 0 014.75 7h2a.75.75 0 010 1.5h-2A.75.75 0 014 7.75zm11.774 3.537a.75.75 0 00-1.048-1.074L10.7 14.145 9.281 12.72a.75.75 0 00-1.062 1.058l1.943 1.95a.75.75 0 001.055.008l4.557-4.45z\\\"></path>\" }, \"24\": { \"width\": 24, \"path\": \"<path d=\\\"M3.5 3.75a.25.25 0 01.25-.25h13.5a.25.25 0 01.25.25v10a.75.75 0 001.5 0v-10A1.75 1.75 0 0017.25 2H3.75A1.75 1.75 0 002 3.75v16.5c0 .966.784 1.75 1.75 1.75h7a.75.75 0 000-1.5h-7a.25.25 0 01-.25-.25V3.75z\\\"></path><path d=\\\"M6.25 7a.75.75 0 000 1.5h8.5a.75.75 0 000-1.5h-8.5zm-.75 4.75a.75.75 0 01.75-.75h4.5a.75.75 0 010 1.5h-4.5a.75.75 0 01-.75-.75zm16.28 4.53a.75.75 0 10-1.06-1.06l-4.97 4.97-1.97-1.97a.75.75 0 10-1.06 1.06l2.5 2.5a.75.75 0 001.06 0l5.5-5.5z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nChecklistIcon.defaultProps = {\n className: 'octicon octicon-checklist',\n size: 16,\n verticalAlign: 'text-bottom'\n};\n\nfunction ChevronDownIcon(props) {\n var svgDataByHeight = { \"16\": { \"width\": 16, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M12.78 6.22a.75.75 0 010 1.06l-4.25 4.25a.75.75 0 01-1.06 0L3.22 7.28a.75.75 0 011.06-1.06L8 9.94l3.72-3.72a.75.75 0 011.06 0z\\\"></path>\" }, \"24\": { \"width\": 24, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M5.22 8.72a.75.75 0 000 1.06l6.25 6.25a.75.75 0 001.06 0l6.25-6.25a.75.75 0 00-1.06-1.06L12 14.44 6.28 8.72a.75.75 0 00-1.06 0z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nChevronDownIcon.defaultProps = {\n className: 'octicon octicon-chevron-down',\n size: 16,\n verticalAlign: 'text-bottom'\n};\n\nfunction ChevronLeftIcon(props) {\n var svgDataByHeight = { \"16\": { \"width\": 16, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M9.78 12.78a.75.75 0 01-1.06 0L4.47 8.53a.75.75 0 010-1.06l4.25-4.25a.75.75 0 011.06 1.06L6.06 8l3.72 3.72a.75.75 0 010 1.06z\\\"></path>\" }, \"24\": { \"width\": 24, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M15.28 5.22a.75.75 0 00-1.06 0l-6.25 6.25a.75.75 0 000 1.06l6.25 6.25a.75.75 0 101.06-1.06L9.56 12l5.72-5.72a.75.75 0 000-1.06z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nChevronLeftIcon.defaultProps = {\n className: 'octicon octicon-chevron-left',\n size: 16,\n verticalAlign: 'text-bottom'\n};\n\nfunction ChevronRightIcon(props) {\n var svgDataByHeight = { \"16\": { \"width\": 16, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M6.22 3.22a.75.75 0 011.06 0l4.25 4.25a.75.75 0 010 1.06l-4.25 4.25a.75.75 0 01-1.06-1.06L9.94 8 6.22 4.28a.75.75 0 010-1.06z\\\"></path>\" }, \"24\": { \"width\": 24, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M8.72 18.78a.75.75 0 001.06 0l6.25-6.25a.75.75 0 000-1.06L9.78 5.22a.75.75 0 00-1.06 1.06L14.44 12l-5.72 5.72a.75.75 0 000 1.06z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nChevronRightIcon.defaultProps = {\n className: 'octicon octicon-chevron-right',\n size: 16,\n verticalAlign: 'text-bottom'\n};\n\nfunction ChevronUpIcon(props) {\n var svgDataByHeight = { \"16\": { \"width\": 16, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M3.22 9.78a.75.75 0 010-1.06l4.25-4.25a.75.75 0 011.06 0l4.25 4.25a.75.75 0 01-1.06 1.06L8 6.06 4.28 9.78a.75.75 0 01-1.06 0z\\\"></path>\" }, \"24\": { \"width\": 24, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M18.78 15.28a.75.75 0 000-1.06l-6.25-6.25a.75.75 0 00-1.06 0l-6.25 6.25a.75.75 0 101.06 1.06L12 9.56l5.72 5.72a.75.75 0 001.06 0z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nChevronUpIcon.defaultProps = {\n className: 'octicon octicon-chevron-up',\n size: 16,\n verticalAlign: 'text-bottom'\n};\n\nfunction CircleIcon(props) {\n var svgDataByHeight = { \"16\": { \"width\": 16, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M8 1.5a6.5 6.5 0 100 13 6.5 6.5 0 000-13zM0 8a8 8 0 1116 0A8 8 0 010 8z\\\"></path>\" }, \"24\": { \"width\": 24, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M12 2.5a9.5 9.5 0 100 19 9.5 9.5 0 000-19zM1 12C1 5.925 5.925 1 12 1s11 4.925 11 11-4.925 11-11 11S1 18.075 1 12z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nCircleIcon.defaultProps = {\n className: 'octicon octicon-circle',\n size: 16,\n verticalAlign: 'text-bottom'\n};\n\nfunction CircleSlashIcon(props) {\n var svgDataByHeight = { \"16\": { \"width\": 16, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M1.5 8a6.5 6.5 0 0110.535-5.096l-9.131 9.131A6.472 6.472 0 011.5 8zm2.465 5.096a6.5 6.5 0 009.131-9.131l-9.131 9.131zM8 0a8 8 0 100 16A8 8 0 008 0z\\\"></path>\" }, \"24\": { \"width\": 24, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M12 1C5.925 1 1 5.925 1 12s4.925 11 11 11 11-4.925 11-11S18.075 1 12 1zM2.5 12A9.5 9.5 0 0112 2.5c2.353 0 4.507.856 6.166 2.273L4.773 18.166A9.462 9.462 0 012.5 12zm3.334 7.227A9.462 9.462 0 0012 21.5a9.5 9.5 0 009.5-9.5 9.462 9.462 0 00-2.273-6.166L5.834 19.227z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nCircleSlashIcon.defaultProps = {\n className: 'octicon octicon-circle-slash',\n size: 16,\n verticalAlign: 'text-bottom'\n};\n\nfunction ClippyIcon(props) {\n var svgDataByHeight = { \"16\": { \"width\": 16, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M5.75 1a.75.75 0 00-.75.75v3c0 .414.336.75.75.75h4.5a.75.75 0 00.75-.75v-3a.75.75 0 00-.75-.75h-4.5zm.75 3V2.5h3V4h-3zm-2.874-.467a.75.75 0 00-.752-1.298A1.75 1.75 0 002 3.75v9.5c0 .966.784 1.75 1.75 1.75h8.5A1.75 1.75 0 0014 13.25v-9.5a1.75 1.75 0 00-.874-1.515.75.75 0 10-.752 1.298.25.25 0 01.126.217v9.5a.25.25 0 01-.25.25h-8.5a.25.25 0 01-.25-.25v-9.5a.25.25 0 01.126-.217z\\\"></path>\" }, \"24\": { \"width\": 24, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M5.962 2.513a.75.75 0 01-.475.949l-.816.272a.25.25 0 00-.171.237V21.25c0 .138.112.25.25.25h14.5a.25.25 0 00.25-.25V3.97a.25.25 0 00-.17-.236l-.817-.272a.75.75 0 01.474-1.424l.816.273A1.75 1.75 0 0121 3.97v17.28A1.75 1.75 0 0119.25 23H4.75A1.75 1.75 0 013 21.25V3.97a1.75 1.75 0 011.197-1.66l.816-.272a.75.75 0 01.949.475z\\\"></path><path fill-rule=\\\"evenodd\\\" d=\\\"M7 1.75C7 .784 7.784 0 8.75 0h6.5C16.216 0 17 .784 17 1.75v1.5A1.75 1.75 0 0115.25 5h-6.5A1.75 1.75 0 017 3.25v-1.5zm1.75-.25a.25.25 0 00-.25.25v1.5c0 .138.112.25.25.25h6.5a.25.25 0 00.25-.25v-1.5a.25.25 0 00-.25-.25h-6.5z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nClippyIcon.defaultProps = {\n className: 'octicon octicon-clippy',\n size: 16,\n verticalAlign: 'text-bottom'\n};\n\nfunction ClockIcon(props) {\n var svgDataByHeight = { \"16\": { \"width\": 16, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M1.5 8a6.5 6.5 0 1113 0 6.5 6.5 0 01-13 0zM8 0a8 8 0 100 16A8 8 0 008 0zm.5 4.75a.75.75 0 00-1.5 0v3.5a.75.75 0 00.471.696l2.5 1a.75.75 0 00.557-1.392L8.5 7.742V4.75z\\\"></path>\" }, \"24\": { \"width\": 24, \"path\": \"<path d=\\\"M12.5 7.25a.75.75 0 00-1.5 0v5.5c0 .27.144.518.378.651l3.5 2a.75.75 0 00.744-1.302L12.5 12.315V7.25z\\\"></path><path fill-rule=\\\"evenodd\\\" d=\\\"M12 1C5.925 1 1 5.925 1 12s4.925 11 11 11 11-4.925 11-11S18.075 1 12 1zM2.5 12a9.5 9.5 0 1119 0 9.5 9.5 0 01-19 0z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nClockIcon.defaultProps = {\n className: 'octicon octicon-clock',\n size: 16,\n verticalAlign: 'text-bottom'\n};\n\nfunction CodeIcon(props) {\n var svgDataByHeight = { \"16\": { \"width\": 16, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M4.72 3.22a.75.75 0 011.06 1.06L2.06 8l3.72 3.72a.75.75 0 11-1.06 1.06L.47 8.53a.75.75 0 010-1.06l4.25-4.25zm6.56 0a.75.75 0 10-1.06 1.06L13.94 8l-3.72 3.72a.75.75 0 101.06 1.06l4.25-4.25a.75.75 0 000-1.06l-4.25-4.25z\\\"></path>\" }, \"24\": { \"width\": 24, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M8.78 4.97a.75.75 0 010 1.06L2.81 12l5.97 5.97a.75.75 0 11-1.06 1.06l-6.5-6.5a.75.75 0 010-1.06l6.5-6.5a.75.75 0 011.06 0zm6.44 0a.75.75 0 000 1.06L21.19 12l-5.97 5.97a.75.75 0 101.06 1.06l6.5-6.5a.75.75 0 000-1.06l-6.5-6.5a.75.75 0 00-1.06 0z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nCodeIcon.defaultProps = {\n className: 'octicon octicon-code',\n size: 16,\n verticalAlign: 'text-bottom'\n};\n\nfunction CodeReviewIcon(props) {\n var svgDataByHeight = { \"16\": { \"width\": 16, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M1.5 2.75a.25.25 0 01.25-.25h12.5a.25.25 0 01.25.25v8.5a.25.25 0 01-.25.25h-6.5a.75.75 0 00-.53.22L4.5 14.44v-2.19a.75.75 0 00-.75-.75h-2a.25.25 0 01-.25-.25v-8.5zM1.75 1A1.75 1.75 0 000 2.75v8.5C0 12.216.784 13 1.75 13H3v1.543a1.457 1.457 0 002.487 1.03L8.061 13h6.189A1.75 1.75 0 0016 11.25v-8.5A1.75 1.75 0 0014.25 1H1.75zm5.03 3.47a.75.75 0 010 1.06L5.31 7l1.47 1.47a.75.75 0 01-1.06 1.06l-2-2a.75.75 0 010-1.06l2-2a.75.75 0 011.06 0zm2.44 0a.75.75 0 000 1.06L10.69 7 9.22 8.47a.75.75 0 001.06 1.06l2-2a.75.75 0 000-1.06l-2-2a.75.75 0 00-1.06 0z\\\"></path>\" }, \"24\": { \"width\": 24, \"path\": \"<path d=\\\"M10.3 6.74a.75.75 0 01-.04 1.06l-2.908 2.7 2.908 2.7a.75.75 0 11-1.02 1.1l-3.5-3.25a.75.75 0 010-1.1l3.5-3.25a.75.75 0 011.06.04zm3.44 1.06a.75.75 0 111.02-1.1l3.5 3.25a.75.75 0 010 1.1l-3.5 3.25a.75.75 0 11-1.02-1.1l2.908-2.7-2.908-2.7z\\\"></path><path fill-rule=\\\"evenodd\\\" d=\\\"M1.5 4.25c0-.966.784-1.75 1.75-1.75h17.5c.966 0 1.75.784 1.75 1.75v12.5a1.75 1.75 0 01-1.75 1.75h-9.69l-3.573 3.573A1.457 1.457 0 015 21.043V18.5H3.25a1.75 1.75 0 01-1.75-1.75V4.25zM3.25 4a.25.25 0 00-.25.25v12.5c0 .138.112.25.25.25h2.5a.75.75 0 01.75.75v3.19l3.72-3.72a.75.75 0 01.53-.22h10a.25.25 0 00.25-.25V4.25a.25.25 0 00-.25-.25H3.25z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nCodeReviewIcon.defaultProps = {\n className: 'octicon octicon-code-review',\n size: 16,\n verticalAlign: 'text-bottom'\n};\n\nfunction CodeSquareIcon(props) {\n var svgDataByHeight = { \"16\": { \"width\": 16, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M1.75 1.5a.25.25 0 00-.25.25v12.5c0 .138.112.25.25.25h12.5a.25.25 0 00.25-.25V1.75a.25.25 0 00-.25-.25H1.75zM0 1.75C0 .784.784 0 1.75 0h12.5C15.216 0 16 .784 16 1.75v12.5A1.75 1.75 0 0114.25 16H1.75A1.75 1.75 0 010 14.25V1.75zm9.22 3.72a.75.75 0 000 1.06L10.69 8 9.22 9.47a.75.75 0 101.06 1.06l2-2a.75.75 0 000-1.06l-2-2a.75.75 0 00-1.06 0zM6.78 6.53a.75.75 0 00-1.06-1.06l-2 2a.75.75 0 000 1.06l2 2a.75.75 0 101.06-1.06L5.31 8l1.47-1.47z\\\"></path>\" }, \"24\": { \"width\": 24, \"path\": \"<path d=\\\"M10.3 8.24a.75.75 0 01-.04 1.06L7.352 12l2.908 2.7a.75.75 0 11-1.02 1.1l-3.5-3.25a.75.75 0 010-1.1l3.5-3.25a.75.75 0 011.06.04zm3.44 1.06a.75.75 0 111.02-1.1l3.5 3.25a.75.75 0 010 1.1l-3.5 3.25a.75.75 0 11-1.02-1.1l2.908-2.7-2.908-2.7z\\\"></path><path fill-rule=\\\"evenodd\\\" d=\\\"M2 3.75C2 2.784 2.784 2 3.75 2h16.5c.966 0 1.75.784 1.75 1.75v16.5A1.75 1.75 0 0120.25 22H3.75A1.75 1.75 0 012 20.25V3.75zm1.75-.25a.25.25 0 00-.25.25v16.5c0 .138.112.25.25.25h16.5a.25.25 0 00.25-.25V3.75a.25.25 0 00-.25-.25H3.75z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nCodeSquareIcon.defaultProps = {\n className: 'octicon octicon-code-square',\n size: 16,\n verticalAlign: 'text-bottom'\n};\n\nfunction CodescanIcon(props) {\n var svgDataByHeight = { \"16\": { \"width\": 16, \"path\": \"<path d=\\\"M8.47 4.97a.75.75 0 000 1.06L9.94 7.5 8.47 8.97a.75.75 0 101.06 1.06l2-2a.75.75 0 000-1.06l-2-2a.75.75 0 00-1.06 0zM6.53 6.03a.75.75 0 00-1.06-1.06l-2 2a.75.75 0 000 1.06l2 2a.75.75 0 101.06-1.06L5.06 7.5l1.47-1.47z\\\"></path><path fill-rule=\\\"evenodd\\\" d=\\\"M12.246 13.307a7.5 7.5 0 111.06-1.06l2.474 2.473a.75.75 0 11-1.06 1.06l-2.474-2.473zM1.5 7.5a6 6 0 1110.386 4.094.75.75 0 00-.292.293A6 6 0 011.5 7.5z\\\"></path>\" }, \"24\": { \"width\": 24, \"path\": \"<path d=\\\"M11.97 6.97a.75.75 0 000 1.06l2.47 2.47-2.47 2.47a.75.75 0 101.06 1.06l3-3a.75.75 0 000-1.06l-3-3a.75.75 0 00-1.06 0zM9.03 8.03a.75.75 0 00-1.06-1.06l-3 3a.75.75 0 000 1.06l3 3a.75.75 0 001.06-1.06L6.56 10.5l2.47-2.47z\\\"></path><path fill-rule=\\\"evenodd\\\" d=\\\"M10.5 0C4.701 0 0 4.701 0 10.5S4.701 21 10.5 21c2.63 0 5.033-.967 6.875-2.564l4.345 4.344a.75.75 0 101.06-1.06l-4.344-4.345A10.459 10.459 0 0021 10.5C21 4.701 16.299 0 10.5 0zm-9 10.5a9 9 0 1118 0 9 9 0 01-18 0z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nCodescanIcon.defaultProps = {\n className: 'octicon octicon-codescan',\n size: 16,\n verticalAlign: 'text-bottom'\n};\n\nfunction CodescanCheckmarkIcon(props) {\n var svgDataByHeight = { \"16\": { \"width\": 16, \"path\": \"<path d=\\\"M10.28 6.28a.75.75 0 10-1.06-1.06L6.25 8.19l-.97-.97a.75.75 0 00-1.06 1.06l1.5 1.5a.75.75 0 001.06 0l3.5-3.5z\\\"></path><path fill-rule=\\\"evenodd\\\" d=\\\"M7.5 15a7.469 7.469 0 004.746-1.693l2.474 2.473a.75.75 0 101.06-1.06l-2.473-2.474A7.5 7.5 0 107.5 15zm0-13.5a6 6 0 104.094 10.386.75.75 0 01.293-.292A6 6 0 007.5 1.5z\\\"></path>\" }, \"24\": { \"width\": 24, \"path\": \"<path d=\\\"M15.03 8.28a.75.75 0 00-1.06-1.06l-5.22 5.22-2.22-2.22a.75.75 0 10-1.06 1.06l2.75 2.75a.75.75 0 001.06 0l5.75-5.75z\\\"></path><path fill-rule=\\\"evenodd\\\" d=\\\"M0 10.5C0 4.701 4.701 0 10.5 0S21 4.701 21 10.5c0 2.63-.967 5.033-2.564 6.875l4.344 4.345a.75.75 0 11-1.06 1.06l-4.345-4.344A10.459 10.459 0 0110.5 21C4.701 21 0 16.299 0 10.5zm10.5-9a9 9 0 100 18 9 9 0 000-18z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nCodescanCheckmarkIcon.defaultProps = {\n className: 'octicon octicon-codescan-checkmark',\n size: 16,\n verticalAlign: 'text-bottom'\n};\n\nfunction CodespacesIcon(props) {\n var svgDataByHeight = { \"16\": { \"width\": 16, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M2 1.75C2 .784 2.784 0 3.75 0h8.5C13.216 0 14 .784 14 1.75v5a1.75 1.75 0 01-1.75 1.75h-8.5A1.75 1.75 0 012 6.75v-5zm1.75-.25a.25.25 0 00-.25.25v5c0 .138.112.25.25.25h8.5a.25.25 0 00.25-.25v-5a.25.25 0 00-.25-.25h-8.5zM0 11.25c0-.966.784-1.75 1.75-1.75h12.5c.966 0 1.75.784 1.75 1.75v3A1.75 1.75 0 0114.25 16H1.75A1.75 1.75 0 010 14.25v-3zM1.75 11a.25.25 0 00-.25.25v3c0 .138.112.25.25.25h12.5a.25.25 0 00.25-.25v-3a.25.25 0 00-.25-.25H1.75z\\\"></path><path fill-rule=\\\"evenodd\\\" d=\\\"M3 12.75a.75.75 0 01.75-.75h.5a.75.75 0 010 1.5h-.5a.75.75 0 01-.75-.75zm4 0a.75.75 0 01.75-.75h4.5a.75.75 0 010 1.5h-4.5a.75.75 0 01-.75-.75z\\\"></path>\" }, \"24\": { \"width\": 24, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M3.5 3.75C3.5 2.784 4.284 2 5.25 2h13.5c.966 0 1.75.784 1.75 1.75v7.5A1.75 1.75 0 0118.75 13H5.25a1.75 1.75 0 01-1.75-1.75v-7.5zm1.75-.25a.25.25 0 00-.25.25v7.5c0 .138.112.25.25.25h13.5a.25.25 0 00.25-.25v-7.5a.25.25 0 00-.25-.25H5.25zM1.5 15.75c0-.966.784-1.75 1.75-1.75h17.5c.966 0 1.75.784 1.75 1.75v4a1.75 1.75 0 01-1.75 1.75H3.25a1.75 1.75 0 01-1.75-1.75v-4zm1.75-.25a.25.25 0 00-.25.25v4c0 .138.112.25.25.25h17.5a.25.25 0 00.25-.25v-4a.25.25 0 00-.25-.25H3.25z\\\"></path><path fill-rule=\\\"evenodd\\\" d=\\\"M10 17.75a.75.75 0 01.75-.75h6.5a.75.75 0 010 1.5h-6.5a.75.75 0 01-.75-.75zm-4 0a.75.75 0 01.75-.75h.5a.75.75 0 010 1.5h-.5a.75.75 0 01-.75-.75z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nCodespacesIcon.defaultProps = {\n className: 'octicon octicon-codespaces',\n size: 16,\n verticalAlign: 'text-bottom'\n};\n\nfunction CommentIcon(props) {\n var svgDataByHeight = { \"16\": { \"width\": 16, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M2.75 2.5a.25.25 0 00-.25.25v7.5c0 .138.112.25.25.25h2a.75.75 0 01.75.75v2.19l2.72-2.72a.75.75 0 01.53-.22h4.5a.25.25 0 00.25-.25v-7.5a.25.25 0 00-.25-.25H2.75zM1 2.75C1 1.784 1.784 1 2.75 1h10.5c.966 0 1.75.784 1.75 1.75v7.5A1.75 1.75 0 0113.25 12H9.06l-2.573 2.573A1.457 1.457 0 014 13.543V12H2.75A1.75 1.75 0 011 10.25v-7.5z\\\"></path>\" }, \"24\": { \"width\": 24, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M3.25 4a.25.25 0 00-.25.25v12.5c0 .138.112.25.25.25h2.5a.75.75 0 01.75.75v3.19l3.72-3.72a.75.75 0 01.53-.22h10a.25.25 0 00.25-.25V4.25a.25.25 0 00-.25-.25H3.25zm-1.75.25c0-.966.784-1.75 1.75-1.75h17.5c.966 0 1.75.784 1.75 1.75v12.5a1.75 1.75 0 01-1.75 1.75h-9.69l-3.573 3.573A1.457 1.457 0 015 21.043V18.5H3.25a1.75 1.75 0 01-1.75-1.75V4.25z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nCommentIcon.defaultProps = {\n className: 'octicon octicon-comment',\n size: 16,\n verticalAlign: 'text-bottom'\n};\n\nfunction CommentDiscussionIcon(props) {\n var svgDataByHeight = { \"16\": { \"width\": 16, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M1.5 2.75a.25.25 0 01.25-.25h8.5a.25.25 0 01.25.25v5.5a.25.25 0 01-.25.25h-3.5a.75.75 0 00-.53.22L3.5 11.44V9.25a.75.75 0 00-.75-.75h-1a.25.25 0 01-.25-.25v-5.5zM1.75 1A1.75 1.75 0 000 2.75v5.5C0 9.216.784 10 1.75 10H2v1.543a1.457 1.457 0 002.487 1.03L7.061 10h3.189A1.75 1.75 0 0012 8.25v-5.5A1.75 1.75 0 0010.25 1h-8.5zM14.5 4.75a.25.25 0 00-.25-.25h-.5a.75.75 0 110-1.5h.5c.966 0 1.75.784 1.75 1.75v5.5A1.75 1.75 0 0114.25 12H14v1.543a1.457 1.457 0 01-2.487 1.03L9.22 12.28a.75.75 0 111.06-1.06l2.22 2.22v-2.19a.75.75 0 01.75-.75h1a.25.25 0 00.25-.25v-5.5z\\\"></path>\" }, \"24\": { \"width\": 24, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M1.75 1A1.75 1.75 0 000 2.75v9.5C0 13.216.784 14 1.75 14H3v1.543a1.457 1.457 0 002.487 1.03L8.061 14h6.189A1.75 1.75 0 0016 12.25v-9.5A1.75 1.75 0 0014.25 1H1.75zM1.5 2.75a.25.25 0 01.25-.25h12.5a.25.25 0 01.25.25v9.5a.25.25 0 01-.25.25h-6.5a.75.75 0 00-.53.22L4.5 15.44v-2.19a.75.75 0 00-.75-.75h-2a.25.25 0 01-.25-.25v-9.5z\\\"></path><path d=\\\"M22.5 8.75a.25.25 0 00-.25-.25h-3.5a.75.75 0 010-1.5h3.5c.966 0 1.75.784 1.75 1.75v9.5A1.75 1.75 0 0122.25 20H21v1.543a1.457 1.457 0 01-2.487 1.03L15.939 20H10.75A1.75 1.75 0 019 18.25v-1.465a.75.75 0 011.5 0v1.465c0 .138.112.25.25.25h5.5a.75.75 0 01.53.22l2.72 2.72v-2.19a.75.75 0 01.75-.75h2a.25.25 0 00.25-.25v-9.5z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nCommentDiscussionIcon.defaultProps = {\n className: 'octicon octicon-comment-discussion',\n size: 16,\n verticalAlign: 'text-bottom'\n};\n\nfunction CommitIcon(props) {\n var svgDataByHeight = { \"24\": { \"width\": 24, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M17.5 11.75a.75.75 0 01.75-.75h5a.75.75 0 010 1.5h-5a.75.75 0 01-.75-.75zm-17.5 0A.75.75 0 01.75 11h5a.75.75 0 010 1.5h-5a.75.75 0 01-.75-.75z\\\"></path><path fill-rule=\\\"evenodd\\\" d=\\\"M12 16.25a4.5 4.5 0 100-9 4.5 4.5 0 000 9zm0 1.5a6 6 0 100-12 6 6 0 000 12z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nCommitIcon.defaultProps = {\n className: 'octicon octicon-commit',\n size: 16,\n verticalAlign: 'text-bottom'\n};\n\nfunction ContainerIcon(props) {\n var svgDataByHeight = { \"16\": { \"width\": 16, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M10.41.24l4.711 2.774A1.767 1.767 0 0116 4.54v5.01a1.77 1.77 0 01-.88 1.53l-7.753 4.521-.002.001a1.767 1.767 0 01-1.774 0H5.59L.873 12.85A1.762 1.762 0 010 11.327V6.292c0-.304.078-.598.22-.855l.004-.005.01-.019c.15-.262.369-.486.64-.643L8.641.239a1.75 1.75 0 011.765 0l.002.001zM9.397 1.534a.25.25 0 01.252 0l4.115 2.422-7.152 4.148a.267.267 0 01-.269 0L2.227 5.716l7.17-4.182zM7.365 9.402L8.73 8.61v4.46l-1.5.875V9.473a1.77 1.77 0 00.136-.071zm2.864 2.794V7.741l1.521-.882v4.45l-1.521.887zm3.021-1.762l1.115-.65h.002a.268.268 0 00.133-.232V5.264l-1.25.725v4.445zm-11.621 1.12l4.1 2.393V9.474a1.77 1.77 0 01-.138-.072L1.5 7.029v4.298c0 .095.05.181.129.227z\\\"></path>\" }, \"24\": { \"width\": 24, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M13.152.682a2.25 2.25 0 012.269 0l.007.004 6.957 4.276a2.276 2.276 0 011.126 1.964v7.516c0 .81-.432 1.56-1.133 1.968l-.002.001-11.964 7.037-.004.003a2.276 2.276 0 01-2.284 0l-.026-.015-6.503-4.502a2.268 2.268 0 01-1.096-1.943V9.438c0-.392.1-.77.284-1.1l.003-.006.014-.026a2.28 2.28 0 01.82-.827h.002L13.152.681zm.757 1.295h-.001L2.648 8.616l6.248 4.247a.776.776 0 00.758-.01h.001l11.633-6.804-6.629-4.074a.75.75 0 00-.75.003zM18 9.709l-3.25 1.9v7.548L18 17.245V9.709zm1.5-.878v7.532l2.124-1.25a.777.777 0 00.387-.671V7.363L19.5 8.831zm-9.09 5.316l2.84-1.66v7.552l-3.233 1.902v-7.612c.134-.047.265-.107.391-.18l.002-.002zm-1.893 7.754V14.33a2.277 2.277 0 01-.393-.18l-.023-.014-6.102-4.147v7.003c0 .275.145.528.379.664l.025.014 6.114 4.232z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nContainerIcon.defaultProps = {\n className: 'octicon octicon-container',\n size: 16,\n verticalAlign: 'text-bottom'\n};\n\nfunction CpuIcon(props) {\n var svgDataByHeight = { \"16\": { \"width\": 16, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M6.5.75a.75.75 0 00-1.5 0V2H3.75A1.75 1.75 0 002 3.75V5H.75a.75.75 0 000 1.5H2v3H.75a.75.75 0 000 1.5H2v1.25c0 .966.784 1.75 1.75 1.75H5v1.25a.75.75 0 001.5 0V14h3v1.25a.75.75 0 001.5 0V14h1.25A1.75 1.75 0 0014 12.25V11h1.25a.75.75 0 000-1.5H14v-3h1.25a.75.75 0 000-1.5H14V3.75A1.75 1.75 0 0012.25 2H11V.75a.75.75 0 00-1.5 0V2h-3V.75zm5.75 11.75h-8.5a.25.25 0 01-.25-.25v-8.5a.25.25 0 01.25-.25h8.5a.25.25 0 01.25.25v8.5a.25.25 0 01-.25.25zM5.75 5a.75.75 0 00-.75.75v4.5c0 .414.336.75.75.75h4.5a.75.75 0 00.75-.75v-4.5a.75.75 0 00-.75-.75h-4.5zm.75 4.5v-3h3v3h-3z\\\"></path>\" }, \"24\": { \"width\": 24, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M8.75 8a.75.75 0 00-.75.75v6.5c0 .414.336.75.75.75h6.5a.75.75 0 00.75-.75v-6.5a.75.75 0 00-.75-.75h-6.5zm.75 6.5v-5h5v5h-5z\\\"></path><path fill-rule=\\\"evenodd\\\" d=\\\"M15.25 1a.75.75 0 01.75.75V4h2.25c.966 0 1.75.784 1.75 1.75V8h2.25a.75.75 0 010 1.5H20v5h2.25a.75.75 0 010 1.5H20v2.25A1.75 1.75 0 0118.25 20H16v2.25a.75.75 0 01-1.5 0V20h-5v2.25a.75.75 0 01-1.5 0V20H5.75A1.75 1.75 0 014 18.25V16H1.75a.75.75 0 010-1.5H4v-5H1.75a.75.75 0 010-1.5H4V5.75C4 4.784 4.784 4 5.75 4H8V1.75a.75.75 0 011.5 0V4h5V1.75a.75.75 0 01.75-.75zm3 17.5a.25.25 0 00.25-.25V5.75a.25.25 0 00-.25-.25H5.75a.25.25 0 00-.25.25v12.5c0 .138.112.25.25.25h12.5z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nCpuIcon.defaultProps = {\n className: 'octicon octicon-cpu',\n size: 16,\n verticalAlign: 'text-bottom'\n};\n\nfunction CreditCardIcon(props) {\n var svgDataByHeight = { \"16\": { \"width\": 16, \"path\": \"<path d=\\\"M10.75 9a.75.75 0 000 1.5h1.5a.75.75 0 000-1.5h-1.5z\\\"></path><path fill-rule=\\\"evenodd\\\" d=\\\"M0 3.75C0 2.784.784 2 1.75 2h12.5c.966 0 1.75.784 1.75 1.75v8.5A1.75 1.75 0 0114.25 14H1.75A1.75 1.75 0 010 12.25v-8.5zm14.5 0V5h-13V3.75a.25.25 0 01.25-.25h12.5a.25.25 0 01.25.25zm0 2.75h-13v5.75c0 .138.112.25.25.25h12.5a.25.25 0 00.25-.25V6.5z\\\"></path>\" }, \"24\": { \"width\": 24, \"path\": \"<path d=\\\"M15.25 14a.75.75 0 000 1.5h3.5a.75.75 0 000-1.5h-3.5z\\\"></path><path fill-rule=\\\"evenodd\\\" d=\\\"M1.75 3A1.75 1.75 0 000 4.75v14.5C0 20.216.784 21 1.75 21h20.5A1.75 1.75 0 0024 19.25V4.75A1.75 1.75 0 0022.25 3H1.75zM1.5 4.75a.25.25 0 01.25-.25h20.5a.25.25 0 01.25.25V8.5h-21V4.75zm0 5.25v9.25c0 .138.112.25.25.25h20.5a.25.25 0 00.25-.25V10h-21z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nCreditCardIcon.defaultProps = {\n className: 'octicon octicon-credit-card',\n size: 16,\n verticalAlign: 'text-bottom'\n};\n\nfunction CrossReferenceIcon(props) {\n var svgDataByHeight = { \"16\": { \"width\": 16, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M16 1.25v4.146a.25.25 0 01-.427.177L14.03 4.03l-3.75 3.75a.75.75 0 11-1.06-1.06l3.75-3.75-1.543-1.543A.25.25 0 0111.604 1h4.146a.25.25 0 01.25.25zM2.75 3.5a.25.25 0 00-.25.25v7.5c0 .138.112.25.25.25h2a.75.75 0 01.75.75v2.19l2.72-2.72a.75.75 0 01.53-.22h4.5a.25.25 0 00.25-.25v-2.5a.75.75 0 111.5 0v2.5A1.75 1.75 0 0113.25 13H9.06l-2.573 2.573A1.457 1.457 0 014 14.543V13H2.75A1.75 1.75 0 011 11.25v-7.5C1 2.784 1.784 2 2.75 2h5.5a.75.75 0 010 1.5h-5.5z\\\"></path>\" }, \"24\": { \"width\": 24, \"path\": \"<path d=\\\"M16.5 2.25a.75.75 0 01.75-.75h5.5a.75.75 0 01.75.75v5.5a.75.75 0 01-1.5 0V4.06l-6.22 6.22a.75.75 0 11-1.06-1.06L20.94 3h-3.69a.75.75 0 01-.75-.75z\\\"></path><path d=\\\"M3.25 4a.25.25 0 00-.25.25v12.5c0 .138.112.25.25.25h2.5a.75.75 0 01.75.75v3.19l3.72-3.72a.75.75 0 01.53-.22h10a.25.25 0 00.25-.25v-6a.75.75 0 011.5 0v6a1.75 1.75 0 01-1.75 1.75h-9.69l-3.573 3.573A1.457 1.457 0 015 21.043V18.5H3.25a1.75 1.75 0 01-1.75-1.75V4.25c0-.966.784-1.75 1.75-1.75h11a.75.75 0 010 1.5h-11z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nCrossReferenceIcon.defaultProps = {\n className: 'octicon octicon-cross-reference',\n size: 16,\n verticalAlign: 'text-bottom'\n};\n\nfunction DashIcon(props) {\n var svgDataByHeight = { \"16\": { \"width\": 16, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M2 7.75A.75.75 0 012.75 7h10a.75.75 0 010 1.5h-10A.75.75 0 012 7.75z\\\"></path>\" }, \"24\": { \"width\": 24, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M4.5 12.75a.75.75 0 01.75-.75h13.5a.75.75 0 010 1.5H5.25a.75.75 0 01-.75-.75z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nDashIcon.defaultProps = {\n className: 'octicon octicon-dash',\n size: 16,\n verticalAlign: 'text-bottom'\n};\n\nfunction DatabaseIcon(props) {\n var svgDataByHeight = { \"16\": { \"width\": 16, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M2.5 3.5c0-.133.058-.318.282-.55.227-.237.592-.484 1.1-.708C4.899 1.795 6.354 1.5 8 1.5c1.647 0 3.102.295 4.117.742.51.224.874.47 1.101.707.224.233.282.418.282.551 0 .133-.058.318-.282.55-.227.237-.592.484-1.1.708C11.101 5.205 9.646 5.5 8 5.5c-1.647 0-3.102-.295-4.117-.742-.51-.224-.874-.47-1.101-.707-.224-.233-.282-.418-.282-.551zM1 3.5c0-.626.292-1.165.7-1.59.406-.422.956-.767 1.579-1.041C4.525.32 6.195 0 8 0c1.805 0 3.475.32 4.722.869.622.274 1.172.62 1.578 1.04.408.426.7.965.7 1.591v9c0 .626-.292 1.165-.7 1.59-.406.422-.956.767-1.579 1.041C11.476 15.68 9.806 16 8 16c-1.805 0-3.475-.32-4.721-.869-.623-.274-1.173-.62-1.579-1.04-.408-.426-.7-.965-.7-1.591v-9zM2.5 8V5.724c.241.15.503.286.779.407C4.525 6.68 6.195 7 8 7c1.805 0 3.475-.32 4.722-.869.275-.121.537-.257.778-.407V8c0 .133-.058.318-.282.55-.227.237-.592.484-1.1.708C11.101 9.705 9.646 10 8 10c-1.647 0-3.102-.295-4.117-.742-.51-.224-.874-.47-1.101-.707C2.558 8.318 2.5 8.133 2.5 8zm0 2.225V12.5c0 .133.058.318.282.55.227.237.592.484 1.1.708 1.016.447 2.471.742 4.118.742 1.647 0 3.102-.295 4.117-.742.51-.224.874-.47 1.101-.707.224-.233.282-.418.282-.551v-2.275c-.241.15-.503.285-.778.406-1.247.549-2.917.869-4.722.869-1.805 0-3.475-.32-4.721-.869a6.236 6.236 0 01-.779-.406z\\\"></path>\" }, \"24\": { \"width\": 24, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M12 1.25c-2.487 0-4.774.402-6.466 1.079-.844.337-1.577.758-2.112 1.264C2.886 4.1 2.5 4.744 2.5 5.5v12.987l.026.013H2.5c0 .756.386 1.4.922 1.907.535.506 1.268.927 2.112 1.264 1.692.677 3.979 1.079 6.466 1.079s4.773-.402 6.466-1.079c.844-.337 1.577-.758 2.112-1.264.536-.507.922-1.151.922-1.907h-.026l.026-.013V5.5c0-.756-.386-1.4-.922-1.907-.535-.506-1.268-.927-2.112-1.264C16.773 1.652 14.487 1.25 12 1.25zM4 5.5c0-.21.104-.487.453-.817.35-.332.899-.666 1.638-.962C7.566 3.131 9.655 2.75 12 2.75c2.345 0 4.434.382 5.909.971.74.296 1.287.63 1.638.962.35.33.453.606.453.817 0 .21-.104.487-.453.817-.35.332-.899.666-1.638.962-1.475.59-3.564.971-5.909.971-2.345 0-4.434-.382-5.909-.971-.74-.296-1.287-.63-1.638-.962C4.103 5.987 4 5.711 4 5.5zM20 12V7.871a7.842 7.842 0 01-1.534.8C16.773 9.348 14.487 9.75 12 9.75s-4.774-.402-6.466-1.079A7.843 7.843 0 014 7.871V12c0 .21.104.487.453.817.35.332.899.666 1.638.961 1.475.59 3.564.972 5.909.972 2.345 0 4.434-.382 5.909-.972.74-.295 1.287-.629 1.638-.96.35-.33.453-.607.453-.818zM4 14.371c.443.305.963.572 1.534.8 1.692.677 3.979 1.079 6.466 1.079s4.773-.402 6.466-1.079a7.842 7.842 0 001.534-.8v4.116l.013.013H20c0 .21-.104.487-.453.817-.35.332-.899.666-1.638.962-1.475.59-3.564.971-5.909.971-2.345 0-4.434-.382-5.909-.971-.74-.296-1.287-.63-1.638-.962-.35-.33-.453-.606-.453-.817h-.013L4 18.487V14.37z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nDatabaseIcon.defaultProps = {\n className: 'octicon octicon-database',\n size: 16,\n verticalAlign: 'text-bottom'\n};\n\nfunction DependabotIcon(props) {\n var svgDataByHeight = { \"16\": { \"width\": 16, \"path\": \"<path d=\\\"M5.75 7.5a.75.75 0 01.75.75v1.5a.75.75 0 01-1.5 0v-1.5a.75.75 0 01.75-.75zm5.25.75a.75.75 0 00-1.5 0v1.5a.75.75 0 001.5 0v-1.5z\\\"></path><path fill-rule=\\\"evenodd\\\" d=\\\"M6.25 0a.75.75 0 000 1.5H7.5v2H3.75A2.25 2.25 0 001.5 5.75V8H.75a.75.75 0 000 1.5h.75v2.75a2.25 2.25 0 002.25 2.25h8.5a2.25 2.25 0 002.25-2.25V9.5h.75a.75.75 0 000-1.5h-.75V5.75a2.25 2.25 0 00-2.25-2.25H9V.75A.75.75 0 008.25 0h-2zM3 5.75A.75.75 0 013.75 5h8.5a.75.75 0 01.75.75v6.5a.75.75 0 01-.75.75h-8.5a.75.75 0 01-.75-.75v-6.5z\\\"></path>\" }, \"24\": { \"width\": 24, \"path\": \"<path d=\\\"M8.75 11a.75.75 0 01.75.75v3.5a.75.75 0 01-1.5 0v-3.5a.75.75 0 01.75-.75zm7.25.75a.75.75 0 00-1.5 0v3.5a.75.75 0 001.5 0v-3.5z\\\"></path><path fill-rule=\\\"evenodd\\\" d=\\\"M9.813 1a.75.75 0 000 1.5H11.5V5H4.25A2.25 2.25 0 002 7.25v5.25H.75a.75.75 0 000 1.5H2v5.75A2.25 2.25 0 004.25 22h15.5A2.25 2.25 0 0022 19.75V14h1.25a.75.75 0 000-1.5H22V7.25A2.25 2.25 0 0019.75 5H13V1.75a.75.75 0 00-.75-.75H9.812zM3.5 7.25a.75.75 0 01.75-.75h15.5a.75.75 0 01.75.75v12.5a.75.75 0 01-.75.75H4.25a.75.75 0 01-.75-.75V7.25z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nDependabotIcon.defaultProps = {\n className: 'octicon octicon-dependabot',\n size: 16,\n verticalAlign: 'text-bottom'\n};\n\nfunction DesktopDownloadIcon(props) {\n var svgDataByHeight = { \"16\": { \"width\": 16, \"path\": \"<path d=\\\"M4.927 5.427l2.896 2.896a.25.25 0 00.354 0l2.896-2.896A.25.25 0 0010.896 5H8.75V.75a.75.75 0 10-1.5 0V5H5.104a.25.25 0 00-.177.427z\\\"></path><path d=\\\"M1.573 2.573a.25.25 0 00-.073.177v7.5a.25.25 0 00.25.25h12.5a.25.25 0 00.25-.25v-7.5a.25.25 0 00-.25-.25h-3a.75.75 0 110-1.5h3A1.75 1.75 0 0116 2.75v7.5A1.75 1.75 0 0114.25 12h-3.727c.099 1.041.52 1.872 1.292 2.757A.75.75 0 0111.25 16h-6.5a.75.75 0 01-.565-1.243c.772-.885 1.192-1.716 1.292-2.757H1.75A1.75 1.75 0 010 10.25v-7.5A1.75 1.75 0 011.75 1h3a.75.75 0 010 1.5h-3a.25.25 0 00-.177.073zM6.982 12a5.72 5.72 0 01-.765 2.5h3.566a5.72 5.72 0 01-.765-2.5H6.982z\\\"></path>\" }, \"24\": { \"width\": 24, \"path\": \"<path d=\\\"M11.25 9.331V.75a.75.75 0 011.5 0v8.58l1.949-2.11A.75.75 0 1115.8 8.237l-3.25 3.52a.75.75 0 01-1.102 0l-3.25-3.52A.75.75 0 119.3 7.22l1.949 2.111z\\\"></path><path fill-rule=\\\"evenodd\\\" d=\\\"M2.5 3.75a.25.25 0 01.25-.25h5.5a.75.75 0 100-1.5h-5.5A1.75 1.75 0 001 3.75v11.5c0 .966.784 1.75 1.75 1.75h6.204c-.171 1.375-.805 2.652-1.77 3.757A.75.75 0 007.75 22h8.5a.75.75 0 00.565-1.243c-.964-1.105-1.598-2.382-1.769-3.757h6.204A1.75 1.75 0 0023 15.25V3.75A1.75 1.75 0 0021.25 2h-5.5a.75.75 0 000 1.5h5.5a.25.25 0 01.25.25v11.5a.25.25 0 01-.25.25H2.75a.25.25 0 01-.25-.25V3.75zM10.463 17c-.126 1.266-.564 2.445-1.223 3.5h5.52c-.66-1.055-1.098-2.234-1.223-3.5h-3.074z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nDesktopDownloadIcon.defaultProps = {\n className: 'octicon octicon-desktop-download',\n size: 16,\n verticalAlign: 'text-bottom'\n};\n\nfunction DeviceCameraIcon(props) {\n var svgDataByHeight = { \"16\": { \"width\": 16, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M15 3H7c0-.55-.45-1-1-1H2c-.55 0-1 .45-1 1-.55 0-1 .45-1 1v9c0 .55.45 1 1 1h14c.55 0 1-.45 1-1V4c0-.55-.45-1-1-1zM6 5H2V4h4v1zm4.5 7C8.56 12 7 10.44 7 8.5S8.56 5 10.5 5 14 6.56 14 8.5 12.44 12 10.5 12zM13 8.5c0 1.38-1.13 2.5-2.5 2.5S8 9.87 8 8.5 9.13 6 10.5 6 13 7.13 13 8.5z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nDeviceCameraIcon.defaultProps = {\n className: 'octicon octicon-device-camera',\n size: 16,\n verticalAlign: 'text-bottom'\n};\n\nfunction DeviceCameraVideoIcon(props) {\n var svgDataByHeight = { \"16\": { \"width\": 16, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M16 3.75a.75.75 0 00-1.136-.643L11 5.425V4.75A1.75 1.75 0 009.25 3h-7.5A1.75 1.75 0 000 4.75v6.5C0 12.216.784 13 1.75 13h7.5A1.75 1.75 0 0011 11.25v-.675l3.864 2.318A.75.75 0 0016 12.25v-8.5zm-5 5.075l3.5 2.1v-5.85l-3.5 2.1v1.65zM9.5 6.75v-2a.25.25 0 00-.25-.25h-7.5a.25.25 0 00-.25.25v6.5c0 .138.112.25.25.25h7.5a.25.25 0 00.25-.25v-4.5z\\\"></path>\" }, \"24\": { \"width\": 24, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M24 5.25a.75.75 0 00-1.136-.643L16.5 8.425V6.25a1.75 1.75 0 00-1.75-1.75h-13A1.75 1.75 0 000 6.25v11C0 18.216.784 19 1.75 19h13a1.75 1.75 0 001.75-1.75v-2.175l6.364 3.818A.75.75 0 0024 18.25v-13zm-7.5 8.075l6 3.6V6.575l-6 3.6v3.15zM15 9.75v-3.5a.25.25 0 00-.25-.25h-13a.25.25 0 00-.25.25v11c0 .138.112.25.25.25h13a.25.25 0 00.25-.25v-7.5z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nDeviceCameraVideoIcon.defaultProps = {\n className: 'octicon octicon-device-camera-video',\n size: 16,\n verticalAlign: 'text-bottom'\n};\n\nfunction DeviceDesktopIcon(props) {\n var svgDataByHeight = { \"16\": { \"width\": 16, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M1.75 2.5h12.5a.25.25 0 01.25.25v7.5a.25.25 0 01-.25.25H1.75a.25.25 0 01-.25-.25v-7.5a.25.25 0 01.25-.25zM14.25 1H1.75A1.75 1.75 0 000 2.75v7.5C0 11.216.784 12 1.75 12h3.727c-.1 1.041-.52 1.872-1.292 2.757A.75.75 0 004.75 16h6.5a.75.75 0 00.565-1.243c-.772-.885-1.193-1.716-1.292-2.757h3.727A1.75 1.75 0 0016 10.25v-7.5A1.75 1.75 0 0014.25 1zM9.018 12H6.982a5.72 5.72 0 01-.765 2.5h3.566a5.72 5.72 0 01-.765-2.5z\\\"></path>\" }, \"24\": { \"width\": 24, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M8.954 17H2.75A1.75 1.75 0 011 15.25V3.75C1 2.784 1.784 2 2.75 2h18.5c.966 0 1.75.784 1.75 1.75v11.5A1.75 1.75 0 0121.25 17h-6.204c.171 1.375.805 2.652 1.769 3.757A.75.75 0 0116.25 22h-8.5a.75.75 0 01-.565-1.243c.964-1.105 1.598-2.382 1.769-3.757zM21.5 3.75v11.5a.25.25 0 01-.25.25H2.75a.25.25 0 01-.25-.25V3.75a.25.25 0 01.25-.25h18.5a.25.25 0 01.25.25zM13.537 17c.125 1.266.564 2.445 1.223 3.5H9.24c.659-1.055 1.097-2.234 1.223-3.5h3.074z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nDeviceDesktopIcon.defaultProps = {\n className: 'octicon octicon-device-desktop',\n size: 16,\n verticalAlign: 'text-bottom'\n};\n\nfunction DeviceMobileIcon(props) {\n var svgDataByHeight = { \"16\": { \"width\": 16, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M3.75 0A1.75 1.75 0 002 1.75v12.5c0 .966.784 1.75 1.75 1.75h8.5A1.75 1.75 0 0014 14.25V1.75A1.75 1.75 0 0012.25 0h-8.5zM3.5 1.75a.25.25 0 01.25-.25h8.5a.25.25 0 01.25.25v12.5a.25.25 0 01-.25.25h-8.5a.25.25 0 01-.25-.25V1.75zM8 13a1 1 0 100-2 1 1 0 000 2z\\\"></path>\" }, \"24\": { \"width\": 24, \"path\": \"<path d=\\\"M10.25 5.25A.75.75 0 0111 4.5h2A.75.75 0 0113 6h-2a.75.75 0 01-.75-.75zM12 19.5a1 1 0 100-2 1 1 0 000 2z\\\"></path><path fill-rule=\\\"evenodd\\\" d=\\\"M4 2.75C4 1.784 4.784 1 5.75 1h12.5c.966 0 1.75.784 1.75 1.75v18.5A1.75 1.75 0 0118.25 23H5.75A1.75 1.75 0 014 21.25V2.75zm1.75-.25a.25.25 0 00-.25.25v18.5c0 .138.112.25.25.25h12.5a.25.25 0 00.25-.25V2.75a.25.25 0 00-.25-.25H5.75z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nDeviceMobileIcon.defaultProps = {\n className: 'octicon octicon-device-mobile',\n size: 16,\n verticalAlign: 'text-bottom'\n};\n\nfunction DiffIcon(props) {\n var svgDataByHeight = { \"16\": { \"width\": 16, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M8.75 1.75a.75.75 0 00-1.5 0V5H4a.75.75 0 000 1.5h3.25v3.25a.75.75 0 001.5 0V6.5H12A.75.75 0 0012 5H8.75V1.75zM4 13a.75.75 0 000 1.5h8a.75.75 0 100-1.5H4z\\\"></path>\" }, \"24\": { \"width\": 24, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M12.25 3.5a.75.75 0 01.75.75V8.5h4.25a.75.75 0 010 1.5H13v4.25a.75.75 0 01-1.5 0V10H7.25a.75.75 0 010-1.5h4.25V4.25a.75.75 0 01.75-.75zM6.562 19.25a.75.75 0 01.75-.75h9.938a.75.75 0 010 1.5H7.312a.75.75 0 01-.75-.75z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nDiffIcon.defaultProps = {\n className: 'octicon octicon-diff',\n size: 16,\n verticalAlign: 'text-bottom'\n};\n\nfunction DiffAddedIcon(props) {\n var svgDataByHeight = { \"16\": { \"width\": 16, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M13.25 2.5H2.75a.25.25 0 00-.25.25v10.5c0 .138.112.25.25.25h10.5a.25.25 0 00.25-.25V2.75a.25.25 0 00-.25-.25zM2.75 1h10.5c.966 0 1.75.784 1.75 1.75v10.5A1.75 1.75 0 0113.25 15H2.75A1.75 1.75 0 011 13.25V2.75C1 1.784 1.784 1 2.75 1zM8 4a.75.75 0 01.75.75v2.5h2.5a.75.75 0 010 1.5h-2.5v2.5a.75.75 0 01-1.5 0v-2.5h-2.5a.75.75 0 010-1.5h2.5v-2.5A.75.75 0 018 4z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nDiffAddedIcon.defaultProps = {\n className: 'octicon octicon-diff-added',\n size: 16,\n verticalAlign: 'text-bottom'\n};\n\nfunction DiffIgnoredIcon(props) {\n var svgDataByHeight = { \"16\": { \"width\": 16, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M2.75 2.5h10.5a.25.25 0 01.25.25v10.5a.25.25 0 01-.25.25H2.75a.25.25 0 01-.25-.25V2.75a.25.25 0 01.25-.25zM13.25 1H2.75A1.75 1.75 0 001 2.75v10.5c0 .966.784 1.75 1.75 1.75h10.5A1.75 1.75 0 0015 13.25V2.75A1.75 1.75 0 0013.25 1zm-1.97 4.78a.75.75 0 00-1.06-1.06l-5.5 5.5a.75.75 0 101.06 1.06l5.5-5.5z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nDiffIgnoredIcon.defaultProps = {\n className: 'octicon octicon-diff-ignored',\n size: 16,\n verticalAlign: 'text-bottom'\n};\n\nfunction DiffModifiedIcon(props) {\n var svgDataByHeight = { \"16\": { \"width\": 16, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M2.75 2.5h10.5a.25.25 0 01.25.25v10.5a.25.25 0 01-.25.25H2.75a.25.25 0 01-.25-.25V2.75a.25.25 0 01.25-.25zM13.25 1H2.75A1.75 1.75 0 001 2.75v10.5c0 .966.784 1.75 1.75 1.75h10.5A1.75 1.75 0 0015 13.25V2.75A1.75 1.75 0 0013.25 1zM8 10a2 2 0 100-4 2 2 0 000 4z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nDiffModifiedIcon.defaultProps = {\n className: 'octicon octicon-diff-modified',\n size: 16,\n verticalAlign: 'text-bottom'\n};\n\nfunction DiffRemovedIcon(props) {\n var svgDataByHeight = { \"16\": { \"width\": 16, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M2.75 2.5h10.5a.25.25 0 01.25.25v10.5a.25.25 0 01-.25.25H2.75a.25.25 0 01-.25-.25V2.75a.25.25 0 01.25-.25zM13.25 1H2.75A1.75 1.75 0 001 2.75v10.5c0 .966.784 1.75 1.75 1.75h10.5A1.75 1.75 0 0015 13.25V2.75A1.75 1.75 0 0013.25 1zm-2 7.75a.75.75 0 000-1.5h-6.5a.75.75 0 000 1.5h6.5z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nDiffRemovedIcon.defaultProps = {\n className: 'octicon octicon-diff-removed',\n size: 16,\n verticalAlign: 'text-bottom'\n};\n\nfunction DiffRenamedIcon(props) {\n var svgDataByHeight = { \"16\": { \"width\": 16, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M2.75 2.5h10.5a.25.25 0 01.25.25v10.5a.25.25 0 01-.25.25H2.75a.25.25 0 01-.25-.25V2.75a.25.25 0 01.25-.25zM13.25 1H2.75A1.75 1.75 0 001 2.75v10.5c0 .966.784 1.75 1.75 1.75h10.5A1.75 1.75 0 0015 13.25V2.75A1.75 1.75 0 0013.25 1zm-1.47 7.53a.75.75 0 000-1.06L8.53 4.22a.75.75 0 00-1.06 1.06l1.97 1.97H4.75a.75.75 0 000 1.5h4.69l-1.97 1.97a.75.75 0 101.06 1.06l3.25-3.25z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nDiffRenamedIcon.defaultProps = {\n className: 'octicon octicon-diff-renamed',\n size: 16,\n verticalAlign: 'text-bottom'\n};\n\nfunction DotIcon(props) {\n var svgDataByHeight = { \"16\": { \"width\": 16, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M8 5.5a2.5 2.5 0 100 5 2.5 2.5 0 000-5zM4 8a4 4 0 118 0 4 4 0 01-8 0z\\\"></path>\" }, \"24\": { \"width\": 24, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M12 16.5a4.5 4.5 0 100-9 4.5 4.5 0 000 9zm0 1.5a6 6 0 100-12 6 6 0 000 12z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nDotIcon.defaultProps = {\n className: 'octicon octicon-dot',\n size: 16,\n verticalAlign: 'text-bottom'\n};\n\nfunction DotFillIcon(props) {\n var svgDataByHeight = { \"16\": { \"width\": 16, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M8 4a4 4 0 100 8 4 4 0 000-8z\\\"></path>\" }, \"24\": { \"width\": 24, \"path\": \"<path d=\\\"M12 18a6 6 0 100-12 6 6 0 000 12z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nDotFillIcon.defaultProps = {\n className: 'octicon octicon-dot-fill',\n size: 16,\n verticalAlign: 'text-bottom'\n};\n\nfunction DownloadIcon(props) {\n var svgDataByHeight = { \"16\": { \"width\": 16, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M7.47 10.78a.75.75 0 001.06 0l3.75-3.75a.75.75 0 00-1.06-1.06L8.75 8.44V1.75a.75.75 0 00-1.5 0v6.69L4.78 5.97a.75.75 0 00-1.06 1.06l3.75 3.75zM3.75 13a.75.75 0 000 1.5h8.5a.75.75 0 000-1.5h-8.5z\\\"></path>\" }, \"24\": { \"width\": 24, \"path\": \"<path d=\\\"M4.97 11.03a.75.75 0 111.06-1.06L11 14.94V2.75a.75.75 0 011.5 0v12.19l4.97-4.97a.75.75 0 111.06 1.06l-6.25 6.25a.75.75 0 01-1.06 0l-6.25-6.25zm-.22 9.47a.75.75 0 000 1.5h14.5a.75.75 0 000-1.5H4.75z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nDownloadIcon.defaultProps = {\n className: 'octicon octicon-download',\n size: 16,\n verticalAlign: 'text-bottom'\n};\n\nfunction DuplicateIcon(props) {\n var svgDataByHeight = { \"16\": { \"width\": 16, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M0 6.75C0 5.784.784 5 1.75 5h1.5a.75.75 0 010 1.5h-1.5a.25.25 0 00-.25.25v7.5c0 .138.112.25.25.25h7.5a.25.25 0 00.25-.25v-1.5a.75.75 0 011.5 0v1.5A1.75 1.75 0 019.25 16h-7.5A1.75 1.75 0 010 14.25v-7.5z\\\"></path><path fill-rule=\\\"evenodd\\\" d=\\\"M5 1.75C5 .784 5.784 0 6.75 0h7.5C15.216 0 16 .784 16 1.75v7.5A1.75 1.75 0 0114.25 11h-7.5A1.75 1.75 0 015 9.25v-7.5zm1.75-.25a.25.25 0 00-.25.25v7.5c0 .138.112.25.25.25h7.5a.25.25 0 00.25-.25v-7.5a.25.25 0 00-.25-.25h-7.5z\\\"></path>\" }, \"24\": { \"width\": 24, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M2 9.75C2 8.784 2.784 8 3.75 8h2.5a.75.75 0 010 1.5h-2.5a.25.25 0 00-.25.25v10.5c0 .138.112.25.25.25h10.5a.25.25 0 00.25-.25v-2.5a.75.75 0 011.5 0v2.5A1.75 1.75 0 0114.25 22H3.75A1.75 1.75 0 012 20.25V9.75z\\\"></path><path fill-rule=\\\"evenodd\\\" d=\\\"M8 3.75C8 2.784 8.784 2 9.75 2h10.5c.966 0 1.75.784 1.75 1.75v10.5A1.75 1.75 0 0120.25 16H9.75A1.75 1.75 0 018 14.25V3.75zm1.75-.25a.25.25 0 00-.25.25v10.5c0 .138.112.25.25.25h10.5a.25.25 0 00.25-.25V3.75a.25.25 0 00-.25-.25H9.75z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nDuplicateIcon.defaultProps = {\n className: 'octicon octicon-duplicate',\n size: 16,\n verticalAlign: 'text-bottom'\n};\n\nfunction EllipsisIcon(props) {\n var svgDataByHeight = { \"16\": { \"width\": 16, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M0 5.75C0 4.784.784 4 1.75 4h12.5c.966 0 1.75.784 1.75 1.75v4.5A1.75 1.75 0 0114.25 12H1.75A1.75 1.75 0 010 10.25v-4.5zM4 7a1 1 0 100 2 1 1 0 000-2zm3 1a1 1 0 112 0 1 1 0 01-2 0zm5-1a1 1 0 100 2 1 1 0 000-2z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nEllipsisIcon.defaultProps = {\n className: 'octicon octicon-ellipsis',\n size: 16,\n verticalAlign: 'text-bottom'\n};\n\nfunction EyeIcon(props) {\n var svgDataByHeight = { \"16\": { \"width\": 16, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M1.679 7.932c.412-.621 1.242-1.75 2.366-2.717C5.175 4.242 6.527 3.5 8 3.5c1.473 0 2.824.742 3.955 1.715 1.124.967 1.954 2.096 2.366 2.717a.119.119 0 010 .136c-.412.621-1.242 1.75-2.366 2.717C10.825 11.758 9.473 12.5 8 12.5c-1.473 0-2.824-.742-3.955-1.715C2.92 9.818 2.09 8.69 1.679 8.068a.119.119 0 010-.136zM8 2c-1.981 0-3.67.992-4.933 2.078C1.797 5.169.88 6.423.43 7.1a1.619 1.619 0 000 1.798c.45.678 1.367 1.932 2.637 3.024C4.329 13.008 6.019 14 8 14c1.981 0 3.67-.992 4.933-2.078 1.27-1.091 2.187-2.345 2.637-3.023a1.619 1.619 0 000-1.798c-.45-.678-1.367-1.932-2.637-3.023C11.671 2.992 9.981 2 8 2zm0 8a2 2 0 100-4 2 2 0 000 4z\\\"></path>\" }, \"24\": { \"width\": 24, \"path\": \"<path d=\\\"M15.5 12a3.5 3.5 0 11-7 0 3.5 3.5 0 017 0z\\\"></path><path fill-rule=\\\"evenodd\\\" d=\\\"M12 3.5c-3.432 0-6.125 1.534-8.054 3.24C2.02 8.445.814 10.352.33 11.202a1.6 1.6 0 000 1.598c.484.85 1.69 2.758 3.616 4.46C5.876 18.966 8.568 20.5 12 20.5c3.432 0 6.125-1.534 8.054-3.24 1.926-1.704 3.132-3.611 3.616-4.461a1.6 1.6 0 000-1.598c-.484-.85-1.69-2.757-3.616-4.46C18.124 5.034 15.432 3.5 12 3.5zM1.633 11.945c.441-.774 1.551-2.528 3.307-4.08C6.69 6.314 9.045 5 12 5c2.955 0 5.309 1.315 7.06 2.864 1.756 1.553 2.866 3.307 3.307 4.08a.111.111 0 01.017.056.111.111 0 01-.017.056c-.441.774-1.551 2.527-3.307 4.08C17.31 17.685 14.955 19 12 19c-2.955 0-5.309-1.315-7.06-2.864-1.756-1.553-2.866-3.306-3.307-4.08A.11.11 0 011.616 12a.11.11 0 01.017-.055z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nEyeIcon.defaultProps = {\n className: 'octicon octicon-eye',\n size: 16,\n verticalAlign: 'text-bottom'\n};\n\nfunction EyeClosedIcon(props) {\n var svgDataByHeight = { \"16\": { \"width\": 16, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M.143 2.31a.75.75 0 011.047-.167l14.5 10.5a.75.75 0 11-.88 1.214l-2.248-1.628C11.346 13.19 9.792 14 8 14c-1.981 0-3.67-.992-4.933-2.078C1.797 10.832.88 9.577.43 8.9a1.618 1.618 0 010-1.797c.353-.533.995-1.42 1.868-2.305L.31 3.357A.75.75 0 01.143 2.31zm3.386 3.378a14.21 14.21 0 00-1.85 2.244.12.12 0 00-.022.068c0 .021.006.045.022.068.412.621 1.242 1.75 2.366 2.717C5.175 11.758 6.527 12.5 8 12.5c1.195 0 2.31-.488 3.29-1.191L9.063 9.695A2 2 0 016.058 7.52l-2.53-1.832zM8 3.5c-.516 0-1.017.09-1.499.251a.75.75 0 11-.473-1.423A6.23 6.23 0 018 2c1.981 0 3.67.992 4.933 2.078 1.27 1.091 2.187 2.345 2.637 3.023a1.619 1.619 0 010 1.798c-.11.166-.248.365-.41.587a.75.75 0 11-1.21-.887c.148-.201.272-.382.371-.53a.119.119 0 000-.137c-.412-.621-1.242-1.75-2.366-2.717C10.825 4.242 9.473 3.5 8 3.5z\\\"></path>\" }, \"24\": { \"width\": 24, \"path\": \"<path d=\\\"M8.052 5.837A9.715 9.715 0 0112 5c2.955 0 5.309 1.315 7.06 2.864 1.756 1.553 2.866 3.307 3.307 4.08a.11.11 0 01.016.055.122.122 0 01-.017.06 16.766 16.766 0 01-1.53 2.218.75.75 0 101.163.946 18.253 18.253 0 001.67-2.42 1.607 1.607 0 00.001-1.602c-.485-.85-1.69-2.757-3.616-4.46C18.124 5.034 15.432 3.5 12 3.5c-1.695 0-3.215.374-4.552.963a.75.75 0 00.604 1.373z\\\"></path><path fill-rule=\\\"evenodd\\\" d=\\\"M19.166 17.987C17.328 19.38 14.933 20.5 12 20.5c-3.432 0-6.125-1.534-8.054-3.24C2.02 15.556.814 13.648.33 12.798a1.606 1.606 0 01.001-1.6A18.305 18.305 0 013.648 7.01L1.317 5.362a.75.75 0 11.866-1.224l20.5 14.5a.75.75 0 11-.866 1.224l-2.651-1.875zM4.902 7.898c-1.73 1.541-2.828 3.273-3.268 4.044a.118.118 0 00-.017.059c0 .015.003.034.016.055.441.774 1.551 2.527 3.307 4.08C6.69 17.685 9.045 19 12 19c2.334 0 4.29-.82 5.874-1.927l-3.516-2.487a3.5 3.5 0 01-5.583-3.949L4.902 7.899z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nEyeClosedIcon.defaultProps = {\n className: 'octicon octicon-eye-closed',\n size: 16,\n verticalAlign: 'text-bottom'\n};\n\nfunction FileIcon(props) {\n var svgDataByHeight = { \"16\": { \"width\": 16, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M3.75 1.5a.25.25 0 00-.25.25v11.5c0 .138.112.25.25.25h8.5a.25.25 0 00.25-.25V6H9.75A1.75 1.75 0 018 4.25V1.5H3.75zm5.75.56v2.19c0 .138.112.25.25.25h2.19L9.5 2.06zM2 1.75C2 .784 2.784 0 3.75 0h5.086c.464 0 .909.184 1.237.513l3.414 3.414c.329.328.513.773.513 1.237v8.086A1.75 1.75 0 0112.25 15h-8.5A1.75 1.75 0 012 13.25V1.75z\\\"></path>\" }, \"24\": { \"width\": 24, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M5 2.5a.5.5 0 00-.5.5v18a.5.5 0 00.5.5h14a.5.5 0 00.5-.5V8.5h-4a2 2 0 01-2-2v-4H5zm10 0v4a.5.5 0 00.5.5h4a.5.5 0 00-.146-.336l-4.018-4.018A.5.5 0 0015 2.5zM3 3a2 2 0 012-2h9.982a2 2 0 011.414.586l4.018 4.018A2 2 0 0121 7.018V21a2 2 0 01-2 2H5a2 2 0 01-2-2V3z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nFileIcon.defaultProps = {\n className: 'octicon octicon-file',\n size: 16,\n verticalAlign: 'text-bottom'\n};\n\nfunction FileBadgeIcon(props) {\n var svgDataByHeight = { \"16\": { \"width\": 16, \"path\": \"<path d=\\\"M2.75 1.5a.25.25 0 00-.25.25v11.5c0 .138.112.25.25.25h3.5a.75.75 0 010 1.5h-3.5A1.75 1.75 0 011 13.25V1.75C1 .784 1.784 0 2.75 0h8a1.75 1.75 0 011.508.862.75.75 0 11-1.289.768.25.25 0 00-.219-.13h-8z\\\"></path><path fill-rule=\\\"evenodd\\\" d=\\\"M8 7a4 4 0 116.49 3.13l.995 4.973a.75.75 0 01-.991.852l-2.409-.876a.25.25 0 00-.17 0l-2.409.876a.75.75 0 01-.991-.852l.994-4.973A3.993 3.993 0 018 7zm4-2.5a2.5 2.5 0 100 5 2.5 2.5 0 000-5zm0 6.5a4 4 0 001.104-.154l.649 3.243-1.155-.42c-.386-.14-.81-.14-1.196 0l-1.155.42.649-3.243A4 4 0 0012 11z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nFileBadgeIcon.defaultProps = {\n className: 'octicon octicon-file-badge',\n size: 16,\n verticalAlign: 'text-bottom'\n};\n\nfunction FileBinaryIcon(props) {\n var svgDataByHeight = { \"16\": { \"width\": 16, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M4 1.75C4 .784 4.784 0 5.75 0h5.586c.464 0 .909.184 1.237.513l2.914 2.914c.329.328.513.773.513 1.237v8.586A1.75 1.75 0 0114.25 15h-9a.75.75 0 010-1.5h9a.25.25 0 00.25-.25V6h-2.75A1.75 1.75 0 0110 4.25V1.5H5.75a.25.25 0 00-.25.25v2a.75.75 0 01-1.5 0v-2zm7.5-.188V4.25c0 .138.112.25.25.25h2.688a.252.252 0 00-.011-.013l-2.914-2.914a.272.272 0 00-.013-.011zM0 7.75C0 6.784.784 6 1.75 6h1.5C4.216 6 5 6.784 5 7.75v2.5A1.75 1.75 0 013.25 12h-1.5A1.75 1.75 0 010 10.25v-2.5zm1.75-.25a.25.25 0 00-.25.25v2.5c0 .138.112.25.25.25h1.5a.25.25 0 00.25-.25v-2.5a.25.25 0 00-.25-.25h-1.5zm5-1.5a.75.75 0 000 1.5h.75v3h-.75a.75.75 0 000 1.5h3a.75.75 0 000-1.5H9V6.75A.75.75 0 008.25 6h-1.5z\\\"></path>\" }, \"24\": { \"width\": 24, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M3 3a2 2 0 012-2h9.982a2 2 0 011.414.586l4.018 4.018A2 2 0 0121 7.018V21a2 2 0 01-2 2H4.75a.75.75 0 010-1.5H19a.5.5 0 00.5-.5V8.5h-4a2 2 0 01-2-2v-4H5a.5.5 0 00-.5.5v6.25a.75.75 0 01-1.5 0V3zm12-.5v4a.5.5 0 00.5.5h4a.5.5 0 00-.146-.336l-4.018-4.018A.5.5 0 0015 2.5z\\\"></path><path fill-rule=\\\"evenodd\\\" d=\\\"M0 13.75C0 12.784.784 12 1.75 12h3c.966 0 1.75.784 1.75 1.75v4a1.75 1.75 0 01-1.75 1.75h-3A1.75 1.75 0 010 17.75v-4zm1.75-.25a.25.25 0 00-.25.25v4c0 .138.112.25.25.25h3a.25.25 0 00.25-.25v-4a.25.25 0 00-.25-.25h-3z\\\"></path><path d=\\\"M9 12a.75.75 0 000 1.5h1.5V18H9a.75.75 0 000 1.5h4.5a.75.75 0 000-1.5H12v-5.25a.75.75 0 00-.75-.75H9z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nFileBinaryIcon.defaultProps = {\n className: 'octicon octicon-file-binary',\n size: 16,\n verticalAlign: 'text-bottom'\n};\n\nfunction FileCodeIcon(props) {\n var svgDataByHeight = { \"16\": { \"width\": 16, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M4 1.75C4 .784 4.784 0 5.75 0h5.586c.464 0 .909.184 1.237.513l2.914 2.914c.329.328.513.773.513 1.237v8.586A1.75 1.75 0 0114.25 15h-9a.75.75 0 010-1.5h9a.25.25 0 00.25-.25V6h-2.75A1.75 1.75 0 0110 4.25V1.5H5.75a.25.25 0 00-.25.25v2.5a.75.75 0 01-1.5 0v-2.5zm7.5-.188V4.25c0 .138.112.25.25.25h2.688a.252.252 0 00-.011-.013l-2.914-2.914a.272.272 0 00-.013-.011zM5.72 6.72a.75.75 0 000 1.06l1.47 1.47-1.47 1.47a.75.75 0 101.06 1.06l2-2a.75.75 0 000-1.06l-2-2a.75.75 0 00-1.06 0zM3.28 7.78a.75.75 0 00-1.06-1.06l-2 2a.75.75 0 000 1.06l2 2a.75.75 0 001.06-1.06L1.81 9.25l1.47-1.47z\\\"></path>\" }, \"24\": { \"width\": 24, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M3 3a2 2 0 012-2h9.982a2 2 0 011.414.586l4.018 4.018A2 2 0 0121 7.018V21a2 2 0 01-2 2H4.75a.75.75 0 010-1.5H19a.5.5 0 00.5-.5V8.5h-4a2 2 0 01-2-2v-4H5a.5.5 0 00-.5.5v6.25a.75.75 0 01-1.5 0V3zm12-.5v4a.5.5 0 00.5.5h4a.5.5 0 00-.146-.336l-4.018-4.018A.5.5 0 0015 2.5z\\\"></path><path d=\\\"M4.53 12.24a.75.75 0 01-.039 1.06l-2.639 2.45 2.64 2.45a.75.75 0 11-1.022 1.1l-3.23-3a.75.75 0 010-1.1l3.23-3a.75.75 0 011.06.04zm3.979 1.06a.75.75 0 111.02-1.1l3.231 3a.75.75 0 010 1.1l-3.23 3a.75.75 0 11-1.021-1.1l2.639-2.45-2.64-2.45z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nFileCodeIcon.defaultProps = {\n className: 'octicon octicon-file-code',\n size: 16,\n verticalAlign: 'text-bottom'\n};\n\nfunction FileDiffIcon(props) {\n var svgDataByHeight = { \"16\": { \"width\": 16, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M2.75 1.5a.25.25 0 00-.25.25v12.5c0 .138.112.25.25.25h10.5a.25.25 0 00.25-.25V4.664a.25.25 0 00-.073-.177l-2.914-2.914a.25.25 0 00-.177-.073H2.75zM1 1.75C1 .784 1.784 0 2.75 0h7.586c.464 0 .909.184 1.237.513l2.914 2.914c.329.328.513.773.513 1.237v9.586A1.75 1.75 0 0113.25 16H2.75A1.75 1.75 0 011 14.25V1.75zm7 1.5a.75.75 0 01.75.75v1.5h1.5a.75.75 0 010 1.5h-1.5v1.5a.75.75 0 01-1.5 0V7h-1.5a.75.75 0 010-1.5h1.5V4A.75.75 0 018 3.25zm-3 8a.75.75 0 01.75-.75h4.5a.75.75 0 010 1.5h-4.5a.75.75 0 01-.75-.75z\\\"></path>\" }, \"24\": { \"width\": 24, \"path\": \"<path d=\\\"M12.5 6.75a.75.75 0 00-1.5 0V9H8.75a.75.75 0 000 1.5H11v2.25a.75.75 0 001.5 0V10.5h2.25a.75.75 0 000-1.5H12.5V6.75zM8.75 16a.75.75 0 000 1.5h6a.75.75 0 000-1.5h-6z\\\"></path><path fill-rule=\\\"evenodd\\\" d=\\\"M5 1a2 2 0 00-2 2v18a2 2 0 002 2h14a2 2 0 002-2V7.018a2 2 0 00-.586-1.414l-4.018-4.018A2 2 0 0014.982 1H5zm-.5 2a.5.5 0 01.5-.5h9.982a.5.5 0 01.354.146l4.018 4.018a.5.5 0 01.146.354V21a.5.5 0 01-.5.5H5a.5.5 0 01-.5-.5V3z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nFileDiffIcon.defaultProps = {\n className: 'octicon octicon-file-diff',\n size: 16,\n verticalAlign: 'text-bottom'\n};\n\nfunction FileDirectoryIcon(props) {\n var svgDataByHeight = { \"16\": { \"width\": 16, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M1.75 1A1.75 1.75 0 000 2.75v10.5C0 14.216.784 15 1.75 15h12.5A1.75 1.75 0 0016 13.25v-8.5A1.75 1.75 0 0014.25 3h-6.5a.25.25 0 01-.2-.1l-.9-1.2c-.33-.44-.85-.7-1.4-.7h-3.5z\\\"></path>\" }, \"24\": { \"width\": 24, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M3.75 4.5a.25.25 0 00-.25.25v14.5c0 .138.112.25.25.25h16.5a.25.25 0 00.25-.25V7.687a.25.25 0 00-.25-.25h-8.471a1.75 1.75 0 01-1.447-.765L8.928 4.61a.25.25 0 00-.208-.11H3.75zM2 4.75C2 3.784 2.784 3 3.75 3h4.971c.58 0 1.12.286 1.447.765l1.404 2.063a.25.25 0 00.207.11h8.471c.966 0 1.75.783 1.75 1.75V19.25A1.75 1.75 0 0120.25 21H3.75A1.75 1.75 0 012 19.25V4.75z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nFileDirectoryIcon.defaultProps = {\n className: 'octicon octicon-file-directory',\n size: 16,\n verticalAlign: 'text-bottom'\n};\n\nfunction FileDirectoryFillIcon(props) {\n var svgDataByHeight = { \"24\": { \"width\": 24, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M2 4.75C2 3.784 2.784 3 3.75 3h4.971c.58 0 1.12.286 1.447.765l1.404 2.063a.25.25 0 00.207.11h8.471c.966 0 1.75.783 1.75 1.75V19.25A1.75 1.75 0 0120.25 21H3.75A1.75 1.75 0 012 19.25V4.75z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nFileDirectoryFillIcon.defaultProps = {\n className: 'octicon octicon-file-directory-fill',\n size: 16,\n verticalAlign: 'text-bottom'\n};\n\nfunction FileMediaIcon(props) {\n var svgDataByHeight = { \"24\": { \"width\": 24, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M2.25 4a.25.25 0 00-.25.25v15.5c0 .138.112.25.25.25h3.178L14 10.977a1.75 1.75 0 012.506-.032L22 16.44V4.25a.25.25 0 00-.25-.25H2.25zm3.496 17.5H21.75a1.75 1.75 0 001.75-1.75V4.25a1.75 1.75 0 00-1.75-1.75H2.25A1.75 1.75 0 00.5 4.25v15.5c0 .966.784 1.75 1.75 1.75h3.496zM22 19.75v-1.19l-6.555-6.554a.25.25 0 00-.358.004L7.497 20H21.75a.25.25 0 00.25-.25zM9 9.25a1.75 1.75 0 11-3.5 0 1.75 1.75 0 013.5 0zm1.5 0a3.25 3.25 0 11-6.5 0 3.25 3.25 0 016.5 0z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nFileMediaIcon.defaultProps = {\n className: 'octicon octicon-file-media',\n size: 16,\n verticalAlign: 'text-bottom'\n};\n\nfunction FileSubmoduleIcon(props) {\n var svgDataByHeight = { \"16\": { \"width\": 16, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M0 2.75C0 1.784.784 1 1.75 1H5c.55 0 1.07.26 1.4.7l.9 1.2a.25.25 0 00.2.1h6.75c.966 0 1.75.784 1.75 1.75v8.5A1.75 1.75 0 0114.25 15H1.75A1.75 1.75 0 010 13.25V2.75zm9.42 9.36l2.883-2.677a.25.25 0 000-.366L9.42 6.39a.25.25 0 00-.42.183V8.5H4.75a.75.75 0 100 1.5H9v1.927c0 .218.26.331.42.183z\\\"></path>\" }, \"24\": { \"width\": 24, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M2 4.75C2 3.784 2.784 3 3.75 3h4.965a1.75 1.75 0 011.456.78l1.406 2.109a.25.25 0 00.208.111h8.465c.966 0 1.75.784 1.75 1.75v11.5A1.75 1.75 0 0120.25 21H3.75A1.75 1.75 0 012 19.25V4.75zm12.78 4.97a.75.75 0 10-1.06 1.06l1.72 1.72H6.75a.75.75 0 000 1.5h8.69l-1.72 1.72a.75.75 0 101.06 1.06l3-3a.75.75 0 000-1.06l-3-3z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nFileSubmoduleIcon.defaultProps = {\n className: 'octicon octicon-file-submodule',\n size: 16,\n verticalAlign: 'text-bottom'\n};\n\nfunction FileSymlinkFileIcon(props) {\n var svgDataByHeight = { \"16\": { \"width\": 16, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M2 1.75C2 .784 2.784 0 3.75 0h5.586c.464 0 .909.184 1.237.513l2.914 2.914c.329.328.513.773.513 1.237v8.586A1.75 1.75 0 0112.25 15h-7a.75.75 0 010-1.5h7a.25.25 0 00.25-.25V6H9.75A1.75 1.75 0 018 4.25V1.5H3.75a.25.25 0 00-.25.25V4.5a.75.75 0 01-1.5 0V1.75zm7.5-.188V4.25c0 .138.112.25.25.25h2.688a.252.252 0 00-.011-.013L9.513 1.573a.248.248 0 00-.013-.011zm-8 10.675a2.25 2.25 0 012.262-2.25L4 9.99v1.938c0 .218.26.331.42.183l2.883-2.677a.25.25 0 000-.366L4.42 6.39a.25.25 0 00-.42.183V8.49l-.23-.001A3.75 3.75 0 000 12.238v1.012a.75.75 0 001.5 0v-1.013z\\\"></path>\" }, \"24\": { \"width\": 24, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M3 3a2 2 0 012-2h9.982a2 2 0 011.414.586l4.018 4.018A2 2 0 0121 7.018V21a2 2 0 01-2 2H4.75a.75.75 0 010-1.5H19a.5.5 0 00.5-.5V8.5h-4a2 2 0 01-2-2v-4H5a.5.5 0 00-.5.5v6.25a.75.75 0 01-1.5 0V3zm12-.5v4a.5.5 0 00.5.5h4a.5.5 0 00-.146-.336l-4.018-4.018A.5.5 0 0015 2.5zm-5.692 12l-2.104-2.236a.75.75 0 111.092-1.028l3.294 3.5a.75.75 0 010 1.028l-3.294 3.5a.75.75 0 11-1.092-1.028L9.308 16H4.09a2.59 2.59 0 00-2.59 2.59v3.16a.75.75 0 01-1.5 0v-3.16a4.09 4.09 0 014.09-4.09h5.218z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nFileSymlinkFileIcon.defaultProps = {\n className: 'octicon octicon-file-symlink-file',\n size: 16,\n verticalAlign: 'text-bottom'\n};\n\nfunction FileZipIcon(props) {\n var svgDataByHeight = { \"16\": { \"width\": 16, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M3.5 1.75a.25.25 0 01.25-.25h3a.75.75 0 000 1.5h.5a.75.75 0 000-1.5h2.086a.25.25 0 01.177.073l2.914 2.914a.25.25 0 01.073.177v8.586a.25.25 0 01-.25.25h-.5a.75.75 0 000 1.5h.5A1.75 1.75 0 0014 13.25V4.664c0-.464-.184-.909-.513-1.237L10.573.513A1.75 1.75 0 009.336 0H3.75A1.75 1.75 0 002 1.75v11.5c0 .649.353 1.214.874 1.515a.75.75 0 10.752-1.298.25.25 0 01-.126-.217V1.75zM8.75 3a.75.75 0 000 1.5h.5a.75.75 0 000-1.5h-.5zM6 5.25a.75.75 0 01.75-.75h.5a.75.75 0 010 1.5h-.5A.75.75 0 016 5.25zm2 1.5A.75.75 0 018.75 6h.5a.75.75 0 010 1.5h-.5A.75.75 0 018 6.75zm-1.25.75a.75.75 0 000 1.5h.5a.75.75 0 000-1.5h-.5zM8 9.75A.75.75 0 018.75 9h.5a.75.75 0 010 1.5h-.5A.75.75 0 018 9.75zm-.75.75a1.75 1.75 0 00-1.75 1.75v3c0 .414.336.75.75.75h2.5a.75.75 0 00.75-.75v-3a1.75 1.75 0 00-1.75-1.75h-.5zM7 12.25a.25.25 0 01.25-.25h.5a.25.25 0 01.25.25v2.25H7v-2.25z\\\"></path>\" }, \"24\": { \"width\": 24, \"path\": \"<path d=\\\"M5 2.5a.5.5 0 00-.5.5v18a.5.5 0 00.5.5h1.75a.75.75 0 010 1.5H5a2 2 0 01-2-2V3a2 2 0 012-2h9.982a2 2 0 011.414.586l4.018 4.018A2 2 0 0121 7.018V21a2 2 0 01-2 2h-2.75a.75.75 0 010-1.5H19a.5.5 0 00.5-.5V7.018a.5.5 0 00-.146-.354l-4.018-4.018a.5.5 0 00-.354-.146H5z\\\"></path><path d=\\\"M11.5 15.75a.75.75 0 01.75-.75h1a.75.75 0 010 1.5h-1a.75.75 0 01-.75-.75zm.75-3.75a.75.75 0 000 1.5h1a.75.75 0 000-1.5h-1zm-.75-2.25a.75.75 0 01.75-.75h1a.75.75 0 010 1.5h-1a.75.75 0 01-.75-.75zM12.25 6a.75.75 0 000 1.5h1a.75.75 0 000-1.5h-1zm-.75-2.25a.75.75 0 01.75-.75h1a.75.75 0 010 1.5h-1a.75.75 0 01-.75-.75zM9.75 13.5a.75.75 0 000 1.5h1a.75.75 0 000-1.5h-1zM9 11.25a.75.75 0 01.75-.75h1a.75.75 0 010 1.5h-1a.75.75 0 01-.75-.75zm.75-3.75a.75.75 0 000 1.5h1a.75.75 0 000-1.5h-1zM9 5.25a.75.75 0 01.75-.75h1a.75.75 0 010 1.5h-1A.75.75 0 019 5.25z\\\"></path><path fill-rule=\\\"evenodd\\\" d=\\\"M11 17a2 2 0 00-2 2v4.25c0 .414.336.75.75.75h3.5a.75.75 0 00.75-.75V19a2 2 0 00-2-2h-1zm-.5 2a.5.5 0 01.5-.5h1a.5.5 0 01.5.5v3.5h-2V19z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nFileZipIcon.defaultProps = {\n className: 'octicon octicon-file-zip',\n size: 16,\n verticalAlign: 'text-bottom'\n};\n\nfunction FilterIcon(props) {\n var svgDataByHeight = { \"16\": { \"width\": 16, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M.75 3a.75.75 0 000 1.5h14.5a.75.75 0 000-1.5H.75zM3 7.75A.75.75 0 013.75 7h8.5a.75.75 0 010 1.5h-8.5A.75.75 0 013 7.75zm3 4a.75.75 0 01.75-.75h2.5a.75.75 0 010 1.5h-2.5a.75.75 0 01-.75-.75z\\\"></path>\" }, \"24\": { \"width\": 24, \"path\": \"<path d=\\\"M2.75 6a.75.75 0 000 1.5h18.5a.75.75 0 000-1.5H2.75zM6 11.75a.75.75 0 01.75-.75h10.5a.75.75 0 010 1.5H6.75a.75.75 0 01-.75-.75zm4 4.938a.75.75 0 01.75-.75h2.5a.75.75 0 010 1.5h-2.5a.75.75 0 01-.75-.75z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nFilterIcon.defaultProps = {\n className: 'octicon octicon-filter',\n size: 16,\n verticalAlign: 'text-bottom'\n};\n\nfunction FlameIcon(props) {\n var svgDataByHeight = { \"16\": { \"width\": 16, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M7.998 14.5c2.832 0 5-1.98 5-4.5 0-1.463-.68-2.19-1.879-3.383l-.036-.037c-1.013-1.008-2.3-2.29-2.834-4.434-.322.256-.63.579-.864.953-.432.696-.621 1.58-.046 2.73.473.947.67 2.284-.278 3.232-.61.61-1.545.84-2.403.633a2.788 2.788 0 01-1.436-.874A3.21 3.21 0 003 10c0 2.53 2.164 4.5 4.998 4.5zM9.533.753C9.496.34 9.16.009 8.77.146 7.035.75 4.34 3.187 5.997 6.5c.344.689.285 1.218.003 1.5-.419.419-1.54.487-2.04-.832-.173-.454-.659-.762-1.035-.454C2.036 7.44 1.5 8.702 1.5 10c0 3.512 2.998 6 6.498 6s6.5-2.5 6.5-6c0-2.137-1.128-3.26-2.312-4.438-1.19-1.184-2.436-2.425-2.653-4.81z\\\"></path>\" }, \"24\": { \"width\": 24, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M12.185 21.5c4.059 0 7.065-2.84 7.065-6.75 0-2.337-1.093-3.489-2.678-5.158l-.021-.023c-1.44-1.517-3.139-3.351-3.649-6.557a6.14 6.14 0 00-1.911 1.76c-.787 1.144-1.147 2.633-.216 4.495.603 1.205.777 2.74-.277 3.794-.657.657-1.762 1.1-2.956.586-.752-.324-1.353-.955-1.838-1.79-.567.706-.954 1.74-.954 2.893 0 3.847 3.288 6.75 7.435 6.75zm2.08-19.873c-.017-.345-.296-.625-.632-.543-2.337.575-6.605 4.042-4.2 8.854.474.946.392 1.675.004 2.062-.64.64-1.874.684-2.875-1.815-.131-.327-.498-.509-.803-.334-1.547.888-2.509 2.86-2.509 4.899 0 4.829 4.122 8.25 8.935 8.25 4.812 0 8.565-3.438 8.565-8.25 0-2.939-1.466-4.482-3.006-6.102-1.61-1.694-3.479-3.476-3.479-7.021z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nFlameIcon.defaultProps = {\n className: 'octicon octicon-flame',\n size: 16,\n verticalAlign: 'text-bottom'\n};\n\nfunction FoldIcon(props) {\n var svgDataByHeight = { \"16\": { \"width\": 16, \"path\": \"<path d=\\\"M10.896 2H8.75V.75a.75.75 0 00-1.5 0V2H5.104a.25.25 0 00-.177.427l2.896 2.896a.25.25 0 00.354 0l2.896-2.896A.25.25 0 0010.896 2zM8.75 15.25a.75.75 0 01-1.5 0V14H5.104a.25.25 0 01-.177-.427l2.896-2.896a.25.25 0 01.354 0l2.896 2.896a.25.25 0 01-.177.427H8.75v1.25zm-6.5-6.5a.75.75 0 000-1.5h-.5a.75.75 0 000 1.5h.5zM6 8a.75.75 0 01-.75.75h-.5a.75.75 0 010-1.5h.5A.75.75 0 016 8zm2.25.75a.75.75 0 000-1.5h-.5a.75.75 0 000 1.5h.5zM12 8a.75.75 0 01-.75.75h-.5a.75.75 0 010-1.5h.5A.75.75 0 0112 8zm2.25.75a.75.75 0 000-1.5h-.5a.75.75 0 000 1.5h.5z\\\"></path>\" }, \"24\": { \"width\": 24, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M12 15a.75.75 0 01.53.22l3.25 3.25a.75.75 0 11-1.06 1.06L12 16.81l-2.72 2.72a.75.75 0 01-1.06-1.06l3.25-3.25A.75.75 0 0112 15z\\\"></path><path fill-rule=\\\"evenodd\\\" d=\\\"M12 15.75a.75.75 0 01.75.75v5.75a.75.75 0 01-1.5 0V16.5a.75.75 0 01.75-.75zm.53-6.97a.75.75 0 01-1.06 0L8.22 5.53a.75.75 0 011.06-1.06L12 7.19l2.72-2.72a.75.75 0 111.06 1.06l-3.25 3.25z\\\"></path><path fill-rule=\\\"evenodd\\\" d=\\\"M12 8.5a.75.75 0 01-.75-.75v-6a.75.75 0 011.5 0v6a.75.75 0 01-.75.75zM10.75 12a.75.75 0 01.75-.75h1a.75.75 0 010 1.5h-1a.75.75 0 01-.75-.75zm-8 0a.75.75 0 01.75-.75h1a.75.75 0 010 1.5h-1a.75.75 0 01-.75-.75zm12 0a.75.75 0 01.75-.75h1a.75.75 0 010 1.5h-1a.75.75 0 01-.75-.75zm-8 0a.75.75 0 01.75-.75h1a.75.75 0 010 1.5h-1a.75.75 0 01-.75-.75zm12 0a.75.75 0 01.75-.75h1a.75.75 0 010 1.5h-1a.75.75 0 01-.75-.75z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nFoldIcon.defaultProps = {\n className: 'octicon octicon-fold',\n size: 16,\n verticalAlign: 'text-bottom'\n};\n\nfunction FoldDownIcon(props) {\n var svgDataByHeight = { \"16\": { \"width\": 16, \"path\": \"<path d=\\\"M8.177 14.323l2.896-2.896a.25.25 0 00-.177-.427H8.75V7.764a.75.75 0 10-1.5 0V11H5.104a.25.25 0 00-.177.427l2.896 2.896a.25.25 0 00.354 0zM2.25 5a.75.75 0 000-1.5h-.5a.75.75 0 000 1.5h.5zM6 4.25a.75.75 0 01-.75.75h-.5a.75.75 0 010-1.5h.5a.75.75 0 01.75.75zM8.25 5a.75.75 0 000-1.5h-.5a.75.75 0 000 1.5h.5zM12 4.25a.75.75 0 01-.75.75h-.5a.75.75 0 010-1.5h.5a.75.75 0 01.75.75zm2.25.75a.75.75 0 000-1.5h-.5a.75.75 0 000 1.5h.5z\\\"></path>\" }, \"24\": { \"width\": 24, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M12 19a.75.75 0 01-.53-.22l-3.25-3.25a.75.75 0 111.06-1.06L12 17.19l2.72-2.72a.75.75 0 111.06 1.06l-3.25 3.25A.75.75 0 0112 19z\\\"></path><path fill-rule=\\\"evenodd\\\" d=\\\"M12 18a.75.75 0 01-.75-.75v-7.5a.75.75 0 011.5 0v7.5A.75.75 0 0112 18zM10.75 6a.75.75 0 01.75-.75h1a.75.75 0 010 1.5h-1a.75.75 0 01-.75-.75zm-8 0a.75.75 0 01.75-.75h1a.75.75 0 010 1.5h-1A.75.75 0 012.75 6zm12 0a.75.75 0 01.75-.75h1a.75.75 0 010 1.5h-1a.75.75 0 01-.75-.75zm-8 0a.75.75 0 01.75-.75h1a.75.75 0 010 1.5h-1A.75.75 0 016.75 6zm12 0a.75.75 0 01.75-.75h1a.75.75 0 010 1.5h-1a.75.75 0 01-.75-.75z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nFoldDownIcon.defaultProps = {\n className: 'octicon octicon-fold-down',\n size: 16,\n verticalAlign: 'text-bottom'\n};\n\nfunction FoldUpIcon(props) {\n var svgDataByHeight = { \"16\": { \"width\": 16, \"path\": \"<path d=\\\"M7.823 1.677L4.927 4.573A.25.25 0 005.104 5H7.25v3.236a.75.75 0 101.5 0V5h2.146a.25.25 0 00.177-.427L8.177 1.677a.25.25 0 00-.354 0zM13.75 11a.75.75 0 000 1.5h.5a.75.75 0 000-1.5h-.5zm-3.75.75a.75.75 0 01.75-.75h.5a.75.75 0 010 1.5h-.5a.75.75 0 01-.75-.75zM7.75 11a.75.75 0 000 1.5h.5a.75.75 0 000-1.5h-.5zM4 11.75a.75.75 0 01.75-.75h.5a.75.75 0 010 1.5h-.5a.75.75 0 01-.75-.75zM1.75 11a.75.75 0 000 1.5h.5a.75.75 0 000-1.5h-.5z\\\"></path>\" }, \"24\": { \"width\": 24, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M11.47 5.22a.75.75 0 011.06 0l3.25 3.25a.75.75 0 01-1.06 1.06L12 6.81 9.28 9.53a.75.75 0 01-1.06-1.06l3.25-3.25z\\\"></path><path fill-rule=\\\"evenodd\\\" d=\\\"M12 5.5a.75.75 0 01.75.75v8a.75.75 0 01-1.5 0v-8A.75.75 0 0112 5.5zM10.75 18a.75.75 0 01.75-.75h1a.75.75 0 010 1.5h-1a.75.75 0 01-.75-.75zm-8 0a.75.75 0 01.75-.75h1a.75.75 0 010 1.5h-1a.75.75 0 01-.75-.75zm12 0a.75.75 0 01.75-.75h1a.75.75 0 010 1.5h-1a.75.75 0 01-.75-.75zm-8 0a.75.75 0 01.75-.75h1a.75.75 0 010 1.5h-1a.75.75 0 01-.75-.75zm12 0a.75.75 0 01.75-.75h1a.75.75 0 010 1.5h-1a.75.75 0 01-.75-.75z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nFoldUpIcon.defaultProps = {\n className: 'octicon octicon-fold-up',\n size: 16,\n verticalAlign: 'text-bottom'\n};\n\nfunction GearIcon(props) {\n var svgDataByHeight = { \"16\": { \"width\": 16, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M7.429 1.525a6.593 6.593 0 011.142 0c.036.003.108.036.137.146l.289 1.105c.147.56.55.967.997 1.189.174.086.341.183.501.29.417.278.97.423 1.53.27l1.102-.303c.11-.03.175.016.195.046.219.31.41.641.573.989.014.031.022.11-.059.19l-.815.806c-.411.406-.562.957-.53 1.456a4.588 4.588 0 010 .582c-.032.499.119 1.05.53 1.456l.815.806c.08.08.073.159.059.19a6.494 6.494 0 01-.573.99c-.02.029-.086.074-.195.045l-1.103-.303c-.559-.153-1.112-.008-1.529.27-.16.107-.327.204-.5.29-.449.222-.851.628-.998 1.189l-.289 1.105c-.029.11-.101.143-.137.146a6.613 6.613 0 01-1.142 0c-.036-.003-.108-.037-.137-.146l-.289-1.105c-.147-.56-.55-.967-.997-1.189a4.502 4.502 0 01-.501-.29c-.417-.278-.97-.423-1.53-.27l-1.102.303c-.11.03-.175-.016-.195-.046a6.492 6.492 0 01-.573-.989c-.014-.031-.022-.11.059-.19l.815-.806c.411-.406.562-.957.53-1.456a4.587 4.587 0 010-.582c.032-.499-.119-1.05-.53-1.456l-.815-.806c-.08-.08-.073-.159-.059-.19a6.44 6.44 0 01.573-.99c.02-.029.086-.075.195-.045l1.103.303c.559.153 1.112.008 1.529-.27.16-.107.327-.204.5-.29.449-.222.851-.628.998-1.189l.289-1.105c.029-.11.101-.143.137-.146zM8 0c-.236 0-.47.01-.701.03-.743.065-1.29.615-1.458 1.261l-.29 1.106c-.017.066-.078.158-.211.224a5.994 5.994 0 00-.668.386c-.123.082-.233.09-.3.071L3.27 2.776c-.644-.177-1.392.02-1.82.63a7.977 7.977 0 00-.704 1.217c-.315.675-.111 1.422.363 1.891l.815.806c.05.048.098.147.088.294a6.084 6.084 0 000 .772c.01.147-.038.246-.088.294l-.815.806c-.474.469-.678 1.216-.363 1.891.2.428.436.835.704 1.218.428.609 1.176.806 1.82.63l1.103-.303c.066-.019.176-.011.299.071.213.143.436.272.668.386.133.066.194.158.212.224l.289 1.106c.169.646.715 1.196 1.458 1.26a8.094 8.094 0 001.402 0c.743-.064 1.29-.614 1.458-1.26l.29-1.106c.017-.066.078-.158.211-.224a5.98 5.98 0 00.668-.386c.123-.082.233-.09.3-.071l1.102.302c.644.177 1.392-.02 1.82-.63.268-.382.505-.789.704-1.217.315-.675.111-1.422-.364-1.891l-.814-.806c-.05-.048-.098-.147-.088-.294a6.1 6.1 0 000-.772c-.01-.147.039-.246.088-.294l.814-.806c.475-.469.679-1.216.364-1.891a7.992 7.992 0 00-.704-1.218c-.428-.609-1.176-.806-1.82-.63l-1.103.303c-.066.019-.176.011-.299-.071a5.991 5.991 0 00-.668-.386c-.133-.066-.194-.158-.212-.224L10.16 1.29C9.99.645 9.444.095 8.701.031A8.094 8.094 0 008 0zm1.5 8a1.5 1.5 0 11-3 0 1.5 1.5 0 013 0zM11 8a3 3 0 11-6 0 3 3 0 016 0z\\\"></path>\" }, \"24\": { \"width\": 24, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M16 12a4 4 0 11-8 0 4 4 0 018 0zm-1.5 0a2.5 2.5 0 11-5 0 2.5 2.5 0 015 0z\\\"></path><path fill-rule=\\\"evenodd\\\" d=\\\"M12 1c-.268 0-.534.01-.797.028-.763.055-1.345.617-1.512 1.304l-.352 1.45c-.02.078-.09.172-.225.22a8.45 8.45 0 00-.728.303c-.13.06-.246.044-.315.002l-1.274-.776c-.604-.368-1.412-.354-1.99.147-.403.348-.78.726-1.129 1.128-.5.579-.515 1.387-.147 1.99l.776 1.275c.042.069.059.185-.002.315-.112.237-.213.48-.302.728-.05.135-.143.206-.221.225l-1.45.352c-.687.167-1.249.749-1.304 1.512a11.149 11.149 0 000 1.594c.055.763.617 1.345 1.304 1.512l1.45.352c.078.02.172.09.22.225.09.248.191.491.303.729.06.129.044.245.002.314l-.776 1.274c-.368.604-.354 1.412.147 1.99.348.403.726.78 1.128 1.129.579.5 1.387.515 1.99.147l1.275-.776c.069-.042.185-.059.315.002.237.112.48.213.728.302.135.05.206.143.225.221l.352 1.45c.167.687.749 1.249 1.512 1.303a11.125 11.125 0 001.594 0c.763-.054 1.345-.616 1.512-1.303l.352-1.45c.02-.078.09-.172.225-.22.248-.09.491-.191.729-.303.129-.06.245-.044.314-.002l1.274.776c.604.368 1.412.354 1.99-.147.403-.348.78-.726 1.129-1.128.5-.579.515-1.387.147-1.99l-.776-1.275c-.042-.069-.059-.185.002-.315.112-.237.213-.48.302-.728.05-.135.143-.206.221-.225l1.45-.352c.687-.167 1.249-.749 1.303-1.512a11.125 11.125 0 000-1.594c-.054-.763-.616-1.345-1.303-1.512l-1.45-.352c-.078-.02-.172-.09-.22-.225a8.469 8.469 0 00-.303-.728c-.06-.13-.044-.246-.002-.315l.776-1.274c.368-.604.354-1.412-.147-1.99-.348-.403-.726-.78-1.128-1.129-.579-.5-1.387-.515-1.99-.147l-1.275.776c-.069.042-.185.059-.315-.002a8.465 8.465 0 00-.728-.302c-.135-.05-.206-.143-.225-.221l-.352-1.45c-.167-.687-.749-1.249-1.512-1.304A11.149 11.149 0 0012 1zm-.69 1.525a9.648 9.648 0 011.38 0c.055.004.135.05.162.16l.351 1.45c.153.628.626 1.08 1.173 1.278.205.074.405.157.6.249a1.832 1.832 0 001.733-.074l1.275-.776c.097-.06.186-.036.228 0 .348.302.674.628.976.976.036.042.06.13 0 .228l-.776 1.274a1.832 1.832 0 00-.074 1.734c.092.195.175.395.248.6.198.547.652 1.02 1.278 1.172l1.45.353c.111.026.157.106.161.161a9.653 9.653 0 010 1.38c-.004.055-.05.135-.16.162l-1.45.351a1.833 1.833 0 00-1.278 1.173 6.926 6.926 0 01-.25.6 1.832 1.832 0 00.075 1.733l.776 1.275c.06.097.036.186 0 .228a9.555 9.555 0 01-.976.976c-.042.036-.13.06-.228 0l-1.275-.776a1.832 1.832 0 00-1.733-.074 6.926 6.926 0 01-.6.248 1.833 1.833 0 00-1.172 1.278l-.353 1.45c-.026.111-.106.157-.161.161a9.653 9.653 0 01-1.38 0c-.055-.004-.135-.05-.162-.16l-.351-1.45a1.833 1.833 0 00-1.173-1.278 6.928 6.928 0 01-.6-.25 1.832 1.832 0 00-1.734.075l-1.274.776c-.097.06-.186.036-.228 0a9.56 9.56 0 01-.976-.976c-.036-.042-.06-.13 0-.228l.776-1.275a1.832 1.832 0 00.074-1.733 6.948 6.948 0 01-.249-.6 1.833 1.833 0 00-1.277-1.172l-1.45-.353c-.111-.026-.157-.106-.161-.161a9.648 9.648 0 010-1.38c.004-.055.05-.135.16-.162l1.45-.351a1.833 1.833 0 001.278-1.173 6.95 6.95 0 01.249-.6 1.832 1.832 0 00-.074-1.734l-.776-1.274c-.06-.097-.036-.186 0-.228.302-.348.628-.674.976-.976.042-.036.13-.06.228 0l1.274.776a1.832 1.832 0 001.734.074 6.95 6.95 0 01.6-.249 1.833 1.833 0 001.172-1.277l.353-1.45c.026-.111.106-.157.161-.161z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nGearIcon.defaultProps = {\n className: 'octicon octicon-gear',\n size: 16,\n verticalAlign: 'text-bottom'\n};\n\nfunction GiftIcon(props) {\n var svgDataByHeight = { \"16\": { \"width\": 16, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M4.75 1.5a1.25 1.25 0 100 2.5h2.309c-.233-.818-.542-1.401-.878-1.793-.43-.502-.915-.707-1.431-.707zM2 2.75c0 .45.108.875.3 1.25h-.55A1.75 1.75 0 000 5.75v2c0 .698.409 1.3 1 1.582v4.918c0 .966.784 1.75 1.75 1.75h10.5A1.75 1.75 0 0015 14.25V9.332c.591-.281 1-.884 1-1.582v-2A1.75 1.75 0 0014.25 4h-.55a2.75 2.75 0 00-2.45-4c-.984 0-1.874.42-2.57 1.23A5.086 5.086 0 008 2.274a5.086 5.086 0 00-.68-1.042C6.623.42 5.733 0 4.75 0A2.75 2.75 0 002 2.75zM8.941 4h2.309a1.25 1.25 0 100-2.5c-.516 0-1 .205-1.43.707-.337.392-.646.975-.879 1.793zm-1.84 1.5H1.75a.25.25 0 00-.25.25v2c0 .138.112.25.25.25h5.5V5.5h-.149zm1.649 0V8h5.5a.25.25 0 00.25-.25v-2a.25.25 0 00-.25-.25h-5.5zm0 4h4.75v4.75a.25.25 0 01-.25.25h-4.5v-5zm-1.5 0v5h-4.5a.25.25 0 01-.25-.25V9.5h4.75z\\\"></path>\" }, \"24\": { \"width\": 24, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M3.75 3.75c0 .844.279 1.623.75 2.25H2.75A1.75 1.75 0 001 7.75v2.5c0 .698.409 1.3 1 1.582v8.418c0 .966.784 1.75 1.75 1.75h16.5A1.75 1.75 0 0022 20.25v-8.418c.591-.281 1-.884 1-1.582v-2.5A1.75 1.75 0 0021.25 6H19.5a3.75 3.75 0 00-3-6c-1.456 0-3.436.901-4.5 3.11C10.936.901 8.955 0 7.5 0a3.75 3.75 0 00-3.75 3.75zM11.22 6c-.287-3.493-2.57-4.5-3.72-4.5a2.25 2.25 0 000 4.5h3.72zm9.28 6v8.25a.25.25 0 01-.25.25h-7.5V12h7.75zm-9.25 8.5V12H3.5v8.25c0 .138.112.25.25.25h7.5zm10-10a.25.25 0 00.25-.25v-2.5a.25.25 0 00-.25-.25h-8.5v3h8.5zm-18.5 0h8.5v-3h-8.5a.25.25 0 00-.25.25v2.5c0 .138.112.25.25.25zm16-6.75A2.25 2.25 0 0116.5 6h-3.72c.287-3.493 2.57-4.5 3.72-4.5a2.25 2.25 0 012.25 2.25z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nGiftIcon.defaultProps = {\n className: 'octicon octicon-gift',\n size: 16,\n verticalAlign: 'text-bottom'\n};\n\nfunction GitBranchIcon(props) {\n var svgDataByHeight = { \"16\": { \"width\": 16, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M11.75 2.5a.75.75 0 100 1.5.75.75 0 000-1.5zm-2.25.75a2.25 2.25 0 113 2.122V6A2.5 2.5 0 0110 8.5H6a1 1 0 00-1 1v1.128a2.251 2.251 0 11-1.5 0V5.372a2.25 2.25 0 111.5 0v1.836A2.492 2.492 0 016 7h4a1 1 0 001-1v-.628A2.25 2.25 0 019.5 3.25zM4.25 12a.75.75 0 100 1.5.75.75 0 000-1.5zM3.5 3.25a.75.75 0 111.5 0 .75.75 0 01-1.5 0z\\\"></path>\" }, \"24\": { \"width\": 24, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M5.75 21a1.75 1.75 0 110-3.5 1.75 1.75 0 010 3.5zM2.5 19.25a3.25 3.25 0 106.5 0 3.25 3.25 0 00-6.5 0zM5.75 6.5a1.75 1.75 0 110-3.5 1.75 1.75 0 010 3.5zM2.5 4.75a3.25 3.25 0 106.5 0 3.25 3.25 0 00-6.5 0zM18.25 6.5a1.75 1.75 0 110-3.5 1.75 1.75 0 010 3.5zM15 4.75a3.25 3.25 0 106.5 0 3.25 3.25 0 00-6.5 0z\\\"></path><path fill-rule=\\\"evenodd\\\" d=\\\"M5.75 16.75A.75.75 0 006.5 16V8A.75.75 0 005 8v8c0 .414.336.75.75.75z\\\"></path><path fill-rule=\\\"evenodd\\\" d=\\\"M17.5 8.75v-1H19v1a3.75 3.75 0 01-3.75 3.75h-7a1.75 1.75 0 00-1.75 1.75H5A3.25 3.25 0 018.25 11h7a2.25 2.25 0 002.25-2.25z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nGitBranchIcon.defaultProps = {\n className: 'octicon octicon-git-branch',\n size: 16,\n verticalAlign: 'text-bottom'\n};\n\nfunction GitCommitIcon(props) {\n var svgDataByHeight = { \"16\": { \"width\": 16, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M10.5 7.75a2.5 2.5 0 11-5 0 2.5 2.5 0 015 0zm1.43.75a4.002 4.002 0 01-7.86 0H.75a.75.75 0 110-1.5h3.32a4.001 4.001 0 017.86 0h3.32a.75.75 0 110 1.5h-3.32z\\\"></path>\" }, \"24\": { \"width\": 24, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M15.5 11.75a3.5 3.5 0 11-7 0 3.5 3.5 0 017 0zm1.444-.75a5.001 5.001 0 00-9.888 0H2.75a.75.75 0 100 1.5h4.306a5.001 5.001 0 009.888 0h4.306a.75.75 0 100-1.5h-4.306z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nGitCommitIcon.defaultProps = {\n className: 'octicon octicon-git-commit',\n size: 16,\n verticalAlign: 'text-bottom'\n};\n\nfunction GitCompareIcon(props) {\n var svgDataByHeight = { \"16\": { \"width\": 16, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M9.573.677L7.177 3.073a.25.25 0 000 .354l2.396 2.396A.25.25 0 0010 5.646V4h1a1 1 0 011 1v5.628a2.251 2.251 0 101.5 0V5A2.5 2.5 0 0011 2.5h-1V.854a.25.25 0 00-.427-.177zM6 12v-1.646a.25.25 0 01.427-.177l2.396 2.396a.25.25 0 010 .354l-2.396 2.396A.25.25 0 016 15.146V13.5H5A2.5 2.5 0 012.5 11V5.372a2.25 2.25 0 111.5 0V11a1 1 0 001 1h1zm6.75 0a.75.75 0 100 1.5.75.75 0 000-1.5zM4 3.25a.75.75 0 11-1.5 0 .75.75 0 011.5 0z\\\"></path>\" }, \"24\": { \"width\": 24, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M19.75 17.5a1.75 1.75 0 100 3.5 1.75 1.75 0 000-3.5zm-3.25 1.75a3.25 3.25 0 116.5 0 3.25 3.25 0 01-6.5 0z\\\"></path><path fill-rule=\\\"evenodd\\\" d=\\\"M13.905 1.72a.75.75 0 010 1.06L12.685 4h4.065a3.75 3.75 0 013.75 3.75v8.75a.75.75 0 01-1.5 0V7.75a2.25 2.25 0 00-2.25-2.25h-4.064l1.22 1.22a.75.75 0 01-1.061 1.06l-2.5-2.5a.75.75 0 010-1.06l2.5-2.5a.75.75 0 011.06 0zM4.25 6.5a1.75 1.75 0 100-3.5 1.75 1.75 0 000 3.5zM7.5 4.75a3.25 3.25 0 11-6.5 0 3.25 3.25 0 016.5 0z\\\"></path><path fill-rule=\\\"evenodd\\\" d=\\\"M10.095 22.28a.75.75 0 010-1.06l1.22-1.22H7.25a3.75 3.75 0 01-3.75-3.75V7.5a.75.75 0 011.5 0v8.75a2.25 2.25 0 002.25 2.25h4.064l-1.22-1.22a.75.75 0 111.061-1.06l2.5 2.5a.75.75 0 010 1.06l-2.5 2.5a.75.75 0 01-1.06 0z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nGitCompareIcon.defaultProps = {\n className: 'octicon octicon-git-compare',\n size: 16,\n verticalAlign: 'text-bottom'\n};\n\nfunction GitForkIcon(props) {\n var svgDataByHeight = { \"24\": { \"width\": 24, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M12 21a1.75 1.75 0 110-3.5 1.75 1.75 0 010 3.5zm-3.25-1.75a3.25 3.25 0 106.5 0 3.25 3.25 0 00-6.5 0zm-3-12.75a1.75 1.75 0 110-3.5 1.75 1.75 0 010 3.5zM2.5 4.75a3.25 3.25 0 106.5 0 3.25 3.25 0 00-6.5 0zM18.25 6.5a1.75 1.75 0 110-3.5 1.75 1.75 0 010 3.5zM15 4.75a3.25 3.25 0 106.5 0 3.25 3.25 0 00-6.5 0z\\\"></path><path fill-rule=\\\"evenodd\\\" d=\\\"M6.5 7.75v1A2.25 2.25 0 008.75 11h6.5a2.25 2.25 0 002.25-2.25v-1H19v1a3.75 3.75 0 01-3.75 3.75h-6.5A3.75 3.75 0 015 8.75v-1h1.5z\\\"></path><path fill-rule=\\\"evenodd\\\" d=\\\"M11.25 16.25v-5h1.5v5h-1.5z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nGitForkIcon.defaultProps = {\n className: 'octicon octicon-git-fork',\n size: 16,\n verticalAlign: 'text-bottom'\n};\n\nfunction GitMergeIcon(props) {\n var svgDataByHeight = { \"16\": { \"width\": 16, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M5 3.254V3.25v.005a.75.75 0 110-.005v.004zm.45 1.9a2.25 2.25 0 10-1.95.218v5.256a2.25 2.25 0 101.5 0V7.123A5.735 5.735 0 009.25 9h1.378a2.251 2.251 0 100-1.5H9.25a4.25 4.25 0 01-3.8-2.346zM12.75 9a.75.75 0 100-1.5.75.75 0 000 1.5zm-8.5 4.5a.75.75 0 100-1.5.75.75 0 000 1.5z\\\"></path>\" }, \"24\": { \"width\": 24, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M5.75 21a1.75 1.75 0 110-3.5 1.75 1.75 0 010 3.5zM2.5 19.25a3.25 3.25 0 106.5 0 3.25 3.25 0 00-6.5 0zM5.75 6.5a1.75 1.75 0 110-3.5 1.75 1.75 0 010 3.5zM2.5 4.75a3.25 3.25 0 106.5 0 3.25 3.25 0 00-6.5 0zM18.25 15a1.75 1.75 0 110-3.5 1.75 1.75 0 010 3.5zM15 13.25a3.25 3.25 0 106.5 0 3.25 3.25 0 00-6.5 0z\\\"></path><path fill-rule=\\\"evenodd\\\" d=\\\"M6.5 7.25c0 2.9 2.35 5.25 5.25 5.25h4.5V14h-4.5A6.75 6.75 0 015 7.25h1.5z\\\"></path><path fill-rule=\\\"evenodd\\\" d=\\\"M5.75 16.75A.75.75 0 006.5 16V8A.75.75 0 005 8v8c0 .414.336.75.75.75z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nGitMergeIcon.defaultProps = {\n className: 'octicon octicon-git-merge',\n size: 16,\n verticalAlign: 'text-bottom'\n};\n\nfunction GitPullRequestIcon(props) {\n var svgDataByHeight = { \"16\": { \"width\": 16, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M7.177 3.073L9.573.677A.25.25 0 0110 .854v4.792a.25.25 0 01-.427.177L7.177 3.427a.25.25 0 010-.354zM3.75 2.5a.75.75 0 100 1.5.75.75 0 000-1.5zm-2.25.75a2.25 2.25 0 113 2.122v5.256a2.251 2.251 0 11-1.5 0V5.372A2.25 2.25 0 011.5 3.25zM11 2.5h-1V4h1a1 1 0 011 1v5.628a2.251 2.251 0 101.5 0V5A2.5 2.5 0 0011 2.5zm1 10.25a.75.75 0 111.5 0 .75.75 0 01-1.5 0zM3.75 12a.75.75 0 100 1.5.75.75 0 000-1.5z\\\"></path>\" }, \"24\": { \"width\": 24, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M4.75 3a1.75 1.75 0 100 3.5 1.75 1.75 0 000-3.5zM1.5 4.75a3.25 3.25 0 116.5 0 3.25 3.25 0 01-6.5 0zM4.75 17.5a1.75 1.75 0 100 3.5 1.75 1.75 0 000-3.5zM1.5 19.25a3.25 3.25 0 116.5 0 3.25 3.25 0 01-6.5 0zm17.75-1.75a1.75 1.75 0 100 3.5 1.75 1.75 0 000-3.5zM16 19.25a3.25 3.25 0 116.5 0 3.25 3.25 0 01-6.5 0z\\\"></path><path fill-rule=\\\"evenodd\\\" d=\\\"M4.75 7.25A.75.75 0 015.5 8v8A.75.75 0 014 16V8a.75.75 0 01.75-.75zm8.655-5.53a.75.75 0 010 1.06L12.185 4h4.065A3.75 3.75 0 0120 7.75v8.75a.75.75 0 01-1.5 0V7.75a2.25 2.25 0 00-2.25-2.25h-4.064l1.22 1.22a.75.75 0 01-1.061 1.06l-2.5-2.5a.75.75 0 010-1.06l2.5-2.5a.75.75 0 011.06 0z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nGitPullRequestIcon.defaultProps = {\n className: 'octicon octicon-git-pull-request',\n size: 16,\n verticalAlign: 'text-bottom'\n};\n\nfunction GlobeIcon(props) {\n var svgDataByHeight = { \"16\": { \"width\": 16, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M1.543 7.25h2.733c.144-2.074.866-3.756 1.58-4.948.12-.197.237-.381.353-.552a6.506 6.506 0 00-4.666 5.5zm2.733 1.5H1.543a6.506 6.506 0 004.666 5.5 11.13 11.13 0 01-.352-.552c-.715-1.192-1.437-2.874-1.581-4.948zm1.504 0h4.44a9.637 9.637 0 01-1.363 4.177c-.306.51-.612.919-.857 1.215a9.978 9.978 0 01-.857-1.215A9.637 9.637 0 015.78 8.75zm4.44-1.5H5.78a9.637 9.637 0 011.363-4.177c.306-.51.612-.919.857-1.215.245.296.55.705.857 1.215A9.638 9.638 0 0110.22 7.25zm1.504 1.5c-.144 2.074-.866 3.756-1.58 4.948-.12.197-.237.381-.353.552a6.506 6.506 0 004.666-5.5h-2.733zm2.733-1.5h-2.733c-.144-2.074-.866-3.756-1.58-4.948a11.738 11.738 0 00-.353-.552 6.506 6.506 0 014.666 5.5zM8 0a8 8 0 100 16A8 8 0 008 0z\\\"></path>\" }, \"24\": { \"width\": 24, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M12 1C5.925 1 1 5.925 1 12s4.925 11 11 11 11-4.925 11-11S18.075 1 12 1zM2.513 11.5h4.745c.1-3.037 1.1-5.49 2.093-7.204.39-.672.78-1.233 1.119-1.673C6.11 3.329 2.746 7 2.513 11.5zm4.77 1.5H2.552a9.505 9.505 0 007.918 8.377 15.698 15.698 0 01-1.119-1.673C8.413 18.085 7.47 15.807 7.283 13zm1.504 0h6.426c-.183 2.48-1.02 4.5-1.862 5.951-.476.82-.95 1.455-1.304 1.88L12 20.89l-.047-.057a13.888 13.888 0 01-1.304-1.88C9.807 17.5 8.969 15.478 8.787 13zm6.454-1.5H8.759c.1-2.708.992-4.904 1.89-6.451.476-.82.95-1.455 1.304-1.88L12 3.11l.047.057c.353.426.828 1.06 1.304 1.88.898 1.548 1.79 3.744 1.89 6.452zm1.476 1.5c-.186 2.807-1.13 5.085-2.068 6.704-.39.672-.78 1.233-1.118 1.673A9.505 9.505 0 0021.447 13h-4.731zm4.77-1.5h-4.745c-.1-3.037-1.1-5.49-2.093-7.204-.39-.672-.78-1.233-1.119-1.673 4.36.706 7.724 4.377 7.957 8.877z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nGlobeIcon.defaultProps = {\n className: 'octicon octicon-globe',\n size: 16,\n verticalAlign: 'text-bottom'\n};\n\nfunction GrabberIcon(props) {\n var svgDataByHeight = { \"16\": { \"width\": 16, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M10 13a1 1 0 100-2 1 1 0 000 2zm-4 0a1 1 0 100-2 1 1 0 000 2zm1-5a1 1 0 11-2 0 1 1 0 012 0zm3 1a1 1 0 100-2 1 1 0 000 2zm1-5a1 1 0 11-2 0 1 1 0 012 0zM6 5a1 1 0 100-2 1 1 0 000 2z\\\"></path>\" }, \"24\": { \"width\": 24, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M15 18a1 1 0 100-2 1 1 0 000 2zm1-6a1 1 0 11-2 0 1 1 0 012 0zm-7 6a1 1 0 100-2 1 1 0 000 2zm0-5a1 1 0 100-2 1 1 0 000 2zm7-6a1 1 0 11-2 0 1 1 0 012 0zM9 8a1 1 0 100-2 1 1 0 000 2z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nGrabberIcon.defaultProps = {\n className: 'octicon octicon-grabber',\n size: 16,\n verticalAlign: 'text-bottom'\n};\n\nfunction GraphIcon(props) {\n var svgDataByHeight = { \"16\": { \"width\": 16, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M1.5 1.75a.75.75 0 00-1.5 0v12.5c0 .414.336.75.75.75h14.5a.75.75 0 000-1.5H1.5V1.75zm14.28 2.53a.75.75 0 00-1.06-1.06L10 7.94 7.53 5.47a.75.75 0 00-1.06 0L3.22 8.72a.75.75 0 001.06 1.06L7 7.06l2.47 2.47a.75.75 0 001.06 0l5.25-5.25z\\\"></path>\" }, \"24\": { \"width\": 24, \"path\": \"<path d=\\\"M2.5 2.75a.75.75 0 00-1.5 0v18.5c0 .414.336.75.75.75H20a.75.75 0 000-1.5H2.5V2.75z\\\"></path><path d=\\\"M22.28 7.78a.75.75 0 00-1.06-1.06l-5.72 5.72-3.72-3.72a.75.75 0 00-1.06 0l-6 6a.75.75 0 101.06 1.06l5.47-5.47 3.72 3.72a.75.75 0 001.06 0l6.25-6.25z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nGraphIcon.defaultProps = {\n className: 'octicon octicon-graph',\n size: 16,\n verticalAlign: 'text-bottom'\n};\n\nfunction HeadingIcon(props) {\n var svgDataByHeight = { \"16\": { \"width\": 16, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M3.75 2a.75.75 0 01.75.75V7h7V2.75a.75.75 0 011.5 0v10.5a.75.75 0 01-1.5 0V8.5h-7v4.75a.75.75 0 01-1.5 0V2.75A.75.75 0 013.75 2z\\\"></path>\" }, \"24\": { \"width\": 24, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M6.25 4a.75.75 0 01.75.75V11h10V4.75a.75.75 0 011.5 0v14.5a.75.75 0 01-1.5 0V12.5H7v6.75a.75.75 0 01-1.5 0V4.75A.75.75 0 016.25 4z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nHeadingIcon.defaultProps = {\n className: 'octicon octicon-heading',\n size: 16,\n verticalAlign: 'text-bottom'\n};\n\nfunction HeartIcon(props) {\n var svgDataByHeight = { \"16\": { \"width\": 16, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M4.25 2.5c-1.336 0-2.75 1.164-2.75 3 0 2.15 1.58 4.144 3.365 5.682A20.565 20.565 0 008 13.393a20.561 20.561 0 003.135-2.211C12.92 9.644 14.5 7.65 14.5 5.5c0-1.836-1.414-3-2.75-3-1.373 0-2.609.986-3.029 2.456a.75.75 0 01-1.442 0C6.859 3.486 5.623 2.5 4.25 2.5zM8 14.25l-.345.666-.002-.001-.006-.003-.018-.01a7.643 7.643 0 01-.31-.17 22.075 22.075 0 01-3.434-2.414C2.045 10.731 0 8.35 0 5.5 0 2.836 2.086 1 4.25 1 5.797 1 7.153 1.802 8 3.02 8.847 1.802 10.203 1 11.75 1 13.914 1 16 2.836 16 5.5c0 2.85-2.045 5.231-3.885 6.818a22.08 22.08 0 01-3.744 2.584l-.018.01-.006.003h-.002L8 14.25zm0 0l.345.666a.752.752 0 01-.69 0L8 14.25z\\\"></path>\" }, \"24\": { \"width\": 24, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M6.736 4C4.657 4 2.5 5.88 2.5 8.514c0 3.107 2.324 5.96 4.861 8.12a29.66 29.66 0 004.566 3.175l.073.041.073-.04c.271-.153.661-.38 1.13-.674.94-.588 2.19-1.441 3.436-2.502 2.537-2.16 4.861-5.013 4.861-8.12C21.5 5.88 19.343 4 17.264 4c-2.106 0-3.801 1.389-4.553 3.643a.75.75 0 01-1.422 0C10.537 5.389 8.841 4 6.736 4zM12 20.703l.343.667a.75.75 0 01-.686 0l.343-.667zM1 8.513C1 5.053 3.829 2.5 6.736 2.5 9.03 2.5 10.881 3.726 12 5.605 13.12 3.726 14.97 2.5 17.264 2.5 20.17 2.5 23 5.052 23 8.514c0 3.818-2.801 7.06-5.389 9.262a31.146 31.146 0 01-5.233 3.576l-.025.013-.007.003-.002.001-.344-.666-.343.667-.003-.002-.007-.003-.025-.013A29.308 29.308 0 0110 20.408a31.147 31.147 0 01-3.611-2.632C3.8 15.573 1 12.332 1 8.514z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nHeartIcon.defaultProps = {\n className: 'octicon octicon-heart',\n size: 16,\n verticalAlign: 'text-bottom'\n};\n\nfunction HeartFillIcon(props) {\n var svgDataByHeight = { \"16\": { \"width\": 16, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M7.655 14.916L8 14.25l.345.666a.752.752 0 01-.69 0zm0 0L8 14.25l.345.666.002-.001.006-.003.018-.01a7.643 7.643 0 00.31-.17 22.08 22.08 0 003.433-2.414C13.956 10.731 16 8.35 16 5.5 16 2.836 13.914 1 11.75 1 10.203 1 8.847 1.802 8 3.02 7.153 1.802 5.797 1 4.25 1 2.086 1 0 2.836 0 5.5c0 2.85 2.045 5.231 3.885 6.818a22.075 22.075 0 003.744 2.584l.018.01.006.003h.002z\\\"></path>\" }, \"24\": { \"width\": 24, \"path\": \"<path d=\\\"M14 20.408c-.492.308-.903.546-1.192.709-.153.086-.308.17-.463.252h-.002a.75.75 0 01-.686 0 16.709 16.709 0 01-.465-.252 31.147 31.147 0 01-4.803-3.34C3.8 15.572 1 12.331 1 8.513 1 5.052 3.829 2.5 6.736 2.5 9.03 2.5 10.881 3.726 12 5.605 13.12 3.726 14.97 2.5 17.264 2.5 20.17 2.5 23 5.052 23 8.514c0 3.818-2.801 7.06-5.389 9.262A31.146 31.146 0 0114 20.408z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nHeartFillIcon.defaultProps = {\n className: 'octicon octicon-heart-fill',\n size: 16,\n verticalAlign: 'text-bottom'\n};\n\nfunction HistoryIcon(props) {\n var svgDataByHeight = { \"16\": { \"width\": 16, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M1.643 3.143L.427 1.927A.25.25 0 000 2.104V5.75c0 .138.112.25.25.25h3.646a.25.25 0 00.177-.427L2.715 4.215a6.5 6.5 0 11-1.18 4.458.75.75 0 10-1.493.154 8.001 8.001 0 101.6-5.684zM7.75 4a.75.75 0 01.75.75v2.992l2.028.812a.75.75 0 01-.557 1.392l-2.5-1A.75.75 0 017 8.25v-3.5A.75.75 0 017.75 4z\\\"></path>\" }, \"24\": { \"width\": 24, \"path\": \"<path d=\\\"M11.998 2.5A9.503 9.503 0 003.378 8H5.75a.75.75 0 010 1.5H2a1 1 0 01-1-1V4.75a.75.75 0 011.5 0v1.697A10.997 10.997 0 0111.998 1C18.074 1 23 5.925 23 12s-4.926 11-11.002 11C6.014 23 1.146 18.223 1 12.275a.75.75 0 011.5-.037 9.5 9.5 0 009.498 9.262c5.248 0 9.502-4.253 9.502-9.5s-4.254-9.5-9.502-9.5z\\\"></path><path d=\\\"M12.5 7.25a.75.75 0 00-1.5 0v5.5c0 .27.144.518.378.651l3.5 2a.75.75 0 00.744-1.302L12.5 12.315V7.25z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nHistoryIcon.defaultProps = {\n className: 'octicon octicon-history',\n size: 16,\n verticalAlign: 'text-bottom'\n};\n\nfunction HomeIcon(props) {\n var svgDataByHeight = { \"16\": { \"width\": 16, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M8.156 1.835a.25.25 0 00-.312 0l-5.25 4.2a.25.25 0 00-.094.196v7.019c0 .138.112.25.25.25H5.5V8.25a.75.75 0 01.75-.75h3.5a.75.75 0 01.75.75v5.25h2.75a.25.25 0 00.25-.25V6.23a.25.25 0 00-.094-.195l-5.25-4.2zM6.906.664a1.75 1.75 0 012.187 0l5.25 4.2c.415.332.657.835.657 1.367v7.019A1.75 1.75 0 0113.25 15h-3.5a.75.75 0 01-.75-.75V9H7v5.25a.75.75 0 01-.75.75h-3.5A1.75 1.75 0 011 13.25V6.23c0-.531.242-1.034.657-1.366l5.25-4.2h-.001z\\\"></path>\" }, \"24\": { \"width\": 24, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M11.03 2.59a1.5 1.5 0 011.94 0l7.5 6.363a1.5 1.5 0 01.53 1.144V19.5a1.5 1.5 0 01-1.5 1.5h-5.75a.75.75 0 01-.75-.75V14h-2v6.25a.75.75 0 01-.75.75H4.5A1.5 1.5 0 013 19.5v-9.403c0-.44.194-.859.53-1.144l7.5-6.363zM12 3.734l-7.5 6.363V19.5h5v-6.25a.75.75 0 01.75-.75h3.5a.75.75 0 01.75.75v6.25h5v-9.403L12 3.734z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nHomeIcon.defaultProps = {\n className: 'octicon octicon-home',\n size: 16,\n verticalAlign: 'text-bottom'\n};\n\nfunction HomeFillIcon(props) {\n var svgDataByHeight = { \"24\": { \"width\": 24, \"path\": \"<path d=\\\"M12.97 2.59a1.5 1.5 0 00-1.94 0l-7.5 6.363A1.5 1.5 0 003 10.097V19.5A1.5 1.5 0 004.5 21h4.75a.75.75 0 00.75-.75V14h4v6.25c0 .414.336.75.75.75h4.75a1.5 1.5 0 001.5-1.5v-9.403a1.5 1.5 0 00-.53-1.144l-7.5-6.363z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nHomeFillIcon.defaultProps = {\n className: 'octicon octicon-home-fill',\n size: 16,\n verticalAlign: 'text-bottom'\n};\n\nfunction HorizontalRuleIcon(props) {\n var svgDataByHeight = { \"16\": { \"width\": 16, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M0 7.75A.75.75 0 01.75 7h14.5a.75.75 0 010 1.5H.75A.75.75 0 010 7.75z\\\"></path>\" }, \"24\": { \"width\": 24, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M2 12.75a.75.75 0 01.75-.75h18.5a.75.75 0 010 1.5H2.75a.75.75 0 01-.75-.75z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nHorizontalRuleIcon.defaultProps = {\n className: 'octicon octicon-horizontal-rule',\n size: 16,\n verticalAlign: 'text-bottom'\n};\n\nfunction HourglassIcon(props) {\n var svgDataByHeight = { \"16\": { \"width\": 16, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M2.75 1a.75.75 0 000 1.5h.75v1.25a4.75 4.75 0 001.9 3.8l.333.25c.134.1.134.3 0 .4l-.333.25a4.75 4.75 0 00-1.9 3.8v1.25h-.75a.75.75 0 000 1.5h10.5a.75.75 0 000-1.5h-.75v-1.25a4.75 4.75 0 00-1.9-3.8l-.333-.25a.25.25 0 010-.4l.333-.25a4.75 4.75 0 001.9-3.8V2.5h.75a.75.75 0 000-1.5H2.75zM11 2.5H5v1.25a3.25 3.25 0 001.3 2.6l.333.25c.934.7.934 2.1 0 2.8l-.333.25a3.25 3.25 0 00-1.3 2.6v1.25h6v-1.25a3.25 3.25 0 00-1.3-2.6l-.333-.25a1.75 1.75 0 010-2.8l.333-.25a3.25 3.25 0 001.3-2.6V2.5z\\\"></path>\" }, \"24\": { \"width\": 24, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M4.75 2a.75.75 0 000 1.5h.75v2.982a4.75 4.75 0 002.215 4.017l2.044 1.29a.25.25 0 010 .422l-2.044 1.29A4.75 4.75 0 005.5 17.518V20.5h-.75a.75.75 0 000 1.5h14.5a.75.75 0 000-1.5h-.75v-2.982a4.75 4.75 0 00-2.215-4.017l-2.044-1.29a.25.25 0 010-.422l2.044-1.29A4.75 4.75 0 0018.5 6.482V3.5h.75a.75.75 0 000-1.5H4.75zM17 3.5H7v2.982A3.25 3.25 0 008.516 9.23l2.044 1.29a1.75 1.75 0 010 2.96l-2.044 1.29A3.25 3.25 0 007 17.518V20.5h10v-2.982a3.25 3.25 0 00-1.516-2.748l-2.044-1.29a1.75 1.75 0 010-2.96l2.044-1.29A3.25 3.25 0 0017 6.482V3.5z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nHourglassIcon.defaultProps = {\n className: 'octicon octicon-hourglass',\n size: 16,\n verticalAlign: 'text-bottom'\n};\n\nfunction HubotIcon(props) {\n var svgDataByHeight = { \"16\": { \"width\": 16, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M0 8a8 8 0 1116 0v5.25a.75.75 0 01-1.5 0V8a6.5 6.5 0 10-13 0v5.25a.75.75 0 01-1.5 0V8zm5.5 4.25a.75.75 0 01.75-.75h3.5a.75.75 0 010 1.5h-3.5a.75.75 0 01-.75-.75zM3 6.75C3 5.784 3.784 5 4.75 5h6.5c.966 0 1.75.784 1.75 1.75v1.5A1.75 1.75 0 0111.25 10h-6.5A1.75 1.75 0 013 8.25v-1.5zm1.47-.53a.75.75 0 011.06 0l.97.97.97-.97a.75.75 0 011.06 0l.97.97.97-.97a.75.75 0 111.06 1.06l-1.5 1.5a.75.75 0 01-1.06 0L8 7.81l-.97.97a.75.75 0 01-1.06 0l-1.5-1.5a.75.75 0 010-1.06z\\\"></path>\" }, \"24\": { \"width\": 24, \"path\": \"<path d=\\\"M0 13C0 6.373 5.373 1 12 1s12 5.373 12 12v8.657a.75.75 0 01-1.5 0V13c0-5.799-4.701-10.5-10.5-10.5S1.5 7.201 1.5 13v8.657a.75.75 0 01-1.5 0V13z\\\"></path><path d=\\\"M8 19.75a.75.75 0 01.75-.75h6.5a.75.75 0 010 1.5h-6.5a.75.75 0 01-.75-.75z\\\"></path><path fill-rule=\\\"evenodd\\\" d=\\\"M5.25 9.5a1.75 1.75 0 00-1.75 1.75v3.5c0 .966.784 1.75 1.75 1.75h13.5a1.75 1.75 0 001.75-1.75v-3.5a1.75 1.75 0 00-1.75-1.75H5.25zm.22 1.47a.75.75 0 011.06 0L9 13.44l2.47-2.47a.75.75 0 011.06 0L15 13.44l2.47-2.47a.75.75 0 111.06 1.06l-3 3a.75.75 0 01-1.06 0L12 12.56l-2.47 2.47a.75.75 0 01-1.06 0l-3-3a.75.75 0 010-1.06z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nHubotIcon.defaultProps = {\n className: 'octicon octicon-hubot',\n size: 16,\n verticalAlign: 'text-bottom'\n};\n\nfunction ImageIcon(props) {\n var svgDataByHeight = { \"16\": { \"width\": 16, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M1.75 2.5a.25.25 0 00-.25.25v10.5c0 .138.112.25.25.25h.94a.76.76 0 01.03-.03l6.077-6.078a1.75 1.75 0 012.412-.06L14.5 10.31V2.75a.25.25 0 00-.25-.25H1.75zm12.5 11H4.81l5.048-5.047a.25.25 0 01.344-.009l4.298 3.889v.917a.25.25 0 01-.25.25zm1.75-.25V2.75A1.75 1.75 0 0014.25 1H1.75A1.75 1.75 0 000 2.75v10.5C0 14.216.784 15 1.75 15h12.5A1.75 1.75 0 0016 13.25zM5.5 6a.5.5 0 11-1 0 .5.5 0 011 0zM7 6a2 2 0 11-4 0 2 2 0 014 0z\\\"></path>\" }, \"24\": { \"width\": 24, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M19.25 4.5H4.75a.25.25 0 00-.25.25v14.5c0 .138.112.25.25.25h.19l9.823-9.823a1.75 1.75 0 012.475 0l2.262 2.262V4.75a.25.25 0 00-.25-.25zm.25 9.56l-3.323-3.323a.25.25 0 00-.354 0L7.061 19.5H19.25a.25.25 0 00.25-.25v-5.19zM4.75 3A1.75 1.75 0 003 4.75v14.5c0 .966.784 1.75 1.75 1.75h14.5A1.75 1.75 0 0021 19.25V4.75A1.75 1.75 0 0019.25 3H4.75zM8.5 9.5a1 1 0 100-2 1 1 0 000 2zm0 1.5a2.5 2.5 0 100-5 2.5 2.5 0 000 5z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nImageIcon.defaultProps = {\n className: 'octicon octicon-image',\n size: 16,\n verticalAlign: 'text-bottom'\n};\n\nfunction InboxIcon(props) {\n var svgDataByHeight = { \"16\": { \"width\": 16, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M2.8 2.06A1.75 1.75 0 014.41 1h7.18c.7 0 1.333.417 1.61 1.06l2.74 6.395a.75.75 0 01.06.295v4.5A1.75 1.75 0 0114.25 15H1.75A1.75 1.75 0 010 13.25v-4.5a.75.75 0 01.06-.295L2.8 2.06zm1.61.44a.25.25 0 00-.23.152L1.887 8H4.75a.75.75 0 01.6.3L6.625 10h2.75l1.275-1.7a.75.75 0 01.6-.3h2.863L11.82 2.652a.25.25 0 00-.23-.152H4.41zm10.09 7h-2.875l-1.275 1.7a.75.75 0 01-.6.3h-3.5a.75.75 0 01-.6-.3L4.375 9.5H1.5v3.75c0 .138.112.25.25.25h12.5a.25.25 0 00.25-.25V9.5z\\\"></path>\" }, \"24\": { \"width\": 24, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M4.801 3.57A1.75 1.75 0 016.414 2.5h11.174c.702 0 1.337.42 1.611 1.067l3.741 8.828c.04.092.06.192.06.293v7.562A1.75 1.75 0 0121.25 22H2.75A1.75 1.75 0 011 20.25v-7.5c0-.1.02-.199.059-.291L4.8 3.571zM6.414 4a.25.25 0 00-.23.153L2.88 12H8a.75.75 0 01.648.372L10.18 15h3.638l1.533-2.628a.75.75 0 01.64-.372l5.13-.051-3.304-7.797a.25.25 0 00-.23-.152H6.414zM21.5 13.445l-5.067.05-1.535 2.633a.75.75 0 01-.648.372h-4.5a.75.75 0 01-.648-.372L7.57 13.5H2.5v6.75c0 .138.112.25.25.25h18.5a.25.25 0 00.25-.25v-6.805z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nInboxIcon.defaultProps = {\n className: 'octicon octicon-inbox',\n size: 16,\n verticalAlign: 'text-bottom'\n};\n\nfunction InfinityIcon(props) {\n var svgDataByHeight = { \"16\": { \"width\": 16, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M3.5 6c-1.086 0-2 .914-2 2 0 1.086.914 2 2 2 .525 0 1.122-.244 1.825-.727.51-.35 1.025-.79 1.561-1.273-.536-.483-1.052-.922-1.56-1.273C4.621 6.244 4.025 6 3.5 6zm4.5.984c-.59-.533-1.204-1.066-1.825-1.493-.797-.548-1.7-.991-2.675-.991C1.586 4.5 0 6.086 0 8s1.586 3.5 3.5 3.5c.975 0 1.878-.444 2.675-.991.621-.427 1.235-.96 1.825-1.493.59.533 1.204 1.066 1.825 1.493.797.547 1.7.991 2.675.991 1.914 0 3.5-1.586 3.5-3.5s-1.586-3.5-3.5-3.5c-.975 0-1.878.443-2.675.991-.621.427-1.235.96-1.825 1.493zM9.114 8c.536.483 1.052.922 1.56 1.273.704.483 1.3.727 1.826.727 1.086 0 2-.914 2-2 0-1.086-.914-2-2-2-.525 0-1.122.244-1.825.727-.51.35-1.025.79-1.561 1.273z\\\"></path>\" }, \"24\": { \"width\": 24, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M5.25 8.5c-2.032 0-3.75 1.895-3.75 3.75S3.218 16 5.25 16c1.017 0 2.014-.457 3.062-1.253.89-.678 1.758-1.554 2.655-2.497-.897-.943-1.765-1.82-2.655-2.497C7.264 8.957 6.267 8.5 5.25 8.5zM12 11.16c-.887-.933-1.813-1.865-2.78-2.6C8.048 7.667 6.733 7 5.25 7 2.343 7 0 9.615 0 12.25s2.343 5.25 5.25 5.25c1.483 0 2.798-.668 3.97-1.56.967-.735 1.893-1.667 2.78-2.6.887.933 1.813 1.865 2.78 2.6 1.172.892 2.487 1.56 3.97 1.56 2.907 0 5.25-2.615 5.25-5.25S21.657 7 18.75 7c-1.483 0-2.798.668-3.97 1.56-.967.735-1.893 1.667-2.78 2.6zm1.033 1.09c.897.943 1.765 1.82 2.655 2.497C16.736 15.543 17.733 16 18.75 16c2.032 0 3.75-1.895 3.75-3.75S20.782 8.5 18.75 8.5c-1.017 0-2.014.457-3.062 1.253-.89.678-1.758 1.554-2.655 2.497z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nInfinityIcon.defaultProps = {\n className: 'octicon octicon-infinity',\n size: 16,\n verticalAlign: 'text-bottom'\n};\n\nfunction InfoIcon(props) {\n var svgDataByHeight = { \"16\": { \"width\": 16, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M8 1.5a6.5 6.5 0 100 13 6.5 6.5 0 000-13zM0 8a8 8 0 1116 0A8 8 0 010 8zm6.5-.25A.75.75 0 017.25 7h1a.75.75 0 01.75.75v2.75h.25a.75.75 0 010 1.5h-2a.75.75 0 010-1.5h.25v-2h-.25a.75.75 0 01-.75-.75zM8 6a1 1 0 100-2 1 1 0 000 2z\\\"></path>\" }, \"24\": { \"width\": 24, \"path\": \"<path d=\\\"M13 7.5a1 1 0 11-2 0 1 1 0 012 0zm-3 3.75a.75.75 0 01.75-.75h1.5a.75.75 0 01.75.75v4.25h.75a.75.75 0 010 1.5h-3a.75.75 0 010-1.5h.75V12h-.75a.75.75 0 01-.75-.75z\\\"></path><path fill-rule=\\\"evenodd\\\" d=\\\"M12 1C5.925 1 1 5.925 1 12s4.925 11 11 11 11-4.925 11-11S18.075 1 12 1zM2.5 12a9.5 9.5 0 1119 0 9.5 9.5 0 01-19 0z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nInfoIcon.defaultProps = {\n className: 'octicon octicon-info',\n size: 16,\n verticalAlign: 'text-bottom'\n};\n\nfunction IssueClosedIcon(props) {\n var svgDataByHeight = { \"16\": { \"width\": 16, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M1.5 8a6.5 6.5 0 0110.65-5.003.75.75 0 00.959-1.153 8 8 0 102.592 8.33.75.75 0 10-1.444-.407A6.5 6.5 0 011.5 8zM8 12a1 1 0 100-2 1 1 0 000 2zm0-8a.75.75 0 01.75.75v3.5a.75.75 0 11-1.5 0v-3.5A.75.75 0 018 4zm4.78 4.28l3-3a.75.75 0 00-1.06-1.06l-2.47 2.47-.97-.97a.749.749 0 10-1.06 1.06l1.5 1.5a.75.75 0 001.06 0z\\\"></path>\" }, \"24\": { \"width\": 24, \"path\": \"<path d=\\\"M2.5 12c0-5.24 4.288-9.5 9.593-9.5a9.608 9.608 0 017.197 3.219.75.75 0 001.12-.998A11.108 11.108 0 0012.093 1C5.973 1 1 5.919 1 12s4.973 11 11.093 11c5.403 0 9.91-3.832 10.893-8.915a.75.75 0 10-1.472-.285c-.848 4.381-4.74 7.7-9.421 7.7C6.788 21.5 2.5 17.24 2.5 12z\\\"></path><path d=\\\"M12 17a1 1 0 100-2 1 1 0 000 2zm0-10a.75.75 0 01.75.75v4.5a.75.75 0 01-1.5 0v-4.5A.75.75 0 0112 7zm11.28.78a.75.75 0 00-1.06-1.06l-3.47 3.47-1.47-1.47a.75.75 0 10-1.06 1.06l2 2a.75.75 0 001.06 0l4-4z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nIssueClosedIcon.defaultProps = {\n className: 'octicon octicon-issue-closed',\n size: 16,\n verticalAlign: 'text-bottom'\n};\n\nfunction IssueOpenedIcon(props) {\n var svgDataByHeight = { \"16\": { \"width\": 16, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M8 1.5a6.5 6.5 0 100 13 6.5 6.5 0 000-13zM0 8a8 8 0 1116 0A8 8 0 010 8zm9 3a1 1 0 11-2 0 1 1 0 012 0zm-.25-6.25a.75.75 0 00-1.5 0v3.5a.75.75 0 001.5 0v-3.5z\\\"></path>\" }, \"24\": { \"width\": 24, \"path\": \"<path d=\\\"M12 7a.75.75 0 01.75.75v4.5a.75.75 0 01-1.5 0v-4.5A.75.75 0 0112 7zm1 9a1 1 0 11-2 0 1 1 0 012 0z\\\"></path><path fill-rule=\\\"evenodd\\\" d=\\\"M12 1C5.925 1 1 5.925 1 12s4.925 11 11 11 11-4.925 11-11S18.075 1 12 1zM2.5 12a9.5 9.5 0 1119 0 9.5 9.5 0 01-19 0z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nIssueOpenedIcon.defaultProps = {\n className: 'octicon octicon-issue-opened',\n size: 16,\n verticalAlign: 'text-bottom'\n};\n\nfunction IssueReopenedIcon(props) {\n var svgDataByHeight = { \"16\": { \"width\": 16, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M8 1.5a6.491 6.491 0 00-5.285 2.715l1.358 1.358A.25.25 0 013.896 6H.25A.25.25 0 010 5.75V2.104a.25.25 0 01.427-.177l1.216 1.216a8 8 0 0114.315 4.03.748.748 0 01-.668.83.75.75 0 01-.824-.676A6.501 6.501 0 008 1.5zM.712 8.004a.75.75 0 01.822.67 6.501 6.501 0 0011.751 3.111l-1.358-1.358a.25.25 0 01.177-.427h3.646a.25.25 0 01.25.25v3.646a.25.25 0 01-.427.177l-1.216-1.216A8 8 0 01.042 8.827a.75.75 0 01.67-.823zM9 11a1 1 0 11-2 0 1 1 0 012 0zm-.25-6.25a.75.75 0 00-1.5 0v3.5a.75.75 0 001.5 0v-3.5z\\\"></path>\" }, \"24\": { \"width\": 24, \"path\": \"<path d=\\\"M3.38 8A9.502 9.502 0 0112 2.5a9.502 9.502 0 019.215 7.182.75.75 0 101.456-.364C21.473 4.539 17.15 1 12 1a10.995 10.995 0 00-9.5 5.452V4.75a.75.75 0 00-1.5 0V8.5a1 1 0 001 1h3.75a.75.75 0 000-1.5H3.38zm-.595 6.318a.75.75 0 00-1.455.364C2.527 19.461 6.85 23 12 23c4.052 0 7.592-2.191 9.5-5.451v1.701a.75.75 0 001.5 0V15.5a1 1 0 00-1-1h-3.75a.75.75 0 000 1.5h2.37A9.502 9.502 0 0112 21.5c-4.446 0-8.181-3.055-9.215-7.182z\\\"></path><path d=\\\"M12 17a1 1 0 100-2 1 1 0 000 2zm0-10a.75.75 0 01.75.75v4.5a.75.75 0 01-1.5 0v-4.5A.75.75 0 0112 7z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nIssueReopenedIcon.defaultProps = {\n className: 'octicon octicon-issue-reopened',\n size: 16,\n verticalAlign: 'text-bottom'\n};\n\nfunction ItalicIcon(props) {\n var svgDataByHeight = { \"16\": { \"width\": 16, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M6 2.75A.75.75 0 016.75 2h6.5a.75.75 0 010 1.5h-2.505l-3.858 9H9.25a.75.75 0 010 1.5h-6.5a.75.75 0 010-1.5h2.505l3.858-9H6.75A.75.75 0 016 2.75z\\\"></path>\" }, \"24\": { \"width\": 24, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M10 4.75a.75.75 0 01.75-.75h8.5a.75.75 0 010 1.5h-3.514l-5.828 13h3.342a.75.75 0 010 1.5h-8.5a.75.75 0 010-1.5h3.514l5.828-13H10.75a.75.75 0 01-.75-.75z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nItalicIcon.defaultProps = {\n className: 'octicon octicon-italic',\n size: 16,\n verticalAlign: 'text-bottom'\n};\n\nfunction KebabHorizontalIcon(props) {\n var svgDataByHeight = { \"16\": { \"width\": 16, \"path\": \"<path d=\\\"M8 9a1.5 1.5 0 100-3 1.5 1.5 0 000 3zM1.5 9a1.5 1.5 0 100-3 1.5 1.5 0 000 3zm13 0a1.5 1.5 0 100-3 1.5 1.5 0 000 3z\\\"></path>\" }, \"24\": { \"width\": 24, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M6 12a2 2 0 11-4 0 2 2 0 014 0zm8 0a2 2 0 11-4 0 2 2 0 014 0zm6 2a2 2 0 100-4 2 2 0 000 4z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nKebabHorizontalIcon.defaultProps = {\n className: 'octicon octicon-kebab-horizontal',\n size: 16,\n verticalAlign: 'text-bottom'\n};\n\nfunction KeyIcon(props) {\n var svgDataByHeight = { \"16\": { \"width\": 16, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M6.5 5.5a4 4 0 112.731 3.795.75.75 0 00-.768.18L7.44 10.5H6.25a.75.75 0 00-.75.75v1.19l-.06.06H4.25a.75.75 0 00-.75.75v1.19l-.06.06H1.75a.25.25 0 01-.25-.25v-1.69l5.024-5.023a.75.75 0 00.181-.768A3.995 3.995 0 016.5 5.5zm4-5.5a5.5 5.5 0 00-5.348 6.788L.22 11.72a.75.75 0 00-.22.53v2C0 15.216.784 16 1.75 16h2a.75.75 0 00.53-.22l.5-.5a.75.75 0 00.22-.53V14h.75a.75.75 0 00.53-.22l.5-.5a.75.75 0 00.22-.53V12h.75a.75.75 0 00.53-.22l.932-.932A5.5 5.5 0 1010.5 0zm.5 6a1 1 0 100-2 1 1 0 000 2z\\\"></path>\" }, \"24\": { \"width\": 24, \"path\": \"<path d=\\\"M16.75 8.5a1.25 1.25 0 100-2.5 1.25 1.25 0 000 2.5z\\\"></path><path fill-rule=\\\"evenodd\\\" d=\\\"M15.75 0a8.25 8.25 0 00-7.851 10.79L.513 18.178A1.75 1.75 0 000 19.414v2.836C0 23.217.784 24 1.75 24h1.5A1.75 1.75 0 005 22.25v-1a.25.25 0 01.25-.25h2.735a.75.75 0 00.545-.22l.214-.213A.875.875 0 009 19.948V18.5a.25.25 0 01.25-.25h1.086c.464 0 .91-.184 1.237-.513l1.636-1.636A8.25 8.25 0 1015.75 0zM9 8.25a6.75 6.75 0 114.288 6.287.75.75 0 00-.804.168l-1.971 1.972a.25.25 0 01-.177.073H9.25A1.75 1.75 0 007.5 18.5v1H5.25a1.75 1.75 0 00-1.75 1.75v1a.25.25 0 01-.25.25h-1.5a.25.25 0 01-.25-.25v-2.836a.25.25 0 01.073-.177l7.722-7.721a.75.75 0 00.168-.804A6.73 6.73 0 019 8.25z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nKeyIcon.defaultProps = {\n className: 'octicon octicon-key',\n size: 16,\n verticalAlign: 'text-bottom'\n};\n\nfunction LawIcon(props) {\n var svgDataByHeight = { \"16\": { \"width\": 16, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M8.75.75a.75.75 0 00-1.5 0V2h-.984c-.305 0-.604.08-.869.23l-1.288.737A.25.25 0 013.984 3H1.75a.75.75 0 000 1.5h.428L.066 9.192a.75.75 0 00.154.838l.53-.53-.53.53v.001l.002.002.002.002.006.006.016.015.045.04a3.514 3.514 0 00.686.45A4.492 4.492 0 003 11c.88 0 1.556-.22 2.023-.454a3.515 3.515 0 00.686-.45l.045-.04.016-.015.006-.006.002-.002.001-.002L5.25 9.5l.53.53a.75.75 0 00.154-.838L3.822 4.5h.162c.305 0 .604-.08.869-.23l1.289-.737a.25.25 0 01.124-.033h.984V13h-2.5a.75.75 0 000 1.5h6.5a.75.75 0 000-1.5h-2.5V3.5h.984a.25.25 0 01.124.033l1.29.736c.264.152.563.231.868.231h.162l-2.112 4.692a.75.75 0 00.154.838l.53-.53-.53.53v.001l.002.002.002.002.006.006.016.015.045.04a3.517 3.517 0 00.686.45A4.492 4.492 0 0013 11c.88 0 1.556-.22 2.023-.454a3.512 3.512 0 00.686-.45l.045-.04.01-.01.006-.005.006-.006.002-.002.001-.002-.529-.531.53.53a.75.75 0 00.154-.838L13.823 4.5h.427a.75.75 0 000-1.5h-2.234a.25.25 0 01-.124-.033l-1.29-.736A1.75 1.75 0 009.735 2H8.75V.75zM1.695 9.227c.285.135.718.273 1.305.273s1.02-.138 1.305-.273L3 6.327l-1.305 2.9zm10 0c.285.135.718.273 1.305.273s1.02-.138 1.305-.273L13 6.327l-1.305 2.9z\\\"></path>\" }, \"24\": { \"width\": 24, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M12.75 2.75a.75.75 0 00-1.5 0V4.5H9.276a1.75 1.75 0 00-.985.303L6.596 5.957A.25.25 0 016.455 6H2.353a.75.75 0 100 1.5H3.93L.563 15.18a.762.762 0 00.21.88c.08.064.161.125.309.221.186.121.452.278.792.433.68.311 1.662.62 2.876.62a6.919 6.919 0 002.876-.62c.34-.155.606-.312.792-.433.15-.097.23-.158.31-.223a.75.75 0 00.209-.878L5.569 7.5h.886c.351 0 .694-.106.984-.303l1.696-1.154A.25.25 0 019.275 6h1.975v14.5H6.763a.75.75 0 000 1.5h10.474a.75.75 0 000-1.5H12.75V6h1.974c.05 0 .1.015.14.043l1.697 1.154c.29.197.633.303.984.303h.886l-3.368 7.68a.75.75 0 00.23.896c.012.009 0 0 .002 0a3.154 3.154 0 00.31.206c.185.112.45.256.79.4a7.343 7.343 0 002.855.568 7.343 7.343 0 002.856-.569c.338-.143.604-.287.79-.399a3.5 3.5 0 00.31-.206.75.75 0 00.23-.896L20.07 7.5h1.578a.75.75 0 000-1.5h-4.102a.25.25 0 01-.14-.043l-1.697-1.154a1.75 1.75 0 00-.984-.303H12.75V2.75zM2.193 15.198a5.418 5.418 0 002.557.635 5.418 5.418 0 002.557-.635L4.75 9.368l-2.557 5.83zm14.51-.024c.082.04.174.083.275.126.53.223 1.305.45 2.272.45a5.846 5.846 0 002.547-.576L19.25 9.367l-2.547 5.807z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nLawIcon.defaultProps = {\n className: 'octicon octicon-law',\n size: 16,\n verticalAlign: 'text-bottom'\n};\n\nfunction LightBulbIcon(props) {\n var svgDataByHeight = { \"16\": { \"width\": 16, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M8 1.5c-2.363 0-4 1.69-4 3.75 0 .984.424 1.625.984 2.304l.214.253c.223.264.47.556.673.848.284.411.537.896.621 1.49a.75.75 0 01-1.484.211c-.04-.282-.163-.547-.37-.847a8.695 8.695 0 00-.542-.68c-.084-.1-.173-.205-.268-.32C3.201 7.75 2.5 6.766 2.5 5.25 2.5 2.31 4.863 0 8 0s5.5 2.31 5.5 5.25c0 1.516-.701 2.5-1.328 3.259-.095.115-.184.22-.268.319-.207.245-.383.453-.541.681-.208.3-.33.565-.37.847a.75.75 0 01-1.485-.212c.084-.593.337-1.078.621-1.489.203-.292.45-.584.673-.848.075-.088.147-.173.213-.253.561-.679.985-1.32.985-2.304 0-2.06-1.637-3.75-4-3.75zM6 15.25a.75.75 0 01.75-.75h2.5a.75.75 0 010 1.5h-2.5a.75.75 0 01-.75-.75zM5.75 12a.75.75 0 000 1.5h4.5a.75.75 0 000-1.5h-4.5z\\\"></path>\" }, \"24\": { \"width\": 24, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M12 2.5c-3.81 0-6.5 2.743-6.5 6.119 0 1.536.632 2.572 1.425 3.56.172.215.347.422.527.635l.096.112c.21.25.427.508.63.774.404.531.783 1.128.995 1.834a.75.75 0 01-1.436.432c-.138-.46-.397-.89-.753-1.357a18.354 18.354 0 00-.582-.714l-.092-.11c-.18-.212-.37-.436-.555-.667C4.87 12.016 4 10.651 4 8.618 4 4.363 7.415 1 12 1s8 3.362 8 7.619c0 2.032-.87 3.397-1.755 4.5-.185.23-.375.454-.555.667l-.092.109c-.21.248-.405.481-.582.714-.356.467-.615.898-.753 1.357a.75.75 0 01-1.437-.432c.213-.706.592-1.303.997-1.834.202-.266.419-.524.63-.774l.095-.112c.18-.213.355-.42.527-.634.793-.99 1.425-2.025 1.425-3.561C18.5 5.243 15.81 2.5 12 2.5zM9.5 21.75a.75.75 0 01.75-.75h3.5a.75.75 0 010 1.5h-3.5a.75.75 0 01-.75-.75zM8.75 18a.75.75 0 000 1.5h6.5a.75.75 0 000-1.5h-6.5z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nLightBulbIcon.defaultProps = {\n className: 'octicon octicon-light-bulb',\n size: 16,\n verticalAlign: 'text-bottom'\n};\n\nfunction LinkIcon(props) {\n var svgDataByHeight = { \"16\": { \"width\": 16, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z\\\"></path>\" }, \"24\": { \"width\": 24, \"path\": \"<path d=\\\"M14.78 3.653a3.936 3.936 0 115.567 5.567l-3.627 3.627a3.936 3.936 0 01-5.88-.353.75.75 0 00-1.18.928 5.436 5.436 0 008.12.486l3.628-3.628a5.436 5.436 0 10-7.688-7.688l-3 3a.75.75 0 001.06 1.061l3-3z\\\"></path><path d=\\\"M7.28 11.153a3.936 3.936 0 015.88.353.75.75 0 001.18-.928 5.436 5.436 0 00-8.12-.486L2.592 13.72a5.436 5.436 0 107.688 7.688l3-3a.75.75 0 10-1.06-1.06l-3 3a3.936 3.936 0 01-5.567-5.568l3.627-3.627z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nLinkIcon.defaultProps = {\n className: 'octicon octicon-link',\n size: 16,\n verticalAlign: 'text-bottom'\n};\n\nfunction LinkExternalIcon(props) {\n var svgDataByHeight = { \"16\": { \"width\": 16, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M10.604 1h4.146a.25.25 0 01.25.25v4.146a.25.25 0 01-.427.177L13.03 4.03 9.28 7.78a.75.75 0 01-1.06-1.06l3.75-3.75-1.543-1.543A.25.25 0 0110.604 1zM3.75 2A1.75 1.75 0 002 3.75v8.5c0 .966.784 1.75 1.75 1.75h8.5A1.75 1.75 0 0014 12.25v-3.5a.75.75 0 00-1.5 0v3.5a.25.25 0 01-.25.25h-8.5a.25.25 0 01-.25-.25v-8.5a.25.25 0 01.25-.25h3.5a.75.75 0 000-1.5h-3.5z\\\"></path>\" }, \"24\": { \"width\": 24, \"path\": \"<path d=\\\"M15.5 2.25a.75.75 0 01.75-.75h5.5a.75.75 0 01.75.75v5.5a.75.75 0 01-1.5 0V4.06l-6.22 6.22a.75.75 0 11-1.06-1.06L19.94 3h-3.69a.75.75 0 01-.75-.75z\\\"></path><path d=\\\"M2.5 4.25c0-.966.784-1.75 1.75-1.75h8.5a.75.75 0 010 1.5h-8.5a.25.25 0 00-.25.25v15.5c0 .138.112.25.25.25h15.5a.25.25 0 00.25-.25v-8.5a.75.75 0 011.5 0v8.5a1.75 1.75 0 01-1.75 1.75H4.25a1.75 1.75 0 01-1.75-1.75V4.25z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nLinkExternalIcon.defaultProps = {\n className: 'octicon octicon-link-external',\n size: 16,\n verticalAlign: 'text-bottom'\n};\n\nfunction ListOrderedIcon(props) {\n var svgDataByHeight = { \"16\": { \"width\": 16, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M2.003 2.5a.5.5 0 00-.723-.447l-1.003.5a.5.5 0 00.446.895l.28-.14V6H.5a.5.5 0 000 1h2.006a.5.5 0 100-1h-.503V2.5zM5 3.25a.75.75 0 01.75-.75h8.5a.75.75 0 010 1.5h-8.5A.75.75 0 015 3.25zm0 5a.75.75 0 01.75-.75h8.5a.75.75 0 010 1.5h-8.5A.75.75 0 015 8.25zm0 5a.75.75 0 01.75-.75h8.5a.75.75 0 010 1.5h-8.5a.75.75 0 01-.75-.75zM.924 10.32l.003-.004a.851.851 0 01.144-.153A.66.66 0 011.5 10c.195 0 .306.068.374.146a.57.57 0 01.128.376c0 .453-.269.682-.8 1.078l-.035.025C.692 11.98 0 12.495 0 13.5a.5.5 0 00.5.5h2.003a.5.5 0 000-1H1.146c.132-.197.351-.372.654-.597l.047-.035c.47-.35 1.156-.858 1.156-1.845 0-.365-.118-.744-.377-1.038-.268-.303-.658-.484-1.126-.484-.48 0-.84.202-1.068.392a1.858 1.858 0 00-.348.384l-.007.011-.002.004-.001.002-.001.001a.5.5 0 00.851.525zM.5 10.055l-.427-.26.427.26z\\\"></path>\" }, \"24\": { \"width\": 24, \"path\": \"<path d=\\\"M3.604 3.089A.75.75 0 014 3.75V8.5h.75a.75.75 0 010 1.5h-3a.75.75 0 110-1.5h.75V5.151l-.334.223a.75.75 0 01-.832-1.248l1.5-1a.75.75 0 01.77-.037zM8.75 5.5a.75.75 0 000 1.5h11.5a.75.75 0 000-1.5H8.75zm0 6a.75.75 0 000 1.5h11.5a.75.75 0 000-1.5H8.75zm0 6a.75.75 0 000 1.5h11.5a.75.75 0 000-1.5H8.75zM5.5 15.75c0-.704-.271-1.286-.72-1.686a2.302 2.302 0 00-1.53-.564c-.535 0-1.094.178-1.53.565-.449.399-.72.982-.72 1.685a.75.75 0 001.5 0c0-.296.104-.464.217-.564A.805.805 0 013.25 15c.215 0 .406.072.533.185.113.101.217.268.217.565 0 .332-.069.48-.21.657-.092.113-.216.24-.403.419l-.147.14c-.152.144-.33.313-.52.504l-1.5 1.5a.75.75 0 00-.22.53v.25c0 .414.336.75.75.75H5A.75.75 0 005 19H3.31l.47-.47c.176-.176.333-.324.48-.465l.165-.156a5.98 5.98 0 00.536-.566c.358-.447.539-.925.539-1.593z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nListOrderedIcon.defaultProps = {\n className: 'octicon octicon-list-ordered',\n size: 16,\n verticalAlign: 'text-bottom'\n};\n\nfunction ListUnorderedIcon(props) {\n var svgDataByHeight = { \"16\": { \"width\": 16, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M2 4a1 1 0 100-2 1 1 0 000 2zm3.75-1.5a.75.75 0 000 1.5h8.5a.75.75 0 000-1.5h-8.5zm0 5a.75.75 0 000 1.5h8.5a.75.75 0 000-1.5h-8.5zm0 5a.75.75 0 000 1.5h8.5a.75.75 0 000-1.5h-8.5zM3 8a1 1 0 11-2 0 1 1 0 012 0zm-1 6a1 1 0 100-2 1 1 0 000 2z\\\"></path>\" }, \"24\": { \"width\": 24, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M4 7a1 1 0 100-2 1 1 0 000 2zm4.75-1.5a.75.75 0 000 1.5h11.5a.75.75 0 000-1.5H8.75zm0 6a.75.75 0 000 1.5h11.5a.75.75 0 000-1.5H8.75zm0 6a.75.75 0 000 1.5h11.5a.75.75 0 000-1.5H8.75zM5 12a1 1 0 11-2 0 1 1 0 012 0zm-1 7a1 1 0 100-2 1 1 0 000 2z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nListUnorderedIcon.defaultProps = {\n className: 'octicon octicon-list-unordered',\n size: 16,\n verticalAlign: 'text-bottom'\n};\n\nfunction LocationIcon(props) {\n var svgDataByHeight = { \"16\": { \"width\": 16, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M11.536 3.464a5 5 0 010 7.072L8 14.07l-3.536-3.535a5 5 0 117.072-7.072v.001zm1.06 8.132a6.5 6.5 0 10-9.192 0l3.535 3.536a1.5 1.5 0 002.122 0l3.535-3.536zM8 9a2 2 0 100-4 2 2 0 000 4z\\\"></path>\" }, \"24\": { \"width\": 24, \"path\": \"<path d=\\\"M12 13.5a2.5 2.5 0 100-5 2.5 2.5 0 000 5z\\\"></path><path fill-rule=\\\"evenodd\\\" d=\\\"M19.071 3.429C15.166-.476 8.834-.476 4.93 3.429c-3.905 3.905-3.905 10.237 0 14.142l.028.028 5.375 5.375a2.359 2.359 0 003.336 0l5.403-5.403c3.905-3.905 3.905-10.237 0-14.142zM5.99 4.489A8.5 8.5 0 0118.01 16.51l-5.403 5.404a.859.859 0 01-1.214 0l-5.378-5.378-.002-.002-.023-.024a8.5 8.5 0 010-12.02z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nLocationIcon.defaultProps = {\n className: 'octicon octicon-location',\n size: 16,\n verticalAlign: 'text-bottom'\n};\n\nfunction LockIcon(props) {\n var svgDataByHeight = { \"16\": { \"width\": 16, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M4 4v2h-.25A1.75 1.75 0 002 7.75v5.5c0 .966.784 1.75 1.75 1.75h8.5A1.75 1.75 0 0014 13.25v-5.5A1.75 1.75 0 0012.25 6H12V4a4 4 0 10-8 0zm6.5 2V4a2.5 2.5 0 00-5 0v2h5zM12 7.5h.25a.25.25 0 01.25.25v5.5a.25.25 0 01-.25.25h-8.5a.25.25 0 01-.25-.25v-5.5a.25.25 0 01.25-.25H12z\\\"></path>\" }, \"24\": { \"width\": 24, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M6 9V7.25C6 3.845 8.503 1 12 1s6 2.845 6 6.25V9h.5a2.5 2.5 0 012.5 2.5v8a2.5 2.5 0 01-2.5 2.5h-13A2.5 2.5 0 013 19.5v-8A2.5 2.5 0 015.5 9H6zm1.5-1.75C7.5 4.58 9.422 2.5 12 2.5c2.578 0 4.5 2.08 4.5 4.75V9h-9V7.25zm-3 4.25a1 1 0 011-1h13a1 1 0 011 1v8a1 1 0 01-1 1h-13a1 1 0 01-1-1v-8z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nLockIcon.defaultProps = {\n className: 'octicon octicon-lock',\n size: 16,\n verticalAlign: 'text-bottom'\n};\n\nfunction LogoGistIcon(props) {\n var svgDataByHeight = { \"16\": { \"width\": 25, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M4.7 8.73h2.45v4.02c-.55.27-1.64.34-2.53.34-2.56 0-3.47-2.2-3.47-5.05 0-2.85.91-5.06 3.48-5.06 1.28 0 2.06.23 3.28.73V2.66C7.27 2.33 6.25 2 4.63 2 1.13 2 0 4.69 0 8.03c0 3.34 1.11 6.03 4.63 6.03 1.64 0 2.81-.27 3.59-.64V7.73H4.7v1zm6.39 3.72V6.06h-1.05v6.28c0 1.25.58 1.72 1.72 1.72v-.89c-.48 0-.67-.16-.67-.7v-.02zm.25-8.72c0-.44-.33-.78-.78-.78s-.77.34-.77.78.33.78.77.78.78-.34.78-.78zm4.34 5.69c-1.5-.13-1.78-.48-1.78-1.17 0-.77.33-1.34 1.88-1.34 1.05 0 1.66.16 2.27.36v-.94c-.69-.3-1.52-.39-2.25-.39-2.2 0-2.92 1.2-2.92 2.31 0 1.08.47 1.88 2.73 2.08 1.55.13 1.77.63 1.77 1.34 0 .73-.44 1.42-2.06 1.42-1.11 0-1.86-.19-2.33-.36v.94c.5.2 1.58.39 2.33.39 2.38 0 3.14-1.2 3.14-2.41 0-1.28-.53-2.03-2.75-2.23h-.03zm8.58-2.47v-.86h-2.42v-2.5l-1.08.31v2.11l-1.56.44v.48h1.56v5c0 1.53 1.19 2.13 2.5 2.13.19 0 .52-.02.69-.05v-.89c-.19.03-.41.03-.61.03-.97 0-1.5-.39-1.5-1.34V6.94h2.42v.02-.01z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nLogoGistIcon.defaultProps = {\n className: 'octicon octicon-logo-gist',\n size: 16,\n verticalAlign: 'text-bottom'\n};\n\nfunction LogoGithubIcon(props) {\n var svgDataByHeight = { \"16\": { \"width\": 45, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M18.53 12.03h-.02c.009 0 .015.01.024.011h.006l-.01-.01zm.004.011c-.093.001-.327.05-.574.05-.78 0-1.05-.36-1.05-.83V8.13h1.59c.09 0 .16-.08.16-.19v-1.7c0-.09-.08-.17-.16-.17h-1.59V3.96c0-.08-.05-.13-.14-.13h-2.16c-.09 0-.14.05-.14.13v2.17s-1.09.27-1.16.28c-.08.02-.13.09-.13.17v1.36c0 .11.08.19.17.19h1.11v3.28c0 2.44 1.7 2.69 2.86 2.69.53 0 1.17-.17 1.27-.22.06-.02.09-.09.09-.16v-1.5a.177.177 0 00-.146-.18zM42.23 9.84c0-1.81-.73-2.05-1.5-1.97-.6.04-1.08.34-1.08.34v3.52s.49.34 1.22.36c1.03.03 1.36-.34 1.36-2.25zm2.43-.16c0 3.43-1.11 4.41-3.05 4.41-1.64 0-2.52-.83-2.52-.83s-.04.46-.09.52c-.03.06-.08.08-.14.08h-1.48c-.1 0-.19-.08-.19-.17l.02-11.11c0-.09.08-.17.17-.17h2.13c.09 0 .17.08.17.17v3.77s.82-.53 2.02-.53l-.01-.02c1.2 0 2.97.45 2.97 3.88zm-8.72-3.61h-2.1c-.11 0-.17.08-.17.19v5.44s-.55.39-1.3.39-.97-.34-.97-1.09V6.25c0-.09-.08-.17-.17-.17h-2.14c-.09 0-.17.08-.17.17v5.11c0 2.2 1.23 2.75 2.92 2.75 1.39 0 2.52-.77 2.52-.77s.05.39.08.45c.02.05.09.09.16.09h1.34c.11 0 .17-.08.17-.17l.02-7.47c0-.09-.08-.17-.19-.17zm-23.7-.01h-2.13c-.09 0-.17.09-.17.2v7.34c0 .2.13.27.3.27h1.92c.2 0 .25-.09.25-.27V6.23c0-.09-.08-.17-.17-.17zm-1.05-3.38c-.77 0-1.38.61-1.38 1.38 0 .77.61 1.38 1.38 1.38.75 0 1.36-.61 1.36-1.38 0-.77-.61-1.38-1.36-1.38zm16.49-.25h-2.11c-.09 0-.17.08-.17.17v4.09h-3.31V2.6c0-.09-.08-.17-.17-.17h-2.13c-.09 0-.17.08-.17.17v11.11c0 .09.09.17.17.17h2.13c.09 0 .17-.08.17-.17V8.96h3.31l-.02 4.75c0 .09.08.17.17.17h2.13c.09 0 .17-.08.17-.17V2.6c0-.09-.08-.17-.17-.17zM8.81 7.35v5.74c0 .04-.01.11-.06.13 0 0-1.25.89-3.31.89-2.49 0-5.44-.78-5.44-5.92S2.58 1.99 5.1 2c2.18 0 3.06.49 3.2.58.04.05.06.09.06.14L7.94 4.5c0 .09-.09.2-.2.17-.36-.11-.9-.33-2.17-.33-1.47 0-3.05.42-3.05 3.73s1.5 3.7 2.58 3.7c.92 0 1.25-.11 1.25-.11v-2.3H4.88c-.11 0-.19-.08-.19-.17V7.35c0-.09.08-.17.19-.17h3.74c.11 0 .19.08.19.17z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nLogoGithubIcon.defaultProps = {\n className: 'octicon octicon-logo-github',\n size: 16,\n verticalAlign: 'text-bottom'\n};\n\nfunction MailIcon(props) {\n var svgDataByHeight = { \"16\": { \"width\": 16, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M1.75 2A1.75 1.75 0 000 3.75v.736a.75.75 0 000 .027v7.737C0 13.216.784 14 1.75 14h12.5A1.75 1.75 0 0016 12.25v-8.5A1.75 1.75 0 0014.25 2H1.75zM14.5 4.07v-.32a.25.25 0 00-.25-.25H1.75a.25.25 0 00-.25.25v.32L8 7.88l6.5-3.81zm-13 1.74v6.441c0 .138.112.25.25.25h12.5a.25.25 0 00.25-.25V5.809L8.38 9.397a.75.75 0 01-.76 0L1.5 5.809z\\\"></path>\" }, \"24\": { \"width\": 24, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M1.75 3A1.75 1.75 0 000 4.75v14c0 .966.784 1.75 1.75 1.75h20.5A1.75 1.75 0 0024 18.75v-14A1.75 1.75 0 0022.25 3H1.75zM1.5 4.75a.25.25 0 01.25-.25h20.5a.25.25 0 01.25.25v.852l-10.36 7a.25.25 0 01-.28 0l-10.36-7V4.75zm0 2.662V18.75c0 .138.112.25.25.25h20.5a.25.25 0 00.25-.25V7.412l-9.52 6.433c-.592.4-1.368.4-1.96 0L1.5 7.412z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nMailIcon.defaultProps = {\n className: 'octicon octicon-mail',\n size: 16,\n verticalAlign: 'text-bottom'\n};\n\nfunction MarkGithubIcon(props) {\n var svgDataByHeight = { \"16\": { \"width\": 16, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M8 0C3.58 0 0 3.58 0 8c0 3.54 2.29 6.53 5.47 7.59.4.07.55-.17.55-.38 0-.19-.01-.82-.01-1.49-2.01.37-2.53-.49-2.69-.94-.09-.23-.48-.94-.82-1.13-.28-.15-.68-.52-.01-.53.63-.01 1.08.58 1.23.82.72 1.21 1.87.87 2.33.66.07-.52.28-.87.51-1.07-1.78-.2-3.64-.89-3.64-3.95 0-.87.31-1.59.82-2.15-.08-.2-.36-1.02.08-2.12 0 0 .67-.21 2.2.82.64-.18 1.32-.27 2-.27.68 0 1.36.09 2 .27 1.53-1.04 2.2-.82 2.2-.82.44 1.1.16 1.92.08 2.12.51.56.82 1.27.82 2.15 0 3.07-1.87 3.75-3.65 3.95.29.25.54.73.54 1.48 0 1.07-.01 1.93-.01 2.2 0 .21.15.46.55.38A8.013 8.013 0 0016 8c0-4.42-3.58-8-8-8z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nMarkGithubIcon.defaultProps = {\n className: 'octicon octicon-mark-github',\n size: 16,\n verticalAlign: 'text-bottom'\n};\n\nfunction MarkdownIcon(props) {\n var svgDataByHeight = { \"16\": { \"width\": 16, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M14.85 3H1.15C.52 3 0 3.52 0 4.15v7.69C0 12.48.52 13 1.15 13h13.69c.64 0 1.15-.52 1.15-1.15v-7.7C16 3.52 15.48 3 14.85 3zM9 11H7V8L5.5 9.92 4 8v3H2V5h2l1.5 2L7 5h2v6zm2.99.5L9.5 8H11V5h2v3h1.5l-2.51 3.5z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nMarkdownIcon.defaultProps = {\n className: 'octicon octicon-markdown',\n size: 16,\n verticalAlign: 'text-bottom'\n};\n\nfunction MegaphoneIcon(props) {\n var svgDataByHeight = { \"16\": { \"width\": 16, \"path\": \"<g fill-rule=\\\"evenodd\\\"><path d=\\\"M3.25 9a.75.75 0 01.75.75c0 2.142.456 3.828.733 4.653a.121.121 0 00.05.064.207.207 0 00.117.033h1.31c.085 0 .18-.042.258-.152a.448.448 0 00.075-.366A16.74 16.74 0 016 9.75a.75.75 0 011.5 0c0 1.588.25 2.926.494 3.85.293 1.113-.504 2.4-1.783 2.4H4.9c-.686 0-1.35-.41-1.589-1.12A16.42 16.42 0 012.5 9.75.75.75 0 013.25 9z\\\"></path><path d=\\\"M0 6a4 4 0 014-4h2.75a.75.75 0 01.75.75v6.5a.75.75 0 01-.75.75H4a4 4 0 01-4-4zm4-2.5a2.5 2.5 0 000 5h2v-5H4z\\\"></path><path d=\\\"M15.59.082A.75.75 0 0116 .75v10.5a.75.75 0 01-1.189.608l-.002-.001h.001l-.014-.01a5.829 5.829 0 00-.422-.25 10.58 10.58 0 00-1.469-.64C11.576 10.484 9.536 10 6.75 10a.75.75 0 110-1.5c2.964 0 5.174.516 6.658 1.043.423.151.787.302 1.092.443V2.014c-.305.14-.669.292-1.092.443C11.924 2.984 9.713 3.5 6.75 3.5a.75.75 0 110-1.5c2.786 0 4.826-.484 6.155-.957.665-.236 1.154-.47 1.47-.64a5.82 5.82 0 00.421-.25l.014-.01a.75.75 0 01.78-.061zm-.78.06zm.44 11.108l-.44.607.44-.607z\\\"></path></g>\" }, \"24\": { \"width\": 24, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M22 1.75a.75.75 0 00-1.161-.627c-.047.03-.094.057-.142.085a9.15 9.15 0 01-.49.262c-.441.22-1.11.519-2.002.82-1.78.6-4.45 1.21-7.955 1.21H6.5A5.5 5.5 0 005 14.293v.457c0 3.061.684 5.505 1.061 6.621.24.709.904 1.129 1.6 1.129h2.013c1.294 0 2.1-1.322 1.732-2.453-.412-1.268-.906-3.268-.906-5.547 0-.03-.002-.06-.005-.088 3.382.028 5.965.644 7.703 1.251.89.312 1.559.62 2 .849.084.043.171.096.261.15.357.214.757.455 1.142.25A.75.75 0 0022 16.25V1.75zM10.5 12.912c3.564.029 6.313.678 8.193 1.335.737.258 1.34.517 1.807.74V2.993c-.467.216-1.073.467-1.815.718-1.878.634-4.624 1.26-8.185 1.288v7.913zm-4 1.838v-.25H9c0 2.486.537 4.648.98 6.01a.398.398 0 01-.057.343c-.07.104-.162.147-.249.147H7.661c-.105 0-.161-.058-.179-.109-.344-1.018-.982-3.294-.982-6.141zM6.5 5H9v8H6.5a4 4 0 010-8z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nMegaphoneIcon.defaultProps = {\n className: 'octicon octicon-megaphone',\n size: 16,\n verticalAlign: 'text-bottom'\n};\n\nfunction MentionIcon(props) {\n var svgDataByHeight = { \"16\": { \"width\": 16, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M4.75 2.37a6.5 6.5 0 006.5 11.26.75.75 0 01.75 1.298 8 8 0 113.994-7.273.754.754 0 01.006.095v1.5a2.75 2.75 0 01-5.072 1.475A4 4 0 1112 8v1.25a1.25 1.25 0 002.5 0V7.867a6.5 6.5 0 00-9.75-5.496V2.37zM10.5 8a2.5 2.5 0 10-5 0 2.5 2.5 0 005 0z\\\"></path>\" }, \"24\": { \"width\": 24, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M20.226 7.25a9.498 9.498 0 10-3.477 12.976.75.75 0 01.75 1.299c-5.26 3.037-11.987 1.235-15.024-4.026C-.562 12.24 1.24 5.512 6.501 2.475 11.76-.562 18.488 1.24 21.525 6.501a10.956 10.956 0 011.455 4.826c.013.056.02.113.02.173v2.25a3.5 3.5 0 01-6.623 1.581 5.5 5.5 0 111.112-3.682.76.76 0 01.011.129v1.972a2 2 0 104 0v-1.766a9.452 9.452 0 00-1.274-4.733zM16 12a4 4 0 10-8 0 4 4 0 008 0z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nMentionIcon.defaultProps = {\n className: 'octicon octicon-mention',\n size: 16,\n verticalAlign: 'text-bottom'\n};\n\nfunction MeterIcon(props) {\n var svgDataByHeight = { \"16\": { \"width\": 16, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M8 1.5a6.5 6.5 0 106.016 4.035.75.75 0 011.388-.57 8 8 0 11-4.37-4.37.75.75 0 01-.569 1.389A6.479 6.479 0 008 1.5zm6.28.22a.75.75 0 010 1.06l-4.063 4.064a2.5 2.5 0 11-1.06-1.06L13.22 1.72a.75.75 0 011.06 0zM7 8a1 1 0 112 0 1 1 0 01-2 0z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nMeterIcon.defaultProps = {\n className: 'octicon octicon-meter',\n size: 16,\n verticalAlign: 'text-bottom'\n};\n\nfunction MilestoneIcon(props) {\n var svgDataByHeight = { \"16\": { \"width\": 16, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M7.75 0a.75.75 0 01.75.75V3h3.634c.414 0 .814.147 1.13.414l2.07 1.75a1.75 1.75 0 010 2.672l-2.07 1.75a1.75 1.75 0 01-1.13.414H8.5v5.25a.75.75 0 11-1.5 0V10H2.75A1.75 1.75 0 011 8.25v-3.5C1 3.784 1.784 3 2.75 3H7V.75A.75.75 0 017.75 0zm0 8.5h4.384a.25.25 0 00.161-.06l2.07-1.75a.25.25 0 000-.38l-2.07-1.75a.25.25 0 00-.161-.06H2.75a.25.25 0 00-.25.25v3.5c0 .138.112.25.25.25h5z\\\"></path>\" }, \"24\": { \"width\": 24, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M11.75 1a.75.75 0 01.75.75V4h6.532c.42 0 .826.15 1.143.425l3.187 2.75a1.75 1.75 0 010 2.65l-3.187 2.75a1.75 1.75 0 01-1.143.425H12.5v9.25a.75.75 0 01-1.5 0V13H3.75A1.75 1.75 0 012 11.25v-5.5C2 4.783 2.784 4 3.75 4H11V1.75a.75.75 0 01.75-.75zm0 4.5h7.282a.25.25 0 01.163.06l3.188 2.75a.25.25 0 010 .38l-3.188 2.75a.25.25 0 01-.163.06H3.75a.25.25 0 01-.25-.25v-5.5a.25.25 0 01.25-.25h8z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nMilestoneIcon.defaultProps = {\n className: 'octicon octicon-milestone',\n size: 16,\n verticalAlign: 'text-bottom'\n};\n\nfunction MirrorIcon(props) {\n var svgDataByHeight = { \"16\": { \"width\": 16, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M8.75 1.75a.75.75 0 00-1.5 0v.5a.75.75 0 001.5 0v-.5zM8 4a.75.75 0 01.75.75v.5a.75.75 0 01-1.5 0v-.5A.75.75 0 018 4zm.75 3.75a.75.75 0 00-1.5 0v.5a.75.75 0 001.5 0v-.5zM8 10a.75.75 0 01.75.75v.5a.75.75 0 01-1.5 0v-.5A.75.75 0 018 10zm0 3a.75.75 0 01.75.75v.5a.75.75 0 01-1.5 0v-.5A.75.75 0 018 13zm7.547-9.939A.75.75 0 0116 3.75v8.5a.75.75 0 01-1.265.545l-4.5-4.25a.75.75 0 010-1.09l4.5-4.25a.75.75 0 01.812-.144zM11.842 8l2.658 2.51V5.49L11.842 8zM0 12.25a.75.75 0 001.265.545l4.5-4.25a.75.75 0 000-1.09l-4.5-4.25A.75.75 0 000 3.75v8.5zm1.5-6.76L4.158 8 1.5 10.51V5.49z\\\"></path>\" }, \"24\": { \"width\": 24, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M12 10.75a.75.75 0 01.75.75v1a.75.75 0 01-1.5 0v-1a.75.75 0 01.75-.75zm0 4a.75.75 0 01.75.75v1a.75.75 0 01-1.5 0v-1a.75.75 0 01.75-.75zm0 4a.75.75 0 01.75.75v1a.75.75 0 01-1.5 0v-1a.75.75 0 01.75-.75zm0-12a.75.75 0 01.75.75v1a.75.75 0 01-1.5 0v-1a.75.75 0 01.75-.75zm0-4a.75.75 0 01.75.75v1a.75.75 0 01-1.5 0v-1a.75.75 0 01.75-.75zm9.553 3.314A.75.75 0 0122 6.75v10.5a.75.75 0 01-1.256.554l-5.75-5.25a.75.75 0 010-1.108l5.75-5.25a.75.75 0 01.809-.132zM16.613 12l3.887 3.55v-7.1L16.612 12zM2.447 17.936A.75.75 0 012 17.25V6.75a.75.75 0 011.256-.554l5.75 5.25a.75.75 0 010 1.108l-5.75 5.25a.75.75 0 01-.809.132zM7.387 12L3.5 8.45v7.1L7.388 12z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nMirrorIcon.defaultProps = {\n className: 'octicon octicon-mirror',\n size: 16,\n verticalAlign: 'text-bottom'\n};\n\nfunction MoonIcon(props) {\n var svgDataByHeight = { \"16\": { \"width\": 16, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M9.598 1.591a.75.75 0 01.785-.175 7 7 0 11-8.967 8.967.75.75 0 01.961-.96 5.5 5.5 0 007.046-7.046.75.75 0 01.175-.786zm1.616 1.945a7 7 0 01-7.678 7.678 5.5 5.5 0 107.678-7.678z\\\"></path>\" }, \"24\": { \"width\": 24, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M16.5 6c0 5.799-4.701 10.5-10.5 10.5-.426 0-.847-.026-1.26-.075A8.5 8.5 0 1016.425 4.74c.05.413.075.833.075 1.259zm-1.732-2.04A9.08 9.08 0 0114.999 6a9 9 0 01-11.04 8.768l-.004-.002a9.367 9.367 0 01-.78-.218c-.393-.13-.8.21-.67.602a9.938 9.938 0 00.329.855l.004.01A10.002 10.002 0 0012 22a10.002 10.002 0 004.015-19.16l-.01-.005a9.745 9.745 0 00-.855-.328c-.392-.13-.732.276-.602.67a8.934 8.934 0 01.218.779l.002.005z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nMoonIcon.defaultProps = {\n className: 'octicon octicon-moon',\n size: 16,\n verticalAlign: 'text-bottom'\n};\n\nfunction MortarBoardIcon(props) {\n var svgDataByHeight = { \"16\": { \"width\": 16, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M7.693 1.066a.75.75 0 01.614 0l7.25 3.25a.75.75 0 010 1.368L13 6.831v2.794c0 1.024-.81 1.749-1.66 2.173-.893.447-2.075.702-3.34.702-.278 0-.55-.012-.816-.036a.75.75 0 01.133-1.494c.22.02.45.03.683.03 1.082 0 2.025-.221 2.67-.543.69-.345.83-.682.83-.832V7.503L8.307 8.934a.75.75 0 01-.614 0L4 7.28v1.663c.296.105.575.275.812.512.438.438.688 1.059.688 1.796v3a.75.75 0 01-.75.75h-3a.75.75 0 01-.75-.75v-3c0-.737.25-1.358.688-1.796.237-.237.516-.407.812-.512V6.606L.443 5.684a.75.75 0 010-1.368l7.25-3.25zM2.583 5L8 7.428 13.416 5 8 2.572 2.583 5zM2.5 11.25c0-.388.125-.611.25-.735a.704.704 0 01.5-.203c.19 0 .37.071.5.203.125.124.25.347.25.735v2.25H2.5v-2.25z\\\"></path>\" }, \"24\": { \"width\": 24, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M12.292 2.06a.75.75 0 00-.584 0L.458 6.81a.75.75 0 000 1.38L4.25 9.793v3.803a2.901 2.901 0 00-1.327.757c-.579.58-.923 1.41-.923 2.43v4.5c0 .248.128.486.335.624.06.04.117.073.22.124.124.062.297.138.52.213.448.149 1.09.288 1.925.288s1.477-.14 1.925-.288c.223-.075.396-.15.52-.213a2.11 2.11 0 00.21-.117A.762.762 0 008 21.28v-4.5c0-1.018-.344-1.85-.923-2.428a2.9 2.9 0 00-1.327-.758v-3.17l5.958 2.516a.75.75 0 00.584 0l5.208-2.2v4.003a2.552 2.552 0 01-.079.085 4.057 4.057 0 01-.849.65c-.826.488-2.255 1.021-4.572 1.021-.612 0-1.162-.037-1.654-.1a.75.75 0 00-.192 1.487c.56.072 1.173.113 1.846.113 2.558 0 4.254-.592 5.334-1.23.538-.316.914-.64 1.163-.896a2.84 2.84 0 00.392-.482h.001A.75.75 0 0019 15v-4.892l4.542-1.917a.75.75 0 000-1.382l-11.25-4.75zM5 15c-.377 0-.745.141-1.017.413-.265.265-.483.7-.483 1.368v4.022c.299.105.797.228 1.5.228s1.201-.123 1.5-.228V16.78c0-.669-.218-1.103-.483-1.368A1.431 1.431 0 005 15zm7-3.564L2.678 7.5 12 3.564 21.322 7.5 12 11.436z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nMortarBoardIcon.defaultProps = {\n className: 'octicon octicon-mortar-board',\n size: 16,\n verticalAlign: 'text-bottom'\n};\n\nfunction MultiSelectIcon(props) {\n var svgDataByHeight = { \"16\": { \"width\": 16, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M1.75 2.5a.75.75 0 000 1.5h6.5a.75.75 0 000-1.5h-6.5zm4 5a.75.75 0 000 1.5h7.5a.75.75 0 000-1.5h-7.5zm0 5a.75.75 0 000 1.5h7.5a.75.75 0 000-1.5h-7.5zM3 8a1 1 0 11-2 0 1 1 0 012 0zm-1 6a1 1 0 100-2 1 1 0 000 2z\\\"></path><path d=\\\"M13.314 4.918L11.07 2.417A.25.25 0 0111.256 2h4.488a.25.25 0 01.186.417l-2.244 2.5a.25.25 0 01-.372 0z\\\"></path>\" }, \"24\": { \"width\": 24, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M3.75 5.5a.75.75 0 000 1.5h10a.75.75 0 000-1.5h-10zm5 6a.75.75 0 000 1.5h11.5a.75.75 0 000-1.5H8.75zm0 6a.75.75 0 000 1.5h11.5a.75.75 0 000-1.5H8.75zM5 12a1 1 0 11-2 0 1 1 0 012 0zm-1 7a1 1 0 100-2 1 1 0 000 2z\\\"></path><path d=\\\"M19.309 7.918l-2.245-2.501A.25.25 0 0117.25 5h4.49a.25.25 0 01.185.417l-2.244 2.5a.25.25 0 01-.372 0z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nMultiSelectIcon.defaultProps = {\n className: 'octicon octicon-multi-select',\n size: 16,\n verticalAlign: 'text-bottom'\n};\n\nfunction MuteIcon(props) {\n var svgDataByHeight = { \"16\": { \"width\": 16, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M8 2.75a.75.75 0 00-1.238-.57L3.472 5H1.75A1.75 1.75 0 000 6.75v2.5C0 10.216.784 11 1.75 11h1.723l3.289 2.82A.75.75 0 008 13.25V2.75zM4.238 6.32L6.5 4.38v7.24L4.238 9.68a.75.75 0 00-.488-.18h-2a.25.25 0 01-.25-.25v-2.5a.25.25 0 01.25-.25h2a.75.75 0 00.488-.18zm7.042-1.1a.75.75 0 10-1.06 1.06L11.94 8l-1.72 1.72a.75.75 0 101.06 1.06L13 9.06l1.72 1.72a.75.75 0 101.06-1.06L14.06 8l1.72-1.72a.75.75 0 00-1.06-1.06L13 6.94l-1.72-1.72z\\\"></path>\" }, \"24\": { \"width\": 24, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M12 3.75a.75.75 0 00-1.255-.555L5.46 8H2.75A1.75 1.75 0 001 9.75v4.5c0 .966.784 1.75 1.75 1.75h2.71l5.285 4.805A.75.75 0 0012 20.25V3.75zM6.255 9.305l4.245-3.86v13.11l-4.245-3.86a.75.75 0 00-.505-.195h-3a.25.25 0 01-.25-.25v-4.5a.25.25 0 01.25-.25h3a.75.75 0 00.505-.195z\\\"></path><path d=\\\"M16.28 8.22a.75.75 0 10-1.06 1.06L17.94 12l-2.72 2.72a.75.75 0 101.06 1.06L19 13.06l2.72 2.72a.75.75 0 101.06-1.06L20.06 12l2.72-2.72a.75.75 0 00-1.06-1.06L19 10.94l-2.72-2.72z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nMuteIcon.defaultProps = {\n className: 'octicon octicon-mute',\n size: 16,\n verticalAlign: 'text-bottom'\n};\n\nfunction NoEntryIcon(props) {\n var svgDataByHeight = { \"16\": { \"width\": 16, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M2.5 8a5.5 5.5 0 1111 0 5.5 5.5 0 01-11 0zM8 1a7 7 0 100 14A7 7 0 008 1zm3.25 7.75a.75.75 0 000-1.5h-6.5a.75.75 0 000 1.5h6.5z\\\"></path>\" }, \"24\": { \"width\": 24, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M2.5 12a9.5 9.5 0 1119 0 9.5 9.5 0 01-19 0zM12 1C5.925 1 1 5.925 1 12s4.925 11 11 11 11-4.925 11-11S18.075 1 12 1zm6.25 11.75a.75.75 0 000-1.5H5.75a.75.75 0 000 1.5h12.5z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nNoEntryIcon.defaultProps = {\n className: 'octicon octicon-no-entry',\n size: 16,\n verticalAlign: 'text-bottom'\n};\n\nfunction NorthStarIcon(props) {\n var svgDataByHeight = { \"16\": { \"width\": 16, \"path\": \"<path d=\\\"M8.5.75a.75.75 0 00-1.5 0v5.19L4.391 3.33a.75.75 0 10-1.06 1.061L5.939 7H.75a.75.75 0 000 1.5h5.19l-2.61 2.609a.75.75 0 101.061 1.06L7 9.561v5.189a.75.75 0 001.5 0V9.56l2.609 2.61a.75.75 0 101.06-1.061L9.561 8.5h5.189a.75.75 0 000-1.5H9.56l2.61-2.609a.75.75 0 00-1.061-1.06L8.5 5.939V.75z\\\"></path>\" }, \"24\": { \"width\": 24, \"path\": \"<path d=\\\"M12.5 1.25a.75.75 0 00-1.5 0v8.69L6.447 5.385a.75.75 0 10-1.061 1.06L9.94 11H1.25a.75.75 0 000 1.5h8.69l-4.554 4.553a.75.75 0 001.06 1.061L11 13.561v8.689a.75.75 0 001.5 0v-8.69l4.553 4.554a.75.75 0 001.061-1.06L13.561 12.5h8.689a.75.75 0 000-1.5h-8.69l4.554-4.553a.75.75 0 10-1.06-1.061L12.5 9.939V1.25z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nNorthStarIcon.defaultProps = {\n className: 'octicon octicon-north-star',\n size: 16,\n verticalAlign: 'text-bottom'\n};\n\nfunction NoteIcon(props) {\n var svgDataByHeight = { \"16\": { \"width\": 16, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M0 3.75C0 2.784.784 2 1.75 2h12.5c.966 0 1.75.784 1.75 1.75v8.5A1.75 1.75 0 0114.25 14H1.75A1.75 1.75 0 010 12.25v-8.5zm1.75-.25a.25.25 0 00-.25.25v8.5c0 .138.112.25.25.25h12.5a.25.25 0 00.25-.25v-8.5a.25.25 0 00-.25-.25H1.75zM3.5 6.25a.75.75 0 01.75-.75h7a.75.75 0 010 1.5h-7a.75.75 0 01-.75-.75zm.75 2.25a.75.75 0 000 1.5h4a.75.75 0 000-1.5h-4z\\\"></path>\" }, \"24\": { \"width\": 24, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M0 4.75C0 3.784.784 3 1.75 3h20.5c.966 0 1.75.784 1.75 1.75v14.5A1.75 1.75 0 0122.25 21H1.75A1.75 1.75 0 010 19.25V4.75zm1.75-.25a.25.25 0 00-.25.25v14.5c0 .138.112.25.25.25h20.5a.25.25 0 00.25-.25V4.75a.25.25 0 00-.25-.25H1.75z\\\"></path><path fill-rule=\\\"evenodd\\\" d=\\\"M5 8.75A.75.75 0 015.75 8h11.5a.75.75 0 010 1.5H5.75A.75.75 0 015 8.75zm0 4a.75.75 0 01.75-.75h5.5a.75.75 0 010 1.5h-5.5a.75.75 0 01-.75-.75z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nNoteIcon.defaultProps = {\n className: 'octicon octicon-note',\n size: 16,\n verticalAlign: 'text-bottom'\n};\n\nfunction NumberIcon(props) {\n var svgDataByHeight = { \"16\": { \"width\": 16, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M1 5.25a.75.75 0 01.75-.75h12.5a.75.75 0 010 1.5H1.75A.75.75 0 011 5.25zm0 5.5a.75.75 0 01.75-.75h12.5a.75.75 0 010 1.5H1.75a.75.75 0 01-.75-.75z\\\"></path><path fill-rule=\\\"evenodd\\\" d=\\\"M6.368 1.01a.75.75 0 01.623.859l-2 12.5a.75.75 0 01-1.482-.237l2-12.5a.75.75 0 01.86-.622zm5.5 0a.75.75 0 01.623.859l-2 12.5a.75.75 0 01-1.482-.237l2-12.5a.75.75 0 01.86-.622z\\\"></path>\" }, \"24\": { \"width\": 24, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M2 8.25a.75.75 0 01.75-.75h18.5a.75.75 0 010 1.5H2.75A.75.75 0 012 8.25zm-.005 7.5a.75.75 0 01.75-.75v1.5a.75.75 0 01-.75-.75zm.75 0v.75H21.25a.75.75 0 000-1.5H2.745v.75z\\\"></path><path fill-rule=\\\"evenodd\\\" d=\\\"M9.62 2.01a.75.75 0 01.62.86l-3 18.5a.75.75 0 01-1.48-.24l3-18.5a.75.75 0 01.86-.62zm8 0a.75.75 0 01.62.86l-3 18.5a.75.75 0 01-1.48-.24l3-18.5a.75.75 0 01.86-.62z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nNumberIcon.defaultProps = {\n className: 'octicon octicon-number',\n size: 16,\n verticalAlign: 'text-bottom'\n};\n\nfunction OctofaceIcon(props) {\n var svgDataByHeight = { \"16\": { \"width\": 16, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M1.326 1.973a1.2 1.2 0 011.49-.832c.387.112.977.307 1.575.602.586.291 1.243.71 1.7 1.296.022.027.042.056.061.084A13.22 13.22 0 018 3c.67 0 1.289.037 1.861.108l.051-.07c.457-.586 1.114-1.004 1.7-1.295a9.654 9.654 0 011.576-.602 1.2 1.2 0 011.49.832c.14.493.356 1.347.479 2.29.079.604.123 1.28.07 1.936.541.977.773 2.11.773 3.301C16 13 14.5 15 8 15s-8-2-8-5.5c0-1.034.238-2.128.795-3.117-.08-.712-.034-1.46.052-2.12.122-.943.34-1.797.479-2.29zM8 13.065c6 0 6.5-2 6-4.27C13.363 5.905 11.25 5 8 5s-5.363.904-6 3.796c-.5 2.27 0 4.27 6 4.27z\\\"></path><path d=\\\"M4 8a1 1 0 012 0v1a1 1 0 01-2 0V8zm2.078 2.492c-.083-.264.146-.492.422-.492h3c.276 0 .505.228.422.492C9.67 11.304 8.834 12 8 12c-.834 0-1.669-.696-1.922-1.508zM10 8a1 1 0 112 0v1a1 1 0 11-2 0V8z\\\"></path>\" }, \"24\": { \"width\": 24, \"path\": \"<path d=\\\"M7.75 11c-.69 0-1.25.56-1.25 1.25v1.5a1.25 1.25 0 102.5 0v-1.5C9 11.56 8.44 11 7.75 11zm1.27 4.5a.469.469 0 01.48-.5h5a.47.47 0 01.48.5c-.116 1.316-.759 2.5-2.98 2.5s-2.864-1.184-2.98-2.5zm7.23-4.5c-.69 0-1.25.56-1.25 1.25v1.5a1.25 1.25 0 102.5 0v-1.5c0-.69-.56-1.25-1.25-1.25z\\\"></path><path fill-rule=\\\"evenodd\\\" d=\\\"M21.255 3.82a1.725 1.725 0 00-2.141-1.195c-.557.16-1.406.44-2.264.866-.78.386-1.647.93-2.293 1.677A18.442 18.442 0 0012 5c-.93 0-1.784.059-2.569.17-.645-.74-1.505-1.28-2.28-1.664a13.876 13.876 0 00-2.265-.866 1.725 1.725 0 00-2.141 1.196 23.645 23.645 0 00-.69 3.292c-.125.97-.191 2.07-.066 3.112C1.254 11.882 1 13.734 1 15.527 1 19.915 3.13 23 12 23c8.87 0 11-3.053 11-7.473 0-1.794-.255-3.647-.99-5.29.127-1.046.06-2.15-.066-3.125a23.652 23.652 0 00-.689-3.292zM20.5 14c.5 3.5-1.5 6.5-8.5 6.5s-9-3-8.5-6.5c.583-4 3-6 8.5-6s7.928 2 8.5 6z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nOctofaceIcon.defaultProps = {\n className: 'octicon octicon-octoface',\n size: 16,\n verticalAlign: 'text-bottom'\n};\n\nfunction OrganizationIcon(props) {\n var svgDataByHeight = { \"16\": { \"width\": 16, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M1.5 14.25c0 .138.112.25.25.25H4v-1.25a.75.75 0 01.75-.75h2.5a.75.75 0 01.75.75v1.25h2.25a.25.25 0 00.25-.25V1.75a.25.25 0 00-.25-.25h-8.5a.25.25 0 00-.25.25v12.5zM1.75 16A1.75 1.75 0 010 14.25V1.75C0 .784.784 0 1.75 0h8.5C11.216 0 12 .784 12 1.75v12.5c0 .085-.006.168-.018.25h2.268a.25.25 0 00.25-.25V8.285a.25.25 0 00-.111-.208l-1.055-.703a.75.75 0 11.832-1.248l1.055.703c.487.325.779.871.779 1.456v5.965A1.75 1.75 0 0114.25 16h-3.5a.75.75 0 01-.197-.026c-.099.017-.2.026-.303.026h-3a.75.75 0 01-.75-.75V14h-1v1.25a.75.75 0 01-.75.75h-3zM3 3.75A.75.75 0 013.75 3h.5a.75.75 0 010 1.5h-.5A.75.75 0 013 3.75zM3.75 6a.75.75 0 000 1.5h.5a.75.75 0 000-1.5h-.5zM3 9.75A.75.75 0 013.75 9h.5a.75.75 0 010 1.5h-.5A.75.75 0 013 9.75zM7.75 9a.75.75 0 000 1.5h.5a.75.75 0 000-1.5h-.5zM7 6.75A.75.75 0 017.75 6h.5a.75.75 0 010 1.5h-.5A.75.75 0 017 6.75zM7.75 3a.75.75 0 000 1.5h.5a.75.75 0 000-1.5h-.5z\\\"></path>\" }, \"24\": { \"width\": 24, \"path\": \"<path d=\\\"M7.25 12a.75.75 0 000 1.5h.5a.75.75 0 000-1.5h-.5zM6.5 9.25a.75.75 0 01.75-.75h.5a.75.75 0 010 1.5h-.5a.75.75 0 01-.75-.75zM7.25 5a.75.75 0 000 1.5h.5a.75.75 0 000-1.5h-.5zM10 12.75a.75.75 0 01.75-.75h.5a.75.75 0 010 1.5h-.5a.75.75 0 01-.75-.75zm.75-4.25a.75.75 0 000 1.5h.5a.75.75 0 000-1.5h-.5zM10 5.75a.75.75 0 01.75-.75h.5a.75.75 0 010 1.5h-.5a.75.75 0 01-.75-.75zM14.25 12a.75.75 0 000 1.5h.5a.75.75 0 000-1.5h-.5zm-.75-2.75a.75.75 0 01.75-.75h.5a.75.75 0 010 1.5h-.5a.75.75 0 01-.75-.75zM14.25 5a.75.75 0 000 1.5h.5a.75.75 0 000-1.5h-.5z\\\"></path><path fill-rule=\\\"evenodd\\\" d=\\\"M3 20a2 2 0 002 2h3.75a.75.75 0 00.75-.75V19h3v2.25c0 .414.336.75.75.75H17c.092 0 .183-.006.272-.018a.758.758 0 00.166.018H21.5a2 2 0 002-2v-7.625a2 2 0 00-.8-1.6l-1-.75a.75.75 0 10-.9 1.2l1 .75a.5.5 0 01.2.4V20a.5.5 0 01-.5.5h-2.563c.041-.16.063-.327.063-.5V3a2 2 0 00-2-2H5a2 2 0 00-2 2v17zm2 .5a.5.5 0 01-.5-.5V3a.5.5 0 01.5-.5h12a.5.5 0 01.5.5v17a.5.5 0 01-.5.5h-3v-2.25a.75.75 0 00-.75-.75h-4.5a.75.75 0 00-.75.75v2.25H5z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nOrganizationIcon.defaultProps = {\n className: 'octicon octicon-organization',\n size: 16,\n verticalAlign: 'text-bottom'\n};\n\nfunction PackageIcon(props) {\n var svgDataByHeight = { \"16\": { \"width\": 16, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M8.878.392a1.75 1.75 0 00-1.756 0l-5.25 3.045A1.75 1.75 0 001 4.951v6.098c0 .624.332 1.2.872 1.514l5.25 3.045a1.75 1.75 0 001.756 0l5.25-3.045c.54-.313.872-.89.872-1.514V4.951c0-.624-.332-1.2-.872-1.514L8.878.392zM7.875 1.69a.25.25 0 01.25 0l4.63 2.685L8 7.133 3.245 4.375l4.63-2.685zM2.5 5.677v5.372c0 .09.047.171.125.216l4.625 2.683V8.432L2.5 5.677zm6.25 8.271l4.625-2.683a.25.25 0 00.125-.216V5.677L8.75 8.432v5.516z\\\"></path>\" }, \"24\": { \"width\": 24, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M12.876.64a1.75 1.75 0 00-1.75 0l-8.25 4.762a1.75 1.75 0 00-.875 1.515v9.525c0 .625.334 1.203.875 1.515l8.25 4.763a1.75 1.75 0 001.75 0l8.25-4.762a1.75 1.75 0 00.875-1.516V6.917a1.75 1.75 0 00-.875-1.515L12.876.639zm-1 1.298a.25.25 0 01.25 0l7.625 4.402-7.75 4.474-7.75-4.474 7.625-4.402zM3.501 7.64v8.803c0 .09.048.172.125.216l7.625 4.402v-8.947L3.501 7.64zm9.25 13.421l7.625-4.402a.25.25 0 00.125-.216V7.639l-7.75 4.474v8.947z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nPackageIcon.defaultProps = {\n className: 'octicon octicon-package',\n size: 16,\n verticalAlign: 'text-bottom'\n};\n\nfunction PackageDependenciesIcon(props) {\n var svgDataByHeight = { \"16\": { \"width\": 16, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M6.122.392a1.75 1.75 0 011.756 0l5.25 3.045c.54.313.872.89.872 1.514V7.25a.75.75 0 01-1.5 0V5.677L7.75 8.432v6.384a1 1 0 01-1.502.865L.872 12.563A1.75 1.75 0 010 11.049V4.951c0-.624.332-1.2.872-1.514L6.122.392zM7.125 1.69l4.63 2.685L7 7.133 2.245 4.375l4.63-2.685a.25.25 0 01.25 0zM1.5 11.049V5.677l4.75 2.755v5.516l-4.625-2.683a.25.25 0 01-.125-.216zm11.672-.282a.75.75 0 10-1.087-1.034l-2.378 2.5a.75.75 0 000 1.034l2.378 2.5a.75.75 0 101.087-1.034L11.999 13.5h3.251a.75.75 0 000-1.5h-3.251l1.173-1.233z\\\"></path>\" }, \"24\": { \"width\": 24, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M9.126.64a1.75 1.75 0 011.75 0l8.25 4.762c.103.06.199.128.286.206a.748.748 0 01.554.96c.023.113.035.23.035.35v3.332a.75.75 0 01-1.5 0V7.64l-7.75 4.474V22.36a.75.75 0 01-1.125.65l-8.75-5.052a1.75 1.75 0 01-.875-1.515V6.917c0-.119.012-.236.035-.35a.748.748 0 01.554-.96 1.75 1.75 0 01.286-.205L9.126.639zM1.501 7.638v8.803c0 .09.048.172.125.216l7.625 4.402v-8.947l-7.75-4.474zm8.5 3.175L2.251 6.34l7.625-4.402a.25.25 0 01.25 0l7.625 4.402-7.75 4.474z\\\"></path><path d=\\\"M16.617 17.5l2.895-2.702a.75.75 0 00-1.024-1.096l-4.285 4a.75.75 0 000 1.096l4.285 4a.75.75 0 101.024-1.096L16.617 19h6.633a.75.75 0 000-1.5h-6.633z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nPackageDependenciesIcon.defaultProps = {\n className: 'octicon octicon-package-dependencies',\n size: 16,\n verticalAlign: 'text-bottom'\n};\n\nfunction PackageDependentsIcon(props) {\n var svgDataByHeight = { \"16\": { \"width\": 16, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M6.122.392a1.75 1.75 0 011.756 0l5.25 3.045c.54.313.872.89.872 1.514V7.25a.75.75 0 01-1.5 0V5.677L7.75 8.432v6.384a1 1 0 01-1.502.865L.872 12.563A1.75 1.75 0 010 11.049V4.951c0-.624.332-1.2.872-1.514L6.122.392zM7.125 1.69l4.63 2.685L7 7.133 2.245 4.375l4.63-2.685a.25.25 0 01.25 0zM1.5 11.049V5.677l4.75 2.755v5.516l-4.625-2.683a.25.25 0 01-.125-.216zm10.828 3.684a.75.75 0 101.087 1.034l2.378-2.5a.75.75 0 000-1.034l-2.378-2.5a.75.75 0 00-1.087 1.034L13.501 12H10.25a.75.75 0 000 1.5h3.251l-1.173 1.233z\\\"></path>\" }, \"24\": { \"width\": 24, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M9.126.64a1.75 1.75 0 011.75 0l8.25 4.762c.103.06.199.128.286.206a.748.748 0 01.554.96c.023.113.035.23.035.35v3.332a.75.75 0 01-1.5 0V7.64l-7.75 4.474V22.36a.75.75 0 01-1.125.65l-8.75-5.052a1.75 1.75 0 01-.875-1.515V6.917c0-.119.012-.236.035-.35a.748.748 0 01.554-.96 1.75 1.75 0 01.286-.205L9.126.639zM1.501 7.638v8.803c0 .09.048.172.125.216l7.625 4.402v-8.947l-7.75-4.474zm8.5 3.175L2.251 6.34l7.625-4.402a.25.25 0 01.25 0l7.625 4.402-7.75 4.474z\\\"></path><path d=\\\"M21.347 17.5l-2.894-2.702a.75.75 0 111.023-1.096l4.286 4a.75.75 0 010 1.096l-4.286 4a.75.75 0 11-1.023-1.096L21.347 19h-6.633a.75.75 0 010-1.5h6.633z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nPackageDependentsIcon.defaultProps = {\n className: 'octicon octicon-package-dependents',\n size: 16,\n verticalAlign: 'text-bottom'\n};\n\nfunction PaintbrushIcon(props) {\n var svgDataByHeight = { \"16\": { \"width\": 16, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M11.134 1.535C9.722 2.562 8.16 4.057 6.889 5.312 5.8 6.387 5.041 7.401 4.575 8.294a3.745 3.745 0 00-3.227 1.054c-.43.431-.69 1.066-.86 1.657a11.982 11.982 0 00-.358 1.914A21.263 21.263 0 000 15.203v.054l.75-.007-.007.75h.054a14.404 14.404 0 00.654-.012 21.243 21.243 0 001.63-.118c.62-.07 1.3-.18 1.914-.357.592-.17 1.226-.43 1.657-.861a3.745 3.745 0 001.055-3.217c.908-.461 1.942-1.216 3.04-2.3 1.279-1.262 2.764-2.825 3.775-4.249.501-.706.923-1.428 1.125-2.096.2-.659.235-1.469-.368-2.07-.606-.607-1.42-.55-2.069-.34-.66.213-1.376.646-2.076 1.155zm-3.95 8.48a3.76 3.76 0 00-1.19-1.192 9.758 9.758 0 011.161-1.607l1.658 1.658a9.853 9.853 0 01-1.63 1.142zM.742 16l.007-.75-.75.008A.75.75 0 00.743 16zM12.016 2.749c-1.224.89-2.605 2.189-3.822 3.384l1.718 1.718c1.21-1.205 2.51-2.597 3.387-3.833.47-.662.78-1.227.912-1.662.134-.444.032-.551.009-.575h-.001V1.78c-.014-.014-.112-.113-.548.027-.432.14-.995.462-1.655.942zM1.62 13.089a19.56 19.56 0 00-.104 1.395 19.55 19.55 0 001.396-.104 10.528 10.528 0 001.668-.309c.526-.151.856-.325 1.011-.48a2.25 2.25 0 00-3.182-3.182c-.155.155-.329.485-.48 1.01a10.515 10.515 0 00-.309 1.67z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nPaintbrushIcon.defaultProps = {\n className: 'octicon octicon-paintbrush',\n size: 16,\n verticalAlign: 'text-bottom'\n};\n\nfunction PaperAirplaneIcon(props) {\n var svgDataByHeight = { \"16\": { \"width\": 16, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M1.592 2.712L2.38 7.25h4.87a.75.75 0 110 1.5H2.38l-.788 4.538L13.929 8 1.592 2.712zM.989 8L.064 2.68a1.341 1.341 0 011.85-1.462l13.402 5.744a1.13 1.13 0 010 2.076L1.913 14.782a1.341 1.341 0 01-1.85-1.463L.99 8z\\\"></path>\" }, \"24\": { \"width\": 24, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M1.513 1.96a1.374 1.374 0 011.499-.21l19.335 9.215a1.146 1.146 0 010 2.07L3.012 22.25a1.374 1.374 0 01-1.947-1.46L2.49 12 1.065 3.21a1.374 1.374 0 01.448-1.25zm2.375 10.79l-1.304 8.042L21.031 12 2.584 3.208l1.304 8.042h7.362a.75.75 0 010 1.5H3.888z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nPaperAirplaneIcon.defaultProps = {\n className: 'octicon octicon-paper-airplane',\n size: 16,\n verticalAlign: 'text-bottom'\n};\n\nfunction PencilIcon(props) {\n var svgDataByHeight = { \"16\": { \"width\": 16, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M11.013 1.427a1.75 1.75 0 012.474 0l1.086 1.086a1.75 1.75 0 010 2.474l-8.61 8.61c-.21.21-.47.364-.756.445l-3.251.93a.75.75 0 01-.927-.928l.929-3.25a1.75 1.75 0 01.445-.758l8.61-8.61zm1.414 1.06a.25.25 0 00-.354 0L10.811 3.75l1.439 1.44 1.263-1.263a.25.25 0 000-.354l-1.086-1.086zM11.189 6.25L9.75 4.81l-6.286 6.287a.25.25 0 00-.064.108l-.558 1.953 1.953-.558a.249.249 0 00.108-.064l6.286-6.286z\\\"></path>\" }, \"24\": { \"width\": 24, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M17.263 2.177a1.75 1.75 0 012.474 0l2.586 2.586a1.75 1.75 0 010 2.474L19.53 10.03l-.012.013L8.69 20.378a1.75 1.75 0 01-.699.409l-5.523 1.68a.75.75 0 01-.935-.935l1.673-5.5a1.75 1.75 0 01.466-.756L14.476 4.963l2.787-2.786zm-2.275 4.371l-10.28 9.813a.25.25 0 00-.067.108l-1.264 4.154 4.177-1.271a.25.25 0 00.1-.059l10.273-9.806-2.94-2.939zM19 8.44l2.263-2.262a.25.25 0 000-.354l-2.586-2.586a.25.25 0 00-.354 0L16.061 5.5 19 8.44z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nPencilIcon.defaultProps = {\n className: 'octicon octicon-pencil',\n size: 16,\n verticalAlign: 'text-bottom'\n};\n\nfunction PeopleIcon(props) {\n var svgDataByHeight = { \"16\": { \"width\": 16, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M5.5 3.5a2 2 0 100 4 2 2 0 000-4zM2 5.5a3.5 3.5 0 115.898 2.549 5.507 5.507 0 013.034 4.084.75.75 0 11-1.482.235 4.001 4.001 0 00-7.9 0 .75.75 0 01-1.482-.236A5.507 5.507 0 013.102 8.05 3.49 3.49 0 012 5.5zM11 4a.75.75 0 100 1.5 1.5 1.5 0 01.666 2.844.75.75 0 00-.416.672v.352a.75.75 0 00.574.73c1.2.289 2.162 1.2 2.522 2.372a.75.75 0 101.434-.44 5.01 5.01 0 00-2.56-3.012A3 3 0 0011 4z\\\"></path>\" }, \"24\": { \"width\": 24, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M3.5 8a5.5 5.5 0 118.596 4.547 9.005 9.005 0 015.9 8.18.75.75 0 01-1.5.045 7.5 7.5 0 00-14.993 0 .75.75 0 01-1.499-.044 9.005 9.005 0 015.9-8.181A5.494 5.494 0 013.5 8zM9 4a4 4 0 100 8 4 4 0 000-8z\\\"></path><path d=\\\"M17.29 8c-.148 0-.292.01-.434.03a.75.75 0 11-.212-1.484 4.53 4.53 0 013.38 8.097 6.69 6.69 0 013.956 6.107.75.75 0 01-1.5 0 5.193 5.193 0 00-3.696-4.972l-.534-.16v-1.676l.41-.209A3.03 3.03 0 0017.29 8z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nPeopleIcon.defaultProps = {\n className: 'octicon octicon-people',\n size: 16,\n verticalAlign: 'text-bottom'\n};\n\nfunction PersonIcon(props) {\n var svgDataByHeight = { \"16\": { \"width\": 16, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M10.5 5a2.5 2.5 0 11-5 0 2.5 2.5 0 015 0zm.061 3.073a4 4 0 10-5.123 0 6.004 6.004 0 00-3.431 5.142.75.75 0 001.498.07 4.5 4.5 0 018.99 0 .75.75 0 101.498-.07 6.005 6.005 0 00-3.432-5.142z\\\"></path>\" }, \"24\": { \"width\": 24, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M12 2.5a5.5 5.5 0 00-3.096 10.047 9.005 9.005 0 00-5.9 8.18.75.75 0 001.5.045 7.5 7.5 0 0114.993 0 .75.75 0 101.499-.044 9.005 9.005 0 00-5.9-8.181A5.5 5.5 0 0012 2.5zM8 8a4 4 0 118 0 4 4 0 01-8 0z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nPersonIcon.defaultProps = {\n className: 'octicon octicon-person',\n size: 16,\n verticalAlign: 'text-bottom'\n};\n\nfunction PersonAddIcon(props) {\n var svgDataByHeight = { \"16\": { \"width\": 16, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M13.25 0a.75.75 0 01.75.75V2h1.25a.75.75 0 010 1.5H14v1.25a.75.75 0 01-1.5 0V3.5h-1.25a.75.75 0 010-1.5h1.25V.75a.75.75 0 01.75-.75zM5.5 4a2 2 0 100 4 2 2 0 000-4zm2.4 4.548a3.5 3.5 0 10-4.799 0 5.527 5.527 0 00-3.1 4.66.75.75 0 101.498.085A4.01 4.01 0 015.5 9.5a4.01 4.01 0 014.001 3.793.75.75 0 101.498-.086 5.527 5.527 0 00-3.1-4.659z\\\"></path>\" }, \"24\": { \"width\": 24, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M19.25 1a.75.75 0 01.75.75V4h2.25a.75.75 0 010 1.5H20v2.25a.75.75 0 01-1.5 0V5.5h-2.25a.75.75 0 010-1.5h2.25V1.75a.75.75 0 01.75-.75zM9 6a3.5 3.5 0 100 7 3.5 3.5 0 000-7zM4 9.5a5 5 0 117.916 4.062 7.973 7.973 0 015.018 7.166.75.75 0 11-1.499.044 6.469 6.469 0 00-12.932 0 .75.75 0 01-1.499-.044 7.973 7.973 0 015.059-7.181A4.993 4.993 0 014 9.5z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nPersonAddIcon.defaultProps = {\n className: 'octicon octicon-person-add',\n size: 16,\n verticalAlign: 'text-bottom'\n};\n\nfunction PinIcon(props) {\n var svgDataByHeight = { \"16\": { \"width\": 16, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M4.456.734a1.75 1.75 0 012.826.504l.613 1.327a3.081 3.081 0 002.084 1.707l2.454.584c1.332.317 1.8 1.972.832 2.94L11.06 10l3.72 3.72a.75.75 0 11-1.061 1.06L10 11.06l-2.204 2.205c-.968.968-2.623.5-2.94-.832l-.584-2.454a3.081 3.081 0 00-1.707-2.084l-1.327-.613a1.75 1.75 0 01-.504-2.826L4.456.734zM5.92 1.866a.25.25 0 00-.404-.072L1.794 5.516a.25.25 0 00.072.404l1.328.613A4.582 4.582 0 015.73 9.63l.584 2.454a.25.25 0 00.42.12l5.47-5.47a.25.25 0 00-.12-.42L9.63 5.73a4.581 4.581 0 01-3.098-2.537L5.92 1.866z\\\"></path>\" }, \"24\": { \"width\": 24, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M7.886 1.553a1.75 1.75 0 012.869.604l.633 1.629a5.666 5.666 0 003.725 3.395l3.959 1.131a1.75 1.75 0 01.757 2.92L16.06 15l5.594 5.595a.75.75 0 11-1.06 1.06L15 16.061l-3.768 3.768a1.75 1.75 0 01-2.92-.757l-1.131-3.96a5.667 5.667 0 00-3.395-3.724l-1.63-.633a1.75 1.75 0 01-.603-2.869l6.333-6.333zm6.589 12.912l-.005.005-.005.005-4.294 4.293a.25.25 0 01-.417-.108l-1.13-3.96A7.166 7.166 0 004.33 9.99L2.7 9.356a.25.25 0 01-.086-.41l6.333-6.332a.25.25 0 01.41.086l.633 1.63a7.167 7.167 0 004.71 4.293l3.96 1.131a.25.25 0 01.108.417l-4.293 4.294z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nPinIcon.defaultProps = {\n className: 'octicon octicon-pin',\n size: 16,\n verticalAlign: 'text-bottom'\n};\n\nfunction PlayIcon(props) {\n var svgDataByHeight = { \"16\": { \"width\": 16, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M1.5 8a6.5 6.5 0 1113 0 6.5 6.5 0 01-13 0zM8 0a8 8 0 100 16A8 8 0 008 0zM6.379 5.227A.25.25 0 006 5.442v5.117a.25.25 0 00.379.214l4.264-2.559a.25.25 0 000-.428L6.379 5.227z\\\"></path>\" }, \"24\": { \"width\": 24, \"path\": \"<path d=\\\"M9.5 15.584V8.416a.5.5 0 01.77-.42l5.576 3.583a.5.5 0 010 .842l-5.576 3.584a.5.5 0 01-.77-.42z\\\"></path><path fill-rule=\\\"evenodd\\\" d=\\\"M12 2.5a9.5 9.5 0 100 19 9.5 9.5 0 000-19zM1 12C1 5.925 5.925 1 12 1s11 4.925 11 11-4.925 11-11 11S1 18.075 1 12z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nPlayIcon.defaultProps = {\n className: 'octicon octicon-play',\n size: 16,\n verticalAlign: 'text-bottom'\n};\n\nfunction PlugIcon(props) {\n var svgDataByHeight = { \"16\": { \"width\": 16, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M10.276 3.09a.25.25 0 01.192-.09h.782a.25.25 0 01.25.25v8.5a.25.25 0 01-.25.25h-.782a.25.25 0 01-.192-.09l-.95-1.14a.75.75 0 00-.483-.264l-3.124-.39a.25.25 0 01-.219-.249V5.133a.25.25 0 01.219-.248l3.124-.39a.75.75 0 00.483-.265l.95-1.14zM4 8v1.867a1.75 1.75 0 001.533 1.737l2.83.354.761.912c.332.4.825.63 1.344.63h.782A1.75 1.75 0 0013 11.75V11h2.25a.75.75 0 000-1.5H13v-4h2.25a.75.75 0 000-1.5H13v-.75a1.75 1.75 0 00-1.75-1.75h-.782c-.519 0-1.012.23-1.344.63l-.76.913-2.831.353A1.75 1.75 0 004 5.133V6.5H2.5A2.5 2.5 0 000 9v5.25a.75.75 0 001.5 0V9a1 1 0 011-1H4z\\\"></path>\" }, \"24\": { \"width\": 24, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M7 11.5v3.848a1.75 1.75 0 001.57 1.74l6.055.627 1.006 1.174a1.75 1.75 0 001.329.611h1.29A1.75 1.75 0 0020 17.75V15.5h3.25a.75.75 0 000-1.5H20V7.5h3.25a.75.75 0 000-1.5H20V3.75A1.75 1.75 0 0018.25 2h-1.29c-.51 0-.996.223-1.329.611l-1.006 1.174-6.055.626A1.75 1.75 0 007 6.151V10H2.937A2.938 2.938 0 000 12.938v8.312a.75.75 0 001.5 0v-8.313c0-.793.644-1.437 1.438-1.437H7zm9.77-7.913a.25.25 0 01.19-.087h1.29a.25.25 0 01.25.25v14a.25.25 0 01-.25.25h-1.29a.25.25 0 01-.19-.087l-1.2-1.401a.75.75 0 00-.493-.258l-6.353-.657a.25.25 0 01-.224-.249V6.152a.25.25 0 01.224-.249l6.353-.657a.75.75 0 00.492-.258l1.201-1.4z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nPlugIcon.defaultProps = {\n className: 'octicon octicon-plug',\n size: 16,\n verticalAlign: 'text-bottom'\n};\n\nfunction PlusIcon(props) {\n var svgDataByHeight = { \"16\": { \"width\": 16, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M7.75 2a.75.75 0 01.75.75V7h4.25a.75.75 0 110 1.5H8.5v4.25a.75.75 0 11-1.5 0V8.5H2.75a.75.75 0 010-1.5H7V2.75A.75.75 0 017.75 2z\\\"></path>\" }, \"24\": { \"width\": 24, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M11.75 4.5a.75.75 0 01.75.75V11h5.75a.75.75 0 010 1.5H12.5v5.75a.75.75 0 01-1.5 0V12.5H5.25a.75.75 0 010-1.5H11V5.25a.75.75 0 01.75-.75z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nPlusIcon.defaultProps = {\n className: 'octicon octicon-plus',\n size: 16,\n verticalAlign: 'text-bottom'\n};\n\nfunction PlusCircleIcon(props) {\n var svgDataByHeight = { \"16\": { \"width\": 16, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M1.5 8a6.5 6.5 0 1113 0 6.5 6.5 0 01-13 0zM8 0a8 8 0 100 16A8 8 0 008 0zm.75 4.75a.75.75 0 00-1.5 0v2.5h-2.5a.75.75 0 000 1.5h2.5v2.5a.75.75 0 001.5 0v-2.5h2.5a.75.75 0 000-1.5h-2.5v-2.5z\\\"></path>\" }, \"24\": { \"width\": 24, \"path\": \"<path d=\\\"M12.75 7.75a.75.75 0 00-1.5 0v3.5h-3.5a.75.75 0 000 1.5h3.5v3.5a.75.75 0 001.5 0v-3.5h3.5a.75.75 0 000-1.5h-3.5v-3.5z\\\"></path><path fill-rule=\\\"evenodd\\\" d=\\\"M12 1C5.925 1 1 5.925 1 12s4.925 11 11 11 11-4.925 11-11S18.075 1 12 1zM2.5 12a9.5 9.5 0 1119 0 9.5 9.5 0 01-19 0z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nPlusCircleIcon.defaultProps = {\n className: 'octicon octicon-plus-circle',\n size: 16,\n verticalAlign: 'text-bottom'\n};\n\nfunction ProjectIcon(props) {\n var svgDataByHeight = { \"16\": { \"width\": 16, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M1.75 0A1.75 1.75 0 000 1.75v12.5C0 15.216.784 16 1.75 16h12.5A1.75 1.75 0 0016 14.25V1.75A1.75 1.75 0 0014.25 0H1.75zM1.5 1.75a.25.25 0 01.25-.25h12.5a.25.25 0 01.25.25v12.5a.25.25 0 01-.25.25H1.75a.25.25 0 01-.25-.25V1.75zM11.75 3a.75.75 0 00-.75.75v7.5a.75.75 0 001.5 0v-7.5a.75.75 0 00-.75-.75zm-8.25.75a.75.75 0 011.5 0v5.5a.75.75 0 01-1.5 0v-5.5zM8 3a.75.75 0 00-.75.75v3.5a.75.75 0 001.5 0v-3.5A.75.75 0 008 3z\\\"></path>\" }, \"24\": { \"width\": 24, \"path\": \"<path d=\\\"M7.25 6a.75.75 0 00-.75.75v7.5a.75.75 0 001.5 0v-7.5A.75.75 0 007.25 6zM12 6a.75.75 0 00-.75.75v4.5a.75.75 0 001.5 0v-4.5A.75.75 0 0012 6zm4 .75a.75.75 0 011.5 0v9.5a.75.75 0 01-1.5 0v-9.5z\\\"></path><path fill-rule=\\\"evenodd\\\" d=\\\"M3.75 2A1.75 1.75 0 002 3.75v16.5c0 .966.784 1.75 1.75 1.75h16.5A1.75 1.75 0 0022 20.25V3.75A1.75 1.75 0 0020.25 2H3.75zM3.5 3.75a.25.25 0 01.25-.25h16.5a.25.25 0 01.25.25v16.5a.25.25 0 01-.25.25H3.75a.25.25 0 01-.25-.25V3.75z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nProjectIcon.defaultProps = {\n className: 'octicon octicon-project',\n size: 16,\n verticalAlign: 'text-bottom'\n};\n\nfunction PulseIcon(props) {\n var svgDataByHeight = { \"16\": { \"width\": 16, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M6 2a.75.75 0 01.696.471L10 10.731l1.304-3.26A.75.75 0 0112 7h3.25a.75.75 0 010 1.5h-2.742l-1.812 4.528a.75.75 0 01-1.392 0L6 4.77 4.696 8.03A.75.75 0 014 8.5H.75a.75.75 0 010-1.5h2.742l1.812-4.529A.75.75 0 016 2z\\\"></path>\" }, \"24\": { \"width\": 24, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M9.002 2.5a.75.75 0 01.691.464l6.302 15.305 2.56-6.301a.75.75 0 01.695-.468h4a.75.75 0 010 1.5h-3.495l-3.06 7.532a.75.75 0 01-1.389.004L8.997 5.21l-3.054 7.329A.75.75 0 015.25 13H.75a.75.75 0 010-1.5h4l3.558-8.538a.75.75 0 01.694-.462z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nPulseIcon.defaultProps = {\n className: 'octicon octicon-pulse',\n size: 16,\n verticalAlign: 'text-bottom'\n};\n\nfunction QuestionIcon(props) {\n var svgDataByHeight = { \"16\": { \"width\": 16, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M8 1.5a6.5 6.5 0 100 13 6.5 6.5 0 000-13zM0 8a8 8 0 1116 0A8 8 0 010 8zm9 3a1 1 0 11-2 0 1 1 0 012 0zM6.92 6.085c.081-.16.19-.299.34-.398.145-.097.371-.187.74-.187.28 0 .553.087.738.225A.613.613 0 019 6.25c0 .177-.04.264-.077.318a.956.956 0 01-.277.245c-.076.051-.158.1-.258.161l-.007.004a7.728 7.728 0 00-.313.195 2.416 2.416 0 00-.692.661.75.75 0 001.248.832.956.956 0 01.276-.245 6.3 6.3 0 01.26-.16l.006-.004c.093-.057.204-.123.313-.195.222-.149.487-.355.692-.662.214-.32.329-.702.329-1.15 0-.76-.36-1.348-.863-1.725A2.76 2.76 0 008 4c-.631 0-1.155.16-1.572.438-.413.276-.68.638-.849.977a.75.75 0 101.342.67z\\\"></path>\" }, \"24\": { \"width\": 24, \"path\": \"<path d=\\\"M10.97 8.265a1.45 1.45 0 00-.487.57.75.75 0 01-1.341-.67c.2-.402.513-.826.997-1.148C10.627 6.69 11.244 6.5 12 6.5c.658 0 1.369.195 1.934.619a2.45 2.45 0 011.004 2.006c0 1.033-.513 1.72-1.027 2.215-.19.183-.399.358-.579.508l-.147.123a4.329 4.329 0 00-.435.409v1.37a.75.75 0 11-1.5 0v-1.473c0-.237.067-.504.247-.736.22-.28.486-.517.718-.714l.183-.153.001-.001c.172-.143.324-.27.47-.412.368-.355.569-.676.569-1.136a.953.953 0 00-.404-.806C12.766 8.118 12.384 8 12 8c-.494 0-.814.121-1.03.265zM13 17a1 1 0 11-2 0 1 1 0 012 0z\\\"></path><path fill-rule=\\\"evenodd\\\" d=\\\"M12 1C5.925 1 1 5.925 1 12s4.925 11 11 11 11-4.925 11-11S18.075 1 12 1zM2.5 12a9.5 9.5 0 1119 0 9.5 9.5 0 01-19 0z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nQuestionIcon.defaultProps = {\n className: 'octicon octicon-question',\n size: 16,\n verticalAlign: 'text-bottom'\n};\n\nfunction QuoteIcon(props) {\n var svgDataByHeight = { \"16\": { \"width\": 16, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M1.75 2.5a.75.75 0 000 1.5h10.5a.75.75 0 000-1.5H1.75zm4 5a.75.75 0 000 1.5h8.5a.75.75 0 000-1.5h-8.5zm0 5a.75.75 0 000 1.5h8.5a.75.75 0 000-1.5h-8.5zM2.5 7.75a.75.75 0 00-1.5 0v6a.75.75 0 001.5 0v-6z\\\"></path>\" }, \"24\": { \"width\": 24, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M3 6.25a.75.75 0 01.75-.75h13.5a.75.75 0 010 1.5H3.75A.75.75 0 013 6.25zM3.75 11a.75.75 0 01.75.75v7a.75.75 0 01-1.5 0v-7a.75.75 0 01.75-.75zM8 12.313a.75.75 0 01.75-.75h11.5a.75.75 0 010 1.5H8.75a.75.75 0 01-.75-.75zm0 5.937a.75.75 0 01.75-.75h11.5a.75.75 0 010 1.5H8.75a.75.75 0 01-.75-.75z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nQuoteIcon.defaultProps = {\n className: 'octicon octicon-quote',\n size: 16,\n verticalAlign: 'text-bottom'\n};\n\nfunction ReplyIcon(props) {\n var svgDataByHeight = { \"16\": { \"width\": 16, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M6.78 1.97a.75.75 0 010 1.06L3.81 6h6.44A4.75 4.75 0 0115 10.75v2.5a.75.75 0 01-1.5 0v-2.5a3.25 3.25 0 00-3.25-3.25H3.81l2.97 2.97a.75.75 0 11-1.06 1.06L1.47 7.28a.75.75 0 010-1.06l4.25-4.25a.75.75 0 011.06 0z\\\"></path>\" }, \"24\": { \"width\": 24, \"path\": \"<path d=\\\"M10.53 5.03a.75.75 0 10-1.06-1.06l-6.25 6.25a.75.75 0 000 1.06l6.25 6.25a.75.75 0 101.06-1.06L5.56 11.5H17a3.248 3.248 0 013.25 3.248v4.502a.75.75 0 001.5 0v-4.502A4.748 4.748 0 0017 10H5.56l4.97-4.97z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nReplyIcon.defaultProps = {\n className: 'octicon octicon-reply',\n size: 16,\n verticalAlign: 'text-bottom'\n};\n\nfunction RepoIcon(props) {\n var svgDataByHeight = { \"16\": { \"width\": 16, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M2 2.5A2.5 2.5 0 014.5 0h8.75a.75.75 0 01.75.75v12.5a.75.75 0 01-.75.75h-2.5a.75.75 0 110-1.5h1.75v-2h-8a1 1 0 00-.714 1.7.75.75 0 01-1.072 1.05A2.495 2.495 0 012 11.5v-9zm10.5-1V9h-8c-.356 0-.694.074-1 .208V2.5a1 1 0 011-1h8zM5 12.25v3.25a.25.25 0 00.4.2l1.45-1.087a.25.25 0 01.3 0L8.6 15.7a.25.25 0 00.4-.2v-3.25a.25.25 0 00-.25-.25h-3.5a.25.25 0 00-.25.25z\\\"></path>\" }, \"24\": { \"width\": 24, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M3 2.75A2.75 2.75 0 015.75 0h14.5a.75.75 0 01.75.75v20.5a.75.75 0 01-.75.75h-6a.75.75 0 010-1.5h5.25v-4H6A1.5 1.5 0 004.5 18v.75c0 .716.43 1.334 1.05 1.605a.75.75 0 01-.6 1.374A3.25 3.25 0 013 18.75v-16zM19.5 1.5V15H6c-.546 0-1.059.146-1.5.401V2.75c0-.69.56-1.25 1.25-1.25H19.5z\\\"></path><path d=\\\"M7 18.25a.25.25 0 01.25-.25h5a.25.25 0 01.25.25v5.01a.25.25 0 01-.397.201l-2.206-1.604a.25.25 0 00-.294 0L7.397 23.46a.25.25 0 01-.397-.2v-5.01z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nRepoIcon.defaultProps = {\n className: 'octicon octicon-repo',\n size: 16,\n verticalAlign: 'text-bottom'\n};\n\nfunction RepoCloneIcon(props) {\n var svgDataByHeight = { \"16\": { \"width\": 16, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M15 0H9v7c0 .55.45 1 1 1h1v1h1V8h3c.55 0 1-.45 1-1V1c0-.55-.45-1-1-1zm-4 7h-1V6h1v1zm4 0h-3V6h3v1zm0-2h-4V1h4v4zM4 5H3V4h1v1zm0-2H3V2h1v1zM2 1h6V0H1C.45 0 0 .45 0 1v12c0 .55.45 1 1 1h2v2l1.5-1.5L6 16v-2h5c.55 0 1-.45 1-1v-3H2V1zm9 10v2H6v-1H3v1H1v-2h10zM3 8h1v1H3V8zm1-1H3V6h1v1z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nRepoCloneIcon.defaultProps = {\n className: 'octicon octicon-repo-clone',\n size: 16,\n verticalAlign: 'text-bottom'\n};\n\nfunction RepoForkedIcon(props) {\n var svgDataByHeight = { \"16\": { \"width\": 16, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M5 3.25a.75.75 0 11-1.5 0 .75.75 0 011.5 0zm0 2.122a2.25 2.25 0 10-1.5 0v.878A2.25 2.25 0 005.75 8.5h1.5v2.128a2.251 2.251 0 101.5 0V8.5h1.5a2.25 2.25 0 002.25-2.25v-.878a2.25 2.25 0 10-1.5 0v.878a.75.75 0 01-.75.75h-4.5A.75.75 0 015 6.25v-.878zm3.75 7.378a.75.75 0 11-1.5 0 .75.75 0 011.5 0zm3-8.75a.75.75 0 100-1.5.75.75 0 000 1.5z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nRepoForkedIcon.defaultProps = {\n className: 'octicon octicon-repo-forked',\n size: 16,\n verticalAlign: 'text-bottom'\n};\n\nfunction RepoPullIcon(props) {\n var svgDataByHeight = { \"16\": { \"width\": 16, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M13 8V6H7V4h6V2l3 3-3 3zM4 2H3v1h1V2zm7 5h1v6c0 .55-.45 1-1 1H6v2l-1.5-1.5L3 16v-2H1c-.55 0-1-.45-1-1V1c0-.55.45-1 1-1h10c.55 0 1 .45 1 1v2h-1V1H2v9h9V7zm0 4H1v2h2v-1h3v1h5v-2zM4 6H3v1h1V6zm0-2H3v1h1V4zM3 9h1V8H3v1z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nRepoPullIcon.defaultProps = {\n className: 'octicon octicon-repo-pull',\n size: 16,\n verticalAlign: 'text-bottom'\n};\n\nfunction RepoPushIcon(props) {\n var svgDataByHeight = { \"16\": { \"width\": 16, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M1 2.5A2.5 2.5 0 013.5 0h8.75a.75.75 0 01.75.75v3.5a.75.75 0 01-1.5 0V1.5h-8a1 1 0 00-1 1v6.708A2.492 2.492 0 013.5 9h3.25a.75.75 0 010 1.5H3.5a1 1 0 100 2h5.75a.75.75 0 010 1.5H3.5A2.5 2.5 0 011 11.5v-9zm13.23 7.79a.75.75 0 001.06-1.06l-2.505-2.505a.75.75 0 00-1.06 0L9.22 9.229a.75.75 0 001.06 1.061l1.225-1.224v6.184a.75.75 0 001.5 0V9.066l1.224 1.224z\\\"></path>\" }, \"24\": { \"width\": 24, \"path\": \"<path d=\\\"M4.75 0A2.75 2.75 0 002 2.75v16.5A2.75 2.75 0 004.75 22h11a.75.75 0 000-1.5h-11c-.69 0-1.25-.56-1.25-1.25V18A1.5 1.5 0 015 16.5h7.25a.75.75 0 000-1.5H5c-.546 0-1.059.146-1.5.401V2.75c0-.69.56-1.25 1.25-1.25H18.5v7a.75.75 0 001.5 0V.75a.75.75 0 00-.75-.75H4.75z\\\"></path><path d=\\\"M20 13.903l2.202 2.359a.75.75 0 001.096-1.024l-3.5-3.75a.75.75 0 00-1.096 0l-3.5 3.75a.75.75 0 101.096 1.024l2.202-2.36v9.348a.75.75 0 001.5 0v-9.347z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nRepoPushIcon.defaultProps = {\n className: 'octicon octicon-repo-push',\n size: 16,\n verticalAlign: 'text-bottom'\n};\n\nfunction RepoTemplateIcon(props) {\n var svgDataByHeight = { \"16\": { \"width\": 16, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M6 .75A.75.75 0 016.75 0h2.5a.75.75 0 010 1.5h-2.5A.75.75 0 016 .75zm5 0a.75.75 0 01.75-.75h1.5a.75.75 0 01.75.75v1.5a.75.75 0 01-1.5 0V1.5h-.75A.75.75 0 0111 .75zM4.992.662a.75.75 0 01-.636.848c-.436.063-.783.41-.846.846a.75.75 0 01-1.485-.212A2.501 2.501 0 014.144.025a.75.75 0 01.848.637zM2.75 4a.75.75 0 01.75.75v1.5a.75.75 0 01-1.5 0v-1.5A.75.75 0 012.75 4zm10.5 0a.75.75 0 01.75.75v1.5a.75.75 0 01-1.5 0v-1.5a.75.75 0 01.75-.75zM2.75 8a.75.75 0 01.75.75v.268A1.72 1.72 0 013.75 9h.5a.75.75 0 010 1.5h-.5a.25.25 0 00-.25.25v.75c0 .28.114.532.3.714a.75.75 0 01-1.05 1.072A2.495 2.495 0 012 11.5V8.75A.75.75 0 012.75 8zm10.5 0a.75.75 0 01.75.75v4.5a.75.75 0 01-.75.75h-2.5a.75.75 0 010-1.5h1.75v-2h-.75a.75.75 0 010-1.5h.75v-.25a.75.75 0 01.75-.75zM6 9.75A.75.75 0 016.75 9h2.5a.75.75 0 010 1.5h-2.5A.75.75 0 016 9.75zm-1 2.5v3.25a.25.25 0 00.4.2l1.45-1.087a.25.25 0 01.3 0L8.6 15.7a.25.25 0 00.4-.2v-3.25a.25.25 0 00-.25-.25h-3.5a.25.25 0 00-.25.25z\\\"></path>\" }, \"24\": { \"width\": 24, \"path\": \"<path d=\\\"M5.75 0A2.75 2.75 0 003 2.75v1a.75.75 0 001.5 0v-1c0-.69.56-1.25 1.25-1.25h1a.75.75 0 000-1.5h-1zm4 0a.75.75 0 000 1.5h4.5a.75.75 0 000-1.5h-4.5zm7.5 0a.75.75 0 000 1.5h2.25v2.25a.75.75 0 001.5 0v-3a.75.75 0 00-.75-.75h-3zM4.5 6.5a.75.75 0 00-1.5 0v3.75a.75.75 0 001.5 0V6.5zm16.5 0a.75.75 0 00-1.5 0v3.75a.75.75 0 001.5 0V6.5zM4.5 13.25a.75.75 0 00-1.5 0v5.5a3.25 3.25 0 001.95 2.98.75.75 0 10.6-1.375A1.75 1.75 0 014.5 18.75V18A1.5 1.5 0 016 16.5h.75a.75.75 0 000-1.5H6c-.546 0-1.059.146-1.5.401V13.25zm16.5 0a.75.75 0 00-1.5 0V15h-2.25a.75.75 0 000 1.5h2.25v4h-5.25a.75.75 0 000 1.5h6a.75.75 0 00.75-.75v-8zM9.75 15a.75.75 0 000 1.5h4.5a.75.75 0 000-1.5h-4.5zm-2.353 8.461A.25.25 0 017 23.26v-5.01a.25.25 0 01.25-.25h5a.25.25 0 01.25.25v5.01a.25.25 0 01-.397.201l-2.206-1.604a.25.25 0 00-.294 0L7.397 23.46z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nRepoTemplateIcon.defaultProps = {\n className: 'octicon octicon-repo-template',\n size: 16,\n verticalAlign: 'text-bottom'\n};\n\nfunction ReportIcon(props) {\n var svgDataByHeight = { \"16\": { \"width\": 16, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M1.75 1.5a.25.25 0 00-.25.25v9.5c0 .138.112.25.25.25h2a.75.75 0 01.75.75v2.19l2.72-2.72a.75.75 0 01.53-.22h6.5a.25.25 0 00.25-.25v-9.5a.25.25 0 00-.25-.25H1.75zM0 1.75C0 .784.784 0 1.75 0h12.5C15.216 0 16 .784 16 1.75v9.5A1.75 1.75 0 0114.25 13H8.06l-2.573 2.573A1.457 1.457 0 013 14.543V13H1.75A1.75 1.75 0 010 11.25v-9.5zM9 9a1 1 0 11-2 0 1 1 0 012 0zm-.25-5.25a.75.75 0 00-1.5 0v2.5a.75.75 0 001.5 0v-2.5z\\\"></path>\" }, \"24\": { \"width\": 24, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M3.25 4a.25.25 0 00-.25.25v12.5c0 .138.112.25.25.25h2.5a.75.75 0 01.75.75v3.19l3.427-3.427A1.75 1.75 0 0111.164 17h9.586a.25.25 0 00.25-.25V4.25a.25.25 0 00-.25-.25H3.25zm-1.75.25c0-.966.784-1.75 1.75-1.75h17.5c.966 0 1.75.784 1.75 1.75v12.5a1.75 1.75 0 01-1.75 1.75h-9.586a.25.25 0 00-.177.073l-3.5 3.5A1.457 1.457 0 015 21.043V18.5H3.25a1.75 1.75 0 01-1.75-1.75V4.25zM12 6a.75.75 0 01.75.75v4a.75.75 0 01-1.5 0v-4A.75.75 0 0112 6zm0 9a1 1 0 100-2 1 1 0 000 2z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nReportIcon.defaultProps = {\n className: 'octicon octicon-report',\n size: 16,\n verticalAlign: 'text-bottom'\n};\n\nfunction RocketIcon(props) {\n var svgDataByHeight = { \"16\": { \"width\": 16, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M14.064 0a8.75 8.75 0 00-6.187 2.563l-.459.458c-.314.314-.616.641-.904.979H3.31a1.75 1.75 0 00-1.49.833L.11 7.607a.75.75 0 00.418 1.11l3.102.954c.037.051.079.1.124.145l2.429 2.428c.046.046.094.088.145.125l.954 3.102a.75.75 0 001.11.418l2.774-1.707a1.75 1.75 0 00.833-1.49V9.485c.338-.288.665-.59.979-.904l.458-.459A8.75 8.75 0 0016 1.936V1.75A1.75 1.75 0 0014.25 0h-.186zM10.5 10.625c-.088.06-.177.118-.266.175l-2.35 1.521.548 1.783 1.949-1.2a.25.25 0 00.119-.213v-2.066zM3.678 8.116L5.2 5.766c.058-.09.117-.178.176-.266H3.309a.25.25 0 00-.213.119l-1.2 1.95 1.782.547zm5.26-4.493A7.25 7.25 0 0114.063 1.5h.186a.25.25 0 01.25.25v.186a7.25 7.25 0 01-2.123 5.127l-.459.458a15.21 15.21 0 01-2.499 2.02l-2.317 1.5-2.143-2.143 1.5-2.317a15.25 15.25 0 012.02-2.5l.458-.458h.002zM12 5a1 1 0 11-2 0 1 1 0 012 0zm-8.44 9.56a1.5 1.5 0 10-2.12-2.12c-.734.73-1.047 2.332-1.15 3.003a.23.23 0 00.265.265c.671-.103 2.273-.416 3.005-1.148z\\\"></path>\" }, \"24\": { \"width\": 24, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M20.322.75a10.75 10.75 0 00-7.373 2.926l-1.304 1.23A23.743 23.743 0 0010.103 6.5H5.066a1.75 1.75 0 00-1.5.85l-2.71 4.514a.75.75 0 00.49 1.12l4.571.963c.039.049.082.096.129.14L8.04 15.96l1.872 1.994c.044.047.091.09.14.129l.963 4.572a.75.75 0 001.12.488l4.514-2.709a1.75 1.75 0 00.85-1.5v-5.038a23.741 23.741 0 001.596-1.542l1.228-1.304a10.75 10.75 0 002.925-7.374V2.499A1.75 1.75 0 0021.498.75h-1.177zM16 15.112c-.333.248-.672.487-1.018.718l-3.393 2.262.678 3.223 3.612-2.167a.25.25 0 00.121-.214v-3.822zm-10.092-2.7L8.17 9.017c.23-.346.47-.685.717-1.017H5.066a.25.25 0 00-.214.121l-2.167 3.612 3.223.679zm8.07-7.644a9.25 9.25 0 016.344-2.518h1.177a.25.25 0 01.25.25v1.176a9.25 9.25 0 01-2.517 6.346l-1.228 1.303a22.248 22.248 0 01-3.854 3.257l-3.288 2.192-1.743-1.858a.764.764 0 00-.034-.034l-1.859-1.744 2.193-3.29a22.248 22.248 0 013.255-3.851l1.304-1.23zM17.5 8a1.5 1.5 0 11-3 0 1.5 1.5 0 013 0zm-11 13c.9-.9.9-2.6 0-3.5-.9-.9-2.6-.9-3.5 0-1.209 1.209-1.445 3.901-1.49 4.743a.232.232 0 00.247.247c.842-.045 3.534-.281 4.743-1.49z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nRocketIcon.defaultProps = {\n className: 'octicon octicon-rocket',\n size: 16,\n verticalAlign: 'text-bottom'\n};\n\nfunction RssIcon(props) {\n var svgDataByHeight = { \"16\": { \"width\": 16, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M2.002 2.725a.75.75 0 01.797-.699C8.79 2.42 13.58 7.21 13.974 13.201a.75.75 0 11-1.497.098 10.502 10.502 0 00-9.776-9.776.75.75 0 01-.7-.798zM2 13a1 1 0 112 0 1 1 0 01-2 0zm.84-5.95a.75.75 0 00-.179 1.489c2.509.3 4.5 2.291 4.8 4.8a.75.75 0 101.49-.178A7.003 7.003 0 002.838 7.05z\\\"></path>\" }, \"24\": { \"width\": 24, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M3.5 3.25a.75.75 0 01.75-.75C14.053 2.5 22 10.447 22 20.25a.75.75 0 01-1.5 0C20.5 11.275 13.225 4 4.25 4a.75.75 0 01-.75-.75zM3.5 19a2 2 0 114 0 2 2 0 01-4 0zm.75-9.5a.75.75 0 000 1.5 9.25 9.25 0 019.25 9.25.75.75 0 001.5 0C15 14.313 10.187 9.5 4.25 9.5z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nRssIcon.defaultProps = {\n className: 'octicon octicon-rss',\n size: 16,\n verticalAlign: 'text-bottom'\n};\n\nfunction RubyIcon(props) {\n var svgDataByHeight = { \"16\": { \"width\": 16, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M3.637 2.291A.75.75 0 014.23 2h7.54a.75.75 0 01.593.291l3.48 4.5a.75.75 0 01-.072.999l-7.25 7a.75.75 0 01-1.042 0l-7.25-7a.75.75 0 01-.072-.999l3.48-4.5zM4.598 3.5L1.754 7.177 8 13.207l6.246-6.03L11.402 3.5H4.598z\\\"></path>\" }, \"24\": { \"width\": 24, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M5.873 3.26A.75.75 0 016.44 3h11.31a.75.75 0 01.576.27l5 6a.75.75 0 01-.028.992l-10.75 11.5a.75.75 0 01-1.096 0l-10.75-11.5a.75.75 0 01-.02-1.003l5.19-6zm.91 1.24L2.258 9.73 12 20.153l9.75-10.43L17.399 4.5H6.783z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nRubyIcon.defaultProps = {\n className: 'octicon octicon-ruby',\n size: 16,\n verticalAlign: 'text-bottom'\n};\n\nfunction ScreenFullIcon(props) {\n var svgDataByHeight = { \"16\": { \"width\": 16, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M2.75 2.5a.25.25 0 00-.25.25v2.5a.75.75 0 01-1.5 0v-2.5C1 1.784 1.784 1 2.75 1h2.5a.75.75 0 010 1.5h-2.5zM10 1.75a.75.75 0 01.75-.75h2.5c.966 0 1.75.784 1.75 1.75v2.5a.75.75 0 01-1.5 0v-2.5a.25.25 0 00-.25-.25h-2.5a.75.75 0 01-.75-.75zM1.75 10a.75.75 0 01.75.75v2.5c0 .138.112.25.25.25h2.5a.75.75 0 010 1.5h-2.5A1.75 1.75 0 011 13.25v-2.5a.75.75 0 01.75-.75zm12.5 0a.75.75 0 01.75.75v2.5A1.75 1.75 0 0113.25 15h-2.5a.75.75 0 010-1.5h2.5a.25.25 0 00.25-.25v-2.5a.75.75 0 01.75-.75z\\\"></path>\" }, \"24\": { \"width\": 24, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M4.75 4.5a.25.25 0 00-.25.25v3.5a.75.75 0 01-1.5 0v-3.5C3 3.784 3.784 3 4.75 3h3.5a.75.75 0 010 1.5h-3.5zM15 3.75a.75.75 0 01.75-.75h3.5c.966 0 1.75.784 1.75 1.75v3.5a.75.75 0 01-1.5 0v-3.5a.25.25 0 00-.25-.25h-3.5a.75.75 0 01-.75-.75zM3.75 15a.75.75 0 01.75.75v3.5c0 .138.112.25.25.25h3.5a.75.75 0 010 1.5h-3.5A1.75 1.75 0 013 19.25v-3.5a.75.75 0 01.75-.75zm16.5 0a.75.75 0 01.75.75v3.5A1.75 1.75 0 0119.25 21h-3.5a.75.75 0 010-1.5h3.5a.25.25 0 00.25-.25v-3.5a.75.75 0 01.75-.75z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nScreenFullIcon.defaultProps = {\n className: 'octicon octicon-screen-full',\n size: 16,\n verticalAlign: 'text-bottom'\n};\n\nfunction ScreenNormalIcon(props) {\n var svgDataByHeight = { \"16\": { \"width\": 16, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M5.25 1a.75.75 0 01.75.75v2.5A1.75 1.75 0 014.25 6h-2.5a.75.75 0 010-1.5h2.5a.25.25 0 00.25-.25v-2.5A.75.75 0 015.25 1zm5.5 0a.75.75 0 01.75.75v2.5c0 .138.112.25.25.25h2.5a.75.75 0 010 1.5h-2.5A1.75 1.75 0 0110 4.25v-2.5a.75.75 0 01.75-.75zM1 10.75a.75.75 0 01.75-.75h2.5c.966 0 1.75.784 1.75 1.75v2.5a.75.75 0 01-1.5 0v-2.5a.25.25 0 00-.25-.25h-2.5a.75.75 0 01-.75-.75zm9 1c0-.966.784-1.75 1.75-1.75h2.5a.75.75 0 010 1.5h-2.5a.25.25 0 00-.25.25v2.5a.75.75 0 01-1.5 0v-2.5z\\\"></path>\" }, \"24\": { \"width\": 24, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M8.25 3a.75.75 0 01.75.75v3.5A1.75 1.75 0 017.25 9h-3.5a.75.75 0 010-1.5h3.5a.25.25 0 00.25-.25v-3.5A.75.75 0 018.25 3zm7.5 0a.75.75 0 01.75.75v3.5c0 .138.112.25.25.25h3.5a.75.75 0 010 1.5h-3.5A1.75 1.75 0 0115 7.25v-3.5a.75.75 0 01.75-.75zM3 15.75a.75.75 0 01.75-.75h3.5c.966 0 1.75.784 1.75 1.75v3.5a.75.75 0 01-1.5 0v-3.5a.25.25 0 00-.25-.25h-3.5a.75.75 0 01-.75-.75zm12 1c0-.966.784-1.75 1.75-1.75h3.5a.75.75 0 010 1.5h-3.5a.25.25 0 00-.25.25v3.5a.75.75 0 01-1.5 0v-3.5z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nScreenNormalIcon.defaultProps = {\n className: 'octicon octicon-screen-normal',\n size: 16,\n verticalAlign: 'text-bottom'\n};\n\nfunction SearchIcon(props) {\n var svgDataByHeight = { \"16\": { \"width\": 16, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M11.5 7a4.499 4.499 0 11-8.998 0A4.499 4.499 0 0111.5 7zm-.82 4.74a6 6 0 111.06-1.06l3.04 3.04a.75.75 0 11-1.06 1.06l-3.04-3.04z\\\"></path>\" }, \"24\": { \"width\": 24, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M14.53 15.59a8.25 8.25 0 111.06-1.06l5.69 5.69a.75.75 0 11-1.06 1.06l-5.69-5.69zM2.5 9.25a6.75 6.75 0 1111.74 4.547.746.746 0 00-.443.442A6.75 6.75 0 012.5 9.25z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nSearchIcon.defaultProps = {\n className: 'octicon octicon-search',\n size: 16,\n verticalAlign: 'text-bottom'\n};\n\nfunction ServerIcon(props) {\n var svgDataByHeight = { \"16\": { \"width\": 16, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M1.75 1A1.75 1.75 0 000 2.75v4c0 .372.116.717.314 1a1.742 1.742 0 00-.314 1v4c0 .966.784 1.75 1.75 1.75h12.5A1.75 1.75 0 0016 12.75v-4c0-.372-.116-.717-.314-1 .198-.283.314-.628.314-1v-4A1.75 1.75 0 0014.25 1H1.75zm0 7.5a.25.25 0 00-.25.25v4c0 .138.112.25.25.25h12.5a.25.25 0 00.25-.25v-4a.25.25 0 00-.25-.25H1.75zM1.5 2.75a.25.25 0 01.25-.25h12.5a.25.25 0 01.25.25v4a.25.25 0 01-.25.25H1.75a.25.25 0 01-.25-.25v-4zm5.5 2A.75.75 0 017.75 4h4.5a.75.75 0 010 1.5h-4.5A.75.75 0 017 4.75zM7.75 10a.75.75 0 000 1.5h4.5a.75.75 0 000-1.5h-4.5zM3 4.75A.75.75 0 013.75 4h.5a.75.75 0 010 1.5h-.5A.75.75 0 013 4.75zM3.75 10a.75.75 0 000 1.5h.5a.75.75 0 000-1.5h-.5z\\\"></path>\" }, \"24\": { \"width\": 24, \"path\": \"<path d=\\\"M10.75 6.5a.75.75 0 000 1.5h6.5a.75.75 0 000-1.5h-6.5zM6 7.25a.75.75 0 01.75-.75h.5a.75.75 0 010 1.5h-.5A.75.75 0 016 7.25zm4 9a.75.75 0 01.75-.75h6.5a.75.75 0 010 1.5h-6.5a.75.75 0 01-.75-.75zm-3.25-.75a.75.75 0 000 1.5h.5a.75.75 0 000-1.5h-.5z\\\"></path><path fill-rule=\\\"evenodd\\\" d=\\\"M3.25 2A1.75 1.75 0 001.5 3.75v7c0 .372.116.716.314 1a1.742 1.742 0 00-.314 1v7c0 .966.784 1.75 1.75 1.75h17.5a1.75 1.75 0 001.75-1.75v-7c0-.372-.116-.716-.314-1 .198-.284.314-.628.314-1v-7A1.75 1.75 0 0020.75 2H3.25zm0 9h17.5a.25.25 0 00.25-.25v-7a.25.25 0 00-.25-.25H3.25a.25.25 0 00-.25.25v7c0 .138.112.25.25.25zm0 1.5a.25.25 0 00-.25.25v7c0 .138.112.25.25.25h17.5a.25.25 0 00.25-.25v-7a.25.25 0 00-.25-.25H3.25z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nServerIcon.defaultProps = {\n className: 'octicon octicon-server',\n size: 16,\n verticalAlign: 'text-bottom'\n};\n\nfunction ShareIcon(props) {\n var svgDataByHeight = { \"16\": { \"width\": 16, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M7.823.177L4.927 3.073a.25.25 0 00.177.427H7.25v5.75a.75.75 0 001.5 0V3.5h2.146a.25.25 0 00.177-.427L8.177.177a.25.25 0 00-.354 0zM3.75 6.5a.25.25 0 00-.25.25v6.5c0 .138.112.25.25.25h8.5a.25.25 0 00.25-.25v-6.5a.25.25 0 00-.25-.25h-1a.75.75 0 010-1.5h1c.966 0 1.75.784 1.75 1.75v6.5A1.75 1.75 0 0112.25 15h-8.5A1.75 1.75 0 012 13.25v-6.5C2 5.784 2.784 5 3.75 5h1a.75.75 0 110 1.5h-1z\\\"></path>\" }, \"24\": { \"width\": 24, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M12.53 1.22a.75.75 0 00-1.06 0L8.22 4.47a.75.75 0 001.06 1.06l1.97-1.97v10.69a.75.75 0 001.5 0V3.56l1.97 1.97a.75.75 0 101.06-1.06l-3.25-3.25zM5.5 9.75a.25.25 0 01.25-.25h2.5a.75.75 0 000-1.5h-2.5A1.75 1.75 0 004 9.75v10.5c0 .966.784 1.75 1.75 1.75h12.5A1.75 1.75 0 0020 20.25V9.75A1.75 1.75 0 0018.25 8h-2.5a.75.75 0 000 1.5h2.5a.25.25 0 01.25.25v10.5a.25.25 0 01-.25.25H5.75a.25.25 0 01-.25-.25V9.75z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nShareIcon.defaultProps = {\n className: 'octicon octicon-share',\n size: 16,\n verticalAlign: 'text-bottom'\n};\n\nfunction ShareAndroidIcon(props) {\n var svgDataByHeight = { \"16\": { \"width\": 16, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M13.5 3a1.5 1.5 0 11-3 0 1.5 1.5 0 013 0zM15 3a3 3 0 01-5.175 2.066l-3.92 2.179a3.005 3.005 0 010 1.51l3.92 2.179a3 3 0 11-.73 1.31l-3.92-2.178a3 3 0 110-4.133l3.92-2.178A3 3 0 1115 3zm-1.5 10a1.5 1.5 0 11-3 0 1.5 1.5 0 013 0zm-9-5a1.5 1.5 0 11-3 0 1.5 1.5 0 013 0z\\\"></path>\" }, \"24\": { \"width\": 24, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M20 5.5a3.5 3.5 0 01-6.062 2.385l-5.112 3.021a3.497 3.497 0 010 2.188l5.112 3.021a3.5 3.5 0 11-.764 1.29l-5.112-3.02a3.5 3.5 0 110-4.77l5.112-3.021v.001A3.5 3.5 0 1120 5.5zm-1.5 0a2 2 0 11-4 0 2 2 0 014 0zM5.5 14a2 2 0 100-4 2 2 0 000 4zm13 4.5a2 2 0 11-4 0 2 2 0 014 0z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nShareAndroidIcon.defaultProps = {\n className: 'octicon octicon-share-android',\n size: 16,\n verticalAlign: 'text-bottom'\n};\n\nfunction ShieldIcon(props) {\n var svgDataByHeight = { \"16\": { \"width\": 16, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M7.467.133a1.75 1.75 0 011.066 0l5.25 1.68A1.75 1.75 0 0115 3.48V7c0 1.566-.32 3.182-1.303 4.682-.983 1.498-2.585 2.813-5.032 3.855a1.7 1.7 0 01-1.33 0c-2.447-1.042-4.049-2.357-5.032-3.855C1.32 10.182 1 8.566 1 7V3.48a1.75 1.75 0 011.217-1.667l5.25-1.68zm.61 1.429a.25.25 0 00-.153 0l-5.25 1.68a.25.25 0 00-.174.238V7c0 1.358.275 2.666 1.057 3.86.784 1.194 2.121 2.34 4.366 3.297a.2.2 0 00.154 0c2.245-.956 3.582-2.104 4.366-3.298C13.225 9.666 13.5 8.36 13.5 7V3.48a.25.25 0 00-.174-.237l-5.25-1.68zM9 10.5a1 1 0 11-2 0 1 1 0 012 0zm-.25-5.75a.75.75 0 10-1.5 0v3a.75.75 0 001.5 0v-3z\\\"></path>\" }, \"24\": { \"width\": 24, \"path\": \"<path d=\\\"M13 15.5a1 1 0 11-2 0 1 1 0 012 0zm-.25-8.25a.75.75 0 00-1.5 0v4.5a.75.75 0 001.5 0v-4.5z\\\"></path><path fill-rule=\\\"evenodd\\\" d=\\\"M11.46.637a1.75 1.75 0 011.08 0l8.25 2.675A1.75 1.75 0 0122 4.976V10c0 6.19-3.77 10.705-9.401 12.83a1.699 1.699 0 01-1.198 0C5.771 20.704 2 16.19 2 10V4.976c0-.76.49-1.43 1.21-1.664L11.46.637zm.617 1.426a.25.25 0 00-.154 0L3.673 4.74a.249.249 0 00-.173.237V10c0 5.461 3.28 9.483 8.43 11.426a.2.2 0 00.14 0C17.22 19.483 20.5 15.46 20.5 10V4.976a.25.25 0 00-.173-.237l-8.25-2.676z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nShieldIcon.defaultProps = {\n className: 'octicon octicon-shield',\n size: 16,\n verticalAlign: 'text-bottom'\n};\n\nfunction ShieldCheckIcon(props) {\n var svgDataByHeight = { \"16\": { \"width\": 16, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M8.533.133a1.75 1.75 0 00-1.066 0l-5.25 1.68A1.75 1.75 0 001 3.48V7c0 1.566.32 3.182 1.303 4.682.983 1.498 2.585 2.813 5.032 3.855a1.7 1.7 0 001.33 0c2.447-1.042 4.049-2.357 5.032-3.855C14.68 10.182 15 8.566 15 7V3.48a1.75 1.75 0 00-1.217-1.667L8.533.133zm-.61 1.429a.25.25 0 01.153 0l5.25 1.68a.25.25 0 01.174.238V7c0 1.358-.275 2.666-1.057 3.86-.784 1.194-2.121 2.34-4.366 3.297a.2.2 0 01-.154 0c-2.245-.956-3.582-2.104-4.366-3.298C2.775 9.666 2.5 8.36 2.5 7V3.48a.25.25 0 01.174-.237l5.25-1.68zM11.28 6.28a.75.75 0 00-1.06-1.06L7.25 8.19l-.97-.97a.75.75 0 10-1.06 1.06l1.5 1.5a.75.75 0 001.06 0l3.5-3.5z\\\"></path>\" }, \"24\": { \"width\": 24, \"path\": \"<path d=\\\"M16.53 9.78a.75.75 0 00-1.06-1.06L11 13.19l-1.97-1.97a.75.75 0 00-1.06 1.06l2.5 2.5a.75.75 0 001.06 0l5-5z\\\"></path><path fill-rule=\\\"evenodd\\\" d=\\\"M12.54.637a1.75 1.75 0 00-1.08 0L3.21 3.312A1.75 1.75 0 002 4.976V10c0 6.19 3.77 10.705 9.401 12.83.386.145.812.145 1.198 0C18.229 20.704 22 16.19 22 10V4.976c0-.759-.49-1.43-1.21-1.664L12.54.637zm-.617 1.426a.25.25 0 01.154 0l8.25 2.676a.25.25 0 01.173.237V10c0 5.461-3.28 9.483-8.43 11.426a.2.2 0 01-.14 0C6.78 19.483 3.5 15.46 3.5 10V4.976c0-.108.069-.203.173-.237l8.25-2.676z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nShieldCheckIcon.defaultProps = {\n className: 'octicon octicon-shield-check',\n size: 16,\n verticalAlign: 'text-bottom'\n};\n\nfunction ShieldLockIcon(props) {\n var svgDataByHeight = { \"16\": { \"width\": 16, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M8.533.133a1.75 1.75 0 00-1.066 0l-5.25 1.68A1.75 1.75 0 001 3.48V7c0 1.566.32 3.182 1.303 4.682.983 1.498 2.585 2.813 5.032 3.855a1.7 1.7 0 001.33 0c2.447-1.042 4.049-2.357 5.032-3.855C14.68 10.182 15 8.566 15 7V3.48a1.75 1.75 0 00-1.217-1.667L8.533.133zm-.61 1.429a.25.25 0 01.153 0l5.25 1.68a.25.25 0 01.174.238V7c0 1.358-.275 2.666-1.057 3.86-.784 1.194-2.121 2.34-4.366 3.297a.2.2 0 01-.154 0c-2.245-.956-3.582-2.104-4.366-3.298C2.775 9.666 2.5 8.36 2.5 7V3.48a.25.25 0 01.174-.237l5.25-1.68zM9.5 6.5a1.5 1.5 0 01-.75 1.3v2.45a.75.75 0 01-1.5 0V7.8A1.5 1.5 0 119.5 6.5z\\\"></path>\" }, \"24\": { \"width\": 24, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M12.077 2.563a.25.25 0 00-.154 0L3.673 5.24a.249.249 0 00-.173.237V10.5c0 5.461 3.28 9.483 8.43 11.426a.2.2 0 00.14 0c5.15-1.943 8.43-5.965 8.43-11.426V5.476a.25.25 0 00-.173-.237l-8.25-2.676zm-.617-1.426a1.75 1.75 0 011.08 0l8.25 2.675A1.75 1.75 0 0122 5.476V10.5c0 6.19-3.77 10.705-9.401 12.83a1.699 1.699 0 01-1.198 0C5.771 21.204 2 16.69 2 10.5V5.476c0-.76.49-1.43 1.21-1.664l8.25-2.675zM13 12.232A2 2 0 0012 8.5a2 2 0 00-1 3.732V15a1 1 0 102 0v-2.768z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nShieldLockIcon.defaultProps = {\n className: 'octicon octicon-shield-lock',\n size: 16,\n verticalAlign: 'text-bottom'\n};\n\nfunction ShieldXIcon(props) {\n var svgDataByHeight = { \"16\": { \"width\": 16, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M8.533.133a1.75 1.75 0 00-1.066 0l-5.25 1.68A1.75 1.75 0 001 3.48V7c0 1.566.32 3.182 1.303 4.682.983 1.498 2.585 2.813 5.032 3.855a1.7 1.7 0 001.33 0c2.447-1.042 4.049-2.357 5.032-3.855C14.68 10.182 15 8.566 15 7V3.48a1.75 1.75 0 00-1.217-1.667L8.533.133zm-.61 1.429a.25.25 0 01.153 0l5.25 1.68a.25.25 0 01.174.238V7c0 1.358-.275 2.666-1.057 3.86-.784 1.194-2.121 2.34-4.366 3.297a.2.2 0 01-.154 0c-2.245-.956-3.582-2.104-4.366-3.298C2.775 9.666 2.5 8.36 2.5 7V3.48a.25.25 0 01.174-.237l5.25-1.68zM6.78 5.22a.75.75 0 10-1.06 1.06L6.94 7.5 5.72 8.72a.75.75 0 001.06 1.06L8 8.56l1.22 1.22a.75.75 0 101.06-1.06L9.06 7.5l1.22-1.22a.75.75 0 10-1.06-1.06L8 6.44 6.78 5.22z\\\"></path>\" }, \"24\": { \"width\": 24, \"path\": \"<path d=\\\"M9.28 7.72a.75.75 0 00-1.06 1.06l2.72 2.72-2.72 2.72a.75.75 0 101.06 1.06L12 12.56l2.72 2.72a.75.75 0 101.06-1.06l-2.72-2.72 2.72-2.72a.75.75 0 00-1.06-1.06L12 10.44 9.28 7.72z\\\"></path><path fill-rule=\\\"evenodd\\\" d=\\\"M12.54.637a1.75 1.75 0 00-1.08 0L3.21 3.312A1.75 1.75 0 002 4.976V10c0 6.19 3.77 10.705 9.401 12.83.386.145.812.145 1.198 0C18.229 20.704 22 16.19 22 10V4.976c0-.759-.49-1.43-1.21-1.664L12.54.637zm-.617 1.426a.25.25 0 01.154 0l8.25 2.676a.25.25 0 01.173.237V10c0 5.461-3.28 9.483-8.43 11.426a.2.2 0 01-.14 0C6.78 19.483 3.5 15.46 3.5 10V4.976c0-.108.069-.203.173-.237l8.25-2.676z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nShieldXIcon.defaultProps = {\n className: 'octicon octicon-shield-x',\n size: 16,\n verticalAlign: 'text-bottom'\n};\n\nfunction SidebarCollapseIcon(props) {\n var svgDataByHeight = { \"16\": { \"width\": 16, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M6.823 7.823L4.427 5.427A.25.25 0 004 5.604v4.792c0 .223.27.335.427.177l2.396-2.396a.25.25 0 000-.354z\\\"></path><path fill-rule=\\\"evenodd\\\" d=\\\"M1.75 0A1.75 1.75 0 000 1.75v12.5C0 15.216.784 16 1.75 16h12.5A1.75 1.75 0 0016 14.25V1.75A1.75 1.75 0 0014.25 0H1.75zM1.5 1.75a.25.25 0 01.25-.25H9.5v13H1.75a.25.25 0 01-.25-.25V1.75zM11 14.5v-13h3.25a.25.25 0 01.25.25v12.5a.25.25 0 01-.25.25H11z\\\"></path>\" }, \"24\": { \"width\": 24, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M7.22 14.47L9.69 12 7.22 9.53a.75.75 0 111.06-1.06l3 3a.75.75 0 010 1.06l-3 3a.75.75 0 01-1.06-1.06z\\\"></path><path fill-rule=\\\"evenodd\\\" d=\\\"M3.75 2A1.75 1.75 0 002 3.75v16.5c0 .966.784 1.75 1.75 1.75h16.5A1.75 1.75 0 0022 20.25V3.75A1.75 1.75 0 0020.25 2H3.75zM3.5 3.75a.25.25 0 01.25-.25H15v17H3.75a.25.25 0 01-.25-.25V3.75zm13 16.75v-17h3.75a.25.25 0 01.25.25v16.5a.25.25 0 01-.25.25H16.5z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nSidebarCollapseIcon.defaultProps = {\n className: 'octicon octicon-sidebar-collapse',\n size: 16,\n verticalAlign: 'text-bottom'\n};\n\nfunction SidebarExpandIcon(props) {\n var svgDataByHeight = { \"16\": { \"width\": 16, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M4.177 7.823l2.396-2.396A.25.25 0 017 5.604v4.792a.25.25 0 01-.427.177L4.177 8.177a.25.25 0 010-.354z\\\"></path><path fill-rule=\\\"evenodd\\\" d=\\\"M0 1.75C0 .784.784 0 1.75 0h12.5C15.216 0 16 .784 16 1.75v12.5A1.75 1.75 0 0114.25 16H1.75A1.75 1.75 0 010 14.25V1.75zm1.75-.25a.25.25 0 00-.25.25v12.5c0 .138.112.25.25.25H9.5v-13H1.75zm12.5 13H11v-13h3.25a.25.25 0 01.25.25v12.5a.25.25 0 01-.25.25z\\\"></path>\" }, \"24\": { \"width\": 24, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M11.28 9.53L8.81 12l2.47 2.47a.75.75 0 11-1.06 1.06l-3-3a.75.75 0 010-1.06l3-3a.75.75 0 111.06 1.06z\\\"></path><path fill-rule=\\\"evenodd\\\" d=\\\"M3.75 2A1.75 1.75 0 002 3.75v16.5c0 .966.784 1.75 1.75 1.75h16.5A1.75 1.75 0 0022 20.25V3.75A1.75 1.75 0 0020.25 2H3.75zM3.5 3.75a.25.25 0 01.25-.25H15v17H3.75a.25.25 0 01-.25-.25V3.75zm13 16.75v-17h3.75a.25.25 0 01.25.25v16.5a.25.25 0 01-.25.25H16.5z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nSidebarExpandIcon.defaultProps = {\n className: 'octicon octicon-sidebar-expand',\n size: 16,\n verticalAlign: 'text-bottom'\n};\n\nfunction SignInIcon(props) {\n var svgDataByHeight = { \"16\": { \"width\": 16, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M2 2.75C2 1.784 2.784 1 3.75 1h2.5a.75.75 0 010 1.5h-2.5a.25.25 0 00-.25.25v10.5c0 .138.112.25.25.25h2.5a.75.75 0 010 1.5h-2.5A1.75 1.75 0 012 13.25V2.75zm6.56 4.5l1.97-1.97a.75.75 0 10-1.06-1.06L6.22 7.47a.75.75 0 000 1.06l3.25 3.25a.75.75 0 101.06-1.06L8.56 8.75h5.69a.75.75 0 000-1.5H8.56z\\\"></path>\" }, \"24\": { \"width\": 24, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M3 3.25c0-.966.784-1.75 1.75-1.75h5.5a.75.75 0 010 1.5h-5.5a.25.25 0 00-.25.25v17.5c0 .138.112.25.25.25h5.5a.75.75 0 010 1.5h-5.5A1.75 1.75 0 013 20.75V3.25zm9.994 9.5l3.3 3.484a.75.75 0 01-1.088 1.032l-4.5-4.75a.75.75 0 010-1.032l4.5-4.75a.75.75 0 011.088 1.032l-3.3 3.484h8.256a.75.75 0 010 1.5h-8.256z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nSignInIcon.defaultProps = {\n className: 'octicon octicon-sign-in',\n size: 16,\n verticalAlign: 'text-bottom'\n};\n\nfunction SignOutIcon(props) {\n var svgDataByHeight = { \"16\": { \"width\": 16, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M2 2.75C2 1.784 2.784 1 3.75 1h2.5a.75.75 0 010 1.5h-2.5a.25.25 0 00-.25.25v10.5c0 .138.112.25.25.25h2.5a.75.75 0 010 1.5h-2.5A1.75 1.75 0 012 13.25V2.75zm10.44 4.5H6.75a.75.75 0 000 1.5h5.69l-1.97 1.97a.75.75 0 101.06 1.06l3.25-3.25a.75.75 0 000-1.06l-3.25-3.25a.75.75 0 10-1.06 1.06l1.97 1.97z\\\"></path>\" }, \"24\": { \"width\": 24, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M3 3.25c0-.966.784-1.75 1.75-1.75h5.5a.75.75 0 010 1.5h-5.5a.25.25 0 00-.25.25v17.5c0 .138.112.25.25.25h5.5a.75.75 0 010 1.5h-5.5A1.75 1.75 0 013 20.75V3.25zm16.006 9.5l-3.3 3.484a.75.75 0 001.088 1.032l4.5-4.75a.75.75 0 000-1.032l-4.5-4.75a.75.75 0 00-1.088 1.032l3.3 3.484H10.75a.75.75 0 000 1.5h8.256z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nSignOutIcon.defaultProps = {\n className: 'octicon octicon-sign-out',\n size: 16,\n verticalAlign: 'text-bottom'\n};\n\nfunction SkipIcon(props) {\n var svgDataByHeight = { \"16\": { \"width\": 16, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M1.5 8a6.5 6.5 0 1113 0 6.5 6.5 0 01-13 0zM8 0a8 8 0 100 16A8 8 0 008 0zm3.28 5.78a.75.75 0 00-1.06-1.06l-5.5 5.5a.75.75 0 101.06 1.06l5.5-5.5z\\\"></path>\" }, \"24\": { \"width\": 24, \"path\": \"<path d=\\\"M17.28 7.78a.75.75 0 00-1.06-1.06l-9.5 9.5a.75.75 0 101.06 1.06l9.5-9.5z\\\"></path><path fill-rule=\\\"evenodd\\\" d=\\\"M12 1C5.925 1 1 5.925 1 12s4.925 11 11 11 11-4.925 11-11S18.075 1 12 1zM2.5 12a9.5 9.5 0 1119 0 9.5 9.5 0 01-19 0z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nSkipIcon.defaultProps = {\n className: 'octicon octicon-skip',\n size: 16,\n verticalAlign: 'text-bottom'\n};\n\nfunction SmileyIcon(props) {\n var svgDataByHeight = { \"16\": { \"width\": 16, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M1.5 8a6.5 6.5 0 1113 0 6.5 6.5 0 01-13 0zM8 0a8 8 0 100 16A8 8 0 008 0zM5 8a1 1 0 100-2 1 1 0 000 2zm7-1a1 1 0 11-2 0 1 1 0 012 0zM5.32 9.636a.75.75 0 011.038.175l.007.009c.103.118.22.222.35.31.264.178.683.37 1.285.37.602 0 1.02-.192 1.285-.371.13-.088.247-.192.35-.31l.007-.008a.75.75 0 111.222.87l-.614-.431c.614.43.614.431.613.431v.001l-.001.002-.002.003-.005.007-.014.019a1.984 1.984 0 01-.184.213c-.16.166-.338.316-.53.445-.63.418-1.37.638-2.127.629-.946 0-1.652-.308-2.126-.63a3.32 3.32 0 01-.715-.657l-.014-.02-.005-.006-.002-.003v-.002h-.001l.613-.432-.614.43a.75.75 0 01.183-1.044h.001z\\\"></path>\" }, \"24\": { \"width\": 24, \"path\": \"<path d=\\\"M8.456 14.494a.75.75 0 011.068.17 3.08 3.08 0 00.572.492A3.381 3.381 0 0012 15.72c.855 0 1.487-.283 1.904-.562a3.081 3.081 0 00.572-.492l.021-.026a.75.75 0 011.197.905l-.027.034c-.013.016-.03.038-.052.063-.044.05-.105.119-.184.198a4.569 4.569 0 01-.695.566A4.88 4.88 0 0112 17.22a4.88 4.88 0 01-2.736-.814 4.57 4.57 0 01-.695-.566 3.253 3.253 0 01-.236-.261c-.259-.332-.223-.824.123-1.084z\\\"></path><path fill-rule=\\\"evenodd\\\" d=\\\"M12 1C5.925 1 1 5.925 1 12s4.925 11 11 11 11-4.925 11-11S18.075 1 12 1zM2.5 12a9.5 9.5 0 1119 0 9.5 9.5 0 01-19 0z\\\"></path><path d=\\\"M9 10.75a1.25 1.25 0 11-2.5 0 1.25 1.25 0 012.5 0zM16.25 12a1.25 1.25 0 100-2.5 1.25 1.25 0 000 2.5z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nSmileyIcon.defaultProps = {\n className: 'octicon octicon-smiley',\n size: 16,\n verticalAlign: 'text-bottom'\n};\n\nfunction SquareIcon(props) {\n var svgDataByHeight = { \"16\": { \"width\": 16, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M4 5.75C4 4.784 4.784 4 5.75 4h4.5c.966 0 1.75.784 1.75 1.75v4.5A1.75 1.75 0 0110.25 12h-4.5A1.75 1.75 0 014 10.25v-4.5zm1.75-.25a.25.25 0 00-.25.25v4.5c0 .138.112.25.25.25h4.5a.25.25 0 00.25-.25v-4.5a.25.25 0 00-.25-.25h-4.5z\\\"></path>\" }, \"24\": { \"width\": 24, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M6 7.75C6 6.784 6.784 6 7.75 6h8.5c.966 0 1.75.784 1.75 1.75v8.5A1.75 1.75 0 0116.25 18h-8.5A1.75 1.75 0 016 16.25v-8.5zm1.75-.25a.25.25 0 00-.25.25v8.5c0 .138.112.25.25.25h8.5a.25.25 0 00.25-.25v-8.5a.25.25 0 00-.25-.25h-8.5z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nSquareIcon.defaultProps = {\n className: 'octicon octicon-square',\n size: 16,\n verticalAlign: 'text-bottom'\n};\n\nfunction SquareFillIcon(props) {\n var svgDataByHeight = { \"16\": { \"width\": 16, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M5.75 4A1.75 1.75 0 004 5.75v4.5c0 .966.784 1.75 1.75 1.75h4.5A1.75 1.75 0 0012 10.25v-4.5A1.75 1.75 0 0010.25 4h-4.5z\\\"></path>\" }, \"24\": { \"width\": 24, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M7.75 6A1.75 1.75 0 006 7.75v8.5c0 .966.784 1.75 1.75 1.75h8.5A1.75 1.75 0 0018 16.25v-8.5A1.75 1.75 0 0016.25 6h-8.5z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nSquareFillIcon.defaultProps = {\n className: 'octicon octicon-square-fill',\n size: 16,\n verticalAlign: 'text-bottom'\n};\n\nfunction SquirrelIcon(props) {\n var svgDataByHeight = { \"16\": { \"width\": 16, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M3.499.75a.75.75 0 011.5 0v.996C5.9 2.903 6.793 3.65 7.662 4.376l.24.202c-.036-.694.055-1.422.426-2.163C9.1.873 10.794-.045 12.622.26 14.408.558 16 1.94 16 4.25c0 1.278-.954 2.575-2.44 2.734l.146.508.065.22c.203.701.412 1.455.476 2.226.142 1.707-.4 3.03-1.487 3.898C11.714 14.671 10.27 15 8.75 15h-6a.75.75 0 010-1.5h1.376a4.489 4.489 0 01-.563-1.191 3.833 3.833 0 01-.05-2.063 4.636 4.636 0 01-2.025-.293.75.75 0 11.525-1.406c1.357.507 2.376-.006 2.698-.318l.009-.01a.748.748 0 011.06 0 .75.75 0 01-.012 1.074c-.912.92-.992 1.835-.768 2.586.221.74.745 1.337 1.196 1.621H8.75c1.343 0 2.398-.296 3.074-.836.635-.507 1.036-1.31.928-2.602-.05-.603-.216-1.224-.422-1.93l-.064-.221c-.12-.407-.246-.84-.353-1.29a2.404 2.404 0 01-.507-.441 3.063 3.063 0 01-.633-1.248.75.75 0 011.455-.364c.046.185.144.436.31.627.146.168.353.305.712.305.738 0 1.25-.615 1.25-1.25 0-1.47-.95-2.315-2.123-2.51-1.172-.196-2.227.387-2.706 1.345-.46.92-.27 1.774.019 3.062l.042.19a.753.753 0 01.01.05c.348.443.666.949.94 1.553a.75.75 0 11-1.365.62c-.553-1.217-1.32-1.94-2.3-2.768a85.08 85.08 0 00-.317-.265c-.814-.68-1.75-1.462-2.692-2.619a3.74 3.74 0 00-1.023.88c-.406.495-.663 1.036-.722 1.508.116.122.306.21.591.239.388.038.797-.06 1.032-.19a.75.75 0 01.728 1.31c-.515.287-1.23.439-1.906.373-.682-.067-1.473-.38-1.879-1.193L.75 5.677V5.5c0-.984.48-1.94 1.077-2.664.46-.559 1.05-1.055 1.673-1.353V.75z\\\"></path>\" }, \"24\": { \"width\": 24, \"path\": \"<path d=\\\"M18.377 3.49c-1.862-.31-3.718.62-4.456 2.095-.428.857-.691 1.624-.728 2.361-.035.71.138 1.444.67 2.252.644.854 1.199 1.913 1.608 3.346a.75.75 0 11-1.442.412c-.353-1.236-.82-2.135-1.372-2.865l-.008-.01c-.53-.698-1.14-1.242-1.807-1.778a50.724 50.724 0 00-.667-.524C9.024 7.884 7.71 6.863 6.471 5.16c-.59.287-1.248.798-1.806 1.454-.665.78-1.097 1.66-1.158 2.446.246.36.685.61 1.246.715.643.12 1.278.015 1.633-.182a.75.75 0 11.728 1.311c-.723.402-1.728.516-2.637.346-.916-.172-1.898-.667-2.398-1.666L2 9.427V9.25c0-1.323.678-2.615 1.523-3.607.7-.824 1.59-1.528 2.477-1.917V2.75a.75.75 0 111.5 0v1.27c1.154 1.67 2.363 2.612 3.568 3.551.207.162.415.323.621.489.001-.063.003-.126.006-.188.052-1.034.414-2.017.884-2.958 1.06-2.118 3.594-3.313 6.044-2.904 1.225.204 2.329.795 3.125 1.748C22.546 4.713 23 5.988 23 7.5c0 1.496-.913 3.255-2.688 3.652.838 1.699 1.438 3.768 1.181 5.697-.269 2.017-1.04 3.615-2.582 4.675C17.409 22.558 15.288 23 12.5 23H4.75a.75.75 0 010-1.5h2.322c-.58-.701-.998-1.578-1.223-2.471-.327-1.3-.297-2.786.265-4.131-.92.091-1.985-.02-3.126-.445a.75.75 0 11.524-1.406c1.964.733 3.428.266 4.045-.19.068-.06.137-.12.208-.18a.745.745 0 01.861-.076.746.746 0 01.32.368.752.752 0 01-.173.819c-.077.076-.16.15-.252.221-1.322 1.234-1.62 3.055-1.218 4.654.438 1.737 1.574 2.833 2.69 2.837H12.5c2.674 0 4.429-.433 5.56-1.212 1.094-.752 1.715-1.904 1.946-3.637.236-1.768-.445-3.845-1.407-5.529a.576.576 0 01-.012-.02 3.557 3.557 0 01-1.553-.94c-.556-.565-.89-1.243-1.012-1.73a.75.75 0 011.456-.364c.057.231.26.67.626 1.043.35.357.822.623 1.443.623 1.172 0 1.953-1.058 1.953-2.234 0-1.205-.357-2.127-.903-2.78-.547-.654-1.318-1.08-2.22-1.23z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nSquirrelIcon.defaultProps = {\n className: 'octicon octicon-squirrel',\n size: 16,\n verticalAlign: 'text-bottom'\n};\n\nfunction StarIcon(props) {\n var svgDataByHeight = { \"16\": { \"width\": 16, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M8 .25a.75.75 0 01.673.418l1.882 3.815 4.21.612a.75.75 0 01.416 1.279l-3.046 2.97.719 4.192a.75.75 0 01-1.088.791L8 12.347l-3.766 1.98a.75.75 0 01-1.088-.79l.72-4.194L.818 6.374a.75.75 0 01.416-1.28l4.21-.611L7.327.668A.75.75 0 018 .25zm0 2.445L6.615 5.5a.75.75 0 01-.564.41l-3.097.45 2.24 2.184a.75.75 0 01.216.664l-.528 3.084 2.769-1.456a.75.75 0 01.698 0l2.77 1.456-.53-3.084a.75.75 0 01.216-.664l2.24-2.183-3.096-.45a.75.75 0 01-.564-.41L8 2.694v.001z\\\"></path>\" }, \"24\": { \"width\": 24, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M12 .25a.75.75 0 01.673.418l3.058 6.197 6.839.994a.75.75 0 01.415 1.279l-4.948 4.823 1.168 6.811a.75.75 0 01-1.088.791L12 18.347l-6.117 3.216a.75.75 0 01-1.088-.79l1.168-6.812-4.948-4.823a.75.75 0 01.416-1.28l6.838-.993L11.328.668A.75.75 0 0112 .25zm0 2.445L9.44 7.882a.75.75 0 01-.565.41l-5.725.832 4.143 4.038a.75.75 0 01.215.664l-.978 5.702 5.121-2.692a.75.75 0 01.698 0l5.12 2.692-.977-5.702a.75.75 0 01.215-.664l4.143-4.038-5.725-.831a.75.75 0 01-.565-.41L12 2.694z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nStarIcon.defaultProps = {\n className: 'octicon octicon-star',\n size: 16,\n verticalAlign: 'text-bottom'\n};\n\nfunction StarFillIcon(props) {\n var svgDataByHeight = { \"16\": { \"width\": 16, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M8 .25a.75.75 0 01.673.418l1.882 3.815 4.21.612a.75.75 0 01.416 1.279l-3.046 2.97.719 4.192a.75.75 0 01-1.088.791L8 12.347l-3.766 1.98a.75.75 0 01-1.088-.79l.72-4.194L.818 6.374a.75.75 0 01.416-1.28l4.21-.611L7.327.668A.75.75 0 018 .25z\\\"></path>\" }, \"24\": { \"width\": 24, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M12.672.668a.75.75 0 00-1.345 0L8.27 6.865l-6.838.994a.75.75 0 00-.416 1.279l4.948 4.823-1.168 6.811a.75.75 0 001.088.791L12 18.347l6.117 3.216a.75.75 0 001.088-.79l-1.168-6.812 4.948-4.823a.75.75 0 00-.416-1.28l-6.838-.993L12.672.668z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nStarFillIcon.defaultProps = {\n className: 'octicon octicon-star-fill',\n size: 16,\n verticalAlign: 'text-bottom'\n};\n\nfunction StopIcon(props) {\n var svgDataByHeight = { \"16\": { \"width\": 16, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M4.47.22A.75.75 0 015 0h6a.75.75 0 01.53.22l4.25 4.25c.141.14.22.331.22.53v6a.75.75 0 01-.22.53l-4.25 4.25A.75.75 0 0111 16H5a.75.75 0 01-.53-.22L.22 11.53A.75.75 0 010 11V5a.75.75 0 01.22-.53L4.47.22zm.84 1.28L1.5 5.31v5.38l3.81 3.81h5.38l3.81-3.81V5.31L10.69 1.5H5.31zM8 4a.75.75 0 01.75.75v3.5a.75.75 0 01-1.5 0v-3.5A.75.75 0 018 4zm0 8a1 1 0 100-2 1 1 0 000 2z\\\"></path>\" }, \"24\": { \"width\": 24, \"path\": \"<path d=\\\"M12 7a.75.75 0 01.75.75v4.5a.75.75 0 01-1.5 0v-4.5A.75.75 0 0112 7zm0 10a1 1 0 100-2 1 1 0 000 2z\\\"></path><path fill-rule=\\\"evenodd\\\" d=\\\"M7.328 1.47a.75.75 0 01.53-.22h8.284a.75.75 0 01.53.22l5.858 5.858c.141.14.22.33.22.53v8.284a.75.75 0 01-.22.53l-5.858 5.858a.75.75 0 01-.53.22H7.858a.75.75 0 01-.53-.22L1.47 16.672a.75.75 0 01-.22-.53V7.858a.75.75 0 01.22-.53L7.328 1.47zm.84 1.28L2.75 8.169v7.662l5.419 5.419h7.662l5.419-5.418V8.168L15.832 2.75H8.168z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nStopIcon.defaultProps = {\n className: 'octicon octicon-stop',\n size: 16,\n verticalAlign: 'text-bottom'\n};\n\nfunction StopwatchIcon(props) {\n var svgDataByHeight = { \"16\": { \"width\": 16, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M5.75.75A.75.75 0 016.5 0h3a.75.75 0 010 1.5h-.75v1l-.001.041a6.718 6.718 0 013.464 1.435l.007-.006.75-.75a.75.75 0 111.06 1.06l-.75.75-.006.007a6.75 6.75 0 11-10.548 0L2.72 5.03l-.75-.75a.75.75 0 011.06-1.06l.75.75.007.006A6.718 6.718 0 017.25 2.541a.756.756 0 010-.041v-1H6.5a.75.75 0 01-.75-.75zM8 14.5A5.25 5.25 0 108 4a5.25 5.25 0 000 10.5zm.389-6.7l1.33-1.33a.75.75 0 111.061 1.06L9.45 8.861A1.502 1.502 0 018 10.75a1.5 1.5 0 11.389-2.95z\\\"></path>\" }, \"24\": { \"width\": 24, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M10.25 0a.75.75 0 000 1.5h1v1.278a9.955 9.955 0 00-5.635 2.276L4.28 3.72a.75.75 0 00-1.06 1.06l1.315 1.316A9.962 9.962 0 002 12.75c0 5.523 4.477 10 10 10s10-4.477 10-10a9.962 9.962 0 00-2.535-6.654L20.78 4.78a.75.75 0 00-1.06-1.06l-1.334 1.334a9.955 9.955 0 00-5.636-2.276V1.5h1a.75.75 0 000-1.5h-3.5zM12 21.25a8.5 8.5 0 100-17 8.5 8.5 0 000 17zm4.03-12.53a.75.75 0 010 1.06l-2.381 2.382a1.75 1.75 0 11-1.06-1.06l2.38-2.382a.75.75 0 011.061 0z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nStopwatchIcon.defaultProps = {\n className: 'octicon octicon-stopwatch',\n size: 16,\n verticalAlign: 'text-bottom'\n};\n\nfunction StrikethroughIcon(props) {\n var svgDataByHeight = { \"16\": { \"width\": 16, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M7.581 3.25c-2.036 0-2.778 1.082-2.778 1.786 0 .055.002.107.006.157a.75.75 0 01-1.496.114 3.56 3.56 0 01-.01-.271c0-1.832 1.75-3.286 4.278-3.286 1.418 0 2.721.58 3.514 1.093a.75.75 0 11-.814 1.26c-.64-.414-1.662-.853-2.7-.853zm3.474 5.25h3.195a.75.75 0 000-1.5H1.75a.75.75 0 000 1.5h6.018c.835.187 1.503.464 1.951.81.439.34.647.725.647 1.197 0 .428-.159.895-.594 1.267-.444.38-1.254.726-2.676.726-1.373 0-2.38-.493-2.86-.956a.75.75 0 00-1.042 1.079C3.992 13.393 5.39 14 7.096 14c1.652 0 2.852-.403 3.65-1.085a3.134 3.134 0 001.12-2.408 2.85 2.85 0 00-.811-2.007z\\\"></path>\" }, \"24\": { \"width\": 24, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M12.36 5C9.37 5 8.105 6.613 8.105 7.848c0 .411.072.744.193 1.02a.75.75 0 01-1.373.603 3.993 3.993 0 01-.32-1.623c0-2.363 2.271-4.348 5.755-4.348 1.931 0 3.722.794 4.814 1.5a.75.75 0 11-.814 1.26c-.94-.607-2.448-1.26-4-1.26zm4.173 7.5h3.717a.75.75 0 000-1.5H3.75a.75.75 0 000 1.5h9.136c1.162.28 2.111.688 2.76 1.211.642.518.979 1.134.979 1.898a2.63 2.63 0 01-.954 2.036c-.703.601-1.934 1.105-3.999 1.105-2.018 0-3.529-.723-4.276-1.445a.75.75 0 10-1.042 1.08c1.066 1.028 2.968 1.865 5.318 1.865 2.295 0 3.916-.56 4.974-1.464a4.131 4.131 0 001.479-3.177c0-1.296-.608-2.316-1.538-3.066a5.77 5.77 0 00-.054-.043z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nStrikethroughIcon.defaultProps = {\n className: 'octicon octicon-strikethrough',\n size: 16,\n verticalAlign: 'text-bottom'\n};\n\nfunction SunIcon(props) {\n var svgDataByHeight = { \"16\": { \"width\": 16, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M8 10.5a2.5 2.5 0 100-5 2.5 2.5 0 000 5zM8 12a4 4 0 100-8 4 4 0 000 8zM8 0a.75.75 0 01.75.75v1.5a.75.75 0 01-1.5 0V.75A.75.75 0 018 0zm0 13a.75.75 0 01.75.75v1.5a.75.75 0 01-1.5 0v-1.5A.75.75 0 018 13zM2.343 2.343a.75.75 0 011.061 0l1.06 1.061a.75.75 0 01-1.06 1.06l-1.06-1.06a.75.75 0 010-1.06zm9.193 9.193a.75.75 0 011.06 0l1.061 1.06a.75.75 0 01-1.06 1.061l-1.061-1.06a.75.75 0 010-1.061zM16 8a.75.75 0 01-.75.75h-1.5a.75.75 0 010-1.5h1.5A.75.75 0 0116 8zM3 8a.75.75 0 01-.75.75H.75a.75.75 0 010-1.5h1.5A.75.75 0 013 8zm10.657-5.657a.75.75 0 010 1.061l-1.061 1.06a.75.75 0 11-1.06-1.06l1.06-1.06a.75.75 0 011.06 0zm-9.193 9.193a.75.75 0 010 1.06l-1.06 1.061a.75.75 0 11-1.061-1.06l1.06-1.061a.75.75 0 011.061 0z\\\"></path>\" }, \"24\": { \"width\": 24, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M12 17.5a5.5 5.5 0 100-11 5.5 5.5 0 000 11zm0 1.5a7 7 0 100-14 7 7 0 000 14zm12-7a.75.75 0 01-.75.75h-2.5a.75.75 0 010-1.5h2.5A.75.75 0 0124 12zM4 12a.75.75 0 01-.75.75H.75a.75.75 0 010-1.5h2.5A.75.75 0 014 12zm16.485-8.485a.75.75 0 010 1.06l-1.768 1.768a.75.75 0 01-1.06-1.06l1.767-1.768a.75.75 0 011.061 0zM6.343 17.657a.75.75 0 010 1.06l-1.768 1.768a.75.75 0 11-1.06-1.06l1.767-1.768a.75.75 0 011.061 0zM12 0a.75.75 0 01.75.75v2.5a.75.75 0 01-1.5 0V.75A.75.75 0 0112 0zm0 20a.75.75 0 01.75.75v2.5a.75.75 0 01-1.5 0v-2.5A.75.75 0 0112 20zM3.515 3.515a.75.75 0 011.06 0l1.768 1.768a.75.75 0 11-1.06 1.06L3.515 4.575a.75.75 0 010-1.06zm14.142 14.142a.75.75 0 011.06 0l1.768 1.768a.75.75 0 01-1.06 1.06l-1.768-1.767a.75.75 0 010-1.061z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nSunIcon.defaultProps = {\n className: 'octicon octicon-sun',\n size: 16,\n verticalAlign: 'text-bottom'\n};\n\nfunction SyncIcon(props) {\n var svgDataByHeight = { \"16\": { \"width\": 16, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M8 2.5a5.487 5.487 0 00-4.131 1.869l1.204 1.204A.25.25 0 014.896 6H1.25A.25.25 0 011 5.75V2.104a.25.25 0 01.427-.177l1.38 1.38A7.001 7.001 0 0114.95 7.16a.75.75 0 11-1.49.178A5.501 5.501 0 008 2.5zM1.705 8.005a.75.75 0 01.834.656 5.501 5.501 0 009.592 2.97l-1.204-1.204a.25.25 0 01.177-.427h3.646a.25.25 0 01.25.25v3.646a.25.25 0 01-.427.177l-1.38-1.38A7.001 7.001 0 011.05 8.84a.75.75 0 01.656-.834z\\\"></path>\" }, \"24\": { \"width\": 24, \"path\": \"<path d=\\\"M3.38 8A9.502 9.502 0 0112 2.5a9.502 9.502 0 019.215 7.182.75.75 0 101.456-.364C21.473 4.539 17.15 1 12 1a10.995 10.995 0 00-9.5 5.452V4.75a.75.75 0 00-1.5 0V8.5a1 1 0 001 1h3.75a.75.75 0 000-1.5H3.38zm-.595 6.318a.75.75 0 00-1.455.364C2.527 19.461 6.85 23 12 23c4.052 0 7.592-2.191 9.5-5.451v1.701a.75.75 0 001.5 0V15.5a1 1 0 00-1-1h-3.75a.75.75 0 000 1.5h2.37A9.502 9.502 0 0112 21.5c-4.446 0-8.181-3.055-9.215-7.182z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nSyncIcon.defaultProps = {\n className: 'octicon octicon-sync',\n size: 16,\n verticalAlign: 'text-bottom'\n};\n\nfunction TabIcon(props) {\n var svgDataByHeight = { \"24\": { \"width\": 24, \"path\": \"<path d=\\\"M22 4.25a.75.75 0 00-1.5 0v15a.75.75 0 001.5 0v-15zm-9.72 14.28a.75.75 0 11-1.06-1.06l4.97-4.97H1.75a.75.75 0 010-1.5h14.44l-4.97-4.97a.75.75 0 011.06-1.06l6.25 6.25a.75.75 0 010 1.06l-6.25 6.25z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nTabIcon.defaultProps = {\n className: 'octicon octicon-tab',\n size: 16,\n verticalAlign: 'text-bottom'\n};\n\nfunction TableIcon(props) {\n var svgDataByHeight = { \"16\": { \"width\": 16, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M0 1.75C0 .784.784 0 1.75 0h12.5C15.216 0 16 .784 16 1.75v3.585a.746.746 0 010 .83v8.085A1.75 1.75 0 0114.25 16H6.309a.748.748 0 01-1.118 0H1.75A1.75 1.75 0 010 14.25V6.165a.746.746 0 010-.83V1.75zM1.5 6.5v7.75c0 .138.112.25.25.25H5v-8H1.5zM5 5H1.5V1.75a.25.25 0 01.25-.25H5V5zm1.5 1.5v8h7.75a.25.25 0 00.25-.25V6.5h-8zm8-1.5h-8V1.5h7.75a.25.25 0 01.25.25V5z\\\"></path>\" }, \"24\": { \"width\": 24, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M2 3.75C2 2.784 2.784 2 3.75 2h16.5c.966 0 1.75.784 1.75 1.75v16.5A1.75 1.75 0 0120.25 22H3.75A1.75 1.75 0 012 20.25V3.75zM3.5 9v11.25c0 .138.112.25.25.25H7.5V9h-4zm4-1.5h-4V3.75a.25.25 0 01.25-.25H7.5v4zM9 9v11.5h11.25a.25.25 0 00.25-.25V9H9zm11.5-1.5H9v-4h11.25a.25.25 0 01.25.25V7.5z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nTableIcon.defaultProps = {\n className: 'octicon octicon-table',\n size: 16,\n verticalAlign: 'text-bottom'\n};\n\nfunction TagIcon(props) {\n var svgDataByHeight = { \"16\": { \"width\": 16, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M2.5 7.775V2.75a.25.25 0 01.25-.25h5.025a.25.25 0 01.177.073l6.25 6.25a.25.25 0 010 .354l-5.025 5.025a.25.25 0 01-.354 0l-6.25-6.25a.25.25 0 01-.073-.177zm-1.5 0V2.75C1 1.784 1.784 1 2.75 1h5.025c.464 0 .91.184 1.238.513l6.25 6.25a1.75 1.75 0 010 2.474l-5.026 5.026a1.75 1.75 0 01-2.474 0l-6.25-6.25A1.75 1.75 0 011 7.775zM6 5a1 1 0 100 2 1 1 0 000-2z\\\"></path>\" }, \"24\": { \"width\": 24, \"path\": \"<path d=\\\"M7.75 6.5a1.25 1.25 0 100 2.5 1.25 1.25 0 000-2.5z\\\"></path><path fill-rule=\\\"evenodd\\\" d=\\\"M2.5 1A1.5 1.5 0 001 2.5v8.44c0 .397.158.779.44 1.06l10.25 10.25a1.5 1.5 0 002.12 0l8.44-8.44a1.5 1.5 0 000-2.12L12 1.44A1.5 1.5 0 0010.94 1H2.5zm0 1.5h8.44l10.25 10.25-8.44 8.44L2.5 10.94V2.5z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nTagIcon.defaultProps = {\n className: 'octicon octicon-tag',\n size: 16,\n verticalAlign: 'text-bottom'\n};\n\nfunction TasklistIcon(props) {\n var svgDataByHeight = { \"16\": { \"width\": 16, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M2.5 2.75a.25.25 0 01.25-.25h10.5a.25.25 0 01.25.25v10.5a.25.25 0 01-.25.25H2.75a.25.25 0 01-.25-.25V2.75zM2.75 1A1.75 1.75 0 001 2.75v10.5c0 .966.784 1.75 1.75 1.75h10.5A1.75 1.75 0 0015 13.25V2.75A1.75 1.75 0 0013.25 1H2.75zm9.03 5.28a.75.75 0 00-1.06-1.06L6.75 9.19 5.28 7.72a.75.75 0 00-1.06 1.06l2 2a.75.75 0 001.06 0l4.5-4.5z\\\"></path>\" }, \"24\": { \"width\": 24, \"path\": \"<path d=\\\"M17.28 9.28a.75.75 0 00-1.06-1.06l-5.97 5.97-2.47-2.47a.75.75 0 00-1.06 1.06l3 3a.75.75 0 001.06 0l6.5-6.5z\\\"></path><path fill-rule=\\\"evenodd\\\" d=\\\"M3.75 2A1.75 1.75 0 002 3.75v16.5c0 .966.784 1.75 1.75 1.75h16.5A1.75 1.75 0 0022 20.25V3.75A1.75 1.75 0 0020.25 2H3.75zM3.5 3.75a.25.25 0 01.25-.25h16.5a.25.25 0 01.25.25v16.5a.25.25 0 01-.25.25H3.75a.25.25 0 01-.25-.25V3.75z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nTasklistIcon.defaultProps = {\n className: 'octicon octicon-tasklist',\n size: 16,\n verticalAlign: 'text-bottom'\n};\n\nfunction TelescopeIcon(props) {\n var svgDataByHeight = { \"16\": { \"width\": 16, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M14.184 1.143a1.75 1.75 0 00-2.502-.57L.912 7.916a1.75 1.75 0 00-.53 2.32l.447.775a1.75 1.75 0 002.275.702l11.745-5.656a1.75 1.75 0 00.757-2.451l-1.422-2.464zm-1.657.669a.25.25 0 01.358.081l1.422 2.464a.25.25 0 01-.108.35l-2.016.97-1.505-2.605 1.85-1.26zM9.436 3.92l1.391 2.41-5.42 2.61-.942-1.63 4.97-3.39zM3.222 8.157l-1.466 1a.25.25 0 00-.075.33l.447.775a.25.25 0 00.325.1l1.598-.769-.83-1.436zm6.253 2.306a.75.75 0 00-.944-.252l-1.809.87a.75.75 0 00-.293.253L4.38 14.326a.75.75 0 101.238.848l1.881-2.75v2.826a.75.75 0 001.5 0v-2.826l1.881 2.75a.75.75 0 001.238-.848l-2.644-3.863z\\\"></path>\" }, \"24\": { \"width\": 24, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M.408 15.13a2 2 0 01.59-2.642L17.038 1.33a2 2 0 012.85.602l2.828 4.644a2 2 0 01-.851 2.847l-17.762 8.43a2 2 0 01-2.59-.807L.408 15.13zm5.263-4.066l7.842-5.455 2.857 4.76-8.712 4.135-1.987-3.44zm-1.235.86L1.854 13.72a.5.5 0 00-.147.66l1.105 1.915a.5.5 0 00.648.201l2.838-1.347-1.862-3.225zm13.295-2.2L14.747 4.75l3.148-2.19a.5.5 0 01.713.151l2.826 4.644a.5.5 0 01-.212.712l-3.49 1.656z\\\"></path><path d=\\\"M17.155 22.87a.75.75 0 00.226-1.036l-4-6.239a.75.75 0 00-.941-.278l-2.75 1.25a.75.75 0 00-.318.274l-3.25 4.989a.75.75 0 001.256.819l3.131-4.806.51-.232v5.64a.75.75 0 101.5 0v-6.22l3.6 5.613a.75.75 0 001.036.226z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nTelescopeIcon.defaultProps = {\n className: 'octicon octicon-telescope',\n size: 16,\n verticalAlign: 'text-bottom'\n};\n\nfunction TerminalIcon(props) {\n var svgDataByHeight = { \"16\": { \"width\": 16, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M0 2.75C0 1.784.784 1 1.75 1h12.5c.966 0 1.75.784 1.75 1.75v10.5A1.75 1.75 0 0114.25 15H1.75A1.75 1.75 0 010 13.25V2.75zm1.75-.25a.25.25 0 00-.25.25v10.5c0 .138.112.25.25.25h12.5a.25.25 0 00.25-.25V2.75a.25.25 0 00-.25-.25H1.75zM7.25 8a.75.75 0 01-.22.53l-2.25 2.25a.75.75 0 11-1.06-1.06L5.44 8 3.72 6.28a.75.75 0 111.06-1.06l2.25 2.25c.141.14.22.331.22.53zm1.5 1.5a.75.75 0 000 1.5h3a.75.75 0 000-1.5h-3z\\\"></path>\" }, \"24\": { \"width\": 24, \"path\": \"<path d=\\\"M9.25 12a.75.75 0 01-.22.53l-2.75 2.75a.75.75 0 01-1.06-1.06L7.44 12 5.22 9.78a.75.75 0 111.06-1.06l2.75 2.75c.141.14.22.331.22.53zm2 2a.75.75 0 000 1.5h5a.75.75 0 000-1.5h-5z\\\"></path><path fill-rule=\\\"evenodd\\\" d=\\\"M0 4.75C0 3.784.784 3 1.75 3h20.5c.966 0 1.75.784 1.75 1.75v14.5A1.75 1.75 0 0122.25 21H1.75A1.75 1.75 0 010 19.25V4.75zm1.75-.25a.25.25 0 00-.25.25v14.5c0 .138.112.25.25.25h20.5a.25.25 0 00.25-.25V4.75a.25.25 0 00-.25-.25H1.75z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nTerminalIcon.defaultProps = {\n className: 'octicon octicon-terminal',\n size: 16,\n verticalAlign: 'text-bottom'\n};\n\nfunction ThreeBarsIcon(props) {\n var svgDataByHeight = { \"16\": { \"width\": 16, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M1 2.75A.75.75 0 011.75 2h12.5a.75.75 0 110 1.5H1.75A.75.75 0 011 2.75zm0 5A.75.75 0 011.75 7h12.5a.75.75 0 110 1.5H1.75A.75.75 0 011 7.75zM1.75 12a.75.75 0 100 1.5h12.5a.75.75 0 100-1.5H1.75z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nThreeBarsIcon.defaultProps = {\n className: 'octicon octicon-three-bars',\n size: 16,\n verticalAlign: 'text-bottom'\n};\n\nfunction ThumbsdownIcon(props) {\n var svgDataByHeight = { \"16\": { \"width\": 16, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M7.083 15.986c1.34.153 2.334-.982 2.334-2.183v-.5c0-1.329.646-2.123 1.317-2.614.329-.24.66-.403.919-.508a1.75 1.75 0 001.514.872h1a1.75 1.75 0 001.75-1.75v-7.5a1.75 1.75 0 00-1.75-1.75h-1a1.75 1.75 0 00-1.662 1.2c-.525-.074-1.068-.228-1.726-.415L9.305.705C8.151.385 6.765.053 4.917.053c-1.706 0-2.97.152-3.722 1.139-.353.463-.537 1.042-.669 1.672C.41 3.424.32 4.108.214 4.897l-.04.306c-.25 1.869-.266 3.318.188 4.316.244.537.622.943 1.136 1.2.495.248 1.066.334 1.669.334h1.422l-.015.112c-.07.518-.157 1.17-.157 1.638 0 .921.151 1.718.655 2.299.512.589 1.248.797 2.011.884zm4.334-13.232c-.706-.089-1.39-.284-2.072-.479a63.914 63.914 0 00-.441-.125c-1.096-.304-2.335-.597-3.987-.597-1.794 0-2.28.222-2.529.548-.147.193-.275.505-.393 1.07-.105.502-.188 1.124-.295 1.93l-.04.3c-.25 1.882-.19 2.933.067 3.497a.921.921 0 00.443.48c.208.104.52.175.997.175h1.75c.685 0 1.295.577 1.205 1.335-.022.192-.049.39-.075.586-.066.488-.13.97-.13 1.329 0 .808.144 1.15.288 1.316.137.157.401.303 1.048.377.307.035.664-.237.664-.693v-.5c0-1.922.978-3.127 1.932-3.825a5.862 5.862 0 011.568-.809V2.754zm1.75 6.798a.25.25 0 01-.25-.25v-7.5a.25.25 0 01.25-.25h1a.25.25 0 01.25.25v7.5a.25.25 0 01-.25.25h-1z\\\"></path>\" }, \"24\": { \"width\": 24, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M12.596 21.957c-1.301.092-2.303-.986-2.303-2.206v-1.053c0-2.666-1.813-3.785-2.774-4.2a1.864 1.864 0 00-.523-.13A1.75 1.75 0 015.25 16h-1.5A1.75 1.75 0 012 14.25V3.75C2 2.784 2.784 2 3.75 2h1.5a1.75 1.75 0 011.742 1.58c.838-.06 1.667-.296 2.69-.586l.602-.17C11.748 2.419 13.497 2 15.828 2c2.188 0 3.693.204 4.583 1.372.422.554.65 1.255.816 2.05.148.708.262 1.57.396 2.58l.051.39c.319 2.386.328 4.18-.223 5.394-.293.644-.743 1.125-1.355 1.431-.59.296-1.284.404-2.036.404h-2.05l.056.429c.025.18.05.372.076.572.06.483.117 1.006.117 1.438 0 1.245-.222 2.253-.92 2.942-.684.674-1.668.879-2.743.955zM7 5.082c1.059-.064 2.079-.355 3.118-.651.188-.054.377-.108.568-.16 1.406-.392 3.006-.771 5.142-.771 2.277 0 3.004.274 3.39.781.216.283.388.718.54 1.448.136.65.242 1.45.379 2.477l.05.385c.32 2.398.253 3.794-.102 4.574-.16.352-.375.569-.66.711-.305.153-.74.245-1.365.245h-2.37c-.681 0-1.293.57-1.211 1.328.026.244.065.537.105.834l.07.527c.06.482.105.922.105 1.25 0 1.125-.213 1.617-.473 1.873-.275.27-.774.456-1.795.528-.351.024-.698-.274-.698-.71v-1.053c0-3.55-2.488-5.063-3.68-5.577A3.485 3.485 0 007 12.861V5.08zM3.75 3.5a.25.25 0 00-.25.25v10.5c0 .138.112.25.25.25h1.5a.25.25 0 00.25-.25V3.75a.25.25 0 00-.25-.25h-1.5z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nThumbsdownIcon.defaultProps = {\n className: 'octicon octicon-thumbsdown',\n size: 16,\n verticalAlign: 'text-bottom'\n};\n\nfunction ThumbsupIcon(props) {\n var svgDataByHeight = { \"16\": { \"width\": 16, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M8.834.066C7.494-.087 6.5 1.048 6.5 2.25v.5c0 1.329-.647 2.124-1.318 2.614-.328.24-.66.403-.918.508A1.75 1.75 0 002.75 5h-1A1.75 1.75 0 000 6.75v7.5C0 15.216.784 16 1.75 16h1a1.75 1.75 0 001.662-1.201c.525.075 1.067.229 1.725.415.152.043.31.088.475.133 1.154.32 2.54.653 4.388.653 1.706 0 2.97-.153 3.722-1.14.353-.463.537-1.042.668-1.672.118-.56.208-1.243.313-2.033l.04-.306c.25-1.869.265-3.318-.188-4.316a2.418 2.418 0 00-1.137-1.2C13.924 5.085 13.353 5 12.75 5h-1.422l.015-.113c.07-.518.157-1.17.157-1.637 0-.922-.151-1.719-.656-2.3-.51-.589-1.247-.797-2.01-.884zM4.5 13.3c.705.088 1.39.284 2.072.478l.441.125c1.096.305 2.334.598 3.987.598 1.794 0 2.28-.223 2.528-.549.147-.193.276-.505.394-1.07.105-.502.188-1.124.295-1.93l.04-.3c.25-1.882.189-2.933-.068-3.497a.922.922 0 00-.442-.48c-.208-.104-.52-.174-.997-.174H11c-.686 0-1.295-.577-1.206-1.336.023-.192.05-.39.076-.586.065-.488.13-.97.13-1.328 0-.809-.144-1.15-.288-1.316-.137-.158-.402-.304-1.048-.378C8.357 1.521 8 1.793 8 2.25v.5c0 1.922-.978 3.128-1.933 3.825a5.861 5.861 0 01-1.567.81V13.3zM2.75 6.5a.25.25 0 01.25.25v7.5a.25.25 0 01-.25.25h-1a.25.25 0 01-.25-.25v-7.5a.25.25 0 01.25-.25h1z\\\"></path>\" }, \"24\": { \"width\": 24, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M12.596 2.043c-1.301-.092-2.303.986-2.303 2.206v1.053c0 2.666-1.813 3.785-2.774 4.2a1.866 1.866 0 01-.523.131A1.75 1.75 0 005.25 8h-1.5A1.75 1.75 0 002 9.75v10.5c0 .967.784 1.75 1.75 1.75h1.5a1.75 1.75 0 001.742-1.58c.838.06 1.667.296 2.69.586l.602.17c1.464.406 3.213.824 5.544.824 2.188 0 3.693-.204 4.583-1.372.422-.554.65-1.255.816-2.05.148-.708.262-1.57.396-2.58l.051-.39c.319-2.386.328-4.18-.223-5.394-.293-.644-.743-1.125-1.355-1.431-.59-.296-1.284-.404-2.036-.404h-2.05l.056-.429c.025-.18.05-.372.076-.572.06-.483.117-1.006.117-1.438 0-1.245-.222-2.253-.92-2.941-.684-.675-1.668-.88-2.743-.956zM7 18.918c1.059.064 2.079.355 3.118.652l.568.16c1.406.39 3.006.77 5.142.77 2.277 0 3.004-.274 3.39-.781.216-.283.388-.718.54-1.448.136-.65.242-1.45.379-2.477l.05-.384c.32-2.4.253-3.795-.102-4.575-.16-.352-.375-.568-.66-.711-.305-.153-.74-.245-1.365-.245h-2.37c-.681 0-1.293-.57-1.211-1.328.026-.243.065-.537.105-.834l.07-.527c.06-.482.105-.921.105-1.25 0-1.125-.213-1.617-.473-1.873-.275-.27-.774-.455-1.795-.528-.351-.024-.698.274-.698.71v1.053c0 3.55-2.488 5.063-3.68 5.577-.372.16-.754.232-1.113.26v7.78zM3.75 20.5a.25.25 0 01-.25-.25V9.75a.25.25 0 01.25-.25h1.5a.25.25 0 01.25.25v10.5a.25.25 0 01-.25.25h-1.5z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nThumbsupIcon.defaultProps = {\n className: 'octicon octicon-thumbsup',\n size: 16,\n verticalAlign: 'text-bottom'\n};\n\nfunction ToolsIcon(props) {\n var svgDataByHeight = { \"16\": { \"width\": 16, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M5.433 2.304A4.494 4.494 0 003.5 6c0 1.598.832 3.002 2.09 3.802.518.328.929.923.902 1.64v.008l-.164 3.337a.75.75 0 11-1.498-.073l.163-3.33c.002-.085-.05-.216-.207-.316A5.996 5.996 0 012 6a5.994 5.994 0 012.567-4.92 1.482 1.482 0 011.673-.04c.462.296.76.827.76 1.423v2.82c0 .082.041.16.11.206l.75.51a.25.25 0 00.28 0l.75-.51A.25.25 0 009 5.282V2.463c0-.596.298-1.127.76-1.423a1.482 1.482 0 011.673.04A5.994 5.994 0 0114 6a5.996 5.996 0 01-2.786 5.068c-.157.1-.209.23-.207.315l.163 3.33a.75.75 0 11-1.498.074l-.164-3.345c-.027-.717.384-1.312.902-1.64A4.496 4.496 0 0012.5 6a4.494 4.494 0 00-1.933-3.696c-.024.017-.067.067-.067.16v2.818a1.75 1.75 0 01-.767 1.448l-.75.51a1.75 1.75 0 01-1.966 0l-.75-.51A1.75 1.75 0 015.5 5.282V2.463c0-.092-.043-.142-.067-.159zm.01-.005z\\\"></path>\" }, \"24\": { \"width\": 24, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M7.875 2.292a.125.125 0 00-.032.018A7.24 7.24 0 004.75 8.25a7.247 7.247 0 003.654 6.297c.57.327.982.955.941 1.682v.002l-.317 6.058a.75.75 0 11-1.498-.078l.317-6.062v-.004c.006-.09-.047-.215-.188-.296A8.747 8.747 0 013.25 8.25a8.74 8.74 0 013.732-7.169 1.547 1.547 0 011.709-.064c.484.292.809.835.809 1.46v4.714a.25.25 0 00.119.213l2.25 1.385c.08.05.182.05.262 0l2.25-1.385a.25.25 0 00.119-.213V2.478c0-.626.325-1.169.81-1.461a1.547 1.547 0 011.708.064 8.74 8.74 0 013.732 7.17 8.747 8.747 0 01-4.41 7.598c-.14.081-.193.206-.188.296v.004l.318 6.062a.75.75 0 11-1.498.078l-.317-6.058v-.002c-.041-.727.37-1.355.94-1.682A7.247 7.247 0 0019.25 8.25a7.24 7.24 0 00-3.093-5.94.125.125 0 00-.032-.018l-.01-.001c-.003 0-.014 0-.031.01-.036.022-.084.079-.084.177V7.19a1.75 1.75 0 01-.833 1.49l-2.25 1.385a1.75 1.75 0 01-1.834 0l-2.25-1.384A1.75 1.75 0 018 7.192V2.477c0-.098-.048-.155-.084-.176a.062.062 0 00-.031-.011l-.01.001z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nToolsIcon.defaultProps = {\n className: 'octicon octicon-tools',\n size: 16,\n verticalAlign: 'text-bottom'\n};\n\nfunction TrashIcon(props) {\n var svgDataByHeight = { \"16\": { \"width\": 16, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M6.5 1.75a.25.25 0 01.25-.25h2.5a.25.25 0 01.25.25V3h-3V1.75zm4.5 0V3h2.25a.75.75 0 010 1.5H2.75a.75.75 0 010-1.5H5V1.75C5 .784 5.784 0 6.75 0h2.5C10.216 0 11 .784 11 1.75zM4.496 6.675a.75.75 0 10-1.492.15l.66 6.6A1.75 1.75 0 005.405 15h5.19c.9 0 1.652-.681 1.741-1.576l.66-6.6a.75.75 0 00-1.492-.149l-.66 6.6a.25.25 0 01-.249.225h-5.19a.25.25 0 01-.249-.225l-.66-6.6z\\\"></path>\" }, \"24\": { \"width\": 24, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M16 1.75V3h5.25a.75.75 0 010 1.5H2.75a.75.75 0 010-1.5H8V1.75C8 .784 8.784 0 9.75 0h4.5C15.216 0 16 .784 16 1.75zm-6.5 0a.25.25 0 01.25-.25h4.5a.25.25 0 01.25.25V3h-5V1.75z\\\"></path><path d=\\\"M4.997 6.178a.75.75 0 10-1.493.144L4.916 20.92a1.75 1.75 0 001.742 1.58h10.684a1.75 1.75 0 001.742-1.581l1.413-14.597a.75.75 0 00-1.494-.144l-1.412 14.596a.25.25 0 01-.249.226H6.658a.25.25 0 01-.249-.226L4.997 6.178z\\\"></path><path d=\\\"M9.206 7.501a.75.75 0 01.793.705l.5 8.5A.75.75 0 119 16.794l-.5-8.5a.75.75 0 01.705-.793zm6.293.793A.75.75 0 1014 8.206l-.5 8.5a.75.75 0 001.498.088l.5-8.5z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nTrashIcon.defaultProps = {\n className: 'octicon octicon-trash',\n size: 16,\n verticalAlign: 'text-bottom'\n};\n\nfunction TriangleDownIcon(props) {\n var svgDataByHeight = { \"16\": { \"width\": 16, \"path\": \"<path d=\\\"M4.427 7.427l3.396 3.396a.25.25 0 00.354 0l3.396-3.396A.25.25 0 0011.396 7H4.604a.25.25 0 00-.177.427z\\\"></path>\" }, \"24\": { \"width\": 24, \"path\": \"<path d=\\\"M11.646 15.146L5.854 9.354a.5.5 0 01.353-.854h11.586a.5.5 0 01.353.854l-5.793 5.792a.5.5 0 01-.707 0z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nTriangleDownIcon.defaultProps = {\n className: 'octicon octicon-triangle-down',\n size: 16,\n verticalAlign: 'text-bottom'\n};\n\nfunction TriangleLeftIcon(props) {\n var svgDataByHeight = { \"16\": { \"width\": 16, \"path\": \"<path d=\\\"M9.573 4.427L6.177 7.823a.25.25 0 000 .354l3.396 3.396a.25.25 0 00.427-.177V4.604a.25.25 0 00-.427-.177z\\\"></path>\" }, \"24\": { \"width\": 24, \"path\": \"<path d=\\\"M8.854 11.646l5.792-5.792a.5.5 0 01.854.353v11.586a.5.5 0 01-.854.353l-5.792-5.792a.5.5 0 010-.708z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nTriangleLeftIcon.defaultProps = {\n className: 'octicon octicon-triangle-left',\n size: 16,\n verticalAlign: 'text-bottom'\n};\n\nfunction TriangleRightIcon(props) {\n var svgDataByHeight = { \"16\": { \"width\": 16, \"path\": \"<path d=\\\"M6.427 4.427l3.396 3.396a.25.25 0 010 .354l-3.396 3.396A.25.25 0 016 11.396V4.604a.25.25 0 01.427-.177z\\\"></path>\" }, \"24\": { \"width\": 24, \"path\": \"<path d=\\\"M15.146 12.354l-5.792 5.792a.5.5 0 01-.854-.353V6.207a.5.5 0 01.854-.353l5.792 5.792a.5.5 0 010 .708z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nTriangleRightIcon.defaultProps = {\n className: 'octicon octicon-triangle-right',\n size: 16,\n verticalAlign: 'text-bottom'\n};\n\nfunction TriangleUpIcon(props) {\n var svgDataByHeight = { \"16\": { \"width\": 16, \"path\": \"<path d=\\\"M4.427 9.573l3.396-3.396a.25.25 0 01.354 0l3.396 3.396a.25.25 0 01-.177.427H4.604a.25.25 0 01-.177-.427z\\\"></path>\" }, \"24\": { \"width\": 24, \"path\": \"<path d=\\\"M12.354 8.854l5.792 5.792a.5.5 0 01-.353.854H6.207a.5.5 0 01-.353-.854l5.792-5.792a.5.5 0 01.708 0z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nTriangleUpIcon.defaultProps = {\n className: 'octicon octicon-triangle-up',\n size: 16,\n verticalAlign: 'text-bottom'\n};\n\nfunction TypographyIcon(props) {\n var svgDataByHeight = { \"16\": { \"width\": 16, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M6.21 8.5L4.574 3.594 2.857 8.5H6.21zm.5 1.5l.829 2.487a.75.75 0 001.423-.474L5.735 2.332a1.216 1.216 0 00-2.302-.018l-3.39 9.688a.75.75 0 001.415.496L2.332 10H6.71zm3.13-4.358C10.53 4.374 11.87 4 13 4c1.5 0 3 .939 3 2.601v5.649a.75.75 0 01-1.448.275C13.995 12.82 13.3 13 12.5 13c-.77 0-1.514-.231-2.078-.709-.577-.488-.922-1.199-.922-2.041 0-.694.265-1.411.887-1.944C11 7.78 11.88 7.5 13 7.5h1.5v-.899c0-.54-.5-1.101-1.5-1.101-.869 0-1.528.282-1.84.858a.75.75 0 11-1.32-.716zM14.5 9H13c-.881 0-1.375.22-1.637.444-.253.217-.363.5-.363.806 0 .408.155.697.39.896.249.21.63.354 1.11.354.732 0 1.26-.209 1.588-.449.35-.257.412-.495.412-.551V9z\\\"></path>\" }, \"24\": { \"width\": 24, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M10.414 15l1.63 4.505a.75.75 0 001.411-.51l-5.08-14.03a1.463 1.463 0 00-2.75 0l-5.08 14.03a.75.75 0 101.41.51L3.586 15h6.828zm-.544-1.5L7 5.572 4.13 13.5h5.74zm5.076-3.598c.913-1.683 2.703-2.205 4.284-2.205 1.047 0 2.084.312 2.878.885.801.577 1.392 1.455 1.392 2.548v8.12a.75.75 0 01-1.5 0v-.06a3.123 3.123 0 01-.044.025c-.893.52-2.096.785-3.451.785-1.051 0-2.048-.315-2.795-.948-.76-.643-1.217-1.578-1.217-2.702 0-.919.349-1.861 1.168-2.563.81-.694 2-1.087 3.569-1.087H22v-1.57c0-.503-.263-.967-.769-1.332-.513-.37-1.235-.6-2.001-.6-1.319 0-2.429.43-2.966 1.42a.75.75 0 01-1.318-.716zM22 14.2h-2.77c-1.331 0-2.134.333-2.593.726a1.82 1.82 0 00-.644 1.424c0 .689.267 1.203.686 1.557.43.365 1.065.593 1.826.593 1.183 0 2.102-.235 2.697-.581.582-.34.798-.74.798-1.134V14.2z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nTypographyIcon.defaultProps = {\n className: 'octicon octicon-typography',\n size: 16,\n verticalAlign: 'text-bottom'\n};\n\nfunction UnfoldIcon(props) {\n var svgDataByHeight = { \"16\": { \"width\": 16, \"path\": \"<path d=\\\"M8.177.677l2.896 2.896a.25.25 0 01-.177.427H8.75v1.25a.75.75 0 01-1.5 0V4H5.104a.25.25 0 01-.177-.427L7.823.677a.25.25 0 01.354 0zM7.25 10.75a.75.75 0 011.5 0V12h2.146a.25.25 0 01.177.427l-2.896 2.896a.25.25 0 01-.354 0l-2.896-2.896A.25.25 0 015.104 12H7.25v-1.25zm-5-2a.75.75 0 000-1.5h-.5a.75.75 0 000 1.5h.5zM6 8a.75.75 0 01-.75.75h-.5a.75.75 0 010-1.5h.5A.75.75 0 016 8zm2.25.75a.75.75 0 000-1.5h-.5a.75.75 0 000 1.5h.5zM12 8a.75.75 0 01-.75.75h-.5a.75.75 0 010-1.5h.5A.75.75 0 0112 8zm2.25.75a.75.75 0 000-1.5h-.5a.75.75 0 000 1.5h.5z\\\"></path>\" }, \"24\": { \"width\": 24, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M12 23a.75.75 0 01-.53-.22l-3.25-3.25a.75.75 0 111.06-1.06L12 21.19l2.72-2.72a.75.75 0 111.06 1.06l-3.25 3.25A.75.75 0 0112 23z\\\"></path><path fill-rule=\\\"evenodd\\\" d=\\\"M12 22.25a.75.75 0 01-.75-.75v-5.75a.75.75 0 011.5 0v5.75a.75.75 0 01-.75.75zM10.75 12a.75.75 0 01.75-.75h1a.75.75 0 110 1.5h-1a.75.75 0 01-.75-.75zm-8 0a.75.75 0 01.75-.75h1a.75.75 0 010 1.5h-1a.75.75 0 01-.75-.75zm12 0a.75.75 0 01.75-.75h1a.75.75 0 010 1.5h-1a.75.75 0 01-.75-.75zm-8 0a.75.75 0 01.75-.75h1a.75.75 0 010 1.5h-1a.75.75 0 01-.75-.75zm12 0a.75.75 0 01.75-.75h1a.75.75 0 010 1.5h-1a.75.75 0 01-.75-.75zM11.47 1.22a.75.75 0 011.06 0l3.25 3.25a.75.75 0 01-1.06 1.06L12 2.81 9.28 5.53a.75.75 0 01-1.06-1.06l3.25-3.25z\\\"></path><path fill-rule=\\\"evenodd\\\" d=\\\"M12 1.5a.75.75 0 01.75.75v6a.75.75 0 01-1.5 0v-6A.75.75 0 0112 1.5z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nUnfoldIcon.defaultProps = {\n className: 'octicon octicon-unfold',\n size: 16,\n verticalAlign: 'text-bottom'\n};\n\nfunction UnlockIcon(props) {\n var svgDataByHeight = { \"16\": { \"width\": 16, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M5.5 4a2.5 2.5 0 014.607-1.346.75.75 0 101.264-.808A4 4 0 004 4v2h-.501A1.5 1.5 0 002 7.5v6A1.5 1.5 0 003.5 15h9a1.5 1.5 0 001.5-1.5v-6A1.5 1.5 0 0012.5 6h-7V4zm-.75 3.5H3.5v6h9v-6H4.75z\\\"></path>\" }, \"24\": { \"width\": 24, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M7.5 7.25C7.5 4.58 9.422 2.5 12 2.5c2.079 0 3.71 1.34 4.282 3.242a.75.75 0 101.436-.432C16.971 2.825 14.792 1 12 1 8.503 1 6 3.845 6 7.25V9h-.5A2.5 2.5 0 003 11.5v8A2.5 2.5 0 005.5 22h13a2.5 2.5 0 002.5-2.5v-8A2.5 2.5 0 0018.5 9h-11V7.25zm-3 4.25a1 1 0 011-1h13a1 1 0 011 1v8a1 1 0 01-1 1h-13a1 1 0 01-1-1v-8z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nUnlockIcon.defaultProps = {\n className: 'octicon octicon-unlock',\n size: 16,\n verticalAlign: 'text-bottom'\n};\n\nfunction UnmuteIcon(props) {\n var svgDataByHeight = { \"16\": { \"width\": 16, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M7.563 2.069A.75.75 0 018 2.75v10.5a.75.75 0 01-1.238.57L3.472 11H1.75A1.75 1.75 0 010 9.25v-2.5C0 5.784.784 5 1.75 5h1.723l3.289-2.82a.75.75 0 01.801-.111zM6.5 4.38L4.238 6.319a.75.75 0 01-.488.181h-2a.25.25 0 00-.25.25v2.5c0 .138.112.25.25.25h2a.75.75 0 01.488.18L6.5 11.62V4.38zm6.096-2.038a.75.75 0 011.06 0 8 8 0 010 11.314.75.75 0 01-1.06-1.06 6.5 6.5 0 000-9.193.75.75 0 010-1.06v-.001zm-1.06 2.121a.75.75 0 10-1.061 1.061 3.5 3.5 0 010 4.95.75.75 0 101.06 1.06 5 5 0 000-7.07l.001-.001z\\\"></path>\" }, \"24\": { \"width\": 24, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M11.553 3.064A.75.75 0 0112 3.75v16.5a.75.75 0 01-1.255.555L5.46 16H2.75A1.75 1.75 0 011 14.25v-4.5C1 8.784 1.784 8 2.75 8h2.71l5.285-4.805a.75.75 0 01.808-.13zM10.5 5.445l-4.245 3.86a.75.75 0 01-.505.195h-3a.25.25 0 00-.25.25v4.5c0 .138.112.25.25.25h3a.75.75 0 01.505.195l4.245 3.86V5.445z\\\"></path><path d=\\\"M18.718 4.222a.75.75 0 011.06 0c4.296 4.296 4.296 11.26 0 15.556a.75.75 0 01-1.06-1.06 9.5 9.5 0 000-13.436.75.75 0 010-1.06z\\\"></path><path d=\\\"M16.243 7.757a.75.75 0 10-1.061 1.061 4.5 4.5 0 010 6.364.75.75 0 001.06 1.06 6 6 0 000-8.485z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nUnmuteIcon.defaultProps = {\n className: 'octicon octicon-unmute',\n size: 16,\n verticalAlign: 'text-bottom'\n};\n\nfunction UnverifiedIcon(props) {\n var svgDataByHeight = { \"16\": { \"width\": 16, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M6.415.52a2.678 2.678 0 013.17 0l.928.68c.153.113.33.186.518.215l1.138.175a2.678 2.678 0 012.241 2.24l.175 1.138c.029.187.102.365.215.518l.68.928a2.678 2.678 0 010 3.17l-.68.928a1.179 1.179 0 00-.215.518l-.175 1.138a2.678 2.678 0 01-2.241 2.241l-1.138.175a1.179 1.179 0 00-.518.215l-.928.68a2.678 2.678 0 01-3.17 0l-.928-.68a1.179 1.179 0 00-.518-.215L3.83 14.41a2.678 2.678 0 01-2.24-2.24l-.175-1.138a1.179 1.179 0 00-.215-.518l-.68-.928a2.678 2.678 0 010-3.17l.68-.928a1.17 1.17 0 00.215-.518l.175-1.14a2.678 2.678 0 012.24-2.24l1.138-.175c.187-.029.365-.102.518-.215l.928-.68zm2.282 1.209a1.178 1.178 0 00-1.394 0l-.928.68a2.678 2.678 0 01-1.18.489l-1.136.174a1.178 1.178 0 00-.987.987l-.174 1.137a2.678 2.678 0 01-.489 1.18l-.68.927c-.305.415-.305.98 0 1.394l.68.928c.256.348.423.752.489 1.18l.174 1.136c.078.51.478.909.987.987l1.137.174c.427.066.831.233 1.18.489l.927.68c.415.305.98.305 1.394 0l.928-.68a2.678 2.678 0 011.18-.489l1.136-.174c.51-.078.909-.478.987-.987l.174-1.137c.066-.427.233-.831.489-1.18l.68-.927c.305-.415.305-.98 0-1.394l-.68-.928a2.678 2.678 0 01-.489-1.18l-.174-1.136a1.178 1.178 0 00-.987-.987l-1.137-.174a2.678 2.678 0 01-1.18-.489l-.927-.68zM9 11a1 1 0 11-2 0 1 1 0 012 0zM6.92 6.085c.081-.16.19-.299.34-.398.145-.097.371-.187.74-.187.28 0 .553.087.738.225A.613.613 0 019 6.25c0 .177-.04.264-.077.318a.956.956 0 01-.277.245c-.076.051-.158.1-.258.161l-.007.004c-.093.056-.204.122-.313.195a2.416 2.416 0 00-.692.661.75.75 0 001.248.832.956.956 0 01.276-.245 6.3 6.3 0 01.26-.16l.006-.004c.093-.057.204-.123.313-.195.222-.149.487-.355.692-.662.214-.32.329-.702.329-1.15 0-.76-.36-1.348-.862-1.725A2.76 2.76 0 008 4c-.631 0-1.154.16-1.572.438-.413.276-.68.638-.849.977a.75.75 0 001.342.67z\\\"></path>\" }, \"24\": { \"width\": 24, \"path\": \"<path d=\\\"M13 16.5a1 1 0 11-2 0 1 1 0 012 0zm-2.517-7.665c.112-.223.268-.424.488-.57C11.186 8.12 11.506 8 12 8c.384 0 .766.118 1.034.319a.953.953 0 01.403.806c0 .48-.218.81-.62 1.186a9.293 9.293 0 01-.409.354 19.8 19.8 0 00-.294.249c-.246.213-.524.474-.738.795l-.126.19V13.5a.75.75 0 001.5 0v-1.12c.09-.1.203-.208.347-.333.063-.055.14-.119.222-.187.166-.14.358-.3.52-.452.536-.5 1.098-1.2 1.098-2.283a2.45 2.45 0 00-1.003-2.006C13.37 6.695 12.658 6.5 12 6.5c-.756 0-1.373.191-1.861.517a2.944 2.944 0 00-.997 1.148.75.75 0 001.341.67z\\\"></path><path fill-rule=\\\"evenodd\\\" d=\\\"M9.864 1.2a3.61 3.61 0 014.272 0l1.375 1.01c.274.2.593.333.929.384l1.686.259a3.61 3.61 0 013.021 3.02l.259 1.687c.051.336.183.655.384.929l1.01 1.375a3.61 3.61 0 010 4.272l-1.01 1.375a2.11 2.11 0 00-.384.929l-.259 1.686a3.61 3.61 0 01-3.02 3.021l-1.687.259a2.11 2.11 0 00-.929.384l-1.375 1.01a3.61 3.61 0 01-4.272 0l-1.375-1.01a2.11 2.11 0 00-.929-.384l-1.686-.259a3.61 3.61 0 01-3.021-3.02l-.259-1.687a2.11 2.11 0 00-.384-.929L1.2 14.136a3.61 3.61 0 010-4.272l1.01-1.375a2.11 2.11 0 00.384-.929l.259-1.686a3.61 3.61 0 013.02-3.021l1.687-.259a2.11 2.11 0 00.929-.384L9.864 1.2zm3.384 1.209a2.11 2.11 0 00-2.496 0l-1.376 1.01a3.61 3.61 0 01-1.589.658l-1.686.258a2.11 2.11 0 00-1.766 1.766l-.258 1.686a3.61 3.61 0 01-.658 1.59l-1.01 1.375a2.11 2.11 0 000 2.496l1.01 1.376a3.61 3.61 0 01.658 1.589l.258 1.686a2.11 2.11 0 001.766 1.765l1.686.26a3.61 3.61 0 011.59.657l1.375 1.01a2.11 2.11 0 002.496 0l1.376-1.01a3.61 3.61 0 011.589-.658l1.686-.258a2.11 2.11 0 001.765-1.766l.26-1.686a3.61 3.61 0 01.657-1.59l1.01-1.375a2.11 2.11 0 000-2.496l-1.01-1.376a3.61 3.61 0 01-.658-1.589l-.258-1.686a2.11 2.11 0 00-1.766-1.766l-1.686-.258a3.61 3.61 0 01-1.59-.658l-1.375-1.01z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nUnverifiedIcon.defaultProps = {\n className: 'octicon octicon-unverified',\n size: 16,\n verticalAlign: 'text-bottom'\n};\n\nfunction UploadIcon(props) {\n var svgDataByHeight = { \"16\": { \"width\": 16, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M8.53 1.22a.75.75 0 00-1.06 0L3.72 4.97a.75.75 0 001.06 1.06l2.47-2.47v6.69a.75.75 0 001.5 0V3.56l2.47 2.47a.75.75 0 101.06-1.06L8.53 1.22zM3.75 13a.75.75 0 000 1.5h8.5a.75.75 0 000-1.5h-8.5z\\\"></path>\" }, \"24\": { \"width\": 24, \"path\": \"<path d=\\\"M4.97 12.97a.75.75 0 101.06 1.06L11 9.06v12.19a.75.75 0 001.5 0V9.06l4.97 4.97a.75.75 0 101.06-1.06l-6.25-6.25a.75.75 0 00-1.06 0l-6.25 6.25zM4.75 3.5a.75.75 0 010-1.5h14.5a.75.75 0 010 1.5H4.75z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nUploadIcon.defaultProps = {\n className: 'octicon octicon-upload',\n size: 16,\n verticalAlign: 'text-bottom'\n};\n\nfunction VerifiedIcon(props) {\n var svgDataByHeight = { \"16\": { \"width\": 16, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M9.585.52a2.678 2.678 0 00-3.17 0l-.928.68a1.178 1.178 0 01-.518.215L3.83 1.59a2.678 2.678 0 00-2.24 2.24l-.175 1.14a1.178 1.178 0 01-.215.518l-.68.928a2.678 2.678 0 000 3.17l.68.928c.113.153.186.33.215.518l.175 1.138a2.678 2.678 0 002.24 2.24l1.138.175c.187.029.365.102.518.215l.928.68a2.678 2.678 0 003.17 0l.928-.68a1.17 1.17 0 01.518-.215l1.138-.175a2.678 2.678 0 002.241-2.241l.175-1.138c.029-.187.102-.365.215-.518l.68-.928a2.678 2.678 0 000-3.17l-.68-.928a1.179 1.179 0 01-.215-.518L14.41 3.83a2.678 2.678 0 00-2.24-2.24l-1.138-.175a1.179 1.179 0 01-.518-.215L9.585.52zM7.303 1.728c.415-.305.98-.305 1.394 0l.928.68c.348.256.752.423 1.18.489l1.136.174c.51.078.909.478.987.987l.174 1.137c.066.427.233.831.489 1.18l.68.927c.305.415.305.98 0 1.394l-.68.928a2.678 2.678 0 00-.489 1.18l-.174 1.136a1.178 1.178 0 01-.987.987l-1.137.174a2.678 2.678 0 00-1.18.489l-.927.68c-.415.305-.98.305-1.394 0l-.928-.68a2.678 2.678 0 00-1.18-.489l-1.136-.174a1.178 1.178 0 01-.987-.987l-.174-1.137a2.678 2.678 0 00-.489-1.18l-.68-.927a1.178 1.178 0 010-1.394l.68-.928c.256-.348.423-.752.489-1.18l.174-1.136c.078-.51.478-.909.987-.987l1.137-.174a2.678 2.678 0 001.18-.489l.927-.68zM11.28 6.78a.75.75 0 00-1.06-1.06L7 8.94 5.78 7.72a.75.75 0 00-1.06 1.06l1.75 1.75a.75.75 0 001.06 0l3.75-3.75z\\\"></path>\" }, \"24\": { \"width\": 24, \"path\": \"<path d=\\\"M17.03 9.78a.75.75 0 00-1.06-1.06l-5.47 5.47-2.47-2.47a.75.75 0 00-1.06 1.06l3 3a.75.75 0 001.06 0l6-6z\\\"></path><path fill-rule=\\\"evenodd\\\" d=\\\"M14.136 1.2a3.61 3.61 0 00-4.272 0L8.489 2.21a2.11 2.11 0 01-.929.384l-1.686.259a3.61 3.61 0 00-3.021 3.02L2.594 7.56a2.11 2.11 0 01-.384.929L1.2 9.864a3.61 3.61 0 000 4.272l1.01 1.375c.2.274.333.593.384.929l.259 1.686a3.61 3.61 0 003.02 3.021l1.687.259c.336.051.655.183.929.384l1.375 1.01a3.61 3.61 0 004.272 0l1.375-1.01a2.11 2.11 0 01.929-.384l1.686-.259a3.61 3.61 0 003.021-3.02l.259-1.687a2.11 2.11 0 01.384-.929l1.01-1.375a3.61 3.61 0 000-4.272l-1.01-1.375a2.11 2.11 0 01-.384-.929l-.259-1.686a3.61 3.61 0 00-3.02-3.021l-1.687-.259a2.11 2.11 0 01-.929-.384L14.136 1.2zm-3.384 1.209a2.11 2.11 0 012.496 0l1.376 1.01a3.61 3.61 0 001.589.658l1.686.258a2.11 2.11 0 011.765 1.766l.26 1.686a3.61 3.61 0 00.657 1.59l1.01 1.375a2.11 2.11 0 010 2.496l-1.01 1.376a3.61 3.61 0 00-.658 1.589l-.258 1.686a2.11 2.11 0 01-1.766 1.765l-1.686.26a3.61 3.61 0 00-1.59.657l-1.375 1.01a2.11 2.11 0 01-2.496 0l-1.376-1.01a3.61 3.61 0 00-1.589-.658l-1.686-.258a2.11 2.11 0 01-1.766-1.766l-.258-1.686a3.61 3.61 0 00-.658-1.59l-1.01-1.375a2.11 2.11 0 010-2.496l1.01-1.376a3.61 3.61 0 00.658-1.589l.258-1.686a2.11 2.11 0 011.766-1.766l1.686-.258a3.61 3.61 0 001.59-.658l1.375-1.01z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nVerifiedIcon.defaultProps = {\n className: 'octicon octicon-verified',\n size: 16,\n verticalAlign: 'text-bottom'\n};\n\nfunction VersionsIcon(props) {\n var svgDataByHeight = { \"16\": { \"width\": 16, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M7.75 14A1.75 1.75 0 016 12.25v-8.5C6 2.784 6.784 2 7.75 2h6.5c.966 0 1.75.784 1.75 1.75v8.5A1.75 1.75 0 0114.25 14h-6.5zm-.25-1.75c0 .138.112.25.25.25h6.5a.25.25 0 00.25-.25v-8.5a.25.25 0 00-.25-.25h-6.5a.25.25 0 00-.25.25v8.5zM4.9 3.508a.75.75 0 01-.274 1.025.25.25 0 00-.126.217v6.5a.25.25 0 00.126.217.75.75 0 01-.752 1.298A1.75 1.75 0 013 11.25v-6.5c0-.649.353-1.214.874-1.516a.75.75 0 011.025.274zM1.625 5.533a.75.75 0 10-.752-1.299A1.75 1.75 0 000 5.75v4.5c0 .649.353 1.214.874 1.515a.75.75 0 10.752-1.298.25.25 0 01-.126-.217v-4.5a.25.25 0 01.126-.217z\\\"></path>\" }, \"24\": { \"width\": 24, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M10 22a2 2 0 01-2-2V4a2 2 0 012-2h11a2 2 0 012 2v16a2 2 0 01-2 2H10zm-.5-2a.5.5 0 00.5.5h11a.5.5 0 00.5-.5V4a.5.5 0 00-.5-.5H10a.5.5 0 00-.5.5v16zM6.17 4.165a.75.75 0 01-.335 1.006c-.228.114-.295.177-.315.201a.037.037 0 00-.008.016.387.387 0 00-.012.112v13c0 .07.008.102.012.112a.03.03 0 00.008.016c.02.024.087.087.315.201a.75.75 0 11-.67 1.342c-.272-.136-.58-.315-.81-.598C4.1 19.259 4 18.893 4 18.5v-13c0-.393.1-.759.355-1.073.23-.283.538-.462.81-.598a.75.75 0 011.006.336zM2.15 5.624a.75.75 0 01-.274 1.025c-.15.087-.257.17-.32.245C1.5 6.96 1.5 6.99 1.5 7v10c0 .01 0 .04.056.106.063.074.17.158.32.245a.75.75 0 11-.752 1.298C.73 18.421 0 17.907 0 17V7c0-.907.73-1.42 1.124-1.65a.75.75 0 011.025.274z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nVersionsIcon.defaultProps = {\n className: 'octicon octicon-versions',\n size: 16,\n verticalAlign: 'text-bottom'\n};\n\nfunction VideoIcon(props) {\n var svgDataByHeight = { \"16\": { \"width\": 16, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M1.75 3.5a.25.25 0 00-.25.25v8.5c0 .138.112.25.25.25h12.5a.25.25 0 00.25-.25v-8.5a.25.25 0 00-.25-.25H1.75zM0 3.75C0 2.784.784 2 1.75 2h12.5c.966 0 1.75.784 1.75 1.75v8.5A1.75 1.75 0 0114.25 14H1.75A1.75 1.75 0 010 12.25v-8.5z\\\"></path><path d=\\\"M6 10.559V5.442a.25.25 0 01.379-.215l4.264 2.559a.25.25 0 010 .428l-4.264 2.559A.25.25 0 016 10.559z\\\"></path>\" }, \"24\": { \"width\": 24, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M1.75 4.5a.25.25 0 00-.25.25v14.5c0 .138.112.25.25.25h20.5a.25.25 0 00.25-.25V4.75a.25.25 0 00-.25-.25H1.75zM0 4.75C0 3.784.784 3 1.75 3h20.5c.966 0 1.75.784 1.75 1.75v14.5A1.75 1.75 0 0122.25 21H1.75A1.75 1.75 0 010 19.25V4.75z\\\"></path><path d=\\\"M9 15.584V8.416a.5.5 0 01.77-.42l5.576 3.583a.5.5 0 010 .842L9.77 16.005a.5.5 0 01-.77-.42z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nVideoIcon.defaultProps = {\n className: 'octicon octicon-video',\n size: 16,\n verticalAlign: 'text-bottom'\n};\n\nfunction WorkflowIcon(props) {\n var svgDataByHeight = { \"16\": { \"width\": 16, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M0 1.75C0 .784.784 0 1.75 0h3.5C6.216 0 7 .784 7 1.75v3.5A1.75 1.75 0 015.25 7H4v4a1 1 0 001 1h4v-1.25C9 9.784 9.784 9 10.75 9h3.5c.966 0 1.75.784 1.75 1.75v3.5A1.75 1.75 0 0114.25 16h-3.5A1.75 1.75 0 019 14.25v-.75H5A2.5 2.5 0 012.5 11V7h-.75A1.75 1.75 0 010 5.25v-3.5zm1.75-.25a.25.25 0 00-.25.25v3.5c0 .138.112.25.25.25h3.5a.25.25 0 00.25-.25v-3.5a.25.25 0 00-.25-.25h-3.5zm9 9a.25.25 0 00-.25.25v3.5c0 .138.112.25.25.25h3.5a.25.25 0 00.25-.25v-3.5a.25.25 0 00-.25-.25h-3.5z\\\"></path>\" }, \"24\": { \"width\": 24, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M1 3a2 2 0 012-2h6.5a2 2 0 012 2v6.5a2 2 0 01-2 2H7v4.063C7 16.355 7.644 17 8.438 17H12.5v-2.5a2 2 0 012-2H21a2 2 0 012 2V21a2 2 0 01-2 2h-6.5a2 2 0 01-2-2v-2.5H8.437A2.938 2.938 0 015.5 15.562V11.5H3a2 2 0 01-2-2V3zm2-.5a.5.5 0 00-.5.5v6.5a.5.5 0 00.5.5h6.5a.5.5 0 00.5-.5V3a.5.5 0 00-.5-.5H3zM14.5 14a.5.5 0 00-.5.5V21a.5.5 0 00.5.5H21a.5.5 0 00.5-.5v-6.5a.5.5 0 00-.5-.5h-6.5z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nWorkflowIcon.defaultProps = {\n className: 'octicon octicon-workflow',\n size: 16,\n verticalAlign: 'text-bottom'\n};\n\nfunction XIcon(props) {\n var svgDataByHeight = { \"16\": { \"width\": 16, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M3.72 3.72a.75.75 0 011.06 0L8 6.94l3.22-3.22a.75.75 0 111.06 1.06L9.06 8l3.22 3.22a.75.75 0 11-1.06 1.06L8 9.06l-3.22 3.22a.75.75 0 01-1.06-1.06L6.94 8 3.72 4.78a.75.75 0 010-1.06z\\\"></path>\" }, \"24\": { \"width\": 24, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M5.72 5.72a.75.75 0 011.06 0L12 10.94l5.22-5.22a.75.75 0 111.06 1.06L13.06 12l5.22 5.22a.75.75 0 11-1.06 1.06L12 13.06l-5.22 5.22a.75.75 0 01-1.06-1.06L10.94 12 5.72 6.78a.75.75 0 010-1.06z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nXIcon.defaultProps = {\n className: 'octicon octicon-x',\n size: 16,\n verticalAlign: 'text-bottom'\n};\n\nfunction XCircleIcon(props) {\n var svgDataByHeight = { \"16\": { \"width\": 16, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M3.404 12.596a6.5 6.5 0 119.192-9.192 6.5 6.5 0 01-9.192 9.192zM2.344 2.343a8 8 0 1011.313 11.314A8 8 0 002.343 2.343zM6.03 4.97a.75.75 0 00-1.06 1.06L6.94 8 4.97 9.97a.75.75 0 101.06 1.06L8 9.06l1.97 1.97a.75.75 0 101.06-1.06L9.06 8l1.97-1.97a.75.75 0 10-1.06-1.06L8 6.94 6.03 4.97z\\\"></path>\" }, \"24\": { \"width\": 24, \"path\": \"<path d=\\\"M9.036 7.976a.75.75 0 00-1.06 1.06L10.939 12l-2.963 2.963a.75.75 0 101.06 1.06L12 13.06l2.963 2.964a.75.75 0 001.061-1.06L13.061 12l2.963-2.964a.75.75 0 10-1.06-1.06L12 10.939 9.036 7.976z\\\"></path><path fill-rule=\\\"evenodd\\\" d=\\\"M12 1C5.925 1 1 5.925 1 12s4.925 11 11 11 11-4.925 11-11S18.075 1 12 1zM2.5 12a9.5 9.5 0 1119 0 9.5 9.5 0 01-19 0z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nXCircleIcon.defaultProps = {\n className: 'octicon octicon-x-circle',\n size: 16,\n verticalAlign: 'text-bottom'\n};\n\nfunction XCircleFillIcon(props) {\n var svgDataByHeight = { \"16\": { \"width\": 16, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M2.343 13.657A8 8 0 1113.657 2.343 8 8 0 012.343 13.657zM6.03 4.97a.75.75 0 00-1.06 1.06L6.94 8 4.97 9.97a.75.75 0 101.06 1.06L8 9.06l1.97 1.97a.75.75 0 101.06-1.06L9.06 8l1.97-1.97a.75.75 0 10-1.06-1.06L8 6.94 6.03 4.97z\\\"></path>\" }, \"24\": { \"width\": 24, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M1 12C1 5.925 5.925 1 12 1s11 4.925 11 11-4.925 11-11 11S1 18.075 1 12zm8.036-4.024a.75.75 0 00-1.06 1.06L10.939 12l-2.963 2.963a.75.75 0 101.06 1.06L12 13.06l2.963 2.964a.75.75 0 001.061-1.06L13.061 12l2.963-2.964a.75.75 0 10-1.06-1.06L12 10.939 9.036 7.976z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nXCircleFillIcon.defaultProps = {\n className: 'octicon octicon-x-circle-fill',\n size: 16,\n verticalAlign: 'text-bottom'\n};\n\nfunction ZapIcon(props) {\n var svgDataByHeight = { \"16\": { \"width\": 16, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M10.561 1.5a.016.016 0 00-.01.004L3.286 8.571A.25.25 0 003.462 9H6.75a.75.75 0 01.694 1.034l-1.713 4.188 6.982-6.793A.25.25 0 0012.538 7H9.25a.75.75 0 01-.683-1.06l2.008-4.418.003-.006a.02.02 0 00-.004-.009.02.02 0 00-.006-.006L10.56 1.5zM9.504.43a1.516 1.516 0 012.437 1.713L10.415 5.5h2.123c1.57 0 2.346 1.909 1.22 3.004l-7.34 7.142a1.25 1.25 0 01-.871.354h-.302a1.25 1.25 0 01-1.157-1.723L5.633 10.5H3.462c-1.57 0-2.346-1.909-1.22-3.004L9.503.429z\\\"></path>\" }, \"24\": { \"width\": 24, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M16.168 2.924L4.51 13.061a.25.25 0 00.164.439h5.45a.75.75 0 01.692 1.041l-2.559 6.066 11.215-9.668a.25.25 0 00-.164-.439H14a.75.75 0 01-.687-1.05l2.855-6.526zm-.452-1.595a1.341 1.341 0 012.109 1.55L15.147 9h4.161c1.623 0 2.372 2.016 1.143 3.075L8.102 22.721a1.149 1.149 0 01-1.81-1.317L8.996 15H4.674c-1.619 0-2.37-2.008-1.148-3.07l12.19-10.6z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nZapIcon.defaultProps = {\n className: 'octicon octicon-zap',\n size: 16,\n verticalAlign: 'text-bottom'\n};\n\nfunction _objectWithoutProperties(obj, keys) { var target = {}; for (var i in obj) { if (keys.indexOf(i) >= 0) continue; if (!Object.prototype.hasOwnProperty.call(obj, i)) continue; target[i] = obj[i]; } return target; }\n\nfunction Octicon(_ref) {\n var Icon = _ref.icon,\n children = _ref.children,\n props = _objectWithoutProperties(_ref, ['icon', 'children']);\n\n // eslint-disable-next-line no-console\n console.warn(\n // eslint-disable-next-line github/unescaped-html-literal\n '<Octicon> is deprecated. Use icon components on their own instead (e.g. <Octicon icon={AlertIcon} /> → <AlertIcon />)');\n return typeof Icon === 'function' ? React.createElement(Icon, props) : React.cloneElement(React.Children.only(children), props);\n}\n\nexport default Octicon;\nexport { AlertIcon, ArchiveIcon, ArrowBothIcon, ArrowDownIcon, ArrowDownLeftIcon, ArrowDownRightIcon, ArrowLeftIcon, ArrowRightIcon, ArrowSwitchIcon, ArrowUpIcon, ArrowUpLeftIcon, ArrowUpRightIcon, BeakerIcon, BellIcon, BellFillIcon, BellSlashIcon, BlockedIcon, BoldIcon, BookIcon, BookmarkIcon, BookmarkFillIcon, BookmarkSlashIcon, BookmarkSlashFillIcon, BriefcaseIcon, BroadcastIcon, BrowserIcon, BugIcon, CalendarIcon, CheckIcon, CheckCircleIcon, CheckCircleFillIcon, ChecklistIcon, ChevronDownIcon, ChevronLeftIcon, ChevronRightIcon, ChevronUpIcon, CircleIcon, CircleSlashIcon, ClippyIcon, ClockIcon, CodeIcon, CodeReviewIcon, CodeSquareIcon, CodescanIcon, CodescanCheckmarkIcon, CodespacesIcon, CommentIcon, CommentDiscussionIcon, CommitIcon, ContainerIcon, CpuIcon, CreditCardIcon, CrossReferenceIcon, DashIcon, DatabaseIcon, DependabotIcon, DesktopDownloadIcon, DeviceCameraIcon, DeviceCameraVideoIcon, DeviceDesktopIcon, DeviceMobileIcon, DiffIcon, DiffAddedIcon, DiffIgnoredIcon, DiffModifiedIcon, DiffRemovedIcon, DiffRenamedIcon, DotIcon, DotFillIcon, DownloadIcon, DuplicateIcon, EllipsisIcon, EyeIcon, EyeClosedIcon, FileIcon, FileBadgeIcon, FileBinaryIcon, FileCodeIcon, FileDiffIcon, FileDirectoryIcon, FileDirectoryFillIcon, FileMediaIcon, FileSubmoduleIcon, FileSymlinkFileIcon, FileZipIcon, FilterIcon, FlameIcon, FoldIcon, FoldDownIcon, FoldUpIcon, GearIcon, GiftIcon, GitBranchIcon, GitCommitIcon, GitCompareIcon, GitForkIcon, GitMergeIcon, GitPullRequestIcon, GlobeIcon, GrabberIcon, GraphIcon, HeadingIcon, HeartIcon, HeartFillIcon, HistoryIcon, HomeIcon, HomeFillIcon, HorizontalRuleIcon, HourglassIcon, HubotIcon, ImageIcon, InboxIcon, InfinityIcon, InfoIcon, IssueClosedIcon, IssueOpenedIcon, IssueReopenedIcon, ItalicIcon, KebabHorizontalIcon, KeyIcon, LawIcon, LightBulbIcon, LinkIcon, LinkExternalIcon, ListOrderedIcon, ListUnorderedIcon, LocationIcon, LockIcon, LogoGistIcon, LogoGithubIcon, MailIcon, MarkGithubIcon, MarkdownIcon, MegaphoneIcon, MentionIcon, MeterIcon, MilestoneIcon, MirrorIcon, MoonIcon, MortarBoardIcon, MultiSelectIcon, MuteIcon, NoEntryIcon, NorthStarIcon, NoteIcon, NumberIcon, OctofaceIcon, OrganizationIcon, PackageIcon, PackageDependenciesIcon, PackageDependentsIcon, PaintbrushIcon, PaperAirplaneIcon, PencilIcon, PeopleIcon, PersonIcon, PersonAddIcon, PinIcon, PlayIcon, PlugIcon, PlusIcon, PlusCircleIcon, ProjectIcon, PulseIcon, QuestionIcon, QuoteIcon, ReplyIcon, RepoIcon, RepoCloneIcon, RepoForkedIcon, RepoPullIcon, RepoPushIcon, RepoTemplateIcon, ReportIcon, RocketIcon, RssIcon, RubyIcon, ScreenFullIcon, ScreenNormalIcon, SearchIcon, ServerIcon, ShareIcon, ShareAndroidIcon, ShieldIcon, ShieldCheckIcon, ShieldLockIcon, ShieldXIcon, SidebarCollapseIcon, SidebarExpandIcon, SignInIcon, SignOutIcon, SkipIcon, SmileyIcon, SquareIcon, SquareFillIcon, SquirrelIcon, StarIcon, StarFillIcon, StopIcon, StopwatchIcon, StrikethroughIcon, SunIcon, SyncIcon, TabIcon, TableIcon, TagIcon, TasklistIcon, TelescopeIcon, TerminalIcon, ThreeBarsIcon, ThumbsdownIcon, ThumbsupIcon, ToolsIcon, TrashIcon, TriangleDownIcon, TriangleLeftIcon, TriangleRightIcon, TriangleUpIcon, TypographyIcon, UnfoldIcon, UnlockIcon, UnmuteIcon, UnverifiedIcon, UploadIcon, VerifiedIcon, VersionsIcon, VideoIcon, WorkflowIcon, XIcon, XCircleIcon, XCircleFillIcon, ZapIcon };\n","import {XIcon} from '@primer/octicons-react'\nimport React, {forwardRef} from 'react'\nimport styled from 'styled-components'\nimport {COMMON, get, LAYOUT, SystemCommonProps, SystemLayoutProps} from '../constants'\nimport sx, {SxProp} from '../sx'\nimport {ComponentProps} from '../utils/types'\n\ntype StyledButtonProps = SystemCommonProps & SystemLayoutProps & SxProp\n\nconst StyledButton = styled.button<StyledButtonProps>`\n border: none;\n padding: 0;\n background: transparent;\n outline: none;\n cursor: pointer;\n border-radius: ${get('radii.2')};\n color: ${get('colors.text.secondary')};\n\n &:focus {\n box-shadow: ${get('shadows.btn.focusShadow')};\n }\n\n &:hover {\n color: ${get('colors.text.link')};\n }\n ${COMMON};\n ${LAYOUT};\n ${sx};\n`\n\nconst ButtonClose = forwardRef<HTMLButtonElement, ComponentProps<typeof StyledButton>>((props, ref) => {\n return (\n <StyledButton ref={ref} aria-label=\"Close\" {...props}>\n <XIcon />\n </StyledButton>\n )\n})\n\nexport type ButtonCloseProps = ComponentProps<typeof ButtonClose>\nexport default ButtonClose\n","export type AnchorAlignment = 'start' | 'center' | 'end'\n\n// When prettier supports template literal types...\n// export type AnchorSide = `${'inside' | 'outside'}-${'top' | 'bottom' | 'right' | 'left'}` | 'inside-center'\nexport type AnchorSide =\n | 'inside-top'\n | 'inside-bottom'\n | 'inside-left'\n | 'inside-right'\n | 'inside-center'\n | 'outside-top'\n | 'outside-bottom'\n | 'outside-left'\n | 'outside-right'\n\n/**\n * Settings that customize how a floating element is positioned\n * with respect to an anchor element.\n */\nexport interface PositionSettings {\n /**\n * Sets the side of the anchor element that the floating element should be\n * pinned to. This side is given by a string starting with either \"inside\" or\n * \"outside\", followed by a hyphen, followed by either \"top\", \"right\", \"bottom\",\n * or \"left\". Additionally, \"inside-center\" is an allowed value.\n *\n * The first part of this string, \"inside\" or \"outside\", determines whether the\n * floating element should be attempted to be placed \"inside\" the anchor element\n * or \"outside\" of it. Using \"inside\" is useful for making it appear that the\n * anchor _contains_ the floating element, and it can be used for implementing a\n * dialog that is centered on the screen. The \"outside\" value is more common and\n * can be used for tooltips, popovers, menus, etc.\n *\n * The second part of this string determines the _edge_ on the anchor element that\n * the floating element will be anchored to. If side is \"inside-center\", then\n * the floating element will be centered in the X-direction (while align is used\n * to position it in the Y-direction).\n * Note: \"outside-center\" is _not_ a valid value for this property.\n */\n side: AnchorSide\n\n /**\n * Determines how the floating element should align with the anchor element. If\n * set to \"start\", the floating element's first edge (top or left) will align\n * with the anchor element's first edge. If set to \"center\", the floating\n * element will be centered along the axis of the anchor edge. If set to \"end\",\n * the floating element's last edge will align with the anchor element's last edge.\n */\n align: AnchorAlignment\n\n /**\n * The number of pixels between the anchor edge and the floating element.\n *\n * Positive values move the floating element farther from the anchor element\n * (for outside positioning) or further inside the anchor element (for inside\n * positioning). Negative values have the opposite effect.\n */\n anchorOffset: number\n\n /**\n * An additional offset, in pixels, to move the floating element from\n * the aligning edge.\n *\n * Positive values move the floating element in the direction of center-\n * alignment. Negative values move the floating element away from center-\n * alignment. When align is \"center\", positive offsets move the floating\n * element right (top or bottom anchor side) or down (left or right\n * anchor side).\n */\n alignmentOffset: number\n\n /**\n * If false, when the above settings result in rendering the floating element\n * wholly or partially outside of the bounds of the containing element, attempt\n * to adjust the settings to prevent this. Only applies to \"outside\" positioning.\n *\n * First, attempt to flip to the opposite edge of the anchor if the floating\n * element is getting clipped in that direction. If flipping results in a\n * similar clipping, try moving to the adjacent sides.\n *\n * Once we find a side that does not clip the overlay in its own dimension,\n * check the rest of the sides to see if we need to adjust the alignment offset\n * to fit in other dimensions.\n *\n * If we try all four sides and get clipped each time, settle for overflowing\n * and use the \"bottom\" side, since the ability to scroll is most likely in\n * this direction.\n */\n allowOutOfBounds: boolean\n}\n\n// For each outside anchor position, list the order of alternate positions to try in\n// the event that the original position overflows. See comment on `allowOutOfBounds`\n// for a more detailed description.\nconst alternateOrders: Partial<Record<AnchorSide, [AnchorSide, AnchorSide, AnchorSide, AnchorSide]>> = {\n 'outside-top': ['outside-bottom', 'outside-right', 'outside-left', 'outside-bottom'],\n 'outside-bottom': ['outside-top', 'outside-right', 'outside-left', 'outside-bottom'],\n 'outside-left': ['outside-right', 'outside-bottom', 'outside-top', 'outside-bottom'],\n 'outside-right': ['outside-left', 'outside-bottom', 'outside-top', 'outside-bottom']\n}\n\ninterface Size {\n width: number\n height: number\n}\n\ninterface Position {\n top: number\n left: number\n}\n\nexport interface AnchorPosition {\n top: number\n left: number\n anchorSide: AnchorSide\n}\n\ninterface BoxPosition extends Size, Position {}\n\n/**\n * Given a floating element and an anchor element, return coordinates for the top-left\n * of the floating element in order to absolutely position it such that it appears\n * near the anchor element.\n *\n * @param floatingElement Element intended to be positioned near or within an anchor\n * @param anchorElement The element to serve as the position anchor\n * @param settings Settings to determine the rules for positioning the floating element\n * @returns {top: number, left: number} coordinates for the floating element\n */\nexport function getAnchoredPosition(\n floatingElement: Element,\n anchorElement: Element | DOMRect,\n settings: Partial<PositionSettings> = {}\n): AnchorPosition {\n const parentElement = getPositionedParent(floatingElement)\n const clippingRect = getClippingRect(parentElement)\n\n const parentElementStyle = getComputedStyle(parentElement)\n const parentElementRect = parentElement.getBoundingClientRect()\n const [borderTop, borderLeft] = [parentElementStyle.borderTopWidth, parentElementStyle.borderLeftWidth].map(\n v => parseInt(v, 10) || 0\n )\n const relativeRect = {\n top: parentElementRect.top + borderTop,\n left: parentElementRect.left + borderLeft\n }\n\n return pureCalculateAnchoredPosition(\n clippingRect,\n relativeRect,\n floatingElement.getBoundingClientRect(),\n anchorElement instanceof Element ? anchorElement.getBoundingClientRect() : anchorElement,\n getDefaultSettings(settings)\n )\n}\n\n/**\n * Returns the nearest proper HTMLElement parent of `element` whose\n * position is not \"static\", or document.body, whichever is closer\n */\nfunction getPositionedParent(element: Element) {\n let parentNode = element.parentNode\n while (parentNode !== null) {\n if (parentNode instanceof HTMLElement && getComputedStyle(parentNode).position !== 'static') {\n return parentNode\n }\n parentNode = parentNode.parentNode\n }\n return document.body\n}\n\n/**\n * Returns the rectangle (relative to the window) that will clip the given element\n * if it is rendered outside of its bounds.\n * @param element\n * @returns\n */\nfunction getClippingRect(element: Element): BoxPosition {\n let parentNode: typeof element.parentNode = element\n while (parentNode !== null) {\n if (parentNode === document.body) {\n break\n }\n const parentNodeStyle = getComputedStyle(parentNode as Element)\n if (parentNodeStyle.overflow !== 'visible') {\n break\n }\n parentNode = parentNode.parentNode\n }\n const clippingNode = parentNode === document.body || !(parentNode instanceof HTMLElement) ? document.body : parentNode\n\n const elemRect = clippingNode.getBoundingClientRect()\n const elemStyle = getComputedStyle(clippingNode)\n\n const [borderTop, borderLeft, borderRight, borderBottom] = [\n elemStyle.borderTopWidth,\n elemStyle.borderLeftWidth,\n elemStyle.borderRightWidth,\n elemStyle.borderBottomWidth\n ].map(v => parseInt(v, 10) || 0)\n\n return {\n top: elemRect.top + borderTop,\n left: elemRect.left + borderLeft,\n width: elemRect.width - borderRight - borderLeft,\n\n // If the clipping node is document.body, it can expand to the full height of the window\n height: Math.max(\n elemRect.height - borderTop - borderBottom,\n clippingNode === document.body ? window.innerHeight : -Infinity\n )\n }\n}\n\n// Default settings to position a floating element\nconst positionDefaults: PositionSettings = {\n side: 'outside-bottom',\n align: 'start',\n\n // note: the following default is not applied if side === \"inside-center\"\n anchorOffset: 4,\n\n // note: the following default is only applied if side starts with \"inside\"\n // and align is not center\n alignmentOffset: 4,\n\n allowOutOfBounds: false\n}\n\n/**\n * Compute a full PositionSettings object from the given partial PositionSettings object\n * by filling in with defaults where applicable.\n * @param settings Partial settings - any omissions will be defaulted\n */\nfunction getDefaultSettings(settings: Partial<PositionSettings> = {}): PositionSettings {\n const side = settings.side ?? positionDefaults.side\n const align = settings.align ?? positionDefaults.align\n return {\n side,\n align,\n // offsets always default to 0 if their respective side/alignment is centered\n anchorOffset: settings.anchorOffset ?? (side === 'inside-center' ? 0 : positionDefaults.anchorOffset),\n alignmentOffset:\n settings.alignmentOffset ??\n (align !== 'center' && side.startsWith('inside') ? positionDefaults.alignmentOffset : 0),\n allowOutOfBounds: settings.allowOutOfBounds ?? positionDefaults.allowOutOfBounds\n }\n}\n\n/**\n * Note: This is a pure function with no dependency on DOM APIs.\n * @see getAnchoredPosition\n * @see getDefaultSettings\n * @param viewportRect BoxPosition for the rectangle that will clip the floating element if it is\n * rendered outside of the boundsof the rectangle.\n * @param relativePosition Position for the closest positioned proper parent of the floating element\n * @param floatingRect WidthAndHeight for the floating element\n * @param anchorRect BoxPosition for the anchor element\n * @param PositionSettings to customize the calculated position for the floating element.\n */\nfunction pureCalculateAnchoredPosition(\n viewportRect: BoxPosition,\n relativePosition: Position,\n floatingRect: Size,\n anchorRect: BoxPosition,\n {side, align, allowOutOfBounds, anchorOffset, alignmentOffset}: PositionSettings\n): AnchorPosition {\n // Compute the relative viewport rect, to bring it into the same coordinate space as `pos`\n const relativeViewportRect: BoxPosition = {\n top: viewportRect.top - relativePosition.top,\n left: viewportRect.left - relativePosition.left,\n width: viewportRect.width,\n height: viewportRect.height\n }\n\n let pos = calculatePosition(floatingRect, anchorRect, side, align, anchorOffset, alignmentOffset)\n let anchorSide = side\n pos.top -= relativePosition.top\n pos.left -= relativePosition.left\n\n // Handle screen overflow\n if (!allowOutOfBounds) {\n const alternateOrder = alternateOrders[side]\n let positionAttempt = 0\n if (alternateOrder) {\n let prevSide = side\n\n // Try all the alternate sides until one does not overflow\n while (\n positionAttempt < alternateOrder.length &&\n shouldRecalculatePosition(prevSide, pos, relativeViewportRect, floatingRect)\n ) {\n const nextSide = alternateOrder[positionAttempt++]\n prevSide = nextSide\n\n // If we have cut off in the same dimension as the \"side\" option, try flipping to the opposite side.\n pos = calculatePosition(floatingRect, anchorRect, nextSide, align, anchorOffset, alignmentOffset)\n pos.top -= relativePosition.top\n pos.left -= relativePosition.left\n anchorSide = nextSide\n }\n }\n // At this point we've flipped the position if applicable. Now just nudge until it's on-screen.\n if (pos.top < relativeViewportRect.top) {\n pos.top = relativeViewportRect.top\n }\n if (pos.left < relativeViewportRect.left) {\n pos.left = relativeViewportRect.left\n }\n if (pos.left + floatingRect.width > viewportRect.width + relativeViewportRect.left) {\n pos.left = viewportRect.width + relativeViewportRect.left - floatingRect.width\n }\n // If we have exhausted all possible positions and none of them worked, we\n // say that overflowing the bottom of the screen is acceptable since it is\n // likely to be able to scroll.\n if (alternateOrder && positionAttempt < alternateOrder.length) {\n if (pos.top + floatingRect.height > viewportRect.height + relativeViewportRect.top) {\n pos.top = viewportRect.height + relativeViewportRect.top - floatingRect.height\n }\n }\n }\n\n return {...pos, anchorSide}\n}\n\n/**\n * Given a floating element and an anchor element, return coordinates for the\n * top-left of the floating element in order to absolutely position it such\n * that it appears near the anchor element.\n *\n * @param elementDimensions Dimensions of the floating element\n * @param anchorPosition Position of the anchor element\n * @param side Side of the anchor to position the floating element\n * @param align How to align the floating element with the anchor element\n * @param anchorOffset Absolute pixel offset for anchor positioning\n * @param alignmentOffset Absolute pixel offset for alignment\n * @returns {top: number, left: number} coordinates for the floating element\n */\nfunction calculatePosition(\n elementDimensions: Size,\n anchorPosition: BoxPosition,\n side: AnchorSide,\n align: AnchorAlignment,\n anchorOffset: number,\n alignmentOffset: number\n) {\n const anchorRight = anchorPosition.left + anchorPosition.width\n const anchorBottom = anchorPosition.top + anchorPosition.height\n let top = -1\n let left = -1\n if (side === 'outside-top') {\n top = anchorPosition.top - anchorOffset - elementDimensions.height\n } else if (side === 'outside-bottom') {\n top = anchorBottom + anchorOffset\n } else if (side === 'outside-left') {\n left = anchorPosition.left - anchorOffset - elementDimensions.width\n } else if (side === 'outside-right') {\n left = anchorRight + anchorOffset\n }\n\n if (side === 'outside-top' || side === 'outside-bottom') {\n if (align === 'start') {\n left = anchorPosition.left + alignmentOffset\n } else if (align === 'center') {\n left = anchorPosition.left - (elementDimensions.width - anchorPosition.width) / 2 + alignmentOffset\n } else {\n // end\n left = anchorRight - elementDimensions.width - alignmentOffset\n }\n }\n\n if (side === 'outside-left' || side === 'outside-right') {\n if (align === 'start') {\n top = anchorPosition.top + alignmentOffset\n } else if (align === 'center') {\n top = anchorPosition.top - (elementDimensions.height - anchorPosition.height) / 2 + alignmentOffset\n } else {\n // end\n top = anchorBottom - elementDimensions.height - alignmentOffset\n }\n }\n\n if (side === 'inside-top') {\n top = anchorPosition.top + anchorOffset\n } else if (side === 'inside-bottom') {\n top = anchorBottom - anchorOffset - elementDimensions.height\n } else if (side === 'inside-left') {\n left = anchorPosition.left + anchorOffset\n } else if (side === 'inside-right') {\n left = anchorRight - anchorOffset - elementDimensions.width\n } else if (side === 'inside-center') {\n left = (anchorRight + anchorPosition.left) / 2 - elementDimensions.width / 2 + anchorOffset\n }\n\n if (side === 'inside-top' || side === 'inside-bottom') {\n if (align === 'start') {\n left = anchorPosition.left + alignmentOffset\n } else if (align === 'center') {\n left = anchorPosition.left - (elementDimensions.width - anchorPosition.width) / 2 + alignmentOffset\n } else {\n // end\n left = anchorRight - elementDimensions.width - alignmentOffset\n }\n } else if (side === 'inside-left' || side === 'inside-right' || side === 'inside-center') {\n if (align === 'start') {\n top = anchorPosition.top + alignmentOffset\n } else if (align === 'center') {\n top = anchorPosition.top - (elementDimensions.height - anchorPosition.height) / 2 + alignmentOffset\n } else {\n // end\n top = anchorBottom - elementDimensions.height - alignmentOffset\n }\n }\n\n return {top, left}\n}\n\n/**\n * Determines if there is an overflow\n * @param side\n * @param currentPos\n * @param containerDimensions\n * @param elementDimensions\n */\nfunction shouldRecalculatePosition(\n side: AnchorSide,\n currentPos: Position,\n containerDimensions: BoxPosition,\n elementDimensions: Size\n) {\n if (side === 'outside-top' || side === 'outside-bottom') {\n return (\n currentPos.top < containerDimensions.top ||\n currentPos.top + elementDimensions.height > containerDimensions.height + containerDimensions.top\n )\n } else {\n return (\n currentPos.left < containerDimensions.left ||\n currentPos.left + elementDimensions.width > containerDimensions.width + containerDimensions.left\n )\n }\n}\n","import React from 'react'\nimport {PositionSettings, getAnchoredPosition, AnchorPosition} from '../behaviors/anchoredPosition'\nimport {useProvidedRefOrCreate} from './useProvidedRefOrCreate'\nimport {useResizeObserver} from './useResizeObserver'\n\nexport interface AnchoredPositionHookSettings extends Partial<PositionSettings> {\n floatingElementRef?: React.RefObject<Element>\n anchorElementRef?: React.RefObject<Element>\n}\n\n/**\n * Calculates the top and left values for an absolutely-positioned floating element\n * to be anchored to some anchor element. Returns refs for the floating element\n * and the anchor element, along with the position.\n * @param settings Settings for calculating the anchored position.\n * @param dependencies Dependencies to determine when to re-calculate the position.\n * @returns An object of {top: number, left: number} to absolutely-position the\n * floating element.\n */\nexport function useAnchoredPosition(\n settings?: AnchoredPositionHookSettings,\n dependencies: React.DependencyList = []\n): {\n floatingElementRef: React.RefObject<Element>\n anchorElementRef: React.RefObject<Element>\n position: AnchorPosition | undefined\n} {\n const floatingElementRef = useProvidedRefOrCreate(settings?.floatingElementRef)\n const anchorElementRef = useProvidedRefOrCreate(settings?.anchorElementRef)\n const [position, setPosition] = React.useState<AnchorPosition | undefined>(undefined)\n\n const updatePosition = React.useCallback(\n () => {\n if (floatingElementRef.current instanceof Element && anchorElementRef.current instanceof Element) {\n setPosition(getAnchoredPosition(floatingElementRef.current, anchorElementRef.current, settings))\n } else {\n setPosition(undefined)\n }\n },\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [floatingElementRef, anchorElementRef, ...dependencies]\n )\n\n React.useLayoutEffect(updatePosition, [updatePosition])\n\n useResizeObserver(updatePosition)\n\n return {\n floatingElementRef,\n anchorElementRef,\n position\n }\n}\n","import React from 'react'\n\nexport function useResizeObserver(callback: () => void) {\n React.useLayoutEffect(() => {\n const observer = new window.ResizeObserver(() => callback())\n observer.observe(document.documentElement)\n return () => {\n observer.disconnect()\n }\n }, [callback])\n}\n","import {isTabbable, iterateFocusableElements} from '../utils/iterateFocusableElements'\nimport {polyfill as eventListenerSignalPolyfill} from '../polyfills/eventListenerSignal'\n\neventListenerSignalPolyfill()\n\ninterface FocusTrapMetadata {\n container: HTMLElement\n controller: AbortController\n initialFocus?: HTMLElement\n originalSignal: AbortSignal\n}\n\nconst suspendedTrapStack: FocusTrapMetadata[] = []\nlet activeTrap: FocusTrapMetadata | undefined = undefined\n\nfunction tryReactivate() {\n const trapToReactivate = suspendedTrapStack.pop()\n if (trapToReactivate) {\n focusTrap(trapToReactivate.container, trapToReactivate.initialFocus, trapToReactivate.originalSignal)\n }\n}\n\n// @todo If AbortController.prototype.follow is ever implemented, that\n// could replace this function. @see https://github.com/whatwg/dom/issues/920\nfunction followSignal(signal: AbortSignal): AbortController {\n const controller = new AbortController()\n signal.addEventListener('abort', () => {\n controller.abort()\n })\n return controller\n}\n\n/**\n * Returns the first focusable child of `container`. If `lastChild` is true,\n * returns the last focusable child of `container`.\n * @param container\n * @param lastChild\n */\nfunction getFocusableChild(container: HTMLElement, lastChild = false) {\n return iterateFocusableElements(container, {reverse: lastChild, strict: true, onlyTabbable: true}).next().value\n}\n\n/**\n * Traps focus within the given container.\n * @param container The container in which to trap focus\n * @returns AbortController - call `.abort()` to disable the focus trap\n */\nexport function focusTrap(container: HTMLElement, initialFocus?: HTMLElement): AbortController\n\n/**\n * Traps focus within the given container.\n * @param container The container in which to trap focus\n * @param abortSignal An AbortSignal to control the focus trap.\n */\nexport function focusTrap(container: HTMLElement, initialFocus: HTMLElement | undefined, abortSignal: AbortSignal): void\nexport function focusTrap(\n container: HTMLElement,\n initialFocus?: HTMLElement,\n abortSignal?: AbortSignal\n): AbortController | void {\n // Set up an abort controller if a signal was not passed in\n const controller = new AbortController()\n const signal = abortSignal ?? controller.signal\n\n container.setAttribute('data-focus-trap', 'active')\n let lastFocusedChild: HTMLElement | undefined = undefined\n\n // Ensure focus remains in the trap zone by checking that a given recently-focused\n // element is inside the trap zone. If it isn't, redirect focus to a suitable\n // element within the trap zone. If need to redirect focus and a suitable element\n // is not found, focus the container.\n function ensureTrapZoneHasFocus(focusedElement: EventTarget | null) {\n if (focusedElement instanceof HTMLElement && document.contains(container)) {\n if (container.contains(focusedElement)) {\n // If a child of the trap zone was focused, remember it\n lastFocusedChild = focusedElement\n return\n } else {\n if (lastFocusedChild && isTabbable(lastFocusedChild) && container.contains(lastFocusedChild)) {\n lastFocusedChild.focus()\n return\n } else if (initialFocus && container.contains(initialFocus)) {\n initialFocus.focus()\n return\n } else {\n // Ensure the container is focusable:\n // - Either the container already has a `tabIndex`\n // - Or provide a temporary `tabIndex`\n const containerNeedsTemporaryTabIndex = container.getAttribute('tabindex') === null\n if (containerNeedsTemporaryTabIndex) {\n container.setAttribute('tabindex', '-1')\n }\n // Focus the container.\n container.focus()\n // If a temporary `tabIndex` was provided, remove it.\n if (containerNeedsTemporaryTabIndex) {\n // Once focus has moved from the container to a child within the FocusTrap,\n // the container can be made un-refocusable by removing `tabIndex`.\n container.addEventListener('blur', () => container.removeAttribute('tabindex'), {once: true})\n // NB: If `tabIndex` was removed *before* `blur`, then certain browsers (e.g. Chrome)\n // would consider `body` the `activeElement`, and as a result, keyboard navigation\n // between children would break, since `body` is outside the `FocusTrap`.\n }\n return\n }\n }\n }\n }\n\n const wrappingController = followSignal(signal)\n\n container.addEventListener(\n 'keydown',\n event => {\n if (event.key !== 'Tab' || event.defaultPrevented) {\n return\n }\n\n const {target} = event\n const firstFocusableChild = getFocusableChild(container)\n const lastFocusableChild = getFocusableChild(container, true)\n if (target === firstFocusableChild && event.shiftKey) {\n event.preventDefault()\n lastFocusableChild?.focus()\n } else if (target === lastFocusableChild && !event.shiftKey) {\n event.preventDefault()\n firstFocusableChild?.focus()\n }\n },\n {signal: wrappingController.signal}\n )\n\n if (activeTrap) {\n const suspendedTrap = activeTrap\n activeTrap.container.setAttribute('data-focus-trap', 'suspended')\n activeTrap.controller.abort()\n suspendedTrapStack.push(suspendedTrap)\n }\n\n // When this trap is canceled, either by the user or by us for suspension\n wrappingController.signal.addEventListener('abort', () => {\n activeTrap = undefined\n })\n\n // Only when user-canceled\n signal.addEventListener('abort', () => {\n container.removeAttribute('data-focus-trap')\n const suspendedTrapIndex = suspendedTrapStack.findIndex(t => t.container === container)\n if (suspendedTrapIndex >= 0) {\n suspendedTrapStack.splice(suspendedTrapIndex, 1)\n }\n tryReactivate()\n })\n\n // Prevent focus leaving the trap container\n document.addEventListener(\n 'focus',\n event => {\n ensureTrapZoneHasFocus(event.target)\n },\n // use capture to ensure we get all events. focus events do not bubble\n {signal: wrappingController.signal, capture: true}\n )\n\n // focus the first element\n ensureTrapZoneHasFocus(document.activeElement)\n\n activeTrap = {\n container,\n controller: wrappingController,\n initialFocus,\n originalSignal: signal\n }\n\n // If we are activating a focus trap for a container that was previously\n // suspended, just remove it from the suspended list.\n const suspendedTrapIndex = suspendedTrapStack.findIndex(t => t.container === container)\n if (suspendedTrapIndex >= 0) {\n suspendedTrapStack.splice(suspendedTrapIndex, 1)\n }\n if (!abortSignal) {\n return controller\n }\n}\n","import React from 'react'\nimport {focusTrap} from '../behaviors/focusTrap'\nimport {useProvidedRefOrCreate} from './useProvidedRefOrCreate'\n\nexport interface FocusTrapHookSettings {\n /**\n * Ref that will be used for the trapping container. If not provided, one will\n * be created by this hook and returned.\n */\n containerRef?: React.RefObject<HTMLElement>\n\n /**\n * Ref for the element that should receive focus when the focus trap is first enabled. If\n * not provided, one will be created by this hook and returned. Its use is optional.\n */\n initialFocusRef?: React.RefObject<HTMLElement>\n\n /**\n * Set to true to disable the focus trap and clean up listeners. Can be re-enabled at\n * any time.\n */\n disabled?: boolean\n\n /**\n * If true, when this focus trap is cleaned up, restore focus to the element that had\n * focus immediately before the focus trap was enabled. (Default: false)\n */\n restoreFocusOnCleanUp?: boolean\n}\n\n/**\n * Hook used to trap focus inside a container. Returns a ref that can be added to the container\n * that should trap focus.\n * @param settings {FocusTrapHookSettings}\n */\nexport function useFocusTrap(\n settings?: FocusTrapHookSettings,\n dependencies: React.DependencyList = []\n): {containerRef: React.RefObject<HTMLElement>; initialFocusRef: React.RefObject<HTMLElement>} {\n const containerRef = useProvidedRefOrCreate(settings?.containerRef)\n const initialFocusRef = useProvidedRefOrCreate(settings?.initialFocusRef)\n const disabled = settings?.disabled\n const abortController = React.useRef<AbortController>()\n const previousFocusedElement = React.useRef<Element | null>(null)\n\n // If we are enabling a focus trap and haven't already stored the previously focused element\n // go ahead an do that so we can restore later when the trap is disabled.\n if (!previousFocusedElement.current && !settings?.disabled) {\n previousFocusedElement.current = document.activeElement\n }\n\n // This function removes the event listeners that enable the focus trap and restores focus\n // to the previously-focused element (if necessary).\n function disableTrap() {\n abortController.current?.abort()\n if (settings?.restoreFocusOnCleanUp && previousFocusedElement.current instanceof HTMLElement) {\n previousFocusedElement.current.focus()\n previousFocusedElement.current = null\n }\n }\n\n React.useEffect(\n () => {\n if (containerRef.current instanceof HTMLElement) {\n if (!disabled) {\n abortController.current = focusTrap(containerRef.current, initialFocusRef.current ?? undefined)\n return () => {\n disableTrap()\n }\n } else {\n disableTrap()\n }\n }\n },\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [containerRef, initialFocusRef, disabled, ...dependencies]\n )\n\n return {containerRef, initialFocusRef}\n}\n","import {IconProps} from '@primer/octicons-react'\nimport React from 'react'\nimport styled from 'styled-components'\nimport {COMMON, SystemCommonProps} from './constants'\nimport sx, {SxProp} from './sx'\nimport {ComponentProps} from './utils/types'\n\ntype OcticonProps = {icon: React.ElementType} & IconProps\n\nfunction Octicon({icon: IconComponent, ...rest}: OcticonProps) {\n return <IconComponent {...rest} />\n}\n\nconst StyledOcticon = styled(Octicon)<SystemCommonProps & SxProp>`\n ${COMMON}\n ${sx}\n`\n\nStyledOcticon.defaultProps = {\n size: 16\n}\n\nexport type StyledOcticonProps = ComponentProps<typeof StyledOcticon>\nexport default StyledOcticon\n","import React, {useEffect} from 'react'\nimport {focusZone, FocusZoneSettings} from '../behaviors/focusZone'\nimport {useProvidedRefOrCreate} from './useProvidedRefOrCreate'\n\nexport interface FocusZoneHookSettings extends Omit<FocusZoneSettings, 'activeDescendantControl'> {\n /**\n * Optional ref for the container that holds all elements participating in arrow key focus.\n * If one is not passed, we will create one for you and return it from the hook.\n */\n containerRef?: React.RefObject<HTMLElement>\n\n /**\n * If using the \"active descendant\" focus pattern, pass `true` or a ref to the controlling\n * element. If a ref object is not passed, we will create one for you.\n */\n activeDescendantFocus?: boolean | React.RefObject<HTMLElement>\n\n /**\n * Set to true to disable the focus zone and clean up listeners. Can be re-enabled at\n * any time.\n */\n disabled?: boolean\n}\n\nexport function useFocusZone(\n settings: FocusZoneHookSettings = {},\n dependencies: React.DependencyList = []\n): {containerRef: React.RefObject<HTMLElement>; activeDescendantControlRef: React.RefObject<HTMLElement>} {\n const containerRef = useProvidedRefOrCreate(settings.containerRef)\n const useActiveDescendant = !!settings.activeDescendantFocus\n const passedActiveDescendantRef =\n typeof settings.activeDescendantFocus === 'boolean' || !settings.activeDescendantFocus\n ? undefined\n : settings.activeDescendantFocus\n const activeDescendantControlRef = useProvidedRefOrCreate(passedActiveDescendantRef)\n const disabled = settings.disabled\n const abortController = React.useRef<AbortController>()\n\n useEffect(\n () => {\n if (\n containerRef.current instanceof HTMLElement &&\n (!useActiveDescendant || activeDescendantControlRef.current instanceof HTMLElement)\n ) {\n if (!disabled) {\n const vanillaSettings: FocusZoneSettings = {\n ...settings,\n activeDescendantControl: activeDescendantControlRef.current ?? undefined\n }\n abortController.current = focusZone(containerRef.current, vanillaSettings)\n return () => {\n abortController.current?.abort()\n }\n } else {\n abortController.current?.abort()\n }\n }\n },\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [disabled, ...dependencies]\n )\n\n return {containerRef, activeDescendantControlRef}\n}\n","import React from 'react'\nimport {createPortal} from 'react-dom'\n\nconst PRIMER_PORTAL_ROOT_ID = '__primerPortalRoot__'\nconst DEFAULT_PORTAL_CONTAINER_NAME = '__default__'\n\nconst portalRootRegistry: Partial<Record<string, Element>> = {}\n\n/**\n * Register a container to serve as a portal root.\n * @param root The element that will be the root for portals created in this container\n * @param name The name of the container, to be used with the `containerName` prop on the Portal Component.\n * If name is not specified, registers the default portal root.\n */\nexport function registerPortalRoot(root: Element, name = DEFAULT_PORTAL_CONTAINER_NAME): void {\n portalRootRegistry[name] = root\n}\n\n// Ensures that a default portal root exists and is registered. If a DOM element exists\n// with id __primerPortalRoot__, allow that element to serve as the default portal root.\n// Otherwise, create that element and attach it to the end of document.body.\nfunction ensureDefaultPortal() {\n const existingDefaultPortalContainer = portalRootRegistry[DEFAULT_PORTAL_CONTAINER_NAME]\n if (!existingDefaultPortalContainer || !document.body.contains(existingDefaultPortalContainer)) {\n let defaultPortalContainer = document.getElementById(PRIMER_PORTAL_ROOT_ID)\n if (!(defaultPortalContainer instanceof Element)) {\n defaultPortalContainer = document.createElement('div')\n defaultPortalContainer.setAttribute('id', PRIMER_PORTAL_ROOT_ID)\n defaultPortalContainer.style.position = 'absolute'\n defaultPortalContainer.style.top = '0'\n defaultPortalContainer.style.left = '0'\n const suitablePortalRoot = document.querySelector('[data-portal-root]')\n if (suitablePortalRoot) {\n suitablePortalRoot.appendChild(defaultPortalContainer)\n } else {\n document.body.appendChild(defaultPortalContainer)\n }\n }\n\n registerPortalRoot(defaultPortalContainer)\n }\n}\n\nexport interface PortalProps {\n /**\n * Called when this portal is added to the DOM\n */\n onMount?: () => void\n\n /**\n * Optional. Mount this portal at the container specified\n * by this name. The container must be previously registered\n * with `registerPortal`.\n */\n containerName?: string\n}\n\n/**\n * Creates a React Portal, placing all children in a separate physical DOM root node.\n * @see https://reactjs.org/docs/portals.html\n */\nexport const Portal: React.FC<PortalProps> = ({children, onMount, containerName: _containerName}) => {\n const hostElement = document.createElement('div')\n\n // Portaled content should get their own stacking context so they don't interfere\n // with each other in unexpected ways. One should never find themselves tempted\n // to change the zIndex to a value other than \"1\".\n hostElement.style.position = 'relative'\n hostElement.style.zIndex = '1'\n const elementRef = React.useRef(hostElement)\n\n React.useLayoutEffect(() => {\n let containerName = _containerName\n if (containerName === undefined) {\n containerName = DEFAULT_PORTAL_CONTAINER_NAME\n ensureDefaultPortal()\n }\n const parentElement = portalRootRegistry[containerName]\n\n if (!parentElement) {\n throw new Error(\n `Portal container '${_containerName}' is not yet registered. Container must be registered with registerPortal before use.`\n )\n }\n const element = elementRef.current\n parentElement.appendChild(element)\n onMount?.()\n\n return () => {\n parentElement.removeChild(element)\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [elementRef])\n\n return createPortal(children, elementRef.current)\n}\n","import React, {ForwardedRef, useRef} from 'react'\n\n/**\n * Creates a ref by combining multiple constituent refs. The ref returned by this hook\n * should be passed as the ref for the element that needs to be shared. This is\n * particularly useful when you are using `React.forwardRef` in your component but you\n * also want to be able to access the local element. This is a small anti-pattern,\n * though, as it breaks encapsulation.\n * @param refs\n */\nexport function useCombinedRefs<T>(...refs: (ForwardedRef<T> | null | undefined)[]) {\n const combinedRef = useRef<T | null>(null)\n\n React.useLayoutEffect(() => {\n function setRefs(current: T | null = null) {\n for (const ref of refs) {\n if (!ref) {\n return\n }\n if (typeof ref === 'function') {\n ref(current)\n } else {\n ref.current = current\n }\n }\n }\n\n setRefs(combinedRef.current)\n\n return () => {\n // ensure the refs get updated on unmount\n // eslint-disable-next-line react-hooks/exhaustive-deps\n setRefs(combinedRef.current)\n }\n\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [...refs, combinedRef.current])\n\n return combinedRef\n}\n","import React, {useCallback, useEffect, useRef, useState} from 'react'\nimport styled from 'styled-components'\nimport Button, {ButtonPrimary, ButtonDanger, ButtonProps} from '../Button'\nimport Box from '../Box'\nimport {get, SystemCommonProps, SystemPositionProps, COMMON, POSITION} from '../constants'\nimport {useOnEscapePress} from '../hooks'\nimport {useFocusTrap} from '../hooks/useFocusTrap'\nimport sx, {SxProp} from '../sx'\nimport StyledOcticon from '../StyledOcticon'\nimport {XIcon} from '@primer/octicons-react'\nimport {useFocusZone} from '../hooks/useFocusZone'\nimport {FocusKeys} from '../behaviors/focusZone'\nimport Portal from '../Portal'\nimport {uniqueId} from '../utils/uniqueId'\nimport {useCombinedRefs} from '../hooks/useCombinedRefs'\n\nconst ANIMATION_DURATION = '200ms'\n\n/**\n * Props that characterize a button to be rendered into the footer of\n * a Dialog.\n */\nexport type DialogButtonProps = ButtonProps & {\n /**\n * The type of Button element to use\n */\n buttonType?: 'normal' | 'primary' | 'danger'\n\n /**\n * The Button's inner text\n */\n content: React.ReactNode\n\n /**\n * If true, and if this is the only button with autoFocus set to true,\n * focus this button automatically when the dialog appears.\n */\n autoFocus?: boolean\n}\n\n/**\n * Props to customize the rendering of the Dialog.\n */\nexport interface DialogProps {\n /**\n * Title of the Dialog. Also serves as the aria-label for this Dialog.\n */\n title?: React.ReactNode\n\n /**\n * The Dialog's subtitle. Optional. Rendered below the title in smaller\n * type with less contrast. Also serves as the aria-describedby for this\n * Dialog.\n */\n subtitle?: React.ReactNode\n\n /**\n * Provide a custom renderer for the dialog header. This content is\n * rendered directly into the dialog body area, full bleed from edge\n * to edge, top to the start of the body element.\n *\n * Warning: using a custom renderer may violate Primer UX principles.\n */\n renderHeader?: React.FunctionComponent<DialogHeaderProps>\n\n /**\n * Provide a custom render function for the dialog body. This content is\n * rendered directly into the dialog body area, full bleed from edge to\n * edge, header to footer.\n *\n * Warning: using a custom renderer may violate Primer UX principles.\n */\n renderBody?: React.FunctionComponent<DialogProps>\n\n /**\n * Provide a custom render function for the dialog footer. This content is\n * rendered directly into the dialog footer area, full bleed from edge to\n * edge, end of the body element to bottom.\n *\n * Warning: using a custom renderer may violate Primer UX principles.\n */\n renderFooter?: React.FunctionComponent<DialogProps>\n\n /**\n * Specifies the buttons to be rendered in the Dialog footer.\n */\n footerButtons?: DialogButtonProps[]\n\n /**\n * This method is invoked when a gesture to close the dialog is used (either\n * an Escape key press or clicking the \"X\" in the top-right corner). The\n * gesture argument indicates the gesture that was used to close the dialog\n * (either 'close-button' or 'escape').\n */\n onClose: (gesture: 'close-button' | 'escape') => void\n\n /**\n * Default: \"dialog\". The ARIA role to assign to this dialog.\n * @see https://www.w3.org/TR/wai-aria-practices-1.1/#dialog_modal\n * @see https://www.w3.org/TR/wai-aria-practices-1.1/#alertdialog\n */\n role?: 'dialog' | 'alertdialog'\n\n /**\n * The width of the dialog.\n * small: 296px\n * medium: 320px\n * large: 480px\n * xlarge: 640px\n */\n width?: DialogWidth\n\n /**\n * The height of the dialog.\n * small: 296x480\n * large: 480x640\n * auto: variable based on contents\n */\n height?: DialogHeight\n}\n\n/**\n * Props that are passed to a component that serves as a dialog header\n */\nexport interface DialogHeaderProps extends DialogProps {\n /**\n * ID of the element that will be used as the `aria-labelledby` attribute on the\n * dialog. This ID should be set to the element that renders the dialog's title.\n */\n dialogLabelId: string\n\n /**\n * ID of the element that will be used as the `aria-describedby` attribute on the\n * dialog. This ID should be set to the element that renders the dialog's subtitle.\n */\n dialogDescriptionId: string\n}\n\nconst Backdrop = styled('div')`\n position: fixed;\n top: 0;\n left: 0;\n bottom: 0;\n right: 0;\n display: flex;\n align-items: center;\n justify-content: center;\n background-color: rgba(0, 0, 0, 0.4);\n animation: dialog-backdrop-appear ${ANIMATION_DURATION} ${get('animation.easeOutCubic')};\n\n @keyframes dialog-backdrop-appear {\n 0% {\n opacity: 0;\n }\n 100% {\n opacity: 1;\n }\n }\n`\n\nconst heightMap = {\n small: '480px',\n large: '640px',\n auto: 'auto'\n} as const\n\nconst widthMap = {\n small: '296px',\n medium: '320px',\n large: '480px',\n xlarge: '640px'\n} as const\n\nexport type DialogWidth = keyof typeof widthMap\nexport type DialogHeight = keyof typeof heightMap\n\ninterface StyledDialogProps {\n width?: DialogWidth\n height?: DialogHeight\n}\n\nconst StyledDialog = styled.div<StyledDialogProps & SystemCommonProps & SystemPositionProps & SxProp>`\n display: flex;\n flex-direction: column;\n background-color: ${get('colors.bg.overlay')};\n box-shadow: ${get('shadows.overlay.shadow')};\n min-width: 296px;\n max-width: calc(100vw - 64px);\n max-height: calc(100vh - 64px);\n width: ${props => widthMap[props.width ?? ('xlarge' as const)]};\n height: ${props => heightMap[props.height ?? ('auto' as const)]};\n border-radius: 12px;\n opacity: 1;\n animation: overlay--dialog-appear ${ANIMATION_DURATION} ${get('animation.easeOutCubic')};\n\n @keyframes overlay--dialog-appear {\n 0% {\n opacity: 0;\n transform: scale(0.5);\n }\n 100% {\n opacity: 1;\n transform: scale(1);\n }\n }\n\n ${COMMON};\n ${POSITION};\n ${sx};\n`\n\nconst DefaultHeader: React.FC<DialogHeaderProps> = ({dialogLabelId, title, subtitle, dialogDescriptionId, onClose}) => {\n const onCloseClick = useCallback(() => {\n onClose('close-button')\n }, [onClose])\n return (\n <Dialog.Header>\n <Box display=\"flex\">\n <Box display=\"flex\" px={2} py=\"6px\" flexDirection=\"column\" flexGrow={1}>\n <Dialog.Title id={dialogLabelId}>{title ?? 'Dialog'}</Dialog.Title>\n {subtitle && <Dialog.Subtitle id={dialogDescriptionId}>{subtitle}</Dialog.Subtitle>}\n </Box>\n <Dialog.CloseButton onClose={onCloseClick} />\n </Box>\n </Dialog.Header>\n )\n}\nconst DefaultBody: React.FC<DialogProps> = ({children}) => {\n return <Dialog.Body>{children}</Dialog.Body>\n}\nconst DefaultFooter: React.FC<DialogProps> = ({footerButtons}) => {\n const {containerRef: footerRef} = useFocusZone({\n bindKeys: FocusKeys.ArrowHorizontal | FocusKeys.Tab,\n focusInStrategy: 'closest'\n })\n return footerButtons ? (\n <Dialog.Footer ref={footerRef as React.RefObject<HTMLDivElement>}>\n <Dialog.Buttons buttons={footerButtons} />\n </Dialog.Footer>\n ) : null\n}\n\nconst _Dialog = React.forwardRef<HTMLDivElement, React.PropsWithChildren<DialogProps>>((props, forwardedRef) => {\n const {\n title = 'Dialog',\n subtitle = '',\n renderHeader,\n renderBody,\n renderFooter,\n onClose,\n role = 'dialog',\n width = 'xlarge',\n height = 'auto'\n } = props\n const dialogLabelId = uniqueId()\n const dialogDescriptionId = uniqueId()\n const defaultedProps = {...props, title, subtitle, role, dialogLabelId, dialogDescriptionId}\n\n const dialogRef = useRef<HTMLDivElement>(null)\n const combinedRef = useCombinedRefs(dialogRef, forwardedRef)\n const backdropRef = useRef<HTMLDivElement>(null)\n useFocusTrap({containerRef: dialogRef, restoreFocusOnCleanUp: true})\n\n useOnEscapePress(\n (event: KeyboardEvent) => {\n onClose('escape')\n event.preventDefault()\n },\n [onClose]\n )\n\n const header = (renderHeader ?? DefaultHeader)(defaultedProps)\n const body = (renderBody ?? DefaultBody)(defaultedProps)\n const footer = (renderFooter ?? DefaultFooter)(defaultedProps)\n\n return (\n <>\n <Portal>\n <Backdrop ref={backdropRef}>\n <StyledDialog\n width={width}\n height={height}\n ref={combinedRef}\n role={role}\n aria-labelledby={dialogLabelId}\n aria-describedby={dialogDescriptionId}\n >\n {header}\n {body}\n {footer}\n </StyledDialog>\n </Backdrop>\n </Portal>\n </>\n )\n})\n_Dialog.displayName = 'Dialog'\n\nconst Header = styled(Box).attrs({as: 'header'})`\n box-shadow: 0 1px 0 ${get('colors.border.overlay')};\n padding: ${get('space.2')};\n z-index: 1;\n flex-shrink: 0;\n`\nconst Title = styled(Box)`\n font-size: ${get('fontSizes.1')};\n font-weight: ${get('fontWeights.bold')};\n`\nconst Subtitle = styled(Box)`\n font-size: ${get('fontSizes.0')};\n margin-top: ${get('space.1')};\n color: ${get('colors.text.tertiary')};\n`\nconst Body = styled(Box)`\n flex-grow: 1;\n overflow: auto;\n padding: ${get('space.3')};\n`\nconst Footer = styled(Box).attrs({as: 'footer'})`\n box-shadow: 0 -1px 0 ${get('colors.border.overlay')};\n padding: ${get('space.3')};\n display: flex;\n flex-flow: wrap;\n justify-content: flex-end;\n z-index: 1;\n flex-shrink: 0;\n\n button {\n margin-left: ${get('space.1')};\n &:first-child {\n margin-left: 0;\n }\n }\n`\nconst buttonTypes = {\n normal: Button,\n primary: ButtonPrimary,\n danger: ButtonDanger\n}\nconst Buttons: React.FC<{buttons: DialogButtonProps[]}> = ({buttons}) => {\n const autoFocusRef = useRef<HTMLButtonElement>(null)\n let autoFocusCount = 0\n const [hasRendered, setHasRendered] = useState(0)\n useEffect(() => {\n // hack to work around dialogs originating from other focus traps.\n if (hasRendered === 1) {\n autoFocusRef.current?.focus()\n } else {\n setHasRendered(hasRendered + 1)\n }\n }, [hasRendered])\n\n return (\n <>\n {buttons.map((dialogButtonProps, index) => {\n const {content, buttonType = 'normal', autoFocus = false, ...buttonProps} = dialogButtonProps\n const ButtonElement = buttonTypes[buttonType]\n return (\n <ButtonElement\n key={index}\n {...buttonProps}\n ref={autoFocus && autoFocusCount === 0 ? (autoFocusCount++, autoFocusRef) : null}\n >\n {content}\n </ButtonElement>\n )\n })}\n </>\n )\n}\nconst DialogCloseButton = styled(Button)`\n border-radius: 4px;\n background: transparent;\n border: 0;\n vertical-align: middle;\n color: ${get('colors.text.secondary')};\n padding: ${get('space.2')};\n align-self: flex-start;\n line-height: normal;\n box-shadow: none;\n`\nconst CloseButton: React.FC<{onClose: () => void}> = ({onClose}) => {\n return (\n <DialogCloseButton aria-label=\"Close\" onClick={onClose}>\n <StyledOcticon icon={XIcon} />\n </DialogCloseButton>\n )\n}\n\n/**\n * A dialog is a type of overlay that can be used for confirming actions, asking\n * for disambiguation, and presenting small forms. They generally allow the user\n * to focus on a quick task without having to navigate to a different page.\n *\n * Dialogs appear in the page after a direct user interaction. Don't show dialogs\n * on page load or as system alerts.\n *\n * Dialogs appear centered in the page, with a visible backdrop that dims the rest\n * of the window for focus.\n *\n * All dialogs have a title and a close button.\n *\n * Dialogs are modal. Dialogs can be dismissed by clicking on the close button,\n * pressing the escape key, or by interacting with another button in the dialog.\n * To avoid losing information and missing important messages, clicking outside\n * of the dialog will not close it.\n *\n * The sub components provided (e.g. Header, Title, etc.) are available for custom\n * renderers only. They are not intended to be used otherwise.\n */\nexport const Dialog = Object.assign(_Dialog, {\n Header,\n Title,\n Subtitle,\n Body,\n Footer,\n Buttons,\n CloseButton\n})\n","import React, {useCallback} from 'react'\nimport ReactDOM from 'react-dom'\nimport styled from 'styled-components'\nimport Box from '../Box'\nimport {ThemeProvider, useTheme, ThemeProviderProps} from '../ThemeProvider'\nimport {FocusKeys} from '../behaviors/focusZone'\nimport {get} from '../constants'\nimport {Dialog, DialogProps, DialogHeaderProps, DialogButtonProps} from '../Dialog/Dialog'\nimport {useFocusZone} from '../hooks/useFocusZone'\n\n/**\n * Props to customize the ConfirmationDialog.\n */\nexport interface ConfirmationDialogProps {\n /**\n * Required. This callback is invoked when a gesture to close the dialog\n * is performed. The first argument indicates the gesture.\n */\n onClose: (gesture: 'confirm' | 'cancel' | 'close-button' | 'cancel' | 'escape') => void\n\n /**\n * Required. The title of the ConfirmationDialog. This is usually a brief\n * question.\n */\n title: React.ReactNode\n\n /**\n * The text to use for the cancel button. Default: \"Cancel\".\n */\n cancelButtonContent?: React.ReactNode\n\n /**\n * The text to use for the confirm button. Default: \"OK\".\n */\n confirmButtonContent?: React.ReactNode\n\n /**\n * The type of button to use for the confirm button. Default: Button.\n */\n confirmButtonType?: 'normal' | 'primary' | 'danger'\n}\n\nconst StyledConfirmationHeader = styled.header`\n padding: ${get('space.2')};\n display: flex;\n flex-direction: row;\n`\nconst StyledTitle = styled(Box)`\n font-size: ${get('fontSizes.3')};\n font-weight: ${get('fontWeights.bold')};\n padding: 6px ${get('space.2')};\n flex-grow: 1;\n`\nconst ConfirmationHeader: React.FC<DialogHeaderProps> = ({title, onClose, dialogLabelId}) => {\n const onCloseClick = useCallback(() => {\n onClose('close-button')\n }, [onClose])\n return (\n <StyledConfirmationHeader>\n <StyledTitle id={dialogLabelId}>{title}</StyledTitle>\n <Dialog.CloseButton onClose={onCloseClick} />\n </StyledConfirmationHeader>\n )\n}\nconst StyledConfirmationBody = styled(Box)`\n font-size: ${get('fontSizes.1')};\n padding: 0 ${get('space.3')} ${get('space.3')} ${get('space.3')};\n color: ${get('colors.text.tertiary')};\n flex-grow: 1;\n`\nconst ConfirmationBody: React.FC<DialogProps> = ({children}) => {\n return <StyledConfirmationBody>{children}</StyledConfirmationBody>\n}\nconst StyledConfirmationFooter = styled(Box)`\n display: grid;\n grid-auto-flow: column;\n grid-auto-columns: max-content;\n grid-gap: ${get('space.2')};\n align-items: end;\n justify-content: end;\n padding: ${get('space.1')} ${get('space.3')} ${get('space.3')};\n`\nconst ConfirmationFooter: React.FC<DialogProps> = ({footerButtons}) => {\n const {containerRef: footerRef} = useFocusZone({\n bindKeys: FocusKeys.ArrowHorizontal | FocusKeys.Tab,\n focusInStrategy: 'closest'\n })\n // Must have exactly 2 buttons!\n return (\n <StyledConfirmationFooter ref={footerRef as React.RefObject<HTMLDivElement>}>\n <Dialog.Buttons buttons={footerButtons ?? []} />\n </StyledConfirmationFooter>\n )\n}\n\n/**\n * A ConfirmationDialog is a special kind of dialog with more rigid behavior. It\n * is used to confirm a user action. ConfirmationDialogs always have exactly\n * two buttons: one to cancel the action and one to confirm it. No custom\n * rendering capabilities are provided for ConfirmationDialog.\n */\nexport const ConfirmationDialog: React.FC<ConfirmationDialogProps> = props => {\n const {\n onClose,\n title,\n cancelButtonContent = 'Cancel',\n confirmButtonContent = 'OK',\n confirmButtonType = 'normal',\n children\n } = props\n\n const onCancelButtonClick = useCallback(() => {\n onClose('cancel')\n }, [onClose])\n const onConfirmButtonClick = useCallback(() => {\n onClose('confirm')\n }, [onClose])\n const cancelButton: DialogButtonProps = {\n content: cancelButtonContent,\n onClick: onCancelButtonClick,\n autoFocus: true\n }\n const confirmButton: DialogButtonProps = {\n content: confirmButtonContent,\n buttonType: confirmButtonType,\n onClick: onConfirmButtonClick\n }\n const footerButtons = [cancelButton, confirmButton]\n return (\n <Dialog\n onClose={onClose}\n title={title}\n footerButtons={footerButtons}\n role=\"alertdialog\"\n width=\"medium\"\n renderHeader={ConfirmationHeader}\n renderBody={ConfirmationBody}\n renderFooter={ConfirmationFooter}\n >\n {children}\n </Dialog>\n )\n}\n\nexport type ConfirmOptions = Omit<ConfirmationDialogProps, 'onClose'> & {content: React.ReactNode}\nasync function confirm(themeProps: ThemeProviderProps, options: ConfirmOptions): Promise<boolean> {\n const {content, ...confirmationDialogProps} = options\n return new Promise(resolve => {\n const hostElement = document.createElement('div')\n const onClose: ConfirmationDialogProps['onClose'] = gesture => {\n ReactDOM.unmountComponentAtNode(hostElement)\n if (gesture === 'confirm') {\n resolve(true)\n } else {\n resolve(false)\n }\n }\n ReactDOM.render(\n <ThemeProvider {...themeProps}>\n <ConfirmationDialog {...confirmationDialogProps} onClose={onClose}>\n {content}\n </ConfirmationDialog>\n </ThemeProvider>,\n hostElement\n )\n })\n}\n\n/**\n * This hook takes no parameters and returns an `async` function, `confirm`. When `confirm`\n * is called, it shows the confirmation dialog. When the dialog is dismissed, a promise is\n * resolved with `true` or `false` depending on whether or not the confirm button was used.\n */\nexport function useConfirm() {\n const {theme, colorMode, dayScheme, nightScheme} = useTheme()\n const result = useCallback(\n (options: ConfirmOptions) => {\n const themeProps: ThemeProviderProps = {theme, colorMode, dayScheme, nightScheme}\n return confirm(themeProps, options)\n },\n [theme, colorMode, dayScheme, nightScheme]\n )\n return result\n}\n","import React from 'react'\nimport styled, {css} from 'styled-components'\nimport {get} from '../constants'\nimport sx, {SxProp} from '../sx'\n\n/**\n * Contract for props passed to the `Header` component.\n */\nexport interface HeaderProps extends React.ComponentPropsWithoutRef<'div'>, SxProp {\n /**\n * Style variations. Usage is discretionary.\n *\n * - `\"filled\"` - Superimposed on a background, offset from nearby content\n * - `\"subtle\"` - Relatively less offset from nearby content\n */\n variant?: 'subtle' | 'filled'\n\n /**\n * Primary text which names a `Group`.\n */\n title: string\n\n /**\n * Secondary text which provides additional information about a `Group`.\n */\n auxiliaryText?: string\n}\n\nexport const StyledHeader = styled.div<{variant: HeaderProps['variant']} & SxProp>`\n {\n /* 6px vertical padding + 20px line height = 32px total height\n *\n * TODO: When rem-based spacing on a 4px scale lands, replace\n * hardcoded '6px' with 'calc((${get('space.s32')} - ${get('space.20')}) / 2)'.\n */\n }\n padding: 6px ${get('space.3')};\n font-size: ${get('fontSizes.0')};\n font-weight: ${get('fontWeights.bold')};\n color: ${get('colors.text.secondary')};\n\n ${({variant}) =>\n variant === 'filled' &&\n css`\n background: ${get('colors.bg.tertiary')};\n margin: ${get('space.2')} 0;\n border-top: 1px solid ${get('colors.border.tertiary')};\n border-bottom: 1px solid ${get('colors.border.tertiary')};\n\n &:first-child {\n margin-top: 0;\n }\n `}\n\n ${sx}\n`\n\n/**\n * Displays the name and description of a `Group`.\n */\nexport function Header({\n variant = 'subtle',\n title,\n auxiliaryText,\n children: _children,\n ...props\n}: HeaderProps): JSX.Element {\n return (\n <StyledHeader role=\"heading\" variant={variant} {...props}>\n {title}\n {auxiliaryText && <span>auxiliaryText</span>}\n </StyledHeader>\n )\n}\n","import React from 'react'\nimport styled from 'styled-components'\nimport sx, {SxProp} from '../sx'\nimport {Header, HeaderProps} from './Header'\n\n/**\n * Contract for props passed to the `Group` component.\n */\nexport interface GroupProps extends React.ComponentPropsWithoutRef<'div'>, SxProp {\n /**\n * Props for a `Header` to render in the `Group`.\n */\n header?: HeaderProps\n\n /**\n * The id of the group.\n */\n groupId?: string\n\n /**\n * `Items` to render in the `Group`.\n */\n items?: JSX.Element[]\n\n /**\n * Whether to display a divider above each `Item` in this `Group` when it does not follow a `Header` or `Divider`.\n */\n showItemDividers?: boolean\n}\n\nconst StyledGroup = styled.div`\n ${sx}\n`\n\n/**\n * Collects related `Items` in an `ActionList`.\n */\nexport function Group({header, items, ...props}: GroupProps): JSX.Element {\n return (\n <StyledGroup {...props}>\n {header && <Header {...header} />}\n {items}\n </StyledGroup>\n )\n}\n","import styled from 'styled-components'\nimport {maxWidth, MaxWidthProps} from 'styled-system'\nimport {COMMON, SystemCommonProps, SystemTypographyProps, TYPOGRAPHY} from './constants'\nimport sx, {SxProp} from './sx'\nimport {ComponentProps} from './utils/types'\n\ntype StyledTruncateProps = {\n title: string\n inline?: boolean\n expandable?: boolean\n} & MaxWidthProps &\n SystemTypographyProps &\n SystemCommonProps &\n SxProp\n\nconst Truncate = styled.div<StyledTruncateProps>`\n ${TYPOGRAPHY}\n ${COMMON}\n display: ${props => (props.inline ? 'inline-block' : 'inherit')};\n overflow: hidden;\n text-overflow: ellipsis;\n vertical-align: ${props => (props.inline ? 'top' : 'initial')};\n white-space: nowrap;\n ${maxWidth}\n ${props => (props.expandable ? `&:hover { max-width: 10000px; }` : '')}\n ${sx};\n`\n\nTruncate.defaultProps = {\n expandable: false,\n inline: false,\n maxWidth: 125\n}\n\nexport type TruncateProps = ComponentProps<typeof Truncate>\nexport default Truncate\n","import React from 'react'\nimport styled from 'styled-components'\nimport {get} from '../constants'\n\nexport const StyledDivider = styled.div`\n height: 1px;\n background: ${get('colors.selectMenu.borderSecondary')};\n margin-top: calc(${get('space.2')} - 1px);\n margin-bottom: ${get('space.2')};\n`\n\n/**\n * Visually separates `Item`s or `Group`s in an `ActionList`.\n */\nexport function Divider(): JSX.Element {\n return <StyledDivider />\n}\n\n/**\n * `Divider` fulfills the `ItemPropsWithCustomRenderer` contract,\n * so it can be used inline in an `ActionList`’s `items` prop.\n * In other words, `items={[ActionList.Divider]}` is supported as a concise\n * alternative to `items={[{renderItem: () => <ActionList.Divider />}]}`.\n */\nDivider.renderItem = Divider\n","import {CheckIcon, IconProps} from '@primer/octicons-react'\nimport React, {useCallback, useMemo} from 'react'\nimport {get} from '../constants'\nimport sx, {SxProp} from '../sx'\nimport Truncate from '../Truncate'\nimport {ItemInput} from './List'\nimport styled from 'styled-components'\nimport {StyledHeader} from './Header'\nimport {StyledDivider} from './Divider'\nimport {useColorSchemeVar, useTheme} from '../ThemeProvider'\nimport {\n activeDescendantActivatedDirectly,\n activeDescendantActivatedIndirectly,\n isActiveDescendantAttribute\n} from '../behaviors/focusZone'\nimport {uniqueId} from '../utils/uniqueId'\n\n/**\n * These colors are not yet in our default theme. Need to remove this once they are added.\n */\nconst customItemThemes = {\n default: {\n hover: {\n light: 'rgba(46, 77, 108, 0.06)',\n dark: 'rgba(201, 206, 212, 0.12)',\n dark_dimmed: 'rgba(201, 206, 212, 0.12)'\n },\n focus: {\n light: 'rgba(54, 77, 100, 0.16)',\n dark: 'rgba(201, 206, 212, 0.24)',\n dark_dimmed: 'rgba(201, 206, 212, 0.24)'\n }\n },\n danger: {\n hover: {\n light: 'rgba(234, 74, 90, 0.08)',\n dark: 'rgba(248, 81, 73, 0.16)',\n dark_dimmed: 'rgba(248, 81, 73, 0.16)'\n },\n focus: {\n light: 'rgba(234, 74, 90, 0.14)',\n dark: 'rgba(248, 81, 73, 0.24)',\n dark_dimmed: 'rgba(248, 81, 73, 0.24)'\n }\n }\n} as const\n\n/**\n * Contract for props passed to the `Item` component.\n */\nexport interface ItemProps extends Omit<React.ComponentPropsWithoutRef<'div'>, 'id'>, SxProp {\n /**\n * Primary text which names an `Item`.\n */\n text?: string\n\n /**\n * Secondary text which provides additional information about an `Item`.\n */\n description?: string\n\n /**\n * Secondary text style variations. Usage is discretionary.\n *\n * - `\"inline\"` - Secondary text is positioned beside primary text.\n * - `\"block\"` - Secondary text is positioned below primary text.\n */\n descriptionVariant?: 'inline' | 'block'\n\n /**\n * Icon (or similar) positioned before `Item` text.\n */\n leadingVisual?: React.FunctionComponent<IconProps>\n\n /**\n * Icon (or similar) positioned after `Item` text.\n */\n trailingIcon?: React.FunctionComponent<IconProps>\n\n /**\n * Text positioned after `Item` text and optional trailing icon.\n */\n trailingText?: string\n\n /**\n * Style variations associated with various `Item` types.\n *\n * - `\"default\"` - An action `Item`.\n * - `\"danger\"` - A destructive action `Item`.\n */\n variant?: 'default' | 'danger'\n\n /**\n * Whether to display a divider above the `Item` when it does not follow a `Header` or `Divider`.\n */\n showDivider?: boolean\n\n /**\n * For `Item`s which can be selected, whether the `Item` is currently selected.\n */\n selected?: boolean\n\n /**\n * For `Item`s which can be selected, whether `multiple` `Item`s or a `single` `Item` can be selected\n */\n selectionVariant?: 'single' | 'multiple'\n\n /**\n * Designates the group that an item belongs to.\n */\n groupId?: string\n\n /**\n * Items that are disabled can not be clicked, selected, or navigated through.\n */\n disabled?: boolean\n\n /**\n * Callback that will trigger both on click selection and keyboard selection.\n */\n onAction?: (item: ItemProps, event: React.MouseEvent<HTMLDivElement> | React.KeyboardEvent<HTMLDivElement>) => void\n\n /**\n * An id associated with this item. Should be unique between items\n */\n id?: number | string\n}\n\nconst getItemVariant = (variant = 'default', disabled?: boolean) => {\n if (disabled) {\n return {\n color: get('colors.text.disabled'),\n iconColor: get('colors.text.disabled'),\n annotationColor: get('colors.text.disabled'),\n hoverCursor: 'default'\n }\n }\n\n switch (variant) {\n case 'danger':\n return {\n color: get('colors.text.danger'),\n iconColor: get('colors.icon.danger'),\n annotationColor: get('colors.text.disabled'),\n hoverCursor: 'pointer'\n }\n default:\n return {\n color: 'inherit',\n iconColor: get('colors.text.secondary'),\n annotationColor: get('colors.text.secondary'),\n hoverCursor: 'pointer'\n }\n }\n}\n\nconst DividedContent = styled.div`\n display: flex;\n min-width: 0;\n\n /* Required for dividers */\n position: relative;\n flex-grow: 1;\n`\n\nconst MainContent = styled.div`\n align-items: baseline;\n display: flex;\n min-width: 0;\n flex-direction: var(--main-content-flex-direction);\n flex-grow: 1;\n`\n\nconst StyledItem = styled.div<\n {\n variant: ItemProps['variant']\n showDivider: ItemProps['showDivider']\n item?: ItemInput\n hoverBackground: string\n focusBackground: string\n } & SxProp\n>`\n /* 6px vertical padding + 20px line height = 32px total height\n *\n * TODO: When rem-based spacing on a 4px scale lands, replace\n * hardcoded '6px' with 'calc((${get('space.s32')} - ${get('space.20')}) / 2)'.\n */\n padding: 6px ${get('space.2')};\n display: flex;\n border-radius: ${get('radii.2')};\n color: ${({variant, item}) => getItemVariant(variant, item?.disabled).color};\n // 2 frames on a 60hz monitor\n transition: background 33.333ms linear;\n\n @media (hover: hover) and (pointer: fine) {\n :hover {\n // allow override in case another item in the list is active/focused\n background: var(--item-hover-bg-override, ${({hoverBackground}) => hoverBackground});\n cursor: ${({variant, item}) => getItemVariant(variant, item?.disabled).hoverCursor};\n }\n }\n\n // Item dividers\n :not(:first-of-type):not(${StyledDivider} + &):not(${StyledHeader} + &) {\n margin-top: ${({showDivider}) => (showDivider ? `1px` : '0')};\n\n ${DividedContent}::before {\n content: ' ';\n display: block;\n position: absolute;\n width: 100%;\n top: -7px;\n // NB: This 'get' won’t execute if it’s moved into the arrow function below.\n border: 0 solid ${get('colors.selectMenu.borderSecondary')};\n border-top-width: ${({showDivider}) => (showDivider ? `1px` : '0')};\n }\n }\n\n // Item dividers should not be visible:\n // - above Hovered\n &:hover ${DividedContent}::before,\n // - below Hovered\n // '*' instead of '&' because '&' maps to separate class names depending on 'variant'\n :hover + * ${DividedContent}::before {\n // allow override in case another item in the list is active/focused\n border-color: var(--item-hover-divider-border-color-override, transparent) !important;\n }\n\n // - above Focused\n &:focus ${DividedContent}::before,\n // - below Focused\n // '*' instead of '&' because '&' maps to separate class names depending on 'variant'\n :focus + * ${DividedContent}::before,\n // - above Active Descendent\n &[${isActiveDescendantAttribute}] ${DividedContent}::before,\n // - below Active Descendent\n [${isActiveDescendantAttribute}] + & ${DividedContent}::before {\n // '!important' because all the ':not's above give higher specificity\n border-color: transparent !important;\n }\n\n // Active Descendant\n &[${isActiveDescendantAttribute}='${activeDescendantActivatedDirectly}'] {\n background: ${({focusBackground}) => focusBackground};\n }\n &[${isActiveDescendantAttribute}='${activeDescendantActivatedIndirectly}'] {\n background: ${({hoverBackground}) => hoverBackground};\n }\n\n &:focus {\n background: ${({focusBackground}) => focusBackground};\n outline: none;\n }\n\n &:active {\n background: ${({focusBackground}) => focusBackground};\n }\n\n ${sx}\n`\n\nexport const TextContainer = styled.span<{\n dangerouslySetInnerHtml?: React.DOMAttributes<HTMLDivElement>['dangerouslySetInnerHTML']\n}>``\n\nconst BaseVisualContainer = styled.div<{variant?: ItemProps['variant']; disabled?: boolean}>`\n // Match visual height to adjacent text line height.\n // TODO: When rem-based spacing on a 4px scale lands, replace\n // hardcoded '20px' with '${get('space.s20')}'.\n height: 20px;\n width: ${get('space.3')};\n margin-right: ${get('space.2')};\n`\n\nconst ColoredVisualContainer = styled(BaseVisualContainer)`\n svg {\n fill: ${({variant, disabled}) => getItemVariant(variant, disabled).iconColor};\n font-size: ${get('fontSizes.0')};\n }\n`\n\nconst LeadingVisualContainer = styled(ColoredVisualContainer)`\n flex-shrink: 0;\n display: flex;\n flex-direction: column;\n justify-content: center;\n`\n\nconst TrailingContent = styled(ColoredVisualContainer)`\n color: ${({variant, disabled}) => getItemVariant(variant, disabled).annotationColor}};\n margin-left: ${get('space.2')};\n margin-right: 0;\n width: auto;\n div:nth-child(2) {\n margin-left: ${get('space.2')};\n }\n`\n\nconst DescriptionContainer = styled.span`\n color: ${get('colors.text.secondary')};\n font-size: ${get('fontSizes.0')};\n // TODO: When rem-based spacing on a 4px scale lands, replace\n // hardcoded '16px' with '${get('lh-12')}'.\n line-height: 16px;\n margin-left: var(--description-container-margin-left);\n min-width: 0;\n flex-grow: 1;\n flex-basis: var(--description-container-flex-basis);\n`\n\nconst MultiSelectInput = styled.input`\n pointer-events: none;\n`\n\n/**\n * An actionable or selectable `Item` with an optional icon and description.\n */\nexport function Item(itemProps: Partial<ItemProps> & {item?: ItemInput}): JSX.Element {\n const {\n text,\n description,\n descriptionVariant = 'inline',\n selected,\n selectionVariant,\n leadingVisual: LeadingVisual,\n trailingIcon: TrailingIcon,\n trailingText,\n variant = 'default',\n showDivider,\n disabled,\n onAction,\n onKeyPress,\n children,\n onClick,\n id,\n ...props\n } = itemProps\n\n const labelId = useMemo(() => uniqueId(), [])\n const descriptionId = useMemo(() => uniqueId(), [])\n\n const keyPressHandler = useCallback(\n event => {\n if (disabled) {\n return\n }\n onKeyPress?.(event)\n const isCheckbox = event.target instanceof HTMLInputElement && event.target.type === 'checkbox'\n if (isCheckbox && event.key === ' ') {\n // space key on a checkbox will also trigger a click event. Ignore the space key so we don't get double events\n return\n }\n\n if (!event.defaultPrevented && [' ', 'Enter'].includes(event.key)) {\n onAction?.(itemProps as ItemProps, event)\n }\n },\n [onAction, disabled, itemProps, onKeyPress]\n )\n\n const clickHandler = useCallback(\n event => {\n if (disabled) {\n return\n }\n onClick?.(event)\n if (!event.defaultPrevented) {\n onAction?.(itemProps as ItemProps, event)\n }\n },\n [onAction, disabled, itemProps, onClick]\n )\n\n const customItemTheme = customItemThemes[variant]\n const hoverBackground = useColorSchemeVar(customItemTheme.hover, 'inherit')\n const focusBackground = useColorSchemeVar(customItemTheme.focus, 'inherit')\n\n const {theme} = useTheme()\n\n return (\n <StyledItem\n tabIndex={disabled ? undefined : -1}\n variant={variant}\n showDivider={showDivider}\n aria-selected={selected}\n aria-labelledby={text ? labelId : undefined}\n aria-describedby={description ? descriptionId : undefined}\n {...props}\n data-id={id}\n onKeyPress={keyPressHandler}\n onClick={clickHandler}\n hoverBackground={disabled ? 'inherit' : hoverBackground}\n focusBackground={disabled ? 'inherit' : focusBackground}\n >\n {!!selected === selected && (\n <BaseVisualContainer>\n {selectionVariant === 'multiple' ? (\n <>\n {/*\n * readOnly is required because we are doing a one-way bind to `checked`.\n * aria-readonly=\"false\" tells screen that they can still interact with the checkbox\n */}\n <MultiSelectInput\n disabled={disabled}\n tabIndex={-1}\n type=\"checkbox\"\n checked={selected}\n aria-label={text}\n readOnly\n aria-readonly=\"false\"\n />\n </>\n ) : (\n selected && <CheckIcon fill={theme?.colors.text.primary} />\n )}\n </BaseVisualContainer>\n )}\n {LeadingVisual && (\n <LeadingVisualContainer variant={variant} disabled={disabled}>\n <LeadingVisual />\n </LeadingVisualContainer>\n )}\n <DividedContent>\n <MainContent\n style={\n {'--main-content-flex-direction': descriptionVariant === 'inline' ? 'row' : 'column'} as React.CSSProperties\n }\n >\n {children}\n {text ? <TextContainer id={labelId}>{text}</TextContainer> : null}\n {description ? (\n <DescriptionContainer\n id={descriptionId}\n style={\n {\n '--description-container-margin-left': descriptionVariant === 'inline' ? get('space.2')(theme) : 0,\n '--description-container-flex-basis': descriptionVariant === 'inline' ? 0 : 'auto'\n } as React.CSSProperties\n }\n >\n {descriptionVariant === 'block' ? (\n description\n ) : (\n <Truncate title={description} inline={true} maxWidth=\"100%\">\n {description}\n </Truncate>\n )}\n </DescriptionContainer>\n ) : null}\n </MainContent>\n {TrailingIcon || trailingText ? (\n <TrailingContent variant={variant} disabled={disabled}>\n {trailingText}\n {TrailingIcon && <TrailingIcon />}\n </TrailingContent>\n ) : null}\n </DividedContent>\n </StyledItem>\n )\n}\n","import React from 'react'\nimport type {AriaRole} from '../utils/types'\nimport {Group, GroupProps} from './Group'\nimport {Item, ItemProps} from './Item'\nimport {Divider} from './Divider'\nimport styled from 'styled-components'\nimport {get} from '../constants'\nimport {SystemCssProperties} from '@styled-system/css'\nimport {hasActiveDescendantAttribute} from '../behaviors/focusZone'\n\nexport type ItemInput = ItemProps | (Partial<ItemProps> & {renderItem: typeof Item})\n\n/**\n * Contract for props passed to the `List` component.\n */\nexport interface ListPropsBase {\n /**\n * A collection of `Item` props and `Item`-level custom `Item` renderers.\n */\n items: ItemInput[]\n\n /**\n * The ARIA role describing the function of `List` component. `listbox` is a common value.\n */\n role?: AriaRole\n\n /**\n * id to attach to the base DOM node of the list\n */\n id?: string\n\n /**\n * A `List`-level custom `Item` renderer. Every `Item` within this `List`\n * without a `Group`-level or `Item`-level custom `Item` renderer will be\n * rendered using this function component.\n */\n renderItem?: typeof Item\n\n /**\n * A `List`-level custom `Group` renderer. Every `Group` within this `List`\n * without a `Group`-level custom `Item` renderer will be rendered using\n * this function component.\n */\n renderGroup?: typeof Group\n\n /**\n * Style variations. Usage is discretionary.\n *\n * - `\"inset\"` - `List` children are offset (vertically and horizontally) from `List`’s edges\n * - `\"full\"` - `List` children are flush (vertically and horizontally) with `List` edges\n */\n variant?: 'inset' | 'full'\n\n /**\n * For `Item`s which can be selected, whether `multiple` `Item`s or a `single` `Item` can be selected\n */\n selectionVariant?: 'single' | 'multiple'\n\n /**\n * Whether to display a divider above each `Item` in this `List` when it does not follow a `Header` or `Divider`.\n */\n showItemDividers?: boolean\n}\n\n/**\n * Contract for props passed to the `List` component, when its `Item`s are collected in `Group`s.\n */\nexport interface GroupedListProps extends ListPropsBase {\n /**\n * A collection of `Group` props (except `items`), plus a unique group identifier\n * and `Group`-level custom `Item` or `Group` renderers.\n */\n groupMetadata: ((\n | Omit<GroupProps, 'items'>\n | Omit<Partial<GroupProps> & {renderItem?: typeof Item; renderGroup?: typeof Group}, 'items'>\n ) & {groupId: string})[]\n\n /**\n * A collection of `Item` props, plus associated group identifiers\n * and `Item`-level custom `Item` renderers.\n */\n items: ((ItemProps | (Partial<ItemProps> & {renderItem: typeof Item})) & {groupId: string})[]\n}\n\n/**\n * Asserts that the given value fulfills the `GroupedListProps` contract.\n * @param props A value which fulfills either the `ListPropsBase` or the `GroupedListProps` contract.\n */\nfunction isGroupedListProps(props: ListProps): props is GroupedListProps {\n return 'groupMetadata' in props\n}\n\n/**\n * Contract for props passed to the `List` component.\n */\nexport type ListProps = ListPropsBase | GroupedListProps\n\nconst StyledList = styled.div`\n font-size: ${get('fontSizes.1')};\n /* 14px font-size * 1.428571429 = 20px line height\n *\n * TODO: When rem-based spacing on a 4px scale lands, replace\n * hardcoded '20px'\n */\n line-height: 20px;\n\n &[${hasActiveDescendantAttribute}], &:focus-within {\n --item-hover-bg-override: none;\n --item-hover-divider-border-color-override: ${get('colors.selectMenu.borderSecondary')};\n }\n`\n\n/**\n * Returns `sx` prop values for `List` children matching the given `List` style variation.\n * @param variant `List` style variation.\n */\nfunction useListVariant(variant: ListProps['variant'] = 'inset'): {\n firstGroupStyle?: SystemCssProperties\n lastGroupStyle?: SystemCssProperties\n headerStyle?: SystemCssProperties\n itemStyle?: SystemCssProperties\n} {\n switch (variant) {\n case 'full':\n return {\n headerStyle: {paddingX: get('space.2')},\n itemStyle: {borderRadius: 0}\n }\n default:\n return {\n firstGroupStyle: {marginTop: get('space.2')},\n lastGroupStyle: {marginBottom: get('space.2')},\n itemStyle: {marginX: get('space.2')}\n }\n }\n}\n\n/**\n * Lists `Item`s, either grouped or ungrouped, with a `Divider` between each `Group`.\n */\nexport const List = React.forwardRef<HTMLDivElement, ListProps>((props, forwardedRef): JSX.Element => {\n // Get `sx` prop values for `List` children matching the given `List` style variation.\n const {firstGroupStyle, lastGroupStyle, headerStyle, itemStyle} = useListVariant(props.variant)\n\n /**\n * Render a `Group` using the first of the following renderers that is defined:\n * A `Group`-level or `List`-level custom `Group` renderer, or\n * the default `Group` renderer.\n */\n const renderGroup = (\n groupProps: GroupProps | (Partial<GroupProps> & {renderItem?: typeof Item; renderGroup?: typeof Group})\n ) => {\n const GroupComponent = (('renderGroup' in groupProps && groupProps.renderGroup) ?? props.renderGroup) || Group\n return <GroupComponent {...groupProps} key={groupProps.groupId} />\n }\n\n /**\n * Render an `Item` using the first of the following renderers that is defined:\n * An `Item`-level, `Group`-level, or `List`-level custom `Item` renderer,\n * or the default `Item` renderer.\n */\n const renderItem = (itemProps: ItemInput, item: ItemInput, itemIndex: number) => {\n // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition\n const ItemComponent = ('renderItem' in itemProps && itemProps.renderItem) || props.renderItem || Item\n const key = itemProps.key ?? itemProps.id?.toString() ?? itemIndex.toString()\n return (\n <ItemComponent\n showDivider={props.showItemDividers}\n selectionVariant={props.selectionVariant}\n {...itemProps}\n key={key}\n sx={{...itemStyle, ...itemProps.sx}}\n item={item}\n />\n )\n }\n\n /**\n * An array of `Group`s, each with an associated `Header` and with an array of `Item`s belonging to that `Group`.\n */\n let groups: (GroupProps | (Partial<GroupProps> & {renderItem?: typeof Item; renderGroup?: typeof Group}))[] = []\n\n // Collect rendered `Item`s into `Group`s, avoiding excess iteration over the lists of `items` and `groupMetadata`:\n if (!isGroupedListProps(props)) {\n // When no `groupMetadata`s is provided, collect rendered `Item`s into a single anonymous `Group`.\n groups = [{items: props.items.map((item, index) => renderItem(item, item, index)), groupId: '0'}]\n } else {\n // When `groupMetadata` is provided, collect rendered `Item`s into their associated `Group`s.\n\n /**\n * A map of group identifiers to `Group`s, each with an associated array of `Item`s belonging to that `Group`.\n */\n const groupMap = props.groupMetadata.reduce(\n (groupAccumulator, groupMetadata) => groupAccumulator.set(groupMetadata.groupId, groupMetadata),\n new Map<string, GroupProps | (Partial<GroupProps> & {renderItem?: typeof Item; renderGroup?: typeof Group})>()\n )\n\n for (const itemProps of props.items) {\n // Look up the group associated with the current item.\n const group = groupMap.get(itemProps.groupId)\n const itemIndex = group?.items?.length ?? 0\n\n // Upsert the group to include the current item (rendered).\n groupMap.set(itemProps.groupId, {\n ...group,\n items: [\n ...(group?.items ?? []),\n renderItem(\n {\n showDivider: group?.showItemDividers,\n ...(group && 'renderItem' in group && {renderItem: group.renderItem}),\n ...itemProps\n },\n itemProps,\n itemIndex\n )\n ]\n })\n }\n\n groups = [...groupMap.values()]\n }\n\n return (\n <StyledList {...props} ref={forwardedRef}>\n {groups.map(({header, ...groupProps}, index) => {\n const hasFilledHeader = header?.variant === 'filled'\n const shouldShowDivider = index > 0 && !hasFilledHeader\n return (\n <React.Fragment key={groupProps.groupId}>\n {shouldShowDivider ? <Divider key={`${groupProps.groupId}-divider`} /> : null}\n {renderGroup({\n sx: {\n ...(index === 0 && firstGroupStyle),\n ...(index === groups.length - 1 && lastGroupStyle),\n ...(index > 0 && !shouldShowDivider && {mt: 2})\n },\n ...(header && {\n header: {\n ...header,\n sx: {...headerStyle, ...header.sx}\n }\n }),\n ...groupProps\n })}\n </React.Fragment>\n )\n })}\n </StyledList>\n )\n})\n\nList.displayName = 'ActionList'\n","import {List} from './List'\nimport {Group} from './Group'\nimport {Item} from './Item'\nimport {Divider} from './Divider'\nexport type {ListProps as ActionListProps} from './List'\nexport type {GroupProps} from './Group'\nexport type {ItemProps} from './Item'\n\n/**\n * Collection of list-related components.\n */\nexport const ActionList = Object.assign(List, {\n /** Collects related `Items` in an `ActionList`. */\n Group,\n\n /** An actionable or selectable `Item` with an optional icon and description. */\n Item,\n\n /** Visually separates `Item`s or `Group`s in an `ActionList`. */\n Divider\n})\n","import styled from 'styled-components'\nimport React, {ReactElement, useEffect, useLayoutEffect, useRef} from 'react'\nimport {get, COMMON, SystemPositionProps, SystemCommonProps} from './constants'\nimport {ComponentProps} from './utils/types'\nimport {useOverlay, TouchOrMouseEvent} from './hooks'\nimport Portal from './Portal'\nimport sx, {SxProp} from './sx'\nimport {useCombinedRefs} from './hooks/useCombinedRefs'\nimport {AnchorSide} from './behaviors/anchoredPosition'\nimport {useTheme} from './ThemeProvider'\n\ntype StyledOverlayProps = {\n width?: keyof typeof widthMap\n height?: keyof typeof heightMap\n maxHeight?: keyof Omit<typeof heightMap, 'auto' | 'initial'>\n visibility?: 'visible' | 'hidden'\n anchorSide?: AnchorSide\n}\n\nconst heightMap = {\n xsmall: '192px',\n small: '256px',\n medium: '320px',\n large: '432px',\n xlarge: '600px',\n auto: 'auto',\n initial: 'auto' // Passing 'initial' initially applies 'auto'\n}\n\nconst widthMap = {\n small: '256px',\n medium: '320px',\n large: '480px',\n xlarge: '640px',\n xxlarge: '960px',\n auto: 'auto'\n}\nconst animationDuration = 200\n\nfunction getSlideAnimationStartingVector(anchorSide?: AnchorSide): {x: number; y: number} {\n if (anchorSide?.endsWith('bottom')) {\n return {x: 0, y: -1}\n } else if (anchorSide?.endsWith('top')) {\n return {x: 0, y: 1}\n } else if (anchorSide?.endsWith('right')) {\n return {x: -1, y: 0}\n } else if (anchorSide?.endsWith('left')) {\n return {x: 1, y: 0}\n }\n\n return {x: 0, y: 0}\n}\n\nconst StyledOverlay = styled.div<StyledOverlayProps & SystemCommonProps & SxProp>`\n background-color: ${get('colors.bg.overlay')};\n box-shadow: ${get('shadows.overlay.shadow')};\n position: absolute;\n min-width: 192px;\n max-width: 640px;\n height: ${props => heightMap[props.height || 'auto']};\n max-height: ${props => props.maxHeight && heightMap[props.maxHeight]};\n width: ${props => widthMap[props.width || 'auto']};\n border-radius: 12px;\n overflow: hidden;\n animation: overlay-appear ${animationDuration}ms ${get('animation.easeOutCubic')};\n\n @keyframes overlay-appear {\n 0% {\n opacity: 0;\n }\n 100% {\n opacity: 1;\n }\n }\n visibility: var(--styled-overlay-visibility);\n :focus {\n outline: none;\n }\n ${COMMON};\n ${sx};\n`\nexport type OverlayProps = {\n ignoreClickRefs?: React.RefObject<HTMLElement>[]\n initialFocusRef?: React.RefObject<HTMLElement>\n returnFocusRef: React.RefObject<HTMLElement>\n onClickOutside: (e: TouchOrMouseEvent) => void\n onEscape: (e: KeyboardEvent) => void\n visibility?: 'visible' | 'hidden'\n [additionalKey: string]: unknown\n top: number\n left: number\n portalContainerName?: string\n} & Omit<ComponentProps<typeof StyledOverlay>, 'visibility' | keyof SystemPositionProps>\n\n/**\n * An `Overlay` is a flexible floating surface, used to display transient content such as menus,\n * selection options, dialogs, and more. Overlays use shadows to express elevation. The `Overlay`\n * component handles all behaviors needed by overlay UIs as well as the common styles that all overlays * should have.\n * @param ignoreClickRefs Optional. An array of ref objects to ignore clicks on in the `onOutsideClick` behavior. This is often used to ignore clicking on the element that toggles the open/closed state for the `Overlay` to prevent the `Overlay` from being toggled twice.\n * @param initialFocusRef Optional. Ref for the element to focus when the `Overlay` is opened. If nothing is provided, the first focusable element in the `Overlay` body is focused.\n * @param returnFocusRef Required. Ref for the element to focus when the `Overlay` is closed.\n * @param onClickOutside Required. Function to call when clicking outside of the `Overlay`. Typically this function removes the Overlay.\n * @param onEscape Required. Function to call when user presses `Escape`. Typically this function removes the Overlay.\n * @param width Sets the width of the `Overlay`, pick from our set list of widths, or pass `auto` to automatically set the width based on the content of the `Overlay`. `small` corresponds to `256px`, `medium` corresponds to `320px`, `large` corresponds to `480px`, `xlarge` corresponds to `640px`, `xxlarge` corresponds to `960px`.\n * @param height Sets the height of the `Overlay`, pick from our set list of heights, or pass `auto` to automatically set the height based on the content of the `Overlay`, or pass `initial` to set the height based on the initial content of the `Overlay` (i.e. ignoring content changes). `xsmall` corresponds to `192px`, `small` corresponds to `256px`, `medium` corresponds to `320px`, `large` corresponds to `432px`, `xlarge` corresponds to `600px`.\n * @param maxHeight Sets the maximum height of the `Overlay`, pick from our set list of heights. `xsmall` corresponds to `192px`, `small` corresponds to `256px`, `medium` corresponds to `320px`, `large` corresponds to `432px`, `xlarge` corresponds to `600px`.\n * @param anchorSide If provided, the Overlay will slide into position from the side of the anchor with a brief animation\n * @param top Optional. Vertical position of the overlay, relative to its closest positioned ancestor (often its `Portal`).\n * @param left Optional. Horizontal position of the overlay, relative to its closest positioned ancestor (often its `Portal`).\n * @param portalContainerName Optional. The name of the portal container to render the Overlay into.\n */\nconst Overlay = React.forwardRef<HTMLDivElement, OverlayProps>(\n (\n {\n onClickOutside,\n role = 'none',\n initialFocusRef,\n returnFocusRef,\n ignoreClickRefs,\n onEscape,\n visibility = 'visible',\n height,\n top,\n left,\n anchorSide,\n portalContainerName,\n ...rest\n },\n forwardedRef\n ): ReactElement => {\n const overlayRef = useRef<HTMLDivElement>(null)\n const combinedRef = useCombinedRefs(overlayRef, forwardedRef)\n const {theme} = useTheme()\n const slideAnimationDistance = parseInt(get('space.2')(theme).replace('px', ''))\n const slideAnimationEasing = get('animation.easeOutCubic')(theme)\n\n useOverlay({\n overlayRef,\n returnFocusRef,\n onEscape,\n ignoreClickRefs,\n onClickOutside,\n initialFocusRef\n })\n\n useEffect(() => {\n if (height === 'initial' && combinedRef.current?.clientHeight) {\n combinedRef.current.style.height = `${combinedRef.current.clientHeight}px`\n }\n }, [height, combinedRef])\n\n useLayoutEffect(() => {\n const {x, y} = getSlideAnimationStartingVector(anchorSide)\n if ((!x && !y) || !overlayRef.current?.animate || visibility === 'hidden') {\n return\n }\n\n // JS animation is required because Safari does not allow css animations to start paused and then run\n overlayRef.current.animate(\n {transform: [`translate(${slideAnimationDistance * x}px, ${slideAnimationDistance * y}px)`, `translate(0, 0)`]},\n {\n duration: animationDuration,\n easing: slideAnimationEasing\n }\n )\n }, [anchorSide, slideAnimationDistance, slideAnimationEasing, visibility])\n\n return (\n <Portal containerName={portalContainerName}>\n <StyledOverlay\n height={height}\n role={role}\n {...rest}\n ref={combinedRef}\n style={\n {\n top: `${top || 0}px`,\n left: `${left || 0}px`,\n ...rest.style,\n '--styled-overlay-visibility': visibility\n } as React.CSSProperties\n }\n />\n </Portal>\n )\n }\n)\n\nOverlay.defaultProps = {\n height: 'auto',\n width: 'auto'\n}\n\nexport default Overlay\n","import React, {useCallback, useEffect, useMemo} from 'react'\nimport Overlay, {OverlayProps} from '../Overlay'\nimport {FocusTrapHookSettings, useFocusTrap} from '../hooks/useFocusTrap'\nimport {FocusZoneHookSettings, useFocusZone} from '../hooks/useFocusZone'\nimport {useAnchoredPosition, useProvidedRefOrCreate, useRenderForcingRef} from '../hooks'\nimport {uniqueId} from '../utils/uniqueId'\n\ninterface AnchoredOverlayPropsWithAnchor {\n /**\n * A custom function component used to render the anchor element.\n * Will receive the selected text as `children` prop when an item is activated.\n */\n renderAnchor: <T extends React.HTMLAttributes<HTMLElement>>(props: T) => JSX.Element\n\n /**\n * An override to the internal ref that will be spread on to the renderAnchor\n */\n anchorRef?: React.RefObject<HTMLElement>\n}\n\ninterface AnchoredOverlayPropsWithoutAnchor {\n /**\n * A custom function component used to render the anchor element.\n * When renderAnchor is null, an anchorRef is required.\n */\n renderAnchor: null\n\n /**\n * An override to the internal renderAnchor ref that will be used to position the overlay.\n * When renderAnchor is null this can be used to make an anchor that is detached from ActionMenu.\n */\n anchorRef: React.RefObject<HTMLElement>\n}\n\nexport type AnchoredOverlayWrapperAnchorProps =\n | Partial<AnchoredOverlayPropsWithAnchor>\n | AnchoredOverlayPropsWithoutAnchor\n\ninterface AnchoredOverlayBaseProps extends Pick<OverlayProps, 'height' | 'width'> {\n /**\n * Determines whether the overlay portion of the component should be shown or not\n */\n open: boolean\n\n /**\n * A callback which is called whenever the overlay is currently closed and an \"open gesture\" is detected.\n */\n onOpen?: (gesture: 'anchor-click' | 'anchor-key-press') => unknown\n\n /**\n * A callback which is called whenever the overlay is currently open and a \"close gesture\" is detected.\n */\n onClose?: (gesture: 'anchor-click' | 'click-outside' | 'escape') => unknown\n\n /**\n * Props to be spread on the internal `Overlay` component.\n */\n overlayProps?: Partial<OverlayProps>\n\n /**\n * Settings to apply to the Focus Zone on the internal `Overlay` component.\n */\n focusTrapSettings?: Partial<FocusTrapHookSettings>\n\n /**\n * Settings to apply to the Focus Zone on the internal `Overlay` component.\n */\n focusZoneSettings?: Partial<FocusZoneHookSettings>\n}\n\nexport type AnchoredOverlayProps = AnchoredOverlayBaseProps &\n (AnchoredOverlayPropsWithAnchor | AnchoredOverlayPropsWithoutAnchor)\n\n/**\n * An `AnchoredOverlay` provides an anchor that will open a floating overlay positioned relative to the anchor.\n * The overlay can be opened and navigated using keyboard or mouse.\n */\nexport const AnchoredOverlay: React.FC<AnchoredOverlayProps> = ({\n renderAnchor,\n anchorRef: externalAnchorRef,\n children,\n open,\n onOpen,\n onClose,\n height,\n width,\n overlayProps,\n focusTrapSettings,\n focusZoneSettings\n}) => {\n const anchorRef = useProvidedRefOrCreate(externalAnchorRef)\n const [overlayRef, updateOverlayRef] = useRenderForcingRef<HTMLDivElement>()\n const anchorId = useMemo(uniqueId, [])\n\n const onClickOutside = useCallback(() => onClose?.('click-outside'), [onClose])\n const onEscape = useCallback(() => onClose?.('escape'), [onClose])\n\n const onAnchorKeyDown = useCallback(\n (event: React.KeyboardEvent<HTMLElement>) => {\n if (!event.defaultPrevented) {\n if (!open && ['ArrowDown', 'ArrowUp', ' ', 'Enter'].includes(event.key)) {\n onOpen?.('anchor-key-press')\n event.preventDefault()\n }\n }\n },\n [open, onOpen]\n )\n const onAnchorClick = useCallback(\n (event: React.MouseEvent<HTMLElement>) => {\n if (event.defaultPrevented || event.button !== 0) {\n return\n }\n if (!open) {\n onOpen?.('anchor-click')\n } else {\n onClose?.('anchor-click')\n }\n },\n [open, onOpen, onClose]\n )\n\n const {position} = useAnchoredPosition(\n {\n anchorElementRef: anchorRef,\n floatingElementRef: overlayRef\n },\n [overlayRef.current]\n )\n\n useEffect(() => {\n // ensure overlay ref gets cleared when closed, so position can reset between closing/re-opening\n if (!open && overlayRef.current) {\n updateOverlayRef(null)\n }\n }, [open, overlayRef, updateOverlayRef])\n\n useFocusZone({\n containerRef: overlayRef,\n disabled: !open || !position,\n ...focusZoneSettings\n })\n useFocusTrap({containerRef: overlayRef, disabled: !open || !position, ...focusTrapSettings})\n\n return (\n <>\n {renderAnchor &&\n renderAnchor({\n ref: anchorRef,\n id: anchorId,\n 'aria-labelledby': anchorId,\n 'aria-haspopup': 'true',\n tabIndex: 0,\n onClick: onAnchorClick,\n onKeyDown: onAnchorKeyDown\n })}\n {open ? (\n <Overlay\n returnFocusRef={anchorRef}\n onClickOutside={onClickOutside}\n ignoreClickRefs={[anchorRef]}\n onEscape={onEscape}\n ref={updateOverlayRef}\n role=\"none\"\n visibility={position ? 'visible' : 'hidden'}\n height={height}\n width={width}\n top={position?.top || 0}\n left={position?.left || 0}\n anchorSide={position?.anchorSide}\n {...overlayProps}\n >\n {children}\n </Overlay>\n ) : null}\n </>\n )\n}\n\nAnchoredOverlay.displayName = 'AnchoredOverlay'\n","import {MutableRefObject, RefObject, useCallback, useRef, useState} from 'react'\n\n/**\n * There are certain situations where a ref might be set after the current render cycle for a\n * component has finished. e.g. a forward ref from a conditionally rendered child component.\n * In these situations, we need to force a re-render, which is done here by the useState hook.\n * @type TRef The type of the RefObject which should be created.\n */\nexport function useRenderForcingRef<TRef>() {\n const [refCurrent, setRefCurrent] = useState<TRef | null>(null)\n const ref = useRef<TRef>(null) as MutableRefObject<TRef | null>\n ref.current = refCurrent\n\n const setRef = useCallback(\n (newRef: TRef | null) => {\n ref.current = newRef\n setRefCurrent(newRef)\n },\n [ref]\n )\n return [ref as RefObject<TRef>, setRef] as const\n}\n","import {useCallback, useState} from 'react'\n\n/**\n * There are some situations where we want to give users the option to control state externally with their own state handlers\n * or default to using internal state handlers. Because of the 'rules-of-hooks', we cannot conditionally make a call to `React.useState`\n * only in the situations where the state is not provided as a prop.\n * This hook aims to encapsulate that logic, so the consumer doesn't need to be concerned with violating `rules-of-hooks`.\n * @param externalState The state to use - if undefined, will use the state from a call to React.useState\n * @param setExternalState The setState to use - if undefined, will use the setState from a call to React.useState\n * @param defaultState The defaultState to use, if using internal state.\n */\nexport function useProvidedStateOrCreate<T>(\n externalState: T | undefined,\n setExternalState: ((s: T) => void) | undefined,\n defaultState: T\n) {\n const [internalState, setInternalState] = useState<T>(defaultState)\n const state = externalState ?? internalState\n const setState = useCallback(\n (s: T) => {\n setInternalState(s)\n if (setExternalState) setExternalState(s)\n },\n [setExternalState]\n )\n return [state, setState] as const\n}\n","import {GroupedListProps, List, ListPropsBase} from './ActionList/List'\nimport {Item, ItemProps} from './ActionList/Item'\nimport {Divider} from './ActionList/Divider'\nimport Button, {ButtonProps} from './Button'\nimport React, {useCallback, useMemo} from 'react'\nimport {AnchoredOverlay} from './AnchoredOverlay'\nimport {useProvidedStateOrCreate} from './hooks/useProvidedStateOrCreate'\nimport {OverlayProps} from './Overlay'\nimport {useProvidedRefOrCreate} from './hooks'\nimport {AnchoredOverlayWrapperAnchorProps} from './AnchoredOverlay/AnchoredOverlay'\n\ninterface ActionMenuBaseProps extends Partial<Omit<GroupedListProps, keyof ListPropsBase>>, ListPropsBase {\n /**\n * Content that is passed into the renderAnchor component, which is a button by default.\n */\n anchorContent?: React.ReactNode\n\n /**\n * A callback that triggers both on clicks and keyboard events. This callback will be overridden by item level `onAction` callbacks.\n */\n onAction?: (props: ItemProps, event?: React.MouseEvent<HTMLDivElement> | React.KeyboardEvent<HTMLDivElement>) => void\n\n /**\n * If defined, will control the open/closed state of the overlay. Must be used in conjuction with `setOpen`.\n */\n open?: boolean\n\n /**\n * If defined, will control the open/closed state of the overlay. Must be used in conjuction with `open`.\n */\n setOpen?: (s: boolean) => void\n\n /**\n * Props to be spread on the internal `Overlay` component.\n */\n overlayProps?: Partial<OverlayProps>\n}\n\nexport type ActionMenuProps = ActionMenuBaseProps & AnchoredOverlayWrapperAnchorProps\n\nconst ActionMenuItem = (props: ItemProps) => <Item role=\"menuitem\" {...props} />\n\nActionMenuItem.displayName = 'ActionMenu.Item'\n\nconst ActionMenuBase = ({\n anchorContent,\n renderAnchor = <T extends ButtonProps>(props: T) => <Button {...props} />,\n anchorRef: externalAnchorRef,\n onAction,\n open,\n setOpen,\n overlayProps,\n items,\n ...listProps\n}: ActionMenuProps): JSX.Element => {\n const [combinedOpenState, setCombinedOpenState] = useProvidedStateOrCreate(open, setOpen, false)\n const anchorRef = useProvidedRefOrCreate(externalAnchorRef)\n const onOpen = useCallback(() => setCombinedOpenState(true), [setCombinedOpenState])\n const onClose = useCallback(() => setCombinedOpenState(false), [setCombinedOpenState])\n\n const renderMenuAnchor = useMemo(() => {\n if (renderAnchor === null) {\n return null\n }\n return <T extends React.HTMLAttributes<HTMLElement>>(props: T) => {\n return renderAnchor({\n 'aria-label': 'menu',\n children: anchorContent,\n ...props\n })\n }\n }, [anchorContent, renderAnchor])\n\n const itemsToRender = useMemo(() => {\n return items.map(item => {\n return {\n ...item,\n role: 'menuitem',\n onAction: (props, event) => {\n const actionCallback = item.onAction ?? onAction\n actionCallback?.(props as ItemProps, event)\n if (!event.defaultPrevented) {\n onClose()\n }\n }\n } as ItemProps\n })\n }, [items, onAction, onClose])\n\n return (\n <AnchoredOverlay\n renderAnchor={renderMenuAnchor}\n anchorRef={anchorRef}\n open={combinedOpenState}\n onOpen={onOpen}\n onClose={onClose}\n overlayProps={overlayProps}\n >\n <List {...listProps} role=\"menu\" items={itemsToRender} />\n </AnchoredOverlay>\n )\n}\n\nActionMenuBase.displayName = 'ActionMenu'\n\nexport const ActionMenu = Object.assign(ActionMenuBase, {Divider, Item: ActionMenuItem})\n","import styled from 'styled-components'\nimport {COMMON, get, SystemCommonProps} from './constants'\nimport sx, {SxProp} from './sx'\nimport {ComponentProps} from './utils/types'\n\ntype StyledAvatarProps = {\n /** Sets the width and height of the avatar. */\n size?: number\n /** Sets the shape of the avatar to a square if true. If false, the avatar will be circular. */\n square?: boolean\n /** URL of the avatar image. */\n src: string\n /** Provide alt text when the Avatar is used without the user's name next to it. */\n alt?: string\n} & SystemCommonProps &\n SxProp\n\nfunction getBorderRadius({size, square}: StyledAvatarProps) {\n if (square) {\n return size && size <= 24 ? '4px' : '6px'\n } else {\n return '50%'\n }\n}\n\nconst Avatar = styled.img.attrs<StyledAvatarProps>(props => ({\n height: props.size,\n width: props.size\n}))<StyledAvatarProps>`\n display: inline-block;\n overflow: hidden; // Ensure page layout in Firefox should images fail to load\n line-height: ${get('lineHeights.condensedUltra')};\n vertical-align: middle;\n border-radius: ${props => getBorderRadius(props)};\n ${COMMON};\n ${sx}\n`\n\nAvatar.defaultProps = {\n size: 20,\n alt: '',\n square: false\n}\n\nexport type AvatarProps = ComponentProps<typeof Avatar>\nexport default Avatar\n","import React from 'react'\nimport styled from 'styled-components'\nimport Avatar from './Avatar'\nimport {get} from './constants'\nimport {Box, BoxProps} from '.'\n\nconst ChildAvatar = styled(Avatar)`\n position: absolute;\n right: -15%;\n bottom: -9%;\n box-shadow: ${get('shadows.avatar.childShadow')};\n`\n\nexport type AvatarPairProps = BoxProps\n\nconst AvatarPair = ({children, ...rest}: AvatarPairProps) => {\n const avatars = React.Children.map(children, (child, i) => {\n if (!React.isValidElement(child)) return child\n return i === 0 ? React.cloneElement(child, {size: 40}) : <ChildAvatar bg=\"bg.canvas\" {...child.props} size={20} />\n })\n return (\n <Box position=\"relative\" display=\"inline-flex\" {...rest}>\n {avatars}\n </Box>\n )\n}\n\n// styled() changes this\nAvatarPair.displayName = 'AvatarPair'\n\nexport default AvatarPair\n","/*!\n Copyright (c) 2018 Jed Watson.\n Licensed under the MIT License (MIT), see\n http://jedwatson.github.io/classnames\n*/\n/* global define */\n\n(function () {\n\t'use strict';\n\n\tvar hasOwn = {}.hasOwnProperty;\n\n\tfunction classNames() {\n\t\tvar classes = [];\n\n\t\tfor (var i = 0; i < arguments.length; i++) {\n\t\t\tvar arg = arguments[i];\n\t\t\tif (!arg) continue;\n\n\t\t\tvar argType = typeof arg;\n\n\t\t\tif (argType === 'string' || argType === 'number') {\n\t\t\t\tclasses.push(arg);\n\t\t\t} else if (Array.isArray(arg)) {\n\t\t\t\tif (arg.length) {\n\t\t\t\t\tvar inner = classNames.apply(null, arg);\n\t\t\t\t\tif (inner) {\n\t\t\t\t\t\tclasses.push(inner);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} else if (argType === 'object') {\n\t\t\t\tif (arg.toString === Object.prototype.toString) {\n\t\t\t\t\tfor (var key in arg) {\n\t\t\t\t\t\tif (hasOwn.call(arg, key) && arg[key]) {\n\t\t\t\t\t\t\tclasses.push(key);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tclasses.push(arg.toString());\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn classes.join(' ');\n\t}\n\n\tif (typeof module !== 'undefined' && module.exports) {\n\t\tclassNames.default = classNames;\n\t\tmodule.exports = classNames;\n\t} else if (typeof define === 'function' && typeof define.amd === 'object' && define.amd) {\n\t\t// register as 'classnames', consistent with npm package name\n\t\tdefine('classnames', [], function () {\n\t\t\treturn classNames;\n\t\t});\n\t} else {\n\t\twindow.classNames = classNames;\n\t}\n}());\n","import classnames from 'classnames'\nimport React from 'react'\nimport styled from 'styled-components'\nimport {COMMON, get, SystemCommonProps} from './constants'\nimport {Box} from '.'\nimport sx, {SxProp} from './sx'\nimport {ComponentProps} from './utils/types'\n\ntype StyledAvatarStackWrapperProps = {\n count?: number\n} & SystemCommonProps &\n SxProp\n\nconst AvatarStackWrapper = styled.span<StyledAvatarStackWrapperProps>`\n display: flex;\n position: relative;\n height: 20px;\n min-width: ${props => (props.count === 1 ? '20px' : props.count === 2 ? '30px' : '38px')};\n\n .pc-AvatarItem {\n flex-shrink: 0;\n height: 20px;\n width: 20px;\n box-shadow: 0 0 0 1px ${get('colors.bg.canvas')};\n margin-left: -11px;\n position: relative;\n overflow: hidden;\n transition: margin 0.2s ease-in-out, opacity 0.2s ease-in-out, visibility 0.2s ease-in-out,\n box-shadow 0.1s ease-in-out;\n\n &:first-child {\n margin-left: 0;\n }\n &:nth-child(n + 4) {\n display: none;\n }\n }\n\n &.pc-AvatarStack--two {\n min-width: 30px;\n .pc-AvatarItem {\n &:nth-child(n + 3) {\n display: none;\n }\n }\n }\n\n &.pc-AvatarStack--three-plus {\n min-width: 38px;\n .pc-AvatarItem {\n &:nth-child(3) {\n opacity: ${100 - 3 * 15}%;\n margin-left: -17px;\n }\n &:nth-child(4) {\n opacity: ${100 - 4 * 15}%;\n margin-left: -17px;\n }\n &:nth-child(5) {\n opacity: ${100 - 5 * 15}%;\n margin-left: -17px;\n }\n &:nth-child(n + 4) {\n display: block;\n }\n &:nth-child(n + 6) {\n opacity: 0;\n visibility: hidden;\n }\n }\n }\n\n &.pc-AvatarStack--right {\n justify-content: flex-end;\n .pc-AvatarItem {\n margin-left: 0 !important;\n margin-right: -11px;\n\n &:first-child {\n margin-right: 0;\n }\n }\n\n .pc-AvatarStackBody {\n flex-direction: row-reverse;\n\n &:hover {\n .pc-AvatarItem {\n margin-right: ${get('space.1')}!important;\n margin-left: 0 !important;\n\n &:first-child {\n margin-right: 0 !important;\n }\n }\n }\n }\n }\n\n &.pc-AvatarStack--three-plus.pc-AvatarStack--right {\n .pc-AvatarItem {\n &:nth-child(3) {\n margin-right: -17px;\n }\n &:nth-child(4) {\n margin-right: -17px;\n }\n &:nth-child(5) {\n margin-right: -17px;\n }\n }\n }\n\n .pc-AvatarStackBody:hover {\n width: auto;\n\n .pc-AvatarItem {\n margin-left: ${get('space.1')};\n opacity: 100%;\n visibility: visible;\n box-shadow: 0 0 0 4px ${get('colors.bg.canvas')};\n &:first-child {\n margin-left: 0;\n }\n }\n }\n\n ${COMMON}\n ${sx};\n`\nconst transformChildren = (children: React.ReactNode) => {\n return React.Children.map(children, (child, index) => {\n if (!React.isValidElement(child)) return child\n return React.cloneElement(child, {\n className: classnames(child.props.className, 'pc-AvatarItem'),\n sx: {zIndex: 10 - index, ...child.props.sx}\n })\n })\n}\n\nexport type AvatarStackProps = {\n alignRight?: boolean\n} & ComponentProps<typeof AvatarStackWrapper>\n\nconst AvatarStack = ({children, alignRight, ...rest}: AvatarStackProps) => {\n const count = React.Children.count(children)\n const wrapperClassNames = classnames({\n 'pc-AvatarStack--two': count === 2,\n 'pc-AvatarStack--three-plus': count > 2,\n 'pc-AvatarStack--right': alignRight\n })\n return (\n <AvatarStackWrapper count={count} className={wrapperClassNames} {...rest}>\n <Box position=\"absolute\" display=\"flex\" width=\"38px\" className=\"pc-AvatarStackBody\">\n {transformChildren(children)}\n </Box>\n </AvatarStackWrapper>\n )\n}\n\nexport default AvatarStack\n","import styled from 'styled-components'\nimport {COMMON, get, SystemCommonProps} from './constants'\nimport sx, {SxProp} from './sx'\nimport {ComponentProps} from './utils/types'\n\nconst BranchName = styled.a<SystemCommonProps & SxProp>`\n display: inline-block;\n padding: 2px 6px;\n font-size: ${get('fontSizes.0')};\n font-family: ${get('fonts.mono')};\n color: ${get('colors.branchName.text')};\n background-color: ${get('colors.branchName.bg')};\n border-radius: ${get('radii.2')};\n ${COMMON};\n ${sx};\n`\n\nexport type BranchNameProps = ComponentProps<typeof BranchName>\nexport default BranchName\n","import classnames from 'classnames'\n// eslint-disable-next-line import/no-namespace\nimport * as History from 'history'\nimport React from 'react'\nimport styled from 'styled-components'\nimport Box from './Box'\nimport {COMMON, FLEX, get, SystemCommonProps, SystemFlexProps} from './constants'\nimport sx, {SxProp} from './sx'\nimport {ComponentProps} from './utils/types'\n\nconst SELECTED_CLASS = 'selected'\n\nconst Wrapper = styled.li`\n display: inline-block;\n white-space: nowrap;\n list-style: none;\n &::after {\n padding-right: 0.5em;\n padding-left: 0.5em;\n color: ${get('colors.text.disabled')};\n font-size: ${get('fontSizes.1')};\n content: '/';\n }\n &:first-child {\n margin-left: 0;\n }\n &:last-child {\n &::after {\n content: none;\n }\n }\n`\n\nconst BreadcrumbBase = styled.nav<SystemFlexProps & SystemCommonProps & SxProp>`\n display: flex;\n justify-content: space-between;\n ${COMMON};\n ${FLEX};\n ${sx};\n`\n\nexport type BreadcrumbProps = ComponentProps<typeof BreadcrumbBase>\n\nfunction Breadcrumb({className, children, theme, ...rest}: React.PropsWithChildren<BreadcrumbProps>) {\n const classes = classnames(className, 'Breadcrumb')\n const wrappedChildren = React.Children.map(children, child => <Wrapper theme={theme}>{child}</Wrapper>)\n return (\n <BreadcrumbBase className={classes} aria-label=\"breadcrumb\" theme={theme} {...rest}>\n <Box as=\"ol\" my={0} pl={0}>\n {wrappedChildren}\n </Box>\n </BreadcrumbBase>\n )\n}\n\ntype StyledBreadcrumbItemProps = {\n to?: History.LocationDescriptor\n selected?: boolean\n} & SystemCommonProps &\n SxProp\n\nconst BreadcrumbItem = styled.a.attrs<StyledBreadcrumbItemProps>(props => ({\n activeClassName: typeof props.to === 'string' ? 'selected' : '',\n className: classnames(props.selected && SELECTED_CLASS, props.className),\n 'aria-current': props.selected ? 'page' : null\n}))<StyledBreadcrumbItemProps>`\n color: ${get('colors.text.link')};\n display: inline-block;\n font-size: ${get('fontSizes.1')};\n text-decoration: none;\n &:hover {\n text-decoration: underline;\n }\n &.selected {\n color: ${get('colors.text.primary')};\n pointer-events: none;\n }\n ${COMMON}\n ${sx};\n`\n\nBreadcrumb.displayName = 'Breadcrumb'\n\nBreadcrumbItem.displayName = 'Breadcrumb.Item'\n\nexport type BreadcrumbItemProps = ComponentProps<typeof BreadcrumbItem>\nexport default Object.assign(Breadcrumb, {Item: BreadcrumbItem})\n","import React from 'react'\nimport {ThemeContext} from 'styled-components'\nimport {style} from 'styled-system'\nimport {Theme} from './ThemeProvider'\n\ntype Location =\n | 'top'\n | 'top-left'\n | 'top-right'\n | 'right'\n | 'right-top'\n | 'right-bottom'\n | 'bottom'\n | 'bottom-left'\n | 'bottom-right'\n | 'left'\n | 'left-top'\n | 'left-bottom'\n\ntype Alignment = 'top' | 'right' | 'bottom' | 'left'\n\nconst oppositeEdge = {\n top: 'Bottom',\n right: 'Left',\n bottom: 'Top',\n left: 'Right'\n}\n\nconst perpendicularEdge = {\n top: 'Left',\n right: 'Top',\n bottom: 'Left',\n left: 'Top'\n}\n\nfunction getEdgeAlign(location: Location) {\n const [edge, align] = location.split('-')\n return [edge as Alignment, align as Alignment | undefined] as const\n}\n\nfunction getPosition(edge: Alignment, align: Alignment | undefined, spacing: number) {\n const opposite = oppositeEdge[edge].toLowerCase()\n const perp = perpendicularEdge[edge].toLowerCase()\n return {\n [opposite]: '100%',\n [align || perp]: align ? spacing : '50%'\n }\n}\n\nconst getBg = style({prop: 'bg', key: 'colors'})\nconst getBorderColor = style({prop: 'borderColor', key: 'colors'})\nconst getBorderWidth = style({prop: 'borderWidth', key: 'borderWidths', scale: [0, 1]})\n\nexport type CaretProps = {\n bg?: string\n borderColor?: string\n borderWidth?: string | number\n size?: number\n location?: Location\n theme?: Theme\n}\n\nfunction Caret(props: CaretProps) {\n const theme = React.useContext(ThemeContext)\n const propsWithTheme = {...props, theme: props.theme ?? theme}\n const {bg} = getBg(propsWithTheme)\n const {borderColor} = getBorderColor(propsWithTheme)\n const {borderWidth} = getBorderWidth(propsWithTheme)\n const {size = 8, location = 'bottom'} = props\n const [edge, align] = getEdgeAlign(location)\n const perp = perpendicularEdge[edge]\n\n // note: these arrays represent points in the form [x, y]\n const a = [-size, 0]\n const b = [0, size]\n const c = [size, 0]\n\n // spaces are optional in path `d` attribute, and points are\n // represented in the form `x,y` -- which is what the arrays above\n // become when stringified!\n const triangle = `M${a}L${b}L${c}L${a}Z`\n const line = `M${a}L${b}L${c}`\n\n const transform = {\n top: `translate(${[size, size * 2]}) rotate(180)`,\n right: `translate(${[0, size]}) rotate(-90)`,\n bottom: `translate(${[size, 0]})`,\n left: `translate(${[size * 2, size]}) rotate(90)`\n }[edge]\n\n return (\n <svg\n width={size * 2}\n height={size * 2}\n style={{\n pointerEvents: 'none',\n position: 'absolute',\n ...getPosition(edge, align, size),\n // if align is set (top|right|bottom|left),\n // then we don't need an offset margin\n [`margin${perp}`]: align ? null : -size\n }}\n >\n <g transform={transform}>\n <path d={triangle} fill={bg} />\n <path d={line} fill=\"none\" stroke={borderColor} strokeWidth={borderWidth} />\n </g>\n </svg>\n )\n}\n\nCaret.locations = [\n 'top',\n 'top-left',\n 'top-right',\n 'right',\n 'right-top',\n 'right-bottom',\n 'bottom',\n 'bottom-left',\n 'bottom-right',\n 'left',\n 'left-top',\n 'left-bottom'\n]\n\nCaret.defaultProps = {\n bg: 'bg.canvas',\n borderColor: 'border.primary',\n borderWidth: 1\n}\n\nexport default Caret\n","import styled from 'styled-components'\nimport {COMMON, get, SystemCommonProps} from './constants'\nimport StyledOcticon from './StyledOcticon'\nimport sx, {SxProp} from './sx'\nimport isNumeric from './utils/isNumeric'\nimport {ComponentProps} from './utils/types'\n\nconst variantSizes = {\n small: 56,\n medium: 96,\n large: 128\n}\n\ntype StyledCircleBadgeProps = {\n inline?: boolean\n variant?: keyof typeof variantSizes\n size?: number\n} & SystemCommonProps &\n SxProp\n\nconst sizeStyles = ({size, variant = 'medium'}: StyledCircleBadgeProps) => {\n const calc = isNumeric(size) ? size : variantSizes[variant]\n return {\n width: calc,\n height: calc\n }\n}\n\nconst CircleBadge = styled.div<StyledCircleBadgeProps>`\n display: ${props => (props.inline ? 'inline-flex' : 'flex')};\n align-items: center;\n justify-content: center;\n background-color: ${get('colors.bg.canvas')};\n border-radius: 50%;\n box-shadow: ${get('shadows.shadow.medium')};\n ${COMMON};\n ${sizeStyles};\n ${sx};\n`\n\nconst CircleBadgeIcon = styled(StyledOcticon)`\n height: auto;\n max-width: 60%;\n max-height: 55%;\n`\n\nCircleBadge.defaultProps = {\n inline: false\n}\n\nCircleBadgeIcon.displayName = 'CircleBadge.Icon'\n\nexport type CircleBadgeProps = ComponentProps<typeof CircleBadge>\nexport type CircleBadgeIconProps = ComponentProps<typeof CircleBadgeIcon>\nexport default Object.assign(CircleBadge, {Icon: CircleBadgeIcon})\n","// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport default function isNumeric(n: any) {\n return !isNaN(parseFloat(n)) && isFinite(n)\n}\n","import {IconProps} from '@primer/octicons-react'\nimport React from 'react'\nimport Box, {BoxProps} from './Box'\n\nexport type CircleOcticonProps = {\n as?: React.ElementType\n size?: number\n icon: React.ComponentType<{size?: IconProps['size']}>\n} & BoxProps\n\nfunction CircleOcticon(props: CircleOcticonProps) {\n const {size, as} = props\n const {icon: IconComponent, bg, ...rest} = props\n return (\n <Box\n as={as}\n bg={bg}\n overflow=\"hidden\"\n borderWidth={0}\n size={size}\n borderRadius=\"50%\"\n borderStyle=\"solid\"\n borderColor=\"border.primary\"\n >\n <Box display=\"flex\" {...rest} alignItems=\"center\" justifyContent=\"center\">\n <IconComponent size={size} />\n </Box>\n </Box>\n )\n}\n\nCircleOcticon.defaultProps = {\n ...Box.defaultProps,\n size: 32\n}\n\nexport default CircleOcticon\n","import styled from 'styled-components'\nimport {COMMON, get, SystemCommonProps} from './constants'\nimport sx, {SxProp} from './sx'\nimport {ComponentProps} from './utils/types'\n\ntype StyledCounterLabelProps = {\n scheme?: 'primary' | 'secondary'\n} & SystemCommonProps &\n SxProp\n\nconst colorStyles = ({scheme, ...props}: StyledCounterLabelProps) => {\n return {\n color:\n scheme === 'secondary'\n ? get('colors.counter.text')(props)\n : scheme === 'primary'\n ? get('colors.counter.primary.text')(props)\n : get('colors.counter.text')(props)\n }\n}\n\nconst bgStyles = ({scheme, ...props}: StyledCounterLabelProps) => {\n return {\n backgroundColor:\n scheme === 'secondary'\n ? get('colors.counter.bg')(props)\n : scheme === 'primary'\n ? get('colors.counter.primary.bg')(props)\n : get('colors.counter.bg')(props)\n }\n}\n\nconst CounterLabel = styled.span<StyledCounterLabelProps>`\n display: inline-block;\n padding: 2px 5px;\n font-size: ${get('fontSizes.0')};\n font-weight: ${get('fontWeights.bold')};\n line-height: ${get('lineHeights.condensedUltra')};\n border-radius: 20px;\n ${colorStyles};\n ${bgStyles};\n ${COMMON};\n\n &:empty {\n display: none;\n }\n\n ${sx};\n`\n\nexport type CounterLabelProps = ComponentProps<typeof CounterLabel>\nexport default CounterLabel\n","import styled from 'styled-components'\nimport {COMMON, SystemCommonProps} from './constants'\nimport sx, {SxProp} from './sx'\nimport {ComponentProps} from './utils/types'\n\ntype StyledDetailsProps = SystemCommonProps & SxProp\n\nconst Details = styled.details<StyledDetailsProps>`\n & > summary {\n list-style: none;\n }\n & > summary::-webkit-details-marker {\n display: none;\n }\n\n ${COMMON}\n ${sx};\n`\n\nDetails.displayName = 'Details'\n\nexport type DetailsProps = ComponentProps<typeof Details>\nexport default Details\n","import {useCallback, useEffect} from 'react'\n\nconst noop = () => null\n\nfunction visible(el: HTMLInputElement) {\n return !el.hidden && (!el.type || el.type !== 'hidden') && (el.offsetWidth > 0 || el.offsetHeight > 0)\n}\n\nfunction focusable(el: Element) {\n const inputEl = el as HTMLInputElement\n return inputEl.tabIndex >= 0 && !inputEl.disabled && visible(inputEl)\n}\n\ntype UseDialogParameters = {\n modalRef: React.RefObject<HTMLElement>\n overlayRef: React.RefObject<HTMLElement>\n isOpen?: boolean\n onDismiss?: () => void\n initialFocusRef?: React.RefObject<HTMLElement>\n closeButtonRef?: React.RefObject<HTMLElement>\n returnFocusRef?: React.RefObject<HTMLElement>\n}\n\nfunction useDialog({\n modalRef,\n overlayRef,\n isOpen,\n onDismiss = noop,\n initialFocusRef,\n closeButtonRef\n}: UseDialogParameters) {\n const onClickOutside = useCallback(\n e => {\n if (\n modalRef.current &&\n overlayRef.current &&\n !modalRef.current.contains(e.target) &&\n overlayRef.current.contains(e.target)\n ) {\n onDismiss()\n }\n },\n [onDismiss, modalRef, overlayRef]\n )\n\n useEffect(() => {\n if (isOpen) {\n document.addEventListener('click', onClickOutside)\n return () => {\n document.removeEventListener('click', onClickOutside)\n }\n }\n }, [isOpen, onClickOutside])\n\n useEffect(() => {\n if (isOpen) {\n if (initialFocusRef && initialFocusRef.current) {\n initialFocusRef.current.focus()\n } else if (closeButtonRef && closeButtonRef.current) {\n closeButtonRef.current.focus()\n }\n }\n }, [isOpen, initialFocusRef, closeButtonRef])\n\n const getFocusableItem = useCallback(\n (e: Event, movement: number) => {\n if (modalRef.current) {\n const items = Array.from(modalRef.current.querySelectorAll('*')).filter(focusable)\n if (items.length === 0) return\n e.preventDefault()\n const focusedElement = document.activeElement\n if (!focusedElement) {\n return\n }\n\n const index = items.indexOf(focusedElement)\n const offsetIndex = index + movement\n const fallbackIndex = movement === 1 ? 0 : items.length - 1\n const focusableItem = items[offsetIndex] || items[fallbackIndex]\n return focusableItem as HTMLElement\n }\n },\n [modalRef]\n )\n\n const handleTab = useCallback(\n e => {\n const movement = e.shiftKey ? -1 : 1\n const focusableItem = getFocusableItem(e, movement)\n if (!focusableItem) {\n return\n }\n\n focusableItem.focus()\n },\n [getFocusableItem]\n )\n\n const onKeyDown = useCallback(\n event => {\n switch (event.key) {\n case 'Tab':\n handleTab(event)\n break\n case 'Escape':\n onDismiss()\n event.stopPropagation()\n break\n }\n },\n [handleTab, onDismiss]\n )\n\n const getDialogProps = () => {\n return {onKeyDown}\n }\n\n return {getDialogProps}\n}\n\nexport default useDialog\n","import styled from 'styled-components'\nimport {COMMON, SystemCommonProps, SystemTypographyProps, TYPOGRAPHY} from './constants'\nimport sx, {SxProp} from './sx'\nimport {ComponentProps} from './utils/types'\n\nconst Text = styled.span<SystemTypographyProps & SystemCommonProps & SxProp>`\n ${TYPOGRAPHY};\n ${COMMON};\n ${sx};\n`\n\nexport type TextProps = ComponentProps<typeof Text>\nexport default Text\n","import React, {forwardRef, useRef} from 'react'\nimport styled from 'styled-components'\nimport ButtonClose from './Button/ButtonClose'\nimport {COMMON, get, LAYOUT, SystemCommonProps, SystemLayoutProps} from './constants'\nimport Box from './Box'\nimport useDialog from './hooks/useDialog'\nimport sx, {SxProp} from './sx'\nimport Text from './Text'\nimport {ComponentProps} from './utils/types'\nimport {useCombinedRefs} from './hooks/useCombinedRefs'\n\nconst noop = () => null\n\ntype StyledDialogBaseProps = {\n narrow?: boolean\n wide?: boolean\n} & SystemLayoutProps &\n SystemCommonProps &\n SxProp\n\nconst DialogBase = styled.div<StyledDialogBaseProps>`\n box-shadow: ${get('shadows.shadow.large')};\n border-radius: ${get('radii.2')};\n position: fixed;\n top: 0;\n left: 50%;\n transform: translateX(-50%);\n max-height: 80vh;\n z-index: 999;\n margin: 10vh auto;\n background-color: ${get('colors.bg.primary')};\n width: ${props => (props.narrow ? '320px' : props.wide ? '640px' : '440px')};\n outline: none;\n\n @media screen and (max-width: 750px) {\n width: 100vw;\n margin: 0;\n border-radius: 0;\n height: 100vh;\n }\n\n ${LAYOUT};\n ${COMMON};\n ${sx};\n`\n\nconst DialogHeaderBase = styled(Box)<SxProp>`\n border-radius: ${get('radii.2')} ${get('radii.2')} 0px 0px;\n border-bottom: 1px solid ${get('colors.border.primary')};\n display: flex;\n\n @media screen and (max-width: 750px) {\n border-radius: 0px;\n }\n\n ${sx};\n`\nexport type DialogHeaderProps = ComponentProps<typeof DialogHeaderBase>\n\nfunction DialogHeader({theme, children, backgroundColor = 'gray.1', ...rest}: DialogHeaderProps) {\n if (React.Children.toArray(children).every(ch => typeof ch === 'string')) {\n children = (\n <Text theme={theme} color=\"text.primary\" fontSize={1} fontWeight=\"bold\" fontFamily=\"sans-serif\">\n {children}\n </Text>\n )\n }\n\n return (\n <DialogHeaderBase theme={theme} p={3} backgroundColor={backgroundColor} {...rest}>\n {children}\n </DialogHeaderBase>\n )\n}\n\nconst Overlay = styled.span`\n &:before {\n position: fixed;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n display: block;\n cursor: default;\n content: ' ';\n background: transparent;\n z-index: 99;\n background: ${get('colors.fade.black50')};\n }\n`\n\ntype InternalDialogProps = {\n isOpen?: boolean\n onDismiss?: () => void\n initialFocusRef?: React.RefObject<HTMLElement>\n returnFocusRef?: React.RefObject<HTMLElement>\n} & ComponentProps<typeof DialogBase>\n\nconst Dialog = forwardRef<HTMLDivElement, InternalDialogProps>(\n ({children, onDismiss = noop, isOpen, initialFocusRef, returnFocusRef, ...props}, forwardedRef) => {\n const overlayRef = useRef(null)\n const modalRef = useCombinedRefs(forwardedRef)\n const closeButtonRef = useRef(null)\n\n const onCloseClick = () => {\n onDismiss()\n if (returnFocusRef && returnFocusRef.current) {\n returnFocusRef.current.focus()\n }\n }\n\n const {getDialogProps} = useDialog({\n modalRef,\n onDismiss: onCloseClick,\n isOpen,\n initialFocusRef,\n closeButtonRef,\n returnFocusRef,\n overlayRef\n })\n return isOpen ? (\n <>\n <Overlay ref={overlayRef} />\n <DialogBase tabIndex={-1} ref={modalRef} role=\"dialog\" aria-modal=\"true\" {...props} {...getDialogProps()}>\n <ButtonClose\n ref={closeButtonRef}\n onClick={onCloseClick}\n sx={{position: 'absolute', top: '16px', right: '16px'}}\n />\n {children}\n </DialogBase>\n </>\n ) : null\n }\n)\n\nDialogHeader.defaultProps = {\n backgroundColor: 'bg.tertiary'\n}\n\nDialogHeader.propTypes = {\n ...Box.propTypes\n}\n\nDialogHeader.displayName = 'Dialog.Header'\nDialog.displayName = 'Dialog'\n\nexport type DialogProps = ComponentProps<typeof Dialog>\nexport default Object.assign(Dialog, {Header: DialogHeader})\n","import {get} from './constants'\nimport {Theme} from './ThemeProvider'\n\nconst getDirectionStyles = (theme: Theme, direction: 'ne' | 'e' | 'se' | 's' | 'sw' | 'w') => {\n const map = {\n w: `\n top: 0;\n right: 100%;\n left: auto;\n width: auto;\n margin-top: 0;\n margin-right: 10px;\n\n &::before {\n top: 10px;\n right: -16px;\n left: auto;\n border-color: transparent;\n border-left-color: ${get('colors.border.overlay')(theme)};\n }\n\n &::after {\n top: 11px;\n right: -14px;\n left: auto;\n border-color: transparent;\n border-left-color: ${get('colors.border.overlay')(theme)};\n }\n `,\n e: `\n top: 0;\n left: 100%;\n width: auto;\n margin-top: 0;\n margin-left: 10px;\n\n &::before {\n top: 10px;\n left: -16px;\n border-color: transparent;\n border-right-color: ${get('colors.border.overlay')(theme)};\n }\n\n &::after {\n top: 11px;\n left: -14px;\n border-color: transparent;\n border-right-color: ${get('colors.border.overlay')(theme)};\n }\n `,\n ne: `\n top: auto;\n bottom: 100%;\n left: 0;\n margin-bottom: 3px;\n\n &::before,\n &::after {\n top: auto;\n right: auto;\n }\n\n &::before {\n bottom: -8px;\n left: 9px;\n border-top: 8px solid ${get('colors.border.overlay')(theme)};\n border-bottom: 0;\n border-left: 8px solid transparent;\n }\n\n &::after {\n bottom: -7px;\n left: 10px;\n border-top: 7px solid ${get('colors.border.overlay')(theme)};\n border-right: 7px solid transparent;\n border-bottom: 0;\n border-left: 7px solid transparent;\n }\n `,\n s: `\n right: 50%;\n left: auto;\n transform: translateX(50%);\n\n &::before {\n top: -16px;\n right: 50%;\n transform: translateX(50%);\n }\n\n &::after {\n top: -14px;\n right: 50%;\n transform: translateX(50%);\n }\n `,\n sw: `\n right: 0;\n left: auto;\n\n &::before {\n top: -16px;\n right: 9px;\n left: auto;\n }\n\n &::after {\n top: -14px;\n right: 10px;\n left: auto;\n }\n `,\n se: `\n &::before {\n top: -16px;\n left: 9px;\n }\n\n &::after {\n top: -14px;\n left: 10px;\n }\n `\n }\n return map[direction]\n}\n\nexport default getDirectionStyles\n","import React from 'react'\nimport styled from 'styled-components'\nimport Button, {ButtonProps} from './Button'\nimport {COMMON, get, SystemCommonProps} from './constants'\nimport Details, {DetailsProps} from './Details'\nimport getDirectionStyles from './DropdownStyles'\nimport useDetails from './hooks/useDetails'\nimport sx, {SxProp} from './sx'\nimport {ComponentProps} from './utils/types'\n\nconst StyledDetails = styled(Details)`\n position: relative;\n display: inline-block;\n`\n\nexport type DropdownProps = DetailsProps\n\nconst Dropdown = ({children, className, ...rest}: DropdownProps) => {\n const {getDetailsProps} = useDetails({closeOnOutsideClick: true})\n return (\n <StyledDetails className={className} {...getDetailsProps()} {...rest}>\n {children}\n </StyledDetails>\n )\n}\n\nexport type DropdownButtonProps = ButtonProps\n\nconst DropdownButton = ({children, ...rest}: DropdownButtonProps) => {\n return (\n <Button as=\"summary\" aria-haspopup=\"true\" {...rest}>\n {children}\n <DropdownCaret />\n </Button>\n )\n}\n\nconst DropdownCaret = styled.div<SystemCommonProps & SxProp>`\n border: 4px solid transparent;\n margin-left: 12px;\n border-top-color: currentcolor;\n border-bottom-width: 0;\n content: '';\n display: inline-block;\n height: 0;\n vertical-align: middle;\n width: 0;\n ${COMMON};\n ${sx};\n`\n\ntype StyledDropdownMenuProps = {\n direction?: 'ne' | 'e' | 'se' | 's' | 'sw' | 'w'\n} & SystemCommonProps &\n SxProp\n\nconst DropdownMenu = styled.ul<StyledDropdownMenuProps>`\n background-clip: padding-box;\n background-color: ${get('colors.bg.overlay')};\n border: 1px solid ${get('colors.border.overlay')};\n border-radius: ${get('radii.2')};\n box-shadow: ${get('shadows.dropdown.shadow')};\n left: 0;\n list-style: none;\n margin-top: 2px;\n padding: 5px 0 5px 0 !important; //TODO: fix this override on our markdown styles\n position: absolute;\n top: 100%;\n width: 160px;\n z-index: 100;\n\n &::before {\n position: absolute;\n display: inline-block;\n content: '';\n }\n\n &::after {\n position: absolute;\n display: inline-block;\n content: '';\n }\n\n &::before {\n border: 8px solid transparent;\n border-bottom-color: ${get('colors.bg.overlay')};\n }\n\n &::after {\n border: 7px solid transparent;\n border-bottom-color: ${get('colors.bg.overlay')};\n }\n\n // stylelint-disable-next-line selector-max-type\n > ul {\n list-style: none;\n }\n ${props => (props.direction ? getDirectionStyles(props.theme, props.direction) : '')};\n ${COMMON};\n ${sx};\n`\n\nconst DropdownItem = styled.li`\n display: block;\n padding: ${get('space.1')} 10px ${get('space.1')} 15px;\n overflow: hidden;\n color: ${get('colors.text.primary')};\n text-overflow: ellipsis;\n white-space: nowrap;\n a {\n color: ${get('colors.text.primary')};\n text-decoration: none;\n display: block;\n overflow: hidden;\n color: ${get('colors.text.primary')};\n text-overflow: ellipsis;\n white-space: nowrap;\n }\n\n &:focus,\n a:focus {\n color: ${get('colors.state.hover.primaryText')};\n text-decoration: none;\n background-color: ${get('colors.state.hover.primaryBg')};\n }\n\n &:hover,\n &:hover a {\n color: ${get('colors.state.hover.primaryText')};\n text-decoration: none;\n background-color: ${get('colors.state.hover.primaryBg')};\n outline: none;\n }\n ${COMMON};\n ${sx};\n`\n\nDropdownMenu.defaultProps = {direction: 'sw'}\nDropdownMenu.displayName = 'Dropdown.Menu'\n\nDropdownItem.displayName = 'Dropdown.Item'\n\nDropdownButton.defaultProps = Button.defaultProps\nDropdownButton.displayName = 'Dropdown.Button'\n\nDropdownCaret.displayName = 'Dropdown.Caret'\n\nDropdown.defaultProps = Details.defaultProps\n\nexport type DropdownCaretProps = ComponentProps<typeof DropdownCaret>\nexport type DropdownMenuProps = ComponentProps<typeof DropdownMenu>\nexport type DropdownItemProps = ComponentProps<typeof DropdownItem>\nexport default Object.assign(Dropdown, {\n Caret: DropdownCaret,\n Menu: DropdownMenu,\n Item: DropdownItem,\n Button: DropdownButton\n})\n","import React from 'react'\nimport {TriangleDownIcon} from '@primer/octicons-react'\nimport Button, {ButtonProps} from '../Button/Button'\nimport StyledOcticon from '../StyledOcticon'\n\nexport type DropdownButtonProps = ButtonProps\n\nexport const DropdownButton = React.forwardRef<HTMLElement, React.PropsWithChildren<DropdownButtonProps>>(\n ({children, ...props}: React.PropsWithChildren<DropdownButtonProps>, ref): JSX.Element => (\n <Button ref={ref} type=\"button\" {...props}>\n {children}\n <StyledOcticon icon={TriangleDownIcon} ml={1} />\n </Button>\n )\n)\n","import React, {useCallback, useMemo} from 'react'\nimport {List, GroupedListProps, ListPropsBase, ItemInput} from '../ActionList/List'\nimport {DropdownButton, DropdownButtonProps} from './DropdownButton'\nimport {ItemProps} from '../ActionList/Item'\nimport {AnchoredOverlay} from '../AnchoredOverlay'\nimport {OverlayProps} from '../Overlay'\nimport {AnchoredOverlayWrapperAnchorProps} from '../AnchoredOverlay/AnchoredOverlay'\nimport {useProvidedRefOrCreate} from '../hooks/useProvidedRefOrCreate'\nimport {useProvidedStateOrCreate} from '../hooks/useProvidedStateOrCreate'\n\ninterface DropdownMenuBaseProps extends Partial<Omit<GroupedListProps, keyof ListPropsBase>>, ListPropsBase {\n /**\n * A placeholder value to display on the trigger button when no selection has been made.\n */\n placeholder?: string\n\n /**\n * An `ItemProps` item from the list of `items` which is currently selected. This item will receive a checkmark next to it in the menu.\n */\n selectedItem?: ItemInput\n\n /**\n * A callback which receives the selected item or `undefined` when an item is activated in the menu. If the activated item is the same as the current\n * `selectedItem`, `undefined` will be passed.\n */\n onChange?: (item?: ItemInput) => unknown\n\n /**\n * Props to be spread on the internal `Overlay` component.\n */\n overlayProps?: Partial<OverlayProps>\n\n /**\n * If defined, will control the open/closed state of the overlay. If not defined, the overlay will manage its own state (in other words, an\n * uncontrolled component). Must be used in conjuction with `onOpenChange`.\n */\n open?: boolean\n\n /**\n * If defined, will control the open/closed state of the overlay. Must be used in conjuction with `open`.\n */\n onOpenChange?: (open: boolean) => void\n}\n\nexport type DropdownMenuProps = DropdownMenuBaseProps & AnchoredOverlayWrapperAnchorProps\n\n/**\n * A `DropdownMenu` provides an anchor (button by default) that will open a floating menu of selectable items. The menu can be\n * opened and navigated using keyboard or mouse. When an item is selected, the menu will close and the `onChange` callback will be called.\n * If the default anchor button is used, the anchor contents will be updated with the selection.\n */\nexport function DropdownMenu({\n renderAnchor = <T extends DropdownButtonProps>(props: T) => <DropdownButton {...props} />,\n anchorRef: externalAnchorRef,\n placeholder,\n selectedItem,\n onChange,\n overlayProps,\n items,\n open,\n onOpenChange,\n ...listProps\n}: DropdownMenuProps): JSX.Element {\n const [combinedOpenState, setCombinedOpenState] = useProvidedStateOrCreate(open, onOpenChange, false)\n const onOpen = useCallback(() => setCombinedOpenState(true), [setCombinedOpenState])\n const onClose = useCallback(() => setCombinedOpenState(false), [setCombinedOpenState])\n\n const anchorRef = useProvidedRefOrCreate(externalAnchorRef)\n\n const renderMenuAnchor = useMemo(() => {\n if (renderAnchor === null) {\n return null\n }\n return <T extends React.HTMLAttributes<HTMLElement>>(props: T) =>\n renderAnchor({\n ...props,\n children: selectedItem?.text ?? placeholder\n })\n }, [placeholder, renderAnchor, selectedItem?.text])\n\n const itemsToRender = useMemo(() => {\n return items.map(item => {\n return {\n ...item,\n role: 'option',\n selected: item === selectedItem,\n onAction: (itemFromAction, event) => {\n item.onAction?.(itemFromAction, event)\n\n if (event.defaultPrevented) {\n return\n }\n\n onClose()\n onChange?.(item === selectedItem ? undefined : item)\n }\n } as ItemProps\n })\n }, [items, onChange, onClose, selectedItem])\n\n return (\n <AnchoredOverlay\n renderAnchor={renderMenuAnchor}\n anchorRef={anchorRef}\n open={combinedOpenState}\n onOpen={onOpen}\n onClose={onClose}\n overlayProps={overlayProps}\n >\n <List {...listProps} role=\"listbox\" items={itemsToRender} />\n </AnchoredOverlay>\n )\n}\n\nDropdownMenu.displayName = 'DropdownMenu'\n","import styled from 'styled-components'\nimport {COMMON, get, SystemCommonProps} from './constants'\nimport sx, {SxProp} from './sx'\nimport {ComponentProps} from './utils/types'\n\nconst FilteredSearch = styled.div<SystemCommonProps & SxProp>`\n ${COMMON};\n display: flex;\n align-items: stretch;\n\n summary {\n border-radius: 0;\n border-top-left-radius: ${get('radii.2')};\n border-bottom-left-radius: ${get('radii.2')};\n border-right: 0;\n }\n .TextInput-wrapper {\n border-radius: 0;\n border-top-right-radius: ${get('radii.2')};\n border-bottom-right-radius: ${get('radii.2')};\n z-index: 1; // Allows the focus outline to show on top of the dropdown.\n }\n\n ${sx}\n`\n\nexport type FilteredSearchProps = ComponentProps<typeof FilteredSearch>\nexport default FilteredSearch\n","import React from 'react'\nimport styled from 'styled-components'\nimport {COMMON, get, SystemCommonProps} from './constants'\nimport sx, {SxProp} from './sx'\nimport {ComponentProps} from './utils/types'\n\nconst FilterListBase = styled.ul<SystemCommonProps & SxProp>`\n list-style-type: none;\n ${COMMON};\n ${sx};\n`\n\nexport type FilterListProps = ComponentProps<typeof FilterListBase>\n\nconst FilterList = ({children, ...rest}: React.PropsWithChildren<FilterListProps>) => {\n const items = React.Children.map(children, child => {\n return <li>{child}</li>\n })\n\n return <FilterListBase {...rest}>{items}</FilterListBase>\n}\n\ntype StyledFilterListItemBaseProps = {\n small?: boolean\n selected?: boolean\n} & SystemCommonProps &\n SxProp\n\nconst FilterListItemBase = styled.a<StyledFilterListItemBaseProps>`\n position: relative;\n display: block;\n padding: ${props => (props.small ? `${get('space.1')(props)} 10px` : `${get('space.2')(props)} 11px`)};\n margin: ${props => (props.small ? '0 0 2px' : '0 0 5px 0')};\n overflow: hidden;\n font-size: ${get('fontSizes.1')};\n color: ${props => (props.selected ? get('colors.state.selected.primaryText') : get('colors.text.secondary'))};\n background-color: ${props => (props.selected ? get('colors.state.selected.primaryBg') : '')}!important;\n text-decoration: none;\n text-overflow: ellipsis;\n white-space: nowrap;\n cursor: pointer;\n border-radius: ${get('radii.1')};\n &:hover {\n text-decoration: none;\n background-color: ${get('colors.bg.tertiary')};\n }\n &:active {\n color: ${get('colors.state.selected.primaryText')};\n background-color: ${get('colors.state.selected.primaryBg')};\n }\n .count {\n float: right;\n font-weight: ${get('fontWeights.bold')};\n }\n ${COMMON};\n ${sx};\n`\n\nexport type FilterListItemProps = {count?: number} & ComponentProps<typeof FilterListItemBase>\n\nfunction FilterListItem({children, count, ...rest}: React.PropsWithChildren<FilterListItemProps>) {\n return (\n <FilterListItemBase {...rest}>\n {count && (\n <span title=\"results\" className=\"count\">\n {count}\n </span>\n )}\n {children}\n </FilterListItemBase>\n )\n}\n\nFilterList.defaultProps = {\n m: 0,\n p: 0\n}\n\nFilterListItem.displayName = 'FilterList.Item'\n\nexport default Object.assign(FilterList, {Item: FilterListItem})\n","import styled from 'styled-components'\nimport {variant} from 'styled-system'\nimport {COMMON, get, SystemCommonProps} from './constants'\nimport sx, {SxProp} from './sx'\nimport {ComponentProps} from './utils/types'\n\nconst variants = variant({\n variants: {\n default: {\n color: 'alert.info.text',\n backgroundColor: 'alert.info.bg',\n borderColor: 'alert.info.border',\n svg: {\n color: 'alert.info.icon'\n }\n },\n success: {\n color: 'alert.success.text',\n backgroundColor: 'alert.success.bg',\n borderColor: 'alert.success.border',\n svg: {\n color: 'alert.success.icon'\n }\n },\n danger: {\n color: 'alert.error.text',\n backgroundColor: 'alert.error.bg',\n borderColor: 'alert.error.border',\n svg: {\n color: 'alert.error.icon'\n }\n },\n warning: {\n color: 'alert.warn.text',\n backgroundColor: 'alert.warn.bg',\n borderColor: 'alert.warn.border',\n svg: {\n color: 'alert.warn.icon'\n }\n }\n }\n})\n\nconst Flash = styled.div<\n {\n variant?: 'default' | 'warning' | 'success' | 'danger'\n full?: boolean\n } & SystemCommonProps &\n SxProp\n>`\n position: relative;\n color: ${get('colors.text.primary')};\n padding: ${get('space.3')};\n border-style: solid;\n border-width: ${props => (props.full ? '1px 0px' : '1px')};\n border-radius: ${props => (props.full ? '0' : get('radii.2'))};\n margin-top: ${props => (props.full ? '-1px' : '0')};\n\n p:last-child {\n margin-bottom: 0;\n }\n\n svg {\n margin-right: ${get('space.2')};\n }\n\n ${COMMON};\n ${variants};\n ${sx};\n`\n\nFlash.defaultProps = {\n variant: 'default'\n}\n\nexport type FlashProps = ComponentProps<typeof Flash>\nexport default Flash\n","import styled from 'styled-components'\nimport {COMMON, get, SystemCommonProps, SystemTypographyProps, TYPOGRAPHY} from './constants'\nimport sx, {SxProp} from './sx'\nimport {ComponentProps} from './utils/types'\n\nconst FormGroup = styled.div<SystemCommonProps & SxProp>`\n margin: ${get('space.3')} 0;\n font-weight: ${get('fontWeights.normal')};\n ${COMMON};\n ${sx};\n`\n\nconst FormGroupLabel = styled.label<SystemTypographyProps & SystemCommonProps & SxProp>`\n display: block;\n margin: 0 0 ${get('space.2')};\n font-size: ${get('fontSizes.1')};\n font-weight: ${get('fontWeights.bold')};\n ${TYPOGRAPHY};\n ${COMMON};\n ${sx};\n`\n\nFormGroupLabel.displayName = 'FormGroup.Label'\n\nexport type FormGroupProps = ComponentProps<typeof FormGroup>\nexport type FormGroupLabelProps = ComponentProps<typeof FormGroupLabel>\nexport default Object.assign(FormGroup, {Label: FormGroupLabel})\n","// eslint-disable-next-line import/no-namespace\nimport * as History from 'history'\nimport styled, {css} from 'styled-components'\nimport {BORDER, COMMON, get, SystemBorderProps, SystemCommonProps, SystemTypographyProps, TYPOGRAPHY} from './constants'\nimport sx, {SxProp} from './sx'\nimport {ComponentProps} from './utils/types'\n\ntype StyledHeaderItemProps = {full?: boolean} & SystemCommonProps & SxProp\ntype StyledHeaderProps = SystemBorderProps & SystemCommonProps & SxProp\ntype StyledHeaderLinkProps = {to?: History.LocationDescriptor} & SystemCommonProps &\n SxProp &\n SystemTypographyProps &\n SystemBorderProps\n\nconst Header = styled.div<StyledHeaderProps>`\n z-index: 32;\n display: flex;\n padding: ${get('space.3')};\n font-size: ${get('fontSizes.1')};\n line-height: ${get('lineHeights.default')};\n color: ${get('colors.header.text')};\n background-color: ${get('colors.header.bg')};\n align-items: center;\n flex-wrap: nowrap;\n\n ${COMMON}\n ${BORDER}\n ${sx};\n`\nconst HeaderItem = styled.div<StyledHeaderItemProps>`\n display: flex;\n margin-right: ${get('space.3')};\n align-self: stretch;\n align-items: center;\n flex-wrap: nowrap;\n\n ${({full}) =>\n full &&\n css`\n flex: auto;\n `};\n\n ${COMMON};\n ${BORDER};\n ${sx};\n`\n\nHeaderItem.displayName = 'Header.Item'\n\nconst HeaderLink = styled.a.attrs<StyledHeaderLinkProps>(({to}) => {\n const isReactRouter = typeof to === 'string'\n if (isReactRouter) {\n // according to their docs, NavLink supports aria-current:\n // https://reacttraining.com/react-router/web/api/NavLink/aria-current-string\n return {'aria-current': 'page'}\n } else {\n return {}\n }\n})<StyledHeaderLinkProps>`\n font-weight: ${get('fontWeights.bold')};\n color: ${get('colors.header.logo')};\n white-space: nowrap;\n cursor: pointer;\n text-decoration: none;\n display: flex;\n align-items: center;\n\n &:hover,\n &:focus {\n color: ${get('colors.header.text')};\n }\n\n ${COMMON};\n ${BORDER};\n ${TYPOGRAPHY};\n ${sx};\n`\n\nHeaderLink.displayName = 'Header.Link'\n\nexport type HeaderProps = ComponentProps<typeof Header>\nexport type HeaderLinkProps = ComponentProps<typeof HeaderLink>\nexport type HeaderItemProps = ComponentProps<typeof HeaderItem>\nexport default Object.assign(Header, {Link: HeaderLink, Item: HeaderItem})\n","import styled from 'styled-components'\nimport {COMMON, get, SystemCommonProps, SystemTypographyProps, TYPOGRAPHY} from './constants'\nimport sx, {SxProp} from './sx'\nimport theme from './theme'\nimport {ComponentProps} from './utils/types'\n\nconst Heading = styled.h2<SystemTypographyProps & SystemCommonProps & SxProp>`\n font-weight: ${get('fontWeights.bold')};\n font-size: ${get('fontSizes.5')};\n margin: 0;\n ${TYPOGRAPHY};\n ${COMMON};\n ${sx};\n`\n\nHeading.defaultProps = {\n theme\n}\n\nexport type HeadingProps = ComponentProps<typeof Heading>\nexport default Heading\n","import styled from 'styled-components'\nimport {COMMON, get, SystemCommonProps} from './constants'\nimport sx, {SxProp} from './sx'\nimport {ComponentProps} from './utils/types'\n\nconst LabelGroup = styled.span<SystemCommonProps & SxProp>`\n ${COMMON}\n & * {\n margin-right: ${get('space.1')};\n }\n & *:last-child {\n margin-right: 0;\n }\n ${sx};\n`\n\nexport type LabelGroupProps = ComponentProps<typeof LabelGroup>\nexport default LabelGroup\n","import styled, {css} from 'styled-components'\nimport {borderColor, BorderColorProps, variant} from 'styled-system'\nimport {COMMON, get, SystemCommonProps} from './constants'\nimport sx, {SxProp} from './sx'\nimport {ComponentProps} from './utils/types'\n\nconst outlineStyles = css`\n margin-top: -1px; // offsets the 1px border\n margin-bottom: -1px; // offsets the 1px border\n color: ${get('colors.label.secondary.text')};\n border: ${get('borderWidths.1')} solid ${get('colors.label.border')};\n box-shadow: none;\n ${borderColor};\n ${COMMON};\n background-color: transparent;\n`\n\nconst sizeVariant = variant({\n variants: {\n small: {\n fontSize: 0,\n lineHeight: '16px',\n padding: '0px 8px'\n },\n medium: {\n fontSize: 0,\n lineHeight: '20px',\n padding: '0 8px'\n },\n large: {\n fontSize: 0,\n lineHeight: '24px',\n padding: '0 12px'\n },\n // corresponds to StateLabel fontSize/lineHeight/padding\n xl: {\n fontSize: 1,\n lineHeight: '16px',\n padding: '8px 12px'\n }\n }\n})\n\nconst Label = styled.span<\n {\n variant?: 'small' | 'medium' | 'large' | 'xl'\n dropshadow?: boolean\n outline?: boolean\n } & BorderColorProps &\n SystemCommonProps &\n SxProp\n>`\n display: inline-block;\n font-weight: ${get('fontWeights.semibold')};\n color: ${get('colors.text.inverse')};\n border-radius: ${get('radii.3')};\n\n &:hover {\n text-decoration: none;\n }\n\n ${sizeVariant}\n ${COMMON}\n ${props => (props.dropshadow ? 'box-shadow: inset 0 -1px 0 rgba(27, 31, 35, 0.12)' : '')}\n ${props => (props.outline ? outlineStyles : '')} // must be last to override other values\n ${sx}\n`\n\nLabel.defaultProps = {\n bg: 'label.primary.border',\n variant: 'medium'\n}\n\nexport type LabelProps = ComponentProps<typeof Label>\nexport default Label\n","import styled from 'styled-components'\nimport {system} from 'styled-system'\nimport {COMMON, get, SystemCommonProps, SystemTypographyProps, TYPOGRAPHY} from './constants'\nimport sx, {SxProp} from './sx'\nimport {ComponentProps} from './utils/types'\n\ntype StyledLinkProps = {\n hoverColor?: string\n muted?: boolean\n underline?: boolean\n} & SystemCommonProps &\n SxProp &\n SystemTypographyProps\n\nconst hoverColor = system({\n hoverColor: {\n property: 'color',\n scale: 'colors'\n }\n})\n\nconst Link = styled.a<StyledLinkProps>`\n color: ${props => (props.muted ? get('colors.text.secondary')(props) : get('colors.text.link')(props))};\n text-decoration: ${props => (props.underline ? 'underline' : 'none')};\n &:hover {\n text-decoration: ${props => (props.muted ? 'none' : 'underline')};\n ${props => (props.hoverColor ? hoverColor : props.muted ? `color: ${get('colors.text.link')(props)}` : '')};\n }\n &:is(button) {\n display: inline-block;\n padding: 0;\n font-size: inherit;\n white-space: nowrap;\n cursor: pointer;\n user-select: none;\n background-color: transparent;\n border: 0;\n appearance: none;\n }\n ${TYPOGRAPHY};\n ${COMMON};\n ${sx};\n`\n\nexport type LinkProps = ComponentProps<typeof Link>\nexport default Link\n","import styled from 'styled-components'\nimport {COMMON, get, SystemCommonProps} from './constants'\nimport sx, {SxProp} from './sx'\nimport {ComponentProps} from './utils/types'\n\nconst Pagehead = styled.div<SystemCommonProps & SxProp>`\n position: relative;\n padding-top: ${get('space.4')};\n padding-bottom: ${get('space.4')};\n margin-bottom: ${get('space.4')};\n border-bottom: 1px solid ${get('colors.border.primary')};\n ${COMMON};\n ${sx};\n`\n\nexport type PageheadProps = ComponentProps<typeof Pagehead>\nexport default Pagehead\n","import React from 'react'\nimport styled from 'styled-components'\nimport Box from '../Box'\nimport {COMMON, get} from '../constants'\nimport sx from '../sx'\nimport {buildComponentData, buildPaginationModel} from './model'\n\nconst Page = styled.a`\n display: inline-block;\n min-width: 32px;\n padding: 5px 10px;\n font-style: normal;\n line-height: 20px;\n color: ${get('colors.text.primary')};\n text-align: center;\n white-space: nowrap;\n vertical-align: middle;\n cursor: pointer;\n user-select: none;\n text-decoration: none;\n\n margin-right: ${get('space.1')};\n\n &:last-child {\n margin-right: 0;\n }\n\n border: ${get('borderWidths.1')} solid transparent;\n border-radius: ${get('radii.2')};\n transition: border-color 0.2s cubic-bezier(0.3, 0, 0.5, 1);\n\n &:hover,\n &:focus {\n text-decoration: none;\n border-color: ${get('colors.border.primary')};\n outline: 0;\n transition-duration: 0.1s;\n }\n\n &:active {\n border-color: ${get('colors.border.secondary')};\n }\n\n &[rel='prev'],\n &[rel='next'] {\n color: ${get('colors.text.link')};\n }\n\n &[aria-current],\n &[aria-current]:hover {\n color: ${get('colors.state.selected.primaryText')};\n background-color: ${get('colors.state.selected.primaryBg')};\n border-color: transparent;\n }\n\n &[aria-disabled],\n &[aria-disabled]:hover {\n color: ${get('colors.text.disabled')}; // check\n cursor: default;\n border-color: transparent;\n }\n\n @supports (clip-path: polygon(50% 0, 100% 50%, 50% 100%)) {\n &[rel='prev']::before,\n &[rel='next']::after {\n display: inline-block;\n width: 16px;\n height: 16px;\n vertical-align: text-bottom;\n content: '';\n background-color: currentColor;\n }\n\n // chevron-left\n &[rel='prev']::before {\n margin-right: ${get('space.1')};\n clip-path: polygon(\n 9.8px 12.8px,\n 8.7px 12.8px,\n 4.5px 8.5px,\n 4.5px 7.5px,\n 8.7px 3.2px,\n 9.8px 4.3px,\n 6.1px 8px,\n 9.8px 11.7px,\n 9.8px 12.8px\n );\n }\n\n // chevron-right\n &[rel='next']::after {\n margin-left: ${get('space.1')};\n clip-path: polygon(\n 6.2px 3.2px,\n 7.3px 3.2px,\n 11.5px 7.5px,\n 11.5px 8.5px,\n 7.3px 12.8px,\n 6.2px 11.7px,\n 9.9px 8px,\n 6.2px 4.3px,\n 6.2px 3.2px\n );\n }\n }\n\n ${COMMON};\n`\n\ntype UsePaginationPagesParameters = {\n theme?: Record<string, unknown> // set to theme type once /src/theme.js is converted\n pageCount: number\n currentPage: number\n onPageChange: (e: React.MouseEvent, n: number) => void\n hrefBuilder: (n: number) => string\n marginPageCount: number\n showPages?: boolean\n surroundingPageCount: number\n}\n\nfunction usePaginationPages({\n theme,\n pageCount,\n currentPage,\n onPageChange,\n hrefBuilder,\n marginPageCount,\n showPages,\n surroundingPageCount\n}: UsePaginationPagesParameters) {\n const pageChange = React.useCallback(n => (e: React.MouseEvent) => onPageChange(e, n), [onPageChange])\n\n const model = React.useMemo(() => {\n return buildPaginationModel(pageCount, currentPage, !!showPages, marginPageCount, surroundingPageCount)\n }, [pageCount, currentPage, showPages, marginPageCount, surroundingPageCount])\n\n const children = React.useMemo(() => {\n return model.map(page => {\n const {props, key, content} = buildComponentData(page, hrefBuilder, pageChange(page.num))\n return (\n <Page {...props} key={key} theme={theme}>\n {content}\n </Page>\n )\n })\n }, [model, hrefBuilder, pageChange, theme])\n\n return children\n}\n\nconst PaginationContainer = styled.nav`\n margin-top: 20px;\n margin-bottom: 15px;\n text-align: center;\n ${sx};\n`\n\nexport type PaginationProps = {\n theme?: Record<string, unknown>\n pageCount: number\n currentPage: number\n onPageChange?: (e: React.MouseEvent, n: number) => void\n hrefBuilder?: (n: number) => string\n marginPageCount: number\n showPages?: boolean\n surroundingPageCount?: number\n}\n\nfunction Pagination({\n theme,\n pageCount,\n currentPage,\n onPageChange = noop,\n hrefBuilder = defaultHrefBuilder,\n marginPageCount = 1,\n showPages = true,\n surroundingPageCount = 2,\n ...rest\n}: PaginationProps) {\n const pageElements = usePaginationPages({\n theme,\n pageCount,\n currentPage,\n onPageChange,\n hrefBuilder,\n marginPageCount,\n showPages,\n surroundingPageCount\n })\n return (\n <PaginationContainer aria-label=\"Pagination\" {...rest} theme={theme}>\n <Box display=\"inline-block\" theme={theme}>\n {pageElements}\n </Box>\n </PaginationContainer>\n )\n}\n\nfunction defaultHrefBuilder(pageNum: number) {\n return `#${pageNum}`\n}\n\n// eslint-disable-next-line @typescript-eslint/no-empty-function\nfunction noop() {}\n\nPagination.defaultProps = {\n hrefBuilder: defaultHrefBuilder,\n marginPageCount: 1,\n onPageChange: noop,\n showPages: true,\n surroundingPageCount: 2\n}\n\nexport default Pagination\n","export function buildPaginationModel(\n pageCount: number,\n currentPage: number,\n showPages: boolean,\n marginPageCount: number,\n surroundingPageCount: number\n) {\n const pages = []\n\n if (showPages) {\n const pageNums: Array<number> = []\n const addPage = (n: number) => {\n if (n >= 1 && n <= pageCount) {\n pageNums.push(n)\n }\n }\n\n // Start by defining the window of pages to show around the current page.\n // If the window goes off either edge, shift it until it fits.\n let extentLeft = currentPage - surroundingPageCount\n let extentRight = currentPage + surroundingPageCount\n if (extentLeft < 1 && extentRight > pageCount) {\n // Our window is larger than the entire range,\n // so simply display every page.\n extentLeft = 1\n extentRight = pageCount\n } else if (extentLeft < 1) {\n while (extentLeft < 1) {\n extentLeft++\n extentRight++\n }\n } else if (extentRight > pageCount) {\n while (extentRight > pageCount) {\n extentLeft--\n extentRight--\n }\n }\n\n // Next, include the pages in the margins.\n // If a margin page is already covered in the window,\n // extend the window to the other direction.\n for (let i = 1; i <= marginPageCount; i++) {\n const leftPage = i\n const rightPage = pageCount - (i - 1)\n if (leftPage >= extentLeft) {\n extentRight++\n } else {\n addPage(leftPage)\n }\n if (rightPage <= extentRight) {\n extentLeft--\n } else {\n addPage(rightPage)\n }\n }\n\n for (let i = extentLeft; i <= extentRight; i++) {\n addPage(i)\n }\n\n const sorted = pageNums\n .slice()\n .sort((a, b) => a - b)\n .filter((item, idx, ary) => !idx || item !== ary[idx - 1])\n for (let idx = 0; idx < sorted.length; idx++) {\n const num = sorted[idx]\n const selected = num === currentPage\n if (idx === 0) {\n if (num !== 1) {\n // If the first page isn't page one,\n // we need to add a break\n pages.push({\n type: 'BREAK',\n num: 1\n })\n }\n pages.push({\n type: 'NUM',\n num,\n selected\n })\n } else {\n const last = sorted[idx - 1]\n const delta = num - last\n if (delta === 1) {\n pages.push({\n type: 'NUM',\n num,\n selected\n })\n } else {\n // We skipped some, so add a break\n pages.push({\n type: 'BREAK',\n num: num - 1\n })\n pages.push({\n type: 'NUM',\n num,\n selected\n })\n }\n }\n }\n\n const lastPage = pages[pages.length - 1]\n if (lastPage.type === 'NUM' && lastPage.num !== pageCount) {\n // The last page we rendered wasn't the actual last page,\n // so we need an additional break\n pages.push({\n type: 'BREAK',\n num: pageCount\n })\n }\n }\n\n const prev = {type: 'PREV', num: currentPage - 1, disabled: currentPage === 1}\n const next = {type: 'NEXT', num: currentPage + 1, disabled: currentPage === pageCount}\n return [prev, ...pages, next]\n}\n\ntype PageType = {\n type: string\n num: number\n disabled?: boolean\n selected?: boolean\n}\n\nexport function buildComponentData(\n page: PageType,\n hrefBuilder: (n: number) => string,\n onClick: (e: React.MouseEvent) => void\n) {\n const props = {}\n let content = ''\n let key = ''\n\n switch (page.type) {\n case 'PREV': {\n key = 'page-prev'\n content = 'Previous'\n if (page.disabled) {\n Object.assign(props, {as: 'span', 'aria-disabled': 'true'})\n } else {\n Object.assign(props, {\n rel: 'prev',\n href: hrefBuilder(page.num),\n 'aria-label': 'Previous Page',\n onClick\n })\n }\n break\n }\n case 'NEXT': {\n key = 'page-next'\n content = 'Next'\n if (page.disabled) {\n Object.assign(props, {as: 'span', 'aria-disabled': 'true'})\n } else {\n Object.assign(props, {\n rel: 'next',\n href: hrefBuilder(page.num),\n 'aria-label': 'Next Page',\n onClick\n })\n }\n break\n }\n case 'NUM': {\n key = `page-${page.num}`\n content = String(page.num)\n if (page.selected) {\n Object.assign(props, {as: 'em', 'aria-current': 'page'})\n } else {\n Object.assign(props, {href: hrefBuilder(page.num), 'aria-label': `Page ${page.num}`, onClick})\n }\n break\n }\n case 'BREAK': {\n key = `page-${page.num}-break`\n content = '…'\n Object.assign(props, {as: 'span', 'aria-disabled': true})\n }\n }\n\n return {props, key, content}\n}\n","import React from 'react'\nimport BorderBox, {BorderBoxProps} from './BorderBox'\nimport Caret, {CaretProps} from './Caret'\n\nexport type PointerBoxProps = {\n caret?: CaretProps['location']\n bg?: CaretProps['bg']\n borderColor?: CaretProps['borderColor']\n border?: CaretProps['borderWidth']\n} & BorderBoxProps\n\nfunction PointerBox(props: PointerBoxProps) {\n // don't destructure these, just grab them\n const {bg, border, borderColor, theme} = props\n const {caret, children, ...boxProps} = props\n const caretProps = {\n bg,\n borderColor,\n borderWidth: border,\n location: caret,\n theme\n }\n return (\n <BorderBox sx={{position: 'relative'}} {...boxProps}>\n {children}\n <Caret {...caretProps} />\n </BorderBox>\n )\n}\n\nexport default PointerBox\n","import classnames from 'classnames'\nimport styled from 'styled-components'\nimport Box from './Box'\nimport {COMMON, get, LAYOUT, POSITION, SystemCommonProps, SystemLayoutProps, SystemPositionProps} from './constants'\nimport sx, {SxProp} from './sx'\nimport {ComponentProps} from './utils/types'\n\ntype CaretPosition =\n | 'top'\n | 'bottom'\n | 'left'\n | 'right'\n | 'bottom-left'\n | 'bottom-right'\n | 'top-left'\n | 'top-right'\n | 'left-bottom'\n | 'left-top'\n | 'right-bottom'\n | 'right-top'\n\ntype StyledPopoverProps = {\n caret?: CaretPosition\n relative?: boolean\n open?: boolean\n} & SystemCommonProps &\n SystemLayoutProps &\n SystemPositionProps &\n SxProp\n\nconst Popover = styled.div.attrs<StyledPopoverProps>(({className, caret}) => {\n return {\n className: classnames(className, `caret-pos--${caret}`)\n }\n})<StyledPopoverProps>`\n position: ${props => (props.relative ? 'relative' : 'absolute')};\n z-index: 100;\n display: ${props => (props.open ? 'block' : 'none')};\n\n ${COMMON};\n ${LAYOUT};\n ${POSITION};\n ${sx};\n`\n\nconst PopoverContent = styled(Box)`\n border: 1px solid ${get('colors.border.primary')};\n border-radius: ${get('radii.2')};\n position: relative;\n width: 232px;\n margin-right: auto;\n margin-left: auto;\n padding: ${get('space.4')};\n background-color: ${get('colors.bg.overlay')};\n\n ${COMMON};\n ${LAYOUT};\n\n // Carets\n &::before,\n &::after {\n position: absolute;\n left: 50%;\n display: inline-block;\n content: '';\n }\n\n &::before {\n top: -${get('space.3')};\n margin-left: -9px;\n border: ${get('space.2')} solid transparent; // TODO: solid?\n border-bottom-color: ${get('colors.border.overlay')};\n }\n\n &::after {\n top: -14px;\n margin-left: -${get('space.2')};\n border: 7px solid transparent; // todo: solid\n border-bottom-color: ${get('colors.bg.overlay')};\n }\n\n // Bottom-oriented carets\n ${Popover}.caret-pos--bottom & ,\n ${Popover}.caret-pos--bottom-right & ,\n ${Popover}.caret-pos--bottom-left & {\n &::before,\n &::after {\n top: auto;\n border-bottom-color: transparent;\n }\n\n &::before {\n bottom: -${get('space.3')};\n border-top-color: ${get('colors.border.overlay')};\n }\n\n &::after {\n bottom: -14px;\n // stylelint-disable-next-line primer/borders\n border-top-color: ${get('colors.bg.overlay')};\n }\n }\n\n // Top & Bottom: Right-oriented carets\n ${Popover}.caret-pos--top-right & ,\n ${Popover}.caret-pos--bottom-right & {\n right: -9px;\n margin-right: 0;\n\n &::before,\n &::after {\n left: auto;\n margin-left: 0;\n }\n\n &::before {\n right: 20px;\n }\n\n &::after {\n right: 21px;\n }\n }\n\n // Top & Bottom: Left-oriented carets\n ${Popover}.caret-pos--top-left & ,\n ${Popover}.caret-pos--bottom-left & {\n left: -9px;\n margin-left: 0;\n\n &::before,\n &::after {\n left: ${get('space.4')};\n margin-left: 0;\n }\n\n &::after {\n left: calc(${get('space.4')} + 1px);\n }\n }\n\n // Right- & Left-oriented carets\n ${Popover}.caret-pos--right & ,\n ${Popover}.caret-pos--right-top & ,\n ${Popover}.caret-pos--right-bottom & ,\n ${Popover}.caret-pos--left & ,\n ${Popover}.caret-pos--left-top & ,\n ${Popover}.caret-pos--left-bottom & {\n &::before,\n &::after {\n top: 50%;\n left: auto;\n margin-left: 0;\n border-bottom-color: transparent;\n }\n\n &::before {\n // stylelint-disable-next-line primer/spacing\n margin-top: calc((${get('space.2')} + 1px) * -1);\n }\n\n &::after {\n margin-top: -${get('space.2')};\n }\n }\n\n // Right-oriented carets\n ${Popover}.caret-pos--right & ,\n ${Popover}.caret-pos--right-top & ,\n ${Popover}.caret-pos--right-bottom & {\n &::before {\n right: -${get('space.3')};\n border-left-color: ${get('colors.border.overlay')};\n }\n\n &::after {\n right: -14px;\n // stylelint-disable-next-line primer/borders\n border-left-color: ${get('colors.bg.overlay')};\n }\n }\n\n // Left-oriented carets\n ${Popover}.caret-pos--left & ,\n ${Popover}.caret-pos--left-top & ,\n ${Popover}.caret-pos--left-bottom & {\n &::before {\n left: -${get('space.3')};\n border-right-color: ${get('colors.border.overlay')};\n }\n\n &::after {\n left: -14px;\n // stylelint-disable-next-line primer/borders\n border-right-color: ${get('colors.bg.overlay')};\n }\n }\n\n // Right & Left: Top-oriented carets\n ${Popover}.caret-pos--right-top & ,\n ${Popover}.caret-pos--left-top & {\n &::before,\n &::after {\n top: ${get('space.4')};\n }\n }\n\n // Right & Left: Bottom-oriented carets\n ${Popover}.caret-pos--right-bottom & ,\n ${Popover}.caret-pos--left-bottom & {\n &::before,\n &::after {\n top: auto;\n }\n\n &::before {\n bottom: ${get('space.3')};\n }\n\n &::after {\n bottom: calc(${get('space.3')} + 1px);\n }\n }\n\n ${sx};\n`\n\nPopover.defaultProps = {\n caret: 'top'\n}\n\nPopoverContent.displayName = 'Popover.Content'\n\nexport type PopoverProps = ComponentProps<typeof Popover>\nexport type PopoverContentProps = ComponentProps<typeof PopoverContent>\nexport default Object.assign(Popover, {Content: PopoverContent})\n","import React from 'react'\nimport styled from 'styled-components'\nimport {width, WidthProps} from 'styled-system'\nimport {COMMON, get, SystemCommonProps} from './constants'\nimport sx, {SxProp} from './sx'\nimport {ComponentProps} from './utils/types'\n\nconst Bar = styled.span<{progress?: string | number} & SystemCommonProps>`\n width: ${props => (props.progress ? `${props.progress}%` : 0)};\n ${COMMON}\n`\n\nconst sizeMap = {\n small: '5px',\n large: '10px',\n default: '8px'\n}\n\ntype StyledProgressContainerProps = {\n inline?: boolean\n barSize?: keyof typeof sizeMap\n} & WidthProps &\n SystemCommonProps &\n SxProp\n\nconst ProgressContainer = styled.span<StyledProgressContainerProps>`\n display: ${props => (props.inline ? 'inline-flex' : 'flex')};\n overflow: hidden;\n background-color: ${get('colors.border.primary')};\n border-radius: ${get('radii.1')};\n height: ${props => sizeMap[props.barSize || 'default']};\n ${COMMON}\n ${width}\n ${sx};\n`\n\nexport type ProgressBarProps = ComponentProps<typeof ProgressContainer> & ComponentProps<typeof Bar>\n\nfunction ProgressBar({progress, bg, theme, ...rest}: ProgressBarProps) {\n return (\n <ProgressContainer theme={theme} {...rest}>\n <Bar progress={progress} bg={bg} theme={theme} />\n </ProgressContainer>\n )\n}\n\nProgressBar.defaultProps = {\n bg: 'bg.successInverse',\n barSize: 'default'\n}\n\nexport default ProgressBar\n","import {useEffect, useCallback} from 'react'\n\n// adapted from details-menu web component https://github.com/github/details-menu-element\nfunction useKeyboardNav(details, open, setOpen) {\n const handleKeyDown = useCallback(\n event => {\n const closeDetails = () => {\n setOpen(false)\n const summary = details.current.querySelector('summary')\n if (summary) summary.focus()\n }\n const openDetails = () => {\n setOpen(true)\n }\n const focusItem = next => {\n const options = Array.from(\n details.current.querySelectorAll(\n '[role^=\"menuitem\"]:not([hidden]):not([disabled]):not([aria-disabled=\"true\"])'\n )\n )\n const selected = document.activeElement\n const index = options.indexOf(selected)\n const found = next ? options[index + 1] : options[index - 1]\n const def = next ? options[0] : options[options.length - 1]\n return found || def\n }\n\n const isMenuItem = el => {\n const role = el.getAttribute('role')\n return role === 'menuitem' || role === 'menuitemcheckbox' || role === 'menuitemradio'\n }\n if (!(event instanceof KeyboardEvent)) return\n const isSummaryFocused = event.target instanceof Element && event.target.tagName === 'SUMMARY'\n switch (event.key) {\n case 'Escape':\n if (open) {\n closeDetails(details)\n event.preventDefault()\n event.stopPropagation()\n }\n break\n case 'ArrowDown':\n {\n if (isSummaryFocused && !open) {\n openDetails(details)\n }\n const target = focusItem(true)\n if (target) target.focus()\n event.preventDefault()\n }\n break\n case 'ArrowUp':\n {\n if (isSummaryFocused && !open) {\n openDetails()\n }\n const target = focusItem(false)\n if (target) target.focus()\n event.preventDefault()\n }\n break\n case ' ':\n case 'Enter':\n {\n const selected = document.activeElement\n if (selected && isMenuItem(selected) && selected.closest('details') === details) {\n event.preventDefault()\n event.stopPropagation()\n selected.click()\n }\n }\n break\n default:\n }\n },\n [details, open, setOpen]\n )\n\n useEffect(() => {\n const current = details.current\n if (!current) return\n\n current.addEventListener('keydown', handleKeyDown)\n return () => {\n current.removeEventListener('keydown', handleKeyDown)\n }\n }, [details, handleKeyDown])\n}\n\nexport default useKeyboardNav\n","import {createContext} from 'react'\n\nexport const MenuContext = createContext<{\n selectedTab?: string\n setSelectedTab?: React.Dispatch<React.SetStateAction<string>>\n setOpen?: React.Dispatch<React.SetStateAction<boolean>>\n open?: boolean\n initialTab?: string\n}>({})\n","import styled, {css} from 'styled-components'\nimport {COMMON, get, SystemCommonProps} from '../constants'\nimport sx, {SxProp} from '../sx'\nimport {ComponentProps} from '../utils/types'\n\nconst dividerStyles = css`\n padding: ${get('space.1')} ${get('space.3')};\n margin: 0;\n font-size: ${get('fontSizes.0')};\n font-weight: ${get('fontWeights.bold')};\n color: ${get('colors.text.tertiary')};\n background-color: ${get('colors.bg.tertiary')};\n border-bottom: ${get('borderWidths.1')} solid ${get('colors.selectMenu.borderSecondary')};\n`\n\nconst SelectMenuDivider = styled.div<SystemCommonProps & SxProp>`\n ${dividerStyles}\n ${COMMON}\n ${sx};\n`\n\nSelectMenuDivider.displayName = 'SelectMenu.Divider'\n\nexport type SelectMenuDividerProps = ComponentProps<typeof SelectMenuDivider>\nexport default SelectMenuDivider\n","import classnames from 'classnames'\nimport React from 'react'\nimport styled, {css} from 'styled-components'\nimport {maxWidth, MaxWidthProps, minWidth, MinWidthProps, variant, width, WidthProps} from 'styled-system'\nimport {get} from './constants'\nimport sx, {SxProp} from './sx'\nimport {ComponentProps} from './utils/types'\n\nconst sizeVariants = variant({\n variants: {\n small: {\n minHeight: '28px',\n px: 2,\n py: '3px',\n fontSize: 0,\n lineHeight: '20px'\n },\n large: {\n px: 2,\n py: '10px',\n fontSize: 3\n }\n }\n})\n\nconst Input = styled.input`\n border: 0;\n font-size: inherit;\n font-family: inherit;\n background-color: transparent;\n -webkit-appearance: none;\n color: inherit;\n width: 100%;\n &:focus {\n outline: 0;\n }\n`\n\ntype StyledWrapperProps = {\n disabled?: boolean\n hasIcon?: boolean\n block?: boolean\n contrast?: boolean\n variant?: 'small' | 'large'\n} & WidthProps &\n MinWidthProps &\n MaxWidthProps &\n SxProp\n\nconst Wrapper = styled.span<StyledWrapperProps>`\n display: inline-flex;\n align-items: stretch;\n min-height: 34px;\n font-size: ${get('fontSizes.1')};\n line-height: 20px;\n color: ${get('colors.text.primary')};\n vertical-align: middle;\n background-repeat: no-repeat; // Repeat and position set for form states (success, error, etc)\n background-position: right 8px center; // For form validation. This keeps images 8px from right and centered vertically.\n border: 1px solid ${get('colors.border.primary')};\n border-radius: ${get('radii.2')};\n outline: none;\n box-shadow: ${get('shadows.shadow.inset')};\n\n ${props => {\n if (props.hasIcon) {\n return css`\n padding: 0;\n `\n } else {\n return css`\n padding: 6px 12px;\n `\n }\n }}\n\n .TextInput-icon {\n align-self: center;\n color: ${get('colors.icon.tertiary')};\n margin: 0 ${get('space.2')};\n flex-shrink: 0;\n }\n\n &:focus-within {\n border-color: ${get('colors.state.focus.border')};\n box-shadow: ${get('shadows.state.focus.shadow')};\n }\n\n ${props =>\n props.contrast &&\n css`\n background-color: ${get('colors.input.contrastBg')};\n `}\n\n ${props =>\n props.disabled &&\n css`\n color: ${get('colors.text.secondary')};\n background-color: ${get('colors.input.disabledBg')};\n border-color: ${get('colors.input.disabledBorder')};\n `}\n\n ${props =>\n props.block &&\n css`\n display: block;\n width: 100%;\n `}\n\n // Ensures inputs don't zoom on mobile but are body-font size on desktop\n @media (min-width: ${get('breakpoints.1')}) {\n font-size: ${get('fontSizes.1')};\n }\n ${width}\n ${minWidth}\n ${maxWidth}\n ${sizeVariants}\n ${sx};\n`\n\n// Props that are not passed through to Input:\ntype NonPassthroughProps = {\n className?: string\n icon?: React.ComponentType<{className?: string}>\n} & Pick<\n ComponentProps<typeof Wrapper>,\n 'block' | 'contrast' | 'disabled' | 'sx' | 'theme' | 'width' | 'maxWidth' | 'minWidth' | 'variant'\n>\n\ntype TextInputInternalProps = NonPassthroughProps &\n // Note: using ComponentProps instead of ComponentPropsWithoutRef here would cause a type issue where `css` is a required prop.\n Omit<React.ComponentPropsWithoutRef<typeof Input>, keyof NonPassthroughProps>\n\n// using forwardRef is important so that other components (ex. SelectMenu) can autofocus the input\nconst TextInput = React.forwardRef<HTMLInputElement, TextInputInternalProps>(\n (\n {\n icon: IconComponent,\n block,\n className,\n contrast,\n disabled,\n sx: sxProp,\n theme,\n width: widthProp,\n minWidth: minWidthProp,\n maxWidth: maxWidthProp,\n variant: variantProp,\n ...inputProps\n },\n ref\n ) => {\n // this class is necessary to style FilterSearch, plz no touchy!\n const wrapperClasses = classnames(className, 'TextInput-wrapper')\n return (\n <Wrapper\n block={block}\n className={wrapperClasses}\n contrast={contrast}\n disabled={disabled}\n hasIcon={!!IconComponent}\n sx={sxProp}\n theme={theme}\n width={widthProp}\n minWidth={minWidthProp}\n maxWidth={maxWidthProp}\n variant={variantProp}\n >\n {IconComponent && <IconComponent className=\"TextInput-icon\" />}\n <Input ref={ref} disabled={disabled} {...inputProps} />\n </Wrapper>\n )\n }\n)\n\nTextInput.defaultProps = {\n type: 'text'\n}\n\nTextInput.displayName = 'TextInput'\n\nexport type TextInputProps = ComponentProps<typeof TextInput>\nexport default TextInput\n","import React, {forwardRef, useContext, useEffect, useRef} from 'react'\nimport styled from 'styled-components'\nimport {COMMON, get, SystemCommonProps} from '../constants'\nimport sx, {SxProp} from '../sx'\nimport TextInput, {TextInputProps} from '../TextInput'\nimport {ComponentProps} from '../utils/types'\nimport {MenuContext} from './SelectMenuContext'\n\nconst StyledForm = styled.form<SystemCommonProps & SxProp>`\n padding: ${get('space.3')};\n margin: 0;\n border-bottom: ${get('borderWidths.1')} solid ${get('colors.selectMenu.borderSecondary')};\n background-color: ${get('colors.bg.overlay')};\n ${COMMON};\n\n @media (min-width: ${get('breakpoints.0')}) {\n padding: ${get('space.2')};\n }\n\n ${sx};\n`\n\ntype SelectMenuFilterInternalProps = {\n value?: string\n} & TextInputProps\n\nconst SelectMenuFilter = forwardRef<HTMLInputElement, SelectMenuFilterInternalProps>(\n ({theme, value, sx: sxProp, ...rest}, forwardedRef) => {\n const inputRef = useRef<HTMLInputElement>(null)\n const ref = forwardedRef ?? inputRef\n const {open} = useContext(MenuContext)\n\n // puts focus on the filter input when the menu is opened\n useEffect(() => {\n if (open) {\n inputRef.current?.focus()\n }\n }, [open])\n\n return (\n <StyledForm theme={theme} sx={sxProp}>\n <TextInput theme={theme} ref={ref} width=\"100%\" block value={value} contrast {...rest} />\n </StyledForm>\n )\n }\n)\n\nSelectMenuFilter.displayName = 'SelectMenu.Filter'\n\nexport type SelectMenuFilterProps = ComponentProps<typeof SelectMenuFilter>\nexport default SelectMenuFilter\n","import styled, {css} from 'styled-components'\nimport {COMMON, get, SystemCommonProps} from '../constants'\nimport sx, {SxProp} from '../sx'\nimport {ComponentProps} from '../utils/types'\n\nconst footerStyles = css`\n margin-top: -1px;\n padding: ${get('space.2')} ${get('space.3')};\n font-size: ${get('fontSizes.0')};\n color: ${get('colors.text.tertiary')};\n text-align: center;\n border-top: ${get('borderWidths.1')} solid ${get('colors.selectMenu.borderSecondary')};\n\n @media (min-width: ${get('breakpoints.0')}) {\n padding: ${get('space.1')} ${get('space.2')};\n }\n`\n\nconst SelectMenuFooter = styled.footer<SystemCommonProps & SxProp>`\n ${footerStyles}\n ${COMMON}\n ${sx};\n`\n\nSelectMenuFooter.displayName = 'SelectMenu.Footer'\n\nexport type SelectMenuFooterProps = ComponentProps<typeof SelectMenuFooter>\nexport default SelectMenuFooter\n","import React from 'react'\nimport styled from 'styled-components'\nimport {COMMON, get, SystemCommonProps, SystemTypographyProps, TYPOGRAPHY} from '../constants'\nimport sx, {SxProp} from '../sx'\nimport {ComponentProps} from '../utils/types'\n\n// SelectMenu.Header is intentionally not exported, it's an internal component used in\n// SelectMenu.Modal\n\nconst SelectMenuTitle = styled.h3`\n color: ${get('colors.text.primary')};\n flex: auto;\n font-size: ${get('fontSizes.1')};\n font-weight: ${get('fontWeights.bold')};\n margin: 0;\n\n @media (min-width: ${get('breakpoints.0')}) {\n font-size: inherit;\n }\n`\n\nconst StyledHeader = styled.header<SystemTypographyProps & SystemCommonProps & SxProp>`\n display: flex;\n flex: none; // fixes header from getting squeezed in Safari iOS\n padding: ${get('space.3')};\n border-bottom: ${get('borderWidths')} solid ${get('colors.selectMenu.borderSecondary')};\n ${COMMON}\n ${TYPOGRAPHY}\n\n @media (min-width: ${get('breakpoints.0')}) {\n padding-top: ${get('space.2')};\n padding-bottom: ${get('space.2')};\n }\n\n ${sx};\n`\n\nexport type SelectMenuHeaderProps = ComponentProps<typeof StyledHeader>\n\nconst SelectMenuHeader = ({children, theme, ...rest}: SelectMenuHeaderProps) => {\n return (\n <StyledHeader theme={theme} {...rest}>\n <SelectMenuTitle theme={theme}>{children}</SelectMenuTitle>\n </StyledHeader>\n )\n}\n\nSelectMenuHeader.displayName = 'SelectMenu.Header'\n\nexport default SelectMenuHeader\n","import {CheckIcon} from '@primer/octicons-react'\nimport React, {forwardRef, useContext, useRef} from 'react'\nimport styled, {css} from 'styled-components'\nimport {COMMON, get, SystemCommonProps} from '../constants'\nimport StyledOcticon from '../StyledOcticon'\nimport sx, {SxProp} from '../sx'\nimport {ComponentProps} from '../utils/types'\nimport {MenuContext} from './SelectMenuContext'\n\nexport const listItemStyles = css`\n display: flex;\n align-items: center;\n padding: ${get('space.3')};\n overflow: hidden;\n text-align: left;\n cursor: pointer;\n background-color: ${get('colors.bg.overlay')};\n border: 0;\n border-bottom: ${get('borderWidths.1')} solid ${get('colors.selectMenu.borderSecondary')};\n color: ${get('colors.text.secondary')};\n text-decoration: none;\n font-size: ${get('fontSizes.0')};\n font-family: inherit; // needed if user uses a \"button\" tag\n width: 100%;\n\n &:hover {\n text-decoration: none;\n }\n &:focus {\n outline: none;\n }\n\n &[hidden] {\n display: none !important;\n }\n\n @media (min-width: ${get('breakpoints.0')}) {\n padding-top: ${get('space.2')};\n padding-bottom: ${get('space.2')};\n }\n\n .SelectMenu-icon {\n width: ${get('space.3')};\n margin-right: ${get('space.2')};\n flex-shrink: 0;\n }\n\n .SelectMenu-selected-icon {\n visibility: hidden;\n transition: transform 0.12s cubic-bezier(0.5, 0.1, 1, 0.5), visibility 0s 0.12s linear;\n transform: scale(0);\n }\n\n // selected items\n &[aria-checked='true'] {\n font-weight: 500;\n color: ${get('colors.text.primary')};\n\n .SelectMenu-selected-icon {\n visibility: visible;\n transition: transform 0.12s cubic-bezier(0, 0, 0.2, 1), visibility 0s linear;\n transform: scale(1);\n }\n }\n\n // can hover states\n @media (hover: hover) {\n &:hover,\n &:active,\n &:focus {\n background-color: ${get('colors.state.hover.secondaryBg')};\n }\n }\n\n // Can not hover states\n //\n // For touch input\n\n @media (hover: none) {\n // Android\n &:focus,\n &:active {\n background-color: ${get('colors.bg.secondary')};\n }\n\n // iOS Safari\n // :active would work if ontouchstart is added to the button\n // Instead this tweaks the \"native\" highlight color\n -webkit-tap-highlight-color: ${get('colors.selectMenu.tapHighlight')};\n }\n`\n\nconst StyledItem = styled.a.attrs(() => ({\n role: 'menuitemcheckbox'\n}))<SystemCommonProps & SxProp>`\n ${listItemStyles}\n ${COMMON}\n ${sx};\n`\n\ntype SelectMenuItemInteralProps = {\n as?: React.ElementType\n selected?: boolean\n} & ComponentProps<typeof StyledItem>\n\nconst SelectMenuItem = forwardRef<HTMLAnchorElement, SelectMenuItemInteralProps>(\n ({children, selected, theme, onClick, ...rest}, forwardedRef) => {\n const menuContext = useContext(MenuContext)\n const backupRef = useRef<HTMLAnchorElement>(null)\n const itemRef = forwardedRef ?? backupRef\n\n // close the menu when an item is clicked\n // this can be overriden if the user provides a `onClick` prop and prevents default in it\n const handleClick = (e: React.MouseEvent<HTMLAnchorElement, MouseEvent>) => {\n onClick && onClick(e)\n\n if (!e.defaultPrevented) {\n menuContext.setOpen?.(false)\n }\n }\n return (\n <StyledItem ref={itemRef} {...rest} theme={theme} onClick={handleClick} aria-checked={selected}>\n <StyledOcticon theme={theme} className=\"SelectMenu-icon SelectMenu-selected-icon\" icon={CheckIcon} />\n {children}\n </StyledItem>\n )\n }\n)\n\nSelectMenuItem.defaultProps = {\n selected: false\n}\n\nSelectMenuItem.displayName = 'SelectMenu.Item'\n\nexport type SelectMenuItemProps = ComponentProps<typeof SelectMenuItem>\nexport default SelectMenuItem\n","import styled, {css} from 'styled-components'\nimport {COMMON, get, SystemCommonProps} from '../constants'\nimport sx, {SxProp} from '../sx'\nimport {ComponentProps} from '../utils/types'\n\nconst listStyles = css`\n position: relative;\n padding: 0;\n margin: 0;\n flex: auto;\n overflow-x: hidden;\n overflow-y: auto;\n background-color: ${get('colors.bg.overlay')};\n -webkit-overflow-scrolling: touch; // Adds momentum + bouncy scrolling\n\n @media (hover: hover) {\n .SelectMenuTab:focus {\n background-color: ${get('colors.selectMenu.tapFocusBg')};\n }\n\n .SelectMenuTab:not([aria-checked='true']):hover {\n color: ${get('colors.text.primary')};\n background-color: ${get('colors.bg.tertiary')};\n }\n\n .SelectMenuTab:not([aria-checked='true']):active {\n color: ${get('colors.text.primary')};\n background-color: ${get('colors.bg.tertiary')};\n }\n }\n`\n\nconst SelectMenuList = styled.div<SystemCommonProps & SxProp>`\n ${listStyles}\n ${COMMON}\n ${sx};\n`\n\nSelectMenuList.displayName = 'SelectMenu.List'\n\nexport type SelectMenuListProps = ComponentProps<typeof SelectMenuList>\nexport default SelectMenuList\n","import React from 'react'\nimport styled from 'styled-components'\nimport {COMMON, SystemCommonProps} from './constants'\nimport sx, {SxProp} from './sx'\nimport {ComponentProps} from './utils/types'\n\nconst sizeMap = {\n small: '16px',\n medium: '32px',\n large: '64px'\n}\n\nexport interface SpinnerInternalProps {\n /** Sets the width and height of the spinner. */\n size?: keyof typeof sizeMap\n}\n\nfunction Spinner({size: sizeKey = 'medium', ...props}: SpinnerInternalProps) {\n const size = sizeMap[sizeKey]\n\n return (\n <svg height={size} width={size} viewBox=\"0 0 16 16\" fill=\"none\" {...props}>\n <circle\n cx=\"8\"\n cy=\"8\"\n r=\"7\"\n stroke=\"currentColor\"\n strokeOpacity=\"0.25\"\n strokeWidth=\"2\"\n vectorEffect=\"non-scaling-stroke\"\n />\n <path\n d=\"M15 8a7.002 7.002 0 00-7-7\"\n stroke=\"currentColor\"\n strokeWidth=\"2\"\n strokeLinecap=\"round\"\n vectorEffect=\"non-scaling-stroke\"\n />\n </svg>\n )\n}\n\nconst StyledSpinner = styled(Spinner)<SystemCommonProps & SxProp>`\n @keyframes rotate-keyframes {\n 100% {\n transform: rotate(360deg);\n }\n }\n\n animation: rotate-keyframes 1s linear infinite;\n\n ${COMMON}\n ${sx}\n`\n\nStyledSpinner.displayName = 'Spinner'\n\nexport type SpinnerProps = ComponentProps<typeof StyledSpinner>\nexport default StyledSpinner\n","import React from 'react'\nimport styled from 'styled-components'\nimport {COMMON, get, SystemCommonProps} from '../constants'\nimport Spinner from '../Spinner'\nimport {ComponentProps} from '../utils/types'\n\nconst Animation = styled.div<SystemCommonProps>`\n padding: ${get('space.6')} ${get('space.4')};\n text-align: center;\n background-color: ${get('colors.bg.overlay')};\n ${COMMON}\n`\n\nexport type SelectMenuLoadingAnimationProps = ComponentProps<typeof Animation>\n\nconst SelectMenuLoadingAnimation = (props: SelectMenuLoadingAnimationProps) => {\n return (\n <Animation {...props}>\n <Spinner />\n </Animation>\n )\n}\n\nexport default SelectMenuLoadingAnimation\n","import React from 'react'\nimport styled, {css, keyframes} from 'styled-components'\nimport {width, WidthProps} from 'styled-system'\nimport {COMMON, get, SystemCommonProps} from '../constants'\nimport sx, {SxProp} from '../sx'\nimport {ComponentProps} from '../utils/types'\n\ntype StyledModalProps = {\n filter?: boolean\n} & WidthProps\n\ntype StyledModalWrapperProps = {\n align?: 'left' | 'right'\n} & SystemCommonProps &\n SxProp\n\nconst animateModal = keyframes`\n 0% {\n opacity: 0;\n transform: scale(0.9);\n }\n`\n\nconst modalStyles = css<StyledModalProps>`\n position: relative;\n z-index: 99; // Needs to be higher than .details-overlay's z-index: 80.\n display: flex;\n ${props => (props.filter ? 'height: 80%' : '')};\n max-height: ${props => (props.filter ? 'none' : '66%')};\n margin: auto 0;\n ${props => (props.filter ? 'margin-top: 0' : '')};\n overflow: hidden; // Enables border radius on scrollable child elements\n pointer-events: auto;\n flex-direction: column;\n background-color: ${get('colors.bg.overlay')};\n border-radius: ${get('radii.2')};\n box-shadow: ${get('shadows.shadow.small')};\n animation: ${animateModal} 0.12s cubic-bezier(0, 0.1, 0.1, 1) backwards;\n\n @media (min-width: ${get('breakpoints.0')}) {\n height: auto;\n max-height: 350px;\n margin: ${get('space.1')} 0 ${get('space.3')} 0;\n font-size: ${get('fontSizes.0')};\n border: ${get('borderWidths.1')} solid ${get('colors.border.overlay')};\n border-radius: ${get('radii.2')};\n box-shadow: ${get('shadows.shadow.small')};\n }\n`\n\nconst modalWrapperStyles = css<StyledModalWrapperProps>`\n position: fixed;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: 99;\n display: flex;\n padding: ${get('space.3')};\n pointer-events: none;\n flex-direction: column;\n\n &::before {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n pointer-events: none;\n content: '';\n background-color: ${get('colors.selectMenu.backdropBg')};\n\n @media (min-width: ${get('breakpoints.0')}) {\n display: none;\n }\n }\n\n @media (min-width: ${get('breakpoints.0')}) {\n position: absolute;\n top: auto;\n right: ${props => (props.align === 'right' ? '0' : 'auto')};\n bottom: auto;\n left: auto;\n padding: 0;\n }\n`\n\nconst Modal = styled.div<StyledModalProps>`\n ${modalStyles}\n ${width}\n`\n\nconst ModalWrapper = styled.div<StyledModalWrapperProps>`\n ${modalWrapperStyles}\n ${COMMON}\n ${sx};\n`\n\ntype SelectMenuModalInternalProps = Pick<StyledModalProps, 'width'> & ComponentProps<typeof ModalWrapper>\n\nconst SelectMenuModal = React.forwardRef<HTMLDivElement, SelectMenuModalInternalProps>(\n ({children, theme, width: widthProp, ...rest}, forwardedRef) => {\n return (\n <ModalWrapper theme={theme} {...rest} role=\"menu\" ref={forwardedRef}>\n <Modal theme={theme} width={widthProp}>\n {children}\n </Modal>\n </ModalWrapper>\n )\n }\n)\n\nSelectMenuModal.defaultProps = {\n align: 'left',\n width: '300px'\n}\n\nSelectMenuModal.displayName = 'SelectMenu.Modal'\n\nexport type SelectMenuModalProps = ComponentProps<typeof SelectMenuModal>\nexport default SelectMenuModal\n","import classnames from 'classnames'\nimport React, {useContext, useEffect} from 'react'\nimport styled, {css} from 'styled-components'\nimport {COMMON, get, SystemCommonProps} from '../constants'\nimport sx, {SxProp} from '../sx'\nimport {ComponentProps} from '../utils/types'\nimport {MenuContext} from './SelectMenuContext'\n\nconst tabStyles = css`\n flex: 1;\n padding: ${get('space.2')} ${get('space.3')};\n font-size: ${get('fontSizes.0')};\n font-weight: 500;\n color: ${get('colors.text.tertiary')};\n text-align: center;\n background-color: transparent;\n border: 0;\n box-shadow: inset 0 -1px 0 ${get('colors.selectMenu.borderSecondary')};\n\n @media (min-width: ${get('breakpoints.0')}) {\n flex: none;\n padding: ${get('space.1')} ${get('space.3')};\n border: ${get('borderWidths.1')} solid transparent;\n border-bottom-width: 0;\n border-top-left-radius: ${get('radii.2')};\n border-top-right-radius: ${get('radii.2')};\n }\n\n &[aria-selected='true'] {\n z-index: 1; // Keeps box-shadow visible when hovering\n color: ${get('colors.text-primary')};\n background-color: ${get('colors.bg.overlay')};\n box-shadow: 0 0 0 1px ${get('colors.selectMenu.borderSecondary')};\n\n @media (min-width: ${get('breakpoints.0')}) {\n border-color: ${get('colors.selectMenu.borderSecondary')};\n box-shadow: none;\n }\n }\n\n &:focus {\n background-color: ${get('colors.state.hover.secondaryBg')};\n }\n`\n\nconst StyledTab = styled.button<SystemCommonProps & SxProp>`\n ${tabStyles}\n ${COMMON}\n ${sx};\n`\n\nexport type SelectMenuTabProps = {tabName?: string; index?: number} & ComponentProps<typeof StyledTab>\n\nconst SelectMenuTab = ({tabName = '', index, className, onClick, ...rest}: SelectMenuTabProps) => {\n const menuContext = useContext(MenuContext)\n const handleClick = (e: React.MouseEvent<HTMLButtonElement, MouseEvent>) => {\n // if consumer has attached an onClick event, call it\n onClick && onClick(e)\n if (!e.defaultPrevented) {\n menuContext.setSelectedTab?.(tabName)\n }\n }\n\n // if no tab is selected when the component renders, show the first tab\n useEffect(() => {\n if (!menuContext.selectedTab && index === 0) {\n menuContext.setSelectedTab?.(tabName)\n }\n }, [index, menuContext, tabName])\n\n const isSelected = menuContext.selectedTab === tabName\n\n return (\n <StyledTab\n role=\"tab\"\n className={classnames('SelectMenuTab', className)}\n aria-selected={isSelected}\n onClick={handleClick}\n {...rest}\n >\n {tabName}\n </StyledTab>\n )\n}\n\nSelectMenuTab.displayName = 'SelectMenu.Tab'\n\nexport default SelectMenuTab\n","import React, {useContext} from 'react'\nimport styled from 'styled-components'\nimport {COMMON, get, SystemCommonProps} from '../constants'\nimport sx, {SxProp} from '../sx'\nimport {ComponentProps} from '../utils/types'\nimport {MenuContext} from './SelectMenuContext'\nimport SelectMenuList from './SelectMenuList'\n\nconst TabPanelBase = styled.div<SystemCommonProps & SxProp>`\n border-top: ${get('borderWidths.1')} solid ${get('colors.selectMenu.borderSecondary')};\n ${COMMON}\n ${sx};\n`\n\nexport type SelectMenuTabPanelProps = {\n tabName?: string\n} & ComponentProps<typeof TabPanelBase>\n\nconst TabPanel = ({tabName, className, children, ...rest}: SelectMenuTabPanelProps) => {\n const menuContext = useContext(MenuContext)\n return (\n <TabPanelBase role=\"tabpanel\" className={className} hidden={menuContext.selectedTab !== tabName} {...rest}>\n <SelectMenuList>{children}</SelectMenuList>\n </TabPanelBase>\n )\n}\n\nTabPanel.displayName = 'SelectMenu.TabPanel'\n\nexport default TabPanel\n","import React from 'react'\nimport styled, {css} from 'styled-components'\nimport {COMMON, get, SystemCommonProps} from '../constants'\nimport sx, {SxProp} from '../sx'\nimport {ComponentProps} from '../utils/types'\n\nconst tabWrapperStyles = css`\n display: flex;\n flex-shrink: 0;\n margin-bottom: -1px; // hide border of element below\n -webkit-overflow-scrolling: touch;\n overflow-x: auto;\n overflow-y: hidden;\n\n // Hide scrollbar so it doesn't cover the text\n &::-webkit-scrollbar {\n display: none;\n }\n\n @media (min-width: ${get('breakpoints.0')}) {\n padding: 0 ${get('space.2')};\n margin-top: ${get('space.3')};\n }\n`\n\nconst SelectMenuTabsBase = styled.div<SystemCommonProps & SxProp>`\n ${tabWrapperStyles}\n ${COMMON}\n ${sx};\n`\n\nexport type SelectMenuTabsProps = ComponentProps<typeof SelectMenuTabsBase>\n\nconst SelectMenuTabs = ({children, ...rest}: SelectMenuTabsProps) => {\n return (\n <SelectMenuTabsBase role=\"tablist\" {...rest}>\n {children}\n </SelectMenuTabsBase>\n )\n}\n\nSelectMenuTabs.displayName = 'SelectMenu.Tabs'\n\nexport default SelectMenuTabs\n","import React, {useCallback, useEffect, useRef, useState} from 'react'\nimport styled from 'styled-components'\nimport {COMMON, SystemCommonProps} from '../constants'\nimport sx, {SxProp} from '../sx'\nimport {ComponentProps} from '../utils/types'\nimport useKeyboardNav from './hooks/useKeyboardNav'\nimport {MenuContext} from './SelectMenuContext'\nimport SelectMenuDivider from './SelectMenuDivider'\nimport SelectMenuFilter from './SelectMenuFilter'\nimport SelectMenuFooter from './SelectMenuFooter'\nimport SelectMenuHeader from './SelectMenuHeader'\nimport SelectMenuItem from './SelectMenuItem'\nimport SelectMenuList from './SelectMenuList'\nimport SelectMenuLoadingAnimation from './SelectMenuLoadingAnimation'\nimport SelectMenuModal from './SelectMenuModal'\nimport SelectMenuTab from './SelectMenuTab'\nimport SelectMenuTabPanel from './SelectMenuTabPanel'\nimport SelectMenuTabs from './SelectMenuTabs'\n\nconst wrapperStyles = `\n // Remove marker added by the display: list-item browser default\n > summary {\n list-style: none;\n }\n // Remove marker added by details polyfill\n > summary::before {\n display: none;\n }\n // Remove marker added by Chrome\n > summary::-webkit-details-marker {\n display: none;\n }\n`\n\nconst StyledSelectMenu = styled.details<SystemCommonProps & SxProp>`\n ${wrapperStyles}\n ${COMMON}\n ${sx};\n`\n\ntype SelectMenuInternalProps = {\n initialTab?: string\n as?: React.ReactElement\n} & ComponentProps<typeof StyledSelectMenu>\n\n// 'as' is spread out because we don't want users to be able to change the tag.\nconst SelectMenu = React.forwardRef<HTMLElement, SelectMenuInternalProps>(\n ({children, initialTab = '', as: _ignoredAs, ...rest}, forwardedRef) => {\n const backupRef = useRef<HTMLElement>(null)\n const ref = forwardedRef ?? backupRef\n const [selectedTab, setSelectedTab] = useState(initialTab)\n const [open, setOpen] = useState(false)\n const menuProviderValues = {\n selectedTab,\n setSelectedTab,\n setOpen,\n open,\n initialTab\n }\n\n const onClickOutside = useCallback(\n event => {\n if ('current' in ref && ref.current && !ref.current.contains(event.target)) {\n if (!event.defaultPrevented) {\n setOpen(false)\n }\n }\n },\n [ref, setOpen]\n )\n\n // handles the overlay behavior - closing the menu when clicking outside of it\n useEffect(() => {\n if (open) {\n document.addEventListener('click', onClickOutside)\n return () => {\n document.removeEventListener('click', onClickOutside)\n }\n }\n }, [open, onClickOutside])\n\n function toggle(event: React.SyntheticEvent<HTMLDetailsElement, Event>) {\n setOpen((event.target as HTMLDetailsElement).open)\n }\n\n useKeyboardNav(ref, open, setOpen)\n\n return (\n <MenuContext.Provider value={menuProviderValues}>\n <StyledSelectMenu ref={ref} {...rest} open={open} onToggle={toggle}>\n {children}\n </StyledSelectMenu>\n </MenuContext.Provider>\n )\n }\n)\n\nSelectMenu.displayName = 'SelectMenu'\n\nexport type SelectMenuProps = ComponentProps<typeof SelectMenu>\nexport type {SelectMenuDividerProps} from './SelectMenuDivider'\nexport type {SelectMenuFilterProps} from './SelectMenuFilter'\nexport type {SelectMenuFooterProps} from './SelectMenuFooter'\nexport type {SelectMenuHeaderProps} from './SelectMenuHeader'\nexport type {SelectMenuItemProps} from './SelectMenuItem'\nexport type {SelectMenuListProps} from './SelectMenuList'\nexport type {SelectMenuLoadingAnimationProps} from './SelectMenuLoadingAnimation'\nexport type {SelectMenuModalProps} from './SelectMenuModal'\nexport type {SelectMenuTabProps} from './SelectMenuTab'\nexport type {SelectMenuTabPanelProps} from './SelectMenuTabPanel'\nexport type {SelectMenuTabsProps} from './SelectMenuTabs'\nexport default Object.assign(SelectMenu, {\n MenuContext,\n List: SelectMenuList,\n Divider: SelectMenuDivider,\n Filter: SelectMenuFilter,\n Footer: SelectMenuFooter,\n Item: SelectMenuItem,\n Modal: SelectMenuModal,\n Tabs: SelectMenuTabs,\n Tab: SelectMenuTab,\n TabPanel: SelectMenuTabPanel,\n Header: SelectMenuHeader,\n LoadingAnimation: SelectMenuLoadingAnimation\n})\n","// eslint-disable-next-line import/no-namespace\nimport * as History from 'history'\n\nimport {COMMON, get} from './constants'\nimport styled, {css} from 'styled-components'\n\nimport Box from './Box'\nimport {ComponentProps} from './utils/types'\nimport Link from './Link'\nimport React from 'react'\nimport classnames from 'classnames'\nimport sx from './sx'\n\ntype SideNavBaseProps = {\n variant?: 'lightweight' | 'normal'\n bordered?: boolean\n} & ComponentProps<typeof Box>\n\nfunction SideNavBase({variant, className, bordered, children, ...props}: SideNavBaseProps) {\n const variantClassName = variant === 'lightweight' ? 'lightweight' : 'normal'\n const newClassName = classnames(className, `variant-${variantClassName}`)\n\n if (!bordered) {\n props = {...props, borderWidth: 0}\n }\n\n return (\n <Box\n borderWidth=\"1px\"\n borderStyle=\"solid\"\n borderColor=\"border.primary\"\n borderRadius={2}\n as=\"nav\"\n className={newClassName}\n {...props}\n >\n {children}\n </Box>\n )\n}\n\nconst SideNav = styled(SideNavBase)`\n background-color: ${get('colors.bg.secondary')};\n\n ${props =>\n props.bordered &&\n css`\n // Remove duplicate borders from nested SideNavs\n & > & {\n border-left: 0;\n border-right: 0;\n border-bottom: 0;\n }\n `}\n\n ${COMMON};\n ${sx};\n`\ntype StyledSideNavLinkProps = {\n to?: History.LocationDescriptor\n selected?: boolean\n variant?: 'full' | 'normal'\n}\n\n// used for variant normal hover, focus pseudo selectors\nconst CommonAccessibilityVariantNormalStyles = css`\n background-color: ${get('colors.state.hover.secondaryBg')};\n outline: none;\n text-decoration: none;\n`\n\n// used for light weight hover, focus pseudo selectors\nconst CommonAccessibilityVariantLightWeightStyles = css`\n color: ${get('colors.text.primary')};\n text-decoration: none;\n outline: none;\n`\n\nconst SideNavLink = styled(Link).attrs<StyledSideNavLinkProps>(props => {\n const isReactRouter = typeof props.to === 'string'\n if (isReactRouter || props.selected) {\n // according to their docs, NavLink supports aria-current:\n // https://reacttraining.com/react-router/web/api/NavLink/aria-current-string\n return {'aria-current': 'page'}\n } else {\n return {}\n }\n})<StyledSideNavLinkProps>`\n position: relative;\n display: block;\n ${props =>\n props.variant === 'full' &&\n css`\n display: flex;\n align-items: center;\n justify-content: space-between;\n `}\n width: 100%;\n text-align: left;\n font-size: ${get('fontSizes.1')};\n\n & > ${SideNav} {\n border-bottom: none;\n }\n\n ${SideNav}.variant-normal > & {\n color: ${get('colors.text.primary')};\n padding: ${get('space.3')};\n border: 0;\n border-top: ${get('borderWidths.1')} solid ${get('colors.border.secondary')};\n\n &:first-child {\n border-top: 0;\n border-top-right-radius: ${get('radii.2')};\n border-top-left-radius: ${get('radii.2')};\n }\n\n &:last-child {\n border-bottom-right-radius: ${get('radii.2')};\n border-bottom-left-radius: ${get('radii.2')};\n }\n\n // Bar on the left\n &::before {\n position: absolute;\n top: 0;\n bottom: 0;\n left: 0;\n z-index: 1;\n width: 3px;\n pointer-events: none;\n content: '';\n }\n\n &:hover {\n ${CommonAccessibilityVariantNormalStyles}\n }\n\n &:focus {\n ${CommonAccessibilityVariantNormalStyles}\n box-shadow: ${get('shadows.state.focus.shadow')};\n z-index: 1;\n }\n\n &[aria-current='page'],\n &[aria-selected='true'] {\n background-color: ${get('colors.sidenav.selectedBg')};\n\n // Bar on the left\n &::before {\n background-color: ${get('colors.sidenav.borderActive')};\n }\n }\n }\n\n ${SideNav}.variant-lightweight > & {\n padding: ${get('space.1')} 0;\n color: ${get('colors.text.link')};\n\n &:hover {\n ${CommonAccessibilityVariantLightWeightStyles}\n }\n\n &:focus {\n ${CommonAccessibilityVariantLightWeightStyles}\n box-shadow: ${get('shadows.state.focus.shadow')};\n z-index: 1;\n }\n\n &[aria-current='page'],\n &[aria-selected='true'] {\n color: ${get('colors.text.primary')};\n font-weight: ${get('fontWeights.semibold')};\n }\n }\n\n ${sx};\n`\n\nSideNav.defaultProps = {\n variant: 'normal'\n}\n\nSideNavLink.defaultProps = {\n variant: 'normal'\n}\n\nSideNavLink.displayName = 'SideNav.Link'\n\nexport type SideNavProps = ComponentProps<typeof SideNav>\nexport type SideNavLinkProps = ComponentProps<typeof SideNavLink>\n\nexport default Object.assign(SideNav, {Link: SideNavLink})\n","import {GitMergeIcon, GitPullRequestIcon, IssueClosedIcon, IssueOpenedIcon, QuestionIcon} from '@primer/octicons-react'\nimport React from 'react'\nimport styled from 'styled-components'\nimport {variant} from 'styled-system'\nimport {COMMON, get, SystemCommonProps} from './constants'\nimport StyledOcticon from './StyledOcticon'\nimport sx, {SxProp} from './sx'\nimport {ComponentProps} from './utils/types'\n\nconst octiconMap = {\n issueOpened: IssueOpenedIcon,\n pullOpened: GitPullRequestIcon,\n issueClosed: IssueClosedIcon,\n pullClosed: GitPullRequestIcon,\n pullMerged: GitMergeIcon,\n draft: GitPullRequestIcon\n}\n\nconst colorVariants = variant({\n prop: 'status',\n variants: {\n issueClosed: {\n backgroundColor: 'prState.closed.bg',\n color: 'prState.closed.text',\n borderColor: 'prState.closed.border'\n },\n pullClosed: {\n backgroundColor: 'prState.closed.bg',\n color: 'prState.closed.text',\n borderColor: 'prState.closed.border'\n },\n pullMerged: {\n backgroundColor: 'prState.merged.bg',\n color: 'prState.merged.text',\n borderColor: 'prState.merged.border'\n },\n issueOpened: {\n backgroundColor: 'prState.open.bg',\n color: 'prState.open.text',\n borderColor: 'prState.open.border'\n },\n pullOpened: {\n backgroundColor: 'prState.open.bg',\n color: 'prState.open.text',\n borderColor: 'prState.open.border'\n },\n draft: {\n backgroundColor: 'prState.draft.bg',\n color: 'prState.draft.text',\n borderColor: 'prState.draft.border'\n }\n }\n})\n\nconst sizeVariants = variant({\n prop: 'variant',\n variants: {\n small: {\n paddingX: 2,\n paddingY: 1,\n fontSize: 0\n },\n normal: {\n paddingX: '12px',\n paddingY: 2,\n fontSize: 1\n }\n }\n})\n\ntype StyledStateLabelBaseProps = {\n variant?: 'small' | 'normal'\n status?: keyof typeof octiconMap\n} & SystemCommonProps &\n SxProp\n\nconst StateLabelBase = styled.span<StyledStateLabelBaseProps>`\n display: inline-flex;\n align-items: center;\n font-weight: ${get('fontWeights.bold')};\n line-height: 16px;\n color: ${get('colors.bg.primary')};\n text-align: center;\n border-radius: ${get('radii.3')};\n border-width: 1px;\n border-style: solid;\n ${colorVariants};\n ${sizeVariants};\n ${COMMON};\n ${sx};\n`\n\nexport type StateLabelProps = ComponentProps<typeof StateLabelBase>\n\nfunction StateLabel({children, status, variant: variantProp, ...rest}: StateLabelProps) {\n const octiconProps = variantProp === 'small' ? {width: '1em'} : {}\n return (\n <StateLabelBase {...rest} variant={variantProp} status={status}>\n {/* eslint-disable-next-line @typescript-eslint/no-unnecessary-condition */}\n {status && <StyledOcticon mr={1} {...octiconProps} icon={octiconMap[status] || QuestionIcon} />}\n {children}\n </StateLabelBase>\n )\n}\n\nStateLabel.defaultProps = {\n variant: 'normal'\n}\n\nexport default StateLabel\n","import classnames from 'classnames'\n// eslint-disable-next-line import/no-namespace\nimport * as History from 'history'\nimport React from 'react'\nimport styled from 'styled-components'\nimport {COMMON, FLEX, get, SystemBorderProps, SystemCommonProps, SystemFlexProps} from './constants'\nimport Box, {BoxProps} from './Box'\nimport sx, {SxProp} from './sx'\nimport {ComponentProps} from './utils/types'\n\nconst ITEM_CLASS = 'SubNav-item'\nconst SELECTED_CLASS = 'selected'\n\nconst SubNavBase = styled.nav<SystemFlexProps & SystemCommonProps & SxProp>`\n display: flex;\n justify-content: space-between;\n\n .SubNav-body {\n display: flex;\n margin-bottom: -1px;\n\n > * {\n margin-left: ${get('space.2')};\n }\n\n > *:first-child {\n margin-left: 0;\n }\n }\n\n .SubNav-actions {\n align-self: center;\n }\n\n ${COMMON};\n ${FLEX};\n ${sx};\n`\n\nexport type SubNavProps = {\n actions?: React.ReactNode\n align?: 'right'\n full?: boolean\n label?: string\n} & ComponentProps<typeof SubNavBase>\n\nfunction SubNav({actions, className, children, label, ...rest}: SubNavProps) {\n const classes = classnames(className, 'SubNav')\n return (\n <SubNavBase className={classes} aria-label={label} {...rest}>\n <div className=\"SubNav-body\">{children}</div>\n {actions && <div className=\"SubNav-actions\">{actions}</div>}\n </SubNavBase>\n )\n}\n\nexport type SubNavLinksProps = BoxProps\n\nfunction SubNavLinks(props: SubNavLinksProps) {\n return <Box display=\"flex\" {...props} />\n}\n\ntype StyledSubNavLinkProps = {\n to?: History.LocationDescriptor\n selected?: boolean\n} & SystemCommonProps &\n SxProp &\n SystemBorderProps\n\nconst SubNavLink = styled.a.attrs<StyledSubNavLinkProps>(props => ({\n activeClassName: typeof props.to === 'string' ? 'selected' : '',\n className: classnames(ITEM_CLASS, props.selected && SELECTED_CLASS, props.className)\n}))<StyledSubNavLinkProps>`\n padding-left: ${get('space.3')};\n padding-right: ${get('space.3')};\n font-weight: ${get('fontWeights.semibold')};\n font-size: ${get('fontSizes.1')};\n line-height: 20px; //custom value for SubNav\n min-height: 34px; //custom value for SubNav\n color: ${get('colors.text.primary')};\n text-align: center;\n text-decoration: none;\n border-top: 1px solid ${get('colors.border.primary')};\n border-bottom: 1px solid ${get('colors.border.primary')};\n border-right: 1px solid ${get('colors.border.primary')};\n display: flex;\n align-items: center;\n\n &:first-of-type {\n border-top-left-radius: ${get('radii.2')};\n border-bottom-left-radius: ${get('radii.2')};\n border-left: 1px solid ${get('colors.border.primary')};\n }\n\n &:last-of-type {\n border-top-right-radius: ${get('radii.2')};\n border-bottom-right-radius: ${get('radii.2')};\n }\n\n &:hover,\n &:focus {\n text-decoration: none;\n background-color: ${get('colors.bg.tertiary')};\n transition: 0.2s ease;\n\n .SubNav-octicon {\n color: ${get('colors.icon.secondary')};\n }\n }\n\n &.selected {\n color: ${get('colors.state.selected.primaryText')};\n background-color: ${get('colors.state.selected.primaryBg')};\n border-color: ${get('colors.state.selected.primaryBorder')};\n .SubNav-octicon {\n color: ${get('colors.state.selected.primaryText')};\n }\n }\n\n ${COMMON};\n ${sx};\n`\n\nSubNavLink.displayName = 'SubNav.Link'\n\nSubNavLinks.displayName = 'SubNav.Links'\n\nexport type SubNavLinkProps = ComponentProps<typeof SubNavLink>\nexport default Object.assign(SubNav, {Link: SubNavLink, Links: SubNavLinks})\n","import classnames from 'classnames'\n// eslint-disable-next-line import/no-namespace\nimport * as History from 'history'\nimport React from 'react'\nimport styled from 'styled-components'\nimport {COMMON, get, SystemCommonProps, SystemTypographyProps} from './constants'\nimport sx, {SxProp} from './sx'\nimport {ComponentProps} from './utils/types'\n\nconst ITEM_CLASS = 'TabNav-item'\nconst SELECTED_CLASS = 'selected'\n\nconst TabNavBase = styled.div<SystemCommonProps & SxProp>`\n margin-top: 0;\n border-bottom: 1px solid ${get('colors.border.primary')};\n ${COMMON}\n ${sx}\n`\n\nconst TabNavBody = styled.nav`\n display: flex;\n margin-bottom: -1px;\n overflow: auto;\n`\n\nexport type TabNavProps = ComponentProps<typeof TabNavBase>\n\nfunction TabNav({children, 'aria-label': ariaLabel, ...rest}: TabNavProps) {\n return (\n <TabNavBase {...rest}>\n <TabNavBody aria-label={ariaLabel}>{children}</TabNavBody>\n </TabNavBase>\n )\n}\n\ntype StyledTabNavLinkProps = {\n to?: History.LocationDescriptor\n selected?: boolean\n} & SystemCommonProps &\n SxProp &\n SystemTypographyProps\n\nconst TabNavLink = styled.a.attrs<StyledTabNavLinkProps>(props => ({\n activeClassName: typeof props.to === 'string' ? 'selected' : '',\n className: classnames(ITEM_CLASS, props.selected && SELECTED_CLASS, props.className)\n}))<StyledTabNavLinkProps>`\n padding: 8px 12px;\n font-size: ${get('fontSizes.1')};\n line-height: 20px;\n color: ${get('colors.text.primary')};\n text-decoration: none;\n background-color: transparent;\n border: 1px solid transparent;\n border-bottom: 0;\n\n &:hover,\n &:focus {\n color: ${get('colors.text.primary')};\n text-decoration: none;\n }\n\n &.selected {\n color: ${get('colors.text.primary')};\n border-color: ${get('colors.border.primary')};\n border-top-right-radius: ${get('radii.2')};\n border-top-left-radius: ${get('radii.2')};\n background-color: ${get('colors.bg.canvas')};\n }\n\n ${COMMON};\n ${sx};\n`\n\nTabNavLink.displayName = 'TabNav.Link'\n\nexport type TabNavLinkProps = ComponentProps<typeof TabNavLink>\nexport default Object.assign(TabNav, {Link: TabNavLink})\n","import classnames from 'classnames'\nimport React from 'react'\nimport styled, {css} from 'styled-components'\nimport Box, {BoxProps} from './Box'\nimport {COMMON, get} from './constants'\nimport sx from './sx'\nimport {ComponentProps} from './utils/types'\n\nconst Timeline = styled(Box)<{clipSidebar?: boolean}>`\n display: flex;\n flex-direction: column;\n ${props =>\n props.clipSidebar &&\n css`\n .Timeline-Item:first-child {\n padding-top: 0;\n }\n\n .Timeline-Item:last-child {\n padding-bottom: 0;\n }\n `}\n\n ${sx};\n`\n\ntype StyledTimelineItemProps = {condensed?: boolean}\n\nconst TimelineItem = styled(Box).attrs<StyledTimelineItemProps>(props => ({\n className: classnames('Timeline-Item', props.className)\n}))<StyledTimelineItemProps>`\n display: flex;\n position: relative;\n padding: ${get('space.3')} 0;\n margin-left: ${get('space.3')};\n\n &::before {\n position: absolute;\n top: 0;\n bottom: 0;\n left: 0;\n display: block;\n width: 2px;\n content: '';\n background-color: ${get('colors.border.secondary')};\n }\n\n ${props =>\n props.condensed &&\n css`\n padding-top: ${get('space.1')};\n padding-bottom: 0;\n &:last-child {\n padding-bottom: ${get('space.3')};\n }\n\n .TimelineItem-Badge {\n height: 16px;\n margin-top: ${get('space.2')};\n margin-bottom: ${get('space.2')};\n color: ${get('colors.icon.tertiary')};\n background-color: ${get('colors.bg.canvas')};\n border: 0;\n }\n `}\n\n ${COMMON};\n ${sx};\n`\n\nexport type TimelineBadgeProps = BoxProps\n\nconst TimelineBadge = (props: TimelineBadgeProps) => {\n return (\n <Box position=\"relative\" zIndex={1}>\n <Box\n display=\"flex\"\n className={classnames(props.className, 'TimelineItem-Badge')}\n flexShrink={0}\n borderRadius=\"50%\"\n borderWidth=\"2px\"\n borderStyle=\"solid\"\n borderColor=\"bg.canvas\"\n overflow=\"hidden\"\n color=\"icon.secondary\"\n bg=\"timeline.badgeBg\"\n width=\"32px\"\n height=\"32px\"\n mr={2}\n ml=\"-15px\"\n alignItems=\"center\"\n justifyContent=\"center\"\n {...props}\n >\n {props.children}\n </Box>\n </Box>\n )\n}\n\nconst TimelineBody = styled(Box)`\n min-width: 0;\n max-width: 100%;\n margin-top: ${get('space.1')};\n color: ${get('colors.timeline.text')};\n flex: auto;\n font-size: ${get('fontSizes.1')};\n ${sx};\n`\n\nconst TimelineBreak = styled(Box)`\n position: relative\n z-index: 1;\n height: 24px;\n margin: 0;\n margin-bottom: -${get('space.3')};\n margin-left: 0;\n background-color: ${get('colors.bg.canvas')};\n border: 0;\n border-top: ${get('space.1')} solid ${get('colors.border.primary')};\n ${sx};\n`\n\nTimelineItem.displayName = 'Timeline.Item'\n\nTimelineBadge.displayName = 'Timeline.Badge'\n\nTimelineBody.displayName = 'Timeline.Body'\n\nTimelineBreak.displayName = 'Timeline.Break'\n\nexport type TimelineProps = ComponentProps<typeof Timeline>\nexport type TimelineItemsProps = ComponentProps<typeof TimelineItem>\nexport type TimelineBodyProps = ComponentProps<typeof TimelineBody>\nexport type TimelineBreakProps = ComponentProps<typeof TimelineBreak>\nexport default Object.assign(Timeline, {\n Item: TimelineItem,\n Badge: TimelineBadge,\n Body: TimelineBody,\n Break: TimelineBreak\n})\n","import classnames from 'classnames'\nimport React from 'react'\nimport styled from 'styled-components'\nimport {COMMON, get, SystemCommonProps} from './constants'\nimport sx, {SxProp} from './sx'\nimport {ComponentProps} from './utils/types'\n\nconst TooltipBase = styled.span<SystemCommonProps & SxProp>`\n position: relative;\n\n &::before {\n position: absolute;\n z-index: 1000001;\n display: none;\n width: 0px;\n height: 0px;\n color: ${get('colors.tooltip.bg')};\n pointer-events: none;\n content: '';\n border: 6px solid transparent;\n opacity: 0;\n }\n\n &::after {\n position: absolute;\n z-index: 1000000;\n display: none;\n padding: 0.5em 0.75em;\n font: normal normal 11px/1.5 ${get('fonts.normal')};\n -webkit-font-smoothing: subpixel-antialiased;\n color: ${get('colors.tooltip.text')};\n text-align: center;\n text-decoration: none;\n text-shadow: none;\n text-transform: none;\n letter-spacing: normal;\n word-wrap: break-word;\n white-space: pre;\n pointer-events: none;\n content: attr(aria-label);\n background: ${get('colors.tooltip.bg')};\n border-radius: ${get('radii.1')};\n opacity: 0;\n }\n\n // delay animation for tooltip\n @keyframes tooltip-appear {\n from {\n opacity: 0;\n }\n\n to {\n opacity: 1;\n }\n }\n\n &:hover,\n &:active,\n &:focus {\n &::before,\n &::after {\n display: inline-block;\n text-decoration: none;\n animation-name: tooltip-appear;\n animation-duration: 0.1s;\n animation-fill-mode: forwards;\n animation-timing-function: ease-in;\n animation-delay: 0.4s;\n }\n }\n\n &.tooltipped-no-delay:hover,\n &.tooltipped-no-delay:active,\n &.tooltipped-no-delay:focus {\n &::before,\n &::after {\n animation-delay: 0s;\n }\n }\n\n &.tooltipped-multiline:hover,\n &.tooltipped-multiline:active,\n &.tooltipped-multiline:focus {\n &::after {\n display: table-cell;\n }\n }\n\n // Tooltipped south\n &.tooltipped-s,\n &.tooltipped-se,\n &.tooltipped-sw {\n &::after {\n top: 100%;\n right: 50%;\n margin-top: 6px;\n }\n\n &::before {\n top: auto;\n right: 50%;\n bottom: -7px;\n margin-right: -6px;\n border-bottom-color: ${get('colors.tooltip.bg')};\n }\n }\n\n &.tooltipped-se {\n &::after {\n right: auto;\n left: 50%;\n margin-left: -${get('space.3')};\n }\n }\n\n &.tooltipped-sw::after {\n margin-right: -${get('space.3')};\n }\n\n // Tooltips above the object\n &.tooltipped-n,\n &.tooltipped-ne,\n &.tooltipped-nw {\n &::after {\n right: 50%;\n bottom: 100%;\n margin-bottom: 6px;\n }\n\n &::before {\n top: -7px;\n right: 50%;\n bottom: auto;\n margin-right: -6px;\n border-top-color: ${get('colors.tooltip.bg')};\n }\n }\n\n &.tooltipped-ne {\n &::after {\n right: auto;\n left: 50%;\n margin-left: -${get('space.3')};\n }\n }\n\n &.tooltipped-nw::after {\n margin-right: -${get('space.3')};\n }\n\n // Move the tooltip body to the center of the object.\n &.tooltipped-s::after,\n &.tooltipped-n::after {\n transform: translateX(50%);\n }\n\n // Tooltipped to the left\n &.tooltipped-w {\n &::after {\n right: 100%;\n bottom: 50%;\n margin-right: 6px;\n transform: translateY(50%);\n }\n\n &::before {\n top: 50%;\n bottom: 50%;\n left: -7px;\n margin-top: -6px;\n border-left-color: ${get('colors.tooltip.bg')};\n }\n }\n\n // tooltipped to the right\n &.tooltipped-e {\n &::after {\n bottom: 50%;\n left: 100%;\n margin-left: 6px;\n transform: translateY(50%);\n }\n\n &::before {\n top: 50%;\n right: -7px;\n bottom: 50%;\n margin-top: -6px;\n border-right-color: ${get('colors.tooltip.bg')};\n }\n }\n\n &.tooltipped-multiline {\n &::after {\n width: max-content;\n max-width: 250px;\n word-wrap: break-word;\n white-space: pre-line;\n border-collapse: separate;\n }\n\n &.tooltipped-s::after,\n &.tooltipped-n::after {\n right: auto;\n left: 50%;\n transform: translateX(-50%);\n }\n\n &.tooltipped-w::after,\n &.tooltipped-e::after {\n right: 100%;\n }\n }\n\n &.tooltipped-align-right-2::after {\n right: 0;\n margin-right: 0;\n }\n\n &.tooltipped-align-right-2::before {\n right: 15px;\n }\n\n &.tooltipped-align-left-2::after {\n left: 0;\n margin-left: 0;\n }\n\n &.tooltipped-align-left-2::before {\n left: 10px;\n }\n ${COMMON};\n ${sx};\n`\n\nexport type TooltipProps = {\n direction?: 'n' | 'ne' | 'e' | 'se' | 's' | 'sw' | 'w' | 'nw'\n text?: string\n noDelay?: boolean\n align?: 'left' | 'right'\n wrap?: boolean\n} & ComponentProps<typeof TooltipBase>\n\nfunction Tooltip({direction = 'n', children, className, text, noDelay, align, wrap, ...rest}: TooltipProps) {\n const classes = classnames(\n className,\n `tooltipped-${direction}`,\n align && `tooltipped-align-${align}-2`,\n noDelay && 'tooltipped-no-delay',\n wrap && 'tooltipped-multiline'\n )\n return (\n <TooltipBase role=\"tooltip\" aria-label={text} {...rest} className={classes}>\n {children}\n </TooltipBase>\n )\n}\n\nTooltip.alignments = ['left', 'right']\n\nTooltip.directions = ['n', 'ne', 'e', 'se', 's', 'sw', 'w', 'nw']\n\nexport default Tooltip\n","import classnames from 'classnames'\n// eslint-disable-next-line import/no-namespace\nimport * as History from 'history'\nimport React from 'react'\nimport styled from 'styled-components'\nimport {COMMON, get, SystemCommonProps} from './constants'\nimport sx, {SxProp} from './sx'\nimport {ComponentProps} from './utils/types'\n\nconst ITEM_CLASS = 'UnderlineNav-item'\nconst SELECTED_CLASS = 'selected'\n\nconst UnderlineNavBase = styled.nav`\n display: flex;\n justify-content: space-between;\n border-bottom: 1px solid ${get('colors.border.secondary')};\n &.UnderlineNav--right {\n justify-content: flex-end;\n\n .UnderlineNav-item {\n margin-right: 0;\n margin-left: ${get('space.3')};\n }\n\n .UnderlineNav-actions {\n flex: 1 1 auto;\n }\n }\n &.UnderlineNav--full {\n display: block;\n }\n\n .UnderlineNav-body {\n display: flex;\n margin-bottom: -1px;\n }\n\n .UnderlineNav-actions {\n align-self: center;\n }\n\n ${COMMON};\n ${sx};\n`\n\nexport type UnderlineNavProps = {\n actions?: React.ReactNode\n align?: 'right'\n full?: boolean\n label?: string\n} & ComponentProps<typeof UnderlineNavBase>\n\nfunction UnderlineNav({actions, className, align, children, full, label, theme, ...rest}: UnderlineNavProps) {\n const classes = classnames(className, 'UnderlineNav', align && `UnderlineNav--${align}`, full && 'UnderlineNav--full')\n return (\n <UnderlineNavBase className={classes} aria-label={label} theme={theme} {...rest}>\n <div className=\"UnderlineNav-body\">{children}</div>\n {actions && <div className=\"UnderlineNav-actions\">{actions}</div>}\n </UnderlineNavBase>\n )\n}\n\ntype StyledUnderlineNavLinkProps = {\n to?: History.LocationDescriptor\n selected?: boolean\n} & SystemCommonProps &\n SxProp\n\nconst UnderlineNavLink = styled.a.attrs<StyledUnderlineNavLinkProps>(props => ({\n activeClassName: typeof props.to === 'string' ? 'selected' : '',\n className: classnames(ITEM_CLASS, props.selected && SELECTED_CLASS, props.className)\n}))<StyledUnderlineNavLinkProps>`\n padding: ${get('space.3')} ${get('space.2')};\n margin-right: ${get('space.3')};\n font-size: ${get('fontSizes.1')};\n line-height: ${get('lineHeights.default')};\n color: ${get('colors.underlinenav.text')};\n text-align: center;\n border-bottom: 2px solid transparent;\n text-decoration: none;\n\n &:hover,\n &:focus {\n color: ${get('colors.underlinenav.textHover')};\n text-decoration: none;\n border-bottom-color: ${get('colors.border.tertiary')};\n transition: 0.2s ease;\n\n .UnderlineNav-octicon {\n color: ${get('colors.text.tertiary')};\n }\n }\n\n &.selected {\n color: ${get('colors.underlinenav.textActive')};\n border-bottom-color: ${get('colors.underlinenav.borderActive')};\n\n .UnderlineNav-octicon {\n color: ${get('colors.underlinenav.iconActive')};\n }\n }\n\n ${COMMON};\n ${sx};\n`\n\nUnderlineNavLink.displayName = 'UnderlineNav.Link'\n\nexport type UnderlineNavLinkProps = ComponentProps<typeof UnderlineNavLink>\nexport default Object.assign(UnderlineNav, {Link: UnderlineNavLink})\n","import {useCallback, useEffect, useRef} from 'react'\n\ntype SetTimeout = (handler: TimerHandler, timeout?: number, ...args: unknown[]) => number\ntype ClearTimeout = (id: number) => void\n\n/**\n * Safely call `setTimeout` and `clearTimeout` within a component.\n *\n * This hook ensures that all timeouts are cleared when the component unmounts.\n */\nexport default function useSafeTimeout(): {safeSetTimeout: SetTimeout; safeClearTimeout: ClearTimeout} {\n const timers = useRef<Set<number>>(new Set<number>())\n\n const safeSetTimeout = useCallback(\n (handler: TimerHandler, timeout?: number | undefined, ...args: unknown[]): number => {\n const id = window.setTimeout(handler, timeout, ...args)\n timers.current.add(id)\n return id\n },\n []\n )\n\n const safeClearTimeout = useCallback((id: number) => {\n clearTimeout(id)\n timers.current.delete(id)\n }, [])\n\n useEffect(() => {\n return () => {\n // eslint-disable-next-line react-hooks/exhaustive-deps\n for (const id of timers.current) {\n clearTimeout(id)\n }\n }\n }, [])\n\n return {safeSetTimeout, safeClearTimeout}\n}\n"],"names":["getOwnPropertySymbols","Object","hasOwnProperty","prototype","propIsEnumerable","propertyIsEnumerable","toObject","val","TypeError","objectAssign","assign","test1","String","getOwnPropertyNames","test2","i","fromCharCode","map","n","join","test3","split","forEach","letter","keys","err","shouldUseNative","target","source","from","symbols","to","s","arguments","length","key","call","merge","a","b","result","_assign","defaults","breakpoints","createMediaQuery","getValue","scale","get","obj","def","p","undef","createParser","config","cache","parse","props","next","styles","shouldSort","isCacheDisabled","theme","disableStyledSystemCache","sx","raw","Array","isArray","media","concat","parseResponsiveStyle","parseResponsiveObject","sort","localeCompare","undefined","numeric","sensitivity","propNames","filter","k","_createParser","mediaQueries","_props","slice","value","_assign2","style","breakpoint","_assign3","createStyleFunction","_ref","properties","property","_ref$transform","transform","defaultScale","prop","system","args","conf","compose","_len","parsers","_key","parser","layout","width","isNaN","isNumber","height","minWidth","minHeight","maxWidth","maxHeight","size","overflow","overflowX","overflowY","display","verticalAlign","color","backgroundColor","opacity","bg","typography","fontFamily","fontSize","fontWeight","lineHeight","letterSpacing","textAlign","fontStyle","flexbox","alignItems","alignContent","justifyItems","justifyContent","flexWrap","flexDirection","flex","flexGrow","flexShrink","flexBasis","justifySelf","alignSelf","order","space","grid","gridGap","gridColumnGap","gridRowGap","gridColumn","gridRow","gridAutoFlow","gridAutoColumns","gridAutoRows","gridTemplateColumns","gridTemplateRows","gridTemplateAreas","gridArea","border","borderWidth","borderStyle","borderColor","borderRadius","borderTop","borderTopLeftRadius","borderTopRightRadius","borderRight","borderBottom","borderBottomLeftRadius","borderBottomRightRadius","borderLeft","borderX","borderY","borderBottomWidth","borderBottomColor","borderBottomStyle","borderLeftWidth","borderLeftColor","borderLeftStyle","borderRightWidth","borderRightColor","borderRightStyle","background","backgroundImage","backgroundSize","backgroundPosition","backgroundRepeat","bgImage","bgSize","bgPosition","bgRepeat","position","zIndex","top","right","bottom","left","getMargin","isNegative","absolute","Math","abs","configs","margin","marginTop","marginRight","marginBottom","marginLeft","marginX","marginY","m","mt","mr","mb","ml","mx","my","padding","paddingTop","paddingRight","paddingBottom","paddingLeft","paddingX","paddingY","pt","pr","pb","pl","px","py","shadow","boxShadow","textShadow","_extends","apply","this","defaultBreakpoints","defaultTheme","fontSizes","aliases","multiples","scales","gap","columnGap","rowGap","borderTopWidth","borderTopColor","borderTopStyle","outlineColor","fill","stroke","positiveOrNegative","transforms","reduce","acc","curr","_extends2","css","responsive","x","scaleName","dirs","variant","_config","_ref$prop","_ref$variants","variants","buttonStyle","textStyle","colorStyle","cssProperty","alias","transformValue","getKey","styledSystem","themeGet","path","fallback","COMMON","TYPOGRAPHY","whiteSpace","BORDER","LAYOUT","POSITION","FLEX","GlobalStyle","createGlobalStyle","Base","styled","div","BaseStyles","children","rest","require","React","defaultProps","isMergeableObject","isNonNullObject","stringValue","toString","$$typeof","REACT_ELEMENT_TYPE","isReactElement","isSpecial","Symbol","for","cloneUnlessOtherwiseSpecified","options","clone","deepmerge","defaultArrayMerge","element","getKeys","symbol","getEnumerableOwnPropertySymbols","propertyIsOnObject","object","_","mergeObject","destination","propertyIsUnsafe","customMerge","getMergeFunction","arrayMerge","sourceIsArray","all","array","Error","prev","cjs","defaultDayScheme","defaultNightScheme","ThemeContext","createContext","setColorMode","setDayScheme","setNightScheme","ThemeProvider","fallbackTheme","colorMode","fallbackColorMode","dayScheme","fallbackDayScheme","nightScheme","fallbackNightScheme","useTheme","useState","resolvedColorMode","systemColorMode","resolveColorMode","setSystemColorMode","getSystemColorMode","useEffect","window","_window","matchMedia","_window$matchMedia","handleChange","event","isNight","matches","addEventListener","removeEventListener","addListener","removeListener","useSystemColorMode","colorScheme","chooseColorScheme","resolvedTheme","useMemo","colorSchemes","console","error","defaultColorScheme","applyColorScheme","Provider","SCThemeProvider","useContext","useColorSchemeVar","values","_window$matchMedia2","_window$matchMedia2$c","BorderBox","Box","Flex","Grid","Position","Absolute","forwardRef","ref","displayName","Fixed","Relative","Sticky","useDetails","closeOnOutsideClick","defaultOpen","onClickOutside","open","setOpen","backupRef","useRef","customRef","onClickOutsideInternal","useCallback","current","closest","defaultPrevented","document","handleToggle","e","eventTarget","getDetailsProps","onToggle","stopPropagation","handleClick","handler","registry","reverse","handlerId","useOnOutsideClick","containerRef","ignoreClickRefs","id","MouseEvent","button","_containerRef$current","contains","some","capture","register","deregister","iterateFocusableElements","container","strict","acceptFn","onlyTabbable","isTabbable","isFocusable","walker","createTreeWalker","NodeFilter","SHOW_ELEMENT","acceptNode","node","HTMLElement","FILTER_ACCEPT","FILTER_SKIP","nextNode","lastChild","firstChild","previousNode","elem","disabledAttrInert","includes","tagName","disabled","hiddenInert","hidden","hiddenInputInert","HTMLInputElement","type","sizeInert","offsetWidth","offsetHeight","visibilityInert","getComputedStyle","visibility","clientRectsInert","getClientRects","getAttribute","HTMLAnchorElement","tabIndex","useOpenAndCloseFocus","initialFocusRef","returnFocusRef","returnRef","focus","firstItem","handlers","handleEscape","useOnEscapePress","onEscape","callbackDependencies","escapeCallback","push","splice","findIndex","h","useProvidedRefOrCreate","providedRef","createdRef","useOverlay","overlayRef","_overlayRef","isMac","signalSupported","noop","create","signal","polyfill","originalAddEventListener","EventTarget","name","originalCallback","optionsOrCapture","AbortSignal","monkeyPatch","isMacOS","test","navigator","platform","FocusKeys","idSeed","uniqueId","ArrowHorizontal","ArrowVertical","HL","JK","WS","AD","ArrowAll","HJKL","HomeAndEnd","PageUpDown","WASD","Tab","KEY_TO_BIT","ArrowLeft","ArrowDown","ArrowUp","ArrowRight","j","l","w","d","Home","End","PageUp","PageDown","KEY_TO_DIRECTION","getDirection","keyboardEvent","direction","shiftKey","metaKey","ctrlKey","isActiveDescendantAttribute","activeDescendantActivatedDirectly","activeDescendantActivatedIndirectly","hasActiveDescendantAttribute","focusZone","settings","focusableElements","savedTabIndex","WeakMap","bindKeys","getNextFocusable","focusOutBehavior","focusInStrategy","activeDescendantControl","activeDescendantCallback","onActiveDescendantChanged","currentFocusedElement","getFirstFocusableElement","updateFocusedElement","directlyActivated","activeElement","setActiveDescendant","clearActiveDescendant","has","setAttribute","removeAttribute","previouslyActiveElement","beginFocusManagement","elements","filteredElements","focusableElementFilter","_settings$focusableEl2","insertIndex","compareDocumentPosition","Node","DOCUMENT_POSITION_PRECEDING","set","endFocusManagement","focusableElementIndex","indexOf","savedIndex","delete","MutationObserver","mutations","mutation","removedNode","removedNodes","addedNode","addedNodes","observe","subtree","childList","controller","AbortController","abortSignal","elementIndexFocusedByClick","focusableElement","find","relatedTarget","Element","targetElementIndex","lastKeyboardFocusDirection","targetElement","elementToFocus","warn","keyboardEventRecipient","keyBit","keyLength","isTextInput","HTMLTextAreaElement","HTMLSelectElement","altKey","textInput","cursorAtStart","selectionStart","selectionEnd","cursorAtEnd","shouldIgnoreFocusHandling","nextElementToFocus","lastFocusedIndex","focusedIndex","getCurrentFocusedIndex","nextFocusedIndex","preventDefault","buttonSystemProps","small","medium","large","ButtonBase","attrs","onClick","buttonBaseStyles","ButtonGroup","summary","sizeMap","getSvgProps","ariaLabel","className","_ref$fill","svgDataByHeight","naturalHeight","naturalHeights","parseInt","closestNaturalHeight","naturalWidth","aria-hidden","aria-label","role","viewBox","userSelect","dangerouslySetInnerHTML","__html","CheckIcon","createElement","16","24","GitMergeIcon","GitPullRequestIcon","IssueClosedIcon","IssueOpenedIcon","QuestionIcon","TriangleDownIcon","XIcon","StyledButton","alternateOrders","getAnchoredPosition","floatingElement","anchorElement","parentElement","parentNode","body","getPositionedParent","clippingRect","clippingNode","elemRect","getBoundingClientRect","elemStyle","v","max","innerHeight","Infinity","getClippingRect","parentElementStyle","parentElementRect","viewportRect","relativePosition","floatingRect","anchorRect","side","align","allowOutOfBounds","anchorOffset","alignmentOffset","relativeViewportRect","pos","calculatePosition","anchorSide","alternateOrder","positionAttempt","prevSide","shouldRecalculatePosition","nextSide","pureCalculateAnchoredPosition","positionDefaults","startsWith","getDefaultSettings","elementDimensions","anchorPosition","anchorRight","anchorBottom","currentPos","containerDimensions","useAnchoredPosition","dependencies","floatingElementRef","anchorElementRef","setPosition","updatePosition","callback","useLayoutEffect","observer","ResizeObserver","documentElement","disconnect","suspendedTrapStack","activeTrap","getFocusableChild","focusTrap","initialFocus","lastFocusedChild","ensureTrapZoneHasFocus","focusedElement","containerNeedsTemporaryTabIndex","once","wrappingController","abort","followSignal","firstFocusableChild","lastFocusableChild","suspendedTrap","suspendedTrapIndex","t","trapToReactivate","pop","originalSignal","tryReactivate","useFocusTrap","abortController","previousFocusedElement","disableTrap","restoreFocusOnCleanUp","Octicon","icon","IconComponent","StyledOcticon","useFocusZone","useActiveDescendant","activeDescendantFocus","activeDescendantControlRef","vanillaSettings","PRIMER_PORTAL_ROOT_ID","DEFAULT_PORTAL_CONTAINER_NAME","portalRootRegistry","ensureDefaultPortal","existingDefaultPortalContainer","defaultPortalContainer","getElementById","suitablePortalRoot","querySelector","appendChild","root","registerPortalRoot","onMount","containerName","_containerName","hostElement","elementRef","removeChild","createPortal","useCombinedRefs","refs","combinedRef","setRefs","ANIMATION_DURATION","Backdrop","heightMap","auto","widthMap","xlarge","StyledDialog","DefaultHeader","dialogLabelId","title","subtitle","dialogDescriptionId","onClose","onCloseClick","Dialog","Header","Title","Subtitle","CloseButton","DefaultBody","Body","DefaultFooter","footerButtons","footerRef","Footer","Buttons","buttons","_Dialog","forwardedRef","renderHeader","renderBody","renderFooter","defaultedProps","dialogRef","backdropRef","header","footer","Portal","as","buttonTypes","normal","Button","primary","ButtonPrimary","danger","ButtonDanger","DialogCloseButton","autoFocusRef","autoFocusCount","hasRendered","setHasRendered","dialogButtonProps","index","content","buttonType","autoFocus","buttonProps","ButtonElement","StyledConfirmationHeader","StyledTitle","ConfirmationHeader","StyledConfirmationBody","ConfirmationBody","StyledConfirmationFooter","ConfirmationFooter","ConfirmationDialog","cancelButtonContent","confirmButtonContent","confirmButtonType","StyledHeader","auxiliaryText","_children","StyledGroup","Group","items","Truncate","inline","expandable","StyledDivider","Divider","renderItem","customItemThemes","default","hover","light","dark","dark_dimmed","getItemVariant","iconColor","annotationColor","hoverCursor","DividedContent","MainContent","StyledItem","item","hoverBackground","showDivider","focusBackground","TextContainer","span","BaseVisualContainer","ColoredVisualContainer","LeadingVisualContainer","TrailingContent","DescriptionContainer","MultiSelectInput","input","Item","itemProps","text","description","descriptionVariant","selected","selectionVariant","leadingVisual","LeadingVisual","trailingIcon","TrailingIcon","trailingText","onAction","onKeyPress","labelId","descriptionId","keyPressHandler","clickHandler","customItemTheme","checked","readOnly","colors","StyledList","List","firstGroupStyle","lastGroupStyle","headerStyle","itemStyle","useListVariant","itemIndex","ItemComponent","_itemProps$id","showItemDividers","groups","isGroupedListProps","groupMap","groupMetadata","groupAccumulator","groupId","Map","group","_group$items","groupProps","hasFilledHeader","shouldShowDivider","Fragment","GroupComponent","renderGroup","ActionList","xsmall","initial","xxlarge","StyledOverlay","Overlay","portalContainerName","slideAnimationDistance","replace","slideAnimationEasing","_combinedRef$current","clientHeight","y","endsWith","getSlideAnimationStartingVector","_overlayRef$current","animate","duration","easing","AnchoredOverlay","renderAnchor","anchorRef","externalAnchorRef","onOpen","overlayProps","focusTrapSettings","focusZoneSettings","updateOverlayRef","refCurrent","setRefCurrent","setRef","newRef","useRenderForcingRef","anchorId","onAnchorKeyDown","onAnchorClick","onKeyDown","useProvidedStateOrCreate","externalState","setExternalState","defaultState","internalState","setInternalState","ActionMenuItem","ActionMenuBase","anchorContent","listProps","combinedOpenState","setCombinedOpenState","renderMenuAnchor","itemsToRender","actionCallback","ActionMenu","Avatar","img","square","getBorderRadius","alt","ChildAvatar","AvatarPair","avatars","Children","child","isValidElement","cloneElement","hasOwn","classNames","classes","arg","argType","inner","module","exports","AvatarStackWrapper","count","AvatarStack","alignRight","wrapperClassNames","classnames","transformChildren","Wrapper","li","BreadcrumbBase","nav","Breadcrumb","wrappedChildren","BreadcrumbItem","activeClassName","oppositeEdge","perpendicularEdge","getPosition","edge","spacing","opposite","toLowerCase","perp","getBg","getBorderColor","getBorderWidth","Caret","propsWithTheme","location","getEdgeAlign","c","triangle","line","pointerEvents","strokeWidth","locations","variantSizes","CircleBadge","calc","parseFloat","isFinite","CircleBadgeIcon","Icon","CircleOcticon","scheme","Details","details","focusable","el","inputEl","visible","DialogBase","narrow","wide","DialogHeaderBase","DialogHeader","toArray","every","ch","Text","onDismiss","isOpen","modalRef","closeButtonRef","getDialogProps","getFocusableItem","movement","querySelectorAll","offsetIndex","fallbackIndex","handleTab","focusableItem","useDialog","ButtonClose","propTypes","ne","sw","se","StyledDetails","Dropdown","DropdownButton","DropdownCaret","DropdownMenu","ul","getDirectionStyles","DropdownItem","Menu","placeholder","selectedItem","onChange","onOpenChange","itemFromAction","FilterListBase","FilterList","FilterListItemBase","FilterListItem","svg","success","warning","Flash","full","FormGroup","FormGroupLabel","label","Label","HeaderItem","HeaderLink","Link","Heading","h2","outlineStyles","sizeVariant","xl","dropshadow","outline","hoverColor","muted","underline","Page","usePaginationPages","pageCount","currentPage","onPageChange","hrefBuilder","marginPageCount","showPages","surroundingPageCount","pageChange","model","pages","pageNums","addPage","extentLeft","extentRight","leftPage","rightPage","sorted","idx","ary","num","lastPage","buildPaginationModel","page","rel","href","buildComponentData","PaginationContainer","Pagination","defaultHrefBuilder","pageElements","pageNum","PointerBox","caret","boxProps","caretProps","Popover","relative","PopoverContent","Content","Bar","progress","ProgressContainer","barSize","ProgressBar","useKeyboardNav","handleKeyDown","openDetails","focusItem","found","KeyboardEvent","isSummaryFocused","closeDetails","isMenuItem","click","MenuContext","dividerStyles","SelectMenuDivider","sizeVariants","Input","hasIcon","contrast","block","TextInput","sxProp","widthProp","minWidthProp","maxWidthProp","variantProp","inputProps","wrapperClasses","StyledForm","form","SelectMenuFilter","inputRef","footerStyles","SelectMenuFooter","SelectMenuTitle","h3","SelectMenuHeader","listItemStyles","SelectMenuItem","menuContext","itemRef","listStyles","SelectMenuList","Spinner","sizeKey","cx","cy","r","strokeOpacity","vectorEffect","strokeLinecap","StyledSpinner","Animation","SelectMenuLoadingAnimation","animateModal","keyframes","modalStyles","modalWrapperStyles","Modal","ModalWrapper","SelectMenuModal","tabStyles","StyledTab","SelectMenuTab","tabName","selectedTab","setSelectedTab","isSelected","TabPanelBase","TabPanel","tabWrapperStyles","SelectMenuTabsBase","SelectMenuTabs","StyledSelectMenu","SelectMenu","initialTab","_ignoredAs","menuProviderValues","Filter","Tabs","SelectMenuTabPanel","LoadingAnimation","SideNavBase","bordered","newClassName","SideNav","CommonAccessibilityVariantNormalStyles","CommonAccessibilityVariantLightWeightStyles","SideNavLink","octiconMap","issueOpened","pullOpened","issueClosed","pullClosed","pullMerged","draft","colorVariants","StateLabelBase","StateLabel","status","octiconProps","SubNavBase","SubNav","actions","SubNavLinks","SubNavLink","Links","TabNavBase","TabNavBody","TabNav","TabNavLink","Timeline","clipSidebar","TimelineItem","condensed","TimelineBadge","TimelineBody","TimelineBreak","Badge","Break","TooltipBase","Tooltip","noDelay","wrap","alignments","directions","UnderlineNavBase","UnderlineNav","UnderlineNavLink","async","themeProps","confirmationDialogProps","Promise","resolve","ReactDOM","render","gesture","unmountComponentAtNode","confirm","timers","Set","safeSetTimeout","timeout","setTimeout","add","safeClearTimeout","clearTimeout"],"mappings":"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"}
1
+ {"version":3,"file":"browser.umd.js","sources":["../node_modules/object-assign/index.js","../node_modules/@styled-system/core/dist/index.esm.js","../node_modules/@styled-system/layout/dist/index.esm.js","../node_modules/@styled-system/color/dist/index.esm.js","../node_modules/@styled-system/typography/dist/index.esm.js","../node_modules/@styled-system/flexbox/dist/index.esm.js","../node_modules/@styled-system/grid/dist/index.esm.js","../node_modules/@styled-system/border/dist/index.esm.js","../node_modules/@styled-system/background/dist/index.esm.js","../node_modules/@styled-system/position/dist/index.esm.js","../node_modules/@styled-system/space/dist/index.esm.js","../node_modules/@styled-system/shadow/dist/index.esm.js","../node_modules/@styled-system/css/dist/index.esm.js","../node_modules/@styled-system/variant/dist/index.esm.js","../node_modules/styled-system/dist/index.esm.js","../src/constants.ts","../node_modules/@styled-system/theme-get/dist/index.esm.js","../src/BaseStyles.tsx","../node_modules/deepmerge/dist/cjs.js","../src/ThemeProvider.tsx","../src/sx.ts","../src/Box.tsx","../src/BorderBox.tsx","../src/Flex.tsx","../src/Grid.tsx","../src/Position.tsx","../src/hooks/useDetails.tsx","../src/hooks/useOnOutsideClick.tsx","../src/utils/iterateFocusableElements.ts","../src/hooks/useOpenAndCloseFocus.ts","../src/hooks/useOnEscapePress.ts","../src/hooks/useProvidedRefOrCreate.ts","../src/hooks/useOverlay.tsx","../src/polyfills/eventListenerSignal.ts","../src/utils/userAgent.ts","../src/utils/uniqueId.ts","../src/behaviors/focusZone.ts","../src/Button/ButtonStyles.tsx","../src/Button/ButtonBase.tsx","../src/Button/Button.tsx","../src/Button/ButtonDanger.tsx","../src/Button/ButtonGroup.tsx","../src/Button/ButtonOutline.tsx","../src/Button/ButtonPrimary.tsx","../src/Button/ButtonInvisible.tsx","../src/Button/ButtonTableList.tsx","../node_modules/@primer/octicons-react/dist/index.esm.js","../src/Button/ButtonClose.tsx","../src/behaviors/anchoredPosition.ts","../src/hooks/useAnchoredPosition.ts","../src/hooks/useResizeObserver.ts","../src/behaviors/focusTrap.ts","../src/hooks/useFocusTrap.ts","../src/StyledOcticon.tsx","../src/hooks/useFocusZone.ts","../src/Portal/Portal.tsx","../src/hooks/useCombinedRefs.ts","../src/Dialog/Dialog.tsx","../src/Dialog/ConfirmationDialog.tsx","../src/ActionList/Header.tsx","../src/ActionList/Group.tsx","../src/Truncate.tsx","../src/ActionList/Divider.tsx","../src/ActionList/Item.tsx","../src/ActionList/List.tsx","../src/ActionList/index.ts","../src/Overlay.tsx","../src/AnchoredOverlay/AnchoredOverlay.tsx","../src/hooks/useRenderForcingRef.ts","../src/hooks/useProvidedStateOrCreate.ts","../src/ActionMenu.tsx","../src/Avatar.tsx","../src/AvatarPair.tsx","../node_modules/classnames/index.js","../src/AvatarStack.tsx","../src/BranchName.tsx","../src/Breadcrumb.tsx","../src/Caret.tsx","../src/CircleBadge.tsx","../src/utils/isNumeric.tsx","../src/CircleOcticon.tsx","../src/CounterLabel.tsx","../src/Details.tsx","../src/hooks/useDialog.ts","../src/Text.tsx","../src/Dialog.tsx","../src/DropdownStyles.ts","../src/Dropdown.tsx","../src/DropdownMenu/DropdownButton.tsx","../src/DropdownMenu/DropdownMenu.tsx","../src/FilteredSearch.tsx","../src/FilterList.tsx","../src/Flash.tsx","../src/FormGroup.tsx","../src/Header.tsx","../src/Heading.tsx","../src/LabelGroup.tsx","../src/Label.tsx","../src/Link.tsx","../src/Pagehead.tsx","../src/Pagination/Pagination.tsx","../src/Pagination/model.tsx","../src/PointerBox.tsx","../src/Popover.tsx","../src/ProgressBar.tsx","../src/SelectMenu/hooks/useKeyboardNav.js","../src/SelectMenu/SelectMenuContext.tsx","../src/SelectMenu/SelectMenuDivider.tsx","../src/TextInput.tsx","../src/SelectMenu/SelectMenuFilter.tsx","../src/SelectMenu/SelectMenuFooter.tsx","../src/SelectMenu/SelectMenuHeader.tsx","../src/SelectMenu/SelectMenuItem.tsx","../src/SelectMenu/SelectMenuList.tsx","../src/Spinner.tsx","../src/SelectMenu/SelectMenuLoadingAnimation.tsx","../src/SelectMenu/SelectMenuModal.tsx","../src/SelectMenu/SelectMenuTab.tsx","../src/SelectMenu/SelectMenuTabPanel.tsx","../src/SelectMenu/SelectMenuTabs.tsx","../src/SelectMenu/SelectMenu.tsx","../src/SideNav.tsx","../src/StateLabel.tsx","../src/SubNav.tsx","../src/TabNav.tsx","../src/Timeline.tsx","../src/Tooltip.tsx","../src/UnderlineNav.tsx","../src/hooks/useSafeTimeout.ts"],"sourcesContent":["/*\nobject-assign\n(c) Sindre Sorhus\n@license MIT\n*/\n\n'use strict';\n/* eslint-disable no-unused-vars */\nvar getOwnPropertySymbols = Object.getOwnPropertySymbols;\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\nvar propIsEnumerable = Object.prototype.propertyIsEnumerable;\n\nfunction toObject(val) {\n\tif (val === null || val === undefined) {\n\t\tthrow new TypeError('Object.assign cannot be called with null or undefined');\n\t}\n\n\treturn Object(val);\n}\n\nfunction shouldUseNative() {\n\ttry {\n\t\tif (!Object.assign) {\n\t\t\treturn false;\n\t\t}\n\n\t\t// Detect buggy property enumeration order in older V8 versions.\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=4118\n\t\tvar test1 = new String('abc'); // eslint-disable-line no-new-wrappers\n\t\ttest1[5] = 'de';\n\t\tif (Object.getOwnPropertyNames(test1)[0] === '5') {\n\t\t\treturn false;\n\t\t}\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=3056\n\t\tvar test2 = {};\n\t\tfor (var i = 0; i < 10; i++) {\n\t\t\ttest2['_' + String.fromCharCode(i)] = i;\n\t\t}\n\t\tvar order2 = Object.getOwnPropertyNames(test2).map(function (n) {\n\t\t\treturn test2[n];\n\t\t});\n\t\tif (order2.join('') !== '0123456789') {\n\t\t\treturn false;\n\t\t}\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=3056\n\t\tvar test3 = {};\n\t\t'abcdefghijklmnopqrst'.split('').forEach(function (letter) {\n\t\t\ttest3[letter] = letter;\n\t\t});\n\t\tif (Object.keys(Object.assign({}, test3)).join('') !==\n\t\t\t\t'abcdefghijklmnopqrst') {\n\t\t\treturn false;\n\t\t}\n\n\t\treturn true;\n\t} catch (err) {\n\t\t// We don't expect any of the above to throw, but better to be safe.\n\t\treturn false;\n\t}\n}\n\nmodule.exports = shouldUseNative() ? Object.assign : function (target, source) {\n\tvar from;\n\tvar to = toObject(target);\n\tvar symbols;\n\n\tfor (var s = 1; s < arguments.length; s++) {\n\t\tfrom = Object(arguments[s]);\n\n\t\tfor (var key in from) {\n\t\t\tif (hasOwnProperty.call(from, key)) {\n\t\t\t\tto[key] = from[key];\n\t\t\t}\n\t\t}\n\n\t\tif (getOwnPropertySymbols) {\n\t\t\tsymbols = getOwnPropertySymbols(from);\n\t\t\tfor (var i = 0; i < symbols.length; i++) {\n\t\t\t\tif (propIsEnumerable.call(from, symbols[i])) {\n\t\t\t\t\tto[symbols[i]] = from[symbols[i]];\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\treturn to;\n};\n","import assign from 'object-assign';\nexport var merge = function merge(a, b) {\n var result = assign({}, a, b);\n\n for (var key in a) {\n var _assign;\n\n if (!a[key] || typeof b[key] !== 'object') continue;\n assign(result, (_assign = {}, _assign[key] = assign(a[key], b[key]), _assign));\n }\n\n return result;\n}; // sort object-value responsive styles\n\nvar sort = function sort(obj) {\n var next = {};\n Object.keys(obj).sort(function (a, b) {\n return a.localeCompare(b, undefined, {\n numeric: true,\n sensitivity: 'base'\n });\n }).forEach(function (key) {\n next[key] = obj[key];\n });\n return next;\n};\n\nvar defaults = {\n breakpoints: [40, 52, 64].map(function (n) {\n return n + 'em';\n })\n};\n\nvar createMediaQuery = function createMediaQuery(n) {\n return \"@media screen and (min-width: \" + n + \")\";\n};\n\nvar getValue = function getValue(n, scale) {\n return get(scale, n, n);\n};\n\nexport var get = function get(obj, key, def, p, undef) {\n key = key && key.split ? key.split('.') : [key];\n\n for (p = 0; p < key.length; p++) {\n obj = obj ? obj[key[p]] : undef;\n }\n\n return obj === undef ? def : obj;\n};\nexport var createParser = function createParser(config) {\n var cache = {};\n\n var parse = function parse(props) {\n var styles = {};\n var shouldSort = false;\n var isCacheDisabled = props.theme && props.theme.disableStyledSystemCache;\n\n for (var key in props) {\n if (!config[key]) continue;\n var sx = config[key];\n var raw = props[key];\n var scale = get(props.theme, sx.scale, sx.defaults);\n\n if (typeof raw === 'object') {\n cache.breakpoints = !isCacheDisabled && cache.breakpoints || get(props.theme, 'breakpoints', defaults.breakpoints);\n\n if (Array.isArray(raw)) {\n cache.media = !isCacheDisabled && cache.media || [null].concat(cache.breakpoints.map(createMediaQuery));\n styles = merge(styles, parseResponsiveStyle(cache.media, sx, scale, raw, props));\n continue;\n }\n\n if (raw !== null) {\n styles = merge(styles, parseResponsiveObject(cache.breakpoints, sx, scale, raw, props));\n shouldSort = true;\n }\n\n continue;\n }\n\n assign(styles, sx(raw, scale, props));\n } // sort object-based responsive styles\n\n\n if (shouldSort) {\n styles = sort(styles);\n }\n\n return styles;\n };\n\n parse.config = config;\n parse.propNames = Object.keys(config);\n parse.cache = cache;\n var keys = Object.keys(config).filter(function (k) {\n return k !== 'config';\n });\n\n if (keys.length > 1) {\n keys.forEach(function (key) {\n var _createParser;\n\n parse[key] = createParser((_createParser = {}, _createParser[key] = config[key], _createParser));\n });\n }\n\n return parse;\n};\n\nvar parseResponsiveStyle = function parseResponsiveStyle(mediaQueries, sx, scale, raw, _props) {\n var styles = {};\n raw.slice(0, mediaQueries.length).forEach(function (value, i) {\n var media = mediaQueries[i];\n var style = sx(value, scale, _props);\n\n if (!media) {\n assign(styles, style);\n } else {\n var _assign2;\n\n assign(styles, (_assign2 = {}, _assign2[media] = assign({}, styles[media], style), _assign2));\n }\n });\n return styles;\n};\n\nvar parseResponsiveObject = function parseResponsiveObject(breakpoints, sx, scale, raw, _props) {\n var styles = {};\n\n for (var key in raw) {\n var breakpoint = breakpoints[key];\n var value = raw[key];\n var style = sx(value, scale, _props);\n\n if (!breakpoint) {\n assign(styles, style);\n } else {\n var _assign3;\n\n var media = createMediaQuery(breakpoint);\n assign(styles, (_assign3 = {}, _assign3[media] = assign({}, styles[media], style), _assign3));\n }\n }\n\n return styles;\n};\n\nexport var createStyleFunction = function createStyleFunction(_ref) {\n var properties = _ref.properties,\n property = _ref.property,\n scale = _ref.scale,\n _ref$transform = _ref.transform,\n transform = _ref$transform === void 0 ? getValue : _ref$transform,\n defaultScale = _ref.defaultScale;\n properties = properties || [property];\n\n var sx = function sx(value, scale, _props) {\n var result = {};\n var n = transform(value, scale, _props);\n if (n === null) return;\n properties.forEach(function (prop) {\n result[prop] = n;\n });\n return result;\n };\n\n sx.scale = scale;\n sx.defaults = defaultScale;\n return sx;\n}; // new v5 API\n\nexport var system = function system(args) {\n if (args === void 0) {\n args = {};\n }\n\n var config = {};\n Object.keys(args).forEach(function (key) {\n var conf = args[key];\n\n if (conf === true) {\n // shortcut definition\n config[key] = createStyleFunction({\n property: key,\n scale: key\n });\n return;\n }\n\n if (typeof conf === 'function') {\n config[key] = conf;\n return;\n }\n\n config[key] = createStyleFunction(conf);\n });\n var parser = createParser(config);\n return parser;\n};\nexport var compose = function compose() {\n var config = {};\n\n for (var _len = arguments.length, parsers = new Array(_len), _key = 0; _key < _len; _key++) {\n parsers[_key] = arguments[_key];\n }\n\n parsers.forEach(function (parser) {\n if (!parser || !parser.config) return;\n assign(config, parser.config);\n });\n var parser = createParser(config);\n return parser;\n};\n","import { system, get } from '@styled-system/core';\n\nvar isNumber = function isNumber(n) {\n return typeof n === 'number' && !isNaN(n);\n};\n\nvar getWidth = function getWidth(n, scale) {\n return get(scale, n, !isNumber(n) || n > 1 ? n : n * 100 + '%');\n};\n\nvar config = {\n width: {\n property: 'width',\n scale: 'sizes',\n transform: getWidth\n },\n height: {\n property: 'height',\n scale: 'sizes'\n },\n minWidth: {\n property: 'minWidth',\n scale: 'sizes'\n },\n minHeight: {\n property: 'minHeight',\n scale: 'sizes'\n },\n maxWidth: {\n property: 'maxWidth',\n scale: 'sizes'\n },\n maxHeight: {\n property: 'maxHeight',\n scale: 'sizes'\n },\n size: {\n properties: ['width', 'height'],\n scale: 'sizes'\n },\n overflow: true,\n overflowX: true,\n overflowY: true,\n display: true,\n verticalAlign: true\n};\nexport var layout = system(config);\nexport default layout;\n","import { system } from '@styled-system/core';\nvar config = {\n color: {\n property: 'color',\n scale: 'colors'\n },\n backgroundColor: {\n property: 'backgroundColor',\n scale: 'colors'\n },\n opacity: true\n};\nconfig.bg = config.backgroundColor;\nexport var color = system(config);\nexport default color;\n","import { system } from '@styled-system/core';\nvar defaults = {\n fontSizes: [12, 14, 16, 20, 24, 32, 48, 64, 72]\n};\nvar config = {\n fontFamily: {\n property: 'fontFamily',\n scale: 'fonts'\n },\n fontSize: {\n property: 'fontSize',\n scale: 'fontSizes',\n defaultScale: defaults.fontSizes\n },\n fontWeight: {\n property: 'fontWeight',\n scale: 'fontWeights'\n },\n lineHeight: {\n property: 'lineHeight',\n scale: 'lineHeights'\n },\n letterSpacing: {\n property: 'letterSpacing',\n scale: 'letterSpacings'\n },\n textAlign: true,\n fontStyle: true\n};\nexport var typography = system(config);\nexport default typography;\n","import { system } from '@styled-system/core';\nvar config = {\n alignItems: true,\n alignContent: true,\n justifyItems: true,\n justifyContent: true,\n flexWrap: true,\n flexDirection: true,\n // item\n flex: true,\n flexGrow: true,\n flexShrink: true,\n flexBasis: true,\n justifySelf: true,\n alignSelf: true,\n order: true\n};\nexport var flexbox = system(config);\nexport default flexbox;\n","import { system } from '@styled-system/core';\nvar defaults = {\n space: [0, 4, 8, 16, 32, 64, 128, 256, 512]\n};\nvar config = {\n gridGap: {\n property: 'gridGap',\n scale: 'space',\n defaultScale: defaults.space\n },\n gridColumnGap: {\n property: 'gridColumnGap',\n scale: 'space',\n defaultScale: defaults.space\n },\n gridRowGap: {\n property: 'gridRowGap',\n scale: 'space',\n defaultScale: defaults.space\n },\n gridColumn: true,\n gridRow: true,\n gridAutoFlow: true,\n gridAutoColumns: true,\n gridAutoRows: true,\n gridTemplateColumns: true,\n gridTemplateRows: true,\n gridTemplateAreas: true,\n gridArea: true\n};\nexport var grid = system(config);\nexport default grid;\n","import { system } from '@styled-system/core';\nvar config = {\n border: {\n property: 'border',\n scale: 'borders'\n },\n borderWidth: {\n property: 'borderWidth',\n scale: 'borderWidths'\n },\n borderStyle: {\n property: 'borderStyle',\n scale: 'borderStyles'\n },\n borderColor: {\n property: 'borderColor',\n scale: 'colors'\n },\n borderRadius: {\n property: 'borderRadius',\n scale: 'radii'\n },\n borderTop: {\n property: 'borderTop',\n scale: 'borders'\n },\n borderTopLeftRadius: {\n property: 'borderTopLeftRadius',\n scale: 'radii'\n },\n borderTopRightRadius: {\n property: 'borderTopRightRadius',\n scale: 'radii'\n },\n borderRight: {\n property: 'borderRight',\n scale: 'borders'\n },\n borderBottom: {\n property: 'borderBottom',\n scale: 'borders'\n },\n borderBottomLeftRadius: {\n property: 'borderBottomLeftRadius',\n scale: 'radii'\n },\n borderBottomRightRadius: {\n property: 'borderBottomRightRadius',\n scale: 'radii'\n },\n borderLeft: {\n property: 'borderLeft',\n scale: 'borders'\n },\n borderX: {\n properties: ['borderLeft', 'borderRight'],\n scale: 'borders'\n },\n borderY: {\n properties: ['borderTop', 'borderBottom'],\n scale: 'borders'\n }\n};\nconfig.borderTopWidth = {\n property: 'borderTopWidth',\n scale: 'borderWidths'\n};\nconfig.borderTopColor = {\n property: 'borderTopColor',\n scale: 'colors'\n};\nconfig.borderTopStyle = {\n property: 'borderTopStyle',\n scale: 'borderStyles'\n};\nconfig.borderTopLeftRadius = {\n property: 'borderTopLeftRadius',\n scale: 'radii'\n};\nconfig.borderTopRightRadius = {\n property: 'borderTopRightRadius',\n scale: 'radii'\n};\nconfig.borderBottomWidth = {\n property: 'borderBottomWidth',\n scale: 'borderWidths'\n};\nconfig.borderBottomColor = {\n property: 'borderBottomColor',\n scale: 'colors'\n};\nconfig.borderBottomStyle = {\n property: 'borderBottomStyle',\n scale: 'borderStyles'\n};\nconfig.borderBottomLeftRadius = {\n property: 'borderBottomLeftRadius',\n scale: 'radii'\n};\nconfig.borderBottomRightRadius = {\n property: 'borderBottomRightRadius',\n scale: 'radii'\n};\nconfig.borderLeftWidth = {\n property: 'borderLeftWidth',\n scale: 'borderWidths'\n};\nconfig.borderLeftColor = {\n property: 'borderLeftColor',\n scale: 'colors'\n};\nconfig.borderLeftStyle = {\n property: 'borderLeftStyle',\n scale: 'borderStyles'\n};\nconfig.borderRightWidth = {\n property: 'borderRightWidth',\n scale: 'borderWidths'\n};\nconfig.borderRightColor = {\n property: 'borderRightColor',\n scale: 'colors'\n};\nconfig.borderRightStyle = {\n property: 'borderRightStyle',\n scale: 'borderStyles'\n};\nexport var border = system(config);\nexport default border;\n","import { system } from '@styled-system/core';\nvar config = {\n background: true,\n backgroundImage: true,\n backgroundSize: true,\n backgroundPosition: true,\n backgroundRepeat: true\n};\nconfig.bgImage = config.backgroundImage;\nconfig.bgSize = config.backgroundSize;\nconfig.bgPosition = config.backgroundPosition;\nconfig.bgRepeat = config.backgroundRepeat;\nexport var background = system(config);\nexport default background;\n","import { system } from '@styled-system/core';\nvar defaults = {\n space: [0, 4, 8, 16, 32, 64, 128, 256, 512]\n};\nvar config = {\n position: true,\n zIndex: {\n property: 'zIndex',\n scale: 'zIndices'\n },\n top: {\n property: 'top',\n scale: 'space',\n defaultScale: defaults.space\n },\n right: {\n property: 'right',\n scale: 'space',\n defaultScale: defaults.space\n },\n bottom: {\n property: 'bottom',\n scale: 'space',\n defaultScale: defaults.space\n },\n left: {\n property: 'left',\n scale: 'space',\n defaultScale: defaults.space\n }\n};\nexport var position = system(config);\nexport default position;\n","import { get, system, compose } from '@styled-system/core';\nvar defaults = {\n space: [0, 4, 8, 16, 32, 64, 128, 256, 512]\n};\n\nvar isNumber = function isNumber(n) {\n return typeof n === 'number' && !isNaN(n);\n};\n\nvar getMargin = function getMargin(n, scale) {\n if (!isNumber(n)) {\n return get(scale, n, n);\n }\n\n var isNegative = n < 0;\n var absolute = Math.abs(n);\n var value = get(scale, absolute, absolute);\n\n if (!isNumber(value)) {\n return isNegative ? '-' + value : value;\n }\n\n return value * (isNegative ? -1 : 1);\n};\n\nvar configs = {};\nconfigs.margin = {\n margin: {\n property: 'margin',\n scale: 'space',\n transform: getMargin,\n defaultScale: defaults.space\n },\n marginTop: {\n property: 'marginTop',\n scale: 'space',\n transform: getMargin,\n defaultScale: defaults.space\n },\n marginRight: {\n property: 'marginRight',\n scale: 'space',\n transform: getMargin,\n defaultScale: defaults.space\n },\n marginBottom: {\n property: 'marginBottom',\n scale: 'space',\n transform: getMargin,\n defaultScale: defaults.space\n },\n marginLeft: {\n property: 'marginLeft',\n scale: 'space',\n transform: getMargin,\n defaultScale: defaults.space\n },\n marginX: {\n properties: ['marginLeft', 'marginRight'],\n scale: 'space',\n transform: getMargin,\n defaultScale: defaults.space\n },\n marginY: {\n properties: ['marginTop', 'marginBottom'],\n scale: 'space',\n transform: getMargin,\n defaultScale: defaults.space\n }\n};\nconfigs.margin.m = configs.margin.margin;\nconfigs.margin.mt = configs.margin.marginTop;\nconfigs.margin.mr = configs.margin.marginRight;\nconfigs.margin.mb = configs.margin.marginBottom;\nconfigs.margin.ml = configs.margin.marginLeft;\nconfigs.margin.mx = configs.margin.marginX;\nconfigs.margin.my = configs.margin.marginY;\nconfigs.padding = {\n padding: {\n property: 'padding',\n scale: 'space',\n defaultScale: defaults.space\n },\n paddingTop: {\n property: 'paddingTop',\n scale: 'space',\n defaultScale: defaults.space\n },\n paddingRight: {\n property: 'paddingRight',\n scale: 'space',\n defaultScale: defaults.space\n },\n paddingBottom: {\n property: 'paddingBottom',\n scale: 'space',\n defaultScale: defaults.space\n },\n paddingLeft: {\n property: 'paddingLeft',\n scale: 'space',\n defaultScale: defaults.space\n },\n paddingX: {\n properties: ['paddingLeft', 'paddingRight'],\n scale: 'space',\n defaultScale: defaults.space\n },\n paddingY: {\n properties: ['paddingTop', 'paddingBottom'],\n scale: 'space',\n defaultScale: defaults.space\n }\n};\nconfigs.padding.p = configs.padding.padding;\nconfigs.padding.pt = configs.padding.paddingTop;\nconfigs.padding.pr = configs.padding.paddingRight;\nconfigs.padding.pb = configs.padding.paddingBottom;\nconfigs.padding.pl = configs.padding.paddingLeft;\nconfigs.padding.px = configs.padding.paddingX;\nconfigs.padding.py = configs.padding.paddingY;\nexport var margin = system(configs.margin);\nexport var padding = system(configs.padding);\nexport var space = compose(margin, padding);\nexport default space;\n","import { system } from '@styled-system/core';\nexport var shadow = system({\n boxShadow: {\n property: 'boxShadow',\n scale: 'shadows'\n },\n textShadow: {\n property: 'textShadow',\n scale: 'shadows'\n }\n});\nexport default shadow;\n","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\n// based on https://github.com/developit/dlv\nexport var get = function get(obj, key, def, p, undef) {\n key = key && key.split ? key.split('.') : [key];\n\n for (p = 0; p < key.length; p++) {\n obj = obj ? obj[key[p]] : undef;\n }\n\n return obj === undef ? def : obj;\n};\nvar defaultBreakpoints = [40, 52, 64].map(function (n) {\n return n + 'em';\n});\nvar defaultTheme = {\n space: [0, 4, 8, 16, 32, 64, 128, 256, 512],\n fontSizes: [12, 14, 16, 20, 24, 32, 48, 64, 72]\n};\nvar aliases = {\n bg: 'backgroundColor',\n m: 'margin',\n mt: 'marginTop',\n mr: 'marginRight',\n mb: 'marginBottom',\n ml: 'marginLeft',\n mx: 'marginX',\n my: 'marginY',\n p: 'padding',\n pt: 'paddingTop',\n pr: 'paddingRight',\n pb: 'paddingBottom',\n pl: 'paddingLeft',\n px: 'paddingX',\n py: 'paddingY'\n};\nvar multiples = {\n marginX: ['marginLeft', 'marginRight'],\n marginY: ['marginTop', 'marginBottom'],\n paddingX: ['paddingLeft', 'paddingRight'],\n paddingY: ['paddingTop', 'paddingBottom'],\n size: ['width', 'height']\n};\nvar scales = {\n color: 'colors',\n backgroundColor: 'colors',\n borderColor: 'colors',\n margin: 'space',\n marginTop: 'space',\n marginRight: 'space',\n marginBottom: 'space',\n marginLeft: 'space',\n marginX: 'space',\n marginY: 'space',\n padding: 'space',\n paddingTop: 'space',\n paddingRight: 'space',\n paddingBottom: 'space',\n paddingLeft: 'space',\n paddingX: 'space',\n paddingY: 'space',\n top: 'space',\n right: 'space',\n bottom: 'space',\n left: 'space',\n gridGap: 'space',\n gridColumnGap: 'space',\n gridRowGap: 'space',\n gap: 'space',\n columnGap: 'space',\n rowGap: 'space',\n fontFamily: 'fonts',\n fontSize: 'fontSizes',\n fontWeight: 'fontWeights',\n lineHeight: 'lineHeights',\n letterSpacing: 'letterSpacings',\n border: 'borders',\n borderTop: 'borders',\n borderRight: 'borders',\n borderBottom: 'borders',\n borderLeft: 'borders',\n borderWidth: 'borderWidths',\n borderStyle: 'borderStyles',\n borderRadius: 'radii',\n borderTopRightRadius: 'radii',\n borderTopLeftRadius: 'radii',\n borderBottomRightRadius: 'radii',\n borderBottomLeftRadius: 'radii',\n borderTopWidth: 'borderWidths',\n borderTopColor: 'colors',\n borderTopStyle: 'borderStyles',\n borderBottomWidth: 'borderWidths',\n borderBottomColor: 'colors',\n borderBottomStyle: 'borderStyles',\n borderLeftWidth: 'borderWidths',\n borderLeftColor: 'colors',\n borderLeftStyle: 'borderStyles',\n borderRightWidth: 'borderWidths',\n borderRightColor: 'colors',\n borderRightStyle: 'borderStyles',\n outlineColor: 'colors',\n boxShadow: 'shadows',\n textShadow: 'shadows',\n zIndex: 'zIndices',\n width: 'sizes',\n minWidth: 'sizes',\n maxWidth: 'sizes',\n height: 'sizes',\n minHeight: 'sizes',\n maxHeight: 'sizes',\n flexBasis: 'sizes',\n size: 'sizes',\n // svg\n fill: 'colors',\n stroke: 'colors'\n};\n\nvar positiveOrNegative = function positiveOrNegative(scale, value) {\n if (typeof value !== 'number' || value >= 0) {\n return get(scale, value, value);\n }\n\n var absolute = Math.abs(value);\n var n = get(scale, absolute, absolute);\n if (typeof n === 'string') return '-' + n;\n return n * -1;\n};\n\nvar transforms = ['margin', 'marginTop', 'marginRight', 'marginBottom', 'marginLeft', 'marginX', 'marginY', 'top', 'bottom', 'left', 'right'].reduce(function (acc, curr) {\n var _extends2;\n\n return _extends({}, acc, (_extends2 = {}, _extends2[curr] = positiveOrNegative, _extends2));\n}, {});\nexport var responsive = function responsive(styles) {\n return function (theme) {\n var next = {};\n var breakpoints = get(theme, 'breakpoints', defaultBreakpoints);\n var mediaQueries = [null].concat(breakpoints.map(function (n) {\n return \"@media screen and (min-width: \" + n + \")\";\n }));\n\n for (var key in styles) {\n var value = typeof styles[key] === 'function' ? styles[key](theme) : styles[key];\n if (value == null) continue;\n\n if (!Array.isArray(value)) {\n next[key] = value;\n continue;\n }\n\n for (var i = 0; i < value.slice(0, mediaQueries.length).length; i++) {\n var media = mediaQueries[i];\n\n if (!media) {\n next[key] = value[i];\n continue;\n }\n\n next[media] = next[media] || {};\n if (value[i] == null) continue;\n next[media][key] = value[i];\n }\n }\n\n return next;\n };\n};\nexport var css = function css(args) {\n return function (props) {\n if (props === void 0) {\n props = {};\n }\n\n var theme = _extends({}, defaultTheme, {}, props.theme || props);\n\n var result = {};\n var obj = typeof args === 'function' ? args(theme) : args;\n var styles = responsive(obj)(theme);\n\n for (var key in styles) {\n var x = styles[key];\n var val = typeof x === 'function' ? x(theme) : x;\n\n if (key === 'variant') {\n var variant = css(get(theme, val))(theme);\n result = _extends({}, result, {}, variant);\n continue;\n }\n\n if (val && typeof val === 'object') {\n result[key] = css(val)(theme);\n continue;\n }\n\n var prop = get(aliases, key, key);\n var scaleName = get(scales, prop);\n var scale = get(theme, scaleName, get(theme, prop, {}));\n var transform = get(transforms, prop, get);\n var value = transform(scale, val, val);\n\n if (multiples[prop]) {\n var dirs = multiples[prop];\n\n for (var i = 0; i < dirs.length; i++) {\n result[dirs[i]] = value;\n }\n } else {\n result[prop] = value;\n }\n }\n\n return result;\n };\n};\nexport default css;\n","import { get, createParser } from '@styled-system/core';\nimport css from '@styled-system/css';\nexport var variant = function variant(_ref) {\n var _config;\n\n var scale = _ref.scale,\n _ref$prop = _ref.prop,\n prop = _ref$prop === void 0 ? 'variant' : _ref$prop,\n _ref$variants = _ref.variants,\n variants = _ref$variants === void 0 ? {} : _ref$variants,\n key = _ref.key;\n var sx;\n\n if (Object.keys(variants).length) {\n sx = function sx(value, scale, props) {\n return css(get(scale, value, null))(props.theme);\n };\n } else {\n sx = function sx(value, scale) {\n return get(scale, value, null);\n };\n }\n\n sx.scale = scale || key;\n sx.defaults = variants;\n var config = (_config = {}, _config[prop] = sx, _config);\n var parser = createParser(config);\n return parser;\n};\nexport default variant;\nexport var buttonStyle = variant({\n key: 'buttons'\n});\nexport var textStyle = variant({\n key: 'textStyles',\n prop: 'textStyle'\n});\nexport var colorStyle = variant({\n key: 'colorStyles',\n prop: 'colors'\n});\n","import { createStyleFunction, createParser } from '@styled-system/core'; // v4 api shims\n\nimport layout from '@styled-system/layout';\nimport color from '@styled-system/color';\nimport typography from '@styled-system/typography';\nimport flexbox from '@styled-system/flexbox';\nimport grid from '@styled-system/grid';\nimport border from '@styled-system/border';\nimport background from '@styled-system/background';\nimport position from '@styled-system/position';\nexport { get, createParser, createStyleFunction, compose, system } from '@styled-system/core';\nexport { margin, padding, space } from '@styled-system/space';\nexport { color } from '@styled-system/color';\nexport { layout } from '@styled-system/layout';\nexport { typography } from '@styled-system/typography';\nexport { flexbox } from '@styled-system/flexbox';\nexport { border } from '@styled-system/border';\nexport { background } from '@styled-system/background';\nexport { position } from '@styled-system/position';\nexport { grid } from '@styled-system/grid';\nexport { shadow } from '@styled-system/shadow';\nexport { default as boxShadow, default as textShadow } from '@styled-system/shadow';\nexport { variant, buttonStyle, textStyle, colorStyle } from '@styled-system/variant';\nvar width = layout.width,\n height = layout.height,\n minWidth = layout.minWidth,\n minHeight = layout.minHeight,\n maxWidth = layout.maxWidth,\n maxHeight = layout.maxHeight,\n size = layout.size,\n verticalAlign = layout.verticalAlign,\n display = layout.display,\n overflow = layout.overflow,\n overflowX = layout.overflowX,\n overflowY = layout.overflowY;\nvar opacity = color.opacity;\nvar fontSize = typography.fontSize,\n fontFamily = typography.fontFamily,\n fontWeight = typography.fontWeight,\n lineHeight = typography.lineHeight,\n textAlign = typography.textAlign,\n fontStyle = typography.fontStyle,\n letterSpacing = typography.letterSpacing;\nvar alignItems = flexbox.alignItems,\n alignContent = flexbox.alignContent,\n justifyItems = flexbox.justifyItems,\n justifyContent = flexbox.justifyContent,\n flexWrap = flexbox.flexWrap,\n flexDirection = flexbox.flexDirection,\n flex = flexbox.flex,\n flexGrow = flexbox.flexGrow,\n flexShrink = flexbox.flexShrink,\n flexBasis = flexbox.flexBasis,\n justifySelf = flexbox.justifySelf,\n alignSelf = flexbox.alignSelf,\n order = flexbox.order;\nvar gridGap = grid.gridGap,\n gridColumnGap = grid.gridColumnGap,\n gridRowGap = grid.gridRowGap,\n gridColumn = grid.gridColumn,\n gridRow = grid.gridRow,\n gridAutoFlow = grid.gridAutoFlow,\n gridAutoColumns = grid.gridAutoColumns,\n gridAutoRows = grid.gridAutoRows,\n gridTemplateColumns = grid.gridTemplateColumns,\n gridTemplateRows = grid.gridTemplateRows,\n gridTemplateAreas = grid.gridTemplateAreas,\n gridArea = grid.gridArea;\nvar borderWidth = border.borderWidth,\n borderStyle = border.borderStyle,\n borderColor = border.borderColor,\n borderTop = border.borderTop,\n borderRight = border.borderRight,\n borderBottom = border.borderBottom,\n borderLeft = border.borderLeft,\n borderRadius = border.borderRadius;\nvar backgroundImage = background.backgroundImage,\n backgroundSize = background.backgroundSize,\n backgroundPosition = background.backgroundPosition,\n backgroundRepeat = background.backgroundRepeat;\nvar zIndex = position.zIndex,\n top = position.top,\n right = position.right,\n bottom = position.bottom,\n left = position.left;\nexport { default as borders } from '@styled-system/border';\nexport { width, height, minWidth, minHeight, maxWidth, maxHeight, size, verticalAlign, display, overflow, overflowX, overflowY // color\n, opacity // typography\n, fontSize, fontFamily, fontWeight, lineHeight, textAlign, fontStyle, letterSpacing // flexbox\n, alignItems, alignContent, justifyItems, justifyContent, flexWrap, flexDirection, flex, flexGrow, flexShrink, flexBasis, justifySelf, alignSelf, order // grid\n, gridGap, gridColumnGap, gridRowGap, gridColumn, gridRow, gridAutoFlow, gridAutoColumns, gridAutoRows, gridTemplateColumns, gridTemplateRows, gridTemplateAreas, gridArea // border\n, borderWidth, borderStyle, borderColor, borderTop, borderRight, borderBottom, borderLeft, borderRadius // background\n, backgroundImage, backgroundSize, backgroundPosition, backgroundRepeat // position\n, zIndex, top, right, bottom, left }; // v4 style API shim\n\nexport var style = function style(_ref) {\n var prop = _ref.prop,\n cssProperty = _ref.cssProperty,\n alias = _ref.alias,\n key = _ref.key,\n transformValue = _ref.transformValue,\n scale = _ref.scale,\n properties = _ref.properties;\n var config = {};\n config[prop] = createStyleFunction({\n properties: properties,\n property: cssProperty || prop,\n scale: key,\n defaultScale: scale,\n transform: transformValue\n });\n if (alias) config[alias] = config[prop];\n var parse = createParser(config);\n return parse;\n};\n","import {themeGet} from '@styled-system/theme-get'\n// eslint-disable-next-line import/no-namespace\nimport * as styledSystem from 'styled-system'\nimport theme from './theme'\n\nconst {get: getKey, compose, system} = styledSystem\n\nexport const get = (key: string) => themeGet(key, getKey(theme, key))\n\n// Common props\n\nexport const COMMON = compose(styledSystem.space, styledSystem.color, styledSystem.display)\n\nexport interface SystemCommonProps\n extends styledSystem.ColorProps,\n styledSystem.SpaceProps,\n styledSystem.DisplayProps {}\n\n// Typography props\n\nconst whiteSpace = system({\n whiteSpace: {\n property: 'whiteSpace'\n // cssProperty: 'whiteSpace',\n }\n})\n\nexport const TYPOGRAPHY = compose(styledSystem.typography, whiteSpace)\n\nexport interface SystemTypographyProps extends styledSystem.TypographyProps {\n whiteSpace?: 'normal' | 'nowrap' | 'pre' | 'pre-wrap' | 'pre-line'\n}\n\n// Border props\n\nexport const BORDER = compose(styledSystem.border, styledSystem.shadow)\n\nexport interface SystemBorderProps extends styledSystem.BorderProps, styledSystem.ShadowProps {}\n\n// Layout props\n\nexport const LAYOUT = styledSystem.layout\n\nexport type SystemLayoutProps = styledSystem.LayoutProps\n\n// Position props\n\nexport const POSITION = styledSystem.position\n\nexport type SystemPositionProps = styledSystem.PositionProps\n\n// Flex props\n\nexport const FLEX = styledSystem.flexbox\n\nexport type SystemFlexProps = styledSystem.FlexboxProps\n\n// Grid props\n\nexport const GRID = styledSystem.grid\n\nexport type SystemGridProps = styledSystem.GridProps\n","import { get } from '@styled-system/core';\nexport var themeGet = function themeGet(path, fallback) {\n if (fallback === void 0) {\n fallback = null;\n }\n\n return function (props) {\n return get(props.theme, path, fallback);\n };\n};\nexport default themeGet;\n","import React from 'react'\nimport styled, {createGlobalStyle} from 'styled-components'\nimport {COMMON, SystemCommonProps, SystemTypographyProps, TYPOGRAPHY} from './constants'\nimport {ComponentProps} from './utils/types'\n\nconst GlobalStyle = createGlobalStyle`\n * { box-sizing: border-box; }\n body { margin: 0; }\n table { border-collapse: collapse; }\n \n [role=\"button\"]:focus:not(:focus-visible):not(.focus-visible),\n [role=\"tabpanel\"][tabindex=\"0\"]:focus:not(:focus-visible):not(.focus-visible),\n button:focus:not(:focus-visible):not(.focus-visible),\n summary:focus:not(:focus-visible):not(.focus-visible),\n a:focus:not(:focus-visible):not(.focus-visible) {\n outline: none;\n box-shadow: none;\n }\n\n [tabindex=\"0\"]:focus:not(:focus-visible):not(.focus-visible),\n details-dialog:focus:not(:focus-visible):not(.focus-visible) {\n outline: none;\n }\n`\n\nconst Base = styled.div<SystemTypographyProps & SystemCommonProps>`\n ${TYPOGRAPHY};\n ${COMMON};\n`\n\nexport type BaseStylesProps = ComponentProps<typeof Base>\n\nfunction BaseStyles(props: BaseStylesProps) {\n const {children, ...rest} = props\n\n // load polyfill for :focus-visible\n require('focus-visible')\n\n return (\n <Base {...rest} data-portal-root>\n <GlobalStyle />\n {children}\n </Base>\n )\n}\n\nBaseStyles.defaultProps = {\n color: 'text.primary',\n fontFamily: 'normal',\n lineHeight: 'default'\n}\n\nexport default BaseStyles\n","'use strict';\n\nvar isMergeableObject = function isMergeableObject(value) {\n\treturn isNonNullObject(value)\n\t\t&& !isSpecial(value)\n};\n\nfunction isNonNullObject(value) {\n\treturn !!value && typeof value === 'object'\n}\n\nfunction isSpecial(value) {\n\tvar stringValue = Object.prototype.toString.call(value);\n\n\treturn stringValue === '[object RegExp]'\n\t\t|| stringValue === '[object Date]'\n\t\t|| isReactElement(value)\n}\n\n// see https://github.com/facebook/react/blob/b5ac963fb791d1298e7f396236383bc955f916c1/src/isomorphic/classic/element/ReactElement.js#L21-L25\nvar canUseSymbol = typeof Symbol === 'function' && Symbol.for;\nvar REACT_ELEMENT_TYPE = canUseSymbol ? Symbol.for('react.element') : 0xeac7;\n\nfunction isReactElement(value) {\n\treturn value.$$typeof === REACT_ELEMENT_TYPE\n}\n\nfunction emptyTarget(val) {\n\treturn Array.isArray(val) ? [] : {}\n}\n\nfunction cloneUnlessOtherwiseSpecified(value, options) {\n\treturn (options.clone !== false && options.isMergeableObject(value))\n\t\t? deepmerge(emptyTarget(value), value, options)\n\t\t: value\n}\n\nfunction defaultArrayMerge(target, source, options) {\n\treturn target.concat(source).map(function(element) {\n\t\treturn cloneUnlessOtherwiseSpecified(element, options)\n\t})\n}\n\nfunction getMergeFunction(key, options) {\n\tif (!options.customMerge) {\n\t\treturn deepmerge\n\t}\n\tvar customMerge = options.customMerge(key);\n\treturn typeof customMerge === 'function' ? customMerge : deepmerge\n}\n\nfunction getEnumerableOwnPropertySymbols(target) {\n\treturn Object.getOwnPropertySymbols\n\t\t? Object.getOwnPropertySymbols(target).filter(function(symbol) {\n\t\t\treturn target.propertyIsEnumerable(symbol)\n\t\t})\n\t\t: []\n}\n\nfunction getKeys(target) {\n\treturn Object.keys(target).concat(getEnumerableOwnPropertySymbols(target))\n}\n\nfunction propertyIsOnObject(object, property) {\n\ttry {\n\t\treturn property in object\n\t} catch(_) {\n\t\treturn false\n\t}\n}\n\n// Protects from prototype poisoning and unexpected merging up the prototype chain.\nfunction propertyIsUnsafe(target, key) {\n\treturn propertyIsOnObject(target, key) // Properties are safe to merge if they don't exist in the target yet,\n\t\t&& !(Object.hasOwnProperty.call(target, key) // unsafe if they exist up the prototype chain,\n\t\t\t&& Object.propertyIsEnumerable.call(target, key)) // and also unsafe if they're nonenumerable.\n}\n\nfunction mergeObject(target, source, options) {\n\tvar destination = {};\n\tif (options.isMergeableObject(target)) {\n\t\tgetKeys(target).forEach(function(key) {\n\t\t\tdestination[key] = cloneUnlessOtherwiseSpecified(target[key], options);\n\t\t});\n\t}\n\tgetKeys(source).forEach(function(key) {\n\t\tif (propertyIsUnsafe(target, key)) {\n\t\t\treturn\n\t\t}\n\n\t\tif (propertyIsOnObject(target, key) && options.isMergeableObject(source[key])) {\n\t\t\tdestination[key] = getMergeFunction(key, options)(target[key], source[key], options);\n\t\t} else {\n\t\t\tdestination[key] = cloneUnlessOtherwiseSpecified(source[key], options);\n\t\t}\n\t});\n\treturn destination\n}\n\nfunction deepmerge(target, source, options) {\n\toptions = options || {};\n\toptions.arrayMerge = options.arrayMerge || defaultArrayMerge;\n\toptions.isMergeableObject = options.isMergeableObject || isMergeableObject;\n\t// cloneUnlessOtherwiseSpecified is added to `options` so that custom arrayMerge()\n\t// implementations can use it. The caller may not replace it.\n\toptions.cloneUnlessOtherwiseSpecified = cloneUnlessOtherwiseSpecified;\n\n\tvar sourceIsArray = Array.isArray(source);\n\tvar targetIsArray = Array.isArray(target);\n\tvar sourceAndTargetTypesMatch = sourceIsArray === targetIsArray;\n\n\tif (!sourceAndTargetTypesMatch) {\n\t\treturn cloneUnlessOtherwiseSpecified(source, options)\n\t} else if (sourceIsArray) {\n\t\treturn options.arrayMerge(target, source, options)\n\t} else {\n\t\treturn mergeObject(target, source, options)\n\t}\n}\n\ndeepmerge.all = function deepmergeAll(array, options) {\n\tif (!Array.isArray(array)) {\n\t\tthrow new Error('first argument should be an array')\n\t}\n\n\treturn array.reduce(function(prev, next) {\n\t\treturn deepmerge(prev, next, options)\n\t}, {})\n};\n\nvar deepmerge_1 = deepmerge;\n\nmodule.exports = deepmerge_1;\n","import React from 'react'\nimport {ThemeProvider as SCThemeProvider} from 'styled-components'\nimport defaultTheme from './theme'\nimport deepmerge from 'deepmerge'\n\nconst defaultColorMode = 'day'\nconst defaultDayScheme = 'light'\nconst defaultNightScheme = 'dark'\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport type Theme = {[key: string]: any}\ntype ColorMode = 'day' | 'night'\ntype ColorModeWithAuto = ColorMode | 'auto'\n\nexport type ThemeProviderProps = {\n theme?: Theme\n colorMode?: ColorModeWithAuto\n dayScheme?: string\n nightScheme?: string\n}\n\nconst ThemeContext = React.createContext<{\n theme?: Theme\n colorScheme?: string\n colorMode?: ColorModeWithAuto\n resolvedColorMode?: ColorMode\n dayScheme?: string\n nightScheme?: string\n setColorMode: React.Dispatch<React.SetStateAction<ColorModeWithAuto>>\n setDayScheme: React.Dispatch<React.SetStateAction<string>>\n setNightScheme: React.Dispatch<React.SetStateAction<string>>\n}>({\n setColorMode: () => null,\n setDayScheme: () => null,\n setNightScheme: () => null\n})\n\nexport const ThemeProvider: React.FC<ThemeProviderProps> = ({children, ...props}) => {\n // Get fallback values from parent ThemeProvider (if exists)\n const {\n theme: fallbackTheme,\n colorMode: fallbackColorMode,\n dayScheme: fallbackDayScheme,\n nightScheme: fallbackNightScheme\n } = useTheme()\n\n // Initialize state\n const theme = props.theme ?? fallbackTheme ?? defaultTheme\n const [colorMode, setColorMode] = React.useState(props.colorMode ?? fallbackColorMode ?? defaultColorMode)\n const [dayScheme, setDayScheme] = React.useState(props.dayScheme ?? fallbackDayScheme ?? defaultDayScheme)\n const [nightScheme, setNightScheme] = React.useState(props.nightScheme ?? fallbackNightScheme ?? defaultNightScheme)\n const systemColorMode = useSystemColorMode()\n const resolvedColorMode = resolveColorMode(colorMode, systemColorMode)\n const colorScheme = chooseColorScheme(resolvedColorMode, dayScheme, nightScheme)\n const resolvedTheme = React.useMemo(() => applyColorScheme(theme, colorScheme), [theme, colorScheme])\n\n // Update state if props change\n React.useEffect(() => {\n setColorMode(props.colorMode ?? fallbackColorMode ?? defaultColorMode)\n }, [props.colorMode, fallbackColorMode])\n\n React.useEffect(() => {\n setDayScheme(props.dayScheme ?? fallbackDayScheme ?? defaultDayScheme)\n }, [props.dayScheme, fallbackDayScheme])\n\n React.useEffect(() => {\n setNightScheme(props.nightScheme ?? fallbackNightScheme ?? defaultNightScheme)\n }, [props.nightScheme, fallbackNightScheme])\n\n return (\n <ThemeContext.Provider\n value={{\n theme: resolvedTheme,\n colorScheme,\n colorMode,\n resolvedColorMode,\n dayScheme,\n nightScheme,\n setColorMode,\n setDayScheme,\n setNightScheme\n }}\n >\n <SCThemeProvider theme={resolvedTheme}>{children}</SCThemeProvider>\n </ThemeContext.Provider>\n )\n}\n\nexport function useTheme() {\n return React.useContext(ThemeContext)\n}\n\nexport function useColorSchemeVar(values: Partial<Record<string, string>>, fallback: string) {\n const {colorScheme = ''} = useTheme()\n return values[colorScheme] ?? fallback\n}\n\nfunction useSystemColorMode() {\n const [systemColorMode, setSystemColorMode] = React.useState(getSystemColorMode)\n\n React.useEffect(() => {\n // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition\n const media = window?.matchMedia?.('(prefers-color-scheme: dark)')\n\n function handleChange(event: MediaQueryListEvent) {\n const isNight = event.matches\n setSystemColorMode(isNight ? 'night' : 'day')\n }\n\n // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition\n if (media) {\n // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition\n if (media.addEventListener !== undefined) {\n media.addEventListener('change', handleChange)\n return function cleanup() {\n media.removeEventListener('change', handleChange)\n }\n }\n // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition\n else if (media.addListener !== undefined) {\n media.addListener(handleChange)\n return function cleanup() {\n media.removeListener(handleChange)\n }\n }\n }\n }, [])\n\n return systemColorMode\n}\n\nfunction getSystemColorMode(): ColorMode {\n // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition\n if (typeof window !== 'undefined' && window.matchMedia?.('(prefers-color-scheme: dark)')?.matches) {\n return 'night'\n }\n\n return 'day'\n}\n\nfunction resolveColorMode(colorMode: ColorModeWithAuto, systemColorMode: ColorMode) {\n switch (colorMode) {\n case 'auto':\n return systemColorMode\n default:\n return colorMode\n }\n}\n\nfunction chooseColorScheme(colorMode: ColorMode, dayScheme: string, nightScheme: string) {\n switch (colorMode) {\n case 'day':\n return dayScheme\n case 'night':\n return nightScheme\n }\n}\n\nfunction applyColorScheme(theme: Theme, colorScheme: string) {\n if (!theme.colorSchemes) {\n return theme\n }\n\n if (!theme.colorSchemes[colorScheme]) {\n // eslint-disable-next-line no-console\n console.error(`\\`${colorScheme}\\` scheme not defined in \\`theme.colorSchemes\\``)\n\n // Apply the first defined color scheme\n const defaultColorScheme = Object.keys(theme.colorSchemes)[0]\n return deepmerge(theme, theme.colorSchemes[defaultColorScheme])\n }\n\n return deepmerge(theme, theme.colorSchemes[colorScheme])\n}\n\nexport default ThemeProvider\n","import css, {SystemStyleObject} from '@styled-system/css'\n\nexport interface SxProp {\n sx?: SystemStyleObject\n}\n\nconst sx = (props: SxProp) => css(props.sx)\n\nexport default sx\n","import styled from 'styled-components'\nimport {\n background,\n BackgroundProps,\n border,\n BorderProps,\n color,\n ColorProps,\n flexbox,\n FlexboxProps,\n grid,\n GridProps,\n layout,\n LayoutProps,\n position,\n PositionProps,\n shadow,\n ShadowProps,\n space,\n SpaceProps,\n typography,\n TypographyProps\n} from 'styled-system'\nimport sx, {SxProp} from './sx'\nimport {ComponentProps} from './utils/types'\n\ntype StyledBoxProps = SpaceProps &\n ColorProps &\n TypographyProps &\n LayoutProps &\n FlexboxProps &\n GridProps &\n BackgroundProps &\n BorderProps &\n PositionProps &\n ShadowProps &\n SxProp\n\nconst Box = styled.div<StyledBoxProps>(\n space,\n color,\n typography,\n layout,\n flexbox,\n grid,\n background,\n border,\n position,\n shadow,\n sx\n)\n\nexport type BoxProps = ComponentProps<typeof Box>\nexport default Box\n","import styled from 'styled-components'\nimport Box, {BoxProps} from './Box'\n\nexport type BorderBoxProps = BoxProps\n\n/**\n * @deprecated Use the Box component instead (i.e. <BorderBox> → <Box borderWidth='1px' borderStyle='solid' borderColor='border.primary' borderRadius={2}>)\n */\nconst BorderBox = styled(Box)``\n\nBorderBox.defaultProps = {\n borderWidth: '1px',\n borderStyle: 'solid',\n borderColor: 'border.primary',\n borderRadius: 2\n}\n\nexport default BorderBox\n","import styled from 'styled-components'\nimport Box, {BoxProps} from './Box'\n\nexport type FlexProps = BoxProps\n\n/**\n * @deprecated Use the Box component instead (i.e. <Flex> → <Box display=\"flex\">)\n */\nconst Flex = styled(Box)``\n\nFlex.defaultProps = {\n display: 'flex'\n}\n\nexport default Flex\n","import styled from 'styled-components'\nimport Box, {BoxProps} from './Box'\n\nexport type GridProps = BoxProps\n\n/**\n * @deprecated Use the Box component instead (i.e. <Grid> → <Box display=\"grid\">)\n */\nconst Grid = styled(Box)``\n\nGrid.defaultProps = {\n display: 'grid'\n}\n\nexport default Grid\n","import React from 'react'\nimport styled from 'styled-components'\nimport Box from './Box'\nimport {ComponentProps} from './utils/types'\n\ntype StyledPositionProps = {as?: React.ElementType}\n\n/**\n * @deprecated Use the Box component instead (i.e. <Position> → <Box>)\n */\nconst Position = styled(Box)<StyledPositionProps>``\n\nexport type PositionProps = ComponentProps<typeof Position>\n\n/**\n * @deprecated Use the Box component instead (i.e. <Absolute> → <Box position=\"absolute\">)\n */\nexport default Position\n\n// Absolute\nexport type AbsoluteProps = Omit<PositionProps, 'position'>\n\n/**\n * @deprecated Use the Box component instead (i.e. <Absolute> → <Box position=\"absolute\">)\n */\nexport const Absolute = React.forwardRef((props: AbsoluteProps, ref) => {\n return <Position {...props} position=\"absolute\" ref={ref} />\n})\nAbsolute.displayName = 'Absolute'\n\n// Fixed\nexport type FixedProps = Omit<PositionProps, 'position'>\n\n/**\n * @deprecated Use the Box component instead (i.e. <Fixed> → <Box position=\"fixed\">)\n */\nexport const Fixed = React.forwardRef((props: AbsoluteProps, ref) => {\n return <Position {...props} position=\"fixed\" ref={ref} />\n})\nFixed.displayName = 'Fixed'\n\n// Relative\nexport type RelativeProps = Omit<PositionProps, 'position'>\n\n/**\n * @deprecated Use the Box component instead (i.e. <Relative> → <Box position=\"relative\">)\n */\nexport const Relative = React.forwardRef((props: RelativeProps, ref) => {\n return <Position {...props} position=\"relative\" ref={ref} />\n})\nRelative.displayName = 'Relative'\n\n// Sticky\nexport type StickyProps = Omit<PositionProps, 'position'>\n\n/**\n * @deprecated Use the Box component instead (i.e. <Sticky> → <Box position=\"sticky\">)\n */\nexport const Sticky = React.forwardRef((props: StickyProps, ref) => {\n return <Position {...props} position=\"sticky\" ref={ref} />\n})\nSticky.defaultProps = {top: 0, zIndex: 1}\nSticky.displayName = 'Sticky'\n","import {useCallback, useEffect, useState, useRef} from 'react'\n\ntype UseDetailsParameters = {\n ref?: React.RefObject<HTMLElement>\n closeOnOutsideClick?: boolean\n defaultOpen?: boolean\n onClickOutside?: (event: MouseEvent) => void\n}\n\nfunction useDetails({ref, closeOnOutsideClick, defaultOpen, onClickOutside}: UseDetailsParameters) {\n const [open, setOpen] = useState(defaultOpen)\n const backupRef = useRef(null)\n const customRef = ref ?? backupRef\n\n const onClickOutsideInternal = useCallback(\n (event: MouseEvent) => {\n const {current} = customRef\n const eventTarget = event.target as HTMLElement\n const closest = eventTarget.closest('details') as HTMLDetailsElement\n if (closest !== current) {\n onClickOutside && onClickOutside(event)\n if (!event.defaultPrevented) {\n setOpen(false)\n }\n }\n },\n [customRef, setOpen, onClickOutside]\n )\n\n // handles the overlay behavior - closing the menu when clicking outside of it\n useEffect(() => {\n if (open && closeOnOutsideClick) {\n document.addEventListener('click', onClickOutsideInternal)\n return () => {\n document.removeEventListener('click', onClickOutsideInternal)\n }\n }\n }, [open, closeOnOutsideClick, onClickOutsideInternal])\n\n const handleToggle = (e: React.SyntheticEvent<HTMLElement, Event>) => {\n if (!e.defaultPrevented) {\n const eventTarget = e.target as HTMLDetailsElement\n setOpen(eventTarget.open)\n }\n }\n\n const getDetailsProps = () => {\n return {onToggle: handleToggle, open, ref: customRef}\n }\n\n return {open, setOpen, getDetailsProps}\n}\n\nexport default useDetails\n","import React, {useEffect, useCallback, useMemo} from 'react'\n\nexport type TouchOrMouseEvent = MouseEvent | TouchEvent\ntype TouchOrMouseEventCallback = (event: TouchOrMouseEvent) => boolean | undefined\n\nexport type UseOnOutsideClickSettings = {\n containerRef: React.RefObject<HTMLDivElement>\n ignoreClickRefs?: React.RefObject<HTMLElement>[]\n onClickOutside: (e: TouchOrMouseEvent) => void\n}\n\n// Because events are handled at the document level, we provide a mechanism for early return.\nconst stopPropagation = true\n\n/**\n * Calls all handlers in reverse order\n * @param event The MouseEvent generated by the click event.\n */\nfunction handleClick(event: MouseEvent) {\n if (!event.defaultPrevented) {\n for (const handler of Object.values(registry).reverse()) {\n // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition\n if (handler(event) === stopPropagation || event.defaultPrevented) {\n break\n }\n }\n }\n}\n\nconst registry: {[id: number]: TouchOrMouseEventCallback} = {}\n\nfunction register(id: number, handler: TouchOrMouseEventCallback): void {\n registry[id] = handler\n}\n\nfunction deregister(id: number) {\n delete registry[id]\n}\n\n// For auto-incrementing unique identifiers for registered handlers.\nlet handlerId = 0\n\nexport const useOnOutsideClick = ({containerRef, ignoreClickRefs, onClickOutside}: UseOnOutsideClickSettings) => {\n const id = useMemo(() => handlerId++, [])\n\n const handler = useCallback<TouchOrMouseEventCallback>(\n event => {\n // don't call click handler if the mouse event was triggered by an auxiliary button (right click/wheel button/etc)\n if (event instanceof MouseEvent && event.button > 0) {\n return stopPropagation\n }\n\n // don't call handler if the click happened inside of the container\n if (containerRef.current?.contains(event.target as Node)) {\n return stopPropagation\n }\n\n // don't call handler if click happened on an ignored ref\n if (ignoreClickRefs && ignoreClickRefs.some(({current}) => current?.contains(event.target as Node))) {\n return stopPropagation\n }\n\n onClickOutside(event)\n },\n [containerRef, ignoreClickRefs, onClickOutside]\n )\n\n useEffect(() => {\n if (Object.keys(registry).length === 0) {\n // use capture to ensure we get all events\n document.addEventListener('mousedown', handleClick, {capture: true})\n }\n register(id, handler)\n\n return () => {\n deregister(id)\n if (Object.keys(registry).length === 0) {\n document.removeEventListener('mousedown', handleClick, {capture: true})\n }\n }\n }, [id, handler])\n}\n","/**\n * Options to the focusable elements iterator\n */\nexport interface IterateFocusableElements {\n /**\n * (Default: false) Iterate through focusable elements in reverse-order\n */\n reverse?: boolean\n\n /**\n * (Default: false) Perform additional checks to determine tabbability\n * which may adversely affect app performance.\n */\n strict?: boolean\n\n /**\n * (Default: false) Only iterate tabbable elements, which is the subset\n * of focusable elements that are part of the page's tab sequence.\n */\n onlyTabbable?: boolean\n}\n\n/**\n * Returns an iterator over all of the focusable elements within `container`.\n * Note: If `container` is itself focusable it will be included in the results.\n * @param container The container over which to find focusable elements.\n * @param reverse If true, iterate backwards through focusable elements.\n */\nexport function* iterateFocusableElements(\n container: HTMLElement,\n options: IterateFocusableElements = {}\n): Generator<HTMLElement, undefined, undefined> {\n const strict = options.strict ?? false\n const acceptFn = options.onlyTabbable ?? false ? isTabbable : isFocusable\n const walker = document.createTreeWalker(container, NodeFilter.SHOW_ELEMENT, {\n acceptNode: node =>\n node instanceof HTMLElement && acceptFn(node, strict) ? NodeFilter.FILTER_ACCEPT : NodeFilter.FILTER_SKIP\n })\n let nextNode: Node | null = null\n\n // Allow the container to participate\n if (!options.reverse && acceptFn(container, strict)) {\n yield container\n }\n\n // If iterating in reverse, continue traversing down into the last child until we reach\n // a leaf DOM node\n if (options.reverse) {\n let lastChild = walker.lastChild()\n while (lastChild) {\n nextNode = lastChild\n lastChild = walker.lastChild()\n }\n } else {\n nextNode = walker.firstChild()\n }\n while (nextNode instanceof HTMLElement) {\n yield nextNode\n nextNode = options.reverse ? walker.previousNode() : walker.nextNode()\n }\n\n // Allow the container to participate (in reverse)\n if (options.reverse && acceptFn(container, strict)) {\n yield container\n }\n\n return undefined\n}\n\n/**\n * Determines whether the given element is focusable. If `strict` is true, we may\n * perform additional checks that require a reflow (less performant).\n * @param elem\n * @param strict\n */\nexport function isFocusable(elem: HTMLElement, strict = false): boolean {\n // Certain conditions cause an element to never be focusable, even if they have tabindex=\"0\"\n const disabledAttrInert =\n ['BUTTON', 'INPUT', 'SELECT', 'TEXTAREA', 'OPTGROUP', 'OPTION', 'FIELDSET'].includes(elem.tagName) &&\n (elem as HTMLElement & {disabled: boolean}).disabled\n const hiddenInert = elem.hidden\n const hiddenInputInert = elem instanceof HTMLInputElement && elem.type === 'hidden'\n if (disabledAttrInert || hiddenInert || hiddenInputInert) {\n return false\n }\n\n // Each of the conditions checked below require a reflow, thus are gated by the `strict`\n // argument. If any are true, the element is not focusable, even if tabindex is set.\n if (strict) {\n const sizeInert = elem.offsetWidth === 0 || elem.offsetHeight === 0\n const visibilityInert = ['hidden', 'collapse'].includes(getComputedStyle(elem).visibility)\n const clientRectsInert = elem.getClientRects().length === 0\n if (sizeInert || visibilityInert || clientRectsInert) {\n return false\n }\n }\n\n // Any element with `tabindex` explicitly set can be focusable, even if it's set to \"-1\"\n if (elem.getAttribute('tabindex') != null) {\n return true\n }\n\n // One last way `elem.tabIndex` can be wrong.\n if (elem instanceof HTMLAnchorElement && elem.getAttribute('href') == null) {\n return false\n }\n\n return elem.tabIndex !== -1\n}\n\n/**\n * Determines whether the given element is tabbable. If `strict` is true, we may\n * perform additional checks that require a reflow (less performant). This check\n * ensures that the element is focusable and that its tabindex is not explicitly\n * set to \"-1\" (which makes it focusable, but removes it from the tab order).\n * @param elem\n * @param strict\n */\nexport function isTabbable(elem: HTMLElement, strict = false): boolean {\n return isFocusable(elem, strict) && elem.getAttribute('tabindex') !== '-1'\n}\n","import React, {useEffect} from 'react'\nimport {iterateFocusableElements} from '../utils/iterateFocusableElements'\n\nexport type UseOpenAndCloseFocusSettings = {\n initialFocusRef?: React.RefObject<HTMLElement>\n containerRef: React.RefObject<HTMLElement>\n returnFocusRef: React.RefObject<HTMLElement>\n}\n\nexport function useOpenAndCloseFocus({\n initialFocusRef,\n returnFocusRef,\n containerRef\n}: UseOpenAndCloseFocusSettings): void {\n useEffect(() => {\n const returnRef = returnFocusRef.current\n if (initialFocusRef && initialFocusRef.current) {\n initialFocusRef.current.focus()\n } else if (containerRef.current) {\n const firstItem = iterateFocusableElements(containerRef.current).next().value\n firstItem?.focus()\n }\n return function () {\n returnRef?.focus()\n }\n }, [initialFocusRef, returnFocusRef, containerRef])\n}\n","import {useEffect, useCallback} from 'react'\n\nconst handlers: ((e: KeyboardEvent) => void)[] = []\n\n/**\n * Calls all handlers in reverse order\n * @param event The KeyboardEvent generated by the Escape keydown.\n */\nfunction handleEscape(event: KeyboardEvent) {\n if (event.key === 'Escape' && !event.defaultPrevented) {\n for (let i = handlers.length - 1; i >= 0; --i) {\n handlers[i](event)\n // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition\n if (event.defaultPrevented) {\n break\n }\n }\n }\n}\n\n/**\n * Sets up a `keydown` listener on `window.document`. If\n * 1) The pressed key is \"Escape\", and\n * 2) The event has not had `.preventDefault()` called\n * The given callback will be executed.\n *\n * Note: If multiple `useOnEscapePress` hooks are active simultaneously, the\n * callbacks will occur in reverse order. In other words, if a parent component\n * and a child component both call `useOnEscapePress`, when the user presses\n * Escape, the child component's callback will execute, followed by the parent's\n * callback. Each callback has the chance to call `.preventDefault()` on the\n * event to prevent further callbacks.\n *\n * @param callback {(e: KeyboardEvent) => void} The callback that gets executed\n * when the Escape key is pressed. The KeyboardEvent generated by the Escape\n * keypress is passed as the only argument.\n *\n * @param callbackDependencies {React.DependencyList} The dependencies of the given\n * `onEscape` callback for memoization. Omit this param if the callback is already\n * memoized. See `React.useCallback` for more info on memoization.\n */\nexport const useOnEscapePress = (\n onEscape: (e: KeyboardEvent) => void,\n callbackDependencies: React.DependencyList = [onEscape]\n): void => {\n // eslint-disable-next-line react-hooks/exhaustive-deps\n const escapeCallback = useCallback(onEscape, callbackDependencies)\n useEffect(() => {\n if (handlers.length === 0) {\n document.addEventListener('keydown', handleEscape)\n }\n handlers.push(escapeCallback)\n return () => {\n handlers.splice(\n handlers.findIndex(h => h === escapeCallback),\n 1\n )\n if (handlers.length === 0) {\n document.removeEventListener('keydown', handleEscape)\n }\n }\n }, [escapeCallback])\n}\n","import React from 'react'\n\n/**\n * There are some situations where we only want to create a new ref if one is not provided to a component\n * or hook as a prop. However, due to the `rules-of-hooks`, we cannot conditionally make a call to `React.useRef`\n * only in the situations where the ref is not provided as a prop.\n * This hook aims to encapsulate that logic, so the consumer doesn't need to be concerned with violating `rules-of-hooks`.\n * @param providedRef The ref to use - if undefined, will use the ref from a call to React.useRef\n * @type TRef The type of the RefObject which should be created.\n */\nexport function useProvidedRefOrCreate<TRef>(providedRef?: React.RefObject<TRef>): React.RefObject<TRef> {\n const createdRef = React.useRef<TRef>(null)\n return providedRef ?? createdRef\n}\n","import {useOnOutsideClick, TouchOrMouseEvent} from './useOnOutsideClick'\nimport {useOpenAndCloseFocus} from './useOpenAndCloseFocus'\nimport {useOnEscapePress} from './useOnEscapePress'\nimport {useProvidedRefOrCreate} from './useProvidedRefOrCreate'\n\nexport type UseOverlaySettings = {\n ignoreClickRefs?: React.RefObject<HTMLElement>[]\n initialFocusRef?: React.RefObject<HTMLElement>\n returnFocusRef: React.RefObject<HTMLElement>\n onEscape: (e: KeyboardEvent) => void\n onClickOutside: (e: TouchOrMouseEvent) => void\n overlayRef?: React.RefObject<HTMLDivElement>\n}\n\nexport type OverlayReturnProps = {\n ref: React.RefObject<HTMLDivElement>\n}\n\nexport const useOverlay = ({\n overlayRef: _overlayRef,\n returnFocusRef,\n initialFocusRef,\n onEscape,\n ignoreClickRefs,\n onClickOutside\n}: UseOverlaySettings): OverlayReturnProps => {\n const overlayRef = useProvidedRefOrCreate<HTMLDivElement>(_overlayRef)\n useOpenAndCloseFocus({containerRef: overlayRef, returnFocusRef, initialFocusRef})\n useOnOutsideClick({containerRef: overlayRef, ignoreClickRefs, onClickOutside})\n useOnEscapePress(onEscape)\n return {ref: overlayRef}\n}\n","/*\n\nThis file polyfills the following: https://github.com/whatwg/dom/issues/911\nOnce all targeted browsers support this DOM feature, this polyfill can be deleted.\n\nThis allows users to pass an AbortSignal to a call to addEventListener as part of the\nAddEventListenerOptions object. When the signal is aborted, the event listener is\nremoved.\n\n*/\n\nlet signalSupported = false\n// eslint-disable-next-line @typescript-eslint/no-empty-function\nfunction noop() {}\ntry {\n const options = Object.create(\n {},\n {\n signal: {\n get() {\n signalSupported = true\n }\n }\n }\n )\n window.addEventListener('test', noop, options)\n window.removeEventListener('test', noop, options)\n} catch (e) {\n /* */\n}\nfunction featureSupported(): boolean {\n return signalSupported\n}\n\nfunction monkeyPatch() {\n if (typeof window === 'undefined') {\n return\n }\n\n const originalAddEventListener = EventTarget.prototype.addEventListener\n EventTarget.prototype.addEventListener = function (name, originalCallback, optionsOrCapture) {\n if (\n typeof optionsOrCapture === 'object' &&\n 'signal' in optionsOrCapture &&\n optionsOrCapture.signal instanceof AbortSignal\n ) {\n originalAddEventListener.call(optionsOrCapture.signal, 'abort', () => {\n this.removeEventListener(name, originalCallback, optionsOrCapture)\n })\n }\n return originalAddEventListener.call(this, name, originalCallback, optionsOrCapture)\n }\n}\n\nexport function polyfill(): void {\n if (!featureSupported()) {\n monkeyPatch()\n signalSupported = true\n }\n}\n\ndeclare global {\n interface AddEventListenerOptions {\n signal?: AbortSignal\n }\n}\n","let isMac: boolean | undefined = undefined\nexport function isMacOS(): boolean {\n if (isMac === undefined) {\n isMac = /^mac/i.test(window.navigator.platform)\n }\n return isMac\n}\n","let idSeed = 10000\nexport function uniqueId(): string {\n return `__primer_id_${idSeed++}`\n}\n","import {iterateFocusableElements} from '../utils/iterateFocusableElements'\nimport {polyfill as eventListenerSignalPolyfill} from '../polyfills/eventListenerSignal'\nimport {isMacOS} from '../utils/userAgent'\nimport {uniqueId} from '../utils/uniqueId'\n\neventListenerSignalPolyfill()\n\nexport type Direction = 'previous' | 'next' | 'start' | 'end'\n\nexport type FocusMovementKeys =\n | 'ArrowLeft'\n | 'ArrowDown'\n | 'ArrowUp'\n | 'ArrowRight'\n | 'h'\n | 'j'\n | 'k'\n | 'l'\n | 'a'\n | 's'\n | 'w'\n | 'd'\n | 'Tab'\n | 'Home'\n | 'End'\n | 'PageUp'\n | 'PageDown'\n\n// eslint-disable-next-line no-shadow\nexport enum FocusKeys {\n // Left and right arrow keys (previous and next, respectively)\n ArrowHorizontal = 0b000000001,\n\n // Up and down arrow keys (previous and next, respectively)\n ArrowVertical = 0b000000010,\n\n // The \"J\" and \"K\" keys (next and previous, respectively)\n JK = 0b000000100,\n\n // The \"H\" and \"L\" keys (previous and next, respectively)\n HL = 0b000001000,\n\n // The Home and End keys (previous and next, respectively, to end)\n HomeAndEnd = 0b000010000,\n\n // The PgUp and PgDn keys (previous and next, respectively, to end)\n PageUpDown = 0b100000000,\n\n // The \"W\" and \"S\" keys (previous and next, respectively)\n WS = 0b000100000,\n\n // The \"A\" and \"D\" keys (previous and next, respectively)\n AD = 0b001000000,\n\n // The Tab key (next)\n Tab = 0b010000000,\n\n ArrowAll = FocusKeys.ArrowHorizontal | FocusKeys.ArrowVertical,\n HJKL = FocusKeys.HL | FocusKeys.JK,\n WASD = FocusKeys.WS | FocusKeys.AD,\n All = FocusKeys.ArrowAll |\n FocusKeys.HJKL |\n FocusKeys.HomeAndEnd |\n FocusKeys.PageUpDown |\n FocusKeys.WASD |\n FocusKeys.Tab\n}\n\nconst KEY_TO_BIT = {\n ArrowLeft: FocusKeys.ArrowHorizontal,\n ArrowDown: FocusKeys.ArrowVertical,\n ArrowUp: FocusKeys.ArrowVertical,\n ArrowRight: FocusKeys.ArrowHorizontal,\n h: FocusKeys.HL,\n j: FocusKeys.JK,\n k: FocusKeys.JK,\n l: FocusKeys.HL,\n a: FocusKeys.AD,\n s: FocusKeys.WS,\n w: FocusKeys.WS,\n d: FocusKeys.AD,\n Tab: FocusKeys.Tab,\n Home: FocusKeys.HomeAndEnd,\n End: FocusKeys.HomeAndEnd,\n PageUp: FocusKeys.PageUpDown,\n PageDown: FocusKeys.PageUpDown\n} as {[k in FocusMovementKeys]: FocusKeys}\n\nconst KEY_TO_DIRECTION = {\n ArrowLeft: 'previous',\n ArrowDown: 'next',\n ArrowUp: 'previous',\n ArrowRight: 'next',\n h: 'previous',\n j: 'next',\n k: 'previous',\n l: 'next',\n a: 'previous',\n s: 'next',\n w: 'previous',\n d: 'next',\n Tab: 'next',\n Home: 'start',\n End: 'end',\n PageUp: 'start',\n PageDown: 'end'\n} as {[k in FocusMovementKeys]: Direction}\n\n/**\n * Options that control the behavior of the arrow focus behavior.\n */\nexport interface FocusZoneSettings {\n /**\n * Choose the behavior applied in cases where focus is currently at either the first or\n * last element of the container.\n *\n * \"stop\" - do nothing and keep focus where it was\n * \"wrap\" - wrap focus around to the first element from the last, or the last element from the first\n *\n * Default: \"stop\"\n */\n focusOutBehavior?: 'stop' | 'wrap'\n\n /**\n * If set, this will be called to get the next focusable element. If this function\n * returns null, we will try to determine the next direction ourselves. Use the\n * `bindKeys` option to customize which keys are listened to.\n *\n * The function can accept a Direction, indicating the direction focus should move,\n * the HTMLElement that was previously focused, and lastly the `KeyboardEvent` object\n * created by the original `\"keydown\"` event.\n */\n getNextFocusable?: (direction: Direction, from: Element | undefined, event: KeyboardEvent) => HTMLElement | undefined\n\n /**\n * Called to decide if a focusable element is allowed to participate in the arrow\n * key focus behavior.\n *\n * By default, all focusable elements within the given container will participate\n * in the arrow key focus behavior. If you need to withhold some elements from\n * participation, implement this callback to return false for those elements.\n */\n focusableElementFilter?: (element: HTMLElement) => boolean\n\n /**\n * Bit flags that identify keys that will be bound to. Each available key either\n * moves focus to the \"next\" element or the \"previous\" element, so it is best\n * to only bind the keys that make sense to move focus in your UI. Use the `FocusKeys`\n * object to discover supported keys.\n *\n * Use the bitwise \"OR\" operator (`|`) to combine key types. For example,\n * `FocusKeys.WASD | FocusKeys.HJKL` represents all of W, A, S, D, H, J, K, and L.\n *\n * A note on FocusKeys.PageUpDown: This behavior does not support paging, so by default\n * using these keys will result in the same behavior as Home and End. To override this\n * behavior, implement `getNextFocusable`.\n *\n * The default for this setting is `FocusKeys.ArrowVertical | FocusKeys.HomeAndEnd`, unless\n * `getNextFocusable` is provided, in which case `FocusKeys.ArrowAll | FocusKeys.HomeAndEnd`\n * is used as the default.\n */\n bindKeys?: FocusKeys\n\n /**\n * If provided, this signal can be used to disable the behavior and remove any\n * event listeners.\n */\n abortSignal?: AbortSignal\n\n /**\n * If `activeDescendantControl` is supplied, do not move focus or alter `tabindex` on\n * any element. Instead, manage `aria-activedescendant` according to the ARIA best\n * practices guidelines.\n * @see https://www.w3.org/TR/wai-aria-practices-1.1/#kbd_focus_activedescendant\n *\n * The given `activeDescendantControl` will be given an `aria-controls` attribute that\n * references the ID of the `container`. Additionally, it will be given an\n * `aria-activedescendant` attribute that references the ID of the currently-active\n * descendant.\n *\n * This element will retain DOM focus as arrow keys are pressed.\n */\n activeDescendantControl?: HTMLElement\n\n /**\n * Called each time the active descendant changes. Note that either of the parameters\n * may be undefined, e.g. when an element in the container first becomes active, or\n * when the controlling element becomes unfocused.\n */\n onActiveDescendantChanged?: (\n newActiveDescendant: HTMLElement | undefined,\n previousActiveDescendant: HTMLElement | undefined,\n directlyActivated: boolean\n ) => void\n\n /**\n * This option allows customization of the behavior that determines which of the\n * focusable elements should be focused when focus enters the container via the Tab key.\n *\n * When set to \"first\", whenever focus enters the container via Tab, we will focus the\n * first focusable element. When set to \"previous\", the most recently focused element\n * will be focused (fallback to first if there was no previous).\n *\n * The \"closest\" strategy works like \"first\", except either the first or the last element\n * of the container will be focused, depending on the direction from which focus comes.\n *\n * If a function is provided, this function should return the HTMLElement intended\n * to receive focus. This is useful if you want to focus the currently \"selected\"\n * item or element.\n *\n * Default: \"previous\"\n *\n * For more information, @see https://www.w3.org/TR/wai-aria-practices-1.1/#kbd_general_within\n */\n focusInStrategy?: 'first' | 'closest' | 'previous' | ((previousFocusedElement: Element) => HTMLElement | undefined)\n}\n\nfunction getDirection(keyboardEvent: KeyboardEvent) {\n const direction = KEY_TO_DIRECTION[keyboardEvent.key as keyof typeof KEY_TO_DIRECTION]\n if (keyboardEvent.key === 'Tab' && keyboardEvent.shiftKey) {\n return 'previous'\n }\n const isMac = isMacOS()\n if ((isMac && keyboardEvent.metaKey) || (!isMac && keyboardEvent.ctrlKey)) {\n if (keyboardEvent.key === 'ArrowLeft' || keyboardEvent.key === 'ArrowUp') {\n return 'start'\n } else if (keyboardEvent.key === 'ArrowRight' || keyboardEvent.key === 'ArrowDown') {\n return 'end'\n }\n }\n return direction\n}\n\n/**\n * There are some situations where we do not want various keys to affect focus. This function\n * checks for those situations.\n * 1. Home and End should not move focus when a text input or textarea is active\n * 2. Keys that would normally type characters into an input or navigate a select element should be ignored\n * 3. The down arrow sometimes should not move focus when a select is active since that sometimes invokes the dropdown\n * 4. Page Up and Page Down within a textarea should not have any effect\n * 5. When in a text input or textarea, left should only move focus if the cursor is at the beginning of the input\n * 6. When in a text input or textarea, right should only move focus if the cursor is at the end of the input\n * 7. When in a textarea, up and down should only move focus if cursor is at the beginning or end, respectively.\n * @param keyboardEvent\n * @param activeElement\n */\nfunction shouldIgnoreFocusHandling(keyboardEvent: KeyboardEvent, activeElement: Element | null) {\n const key = keyboardEvent.key\n\n // Get the number of characters in `key`, accounting for double-wide UTF-16 chars. If keyLength\n // is 1, we can assume it's a \"printable\" character. Otherwise it's likely a control character.\n // One exception is the Tab key, which is technically printable, but browsers generally assign\n // its function to move focus rather than type a <TAB> character.\n const keyLength = [...key].length\n\n const isTextInput =\n (activeElement instanceof HTMLInputElement && activeElement.type === 'text') ||\n activeElement instanceof HTMLTextAreaElement\n\n // If we would normally type a character into an input, ignore\n // Also, Home and End keys should never affect focus when in a text input\n if (isTextInput && (keyLength === 1 || key === 'Home' || key === 'End')) {\n return true\n }\n\n // Some situations we want to ignore with <select> elements\n if (activeElement instanceof HTMLSelectElement) {\n // Regular typeable characters change the selection, so ignore those\n if (keyLength === 1) {\n return true\n }\n // On macOS, bare ArrowDown opens the select, so ignore that\n if (key === 'ArrowDown' && isMacOS() && !keyboardEvent.metaKey) {\n return true\n }\n // On other platforms, Alt+ArrowDown opens the select, so ignore that\n if (key === 'ArrowDown' && !isMacOS() && keyboardEvent.altKey) {\n return true\n }\n }\n\n // Ignore page up and page down for textareas\n if (activeElement instanceof HTMLTextAreaElement && (key === 'PageUp' || key === 'PageDown')) {\n return true\n }\n\n if (isTextInput) {\n const textInput = activeElement as HTMLInputElement | HTMLTextAreaElement\n const cursorAtStart = textInput.selectionStart === 0 && textInput.selectionEnd === 0\n const cursorAtEnd =\n textInput.selectionStart === textInput.value.length && textInput.selectionEnd === textInput.value.length\n\n // When in a text area or text input, only move focus left/right if at beginning/end of the field\n if (key === 'ArrowLeft' && !cursorAtStart) {\n return true\n }\n if (key === 'ArrowRight' && !cursorAtEnd) {\n return true\n }\n\n // When in a text area, only move focus up/down if at beginning/end of the field\n if (textInput instanceof HTMLTextAreaElement) {\n if (key === 'ArrowUp' && !cursorAtStart) {\n return true\n }\n if (key === 'ArrowDown' && !cursorAtEnd) {\n return true\n }\n }\n }\n\n return false\n}\n\nexport const isActiveDescendantAttribute = 'data-is-active-descendant'\n/**\n * A value of activated-directly for data-is-active-descendant indicates the descendant was activated\n * by a manual user interaction with intent to move active descendant. This usually translates to the\n * user pressing one of the bound keys (up/down arrow, etc) to move through the focus zone. This is\n * intended to be roughly equivalent to the :focus-visible pseudo-class\n **/\nexport const activeDescendantActivatedDirectly = 'activated-directly'\n/**\n * A value of activated-indirectly for data-is-active-descendant indicates the descendant was activated\n * implicitly, and not by a direct key press. This includes focus zone being created from scratch, focusable\n * elements being added/removed, and mouseover events. This is intended to be roughly equivalent\n * to :focus:not(:focus-visible)\n **/\nexport const activeDescendantActivatedIndirectly = 'activated-indirectly'\nexport const hasActiveDescendantAttribute = 'data-has-active-descendant'\n\n/**\n * Sets up the arrow key focus behavior for all focusable elements in the given `container`.\n * @param container\n * @param settings\n * @returns\n */\nexport function focusZone(container: HTMLElement, settings?: FocusZoneSettings): AbortController {\n const focusableElements: HTMLElement[] = []\n const savedTabIndex = new WeakMap<HTMLElement, string | null>()\n const bindKeys =\n settings?.bindKeys ??\n (settings?.getNextFocusable ? FocusKeys.ArrowAll : FocusKeys.ArrowVertical) | FocusKeys.HomeAndEnd\n const focusOutBehavior = settings?.focusOutBehavior ?? 'stop'\n const focusInStrategy = settings?.focusInStrategy ?? 'previous'\n const activeDescendantControl = settings?.activeDescendantControl\n const activeDescendantCallback = settings?.onActiveDescendantChanged\n let currentFocusedElement: HTMLElement | undefined\n\n function getFirstFocusableElement() {\n return focusableElements[0] as HTMLElement | undefined\n }\n\n function isActiveDescendantInputFocused() {\n return document.activeElement === activeDescendantControl\n }\n\n function updateFocusedElement(to?: HTMLElement, directlyActivated = false) {\n const from = currentFocusedElement\n currentFocusedElement = to\n\n if (activeDescendantControl) {\n if (to && isActiveDescendantInputFocused()) {\n setActiveDescendant(from, to, directlyActivated)\n } else {\n clearActiveDescendant()\n }\n\n return\n }\n\n if (from && from !== to && savedTabIndex.has(from)) {\n from.setAttribute('tabindex', '-1')\n }\n\n to?.setAttribute('tabindex', '0')\n }\n\n function setActiveDescendant(from: HTMLElement | undefined, to: HTMLElement, directlyActivated = false) {\n if (!to.id) {\n to.setAttribute('id', uniqueId())\n }\n\n if (from && from !== to) {\n from.removeAttribute(isActiveDescendantAttribute)\n }\n\n if (\n !activeDescendantControl ||\n (!directlyActivated && activeDescendantControl.getAttribute('aria-activedescendant') === to.id)\n ) {\n // prevent active descendant callback from being called repeatedly if the same element is activated (e.g. via mousemove)\n return\n }\n\n activeDescendantControl.setAttribute('aria-activedescendant', to.id)\n container.setAttribute(hasActiveDescendantAttribute, to.id)\n to.setAttribute(\n isActiveDescendantAttribute,\n directlyActivated ? activeDescendantActivatedDirectly : activeDescendantActivatedIndirectly\n )\n activeDescendantCallback?.(to, from, directlyActivated)\n }\n\n function clearActiveDescendant(previouslyActiveElement = currentFocusedElement) {\n if (focusInStrategy === 'first') {\n currentFocusedElement = undefined\n }\n\n activeDescendantControl?.removeAttribute('aria-activedescendant')\n container.removeAttribute(hasActiveDescendantAttribute)\n previouslyActiveElement?.removeAttribute(isActiveDescendantAttribute)\n activeDescendantCallback?.(undefined, previouslyActiveElement, false)\n }\n\n function beginFocusManagement(...elements: HTMLElement[]) {\n const filteredElements = elements.filter(e => settings?.focusableElementFilter?.(e) ?? true)\n if (filteredElements.length === 0) {\n return\n }\n // Insert all elements atomically. Assume that all passed elements are well-ordered.\n const insertIndex = focusableElements.findIndex(\n e => (e.compareDocumentPosition(filteredElements[0]) & Node.DOCUMENT_POSITION_PRECEDING) > 0\n )\n focusableElements.splice(insertIndex === -1 ? focusableElements.length : insertIndex, 0, ...filteredElements)\n for (const element of filteredElements) {\n // Set tabindex=\"-1\" on all tabbable elements, but save the original\n // value in case we need to disable the behavior\n if (!savedTabIndex.has(element)) {\n savedTabIndex.set(element, element.getAttribute('tabindex'))\n }\n element.setAttribute('tabindex', '-1')\n }\n\n if (!currentFocusedElement) {\n updateFocusedElement(getFirstFocusableElement())\n }\n }\n\n function endFocusManagement(...elements: HTMLElement[]) {\n for (const element of elements) {\n const focusableElementIndex = focusableElements.indexOf(element)\n if (focusableElementIndex >= 0) {\n focusableElements.splice(focusableElementIndex, 1)\n }\n const savedIndex = savedTabIndex.get(element)\n if (savedIndex !== undefined) {\n if (savedIndex === null) {\n element.removeAttribute('tabindex')\n } else {\n element.setAttribute('tabindex', savedIndex)\n }\n savedTabIndex.delete(element)\n }\n\n // If removing the last-focused element, move focus to the first element in the list.\n if (element === currentFocusedElement) {\n const nextElementToFocus = getFirstFocusableElement()\n updateFocusedElement(nextElementToFocus)\n }\n }\n }\n\n // Take all tabbable elements within container under management\n beginFocusManagement(...iterateFocusableElements(container))\n\n // Open the first tabbable element for tabbing\n updateFocusedElement(getFirstFocusableElement())\n\n // If the DOM structure of the container changes, make sure we keep our state up-to-date\n // with respect to the focusable elements cache and its order\n const observer = new MutationObserver(mutations => {\n // Perform all removals first, in case element order has simply changed\n for (const mutation of mutations) {\n for (const removedNode of mutation.removedNodes) {\n if (removedNode instanceof HTMLElement) {\n endFocusManagement(...iterateFocusableElements(removedNode))\n }\n }\n }\n for (const mutation of mutations) {\n for (const addedNode of mutation.addedNodes) {\n if (addedNode instanceof HTMLElement) {\n beginFocusManagement(...iterateFocusableElements(addedNode))\n }\n }\n }\n })\n\n observer.observe(container, {\n subtree: true,\n childList: true\n })\n\n const controller = new AbortController()\n const signal = settings?.abortSignal ?? controller.signal\n\n signal.addEventListener('abort', () => {\n // Clean up any modifications\n endFocusManagement(...focusableElements)\n })\n\n let elementIndexFocusedByClick: number | undefined = undefined\n container.addEventListener(\n 'mousedown',\n event => {\n // Since focusin is only called when focus changes, we need to make sure the clicked\n // element isn't already focused.\n if (event.target instanceof HTMLElement && event.target !== document.activeElement) {\n elementIndexFocusedByClick = focusableElements.indexOf(event.target)\n }\n },\n {signal}\n )\n\n if (activeDescendantControl) {\n container.addEventListener('focusin', event => {\n if (event.target instanceof HTMLElement && focusableElements.includes(event.target)) {\n // Move focus to the activeDescendantControl if one of the descendants is focused\n activeDescendantControl.focus()\n updateFocusedElement(event.target)\n }\n })\n container.addEventListener(\n 'mousemove',\n ({target}) => {\n if (!(target instanceof Node)) {\n return\n }\n\n const focusableElement = focusableElements.find(element => element.contains(target))\n\n if (focusableElement) {\n updateFocusedElement(focusableElement)\n }\n },\n {signal, capture: true}\n )\n\n // Listeners specifically on the controlling element\n activeDescendantControl.addEventListener('focusin', () => {\n // Focus moved into the active descendant input. Activate current or first descendant.\n if (!currentFocusedElement) {\n updateFocusedElement(getFirstFocusableElement())\n } else {\n setActiveDescendant(undefined, currentFocusedElement)\n }\n })\n activeDescendantControl.addEventListener('focusout', () => {\n clearActiveDescendant()\n })\n } else {\n // This is called whenever focus enters an element in the container\n container.addEventListener(\n 'focusin',\n event => {\n if (event.target instanceof HTMLElement) {\n // If a click initiated the focus movement, we always want to set our internal state\n // to reflect the clicked element as the currently focused one.\n if (elementIndexFocusedByClick !== undefined) {\n if (elementIndexFocusedByClick >= 0) {\n if (focusableElements[elementIndexFocusedByClick] !== currentFocusedElement) {\n updateFocusedElement(focusableElements[elementIndexFocusedByClick])\n }\n }\n elementIndexFocusedByClick = undefined\n } else {\n // Set tab indexes and internal state based on the focus handling strategy\n if (focusInStrategy === 'previous') {\n updateFocusedElement(event.target)\n } else if (focusInStrategy === 'closest' || focusInStrategy === 'first') {\n if (event.relatedTarget instanceof Element && !container.contains(event.relatedTarget)) {\n // Regardless of the previously focused element, if we're coming from outside the\n // container, put focus onto the first encountered element (from above, it's The\n // first element of the container; from below, it's the last). If the\n // focusInStrategy is set to \"first\", lastKeyboardFocusDirection will always\n // be undefined.\n const targetElementIndex = lastKeyboardFocusDirection === 'previous' ? focusableElements.length - 1 : 0\n const targetElement = focusableElements[targetElementIndex] as HTMLElement | undefined\n targetElement?.focus()\n return\n } else {\n updateFocusedElement(event.target)\n }\n } else if (typeof focusInStrategy === 'function') {\n if (event.relatedTarget instanceof Element && !container.contains(event.relatedTarget)) {\n const elementToFocus = focusInStrategy(event.relatedTarget)\n const requestedFocusElementIndex = elementToFocus ? focusableElements.indexOf(elementToFocus) : -1\n if (requestedFocusElementIndex >= 0 && elementToFocus instanceof HTMLElement) {\n // Since we are calling focus() this handler will run again synchronously. Therefore,\n // we don't want to let this invocation finish since it will clobber the value of\n // currentFocusedElement.\n elementToFocus.focus()\n return\n } else {\n // eslint-disable-next-line no-console\n console.warn('Element requested is not a known focusable element.')\n }\n } else {\n updateFocusedElement(event.target)\n }\n }\n }\n }\n lastKeyboardFocusDirection = undefined\n },\n {signal}\n )\n }\n\n const keyboardEventRecipient = activeDescendantControl ?? container\n\n // If the strategy is \"closest\", we need to capture the direction that the user\n // is trying to move focus before our focusin handler is executed.\n let lastKeyboardFocusDirection: Direction | undefined = undefined\n if (focusInStrategy === 'closest') {\n document.addEventListener(\n 'keydown',\n event => {\n if (event.key === 'Tab') {\n lastKeyboardFocusDirection = getDirection(event)\n }\n },\n {signal, capture: true}\n )\n }\n\n function getCurrentFocusedIndex() {\n if (!currentFocusedElement) {\n return 0\n }\n\n const focusedIndex = focusableElements.indexOf(currentFocusedElement)\n const fallbackIndex = currentFocusedElement === container ? -1 : 0\n\n return focusedIndex !== -1 ? focusedIndex : fallbackIndex\n }\n\n // \"keydown\" is the event that triggers DOM focus change, so that is what we use here\n keyboardEventRecipient.addEventListener(\n 'keydown',\n event => {\n if (event.key in KEY_TO_DIRECTION) {\n const keyBit = KEY_TO_BIT[event.key as keyof typeof KEY_TO_BIT]\n // Check if the pressed key (keyBit) is one that is being used for focus (bindKeys)\n if (\n !event.defaultPrevented &&\n (keyBit & bindKeys) > 0 &&\n !shouldIgnoreFocusHandling(event, document.activeElement)\n ) {\n // Moving forward or backward?\n const direction = getDirection(event)\n\n let nextElementToFocus: HTMLElement | undefined = undefined\n\n // If there is a custom function that retrieves the next focusable element, try calling that first.\n if (settings?.getNextFocusable) {\n nextElementToFocus = settings.getNextFocusable(direction, document.activeElement ?? undefined, event)\n }\n if (!nextElementToFocus) {\n const lastFocusedIndex = getCurrentFocusedIndex()\n let nextFocusedIndex = lastFocusedIndex\n if (direction === 'previous') {\n nextFocusedIndex -= 1\n } else if (direction === 'start') {\n nextFocusedIndex = 0\n } else if (direction === 'next') {\n nextFocusedIndex += 1\n } else {\n // end\n nextFocusedIndex = focusableElements.length - 1\n }\n\n if (nextFocusedIndex < 0) {\n // Tab should never cause focus to wrap. Use focusTrap for that behavior.\n if (focusOutBehavior === 'wrap' && event.key !== 'Tab') {\n nextFocusedIndex = focusableElements.length - 1\n } else {\n nextFocusedIndex = 0\n }\n }\n if (nextFocusedIndex >= focusableElements.length) {\n if (focusOutBehavior === 'wrap' && event.key !== 'Tab') {\n nextFocusedIndex = 0\n } else {\n nextFocusedIndex = focusableElements.length - 1\n }\n }\n if (lastFocusedIndex !== nextFocusedIndex) {\n nextElementToFocus = focusableElements[nextFocusedIndex]\n }\n }\n\n if (activeDescendantControl) {\n updateFocusedElement(nextElementToFocus || currentFocusedElement, true)\n } else if (nextElementToFocus) {\n lastKeyboardFocusDirection = direction\n\n // updateFocusedElement will be called implicitly when focus moves, as long as the event isn't prevented somehow\n nextElementToFocus.focus()\n }\n // Tab should always allow escaping from this container, so only\n // preventDefault if tab key press already resulted in a focus movement\n if (event.key !== 'Tab' || nextElementToFocus) {\n event.preventDefault()\n }\n }\n }\n },\n {signal}\n )\n return controller\n}\n","import {css} from 'styled-components'\nimport {get} from '../constants'\n\nexport default css`\n position: relative;\n display: inline-block;\n padding: 6px 16px;\n font-family: inherit;\n font-weight: ${get('fontWeights.bold')};\n line-height: 20px;\n white-space: nowrap;\n vertical-align: middle;\n cursor: pointer;\n user-select: none;\n border-radius: ${get('radii.2')};\n appearance: none;\n text-decoration: none;\n text-align: center;\n\n &:hover {\n // needed to override link styles\n text-decoration: none;\n }\n\n &:focus {\n outline: none;\n }\n\n &:disabled {\n cursor: default;\n }\n\n &:disabled svg {\n opacity: 0.6;\n }\n`\n","import styled from 'styled-components'\nimport {compose, fontSize, FontSizeProps, variant} from 'styled-system'\nimport {COMMON, LAYOUT, SystemCommonProps, SystemLayoutProps} from '../constants'\nimport {ComponentProps} from '../utils/types'\nimport buttonBaseStyles from './ButtonStyles'\n\nexport const buttonSystemProps = compose(fontSize, COMMON, LAYOUT)\nexport type ButtonSystemProps = FontSizeProps & SystemCommonProps & SystemLayoutProps\n\nconst variants = variant({\n variants: {\n small: {\n p: '4px 12px',\n fontSize: 0\n },\n medium: {\n fontSize: 1\n },\n large: {\n fontSize: 2,\n p: '10px 20px'\n }\n }\n})\n\ntype StyledButtonBaseProps = {\n as?: 'button' | 'a' | 'summary' | 'input' | string | React.ReactType\n variant?: 'small' | 'medium' | 'large'\n} & FontSizeProps\n\nconst ButtonBase = styled.button.attrs<StyledButtonBaseProps>(({disabled, onClick}) => ({\n onClick: disabled ? undefined : onClick\n}))<StyledButtonBaseProps>`\n ${buttonBaseStyles}\n ${variants}\n`\n\nButtonBase.defaultProps = {\n variant: 'medium'\n}\n\nexport type ButtonBaseProps = ComponentProps<typeof ButtonBase>\nexport default ButtonBase\n","import styled from 'styled-components'\nimport {get} from '../constants'\nimport sx, {SxProp} from '../sx'\nimport {ComponentProps} from '../utils/types'\nimport ButtonBase, {ButtonBaseProps, ButtonSystemProps, buttonSystemProps} from './ButtonBase'\n\nconst Button = styled(ButtonBase)<ButtonBaseProps & ButtonSystemProps & SxProp>`\n color: ${get('colors.btn.text')};\n background-color: ${get('colors.btn.bg')};\n border: 1px solid ${get('colors.btn.border')};\n box-shadow: ${get('shadows.btn.shadow')}, ${get('shadows.btn.insetShadow')}};\n\n &:hover {\n background-color: ${get('colors.btn.hoverBg')};\n border-color: ${get('colors.btn.hoverBorder')};\n }\n\n // focus must come before :active so that the active box shadow overrides\n &:focus {\n border-color: ${get('colors.btn.focusBorder')};\n box-shadow: ${get('shadows.btn.focusShadow')};\n }\n\n &:active {\n background-color: ${get('colors.btn.selectedBg')};\n box-shadow: ${get('shadows.btn.shadowActive')};\n }\n\n &:disabled {\n color: ${get('colors.text.disabled')};\n background-color: ${get('colors.btn.bg')};\n border-color: ${get('colors.btn.border')};\n }\n\n ${buttonSystemProps};\n ${sx};\n`\n\nexport type ButtonProps = ComponentProps<typeof Button>\nexport default Button\n","import styled from 'styled-components'\nimport {get} from '../constants'\nimport sx, {SxProp} from '../sx'\nimport {ComponentProps} from '../utils/types'\nimport ButtonBase, {ButtonBaseProps, ButtonSystemProps, buttonSystemProps} from './ButtonBase'\n\nconst ButtonDanger = styled(ButtonBase)<ButtonBaseProps & ButtonSystemProps & SxProp>`\n color: ${get('colors.btn.danger.text')};\n border: 1px solid ${get('colors.btn.border')};\n background-color: ${get('colors.btn.bg')};\n box-shadow: ${get('shadows.btn.shadow')};\n\n &:hover {\n color: ${get('colors.btn.danger.hoverText')};\n background-color: ${get('colors.btn.danger.hoverBg')};\n border-color: ${get('colors.btn.danger.hoverBorder')};\n box-shadow: ${get('shadows.btn.danger.hoverShadow')};\n }\n // focus must come before :active so that the active box shadow overrides\n &:focus {\n border-color: ${get('colors.btn.danger.focusBorder')};\n box-shadow: ${get('shadows.btn.danger.focusShadow')};\n }\n\n &:active {\n color: ${get('colors.btn.danger.selectedText')};\n background-color: ${get('colors.btn.danger.selectedBg')};\n box-shadow: ${get('shadows.btn.danger.selectedShadow')};\n border-color: ${get('colors.btn.danger.selectedBorder')};\n }\n\n &:disabled {\n color: ${get('colors.btn.danger.disabledText')};\n background-color: ${get('colors.btn.danger.disabledBg')};\n border-color: ${get('colors.btn.danger.disabledBorder')};\n }\n\n ${buttonSystemProps};\n ${sx};\n`\n\nexport type ButtonDangerProps = ComponentProps<typeof ButtonDanger>\nexport default ButtonDanger\n","import styled from 'styled-components'\nimport Box from '../Box'\nimport {get} from '../constants'\nimport sx from '../sx'\nimport {ComponentProps} from '../utils/types'\n\nconst ButtonGroup = styled(Box)`\n vertical-align: middle;\n\n && > * {\n position: relative;\n border-right-width: 0;\n border-radius: 0;\n\n :first-child {\n border-top-left-radius: ${get('radii.2')};\n border-bottom-left-radius: ${get('radii.2')};\n margin-right: 0;\n }\n\n :not(:first-child) {\n margin-left: 0;\n margin-right: 0;\n }\n\n :last-child {\n border-right-width: 1px;\n border-top-right-radius: ${get('radii.2')};\n border-bottom-right-radius: ${get('radii.2')};\n }\n\n :focus,\n :active,\n :hover {\n border-right-width: 1px;\n + * {\n border-left-width: 0;\n }\n }\n\n :focus,\n :active {\n z-index: 1;\n }\n }\n\n ${sx};\n`\n\nButtonGroup.defaultProps = {\n display: 'inline-block'\n}\n\nexport type ButtonGroupProps = ComponentProps<typeof ButtonGroup>\nexport default ButtonGroup\n","import styled from 'styled-components'\nimport {get} from '../constants'\nimport sx, {SxProp} from '../sx'\nimport {ComponentProps} from '../utils/types'\nimport ButtonBase, {ButtonBaseProps, ButtonSystemProps, buttonSystemProps} from './ButtonBase'\n\nconst ButtonOutline = styled(ButtonBase)<ButtonBaseProps & ButtonSystemProps & SxProp>`\n color: ${get('colors.btn.outline.text')};\n border: 1px solid ${get('colors.btn.border')};\n background-color: ${get('colors.btn.bg')};\n box-shadow: ${get('shadows.btn.shadow')};\n\n &:hover {\n color: ${get('colors.btn.outline.hoverText')};\n background-color: ${get('colors.btn.outline.hoverBg')};\n border-color: ${get('colors.btn.outline.hoverBorder')};\n box-shadow: ${get('shadows.btn.outline.hoverShadow')};\n }\n // focus must come before :active so that the active box shadow overrides\n &:focus {\n border-color: ${get('colors.btn.outline.focusBorder')};\n box-shadow: ${get('shadows.btn.outline.focusShadow')};\n }\n\n &:active {\n color: ${get('colors.btn.outline.selectedText')};\n background-color: ${get('colors.btn.outline.selectedBg')};\n box-shadow: ${get('shadows.btn.outline.selectedShadow')};\n border-color: ${get('colors.btn.outline.selectedBorder')};\n }\n\n &:disabled {\n color: ${get('colors.btn.outline.disabledText')};\n background-color: ${get('colors.btn.outline.disabledBg')};\n border-color: ${get('colors.btn.border')};\n }\n\n ${buttonSystemProps};\n ${sx};\n`\n\nexport type ButtonOutlineProps = ComponentProps<typeof ButtonOutline>\nexport default ButtonOutline\n","import styled from 'styled-components'\nimport {get} from '../constants'\nimport sx, {SxProp} from '../sx'\nimport {ComponentProps} from '../utils/types'\nimport ButtonBase, {ButtonBaseProps, ButtonSystemProps, buttonSystemProps} from './ButtonBase'\n\nexport const ButtonPrimary = styled(ButtonBase)<ButtonBaseProps & ButtonSystemProps & SxProp>`\n color: ${get('colors.btn.primary.text')};\n border: 1px solid ${get('colors.btn.primary.border')};\n background-color: ${get('colors.btn.primary.bg')};\n box-shadow: ${get('shadows.btn.primary.shadow')};\n\n &:hover {\n color: ${get('colors.btn.primary.hoverText')};\n background-color: ${get('colors.btn.primary.hoverBg')};\n border-color: ${get('colors.btn.primary.hoverBorder')};\n box-shadow: ${get('shadows.btn.primary.hoverShadow')};\n }\n // focus must come before :active so that the active box shadow overrides\n &:focus {\n border-color: ${get('colors.btn.primary.focusBorder')};\n box-shadow: ${get('shadows.btn.primary.focusShadow')};\n }\n\n &:active {\n background-color: ${get('colors.btn.primary.selectedBg')};\n box-shadow: ${get('shadows.btn.primary.selectedShadow')};\n }\n\n &:disabled {\n color: ${get('colors.btn.primary.disabledText')};\n background-color: ${get('colors.btn.primary.disabledBg')};\n border-color: ${get('colors.btn.primary.disabledBorder')};\n }\n\n ${buttonSystemProps};\n ${sx};\n`\n\nexport type ButtonPrimaryProps = ComponentProps<typeof ButtonPrimary>\nexport default ButtonPrimary\n","import styled from 'styled-components'\nimport {get} from '../constants'\nimport sx, {SxProp} from '../sx'\nimport {ComponentProps} from '../utils/types'\nimport ButtonBase, {ButtonBaseProps, ButtonSystemProps, buttonSystemProps} from './ButtonBase'\n\nconst ButtonInvisible = styled(ButtonBase)<ButtonBaseProps & ButtonSystemProps & SxProp>`\n color: ${get('colors.text.link')};\n background-color: transparent;\n border: 0;\n border-radius: ${get('radii.2')};\n box-shadow: none;\n\n &:disabled {\n color: ${get('colors.text.disabled')};\n }\n\n &:focus {\n box-shadow: ${get('shadows.btn.focusShadow')};\n }\n\n ${buttonSystemProps};\n ${sx}\n`\n\nexport type ButtonInvisibleProps = ComponentProps<typeof ButtonInvisible>\nexport default ButtonInvisible\n","import styled from 'styled-components'\nimport {\n COMMON,\n get,\n LAYOUT,\n SystemCommonProps,\n SystemLayoutProps,\n SystemTypographyProps,\n TYPOGRAPHY\n} from '../constants'\nimport sx, {SxProp} from '../sx'\nimport {ComponentProps} from '../utils/types'\n\ntype StyledButtonTableListProps = SystemCommonProps & SystemTypographyProps & SystemLayoutProps & SxProp\n\nconst ButtonTableList = styled.summary<StyledButtonTableListProps>`\n display: inline-block;\n padding: 0;\n font-size: ${get('fontSizes.1')};\n color: ${get('colors.text.secondary')};\n text-decoration: none;\n white-space: nowrap;\n cursor: pointer;\n user-select: none;\n background-color: transparent;\n border: 0;\n appearance: none; // Corrects inability to style clickable input types in iOS.\n\n &:hover {\n text-decoration: underline;\n }\n\n &:disabled {\n &,\n &:hover {\n color: rgba(${get('colors.text.secondary')}, 0.5);\n cursor: default;\n }\n }\n\n &:after {\n display: inline-block;\n margin-left: ${get('space.1')};\n width: 0;\n height: 0;\n vertical-align: -2px;\n content: '';\n border: 4px solid transparent;\n border-top-color: currentcolor;\n }\n ${COMMON}\n ${TYPOGRAPHY}\n ${LAYOUT}\n ${sx};\n`\n\nexport type ButtonTableListProps = ComponentProps<typeof ButtonTableList>\nexport default ButtonTableList\n","import React from 'react';\n\nvar sizeMap = {\n small: 16,\n medium: 32,\n large: 64\n};\n\nfunction getSvgProps(_ref) {\n var ariaLabel = _ref['aria-label'],\n className = _ref.className,\n _ref$fill = _ref.fill,\n fill = _ref$fill === undefined ? 'currentColor' : _ref$fill,\n size = _ref.size,\n verticalAlign = _ref.verticalAlign,\n svgDataByHeight = _ref.svgDataByHeight;\n\n var height = sizeMap[size] || size;\n var naturalHeight = closestNaturalHeight(Object.keys(svgDataByHeight), height);\n var naturalWidth = svgDataByHeight[naturalHeight].width;\n var width = height * (naturalWidth / naturalHeight);\n var path = svgDataByHeight[naturalHeight].path;\n\n return {\n 'aria-hidden': ariaLabel ? 'false' : 'true',\n 'aria-label': ariaLabel,\n role: 'img',\n className: className,\n viewBox: '0 0 ' + naturalWidth + ' ' + naturalHeight,\n width: width,\n height: height,\n fill: fill,\n style: {\n display: 'inline-block',\n userSelect: 'none',\n verticalAlign: verticalAlign\n },\n dangerouslySetInnerHTML: { __html: path }\n };\n}\n\nfunction closestNaturalHeight(naturalHeights, height) {\n return naturalHeights.map(function (naturalHeight) {\n return parseInt(naturalHeight, 10);\n }).reduce(function (acc, naturalHeight) {\n return naturalHeight <= height ? naturalHeight : acc;\n }, naturalHeights[0]);\n}\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nfunction AlertIcon(props) {\n var svgDataByHeight = { \"16\": { \"width\": 16, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M8.22 1.754a.25.25 0 00-.44 0L1.698 13.132a.25.25 0 00.22.368h12.164a.25.25 0 00.22-.368L8.22 1.754zm-1.763-.707c.659-1.234 2.427-1.234 3.086 0l6.082 11.378A1.75 1.75 0 0114.082 15H1.918a1.75 1.75 0 01-1.543-2.575L6.457 1.047zM9 11a1 1 0 11-2 0 1 1 0 012 0zm-.25-5.25a.75.75 0 00-1.5 0v2.5a.75.75 0 001.5 0v-2.5z\\\"></path>\" }, \"24\": { \"width\": 24, \"path\": \"<path d=\\\"M13 17.5a1 1 0 11-2 0 1 1 0 012 0zm-.25-8.25a.75.75 0 00-1.5 0v4.5a.75.75 0 001.5 0v-4.5z\\\"></path><path fill-rule=\\\"evenodd\\\" d=\\\"M9.836 3.244c.963-1.665 3.365-1.665 4.328 0l8.967 15.504c.963 1.667-.24 3.752-2.165 3.752H3.034c-1.926 0-3.128-2.085-2.165-3.752L9.836 3.244zm3.03.751a1 1 0 00-1.732 0L2.168 19.499A1 1 0 003.034 21h17.932a1 1 0 00.866-1.5L12.866 3.994z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nAlertIcon.defaultProps = {\n className: 'octicon octicon-alert',\n size: 16,\n verticalAlign: 'text-bottom'\n};\n\nfunction ArchiveIcon(props) {\n var svgDataByHeight = { \"16\": { \"width\": 16, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M1.75 2.5a.25.25 0 00-.25.25v1.5c0 .138.112.25.25.25h12.5a.25.25 0 00.25-.25v-1.5a.25.25 0 00-.25-.25H1.75zM0 2.75C0 1.784.784 1 1.75 1h12.5c.966 0 1.75.784 1.75 1.75v1.5A1.75 1.75 0 0114.25 6H1.75A1.75 1.75 0 010 4.25v-1.5zM1.75 7a.75.75 0 01.75.75v5.5c0 .138.112.25.25.25h10.5a.25.25 0 00.25-.25v-5.5a.75.75 0 111.5 0v5.5A1.75 1.75 0 0113.25 15H2.75A1.75 1.75 0 011 13.25v-5.5A.75.75 0 011.75 7zm4.5 1a.75.75 0 000 1.5h3.5a.75.75 0 100-1.5h-3.5z\\\"></path>\" }, \"24\": { \"width\": 24, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M2.75 2A1.75 1.75 0 001 3.75v3.5C1 8.216 1.784 9 2.75 9h18.5A1.75 1.75 0 0023 7.25v-3.5A1.75 1.75 0 0021.25 2H2.75zm18.5 1.5H2.75a.25.25 0 00-.25.25v3.5c0 .138.112.25.25.25h18.5a.25.25 0 00.25-.25v-3.5a.25.25 0 00-.25-.25z\\\"></path><path d=\\\"M2.75 10a.75.75 0 01.75.75v9.5c0 .138.112.25.25.25h16.5a.25.25 0 00.25-.25v-9.5a.75.75 0 011.5 0v9.5A1.75 1.75 0 0120.25 22H3.75A1.75 1.75 0 012 20.25v-9.5a.75.75 0 01.75-.75z\\\"></path><path d=\\\"M9.75 11.5a.75.75 0 000 1.5h4.5a.75.75 0 000-1.5h-4.5z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nArchiveIcon.defaultProps = {\n className: 'octicon octicon-archive',\n size: 16,\n verticalAlign: 'text-bottom'\n};\n\nfunction ArrowBothIcon(props) {\n var svgDataByHeight = { \"16\": { \"width\": 16, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M3.72 3.72a.75.75 0 011.06 1.06L2.56 7h10.88l-2.22-2.22a.75.75 0 011.06-1.06l3.5 3.5a.75.75 0 010 1.06l-3.5 3.5a.75.75 0 11-1.06-1.06l2.22-2.22H2.56l2.22 2.22a.75.75 0 11-1.06 1.06l-3.5-3.5a.75.75 0 010-1.06l3.5-3.5z\\\"></path>\" }, \"24\": { \"width\": 24, \"path\": \"<path d=\\\"M7.78 5.97a.75.75 0 00-1.06 0l-5.25 5.25a.75.75 0 000 1.06l5.25 5.25a.75.75 0 001.06-1.06L3.81 12.5h16.38l-3.97 3.97a.75.75 0 101.06 1.06l5.25-5.25a.75.75 0 000-1.06l-5.25-5.25a.75.75 0 10-1.06 1.06L20.19 11H3.81l3.97-3.97a.75.75 0 000-1.06z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nArrowBothIcon.defaultProps = {\n className: 'octicon octicon-arrow-both',\n size: 16,\n verticalAlign: 'text-bottom'\n};\n\nfunction ArrowDownIcon(props) {\n var svgDataByHeight = { \"16\": { \"width\": 16, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M13.03 8.22a.75.75 0 010 1.06l-4.25 4.25a.75.75 0 01-1.06 0L3.47 9.28a.75.75 0 011.06-1.06l2.97 2.97V3.75a.75.75 0 011.5 0v7.44l2.97-2.97a.75.75 0 011.06 0z\\\"></path>\" }, \"24\": { \"width\": 24, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M4.97 13.22a.75.75 0 000 1.06l6.25 6.25a.75.75 0 001.06 0l6.25-6.25a.75.75 0 10-1.06-1.06l-4.97 4.97V3.75a.75.75 0 00-1.5 0v14.44l-4.97-4.97a.75.75 0 00-1.06 0z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nArrowDownIcon.defaultProps = {\n className: 'octicon octicon-arrow-down',\n size: 16,\n verticalAlign: 'text-bottom'\n};\n\nfunction ArrowDownLeftIcon(props) {\n var svgDataByHeight = { \"24\": { \"width\": 24, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M5.75 8.5a.75.75 0 00-.75.75v9c0 .414.336.75.75.75h9a.75.75 0 000-1.5H7.56L17.78 7.28a.75.75 0 00-1.06-1.06L6.5 16.44V9.25a.75.75 0 00-.75-.75z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nArrowDownLeftIcon.defaultProps = {\n className: 'octicon octicon-arrow-down-left',\n size: 16,\n verticalAlign: 'text-bottom'\n};\n\nfunction ArrowDownRightIcon(props) {\n var svgDataByHeight = { \"24\": { \"width\": 24, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M18.25 8.5a.75.75 0 01.75.75v9a.75.75 0 01-.75.75h-9a.75.75 0 010-1.5h7.19L6.22 7.28a.75.75 0 011.06-1.06L17.5 16.44V9.25a.75.75 0 01.75-.75z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nArrowDownRightIcon.defaultProps = {\n className: 'octicon octicon-arrow-down-right',\n size: 16,\n verticalAlign: 'text-bottom'\n};\n\nfunction ArrowLeftIcon(props) {\n var svgDataByHeight = { \"16\": { \"width\": 16, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M7.78 12.53a.75.75 0 01-1.06 0L2.47 8.28a.75.75 0 010-1.06l4.25-4.25a.75.75 0 011.06 1.06L4.81 7h7.44a.75.75 0 010 1.5H4.81l2.97 2.97a.75.75 0 010 1.06z\\\"></path>\" }, \"24\": { \"width\": 24, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M10.78 19.03a.75.75 0 01-1.06 0l-6.25-6.25a.75.75 0 010-1.06l6.25-6.25a.75.75 0 111.06 1.06L5.81 11.5h14.44a.75.75 0 010 1.5H5.81l4.97 4.97a.75.75 0 010 1.06z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nArrowLeftIcon.defaultProps = {\n className: 'octicon octicon-arrow-left',\n size: 16,\n verticalAlign: 'text-bottom'\n};\n\nfunction ArrowRightIcon(props) {\n var svgDataByHeight = { \"16\": { \"width\": 16, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M8.22 2.97a.75.75 0 011.06 0l4.25 4.25a.75.75 0 010 1.06l-4.25 4.25a.75.75 0 01-1.06-1.06l2.97-2.97H3.75a.75.75 0 010-1.5h7.44L8.22 4.03a.75.75 0 010-1.06z\\\"></path>\" }, \"24\": { \"width\": 24, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M13.22 19.03a.75.75 0 001.06 0l6.25-6.25a.75.75 0 000-1.06l-6.25-6.25a.75.75 0 10-1.06 1.06l4.97 4.97H3.75a.75.75 0 000 1.5h14.44l-4.97 4.97a.75.75 0 000 1.06z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nArrowRightIcon.defaultProps = {\n className: 'octicon octicon-arrow-right',\n size: 16,\n verticalAlign: 'text-bottom'\n};\n\nfunction ArrowSwitchIcon(props) {\n var svgDataByHeight = { \"16\": { \"width\": 16, \"path\": \"<path d=\\\"M5.22 14.78a.75.75 0 001.06-1.06L4.56 12h8.69a.75.75 0 000-1.5H4.56l1.72-1.72a.75.75 0 00-1.06-1.06l-3 3a.75.75 0 000 1.06l3 3zm5.56-6.5a.75.75 0 11-1.06-1.06l1.72-1.72H2.75a.75.75 0 010-1.5h8.69L9.72 2.28a.75.75 0 011.06-1.06l3 3a.75.75 0 010 1.06l-3 3z\\\"></path>\" }, \"24\": { \"width\": 24, \"path\": \"<path d=\\\"M7.72 21.78a.75.75 0 001.06-1.06L5.56 17.5h14.69a.75.75 0 000-1.5H5.56l3.22-3.22a.75.75 0 10-1.06-1.06l-4.5 4.5a.75.75 0 000 1.06l4.5 4.5zm8.56-9.5a.75.75 0 11-1.06-1.06L18.44 8H3.75a.75.75 0 010-1.5h14.69l-3.22-3.22a.75.75 0 011.06-1.06l4.5 4.5a.75.75 0 010 1.06l-4.5 4.5z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nArrowSwitchIcon.defaultProps = {\n className: 'octicon octicon-arrow-switch',\n size: 16,\n verticalAlign: 'text-bottom'\n};\n\nfunction ArrowUpIcon(props) {\n var svgDataByHeight = { \"16\": { \"width\": 16, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M3.47 7.78a.75.75 0 010-1.06l4.25-4.25a.75.75 0 011.06 0l4.25 4.25a.75.75 0 01-1.06 1.06L9 4.81v7.44a.75.75 0 01-1.5 0V4.81L4.53 7.78a.75.75 0 01-1.06 0z\\\"></path>\" }, \"24\": { \"width\": 24, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M6.47 10.78a.75.75 0 010-1.06l5.25-5.25a.75.75 0 011.06 0l5.25 5.25a.75.75 0 11-1.06 1.06L13 6.81v12.44a.75.75 0 01-1.5 0V6.81l-3.97 3.97a.75.75 0 01-1.06 0z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nArrowUpIcon.defaultProps = {\n className: 'octicon octicon-arrow-up',\n size: 16,\n verticalAlign: 'text-bottom'\n};\n\nfunction ArrowUpLeftIcon(props) {\n var svgDataByHeight = { \"24\": { \"width\": 24, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M5.75 15.5a.75.75 0 01-.75-.75v-9A.75.75 0 015.75 5h9a.75.75 0 010 1.5H7.56l10.22 10.22a.75.75 0 11-1.06 1.06L6.5 7.56v7.19a.75.75 0 01-.75.75z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nArrowUpLeftIcon.defaultProps = {\n className: 'octicon octicon-arrow-up-left',\n size: 16,\n verticalAlign: 'text-bottom'\n};\n\nfunction ArrowUpRightIcon(props) {\n var svgDataByHeight = { \"24\": { \"width\": 24, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M18.25 15.5a.75.75 0 00.75-.75v-9a.75.75 0 00-.75-.75h-9a.75.75 0 000 1.5h7.19L6.22 16.72a.75.75 0 101.06 1.06L17.5 7.56v7.19c0 .414.336.75.75.75z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nArrowUpRightIcon.defaultProps = {\n className: 'octicon octicon-arrow-up-right',\n size: 16,\n verticalAlign: 'text-bottom'\n};\n\nfunction BeakerIcon(props) {\n var svgDataByHeight = { \"16\": { \"width\": 16, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M5 5.782V2.5h-.25a.75.75 0 010-1.5h6.5a.75.75 0 010 1.5H11v3.282l3.666 5.76C15.619 13.04 14.543 15 12.767 15H3.233c-1.776 0-2.852-1.96-1.899-3.458L5 5.782zM9.5 2.5h-3V6a.75.75 0 01-.117.403L4.73 9h6.54L9.617 6.403A.75.75 0 019.5 6V2.5zm-6.9 9.847L3.775 10.5h8.45l1.175 1.847a.75.75 0 01-.633 1.153H3.233a.75.75 0 01-.633-1.153z\\\"></path>\" }, \"24\": { \"width\": 24, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M8 8.807V3.5h-.563a.75.75 0 010-1.5h9.125a.75.75 0 010 1.5H16v5.307l5.125 9.301c.964 1.75-.302 3.892-2.299 3.892H5.174c-1.998 0-3.263-2.142-2.3-3.892L8 8.807zM14.5 3.5h-5V9a.75.75 0 01-.093.362L7.127 13.5h9.746l-2.28-4.138A.75.75 0 0114.5 9V3.5zM4.189 18.832L6.3 15h11.4l2.111 3.832a1.125 1.125 0 01-.985 1.668H5.174a1.125 1.125 0 01-.985-1.668z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nBeakerIcon.defaultProps = {\n className: 'octicon octicon-beaker',\n size: 16,\n verticalAlign: 'text-bottom'\n};\n\nfunction BellIcon(props) {\n var svgDataByHeight = { \"16\": { \"width\": 16, \"path\": \"<path d=\\\"M8 16a2 2 0 001.985-1.75c.017-.137-.097-.25-.235-.25h-3.5c-.138 0-.252.113-.235.25A2 2 0 008 16z\\\"></path><path fill-rule=\\\"evenodd\\\" d=\\\"M8 1.5A3.5 3.5 0 004.5 5v2.947c0 .346-.102.683-.294.97l-1.703 2.556a.018.018 0 00-.003.01l.001.006c0 .002.002.004.004.006a.017.017 0 00.006.004l.007.001h10.964l.007-.001a.016.016 0 00.006-.004.016.016 0 00.004-.006l.001-.007a.017.017 0 00-.003-.01l-1.703-2.554a1.75 1.75 0 01-.294-.97V5A3.5 3.5 0 008 1.5zM3 5a5 5 0 0110 0v2.947c0 .05.015.098.042.139l1.703 2.555A1.518 1.518 0 0113.482 13H2.518a1.518 1.518 0 01-1.263-2.36l1.703-2.554A.25.25 0 003 7.947V5z\\\"></path>\" }, \"24\": { \"width\": 24, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M12 1C8.318 1 5 3.565 5 7v4.539a3.25 3.25 0 01-.546 1.803l-2.2 3.299A1.518 1.518 0 003.519 19H8.5a3.5 3.5 0 107 0h4.982a1.518 1.518 0 001.263-2.36l-2.2-3.298A3.25 3.25 0 0119 11.539V7c0-3.435-3.319-6-7-6zM6.5 7c0-2.364 2.383-4.5 5.5-4.5s5.5 2.136 5.5 4.5v4.539c0 .938.278 1.854.798 2.635l2.199 3.299a.017.017 0 01.003.01l-.001.006-.004.006-.006.004-.007.001H3.518l-.007-.001-.006-.004-.004-.006-.001-.007.003-.01 2.2-3.298a4.75 4.75 0 00.797-2.635V7zM14 19h-4a2 2 0 104 0z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nBellIcon.defaultProps = {\n className: 'octicon octicon-bell',\n size: 16,\n verticalAlign: 'text-bottom'\n};\n\nfunction BellFillIcon(props) {\n var svgDataByHeight = { \"24\": { \"width\": 24, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M6 8a6 6 0 1112 0v2.917c0 .703.228 1.387.65 1.95L20.7 15.6a1.5 1.5 0 01-1.2 2.4h-15a1.5 1.5 0 01-1.2-2.4l2.05-2.733a3.25 3.25 0 00.65-1.95V8zm6 13.5A3.502 3.502 0 018.645 19h6.71A3.502 3.502 0 0112 21.5z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nBellFillIcon.defaultProps = {\n className: 'octicon octicon-bell-fill',\n size: 16,\n verticalAlign: 'text-bottom'\n};\n\nfunction BellSlashIcon(props) {\n var svgDataByHeight = { \"16\": { \"width\": 16, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M8 1.5c-.997 0-1.895.416-2.534 1.086A.75.75 0 014.38 1.55 5 5 0 0113 5v2.373a.75.75 0 01-1.5 0V5A3.5 3.5 0 008 1.5zM4.182 4.31L1.19 2.143a.75.75 0 10-.88 1.214L3 5.305v2.642a.25.25 0 01-.042.139L1.255 10.64A1.518 1.518 0 002.518 13h11.108l1.184.857a.75.75 0 10.88-1.214l-1.375-.996a1.196 1.196 0 00-.013-.01L4.198 4.321a.733.733 0 00-.016-.011zm7.373 7.19L4.5 6.391v1.556c0 .346-.102.683-.294.97l-1.703 2.556a.018.018 0 00-.003.01.015.015 0 00.005.012.017.017 0 00.006.004l.007.001h9.037zM8 16a2 2 0 001.985-1.75c.017-.137-.097-.25-.235-.25h-3.5c-.138 0-.252.113-.235.25A2 2 0 008 16z\\\"></path>\" }, \"24\": { \"width\": 24, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M1.22 1.22a.75.75 0 011.06 0l20.5 20.5a.75.75 0 11-1.06 1.06L17.94 19H15.5a3.5 3.5 0 11-7 0H3.518a1.518 1.518 0 01-1.263-2.36l2.2-3.298A3.25 3.25 0 005 11.539V7c0-.294.025-.583.073-.866L1.22 2.28a.75.75 0 010-1.06zM10 19a2 2 0 104 0h-4zM6.5 7.56l9.94 9.94H3.517l-.007-.001-.006-.004-.004-.006-.001-.007.003-.01 2.2-3.298a4.75 4.75 0 00.797-2.635V7.56z\\\"></path><path d=\\\"M12 2.5c-1.463 0-2.8.485-3.788 1.257l-.04.032a.75.75 0 11-.935-1.173l.05-.04C8.548 1.59 10.212 1 12 1c3.681 0 7 2.565 7 6v4.539c0 .642.19 1.269.546 1.803l1.328 1.992a.75.75 0 11-1.248.832l-1.328-1.992a4.75 4.75 0 01-.798-2.635V7c0-2.364-2.383-4.5-5.5-4.5z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nBellSlashIcon.defaultProps = {\n className: 'octicon octicon-bell-slash',\n size: 16,\n verticalAlign: 'text-bottom'\n};\n\nfunction BlockedIcon(props) {\n var svgDataByHeight = { \"16\": { \"width\": 16, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M4.467.22a.75.75 0 01.53-.22h6.006a.75.75 0 01.53.22l4.247 4.247c.141.14.22.331.22.53v6.006a.75.75 0 01-.22.53l-4.247 4.247a.75.75 0 01-.53.22H4.997a.75.75 0 01-.53-.22L.22 11.533a.75.75 0 01-.22-.53V4.997a.75.75 0 01.22-.53L4.467.22zm.84 1.28L1.5 5.308v5.384L5.308 14.5h5.384l3.808-3.808V5.308L10.692 1.5H5.308zM4 7.75A.75.75 0 014.75 7h6.5a.75.75 0 010 1.5h-6.5A.75.75 0 014 7.75z\\\"></path>\" }, \"24\": { \"width\": 24, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M7.638 2.22a.75.75 0 01.53-.22h7.664a.75.75 0 01.53.22l5.418 5.418c.141.14.22.332.22.53v7.664a.75.75 0 01-.22.53l-5.418 5.418a.75.75 0 01-.53.22H8.168a.75.75 0 01-.53-.22l-5.42-5.418a.75.75 0 01-.219-.53V8.168a.75.75 0 01.22-.53l5.418-5.42zM8.48 3.5L3.5 8.48v7.04l4.98 4.98h7.04l4.98-4.98V8.48L15.52 3.5H8.48zM7 11.75a.75.75 0 01.75-.75h8.5a.75.75 0 010 1.5h-8.5a.75.75 0 01-.75-.75z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nBlockedIcon.defaultProps = {\n className: 'octicon octicon-blocked',\n size: 16,\n verticalAlign: 'text-bottom'\n};\n\nfunction BoldIcon(props) {\n var svgDataByHeight = { \"16\": { \"width\": 16, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M4 2a1 1 0 00-1 1v10a1 1 0 001 1h5.5a3.5 3.5 0 001.852-6.47A3.5 3.5 0 008.5 2H4zm4.5 5a1.5 1.5 0 100-3H5v3h3.5zM5 9v3h4.5a1.5 1.5 0 000-3H5z\\\"></path>\" }, \"24\": { \"width\": 24, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M6 4.75c0-.69.56-1.25 1.25-1.25h5a4.75 4.75 0 013.888 7.479A5 5 0 0114 20.5H7.25c-.69 0-1.25-.56-1.25-1.25V4.75zM8.5 13v5H14a2.5 2.5 0 000-5H8.5zm0-2.5h3.751A2.25 2.25 0 0012.25 6H8.5v4.5z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nBoldIcon.defaultProps = {\n className: 'octicon octicon-bold',\n size: 16,\n verticalAlign: 'text-bottom'\n};\n\nfunction BookIcon(props) {\n var svgDataByHeight = { \"16\": { \"width\": 16, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M0 1.75A.75.75 0 01.75 1h4.253c1.227 0 2.317.59 3 1.501A3.744 3.744 0 0111.006 1h4.245a.75.75 0 01.75.75v10.5a.75.75 0 01-.75.75h-4.507a2.25 2.25 0 00-1.591.659l-.622.621a.75.75 0 01-1.06 0l-.622-.621A2.25 2.25 0 005.258 13H.75a.75.75 0 01-.75-.75V1.75zm8.755 3a2.25 2.25 0 012.25-2.25H14.5v9h-3.757c-.71 0-1.4.201-1.992.572l.004-7.322zm-1.504 7.324l.004-5.073-.002-2.253A2.25 2.25 0 005.003 2.5H1.5v9h3.757a3.75 3.75 0 011.994.574z\\\"></path>\" }, \"24\": { \"width\": 24, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M0 3.75A.75.75 0 01.75 3h7.497c1.566 0 2.945.8 3.751 2.014A4.496 4.496 0 0115.75 3h7.5a.75.75 0 01.75.75v15.063a.75.75 0 01-.755.75l-7.682-.052a3 3 0 00-2.142.878l-.89.891a.75.75 0 01-1.061 0l-.902-.901a3 3 0 00-2.121-.879H.75a.75.75 0 01-.75-.75v-15zm11.247 3.747a3 3 0 00-3-2.997H1.5V18h6.947a4.5 4.5 0 012.803.98l-.003-11.483zm1.503 11.485V7.5a3 3 0 013-3h6.75v13.558l-6.927-.047a4.5 4.5 0 00-2.823.971z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nBookIcon.defaultProps = {\n className: 'octicon octicon-book',\n size: 16,\n verticalAlign: 'text-bottom'\n};\n\nfunction BookmarkIcon(props) {\n var svgDataByHeight = { \"16\": { \"width\": 16, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M4.75 2.5a.25.25 0 00-.25.25v9.91l3.023-2.489a.75.75 0 01.954 0l3.023 2.49V2.75a.25.25 0 00-.25-.25h-6.5zM3 2.75C3 1.784 3.784 1 4.75 1h6.5c.966 0 1.75.784 1.75 1.75v11.5a.75.75 0 01-1.227.579L8 11.722l-3.773 3.107A.75.75 0 013 14.25V2.75z\\\"></path>\" }, \"24\": { \"width\": 24, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M5 3.75C5 2.784 5.784 2 6.75 2h10.5c.966 0 1.75.784 1.75 1.75v17.5a.75.75 0 01-1.218.586L12 17.21l-5.781 4.625A.75.75 0 015 21.25V3.75zm1.75-.25a.25.25 0 00-.25.25v15.94l5.031-4.026a.75.75 0 01.938 0L17.5 19.69V3.75a.25.25 0 00-.25-.25H6.75z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nBookmarkIcon.defaultProps = {\n className: 'octicon octicon-bookmark',\n size: 16,\n verticalAlign: 'text-bottom'\n};\n\nfunction BookmarkFillIcon(props) {\n var svgDataByHeight = { \"24\": { \"width\": 24, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M6.69 2a1.75 1.75 0 00-1.75 1.756L5 21.253a.75.75 0 001.219.583L12 17.21l5.782 4.625A.75.75 0 0019 21.25V3.75A1.75 1.75 0 0017.25 2H6.69z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nBookmarkFillIcon.defaultProps = {\n className: 'octicon octicon-bookmark-fill',\n size: 16,\n verticalAlign: 'text-bottom'\n};\n\nfunction BookmarkSlashIcon(props) {\n var svgDataByHeight = { \"16\": { \"width\": 16, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M1.19 1.143a.75.75 0 10-.88 1.214L3 4.305v9.945a.75.75 0 001.206.596L8 11.944l3.794 2.902A.75.75 0 0013 14.25v-2.703l1.81 1.31a.75.75 0 10.88-1.214l-2.994-2.168a1.09 1.09 0 00-.014-.01L4.196 3.32a.712.712 0 00-.014-.01L1.19 1.143zM4.5 5.39v7.341l3.044-2.328a.75.75 0 01.912 0l3.044 2.328V10.46l-7-5.07zM5.865 1a.75.75 0 000 1.5h5.385a.25.25 0 01.25.25v3.624a.75.75 0 001.5 0V2.75A1.75 1.75 0 0011.25 1H5.865z\\\"></path>\" }, \"24\": { \"width\": 24, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M1.565 2.018a.75.75 0 00-.88 1.214L5 6.357v14.902a.75.75 0 001.219.585L12 17.21l5.781 4.633A.75.75 0 0019 21.259v-4.764l3.435 2.487a.75.75 0 10.88-1.215L1.565 2.017zM17.5 15.408l-11-7.965v12.254l5.031-4.032a.75.75 0 01.938 0l5.031 4.032v-4.288z\\\"></path><path d=\\\"M7.25 2a.75.75 0 000 1.5h10a.25.25 0 01.25.25v6.5a.75.75 0 001.5 0v-6.5A1.75 1.75 0 0017.25 2h-10z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nBookmarkSlashIcon.defaultProps = {\n className: 'octicon octicon-bookmark-slash',\n size: 16,\n verticalAlign: 'text-bottom'\n};\n\nfunction BookmarkSlashFillIcon(props) {\n var svgDataByHeight = { \"24\": { \"width\": 24, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M3.232 2.175a.75.75 0 10-.964 1.15l2.679 2.244L5 21.253a.75.75 0 001.219.583L12 17.21l5.782 4.625A.75.75 0 0019 21.25v-3.907l1.768 1.482a.75.75 0 10.964-1.15l-18.5-15.5zM7.422 2a.75.75 0 00-.482 1.325l10.828 9.073A.75.75 0 0019 11.823V3.75A1.75 1.75 0 0017.25 2H7.421h.001z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nBookmarkSlashFillIcon.defaultProps = {\n className: 'octicon octicon-bookmark-slash-fill',\n size: 16,\n verticalAlign: 'text-bottom'\n};\n\nfunction BriefcaseIcon(props) {\n var svgDataByHeight = { \"16\": { \"width\": 16, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M6.75 0A1.75 1.75 0 005 1.75V3H1.75A1.75 1.75 0 000 4.75v8.5C0 14.216.784 15 1.75 15h12.5A1.75 1.75 0 0016 13.25v-8.5A1.75 1.75 0 0014.25 3H11V1.75A1.75 1.75 0 009.25 0h-2.5zM9.5 3V1.75a.25.25 0 00-.25-.25h-2.5a.25.25 0 00-.25.25V3h3zM5 4.5H1.75a.25.25 0 00-.25.25V6a2 2 0 002 2h9a2 2 0 002-2V4.75a.25.25 0 00-.25-.25H5zm-1.5 5a3.484 3.484 0 01-2-.627v4.377c0 .138.112.25.25.25h12.5a.25.25 0 00.25-.25V8.873a3.484 3.484 0 01-2 .627h-9z\\\"></path>\" }, \"24\": { \"width\": 24, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M7.5 1.75C7.5.784 8.284 0 9.25 0h5.5c.966 0 1.75.784 1.75 1.75V4h4.75c.966 0 1.75.784 1.75 1.75v14.5A1.75 1.75 0 0121.25 22H2.75A1.75 1.75 0 011 20.25V5.75C1 4.784 1.784 4 2.75 4H7.5V1.75zm-5 10.24v8.26c0 .138.112.25.25.25h18.5a.25.25 0 00.25-.25v-8.26A4.233 4.233 0 0118.75 13H5.25a4.233 4.233 0 01-2.75-1.01zm19-3.24a2.75 2.75 0 01-2.75 2.75H5.25A2.75 2.75 0 012.5 8.75v-3a.25.25 0 01.25-.25h18.5a.25.25 0 01.25.25v3zm-6.5-7V4H9V1.75a.25.25 0 01.25-.25h5.5a.25.25 0 01.25.25z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nBriefcaseIcon.defaultProps = {\n className: 'octicon octicon-briefcase',\n size: 16,\n verticalAlign: 'text-bottom'\n};\n\nfunction BroadcastIcon(props) {\n var svgDataByHeight = { \"16\": { \"width\": 16, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M3.267 1.457c.3.286.312.76.026 1.06A6.475 6.475 0 001.5 7a6.472 6.472 0 001.793 4.483.75.75 0 01-1.086 1.034 8.89 8.89 0 01-.276-.304l.569-.49-.569.49A7.971 7.971 0 010 7c0-2.139.84-4.083 2.207-5.517a.75.75 0 011.06-.026zm9.466 0a.75.75 0 011.06.026A7.975 7.975 0 0116 7c0 2.139-.84 4.083-2.207 5.517a.75.75 0 11-1.086-1.034A6.475 6.475 0 0014.5 7a6.475 6.475 0 00-1.793-4.483.75.75 0 01.026-1.06zM8.75 8.582a1.75 1.75 0 10-1.5 0v5.668a.75.75 0 001.5 0V8.582zM5.331 4.736a.75.75 0 10-1.143-.972A4.983 4.983 0 003 7c0 1.227.443 2.352 1.177 3.222a.75.75 0 001.146-.967A3.483 3.483 0 014.5 7c0-.864.312-1.654.831-2.264zm6.492-.958a.75.75 0 00-1.146.967c.514.61.823 1.395.823 2.255 0 .86-.31 1.646-.823 2.255a.75.75 0 101.146.967A4.983 4.983 0 0013 7a4.983 4.983 0 00-1.177-3.222z\\\"></path>\" }, \"24\": { \"width\": 24, \"path\": \"<path d=\\\"M20.485 2.515a.75.75 0 00-1.06 1.06A10.465 10.465 0 0122.5 11c0 2.9-1.174 5.523-3.075 7.424a.75.75 0 001.06 1.061A11.965 11.965 0 0024 11c0-3.314-1.344-6.315-3.515-8.485zm-15.91 1.06a.75.75 0 00-1.06-1.06A11.965 11.965 0 000 11c0 3.313 1.344 6.314 3.515 8.485a.75.75 0 001.06-1.06A10.465 10.465 0 011.5 11c0-2.9 1.174-5.524 3.075-7.425zM8.11 7.11a.75.75 0 00-1.06-1.06A6.98 6.98 0 005 11a6.98 6.98 0 002.05 4.95.75.75 0 001.06-1.061 5.48 5.48 0 01-1.61-3.89 5.48 5.48 0 011.61-3.888zm8.84-1.06a.75.75 0 10-1.06 1.06A5.48 5.48 0 0117.5 11a5.48 5.48 0 01-1.61 3.889.75.75 0 101.06 1.06A6.98 6.98 0 0019 11a6.98 6.98 0 00-2.05-4.949zM14 11a2 2 0 01-1.25 1.855v8.395a.75.75 0 01-1.5 0v-8.395A2 2 0 1114 11z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nBroadcastIcon.defaultProps = {\n className: 'octicon octicon-broadcast',\n size: 16,\n verticalAlign: 'text-bottom'\n};\n\nfunction BrowserIcon(props) {\n var svgDataByHeight = { \"16\": { \"width\": 16, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M0 2.75C0 1.784.784 1 1.75 1h12.5c.966 0 1.75.784 1.75 1.75v10.5A1.75 1.75 0 0114.25 15H1.75A1.75 1.75 0 010 13.25V2.75zm1.75-.25a.25.25 0 00-.25.25V4.5h2v-2H1.75zM5 2.5v2h2v-2H5zm3.5 0v2h6V2.75a.25.25 0 00-.25-.25H8.5zm6 3.5h-13v7.25c0 .138.112.25.25.25h12.5a.25.25 0 00.25-.25V6z\\\"></path>\" }, \"24\": { \"width\": 24, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M0 3.75C0 2.784.784 2 1.75 2h20.5c.966 0 1.75.784 1.75 1.75v16.5A1.75 1.75 0 0122.25 22H1.75A1.75 1.75 0 010 20.25V3.75zm1.75-.25a.25.25 0 00-.25.25V5.5h4v-2H1.75zM7 3.5v2h4v-2H7zm5.5 0v2h10V3.75a.25.25 0 00-.25-.25H12.5zm10 3.5h-21v13.25c0 .138.112.25.25.25h20.5a.25.25 0 00.25-.25V7z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nBrowserIcon.defaultProps = {\n className: 'octicon octicon-browser',\n size: 16,\n verticalAlign: 'text-bottom'\n};\n\nfunction BugIcon(props) {\n var svgDataByHeight = { \"16\": { \"width\": 16, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M4.72.22a.75.75 0 011.06 0l1 .999a3.492 3.492 0 012.441 0l.999-1a.75.75 0 111.06 1.061l-.775.776c.616.63.995 1.493.995 2.444v.327c0 .1-.009.197-.025.292.408.14.764.392 1.029.722l1.968-.787a.75.75 0 01.556 1.392L13 7.258V9h2.25a.75.75 0 010 1.5H13v.5c0 .409-.049.806-.141 1.186l2.17.868a.75.75 0 01-.557 1.392l-2.184-.873A4.997 4.997 0 018 16a4.997 4.997 0 01-4.288-2.427l-2.183.873a.75.75 0 01-.558-1.392l2.17-.868A5.013 5.013 0 013 11v-.5H.75a.75.75 0 010-1.5H3V7.258L.971 6.446a.75.75 0 01.558-1.392l1.967.787c.265-.33.62-.583 1.03-.722a1.684 1.684 0 01-.026-.292V4.5c0-.951.38-1.814.995-2.444L4.72 1.28a.75.75 0 010-1.06zM6.173 5h3.654A.173.173 0 0010 4.827V4.5a2 2 0 10-4 0v.327c0 .096.077.173.173.173zM5.25 6.5a.75.75 0 00-.75.75V11a3.5 3.5 0 107 0V7.25a.75.75 0 00-.75-.75h-5.5z\\\"></path>\" }, \"24\": { \"width\": 24, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M7.72.22a.75.75 0 011.06 0l1.204 1.203A4.983 4.983 0 0112 1c.717 0 1.4.151 2.016.423L15.22.22a.75.75 0 011.06 1.06l-.971.972A4.988 4.988 0 0117 6v1.104a2.755 2.755 0 011.917 1.974l1.998-.999a.75.75 0 01.67 1.342L19 10.714V13.5l3.25.003a.75.75 0 110 1.5L19 15.001V16a7.02 7.02 0 01-.204 1.686.833.833 0 01.04.018l2.75 1.375a.75.75 0 11-.671 1.342l-2.638-1.319A7 7 0 0112 23a7 7 0 01-6.197-3.742l-2.758 1.181a.75.75 0 11-.59-1.378l2.795-1.199A7.007 7.007 0 015 16v-.996H1.75a.75.75 0 010-1.5H5v-2.79L2.415 9.42a.75.75 0 01.67-1.342l1.998.999A2.755 2.755 0 017 7.104V6a4.99 4.99 0 011.69-3.748l-.97-.972a.75.75 0 010-1.06zM8.5 7h7V6a3.5 3.5 0 10-7 0v1zm-2 3.266V9.75c0-.69.56-1.25 1.25-1.25h8.5c.69 0 1.25.56 1.25 1.25V16a5.5 5.5 0 01-11 0v-5.734z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nBugIcon.defaultProps = {\n className: 'octicon octicon-bug',\n size: 16,\n verticalAlign: 'text-bottom'\n};\n\nfunction CalendarIcon(props) {\n var svgDataByHeight = { \"16\": { \"width\": 16, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M4.75 0a.75.75 0 01.75.75V2h5V.75a.75.75 0 011.5 0V2h1.25c.966 0 1.75.784 1.75 1.75v10.5A1.75 1.75 0 0113.25 16H2.75A1.75 1.75 0 011 14.25V3.75C1 2.784 1.784 2 2.75 2H4V.75A.75.75 0 014.75 0zm0 3.5h8.5a.25.25 0 01.25.25V6h-11V3.75a.25.25 0 01.25-.25h2zm-2.25 4v6.75c0 .138.112.25.25.25h10.5a.25.25 0 00.25-.25V7.5h-11z\\\"></path>\" }, \"24\": { \"width\": 24, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M6.75 0a.75.75 0 01.75.75V3h9V.75a.75.75 0 011.5 0V3h2.75c.966 0 1.75.784 1.75 1.75v16a1.75 1.75 0 01-1.75 1.75H3.25a1.75 1.75 0 01-1.75-1.75v-16C1.5 3.784 2.284 3 3.25 3H6V.75A.75.75 0 016.75 0zm-3.5 4.5a.25.25 0 00-.25.25V8h18V4.75a.25.25 0 00-.25-.25H3.25zM21 9.5H3v11.25c0 .138.112.25.25.25h17.5a.25.25 0 00.25-.25V9.5z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nCalendarIcon.defaultProps = {\n className: 'octicon octicon-calendar',\n size: 16,\n verticalAlign: 'text-bottom'\n};\n\nfunction CheckIcon(props) {\n var svgDataByHeight = { \"16\": { \"width\": 16, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M13.78 4.22a.75.75 0 010 1.06l-7.25 7.25a.75.75 0 01-1.06 0L2.22 9.28a.75.75 0 011.06-1.06L6 10.94l6.72-6.72a.75.75 0 011.06 0z\\\"></path>\" }, \"24\": { \"width\": 24, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M21.03 5.72a.75.75 0 010 1.06l-11.5 11.5a.75.75 0 01-1.072-.012l-5.5-5.75a.75.75 0 111.084-1.036l4.97 5.195L19.97 5.72a.75.75 0 011.06 0z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nCheckIcon.defaultProps = {\n className: 'octicon octicon-check',\n size: 16,\n verticalAlign: 'text-bottom'\n};\n\nfunction CheckCircleIcon(props) {\n var svgDataByHeight = { \"16\": { \"width\": 16, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M1.5 8a6.5 6.5 0 1113 0 6.5 6.5 0 01-13 0zM0 8a8 8 0 1116 0A8 8 0 010 8zm11.78-1.72a.75.75 0 00-1.06-1.06L6.75 9.19 5.28 7.72a.75.75 0 00-1.06 1.06l2 2a.75.75 0 001.06 0l4.5-4.5z\\\"></path>\" }, \"24\": { \"width\": 24, \"path\": \"<path d=\\\"M17.28 9.28a.75.75 0 00-1.06-1.06l-5.97 5.97-2.47-2.47a.75.75 0 00-1.06 1.06l3 3a.75.75 0 001.06 0l6.5-6.5z\\\"></path><path fill-rule=\\\"evenodd\\\" d=\\\"M12 1C5.925 1 1 5.925 1 12s4.925 11 11 11 11-4.925 11-11S18.075 1 12 1zM2.5 12a9.5 9.5 0 1119 0 9.5 9.5 0 01-19 0z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nCheckCircleIcon.defaultProps = {\n className: 'octicon octicon-check-circle',\n size: 16,\n verticalAlign: 'text-bottom'\n};\n\nfunction CheckCircleFillIcon(props) {\n var svgDataByHeight = { \"16\": { \"width\": 16, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M8 16A8 8 0 108 0a8 8 0 000 16zm3.78-9.72a.75.75 0 00-1.06-1.06L6.75 9.19 5.28 7.72a.75.75 0 00-1.06 1.06l2 2a.75.75 0 001.06 0l4.5-4.5z\\\"></path>\" }, \"24\": { \"width\": 24, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M1 12C1 5.925 5.925 1 12 1s11 4.925 11 11-4.925 11-11 11S1 18.075 1 12zm16.28-2.72a.75.75 0 00-1.06-1.06l-5.97 5.97-2.47-2.47a.75.75 0 00-1.06 1.06l3 3a.75.75 0 001.06 0l6.5-6.5z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nCheckCircleFillIcon.defaultProps = {\n className: 'octicon octicon-check-circle-fill',\n size: 16,\n verticalAlign: 'text-bottom'\n};\n\nfunction ChecklistIcon(props) {\n var svgDataByHeight = { \"16\": { \"width\": 16, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M2.5 1.75a.25.25 0 01.25-.25h8.5a.25.25 0 01.25.25v7.736a.75.75 0 101.5 0V1.75A1.75 1.75 0 0011.25 0h-8.5A1.75 1.75 0 001 1.75v11.5c0 .966.784 1.75 1.75 1.75h3.17a.75.75 0 000-1.5H2.75a.25.25 0 01-.25-.25V1.75zM4.75 4a.75.75 0 000 1.5h4.5a.75.75 0 000-1.5h-4.5zM4 7.75A.75.75 0 014.75 7h2a.75.75 0 010 1.5h-2A.75.75 0 014 7.75zm11.774 3.537a.75.75 0 00-1.048-1.074L10.7 14.145 9.281 12.72a.75.75 0 00-1.062 1.058l1.943 1.95a.75.75 0 001.055.008l4.557-4.45z\\\"></path>\" }, \"24\": { \"width\": 24, \"path\": \"<path d=\\\"M3.5 3.75a.25.25 0 01.25-.25h13.5a.25.25 0 01.25.25v10a.75.75 0 001.5 0v-10A1.75 1.75 0 0017.25 2H3.75A1.75 1.75 0 002 3.75v16.5c0 .966.784 1.75 1.75 1.75h7a.75.75 0 000-1.5h-7a.25.25 0 01-.25-.25V3.75z\\\"></path><path d=\\\"M6.25 7a.75.75 0 000 1.5h8.5a.75.75 0 000-1.5h-8.5zm-.75 4.75a.75.75 0 01.75-.75h4.5a.75.75 0 010 1.5h-4.5a.75.75 0 01-.75-.75zm16.28 4.53a.75.75 0 10-1.06-1.06l-4.97 4.97-1.97-1.97a.75.75 0 10-1.06 1.06l2.5 2.5a.75.75 0 001.06 0l5.5-5.5z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nChecklistIcon.defaultProps = {\n className: 'octicon octicon-checklist',\n size: 16,\n verticalAlign: 'text-bottom'\n};\n\nfunction ChevronDownIcon(props) {\n var svgDataByHeight = { \"16\": { \"width\": 16, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M12.78 6.22a.75.75 0 010 1.06l-4.25 4.25a.75.75 0 01-1.06 0L3.22 7.28a.75.75 0 011.06-1.06L8 9.94l3.72-3.72a.75.75 0 011.06 0z\\\"></path>\" }, \"24\": { \"width\": 24, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M5.22 8.72a.75.75 0 000 1.06l6.25 6.25a.75.75 0 001.06 0l6.25-6.25a.75.75 0 00-1.06-1.06L12 14.44 6.28 8.72a.75.75 0 00-1.06 0z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nChevronDownIcon.defaultProps = {\n className: 'octicon octicon-chevron-down',\n size: 16,\n verticalAlign: 'text-bottom'\n};\n\nfunction ChevronLeftIcon(props) {\n var svgDataByHeight = { \"16\": { \"width\": 16, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M9.78 12.78a.75.75 0 01-1.06 0L4.47 8.53a.75.75 0 010-1.06l4.25-4.25a.75.75 0 011.06 1.06L6.06 8l3.72 3.72a.75.75 0 010 1.06z\\\"></path>\" }, \"24\": { \"width\": 24, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M15.28 5.22a.75.75 0 00-1.06 0l-6.25 6.25a.75.75 0 000 1.06l6.25 6.25a.75.75 0 101.06-1.06L9.56 12l5.72-5.72a.75.75 0 000-1.06z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nChevronLeftIcon.defaultProps = {\n className: 'octicon octicon-chevron-left',\n size: 16,\n verticalAlign: 'text-bottom'\n};\n\nfunction ChevronRightIcon(props) {\n var svgDataByHeight = { \"16\": { \"width\": 16, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M6.22 3.22a.75.75 0 011.06 0l4.25 4.25a.75.75 0 010 1.06l-4.25 4.25a.75.75 0 01-1.06-1.06L9.94 8 6.22 4.28a.75.75 0 010-1.06z\\\"></path>\" }, \"24\": { \"width\": 24, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M8.72 18.78a.75.75 0 001.06 0l6.25-6.25a.75.75 0 000-1.06L9.78 5.22a.75.75 0 00-1.06 1.06L14.44 12l-5.72 5.72a.75.75 0 000 1.06z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nChevronRightIcon.defaultProps = {\n className: 'octicon octicon-chevron-right',\n size: 16,\n verticalAlign: 'text-bottom'\n};\n\nfunction ChevronUpIcon(props) {\n var svgDataByHeight = { \"16\": { \"width\": 16, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M3.22 9.78a.75.75 0 010-1.06l4.25-4.25a.75.75 0 011.06 0l4.25 4.25a.75.75 0 01-1.06 1.06L8 6.06 4.28 9.78a.75.75 0 01-1.06 0z\\\"></path>\" }, \"24\": { \"width\": 24, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M18.78 15.28a.75.75 0 000-1.06l-6.25-6.25a.75.75 0 00-1.06 0l-6.25 6.25a.75.75 0 101.06 1.06L12 9.56l5.72 5.72a.75.75 0 001.06 0z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nChevronUpIcon.defaultProps = {\n className: 'octicon octicon-chevron-up',\n size: 16,\n verticalAlign: 'text-bottom'\n};\n\nfunction CircleIcon(props) {\n var svgDataByHeight = { \"16\": { \"width\": 16, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M8 1.5a6.5 6.5 0 100 13 6.5 6.5 0 000-13zM0 8a8 8 0 1116 0A8 8 0 010 8z\\\"></path>\" }, \"24\": { \"width\": 24, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M12 2.5a9.5 9.5 0 100 19 9.5 9.5 0 000-19zM1 12C1 5.925 5.925 1 12 1s11 4.925 11 11-4.925 11-11 11S1 18.075 1 12z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nCircleIcon.defaultProps = {\n className: 'octicon octicon-circle',\n size: 16,\n verticalAlign: 'text-bottom'\n};\n\nfunction CircleSlashIcon(props) {\n var svgDataByHeight = { \"16\": { \"width\": 16, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M1.5 8a6.5 6.5 0 0110.535-5.096l-9.131 9.131A6.472 6.472 0 011.5 8zm2.465 5.096a6.5 6.5 0 009.131-9.131l-9.131 9.131zM8 0a8 8 0 100 16A8 8 0 008 0z\\\"></path>\" }, \"24\": { \"width\": 24, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M12 1C5.925 1 1 5.925 1 12s4.925 11 11 11 11-4.925 11-11S18.075 1 12 1zM2.5 12A9.5 9.5 0 0112 2.5c2.353 0 4.507.856 6.166 2.273L4.773 18.166A9.462 9.462 0 012.5 12zm3.334 7.227A9.462 9.462 0 0012 21.5a9.5 9.5 0 009.5-9.5 9.462 9.462 0 00-2.273-6.166L5.834 19.227z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nCircleSlashIcon.defaultProps = {\n className: 'octicon octicon-circle-slash',\n size: 16,\n verticalAlign: 'text-bottom'\n};\n\nfunction ClippyIcon(props) {\n var svgDataByHeight = { \"16\": { \"width\": 16, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M5.75 1a.75.75 0 00-.75.75v3c0 .414.336.75.75.75h4.5a.75.75 0 00.75-.75v-3a.75.75 0 00-.75-.75h-4.5zm.75 3V2.5h3V4h-3zm-2.874-.467a.75.75 0 00-.752-1.298A1.75 1.75 0 002 3.75v9.5c0 .966.784 1.75 1.75 1.75h8.5A1.75 1.75 0 0014 13.25v-9.5a1.75 1.75 0 00-.874-1.515.75.75 0 10-.752 1.298.25.25 0 01.126.217v9.5a.25.25 0 01-.25.25h-8.5a.25.25 0 01-.25-.25v-9.5a.25.25 0 01.126-.217z\\\"></path>\" }, \"24\": { \"width\": 24, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M5.962 2.513a.75.75 0 01-.475.949l-.816.272a.25.25 0 00-.171.237V21.25c0 .138.112.25.25.25h14.5a.25.25 0 00.25-.25V3.97a.25.25 0 00-.17-.236l-.817-.272a.75.75 0 01.474-1.424l.816.273A1.75 1.75 0 0121 3.97v17.28A1.75 1.75 0 0119.25 23H4.75A1.75 1.75 0 013 21.25V3.97a1.75 1.75 0 011.197-1.66l.816-.272a.75.75 0 01.949.475z\\\"></path><path fill-rule=\\\"evenodd\\\" d=\\\"M7 1.75C7 .784 7.784 0 8.75 0h6.5C16.216 0 17 .784 17 1.75v1.5A1.75 1.75 0 0115.25 5h-6.5A1.75 1.75 0 017 3.25v-1.5zm1.75-.25a.25.25 0 00-.25.25v1.5c0 .138.112.25.25.25h6.5a.25.25 0 00.25-.25v-1.5a.25.25 0 00-.25-.25h-6.5z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nClippyIcon.defaultProps = {\n className: 'octicon octicon-clippy',\n size: 16,\n verticalAlign: 'text-bottom'\n};\n\nfunction ClockIcon(props) {\n var svgDataByHeight = { \"16\": { \"width\": 16, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M1.5 8a6.5 6.5 0 1113 0 6.5 6.5 0 01-13 0zM8 0a8 8 0 100 16A8 8 0 008 0zm.5 4.75a.75.75 0 00-1.5 0v3.5a.75.75 0 00.471.696l2.5 1a.75.75 0 00.557-1.392L8.5 7.742V4.75z\\\"></path>\" }, \"24\": { \"width\": 24, \"path\": \"<path d=\\\"M12.5 7.25a.75.75 0 00-1.5 0v5.5c0 .27.144.518.378.651l3.5 2a.75.75 0 00.744-1.302L12.5 12.315V7.25z\\\"></path><path fill-rule=\\\"evenodd\\\" d=\\\"M12 1C5.925 1 1 5.925 1 12s4.925 11 11 11 11-4.925 11-11S18.075 1 12 1zM2.5 12a9.5 9.5 0 1119 0 9.5 9.5 0 01-19 0z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nClockIcon.defaultProps = {\n className: 'octicon octicon-clock',\n size: 16,\n verticalAlign: 'text-bottom'\n};\n\nfunction CodeIcon(props) {\n var svgDataByHeight = { \"16\": { \"width\": 16, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M4.72 3.22a.75.75 0 011.06 1.06L2.06 8l3.72 3.72a.75.75 0 11-1.06 1.06L.47 8.53a.75.75 0 010-1.06l4.25-4.25zm6.56 0a.75.75 0 10-1.06 1.06L13.94 8l-3.72 3.72a.75.75 0 101.06 1.06l4.25-4.25a.75.75 0 000-1.06l-4.25-4.25z\\\"></path>\" }, \"24\": { \"width\": 24, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M8.78 4.97a.75.75 0 010 1.06L2.81 12l5.97 5.97a.75.75 0 11-1.06 1.06l-6.5-6.5a.75.75 0 010-1.06l6.5-6.5a.75.75 0 011.06 0zm6.44 0a.75.75 0 000 1.06L21.19 12l-5.97 5.97a.75.75 0 101.06 1.06l6.5-6.5a.75.75 0 000-1.06l-6.5-6.5a.75.75 0 00-1.06 0z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nCodeIcon.defaultProps = {\n className: 'octicon octicon-code',\n size: 16,\n verticalAlign: 'text-bottom'\n};\n\nfunction CodeReviewIcon(props) {\n var svgDataByHeight = { \"16\": { \"width\": 16, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M1.5 2.75a.25.25 0 01.25-.25h12.5a.25.25 0 01.25.25v8.5a.25.25 0 01-.25.25h-6.5a.75.75 0 00-.53.22L4.5 14.44v-2.19a.75.75 0 00-.75-.75h-2a.25.25 0 01-.25-.25v-8.5zM1.75 1A1.75 1.75 0 000 2.75v8.5C0 12.216.784 13 1.75 13H3v1.543a1.457 1.457 0 002.487 1.03L8.061 13h6.189A1.75 1.75 0 0016 11.25v-8.5A1.75 1.75 0 0014.25 1H1.75zm5.03 3.47a.75.75 0 010 1.06L5.31 7l1.47 1.47a.75.75 0 01-1.06 1.06l-2-2a.75.75 0 010-1.06l2-2a.75.75 0 011.06 0zm2.44 0a.75.75 0 000 1.06L10.69 7 9.22 8.47a.75.75 0 001.06 1.06l2-2a.75.75 0 000-1.06l-2-2a.75.75 0 00-1.06 0z\\\"></path>\" }, \"24\": { \"width\": 24, \"path\": \"<path d=\\\"M10.3 6.74a.75.75 0 01-.04 1.06l-2.908 2.7 2.908 2.7a.75.75 0 11-1.02 1.1l-3.5-3.25a.75.75 0 010-1.1l3.5-3.25a.75.75 0 011.06.04zm3.44 1.06a.75.75 0 111.02-1.1l3.5 3.25a.75.75 0 010 1.1l-3.5 3.25a.75.75 0 11-1.02-1.1l2.908-2.7-2.908-2.7z\\\"></path><path fill-rule=\\\"evenodd\\\" d=\\\"M1.5 4.25c0-.966.784-1.75 1.75-1.75h17.5c.966 0 1.75.784 1.75 1.75v12.5a1.75 1.75 0 01-1.75 1.75h-9.69l-3.573 3.573A1.457 1.457 0 015 21.043V18.5H3.25a1.75 1.75 0 01-1.75-1.75V4.25zM3.25 4a.25.25 0 00-.25.25v12.5c0 .138.112.25.25.25h2.5a.75.75 0 01.75.75v3.19l3.72-3.72a.75.75 0 01.53-.22h10a.25.25 0 00.25-.25V4.25a.25.25 0 00-.25-.25H3.25z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nCodeReviewIcon.defaultProps = {\n className: 'octicon octicon-code-review',\n size: 16,\n verticalAlign: 'text-bottom'\n};\n\nfunction CodeSquareIcon(props) {\n var svgDataByHeight = { \"16\": { \"width\": 16, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M1.75 1.5a.25.25 0 00-.25.25v12.5c0 .138.112.25.25.25h12.5a.25.25 0 00.25-.25V1.75a.25.25 0 00-.25-.25H1.75zM0 1.75C0 .784.784 0 1.75 0h12.5C15.216 0 16 .784 16 1.75v12.5A1.75 1.75 0 0114.25 16H1.75A1.75 1.75 0 010 14.25V1.75zm9.22 3.72a.75.75 0 000 1.06L10.69 8 9.22 9.47a.75.75 0 101.06 1.06l2-2a.75.75 0 000-1.06l-2-2a.75.75 0 00-1.06 0zM6.78 6.53a.75.75 0 00-1.06-1.06l-2 2a.75.75 0 000 1.06l2 2a.75.75 0 101.06-1.06L5.31 8l1.47-1.47z\\\"></path>\" }, \"24\": { \"width\": 24, \"path\": \"<path d=\\\"M10.3 8.24a.75.75 0 01-.04 1.06L7.352 12l2.908 2.7a.75.75 0 11-1.02 1.1l-3.5-3.25a.75.75 0 010-1.1l3.5-3.25a.75.75 0 011.06.04zm3.44 1.06a.75.75 0 111.02-1.1l3.5 3.25a.75.75 0 010 1.1l-3.5 3.25a.75.75 0 11-1.02-1.1l2.908-2.7-2.908-2.7z\\\"></path><path fill-rule=\\\"evenodd\\\" d=\\\"M2 3.75C2 2.784 2.784 2 3.75 2h16.5c.966 0 1.75.784 1.75 1.75v16.5A1.75 1.75 0 0120.25 22H3.75A1.75 1.75 0 012 20.25V3.75zm1.75-.25a.25.25 0 00-.25.25v16.5c0 .138.112.25.25.25h16.5a.25.25 0 00.25-.25V3.75a.25.25 0 00-.25-.25H3.75z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nCodeSquareIcon.defaultProps = {\n className: 'octicon octicon-code-square',\n size: 16,\n verticalAlign: 'text-bottom'\n};\n\nfunction CodescanIcon(props) {\n var svgDataByHeight = { \"16\": { \"width\": 16, \"path\": \"<path d=\\\"M8.47 4.97a.75.75 0 000 1.06L9.94 7.5 8.47 8.97a.75.75 0 101.06 1.06l2-2a.75.75 0 000-1.06l-2-2a.75.75 0 00-1.06 0zM6.53 6.03a.75.75 0 00-1.06-1.06l-2 2a.75.75 0 000 1.06l2 2a.75.75 0 101.06-1.06L5.06 7.5l1.47-1.47z\\\"></path><path fill-rule=\\\"evenodd\\\" d=\\\"M12.246 13.307a7.5 7.5 0 111.06-1.06l2.474 2.473a.75.75 0 11-1.06 1.06l-2.474-2.473zM1.5 7.5a6 6 0 1110.386 4.094.75.75 0 00-.292.293A6 6 0 011.5 7.5z\\\"></path>\" }, \"24\": { \"width\": 24, \"path\": \"<path d=\\\"M11.97 6.97a.75.75 0 000 1.06l2.47 2.47-2.47 2.47a.75.75 0 101.06 1.06l3-3a.75.75 0 000-1.06l-3-3a.75.75 0 00-1.06 0zM9.03 8.03a.75.75 0 00-1.06-1.06l-3 3a.75.75 0 000 1.06l3 3a.75.75 0 001.06-1.06L6.56 10.5l2.47-2.47z\\\"></path><path fill-rule=\\\"evenodd\\\" d=\\\"M10.5 0C4.701 0 0 4.701 0 10.5S4.701 21 10.5 21c2.63 0 5.033-.967 6.875-2.564l4.345 4.344a.75.75 0 101.06-1.06l-4.344-4.345A10.459 10.459 0 0021 10.5C21 4.701 16.299 0 10.5 0zm-9 10.5a9 9 0 1118 0 9 9 0 01-18 0z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nCodescanIcon.defaultProps = {\n className: 'octicon octicon-codescan',\n size: 16,\n verticalAlign: 'text-bottom'\n};\n\nfunction CodescanCheckmarkIcon(props) {\n var svgDataByHeight = { \"16\": { \"width\": 16, \"path\": \"<path d=\\\"M10.28 6.28a.75.75 0 10-1.06-1.06L6.25 8.19l-.97-.97a.75.75 0 00-1.06 1.06l1.5 1.5a.75.75 0 001.06 0l3.5-3.5z\\\"></path><path fill-rule=\\\"evenodd\\\" d=\\\"M7.5 15a7.469 7.469 0 004.746-1.693l2.474 2.473a.75.75 0 101.06-1.06l-2.473-2.474A7.5 7.5 0 107.5 15zm0-13.5a6 6 0 104.094 10.386.75.75 0 01.293-.292A6 6 0 007.5 1.5z\\\"></path>\" }, \"24\": { \"width\": 24, \"path\": \"<path d=\\\"M15.03 8.28a.75.75 0 00-1.06-1.06l-5.22 5.22-2.22-2.22a.75.75 0 10-1.06 1.06l2.75 2.75a.75.75 0 001.06 0l5.75-5.75z\\\"></path><path fill-rule=\\\"evenodd\\\" d=\\\"M0 10.5C0 4.701 4.701 0 10.5 0S21 4.701 21 10.5c0 2.63-.967 5.033-2.564 6.875l4.344 4.345a.75.75 0 11-1.06 1.06l-4.345-4.344A10.459 10.459 0 0110.5 21C4.701 21 0 16.299 0 10.5zm10.5-9a9 9 0 100 18 9 9 0 000-18z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nCodescanCheckmarkIcon.defaultProps = {\n className: 'octicon octicon-codescan-checkmark',\n size: 16,\n verticalAlign: 'text-bottom'\n};\n\nfunction CodespacesIcon(props) {\n var svgDataByHeight = { \"16\": { \"width\": 16, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M2 1.75C2 .784 2.784 0 3.75 0h8.5C13.216 0 14 .784 14 1.75v5a1.75 1.75 0 01-1.75 1.75h-8.5A1.75 1.75 0 012 6.75v-5zm1.75-.25a.25.25 0 00-.25.25v5c0 .138.112.25.25.25h8.5a.25.25 0 00.25-.25v-5a.25.25 0 00-.25-.25h-8.5zM0 11.25c0-.966.784-1.75 1.75-1.75h12.5c.966 0 1.75.784 1.75 1.75v3A1.75 1.75 0 0114.25 16H1.75A1.75 1.75 0 010 14.25v-3zM1.75 11a.25.25 0 00-.25.25v3c0 .138.112.25.25.25h12.5a.25.25 0 00.25-.25v-3a.25.25 0 00-.25-.25H1.75z\\\"></path><path fill-rule=\\\"evenodd\\\" d=\\\"M3 12.75a.75.75 0 01.75-.75h.5a.75.75 0 010 1.5h-.5a.75.75 0 01-.75-.75zm4 0a.75.75 0 01.75-.75h4.5a.75.75 0 010 1.5h-4.5a.75.75 0 01-.75-.75z\\\"></path>\" }, \"24\": { \"width\": 24, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M3.5 3.75C3.5 2.784 4.284 2 5.25 2h13.5c.966 0 1.75.784 1.75 1.75v7.5A1.75 1.75 0 0118.75 13H5.25a1.75 1.75 0 01-1.75-1.75v-7.5zm1.75-.25a.25.25 0 00-.25.25v7.5c0 .138.112.25.25.25h13.5a.25.25 0 00.25-.25v-7.5a.25.25 0 00-.25-.25H5.25zM1.5 15.75c0-.966.784-1.75 1.75-1.75h17.5c.966 0 1.75.784 1.75 1.75v4a1.75 1.75 0 01-1.75 1.75H3.25a1.75 1.75 0 01-1.75-1.75v-4zm1.75-.25a.25.25 0 00-.25.25v4c0 .138.112.25.25.25h17.5a.25.25 0 00.25-.25v-4a.25.25 0 00-.25-.25H3.25z\\\"></path><path fill-rule=\\\"evenodd\\\" d=\\\"M10 17.75a.75.75 0 01.75-.75h6.5a.75.75 0 010 1.5h-6.5a.75.75 0 01-.75-.75zm-4 0a.75.75 0 01.75-.75h.5a.75.75 0 010 1.5h-.5a.75.75 0 01-.75-.75z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nCodespacesIcon.defaultProps = {\n className: 'octicon octicon-codespaces',\n size: 16,\n verticalAlign: 'text-bottom'\n};\n\nfunction CommentIcon(props) {\n var svgDataByHeight = { \"16\": { \"width\": 16, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M2.75 2.5a.25.25 0 00-.25.25v7.5c0 .138.112.25.25.25h2a.75.75 0 01.75.75v2.19l2.72-2.72a.75.75 0 01.53-.22h4.5a.25.25 0 00.25-.25v-7.5a.25.25 0 00-.25-.25H2.75zM1 2.75C1 1.784 1.784 1 2.75 1h10.5c.966 0 1.75.784 1.75 1.75v7.5A1.75 1.75 0 0113.25 12H9.06l-2.573 2.573A1.457 1.457 0 014 13.543V12H2.75A1.75 1.75 0 011 10.25v-7.5z\\\"></path>\" }, \"24\": { \"width\": 24, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M3.25 4a.25.25 0 00-.25.25v12.5c0 .138.112.25.25.25h2.5a.75.75 0 01.75.75v3.19l3.72-3.72a.75.75 0 01.53-.22h10a.25.25 0 00.25-.25V4.25a.25.25 0 00-.25-.25H3.25zm-1.75.25c0-.966.784-1.75 1.75-1.75h17.5c.966 0 1.75.784 1.75 1.75v12.5a1.75 1.75 0 01-1.75 1.75h-9.69l-3.573 3.573A1.457 1.457 0 015 21.043V18.5H3.25a1.75 1.75 0 01-1.75-1.75V4.25z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nCommentIcon.defaultProps = {\n className: 'octicon octicon-comment',\n size: 16,\n verticalAlign: 'text-bottom'\n};\n\nfunction CommentDiscussionIcon(props) {\n var svgDataByHeight = { \"16\": { \"width\": 16, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M1.5 2.75a.25.25 0 01.25-.25h8.5a.25.25 0 01.25.25v5.5a.25.25 0 01-.25.25h-3.5a.75.75 0 00-.53.22L3.5 11.44V9.25a.75.75 0 00-.75-.75h-1a.25.25 0 01-.25-.25v-5.5zM1.75 1A1.75 1.75 0 000 2.75v5.5C0 9.216.784 10 1.75 10H2v1.543a1.457 1.457 0 002.487 1.03L7.061 10h3.189A1.75 1.75 0 0012 8.25v-5.5A1.75 1.75 0 0010.25 1h-8.5zM14.5 4.75a.25.25 0 00-.25-.25h-.5a.75.75 0 110-1.5h.5c.966 0 1.75.784 1.75 1.75v5.5A1.75 1.75 0 0114.25 12H14v1.543a1.457 1.457 0 01-2.487 1.03L9.22 12.28a.75.75 0 111.06-1.06l2.22 2.22v-2.19a.75.75 0 01.75-.75h1a.25.25 0 00.25-.25v-5.5z\\\"></path>\" }, \"24\": { \"width\": 24, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M1.75 1A1.75 1.75 0 000 2.75v9.5C0 13.216.784 14 1.75 14H3v1.543a1.457 1.457 0 002.487 1.03L8.061 14h6.189A1.75 1.75 0 0016 12.25v-9.5A1.75 1.75 0 0014.25 1H1.75zM1.5 2.75a.25.25 0 01.25-.25h12.5a.25.25 0 01.25.25v9.5a.25.25 0 01-.25.25h-6.5a.75.75 0 00-.53.22L4.5 15.44v-2.19a.75.75 0 00-.75-.75h-2a.25.25 0 01-.25-.25v-9.5z\\\"></path><path d=\\\"M22.5 8.75a.25.25 0 00-.25-.25h-3.5a.75.75 0 010-1.5h3.5c.966 0 1.75.784 1.75 1.75v9.5A1.75 1.75 0 0122.25 20H21v1.543a1.457 1.457 0 01-2.487 1.03L15.939 20H10.75A1.75 1.75 0 019 18.25v-1.465a.75.75 0 011.5 0v1.465c0 .138.112.25.25.25h5.5a.75.75 0 01.53.22l2.72 2.72v-2.19a.75.75 0 01.75-.75h2a.25.25 0 00.25-.25v-9.5z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nCommentDiscussionIcon.defaultProps = {\n className: 'octicon octicon-comment-discussion',\n size: 16,\n verticalAlign: 'text-bottom'\n};\n\nfunction CommitIcon(props) {\n var svgDataByHeight = { \"24\": { \"width\": 24, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M17.5 11.75a.75.75 0 01.75-.75h5a.75.75 0 010 1.5h-5a.75.75 0 01-.75-.75zm-17.5 0A.75.75 0 01.75 11h5a.75.75 0 010 1.5h-5a.75.75 0 01-.75-.75z\\\"></path><path fill-rule=\\\"evenodd\\\" d=\\\"M12 16.25a4.5 4.5 0 100-9 4.5 4.5 0 000 9zm0 1.5a6 6 0 100-12 6 6 0 000 12z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nCommitIcon.defaultProps = {\n className: 'octicon octicon-commit',\n size: 16,\n verticalAlign: 'text-bottom'\n};\n\nfunction ContainerIcon(props) {\n var svgDataByHeight = { \"16\": { \"width\": 16, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M10.41.24l4.711 2.774A1.767 1.767 0 0116 4.54v5.01a1.77 1.77 0 01-.88 1.53l-7.753 4.521-.002.001a1.767 1.767 0 01-1.774 0H5.59L.873 12.85A1.762 1.762 0 010 11.327V6.292c0-.304.078-.598.22-.855l.004-.005.01-.019c.15-.262.369-.486.64-.643L8.641.239a1.75 1.75 0 011.765 0l.002.001zM9.397 1.534a.25.25 0 01.252 0l4.115 2.422-7.152 4.148a.267.267 0 01-.269 0L2.227 5.716l7.17-4.182zM7.365 9.402L8.73 8.61v4.46l-1.5.875V9.473a1.77 1.77 0 00.136-.071zm2.864 2.794V7.741l1.521-.882v4.45l-1.521.887zm3.021-1.762l1.115-.65h.002a.268.268 0 00.133-.232V5.264l-1.25.725v4.445zm-11.621 1.12l4.1 2.393V9.474a1.77 1.77 0 01-.138-.072L1.5 7.029v4.298c0 .095.05.181.129.227z\\\"></path>\" }, \"24\": { \"width\": 24, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M13.152.682a2.25 2.25 0 012.269 0l.007.004 6.957 4.276a2.276 2.276 0 011.126 1.964v7.516c0 .81-.432 1.56-1.133 1.968l-.002.001-11.964 7.037-.004.003a2.276 2.276 0 01-2.284 0l-.026-.015-6.503-4.502a2.268 2.268 0 01-1.096-1.943V9.438c0-.392.1-.77.284-1.1l.003-.006.014-.026a2.28 2.28 0 01.82-.827h.002L13.152.681zm.757 1.295h-.001L2.648 8.616l6.248 4.247a.776.776 0 00.758-.01h.001l11.633-6.804-6.629-4.074a.75.75 0 00-.75.003zM18 9.709l-3.25 1.9v7.548L18 17.245V9.709zm1.5-.878v7.532l2.124-1.25a.777.777 0 00.387-.671V7.363L19.5 8.831zm-9.09 5.316l2.84-1.66v7.552l-3.233 1.902v-7.612c.134-.047.265-.107.391-.18l.002-.002zm-1.893 7.754V14.33a2.277 2.277 0 01-.393-.18l-.023-.014-6.102-4.147v7.003c0 .275.145.528.379.664l.025.014 6.114 4.232z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nContainerIcon.defaultProps = {\n className: 'octicon octicon-container',\n size: 16,\n verticalAlign: 'text-bottom'\n};\n\nfunction CpuIcon(props) {\n var svgDataByHeight = { \"16\": { \"width\": 16, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M6.5.75a.75.75 0 00-1.5 0V2H3.75A1.75 1.75 0 002 3.75V5H.75a.75.75 0 000 1.5H2v3H.75a.75.75 0 000 1.5H2v1.25c0 .966.784 1.75 1.75 1.75H5v1.25a.75.75 0 001.5 0V14h3v1.25a.75.75 0 001.5 0V14h1.25A1.75 1.75 0 0014 12.25V11h1.25a.75.75 0 000-1.5H14v-3h1.25a.75.75 0 000-1.5H14V3.75A1.75 1.75 0 0012.25 2H11V.75a.75.75 0 00-1.5 0V2h-3V.75zm5.75 11.75h-8.5a.25.25 0 01-.25-.25v-8.5a.25.25 0 01.25-.25h8.5a.25.25 0 01.25.25v8.5a.25.25 0 01-.25.25zM5.75 5a.75.75 0 00-.75.75v4.5c0 .414.336.75.75.75h4.5a.75.75 0 00.75-.75v-4.5a.75.75 0 00-.75-.75h-4.5zm.75 4.5v-3h3v3h-3z\\\"></path>\" }, \"24\": { \"width\": 24, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M8.75 8a.75.75 0 00-.75.75v6.5c0 .414.336.75.75.75h6.5a.75.75 0 00.75-.75v-6.5a.75.75 0 00-.75-.75h-6.5zm.75 6.5v-5h5v5h-5z\\\"></path><path fill-rule=\\\"evenodd\\\" d=\\\"M15.25 1a.75.75 0 01.75.75V4h2.25c.966 0 1.75.784 1.75 1.75V8h2.25a.75.75 0 010 1.5H20v5h2.25a.75.75 0 010 1.5H20v2.25A1.75 1.75 0 0118.25 20H16v2.25a.75.75 0 01-1.5 0V20h-5v2.25a.75.75 0 01-1.5 0V20H5.75A1.75 1.75 0 014 18.25V16H1.75a.75.75 0 010-1.5H4v-5H1.75a.75.75 0 010-1.5H4V5.75C4 4.784 4.784 4 5.75 4H8V1.75a.75.75 0 011.5 0V4h5V1.75a.75.75 0 01.75-.75zm3 17.5a.25.25 0 00.25-.25V5.75a.25.25 0 00-.25-.25H5.75a.25.25 0 00-.25.25v12.5c0 .138.112.25.25.25h12.5z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nCpuIcon.defaultProps = {\n className: 'octicon octicon-cpu',\n size: 16,\n verticalAlign: 'text-bottom'\n};\n\nfunction CreditCardIcon(props) {\n var svgDataByHeight = { \"16\": { \"width\": 16, \"path\": \"<path d=\\\"M10.75 9a.75.75 0 000 1.5h1.5a.75.75 0 000-1.5h-1.5z\\\"></path><path fill-rule=\\\"evenodd\\\" d=\\\"M0 3.75C0 2.784.784 2 1.75 2h12.5c.966 0 1.75.784 1.75 1.75v8.5A1.75 1.75 0 0114.25 14H1.75A1.75 1.75 0 010 12.25v-8.5zm14.5 0V5h-13V3.75a.25.25 0 01.25-.25h12.5a.25.25 0 01.25.25zm0 2.75h-13v5.75c0 .138.112.25.25.25h12.5a.25.25 0 00.25-.25V6.5z\\\"></path>\" }, \"24\": { \"width\": 24, \"path\": \"<path d=\\\"M15.25 14a.75.75 0 000 1.5h3.5a.75.75 0 000-1.5h-3.5z\\\"></path><path fill-rule=\\\"evenodd\\\" d=\\\"M1.75 3A1.75 1.75 0 000 4.75v14.5C0 20.216.784 21 1.75 21h20.5A1.75 1.75 0 0024 19.25V4.75A1.75 1.75 0 0022.25 3H1.75zM1.5 4.75a.25.25 0 01.25-.25h20.5a.25.25 0 01.25.25V8.5h-21V4.75zm0 5.25v9.25c0 .138.112.25.25.25h20.5a.25.25 0 00.25-.25V10h-21z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nCreditCardIcon.defaultProps = {\n className: 'octicon octicon-credit-card',\n size: 16,\n verticalAlign: 'text-bottom'\n};\n\nfunction CrossReferenceIcon(props) {\n var svgDataByHeight = { \"16\": { \"width\": 16, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M16 1.25v4.146a.25.25 0 01-.427.177L14.03 4.03l-3.75 3.75a.75.75 0 11-1.06-1.06l3.75-3.75-1.543-1.543A.25.25 0 0111.604 1h4.146a.25.25 0 01.25.25zM2.75 3.5a.25.25 0 00-.25.25v7.5c0 .138.112.25.25.25h2a.75.75 0 01.75.75v2.19l2.72-2.72a.75.75 0 01.53-.22h4.5a.25.25 0 00.25-.25v-2.5a.75.75 0 111.5 0v2.5A1.75 1.75 0 0113.25 13H9.06l-2.573 2.573A1.457 1.457 0 014 14.543V13H2.75A1.75 1.75 0 011 11.25v-7.5C1 2.784 1.784 2 2.75 2h5.5a.75.75 0 010 1.5h-5.5z\\\"></path>\" }, \"24\": { \"width\": 24, \"path\": \"<path d=\\\"M16.5 2.25a.75.75 0 01.75-.75h5.5a.75.75 0 01.75.75v5.5a.75.75 0 01-1.5 0V4.06l-6.22 6.22a.75.75 0 11-1.06-1.06L20.94 3h-3.69a.75.75 0 01-.75-.75z\\\"></path><path d=\\\"M3.25 4a.25.25 0 00-.25.25v12.5c0 .138.112.25.25.25h2.5a.75.75 0 01.75.75v3.19l3.72-3.72a.75.75 0 01.53-.22h10a.25.25 0 00.25-.25v-6a.75.75 0 011.5 0v6a1.75 1.75 0 01-1.75 1.75h-9.69l-3.573 3.573A1.457 1.457 0 015 21.043V18.5H3.25a1.75 1.75 0 01-1.75-1.75V4.25c0-.966.784-1.75 1.75-1.75h11a.75.75 0 010 1.5h-11z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nCrossReferenceIcon.defaultProps = {\n className: 'octicon octicon-cross-reference',\n size: 16,\n verticalAlign: 'text-bottom'\n};\n\nfunction DashIcon(props) {\n var svgDataByHeight = { \"16\": { \"width\": 16, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M2 7.75A.75.75 0 012.75 7h10a.75.75 0 010 1.5h-10A.75.75 0 012 7.75z\\\"></path>\" }, \"24\": { \"width\": 24, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M4.5 12.75a.75.75 0 01.75-.75h13.5a.75.75 0 010 1.5H5.25a.75.75 0 01-.75-.75z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nDashIcon.defaultProps = {\n className: 'octicon octicon-dash',\n size: 16,\n verticalAlign: 'text-bottom'\n};\n\nfunction DatabaseIcon(props) {\n var svgDataByHeight = { \"16\": { \"width\": 16, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M2.5 3.5c0-.133.058-.318.282-.55.227-.237.592-.484 1.1-.708C4.899 1.795 6.354 1.5 8 1.5c1.647 0 3.102.295 4.117.742.51.224.874.47 1.101.707.224.233.282.418.282.551 0 .133-.058.318-.282.55-.227.237-.592.484-1.1.708C11.101 5.205 9.646 5.5 8 5.5c-1.647 0-3.102-.295-4.117-.742-.51-.224-.874-.47-1.101-.707-.224-.233-.282-.418-.282-.551zM1 3.5c0-.626.292-1.165.7-1.59.406-.422.956-.767 1.579-1.041C4.525.32 6.195 0 8 0c1.805 0 3.475.32 4.722.869.622.274 1.172.62 1.578 1.04.408.426.7.965.7 1.591v9c0 .626-.292 1.165-.7 1.59-.406.422-.956.767-1.579 1.041C11.476 15.68 9.806 16 8 16c-1.805 0-3.475-.32-4.721-.869-.623-.274-1.173-.62-1.579-1.04-.408-.426-.7-.965-.7-1.591v-9zM2.5 8V5.724c.241.15.503.286.779.407C4.525 6.68 6.195 7 8 7c1.805 0 3.475-.32 4.722-.869.275-.121.537-.257.778-.407V8c0 .133-.058.318-.282.55-.227.237-.592.484-1.1.708C11.101 9.705 9.646 10 8 10c-1.647 0-3.102-.295-4.117-.742-.51-.224-.874-.47-1.101-.707C2.558 8.318 2.5 8.133 2.5 8zm0 2.225V12.5c0 .133.058.318.282.55.227.237.592.484 1.1.708 1.016.447 2.471.742 4.118.742 1.647 0 3.102-.295 4.117-.742.51-.224.874-.47 1.101-.707.224-.233.282-.418.282-.551v-2.275c-.241.15-.503.285-.778.406-1.247.549-2.917.869-4.722.869-1.805 0-3.475-.32-4.721-.869a6.236 6.236 0 01-.779-.406z\\\"></path>\" }, \"24\": { \"width\": 24, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M12 1.25c-2.487 0-4.774.402-6.466 1.079-.844.337-1.577.758-2.112 1.264C2.886 4.1 2.5 4.744 2.5 5.5v12.987l.026.013H2.5c0 .756.386 1.4.922 1.907.535.506 1.268.927 2.112 1.264 1.692.677 3.979 1.079 6.466 1.079s4.773-.402 6.466-1.079c.844-.337 1.577-.758 2.112-1.264.536-.507.922-1.151.922-1.907h-.026l.026-.013V5.5c0-.756-.386-1.4-.922-1.907-.535-.506-1.268-.927-2.112-1.264C16.773 1.652 14.487 1.25 12 1.25zM4 5.5c0-.21.104-.487.453-.817.35-.332.899-.666 1.638-.962C7.566 3.131 9.655 2.75 12 2.75c2.345 0 4.434.382 5.909.971.74.296 1.287.63 1.638.962.35.33.453.606.453.817 0 .21-.104.487-.453.817-.35.332-.899.666-1.638.962-1.475.59-3.564.971-5.909.971-2.345 0-4.434-.382-5.909-.971-.74-.296-1.287-.63-1.638-.962C4.103 5.987 4 5.711 4 5.5zM20 12V7.871a7.842 7.842 0 01-1.534.8C16.773 9.348 14.487 9.75 12 9.75s-4.774-.402-6.466-1.079A7.843 7.843 0 014 7.871V12c0 .21.104.487.453.817.35.332.899.666 1.638.961 1.475.59 3.564.972 5.909.972 2.345 0 4.434-.382 5.909-.972.74-.295 1.287-.629 1.638-.96.35-.33.453-.607.453-.818zM4 14.371c.443.305.963.572 1.534.8 1.692.677 3.979 1.079 6.466 1.079s4.773-.402 6.466-1.079a7.842 7.842 0 001.534-.8v4.116l.013.013H20c0 .21-.104.487-.453.817-.35.332-.899.666-1.638.962-1.475.59-3.564.971-5.909.971-2.345 0-4.434-.382-5.909-.971-.74-.296-1.287-.63-1.638-.962-.35-.33-.453-.606-.453-.817h-.013L4 18.487V14.37z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nDatabaseIcon.defaultProps = {\n className: 'octicon octicon-database',\n size: 16,\n verticalAlign: 'text-bottom'\n};\n\nfunction DependabotIcon(props) {\n var svgDataByHeight = { \"16\": { \"width\": 16, \"path\": \"<path d=\\\"M5.75 7.5a.75.75 0 01.75.75v1.5a.75.75 0 01-1.5 0v-1.5a.75.75 0 01.75-.75zm5.25.75a.75.75 0 00-1.5 0v1.5a.75.75 0 001.5 0v-1.5z\\\"></path><path fill-rule=\\\"evenodd\\\" d=\\\"M6.25 0a.75.75 0 000 1.5H7.5v2H3.75A2.25 2.25 0 001.5 5.75V8H.75a.75.75 0 000 1.5h.75v2.75a2.25 2.25 0 002.25 2.25h8.5a2.25 2.25 0 002.25-2.25V9.5h.75a.75.75 0 000-1.5h-.75V5.75a2.25 2.25 0 00-2.25-2.25H9V.75A.75.75 0 008.25 0h-2zM3 5.75A.75.75 0 013.75 5h8.5a.75.75 0 01.75.75v6.5a.75.75 0 01-.75.75h-8.5a.75.75 0 01-.75-.75v-6.5z\\\"></path>\" }, \"24\": { \"width\": 24, \"path\": \"<path d=\\\"M8.75 11a.75.75 0 01.75.75v3.5a.75.75 0 01-1.5 0v-3.5a.75.75 0 01.75-.75zm7.25.75a.75.75 0 00-1.5 0v3.5a.75.75 0 001.5 0v-3.5z\\\"></path><path fill-rule=\\\"evenodd\\\" d=\\\"M9.813 1a.75.75 0 000 1.5H11.5V5H4.25A2.25 2.25 0 002 7.25v5.25H.75a.75.75 0 000 1.5H2v5.75A2.25 2.25 0 004.25 22h15.5A2.25 2.25 0 0022 19.75V14h1.25a.75.75 0 000-1.5H22V7.25A2.25 2.25 0 0019.75 5H13V1.75a.75.75 0 00-.75-.75H9.812zM3.5 7.25a.75.75 0 01.75-.75h15.5a.75.75 0 01.75.75v12.5a.75.75 0 01-.75.75H4.25a.75.75 0 01-.75-.75V7.25z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nDependabotIcon.defaultProps = {\n className: 'octicon octicon-dependabot',\n size: 16,\n verticalAlign: 'text-bottom'\n};\n\nfunction DesktopDownloadIcon(props) {\n var svgDataByHeight = { \"16\": { \"width\": 16, \"path\": \"<path d=\\\"M4.927 5.427l2.896 2.896a.25.25 0 00.354 0l2.896-2.896A.25.25 0 0010.896 5H8.75V.75a.75.75 0 10-1.5 0V5H5.104a.25.25 0 00-.177.427z\\\"></path><path d=\\\"M1.573 2.573a.25.25 0 00-.073.177v7.5a.25.25 0 00.25.25h12.5a.25.25 0 00.25-.25v-7.5a.25.25 0 00-.25-.25h-3a.75.75 0 110-1.5h3A1.75 1.75 0 0116 2.75v7.5A1.75 1.75 0 0114.25 12h-3.727c.099 1.041.52 1.872 1.292 2.757A.75.75 0 0111.25 16h-6.5a.75.75 0 01-.565-1.243c.772-.885 1.192-1.716 1.292-2.757H1.75A1.75 1.75 0 010 10.25v-7.5A1.75 1.75 0 011.75 1h3a.75.75 0 010 1.5h-3a.25.25 0 00-.177.073zM6.982 12a5.72 5.72 0 01-.765 2.5h3.566a5.72 5.72 0 01-.765-2.5H6.982z\\\"></path>\" }, \"24\": { \"width\": 24, \"path\": \"<path d=\\\"M11.25 9.331V.75a.75.75 0 011.5 0v8.58l1.949-2.11A.75.75 0 1115.8 8.237l-3.25 3.52a.75.75 0 01-1.102 0l-3.25-3.52A.75.75 0 119.3 7.22l1.949 2.111z\\\"></path><path fill-rule=\\\"evenodd\\\" d=\\\"M2.5 3.75a.25.25 0 01.25-.25h5.5a.75.75 0 100-1.5h-5.5A1.75 1.75 0 001 3.75v11.5c0 .966.784 1.75 1.75 1.75h6.204c-.171 1.375-.805 2.652-1.77 3.757A.75.75 0 007.75 22h8.5a.75.75 0 00.565-1.243c-.964-1.105-1.598-2.382-1.769-3.757h6.204A1.75 1.75 0 0023 15.25V3.75A1.75 1.75 0 0021.25 2h-5.5a.75.75 0 000 1.5h5.5a.25.25 0 01.25.25v11.5a.25.25 0 01-.25.25H2.75a.25.25 0 01-.25-.25V3.75zM10.463 17c-.126 1.266-.564 2.445-1.223 3.5h5.52c-.66-1.055-1.098-2.234-1.223-3.5h-3.074z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nDesktopDownloadIcon.defaultProps = {\n className: 'octicon octicon-desktop-download',\n size: 16,\n verticalAlign: 'text-bottom'\n};\n\nfunction DeviceCameraIcon(props) {\n var svgDataByHeight = { \"16\": { \"width\": 16, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M15 3H7c0-.55-.45-1-1-1H2c-.55 0-1 .45-1 1-.55 0-1 .45-1 1v9c0 .55.45 1 1 1h14c.55 0 1-.45 1-1V4c0-.55-.45-1-1-1zM6 5H2V4h4v1zm4.5 7C8.56 12 7 10.44 7 8.5S8.56 5 10.5 5 14 6.56 14 8.5 12.44 12 10.5 12zM13 8.5c0 1.38-1.13 2.5-2.5 2.5S8 9.87 8 8.5 9.13 6 10.5 6 13 7.13 13 8.5z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nDeviceCameraIcon.defaultProps = {\n className: 'octicon octicon-device-camera',\n size: 16,\n verticalAlign: 'text-bottom'\n};\n\nfunction DeviceCameraVideoIcon(props) {\n var svgDataByHeight = { \"16\": { \"width\": 16, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M16 3.75a.75.75 0 00-1.136-.643L11 5.425V4.75A1.75 1.75 0 009.25 3h-7.5A1.75 1.75 0 000 4.75v6.5C0 12.216.784 13 1.75 13h7.5A1.75 1.75 0 0011 11.25v-.675l3.864 2.318A.75.75 0 0016 12.25v-8.5zm-5 5.075l3.5 2.1v-5.85l-3.5 2.1v1.65zM9.5 6.75v-2a.25.25 0 00-.25-.25h-7.5a.25.25 0 00-.25.25v6.5c0 .138.112.25.25.25h7.5a.25.25 0 00.25-.25v-4.5z\\\"></path>\" }, \"24\": { \"width\": 24, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M24 5.25a.75.75 0 00-1.136-.643L16.5 8.425V6.25a1.75 1.75 0 00-1.75-1.75h-13A1.75 1.75 0 000 6.25v11C0 18.216.784 19 1.75 19h13a1.75 1.75 0 001.75-1.75v-2.175l6.364 3.818A.75.75 0 0024 18.25v-13zm-7.5 8.075l6 3.6V6.575l-6 3.6v3.15zM15 9.75v-3.5a.25.25 0 00-.25-.25h-13a.25.25 0 00-.25.25v11c0 .138.112.25.25.25h13a.25.25 0 00.25-.25v-7.5z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nDeviceCameraVideoIcon.defaultProps = {\n className: 'octicon octicon-device-camera-video',\n size: 16,\n verticalAlign: 'text-bottom'\n};\n\nfunction DeviceDesktopIcon(props) {\n var svgDataByHeight = { \"16\": { \"width\": 16, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M1.75 2.5h12.5a.25.25 0 01.25.25v7.5a.25.25 0 01-.25.25H1.75a.25.25 0 01-.25-.25v-7.5a.25.25 0 01.25-.25zM14.25 1H1.75A1.75 1.75 0 000 2.75v7.5C0 11.216.784 12 1.75 12h3.727c-.1 1.041-.52 1.872-1.292 2.757A.75.75 0 004.75 16h6.5a.75.75 0 00.565-1.243c-.772-.885-1.193-1.716-1.292-2.757h3.727A1.75 1.75 0 0016 10.25v-7.5A1.75 1.75 0 0014.25 1zM9.018 12H6.982a5.72 5.72 0 01-.765 2.5h3.566a5.72 5.72 0 01-.765-2.5z\\\"></path>\" }, \"24\": { \"width\": 24, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M8.954 17H2.75A1.75 1.75 0 011 15.25V3.75C1 2.784 1.784 2 2.75 2h18.5c.966 0 1.75.784 1.75 1.75v11.5A1.75 1.75 0 0121.25 17h-6.204c.171 1.375.805 2.652 1.769 3.757A.75.75 0 0116.25 22h-8.5a.75.75 0 01-.565-1.243c.964-1.105 1.598-2.382 1.769-3.757zM21.5 3.75v11.5a.25.25 0 01-.25.25H2.75a.25.25 0 01-.25-.25V3.75a.25.25 0 01.25-.25h18.5a.25.25 0 01.25.25zM13.537 17c.125 1.266.564 2.445 1.223 3.5H9.24c.659-1.055 1.097-2.234 1.223-3.5h3.074z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nDeviceDesktopIcon.defaultProps = {\n className: 'octicon octicon-device-desktop',\n size: 16,\n verticalAlign: 'text-bottom'\n};\n\nfunction DeviceMobileIcon(props) {\n var svgDataByHeight = { \"16\": { \"width\": 16, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M3.75 0A1.75 1.75 0 002 1.75v12.5c0 .966.784 1.75 1.75 1.75h8.5A1.75 1.75 0 0014 14.25V1.75A1.75 1.75 0 0012.25 0h-8.5zM3.5 1.75a.25.25 0 01.25-.25h8.5a.25.25 0 01.25.25v12.5a.25.25 0 01-.25.25h-8.5a.25.25 0 01-.25-.25V1.75zM8 13a1 1 0 100-2 1 1 0 000 2z\\\"></path>\" }, \"24\": { \"width\": 24, \"path\": \"<path d=\\\"M10.25 5.25A.75.75 0 0111 4.5h2A.75.75 0 0113 6h-2a.75.75 0 01-.75-.75zM12 19.5a1 1 0 100-2 1 1 0 000 2z\\\"></path><path fill-rule=\\\"evenodd\\\" d=\\\"M4 2.75C4 1.784 4.784 1 5.75 1h12.5c.966 0 1.75.784 1.75 1.75v18.5A1.75 1.75 0 0118.25 23H5.75A1.75 1.75 0 014 21.25V2.75zm1.75-.25a.25.25 0 00-.25.25v18.5c0 .138.112.25.25.25h12.5a.25.25 0 00.25-.25V2.75a.25.25 0 00-.25-.25H5.75z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nDeviceMobileIcon.defaultProps = {\n className: 'octicon octicon-device-mobile',\n size: 16,\n verticalAlign: 'text-bottom'\n};\n\nfunction DiffIcon(props) {\n var svgDataByHeight = { \"16\": { \"width\": 16, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M8.75 1.75a.75.75 0 00-1.5 0V5H4a.75.75 0 000 1.5h3.25v3.25a.75.75 0 001.5 0V6.5H12A.75.75 0 0012 5H8.75V1.75zM4 13a.75.75 0 000 1.5h8a.75.75 0 100-1.5H4z\\\"></path>\" }, \"24\": { \"width\": 24, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M12.25 3.5a.75.75 0 01.75.75V8.5h4.25a.75.75 0 010 1.5H13v4.25a.75.75 0 01-1.5 0V10H7.25a.75.75 0 010-1.5h4.25V4.25a.75.75 0 01.75-.75zM6.562 19.25a.75.75 0 01.75-.75h9.938a.75.75 0 010 1.5H7.312a.75.75 0 01-.75-.75z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nDiffIcon.defaultProps = {\n className: 'octicon octicon-diff',\n size: 16,\n verticalAlign: 'text-bottom'\n};\n\nfunction DiffAddedIcon(props) {\n var svgDataByHeight = { \"16\": { \"width\": 16, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M13.25 2.5H2.75a.25.25 0 00-.25.25v10.5c0 .138.112.25.25.25h10.5a.25.25 0 00.25-.25V2.75a.25.25 0 00-.25-.25zM2.75 1h10.5c.966 0 1.75.784 1.75 1.75v10.5A1.75 1.75 0 0113.25 15H2.75A1.75 1.75 0 011 13.25V2.75C1 1.784 1.784 1 2.75 1zM8 4a.75.75 0 01.75.75v2.5h2.5a.75.75 0 010 1.5h-2.5v2.5a.75.75 0 01-1.5 0v-2.5h-2.5a.75.75 0 010-1.5h2.5v-2.5A.75.75 0 018 4z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nDiffAddedIcon.defaultProps = {\n className: 'octicon octicon-diff-added',\n size: 16,\n verticalAlign: 'text-bottom'\n};\n\nfunction DiffIgnoredIcon(props) {\n var svgDataByHeight = { \"16\": { \"width\": 16, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M2.75 2.5h10.5a.25.25 0 01.25.25v10.5a.25.25 0 01-.25.25H2.75a.25.25 0 01-.25-.25V2.75a.25.25 0 01.25-.25zM13.25 1H2.75A1.75 1.75 0 001 2.75v10.5c0 .966.784 1.75 1.75 1.75h10.5A1.75 1.75 0 0015 13.25V2.75A1.75 1.75 0 0013.25 1zm-1.97 4.78a.75.75 0 00-1.06-1.06l-5.5 5.5a.75.75 0 101.06 1.06l5.5-5.5z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nDiffIgnoredIcon.defaultProps = {\n className: 'octicon octicon-diff-ignored',\n size: 16,\n verticalAlign: 'text-bottom'\n};\n\nfunction DiffModifiedIcon(props) {\n var svgDataByHeight = { \"16\": { \"width\": 16, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M2.75 2.5h10.5a.25.25 0 01.25.25v10.5a.25.25 0 01-.25.25H2.75a.25.25 0 01-.25-.25V2.75a.25.25 0 01.25-.25zM13.25 1H2.75A1.75 1.75 0 001 2.75v10.5c0 .966.784 1.75 1.75 1.75h10.5A1.75 1.75 0 0015 13.25V2.75A1.75 1.75 0 0013.25 1zM8 10a2 2 0 100-4 2 2 0 000 4z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nDiffModifiedIcon.defaultProps = {\n className: 'octicon octicon-diff-modified',\n size: 16,\n verticalAlign: 'text-bottom'\n};\n\nfunction DiffRemovedIcon(props) {\n var svgDataByHeight = { \"16\": { \"width\": 16, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M2.75 2.5h10.5a.25.25 0 01.25.25v10.5a.25.25 0 01-.25.25H2.75a.25.25 0 01-.25-.25V2.75a.25.25 0 01.25-.25zM13.25 1H2.75A1.75 1.75 0 001 2.75v10.5c0 .966.784 1.75 1.75 1.75h10.5A1.75 1.75 0 0015 13.25V2.75A1.75 1.75 0 0013.25 1zm-2 7.75a.75.75 0 000-1.5h-6.5a.75.75 0 000 1.5h6.5z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nDiffRemovedIcon.defaultProps = {\n className: 'octicon octicon-diff-removed',\n size: 16,\n verticalAlign: 'text-bottom'\n};\n\nfunction DiffRenamedIcon(props) {\n var svgDataByHeight = { \"16\": { \"width\": 16, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M2.75 2.5h10.5a.25.25 0 01.25.25v10.5a.25.25 0 01-.25.25H2.75a.25.25 0 01-.25-.25V2.75a.25.25 0 01.25-.25zM13.25 1H2.75A1.75 1.75 0 001 2.75v10.5c0 .966.784 1.75 1.75 1.75h10.5A1.75 1.75 0 0015 13.25V2.75A1.75 1.75 0 0013.25 1zm-1.47 7.53a.75.75 0 000-1.06L8.53 4.22a.75.75 0 00-1.06 1.06l1.97 1.97H4.75a.75.75 0 000 1.5h4.69l-1.97 1.97a.75.75 0 101.06 1.06l3.25-3.25z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nDiffRenamedIcon.defaultProps = {\n className: 'octicon octicon-diff-renamed',\n size: 16,\n verticalAlign: 'text-bottom'\n};\n\nfunction DotIcon(props) {\n var svgDataByHeight = { \"16\": { \"width\": 16, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M8 5.5a2.5 2.5 0 100 5 2.5 2.5 0 000-5zM4 8a4 4 0 118 0 4 4 0 01-8 0z\\\"></path>\" }, \"24\": { \"width\": 24, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M12 16.5a4.5 4.5 0 100-9 4.5 4.5 0 000 9zm0 1.5a6 6 0 100-12 6 6 0 000 12z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nDotIcon.defaultProps = {\n className: 'octicon octicon-dot',\n size: 16,\n verticalAlign: 'text-bottom'\n};\n\nfunction DotFillIcon(props) {\n var svgDataByHeight = { \"16\": { \"width\": 16, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M8 4a4 4 0 100 8 4 4 0 000-8z\\\"></path>\" }, \"24\": { \"width\": 24, \"path\": \"<path d=\\\"M12 18a6 6 0 100-12 6 6 0 000 12z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nDotFillIcon.defaultProps = {\n className: 'octicon octicon-dot-fill',\n size: 16,\n verticalAlign: 'text-bottom'\n};\n\nfunction DownloadIcon(props) {\n var svgDataByHeight = { \"16\": { \"width\": 16, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M7.47 10.78a.75.75 0 001.06 0l3.75-3.75a.75.75 0 00-1.06-1.06L8.75 8.44V1.75a.75.75 0 00-1.5 0v6.69L4.78 5.97a.75.75 0 00-1.06 1.06l3.75 3.75zM3.75 13a.75.75 0 000 1.5h8.5a.75.75 0 000-1.5h-8.5z\\\"></path>\" }, \"24\": { \"width\": 24, \"path\": \"<path d=\\\"M4.97 11.03a.75.75 0 111.06-1.06L11 14.94V2.75a.75.75 0 011.5 0v12.19l4.97-4.97a.75.75 0 111.06 1.06l-6.25 6.25a.75.75 0 01-1.06 0l-6.25-6.25zm-.22 9.47a.75.75 0 000 1.5h14.5a.75.75 0 000-1.5H4.75z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nDownloadIcon.defaultProps = {\n className: 'octicon octicon-download',\n size: 16,\n verticalAlign: 'text-bottom'\n};\n\nfunction DuplicateIcon(props) {\n var svgDataByHeight = { \"16\": { \"width\": 16, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M0 6.75C0 5.784.784 5 1.75 5h1.5a.75.75 0 010 1.5h-1.5a.25.25 0 00-.25.25v7.5c0 .138.112.25.25.25h7.5a.25.25 0 00.25-.25v-1.5a.75.75 0 011.5 0v1.5A1.75 1.75 0 019.25 16h-7.5A1.75 1.75 0 010 14.25v-7.5z\\\"></path><path fill-rule=\\\"evenodd\\\" d=\\\"M5 1.75C5 .784 5.784 0 6.75 0h7.5C15.216 0 16 .784 16 1.75v7.5A1.75 1.75 0 0114.25 11h-7.5A1.75 1.75 0 015 9.25v-7.5zm1.75-.25a.25.25 0 00-.25.25v7.5c0 .138.112.25.25.25h7.5a.25.25 0 00.25-.25v-7.5a.25.25 0 00-.25-.25h-7.5z\\\"></path>\" }, \"24\": { \"width\": 24, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M2 9.75C2 8.784 2.784 8 3.75 8h2.5a.75.75 0 010 1.5h-2.5a.25.25 0 00-.25.25v10.5c0 .138.112.25.25.25h10.5a.25.25 0 00.25-.25v-2.5a.75.75 0 011.5 0v2.5A1.75 1.75 0 0114.25 22H3.75A1.75 1.75 0 012 20.25V9.75z\\\"></path><path fill-rule=\\\"evenodd\\\" d=\\\"M8 3.75C8 2.784 8.784 2 9.75 2h10.5c.966 0 1.75.784 1.75 1.75v10.5A1.75 1.75 0 0120.25 16H9.75A1.75 1.75 0 018 14.25V3.75zm1.75-.25a.25.25 0 00-.25.25v10.5c0 .138.112.25.25.25h10.5a.25.25 0 00.25-.25V3.75a.25.25 0 00-.25-.25H9.75z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nDuplicateIcon.defaultProps = {\n className: 'octicon octicon-duplicate',\n size: 16,\n verticalAlign: 'text-bottom'\n};\n\nfunction EllipsisIcon(props) {\n var svgDataByHeight = { \"16\": { \"width\": 16, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M0 5.75C0 4.784.784 4 1.75 4h12.5c.966 0 1.75.784 1.75 1.75v4.5A1.75 1.75 0 0114.25 12H1.75A1.75 1.75 0 010 10.25v-4.5zM4 7a1 1 0 100 2 1 1 0 000-2zm3 1a1 1 0 112 0 1 1 0 01-2 0zm5-1a1 1 0 100 2 1 1 0 000-2z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nEllipsisIcon.defaultProps = {\n className: 'octicon octicon-ellipsis',\n size: 16,\n verticalAlign: 'text-bottom'\n};\n\nfunction EyeIcon(props) {\n var svgDataByHeight = { \"16\": { \"width\": 16, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M1.679 7.932c.412-.621 1.242-1.75 2.366-2.717C5.175 4.242 6.527 3.5 8 3.5c1.473 0 2.824.742 3.955 1.715 1.124.967 1.954 2.096 2.366 2.717a.119.119 0 010 .136c-.412.621-1.242 1.75-2.366 2.717C10.825 11.758 9.473 12.5 8 12.5c-1.473 0-2.824-.742-3.955-1.715C2.92 9.818 2.09 8.69 1.679 8.068a.119.119 0 010-.136zM8 2c-1.981 0-3.67.992-4.933 2.078C1.797 5.169.88 6.423.43 7.1a1.619 1.619 0 000 1.798c.45.678 1.367 1.932 2.637 3.024C4.329 13.008 6.019 14 8 14c1.981 0 3.67-.992 4.933-2.078 1.27-1.091 2.187-2.345 2.637-3.023a1.619 1.619 0 000-1.798c-.45-.678-1.367-1.932-2.637-3.023C11.671 2.992 9.981 2 8 2zm0 8a2 2 0 100-4 2 2 0 000 4z\\\"></path>\" }, \"24\": { \"width\": 24, \"path\": \"<path d=\\\"M15.5 12a3.5 3.5 0 11-7 0 3.5 3.5 0 017 0z\\\"></path><path fill-rule=\\\"evenodd\\\" d=\\\"M12 3.5c-3.432 0-6.125 1.534-8.054 3.24C2.02 8.445.814 10.352.33 11.202a1.6 1.6 0 000 1.598c.484.85 1.69 2.758 3.616 4.46C5.876 18.966 8.568 20.5 12 20.5c3.432 0 6.125-1.534 8.054-3.24 1.926-1.704 3.132-3.611 3.616-4.461a1.6 1.6 0 000-1.598c-.484-.85-1.69-2.757-3.616-4.46C18.124 5.034 15.432 3.5 12 3.5zM1.633 11.945c.441-.774 1.551-2.528 3.307-4.08C6.69 6.314 9.045 5 12 5c2.955 0 5.309 1.315 7.06 2.864 1.756 1.553 2.866 3.307 3.307 4.08a.111.111 0 01.017.056.111.111 0 01-.017.056c-.441.774-1.551 2.527-3.307 4.08C17.31 17.685 14.955 19 12 19c-2.955 0-5.309-1.315-7.06-2.864-1.756-1.553-2.866-3.306-3.307-4.08A.11.11 0 011.616 12a.11.11 0 01.017-.055z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nEyeIcon.defaultProps = {\n className: 'octicon octicon-eye',\n size: 16,\n verticalAlign: 'text-bottom'\n};\n\nfunction EyeClosedIcon(props) {\n var svgDataByHeight = { \"16\": { \"width\": 16, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M.143 2.31a.75.75 0 011.047-.167l14.5 10.5a.75.75 0 11-.88 1.214l-2.248-1.628C11.346 13.19 9.792 14 8 14c-1.981 0-3.67-.992-4.933-2.078C1.797 10.832.88 9.577.43 8.9a1.618 1.618 0 010-1.797c.353-.533.995-1.42 1.868-2.305L.31 3.357A.75.75 0 01.143 2.31zm3.386 3.378a14.21 14.21 0 00-1.85 2.244.12.12 0 00-.022.068c0 .021.006.045.022.068.412.621 1.242 1.75 2.366 2.717C5.175 11.758 6.527 12.5 8 12.5c1.195 0 2.31-.488 3.29-1.191L9.063 9.695A2 2 0 016.058 7.52l-2.53-1.832zM8 3.5c-.516 0-1.017.09-1.499.251a.75.75 0 11-.473-1.423A6.23 6.23 0 018 2c1.981 0 3.67.992 4.933 2.078 1.27 1.091 2.187 2.345 2.637 3.023a1.619 1.619 0 010 1.798c-.11.166-.248.365-.41.587a.75.75 0 11-1.21-.887c.148-.201.272-.382.371-.53a.119.119 0 000-.137c-.412-.621-1.242-1.75-2.366-2.717C10.825 4.242 9.473 3.5 8 3.5z\\\"></path>\" }, \"24\": { \"width\": 24, \"path\": \"<path d=\\\"M8.052 5.837A9.715 9.715 0 0112 5c2.955 0 5.309 1.315 7.06 2.864 1.756 1.553 2.866 3.307 3.307 4.08a.11.11 0 01.016.055.122.122 0 01-.017.06 16.766 16.766 0 01-1.53 2.218.75.75 0 101.163.946 18.253 18.253 0 001.67-2.42 1.607 1.607 0 00.001-1.602c-.485-.85-1.69-2.757-3.616-4.46C18.124 5.034 15.432 3.5 12 3.5c-1.695 0-3.215.374-4.552.963a.75.75 0 00.604 1.373z\\\"></path><path fill-rule=\\\"evenodd\\\" d=\\\"M19.166 17.987C17.328 19.38 14.933 20.5 12 20.5c-3.432 0-6.125-1.534-8.054-3.24C2.02 15.556.814 13.648.33 12.798a1.606 1.606 0 01.001-1.6A18.305 18.305 0 013.648 7.01L1.317 5.362a.75.75 0 11.866-1.224l20.5 14.5a.75.75 0 11-.866 1.224l-2.651-1.875zM4.902 7.898c-1.73 1.541-2.828 3.273-3.268 4.044a.118.118 0 00-.017.059c0 .015.003.034.016.055.441.774 1.551 2.527 3.307 4.08C6.69 17.685 9.045 19 12 19c2.334 0 4.29-.82 5.874-1.927l-3.516-2.487a3.5 3.5 0 01-5.583-3.949L4.902 7.899z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nEyeClosedIcon.defaultProps = {\n className: 'octicon octicon-eye-closed',\n size: 16,\n verticalAlign: 'text-bottom'\n};\n\nfunction FileIcon(props) {\n var svgDataByHeight = { \"16\": { \"width\": 16, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M3.75 1.5a.25.25 0 00-.25.25v11.5c0 .138.112.25.25.25h8.5a.25.25 0 00.25-.25V6H9.75A1.75 1.75 0 018 4.25V1.5H3.75zm5.75.56v2.19c0 .138.112.25.25.25h2.19L9.5 2.06zM2 1.75C2 .784 2.784 0 3.75 0h5.086c.464 0 .909.184 1.237.513l3.414 3.414c.329.328.513.773.513 1.237v8.086A1.75 1.75 0 0112.25 15h-8.5A1.75 1.75 0 012 13.25V1.75z\\\"></path>\" }, \"24\": { \"width\": 24, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M5 2.5a.5.5 0 00-.5.5v18a.5.5 0 00.5.5h14a.5.5 0 00.5-.5V8.5h-4a2 2 0 01-2-2v-4H5zm10 0v4a.5.5 0 00.5.5h4a.5.5 0 00-.146-.336l-4.018-4.018A.5.5 0 0015 2.5zM3 3a2 2 0 012-2h9.982a2 2 0 011.414.586l4.018 4.018A2 2 0 0121 7.018V21a2 2 0 01-2 2H5a2 2 0 01-2-2V3z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nFileIcon.defaultProps = {\n className: 'octicon octicon-file',\n size: 16,\n verticalAlign: 'text-bottom'\n};\n\nfunction FileBadgeIcon(props) {\n var svgDataByHeight = { \"16\": { \"width\": 16, \"path\": \"<path d=\\\"M2.75 1.5a.25.25 0 00-.25.25v11.5c0 .138.112.25.25.25h3.5a.75.75 0 010 1.5h-3.5A1.75 1.75 0 011 13.25V1.75C1 .784 1.784 0 2.75 0h8a1.75 1.75 0 011.508.862.75.75 0 11-1.289.768.25.25 0 00-.219-.13h-8z\\\"></path><path fill-rule=\\\"evenodd\\\" d=\\\"M8 7a4 4 0 116.49 3.13l.995 4.973a.75.75 0 01-.991.852l-2.409-.876a.25.25 0 00-.17 0l-2.409.876a.75.75 0 01-.991-.852l.994-4.973A3.993 3.993 0 018 7zm4-2.5a2.5 2.5 0 100 5 2.5 2.5 0 000-5zm0 6.5a4 4 0 001.104-.154l.649 3.243-1.155-.42c-.386-.14-.81-.14-1.196 0l-1.155.42.649-3.243A4 4 0 0012 11z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nFileBadgeIcon.defaultProps = {\n className: 'octicon octicon-file-badge',\n size: 16,\n verticalAlign: 'text-bottom'\n};\n\nfunction FileBinaryIcon(props) {\n var svgDataByHeight = { \"16\": { \"width\": 16, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M4 1.75C4 .784 4.784 0 5.75 0h5.586c.464 0 .909.184 1.237.513l2.914 2.914c.329.328.513.773.513 1.237v8.586A1.75 1.75 0 0114.25 15h-9a.75.75 0 010-1.5h9a.25.25 0 00.25-.25V6h-2.75A1.75 1.75 0 0110 4.25V1.5H5.75a.25.25 0 00-.25.25v2a.75.75 0 01-1.5 0v-2zm7.5-.188V4.25c0 .138.112.25.25.25h2.688a.252.252 0 00-.011-.013l-2.914-2.914a.272.272 0 00-.013-.011zM0 7.75C0 6.784.784 6 1.75 6h1.5C4.216 6 5 6.784 5 7.75v2.5A1.75 1.75 0 013.25 12h-1.5A1.75 1.75 0 010 10.25v-2.5zm1.75-.25a.25.25 0 00-.25.25v2.5c0 .138.112.25.25.25h1.5a.25.25 0 00.25-.25v-2.5a.25.25 0 00-.25-.25h-1.5zm5-1.5a.75.75 0 000 1.5h.75v3h-.75a.75.75 0 000 1.5h3a.75.75 0 000-1.5H9V6.75A.75.75 0 008.25 6h-1.5z\\\"></path>\" }, \"24\": { \"width\": 24, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M3 3a2 2 0 012-2h9.982a2 2 0 011.414.586l4.018 4.018A2 2 0 0121 7.018V21a2 2 0 01-2 2H4.75a.75.75 0 010-1.5H19a.5.5 0 00.5-.5V8.5h-4a2 2 0 01-2-2v-4H5a.5.5 0 00-.5.5v6.25a.75.75 0 01-1.5 0V3zm12-.5v4a.5.5 0 00.5.5h4a.5.5 0 00-.146-.336l-4.018-4.018A.5.5 0 0015 2.5z\\\"></path><path fill-rule=\\\"evenodd\\\" d=\\\"M0 13.75C0 12.784.784 12 1.75 12h3c.966 0 1.75.784 1.75 1.75v4a1.75 1.75 0 01-1.75 1.75h-3A1.75 1.75 0 010 17.75v-4zm1.75-.25a.25.25 0 00-.25.25v4c0 .138.112.25.25.25h3a.25.25 0 00.25-.25v-4a.25.25 0 00-.25-.25h-3z\\\"></path><path d=\\\"M9 12a.75.75 0 000 1.5h1.5V18H9a.75.75 0 000 1.5h4.5a.75.75 0 000-1.5H12v-5.25a.75.75 0 00-.75-.75H9z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nFileBinaryIcon.defaultProps = {\n className: 'octicon octicon-file-binary',\n size: 16,\n verticalAlign: 'text-bottom'\n};\n\nfunction FileCodeIcon(props) {\n var svgDataByHeight = { \"16\": { \"width\": 16, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M4 1.75C4 .784 4.784 0 5.75 0h5.586c.464 0 .909.184 1.237.513l2.914 2.914c.329.328.513.773.513 1.237v8.586A1.75 1.75 0 0114.25 15h-9a.75.75 0 010-1.5h9a.25.25 0 00.25-.25V6h-2.75A1.75 1.75 0 0110 4.25V1.5H5.75a.25.25 0 00-.25.25v2.5a.75.75 0 01-1.5 0v-2.5zm7.5-.188V4.25c0 .138.112.25.25.25h2.688a.252.252 0 00-.011-.013l-2.914-2.914a.272.272 0 00-.013-.011zM5.72 6.72a.75.75 0 000 1.06l1.47 1.47-1.47 1.47a.75.75 0 101.06 1.06l2-2a.75.75 0 000-1.06l-2-2a.75.75 0 00-1.06 0zM3.28 7.78a.75.75 0 00-1.06-1.06l-2 2a.75.75 0 000 1.06l2 2a.75.75 0 001.06-1.06L1.81 9.25l1.47-1.47z\\\"></path>\" }, \"24\": { \"width\": 24, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M3 3a2 2 0 012-2h9.982a2 2 0 011.414.586l4.018 4.018A2 2 0 0121 7.018V21a2 2 0 01-2 2H4.75a.75.75 0 010-1.5H19a.5.5 0 00.5-.5V8.5h-4a2 2 0 01-2-2v-4H5a.5.5 0 00-.5.5v6.25a.75.75 0 01-1.5 0V3zm12-.5v4a.5.5 0 00.5.5h4a.5.5 0 00-.146-.336l-4.018-4.018A.5.5 0 0015 2.5z\\\"></path><path d=\\\"M4.53 12.24a.75.75 0 01-.039 1.06l-2.639 2.45 2.64 2.45a.75.75 0 11-1.022 1.1l-3.23-3a.75.75 0 010-1.1l3.23-3a.75.75 0 011.06.04zm3.979 1.06a.75.75 0 111.02-1.1l3.231 3a.75.75 0 010 1.1l-3.23 3a.75.75 0 11-1.021-1.1l2.639-2.45-2.64-2.45z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nFileCodeIcon.defaultProps = {\n className: 'octicon octicon-file-code',\n size: 16,\n verticalAlign: 'text-bottom'\n};\n\nfunction FileDiffIcon(props) {\n var svgDataByHeight = { \"16\": { \"width\": 16, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M2.75 1.5a.25.25 0 00-.25.25v12.5c0 .138.112.25.25.25h10.5a.25.25 0 00.25-.25V4.664a.25.25 0 00-.073-.177l-2.914-2.914a.25.25 0 00-.177-.073H2.75zM1 1.75C1 .784 1.784 0 2.75 0h7.586c.464 0 .909.184 1.237.513l2.914 2.914c.329.328.513.773.513 1.237v9.586A1.75 1.75 0 0113.25 16H2.75A1.75 1.75 0 011 14.25V1.75zm7 1.5a.75.75 0 01.75.75v1.5h1.5a.75.75 0 010 1.5h-1.5v1.5a.75.75 0 01-1.5 0V7h-1.5a.75.75 0 010-1.5h1.5V4A.75.75 0 018 3.25zm-3 8a.75.75 0 01.75-.75h4.5a.75.75 0 010 1.5h-4.5a.75.75 0 01-.75-.75z\\\"></path>\" }, \"24\": { \"width\": 24, \"path\": \"<path d=\\\"M12.5 6.75a.75.75 0 00-1.5 0V9H8.75a.75.75 0 000 1.5H11v2.25a.75.75 0 001.5 0V10.5h2.25a.75.75 0 000-1.5H12.5V6.75zM8.75 16a.75.75 0 000 1.5h6a.75.75 0 000-1.5h-6z\\\"></path><path fill-rule=\\\"evenodd\\\" d=\\\"M5 1a2 2 0 00-2 2v18a2 2 0 002 2h14a2 2 0 002-2V7.018a2 2 0 00-.586-1.414l-4.018-4.018A2 2 0 0014.982 1H5zm-.5 2a.5.5 0 01.5-.5h9.982a.5.5 0 01.354.146l4.018 4.018a.5.5 0 01.146.354V21a.5.5 0 01-.5.5H5a.5.5 0 01-.5-.5V3z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nFileDiffIcon.defaultProps = {\n className: 'octicon octicon-file-diff',\n size: 16,\n verticalAlign: 'text-bottom'\n};\n\nfunction FileDirectoryIcon(props) {\n var svgDataByHeight = { \"16\": { \"width\": 16, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M1.75 1A1.75 1.75 0 000 2.75v10.5C0 14.216.784 15 1.75 15h12.5A1.75 1.75 0 0016 13.25v-8.5A1.75 1.75 0 0014.25 3h-6.5a.25.25 0 01-.2-.1l-.9-1.2c-.33-.44-.85-.7-1.4-.7h-3.5z\\\"></path>\" }, \"24\": { \"width\": 24, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M3.75 4.5a.25.25 0 00-.25.25v14.5c0 .138.112.25.25.25h16.5a.25.25 0 00.25-.25V7.687a.25.25 0 00-.25-.25h-8.471a1.75 1.75 0 01-1.447-.765L8.928 4.61a.25.25 0 00-.208-.11H3.75zM2 4.75C2 3.784 2.784 3 3.75 3h4.971c.58 0 1.12.286 1.447.765l1.404 2.063a.25.25 0 00.207.11h8.471c.966 0 1.75.783 1.75 1.75V19.25A1.75 1.75 0 0120.25 21H3.75A1.75 1.75 0 012 19.25V4.75z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nFileDirectoryIcon.defaultProps = {\n className: 'octicon octicon-file-directory',\n size: 16,\n verticalAlign: 'text-bottom'\n};\n\nfunction FileDirectoryFillIcon(props) {\n var svgDataByHeight = { \"24\": { \"width\": 24, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M2 4.75C2 3.784 2.784 3 3.75 3h4.971c.58 0 1.12.286 1.447.765l1.404 2.063a.25.25 0 00.207.11h8.471c.966 0 1.75.783 1.75 1.75V19.25A1.75 1.75 0 0120.25 21H3.75A1.75 1.75 0 012 19.25V4.75z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nFileDirectoryFillIcon.defaultProps = {\n className: 'octicon octicon-file-directory-fill',\n size: 16,\n verticalAlign: 'text-bottom'\n};\n\nfunction FileMediaIcon(props) {\n var svgDataByHeight = { \"24\": { \"width\": 24, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M2.25 4a.25.25 0 00-.25.25v15.5c0 .138.112.25.25.25h3.178L14 10.977a1.75 1.75 0 012.506-.032L22 16.44V4.25a.25.25 0 00-.25-.25H2.25zm3.496 17.5H21.75a1.75 1.75 0 001.75-1.75V4.25a1.75 1.75 0 00-1.75-1.75H2.25A1.75 1.75 0 00.5 4.25v15.5c0 .966.784 1.75 1.75 1.75h3.496zM22 19.75v-1.19l-6.555-6.554a.25.25 0 00-.358.004L7.497 20H21.75a.25.25 0 00.25-.25zM9 9.25a1.75 1.75 0 11-3.5 0 1.75 1.75 0 013.5 0zm1.5 0a3.25 3.25 0 11-6.5 0 3.25 3.25 0 016.5 0z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nFileMediaIcon.defaultProps = {\n className: 'octicon octicon-file-media',\n size: 16,\n verticalAlign: 'text-bottom'\n};\n\nfunction FileSubmoduleIcon(props) {\n var svgDataByHeight = { \"16\": { \"width\": 16, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M0 2.75C0 1.784.784 1 1.75 1H5c.55 0 1.07.26 1.4.7l.9 1.2a.25.25 0 00.2.1h6.75c.966 0 1.75.784 1.75 1.75v8.5A1.75 1.75 0 0114.25 15H1.75A1.75 1.75 0 010 13.25V2.75zm9.42 9.36l2.883-2.677a.25.25 0 000-.366L9.42 6.39a.25.25 0 00-.42.183V8.5H4.75a.75.75 0 100 1.5H9v1.927c0 .218.26.331.42.183z\\\"></path>\" }, \"24\": { \"width\": 24, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M2 4.75C2 3.784 2.784 3 3.75 3h4.965a1.75 1.75 0 011.456.78l1.406 2.109a.25.25 0 00.208.111h8.465c.966 0 1.75.784 1.75 1.75v11.5A1.75 1.75 0 0120.25 21H3.75A1.75 1.75 0 012 19.25V4.75zm12.78 4.97a.75.75 0 10-1.06 1.06l1.72 1.72H6.75a.75.75 0 000 1.5h8.69l-1.72 1.72a.75.75 0 101.06 1.06l3-3a.75.75 0 000-1.06l-3-3z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nFileSubmoduleIcon.defaultProps = {\n className: 'octicon octicon-file-submodule',\n size: 16,\n verticalAlign: 'text-bottom'\n};\n\nfunction FileSymlinkFileIcon(props) {\n var svgDataByHeight = { \"16\": { \"width\": 16, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M2 1.75C2 .784 2.784 0 3.75 0h5.586c.464 0 .909.184 1.237.513l2.914 2.914c.329.328.513.773.513 1.237v8.586A1.75 1.75 0 0112.25 15h-7a.75.75 0 010-1.5h7a.25.25 0 00.25-.25V6H9.75A1.75 1.75 0 018 4.25V1.5H3.75a.25.25 0 00-.25.25V4.5a.75.75 0 01-1.5 0V1.75zm7.5-.188V4.25c0 .138.112.25.25.25h2.688a.252.252 0 00-.011-.013L9.513 1.573a.248.248 0 00-.013-.011zm-8 10.675a2.25 2.25 0 012.262-2.25L4 9.99v1.938c0 .218.26.331.42.183l2.883-2.677a.25.25 0 000-.366L4.42 6.39a.25.25 0 00-.42.183V8.49l-.23-.001A3.75 3.75 0 000 12.238v1.012a.75.75 0 001.5 0v-1.013z\\\"></path>\" }, \"24\": { \"width\": 24, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M3 3a2 2 0 012-2h9.982a2 2 0 011.414.586l4.018 4.018A2 2 0 0121 7.018V21a2 2 0 01-2 2H4.75a.75.75 0 010-1.5H19a.5.5 0 00.5-.5V8.5h-4a2 2 0 01-2-2v-4H5a.5.5 0 00-.5.5v6.25a.75.75 0 01-1.5 0V3zm12-.5v4a.5.5 0 00.5.5h4a.5.5 0 00-.146-.336l-4.018-4.018A.5.5 0 0015 2.5zm-5.692 12l-2.104-2.236a.75.75 0 111.092-1.028l3.294 3.5a.75.75 0 010 1.028l-3.294 3.5a.75.75 0 11-1.092-1.028L9.308 16H4.09a2.59 2.59 0 00-2.59 2.59v3.16a.75.75 0 01-1.5 0v-3.16a4.09 4.09 0 014.09-4.09h5.218z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nFileSymlinkFileIcon.defaultProps = {\n className: 'octicon octicon-file-symlink-file',\n size: 16,\n verticalAlign: 'text-bottom'\n};\n\nfunction FileZipIcon(props) {\n var svgDataByHeight = { \"16\": { \"width\": 16, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M3.5 1.75a.25.25 0 01.25-.25h3a.75.75 0 000 1.5h.5a.75.75 0 000-1.5h2.086a.25.25 0 01.177.073l2.914 2.914a.25.25 0 01.073.177v8.586a.25.25 0 01-.25.25h-.5a.75.75 0 000 1.5h.5A1.75 1.75 0 0014 13.25V4.664c0-.464-.184-.909-.513-1.237L10.573.513A1.75 1.75 0 009.336 0H3.75A1.75 1.75 0 002 1.75v11.5c0 .649.353 1.214.874 1.515a.75.75 0 10.752-1.298.25.25 0 01-.126-.217V1.75zM8.75 3a.75.75 0 000 1.5h.5a.75.75 0 000-1.5h-.5zM6 5.25a.75.75 0 01.75-.75h.5a.75.75 0 010 1.5h-.5A.75.75 0 016 5.25zm2 1.5A.75.75 0 018.75 6h.5a.75.75 0 010 1.5h-.5A.75.75 0 018 6.75zm-1.25.75a.75.75 0 000 1.5h.5a.75.75 0 000-1.5h-.5zM8 9.75A.75.75 0 018.75 9h.5a.75.75 0 010 1.5h-.5A.75.75 0 018 9.75zm-.75.75a1.75 1.75 0 00-1.75 1.75v3c0 .414.336.75.75.75h2.5a.75.75 0 00.75-.75v-3a1.75 1.75 0 00-1.75-1.75h-.5zM7 12.25a.25.25 0 01.25-.25h.5a.25.25 0 01.25.25v2.25H7v-2.25z\\\"></path>\" }, \"24\": { \"width\": 24, \"path\": \"<path d=\\\"M5 2.5a.5.5 0 00-.5.5v18a.5.5 0 00.5.5h1.75a.75.75 0 010 1.5H5a2 2 0 01-2-2V3a2 2 0 012-2h9.982a2 2 0 011.414.586l4.018 4.018A2 2 0 0121 7.018V21a2 2 0 01-2 2h-2.75a.75.75 0 010-1.5H19a.5.5 0 00.5-.5V7.018a.5.5 0 00-.146-.354l-4.018-4.018a.5.5 0 00-.354-.146H5z\\\"></path><path d=\\\"M11.5 15.75a.75.75 0 01.75-.75h1a.75.75 0 010 1.5h-1a.75.75 0 01-.75-.75zm.75-3.75a.75.75 0 000 1.5h1a.75.75 0 000-1.5h-1zm-.75-2.25a.75.75 0 01.75-.75h1a.75.75 0 010 1.5h-1a.75.75 0 01-.75-.75zM12.25 6a.75.75 0 000 1.5h1a.75.75 0 000-1.5h-1zm-.75-2.25a.75.75 0 01.75-.75h1a.75.75 0 010 1.5h-1a.75.75 0 01-.75-.75zM9.75 13.5a.75.75 0 000 1.5h1a.75.75 0 000-1.5h-1zM9 11.25a.75.75 0 01.75-.75h1a.75.75 0 010 1.5h-1a.75.75 0 01-.75-.75zm.75-3.75a.75.75 0 000 1.5h1a.75.75 0 000-1.5h-1zM9 5.25a.75.75 0 01.75-.75h1a.75.75 0 010 1.5h-1A.75.75 0 019 5.25z\\\"></path><path fill-rule=\\\"evenodd\\\" d=\\\"M11 17a2 2 0 00-2 2v4.25c0 .414.336.75.75.75h3.5a.75.75 0 00.75-.75V19a2 2 0 00-2-2h-1zm-.5 2a.5.5 0 01.5-.5h1a.5.5 0 01.5.5v3.5h-2V19z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nFileZipIcon.defaultProps = {\n className: 'octicon octicon-file-zip',\n size: 16,\n verticalAlign: 'text-bottom'\n};\n\nfunction FilterIcon(props) {\n var svgDataByHeight = { \"16\": { \"width\": 16, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M.75 3a.75.75 0 000 1.5h14.5a.75.75 0 000-1.5H.75zM3 7.75A.75.75 0 013.75 7h8.5a.75.75 0 010 1.5h-8.5A.75.75 0 013 7.75zm3 4a.75.75 0 01.75-.75h2.5a.75.75 0 010 1.5h-2.5a.75.75 0 01-.75-.75z\\\"></path>\" }, \"24\": { \"width\": 24, \"path\": \"<path d=\\\"M2.75 6a.75.75 0 000 1.5h18.5a.75.75 0 000-1.5H2.75zM6 11.75a.75.75 0 01.75-.75h10.5a.75.75 0 010 1.5H6.75a.75.75 0 01-.75-.75zm4 4.938a.75.75 0 01.75-.75h2.5a.75.75 0 010 1.5h-2.5a.75.75 0 01-.75-.75z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nFilterIcon.defaultProps = {\n className: 'octicon octicon-filter',\n size: 16,\n verticalAlign: 'text-bottom'\n};\n\nfunction FlameIcon(props) {\n var svgDataByHeight = { \"16\": { \"width\": 16, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M7.998 14.5c2.832 0 5-1.98 5-4.5 0-1.463-.68-2.19-1.879-3.383l-.036-.037c-1.013-1.008-2.3-2.29-2.834-4.434-.322.256-.63.579-.864.953-.432.696-.621 1.58-.046 2.73.473.947.67 2.284-.278 3.232-.61.61-1.545.84-2.403.633a2.788 2.788 0 01-1.436-.874A3.21 3.21 0 003 10c0 2.53 2.164 4.5 4.998 4.5zM9.533.753C9.496.34 9.16.009 8.77.146 7.035.75 4.34 3.187 5.997 6.5c.344.689.285 1.218.003 1.5-.419.419-1.54.487-2.04-.832-.173-.454-.659-.762-1.035-.454C2.036 7.44 1.5 8.702 1.5 10c0 3.512 2.998 6 6.498 6s6.5-2.5 6.5-6c0-2.137-1.128-3.26-2.312-4.438-1.19-1.184-2.436-2.425-2.653-4.81z\\\"></path>\" }, \"24\": { \"width\": 24, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M12.185 21.5c4.059 0 7.065-2.84 7.065-6.75 0-2.337-1.093-3.489-2.678-5.158l-.021-.023c-1.44-1.517-3.139-3.351-3.649-6.557a6.14 6.14 0 00-1.911 1.76c-.787 1.144-1.147 2.633-.216 4.495.603 1.205.777 2.74-.277 3.794-.657.657-1.762 1.1-2.956.586-.752-.324-1.353-.955-1.838-1.79-.567.706-.954 1.74-.954 2.893 0 3.847 3.288 6.75 7.435 6.75zm2.08-19.873c-.017-.345-.296-.625-.632-.543-2.337.575-6.605 4.042-4.2 8.854.474.946.392 1.675.004 2.062-.64.64-1.874.684-2.875-1.815-.131-.327-.498-.509-.803-.334-1.547.888-2.509 2.86-2.509 4.899 0 4.829 4.122 8.25 8.935 8.25 4.812 0 8.565-3.438 8.565-8.25 0-2.939-1.466-4.482-3.006-6.102-1.61-1.694-3.479-3.476-3.479-7.021z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nFlameIcon.defaultProps = {\n className: 'octicon octicon-flame',\n size: 16,\n verticalAlign: 'text-bottom'\n};\n\nfunction FoldIcon(props) {\n var svgDataByHeight = { \"16\": { \"width\": 16, \"path\": \"<path d=\\\"M10.896 2H8.75V.75a.75.75 0 00-1.5 0V2H5.104a.25.25 0 00-.177.427l2.896 2.896a.25.25 0 00.354 0l2.896-2.896A.25.25 0 0010.896 2zM8.75 15.25a.75.75 0 01-1.5 0V14H5.104a.25.25 0 01-.177-.427l2.896-2.896a.25.25 0 01.354 0l2.896 2.896a.25.25 0 01-.177.427H8.75v1.25zm-6.5-6.5a.75.75 0 000-1.5h-.5a.75.75 0 000 1.5h.5zM6 8a.75.75 0 01-.75.75h-.5a.75.75 0 010-1.5h.5A.75.75 0 016 8zm2.25.75a.75.75 0 000-1.5h-.5a.75.75 0 000 1.5h.5zM12 8a.75.75 0 01-.75.75h-.5a.75.75 0 010-1.5h.5A.75.75 0 0112 8zm2.25.75a.75.75 0 000-1.5h-.5a.75.75 0 000 1.5h.5z\\\"></path>\" }, \"24\": { \"width\": 24, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M12 15a.75.75 0 01.53.22l3.25 3.25a.75.75 0 11-1.06 1.06L12 16.81l-2.72 2.72a.75.75 0 01-1.06-1.06l3.25-3.25A.75.75 0 0112 15z\\\"></path><path fill-rule=\\\"evenodd\\\" d=\\\"M12 15.75a.75.75 0 01.75.75v5.75a.75.75 0 01-1.5 0V16.5a.75.75 0 01.75-.75zm.53-6.97a.75.75 0 01-1.06 0L8.22 5.53a.75.75 0 011.06-1.06L12 7.19l2.72-2.72a.75.75 0 111.06 1.06l-3.25 3.25z\\\"></path><path fill-rule=\\\"evenodd\\\" d=\\\"M12 8.5a.75.75 0 01-.75-.75v-6a.75.75 0 011.5 0v6a.75.75 0 01-.75.75zM10.75 12a.75.75 0 01.75-.75h1a.75.75 0 010 1.5h-1a.75.75 0 01-.75-.75zm-8 0a.75.75 0 01.75-.75h1a.75.75 0 010 1.5h-1a.75.75 0 01-.75-.75zm12 0a.75.75 0 01.75-.75h1a.75.75 0 010 1.5h-1a.75.75 0 01-.75-.75zm-8 0a.75.75 0 01.75-.75h1a.75.75 0 010 1.5h-1a.75.75 0 01-.75-.75zm12 0a.75.75 0 01.75-.75h1a.75.75 0 010 1.5h-1a.75.75 0 01-.75-.75z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nFoldIcon.defaultProps = {\n className: 'octicon octicon-fold',\n size: 16,\n verticalAlign: 'text-bottom'\n};\n\nfunction FoldDownIcon(props) {\n var svgDataByHeight = { \"16\": { \"width\": 16, \"path\": \"<path d=\\\"M8.177 14.323l2.896-2.896a.25.25 0 00-.177-.427H8.75V7.764a.75.75 0 10-1.5 0V11H5.104a.25.25 0 00-.177.427l2.896 2.896a.25.25 0 00.354 0zM2.25 5a.75.75 0 000-1.5h-.5a.75.75 0 000 1.5h.5zM6 4.25a.75.75 0 01-.75.75h-.5a.75.75 0 010-1.5h.5a.75.75 0 01.75.75zM8.25 5a.75.75 0 000-1.5h-.5a.75.75 0 000 1.5h.5zM12 4.25a.75.75 0 01-.75.75h-.5a.75.75 0 010-1.5h.5a.75.75 0 01.75.75zm2.25.75a.75.75 0 000-1.5h-.5a.75.75 0 000 1.5h.5z\\\"></path>\" }, \"24\": { \"width\": 24, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M12 19a.75.75 0 01-.53-.22l-3.25-3.25a.75.75 0 111.06-1.06L12 17.19l2.72-2.72a.75.75 0 111.06 1.06l-3.25 3.25A.75.75 0 0112 19z\\\"></path><path fill-rule=\\\"evenodd\\\" d=\\\"M12 18a.75.75 0 01-.75-.75v-7.5a.75.75 0 011.5 0v7.5A.75.75 0 0112 18zM10.75 6a.75.75 0 01.75-.75h1a.75.75 0 010 1.5h-1a.75.75 0 01-.75-.75zm-8 0a.75.75 0 01.75-.75h1a.75.75 0 010 1.5h-1A.75.75 0 012.75 6zm12 0a.75.75 0 01.75-.75h1a.75.75 0 010 1.5h-1a.75.75 0 01-.75-.75zm-8 0a.75.75 0 01.75-.75h1a.75.75 0 010 1.5h-1A.75.75 0 016.75 6zm12 0a.75.75 0 01.75-.75h1a.75.75 0 010 1.5h-1a.75.75 0 01-.75-.75z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nFoldDownIcon.defaultProps = {\n className: 'octicon octicon-fold-down',\n size: 16,\n verticalAlign: 'text-bottom'\n};\n\nfunction FoldUpIcon(props) {\n var svgDataByHeight = { \"16\": { \"width\": 16, \"path\": \"<path d=\\\"M7.823 1.677L4.927 4.573A.25.25 0 005.104 5H7.25v3.236a.75.75 0 101.5 0V5h2.146a.25.25 0 00.177-.427L8.177 1.677a.25.25 0 00-.354 0zM13.75 11a.75.75 0 000 1.5h.5a.75.75 0 000-1.5h-.5zm-3.75.75a.75.75 0 01.75-.75h.5a.75.75 0 010 1.5h-.5a.75.75 0 01-.75-.75zM7.75 11a.75.75 0 000 1.5h.5a.75.75 0 000-1.5h-.5zM4 11.75a.75.75 0 01.75-.75h.5a.75.75 0 010 1.5h-.5a.75.75 0 01-.75-.75zM1.75 11a.75.75 0 000 1.5h.5a.75.75 0 000-1.5h-.5z\\\"></path>\" }, \"24\": { \"width\": 24, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M11.47 5.22a.75.75 0 011.06 0l3.25 3.25a.75.75 0 01-1.06 1.06L12 6.81 9.28 9.53a.75.75 0 01-1.06-1.06l3.25-3.25z\\\"></path><path fill-rule=\\\"evenodd\\\" d=\\\"M12 5.5a.75.75 0 01.75.75v8a.75.75 0 01-1.5 0v-8A.75.75 0 0112 5.5zM10.75 18a.75.75 0 01.75-.75h1a.75.75 0 010 1.5h-1a.75.75 0 01-.75-.75zm-8 0a.75.75 0 01.75-.75h1a.75.75 0 010 1.5h-1a.75.75 0 01-.75-.75zm12 0a.75.75 0 01.75-.75h1a.75.75 0 010 1.5h-1a.75.75 0 01-.75-.75zm-8 0a.75.75 0 01.75-.75h1a.75.75 0 010 1.5h-1a.75.75 0 01-.75-.75zm12 0a.75.75 0 01.75-.75h1a.75.75 0 010 1.5h-1a.75.75 0 01-.75-.75z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nFoldUpIcon.defaultProps = {\n className: 'octicon octicon-fold-up',\n size: 16,\n verticalAlign: 'text-bottom'\n};\n\nfunction GearIcon(props) {\n var svgDataByHeight = { \"16\": { \"width\": 16, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M7.429 1.525a6.593 6.593 0 011.142 0c.036.003.108.036.137.146l.289 1.105c.147.56.55.967.997 1.189.174.086.341.183.501.29.417.278.97.423 1.53.27l1.102-.303c.11-.03.175.016.195.046.219.31.41.641.573.989.014.031.022.11-.059.19l-.815.806c-.411.406-.562.957-.53 1.456a4.588 4.588 0 010 .582c-.032.499.119 1.05.53 1.456l.815.806c.08.08.073.159.059.19a6.494 6.494 0 01-.573.99c-.02.029-.086.074-.195.045l-1.103-.303c-.559-.153-1.112-.008-1.529.27-.16.107-.327.204-.5.29-.449.222-.851.628-.998 1.189l-.289 1.105c-.029.11-.101.143-.137.146a6.613 6.613 0 01-1.142 0c-.036-.003-.108-.037-.137-.146l-.289-1.105c-.147-.56-.55-.967-.997-1.189a4.502 4.502 0 01-.501-.29c-.417-.278-.97-.423-1.53-.27l-1.102.303c-.11.03-.175-.016-.195-.046a6.492 6.492 0 01-.573-.989c-.014-.031-.022-.11.059-.19l.815-.806c.411-.406.562-.957.53-1.456a4.587 4.587 0 010-.582c.032-.499-.119-1.05-.53-1.456l-.815-.806c-.08-.08-.073-.159-.059-.19a6.44 6.44 0 01.573-.99c.02-.029.086-.075.195-.045l1.103.303c.559.153 1.112.008 1.529-.27.16-.107.327-.204.5-.29.449-.222.851-.628.998-1.189l.289-1.105c.029-.11.101-.143.137-.146zM8 0c-.236 0-.47.01-.701.03-.743.065-1.29.615-1.458 1.261l-.29 1.106c-.017.066-.078.158-.211.224a5.994 5.994 0 00-.668.386c-.123.082-.233.09-.3.071L3.27 2.776c-.644-.177-1.392.02-1.82.63a7.977 7.977 0 00-.704 1.217c-.315.675-.111 1.422.363 1.891l.815.806c.05.048.098.147.088.294a6.084 6.084 0 000 .772c.01.147-.038.246-.088.294l-.815.806c-.474.469-.678 1.216-.363 1.891.2.428.436.835.704 1.218.428.609 1.176.806 1.82.63l1.103-.303c.066-.019.176-.011.299.071.213.143.436.272.668.386.133.066.194.158.212.224l.289 1.106c.169.646.715 1.196 1.458 1.26a8.094 8.094 0 001.402 0c.743-.064 1.29-.614 1.458-1.26l.29-1.106c.017-.066.078-.158.211-.224a5.98 5.98 0 00.668-.386c.123-.082.233-.09.3-.071l1.102.302c.644.177 1.392-.02 1.82-.63.268-.382.505-.789.704-1.217.315-.675.111-1.422-.364-1.891l-.814-.806c-.05-.048-.098-.147-.088-.294a6.1 6.1 0 000-.772c-.01-.147.039-.246.088-.294l.814-.806c.475-.469.679-1.216.364-1.891a7.992 7.992 0 00-.704-1.218c-.428-.609-1.176-.806-1.82-.63l-1.103.303c-.066.019-.176.011-.299-.071a5.991 5.991 0 00-.668-.386c-.133-.066-.194-.158-.212-.224L10.16 1.29C9.99.645 9.444.095 8.701.031A8.094 8.094 0 008 0zm1.5 8a1.5 1.5 0 11-3 0 1.5 1.5 0 013 0zM11 8a3 3 0 11-6 0 3 3 0 016 0z\\\"></path>\" }, \"24\": { \"width\": 24, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M16 12a4 4 0 11-8 0 4 4 0 018 0zm-1.5 0a2.5 2.5 0 11-5 0 2.5 2.5 0 015 0z\\\"></path><path fill-rule=\\\"evenodd\\\" d=\\\"M12 1c-.268 0-.534.01-.797.028-.763.055-1.345.617-1.512 1.304l-.352 1.45c-.02.078-.09.172-.225.22a8.45 8.45 0 00-.728.303c-.13.06-.246.044-.315.002l-1.274-.776c-.604-.368-1.412-.354-1.99.147-.403.348-.78.726-1.129 1.128-.5.579-.515 1.387-.147 1.99l.776 1.275c.042.069.059.185-.002.315-.112.237-.213.48-.302.728-.05.135-.143.206-.221.225l-1.45.352c-.687.167-1.249.749-1.304 1.512a11.149 11.149 0 000 1.594c.055.763.617 1.345 1.304 1.512l1.45.352c.078.02.172.09.22.225.09.248.191.491.303.729.06.129.044.245.002.314l-.776 1.274c-.368.604-.354 1.412.147 1.99.348.403.726.78 1.128 1.129.579.5 1.387.515 1.99.147l1.275-.776c.069-.042.185-.059.315.002.237.112.48.213.728.302.135.05.206.143.225.221l.352 1.45c.167.687.749 1.249 1.512 1.303a11.125 11.125 0 001.594 0c.763-.054 1.345-.616 1.512-1.303l.352-1.45c.02-.078.09-.172.225-.22.248-.09.491-.191.729-.303.129-.06.245-.044.314-.002l1.274.776c.604.368 1.412.354 1.99-.147.403-.348.78-.726 1.129-1.128.5-.579.515-1.387.147-1.99l-.776-1.275c-.042-.069-.059-.185.002-.315.112-.237.213-.48.302-.728.05-.135.143-.206.221-.225l1.45-.352c.687-.167 1.249-.749 1.303-1.512a11.125 11.125 0 000-1.594c-.054-.763-.616-1.345-1.303-1.512l-1.45-.352c-.078-.02-.172-.09-.22-.225a8.469 8.469 0 00-.303-.728c-.06-.13-.044-.246-.002-.315l.776-1.274c.368-.604.354-1.412-.147-1.99-.348-.403-.726-.78-1.128-1.129-.579-.5-1.387-.515-1.99-.147l-1.275.776c-.069.042-.185.059-.315-.002a8.465 8.465 0 00-.728-.302c-.135-.05-.206-.143-.225-.221l-.352-1.45c-.167-.687-.749-1.249-1.512-1.304A11.149 11.149 0 0012 1zm-.69 1.525a9.648 9.648 0 011.38 0c.055.004.135.05.162.16l.351 1.45c.153.628.626 1.08 1.173 1.278.205.074.405.157.6.249a1.832 1.832 0 001.733-.074l1.275-.776c.097-.06.186-.036.228 0 .348.302.674.628.976.976.036.042.06.13 0 .228l-.776 1.274a1.832 1.832 0 00-.074 1.734c.092.195.175.395.248.6.198.547.652 1.02 1.278 1.172l1.45.353c.111.026.157.106.161.161a9.653 9.653 0 010 1.38c-.004.055-.05.135-.16.162l-1.45.351a1.833 1.833 0 00-1.278 1.173 6.926 6.926 0 01-.25.6 1.832 1.832 0 00.075 1.733l.776 1.275c.06.097.036.186 0 .228a9.555 9.555 0 01-.976.976c-.042.036-.13.06-.228 0l-1.275-.776a1.832 1.832 0 00-1.733-.074 6.926 6.926 0 01-.6.248 1.833 1.833 0 00-1.172 1.278l-.353 1.45c-.026.111-.106.157-.161.161a9.653 9.653 0 01-1.38 0c-.055-.004-.135-.05-.162-.16l-.351-1.45a1.833 1.833 0 00-1.173-1.278 6.928 6.928 0 01-.6-.25 1.832 1.832 0 00-1.734.075l-1.274.776c-.097.06-.186.036-.228 0a9.56 9.56 0 01-.976-.976c-.036-.042-.06-.13 0-.228l.776-1.275a1.832 1.832 0 00.074-1.733 6.948 6.948 0 01-.249-.6 1.833 1.833 0 00-1.277-1.172l-1.45-.353c-.111-.026-.157-.106-.161-.161a9.648 9.648 0 010-1.38c.004-.055.05-.135.16-.162l1.45-.351a1.833 1.833 0 001.278-1.173 6.95 6.95 0 01.249-.6 1.832 1.832 0 00-.074-1.734l-.776-1.274c-.06-.097-.036-.186 0-.228.302-.348.628-.674.976-.976.042-.036.13-.06.228 0l1.274.776a1.832 1.832 0 001.734.074 6.95 6.95 0 01.6-.249 1.833 1.833 0 001.172-1.277l.353-1.45c.026-.111.106-.157.161-.161z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nGearIcon.defaultProps = {\n className: 'octicon octicon-gear',\n size: 16,\n verticalAlign: 'text-bottom'\n};\n\nfunction GiftIcon(props) {\n var svgDataByHeight = { \"16\": { \"width\": 16, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M4.75 1.5a1.25 1.25 0 100 2.5h2.309c-.233-.818-.542-1.401-.878-1.793-.43-.502-.915-.707-1.431-.707zM2 2.75c0 .45.108.875.3 1.25h-.55A1.75 1.75 0 000 5.75v2c0 .698.409 1.3 1 1.582v4.918c0 .966.784 1.75 1.75 1.75h10.5A1.75 1.75 0 0015 14.25V9.332c.591-.281 1-.884 1-1.582v-2A1.75 1.75 0 0014.25 4h-.55a2.75 2.75 0 00-2.45-4c-.984 0-1.874.42-2.57 1.23A5.086 5.086 0 008 2.274a5.086 5.086 0 00-.68-1.042C6.623.42 5.733 0 4.75 0A2.75 2.75 0 002 2.75zM8.941 4h2.309a1.25 1.25 0 100-2.5c-.516 0-1 .205-1.43.707-.337.392-.646.975-.879 1.793zm-1.84 1.5H1.75a.25.25 0 00-.25.25v2c0 .138.112.25.25.25h5.5V5.5h-.149zm1.649 0V8h5.5a.25.25 0 00.25-.25v-2a.25.25 0 00-.25-.25h-5.5zm0 4h4.75v4.75a.25.25 0 01-.25.25h-4.5v-5zm-1.5 0v5h-4.5a.25.25 0 01-.25-.25V9.5h4.75z\\\"></path>\" }, \"24\": { \"width\": 24, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M3.75 3.75c0 .844.279 1.623.75 2.25H2.75A1.75 1.75 0 001 7.75v2.5c0 .698.409 1.3 1 1.582v8.418c0 .966.784 1.75 1.75 1.75h16.5A1.75 1.75 0 0022 20.25v-8.418c.591-.281 1-.884 1-1.582v-2.5A1.75 1.75 0 0021.25 6H19.5a3.75 3.75 0 00-3-6c-1.456 0-3.436.901-4.5 3.11C10.936.901 8.955 0 7.5 0a3.75 3.75 0 00-3.75 3.75zM11.22 6c-.287-3.493-2.57-4.5-3.72-4.5a2.25 2.25 0 000 4.5h3.72zm9.28 6v8.25a.25.25 0 01-.25.25h-7.5V12h7.75zm-9.25 8.5V12H3.5v8.25c0 .138.112.25.25.25h7.5zm10-10a.25.25 0 00.25-.25v-2.5a.25.25 0 00-.25-.25h-8.5v3h8.5zm-18.5 0h8.5v-3h-8.5a.25.25 0 00-.25.25v2.5c0 .138.112.25.25.25zm16-6.75A2.25 2.25 0 0116.5 6h-3.72c.287-3.493 2.57-4.5 3.72-4.5a2.25 2.25 0 012.25 2.25z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nGiftIcon.defaultProps = {\n className: 'octicon octicon-gift',\n size: 16,\n verticalAlign: 'text-bottom'\n};\n\nfunction GitBranchIcon(props) {\n var svgDataByHeight = { \"16\": { \"width\": 16, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M11.75 2.5a.75.75 0 100 1.5.75.75 0 000-1.5zm-2.25.75a2.25 2.25 0 113 2.122V6A2.5 2.5 0 0110 8.5H6a1 1 0 00-1 1v1.128a2.251 2.251 0 11-1.5 0V5.372a2.25 2.25 0 111.5 0v1.836A2.492 2.492 0 016 7h4a1 1 0 001-1v-.628A2.25 2.25 0 019.5 3.25zM4.25 12a.75.75 0 100 1.5.75.75 0 000-1.5zM3.5 3.25a.75.75 0 111.5 0 .75.75 0 01-1.5 0z\\\"></path>\" }, \"24\": { \"width\": 24, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M5.75 21a1.75 1.75 0 110-3.5 1.75 1.75 0 010 3.5zM2.5 19.25a3.25 3.25 0 106.5 0 3.25 3.25 0 00-6.5 0zM5.75 6.5a1.75 1.75 0 110-3.5 1.75 1.75 0 010 3.5zM2.5 4.75a3.25 3.25 0 106.5 0 3.25 3.25 0 00-6.5 0zM18.25 6.5a1.75 1.75 0 110-3.5 1.75 1.75 0 010 3.5zM15 4.75a3.25 3.25 0 106.5 0 3.25 3.25 0 00-6.5 0z\\\"></path><path fill-rule=\\\"evenodd\\\" d=\\\"M5.75 16.75A.75.75 0 006.5 16V8A.75.75 0 005 8v8c0 .414.336.75.75.75z\\\"></path><path fill-rule=\\\"evenodd\\\" d=\\\"M17.5 8.75v-1H19v1a3.75 3.75 0 01-3.75 3.75h-7a1.75 1.75 0 00-1.75 1.75H5A3.25 3.25 0 018.25 11h7a2.25 2.25 0 002.25-2.25z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nGitBranchIcon.defaultProps = {\n className: 'octicon octicon-git-branch',\n size: 16,\n verticalAlign: 'text-bottom'\n};\n\nfunction GitCommitIcon(props) {\n var svgDataByHeight = { \"16\": { \"width\": 16, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M10.5 7.75a2.5 2.5 0 11-5 0 2.5 2.5 0 015 0zm1.43.75a4.002 4.002 0 01-7.86 0H.75a.75.75 0 110-1.5h3.32a4.001 4.001 0 017.86 0h3.32a.75.75 0 110 1.5h-3.32z\\\"></path>\" }, \"24\": { \"width\": 24, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M15.5 11.75a3.5 3.5 0 11-7 0 3.5 3.5 0 017 0zm1.444-.75a5.001 5.001 0 00-9.888 0H2.75a.75.75 0 100 1.5h4.306a5.001 5.001 0 009.888 0h4.306a.75.75 0 100-1.5h-4.306z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nGitCommitIcon.defaultProps = {\n className: 'octicon octicon-git-commit',\n size: 16,\n verticalAlign: 'text-bottom'\n};\n\nfunction GitCompareIcon(props) {\n var svgDataByHeight = { \"16\": { \"width\": 16, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M9.573.677L7.177 3.073a.25.25 0 000 .354l2.396 2.396A.25.25 0 0010 5.646V4h1a1 1 0 011 1v5.628a2.251 2.251 0 101.5 0V5A2.5 2.5 0 0011 2.5h-1V.854a.25.25 0 00-.427-.177zM6 12v-1.646a.25.25 0 01.427-.177l2.396 2.396a.25.25 0 010 .354l-2.396 2.396A.25.25 0 016 15.146V13.5H5A2.5 2.5 0 012.5 11V5.372a2.25 2.25 0 111.5 0V11a1 1 0 001 1h1zm6.75 0a.75.75 0 100 1.5.75.75 0 000-1.5zM4 3.25a.75.75 0 11-1.5 0 .75.75 0 011.5 0z\\\"></path>\" }, \"24\": { \"width\": 24, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M19.75 17.5a1.75 1.75 0 100 3.5 1.75 1.75 0 000-3.5zm-3.25 1.75a3.25 3.25 0 116.5 0 3.25 3.25 0 01-6.5 0z\\\"></path><path fill-rule=\\\"evenodd\\\" d=\\\"M13.905 1.72a.75.75 0 010 1.06L12.685 4h4.065a3.75 3.75 0 013.75 3.75v8.75a.75.75 0 01-1.5 0V7.75a2.25 2.25 0 00-2.25-2.25h-4.064l1.22 1.22a.75.75 0 01-1.061 1.06l-2.5-2.5a.75.75 0 010-1.06l2.5-2.5a.75.75 0 011.06 0zM4.25 6.5a1.75 1.75 0 100-3.5 1.75 1.75 0 000 3.5zM7.5 4.75a3.25 3.25 0 11-6.5 0 3.25 3.25 0 016.5 0z\\\"></path><path fill-rule=\\\"evenodd\\\" d=\\\"M10.095 22.28a.75.75 0 010-1.06l1.22-1.22H7.25a3.75 3.75 0 01-3.75-3.75V7.5a.75.75 0 011.5 0v8.75a2.25 2.25 0 002.25 2.25h4.064l-1.22-1.22a.75.75 0 111.061-1.06l2.5 2.5a.75.75 0 010 1.06l-2.5 2.5a.75.75 0 01-1.06 0z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nGitCompareIcon.defaultProps = {\n className: 'octicon octicon-git-compare',\n size: 16,\n verticalAlign: 'text-bottom'\n};\n\nfunction GitForkIcon(props) {\n var svgDataByHeight = { \"24\": { \"width\": 24, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M12 21a1.75 1.75 0 110-3.5 1.75 1.75 0 010 3.5zm-3.25-1.75a3.25 3.25 0 106.5 0 3.25 3.25 0 00-6.5 0zm-3-12.75a1.75 1.75 0 110-3.5 1.75 1.75 0 010 3.5zM2.5 4.75a3.25 3.25 0 106.5 0 3.25 3.25 0 00-6.5 0zM18.25 6.5a1.75 1.75 0 110-3.5 1.75 1.75 0 010 3.5zM15 4.75a3.25 3.25 0 106.5 0 3.25 3.25 0 00-6.5 0z\\\"></path><path fill-rule=\\\"evenodd\\\" d=\\\"M6.5 7.75v1A2.25 2.25 0 008.75 11h6.5a2.25 2.25 0 002.25-2.25v-1H19v1a3.75 3.75 0 01-3.75 3.75h-6.5A3.75 3.75 0 015 8.75v-1h1.5z\\\"></path><path fill-rule=\\\"evenodd\\\" d=\\\"M11.25 16.25v-5h1.5v5h-1.5z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nGitForkIcon.defaultProps = {\n className: 'octicon octicon-git-fork',\n size: 16,\n verticalAlign: 'text-bottom'\n};\n\nfunction GitMergeIcon(props) {\n var svgDataByHeight = { \"16\": { \"width\": 16, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M5 3.254V3.25v.005a.75.75 0 110-.005v.004zm.45 1.9a2.25 2.25 0 10-1.95.218v5.256a2.25 2.25 0 101.5 0V7.123A5.735 5.735 0 009.25 9h1.378a2.251 2.251 0 100-1.5H9.25a4.25 4.25 0 01-3.8-2.346zM12.75 9a.75.75 0 100-1.5.75.75 0 000 1.5zm-8.5 4.5a.75.75 0 100-1.5.75.75 0 000 1.5z\\\"></path>\" }, \"24\": { \"width\": 24, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M5.75 21a1.75 1.75 0 110-3.5 1.75 1.75 0 010 3.5zM2.5 19.25a3.25 3.25 0 106.5 0 3.25 3.25 0 00-6.5 0zM5.75 6.5a1.75 1.75 0 110-3.5 1.75 1.75 0 010 3.5zM2.5 4.75a3.25 3.25 0 106.5 0 3.25 3.25 0 00-6.5 0zM18.25 15a1.75 1.75 0 110-3.5 1.75 1.75 0 010 3.5zM15 13.25a3.25 3.25 0 106.5 0 3.25 3.25 0 00-6.5 0z\\\"></path><path fill-rule=\\\"evenodd\\\" d=\\\"M6.5 7.25c0 2.9 2.35 5.25 5.25 5.25h4.5V14h-4.5A6.75 6.75 0 015 7.25h1.5z\\\"></path><path fill-rule=\\\"evenodd\\\" d=\\\"M5.75 16.75A.75.75 0 006.5 16V8A.75.75 0 005 8v8c0 .414.336.75.75.75z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nGitMergeIcon.defaultProps = {\n className: 'octicon octicon-git-merge',\n size: 16,\n verticalAlign: 'text-bottom'\n};\n\nfunction GitPullRequestIcon(props) {\n var svgDataByHeight = { \"16\": { \"width\": 16, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M7.177 3.073L9.573.677A.25.25 0 0110 .854v4.792a.25.25 0 01-.427.177L7.177 3.427a.25.25 0 010-.354zM3.75 2.5a.75.75 0 100 1.5.75.75 0 000-1.5zm-2.25.75a2.25 2.25 0 113 2.122v5.256a2.251 2.251 0 11-1.5 0V5.372A2.25 2.25 0 011.5 3.25zM11 2.5h-1V4h1a1 1 0 011 1v5.628a2.251 2.251 0 101.5 0V5A2.5 2.5 0 0011 2.5zm1 10.25a.75.75 0 111.5 0 .75.75 0 01-1.5 0zM3.75 12a.75.75 0 100 1.5.75.75 0 000-1.5z\\\"></path>\" }, \"24\": { \"width\": 24, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M4.75 3a1.75 1.75 0 100 3.5 1.75 1.75 0 000-3.5zM1.5 4.75a3.25 3.25 0 116.5 0 3.25 3.25 0 01-6.5 0zM4.75 17.5a1.75 1.75 0 100 3.5 1.75 1.75 0 000-3.5zM1.5 19.25a3.25 3.25 0 116.5 0 3.25 3.25 0 01-6.5 0zm17.75-1.75a1.75 1.75 0 100 3.5 1.75 1.75 0 000-3.5zM16 19.25a3.25 3.25 0 116.5 0 3.25 3.25 0 01-6.5 0z\\\"></path><path fill-rule=\\\"evenodd\\\" d=\\\"M4.75 7.25A.75.75 0 015.5 8v8A.75.75 0 014 16V8a.75.75 0 01.75-.75zm8.655-5.53a.75.75 0 010 1.06L12.185 4h4.065A3.75 3.75 0 0120 7.75v8.75a.75.75 0 01-1.5 0V7.75a2.25 2.25 0 00-2.25-2.25h-4.064l1.22 1.22a.75.75 0 01-1.061 1.06l-2.5-2.5a.75.75 0 010-1.06l2.5-2.5a.75.75 0 011.06 0z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nGitPullRequestIcon.defaultProps = {\n className: 'octicon octicon-git-pull-request',\n size: 16,\n verticalAlign: 'text-bottom'\n};\n\nfunction GlobeIcon(props) {\n var svgDataByHeight = { \"16\": { \"width\": 16, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M1.543 7.25h2.733c.144-2.074.866-3.756 1.58-4.948.12-.197.237-.381.353-.552a6.506 6.506 0 00-4.666 5.5zm2.733 1.5H1.543a6.506 6.506 0 004.666 5.5 11.13 11.13 0 01-.352-.552c-.715-1.192-1.437-2.874-1.581-4.948zm1.504 0h4.44a9.637 9.637 0 01-1.363 4.177c-.306.51-.612.919-.857 1.215a9.978 9.978 0 01-.857-1.215A9.637 9.637 0 015.78 8.75zm4.44-1.5H5.78a9.637 9.637 0 011.363-4.177c.306-.51.612-.919.857-1.215.245.296.55.705.857 1.215A9.638 9.638 0 0110.22 7.25zm1.504 1.5c-.144 2.074-.866 3.756-1.58 4.948-.12.197-.237.381-.353.552a6.506 6.506 0 004.666-5.5h-2.733zm2.733-1.5h-2.733c-.144-2.074-.866-3.756-1.58-4.948a11.738 11.738 0 00-.353-.552 6.506 6.506 0 014.666 5.5zM8 0a8 8 0 100 16A8 8 0 008 0z\\\"></path>\" }, \"24\": { \"width\": 24, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M12 1C5.925 1 1 5.925 1 12s4.925 11 11 11 11-4.925 11-11S18.075 1 12 1zM2.513 11.5h4.745c.1-3.037 1.1-5.49 2.093-7.204.39-.672.78-1.233 1.119-1.673C6.11 3.329 2.746 7 2.513 11.5zm4.77 1.5H2.552a9.505 9.505 0 007.918 8.377 15.698 15.698 0 01-1.119-1.673C8.413 18.085 7.47 15.807 7.283 13zm1.504 0h6.426c-.183 2.48-1.02 4.5-1.862 5.951-.476.82-.95 1.455-1.304 1.88L12 20.89l-.047-.057a13.888 13.888 0 01-1.304-1.88C9.807 17.5 8.969 15.478 8.787 13zm6.454-1.5H8.759c.1-2.708.992-4.904 1.89-6.451.476-.82.95-1.455 1.304-1.88L12 3.11l.047.057c.353.426.828 1.06 1.304 1.88.898 1.548 1.79 3.744 1.89 6.452zm1.476 1.5c-.186 2.807-1.13 5.085-2.068 6.704-.39.672-.78 1.233-1.118 1.673A9.505 9.505 0 0021.447 13h-4.731zm4.77-1.5h-4.745c-.1-3.037-1.1-5.49-2.093-7.204-.39-.672-.78-1.233-1.119-1.673 4.36.706 7.724 4.377 7.957 8.877z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nGlobeIcon.defaultProps = {\n className: 'octicon octicon-globe',\n size: 16,\n verticalAlign: 'text-bottom'\n};\n\nfunction GrabberIcon(props) {\n var svgDataByHeight = { \"16\": { \"width\": 16, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M10 13a1 1 0 100-2 1 1 0 000 2zm-4 0a1 1 0 100-2 1 1 0 000 2zm1-5a1 1 0 11-2 0 1 1 0 012 0zm3 1a1 1 0 100-2 1 1 0 000 2zm1-5a1 1 0 11-2 0 1 1 0 012 0zM6 5a1 1 0 100-2 1 1 0 000 2z\\\"></path>\" }, \"24\": { \"width\": 24, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M15 18a1 1 0 100-2 1 1 0 000 2zm1-6a1 1 0 11-2 0 1 1 0 012 0zm-7 6a1 1 0 100-2 1 1 0 000 2zm0-5a1 1 0 100-2 1 1 0 000 2zm7-6a1 1 0 11-2 0 1 1 0 012 0zM9 8a1 1 0 100-2 1 1 0 000 2z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nGrabberIcon.defaultProps = {\n className: 'octicon octicon-grabber',\n size: 16,\n verticalAlign: 'text-bottom'\n};\n\nfunction GraphIcon(props) {\n var svgDataByHeight = { \"16\": { \"width\": 16, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M1.5 1.75a.75.75 0 00-1.5 0v12.5c0 .414.336.75.75.75h14.5a.75.75 0 000-1.5H1.5V1.75zm14.28 2.53a.75.75 0 00-1.06-1.06L10 7.94 7.53 5.47a.75.75 0 00-1.06 0L3.22 8.72a.75.75 0 001.06 1.06L7 7.06l2.47 2.47a.75.75 0 001.06 0l5.25-5.25z\\\"></path>\" }, \"24\": { \"width\": 24, \"path\": \"<path d=\\\"M2.5 2.75a.75.75 0 00-1.5 0v18.5c0 .414.336.75.75.75H20a.75.75 0 000-1.5H2.5V2.75z\\\"></path><path d=\\\"M22.28 7.78a.75.75 0 00-1.06-1.06l-5.72 5.72-3.72-3.72a.75.75 0 00-1.06 0l-6 6a.75.75 0 101.06 1.06l5.47-5.47 3.72 3.72a.75.75 0 001.06 0l6.25-6.25z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nGraphIcon.defaultProps = {\n className: 'octicon octicon-graph',\n size: 16,\n verticalAlign: 'text-bottom'\n};\n\nfunction HeadingIcon(props) {\n var svgDataByHeight = { \"16\": { \"width\": 16, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M3.75 2a.75.75 0 01.75.75V7h7V2.75a.75.75 0 011.5 0v10.5a.75.75 0 01-1.5 0V8.5h-7v4.75a.75.75 0 01-1.5 0V2.75A.75.75 0 013.75 2z\\\"></path>\" }, \"24\": { \"width\": 24, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M6.25 4a.75.75 0 01.75.75V11h10V4.75a.75.75 0 011.5 0v14.5a.75.75 0 01-1.5 0V12.5H7v6.75a.75.75 0 01-1.5 0V4.75A.75.75 0 016.25 4z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nHeadingIcon.defaultProps = {\n className: 'octicon octicon-heading',\n size: 16,\n verticalAlign: 'text-bottom'\n};\n\nfunction HeartIcon(props) {\n var svgDataByHeight = { \"16\": { \"width\": 16, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M4.25 2.5c-1.336 0-2.75 1.164-2.75 3 0 2.15 1.58 4.144 3.365 5.682A20.565 20.565 0 008 13.393a20.561 20.561 0 003.135-2.211C12.92 9.644 14.5 7.65 14.5 5.5c0-1.836-1.414-3-2.75-3-1.373 0-2.609.986-3.029 2.456a.75.75 0 01-1.442 0C6.859 3.486 5.623 2.5 4.25 2.5zM8 14.25l-.345.666-.002-.001-.006-.003-.018-.01a7.643 7.643 0 01-.31-.17 22.075 22.075 0 01-3.434-2.414C2.045 10.731 0 8.35 0 5.5 0 2.836 2.086 1 4.25 1 5.797 1 7.153 1.802 8 3.02 8.847 1.802 10.203 1 11.75 1 13.914 1 16 2.836 16 5.5c0 2.85-2.045 5.231-3.885 6.818a22.08 22.08 0 01-3.744 2.584l-.018.01-.006.003h-.002L8 14.25zm0 0l.345.666a.752.752 0 01-.69 0L8 14.25z\\\"></path>\" }, \"24\": { \"width\": 24, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M6.736 4C4.657 4 2.5 5.88 2.5 8.514c0 3.107 2.324 5.96 4.861 8.12a29.66 29.66 0 004.566 3.175l.073.041.073-.04c.271-.153.661-.38 1.13-.674.94-.588 2.19-1.441 3.436-2.502 2.537-2.16 4.861-5.013 4.861-8.12C21.5 5.88 19.343 4 17.264 4c-2.106 0-3.801 1.389-4.553 3.643a.75.75 0 01-1.422 0C10.537 5.389 8.841 4 6.736 4zM12 20.703l.343.667a.75.75 0 01-.686 0l.343-.667zM1 8.513C1 5.053 3.829 2.5 6.736 2.5 9.03 2.5 10.881 3.726 12 5.605 13.12 3.726 14.97 2.5 17.264 2.5 20.17 2.5 23 5.052 23 8.514c0 3.818-2.801 7.06-5.389 9.262a31.146 31.146 0 01-5.233 3.576l-.025.013-.007.003-.002.001-.344-.666-.343.667-.003-.002-.007-.003-.025-.013A29.308 29.308 0 0110 20.408a31.147 31.147 0 01-3.611-2.632C3.8 15.573 1 12.332 1 8.514z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nHeartIcon.defaultProps = {\n className: 'octicon octicon-heart',\n size: 16,\n verticalAlign: 'text-bottom'\n};\n\nfunction HeartFillIcon(props) {\n var svgDataByHeight = { \"16\": { \"width\": 16, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M7.655 14.916L8 14.25l.345.666a.752.752 0 01-.69 0zm0 0L8 14.25l.345.666.002-.001.006-.003.018-.01a7.643 7.643 0 00.31-.17 22.08 22.08 0 003.433-2.414C13.956 10.731 16 8.35 16 5.5 16 2.836 13.914 1 11.75 1 10.203 1 8.847 1.802 8 3.02 7.153 1.802 5.797 1 4.25 1 2.086 1 0 2.836 0 5.5c0 2.85 2.045 5.231 3.885 6.818a22.075 22.075 0 003.744 2.584l.018.01.006.003h.002z\\\"></path>\" }, \"24\": { \"width\": 24, \"path\": \"<path d=\\\"M14 20.408c-.492.308-.903.546-1.192.709-.153.086-.308.17-.463.252h-.002a.75.75 0 01-.686 0 16.709 16.709 0 01-.465-.252 31.147 31.147 0 01-4.803-3.34C3.8 15.572 1 12.331 1 8.513 1 5.052 3.829 2.5 6.736 2.5 9.03 2.5 10.881 3.726 12 5.605 13.12 3.726 14.97 2.5 17.264 2.5 20.17 2.5 23 5.052 23 8.514c0 3.818-2.801 7.06-5.389 9.262A31.146 31.146 0 0114 20.408z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nHeartFillIcon.defaultProps = {\n className: 'octicon octicon-heart-fill',\n size: 16,\n verticalAlign: 'text-bottom'\n};\n\nfunction HistoryIcon(props) {\n var svgDataByHeight = { \"16\": { \"width\": 16, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M1.643 3.143L.427 1.927A.25.25 0 000 2.104V5.75c0 .138.112.25.25.25h3.646a.25.25 0 00.177-.427L2.715 4.215a6.5 6.5 0 11-1.18 4.458.75.75 0 10-1.493.154 8.001 8.001 0 101.6-5.684zM7.75 4a.75.75 0 01.75.75v2.992l2.028.812a.75.75 0 01-.557 1.392l-2.5-1A.75.75 0 017 8.25v-3.5A.75.75 0 017.75 4z\\\"></path>\" }, \"24\": { \"width\": 24, \"path\": \"<path d=\\\"M11.998 2.5A9.503 9.503 0 003.378 8H5.75a.75.75 0 010 1.5H2a1 1 0 01-1-1V4.75a.75.75 0 011.5 0v1.697A10.997 10.997 0 0111.998 1C18.074 1 23 5.925 23 12s-4.926 11-11.002 11C6.014 23 1.146 18.223 1 12.275a.75.75 0 011.5-.037 9.5 9.5 0 009.498 9.262c5.248 0 9.502-4.253 9.502-9.5s-4.254-9.5-9.502-9.5z\\\"></path><path d=\\\"M12.5 7.25a.75.75 0 00-1.5 0v5.5c0 .27.144.518.378.651l3.5 2a.75.75 0 00.744-1.302L12.5 12.315V7.25z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nHistoryIcon.defaultProps = {\n className: 'octicon octicon-history',\n size: 16,\n verticalAlign: 'text-bottom'\n};\n\nfunction HomeIcon(props) {\n var svgDataByHeight = { \"16\": { \"width\": 16, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M8.156 1.835a.25.25 0 00-.312 0l-5.25 4.2a.25.25 0 00-.094.196v7.019c0 .138.112.25.25.25H5.5V8.25a.75.75 0 01.75-.75h3.5a.75.75 0 01.75.75v5.25h2.75a.25.25 0 00.25-.25V6.23a.25.25 0 00-.094-.195l-5.25-4.2zM6.906.664a1.75 1.75 0 012.187 0l5.25 4.2c.415.332.657.835.657 1.367v7.019A1.75 1.75 0 0113.25 15h-3.5a.75.75 0 01-.75-.75V9H7v5.25a.75.75 0 01-.75.75h-3.5A1.75 1.75 0 011 13.25V6.23c0-.531.242-1.034.657-1.366l5.25-4.2h-.001z\\\"></path>\" }, \"24\": { \"width\": 24, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M11.03 2.59a1.5 1.5 0 011.94 0l7.5 6.363a1.5 1.5 0 01.53 1.144V19.5a1.5 1.5 0 01-1.5 1.5h-5.75a.75.75 0 01-.75-.75V14h-2v6.25a.75.75 0 01-.75.75H4.5A1.5 1.5 0 013 19.5v-9.403c0-.44.194-.859.53-1.144l7.5-6.363zM12 3.734l-7.5 6.363V19.5h5v-6.25a.75.75 0 01.75-.75h3.5a.75.75 0 01.75.75v6.25h5v-9.403L12 3.734z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nHomeIcon.defaultProps = {\n className: 'octicon octicon-home',\n size: 16,\n verticalAlign: 'text-bottom'\n};\n\nfunction HomeFillIcon(props) {\n var svgDataByHeight = { \"24\": { \"width\": 24, \"path\": \"<path d=\\\"M12.97 2.59a1.5 1.5 0 00-1.94 0l-7.5 6.363A1.5 1.5 0 003 10.097V19.5A1.5 1.5 0 004.5 21h4.75a.75.75 0 00.75-.75V14h4v6.25c0 .414.336.75.75.75h4.75a1.5 1.5 0 001.5-1.5v-9.403a1.5 1.5 0 00-.53-1.144l-7.5-6.363z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nHomeFillIcon.defaultProps = {\n className: 'octicon octicon-home-fill',\n size: 16,\n verticalAlign: 'text-bottom'\n};\n\nfunction HorizontalRuleIcon(props) {\n var svgDataByHeight = { \"16\": { \"width\": 16, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M0 7.75A.75.75 0 01.75 7h14.5a.75.75 0 010 1.5H.75A.75.75 0 010 7.75z\\\"></path>\" }, \"24\": { \"width\": 24, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M2 12.75a.75.75 0 01.75-.75h18.5a.75.75 0 010 1.5H2.75a.75.75 0 01-.75-.75z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nHorizontalRuleIcon.defaultProps = {\n className: 'octicon octicon-horizontal-rule',\n size: 16,\n verticalAlign: 'text-bottom'\n};\n\nfunction HourglassIcon(props) {\n var svgDataByHeight = { \"16\": { \"width\": 16, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M2.75 1a.75.75 0 000 1.5h.75v1.25a4.75 4.75 0 001.9 3.8l.333.25c.134.1.134.3 0 .4l-.333.25a4.75 4.75 0 00-1.9 3.8v1.25h-.75a.75.75 0 000 1.5h10.5a.75.75 0 000-1.5h-.75v-1.25a4.75 4.75 0 00-1.9-3.8l-.333-.25a.25.25 0 010-.4l.333-.25a4.75 4.75 0 001.9-3.8V2.5h.75a.75.75 0 000-1.5H2.75zM11 2.5H5v1.25a3.25 3.25 0 001.3 2.6l.333.25c.934.7.934 2.1 0 2.8l-.333.25a3.25 3.25 0 00-1.3 2.6v1.25h6v-1.25a3.25 3.25 0 00-1.3-2.6l-.333-.25a1.75 1.75 0 010-2.8l.333-.25a3.25 3.25 0 001.3-2.6V2.5z\\\"></path>\" }, \"24\": { \"width\": 24, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M4.75 2a.75.75 0 000 1.5h.75v2.982a4.75 4.75 0 002.215 4.017l2.044 1.29a.25.25 0 010 .422l-2.044 1.29A4.75 4.75 0 005.5 17.518V20.5h-.75a.75.75 0 000 1.5h14.5a.75.75 0 000-1.5h-.75v-2.982a4.75 4.75 0 00-2.215-4.017l-2.044-1.29a.25.25 0 010-.422l2.044-1.29A4.75 4.75 0 0018.5 6.482V3.5h.75a.75.75 0 000-1.5H4.75zM17 3.5H7v2.982A3.25 3.25 0 008.516 9.23l2.044 1.29a1.75 1.75 0 010 2.96l-2.044 1.29A3.25 3.25 0 007 17.518V20.5h10v-2.982a3.25 3.25 0 00-1.516-2.748l-2.044-1.29a1.75 1.75 0 010-2.96l2.044-1.29A3.25 3.25 0 0017 6.482V3.5z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nHourglassIcon.defaultProps = {\n className: 'octicon octicon-hourglass',\n size: 16,\n verticalAlign: 'text-bottom'\n};\n\nfunction HubotIcon(props) {\n var svgDataByHeight = { \"16\": { \"width\": 16, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M0 8a8 8 0 1116 0v5.25a.75.75 0 01-1.5 0V8a6.5 6.5 0 10-13 0v5.25a.75.75 0 01-1.5 0V8zm5.5 4.25a.75.75 0 01.75-.75h3.5a.75.75 0 010 1.5h-3.5a.75.75 0 01-.75-.75zM3 6.75C3 5.784 3.784 5 4.75 5h6.5c.966 0 1.75.784 1.75 1.75v1.5A1.75 1.75 0 0111.25 10h-6.5A1.75 1.75 0 013 8.25v-1.5zm1.47-.53a.75.75 0 011.06 0l.97.97.97-.97a.75.75 0 011.06 0l.97.97.97-.97a.75.75 0 111.06 1.06l-1.5 1.5a.75.75 0 01-1.06 0L8 7.81l-.97.97a.75.75 0 01-1.06 0l-1.5-1.5a.75.75 0 010-1.06z\\\"></path>\" }, \"24\": { \"width\": 24, \"path\": \"<path d=\\\"M0 13C0 6.373 5.373 1 12 1s12 5.373 12 12v8.657a.75.75 0 01-1.5 0V13c0-5.799-4.701-10.5-10.5-10.5S1.5 7.201 1.5 13v8.657a.75.75 0 01-1.5 0V13z\\\"></path><path d=\\\"M8 19.75a.75.75 0 01.75-.75h6.5a.75.75 0 010 1.5h-6.5a.75.75 0 01-.75-.75z\\\"></path><path fill-rule=\\\"evenodd\\\" d=\\\"M5.25 9.5a1.75 1.75 0 00-1.75 1.75v3.5c0 .966.784 1.75 1.75 1.75h13.5a1.75 1.75 0 001.75-1.75v-3.5a1.75 1.75 0 00-1.75-1.75H5.25zm.22 1.47a.75.75 0 011.06 0L9 13.44l2.47-2.47a.75.75 0 011.06 0L15 13.44l2.47-2.47a.75.75 0 111.06 1.06l-3 3a.75.75 0 01-1.06 0L12 12.56l-2.47 2.47a.75.75 0 01-1.06 0l-3-3a.75.75 0 010-1.06z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nHubotIcon.defaultProps = {\n className: 'octicon octicon-hubot',\n size: 16,\n verticalAlign: 'text-bottom'\n};\n\nfunction ImageIcon(props) {\n var svgDataByHeight = { \"16\": { \"width\": 16, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M1.75 2.5a.25.25 0 00-.25.25v10.5c0 .138.112.25.25.25h.94a.76.76 0 01.03-.03l6.077-6.078a1.75 1.75 0 012.412-.06L14.5 10.31V2.75a.25.25 0 00-.25-.25H1.75zm12.5 11H4.81l5.048-5.047a.25.25 0 01.344-.009l4.298 3.889v.917a.25.25 0 01-.25.25zm1.75-.25V2.75A1.75 1.75 0 0014.25 1H1.75A1.75 1.75 0 000 2.75v10.5C0 14.216.784 15 1.75 15h12.5A1.75 1.75 0 0016 13.25zM5.5 6a.5.5 0 11-1 0 .5.5 0 011 0zM7 6a2 2 0 11-4 0 2 2 0 014 0z\\\"></path>\" }, \"24\": { \"width\": 24, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M19.25 4.5H4.75a.25.25 0 00-.25.25v14.5c0 .138.112.25.25.25h.19l9.823-9.823a1.75 1.75 0 012.475 0l2.262 2.262V4.75a.25.25 0 00-.25-.25zm.25 9.56l-3.323-3.323a.25.25 0 00-.354 0L7.061 19.5H19.25a.25.25 0 00.25-.25v-5.19zM4.75 3A1.75 1.75 0 003 4.75v14.5c0 .966.784 1.75 1.75 1.75h14.5A1.75 1.75 0 0021 19.25V4.75A1.75 1.75 0 0019.25 3H4.75zM8.5 9.5a1 1 0 100-2 1 1 0 000 2zm0 1.5a2.5 2.5 0 100-5 2.5 2.5 0 000 5z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nImageIcon.defaultProps = {\n className: 'octicon octicon-image',\n size: 16,\n verticalAlign: 'text-bottom'\n};\n\nfunction InboxIcon(props) {\n var svgDataByHeight = { \"16\": { \"width\": 16, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M2.8 2.06A1.75 1.75 0 014.41 1h7.18c.7 0 1.333.417 1.61 1.06l2.74 6.395a.75.75 0 01.06.295v4.5A1.75 1.75 0 0114.25 15H1.75A1.75 1.75 0 010 13.25v-4.5a.75.75 0 01.06-.295L2.8 2.06zm1.61.44a.25.25 0 00-.23.152L1.887 8H4.75a.75.75 0 01.6.3L6.625 10h2.75l1.275-1.7a.75.75 0 01.6-.3h2.863L11.82 2.652a.25.25 0 00-.23-.152H4.41zm10.09 7h-2.875l-1.275 1.7a.75.75 0 01-.6.3h-3.5a.75.75 0 01-.6-.3L4.375 9.5H1.5v3.75c0 .138.112.25.25.25h12.5a.25.25 0 00.25-.25V9.5z\\\"></path>\" }, \"24\": { \"width\": 24, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M4.801 3.57A1.75 1.75 0 016.414 2.5h11.174c.702 0 1.337.42 1.611 1.067l3.741 8.828c.04.092.06.192.06.293v7.562A1.75 1.75 0 0121.25 22H2.75A1.75 1.75 0 011 20.25v-7.5c0-.1.02-.199.059-.291L4.8 3.571zM6.414 4a.25.25 0 00-.23.153L2.88 12H8a.75.75 0 01.648.372L10.18 15h3.638l1.533-2.628a.75.75 0 01.64-.372l5.13-.051-3.304-7.797a.25.25 0 00-.23-.152H6.414zM21.5 13.445l-5.067.05-1.535 2.633a.75.75 0 01-.648.372h-4.5a.75.75 0 01-.648-.372L7.57 13.5H2.5v6.75c0 .138.112.25.25.25h18.5a.25.25 0 00.25-.25v-6.805z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nInboxIcon.defaultProps = {\n className: 'octicon octicon-inbox',\n size: 16,\n verticalAlign: 'text-bottom'\n};\n\nfunction InfinityIcon(props) {\n var svgDataByHeight = { \"16\": { \"width\": 16, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M3.5 6c-1.086 0-2 .914-2 2 0 1.086.914 2 2 2 .525 0 1.122-.244 1.825-.727.51-.35 1.025-.79 1.561-1.273-.536-.483-1.052-.922-1.56-1.273C4.621 6.244 4.025 6 3.5 6zm4.5.984c-.59-.533-1.204-1.066-1.825-1.493-.797-.548-1.7-.991-2.675-.991C1.586 4.5 0 6.086 0 8s1.586 3.5 3.5 3.5c.975 0 1.878-.444 2.675-.991.621-.427 1.235-.96 1.825-1.493.59.533 1.204 1.066 1.825 1.493.797.547 1.7.991 2.675.991 1.914 0 3.5-1.586 3.5-3.5s-1.586-3.5-3.5-3.5c-.975 0-1.878.443-2.675.991-.621.427-1.235.96-1.825 1.493zM9.114 8c.536.483 1.052.922 1.56 1.273.704.483 1.3.727 1.826.727 1.086 0 2-.914 2-2 0-1.086-.914-2-2-2-.525 0-1.122.244-1.825.727-.51.35-1.025.79-1.561 1.273z\\\"></path>\" }, \"24\": { \"width\": 24, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M5.25 8.5c-2.032 0-3.75 1.895-3.75 3.75S3.218 16 5.25 16c1.017 0 2.014-.457 3.062-1.253.89-.678 1.758-1.554 2.655-2.497-.897-.943-1.765-1.82-2.655-2.497C7.264 8.957 6.267 8.5 5.25 8.5zM12 11.16c-.887-.933-1.813-1.865-2.78-2.6C8.048 7.667 6.733 7 5.25 7 2.343 7 0 9.615 0 12.25s2.343 5.25 5.25 5.25c1.483 0 2.798-.668 3.97-1.56.967-.735 1.893-1.667 2.78-2.6.887.933 1.813 1.865 2.78 2.6 1.172.892 2.487 1.56 3.97 1.56 2.907 0 5.25-2.615 5.25-5.25S21.657 7 18.75 7c-1.483 0-2.798.668-3.97 1.56-.967.735-1.893 1.667-2.78 2.6zm1.033 1.09c.897.943 1.765 1.82 2.655 2.497C16.736 15.543 17.733 16 18.75 16c2.032 0 3.75-1.895 3.75-3.75S20.782 8.5 18.75 8.5c-1.017 0-2.014.457-3.062 1.253-.89.678-1.758 1.554-2.655 2.497z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nInfinityIcon.defaultProps = {\n className: 'octicon octicon-infinity',\n size: 16,\n verticalAlign: 'text-bottom'\n};\n\nfunction InfoIcon(props) {\n var svgDataByHeight = { \"16\": { \"width\": 16, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M8 1.5a6.5 6.5 0 100 13 6.5 6.5 0 000-13zM0 8a8 8 0 1116 0A8 8 0 010 8zm6.5-.25A.75.75 0 017.25 7h1a.75.75 0 01.75.75v2.75h.25a.75.75 0 010 1.5h-2a.75.75 0 010-1.5h.25v-2h-.25a.75.75 0 01-.75-.75zM8 6a1 1 0 100-2 1 1 0 000 2z\\\"></path>\" }, \"24\": { \"width\": 24, \"path\": \"<path d=\\\"M13 7.5a1 1 0 11-2 0 1 1 0 012 0zm-3 3.75a.75.75 0 01.75-.75h1.5a.75.75 0 01.75.75v4.25h.75a.75.75 0 010 1.5h-3a.75.75 0 010-1.5h.75V12h-.75a.75.75 0 01-.75-.75z\\\"></path><path fill-rule=\\\"evenodd\\\" d=\\\"M12 1C5.925 1 1 5.925 1 12s4.925 11 11 11 11-4.925 11-11S18.075 1 12 1zM2.5 12a9.5 9.5 0 1119 0 9.5 9.5 0 01-19 0z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nInfoIcon.defaultProps = {\n className: 'octicon octicon-info',\n size: 16,\n verticalAlign: 'text-bottom'\n};\n\nfunction IssueClosedIcon(props) {\n var svgDataByHeight = { \"16\": { \"width\": 16, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M1.5 8a6.5 6.5 0 0110.65-5.003.75.75 0 00.959-1.153 8 8 0 102.592 8.33.75.75 0 10-1.444-.407A6.5 6.5 0 011.5 8zM8 12a1 1 0 100-2 1 1 0 000 2zm0-8a.75.75 0 01.75.75v3.5a.75.75 0 11-1.5 0v-3.5A.75.75 0 018 4zm4.78 4.28l3-3a.75.75 0 00-1.06-1.06l-2.47 2.47-.97-.97a.749.749 0 10-1.06 1.06l1.5 1.5a.75.75 0 001.06 0z\\\"></path>\" }, \"24\": { \"width\": 24, \"path\": \"<path d=\\\"M2.5 12c0-5.24 4.288-9.5 9.593-9.5a9.608 9.608 0 017.197 3.219.75.75 0 001.12-.998A11.108 11.108 0 0012.093 1C5.973 1 1 5.919 1 12s4.973 11 11.093 11c5.403 0 9.91-3.832 10.893-8.915a.75.75 0 10-1.472-.285c-.848 4.381-4.74 7.7-9.421 7.7C6.788 21.5 2.5 17.24 2.5 12z\\\"></path><path d=\\\"M12 17a1 1 0 100-2 1 1 0 000 2zm0-10a.75.75 0 01.75.75v4.5a.75.75 0 01-1.5 0v-4.5A.75.75 0 0112 7zm11.28.78a.75.75 0 00-1.06-1.06l-3.47 3.47-1.47-1.47a.75.75 0 10-1.06 1.06l2 2a.75.75 0 001.06 0l4-4z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nIssueClosedIcon.defaultProps = {\n className: 'octicon octicon-issue-closed',\n size: 16,\n verticalAlign: 'text-bottom'\n};\n\nfunction IssueOpenedIcon(props) {\n var svgDataByHeight = { \"16\": { \"width\": 16, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M8 1.5a6.5 6.5 0 100 13 6.5 6.5 0 000-13zM0 8a8 8 0 1116 0A8 8 0 010 8zm9 3a1 1 0 11-2 0 1 1 0 012 0zm-.25-6.25a.75.75 0 00-1.5 0v3.5a.75.75 0 001.5 0v-3.5z\\\"></path>\" }, \"24\": { \"width\": 24, \"path\": \"<path d=\\\"M12 7a.75.75 0 01.75.75v4.5a.75.75 0 01-1.5 0v-4.5A.75.75 0 0112 7zm1 9a1 1 0 11-2 0 1 1 0 012 0z\\\"></path><path fill-rule=\\\"evenodd\\\" d=\\\"M12 1C5.925 1 1 5.925 1 12s4.925 11 11 11 11-4.925 11-11S18.075 1 12 1zM2.5 12a9.5 9.5 0 1119 0 9.5 9.5 0 01-19 0z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nIssueOpenedIcon.defaultProps = {\n className: 'octicon octicon-issue-opened',\n size: 16,\n verticalAlign: 'text-bottom'\n};\n\nfunction IssueReopenedIcon(props) {\n var svgDataByHeight = { \"16\": { \"width\": 16, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M8 1.5a6.491 6.491 0 00-5.285 2.715l1.358 1.358A.25.25 0 013.896 6H.25A.25.25 0 010 5.75V2.104a.25.25 0 01.427-.177l1.216 1.216a8 8 0 0114.315 4.03.748.748 0 01-.668.83.75.75 0 01-.824-.676A6.501 6.501 0 008 1.5zM.712 8.004a.75.75 0 01.822.67 6.501 6.501 0 0011.751 3.111l-1.358-1.358a.25.25 0 01.177-.427h3.646a.25.25 0 01.25.25v3.646a.25.25 0 01-.427.177l-1.216-1.216A8 8 0 01.042 8.827a.75.75 0 01.67-.823zM9 11a1 1 0 11-2 0 1 1 0 012 0zm-.25-6.25a.75.75 0 00-1.5 0v3.5a.75.75 0 001.5 0v-3.5z\\\"></path>\" }, \"24\": { \"width\": 24, \"path\": \"<path d=\\\"M3.38 8A9.502 9.502 0 0112 2.5a9.502 9.502 0 019.215 7.182.75.75 0 101.456-.364C21.473 4.539 17.15 1 12 1a10.995 10.995 0 00-9.5 5.452V4.75a.75.75 0 00-1.5 0V8.5a1 1 0 001 1h3.75a.75.75 0 000-1.5H3.38zm-.595 6.318a.75.75 0 00-1.455.364C2.527 19.461 6.85 23 12 23c4.052 0 7.592-2.191 9.5-5.451v1.701a.75.75 0 001.5 0V15.5a1 1 0 00-1-1h-3.75a.75.75 0 000 1.5h2.37A9.502 9.502 0 0112 21.5c-4.446 0-8.181-3.055-9.215-7.182z\\\"></path><path d=\\\"M12 17a1 1 0 100-2 1 1 0 000 2zm0-10a.75.75 0 01.75.75v4.5a.75.75 0 01-1.5 0v-4.5A.75.75 0 0112 7z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nIssueReopenedIcon.defaultProps = {\n className: 'octicon octicon-issue-reopened',\n size: 16,\n verticalAlign: 'text-bottom'\n};\n\nfunction ItalicIcon(props) {\n var svgDataByHeight = { \"16\": { \"width\": 16, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M6 2.75A.75.75 0 016.75 2h6.5a.75.75 0 010 1.5h-2.505l-3.858 9H9.25a.75.75 0 010 1.5h-6.5a.75.75 0 010-1.5h2.505l3.858-9H6.75A.75.75 0 016 2.75z\\\"></path>\" }, \"24\": { \"width\": 24, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M10 4.75a.75.75 0 01.75-.75h8.5a.75.75 0 010 1.5h-3.514l-5.828 13h3.342a.75.75 0 010 1.5h-8.5a.75.75 0 010-1.5h3.514l5.828-13H10.75a.75.75 0 01-.75-.75z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nItalicIcon.defaultProps = {\n className: 'octicon octicon-italic',\n size: 16,\n verticalAlign: 'text-bottom'\n};\n\nfunction KebabHorizontalIcon(props) {\n var svgDataByHeight = { \"16\": { \"width\": 16, \"path\": \"<path d=\\\"M8 9a1.5 1.5 0 100-3 1.5 1.5 0 000 3zM1.5 9a1.5 1.5 0 100-3 1.5 1.5 0 000 3zm13 0a1.5 1.5 0 100-3 1.5 1.5 0 000 3z\\\"></path>\" }, \"24\": { \"width\": 24, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M6 12a2 2 0 11-4 0 2 2 0 014 0zm8 0a2 2 0 11-4 0 2 2 0 014 0zm6 2a2 2 0 100-4 2 2 0 000 4z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nKebabHorizontalIcon.defaultProps = {\n className: 'octicon octicon-kebab-horizontal',\n size: 16,\n verticalAlign: 'text-bottom'\n};\n\nfunction KeyIcon(props) {\n var svgDataByHeight = { \"16\": { \"width\": 16, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M6.5 5.5a4 4 0 112.731 3.795.75.75 0 00-.768.18L7.44 10.5H6.25a.75.75 0 00-.75.75v1.19l-.06.06H4.25a.75.75 0 00-.75.75v1.19l-.06.06H1.75a.25.25 0 01-.25-.25v-1.69l5.024-5.023a.75.75 0 00.181-.768A3.995 3.995 0 016.5 5.5zm4-5.5a5.5 5.5 0 00-5.348 6.788L.22 11.72a.75.75 0 00-.22.53v2C0 15.216.784 16 1.75 16h2a.75.75 0 00.53-.22l.5-.5a.75.75 0 00.22-.53V14h.75a.75.75 0 00.53-.22l.5-.5a.75.75 0 00.22-.53V12h.75a.75.75 0 00.53-.22l.932-.932A5.5 5.5 0 1010.5 0zm.5 6a1 1 0 100-2 1 1 0 000 2z\\\"></path>\" }, \"24\": { \"width\": 24, \"path\": \"<path d=\\\"M16.75 8.5a1.25 1.25 0 100-2.5 1.25 1.25 0 000 2.5z\\\"></path><path fill-rule=\\\"evenodd\\\" d=\\\"M15.75 0a8.25 8.25 0 00-7.851 10.79L.513 18.178A1.75 1.75 0 000 19.414v2.836C0 23.217.784 24 1.75 24h1.5A1.75 1.75 0 005 22.25v-1a.25.25 0 01.25-.25h2.735a.75.75 0 00.545-.22l.214-.213A.875.875 0 009 19.948V18.5a.25.25 0 01.25-.25h1.086c.464 0 .91-.184 1.237-.513l1.636-1.636A8.25 8.25 0 1015.75 0zM9 8.25a6.75 6.75 0 114.288 6.287.75.75 0 00-.804.168l-1.971 1.972a.25.25 0 01-.177.073H9.25A1.75 1.75 0 007.5 18.5v1H5.25a1.75 1.75 0 00-1.75 1.75v1a.25.25 0 01-.25.25h-1.5a.25.25 0 01-.25-.25v-2.836a.25.25 0 01.073-.177l7.722-7.721a.75.75 0 00.168-.804A6.73 6.73 0 019 8.25z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nKeyIcon.defaultProps = {\n className: 'octicon octicon-key',\n size: 16,\n verticalAlign: 'text-bottom'\n};\n\nfunction LawIcon(props) {\n var svgDataByHeight = { \"16\": { \"width\": 16, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M8.75.75a.75.75 0 00-1.5 0V2h-.984c-.305 0-.604.08-.869.23l-1.288.737A.25.25 0 013.984 3H1.75a.75.75 0 000 1.5h.428L.066 9.192a.75.75 0 00.154.838l.53-.53-.53.53v.001l.002.002.002.002.006.006.016.015.045.04a3.514 3.514 0 00.686.45A4.492 4.492 0 003 11c.88 0 1.556-.22 2.023-.454a3.515 3.515 0 00.686-.45l.045-.04.016-.015.006-.006.002-.002.001-.002L5.25 9.5l.53.53a.75.75 0 00.154-.838L3.822 4.5h.162c.305 0 .604-.08.869-.23l1.289-.737a.25.25 0 01.124-.033h.984V13h-2.5a.75.75 0 000 1.5h6.5a.75.75 0 000-1.5h-2.5V3.5h.984a.25.25 0 01.124.033l1.29.736c.264.152.563.231.868.231h.162l-2.112 4.692a.75.75 0 00.154.838l.53-.53-.53.53v.001l.002.002.002.002.006.006.016.015.045.04a3.517 3.517 0 00.686.45A4.492 4.492 0 0013 11c.88 0 1.556-.22 2.023-.454a3.512 3.512 0 00.686-.45l.045-.04.01-.01.006-.005.006-.006.002-.002.001-.002-.529-.531.53.53a.75.75 0 00.154-.838L13.823 4.5h.427a.75.75 0 000-1.5h-2.234a.25.25 0 01-.124-.033l-1.29-.736A1.75 1.75 0 009.735 2H8.75V.75zM1.695 9.227c.285.135.718.273 1.305.273s1.02-.138 1.305-.273L3 6.327l-1.305 2.9zm10 0c.285.135.718.273 1.305.273s1.02-.138 1.305-.273L13 6.327l-1.305 2.9z\\\"></path>\" }, \"24\": { \"width\": 24, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M12.75 2.75a.75.75 0 00-1.5 0V4.5H9.276a1.75 1.75 0 00-.985.303L6.596 5.957A.25.25 0 016.455 6H2.353a.75.75 0 100 1.5H3.93L.563 15.18a.762.762 0 00.21.88c.08.064.161.125.309.221.186.121.452.278.792.433.68.311 1.662.62 2.876.62a6.919 6.919 0 002.876-.62c.34-.155.606-.312.792-.433.15-.097.23-.158.31-.223a.75.75 0 00.209-.878L5.569 7.5h.886c.351 0 .694-.106.984-.303l1.696-1.154A.25.25 0 019.275 6h1.975v14.5H6.763a.75.75 0 000 1.5h10.474a.75.75 0 000-1.5H12.75V6h1.974c.05 0 .1.015.14.043l1.697 1.154c.29.197.633.303.984.303h.886l-3.368 7.68a.75.75 0 00.23.896c.012.009 0 0 .002 0a3.154 3.154 0 00.31.206c.185.112.45.256.79.4a7.343 7.343 0 002.855.568 7.343 7.343 0 002.856-.569c.338-.143.604-.287.79-.399a3.5 3.5 0 00.31-.206.75.75 0 00.23-.896L20.07 7.5h1.578a.75.75 0 000-1.5h-4.102a.25.25 0 01-.14-.043l-1.697-1.154a1.75 1.75 0 00-.984-.303H12.75V2.75zM2.193 15.198a5.418 5.418 0 002.557.635 5.418 5.418 0 002.557-.635L4.75 9.368l-2.557 5.83zm14.51-.024c.082.04.174.083.275.126.53.223 1.305.45 2.272.45a5.846 5.846 0 002.547-.576L19.25 9.367l-2.547 5.807z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nLawIcon.defaultProps = {\n className: 'octicon octicon-law',\n size: 16,\n verticalAlign: 'text-bottom'\n};\n\nfunction LightBulbIcon(props) {\n var svgDataByHeight = { \"16\": { \"width\": 16, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M8 1.5c-2.363 0-4 1.69-4 3.75 0 .984.424 1.625.984 2.304l.214.253c.223.264.47.556.673.848.284.411.537.896.621 1.49a.75.75 0 01-1.484.211c-.04-.282-.163-.547-.37-.847a8.695 8.695 0 00-.542-.68c-.084-.1-.173-.205-.268-.32C3.201 7.75 2.5 6.766 2.5 5.25 2.5 2.31 4.863 0 8 0s5.5 2.31 5.5 5.25c0 1.516-.701 2.5-1.328 3.259-.095.115-.184.22-.268.319-.207.245-.383.453-.541.681-.208.3-.33.565-.37.847a.75.75 0 01-1.485-.212c.084-.593.337-1.078.621-1.489.203-.292.45-.584.673-.848.075-.088.147-.173.213-.253.561-.679.985-1.32.985-2.304 0-2.06-1.637-3.75-4-3.75zM6 15.25a.75.75 0 01.75-.75h2.5a.75.75 0 010 1.5h-2.5a.75.75 0 01-.75-.75zM5.75 12a.75.75 0 000 1.5h4.5a.75.75 0 000-1.5h-4.5z\\\"></path>\" }, \"24\": { \"width\": 24, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M12 2.5c-3.81 0-6.5 2.743-6.5 6.119 0 1.536.632 2.572 1.425 3.56.172.215.347.422.527.635l.096.112c.21.25.427.508.63.774.404.531.783 1.128.995 1.834a.75.75 0 01-1.436.432c-.138-.46-.397-.89-.753-1.357a18.354 18.354 0 00-.582-.714l-.092-.11c-.18-.212-.37-.436-.555-.667C4.87 12.016 4 10.651 4 8.618 4 4.363 7.415 1 12 1s8 3.362 8 7.619c0 2.032-.87 3.397-1.755 4.5-.185.23-.375.454-.555.667l-.092.109c-.21.248-.405.481-.582.714-.356.467-.615.898-.753 1.357a.75.75 0 01-1.437-.432c.213-.706.592-1.303.997-1.834.202-.266.419-.524.63-.774l.095-.112c.18-.213.355-.42.527-.634.793-.99 1.425-2.025 1.425-3.561C18.5 5.243 15.81 2.5 12 2.5zM9.5 21.75a.75.75 0 01.75-.75h3.5a.75.75 0 010 1.5h-3.5a.75.75 0 01-.75-.75zM8.75 18a.75.75 0 000 1.5h6.5a.75.75 0 000-1.5h-6.5z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nLightBulbIcon.defaultProps = {\n className: 'octicon octicon-light-bulb',\n size: 16,\n verticalAlign: 'text-bottom'\n};\n\nfunction LinkIcon(props) {\n var svgDataByHeight = { \"16\": { \"width\": 16, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z\\\"></path>\" }, \"24\": { \"width\": 24, \"path\": \"<path d=\\\"M14.78 3.653a3.936 3.936 0 115.567 5.567l-3.627 3.627a3.936 3.936 0 01-5.88-.353.75.75 0 00-1.18.928 5.436 5.436 0 008.12.486l3.628-3.628a5.436 5.436 0 10-7.688-7.688l-3 3a.75.75 0 001.06 1.061l3-3z\\\"></path><path d=\\\"M7.28 11.153a3.936 3.936 0 015.88.353.75.75 0 001.18-.928 5.436 5.436 0 00-8.12-.486L2.592 13.72a5.436 5.436 0 107.688 7.688l3-3a.75.75 0 10-1.06-1.06l-3 3a3.936 3.936 0 01-5.567-5.568l3.627-3.627z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nLinkIcon.defaultProps = {\n className: 'octicon octicon-link',\n size: 16,\n verticalAlign: 'text-bottom'\n};\n\nfunction LinkExternalIcon(props) {\n var svgDataByHeight = { \"16\": { \"width\": 16, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M10.604 1h4.146a.25.25 0 01.25.25v4.146a.25.25 0 01-.427.177L13.03 4.03 9.28 7.78a.75.75 0 01-1.06-1.06l3.75-3.75-1.543-1.543A.25.25 0 0110.604 1zM3.75 2A1.75 1.75 0 002 3.75v8.5c0 .966.784 1.75 1.75 1.75h8.5A1.75 1.75 0 0014 12.25v-3.5a.75.75 0 00-1.5 0v3.5a.25.25 0 01-.25.25h-8.5a.25.25 0 01-.25-.25v-8.5a.25.25 0 01.25-.25h3.5a.75.75 0 000-1.5h-3.5z\\\"></path>\" }, \"24\": { \"width\": 24, \"path\": \"<path d=\\\"M15.5 2.25a.75.75 0 01.75-.75h5.5a.75.75 0 01.75.75v5.5a.75.75 0 01-1.5 0V4.06l-6.22 6.22a.75.75 0 11-1.06-1.06L19.94 3h-3.69a.75.75 0 01-.75-.75z\\\"></path><path d=\\\"M2.5 4.25c0-.966.784-1.75 1.75-1.75h8.5a.75.75 0 010 1.5h-8.5a.25.25 0 00-.25.25v15.5c0 .138.112.25.25.25h15.5a.25.25 0 00.25-.25v-8.5a.75.75 0 011.5 0v8.5a1.75 1.75 0 01-1.75 1.75H4.25a1.75 1.75 0 01-1.75-1.75V4.25z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nLinkExternalIcon.defaultProps = {\n className: 'octicon octicon-link-external',\n size: 16,\n verticalAlign: 'text-bottom'\n};\n\nfunction ListOrderedIcon(props) {\n var svgDataByHeight = { \"16\": { \"width\": 16, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M2.003 2.5a.5.5 0 00-.723-.447l-1.003.5a.5.5 0 00.446.895l.28-.14V6H.5a.5.5 0 000 1h2.006a.5.5 0 100-1h-.503V2.5zM5 3.25a.75.75 0 01.75-.75h8.5a.75.75 0 010 1.5h-8.5A.75.75 0 015 3.25zm0 5a.75.75 0 01.75-.75h8.5a.75.75 0 010 1.5h-8.5A.75.75 0 015 8.25zm0 5a.75.75 0 01.75-.75h8.5a.75.75 0 010 1.5h-8.5a.75.75 0 01-.75-.75zM.924 10.32l.003-.004a.851.851 0 01.144-.153A.66.66 0 011.5 10c.195 0 .306.068.374.146a.57.57 0 01.128.376c0 .453-.269.682-.8 1.078l-.035.025C.692 11.98 0 12.495 0 13.5a.5.5 0 00.5.5h2.003a.5.5 0 000-1H1.146c.132-.197.351-.372.654-.597l.047-.035c.47-.35 1.156-.858 1.156-1.845 0-.365-.118-.744-.377-1.038-.268-.303-.658-.484-1.126-.484-.48 0-.84.202-1.068.392a1.858 1.858 0 00-.348.384l-.007.011-.002.004-.001.002-.001.001a.5.5 0 00.851.525zM.5 10.055l-.427-.26.427.26z\\\"></path>\" }, \"24\": { \"width\": 24, \"path\": \"<path d=\\\"M3.604 3.089A.75.75 0 014 3.75V8.5h.75a.75.75 0 010 1.5h-3a.75.75 0 110-1.5h.75V5.151l-.334.223a.75.75 0 01-.832-1.248l1.5-1a.75.75 0 01.77-.037zM8.75 5.5a.75.75 0 000 1.5h11.5a.75.75 0 000-1.5H8.75zm0 6a.75.75 0 000 1.5h11.5a.75.75 0 000-1.5H8.75zm0 6a.75.75 0 000 1.5h11.5a.75.75 0 000-1.5H8.75zM5.5 15.75c0-.704-.271-1.286-.72-1.686a2.302 2.302 0 00-1.53-.564c-.535 0-1.094.178-1.53.565-.449.399-.72.982-.72 1.685a.75.75 0 001.5 0c0-.296.104-.464.217-.564A.805.805 0 013.25 15c.215 0 .406.072.533.185.113.101.217.268.217.565 0 .332-.069.48-.21.657-.092.113-.216.24-.403.419l-.147.14c-.152.144-.33.313-.52.504l-1.5 1.5a.75.75 0 00-.22.53v.25c0 .414.336.75.75.75H5A.75.75 0 005 19H3.31l.47-.47c.176-.176.333-.324.48-.465l.165-.156a5.98 5.98 0 00.536-.566c.358-.447.539-.925.539-1.593z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nListOrderedIcon.defaultProps = {\n className: 'octicon octicon-list-ordered',\n size: 16,\n verticalAlign: 'text-bottom'\n};\n\nfunction ListUnorderedIcon(props) {\n var svgDataByHeight = { \"16\": { \"width\": 16, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M2 4a1 1 0 100-2 1 1 0 000 2zm3.75-1.5a.75.75 0 000 1.5h8.5a.75.75 0 000-1.5h-8.5zm0 5a.75.75 0 000 1.5h8.5a.75.75 0 000-1.5h-8.5zm0 5a.75.75 0 000 1.5h8.5a.75.75 0 000-1.5h-8.5zM3 8a1 1 0 11-2 0 1 1 0 012 0zm-1 6a1 1 0 100-2 1 1 0 000 2z\\\"></path>\" }, \"24\": { \"width\": 24, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M4 7a1 1 0 100-2 1 1 0 000 2zm4.75-1.5a.75.75 0 000 1.5h11.5a.75.75 0 000-1.5H8.75zm0 6a.75.75 0 000 1.5h11.5a.75.75 0 000-1.5H8.75zm0 6a.75.75 0 000 1.5h11.5a.75.75 0 000-1.5H8.75zM5 12a1 1 0 11-2 0 1 1 0 012 0zm-1 7a1 1 0 100-2 1 1 0 000 2z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nListUnorderedIcon.defaultProps = {\n className: 'octicon octicon-list-unordered',\n size: 16,\n verticalAlign: 'text-bottom'\n};\n\nfunction LocationIcon(props) {\n var svgDataByHeight = { \"16\": { \"width\": 16, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M11.536 3.464a5 5 0 010 7.072L8 14.07l-3.536-3.535a5 5 0 117.072-7.072v.001zm1.06 8.132a6.5 6.5 0 10-9.192 0l3.535 3.536a1.5 1.5 0 002.122 0l3.535-3.536zM8 9a2 2 0 100-4 2 2 0 000 4z\\\"></path>\" }, \"24\": { \"width\": 24, \"path\": \"<path d=\\\"M12 13.5a2.5 2.5 0 100-5 2.5 2.5 0 000 5z\\\"></path><path fill-rule=\\\"evenodd\\\" d=\\\"M19.071 3.429C15.166-.476 8.834-.476 4.93 3.429c-3.905 3.905-3.905 10.237 0 14.142l.028.028 5.375 5.375a2.359 2.359 0 003.336 0l5.403-5.403c3.905-3.905 3.905-10.237 0-14.142zM5.99 4.489A8.5 8.5 0 0118.01 16.51l-5.403 5.404a.859.859 0 01-1.214 0l-5.378-5.378-.002-.002-.023-.024a8.5 8.5 0 010-12.02z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nLocationIcon.defaultProps = {\n className: 'octicon octicon-location',\n size: 16,\n verticalAlign: 'text-bottom'\n};\n\nfunction LockIcon(props) {\n var svgDataByHeight = { \"16\": { \"width\": 16, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M4 4v2h-.25A1.75 1.75 0 002 7.75v5.5c0 .966.784 1.75 1.75 1.75h8.5A1.75 1.75 0 0014 13.25v-5.5A1.75 1.75 0 0012.25 6H12V4a4 4 0 10-8 0zm6.5 2V4a2.5 2.5 0 00-5 0v2h5zM12 7.5h.25a.25.25 0 01.25.25v5.5a.25.25 0 01-.25.25h-8.5a.25.25 0 01-.25-.25v-5.5a.25.25 0 01.25-.25H12z\\\"></path>\" }, \"24\": { \"width\": 24, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M6 9V7.25C6 3.845 8.503 1 12 1s6 2.845 6 6.25V9h.5a2.5 2.5 0 012.5 2.5v8a2.5 2.5 0 01-2.5 2.5h-13A2.5 2.5 0 013 19.5v-8A2.5 2.5 0 015.5 9H6zm1.5-1.75C7.5 4.58 9.422 2.5 12 2.5c2.578 0 4.5 2.08 4.5 4.75V9h-9V7.25zm-3 4.25a1 1 0 011-1h13a1 1 0 011 1v8a1 1 0 01-1 1h-13a1 1 0 01-1-1v-8z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nLockIcon.defaultProps = {\n className: 'octicon octicon-lock',\n size: 16,\n verticalAlign: 'text-bottom'\n};\n\nfunction LogoGistIcon(props) {\n var svgDataByHeight = { \"16\": { \"width\": 25, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M4.7 8.73h2.45v4.02c-.55.27-1.64.34-2.53.34-2.56 0-3.47-2.2-3.47-5.05 0-2.85.91-5.06 3.48-5.06 1.28 0 2.06.23 3.28.73V2.66C7.27 2.33 6.25 2 4.63 2 1.13 2 0 4.69 0 8.03c0 3.34 1.11 6.03 4.63 6.03 1.64 0 2.81-.27 3.59-.64V7.73H4.7v1zm6.39 3.72V6.06h-1.05v6.28c0 1.25.58 1.72 1.72 1.72v-.89c-.48 0-.67-.16-.67-.7v-.02zm.25-8.72c0-.44-.33-.78-.78-.78s-.77.34-.77.78.33.78.77.78.78-.34.78-.78zm4.34 5.69c-1.5-.13-1.78-.48-1.78-1.17 0-.77.33-1.34 1.88-1.34 1.05 0 1.66.16 2.27.36v-.94c-.69-.3-1.52-.39-2.25-.39-2.2 0-2.92 1.2-2.92 2.31 0 1.08.47 1.88 2.73 2.08 1.55.13 1.77.63 1.77 1.34 0 .73-.44 1.42-2.06 1.42-1.11 0-1.86-.19-2.33-.36v.94c.5.2 1.58.39 2.33.39 2.38 0 3.14-1.2 3.14-2.41 0-1.28-.53-2.03-2.75-2.23h-.03zm8.58-2.47v-.86h-2.42v-2.5l-1.08.31v2.11l-1.56.44v.48h1.56v5c0 1.53 1.19 2.13 2.5 2.13.19 0 .52-.02.69-.05v-.89c-.19.03-.41.03-.61.03-.97 0-1.5-.39-1.5-1.34V6.94h2.42v.02-.01z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nLogoGistIcon.defaultProps = {\n className: 'octicon octicon-logo-gist',\n size: 16,\n verticalAlign: 'text-bottom'\n};\n\nfunction LogoGithubIcon(props) {\n var svgDataByHeight = { \"16\": { \"width\": 45, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M18.53 12.03h-.02c.009 0 .015.01.024.011h.006l-.01-.01zm.004.011c-.093.001-.327.05-.574.05-.78 0-1.05-.36-1.05-.83V8.13h1.59c.09 0 .16-.08.16-.19v-1.7c0-.09-.08-.17-.16-.17h-1.59V3.96c0-.08-.05-.13-.14-.13h-2.16c-.09 0-.14.05-.14.13v2.17s-1.09.27-1.16.28c-.08.02-.13.09-.13.17v1.36c0 .11.08.19.17.19h1.11v3.28c0 2.44 1.7 2.69 2.86 2.69.53 0 1.17-.17 1.27-.22.06-.02.09-.09.09-.16v-1.5a.177.177 0 00-.146-.18zM42.23 9.84c0-1.81-.73-2.05-1.5-1.97-.6.04-1.08.34-1.08.34v3.52s.49.34 1.22.36c1.03.03 1.36-.34 1.36-2.25zm2.43-.16c0 3.43-1.11 4.41-3.05 4.41-1.64 0-2.52-.83-2.52-.83s-.04.46-.09.52c-.03.06-.08.08-.14.08h-1.48c-.1 0-.19-.08-.19-.17l.02-11.11c0-.09.08-.17.17-.17h2.13c.09 0 .17.08.17.17v3.77s.82-.53 2.02-.53l-.01-.02c1.2 0 2.97.45 2.97 3.88zm-8.72-3.61h-2.1c-.11 0-.17.08-.17.19v5.44s-.55.39-1.3.39-.97-.34-.97-1.09V6.25c0-.09-.08-.17-.17-.17h-2.14c-.09 0-.17.08-.17.17v5.11c0 2.2 1.23 2.75 2.92 2.75 1.39 0 2.52-.77 2.52-.77s.05.39.08.45c.02.05.09.09.16.09h1.34c.11 0 .17-.08.17-.17l.02-7.47c0-.09-.08-.17-.19-.17zm-23.7-.01h-2.13c-.09 0-.17.09-.17.2v7.34c0 .2.13.27.3.27h1.92c.2 0 .25-.09.25-.27V6.23c0-.09-.08-.17-.17-.17zm-1.05-3.38c-.77 0-1.38.61-1.38 1.38 0 .77.61 1.38 1.38 1.38.75 0 1.36-.61 1.36-1.38 0-.77-.61-1.38-1.36-1.38zm16.49-.25h-2.11c-.09 0-.17.08-.17.17v4.09h-3.31V2.6c0-.09-.08-.17-.17-.17h-2.13c-.09 0-.17.08-.17.17v11.11c0 .09.09.17.17.17h2.13c.09 0 .17-.08.17-.17V8.96h3.31l-.02 4.75c0 .09.08.17.17.17h2.13c.09 0 .17-.08.17-.17V2.6c0-.09-.08-.17-.17-.17zM8.81 7.35v5.74c0 .04-.01.11-.06.13 0 0-1.25.89-3.31.89-2.49 0-5.44-.78-5.44-5.92S2.58 1.99 5.1 2c2.18 0 3.06.49 3.2.58.04.05.06.09.06.14L7.94 4.5c0 .09-.09.2-.2.17-.36-.11-.9-.33-2.17-.33-1.47 0-3.05.42-3.05 3.73s1.5 3.7 2.58 3.7c.92 0 1.25-.11 1.25-.11v-2.3H4.88c-.11 0-.19-.08-.19-.17V7.35c0-.09.08-.17.19-.17h3.74c.11 0 .19.08.19.17z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nLogoGithubIcon.defaultProps = {\n className: 'octicon octicon-logo-github',\n size: 16,\n verticalAlign: 'text-bottom'\n};\n\nfunction MailIcon(props) {\n var svgDataByHeight = { \"16\": { \"width\": 16, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M1.75 2A1.75 1.75 0 000 3.75v.736a.75.75 0 000 .027v7.737C0 13.216.784 14 1.75 14h12.5A1.75 1.75 0 0016 12.25v-8.5A1.75 1.75 0 0014.25 2H1.75zM14.5 4.07v-.32a.25.25 0 00-.25-.25H1.75a.25.25 0 00-.25.25v.32L8 7.88l6.5-3.81zm-13 1.74v6.441c0 .138.112.25.25.25h12.5a.25.25 0 00.25-.25V5.809L8.38 9.397a.75.75 0 01-.76 0L1.5 5.809z\\\"></path>\" }, \"24\": { \"width\": 24, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M1.75 3A1.75 1.75 0 000 4.75v14c0 .966.784 1.75 1.75 1.75h20.5A1.75 1.75 0 0024 18.75v-14A1.75 1.75 0 0022.25 3H1.75zM1.5 4.75a.25.25 0 01.25-.25h20.5a.25.25 0 01.25.25v.852l-10.36 7a.25.25 0 01-.28 0l-10.36-7V4.75zm0 2.662V18.75c0 .138.112.25.25.25h20.5a.25.25 0 00.25-.25V7.412l-9.52 6.433c-.592.4-1.368.4-1.96 0L1.5 7.412z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nMailIcon.defaultProps = {\n className: 'octicon octicon-mail',\n size: 16,\n verticalAlign: 'text-bottom'\n};\n\nfunction MarkGithubIcon(props) {\n var svgDataByHeight = { \"16\": { \"width\": 16, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M8 0C3.58 0 0 3.58 0 8c0 3.54 2.29 6.53 5.47 7.59.4.07.55-.17.55-.38 0-.19-.01-.82-.01-1.49-2.01.37-2.53-.49-2.69-.94-.09-.23-.48-.94-.82-1.13-.28-.15-.68-.52-.01-.53.63-.01 1.08.58 1.23.82.72 1.21 1.87.87 2.33.66.07-.52.28-.87.51-1.07-1.78-.2-3.64-.89-3.64-3.95 0-.87.31-1.59.82-2.15-.08-.2-.36-1.02.08-2.12 0 0 .67-.21 2.2.82.64-.18 1.32-.27 2-.27.68 0 1.36.09 2 .27 1.53-1.04 2.2-.82 2.2-.82.44 1.1.16 1.92.08 2.12.51.56.82 1.27.82 2.15 0 3.07-1.87 3.75-3.65 3.95.29.25.54.73.54 1.48 0 1.07-.01 1.93-.01 2.2 0 .21.15.46.55.38A8.013 8.013 0 0016 8c0-4.42-3.58-8-8-8z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nMarkGithubIcon.defaultProps = {\n className: 'octicon octicon-mark-github',\n size: 16,\n verticalAlign: 'text-bottom'\n};\n\nfunction MarkdownIcon(props) {\n var svgDataByHeight = { \"16\": { \"width\": 16, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M14.85 3H1.15C.52 3 0 3.52 0 4.15v7.69C0 12.48.52 13 1.15 13h13.69c.64 0 1.15-.52 1.15-1.15v-7.7C16 3.52 15.48 3 14.85 3zM9 11H7V8L5.5 9.92 4 8v3H2V5h2l1.5 2L7 5h2v6zm2.99.5L9.5 8H11V5h2v3h1.5l-2.51 3.5z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nMarkdownIcon.defaultProps = {\n className: 'octicon octicon-markdown',\n size: 16,\n verticalAlign: 'text-bottom'\n};\n\nfunction MegaphoneIcon(props) {\n var svgDataByHeight = { \"16\": { \"width\": 16, \"path\": \"<g fill-rule=\\\"evenodd\\\"><path d=\\\"M3.25 9a.75.75 0 01.75.75c0 2.142.456 3.828.733 4.653a.121.121 0 00.05.064.207.207 0 00.117.033h1.31c.085 0 .18-.042.258-.152a.448.448 0 00.075-.366A16.74 16.74 0 016 9.75a.75.75 0 011.5 0c0 1.588.25 2.926.494 3.85.293 1.113-.504 2.4-1.783 2.4H4.9c-.686 0-1.35-.41-1.589-1.12A16.42 16.42 0 012.5 9.75.75.75 0 013.25 9z\\\"></path><path d=\\\"M0 6a4 4 0 014-4h2.75a.75.75 0 01.75.75v6.5a.75.75 0 01-.75.75H4a4 4 0 01-4-4zm4-2.5a2.5 2.5 0 000 5h2v-5H4z\\\"></path><path d=\\\"M15.59.082A.75.75 0 0116 .75v10.5a.75.75 0 01-1.189.608l-.002-.001h.001l-.014-.01a5.829 5.829 0 00-.422-.25 10.58 10.58 0 00-1.469-.64C11.576 10.484 9.536 10 6.75 10a.75.75 0 110-1.5c2.964 0 5.174.516 6.658 1.043.423.151.787.302 1.092.443V2.014c-.305.14-.669.292-1.092.443C11.924 2.984 9.713 3.5 6.75 3.5a.75.75 0 110-1.5c2.786 0 4.826-.484 6.155-.957.665-.236 1.154-.47 1.47-.64a5.82 5.82 0 00.421-.25l.014-.01a.75.75 0 01.78-.061zm-.78.06zm.44 11.108l-.44.607.44-.607z\\\"></path></g>\" }, \"24\": { \"width\": 24, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M22 1.75a.75.75 0 00-1.161-.627c-.047.03-.094.057-.142.085a9.15 9.15 0 01-.49.262c-.441.22-1.11.519-2.002.82-1.78.6-4.45 1.21-7.955 1.21H6.5A5.5 5.5 0 005 14.293v.457c0 3.061.684 5.505 1.061 6.621.24.709.904 1.129 1.6 1.129h2.013c1.294 0 2.1-1.322 1.732-2.453-.412-1.268-.906-3.268-.906-5.547 0-.03-.002-.06-.005-.088 3.382.028 5.965.644 7.703 1.251.89.312 1.559.62 2 .849.084.043.171.096.261.15.357.214.757.455 1.142.25A.75.75 0 0022 16.25V1.75zM10.5 12.912c3.564.029 6.313.678 8.193 1.335.737.258 1.34.517 1.807.74V2.993c-.467.216-1.073.467-1.815.718-1.878.634-4.624 1.26-8.185 1.288v7.913zm-4 1.838v-.25H9c0 2.486.537 4.648.98 6.01a.398.398 0 01-.057.343c-.07.104-.162.147-.249.147H7.661c-.105 0-.161-.058-.179-.109-.344-1.018-.982-3.294-.982-6.141zM6.5 5H9v8H6.5a4 4 0 010-8z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nMegaphoneIcon.defaultProps = {\n className: 'octicon octicon-megaphone',\n size: 16,\n verticalAlign: 'text-bottom'\n};\n\nfunction MentionIcon(props) {\n var svgDataByHeight = { \"16\": { \"width\": 16, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M4.75 2.37a6.5 6.5 0 006.5 11.26.75.75 0 01.75 1.298 8 8 0 113.994-7.273.754.754 0 01.006.095v1.5a2.75 2.75 0 01-5.072 1.475A4 4 0 1112 8v1.25a1.25 1.25 0 002.5 0V7.867a6.5 6.5 0 00-9.75-5.496V2.37zM10.5 8a2.5 2.5 0 10-5 0 2.5 2.5 0 005 0z\\\"></path>\" }, \"24\": { \"width\": 24, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M20.226 7.25a9.498 9.498 0 10-3.477 12.976.75.75 0 01.75 1.299c-5.26 3.037-11.987 1.235-15.024-4.026C-.562 12.24 1.24 5.512 6.501 2.475 11.76-.562 18.488 1.24 21.525 6.501a10.956 10.956 0 011.455 4.826c.013.056.02.113.02.173v2.25a3.5 3.5 0 01-6.623 1.581 5.5 5.5 0 111.112-3.682.76.76 0 01.011.129v1.972a2 2 0 104 0v-1.766a9.452 9.452 0 00-1.274-4.733zM16 12a4 4 0 10-8 0 4 4 0 008 0z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nMentionIcon.defaultProps = {\n className: 'octicon octicon-mention',\n size: 16,\n verticalAlign: 'text-bottom'\n};\n\nfunction MeterIcon(props) {\n var svgDataByHeight = { \"16\": { \"width\": 16, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M8 1.5a6.5 6.5 0 106.016 4.035.75.75 0 011.388-.57 8 8 0 11-4.37-4.37.75.75 0 01-.569 1.389A6.479 6.479 0 008 1.5zm6.28.22a.75.75 0 010 1.06l-4.063 4.064a2.5 2.5 0 11-1.06-1.06L13.22 1.72a.75.75 0 011.06 0zM7 8a1 1 0 112 0 1 1 0 01-2 0z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nMeterIcon.defaultProps = {\n className: 'octicon octicon-meter',\n size: 16,\n verticalAlign: 'text-bottom'\n};\n\nfunction MilestoneIcon(props) {\n var svgDataByHeight = { \"16\": { \"width\": 16, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M7.75 0a.75.75 0 01.75.75V3h3.634c.414 0 .814.147 1.13.414l2.07 1.75a1.75 1.75 0 010 2.672l-2.07 1.75a1.75 1.75 0 01-1.13.414H8.5v5.25a.75.75 0 11-1.5 0V10H2.75A1.75 1.75 0 011 8.25v-3.5C1 3.784 1.784 3 2.75 3H7V.75A.75.75 0 017.75 0zm0 8.5h4.384a.25.25 0 00.161-.06l2.07-1.75a.25.25 0 000-.38l-2.07-1.75a.25.25 0 00-.161-.06H2.75a.25.25 0 00-.25.25v3.5c0 .138.112.25.25.25h5z\\\"></path>\" }, \"24\": { \"width\": 24, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M11.75 1a.75.75 0 01.75.75V4h6.532c.42 0 .826.15 1.143.425l3.187 2.75a1.75 1.75 0 010 2.65l-3.187 2.75a1.75 1.75 0 01-1.143.425H12.5v9.25a.75.75 0 01-1.5 0V13H3.75A1.75 1.75 0 012 11.25v-5.5C2 4.783 2.784 4 3.75 4H11V1.75a.75.75 0 01.75-.75zm0 4.5h7.282a.25.25 0 01.163.06l3.188 2.75a.25.25 0 010 .38l-3.188 2.75a.25.25 0 01-.163.06H3.75a.25.25 0 01-.25-.25v-5.5a.25.25 0 01.25-.25h8z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nMilestoneIcon.defaultProps = {\n className: 'octicon octicon-milestone',\n size: 16,\n verticalAlign: 'text-bottom'\n};\n\nfunction MirrorIcon(props) {\n var svgDataByHeight = { \"16\": { \"width\": 16, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M8.75 1.75a.75.75 0 00-1.5 0v.5a.75.75 0 001.5 0v-.5zM8 4a.75.75 0 01.75.75v.5a.75.75 0 01-1.5 0v-.5A.75.75 0 018 4zm.75 3.75a.75.75 0 00-1.5 0v.5a.75.75 0 001.5 0v-.5zM8 10a.75.75 0 01.75.75v.5a.75.75 0 01-1.5 0v-.5A.75.75 0 018 10zm0 3a.75.75 0 01.75.75v.5a.75.75 0 01-1.5 0v-.5A.75.75 0 018 13zm7.547-9.939A.75.75 0 0116 3.75v8.5a.75.75 0 01-1.265.545l-4.5-4.25a.75.75 0 010-1.09l4.5-4.25a.75.75 0 01.812-.144zM11.842 8l2.658 2.51V5.49L11.842 8zM0 12.25a.75.75 0 001.265.545l4.5-4.25a.75.75 0 000-1.09l-4.5-4.25A.75.75 0 000 3.75v8.5zm1.5-6.76L4.158 8 1.5 10.51V5.49z\\\"></path>\" }, \"24\": { \"width\": 24, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M12 10.75a.75.75 0 01.75.75v1a.75.75 0 01-1.5 0v-1a.75.75 0 01.75-.75zm0 4a.75.75 0 01.75.75v1a.75.75 0 01-1.5 0v-1a.75.75 0 01.75-.75zm0 4a.75.75 0 01.75.75v1a.75.75 0 01-1.5 0v-1a.75.75 0 01.75-.75zm0-12a.75.75 0 01.75.75v1a.75.75 0 01-1.5 0v-1a.75.75 0 01.75-.75zm0-4a.75.75 0 01.75.75v1a.75.75 0 01-1.5 0v-1a.75.75 0 01.75-.75zm9.553 3.314A.75.75 0 0122 6.75v10.5a.75.75 0 01-1.256.554l-5.75-5.25a.75.75 0 010-1.108l5.75-5.25a.75.75 0 01.809-.132zM16.613 12l3.887 3.55v-7.1L16.612 12zM2.447 17.936A.75.75 0 012 17.25V6.75a.75.75 0 011.256-.554l5.75 5.25a.75.75 0 010 1.108l-5.75 5.25a.75.75 0 01-.809.132zM7.387 12L3.5 8.45v7.1L7.388 12z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nMirrorIcon.defaultProps = {\n className: 'octicon octicon-mirror',\n size: 16,\n verticalAlign: 'text-bottom'\n};\n\nfunction MoonIcon(props) {\n var svgDataByHeight = { \"16\": { \"width\": 16, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M9.598 1.591a.75.75 0 01.785-.175 7 7 0 11-8.967 8.967.75.75 0 01.961-.96 5.5 5.5 0 007.046-7.046.75.75 0 01.175-.786zm1.616 1.945a7 7 0 01-7.678 7.678 5.5 5.5 0 107.678-7.678z\\\"></path>\" }, \"24\": { \"width\": 24, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M16.5 6c0 5.799-4.701 10.5-10.5 10.5-.426 0-.847-.026-1.26-.075A8.5 8.5 0 1016.425 4.74c.05.413.075.833.075 1.259zm-1.732-2.04A9.08 9.08 0 0114.999 6a9 9 0 01-11.04 8.768l-.004-.002a9.367 9.367 0 01-.78-.218c-.393-.13-.8.21-.67.602a9.938 9.938 0 00.329.855l.004.01A10.002 10.002 0 0012 22a10.002 10.002 0 004.015-19.16l-.01-.005a9.745 9.745 0 00-.855-.328c-.392-.13-.732.276-.602.67a8.934 8.934 0 01.218.779l.002.005z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nMoonIcon.defaultProps = {\n className: 'octicon octicon-moon',\n size: 16,\n verticalAlign: 'text-bottom'\n};\n\nfunction MortarBoardIcon(props) {\n var svgDataByHeight = { \"16\": { \"width\": 16, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M7.693 1.066a.75.75 0 01.614 0l7.25 3.25a.75.75 0 010 1.368L13 6.831v2.794c0 1.024-.81 1.749-1.66 2.173-.893.447-2.075.702-3.34.702-.278 0-.55-.012-.816-.036a.75.75 0 01.133-1.494c.22.02.45.03.683.03 1.082 0 2.025-.221 2.67-.543.69-.345.83-.682.83-.832V7.503L8.307 8.934a.75.75 0 01-.614 0L4 7.28v1.663c.296.105.575.275.812.512.438.438.688 1.059.688 1.796v3a.75.75 0 01-.75.75h-3a.75.75 0 01-.75-.75v-3c0-.737.25-1.358.688-1.796.237-.237.516-.407.812-.512V6.606L.443 5.684a.75.75 0 010-1.368l7.25-3.25zM2.583 5L8 7.428 13.416 5 8 2.572 2.583 5zM2.5 11.25c0-.388.125-.611.25-.735a.704.704 0 01.5-.203c.19 0 .37.071.5.203.125.124.25.347.25.735v2.25H2.5v-2.25z\\\"></path>\" }, \"24\": { \"width\": 24, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M12.292 2.06a.75.75 0 00-.584 0L.458 6.81a.75.75 0 000 1.38L4.25 9.793v3.803a2.901 2.901 0 00-1.327.757c-.579.58-.923 1.41-.923 2.43v4.5c0 .248.128.486.335.624.06.04.117.073.22.124.124.062.297.138.52.213.448.149 1.09.288 1.925.288s1.477-.14 1.925-.288c.223-.075.396-.15.52-.213a2.11 2.11 0 00.21-.117A.762.762 0 008 21.28v-4.5c0-1.018-.344-1.85-.923-2.428a2.9 2.9 0 00-1.327-.758v-3.17l5.958 2.516a.75.75 0 00.584 0l5.208-2.2v4.003a2.552 2.552 0 01-.079.085 4.057 4.057 0 01-.849.65c-.826.488-2.255 1.021-4.572 1.021-.612 0-1.162-.037-1.654-.1a.75.75 0 00-.192 1.487c.56.072 1.173.113 1.846.113 2.558 0 4.254-.592 5.334-1.23.538-.316.914-.64 1.163-.896a2.84 2.84 0 00.392-.482h.001A.75.75 0 0019 15v-4.892l4.542-1.917a.75.75 0 000-1.382l-11.25-4.75zM5 15c-.377 0-.745.141-1.017.413-.265.265-.483.7-.483 1.368v4.022c.299.105.797.228 1.5.228s1.201-.123 1.5-.228V16.78c0-.669-.218-1.103-.483-1.368A1.431 1.431 0 005 15zm7-3.564L2.678 7.5 12 3.564 21.322 7.5 12 11.436z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nMortarBoardIcon.defaultProps = {\n className: 'octicon octicon-mortar-board',\n size: 16,\n verticalAlign: 'text-bottom'\n};\n\nfunction MultiSelectIcon(props) {\n var svgDataByHeight = { \"16\": { \"width\": 16, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M1.75 2.5a.75.75 0 000 1.5h6.5a.75.75 0 000-1.5h-6.5zm4 5a.75.75 0 000 1.5h7.5a.75.75 0 000-1.5h-7.5zm0 5a.75.75 0 000 1.5h7.5a.75.75 0 000-1.5h-7.5zM3 8a1 1 0 11-2 0 1 1 0 012 0zm-1 6a1 1 0 100-2 1 1 0 000 2z\\\"></path><path d=\\\"M13.314 4.918L11.07 2.417A.25.25 0 0111.256 2h4.488a.25.25 0 01.186.417l-2.244 2.5a.25.25 0 01-.372 0z\\\"></path>\" }, \"24\": { \"width\": 24, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M3.75 5.5a.75.75 0 000 1.5h10a.75.75 0 000-1.5h-10zm5 6a.75.75 0 000 1.5h11.5a.75.75 0 000-1.5H8.75zm0 6a.75.75 0 000 1.5h11.5a.75.75 0 000-1.5H8.75zM5 12a1 1 0 11-2 0 1 1 0 012 0zm-1 7a1 1 0 100-2 1 1 0 000 2z\\\"></path><path d=\\\"M19.309 7.918l-2.245-2.501A.25.25 0 0117.25 5h4.49a.25.25 0 01.185.417l-2.244 2.5a.25.25 0 01-.372 0z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nMultiSelectIcon.defaultProps = {\n className: 'octicon octicon-multi-select',\n size: 16,\n verticalAlign: 'text-bottom'\n};\n\nfunction MuteIcon(props) {\n var svgDataByHeight = { \"16\": { \"width\": 16, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M8 2.75a.75.75 0 00-1.238-.57L3.472 5H1.75A1.75 1.75 0 000 6.75v2.5C0 10.216.784 11 1.75 11h1.723l3.289 2.82A.75.75 0 008 13.25V2.75zM4.238 6.32L6.5 4.38v7.24L4.238 9.68a.75.75 0 00-.488-.18h-2a.25.25 0 01-.25-.25v-2.5a.25.25 0 01.25-.25h2a.75.75 0 00.488-.18zm7.042-1.1a.75.75 0 10-1.06 1.06L11.94 8l-1.72 1.72a.75.75 0 101.06 1.06L13 9.06l1.72 1.72a.75.75 0 101.06-1.06L14.06 8l1.72-1.72a.75.75 0 00-1.06-1.06L13 6.94l-1.72-1.72z\\\"></path>\" }, \"24\": { \"width\": 24, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M12 3.75a.75.75 0 00-1.255-.555L5.46 8H2.75A1.75 1.75 0 001 9.75v4.5c0 .966.784 1.75 1.75 1.75h2.71l5.285 4.805A.75.75 0 0012 20.25V3.75zM6.255 9.305l4.245-3.86v13.11l-4.245-3.86a.75.75 0 00-.505-.195h-3a.25.25 0 01-.25-.25v-4.5a.25.25 0 01.25-.25h3a.75.75 0 00.505-.195z\\\"></path><path d=\\\"M16.28 8.22a.75.75 0 10-1.06 1.06L17.94 12l-2.72 2.72a.75.75 0 101.06 1.06L19 13.06l2.72 2.72a.75.75 0 101.06-1.06L20.06 12l2.72-2.72a.75.75 0 00-1.06-1.06L19 10.94l-2.72-2.72z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nMuteIcon.defaultProps = {\n className: 'octicon octicon-mute',\n size: 16,\n verticalAlign: 'text-bottom'\n};\n\nfunction NoEntryIcon(props) {\n var svgDataByHeight = { \"16\": { \"width\": 16, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M2.5 8a5.5 5.5 0 1111 0 5.5 5.5 0 01-11 0zM8 1a7 7 0 100 14A7 7 0 008 1zm3.25 7.75a.75.75 0 000-1.5h-6.5a.75.75 0 000 1.5h6.5z\\\"></path>\" }, \"24\": { \"width\": 24, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M2.5 12a9.5 9.5 0 1119 0 9.5 9.5 0 01-19 0zM12 1C5.925 1 1 5.925 1 12s4.925 11 11 11 11-4.925 11-11S18.075 1 12 1zm6.25 11.75a.75.75 0 000-1.5H5.75a.75.75 0 000 1.5h12.5z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nNoEntryIcon.defaultProps = {\n className: 'octicon octicon-no-entry',\n size: 16,\n verticalAlign: 'text-bottom'\n};\n\nfunction NorthStarIcon(props) {\n var svgDataByHeight = { \"16\": { \"width\": 16, \"path\": \"<path d=\\\"M8.5.75a.75.75 0 00-1.5 0v5.19L4.391 3.33a.75.75 0 10-1.06 1.061L5.939 7H.75a.75.75 0 000 1.5h5.19l-2.61 2.609a.75.75 0 101.061 1.06L7 9.561v5.189a.75.75 0 001.5 0V9.56l2.609 2.61a.75.75 0 101.06-1.061L9.561 8.5h5.189a.75.75 0 000-1.5H9.56l2.61-2.609a.75.75 0 00-1.061-1.06L8.5 5.939V.75z\\\"></path>\" }, \"24\": { \"width\": 24, \"path\": \"<path d=\\\"M12.5 1.25a.75.75 0 00-1.5 0v8.69L6.447 5.385a.75.75 0 10-1.061 1.06L9.94 11H1.25a.75.75 0 000 1.5h8.69l-4.554 4.553a.75.75 0 001.06 1.061L11 13.561v8.689a.75.75 0 001.5 0v-8.69l4.553 4.554a.75.75 0 001.061-1.06L13.561 12.5h8.689a.75.75 0 000-1.5h-8.69l4.554-4.553a.75.75 0 10-1.06-1.061L12.5 9.939V1.25z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nNorthStarIcon.defaultProps = {\n className: 'octicon octicon-north-star',\n size: 16,\n verticalAlign: 'text-bottom'\n};\n\nfunction NoteIcon(props) {\n var svgDataByHeight = { \"16\": { \"width\": 16, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M0 3.75C0 2.784.784 2 1.75 2h12.5c.966 0 1.75.784 1.75 1.75v8.5A1.75 1.75 0 0114.25 14H1.75A1.75 1.75 0 010 12.25v-8.5zm1.75-.25a.25.25 0 00-.25.25v8.5c0 .138.112.25.25.25h12.5a.25.25 0 00.25-.25v-8.5a.25.25 0 00-.25-.25H1.75zM3.5 6.25a.75.75 0 01.75-.75h7a.75.75 0 010 1.5h-7a.75.75 0 01-.75-.75zm.75 2.25a.75.75 0 000 1.5h4a.75.75 0 000-1.5h-4z\\\"></path>\" }, \"24\": { \"width\": 24, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M0 4.75C0 3.784.784 3 1.75 3h20.5c.966 0 1.75.784 1.75 1.75v14.5A1.75 1.75 0 0122.25 21H1.75A1.75 1.75 0 010 19.25V4.75zm1.75-.25a.25.25 0 00-.25.25v14.5c0 .138.112.25.25.25h20.5a.25.25 0 00.25-.25V4.75a.25.25 0 00-.25-.25H1.75z\\\"></path><path fill-rule=\\\"evenodd\\\" d=\\\"M5 8.75A.75.75 0 015.75 8h11.5a.75.75 0 010 1.5H5.75A.75.75 0 015 8.75zm0 4a.75.75 0 01.75-.75h5.5a.75.75 0 010 1.5h-5.5a.75.75 0 01-.75-.75z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nNoteIcon.defaultProps = {\n className: 'octicon octicon-note',\n size: 16,\n verticalAlign: 'text-bottom'\n};\n\nfunction NumberIcon(props) {\n var svgDataByHeight = { \"16\": { \"width\": 16, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M1 5.25a.75.75 0 01.75-.75h12.5a.75.75 0 010 1.5H1.75A.75.75 0 011 5.25zm0 5.5a.75.75 0 01.75-.75h12.5a.75.75 0 010 1.5H1.75a.75.75 0 01-.75-.75z\\\"></path><path fill-rule=\\\"evenodd\\\" d=\\\"M6.368 1.01a.75.75 0 01.623.859l-2 12.5a.75.75 0 01-1.482-.237l2-12.5a.75.75 0 01.86-.622zm5.5 0a.75.75 0 01.623.859l-2 12.5a.75.75 0 01-1.482-.237l2-12.5a.75.75 0 01.86-.622z\\\"></path>\" }, \"24\": { \"width\": 24, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M2 8.25a.75.75 0 01.75-.75h18.5a.75.75 0 010 1.5H2.75A.75.75 0 012 8.25zm-.005 7.5a.75.75 0 01.75-.75v1.5a.75.75 0 01-.75-.75zm.75 0v.75H21.25a.75.75 0 000-1.5H2.745v.75z\\\"></path><path fill-rule=\\\"evenodd\\\" d=\\\"M9.62 2.01a.75.75 0 01.62.86l-3 18.5a.75.75 0 01-1.48-.24l3-18.5a.75.75 0 01.86-.62zm8 0a.75.75 0 01.62.86l-3 18.5a.75.75 0 01-1.48-.24l3-18.5a.75.75 0 01.86-.62z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nNumberIcon.defaultProps = {\n className: 'octicon octicon-number',\n size: 16,\n verticalAlign: 'text-bottom'\n};\n\nfunction OctofaceIcon(props) {\n var svgDataByHeight = { \"16\": { \"width\": 16, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M1.326 1.973a1.2 1.2 0 011.49-.832c.387.112.977.307 1.575.602.586.291 1.243.71 1.7 1.296.022.027.042.056.061.084A13.22 13.22 0 018 3c.67 0 1.289.037 1.861.108l.051-.07c.457-.586 1.114-1.004 1.7-1.295a9.654 9.654 0 011.576-.602 1.2 1.2 0 011.49.832c.14.493.356 1.347.479 2.29.079.604.123 1.28.07 1.936.541.977.773 2.11.773 3.301C16 13 14.5 15 8 15s-8-2-8-5.5c0-1.034.238-2.128.795-3.117-.08-.712-.034-1.46.052-2.12.122-.943.34-1.797.479-2.29zM8 13.065c6 0 6.5-2 6-4.27C13.363 5.905 11.25 5 8 5s-5.363.904-6 3.796c-.5 2.27 0 4.27 6 4.27z\\\"></path><path d=\\\"M4 8a1 1 0 012 0v1a1 1 0 01-2 0V8zm2.078 2.492c-.083-.264.146-.492.422-.492h3c.276 0 .505.228.422.492C9.67 11.304 8.834 12 8 12c-.834 0-1.669-.696-1.922-1.508zM10 8a1 1 0 112 0v1a1 1 0 11-2 0V8z\\\"></path>\" }, \"24\": { \"width\": 24, \"path\": \"<path d=\\\"M7.75 11c-.69 0-1.25.56-1.25 1.25v1.5a1.25 1.25 0 102.5 0v-1.5C9 11.56 8.44 11 7.75 11zm1.27 4.5a.469.469 0 01.48-.5h5a.47.47 0 01.48.5c-.116 1.316-.759 2.5-2.98 2.5s-2.864-1.184-2.98-2.5zm7.23-4.5c-.69 0-1.25.56-1.25 1.25v1.5a1.25 1.25 0 102.5 0v-1.5c0-.69-.56-1.25-1.25-1.25z\\\"></path><path fill-rule=\\\"evenodd\\\" d=\\\"M21.255 3.82a1.725 1.725 0 00-2.141-1.195c-.557.16-1.406.44-2.264.866-.78.386-1.647.93-2.293 1.677A18.442 18.442 0 0012 5c-.93 0-1.784.059-2.569.17-.645-.74-1.505-1.28-2.28-1.664a13.876 13.876 0 00-2.265-.866 1.725 1.725 0 00-2.141 1.196 23.645 23.645 0 00-.69 3.292c-.125.97-.191 2.07-.066 3.112C1.254 11.882 1 13.734 1 15.527 1 19.915 3.13 23 12 23c8.87 0 11-3.053 11-7.473 0-1.794-.255-3.647-.99-5.29.127-1.046.06-2.15-.066-3.125a23.652 23.652 0 00-.689-3.292zM20.5 14c.5 3.5-1.5 6.5-8.5 6.5s-9-3-8.5-6.5c.583-4 3-6 8.5-6s7.928 2 8.5 6z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nOctofaceIcon.defaultProps = {\n className: 'octicon octicon-octoface',\n size: 16,\n verticalAlign: 'text-bottom'\n};\n\nfunction OrganizationIcon(props) {\n var svgDataByHeight = { \"16\": { \"width\": 16, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M1.5 14.25c0 .138.112.25.25.25H4v-1.25a.75.75 0 01.75-.75h2.5a.75.75 0 01.75.75v1.25h2.25a.25.25 0 00.25-.25V1.75a.25.25 0 00-.25-.25h-8.5a.25.25 0 00-.25.25v12.5zM1.75 16A1.75 1.75 0 010 14.25V1.75C0 .784.784 0 1.75 0h8.5C11.216 0 12 .784 12 1.75v12.5c0 .085-.006.168-.018.25h2.268a.25.25 0 00.25-.25V8.285a.25.25 0 00-.111-.208l-1.055-.703a.75.75 0 11.832-1.248l1.055.703c.487.325.779.871.779 1.456v5.965A1.75 1.75 0 0114.25 16h-3.5a.75.75 0 01-.197-.026c-.099.017-.2.026-.303.026h-3a.75.75 0 01-.75-.75V14h-1v1.25a.75.75 0 01-.75.75h-3zM3 3.75A.75.75 0 013.75 3h.5a.75.75 0 010 1.5h-.5A.75.75 0 013 3.75zM3.75 6a.75.75 0 000 1.5h.5a.75.75 0 000-1.5h-.5zM3 9.75A.75.75 0 013.75 9h.5a.75.75 0 010 1.5h-.5A.75.75 0 013 9.75zM7.75 9a.75.75 0 000 1.5h.5a.75.75 0 000-1.5h-.5zM7 6.75A.75.75 0 017.75 6h.5a.75.75 0 010 1.5h-.5A.75.75 0 017 6.75zM7.75 3a.75.75 0 000 1.5h.5a.75.75 0 000-1.5h-.5z\\\"></path>\" }, \"24\": { \"width\": 24, \"path\": \"<path d=\\\"M7.25 12a.75.75 0 000 1.5h.5a.75.75 0 000-1.5h-.5zM6.5 9.25a.75.75 0 01.75-.75h.5a.75.75 0 010 1.5h-.5a.75.75 0 01-.75-.75zM7.25 5a.75.75 0 000 1.5h.5a.75.75 0 000-1.5h-.5zM10 12.75a.75.75 0 01.75-.75h.5a.75.75 0 010 1.5h-.5a.75.75 0 01-.75-.75zm.75-4.25a.75.75 0 000 1.5h.5a.75.75 0 000-1.5h-.5zM10 5.75a.75.75 0 01.75-.75h.5a.75.75 0 010 1.5h-.5a.75.75 0 01-.75-.75zM14.25 12a.75.75 0 000 1.5h.5a.75.75 0 000-1.5h-.5zm-.75-2.75a.75.75 0 01.75-.75h.5a.75.75 0 010 1.5h-.5a.75.75 0 01-.75-.75zM14.25 5a.75.75 0 000 1.5h.5a.75.75 0 000-1.5h-.5z\\\"></path><path fill-rule=\\\"evenodd\\\" d=\\\"M3 20a2 2 0 002 2h3.75a.75.75 0 00.75-.75V19h3v2.25c0 .414.336.75.75.75H17c.092 0 .183-.006.272-.018a.758.758 0 00.166.018H21.5a2 2 0 002-2v-7.625a2 2 0 00-.8-1.6l-1-.75a.75.75 0 10-.9 1.2l1 .75a.5.5 0 01.2.4V20a.5.5 0 01-.5.5h-2.563c.041-.16.063-.327.063-.5V3a2 2 0 00-2-2H5a2 2 0 00-2 2v17zm2 .5a.5.5 0 01-.5-.5V3a.5.5 0 01.5-.5h12a.5.5 0 01.5.5v17a.5.5 0 01-.5.5h-3v-2.25a.75.75 0 00-.75-.75h-4.5a.75.75 0 00-.75.75v2.25H5z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nOrganizationIcon.defaultProps = {\n className: 'octicon octicon-organization',\n size: 16,\n verticalAlign: 'text-bottom'\n};\n\nfunction PackageIcon(props) {\n var svgDataByHeight = { \"16\": { \"width\": 16, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M8.878.392a1.75 1.75 0 00-1.756 0l-5.25 3.045A1.75 1.75 0 001 4.951v6.098c0 .624.332 1.2.872 1.514l5.25 3.045a1.75 1.75 0 001.756 0l5.25-3.045c.54-.313.872-.89.872-1.514V4.951c0-.624-.332-1.2-.872-1.514L8.878.392zM7.875 1.69a.25.25 0 01.25 0l4.63 2.685L8 7.133 3.245 4.375l4.63-2.685zM2.5 5.677v5.372c0 .09.047.171.125.216l4.625 2.683V8.432L2.5 5.677zm6.25 8.271l4.625-2.683a.25.25 0 00.125-.216V5.677L8.75 8.432v5.516z\\\"></path>\" }, \"24\": { \"width\": 24, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M12.876.64a1.75 1.75 0 00-1.75 0l-8.25 4.762a1.75 1.75 0 00-.875 1.515v9.525c0 .625.334 1.203.875 1.515l8.25 4.763a1.75 1.75 0 001.75 0l8.25-4.762a1.75 1.75 0 00.875-1.516V6.917a1.75 1.75 0 00-.875-1.515L12.876.639zm-1 1.298a.25.25 0 01.25 0l7.625 4.402-7.75 4.474-7.75-4.474 7.625-4.402zM3.501 7.64v8.803c0 .09.048.172.125.216l7.625 4.402v-8.947L3.501 7.64zm9.25 13.421l7.625-4.402a.25.25 0 00.125-.216V7.639l-7.75 4.474v8.947z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nPackageIcon.defaultProps = {\n className: 'octicon octicon-package',\n size: 16,\n verticalAlign: 'text-bottom'\n};\n\nfunction PackageDependenciesIcon(props) {\n var svgDataByHeight = { \"16\": { \"width\": 16, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M6.122.392a1.75 1.75 0 011.756 0l5.25 3.045c.54.313.872.89.872 1.514V7.25a.75.75 0 01-1.5 0V5.677L7.75 8.432v6.384a1 1 0 01-1.502.865L.872 12.563A1.75 1.75 0 010 11.049V4.951c0-.624.332-1.2.872-1.514L6.122.392zM7.125 1.69l4.63 2.685L7 7.133 2.245 4.375l4.63-2.685a.25.25 0 01.25 0zM1.5 11.049V5.677l4.75 2.755v5.516l-4.625-2.683a.25.25 0 01-.125-.216zm11.672-.282a.75.75 0 10-1.087-1.034l-2.378 2.5a.75.75 0 000 1.034l2.378 2.5a.75.75 0 101.087-1.034L11.999 13.5h3.251a.75.75 0 000-1.5h-3.251l1.173-1.233z\\\"></path>\" }, \"24\": { \"width\": 24, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M9.126.64a1.75 1.75 0 011.75 0l8.25 4.762c.103.06.199.128.286.206a.748.748 0 01.554.96c.023.113.035.23.035.35v3.332a.75.75 0 01-1.5 0V7.64l-7.75 4.474V22.36a.75.75 0 01-1.125.65l-8.75-5.052a1.75 1.75 0 01-.875-1.515V6.917c0-.119.012-.236.035-.35a.748.748 0 01.554-.96 1.75 1.75 0 01.286-.205L9.126.639zM1.501 7.638v8.803c0 .09.048.172.125.216l7.625 4.402v-8.947l-7.75-4.474zm8.5 3.175L2.251 6.34l7.625-4.402a.25.25 0 01.25 0l7.625 4.402-7.75 4.474z\\\"></path><path d=\\\"M16.617 17.5l2.895-2.702a.75.75 0 00-1.024-1.096l-4.285 4a.75.75 0 000 1.096l4.285 4a.75.75 0 101.024-1.096L16.617 19h6.633a.75.75 0 000-1.5h-6.633z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nPackageDependenciesIcon.defaultProps = {\n className: 'octicon octicon-package-dependencies',\n size: 16,\n verticalAlign: 'text-bottom'\n};\n\nfunction PackageDependentsIcon(props) {\n var svgDataByHeight = { \"16\": { \"width\": 16, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M6.122.392a1.75 1.75 0 011.756 0l5.25 3.045c.54.313.872.89.872 1.514V7.25a.75.75 0 01-1.5 0V5.677L7.75 8.432v6.384a1 1 0 01-1.502.865L.872 12.563A1.75 1.75 0 010 11.049V4.951c0-.624.332-1.2.872-1.514L6.122.392zM7.125 1.69l4.63 2.685L7 7.133 2.245 4.375l4.63-2.685a.25.25 0 01.25 0zM1.5 11.049V5.677l4.75 2.755v5.516l-4.625-2.683a.25.25 0 01-.125-.216zm10.828 3.684a.75.75 0 101.087 1.034l2.378-2.5a.75.75 0 000-1.034l-2.378-2.5a.75.75 0 00-1.087 1.034L13.501 12H10.25a.75.75 0 000 1.5h3.251l-1.173 1.233z\\\"></path>\" }, \"24\": { \"width\": 24, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M9.126.64a1.75 1.75 0 011.75 0l8.25 4.762c.103.06.199.128.286.206a.748.748 0 01.554.96c.023.113.035.23.035.35v3.332a.75.75 0 01-1.5 0V7.64l-7.75 4.474V22.36a.75.75 0 01-1.125.65l-8.75-5.052a1.75 1.75 0 01-.875-1.515V6.917c0-.119.012-.236.035-.35a.748.748 0 01.554-.96 1.75 1.75 0 01.286-.205L9.126.639zM1.501 7.638v8.803c0 .09.048.172.125.216l7.625 4.402v-8.947l-7.75-4.474zm8.5 3.175L2.251 6.34l7.625-4.402a.25.25 0 01.25 0l7.625 4.402-7.75 4.474z\\\"></path><path d=\\\"M21.347 17.5l-2.894-2.702a.75.75 0 111.023-1.096l4.286 4a.75.75 0 010 1.096l-4.286 4a.75.75 0 11-1.023-1.096L21.347 19h-6.633a.75.75 0 010-1.5h6.633z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nPackageDependentsIcon.defaultProps = {\n className: 'octicon octicon-package-dependents',\n size: 16,\n verticalAlign: 'text-bottom'\n};\n\nfunction PaintbrushIcon(props) {\n var svgDataByHeight = { \"16\": { \"width\": 16, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M11.134 1.535C9.722 2.562 8.16 4.057 6.889 5.312 5.8 6.387 5.041 7.401 4.575 8.294a3.745 3.745 0 00-3.227 1.054c-.43.431-.69 1.066-.86 1.657a11.982 11.982 0 00-.358 1.914A21.263 21.263 0 000 15.203v.054l.75-.007-.007.75h.054a14.404 14.404 0 00.654-.012 21.243 21.243 0 001.63-.118c.62-.07 1.3-.18 1.914-.357.592-.17 1.226-.43 1.657-.861a3.745 3.745 0 001.055-3.217c.908-.461 1.942-1.216 3.04-2.3 1.279-1.262 2.764-2.825 3.775-4.249.501-.706.923-1.428 1.125-2.096.2-.659.235-1.469-.368-2.07-.606-.607-1.42-.55-2.069-.34-.66.213-1.376.646-2.076 1.155zm-3.95 8.48a3.76 3.76 0 00-1.19-1.192 9.758 9.758 0 011.161-1.607l1.658 1.658a9.853 9.853 0 01-1.63 1.142zM.742 16l.007-.75-.75.008A.75.75 0 00.743 16zM12.016 2.749c-1.224.89-2.605 2.189-3.822 3.384l1.718 1.718c1.21-1.205 2.51-2.597 3.387-3.833.47-.662.78-1.227.912-1.662.134-.444.032-.551.009-.575h-.001V1.78c-.014-.014-.112-.113-.548.027-.432.14-.995.462-1.655.942zM1.62 13.089a19.56 19.56 0 00-.104 1.395 19.55 19.55 0 001.396-.104 10.528 10.528 0 001.668-.309c.526-.151.856-.325 1.011-.48a2.25 2.25 0 00-3.182-3.182c-.155.155-.329.485-.48 1.01a10.515 10.515 0 00-.309 1.67z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nPaintbrushIcon.defaultProps = {\n className: 'octicon octicon-paintbrush',\n size: 16,\n verticalAlign: 'text-bottom'\n};\n\nfunction PaperAirplaneIcon(props) {\n var svgDataByHeight = { \"16\": { \"width\": 16, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M1.592 2.712L2.38 7.25h4.87a.75.75 0 110 1.5H2.38l-.788 4.538L13.929 8 1.592 2.712zM.989 8L.064 2.68a1.341 1.341 0 011.85-1.462l13.402 5.744a1.13 1.13 0 010 2.076L1.913 14.782a1.341 1.341 0 01-1.85-1.463L.99 8z\\\"></path>\" }, \"24\": { \"width\": 24, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M1.513 1.96a1.374 1.374 0 011.499-.21l19.335 9.215a1.146 1.146 0 010 2.07L3.012 22.25a1.374 1.374 0 01-1.947-1.46L2.49 12 1.065 3.21a1.374 1.374 0 01.448-1.25zm2.375 10.79l-1.304 8.042L21.031 12 2.584 3.208l1.304 8.042h7.362a.75.75 0 010 1.5H3.888z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nPaperAirplaneIcon.defaultProps = {\n className: 'octicon octicon-paper-airplane',\n size: 16,\n verticalAlign: 'text-bottom'\n};\n\nfunction PencilIcon(props) {\n var svgDataByHeight = { \"16\": { \"width\": 16, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M11.013 1.427a1.75 1.75 0 012.474 0l1.086 1.086a1.75 1.75 0 010 2.474l-8.61 8.61c-.21.21-.47.364-.756.445l-3.251.93a.75.75 0 01-.927-.928l.929-3.25a1.75 1.75 0 01.445-.758l8.61-8.61zm1.414 1.06a.25.25 0 00-.354 0L10.811 3.75l1.439 1.44 1.263-1.263a.25.25 0 000-.354l-1.086-1.086zM11.189 6.25L9.75 4.81l-6.286 6.287a.25.25 0 00-.064.108l-.558 1.953 1.953-.558a.249.249 0 00.108-.064l6.286-6.286z\\\"></path>\" }, \"24\": { \"width\": 24, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M17.263 2.177a1.75 1.75 0 012.474 0l2.586 2.586a1.75 1.75 0 010 2.474L19.53 10.03l-.012.013L8.69 20.378a1.75 1.75 0 01-.699.409l-5.523 1.68a.75.75 0 01-.935-.935l1.673-5.5a1.75 1.75 0 01.466-.756L14.476 4.963l2.787-2.786zm-2.275 4.371l-10.28 9.813a.25.25 0 00-.067.108l-1.264 4.154 4.177-1.271a.25.25 0 00.1-.059l10.273-9.806-2.94-2.939zM19 8.44l2.263-2.262a.25.25 0 000-.354l-2.586-2.586a.25.25 0 00-.354 0L16.061 5.5 19 8.44z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nPencilIcon.defaultProps = {\n className: 'octicon octicon-pencil',\n size: 16,\n verticalAlign: 'text-bottom'\n};\n\nfunction PeopleIcon(props) {\n var svgDataByHeight = { \"16\": { \"width\": 16, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M5.5 3.5a2 2 0 100 4 2 2 0 000-4zM2 5.5a3.5 3.5 0 115.898 2.549 5.507 5.507 0 013.034 4.084.75.75 0 11-1.482.235 4.001 4.001 0 00-7.9 0 .75.75 0 01-1.482-.236A5.507 5.507 0 013.102 8.05 3.49 3.49 0 012 5.5zM11 4a.75.75 0 100 1.5 1.5 1.5 0 01.666 2.844.75.75 0 00-.416.672v.352a.75.75 0 00.574.73c1.2.289 2.162 1.2 2.522 2.372a.75.75 0 101.434-.44 5.01 5.01 0 00-2.56-3.012A3 3 0 0011 4z\\\"></path>\" }, \"24\": { \"width\": 24, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M3.5 8a5.5 5.5 0 118.596 4.547 9.005 9.005 0 015.9 8.18.75.75 0 01-1.5.045 7.5 7.5 0 00-14.993 0 .75.75 0 01-1.499-.044 9.005 9.005 0 015.9-8.181A5.494 5.494 0 013.5 8zM9 4a4 4 0 100 8 4 4 0 000-8z\\\"></path><path d=\\\"M17.29 8c-.148 0-.292.01-.434.03a.75.75 0 11-.212-1.484 4.53 4.53 0 013.38 8.097 6.69 6.69 0 013.956 6.107.75.75 0 01-1.5 0 5.193 5.193 0 00-3.696-4.972l-.534-.16v-1.676l.41-.209A3.03 3.03 0 0017.29 8z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nPeopleIcon.defaultProps = {\n className: 'octicon octicon-people',\n size: 16,\n verticalAlign: 'text-bottom'\n};\n\nfunction PersonIcon(props) {\n var svgDataByHeight = { \"16\": { \"width\": 16, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M10.5 5a2.5 2.5 0 11-5 0 2.5 2.5 0 015 0zm.061 3.073a4 4 0 10-5.123 0 6.004 6.004 0 00-3.431 5.142.75.75 0 001.498.07 4.5 4.5 0 018.99 0 .75.75 0 101.498-.07 6.005 6.005 0 00-3.432-5.142z\\\"></path>\" }, \"24\": { \"width\": 24, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M12 2.5a5.5 5.5 0 00-3.096 10.047 9.005 9.005 0 00-5.9 8.18.75.75 0 001.5.045 7.5 7.5 0 0114.993 0 .75.75 0 101.499-.044 9.005 9.005 0 00-5.9-8.181A5.5 5.5 0 0012 2.5zM8 8a4 4 0 118 0 4 4 0 01-8 0z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nPersonIcon.defaultProps = {\n className: 'octicon octicon-person',\n size: 16,\n verticalAlign: 'text-bottom'\n};\n\nfunction PersonAddIcon(props) {\n var svgDataByHeight = { \"16\": { \"width\": 16, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M13.25 0a.75.75 0 01.75.75V2h1.25a.75.75 0 010 1.5H14v1.25a.75.75 0 01-1.5 0V3.5h-1.25a.75.75 0 010-1.5h1.25V.75a.75.75 0 01.75-.75zM5.5 4a2 2 0 100 4 2 2 0 000-4zm2.4 4.548a3.5 3.5 0 10-4.799 0 5.527 5.527 0 00-3.1 4.66.75.75 0 101.498.085A4.01 4.01 0 015.5 9.5a4.01 4.01 0 014.001 3.793.75.75 0 101.498-.086 5.527 5.527 0 00-3.1-4.659z\\\"></path>\" }, \"24\": { \"width\": 24, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M19.25 1a.75.75 0 01.75.75V4h2.25a.75.75 0 010 1.5H20v2.25a.75.75 0 01-1.5 0V5.5h-2.25a.75.75 0 010-1.5h2.25V1.75a.75.75 0 01.75-.75zM9 6a3.5 3.5 0 100 7 3.5 3.5 0 000-7zM4 9.5a5 5 0 117.916 4.062 7.973 7.973 0 015.018 7.166.75.75 0 11-1.499.044 6.469 6.469 0 00-12.932 0 .75.75 0 01-1.499-.044 7.973 7.973 0 015.059-7.181A4.993 4.993 0 014 9.5z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nPersonAddIcon.defaultProps = {\n className: 'octicon octicon-person-add',\n size: 16,\n verticalAlign: 'text-bottom'\n};\n\nfunction PinIcon(props) {\n var svgDataByHeight = { \"16\": { \"width\": 16, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M4.456.734a1.75 1.75 0 012.826.504l.613 1.327a3.081 3.081 0 002.084 1.707l2.454.584c1.332.317 1.8 1.972.832 2.94L11.06 10l3.72 3.72a.75.75 0 11-1.061 1.06L10 11.06l-2.204 2.205c-.968.968-2.623.5-2.94-.832l-.584-2.454a3.081 3.081 0 00-1.707-2.084l-1.327-.613a1.75 1.75 0 01-.504-2.826L4.456.734zM5.92 1.866a.25.25 0 00-.404-.072L1.794 5.516a.25.25 0 00.072.404l1.328.613A4.582 4.582 0 015.73 9.63l.584 2.454a.25.25 0 00.42.12l5.47-5.47a.25.25 0 00-.12-.42L9.63 5.73a4.581 4.581 0 01-3.098-2.537L5.92 1.866z\\\"></path>\" }, \"24\": { \"width\": 24, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M7.886 1.553a1.75 1.75 0 012.869.604l.633 1.629a5.666 5.666 0 003.725 3.395l3.959 1.131a1.75 1.75 0 01.757 2.92L16.06 15l5.594 5.595a.75.75 0 11-1.06 1.06L15 16.061l-3.768 3.768a1.75 1.75 0 01-2.92-.757l-1.131-3.96a5.667 5.667 0 00-3.395-3.724l-1.63-.633a1.75 1.75 0 01-.603-2.869l6.333-6.333zm6.589 12.912l-.005.005-.005.005-4.294 4.293a.25.25 0 01-.417-.108l-1.13-3.96A7.166 7.166 0 004.33 9.99L2.7 9.356a.25.25 0 01-.086-.41l6.333-6.332a.25.25 0 01.41.086l.633 1.63a7.167 7.167 0 004.71 4.293l3.96 1.131a.25.25 0 01.108.417l-4.293 4.294z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nPinIcon.defaultProps = {\n className: 'octicon octicon-pin',\n size: 16,\n verticalAlign: 'text-bottom'\n};\n\nfunction PlayIcon(props) {\n var svgDataByHeight = { \"16\": { \"width\": 16, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M1.5 8a6.5 6.5 0 1113 0 6.5 6.5 0 01-13 0zM8 0a8 8 0 100 16A8 8 0 008 0zM6.379 5.227A.25.25 0 006 5.442v5.117a.25.25 0 00.379.214l4.264-2.559a.25.25 0 000-.428L6.379 5.227z\\\"></path>\" }, \"24\": { \"width\": 24, \"path\": \"<path d=\\\"M9.5 15.584V8.416a.5.5 0 01.77-.42l5.576 3.583a.5.5 0 010 .842l-5.576 3.584a.5.5 0 01-.77-.42z\\\"></path><path fill-rule=\\\"evenodd\\\" d=\\\"M12 2.5a9.5 9.5 0 100 19 9.5 9.5 0 000-19zM1 12C1 5.925 5.925 1 12 1s11 4.925 11 11-4.925 11-11 11S1 18.075 1 12z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nPlayIcon.defaultProps = {\n className: 'octicon octicon-play',\n size: 16,\n verticalAlign: 'text-bottom'\n};\n\nfunction PlugIcon(props) {\n var svgDataByHeight = { \"16\": { \"width\": 16, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M10.276 3.09a.25.25 0 01.192-.09h.782a.25.25 0 01.25.25v8.5a.25.25 0 01-.25.25h-.782a.25.25 0 01-.192-.09l-.95-1.14a.75.75 0 00-.483-.264l-3.124-.39a.25.25 0 01-.219-.249V5.133a.25.25 0 01.219-.248l3.124-.39a.75.75 0 00.483-.265l.95-1.14zM4 8v1.867a1.75 1.75 0 001.533 1.737l2.83.354.761.912c.332.4.825.63 1.344.63h.782A1.75 1.75 0 0013 11.75V11h2.25a.75.75 0 000-1.5H13v-4h2.25a.75.75 0 000-1.5H13v-.75a1.75 1.75 0 00-1.75-1.75h-.782c-.519 0-1.012.23-1.344.63l-.76.913-2.831.353A1.75 1.75 0 004 5.133V6.5H2.5A2.5 2.5 0 000 9v5.25a.75.75 0 001.5 0V9a1 1 0 011-1H4z\\\"></path>\" }, \"24\": { \"width\": 24, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M7 11.5v3.848a1.75 1.75 0 001.57 1.74l6.055.627 1.006 1.174a1.75 1.75 0 001.329.611h1.29A1.75 1.75 0 0020 17.75V15.5h3.25a.75.75 0 000-1.5H20V7.5h3.25a.75.75 0 000-1.5H20V3.75A1.75 1.75 0 0018.25 2h-1.29c-.51 0-.996.223-1.329.611l-1.006 1.174-6.055.626A1.75 1.75 0 007 6.151V10H2.937A2.938 2.938 0 000 12.938v8.312a.75.75 0 001.5 0v-8.313c0-.793.644-1.437 1.438-1.437H7zm9.77-7.913a.25.25 0 01.19-.087h1.29a.25.25 0 01.25.25v14a.25.25 0 01-.25.25h-1.29a.25.25 0 01-.19-.087l-1.2-1.401a.75.75 0 00-.493-.258l-6.353-.657a.25.25 0 01-.224-.249V6.152a.25.25 0 01.224-.249l6.353-.657a.75.75 0 00.492-.258l1.201-1.4z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nPlugIcon.defaultProps = {\n className: 'octicon octicon-plug',\n size: 16,\n verticalAlign: 'text-bottom'\n};\n\nfunction PlusIcon(props) {\n var svgDataByHeight = { \"16\": { \"width\": 16, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M7.75 2a.75.75 0 01.75.75V7h4.25a.75.75 0 110 1.5H8.5v4.25a.75.75 0 11-1.5 0V8.5H2.75a.75.75 0 010-1.5H7V2.75A.75.75 0 017.75 2z\\\"></path>\" }, \"24\": { \"width\": 24, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M11.75 4.5a.75.75 0 01.75.75V11h5.75a.75.75 0 010 1.5H12.5v5.75a.75.75 0 01-1.5 0V12.5H5.25a.75.75 0 010-1.5H11V5.25a.75.75 0 01.75-.75z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nPlusIcon.defaultProps = {\n className: 'octicon octicon-plus',\n size: 16,\n verticalAlign: 'text-bottom'\n};\n\nfunction PlusCircleIcon(props) {\n var svgDataByHeight = { \"16\": { \"width\": 16, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M1.5 8a6.5 6.5 0 1113 0 6.5 6.5 0 01-13 0zM8 0a8 8 0 100 16A8 8 0 008 0zm.75 4.75a.75.75 0 00-1.5 0v2.5h-2.5a.75.75 0 000 1.5h2.5v2.5a.75.75 0 001.5 0v-2.5h2.5a.75.75 0 000-1.5h-2.5v-2.5z\\\"></path>\" }, \"24\": { \"width\": 24, \"path\": \"<path d=\\\"M12.75 7.75a.75.75 0 00-1.5 0v3.5h-3.5a.75.75 0 000 1.5h3.5v3.5a.75.75 0 001.5 0v-3.5h3.5a.75.75 0 000-1.5h-3.5v-3.5z\\\"></path><path fill-rule=\\\"evenodd\\\" d=\\\"M12 1C5.925 1 1 5.925 1 12s4.925 11 11 11 11-4.925 11-11S18.075 1 12 1zM2.5 12a9.5 9.5 0 1119 0 9.5 9.5 0 01-19 0z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nPlusCircleIcon.defaultProps = {\n className: 'octicon octicon-plus-circle',\n size: 16,\n verticalAlign: 'text-bottom'\n};\n\nfunction ProjectIcon(props) {\n var svgDataByHeight = { \"16\": { \"width\": 16, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M1.75 0A1.75 1.75 0 000 1.75v12.5C0 15.216.784 16 1.75 16h12.5A1.75 1.75 0 0016 14.25V1.75A1.75 1.75 0 0014.25 0H1.75zM1.5 1.75a.25.25 0 01.25-.25h12.5a.25.25 0 01.25.25v12.5a.25.25 0 01-.25.25H1.75a.25.25 0 01-.25-.25V1.75zM11.75 3a.75.75 0 00-.75.75v7.5a.75.75 0 001.5 0v-7.5a.75.75 0 00-.75-.75zm-8.25.75a.75.75 0 011.5 0v5.5a.75.75 0 01-1.5 0v-5.5zM8 3a.75.75 0 00-.75.75v3.5a.75.75 0 001.5 0v-3.5A.75.75 0 008 3z\\\"></path>\" }, \"24\": { \"width\": 24, \"path\": \"<path d=\\\"M7.25 6a.75.75 0 00-.75.75v7.5a.75.75 0 001.5 0v-7.5A.75.75 0 007.25 6zM12 6a.75.75 0 00-.75.75v4.5a.75.75 0 001.5 0v-4.5A.75.75 0 0012 6zm4 .75a.75.75 0 011.5 0v9.5a.75.75 0 01-1.5 0v-9.5z\\\"></path><path fill-rule=\\\"evenodd\\\" d=\\\"M3.75 2A1.75 1.75 0 002 3.75v16.5c0 .966.784 1.75 1.75 1.75h16.5A1.75 1.75 0 0022 20.25V3.75A1.75 1.75 0 0020.25 2H3.75zM3.5 3.75a.25.25 0 01.25-.25h16.5a.25.25 0 01.25.25v16.5a.25.25 0 01-.25.25H3.75a.25.25 0 01-.25-.25V3.75z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nProjectIcon.defaultProps = {\n className: 'octicon octicon-project',\n size: 16,\n verticalAlign: 'text-bottom'\n};\n\nfunction PulseIcon(props) {\n var svgDataByHeight = { \"16\": { \"width\": 16, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M6 2a.75.75 0 01.696.471L10 10.731l1.304-3.26A.75.75 0 0112 7h3.25a.75.75 0 010 1.5h-2.742l-1.812 4.528a.75.75 0 01-1.392 0L6 4.77 4.696 8.03A.75.75 0 014 8.5H.75a.75.75 0 010-1.5h2.742l1.812-4.529A.75.75 0 016 2z\\\"></path>\" }, \"24\": { \"width\": 24, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M9.002 2.5a.75.75 0 01.691.464l6.302 15.305 2.56-6.301a.75.75 0 01.695-.468h4a.75.75 0 010 1.5h-3.495l-3.06 7.532a.75.75 0 01-1.389.004L8.997 5.21l-3.054 7.329A.75.75 0 015.25 13H.75a.75.75 0 010-1.5h4l3.558-8.538a.75.75 0 01.694-.462z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nPulseIcon.defaultProps = {\n className: 'octicon octicon-pulse',\n size: 16,\n verticalAlign: 'text-bottom'\n};\n\nfunction QuestionIcon(props) {\n var svgDataByHeight = { \"16\": { \"width\": 16, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M8 1.5a6.5 6.5 0 100 13 6.5 6.5 0 000-13zM0 8a8 8 0 1116 0A8 8 0 010 8zm9 3a1 1 0 11-2 0 1 1 0 012 0zM6.92 6.085c.081-.16.19-.299.34-.398.145-.097.371-.187.74-.187.28 0 .553.087.738.225A.613.613 0 019 6.25c0 .177-.04.264-.077.318a.956.956 0 01-.277.245c-.076.051-.158.1-.258.161l-.007.004a7.728 7.728 0 00-.313.195 2.416 2.416 0 00-.692.661.75.75 0 001.248.832.956.956 0 01.276-.245 6.3 6.3 0 01.26-.16l.006-.004c.093-.057.204-.123.313-.195.222-.149.487-.355.692-.662.214-.32.329-.702.329-1.15 0-.76-.36-1.348-.863-1.725A2.76 2.76 0 008 4c-.631 0-1.155.16-1.572.438-.413.276-.68.638-.849.977a.75.75 0 101.342.67z\\\"></path>\" }, \"24\": { \"width\": 24, \"path\": \"<path d=\\\"M10.97 8.265a1.45 1.45 0 00-.487.57.75.75 0 01-1.341-.67c.2-.402.513-.826.997-1.148C10.627 6.69 11.244 6.5 12 6.5c.658 0 1.369.195 1.934.619a2.45 2.45 0 011.004 2.006c0 1.033-.513 1.72-1.027 2.215-.19.183-.399.358-.579.508l-.147.123a4.329 4.329 0 00-.435.409v1.37a.75.75 0 11-1.5 0v-1.473c0-.237.067-.504.247-.736.22-.28.486-.517.718-.714l.183-.153.001-.001c.172-.143.324-.27.47-.412.368-.355.569-.676.569-1.136a.953.953 0 00-.404-.806C12.766 8.118 12.384 8 12 8c-.494 0-.814.121-1.03.265zM13 17a1 1 0 11-2 0 1 1 0 012 0z\\\"></path><path fill-rule=\\\"evenodd\\\" d=\\\"M12 1C5.925 1 1 5.925 1 12s4.925 11 11 11 11-4.925 11-11S18.075 1 12 1zM2.5 12a9.5 9.5 0 1119 0 9.5 9.5 0 01-19 0z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nQuestionIcon.defaultProps = {\n className: 'octicon octicon-question',\n size: 16,\n verticalAlign: 'text-bottom'\n};\n\nfunction QuoteIcon(props) {\n var svgDataByHeight = { \"16\": { \"width\": 16, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M1.75 2.5a.75.75 0 000 1.5h10.5a.75.75 0 000-1.5H1.75zm4 5a.75.75 0 000 1.5h8.5a.75.75 0 000-1.5h-8.5zm0 5a.75.75 0 000 1.5h8.5a.75.75 0 000-1.5h-8.5zM2.5 7.75a.75.75 0 00-1.5 0v6a.75.75 0 001.5 0v-6z\\\"></path>\" }, \"24\": { \"width\": 24, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M3 6.25a.75.75 0 01.75-.75h13.5a.75.75 0 010 1.5H3.75A.75.75 0 013 6.25zM3.75 11a.75.75 0 01.75.75v7a.75.75 0 01-1.5 0v-7a.75.75 0 01.75-.75zM8 12.313a.75.75 0 01.75-.75h11.5a.75.75 0 010 1.5H8.75a.75.75 0 01-.75-.75zm0 5.937a.75.75 0 01.75-.75h11.5a.75.75 0 010 1.5H8.75a.75.75 0 01-.75-.75z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nQuoteIcon.defaultProps = {\n className: 'octicon octicon-quote',\n size: 16,\n verticalAlign: 'text-bottom'\n};\n\nfunction ReplyIcon(props) {\n var svgDataByHeight = { \"16\": { \"width\": 16, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M6.78 1.97a.75.75 0 010 1.06L3.81 6h6.44A4.75 4.75 0 0115 10.75v2.5a.75.75 0 01-1.5 0v-2.5a3.25 3.25 0 00-3.25-3.25H3.81l2.97 2.97a.75.75 0 11-1.06 1.06L1.47 7.28a.75.75 0 010-1.06l4.25-4.25a.75.75 0 011.06 0z\\\"></path>\" }, \"24\": { \"width\": 24, \"path\": \"<path d=\\\"M10.53 5.03a.75.75 0 10-1.06-1.06l-6.25 6.25a.75.75 0 000 1.06l6.25 6.25a.75.75 0 101.06-1.06L5.56 11.5H17a3.248 3.248 0 013.25 3.248v4.502a.75.75 0 001.5 0v-4.502A4.748 4.748 0 0017 10H5.56l4.97-4.97z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nReplyIcon.defaultProps = {\n className: 'octicon octicon-reply',\n size: 16,\n verticalAlign: 'text-bottom'\n};\n\nfunction RepoIcon(props) {\n var svgDataByHeight = { \"16\": { \"width\": 16, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M2 2.5A2.5 2.5 0 014.5 0h8.75a.75.75 0 01.75.75v12.5a.75.75 0 01-.75.75h-2.5a.75.75 0 110-1.5h1.75v-2h-8a1 1 0 00-.714 1.7.75.75 0 01-1.072 1.05A2.495 2.495 0 012 11.5v-9zm10.5-1V9h-8c-.356 0-.694.074-1 .208V2.5a1 1 0 011-1h8zM5 12.25v3.25a.25.25 0 00.4.2l1.45-1.087a.25.25 0 01.3 0L8.6 15.7a.25.25 0 00.4-.2v-3.25a.25.25 0 00-.25-.25h-3.5a.25.25 0 00-.25.25z\\\"></path>\" }, \"24\": { \"width\": 24, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M3 2.75A2.75 2.75 0 015.75 0h14.5a.75.75 0 01.75.75v20.5a.75.75 0 01-.75.75h-6a.75.75 0 010-1.5h5.25v-4H6A1.5 1.5 0 004.5 18v.75c0 .716.43 1.334 1.05 1.605a.75.75 0 01-.6 1.374A3.25 3.25 0 013 18.75v-16zM19.5 1.5V15H6c-.546 0-1.059.146-1.5.401V2.75c0-.69.56-1.25 1.25-1.25H19.5z\\\"></path><path d=\\\"M7 18.25a.25.25 0 01.25-.25h5a.25.25 0 01.25.25v5.01a.25.25 0 01-.397.201l-2.206-1.604a.25.25 0 00-.294 0L7.397 23.46a.25.25 0 01-.397-.2v-5.01z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nRepoIcon.defaultProps = {\n className: 'octicon octicon-repo',\n size: 16,\n verticalAlign: 'text-bottom'\n};\n\nfunction RepoCloneIcon(props) {\n var svgDataByHeight = { \"16\": { \"width\": 16, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M15 0H9v7c0 .55.45 1 1 1h1v1h1V8h3c.55 0 1-.45 1-1V1c0-.55-.45-1-1-1zm-4 7h-1V6h1v1zm4 0h-3V6h3v1zm0-2h-4V1h4v4zM4 5H3V4h1v1zm0-2H3V2h1v1zM2 1h6V0H1C.45 0 0 .45 0 1v12c0 .55.45 1 1 1h2v2l1.5-1.5L6 16v-2h5c.55 0 1-.45 1-1v-3H2V1zm9 10v2H6v-1H3v1H1v-2h10zM3 8h1v1H3V8zm1-1H3V6h1v1z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nRepoCloneIcon.defaultProps = {\n className: 'octicon octicon-repo-clone',\n size: 16,\n verticalAlign: 'text-bottom'\n};\n\nfunction RepoForkedIcon(props) {\n var svgDataByHeight = { \"16\": { \"width\": 16, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M5 3.25a.75.75 0 11-1.5 0 .75.75 0 011.5 0zm0 2.122a2.25 2.25 0 10-1.5 0v.878A2.25 2.25 0 005.75 8.5h1.5v2.128a2.251 2.251 0 101.5 0V8.5h1.5a2.25 2.25 0 002.25-2.25v-.878a2.25 2.25 0 10-1.5 0v.878a.75.75 0 01-.75.75h-4.5A.75.75 0 015 6.25v-.878zm3.75 7.378a.75.75 0 11-1.5 0 .75.75 0 011.5 0zm3-8.75a.75.75 0 100-1.5.75.75 0 000 1.5z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nRepoForkedIcon.defaultProps = {\n className: 'octicon octicon-repo-forked',\n size: 16,\n verticalAlign: 'text-bottom'\n};\n\nfunction RepoPullIcon(props) {\n var svgDataByHeight = { \"16\": { \"width\": 16, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M13 8V6H7V4h6V2l3 3-3 3zM4 2H3v1h1V2zm7 5h1v6c0 .55-.45 1-1 1H6v2l-1.5-1.5L3 16v-2H1c-.55 0-1-.45-1-1V1c0-.55.45-1 1-1h10c.55 0 1 .45 1 1v2h-1V1H2v9h9V7zm0 4H1v2h2v-1h3v1h5v-2zM4 6H3v1h1V6zm0-2H3v1h1V4zM3 9h1V8H3v1z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nRepoPullIcon.defaultProps = {\n className: 'octicon octicon-repo-pull',\n size: 16,\n verticalAlign: 'text-bottom'\n};\n\nfunction RepoPushIcon(props) {\n var svgDataByHeight = { \"16\": { \"width\": 16, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M1 2.5A2.5 2.5 0 013.5 0h8.75a.75.75 0 01.75.75v3.5a.75.75 0 01-1.5 0V1.5h-8a1 1 0 00-1 1v6.708A2.492 2.492 0 013.5 9h3.25a.75.75 0 010 1.5H3.5a1 1 0 100 2h5.75a.75.75 0 010 1.5H3.5A2.5 2.5 0 011 11.5v-9zm13.23 7.79a.75.75 0 001.06-1.06l-2.505-2.505a.75.75 0 00-1.06 0L9.22 9.229a.75.75 0 001.06 1.061l1.225-1.224v6.184a.75.75 0 001.5 0V9.066l1.224 1.224z\\\"></path>\" }, \"24\": { \"width\": 24, \"path\": \"<path d=\\\"M4.75 0A2.75 2.75 0 002 2.75v16.5A2.75 2.75 0 004.75 22h11a.75.75 0 000-1.5h-11c-.69 0-1.25-.56-1.25-1.25V18A1.5 1.5 0 015 16.5h7.25a.75.75 0 000-1.5H5c-.546 0-1.059.146-1.5.401V2.75c0-.69.56-1.25 1.25-1.25H18.5v7a.75.75 0 001.5 0V.75a.75.75 0 00-.75-.75H4.75z\\\"></path><path d=\\\"M20 13.903l2.202 2.359a.75.75 0 001.096-1.024l-3.5-3.75a.75.75 0 00-1.096 0l-3.5 3.75a.75.75 0 101.096 1.024l2.202-2.36v9.348a.75.75 0 001.5 0v-9.347z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nRepoPushIcon.defaultProps = {\n className: 'octicon octicon-repo-push',\n size: 16,\n verticalAlign: 'text-bottom'\n};\n\nfunction RepoTemplateIcon(props) {\n var svgDataByHeight = { \"16\": { \"width\": 16, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M6 .75A.75.75 0 016.75 0h2.5a.75.75 0 010 1.5h-2.5A.75.75 0 016 .75zm5 0a.75.75 0 01.75-.75h1.5a.75.75 0 01.75.75v1.5a.75.75 0 01-1.5 0V1.5h-.75A.75.75 0 0111 .75zM4.992.662a.75.75 0 01-.636.848c-.436.063-.783.41-.846.846a.75.75 0 01-1.485-.212A2.501 2.501 0 014.144.025a.75.75 0 01.848.637zM2.75 4a.75.75 0 01.75.75v1.5a.75.75 0 01-1.5 0v-1.5A.75.75 0 012.75 4zm10.5 0a.75.75 0 01.75.75v1.5a.75.75 0 01-1.5 0v-1.5a.75.75 0 01.75-.75zM2.75 8a.75.75 0 01.75.75v.268A1.72 1.72 0 013.75 9h.5a.75.75 0 010 1.5h-.5a.25.25 0 00-.25.25v.75c0 .28.114.532.3.714a.75.75 0 01-1.05 1.072A2.495 2.495 0 012 11.5V8.75A.75.75 0 012.75 8zm10.5 0a.75.75 0 01.75.75v4.5a.75.75 0 01-.75.75h-2.5a.75.75 0 010-1.5h1.75v-2h-.75a.75.75 0 010-1.5h.75v-.25a.75.75 0 01.75-.75zM6 9.75A.75.75 0 016.75 9h2.5a.75.75 0 010 1.5h-2.5A.75.75 0 016 9.75zm-1 2.5v3.25a.25.25 0 00.4.2l1.45-1.087a.25.25 0 01.3 0L8.6 15.7a.25.25 0 00.4-.2v-3.25a.25.25 0 00-.25-.25h-3.5a.25.25 0 00-.25.25z\\\"></path>\" }, \"24\": { \"width\": 24, \"path\": \"<path d=\\\"M5.75 0A2.75 2.75 0 003 2.75v1a.75.75 0 001.5 0v-1c0-.69.56-1.25 1.25-1.25h1a.75.75 0 000-1.5h-1zm4 0a.75.75 0 000 1.5h4.5a.75.75 0 000-1.5h-4.5zm7.5 0a.75.75 0 000 1.5h2.25v2.25a.75.75 0 001.5 0v-3a.75.75 0 00-.75-.75h-3zM4.5 6.5a.75.75 0 00-1.5 0v3.75a.75.75 0 001.5 0V6.5zm16.5 0a.75.75 0 00-1.5 0v3.75a.75.75 0 001.5 0V6.5zM4.5 13.25a.75.75 0 00-1.5 0v5.5a3.25 3.25 0 001.95 2.98.75.75 0 10.6-1.375A1.75 1.75 0 014.5 18.75V18A1.5 1.5 0 016 16.5h.75a.75.75 0 000-1.5H6c-.546 0-1.059.146-1.5.401V13.25zm16.5 0a.75.75 0 00-1.5 0V15h-2.25a.75.75 0 000 1.5h2.25v4h-5.25a.75.75 0 000 1.5h6a.75.75 0 00.75-.75v-8zM9.75 15a.75.75 0 000 1.5h4.5a.75.75 0 000-1.5h-4.5zm-2.353 8.461A.25.25 0 017 23.26v-5.01a.25.25 0 01.25-.25h5a.25.25 0 01.25.25v5.01a.25.25 0 01-.397.201l-2.206-1.604a.25.25 0 00-.294 0L7.397 23.46z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nRepoTemplateIcon.defaultProps = {\n className: 'octicon octicon-repo-template',\n size: 16,\n verticalAlign: 'text-bottom'\n};\n\nfunction ReportIcon(props) {\n var svgDataByHeight = { \"16\": { \"width\": 16, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M1.75 1.5a.25.25 0 00-.25.25v9.5c0 .138.112.25.25.25h2a.75.75 0 01.75.75v2.19l2.72-2.72a.75.75 0 01.53-.22h6.5a.25.25 0 00.25-.25v-9.5a.25.25 0 00-.25-.25H1.75zM0 1.75C0 .784.784 0 1.75 0h12.5C15.216 0 16 .784 16 1.75v9.5A1.75 1.75 0 0114.25 13H8.06l-2.573 2.573A1.457 1.457 0 013 14.543V13H1.75A1.75 1.75 0 010 11.25v-9.5zM9 9a1 1 0 11-2 0 1 1 0 012 0zm-.25-5.25a.75.75 0 00-1.5 0v2.5a.75.75 0 001.5 0v-2.5z\\\"></path>\" }, \"24\": { \"width\": 24, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M3.25 4a.25.25 0 00-.25.25v12.5c0 .138.112.25.25.25h2.5a.75.75 0 01.75.75v3.19l3.427-3.427A1.75 1.75 0 0111.164 17h9.586a.25.25 0 00.25-.25V4.25a.25.25 0 00-.25-.25H3.25zm-1.75.25c0-.966.784-1.75 1.75-1.75h17.5c.966 0 1.75.784 1.75 1.75v12.5a1.75 1.75 0 01-1.75 1.75h-9.586a.25.25 0 00-.177.073l-3.5 3.5A1.457 1.457 0 015 21.043V18.5H3.25a1.75 1.75 0 01-1.75-1.75V4.25zM12 6a.75.75 0 01.75.75v4a.75.75 0 01-1.5 0v-4A.75.75 0 0112 6zm0 9a1 1 0 100-2 1 1 0 000 2z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nReportIcon.defaultProps = {\n className: 'octicon octicon-report',\n size: 16,\n verticalAlign: 'text-bottom'\n};\n\nfunction RocketIcon(props) {\n var svgDataByHeight = { \"16\": { \"width\": 16, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M14.064 0a8.75 8.75 0 00-6.187 2.563l-.459.458c-.314.314-.616.641-.904.979H3.31a1.75 1.75 0 00-1.49.833L.11 7.607a.75.75 0 00.418 1.11l3.102.954c.037.051.079.1.124.145l2.429 2.428c.046.046.094.088.145.125l.954 3.102a.75.75 0 001.11.418l2.774-1.707a1.75 1.75 0 00.833-1.49V9.485c.338-.288.665-.59.979-.904l.458-.459A8.75 8.75 0 0016 1.936V1.75A1.75 1.75 0 0014.25 0h-.186zM10.5 10.625c-.088.06-.177.118-.266.175l-2.35 1.521.548 1.783 1.949-1.2a.25.25 0 00.119-.213v-2.066zM3.678 8.116L5.2 5.766c.058-.09.117-.178.176-.266H3.309a.25.25 0 00-.213.119l-1.2 1.95 1.782.547zm5.26-4.493A7.25 7.25 0 0114.063 1.5h.186a.25.25 0 01.25.25v.186a7.25 7.25 0 01-2.123 5.127l-.459.458a15.21 15.21 0 01-2.499 2.02l-2.317 1.5-2.143-2.143 1.5-2.317a15.25 15.25 0 012.02-2.5l.458-.458h.002zM12 5a1 1 0 11-2 0 1 1 0 012 0zm-8.44 9.56a1.5 1.5 0 10-2.12-2.12c-.734.73-1.047 2.332-1.15 3.003a.23.23 0 00.265.265c.671-.103 2.273-.416 3.005-1.148z\\\"></path>\" }, \"24\": { \"width\": 24, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M20.322.75a10.75 10.75 0 00-7.373 2.926l-1.304 1.23A23.743 23.743 0 0010.103 6.5H5.066a1.75 1.75 0 00-1.5.85l-2.71 4.514a.75.75 0 00.49 1.12l4.571.963c.039.049.082.096.129.14L8.04 15.96l1.872 1.994c.044.047.091.09.14.129l.963 4.572a.75.75 0 001.12.488l4.514-2.709a1.75 1.75 0 00.85-1.5v-5.038a23.741 23.741 0 001.596-1.542l1.228-1.304a10.75 10.75 0 002.925-7.374V2.499A1.75 1.75 0 0021.498.75h-1.177zM16 15.112c-.333.248-.672.487-1.018.718l-3.393 2.262.678 3.223 3.612-2.167a.25.25 0 00.121-.214v-3.822zm-10.092-2.7L8.17 9.017c.23-.346.47-.685.717-1.017H5.066a.25.25 0 00-.214.121l-2.167 3.612 3.223.679zm8.07-7.644a9.25 9.25 0 016.344-2.518h1.177a.25.25 0 01.25.25v1.176a9.25 9.25 0 01-2.517 6.346l-1.228 1.303a22.248 22.248 0 01-3.854 3.257l-3.288 2.192-1.743-1.858a.764.764 0 00-.034-.034l-1.859-1.744 2.193-3.29a22.248 22.248 0 013.255-3.851l1.304-1.23zM17.5 8a1.5 1.5 0 11-3 0 1.5 1.5 0 013 0zm-11 13c.9-.9.9-2.6 0-3.5-.9-.9-2.6-.9-3.5 0-1.209 1.209-1.445 3.901-1.49 4.743a.232.232 0 00.247.247c.842-.045 3.534-.281 4.743-1.49z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nRocketIcon.defaultProps = {\n className: 'octicon octicon-rocket',\n size: 16,\n verticalAlign: 'text-bottom'\n};\n\nfunction RssIcon(props) {\n var svgDataByHeight = { \"16\": { \"width\": 16, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M2.002 2.725a.75.75 0 01.797-.699C8.79 2.42 13.58 7.21 13.974 13.201a.75.75 0 11-1.497.098 10.502 10.502 0 00-9.776-9.776.75.75 0 01-.7-.798zM2 13a1 1 0 112 0 1 1 0 01-2 0zm.84-5.95a.75.75 0 00-.179 1.489c2.509.3 4.5 2.291 4.8 4.8a.75.75 0 101.49-.178A7.003 7.003 0 002.838 7.05z\\\"></path>\" }, \"24\": { \"width\": 24, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M3.5 3.25a.75.75 0 01.75-.75C14.053 2.5 22 10.447 22 20.25a.75.75 0 01-1.5 0C20.5 11.275 13.225 4 4.25 4a.75.75 0 01-.75-.75zM3.5 19a2 2 0 114 0 2 2 0 01-4 0zm.75-9.5a.75.75 0 000 1.5 9.25 9.25 0 019.25 9.25.75.75 0 001.5 0C15 14.313 10.187 9.5 4.25 9.5z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nRssIcon.defaultProps = {\n className: 'octicon octicon-rss',\n size: 16,\n verticalAlign: 'text-bottom'\n};\n\nfunction RubyIcon(props) {\n var svgDataByHeight = { \"16\": { \"width\": 16, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M3.637 2.291A.75.75 0 014.23 2h7.54a.75.75 0 01.593.291l3.48 4.5a.75.75 0 01-.072.999l-7.25 7a.75.75 0 01-1.042 0l-7.25-7a.75.75 0 01-.072-.999l3.48-4.5zM4.598 3.5L1.754 7.177 8 13.207l6.246-6.03L11.402 3.5H4.598z\\\"></path>\" }, \"24\": { \"width\": 24, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M5.873 3.26A.75.75 0 016.44 3h11.31a.75.75 0 01.576.27l5 6a.75.75 0 01-.028.992l-10.75 11.5a.75.75 0 01-1.096 0l-10.75-11.5a.75.75 0 01-.02-1.003l5.19-6zm.91 1.24L2.258 9.73 12 20.153l9.75-10.43L17.399 4.5H6.783z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nRubyIcon.defaultProps = {\n className: 'octicon octicon-ruby',\n size: 16,\n verticalAlign: 'text-bottom'\n};\n\nfunction ScreenFullIcon(props) {\n var svgDataByHeight = { \"16\": { \"width\": 16, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M2.75 2.5a.25.25 0 00-.25.25v2.5a.75.75 0 01-1.5 0v-2.5C1 1.784 1.784 1 2.75 1h2.5a.75.75 0 010 1.5h-2.5zM10 1.75a.75.75 0 01.75-.75h2.5c.966 0 1.75.784 1.75 1.75v2.5a.75.75 0 01-1.5 0v-2.5a.25.25 0 00-.25-.25h-2.5a.75.75 0 01-.75-.75zM1.75 10a.75.75 0 01.75.75v2.5c0 .138.112.25.25.25h2.5a.75.75 0 010 1.5h-2.5A1.75 1.75 0 011 13.25v-2.5a.75.75 0 01.75-.75zm12.5 0a.75.75 0 01.75.75v2.5A1.75 1.75 0 0113.25 15h-2.5a.75.75 0 010-1.5h2.5a.25.25 0 00.25-.25v-2.5a.75.75 0 01.75-.75z\\\"></path>\" }, \"24\": { \"width\": 24, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M4.75 4.5a.25.25 0 00-.25.25v3.5a.75.75 0 01-1.5 0v-3.5C3 3.784 3.784 3 4.75 3h3.5a.75.75 0 010 1.5h-3.5zM15 3.75a.75.75 0 01.75-.75h3.5c.966 0 1.75.784 1.75 1.75v3.5a.75.75 0 01-1.5 0v-3.5a.25.25 0 00-.25-.25h-3.5a.75.75 0 01-.75-.75zM3.75 15a.75.75 0 01.75.75v3.5c0 .138.112.25.25.25h3.5a.75.75 0 010 1.5h-3.5A1.75 1.75 0 013 19.25v-3.5a.75.75 0 01.75-.75zm16.5 0a.75.75 0 01.75.75v3.5A1.75 1.75 0 0119.25 21h-3.5a.75.75 0 010-1.5h3.5a.25.25 0 00.25-.25v-3.5a.75.75 0 01.75-.75z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nScreenFullIcon.defaultProps = {\n className: 'octicon octicon-screen-full',\n size: 16,\n verticalAlign: 'text-bottom'\n};\n\nfunction ScreenNormalIcon(props) {\n var svgDataByHeight = { \"16\": { \"width\": 16, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M5.25 1a.75.75 0 01.75.75v2.5A1.75 1.75 0 014.25 6h-2.5a.75.75 0 010-1.5h2.5a.25.25 0 00.25-.25v-2.5A.75.75 0 015.25 1zm5.5 0a.75.75 0 01.75.75v2.5c0 .138.112.25.25.25h2.5a.75.75 0 010 1.5h-2.5A1.75 1.75 0 0110 4.25v-2.5a.75.75 0 01.75-.75zM1 10.75a.75.75 0 01.75-.75h2.5c.966 0 1.75.784 1.75 1.75v2.5a.75.75 0 01-1.5 0v-2.5a.25.25 0 00-.25-.25h-2.5a.75.75 0 01-.75-.75zm9 1c0-.966.784-1.75 1.75-1.75h2.5a.75.75 0 010 1.5h-2.5a.25.25 0 00-.25.25v2.5a.75.75 0 01-1.5 0v-2.5z\\\"></path>\" }, \"24\": { \"width\": 24, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M8.25 3a.75.75 0 01.75.75v3.5A1.75 1.75 0 017.25 9h-3.5a.75.75 0 010-1.5h3.5a.25.25 0 00.25-.25v-3.5A.75.75 0 018.25 3zm7.5 0a.75.75 0 01.75.75v3.5c0 .138.112.25.25.25h3.5a.75.75 0 010 1.5h-3.5A1.75 1.75 0 0115 7.25v-3.5a.75.75 0 01.75-.75zM3 15.75a.75.75 0 01.75-.75h3.5c.966 0 1.75.784 1.75 1.75v3.5a.75.75 0 01-1.5 0v-3.5a.25.25 0 00-.25-.25h-3.5a.75.75 0 01-.75-.75zm12 1c0-.966.784-1.75 1.75-1.75h3.5a.75.75 0 010 1.5h-3.5a.25.25 0 00-.25.25v3.5a.75.75 0 01-1.5 0v-3.5z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nScreenNormalIcon.defaultProps = {\n className: 'octicon octicon-screen-normal',\n size: 16,\n verticalAlign: 'text-bottom'\n};\n\nfunction SearchIcon(props) {\n var svgDataByHeight = { \"16\": { \"width\": 16, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M11.5 7a4.499 4.499 0 11-8.998 0A4.499 4.499 0 0111.5 7zm-.82 4.74a6 6 0 111.06-1.06l3.04 3.04a.75.75 0 11-1.06 1.06l-3.04-3.04z\\\"></path>\" }, \"24\": { \"width\": 24, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M14.53 15.59a8.25 8.25 0 111.06-1.06l5.69 5.69a.75.75 0 11-1.06 1.06l-5.69-5.69zM2.5 9.25a6.75 6.75 0 1111.74 4.547.746.746 0 00-.443.442A6.75 6.75 0 012.5 9.25z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nSearchIcon.defaultProps = {\n className: 'octicon octicon-search',\n size: 16,\n verticalAlign: 'text-bottom'\n};\n\nfunction ServerIcon(props) {\n var svgDataByHeight = { \"16\": { \"width\": 16, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M1.75 1A1.75 1.75 0 000 2.75v4c0 .372.116.717.314 1a1.742 1.742 0 00-.314 1v4c0 .966.784 1.75 1.75 1.75h12.5A1.75 1.75 0 0016 12.75v-4c0-.372-.116-.717-.314-1 .198-.283.314-.628.314-1v-4A1.75 1.75 0 0014.25 1H1.75zm0 7.5a.25.25 0 00-.25.25v4c0 .138.112.25.25.25h12.5a.25.25 0 00.25-.25v-4a.25.25 0 00-.25-.25H1.75zM1.5 2.75a.25.25 0 01.25-.25h12.5a.25.25 0 01.25.25v4a.25.25 0 01-.25.25H1.75a.25.25 0 01-.25-.25v-4zm5.5 2A.75.75 0 017.75 4h4.5a.75.75 0 010 1.5h-4.5A.75.75 0 017 4.75zM7.75 10a.75.75 0 000 1.5h4.5a.75.75 0 000-1.5h-4.5zM3 4.75A.75.75 0 013.75 4h.5a.75.75 0 010 1.5h-.5A.75.75 0 013 4.75zM3.75 10a.75.75 0 000 1.5h.5a.75.75 0 000-1.5h-.5z\\\"></path>\" }, \"24\": { \"width\": 24, \"path\": \"<path d=\\\"M10.75 6.5a.75.75 0 000 1.5h6.5a.75.75 0 000-1.5h-6.5zM6 7.25a.75.75 0 01.75-.75h.5a.75.75 0 010 1.5h-.5A.75.75 0 016 7.25zm4 9a.75.75 0 01.75-.75h6.5a.75.75 0 010 1.5h-6.5a.75.75 0 01-.75-.75zm-3.25-.75a.75.75 0 000 1.5h.5a.75.75 0 000-1.5h-.5z\\\"></path><path fill-rule=\\\"evenodd\\\" d=\\\"M3.25 2A1.75 1.75 0 001.5 3.75v7c0 .372.116.716.314 1a1.742 1.742 0 00-.314 1v7c0 .966.784 1.75 1.75 1.75h17.5a1.75 1.75 0 001.75-1.75v-7c0-.372-.116-.716-.314-1 .198-.284.314-.628.314-1v-7A1.75 1.75 0 0020.75 2H3.25zm0 9h17.5a.25.25 0 00.25-.25v-7a.25.25 0 00-.25-.25H3.25a.25.25 0 00-.25.25v7c0 .138.112.25.25.25zm0 1.5a.25.25 0 00-.25.25v7c0 .138.112.25.25.25h17.5a.25.25 0 00.25-.25v-7a.25.25 0 00-.25-.25H3.25z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nServerIcon.defaultProps = {\n className: 'octicon octicon-server',\n size: 16,\n verticalAlign: 'text-bottom'\n};\n\nfunction ShareIcon(props) {\n var svgDataByHeight = { \"16\": { \"width\": 16, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M7.823.177L4.927 3.073a.25.25 0 00.177.427H7.25v5.75a.75.75 0 001.5 0V3.5h2.146a.25.25 0 00.177-.427L8.177.177a.25.25 0 00-.354 0zM3.75 6.5a.25.25 0 00-.25.25v6.5c0 .138.112.25.25.25h8.5a.25.25 0 00.25-.25v-6.5a.25.25 0 00-.25-.25h-1a.75.75 0 010-1.5h1c.966 0 1.75.784 1.75 1.75v6.5A1.75 1.75 0 0112.25 15h-8.5A1.75 1.75 0 012 13.25v-6.5C2 5.784 2.784 5 3.75 5h1a.75.75 0 110 1.5h-1z\\\"></path>\" }, \"24\": { \"width\": 24, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M12.53 1.22a.75.75 0 00-1.06 0L8.22 4.47a.75.75 0 001.06 1.06l1.97-1.97v10.69a.75.75 0 001.5 0V3.56l1.97 1.97a.75.75 0 101.06-1.06l-3.25-3.25zM5.5 9.75a.25.25 0 01.25-.25h2.5a.75.75 0 000-1.5h-2.5A1.75 1.75 0 004 9.75v10.5c0 .966.784 1.75 1.75 1.75h12.5A1.75 1.75 0 0020 20.25V9.75A1.75 1.75 0 0018.25 8h-2.5a.75.75 0 000 1.5h2.5a.25.25 0 01.25.25v10.5a.25.25 0 01-.25.25H5.75a.25.25 0 01-.25-.25V9.75z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nShareIcon.defaultProps = {\n className: 'octicon octicon-share',\n size: 16,\n verticalAlign: 'text-bottom'\n};\n\nfunction ShareAndroidIcon(props) {\n var svgDataByHeight = { \"16\": { \"width\": 16, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M13.5 3a1.5 1.5 0 11-3 0 1.5 1.5 0 013 0zM15 3a3 3 0 01-5.175 2.066l-3.92 2.179a3.005 3.005 0 010 1.51l3.92 2.179a3 3 0 11-.73 1.31l-3.92-2.178a3 3 0 110-4.133l3.92-2.178A3 3 0 1115 3zm-1.5 10a1.5 1.5 0 11-3 0 1.5 1.5 0 013 0zm-9-5a1.5 1.5 0 11-3 0 1.5 1.5 0 013 0z\\\"></path>\" }, \"24\": { \"width\": 24, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M20 5.5a3.5 3.5 0 01-6.062 2.385l-5.112 3.021a3.497 3.497 0 010 2.188l5.112 3.021a3.5 3.5 0 11-.764 1.29l-5.112-3.02a3.5 3.5 0 110-4.77l5.112-3.021v.001A3.5 3.5 0 1120 5.5zm-1.5 0a2 2 0 11-4 0 2 2 0 014 0zM5.5 14a2 2 0 100-4 2 2 0 000 4zm13 4.5a2 2 0 11-4 0 2 2 0 014 0z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nShareAndroidIcon.defaultProps = {\n className: 'octicon octicon-share-android',\n size: 16,\n verticalAlign: 'text-bottom'\n};\n\nfunction ShieldIcon(props) {\n var svgDataByHeight = { \"16\": { \"width\": 16, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M7.467.133a1.75 1.75 0 011.066 0l5.25 1.68A1.75 1.75 0 0115 3.48V7c0 1.566-.32 3.182-1.303 4.682-.983 1.498-2.585 2.813-5.032 3.855a1.7 1.7 0 01-1.33 0c-2.447-1.042-4.049-2.357-5.032-3.855C1.32 10.182 1 8.566 1 7V3.48a1.75 1.75 0 011.217-1.667l5.25-1.68zm.61 1.429a.25.25 0 00-.153 0l-5.25 1.68a.25.25 0 00-.174.238V7c0 1.358.275 2.666 1.057 3.86.784 1.194 2.121 2.34 4.366 3.297a.2.2 0 00.154 0c2.245-.956 3.582-2.104 4.366-3.298C13.225 9.666 13.5 8.36 13.5 7V3.48a.25.25 0 00-.174-.237l-5.25-1.68zM9 10.5a1 1 0 11-2 0 1 1 0 012 0zm-.25-5.75a.75.75 0 10-1.5 0v3a.75.75 0 001.5 0v-3z\\\"></path>\" }, \"24\": { \"width\": 24, \"path\": \"<path d=\\\"M13 15.5a1 1 0 11-2 0 1 1 0 012 0zm-.25-8.25a.75.75 0 00-1.5 0v4.5a.75.75 0 001.5 0v-4.5z\\\"></path><path fill-rule=\\\"evenodd\\\" d=\\\"M11.46.637a1.75 1.75 0 011.08 0l8.25 2.675A1.75 1.75 0 0122 4.976V10c0 6.19-3.77 10.705-9.401 12.83a1.699 1.699 0 01-1.198 0C5.771 20.704 2 16.19 2 10V4.976c0-.76.49-1.43 1.21-1.664L11.46.637zm.617 1.426a.25.25 0 00-.154 0L3.673 4.74a.249.249 0 00-.173.237V10c0 5.461 3.28 9.483 8.43 11.426a.2.2 0 00.14 0C17.22 19.483 20.5 15.46 20.5 10V4.976a.25.25 0 00-.173-.237l-8.25-2.676z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nShieldIcon.defaultProps = {\n className: 'octicon octicon-shield',\n size: 16,\n verticalAlign: 'text-bottom'\n};\n\nfunction ShieldCheckIcon(props) {\n var svgDataByHeight = { \"16\": { \"width\": 16, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M8.533.133a1.75 1.75 0 00-1.066 0l-5.25 1.68A1.75 1.75 0 001 3.48V7c0 1.566.32 3.182 1.303 4.682.983 1.498 2.585 2.813 5.032 3.855a1.7 1.7 0 001.33 0c2.447-1.042 4.049-2.357 5.032-3.855C14.68 10.182 15 8.566 15 7V3.48a1.75 1.75 0 00-1.217-1.667L8.533.133zm-.61 1.429a.25.25 0 01.153 0l5.25 1.68a.25.25 0 01.174.238V7c0 1.358-.275 2.666-1.057 3.86-.784 1.194-2.121 2.34-4.366 3.297a.2.2 0 01-.154 0c-2.245-.956-3.582-2.104-4.366-3.298C2.775 9.666 2.5 8.36 2.5 7V3.48a.25.25 0 01.174-.237l5.25-1.68zM11.28 6.28a.75.75 0 00-1.06-1.06L7.25 8.19l-.97-.97a.75.75 0 10-1.06 1.06l1.5 1.5a.75.75 0 001.06 0l3.5-3.5z\\\"></path>\" }, \"24\": { \"width\": 24, \"path\": \"<path d=\\\"M16.53 9.78a.75.75 0 00-1.06-1.06L11 13.19l-1.97-1.97a.75.75 0 00-1.06 1.06l2.5 2.5a.75.75 0 001.06 0l5-5z\\\"></path><path fill-rule=\\\"evenodd\\\" d=\\\"M12.54.637a1.75 1.75 0 00-1.08 0L3.21 3.312A1.75 1.75 0 002 4.976V10c0 6.19 3.77 10.705 9.401 12.83.386.145.812.145 1.198 0C18.229 20.704 22 16.19 22 10V4.976c0-.759-.49-1.43-1.21-1.664L12.54.637zm-.617 1.426a.25.25 0 01.154 0l8.25 2.676a.25.25 0 01.173.237V10c0 5.461-3.28 9.483-8.43 11.426a.2.2 0 01-.14 0C6.78 19.483 3.5 15.46 3.5 10V4.976c0-.108.069-.203.173-.237l8.25-2.676z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nShieldCheckIcon.defaultProps = {\n className: 'octicon octicon-shield-check',\n size: 16,\n verticalAlign: 'text-bottom'\n};\n\nfunction ShieldLockIcon(props) {\n var svgDataByHeight = { \"16\": { \"width\": 16, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M8.533.133a1.75 1.75 0 00-1.066 0l-5.25 1.68A1.75 1.75 0 001 3.48V7c0 1.566.32 3.182 1.303 4.682.983 1.498 2.585 2.813 5.032 3.855a1.7 1.7 0 001.33 0c2.447-1.042 4.049-2.357 5.032-3.855C14.68 10.182 15 8.566 15 7V3.48a1.75 1.75 0 00-1.217-1.667L8.533.133zm-.61 1.429a.25.25 0 01.153 0l5.25 1.68a.25.25 0 01.174.238V7c0 1.358-.275 2.666-1.057 3.86-.784 1.194-2.121 2.34-4.366 3.297a.2.2 0 01-.154 0c-2.245-.956-3.582-2.104-4.366-3.298C2.775 9.666 2.5 8.36 2.5 7V3.48a.25.25 0 01.174-.237l5.25-1.68zM9.5 6.5a1.5 1.5 0 01-.75 1.3v2.45a.75.75 0 01-1.5 0V7.8A1.5 1.5 0 119.5 6.5z\\\"></path>\" }, \"24\": { \"width\": 24, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M12.077 2.563a.25.25 0 00-.154 0L3.673 5.24a.249.249 0 00-.173.237V10.5c0 5.461 3.28 9.483 8.43 11.426a.2.2 0 00.14 0c5.15-1.943 8.43-5.965 8.43-11.426V5.476a.25.25 0 00-.173-.237l-8.25-2.676zm-.617-1.426a1.75 1.75 0 011.08 0l8.25 2.675A1.75 1.75 0 0122 5.476V10.5c0 6.19-3.77 10.705-9.401 12.83a1.699 1.699 0 01-1.198 0C5.771 21.204 2 16.69 2 10.5V5.476c0-.76.49-1.43 1.21-1.664l8.25-2.675zM13 12.232A2 2 0 0012 8.5a2 2 0 00-1 3.732V15a1 1 0 102 0v-2.768z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nShieldLockIcon.defaultProps = {\n className: 'octicon octicon-shield-lock',\n size: 16,\n verticalAlign: 'text-bottom'\n};\n\nfunction ShieldXIcon(props) {\n var svgDataByHeight = { \"16\": { \"width\": 16, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M8.533.133a1.75 1.75 0 00-1.066 0l-5.25 1.68A1.75 1.75 0 001 3.48V7c0 1.566.32 3.182 1.303 4.682.983 1.498 2.585 2.813 5.032 3.855a1.7 1.7 0 001.33 0c2.447-1.042 4.049-2.357 5.032-3.855C14.68 10.182 15 8.566 15 7V3.48a1.75 1.75 0 00-1.217-1.667L8.533.133zm-.61 1.429a.25.25 0 01.153 0l5.25 1.68a.25.25 0 01.174.238V7c0 1.358-.275 2.666-1.057 3.86-.784 1.194-2.121 2.34-4.366 3.297a.2.2 0 01-.154 0c-2.245-.956-3.582-2.104-4.366-3.298C2.775 9.666 2.5 8.36 2.5 7V3.48a.25.25 0 01.174-.237l5.25-1.68zM6.78 5.22a.75.75 0 10-1.06 1.06L6.94 7.5 5.72 8.72a.75.75 0 001.06 1.06L8 8.56l1.22 1.22a.75.75 0 101.06-1.06L9.06 7.5l1.22-1.22a.75.75 0 10-1.06-1.06L8 6.44 6.78 5.22z\\\"></path>\" }, \"24\": { \"width\": 24, \"path\": \"<path d=\\\"M9.28 7.72a.75.75 0 00-1.06 1.06l2.72 2.72-2.72 2.72a.75.75 0 101.06 1.06L12 12.56l2.72 2.72a.75.75 0 101.06-1.06l-2.72-2.72 2.72-2.72a.75.75 0 00-1.06-1.06L12 10.44 9.28 7.72z\\\"></path><path fill-rule=\\\"evenodd\\\" d=\\\"M12.54.637a1.75 1.75 0 00-1.08 0L3.21 3.312A1.75 1.75 0 002 4.976V10c0 6.19 3.77 10.705 9.401 12.83.386.145.812.145 1.198 0C18.229 20.704 22 16.19 22 10V4.976c0-.759-.49-1.43-1.21-1.664L12.54.637zm-.617 1.426a.25.25 0 01.154 0l8.25 2.676a.25.25 0 01.173.237V10c0 5.461-3.28 9.483-8.43 11.426a.2.2 0 01-.14 0C6.78 19.483 3.5 15.46 3.5 10V4.976c0-.108.069-.203.173-.237l8.25-2.676z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nShieldXIcon.defaultProps = {\n className: 'octicon octicon-shield-x',\n size: 16,\n verticalAlign: 'text-bottom'\n};\n\nfunction SidebarCollapseIcon(props) {\n var svgDataByHeight = { \"16\": { \"width\": 16, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M6.823 7.823L4.427 5.427A.25.25 0 004 5.604v4.792c0 .223.27.335.427.177l2.396-2.396a.25.25 0 000-.354z\\\"></path><path fill-rule=\\\"evenodd\\\" d=\\\"M1.75 0A1.75 1.75 0 000 1.75v12.5C0 15.216.784 16 1.75 16h12.5A1.75 1.75 0 0016 14.25V1.75A1.75 1.75 0 0014.25 0H1.75zM1.5 1.75a.25.25 0 01.25-.25H9.5v13H1.75a.25.25 0 01-.25-.25V1.75zM11 14.5v-13h3.25a.25.25 0 01.25.25v12.5a.25.25 0 01-.25.25H11z\\\"></path>\" }, \"24\": { \"width\": 24, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M7.22 14.47L9.69 12 7.22 9.53a.75.75 0 111.06-1.06l3 3a.75.75 0 010 1.06l-3 3a.75.75 0 01-1.06-1.06z\\\"></path><path fill-rule=\\\"evenodd\\\" d=\\\"M3.75 2A1.75 1.75 0 002 3.75v16.5c0 .966.784 1.75 1.75 1.75h16.5A1.75 1.75 0 0022 20.25V3.75A1.75 1.75 0 0020.25 2H3.75zM3.5 3.75a.25.25 0 01.25-.25H15v17H3.75a.25.25 0 01-.25-.25V3.75zm13 16.75v-17h3.75a.25.25 0 01.25.25v16.5a.25.25 0 01-.25.25H16.5z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nSidebarCollapseIcon.defaultProps = {\n className: 'octicon octicon-sidebar-collapse',\n size: 16,\n verticalAlign: 'text-bottom'\n};\n\nfunction SidebarExpandIcon(props) {\n var svgDataByHeight = { \"16\": { \"width\": 16, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M4.177 7.823l2.396-2.396A.25.25 0 017 5.604v4.792a.25.25 0 01-.427.177L4.177 8.177a.25.25 0 010-.354z\\\"></path><path fill-rule=\\\"evenodd\\\" d=\\\"M0 1.75C0 .784.784 0 1.75 0h12.5C15.216 0 16 .784 16 1.75v12.5A1.75 1.75 0 0114.25 16H1.75A1.75 1.75 0 010 14.25V1.75zm1.75-.25a.25.25 0 00-.25.25v12.5c0 .138.112.25.25.25H9.5v-13H1.75zm12.5 13H11v-13h3.25a.25.25 0 01.25.25v12.5a.25.25 0 01-.25.25z\\\"></path>\" }, \"24\": { \"width\": 24, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M11.28 9.53L8.81 12l2.47 2.47a.75.75 0 11-1.06 1.06l-3-3a.75.75 0 010-1.06l3-3a.75.75 0 111.06 1.06z\\\"></path><path fill-rule=\\\"evenodd\\\" d=\\\"M3.75 2A1.75 1.75 0 002 3.75v16.5c0 .966.784 1.75 1.75 1.75h16.5A1.75 1.75 0 0022 20.25V3.75A1.75 1.75 0 0020.25 2H3.75zM3.5 3.75a.25.25 0 01.25-.25H15v17H3.75a.25.25 0 01-.25-.25V3.75zm13 16.75v-17h3.75a.25.25 0 01.25.25v16.5a.25.25 0 01-.25.25H16.5z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nSidebarExpandIcon.defaultProps = {\n className: 'octicon octicon-sidebar-expand',\n size: 16,\n verticalAlign: 'text-bottom'\n};\n\nfunction SignInIcon(props) {\n var svgDataByHeight = { \"16\": { \"width\": 16, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M2 2.75C2 1.784 2.784 1 3.75 1h2.5a.75.75 0 010 1.5h-2.5a.25.25 0 00-.25.25v10.5c0 .138.112.25.25.25h2.5a.75.75 0 010 1.5h-2.5A1.75 1.75 0 012 13.25V2.75zm6.56 4.5l1.97-1.97a.75.75 0 10-1.06-1.06L6.22 7.47a.75.75 0 000 1.06l3.25 3.25a.75.75 0 101.06-1.06L8.56 8.75h5.69a.75.75 0 000-1.5H8.56z\\\"></path>\" }, \"24\": { \"width\": 24, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M3 3.25c0-.966.784-1.75 1.75-1.75h5.5a.75.75 0 010 1.5h-5.5a.25.25 0 00-.25.25v17.5c0 .138.112.25.25.25h5.5a.75.75 0 010 1.5h-5.5A1.75 1.75 0 013 20.75V3.25zm9.994 9.5l3.3 3.484a.75.75 0 01-1.088 1.032l-4.5-4.75a.75.75 0 010-1.032l4.5-4.75a.75.75 0 011.088 1.032l-3.3 3.484h8.256a.75.75 0 010 1.5h-8.256z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nSignInIcon.defaultProps = {\n className: 'octicon octicon-sign-in',\n size: 16,\n verticalAlign: 'text-bottom'\n};\n\nfunction SignOutIcon(props) {\n var svgDataByHeight = { \"16\": { \"width\": 16, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M2 2.75C2 1.784 2.784 1 3.75 1h2.5a.75.75 0 010 1.5h-2.5a.25.25 0 00-.25.25v10.5c0 .138.112.25.25.25h2.5a.75.75 0 010 1.5h-2.5A1.75 1.75 0 012 13.25V2.75zm10.44 4.5H6.75a.75.75 0 000 1.5h5.69l-1.97 1.97a.75.75 0 101.06 1.06l3.25-3.25a.75.75 0 000-1.06l-3.25-3.25a.75.75 0 10-1.06 1.06l1.97 1.97z\\\"></path>\" }, \"24\": { \"width\": 24, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M3 3.25c0-.966.784-1.75 1.75-1.75h5.5a.75.75 0 010 1.5h-5.5a.25.25 0 00-.25.25v17.5c0 .138.112.25.25.25h5.5a.75.75 0 010 1.5h-5.5A1.75 1.75 0 013 20.75V3.25zm16.006 9.5l-3.3 3.484a.75.75 0 001.088 1.032l4.5-4.75a.75.75 0 000-1.032l-4.5-4.75a.75.75 0 00-1.088 1.032l3.3 3.484H10.75a.75.75 0 000 1.5h8.256z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nSignOutIcon.defaultProps = {\n className: 'octicon octicon-sign-out',\n size: 16,\n verticalAlign: 'text-bottom'\n};\n\nfunction SkipIcon(props) {\n var svgDataByHeight = { \"16\": { \"width\": 16, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M1.5 8a6.5 6.5 0 1113 0 6.5 6.5 0 01-13 0zM8 0a8 8 0 100 16A8 8 0 008 0zm3.28 5.78a.75.75 0 00-1.06-1.06l-5.5 5.5a.75.75 0 101.06 1.06l5.5-5.5z\\\"></path>\" }, \"24\": { \"width\": 24, \"path\": \"<path d=\\\"M17.28 7.78a.75.75 0 00-1.06-1.06l-9.5 9.5a.75.75 0 101.06 1.06l9.5-9.5z\\\"></path><path fill-rule=\\\"evenodd\\\" d=\\\"M12 1C5.925 1 1 5.925 1 12s4.925 11 11 11 11-4.925 11-11S18.075 1 12 1zM2.5 12a9.5 9.5 0 1119 0 9.5 9.5 0 01-19 0z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nSkipIcon.defaultProps = {\n className: 'octicon octicon-skip',\n size: 16,\n verticalAlign: 'text-bottom'\n};\n\nfunction SmileyIcon(props) {\n var svgDataByHeight = { \"16\": { \"width\": 16, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M1.5 8a6.5 6.5 0 1113 0 6.5 6.5 0 01-13 0zM8 0a8 8 0 100 16A8 8 0 008 0zM5 8a1 1 0 100-2 1 1 0 000 2zm7-1a1 1 0 11-2 0 1 1 0 012 0zM5.32 9.636a.75.75 0 011.038.175l.007.009c.103.118.22.222.35.31.264.178.683.37 1.285.37.602 0 1.02-.192 1.285-.371.13-.088.247-.192.35-.31l.007-.008a.75.75 0 111.222.87l-.614-.431c.614.43.614.431.613.431v.001l-.001.002-.002.003-.005.007-.014.019a1.984 1.984 0 01-.184.213c-.16.166-.338.316-.53.445-.63.418-1.37.638-2.127.629-.946 0-1.652-.308-2.126-.63a3.32 3.32 0 01-.715-.657l-.014-.02-.005-.006-.002-.003v-.002h-.001l.613-.432-.614.43a.75.75 0 01.183-1.044h.001z\\\"></path>\" }, \"24\": { \"width\": 24, \"path\": \"<path d=\\\"M8.456 14.494a.75.75 0 011.068.17 3.08 3.08 0 00.572.492A3.381 3.381 0 0012 15.72c.855 0 1.487-.283 1.904-.562a3.081 3.081 0 00.572-.492l.021-.026a.75.75 0 011.197.905l-.027.034c-.013.016-.03.038-.052.063-.044.05-.105.119-.184.198a4.569 4.569 0 01-.695.566A4.88 4.88 0 0112 17.22a4.88 4.88 0 01-2.736-.814 4.57 4.57 0 01-.695-.566 3.253 3.253 0 01-.236-.261c-.259-.332-.223-.824.123-1.084z\\\"></path><path fill-rule=\\\"evenodd\\\" d=\\\"M12 1C5.925 1 1 5.925 1 12s4.925 11 11 11 11-4.925 11-11S18.075 1 12 1zM2.5 12a9.5 9.5 0 1119 0 9.5 9.5 0 01-19 0z\\\"></path><path d=\\\"M9 10.75a1.25 1.25 0 11-2.5 0 1.25 1.25 0 012.5 0zM16.25 12a1.25 1.25 0 100-2.5 1.25 1.25 0 000 2.5z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nSmileyIcon.defaultProps = {\n className: 'octicon octicon-smiley',\n size: 16,\n verticalAlign: 'text-bottom'\n};\n\nfunction SquareIcon(props) {\n var svgDataByHeight = { \"16\": { \"width\": 16, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M4 5.75C4 4.784 4.784 4 5.75 4h4.5c.966 0 1.75.784 1.75 1.75v4.5A1.75 1.75 0 0110.25 12h-4.5A1.75 1.75 0 014 10.25v-4.5zm1.75-.25a.25.25 0 00-.25.25v4.5c0 .138.112.25.25.25h4.5a.25.25 0 00.25-.25v-4.5a.25.25 0 00-.25-.25h-4.5z\\\"></path>\" }, \"24\": { \"width\": 24, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M6 7.75C6 6.784 6.784 6 7.75 6h8.5c.966 0 1.75.784 1.75 1.75v8.5A1.75 1.75 0 0116.25 18h-8.5A1.75 1.75 0 016 16.25v-8.5zm1.75-.25a.25.25 0 00-.25.25v8.5c0 .138.112.25.25.25h8.5a.25.25 0 00.25-.25v-8.5a.25.25 0 00-.25-.25h-8.5z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nSquareIcon.defaultProps = {\n className: 'octicon octicon-square',\n size: 16,\n verticalAlign: 'text-bottom'\n};\n\nfunction SquareFillIcon(props) {\n var svgDataByHeight = { \"16\": { \"width\": 16, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M5.75 4A1.75 1.75 0 004 5.75v4.5c0 .966.784 1.75 1.75 1.75h4.5A1.75 1.75 0 0012 10.25v-4.5A1.75 1.75 0 0010.25 4h-4.5z\\\"></path>\" }, \"24\": { \"width\": 24, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M7.75 6A1.75 1.75 0 006 7.75v8.5c0 .966.784 1.75 1.75 1.75h8.5A1.75 1.75 0 0018 16.25v-8.5A1.75 1.75 0 0016.25 6h-8.5z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nSquareFillIcon.defaultProps = {\n className: 'octicon octicon-square-fill',\n size: 16,\n verticalAlign: 'text-bottom'\n};\n\nfunction SquirrelIcon(props) {\n var svgDataByHeight = { \"16\": { \"width\": 16, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M3.499.75a.75.75 0 011.5 0v.996C5.9 2.903 6.793 3.65 7.662 4.376l.24.202c-.036-.694.055-1.422.426-2.163C9.1.873 10.794-.045 12.622.26 14.408.558 16 1.94 16 4.25c0 1.278-.954 2.575-2.44 2.734l.146.508.065.22c.203.701.412 1.455.476 2.226.142 1.707-.4 3.03-1.487 3.898C11.714 14.671 10.27 15 8.75 15h-6a.75.75 0 010-1.5h1.376a4.489 4.489 0 01-.563-1.191 3.833 3.833 0 01-.05-2.063 4.636 4.636 0 01-2.025-.293.75.75 0 11.525-1.406c1.357.507 2.376-.006 2.698-.318l.009-.01a.748.748 0 011.06 0 .75.75 0 01-.012 1.074c-.912.92-.992 1.835-.768 2.586.221.74.745 1.337 1.196 1.621H8.75c1.343 0 2.398-.296 3.074-.836.635-.507 1.036-1.31.928-2.602-.05-.603-.216-1.224-.422-1.93l-.064-.221c-.12-.407-.246-.84-.353-1.29a2.404 2.404 0 01-.507-.441 3.063 3.063 0 01-.633-1.248.75.75 0 011.455-.364c.046.185.144.436.31.627.146.168.353.305.712.305.738 0 1.25-.615 1.25-1.25 0-1.47-.95-2.315-2.123-2.51-1.172-.196-2.227.387-2.706 1.345-.46.92-.27 1.774.019 3.062l.042.19a.753.753 0 01.01.05c.348.443.666.949.94 1.553a.75.75 0 11-1.365.62c-.553-1.217-1.32-1.94-2.3-2.768a85.08 85.08 0 00-.317-.265c-.814-.68-1.75-1.462-2.692-2.619a3.74 3.74 0 00-1.023.88c-.406.495-.663 1.036-.722 1.508.116.122.306.21.591.239.388.038.797-.06 1.032-.19a.75.75 0 01.728 1.31c-.515.287-1.23.439-1.906.373-.682-.067-1.473-.38-1.879-1.193L.75 5.677V5.5c0-.984.48-1.94 1.077-2.664.46-.559 1.05-1.055 1.673-1.353V.75z\\\"></path>\" }, \"24\": { \"width\": 24, \"path\": \"<path d=\\\"M18.377 3.49c-1.862-.31-3.718.62-4.456 2.095-.428.857-.691 1.624-.728 2.361-.035.71.138 1.444.67 2.252.644.854 1.199 1.913 1.608 3.346a.75.75 0 11-1.442.412c-.353-1.236-.82-2.135-1.372-2.865l-.008-.01c-.53-.698-1.14-1.242-1.807-1.778a50.724 50.724 0 00-.667-.524C9.024 7.884 7.71 6.863 6.471 5.16c-.59.287-1.248.798-1.806 1.454-.665.78-1.097 1.66-1.158 2.446.246.36.685.61 1.246.715.643.12 1.278.015 1.633-.182a.75.75 0 11.728 1.311c-.723.402-1.728.516-2.637.346-.916-.172-1.898-.667-2.398-1.666L2 9.427V9.25c0-1.323.678-2.615 1.523-3.607.7-.824 1.59-1.528 2.477-1.917V2.75a.75.75 0 111.5 0v1.27c1.154 1.67 2.363 2.612 3.568 3.551.207.162.415.323.621.489.001-.063.003-.126.006-.188.052-1.034.414-2.017.884-2.958 1.06-2.118 3.594-3.313 6.044-2.904 1.225.204 2.329.795 3.125 1.748C22.546 4.713 23 5.988 23 7.5c0 1.496-.913 3.255-2.688 3.652.838 1.699 1.438 3.768 1.181 5.697-.269 2.017-1.04 3.615-2.582 4.675C17.409 22.558 15.288 23 12.5 23H4.75a.75.75 0 010-1.5h2.322c-.58-.701-.998-1.578-1.223-2.471-.327-1.3-.297-2.786.265-4.131-.92.091-1.985-.02-3.126-.445a.75.75 0 11.524-1.406c1.964.733 3.428.266 4.045-.19.068-.06.137-.12.208-.18a.745.745 0 01.861-.076.746.746 0 01.32.368.752.752 0 01-.173.819c-.077.076-.16.15-.252.221-1.322 1.234-1.62 3.055-1.218 4.654.438 1.737 1.574 2.833 2.69 2.837H12.5c2.674 0 4.429-.433 5.56-1.212 1.094-.752 1.715-1.904 1.946-3.637.236-1.768-.445-3.845-1.407-5.529a.576.576 0 01-.012-.02 3.557 3.557 0 01-1.553-.94c-.556-.565-.89-1.243-1.012-1.73a.75.75 0 011.456-.364c.057.231.26.67.626 1.043.35.357.822.623 1.443.623 1.172 0 1.953-1.058 1.953-2.234 0-1.205-.357-2.127-.903-2.78-.547-.654-1.318-1.08-2.22-1.23z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nSquirrelIcon.defaultProps = {\n className: 'octicon octicon-squirrel',\n size: 16,\n verticalAlign: 'text-bottom'\n};\n\nfunction StarIcon(props) {\n var svgDataByHeight = { \"16\": { \"width\": 16, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M8 .25a.75.75 0 01.673.418l1.882 3.815 4.21.612a.75.75 0 01.416 1.279l-3.046 2.97.719 4.192a.75.75 0 01-1.088.791L8 12.347l-3.766 1.98a.75.75 0 01-1.088-.79l.72-4.194L.818 6.374a.75.75 0 01.416-1.28l4.21-.611L7.327.668A.75.75 0 018 .25zm0 2.445L6.615 5.5a.75.75 0 01-.564.41l-3.097.45 2.24 2.184a.75.75 0 01.216.664l-.528 3.084 2.769-1.456a.75.75 0 01.698 0l2.77 1.456-.53-3.084a.75.75 0 01.216-.664l2.24-2.183-3.096-.45a.75.75 0 01-.564-.41L8 2.694v.001z\\\"></path>\" }, \"24\": { \"width\": 24, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M12 .25a.75.75 0 01.673.418l3.058 6.197 6.839.994a.75.75 0 01.415 1.279l-4.948 4.823 1.168 6.811a.75.75 0 01-1.088.791L12 18.347l-6.117 3.216a.75.75 0 01-1.088-.79l1.168-6.812-4.948-4.823a.75.75 0 01.416-1.28l6.838-.993L11.328.668A.75.75 0 0112 .25zm0 2.445L9.44 7.882a.75.75 0 01-.565.41l-5.725.832 4.143 4.038a.75.75 0 01.215.664l-.978 5.702 5.121-2.692a.75.75 0 01.698 0l5.12 2.692-.977-5.702a.75.75 0 01.215-.664l4.143-4.038-5.725-.831a.75.75 0 01-.565-.41L12 2.694z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nStarIcon.defaultProps = {\n className: 'octicon octicon-star',\n size: 16,\n verticalAlign: 'text-bottom'\n};\n\nfunction StarFillIcon(props) {\n var svgDataByHeight = { \"16\": { \"width\": 16, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M8 .25a.75.75 0 01.673.418l1.882 3.815 4.21.612a.75.75 0 01.416 1.279l-3.046 2.97.719 4.192a.75.75 0 01-1.088.791L8 12.347l-3.766 1.98a.75.75 0 01-1.088-.79l.72-4.194L.818 6.374a.75.75 0 01.416-1.28l4.21-.611L7.327.668A.75.75 0 018 .25z\\\"></path>\" }, \"24\": { \"width\": 24, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M12.672.668a.75.75 0 00-1.345 0L8.27 6.865l-6.838.994a.75.75 0 00-.416 1.279l4.948 4.823-1.168 6.811a.75.75 0 001.088.791L12 18.347l6.117 3.216a.75.75 0 001.088-.79l-1.168-6.812 4.948-4.823a.75.75 0 00-.416-1.28l-6.838-.993L12.672.668z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nStarFillIcon.defaultProps = {\n className: 'octicon octicon-star-fill',\n size: 16,\n verticalAlign: 'text-bottom'\n};\n\nfunction StopIcon(props) {\n var svgDataByHeight = { \"16\": { \"width\": 16, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M4.47.22A.75.75 0 015 0h6a.75.75 0 01.53.22l4.25 4.25c.141.14.22.331.22.53v6a.75.75 0 01-.22.53l-4.25 4.25A.75.75 0 0111 16H5a.75.75 0 01-.53-.22L.22 11.53A.75.75 0 010 11V5a.75.75 0 01.22-.53L4.47.22zm.84 1.28L1.5 5.31v5.38l3.81 3.81h5.38l3.81-3.81V5.31L10.69 1.5H5.31zM8 4a.75.75 0 01.75.75v3.5a.75.75 0 01-1.5 0v-3.5A.75.75 0 018 4zm0 8a1 1 0 100-2 1 1 0 000 2z\\\"></path>\" }, \"24\": { \"width\": 24, \"path\": \"<path d=\\\"M12 7a.75.75 0 01.75.75v4.5a.75.75 0 01-1.5 0v-4.5A.75.75 0 0112 7zm0 10a1 1 0 100-2 1 1 0 000 2z\\\"></path><path fill-rule=\\\"evenodd\\\" d=\\\"M7.328 1.47a.75.75 0 01.53-.22h8.284a.75.75 0 01.53.22l5.858 5.858c.141.14.22.33.22.53v8.284a.75.75 0 01-.22.53l-5.858 5.858a.75.75 0 01-.53.22H7.858a.75.75 0 01-.53-.22L1.47 16.672a.75.75 0 01-.22-.53V7.858a.75.75 0 01.22-.53L7.328 1.47zm.84 1.28L2.75 8.169v7.662l5.419 5.419h7.662l5.419-5.418V8.168L15.832 2.75H8.168z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nStopIcon.defaultProps = {\n className: 'octicon octicon-stop',\n size: 16,\n verticalAlign: 'text-bottom'\n};\n\nfunction StopwatchIcon(props) {\n var svgDataByHeight = { \"16\": { \"width\": 16, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M5.75.75A.75.75 0 016.5 0h3a.75.75 0 010 1.5h-.75v1l-.001.041a6.718 6.718 0 013.464 1.435l.007-.006.75-.75a.75.75 0 111.06 1.06l-.75.75-.006.007a6.75 6.75 0 11-10.548 0L2.72 5.03l-.75-.75a.75.75 0 011.06-1.06l.75.75.007.006A6.718 6.718 0 017.25 2.541a.756.756 0 010-.041v-1H6.5a.75.75 0 01-.75-.75zM8 14.5A5.25 5.25 0 108 4a5.25 5.25 0 000 10.5zm.389-6.7l1.33-1.33a.75.75 0 111.061 1.06L9.45 8.861A1.502 1.502 0 018 10.75a1.5 1.5 0 11.389-2.95z\\\"></path>\" }, \"24\": { \"width\": 24, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M10.25 0a.75.75 0 000 1.5h1v1.278a9.955 9.955 0 00-5.635 2.276L4.28 3.72a.75.75 0 00-1.06 1.06l1.315 1.316A9.962 9.962 0 002 12.75c0 5.523 4.477 10 10 10s10-4.477 10-10a9.962 9.962 0 00-2.535-6.654L20.78 4.78a.75.75 0 00-1.06-1.06l-1.334 1.334a9.955 9.955 0 00-5.636-2.276V1.5h1a.75.75 0 000-1.5h-3.5zM12 21.25a8.5 8.5 0 100-17 8.5 8.5 0 000 17zm4.03-12.53a.75.75 0 010 1.06l-2.381 2.382a1.75 1.75 0 11-1.06-1.06l2.38-2.382a.75.75 0 011.061 0z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nStopwatchIcon.defaultProps = {\n className: 'octicon octicon-stopwatch',\n size: 16,\n verticalAlign: 'text-bottom'\n};\n\nfunction StrikethroughIcon(props) {\n var svgDataByHeight = { \"16\": { \"width\": 16, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M7.581 3.25c-2.036 0-2.778 1.082-2.778 1.786 0 .055.002.107.006.157a.75.75 0 01-1.496.114 3.56 3.56 0 01-.01-.271c0-1.832 1.75-3.286 4.278-3.286 1.418 0 2.721.58 3.514 1.093a.75.75 0 11-.814 1.26c-.64-.414-1.662-.853-2.7-.853zm3.474 5.25h3.195a.75.75 0 000-1.5H1.75a.75.75 0 000 1.5h6.018c.835.187 1.503.464 1.951.81.439.34.647.725.647 1.197 0 .428-.159.895-.594 1.267-.444.38-1.254.726-2.676.726-1.373 0-2.38-.493-2.86-.956a.75.75 0 00-1.042 1.079C3.992 13.393 5.39 14 7.096 14c1.652 0 2.852-.403 3.65-1.085a3.134 3.134 0 001.12-2.408 2.85 2.85 0 00-.811-2.007z\\\"></path>\" }, \"24\": { \"width\": 24, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M12.36 5C9.37 5 8.105 6.613 8.105 7.848c0 .411.072.744.193 1.02a.75.75 0 01-1.373.603 3.993 3.993 0 01-.32-1.623c0-2.363 2.271-4.348 5.755-4.348 1.931 0 3.722.794 4.814 1.5a.75.75 0 11-.814 1.26c-.94-.607-2.448-1.26-4-1.26zm4.173 7.5h3.717a.75.75 0 000-1.5H3.75a.75.75 0 000 1.5h9.136c1.162.28 2.111.688 2.76 1.211.642.518.979 1.134.979 1.898a2.63 2.63 0 01-.954 2.036c-.703.601-1.934 1.105-3.999 1.105-2.018 0-3.529-.723-4.276-1.445a.75.75 0 10-1.042 1.08c1.066 1.028 2.968 1.865 5.318 1.865 2.295 0 3.916-.56 4.974-1.464a4.131 4.131 0 001.479-3.177c0-1.296-.608-2.316-1.538-3.066a5.77 5.77 0 00-.054-.043z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nStrikethroughIcon.defaultProps = {\n className: 'octicon octicon-strikethrough',\n size: 16,\n verticalAlign: 'text-bottom'\n};\n\nfunction SunIcon(props) {\n var svgDataByHeight = { \"16\": { \"width\": 16, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M8 10.5a2.5 2.5 0 100-5 2.5 2.5 0 000 5zM8 12a4 4 0 100-8 4 4 0 000 8zM8 0a.75.75 0 01.75.75v1.5a.75.75 0 01-1.5 0V.75A.75.75 0 018 0zm0 13a.75.75 0 01.75.75v1.5a.75.75 0 01-1.5 0v-1.5A.75.75 0 018 13zM2.343 2.343a.75.75 0 011.061 0l1.06 1.061a.75.75 0 01-1.06 1.06l-1.06-1.06a.75.75 0 010-1.06zm9.193 9.193a.75.75 0 011.06 0l1.061 1.06a.75.75 0 01-1.06 1.061l-1.061-1.06a.75.75 0 010-1.061zM16 8a.75.75 0 01-.75.75h-1.5a.75.75 0 010-1.5h1.5A.75.75 0 0116 8zM3 8a.75.75 0 01-.75.75H.75a.75.75 0 010-1.5h1.5A.75.75 0 013 8zm10.657-5.657a.75.75 0 010 1.061l-1.061 1.06a.75.75 0 11-1.06-1.06l1.06-1.06a.75.75 0 011.06 0zm-9.193 9.193a.75.75 0 010 1.06l-1.06 1.061a.75.75 0 11-1.061-1.06l1.06-1.061a.75.75 0 011.061 0z\\\"></path>\" }, \"24\": { \"width\": 24, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M12 17.5a5.5 5.5 0 100-11 5.5 5.5 0 000 11zm0 1.5a7 7 0 100-14 7 7 0 000 14zm12-7a.75.75 0 01-.75.75h-2.5a.75.75 0 010-1.5h2.5A.75.75 0 0124 12zM4 12a.75.75 0 01-.75.75H.75a.75.75 0 010-1.5h2.5A.75.75 0 014 12zm16.485-8.485a.75.75 0 010 1.06l-1.768 1.768a.75.75 0 01-1.06-1.06l1.767-1.768a.75.75 0 011.061 0zM6.343 17.657a.75.75 0 010 1.06l-1.768 1.768a.75.75 0 11-1.06-1.06l1.767-1.768a.75.75 0 011.061 0zM12 0a.75.75 0 01.75.75v2.5a.75.75 0 01-1.5 0V.75A.75.75 0 0112 0zm0 20a.75.75 0 01.75.75v2.5a.75.75 0 01-1.5 0v-2.5A.75.75 0 0112 20zM3.515 3.515a.75.75 0 011.06 0l1.768 1.768a.75.75 0 11-1.06 1.06L3.515 4.575a.75.75 0 010-1.06zm14.142 14.142a.75.75 0 011.06 0l1.768 1.768a.75.75 0 01-1.06 1.06l-1.768-1.767a.75.75 0 010-1.061z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nSunIcon.defaultProps = {\n className: 'octicon octicon-sun',\n size: 16,\n verticalAlign: 'text-bottom'\n};\n\nfunction SyncIcon(props) {\n var svgDataByHeight = { \"16\": { \"width\": 16, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M8 2.5a5.487 5.487 0 00-4.131 1.869l1.204 1.204A.25.25 0 014.896 6H1.25A.25.25 0 011 5.75V2.104a.25.25 0 01.427-.177l1.38 1.38A7.001 7.001 0 0114.95 7.16a.75.75 0 11-1.49.178A5.501 5.501 0 008 2.5zM1.705 8.005a.75.75 0 01.834.656 5.501 5.501 0 009.592 2.97l-1.204-1.204a.25.25 0 01.177-.427h3.646a.25.25 0 01.25.25v3.646a.25.25 0 01-.427.177l-1.38-1.38A7.001 7.001 0 011.05 8.84a.75.75 0 01.656-.834z\\\"></path>\" }, \"24\": { \"width\": 24, \"path\": \"<path d=\\\"M3.38 8A9.502 9.502 0 0112 2.5a9.502 9.502 0 019.215 7.182.75.75 0 101.456-.364C21.473 4.539 17.15 1 12 1a10.995 10.995 0 00-9.5 5.452V4.75a.75.75 0 00-1.5 0V8.5a1 1 0 001 1h3.75a.75.75 0 000-1.5H3.38zm-.595 6.318a.75.75 0 00-1.455.364C2.527 19.461 6.85 23 12 23c4.052 0 7.592-2.191 9.5-5.451v1.701a.75.75 0 001.5 0V15.5a1 1 0 00-1-1h-3.75a.75.75 0 000 1.5h2.37A9.502 9.502 0 0112 21.5c-4.446 0-8.181-3.055-9.215-7.182z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nSyncIcon.defaultProps = {\n className: 'octicon octicon-sync',\n size: 16,\n verticalAlign: 'text-bottom'\n};\n\nfunction TabIcon(props) {\n var svgDataByHeight = { \"24\": { \"width\": 24, \"path\": \"<path d=\\\"M22 4.25a.75.75 0 00-1.5 0v15a.75.75 0 001.5 0v-15zm-9.72 14.28a.75.75 0 11-1.06-1.06l4.97-4.97H1.75a.75.75 0 010-1.5h14.44l-4.97-4.97a.75.75 0 011.06-1.06l6.25 6.25a.75.75 0 010 1.06l-6.25 6.25z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nTabIcon.defaultProps = {\n className: 'octicon octicon-tab',\n size: 16,\n verticalAlign: 'text-bottom'\n};\n\nfunction TableIcon(props) {\n var svgDataByHeight = { \"16\": { \"width\": 16, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M0 1.75C0 .784.784 0 1.75 0h12.5C15.216 0 16 .784 16 1.75v3.585a.746.746 0 010 .83v8.085A1.75 1.75 0 0114.25 16H6.309a.748.748 0 01-1.118 0H1.75A1.75 1.75 0 010 14.25V6.165a.746.746 0 010-.83V1.75zM1.5 6.5v7.75c0 .138.112.25.25.25H5v-8H1.5zM5 5H1.5V1.75a.25.25 0 01.25-.25H5V5zm1.5 1.5v8h7.75a.25.25 0 00.25-.25V6.5h-8zm8-1.5h-8V1.5h7.75a.25.25 0 01.25.25V5z\\\"></path>\" }, \"24\": { \"width\": 24, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M2 3.75C2 2.784 2.784 2 3.75 2h16.5c.966 0 1.75.784 1.75 1.75v16.5A1.75 1.75 0 0120.25 22H3.75A1.75 1.75 0 012 20.25V3.75zM3.5 9v11.25c0 .138.112.25.25.25H7.5V9h-4zm4-1.5h-4V3.75a.25.25 0 01.25-.25H7.5v4zM9 9v11.5h11.25a.25.25 0 00.25-.25V9H9zm11.5-1.5H9v-4h11.25a.25.25 0 01.25.25V7.5z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nTableIcon.defaultProps = {\n className: 'octicon octicon-table',\n size: 16,\n verticalAlign: 'text-bottom'\n};\n\nfunction TagIcon(props) {\n var svgDataByHeight = { \"16\": { \"width\": 16, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M2.5 7.775V2.75a.25.25 0 01.25-.25h5.025a.25.25 0 01.177.073l6.25 6.25a.25.25 0 010 .354l-5.025 5.025a.25.25 0 01-.354 0l-6.25-6.25a.25.25 0 01-.073-.177zm-1.5 0V2.75C1 1.784 1.784 1 2.75 1h5.025c.464 0 .91.184 1.238.513l6.25 6.25a1.75 1.75 0 010 2.474l-5.026 5.026a1.75 1.75 0 01-2.474 0l-6.25-6.25A1.75 1.75 0 011 7.775zM6 5a1 1 0 100 2 1 1 0 000-2z\\\"></path>\" }, \"24\": { \"width\": 24, \"path\": \"<path d=\\\"M7.75 6.5a1.25 1.25 0 100 2.5 1.25 1.25 0 000-2.5z\\\"></path><path fill-rule=\\\"evenodd\\\" d=\\\"M2.5 1A1.5 1.5 0 001 2.5v8.44c0 .397.158.779.44 1.06l10.25 10.25a1.5 1.5 0 002.12 0l8.44-8.44a1.5 1.5 0 000-2.12L12 1.44A1.5 1.5 0 0010.94 1H2.5zm0 1.5h8.44l10.25 10.25-8.44 8.44L2.5 10.94V2.5z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nTagIcon.defaultProps = {\n className: 'octicon octicon-tag',\n size: 16,\n verticalAlign: 'text-bottom'\n};\n\nfunction TasklistIcon(props) {\n var svgDataByHeight = { \"16\": { \"width\": 16, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M2.5 2.75a.25.25 0 01.25-.25h10.5a.25.25 0 01.25.25v10.5a.25.25 0 01-.25.25H2.75a.25.25 0 01-.25-.25V2.75zM2.75 1A1.75 1.75 0 001 2.75v10.5c0 .966.784 1.75 1.75 1.75h10.5A1.75 1.75 0 0015 13.25V2.75A1.75 1.75 0 0013.25 1H2.75zm9.03 5.28a.75.75 0 00-1.06-1.06L6.75 9.19 5.28 7.72a.75.75 0 00-1.06 1.06l2 2a.75.75 0 001.06 0l4.5-4.5z\\\"></path>\" }, \"24\": { \"width\": 24, \"path\": \"<path d=\\\"M17.28 9.28a.75.75 0 00-1.06-1.06l-5.97 5.97-2.47-2.47a.75.75 0 00-1.06 1.06l3 3a.75.75 0 001.06 0l6.5-6.5z\\\"></path><path fill-rule=\\\"evenodd\\\" d=\\\"M3.75 2A1.75 1.75 0 002 3.75v16.5c0 .966.784 1.75 1.75 1.75h16.5A1.75 1.75 0 0022 20.25V3.75A1.75 1.75 0 0020.25 2H3.75zM3.5 3.75a.25.25 0 01.25-.25h16.5a.25.25 0 01.25.25v16.5a.25.25 0 01-.25.25H3.75a.25.25 0 01-.25-.25V3.75z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nTasklistIcon.defaultProps = {\n className: 'octicon octicon-tasklist',\n size: 16,\n verticalAlign: 'text-bottom'\n};\n\nfunction TelescopeIcon(props) {\n var svgDataByHeight = { \"16\": { \"width\": 16, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M14.184 1.143a1.75 1.75 0 00-2.502-.57L.912 7.916a1.75 1.75 0 00-.53 2.32l.447.775a1.75 1.75 0 002.275.702l11.745-5.656a1.75 1.75 0 00.757-2.451l-1.422-2.464zm-1.657.669a.25.25 0 01.358.081l1.422 2.464a.25.25 0 01-.108.35l-2.016.97-1.505-2.605 1.85-1.26zM9.436 3.92l1.391 2.41-5.42 2.61-.942-1.63 4.97-3.39zM3.222 8.157l-1.466 1a.25.25 0 00-.075.33l.447.775a.25.25 0 00.325.1l1.598-.769-.83-1.436zm6.253 2.306a.75.75 0 00-.944-.252l-1.809.87a.75.75 0 00-.293.253L4.38 14.326a.75.75 0 101.238.848l1.881-2.75v2.826a.75.75 0 001.5 0v-2.826l1.881 2.75a.75.75 0 001.238-.848l-2.644-3.863z\\\"></path>\" }, \"24\": { \"width\": 24, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M.408 15.13a2 2 0 01.59-2.642L17.038 1.33a2 2 0 012.85.602l2.828 4.644a2 2 0 01-.851 2.847l-17.762 8.43a2 2 0 01-2.59-.807L.408 15.13zm5.263-4.066l7.842-5.455 2.857 4.76-8.712 4.135-1.987-3.44zm-1.235.86L1.854 13.72a.5.5 0 00-.147.66l1.105 1.915a.5.5 0 00.648.201l2.838-1.347-1.862-3.225zm13.295-2.2L14.747 4.75l3.148-2.19a.5.5 0 01.713.151l2.826 4.644a.5.5 0 01-.212.712l-3.49 1.656z\\\"></path><path d=\\\"M17.155 22.87a.75.75 0 00.226-1.036l-4-6.239a.75.75 0 00-.941-.278l-2.75 1.25a.75.75 0 00-.318.274l-3.25 4.989a.75.75 0 001.256.819l3.131-4.806.51-.232v5.64a.75.75 0 101.5 0v-6.22l3.6 5.613a.75.75 0 001.036.226z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nTelescopeIcon.defaultProps = {\n className: 'octicon octicon-telescope',\n size: 16,\n verticalAlign: 'text-bottom'\n};\n\nfunction TerminalIcon(props) {\n var svgDataByHeight = { \"16\": { \"width\": 16, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M0 2.75C0 1.784.784 1 1.75 1h12.5c.966 0 1.75.784 1.75 1.75v10.5A1.75 1.75 0 0114.25 15H1.75A1.75 1.75 0 010 13.25V2.75zm1.75-.25a.25.25 0 00-.25.25v10.5c0 .138.112.25.25.25h12.5a.25.25 0 00.25-.25V2.75a.25.25 0 00-.25-.25H1.75zM7.25 8a.75.75 0 01-.22.53l-2.25 2.25a.75.75 0 11-1.06-1.06L5.44 8 3.72 6.28a.75.75 0 111.06-1.06l2.25 2.25c.141.14.22.331.22.53zm1.5 1.5a.75.75 0 000 1.5h3a.75.75 0 000-1.5h-3z\\\"></path>\" }, \"24\": { \"width\": 24, \"path\": \"<path d=\\\"M9.25 12a.75.75 0 01-.22.53l-2.75 2.75a.75.75 0 01-1.06-1.06L7.44 12 5.22 9.78a.75.75 0 111.06-1.06l2.75 2.75c.141.14.22.331.22.53zm2 2a.75.75 0 000 1.5h5a.75.75 0 000-1.5h-5z\\\"></path><path fill-rule=\\\"evenodd\\\" d=\\\"M0 4.75C0 3.784.784 3 1.75 3h20.5c.966 0 1.75.784 1.75 1.75v14.5A1.75 1.75 0 0122.25 21H1.75A1.75 1.75 0 010 19.25V4.75zm1.75-.25a.25.25 0 00-.25.25v14.5c0 .138.112.25.25.25h20.5a.25.25 0 00.25-.25V4.75a.25.25 0 00-.25-.25H1.75z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nTerminalIcon.defaultProps = {\n className: 'octicon octicon-terminal',\n size: 16,\n verticalAlign: 'text-bottom'\n};\n\nfunction ThreeBarsIcon(props) {\n var svgDataByHeight = { \"16\": { \"width\": 16, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M1 2.75A.75.75 0 011.75 2h12.5a.75.75 0 110 1.5H1.75A.75.75 0 011 2.75zm0 5A.75.75 0 011.75 7h12.5a.75.75 0 110 1.5H1.75A.75.75 0 011 7.75zM1.75 12a.75.75 0 100 1.5h12.5a.75.75 0 100-1.5H1.75z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nThreeBarsIcon.defaultProps = {\n className: 'octicon octicon-three-bars',\n size: 16,\n verticalAlign: 'text-bottom'\n};\n\nfunction ThumbsdownIcon(props) {\n var svgDataByHeight = { \"16\": { \"width\": 16, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M7.083 15.986c1.34.153 2.334-.982 2.334-2.183v-.5c0-1.329.646-2.123 1.317-2.614.329-.24.66-.403.919-.508a1.75 1.75 0 001.514.872h1a1.75 1.75 0 001.75-1.75v-7.5a1.75 1.75 0 00-1.75-1.75h-1a1.75 1.75 0 00-1.662 1.2c-.525-.074-1.068-.228-1.726-.415L9.305.705C8.151.385 6.765.053 4.917.053c-1.706 0-2.97.152-3.722 1.139-.353.463-.537 1.042-.669 1.672C.41 3.424.32 4.108.214 4.897l-.04.306c-.25 1.869-.266 3.318.188 4.316.244.537.622.943 1.136 1.2.495.248 1.066.334 1.669.334h1.422l-.015.112c-.07.518-.157 1.17-.157 1.638 0 .921.151 1.718.655 2.299.512.589 1.248.797 2.011.884zm4.334-13.232c-.706-.089-1.39-.284-2.072-.479a63.914 63.914 0 00-.441-.125c-1.096-.304-2.335-.597-3.987-.597-1.794 0-2.28.222-2.529.548-.147.193-.275.505-.393 1.07-.105.502-.188 1.124-.295 1.93l-.04.3c-.25 1.882-.19 2.933.067 3.497a.921.921 0 00.443.48c.208.104.52.175.997.175h1.75c.685 0 1.295.577 1.205 1.335-.022.192-.049.39-.075.586-.066.488-.13.97-.13 1.329 0 .808.144 1.15.288 1.316.137.157.401.303 1.048.377.307.035.664-.237.664-.693v-.5c0-1.922.978-3.127 1.932-3.825a5.862 5.862 0 011.568-.809V2.754zm1.75 6.798a.25.25 0 01-.25-.25v-7.5a.25.25 0 01.25-.25h1a.25.25 0 01.25.25v7.5a.25.25 0 01-.25.25h-1z\\\"></path>\" }, \"24\": { \"width\": 24, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M12.596 21.957c-1.301.092-2.303-.986-2.303-2.206v-1.053c0-2.666-1.813-3.785-2.774-4.2a1.864 1.864 0 00-.523-.13A1.75 1.75 0 015.25 16h-1.5A1.75 1.75 0 012 14.25V3.75C2 2.784 2.784 2 3.75 2h1.5a1.75 1.75 0 011.742 1.58c.838-.06 1.667-.296 2.69-.586l.602-.17C11.748 2.419 13.497 2 15.828 2c2.188 0 3.693.204 4.583 1.372.422.554.65 1.255.816 2.05.148.708.262 1.57.396 2.58l.051.39c.319 2.386.328 4.18-.223 5.394-.293.644-.743 1.125-1.355 1.431-.59.296-1.284.404-2.036.404h-2.05l.056.429c.025.18.05.372.076.572.06.483.117 1.006.117 1.438 0 1.245-.222 2.253-.92 2.942-.684.674-1.668.879-2.743.955zM7 5.082c1.059-.064 2.079-.355 3.118-.651.188-.054.377-.108.568-.16 1.406-.392 3.006-.771 5.142-.771 2.277 0 3.004.274 3.39.781.216.283.388.718.54 1.448.136.65.242 1.45.379 2.477l.05.385c.32 2.398.253 3.794-.102 4.574-.16.352-.375.569-.66.711-.305.153-.74.245-1.365.245h-2.37c-.681 0-1.293.57-1.211 1.328.026.244.065.537.105.834l.07.527c.06.482.105.922.105 1.25 0 1.125-.213 1.617-.473 1.873-.275.27-.774.456-1.795.528-.351.024-.698-.274-.698-.71v-1.053c0-3.55-2.488-5.063-3.68-5.577A3.485 3.485 0 007 12.861V5.08zM3.75 3.5a.25.25 0 00-.25.25v10.5c0 .138.112.25.25.25h1.5a.25.25 0 00.25-.25V3.75a.25.25 0 00-.25-.25h-1.5z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nThumbsdownIcon.defaultProps = {\n className: 'octicon octicon-thumbsdown',\n size: 16,\n verticalAlign: 'text-bottom'\n};\n\nfunction ThumbsupIcon(props) {\n var svgDataByHeight = { \"16\": { \"width\": 16, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M8.834.066C7.494-.087 6.5 1.048 6.5 2.25v.5c0 1.329-.647 2.124-1.318 2.614-.328.24-.66.403-.918.508A1.75 1.75 0 002.75 5h-1A1.75 1.75 0 000 6.75v7.5C0 15.216.784 16 1.75 16h1a1.75 1.75 0 001.662-1.201c.525.075 1.067.229 1.725.415.152.043.31.088.475.133 1.154.32 2.54.653 4.388.653 1.706 0 2.97-.153 3.722-1.14.353-.463.537-1.042.668-1.672.118-.56.208-1.243.313-2.033l.04-.306c.25-1.869.265-3.318-.188-4.316a2.418 2.418 0 00-1.137-1.2C13.924 5.085 13.353 5 12.75 5h-1.422l.015-.113c.07-.518.157-1.17.157-1.637 0-.922-.151-1.719-.656-2.3-.51-.589-1.247-.797-2.01-.884zM4.5 13.3c.705.088 1.39.284 2.072.478l.441.125c1.096.305 2.334.598 3.987.598 1.794 0 2.28-.223 2.528-.549.147-.193.276-.505.394-1.07.105-.502.188-1.124.295-1.93l.04-.3c.25-1.882.189-2.933-.068-3.497a.922.922 0 00-.442-.48c-.208-.104-.52-.174-.997-.174H11c-.686 0-1.295-.577-1.206-1.336.023-.192.05-.39.076-.586.065-.488.13-.97.13-1.328 0-.809-.144-1.15-.288-1.316-.137-.158-.402-.304-1.048-.378C8.357 1.521 8 1.793 8 2.25v.5c0 1.922-.978 3.128-1.933 3.825a5.861 5.861 0 01-1.567.81V13.3zM2.75 6.5a.25.25 0 01.25.25v7.5a.25.25 0 01-.25.25h-1a.25.25 0 01-.25-.25v-7.5a.25.25 0 01.25-.25h1z\\\"></path>\" }, \"24\": { \"width\": 24, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M12.596 2.043c-1.301-.092-2.303.986-2.303 2.206v1.053c0 2.666-1.813 3.785-2.774 4.2a1.866 1.866 0 01-.523.131A1.75 1.75 0 005.25 8h-1.5A1.75 1.75 0 002 9.75v10.5c0 .967.784 1.75 1.75 1.75h1.5a1.75 1.75 0 001.742-1.58c.838.06 1.667.296 2.69.586l.602.17c1.464.406 3.213.824 5.544.824 2.188 0 3.693-.204 4.583-1.372.422-.554.65-1.255.816-2.05.148-.708.262-1.57.396-2.58l.051-.39c.319-2.386.328-4.18-.223-5.394-.293-.644-.743-1.125-1.355-1.431-.59-.296-1.284-.404-2.036-.404h-2.05l.056-.429c.025-.18.05-.372.076-.572.06-.483.117-1.006.117-1.438 0-1.245-.222-2.253-.92-2.941-.684-.675-1.668-.88-2.743-.956zM7 18.918c1.059.064 2.079.355 3.118.652l.568.16c1.406.39 3.006.77 5.142.77 2.277 0 3.004-.274 3.39-.781.216-.283.388-.718.54-1.448.136-.65.242-1.45.379-2.477l.05-.384c.32-2.4.253-3.795-.102-4.575-.16-.352-.375-.568-.66-.711-.305-.153-.74-.245-1.365-.245h-2.37c-.681 0-1.293-.57-1.211-1.328.026-.243.065-.537.105-.834l.07-.527c.06-.482.105-.921.105-1.25 0-1.125-.213-1.617-.473-1.873-.275-.27-.774-.455-1.795-.528-.351-.024-.698.274-.698.71v1.053c0 3.55-2.488 5.063-3.68 5.577-.372.16-.754.232-1.113.26v7.78zM3.75 20.5a.25.25 0 01-.25-.25V9.75a.25.25 0 01.25-.25h1.5a.25.25 0 01.25.25v10.5a.25.25 0 01-.25.25h-1.5z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nThumbsupIcon.defaultProps = {\n className: 'octicon octicon-thumbsup',\n size: 16,\n verticalAlign: 'text-bottom'\n};\n\nfunction ToolsIcon(props) {\n var svgDataByHeight = { \"16\": { \"width\": 16, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M5.433 2.304A4.494 4.494 0 003.5 6c0 1.598.832 3.002 2.09 3.802.518.328.929.923.902 1.64v.008l-.164 3.337a.75.75 0 11-1.498-.073l.163-3.33c.002-.085-.05-.216-.207-.316A5.996 5.996 0 012 6a5.994 5.994 0 012.567-4.92 1.482 1.482 0 011.673-.04c.462.296.76.827.76 1.423v2.82c0 .082.041.16.11.206l.75.51a.25.25 0 00.28 0l.75-.51A.25.25 0 009 5.282V2.463c0-.596.298-1.127.76-1.423a1.482 1.482 0 011.673.04A5.994 5.994 0 0114 6a5.996 5.996 0 01-2.786 5.068c-.157.1-.209.23-.207.315l.163 3.33a.75.75 0 11-1.498.074l-.164-3.345c-.027-.717.384-1.312.902-1.64A4.496 4.496 0 0012.5 6a4.494 4.494 0 00-1.933-3.696c-.024.017-.067.067-.067.16v2.818a1.75 1.75 0 01-.767 1.448l-.75.51a1.75 1.75 0 01-1.966 0l-.75-.51A1.75 1.75 0 015.5 5.282V2.463c0-.092-.043-.142-.067-.159zm.01-.005z\\\"></path>\" }, \"24\": { \"width\": 24, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M7.875 2.292a.125.125 0 00-.032.018A7.24 7.24 0 004.75 8.25a7.247 7.247 0 003.654 6.297c.57.327.982.955.941 1.682v.002l-.317 6.058a.75.75 0 11-1.498-.078l.317-6.062v-.004c.006-.09-.047-.215-.188-.296A8.747 8.747 0 013.25 8.25a8.74 8.74 0 013.732-7.169 1.547 1.547 0 011.709-.064c.484.292.809.835.809 1.46v4.714a.25.25 0 00.119.213l2.25 1.385c.08.05.182.05.262 0l2.25-1.385a.25.25 0 00.119-.213V2.478c0-.626.325-1.169.81-1.461a1.547 1.547 0 011.708.064 8.74 8.74 0 013.732 7.17 8.747 8.747 0 01-4.41 7.598c-.14.081-.193.206-.188.296v.004l.318 6.062a.75.75 0 11-1.498.078l-.317-6.058v-.002c-.041-.727.37-1.355.94-1.682A7.247 7.247 0 0019.25 8.25a7.24 7.24 0 00-3.093-5.94.125.125 0 00-.032-.018l-.01-.001c-.003 0-.014 0-.031.01-.036.022-.084.079-.084.177V7.19a1.75 1.75 0 01-.833 1.49l-2.25 1.385a1.75 1.75 0 01-1.834 0l-2.25-1.384A1.75 1.75 0 018 7.192V2.477c0-.098-.048-.155-.084-.176a.062.062 0 00-.031-.011l-.01.001z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nToolsIcon.defaultProps = {\n className: 'octicon octicon-tools',\n size: 16,\n verticalAlign: 'text-bottom'\n};\n\nfunction TrashIcon(props) {\n var svgDataByHeight = { \"16\": { \"width\": 16, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M6.5 1.75a.25.25 0 01.25-.25h2.5a.25.25 0 01.25.25V3h-3V1.75zm4.5 0V3h2.25a.75.75 0 010 1.5H2.75a.75.75 0 010-1.5H5V1.75C5 .784 5.784 0 6.75 0h2.5C10.216 0 11 .784 11 1.75zM4.496 6.675a.75.75 0 10-1.492.15l.66 6.6A1.75 1.75 0 005.405 15h5.19c.9 0 1.652-.681 1.741-1.576l.66-6.6a.75.75 0 00-1.492-.149l-.66 6.6a.25.25 0 01-.249.225h-5.19a.25.25 0 01-.249-.225l-.66-6.6z\\\"></path>\" }, \"24\": { \"width\": 24, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M16 1.75V3h5.25a.75.75 0 010 1.5H2.75a.75.75 0 010-1.5H8V1.75C8 .784 8.784 0 9.75 0h4.5C15.216 0 16 .784 16 1.75zm-6.5 0a.25.25 0 01.25-.25h4.5a.25.25 0 01.25.25V3h-5V1.75z\\\"></path><path d=\\\"M4.997 6.178a.75.75 0 10-1.493.144L4.916 20.92a1.75 1.75 0 001.742 1.58h10.684a1.75 1.75 0 001.742-1.581l1.413-14.597a.75.75 0 00-1.494-.144l-1.412 14.596a.25.25 0 01-.249.226H6.658a.25.25 0 01-.249-.226L4.997 6.178z\\\"></path><path d=\\\"M9.206 7.501a.75.75 0 01.793.705l.5 8.5A.75.75 0 119 16.794l-.5-8.5a.75.75 0 01.705-.793zm6.293.793A.75.75 0 1014 8.206l-.5 8.5a.75.75 0 001.498.088l.5-8.5z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nTrashIcon.defaultProps = {\n className: 'octicon octicon-trash',\n size: 16,\n verticalAlign: 'text-bottom'\n};\n\nfunction TriangleDownIcon(props) {\n var svgDataByHeight = { \"16\": { \"width\": 16, \"path\": \"<path d=\\\"M4.427 7.427l3.396 3.396a.25.25 0 00.354 0l3.396-3.396A.25.25 0 0011.396 7H4.604a.25.25 0 00-.177.427z\\\"></path>\" }, \"24\": { \"width\": 24, \"path\": \"<path d=\\\"M11.646 15.146L5.854 9.354a.5.5 0 01.353-.854h11.586a.5.5 0 01.353.854l-5.793 5.792a.5.5 0 01-.707 0z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nTriangleDownIcon.defaultProps = {\n className: 'octicon octicon-triangle-down',\n size: 16,\n verticalAlign: 'text-bottom'\n};\n\nfunction TriangleLeftIcon(props) {\n var svgDataByHeight = { \"16\": { \"width\": 16, \"path\": \"<path d=\\\"M9.573 4.427L6.177 7.823a.25.25 0 000 .354l3.396 3.396a.25.25 0 00.427-.177V4.604a.25.25 0 00-.427-.177z\\\"></path>\" }, \"24\": { \"width\": 24, \"path\": \"<path d=\\\"M8.854 11.646l5.792-5.792a.5.5 0 01.854.353v11.586a.5.5 0 01-.854.353l-5.792-5.792a.5.5 0 010-.708z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nTriangleLeftIcon.defaultProps = {\n className: 'octicon octicon-triangle-left',\n size: 16,\n verticalAlign: 'text-bottom'\n};\n\nfunction TriangleRightIcon(props) {\n var svgDataByHeight = { \"16\": { \"width\": 16, \"path\": \"<path d=\\\"M6.427 4.427l3.396 3.396a.25.25 0 010 .354l-3.396 3.396A.25.25 0 016 11.396V4.604a.25.25 0 01.427-.177z\\\"></path>\" }, \"24\": { \"width\": 24, \"path\": \"<path d=\\\"M15.146 12.354l-5.792 5.792a.5.5 0 01-.854-.353V6.207a.5.5 0 01.854-.353l5.792 5.792a.5.5 0 010 .708z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nTriangleRightIcon.defaultProps = {\n className: 'octicon octicon-triangle-right',\n size: 16,\n verticalAlign: 'text-bottom'\n};\n\nfunction TriangleUpIcon(props) {\n var svgDataByHeight = { \"16\": { \"width\": 16, \"path\": \"<path d=\\\"M4.427 9.573l3.396-3.396a.25.25 0 01.354 0l3.396 3.396a.25.25 0 01-.177.427H4.604a.25.25 0 01-.177-.427z\\\"></path>\" }, \"24\": { \"width\": 24, \"path\": \"<path d=\\\"M12.354 8.854l5.792 5.792a.5.5 0 01-.353.854H6.207a.5.5 0 01-.353-.854l5.792-5.792a.5.5 0 01.708 0z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nTriangleUpIcon.defaultProps = {\n className: 'octicon octicon-triangle-up',\n size: 16,\n verticalAlign: 'text-bottom'\n};\n\nfunction TypographyIcon(props) {\n var svgDataByHeight = { \"16\": { \"width\": 16, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M6.21 8.5L4.574 3.594 2.857 8.5H6.21zm.5 1.5l.829 2.487a.75.75 0 001.423-.474L5.735 2.332a1.216 1.216 0 00-2.302-.018l-3.39 9.688a.75.75 0 001.415.496L2.332 10H6.71zm3.13-4.358C10.53 4.374 11.87 4 13 4c1.5 0 3 .939 3 2.601v5.649a.75.75 0 01-1.448.275C13.995 12.82 13.3 13 12.5 13c-.77 0-1.514-.231-2.078-.709-.577-.488-.922-1.199-.922-2.041 0-.694.265-1.411.887-1.944C11 7.78 11.88 7.5 13 7.5h1.5v-.899c0-.54-.5-1.101-1.5-1.101-.869 0-1.528.282-1.84.858a.75.75 0 11-1.32-.716zM14.5 9H13c-.881 0-1.375.22-1.637.444-.253.217-.363.5-.363.806 0 .408.155.697.39.896.249.21.63.354 1.11.354.732 0 1.26-.209 1.588-.449.35-.257.412-.495.412-.551V9z\\\"></path>\" }, \"24\": { \"width\": 24, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M10.414 15l1.63 4.505a.75.75 0 001.411-.51l-5.08-14.03a1.463 1.463 0 00-2.75 0l-5.08 14.03a.75.75 0 101.41.51L3.586 15h6.828zm-.544-1.5L7 5.572 4.13 13.5h5.74zm5.076-3.598c.913-1.683 2.703-2.205 4.284-2.205 1.047 0 2.084.312 2.878.885.801.577 1.392 1.455 1.392 2.548v8.12a.75.75 0 01-1.5 0v-.06a3.123 3.123 0 01-.044.025c-.893.52-2.096.785-3.451.785-1.051 0-2.048-.315-2.795-.948-.76-.643-1.217-1.578-1.217-2.702 0-.919.349-1.861 1.168-2.563.81-.694 2-1.087 3.569-1.087H22v-1.57c0-.503-.263-.967-.769-1.332-.513-.37-1.235-.6-2.001-.6-1.319 0-2.429.43-2.966 1.42a.75.75 0 01-1.318-.716zM22 14.2h-2.77c-1.331 0-2.134.333-2.593.726a1.82 1.82 0 00-.644 1.424c0 .689.267 1.203.686 1.557.43.365 1.065.593 1.826.593 1.183 0 2.102-.235 2.697-.581.582-.34.798-.74.798-1.134V14.2z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nTypographyIcon.defaultProps = {\n className: 'octicon octicon-typography',\n size: 16,\n verticalAlign: 'text-bottom'\n};\n\nfunction UnfoldIcon(props) {\n var svgDataByHeight = { \"16\": { \"width\": 16, \"path\": \"<path d=\\\"M8.177.677l2.896 2.896a.25.25 0 01-.177.427H8.75v1.25a.75.75 0 01-1.5 0V4H5.104a.25.25 0 01-.177-.427L7.823.677a.25.25 0 01.354 0zM7.25 10.75a.75.75 0 011.5 0V12h2.146a.25.25 0 01.177.427l-2.896 2.896a.25.25 0 01-.354 0l-2.896-2.896A.25.25 0 015.104 12H7.25v-1.25zm-5-2a.75.75 0 000-1.5h-.5a.75.75 0 000 1.5h.5zM6 8a.75.75 0 01-.75.75h-.5a.75.75 0 010-1.5h.5A.75.75 0 016 8zm2.25.75a.75.75 0 000-1.5h-.5a.75.75 0 000 1.5h.5zM12 8a.75.75 0 01-.75.75h-.5a.75.75 0 010-1.5h.5A.75.75 0 0112 8zm2.25.75a.75.75 0 000-1.5h-.5a.75.75 0 000 1.5h.5z\\\"></path>\" }, \"24\": { \"width\": 24, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M12 23a.75.75 0 01-.53-.22l-3.25-3.25a.75.75 0 111.06-1.06L12 21.19l2.72-2.72a.75.75 0 111.06 1.06l-3.25 3.25A.75.75 0 0112 23z\\\"></path><path fill-rule=\\\"evenodd\\\" d=\\\"M12 22.25a.75.75 0 01-.75-.75v-5.75a.75.75 0 011.5 0v5.75a.75.75 0 01-.75.75zM10.75 12a.75.75 0 01.75-.75h1a.75.75 0 110 1.5h-1a.75.75 0 01-.75-.75zm-8 0a.75.75 0 01.75-.75h1a.75.75 0 010 1.5h-1a.75.75 0 01-.75-.75zm12 0a.75.75 0 01.75-.75h1a.75.75 0 010 1.5h-1a.75.75 0 01-.75-.75zm-8 0a.75.75 0 01.75-.75h1a.75.75 0 010 1.5h-1a.75.75 0 01-.75-.75zm12 0a.75.75 0 01.75-.75h1a.75.75 0 010 1.5h-1a.75.75 0 01-.75-.75zM11.47 1.22a.75.75 0 011.06 0l3.25 3.25a.75.75 0 01-1.06 1.06L12 2.81 9.28 5.53a.75.75 0 01-1.06-1.06l3.25-3.25z\\\"></path><path fill-rule=\\\"evenodd\\\" d=\\\"M12 1.5a.75.75 0 01.75.75v6a.75.75 0 01-1.5 0v-6A.75.75 0 0112 1.5z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nUnfoldIcon.defaultProps = {\n className: 'octicon octicon-unfold',\n size: 16,\n verticalAlign: 'text-bottom'\n};\n\nfunction UnlockIcon(props) {\n var svgDataByHeight = { \"16\": { \"width\": 16, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M5.5 4a2.5 2.5 0 014.607-1.346.75.75 0 101.264-.808A4 4 0 004 4v2h-.501A1.5 1.5 0 002 7.5v6A1.5 1.5 0 003.5 15h9a1.5 1.5 0 001.5-1.5v-6A1.5 1.5 0 0012.5 6h-7V4zm-.75 3.5H3.5v6h9v-6H4.75z\\\"></path>\" }, \"24\": { \"width\": 24, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M7.5 7.25C7.5 4.58 9.422 2.5 12 2.5c2.079 0 3.71 1.34 4.282 3.242a.75.75 0 101.436-.432C16.971 2.825 14.792 1 12 1 8.503 1 6 3.845 6 7.25V9h-.5A2.5 2.5 0 003 11.5v8A2.5 2.5 0 005.5 22h13a2.5 2.5 0 002.5-2.5v-8A2.5 2.5 0 0018.5 9h-11V7.25zm-3 4.25a1 1 0 011-1h13a1 1 0 011 1v8a1 1 0 01-1 1h-13a1 1 0 01-1-1v-8z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nUnlockIcon.defaultProps = {\n className: 'octicon octicon-unlock',\n size: 16,\n verticalAlign: 'text-bottom'\n};\n\nfunction UnmuteIcon(props) {\n var svgDataByHeight = { \"16\": { \"width\": 16, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M7.563 2.069A.75.75 0 018 2.75v10.5a.75.75 0 01-1.238.57L3.472 11H1.75A1.75 1.75 0 010 9.25v-2.5C0 5.784.784 5 1.75 5h1.723l3.289-2.82a.75.75 0 01.801-.111zM6.5 4.38L4.238 6.319a.75.75 0 01-.488.181h-2a.25.25 0 00-.25.25v2.5c0 .138.112.25.25.25h2a.75.75 0 01.488.18L6.5 11.62V4.38zm6.096-2.038a.75.75 0 011.06 0 8 8 0 010 11.314.75.75 0 01-1.06-1.06 6.5 6.5 0 000-9.193.75.75 0 010-1.06v-.001zm-1.06 2.121a.75.75 0 10-1.061 1.061 3.5 3.5 0 010 4.95.75.75 0 101.06 1.06 5 5 0 000-7.07l.001-.001z\\\"></path>\" }, \"24\": { \"width\": 24, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M11.553 3.064A.75.75 0 0112 3.75v16.5a.75.75 0 01-1.255.555L5.46 16H2.75A1.75 1.75 0 011 14.25v-4.5C1 8.784 1.784 8 2.75 8h2.71l5.285-4.805a.75.75 0 01.808-.13zM10.5 5.445l-4.245 3.86a.75.75 0 01-.505.195h-3a.25.25 0 00-.25.25v4.5c0 .138.112.25.25.25h3a.75.75 0 01.505.195l4.245 3.86V5.445z\\\"></path><path d=\\\"M18.718 4.222a.75.75 0 011.06 0c4.296 4.296 4.296 11.26 0 15.556a.75.75 0 01-1.06-1.06 9.5 9.5 0 000-13.436.75.75 0 010-1.06z\\\"></path><path d=\\\"M16.243 7.757a.75.75 0 10-1.061 1.061 4.5 4.5 0 010 6.364.75.75 0 001.06 1.06 6 6 0 000-8.485z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nUnmuteIcon.defaultProps = {\n className: 'octicon octicon-unmute',\n size: 16,\n verticalAlign: 'text-bottom'\n};\n\nfunction UnverifiedIcon(props) {\n var svgDataByHeight = { \"16\": { \"width\": 16, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M6.415.52a2.678 2.678 0 013.17 0l.928.68c.153.113.33.186.518.215l1.138.175a2.678 2.678 0 012.241 2.24l.175 1.138c.029.187.102.365.215.518l.68.928a2.678 2.678 0 010 3.17l-.68.928a1.179 1.179 0 00-.215.518l-.175 1.138a2.678 2.678 0 01-2.241 2.241l-1.138.175a1.179 1.179 0 00-.518.215l-.928.68a2.678 2.678 0 01-3.17 0l-.928-.68a1.179 1.179 0 00-.518-.215L3.83 14.41a2.678 2.678 0 01-2.24-2.24l-.175-1.138a1.179 1.179 0 00-.215-.518l-.68-.928a2.678 2.678 0 010-3.17l.68-.928a1.17 1.17 0 00.215-.518l.175-1.14a2.678 2.678 0 012.24-2.24l1.138-.175c.187-.029.365-.102.518-.215l.928-.68zm2.282 1.209a1.178 1.178 0 00-1.394 0l-.928.68a2.678 2.678 0 01-1.18.489l-1.136.174a1.178 1.178 0 00-.987.987l-.174 1.137a2.678 2.678 0 01-.489 1.18l-.68.927c-.305.415-.305.98 0 1.394l.68.928c.256.348.423.752.489 1.18l.174 1.136c.078.51.478.909.987.987l1.137.174c.427.066.831.233 1.18.489l.927.68c.415.305.98.305 1.394 0l.928-.68a2.678 2.678 0 011.18-.489l1.136-.174c.51-.078.909-.478.987-.987l.174-1.137c.066-.427.233-.831.489-1.18l.68-.927c.305-.415.305-.98 0-1.394l-.68-.928a2.678 2.678 0 01-.489-1.18l-.174-1.136a1.178 1.178 0 00-.987-.987l-1.137-.174a2.678 2.678 0 01-1.18-.489l-.927-.68zM9 11a1 1 0 11-2 0 1 1 0 012 0zM6.92 6.085c.081-.16.19-.299.34-.398.145-.097.371-.187.74-.187.28 0 .553.087.738.225A.613.613 0 019 6.25c0 .177-.04.264-.077.318a.956.956 0 01-.277.245c-.076.051-.158.1-.258.161l-.007.004c-.093.056-.204.122-.313.195a2.416 2.416 0 00-.692.661.75.75 0 001.248.832.956.956 0 01.276-.245 6.3 6.3 0 01.26-.16l.006-.004c.093-.057.204-.123.313-.195.222-.149.487-.355.692-.662.214-.32.329-.702.329-1.15 0-.76-.36-1.348-.862-1.725A2.76 2.76 0 008 4c-.631 0-1.154.16-1.572.438-.413.276-.68.638-.849.977a.75.75 0 001.342.67z\\\"></path>\" }, \"24\": { \"width\": 24, \"path\": \"<path d=\\\"M13 16.5a1 1 0 11-2 0 1 1 0 012 0zm-2.517-7.665c.112-.223.268-.424.488-.57C11.186 8.12 11.506 8 12 8c.384 0 .766.118 1.034.319a.953.953 0 01.403.806c0 .48-.218.81-.62 1.186a9.293 9.293 0 01-.409.354 19.8 19.8 0 00-.294.249c-.246.213-.524.474-.738.795l-.126.19V13.5a.75.75 0 001.5 0v-1.12c.09-.1.203-.208.347-.333.063-.055.14-.119.222-.187.166-.14.358-.3.52-.452.536-.5 1.098-1.2 1.098-2.283a2.45 2.45 0 00-1.003-2.006C13.37 6.695 12.658 6.5 12 6.5c-.756 0-1.373.191-1.861.517a2.944 2.944 0 00-.997 1.148.75.75 0 001.341.67z\\\"></path><path fill-rule=\\\"evenodd\\\" d=\\\"M9.864 1.2a3.61 3.61 0 014.272 0l1.375 1.01c.274.2.593.333.929.384l1.686.259a3.61 3.61 0 013.021 3.02l.259 1.687c.051.336.183.655.384.929l1.01 1.375a3.61 3.61 0 010 4.272l-1.01 1.375a2.11 2.11 0 00-.384.929l-.259 1.686a3.61 3.61 0 01-3.02 3.021l-1.687.259a2.11 2.11 0 00-.929.384l-1.375 1.01a3.61 3.61 0 01-4.272 0l-1.375-1.01a2.11 2.11 0 00-.929-.384l-1.686-.259a3.61 3.61 0 01-3.021-3.02l-.259-1.687a2.11 2.11 0 00-.384-.929L1.2 14.136a3.61 3.61 0 010-4.272l1.01-1.375a2.11 2.11 0 00.384-.929l.259-1.686a3.61 3.61 0 013.02-3.021l1.687-.259a2.11 2.11 0 00.929-.384L9.864 1.2zm3.384 1.209a2.11 2.11 0 00-2.496 0l-1.376 1.01a3.61 3.61 0 01-1.589.658l-1.686.258a2.11 2.11 0 00-1.766 1.766l-.258 1.686a3.61 3.61 0 01-.658 1.59l-1.01 1.375a2.11 2.11 0 000 2.496l1.01 1.376a3.61 3.61 0 01.658 1.589l.258 1.686a2.11 2.11 0 001.766 1.765l1.686.26a3.61 3.61 0 011.59.657l1.375 1.01a2.11 2.11 0 002.496 0l1.376-1.01a3.61 3.61 0 011.589-.658l1.686-.258a2.11 2.11 0 001.765-1.766l.26-1.686a3.61 3.61 0 01.657-1.59l1.01-1.375a2.11 2.11 0 000-2.496l-1.01-1.376a3.61 3.61 0 01-.658-1.589l-.258-1.686a2.11 2.11 0 00-1.766-1.766l-1.686-.258a3.61 3.61 0 01-1.59-.658l-1.375-1.01z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nUnverifiedIcon.defaultProps = {\n className: 'octicon octicon-unverified',\n size: 16,\n verticalAlign: 'text-bottom'\n};\n\nfunction UploadIcon(props) {\n var svgDataByHeight = { \"16\": { \"width\": 16, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M8.53 1.22a.75.75 0 00-1.06 0L3.72 4.97a.75.75 0 001.06 1.06l2.47-2.47v6.69a.75.75 0 001.5 0V3.56l2.47 2.47a.75.75 0 101.06-1.06L8.53 1.22zM3.75 13a.75.75 0 000 1.5h8.5a.75.75 0 000-1.5h-8.5z\\\"></path>\" }, \"24\": { \"width\": 24, \"path\": \"<path d=\\\"M4.97 12.97a.75.75 0 101.06 1.06L11 9.06v12.19a.75.75 0 001.5 0V9.06l4.97 4.97a.75.75 0 101.06-1.06l-6.25-6.25a.75.75 0 00-1.06 0l-6.25 6.25zM4.75 3.5a.75.75 0 010-1.5h14.5a.75.75 0 010 1.5H4.75z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nUploadIcon.defaultProps = {\n className: 'octicon octicon-upload',\n size: 16,\n verticalAlign: 'text-bottom'\n};\n\nfunction VerifiedIcon(props) {\n var svgDataByHeight = { \"16\": { \"width\": 16, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M9.585.52a2.678 2.678 0 00-3.17 0l-.928.68a1.178 1.178 0 01-.518.215L3.83 1.59a2.678 2.678 0 00-2.24 2.24l-.175 1.14a1.178 1.178 0 01-.215.518l-.68.928a2.678 2.678 0 000 3.17l.68.928c.113.153.186.33.215.518l.175 1.138a2.678 2.678 0 002.24 2.24l1.138.175c.187.029.365.102.518.215l.928.68a2.678 2.678 0 003.17 0l.928-.68a1.17 1.17 0 01.518-.215l1.138-.175a2.678 2.678 0 002.241-2.241l.175-1.138c.029-.187.102-.365.215-.518l.68-.928a2.678 2.678 0 000-3.17l-.68-.928a1.179 1.179 0 01-.215-.518L14.41 3.83a2.678 2.678 0 00-2.24-2.24l-1.138-.175a1.179 1.179 0 01-.518-.215L9.585.52zM7.303 1.728c.415-.305.98-.305 1.394 0l.928.68c.348.256.752.423 1.18.489l1.136.174c.51.078.909.478.987.987l.174 1.137c.066.427.233.831.489 1.18l.68.927c.305.415.305.98 0 1.394l-.68.928a2.678 2.678 0 00-.489 1.18l-.174 1.136a1.178 1.178 0 01-.987.987l-1.137.174a2.678 2.678 0 00-1.18.489l-.927.68c-.415.305-.98.305-1.394 0l-.928-.68a2.678 2.678 0 00-1.18-.489l-1.136-.174a1.178 1.178 0 01-.987-.987l-.174-1.137a2.678 2.678 0 00-.489-1.18l-.68-.927a1.178 1.178 0 010-1.394l.68-.928c.256-.348.423-.752.489-1.18l.174-1.136c.078-.51.478-.909.987-.987l1.137-.174a2.678 2.678 0 001.18-.489l.927-.68zM11.28 6.78a.75.75 0 00-1.06-1.06L7 8.94 5.78 7.72a.75.75 0 00-1.06 1.06l1.75 1.75a.75.75 0 001.06 0l3.75-3.75z\\\"></path>\" }, \"24\": { \"width\": 24, \"path\": \"<path d=\\\"M17.03 9.78a.75.75 0 00-1.06-1.06l-5.47 5.47-2.47-2.47a.75.75 0 00-1.06 1.06l3 3a.75.75 0 001.06 0l6-6z\\\"></path><path fill-rule=\\\"evenodd\\\" d=\\\"M14.136 1.2a3.61 3.61 0 00-4.272 0L8.489 2.21a2.11 2.11 0 01-.929.384l-1.686.259a3.61 3.61 0 00-3.021 3.02L2.594 7.56a2.11 2.11 0 01-.384.929L1.2 9.864a3.61 3.61 0 000 4.272l1.01 1.375c.2.274.333.593.384.929l.259 1.686a3.61 3.61 0 003.02 3.021l1.687.259c.336.051.655.183.929.384l1.375 1.01a3.61 3.61 0 004.272 0l1.375-1.01a2.11 2.11 0 01.929-.384l1.686-.259a3.61 3.61 0 003.021-3.02l.259-1.687a2.11 2.11 0 01.384-.929l1.01-1.375a3.61 3.61 0 000-4.272l-1.01-1.375a2.11 2.11 0 01-.384-.929l-.259-1.686a3.61 3.61 0 00-3.02-3.021l-1.687-.259a2.11 2.11 0 01-.929-.384L14.136 1.2zm-3.384 1.209a2.11 2.11 0 012.496 0l1.376 1.01a3.61 3.61 0 001.589.658l1.686.258a2.11 2.11 0 011.765 1.766l.26 1.686a3.61 3.61 0 00.657 1.59l1.01 1.375a2.11 2.11 0 010 2.496l-1.01 1.376a3.61 3.61 0 00-.658 1.589l-.258 1.686a2.11 2.11 0 01-1.766 1.765l-1.686.26a3.61 3.61 0 00-1.59.657l-1.375 1.01a2.11 2.11 0 01-2.496 0l-1.376-1.01a3.61 3.61 0 00-1.589-.658l-1.686-.258a2.11 2.11 0 01-1.766-1.766l-.258-1.686a3.61 3.61 0 00-.658-1.59l-1.01-1.375a2.11 2.11 0 010-2.496l1.01-1.376a3.61 3.61 0 00.658-1.589l.258-1.686a2.11 2.11 0 011.766-1.766l1.686-.258a3.61 3.61 0 001.59-.658l1.375-1.01z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nVerifiedIcon.defaultProps = {\n className: 'octicon octicon-verified',\n size: 16,\n verticalAlign: 'text-bottom'\n};\n\nfunction VersionsIcon(props) {\n var svgDataByHeight = { \"16\": { \"width\": 16, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M7.75 14A1.75 1.75 0 016 12.25v-8.5C6 2.784 6.784 2 7.75 2h6.5c.966 0 1.75.784 1.75 1.75v8.5A1.75 1.75 0 0114.25 14h-6.5zm-.25-1.75c0 .138.112.25.25.25h6.5a.25.25 0 00.25-.25v-8.5a.25.25 0 00-.25-.25h-6.5a.25.25 0 00-.25.25v8.5zM4.9 3.508a.75.75 0 01-.274 1.025.25.25 0 00-.126.217v6.5a.25.25 0 00.126.217.75.75 0 01-.752 1.298A1.75 1.75 0 013 11.25v-6.5c0-.649.353-1.214.874-1.516a.75.75 0 011.025.274zM1.625 5.533a.75.75 0 10-.752-1.299A1.75 1.75 0 000 5.75v4.5c0 .649.353 1.214.874 1.515a.75.75 0 10.752-1.298.25.25 0 01-.126-.217v-4.5a.25.25 0 01.126-.217z\\\"></path>\" }, \"24\": { \"width\": 24, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M10 22a2 2 0 01-2-2V4a2 2 0 012-2h11a2 2 0 012 2v16a2 2 0 01-2 2H10zm-.5-2a.5.5 0 00.5.5h11a.5.5 0 00.5-.5V4a.5.5 0 00-.5-.5H10a.5.5 0 00-.5.5v16zM6.17 4.165a.75.75 0 01-.335 1.006c-.228.114-.295.177-.315.201a.037.037 0 00-.008.016.387.387 0 00-.012.112v13c0 .07.008.102.012.112a.03.03 0 00.008.016c.02.024.087.087.315.201a.75.75 0 11-.67 1.342c-.272-.136-.58-.315-.81-.598C4.1 19.259 4 18.893 4 18.5v-13c0-.393.1-.759.355-1.073.23-.283.538-.462.81-.598a.75.75 0 011.006.336zM2.15 5.624a.75.75 0 01-.274 1.025c-.15.087-.257.17-.32.245C1.5 6.96 1.5 6.99 1.5 7v10c0 .01 0 .04.056.106.063.074.17.158.32.245a.75.75 0 11-.752 1.298C.73 18.421 0 17.907 0 17V7c0-.907.73-1.42 1.124-1.65a.75.75 0 011.025.274z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nVersionsIcon.defaultProps = {\n className: 'octicon octicon-versions',\n size: 16,\n verticalAlign: 'text-bottom'\n};\n\nfunction VideoIcon(props) {\n var svgDataByHeight = { \"16\": { \"width\": 16, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M1.75 3.5a.25.25 0 00-.25.25v8.5c0 .138.112.25.25.25h12.5a.25.25 0 00.25-.25v-8.5a.25.25 0 00-.25-.25H1.75zM0 3.75C0 2.784.784 2 1.75 2h12.5c.966 0 1.75.784 1.75 1.75v8.5A1.75 1.75 0 0114.25 14H1.75A1.75 1.75 0 010 12.25v-8.5z\\\"></path><path d=\\\"M6 10.559V5.442a.25.25 0 01.379-.215l4.264 2.559a.25.25 0 010 .428l-4.264 2.559A.25.25 0 016 10.559z\\\"></path>\" }, \"24\": { \"width\": 24, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M1.75 4.5a.25.25 0 00-.25.25v14.5c0 .138.112.25.25.25h20.5a.25.25 0 00.25-.25V4.75a.25.25 0 00-.25-.25H1.75zM0 4.75C0 3.784.784 3 1.75 3h20.5c.966 0 1.75.784 1.75 1.75v14.5A1.75 1.75 0 0122.25 21H1.75A1.75 1.75 0 010 19.25V4.75z\\\"></path><path d=\\\"M9 15.584V8.416a.5.5 0 01.77-.42l5.576 3.583a.5.5 0 010 .842L9.77 16.005a.5.5 0 01-.77-.42z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nVideoIcon.defaultProps = {\n className: 'octicon octicon-video',\n size: 16,\n verticalAlign: 'text-bottom'\n};\n\nfunction WorkflowIcon(props) {\n var svgDataByHeight = { \"16\": { \"width\": 16, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M0 1.75C0 .784.784 0 1.75 0h3.5C6.216 0 7 .784 7 1.75v3.5A1.75 1.75 0 015.25 7H4v4a1 1 0 001 1h4v-1.25C9 9.784 9.784 9 10.75 9h3.5c.966 0 1.75.784 1.75 1.75v3.5A1.75 1.75 0 0114.25 16h-3.5A1.75 1.75 0 019 14.25v-.75H5A2.5 2.5 0 012.5 11V7h-.75A1.75 1.75 0 010 5.25v-3.5zm1.75-.25a.25.25 0 00-.25.25v3.5c0 .138.112.25.25.25h3.5a.25.25 0 00.25-.25v-3.5a.25.25 0 00-.25-.25h-3.5zm9 9a.25.25 0 00-.25.25v3.5c0 .138.112.25.25.25h3.5a.25.25 0 00.25-.25v-3.5a.25.25 0 00-.25-.25h-3.5z\\\"></path>\" }, \"24\": { \"width\": 24, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M1 3a2 2 0 012-2h6.5a2 2 0 012 2v6.5a2 2 0 01-2 2H7v4.063C7 16.355 7.644 17 8.438 17H12.5v-2.5a2 2 0 012-2H21a2 2 0 012 2V21a2 2 0 01-2 2h-6.5a2 2 0 01-2-2v-2.5H8.437A2.938 2.938 0 015.5 15.562V11.5H3a2 2 0 01-2-2V3zm2-.5a.5.5 0 00-.5.5v6.5a.5.5 0 00.5.5h6.5a.5.5 0 00.5-.5V3a.5.5 0 00-.5-.5H3zM14.5 14a.5.5 0 00-.5.5V21a.5.5 0 00.5.5H21a.5.5 0 00.5-.5v-6.5a.5.5 0 00-.5-.5h-6.5z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nWorkflowIcon.defaultProps = {\n className: 'octicon octicon-workflow',\n size: 16,\n verticalAlign: 'text-bottom'\n};\n\nfunction XIcon(props) {\n var svgDataByHeight = { \"16\": { \"width\": 16, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M3.72 3.72a.75.75 0 011.06 0L8 6.94l3.22-3.22a.75.75 0 111.06 1.06L9.06 8l3.22 3.22a.75.75 0 11-1.06 1.06L8 9.06l-3.22 3.22a.75.75 0 01-1.06-1.06L6.94 8 3.72 4.78a.75.75 0 010-1.06z\\\"></path>\" }, \"24\": { \"width\": 24, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M5.72 5.72a.75.75 0 011.06 0L12 10.94l5.22-5.22a.75.75 0 111.06 1.06L13.06 12l5.22 5.22a.75.75 0 11-1.06 1.06L12 13.06l-5.22 5.22a.75.75 0 01-1.06-1.06L10.94 12 5.72 6.78a.75.75 0 010-1.06z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nXIcon.defaultProps = {\n className: 'octicon octicon-x',\n size: 16,\n verticalAlign: 'text-bottom'\n};\n\nfunction XCircleIcon(props) {\n var svgDataByHeight = { \"16\": { \"width\": 16, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M3.404 12.596a6.5 6.5 0 119.192-9.192 6.5 6.5 0 01-9.192 9.192zM2.344 2.343a8 8 0 1011.313 11.314A8 8 0 002.343 2.343zM6.03 4.97a.75.75 0 00-1.06 1.06L6.94 8 4.97 9.97a.75.75 0 101.06 1.06L8 9.06l1.97 1.97a.75.75 0 101.06-1.06L9.06 8l1.97-1.97a.75.75 0 10-1.06-1.06L8 6.94 6.03 4.97z\\\"></path>\" }, \"24\": { \"width\": 24, \"path\": \"<path d=\\\"M9.036 7.976a.75.75 0 00-1.06 1.06L10.939 12l-2.963 2.963a.75.75 0 101.06 1.06L12 13.06l2.963 2.964a.75.75 0 001.061-1.06L13.061 12l2.963-2.964a.75.75 0 10-1.06-1.06L12 10.939 9.036 7.976z\\\"></path><path fill-rule=\\\"evenodd\\\" d=\\\"M12 1C5.925 1 1 5.925 1 12s4.925 11 11 11 11-4.925 11-11S18.075 1 12 1zM2.5 12a9.5 9.5 0 1119 0 9.5 9.5 0 01-19 0z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nXCircleIcon.defaultProps = {\n className: 'octicon octicon-x-circle',\n size: 16,\n verticalAlign: 'text-bottom'\n};\n\nfunction XCircleFillIcon(props) {\n var svgDataByHeight = { \"16\": { \"width\": 16, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M2.343 13.657A8 8 0 1113.657 2.343 8 8 0 012.343 13.657zM6.03 4.97a.75.75 0 00-1.06 1.06L6.94 8 4.97 9.97a.75.75 0 101.06 1.06L8 9.06l1.97 1.97a.75.75 0 101.06-1.06L9.06 8l1.97-1.97a.75.75 0 10-1.06-1.06L8 6.94 6.03 4.97z\\\"></path>\" }, \"24\": { \"width\": 24, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M1 12C1 5.925 5.925 1 12 1s11 4.925 11 11-4.925 11-11 11S1 18.075 1 12zm8.036-4.024a.75.75 0 00-1.06 1.06L10.939 12l-2.963 2.963a.75.75 0 101.06 1.06L12 13.06l2.963 2.964a.75.75 0 001.061-1.06L13.061 12l2.963-2.964a.75.75 0 10-1.06-1.06L12 10.939 9.036 7.976z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nXCircleFillIcon.defaultProps = {\n className: 'octicon octicon-x-circle-fill',\n size: 16,\n verticalAlign: 'text-bottom'\n};\n\nfunction ZapIcon(props) {\n var svgDataByHeight = { \"16\": { \"width\": 16, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M10.561 1.5a.016.016 0 00-.01.004L3.286 8.571A.25.25 0 003.462 9H6.75a.75.75 0 01.694 1.034l-1.713 4.188 6.982-6.793A.25.25 0 0012.538 7H9.25a.75.75 0 01-.683-1.06l2.008-4.418.003-.006a.02.02 0 00-.004-.009.02.02 0 00-.006-.006L10.56 1.5zM9.504.43a1.516 1.516 0 012.437 1.713L10.415 5.5h2.123c1.57 0 2.346 1.909 1.22 3.004l-7.34 7.142a1.25 1.25 0 01-.871.354h-.302a1.25 1.25 0 01-1.157-1.723L5.633 10.5H3.462c-1.57 0-2.346-1.909-1.22-3.004L9.503.429z\\\"></path>\" }, \"24\": { \"width\": 24, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M16.168 2.924L4.51 13.061a.25.25 0 00.164.439h5.45a.75.75 0 01.692 1.041l-2.559 6.066 11.215-9.668a.25.25 0 00-.164-.439H14a.75.75 0 01-.687-1.05l2.855-6.526zm-.452-1.595a1.341 1.341 0 012.109 1.55L15.147 9h4.161c1.623 0 2.372 2.016 1.143 3.075L8.102 22.721a1.149 1.149 0 01-1.81-1.317L8.996 15H4.674c-1.619 0-2.37-2.008-1.148-3.07l12.19-10.6z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nZapIcon.defaultProps = {\n className: 'octicon octicon-zap',\n size: 16,\n verticalAlign: 'text-bottom'\n};\n\nfunction _objectWithoutProperties(obj, keys) { var target = {}; for (var i in obj) { if (keys.indexOf(i) >= 0) continue; if (!Object.prototype.hasOwnProperty.call(obj, i)) continue; target[i] = obj[i]; } return target; }\n\nfunction Octicon(_ref) {\n var Icon = _ref.icon,\n children = _ref.children,\n props = _objectWithoutProperties(_ref, ['icon', 'children']);\n\n // eslint-disable-next-line no-console\n console.warn(\n // eslint-disable-next-line github/unescaped-html-literal\n '<Octicon> is deprecated. Use icon components on their own instead (e.g. <Octicon icon={AlertIcon} /> → <AlertIcon />)');\n return typeof Icon === 'function' ? React.createElement(Icon, props) : React.cloneElement(React.Children.only(children), props);\n}\n\nexport default Octicon;\nexport { AlertIcon, ArchiveIcon, ArrowBothIcon, ArrowDownIcon, ArrowDownLeftIcon, ArrowDownRightIcon, ArrowLeftIcon, ArrowRightIcon, ArrowSwitchIcon, ArrowUpIcon, ArrowUpLeftIcon, ArrowUpRightIcon, BeakerIcon, BellIcon, BellFillIcon, BellSlashIcon, BlockedIcon, BoldIcon, BookIcon, BookmarkIcon, BookmarkFillIcon, BookmarkSlashIcon, BookmarkSlashFillIcon, BriefcaseIcon, BroadcastIcon, BrowserIcon, BugIcon, CalendarIcon, CheckIcon, CheckCircleIcon, CheckCircleFillIcon, ChecklistIcon, ChevronDownIcon, ChevronLeftIcon, ChevronRightIcon, ChevronUpIcon, CircleIcon, CircleSlashIcon, ClippyIcon, ClockIcon, CodeIcon, CodeReviewIcon, CodeSquareIcon, CodescanIcon, CodescanCheckmarkIcon, CodespacesIcon, CommentIcon, CommentDiscussionIcon, CommitIcon, ContainerIcon, CpuIcon, CreditCardIcon, CrossReferenceIcon, DashIcon, DatabaseIcon, DependabotIcon, DesktopDownloadIcon, DeviceCameraIcon, DeviceCameraVideoIcon, DeviceDesktopIcon, DeviceMobileIcon, DiffIcon, DiffAddedIcon, DiffIgnoredIcon, DiffModifiedIcon, DiffRemovedIcon, DiffRenamedIcon, DotIcon, DotFillIcon, DownloadIcon, DuplicateIcon, EllipsisIcon, EyeIcon, EyeClosedIcon, FileIcon, FileBadgeIcon, FileBinaryIcon, FileCodeIcon, FileDiffIcon, FileDirectoryIcon, FileDirectoryFillIcon, FileMediaIcon, FileSubmoduleIcon, FileSymlinkFileIcon, FileZipIcon, FilterIcon, FlameIcon, FoldIcon, FoldDownIcon, FoldUpIcon, GearIcon, GiftIcon, GitBranchIcon, GitCommitIcon, GitCompareIcon, GitForkIcon, GitMergeIcon, GitPullRequestIcon, GlobeIcon, GrabberIcon, GraphIcon, HeadingIcon, HeartIcon, HeartFillIcon, HistoryIcon, HomeIcon, HomeFillIcon, HorizontalRuleIcon, HourglassIcon, HubotIcon, ImageIcon, InboxIcon, InfinityIcon, InfoIcon, IssueClosedIcon, IssueOpenedIcon, IssueReopenedIcon, ItalicIcon, KebabHorizontalIcon, KeyIcon, LawIcon, LightBulbIcon, LinkIcon, LinkExternalIcon, ListOrderedIcon, ListUnorderedIcon, LocationIcon, LockIcon, LogoGistIcon, LogoGithubIcon, MailIcon, MarkGithubIcon, MarkdownIcon, MegaphoneIcon, MentionIcon, MeterIcon, MilestoneIcon, MirrorIcon, MoonIcon, MortarBoardIcon, MultiSelectIcon, MuteIcon, NoEntryIcon, NorthStarIcon, NoteIcon, NumberIcon, OctofaceIcon, OrganizationIcon, PackageIcon, PackageDependenciesIcon, PackageDependentsIcon, PaintbrushIcon, PaperAirplaneIcon, PencilIcon, PeopleIcon, PersonIcon, PersonAddIcon, PinIcon, PlayIcon, PlugIcon, PlusIcon, PlusCircleIcon, ProjectIcon, PulseIcon, QuestionIcon, QuoteIcon, ReplyIcon, RepoIcon, RepoCloneIcon, RepoForkedIcon, RepoPullIcon, RepoPushIcon, RepoTemplateIcon, ReportIcon, RocketIcon, RssIcon, RubyIcon, ScreenFullIcon, ScreenNormalIcon, SearchIcon, ServerIcon, ShareIcon, ShareAndroidIcon, ShieldIcon, ShieldCheckIcon, ShieldLockIcon, ShieldXIcon, SidebarCollapseIcon, SidebarExpandIcon, SignInIcon, SignOutIcon, SkipIcon, SmileyIcon, SquareIcon, SquareFillIcon, SquirrelIcon, StarIcon, StarFillIcon, StopIcon, StopwatchIcon, StrikethroughIcon, SunIcon, SyncIcon, TabIcon, TableIcon, TagIcon, TasklistIcon, TelescopeIcon, TerminalIcon, ThreeBarsIcon, ThumbsdownIcon, ThumbsupIcon, ToolsIcon, TrashIcon, TriangleDownIcon, TriangleLeftIcon, TriangleRightIcon, TriangleUpIcon, TypographyIcon, UnfoldIcon, UnlockIcon, UnmuteIcon, UnverifiedIcon, UploadIcon, VerifiedIcon, VersionsIcon, VideoIcon, WorkflowIcon, XIcon, XCircleIcon, XCircleFillIcon, ZapIcon };\n","import {XIcon} from '@primer/octicons-react'\nimport React, {forwardRef} from 'react'\nimport styled from 'styled-components'\nimport {COMMON, get, LAYOUT, SystemCommonProps, SystemLayoutProps} from '../constants'\nimport sx, {SxProp} from '../sx'\nimport {ComponentProps} from '../utils/types'\n\ntype StyledButtonProps = SystemCommonProps & SystemLayoutProps & SxProp\n\nconst StyledButton = styled.button<StyledButtonProps>`\n border: none;\n padding: 0;\n background: transparent;\n outline: none;\n cursor: pointer;\n border-radius: ${get('radii.2')};\n color: ${get('colors.text.secondary')};\n\n &:focus {\n box-shadow: ${get('shadows.btn.focusShadow')};\n }\n\n &:hover {\n color: ${get('colors.text.link')};\n }\n ${COMMON};\n ${LAYOUT};\n ${sx};\n`\n\nconst ButtonClose = forwardRef<HTMLButtonElement, ComponentProps<typeof StyledButton>>((props, ref) => {\n return (\n <StyledButton ref={ref} aria-label=\"Close\" {...props}>\n <XIcon />\n </StyledButton>\n )\n})\n\nexport type ButtonCloseProps = ComponentProps<typeof ButtonClose>\nexport default ButtonClose\n","export type AnchorAlignment = 'start' | 'center' | 'end'\n\n// When prettier supports template literal types...\n// export type AnchorSide = `${'inside' | 'outside'}-${'top' | 'bottom' | 'right' | 'left'}` | 'inside-center'\nexport type AnchorSide =\n | 'inside-top'\n | 'inside-bottom'\n | 'inside-left'\n | 'inside-right'\n | 'inside-center'\n | 'outside-top'\n | 'outside-bottom'\n | 'outside-left'\n | 'outside-right'\n\n/**\n * Settings that customize how a floating element is positioned\n * with respect to an anchor element.\n */\nexport interface PositionSettings {\n /**\n * Sets the side of the anchor element that the floating element should be\n * pinned to. This side is given by a string starting with either \"inside\" or\n * \"outside\", followed by a hyphen, followed by either \"top\", \"right\", \"bottom\",\n * or \"left\". Additionally, \"inside-center\" is an allowed value.\n *\n * The first part of this string, \"inside\" or \"outside\", determines whether the\n * floating element should be attempted to be placed \"inside\" the anchor element\n * or \"outside\" of it. Using \"inside\" is useful for making it appear that the\n * anchor _contains_ the floating element, and it can be used for implementing a\n * dialog that is centered on the screen. The \"outside\" value is more common and\n * can be used for tooltips, popovers, menus, etc.\n *\n * The second part of this string determines the _edge_ on the anchor element that\n * the floating element will be anchored to. If side is \"inside-center\", then\n * the floating element will be centered in the X-direction (while align is used\n * to position it in the Y-direction).\n * Note: \"outside-center\" is _not_ a valid value for this property.\n */\n side: AnchorSide\n\n /**\n * Determines how the floating element should align with the anchor element. If\n * set to \"start\", the floating element's first edge (top or left) will align\n * with the anchor element's first edge. If set to \"center\", the floating\n * element will be centered along the axis of the anchor edge. If set to \"end\",\n * the floating element's last edge will align with the anchor element's last edge.\n */\n align: AnchorAlignment\n\n /**\n * The number of pixels between the anchor edge and the floating element.\n *\n * Positive values move the floating element farther from the anchor element\n * (for outside positioning) or further inside the anchor element (for inside\n * positioning). Negative values have the opposite effect.\n */\n anchorOffset: number\n\n /**\n * An additional offset, in pixels, to move the floating element from\n * the aligning edge.\n *\n * Positive values move the floating element in the direction of center-\n * alignment. Negative values move the floating element away from center-\n * alignment. When align is \"center\", positive offsets move the floating\n * element right (top or bottom anchor side) or down (left or right\n * anchor side).\n */\n alignmentOffset: number\n\n /**\n * If false, when the above settings result in rendering the floating element\n * wholly or partially outside of the bounds of the containing element, attempt\n * to adjust the settings to prevent this. Only applies to \"outside\" positioning.\n *\n * First, attempt to flip to the opposite edge of the anchor if the floating\n * element is getting clipped in that direction. If flipping results in a\n * similar clipping, try moving to the adjacent sides.\n *\n * Once we find a side that does not clip the overlay in its own dimension,\n * check the rest of the sides to see if we need to adjust the alignment offset\n * to fit in other dimensions.\n *\n * If we try all four sides and get clipped each time, settle for overflowing\n * and use the \"bottom\" side, since the ability to scroll is most likely in\n * this direction.\n */\n allowOutOfBounds: boolean\n}\n\n// For each outside anchor position, list the order of alternate positions to try in\n// the event that the original position overflows. See comment on `allowOutOfBounds`\n// for a more detailed description.\nconst alternateOrders: Partial<Record<AnchorSide, [AnchorSide, AnchorSide, AnchorSide, AnchorSide]>> = {\n 'outside-top': ['outside-bottom', 'outside-right', 'outside-left', 'outside-bottom'],\n 'outside-bottom': ['outside-top', 'outside-right', 'outside-left', 'outside-bottom'],\n 'outside-left': ['outside-right', 'outside-bottom', 'outside-top', 'outside-bottom'],\n 'outside-right': ['outside-left', 'outside-bottom', 'outside-top', 'outside-bottom']\n}\n\ninterface Size {\n width: number\n height: number\n}\n\ninterface Position {\n top: number\n left: number\n}\n\nexport interface AnchorPosition {\n top: number\n left: number\n anchorSide: AnchorSide\n}\n\ninterface BoxPosition extends Size, Position {}\n\n/**\n * Given a floating element and an anchor element, return coordinates for the top-left\n * of the floating element in order to absolutely position it such that it appears\n * near the anchor element.\n *\n * @param floatingElement Element intended to be positioned near or within an anchor\n * @param anchorElement The element to serve as the position anchor\n * @param settings Settings to determine the rules for positioning the floating element\n * @returns {top: number, left: number} coordinates for the floating element\n */\nexport function getAnchoredPosition(\n floatingElement: Element,\n anchorElement: Element | DOMRect,\n settings: Partial<PositionSettings> = {}\n): AnchorPosition {\n const parentElement = getPositionedParent(floatingElement)\n const clippingRect = getClippingRect(parentElement)\n\n const parentElementStyle = getComputedStyle(parentElement)\n const parentElementRect = parentElement.getBoundingClientRect()\n const [borderTop, borderLeft] = [parentElementStyle.borderTopWidth, parentElementStyle.borderLeftWidth].map(\n v => parseInt(v, 10) || 0\n )\n const relativeRect = {\n top: parentElementRect.top + borderTop,\n left: parentElementRect.left + borderLeft\n }\n\n return pureCalculateAnchoredPosition(\n clippingRect,\n relativeRect,\n floatingElement.getBoundingClientRect(),\n anchorElement instanceof Element ? anchorElement.getBoundingClientRect() : anchorElement,\n getDefaultSettings(settings)\n )\n}\n\n/**\n * Returns the nearest proper HTMLElement parent of `element` whose\n * position is not \"static\", or document.body, whichever is closer\n */\nfunction getPositionedParent(element: Element) {\n let parentNode = element.parentNode\n while (parentNode !== null) {\n if (parentNode instanceof HTMLElement && getComputedStyle(parentNode).position !== 'static') {\n return parentNode\n }\n parentNode = parentNode.parentNode\n }\n return document.body\n}\n\n/**\n * Returns the rectangle (relative to the window) that will clip the given element\n * if it is rendered outside of its bounds.\n * @param element\n * @returns\n */\nfunction getClippingRect(element: Element): BoxPosition {\n let parentNode: typeof element.parentNode = element\n while (parentNode !== null) {\n if (parentNode === document.body) {\n break\n }\n const parentNodeStyle = getComputedStyle(parentNode as Element)\n if (parentNodeStyle.overflow !== 'visible') {\n break\n }\n parentNode = parentNode.parentNode\n }\n const clippingNode = parentNode === document.body || !(parentNode instanceof HTMLElement) ? document.body : parentNode\n\n const elemRect = clippingNode.getBoundingClientRect()\n const elemStyle = getComputedStyle(clippingNode)\n\n const [borderTop, borderLeft, borderRight, borderBottom] = [\n elemStyle.borderTopWidth,\n elemStyle.borderLeftWidth,\n elemStyle.borderRightWidth,\n elemStyle.borderBottomWidth\n ].map(v => parseInt(v, 10) || 0)\n\n return {\n top: elemRect.top + borderTop,\n left: elemRect.left + borderLeft,\n width: elemRect.width - borderRight - borderLeft,\n\n // If the clipping node is document.body, it can expand to the full height of the window\n height: Math.max(\n elemRect.height - borderTop - borderBottom,\n clippingNode === document.body ? window.innerHeight : -Infinity\n )\n }\n}\n\n// Default settings to position a floating element\nconst positionDefaults: PositionSettings = {\n side: 'outside-bottom',\n align: 'start',\n\n // note: the following default is not applied if side === \"inside-center\"\n anchorOffset: 4,\n\n // note: the following default is only applied if side starts with \"inside\"\n // and align is not center\n alignmentOffset: 4,\n\n allowOutOfBounds: false\n}\n\n/**\n * Compute a full PositionSettings object from the given partial PositionSettings object\n * by filling in with defaults where applicable.\n * @param settings Partial settings - any omissions will be defaulted\n */\nfunction getDefaultSettings(settings: Partial<PositionSettings> = {}): PositionSettings {\n const side = settings.side ?? positionDefaults.side\n const align = settings.align ?? positionDefaults.align\n return {\n side,\n align,\n // offsets always default to 0 if their respective side/alignment is centered\n anchorOffset: settings.anchorOffset ?? (side === 'inside-center' ? 0 : positionDefaults.anchorOffset),\n alignmentOffset:\n settings.alignmentOffset ??\n (align !== 'center' && side.startsWith('inside') ? positionDefaults.alignmentOffset : 0),\n allowOutOfBounds: settings.allowOutOfBounds ?? positionDefaults.allowOutOfBounds\n }\n}\n\n/**\n * Note: This is a pure function with no dependency on DOM APIs.\n * @see getAnchoredPosition\n * @see getDefaultSettings\n * @param viewportRect BoxPosition for the rectangle that will clip the floating element if it is\n * rendered outside of the boundsof the rectangle.\n * @param relativePosition Position for the closest positioned proper parent of the floating element\n * @param floatingRect WidthAndHeight for the floating element\n * @param anchorRect BoxPosition for the anchor element\n * @param PositionSettings to customize the calculated position for the floating element.\n */\nfunction pureCalculateAnchoredPosition(\n viewportRect: BoxPosition,\n relativePosition: Position,\n floatingRect: Size,\n anchorRect: BoxPosition,\n {side, align, allowOutOfBounds, anchorOffset, alignmentOffset}: PositionSettings\n): AnchorPosition {\n // Compute the relative viewport rect, to bring it into the same coordinate space as `pos`\n const relativeViewportRect: BoxPosition = {\n top: viewportRect.top - relativePosition.top,\n left: viewportRect.left - relativePosition.left,\n width: viewportRect.width,\n height: viewportRect.height\n }\n\n let pos = calculatePosition(floatingRect, anchorRect, side, align, anchorOffset, alignmentOffset)\n let anchorSide = side\n pos.top -= relativePosition.top\n pos.left -= relativePosition.left\n\n // Handle screen overflow\n if (!allowOutOfBounds) {\n const alternateOrder = alternateOrders[side]\n let positionAttempt = 0\n if (alternateOrder) {\n let prevSide = side\n\n // Try all the alternate sides until one does not overflow\n while (\n positionAttempt < alternateOrder.length &&\n shouldRecalculatePosition(prevSide, pos, relativeViewportRect, floatingRect)\n ) {\n const nextSide = alternateOrder[positionAttempt++]\n prevSide = nextSide\n\n // If we have cut off in the same dimension as the \"side\" option, try flipping to the opposite side.\n pos = calculatePosition(floatingRect, anchorRect, nextSide, align, anchorOffset, alignmentOffset)\n pos.top -= relativePosition.top\n pos.left -= relativePosition.left\n anchorSide = nextSide\n }\n }\n // At this point we've flipped the position if applicable. Now just nudge until it's on-screen.\n if (pos.top < relativeViewportRect.top) {\n pos.top = relativeViewportRect.top\n }\n if (pos.left < relativeViewportRect.left) {\n pos.left = relativeViewportRect.left\n }\n if (pos.left + floatingRect.width > viewportRect.width + relativeViewportRect.left) {\n pos.left = viewportRect.width + relativeViewportRect.left - floatingRect.width\n }\n // If we have exhausted all possible positions and none of them worked, we\n // say that overflowing the bottom of the screen is acceptable since it is\n // likely to be able to scroll.\n if (alternateOrder && positionAttempt < alternateOrder.length) {\n if (pos.top + floatingRect.height > viewportRect.height + relativeViewportRect.top) {\n pos.top = viewportRect.height + relativeViewportRect.top - floatingRect.height\n }\n }\n }\n\n return {...pos, anchorSide}\n}\n\n/**\n * Given a floating element and an anchor element, return coordinates for the\n * top-left of the floating element in order to absolutely position it such\n * that it appears near the anchor element.\n *\n * @param elementDimensions Dimensions of the floating element\n * @param anchorPosition Position of the anchor element\n * @param side Side of the anchor to position the floating element\n * @param align How to align the floating element with the anchor element\n * @param anchorOffset Absolute pixel offset for anchor positioning\n * @param alignmentOffset Absolute pixel offset for alignment\n * @returns {top: number, left: number} coordinates for the floating element\n */\nfunction calculatePosition(\n elementDimensions: Size,\n anchorPosition: BoxPosition,\n side: AnchorSide,\n align: AnchorAlignment,\n anchorOffset: number,\n alignmentOffset: number\n) {\n const anchorRight = anchorPosition.left + anchorPosition.width\n const anchorBottom = anchorPosition.top + anchorPosition.height\n let top = -1\n let left = -1\n if (side === 'outside-top') {\n top = anchorPosition.top - anchorOffset - elementDimensions.height\n } else if (side === 'outside-bottom') {\n top = anchorBottom + anchorOffset\n } else if (side === 'outside-left') {\n left = anchorPosition.left - anchorOffset - elementDimensions.width\n } else if (side === 'outside-right') {\n left = anchorRight + anchorOffset\n }\n\n if (side === 'outside-top' || side === 'outside-bottom') {\n if (align === 'start') {\n left = anchorPosition.left + alignmentOffset\n } else if (align === 'center') {\n left = anchorPosition.left - (elementDimensions.width - anchorPosition.width) / 2 + alignmentOffset\n } else {\n // end\n left = anchorRight - elementDimensions.width - alignmentOffset\n }\n }\n\n if (side === 'outside-left' || side === 'outside-right') {\n if (align === 'start') {\n top = anchorPosition.top + alignmentOffset\n } else if (align === 'center') {\n top = anchorPosition.top - (elementDimensions.height - anchorPosition.height) / 2 + alignmentOffset\n } else {\n // end\n top = anchorBottom - elementDimensions.height - alignmentOffset\n }\n }\n\n if (side === 'inside-top') {\n top = anchorPosition.top + anchorOffset\n } else if (side === 'inside-bottom') {\n top = anchorBottom - anchorOffset - elementDimensions.height\n } else if (side === 'inside-left') {\n left = anchorPosition.left + anchorOffset\n } else if (side === 'inside-right') {\n left = anchorRight - anchorOffset - elementDimensions.width\n } else if (side === 'inside-center') {\n left = (anchorRight + anchorPosition.left) / 2 - elementDimensions.width / 2 + anchorOffset\n }\n\n if (side === 'inside-top' || side === 'inside-bottom') {\n if (align === 'start') {\n left = anchorPosition.left + alignmentOffset\n } else if (align === 'center') {\n left = anchorPosition.left - (elementDimensions.width - anchorPosition.width) / 2 + alignmentOffset\n } else {\n // end\n left = anchorRight - elementDimensions.width - alignmentOffset\n }\n } else if (side === 'inside-left' || side === 'inside-right' || side === 'inside-center') {\n if (align === 'start') {\n top = anchorPosition.top + alignmentOffset\n } else if (align === 'center') {\n top = anchorPosition.top - (elementDimensions.height - anchorPosition.height) / 2 + alignmentOffset\n } else {\n // end\n top = anchorBottom - elementDimensions.height - alignmentOffset\n }\n }\n\n return {top, left}\n}\n\n/**\n * Determines if there is an overflow\n * @param side\n * @param currentPos\n * @param containerDimensions\n * @param elementDimensions\n */\nfunction shouldRecalculatePosition(\n side: AnchorSide,\n currentPos: Position,\n containerDimensions: BoxPosition,\n elementDimensions: Size\n) {\n if (side === 'outside-top' || side === 'outside-bottom') {\n return (\n currentPos.top < containerDimensions.top ||\n currentPos.top + elementDimensions.height > containerDimensions.height + containerDimensions.top\n )\n } else {\n return (\n currentPos.left < containerDimensions.left ||\n currentPos.left + elementDimensions.width > containerDimensions.width + containerDimensions.left\n )\n }\n}\n","import React from 'react'\nimport {PositionSettings, getAnchoredPosition, AnchorPosition} from '../behaviors/anchoredPosition'\nimport {useProvidedRefOrCreate} from './useProvidedRefOrCreate'\nimport {useResizeObserver} from './useResizeObserver'\n\nexport interface AnchoredPositionHookSettings extends Partial<PositionSettings> {\n floatingElementRef?: React.RefObject<Element>\n anchorElementRef?: React.RefObject<Element>\n}\n\n/**\n * Calculates the top and left values for an absolutely-positioned floating element\n * to be anchored to some anchor element. Returns refs for the floating element\n * and the anchor element, along with the position.\n * @param settings Settings for calculating the anchored position.\n * @param dependencies Dependencies to determine when to re-calculate the position.\n * @returns An object of {top: number, left: number} to absolutely-position the\n * floating element.\n */\nexport function useAnchoredPosition(\n settings?: AnchoredPositionHookSettings,\n dependencies: React.DependencyList = []\n): {\n floatingElementRef: React.RefObject<Element>\n anchorElementRef: React.RefObject<Element>\n position: AnchorPosition | undefined\n} {\n const floatingElementRef = useProvidedRefOrCreate(settings?.floatingElementRef)\n const anchorElementRef = useProvidedRefOrCreate(settings?.anchorElementRef)\n const [position, setPosition] = React.useState<AnchorPosition | undefined>(undefined)\n\n const updatePosition = React.useCallback(\n () => {\n if (floatingElementRef.current instanceof Element && anchorElementRef.current instanceof Element) {\n setPosition(getAnchoredPosition(floatingElementRef.current, anchorElementRef.current, settings))\n } else {\n setPosition(undefined)\n }\n },\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [floatingElementRef, anchorElementRef, ...dependencies]\n )\n\n React.useLayoutEffect(updatePosition, [updatePosition])\n\n useResizeObserver(updatePosition)\n\n return {\n floatingElementRef,\n anchorElementRef,\n position\n }\n}\n","import React from 'react'\n\nexport function useResizeObserver(callback: () => void) {\n React.useLayoutEffect(() => {\n const observer = new window.ResizeObserver(() => callback())\n observer.observe(document.documentElement)\n return () => {\n observer.disconnect()\n }\n }, [callback])\n}\n","import {isTabbable, iterateFocusableElements} from '../utils/iterateFocusableElements'\nimport {polyfill as eventListenerSignalPolyfill} from '../polyfills/eventListenerSignal'\n\neventListenerSignalPolyfill()\n\ninterface FocusTrapMetadata {\n container: HTMLElement\n controller: AbortController\n initialFocus?: HTMLElement\n originalSignal: AbortSignal\n}\n\nconst suspendedTrapStack: FocusTrapMetadata[] = []\nlet activeTrap: FocusTrapMetadata | undefined = undefined\n\nfunction tryReactivate() {\n const trapToReactivate = suspendedTrapStack.pop()\n if (trapToReactivate) {\n focusTrap(trapToReactivate.container, trapToReactivate.initialFocus, trapToReactivate.originalSignal)\n }\n}\n\n// @todo If AbortController.prototype.follow is ever implemented, that\n// could replace this function. @see https://github.com/whatwg/dom/issues/920\nfunction followSignal(signal: AbortSignal): AbortController {\n const controller = new AbortController()\n signal.addEventListener('abort', () => {\n controller.abort()\n })\n return controller\n}\n\n/**\n * Returns the first focusable child of `container`. If `lastChild` is true,\n * returns the last focusable child of `container`.\n * @param container\n * @param lastChild\n */\nfunction getFocusableChild(container: HTMLElement, lastChild = false) {\n return iterateFocusableElements(container, {reverse: lastChild, strict: true, onlyTabbable: true}).next().value\n}\n\n/**\n * Traps focus within the given container.\n * @param container The container in which to trap focus\n * @returns AbortController - call `.abort()` to disable the focus trap\n */\nexport function focusTrap(container: HTMLElement, initialFocus?: HTMLElement): AbortController\n\n/**\n * Traps focus within the given container.\n * @param container The container in which to trap focus\n * @param abortSignal An AbortSignal to control the focus trap.\n */\nexport function focusTrap(container: HTMLElement, initialFocus: HTMLElement | undefined, abortSignal: AbortSignal): void\nexport function focusTrap(\n container: HTMLElement,\n initialFocus?: HTMLElement,\n abortSignal?: AbortSignal\n): AbortController | void {\n // Set up an abort controller if a signal was not passed in\n const controller = new AbortController()\n const signal = abortSignal ?? controller.signal\n\n container.setAttribute('data-focus-trap', 'active')\n let lastFocusedChild: HTMLElement | undefined = undefined\n\n // Ensure focus remains in the trap zone by checking that a given recently-focused\n // element is inside the trap zone. If it isn't, redirect focus to a suitable\n // element within the trap zone. If need to redirect focus and a suitable element\n // is not found, focus the container.\n function ensureTrapZoneHasFocus(focusedElement: EventTarget | null) {\n if (focusedElement instanceof HTMLElement && document.contains(container)) {\n if (container.contains(focusedElement)) {\n // If a child of the trap zone was focused, remember it\n lastFocusedChild = focusedElement\n return\n } else {\n if (lastFocusedChild && isTabbable(lastFocusedChild) && container.contains(lastFocusedChild)) {\n lastFocusedChild.focus()\n return\n } else if (initialFocus && container.contains(initialFocus)) {\n initialFocus.focus()\n return\n } else {\n // Ensure the container is focusable:\n // - Either the container already has a `tabIndex`\n // - Or provide a temporary `tabIndex`\n const containerNeedsTemporaryTabIndex = container.getAttribute('tabindex') === null\n if (containerNeedsTemporaryTabIndex) {\n container.setAttribute('tabindex', '-1')\n }\n // Focus the container.\n container.focus()\n // If a temporary `tabIndex` was provided, remove it.\n if (containerNeedsTemporaryTabIndex) {\n // Once focus has moved from the container to a child within the FocusTrap,\n // the container can be made un-refocusable by removing `tabIndex`.\n container.addEventListener('blur', () => container.removeAttribute('tabindex'), {once: true})\n // NB: If `tabIndex` was removed *before* `blur`, then certain browsers (e.g. Chrome)\n // would consider `body` the `activeElement`, and as a result, keyboard navigation\n // between children would break, since `body` is outside the `FocusTrap`.\n }\n return\n }\n }\n }\n }\n\n const wrappingController = followSignal(signal)\n\n container.addEventListener(\n 'keydown',\n event => {\n if (event.key !== 'Tab' || event.defaultPrevented) {\n return\n }\n\n const {target} = event\n const firstFocusableChild = getFocusableChild(container)\n const lastFocusableChild = getFocusableChild(container, true)\n if (target === firstFocusableChild && event.shiftKey) {\n event.preventDefault()\n lastFocusableChild?.focus()\n } else if (target === lastFocusableChild && !event.shiftKey) {\n event.preventDefault()\n firstFocusableChild?.focus()\n }\n },\n {signal: wrappingController.signal}\n )\n\n if (activeTrap) {\n const suspendedTrap = activeTrap\n activeTrap.container.setAttribute('data-focus-trap', 'suspended')\n activeTrap.controller.abort()\n suspendedTrapStack.push(suspendedTrap)\n }\n\n // When this trap is canceled, either by the user or by us for suspension\n wrappingController.signal.addEventListener('abort', () => {\n activeTrap = undefined\n })\n\n // Only when user-canceled\n signal.addEventListener('abort', () => {\n container.removeAttribute('data-focus-trap')\n const suspendedTrapIndex = suspendedTrapStack.findIndex(t => t.container === container)\n if (suspendedTrapIndex >= 0) {\n suspendedTrapStack.splice(suspendedTrapIndex, 1)\n }\n tryReactivate()\n })\n\n // Prevent focus leaving the trap container\n document.addEventListener(\n 'focus',\n event => {\n ensureTrapZoneHasFocus(event.target)\n },\n // use capture to ensure we get all events. focus events do not bubble\n {signal: wrappingController.signal, capture: true}\n )\n\n // focus the first element\n ensureTrapZoneHasFocus(document.activeElement)\n\n activeTrap = {\n container,\n controller: wrappingController,\n initialFocus,\n originalSignal: signal\n }\n\n // If we are activating a focus trap for a container that was previously\n // suspended, just remove it from the suspended list.\n const suspendedTrapIndex = suspendedTrapStack.findIndex(t => t.container === container)\n if (suspendedTrapIndex >= 0) {\n suspendedTrapStack.splice(suspendedTrapIndex, 1)\n }\n if (!abortSignal) {\n return controller\n }\n}\n","import React from 'react'\nimport {focusTrap} from '../behaviors/focusTrap'\nimport {useProvidedRefOrCreate} from './useProvidedRefOrCreate'\n\nexport interface FocusTrapHookSettings {\n /**\n * Ref that will be used for the trapping container. If not provided, one will\n * be created by this hook and returned.\n */\n containerRef?: React.RefObject<HTMLElement>\n\n /**\n * Ref for the element that should receive focus when the focus trap is first enabled. If\n * not provided, one will be created by this hook and returned. Its use is optional.\n */\n initialFocusRef?: React.RefObject<HTMLElement>\n\n /**\n * Set to true to disable the focus trap and clean up listeners. Can be re-enabled at\n * any time.\n */\n disabled?: boolean\n\n /**\n * If true, when this focus trap is cleaned up, restore focus to the element that had\n * focus immediately before the focus trap was enabled. (Default: false)\n */\n restoreFocusOnCleanUp?: boolean\n}\n\n/**\n * Hook used to trap focus inside a container. Returns a ref that can be added to the container\n * that should trap focus.\n * @param settings {FocusTrapHookSettings}\n */\nexport function useFocusTrap(\n settings?: FocusTrapHookSettings,\n dependencies: React.DependencyList = []\n): {containerRef: React.RefObject<HTMLElement>; initialFocusRef: React.RefObject<HTMLElement>} {\n const containerRef = useProvidedRefOrCreate(settings?.containerRef)\n const initialFocusRef = useProvidedRefOrCreate(settings?.initialFocusRef)\n const disabled = settings?.disabled\n const abortController = React.useRef<AbortController>()\n const previousFocusedElement = React.useRef<Element | null>(null)\n\n // If we are enabling a focus trap and haven't already stored the previously focused element\n // go ahead an do that so we can restore later when the trap is disabled.\n if (!previousFocusedElement.current && !settings?.disabled) {\n previousFocusedElement.current = document.activeElement\n }\n\n // This function removes the event listeners that enable the focus trap and restores focus\n // to the previously-focused element (if necessary).\n function disableTrap() {\n abortController.current?.abort()\n if (settings?.restoreFocusOnCleanUp && previousFocusedElement.current instanceof HTMLElement) {\n previousFocusedElement.current.focus()\n previousFocusedElement.current = null\n }\n }\n\n React.useEffect(\n () => {\n if (containerRef.current instanceof HTMLElement) {\n if (!disabled) {\n abortController.current = focusTrap(containerRef.current, initialFocusRef.current ?? undefined)\n return () => {\n disableTrap()\n }\n } else {\n disableTrap()\n }\n }\n },\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [containerRef, initialFocusRef, disabled, ...dependencies]\n )\n\n return {containerRef, initialFocusRef}\n}\n","import {IconProps} from '@primer/octicons-react'\nimport React from 'react'\nimport styled from 'styled-components'\nimport {COMMON, SystemCommonProps} from './constants'\nimport sx, {SxProp} from './sx'\nimport {ComponentProps} from './utils/types'\n\ntype OcticonProps = {icon: React.ElementType} & IconProps\n\nfunction Octicon({icon: IconComponent, ...rest}: OcticonProps) {\n return <IconComponent {...rest} />\n}\n\nconst StyledOcticon = styled(Octicon)<SystemCommonProps & SxProp>`\n ${COMMON}\n ${sx}\n`\n\nStyledOcticon.defaultProps = {\n size: 16\n}\n\nexport type StyledOcticonProps = ComponentProps<typeof StyledOcticon>\nexport default StyledOcticon\n","import React, {useEffect} from 'react'\nimport {focusZone, FocusZoneSettings} from '../behaviors/focusZone'\nimport {useProvidedRefOrCreate} from './useProvidedRefOrCreate'\n\nexport interface FocusZoneHookSettings extends Omit<FocusZoneSettings, 'activeDescendantControl'> {\n /**\n * Optional ref for the container that holds all elements participating in arrow key focus.\n * If one is not passed, we will create one for you and return it from the hook.\n */\n containerRef?: React.RefObject<HTMLElement>\n\n /**\n * If using the \"active descendant\" focus pattern, pass `true` or a ref to the controlling\n * element. If a ref object is not passed, we will create one for you.\n */\n activeDescendantFocus?: boolean | React.RefObject<HTMLElement>\n\n /**\n * Set to true to disable the focus zone and clean up listeners. Can be re-enabled at\n * any time.\n */\n disabled?: boolean\n}\n\nexport function useFocusZone(\n settings: FocusZoneHookSettings = {},\n dependencies: React.DependencyList = []\n): {containerRef: React.RefObject<HTMLElement>; activeDescendantControlRef: React.RefObject<HTMLElement>} {\n const containerRef = useProvidedRefOrCreate(settings.containerRef)\n const useActiveDescendant = !!settings.activeDescendantFocus\n const passedActiveDescendantRef =\n typeof settings.activeDescendantFocus === 'boolean' || !settings.activeDescendantFocus\n ? undefined\n : settings.activeDescendantFocus\n const activeDescendantControlRef = useProvidedRefOrCreate(passedActiveDescendantRef)\n const disabled = settings.disabled\n const abortController = React.useRef<AbortController>()\n\n useEffect(\n () => {\n if (\n containerRef.current instanceof HTMLElement &&\n (!useActiveDescendant || activeDescendantControlRef.current instanceof HTMLElement)\n ) {\n if (!disabled) {\n const vanillaSettings: FocusZoneSettings = {\n ...settings,\n activeDescendantControl: activeDescendantControlRef.current ?? undefined\n }\n abortController.current = focusZone(containerRef.current, vanillaSettings)\n return () => {\n abortController.current?.abort()\n }\n } else {\n abortController.current?.abort()\n }\n }\n },\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [disabled, ...dependencies]\n )\n\n return {containerRef, activeDescendantControlRef}\n}\n","import React from 'react'\nimport {createPortal} from 'react-dom'\n\nconst PRIMER_PORTAL_ROOT_ID = '__primerPortalRoot__'\nconst DEFAULT_PORTAL_CONTAINER_NAME = '__default__'\n\nconst portalRootRegistry: Partial<Record<string, Element>> = {}\n\n/**\n * Register a container to serve as a portal root.\n * @param root The element that will be the root for portals created in this container\n * @param name The name of the container, to be used with the `containerName` prop on the Portal Component.\n * If name is not specified, registers the default portal root.\n */\nexport function registerPortalRoot(root: Element, name = DEFAULT_PORTAL_CONTAINER_NAME): void {\n portalRootRegistry[name] = root\n}\n\n// Ensures that a default portal root exists and is registered. If a DOM element exists\n// with id __primerPortalRoot__, allow that element to serve as the default portal root.\n// Otherwise, create that element and attach it to the end of document.body.\nfunction ensureDefaultPortal() {\n const existingDefaultPortalContainer = portalRootRegistry[DEFAULT_PORTAL_CONTAINER_NAME]\n if (!existingDefaultPortalContainer || !document.body.contains(existingDefaultPortalContainer)) {\n let defaultPortalContainer = document.getElementById(PRIMER_PORTAL_ROOT_ID)\n if (!(defaultPortalContainer instanceof Element)) {\n defaultPortalContainer = document.createElement('div')\n defaultPortalContainer.setAttribute('id', PRIMER_PORTAL_ROOT_ID)\n defaultPortalContainer.style.position = 'absolute'\n defaultPortalContainer.style.top = '0'\n defaultPortalContainer.style.left = '0'\n const suitablePortalRoot = document.querySelector('[data-portal-root]')\n if (suitablePortalRoot) {\n suitablePortalRoot.appendChild(defaultPortalContainer)\n } else {\n document.body.appendChild(defaultPortalContainer)\n }\n }\n\n registerPortalRoot(defaultPortalContainer)\n }\n}\n\nexport interface PortalProps {\n /**\n * Called when this portal is added to the DOM\n */\n onMount?: () => void\n\n /**\n * Optional. Mount this portal at the container specified\n * by this name. The container must be previously registered\n * with `registerPortal`.\n */\n containerName?: string\n}\n\n/**\n * Creates a React Portal, placing all children in a separate physical DOM root node.\n * @see https://reactjs.org/docs/portals.html\n */\nexport const Portal: React.FC<PortalProps> = ({children, onMount, containerName: _containerName}) => {\n const hostElement = document.createElement('div')\n\n // Portaled content should get their own stacking context so they don't interfere\n // with each other in unexpected ways. One should never find themselves tempted\n // to change the zIndex to a value other than \"1\".\n hostElement.style.position = 'relative'\n hostElement.style.zIndex = '1'\n const elementRef = React.useRef(hostElement)\n\n React.useLayoutEffect(() => {\n let containerName = _containerName\n if (containerName === undefined) {\n containerName = DEFAULT_PORTAL_CONTAINER_NAME\n ensureDefaultPortal()\n }\n const parentElement = portalRootRegistry[containerName]\n\n if (!parentElement) {\n throw new Error(\n `Portal container '${_containerName}' is not yet registered. Container must be registered with registerPortal before use.`\n )\n }\n const element = elementRef.current\n parentElement.appendChild(element)\n onMount?.()\n\n return () => {\n parentElement.removeChild(element)\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [elementRef])\n\n return createPortal(children, elementRef.current)\n}\n","import React, {ForwardedRef, useRef} from 'react'\n\n/**\n * Creates a ref by combining multiple constituent refs. The ref returned by this hook\n * should be passed as the ref for the element that needs to be shared. This is\n * particularly useful when you are using `React.forwardRef` in your component but you\n * also want to be able to access the local element. This is a small anti-pattern,\n * though, as it breaks encapsulation.\n * @param refs\n */\nexport function useCombinedRefs<T>(...refs: (ForwardedRef<T> | null | undefined)[]) {\n const combinedRef = useRef<T | null>(null)\n\n React.useLayoutEffect(() => {\n function setRefs(current: T | null = null) {\n for (const ref of refs) {\n if (!ref) {\n return\n }\n if (typeof ref === 'function') {\n ref(current)\n } else {\n ref.current = current\n }\n }\n }\n\n setRefs(combinedRef.current)\n\n return () => {\n // ensure the refs get updated on unmount\n // eslint-disable-next-line react-hooks/exhaustive-deps\n setRefs(combinedRef.current)\n }\n\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [...refs, combinedRef.current])\n\n return combinedRef\n}\n","import React, {useCallback, useEffect, useRef, useState} from 'react'\nimport styled from 'styled-components'\nimport Button, {ButtonPrimary, ButtonDanger, ButtonProps} from '../Button'\nimport Box from '../Box'\nimport {get, SystemCommonProps, SystemPositionProps, COMMON, POSITION} from '../constants'\nimport {useOnEscapePress} from '../hooks'\nimport {useFocusTrap} from '../hooks/useFocusTrap'\nimport sx, {SxProp} from '../sx'\nimport StyledOcticon from '../StyledOcticon'\nimport {XIcon} from '@primer/octicons-react'\nimport {useFocusZone} from '../hooks/useFocusZone'\nimport {FocusKeys} from '../behaviors/focusZone'\nimport Portal from '../Portal'\nimport {uniqueId} from '../utils/uniqueId'\nimport {useCombinedRefs} from '../hooks/useCombinedRefs'\n\nconst ANIMATION_DURATION = '200ms'\n\n/**\n * Props that characterize a button to be rendered into the footer of\n * a Dialog.\n */\nexport type DialogButtonProps = ButtonProps & {\n /**\n * The type of Button element to use\n */\n buttonType?: 'normal' | 'primary' | 'danger'\n\n /**\n * The Button's inner text\n */\n content: React.ReactNode\n\n /**\n * If true, and if this is the only button with autoFocus set to true,\n * focus this button automatically when the dialog appears.\n */\n autoFocus?: boolean\n}\n\n/**\n * Props to customize the rendering of the Dialog.\n */\nexport interface DialogProps {\n /**\n * Title of the Dialog. Also serves as the aria-label for this Dialog.\n */\n title?: React.ReactNode\n\n /**\n * The Dialog's subtitle. Optional. Rendered below the title in smaller\n * type with less contrast. Also serves as the aria-describedby for this\n * Dialog.\n */\n subtitle?: React.ReactNode\n\n /**\n * Provide a custom renderer for the dialog header. This content is\n * rendered directly into the dialog body area, full bleed from edge\n * to edge, top to the start of the body element.\n *\n * Warning: using a custom renderer may violate Primer UX principles.\n */\n renderHeader?: React.FunctionComponent<DialogHeaderProps>\n\n /**\n * Provide a custom render function for the dialog body. This content is\n * rendered directly into the dialog body area, full bleed from edge to\n * edge, header to footer.\n *\n * Warning: using a custom renderer may violate Primer UX principles.\n */\n renderBody?: React.FunctionComponent<DialogProps>\n\n /**\n * Provide a custom render function for the dialog footer. This content is\n * rendered directly into the dialog footer area, full bleed from edge to\n * edge, end of the body element to bottom.\n *\n * Warning: using a custom renderer may violate Primer UX principles.\n */\n renderFooter?: React.FunctionComponent<DialogProps>\n\n /**\n * Specifies the buttons to be rendered in the Dialog footer.\n */\n footerButtons?: DialogButtonProps[]\n\n /**\n * This method is invoked when a gesture to close the dialog is used (either\n * an Escape key press or clicking the \"X\" in the top-right corner). The\n * gesture argument indicates the gesture that was used to close the dialog\n * (either 'close-button' or 'escape').\n */\n onClose: (gesture: 'close-button' | 'escape') => void\n\n /**\n * Default: \"dialog\". The ARIA role to assign to this dialog.\n * @see https://www.w3.org/TR/wai-aria-practices-1.1/#dialog_modal\n * @see https://www.w3.org/TR/wai-aria-practices-1.1/#alertdialog\n */\n role?: 'dialog' | 'alertdialog'\n\n /**\n * The width of the dialog.\n * small: 296px\n * medium: 320px\n * large: 480px\n * xlarge: 640px\n */\n width?: DialogWidth\n\n /**\n * The height of the dialog.\n * small: 296x480\n * large: 480x640\n * auto: variable based on contents\n */\n height?: DialogHeight\n}\n\n/**\n * Props that are passed to a component that serves as a dialog header\n */\nexport interface DialogHeaderProps extends DialogProps {\n /**\n * ID of the element that will be used as the `aria-labelledby` attribute on the\n * dialog. This ID should be set to the element that renders the dialog's title.\n */\n dialogLabelId: string\n\n /**\n * ID of the element that will be used as the `aria-describedby` attribute on the\n * dialog. This ID should be set to the element that renders the dialog's subtitle.\n */\n dialogDescriptionId: string\n}\n\nconst Backdrop = styled('div')`\n position: fixed;\n top: 0;\n left: 0;\n bottom: 0;\n right: 0;\n display: flex;\n align-items: center;\n justify-content: center;\n background-color: rgba(0, 0, 0, 0.4);\n animation: dialog-backdrop-appear ${ANIMATION_DURATION} ${get('animation.easeOutCubic')};\n\n @keyframes dialog-backdrop-appear {\n 0% {\n opacity: 0;\n }\n 100% {\n opacity: 1;\n }\n }\n`\n\nconst heightMap = {\n small: '480px',\n large: '640px',\n auto: 'auto'\n} as const\n\nconst widthMap = {\n small: '296px',\n medium: '320px',\n large: '480px',\n xlarge: '640px'\n} as const\n\nexport type DialogWidth = keyof typeof widthMap\nexport type DialogHeight = keyof typeof heightMap\n\ninterface StyledDialogProps {\n width?: DialogWidth\n height?: DialogHeight\n}\n\nconst StyledDialog = styled.div<StyledDialogProps & SystemCommonProps & SystemPositionProps & SxProp>`\n display: flex;\n flex-direction: column;\n background-color: ${get('colors.bg.overlay')};\n box-shadow: ${get('shadows.overlay.shadow')};\n min-width: 296px;\n max-width: calc(100vw - 64px);\n max-height: calc(100vh - 64px);\n width: ${props => widthMap[props.width ?? ('xlarge' as const)]};\n height: ${props => heightMap[props.height ?? ('auto' as const)]};\n border-radius: 12px;\n opacity: 1;\n animation: overlay--dialog-appear ${ANIMATION_DURATION} ${get('animation.easeOutCubic')};\n\n @keyframes overlay--dialog-appear {\n 0% {\n opacity: 0;\n transform: scale(0.5);\n }\n 100% {\n opacity: 1;\n transform: scale(1);\n }\n }\n\n ${COMMON};\n ${POSITION};\n ${sx};\n`\n\nconst DefaultHeader: React.FC<DialogHeaderProps> = ({dialogLabelId, title, subtitle, dialogDescriptionId, onClose}) => {\n const onCloseClick = useCallback(() => {\n onClose('close-button')\n }, [onClose])\n return (\n <Dialog.Header>\n <Box display=\"flex\">\n <Box display=\"flex\" px={2} py=\"6px\" flexDirection=\"column\" flexGrow={1}>\n <Dialog.Title id={dialogLabelId}>{title ?? 'Dialog'}</Dialog.Title>\n {subtitle && <Dialog.Subtitle id={dialogDescriptionId}>{subtitle}</Dialog.Subtitle>}\n </Box>\n <Dialog.CloseButton onClose={onCloseClick} />\n </Box>\n </Dialog.Header>\n )\n}\nconst DefaultBody: React.FC<DialogProps> = ({children}) => {\n return <Dialog.Body>{children}</Dialog.Body>\n}\nconst DefaultFooter: React.FC<DialogProps> = ({footerButtons}) => {\n const {containerRef: footerRef} = useFocusZone({\n bindKeys: FocusKeys.ArrowHorizontal | FocusKeys.Tab,\n focusInStrategy: 'closest'\n })\n return footerButtons ? (\n <Dialog.Footer ref={footerRef as React.RefObject<HTMLDivElement>}>\n <Dialog.Buttons buttons={footerButtons} />\n </Dialog.Footer>\n ) : null\n}\n\nconst _Dialog = React.forwardRef<HTMLDivElement, React.PropsWithChildren<DialogProps>>((props, forwardedRef) => {\n const {\n title = 'Dialog',\n subtitle = '',\n renderHeader,\n renderBody,\n renderFooter,\n onClose,\n role = 'dialog',\n width = 'xlarge',\n height = 'auto'\n } = props\n const dialogLabelId = uniqueId()\n const dialogDescriptionId = uniqueId()\n const defaultedProps = {...props, title, subtitle, role, dialogLabelId, dialogDescriptionId}\n\n const dialogRef = useRef<HTMLDivElement>(null)\n const combinedRef = useCombinedRefs(dialogRef, forwardedRef)\n const backdropRef = useRef<HTMLDivElement>(null)\n useFocusTrap({containerRef: dialogRef, restoreFocusOnCleanUp: true})\n\n useOnEscapePress(\n (event: KeyboardEvent) => {\n onClose('escape')\n event.preventDefault()\n },\n [onClose]\n )\n\n const header = (renderHeader ?? DefaultHeader)(defaultedProps)\n const body = (renderBody ?? DefaultBody)(defaultedProps)\n const footer = (renderFooter ?? DefaultFooter)(defaultedProps)\n\n return (\n <>\n <Portal>\n <Backdrop ref={backdropRef}>\n <StyledDialog\n width={width}\n height={height}\n ref={combinedRef}\n role={role}\n aria-labelledby={dialogLabelId}\n aria-describedby={dialogDescriptionId}\n >\n {header}\n {body}\n {footer}\n </StyledDialog>\n </Backdrop>\n </Portal>\n </>\n )\n})\n_Dialog.displayName = 'Dialog'\n\nconst Header = styled(Box).attrs({as: 'header'})`\n box-shadow: 0 1px 0 ${get('colors.border.overlay')};\n padding: ${get('space.2')};\n z-index: 1;\n flex-shrink: 0;\n`\nconst Title = styled(Box)`\n font-size: ${get('fontSizes.1')};\n font-weight: ${get('fontWeights.bold')};\n`\nconst Subtitle = styled(Box)`\n font-size: ${get('fontSizes.0')};\n margin-top: ${get('space.1')};\n color: ${get('colors.text.tertiary')};\n`\nconst Body = styled(Box)`\n flex-grow: 1;\n overflow: auto;\n padding: ${get('space.3')};\n`\nconst Footer = styled(Box).attrs({as: 'footer'})`\n box-shadow: 0 -1px 0 ${get('colors.border.overlay')};\n padding: ${get('space.3')};\n display: flex;\n flex-flow: wrap;\n justify-content: flex-end;\n z-index: 1;\n flex-shrink: 0;\n\n button {\n margin-left: ${get('space.1')};\n &:first-child {\n margin-left: 0;\n }\n }\n`\nconst buttonTypes = {\n normal: Button,\n primary: ButtonPrimary,\n danger: ButtonDanger\n}\nconst Buttons: React.FC<{buttons: DialogButtonProps[]}> = ({buttons}) => {\n const autoFocusRef = useRef<HTMLButtonElement>(null)\n let autoFocusCount = 0\n const [hasRendered, setHasRendered] = useState(0)\n useEffect(() => {\n // hack to work around dialogs originating from other focus traps.\n if (hasRendered === 1) {\n autoFocusRef.current?.focus()\n } else {\n setHasRendered(hasRendered + 1)\n }\n }, [hasRendered])\n\n return (\n <>\n {buttons.map((dialogButtonProps, index) => {\n const {content, buttonType = 'normal', autoFocus = false, ...buttonProps} = dialogButtonProps\n const ButtonElement = buttonTypes[buttonType]\n return (\n <ButtonElement\n key={index}\n {...buttonProps}\n ref={autoFocus && autoFocusCount === 0 ? (autoFocusCount++, autoFocusRef) : null}\n >\n {content}\n </ButtonElement>\n )\n })}\n </>\n )\n}\nconst DialogCloseButton = styled(Button)`\n border-radius: 4px;\n background: transparent;\n border: 0;\n vertical-align: middle;\n color: ${get('colors.text.secondary')};\n padding: ${get('space.2')};\n align-self: flex-start;\n line-height: normal;\n box-shadow: none;\n`\nconst CloseButton: React.FC<{onClose: () => void}> = ({onClose}) => {\n return (\n <DialogCloseButton aria-label=\"Close\" onClick={onClose}>\n <StyledOcticon icon={XIcon} />\n </DialogCloseButton>\n )\n}\n\n/**\n * A dialog is a type of overlay that can be used for confirming actions, asking\n * for disambiguation, and presenting small forms. They generally allow the user\n * to focus on a quick task without having to navigate to a different page.\n *\n * Dialogs appear in the page after a direct user interaction. Don't show dialogs\n * on page load or as system alerts.\n *\n * Dialogs appear centered in the page, with a visible backdrop that dims the rest\n * of the window for focus.\n *\n * All dialogs have a title and a close button.\n *\n * Dialogs are modal. Dialogs can be dismissed by clicking on the close button,\n * pressing the escape key, or by interacting with another button in the dialog.\n * To avoid losing information and missing important messages, clicking outside\n * of the dialog will not close it.\n *\n * The sub components provided (e.g. Header, Title, etc.) are available for custom\n * renderers only. They are not intended to be used otherwise.\n */\nexport const Dialog = Object.assign(_Dialog, {\n Header,\n Title,\n Subtitle,\n Body,\n Footer,\n Buttons,\n CloseButton\n})\n","import React, {useCallback} from 'react'\nimport ReactDOM from 'react-dom'\nimport styled from 'styled-components'\nimport Box from '../Box'\nimport {ThemeProvider, useTheme, ThemeProviderProps} from '../ThemeProvider'\nimport {FocusKeys} from '../behaviors/focusZone'\nimport {get} from '../constants'\nimport {Dialog, DialogProps, DialogHeaderProps, DialogButtonProps} from '../Dialog/Dialog'\nimport {useFocusZone} from '../hooks/useFocusZone'\n\n/**\n * Props to customize the ConfirmationDialog.\n */\nexport interface ConfirmationDialogProps {\n /**\n * Required. This callback is invoked when a gesture to close the dialog\n * is performed. The first argument indicates the gesture.\n */\n onClose: (gesture: 'confirm' | 'cancel' | 'close-button' | 'cancel' | 'escape') => void\n\n /**\n * Required. The title of the ConfirmationDialog. This is usually a brief\n * question.\n */\n title: React.ReactNode\n\n /**\n * The text to use for the cancel button. Default: \"Cancel\".\n */\n cancelButtonContent?: React.ReactNode\n\n /**\n * The text to use for the confirm button. Default: \"OK\".\n */\n confirmButtonContent?: React.ReactNode\n\n /**\n * The type of button to use for the confirm button. Default: Button.\n */\n confirmButtonType?: 'normal' | 'primary' | 'danger'\n}\n\nconst StyledConfirmationHeader = styled.header`\n padding: ${get('space.2')};\n display: flex;\n flex-direction: row;\n`\nconst StyledTitle = styled(Box)`\n font-size: ${get('fontSizes.3')};\n font-weight: ${get('fontWeights.bold')};\n padding: 6px ${get('space.2')};\n flex-grow: 1;\n`\nconst ConfirmationHeader: React.FC<DialogHeaderProps> = ({title, onClose, dialogLabelId}) => {\n const onCloseClick = useCallback(() => {\n onClose('close-button')\n }, [onClose])\n return (\n <StyledConfirmationHeader>\n <StyledTitle id={dialogLabelId}>{title}</StyledTitle>\n <Dialog.CloseButton onClose={onCloseClick} />\n </StyledConfirmationHeader>\n )\n}\nconst StyledConfirmationBody = styled(Box)`\n font-size: ${get('fontSizes.1')};\n padding: 0 ${get('space.3')} ${get('space.3')} ${get('space.3')};\n color: ${get('colors.text.tertiary')};\n flex-grow: 1;\n`\nconst ConfirmationBody: React.FC<DialogProps> = ({children}) => {\n return <StyledConfirmationBody>{children}</StyledConfirmationBody>\n}\nconst StyledConfirmationFooter = styled(Box)`\n display: grid;\n grid-auto-flow: column;\n grid-auto-columns: max-content;\n grid-gap: ${get('space.2')};\n align-items: end;\n justify-content: end;\n padding: ${get('space.1')} ${get('space.3')} ${get('space.3')};\n`\nconst ConfirmationFooter: React.FC<DialogProps> = ({footerButtons}) => {\n const {containerRef: footerRef} = useFocusZone({\n bindKeys: FocusKeys.ArrowHorizontal | FocusKeys.Tab,\n focusInStrategy: 'closest'\n })\n // Must have exactly 2 buttons!\n return (\n <StyledConfirmationFooter ref={footerRef as React.RefObject<HTMLDivElement>}>\n <Dialog.Buttons buttons={footerButtons ?? []} />\n </StyledConfirmationFooter>\n )\n}\n\n/**\n * A ConfirmationDialog is a special kind of dialog with more rigid behavior. It\n * is used to confirm a user action. ConfirmationDialogs always have exactly\n * two buttons: one to cancel the action and one to confirm it. No custom\n * rendering capabilities are provided for ConfirmationDialog.\n */\nexport const ConfirmationDialog: React.FC<ConfirmationDialogProps> = props => {\n const {\n onClose,\n title,\n cancelButtonContent = 'Cancel',\n confirmButtonContent = 'OK',\n confirmButtonType = 'normal',\n children\n } = props\n\n const onCancelButtonClick = useCallback(() => {\n onClose('cancel')\n }, [onClose])\n const onConfirmButtonClick = useCallback(() => {\n onClose('confirm')\n }, [onClose])\n const cancelButton: DialogButtonProps = {\n content: cancelButtonContent,\n onClick: onCancelButtonClick,\n autoFocus: true\n }\n const confirmButton: DialogButtonProps = {\n content: confirmButtonContent,\n buttonType: confirmButtonType,\n onClick: onConfirmButtonClick\n }\n const footerButtons = [cancelButton, confirmButton]\n return (\n <Dialog\n onClose={onClose}\n title={title}\n footerButtons={footerButtons}\n role=\"alertdialog\"\n width=\"medium\"\n renderHeader={ConfirmationHeader}\n renderBody={ConfirmationBody}\n renderFooter={ConfirmationFooter}\n >\n {children}\n </Dialog>\n )\n}\n\nexport type ConfirmOptions = Omit<ConfirmationDialogProps, 'onClose'> & {content: React.ReactNode}\nasync function confirm(themeProps: ThemeProviderProps, options: ConfirmOptions): Promise<boolean> {\n const {content, ...confirmationDialogProps} = options\n return new Promise(resolve => {\n const hostElement = document.createElement('div')\n const onClose: ConfirmationDialogProps['onClose'] = gesture => {\n ReactDOM.unmountComponentAtNode(hostElement)\n if (gesture === 'confirm') {\n resolve(true)\n } else {\n resolve(false)\n }\n }\n ReactDOM.render(\n <ThemeProvider {...themeProps}>\n <ConfirmationDialog {...confirmationDialogProps} onClose={onClose}>\n {content}\n </ConfirmationDialog>\n </ThemeProvider>,\n hostElement\n )\n })\n}\n\n/**\n * This hook takes no parameters and returns an `async` function, `confirm`. When `confirm`\n * is called, it shows the confirmation dialog. When the dialog is dismissed, a promise is\n * resolved with `true` or `false` depending on whether or not the confirm button was used.\n */\nexport function useConfirm() {\n const {theme, colorMode, dayScheme, nightScheme} = useTheme()\n const result = useCallback(\n (options: ConfirmOptions) => {\n const themeProps: ThemeProviderProps = {theme, colorMode, dayScheme, nightScheme}\n return confirm(themeProps, options)\n },\n [theme, colorMode, dayScheme, nightScheme]\n )\n return result\n}\n","import React from 'react'\nimport styled, {css} from 'styled-components'\nimport {get} from '../constants'\nimport sx, {SxProp} from '../sx'\n\n/**\n * Contract for props passed to the `Header` component.\n */\nexport interface HeaderProps extends React.ComponentPropsWithoutRef<'div'>, SxProp {\n /**\n * Style variations. Usage is discretionary.\n *\n * - `\"filled\"` - Superimposed on a background, offset from nearby content\n * - `\"subtle\"` - Relatively less offset from nearby content\n */\n variant?: 'subtle' | 'filled'\n\n /**\n * Primary text which names a `Group`.\n */\n title: string\n\n /**\n * Secondary text which provides additional information about a `Group`.\n */\n auxiliaryText?: string\n}\n\nexport const StyledHeader = styled.div<{variant: HeaderProps['variant']} & SxProp>`\n {\n /* 6px vertical padding + 20px line height = 32px total height\n *\n * TODO: When rem-based spacing on a 4px scale lands, replace\n * hardcoded '6px' with 'calc((${get('space.s32')} - ${get('space.20')}) / 2)'.\n */\n }\n padding: 6px ${get('space.3')};\n font-size: ${get('fontSizes.0')};\n font-weight: ${get('fontWeights.bold')};\n color: ${get('colors.text.secondary')};\n\n ${({variant}) =>\n variant === 'filled' &&\n css`\n background: ${get('colors.bg.tertiary')};\n margin: ${get('space.2')} 0;\n border-top: 1px solid ${get('colors.border.tertiary')};\n border-bottom: 1px solid ${get('colors.border.tertiary')};\n\n &:first-child {\n margin-top: 0;\n }\n `}\n\n ${sx}\n`\n\n/**\n * Displays the name and description of a `Group`.\n */\nexport function Header({\n variant = 'subtle',\n title,\n auxiliaryText,\n children: _children,\n ...props\n}: HeaderProps): JSX.Element {\n return (\n <StyledHeader role=\"heading\" variant={variant} {...props}>\n {title}\n {auxiliaryText && <span>auxiliaryText</span>}\n </StyledHeader>\n )\n}\n","import React from 'react'\nimport styled from 'styled-components'\nimport sx, {SxProp} from '../sx'\nimport {Header, HeaderProps} from './Header'\n\n/**\n * Contract for props passed to the `Group` component.\n */\nexport interface GroupProps extends React.ComponentPropsWithoutRef<'div'>, SxProp {\n /**\n * Props for a `Header` to render in the `Group`.\n */\n header?: HeaderProps\n\n /**\n * The id of the group.\n */\n groupId?: string\n\n /**\n * `Items` to render in the `Group`.\n */\n items?: JSX.Element[]\n\n /**\n * Whether to display a divider above each `Item` in this `Group` when it does not follow a `Header` or `Divider`.\n */\n showItemDividers?: boolean\n}\n\nconst StyledGroup = styled.div`\n ${sx}\n`\n\n/**\n * Collects related `Items` in an `ActionList`.\n */\nexport function Group({header, items, ...props}: GroupProps): JSX.Element {\n return (\n <StyledGroup {...props}>\n {header && <Header {...header} />}\n {items}\n </StyledGroup>\n )\n}\n","import styled from 'styled-components'\nimport {maxWidth, MaxWidthProps} from 'styled-system'\nimport {COMMON, SystemCommonProps, SystemTypographyProps, TYPOGRAPHY} from './constants'\nimport sx, {SxProp} from './sx'\nimport {ComponentProps} from './utils/types'\n\ntype StyledTruncateProps = {\n title: string\n inline?: boolean\n expandable?: boolean\n} & MaxWidthProps &\n SystemTypographyProps &\n SystemCommonProps &\n SxProp\n\nconst Truncate = styled.div<StyledTruncateProps>`\n ${TYPOGRAPHY}\n ${COMMON}\n display: ${props => (props.inline ? 'inline-block' : 'inherit')};\n overflow: hidden;\n text-overflow: ellipsis;\n vertical-align: ${props => (props.inline ? 'top' : 'initial')};\n white-space: nowrap;\n ${maxWidth}\n ${props => (props.expandable ? `&:hover { max-width: 10000px; }` : '')}\n ${sx};\n`\n\nTruncate.defaultProps = {\n expandable: false,\n inline: false,\n maxWidth: 125\n}\n\nexport type TruncateProps = ComponentProps<typeof Truncate>\nexport default Truncate\n","import React from 'react'\nimport styled from 'styled-components'\nimport {get} from '../constants'\n\nexport const StyledDivider = styled.div`\n height: 1px;\n background: ${get('colors.selectMenu.borderSecondary')};\n margin-top: calc(${get('space.2')} - 1px);\n margin-bottom: ${get('space.2')};\n`\n\n/**\n * Visually separates `Item`s or `Group`s in an `ActionList`.\n */\nexport function Divider(): JSX.Element {\n return <StyledDivider />\n}\n\n/**\n * `Divider` fulfills the `ItemPropsWithCustomRenderer` contract,\n * so it can be used inline in an `ActionList`’s `items` prop.\n * In other words, `items={[ActionList.Divider]}` is supported as a concise\n * alternative to `items={[{renderItem: () => <ActionList.Divider />}]}`.\n */\nDivider.renderItem = Divider\n","import {CheckIcon, IconProps} from '@primer/octicons-react'\nimport React, {useCallback, useMemo} from 'react'\nimport {get} from '../constants'\nimport sx, {SxProp} from '../sx'\nimport Truncate from '../Truncate'\nimport {ItemInput} from './List'\nimport styled from 'styled-components'\nimport {StyledHeader} from './Header'\nimport {StyledDivider} from './Divider'\nimport {useColorSchemeVar, useTheme} from '../ThemeProvider'\nimport {\n activeDescendantActivatedDirectly,\n activeDescendantActivatedIndirectly,\n isActiveDescendantAttribute\n} from '../behaviors/focusZone'\nimport {uniqueId} from '../utils/uniqueId'\n\n/**\n * These colors are not yet in our default theme. Need to remove this once they are added.\n */\nconst customItemThemes = {\n default: {\n hover: {\n light: 'rgba(46, 77, 108, 0.06)',\n dark: 'rgba(201, 206, 212, 0.12)',\n dark_dimmed: 'rgba(201, 206, 212, 0.12)'\n },\n focus: {\n light: 'rgba(54, 77, 100, 0.16)',\n dark: 'rgba(201, 206, 212, 0.24)',\n dark_dimmed: 'rgba(201, 206, 212, 0.24)'\n }\n },\n danger: {\n hover: {\n light: 'rgba(234, 74, 90, 0.08)',\n dark: 'rgba(248, 81, 73, 0.16)',\n dark_dimmed: 'rgba(248, 81, 73, 0.16)'\n },\n focus: {\n light: 'rgba(234, 74, 90, 0.14)',\n dark: 'rgba(248, 81, 73, 0.24)',\n dark_dimmed: 'rgba(248, 81, 73, 0.24)'\n }\n }\n} as const\n\n/**\n * Contract for props passed to the `Item` component.\n */\nexport interface ItemProps extends Omit<React.ComponentPropsWithoutRef<'div'>, 'id'>, SxProp {\n /**\n * Primary text which names an `Item`.\n */\n text?: string\n\n /**\n * Secondary text which provides additional information about an `Item`.\n */\n description?: string\n\n /**\n * Secondary text style variations. Usage is discretionary.\n *\n * - `\"inline\"` - Secondary text is positioned beside primary text.\n * - `\"block\"` - Secondary text is positioned below primary text.\n */\n descriptionVariant?: 'inline' | 'block'\n\n /**\n * Icon (or similar) positioned before `Item` text.\n */\n leadingVisual?: React.FunctionComponent<IconProps>\n\n /**\n * Icon (or similar) positioned after `Item` text.\n */\n trailingIcon?: React.FunctionComponent<IconProps>\n\n /**\n * Text positioned after `Item` text and optional trailing icon.\n */\n trailingText?: string\n\n /**\n * Style variations associated with various `Item` types.\n *\n * - `\"default\"` - An action `Item`.\n * - `\"danger\"` - A destructive action `Item`.\n */\n variant?: 'default' | 'danger'\n\n /**\n * Whether to display a divider above the `Item` when it does not follow a `Header` or `Divider`.\n */\n showDivider?: boolean\n\n /**\n * For `Item`s which can be selected, whether the `Item` is currently selected.\n */\n selected?: boolean\n\n /**\n * For `Item`s which can be selected, whether `multiple` `Item`s or a `single` `Item` can be selected\n */\n selectionVariant?: 'single' | 'multiple'\n\n /**\n * Designates the group that an item belongs to.\n */\n groupId?: string\n\n /**\n * Items that are disabled can not be clicked, selected, or navigated through.\n */\n disabled?: boolean\n\n /**\n * Callback that will trigger both on click selection and keyboard selection.\n */\n onAction?: (item: ItemProps, event: React.MouseEvent<HTMLDivElement> | React.KeyboardEvent<HTMLDivElement>) => void\n\n /**\n * An id associated with this item. Should be unique between items\n */\n id?: number | string\n}\n\nconst getItemVariant = (variant = 'default', disabled?: boolean) => {\n if (disabled) {\n return {\n color: get('colors.text.disabled'),\n iconColor: get('colors.text.disabled'),\n annotationColor: get('colors.text.disabled'),\n hoverCursor: 'default'\n }\n }\n\n switch (variant) {\n case 'danger':\n return {\n color: get('colors.text.danger'),\n iconColor: get('colors.icon.danger'),\n annotationColor: get('colors.text.disabled'),\n hoverCursor: 'pointer'\n }\n default:\n return {\n color: 'inherit',\n iconColor: get('colors.text.secondary'),\n annotationColor: get('colors.text.secondary'),\n hoverCursor: 'pointer'\n }\n }\n}\n\nconst DividedContent = styled.div`\n display: flex;\n min-width: 0;\n\n /* Required for dividers */\n position: relative;\n flex-grow: 1;\n`\n\nconst MainContent = styled.div`\n align-items: baseline;\n display: flex;\n min-width: 0;\n flex-direction: var(--main-content-flex-direction);\n flex-grow: 1;\n`\n\nconst StyledItem = styled.div<\n {\n variant: ItemProps['variant']\n showDivider: ItemProps['showDivider']\n item?: ItemInput\n hoverBackground: string\n focusBackground: string\n } & SxProp\n>`\n /* 6px vertical padding + 20px line height = 32px total height\n *\n * TODO: When rem-based spacing on a 4px scale lands, replace\n * hardcoded '6px' with 'calc((${get('space.s32')} - ${get('space.20')}) / 2)'.\n */\n padding: 6px ${get('space.2')};\n display: flex;\n border-radius: ${get('radii.2')};\n color: ${({variant, item}) => getItemVariant(variant, item?.disabled).color};\n // 2 frames on a 60hz monitor\n transition: background 33.333ms linear;\n\n @media (hover: hover) and (pointer: fine) {\n :hover {\n // allow override in case another item in the list is active/focused\n background: var(--item-hover-bg-override, ${({hoverBackground}) => hoverBackground});\n cursor: ${({variant, item}) => getItemVariant(variant, item?.disabled).hoverCursor};\n }\n }\n\n // Item dividers\n :not(:first-of-type):not(${StyledDivider} + &):not(${StyledHeader} + &) {\n margin-top: ${({showDivider}) => (showDivider ? `1px` : '0')};\n\n ${DividedContent}::before {\n content: ' ';\n display: block;\n position: absolute;\n width: 100%;\n top: -7px;\n // NB: This 'get' won’t execute if it’s moved into the arrow function below.\n border: 0 solid ${get('colors.selectMenu.borderSecondary')};\n border-top-width: ${({showDivider}) => (showDivider ? `1px` : '0')};\n }\n }\n\n // Item dividers should not be visible:\n // - above Hovered\n &:hover ${DividedContent}::before,\n // - below Hovered\n // '*' instead of '&' because '&' maps to separate class names depending on 'variant'\n :hover + * ${DividedContent}::before {\n // allow override in case another item in the list is active/focused\n border-color: var(--item-hover-divider-border-color-override, transparent) !important;\n }\n\n // - above Focused\n &:focus ${DividedContent}::before,\n // - below Focused\n // '*' instead of '&' because '&' maps to separate class names depending on 'variant'\n :focus + * ${DividedContent}::before,\n // - above Active Descendent\n &[${isActiveDescendantAttribute}] ${DividedContent}::before,\n // - below Active Descendent\n [${isActiveDescendantAttribute}] + & ${DividedContent}::before {\n // '!important' because all the ':not's above give higher specificity\n border-color: transparent !important;\n }\n\n // Active Descendant\n &[${isActiveDescendantAttribute}='${activeDescendantActivatedDirectly}'] {\n background: ${({focusBackground}) => focusBackground};\n }\n &[${isActiveDescendantAttribute}='${activeDescendantActivatedIndirectly}'] {\n background: ${({hoverBackground}) => hoverBackground};\n }\n\n &:focus {\n background: ${({focusBackground}) => focusBackground};\n outline: none;\n }\n\n &:active {\n background: ${({focusBackground}) => focusBackground};\n }\n\n ${sx}\n`\n\nexport const TextContainer = styled.span<{\n dangerouslySetInnerHtml?: React.DOMAttributes<HTMLDivElement>['dangerouslySetInnerHTML']\n}>``\n\nconst BaseVisualContainer = styled.div<{variant?: ItemProps['variant']; disabled?: boolean}>`\n // Match visual height to adjacent text line height.\n // TODO: When rem-based spacing on a 4px scale lands, replace\n // hardcoded '20px' with '${get('space.s20')}'.\n height: 20px;\n width: ${get('space.3')};\n margin-right: ${get('space.2')};\n`\n\nconst ColoredVisualContainer = styled(BaseVisualContainer)`\n svg {\n fill: ${({variant, disabled}) => getItemVariant(variant, disabled).iconColor};\n font-size: ${get('fontSizes.0')};\n }\n`\n\nconst LeadingVisualContainer = styled(ColoredVisualContainer)`\n flex-shrink: 0;\n display: flex;\n flex-direction: column;\n justify-content: center;\n`\n\nconst TrailingContent = styled(ColoredVisualContainer)`\n color: ${({variant, disabled}) => getItemVariant(variant, disabled).annotationColor}};\n margin-left: ${get('space.2')};\n margin-right: 0;\n width: auto;\n div:nth-child(2) {\n margin-left: ${get('space.2')};\n }\n`\n\nconst DescriptionContainer = styled.span`\n color: ${get('colors.text.secondary')};\n font-size: ${get('fontSizes.0')};\n // TODO: When rem-based spacing on a 4px scale lands, replace\n // hardcoded '16px' with '${get('lh-12')}'.\n line-height: 16px;\n margin-left: var(--description-container-margin-left);\n min-width: 0;\n flex-grow: 1;\n flex-basis: var(--description-container-flex-basis);\n`\n\nconst MultiSelectInput = styled.input`\n pointer-events: none;\n`\n\n/**\n * An actionable or selectable `Item` with an optional icon and description.\n */\nexport function Item(itemProps: Partial<ItemProps> & {item?: ItemInput}): JSX.Element {\n const {\n text,\n description,\n descriptionVariant = 'inline',\n selected,\n selectionVariant,\n leadingVisual: LeadingVisual,\n trailingIcon: TrailingIcon,\n trailingText,\n variant = 'default',\n showDivider,\n disabled,\n onAction,\n onKeyPress,\n children,\n onClick,\n id,\n ...props\n } = itemProps\n\n const labelId = useMemo(() => uniqueId(), [])\n const descriptionId = useMemo(() => uniqueId(), [])\n\n const keyPressHandler = useCallback(\n event => {\n if (disabled) {\n return\n }\n onKeyPress?.(event)\n const isCheckbox = event.target instanceof HTMLInputElement && event.target.type === 'checkbox'\n if (isCheckbox && event.key === ' ') {\n // space key on a checkbox will also trigger a click event. Ignore the space key so we don't get double events\n return\n }\n\n if (!event.defaultPrevented && [' ', 'Enter'].includes(event.key)) {\n onAction?.(itemProps as ItemProps, event)\n }\n },\n [onAction, disabled, itemProps, onKeyPress]\n )\n\n const clickHandler = useCallback(\n event => {\n if (disabled) {\n return\n }\n onClick?.(event)\n if (!event.defaultPrevented) {\n onAction?.(itemProps as ItemProps, event)\n }\n },\n [onAction, disabled, itemProps, onClick]\n )\n\n const customItemTheme = customItemThemes[variant]\n const hoverBackground = useColorSchemeVar(customItemTheme.hover, 'inherit')\n const focusBackground = useColorSchemeVar(customItemTheme.focus, 'inherit')\n\n const {theme} = useTheme()\n\n return (\n <StyledItem\n tabIndex={disabled ? undefined : -1}\n variant={variant}\n showDivider={showDivider}\n aria-selected={selected}\n aria-labelledby={text ? labelId : undefined}\n aria-describedby={description ? descriptionId : undefined}\n {...props}\n data-id={id}\n onKeyPress={keyPressHandler}\n onClick={clickHandler}\n hoverBackground={disabled ? 'inherit' : hoverBackground}\n focusBackground={disabled ? 'inherit' : focusBackground}\n >\n {!!selected === selected && (\n <BaseVisualContainer>\n {selectionVariant === 'multiple' ? (\n <>\n {/*\n * readOnly is required because we are doing a one-way bind to `checked`.\n * aria-readonly=\"false\" tells screen that they can still interact with the checkbox\n */}\n <MultiSelectInput\n disabled={disabled}\n tabIndex={-1}\n type=\"checkbox\"\n checked={selected}\n aria-label={text}\n readOnly\n aria-readonly=\"false\"\n />\n </>\n ) : (\n selected && <CheckIcon fill={theme?.colors.text.primary} />\n )}\n </BaseVisualContainer>\n )}\n {LeadingVisual && (\n <LeadingVisualContainer variant={variant} disabled={disabled}>\n <LeadingVisual />\n </LeadingVisualContainer>\n )}\n <DividedContent>\n <MainContent\n style={\n {'--main-content-flex-direction': descriptionVariant === 'inline' ? 'row' : 'column'} as React.CSSProperties\n }\n >\n {children}\n {text ? <TextContainer id={labelId}>{text}</TextContainer> : null}\n {description ? (\n <DescriptionContainer\n id={descriptionId}\n style={\n {\n '--description-container-margin-left': descriptionVariant === 'inline' ? get('space.2')(theme) : 0,\n '--description-container-flex-basis': descriptionVariant === 'inline' ? 0 : 'auto'\n } as React.CSSProperties\n }\n >\n {descriptionVariant === 'block' ? (\n description\n ) : (\n <Truncate title={description} inline={true} maxWidth=\"100%\">\n {description}\n </Truncate>\n )}\n </DescriptionContainer>\n ) : null}\n </MainContent>\n {TrailingIcon || trailingText ? (\n <TrailingContent variant={variant} disabled={disabled}>\n {trailingText}\n {TrailingIcon && <TrailingIcon />}\n </TrailingContent>\n ) : null}\n </DividedContent>\n </StyledItem>\n )\n}\n","import React from 'react'\nimport type {AriaRole} from '../utils/types'\nimport {Group, GroupProps} from './Group'\nimport {Item, ItemProps} from './Item'\nimport {Divider} from './Divider'\nimport styled from 'styled-components'\nimport {get} from '../constants'\nimport {SystemCssProperties} from '@styled-system/css'\nimport {hasActiveDescendantAttribute} from '../behaviors/focusZone'\n\nexport type ItemInput = ItemProps | (Partial<ItemProps> & {renderItem: typeof Item})\n\n/**\n * Contract for props passed to the `List` component.\n */\nexport interface ListPropsBase {\n /**\n * A collection of `Item` props and `Item`-level custom `Item` renderers.\n */\n items: ItemInput[]\n\n /**\n * The ARIA role describing the function of `List` component. `listbox` is a common value.\n */\n role?: AriaRole\n\n /**\n * id to attach to the base DOM node of the list\n */\n id?: string\n\n /**\n * A `List`-level custom `Item` renderer. Every `Item` within this `List`\n * without a `Group`-level or `Item`-level custom `Item` renderer will be\n * rendered using this function component.\n */\n renderItem?: typeof Item\n\n /**\n * A `List`-level custom `Group` renderer. Every `Group` within this `List`\n * without a `Group`-level custom `Item` renderer will be rendered using\n * this function component.\n */\n renderGroup?: typeof Group\n\n /**\n * Style variations. Usage is discretionary.\n *\n * - `\"inset\"` - `List` children are offset (vertically and horizontally) from `List`’s edges\n * - `\"full\"` - `List` children are flush (vertically and horizontally) with `List` edges\n */\n variant?: 'inset' | 'full'\n\n /**\n * For `Item`s which can be selected, whether `multiple` `Item`s or a `single` `Item` can be selected\n */\n selectionVariant?: 'single' | 'multiple'\n\n /**\n * Whether to display a divider above each `Item` in this `List` when it does not follow a `Header` or `Divider`.\n */\n showItemDividers?: boolean\n}\n\n/**\n * Contract for props passed to the `List` component, when its `Item`s are collected in `Group`s.\n */\nexport interface GroupedListProps extends ListPropsBase {\n /**\n * A collection of `Group` props (except `items`), plus a unique group identifier\n * and `Group`-level custom `Item` or `Group` renderers.\n */\n groupMetadata: ((\n | Omit<GroupProps, 'items'>\n | Omit<Partial<GroupProps> & {renderItem?: typeof Item; renderGroup?: typeof Group}, 'items'>\n ) & {groupId: string})[]\n\n /**\n * A collection of `Item` props, plus associated group identifiers\n * and `Item`-level custom `Item` renderers.\n */\n items: ((ItemProps | (Partial<ItemProps> & {renderItem: typeof Item})) & {groupId: string})[]\n}\n\n/**\n * Asserts that the given value fulfills the `GroupedListProps` contract.\n * @param props A value which fulfills either the `ListPropsBase` or the `GroupedListProps` contract.\n */\nfunction isGroupedListProps(props: ListProps): props is GroupedListProps {\n return 'groupMetadata' in props\n}\n\n/**\n * Contract for props passed to the `List` component.\n */\nexport type ListProps = ListPropsBase | GroupedListProps\n\nconst StyledList = styled.div`\n font-size: ${get('fontSizes.1')};\n /* 14px font-size * 1.428571429 = 20px line height\n *\n * TODO: When rem-based spacing on a 4px scale lands, replace\n * hardcoded '20px'\n */\n line-height: 20px;\n\n &[${hasActiveDescendantAttribute}], &:focus-within {\n --item-hover-bg-override: none;\n --item-hover-divider-border-color-override: ${get('colors.selectMenu.borderSecondary')};\n }\n`\n\n/**\n * Returns `sx` prop values for `List` children matching the given `List` style variation.\n * @param variant `List` style variation.\n */\nfunction useListVariant(variant: ListProps['variant'] = 'inset'): {\n firstGroupStyle?: SystemCssProperties\n lastGroupStyle?: SystemCssProperties\n headerStyle?: SystemCssProperties\n itemStyle?: SystemCssProperties\n} {\n switch (variant) {\n case 'full':\n return {\n headerStyle: {paddingX: get('space.2')},\n itemStyle: {borderRadius: 0}\n }\n default:\n return {\n firstGroupStyle: {marginTop: get('space.2')},\n lastGroupStyle: {marginBottom: get('space.2')},\n itemStyle: {marginX: get('space.2')}\n }\n }\n}\n\n/**\n * Lists `Item`s, either grouped or ungrouped, with a `Divider` between each `Group`.\n */\nexport const List = React.forwardRef<HTMLDivElement, ListProps>((props, forwardedRef): JSX.Element => {\n // Get `sx` prop values for `List` children matching the given `List` style variation.\n const {firstGroupStyle, lastGroupStyle, headerStyle, itemStyle} = useListVariant(props.variant)\n\n /**\n * Render a `Group` using the first of the following renderers that is defined:\n * A `Group`-level or `List`-level custom `Group` renderer, or\n * the default `Group` renderer.\n */\n const renderGroup = (\n groupProps: GroupProps | (Partial<GroupProps> & {renderItem?: typeof Item; renderGroup?: typeof Group})\n ) => {\n const GroupComponent = (('renderGroup' in groupProps && groupProps.renderGroup) ?? props.renderGroup) || Group\n return <GroupComponent {...groupProps} key={groupProps.groupId} />\n }\n\n /**\n * Render an `Item` using the first of the following renderers that is defined:\n * An `Item`-level, `Group`-level, or `List`-level custom `Item` renderer,\n * or the default `Item` renderer.\n */\n const renderItem = (itemProps: ItemInput, item: ItemInput, itemIndex: number) => {\n // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition\n const ItemComponent = ('renderItem' in itemProps && itemProps.renderItem) || props.renderItem || Item\n const key = itemProps.key ?? itemProps.id?.toString() ?? itemIndex.toString()\n return (\n <ItemComponent\n showDivider={props.showItemDividers}\n selectionVariant={props.selectionVariant}\n {...itemProps}\n key={key}\n sx={{...itemStyle, ...itemProps.sx}}\n item={item}\n />\n )\n }\n\n /**\n * An array of `Group`s, each with an associated `Header` and with an array of `Item`s belonging to that `Group`.\n */\n let groups: (GroupProps | (Partial<GroupProps> & {renderItem?: typeof Item; renderGroup?: typeof Group}))[] = []\n\n // Collect rendered `Item`s into `Group`s, avoiding excess iteration over the lists of `items` and `groupMetadata`:\n if (!isGroupedListProps(props)) {\n // When no `groupMetadata`s is provided, collect rendered `Item`s into a single anonymous `Group`.\n groups = [{items: props.items.map((item, index) => renderItem(item, item, index)), groupId: '0'}]\n } else {\n // When `groupMetadata` is provided, collect rendered `Item`s into their associated `Group`s.\n\n /**\n * A map of group identifiers to `Group`s, each with an associated array of `Item`s belonging to that `Group`.\n */\n const groupMap = props.groupMetadata.reduce(\n (groupAccumulator, groupMetadata) => groupAccumulator.set(groupMetadata.groupId, groupMetadata),\n new Map<string, GroupProps | (Partial<GroupProps> & {renderItem?: typeof Item; renderGroup?: typeof Group})>()\n )\n\n for (const itemProps of props.items) {\n // Look up the group associated with the current item.\n const group = groupMap.get(itemProps.groupId)\n const itemIndex = group?.items?.length ?? 0\n\n // Upsert the group to include the current item (rendered).\n groupMap.set(itemProps.groupId, {\n ...group,\n items: [\n ...(group?.items ?? []),\n renderItem(\n {\n showDivider: group?.showItemDividers,\n ...(group && 'renderItem' in group && {renderItem: group.renderItem}),\n ...itemProps\n },\n itemProps,\n itemIndex\n )\n ]\n })\n }\n\n groups = [...groupMap.values()]\n }\n\n return (\n <StyledList {...props} ref={forwardedRef}>\n {groups.map(({header, ...groupProps}, index) => {\n const hasFilledHeader = header?.variant === 'filled'\n const shouldShowDivider = index > 0 && !hasFilledHeader\n return (\n <React.Fragment key={groupProps.groupId}>\n {shouldShowDivider ? <Divider key={`${groupProps.groupId}-divider`} /> : null}\n {renderGroup({\n sx: {\n ...(index === 0 && firstGroupStyle),\n ...(index === groups.length - 1 && lastGroupStyle),\n ...(index > 0 && !shouldShowDivider && {mt: 2})\n },\n ...(header && {\n header: {\n ...header,\n sx: {...headerStyle, ...header.sx}\n }\n }),\n ...groupProps\n })}\n </React.Fragment>\n )\n })}\n </StyledList>\n )\n})\n\nList.displayName = 'ActionList'\n","import {List} from './List'\nimport {Group} from './Group'\nimport {Item} from './Item'\nimport {Divider} from './Divider'\nexport type {ListProps as ActionListProps} from './List'\nexport type {GroupProps} from './Group'\nexport type {ItemProps} from './Item'\n\n/**\n * Collection of list-related components.\n */\nexport const ActionList = Object.assign(List, {\n /** Collects related `Items` in an `ActionList`. */\n Group,\n\n /** An actionable or selectable `Item` with an optional icon and description. */\n Item,\n\n /** Visually separates `Item`s or `Group`s in an `ActionList`. */\n Divider\n})\n","import styled from 'styled-components'\nimport React, {ReactElement, useEffect, useLayoutEffect, useRef} from 'react'\nimport {get, COMMON, SystemPositionProps, SystemCommonProps} from './constants'\nimport {ComponentProps} from './utils/types'\nimport {useOverlay, TouchOrMouseEvent} from './hooks'\nimport Portal from './Portal'\nimport sx, {SxProp} from './sx'\nimport {useCombinedRefs} from './hooks/useCombinedRefs'\nimport {AnchorSide} from './behaviors/anchoredPosition'\nimport {useTheme} from './ThemeProvider'\n\ntype StyledOverlayProps = {\n width?: keyof typeof widthMap\n height?: keyof typeof heightMap\n maxHeight?: keyof Omit<typeof heightMap, 'auto' | 'initial'>\n visibility?: 'visible' | 'hidden'\n anchorSide?: AnchorSide\n}\n\nconst heightMap = {\n xsmall: '192px',\n small: '256px',\n medium: '320px',\n large: '432px',\n xlarge: '600px',\n auto: 'auto',\n initial: 'auto' // Passing 'initial' initially applies 'auto'\n}\n\nconst widthMap = {\n small: '256px',\n medium: '320px',\n large: '480px',\n xlarge: '640px',\n xxlarge: '960px',\n auto: 'auto'\n}\nconst animationDuration = 200\n\nfunction getSlideAnimationStartingVector(anchorSide?: AnchorSide): {x: number; y: number} {\n if (anchorSide?.endsWith('bottom')) {\n return {x: 0, y: -1}\n } else if (anchorSide?.endsWith('top')) {\n return {x: 0, y: 1}\n } else if (anchorSide?.endsWith('right')) {\n return {x: -1, y: 0}\n } else if (anchorSide?.endsWith('left')) {\n return {x: 1, y: 0}\n }\n\n return {x: 0, y: 0}\n}\n\nconst StyledOverlay = styled.div<StyledOverlayProps & SystemCommonProps & SxProp>`\n background-color: ${get('colors.bg.overlay')};\n box-shadow: ${get('shadows.overlay.shadow')};\n position: absolute;\n min-width: 192px;\n max-width: 640px;\n height: ${props => heightMap[props.height || 'auto']};\n max-height: ${props => props.maxHeight && heightMap[props.maxHeight]};\n width: ${props => widthMap[props.width || 'auto']};\n border-radius: 12px;\n overflow: hidden;\n animation: overlay-appear ${animationDuration}ms ${get('animation.easeOutCubic')};\n\n @keyframes overlay-appear {\n 0% {\n opacity: 0;\n }\n 100% {\n opacity: 1;\n }\n }\n visibility: var(--styled-overlay-visibility);\n :focus {\n outline: none;\n }\n ${COMMON};\n ${sx};\n`\nexport type OverlayProps = {\n ignoreClickRefs?: React.RefObject<HTMLElement>[]\n initialFocusRef?: React.RefObject<HTMLElement>\n returnFocusRef: React.RefObject<HTMLElement>\n onClickOutside: (e: TouchOrMouseEvent) => void\n onEscape: (e: KeyboardEvent) => void\n visibility?: 'visible' | 'hidden'\n [additionalKey: string]: unknown\n top: number\n left: number\n portalContainerName?: string\n} & Omit<ComponentProps<typeof StyledOverlay>, 'visibility' | keyof SystemPositionProps>\n\n/**\n * An `Overlay` is a flexible floating surface, used to display transient content such as menus,\n * selection options, dialogs, and more. Overlays use shadows to express elevation. The `Overlay`\n * component handles all behaviors needed by overlay UIs as well as the common styles that all overlays * should have.\n * @param ignoreClickRefs Optional. An array of ref objects to ignore clicks on in the `onOutsideClick` behavior. This is often used to ignore clicking on the element that toggles the open/closed state for the `Overlay` to prevent the `Overlay` from being toggled twice.\n * @param initialFocusRef Optional. Ref for the element to focus when the `Overlay` is opened. If nothing is provided, the first focusable element in the `Overlay` body is focused.\n * @param returnFocusRef Required. Ref for the element to focus when the `Overlay` is closed.\n * @param onClickOutside Required. Function to call when clicking outside of the `Overlay`. Typically this function removes the Overlay.\n * @param onEscape Required. Function to call when user presses `Escape`. Typically this function removes the Overlay.\n * @param width Sets the width of the `Overlay`, pick from our set list of widths, or pass `auto` to automatically set the width based on the content of the `Overlay`. `small` corresponds to `256px`, `medium` corresponds to `320px`, `large` corresponds to `480px`, `xlarge` corresponds to `640px`, `xxlarge` corresponds to `960px`.\n * @param height Sets the height of the `Overlay`, pick from our set list of heights, or pass `auto` to automatically set the height based on the content of the `Overlay`, or pass `initial` to set the height based on the initial content of the `Overlay` (i.e. ignoring content changes). `xsmall` corresponds to `192px`, `small` corresponds to `256px`, `medium` corresponds to `320px`, `large` corresponds to `432px`, `xlarge` corresponds to `600px`.\n * @param maxHeight Sets the maximum height of the `Overlay`, pick from our set list of heights. `xsmall` corresponds to `192px`, `small` corresponds to `256px`, `medium` corresponds to `320px`, `large` corresponds to `432px`, `xlarge` corresponds to `600px`.\n * @param anchorSide If provided, the Overlay will slide into position from the side of the anchor with a brief animation\n * @param top Optional. Vertical position of the overlay, relative to its closest positioned ancestor (often its `Portal`).\n * @param left Optional. Horizontal position of the overlay, relative to its closest positioned ancestor (often its `Portal`).\n * @param portalContainerName Optional. The name of the portal container to render the Overlay into.\n */\nconst Overlay = React.forwardRef<HTMLDivElement, OverlayProps>(\n (\n {\n onClickOutside,\n role = 'none',\n initialFocusRef,\n returnFocusRef,\n ignoreClickRefs,\n onEscape,\n visibility = 'visible',\n height,\n top,\n left,\n anchorSide,\n portalContainerName,\n ...rest\n },\n forwardedRef\n ): ReactElement => {\n const overlayRef = useRef<HTMLDivElement>(null)\n const combinedRef = useCombinedRefs(overlayRef, forwardedRef)\n const {theme} = useTheme()\n const slideAnimationDistance = parseInt(get('space.2')(theme).replace('px', ''))\n const slideAnimationEasing = get('animation.easeOutCubic')(theme)\n\n useOverlay({\n overlayRef,\n returnFocusRef,\n onEscape,\n ignoreClickRefs,\n onClickOutside,\n initialFocusRef\n })\n\n useEffect(() => {\n if (height === 'initial' && combinedRef.current?.clientHeight) {\n combinedRef.current.style.height = `${combinedRef.current.clientHeight}px`\n }\n }, [height, combinedRef])\n\n useLayoutEffect(() => {\n const {x, y} = getSlideAnimationStartingVector(anchorSide)\n if ((!x && !y) || !overlayRef.current?.animate || visibility === 'hidden') {\n return\n }\n\n // JS animation is required because Safari does not allow css animations to start paused and then run\n overlayRef.current.animate(\n {transform: [`translate(${slideAnimationDistance * x}px, ${slideAnimationDistance * y}px)`, `translate(0, 0)`]},\n {\n duration: animationDuration,\n easing: slideAnimationEasing\n }\n )\n }, [anchorSide, slideAnimationDistance, slideAnimationEasing, visibility])\n\n return (\n <Portal containerName={portalContainerName}>\n <StyledOverlay\n height={height}\n role={role}\n {...rest}\n ref={combinedRef}\n style={\n {\n top: `${top || 0}px`,\n left: `${left || 0}px`,\n ...rest.style,\n '--styled-overlay-visibility': visibility\n } as React.CSSProperties\n }\n />\n </Portal>\n )\n }\n)\n\nOverlay.defaultProps = {\n height: 'auto',\n width: 'auto'\n}\n\nexport default Overlay\n","import React, {useCallback, useEffect, useMemo} from 'react'\nimport Overlay, {OverlayProps} from '../Overlay'\nimport {FocusTrapHookSettings, useFocusTrap} from '../hooks/useFocusTrap'\nimport {FocusZoneHookSettings, useFocusZone} from '../hooks/useFocusZone'\nimport {useAnchoredPosition, useProvidedRefOrCreate, useRenderForcingRef} from '../hooks'\nimport {uniqueId} from '../utils/uniqueId'\n\ninterface AnchoredOverlayPropsWithAnchor {\n /**\n * A custom function component used to render the anchor element.\n * Will receive the selected text as `children` prop when an item is activated.\n */\n renderAnchor: <T extends React.HTMLAttributes<HTMLElement>>(props: T) => JSX.Element\n\n /**\n * An override to the internal ref that will be spread on to the renderAnchor\n */\n anchorRef?: React.RefObject<HTMLElement>\n}\n\ninterface AnchoredOverlayPropsWithoutAnchor {\n /**\n * A custom function component used to render the anchor element.\n * When renderAnchor is null, an anchorRef is required.\n */\n renderAnchor: null\n\n /**\n * An override to the internal renderAnchor ref that will be used to position the overlay.\n * When renderAnchor is null this can be used to make an anchor that is detached from ActionMenu.\n */\n anchorRef: React.RefObject<HTMLElement>\n}\n\nexport type AnchoredOverlayWrapperAnchorProps =\n | Partial<AnchoredOverlayPropsWithAnchor>\n | AnchoredOverlayPropsWithoutAnchor\n\ninterface AnchoredOverlayBaseProps extends Pick<OverlayProps, 'height' | 'width'> {\n /**\n * Determines whether the overlay portion of the component should be shown or not\n */\n open: boolean\n\n /**\n * A callback which is called whenever the overlay is currently closed and an \"open gesture\" is detected.\n */\n onOpen?: (gesture: 'anchor-click' | 'anchor-key-press') => unknown\n\n /**\n * A callback which is called whenever the overlay is currently open and a \"close gesture\" is detected.\n */\n onClose?: (gesture: 'anchor-click' | 'click-outside' | 'escape') => unknown\n\n /**\n * Props to be spread on the internal `Overlay` component.\n */\n overlayProps?: Partial<OverlayProps>\n\n /**\n * Settings to apply to the Focus Zone on the internal `Overlay` component.\n */\n focusTrapSettings?: Partial<FocusTrapHookSettings>\n\n /**\n * Settings to apply to the Focus Zone on the internal `Overlay` component.\n */\n focusZoneSettings?: Partial<FocusZoneHookSettings>\n}\n\nexport type AnchoredOverlayProps = AnchoredOverlayBaseProps &\n (AnchoredOverlayPropsWithAnchor | AnchoredOverlayPropsWithoutAnchor)\n\n/**\n * An `AnchoredOverlay` provides an anchor that will open a floating overlay positioned relative to the anchor.\n * The overlay can be opened and navigated using keyboard or mouse.\n */\nexport const AnchoredOverlay: React.FC<AnchoredOverlayProps> = ({\n renderAnchor,\n anchorRef: externalAnchorRef,\n children,\n open,\n onOpen,\n onClose,\n height,\n width,\n overlayProps,\n focusTrapSettings,\n focusZoneSettings\n}) => {\n const anchorRef = useProvidedRefOrCreate(externalAnchorRef)\n const [overlayRef, updateOverlayRef] = useRenderForcingRef<HTMLDivElement>()\n const anchorId = useMemo(uniqueId, [])\n\n const onClickOutside = useCallback(() => onClose?.('click-outside'), [onClose])\n const onEscape = useCallback(() => onClose?.('escape'), [onClose])\n\n const onAnchorKeyDown = useCallback(\n (event: React.KeyboardEvent<HTMLElement>) => {\n if (!event.defaultPrevented) {\n if (!open && ['ArrowDown', 'ArrowUp', ' ', 'Enter'].includes(event.key)) {\n onOpen?.('anchor-key-press')\n event.preventDefault()\n }\n }\n },\n [open, onOpen]\n )\n const onAnchorClick = useCallback(\n (event: React.MouseEvent<HTMLElement>) => {\n if (event.defaultPrevented || event.button !== 0) {\n return\n }\n if (!open) {\n onOpen?.('anchor-click')\n } else {\n onClose?.('anchor-click')\n }\n },\n [open, onOpen, onClose]\n )\n\n const {position} = useAnchoredPosition(\n {\n anchorElementRef: anchorRef,\n floatingElementRef: overlayRef\n },\n [overlayRef.current]\n )\n\n useEffect(() => {\n // ensure overlay ref gets cleared when closed, so position can reset between closing/re-opening\n if (!open && overlayRef.current) {\n updateOverlayRef(null)\n }\n }, [open, overlayRef, updateOverlayRef])\n\n useFocusZone({\n containerRef: overlayRef,\n disabled: !open || !position,\n ...focusZoneSettings\n })\n useFocusTrap({containerRef: overlayRef, disabled: !open || !position, ...focusTrapSettings})\n\n return (\n <>\n {renderAnchor &&\n renderAnchor({\n ref: anchorRef,\n id: anchorId,\n 'aria-labelledby': anchorId,\n 'aria-haspopup': 'true',\n tabIndex: 0,\n onClick: onAnchorClick,\n onKeyDown: onAnchorKeyDown\n })}\n {open ? (\n <Overlay\n returnFocusRef={anchorRef}\n onClickOutside={onClickOutside}\n ignoreClickRefs={[anchorRef]}\n onEscape={onEscape}\n ref={updateOverlayRef}\n role=\"none\"\n visibility={position ? 'visible' : 'hidden'}\n height={height}\n width={width}\n top={position?.top || 0}\n left={position?.left || 0}\n anchorSide={position?.anchorSide}\n {...overlayProps}\n >\n {children}\n </Overlay>\n ) : null}\n </>\n )\n}\n\nAnchoredOverlay.displayName = 'AnchoredOverlay'\n","import {MutableRefObject, RefObject, useCallback, useRef, useState} from 'react'\n\n/**\n * There are certain situations where a ref might be set after the current render cycle for a\n * component has finished. e.g. a forward ref from a conditionally rendered child component.\n * In these situations, we need to force a re-render, which is done here by the useState hook.\n * @type TRef The type of the RefObject which should be created.\n */\nexport function useRenderForcingRef<TRef>() {\n const [refCurrent, setRefCurrent] = useState<TRef | null>(null)\n const ref = useRef<TRef>(null) as MutableRefObject<TRef | null>\n ref.current = refCurrent\n\n const setRef = useCallback(\n (newRef: TRef | null) => {\n ref.current = newRef\n setRefCurrent(newRef)\n },\n [ref]\n )\n return [ref as RefObject<TRef>, setRef] as const\n}\n","import {useCallback, useState} from 'react'\n\n/**\n * There are some situations where we want to give users the option to control state externally with their own state handlers\n * or default to using internal state handlers. Because of the 'rules-of-hooks', we cannot conditionally make a call to `React.useState`\n * only in the situations where the state is not provided as a prop.\n * This hook aims to encapsulate that logic, so the consumer doesn't need to be concerned with violating `rules-of-hooks`.\n * @param externalState The state to use - if undefined, will use the state from a call to React.useState\n * @param setExternalState The setState to use - if undefined, will use the setState from a call to React.useState\n * @param defaultState The defaultState to use, if using internal state.\n */\nexport function useProvidedStateOrCreate<T>(\n externalState: T | undefined,\n setExternalState: ((s: T) => void) | undefined,\n defaultState: T\n) {\n const [internalState, setInternalState] = useState<T>(defaultState)\n const state = externalState ?? internalState\n const setState = useCallback(\n (s: T) => {\n setInternalState(s)\n if (setExternalState) setExternalState(s)\n },\n [setExternalState]\n )\n return [state, setState] as const\n}\n","import {GroupedListProps, List, ListPropsBase} from './ActionList/List'\nimport {Item, ItemProps} from './ActionList/Item'\nimport {Divider} from './ActionList/Divider'\nimport Button, {ButtonProps} from './Button'\nimport React, {useCallback, useMemo} from 'react'\nimport {AnchoredOverlay} from './AnchoredOverlay'\nimport {useProvidedStateOrCreate} from './hooks/useProvidedStateOrCreate'\nimport {OverlayProps} from './Overlay'\nimport {useProvidedRefOrCreate} from './hooks'\nimport {AnchoredOverlayWrapperAnchorProps} from './AnchoredOverlay/AnchoredOverlay'\n\ninterface ActionMenuBaseProps extends Partial<Omit<GroupedListProps, keyof ListPropsBase>>, ListPropsBase {\n /**\n * Content that is passed into the renderAnchor component, which is a button by default.\n */\n anchorContent?: React.ReactNode\n\n /**\n * A callback that triggers both on clicks and keyboard events. This callback will be overridden by item level `onAction` callbacks.\n */\n onAction?: (props: ItemProps, event?: React.MouseEvent<HTMLDivElement> | React.KeyboardEvent<HTMLDivElement>) => void\n\n /**\n * If defined, will control the open/closed state of the overlay. Must be used in conjuction with `setOpen`.\n */\n open?: boolean\n\n /**\n * If defined, will control the open/closed state of the overlay. Must be used in conjuction with `open`.\n */\n setOpen?: (s: boolean) => void\n\n /**\n * Props to be spread on the internal `Overlay` component.\n */\n overlayProps?: Partial<OverlayProps>\n}\n\nexport type ActionMenuProps = ActionMenuBaseProps & AnchoredOverlayWrapperAnchorProps\n\nconst ActionMenuItem = (props: ItemProps) => <Item role=\"menuitem\" {...props} />\n\nActionMenuItem.displayName = 'ActionMenu.Item'\n\nconst ActionMenuBase = ({\n anchorContent,\n renderAnchor = <T extends ButtonProps>(props: T) => <Button {...props} />,\n anchorRef: externalAnchorRef,\n onAction,\n open,\n setOpen,\n overlayProps,\n items,\n ...listProps\n}: ActionMenuProps): JSX.Element => {\n const [combinedOpenState, setCombinedOpenState] = useProvidedStateOrCreate(open, setOpen, false)\n const anchorRef = useProvidedRefOrCreate(externalAnchorRef)\n const onOpen = useCallback(() => setCombinedOpenState(true), [setCombinedOpenState])\n const onClose = useCallback(() => setCombinedOpenState(false), [setCombinedOpenState])\n\n const renderMenuAnchor = useMemo(() => {\n if (renderAnchor === null) {\n return null\n }\n return <T extends React.HTMLAttributes<HTMLElement>>(props: T) => {\n return renderAnchor({\n 'aria-label': 'menu',\n children: anchorContent,\n ...props\n })\n }\n }, [anchorContent, renderAnchor])\n\n const itemsToRender = useMemo(() => {\n return items.map(item => {\n return {\n ...item,\n role: 'menuitem',\n onAction: (props, event) => {\n const actionCallback = item.onAction ?? onAction\n actionCallback?.(props as ItemProps, event)\n if (!event.defaultPrevented) {\n onClose()\n }\n }\n } as ItemProps\n })\n }, [items, onAction, onClose])\n\n return (\n <AnchoredOverlay\n renderAnchor={renderMenuAnchor}\n anchorRef={anchorRef}\n open={combinedOpenState}\n onOpen={onOpen}\n onClose={onClose}\n overlayProps={overlayProps}\n >\n <List {...listProps} role=\"menu\" items={itemsToRender} />\n </AnchoredOverlay>\n )\n}\n\nActionMenuBase.displayName = 'ActionMenu'\n\nexport const ActionMenu = Object.assign(ActionMenuBase, {Divider, Item: ActionMenuItem})\n","import styled from 'styled-components'\nimport {COMMON, get, SystemCommonProps} from './constants'\nimport sx, {SxProp} from './sx'\nimport {ComponentProps} from './utils/types'\n\ntype StyledAvatarProps = {\n /** Sets the width and height of the avatar. */\n size?: number\n /** Sets the shape of the avatar to a square if true. If false, the avatar will be circular. */\n square?: boolean\n /** URL of the avatar image. */\n src: string\n /** Provide alt text when the Avatar is used without the user's name next to it. */\n alt?: string\n} & SystemCommonProps &\n SxProp\n\nfunction getBorderRadius({size, square}: StyledAvatarProps) {\n if (square) {\n return size && size <= 24 ? '4px' : '6px'\n } else {\n return '50%'\n }\n}\n\nconst Avatar = styled.img.attrs<StyledAvatarProps>(props => ({\n height: props.size,\n width: props.size\n}))<StyledAvatarProps>`\n display: inline-block;\n overflow: hidden; // Ensure page layout in Firefox should images fail to load\n line-height: ${get('lineHeights.condensedUltra')};\n vertical-align: middle;\n border-radius: ${props => getBorderRadius(props)};\n ${COMMON};\n ${sx}\n`\n\nAvatar.defaultProps = {\n size: 20,\n alt: '',\n square: false\n}\n\nexport type AvatarProps = ComponentProps<typeof Avatar>\nexport default Avatar\n","import React from 'react'\nimport styled from 'styled-components'\nimport Avatar from './Avatar'\nimport {get} from './constants'\nimport {Box, BoxProps} from '.'\n\nconst ChildAvatar = styled(Avatar)`\n position: absolute;\n right: -15%;\n bottom: -9%;\n box-shadow: ${get('shadows.avatar.childShadow')};\n`\n\nexport type AvatarPairProps = BoxProps\n\nconst AvatarPair = ({children, ...rest}: AvatarPairProps) => {\n const avatars = React.Children.map(children, (child, i) => {\n if (!React.isValidElement(child)) return child\n return i === 0 ? React.cloneElement(child, {size: 40}) : <ChildAvatar bg=\"bg.canvas\" {...child.props} size={20} />\n })\n return (\n <Box position=\"relative\" display=\"inline-flex\" {...rest}>\n {avatars}\n </Box>\n )\n}\n\n// styled() changes this\nAvatarPair.displayName = 'AvatarPair'\n\nexport default AvatarPair\n","/*!\n Copyright (c) 2018 Jed Watson.\n Licensed under the MIT License (MIT), see\n http://jedwatson.github.io/classnames\n*/\n/* global define */\n\n(function () {\n\t'use strict';\n\n\tvar hasOwn = {}.hasOwnProperty;\n\n\tfunction classNames() {\n\t\tvar classes = [];\n\n\t\tfor (var i = 0; i < arguments.length; i++) {\n\t\t\tvar arg = arguments[i];\n\t\t\tif (!arg) continue;\n\n\t\t\tvar argType = typeof arg;\n\n\t\t\tif (argType === 'string' || argType === 'number') {\n\t\t\t\tclasses.push(arg);\n\t\t\t} else if (Array.isArray(arg)) {\n\t\t\t\tif (arg.length) {\n\t\t\t\t\tvar inner = classNames.apply(null, arg);\n\t\t\t\t\tif (inner) {\n\t\t\t\t\t\tclasses.push(inner);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} else if (argType === 'object') {\n\t\t\t\tif (arg.toString === Object.prototype.toString) {\n\t\t\t\t\tfor (var key in arg) {\n\t\t\t\t\t\tif (hasOwn.call(arg, key) && arg[key]) {\n\t\t\t\t\t\t\tclasses.push(key);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tclasses.push(arg.toString());\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn classes.join(' ');\n\t}\n\n\tif (typeof module !== 'undefined' && module.exports) {\n\t\tclassNames.default = classNames;\n\t\tmodule.exports = classNames;\n\t} else if (typeof define === 'function' && typeof define.amd === 'object' && define.amd) {\n\t\t// register as 'classnames', consistent with npm package name\n\t\tdefine('classnames', [], function () {\n\t\t\treturn classNames;\n\t\t});\n\t} else {\n\t\twindow.classNames = classNames;\n\t}\n}());\n","import classnames from 'classnames'\nimport React from 'react'\nimport styled from 'styled-components'\nimport {COMMON, get, SystemCommonProps} from './constants'\nimport {Box} from '.'\nimport sx, {SxProp} from './sx'\nimport {ComponentProps} from './utils/types'\n\ntype StyledAvatarStackWrapperProps = {\n count?: number\n} & SystemCommonProps &\n SxProp\n\nconst AvatarStackWrapper = styled.span<StyledAvatarStackWrapperProps>`\n display: flex;\n position: relative;\n height: 20px;\n min-width: ${props => (props.count === 1 ? '20px' : props.count === 2 ? '30px' : '38px')};\n\n .pc-AvatarItem {\n flex-shrink: 0;\n height: 20px;\n width: 20px;\n box-shadow: 0 0 0 1px ${get('colors.bg.canvas')};\n margin-left: -11px;\n position: relative;\n overflow: hidden;\n transition: margin 0.2s ease-in-out, opacity 0.2s ease-in-out, visibility 0.2s ease-in-out,\n box-shadow 0.1s ease-in-out;\n\n &:first-child {\n margin-left: 0;\n }\n &:nth-child(n + 4) {\n display: none;\n }\n }\n\n &.pc-AvatarStack--two {\n min-width: 30px;\n .pc-AvatarItem {\n &:nth-child(n + 3) {\n display: none;\n }\n }\n }\n\n &.pc-AvatarStack--three-plus {\n min-width: 38px;\n .pc-AvatarItem {\n &:nth-child(3) {\n opacity: ${100 - 3 * 15}%;\n margin-left: -17px;\n }\n &:nth-child(4) {\n opacity: ${100 - 4 * 15}%;\n margin-left: -17px;\n }\n &:nth-child(5) {\n opacity: ${100 - 5 * 15}%;\n margin-left: -17px;\n }\n &:nth-child(n + 4) {\n display: block;\n }\n &:nth-child(n + 6) {\n opacity: 0;\n visibility: hidden;\n }\n }\n }\n\n &.pc-AvatarStack--right {\n justify-content: flex-end;\n .pc-AvatarItem {\n margin-left: 0 !important;\n margin-right: -11px;\n\n &:first-child {\n margin-right: 0;\n }\n }\n\n .pc-AvatarStackBody {\n flex-direction: row-reverse;\n\n &:hover {\n .pc-AvatarItem {\n margin-right: ${get('space.1')}!important;\n margin-left: 0 !important;\n\n &:first-child {\n margin-right: 0 !important;\n }\n }\n }\n }\n }\n\n &.pc-AvatarStack--three-plus.pc-AvatarStack--right {\n .pc-AvatarItem {\n &:nth-child(3) {\n margin-right: -17px;\n }\n &:nth-child(4) {\n margin-right: -17px;\n }\n &:nth-child(5) {\n margin-right: -17px;\n }\n }\n }\n\n .pc-AvatarStackBody:hover {\n width: auto;\n\n .pc-AvatarItem {\n margin-left: ${get('space.1')};\n opacity: 100%;\n visibility: visible;\n box-shadow: 0 0 0 4px ${get('colors.bg.canvas')};\n &:first-child {\n margin-left: 0;\n }\n }\n }\n\n ${COMMON}\n ${sx};\n`\nconst transformChildren = (children: React.ReactNode) => {\n return React.Children.map(children, (child, index) => {\n if (!React.isValidElement(child)) return child\n return React.cloneElement(child, {\n className: classnames(child.props.className, 'pc-AvatarItem'),\n sx: {zIndex: 10 - index, ...child.props.sx}\n })\n })\n}\n\nexport type AvatarStackProps = {\n alignRight?: boolean\n} & ComponentProps<typeof AvatarStackWrapper>\n\nconst AvatarStack = ({children, alignRight, ...rest}: AvatarStackProps) => {\n const count = React.Children.count(children)\n const wrapperClassNames = classnames({\n 'pc-AvatarStack--two': count === 2,\n 'pc-AvatarStack--three-plus': count > 2,\n 'pc-AvatarStack--right': alignRight\n })\n return (\n <AvatarStackWrapper count={count} className={wrapperClassNames} {...rest}>\n <Box position=\"absolute\" display=\"flex\" width=\"38px\" className=\"pc-AvatarStackBody\">\n {transformChildren(children)}\n </Box>\n </AvatarStackWrapper>\n )\n}\n\nexport default AvatarStack\n","import styled from 'styled-components'\nimport {COMMON, get, SystemCommonProps} from './constants'\nimport sx, {SxProp} from './sx'\nimport {ComponentProps} from './utils/types'\n\nconst BranchName = styled.a<SystemCommonProps & SxProp>`\n display: inline-block;\n padding: 2px 6px;\n font-size: ${get('fontSizes.0')};\n font-family: ${get('fonts.mono')};\n color: ${get('colors.branchName.text')};\n background-color: ${get('colors.branchName.bg')};\n border-radius: ${get('radii.2')};\n ${COMMON};\n ${sx};\n`\n\nexport type BranchNameProps = ComponentProps<typeof BranchName>\nexport default BranchName\n","import classnames from 'classnames'\n// eslint-disable-next-line import/no-namespace\nimport * as History from 'history'\nimport React from 'react'\nimport styled from 'styled-components'\nimport Box from './Box'\nimport {COMMON, FLEX, get, SystemCommonProps, SystemFlexProps} from './constants'\nimport sx, {SxProp} from './sx'\nimport {ComponentProps} from './utils/types'\n\nconst SELECTED_CLASS = 'selected'\n\nconst Wrapper = styled.li`\n display: inline-block;\n white-space: nowrap;\n list-style: none;\n &::after {\n padding-right: 0.5em;\n padding-left: 0.5em;\n color: ${get('colors.text.disabled')};\n font-size: ${get('fontSizes.1')};\n content: '/';\n }\n &:first-child {\n margin-left: 0;\n }\n &:last-child {\n &::after {\n content: none;\n }\n }\n`\n\nconst BreadcrumbBase = styled.nav<SystemFlexProps & SystemCommonProps & SxProp>`\n display: flex;\n justify-content: space-between;\n ${COMMON};\n ${FLEX};\n ${sx};\n`\n\nexport type BreadcrumbProps = ComponentProps<typeof BreadcrumbBase>\n\nfunction Breadcrumb({className, children, theme, ...rest}: React.PropsWithChildren<BreadcrumbProps>) {\n const classes = classnames(className, 'Breadcrumb')\n const wrappedChildren = React.Children.map(children, child => <Wrapper theme={theme}>{child}</Wrapper>)\n return (\n <BreadcrumbBase className={classes} aria-label=\"breadcrumb\" theme={theme} {...rest}>\n <Box as=\"ol\" my={0} pl={0}>\n {wrappedChildren}\n </Box>\n </BreadcrumbBase>\n )\n}\n\ntype StyledBreadcrumbItemProps = {\n to?: History.LocationDescriptor\n selected?: boolean\n} & SystemCommonProps &\n SxProp\n\nconst BreadcrumbItem = styled.a.attrs<StyledBreadcrumbItemProps>(props => ({\n activeClassName: typeof props.to === 'string' ? 'selected' : '',\n className: classnames(props.selected && SELECTED_CLASS, props.className),\n 'aria-current': props.selected ? 'page' : null\n}))<StyledBreadcrumbItemProps>`\n color: ${get('colors.text.link')};\n display: inline-block;\n font-size: ${get('fontSizes.1')};\n text-decoration: none;\n &:hover {\n text-decoration: underline;\n }\n &.selected {\n color: ${get('colors.text.primary')};\n pointer-events: none;\n }\n ${COMMON}\n ${sx};\n`\n\nBreadcrumb.displayName = 'Breadcrumb'\n\nBreadcrumbItem.displayName = 'Breadcrumb.Item'\n\nexport type BreadcrumbItemProps = ComponentProps<typeof BreadcrumbItem>\nexport default Object.assign(Breadcrumb, {Item: BreadcrumbItem})\n","import React from 'react'\nimport {ThemeContext} from 'styled-components'\nimport {style} from 'styled-system'\nimport {Theme} from './ThemeProvider'\n\ntype Location =\n | 'top'\n | 'top-left'\n | 'top-right'\n | 'right'\n | 'right-top'\n | 'right-bottom'\n | 'bottom'\n | 'bottom-left'\n | 'bottom-right'\n | 'left'\n | 'left-top'\n | 'left-bottom'\n\ntype Alignment = 'top' | 'right' | 'bottom' | 'left'\n\nconst oppositeEdge = {\n top: 'Bottom',\n right: 'Left',\n bottom: 'Top',\n left: 'Right'\n}\n\nconst perpendicularEdge = {\n top: 'Left',\n right: 'Top',\n bottom: 'Left',\n left: 'Top'\n}\n\nfunction getEdgeAlign(location: Location) {\n const [edge, align] = location.split('-')\n return [edge as Alignment, align as Alignment | undefined] as const\n}\n\nfunction getPosition(edge: Alignment, align: Alignment | undefined, spacing: number) {\n const opposite = oppositeEdge[edge].toLowerCase()\n const perp = perpendicularEdge[edge].toLowerCase()\n return {\n [opposite]: '100%',\n [align || perp]: align ? spacing : '50%'\n }\n}\n\nconst getBg = style({prop: 'bg', key: 'colors'})\nconst getBorderColor = style({prop: 'borderColor', key: 'colors'})\nconst getBorderWidth = style({prop: 'borderWidth', key: 'borderWidths', scale: [0, 1]})\n\nexport type CaretProps = {\n bg?: string\n borderColor?: string\n borderWidth?: string | number\n size?: number\n location?: Location\n theme?: Theme\n}\n\nfunction Caret(props: CaretProps) {\n const theme = React.useContext(ThemeContext)\n const propsWithTheme = {...props, theme: props.theme ?? theme}\n const {bg} = getBg(propsWithTheme)\n const {borderColor} = getBorderColor(propsWithTheme)\n const {borderWidth} = getBorderWidth(propsWithTheme)\n const {size = 8, location = 'bottom'} = props\n const [edge, align] = getEdgeAlign(location)\n const perp = perpendicularEdge[edge]\n\n // note: these arrays represent points in the form [x, y]\n const a = [-size, 0]\n const b = [0, size]\n const c = [size, 0]\n\n // spaces are optional in path `d` attribute, and points are\n // represented in the form `x,y` -- which is what the arrays above\n // become when stringified!\n const triangle = `M${a}L${b}L${c}L${a}Z`\n const line = `M${a}L${b}L${c}`\n\n const transform = {\n top: `translate(${[size, size * 2]}) rotate(180)`,\n right: `translate(${[0, size]}) rotate(-90)`,\n bottom: `translate(${[size, 0]})`,\n left: `translate(${[size * 2, size]}) rotate(90)`\n }[edge]\n\n return (\n <svg\n width={size * 2}\n height={size * 2}\n style={{\n pointerEvents: 'none',\n position: 'absolute',\n ...getPosition(edge, align, size),\n // if align is set (top|right|bottom|left),\n // then we don't need an offset margin\n [`margin${perp}`]: align ? null : -size\n }}\n >\n <g transform={transform}>\n <path d={triangle} fill={bg} />\n <path d={line} fill=\"none\" stroke={borderColor} strokeWidth={borderWidth} />\n </g>\n </svg>\n )\n}\n\nCaret.locations = [\n 'top',\n 'top-left',\n 'top-right',\n 'right',\n 'right-top',\n 'right-bottom',\n 'bottom',\n 'bottom-left',\n 'bottom-right',\n 'left',\n 'left-top',\n 'left-bottom'\n]\n\nCaret.defaultProps = {\n bg: 'bg.canvas',\n borderColor: 'border.primary',\n borderWidth: 1\n}\n\nexport default Caret\n","import styled from 'styled-components'\nimport {COMMON, get, SystemCommonProps} from './constants'\nimport StyledOcticon from './StyledOcticon'\nimport sx, {SxProp} from './sx'\nimport isNumeric from './utils/isNumeric'\nimport {ComponentProps} from './utils/types'\n\nconst variantSizes = {\n small: 56,\n medium: 96,\n large: 128\n}\n\ntype StyledCircleBadgeProps = {\n inline?: boolean\n variant?: keyof typeof variantSizes\n size?: number\n} & SystemCommonProps &\n SxProp\n\nconst sizeStyles = ({size, variant = 'medium'}: StyledCircleBadgeProps) => {\n const calc = isNumeric(size) ? size : variantSizes[variant]\n return {\n width: calc,\n height: calc\n }\n}\n\nconst CircleBadge = styled.div<StyledCircleBadgeProps>`\n display: ${props => (props.inline ? 'inline-flex' : 'flex')};\n align-items: center;\n justify-content: center;\n background-color: ${get('colors.bg.canvas')};\n border-radius: 50%;\n box-shadow: ${get('shadows.shadow.medium')};\n ${COMMON};\n ${sizeStyles};\n ${sx};\n`\n\nconst CircleBadgeIcon = styled(StyledOcticon)`\n height: auto;\n max-width: 60%;\n max-height: 55%;\n`\n\nCircleBadge.defaultProps = {\n inline: false\n}\n\nCircleBadgeIcon.displayName = 'CircleBadge.Icon'\n\nexport type CircleBadgeProps = ComponentProps<typeof CircleBadge>\nexport type CircleBadgeIconProps = ComponentProps<typeof CircleBadgeIcon>\nexport default Object.assign(CircleBadge, {Icon: CircleBadgeIcon})\n","// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport default function isNumeric(n: any) {\n return !isNaN(parseFloat(n)) && isFinite(n)\n}\n","import {IconProps} from '@primer/octicons-react'\nimport React from 'react'\nimport Box, {BoxProps} from './Box'\n\nexport type CircleOcticonProps = {\n as?: React.ElementType\n size?: number\n icon: React.ComponentType<{size?: IconProps['size']}>\n} & BoxProps\n\nfunction CircleOcticon(props: CircleOcticonProps) {\n const {size, as} = props\n const {icon: IconComponent, bg, ...rest} = props\n return (\n <Box\n as={as}\n bg={bg}\n overflow=\"hidden\"\n borderWidth={0}\n size={size}\n borderRadius=\"50%\"\n borderStyle=\"solid\"\n borderColor=\"border.primary\"\n >\n <Box display=\"flex\" {...rest} alignItems=\"center\" justifyContent=\"center\">\n <IconComponent size={size} />\n </Box>\n </Box>\n )\n}\n\nCircleOcticon.defaultProps = {\n ...Box.defaultProps,\n size: 32\n}\n\nexport default CircleOcticon\n","import styled from 'styled-components'\nimport {COMMON, get, SystemCommonProps} from './constants'\nimport sx, {SxProp} from './sx'\nimport {ComponentProps} from './utils/types'\n\ntype StyledCounterLabelProps = {\n scheme?: 'primary' | 'secondary'\n} & SystemCommonProps &\n SxProp\n\nconst colorStyles = ({scheme, ...props}: StyledCounterLabelProps) => {\n return {\n color:\n scheme === 'secondary'\n ? get('colors.counter.text')(props)\n : scheme === 'primary'\n ? get('colors.counter.primary.text')(props)\n : get('colors.counter.text')(props)\n }\n}\n\nconst bgStyles = ({scheme, ...props}: StyledCounterLabelProps) => {\n return {\n backgroundColor:\n scheme === 'secondary'\n ? get('colors.counter.bg')(props)\n : scheme === 'primary'\n ? get('colors.counter.primary.bg')(props)\n : get('colors.counter.bg')(props)\n }\n}\n\nconst CounterLabel = styled.span<StyledCounterLabelProps>`\n display: inline-block;\n padding: 2px 5px;\n font-size: ${get('fontSizes.0')};\n font-weight: ${get('fontWeights.bold')};\n line-height: ${get('lineHeights.condensedUltra')};\n border-radius: 20px;\n ${colorStyles};\n ${bgStyles};\n ${COMMON};\n\n &:empty {\n display: none;\n }\n\n ${sx};\n`\n\nexport type CounterLabelProps = ComponentProps<typeof CounterLabel>\nexport default CounterLabel\n","import styled from 'styled-components'\nimport {COMMON, SystemCommonProps} from './constants'\nimport sx, {SxProp} from './sx'\nimport {ComponentProps} from './utils/types'\n\ntype StyledDetailsProps = SystemCommonProps & SxProp\n\nconst Details = styled.details<StyledDetailsProps>`\n & > summary {\n list-style: none;\n }\n & > summary::-webkit-details-marker {\n display: none;\n }\n\n ${COMMON}\n ${sx};\n`\n\nDetails.displayName = 'Details'\n\nexport type DetailsProps = ComponentProps<typeof Details>\nexport default Details\n","import {useCallback, useEffect} from 'react'\n\nconst noop = () => null\n\nfunction visible(el: HTMLInputElement) {\n return !el.hidden && (!el.type || el.type !== 'hidden') && (el.offsetWidth > 0 || el.offsetHeight > 0)\n}\n\nfunction focusable(el: Element) {\n const inputEl = el as HTMLInputElement\n return inputEl.tabIndex >= 0 && !inputEl.disabled && visible(inputEl)\n}\n\ntype UseDialogParameters = {\n modalRef: React.RefObject<HTMLElement>\n overlayRef: React.RefObject<HTMLElement>\n isOpen?: boolean\n onDismiss?: () => void\n initialFocusRef?: React.RefObject<HTMLElement>\n closeButtonRef?: React.RefObject<HTMLElement>\n returnFocusRef?: React.RefObject<HTMLElement>\n}\n\nfunction useDialog({\n modalRef,\n overlayRef,\n isOpen,\n onDismiss = noop,\n initialFocusRef,\n closeButtonRef\n}: UseDialogParameters) {\n const onClickOutside = useCallback(\n e => {\n if (\n modalRef.current &&\n overlayRef.current &&\n !modalRef.current.contains(e.target) &&\n overlayRef.current.contains(e.target)\n ) {\n onDismiss()\n }\n },\n [onDismiss, modalRef, overlayRef]\n )\n\n useEffect(() => {\n if (isOpen) {\n document.addEventListener('click', onClickOutside)\n return () => {\n document.removeEventListener('click', onClickOutside)\n }\n }\n }, [isOpen, onClickOutside])\n\n useEffect(() => {\n if (isOpen) {\n if (initialFocusRef && initialFocusRef.current) {\n initialFocusRef.current.focus()\n } else if (closeButtonRef && closeButtonRef.current) {\n closeButtonRef.current.focus()\n }\n }\n }, [isOpen, initialFocusRef, closeButtonRef])\n\n const getFocusableItem = useCallback(\n (e: Event, movement: number) => {\n if (modalRef.current) {\n const items = Array.from(modalRef.current.querySelectorAll('*')).filter(focusable)\n if (items.length === 0) return\n e.preventDefault()\n const focusedElement = document.activeElement\n if (!focusedElement) {\n return\n }\n\n const index = items.indexOf(focusedElement)\n const offsetIndex = index + movement\n const fallbackIndex = movement === 1 ? 0 : items.length - 1\n const focusableItem = items[offsetIndex] || items[fallbackIndex]\n return focusableItem as HTMLElement\n }\n },\n [modalRef]\n )\n\n const handleTab = useCallback(\n e => {\n const movement = e.shiftKey ? -1 : 1\n const focusableItem = getFocusableItem(e, movement)\n if (!focusableItem) {\n return\n }\n\n focusableItem.focus()\n },\n [getFocusableItem]\n )\n\n const onKeyDown = useCallback(\n event => {\n switch (event.key) {\n case 'Tab':\n handleTab(event)\n break\n case 'Escape':\n onDismiss()\n event.stopPropagation()\n break\n }\n },\n [handleTab, onDismiss]\n )\n\n const getDialogProps = () => {\n return {onKeyDown}\n }\n\n return {getDialogProps}\n}\n\nexport default useDialog\n","import styled from 'styled-components'\nimport {COMMON, SystemCommonProps, SystemTypographyProps, TYPOGRAPHY} from './constants'\nimport sx, {SxProp} from './sx'\nimport {ComponentProps} from './utils/types'\n\nconst Text = styled.span<SystemTypographyProps & SystemCommonProps & SxProp>`\n ${TYPOGRAPHY};\n ${COMMON};\n ${sx};\n`\n\nexport type TextProps = ComponentProps<typeof Text>\nexport default Text\n","import React, {forwardRef, useRef} from 'react'\nimport styled from 'styled-components'\nimport ButtonClose from './Button/ButtonClose'\nimport {COMMON, get, LAYOUT, SystemCommonProps, SystemLayoutProps} from './constants'\nimport Box from './Box'\nimport useDialog from './hooks/useDialog'\nimport sx, {SxProp} from './sx'\nimport Text from './Text'\nimport {ComponentProps} from './utils/types'\nimport {useCombinedRefs} from './hooks/useCombinedRefs'\n\nconst noop = () => null\n\ntype StyledDialogBaseProps = {\n narrow?: boolean\n wide?: boolean\n} & SystemLayoutProps &\n SystemCommonProps &\n SxProp\n\nconst DialogBase = styled.div<StyledDialogBaseProps>`\n box-shadow: ${get('shadows.shadow.large')};\n border-radius: ${get('radii.2')};\n position: fixed;\n top: 0;\n left: 50%;\n transform: translateX(-50%);\n max-height: 80vh;\n z-index: 999;\n margin: 10vh auto;\n background-color: ${get('colors.bg.primary')};\n width: ${props => (props.narrow ? '320px' : props.wide ? '640px' : '440px')};\n outline: none;\n\n @media screen and (max-width: 750px) {\n width: 100vw;\n margin: 0;\n border-radius: 0;\n height: 100vh;\n }\n\n ${LAYOUT};\n ${COMMON};\n ${sx};\n`\n\nconst DialogHeaderBase = styled(Box)<SxProp>`\n border-radius: ${get('radii.2')} ${get('radii.2')} 0px 0px;\n border-bottom: 1px solid ${get('colors.border.primary')};\n display: flex;\n\n @media screen and (max-width: 750px) {\n border-radius: 0px;\n }\n\n ${sx};\n`\nexport type DialogHeaderProps = ComponentProps<typeof DialogHeaderBase>\n\nfunction DialogHeader({theme, children, backgroundColor = 'gray.1', ...rest}: DialogHeaderProps) {\n if (React.Children.toArray(children).every(ch => typeof ch === 'string')) {\n children = (\n <Text theme={theme} color=\"text.primary\" fontSize={1} fontWeight=\"bold\" fontFamily=\"sans-serif\">\n {children}\n </Text>\n )\n }\n\n return (\n <DialogHeaderBase theme={theme} p={3} backgroundColor={backgroundColor} {...rest}>\n {children}\n </DialogHeaderBase>\n )\n}\n\nconst Overlay = styled.span`\n &:before {\n position: fixed;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n display: block;\n cursor: default;\n content: ' ';\n background: transparent;\n z-index: 99;\n background: ${get('colors.fade.black50')};\n }\n`\n\ntype InternalDialogProps = {\n isOpen?: boolean\n onDismiss?: () => void\n initialFocusRef?: React.RefObject<HTMLElement>\n returnFocusRef?: React.RefObject<HTMLElement>\n} & ComponentProps<typeof DialogBase>\n\nconst Dialog = forwardRef<HTMLDivElement, InternalDialogProps>(\n ({children, onDismiss = noop, isOpen, initialFocusRef, returnFocusRef, ...props}, forwardedRef) => {\n const overlayRef = useRef(null)\n const modalRef = useCombinedRefs(forwardedRef)\n const closeButtonRef = useRef(null)\n\n const onCloseClick = () => {\n onDismiss()\n if (returnFocusRef && returnFocusRef.current) {\n returnFocusRef.current.focus()\n }\n }\n\n const {getDialogProps} = useDialog({\n modalRef,\n onDismiss: onCloseClick,\n isOpen,\n initialFocusRef,\n closeButtonRef,\n returnFocusRef,\n overlayRef\n })\n return isOpen ? (\n <>\n <Overlay ref={overlayRef} />\n <DialogBase tabIndex={-1} ref={modalRef} role=\"dialog\" aria-modal=\"true\" {...props} {...getDialogProps()}>\n <ButtonClose\n ref={closeButtonRef}\n onClick={onCloseClick}\n sx={{position: 'absolute', top: '16px', right: '16px'}}\n />\n {children}\n </DialogBase>\n </>\n ) : null\n }\n)\n\nDialogHeader.defaultProps = {\n backgroundColor: 'bg.tertiary'\n}\n\nDialogHeader.propTypes = {\n ...Box.propTypes\n}\n\nDialogHeader.displayName = 'Dialog.Header'\nDialog.displayName = 'Dialog'\n\nexport type DialogProps = ComponentProps<typeof Dialog>\nexport default Object.assign(Dialog, {Header: DialogHeader})\n","import {get} from './constants'\nimport {Theme} from './ThemeProvider'\n\nconst getDirectionStyles = (theme: Theme, direction: 'ne' | 'e' | 'se' | 's' | 'sw' | 'w') => {\n const map = {\n w: `\n top: 0;\n right: 100%;\n left: auto;\n width: auto;\n margin-top: 0;\n margin-right: 10px;\n\n &::before {\n top: 10px;\n right: -16px;\n left: auto;\n border-color: transparent;\n border-left-color: ${get('colors.border.overlay')(theme)};\n }\n\n &::after {\n top: 11px;\n right: -14px;\n left: auto;\n border-color: transparent;\n border-left-color: ${get('colors.border.overlay')(theme)};\n }\n `,\n e: `\n top: 0;\n left: 100%;\n width: auto;\n margin-top: 0;\n margin-left: 10px;\n\n &::before {\n top: 10px;\n left: -16px;\n border-color: transparent;\n border-right-color: ${get('colors.border.overlay')(theme)};\n }\n\n &::after {\n top: 11px;\n left: -14px;\n border-color: transparent;\n border-right-color: ${get('colors.border.overlay')(theme)};\n }\n `,\n ne: `\n top: auto;\n bottom: 100%;\n left: 0;\n margin-bottom: 3px;\n\n &::before,\n &::after {\n top: auto;\n right: auto;\n }\n\n &::before {\n bottom: -8px;\n left: 9px;\n border-top: 8px solid ${get('colors.border.overlay')(theme)};\n border-bottom: 0;\n border-left: 8px solid transparent;\n }\n\n &::after {\n bottom: -7px;\n left: 10px;\n border-top: 7px solid ${get('colors.border.overlay')(theme)};\n border-right: 7px solid transparent;\n border-bottom: 0;\n border-left: 7px solid transparent;\n }\n `,\n s: `\n right: 50%;\n left: auto;\n transform: translateX(50%);\n\n &::before {\n top: -16px;\n right: 50%;\n transform: translateX(50%);\n }\n\n &::after {\n top: -14px;\n right: 50%;\n transform: translateX(50%);\n }\n `,\n sw: `\n right: 0;\n left: auto;\n\n &::before {\n top: -16px;\n right: 9px;\n left: auto;\n }\n\n &::after {\n top: -14px;\n right: 10px;\n left: auto;\n }\n `,\n se: `\n &::before {\n top: -16px;\n left: 9px;\n }\n\n &::after {\n top: -14px;\n left: 10px;\n }\n `\n }\n return map[direction]\n}\n\nexport default getDirectionStyles\n","import React from 'react'\nimport styled from 'styled-components'\nimport Button, {ButtonProps} from './Button'\nimport {COMMON, get, SystemCommonProps} from './constants'\nimport Details, {DetailsProps} from './Details'\nimport getDirectionStyles from './DropdownStyles'\nimport useDetails from './hooks/useDetails'\nimport sx, {SxProp} from './sx'\nimport {ComponentProps} from './utils/types'\n\nconst StyledDetails = styled(Details)`\n position: relative;\n display: inline-block;\n`\n\nexport type DropdownProps = DetailsProps\n\nconst Dropdown = ({children, className, ...rest}: DropdownProps) => {\n const {getDetailsProps} = useDetails({closeOnOutsideClick: true})\n return (\n <StyledDetails className={className} {...getDetailsProps()} {...rest}>\n {children}\n </StyledDetails>\n )\n}\n\nexport type DropdownButtonProps = ButtonProps\n\nconst DropdownButton = ({children, ...rest}: DropdownButtonProps) => {\n return (\n <Button as=\"summary\" aria-haspopup=\"true\" {...rest}>\n {children}\n <DropdownCaret />\n </Button>\n )\n}\n\nconst DropdownCaret = styled.div<SystemCommonProps & SxProp>`\n border: 4px solid transparent;\n margin-left: 12px;\n border-top-color: currentcolor;\n border-bottom-width: 0;\n content: '';\n display: inline-block;\n height: 0;\n vertical-align: middle;\n width: 0;\n ${COMMON};\n ${sx};\n`\n\ntype StyledDropdownMenuProps = {\n direction?: 'ne' | 'e' | 'se' | 's' | 'sw' | 'w'\n} & SystemCommonProps &\n SxProp\n\nconst DropdownMenu = styled.ul<StyledDropdownMenuProps>`\n background-clip: padding-box;\n background-color: ${get('colors.bg.overlay')};\n border: 1px solid ${get('colors.border.overlay')};\n border-radius: ${get('radii.2')};\n box-shadow: ${get('shadows.dropdown.shadow')};\n left: 0;\n list-style: none;\n margin-top: 2px;\n padding: 5px 0 5px 0 !important; //TODO: fix this override on our markdown styles\n position: absolute;\n top: 100%;\n width: 160px;\n z-index: 100;\n\n &::before {\n position: absolute;\n display: inline-block;\n content: '';\n }\n\n &::after {\n position: absolute;\n display: inline-block;\n content: '';\n }\n\n &::before {\n border: 8px solid transparent;\n border-bottom-color: ${get('colors.bg.overlay')};\n }\n\n &::after {\n border: 7px solid transparent;\n border-bottom-color: ${get('colors.bg.overlay')};\n }\n\n // stylelint-disable-next-line selector-max-type\n > ul {\n list-style: none;\n }\n ${props => (props.direction ? getDirectionStyles(props.theme, props.direction) : '')};\n ${COMMON};\n ${sx};\n`\n\nconst DropdownItem = styled.li`\n display: block;\n padding: ${get('space.1')} 10px ${get('space.1')} 15px;\n overflow: hidden;\n color: ${get('colors.text.primary')};\n text-overflow: ellipsis;\n white-space: nowrap;\n a {\n color: ${get('colors.text.primary')};\n text-decoration: none;\n display: block;\n overflow: hidden;\n color: ${get('colors.text.primary')};\n text-overflow: ellipsis;\n white-space: nowrap;\n }\n\n &:focus,\n a:focus {\n color: ${get('colors.state.hover.primaryText')};\n text-decoration: none;\n background-color: ${get('colors.state.hover.primaryBg')};\n }\n\n &:hover,\n &:hover a {\n color: ${get('colors.state.hover.primaryText')};\n text-decoration: none;\n background-color: ${get('colors.state.hover.primaryBg')};\n outline: none;\n }\n ${COMMON};\n ${sx};\n`\n\nDropdownMenu.defaultProps = {direction: 'sw'}\nDropdownMenu.displayName = 'Dropdown.Menu'\n\nDropdownItem.displayName = 'Dropdown.Item'\n\nDropdownButton.defaultProps = Button.defaultProps\nDropdownButton.displayName = 'Dropdown.Button'\n\nDropdownCaret.displayName = 'Dropdown.Caret'\n\nDropdown.defaultProps = Details.defaultProps\n\nexport type DropdownCaretProps = ComponentProps<typeof DropdownCaret>\nexport type DropdownMenuProps = ComponentProps<typeof DropdownMenu>\nexport type DropdownItemProps = ComponentProps<typeof DropdownItem>\nexport default Object.assign(Dropdown, {\n Caret: DropdownCaret,\n Menu: DropdownMenu,\n Item: DropdownItem,\n Button: DropdownButton\n})\n","import React from 'react'\nimport {TriangleDownIcon} from '@primer/octicons-react'\nimport Button, {ButtonProps} from '../Button/Button'\nimport StyledOcticon from '../StyledOcticon'\n\nexport type DropdownButtonProps = ButtonProps\n\nexport const DropdownButton = React.forwardRef<HTMLElement, React.PropsWithChildren<DropdownButtonProps>>(\n ({children, ...props}: React.PropsWithChildren<DropdownButtonProps>, ref): JSX.Element => (\n <Button ref={ref} type=\"button\" {...props}>\n {children}\n <StyledOcticon icon={TriangleDownIcon} ml={1} />\n </Button>\n )\n)\n","import React, {useCallback, useMemo} from 'react'\nimport {List, GroupedListProps, ListPropsBase, ItemInput} from '../ActionList/List'\nimport {DropdownButton, DropdownButtonProps} from './DropdownButton'\nimport {ItemProps} from '../ActionList/Item'\nimport {AnchoredOverlay} from '../AnchoredOverlay'\nimport {OverlayProps} from '../Overlay'\nimport {AnchoredOverlayWrapperAnchorProps} from '../AnchoredOverlay/AnchoredOverlay'\nimport {useProvidedRefOrCreate} from '../hooks/useProvidedRefOrCreate'\nimport {useProvidedStateOrCreate} from '../hooks/useProvidedStateOrCreate'\n\ninterface DropdownMenuBaseProps extends Partial<Omit<GroupedListProps, keyof ListPropsBase>>, ListPropsBase {\n /**\n * A placeholder value to display on the trigger button when no selection has been made.\n */\n placeholder?: string\n\n /**\n * An `ItemProps` item from the list of `items` which is currently selected. This item will receive a checkmark next to it in the menu.\n */\n selectedItem?: ItemInput\n\n /**\n * A callback which receives the selected item or `undefined` when an item is activated in the menu. If the activated item is the same as the current\n * `selectedItem`, `undefined` will be passed.\n */\n onChange?: (item?: ItemInput) => unknown\n\n /**\n * Props to be spread on the internal `Overlay` component.\n */\n overlayProps?: Partial<OverlayProps>\n\n /**\n * If defined, will control the open/closed state of the overlay. If not defined, the overlay will manage its own state (in other words, an\n * uncontrolled component). Must be used in conjuction with `onOpenChange`.\n */\n open?: boolean\n\n /**\n * If defined, will control the open/closed state of the overlay. Must be used in conjuction with `open`.\n */\n onOpenChange?: (open: boolean) => void\n}\n\nexport type DropdownMenuProps = DropdownMenuBaseProps & AnchoredOverlayWrapperAnchorProps\n\n/**\n * A `DropdownMenu` provides an anchor (button by default) that will open a floating menu of selectable items. The menu can be\n * opened and navigated using keyboard or mouse. When an item is selected, the menu will close and the `onChange` callback will be called.\n * If the default anchor button is used, the anchor contents will be updated with the selection.\n */\nexport function DropdownMenu({\n renderAnchor = <T extends DropdownButtonProps>(props: T) => <DropdownButton {...props} />,\n anchorRef: externalAnchorRef,\n placeholder,\n selectedItem,\n onChange,\n overlayProps,\n items,\n open,\n onOpenChange,\n ...listProps\n}: DropdownMenuProps): JSX.Element {\n const [combinedOpenState, setCombinedOpenState] = useProvidedStateOrCreate(open, onOpenChange, false)\n const onOpen = useCallback(() => setCombinedOpenState(true), [setCombinedOpenState])\n const onClose = useCallback(() => setCombinedOpenState(false), [setCombinedOpenState])\n\n const anchorRef = useProvidedRefOrCreate(externalAnchorRef)\n\n const renderMenuAnchor = useMemo(() => {\n if (renderAnchor === null) {\n return null\n }\n return <T extends React.HTMLAttributes<HTMLElement>>(props: T) =>\n renderAnchor({\n ...props,\n children: selectedItem?.text ?? placeholder\n })\n }, [placeholder, renderAnchor, selectedItem?.text])\n\n const itemsToRender = useMemo(() => {\n return items.map(item => {\n return {\n ...item,\n role: 'option',\n selected: item === selectedItem,\n onAction: (itemFromAction, event) => {\n item.onAction?.(itemFromAction, event)\n\n if (event.defaultPrevented) {\n return\n }\n\n onClose()\n onChange?.(item === selectedItem ? undefined : item)\n }\n } as ItemProps\n })\n }, [items, onChange, onClose, selectedItem])\n\n return (\n <AnchoredOverlay\n renderAnchor={renderMenuAnchor}\n anchorRef={anchorRef}\n open={combinedOpenState}\n onOpen={onOpen}\n onClose={onClose}\n overlayProps={overlayProps}\n >\n <List {...listProps} role=\"listbox\" items={itemsToRender} />\n </AnchoredOverlay>\n )\n}\n\nDropdownMenu.displayName = 'DropdownMenu'\n","import styled from 'styled-components'\nimport {COMMON, get, SystemCommonProps} from './constants'\nimport sx, {SxProp} from './sx'\nimport {ComponentProps} from './utils/types'\n\nconst FilteredSearch = styled.div<SystemCommonProps & SxProp>`\n ${COMMON};\n display: flex;\n align-items: stretch;\n\n summary {\n border-radius: 0;\n border-top-left-radius: ${get('radii.2')};\n border-bottom-left-radius: ${get('radii.2')};\n border-right: 0;\n }\n .TextInput-wrapper {\n border-radius: 0;\n border-top-right-radius: ${get('radii.2')};\n border-bottom-right-radius: ${get('radii.2')};\n z-index: 1; // Allows the focus outline to show on top of the dropdown.\n }\n\n ${sx}\n`\n\nexport type FilteredSearchProps = ComponentProps<typeof FilteredSearch>\nexport default FilteredSearch\n","import React from 'react'\nimport styled from 'styled-components'\nimport {COMMON, get, SystemCommonProps} from './constants'\nimport sx, {SxProp} from './sx'\nimport {ComponentProps} from './utils/types'\n\nconst FilterListBase = styled.ul<SystemCommonProps & SxProp>`\n list-style-type: none;\n ${COMMON};\n ${sx};\n`\n\nexport type FilterListProps = ComponentProps<typeof FilterListBase>\n\nconst FilterList = ({children, ...rest}: React.PropsWithChildren<FilterListProps>) => {\n const items = React.Children.map(children, child => {\n return <li>{child}</li>\n })\n\n return <FilterListBase {...rest}>{items}</FilterListBase>\n}\n\ntype StyledFilterListItemBaseProps = {\n small?: boolean\n selected?: boolean\n} & SystemCommonProps &\n SxProp\n\nconst FilterListItemBase = styled.a<StyledFilterListItemBaseProps>`\n position: relative;\n display: block;\n padding: ${props => (props.small ? `${get('space.1')(props)} 10px` : `${get('space.2')(props)} 11px`)};\n margin: ${props => (props.small ? '0 0 2px' : '0 0 5px 0')};\n overflow: hidden;\n font-size: ${get('fontSizes.1')};\n color: ${props => (props.selected ? get('colors.state.selected.primaryText') : get('colors.text.secondary'))};\n background-color: ${props => (props.selected ? get('colors.state.selected.primaryBg') : '')}!important;\n text-decoration: none;\n text-overflow: ellipsis;\n white-space: nowrap;\n cursor: pointer;\n border-radius: ${get('radii.1')};\n &:hover {\n text-decoration: none;\n background-color: ${get('colors.bg.tertiary')};\n }\n &:active {\n color: ${get('colors.state.selected.primaryText')};\n background-color: ${get('colors.state.selected.primaryBg')};\n }\n .count {\n float: right;\n font-weight: ${get('fontWeights.bold')};\n }\n ${COMMON};\n ${sx};\n`\n\nexport type FilterListItemProps = {count?: number} & ComponentProps<typeof FilterListItemBase>\n\nfunction FilterListItem({children, count, ...rest}: React.PropsWithChildren<FilterListItemProps>) {\n return (\n <FilterListItemBase {...rest}>\n {count && (\n <span title=\"results\" className=\"count\">\n {count}\n </span>\n )}\n {children}\n </FilterListItemBase>\n )\n}\n\nFilterList.defaultProps = {\n m: 0,\n p: 0\n}\n\nFilterListItem.displayName = 'FilterList.Item'\n\nexport default Object.assign(FilterList, {Item: FilterListItem})\n","import styled from 'styled-components'\nimport {variant} from 'styled-system'\nimport {COMMON, get, SystemCommonProps} from './constants'\nimport sx, {SxProp} from './sx'\nimport {ComponentProps} from './utils/types'\n\nconst variants = variant({\n variants: {\n default: {\n color: 'alert.info.text',\n backgroundColor: 'alert.info.bg',\n borderColor: 'alert.info.border',\n svg: {\n color: 'alert.info.icon'\n }\n },\n success: {\n color: 'alert.success.text',\n backgroundColor: 'alert.success.bg',\n borderColor: 'alert.success.border',\n svg: {\n color: 'alert.success.icon'\n }\n },\n danger: {\n color: 'alert.error.text',\n backgroundColor: 'alert.error.bg',\n borderColor: 'alert.error.border',\n svg: {\n color: 'alert.error.icon'\n }\n },\n warning: {\n color: 'alert.warn.text',\n backgroundColor: 'alert.warn.bg',\n borderColor: 'alert.warn.border',\n svg: {\n color: 'alert.warn.icon'\n }\n }\n }\n})\n\nconst Flash = styled.div<\n {\n variant?: 'default' | 'warning' | 'success' | 'danger'\n full?: boolean\n } & SystemCommonProps &\n SxProp\n>`\n position: relative;\n color: ${get('colors.text.primary')};\n padding: ${get('space.3')};\n border-style: solid;\n border-width: ${props => (props.full ? '1px 0px' : '1px')};\n border-radius: ${props => (props.full ? '0' : get('radii.2'))};\n margin-top: ${props => (props.full ? '-1px' : '0')};\n\n p:last-child {\n margin-bottom: 0;\n }\n\n svg {\n margin-right: ${get('space.2')};\n }\n\n ${COMMON};\n ${variants};\n ${sx};\n`\n\nFlash.defaultProps = {\n variant: 'default'\n}\n\nexport type FlashProps = ComponentProps<typeof Flash>\nexport default Flash\n","import styled from 'styled-components'\nimport {COMMON, get, SystemCommonProps, SystemTypographyProps, TYPOGRAPHY} from './constants'\nimport sx, {SxProp} from './sx'\nimport {ComponentProps} from './utils/types'\n\nconst FormGroup = styled.div<SystemCommonProps & SxProp>`\n margin: ${get('space.3')} 0;\n font-weight: ${get('fontWeights.normal')};\n ${COMMON};\n ${sx};\n`\n\nconst FormGroupLabel = styled.label<SystemTypographyProps & SystemCommonProps & SxProp>`\n display: block;\n margin: 0 0 ${get('space.2')};\n font-size: ${get('fontSizes.1')};\n font-weight: ${get('fontWeights.bold')};\n ${TYPOGRAPHY};\n ${COMMON};\n ${sx};\n`\n\nFormGroupLabel.displayName = 'FormGroup.Label'\n\nexport type FormGroupProps = ComponentProps<typeof FormGroup>\nexport type FormGroupLabelProps = ComponentProps<typeof FormGroupLabel>\nexport default Object.assign(FormGroup, {Label: FormGroupLabel})\n","// eslint-disable-next-line import/no-namespace\nimport * as History from 'history'\nimport styled, {css} from 'styled-components'\nimport {BORDER, COMMON, get, SystemBorderProps, SystemCommonProps, SystemTypographyProps, TYPOGRAPHY} from './constants'\nimport sx, {SxProp} from './sx'\nimport {ComponentProps} from './utils/types'\n\ntype StyledHeaderItemProps = {full?: boolean} & SystemCommonProps & SxProp\ntype StyledHeaderProps = SystemBorderProps & SystemCommonProps & SxProp\ntype StyledHeaderLinkProps = {to?: History.LocationDescriptor} & SystemCommonProps &\n SxProp &\n SystemTypographyProps &\n SystemBorderProps\n\nconst Header = styled.div<StyledHeaderProps>`\n z-index: 32;\n display: flex;\n padding: ${get('space.3')};\n font-size: ${get('fontSizes.1')};\n line-height: ${get('lineHeights.default')};\n color: ${get('colors.header.text')};\n background-color: ${get('colors.header.bg')};\n align-items: center;\n flex-wrap: nowrap;\n\n ${COMMON}\n ${BORDER}\n ${sx};\n`\nconst HeaderItem = styled.div<StyledHeaderItemProps>`\n display: flex;\n margin-right: ${get('space.3')};\n align-self: stretch;\n align-items: center;\n flex-wrap: nowrap;\n\n ${({full}) =>\n full &&\n css`\n flex: auto;\n `};\n\n ${COMMON};\n ${BORDER};\n ${sx};\n`\n\nHeaderItem.displayName = 'Header.Item'\n\nconst HeaderLink = styled.a.attrs<StyledHeaderLinkProps>(({to}) => {\n const isReactRouter = typeof to === 'string'\n if (isReactRouter) {\n // according to their docs, NavLink supports aria-current:\n // https://reacttraining.com/react-router/web/api/NavLink/aria-current-string\n return {'aria-current': 'page'}\n } else {\n return {}\n }\n})<StyledHeaderLinkProps>`\n font-weight: ${get('fontWeights.bold')};\n color: ${get('colors.header.logo')};\n white-space: nowrap;\n cursor: pointer;\n text-decoration: none;\n display: flex;\n align-items: center;\n\n &:hover,\n &:focus {\n color: ${get('colors.header.text')};\n }\n\n ${COMMON};\n ${BORDER};\n ${TYPOGRAPHY};\n ${sx};\n`\n\nHeaderLink.displayName = 'Header.Link'\n\nexport type HeaderProps = ComponentProps<typeof Header>\nexport type HeaderLinkProps = ComponentProps<typeof HeaderLink>\nexport type HeaderItemProps = ComponentProps<typeof HeaderItem>\nexport default Object.assign(Header, {Link: HeaderLink, Item: HeaderItem})\n","import styled from 'styled-components'\nimport {COMMON, get, SystemCommonProps, SystemTypographyProps, TYPOGRAPHY} from './constants'\nimport sx, {SxProp} from './sx'\nimport theme from './theme'\nimport {ComponentProps} from './utils/types'\n\nconst Heading = styled.h2<SystemTypographyProps & SystemCommonProps & SxProp>`\n font-weight: ${get('fontWeights.bold')};\n font-size: ${get('fontSizes.5')};\n margin: 0;\n ${TYPOGRAPHY};\n ${COMMON};\n ${sx};\n`\n\nHeading.defaultProps = {\n theme\n}\n\nexport type HeadingProps = ComponentProps<typeof Heading>\nexport default Heading\n","import styled from 'styled-components'\nimport {COMMON, get, SystemCommonProps} from './constants'\nimport sx, {SxProp} from './sx'\nimport {ComponentProps} from './utils/types'\n\nconst LabelGroup = styled.span<SystemCommonProps & SxProp>`\n ${COMMON}\n & * {\n margin-right: ${get('space.1')};\n }\n & *:last-child {\n margin-right: 0;\n }\n ${sx};\n`\n\nexport type LabelGroupProps = ComponentProps<typeof LabelGroup>\nexport default LabelGroup\n","import styled, {css} from 'styled-components'\nimport {borderColor, BorderColorProps, variant} from 'styled-system'\nimport {COMMON, get, SystemCommonProps} from './constants'\nimport sx, {SxProp} from './sx'\nimport {ComponentProps} from './utils/types'\n\nconst outlineStyles = css`\n margin-top: -1px; // offsets the 1px border\n margin-bottom: -1px; // offsets the 1px border\n color: ${get('colors.label.secondary.text')};\n border: ${get('borderWidths.1')} solid ${get('colors.label.border')};\n box-shadow: none;\n ${borderColor};\n ${COMMON};\n background-color: transparent;\n`\n\nconst sizeVariant = variant({\n variants: {\n small: {\n fontSize: 0,\n lineHeight: '16px',\n padding: '0px 8px'\n },\n medium: {\n fontSize: 0,\n lineHeight: '20px',\n padding: '0 8px'\n },\n large: {\n fontSize: 0,\n lineHeight: '24px',\n padding: '0 12px'\n },\n // corresponds to StateLabel fontSize/lineHeight/padding\n xl: {\n fontSize: 1,\n lineHeight: '16px',\n padding: '8px 12px'\n }\n }\n})\n\nconst Label = styled.span<\n {\n variant?: 'small' | 'medium' | 'large' | 'xl'\n dropshadow?: boolean\n outline?: boolean\n } & BorderColorProps &\n SystemCommonProps &\n SxProp\n>`\n display: inline-block;\n font-weight: ${get('fontWeights.semibold')};\n color: ${get('colors.text.inverse')};\n border-radius: ${get('radii.3')};\n\n &:hover {\n text-decoration: none;\n }\n\n ${sizeVariant}\n ${COMMON}\n ${props => (props.dropshadow ? 'box-shadow: inset 0 -1px 0 rgba(27, 31, 35, 0.12)' : '')}\n ${props => (props.outline ? outlineStyles : '')} // must be last to override other values\n ${sx}\n`\n\nLabel.defaultProps = {\n bg: 'label.primary.border',\n variant: 'medium'\n}\n\nexport type LabelProps = ComponentProps<typeof Label>\nexport default Label\n","import styled from 'styled-components'\nimport {system} from 'styled-system'\nimport {COMMON, get, SystemCommonProps, SystemTypographyProps, TYPOGRAPHY} from './constants'\nimport sx, {SxProp} from './sx'\nimport {ComponentProps} from './utils/types'\n\ntype StyledLinkProps = {\n hoverColor?: string\n muted?: boolean\n underline?: boolean\n} & SystemCommonProps &\n SxProp &\n SystemTypographyProps\n\nconst hoverColor = system({\n hoverColor: {\n property: 'color',\n scale: 'colors'\n }\n})\n\nconst Link = styled.a<StyledLinkProps>`\n color: ${props => (props.muted ? get('colors.text.secondary')(props) : get('colors.text.link')(props))};\n text-decoration: ${props => (props.underline ? 'underline' : 'none')};\n &:hover {\n text-decoration: ${props => (props.muted ? 'none' : 'underline')};\n ${props => (props.hoverColor ? hoverColor : props.muted ? `color: ${get('colors.text.link')(props)}` : '')};\n }\n &:is(button) {\n display: inline-block;\n padding: 0;\n font-size: inherit;\n white-space: nowrap;\n cursor: pointer;\n user-select: none;\n background-color: transparent;\n border: 0;\n appearance: none;\n }\n ${TYPOGRAPHY};\n ${COMMON};\n ${sx};\n`\n\nexport type LinkProps = ComponentProps<typeof Link>\nexport default Link\n","import styled from 'styled-components'\nimport {COMMON, get, SystemCommonProps} from './constants'\nimport sx, {SxProp} from './sx'\nimport {ComponentProps} from './utils/types'\n\nconst Pagehead = styled.div<SystemCommonProps & SxProp>`\n position: relative;\n padding-top: ${get('space.4')};\n padding-bottom: ${get('space.4')};\n margin-bottom: ${get('space.4')};\n border-bottom: 1px solid ${get('colors.border.primary')};\n ${COMMON};\n ${sx};\n`\n\nexport type PageheadProps = ComponentProps<typeof Pagehead>\nexport default Pagehead\n","import React from 'react'\nimport styled from 'styled-components'\nimport Box from '../Box'\nimport {COMMON, get} from '../constants'\nimport sx from '../sx'\nimport {buildComponentData, buildPaginationModel} from './model'\n\nconst Page = styled.a`\n display: inline-block;\n min-width: 32px;\n padding: 5px 10px;\n font-style: normal;\n line-height: 20px;\n color: ${get('colors.text.primary')};\n text-align: center;\n white-space: nowrap;\n vertical-align: middle;\n cursor: pointer;\n user-select: none;\n text-decoration: none;\n\n margin-right: ${get('space.1')};\n\n &:last-child {\n margin-right: 0;\n }\n\n border: ${get('borderWidths.1')} solid transparent;\n border-radius: ${get('radii.2')};\n transition: border-color 0.2s cubic-bezier(0.3, 0, 0.5, 1);\n\n &:hover,\n &:focus {\n text-decoration: none;\n border-color: ${get('colors.border.primary')};\n outline: 0;\n transition-duration: 0.1s;\n }\n\n &:active {\n border-color: ${get('colors.border.secondary')};\n }\n\n &[rel='prev'],\n &[rel='next'] {\n color: ${get('colors.text.link')};\n }\n\n &[aria-current],\n &[aria-current]:hover {\n color: ${get('colors.state.selected.primaryText')};\n background-color: ${get('colors.state.selected.primaryBg')};\n border-color: transparent;\n }\n\n &[aria-disabled],\n &[aria-disabled]:hover {\n color: ${get('colors.text.disabled')}; // check\n cursor: default;\n border-color: transparent;\n }\n\n @supports (clip-path: polygon(50% 0, 100% 50%, 50% 100%)) {\n &[rel='prev']::before,\n &[rel='next']::after {\n display: inline-block;\n width: 16px;\n height: 16px;\n vertical-align: text-bottom;\n content: '';\n background-color: currentColor;\n }\n\n // chevron-left\n &[rel='prev']::before {\n margin-right: ${get('space.1')};\n clip-path: polygon(\n 9.8px 12.8px,\n 8.7px 12.8px,\n 4.5px 8.5px,\n 4.5px 7.5px,\n 8.7px 3.2px,\n 9.8px 4.3px,\n 6.1px 8px,\n 9.8px 11.7px,\n 9.8px 12.8px\n );\n }\n\n // chevron-right\n &[rel='next']::after {\n margin-left: ${get('space.1')};\n clip-path: polygon(\n 6.2px 3.2px,\n 7.3px 3.2px,\n 11.5px 7.5px,\n 11.5px 8.5px,\n 7.3px 12.8px,\n 6.2px 11.7px,\n 9.9px 8px,\n 6.2px 4.3px,\n 6.2px 3.2px\n );\n }\n }\n\n ${COMMON};\n`\n\ntype UsePaginationPagesParameters = {\n theme?: Record<string, unknown> // set to theme type once /src/theme.js is converted\n pageCount: number\n currentPage: number\n onPageChange: (e: React.MouseEvent, n: number) => void\n hrefBuilder: (n: number) => string\n marginPageCount: number\n showPages?: boolean\n surroundingPageCount: number\n}\n\nfunction usePaginationPages({\n theme,\n pageCount,\n currentPage,\n onPageChange,\n hrefBuilder,\n marginPageCount,\n showPages,\n surroundingPageCount\n}: UsePaginationPagesParameters) {\n const pageChange = React.useCallback(n => (e: React.MouseEvent) => onPageChange(e, n), [onPageChange])\n\n const model = React.useMemo(() => {\n return buildPaginationModel(pageCount, currentPage, !!showPages, marginPageCount, surroundingPageCount)\n }, [pageCount, currentPage, showPages, marginPageCount, surroundingPageCount])\n\n const children = React.useMemo(() => {\n return model.map(page => {\n const {props, key, content} = buildComponentData(page, hrefBuilder, pageChange(page.num))\n return (\n <Page {...props} key={key} theme={theme}>\n {content}\n </Page>\n )\n })\n }, [model, hrefBuilder, pageChange, theme])\n\n return children\n}\n\nconst PaginationContainer = styled.nav`\n margin-top: 20px;\n margin-bottom: 15px;\n text-align: center;\n ${sx};\n`\n\nexport type PaginationProps = {\n theme?: Record<string, unknown>\n pageCount: number\n currentPage: number\n onPageChange?: (e: React.MouseEvent, n: number) => void\n hrefBuilder?: (n: number) => string\n marginPageCount: number\n showPages?: boolean\n surroundingPageCount?: number\n}\n\nfunction Pagination({\n theme,\n pageCount,\n currentPage,\n onPageChange = noop,\n hrefBuilder = defaultHrefBuilder,\n marginPageCount = 1,\n showPages = true,\n surroundingPageCount = 2,\n ...rest\n}: PaginationProps) {\n const pageElements = usePaginationPages({\n theme,\n pageCount,\n currentPage,\n onPageChange,\n hrefBuilder,\n marginPageCount,\n showPages,\n surroundingPageCount\n })\n return (\n <PaginationContainer aria-label=\"Pagination\" {...rest} theme={theme}>\n <Box display=\"inline-block\" theme={theme}>\n {pageElements}\n </Box>\n </PaginationContainer>\n )\n}\n\nfunction defaultHrefBuilder(pageNum: number) {\n return `#${pageNum}`\n}\n\n// eslint-disable-next-line @typescript-eslint/no-empty-function\nfunction noop() {}\n\nPagination.defaultProps = {\n hrefBuilder: defaultHrefBuilder,\n marginPageCount: 1,\n onPageChange: noop,\n showPages: true,\n surroundingPageCount: 2\n}\n\nexport default Pagination\n","export function buildPaginationModel(\n pageCount: number,\n currentPage: number,\n showPages: boolean,\n marginPageCount: number,\n surroundingPageCount: number\n) {\n const pages = []\n\n if (showPages) {\n const pageNums: Array<number> = []\n const addPage = (n: number) => {\n if (n >= 1 && n <= pageCount) {\n pageNums.push(n)\n }\n }\n\n // Start by defining the window of pages to show around the current page.\n // If the window goes off either edge, shift it until it fits.\n let extentLeft = currentPage - surroundingPageCount\n let extentRight = currentPage + surroundingPageCount\n if (extentLeft < 1 && extentRight > pageCount) {\n // Our window is larger than the entire range,\n // so simply display every page.\n extentLeft = 1\n extentRight = pageCount\n } else if (extentLeft < 1) {\n while (extentLeft < 1) {\n extentLeft++\n extentRight++\n }\n } else if (extentRight > pageCount) {\n while (extentRight > pageCount) {\n extentLeft--\n extentRight--\n }\n }\n\n // Next, include the pages in the margins.\n // If a margin page is already covered in the window,\n // extend the window to the other direction.\n for (let i = 1; i <= marginPageCount; i++) {\n const leftPage = i\n const rightPage = pageCount - (i - 1)\n if (leftPage >= extentLeft) {\n extentRight++\n } else {\n addPage(leftPage)\n }\n if (rightPage <= extentRight) {\n extentLeft--\n } else {\n addPage(rightPage)\n }\n }\n\n for (let i = extentLeft; i <= extentRight; i++) {\n addPage(i)\n }\n\n const sorted = pageNums\n .slice()\n .sort((a, b) => a - b)\n .filter((item, idx, ary) => !idx || item !== ary[idx - 1])\n for (let idx = 0; idx < sorted.length; idx++) {\n const num = sorted[idx]\n const selected = num === currentPage\n if (idx === 0) {\n if (num !== 1) {\n // If the first page isn't page one,\n // we need to add a break\n pages.push({\n type: 'BREAK',\n num: 1\n })\n }\n pages.push({\n type: 'NUM',\n num,\n selected\n })\n } else {\n const last = sorted[idx - 1]\n const delta = num - last\n if (delta === 1) {\n pages.push({\n type: 'NUM',\n num,\n selected\n })\n } else {\n // We skipped some, so add a break\n pages.push({\n type: 'BREAK',\n num: num - 1\n })\n pages.push({\n type: 'NUM',\n num,\n selected\n })\n }\n }\n }\n\n const lastPage = pages[pages.length - 1]\n if (lastPage.type === 'NUM' && lastPage.num !== pageCount) {\n // The last page we rendered wasn't the actual last page,\n // so we need an additional break\n pages.push({\n type: 'BREAK',\n num: pageCount\n })\n }\n }\n\n const prev = {type: 'PREV', num: currentPage - 1, disabled: currentPage === 1}\n const next = {type: 'NEXT', num: currentPage + 1, disabled: currentPage === pageCount}\n return [prev, ...pages, next]\n}\n\ntype PageType = {\n type: string\n num: number\n disabled?: boolean\n selected?: boolean\n}\n\nexport function buildComponentData(\n page: PageType,\n hrefBuilder: (n: number) => string,\n onClick: (e: React.MouseEvent) => void\n) {\n const props = {}\n let content = ''\n let key = ''\n\n switch (page.type) {\n case 'PREV': {\n key = 'page-prev'\n content = 'Previous'\n if (page.disabled) {\n Object.assign(props, {as: 'span', 'aria-disabled': 'true'})\n } else {\n Object.assign(props, {\n rel: 'prev',\n href: hrefBuilder(page.num),\n 'aria-label': 'Previous Page',\n onClick\n })\n }\n break\n }\n case 'NEXT': {\n key = 'page-next'\n content = 'Next'\n if (page.disabled) {\n Object.assign(props, {as: 'span', 'aria-disabled': 'true'})\n } else {\n Object.assign(props, {\n rel: 'next',\n href: hrefBuilder(page.num),\n 'aria-label': 'Next Page',\n onClick\n })\n }\n break\n }\n case 'NUM': {\n key = `page-${page.num}`\n content = String(page.num)\n if (page.selected) {\n Object.assign(props, {as: 'em', 'aria-current': 'page'})\n } else {\n Object.assign(props, {href: hrefBuilder(page.num), 'aria-label': `Page ${page.num}`, onClick})\n }\n break\n }\n case 'BREAK': {\n key = `page-${page.num}-break`\n content = '…'\n Object.assign(props, {as: 'span', 'aria-disabled': true})\n }\n }\n\n return {props, key, content}\n}\n","import React from 'react'\nimport BorderBox, {BorderBoxProps} from './BorderBox'\nimport Caret, {CaretProps} from './Caret'\n\nexport type PointerBoxProps = {\n caret?: CaretProps['location']\n bg?: CaretProps['bg']\n borderColor?: CaretProps['borderColor']\n border?: CaretProps['borderWidth']\n} & BorderBoxProps\n\nfunction PointerBox(props: PointerBoxProps) {\n // don't destructure these, just grab them\n const {bg, border, borderColor, theme} = props\n const {caret, children, ...boxProps} = props\n const caretProps = {\n bg,\n borderColor,\n borderWidth: border,\n location: caret,\n theme\n }\n return (\n <BorderBox sx={{position: 'relative'}} {...boxProps}>\n {children}\n <Caret {...caretProps} />\n </BorderBox>\n )\n}\n\nexport default PointerBox\n","import classnames from 'classnames'\nimport styled from 'styled-components'\nimport Box from './Box'\nimport {COMMON, get, LAYOUT, POSITION, SystemCommonProps, SystemLayoutProps, SystemPositionProps} from './constants'\nimport sx, {SxProp} from './sx'\nimport {ComponentProps} from './utils/types'\n\ntype CaretPosition =\n | 'top'\n | 'bottom'\n | 'left'\n | 'right'\n | 'bottom-left'\n | 'bottom-right'\n | 'top-left'\n | 'top-right'\n | 'left-bottom'\n | 'left-top'\n | 'right-bottom'\n | 'right-top'\n\ntype StyledPopoverProps = {\n caret?: CaretPosition\n relative?: boolean\n open?: boolean\n} & SystemCommonProps &\n SystemLayoutProps &\n SystemPositionProps &\n SxProp\n\nconst Popover = styled.div.attrs<StyledPopoverProps>(({className, caret}) => {\n return {\n className: classnames(className, `caret-pos--${caret}`)\n }\n})<StyledPopoverProps>`\n position: ${props => (props.relative ? 'relative' : 'absolute')};\n z-index: 100;\n display: ${props => (props.open ? 'block' : 'none')};\n\n ${COMMON};\n ${LAYOUT};\n ${POSITION};\n ${sx};\n`\n\nconst PopoverContent = styled(Box)`\n border: 1px solid ${get('colors.border.primary')};\n border-radius: ${get('radii.2')};\n position: relative;\n width: 232px;\n margin-right: auto;\n margin-left: auto;\n padding: ${get('space.4')};\n background-color: ${get('colors.bg.overlay')};\n\n ${COMMON};\n ${LAYOUT};\n\n // Carets\n &::before,\n &::after {\n position: absolute;\n left: 50%;\n display: inline-block;\n content: '';\n }\n\n &::before {\n top: -${get('space.3')};\n margin-left: -9px;\n border: ${get('space.2')} solid transparent; // TODO: solid?\n border-bottom-color: ${get('colors.border.overlay')};\n }\n\n &::after {\n top: -14px;\n margin-left: -${get('space.2')};\n border: 7px solid transparent; // todo: solid\n border-bottom-color: ${get('colors.bg.overlay')};\n }\n\n // Bottom-oriented carets\n ${Popover}.caret-pos--bottom & ,\n ${Popover}.caret-pos--bottom-right & ,\n ${Popover}.caret-pos--bottom-left & {\n &::before,\n &::after {\n top: auto;\n border-bottom-color: transparent;\n }\n\n &::before {\n bottom: -${get('space.3')};\n border-top-color: ${get('colors.border.overlay')};\n }\n\n &::after {\n bottom: -14px;\n // stylelint-disable-next-line primer/borders\n border-top-color: ${get('colors.bg.overlay')};\n }\n }\n\n // Top & Bottom: Right-oriented carets\n ${Popover}.caret-pos--top-right & ,\n ${Popover}.caret-pos--bottom-right & {\n right: -9px;\n margin-right: 0;\n\n &::before,\n &::after {\n left: auto;\n margin-left: 0;\n }\n\n &::before {\n right: 20px;\n }\n\n &::after {\n right: 21px;\n }\n }\n\n // Top & Bottom: Left-oriented carets\n ${Popover}.caret-pos--top-left & ,\n ${Popover}.caret-pos--bottom-left & {\n left: -9px;\n margin-left: 0;\n\n &::before,\n &::after {\n left: ${get('space.4')};\n margin-left: 0;\n }\n\n &::after {\n left: calc(${get('space.4')} + 1px);\n }\n }\n\n // Right- & Left-oriented carets\n ${Popover}.caret-pos--right & ,\n ${Popover}.caret-pos--right-top & ,\n ${Popover}.caret-pos--right-bottom & ,\n ${Popover}.caret-pos--left & ,\n ${Popover}.caret-pos--left-top & ,\n ${Popover}.caret-pos--left-bottom & {\n &::before,\n &::after {\n top: 50%;\n left: auto;\n margin-left: 0;\n border-bottom-color: transparent;\n }\n\n &::before {\n // stylelint-disable-next-line primer/spacing\n margin-top: calc((${get('space.2')} + 1px) * -1);\n }\n\n &::after {\n margin-top: -${get('space.2')};\n }\n }\n\n // Right-oriented carets\n ${Popover}.caret-pos--right & ,\n ${Popover}.caret-pos--right-top & ,\n ${Popover}.caret-pos--right-bottom & {\n &::before {\n right: -${get('space.3')};\n border-left-color: ${get('colors.border.overlay')};\n }\n\n &::after {\n right: -14px;\n // stylelint-disable-next-line primer/borders\n border-left-color: ${get('colors.bg.overlay')};\n }\n }\n\n // Left-oriented carets\n ${Popover}.caret-pos--left & ,\n ${Popover}.caret-pos--left-top & ,\n ${Popover}.caret-pos--left-bottom & {\n &::before {\n left: -${get('space.3')};\n border-right-color: ${get('colors.border.overlay')};\n }\n\n &::after {\n left: -14px;\n // stylelint-disable-next-line primer/borders\n border-right-color: ${get('colors.bg.overlay')};\n }\n }\n\n // Right & Left: Top-oriented carets\n ${Popover}.caret-pos--right-top & ,\n ${Popover}.caret-pos--left-top & {\n &::before,\n &::after {\n top: ${get('space.4')};\n }\n }\n\n // Right & Left: Bottom-oriented carets\n ${Popover}.caret-pos--right-bottom & ,\n ${Popover}.caret-pos--left-bottom & {\n &::before,\n &::after {\n top: auto;\n }\n\n &::before {\n bottom: ${get('space.3')};\n }\n\n &::after {\n bottom: calc(${get('space.3')} + 1px);\n }\n }\n\n ${sx};\n`\n\nPopover.defaultProps = {\n caret: 'top'\n}\n\nPopoverContent.displayName = 'Popover.Content'\n\nexport type PopoverProps = ComponentProps<typeof Popover>\nexport type PopoverContentProps = ComponentProps<typeof PopoverContent>\nexport default Object.assign(Popover, {Content: PopoverContent})\n","import React from 'react'\nimport styled from 'styled-components'\nimport {width, WidthProps} from 'styled-system'\nimport {COMMON, get, SystemCommonProps} from './constants'\nimport sx, {SxProp} from './sx'\nimport {ComponentProps} from './utils/types'\n\nconst Bar = styled.span<{progress?: string | number} & SystemCommonProps>`\n width: ${props => (props.progress ? `${props.progress}%` : 0)};\n ${COMMON}\n`\n\nconst sizeMap = {\n small: '5px',\n large: '10px',\n default: '8px'\n}\n\ntype StyledProgressContainerProps = {\n inline?: boolean\n barSize?: keyof typeof sizeMap\n} & WidthProps &\n SystemCommonProps &\n SxProp\n\nconst ProgressContainer = styled.span<StyledProgressContainerProps>`\n display: ${props => (props.inline ? 'inline-flex' : 'flex')};\n overflow: hidden;\n background-color: ${get('colors.border.primary')};\n border-radius: ${get('radii.1')};\n height: ${props => sizeMap[props.barSize || 'default']};\n ${COMMON}\n ${width}\n ${sx};\n`\n\nexport type ProgressBarProps = ComponentProps<typeof ProgressContainer> & ComponentProps<typeof Bar>\n\nfunction ProgressBar({progress, bg, theme, ...rest}: ProgressBarProps) {\n return (\n <ProgressContainer theme={theme} {...rest}>\n <Bar progress={progress} bg={bg} theme={theme} />\n </ProgressContainer>\n )\n}\n\nProgressBar.defaultProps = {\n bg: 'bg.successInverse',\n barSize: 'default'\n}\n\nexport default ProgressBar\n","import {useEffect, useCallback} from 'react'\n\n// adapted from details-menu web component https://github.com/github/details-menu-element\nfunction useKeyboardNav(details, open, setOpen) {\n const handleKeyDown = useCallback(\n event => {\n const closeDetails = () => {\n setOpen(false)\n const summary = details.current.querySelector('summary')\n if (summary) summary.focus()\n }\n const openDetails = () => {\n setOpen(true)\n }\n const focusItem = next => {\n const options = Array.from(\n details.current.querySelectorAll(\n '[role^=\"menuitem\"]:not([hidden]):not([disabled]):not([aria-disabled=\"true\"])'\n )\n )\n const selected = document.activeElement\n const index = options.indexOf(selected)\n const found = next ? options[index + 1] : options[index - 1]\n const def = next ? options[0] : options[options.length - 1]\n return found || def\n }\n\n const isMenuItem = el => {\n const role = el.getAttribute('role')\n return role === 'menuitem' || role === 'menuitemcheckbox' || role === 'menuitemradio'\n }\n if (!(event instanceof KeyboardEvent)) return\n const isSummaryFocused = event.target instanceof Element && event.target.tagName === 'SUMMARY'\n switch (event.key) {\n case 'Escape':\n if (open) {\n closeDetails(details)\n event.preventDefault()\n event.stopPropagation()\n }\n break\n case 'ArrowDown':\n {\n if (isSummaryFocused && !open) {\n openDetails(details)\n }\n const target = focusItem(true)\n if (target) target.focus()\n event.preventDefault()\n }\n break\n case 'ArrowUp':\n {\n if (isSummaryFocused && !open) {\n openDetails()\n }\n const target = focusItem(false)\n if (target) target.focus()\n event.preventDefault()\n }\n break\n case ' ':\n case 'Enter':\n {\n const selected = document.activeElement\n if (selected && isMenuItem(selected) && selected.closest('details') === details) {\n event.preventDefault()\n event.stopPropagation()\n selected.click()\n }\n }\n break\n default:\n }\n },\n [details, open, setOpen]\n )\n\n useEffect(() => {\n const current = details.current\n if (!current) return\n\n current.addEventListener('keydown', handleKeyDown)\n return () => {\n current.removeEventListener('keydown', handleKeyDown)\n }\n }, [details, handleKeyDown])\n}\n\nexport default useKeyboardNav\n","import {createContext} from 'react'\n\nexport const MenuContext = createContext<{\n selectedTab?: string\n setSelectedTab?: React.Dispatch<React.SetStateAction<string>>\n setOpen?: React.Dispatch<React.SetStateAction<boolean>>\n open?: boolean\n initialTab?: string\n}>({})\n","import styled, {css} from 'styled-components'\nimport {COMMON, get, SystemCommonProps} from '../constants'\nimport sx, {SxProp} from '../sx'\nimport {ComponentProps} from '../utils/types'\n\nconst dividerStyles = css`\n padding: ${get('space.1')} ${get('space.3')};\n margin: 0;\n font-size: ${get('fontSizes.0')};\n font-weight: ${get('fontWeights.bold')};\n color: ${get('colors.text.tertiary')};\n background-color: ${get('colors.bg.tertiary')};\n border-bottom: ${get('borderWidths.1')} solid ${get('colors.selectMenu.borderSecondary')};\n`\n\nconst SelectMenuDivider = styled.div<SystemCommonProps & SxProp>`\n ${dividerStyles}\n ${COMMON}\n ${sx};\n`\n\nSelectMenuDivider.displayName = 'SelectMenu.Divider'\n\nexport type SelectMenuDividerProps = ComponentProps<typeof SelectMenuDivider>\nexport default SelectMenuDivider\n","import classnames from 'classnames'\nimport React, {forwardRef} from 'react'\nimport styled, {css} from 'styled-components'\nimport {maxWidth, MaxWidthProps, minWidth, MinWidthProps, variant, width, WidthProps} from 'styled-system'\nimport {get} from './constants'\nimport sx, {SxProp} from './sx'\nimport {ComponentProps} from './utils/types'\n\nconst sizeVariants = variant({\n variants: {\n small: {\n minHeight: '28px',\n px: 2,\n py: '3px',\n fontSize: 0,\n lineHeight: '20px'\n },\n large: {\n px: 2,\n py: '10px',\n fontSize: 3\n }\n }\n})\n\nconst Input = styled.input`\n border: 0;\n font-size: inherit;\n font-family: inherit;\n background-color: transparent;\n -webkit-appearance: none;\n color: inherit;\n width: 100%;\n &:focus {\n outline: 0;\n }\n`\n\ntype StyledWrapperProps = {\n disabled?: boolean\n hasIcon?: boolean\n block?: boolean\n contrast?: boolean\n variant?: 'small' | 'large'\n} & WidthProps &\n MinWidthProps &\n MaxWidthProps &\n SxProp\n\nconst Wrapper = styled.span<StyledWrapperProps>`\n display: inline-flex;\n align-items: stretch;\n min-height: 34px;\n font-size: ${get('fontSizes.1')};\n line-height: 20px;\n color: ${get('colors.text.primary')};\n vertical-align: middle;\n background-repeat: no-repeat; // Repeat and position set for form states (success, error, etc)\n background-position: right 8px center; // For form validation. This keeps images 8px from right and centered vertically.\n border: 1px solid ${get('colors.border.primary')};\n border-radius: ${get('radii.2')};\n outline: none;\n box-shadow: ${get('shadows.shadow.inset')};\n\n ${props => {\n if (props.hasIcon) {\n return css`\n padding: 0;\n `\n } else {\n return css`\n padding: 6px 12px;\n `\n }\n }}\n\n .TextInput-icon {\n align-self: center;\n color: ${get('colors.icon.tertiary')};\n margin: 0 ${get('space.2')};\n flex-shrink: 0;\n }\n\n &:focus-within {\n border-color: ${get('colors.state.focus.border')};\n box-shadow: ${get('shadows.state.focus.shadow')};\n }\n\n ${props =>\n props.contrast &&\n css`\n background-color: ${get('colors.input.contrastBg')};\n `}\n\n ${props =>\n props.disabled &&\n css`\n color: ${get('colors.text.secondary')};\n background-color: ${get('colors.input.disabledBg')};\n border-color: ${get('colors.input.disabledBorder')};\n `}\n\n ${props =>\n props.block &&\n css`\n display: block;\n width: 100%;\n `}\n\n // Ensures inputs don't zoom on mobile but are body-font size on desktop\n @media (min-width: ${get('breakpoints.1')}) {\n font-size: ${get('fontSizes.1')};\n }\n ${width}\n ${minWidth}\n ${maxWidth}\n ${sizeVariants}\n ${sx};\n`\n\n// Props that are not passed through to Input:\ntype NonPassthroughProps = {\n className?: string\n icon?: React.ComponentType<{className?: string}>\n} & Pick<\n ComponentProps<typeof Wrapper>,\n 'block' | 'contrast' | 'disabled' | 'sx' | 'theme' | 'width' | 'maxWidth' | 'minWidth' | 'variant'\n>\n\ntype TextInputInternalProps = NonPassthroughProps &\n // Note: using ComponentProps instead of ComponentPropsWithoutRef here would cause a type issue where `css` is a required prop.\n Omit<React.ComponentPropsWithoutRef<typeof Input>, keyof NonPassthroughProps>\n\n// using forwardRef is important so that other components (ex. SelectMenu) can autofocus the input\nconst TextInput = forwardRef<HTMLInputElement, TextInputInternalProps>(\n (\n {\n icon: IconComponent,\n block,\n className,\n contrast,\n disabled,\n sx: sxProp,\n theme,\n width: widthProp,\n minWidth: minWidthProp,\n maxWidth: maxWidthProp,\n variant: variantProp,\n ...inputProps\n },\n ref\n ) => {\n // this class is necessary to style FilterSearch, plz no touchy!\n const wrapperClasses = classnames(className, 'TextInput-wrapper')\n return (\n <Wrapper\n block={block}\n className={wrapperClasses}\n contrast={contrast}\n disabled={disabled}\n hasIcon={!!IconComponent}\n sx={sxProp}\n theme={theme}\n width={widthProp}\n minWidth={minWidthProp}\n maxWidth={maxWidthProp}\n variant={variantProp}\n >\n {IconComponent && <IconComponent className=\"TextInput-icon\" />}\n <Input ref={ref} disabled={disabled} {...inputProps} />\n </Wrapper>\n )\n }\n)\n\nTextInput.defaultProps = {\n type: 'text'\n}\n\nTextInput.displayName = 'TextInput'\n\nexport type TextInputProps = ComponentProps<typeof TextInput>\nexport default TextInput\n","import React, {forwardRef, useContext, useEffect, useRef} from 'react'\nimport styled from 'styled-components'\nimport {COMMON, get, SystemCommonProps} from '../constants'\nimport sx, {SxProp} from '../sx'\nimport TextInput, {TextInputProps} from '../TextInput'\nimport {ComponentProps} from '../utils/types'\nimport {MenuContext} from './SelectMenuContext'\n\nconst StyledForm = styled.form<SystemCommonProps & SxProp>`\n padding: ${get('space.3')};\n margin: 0;\n border-bottom: ${get('borderWidths.1')} solid ${get('colors.selectMenu.borderSecondary')};\n background-color: ${get('colors.bg.overlay')};\n ${COMMON};\n\n @media (min-width: ${get('breakpoints.0')}) {\n padding: ${get('space.2')};\n }\n\n ${sx};\n`\n\ntype SelectMenuFilterInternalProps = {\n value?: string\n} & TextInputProps\n\nconst SelectMenuFilter = forwardRef<HTMLInputElement, SelectMenuFilterInternalProps>(\n ({theme, value, sx: sxProp, ...rest}, forwardedRef) => {\n const inputRef = useRef<HTMLInputElement>(null)\n const ref = forwardedRef ?? inputRef\n const {open} = useContext(MenuContext)\n\n // puts focus on the filter input when the menu is opened\n useEffect(() => {\n if (open) {\n inputRef.current?.focus()\n }\n }, [open])\n\n return (\n <StyledForm theme={theme} sx={sxProp}>\n <TextInput theme={theme} ref={ref} width=\"100%\" block value={value} contrast {...rest} />\n </StyledForm>\n )\n }\n)\n\nSelectMenuFilter.displayName = 'SelectMenu.Filter'\n\nexport type SelectMenuFilterProps = ComponentProps<typeof SelectMenuFilter>\nexport default SelectMenuFilter\n","import styled, {css} from 'styled-components'\nimport {COMMON, get, SystemCommonProps} from '../constants'\nimport sx, {SxProp} from '../sx'\nimport {ComponentProps} from '../utils/types'\n\nconst footerStyles = css`\n margin-top: -1px;\n padding: ${get('space.2')} ${get('space.3')};\n font-size: ${get('fontSizes.0')};\n color: ${get('colors.text.tertiary')};\n text-align: center;\n border-top: ${get('borderWidths.1')} solid ${get('colors.selectMenu.borderSecondary')};\n\n @media (min-width: ${get('breakpoints.0')}) {\n padding: ${get('space.1')} ${get('space.2')};\n }\n`\n\nconst SelectMenuFooter = styled.footer<SystemCommonProps & SxProp>`\n ${footerStyles}\n ${COMMON}\n ${sx};\n`\n\nSelectMenuFooter.displayName = 'SelectMenu.Footer'\n\nexport type SelectMenuFooterProps = ComponentProps<typeof SelectMenuFooter>\nexport default SelectMenuFooter\n","import React from 'react'\nimport styled from 'styled-components'\nimport {COMMON, get, SystemCommonProps, SystemTypographyProps, TYPOGRAPHY} from '../constants'\nimport sx, {SxProp} from '../sx'\nimport {ComponentProps} from '../utils/types'\n\n// SelectMenu.Header is intentionally not exported, it's an internal component used in\n// SelectMenu.Modal\n\nconst SelectMenuTitle = styled.h3`\n color: ${get('colors.text.primary')};\n flex: auto;\n font-size: ${get('fontSizes.1')};\n font-weight: ${get('fontWeights.bold')};\n margin: 0;\n\n @media (min-width: ${get('breakpoints.0')}) {\n font-size: inherit;\n }\n`\n\nconst StyledHeader = styled.header<SystemTypographyProps & SystemCommonProps & SxProp>`\n display: flex;\n flex: none; // fixes header from getting squeezed in Safari iOS\n padding: ${get('space.3')};\n border-bottom: ${get('borderWidths')} solid ${get('colors.selectMenu.borderSecondary')};\n ${COMMON}\n ${TYPOGRAPHY}\n\n @media (min-width: ${get('breakpoints.0')}) {\n padding-top: ${get('space.2')};\n padding-bottom: ${get('space.2')};\n }\n\n ${sx};\n`\n\nexport type SelectMenuHeaderProps = ComponentProps<typeof StyledHeader>\n\nconst SelectMenuHeader = ({children, theme, ...rest}: SelectMenuHeaderProps) => {\n return (\n <StyledHeader theme={theme} {...rest}>\n <SelectMenuTitle theme={theme}>{children}</SelectMenuTitle>\n </StyledHeader>\n )\n}\n\nSelectMenuHeader.displayName = 'SelectMenu.Header'\n\nexport default SelectMenuHeader\n","import {CheckIcon} from '@primer/octicons-react'\nimport React, {forwardRef, useContext, useRef} from 'react'\nimport styled, {css} from 'styled-components'\nimport {COMMON, get, SystemCommonProps} from '../constants'\nimport StyledOcticon from '../StyledOcticon'\nimport sx, {SxProp} from '../sx'\nimport {ComponentProps} from '../utils/types'\nimport {MenuContext} from './SelectMenuContext'\n\nexport const listItemStyles = css`\n display: flex;\n align-items: center;\n padding: ${get('space.3')};\n overflow: hidden;\n text-align: left;\n cursor: pointer;\n background-color: ${get('colors.bg.overlay')};\n border: 0;\n border-bottom: ${get('borderWidths.1')} solid ${get('colors.selectMenu.borderSecondary')};\n color: ${get('colors.text.secondary')};\n text-decoration: none;\n font-size: ${get('fontSizes.0')};\n font-family: inherit; // needed if user uses a \"button\" tag\n width: 100%;\n\n &:hover {\n text-decoration: none;\n }\n &:focus {\n outline: none;\n }\n\n &[hidden] {\n display: none !important;\n }\n\n @media (min-width: ${get('breakpoints.0')}) {\n padding-top: ${get('space.2')};\n padding-bottom: ${get('space.2')};\n }\n\n .SelectMenu-icon {\n width: ${get('space.3')};\n margin-right: ${get('space.2')};\n flex-shrink: 0;\n }\n\n .SelectMenu-selected-icon {\n visibility: hidden;\n transition: transform 0.12s cubic-bezier(0.5, 0.1, 1, 0.5), visibility 0s 0.12s linear;\n transform: scale(0);\n }\n\n // selected items\n &[aria-checked='true'] {\n font-weight: 500;\n color: ${get('colors.text.primary')};\n\n .SelectMenu-selected-icon {\n visibility: visible;\n transition: transform 0.12s cubic-bezier(0, 0, 0.2, 1), visibility 0s linear;\n transform: scale(1);\n }\n }\n\n // can hover states\n @media (hover: hover) {\n &:hover,\n &:active,\n &:focus {\n background-color: ${get('colors.state.hover.secondaryBg')};\n }\n }\n\n // Can not hover states\n //\n // For touch input\n\n @media (hover: none) {\n // Android\n &:focus,\n &:active {\n background-color: ${get('colors.bg.secondary')};\n }\n\n // iOS Safari\n // :active would work if ontouchstart is added to the button\n // Instead this tweaks the \"native\" highlight color\n -webkit-tap-highlight-color: ${get('colors.selectMenu.tapHighlight')};\n }\n`\n\nconst StyledItem = styled.a.attrs(() => ({\n role: 'menuitemcheckbox'\n}))<SystemCommonProps & SxProp>`\n ${listItemStyles}\n ${COMMON}\n ${sx};\n`\n\ntype SelectMenuItemInteralProps = {\n as?: React.ElementType\n selected?: boolean\n} & ComponentProps<typeof StyledItem>\n\nconst SelectMenuItem = forwardRef<HTMLAnchorElement, SelectMenuItemInteralProps>(\n ({children, selected, theme, onClick, ...rest}, forwardedRef) => {\n const menuContext = useContext(MenuContext)\n const backupRef = useRef<HTMLAnchorElement>(null)\n const itemRef = forwardedRef ?? backupRef\n\n // close the menu when an item is clicked\n // this can be overriden if the user provides a `onClick` prop and prevents default in it\n const handleClick = (e: React.MouseEvent<HTMLAnchorElement, MouseEvent>) => {\n onClick && onClick(e)\n\n if (!e.defaultPrevented) {\n menuContext.setOpen?.(false)\n }\n }\n return (\n <StyledItem ref={itemRef} {...rest} theme={theme} onClick={handleClick} aria-checked={selected}>\n <StyledOcticon theme={theme} className=\"SelectMenu-icon SelectMenu-selected-icon\" icon={CheckIcon} />\n {children}\n </StyledItem>\n )\n }\n)\n\nSelectMenuItem.defaultProps = {\n selected: false\n}\n\nSelectMenuItem.displayName = 'SelectMenu.Item'\n\nexport type SelectMenuItemProps = ComponentProps<typeof SelectMenuItem>\nexport default SelectMenuItem\n","import styled, {css} from 'styled-components'\nimport {COMMON, get, SystemCommonProps} from '../constants'\nimport sx, {SxProp} from '../sx'\nimport {ComponentProps} from '../utils/types'\n\nconst listStyles = css`\n position: relative;\n padding: 0;\n margin: 0;\n flex: auto;\n overflow-x: hidden;\n overflow-y: auto;\n background-color: ${get('colors.bg.overlay')};\n -webkit-overflow-scrolling: touch; // Adds momentum + bouncy scrolling\n\n @media (hover: hover) {\n .SelectMenuTab:focus {\n background-color: ${get('colors.selectMenu.tapFocusBg')};\n }\n\n .SelectMenuTab:not([aria-checked='true']):hover {\n color: ${get('colors.text.primary')};\n background-color: ${get('colors.bg.tertiary')};\n }\n\n .SelectMenuTab:not([aria-checked='true']):active {\n color: ${get('colors.text.primary')};\n background-color: ${get('colors.bg.tertiary')};\n }\n }\n`\n\nconst SelectMenuList = styled.div<SystemCommonProps & SxProp>`\n ${listStyles}\n ${COMMON}\n ${sx};\n`\n\nSelectMenuList.displayName = 'SelectMenu.List'\n\nexport type SelectMenuListProps = ComponentProps<typeof SelectMenuList>\nexport default SelectMenuList\n","import React from 'react'\nimport styled from 'styled-components'\nimport {COMMON, SystemCommonProps} from './constants'\nimport sx, {SxProp} from './sx'\nimport {ComponentProps} from './utils/types'\n\nconst sizeMap = {\n small: '16px',\n medium: '32px',\n large: '64px'\n}\n\nexport interface SpinnerInternalProps {\n /** Sets the width and height of the spinner. */\n size?: keyof typeof sizeMap\n}\n\nfunction Spinner({size: sizeKey = 'medium', ...props}: SpinnerInternalProps) {\n const size = sizeMap[sizeKey]\n\n return (\n <svg height={size} width={size} viewBox=\"0 0 16 16\" fill=\"none\" {...props}>\n <circle\n cx=\"8\"\n cy=\"8\"\n r=\"7\"\n stroke=\"currentColor\"\n strokeOpacity=\"0.25\"\n strokeWidth=\"2\"\n vectorEffect=\"non-scaling-stroke\"\n />\n <path\n d=\"M15 8a7.002 7.002 0 00-7-7\"\n stroke=\"currentColor\"\n strokeWidth=\"2\"\n strokeLinecap=\"round\"\n vectorEffect=\"non-scaling-stroke\"\n />\n </svg>\n )\n}\n\nconst StyledSpinner = styled(Spinner)<SystemCommonProps & SxProp>`\n @keyframes rotate-keyframes {\n 100% {\n transform: rotate(360deg);\n }\n }\n\n animation: rotate-keyframes 1s linear infinite;\n\n ${COMMON}\n ${sx}\n`\n\nStyledSpinner.displayName = 'Spinner'\n\nexport type SpinnerProps = ComponentProps<typeof StyledSpinner>\nexport default StyledSpinner\n","import React from 'react'\nimport styled from 'styled-components'\nimport {COMMON, get, SystemCommonProps} from '../constants'\nimport Spinner from '../Spinner'\nimport {ComponentProps} from '../utils/types'\n\nconst Animation = styled.div<SystemCommonProps>`\n padding: ${get('space.6')} ${get('space.4')};\n text-align: center;\n background-color: ${get('colors.bg.overlay')};\n ${COMMON}\n`\n\nexport type SelectMenuLoadingAnimationProps = ComponentProps<typeof Animation>\n\nconst SelectMenuLoadingAnimation = (props: SelectMenuLoadingAnimationProps) => {\n return (\n <Animation {...props}>\n <Spinner />\n </Animation>\n )\n}\n\nexport default SelectMenuLoadingAnimation\n","import React from 'react'\nimport styled, {css, keyframes} from 'styled-components'\nimport {width, WidthProps} from 'styled-system'\nimport {COMMON, get, SystemCommonProps} from '../constants'\nimport sx, {SxProp} from '../sx'\nimport {ComponentProps} from '../utils/types'\n\ntype StyledModalProps = {\n filter?: boolean\n} & WidthProps\n\ntype StyledModalWrapperProps = {\n align?: 'left' | 'right'\n} & SystemCommonProps &\n SxProp\n\nconst animateModal = keyframes`\n 0% {\n opacity: 0;\n transform: scale(0.9);\n }\n`\n\nconst modalStyles = css<StyledModalProps>`\n position: relative;\n z-index: 99; // Needs to be higher than .details-overlay's z-index: 80.\n display: flex;\n ${props => (props.filter ? 'height: 80%' : '')};\n max-height: ${props => (props.filter ? 'none' : '66%')};\n margin: auto 0;\n ${props => (props.filter ? 'margin-top: 0' : '')};\n overflow: hidden; // Enables border radius on scrollable child elements\n pointer-events: auto;\n flex-direction: column;\n background-color: ${get('colors.bg.overlay')};\n border-radius: ${get('radii.2')};\n box-shadow: ${get('shadows.shadow.small')};\n animation: ${animateModal} 0.12s cubic-bezier(0, 0.1, 0.1, 1) backwards;\n\n @media (min-width: ${get('breakpoints.0')}) {\n height: auto;\n max-height: 350px;\n margin: ${get('space.1')} 0 ${get('space.3')} 0;\n font-size: ${get('fontSizes.0')};\n border: ${get('borderWidths.1')} solid ${get('colors.border.overlay')};\n border-radius: ${get('radii.2')};\n box-shadow: ${get('shadows.shadow.small')};\n }\n`\n\nconst modalWrapperStyles = css<StyledModalWrapperProps>`\n position: fixed;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: 99;\n display: flex;\n padding: ${get('space.3')};\n pointer-events: none;\n flex-direction: column;\n\n &::before {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n pointer-events: none;\n content: '';\n background-color: ${get('colors.selectMenu.backdropBg')};\n\n @media (min-width: ${get('breakpoints.0')}) {\n display: none;\n }\n }\n\n @media (min-width: ${get('breakpoints.0')}) {\n position: absolute;\n top: auto;\n right: ${props => (props.align === 'right' ? '0' : 'auto')};\n bottom: auto;\n left: auto;\n padding: 0;\n }\n`\n\nconst Modal = styled.div<StyledModalProps>`\n ${modalStyles}\n ${width}\n`\n\nconst ModalWrapper = styled.div<StyledModalWrapperProps>`\n ${modalWrapperStyles}\n ${COMMON}\n ${sx};\n`\n\ntype SelectMenuModalInternalProps = Pick<StyledModalProps, 'width'> & ComponentProps<typeof ModalWrapper>\n\nconst SelectMenuModal = React.forwardRef<HTMLDivElement, SelectMenuModalInternalProps>(\n ({children, theme, width: widthProp, ...rest}, forwardedRef) => {\n return (\n <ModalWrapper theme={theme} {...rest} role=\"menu\" ref={forwardedRef}>\n <Modal theme={theme} width={widthProp}>\n {children}\n </Modal>\n </ModalWrapper>\n )\n }\n)\n\nSelectMenuModal.defaultProps = {\n align: 'left',\n width: '300px'\n}\n\nSelectMenuModal.displayName = 'SelectMenu.Modal'\n\nexport type SelectMenuModalProps = ComponentProps<typeof SelectMenuModal>\nexport default SelectMenuModal\n","import classnames from 'classnames'\nimport React, {useContext, useEffect} from 'react'\nimport styled, {css} from 'styled-components'\nimport {COMMON, get, SystemCommonProps} from '../constants'\nimport sx, {SxProp} from '../sx'\nimport {ComponentProps} from '../utils/types'\nimport {MenuContext} from './SelectMenuContext'\n\nconst tabStyles = css`\n flex: 1;\n padding: ${get('space.2')} ${get('space.3')};\n font-size: ${get('fontSizes.0')};\n font-weight: 500;\n color: ${get('colors.text.tertiary')};\n text-align: center;\n background-color: transparent;\n border: 0;\n box-shadow: inset 0 -1px 0 ${get('colors.selectMenu.borderSecondary')};\n\n @media (min-width: ${get('breakpoints.0')}) {\n flex: none;\n padding: ${get('space.1')} ${get('space.3')};\n border: ${get('borderWidths.1')} solid transparent;\n border-bottom-width: 0;\n border-top-left-radius: ${get('radii.2')};\n border-top-right-radius: ${get('radii.2')};\n }\n\n &[aria-selected='true'] {\n z-index: 1; // Keeps box-shadow visible when hovering\n color: ${get('colors.text-primary')};\n background-color: ${get('colors.bg.overlay')};\n box-shadow: 0 0 0 1px ${get('colors.selectMenu.borderSecondary')};\n\n @media (min-width: ${get('breakpoints.0')}) {\n border-color: ${get('colors.selectMenu.borderSecondary')};\n box-shadow: none;\n }\n }\n\n &:focus {\n background-color: ${get('colors.state.hover.secondaryBg')};\n }\n`\n\nconst StyledTab = styled.button<SystemCommonProps & SxProp>`\n ${tabStyles}\n ${COMMON}\n ${sx};\n`\n\nexport type SelectMenuTabProps = {tabName?: string; index?: number} & ComponentProps<typeof StyledTab>\n\nconst SelectMenuTab = ({tabName = '', index, className, onClick, ...rest}: SelectMenuTabProps) => {\n const menuContext = useContext(MenuContext)\n const handleClick = (e: React.MouseEvent<HTMLButtonElement, MouseEvent>) => {\n // if consumer has attached an onClick event, call it\n onClick && onClick(e)\n if (!e.defaultPrevented) {\n menuContext.setSelectedTab?.(tabName)\n }\n }\n\n // if no tab is selected when the component renders, show the first tab\n useEffect(() => {\n if (!menuContext.selectedTab && index === 0) {\n menuContext.setSelectedTab?.(tabName)\n }\n }, [index, menuContext, tabName])\n\n const isSelected = menuContext.selectedTab === tabName\n\n return (\n <StyledTab\n role=\"tab\"\n className={classnames('SelectMenuTab', className)}\n aria-selected={isSelected}\n onClick={handleClick}\n {...rest}\n >\n {tabName}\n </StyledTab>\n )\n}\n\nSelectMenuTab.displayName = 'SelectMenu.Tab'\n\nexport default SelectMenuTab\n","import React, {useContext} from 'react'\nimport styled from 'styled-components'\nimport {COMMON, get, SystemCommonProps} from '../constants'\nimport sx, {SxProp} from '../sx'\nimport {ComponentProps} from '../utils/types'\nimport {MenuContext} from './SelectMenuContext'\nimport SelectMenuList from './SelectMenuList'\n\nconst TabPanelBase = styled.div<SystemCommonProps & SxProp>`\n border-top: ${get('borderWidths.1')} solid ${get('colors.selectMenu.borderSecondary')};\n ${COMMON}\n ${sx};\n`\n\nexport type SelectMenuTabPanelProps = {\n tabName?: string\n} & ComponentProps<typeof TabPanelBase>\n\nconst TabPanel = ({tabName, className, children, ...rest}: SelectMenuTabPanelProps) => {\n const menuContext = useContext(MenuContext)\n return (\n <TabPanelBase role=\"tabpanel\" className={className} hidden={menuContext.selectedTab !== tabName} {...rest}>\n <SelectMenuList>{children}</SelectMenuList>\n </TabPanelBase>\n )\n}\n\nTabPanel.displayName = 'SelectMenu.TabPanel'\n\nexport default TabPanel\n","import React from 'react'\nimport styled, {css} from 'styled-components'\nimport {COMMON, get, SystemCommonProps} from '../constants'\nimport sx, {SxProp} from '../sx'\nimport {ComponentProps} from '../utils/types'\n\nconst tabWrapperStyles = css`\n display: flex;\n flex-shrink: 0;\n margin-bottom: -1px; // hide border of element below\n -webkit-overflow-scrolling: touch;\n overflow-x: auto;\n overflow-y: hidden;\n\n // Hide scrollbar so it doesn't cover the text\n &::-webkit-scrollbar {\n display: none;\n }\n\n @media (min-width: ${get('breakpoints.0')}) {\n padding: 0 ${get('space.2')};\n margin-top: ${get('space.3')};\n }\n`\n\nconst SelectMenuTabsBase = styled.div<SystemCommonProps & SxProp>`\n ${tabWrapperStyles}\n ${COMMON}\n ${sx};\n`\n\nexport type SelectMenuTabsProps = ComponentProps<typeof SelectMenuTabsBase>\n\nconst SelectMenuTabs = ({children, ...rest}: SelectMenuTabsProps) => {\n return (\n <SelectMenuTabsBase role=\"tablist\" {...rest}>\n {children}\n </SelectMenuTabsBase>\n )\n}\n\nSelectMenuTabs.displayName = 'SelectMenu.Tabs'\n\nexport default SelectMenuTabs\n","import React, {useCallback, useEffect, useRef, useState} from 'react'\nimport styled from 'styled-components'\nimport {COMMON, SystemCommonProps} from '../constants'\nimport sx, {SxProp} from '../sx'\nimport {ComponentProps} from '../utils/types'\nimport useKeyboardNav from './hooks/useKeyboardNav'\nimport {MenuContext} from './SelectMenuContext'\nimport SelectMenuDivider from './SelectMenuDivider'\nimport SelectMenuFilter from './SelectMenuFilter'\nimport SelectMenuFooter from './SelectMenuFooter'\nimport SelectMenuHeader from './SelectMenuHeader'\nimport SelectMenuItem from './SelectMenuItem'\nimport SelectMenuList from './SelectMenuList'\nimport SelectMenuLoadingAnimation from './SelectMenuLoadingAnimation'\nimport SelectMenuModal from './SelectMenuModal'\nimport SelectMenuTab from './SelectMenuTab'\nimport SelectMenuTabPanel from './SelectMenuTabPanel'\nimport SelectMenuTabs from './SelectMenuTabs'\n\nconst wrapperStyles = `\n // Remove marker added by the display: list-item browser default\n > summary {\n list-style: none;\n }\n // Remove marker added by details polyfill\n > summary::before {\n display: none;\n }\n // Remove marker added by Chrome\n > summary::-webkit-details-marker {\n display: none;\n }\n`\n\nconst StyledSelectMenu = styled.details<SystemCommonProps & SxProp>`\n ${wrapperStyles}\n ${COMMON}\n ${sx};\n`\n\ntype SelectMenuInternalProps = {\n initialTab?: string\n as?: React.ReactElement\n} & ComponentProps<typeof StyledSelectMenu>\n\n// 'as' is spread out because we don't want users to be able to change the tag.\nconst SelectMenu = React.forwardRef<HTMLElement, SelectMenuInternalProps>(\n ({children, initialTab = '', as: _ignoredAs, ...rest}, forwardedRef) => {\n const backupRef = useRef<HTMLElement>(null)\n const ref = forwardedRef ?? backupRef\n const [selectedTab, setSelectedTab] = useState(initialTab)\n const [open, setOpen] = useState(false)\n const menuProviderValues = {\n selectedTab,\n setSelectedTab,\n setOpen,\n open,\n initialTab\n }\n\n const onClickOutside = useCallback(\n event => {\n if ('current' in ref && ref.current && !ref.current.contains(event.target)) {\n if (!event.defaultPrevented) {\n setOpen(false)\n }\n }\n },\n [ref, setOpen]\n )\n\n // handles the overlay behavior - closing the menu when clicking outside of it\n useEffect(() => {\n if (open) {\n document.addEventListener('click', onClickOutside)\n return () => {\n document.removeEventListener('click', onClickOutside)\n }\n }\n }, [open, onClickOutside])\n\n function toggle(event: React.SyntheticEvent<HTMLDetailsElement, Event>) {\n setOpen((event.target as HTMLDetailsElement).open)\n }\n\n useKeyboardNav(ref, open, setOpen)\n\n return (\n <MenuContext.Provider value={menuProviderValues}>\n <StyledSelectMenu ref={ref} {...rest} open={open} onToggle={toggle}>\n {children}\n </StyledSelectMenu>\n </MenuContext.Provider>\n )\n }\n)\n\nSelectMenu.displayName = 'SelectMenu'\n\nexport type SelectMenuProps = ComponentProps<typeof SelectMenu>\nexport type {SelectMenuDividerProps} from './SelectMenuDivider'\nexport type {SelectMenuFilterProps} from './SelectMenuFilter'\nexport type {SelectMenuFooterProps} from './SelectMenuFooter'\nexport type {SelectMenuHeaderProps} from './SelectMenuHeader'\nexport type {SelectMenuItemProps} from './SelectMenuItem'\nexport type {SelectMenuListProps} from './SelectMenuList'\nexport type {SelectMenuLoadingAnimationProps} from './SelectMenuLoadingAnimation'\nexport type {SelectMenuModalProps} from './SelectMenuModal'\nexport type {SelectMenuTabProps} from './SelectMenuTab'\nexport type {SelectMenuTabPanelProps} from './SelectMenuTabPanel'\nexport type {SelectMenuTabsProps} from './SelectMenuTabs'\nexport default Object.assign(SelectMenu, {\n MenuContext,\n List: SelectMenuList,\n Divider: SelectMenuDivider,\n Filter: SelectMenuFilter,\n Footer: SelectMenuFooter,\n Item: SelectMenuItem,\n Modal: SelectMenuModal,\n Tabs: SelectMenuTabs,\n Tab: SelectMenuTab,\n TabPanel: SelectMenuTabPanel,\n Header: SelectMenuHeader,\n LoadingAnimation: SelectMenuLoadingAnimation\n})\n","// eslint-disable-next-line import/no-namespace\nimport * as History from 'history'\n\nimport {COMMON, get} from './constants'\nimport styled, {css} from 'styled-components'\n\nimport Box from './Box'\nimport {ComponentProps} from './utils/types'\nimport Link from './Link'\nimport React from 'react'\nimport classnames from 'classnames'\nimport sx from './sx'\n\ntype SideNavBaseProps = {\n variant?: 'lightweight' | 'normal'\n bordered?: boolean\n} & ComponentProps<typeof Box>\n\nfunction SideNavBase({variant, className, bordered, children, ...props}: SideNavBaseProps) {\n const variantClassName = variant === 'lightweight' ? 'lightweight' : 'normal'\n const newClassName = classnames(className, `variant-${variantClassName}`)\n\n if (!bordered) {\n props = {...props, borderWidth: 0}\n }\n\n return (\n <Box\n borderWidth=\"1px\"\n borderStyle=\"solid\"\n borderColor=\"border.primary\"\n borderRadius={2}\n as=\"nav\"\n className={newClassName}\n {...props}\n >\n {children}\n </Box>\n )\n}\n\nconst SideNav = styled(SideNavBase)`\n background-color: ${get('colors.bg.secondary')};\n\n ${props =>\n props.bordered &&\n css`\n // Remove duplicate borders from nested SideNavs\n & > & {\n border-left: 0;\n border-right: 0;\n border-bottom: 0;\n }\n `}\n\n ${COMMON};\n ${sx};\n`\ntype StyledSideNavLinkProps = {\n to?: History.LocationDescriptor\n selected?: boolean\n variant?: 'full' | 'normal'\n}\n\n// used for variant normal hover, focus pseudo selectors\nconst CommonAccessibilityVariantNormalStyles = css`\n background-color: ${get('colors.state.hover.secondaryBg')};\n outline: none;\n text-decoration: none;\n`\n\n// used for light weight hover, focus pseudo selectors\nconst CommonAccessibilityVariantLightWeightStyles = css`\n color: ${get('colors.text.primary')};\n text-decoration: none;\n outline: none;\n`\n\nconst SideNavLink = styled(Link).attrs<StyledSideNavLinkProps>(props => {\n const isReactRouter = typeof props.to === 'string'\n if (isReactRouter || props.selected) {\n // according to their docs, NavLink supports aria-current:\n // https://reacttraining.com/react-router/web/api/NavLink/aria-current-string\n return {'aria-current': 'page'}\n } else {\n return {}\n }\n})<StyledSideNavLinkProps>`\n position: relative;\n display: block;\n ${props =>\n props.variant === 'full' &&\n css`\n display: flex;\n align-items: center;\n justify-content: space-between;\n `}\n width: 100%;\n text-align: left;\n font-size: ${get('fontSizes.1')};\n\n & > ${SideNav} {\n border-bottom: none;\n }\n\n ${SideNav}.variant-normal > & {\n color: ${get('colors.text.primary')};\n padding: ${get('space.3')};\n border: 0;\n border-top: ${get('borderWidths.1')} solid ${get('colors.border.secondary')};\n\n &:first-child {\n border-top: 0;\n border-top-right-radius: ${get('radii.2')};\n border-top-left-radius: ${get('radii.2')};\n }\n\n &:last-child {\n border-bottom-right-radius: ${get('radii.2')};\n border-bottom-left-radius: ${get('radii.2')};\n }\n\n // Bar on the left\n &::before {\n position: absolute;\n top: 0;\n bottom: 0;\n left: 0;\n z-index: 1;\n width: 3px;\n pointer-events: none;\n content: '';\n }\n\n &:hover {\n ${CommonAccessibilityVariantNormalStyles}\n }\n\n &:focus {\n ${CommonAccessibilityVariantNormalStyles}\n box-shadow: ${get('shadows.state.focus.shadow')};\n z-index: 1;\n }\n\n &[aria-current='page'],\n &[aria-selected='true'] {\n background-color: ${get('colors.sidenav.selectedBg')};\n\n // Bar on the left\n &::before {\n background-color: ${get('colors.sidenav.borderActive')};\n }\n }\n }\n\n ${SideNav}.variant-lightweight > & {\n padding: ${get('space.1')} 0;\n color: ${get('colors.text.link')};\n\n &:hover {\n ${CommonAccessibilityVariantLightWeightStyles}\n }\n\n &:focus {\n ${CommonAccessibilityVariantLightWeightStyles}\n box-shadow: ${get('shadows.state.focus.shadow')};\n z-index: 1;\n }\n\n &[aria-current='page'],\n &[aria-selected='true'] {\n color: ${get('colors.text.primary')};\n font-weight: ${get('fontWeights.semibold')};\n }\n }\n\n ${sx};\n`\n\nSideNav.defaultProps = {\n variant: 'normal'\n}\n\nSideNavLink.defaultProps = {\n variant: 'normal'\n}\n\nSideNavLink.displayName = 'SideNav.Link'\n\nexport type SideNavProps = ComponentProps<typeof SideNav>\nexport type SideNavLinkProps = ComponentProps<typeof SideNavLink>\n\nexport default Object.assign(SideNav, {Link: SideNavLink})\n","import {GitMergeIcon, GitPullRequestIcon, IssueClosedIcon, IssueOpenedIcon, QuestionIcon} from '@primer/octicons-react'\nimport React from 'react'\nimport styled from 'styled-components'\nimport {variant} from 'styled-system'\nimport {COMMON, get, SystemCommonProps} from './constants'\nimport StyledOcticon from './StyledOcticon'\nimport sx, {SxProp} from './sx'\nimport {ComponentProps} from './utils/types'\n\nconst octiconMap = {\n issueOpened: IssueOpenedIcon,\n pullOpened: GitPullRequestIcon,\n issueClosed: IssueClosedIcon,\n pullClosed: GitPullRequestIcon,\n pullMerged: GitMergeIcon,\n draft: GitPullRequestIcon\n}\n\nconst colorVariants = variant({\n prop: 'status',\n variants: {\n issueClosed: {\n backgroundColor: 'prState.closed.bg',\n color: 'prState.closed.text',\n borderColor: 'prState.closed.border'\n },\n pullClosed: {\n backgroundColor: 'prState.closed.bg',\n color: 'prState.closed.text',\n borderColor: 'prState.closed.border'\n },\n pullMerged: {\n backgroundColor: 'prState.merged.bg',\n color: 'prState.merged.text',\n borderColor: 'prState.merged.border'\n },\n issueOpened: {\n backgroundColor: 'prState.open.bg',\n color: 'prState.open.text',\n borderColor: 'prState.open.border'\n },\n pullOpened: {\n backgroundColor: 'prState.open.bg',\n color: 'prState.open.text',\n borderColor: 'prState.open.border'\n },\n draft: {\n backgroundColor: 'prState.draft.bg',\n color: 'prState.draft.text',\n borderColor: 'prState.draft.border'\n }\n }\n})\n\nconst sizeVariants = variant({\n prop: 'variant',\n variants: {\n small: {\n paddingX: 2,\n paddingY: 1,\n fontSize: 0\n },\n normal: {\n paddingX: '12px',\n paddingY: 2,\n fontSize: 1\n }\n }\n})\n\ntype StyledStateLabelBaseProps = {\n variant?: 'small' | 'normal'\n status?: keyof typeof octiconMap\n} & SystemCommonProps &\n SxProp\n\nconst StateLabelBase = styled.span<StyledStateLabelBaseProps>`\n display: inline-flex;\n align-items: center;\n font-weight: ${get('fontWeights.bold')};\n line-height: 16px;\n color: ${get('colors.bg.primary')};\n text-align: center;\n border-radius: ${get('radii.3')};\n border-width: 1px;\n border-style: solid;\n ${colorVariants};\n ${sizeVariants};\n ${COMMON};\n ${sx};\n`\n\nexport type StateLabelProps = ComponentProps<typeof StateLabelBase>\n\nfunction StateLabel({children, status, variant: variantProp, ...rest}: StateLabelProps) {\n const octiconProps = variantProp === 'small' ? {width: '1em'} : {}\n return (\n <StateLabelBase {...rest} variant={variantProp} status={status}>\n {/* eslint-disable-next-line @typescript-eslint/no-unnecessary-condition */}\n {status && <StyledOcticon mr={1} {...octiconProps} icon={octiconMap[status] || QuestionIcon} />}\n {children}\n </StateLabelBase>\n )\n}\n\nStateLabel.defaultProps = {\n variant: 'normal'\n}\n\nexport default StateLabel\n","import classnames from 'classnames'\n// eslint-disable-next-line import/no-namespace\nimport * as History from 'history'\nimport React from 'react'\nimport styled from 'styled-components'\nimport {COMMON, FLEX, get, SystemBorderProps, SystemCommonProps, SystemFlexProps} from './constants'\nimport Box, {BoxProps} from './Box'\nimport sx, {SxProp} from './sx'\nimport {ComponentProps} from './utils/types'\n\nconst ITEM_CLASS = 'SubNav-item'\nconst SELECTED_CLASS = 'selected'\n\nconst SubNavBase = styled.nav<SystemFlexProps & SystemCommonProps & SxProp>`\n display: flex;\n justify-content: space-between;\n\n .SubNav-body {\n display: flex;\n margin-bottom: -1px;\n\n > * {\n margin-left: ${get('space.2')};\n }\n\n > *:first-child {\n margin-left: 0;\n }\n }\n\n .SubNav-actions {\n align-self: center;\n }\n\n ${COMMON};\n ${FLEX};\n ${sx};\n`\n\nexport type SubNavProps = {\n actions?: React.ReactNode\n align?: 'right'\n full?: boolean\n label?: string\n} & ComponentProps<typeof SubNavBase>\n\nfunction SubNav({actions, className, children, label, ...rest}: SubNavProps) {\n const classes = classnames(className, 'SubNav')\n return (\n <SubNavBase className={classes} aria-label={label} {...rest}>\n <div className=\"SubNav-body\">{children}</div>\n {actions && <div className=\"SubNav-actions\">{actions}</div>}\n </SubNavBase>\n )\n}\n\nexport type SubNavLinksProps = BoxProps\n\nfunction SubNavLinks(props: SubNavLinksProps) {\n return <Box display=\"flex\" {...props} />\n}\n\ntype StyledSubNavLinkProps = {\n to?: History.LocationDescriptor\n selected?: boolean\n} & SystemCommonProps &\n SxProp &\n SystemBorderProps\n\nconst SubNavLink = styled.a.attrs<StyledSubNavLinkProps>(props => ({\n activeClassName: typeof props.to === 'string' ? 'selected' : '',\n className: classnames(ITEM_CLASS, props.selected && SELECTED_CLASS, props.className)\n}))<StyledSubNavLinkProps>`\n padding-left: ${get('space.3')};\n padding-right: ${get('space.3')};\n font-weight: ${get('fontWeights.semibold')};\n font-size: ${get('fontSizes.1')};\n line-height: 20px; //custom value for SubNav\n min-height: 34px; //custom value for SubNav\n color: ${get('colors.text.primary')};\n text-align: center;\n text-decoration: none;\n border-top: 1px solid ${get('colors.border.primary')};\n border-bottom: 1px solid ${get('colors.border.primary')};\n border-right: 1px solid ${get('colors.border.primary')};\n display: flex;\n align-items: center;\n\n &:first-of-type {\n border-top-left-radius: ${get('radii.2')};\n border-bottom-left-radius: ${get('radii.2')};\n border-left: 1px solid ${get('colors.border.primary')};\n }\n\n &:last-of-type {\n border-top-right-radius: ${get('radii.2')};\n border-bottom-right-radius: ${get('radii.2')};\n }\n\n &:hover,\n &:focus {\n text-decoration: none;\n background-color: ${get('colors.bg.tertiary')};\n transition: 0.2s ease;\n\n .SubNav-octicon {\n color: ${get('colors.icon.secondary')};\n }\n }\n\n &.selected {\n color: ${get('colors.state.selected.primaryText')};\n background-color: ${get('colors.state.selected.primaryBg')};\n border-color: ${get('colors.state.selected.primaryBorder')};\n .SubNav-octicon {\n color: ${get('colors.state.selected.primaryText')};\n }\n }\n\n ${COMMON};\n ${sx};\n`\n\nSubNavLink.displayName = 'SubNav.Link'\n\nSubNavLinks.displayName = 'SubNav.Links'\n\nexport type SubNavLinkProps = ComponentProps<typeof SubNavLink>\nexport default Object.assign(SubNav, {Link: SubNavLink, Links: SubNavLinks})\n","import classnames from 'classnames'\n// eslint-disable-next-line import/no-namespace\nimport * as History from 'history'\nimport React from 'react'\nimport styled from 'styled-components'\nimport {COMMON, get, SystemCommonProps, SystemTypographyProps} from './constants'\nimport sx, {SxProp} from './sx'\nimport {ComponentProps} from './utils/types'\n\nconst ITEM_CLASS = 'TabNav-item'\nconst SELECTED_CLASS = 'selected'\n\nconst TabNavBase = styled.div<SystemCommonProps & SxProp>`\n margin-top: 0;\n border-bottom: 1px solid ${get('colors.border.primary')};\n ${COMMON}\n ${sx}\n`\n\nconst TabNavBody = styled.nav`\n display: flex;\n margin-bottom: -1px;\n overflow: auto;\n`\n\nexport type TabNavProps = ComponentProps<typeof TabNavBase>\n\nfunction TabNav({children, 'aria-label': ariaLabel, ...rest}: TabNavProps) {\n return (\n <TabNavBase {...rest}>\n <TabNavBody aria-label={ariaLabel}>{children}</TabNavBody>\n </TabNavBase>\n )\n}\n\ntype StyledTabNavLinkProps = {\n to?: History.LocationDescriptor\n selected?: boolean\n} & SystemCommonProps &\n SxProp &\n SystemTypographyProps\n\nconst TabNavLink = styled.a.attrs<StyledTabNavLinkProps>(props => ({\n activeClassName: typeof props.to === 'string' ? 'selected' : '',\n className: classnames(ITEM_CLASS, props.selected && SELECTED_CLASS, props.className)\n}))<StyledTabNavLinkProps>`\n padding: 8px 12px;\n font-size: ${get('fontSizes.1')};\n line-height: 20px;\n color: ${get('colors.text.primary')};\n text-decoration: none;\n background-color: transparent;\n border: 1px solid transparent;\n border-bottom: 0;\n\n &:hover,\n &:focus {\n color: ${get('colors.text.primary')};\n text-decoration: none;\n }\n\n &.selected {\n color: ${get('colors.text.primary')};\n border-color: ${get('colors.border.primary')};\n border-top-right-radius: ${get('radii.2')};\n border-top-left-radius: ${get('radii.2')};\n background-color: ${get('colors.bg.canvas')};\n }\n\n ${COMMON};\n ${sx};\n`\n\nTabNavLink.displayName = 'TabNav.Link'\n\nexport type TabNavLinkProps = ComponentProps<typeof TabNavLink>\nexport default Object.assign(TabNav, {Link: TabNavLink})\n","import classnames from 'classnames'\nimport React from 'react'\nimport styled, {css} from 'styled-components'\nimport Box, {BoxProps} from './Box'\nimport {COMMON, get} from './constants'\nimport sx from './sx'\nimport {ComponentProps} from './utils/types'\n\nconst Timeline = styled(Box)<{clipSidebar?: boolean}>`\n display: flex;\n flex-direction: column;\n ${props =>\n props.clipSidebar &&\n css`\n .Timeline-Item:first-child {\n padding-top: 0;\n }\n\n .Timeline-Item:last-child {\n padding-bottom: 0;\n }\n `}\n\n ${sx};\n`\n\ntype StyledTimelineItemProps = {condensed?: boolean}\n\nconst TimelineItem = styled(Box).attrs<StyledTimelineItemProps>(props => ({\n className: classnames('Timeline-Item', props.className)\n}))<StyledTimelineItemProps>`\n display: flex;\n position: relative;\n padding: ${get('space.3')} 0;\n margin-left: ${get('space.3')};\n\n &::before {\n position: absolute;\n top: 0;\n bottom: 0;\n left: 0;\n display: block;\n width: 2px;\n content: '';\n background-color: ${get('colors.border.secondary')};\n }\n\n ${props =>\n props.condensed &&\n css`\n padding-top: ${get('space.1')};\n padding-bottom: 0;\n &:last-child {\n padding-bottom: ${get('space.3')};\n }\n\n .TimelineItem-Badge {\n height: 16px;\n margin-top: ${get('space.2')};\n margin-bottom: ${get('space.2')};\n color: ${get('colors.icon.tertiary')};\n background-color: ${get('colors.bg.canvas')};\n border: 0;\n }\n `}\n\n ${COMMON};\n ${sx};\n`\n\nexport type TimelineBadgeProps = BoxProps\n\nconst TimelineBadge = (props: TimelineBadgeProps) => {\n return (\n <Box position=\"relative\" zIndex={1}>\n <Box\n display=\"flex\"\n className={classnames(props.className, 'TimelineItem-Badge')}\n flexShrink={0}\n css={`\n border-radius: 50%;\n border: 2px solid ${get('colors.bg.canvas')};\n `}\n overflow=\"hidden\"\n color=\"icon.secondary\"\n bg=\"timeline.badgeBg\"\n width=\"32px\"\n height=\"32px\"\n mr={2}\n ml=\"-15px\"\n alignItems=\"center\"\n justifyContent=\"center\"\n {...props}\n >\n {props.children}\n </Box>\n </Box>\n )\n}\n\nconst TimelineBody = styled(Box)`\n min-width: 0;\n max-width: 100%;\n margin-top: ${get('space.1')};\n color: ${get('colors.timeline.text')};\n flex: auto;\n font-size: ${get('fontSizes.1')};\n ${sx};\n`\n\nconst TimelineBreak = styled(Box)`\n position: relative\n z-index: 1;\n height: 24px;\n margin: 0;\n margin-bottom: -${get('space.3')};\n margin-left: 0;\n background-color: ${get('colors.bg.canvas')};\n border: 0;\n border-top: ${get('space.1')} solid ${get('colors.border.primary')};\n ${sx};\n`\n\nTimelineItem.displayName = 'Timeline.Item'\n\nTimelineBadge.displayName = 'Timeline.Badge'\n\nTimelineBody.displayName = 'Timeline.Body'\n\nTimelineBreak.displayName = 'Timeline.Break'\n\nexport type TimelineProps = ComponentProps<typeof Timeline>\nexport type TimelineItemsProps = ComponentProps<typeof TimelineItem>\nexport type TimelineBodyProps = ComponentProps<typeof TimelineBody>\nexport type TimelineBreakProps = ComponentProps<typeof TimelineBreak>\nexport default Object.assign(Timeline, {\n Item: TimelineItem,\n Badge: TimelineBadge,\n Body: TimelineBody,\n Break: TimelineBreak\n})\n","import classnames from 'classnames'\nimport React from 'react'\nimport styled from 'styled-components'\nimport {COMMON, get, SystemCommonProps} from './constants'\nimport sx, {SxProp} from './sx'\nimport {ComponentProps} from './utils/types'\n\nconst TooltipBase = styled.span<SystemCommonProps & SxProp>`\n position: relative;\n\n &::before {\n position: absolute;\n z-index: 1000001;\n display: none;\n width: 0px;\n height: 0px;\n color: ${get('colors.tooltip.bg')};\n pointer-events: none;\n content: '';\n border: 6px solid transparent;\n opacity: 0;\n }\n\n &::after {\n position: absolute;\n z-index: 1000000;\n display: none;\n padding: 0.5em 0.75em;\n font: normal normal 11px/1.5 ${get('fonts.normal')};\n -webkit-font-smoothing: subpixel-antialiased;\n color: ${get('colors.tooltip.text')};\n text-align: center;\n text-decoration: none;\n text-shadow: none;\n text-transform: none;\n letter-spacing: normal;\n word-wrap: break-word;\n white-space: pre;\n pointer-events: none;\n content: attr(aria-label);\n background: ${get('colors.tooltip.bg')};\n border-radius: ${get('radii.1')};\n opacity: 0;\n }\n\n // delay animation for tooltip\n @keyframes tooltip-appear {\n from {\n opacity: 0;\n }\n\n to {\n opacity: 1;\n }\n }\n\n &:hover,\n &:active,\n &:focus {\n &::before,\n &::after {\n display: inline-block;\n text-decoration: none;\n animation-name: tooltip-appear;\n animation-duration: 0.1s;\n animation-fill-mode: forwards;\n animation-timing-function: ease-in;\n animation-delay: 0.4s;\n }\n }\n\n &.tooltipped-no-delay:hover,\n &.tooltipped-no-delay:active,\n &.tooltipped-no-delay:focus {\n &::before,\n &::after {\n animation-delay: 0s;\n }\n }\n\n &.tooltipped-multiline:hover,\n &.tooltipped-multiline:active,\n &.tooltipped-multiline:focus {\n &::after {\n display: table-cell;\n }\n }\n\n // Tooltipped south\n &.tooltipped-s,\n &.tooltipped-se,\n &.tooltipped-sw {\n &::after {\n top: 100%;\n right: 50%;\n margin-top: 6px;\n }\n\n &::before {\n top: auto;\n right: 50%;\n bottom: -7px;\n margin-right: -6px;\n border-bottom-color: ${get('colors.tooltip.bg')};\n }\n }\n\n &.tooltipped-se {\n &::after {\n right: auto;\n left: 50%;\n margin-left: -${get('space.3')};\n }\n }\n\n &.tooltipped-sw::after {\n margin-right: -${get('space.3')};\n }\n\n // Tooltips above the object\n &.tooltipped-n,\n &.tooltipped-ne,\n &.tooltipped-nw {\n &::after {\n right: 50%;\n bottom: 100%;\n margin-bottom: 6px;\n }\n\n &::before {\n top: -7px;\n right: 50%;\n bottom: auto;\n margin-right: -6px;\n border-top-color: ${get('colors.tooltip.bg')};\n }\n }\n\n &.tooltipped-ne {\n &::after {\n right: auto;\n left: 50%;\n margin-left: -${get('space.3')};\n }\n }\n\n &.tooltipped-nw::after {\n margin-right: -${get('space.3')};\n }\n\n // Move the tooltip body to the center of the object.\n &.tooltipped-s::after,\n &.tooltipped-n::after {\n transform: translateX(50%);\n }\n\n // Tooltipped to the left\n &.tooltipped-w {\n &::after {\n right: 100%;\n bottom: 50%;\n margin-right: 6px;\n transform: translateY(50%);\n }\n\n &::before {\n top: 50%;\n bottom: 50%;\n left: -7px;\n margin-top: -6px;\n border-left-color: ${get('colors.tooltip.bg')};\n }\n }\n\n // tooltipped to the right\n &.tooltipped-e {\n &::after {\n bottom: 50%;\n left: 100%;\n margin-left: 6px;\n transform: translateY(50%);\n }\n\n &::before {\n top: 50%;\n right: -7px;\n bottom: 50%;\n margin-top: -6px;\n border-right-color: ${get('colors.tooltip.bg')};\n }\n }\n\n &.tooltipped-multiline {\n &::after {\n width: max-content;\n max-width: 250px;\n word-wrap: break-word;\n white-space: pre-line;\n border-collapse: separate;\n }\n\n &.tooltipped-s::after,\n &.tooltipped-n::after {\n right: auto;\n left: 50%;\n transform: translateX(-50%);\n }\n\n &.tooltipped-w::after,\n &.tooltipped-e::after {\n right: 100%;\n }\n }\n\n &.tooltipped-align-right-2::after {\n right: 0;\n margin-right: 0;\n }\n\n &.tooltipped-align-right-2::before {\n right: 15px;\n }\n\n &.tooltipped-align-left-2::after {\n left: 0;\n margin-left: 0;\n }\n\n &.tooltipped-align-left-2::before {\n left: 10px;\n }\n ${COMMON};\n ${sx};\n`\n\nexport type TooltipProps = {\n direction?: 'n' | 'ne' | 'e' | 'se' | 's' | 'sw' | 'w' | 'nw'\n text?: string\n noDelay?: boolean\n align?: 'left' | 'right'\n wrap?: boolean\n} & ComponentProps<typeof TooltipBase>\n\nfunction Tooltip({direction = 'n', children, className, text, noDelay, align, wrap, ...rest}: TooltipProps) {\n const classes = classnames(\n className,\n `tooltipped-${direction}`,\n align && `tooltipped-align-${align}-2`,\n noDelay && 'tooltipped-no-delay',\n wrap && 'tooltipped-multiline'\n )\n return (\n <TooltipBase role=\"tooltip\" aria-label={text} {...rest} className={classes}>\n {children}\n </TooltipBase>\n )\n}\n\nTooltip.alignments = ['left', 'right']\n\nTooltip.directions = ['n', 'ne', 'e', 'se', 's', 'sw', 'w', 'nw']\n\nexport default Tooltip\n","import classnames from 'classnames'\n// eslint-disable-next-line import/no-namespace\nimport * as History from 'history'\nimport React from 'react'\nimport styled from 'styled-components'\nimport {COMMON, get, SystemCommonProps} from './constants'\nimport sx, {SxProp} from './sx'\nimport {ComponentProps} from './utils/types'\n\nconst ITEM_CLASS = 'UnderlineNav-item'\nconst SELECTED_CLASS = 'selected'\n\nconst UnderlineNavBase = styled.nav`\n display: flex;\n justify-content: space-between;\n border-bottom: 1px solid ${get('colors.border.secondary')};\n &.UnderlineNav--right {\n justify-content: flex-end;\n\n .UnderlineNav-item {\n margin-right: 0;\n margin-left: ${get('space.3')};\n }\n\n .UnderlineNav-actions {\n flex: 1 1 auto;\n }\n }\n &.UnderlineNav--full {\n display: block;\n }\n\n .UnderlineNav-body {\n display: flex;\n margin-bottom: -1px;\n }\n\n .UnderlineNav-actions {\n align-self: center;\n }\n\n ${COMMON};\n ${sx};\n`\n\nexport type UnderlineNavProps = {\n actions?: React.ReactNode\n align?: 'right'\n full?: boolean\n label?: string\n} & ComponentProps<typeof UnderlineNavBase>\n\nfunction UnderlineNav({actions, className, align, children, full, label, theme, ...rest}: UnderlineNavProps) {\n const classes = classnames(className, 'UnderlineNav', align && `UnderlineNav--${align}`, full && 'UnderlineNav--full')\n return (\n <UnderlineNavBase className={classes} aria-label={label} theme={theme} {...rest}>\n <div className=\"UnderlineNav-body\">{children}</div>\n {actions && <div className=\"UnderlineNav-actions\">{actions}</div>}\n </UnderlineNavBase>\n )\n}\n\ntype StyledUnderlineNavLinkProps = {\n to?: History.LocationDescriptor\n selected?: boolean\n} & SystemCommonProps &\n SxProp\n\nconst UnderlineNavLink = styled.a.attrs<StyledUnderlineNavLinkProps>(props => ({\n activeClassName: typeof props.to === 'string' ? 'selected' : '',\n className: classnames(ITEM_CLASS, props.selected && SELECTED_CLASS, props.className)\n}))<StyledUnderlineNavLinkProps>`\n padding: ${get('space.3')} ${get('space.2')};\n margin-right: ${get('space.3')};\n font-size: ${get('fontSizes.1')};\n line-height: ${get('lineHeights.default')};\n color: ${get('colors.underlinenav.text')};\n text-align: center;\n border-bottom: 2px solid transparent;\n text-decoration: none;\n\n &:hover,\n &:focus {\n color: ${get('colors.underlinenav.textHover')};\n text-decoration: none;\n border-bottom-color: ${get('colors.border.tertiary')};\n transition: 0.2s ease;\n\n .UnderlineNav-octicon {\n color: ${get('colors.text.tertiary')};\n }\n }\n\n &.selected {\n color: ${get('colors.underlinenav.textActive')};\n border-bottom-color: ${get('colors.underlinenav.borderActive')};\n\n .UnderlineNav-octicon {\n color: ${get('colors.underlinenav.iconActive')};\n }\n }\n\n ${COMMON};\n ${sx};\n`\n\nUnderlineNavLink.displayName = 'UnderlineNav.Link'\n\nexport type UnderlineNavLinkProps = ComponentProps<typeof UnderlineNavLink>\nexport default Object.assign(UnderlineNav, {Link: UnderlineNavLink})\n","import {useCallback, useEffect, useRef} from 'react'\n\ntype SetTimeout = (handler: TimerHandler, timeout?: number, ...args: unknown[]) => number\ntype ClearTimeout = (id: number) => void\n\n/**\n * Safely call `setTimeout` and `clearTimeout` within a component.\n *\n * This hook ensures that all timeouts are cleared when the component unmounts.\n */\nexport default function useSafeTimeout(): {safeSetTimeout: SetTimeout; safeClearTimeout: ClearTimeout} {\n const timers = useRef<Set<number>>(new Set<number>())\n\n const safeSetTimeout = useCallback(\n (handler: TimerHandler, timeout?: number | undefined, ...args: unknown[]): number => {\n const id = window.setTimeout(handler, timeout, ...args)\n timers.current.add(id)\n return id\n },\n []\n )\n\n const safeClearTimeout = useCallback((id: number) => {\n clearTimeout(id)\n timers.current.delete(id)\n }, [])\n\n useEffect(() => {\n return () => {\n // eslint-disable-next-line react-hooks/exhaustive-deps\n for (const id of timers.current) {\n clearTimeout(id)\n }\n }\n }, [])\n\n return {safeSetTimeout, safeClearTimeout}\n}\n"],"names":["getOwnPropertySymbols","Object","hasOwnProperty","prototype","propIsEnumerable","propertyIsEnumerable","toObject","val","TypeError","objectAssign","assign","test1","String","getOwnPropertyNames","test2","i","fromCharCode","map","n","join","test3","split","forEach","letter","keys","err","shouldUseNative","target","source","from","symbols","to","s","arguments","length","key","call","merge","a","b","result","_assign","defaults","breakpoints","createMediaQuery","getValue","scale","get","obj","def","p","undef","createParser","config","cache","parse","props","next","styles","shouldSort","isCacheDisabled","theme","disableStyledSystemCache","sx","raw","Array","isArray","media","concat","parseResponsiveStyle","parseResponsiveObject","sort","localeCompare","undefined","numeric","sensitivity","propNames","filter","k","_createParser","mediaQueries","_props","slice","value","_assign2","style","breakpoint","_assign3","createStyleFunction","_ref","properties","property","_ref$transform","transform","defaultScale","prop","system","args","conf","compose","_len","parsers","_key","parser","layout","width","isNaN","isNumber","height","minWidth","minHeight","maxWidth","maxHeight","size","overflow","overflowX","overflowY","display","verticalAlign","color","backgroundColor","opacity","bg","typography","fontFamily","fontSize","fontWeight","lineHeight","letterSpacing","textAlign","fontStyle","flexbox","alignItems","alignContent","justifyItems","justifyContent","flexWrap","flexDirection","flex","flexGrow","flexShrink","flexBasis","justifySelf","alignSelf","order","space","grid","gridGap","gridColumnGap","gridRowGap","gridColumn","gridRow","gridAutoFlow","gridAutoColumns","gridAutoRows","gridTemplateColumns","gridTemplateRows","gridTemplateAreas","gridArea","border","borderWidth","borderStyle","borderColor","borderRadius","borderTop","borderTopLeftRadius","borderTopRightRadius","borderRight","borderBottom","borderBottomLeftRadius","borderBottomRightRadius","borderLeft","borderX","borderY","borderBottomWidth","borderBottomColor","borderBottomStyle","borderLeftWidth","borderLeftColor","borderLeftStyle","borderRightWidth","borderRightColor","borderRightStyle","background","backgroundImage","backgroundSize","backgroundPosition","backgroundRepeat","bgImage","bgSize","bgPosition","bgRepeat","position","zIndex","top","right","bottom","left","getMargin","isNegative","absolute","Math","abs","configs","margin","marginTop","marginRight","marginBottom","marginLeft","marginX","marginY","m","mt","mr","mb","ml","mx","my","padding","paddingTop","paddingRight","paddingBottom","paddingLeft","paddingX","paddingY","pt","pr","pb","pl","px","py","shadow","boxShadow","textShadow","_extends","apply","this","defaultBreakpoints","defaultTheme","fontSizes","aliases","multiples","scales","gap","columnGap","rowGap","borderTopWidth","borderTopColor","borderTopStyle","outlineColor","fill","stroke","positiveOrNegative","transforms","reduce","acc","curr","_extends2","css","responsive","x","scaleName","dirs","variant","_config","_ref$prop","_ref$variants","variants","buttonStyle","textStyle","colorStyle","cssProperty","alias","transformValue","getKey","styledSystem","themeGet","path","fallback","COMMON","TYPOGRAPHY","whiteSpace","BORDER","LAYOUT","POSITION","FLEX","GlobalStyle","createGlobalStyle","Base","styled","div","BaseStyles","children","rest","require","React","defaultProps","isMergeableObject","isNonNullObject","stringValue","toString","$$typeof","REACT_ELEMENT_TYPE","isReactElement","isSpecial","Symbol","for","cloneUnlessOtherwiseSpecified","options","clone","deepmerge","defaultArrayMerge","element","getKeys","symbol","getEnumerableOwnPropertySymbols","propertyIsOnObject","object","_","mergeObject","destination","propertyIsUnsafe","customMerge","getMergeFunction","arrayMerge","sourceIsArray","all","array","Error","prev","cjs","defaultDayScheme","defaultNightScheme","ThemeContext","createContext","setColorMode","setDayScheme","setNightScheme","ThemeProvider","fallbackTheme","colorMode","fallbackColorMode","dayScheme","fallbackDayScheme","nightScheme","fallbackNightScheme","useTheme","useState","resolvedColorMode","systemColorMode","resolveColorMode","setSystemColorMode","getSystemColorMode","useEffect","window","_window","matchMedia","_window$matchMedia","handleChange","event","isNight","matches","addEventListener","removeEventListener","addListener","removeListener","useSystemColorMode","colorScheme","chooseColorScheme","resolvedTheme","useMemo","colorSchemes","console","error","defaultColorScheme","applyColorScheme","Provider","SCThemeProvider","useContext","useColorSchemeVar","values","_window$matchMedia2","_window$matchMedia2$c","BorderBox","Box","Flex","Grid","Position","Absolute","forwardRef","ref","displayName","Fixed","Relative","Sticky","useDetails","closeOnOutsideClick","defaultOpen","onClickOutside","open","setOpen","backupRef","useRef","customRef","onClickOutsideInternal","useCallback","current","closest","defaultPrevented","document","handleToggle","e","eventTarget","getDetailsProps","onToggle","stopPropagation","handleClick","handler","registry","reverse","handlerId","useOnOutsideClick","containerRef","ignoreClickRefs","id","MouseEvent","button","_containerRef$current","contains","some","capture","register","deregister","iterateFocusableElements","container","strict","acceptFn","onlyTabbable","isTabbable","isFocusable","walker","createTreeWalker","NodeFilter","SHOW_ELEMENT","acceptNode","node","HTMLElement","FILTER_ACCEPT","FILTER_SKIP","nextNode","lastChild","firstChild","previousNode","elem","disabledAttrInert","includes","tagName","disabled","hiddenInert","hidden","hiddenInputInert","HTMLInputElement","type","sizeInert","offsetWidth","offsetHeight","visibilityInert","getComputedStyle","visibility","clientRectsInert","getClientRects","getAttribute","HTMLAnchorElement","tabIndex","useOpenAndCloseFocus","initialFocusRef","returnFocusRef","returnRef","focus","firstItem","handlers","handleEscape","useOnEscapePress","onEscape","callbackDependencies","escapeCallback","push","splice","findIndex","h","useProvidedRefOrCreate","providedRef","createdRef","useOverlay","overlayRef","_overlayRef","isMac","signalSupported","noop","create","signal","polyfill","originalAddEventListener","EventTarget","name","originalCallback","optionsOrCapture","AbortSignal","monkeyPatch","isMacOS","test","navigator","platform","FocusKeys","idSeed","uniqueId","ArrowHorizontal","ArrowVertical","HL","JK","WS","AD","ArrowAll","HJKL","HomeAndEnd","PageUpDown","WASD","Tab","KEY_TO_BIT","ArrowLeft","ArrowDown","ArrowUp","ArrowRight","j","l","w","d","Home","End","PageUp","PageDown","KEY_TO_DIRECTION","getDirection","keyboardEvent","direction","shiftKey","metaKey","ctrlKey","isActiveDescendantAttribute","activeDescendantActivatedDirectly","activeDescendantActivatedIndirectly","hasActiveDescendantAttribute","focusZone","settings","focusableElements","savedTabIndex","WeakMap","bindKeys","getNextFocusable","focusOutBehavior","focusInStrategy","activeDescendantControl","activeDescendantCallback","onActiveDescendantChanged","currentFocusedElement","getFirstFocusableElement","updateFocusedElement","directlyActivated","activeElement","setActiveDescendant","clearActiveDescendant","has","setAttribute","removeAttribute","previouslyActiveElement","beginFocusManagement","elements","filteredElements","focusableElementFilter","_settings$focusableEl2","insertIndex","compareDocumentPosition","Node","DOCUMENT_POSITION_PRECEDING","set","endFocusManagement","focusableElementIndex","indexOf","savedIndex","delete","MutationObserver","mutations","mutation","removedNode","removedNodes","addedNode","addedNodes","observe","subtree","childList","controller","AbortController","abortSignal","elementIndexFocusedByClick","focusableElement","find","relatedTarget","Element","targetElementIndex","lastKeyboardFocusDirection","targetElement","elementToFocus","warn","keyboardEventRecipient","keyBit","keyLength","isTextInput","HTMLTextAreaElement","HTMLSelectElement","altKey","textInput","cursorAtStart","selectionStart","selectionEnd","cursorAtEnd","shouldIgnoreFocusHandling","nextElementToFocus","lastFocusedIndex","focusedIndex","getCurrentFocusedIndex","nextFocusedIndex","preventDefault","buttonSystemProps","small","medium","large","ButtonBase","attrs","onClick","buttonBaseStyles","ButtonGroup","summary","sizeMap","getSvgProps","ariaLabel","className","_ref$fill","svgDataByHeight","naturalHeight","naturalHeights","parseInt","closestNaturalHeight","naturalWidth","aria-hidden","aria-label","role","viewBox","userSelect","dangerouslySetInnerHTML","__html","CheckIcon","createElement","16","24","GitMergeIcon","GitPullRequestIcon","IssueClosedIcon","IssueOpenedIcon","QuestionIcon","TriangleDownIcon","XIcon","StyledButton","alternateOrders","getAnchoredPosition","floatingElement","anchorElement","parentElement","parentNode","body","getPositionedParent","clippingRect","clippingNode","elemRect","getBoundingClientRect","elemStyle","v","max","innerHeight","Infinity","getClippingRect","parentElementStyle","parentElementRect","viewportRect","relativePosition","floatingRect","anchorRect","side","align","allowOutOfBounds","anchorOffset","alignmentOffset","relativeViewportRect","pos","calculatePosition","anchorSide","alternateOrder","positionAttempt","prevSide","shouldRecalculatePosition","nextSide","pureCalculateAnchoredPosition","positionDefaults","startsWith","getDefaultSettings","elementDimensions","anchorPosition","anchorRight","anchorBottom","currentPos","containerDimensions","useAnchoredPosition","dependencies","floatingElementRef","anchorElementRef","setPosition","updatePosition","callback","useLayoutEffect","observer","ResizeObserver","documentElement","disconnect","suspendedTrapStack","activeTrap","getFocusableChild","focusTrap","initialFocus","lastFocusedChild","ensureTrapZoneHasFocus","focusedElement","containerNeedsTemporaryTabIndex","once","wrappingController","abort","followSignal","firstFocusableChild","lastFocusableChild","suspendedTrap","suspendedTrapIndex","t","trapToReactivate","pop","originalSignal","tryReactivate","useFocusTrap","abortController","previousFocusedElement","disableTrap","restoreFocusOnCleanUp","Octicon","icon","IconComponent","StyledOcticon","useFocusZone","useActiveDescendant","activeDescendantFocus","activeDescendantControlRef","vanillaSettings","PRIMER_PORTAL_ROOT_ID","DEFAULT_PORTAL_CONTAINER_NAME","portalRootRegistry","ensureDefaultPortal","existingDefaultPortalContainer","defaultPortalContainer","getElementById","suitablePortalRoot","querySelector","appendChild","root","registerPortalRoot","onMount","containerName","_containerName","hostElement","elementRef","removeChild","createPortal","useCombinedRefs","refs","combinedRef","setRefs","ANIMATION_DURATION","Backdrop","heightMap","auto","widthMap","xlarge","StyledDialog","DefaultHeader","dialogLabelId","title","subtitle","dialogDescriptionId","onClose","onCloseClick","Dialog","Header","Title","Subtitle","CloseButton","DefaultBody","Body","DefaultFooter","footerButtons","footerRef","Footer","Buttons","buttons","_Dialog","forwardedRef","renderHeader","renderBody","renderFooter","defaultedProps","dialogRef","backdropRef","header","footer","Portal","as","buttonTypes","normal","Button","primary","ButtonPrimary","danger","ButtonDanger","DialogCloseButton","autoFocusRef","autoFocusCount","hasRendered","setHasRendered","dialogButtonProps","index","content","buttonType","autoFocus","buttonProps","ButtonElement","StyledConfirmationHeader","StyledTitle","ConfirmationHeader","StyledConfirmationBody","ConfirmationBody","StyledConfirmationFooter","ConfirmationFooter","ConfirmationDialog","cancelButtonContent","confirmButtonContent","confirmButtonType","StyledHeader","auxiliaryText","_children","StyledGroup","Group","items","Truncate","inline","expandable","StyledDivider","Divider","renderItem","customItemThemes","default","hover","light","dark","dark_dimmed","getItemVariant","iconColor","annotationColor","hoverCursor","DividedContent","MainContent","StyledItem","item","hoverBackground","showDivider","focusBackground","TextContainer","span","BaseVisualContainer","ColoredVisualContainer","LeadingVisualContainer","TrailingContent","DescriptionContainer","MultiSelectInput","input","Item","itemProps","text","description","descriptionVariant","selected","selectionVariant","leadingVisual","LeadingVisual","trailingIcon","TrailingIcon","trailingText","onAction","onKeyPress","labelId","descriptionId","keyPressHandler","clickHandler","customItemTheme","checked","readOnly","colors","StyledList","List","firstGroupStyle","lastGroupStyle","headerStyle","itemStyle","useListVariant","itemIndex","ItemComponent","_itemProps$id","showItemDividers","groups","isGroupedListProps","groupMap","groupMetadata","groupAccumulator","groupId","Map","group","_group$items","groupProps","hasFilledHeader","shouldShowDivider","Fragment","GroupComponent","renderGroup","ActionList","xsmall","initial","xxlarge","StyledOverlay","Overlay","portalContainerName","slideAnimationDistance","replace","slideAnimationEasing","_combinedRef$current","clientHeight","y","endsWith","getSlideAnimationStartingVector","_overlayRef$current","animate","duration","easing","AnchoredOverlay","renderAnchor","anchorRef","externalAnchorRef","onOpen","overlayProps","focusTrapSettings","focusZoneSettings","updateOverlayRef","refCurrent","setRefCurrent","setRef","newRef","useRenderForcingRef","anchorId","onAnchorKeyDown","onAnchorClick","onKeyDown","useProvidedStateOrCreate","externalState","setExternalState","defaultState","internalState","setInternalState","ActionMenuItem","ActionMenuBase","anchorContent","listProps","combinedOpenState","setCombinedOpenState","renderMenuAnchor","itemsToRender","actionCallback","ActionMenu","Avatar","img","square","getBorderRadius","alt","ChildAvatar","AvatarPair","avatars","Children","child","isValidElement","cloneElement","hasOwn","classNames","classes","arg","argType","inner","module","exports","AvatarStackWrapper","count","AvatarStack","alignRight","wrapperClassNames","classnames","transformChildren","Wrapper","li","BreadcrumbBase","nav","Breadcrumb","wrappedChildren","BreadcrumbItem","activeClassName","oppositeEdge","perpendicularEdge","getPosition","edge","spacing","opposite","toLowerCase","perp","getBg","getBorderColor","getBorderWidth","Caret","propsWithTheme","location","getEdgeAlign","c","triangle","line","pointerEvents","strokeWidth","locations","variantSizes","CircleBadge","calc","parseFloat","isFinite","CircleBadgeIcon","Icon","CircleOcticon","scheme","Details","details","focusable","el","inputEl","visible","DialogBase","narrow","wide","DialogHeaderBase","DialogHeader","toArray","every","ch","Text","onDismiss","isOpen","modalRef","closeButtonRef","getDialogProps","getFocusableItem","movement","querySelectorAll","offsetIndex","fallbackIndex","handleTab","focusableItem","useDialog","ButtonClose","propTypes","ne","sw","se","StyledDetails","Dropdown","DropdownButton","DropdownCaret","DropdownMenu","ul","getDirectionStyles","DropdownItem","Menu","placeholder","selectedItem","onChange","onOpenChange","itemFromAction","FilterListBase","FilterList","FilterListItemBase","FilterListItem","svg","success","warning","Flash","full","FormGroup","FormGroupLabel","label","Label","HeaderItem","HeaderLink","Link","Heading","h2","outlineStyles","sizeVariant","xl","dropshadow","outline","hoverColor","muted","underline","Page","usePaginationPages","pageCount","currentPage","onPageChange","hrefBuilder","marginPageCount","showPages","surroundingPageCount","pageChange","model","pages","pageNums","addPage","extentLeft","extentRight","leftPage","rightPage","sorted","idx","ary","num","lastPage","buildPaginationModel","page","rel","href","buildComponentData","PaginationContainer","Pagination","defaultHrefBuilder","pageElements","pageNum","PointerBox","caret","boxProps","caretProps","Popover","relative","PopoverContent","Content","Bar","progress","ProgressContainer","barSize","ProgressBar","useKeyboardNav","handleKeyDown","openDetails","focusItem","found","KeyboardEvent","isSummaryFocused","closeDetails","isMenuItem","click","MenuContext","dividerStyles","SelectMenuDivider","sizeVariants","Input","hasIcon","contrast","block","TextInput","sxProp","widthProp","minWidthProp","maxWidthProp","variantProp","inputProps","wrapperClasses","StyledForm","form","SelectMenuFilter","inputRef","footerStyles","SelectMenuFooter","SelectMenuTitle","h3","SelectMenuHeader","listItemStyles","SelectMenuItem","menuContext","itemRef","listStyles","SelectMenuList","Spinner","sizeKey","cx","cy","r","strokeOpacity","vectorEffect","strokeLinecap","StyledSpinner","Animation","SelectMenuLoadingAnimation","animateModal","keyframes","modalStyles","modalWrapperStyles","Modal","ModalWrapper","SelectMenuModal","tabStyles","StyledTab","SelectMenuTab","tabName","selectedTab","setSelectedTab","isSelected","TabPanelBase","TabPanel","tabWrapperStyles","SelectMenuTabsBase","SelectMenuTabs","StyledSelectMenu","SelectMenu","initialTab","_ignoredAs","menuProviderValues","Filter","Tabs","SelectMenuTabPanel","LoadingAnimation","SideNavBase","bordered","newClassName","SideNav","CommonAccessibilityVariantNormalStyles","CommonAccessibilityVariantLightWeightStyles","SideNavLink","octiconMap","issueOpened","pullOpened","issueClosed","pullClosed","pullMerged","draft","colorVariants","StateLabelBase","StateLabel","status","octiconProps","SubNavBase","SubNav","actions","SubNavLinks","SubNavLink","Links","TabNavBase","TabNavBody","TabNav","TabNavLink","Timeline","clipSidebar","TimelineItem","condensed","TimelineBadge","TimelineBody","TimelineBreak","Badge","Break","TooltipBase","Tooltip","noDelay","wrap","alignments","directions","UnderlineNavBase","UnderlineNav","UnderlineNavLink","async","themeProps","confirmationDialogProps","Promise","resolve","ReactDOM","render","gesture","unmountComponentAtNode","confirm","timers","Set","safeSetTimeout","timeout","setTimeout","add","safeClearTimeout","clearTimeout"],"mappings":"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"}
package/lib/TextInput.js CHANGED
@@ -7,7 +7,7 @@ exports.default = void 0;
7
7
 
8
8
  var _classnames = _interopRequireDefault(require("classnames"));
9
9
 
10
- var _react = _interopRequireDefault(require("react"));
10
+ var _react = _interopRequireWildcard(require("react"));
11
11
 
12
12
  var _styledComponents = _interopRequireWildcard(require("styled-components"));
13
13
 
@@ -60,7 +60,7 @@ const Wrapper = _styledComponents.default.span.withConfig({
60
60
 
61
61
 
62
62
  // using forwardRef is important so that other components (ex. SelectMenu) can autofocus the input
63
- const TextInput = /*#__PURE__*/_react.default.forwardRef(({
63
+ const TextInput = /*#__PURE__*/(0, _react.forwardRef)(({
64
64
  icon: IconComponent,
65
65
  block,
66
66
  className,
@@ -95,7 +95,6 @@ const TextInput = /*#__PURE__*/_react.default.forwardRef(({
95
95
  disabled: disabled
96
96
  }, inputProps)));
97
97
  });
98
-
99
98
  TextInput.defaultProps = {
100
99
  type: 'text'
101
100
  };
package/lib/Timeline.js CHANGED
@@ -5,24 +5,24 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.default = void 0;
7
7
 
8
+ var _styledComponents = _interopRequireWildcard(require("styled-components"));
9
+
8
10
  var _classnames = _interopRequireDefault(require("classnames"));
9
11
 
10
12
  var _react = _interopRequireDefault(require("react"));
11
13
 
12
- var _styledComponents = _interopRequireWildcard(require("styled-components"));
13
-
14
14
  var _Box = _interopRequireDefault(require("./Box"));
15
15
 
16
16
  var _constants = require("./constants");
17
17
 
18
18
  var _sx = _interopRequireDefault(require("./sx"));
19
19
 
20
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
21
+
20
22
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
21
23
 
22
24
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
23
25
 
24
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
25
-
26
26
  function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
27
27
 
28
28
  const Timeline = (0, _styledComponents.default)(_Box.default).withConfig({
@@ -36,18 +36,19 @@ const TimelineItem = (0, _styledComponents.default)(_Box.default).attrs(props =>
36
36
  componentId: "c4dq2e-1"
37
37
  })(["display:flex;position:relative;padding:", " 0;margin-left:", ";&::before{position:absolute;top:0;bottom:0;left:0;display:block;width:2px;content:'';background-color:", ";}", " ", ";", ";"], (0, _constants.get)('space.3'), (0, _constants.get)('space.3'), (0, _constants.get)('colors.border.secondary'), props => props.condensed && (0, _styledComponents.css)(["padding-top:", ";padding-bottom:0;&:last-child{padding-bottom:", ";}.TimelineItem-Badge{height:16px;margin-top:", ";margin-bottom:", ";color:", ";background-color:", ";border:0;}"], (0, _constants.get)('space.1'), (0, _constants.get)('space.3'), (0, _constants.get)('space.2'), (0, _constants.get)('space.2'), (0, _constants.get)('colors.icon.tertiary'), (0, _constants.get)('colors.bg.canvas')), _constants.COMMON, _sx.default);
38
38
 
39
+ var _StyledBox = (0, _styledComponents.default)(_Box.default).withConfig({
40
+ displayName: "Timeline___StyledBox",
41
+ componentId: "c4dq2e-2"
42
+ })(["border-radius:50%;border:2px solid ", ";"], p => p._css);
43
+
39
44
  const TimelineBadge = props => {
40
45
  return /*#__PURE__*/_react.default.createElement(_Box.default, {
41
46
  position: "relative",
42
47
  zIndex: 1
43
- }, /*#__PURE__*/_react.default.createElement(_Box.default, _extends({
48
+ }, /*#__PURE__*/_react.default.createElement(_StyledBox, _extends({
44
49
  display: "flex",
45
50
  className: (0, _classnames.default)(props.className, 'TimelineItem-Badge'),
46
51
  flexShrink: 0,
47
- borderRadius: "50%",
48
- borderWidth: "2px",
49
- borderStyle: "solid",
50
- borderColor: "bg.canvas",
51
52
  overflow: "hidden",
52
53
  color: "icon.secondary",
53
54
  bg: "timeline.badgeBg",
@@ -57,17 +58,19 @@ const TimelineBadge = props => {
57
58
  ml: "-15px",
58
59
  alignItems: "center",
59
60
  justifyContent: "center"
60
- }, props), props.children));
61
+ }, props, {
62
+ _css: (0, _constants.get)('colors.bg.canvas')
63
+ }), props.children));
61
64
  };
62
65
 
63
66
  TimelineBadge.displayName = "TimelineBadge";
64
67
  const TimelineBody = (0, _styledComponents.default)(_Box.default).withConfig({
65
68
  displayName: "Timeline__TimelineBody",
66
- componentId: "c4dq2e-2"
69
+ componentId: "c4dq2e-3"
67
70
  })(["min-width:0;max-width:100%;margin-top:", ";color:", ";flex:auto;font-size:", ";", ";"], (0, _constants.get)('space.1'), (0, _constants.get)('colors.timeline.text'), (0, _constants.get)('fontSizes.1'), _sx.default);
68
71
  const TimelineBreak = (0, _styledComponents.default)(_Box.default).withConfig({
69
72
  displayName: "Timeline__TimelineBreak",
70
- componentId: "c4dq2e-3"
73
+ componentId: "c4dq2e-4"
71
74
  })(["position:relative z-index:1;height:24px;margin:0;margin-bottom:-", ";margin-left:0;background-color:", ";border:0;border-top:", " solid ", ";", ";"], (0, _constants.get)('space.3'), (0, _constants.get)('colors.bg.canvas'), (0, _constants.get)('space.1'), (0, _constants.get)('colors.border.primary'), _sx.default);
72
75
  TimelineItem.displayName = 'Timeline.Item';
73
76
  TimelineBadge.displayName = 'Timeline.Badge';
@@ -1,7 +1,7 @@
1
1
  function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
2
2
 
3
3
  import classnames from 'classnames';
4
- import React from 'react';
4
+ import React, { forwardRef } from 'react';
5
5
  import styled, { css } from 'styled-components';
6
6
  import { maxWidth, minWidth, variant, width } from 'styled-system';
7
7
  import { get } from './constants';
@@ -38,7 +38,7 @@ const Wrapper = styled.span.withConfig({
38
38
  }, get('colors.icon.tertiary'), get('space.2'), get('colors.state.focus.border'), get('shadows.state.focus.shadow'), props => props.contrast && css(["background-color:", ";"], get('colors.input.contrastBg')), props => props.disabled && css(["color:", ";background-color:", ";border-color:", ";"], get('colors.text.secondary'), get('colors.input.disabledBg'), get('colors.input.disabledBorder')), props => props.block && css(["display:block;width:100%;"]), get('breakpoints.1'), get('fontSizes.1'), width, minWidth, maxWidth, sizeVariants, sx); // Props that are not passed through to Input:
39
39
 
40
40
  // using forwardRef is important so that other components (ex. SelectMenu) can autofocus the input
41
- const TextInput = /*#__PURE__*/React.forwardRef(({
41
+ const TextInput = /*#__PURE__*/forwardRef(({
42
42
  icon: IconComponent,
43
43
  block,
44
44
  className,
@@ -1,3 +1,5 @@
1
+ import _styled from "styled-components";
2
+
1
3
  function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
2
4
 
3
5
  import classnames from 'classnames';
@@ -17,18 +19,19 @@ const TimelineItem = styled(Box).attrs(props => ({
17
19
  componentId: "c4dq2e-1"
18
20
  })(["display:flex;position:relative;padding:", " 0;margin-left:", ";&::before{position:absolute;top:0;bottom:0;left:0;display:block;width:2px;content:'';background-color:", ";}", " ", ";", ";"], get('space.3'), get('space.3'), get('colors.border.secondary'), props => props.condensed && css(["padding-top:", ";padding-bottom:0;&:last-child{padding-bottom:", ";}.TimelineItem-Badge{height:16px;margin-top:", ";margin-bottom:", ";color:", ";background-color:", ";border:0;}"], get('space.1'), get('space.3'), get('space.2'), get('space.2'), get('colors.icon.tertiary'), get('colors.bg.canvas')), COMMON, sx);
19
21
 
22
+ var _StyledBox = styled(Box).withConfig({
23
+ displayName: "Timeline___StyledBox",
24
+ componentId: "c4dq2e-2"
25
+ })(["border-radius:50%;border:2px solid ", ";"], p => p._css);
26
+
20
27
  const TimelineBadge = props => {
21
28
  return /*#__PURE__*/React.createElement(Box, {
22
29
  position: "relative",
23
30
  zIndex: 1
24
- }, /*#__PURE__*/React.createElement(Box, _extends({
31
+ }, /*#__PURE__*/React.createElement(_StyledBox, _extends({
25
32
  display: "flex",
26
33
  className: classnames(props.className, 'TimelineItem-Badge'),
27
34
  flexShrink: 0,
28
- borderRadius: "50%",
29
- borderWidth: "2px",
30
- borderStyle: "solid",
31
- borderColor: "bg.canvas",
32
35
  overflow: "hidden",
33
36
  color: "icon.secondary",
34
37
  bg: "timeline.badgeBg",
@@ -38,17 +41,19 @@ const TimelineBadge = props => {
38
41
  ml: "-15px",
39
42
  alignItems: "center",
40
43
  justifyContent: "center"
41
- }, props), props.children));
44
+ }, props, {
45
+ _css: get('colors.bg.canvas')
46
+ }), props.children));
42
47
  };
43
48
 
44
49
  TimelineBadge.displayName = "TimelineBadge";
45
50
  const TimelineBody = styled(Box).withConfig({
46
51
  displayName: "Timeline__TimelineBody",
47
- componentId: "c4dq2e-2"
52
+ componentId: "c4dq2e-3"
48
53
  })(["min-width:0;max-width:100%;margin-top:", ";color:", ";flex:auto;font-size:", ";", ";"], get('space.1'), get('colors.timeline.text'), get('fontSizes.1'), sx);
49
54
  const TimelineBreak = styled(Box).withConfig({
50
55
  displayName: "Timeline__TimelineBreak",
51
- componentId: "c4dq2e-3"
56
+ componentId: "c4dq2e-4"
52
57
  })(["position:relative z-index:1;height:24px;margin:0;margin-bottom:-", ";margin-left:0;background-color:", ";border:0;border-top:", " solid ", ";", ";"], get('space.3'), get('colors.bg.canvas'), get('space.1'), get('colors.border.primary'), sx);
53
58
  TimelineItem.displayName = 'Timeline.Item';
54
59
  TimelineBadge.displayName = 'Timeline.Badge';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@primer/components",
3
- "version": "0.0.0-202181419181",
3
+ "version": "0.0.0-202181584433",
4
4
  "description": "Primer react components",
5
5
  "main": "lib/index.js",
6
6
  "module": "lib-esm/index.js",