@primer/components 32.1.1-rc.92743105 → 33.0.0-rc.9cc2a259

Sign up to get free protection for your applications and to get access to all the features.
Files changed (170) hide show
  1. package/.devcontainer/devcontainer.json +1 -1
  2. package/.github/workflows/ci.yml +1 -1
  3. package/.github/workflows/release.yml +1 -1
  4. package/.github/workflows/release_canary.yml +1 -1
  5. package/.github/workflows/release_candidate.yml +1 -1
  6. package/.github/workflows/statuses.yml +32 -0
  7. package/.gitignore +1 -0
  8. package/.nvmrc +1 -1
  9. package/CHANGELOG.md +20 -2
  10. package/contributor-docs/CONTRIBUTING.md +14 -58
  11. package/dist/browser.esm.js +105 -108
  12. package/dist/browser.esm.js.map +1 -1
  13. package/dist/browser.umd.js +105 -108
  14. package/dist/browser.umd.js.map +1 -1
  15. package/docs/content/BranchName.md +6 -5
  16. package/docs/content/Details.md +4 -8
  17. package/docs/content/Heading.md +5 -10
  18. package/docs/content/Label.md +6 -7
  19. package/docs/content/ProgressBar.mdx +7 -6
  20. package/docs/content/Text.md +0 -6
  21. package/docs/content/{ActionList2.mdx → drafts/ActionList2.mdx} +5 -9
  22. package/docs/content/drafts/ActionMenu2.mdx +251 -0
  23. package/docs/content/status.mdx +1 -1
  24. package/docs/content/system-props.mdx +1 -1
  25. package/docs/src/@primer/gatsby-theme-doctocat/live-code-scope.js +9 -1
  26. package/docs/src/@primer/gatsby-theme-doctocat/nav.yml +1 -1
  27. package/docs/src/component-checklist.js +10 -2
  28. package/lib/ActionList/Item.js +1 -1
  29. package/lib/ActionList2/Divider.d.ts +3 -2
  30. package/lib/ActionList2/Divider.js +10 -5
  31. package/lib/ActionList2/Item.js +21 -5
  32. package/lib/ActionList2/List.js +11 -1
  33. package/lib/ActionList2/MenuContext.d.ts +10 -0
  34. package/lib/ActionList2/MenuContext.js +15 -0
  35. package/lib/ActionList2/Selection.js +14 -1
  36. package/lib/ActionList2/index.d.ts +1 -2
  37. package/lib/ActionMenu2.d.ts +313 -0
  38. package/lib/ActionMenu2.js +91 -0
  39. package/lib/Autocomplete/Autocomplete.d.ts +2 -1
  40. package/lib/Autocomplete/AutocompleteInput.d.ts +2 -1
  41. package/lib/Avatar.d.ts +1 -2
  42. package/lib/Avatar.js +1 -1
  43. package/lib/BranchName.d.ts +1 -2
  44. package/lib/BranchName.js +1 -1
  45. package/lib/Button/Button.d.ts +2 -2
  46. package/lib/Button/ButtonClose.d.ts +2 -2
  47. package/lib/Button/ButtonDanger.d.ts +2 -2
  48. package/lib/Button/ButtonInvisible.d.ts +2 -2
  49. package/lib/Button/ButtonOutline.d.ts +2 -2
  50. package/lib/Button/ButtonPrimary.d.ts +2 -2
  51. package/lib/CircleOcticon.d.ts +35 -35
  52. package/lib/Details.d.ts +1 -2
  53. package/lib/Details.js +1 -3
  54. package/lib/Dialog.d.ts +37 -37
  55. package/lib/Dropdown.d.ts +8 -72
  56. package/lib/DropdownMenu/DropdownButton.d.ts +6 -3
  57. package/lib/FilterList.d.ts +1 -1
  58. package/lib/Heading.d.ts +1 -2
  59. package/lib/Heading.js +1 -6
  60. package/lib/Position.d.ts +4 -4
  61. package/lib/ProgressBar.d.ts +16 -11
  62. package/lib/ProgressBar.js +6 -10
  63. package/lib/SelectMenu/SelectMenu.d.ts +11 -10
  64. package/lib/SelectMenu/SelectMenuItem.d.ts +1 -1
  65. package/lib/SelectMenu/SelectMenuModal.d.ts +1 -1
  66. package/lib/Spinner.d.ts +1 -2
  67. package/lib/Spinner.js +1 -3
  68. package/lib/TextInputWithTokens.d.ts +2 -1
  69. package/lib/Token/AvatarToken.d.ts +1 -1
  70. package/lib/Token/IssueLabelToken.d.ts +1 -1
  71. package/lib/Token/Token.d.ts +1 -1
  72. package/lib/__tests__/Avatar.test.js +4 -2
  73. package/lib/__tests__/Avatar.types.test.d.ts +3 -0
  74. package/lib/__tests__/Avatar.types.test.js +31 -0
  75. package/lib/__tests__/BranchName.types.test.d.ts +3 -0
  76. package/lib/__tests__/BranchName.types.test.js +28 -0
  77. package/lib/__tests__/Details.types.test.d.ts +3 -0
  78. package/lib/__tests__/Details.types.test.js +28 -0
  79. package/lib/__tests__/Heading.test.js +63 -30
  80. package/lib/__tests__/Heading.types.test.d.ts +3 -0
  81. package/lib/__tests__/Heading.types.test.js +28 -0
  82. package/lib/drafts.d.ts +1 -0
  83. package/lib/drafts.js +13 -0
  84. package/lib/stories/ActionMenu2.stories.js +433 -0
  85. package/lib-esm/ActionList/Item.js +1 -1
  86. package/lib-esm/ActionList2/Divider.d.ts +3 -2
  87. package/lib-esm/ActionList2/Divider.js +8 -5
  88. package/lib-esm/ActionList2/Item.js +19 -5
  89. package/lib-esm/ActionList2/List.js +9 -1
  90. package/lib-esm/ActionList2/MenuContext.d.ts +10 -0
  91. package/lib-esm/ActionList2/MenuContext.js +3 -0
  92. package/lib-esm/ActionList2/Selection.js +12 -1
  93. package/lib-esm/ActionList2/index.d.ts +1 -2
  94. package/lib-esm/ActionMenu2.d.ts +313 -0
  95. package/lib-esm/ActionMenu2.js +67 -0
  96. package/lib-esm/Autocomplete/Autocomplete.d.ts +2 -1
  97. package/lib-esm/Autocomplete/AutocompleteInput.d.ts +2 -1
  98. package/lib-esm/Avatar.d.ts +1 -2
  99. package/lib-esm/Avatar.js +2 -2
  100. package/lib-esm/BranchName.d.ts +1 -2
  101. package/lib-esm/BranchName.js +2 -2
  102. package/lib-esm/Button/Button.d.ts +2 -2
  103. package/lib-esm/Button/ButtonClose.d.ts +2 -2
  104. package/lib-esm/Button/ButtonDanger.d.ts +2 -2
  105. package/lib-esm/Button/ButtonInvisible.d.ts +2 -2
  106. package/lib-esm/Button/ButtonOutline.d.ts +2 -2
  107. package/lib-esm/Button/ButtonPrimary.d.ts +2 -2
  108. package/lib-esm/CircleOcticon.d.ts +35 -35
  109. package/lib-esm/Details.d.ts +1 -2
  110. package/lib-esm/Details.js +1 -2
  111. package/lib-esm/Dialog.d.ts +37 -37
  112. package/lib-esm/Dropdown.d.ts +8 -72
  113. package/lib-esm/DropdownMenu/DropdownButton.d.ts +6 -3
  114. package/lib-esm/FilterList.d.ts +1 -1
  115. package/lib-esm/Heading.d.ts +1 -2
  116. package/lib-esm/Heading.js +2 -6
  117. package/lib-esm/Position.d.ts +4 -4
  118. package/lib-esm/ProgressBar.d.ts +16 -11
  119. package/lib-esm/ProgressBar.js +7 -11
  120. package/lib-esm/SelectMenu/SelectMenu.d.ts +11 -10
  121. package/lib-esm/SelectMenu/SelectMenuItem.d.ts +1 -1
  122. package/lib-esm/SelectMenu/SelectMenuModal.d.ts +1 -1
  123. package/lib-esm/Spinner.d.ts +1 -2
  124. package/lib-esm/Spinner.js +1 -2
  125. package/lib-esm/TextInputWithTokens.d.ts +2 -1
  126. package/lib-esm/Token/AvatarToken.d.ts +1 -1
  127. package/lib-esm/Token/IssueLabelToken.d.ts +1 -1
  128. package/lib-esm/Token/Token.d.ts +1 -1
  129. package/lib-esm/__tests__/Avatar.test.js +4 -2
  130. package/lib-esm/__tests__/Avatar.types.test.d.ts +3 -0
  131. package/lib-esm/__tests__/Avatar.types.test.js +16 -0
  132. package/lib-esm/__tests__/BranchName.types.test.d.ts +3 -0
  133. package/lib-esm/__tests__/BranchName.types.test.js +13 -0
  134. package/lib-esm/__tests__/Details.types.test.d.ts +3 -0
  135. package/lib-esm/__tests__/Details.types.test.js +13 -0
  136. package/lib-esm/__tests__/Heading.test.js +62 -30
  137. package/lib-esm/__tests__/Heading.types.test.d.ts +3 -0
  138. package/lib-esm/__tests__/Heading.types.test.js +13 -0
  139. package/lib-esm/drafts.d.ts +1 -0
  140. package/lib-esm/drafts.js +2 -1
  141. package/lib-esm/stories/ActionMenu2.stories.js +376 -0
  142. package/package-lock.json +321 -269
  143. package/package.json +11 -5
  144. package/script/component-status-project/build.ts +100 -0
  145. package/script/component-status-project/deploy.rb +142 -0
  146. package/src/ActionList/Item.tsx +1 -0
  147. package/src/ActionList2/Divider.tsx +13 -8
  148. package/src/ActionList2/Item.tsx +13 -3
  149. package/src/ActionList2/List.tsx +6 -2
  150. package/src/ActionList2/MenuContext.tsx +6 -0
  151. package/src/ActionList2/Selection.tsx +11 -1
  152. package/src/ActionMenu2.tsx +94 -0
  153. package/src/Avatar.tsx +2 -4
  154. package/src/BranchName.tsx +3 -3
  155. package/src/Details.tsx +1 -5
  156. package/src/Heading.tsx +2 -9
  157. package/src/ProgressBar.tsx +11 -10
  158. package/src/Spinner.tsx +1 -3
  159. package/src/__tests__/Avatar.test.tsx +1 -1
  160. package/src/__tests__/Avatar.types.test.tsx +11 -0
  161. package/src/__tests__/BranchName.types.test.tsx +11 -0
  162. package/src/__tests__/Details.types.test.tsx +11 -0
  163. package/src/__tests__/Heading.test.tsx +71 -25
  164. package/src/__tests__/Heading.types.test.tsx +11 -0
  165. package/src/__tests__/__snapshots__/Autocomplete.test.tsx.snap +4 -0
  166. package/src/drafts.ts +1 -0
  167. package/src/stories/ActionMenu2.stories.tsx +551 -0
  168. package/stats.html +1 -1
  169. package/tsconfig.build.json +1 -1
  170. package/tsconfig.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"browser.esm.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/useSafeTimeout.ts","../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/utils/useIsomorphicLayoutEffect.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/Portal/index.ts","../src/hooks/useCombinedRefs.ts","../node_modules/@react-aria/ssr/dist/module.js","../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/Autocomplete/AutocompleteContext.tsx","../node_modules/classnames/index.js","../src/_UnstyledTextInput.tsx","../src/_TextInputWrapper.tsx","../src/TextInput.tsx","../src/Autocomplete/AutocompleteInput.tsx","../src/behaviors/scrollIntoViewingArea.ts","../src/Autocomplete/AutocompleteMenu.tsx","../src/Autocomplete/AutocompleteOverlay.tsx","../src/Autocomplete/Autocomplete.tsx","../src/Avatar.tsx","../src/AvatarPair.tsx","../src/AvatarStack.tsx","../src/BranchName.tsx","../src/Breadcrumbs.tsx","../src/NewButton/button.tsx","../src/CounterLabel.tsx","../src/NewButton/button-counter.tsx","../src/NewButton/index.ts","../src/Caret.tsx","../src/CircleBadge.tsx","../src/utils/isNumeric.tsx","../src/CircleOcticon.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/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","../node_modules/@styled-system/props/dist/index.esm.js","../src/Token/TokenBase.tsx","../src/Token/_RemoveTokenButton.tsx","../src/Token/_TokenTextContainer.tsx","../src/Token/Token.tsx","../src/TextInputWithTokens.tsx","../src/Timeline.tsx","../node_modules/color2k/dist/index.module.js","../src/Token/IssueLabelToken.tsx","../src/Token/AvatarToken.tsx","../src/Tooltip.tsx","../src/UnderlineNav.tsx","../src/Checkbox.tsx"],"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: 'fg.default',\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, {SystemCssProperties, SystemStyleObject} from '@styled-system/css'\nimport {ThemeColorPaths, ThemeShadowPaths} from './theme'\nimport {ColorProps, ShadowProps} from 'styled-system'\nimport merge from 'deepmerge'\n\nexport type BetterCssProperties = {\n [K in keyof SystemCssProperties]: K extends keyof ColorProps\n ? ThemeColorPaths | SystemCssProperties[K]\n : K extends keyof ShadowProps\n ? ThemeShadowPaths | SystemCssProperties[K]\n : SystemCssProperties[K]\n}\n\nexport type BetterSystemStyleObject = BetterCssProperties | SystemStyleObject\n\nexport interface SxProp {\n sx?: BetterSystemStyleObject\n}\n\nconst sx = (props: SxProp) => css(props.sx)\n\nexport default sx\n\nexport {merge}\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.default',\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 {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","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 preventFocusOnOpen?: boolean\n}\n\nexport function useOpenAndCloseFocus({\n initialFocusRef,\n returnFocusRef,\n containerRef,\n preventFocusOnOpen\n}: UseOpenAndCloseFocusSettings): void {\n useEffect(() => {\n if (preventFocusOnOpen) {\n return\n }\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, preventFocusOnOpen])\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 preventFocusOnOpen?: boolean\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 preventFocusOnOpen\n}: UseOverlaySettings): OverlayReturnProps => {\n const overlayRef = useProvidedRefOrCreate<HTMLDivElement>(_overlayRef)\n useOpenAndCloseFocus({containerRef: overlayRef, returnFocusRef, initialFocusRef, preventFocusOnOpen})\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","// Note: uniqueId may be unsafe in SSR contexts if it is used create DOM IDs or otherwise cause a hydration warning. Use useSSRSafeId instead.\n\nlet 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 {variant} from 'styled-system'\nimport {ComponentProps} from '../utils/types'\nimport buttonBaseStyles from './ButtonStyles'\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}\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} from './ButtonBase'\n\nconst Button = styled(ButtonBase)<ButtonBaseProps & 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.primer.fg.disabled')};\n background-color: ${get('colors.btn.bg')};\n border-color: ${get('colors.btn.border')};\n }\n\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} from './ButtonBase'\n\nconst ButtonDanger = styled(ButtonBase)<ButtonBaseProps & 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 ${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} from './ButtonBase'\n\nconst ButtonOutline = styled(ButtonBase)<ButtonBaseProps & 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 ${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} from './ButtonBase'\n\nexport const ButtonPrimary = styled(ButtonBase)<ButtonBaseProps & 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 ${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} from './ButtonBase'\n\nconst ButtonInvisible = styled(ButtonBase)<ButtonBaseProps & SxProp>`\n color: ${get('colors.accent.fg')};\n background-color: transparent;\n border: 0;\n border-radius: ${get('radii.2')};\n box-shadow: none;\n\n &:disabled {\n color: ${get('colors.primer.fg.disabled')};\n }\n &:focus {\n box-shadow: ${get('shadows.btn.focusShadow')};\n }\n &:hover {\n background-color: ${get('colors.btn.hoverBg')};\n }\n &:active {\n background-color: ${get('colors.btn.selectedBg')};\n }\n\n ${sx}\n`\n\nexport type ButtonInvisibleProps = ComponentProps<typeof ButtonInvisible>\nexport default ButtonInvisible\n","import styled from 'styled-components'\nimport {get} from '../constants'\nimport sx, {SxProp} from '../sx'\nimport {ComponentProps} from '../utils/types'\n\nconst ButtonTableList = styled.summary<SxProp>`\n display: inline-block;\n padding: 0;\n font-size: ${get('fontSizes.1')};\n color: ${get('colors.fg.muted')};\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: ${get('colors.primer.fg.disabled')};\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 ${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 overflow: 'visible'\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 AlertFillIcon(props) {\n var svgDataByHeight = { \"12\": { \"width\": 12, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M4.855.708c.5-.896 1.79-.896 2.29 0l4.675 8.351a1.312 1.312 0 01-1.146 1.954H1.33A1.312 1.312 0 01.183 9.058L4.855.708zM7 7V3H5v4h2zm-1 3a1 1 0 100-2 1 1 0 000 2z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nAlertFillIcon.defaultProps = {\n className: 'octicon octicon-alert-fill',\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=\\\"M18.655 10.405a.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.06l4.97-4.97v14.44a.75.75 0 001.5 0V5.435l4.97 4.97a.75.75 0 001.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 = { \"16\": { \"width\": 16, \"path\": \"<path d=\\\"M8 16c.9 0 1.7-.6 1.9-1.5.1-.3-.1-.5-.4-.5h-3c-.3 0-.5.2-.4.5.2.9 1 1.5 1.9 1.5zM3 5c0-2.8 2.2-5 5-5s5 2.2 5 5v3l1.7 2.6c.2.2.3.5.3.8 0 .8-.7 1.5-1.5 1.5h-11c-.8.1-1.5-.6-1.5-1.4 0-.3.1-.6.3-.8L3 8.1V5z\\\"></path>\" }, \"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 = { \"12\": { \"width\": 12, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M6 0a6 6 0 100 12A6 6 0 006 0zm-.705 8.737L9.63 4.403 8.392 3.166 5.295 6.263l-1.7-1.702L2.356 5.8l2.938 2.938z\\\"></path>\" }, \"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 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 ColumnsIcon(props) {\n var svgDataByHeight = { \"16\": { \"width\": 16, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M2.75 0A1.75 1.75 0 001 1.75v12.5c0 .966.784 1.75 1.75 1.75h2.5A1.75 1.75 0 007 14.25V1.75A1.75 1.75 0 005.25 0h-2.5zM2.5 1.75a.25.25 0 01.25-.25h2.5a.25.25 0 01.25.25v12.5a.25.25 0 01-.25.25h-2.5a.25.25 0 01-.25-.25V1.75zM10.75 0A1.75 1.75 0 009 1.75v12.5c0 .966.784 1.75 1.75 1.75h2.5A1.75 1.75 0 0015 14.25V1.75A1.75 1.75 0 0013.25 0h-2.5zm-.25 1.75a.25.25 0 01.25-.25h2.5a.25.25 0 01.25.25v12.5a.25.25 0 01-.25.25h-2.5a.25.25 0 01-.25-.25V1.75z\\\"></path>\" }, \"24\": { \"width\": 24, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M3.75 2A1.75 1.75 0 002 3.75v16.5c0 .966.784 1.75 1.75 1.75h5.5A1.75 1.75 0 0011 20.25V3.75A1.75 1.75 0 009.25 2h-5.5zM3.5 3.75a.25.25 0 01.25-.25h5.5a.25.25 0 01.25.25v16.5a.25.25 0 01-.25.25h-5.5a.25.25 0 01-.25-.25V3.75zM14.75 2A1.75 1.75 0 0013 3.75v16.5c0 .966.784 1.75 1.75 1.75h5.5A1.75 1.75 0 0022 20.25V3.75A1.75 1.75 0 0020.25 2h-5.5zm-.25 1.75a.25.25 0 01.25-.25h5.5a.25.25 0 01.25.25v16.5a.25.25 0 01-.25.25h-5.5a.25.25 0 01-.25-.25V3.75z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nColumnsIcon.defaultProps = {\n className: 'octicon octicon-columns',\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 CopyIcon(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=\\\"M7.024 3.75c0-.966.784-1.75 1.75-1.75H20.25c.966 0 1.75.784 1.75 1.75v11.498a1.75 1.75 0 01-1.75 1.75H8.774a1.75 1.75 0 01-1.75-1.75V3.75zm1.75-.25a.25.25 0 00-.25.25v11.498c0 .139.112.25.25.25H20.25a.25.25 0 00.25-.25V3.75a.25.25 0 00-.25-.25H8.774z\\\"></path><path d=\\\"M1.995 10.749a1.75 1.75 0 011.75-1.751H5.25a.75.75 0 110 1.5H3.745a.25.25 0 00-.25.25L3.5 20.25c0 .138.111.25.25.25h9.5a.25.25 0 00.25-.25v-1.51a.75.75 0 111.5 0v1.51A1.75 1.75 0 0113.25 22h-9.5A1.75 1.75 0 012 20.25l-.005-9.501z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nCopyIcon.defaultProps = {\n className: 'octicon octicon-copy',\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 DiamondIcon(props) {\n var svgDataByHeight = { \"16\": { \"width\": 16, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M.527 9.237a1.75 1.75 0 010-2.474L6.777.512a1.75 1.75 0 012.475 0l6.251 6.25a1.751 1.751 0 010 2.475l-6.25 6.251a1.751 1.751 0 01-2.475 0L.527 9.238v-.001zm1.06-1.414a.25.25 0 000 .354l6.251 6.25a.25.25 0 00.354 0l6.25-6.25a.25.25 0 000-.354l-6.25-6.25a.25.25 0 00-.354 0l-6.25 6.25h-.001z\\\"></path>\" }, \"24\": { \"width\": 24, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M1.527 13.237a1.75 1.75 0 010-2.474l9.272-9.273a1.75 1.75 0 012.475 0l9.272 9.273a1.75 1.75 0 010 2.474l-9.272 9.272a1.75 1.75 0 01-2.475 0l-9.272-9.272zm1.06-1.414a.25.25 0 000 .354l9.273 9.272a.25.25 0 00.353 0l9.272-9.272a.25.25 0 000-.354l-9.272-9.272a.25.25 0 00-.353 0l-9.273 9.272z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nDiamondIcon.defaultProps = {\n className: 'octicon octicon-diamond',\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 d=\\\"M10.5 3a.75.75 0 01.75.75v1h1a.75.75 0 010 1.5h-1v1a.75.75 0 01-1.5 0v-1h-1a.75.75 0 010-1.5h1v-1A.75.75 0 0110.5 3z\\\"></path><path fill-rule=\\\"evenodd\\\" d=\\\"M6.75 0A1.75 1.75 0 005 1.75v7.5c0 .966.784 1.75 1.75 1.75h7.5A1.75 1.75 0 0016 9.25v-7.5A1.75 1.75 0 0014.25 0h-7.5zM6.5 1.75a.25.25 0 01.25-.25h7.5a.25.25 0 01.25.25v7.5a.25.25 0 01-.25.25h-7.5a.25.25 0 01-.25-.25v-7.5z\\\"></path><path d=\\\"M1.75 5A1.75 1.75 0 000 6.75v7.5C0 15.216.784 16 1.75 16h7.5A1.75 1.75 0 0011 14.25v-1.5a.75.75 0 00-1.5 0v1.5a.25.25 0 01-.25.25h-7.5a.25.25 0 01-.25-.25v-7.5a.25.25 0 01.25-.25h1.5a.75.75 0 000-1.5h-1.5z\\\"></path>\" }, \"24\": { \"width\": 24, \"path\": \"<path d=\\\"M14.513 6a.75.75 0 01.75.75v2h1.987a.75.75 0 010 1.5h-1.987v2a.75.75 0 11-1.5 0v-2H11.75a.75.75 0 010-1.5h2.013v-2a.75.75 0 01.75-.75z\\\"></path><path fill-rule=\\\"evenodd\\\" d=\\\"M7.024 3.75c0-.966.784-1.75 1.75-1.75H20.25c.966 0 1.75.784 1.75 1.75v11.498a1.75 1.75 0 01-1.75 1.75H8.774a1.75 1.75 0 01-1.75-1.75V3.75zm1.75-.25a.25.25 0 00-.25.25v11.498c0 .139.112.25.25.25H20.25a.25.25 0 00.25-.25V3.75a.25.25 0 00-.25-.25H8.774z\\\"></path><path d=\\\"M1.995 10.749a1.75 1.75 0 011.75-1.751H5.25a.75.75 0 110 1.5H3.745a.25.25 0 00-.25.25L3.5 20.25c0 .138.111.25.25.25h9.5a.25.25 0 00.25-.25v-1.51a.75.75 0 111.5 0v1.51A1.75 1.75 0 0113.25 22h-9.5A1.75 1.75 0 012 20.25l-.005-9.501z\\\"></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 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 GitPullRequestClosedIcon(props) {\n var svgDataByHeight = { \"16\": { \"width\": 16, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M10.72 1.227a.75.75 0 011.06 0l.97.97.97-.97a.75.75 0 111.06 1.061l-.97.97.97.97a.75.75 0 01-1.06 1.06l-.97-.97-.97.97a.75.75 0 11-1.06-1.06l.97-.97-.97-.97a.75.75 0 010-1.06zM12.75 6.5a.75.75 0 00-.75.75v3.378a2.251 2.251 0 101.5 0V7.25a.75.75 0 00-.75-.75zm0 5.5a.75.75 0 100 1.5.75.75 0 000-1.5zM2.5 3.25a.75.75 0 111.5 0 .75.75 0 01-1.5 0zM3.25 1a2.25 2.25 0 00-.75 4.372v5.256a2.251 2.251 0 101.5 0V5.372A2.25 2.25 0 003.25 1zm0 11a.75.75 0 100 1.5.75.75 0 000-1.5z\\\"></path>\" }, \"24\": { \"width\": 24, \"path\": \"<path d=\\\"M22.266 2.711a.75.75 0 10-1.061-1.06l-1.983 1.983-1.984-1.983a.75.75 0 10-1.06 1.06l1.983 1.983-1.983 1.984a.75.75 0 001.06 1.06l1.984-1.983 1.983 1.983a.75.75 0 001.06-1.06l-1.983-1.984 1.984-1.983z\\\"></path><path fill-rule=\\\"evenodd\\\" d=\\\"M4.75 1.5a3.25 3.25 0 00-.745 6.414A.758.758 0 004 8v8a.81.81 0 00.005.086A3.251 3.251 0 004.75 22.5a3.25 3.25 0 00.745-6.414A.758.758 0 005.5 16V8a.758.758 0 00-.005-.086A3.251 3.251 0 004.75 1.5zM3 4.75a1.75 1.75 0 113.5 0 1.75 1.75 0 01-3.5 0zm0 14.5a1.75 1.75 0 113.5 0 1.75 1.75 0 01-3.5 0zm13 0a3.251 3.251 0 012.5-3.163V9.625a.75.75 0 011.5 0v6.462a3.251 3.251 0 01-.75 6.413A3.25 3.25 0 0116 19.25zm3.25-1.75a1.75 1.75 0 100 3.5 1.75 1.75 0 000-3.5z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nGitPullRequestClosedIcon.defaultProps = {\n className: 'octicon octicon-git-pull-request-closed',\n size: 16,\n verticalAlign: 'text-bottom'\n};\n\nfunction GitPullRequestDraftIcon(props) {\n var svgDataByHeight = { \"16\": { \"width\": 16, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M2.5 3.25a.75.75 0 111.5 0 .75.75 0 01-1.5 0zM3.25 1a2.25 2.25 0 00-.75 4.372v5.256a2.251 2.251 0 101.5 0V5.372A2.25 2.25 0 003.25 1zm0 11a.75.75 0 100 1.5.75.75 0 000-1.5zm9.5 3a2.25 2.25 0 100-4.5 2.25 2.25 0 000 4.5zm0-3a.75.75 0 100 1.5.75.75 0 000-1.5z\\\"></path><path d=\\\"M14 7.5a1.25 1.25 0 11-2.5 0 1.25 1.25 0 012.5 0zm0-4.25a1.25 1.25 0 11-2.5 0 1.25 1.25 0 012.5 0z\\\"></path>\" }, \"24\": { \"width\": 24, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M4.75 1.5a3.25 3.25 0 00-.745 6.414A.758.758 0 004 8v8a.81.81 0 00.005.086A3.251 3.251 0 004.75 22.5a3.25 3.25 0 00.745-6.414A.757.757 0 005.5 16V8a.758.758 0 00-.005-.086A3.251 3.251 0 004.75 1.5zM3 4.75a1.75 1.75 0 113.5 0 1.75 1.75 0 01-3.5 0zm0 14.5a1.75 1.75 0 113.5 0 1.75 1.75 0 01-3.5 0zm13 0a3.25 3.25 0 116.5 0 3.25 3.25 0 01-6.5 0zm3.25-1.75a1.75 1.75 0 100 3.5 1.75 1.75 0 000-3.5z\\\"></path><path d=\\\"M19.25 6a1.75 1.75 0 100-3.5 1.75 1.75 0 000 3.5zM21 11.25a1.75 1.75 0 11-3.5 0 1.75 1.75 0 013.5 0z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nGitPullRequestDraftIcon.defaultProps = {\n className: 'octicon octicon-git-pull-request-draft',\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 HashIcon(props) {\n var svgDataByHeight = { \"16\": { \"width\": 16, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M6.368 1.01a.75.75 0 01.623.859L6.57 4.5h3.98l.46-2.868a.75.75 0 011.48.237L12.07 4.5h2.18a.75.75 0 010 1.5h-2.42l-.64 4h2.56a.75.75 0 010 1.5h-2.8l-.46 2.869a.75.75 0 01-1.48-.237l.42-2.632H5.45l-.46 2.869a.75.75 0 01-1.48-.237l.42-2.632H1.75a.75.75 0 010-1.5h2.42l.64-4H2.25a.75.75 0 010-1.5h2.8l.46-2.868a.75.75 0 01.858-.622zM9.67 10l.64-4H6.33l-.64 4h3.98z\\\"></path>\" }, \"24\": { \"width\": 24, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M9.618 1.76a.75.75 0 01.623.859L9.46 7.5h6.48l.82-5.118a.75.75 0 011.48.237L17.46 7.5h3.79a.75.75 0 010 1.5h-4.03l-.96 6h3.99a.75.75 0 110 1.5h-4.23l-.78 4.869a.75.75 0 01-1.48-.237l.74-4.632H8.02l-.78 4.869a.75.75 0 01-1.48-.237L6.5 16.5H2.745a.75.75 0 010-1.5H6.74l.96-6H3.75a.75.75 0 010-1.5h4.19l.82-5.118a.75.75 0 01.858-.622zM14.741 15l.96-6H9.22l-.96 6h6.48z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nHashIcon.defaultProps = {\n className: 'octicon octicon-hash',\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 d=\\\"M11.28 6.78a.75.75 0 00-1.06-1.06L7.25 8.69 5.78 7.22a.75.75 0 00-1.06 1.06l2 2a.75.75 0 001.06 0l3.5-3.5z\\\"></path><path fill-rule=\\\"evenodd\\\" d=\\\"M16 8A8 8 0 110 8a8 8 0 0116 0zm-1.5 0a6.5 6.5 0 11-13 0 6.5 6.5 0 0113 0z\\\"></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\nIssueClosedIcon.defaultProps = {\n className: 'octicon octicon-issue-closed',\n size: 16,\n verticalAlign: 'text-bottom'\n};\n\nfunction IssueDraftIcon(props) {\n var svgDataByHeight = { \"16\": { \"width\": 16, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M6.749.097a8.054 8.054 0 012.502 0 .75.75 0 11-.233 1.482 6.554 6.554 0 00-2.036 0A.75.75 0 016.749.097zM4.345 1.693A.75.75 0 014.18 2.74a6.542 6.542 0 00-1.44 1.44.75.75 0 01-1.212-.883 8.042 8.042 0 011.769-1.77.75.75 0 011.048.166zm7.31 0a.75.75 0 011.048-.165 8.04 8.04 0 011.77 1.769.75.75 0 11-1.214.883 6.542 6.542 0 00-1.439-1.44.75.75 0 01-.165-1.047zM.955 6.125a.75.75 0 01.624.857 6.554 6.554 0 000 2.036.75.75 0 01-1.482.233 8.054 8.054 0 010-2.502.75.75 0 01.858-.624zm14.09 0a.75.75 0 01.858.624 8.057 8.057 0 010 2.502.75.75 0 01-1.482-.233 6.55 6.55 0 000-2.036.75.75 0 01.624-.857zm-13.352 5.53a.75.75 0 011.048.165 6.542 6.542 0 001.439 1.44.75.75 0 01-.883 1.212 8.04 8.04 0 01-1.77-1.769.75.75 0 01.166-1.048zm12.614 0a.75.75 0 01.165 1.048 8.038 8.038 0 01-1.769 1.77.75.75 0 11-.883-1.214 6.543 6.543 0 001.44-1.439.75.75 0 011.047-.165zm-8.182 3.39a.75.75 0 01.857-.624 6.55 6.55 0 002.036 0 .75.75 0 01.233 1.482 8.057 8.057 0 01-2.502 0 .75.75 0 01-.624-.858z\\\"></path>\" }, \"24\": { \"width\": 24, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M10.157 1.154a11.07 11.07 0 013.686 0 .75.75 0 01-.25 1.479 9.568 9.568 0 00-3.186 0 .75.75 0 01-.25-1.48zM6.68 3.205a.75.75 0 01-.177 1.046A9.558 9.558 0 004.25 6.503a.75.75 0 01-1.223-.87 11.058 11.058 0 012.606-2.605.75.75 0 011.046.177zm10.64 0a.75.75 0 011.046-.177 11.058 11.058 0 012.605 2.606.75.75 0 11-1.222.869 9.558 9.558 0 00-2.252-2.252.75.75 0 01-.177-1.046zM2.018 9.543a.75.75 0 01.615.864 9.568 9.568 0 000 3.186.75.75 0 01-1.48.25 11.07 11.07 0 010-3.686.75.75 0 01.865-.614zm19.964 0a.75.75 0 01.864.614 11.066 11.066 0 010 3.686.75.75 0 01-1.479-.25 9.56 9.56 0 000-3.186.75.75 0 01.615-.864zM3.205 17.32a.75.75 0 011.046.177 9.558 9.558 0 002.252 2.252.75.75 0 11-.87 1.223 11.058 11.058 0 01-2.605-2.606.75.75 0 01.177-1.046zm17.59 0a.75.75 0 01.176 1.046 11.057 11.057 0 01-2.605 2.605.75.75 0 11-.869-1.222 9.558 9.558 0 002.252-2.252.75.75 0 011.046-.177zM9.543 21.982a.75.75 0 01.864-.615 9.56 9.56 0 003.186 0 .75.75 0 01.25 1.48 11.066 11.066 0 01-3.686 0 .75.75 0 01-.614-.865z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nIssueDraftIcon.defaultProps = {\n className: 'octicon octicon-issue-draft',\n size: 16,\n verticalAlign: 'text-bottom'\n};\n\nfunction IssueOpenedIcon(props) {\n var svgDataByHeight = { \"16\": { \"width\": 16, \"path\": \"<path d=\\\"M8 9.5a1.5 1.5 0 100-3 1.5 1.5 0 000 3z\\\"></path><path fill-rule=\\\"evenodd\\\" d=\\\"M8 0a8 8 0 100 16A8 8 0 008 0zM1.5 8a6.5 6.5 0 1113 0 6.5 6.5 0 01-13 0z\\\"></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 1zm0 13a2 2 0 100-4 2 2 0 000 4z\\\"></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 d=\\\"M5.029 2.217a6.5 6.5 0 019.437 5.11.75.75 0 101.492-.154 8 8 0 00-14.315-4.03L.427 1.927A.25.25 0 000 2.104V5.75A.25.25 0 00.25 6h3.646a.25.25 0 00.177-.427L2.715 4.215a6.491 6.491 0 012.314-1.998zM1.262 8.169a.75.75 0 00-1.22.658 8.001 8.001 0 0014.315 4.03l1.216 1.216a.25.25 0 00.427-.177V10.25a.25.25 0 00-.25-.25h-3.646a.25.25 0 00-.177.427l1.358 1.358a6.501 6.501 0 01-11.751-3.11.75.75 0 00-.272-.506z\\\"></path><path d=\\\"M9.06 9.06a1.5 1.5 0 11-2.12-2.12 1.5 1.5 0 012.12 2.12z\\\"></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=\\\"M13.414 13.414a2 2 0 11-2.828-2.828 2 2 0 012.828 2.828z\\\"></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 IterationsIcon(props) {\n var svgDataByHeight = { \"16\": { \"width\": 16, \"path\": \"<path d=\\\"M2.5 7.25a4.75 4.75 0 019.5 0 .75.75 0 001.5 0 6.25 6.25 0 10-6.25 6.25H12v2.146c0 .223.27.335.427.177l2.896-2.896a.25.25 0 000-.354l-2.896-2.896a.25.25 0 00-.427.177V12H7.25A4.75 4.75 0 012.5 7.25z\\\"></path>\" }, \"24\": { \"width\": 24, \"path\": \"<path d=\\\"M2.5 10.5a8 8 0 1116 0 .75.75 0 001.5 0 9.5 9.5 0 10-9.5 9.5h10.94l-2.72 2.72a.75.75 0 101.06 1.06l3.735-3.735c.44-.439.44-1.151 0-1.59L19.78 14.72a.75.75 0 00-1.06 1.06l2.72 2.72H10.5a8 8 0 01-8-8z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nIterationsIcon.defaultProps = {\n className: 'octicon octicon-iterations',\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 KeyAsteriskIcon(props) {\n var svgDataByHeight = { \"16\": { \"width\": 16, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M0 2.75A2.75 2.75 0 012.75 0h10.5A2.75 2.75 0 0116 2.75v10.5A2.75 2.75 0 0113.25 16H2.75A2.75 2.75 0 010 13.25V2.75zM2.75 1.5c-.69 0-1.25.56-1.25 1.25v10.5c0 .69.56 1.25 1.25 1.25h10.5c.69 0 1.25-.56 1.25-1.25V2.75c0-.69-.56-1.25-1.25-1.25H2.75z\\\"></path><path d=\\\"M8 4a.75.75 0 01.75.75V6.7l1.69-.975a.75.75 0 01.75 1.3L9.5 8l1.69.976a.75.75 0 01-.75 1.298L8.75 9.3v1.951a.75.75 0 01-1.5 0V9.299l-1.69.976a.75.75 0 01-.75-1.3L6.5 8l-1.69-.975a.75.75 0 01.75-1.3l1.69.976V4.75A.75.75 0 018 4z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nKeyAsteriskIcon.defaultProps = {\n className: 'octicon octicon-key-asterisk',\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 d=\\\"M4.25 7.25a.75.75 0 000 1.5h7.5a.75.75 0 000-1.5h-7.5z\\\"></path><path fill-rule=\\\"evenodd\\\" d=\\\"M16 8A8 8 0 110 8a8 8 0 0116 0zm-1.5 0a6.5 6.5 0 11-13 0 6.5 6.5 0 0113 0z\\\"></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 NoEntryFillIcon(props) {\n var svgDataByHeight = { \"12\": { \"width\": 12, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M6 0a6 6 0 100 12A6 6 0 006 0zm3 5H3v2h6V5z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nNoEntryFillIcon.defaultProps = {\n className: 'octicon octicon-no-entry-fill',\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=\\\"M5.604.089A.75.75 0 016 .75v4.77h.711a.75.75 0 110 1.5H3.759a.75.75 0 110-1.5H4.5V2.15l-.334.223a.75.75 0 01-.832-1.248l1.5-1a.75.75 0 01.77-.037zM9 4.75A.75.75 0 019.75 4h4a.75.75 0 01.53 1.28l-1.89 1.892c.312.076.604.18.867.319.742.391 1.244 1.063 1.244 2.005 0 .653-.231 1.208-.629 1.627-.386.408-.894.653-1.408.777-1.01.243-2.225.063-3.124-.527a.75.75 0 01.822-1.254c.534.35 1.32.474 1.951.322.306-.073.53-.201.67-.349.129-.136.218-.32.218-.596 0-.308-.123-.509-.444-.678-.373-.197-.98-.318-1.806-.318a.75.75 0 01-.53-1.28l1.72-1.72H9.75A.75.75 0 019 4.75zm-3.587 5.763c-.35-.05-.77.113-.983.572a.75.75 0 11-1.36-.632c.508-1.094 1.589-1.565 2.558-1.425 1 .145 1.872.945 1.872 2.222 0 1.433-1.088 2.192-1.79 2.681-.308.216-.571.397-.772.573H7a.75.75 0 010 1.5H3.75a.75.75 0 01-.75-.75c0-.69.3-1.211.67-1.61.348-.372.8-.676 1.15-.92.8-.56 1.18-.904 1.18-1.474 0-.473-.267-.69-.587-.737z\\\"></path>\" }, \"24\": { \"width\": 24, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M8.114 2.094a.75.75 0 01.386.656V9h1.252a.75.75 0 110 1.5H5.75a.75.75 0 010-1.5H7V4.103l-.853.533a.75.75 0 01-.795-1.272l2-1.25a.75.75 0 01.762-.02zm4.889 5.66a.75.75 0 01.75-.75h5.232a.75.75 0 01.53 1.28l-2.776 2.777c.55.097 1.057.253 1.492.483.905.477 1.504 1.284 1.504 2.418 0 .966-.471 1.75-1.172 2.27-.687.511-1.587.77-2.521.77-1.367 0-2.274-.528-2.667-.756a.75.75 0 01.755-1.297c.331.193.953.553 1.912.553.673 0 1.243-.188 1.627-.473.37-.275.566-.635.566-1.067 0-.5-.219-.836-.703-1.091-.538-.284-1.375-.443-2.471-.443a.75.75 0 01-.53-1.28l2.643-2.644h-3.421a.75.75 0 01-.75-.75zM7.88 15.215a1.4 1.4 0 00-1.446.83.75.75 0 01-1.37-.61 2.9 2.9 0 012.986-1.71 2.565 2.565 0 011.557.743c.434.446.685 1.058.685 1.778 0 1.641-1.254 2.437-2.12 2.986-.538.341-1.18.694-1.495 1.273H9.75a.75.75 0 010 1.5h-4a.75.75 0 01-.75-.75c0-1.799 1.337-2.63 2.243-3.21 1.032-.659 1.55-1.031 1.55-1.8 0-.355-.116-.584-.26-.732a1.068 1.068 0 00-.652-.298z\\\"></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 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 PasteIcon(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\nPasteIcon.defaultProps = {\n className: 'octicon octicon-paste',\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 PersonFillIcon(props) {\n var svgDataByHeight = { \"16\": { \"width\": 16, \"path\": \"<path d=\\\"M4.243 4.757a3.757 3.757 0 115.851 3.119 6.006 6.006 0 013.9 5.339.75.75 0 01-.715.784H2.721a.75.75 0 01-.714-.784 6.006 6.006 0 013.9-5.34 3.753 3.753 0 01-1.664-3.118z\\\"></path>\" }, \"24\": { \"width\": 24, \"path\": \"<path d=\\\"M12 2.5a5.25 5.25 0 00-2.519 9.857 9.005 9.005 0 00-6.477 8.37.75.75 0 00.727.773H20.27a.75.75 0 00.727-.772 9.005 9.005 0 00-6.477-8.37A5.25 5.25 0 0012 2.5z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nPersonFillIcon.defaultProps = {\n className: 'octicon octicon-person-fill',\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>\" }, \"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\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 RowsIcon(props) {\n var svgDataByHeight = { \"16\": { \"width\": 16, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M16 2.75A1.75 1.75 0 0014.25 1H1.75A1.75 1.75 0 000 2.75v2.5A1.75 1.75 0 001.75 7h12.5A1.75 1.75 0 0016 5.25v-2.5zm-1.75-.25a.25.25 0 01.25.25v2.5a.25.25 0 01-.25.25H1.75a.25.25 0 01-.25-.25v-2.5a.25.25 0 01.25-.25h12.5zM16 10.75A1.75 1.75 0 0014.25 9H1.75A1.75 1.75 0 000 10.75v2.5A1.75 1.75 0 001.75 15h12.5A1.75 1.75 0 0016 13.25v-2.5zm-1.75-.25a.25.25 0 01.25.25v2.5a.25.25 0 01-.25.25H1.75a.25.25 0 01-.25-.25v-2.5a.25.25 0 01.25-.25h12.5z\\\"></path>\" }, \"24\": { \"width\": 24, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M22 3.75A1.75 1.75 0 0020.25 2H3.75A1.75 1.75 0 002 3.75v5.5c0 .966.784 1.75 1.75 1.75h16.5A1.75 1.75 0 0022 9.25v-5.5zm-1.75-.25a.25.25 0 01.25.25v5.5a.25.25 0 01-.25.25H3.75a.25.25 0 01-.25-.25v-5.5a.25.25 0 01.25-.25h16.5zM22 14.75A1.75 1.75 0 0020.25 13H3.75A1.75 1.75 0 002 14.75v5.5c0 .966.784 1.75 1.75 1.75h16.5A1.75 1.75 0 0022 20.25v-5.5zm-1.75-.25a.25.25 0 01.25.25v5.5a.25.25 0 01-.25.25H3.75a.25.25 0 01-.25-.25v-5.5a.25.25 0 01.25-.25h16.5z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nRowsIcon.defaultProps = {\n className: 'octicon octicon-rows',\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 SingleSelectIcon(props) {\n var svgDataByHeight = { \"16\": { \"width\": 16, \"path\": \"<path d=\\\"M5.06 7.356l2.795 2.833c.08.081.21.081.29 0l2.794-2.833c.13-.131.038-.356-.145-.356H5.206c-.183 0-.275.225-.145.356z\\\"></path><path fill-rule=\\\"evenodd\\\" d=\\\"M1 2.75C1 1.784 1.784 1 2.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.75zm1.75-.25a.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-.25H2.75z\\\"></path>\" }, \"24\": { \"width\": 24, \"path\": \"<path d=\\\"M7.854 10.854l3.792 3.792a.5.5 0 00.708 0l3.793-3.792a.5.5 0 00-.354-.854H8.207a.5.5 0 00-.353.854z\\\"></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\nSingleSelectIcon.defaultProps = {\n className: 'octicon octicon-single-select',\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 SortAscIcon(props) {\n var svgDataByHeight = { \"16\": { \"width\": 16, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M0 4.25a.75.75 0 01.75-.75h2.5a.75.75 0 010 1.5H.75A.75.75 0 010 4.25zm0 4a.75.75 0 01.75-.75h4.5a.75.75 0 010 1.5H.75A.75.75 0 010 8.25zm0 4a.75.75 0 01.75-.75h7.5a.75.75 0 010 1.5H.75a.75.75 0 01-.75-.75zm12.927-9.677a.25.25 0 00-.354 0l-3 3A.25.25 0 009.75 6H12v6.75a.75.75 0 001.5 0V6h2.25a.25.25 0 00.177-.427l-3-3z\\\"></path>\" }, \"24\": { \"width\": 24, \"path\": \"<path d=\\\"M18.5 17.25a.75.75 0 01-1.5 0V7.56l-2.22 2.22a.75.75 0 11-1.06-1.06l3.5-3.5a.75.75 0 011.06 0l3.5 3.5a.75.75 0 01-1.06 1.06L18.5 7.56v9.69zm-15.75.25a.75.75 0 010-1.5h9.5a.75.75 0 010 1.5h-9.5zm0-5a.75.75 0 010-1.5h5.5a.75.75 0 010 1.5h-5.5zm0-5a.75.75 0 010-1.5h3.5a.75.75 0 010 1.5h-3.5z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nSortAscIcon.defaultProps = {\n className: 'octicon octicon-sort-asc',\n size: 16,\n verticalAlign: 'text-bottom'\n};\n\nfunction SortDescIcon(props) {\n var svgDataByHeight = { \"16\": { \"width\": 16, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M0 4.25a.75.75 0 01.75-.75h7.5a.75.75 0 010 1.5H.75A.75.75 0 010 4.25zm0 4a.75.75 0 01.75-.75h4.5a.75.75 0 010 1.5H.75A.75.75 0 010 8.25zm0 4a.75.75 0 01.75-.75h2.5a.75.75 0 010 1.5H.75a.75.75 0 01-.75-.75z\\\"></path><path d=\\\"M13.5 10h2.25a.25.25 0 01.177.427l-3 3a.25.25 0 01-.354 0l-3-3A.25.25 0 019.75 10H12V3.75a.75.75 0 011.5 0V10z\\\"></path>\" }, \"24\": { \"width\": 24, \"path\": \"<path d=\\\"M18.5 16.44V6.75a.75.75 0 00-1.5 0v9.69l-2.22-2.22a.75.75 0 10-1.06 1.06l3.5 3.5a.75.75 0 001.06 0l3.5-3.5a.75.75 0 10-1.06-1.06l-2.22 2.22zM2 7.25a.75.75 0 01.75-.75h9.5a.75.75 0 010 1.5h-9.5A.75.75 0 012 7.25zm0 5a.75.75 0 01.75-.75h5.5a.75.75 0 010 1.5h-5.5a.75.75 0 01-.75-.75zm0 5a.75.75 0 01.75-.75h3.5a.75.75 0 010 1.5h-3.5a.75.75 0 01-.75-.75z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nSortDescIcon.defaultProps = {\n className: 'octicon octicon-sort-desc',\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 StackIcon(props) {\n var svgDataByHeight = { \"16\": { \"width\": 16, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M7.122.392a1.75 1.75 0 011.756 0l5.003 2.902c.83.481.83 1.68 0 2.162L8.878 8.358a1.75 1.75 0 01-1.756 0L2.119 5.456a1.25 1.25 0 010-2.162L7.122.392zM8.125 1.69a.25.25 0 00-.25 0l-4.63 2.685 4.63 2.685a.25.25 0 00.25 0l4.63-2.685-4.63-2.685zM1.601 7.789a.75.75 0 011.025-.273l5.249 3.044a.25.25 0 00.25 0l5.249-3.044a.75.75 0 01.752 1.298l-5.248 3.044a1.75 1.75 0 01-1.756 0L1.874 8.814A.75.75 0 011.6 7.789zm0 3.5a.75.75 0 011.025-.273l5.249 3.044a.25.25 0 00.25 0l5.249-3.044a.75.75 0 01.752 1.298l-5.248 3.044a1.75 1.75 0 01-1.756 0l-5.248-3.044a.75.75 0 01-.273-1.025z\\\"></path>\" }, \"24\": { \"width\": 24, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M11.063 1.456a1.75 1.75 0 011.874 0l8.383 5.316a1.75 1.75 0 010 2.956l-8.383 5.316a1.75 1.75 0 01-1.874 0L2.68 9.728a1.75 1.75 0 010-2.956l8.383-5.316zm1.071 1.267a.25.25 0 00-.268 0L3.483 8.039a.25.25 0 000 .422l8.383 5.316a.25.25 0 00.268 0l8.383-5.316a.25.25 0 000-.422l-8.383-5.316z\\\"></path><path fill-rule=\\\"evenodd\\\" d=\\\"M1.867 12.324a.75.75 0 011.035-.232l8.964 5.685a.25.25 0 00.268 0l8.964-5.685a.75.75 0 01.804 1.267l-8.965 5.685a1.75 1.75 0 01-1.874 0l-8.965-5.685a.75.75 0 01-.231-1.035z\\\"></path><path fill-rule=\\\"evenodd\\\" d=\\\"M1.867 16.324a.75.75 0 011.035-.232l8.964 5.685a.25.25 0 00.268 0l8.964-5.685a.75.75 0 01.804 1.267l-8.965 5.685a1.75 1.75 0 01-1.874 0l-8.965-5.685a.75.75 0 01-.231-1.035z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nStackIcon.defaultProps = {\n className: 'octicon octicon-stack',\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 TelescopeFillIcon(props) {\n var svgDataByHeight = { \"16\": { \"width\": 16, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M8.531 10.21a.75.75 0 01.944.253l2.644 3.864a.75.75 0 11-1.238.847L9 12.424v2.826a.75.75 0 01-1.5 0v-2.826l-1.881 2.75a.75.75 0 01-1.238-.848l2.048-2.992a.75.75 0 01.293-.252l1.81-.871zM11.905.42a1.5 1.5 0 012.144.49l1.692 2.93a1.5 1.5 0 01-.649 2.102L2.895 11.815a1.5 1.5 0 01-1.95-.602l-.68-1.176a1.5 1.5 0 01.455-1.99L11.905.422zM3.279 8.119l.835 1.445 1.355-.653-.947-1.64-1.243.848zm7.728-1.874L9.6 3.808l1.243-.848 1.52 2.631-1.356.653z\\\"></path>\" }, \"24\": { \"width\": 24, \"path\": \"<path d=\\\"M17.155 22.87a.75.75 0 00.226-1.036l-4-6.239a.75.75 0 00-.941-.277l-2.75 1.25a.75.75 0 00-.318.273l-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><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.066l1.987 3.44-1.36.645-1.862-3.225 1.235-.86zm7.842-5.455l2.857 4.76 1.361-.646-2.984-4.973-1.234.859z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nTelescopeFillIcon.defaultProps = {\n className: 'octicon octicon-telescope-fill',\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 = { \"12\": { \"width\": 12, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M1.757 10.243a6 6 0 118.486-8.486 6 6 0 01-8.486 8.486zM6 4.763l-2-2L2.763 4l2 2-2 2L4 9.237l2-2 2 2L9.237 8l-2-2 2-2L8 2.763l-2 2z\\\"></path>\" }, \"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, AlertFillIcon, 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, ClockIcon, CodeIcon, CodeReviewIcon, CodeSquareIcon, CodescanIcon, CodescanCheckmarkIcon, CodespacesIcon, ColumnsIcon, CommentIcon, CommentDiscussionIcon, CommitIcon, ContainerIcon, CopyIcon, CpuIcon, CreditCardIcon, CrossReferenceIcon, DashIcon, DatabaseIcon, DependabotIcon, DesktopDownloadIcon, DeviceCameraIcon, DeviceCameraVideoIcon, DeviceDesktopIcon, DeviceMobileIcon, DiamondIcon, 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, GitMergeIcon, GitPullRequestIcon, GitPullRequestClosedIcon, GitPullRequestDraftIcon, GlobeIcon, GrabberIcon, GraphIcon, HashIcon, HeadingIcon, HeartIcon, HeartFillIcon, HistoryIcon, HomeIcon, HomeFillIcon, HorizontalRuleIcon, HourglassIcon, HubotIcon, ImageIcon, InboxIcon, InfinityIcon, InfoIcon, IssueClosedIcon, IssueDraftIcon, IssueOpenedIcon, IssueReopenedIcon, ItalicIcon, IterationsIcon, KebabHorizontalIcon, KeyIcon, KeyAsteriskIcon, LawIcon, LightBulbIcon, LinkIcon, LinkExternalIcon, ListOrderedIcon, ListUnorderedIcon, LocationIcon, LockIcon, LogoGistIcon, LogoGithubIcon, MailIcon, MarkGithubIcon, MarkdownIcon, MegaphoneIcon, MentionIcon, MeterIcon, MilestoneIcon, MirrorIcon, MoonIcon, MortarBoardIcon, MultiSelectIcon, MuteIcon, NoEntryIcon, NoEntryFillIcon, NorthStarIcon, NoteIcon, NumberIcon, OrganizationIcon, PackageIcon, PackageDependenciesIcon, PackageDependentsIcon, PaintbrushIcon, PaperAirplaneIcon, PasteIcon, PencilIcon, PeopleIcon, PersonIcon, PersonAddIcon, PersonFillIcon, PinIcon, PlayIcon, PlugIcon, PlusIcon, PlusCircleIcon, ProjectIcon, PulseIcon, QuestionIcon, QuoteIcon, ReplyIcon, RepoIcon, RepoCloneIcon, RepoForkedIcon, RepoPullIcon, RepoPushIcon, RepoTemplateIcon, ReportIcon, RocketIcon, RowsIcon, RssIcon, RubyIcon, ScreenFullIcon, ScreenNormalIcon, SearchIcon, ServerIcon, ShareIcon, ShareAndroidIcon, ShieldIcon, ShieldCheckIcon, ShieldLockIcon, ShieldXIcon, SidebarCollapseIcon, SidebarExpandIcon, SignInIcon, SignOutIcon, SingleSelectIcon, SkipIcon, SmileyIcon, SortAscIcon, SortDescIcon, SquareIcon, SquareFillIcon, SquirrelIcon, StackIcon, StarIcon, StarFillIcon, StopIcon, StopwatchIcon, StrikethroughIcon, SunIcon, SyncIcon, TabIcon, TableIcon, TagIcon, TasklistIcon, TelescopeIcon, TelescopeFillIcon, 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 {get} from '../constants'\nimport sx, {SxProp} from '../sx'\nimport {ComponentProps} from '../utils/types'\n\nconst StyledButton = styled.button<SxProp>`\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.fg.muted')};\n\n &:focus {\n box-shadow: ${get('shadows.btn.focusShadow')};\n }\n\n &:hover {\n color: ${get('colors.accent.fg')};\n }\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 {useEffect, useLayoutEffect} from 'react'\n\nconst useIsomorphicLayoutEffect =\n typeof window !== 'undefined' &&\n typeof window.document !== 'undefined' &&\n typeof window.document.createElement !== 'undefined'\n ? useLayoutEffect\n : useEffect\n\nexport default useIsomorphicLayoutEffect\n","import React from 'react'\nimport {PositionSettings, getAnchoredPosition, AnchorPosition} from '../behaviors/anchoredPosition'\nimport {useProvidedRefOrCreate} from './useProvidedRefOrCreate'\nimport {useResizeObserver} from './useResizeObserver'\nimport useLayoutEffect from '../utils/useIsomorphicLayoutEffect'\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 useLayoutEffect(updatePosition, [updatePosition])\n\n useResizeObserver(updatePosition)\n\n return {\n floatingElementRef,\n anchorElementRef,\n position\n }\n}\n","import useLayoutEffect from '../utils/useIsomorphicLayoutEffect'\n\nexport function useResizeObserver(callback: () => void) {\n 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 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)<SxProp>`\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'\nimport useLayoutEffect from '../utils/useIsomorphicLayoutEffect'\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 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 {Portal, PortalProps, registerPortalRoot} from './Portal'\n\nexport default Portal\nexport {registerPortalRoot}\nexport type {PortalProps}\n","import {ForwardedRef, useRef} from 'react'\nimport useLayoutEffect from '../utils/useIsomorphicLayoutEffect'\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 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 // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [...refs, combinedRef.current])\n\n return combinedRef\n}\n","import _react, { useContext, useLayoutEffect, useMemo, useState } from \"react\";\n// Default context value to use in case there is no SSRProvider. This is fine for\n// client-only apps. In order to support multiple copies of React Aria potentially\n// being on the page at once, the prefix is set to a random number. SSRProvider\n// will reset this to zero for consistency between server and client, so in the\n// SSR case multiple copies of React Aria is not supported.\nconst $f01a183cc7bdff77849e49ad26eb904$var$defaultContext = {\n prefix: String(Math.round(Math.random() * 10000000000)),\n current: 0\n};\n\nconst $f01a183cc7bdff77849e49ad26eb904$var$SSRContext = /*#__PURE__*/_react.createContext($f01a183cc7bdff77849e49ad26eb904$var$defaultContext);\n\n/**\n * When using SSR with React Aria, applications must be wrapped in an SSRProvider.\n * This ensures that auto generated ids are consistent between the client and server.\n */\nexport function SSRProvider(props) {\n let cur = useContext($f01a183cc7bdff77849e49ad26eb904$var$SSRContext);\n let value = useMemo(() => ({\n // If this is the first SSRProvider, start with an empty string prefix, otherwise\n // append and increment the counter.\n prefix: cur === $f01a183cc7bdff77849e49ad26eb904$var$defaultContext ? '' : cur.prefix + \"-\" + ++cur.current,\n current: 0\n }), [cur]);\n return /*#__PURE__*/_react.createElement($f01a183cc7bdff77849e49ad26eb904$var$SSRContext.Provider, {\n value: value\n }, props.children);\n}\nlet $f01a183cc7bdff77849e49ad26eb904$var$canUseDOM = Boolean(typeof window !== 'undefined' && window.document && window.document.createElement);\n/** @private */\n\nexport function useSSRSafeId(defaultId) {\n let ctx = useContext($f01a183cc7bdff77849e49ad26eb904$var$SSRContext); // If we are rendering in a non-DOM environment, and there's no SSRProvider,\n // provide a warning to hint to the developer to add one.\n\n if (ctx === $f01a183cc7bdff77849e49ad26eb904$var$defaultContext && !$f01a183cc7bdff77849e49ad26eb904$var$canUseDOM) {\n console.warn('When server rendering, you must wrap your application in an <SSRProvider> to ensure consistent ids are generated between the client and server.');\n }\n\n return useMemo(() => defaultId || \"react-aria\" + ctx.prefix + \"-\" + ++ctx.current, [defaultId]);\n}\n/**\n * Returns whether the component is currently being server side rendered or\n * hydrated on the client. Can be used to delay browser-specific rendering\n * until after hydration.\n */\n\nexport function useIsSSR() {\n let cur = useContext($f01a183cc7bdff77849e49ad26eb904$var$SSRContext);\n let isInSSRContext = cur !== $f01a183cc7bdff77849e49ad26eb904$var$defaultContext;\n let [isSSR, setIsSSR] = useState(isInSSRContext); // If on the client, and the component was initially server rendered,\n // then schedule a layout effect to update the component after hydration.\n\n if (typeof window !== 'undefined' && isInSSRContext) {\n // This if statement technically breaks the rules of hooks, but is safe\n // because the condition never changes after mounting.\n // eslint-disable-next-line react-hooks/rules-of-hooks\n useLayoutEffect(() => {\n setIsSSR(false);\n }, []);\n }\n\n return isSSR;\n}\n//# sourceMappingURL=module.js.map\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} from '../constants'\nimport {useOnEscapePress, useProvidedRefOrCreate} 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 {useCombinedRefs} from '../hooks/useCombinedRefs'\nimport {useSSRSafeId} from '@react-aria/ssr'\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 * A reference to the rendered Button’s DOM node, used together with\n * `autoFocus` for `focusTrap`’s `initialFocus`.\n */\n ref?: React.RefObject<HTMLButtonElement>\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\ntype StyledDialogProps = {\n width?: DialogWidth\n height?: DialogHeight\n} & SxProp\n\nconst StyledDialog = styled.div<StyledDialogProps>`\n display: flex;\n flex-direction: column;\n background-color: ${get('colors.canvas.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 ${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 footerButtons = []\n } = props\n const dialogLabelId = useSSRSafeId()\n const dialogDescriptionId = useSSRSafeId()\n const autoFocusedFooterButtonRef = useRef<HTMLButtonElement>(null)\n for (const footerButton of footerButtons) {\n if (footerButton.autoFocus) {\n footerButton.ref = autoFocusedFooterButtonRef\n }\n }\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, initialFocusRef: autoFocusedFooterButtonRef})\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.div.attrs<SxProp>({as: 'header'})`\n box-shadow: 0 1px 0 ${get('colors.border.default')};\n padding: ${get('space.2')};\n z-index: 1;\n flex-shrink: 0;\n`\n\nconst Title = styled.div<SxProp>`\n font-size: ${get('fontSizes.1')};\n font-weight: ${get('fontWeights.bold')};\n\n ${sx};\n`\n\nconst Subtitle = styled.div<SxProp>`\n font-size: ${get('fontSizes.0')};\n margin-top: ${get('space.1')};\n color: ${get('colors.fg.muted')};\n\n ${sx};\n`\n\nconst Body = styled.div<SxProp>`\n flex-grow: 1;\n overflow: auto;\n padding: ${get('space.3')};\n\n ${sx};\n`\n\nconst Footer = styled.div.attrs<SxProp>({as: 'footer'})`\n box-shadow: 0 -1px 0 ${get('colors.border.default')};\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\n ${sx};\n`\n\nconst buttonTypes = {\n normal: Button,\n primary: ButtonPrimary,\n danger: ButtonDanger\n}\nconst Buttons: React.FC<{buttons: DialogButtonProps[]}> = ({buttons}) => {\n const autoFocusRef = useProvidedRefOrCreate<HTMLButtonElement>(buttons.find(button => button.autoFocus)?.ref)\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 }, [autoFocusRef, 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 variant={buttonType}\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.fg.muted')};\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.fg.muted')};\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 }\n const confirmButton: DialogButtonProps = {\n content: confirmButtonContent,\n buttonType: confirmButtonType,\n onClick: onConfirmButtonClick,\n autoFocus: true\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.fg.muted')};\n\n ${({variant}) =>\n variant === 'filled' &&\n css`\n background: ${get('colors.canvas.subtle')};\n margin: ${get('space.2')} 0;\n border-top: 1px solid ${get('colors.neutral.muted')};\n border-bottom: 1px solid ${get('colors.neutral.muted')};\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 sx, {SxProp} from './sx'\nimport {ComponentProps} from './utils/types'\n\ntype StyledTruncateProps = {\n title: string\n inline?: boolean\n expandable?: boolean\n} & MaxWidthProps &\n SxProp\n\nconst Truncate = styled.div<StyledTruncateProps>`\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.border.muted')};\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} 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 {useTheme} from '../ThemeProvider'\nimport {\n activeDescendantActivatedDirectly,\n activeDescendantActivatedIndirectly,\n isActiveDescendantAttribute\n} from '../behaviors/focusZone'\nimport {useSSRSafeId} from '@react-aria/ssr'\nimport {ForwardRefComponent as PolymorphicForwardRefComponent} from '@radix-ui/react-polymorphic'\nimport {AriaRole} from '../utils/types'\n\n/**\n * Contract for props passed to the `Item` component.\n */\nexport interface ItemProps extends 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 * @deprecated Use `trailingVisual` instead\n * Icon (or similar) positioned after `Item` text.\n */\n trailingIcon?: React.FunctionComponent<IconProps>\n\n /**\n * @deprecated Use `trailingVisual` instead\n * Text positioned after `Item` text and optional trailing icon.\n */\n trailingText?: string\n\n /**\n * Icon or text positioned after `Item` text.\n */\n trailingVisual?: React.ReactNode\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 /**\n * Node to be included inside the item before the text.\n */\n children?: React.ReactNode\n\n /**\n * The ARIA role describing the function of `List` component. `option` is a common value.\n */\n role?: AriaRole\n\n /**\n * An item to pass back in the `onAction` callback, meant as\n */\n item?: ItemInput\n}\n\nconst getItemVariant = (variant = 'default', disabled?: boolean) => {\n if (disabled) {\n return {\n color: get('colors.primer.fg.disabled'),\n iconColor: get('colors.primer.fg.disabled'),\n annotationColor: get('colors.primer.fg.disabled'),\n hoverCursor: 'default'\n }\n }\n\n switch (variant) {\n case 'danger':\n return {\n color: get('colors.danger.fg'),\n iconColor: get('colors.danger.fg'),\n annotationColor: get('colors.fg.muted'),\n hoverCursor: 'pointer',\n hoverBg: get('colors.actionListItem.danger.hoverBg'),\n focusBg: get('colors.actionListItem.danger.activeBg'),\n hoverText: get('colors.actionListItem.danger.hoverText')\n }\n default:\n return {\n color: get('colors.fg.default'),\n iconColor: get('colors.fg.muted'),\n annotationColor: get('colors.fg.muted'),\n hoverCursor: 'pointer',\n hoverBg: get('colors.actionListItem.default.hoverBg'),\n focusBg: get('colors.actionListItem.default.activeBg')\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 } & 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 text-decoration: none;\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(\n --item-hover-bg-override,\n ${({variant, item}) => getItemVariant(variant, item?.disabled).hoverBg}\n );\n color: ${({variant, item}) => getItemVariant(variant, item?.disabled).hoverText};\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.border.muted')};\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: ${({variant, item}) => getItemVariant(variant, item?.disabled).focusBg};\n }\n &[${isActiveDescendantAttribute}='${activeDescendantActivatedIndirectly}'] {\n background: ${({variant, item}) => getItemVariant(variant, item?.disabled).hoverBg};\n }\n\n &:focus {\n background: ${({variant, item}) => getItemVariant(variant, item?.disabled).focusBg};\n outline: none;\n }\n\n &:active {\n background: ${({variant, item}) => getItemVariant(variant, item?.disabled).focusBg};\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 display: flex;\n justify-content: center;\n align-items: center;\n flex-shrink: 0;\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 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.fg.muted')};\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 MultiSelectIcon = styled.svg<{selected?: boolean}>`\n rect {\n fill: ${({selected}) => (selected ? get('colors.accent.fg') : get('colors.canvas.default'))};\n stroke: ${({selected}) => (selected ? get('colors.accent.fg') : get('colors.border.default'))};\n }\n path {\n fill: ${get('colors.fg.onEmphasis')};\n boxshadow: ${get('shadow.small')};\n opacity: ${({selected}) => (selected ? 1 : 0)};\n }\n`\n\n/**\n * An actionable or selectable `Item` with an optional icon and description.\n */\nexport const Item = React.forwardRef((itemProps, ref) => {\n const {\n as: Component,\n text,\n description,\n descriptionVariant = 'inline',\n selected,\n selectionVariant,\n leadingVisual: LeadingVisual,\n trailingIcon: TrailingIcon,\n trailingVisual: TrailingVisual,\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 = useSSRSafeId()\n const descriptionId = useSSRSafeId()\n\n const keyPressHandler = useCallback(\n event => {\n if (disabled) {\n return\n }\n onKeyPress?.(event)\n\n if (!event.defaultPrevented && [' ', 'Enter'].includes(event.key)) {\n onAction?.(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, event)\n }\n },\n [onAction, disabled, itemProps, onClick]\n )\n\n const {theme} = useTheme()\n\n return (\n <StyledItem\n ref={ref}\n as={Component}\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 >\n {!!selected === selected && (\n <BaseVisualContainer>\n {selectionVariant === 'multiple' ? (\n <>\n {/**\n * we use a svg instead of an input because there should not\n * be an interactive element inside an option\n * svg copied from primer/css\n */}\n <MultiSelectIcon\n selected={selected}\n width=\"16\"\n height=\"16\"\n viewBox=\"0 0 16 16\"\n xmlns=\"http://www.w3.org/2000/svg\"\n aria-hidden=\"true\"\n >\n <rect x=\"2\" y=\"2\" width=\"12\" height=\"12\" rx=\"4\"></rect>\n <path\n fillRule=\"evenodd\"\n strokeWidth=\"0\"\n d=\"M4.03231 8.69862C3.84775 8.20646 4.49385 7.77554 4.95539 7.77554C5.41693 7.77554 6.80154 9.85246 6.80154 9.85246C6.80154 9.85246 10.2631 4.314 10.4938 4.08323C10.7246 3.85246 11.8785 4.08323 11.4169 5.00631C11.0081 5.82388 7.26308 11.4678 7.26308 11.4678C7.26308 11.4678 6.80154 12.1602 6.34 11.4678C5.87846 10.7755 4.21687 9.19077 4.03231 8.69862Z\"\n />\n </MultiSelectIcon>\n </>\n ) : (\n selected && <CheckIcon fill={theme?.colors.fg.default} />\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 {/* backward compatibility: prefer TrailingVisual but fallback to TrailingIcon */}\n {TrailingVisual ? (\n <TrailingContent variant={variant} disabled={disabled}>\n {typeof TrailingVisual === 'function' ? <TrailingVisual /> : TrailingVisual}\n </TrailingContent>\n ) : TrailingIcon || trailingText ? (\n <TrailingContent variant={variant} disabled={disabled}>\n {trailingText}\n {TrailingIcon && <TrailingIcon />}\n </TrailingContent>\n ) : null}\n </DividedContent>\n </StyledItem>\n )\n}) as PolymorphicForwardRefComponent<'div', ItemProps>\n\nItem.displayName = 'ActionList.Item'\n","import React, {Key} 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'\nimport {Merge} from '../utils/types/Merge'\n\ntype RenderItemFn = (props: ItemProps) => React.ReactElement\n\nexport type ItemInput =\n | Merge<React.ComponentPropsWithoutRef<'div'>, ItemProps>\n | ((Partial<ItemProps> & {renderItem: RenderItemFn}) & {key?: Key})\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?: RenderItemFn\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?: RenderItemFn; 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: RenderItemFn})) & {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.border.muted')};\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 = ('key' in itemProps ? itemProps.key : undefined) ?? 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, {ComponentPropsWithRef, ReactElement, useEffect, useRef} from 'react'\nimport useLayoutEffect from './utils/useIsomorphicLayoutEffect'\nimport {get} from './constants'\nimport {AriaRole, Merge} 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'\nimport {ForwardRefComponent as PolymorphicForwardRefComponent} from '@radix-ui/react-polymorphic'\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} & SxProp\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>`\n background-color: ${get('colors.canvas.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 ${sx};\n`\ntype BaseOverlayProps = {\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 'data-test-id'?: unknown\n top?: number\n left?: number\n portalContainerName?: string\n preventFocusOnOpen?: boolean\n role?: AriaRole\n children?: React.ReactNode\n}\n\ntype OwnOverlayProps = Merge<StyledOverlayProps, BaseOverlayProps>\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, OwnOverlayProps>(\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 preventFocusOnOpen,\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 preventFocusOnOpen\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 '--styled-overlay-visibility': visibility\n } as React.CSSProperties\n }\n />\n </Portal>\n )\n }\n) as PolymorphicForwardRefComponent<'div', OwnOverlayProps>\n\nexport type OverlayProps = ComponentPropsWithRef<typeof Overlay>\n\nOverlay.defaultProps = {\n height: 'auto',\n width: 'auto'\n}\n\nexport default Overlay\n","import React, {useCallback, useEffect} 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 {useSSRSafeId} from '@react-aria/ssr'\nimport {PositionSettings} from '../behaviors/anchoredPosition'\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 Partial<Pick<PositionSettings, 'align' | 'side'>>\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 side,\n align\n}) => {\n const anchorRef = useProvidedRefOrCreate(externalAnchorRef)\n const [overlayRef, updateOverlayRef] = useRenderForcingRef<HTMLDivElement>()\n const anchorId = useSSRSafeId()\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 side,\n align\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\nAnchoredOverlay.defaultProps = {\n side: 'outside-bottom',\n align: 'start'\n}\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 {createContext} from 'react'\n\nexport const AutocompleteContext = createContext<{\n activeDescendantRef: React.MutableRefObject<HTMLElement | null>\n autocompleteSuggestion: string\n // TODO: consider changing `id` to `listboxId` because we're just using it to associate the input and combobox with the listbox\n id: string\n inputRef: React.MutableRefObject<HTMLInputElement | null>\n inputValue: string\n isMenuDirectlyActivated: boolean\n scrollContainerRef: React.MutableRefObject<HTMLElement | null>\n selectedItemLength: number\n setAutocompleteSuggestion: (value: string) => void\n setInputValue: (value: string) => void\n setIsMenuDirectlyActivated: (value: boolean) => void\n setSelectedItemLength: (value: number) => void\n setShowMenu: (value: boolean) => void\n showMenu: boolean\n} | null>(null)\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 styled from 'styled-components'\nimport sx from './sx'\n\nconst UnstyledTextInput = 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 ${sx};\n`\n\nexport default UnstyledTextInput\n","import 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'\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\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 TextInputWrapper = 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.fg.default')};\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.default')};\n border-radius: ${get('radii.2')};\n outline: none;\n box-shadow: ${get('shadows.primer.shadow.inset')};\n cursor: text;\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.fg.muted')};\n margin: 0 ${get('space.2')};\n flex-shrink: 0;\n }\n\n &:focus-within {\n border-color: ${get('colors.accent.emphasis')};\n box-shadow: ${get('shadows.primer.shadow.focus')};\n }\n\n ${props =>\n props.contrast &&\n css`\n background-color: ${get('colors.canvas.inset')};\n `}\n\n ${props =>\n props.disabled &&\n css`\n color: ${get('colors.primer.fg.disabled')};\n background-color: ${get('colors.input.disabledBg')};\n border-color: ${get('colors.border.default')};\n `}\n \n ${props =>\n props.block &&\n css`\n display: block;\n width: 100%;\n `}\n\n ${props =>\n props.block &&\n props.hasIcon &&\n css`\n display: flex;\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\nexport default TextInputWrapper\n","import classnames from 'classnames'\nimport React from 'react'\nimport {ComponentProps, Merge} from './utils/types'\nimport UnstyledTextInput from './_UnstyledTextInput'\nimport TextInputWrapper from './_TextInputWrapper'\n\ntype NonPassthroughProps = {\n className?: string\n icon?: React.ComponentType<{className?: string}>\n} & Pick<\n ComponentProps<typeof TextInputWrapper>,\n 'block' | 'contrast' | 'disabled' | 'sx' | 'theme' | 'width' | 'maxWidth' | 'minWidth' | 'variant'\n>\n\n// Note: using ComponentProps instead of ComponentPropsWithoutRef here would cause a type issue where `css` is a required prop.\ntype TextInputInternalProps = Merge<React.ComponentPropsWithoutRef<typeof UnstyledTextInput>, 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\n return (\n <TextInputWrapper\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 <UnstyledTextInput ref={ref} disabled={disabled} {...inputProps} />\n </TextInputWrapper>\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, {\n ChangeEventHandler,\n FocusEventHandler,\n KeyboardEventHandler,\n MutableRefObject,\n useCallback,\n useContext,\n useEffect,\n useState\n} from 'react'\nimport {ForwardRefComponent as PolymorphicForwardRefComponent} from '@radix-ui/react-polymorphic'\nimport {AutocompleteContext} from './AutocompleteContext'\nimport TextInput from '../TextInput'\nimport {useCombinedRefs} from '../hooks/useCombinedRefs'\nimport {ComponentProps} from '../utils/types'\n\ntype InternalAutocompleteInputProps = {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n as?: React.ComponentType<any>\n}\n\nconst AutocompleteInput = React.forwardRef(\n (\n {as: Component = TextInput, onFocus, onBlur, onChange, onKeyDown, onKeyUp, onKeyPress, value, ...props},\n forwardedRef\n ) => {\n const autocompleteContext = useContext(AutocompleteContext)\n if (autocompleteContext === null) {\n throw new Error('AutocompleteContext returned null values')\n }\n const {\n activeDescendantRef,\n autocompleteSuggestion = '',\n id,\n inputRef,\n inputValue = '',\n isMenuDirectlyActivated,\n setInputValue,\n setShowMenu,\n showMenu\n } = autocompleteContext\n const combinedInputRef = useCombinedRefs(inputRef, forwardedRef)\n const [highlightRemainingText, setHighlightRemainingText] = useState<boolean>(true)\n\n const handleInputFocus: FocusEventHandler<HTMLInputElement> = useCallback(\n event => {\n onFocus && onFocus(event)\n setShowMenu(true)\n },\n [onFocus, setShowMenu]\n )\n\n const handleInputBlur: FocusEventHandler<HTMLInputElement> = useCallback(\n event => {\n onBlur && onBlur(event)\n\n // HACK: wait a tick and check the focused element before hiding the autocomplete menu\n // this prevents the menu from hiding when the user is clicking an option in the Autoselect.Menu,\n // but still hides the menu when the user blurs the input by tabbing out or clicking somewhere else on the page\n setTimeout(() => {\n if (document.activeElement !== combinedInputRef.current) {\n setShowMenu(false)\n }\n }, 0)\n },\n [onBlur, setShowMenu, combinedInputRef]\n )\n\n const handleInputChange: ChangeEventHandler<HTMLInputElement> = useCallback(\n event => {\n onChange && onChange(event)\n setInputValue(event.currentTarget.value)\n if (!showMenu) {\n setShowMenu(true)\n }\n },\n [onChange, setInputValue, setShowMenu, showMenu]\n )\n\n const handleInputKeyDown: KeyboardEventHandler<HTMLInputElement> = useCallback(\n event => {\n onKeyDown && onKeyDown(event)\n\n if (event.key === 'Backspace') {\n setHighlightRemainingText(false)\n }\n\n if (event.key === 'Escape' && inputRef.current?.value) {\n setInputValue('')\n inputRef.current.value = ''\n }\n },\n [inputRef, setInputValue, setHighlightRemainingText, onKeyDown]\n )\n\n const handleInputKeyUp: KeyboardEventHandler<HTMLInputElement> = useCallback(\n event => {\n onKeyUp && onKeyUp(event)\n\n if (event.key === 'Backspace') {\n setHighlightRemainingText(true)\n }\n },\n [setHighlightRemainingText, onKeyUp]\n )\n\n const onInputKeyPress: KeyboardEventHandler<HTMLInputElement> = useCallback(\n event => {\n onKeyPress && onKeyPress(event)\n\n if (showMenu && event.key === 'Enter' && activeDescendantRef.current) {\n event.preventDefault()\n event.nativeEvent.stopImmediatePropagation()\n\n // Forward Enter key press to active descendant so that item gets activated\n const activeDescendantEvent = new KeyboardEvent(event.type, event.nativeEvent)\n activeDescendantRef.current.dispatchEvent(activeDescendantEvent)\n }\n },\n [activeDescendantRef, showMenu, onKeyPress]\n )\n\n useEffect(() => {\n if (!inputRef.current) {\n return\n }\n\n // resets input value to being empty after a selection has been made\n if (!autocompleteSuggestion) {\n inputRef.current.value = inputValue\n }\n\n // TODO: fix bug where this function prevents `onChange` from being triggered if the highlighted item text\n // is the same as what I'm typing\n // e.g.: typing 'tw' highights 'two', but when I 'two', the text input change does not get triggered\n if (highlightRemainingText && autocompleteSuggestion && (inputValue || isMenuDirectlyActivated)) {\n inputRef.current.value = autocompleteSuggestion\n\n if (autocompleteSuggestion.toLowerCase().indexOf(inputValue.toLowerCase()) === 0) {\n inputRef.current.setSelectionRange(inputValue.length, autocompleteSuggestion.length)\n }\n }\n\n // calling this useEffeect when `highlightRemainingText` changes breaks backspace functionality\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [autocompleteSuggestion, inputValue, inputRef, isMenuDirectlyActivated])\n\n useEffect(() => {\n if (value) {\n setInputValue(value.toString())\n }\n }, [value, setInputValue])\n\n return (\n <Component\n onFocus={handleInputFocus}\n onBlur={handleInputBlur}\n onChange={handleInputChange}\n onKeyDown={handleInputKeyDown}\n onKeyPress={onInputKeyPress}\n onKeyUp={handleInputKeyUp}\n ref={combinedInputRef as MutableRefObject<HTMLInputElement>}\n aria-controls={`${id}-listbox`}\n aria-autocomplete=\"both\"\n role=\"combobox\"\n aria-expanded={showMenu}\n aria-haspopup=\"listbox\"\n aria-owns={`${id}-listbox`}\n autocomplete=\"off\"\n {...props}\n />\n )\n }\n) as PolymorphicForwardRefComponent<typeof TextInput, InternalAutocompleteInputProps>\n\nAutocompleteInput.displayName = 'AutocompleteInput'\n\nexport type AutocompleteInputProps = ComponentProps<typeof AutocompleteInput>\nexport default AutocompleteInput\n","export const scrollIntoViewingArea = (\n child: HTMLElement,\n viewingArea: HTMLElement,\n direction: 'horizontal' | 'vertical' = 'vertical',\n startMargin = 8,\n endMargin = 0,\n behavior: ScrollBehavior = 'smooth'\n) => {\n const startSide = direction === 'vertical' ? 'top' : 'left'\n const endSide = direction === 'vertical' ? 'bottom' : 'right'\n const scrollSide = direction === 'vertical' ? 'scrollTop' : 'scrollLeft'\n const {[startSide]: childStart, [endSide]: childEnd} = child.getBoundingClientRect()\n const {[startSide]: viewingAreaStart, [endSide]: viewingAreaEnd} = viewingArea.getBoundingClientRect()\n\n const isChildStartAboveViewingArea = childStart < viewingAreaStart + endMargin\n const isChildBottomBelowViewingArea = childEnd > viewingAreaEnd - startMargin\n\n if (isChildStartAboveViewingArea) {\n const scrollHeightToChildStart = childStart - viewingAreaStart + viewingArea[scrollSide]\n viewingArea.scrollTo({behavior, [startSide]: scrollHeightToChildStart - endMargin})\n } else if (isChildBottomBelowViewingArea) {\n const scrollHeightToChildBottom = childEnd - viewingAreaEnd + viewingArea[scrollSide]\n viewingArea.scrollTo({behavior, [startSide]: scrollHeightToChildBottom + startMargin})\n }\n\n // either completely in view or outside viewing area on both ends, don't scroll\n}\n","import React, {useContext, useEffect, useMemo, useRef, useState} from 'react'\nimport {ActionList, ItemProps} from '../ActionList'\nimport {useFocusZone} from '../hooks/useFocusZone'\nimport {ComponentProps, MandateProps} from '../utils/types'\nimport {Box, Spinner} from '../'\nimport {AutocompleteContext} from './AutocompleteContext'\nimport {PlusIcon} from '@primer/octicons-react'\nimport {uniqueId} from '../utils/uniqueId'\nimport {scrollIntoViewingArea} from '../behaviors/scrollIntoViewingArea'\n\ntype OnSelectedChange<T> = (item: T | T[]) => void\ntype AutocompleteMenuItem = MandateProps<ItemProps, 'id'>\n\nconst getDefaultSortFn =\n (isItemSelectedFn: (itemId: string | number) => boolean) => (itemIdA: string | number, itemIdB: string | number) =>\n isItemSelectedFn(itemIdA) === isItemSelectedFn(itemIdB) ? 0 : isItemSelectedFn(itemIdA) ? -1 : 1\n\nfunction getDefaultItemFilter<T extends AutocompleteMenuItem>(filterValue: string) {\n return function (item: T, _i: number) {\n return Boolean(item.text?.toLowerCase().startsWith(filterValue.toLowerCase()))\n }\n}\n\nfunction getDefaultOnSelectionChange<T extends AutocompleteMenuItem>(\n setInputValueFn: (value: string) => void\n): OnSelectedChange<T> {\n return function (itemOrItems) {\n const {text = ''} = Array.isArray(itemOrItems) ? itemOrItems.slice(-1)[0] : itemOrItems\n setInputValueFn(text)\n }\n}\n\nconst isItemSelected = (itemId: string | number, selectedItemIds: Array<string | number>) =>\n selectedItemIds.includes(itemId)\n\nfunction getItemById<T extends AutocompleteMenuItem>(itemId: string | number, items: T[]) {\n return items.find(item => item.id === itemId)\n}\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\ntype AutocompleteItemProps<T = Record<string, any>> = AutocompleteMenuItem & {metadata?: T}\n\nexport type AutocompleteMenuInternalProps<T extends AutocompleteItemProps> = {\n /**\n * A menu item that is used to allow users make a selection that is not available in the array passed to the `items` prop.\n * This menu item gets appended to the end of the list of options.\n */\n // TODO: rethink this part of the component API. this is kind of weird and confusing to use\n // TODO: rethink `addNewItem` prop name\n addNewItem?: Omit<T, 'onAction' | 'leadingVisual' | 'id'> & {\n handleAddItem: (item: Omit<T, 'onAction' | 'leadingVisual'>) => void\n }\n\n /**\n * The text that appears in the menu when there are no options in the array passed to the `items` prop.\n */\n emptyStateText?: React.ReactNode | false\n\n /**\n * A custom function used to filter the options in the array passed to the `items` prop.\n * By default, we filter out items that don't match the value of the autocomplete text input. The default filter is not case-sensitive.\n */\n filterFn?: (item: T, i: number) => boolean\n\n /**\n * The options for field values that are displayed in the dropdown menu.\n * One or more may be selected depending on the value of the `selectionVariant` prop.\n */\n items: T[]\n\n /**\n * Whether the data is loaded for the menu items\n */\n loading?: boolean\n\n /**\n * The IDs of the selected items\n */\n // NOTE: this diverges from the SelectPanel component API, where we pass an array of objects to the `selected` prop\n selectedItemIds: Array<string | number>\n\n /**\n * The sort function that is applied to the options in the array passed to the `items` prop after the user closes the menu.\n * By default, selected items are sorted to the top after the user closes the menu.\n */\n sortOnCloseFn?: (itemIdA: string | number, itemIdB: string | number) => number\n\n /**\n * Whether there can be one item selected from the menu or multiple items selected from the menu\n */\n selectionVariant?: 'single' | 'multiple'\n\n /**\n * Function that gets called when the menu is opened or closed\n */\n onOpenChange?: (open: boolean) => void\n\n /**\n * The function that is called when an item in the list is selected or deselected\n */\n onSelectedChange?: OnSelectedChange<T>\n\n /**\n * If the menu is rendered in a scrolling element other than the `Autocomplete.Overlay` component,\n * pass the ref of that element to `customScrollContainerRef` to ensure the container automatically\n * scrolls when the user highlights an item in the menu that is outside the scroll container\n */\n customScrollContainerRef?: React.MutableRefObject<HTMLElement | null>\n} & Pick<React.AriaAttributes, 'aria-labelledby'>\n\nfunction AutocompleteMenu<T extends AutocompleteItemProps>(props: AutocompleteMenuInternalProps<T>) {\n const autocompleteContext = useContext(AutocompleteContext)\n if (autocompleteContext === null) {\n throw new Error('AutocompleteContext returned null values')\n }\n const {\n activeDescendantRef,\n id,\n inputRef,\n inputValue = '',\n scrollContainerRef,\n setAutocompleteSuggestion,\n setShowMenu,\n setInputValue,\n setIsMenuDirectlyActivated,\n setSelectedItemLength,\n showMenu\n } = autocompleteContext\n const {\n items,\n selectedItemIds,\n sortOnCloseFn,\n emptyStateText,\n addNewItem,\n loading,\n selectionVariant,\n filterFn,\n 'aria-labelledby': ariaLabelledBy,\n onOpenChange,\n onSelectedChange,\n customScrollContainerRef\n } = props\n const listContainerRef = useRef<HTMLDivElement>(null)\n const [highlightedItem, setHighlightedItem] = useState<T>()\n const [sortedItemIds, setSortedItemIds] = useState<Array<number | string>>(items.map(({id: itemId}) => itemId))\n\n const selectableItems = useMemo(\n () =>\n items.map(selectableItem => {\n return {\n ...selectableItem,\n role: 'option',\n id: selectableItem.id,\n selected: selectionVariant === 'multiple' ? selectedItemIds.includes(selectableItem.id) : undefined,\n onAction: (item: T) => {\n const otherSelectedItemIds = selectedItemIds.filter(selectedItemId => selectedItemId !== item.id)\n const newSelectedItemIds = selectedItemIds.includes(item.id)\n ? otherSelectedItemIds\n : [...otherSelectedItemIds, item.id]\n const onSelectedChangeFn = onSelectedChange ? onSelectedChange : getDefaultOnSelectionChange(setInputValue)\n\n onSelectedChangeFn(\n newSelectedItemIds.map(newSelectedItemId => getItemById(newSelectedItemId, items)) as T[]\n )\n\n if (selectionVariant === 'multiple') {\n setInputValue('')\n setAutocompleteSuggestion('')\n } else {\n setShowMenu(false)\n inputRef.current?.setSelectionRange(inputRef.current.value.length, inputRef.current.value.length)\n }\n }\n }\n }),\n [\n items,\n selectedItemIds,\n inputRef,\n onSelectedChange,\n selectionVariant,\n setAutocompleteSuggestion,\n setInputValue,\n setShowMenu\n ]\n )\n\n const itemSortOrderData = useMemo(\n () =>\n sortedItemIds.reduce<Record<string | number, number>>((acc, curr, i) => {\n acc[curr] = i\n\n return acc\n }, {}),\n [sortedItemIds]\n )\n\n const sortedAndFilteredItemsToRender = useMemo(\n () =>\n selectableItems\n .filter(filterFn ? filterFn : getDefaultItemFilter(inputValue))\n .sort((a, b) => itemSortOrderData[a.id] - itemSortOrderData[b.id]),\n [selectableItems, itemSortOrderData, filterFn, inputValue]\n )\n\n const allItemsToRender = useMemo(\n () => [\n // sorted and filtered selectable items\n ...sortedAndFilteredItemsToRender,\n\n // menu item used for creating a token from whatever is in the text input\n ...(addNewItem\n ? [\n {\n ...addNewItem,\n leadingVisual: () => <PlusIcon />,\n onAction: (item: T) => {\n // TODO: make it possible to pass a leadingVisual when using `addNewItem`\n addNewItem.handleAddItem({...item, id: item.id || uniqueId(), leadingVisual: undefined})\n\n if (selectionVariant === 'multiple') {\n setInputValue('')\n setAutocompleteSuggestion('')\n }\n }\n }\n ]\n : [])\n ],\n [sortedAndFilteredItemsToRender, addNewItem, setAutocompleteSuggestion, selectionVariant, setInputValue]\n )\n\n useFocusZone(\n {\n containerRef: listContainerRef,\n focusOutBehavior: 'wrap',\n focusableElementFilter: element => {\n return !(element instanceof HTMLInputElement)\n },\n activeDescendantFocus: inputRef,\n onActiveDescendantChanged: (current, _previous, directlyActivated) => {\n activeDescendantRef.current = current || null\n if (current) {\n const selectedItem = selectableItems.find(item => item.id.toString() === current.getAttribute('data-id'))\n\n setHighlightedItem(selectedItem)\n setIsMenuDirectlyActivated(directlyActivated)\n }\n\n if (current && customScrollContainerRef && customScrollContainerRef.current && directlyActivated) {\n scrollIntoViewingArea(current, customScrollContainerRef.current)\n } else if (current && scrollContainerRef.current && directlyActivated) {\n scrollIntoViewingArea(current, scrollContainerRef.current)\n }\n }\n },\n [loading]\n )\n\n useEffect(() => {\n if (highlightedItem?.text?.startsWith(inputValue) && !selectedItemIds.includes(highlightedItem.id)) {\n setAutocompleteSuggestion(highlightedItem.text)\n } else {\n setAutocompleteSuggestion('')\n }\n }, [highlightedItem, inputValue, selectedItemIds, setAutocompleteSuggestion])\n\n useEffect(() => {\n const itemIdSortResult = [...sortedItemIds].sort(\n sortOnCloseFn ? sortOnCloseFn : getDefaultSortFn(itemId => isItemSelected(itemId, selectedItemIds))\n )\n const sortResultMatchesState =\n itemIdSortResult.length === sortedItemIds.length &&\n itemIdSortResult.every((element, index) => element === sortedItemIds[index])\n\n if (showMenu === false && !sortResultMatchesState) {\n setSortedItemIds(itemIdSortResult)\n }\n\n onOpenChange && onOpenChange(Boolean(showMenu))\n }, [showMenu, onOpenChange, selectedItemIds, sortOnCloseFn, sortedItemIds])\n\n useEffect(() => {\n if (selectedItemIds.length) {\n setSelectedItemLength(selectedItemIds.length)\n }\n }, [selectedItemIds, setSelectedItemLength])\n\n return (\n <Box\n sx={\n !showMenu\n ? {\n // visually hides this label for sighted users\n position: 'absolute',\n width: '1px',\n height: '1px',\n padding: '0',\n margin: '-1px',\n overflow: 'hidden',\n clip: 'rect(0, 0, 0, 0)',\n whiteSpace: 'nowrap',\n borderWidth: '0'\n }\n : {}\n }\n >\n {loading ? (\n <Box p={3} display=\"flex\" justifyContent=\"center\">\n <Spinner />\n </Box>\n ) : (\n <div ref={listContainerRef}>\n {allItemsToRender.length ? (\n <ActionList\n selectionVariant=\"multiple\"\n // have to typecast to `ItemProps` because we have an extra property\n // on `items` for Autocomplete: `metadata`\n items={allItemsToRender as ItemProps[]}\n role=\"listbox\"\n id={`${id}-listbox`}\n aria-labelledby={ariaLabelledBy}\n />\n ) : (\n <Box p={3}>{emptyStateText}</Box>\n )}\n </div>\n )}\n </Box>\n )\n}\n\nAutocompleteMenu.defaultProps = {\n emptyStateText: 'No selectable options',\n selectionVariant: 'single'\n}\n\nAutocompleteMenu.displayName = 'AutocompleteMenu'\n\nexport type AutocompleteMenuProps = ComponentProps<typeof AutocompleteMenu>\nexport default AutocompleteMenu\n","import React, {useCallback, useContext} from 'react'\nimport {useAnchoredPosition} from '../hooks'\nimport Overlay, {OverlayProps} from '../Overlay'\nimport {ComponentProps} from '../utils/types'\nimport {AutocompleteContext} from './AutocompleteContext'\nimport {useCombinedRefs} from '../hooks/useCombinedRefs'\n\ntype AutocompleteOverlayInternalProps = {\n /**\n * The ref of the element that the position of the menu is based on. By default, the menu is positioned based on the text input\n */\n menuAnchorRef?: React.RefObject<HTMLElement>\n /**\n * Props to be spread on the internal `Overlay` component.\n */\n overlayProps?: Partial<OverlayProps>\n children?: React.ReactNode\n} & Pick<React.AriaAttributes, 'aria-labelledby'> // TODO: consider making 'aria-labelledby' required\n\nfunction AutocompleteOverlay({menuAnchorRef, overlayProps, children}: AutocompleteOverlayInternalProps) {\n const autocompleteContext = useContext(AutocompleteContext)\n if (autocompleteContext === null) {\n throw new Error('AutocompleteContext returned null values')\n }\n const {inputRef, scrollContainerRef, selectedItemLength, setShowMenu, showMenu = false} = autocompleteContext\n const {floatingElementRef, position} = useAnchoredPosition(\n {\n side: 'outside-bottom',\n align: 'start',\n anchorElementRef: menuAnchorRef ? menuAnchorRef : inputRef\n },\n [showMenu, selectedItemLength]\n )\n\n const combinedOverlayRef = useCombinedRefs(scrollContainerRef, floatingElementRef)\n\n const closeOptionList = useCallback(() => {\n setShowMenu(false)\n }, [setShowMenu])\n\n if (typeof window === 'undefined') {\n return null\n }\n\n return (\n <Overlay\n returnFocusRef={inputRef}\n preventFocusOnOpen={true}\n onClickOutside={closeOptionList}\n onEscape={closeOptionList}\n ref={combinedOverlayRef as React.RefObject<HTMLDivElement>}\n top={position?.top}\n left={position?.left}\n visibility={showMenu ? 'visible' : 'hidden'}\n sx={{\n overflow: 'auto'\n }}\n {...overlayProps}\n >\n {children}\n </Overlay>\n )\n}\n\nAutocompleteOverlay.displayName = 'AutocompleteOverlay'\n\nexport type AutocompleteOverlayProps = ComponentProps<typeof AutocompleteOverlay>\nexport default AutocompleteOverlay\n","import React, {useCallback, useReducer, useRef} from 'react'\nimport {useSSRSafeId} from '@react-aria/ssr'\nimport {ComponentProps} from '../utils/types'\nimport {AutocompleteContext} from './AutocompleteContext'\nimport AutocompleteInput from './AutocompleteInput'\nimport AutocompleteMenu from './AutocompleteMenu'\nimport AutocompleteOverlay from './AutocompleteOverlay'\n\ntype Action =\n | {type: 'showMenu' | 'isMenuDirectlyActivated'; payload: boolean}\n | {type: 'autocompleteSuggestion' | 'inputValue'; payload: string}\n | {type: 'selectedItemLength'; payload: number}\n\ninterface State {\n inputValue: string\n showMenu: boolean\n isMenuDirectlyActivated: boolean\n autocompleteSuggestion: string\n selectedItemLength: number\n}\n\nconst initialState = {\n inputValue: '',\n showMenu: false,\n isMenuDirectlyActivated: false,\n autocompleteSuggestion: '',\n selectedItemLength: 0\n}\n\nconst reducer = (state: State, action: Action) => {\n const {type, payload} = action\n switch (type) {\n case 'inputValue':\n return {...state, inputValue: payload as State['inputValue']}\n case 'showMenu':\n return {...state, showMenu: payload as State['showMenu']}\n case 'isMenuDirectlyActivated':\n return {...state, isMenuDirectlyActivated: payload as State['isMenuDirectlyActivated']}\n case 'autocompleteSuggestion':\n return {...state, autocompleteSuggestion: payload as State['autocompleteSuggestion']}\n case 'selectedItemLength':\n return {...state, selectedItemLength: payload as State['selectedItemLength']}\n default:\n return state\n }\n}\n\nconst Autocomplete: React.FC<{id?: string}> = ({children, id: idProp}) => {\n const activeDescendantRef = useRef<HTMLElement>(null)\n const scrollContainerRef = useRef<HTMLDivElement>(null)\n const inputRef = useRef<HTMLInputElement>(null)\n const [state, dispatch] = useReducer(reducer, initialState)\n const {inputValue, showMenu, autocompleteSuggestion, isMenuDirectlyActivated, selectedItemLength} = state\n const setInputValue = useCallback((value: State['inputValue']) => {\n dispatch({type: 'inputValue', payload: value})\n }, [])\n const setShowMenu = useCallback((value: State['showMenu']) => {\n dispatch({type: 'showMenu', payload: value})\n }, [])\n const setAutocompleteSuggestion = useCallback((value: State['autocompleteSuggestion']) => {\n dispatch({type: 'autocompleteSuggestion', payload: value})\n }, [])\n const setIsMenuDirectlyActivated = useCallback((value: State['isMenuDirectlyActivated']) => {\n dispatch({type: 'isMenuDirectlyActivated', payload: value})\n }, [])\n const setSelectedItemLength = useCallback((value: State['selectedItemLength']) => {\n dispatch({type: 'selectedItemLength', payload: value})\n }, [])\n const id = useSSRSafeId(idProp)\n\n return (\n <AutocompleteContext.Provider\n value={{\n activeDescendantRef,\n autocompleteSuggestion,\n id,\n inputRef,\n inputValue,\n isMenuDirectlyActivated,\n scrollContainerRef,\n selectedItemLength,\n setAutocompleteSuggestion,\n setInputValue,\n setIsMenuDirectlyActivated,\n setShowMenu,\n setSelectedItemLength,\n showMenu\n }}\n >\n {children}\n </AutocompleteContext.Provider>\n )\n}\n\nexport type AutocompleteProps = ComponentProps<typeof Autocomplete>\nexport type {AutocompleteInputProps} from './AutocompleteInput'\nexport type {AutocompleteMenuProps} from './AutocompleteMenu'\nexport type {AutocompleteOverlayProps} from './AutocompleteOverlay'\nexport default Object.assign(Autocomplete, {\n Input: AutocompleteInput,\n Menu: AutocompleteMenu,\n Overlay: AutocompleteOverlay\n})\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 ? (\n React.cloneElement(child, {size: 40})\n ) : (\n <ChildAvatar bg=\"canvas.default\" {...child.props} size={20} />\n )\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","import classnames from 'classnames'\nimport React from 'react'\nimport styled from 'styled-components'\nimport {get} from './constants'\nimport {Box} from '.'\nimport sx, {SxProp} from './sx'\n\ntype StyledAvatarStackWrapperProps = {\n count?: number\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.canvas.default')};\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.canvas.default')};\n &:first-child {\n margin-left: 0;\n }\n }\n }\n\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 children: React.ReactNode\n} & SxProp\n\nconst AvatarStack = ({children, alignRight, sx: sxProp}: 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} sx={sxProp}>\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.fg.muted')};\n background-color: ${get('colors.accent.subtle')};\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 {get} 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.fg.muted')};\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 BreadcrumbsBase = styled.nav<SxProp>`\n display: flex;\n justify-content: space-between;\n ${sx};\n`\n\nexport type BreadcrumbsProps = React.PropsWithChildren<\n {\n className?: string\n } & SxProp\n>\n\nfunction Breadcrumbs({className, children, sx: sxProp}: React.PropsWithChildren<BreadcrumbsProps>) {\n const wrappedChildren = React.Children.map(children, child => <Wrapper>{child}</Wrapper>)\n return (\n <BreadcrumbsBase className={className} aria-label=\"Breadcrumbs\" sx={sxProp}>\n <Box as=\"ol\" my={0} pl={0}>\n {wrappedChildren}\n </Box>\n </BreadcrumbsBase>\n )\n}\n\ntype StyledBreadcrumbsItemProps = {\n to?: History.LocationDescriptor\n selected?: boolean\n} & SxProp\n\nconst BreadcrumbsItem = styled.a.attrs<StyledBreadcrumbsItemProps>(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}))<StyledBreadcrumbsItemProps>`\n color: ${get('colors.accent.fg')};\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.fg.default')};\n pointer-events: none;\n }\n ${sx};\n`\n\nBreadcrumbs.displayName = 'Breadcrumbs'\n\nBreadcrumbsItem.displayName = 'Breadcrumbs.Item'\n\nexport type BreadcrumbsItemProps = ComponentProps<typeof BreadcrumbsItem>\nexport default Object.assign(Breadcrumbs, {Item: BreadcrumbsItem})\n\n/**\n * @deprecated Use the `Breadcrumbs` component instead (i.e. `<Breadcrumb>` → `<Breadcrumbs>`)\n */\nexport const Breadcrumb = Object.assign(Breadcrumbs, {Item: BreadcrumbsItem})\n\n/**\n * @deprecated Use the `BreadcrumbsProps` type instead\n */\nexport type BreadcrumbProps = ComponentProps<typeof BreadcrumbsBase>\n\n/**\n * @deprecated Use the `BreadcrumbsItemProps` type instead\n */\nexport type BreadcrumbItemProps = ComponentProps<typeof BreadcrumbsItem>\n","import React, {forwardRef} from 'react'\nimport Box from '../Box'\nimport styled from 'styled-components'\nimport sx, {merge, SxProp} from '../sx'\nimport {useTheme, Theme} from '../ThemeProvider'\nimport {VariantType, ButtonProps} from './types'\n\nconst TEXT_ROW_HEIGHT = '20px' // custom value off the scale\n\nconst getVariantStyles = (variant: VariantType = 'default', theme?: Theme) => {\n const style = {\n default: {\n color: 'btn.text',\n backgroundColor: 'btn.bg',\n boxShadow: `${theme?.shadows.btn.shadow}, ${theme?.shadows.btn.insetShadow}`,\n '&:hover:not([disabled])': {\n backgroundColor: 'btn.hoverBg'\n },\n // focus must come before :active so that the active box shadow overrides\n '&:focus:not([disabled])': {\n boxShadow: `${theme?.shadows.btn.focusShadow}`\n },\n '&:active:not([disabled])': {\n backgroundColor: 'btn.selectedBg',\n boxShadow: `${theme?.shadows.btn.shadowActive}`\n },\n '&:disabled': {\n color: 'primer.fg.disabled',\n backgroundColor: 'btn.disabledBg'\n }\n },\n primary: {\n color: 'btn.primary.text',\n backgroundColor: 'btn.primary.bg',\n borderColor: 'border.subtle',\n boxShadow: `${theme?.shadows.btn.primary.shadow}`,\n '&:hover:not([disabled])': {\n color: 'btn.primary.hoverText',\n backgroundColor: 'btn.primary.hoverBg'\n },\n // focus must come before :active so that the active box shadow overrides\n '&:focus:not([disabled])': {\n boxShadow: `${theme?.shadows.btn.primary.focusShadow}`\n },\n '&:active:not([disabled])': {\n backgroundColor: 'btn.primary.selectedBg',\n boxShadow: `${theme?.shadows.btn.primary.selectedShadow}`\n },\n '&:disabled': {\n color: 'btn.primary.disabledText',\n backgroundColor: 'btn.primary.disabledBg'\n },\n '[data-component=\"ButtonCounter\"]': {\n backgroundColor: 'btn.primary.counterBg',\n color: 'btn.primary.text'\n }\n },\n danger: {\n color: 'btn.danger.text',\n backgroundColor: 'btn.bg',\n boxShadow: `${theme?.shadows.btn.shadow}`,\n '&:hover:not([disabled])': {\n color: 'btn.danger.hoverText',\n backgroundColor: 'btn.danger.hoverBg',\n borderColor: 'btn.danger.hoverBorder',\n boxShadow: `${theme?.shadows.btn.danger.hoverShadow}`,\n '[data-component=\"ButtonCounter\"]': {\n backgroundColor: 'btn.danger.hoverCounterBg',\n color: 'btn.danger.hoverText'\n }\n },\n // focus must come before :active so that the active box shadow overrides\n '&:focus:not([disabled])': {\n borderColor: 'btn.danger.focusBorder',\n boxShadow: `${theme?.shadows.btn.danger.focusShadow}`\n },\n '&:active:not([disabled])': {\n color: 'btn.danger.selectedText',\n backgroundColor: 'btn.danger.selectedBg',\n boxShadow: `${theme?.shadows.btn.danger.selectedShadow}`,\n borderColor: 'btn.danger.selectedBorder'\n },\n '&:disabled': {\n color: 'btn.danger.disabledText',\n backgroundColor: 'btn.danger.disabledBg',\n borderColor: 'btn.danger.disabledBorder',\n '[data-component=\"ButtonCounter\"]': {\n backgroundColor: 'btn.danger.disabledCounterBg'\n }\n },\n '[data-component=\"ButtonCounter\"]': {\n color: 'btn.danger.text',\n backgroundColor: 'btn.danger.counterBg'\n }\n },\n invisible: {\n color: 'accent.fg',\n backgroundColor: 'transparent',\n border: '0',\n boxShadow: 'none',\n '&:hover:not([disabled])': {\n backgroundColor: 'btn.hoverBg'\n },\n // focus must come before :active so that the active box shadow overrides\n '&:focus:not([disabled])': {\n boxShadow: `${theme?.shadows.btn.focusShadow}`\n },\n '&:active:not([disabled])': {\n backgroundColor: 'btn.selectedBg'\n },\n '&:disabled': {\n color: 'primer.fg.disabled'\n }\n },\n outline: {\n color: 'btn.outline.text',\n boxShadow: `${theme?.shadows.btn.shadow}`,\n\n '&:hover': {\n color: 'btn.outline.hoverText',\n backgroundColor: 'btn.outline.hoverBg',\n borderColor: 'outline.hoverBorder',\n boxShadow: `${theme?.shadows.btn.outline.hoverShadow}`,\n '[data-component=\"ButtonCounter\"]': {\n backgroundColor: 'btn.outline.hoverCounterBg',\n color: 'btn.outline.hoverText'\n }\n },\n // focus must come before :active so that the active box shadow overrides\n '&:focus': {\n borderColor: 'btn.outline.focusBorder',\n boxShadow: `${theme?.shadows.btn.outline.focusShadow}`\n },\n\n '&:active:not([disabled])': {\n color: 'btn.outline.selectedText',\n backgroundColor: 'btn.outline.selectedBg',\n boxShadow: `${theme?.shadows.btn.outline.selectedShadow}`,\n borderColor: 'btn.outline.selectedBorder'\n },\n\n '&:disabled': {\n color: 'btn.outline.disabledText',\n backgroundColor: 'btn.outline.disabledBg',\n borderColor: 'btn.border',\n '[data-component=\"ButtonCounter\"]': {\n backgroundColor: 'btn.outline.disabledCounterBg'\n }\n },\n '[data-component=\"ButtonCounter\"]': {\n backgroundColor: 'btn.outline.counterBg',\n color: 'btn.outline.text'\n }\n }\n }\n return style[variant]\n}\n\nconst getSizeStyles = (size = 'medium', variant: VariantType = 'default', iconOnly: boolean) => {\n let paddingY, paddingX, fontSize\n switch (size) {\n case 'small':\n paddingY = 3\n paddingX = 12\n fontSize = 0\n break\n case 'large':\n paddingY = 9\n paddingX = 20\n fontSize = 2\n break\n case 'medium':\n default:\n paddingY = 5\n paddingX = 16\n fontSize = 1\n }\n if (iconOnly) {\n paddingX = paddingY + 2\n }\n if (variant === 'invisible') {\n paddingY = paddingY + 1\n }\n return {\n paddingY: `${paddingY}px`,\n paddingX: `${paddingX}px`,\n fontSize,\n '[data-component=\"ButtonCounter\"]': {\n fontSize\n }\n }\n}\n\nconst ButtonBase = styled.button<SxProp>(sx)\n\nconst Button = forwardRef<HTMLButtonElement, ButtonProps>(\n ({children, sx: sxProp = {}, ...props}, forwardedRef): JSX.Element => {\n const {\n icon: Icon,\n leadingIcon: LeadingIcon,\n trailingIcon: TrailingIcon,\n variant = 'default',\n size = 'medium'\n } = props\n const iconOnly = !!Icon\n const {theme} = useTheme()\n\n const styles = {\n borderRadius: '2',\n border: '1px solid',\n borderColor: theme?.colors.btn.border,\n display: 'grid',\n gridTemplateAreas: '\"leadingIcon text trailingIcon\"',\n fontWeight: 'bold',\n lineHeight: TEXT_ROW_HEIGHT,\n whiteSpace: 'nowrap',\n verticalAlign: 'middle',\n cursor: 'pointer',\n appearance: 'none',\n userSelect: 'none',\n textDecoration: 'none',\n textAlign: 'center',\n '& > :not(:last-child)': {\n mr: '2'\n },\n '&:focus': {\n outline: 'none'\n },\n '&:disabled': {\n cursor: 'default'\n },\n '&:disabled svg': {\n opacity: '0.6'\n },\n '[data-component=\"leadingIcon\"]': {\n gridArea: 'leadingIcon'\n },\n '[data-component=\"text\"]': {\n gridArea: 'text'\n },\n '[data-component=\"trailingIcon\"]': {\n gridArea: 'trailingIcon'\n }\n }\n const iconWrapStyles = {\n display: 'inline-block'\n }\n const sxStyles = merge.all([\n styles,\n getSizeStyles(size, variant, iconOnly),\n getVariantStyles(variant, theme),\n sxProp as SxProp\n ])\n return (\n <ButtonBase sx={sxStyles} ref={forwardedRef} {...props}>\n {LeadingIcon && (\n <Box as=\"span\" data-component=\"leadingIcon\" sx={iconWrapStyles} aria-hidden={!iconOnly}>\n <LeadingIcon />\n </Box>\n )}\n <span data-component=\"text\" hidden={Icon ? true : false}>\n {children}\n </span>\n {Icon && (\n <Box data-component=\"icon-only\" as=\"span\" sx={{display: 'inline-block'}} aria-hidden={!iconOnly}>\n <Icon />\n </Box>\n )}\n {TrailingIcon && (\n <Box as=\"span\" data-component=\"trailingIcon\" sx={{...iconWrapStyles, ml: 2}} aria-hidden={!iconOnly}>\n <TrailingIcon />\n </Box>\n )}\n </ButtonBase>\n )\n }\n)\n\nButton.displayName = 'Button'\n\nObject.assign(Button, {})\n\nexport {Button}\n","import styled from 'styled-components'\nimport {get} from './constants'\nimport sx, {SxProp} from './sx'\nimport {ComponentProps} from './utils/types'\n\ntype StyledCounterLabelProps = {\n scheme?: 'primary' | 'secondary'\n} & SxProp\n\nconst colorStyles = ({scheme, ...props}: StyledCounterLabelProps) => {\n return {\n color:\n scheme === 'secondary'\n ? get('colors.fg.default')(props)\n : scheme === 'primary'\n ? get('colors.fg.onEmphasis')(props)\n : get('colors.fg.default')(props)\n }\n}\n\nconst bgStyles = ({scheme, ...props}: StyledCounterLabelProps) => {\n return {\n backgroundColor:\n scheme === 'secondary'\n ? get('colors.neutral.muted')(props)\n : scheme === 'primary'\n ? get('colors.neutral.emphasis')(props)\n : get('colors.neutral.muted')(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\n &:empty {\n display: none;\n }\n\n ${sx};\n`\n\nexport type CounterLabelProps = ComponentProps<typeof CounterLabel>\nexport default CounterLabel\n","import React from 'react'\nimport {SxProp} from '../sx'\nimport CounterLabel from '../CounterLabel'\n\nexport type CounterProps = {\n children: number\n} & SxProp\n\nexport const Counter = ({children, sx: sxProp = {}, ...props}: CounterProps) => {\n return (\n <CounterLabel data-component=\"ButtonCounter\" sx={{ml: 2, ...sxProp}} {...props}>\n {children}\n </CounterLabel>\n )\n}\n","import {Button} from './button'\nimport {Counter} from './button-counter'\nimport {ButtonProps} from './types'\n// change this when moving to released state\n\nexport type {ButtonProps as NewButtonProps}\n\nexport const NewButton = Object.assign(Button, {\n Counter\n})\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: 'canvas.default',\n borderColor: 'border.default',\n borderWidth: 1\n}\n\nexport default Caret\n","import styled from 'styled-components'\nimport {get} 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} & 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.canvas.default')};\n border-radius: 50%;\n box-shadow: ${get('shadows.shadow.medium')};\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.default\"\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, 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 {get} 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} & 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.canvas.default')};\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 ${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.default')};\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=\"fg.default\" 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.primer.canvas.backdrop')};\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: 'canvas.subtle'\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.default')(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.default')(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.default')(theme)};\n }\n\n &::after {\n top: 11px;\n left: -14px;\n border-color: transparent;\n border-right-color: ${get('colors.border.default')(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.default')(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.default')(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 {get} 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<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 ${sx};\n`\n\ntype StyledDropdownMenuProps = {\n direction?: 'ne' | 'e' | 'se' | 's' | 'sw' | 'w'\n} & SxProp\n\nconst DropdownMenu = styled.ul<StyledDropdownMenuProps>`\n background-clip: padding-box;\n background-color: ${get('colors.canvas.overlay')};\n border: 1px solid ${get('colors.border.default')};\n border-radius: ${get('radii.2')};\n box-shadow: ${get('shadows.shadow.large')};\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.canvas.overlay')};\n }\n\n &::after {\n border: 7px solid transparent;\n border-bottom-color: ${get('colors.canvas.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 ${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.fg.default')};\n text-overflow: ellipsis;\n white-space: nowrap;\n a {\n color: ${get('colors.fg.default')};\n text-decoration: none;\n display: block;\n overflow: hidden;\n color: ${get('colors.fg.default')};\n text-overflow: ellipsis;\n white-space: nowrap;\n }\n\n &:focus,\n a:focus {\n color: ${get('colors.fg.onEmphasis')};\n text-decoration: none;\n background-color: ${get('colors.accent.emphasis')};\n }\n\n &:hover,\n &:hover a {\n color: ${get('colors.fg.onEmphasis')};\n text-decoration: none;\n background-color: ${get('colors.accent.emphasis')};\n outline: none;\n }\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} sx={{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 {get} from './constants'\nimport sx, {SxProp} from './sx'\nimport {ComponentProps} from './utils/types'\n\nconst FilteredSearch = styled.div<SxProp>`\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 {get} from './constants'\nimport sx, {SxProp} from './sx'\nimport {ComponentProps} from './utils/types'\n\nconst FilterListBase = styled.ul<SxProp>`\n list-style-type: none;\n margin: 0;\n padding: 0;\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} & 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.fg.onEmphasis') : get('colors.fg.muted'))};\n background-color: ${props => (props.selected ? get('colors.accent.emphasis') : '')}!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.canvas.subtle')};\n }\n &:active {\n color: ${get('colors.fg.onEmphasis')};\n background-color: ${get('colors.accent.emphasis')};\n }\n .count {\n float: right;\n font-weight: ${get('fontWeights.bold')};\n }\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\nFilterListItem.displayName = 'FilterList.Item'\n\nexport default Object.assign(FilterList, {Item: FilterListItem})\n","import styled from 'styled-components'\nimport {variant} from 'styled-system'\nimport {get} from './constants'\nimport sx, {SxProp} from './sx'\nimport {ComponentProps} from './utils/types'\n\nconst variants = variant({\n variants: {\n default: {\n color: 'fg.default',\n backgroundColor: 'accent.subtle',\n borderColor: 'accent.muted',\n svg: {\n color: 'accent.fg'\n }\n },\n success: {\n color: 'fg.default',\n backgroundColor: 'success.subtle',\n borderColor: 'success.muted',\n svg: {\n color: 'success.fg'\n }\n },\n danger: {\n color: 'fg.default',\n backgroundColor: 'danger.subtle',\n borderColor: 'danger.muted',\n svg: {\n color: 'danger.fg'\n }\n },\n warning: {\n color: 'fg.default',\n backgroundColor: 'attention.subtle',\n borderColor: 'attention.muted',\n svg: {\n color: 'attention.fg'\n }\n }\n }\n})\n\nconst Flash = styled.div<\n {\n variant?: 'default' | 'warning' | 'success' | 'danger'\n full?: boolean\n } & SxProp\n>`\n position: relative;\n color: ${get('colors.fg.default')};\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 ${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 {get} from './constants'\nimport sx, {SxProp} from './sx'\nimport {ComponentProps} from './utils/types'\n\nconst FormGroup = styled.div<SxProp>`\n margin: ${get('space.3')} 0;\n font-weight: ${get('fontWeights.normal')};\n ${sx};\n`\n\nconst FormGroupLabel = styled.label<SxProp>`\n display: block;\n margin: 0 0 ${get('space.2')};\n font-size: ${get('fontSizes.1')};\n font-weight: ${get('fontWeights.bold')};\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 {get} from './constants'\nimport sx, {SxProp} from './sx'\nimport {ComponentProps} from './utils/types'\n\ntype StyledHeaderItemProps = {full?: boolean} & SxProp\ntype StyledHeaderProps = SxProp\ntype StyledHeaderLinkProps = {to?: History.LocationDescriptor} & SxProp\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 ${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 ${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 ${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 {get} from './constants'\nimport sx, {SxProp} from './sx'\nimport {ComponentProps} from './utils/types'\n\nconst LabelGroup = styled.span<SxProp>`\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 {get} 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.fg.muted')};\n border: ${get('borderWidths.1')} solid ${get('colors.border.default')};\n box-shadow: none;\n ${borderColor};\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 SxProp\n>`\n display: inline-block;\n font-weight: ${get('fontWeights.semibold')};\n color: ${get('colors.fg.onEmphasis')};\n border-radius: ${get('radii.3')};\n background-color: ${get('colors.neutral.emphasis')};\n\n &:hover {\n text-decoration: none;\n }\n\n ${sizeVariant}\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 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 {get} 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} & SxProp\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.fg.muted')(props) : get('colors.accent.fg')(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.accent.fg')(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 ${sx};\n`\n\nexport type LinkProps = ComponentProps<typeof Link>\nexport default Link\n","import styled from 'styled-components'\nimport {get} from './constants'\nimport sx, {SxProp} from './sx'\nimport {ComponentProps} from './utils/types'\n\nconst Pagehead = styled.div<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.default')};\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 {get} from '../constants'\nimport sx, {SxProp} 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.fg.default')};\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.default')};\n outline: 0;\n transition-duration: 0.1s;\n }\n\n &:active {\n border-color: ${get('colors.border.muted')};\n }\n\n &[rel='prev'],\n &[rel='next'] {\n color: ${get('colors.accent.fg')};\n }\n\n &[aria-current],\n &[aria-current]:hover {\n color: ${get('colors.fg.onEmphasis')};\n background-color: ${get('colors.accent.emphasis')};\n border-color: transparent;\n }\n\n &[aria-disabled],\n &[aria-disabled]:hover {\n color: ${get('colors.primer.fg.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\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<SxProp>`\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 {get} 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} & 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 ${sx};\n`\n\nconst PopoverContent = styled.div<SxProp>`\n border: 1px solid ${get('colors.border.default')};\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.canvas.overlay')};\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.default')};\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.canvas.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.default')};\n }\n\n &::after {\n bottom: -14px;\n // stylelint-disable-next-line primer/borders\n border-top-color: ${get('colors.canvas.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.default')};\n }\n\n &::after {\n right: -14px;\n // stylelint-disable-next-line primer/borders\n border-left-color: ${get('colors.canvas.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.default')};\n }\n\n &::after {\n left: -14px;\n // stylelint-disable-next-line primer/borders\n border-right-color: ${get('colors.canvas.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.default')};\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: 'success.emphasis',\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 {get} 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.fg.muted')};\n background-color: ${get('colors.canvas.subtle')};\n border-bottom: ${get('borderWidths.1')} solid ${get('colors.border.muted')};\n`\n\nconst SelectMenuDivider = styled.div<SxProp>`\n ${dividerStyles}\n ${sx};\n`\n\nSelectMenuDivider.displayName = 'SelectMenu.Divider'\n\nexport type SelectMenuDividerProps = ComponentProps<typeof SelectMenuDivider>\nexport default SelectMenuDivider\n","import React, {forwardRef, useContext, useEffect, useRef} from 'react'\nimport styled from 'styled-components'\nimport {get} 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<SxProp>`\n padding: ${get('space.3')};\n margin: 0;\n border-bottom: ${get('borderWidths.1')} solid ${get('colors.border.muted')};\n background-color: ${get('colors.canvas.overlay')};\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 {get} 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.fg.muted')};\n text-align: center;\n border-top: ${get('borderWidths.1')} solid ${get('colors.border.muted')};\n\n @media (min-width: ${get('breakpoints.0')}) {\n padding: ${get('space.1')} ${get('space.2')};\n }\n`\n\nconst SelectMenuFooter = styled.footer<SxProp>`\n ${footerStyles}\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 {get} 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.fg.default')};\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<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.border.muted')};\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 {get} 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.canvas.overlay')};\n border: 0;\n border-bottom: ${get('borderWidths.1')} solid ${get('colors.border.muted')};\n color: ${get('colors.fg.muted')};\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.fg.default')};\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.neutral.subtle')};\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.canvas.subtle')};\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}))<SxProp>`\n ${listItemStyles}\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 {get} 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.canvas.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.fg.default')};\n background-color: ${get('colors.canvas.subtle')};\n }\n\n .SelectMenuTab:not([aria-checked='true']):active {\n color: ${get('colors.fg.default')};\n background-color: ${get('colors.canvas.subtle')};\n }\n }\n`\n\nconst SelectMenuList = styled.div<SxProp>`\n ${listStyles}\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 {get} from '../constants'\nimport Spinner from '../Spinner'\nimport sx, {SxProp} from '../sx'\nimport {ComponentProps} from '../utils/types'\n\nconst Animation = styled.div<SxProp>`\n padding: ${get('space.6')} ${get('space.4')};\n text-align: center;\n background-color: ${get('colors.canvas.overlay')};\n ${sx}\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 {get} 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} & 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.canvas.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.default')};\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.primer.canvas.backdrop')};\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 ${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 {get} 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.fg.muted')};\n text-align: center;\n background-color: transparent;\n border: 0;\n box-shadow: inset 0 -1px 0 ${get('colors.border.muted')};\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.canvas.overlay')};\n box-shadow: 0 0 0 1px ${get('colors.border.muted')};\n\n @media (min-width: ${get('breakpoints.0')}) {\n border-color: ${get('colors.border.muted')};\n box-shadow: none;\n }\n }\n\n &:focus {\n background-color: ${get('colors.neutral.subtle')};\n }\n`\n\nconst StyledTab = styled.button<SxProp>`\n ${tabStyles}\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 {get} 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<SxProp>`\n border-top: ${get('borderWidths.1')} solid ${get('colors.border.muted')};\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 {get} 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<SxProp>`\n ${tabWrapperStyles}\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 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<SxProp>`\n ${wrapperStyles}\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 {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, {SxProp} from './sx'\n\ntype SideNavBaseProps = {\n variant?: 'lightweight' | 'normal'\n bordered?: boolean\n className?: string\n children?: React.ReactNode\n 'aria-label'?: string\n}\n\nfunction SideNavBase({variant, className, bordered, children, 'aria-label': ariaLabel}: SideNavBaseProps) {\n const variantClassName = variant === 'lightweight' ? 'lightweight' : 'normal'\n const newClassName = classnames(className, `variant-${variantClassName}`)\n\n return (\n <Box\n borderWidth={bordered ? '1px' : 0}\n borderStyle=\"solid\"\n borderColor=\"border.default\"\n borderRadius={2}\n as=\"nav\"\n className={newClassName}\n aria-label={ariaLabel}\n >\n {children}\n </Box>\n )\n}\n\nconst SideNav = styled(SideNavBase)<SxProp>`\n background-color: ${get('colors.canvas.subtle')};\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 ${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.neutral.subtle')};\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.fg.default')};\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 & SxProp>`\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.fg.default')};\n padding: ${get('space.3')};\n border: 0;\n border-top: ${get('borderWidths.1')} solid ${get('colors.border.muted')};\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.primer.shadow.focus')};\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.primer.border.active')};\n }\n }\n }\n\n ${SideNav}.variant-lightweight > & {\n padding: ${get('space.1')} 0;\n color: ${get('colors.accent.fg')};\n\n &:hover {\n ${CommonAccessibilityVariantLightWeightStyles}\n }\n\n &:focus {\n ${CommonAccessibilityVariantLightWeightStyles}\n box-shadow: ${get('shadows.primer.shadow.focus')};\n z-index: 1;\n }\n\n &[aria-current='page'],\n &[aria-selected='true'] {\n color: ${get('colors.fg.default')};\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 {\n GitMergeIcon,\n GitPullRequestIcon,\n IssueClosedIcon,\n IssueDraftIcon,\n IssueOpenedIcon,\n QuestionIcon\n} from '@primer/octicons-react'\nimport React from 'react'\nimport styled from 'styled-components'\nimport {variant} from 'styled-system'\nimport {get} 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 issueDraft: IssueDraftIcon\n}\n\nconst colorVariants = variant({\n prop: 'status',\n variants: {\n issueClosed: {\n backgroundColor: 'danger.emphasis',\n color: 'fg.onEmphasis'\n },\n pullClosed: {\n backgroundColor: 'danger.emphasis',\n color: 'fg.onEmphasis'\n },\n pullMerged: {\n backgroundColor: 'done.emphasis',\n color: 'fg.onEmphasis'\n },\n issueOpened: {\n backgroundColor: 'success.emphasis',\n color: 'fg.onEmphasis'\n },\n pullOpened: {\n backgroundColor: 'success.emphasis',\n color: 'fg.onEmphasis'\n },\n draft: {\n backgroundColor: 'neutral.emphasis',\n color: 'fg.onEmphasis'\n },\n issueDraft: {\n backgroundColor: 'neutral.emphasis',\n color: 'fg.onEmphasis'\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} & 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.canvas.default')};\n text-align: center;\n border-radius: ${get('radii.3')};\n ${colorVariants};\n ${sizeVariants};\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 {...octiconProps} icon={octiconMap[status] || QuestionIcon} sx={{mr: 1}} />}\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 {get} from './constants'\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<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 ${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 = SxProp\n\nconst SubNavLinks = styled.div<SubNavLinksProps>`\n display: flex;\n ${sx};\n`\n\ntype StyledSubNavLinkProps = {\n to?: History.LocationDescriptor\n selected?: boolean\n} & SxProp\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.fg.default')};\n text-align: center;\n text-decoration: none;\n border-top: 1px solid ${get('colors.border.default')};\n border-bottom: 1px solid ${get('colors.border.default')};\n border-right: 1px solid ${get('colors.border.default')};\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.default')};\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.canvas.subtle')};\n transition: 0.2s ease;\n\n .SubNav-octicon {\n color: ${get('colors.fg.muted')};\n }\n }\n\n &.selected {\n color: ${get('colors.fg.onEmphasis')};\n background-color: ${get('colors.accent.emphasis')};\n border-color: ${get('colors.accent.emphasis')};\n .SubNav-octicon {\n color: ${get('colors.fg.onEmphasis')};\n }\n }\n\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 {get} 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<SxProp>`\n margin-top: 0;\n border-bottom: 1px solid ${get('colors.border.default')};\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} & SxProp\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.fg.default')};\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.fg.default')};\n text-decoration: none;\n }\n\n &.selected {\n color: ${get('colors.fg.default')};\n border-color: ${get('colors.border.default')};\n border-top-right-radius: ${get('radii.2')};\n border-top-left-radius: ${get('radii.2')};\n background-color: ${get('colors.canvas.default')};\n }\n\n ${sx};\n`\n\nTabNavLink.displayName = 'TabNav.Link'\n\nexport type TabNavLinkProps = ComponentProps<typeof TabNavLink>\nexport default Object.assign(TabNav, {Link: TabNavLink})\n","import { compose, space, typography, color, layout, flexbox, border, background, position, grid, shadow, buttonStyle, textStyle, colorStyle } from 'styled-system';\nvar all = compose(space, typography, color, layout, flexbox, border, background, position, grid, shadow, buttonStyle, textStyle, colorStyle);\nvar regex = new RegExp(\"^(\" + all.propNames.join('|') + \")$\");\nexport var omit = function omit(props) {\n var next = {};\n\n for (var key in props) {\n if (regex.test(key)) continue;\n next[key] = props[key];\n }\n\n return next;\n};\nexport var pick = function pick(props) {\n var next = {};\n\n for (var key in props) {\n if (!regex.test(key)) continue;\n next[key] = props[key];\n }\n\n return next;\n};\n","import {KeyboardEvent} from 'react'\nimport styled from 'styled-components'\nimport {variant} from 'styled-system'\nimport {get} from '../constants'\nimport sx, {SxProp} from '../sx'\n\nexport type TokenSizeKeys = 'small' | 'medium' | 'large' | 'extralarge'\n\nexport const tokenSizes: Record<TokenSizeKeys, string> = {\n small: '16px',\n medium: '20px',\n large: '24px',\n extralarge: '32px'\n}\n\nexport const defaultTokenSize: TokenSizeKeys = 'medium'\n\nexport interface TokenBaseProps\n extends Omit<React.HTMLProps<HTMLSpanElement | HTMLButtonElement | HTMLAnchorElement>, 'size' | 'id'> {\n as?: 'button' | 'a' | 'span'\n /**\n * The function that gets called when a user clicks the remove button, or keys \"Backspace\" or \"Delete\" when focused on the token\n */\n onRemove?: () => void\n /**\n * Whether the token is selected\n */\n isSelected?: boolean\n /**\n * The text label inside the token\n */\n text: string\n /**\n * A unique identifier that can be associated with the token\n */\n id?: number | string\n /**\n * Which size the token will be rendered at\n */\n size?: TokenSizeKeys\n}\n\nexport const isTokenInteractive = ({as = 'span', onClick, onFocus, tabIndex = -1}: TokenBaseProps) =>\n Boolean(onFocus || onClick || tabIndex > -1 || ['a', 'button'].includes(as))\n\nconst variants = variant<\n {\n fontSize: number\n height: string\n lineHeight: string\n paddingLeft: number\n paddingRight: number\n paddingTop: number\n paddingBottom: number\n },\n TokenSizeKeys\n>({\n prop: 'size',\n variants: {\n small: {\n fontSize: 0,\n height: tokenSizes.small,\n // without setting lineHeight to match height, the \"x\" appears vertically mis-aligned\n lineHeight: tokenSizes.small,\n paddingLeft: 1,\n paddingRight: 1,\n // need to explicitly set padding top and bottom to \"0\" to override default `<button>` element styles\n // without setting these, the \"x\" appears vertically mis-aligned\n paddingTop: 0,\n paddingBottom: 0\n },\n medium: {\n fontSize: 0,\n height: tokenSizes.medium,\n lineHeight: tokenSizes.medium,\n paddingLeft: 2,\n paddingRight: 2,\n paddingTop: 0,\n paddingBottom: 0\n },\n large: {\n fontSize: 0,\n height: tokenSizes.large,\n lineHeight: tokenSizes.large,\n paddingLeft: 2,\n paddingRight: 2,\n paddingTop: 0,\n paddingBottom: 0\n },\n extralarge: {\n fontSize: 1,\n height: tokenSizes.extralarge,\n lineHeight: tokenSizes.extralarge,\n paddingLeft: 3,\n paddingRight: 3,\n paddingTop: 0,\n paddingBottom: 0\n }\n }\n})\n\nconst TokenBase = styled.span.attrs<TokenBaseProps>(({text, onRemove, onKeyDown}) => ({\n onKeyDown: (event: KeyboardEvent<HTMLSpanElement | HTMLButtonElement | HTMLAnchorElement>) => {\n onKeyDown && onKeyDown(event)\n\n if ((event.key === 'Backspace' || event.key === 'Delete') && onRemove) {\n onRemove()\n }\n },\n 'aria-label': onRemove ? `${text}, press backspace or delete to remove` : undefined\n}))<TokenBaseProps & SxProp>`\n align-items: center;\n border-radius: 999px;\n cursor: ${props => (isTokenInteractive(props) ? 'pointer' : 'auto')};\n display: inline-flex;\n font-weight: ${get('fontWeights.bold')};\n font-family: inherit;\n text-decoration: none;\n white-space: nowrap;\n ${variants}\n ${sx}\n`\n\nTokenBase.defaultProps = {\n as: 'span',\n size: defaultTokenSize\n}\n\nexport default TokenBase\n","import React from 'react'\nimport {XIcon} from '@primer/octicons-react'\nimport styled, {css} from 'styled-components'\nimport {variant} from 'styled-system'\nimport {get} from '../constants'\nimport sx, {SxProp} from '../sx'\nimport {ComponentProps} from '../utils/types'\nimport {tokenSizes, TokenSizeKeys, defaultTokenSize} from './TokenBase'\n\ninterface TokenButtonProps {\n borderOffset?: number\n size?: TokenSizeKeys\n isParentInteractive?: boolean\n}\n\nconst variants = variant<{height: string; width: string}, TokenSizeKeys>({\n prop: 'size',\n variants: {\n small: {\n height: tokenSizes.small,\n width: tokenSizes.small\n },\n medium: {\n height: tokenSizes.medium,\n width: tokenSizes.medium\n },\n large: {\n height: tokenSizes.large,\n width: tokenSizes.large\n },\n extralarge: {\n height: tokenSizes.extralarge,\n width: tokenSizes.extralarge\n }\n }\n})\n\nconst getTokenButtonIconSize = (size?: TokenSizeKeys) => parseInt(tokenSizes[size || defaultTokenSize], 10) * 0.75\n\nconst StyledTokenButton = styled.span<TokenButtonProps & SxProp>`\n background-color: transparent;\n font-family: inherit;\n color: currentColor;\n cursor: pointer;\n display: inline-flex;\n justify-content: center;\n align-items: center;\n user-select: none;\n appearance: none;\n text-decoration: none;\n padding: 0;\n transform: ${props => `translate(${props.borderOffset}px, -${props.borderOffset}px)`};\n align-self: baseline;\n border: 0;\n border-radius: 999px;\n\n ${props => {\n switch (props.size) {\n case 'large':\n case 'extralarge':\n return css`\n margin-left: ${get('space.2')};\n `\n default:\n return css`\n margin-left: ${get('space.1')};\n `\n }\n }}\n\n &:hover,\n &:focus {\n // TODO: choose a better functional color variable for this\n background-color: ${get('colors.neutral.muted')};\n }\n\n &:active {\n // TODO: choose a better functional color variable for this\n background-color: ${get('colors.neutral.subtle')};\n }\n\n ${variants}\n ${sx}\n`\n\nconst RemoveTokenButton: React.FC<ComponentProps<typeof StyledTokenButton>> = ({\n 'aria-label': ariaLabel,\n isParentInteractive,\n size,\n ...rest\n}) => {\n delete rest.children\n\n return (\n <StyledTokenButton\n as={isParentInteractive ? 'span' : 'button'}\n tabIndex={isParentInteractive ? -1 : undefined}\n aria-label={!isParentInteractive ? 'Remove token' : ariaLabel}\n size={size}\n {...rest}\n >\n <XIcon size={getTokenButtonIconSize(size)} />\n </StyledTokenButton>\n )\n}\n\nRemoveTokenButton.defaultProps = {\n size: defaultTokenSize\n}\n\nexport default RemoveTokenButton\n","import styled from 'styled-components'\nimport {TokenBaseProps} from './TokenBase'\n\nconst TokenTextContainer = styled('span')<Partial<TokenBaseProps>>`\n flex-grow: 1;\n min-width: 0;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n\n // reset button styles, make the cursor a pointer, and add line-height\n background: transparent;\n border: none;\n color: inherit;\n font: inherit;\n margin: 0;\n overflow: visible;\n padding: 0;\n width: auto;\n -webkit-font-smoothing: inherit;\n -moz-osx-font-smoothing: inherit;\n -webkit-appearance: none;\n line-height: 1;\n\n // reset anchor styles\n color: currentColor;\n text-decoration: none;\n\n // Position psuedo-element above text content, but below the\n // remove button.\n // This ensures the <a> or <button> receives the click no\n // matter where on the token the user clicks.\n &:is(a, button, [tabIndex='0']) {\n cursor: pointer;\n\n &:after {\n content: '';\n position: absolute;\n left: 0;\n top: 0;\n right: 0;\n bottom: 0;\n }\n }\n`\n\nexport default TokenTextContainer\n","import React, {forwardRef, MouseEventHandler} from 'react'\nimport styled, {css} from 'styled-components'\nimport {get} from '../constants'\nimport sx, {SxProp} from '../sx'\nimport TokenBase, {defaultTokenSize, isTokenInteractive, TokenBaseProps} from './TokenBase'\nimport RemoveTokenButton from './_RemoveTokenButton'\nimport TokenTextContainer from './_TokenTextContainer'\n\nexport interface TokenProps extends TokenBaseProps {\n /**\n * A function that renders a component before the token text\n */\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n leadingVisual?: React.ComponentType<any>\n /**\n * Whether the remove button should be rendered in the token\n */\n hideRemoveButton?: boolean\n}\n\nconst tokenBorderWidthPx = 1\n\nconst DefaultTokenStyled = styled(TokenBase)<TokenProps & {isTokenInteractive: boolean} & SxProp>`\n background-color: ${get('colors.neutral.subtle')};\n border-color: ${props => (props.isSelected ? get('colors.fg.default') : get('colors.border.subtle'))};\n border-style: solid;\n border-width: ${tokenBorderWidthPx}px;\n color: ${props => (props.isSelected ? get('colors.fg.default') : get('colors.fg.muted'))};\n max-width: 100%;\n padding-right: ${props => (!props.hideRemoveButton ? 0 : undefined)};\n position: relative;\n ${sx}\n\n ${props => {\n if (props.isTokenInteractive) {\n return css`\n &:hover {\n background-color: ${get('colors.neutral.muted')};\n box-shadow: ${get('colors.shadow.medium')};\n color: ${get('colors.fg.default')};\n }\n `\n }\n }}\n`\n\nconst LeadingVisualContainer = styled('span')<Pick<TokenBaseProps, 'size'>>`\n flex-shrink: 0;\n line-height: 0;\n\n ${props => {\n switch (props.size) {\n case 'large':\n case 'extralarge':\n return css`\n margin-right: ${get('space.2')};\n `\n default:\n return css`\n margin-right: ${get('space.1')};\n `\n }\n }}\n`\n\nconst Token = forwardRef<HTMLAnchorElement | HTMLButtonElement | HTMLSpanElement, TokenProps & SxProp>(\n (props, forwardedRef) => {\n const {as, onRemove, id, leadingVisual: LeadingVisual, text, size, hideRemoveButton, href, onClick, ...rest} = props\n const hasMultipleActionTargets = isTokenInteractive(props) && Boolean(onRemove) && !hideRemoveButton\n const onRemoveClick: MouseEventHandler = e => {\n e.stopPropagation()\n onRemove && onRemove()\n }\n const interactiveTokenProps = {\n as,\n href,\n onClick\n }\n\n return (\n <DefaultTokenStyled\n onRemove={onRemove}\n hideRemoveButton={hideRemoveButton || !onRemove}\n id={id?.toString()}\n text={text}\n size={size}\n isTokenInteractive={isTokenInteractive(props)}\n {...(!hasMultipleActionTargets ? interactiveTokenProps : {})}\n {...rest}\n ref={forwardedRef}\n >\n {LeadingVisual ? (\n <LeadingVisualContainer size={size}>\n <LeadingVisual />\n </LeadingVisualContainer>\n ) : null}\n <TokenTextContainer {...(hasMultipleActionTargets ? interactiveTokenProps : {})}>{text}</TokenTextContainer>\n {!hideRemoveButton && onRemove ? (\n <RemoveTokenButton\n borderOffset={tokenBorderWidthPx}\n onClick={onRemoveClick}\n size={size}\n isParentInteractive={isTokenInteractive(props)}\n aria-hidden={hasMultipleActionTargets ? 'true' : 'false'}\n sx={\n hasMultipleActionTargets\n ? {\n position: 'relative',\n zIndex: '1'\n }\n : {}\n }\n />\n ) : null}\n </DefaultTokenStyled>\n )\n }\n)\n\nToken.displayName = 'Token'\n\nToken.defaultProps = {\n size: defaultTokenSize\n}\n\nexport default Token\n","import React, {FocusEventHandler, KeyboardEventHandler, MouseEventHandler, RefObject, useRef, useState} from 'react'\nimport {omit} from '@styled-system/props'\nimport {FocusKeys} from './behaviors/focusZone'\nimport {useCombinedRefs} from './hooks/useCombinedRefs'\nimport {useFocusZone} from './hooks/useFocusZone'\nimport {ComponentProps} from './utils/types'\nimport Token from './Token/Token'\nimport {TokenSizeKeys} from './Token/TokenBase'\nimport {TextInputProps} from './TextInput'\nimport {useProvidedRefOrCreate} from './hooks'\nimport UnstyledTextInput from './_UnstyledTextInput'\nimport TextInputWrapper from './_TextInputWrapper'\nimport Box from './Box'\nimport Text from './Text'\nimport {isFocusable} from './utils/iterateFocusableElements'\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\ntype AnyReactComponent = React.ComponentType<any>\n\n// NOTE: if these props or their JSDoc comments are updated, be sure to also update\n// the prop table in docs/content/TextInputTokens.mdx\ntype TextInputWithTokensInternalProps<TokenComponentType extends AnyReactComponent> = {\n /**\n * The array of tokens to render\n */\n tokens: TokenComponentType extends React.ComponentType<infer TokenProps> ? TokenProps[] : never\n /**\n * The function that gets called when a token is removed\n */\n onTokenRemove: (tokenId: string | number) => void\n /**\n * The component used to render each token\n */\n tokenComponent?: TokenComponentType\n /**\n * The maximum height of the component. If the content in the input exceeds this height,\n * it will scroll vertically\n */\n maxHeight?: React.CSSProperties['maxHeight']\n /**\n * Whether tokens should render inline horizontally. By default, tokens wrap to new lines.\n */\n preventTokenWrapping?: boolean\n /**\n * The size of the tokens\n */\n size?: TokenSizeKeys\n /**\n * Whether the remove buttons should be rendered in the tokens\n */\n hideTokenRemoveButtons?: boolean\n /**\n * The number of tokens to display before truncating\n */\n visibleTokenCount?: number\n} & TextInputProps\n\nconst overflowCountFontSizeMap: Record<TokenSizeKeys, number> = {\n small: 0,\n medium: 1,\n large: 1,\n extralarge: 2\n}\n\n// using forwardRef is important so that other components (ex. Autocomplete) can use the ref\nfunction TextInputWithTokensInnerComponent<TokenComponentType extends AnyReactComponent>(\n {\n icon: IconComponent,\n contrast,\n className,\n block,\n disabled,\n theme,\n sx: sxProp,\n tokens,\n onTokenRemove,\n tokenComponent: TokenComponent,\n preventTokenWrapping,\n size,\n hideTokenRemoveButtons,\n maxHeight,\n width: widthProp,\n minWidth: minWidthProp,\n maxWidth: maxWidthProp,\n variant: variantProp,\n visibleTokenCount,\n ...rest\n }: TextInputWithTokensInternalProps<TokenComponentType> & {\n selectedTokenIndex: number | undefined\n setSelectedTokenIndex: React.Dispatch<React.SetStateAction<number | undefined>>\n },\n externalRef: React.ForwardedRef<HTMLInputElement>\n) {\n const {onBlur, onFocus, onKeyDown, ...inputPropsRest} = omit(rest)\n const ref = useProvidedRefOrCreate<HTMLInputElement>(externalRef as React.RefObject<HTMLInputElement>)\n const localInputRef = useRef<HTMLInputElement>(null)\n const combinedInputRef = useCombinedRefs(localInputRef, ref)\n const [selectedTokenIndex, setSelectedTokenIndex] = useState<number | undefined>()\n const [tokensAreTruncated, setTokensAreTruncated] = useState<boolean>(Boolean(visibleTokenCount))\n const {containerRef} = useFocusZone(\n {\n focusOutBehavior: 'wrap',\n bindKeys: FocusKeys.ArrowHorizontal | FocusKeys.HomeAndEnd,\n focusableElementFilter: element => {\n return !element.getAttributeNames().includes('aria-hidden')\n },\n getNextFocusable: direction => {\n if (!selectedTokenIndex && selectedTokenIndex !== 0) {\n return undefined\n }\n\n let nextIndex = selectedTokenIndex + 1 // \"+ 1\" accounts for the first element: the text input\n\n if (direction === 'next') {\n nextIndex += 1\n }\n\n if (direction === 'previous') {\n nextIndex -= 1\n }\n\n if (nextIndex > tokens.length || nextIndex < 1) {\n return combinedInputRef.current || undefined\n }\n\n return containerRef.current?.children[nextIndex] as HTMLElement\n }\n },\n [selectedTokenIndex]\n )\n\n const handleTokenRemove = (tokenId: string | number) => {\n onTokenRemove(tokenId)\n\n // HACK: wait a tick for the the token node to be removed from the DOM\n setTimeout(() => {\n const nextElementToFocus = containerRef.current?.children[selectedTokenIndex || 0] as HTMLElement | undefined\n\n // when removing the first token by keying \"Backspace\" or \"Delete\",\n // `nextFocusableElement` is the div that wraps the input\n const firstFocusable =\n nextElementToFocus && isFocusable(nextElementToFocus)\n ? nextElementToFocus\n : (Array.from(containerRef.current?.children || []) as HTMLElement[]).find(el => isFocusable(el))\n\n if (firstFocusable) {\n firstFocusable.focus()\n } else {\n // if there are no tokens left, focus the input\n ref.current?.focus()\n }\n }, 0)\n }\n\n const handleTokenFocus: (tokenIndex: number) => FocusEventHandler = tokenIndex => () => {\n setSelectedTokenIndex(tokenIndex)\n }\n\n const handleTokenBlur: FocusEventHandler = () => {\n setSelectedTokenIndex(undefined)\n\n // HACK: wait a tick and check the focused element before hiding truncated tokens\n // this prevents the tokens from hiding when the user is moving focus between tokens,\n // but still hides the tokens when the user blurs the token by tabbing out or clicking somewhere else on the page\n setTimeout(() => {\n if (!containerRef.current?.contains(document.activeElement) && visibleTokenCount) {\n setTokensAreTruncated(true)\n }\n }, 0)\n }\n\n const handleTokenKeyUp: KeyboardEventHandler = event => {\n if (event.key === 'Escape') {\n ref.current?.focus()\n }\n }\n\n const handleInputFocus: FocusEventHandler = event => {\n onFocus && onFocus(event)\n setSelectedTokenIndex(undefined)\n visibleTokenCount && setTokensAreTruncated(false)\n }\n\n const handleInputBlur: FocusEventHandler = event => {\n onBlur && onBlur(event)\n\n // HACK: wait a tick and check the focused element before hiding truncated tokens\n // this prevents the tokens from hiding when the user is moving focus from the input to a token,\n // but still hides the tokens when the user blurs the input by tabbing out or clicking somewhere else on the page\n setTimeout(() => {\n if (!containerRef.current?.contains(document.activeElement) && visibleTokenCount) {\n setTokensAreTruncated(true)\n }\n }, 0)\n }\n\n const handleInputKeyDown: KeyboardEventHandler = e => {\n if (onKeyDown) {\n onKeyDown(e)\n }\n\n if (ref.current?.value) {\n return\n }\n\n const lastToken = tokens[tokens.length - 1]\n\n if (e.key === 'Backspace' && lastToken) {\n handleTokenRemove(lastToken.id)\n\n if (ref.current) {\n // TODO: eliminate the first hack by making changes to the Autocomplete component\n //\n // HACKS:\n // 1. Directly setting `ref.current.value` instead of updating state because the autocomplete\n // highlight behavior doesn't work correctly if we update the value with a setState action in onChange\n // 2. Adding an extra space so that when I backspace, it doesn't delete the last letter\n ref.current.value = `${lastToken.text} `\n }\n\n // HACK: for some reason we need to wait a tick for `.select()` to work\n setTimeout(() => {\n ref.current?.select()\n }, 0)\n }\n }\n\n const focusInput: MouseEventHandler = () => {\n combinedInputRef.current?.focus()\n }\n\n const preventTokenClickPropagation: MouseEventHandler = event => {\n event.stopPropagation()\n }\n\n const visibleTokens = tokensAreTruncated ? tokens.slice(0, visibleTokenCount) : tokens\n\n return (\n <TextInputWrapper\n block={block}\n className={className}\n contrast={contrast}\n disabled={disabled}\n hasIcon={!!IconComponent}\n theme={theme}\n width={widthProp}\n minWidth={minWidthProp}\n maxWidth={maxWidthProp}\n variant={variantProp}\n onClick={focusInput}\n sx={{\n ...(block\n ? {\n display: 'flex',\n width: '100%'\n }\n : {}),\n\n ...(maxHeight\n ? {\n maxHeight,\n overflow: 'auto'\n }\n : {}),\n\n ...(preventTokenWrapping\n ? {\n overflow: 'auto'\n }\n : {}),\n\n ...sxProp\n }}\n >\n <Box\n ref={containerRef as RefObject<HTMLDivElement>}\n display=\"flex\"\n sx={{\n alignItems: 'center',\n flexWrap: preventTokenWrapping ? 'nowrap' : 'wrap',\n marginLeft: '-0.25rem',\n marginBottom: '-0.25rem',\n flexGrow: 1,\n\n '> *': {\n flexShrink: 0,\n marginLeft: '0.25rem',\n marginBottom: '0.25rem'\n }\n }}\n >\n <Box\n sx={{\n order: 1,\n flexGrow: 1\n }}\n >\n {IconComponent && <IconComponent className=\"TextInput-icon\" />}\n <UnstyledTextInput\n ref={combinedInputRef}\n disabled={disabled}\n onFocus={handleInputFocus}\n onBlur={handleInputBlur}\n onKeyDown={handleInputKeyDown}\n type=\"text\"\n sx={{height: '100%'}}\n {...inputPropsRest}\n />\n </Box>\n {TokenComponent\n ? visibleTokens.map(({id, ...tokenRest}, i) => (\n <TokenComponent\n key={id}\n onFocus={handleTokenFocus(i)}\n onBlur={handleTokenBlur}\n onKeyUp={handleTokenKeyUp}\n onClick={preventTokenClickPropagation}\n isSelected={selectedTokenIndex === i}\n onRemove={() => {\n handleTokenRemove(id)\n }}\n hideRemoveButton={hideTokenRemoveButtons}\n size={size}\n tabIndex={0}\n {...tokenRest}\n />\n ))\n : null}\n {tokensAreTruncated ? (\n <Text color=\"fg.muted\" fontSize={size && overflowCountFontSizeMap[size]}>\n +{tokens.length - visibleTokens.length}\n </Text>\n ) : null}\n </Box>\n </TextInputWrapper>\n )\n}\n\nconst TextInputWithTokens = React.forwardRef(TextInputWithTokensInnerComponent)\n\nTextInputWithTokens.defaultProps = {\n tokenComponent: Token,\n size: 'extralarge',\n hideTokenRemoveButtons: false,\n preventTokenWrapping: false\n}\n\nTextInputWithTokens.displayName = 'TextInputWithTokens'\n\nexport type TextInputWithTokensProps = ComponentProps<typeof TextInputWithTokens>\nexport default TextInputWithTokens\n","import classnames from 'classnames'\nimport React from 'react'\nimport styled, {css} from 'styled-components'\nimport {Box} from '.'\nimport {get} from './constants'\nimport sx, {SxProp} from './sx'\nimport {ComponentProps} from './utils/types'\n\nconst Timeline = styled.div<{clipSidebar?: boolean} & SxProp>`\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} & SxProp\n\nconst TimelineItem = styled.div.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.muted')};\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.fg.muted')};\n background-color: ${get('colors.canvas.default')};\n border: 0;\n }\n `}\n\n ${sx};\n`\n\nexport type TimelineBadgeProps = {children?: React.ReactNode} & SxProp\n\nconst TimelineBadge = (props: TimelineBadgeProps) => {\n return (\n <Box position=\"relative\" zIndex={1}>\n <Box\n display=\"flex\"\n className=\"TimelineItem-Badge\"\n flexShrink={0}\n borderRadius=\"50%\"\n borderWidth=\"2px\"\n borderStyle=\"solid\"\n borderColor=\"canvas.default\"\n overflow=\"hidden\"\n color=\"fg.muted\"\n bg=\"timeline.badgeBg\"\n width=\"32px\"\n height=\"32px\"\n mr={2}\n ml=\"-15px\"\n alignItems=\"center\"\n justifyContent=\"center\"\n sx={props.sx}\n >\n {props.children}\n </Box>\n </Box>\n )\n}\n\nconst TimelineBody = styled.div<SxProp>`\n min-width: 0;\n max-width: 100%;\n margin-top: ${get('space.1')};\n color: ${get('colors.fg.muted')};\n flex: auto;\n font-size: ${get('fontSizes.1')};\n ${sx};\n`\n\nconst TimelineBreak = styled.div<SxProp>`\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.canvas.default')};\n border: 0;\n border-top: ${get('space.1')} solid ${get('colors.border.default')};\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","function t(t,n,r){return Math.min(Math.max(t,r),n)}class n extends Error{constructor(t){super(`Failed to parse color: \"${t}\"`)}}function r(r){if(\"string\"!=typeof r)throw new n(r);if(\"transparent\"===r.trim().toLowerCase())return[0,0,0,0];let e=r.trim();e=u.test(r)?function(t){const r=t.toLowerCase().trim(),e=o[function(t){let n=5381,r=t.length;for(;r;)n=33*n^t.charCodeAt(--r);return(n>>>0)%2341}(r)];if(!e)throw new n(t);return`#${e}`}(r):r;const f=s.exec(e);if(f){const t=Array.from(f).slice(1);return[...t.slice(0,3).map(t=>parseInt(_(t,2),16)),parseInt(_(t[3]||\"f\",2),16)/255]}const p=i.exec(e);if(p){const t=Array.from(p).slice(1);return[...t.slice(0,3).map(t=>parseInt(t,16)),parseInt(t[3]||\"ff\",16)/255]}const z=a.exec(e);if(z){const t=Array.from(z).slice(1);return[...t.slice(0,3).map(t=>parseInt(t,10)),parseFloat(t[3]||\"1\")]}const h=c.exec(e);if(h){const[e,o,_,s]=Array.from(h).slice(1).map(parseFloat);if(t(0,100,o)!==o)throw new n(r);if(t(0,100,_)!==_)throw new n(r);return[...l(e,o,_),s||1]}throw new n(r)}const e=t=>parseInt(t.replace(/_/g,\"\"),36),o=\"1q29ehhb 1n09sgk7 1kl1ekf_ _yl4zsno 16z9eiv3 1p29lhp8 _bd9zg04 17u0____ _iw9zhe5 _to73___ _r45e31e _7l6g016 _jh8ouiv _zn3qba8 1jy4zshs 11u87k0u 1ro9yvyo 1aj3xael 1gz9zjz0 _3w8l4xo 1bf1ekf_ _ke3v___ _4rrkb__ 13j776yz _646mbhl _nrjr4__ _le6mbhl 1n37ehkb _m75f91n _qj3bzfz 1939yygw 11i5z6x8 _1k5f8xs 1509441m 15t5lwgf _ae2th1n _tg1ugcv 1lp1ugcv 16e14up_ _h55rw7n _ny9yavn _7a11xb_ 1ih442g9 _pv442g9 1mv16xof 14e6y7tu 1oo9zkds 17d1cisi _4v9y70f _y98m8kc 1019pq0v 12o9zda8 _348j4f4 1et50i2o _8epa8__ _ts6senj 1o350i2o 1mi9eiuo 1259yrp0 1ln80gnw _632xcoy 1cn9zldc _f29edu4 1n490c8q _9f9ziet 1b94vk74 _m49zkct 1kz6s73a 1eu9dtog _q58s1rz 1dy9sjiq __u89jo3 _aj5nkwg _ld89jo3 13h9z6wx _qa9z2ii _l119xgq _bs5arju 1hj4nwk9 1qt4nwk9 1ge6wau6 14j9zlcw 11p1edc_ _ms1zcxe _439shk6 _jt9y70f _754zsow 1la40eju _oq5p___ _x279qkz 1fa5r3rv _yd2d9ip _424tcku _8y1di2_ _zi2uabw _yy7rn9h 12yz980_ __39ljp6 1b59zg0x _n39zfzp 1fy9zest _b33k___ _hp9wq92 1il50hz4 _io472ub _lj9z3eo 19z9ykg0 _8t8iu3a 12b9bl4a 1ak5yw0o _896v4ku _tb8k8lv _s59zi6t _c09ze0p 1lg80oqn 1id9z8wb _238nba5 1kq6wgdi _154zssg _tn3zk49 _da9y6tc 1sg7cv4f _r12jvtt 1gq5fmkz 1cs9rvci _lp9jn1c _xw1tdnb 13f9zje6 16f6973h _vo7ir40 _bt5arjf _rc45e4t _hr4e100 10v4e100 _hc9zke2 _w91egv_ _sj2r1kk 13c87yx8 _vqpds__ _ni8ggk8 _tj9yqfb 1ia2j4r4 _7x9b10u 1fc9ld4j 1eq9zldr _5j9lhpx _ez9zl6o _md61fzm\".split(\" \").reduce((t,n)=>{const r=e(n.substring(0,3)),o=e(n.substring(3)).toString(16);let _=\"\";for(let t=0;t<6-o.length;t++)_+=\"0\";return t[r]=`${_}${o}`,t},{}),_=(t,n)=>Array.from(Array(n)).map(()=>t).join(\"\"),s=new RegExp(`^#${_(\"([a-f0-9])\",3)}([a-f0-9])?$`,\"i\"),i=new RegExp(`^#${_(\"([a-f0-9]{2})\",3)}([a-f0-9]{2})?$`,\"i\"),a=new RegExp(`^rgba?\\\\(\\\\s*(\\\\d+)\\\\s*${_(\",\\\\s*(\\\\d+)\\\\s*\",2)}(?:,\\\\s*([\\\\d.]+))?\\\\s*\\\\)$`,\"i\"),c=/^hsla?\\(\\s*([\\d.]+)\\s*,\\s*([\\d.]+)%\\s*,\\s*([\\d.]+)%(?:\\s*,\\s*([\\d.]+))?\\s*\\)$/i,u=/^[a-z]+$/i,f=t=>Math.round(255*t),l=(t,n,r)=>{let e=r/100;if(0===n)return[e,e,e].map(f);const o=(t%360+360)%360/60,_=(1-Math.abs(2*e-1))*(n/100),s=_*(1-Math.abs(o%2-1));let i=0,a=0,c=0;o>=0&&o<1?(i=_,a=s):o>=1&&o<2?(i=s,a=_):o>=2&&o<3?(a=_,c=s):o>=3&&o<4?(a=s,c=_):o>=4&&o<5?(i=s,c=_):o>=5&&o<6&&(i=_,c=s);const u=e-_/2;return[i+u,a+u,c+u].map(f)};function p(t){const[n,e,o,_]=r(t).map((t,n)=>3===n?t:t/255),s=Math.max(n,e,o),i=Math.min(n,e,o),a=(s+i)/2;if(s===i)return[0,0,a,_];const c=s-i;return[60*(n===s?(e-o)/c+(e<o?6:0):e===s?(o-n)/c+2:(n-e)/c+4),a>.5?c/(2-s-i):c/(s+i),a,_]}function z(n,r,e,o){return`hsla(${(n%360).toFixed()}, ${t(0,100,100*r).toFixed()}%, ${t(0,100,100*e).toFixed()}%, ${parseFloat(t(0,1,o).toFixed(3))})`}function h(t,n){const[r,e,o,_]=p(t);return z(r+n,e,o,_)}function d(t,n){const[r,e,o,_]=p(t);return z(r,e,o-n,_)}function g(t,n){const[r,e,o,_]=p(t);return z(r,e-n,o,_)}function w(t){if(\"transparent\"===t)return 0;function n(t){const n=t/255;return n<=.03928?n/12.92:Math.pow((n+.055)/1.055,2.4)}const[e,o,_]=r(t);return.2126*n(e)+.7152*n(o)+.0722*n(_)}function x(t,n){const r=w(t),e=w(n);return r>e?(r+.05)/(e+.05):(e+.05)/(r+.05)}function m(n,r,e,o){return`rgba(${t(0,255,n).toFixed()}, ${t(0,255,r).toFixed()}, ${t(0,255,e).toFixed()}, ${parseFloat(t(0,1,o).toFixed(3))})`}function y(t,n,e){const o=(t,n)=>3===n?t:t/255,[_,s,i,a]=r(t).map(o),[c,u,f,l]=r(n).map(o),p=l-a,z=2*e-1,h=((z*p==-1?z:z+p)/(1+z*p)+1)/2,d=1-h;return m(255*(_*d+c*h),255*(s*d+u*h),255*(i*d+f*h),l*e+a*(1-e))}function b(){var n=[].slice.call(arguments);return r=>{const e=n.length-1,o=t(0,e,Math.floor(r*e)),_=t(0,e,Math.ceil(r*e)),s=1/e;return y(n[o],n[_],(r-s*o)/s)}}const k={decorative:1.5,readable:3,aa:4.5,aaa:7};function j(t,n=\"aa\"){return x(t,\"#fff\")<k[n]}function $(t,n){return d(t,-n)}function v(t,n){const[e,o,_,s]=r(t);return m(e,o,_,s-n)}function q(t,n){return v(t,-n)}function F(t){return w(t)>.179}function M(t){return F(t)?\"#000\":\"#fff\"}function A(t,n){return g(t,-n)}function I(n){const[e,o,_,s]=r(n);let i=n=>{const r=t(0,255,n).toString(16);return 1===r.length?`0${r}`:r};return`#${i(e)}${i(o)}${i(_)}${s<1?i(Math.round(255*s)):\"\"}`}function E(t){return m(...r(t))}function C(t){return z(...p(t))}export{n as ColorError,h as adjustHue,d as darken,g as desaturate,x as getContrast,w as getLuminance,b as getScale,t as guard,j as hasBadContrast,z as hsla,$ as lighten,y as mix,q as opacify,p as parseToHsla,r as parseToRgba,M as readableColor,F as readableColorIsBlack,m as rgba,A as saturate,I as toHex,C as toHsla,E as toRgba,v as transparentize};\n//# sourceMappingURL=index.module.js.map\n","import React, {forwardRef, MouseEventHandler, useMemo} from 'react'\nimport {CSSObject} from '@styled-system/css'\nimport TokenBase, {defaultTokenSize, isTokenInteractive, TokenBaseProps} from './TokenBase'\nimport RemoveTokenButton from './_RemoveTokenButton'\nimport {parseToHsla, parseToRgba} from 'color2k'\nimport {useTheme} from '../ThemeProvider'\nimport TokenTextContainer from './_TokenTextContainer'\n\nexport interface IssueLabelTokenProps extends TokenBaseProps {\n /**\n * The color that corresponds to the label\n */\n fillColor?: string\n /**\n * Whether the remove button should be rendered in the token\n */\n hideRemoveButton?: boolean\n}\n\nconst tokenBorderWidthPx = 1\n\nconst lightModeStyles = {\n '--lightness-threshold': '0.453',\n '--border-threshold': '0.96',\n '--border-alpha': 'max(0, min(calc((var(--perceived-lightness) - var(--border-threshold)) * 100), 1))',\n background: 'rgb(var(--label-r), var(--label-g), var(--label-b))',\n color: 'hsl(0, 0%, calc(var(--lightness-switch) * 100%))',\n borderWidth: tokenBorderWidthPx,\n borderStyle: 'solid',\n borderColor: 'hsla(var(--label-h),calc(var(--label-s) * 1%),calc((var(--label-l) - 25) * 1%),var(--border-alpha))'\n}\n\nconst darkModeStyles = {\n '--lightness-threshold': '0.6',\n '--background-alpha': '0.18',\n '--border-alpha': '0.3',\n '--lighten-by': 'calc(((var(--lightness-threshold) - var(--perceived-lightness)) * 100) * var(--lightness-switch))',\n borderWidth: tokenBorderWidthPx,\n borderStyle: 'solid',\n background: 'rgba(var(--label-r), var(--label-g), var(--label-b), var(--background-alpha))',\n color: 'hsl(var(--label-h), calc(var(--label-s) * 1%), calc((var(--label-l) + var(--lighten-by)) * 1%))',\n borderColor:\n 'hsla(var(--label-h), calc(var(--label-s) * 1%),calc((var(--label-l) + var(--lighten-by)) * 1%),var(--border-alpha))'\n}\n\nconst IssueLabelToken = forwardRef<HTMLElement, IssueLabelTokenProps>((props, forwardedRef) => {\n const {as, fillColor = '#999', onRemove, id, isSelected, text, size, hideRemoveButton, href, onClick, ...rest} = props\n const interactiveTokenProps = {\n as,\n href,\n onClick\n }\n const {colorScheme} = useTheme()\n const hasMultipleActionTargets = isTokenInteractive(props) && Boolean(onRemove) && !hideRemoveButton\n const onRemoveClick: MouseEventHandler = e => {\n e.stopPropagation()\n onRemove && onRemove()\n }\n const labelStyles: CSSObject = useMemo(() => {\n const [r, g, b] = parseToRgba(fillColor)\n const [h, s, l] = parseToHsla(fillColor)\n\n // label hack taken from https://github.com/github/github/blob/master/app/assets/stylesheets/hacks/hx_primer-labels.scss#L43-L108\n // this logic should eventually live in primer/components. Also worthy of note is that the dotcom hack code will be moving to primer/css soon.\n return {\n '--label-r': String(r),\n '--label-g': String(g),\n '--label-b': String(b),\n '--label-h': String(Math.round(h)),\n '--label-s': String(Math.round(s * 100)),\n '--label-l': String(Math.round(l * 100)),\n '--perceived-lightness':\n 'calc(((var(--label-r) * 0.2126) + (var(--label-g) * 0.7152) + (var(--label-b) * 0.0722)) / 255)',\n '--lightness-switch': 'max(0, min(calc((var(--perceived-lightness) - var(--lightness-threshold)) * -1000), 1))',\n paddingRight: hideRemoveButton || !onRemove ? undefined : 0,\n position: 'relative',\n ...(colorScheme === 'light' ? lightModeStyles : darkModeStyles),\n ...(isSelected\n ? {\n background:\n colorScheme === 'light'\n ? 'hsl(var(--label-h), calc(var(--label-s) * 1%), calc((var(--label-l) - 5) * 1%))'\n : darkModeStyles.background,\n ':focus': {\n outline: 'none'\n },\n ':after': {\n content: '\"\"',\n position: 'absolute',\n zIndex: 1,\n top: `-${tokenBorderWidthPx * 2}px`,\n right: `-${tokenBorderWidthPx * 2}px`,\n bottom: `-${tokenBorderWidthPx * 2}px`,\n left: `-${tokenBorderWidthPx * 2}px`,\n display: 'block',\n pointerEvents: 'none',\n boxShadow: `0 0 0 ${tokenBorderWidthPx * 2}px ${\n colorScheme === 'light'\n ? 'rgb(var(--label-r), var(--label-g), var(--label-b))'\n : 'hsl(var(--label-h), calc(var(--label-s) * 1%), calc((var(--label-l) + var(--lighten-by)) * 1%))'\n }`,\n borderRadius: '999px'\n }\n }\n : {})\n }\n }, [colorScheme, fillColor, isSelected, hideRemoveButton, onRemove])\n\n return (\n <TokenBase\n onRemove={onRemove}\n id={id?.toString()}\n isSelected={isSelected}\n text={text}\n size={size}\n sx={labelStyles}\n {...(!hasMultipleActionTargets ? interactiveTokenProps : {})}\n {...rest}\n ref={forwardedRef}\n >\n <TokenTextContainer {...(hasMultipleActionTargets ? interactiveTokenProps : {})}>{text}</TokenTextContainer>\n {!hideRemoveButton && onRemove ? (\n <RemoveTokenButton\n borderOffset={tokenBorderWidthPx}\n onClick={onRemoveClick}\n size={size}\n aria-hidden={hasMultipleActionTargets ? 'true' : 'false'}\n isParentInteractive={isTokenInteractive(props)}\n sx={\n hasMultipleActionTargets\n ? {\n position: 'relative',\n zIndex: '1'\n }\n : {}\n }\n />\n ) : null}\n </TokenBase>\n )\n})\n\nIssueLabelToken.defaultProps = {\n fillColor: '#999',\n size: defaultTokenSize\n}\n\nIssueLabelToken.displayName = 'IssueLabelToken'\n\nexport default IssueLabelToken\n","import React, {forwardRef} from 'react'\nimport styled from 'styled-components'\nimport {get} from '../constants'\nimport {TokenBaseProps, defaultTokenSize, tokenSizes, TokenSizeKeys} from './TokenBase'\nimport Token from './Token'\nimport {Avatar} from '..'\n\nexport interface AvatarTokenProps extends TokenBaseProps {\n avatarSrc: string\n}\n\nconst AvatarContainer = styled.span<{avatarSize: TokenSizeKeys}>`\n // 'space.1' is used because to match space from the left of the token to the left of the avatar\n // '* 2' is done to account for the top and bottom\n --spacing: calc(${get('space.1')} * 2);\n\n display: block;\n height: ${props => `calc(${tokenSizes[props.avatarSize]} - var(--spacing))`};\n width: ${props => `calc(${tokenSizes[props.avatarSize]} - var(--spacing))`};\n`\n\nconst AvatarToken = forwardRef<HTMLElement, AvatarTokenProps>(({avatarSrc, id, size, ...rest}, forwardedRef) => {\n return (\n <Token\n leadingVisual={() => (\n <AvatarContainer avatarSize={size || defaultTokenSize}>\n <Avatar\n src={avatarSrc}\n size={parseInt(tokenSizes[size || defaultTokenSize], 10)}\n sx={{\n width: '100%',\n height: '100%'\n }}\n />\n </AvatarContainer>\n )}\n size={size}\n id={id?.toString()}\n sx={{\n paddingLeft: get('space.1')\n }}\n {...rest}\n ref={forwardedRef}\n />\n )\n})\n\nAvatarToken.defaultProps = {\n size: defaultTokenSize\n}\n\nAvatarToken.displayName = 'AvatarToken'\n\nexport default AvatarToken\n","import classnames from 'classnames'\nimport React from 'react'\nimport styled from 'styled-components'\nimport {get} from './constants'\nimport sx, {SxProp} from './sx'\nimport {ComponentProps} from './utils/types'\n\nconst TooltipBase = styled.span<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.neutral.emphasisPlus')};\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.fg.onEmphasis')};\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.neutral.emphasisPlus')};\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.neutral.emphasisPlus')};\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.neutral.emphasisPlus')};\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.neutral.emphasisPlus')};\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.neutral.emphasisPlus')};\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\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 {get} 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<SxProp>`\n display: flex;\n justify-content: space-between;\n border-bottom: 1px solid ${get('colors.border.muted')};\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 ${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} & 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.fg.default')};\n text-align: center;\n border-bottom: 2px solid transparent;\n text-decoration: none;\n\n &:hover,\n &:focus {\n color: ${get('colors.fg.default')};\n text-decoration: none;\n border-bottom-color: ${get('colors.neutral.muted')};\n transition: 0.2s ease;\n\n .UnderlineNav-octicon {\n color: ${get('colors.fg.muted')};\n }\n }\n\n &.selected {\n color: ${get('colors.fg.default')};\n border-bottom-color: ${get('colors.primer.border.active')};\n\n .UnderlineNav-octicon {\n color: ${get('colors.fg.default')};\n }\n }\n\n ${sx};\n`\n\nUnderlineNavLink.displayName = 'UnderlineNav.Link'\n\nexport type UnderlineNavLinkProps = ComponentProps<typeof UnderlineNavLink>\nexport default Object.assign(UnderlineNav, {Link: UnderlineNavLink})\n","import styled from 'styled-components'\nimport {useProvidedRefOrCreate} from './hooks'\nimport React, {InputHTMLAttributes, ReactElement, useLayoutEffect} from 'react'\nimport sx, {SxProp} from './sx'\n\nexport type CheckboxProps = {\n /**\n * Apply indeterminate visual appearance to the checkbox\n */\n indeterminate?: boolean\n /**\n * Apply inactive visual appearance to the checkbox\n */\n disabled?: boolean\n /**\n * Forward a ref to the underlying input element\n */\n ref?: React.RefObject<HTMLInputElement>\n /**\n * Indicates whether the checkbox must be checked\n */\n required?: boolean\n\n /**\n * Indicates whether the checkbox validation state\n */\n validationStatus?: 'error' | 'success' // TODO: hoist to Validation typings\n} & InputHTMLAttributes<HTMLInputElement> &\n SxProp\n\nconst StyledCheckbox = styled.input`\n cursor: pointer;\n\n ${props => props.disabled && `cursor: not-allowed;`}\n\n ${sx}\n`\n\n/**\n * An accessible, native checkbox component\n */\nconst Checkbox = React.forwardRef<HTMLInputElement, CheckboxProps>(\n (\n {checked, indeterminate, disabled, sx: sxProp, required, validationStatus, ...rest}: CheckboxProps,\n ref\n ): ReactElement => {\n const checkboxRef = useProvidedRefOrCreate(ref as React.RefObject<HTMLInputElement>)\n\n useLayoutEffect(() => {\n if (checkboxRef.current) {\n checkboxRef.current.indeterminate = indeterminate || false\n }\n }, [indeterminate, checked, checkboxRef])\n\n return (\n <StyledCheckbox\n type=\"checkbox\"\n disabled={disabled}\n aria-disabled={disabled ? 'true' : 'false'}\n ref={ref || checkboxRef}\n checked={indeterminate ? false : checked}\n aria-checked={indeterminate ? 'mixed' : checked ? 'true' : 'false'}\n sx={sxProp}\n required={required}\n aria-required={required ? 'true' : 'false'}\n aria-invalid={validationStatus === 'error' ? 'true' : 'false'}\n {...rest}\n />\n )\n }\n)\n\nCheckbox.displayName = 'Checkbox'\n\nexport default Checkbox\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","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","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","useSafeTimeout","timers","Set","safeSetTimeout","handler","timeout","id","setTimeout","add","safeClearTimeout","clearTimeout","delete","handleClick","registry","reverse","handlerId","useOnOutsideClick","containerRef","ignoreClickRefs","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","preventFocusOnOpen","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","eventListenerSignalPolyfill","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","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","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","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","IssueDraftIcon","IssueOpenedIcon","PlusIcon","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","useLayoutEffect","useAnchoredPosition","dependencies","floatingElementRef","anchorElementRef","setPosition","updatePosition","callback","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","portalRootRegistry","ensureDefaultPortal","existingDefaultPortalContainer","defaultPortalContainer","getElementById","suitablePortalRoot","querySelector","appendChild","root","registerPortalRoot","onMount","containerName","_containerName","hostElement","elementRef","removeChild","createPortal","useCombinedRefs","refs","combinedRef","setRefs","$f01a183cc7bdff77849e49ad26eb904$var$defaultContext","prefix","round","random","$f01a183cc7bdff77849e49ad26eb904$var$SSRContext","_react","SSRProvider","cur","$f01a183cc7bdff77849e49ad26eb904$var$canUseDOM","Boolean","useSSRSafeId","defaultId","ctx","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","autoFocusedFooterButtonRef","footerButton","autoFocus","defaultedProps","dialogRef","backdropRef","header","footer","Portal","as","buttonTypes","normal","Button","primary","ButtonPrimary","danger","ButtonDanger","DialogCloseButton","autoFocusRef","_buttons$find","autoFocusCount","hasRendered","setHasRendered","dialogButtonProps","index","content","buttonType","buttonProps","ButtonElement","StyledConfirmationHeader","StyledTitle","ConfirmationHeader","StyledConfirmationBody","ConfirmationBody","StyledConfirmationFooter","ConfirmationFooter","ConfirmationDialog","cancelButtonContent","confirmButtonContent","confirmButtonType","useConfirm","async","themeProps","confirmationDialogProps","Promise","resolve","ReactDOM","render","gesture","unmountComponentAtNode","confirm","StyledHeader","auxiliaryText","_children","StyledGroup","Group","items","Truncate","inline","expandable","StyledDivider","Divider","renderItem","getItemVariant","iconColor","annotationColor","hoverCursor","hoverBg","focusBg","hoverText","DividedContent","MainContent","StyledItem","item","showDivider","TextContainer","span","BaseVisualContainer","ColoredVisualContainer","LeadingVisualContainer","TrailingContent","DescriptionContainer","MultiSelectIcon","svg","selected","Item","itemProps","Component","text","description","descriptionVariant","selectionVariant","leadingVisual","LeadingVisual","trailingIcon","TrailingIcon","trailingVisual","TrailingVisual","trailingText","onAction","onKeyPress","labelId","descriptionId","keyPressHandler","clickHandler","xmlns","y","rx","fillRule","strokeWidth","colors","fg","default","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","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","AutocompleteContext","hasOwn","classNames","classes","arg","argType","inner","module","exports","input","sizeVariants","hasIcon","contrast","block","TextInput","sxProp","widthProp","minWidthProp","maxWidthProp","variantProp","inputProps","wrapperClasses","classnames","TextInputWrapper","UnstyledTextInput","AutocompleteInput","onFocus","onBlur","onChange","onKeyUp","autocompleteContext","activeDescendantRef","autocompleteSuggestion","inputRef","inputValue","isMenuDirectlyActivated","setInputValue","setShowMenu","showMenu","combinedInputRef","highlightRemainingText","setHighlightRemainingText","handleInputFocus","handleInputBlur","handleInputChange","currentTarget","handleInputKeyDown","_inputRef$current","handleInputKeyUp","onInputKeyPress","nativeEvent","stopImmediatePropagation","activeDescendantEvent","KeyboardEvent","dispatchEvent","toLowerCase","setSelectionRange","autocomplete","scrollIntoViewingArea","child","viewingArea","startMargin","endMargin","behavior","startSide","endSide","scrollSide","childStart","childEnd","viewingAreaStart","viewingAreaEnd","isChildBottomBelowViewingArea","scrollHeightToChildStart","scrollTo","scrollHeightToChildBottom","AutocompleteMenu","scrollContainerRef","setAutocompleteSuggestion","setIsMenuDirectlyActivated","setSelectedItemLength","selectedItemIds","sortOnCloseFn","emptyStateText","addNewItem","loading","filterFn","ariaLabelledBy","onOpenChange","onSelectedChange","customScrollContainerRef","listContainerRef","highlightedItem","setHighlightedItem","sortedItemIds","setSortedItemIds","itemId","selectableItems","selectableItem","otherSelectedItemIds","selectedItemId","newSelectedItemIds","setInputValueFn","itemOrItems","newSelectedItemId","getItemById","itemSortOrderData","sortedAndFilteredItemsToRender","filterValue","_i","_item$text","allItemsToRender","handleAddItem","_previous","selectedItem","itemIdSortResult","isItemSelectedFn","isItemSelected","itemIdA","itemIdB","sortResultMatchesState","every","clip","Spinner","AutocompleteOverlay","menuAnchorRef","selectedItemLength","combinedOverlayRef","closeOptionList","initialState","reducer","state","action","payload","Autocomplete","idProp","dispatch","useReducer","Input","Menu","Avatar","img","square","getBorderRadius","alt","ChildAvatar","AvatarPair","avatars","Children","isValidElement","cloneElement","AvatarStackWrapper","count","AvatarStack","alignRight","wrapperClassNames","transformChildren","Wrapper","li","BreadcrumbsBase","nav","Breadcrumbs","wrappedChildren","BreadcrumbsItem","activeClassName","Breadcrumb","getVariantStyles","shadows","btn","insetShadow","focusShadow","shadowActive","selectedShadow","hoverShadow","invisible","outline","getSizeStyles","iconOnly","Icon","leadingIcon","LeadingIcon","cursor","appearance","textDecoration","iconWrapStyles","sxStyles","scheme","Counter","CounterLabel","NewButton","oppositeEdge","perpendicularEdge","getPosition","edge","spacing","opposite","perp","getBg","getBorderColor","getBorderWidth","Caret","propsWithTheme","location","getEdgeAlign","c","triangle","line","pointerEvents","locations","variantSizes","CircleBadge","calc","parseFloat","isFinite","isNumeric","CircleBadgeIcon","CircleOcticon","Details","details","focusable","el","inputEl","visible","DialogBase","narrow","wide","DialogHeaderBase","DialogHeader","toArray","ch","Text","onDismiss","isOpen","modalRef","closeButtonRef","getDialogProps","getFocusableItem","movement","querySelectorAll","offsetIndex","fallbackIndex","handleTab","focusableItem","stopPropagation","useDialog","ButtonClose","propTypes","ne","sw","se","StyledDetails","Dropdown","DropdownButton","DropdownCaret","DropdownMenu","ul","getDirectionStyles","DropdownItem","placeholder","itemFromAction","FilterListBase","FilterList","FilterListItemBase","FilterListItem","success","warning","Flash","full","FormGroup","FormGroupLabel","label","Label","HeaderItem","HeaderLink","Link","Heading","h2","outlineStyles","sizeVariant","xl","dropshadow","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","isSummaryFocused","closeDetails","isMenuItem","click","MenuContext","dividerStyles","SelectMenuDivider","StyledForm","form","SelectMenuFilter","footerStyles","SelectMenuFooter","SelectMenuTitle","h3","SelectMenuHeader","listItemStyles","SelectMenuItem","menuContext","itemRef","listStyles","SelectMenuList","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","issueDraft","colorVariants","StateLabelBase","StateLabel","status","octiconProps","SubNavBase","SubNav","actions","SubNavLinks","SubNavLink","Links","TabNavBase","TabNavBody","TabNav","TabNavLink","regex","RegExp","tokenSizes","extralarge","isTokenInteractive","TokenBase","onRemove","getTokenButtonIconSize","StyledTokenButton","borderOffset","RemoveTokenButton","isParentInteractive","DefaultTokenStyled","hideRemoveButton","Token","hasMultipleActionTargets","interactiveTokenProps","TokenTextContainer","overflowCountFontSizeMap","TextInputWithTokensInnerComponent","tokens","onTokenRemove","tokenComponent","TokenComponent","preventTokenWrapping","hideTokenRemoveButtons","visibleTokenCount","externalRef","inputPropsRest","omit","selectedTokenIndex","setSelectedTokenIndex","tokensAreTruncated","setTokensAreTruncated","getAttributeNames","nextIndex","handleTokenRemove","tokenId","_containerRef$current2","firstFocusable","handleTokenBlur","_containerRef$current4","handleTokenKeyUp","preventTokenClickPropagation","visibleTokens","_containerRef$current5","_ref$current3","lastToken","select","tokenRest","tokenIndex","TextInputWithTokens","Timeline","clipSidebar","TimelineItem","condensed","TimelineBadge","TimelineBody","TimelineBreak","Badge","Break","min","[object Object]","super","trim","u","o","charCodeAt","f","exec","z","substring","lightModeStyles","darkModeStyles","IssueLabelToken","fillColor","labelStyles","g","parseToRgba","parseToHsla","AvatarContainer","avatarSize","AvatarToken","avatarSrc","src","TooltipBase","Tooltip","noDelay","wrap","alignments","directions","UnderlineNavBase","UnderlineNav","UnderlineNavLink","StyledCheckbox","Checkbox","checked","indeterminate","required","validationStatus","checkboxRef"],"mappings":"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"}
1
+ {"version":3,"file":"browser.esm.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/useSafeTimeout.ts","../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/utils/useIsomorphicLayoutEffect.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/Portal/index.ts","../src/hooks/useCombinedRefs.ts","../node_modules/@react-aria/ssr/dist/module.js","../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/Autocomplete/AutocompleteContext.tsx","../node_modules/classnames/index.js","../src/_UnstyledTextInput.tsx","../src/_TextInputWrapper.tsx","../src/TextInput.tsx","../src/Autocomplete/AutocompleteInput.tsx","../src/behaviors/scrollIntoViewingArea.ts","../src/Autocomplete/AutocompleteMenu.tsx","../src/Autocomplete/AutocompleteOverlay.tsx","../src/Autocomplete/Autocomplete.tsx","../src/Avatar.tsx","../src/AvatarPair.tsx","../src/AvatarStack.tsx","../src/BranchName.tsx","../src/Breadcrumbs.tsx","../src/NewButton/button.tsx","../src/CounterLabel.tsx","../src/NewButton/button-counter.tsx","../src/NewButton/index.ts","../src/Caret.tsx","../src/CircleBadge.tsx","../src/utils/isNumeric.tsx","../src/CircleOcticon.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/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","../node_modules/@styled-system/props/dist/index.esm.js","../src/Token/TokenBase.tsx","../src/Token/_RemoveTokenButton.tsx","../src/Token/_TokenTextContainer.tsx","../src/Token/Token.tsx","../src/TextInputWithTokens.tsx","../src/Timeline.tsx","../node_modules/color2k/dist/index.module.js","../src/Token/IssueLabelToken.tsx","../src/Token/AvatarToken.tsx","../src/Tooltip.tsx","../src/UnderlineNav.tsx","../src/Checkbox.tsx"],"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: 'fg.default',\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, {SystemCssProperties, SystemStyleObject} from '@styled-system/css'\nimport {ThemeColorPaths, ThemeShadowPaths} from './theme'\nimport {ColorProps, ShadowProps} from 'styled-system'\nimport merge from 'deepmerge'\n\nexport type BetterCssProperties = {\n [K in keyof SystemCssProperties]: K extends keyof ColorProps\n ? ThemeColorPaths | SystemCssProperties[K]\n : K extends keyof ShadowProps\n ? ThemeShadowPaths | SystemCssProperties[K]\n : SystemCssProperties[K]\n}\n\nexport type BetterSystemStyleObject = BetterCssProperties | SystemStyleObject\n\nexport interface SxProp {\n sx?: BetterSystemStyleObject\n}\n\nconst sx = (props: SxProp) => css(props.sx)\n\nexport default sx\n\nexport {merge}\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.default',\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 {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","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 preventFocusOnOpen?: boolean\n}\n\nexport function useOpenAndCloseFocus({\n initialFocusRef,\n returnFocusRef,\n containerRef,\n preventFocusOnOpen\n}: UseOpenAndCloseFocusSettings): void {\n useEffect(() => {\n if (preventFocusOnOpen) {\n return\n }\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, preventFocusOnOpen])\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 preventFocusOnOpen?: boolean\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 preventFocusOnOpen\n}: UseOverlaySettings): OverlayReturnProps => {\n const overlayRef = useProvidedRefOrCreate<HTMLDivElement>(_overlayRef)\n useOpenAndCloseFocus({containerRef: overlayRef, returnFocusRef, initialFocusRef, preventFocusOnOpen})\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","// Note: uniqueId may be unsafe in SSR contexts if it is used create DOM IDs or otherwise cause a hydration warning. Use useSSRSafeId instead.\n\nlet 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 {variant} from 'styled-system'\nimport {ComponentProps} from '../utils/types'\nimport buttonBaseStyles from './ButtonStyles'\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}\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} from './ButtonBase'\n\nconst Button = styled(ButtonBase)<ButtonBaseProps & 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.primer.fg.disabled')};\n background-color: ${get('colors.btn.bg')};\n border-color: ${get('colors.btn.border')};\n }\n\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} from './ButtonBase'\n\nconst ButtonDanger = styled(ButtonBase)<ButtonBaseProps & 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 ${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} from './ButtonBase'\n\nconst ButtonOutline = styled(ButtonBase)<ButtonBaseProps & 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 ${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} from './ButtonBase'\n\nexport const ButtonPrimary = styled(ButtonBase)<ButtonBaseProps & 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 ${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} from './ButtonBase'\n\nconst ButtonInvisible = styled(ButtonBase)<ButtonBaseProps & SxProp>`\n color: ${get('colors.accent.fg')};\n background-color: transparent;\n border: 0;\n border-radius: ${get('radii.2')};\n box-shadow: none;\n\n &:disabled {\n color: ${get('colors.primer.fg.disabled')};\n }\n &:focus {\n box-shadow: ${get('shadows.btn.focusShadow')};\n }\n &:hover {\n background-color: ${get('colors.btn.hoverBg')};\n }\n &:active {\n background-color: ${get('colors.btn.selectedBg')};\n }\n\n ${sx}\n`\n\nexport type ButtonInvisibleProps = ComponentProps<typeof ButtonInvisible>\nexport default ButtonInvisible\n","import styled from 'styled-components'\nimport {get} from '../constants'\nimport sx, {SxProp} from '../sx'\nimport {ComponentProps} from '../utils/types'\n\nconst ButtonTableList = styled.summary<SxProp>`\n display: inline-block;\n padding: 0;\n font-size: ${get('fontSizes.1')};\n color: ${get('colors.fg.muted')};\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: ${get('colors.primer.fg.disabled')};\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 ${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 overflow: 'visible'\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 AlertFillIcon(props) {\n var svgDataByHeight = { \"12\": { \"width\": 12, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M4.855.708c.5-.896 1.79-.896 2.29 0l4.675 8.351a1.312 1.312 0 01-1.146 1.954H1.33A1.312 1.312 0 01.183 9.058L4.855.708zM7 7V3H5v4h2zm-1 3a1 1 0 100-2 1 1 0 000 2z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nAlertFillIcon.defaultProps = {\n className: 'octicon octicon-alert-fill',\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=\\\"M18.655 10.405a.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.06l4.97-4.97v14.44a.75.75 0 001.5 0V5.435l4.97 4.97a.75.75 0 001.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 = { \"16\": { \"width\": 16, \"path\": \"<path d=\\\"M8 16c.9 0 1.7-.6 1.9-1.5.1-.3-.1-.5-.4-.5h-3c-.3 0-.5.2-.4.5.2.9 1 1.5 1.9 1.5zM3 5c0-2.8 2.2-5 5-5s5 2.2 5 5v3l1.7 2.6c.2.2.3.5.3.8 0 .8-.7 1.5-1.5 1.5h-11c-.8.1-1.5-.6-1.5-1.4 0-.3.1-.6.3-.8L3 8.1V5z\\\"></path>\" }, \"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 = { \"12\": { \"width\": 12, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M6 0a6 6 0 100 12A6 6 0 006 0zm-.705 8.737L9.63 4.403 8.392 3.166 5.295 6.263l-1.7-1.702L2.356 5.8l2.938 2.938z\\\"></path>\" }, \"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 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 ColumnsIcon(props) {\n var svgDataByHeight = { \"16\": { \"width\": 16, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M2.75 0A1.75 1.75 0 001 1.75v12.5c0 .966.784 1.75 1.75 1.75h2.5A1.75 1.75 0 007 14.25V1.75A1.75 1.75 0 005.25 0h-2.5zM2.5 1.75a.25.25 0 01.25-.25h2.5a.25.25 0 01.25.25v12.5a.25.25 0 01-.25.25h-2.5a.25.25 0 01-.25-.25V1.75zM10.75 0A1.75 1.75 0 009 1.75v12.5c0 .966.784 1.75 1.75 1.75h2.5A1.75 1.75 0 0015 14.25V1.75A1.75 1.75 0 0013.25 0h-2.5zm-.25 1.75a.25.25 0 01.25-.25h2.5a.25.25 0 01.25.25v12.5a.25.25 0 01-.25.25h-2.5a.25.25 0 01-.25-.25V1.75z\\\"></path>\" }, \"24\": { \"width\": 24, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M3.75 2A1.75 1.75 0 002 3.75v16.5c0 .966.784 1.75 1.75 1.75h5.5A1.75 1.75 0 0011 20.25V3.75A1.75 1.75 0 009.25 2h-5.5zM3.5 3.75a.25.25 0 01.25-.25h5.5a.25.25 0 01.25.25v16.5a.25.25 0 01-.25.25h-5.5a.25.25 0 01-.25-.25V3.75zM14.75 2A1.75 1.75 0 0013 3.75v16.5c0 .966.784 1.75 1.75 1.75h5.5A1.75 1.75 0 0022 20.25V3.75A1.75 1.75 0 0020.25 2h-5.5zm-.25 1.75a.25.25 0 01.25-.25h5.5a.25.25 0 01.25.25v16.5a.25.25 0 01-.25.25h-5.5a.25.25 0 01-.25-.25V3.75z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nColumnsIcon.defaultProps = {\n className: 'octicon octicon-columns',\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 CopyIcon(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=\\\"M7.024 3.75c0-.966.784-1.75 1.75-1.75H20.25c.966 0 1.75.784 1.75 1.75v11.498a1.75 1.75 0 01-1.75 1.75H8.774a1.75 1.75 0 01-1.75-1.75V3.75zm1.75-.25a.25.25 0 00-.25.25v11.498c0 .139.112.25.25.25H20.25a.25.25 0 00.25-.25V3.75a.25.25 0 00-.25-.25H8.774z\\\"></path><path d=\\\"M1.995 10.749a1.75 1.75 0 011.75-1.751H5.25a.75.75 0 110 1.5H3.745a.25.25 0 00-.25.25L3.5 20.25c0 .138.111.25.25.25h9.5a.25.25 0 00.25-.25v-1.51a.75.75 0 111.5 0v1.51A1.75 1.75 0 0113.25 22h-9.5A1.75 1.75 0 012 20.25l-.005-9.501z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nCopyIcon.defaultProps = {\n className: 'octicon octicon-copy',\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 DiamondIcon(props) {\n var svgDataByHeight = { \"16\": { \"width\": 16, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M.527 9.237a1.75 1.75 0 010-2.474L6.777.512a1.75 1.75 0 012.475 0l6.251 6.25a1.751 1.751 0 010 2.475l-6.25 6.251a1.751 1.751 0 01-2.475 0L.527 9.238v-.001zm1.06-1.414a.25.25 0 000 .354l6.251 6.25a.25.25 0 00.354 0l6.25-6.25a.25.25 0 000-.354l-6.25-6.25a.25.25 0 00-.354 0l-6.25 6.25h-.001z\\\"></path>\" }, \"24\": { \"width\": 24, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M1.527 13.237a1.75 1.75 0 010-2.474l9.272-9.273a1.75 1.75 0 012.475 0l9.272 9.273a1.75 1.75 0 010 2.474l-9.272 9.272a1.75 1.75 0 01-2.475 0l-9.272-9.272zm1.06-1.414a.25.25 0 000 .354l9.273 9.272a.25.25 0 00.353 0l9.272-9.272a.25.25 0 000-.354l-9.272-9.272a.25.25 0 00-.353 0l-9.273 9.272z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nDiamondIcon.defaultProps = {\n className: 'octicon octicon-diamond',\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 d=\\\"M10.5 3a.75.75 0 01.75.75v1h1a.75.75 0 010 1.5h-1v1a.75.75 0 01-1.5 0v-1h-1a.75.75 0 010-1.5h1v-1A.75.75 0 0110.5 3z\\\"></path><path fill-rule=\\\"evenodd\\\" d=\\\"M6.75 0A1.75 1.75 0 005 1.75v7.5c0 .966.784 1.75 1.75 1.75h7.5A1.75 1.75 0 0016 9.25v-7.5A1.75 1.75 0 0014.25 0h-7.5zM6.5 1.75a.25.25 0 01.25-.25h7.5a.25.25 0 01.25.25v7.5a.25.25 0 01-.25.25h-7.5a.25.25 0 01-.25-.25v-7.5z\\\"></path><path d=\\\"M1.75 5A1.75 1.75 0 000 6.75v7.5C0 15.216.784 16 1.75 16h7.5A1.75 1.75 0 0011 14.25v-1.5a.75.75 0 00-1.5 0v1.5a.25.25 0 01-.25.25h-7.5a.25.25 0 01-.25-.25v-7.5a.25.25 0 01.25-.25h1.5a.75.75 0 000-1.5h-1.5z\\\"></path>\" }, \"24\": { \"width\": 24, \"path\": \"<path d=\\\"M14.513 6a.75.75 0 01.75.75v2h1.987a.75.75 0 010 1.5h-1.987v2a.75.75 0 11-1.5 0v-2H11.75a.75.75 0 010-1.5h2.013v-2a.75.75 0 01.75-.75z\\\"></path><path fill-rule=\\\"evenodd\\\" d=\\\"M7.024 3.75c0-.966.784-1.75 1.75-1.75H20.25c.966 0 1.75.784 1.75 1.75v11.498a1.75 1.75 0 01-1.75 1.75H8.774a1.75 1.75 0 01-1.75-1.75V3.75zm1.75-.25a.25.25 0 00-.25.25v11.498c0 .139.112.25.25.25H20.25a.25.25 0 00.25-.25V3.75a.25.25 0 00-.25-.25H8.774z\\\"></path><path d=\\\"M1.995 10.749a1.75 1.75 0 011.75-1.751H5.25a.75.75 0 110 1.5H3.745a.25.25 0 00-.25.25L3.5 20.25c0 .138.111.25.25.25h9.5a.25.25 0 00.25-.25v-1.51a.75.75 0 111.5 0v1.51A1.75 1.75 0 0113.25 22h-9.5A1.75 1.75 0 012 20.25l-.005-9.501z\\\"></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 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 GitPullRequestClosedIcon(props) {\n var svgDataByHeight = { \"16\": { \"width\": 16, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M10.72 1.227a.75.75 0 011.06 0l.97.97.97-.97a.75.75 0 111.06 1.061l-.97.97.97.97a.75.75 0 01-1.06 1.06l-.97-.97-.97.97a.75.75 0 11-1.06-1.06l.97-.97-.97-.97a.75.75 0 010-1.06zM12.75 6.5a.75.75 0 00-.75.75v3.378a2.251 2.251 0 101.5 0V7.25a.75.75 0 00-.75-.75zm0 5.5a.75.75 0 100 1.5.75.75 0 000-1.5zM2.5 3.25a.75.75 0 111.5 0 .75.75 0 01-1.5 0zM3.25 1a2.25 2.25 0 00-.75 4.372v5.256a2.251 2.251 0 101.5 0V5.372A2.25 2.25 0 003.25 1zm0 11a.75.75 0 100 1.5.75.75 0 000-1.5z\\\"></path>\" }, \"24\": { \"width\": 24, \"path\": \"<path d=\\\"M22.266 2.711a.75.75 0 10-1.061-1.06l-1.983 1.983-1.984-1.983a.75.75 0 10-1.06 1.06l1.983 1.983-1.983 1.984a.75.75 0 001.06 1.06l1.984-1.983 1.983 1.983a.75.75 0 001.06-1.06l-1.983-1.984 1.984-1.983z\\\"></path><path fill-rule=\\\"evenodd\\\" d=\\\"M4.75 1.5a3.25 3.25 0 00-.745 6.414A.758.758 0 004 8v8a.81.81 0 00.005.086A3.251 3.251 0 004.75 22.5a3.25 3.25 0 00.745-6.414A.758.758 0 005.5 16V8a.758.758 0 00-.005-.086A3.251 3.251 0 004.75 1.5zM3 4.75a1.75 1.75 0 113.5 0 1.75 1.75 0 01-3.5 0zm0 14.5a1.75 1.75 0 113.5 0 1.75 1.75 0 01-3.5 0zm13 0a3.251 3.251 0 012.5-3.163V9.625a.75.75 0 011.5 0v6.462a3.251 3.251 0 01-.75 6.413A3.25 3.25 0 0116 19.25zm3.25-1.75a1.75 1.75 0 100 3.5 1.75 1.75 0 000-3.5z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nGitPullRequestClosedIcon.defaultProps = {\n className: 'octicon octicon-git-pull-request-closed',\n size: 16,\n verticalAlign: 'text-bottom'\n};\n\nfunction GitPullRequestDraftIcon(props) {\n var svgDataByHeight = { \"16\": { \"width\": 16, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M2.5 3.25a.75.75 0 111.5 0 .75.75 0 01-1.5 0zM3.25 1a2.25 2.25 0 00-.75 4.372v5.256a2.251 2.251 0 101.5 0V5.372A2.25 2.25 0 003.25 1zm0 11a.75.75 0 100 1.5.75.75 0 000-1.5zm9.5 3a2.25 2.25 0 100-4.5 2.25 2.25 0 000 4.5zm0-3a.75.75 0 100 1.5.75.75 0 000-1.5z\\\"></path><path d=\\\"M14 7.5a1.25 1.25 0 11-2.5 0 1.25 1.25 0 012.5 0zm0-4.25a1.25 1.25 0 11-2.5 0 1.25 1.25 0 012.5 0z\\\"></path>\" }, \"24\": { \"width\": 24, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M4.75 1.5a3.25 3.25 0 00-.745 6.414A.758.758 0 004 8v8a.81.81 0 00.005.086A3.251 3.251 0 004.75 22.5a3.25 3.25 0 00.745-6.414A.757.757 0 005.5 16V8a.758.758 0 00-.005-.086A3.251 3.251 0 004.75 1.5zM3 4.75a1.75 1.75 0 113.5 0 1.75 1.75 0 01-3.5 0zm0 14.5a1.75 1.75 0 113.5 0 1.75 1.75 0 01-3.5 0zm13 0a3.25 3.25 0 116.5 0 3.25 3.25 0 01-6.5 0zm3.25-1.75a1.75 1.75 0 100 3.5 1.75 1.75 0 000-3.5z\\\"></path><path d=\\\"M19.25 6a1.75 1.75 0 100-3.5 1.75 1.75 0 000 3.5zM21 11.25a1.75 1.75 0 11-3.5 0 1.75 1.75 0 013.5 0z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nGitPullRequestDraftIcon.defaultProps = {\n className: 'octicon octicon-git-pull-request-draft',\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 HashIcon(props) {\n var svgDataByHeight = { \"16\": { \"width\": 16, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M6.368 1.01a.75.75 0 01.623.859L6.57 4.5h3.98l.46-2.868a.75.75 0 011.48.237L12.07 4.5h2.18a.75.75 0 010 1.5h-2.42l-.64 4h2.56a.75.75 0 010 1.5h-2.8l-.46 2.869a.75.75 0 01-1.48-.237l.42-2.632H5.45l-.46 2.869a.75.75 0 01-1.48-.237l.42-2.632H1.75a.75.75 0 010-1.5h2.42l.64-4H2.25a.75.75 0 010-1.5h2.8l.46-2.868a.75.75 0 01.858-.622zM9.67 10l.64-4H6.33l-.64 4h3.98z\\\"></path>\" }, \"24\": { \"width\": 24, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M9.618 1.76a.75.75 0 01.623.859L9.46 7.5h6.48l.82-5.118a.75.75 0 011.48.237L17.46 7.5h3.79a.75.75 0 010 1.5h-4.03l-.96 6h3.99a.75.75 0 110 1.5h-4.23l-.78 4.869a.75.75 0 01-1.48-.237l.74-4.632H8.02l-.78 4.869a.75.75 0 01-1.48-.237L6.5 16.5H2.745a.75.75 0 010-1.5H6.74l.96-6H3.75a.75.75 0 010-1.5h4.19l.82-5.118a.75.75 0 01.858-.622zM14.741 15l.96-6H9.22l-.96 6h6.48z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nHashIcon.defaultProps = {\n className: 'octicon octicon-hash',\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 d=\\\"M11.28 6.78a.75.75 0 00-1.06-1.06L7.25 8.69 5.78 7.22a.75.75 0 00-1.06 1.06l2 2a.75.75 0 001.06 0l3.5-3.5z\\\"></path><path fill-rule=\\\"evenodd\\\" d=\\\"M16 8A8 8 0 110 8a8 8 0 0116 0zm-1.5 0a6.5 6.5 0 11-13 0 6.5 6.5 0 0113 0z\\\"></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\nIssueClosedIcon.defaultProps = {\n className: 'octicon octicon-issue-closed',\n size: 16,\n verticalAlign: 'text-bottom'\n};\n\nfunction IssueDraftIcon(props) {\n var svgDataByHeight = { \"16\": { \"width\": 16, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M6.749.097a8.054 8.054 0 012.502 0 .75.75 0 11-.233 1.482 6.554 6.554 0 00-2.036 0A.75.75 0 016.749.097zM4.345 1.693A.75.75 0 014.18 2.74a6.542 6.542 0 00-1.44 1.44.75.75 0 01-1.212-.883 8.042 8.042 0 011.769-1.77.75.75 0 011.048.166zm7.31 0a.75.75 0 011.048-.165 8.04 8.04 0 011.77 1.769.75.75 0 11-1.214.883 6.542 6.542 0 00-1.439-1.44.75.75 0 01-.165-1.047zM.955 6.125a.75.75 0 01.624.857 6.554 6.554 0 000 2.036.75.75 0 01-1.482.233 8.054 8.054 0 010-2.502.75.75 0 01.858-.624zm14.09 0a.75.75 0 01.858.624 8.057 8.057 0 010 2.502.75.75 0 01-1.482-.233 6.55 6.55 0 000-2.036.75.75 0 01.624-.857zm-13.352 5.53a.75.75 0 011.048.165 6.542 6.542 0 001.439 1.44.75.75 0 01-.883 1.212 8.04 8.04 0 01-1.77-1.769.75.75 0 01.166-1.048zm12.614 0a.75.75 0 01.165 1.048 8.038 8.038 0 01-1.769 1.77.75.75 0 11-.883-1.214 6.543 6.543 0 001.44-1.439.75.75 0 011.047-.165zm-8.182 3.39a.75.75 0 01.857-.624 6.55 6.55 0 002.036 0 .75.75 0 01.233 1.482 8.057 8.057 0 01-2.502 0 .75.75 0 01-.624-.858z\\\"></path>\" }, \"24\": { \"width\": 24, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M10.157 1.154a11.07 11.07 0 013.686 0 .75.75 0 01-.25 1.479 9.568 9.568 0 00-3.186 0 .75.75 0 01-.25-1.48zM6.68 3.205a.75.75 0 01-.177 1.046A9.558 9.558 0 004.25 6.503a.75.75 0 01-1.223-.87 11.058 11.058 0 012.606-2.605.75.75 0 011.046.177zm10.64 0a.75.75 0 011.046-.177 11.058 11.058 0 012.605 2.606.75.75 0 11-1.222.869 9.558 9.558 0 00-2.252-2.252.75.75 0 01-.177-1.046zM2.018 9.543a.75.75 0 01.615.864 9.568 9.568 0 000 3.186.75.75 0 01-1.48.25 11.07 11.07 0 010-3.686.75.75 0 01.865-.614zm19.964 0a.75.75 0 01.864.614 11.066 11.066 0 010 3.686.75.75 0 01-1.479-.25 9.56 9.56 0 000-3.186.75.75 0 01.615-.864zM3.205 17.32a.75.75 0 011.046.177 9.558 9.558 0 002.252 2.252.75.75 0 11-.87 1.223 11.058 11.058 0 01-2.605-2.606.75.75 0 01.177-1.046zm17.59 0a.75.75 0 01.176 1.046 11.057 11.057 0 01-2.605 2.605.75.75 0 11-.869-1.222 9.558 9.558 0 002.252-2.252.75.75 0 011.046-.177zM9.543 21.982a.75.75 0 01.864-.615 9.56 9.56 0 003.186 0 .75.75 0 01.25 1.48 11.066 11.066 0 01-3.686 0 .75.75 0 01-.614-.865z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nIssueDraftIcon.defaultProps = {\n className: 'octicon octicon-issue-draft',\n size: 16,\n verticalAlign: 'text-bottom'\n};\n\nfunction IssueOpenedIcon(props) {\n var svgDataByHeight = { \"16\": { \"width\": 16, \"path\": \"<path d=\\\"M8 9.5a1.5 1.5 0 100-3 1.5 1.5 0 000 3z\\\"></path><path fill-rule=\\\"evenodd\\\" d=\\\"M8 0a8 8 0 100 16A8 8 0 008 0zM1.5 8a6.5 6.5 0 1113 0 6.5 6.5 0 01-13 0z\\\"></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 1zm0 13a2 2 0 100-4 2 2 0 000 4z\\\"></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 d=\\\"M5.029 2.217a6.5 6.5 0 019.437 5.11.75.75 0 101.492-.154 8 8 0 00-14.315-4.03L.427 1.927A.25.25 0 000 2.104V5.75A.25.25 0 00.25 6h3.646a.25.25 0 00.177-.427L2.715 4.215a6.491 6.491 0 012.314-1.998zM1.262 8.169a.75.75 0 00-1.22.658 8.001 8.001 0 0014.315 4.03l1.216 1.216a.25.25 0 00.427-.177V10.25a.25.25 0 00-.25-.25h-3.646a.25.25 0 00-.177.427l1.358 1.358a6.501 6.501 0 01-11.751-3.11.75.75 0 00-.272-.506z\\\"></path><path d=\\\"M9.06 9.06a1.5 1.5 0 11-2.12-2.12 1.5 1.5 0 012.12 2.12z\\\"></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=\\\"M13.414 13.414a2 2 0 11-2.828-2.828 2 2 0 012.828 2.828z\\\"></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 IterationsIcon(props) {\n var svgDataByHeight = { \"16\": { \"width\": 16, \"path\": \"<path d=\\\"M2.5 7.25a4.75 4.75 0 019.5 0 .75.75 0 001.5 0 6.25 6.25 0 10-6.25 6.25H12v2.146c0 .223.27.335.427.177l2.896-2.896a.25.25 0 000-.354l-2.896-2.896a.25.25 0 00-.427.177V12H7.25A4.75 4.75 0 012.5 7.25z\\\"></path>\" }, \"24\": { \"width\": 24, \"path\": \"<path d=\\\"M2.5 10.5a8 8 0 1116 0 .75.75 0 001.5 0 9.5 9.5 0 10-9.5 9.5h10.94l-2.72 2.72a.75.75 0 101.06 1.06l3.735-3.735c.44-.439.44-1.151 0-1.59L19.78 14.72a.75.75 0 00-1.06 1.06l2.72 2.72H10.5a8 8 0 01-8-8z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nIterationsIcon.defaultProps = {\n className: 'octicon octicon-iterations',\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 KeyAsteriskIcon(props) {\n var svgDataByHeight = { \"16\": { \"width\": 16, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M0 2.75A2.75 2.75 0 012.75 0h10.5A2.75 2.75 0 0116 2.75v10.5A2.75 2.75 0 0113.25 16H2.75A2.75 2.75 0 010 13.25V2.75zM2.75 1.5c-.69 0-1.25.56-1.25 1.25v10.5c0 .69.56 1.25 1.25 1.25h10.5c.69 0 1.25-.56 1.25-1.25V2.75c0-.69-.56-1.25-1.25-1.25H2.75z\\\"></path><path d=\\\"M8 4a.75.75 0 01.75.75V6.7l1.69-.975a.75.75 0 01.75 1.3L9.5 8l1.69.976a.75.75 0 01-.75 1.298L8.75 9.3v1.951a.75.75 0 01-1.5 0V9.299l-1.69.976a.75.75 0 01-.75-1.3L6.5 8l-1.69-.975a.75.75 0 01.75-1.3l1.69.976V4.75A.75.75 0 018 4z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nKeyAsteriskIcon.defaultProps = {\n className: 'octicon octicon-key-asterisk',\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 d=\\\"M4.25 7.25a.75.75 0 000 1.5h7.5a.75.75 0 000-1.5h-7.5z\\\"></path><path fill-rule=\\\"evenodd\\\" d=\\\"M16 8A8 8 0 110 8a8 8 0 0116 0zm-1.5 0a6.5 6.5 0 11-13 0 6.5 6.5 0 0113 0z\\\"></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 NoEntryFillIcon(props) {\n var svgDataByHeight = { \"12\": { \"width\": 12, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M6 0a6 6 0 100 12A6 6 0 006 0zm3 5H3v2h6V5z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nNoEntryFillIcon.defaultProps = {\n className: 'octicon octicon-no-entry-fill',\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=\\\"M5.604.089A.75.75 0 016 .75v4.77h.711a.75.75 0 110 1.5H3.759a.75.75 0 110-1.5H4.5V2.15l-.334.223a.75.75 0 01-.832-1.248l1.5-1a.75.75 0 01.77-.037zM9 4.75A.75.75 0 019.75 4h4a.75.75 0 01.53 1.28l-1.89 1.892c.312.076.604.18.867.319.742.391 1.244 1.063 1.244 2.005 0 .653-.231 1.208-.629 1.627-.386.408-.894.653-1.408.777-1.01.243-2.225.063-3.124-.527a.75.75 0 01.822-1.254c.534.35 1.32.474 1.951.322.306-.073.53-.201.67-.349.129-.136.218-.32.218-.596 0-.308-.123-.509-.444-.678-.373-.197-.98-.318-1.806-.318a.75.75 0 01-.53-1.28l1.72-1.72H9.75A.75.75 0 019 4.75zm-3.587 5.763c-.35-.05-.77.113-.983.572a.75.75 0 11-1.36-.632c.508-1.094 1.589-1.565 2.558-1.425 1 .145 1.872.945 1.872 2.222 0 1.433-1.088 2.192-1.79 2.681-.308.216-.571.397-.772.573H7a.75.75 0 010 1.5H3.75a.75.75 0 01-.75-.75c0-.69.3-1.211.67-1.61.348-.372.8-.676 1.15-.92.8-.56 1.18-.904 1.18-1.474 0-.473-.267-.69-.587-.737z\\\"></path>\" }, \"24\": { \"width\": 24, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M8.114 2.094a.75.75 0 01.386.656V9h1.252a.75.75 0 110 1.5H5.75a.75.75 0 010-1.5H7V4.103l-.853.533a.75.75 0 01-.795-1.272l2-1.25a.75.75 0 01.762-.02zm4.889 5.66a.75.75 0 01.75-.75h5.232a.75.75 0 01.53 1.28l-2.776 2.777c.55.097 1.057.253 1.492.483.905.477 1.504 1.284 1.504 2.418 0 .966-.471 1.75-1.172 2.27-.687.511-1.587.77-2.521.77-1.367 0-2.274-.528-2.667-.756a.75.75 0 01.755-1.297c.331.193.953.553 1.912.553.673 0 1.243-.188 1.627-.473.37-.275.566-.635.566-1.067 0-.5-.219-.836-.703-1.091-.538-.284-1.375-.443-2.471-.443a.75.75 0 01-.53-1.28l2.643-2.644h-3.421a.75.75 0 01-.75-.75zM7.88 15.215a1.4 1.4 0 00-1.446.83.75.75 0 01-1.37-.61 2.9 2.9 0 012.986-1.71 2.565 2.565 0 011.557.743c.434.446.685 1.058.685 1.778 0 1.641-1.254 2.437-2.12 2.986-.538.341-1.18.694-1.495 1.273H9.75a.75.75 0 010 1.5h-4a.75.75 0 01-.75-.75c0-1.799 1.337-2.63 2.243-3.21 1.032-.659 1.55-1.031 1.55-1.8 0-.355-.116-.584-.26-.732a1.068 1.068 0 00-.652-.298z\\\"></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 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 PasteIcon(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\nPasteIcon.defaultProps = {\n className: 'octicon octicon-paste',\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 PersonFillIcon(props) {\n var svgDataByHeight = { \"16\": { \"width\": 16, \"path\": \"<path d=\\\"M4.243 4.757a3.757 3.757 0 115.851 3.119 6.006 6.006 0 013.9 5.339.75.75 0 01-.715.784H2.721a.75.75 0 01-.714-.784 6.006 6.006 0 013.9-5.34 3.753 3.753 0 01-1.664-3.118z\\\"></path>\" }, \"24\": { \"width\": 24, \"path\": \"<path d=\\\"M12 2.5a5.25 5.25 0 00-2.519 9.857 9.005 9.005 0 00-6.477 8.37.75.75 0 00.727.773H20.27a.75.75 0 00.727-.772 9.005 9.005 0 00-6.477-8.37A5.25 5.25 0 0012 2.5z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nPersonFillIcon.defaultProps = {\n className: 'octicon octicon-person-fill',\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>\" }, \"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\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 RowsIcon(props) {\n var svgDataByHeight = { \"16\": { \"width\": 16, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M16 2.75A1.75 1.75 0 0014.25 1H1.75A1.75 1.75 0 000 2.75v2.5A1.75 1.75 0 001.75 7h12.5A1.75 1.75 0 0016 5.25v-2.5zm-1.75-.25a.25.25 0 01.25.25v2.5a.25.25 0 01-.25.25H1.75a.25.25 0 01-.25-.25v-2.5a.25.25 0 01.25-.25h12.5zM16 10.75A1.75 1.75 0 0014.25 9H1.75A1.75 1.75 0 000 10.75v2.5A1.75 1.75 0 001.75 15h12.5A1.75 1.75 0 0016 13.25v-2.5zm-1.75-.25a.25.25 0 01.25.25v2.5a.25.25 0 01-.25.25H1.75a.25.25 0 01-.25-.25v-2.5a.25.25 0 01.25-.25h12.5z\\\"></path>\" }, \"24\": { \"width\": 24, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M22 3.75A1.75 1.75 0 0020.25 2H3.75A1.75 1.75 0 002 3.75v5.5c0 .966.784 1.75 1.75 1.75h16.5A1.75 1.75 0 0022 9.25v-5.5zm-1.75-.25a.25.25 0 01.25.25v5.5a.25.25 0 01-.25.25H3.75a.25.25 0 01-.25-.25v-5.5a.25.25 0 01.25-.25h16.5zM22 14.75A1.75 1.75 0 0020.25 13H3.75A1.75 1.75 0 002 14.75v5.5c0 .966.784 1.75 1.75 1.75h16.5A1.75 1.75 0 0022 20.25v-5.5zm-1.75-.25a.25.25 0 01.25.25v5.5a.25.25 0 01-.25.25H3.75a.25.25 0 01-.25-.25v-5.5a.25.25 0 01.25-.25h16.5z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nRowsIcon.defaultProps = {\n className: 'octicon octicon-rows',\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 SingleSelectIcon(props) {\n var svgDataByHeight = { \"16\": { \"width\": 16, \"path\": \"<path d=\\\"M5.06 7.356l2.795 2.833c.08.081.21.081.29 0l2.794-2.833c.13-.131.038-.356-.145-.356H5.206c-.183 0-.275.225-.145.356z\\\"></path><path fill-rule=\\\"evenodd\\\" d=\\\"M1 2.75C1 1.784 1.784 1 2.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.75zm1.75-.25a.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-.25H2.75z\\\"></path>\" }, \"24\": { \"width\": 24, \"path\": \"<path d=\\\"M7.854 10.854l3.792 3.792a.5.5 0 00.708 0l3.793-3.792a.5.5 0 00-.354-.854H8.207a.5.5 0 00-.353.854z\\\"></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\nSingleSelectIcon.defaultProps = {\n className: 'octicon octicon-single-select',\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 SortAscIcon(props) {\n var svgDataByHeight = { \"16\": { \"width\": 16, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M0 4.25a.75.75 0 01.75-.75h2.5a.75.75 0 010 1.5H.75A.75.75 0 010 4.25zm0 4a.75.75 0 01.75-.75h4.5a.75.75 0 010 1.5H.75A.75.75 0 010 8.25zm0 4a.75.75 0 01.75-.75h7.5a.75.75 0 010 1.5H.75a.75.75 0 01-.75-.75zm12.927-9.677a.25.25 0 00-.354 0l-3 3A.25.25 0 009.75 6H12v6.75a.75.75 0 001.5 0V6h2.25a.25.25 0 00.177-.427l-3-3z\\\"></path>\" }, \"24\": { \"width\": 24, \"path\": \"<path d=\\\"M18.5 17.25a.75.75 0 01-1.5 0V7.56l-2.22 2.22a.75.75 0 11-1.06-1.06l3.5-3.5a.75.75 0 011.06 0l3.5 3.5a.75.75 0 01-1.06 1.06L18.5 7.56v9.69zm-15.75.25a.75.75 0 010-1.5h9.5a.75.75 0 010 1.5h-9.5zm0-5a.75.75 0 010-1.5h5.5a.75.75 0 010 1.5h-5.5zm0-5a.75.75 0 010-1.5h3.5a.75.75 0 010 1.5h-3.5z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nSortAscIcon.defaultProps = {\n className: 'octicon octicon-sort-asc',\n size: 16,\n verticalAlign: 'text-bottom'\n};\n\nfunction SortDescIcon(props) {\n var svgDataByHeight = { \"16\": { \"width\": 16, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M0 4.25a.75.75 0 01.75-.75h7.5a.75.75 0 010 1.5H.75A.75.75 0 010 4.25zm0 4a.75.75 0 01.75-.75h4.5a.75.75 0 010 1.5H.75A.75.75 0 010 8.25zm0 4a.75.75 0 01.75-.75h2.5a.75.75 0 010 1.5H.75a.75.75 0 01-.75-.75z\\\"></path><path d=\\\"M13.5 10h2.25a.25.25 0 01.177.427l-3 3a.25.25 0 01-.354 0l-3-3A.25.25 0 019.75 10H12V3.75a.75.75 0 011.5 0V10z\\\"></path>\" }, \"24\": { \"width\": 24, \"path\": \"<path d=\\\"M18.5 16.44V6.75a.75.75 0 00-1.5 0v9.69l-2.22-2.22a.75.75 0 10-1.06 1.06l3.5 3.5a.75.75 0 001.06 0l3.5-3.5a.75.75 0 10-1.06-1.06l-2.22 2.22zM2 7.25a.75.75 0 01.75-.75h9.5a.75.75 0 010 1.5h-9.5A.75.75 0 012 7.25zm0 5a.75.75 0 01.75-.75h5.5a.75.75 0 010 1.5h-5.5a.75.75 0 01-.75-.75zm0 5a.75.75 0 01.75-.75h3.5a.75.75 0 010 1.5h-3.5a.75.75 0 01-.75-.75z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nSortDescIcon.defaultProps = {\n className: 'octicon octicon-sort-desc',\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 StackIcon(props) {\n var svgDataByHeight = { \"16\": { \"width\": 16, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M7.122.392a1.75 1.75 0 011.756 0l5.003 2.902c.83.481.83 1.68 0 2.162L8.878 8.358a1.75 1.75 0 01-1.756 0L2.119 5.456a1.25 1.25 0 010-2.162L7.122.392zM8.125 1.69a.25.25 0 00-.25 0l-4.63 2.685 4.63 2.685a.25.25 0 00.25 0l4.63-2.685-4.63-2.685zM1.601 7.789a.75.75 0 011.025-.273l5.249 3.044a.25.25 0 00.25 0l5.249-3.044a.75.75 0 01.752 1.298l-5.248 3.044a1.75 1.75 0 01-1.756 0L1.874 8.814A.75.75 0 011.6 7.789zm0 3.5a.75.75 0 011.025-.273l5.249 3.044a.25.25 0 00.25 0l5.249-3.044a.75.75 0 01.752 1.298l-5.248 3.044a1.75 1.75 0 01-1.756 0l-5.248-3.044a.75.75 0 01-.273-1.025z\\\"></path>\" }, \"24\": { \"width\": 24, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M11.063 1.456a1.75 1.75 0 011.874 0l8.383 5.316a1.75 1.75 0 010 2.956l-8.383 5.316a1.75 1.75 0 01-1.874 0L2.68 9.728a1.75 1.75 0 010-2.956l8.383-5.316zm1.071 1.267a.25.25 0 00-.268 0L3.483 8.039a.25.25 0 000 .422l8.383 5.316a.25.25 0 00.268 0l8.383-5.316a.25.25 0 000-.422l-8.383-5.316z\\\"></path><path fill-rule=\\\"evenodd\\\" d=\\\"M1.867 12.324a.75.75 0 011.035-.232l8.964 5.685a.25.25 0 00.268 0l8.964-5.685a.75.75 0 01.804 1.267l-8.965 5.685a1.75 1.75 0 01-1.874 0l-8.965-5.685a.75.75 0 01-.231-1.035z\\\"></path><path fill-rule=\\\"evenodd\\\" d=\\\"M1.867 16.324a.75.75 0 011.035-.232l8.964 5.685a.25.25 0 00.268 0l8.964-5.685a.75.75 0 01.804 1.267l-8.965 5.685a1.75 1.75 0 01-1.874 0l-8.965-5.685a.75.75 0 01-.231-1.035z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nStackIcon.defaultProps = {\n className: 'octicon octicon-stack',\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 TelescopeFillIcon(props) {\n var svgDataByHeight = { \"16\": { \"width\": 16, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M8.531 10.21a.75.75 0 01.944.253l2.644 3.864a.75.75 0 11-1.238.847L9 12.424v2.826a.75.75 0 01-1.5 0v-2.826l-1.881 2.75a.75.75 0 01-1.238-.848l2.048-2.992a.75.75 0 01.293-.252l1.81-.871zM11.905.42a1.5 1.5 0 012.144.49l1.692 2.93a1.5 1.5 0 01-.649 2.102L2.895 11.815a1.5 1.5 0 01-1.95-.602l-.68-1.176a1.5 1.5 0 01.455-1.99L11.905.422zM3.279 8.119l.835 1.445 1.355-.653-.947-1.64-1.243.848zm7.728-1.874L9.6 3.808l1.243-.848 1.52 2.631-1.356.653z\\\"></path>\" }, \"24\": { \"width\": 24, \"path\": \"<path d=\\\"M17.155 22.87a.75.75 0 00.226-1.036l-4-6.239a.75.75 0 00-.941-.277l-2.75 1.25a.75.75 0 00-.318.273l-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><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.066l1.987 3.44-1.36.645-1.862-3.225 1.235-.86zm7.842-5.455l2.857 4.76 1.361-.646-2.984-4.973-1.234.859z\\\"></path>\" } };\n return React.createElement('svg', getSvgProps(_extends({}, props, { svgDataByHeight: svgDataByHeight })));\n}\n\nTelescopeFillIcon.defaultProps = {\n className: 'octicon octicon-telescope-fill',\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 = { \"12\": { \"width\": 12, \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M1.757 10.243a6 6 0 118.486-8.486 6 6 0 01-8.486 8.486zM6 4.763l-2-2L2.763 4l2 2-2 2L4 9.237l2-2 2 2L9.237 8l-2-2 2-2L8 2.763l-2 2z\\\"></path>\" }, \"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, AlertFillIcon, 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, ClockIcon, CodeIcon, CodeReviewIcon, CodeSquareIcon, CodescanIcon, CodescanCheckmarkIcon, CodespacesIcon, ColumnsIcon, CommentIcon, CommentDiscussionIcon, CommitIcon, ContainerIcon, CopyIcon, CpuIcon, CreditCardIcon, CrossReferenceIcon, DashIcon, DatabaseIcon, DependabotIcon, DesktopDownloadIcon, DeviceCameraIcon, DeviceCameraVideoIcon, DeviceDesktopIcon, DeviceMobileIcon, DiamondIcon, 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, GitMergeIcon, GitPullRequestIcon, GitPullRequestClosedIcon, GitPullRequestDraftIcon, GlobeIcon, GrabberIcon, GraphIcon, HashIcon, HeadingIcon, HeartIcon, HeartFillIcon, HistoryIcon, HomeIcon, HomeFillIcon, HorizontalRuleIcon, HourglassIcon, HubotIcon, ImageIcon, InboxIcon, InfinityIcon, InfoIcon, IssueClosedIcon, IssueDraftIcon, IssueOpenedIcon, IssueReopenedIcon, ItalicIcon, IterationsIcon, KebabHorizontalIcon, KeyIcon, KeyAsteriskIcon, LawIcon, LightBulbIcon, LinkIcon, LinkExternalIcon, ListOrderedIcon, ListUnorderedIcon, LocationIcon, LockIcon, LogoGistIcon, LogoGithubIcon, MailIcon, MarkGithubIcon, MarkdownIcon, MegaphoneIcon, MentionIcon, MeterIcon, MilestoneIcon, MirrorIcon, MoonIcon, MortarBoardIcon, MultiSelectIcon, MuteIcon, NoEntryIcon, NoEntryFillIcon, NorthStarIcon, NoteIcon, NumberIcon, OrganizationIcon, PackageIcon, PackageDependenciesIcon, PackageDependentsIcon, PaintbrushIcon, PaperAirplaneIcon, PasteIcon, PencilIcon, PeopleIcon, PersonIcon, PersonAddIcon, PersonFillIcon, PinIcon, PlayIcon, PlugIcon, PlusIcon, PlusCircleIcon, ProjectIcon, PulseIcon, QuestionIcon, QuoteIcon, ReplyIcon, RepoIcon, RepoCloneIcon, RepoForkedIcon, RepoPullIcon, RepoPushIcon, RepoTemplateIcon, ReportIcon, RocketIcon, RowsIcon, RssIcon, RubyIcon, ScreenFullIcon, ScreenNormalIcon, SearchIcon, ServerIcon, ShareIcon, ShareAndroidIcon, ShieldIcon, ShieldCheckIcon, ShieldLockIcon, ShieldXIcon, SidebarCollapseIcon, SidebarExpandIcon, SignInIcon, SignOutIcon, SingleSelectIcon, SkipIcon, SmileyIcon, SortAscIcon, SortDescIcon, SquareIcon, SquareFillIcon, SquirrelIcon, StackIcon, StarIcon, StarFillIcon, StopIcon, StopwatchIcon, StrikethroughIcon, SunIcon, SyncIcon, TabIcon, TableIcon, TagIcon, TasklistIcon, TelescopeIcon, TelescopeFillIcon, 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 {get} from '../constants'\nimport sx, {SxProp} from '../sx'\nimport {ComponentProps} from '../utils/types'\n\nconst StyledButton = styled.button<SxProp>`\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.fg.muted')};\n\n &:focus {\n box-shadow: ${get('shadows.btn.focusShadow')};\n }\n\n &:hover {\n color: ${get('colors.accent.fg')};\n }\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 {useEffect, useLayoutEffect} from 'react'\n\nconst useIsomorphicLayoutEffect =\n typeof window !== 'undefined' &&\n typeof window.document !== 'undefined' &&\n typeof window.document.createElement !== 'undefined'\n ? useLayoutEffect\n : useEffect\n\nexport default useIsomorphicLayoutEffect\n","import React from 'react'\nimport {PositionSettings, getAnchoredPosition, AnchorPosition} from '../behaviors/anchoredPosition'\nimport {useProvidedRefOrCreate} from './useProvidedRefOrCreate'\nimport {useResizeObserver} from './useResizeObserver'\nimport useLayoutEffect from '../utils/useIsomorphicLayoutEffect'\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 useLayoutEffect(updatePosition, [updatePosition])\n\n useResizeObserver(updatePosition)\n\n return {\n floatingElementRef,\n anchorElementRef,\n position\n }\n}\n","import useLayoutEffect from '../utils/useIsomorphicLayoutEffect'\n\nexport function useResizeObserver(callback: () => void) {\n 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 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)<SxProp>`\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'\nimport useLayoutEffect from '../utils/useIsomorphicLayoutEffect'\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 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 {Portal, PortalProps, registerPortalRoot} from './Portal'\n\nexport default Portal\nexport {registerPortalRoot}\nexport type {PortalProps}\n","import {ForwardedRef, useRef} from 'react'\nimport useLayoutEffect from '../utils/useIsomorphicLayoutEffect'\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 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 // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [...refs, combinedRef.current])\n\n return combinedRef\n}\n","import _react, { useContext, useLayoutEffect, useMemo, useState } from \"react\";\n// Default context value to use in case there is no SSRProvider. This is fine for\n// client-only apps. In order to support multiple copies of React Aria potentially\n// being on the page at once, the prefix is set to a random number. SSRProvider\n// will reset this to zero for consistency between server and client, so in the\n// SSR case multiple copies of React Aria is not supported.\nconst $f01a183cc7bdff77849e49ad26eb904$var$defaultContext = {\n prefix: String(Math.round(Math.random() * 10000000000)),\n current: 0\n};\n\nconst $f01a183cc7bdff77849e49ad26eb904$var$SSRContext = /*#__PURE__*/_react.createContext($f01a183cc7bdff77849e49ad26eb904$var$defaultContext);\n\n/**\n * When using SSR with React Aria, applications must be wrapped in an SSRProvider.\n * This ensures that auto generated ids are consistent between the client and server.\n */\nexport function SSRProvider(props) {\n let cur = useContext($f01a183cc7bdff77849e49ad26eb904$var$SSRContext);\n let value = useMemo(() => ({\n // If this is the first SSRProvider, start with an empty string prefix, otherwise\n // append and increment the counter.\n prefix: cur === $f01a183cc7bdff77849e49ad26eb904$var$defaultContext ? '' : cur.prefix + \"-\" + ++cur.current,\n current: 0\n }), [cur]);\n return /*#__PURE__*/_react.createElement($f01a183cc7bdff77849e49ad26eb904$var$SSRContext.Provider, {\n value: value\n }, props.children);\n}\nlet $f01a183cc7bdff77849e49ad26eb904$var$canUseDOM = Boolean(typeof window !== 'undefined' && window.document && window.document.createElement);\n/** @private */\n\nexport function useSSRSafeId(defaultId) {\n let ctx = useContext($f01a183cc7bdff77849e49ad26eb904$var$SSRContext); // If we are rendering in a non-DOM environment, and there's no SSRProvider,\n // provide a warning to hint to the developer to add one.\n\n if (ctx === $f01a183cc7bdff77849e49ad26eb904$var$defaultContext && !$f01a183cc7bdff77849e49ad26eb904$var$canUseDOM) {\n console.warn('When server rendering, you must wrap your application in an <SSRProvider> to ensure consistent ids are generated between the client and server.');\n }\n\n return useMemo(() => defaultId || \"react-aria\" + ctx.prefix + \"-\" + ++ctx.current, [defaultId]);\n}\n/**\n * Returns whether the component is currently being server side rendered or\n * hydrated on the client. Can be used to delay browser-specific rendering\n * until after hydration.\n */\n\nexport function useIsSSR() {\n let cur = useContext($f01a183cc7bdff77849e49ad26eb904$var$SSRContext);\n let isInSSRContext = cur !== $f01a183cc7bdff77849e49ad26eb904$var$defaultContext;\n let [isSSR, setIsSSR] = useState(isInSSRContext); // If on the client, and the component was initially server rendered,\n // then schedule a layout effect to update the component after hydration.\n\n if (typeof window !== 'undefined' && isInSSRContext) {\n // This if statement technically breaks the rules of hooks, but is safe\n // because the condition never changes after mounting.\n // eslint-disable-next-line react-hooks/rules-of-hooks\n useLayoutEffect(() => {\n setIsSSR(false);\n }, []);\n }\n\n return isSSR;\n}\n//# sourceMappingURL=module.js.map\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} from '../constants'\nimport {useOnEscapePress, useProvidedRefOrCreate} 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 {useCombinedRefs} from '../hooks/useCombinedRefs'\nimport {useSSRSafeId} from '@react-aria/ssr'\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 * A reference to the rendered Button’s DOM node, used together with\n * `autoFocus` for `focusTrap`’s `initialFocus`.\n */\n ref?: React.RefObject<HTMLButtonElement>\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\ntype StyledDialogProps = {\n width?: DialogWidth\n height?: DialogHeight\n} & SxProp\n\nconst StyledDialog = styled.div<StyledDialogProps>`\n display: flex;\n flex-direction: column;\n background-color: ${get('colors.canvas.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 ${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 footerButtons = []\n } = props\n const dialogLabelId = useSSRSafeId()\n const dialogDescriptionId = useSSRSafeId()\n const autoFocusedFooterButtonRef = useRef<HTMLButtonElement>(null)\n for (const footerButton of footerButtons) {\n if (footerButton.autoFocus) {\n footerButton.ref = autoFocusedFooterButtonRef\n }\n }\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, initialFocusRef: autoFocusedFooterButtonRef})\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.div.attrs<SxProp>({as: 'header'})`\n box-shadow: 0 1px 0 ${get('colors.border.default')};\n padding: ${get('space.2')};\n z-index: 1;\n flex-shrink: 0;\n`\n\nconst Title = styled.div<SxProp>`\n font-size: ${get('fontSizes.1')};\n font-weight: ${get('fontWeights.bold')};\n\n ${sx};\n`\n\nconst Subtitle = styled.div<SxProp>`\n font-size: ${get('fontSizes.0')};\n margin-top: ${get('space.1')};\n color: ${get('colors.fg.muted')};\n\n ${sx};\n`\n\nconst Body = styled.div<SxProp>`\n flex-grow: 1;\n overflow: auto;\n padding: ${get('space.3')};\n\n ${sx};\n`\n\nconst Footer = styled.div.attrs<SxProp>({as: 'footer'})`\n box-shadow: 0 -1px 0 ${get('colors.border.default')};\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\n ${sx};\n`\n\nconst buttonTypes = {\n normal: Button,\n primary: ButtonPrimary,\n danger: ButtonDanger\n}\nconst Buttons: React.FC<{buttons: DialogButtonProps[]}> = ({buttons}) => {\n const autoFocusRef = useProvidedRefOrCreate<HTMLButtonElement>(buttons.find(button => button.autoFocus)?.ref)\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 }, [autoFocusRef, 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 variant={buttonType}\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.fg.muted')};\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.fg.muted')};\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 }\n const confirmButton: DialogButtonProps = {\n content: confirmButtonContent,\n buttonType: confirmButtonType,\n onClick: onConfirmButtonClick,\n autoFocus: true\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.fg.muted')};\n\n ${({variant}) =>\n variant === 'filled' &&\n css`\n background: ${get('colors.canvas.subtle')};\n margin: ${get('space.2')} 0;\n border-top: 1px solid ${get('colors.neutral.muted')};\n border-bottom: 1px solid ${get('colors.neutral.muted')};\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 sx, {SxProp} from './sx'\nimport {ComponentProps} from './utils/types'\n\ntype StyledTruncateProps = {\n title: string\n inline?: boolean\n expandable?: boolean\n} & MaxWidthProps &\n SxProp\n\nconst Truncate = styled.div<StyledTruncateProps>`\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.border.muted')};\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} 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 {useTheme} from '../ThemeProvider'\nimport {\n activeDescendantActivatedDirectly,\n activeDescendantActivatedIndirectly,\n isActiveDescendantAttribute\n} from '../behaviors/focusZone'\nimport {useSSRSafeId} from '@react-aria/ssr'\nimport {ForwardRefComponent as PolymorphicForwardRefComponent} from '@radix-ui/react-polymorphic'\nimport {AriaRole} from '../utils/types'\n\n/**\n * Contract for props passed to the `Item` component.\n */\nexport interface ItemProps extends 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 * @deprecated Use `trailingVisual` instead\n * Icon (or similar) positioned after `Item` text.\n */\n trailingIcon?: React.FunctionComponent<IconProps>\n\n /**\n * @deprecated Use `trailingVisual` instead\n * Text positioned after `Item` text and optional trailing icon.\n */\n trailingText?: string\n\n /**\n * Icon or text positioned after `Item` text.\n */\n trailingVisual?: React.ReactNode\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 /**\n * Node to be included inside the item before the text.\n */\n children?: React.ReactNode\n\n /**\n * The ARIA role describing the function of `List` component. `option` is a common value.\n */\n role?: AriaRole\n\n /**\n * An item to pass back in the `onAction` callback, meant as\n */\n item?: ItemInput\n}\n\nconst getItemVariant = (variant = 'default', disabled?: boolean) => {\n if (disabled) {\n return {\n color: get('colors.primer.fg.disabled'),\n iconColor: get('colors.primer.fg.disabled'),\n annotationColor: get('colors.primer.fg.disabled'),\n hoverCursor: 'default'\n }\n }\n\n switch (variant) {\n case 'danger':\n return {\n color: get('colors.danger.fg'),\n iconColor: get('colors.danger.fg'),\n annotationColor: get('colors.fg.muted'),\n hoverCursor: 'pointer',\n hoverBg: get('colors.actionListItem.danger.hoverBg'),\n focusBg: get('colors.actionListItem.danger.activeBg'),\n hoverText: get('colors.actionListItem.danger.hoverText')\n }\n default:\n return {\n color: get('colors.fg.default'),\n iconColor: get('colors.fg.muted'),\n annotationColor: get('colors.fg.muted'),\n hoverCursor: 'pointer',\n hoverBg: get('colors.actionListItem.default.hoverBg'),\n focusBg: get('colors.actionListItem.default.activeBg')\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 } & 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 text-decoration: none;\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(\n --item-hover-bg-override,\n ${({variant, item}) => getItemVariant(variant, item?.disabled).hoverBg}\n );\n color: ${({variant, item}) => getItemVariant(variant, item?.disabled).hoverText};\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.border.muted')};\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: ${({variant, item}) => getItemVariant(variant, item?.disabled).focusBg};\n }\n &[${isActiveDescendantAttribute}='${activeDescendantActivatedIndirectly}'] {\n background: ${({variant, item}) => getItemVariant(variant, item?.disabled).hoverBg};\n }\n\n &:focus {\n background: ${({variant, item}) => getItemVariant(variant, item?.disabled).focusBg};\n outline: none;\n }\n\n &:active {\n background: ${({variant, item}) => getItemVariant(variant, item?.disabled).focusBg};\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 display: flex;\n justify-content: center;\n align-items: center;\n flex-shrink: 0;\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 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.fg.muted')};\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 MultiSelectIcon = styled.svg<{selected?: boolean}>`\n rect {\n fill: ${({selected}) => (selected ? get('colors.accent.fg') : get('colors.canvas.default'))};\n stroke: ${({selected}) => (selected ? get('colors.accent.fg') : get('colors.border.default'))};\n shape-rendering: auto; // this is a workaround to override global style in github/github, see primer/react#1666\n }\n path {\n fill: ${get('colors.fg.onEmphasis')};\n boxshadow: ${get('shadow.small')};\n opacity: ${({selected}) => (selected ? 1 : 0)};\n }\n`\n\n/**\n * An actionable or selectable `Item` with an optional icon and description.\n */\nexport const Item = React.forwardRef((itemProps, ref) => {\n const {\n as: Component,\n text,\n description,\n descriptionVariant = 'inline',\n selected,\n selectionVariant,\n leadingVisual: LeadingVisual,\n trailingIcon: TrailingIcon,\n trailingVisual: TrailingVisual,\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 = useSSRSafeId()\n const descriptionId = useSSRSafeId()\n\n const keyPressHandler = useCallback(\n event => {\n if (disabled) {\n return\n }\n onKeyPress?.(event)\n\n if (!event.defaultPrevented && [' ', 'Enter'].includes(event.key)) {\n onAction?.(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, event)\n }\n },\n [onAction, disabled, itemProps, onClick]\n )\n\n const {theme} = useTheme()\n\n return (\n <StyledItem\n ref={ref}\n as={Component}\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 >\n {!!selected === selected && (\n <BaseVisualContainer>\n {selectionVariant === 'multiple' ? (\n <>\n {/**\n * we use a svg instead of an input because there should not\n * be an interactive element inside an option\n * svg copied from primer/css\n */}\n <MultiSelectIcon\n selected={selected}\n width=\"16\"\n height=\"16\"\n viewBox=\"0 0 16 16\"\n xmlns=\"http://www.w3.org/2000/svg\"\n aria-hidden=\"true\"\n >\n <rect x=\"2\" y=\"2\" width=\"12\" height=\"12\" rx=\"4\"></rect>\n <path\n fillRule=\"evenodd\"\n strokeWidth=\"0\"\n d=\"M4.03231 8.69862C3.84775 8.20646 4.49385 7.77554 4.95539 7.77554C5.41693 7.77554 6.80154 9.85246 6.80154 9.85246C6.80154 9.85246 10.2631 4.314 10.4938 4.08323C10.7246 3.85246 11.8785 4.08323 11.4169 5.00631C11.0081 5.82388 7.26308 11.4678 7.26308 11.4678C7.26308 11.4678 6.80154 12.1602 6.34 11.4678C5.87846 10.7755 4.21687 9.19077 4.03231 8.69862Z\"\n />\n </MultiSelectIcon>\n </>\n ) : (\n selected && <CheckIcon fill={theme?.colors.fg.default} />\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 {/* backward compatibility: prefer TrailingVisual but fallback to TrailingIcon */}\n {TrailingVisual ? (\n <TrailingContent variant={variant} disabled={disabled}>\n {typeof TrailingVisual === 'function' ? <TrailingVisual /> : TrailingVisual}\n </TrailingContent>\n ) : TrailingIcon || trailingText ? (\n <TrailingContent variant={variant} disabled={disabled}>\n {trailingText}\n {TrailingIcon && <TrailingIcon />}\n </TrailingContent>\n ) : null}\n </DividedContent>\n </StyledItem>\n )\n}) as PolymorphicForwardRefComponent<'div', ItemProps>\n\nItem.displayName = 'ActionList.Item'\n","import React, {Key} 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'\nimport {Merge} from '../utils/types/Merge'\n\ntype RenderItemFn = (props: ItemProps) => React.ReactElement\n\nexport type ItemInput =\n | Merge<React.ComponentPropsWithoutRef<'div'>, ItemProps>\n | ((Partial<ItemProps> & {renderItem: RenderItemFn}) & {key?: Key})\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?: RenderItemFn\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?: RenderItemFn; 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: RenderItemFn})) & {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.border.muted')};\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 = ('key' in itemProps ? itemProps.key : undefined) ?? 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, {ComponentPropsWithRef, ReactElement, useEffect, useRef} from 'react'\nimport useLayoutEffect from './utils/useIsomorphicLayoutEffect'\nimport {get} from './constants'\nimport {AriaRole, Merge} 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'\nimport {ForwardRefComponent as PolymorphicForwardRefComponent} from '@radix-ui/react-polymorphic'\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} & SxProp\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>`\n background-color: ${get('colors.canvas.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 ${sx};\n`\ntype BaseOverlayProps = {\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 'data-test-id'?: unknown\n top?: number\n left?: number\n portalContainerName?: string\n preventFocusOnOpen?: boolean\n role?: AriaRole\n children?: React.ReactNode\n}\n\ntype OwnOverlayProps = Merge<StyledOverlayProps, BaseOverlayProps>\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, OwnOverlayProps>(\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 preventFocusOnOpen,\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 preventFocusOnOpen\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 '--styled-overlay-visibility': visibility\n } as React.CSSProperties\n }\n />\n </Portal>\n )\n }\n) as PolymorphicForwardRefComponent<'div', OwnOverlayProps>\n\nexport type OverlayProps = ComponentPropsWithRef<typeof Overlay>\n\nOverlay.defaultProps = {\n height: 'auto',\n width: 'auto'\n}\n\nexport default Overlay\n","import React, {useCallback, useEffect} 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 {useSSRSafeId} from '@react-aria/ssr'\nimport {PositionSettings} from '../behaviors/anchoredPosition'\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 Partial<Pick<PositionSettings, 'align' | 'side'>>\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 side,\n align\n}) => {\n const anchorRef = useProvidedRefOrCreate(externalAnchorRef)\n const [overlayRef, updateOverlayRef] = useRenderForcingRef<HTMLDivElement>()\n const anchorId = useSSRSafeId()\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 side,\n align\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\nAnchoredOverlay.defaultProps = {\n side: 'outside-bottom',\n align: 'start'\n}\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 {createContext} from 'react'\n\nexport const AutocompleteContext = createContext<{\n activeDescendantRef: React.MutableRefObject<HTMLElement | null>\n autocompleteSuggestion: string\n // TODO: consider changing `id` to `listboxId` because we're just using it to associate the input and combobox with the listbox\n id: string\n inputRef: React.MutableRefObject<HTMLInputElement | null>\n inputValue: string\n isMenuDirectlyActivated: boolean\n scrollContainerRef: React.MutableRefObject<HTMLElement | null>\n selectedItemLength: number\n setAutocompleteSuggestion: (value: string) => void\n setInputValue: (value: string) => void\n setIsMenuDirectlyActivated: (value: boolean) => void\n setSelectedItemLength: (value: number) => void\n setShowMenu: (value: boolean) => void\n showMenu: boolean\n} | null>(null)\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 styled from 'styled-components'\nimport sx from './sx'\n\nconst UnstyledTextInput = 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 ${sx};\n`\n\nexport default UnstyledTextInput\n","import 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'\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\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 TextInputWrapper = 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.fg.default')};\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.default')};\n border-radius: ${get('radii.2')};\n outline: none;\n box-shadow: ${get('shadows.primer.shadow.inset')};\n cursor: text;\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.fg.muted')};\n margin: 0 ${get('space.2')};\n flex-shrink: 0;\n }\n\n &:focus-within {\n border-color: ${get('colors.accent.emphasis')};\n box-shadow: ${get('shadows.primer.shadow.focus')};\n }\n\n ${props =>\n props.contrast &&\n css`\n background-color: ${get('colors.canvas.inset')};\n `}\n\n ${props =>\n props.disabled &&\n css`\n color: ${get('colors.primer.fg.disabled')};\n background-color: ${get('colors.input.disabledBg')};\n border-color: ${get('colors.border.default')};\n `}\n \n ${props =>\n props.block &&\n css`\n display: block;\n width: 100%;\n `}\n\n ${props =>\n props.block &&\n props.hasIcon &&\n css`\n display: flex;\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\nexport default TextInputWrapper\n","import classnames from 'classnames'\nimport React from 'react'\nimport {ComponentProps, Merge} from './utils/types'\nimport UnstyledTextInput from './_UnstyledTextInput'\nimport TextInputWrapper from './_TextInputWrapper'\n\ntype NonPassthroughProps = {\n className?: string\n icon?: React.ComponentType<{className?: string}>\n} & Pick<\n ComponentProps<typeof TextInputWrapper>,\n 'block' | 'contrast' | 'disabled' | 'sx' | 'theme' | 'width' | 'maxWidth' | 'minWidth' | 'variant'\n>\n\n// Note: using ComponentProps instead of ComponentPropsWithoutRef here would cause a type issue where `css` is a required prop.\ntype TextInputInternalProps = Merge<React.ComponentPropsWithoutRef<typeof UnstyledTextInput>, 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\n return (\n <TextInputWrapper\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 <UnstyledTextInput ref={ref} disabled={disabled} {...inputProps} />\n </TextInputWrapper>\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, {\n ChangeEventHandler,\n FocusEventHandler,\n KeyboardEventHandler,\n MutableRefObject,\n useCallback,\n useContext,\n useEffect,\n useState\n} from 'react'\nimport {ForwardRefComponent as PolymorphicForwardRefComponent} from '@radix-ui/react-polymorphic'\nimport {AutocompleteContext} from './AutocompleteContext'\nimport TextInput from '../TextInput'\nimport {useCombinedRefs} from '../hooks/useCombinedRefs'\nimport {ComponentProps} from '../utils/types'\n\ntype InternalAutocompleteInputProps = {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n as?: React.ComponentType<any>\n}\n\nconst AutocompleteInput = React.forwardRef(\n (\n {as: Component = TextInput, onFocus, onBlur, onChange, onKeyDown, onKeyUp, onKeyPress, value, ...props},\n forwardedRef\n ) => {\n const autocompleteContext = useContext(AutocompleteContext)\n if (autocompleteContext === null) {\n throw new Error('AutocompleteContext returned null values')\n }\n const {\n activeDescendantRef,\n autocompleteSuggestion = '',\n id,\n inputRef,\n inputValue = '',\n isMenuDirectlyActivated,\n setInputValue,\n setShowMenu,\n showMenu\n } = autocompleteContext\n const combinedInputRef = useCombinedRefs(inputRef, forwardedRef)\n const [highlightRemainingText, setHighlightRemainingText] = useState<boolean>(true)\n\n const handleInputFocus: FocusEventHandler<HTMLInputElement> = useCallback(\n event => {\n onFocus && onFocus(event)\n setShowMenu(true)\n },\n [onFocus, setShowMenu]\n )\n\n const handleInputBlur: FocusEventHandler<HTMLInputElement> = useCallback(\n event => {\n onBlur && onBlur(event)\n\n // HACK: wait a tick and check the focused element before hiding the autocomplete menu\n // this prevents the menu from hiding when the user is clicking an option in the Autoselect.Menu,\n // but still hides the menu when the user blurs the input by tabbing out or clicking somewhere else on the page\n setTimeout(() => {\n if (document.activeElement !== combinedInputRef.current) {\n setShowMenu(false)\n }\n }, 0)\n },\n [onBlur, setShowMenu, combinedInputRef]\n )\n\n const handleInputChange: ChangeEventHandler<HTMLInputElement> = useCallback(\n event => {\n onChange && onChange(event)\n setInputValue(event.currentTarget.value)\n if (!showMenu) {\n setShowMenu(true)\n }\n },\n [onChange, setInputValue, setShowMenu, showMenu]\n )\n\n const handleInputKeyDown: KeyboardEventHandler<HTMLInputElement> = useCallback(\n event => {\n onKeyDown && onKeyDown(event)\n\n if (event.key === 'Backspace') {\n setHighlightRemainingText(false)\n }\n\n if (event.key === 'Escape' && inputRef.current?.value) {\n setInputValue('')\n inputRef.current.value = ''\n }\n },\n [inputRef, setInputValue, setHighlightRemainingText, onKeyDown]\n )\n\n const handleInputKeyUp: KeyboardEventHandler<HTMLInputElement> = useCallback(\n event => {\n onKeyUp && onKeyUp(event)\n\n if (event.key === 'Backspace') {\n setHighlightRemainingText(true)\n }\n },\n [setHighlightRemainingText, onKeyUp]\n )\n\n const onInputKeyPress: KeyboardEventHandler<HTMLInputElement> = useCallback(\n event => {\n onKeyPress && onKeyPress(event)\n\n if (showMenu && event.key === 'Enter' && activeDescendantRef.current) {\n event.preventDefault()\n event.nativeEvent.stopImmediatePropagation()\n\n // Forward Enter key press to active descendant so that item gets activated\n const activeDescendantEvent = new KeyboardEvent(event.type, event.nativeEvent)\n activeDescendantRef.current.dispatchEvent(activeDescendantEvent)\n }\n },\n [activeDescendantRef, showMenu, onKeyPress]\n )\n\n useEffect(() => {\n if (!inputRef.current) {\n return\n }\n\n // resets input value to being empty after a selection has been made\n if (!autocompleteSuggestion) {\n inputRef.current.value = inputValue\n }\n\n // TODO: fix bug where this function prevents `onChange` from being triggered if the highlighted item text\n // is the same as what I'm typing\n // e.g.: typing 'tw' highights 'two', but when I 'two', the text input change does not get triggered\n if (highlightRemainingText && autocompleteSuggestion && (inputValue || isMenuDirectlyActivated)) {\n inputRef.current.value = autocompleteSuggestion\n\n if (autocompleteSuggestion.toLowerCase().indexOf(inputValue.toLowerCase()) === 0) {\n inputRef.current.setSelectionRange(inputValue.length, autocompleteSuggestion.length)\n }\n }\n\n // calling this useEffeect when `highlightRemainingText` changes breaks backspace functionality\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [autocompleteSuggestion, inputValue, inputRef, isMenuDirectlyActivated])\n\n useEffect(() => {\n if (value) {\n setInputValue(value.toString())\n }\n }, [value, setInputValue])\n\n return (\n <Component\n onFocus={handleInputFocus}\n onBlur={handleInputBlur}\n onChange={handleInputChange}\n onKeyDown={handleInputKeyDown}\n onKeyPress={onInputKeyPress}\n onKeyUp={handleInputKeyUp}\n ref={combinedInputRef as MutableRefObject<HTMLInputElement>}\n aria-controls={`${id}-listbox`}\n aria-autocomplete=\"both\"\n role=\"combobox\"\n aria-expanded={showMenu}\n aria-haspopup=\"listbox\"\n aria-owns={`${id}-listbox`}\n autocomplete=\"off\"\n {...props}\n />\n )\n }\n) as PolymorphicForwardRefComponent<typeof TextInput, InternalAutocompleteInputProps>\n\nAutocompleteInput.displayName = 'AutocompleteInput'\n\nexport type AutocompleteInputProps = ComponentProps<typeof AutocompleteInput>\nexport default AutocompleteInput\n","export const scrollIntoViewingArea = (\n child: HTMLElement,\n viewingArea: HTMLElement,\n direction: 'horizontal' | 'vertical' = 'vertical',\n startMargin = 8,\n endMargin = 0,\n behavior: ScrollBehavior = 'smooth'\n) => {\n const startSide = direction === 'vertical' ? 'top' : 'left'\n const endSide = direction === 'vertical' ? 'bottom' : 'right'\n const scrollSide = direction === 'vertical' ? 'scrollTop' : 'scrollLeft'\n const {[startSide]: childStart, [endSide]: childEnd} = child.getBoundingClientRect()\n const {[startSide]: viewingAreaStart, [endSide]: viewingAreaEnd} = viewingArea.getBoundingClientRect()\n\n const isChildStartAboveViewingArea = childStart < viewingAreaStart + endMargin\n const isChildBottomBelowViewingArea = childEnd > viewingAreaEnd - startMargin\n\n if (isChildStartAboveViewingArea) {\n const scrollHeightToChildStart = childStart - viewingAreaStart + viewingArea[scrollSide]\n viewingArea.scrollTo({behavior, [startSide]: scrollHeightToChildStart - endMargin})\n } else if (isChildBottomBelowViewingArea) {\n const scrollHeightToChildBottom = childEnd - viewingAreaEnd + viewingArea[scrollSide]\n viewingArea.scrollTo({behavior, [startSide]: scrollHeightToChildBottom + startMargin})\n }\n\n // either completely in view or outside viewing area on both ends, don't scroll\n}\n","import React, {useContext, useEffect, useMemo, useRef, useState} from 'react'\nimport {ActionList, ItemProps} from '../ActionList'\nimport {useFocusZone} from '../hooks/useFocusZone'\nimport {ComponentProps, MandateProps} from '../utils/types'\nimport {Box, Spinner} from '../'\nimport {AutocompleteContext} from './AutocompleteContext'\nimport {PlusIcon} from '@primer/octicons-react'\nimport {uniqueId} from '../utils/uniqueId'\nimport {scrollIntoViewingArea} from '../behaviors/scrollIntoViewingArea'\n\ntype OnSelectedChange<T> = (item: T | T[]) => void\ntype AutocompleteMenuItem = MandateProps<ItemProps, 'id'>\n\nconst getDefaultSortFn =\n (isItemSelectedFn: (itemId: string | number) => boolean) => (itemIdA: string | number, itemIdB: string | number) =>\n isItemSelectedFn(itemIdA) === isItemSelectedFn(itemIdB) ? 0 : isItemSelectedFn(itemIdA) ? -1 : 1\n\nfunction getDefaultItemFilter<T extends AutocompleteMenuItem>(filterValue: string) {\n return function (item: T, _i: number) {\n return Boolean(item.text?.toLowerCase().startsWith(filterValue.toLowerCase()))\n }\n}\n\nfunction getDefaultOnSelectionChange<T extends AutocompleteMenuItem>(\n setInputValueFn: (value: string) => void\n): OnSelectedChange<T> {\n return function (itemOrItems) {\n const {text = ''} = Array.isArray(itemOrItems) ? itemOrItems.slice(-1)[0] : itemOrItems\n setInputValueFn(text)\n }\n}\n\nconst isItemSelected = (itemId: string | number, selectedItemIds: Array<string | number>) =>\n selectedItemIds.includes(itemId)\n\nfunction getItemById<T extends AutocompleteMenuItem>(itemId: string | number, items: T[]) {\n return items.find(item => item.id === itemId)\n}\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\ntype AutocompleteItemProps<T = Record<string, any>> = AutocompleteMenuItem & {metadata?: T}\n\nexport type AutocompleteMenuInternalProps<T extends AutocompleteItemProps> = {\n /**\n * A menu item that is used to allow users make a selection that is not available in the array passed to the `items` prop.\n * This menu item gets appended to the end of the list of options.\n */\n // TODO: rethink this part of the component API. this is kind of weird and confusing to use\n // TODO: rethink `addNewItem` prop name\n addNewItem?: Omit<T, 'onAction' | 'leadingVisual' | 'id'> & {\n handleAddItem: (item: Omit<T, 'onAction' | 'leadingVisual'>) => void\n }\n\n /**\n * The text that appears in the menu when there are no options in the array passed to the `items` prop.\n */\n emptyStateText?: React.ReactNode | false\n\n /**\n * A custom function used to filter the options in the array passed to the `items` prop.\n * By default, we filter out items that don't match the value of the autocomplete text input. The default filter is not case-sensitive.\n */\n filterFn?: (item: T, i: number) => boolean\n\n /**\n * The options for field values that are displayed in the dropdown menu.\n * One or more may be selected depending on the value of the `selectionVariant` prop.\n */\n items: T[]\n\n /**\n * Whether the data is loaded for the menu items\n */\n loading?: boolean\n\n /**\n * The IDs of the selected items\n */\n // NOTE: this diverges from the SelectPanel component API, where we pass an array of objects to the `selected` prop\n selectedItemIds: Array<string | number>\n\n /**\n * The sort function that is applied to the options in the array passed to the `items` prop after the user closes the menu.\n * By default, selected items are sorted to the top after the user closes the menu.\n */\n sortOnCloseFn?: (itemIdA: string | number, itemIdB: string | number) => number\n\n /**\n * Whether there can be one item selected from the menu or multiple items selected from the menu\n */\n selectionVariant?: 'single' | 'multiple'\n\n /**\n * Function that gets called when the menu is opened or closed\n */\n onOpenChange?: (open: boolean) => void\n\n /**\n * The function that is called when an item in the list is selected or deselected\n */\n onSelectedChange?: OnSelectedChange<T>\n\n /**\n * If the menu is rendered in a scrolling element other than the `Autocomplete.Overlay` component,\n * pass the ref of that element to `customScrollContainerRef` to ensure the container automatically\n * scrolls when the user highlights an item in the menu that is outside the scroll container\n */\n customScrollContainerRef?: React.MutableRefObject<HTMLElement | null>\n} & Pick<React.AriaAttributes, 'aria-labelledby'>\n\nfunction AutocompleteMenu<T extends AutocompleteItemProps>(props: AutocompleteMenuInternalProps<T>) {\n const autocompleteContext = useContext(AutocompleteContext)\n if (autocompleteContext === null) {\n throw new Error('AutocompleteContext returned null values')\n }\n const {\n activeDescendantRef,\n id,\n inputRef,\n inputValue = '',\n scrollContainerRef,\n setAutocompleteSuggestion,\n setShowMenu,\n setInputValue,\n setIsMenuDirectlyActivated,\n setSelectedItemLength,\n showMenu\n } = autocompleteContext\n const {\n items,\n selectedItemIds,\n sortOnCloseFn,\n emptyStateText,\n addNewItem,\n loading,\n selectionVariant,\n filterFn,\n 'aria-labelledby': ariaLabelledBy,\n onOpenChange,\n onSelectedChange,\n customScrollContainerRef\n } = props\n const listContainerRef = useRef<HTMLDivElement>(null)\n const [highlightedItem, setHighlightedItem] = useState<T>()\n const [sortedItemIds, setSortedItemIds] = useState<Array<number | string>>(items.map(({id: itemId}) => itemId))\n\n const selectableItems = useMemo(\n () =>\n items.map(selectableItem => {\n return {\n ...selectableItem,\n role: 'option',\n id: selectableItem.id,\n selected: selectionVariant === 'multiple' ? selectedItemIds.includes(selectableItem.id) : undefined,\n onAction: (item: T) => {\n const otherSelectedItemIds = selectedItemIds.filter(selectedItemId => selectedItemId !== item.id)\n const newSelectedItemIds = selectedItemIds.includes(item.id)\n ? otherSelectedItemIds\n : [...otherSelectedItemIds, item.id]\n const onSelectedChangeFn = onSelectedChange ? onSelectedChange : getDefaultOnSelectionChange(setInputValue)\n\n onSelectedChangeFn(\n newSelectedItemIds.map(newSelectedItemId => getItemById(newSelectedItemId, items)) as T[]\n )\n\n if (selectionVariant === 'multiple') {\n setInputValue('')\n setAutocompleteSuggestion('')\n } else {\n setShowMenu(false)\n inputRef.current?.setSelectionRange(inputRef.current.value.length, inputRef.current.value.length)\n }\n }\n }\n }),\n [\n items,\n selectedItemIds,\n inputRef,\n onSelectedChange,\n selectionVariant,\n setAutocompleteSuggestion,\n setInputValue,\n setShowMenu\n ]\n )\n\n const itemSortOrderData = useMemo(\n () =>\n sortedItemIds.reduce<Record<string | number, number>>((acc, curr, i) => {\n acc[curr] = i\n\n return acc\n }, {}),\n [sortedItemIds]\n )\n\n const sortedAndFilteredItemsToRender = useMemo(\n () =>\n selectableItems\n .filter(filterFn ? filterFn : getDefaultItemFilter(inputValue))\n .sort((a, b) => itemSortOrderData[a.id] - itemSortOrderData[b.id]),\n [selectableItems, itemSortOrderData, filterFn, inputValue]\n )\n\n const allItemsToRender = useMemo(\n () => [\n // sorted and filtered selectable items\n ...sortedAndFilteredItemsToRender,\n\n // menu item used for creating a token from whatever is in the text input\n ...(addNewItem\n ? [\n {\n ...addNewItem,\n leadingVisual: () => <PlusIcon />,\n onAction: (item: T) => {\n // TODO: make it possible to pass a leadingVisual when using `addNewItem`\n addNewItem.handleAddItem({...item, id: item.id || uniqueId(), leadingVisual: undefined})\n\n if (selectionVariant === 'multiple') {\n setInputValue('')\n setAutocompleteSuggestion('')\n }\n }\n }\n ]\n : [])\n ],\n [sortedAndFilteredItemsToRender, addNewItem, setAutocompleteSuggestion, selectionVariant, setInputValue]\n )\n\n useFocusZone(\n {\n containerRef: listContainerRef,\n focusOutBehavior: 'wrap',\n focusableElementFilter: element => {\n return !(element instanceof HTMLInputElement)\n },\n activeDescendantFocus: inputRef,\n onActiveDescendantChanged: (current, _previous, directlyActivated) => {\n activeDescendantRef.current = current || null\n if (current) {\n const selectedItem = selectableItems.find(item => item.id.toString() === current.getAttribute('data-id'))\n\n setHighlightedItem(selectedItem)\n setIsMenuDirectlyActivated(directlyActivated)\n }\n\n if (current && customScrollContainerRef && customScrollContainerRef.current && directlyActivated) {\n scrollIntoViewingArea(current, customScrollContainerRef.current)\n } else if (current && scrollContainerRef.current && directlyActivated) {\n scrollIntoViewingArea(current, scrollContainerRef.current)\n }\n }\n },\n [loading]\n )\n\n useEffect(() => {\n if (highlightedItem?.text?.startsWith(inputValue) && !selectedItemIds.includes(highlightedItem.id)) {\n setAutocompleteSuggestion(highlightedItem.text)\n } else {\n setAutocompleteSuggestion('')\n }\n }, [highlightedItem, inputValue, selectedItemIds, setAutocompleteSuggestion])\n\n useEffect(() => {\n const itemIdSortResult = [...sortedItemIds].sort(\n sortOnCloseFn ? sortOnCloseFn : getDefaultSortFn(itemId => isItemSelected(itemId, selectedItemIds))\n )\n const sortResultMatchesState =\n itemIdSortResult.length === sortedItemIds.length &&\n itemIdSortResult.every((element, index) => element === sortedItemIds[index])\n\n if (showMenu === false && !sortResultMatchesState) {\n setSortedItemIds(itemIdSortResult)\n }\n\n onOpenChange && onOpenChange(Boolean(showMenu))\n }, [showMenu, onOpenChange, selectedItemIds, sortOnCloseFn, sortedItemIds])\n\n useEffect(() => {\n if (selectedItemIds.length) {\n setSelectedItemLength(selectedItemIds.length)\n }\n }, [selectedItemIds, setSelectedItemLength])\n\n return (\n <Box\n sx={\n !showMenu\n ? {\n // visually hides this label for sighted users\n position: 'absolute',\n width: '1px',\n height: '1px',\n padding: '0',\n margin: '-1px',\n overflow: 'hidden',\n clip: 'rect(0, 0, 0, 0)',\n whiteSpace: 'nowrap',\n borderWidth: '0'\n }\n : {}\n }\n >\n {loading ? (\n <Box p={3} display=\"flex\" justifyContent=\"center\">\n <Spinner />\n </Box>\n ) : (\n <div ref={listContainerRef}>\n {allItemsToRender.length ? (\n <ActionList\n selectionVariant=\"multiple\"\n // have to typecast to `ItemProps` because we have an extra property\n // on `items` for Autocomplete: `metadata`\n items={allItemsToRender as ItemProps[]}\n role=\"listbox\"\n id={`${id}-listbox`}\n aria-labelledby={ariaLabelledBy}\n />\n ) : (\n <Box p={3}>{emptyStateText}</Box>\n )}\n </div>\n )}\n </Box>\n )\n}\n\nAutocompleteMenu.defaultProps = {\n emptyStateText: 'No selectable options',\n selectionVariant: 'single'\n}\n\nAutocompleteMenu.displayName = 'AutocompleteMenu'\n\nexport type AutocompleteMenuProps = ComponentProps<typeof AutocompleteMenu>\nexport default AutocompleteMenu\n","import React, {useCallback, useContext} from 'react'\nimport {useAnchoredPosition} from '../hooks'\nimport Overlay, {OverlayProps} from '../Overlay'\nimport {ComponentProps} from '../utils/types'\nimport {AutocompleteContext} from './AutocompleteContext'\nimport {useCombinedRefs} from '../hooks/useCombinedRefs'\n\ntype AutocompleteOverlayInternalProps = {\n /**\n * The ref of the element that the position of the menu is based on. By default, the menu is positioned based on the text input\n */\n menuAnchorRef?: React.RefObject<HTMLElement>\n /**\n * Props to be spread on the internal `Overlay` component.\n */\n overlayProps?: Partial<OverlayProps>\n children?: React.ReactNode\n} & Pick<React.AriaAttributes, 'aria-labelledby'> // TODO: consider making 'aria-labelledby' required\n\nfunction AutocompleteOverlay({menuAnchorRef, overlayProps, children}: AutocompleteOverlayInternalProps) {\n const autocompleteContext = useContext(AutocompleteContext)\n if (autocompleteContext === null) {\n throw new Error('AutocompleteContext returned null values')\n }\n const {inputRef, scrollContainerRef, selectedItemLength, setShowMenu, showMenu = false} = autocompleteContext\n const {floatingElementRef, position} = useAnchoredPosition(\n {\n side: 'outside-bottom',\n align: 'start',\n anchorElementRef: menuAnchorRef ? menuAnchorRef : inputRef\n },\n [showMenu, selectedItemLength]\n )\n\n const combinedOverlayRef = useCombinedRefs(scrollContainerRef, floatingElementRef)\n\n const closeOptionList = useCallback(() => {\n setShowMenu(false)\n }, [setShowMenu])\n\n if (typeof window === 'undefined') {\n return null\n }\n\n return (\n <Overlay\n returnFocusRef={inputRef}\n preventFocusOnOpen={true}\n onClickOutside={closeOptionList}\n onEscape={closeOptionList}\n ref={combinedOverlayRef as React.RefObject<HTMLDivElement>}\n top={position?.top}\n left={position?.left}\n visibility={showMenu ? 'visible' : 'hidden'}\n sx={{\n overflow: 'auto'\n }}\n {...overlayProps}\n >\n {children}\n </Overlay>\n )\n}\n\nAutocompleteOverlay.displayName = 'AutocompleteOverlay'\n\nexport type AutocompleteOverlayProps = ComponentProps<typeof AutocompleteOverlay>\nexport default AutocompleteOverlay\n","import React, {useCallback, useReducer, useRef} from 'react'\nimport {useSSRSafeId} from '@react-aria/ssr'\nimport {ComponentProps} from '../utils/types'\nimport {AutocompleteContext} from './AutocompleteContext'\nimport AutocompleteInput from './AutocompleteInput'\nimport AutocompleteMenu from './AutocompleteMenu'\nimport AutocompleteOverlay from './AutocompleteOverlay'\n\ntype Action =\n | {type: 'showMenu' | 'isMenuDirectlyActivated'; payload: boolean}\n | {type: 'autocompleteSuggestion' | 'inputValue'; payload: string}\n | {type: 'selectedItemLength'; payload: number}\n\ninterface State {\n inputValue: string\n showMenu: boolean\n isMenuDirectlyActivated: boolean\n autocompleteSuggestion: string\n selectedItemLength: number\n}\n\nconst initialState = {\n inputValue: '',\n showMenu: false,\n isMenuDirectlyActivated: false,\n autocompleteSuggestion: '',\n selectedItemLength: 0\n}\n\nconst reducer = (state: State, action: Action) => {\n const {type, payload} = action\n switch (type) {\n case 'inputValue':\n return {...state, inputValue: payload as State['inputValue']}\n case 'showMenu':\n return {...state, showMenu: payload as State['showMenu']}\n case 'isMenuDirectlyActivated':\n return {...state, isMenuDirectlyActivated: payload as State['isMenuDirectlyActivated']}\n case 'autocompleteSuggestion':\n return {...state, autocompleteSuggestion: payload as State['autocompleteSuggestion']}\n case 'selectedItemLength':\n return {...state, selectedItemLength: payload as State['selectedItemLength']}\n default:\n return state\n }\n}\n\nconst Autocomplete: React.FC<{id?: string}> = ({children, id: idProp}) => {\n const activeDescendantRef = useRef<HTMLElement>(null)\n const scrollContainerRef = useRef<HTMLDivElement>(null)\n const inputRef = useRef<HTMLInputElement>(null)\n const [state, dispatch] = useReducer(reducer, initialState)\n const {inputValue, showMenu, autocompleteSuggestion, isMenuDirectlyActivated, selectedItemLength} = state\n const setInputValue = useCallback((value: State['inputValue']) => {\n dispatch({type: 'inputValue', payload: value})\n }, [])\n const setShowMenu = useCallback((value: State['showMenu']) => {\n dispatch({type: 'showMenu', payload: value})\n }, [])\n const setAutocompleteSuggestion = useCallback((value: State['autocompleteSuggestion']) => {\n dispatch({type: 'autocompleteSuggestion', payload: value})\n }, [])\n const setIsMenuDirectlyActivated = useCallback((value: State['isMenuDirectlyActivated']) => {\n dispatch({type: 'isMenuDirectlyActivated', payload: value})\n }, [])\n const setSelectedItemLength = useCallback((value: State['selectedItemLength']) => {\n dispatch({type: 'selectedItemLength', payload: value})\n }, [])\n const id = useSSRSafeId(idProp)\n\n return (\n <AutocompleteContext.Provider\n value={{\n activeDescendantRef,\n autocompleteSuggestion,\n id,\n inputRef,\n inputValue,\n isMenuDirectlyActivated,\n scrollContainerRef,\n selectedItemLength,\n setAutocompleteSuggestion,\n setInputValue,\n setIsMenuDirectlyActivated,\n setShowMenu,\n setSelectedItemLength,\n showMenu\n }}\n >\n {children}\n </AutocompleteContext.Provider>\n )\n}\n\nexport type AutocompleteProps = ComponentProps<typeof Autocomplete>\nexport type {AutocompleteInputProps} from './AutocompleteInput'\nexport type {AutocompleteMenuProps} from './AutocompleteMenu'\nexport type {AutocompleteOverlayProps} from './AutocompleteOverlay'\nexport default Object.assign(Autocomplete, {\n Input: AutocompleteInput,\n Menu: AutocompleteMenu,\n Overlay: AutocompleteOverlay\n})\n","import styled from 'styled-components'\nimport {get} 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} & 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 ${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 ? (\n React.cloneElement(child, {size: 40})\n ) : (\n <ChildAvatar bg=\"canvas.default\" {...child.props} size={20} />\n )\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","import classnames from 'classnames'\nimport React from 'react'\nimport styled from 'styled-components'\nimport {get} from './constants'\nimport {Box} from '.'\nimport sx, {SxProp} from './sx'\n\ntype StyledAvatarStackWrapperProps = {\n count?: number\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.canvas.default')};\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.canvas.default')};\n &:first-child {\n margin-left: 0;\n }\n }\n }\n\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 children: React.ReactNode\n} & SxProp\n\nconst AvatarStack = ({children, alignRight, sx: sxProp}: 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} sx={sxProp}>\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 {get} from './constants'\nimport sx, {SxProp} from './sx'\nimport {ComponentProps} from './utils/types'\n\nconst BranchName = styled.a<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.fg.muted')};\n background-color: ${get('colors.accent.subtle')};\n border-radius: ${get('radii.2')};\n\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 {get} 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.fg.muted')};\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 BreadcrumbsBase = styled.nav<SxProp>`\n display: flex;\n justify-content: space-between;\n ${sx};\n`\n\nexport type BreadcrumbsProps = React.PropsWithChildren<\n {\n className?: string\n } & SxProp\n>\n\nfunction Breadcrumbs({className, children, sx: sxProp}: React.PropsWithChildren<BreadcrumbsProps>) {\n const wrappedChildren = React.Children.map(children, child => <Wrapper>{child}</Wrapper>)\n return (\n <BreadcrumbsBase className={className} aria-label=\"Breadcrumbs\" sx={sxProp}>\n <Box as=\"ol\" my={0} pl={0}>\n {wrappedChildren}\n </Box>\n </BreadcrumbsBase>\n )\n}\n\ntype StyledBreadcrumbsItemProps = {\n to?: History.LocationDescriptor\n selected?: boolean\n} & SxProp\n\nconst BreadcrumbsItem = styled.a.attrs<StyledBreadcrumbsItemProps>(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}))<StyledBreadcrumbsItemProps>`\n color: ${get('colors.accent.fg')};\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.fg.default')};\n pointer-events: none;\n }\n ${sx};\n`\n\nBreadcrumbs.displayName = 'Breadcrumbs'\n\nBreadcrumbsItem.displayName = 'Breadcrumbs.Item'\n\nexport type BreadcrumbsItemProps = ComponentProps<typeof BreadcrumbsItem>\nexport default Object.assign(Breadcrumbs, {Item: BreadcrumbsItem})\n\n/**\n * @deprecated Use the `Breadcrumbs` component instead (i.e. `<Breadcrumb>` → `<Breadcrumbs>`)\n */\nexport const Breadcrumb = Object.assign(Breadcrumbs, {Item: BreadcrumbsItem})\n\n/**\n * @deprecated Use the `BreadcrumbsProps` type instead\n */\nexport type BreadcrumbProps = ComponentProps<typeof BreadcrumbsBase>\n\n/**\n * @deprecated Use the `BreadcrumbsItemProps` type instead\n */\nexport type BreadcrumbItemProps = ComponentProps<typeof BreadcrumbsItem>\n","import React, {forwardRef} from 'react'\nimport Box from '../Box'\nimport styled from 'styled-components'\nimport sx, {merge, SxProp} from '../sx'\nimport {useTheme, Theme} from '../ThemeProvider'\nimport {VariantType, ButtonProps} from './types'\n\nconst TEXT_ROW_HEIGHT = '20px' // custom value off the scale\n\nconst getVariantStyles = (variant: VariantType = 'default', theme?: Theme) => {\n const style = {\n default: {\n color: 'btn.text',\n backgroundColor: 'btn.bg',\n boxShadow: `${theme?.shadows.btn.shadow}, ${theme?.shadows.btn.insetShadow}`,\n '&:hover:not([disabled])': {\n backgroundColor: 'btn.hoverBg'\n },\n // focus must come before :active so that the active box shadow overrides\n '&:focus:not([disabled])': {\n boxShadow: `${theme?.shadows.btn.focusShadow}`\n },\n '&:active:not([disabled])': {\n backgroundColor: 'btn.selectedBg',\n boxShadow: `${theme?.shadows.btn.shadowActive}`\n },\n '&:disabled': {\n color: 'primer.fg.disabled',\n backgroundColor: 'btn.disabledBg'\n }\n },\n primary: {\n color: 'btn.primary.text',\n backgroundColor: 'btn.primary.bg',\n borderColor: 'border.subtle',\n boxShadow: `${theme?.shadows.btn.primary.shadow}`,\n '&:hover:not([disabled])': {\n color: 'btn.primary.hoverText',\n backgroundColor: 'btn.primary.hoverBg'\n },\n // focus must come before :active so that the active box shadow overrides\n '&:focus:not([disabled])': {\n boxShadow: `${theme?.shadows.btn.primary.focusShadow}`\n },\n '&:active:not([disabled])': {\n backgroundColor: 'btn.primary.selectedBg',\n boxShadow: `${theme?.shadows.btn.primary.selectedShadow}`\n },\n '&:disabled': {\n color: 'btn.primary.disabledText',\n backgroundColor: 'btn.primary.disabledBg'\n },\n '[data-component=\"ButtonCounter\"]': {\n backgroundColor: 'btn.primary.counterBg',\n color: 'btn.primary.text'\n }\n },\n danger: {\n color: 'btn.danger.text',\n backgroundColor: 'btn.bg',\n boxShadow: `${theme?.shadows.btn.shadow}`,\n '&:hover:not([disabled])': {\n color: 'btn.danger.hoverText',\n backgroundColor: 'btn.danger.hoverBg',\n borderColor: 'btn.danger.hoverBorder',\n boxShadow: `${theme?.shadows.btn.danger.hoverShadow}`,\n '[data-component=\"ButtonCounter\"]': {\n backgroundColor: 'btn.danger.hoverCounterBg',\n color: 'btn.danger.hoverText'\n }\n },\n // focus must come before :active so that the active box shadow overrides\n '&:focus:not([disabled])': {\n borderColor: 'btn.danger.focusBorder',\n boxShadow: `${theme?.shadows.btn.danger.focusShadow}`\n },\n '&:active:not([disabled])': {\n color: 'btn.danger.selectedText',\n backgroundColor: 'btn.danger.selectedBg',\n boxShadow: `${theme?.shadows.btn.danger.selectedShadow}`,\n borderColor: 'btn.danger.selectedBorder'\n },\n '&:disabled': {\n color: 'btn.danger.disabledText',\n backgroundColor: 'btn.danger.disabledBg',\n borderColor: 'btn.danger.disabledBorder',\n '[data-component=\"ButtonCounter\"]': {\n backgroundColor: 'btn.danger.disabledCounterBg'\n }\n },\n '[data-component=\"ButtonCounter\"]': {\n color: 'btn.danger.text',\n backgroundColor: 'btn.danger.counterBg'\n }\n },\n invisible: {\n color: 'accent.fg',\n backgroundColor: 'transparent',\n border: '0',\n boxShadow: 'none',\n '&:hover:not([disabled])': {\n backgroundColor: 'btn.hoverBg'\n },\n // focus must come before :active so that the active box shadow overrides\n '&:focus:not([disabled])': {\n boxShadow: `${theme?.shadows.btn.focusShadow}`\n },\n '&:active:not([disabled])': {\n backgroundColor: 'btn.selectedBg'\n },\n '&:disabled': {\n color: 'primer.fg.disabled'\n }\n },\n outline: {\n color: 'btn.outline.text',\n boxShadow: `${theme?.shadows.btn.shadow}`,\n\n '&:hover': {\n color: 'btn.outline.hoverText',\n backgroundColor: 'btn.outline.hoverBg',\n borderColor: 'outline.hoverBorder',\n boxShadow: `${theme?.shadows.btn.outline.hoverShadow}`,\n '[data-component=\"ButtonCounter\"]': {\n backgroundColor: 'btn.outline.hoverCounterBg',\n color: 'btn.outline.hoverText'\n }\n },\n // focus must come before :active so that the active box shadow overrides\n '&:focus': {\n borderColor: 'btn.outline.focusBorder',\n boxShadow: `${theme?.shadows.btn.outline.focusShadow}`\n },\n\n '&:active:not([disabled])': {\n color: 'btn.outline.selectedText',\n backgroundColor: 'btn.outline.selectedBg',\n boxShadow: `${theme?.shadows.btn.outline.selectedShadow}`,\n borderColor: 'btn.outline.selectedBorder'\n },\n\n '&:disabled': {\n color: 'btn.outline.disabledText',\n backgroundColor: 'btn.outline.disabledBg',\n borderColor: 'btn.border',\n '[data-component=\"ButtonCounter\"]': {\n backgroundColor: 'btn.outline.disabledCounterBg'\n }\n },\n '[data-component=\"ButtonCounter\"]': {\n backgroundColor: 'btn.outline.counterBg',\n color: 'btn.outline.text'\n }\n }\n }\n return style[variant]\n}\n\nconst getSizeStyles = (size = 'medium', variant: VariantType = 'default', iconOnly: boolean) => {\n let paddingY, paddingX, fontSize\n switch (size) {\n case 'small':\n paddingY = 3\n paddingX = 12\n fontSize = 0\n break\n case 'large':\n paddingY = 9\n paddingX = 20\n fontSize = 2\n break\n case 'medium':\n default:\n paddingY = 5\n paddingX = 16\n fontSize = 1\n }\n if (iconOnly) {\n paddingX = paddingY + 2\n }\n if (variant === 'invisible') {\n paddingY = paddingY + 1\n }\n return {\n paddingY: `${paddingY}px`,\n paddingX: `${paddingX}px`,\n fontSize,\n '[data-component=\"ButtonCounter\"]': {\n fontSize\n }\n }\n}\n\nconst ButtonBase = styled.button<SxProp>(sx)\n\nconst Button = forwardRef<HTMLButtonElement, ButtonProps>(\n ({children, sx: sxProp = {}, ...props}, forwardedRef): JSX.Element => {\n const {\n icon: Icon,\n leadingIcon: LeadingIcon,\n trailingIcon: TrailingIcon,\n variant = 'default',\n size = 'medium'\n } = props\n const iconOnly = !!Icon\n const {theme} = useTheme()\n\n const styles = {\n borderRadius: '2',\n border: '1px solid',\n borderColor: theme?.colors.btn.border,\n display: 'grid',\n gridTemplateAreas: '\"leadingIcon text trailingIcon\"',\n fontWeight: 'bold',\n lineHeight: TEXT_ROW_HEIGHT,\n whiteSpace: 'nowrap',\n verticalAlign: 'middle',\n cursor: 'pointer',\n appearance: 'none',\n userSelect: 'none',\n textDecoration: 'none',\n textAlign: 'center',\n '& > :not(:last-child)': {\n mr: '2'\n },\n '&:focus': {\n outline: 'none'\n },\n '&:disabled': {\n cursor: 'default'\n },\n '&:disabled svg': {\n opacity: '0.6'\n },\n '[data-component=\"leadingIcon\"]': {\n gridArea: 'leadingIcon'\n },\n '[data-component=\"text\"]': {\n gridArea: 'text'\n },\n '[data-component=\"trailingIcon\"]': {\n gridArea: 'trailingIcon'\n }\n }\n const iconWrapStyles = {\n display: 'inline-block'\n }\n const sxStyles = merge.all([\n styles,\n getSizeStyles(size, variant, iconOnly),\n getVariantStyles(variant, theme),\n sxProp as SxProp\n ])\n return (\n <ButtonBase sx={sxStyles} ref={forwardedRef} {...props}>\n {LeadingIcon && (\n <Box as=\"span\" data-component=\"leadingIcon\" sx={iconWrapStyles} aria-hidden={!iconOnly}>\n <LeadingIcon />\n </Box>\n )}\n <span data-component=\"text\" hidden={Icon ? true : false}>\n {children}\n </span>\n {Icon && (\n <Box data-component=\"icon-only\" as=\"span\" sx={{display: 'inline-block'}} aria-hidden={!iconOnly}>\n <Icon />\n </Box>\n )}\n {TrailingIcon && (\n <Box as=\"span\" data-component=\"trailingIcon\" sx={{...iconWrapStyles, ml: 2}} aria-hidden={!iconOnly}>\n <TrailingIcon />\n </Box>\n )}\n </ButtonBase>\n )\n }\n)\n\nButton.displayName = 'Button'\n\nObject.assign(Button, {})\n\nexport {Button}\n","import styled from 'styled-components'\nimport {get} from './constants'\nimport sx, {SxProp} from './sx'\nimport {ComponentProps} from './utils/types'\n\ntype StyledCounterLabelProps = {\n scheme?: 'primary' | 'secondary'\n} & SxProp\n\nconst colorStyles = ({scheme, ...props}: StyledCounterLabelProps) => {\n return {\n color:\n scheme === 'secondary'\n ? get('colors.fg.default')(props)\n : scheme === 'primary'\n ? get('colors.fg.onEmphasis')(props)\n : get('colors.fg.default')(props)\n }\n}\n\nconst bgStyles = ({scheme, ...props}: StyledCounterLabelProps) => {\n return {\n backgroundColor:\n scheme === 'secondary'\n ? get('colors.neutral.muted')(props)\n : scheme === 'primary'\n ? get('colors.neutral.emphasis')(props)\n : get('colors.neutral.muted')(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\n &:empty {\n display: none;\n }\n\n ${sx};\n`\n\nexport type CounterLabelProps = ComponentProps<typeof CounterLabel>\nexport default CounterLabel\n","import React from 'react'\nimport {SxProp} from '../sx'\nimport CounterLabel from '../CounterLabel'\n\nexport type CounterProps = {\n children: number\n} & SxProp\n\nexport const Counter = ({children, sx: sxProp = {}, ...props}: CounterProps) => {\n return (\n <CounterLabel data-component=\"ButtonCounter\" sx={{ml: 2, ...sxProp}} {...props}>\n {children}\n </CounterLabel>\n )\n}\n","import {Button} from './button'\nimport {Counter} from './button-counter'\nimport {ButtonProps} from './types'\n// change this when moving to released state\n\nexport type {ButtonProps as NewButtonProps}\n\nexport const NewButton = Object.assign(Button, {\n Counter\n})\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: 'canvas.default',\n borderColor: 'border.default',\n borderWidth: 1\n}\n\nexport default Caret\n","import styled from 'styled-components'\nimport {get} 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} & 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.canvas.default')};\n border-radius: 50%;\n box-shadow: ${get('shadows.shadow.medium')};\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.default\"\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 sx, {SxProp} from './sx'\nimport {ComponentProps} from './utils/types'\n\nconst Details = styled.details<SxProp>`\n & > summary {\n list-style: none;\n }\n & > summary::-webkit-details-marker {\n display: none;\n }\n\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 {get} 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} & 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.canvas.default')};\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 ${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.default')};\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=\"fg.default\" 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.primer.canvas.backdrop')};\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: 'canvas.subtle'\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.default')(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.default')(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.default')(theme)};\n }\n\n &::after {\n top: 11px;\n left: -14px;\n border-color: transparent;\n border-right-color: ${get('colors.border.default')(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.default')(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.default')(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 {get} 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<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 ${sx};\n`\n\ntype StyledDropdownMenuProps = {\n direction?: 'ne' | 'e' | 'se' | 's' | 'sw' | 'w'\n} & SxProp\n\nconst DropdownMenu = styled.ul<StyledDropdownMenuProps>`\n background-clip: padding-box;\n background-color: ${get('colors.canvas.overlay')};\n border: 1px solid ${get('colors.border.default')};\n border-radius: ${get('radii.2')};\n box-shadow: ${get('shadows.shadow.large')};\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.canvas.overlay')};\n }\n\n &::after {\n border: 7px solid transparent;\n border-bottom-color: ${get('colors.canvas.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 ${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.fg.default')};\n text-overflow: ellipsis;\n white-space: nowrap;\n a {\n color: ${get('colors.fg.default')};\n text-decoration: none;\n display: block;\n overflow: hidden;\n color: ${get('colors.fg.default')};\n text-overflow: ellipsis;\n white-space: nowrap;\n }\n\n &:focus,\n a:focus {\n color: ${get('colors.fg.onEmphasis')};\n text-decoration: none;\n background-color: ${get('colors.accent.emphasis')};\n }\n\n &:hover,\n &:hover a {\n color: ${get('colors.fg.onEmphasis')};\n text-decoration: none;\n background-color: ${get('colors.accent.emphasis')};\n outline: none;\n }\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} sx={{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 {get} from './constants'\nimport sx, {SxProp} from './sx'\nimport {ComponentProps} from './utils/types'\n\nconst FilteredSearch = styled.div<SxProp>`\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 {get} from './constants'\nimport sx, {SxProp} from './sx'\nimport {ComponentProps} from './utils/types'\n\nconst FilterListBase = styled.ul<SxProp>`\n list-style-type: none;\n margin: 0;\n padding: 0;\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} & 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.fg.onEmphasis') : get('colors.fg.muted'))};\n background-color: ${props => (props.selected ? get('colors.accent.emphasis') : '')}!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.canvas.subtle')};\n }\n &:active {\n color: ${get('colors.fg.onEmphasis')};\n background-color: ${get('colors.accent.emphasis')};\n }\n .count {\n float: right;\n font-weight: ${get('fontWeights.bold')};\n }\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\nFilterListItem.displayName = 'FilterList.Item'\n\nexport default Object.assign(FilterList, {Item: FilterListItem})\n","import styled from 'styled-components'\nimport {variant} from 'styled-system'\nimport {get} from './constants'\nimport sx, {SxProp} from './sx'\nimport {ComponentProps} from './utils/types'\n\nconst variants = variant({\n variants: {\n default: {\n color: 'fg.default',\n backgroundColor: 'accent.subtle',\n borderColor: 'accent.muted',\n svg: {\n color: 'accent.fg'\n }\n },\n success: {\n color: 'fg.default',\n backgroundColor: 'success.subtle',\n borderColor: 'success.muted',\n svg: {\n color: 'success.fg'\n }\n },\n danger: {\n color: 'fg.default',\n backgroundColor: 'danger.subtle',\n borderColor: 'danger.muted',\n svg: {\n color: 'danger.fg'\n }\n },\n warning: {\n color: 'fg.default',\n backgroundColor: 'attention.subtle',\n borderColor: 'attention.muted',\n svg: {\n color: 'attention.fg'\n }\n }\n }\n})\n\nconst Flash = styled.div<\n {\n variant?: 'default' | 'warning' | 'success' | 'danger'\n full?: boolean\n } & SxProp\n>`\n position: relative;\n color: ${get('colors.fg.default')};\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 ${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 {get} from './constants'\nimport sx, {SxProp} from './sx'\nimport {ComponentProps} from './utils/types'\n\nconst FormGroup = styled.div<SxProp>`\n margin: ${get('space.3')} 0;\n font-weight: ${get('fontWeights.normal')};\n ${sx};\n`\n\nconst FormGroupLabel = styled.label<SxProp>`\n display: block;\n margin: 0 0 ${get('space.2')};\n font-size: ${get('fontSizes.1')};\n font-weight: ${get('fontWeights.bold')};\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 {get} from './constants'\nimport sx, {SxProp} from './sx'\nimport {ComponentProps} from './utils/types'\n\ntype StyledHeaderItemProps = {full?: boolean} & SxProp\ntype StyledHeaderProps = SxProp\ntype StyledHeaderLinkProps = {to?: History.LocationDescriptor} & SxProp\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 ${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 ${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 ${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 {get} from './constants'\nimport sx, {SxProp} from './sx'\nimport {ComponentProps} from './utils/types'\n\nconst Heading = styled.h2<SxProp>`\n font-weight: ${get('fontWeights.bold')};\n font-size: ${get('fontSizes.5')};\n margin: 0;\n ${sx};\n`\n\nexport type HeadingProps = ComponentProps<typeof Heading>\nexport default Heading\n","import styled from 'styled-components'\nimport {get} from './constants'\nimport sx, {SxProp} from './sx'\nimport {ComponentProps} from './utils/types'\n\nconst LabelGroup = styled.span<SxProp>`\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 {get} 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.fg.muted')};\n border: ${get('borderWidths.1')} solid ${get('colors.border.default')};\n box-shadow: none;\n ${borderColor};\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 SxProp\n>`\n display: inline-block;\n font-weight: ${get('fontWeights.semibold')};\n color: ${get('colors.fg.onEmphasis')};\n border-radius: ${get('radii.3')};\n background-color: ${get('colors.neutral.emphasis')};\n\n &:hover {\n text-decoration: none;\n }\n\n ${sizeVariant}\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 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 {get} 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} & SxProp\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.fg.muted')(props) : get('colors.accent.fg')(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.accent.fg')(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 ${sx};\n`\n\nexport type LinkProps = ComponentProps<typeof Link>\nexport default Link\n","import styled from 'styled-components'\nimport {get} from './constants'\nimport sx, {SxProp} from './sx'\nimport {ComponentProps} from './utils/types'\n\nconst Pagehead = styled.div<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.default')};\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 {get} from '../constants'\nimport sx, {SxProp} 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.fg.default')};\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.default')};\n outline: 0;\n transition-duration: 0.1s;\n }\n\n &:active {\n border-color: ${get('colors.border.muted')};\n }\n\n &[rel='prev'],\n &[rel='next'] {\n color: ${get('colors.accent.fg')};\n }\n\n &[aria-current],\n &[aria-current]:hover {\n color: ${get('colors.fg.onEmphasis')};\n background-color: ${get('colors.accent.emphasis')};\n border-color: transparent;\n }\n\n &[aria-disabled],\n &[aria-disabled]:hover {\n color: ${get('colors.primer.fg.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\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<SxProp>`\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 {get} 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} & 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 ${sx};\n`\n\nconst PopoverContent = styled.div<SxProp>`\n border: 1px solid ${get('colors.border.default')};\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.canvas.overlay')};\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.default')};\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.canvas.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.default')};\n }\n\n &::after {\n bottom: -14px;\n // stylelint-disable-next-line primer/borders\n border-top-color: ${get('colors.canvas.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.default')};\n }\n\n &::after {\n right: -14px;\n // stylelint-disable-next-line primer/borders\n border-left-color: ${get('colors.canvas.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.default')};\n }\n\n &::after {\n left: -14px;\n // stylelint-disable-next-line primer/borders\n border-right-color: ${get('colors.canvas.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 {get} from './constants'\nimport sx, {SxProp} from './sx'\n\ntype ProgressProp = {progress?: string | number}\n\nconst Bar = styled.span<ProgressProp & SxProp>`\n width: ${props => (props.progress ? `${props.progress}%` : 0)};\n\n ${sx};\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 SxProp\n\nconst ProgressContainer = styled.span<StyledProgressContainerProps>`\n display: ${props => (props.inline ? 'inline-flex' : 'flex')};\n overflow: hidden;\n background-color: ${get('colors.border.default')};\n border-radius: ${get('radii.1')};\n height: ${props => sizeMap[props.barSize || 'default']};\n\n ${width}\n ${sx};\n`\n\nexport type ProgressBarProps = {bg: string} & StyledProgressContainerProps & ProgressProp\n\nfunction ProgressBar({progress, bg, ...rest}: ProgressBarProps) {\n return (\n <ProgressContainer {...rest}>\n <Bar progress={progress} sx={{bg}} />\n </ProgressContainer>\n )\n}\n\nProgressBar.defaultProps = {\n bg: 'success.emphasis',\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 {get} 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.fg.muted')};\n background-color: ${get('colors.canvas.subtle')};\n border-bottom: ${get('borderWidths.1')} solid ${get('colors.border.muted')};\n`\n\nconst SelectMenuDivider = styled.div<SxProp>`\n ${dividerStyles}\n ${sx};\n`\n\nSelectMenuDivider.displayName = 'SelectMenu.Divider'\n\nexport type SelectMenuDividerProps = ComponentProps<typeof SelectMenuDivider>\nexport default SelectMenuDivider\n","import React, {forwardRef, useContext, useEffect, useRef} from 'react'\nimport styled from 'styled-components'\nimport {get} 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<SxProp>`\n padding: ${get('space.3')};\n margin: 0;\n border-bottom: ${get('borderWidths.1')} solid ${get('colors.border.muted')};\n background-color: ${get('colors.canvas.overlay')};\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 {get} 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.fg.muted')};\n text-align: center;\n border-top: ${get('borderWidths.1')} solid ${get('colors.border.muted')};\n\n @media (min-width: ${get('breakpoints.0')}) {\n padding: ${get('space.1')} ${get('space.2')};\n }\n`\n\nconst SelectMenuFooter = styled.footer<SxProp>`\n ${footerStyles}\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 {get} 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.fg.default')};\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<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.border.muted')};\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 {get} 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.canvas.overlay')};\n border: 0;\n border-bottom: ${get('borderWidths.1')} solid ${get('colors.border.muted')};\n color: ${get('colors.fg.muted')};\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.fg.default')};\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.neutral.subtle')};\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.canvas.subtle')};\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}))<SxProp>`\n ${listItemStyles}\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 {get} 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.canvas.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.fg.default')};\n background-color: ${get('colors.canvas.subtle')};\n }\n\n .SelectMenuTab:not([aria-checked='true']):active {\n color: ${get('colors.fg.default')};\n background-color: ${get('colors.canvas.subtle')};\n }\n }\n`\n\nconst SelectMenuList = styled.div<SxProp>`\n ${listStyles}\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 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)<SxProp>`\n @keyframes rotate-keyframes {\n 100% {\n transform: rotate(360deg);\n }\n }\n\n animation: rotate-keyframes 1s linear infinite;\n\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 {get} from '../constants'\nimport Spinner from '../Spinner'\nimport sx, {SxProp} from '../sx'\nimport {ComponentProps} from '../utils/types'\n\nconst Animation = styled.div<SxProp>`\n padding: ${get('space.6')} ${get('space.4')};\n text-align: center;\n background-color: ${get('colors.canvas.overlay')};\n ${sx}\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 {get} 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} & 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.canvas.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.default')};\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.primer.canvas.backdrop')};\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 ${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 {get} 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.fg.muted')};\n text-align: center;\n background-color: transparent;\n border: 0;\n box-shadow: inset 0 -1px 0 ${get('colors.border.muted')};\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.canvas.overlay')};\n box-shadow: 0 0 0 1px ${get('colors.border.muted')};\n\n @media (min-width: ${get('breakpoints.0')}) {\n border-color: ${get('colors.border.muted')};\n box-shadow: none;\n }\n }\n\n &:focus {\n background-color: ${get('colors.neutral.subtle')};\n }\n`\n\nconst StyledTab = styled.button<SxProp>`\n ${tabStyles}\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 {get} 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<SxProp>`\n border-top: ${get('borderWidths.1')} solid ${get('colors.border.muted')};\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 {get} 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<SxProp>`\n ${tabWrapperStyles}\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 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<SxProp>`\n ${wrapperStyles}\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 {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, {SxProp} from './sx'\n\ntype SideNavBaseProps = {\n variant?: 'lightweight' | 'normal'\n bordered?: boolean\n className?: string\n children?: React.ReactNode\n 'aria-label'?: string\n}\n\nfunction SideNavBase({variant, className, bordered, children, 'aria-label': ariaLabel}: SideNavBaseProps) {\n const variantClassName = variant === 'lightweight' ? 'lightweight' : 'normal'\n const newClassName = classnames(className, `variant-${variantClassName}`)\n\n return (\n <Box\n borderWidth={bordered ? '1px' : 0}\n borderStyle=\"solid\"\n borderColor=\"border.default\"\n borderRadius={2}\n as=\"nav\"\n className={newClassName}\n aria-label={ariaLabel}\n >\n {children}\n </Box>\n )\n}\n\nconst SideNav = styled(SideNavBase)<SxProp>`\n background-color: ${get('colors.canvas.subtle')};\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 ${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.neutral.subtle')};\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.fg.default')};\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 & SxProp>`\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.fg.default')};\n padding: ${get('space.3')};\n border: 0;\n border-top: ${get('borderWidths.1')} solid ${get('colors.border.muted')};\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.primer.shadow.focus')};\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.primer.border.active')};\n }\n }\n }\n\n ${SideNav}.variant-lightweight > & {\n padding: ${get('space.1')} 0;\n color: ${get('colors.accent.fg')};\n\n &:hover {\n ${CommonAccessibilityVariantLightWeightStyles}\n }\n\n &:focus {\n ${CommonAccessibilityVariantLightWeightStyles}\n box-shadow: ${get('shadows.primer.shadow.focus')};\n z-index: 1;\n }\n\n &[aria-current='page'],\n &[aria-selected='true'] {\n color: ${get('colors.fg.default')};\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 {\n GitMergeIcon,\n GitPullRequestIcon,\n IssueClosedIcon,\n IssueDraftIcon,\n IssueOpenedIcon,\n QuestionIcon\n} from '@primer/octicons-react'\nimport React from 'react'\nimport styled from 'styled-components'\nimport {variant} from 'styled-system'\nimport {get} 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 issueDraft: IssueDraftIcon\n}\n\nconst colorVariants = variant({\n prop: 'status',\n variants: {\n issueClosed: {\n backgroundColor: 'danger.emphasis',\n color: 'fg.onEmphasis'\n },\n pullClosed: {\n backgroundColor: 'danger.emphasis',\n color: 'fg.onEmphasis'\n },\n pullMerged: {\n backgroundColor: 'done.emphasis',\n color: 'fg.onEmphasis'\n },\n issueOpened: {\n backgroundColor: 'success.emphasis',\n color: 'fg.onEmphasis'\n },\n pullOpened: {\n backgroundColor: 'success.emphasis',\n color: 'fg.onEmphasis'\n },\n draft: {\n backgroundColor: 'neutral.emphasis',\n color: 'fg.onEmphasis'\n },\n issueDraft: {\n backgroundColor: 'neutral.emphasis',\n color: 'fg.onEmphasis'\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} & 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.canvas.default')};\n text-align: center;\n border-radius: ${get('radii.3')};\n ${colorVariants};\n ${sizeVariants};\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 {...octiconProps} icon={octiconMap[status] || QuestionIcon} sx={{mr: 1}} />}\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 {get} from './constants'\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<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 ${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 = SxProp\n\nconst SubNavLinks = styled.div<SubNavLinksProps>`\n display: flex;\n ${sx};\n`\n\ntype StyledSubNavLinkProps = {\n to?: History.LocationDescriptor\n selected?: boolean\n} & SxProp\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.fg.default')};\n text-align: center;\n text-decoration: none;\n border-top: 1px solid ${get('colors.border.default')};\n border-bottom: 1px solid ${get('colors.border.default')};\n border-right: 1px solid ${get('colors.border.default')};\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.default')};\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.canvas.subtle')};\n transition: 0.2s ease;\n\n .SubNav-octicon {\n color: ${get('colors.fg.muted')};\n }\n }\n\n &.selected {\n color: ${get('colors.fg.onEmphasis')};\n background-color: ${get('colors.accent.emphasis')};\n border-color: ${get('colors.accent.emphasis')};\n .SubNav-octicon {\n color: ${get('colors.fg.onEmphasis')};\n }\n }\n\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 {get} 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<SxProp>`\n margin-top: 0;\n border-bottom: 1px solid ${get('colors.border.default')};\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} & SxProp\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.fg.default')};\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.fg.default')};\n text-decoration: none;\n }\n\n &.selected {\n color: ${get('colors.fg.default')};\n border-color: ${get('colors.border.default')};\n border-top-right-radius: ${get('radii.2')};\n border-top-left-radius: ${get('radii.2')};\n background-color: ${get('colors.canvas.default')};\n }\n\n ${sx};\n`\n\nTabNavLink.displayName = 'TabNav.Link'\n\nexport type TabNavLinkProps = ComponentProps<typeof TabNavLink>\nexport default Object.assign(TabNav, {Link: TabNavLink})\n","import { compose, space, typography, color, layout, flexbox, border, background, position, grid, shadow, buttonStyle, textStyle, colorStyle } from 'styled-system';\nvar all = compose(space, typography, color, layout, flexbox, border, background, position, grid, shadow, buttonStyle, textStyle, colorStyle);\nvar regex = new RegExp(\"^(\" + all.propNames.join('|') + \")$\");\nexport var omit = function omit(props) {\n var next = {};\n\n for (var key in props) {\n if (regex.test(key)) continue;\n next[key] = props[key];\n }\n\n return next;\n};\nexport var pick = function pick(props) {\n var next = {};\n\n for (var key in props) {\n if (!regex.test(key)) continue;\n next[key] = props[key];\n }\n\n return next;\n};\n","import {KeyboardEvent} from 'react'\nimport styled from 'styled-components'\nimport {variant} from 'styled-system'\nimport {get} from '../constants'\nimport sx, {SxProp} from '../sx'\n\nexport type TokenSizeKeys = 'small' | 'medium' | 'large' | 'extralarge'\n\nexport const tokenSizes: Record<TokenSizeKeys, string> = {\n small: '16px',\n medium: '20px',\n large: '24px',\n extralarge: '32px'\n}\n\nexport const defaultTokenSize: TokenSizeKeys = 'medium'\n\nexport interface TokenBaseProps\n extends Omit<React.HTMLProps<HTMLSpanElement | HTMLButtonElement | HTMLAnchorElement>, 'size' | 'id'> {\n as?: 'button' | 'a' | 'span'\n /**\n * The function that gets called when a user clicks the remove button, or keys \"Backspace\" or \"Delete\" when focused on the token\n */\n onRemove?: () => void\n /**\n * Whether the token is selected\n */\n isSelected?: boolean\n /**\n * The text label inside the token\n */\n text: string\n /**\n * A unique identifier that can be associated with the token\n */\n id?: number | string\n /**\n * Which size the token will be rendered at\n */\n size?: TokenSizeKeys\n}\n\nexport const isTokenInteractive = ({as = 'span', onClick, onFocus, tabIndex = -1}: TokenBaseProps) =>\n Boolean(onFocus || onClick || tabIndex > -1 || ['a', 'button'].includes(as))\n\nconst variants = variant<\n {\n fontSize: number\n height: string\n lineHeight: string\n paddingLeft: number\n paddingRight: number\n paddingTop: number\n paddingBottom: number\n },\n TokenSizeKeys\n>({\n prop: 'size',\n variants: {\n small: {\n fontSize: 0,\n height: tokenSizes.small,\n // without setting lineHeight to match height, the \"x\" appears vertically mis-aligned\n lineHeight: tokenSizes.small,\n paddingLeft: 1,\n paddingRight: 1,\n // need to explicitly set padding top and bottom to \"0\" to override default `<button>` element styles\n // without setting these, the \"x\" appears vertically mis-aligned\n paddingTop: 0,\n paddingBottom: 0\n },\n medium: {\n fontSize: 0,\n height: tokenSizes.medium,\n lineHeight: tokenSizes.medium,\n paddingLeft: 2,\n paddingRight: 2,\n paddingTop: 0,\n paddingBottom: 0\n },\n large: {\n fontSize: 0,\n height: tokenSizes.large,\n lineHeight: tokenSizes.large,\n paddingLeft: 2,\n paddingRight: 2,\n paddingTop: 0,\n paddingBottom: 0\n },\n extralarge: {\n fontSize: 1,\n height: tokenSizes.extralarge,\n lineHeight: tokenSizes.extralarge,\n paddingLeft: 3,\n paddingRight: 3,\n paddingTop: 0,\n paddingBottom: 0\n }\n }\n})\n\nconst TokenBase = styled.span.attrs<TokenBaseProps>(({text, onRemove, onKeyDown}) => ({\n onKeyDown: (event: KeyboardEvent<HTMLSpanElement | HTMLButtonElement | HTMLAnchorElement>) => {\n onKeyDown && onKeyDown(event)\n\n if ((event.key === 'Backspace' || event.key === 'Delete') && onRemove) {\n onRemove()\n }\n },\n 'aria-label': onRemove ? `${text}, press backspace or delete to remove` : undefined\n}))<TokenBaseProps & SxProp>`\n align-items: center;\n border-radius: 999px;\n cursor: ${props => (isTokenInteractive(props) ? 'pointer' : 'auto')};\n display: inline-flex;\n font-weight: ${get('fontWeights.bold')};\n font-family: inherit;\n text-decoration: none;\n white-space: nowrap;\n ${variants}\n ${sx}\n`\n\nTokenBase.defaultProps = {\n as: 'span',\n size: defaultTokenSize\n}\n\nexport default TokenBase\n","import React from 'react'\nimport {XIcon} from '@primer/octicons-react'\nimport styled, {css} from 'styled-components'\nimport {variant} from 'styled-system'\nimport {get} from '../constants'\nimport sx, {SxProp} from '../sx'\nimport {ComponentProps} from '../utils/types'\nimport {tokenSizes, TokenSizeKeys, defaultTokenSize} from './TokenBase'\n\ninterface TokenButtonProps {\n borderOffset?: number\n size?: TokenSizeKeys\n isParentInteractive?: boolean\n}\n\nconst variants = variant<{height: string; width: string}, TokenSizeKeys>({\n prop: 'size',\n variants: {\n small: {\n height: tokenSizes.small,\n width: tokenSizes.small\n },\n medium: {\n height: tokenSizes.medium,\n width: tokenSizes.medium\n },\n large: {\n height: tokenSizes.large,\n width: tokenSizes.large\n },\n extralarge: {\n height: tokenSizes.extralarge,\n width: tokenSizes.extralarge\n }\n }\n})\n\nconst getTokenButtonIconSize = (size?: TokenSizeKeys) => parseInt(tokenSizes[size || defaultTokenSize], 10) * 0.75\n\nconst StyledTokenButton = styled.span<TokenButtonProps & SxProp>`\n background-color: transparent;\n font-family: inherit;\n color: currentColor;\n cursor: pointer;\n display: inline-flex;\n justify-content: center;\n align-items: center;\n user-select: none;\n appearance: none;\n text-decoration: none;\n padding: 0;\n transform: ${props => `translate(${props.borderOffset}px, -${props.borderOffset}px)`};\n align-self: baseline;\n border: 0;\n border-radius: 999px;\n\n ${props => {\n switch (props.size) {\n case 'large':\n case 'extralarge':\n return css`\n margin-left: ${get('space.2')};\n `\n default:\n return css`\n margin-left: ${get('space.1')};\n `\n }\n }}\n\n &:hover,\n &:focus {\n // TODO: choose a better functional color variable for this\n background-color: ${get('colors.neutral.muted')};\n }\n\n &:active {\n // TODO: choose a better functional color variable for this\n background-color: ${get('colors.neutral.subtle')};\n }\n\n ${variants}\n ${sx}\n`\n\nconst RemoveTokenButton: React.FC<ComponentProps<typeof StyledTokenButton>> = ({\n 'aria-label': ariaLabel,\n isParentInteractive,\n size,\n ...rest\n}) => {\n delete rest.children\n\n return (\n <StyledTokenButton\n as={isParentInteractive ? 'span' : 'button'}\n tabIndex={isParentInteractive ? -1 : undefined}\n aria-label={!isParentInteractive ? 'Remove token' : ariaLabel}\n size={size}\n {...rest}\n >\n <XIcon size={getTokenButtonIconSize(size)} />\n </StyledTokenButton>\n )\n}\n\nRemoveTokenButton.defaultProps = {\n size: defaultTokenSize\n}\n\nexport default RemoveTokenButton\n","import styled from 'styled-components'\nimport {TokenBaseProps} from './TokenBase'\n\nconst TokenTextContainer = styled('span')<Partial<TokenBaseProps>>`\n flex-grow: 1;\n min-width: 0;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n\n // reset button styles, make the cursor a pointer, and add line-height\n background: transparent;\n border: none;\n color: inherit;\n font: inherit;\n margin: 0;\n overflow: visible;\n padding: 0;\n width: auto;\n -webkit-font-smoothing: inherit;\n -moz-osx-font-smoothing: inherit;\n -webkit-appearance: none;\n line-height: 1;\n\n // reset anchor styles\n color: currentColor;\n text-decoration: none;\n\n // Position psuedo-element above text content, but below the\n // remove button.\n // This ensures the <a> or <button> receives the click no\n // matter where on the token the user clicks.\n &:is(a, button, [tabIndex='0']) {\n cursor: pointer;\n\n &:after {\n content: '';\n position: absolute;\n left: 0;\n top: 0;\n right: 0;\n bottom: 0;\n }\n }\n`\n\nexport default TokenTextContainer\n","import React, {forwardRef, MouseEventHandler} from 'react'\nimport styled, {css} from 'styled-components'\nimport {get} from '../constants'\nimport sx, {SxProp} from '../sx'\nimport TokenBase, {defaultTokenSize, isTokenInteractive, TokenBaseProps} from './TokenBase'\nimport RemoveTokenButton from './_RemoveTokenButton'\nimport TokenTextContainer from './_TokenTextContainer'\n\nexport interface TokenProps extends TokenBaseProps {\n /**\n * A function that renders a component before the token text\n */\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n leadingVisual?: React.ComponentType<any>\n /**\n * Whether the remove button should be rendered in the token\n */\n hideRemoveButton?: boolean\n}\n\nconst tokenBorderWidthPx = 1\n\nconst DefaultTokenStyled = styled(TokenBase)<TokenProps & {isTokenInteractive: boolean} & SxProp>`\n background-color: ${get('colors.neutral.subtle')};\n border-color: ${props => (props.isSelected ? get('colors.fg.default') : get('colors.border.subtle'))};\n border-style: solid;\n border-width: ${tokenBorderWidthPx}px;\n color: ${props => (props.isSelected ? get('colors.fg.default') : get('colors.fg.muted'))};\n max-width: 100%;\n padding-right: ${props => (!props.hideRemoveButton ? 0 : undefined)};\n position: relative;\n ${sx}\n\n ${props => {\n if (props.isTokenInteractive) {\n return css`\n &:hover {\n background-color: ${get('colors.neutral.muted')};\n box-shadow: ${get('colors.shadow.medium')};\n color: ${get('colors.fg.default')};\n }\n `\n }\n }}\n`\n\nconst LeadingVisualContainer = styled('span')<Pick<TokenBaseProps, 'size'>>`\n flex-shrink: 0;\n line-height: 0;\n\n ${props => {\n switch (props.size) {\n case 'large':\n case 'extralarge':\n return css`\n margin-right: ${get('space.2')};\n `\n default:\n return css`\n margin-right: ${get('space.1')};\n `\n }\n }}\n`\n\nconst Token = forwardRef<HTMLAnchorElement | HTMLButtonElement | HTMLSpanElement, TokenProps & SxProp>(\n (props, forwardedRef) => {\n const {as, onRemove, id, leadingVisual: LeadingVisual, text, size, hideRemoveButton, href, onClick, ...rest} = props\n const hasMultipleActionTargets = isTokenInteractive(props) && Boolean(onRemove) && !hideRemoveButton\n const onRemoveClick: MouseEventHandler = e => {\n e.stopPropagation()\n onRemove && onRemove()\n }\n const interactiveTokenProps = {\n as,\n href,\n onClick\n }\n\n return (\n <DefaultTokenStyled\n onRemove={onRemove}\n hideRemoveButton={hideRemoveButton || !onRemove}\n id={id?.toString()}\n text={text}\n size={size}\n isTokenInteractive={isTokenInteractive(props)}\n {...(!hasMultipleActionTargets ? interactiveTokenProps : {})}\n {...rest}\n ref={forwardedRef}\n >\n {LeadingVisual ? (\n <LeadingVisualContainer size={size}>\n <LeadingVisual />\n </LeadingVisualContainer>\n ) : null}\n <TokenTextContainer {...(hasMultipleActionTargets ? interactiveTokenProps : {})}>{text}</TokenTextContainer>\n {!hideRemoveButton && onRemove ? (\n <RemoveTokenButton\n borderOffset={tokenBorderWidthPx}\n onClick={onRemoveClick}\n size={size}\n isParentInteractive={isTokenInteractive(props)}\n aria-hidden={hasMultipleActionTargets ? 'true' : 'false'}\n sx={\n hasMultipleActionTargets\n ? {\n position: 'relative',\n zIndex: '1'\n }\n : {}\n }\n />\n ) : null}\n </DefaultTokenStyled>\n )\n }\n)\n\nToken.displayName = 'Token'\n\nToken.defaultProps = {\n size: defaultTokenSize\n}\n\nexport default Token\n","import React, {FocusEventHandler, KeyboardEventHandler, MouseEventHandler, RefObject, useRef, useState} from 'react'\nimport {omit} from '@styled-system/props'\nimport {FocusKeys} from './behaviors/focusZone'\nimport {useCombinedRefs} from './hooks/useCombinedRefs'\nimport {useFocusZone} from './hooks/useFocusZone'\nimport {ComponentProps} from './utils/types'\nimport Token from './Token/Token'\nimport {TokenSizeKeys} from './Token/TokenBase'\nimport {TextInputProps} from './TextInput'\nimport {useProvidedRefOrCreate} from './hooks'\nimport UnstyledTextInput from './_UnstyledTextInput'\nimport TextInputWrapper from './_TextInputWrapper'\nimport Box from './Box'\nimport Text from './Text'\nimport {isFocusable} from './utils/iterateFocusableElements'\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\ntype AnyReactComponent = React.ComponentType<any>\n\n// NOTE: if these props or their JSDoc comments are updated, be sure to also update\n// the prop table in docs/content/TextInputTokens.mdx\ntype TextInputWithTokensInternalProps<TokenComponentType extends AnyReactComponent> = {\n /**\n * The array of tokens to render\n */\n tokens: TokenComponentType extends React.ComponentType<infer TokenProps> ? TokenProps[] : never\n /**\n * The function that gets called when a token is removed\n */\n onTokenRemove: (tokenId: string | number) => void\n /**\n * The component used to render each token\n */\n tokenComponent?: TokenComponentType\n /**\n * The maximum height of the component. If the content in the input exceeds this height,\n * it will scroll vertically\n */\n maxHeight?: React.CSSProperties['maxHeight']\n /**\n * Whether tokens should render inline horizontally. By default, tokens wrap to new lines.\n */\n preventTokenWrapping?: boolean\n /**\n * The size of the tokens\n */\n size?: TokenSizeKeys\n /**\n * Whether the remove buttons should be rendered in the tokens\n */\n hideTokenRemoveButtons?: boolean\n /**\n * The number of tokens to display before truncating\n */\n visibleTokenCount?: number\n} & TextInputProps\n\nconst overflowCountFontSizeMap: Record<TokenSizeKeys, number> = {\n small: 0,\n medium: 1,\n large: 1,\n extralarge: 2\n}\n\n// using forwardRef is important so that other components (ex. Autocomplete) can use the ref\nfunction TextInputWithTokensInnerComponent<TokenComponentType extends AnyReactComponent>(\n {\n icon: IconComponent,\n contrast,\n className,\n block,\n disabled,\n theme,\n sx: sxProp,\n tokens,\n onTokenRemove,\n tokenComponent: TokenComponent,\n preventTokenWrapping,\n size,\n hideTokenRemoveButtons,\n maxHeight,\n width: widthProp,\n minWidth: minWidthProp,\n maxWidth: maxWidthProp,\n variant: variantProp,\n visibleTokenCount,\n ...rest\n }: TextInputWithTokensInternalProps<TokenComponentType> & {\n selectedTokenIndex: number | undefined\n setSelectedTokenIndex: React.Dispatch<React.SetStateAction<number | undefined>>\n },\n externalRef: React.ForwardedRef<HTMLInputElement>\n) {\n const {onBlur, onFocus, onKeyDown, ...inputPropsRest} = omit(rest)\n const ref = useProvidedRefOrCreate<HTMLInputElement>(externalRef as React.RefObject<HTMLInputElement>)\n const localInputRef = useRef<HTMLInputElement>(null)\n const combinedInputRef = useCombinedRefs(localInputRef, ref)\n const [selectedTokenIndex, setSelectedTokenIndex] = useState<number | undefined>()\n const [tokensAreTruncated, setTokensAreTruncated] = useState<boolean>(Boolean(visibleTokenCount))\n const {containerRef} = useFocusZone(\n {\n focusOutBehavior: 'wrap',\n bindKeys: FocusKeys.ArrowHorizontal | FocusKeys.HomeAndEnd,\n focusableElementFilter: element => {\n return !element.getAttributeNames().includes('aria-hidden')\n },\n getNextFocusable: direction => {\n if (!selectedTokenIndex && selectedTokenIndex !== 0) {\n return undefined\n }\n\n let nextIndex = selectedTokenIndex + 1 // \"+ 1\" accounts for the first element: the text input\n\n if (direction === 'next') {\n nextIndex += 1\n }\n\n if (direction === 'previous') {\n nextIndex -= 1\n }\n\n if (nextIndex > tokens.length || nextIndex < 1) {\n return combinedInputRef.current || undefined\n }\n\n return containerRef.current?.children[nextIndex] as HTMLElement\n }\n },\n [selectedTokenIndex]\n )\n\n const handleTokenRemove = (tokenId: string | number) => {\n onTokenRemove(tokenId)\n\n // HACK: wait a tick for the the token node to be removed from the DOM\n setTimeout(() => {\n const nextElementToFocus = containerRef.current?.children[selectedTokenIndex || 0] as HTMLElement | undefined\n\n // when removing the first token by keying \"Backspace\" or \"Delete\",\n // `nextFocusableElement` is the div that wraps the input\n const firstFocusable =\n nextElementToFocus && isFocusable(nextElementToFocus)\n ? nextElementToFocus\n : (Array.from(containerRef.current?.children || []) as HTMLElement[]).find(el => isFocusable(el))\n\n if (firstFocusable) {\n firstFocusable.focus()\n } else {\n // if there are no tokens left, focus the input\n ref.current?.focus()\n }\n }, 0)\n }\n\n const handleTokenFocus: (tokenIndex: number) => FocusEventHandler = tokenIndex => () => {\n setSelectedTokenIndex(tokenIndex)\n }\n\n const handleTokenBlur: FocusEventHandler = () => {\n setSelectedTokenIndex(undefined)\n\n // HACK: wait a tick and check the focused element before hiding truncated tokens\n // this prevents the tokens from hiding when the user is moving focus between tokens,\n // but still hides the tokens when the user blurs the token by tabbing out or clicking somewhere else on the page\n setTimeout(() => {\n if (!containerRef.current?.contains(document.activeElement) && visibleTokenCount) {\n setTokensAreTruncated(true)\n }\n }, 0)\n }\n\n const handleTokenKeyUp: KeyboardEventHandler = event => {\n if (event.key === 'Escape') {\n ref.current?.focus()\n }\n }\n\n const handleInputFocus: FocusEventHandler = event => {\n onFocus && onFocus(event)\n setSelectedTokenIndex(undefined)\n visibleTokenCount && setTokensAreTruncated(false)\n }\n\n const handleInputBlur: FocusEventHandler = event => {\n onBlur && onBlur(event)\n\n // HACK: wait a tick and check the focused element before hiding truncated tokens\n // this prevents the tokens from hiding when the user is moving focus from the input to a token,\n // but still hides the tokens when the user blurs the input by tabbing out or clicking somewhere else on the page\n setTimeout(() => {\n if (!containerRef.current?.contains(document.activeElement) && visibleTokenCount) {\n setTokensAreTruncated(true)\n }\n }, 0)\n }\n\n const handleInputKeyDown: KeyboardEventHandler = e => {\n if (onKeyDown) {\n onKeyDown(e)\n }\n\n if (ref.current?.value) {\n return\n }\n\n const lastToken = tokens[tokens.length - 1]\n\n if (e.key === 'Backspace' && lastToken) {\n handleTokenRemove(lastToken.id)\n\n if (ref.current) {\n // TODO: eliminate the first hack by making changes to the Autocomplete component\n //\n // HACKS:\n // 1. Directly setting `ref.current.value` instead of updating state because the autocomplete\n // highlight behavior doesn't work correctly if we update the value with a setState action in onChange\n // 2. Adding an extra space so that when I backspace, it doesn't delete the last letter\n ref.current.value = `${lastToken.text} `\n }\n\n // HACK: for some reason we need to wait a tick for `.select()` to work\n setTimeout(() => {\n ref.current?.select()\n }, 0)\n }\n }\n\n const focusInput: MouseEventHandler = () => {\n combinedInputRef.current?.focus()\n }\n\n const preventTokenClickPropagation: MouseEventHandler = event => {\n event.stopPropagation()\n }\n\n const visibleTokens = tokensAreTruncated ? tokens.slice(0, visibleTokenCount) : tokens\n\n return (\n <TextInputWrapper\n block={block}\n className={className}\n contrast={contrast}\n disabled={disabled}\n hasIcon={!!IconComponent}\n theme={theme}\n width={widthProp}\n minWidth={minWidthProp}\n maxWidth={maxWidthProp}\n variant={variantProp}\n onClick={focusInput}\n sx={{\n ...(block\n ? {\n display: 'flex',\n width: '100%'\n }\n : {}),\n\n ...(maxHeight\n ? {\n maxHeight,\n overflow: 'auto'\n }\n : {}),\n\n ...(preventTokenWrapping\n ? {\n overflow: 'auto'\n }\n : {}),\n\n ...sxProp\n }}\n >\n <Box\n ref={containerRef as RefObject<HTMLDivElement>}\n display=\"flex\"\n sx={{\n alignItems: 'center',\n flexWrap: preventTokenWrapping ? 'nowrap' : 'wrap',\n marginLeft: '-0.25rem',\n marginBottom: '-0.25rem',\n flexGrow: 1,\n\n '> *': {\n flexShrink: 0,\n marginLeft: '0.25rem',\n marginBottom: '0.25rem'\n }\n }}\n >\n <Box\n sx={{\n order: 1,\n flexGrow: 1\n }}\n >\n {IconComponent && <IconComponent className=\"TextInput-icon\" />}\n <UnstyledTextInput\n ref={combinedInputRef}\n disabled={disabled}\n onFocus={handleInputFocus}\n onBlur={handleInputBlur}\n onKeyDown={handleInputKeyDown}\n type=\"text\"\n sx={{height: '100%'}}\n {...inputPropsRest}\n />\n </Box>\n {TokenComponent\n ? visibleTokens.map(({id, ...tokenRest}, i) => (\n <TokenComponent\n key={id}\n onFocus={handleTokenFocus(i)}\n onBlur={handleTokenBlur}\n onKeyUp={handleTokenKeyUp}\n onClick={preventTokenClickPropagation}\n isSelected={selectedTokenIndex === i}\n onRemove={() => {\n handleTokenRemove(id)\n }}\n hideRemoveButton={hideTokenRemoveButtons}\n size={size}\n tabIndex={0}\n {...tokenRest}\n />\n ))\n : null}\n {tokensAreTruncated ? (\n <Text color=\"fg.muted\" fontSize={size && overflowCountFontSizeMap[size]}>\n +{tokens.length - visibleTokens.length}\n </Text>\n ) : null}\n </Box>\n </TextInputWrapper>\n )\n}\n\nconst TextInputWithTokens = React.forwardRef(TextInputWithTokensInnerComponent)\n\nTextInputWithTokens.defaultProps = {\n tokenComponent: Token,\n size: 'extralarge',\n hideTokenRemoveButtons: false,\n preventTokenWrapping: false\n}\n\nTextInputWithTokens.displayName = 'TextInputWithTokens'\n\nexport type TextInputWithTokensProps = ComponentProps<typeof TextInputWithTokens>\nexport default TextInputWithTokens\n","import classnames from 'classnames'\nimport React from 'react'\nimport styled, {css} from 'styled-components'\nimport {Box} from '.'\nimport {get} from './constants'\nimport sx, {SxProp} from './sx'\nimport {ComponentProps} from './utils/types'\n\nconst Timeline = styled.div<{clipSidebar?: boolean} & SxProp>`\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} & SxProp\n\nconst TimelineItem = styled.div.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.muted')};\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.fg.muted')};\n background-color: ${get('colors.canvas.default')};\n border: 0;\n }\n `}\n\n ${sx};\n`\n\nexport type TimelineBadgeProps = {children?: React.ReactNode} & SxProp\n\nconst TimelineBadge = (props: TimelineBadgeProps) => {\n return (\n <Box position=\"relative\" zIndex={1}>\n <Box\n display=\"flex\"\n className=\"TimelineItem-Badge\"\n flexShrink={0}\n borderRadius=\"50%\"\n borderWidth=\"2px\"\n borderStyle=\"solid\"\n borderColor=\"canvas.default\"\n overflow=\"hidden\"\n color=\"fg.muted\"\n bg=\"timeline.badgeBg\"\n width=\"32px\"\n height=\"32px\"\n mr={2}\n ml=\"-15px\"\n alignItems=\"center\"\n justifyContent=\"center\"\n sx={props.sx}\n >\n {props.children}\n </Box>\n </Box>\n )\n}\n\nconst TimelineBody = styled.div<SxProp>`\n min-width: 0;\n max-width: 100%;\n margin-top: ${get('space.1')};\n color: ${get('colors.fg.muted')};\n flex: auto;\n font-size: ${get('fontSizes.1')};\n ${sx};\n`\n\nconst TimelineBreak = styled.div<SxProp>`\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.canvas.default')};\n border: 0;\n border-top: ${get('space.1')} solid ${get('colors.border.default')};\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","function t(t,n,r){return Math.min(Math.max(t,r),n)}class n extends Error{constructor(t){super(`Failed to parse color: \"${t}\"`)}}function r(r){if(\"string\"!=typeof r)throw new n(r);if(\"transparent\"===r.trim().toLowerCase())return[0,0,0,0];let e=r.trim();e=u.test(r)?function(t){const r=t.toLowerCase().trim(),e=o[function(t){let n=5381,r=t.length;for(;r;)n=33*n^t.charCodeAt(--r);return(n>>>0)%2341}(r)];if(!e)throw new n(t);return`#${e}`}(r):r;const f=s.exec(e);if(f){const t=Array.from(f).slice(1);return[...t.slice(0,3).map(t=>parseInt(_(t,2),16)),parseInt(_(t[3]||\"f\",2),16)/255]}const p=i.exec(e);if(p){const t=Array.from(p).slice(1);return[...t.slice(0,3).map(t=>parseInt(t,16)),parseInt(t[3]||\"ff\",16)/255]}const z=a.exec(e);if(z){const t=Array.from(z).slice(1);return[...t.slice(0,3).map(t=>parseInt(t,10)),parseFloat(t[3]||\"1\")]}const h=c.exec(e);if(h){const[e,o,_,s]=Array.from(h).slice(1).map(parseFloat);if(t(0,100,o)!==o)throw new n(r);if(t(0,100,_)!==_)throw new n(r);return[...l(e,o,_),s||1]}throw new n(r)}const e=t=>parseInt(t.replace(/_/g,\"\"),36),o=\"1q29ehhb 1n09sgk7 1kl1ekf_ _yl4zsno 16z9eiv3 1p29lhp8 _bd9zg04 17u0____ _iw9zhe5 _to73___ _r45e31e _7l6g016 _jh8ouiv _zn3qba8 1jy4zshs 11u87k0u 1ro9yvyo 1aj3xael 1gz9zjz0 _3w8l4xo 1bf1ekf_ _ke3v___ _4rrkb__ 13j776yz _646mbhl _nrjr4__ _le6mbhl 1n37ehkb _m75f91n _qj3bzfz 1939yygw 11i5z6x8 _1k5f8xs 1509441m 15t5lwgf _ae2th1n _tg1ugcv 1lp1ugcv 16e14up_ _h55rw7n _ny9yavn _7a11xb_ 1ih442g9 _pv442g9 1mv16xof 14e6y7tu 1oo9zkds 17d1cisi _4v9y70f _y98m8kc 1019pq0v 12o9zda8 _348j4f4 1et50i2o _8epa8__ _ts6senj 1o350i2o 1mi9eiuo 1259yrp0 1ln80gnw _632xcoy 1cn9zldc _f29edu4 1n490c8q _9f9ziet 1b94vk74 _m49zkct 1kz6s73a 1eu9dtog _q58s1rz 1dy9sjiq __u89jo3 _aj5nkwg _ld89jo3 13h9z6wx _qa9z2ii _l119xgq _bs5arju 1hj4nwk9 1qt4nwk9 1ge6wau6 14j9zlcw 11p1edc_ _ms1zcxe _439shk6 _jt9y70f _754zsow 1la40eju _oq5p___ _x279qkz 1fa5r3rv _yd2d9ip _424tcku _8y1di2_ _zi2uabw _yy7rn9h 12yz980_ __39ljp6 1b59zg0x _n39zfzp 1fy9zest _b33k___ _hp9wq92 1il50hz4 _io472ub _lj9z3eo 19z9ykg0 _8t8iu3a 12b9bl4a 1ak5yw0o _896v4ku _tb8k8lv _s59zi6t _c09ze0p 1lg80oqn 1id9z8wb _238nba5 1kq6wgdi _154zssg _tn3zk49 _da9y6tc 1sg7cv4f _r12jvtt 1gq5fmkz 1cs9rvci _lp9jn1c _xw1tdnb 13f9zje6 16f6973h _vo7ir40 _bt5arjf _rc45e4t _hr4e100 10v4e100 _hc9zke2 _w91egv_ _sj2r1kk 13c87yx8 _vqpds__ _ni8ggk8 _tj9yqfb 1ia2j4r4 _7x9b10u 1fc9ld4j 1eq9zldr _5j9lhpx _ez9zl6o _md61fzm\".split(\" \").reduce((t,n)=>{const r=e(n.substring(0,3)),o=e(n.substring(3)).toString(16);let _=\"\";for(let t=0;t<6-o.length;t++)_+=\"0\";return t[r]=`${_}${o}`,t},{}),_=(t,n)=>Array.from(Array(n)).map(()=>t).join(\"\"),s=new RegExp(`^#${_(\"([a-f0-9])\",3)}([a-f0-9])?$`,\"i\"),i=new RegExp(`^#${_(\"([a-f0-9]{2})\",3)}([a-f0-9]{2})?$`,\"i\"),a=new RegExp(`^rgba?\\\\(\\\\s*(\\\\d+)\\\\s*${_(\",\\\\s*(\\\\d+)\\\\s*\",2)}(?:,\\\\s*([\\\\d.]+))?\\\\s*\\\\)$`,\"i\"),c=/^hsla?\\(\\s*([\\d.]+)\\s*,\\s*([\\d.]+)%\\s*,\\s*([\\d.]+)%(?:\\s*,\\s*([\\d.]+))?\\s*\\)$/i,u=/^[a-z]+$/i,f=t=>Math.round(255*t),l=(t,n,r)=>{let e=r/100;if(0===n)return[e,e,e].map(f);const o=(t%360+360)%360/60,_=(1-Math.abs(2*e-1))*(n/100),s=_*(1-Math.abs(o%2-1));let i=0,a=0,c=0;o>=0&&o<1?(i=_,a=s):o>=1&&o<2?(i=s,a=_):o>=2&&o<3?(a=_,c=s):o>=3&&o<4?(a=s,c=_):o>=4&&o<5?(i=s,c=_):o>=5&&o<6&&(i=_,c=s);const u=e-_/2;return[i+u,a+u,c+u].map(f)};function p(t){const[n,e,o,_]=r(t).map((t,n)=>3===n?t:t/255),s=Math.max(n,e,o),i=Math.min(n,e,o),a=(s+i)/2;if(s===i)return[0,0,a,_];const c=s-i;return[60*(n===s?(e-o)/c+(e<o?6:0):e===s?(o-n)/c+2:(n-e)/c+4),a>.5?c/(2-s-i):c/(s+i),a,_]}function z(n,r,e,o){return`hsla(${(n%360).toFixed()}, ${t(0,100,100*r).toFixed()}%, ${t(0,100,100*e).toFixed()}%, ${parseFloat(t(0,1,o).toFixed(3))})`}function h(t,n){const[r,e,o,_]=p(t);return z(r+n,e,o,_)}function d(t,n){const[r,e,o,_]=p(t);return z(r,e,o-n,_)}function g(t,n){const[r,e,o,_]=p(t);return z(r,e-n,o,_)}function w(t){if(\"transparent\"===t)return 0;function n(t){const n=t/255;return n<=.03928?n/12.92:Math.pow((n+.055)/1.055,2.4)}const[e,o,_]=r(t);return.2126*n(e)+.7152*n(o)+.0722*n(_)}function x(t,n){const r=w(t),e=w(n);return r>e?(r+.05)/(e+.05):(e+.05)/(r+.05)}function m(n,r,e,o){return`rgba(${t(0,255,n).toFixed()}, ${t(0,255,r).toFixed()}, ${t(0,255,e).toFixed()}, ${parseFloat(t(0,1,o).toFixed(3))})`}function y(t,n,e){const o=(t,n)=>3===n?t:t/255,[_,s,i,a]=r(t).map(o),[c,u,f,l]=r(n).map(o),p=l-a,z=2*e-1,h=((z*p==-1?z:z+p)/(1+z*p)+1)/2,d=1-h;return m(255*(_*d+c*h),255*(s*d+u*h),255*(i*d+f*h),l*e+a*(1-e))}function b(){var n=[].slice.call(arguments);return r=>{const e=n.length-1,o=t(0,e,Math.floor(r*e)),_=t(0,e,Math.ceil(r*e)),s=1/e;return y(n[o],n[_],(r-s*o)/s)}}const k={decorative:1.5,readable:3,aa:4.5,aaa:7};function j(t,n=\"aa\"){return x(t,\"#fff\")<k[n]}function $(t,n){return d(t,-n)}function v(t,n){const[e,o,_,s]=r(t);return m(e,o,_,s-n)}function q(t,n){return v(t,-n)}function F(t){return w(t)>.179}function M(t){return F(t)?\"#000\":\"#fff\"}function A(t,n){return g(t,-n)}function I(n){const[e,o,_,s]=r(n);let i=n=>{const r=t(0,255,n).toString(16);return 1===r.length?`0${r}`:r};return`#${i(e)}${i(o)}${i(_)}${s<1?i(Math.round(255*s)):\"\"}`}function E(t){return m(...r(t))}function C(t){return z(...p(t))}export{n as ColorError,h as adjustHue,d as darken,g as desaturate,x as getContrast,w as getLuminance,b as getScale,t as guard,j as hasBadContrast,z as hsla,$ as lighten,y as mix,q as opacify,p as parseToHsla,r as parseToRgba,M as readableColor,F as readableColorIsBlack,m as rgba,A as saturate,I as toHex,C as toHsla,E as toRgba,v as transparentize};\n//# sourceMappingURL=index.module.js.map\n","import React, {forwardRef, MouseEventHandler, useMemo} from 'react'\nimport {CSSObject} from '@styled-system/css'\nimport TokenBase, {defaultTokenSize, isTokenInteractive, TokenBaseProps} from './TokenBase'\nimport RemoveTokenButton from './_RemoveTokenButton'\nimport {parseToHsla, parseToRgba} from 'color2k'\nimport {useTheme} from '../ThemeProvider'\nimport TokenTextContainer from './_TokenTextContainer'\n\nexport interface IssueLabelTokenProps extends TokenBaseProps {\n /**\n * The color that corresponds to the label\n */\n fillColor?: string\n /**\n * Whether the remove button should be rendered in the token\n */\n hideRemoveButton?: boolean\n}\n\nconst tokenBorderWidthPx = 1\n\nconst lightModeStyles = {\n '--lightness-threshold': '0.453',\n '--border-threshold': '0.96',\n '--border-alpha': 'max(0, min(calc((var(--perceived-lightness) - var(--border-threshold)) * 100), 1))',\n background: 'rgb(var(--label-r), var(--label-g), var(--label-b))',\n color: 'hsl(0, 0%, calc(var(--lightness-switch) * 100%))',\n borderWidth: tokenBorderWidthPx,\n borderStyle: 'solid',\n borderColor: 'hsla(var(--label-h),calc(var(--label-s) * 1%),calc((var(--label-l) - 25) * 1%),var(--border-alpha))'\n}\n\nconst darkModeStyles = {\n '--lightness-threshold': '0.6',\n '--background-alpha': '0.18',\n '--border-alpha': '0.3',\n '--lighten-by': 'calc(((var(--lightness-threshold) - var(--perceived-lightness)) * 100) * var(--lightness-switch))',\n borderWidth: tokenBorderWidthPx,\n borderStyle: 'solid',\n background: 'rgba(var(--label-r), var(--label-g), var(--label-b), var(--background-alpha))',\n color: 'hsl(var(--label-h), calc(var(--label-s) * 1%), calc((var(--label-l) + var(--lighten-by)) * 1%))',\n borderColor:\n 'hsla(var(--label-h), calc(var(--label-s) * 1%),calc((var(--label-l) + var(--lighten-by)) * 1%),var(--border-alpha))'\n}\n\nconst IssueLabelToken = forwardRef<HTMLElement, IssueLabelTokenProps>((props, forwardedRef) => {\n const {as, fillColor = '#999', onRemove, id, isSelected, text, size, hideRemoveButton, href, onClick, ...rest} = props\n const interactiveTokenProps = {\n as,\n href,\n onClick\n }\n const {colorScheme} = useTheme()\n const hasMultipleActionTargets = isTokenInteractive(props) && Boolean(onRemove) && !hideRemoveButton\n const onRemoveClick: MouseEventHandler = e => {\n e.stopPropagation()\n onRemove && onRemove()\n }\n const labelStyles: CSSObject = useMemo(() => {\n const [r, g, b] = parseToRgba(fillColor)\n const [h, s, l] = parseToHsla(fillColor)\n\n // label hack taken from https://github.com/github/github/blob/master/app/assets/stylesheets/hacks/hx_primer-labels.scss#L43-L108\n // this logic should eventually live in primer/components. Also worthy of note is that the dotcom hack code will be moving to primer/css soon.\n return {\n '--label-r': String(r),\n '--label-g': String(g),\n '--label-b': String(b),\n '--label-h': String(Math.round(h)),\n '--label-s': String(Math.round(s * 100)),\n '--label-l': String(Math.round(l * 100)),\n '--perceived-lightness':\n 'calc(((var(--label-r) * 0.2126) + (var(--label-g) * 0.7152) + (var(--label-b) * 0.0722)) / 255)',\n '--lightness-switch': 'max(0, min(calc((var(--perceived-lightness) - var(--lightness-threshold)) * -1000), 1))',\n paddingRight: hideRemoveButton || !onRemove ? undefined : 0,\n position: 'relative',\n ...(colorScheme === 'light' ? lightModeStyles : darkModeStyles),\n ...(isSelected\n ? {\n background:\n colorScheme === 'light'\n ? 'hsl(var(--label-h), calc(var(--label-s) * 1%), calc((var(--label-l) - 5) * 1%))'\n : darkModeStyles.background,\n ':focus': {\n outline: 'none'\n },\n ':after': {\n content: '\"\"',\n position: 'absolute',\n zIndex: 1,\n top: `-${tokenBorderWidthPx * 2}px`,\n right: `-${tokenBorderWidthPx * 2}px`,\n bottom: `-${tokenBorderWidthPx * 2}px`,\n left: `-${tokenBorderWidthPx * 2}px`,\n display: 'block',\n pointerEvents: 'none',\n boxShadow: `0 0 0 ${tokenBorderWidthPx * 2}px ${\n colorScheme === 'light'\n ? 'rgb(var(--label-r), var(--label-g), var(--label-b))'\n : 'hsl(var(--label-h), calc(var(--label-s) * 1%), calc((var(--label-l) + var(--lighten-by)) * 1%))'\n }`,\n borderRadius: '999px'\n }\n }\n : {})\n }\n }, [colorScheme, fillColor, isSelected, hideRemoveButton, onRemove])\n\n return (\n <TokenBase\n onRemove={onRemove}\n id={id?.toString()}\n isSelected={isSelected}\n text={text}\n size={size}\n sx={labelStyles}\n {...(!hasMultipleActionTargets ? interactiveTokenProps : {})}\n {...rest}\n ref={forwardedRef}\n >\n <TokenTextContainer {...(hasMultipleActionTargets ? interactiveTokenProps : {})}>{text}</TokenTextContainer>\n {!hideRemoveButton && onRemove ? (\n <RemoveTokenButton\n borderOffset={tokenBorderWidthPx}\n onClick={onRemoveClick}\n size={size}\n aria-hidden={hasMultipleActionTargets ? 'true' : 'false'}\n isParentInteractive={isTokenInteractive(props)}\n sx={\n hasMultipleActionTargets\n ? {\n position: 'relative',\n zIndex: '1'\n }\n : {}\n }\n />\n ) : null}\n </TokenBase>\n )\n})\n\nIssueLabelToken.defaultProps = {\n fillColor: '#999',\n size: defaultTokenSize\n}\n\nIssueLabelToken.displayName = 'IssueLabelToken'\n\nexport default IssueLabelToken\n","import React, {forwardRef} from 'react'\nimport styled from 'styled-components'\nimport {get} from '../constants'\nimport {TokenBaseProps, defaultTokenSize, tokenSizes, TokenSizeKeys} from './TokenBase'\nimport Token from './Token'\nimport {Avatar} from '..'\n\nexport interface AvatarTokenProps extends TokenBaseProps {\n avatarSrc: string\n}\n\nconst AvatarContainer = styled.span<{avatarSize: TokenSizeKeys}>`\n // 'space.1' is used because to match space from the left of the token to the left of the avatar\n // '* 2' is done to account for the top and bottom\n --spacing: calc(${get('space.1')} * 2);\n\n display: block;\n height: ${props => `calc(${tokenSizes[props.avatarSize]} - var(--spacing))`};\n width: ${props => `calc(${tokenSizes[props.avatarSize]} - var(--spacing))`};\n`\n\nconst AvatarToken = forwardRef<HTMLElement, AvatarTokenProps>(({avatarSrc, id, size, ...rest}, forwardedRef) => {\n return (\n <Token\n leadingVisual={() => (\n <AvatarContainer avatarSize={size || defaultTokenSize}>\n <Avatar\n src={avatarSrc}\n size={parseInt(tokenSizes[size || defaultTokenSize], 10)}\n sx={{\n width: '100%',\n height: '100%'\n }}\n />\n </AvatarContainer>\n )}\n size={size}\n id={id?.toString()}\n sx={{\n paddingLeft: get('space.1')\n }}\n {...rest}\n ref={forwardedRef}\n />\n )\n})\n\nAvatarToken.defaultProps = {\n size: defaultTokenSize\n}\n\nAvatarToken.displayName = 'AvatarToken'\n\nexport default AvatarToken\n","import classnames from 'classnames'\nimport React from 'react'\nimport styled from 'styled-components'\nimport {get} from './constants'\nimport sx, {SxProp} from './sx'\nimport {ComponentProps} from './utils/types'\n\nconst TooltipBase = styled.span<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.neutral.emphasisPlus')};\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.fg.onEmphasis')};\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.neutral.emphasisPlus')};\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.neutral.emphasisPlus')};\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.neutral.emphasisPlus')};\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.neutral.emphasisPlus')};\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.neutral.emphasisPlus')};\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\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 {get} 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<SxProp>`\n display: flex;\n justify-content: space-between;\n border-bottom: 1px solid ${get('colors.border.muted')};\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 ${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} & 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.fg.default')};\n text-align: center;\n border-bottom: 2px solid transparent;\n text-decoration: none;\n\n &:hover,\n &:focus {\n color: ${get('colors.fg.default')};\n text-decoration: none;\n border-bottom-color: ${get('colors.neutral.muted')};\n transition: 0.2s ease;\n\n .UnderlineNav-octicon {\n color: ${get('colors.fg.muted')};\n }\n }\n\n &.selected {\n color: ${get('colors.fg.default')};\n border-bottom-color: ${get('colors.primer.border.active')};\n\n .UnderlineNav-octicon {\n color: ${get('colors.fg.default')};\n }\n }\n\n ${sx};\n`\n\nUnderlineNavLink.displayName = 'UnderlineNav.Link'\n\nexport type UnderlineNavLinkProps = ComponentProps<typeof UnderlineNavLink>\nexport default Object.assign(UnderlineNav, {Link: UnderlineNavLink})\n","import styled from 'styled-components'\nimport {useProvidedRefOrCreate} from './hooks'\nimport React, {InputHTMLAttributes, ReactElement, useLayoutEffect} from 'react'\nimport sx, {SxProp} from './sx'\n\nexport type CheckboxProps = {\n /**\n * Apply indeterminate visual appearance to the checkbox\n */\n indeterminate?: boolean\n /**\n * Apply inactive visual appearance to the checkbox\n */\n disabled?: boolean\n /**\n * Forward a ref to the underlying input element\n */\n ref?: React.RefObject<HTMLInputElement>\n /**\n * Indicates whether the checkbox must be checked\n */\n required?: boolean\n\n /**\n * Indicates whether the checkbox validation state\n */\n validationStatus?: 'error' | 'success' // TODO: hoist to Validation typings\n} & InputHTMLAttributes<HTMLInputElement> &\n SxProp\n\nconst StyledCheckbox = styled.input`\n cursor: pointer;\n\n ${props => props.disabled && `cursor: not-allowed;`}\n\n ${sx}\n`\n\n/**\n * An accessible, native checkbox component\n */\nconst Checkbox = React.forwardRef<HTMLInputElement, CheckboxProps>(\n (\n {checked, indeterminate, disabled, sx: sxProp, required, validationStatus, ...rest}: CheckboxProps,\n ref\n ): ReactElement => {\n const checkboxRef = useProvidedRefOrCreate(ref as React.RefObject<HTMLInputElement>)\n\n useLayoutEffect(() => {\n if (checkboxRef.current) {\n checkboxRef.current.indeterminate = indeterminate || false\n }\n }, [indeterminate, checked, checkboxRef])\n\n return (\n <StyledCheckbox\n type=\"checkbox\"\n disabled={disabled}\n aria-disabled={disabled ? 'true' : 'false'}\n ref={ref || checkboxRef}\n checked={indeterminate ? false : checked}\n aria-checked={indeterminate ? 'mixed' : checked ? 'true' : 'false'}\n sx={sxProp}\n required={required}\n aria-required={required ? 'true' : 'false'}\n aria-invalid={validationStatus === 'error' ? 'true' : 'false'}\n {...rest}\n />\n )\n }\n)\n\nCheckbox.displayName = 'Checkbox'\n\nexport default Checkbox\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","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","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","useSafeTimeout","timers","Set","safeSetTimeout","handler","timeout","id","setTimeout","add","safeClearTimeout","clearTimeout","delete","handleClick","registry","reverse","handlerId","useOnOutsideClick","containerRef","ignoreClickRefs","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","preventFocusOnOpen","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","eventListenerSignalPolyfill","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","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","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","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","IssueDraftIcon","IssueOpenedIcon","PlusIcon","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","useLayoutEffect","useAnchoredPosition","dependencies","floatingElementRef","anchorElementRef","setPosition","updatePosition","callback","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","portalRootRegistry","ensureDefaultPortal","existingDefaultPortalContainer","defaultPortalContainer","getElementById","suitablePortalRoot","querySelector","appendChild","root","registerPortalRoot","onMount","containerName","_containerName","hostElement","elementRef","removeChild","createPortal","useCombinedRefs","refs","combinedRef","setRefs","$f01a183cc7bdff77849e49ad26eb904$var$defaultContext","prefix","round","random","$f01a183cc7bdff77849e49ad26eb904$var$SSRContext","_react","SSRProvider","cur","$f01a183cc7bdff77849e49ad26eb904$var$canUseDOM","Boolean","useSSRSafeId","defaultId","ctx","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","autoFocusedFooterButtonRef","footerButton","autoFocus","defaultedProps","dialogRef","backdropRef","header","footer","Portal","as","buttonTypes","normal","Button","primary","ButtonPrimary","danger","ButtonDanger","DialogCloseButton","autoFocusRef","_buttons$find","autoFocusCount","hasRendered","setHasRendered","dialogButtonProps","index","content","buttonType","buttonProps","ButtonElement","StyledConfirmationHeader","StyledTitle","ConfirmationHeader","StyledConfirmationBody","ConfirmationBody","StyledConfirmationFooter","ConfirmationFooter","ConfirmationDialog","cancelButtonContent","confirmButtonContent","confirmButtonType","useConfirm","async","themeProps","confirmationDialogProps","Promise","resolve","ReactDOM","render","gesture","unmountComponentAtNode","confirm","StyledHeader","auxiliaryText","_children","StyledGroup","Group","items","Truncate","inline","expandable","StyledDivider","Divider","renderItem","getItemVariant","iconColor","annotationColor","hoverCursor","hoverBg","focusBg","hoverText","DividedContent","MainContent","StyledItem","item","showDivider","TextContainer","span","BaseVisualContainer","ColoredVisualContainer","LeadingVisualContainer","TrailingContent","DescriptionContainer","MultiSelectIcon","svg","selected","Item","itemProps","Component","text","description","descriptionVariant","selectionVariant","leadingVisual","LeadingVisual","trailingIcon","TrailingIcon","trailingVisual","TrailingVisual","trailingText","onAction","onKeyPress","labelId","descriptionId","keyPressHandler","clickHandler","xmlns","y","rx","fillRule","strokeWidth","colors","fg","default","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","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","AutocompleteContext","hasOwn","classNames","classes","arg","argType","inner","module","exports","input","sizeVariants","hasIcon","contrast","block","TextInput","sxProp","widthProp","minWidthProp","maxWidthProp","variantProp","inputProps","wrapperClasses","classnames","TextInputWrapper","UnstyledTextInput","AutocompleteInput","onFocus","onBlur","onChange","onKeyUp","autocompleteContext","activeDescendantRef","autocompleteSuggestion","inputRef","inputValue","isMenuDirectlyActivated","setInputValue","setShowMenu","showMenu","combinedInputRef","highlightRemainingText","setHighlightRemainingText","handleInputFocus","handleInputBlur","handleInputChange","currentTarget","handleInputKeyDown","_inputRef$current","handleInputKeyUp","onInputKeyPress","nativeEvent","stopImmediatePropagation","activeDescendantEvent","KeyboardEvent","dispatchEvent","toLowerCase","setSelectionRange","autocomplete","scrollIntoViewingArea","child","viewingArea","startMargin","endMargin","behavior","startSide","endSide","scrollSide","childStart","childEnd","viewingAreaStart","viewingAreaEnd","isChildBottomBelowViewingArea","scrollHeightToChildStart","scrollTo","scrollHeightToChildBottom","AutocompleteMenu","scrollContainerRef","setAutocompleteSuggestion","setIsMenuDirectlyActivated","setSelectedItemLength","selectedItemIds","sortOnCloseFn","emptyStateText","addNewItem","loading","filterFn","ariaLabelledBy","onOpenChange","onSelectedChange","customScrollContainerRef","listContainerRef","highlightedItem","setHighlightedItem","sortedItemIds","setSortedItemIds","itemId","selectableItems","selectableItem","otherSelectedItemIds","selectedItemId","newSelectedItemIds","setInputValueFn","itemOrItems","newSelectedItemId","getItemById","itemSortOrderData","sortedAndFilteredItemsToRender","filterValue","_i","_item$text","allItemsToRender","handleAddItem","_previous","selectedItem","itemIdSortResult","isItemSelectedFn","isItemSelected","itemIdA","itemIdB","sortResultMatchesState","every","clip","Spinner","AutocompleteOverlay","menuAnchorRef","selectedItemLength","combinedOverlayRef","closeOptionList","initialState","reducer","state","action","payload","Autocomplete","idProp","dispatch","useReducer","Input","Menu","Avatar","img","square","getBorderRadius","alt","ChildAvatar","AvatarPair","avatars","Children","isValidElement","cloneElement","AvatarStackWrapper","count","AvatarStack","alignRight","wrapperClassNames","transformChildren","Wrapper","li","BreadcrumbsBase","nav","Breadcrumbs","wrappedChildren","BreadcrumbsItem","activeClassName","Breadcrumb","getVariantStyles","shadows","btn","insetShadow","focusShadow","shadowActive","selectedShadow","hoverShadow","invisible","outline","getSizeStyles","iconOnly","Icon","leadingIcon","LeadingIcon","cursor","appearance","textDecoration","iconWrapStyles","sxStyles","scheme","Counter","CounterLabel","NewButton","oppositeEdge","perpendicularEdge","getPosition","edge","spacing","opposite","perp","getBg","getBorderColor","getBorderWidth","Caret","propsWithTheme","location","getEdgeAlign","c","triangle","line","pointerEvents","locations","variantSizes","CircleBadge","calc","parseFloat","isFinite","isNumeric","CircleBadgeIcon","CircleOcticon","Details","details","focusable","el","inputEl","visible","DialogBase","narrow","wide","DialogHeaderBase","DialogHeader","toArray","ch","Text","onDismiss","isOpen","modalRef","closeButtonRef","getDialogProps","getFocusableItem","movement","querySelectorAll","offsetIndex","fallbackIndex","handleTab","focusableItem","stopPropagation","useDialog","ButtonClose","propTypes","ne","sw","se","StyledDetails","Dropdown","DropdownButton","DropdownCaret","DropdownMenu","ul","getDirectionStyles","DropdownItem","placeholder","itemFromAction","FilterListBase","FilterList","FilterListItemBase","FilterListItem","success","warning","Flash","full","FormGroup","FormGroupLabel","label","Label","HeaderItem","HeaderLink","Link","h2","outlineStyles","sizeVariant","xl","dropshadow","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","isSummaryFocused","closeDetails","isMenuItem","click","MenuContext","dividerStyles","SelectMenuDivider","StyledForm","form","SelectMenuFilter","footerStyles","SelectMenuFooter","SelectMenuTitle","h3","SelectMenuHeader","listItemStyles","SelectMenuItem","menuContext","itemRef","listStyles","SelectMenuList","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","issueDraft","colorVariants","StateLabelBase","StateLabel","status","octiconProps","SubNavBase","SubNav","actions","SubNavLinks","SubNavLink","Links","TabNavBase","TabNavBody","TabNav","TabNavLink","regex","RegExp","tokenSizes","extralarge","isTokenInteractive","TokenBase","onRemove","getTokenButtonIconSize","StyledTokenButton","borderOffset","RemoveTokenButton","isParentInteractive","DefaultTokenStyled","hideRemoveButton","Token","hasMultipleActionTargets","interactiveTokenProps","TokenTextContainer","overflowCountFontSizeMap","TextInputWithTokensInnerComponent","tokens","onTokenRemove","tokenComponent","TokenComponent","preventTokenWrapping","hideTokenRemoveButtons","visibleTokenCount","externalRef","inputPropsRest","omit","selectedTokenIndex","setSelectedTokenIndex","tokensAreTruncated","setTokensAreTruncated","getAttributeNames","nextIndex","handleTokenRemove","tokenId","_containerRef$current2","firstFocusable","handleTokenBlur","_containerRef$current4","handleTokenKeyUp","preventTokenClickPropagation","visibleTokens","_containerRef$current5","_ref$current3","lastToken","select","tokenRest","tokenIndex","TextInputWithTokens","Timeline","clipSidebar","TimelineItem","condensed","TimelineBadge","TimelineBody","TimelineBreak","Badge","Break","min","[object Object]","super","trim","u","o","charCodeAt","f","exec","z","substring","lightModeStyles","darkModeStyles","IssueLabelToken","fillColor","labelStyles","g","parseToRgba","parseToHsla","AvatarContainer","avatarSize","AvatarToken","avatarSrc","src","TooltipBase","Tooltip","noDelay","wrap","alignments","directions","UnderlineNavBase","UnderlineNav","UnderlineNavLink","StyledCheckbox","Checkbox","checked","indeterminate","required","validationStatus","checkboxRef"],"mappings":"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"}