@primer/components 0.0.0-202192231947 → 0.0.0-20219254849

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (175) hide show
  1. package/CHANGELOG.md +23 -1
  2. package/codemods/deprecateUtilityComponents.js +1 -1
  3. package/dist/browser.esm.js +880 -770
  4. package/dist/browser.esm.js.map +1 -1
  5. package/dist/browser.umd.js +883 -773
  6. package/dist/browser.umd.js.map +1 -1
  7. package/lib/ActionList/Item.js +4 -4
  8. package/lib/ActionList/List.d.ts +2 -1
  9. package/lib/AnchoredOverlay/AnchoredOverlay.d.ts +6 -3
  10. package/lib/AnchoredOverlay/AnchoredOverlay.js +11 -3
  11. package/lib/Autocomplete/Autocomplete.d.ts +306 -0
  12. package/lib/Autocomplete/Autocomplete.js +145 -0
  13. package/lib/Autocomplete/AutocompleteContext.d.ts +17 -0
  14. package/lib/Autocomplete/AutocompleteContext.js +11 -0
  15. package/lib/Autocomplete/AutocompleteInput.d.ts +294 -0
  16. package/lib/Autocomplete/AutocompleteInput.js +157 -0
  17. package/lib/Autocomplete/AutocompleteMenu.d.ts +72 -0
  18. package/lib/Autocomplete/AutocompleteMenu.js +224 -0
  19. package/lib/Autocomplete/AutocompleteOverlay.d.ts +20 -0
  20. package/lib/Autocomplete/AutocompleteOverlay.js +80 -0
  21. package/lib/Autocomplete/index.d.ts +2 -0
  22. package/lib/Autocomplete/index.js +15 -0
  23. package/lib/BaseStyles.js +1 -1
  24. package/lib/BorderBox.js +1 -1
  25. package/lib/Button/Button.js +1 -1
  26. package/lib/Button/ButtonInvisible.js +1 -1
  27. package/lib/Button/ButtonTableList.js +1 -1
  28. package/lib/Caret.js +2 -2
  29. package/lib/DatePicker/DatePicker.js +10 -6
  30. package/lib/DatePicker/DatePickerAnchor.js +7 -2
  31. package/lib/DatePicker/DatePickerOverlay.d.ts +3 -0
  32. package/lib/DatePicker/DatePickerOverlay.js +39 -0
  33. package/lib/DatePicker/DatePickerPanel.js +92 -9
  34. package/lib/DatePicker/Day.js +2 -1
  35. package/lib/DatePicker/useDatePicker.d.ts +17 -2
  36. package/lib/DatePicker/useDatePicker.js +153 -50
  37. package/lib/Dialog.js +1 -1
  38. package/lib/FilteredActionList/FilteredActionList.js +5 -31
  39. package/lib/Flash.js +16 -16
  40. package/lib/Label.js +1 -1
  41. package/lib/Overlay.d.ts +1 -0
  42. package/lib/Overlay.js +3 -1
  43. package/lib/Pagination/Pagination.js +1 -1
  44. package/lib/ProgressBar.js +1 -1
  45. package/lib/SelectMenu/SelectMenu.d.ts +12 -10
  46. package/lib/StateLabel.js +13 -19
  47. package/lib/TextInput.d.ts +5 -13
  48. package/lib/TextInput.js +4 -46
  49. package/lib/TextInputWithTokens.d.ts +325 -0
  50. package/lib/TextInputWithTokens.js +245 -0
  51. package/lib/Token/AvatarToken.d.ts +7 -0
  52. package/lib/Token/AvatarToken.js +64 -0
  53. package/lib/Token/IssueLabelToken.d.ts +14 -0
  54. package/lib/Token/IssueLabelToken.js +144 -0
  55. package/lib/Token/Token.d.ts +15 -0
  56. package/lib/Token/Token.js +94 -0
  57. package/lib/Token/TokenBase.d.ts +31 -0
  58. package/lib/Token/TokenBase.js +108 -0
  59. package/lib/Token/_RemoveTokenButton.d.ts +12 -0
  60. package/lib/Token/_RemoveTokenButton.js +77 -0
  61. package/lib/Token/_TokenTextContainer.d.ts +3 -0
  62. package/lib/Token/_TokenTextContainer.js +17 -0
  63. package/lib/Token/index.d.ts +3 -0
  64. package/lib/Token/index.js +31 -0
  65. package/lib/_TextInputWrapper.d.ts +10 -0
  66. package/lib/_TextInputWrapper.js +51 -0
  67. package/lib/_UnstyledTextInput.d.ts +2 -0
  68. package/lib/_UnstyledTextInput.js +20 -0
  69. package/lib/behaviors/scrollIntoViewingArea.d.ts +1 -0
  70. package/lib/behaviors/scrollIntoViewingArea.js +39 -0
  71. package/lib/hooks/useOpenAndCloseFocus.d.ts +2 -1
  72. package/lib/hooks/useOpenAndCloseFocus.js +7 -2
  73. package/lib/hooks/useOverlay.d.ts +2 -1
  74. package/lib/hooks/useOverlay.js +4 -2
  75. package/lib/index.d.ts +5 -0
  76. package/lib/index.js +36 -0
  77. package/lib/theme-preval.js +372 -3102
  78. package/lib/utils/testing.d.ts +51 -494
  79. package/lib/utils/{types.d.ts → types/AriaRole.d.ts} +0 -13
  80. package/lib/utils/{types.js → types/AriaRole.js} +0 -0
  81. package/lib/utils/types/ComponentProps.d.ts +9 -0
  82. package/lib/utils/types/ComponentProps.js +1 -0
  83. package/lib/utils/types/Flatten.d.ts +4 -0
  84. package/lib/utils/types/Flatten.js +1 -0
  85. package/lib/utils/types/MandateProps.d.ts +3 -0
  86. package/lib/utils/types/MandateProps.js +1 -0
  87. package/lib/utils/types/Merge.d.ts +19 -0
  88. package/lib/utils/types/Merge.js +1 -0
  89. package/lib/utils/types/index.d.ts +5 -0
  90. package/lib/utils/types/index.js +70 -0
  91. package/lib-esm/ActionList/Item.js +4 -4
  92. package/lib-esm/ActionList/List.d.ts +2 -1
  93. package/lib-esm/AnchoredOverlay/AnchoredOverlay.d.ts +6 -3
  94. package/lib-esm/AnchoredOverlay/AnchoredOverlay.js +11 -3
  95. package/lib-esm/Autocomplete/Autocomplete.d.ts +306 -0
  96. package/lib-esm/Autocomplete/Autocomplete.js +123 -0
  97. package/lib-esm/Autocomplete/AutocompleteContext.d.ts +17 -0
  98. package/lib-esm/Autocomplete/AutocompleteContext.js +2 -0
  99. package/lib-esm/Autocomplete/AutocompleteInput.d.ts +294 -0
  100. package/lib-esm/Autocomplete/AutocompleteInput.js +138 -0
  101. package/lib-esm/Autocomplete/AutocompleteMenu.d.ts +72 -0
  102. package/lib-esm/Autocomplete/AutocompleteMenu.js +205 -0
  103. package/lib-esm/Autocomplete/AutocompleteOverlay.d.ts +20 -0
  104. package/lib-esm/Autocomplete/AutocompleteOverlay.js +62 -0
  105. package/lib-esm/Autocomplete/index.d.ts +2 -0
  106. package/lib-esm/Autocomplete/index.js +1 -0
  107. package/lib-esm/BaseStyles.js +1 -1
  108. package/lib-esm/BorderBox.js +1 -1
  109. package/lib-esm/Button/Button.js +1 -1
  110. package/lib-esm/Button/ButtonInvisible.js +1 -1
  111. package/lib-esm/Button/ButtonTableList.js +1 -1
  112. package/lib-esm/Caret.js +2 -2
  113. package/lib-esm/DatePicker/DatePicker.js +9 -4
  114. package/lib-esm/DatePicker/DatePickerAnchor.js +7 -2
  115. package/lib-esm/DatePicker/DatePickerOverlay.d.ts +3 -0
  116. package/lib-esm/DatePicker/DatePickerOverlay.js +24 -0
  117. package/lib-esm/DatePicker/DatePickerPanel.js +86 -10
  118. package/lib-esm/DatePicker/Day.js +2 -1
  119. package/lib-esm/DatePicker/useDatePicker.d.ts +17 -2
  120. package/lib-esm/DatePicker/useDatePicker.js +154 -51
  121. package/lib-esm/Dialog.js +1 -1
  122. package/lib-esm/FilteredActionList/FilteredActionList.js +3 -31
  123. package/lib-esm/Flash.js +16 -16
  124. package/lib-esm/Label.js +1 -1
  125. package/lib-esm/Overlay.d.ts +1 -0
  126. package/lib-esm/Overlay.js +3 -1
  127. package/lib-esm/Pagination/Pagination.js +1 -1
  128. package/lib-esm/ProgressBar.js +1 -1
  129. package/lib-esm/SelectMenu/SelectMenu.d.ts +12 -10
  130. package/lib-esm/StateLabel.js +13 -19
  131. package/lib-esm/TextInput.d.ts +5 -13
  132. package/lib-esm/TextInput.js +4 -37
  133. package/lib-esm/TextInputWithTokens.d.ts +325 -0
  134. package/lib-esm/TextInputWithTokens.js +220 -0
  135. package/lib-esm/Token/AvatarToken.d.ts +7 -0
  136. package/lib-esm/Token/AvatarToken.js +43 -0
  137. package/lib-esm/Token/IssueLabelToken.d.ts +14 -0
  138. package/lib-esm/Token/IssueLabelToken.js +124 -0
  139. package/lib-esm/Token/Token.d.ts +15 -0
  140. package/lib-esm/Token/Token.js +73 -0
  141. package/lib-esm/Token/TokenBase.d.ts +31 -0
  142. package/lib-esm/Token/TokenBase.js +87 -0
  143. package/lib-esm/Token/_RemoveTokenButton.d.ts +12 -0
  144. package/lib-esm/Token/_RemoveTokenButton.js +60 -0
  145. package/lib-esm/Token/_TokenTextContainer.d.ts +3 -0
  146. package/lib-esm/Token/_TokenTextContainer.js +6 -0
  147. package/lib-esm/Token/index.d.ts +3 -0
  148. package/lib-esm/Token/index.js +3 -0
  149. package/lib-esm/_TextInputWrapper.d.ts +10 -0
  150. package/lib-esm/_TextInputWrapper.js +31 -0
  151. package/lib-esm/_UnstyledTextInput.d.ts +2 -0
  152. package/lib-esm/_UnstyledTextInput.js +7 -0
  153. package/lib-esm/behaviors/scrollIntoViewingArea.d.ts +1 -0
  154. package/lib-esm/behaviors/scrollIntoViewingArea.js +30 -0
  155. package/lib-esm/hooks/useOpenAndCloseFocus.d.ts +2 -1
  156. package/lib-esm/hooks/useOpenAndCloseFocus.js +7 -2
  157. package/lib-esm/hooks/useOverlay.d.ts +2 -1
  158. package/lib-esm/hooks/useOverlay.js +4 -2
  159. package/lib-esm/index.d.ts +5 -0
  160. package/lib-esm/index.js +3 -0
  161. package/lib-esm/theme-preval.js +372 -3102
  162. package/lib-esm/utils/testing.d.ts +51 -494
  163. package/lib-esm/utils/{types.d.ts → types/AriaRole.d.ts} +0 -13
  164. package/lib-esm/utils/{types.js → types/AriaRole.js} +0 -0
  165. package/lib-esm/utils/types/ComponentProps.d.ts +9 -0
  166. package/lib-esm/utils/types/ComponentProps.js +1 -0
  167. package/lib-esm/utils/types/Flatten.d.ts +4 -0
  168. package/lib-esm/utils/types/Flatten.js +1 -0
  169. package/lib-esm/utils/types/MandateProps.d.ts +3 -0
  170. package/lib-esm/utils/types/MandateProps.js +1 -0
  171. package/lib-esm/utils/types/Merge.d.ts +19 -0
  172. package/lib-esm/utils/types/Merge.js +1 -0
  173. package/lib-esm/utils/types/index.d.ts +5 -0
  174. package/lib-esm/utils/types/index.js +5 -0
  175. package/package.json +10 -9
@@ -0,0 +1,14 @@
1
+ import React from 'react';
2
+ import { TokenBaseProps } from './TokenBase';
3
+ export interface IssueLabelTokenProps extends TokenBaseProps {
4
+ /**
5
+ * The color that corresponds to the label
6
+ */
7
+ fillColor?: string;
8
+ /**
9
+ * Whether the remove button should be rendered in the token
10
+ */
11
+ hideRemoveButton?: boolean;
12
+ }
13
+ declare const IssueLabelToken: React.ForwardRefExoticComponent<Pick<IssueLabelTokenProps, "sizes" | "color" | "content" | "height" | "translate" | "width" | "hidden" | "children" | "value" | "cite" | "data" | "form" | "label" | "slot" | "span" | "style" | "summary" | "title" | "pattern" | "text" | "list" | "default" | "type" | "name" | "key" | "defaultChecked" | "defaultValue" | "suppressContentEditableWarning" | "suppressHydrationWarning" | "accessKey" | "className" | "contentEditable" | "contextMenu" | "dir" | "draggable" | "id" | "lang" | "placeholder" | "spellCheck" | "tabIndex" | "radioGroup" | "role" | "about" | "datatype" | "inlist" | "prefix" | "property" | "resource" | "typeof" | "vocab" | "autoCapitalize" | "autoCorrect" | "autoSave" | "itemProp" | "itemScope" | "itemType" | "itemID" | "itemRef" | "results" | "security" | "unselectable" | "inputMode" | "is" | "aria-activedescendant" | "aria-atomic" | "aria-autocomplete" | "aria-busy" | "aria-checked" | "aria-colcount" | "aria-colindex" | "aria-colspan" | "aria-controls" | "aria-current" | "aria-describedby" | "aria-details" | "aria-disabled" | "aria-dropeffect" | "aria-errormessage" | "aria-expanded" | "aria-flowto" | "aria-grabbed" | "aria-haspopup" | "aria-hidden" | "aria-invalid" | "aria-keyshortcuts" | "aria-label" | "aria-labelledby" | "aria-level" | "aria-live" | "aria-modal" | "aria-multiline" | "aria-multiselectable" | "aria-orientation" | "aria-owns" | "aria-placeholder" | "aria-posinset" | "aria-pressed" | "aria-readonly" | "aria-relevant" | "aria-required" | "aria-roledescription" | "aria-rowcount" | "aria-rowindex" | "aria-rowspan" | "aria-selected" | "aria-setsize" | "aria-sort" | "aria-valuemax" | "aria-valuemin" | "aria-valuenow" | "aria-valuetext" | "dangerouslySetInnerHTML" | "onCopy" | "onCopyCapture" | "onCut" | "onCutCapture" | "onPaste" | "onPasteCapture" | "onCompositionEnd" | "onCompositionEndCapture" | "onCompositionStart" | "onCompositionStartCapture" | "onCompositionUpdate" | "onCompositionUpdateCapture" | "onFocus" | "onFocusCapture" | "onBlur" | "onBlurCapture" | "onChange" | "onChangeCapture" | "onBeforeInput" | "onBeforeInputCapture" | "onInput" | "onInputCapture" | "onReset" | "onResetCapture" | "onSubmit" | "onSubmitCapture" | "onInvalid" | "onInvalidCapture" | "onLoad" | "onLoadCapture" | "onError" | "onErrorCapture" | "onKeyDown" | "onKeyDownCapture" | "onKeyPress" | "onKeyPressCapture" | "onKeyUp" | "onKeyUpCapture" | "onAbort" | "onAbortCapture" | "onCanPlay" | "onCanPlayCapture" | "onCanPlayThrough" | "onCanPlayThroughCapture" | "onDurationChange" | "onDurationChangeCapture" | "onEmptied" | "onEmptiedCapture" | "onEncrypted" | "onEncryptedCapture" | "onEnded" | "onEndedCapture" | "onLoadedData" | "onLoadedDataCapture" | "onLoadedMetadata" | "onLoadedMetadataCapture" | "onLoadStart" | "onLoadStartCapture" | "onPause" | "onPauseCapture" | "onPlay" | "onPlayCapture" | "onPlaying" | "onPlayingCapture" | "onProgress" | "onProgressCapture" | "onRateChange" | "onRateChangeCapture" | "onSeeked" | "onSeekedCapture" | "onSeeking" | "onSeekingCapture" | "onStalled" | "onStalledCapture" | "onSuspend" | "onSuspendCapture" | "onTimeUpdate" | "onTimeUpdateCapture" | "onVolumeChange" | "onVolumeChangeCapture" | "onWaiting" | "onWaitingCapture" | "onAuxClick" | "onAuxClickCapture" | "onClick" | "onClickCapture" | "onContextMenu" | "onContextMenuCapture" | "onDoubleClick" | "onDoubleClickCapture" | "onDrag" | "onDragCapture" | "onDragEnd" | "onDragEndCapture" | "onDragEnter" | "onDragEnterCapture" | "onDragExit" | "onDragExitCapture" | "onDragLeave" | "onDragLeaveCapture" | "onDragOver" | "onDragOverCapture" | "onDragStart" | "onDragStartCapture" | "onDrop" | "onDropCapture" | "onMouseDown" | "onMouseDownCapture" | "onMouseEnter" | "onMouseLeave" | "onMouseMove" | "onMouseMoveCapture" | "onMouseOut" | "onMouseOutCapture" | "onMouseOver" | "onMouseOverCapture" | "onMouseUp" | "onMouseUpCapture" | "onSelect" | "onSelectCapture" | "onTouchCancel" | "onTouchCancelCapture" | "onTouchEnd" | "onTouchEndCapture" | "onTouchMove" | "onTouchMoveCapture" | "onTouchStart" | "onTouchStartCapture" | "onPointerDown" | "onPointerDownCapture" | "onPointerMove" | "onPointerMoveCapture" | "onPointerUp" | "onPointerUpCapture" | "onPointerCancel" | "onPointerCancelCapture" | "onPointerEnter" | "onPointerEnterCapture" | "onPointerLeave" | "onPointerLeaveCapture" | "onPointerOver" | "onPointerOverCapture" | "onPointerOut" | "onPointerOutCapture" | "onGotPointerCapture" | "onGotPointerCaptureCapture" | "onLostPointerCapture" | "onLostPointerCaptureCapture" | "onScroll" | "onScrollCapture" | "onWheel" | "onWheelCapture" | "onAnimationStart" | "onAnimationStartCapture" | "onAnimationEnd" | "onAnimationEndCapture" | "onAnimationIteration" | "onAnimationIterationCapture" | "onTransitionEnd" | "onTransitionEndCapture" | "start" | "step" | "size" | "wrap" | "open" | "max" | "media" | "method" | "min" | "target" | "crossOrigin" | "href" | "classID" | "useMap" | "wmode" | "download" | "hrefLang" | "rel" | "alt" | "coords" | "shape" | "autoPlay" | "controls" | "loop" | "mediaGroup" | "muted" | "playsInline" | "preload" | "src" | "autoFocus" | "disabled" | "formAction" | "formEncType" | "formMethod" | "formNoValidate" | "formTarget" | "dateTime" | "acceptCharset" | "action" | "autoComplete" | "encType" | "noValidate" | "manifest" | "allowFullScreen" | "allowTransparency" | "frameBorder" | "marginHeight" | "marginWidth" | "sandbox" | "scrolling" | "seamless" | "srcDoc" | "srcSet" | "async" | "accept" | "capture" | "checked" | "maxLength" | "minLength" | "multiple" | "readOnly" | "required" | "challenge" | "keyType" | "keyParams" | "htmlFor" | "as" | "integrity" | "charSet" | "httpEquiv" | "high" | "low" | "optimum" | "reversed" | "selected" | "defer" | "nonce" | "scoped" | "cellPadding" | "cellSpacing" | "colSpan" | "headers" | "rowSpan" | "scope" | "cols" | "rows" | "kind" | "srcLang" | "poster" | "onRemove" | "isSelected" | "hideRemoveButton" | "fillColor"> & React.RefAttributes<HTMLElement>>;
14
+ export default IssueLabelToken;
@@ -0,0 +1,144 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+
8
+ var _react = _interopRequireWildcard(require("react"));
9
+
10
+ var _TokenBase = _interopRequireWildcard(require("./TokenBase"));
11
+
12
+ var _RemoveTokenButton = _interopRequireDefault(require("./_RemoveTokenButton"));
13
+
14
+ var _color2k = require("color2k");
15
+
16
+ var _ThemeProvider = require("../ThemeProvider");
17
+
18
+ var _TokenTextContainer = _interopRequireDefault(require("./_TokenTextContainer"));
19
+
20
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
21
+
22
+ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
23
+
24
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
25
+
26
+ function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
27
+
28
+ const tokenBorderWidthPx = 1;
29
+ const lightModeStyles = {
30
+ '--lightness-threshold': '0.453',
31
+ '--border-threshold': '0.96',
32
+ '--border-alpha': 'max(0, min(calc((var(--perceived-lightness) - var(--border-threshold)) * 100), 1))',
33
+ background: 'rgb(var(--label-r), var(--label-g), var(--label-b))',
34
+ color: 'hsl(0, 0%, calc(var(--lightness-switch) * 100%))',
35
+ borderWidth: tokenBorderWidthPx,
36
+ borderStyle: 'solid',
37
+ borderColor: 'hsla(var(--label-h),calc(var(--label-s) * 1%),calc((var(--label-l) - 25) * 1%),var(--border-alpha))'
38
+ };
39
+ const darkModeStyles = {
40
+ '--lightness-threshold': '0.6',
41
+ '--background-alpha': '0.18',
42
+ '--border-alpha': '0.3',
43
+ '--lighten-by': 'calc(((var(--lightness-threshold) - var(--perceived-lightness)) * 100) * var(--lightness-switch))',
44
+ borderWidth: tokenBorderWidthPx,
45
+ borderStyle: 'solid',
46
+ background: 'rgba(var(--label-r), var(--label-g), var(--label-b), var(--background-alpha))',
47
+ color: 'hsl(var(--label-h), calc(var(--label-s) * 1%), calc((var(--label-l) + var(--lighten-by)) * 1%))',
48
+ borderColor: 'hsla(var(--label-h), calc(var(--label-s) * 1%),calc((var(--label-l) + var(--lighten-by)) * 1%),var(--border-alpha))'
49
+ };
50
+ const IssueLabelToken = /*#__PURE__*/(0, _react.forwardRef)((props, forwardedRef) => {
51
+ const {
52
+ as,
53
+ fillColor = '#999',
54
+ onRemove,
55
+ id,
56
+ isSelected,
57
+ text,
58
+ size,
59
+ hideRemoveButton,
60
+ href,
61
+ onClick,
62
+ ...rest
63
+ } = props;
64
+ const interactiveTokenProps = {
65
+ as,
66
+ href,
67
+ onClick
68
+ };
69
+ const {
70
+ colorScheme
71
+ } = (0, _ThemeProvider.useTheme)();
72
+ const hasMultipleActionTargets = (0, _TokenBase.isTokenInteractive)(props) && Boolean(onRemove) && !hideRemoveButton;
73
+
74
+ const onRemoveClick = e => {
75
+ e.stopPropagation();
76
+ onRemove && onRemove();
77
+ };
78
+
79
+ const labelStyles = (0, _react.useMemo)(() => {
80
+ const [r, g, b] = (0, _color2k.parseToRgba)(fillColor);
81
+ const [h, s, l] = (0, _color2k.parseToHsla)(fillColor); // label hack taken from https://github.com/github/github/blob/master/app/assets/stylesheets/hacks/hx_primer-labels.scss#L43-L108
82
+ // 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.
83
+
84
+ return {
85
+ '--label-r': String(r),
86
+ '--label-g': String(g),
87
+ '--label-b': String(b),
88
+ '--label-h': String(Math.round(h)),
89
+ '--label-s': String(Math.round(s * 100)),
90
+ '--label-l': String(Math.round(l * 100)),
91
+ '--perceived-lightness': 'calc(((var(--label-r) * 0.2126) + (var(--label-g) * 0.7152) + (var(--label-b) * 0.0722)) / 255)',
92
+ '--lightness-switch': 'max(0, min(calc((var(--perceived-lightness) - var(--lightness-threshold)) * -1000), 1))',
93
+ paddingRight: hideRemoveButton || !onRemove ? undefined : 0,
94
+ position: 'relative',
95
+ ...(colorScheme === 'light' ? lightModeStyles : darkModeStyles),
96
+ ...(isSelected ? {
97
+ background: colorScheme === 'light' ? 'hsl(var(--label-h), calc(var(--label-s) * 1%), calc((var(--label-l) - 5) * 1%))' : darkModeStyles.background,
98
+ ':focus': {
99
+ outline: 'none'
100
+ },
101
+ ':after': {
102
+ content: '""',
103
+ position: 'absolute',
104
+ zIndex: 1,
105
+ top: `-${tokenBorderWidthPx * 2}px`,
106
+ right: `-${tokenBorderWidthPx * 2}px`,
107
+ bottom: `-${tokenBorderWidthPx * 2}px`,
108
+ left: `-${tokenBorderWidthPx * 2}px`,
109
+ display: 'block',
110
+ pointerEvents: 'none',
111
+ boxShadow: `0 0 0 ${tokenBorderWidthPx * 2}px ${colorScheme === 'light' ? 'rgb(var(--label-r), var(--label-g), var(--label-b))' : 'hsl(var(--label-h), calc(var(--label-s) * 1%), calc((var(--label-l) + var(--lighten-by)) * 1%))'}`,
112
+ borderRadius: '999px'
113
+ }
114
+ } : {})
115
+ };
116
+ }, [colorScheme, fillColor, isSelected, hideRemoveButton, onRemove]);
117
+ return /*#__PURE__*/_react.default.createElement(_TokenBase.default, _extends({
118
+ onRemove: onRemove,
119
+ id: id === null || id === void 0 ? void 0 : id.toString(),
120
+ isSelected: isSelected,
121
+ text: text,
122
+ size: size,
123
+ sx: labelStyles
124
+ }, !hasMultipleActionTargets ? interactiveTokenProps : {}, rest, {
125
+ ref: forwardedRef
126
+ }), /*#__PURE__*/_react.default.createElement(_TokenTextContainer.default, hasMultipleActionTargets ? interactiveTokenProps : {}, text), !hideRemoveButton && onRemove ? /*#__PURE__*/_react.default.createElement(_RemoveTokenButton.default, {
127
+ borderOffset: tokenBorderWidthPx,
128
+ onClick: onRemoveClick,
129
+ size: size,
130
+ "aria-hidden": hasMultipleActionTargets ? 'true' : 'false',
131
+ isParentInteractive: (0, _TokenBase.isTokenInteractive)(props),
132
+ sx: hasMultipleActionTargets ? {
133
+ position: 'relative',
134
+ zIndex: '1'
135
+ } : {}
136
+ }) : null);
137
+ });
138
+ IssueLabelToken.defaultProps = {
139
+ fillColor: '#999',
140
+ size: _TokenBase.defaultTokenSize
141
+ };
142
+ IssueLabelToken.displayName = 'IssueLabelToken';
143
+ var _default = IssueLabelToken;
144
+ exports.default = _default;
@@ -0,0 +1,15 @@
1
+ import React from 'react';
2
+ import { SxProp } from '../sx';
3
+ import { TokenBaseProps } from './TokenBase';
4
+ export interface TokenProps extends TokenBaseProps {
5
+ /**
6
+ * A function that renders a component before the token text
7
+ */
8
+ leadingVisual?: React.ComponentType<any>;
9
+ /**
10
+ * Whether the remove button should be rendered in the token
11
+ */
12
+ hideRemoveButton?: boolean;
13
+ }
14
+ declare const Token: React.ForwardRefExoticComponent<Pick<TokenProps & SxProp, "sizes" | "color" | "content" | "height" | "translate" | "width" | "hidden" | "children" | "value" | "cite" | "data" | "form" | "label" | "slot" | "span" | "style" | "summary" | "title" | "pattern" | "text" | "list" | "default" | "type" | "name" | "key" | "defaultChecked" | "defaultValue" | "suppressContentEditableWarning" | "suppressHydrationWarning" | "accessKey" | "className" | "contentEditable" | "contextMenu" | "dir" | "draggable" | "id" | "lang" | "placeholder" | "spellCheck" | "tabIndex" | "radioGroup" | "role" | "about" | "datatype" | "inlist" | "prefix" | "property" | "resource" | "typeof" | "vocab" | "autoCapitalize" | "autoCorrect" | "autoSave" | "itemProp" | "itemScope" | "itemType" | "itemID" | "itemRef" | "results" | "security" | "unselectable" | "inputMode" | "is" | "aria-activedescendant" | "aria-atomic" | "aria-autocomplete" | "aria-busy" | "aria-checked" | "aria-colcount" | "aria-colindex" | "aria-colspan" | "aria-controls" | "aria-current" | "aria-describedby" | "aria-details" | "aria-disabled" | "aria-dropeffect" | "aria-errormessage" | "aria-expanded" | "aria-flowto" | "aria-grabbed" | "aria-haspopup" | "aria-hidden" | "aria-invalid" | "aria-keyshortcuts" | "aria-label" | "aria-labelledby" | "aria-level" | "aria-live" | "aria-modal" | "aria-multiline" | "aria-multiselectable" | "aria-orientation" | "aria-owns" | "aria-placeholder" | "aria-posinset" | "aria-pressed" | "aria-readonly" | "aria-relevant" | "aria-required" | "aria-roledescription" | "aria-rowcount" | "aria-rowindex" | "aria-rowspan" | "aria-selected" | "aria-setsize" | "aria-sort" | "aria-valuemax" | "aria-valuemin" | "aria-valuenow" | "aria-valuetext" | "dangerouslySetInnerHTML" | "onCopy" | "onCopyCapture" | "onCut" | "onCutCapture" | "onPaste" | "onPasteCapture" | "onCompositionEnd" | "onCompositionEndCapture" | "onCompositionStart" | "onCompositionStartCapture" | "onCompositionUpdate" | "onCompositionUpdateCapture" | "onFocus" | "onFocusCapture" | "onBlur" | "onBlurCapture" | "onChange" | "onChangeCapture" | "onBeforeInput" | "onBeforeInputCapture" | "onInput" | "onInputCapture" | "onReset" | "onResetCapture" | "onSubmit" | "onSubmitCapture" | "onInvalid" | "onInvalidCapture" | "onLoad" | "onLoadCapture" | "onError" | "onErrorCapture" | "onKeyDown" | "onKeyDownCapture" | "onKeyPress" | "onKeyPressCapture" | "onKeyUp" | "onKeyUpCapture" | "onAbort" | "onAbortCapture" | "onCanPlay" | "onCanPlayCapture" | "onCanPlayThrough" | "onCanPlayThroughCapture" | "onDurationChange" | "onDurationChangeCapture" | "onEmptied" | "onEmptiedCapture" | "onEncrypted" | "onEncryptedCapture" | "onEnded" | "onEndedCapture" | "onLoadedData" | "onLoadedDataCapture" | "onLoadedMetadata" | "onLoadedMetadataCapture" | "onLoadStart" | "onLoadStartCapture" | "onPause" | "onPauseCapture" | "onPlay" | "onPlayCapture" | "onPlaying" | "onPlayingCapture" | "onProgress" | "onProgressCapture" | "onRateChange" | "onRateChangeCapture" | "onSeeked" | "onSeekedCapture" | "onSeeking" | "onSeekingCapture" | "onStalled" | "onStalledCapture" | "onSuspend" | "onSuspendCapture" | "onTimeUpdate" | "onTimeUpdateCapture" | "onVolumeChange" | "onVolumeChangeCapture" | "onWaiting" | "onWaitingCapture" | "onAuxClick" | "onAuxClickCapture" | "onClick" | "onClickCapture" | "onContextMenu" | "onContextMenuCapture" | "onDoubleClick" | "onDoubleClickCapture" | "onDrag" | "onDragCapture" | "onDragEnd" | "onDragEndCapture" | "onDragEnter" | "onDragEnterCapture" | "onDragExit" | "onDragExitCapture" | "onDragLeave" | "onDragLeaveCapture" | "onDragOver" | "onDragOverCapture" | "onDragStart" | "onDragStartCapture" | "onDrop" | "onDropCapture" | "onMouseDown" | "onMouseDownCapture" | "onMouseEnter" | "onMouseLeave" | "onMouseMove" | "onMouseMoveCapture" | "onMouseOut" | "onMouseOutCapture" | "onMouseOver" | "onMouseOverCapture" | "onMouseUp" | "onMouseUpCapture" | "onSelect" | "onSelectCapture" | "onTouchCancel" | "onTouchCancelCapture" | "onTouchEnd" | "onTouchEndCapture" | "onTouchMove" | "onTouchMoveCapture" | "onTouchStart" | "onTouchStartCapture" | "onPointerDown" | "onPointerDownCapture" | "onPointerMove" | "onPointerMoveCapture" | "onPointerUp" | "onPointerUpCapture" | "onPointerCancel" | "onPointerCancelCapture" | "onPointerEnter" | "onPointerEnterCapture" | "onPointerLeave" | "onPointerLeaveCapture" | "onPointerOver" | "onPointerOverCapture" | "onPointerOut" | "onPointerOutCapture" | "onGotPointerCapture" | "onGotPointerCaptureCapture" | "onLostPointerCapture" | "onLostPointerCaptureCapture" | "onScroll" | "onScrollCapture" | "onWheel" | "onWheelCapture" | "onAnimationStart" | "onAnimationStartCapture" | "onAnimationEnd" | "onAnimationEndCapture" | "onAnimationIteration" | "onAnimationIterationCapture" | "onTransitionEnd" | "onTransitionEndCapture" | "start" | "step" | "size" | "wrap" | "open" | "sx" | "max" | "media" | "method" | "min" | "target" | "crossOrigin" | "href" | "classID" | "useMap" | "wmode" | "download" | "hrefLang" | "rel" | "alt" | "coords" | "shape" | "autoPlay" | "controls" | "loop" | "mediaGroup" | "muted" | "playsInline" | "preload" | "src" | "autoFocus" | "disabled" | "formAction" | "formEncType" | "formMethod" | "formNoValidate" | "formTarget" | "dateTime" | "acceptCharset" | "action" | "autoComplete" | "encType" | "noValidate" | "manifest" | "allowFullScreen" | "allowTransparency" | "frameBorder" | "marginHeight" | "marginWidth" | "sandbox" | "scrolling" | "seamless" | "srcDoc" | "srcSet" | "async" | "accept" | "capture" | "checked" | "maxLength" | "minLength" | "multiple" | "readOnly" | "required" | "challenge" | "keyType" | "keyParams" | "htmlFor" | "as" | "integrity" | "charSet" | "httpEquiv" | "high" | "low" | "optimum" | "reversed" | "selected" | "defer" | "nonce" | "scoped" | "cellPadding" | "cellSpacing" | "colSpan" | "headers" | "rowSpan" | "scope" | "cols" | "rows" | "kind" | "srcLang" | "poster" | "leadingVisual" | "onRemove" | "isSelected" | "hideRemoveButton"> & React.RefAttributes<HTMLAnchorElement | HTMLButtonElement | HTMLSpanElement>>;
15
+ export default Token;
@@ -0,0 +1,94 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+
8
+ var _react = _interopRequireWildcard(require("react"));
9
+
10
+ var _styledComponents = _interopRequireWildcard(require("styled-components"));
11
+
12
+ var _constants = require("../constants");
13
+
14
+ var _sx = _interopRequireDefault(require("../sx"));
15
+
16
+ var _TokenBase = _interopRequireWildcard(require("./TokenBase"));
17
+
18
+ var _RemoveTokenButton = _interopRequireDefault(require("./_RemoveTokenButton"));
19
+
20
+ var _TokenTextContainer = _interopRequireDefault(require("./_TokenTextContainer"));
21
+
22
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
23
+
24
+ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
25
+
26
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
27
+
28
+ 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); }
29
+
30
+ const tokenBorderWidthPx = 1;
31
+ const DefaultTokenStyled = (0, _styledComponents.default)(_TokenBase.default).withConfig({
32
+ displayName: "Token__DefaultTokenStyled",
33
+ componentId: "sc-1dg52pw-0"
34
+ })(["background-color:", ";border-color:", ";border-style:solid;border-width:", "px;color:", ";max-width:100%;padding-right:", ";position:relative;", " ", ""], (0, _constants.get)('colors.neutral.subtle'), props => props.isSelected ? (0, _constants.get)('colors.fg.default') : (0, _constants.get)('colors.border.subtle'), tokenBorderWidthPx, props => props.isSelected ? (0, _constants.get)('colors.fg.default') : (0, _constants.get)('colors.fg.muted'), props => !props.hideRemoveButton ? 0 : undefined, _sx.default, props => {
35
+ if (props.isTokenInteractive) {
36
+ return (0, _styledComponents.css)(["&:hover{background-color:", ";box-shadow:", ";color:", ";}"], (0, _constants.get)('colors.neutral.muted'), (0, _constants.get)('colors.shadow.medium'), (0, _constants.get)('colors.fg.default'));
37
+ }
38
+ });
39
+ const LeadingVisualContainer = (0, _styledComponents.default)('span').withConfig({
40
+ displayName: "Token__LeadingVisualContainer",
41
+ componentId: "sc-1dg52pw-1"
42
+ })(["flex-shrink:0;line-height:0;"]);
43
+ const Token = /*#__PURE__*/(0, _react.forwardRef)((props, forwardedRef) => {
44
+ const {
45
+ as,
46
+ onRemove,
47
+ id,
48
+ leadingVisual: LeadingVisual,
49
+ text,
50
+ size,
51
+ hideRemoveButton,
52
+ href,
53
+ onClick,
54
+ ...rest
55
+ } = props;
56
+ const hasMultipleActionTargets = (0, _TokenBase.isTokenInteractive)(props) && Boolean(onRemove) && !hideRemoveButton;
57
+
58
+ const onRemoveClick = e => {
59
+ e.stopPropagation();
60
+ onRemove && onRemove();
61
+ };
62
+
63
+ const interactiveTokenProps = {
64
+ as,
65
+ href,
66
+ onClick
67
+ };
68
+ return /*#__PURE__*/_react.default.createElement(DefaultTokenStyled, _extends({
69
+ onRemove: onRemove,
70
+ hideRemoveButton: hideRemoveButton || !onRemove,
71
+ id: id === null || id === void 0 ? void 0 : id.toString(),
72
+ text: text,
73
+ size: size,
74
+ isTokenInteractive: (0, _TokenBase.isTokenInteractive)(props)
75
+ }, !hasMultipleActionTargets ? interactiveTokenProps : {}, rest, {
76
+ ref: forwardedRef
77
+ }), LeadingVisual ? /*#__PURE__*/_react.default.createElement(LeadingVisualContainer, null, /*#__PURE__*/_react.default.createElement(LeadingVisual, null)) : null, /*#__PURE__*/_react.default.createElement(_TokenTextContainer.default, hasMultipleActionTargets ? interactiveTokenProps : {}, text), !hideRemoveButton && onRemove ? /*#__PURE__*/_react.default.createElement(_RemoveTokenButton.default, {
78
+ borderOffset: tokenBorderWidthPx,
79
+ onClick: onRemoveClick,
80
+ size: size,
81
+ isParentInteractive: (0, _TokenBase.isTokenInteractive)(props),
82
+ "aria-hidden": hasMultipleActionTargets ? 'true' : 'false',
83
+ sx: hasMultipleActionTargets ? {
84
+ position: 'relative',
85
+ zIndex: '1'
86
+ } : {}
87
+ }) : null);
88
+ });
89
+ Token.displayName = 'Token';
90
+ Token.defaultProps = {
91
+ size: _TokenBase.defaultTokenSize
92
+ };
93
+ var _default = Token;
94
+ exports.default = _default;
@@ -0,0 +1,31 @@
1
+ /// <reference types="react" />
2
+ import { SxProp } from '../sx';
3
+ export declare type TokenSizeKeys = 'small' | 'medium' | 'large' | 'extralarge';
4
+ export declare const tokenSizes: Record<TokenSizeKeys, string>;
5
+ export declare const defaultTokenSize: TokenSizeKeys;
6
+ export interface TokenBaseProps extends Omit<React.HTMLProps<HTMLSpanElement | HTMLButtonElement | HTMLAnchorElement>, 'size' | 'id'> {
7
+ as?: 'button' | 'a' | 'span';
8
+ /**
9
+ * The function that gets called when a user clicks the remove button, or keys "Backspace" or "Delete" when focused on the token
10
+ */
11
+ onRemove?: () => void;
12
+ /**
13
+ * Whether the token is selected
14
+ */
15
+ isSelected?: boolean;
16
+ /**
17
+ * The text label inside the token
18
+ */
19
+ text: string;
20
+ /**
21
+ * A unique identifier that can be associated with the token
22
+ */
23
+ id?: number | string;
24
+ /**
25
+ * Which size the token will be rendered at
26
+ */
27
+ size?: TokenSizeKeys;
28
+ }
29
+ export declare const isTokenInteractive: ({ as, onClick, onFocus, tabIndex }: TokenBaseProps) => boolean;
30
+ declare const TokenBase: import("styled-components").StyledComponent<"span", any, TokenBaseProps & SxProp, never>;
31
+ export default TokenBase;
@@ -0,0 +1,108 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = exports.isTokenInteractive = exports.defaultTokenSize = exports.tokenSizes = void 0;
7
+
8
+ var _styledComponents = _interopRequireDefault(require("styled-components"));
9
+
10
+ var _styledSystem = require("styled-system");
11
+
12
+ var _constants = require("../constants");
13
+
14
+ var _sx = _interopRequireDefault(require("../sx"));
15
+
16
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
17
+
18
+ const tokenSizes = {
19
+ small: '16px',
20
+ medium: '20px',
21
+ large: '24px',
22
+ extralarge: '32px'
23
+ };
24
+ exports.tokenSizes = tokenSizes;
25
+ const defaultTokenSize = 'medium';
26
+ exports.defaultTokenSize = defaultTokenSize;
27
+
28
+ const isTokenInteractive = ({
29
+ as = 'span',
30
+ onClick,
31
+ onFocus,
32
+ tabIndex = -1
33
+ }) => Boolean(onFocus || onClick || tabIndex > -1 || ['a', 'button'].includes(as));
34
+
35
+ exports.isTokenInteractive = isTokenInteractive;
36
+ const variants = (0, _styledSystem.variant)({
37
+ prop: 'size',
38
+ variants: {
39
+ small: {
40
+ fontSize: 0,
41
+ gap: 1,
42
+ height: tokenSizes.small,
43
+ // without setting lineHeight to match height, the "x" appears vertically mis-aligned
44
+ lineHeight: tokenSizes.small,
45
+ paddingLeft: 1,
46
+ paddingRight: 1,
47
+ // need to explicitly set padding top and bottom to "0" to override default `<button>` element styles
48
+ // without setting these, the "x" appears vertically mis-aligned
49
+ paddingTop: 0,
50
+ paddingBottom: 0
51
+ },
52
+ medium: {
53
+ fontSize: 0,
54
+ gap: 1,
55
+ height: tokenSizes.medium,
56
+ lineHeight: tokenSizes.medium,
57
+ paddingLeft: 2,
58
+ paddingRight: 2,
59
+ paddingTop: 0,
60
+ paddingBottom: 0
61
+ },
62
+ large: {
63
+ fontSize: 0,
64
+ gap: 2,
65
+ height: tokenSizes.large,
66
+ lineHeight: tokenSizes.large,
67
+ paddingLeft: 2,
68
+ paddingRight: 2,
69
+ paddingTop: 0,
70
+ paddingBottom: 0
71
+ },
72
+ extralarge: {
73
+ fontSize: 1,
74
+ gap: 2,
75
+ height: tokenSizes.extralarge,
76
+ lineHeight: tokenSizes.extralarge,
77
+ paddingLeft: 3,
78
+ paddingRight: 3,
79
+ paddingTop: 0,
80
+ paddingBottom: 0
81
+ }
82
+ }
83
+ });
84
+
85
+ const TokenBase = _styledComponents.default.span.attrs(({
86
+ text,
87
+ onRemove,
88
+ onKeyDown
89
+ }) => ({
90
+ onKeyDown: event => {
91
+ onKeyDown && onKeyDown(event);
92
+
93
+ if ((event.key === 'Backspace' || event.key === 'Delete') && onRemove) {
94
+ onRemove();
95
+ }
96
+ },
97
+ 'aria-label': onRemove ? `${text}, press backspace or delete to remove` : undefined
98
+ })).withConfig({
99
+ displayName: "TokenBase",
100
+ componentId: "opajvp-0"
101
+ })(["align-items:center;border-radius:999px;cursor:", ";display:inline-flex;font-weight:", ";font-family:inherit;text-decoration:none;white-space:nowrap;", " ", ""], props => isTokenInteractive(props) ? 'pointer' : 'auto', (0, _constants.get)('fontWeights.bold'), variants, _sx.default);
102
+
103
+ TokenBase.defaultProps = {
104
+ as: 'span',
105
+ size: defaultTokenSize
106
+ };
107
+ var _default = TokenBase;
108
+ exports.default = _default;
@@ -0,0 +1,12 @@
1
+ import React from 'react';
2
+ import { SxProp } from '../sx';
3
+ import { ComponentProps } from '../utils/types';
4
+ import { TokenSizeKeys } from './TokenBase';
5
+ interface TokenButtonProps {
6
+ borderOffset?: number;
7
+ size?: TokenSizeKeys;
8
+ isParentInteractive?: boolean;
9
+ }
10
+ declare const StyledTokenButton: import("styled-components").StyledComponent<"span", any, TokenButtonProps & SxProp, never>;
11
+ declare const RemoveTokenButton: React.FC<ComponentProps<typeof StyledTokenButton>>;
12
+ export default RemoveTokenButton;
@@ -0,0 +1,77 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+
8
+ var _react = _interopRequireDefault(require("react"));
9
+
10
+ var _octiconsReact = require("@primer/octicons-react");
11
+
12
+ var _styledComponents = _interopRequireDefault(require("styled-components"));
13
+
14
+ var _styledSystem = require("styled-system");
15
+
16
+ var _constants = require("../constants");
17
+
18
+ var _sx = _interopRequireDefault(require("../sx"));
19
+
20
+ var _TokenBase = require("./TokenBase");
21
+
22
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
23
+
24
+ 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); }
25
+
26
+ const variants = (0, _styledSystem.variant)({
27
+ prop: 'size',
28
+ variants: {
29
+ small: {
30
+ height: _TokenBase.tokenSizes.small,
31
+ width: _TokenBase.tokenSizes.small
32
+ },
33
+ medium: {
34
+ height: _TokenBase.tokenSizes.medium,
35
+ width: _TokenBase.tokenSizes.medium
36
+ },
37
+ large: {
38
+ height: _TokenBase.tokenSizes.large,
39
+ width: _TokenBase.tokenSizes.large
40
+ },
41
+ extralarge: {
42
+ height: _TokenBase.tokenSizes.extralarge,
43
+ width: _TokenBase.tokenSizes.extralarge
44
+ }
45
+ }
46
+ });
47
+
48
+ const getTokenButtonIconSize = size => parseInt(_TokenBase.tokenSizes[size || _TokenBase.defaultTokenSize], 10) * 0.75;
49
+
50
+ const StyledTokenButton = _styledComponents.default.span.withConfig({
51
+ displayName: "_RemoveTokenButton__StyledTokenButton",
52
+ componentId: "sc-14lvcw1-0"
53
+ })(["background-color:transparent;font-family:inherit;color:currentColor;cursor:pointer;display:inline-flex;justify-content:center;align-items:center;user-select:none;appearance:none;text-decoration:none;padding:0;transform:", ";align-self:baseline;border:0;border-radius:999px;&:hover,&:focus{background-color:", ";}&:active{background-color:", ";}", " ", ""], props => `translate(${props.borderOffset}px, -${props.borderOffset}px)`, (0, _constants.get)('colors.neutral.muted'), (0, _constants.get)('colors.neutral.subtle'), variants, _sx.default);
54
+
55
+ const RemoveTokenButton = ({
56
+ 'aria-label': ariaLabel,
57
+ isParentInteractive,
58
+ size,
59
+ ...rest
60
+ }) => {
61
+ delete rest.children;
62
+ return /*#__PURE__*/_react.default.createElement(StyledTokenButton, _extends({
63
+ as: isParentInteractive ? 'span' : 'button',
64
+ tabIndex: isParentInteractive ? -1 : undefined,
65
+ "aria-label": !isParentInteractive ? 'Remove token' : ariaLabel,
66
+ size: size
67
+ }, rest), /*#__PURE__*/_react.default.createElement(_octiconsReact.XIcon, {
68
+ size: getTokenButtonIconSize(size)
69
+ }));
70
+ };
71
+
72
+ RemoveTokenButton.displayName = "RemoveTokenButton";
73
+ RemoveTokenButton.defaultProps = {
74
+ size: _TokenBase.defaultTokenSize
75
+ };
76
+ var _default = RemoveTokenButton;
77
+ exports.default = _default;
@@ -0,0 +1,3 @@
1
+ import { TokenBaseProps } from './TokenBase';
2
+ declare const TokenTextContainer: import("styled-components").StyledComponent<"span", any, Partial<TokenBaseProps>, never>;
3
+ export default TokenTextContainer;
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+
8
+ var _styledComponents = _interopRequireDefault(require("styled-components"));
9
+
10
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
11
+
12
+ const TokenTextContainer = (0, _styledComponents.default)('span').withConfig({
13
+ displayName: "_TokenTextContainer__TokenTextContainer",
14
+ componentId: "sc-4t2bev-0"
15
+ })(["flex-grow:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;background:transparent;border:none;color:inherit;font:inherit;margin:0;overflow:visible;padding:0;width:auto;-webkit-font-smoothing:inherit;-moz-osx-font-smoothing:inherit;-webkit-appearance:none;line-height:1;color:currentColor;text-decoration:none;&:is(a,button,[tabIndex='0']){cursor:pointer;&:after{content:'';position:absolute;left:0;top:0;right:0;bottom:0;}}"]);
16
+ var _default = TokenTextContainer;
17
+ exports.default = _default;
@@ -0,0 +1,3 @@
1
+ export { default } from './Token';
2
+ export { default as IssueLabelToken } from './IssueLabelToken';
3
+ export { default as AvatarToken } from './AvatarToken';
@@ -0,0 +1,31 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ Object.defineProperty(exports, "default", {
7
+ enumerable: true,
8
+ get: function () {
9
+ return _Token.default;
10
+ }
11
+ });
12
+ Object.defineProperty(exports, "IssueLabelToken", {
13
+ enumerable: true,
14
+ get: function () {
15
+ return _IssueLabelToken.default;
16
+ }
17
+ });
18
+ Object.defineProperty(exports, "AvatarToken", {
19
+ enumerable: true,
20
+ get: function () {
21
+ return _AvatarToken.default;
22
+ }
23
+ });
24
+
25
+ var _Token = _interopRequireDefault(require("./Token"));
26
+
27
+ var _IssueLabelToken = _interopRequireDefault(require("./IssueLabelToken"));
28
+
29
+ var _AvatarToken = _interopRequireDefault(require("./AvatarToken"));
30
+
31
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
@@ -0,0 +1,10 @@
1
+ import { MaxWidthProps, MinWidthProps, WidthProps } from 'styled-system';
2
+ import { SxProp } from './sx';
3
+ declare const TextInputWrapper: import("styled-components").StyledComponent<"span", any, {
4
+ disabled?: boolean | undefined;
5
+ hasIcon?: boolean | undefined;
6
+ block?: boolean | undefined;
7
+ contrast?: boolean | undefined;
8
+ variant?: "large" | "small" | undefined;
9
+ } & WidthProps<Required<import("styled-system").Theme<import("styled-system").TLengthStyledSystem>>, import("csstype").Property.Width<import("styled-system").TLengthStyledSystem>> & MinWidthProps<Required<import("styled-system").Theme<import("styled-system").TLengthStyledSystem>>, import("csstype").Property.MinWidth<import("styled-system").TLengthStyledSystem>> & MaxWidthProps<Required<import("styled-system").Theme<import("styled-system").TLengthStyledSystem>>, import("csstype").Property.MaxWidth<import("styled-system").TLengthStyledSystem>> & SxProp, never>;
10
+ export default TextInputWrapper;