@primer/components 0.0.0-20219283497 → 0.0.0-2021929114541

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 (156) hide show
  1. package/CHANGELOG.md +17 -1
  2. package/dist/browser.esm.js +447 -440
  3. package/dist/browser.esm.js.map +1 -1
  4. package/dist/browser.umd.js +446 -439
  5. package/dist/browser.umd.js.map +1 -1
  6. package/lib/ActionList2/Description.d.ts +6 -0
  7. package/lib/ActionList2/Description.js +53 -0
  8. package/lib/ActionList2/Divider.d.ts +5 -0
  9. package/lib/ActionList2/Divider.js +33 -0
  10. package/lib/ActionList2/Group.d.ts +11 -0
  11. package/lib/ActionList2/Group.js +55 -0
  12. package/lib/ActionList2/Header.d.ts +26 -0
  13. package/lib/ActionList2/Header.js +55 -0
  14. package/lib/ActionList2/Item.d.ts +48 -0
  15. package/lib/ActionList2/Item.js +204 -0
  16. package/lib/ActionList2/List.d.ts +26 -0
  17. package/lib/ActionList2/List.js +56 -0
  18. package/lib/ActionList2/Selection.d.ts +5 -0
  19. package/lib/ActionList2/Selection.js +73 -0
  20. package/lib/ActionList2/Visuals.d.ts +11 -0
  21. package/lib/ActionList2/Visuals.js +90 -0
  22. package/lib/ActionList2/hacks.d.ts +30 -0
  23. package/lib/ActionList2/hacks.js +38 -0
  24. package/lib/ActionList2/index.d.ts +28 -0
  25. package/lib/ActionList2/index.js +42 -0
  26. package/lib/ActionMenu.js +2 -2
  27. package/lib/Autocomplete/Autocomplete.d.ts +11 -11
  28. package/lib/Autocomplete/AutocompleteInput.d.ts +11 -11
  29. package/lib/Button/Button.d.ts +13 -13
  30. package/lib/Button/ButtonBase.d.ts +1 -1
  31. package/lib/Button/ButtonClose.d.ts +16 -16
  32. package/lib/Button/ButtonDanger.d.ts +13 -13
  33. package/lib/Button/ButtonInvisible.d.ts +13 -13
  34. package/lib/Button/ButtonOutline.d.ts +13 -13
  35. package/lib/Button/ButtonPrimary.d.ts +13 -13
  36. package/lib/Button/ButtonStyles.js +1 -1
  37. package/lib/CircleBadge.d.ts +2 -2
  38. package/lib/CircleOcticon.d.ts +19 -19
  39. package/lib/Dialog/Dialog.d.ts +4 -4
  40. package/lib/Dialog/Dialog.js +22 -12
  41. package/lib/Dialog.d.ts +21 -21
  42. package/lib/Dropdown.d.ts +141 -63
  43. package/lib/Dropdown.js +5 -6
  44. package/lib/DropdownMenu/DropdownButton.d.ts +18 -18
  45. package/lib/FilterList.d.ts +12 -12
  46. package/lib/Label.d.ts +1 -1
  47. package/lib/Position.d.ts +4 -4
  48. package/lib/ProgressBar.d.ts +1 -1
  49. package/lib/SelectMenu/SelectMenu.d.ts +81 -81
  50. package/lib/SelectMenu/SelectMenuItem.d.ts +1 -1
  51. package/lib/SelectMenu/SelectMenuModal.d.ts +1 -1
  52. package/lib/TextInputWithTokens.d.ts +15 -11
  53. package/lib/TextInputWithTokens.js +102 -29
  54. package/lib/Timeline.d.ts +19 -19
  55. package/lib/Token/AvatarToken.d.ts +1 -1
  56. package/lib/Token/IssueLabelToken.d.ts +1 -1
  57. package/lib/Token/Token.d.ts +1 -1
  58. package/lib/Token/Token.js +13 -2
  59. package/lib/Token/TokenBase.js +0 -4
  60. package/lib/Token/_RemoveTokenButton.js +15 -2
  61. package/lib/_TextInputWrapper.d.ts +1 -1
  62. package/lib/_TextInputWrapper.js +1 -1
  63. package/lib/constants.js +1 -3
  64. package/lib/experiments.d.ts +1 -0
  65. package/lib/experiments.js +13 -0
  66. package/lib/index.d.ts +0 -2
  67. package/lib/index.js +0 -8
  68. package/lib/sx.d.ts +2 -0
  69. package/lib/sx.js +8 -0
  70. package/lib/utils/create-slots.d.ts +17 -0
  71. package/lib/utils/create-slots.js +105 -0
  72. package/lib/utils/testing.d.ts +1 -1
  73. package/lib/utils/use-force-update.d.ts +1 -0
  74. package/lib/utils/use-force-update.js +19 -0
  75. package/lib-esm/ActionList2/Description.d.ts +6 -0
  76. package/lib-esm/ActionList2/Description.js +37 -0
  77. package/lib-esm/ActionList2/Divider.d.ts +5 -0
  78. package/lib-esm/ActionList2/Divider.js +21 -0
  79. package/lib-esm/ActionList2/Group.d.ts +11 -0
  80. package/lib-esm/ActionList2/Group.js +38 -0
  81. package/lib-esm/ActionList2/Header.d.ts +26 -0
  82. package/lib-esm/ActionList2/Header.js +45 -0
  83. package/lib-esm/ActionList2/Item.d.ts +48 -0
  84. package/lib-esm/ActionList2/Item.js +176 -0
  85. package/lib-esm/ActionList2/List.d.ts +26 -0
  86. package/lib-esm/ActionList2/List.js +38 -0
  87. package/lib-esm/ActionList2/Selection.d.ts +5 -0
  88. package/lib-esm/ActionList2/Selection.js +55 -0
  89. package/lib-esm/ActionList2/Visuals.d.ts +11 -0
  90. package/lib-esm/ActionList2/Visuals.js +68 -0
  91. package/lib-esm/ActionList2/hacks.d.ts +30 -0
  92. package/lib-esm/ActionList2/hacks.js +30 -0
  93. package/lib-esm/ActionList2/index.d.ts +28 -0
  94. package/lib-esm/ActionList2/index.js +29 -0
  95. package/lib-esm/ActionMenu.js +2 -2
  96. package/lib-esm/Autocomplete/Autocomplete.d.ts +11 -11
  97. package/lib-esm/Autocomplete/AutocompleteInput.d.ts +11 -11
  98. package/lib-esm/Button/Button.d.ts +13 -13
  99. package/lib-esm/Button/ButtonBase.d.ts +1 -1
  100. package/lib-esm/Button/ButtonClose.d.ts +16 -16
  101. package/lib-esm/Button/ButtonDanger.d.ts +13 -13
  102. package/lib-esm/Button/ButtonInvisible.d.ts +13 -13
  103. package/lib-esm/Button/ButtonOutline.d.ts +13 -13
  104. package/lib-esm/Button/ButtonPrimary.d.ts +13 -13
  105. package/lib-esm/Button/ButtonStyles.js +1 -1
  106. package/lib-esm/CircleBadge.d.ts +2 -2
  107. package/lib-esm/CircleOcticon.d.ts +19 -19
  108. package/lib-esm/Dialog/Dialog.d.ts +4 -4
  109. package/lib-esm/Dialog/Dialog.js +21 -12
  110. package/lib-esm/Dialog.d.ts +21 -21
  111. package/lib-esm/Dropdown.d.ts +141 -63
  112. package/lib-esm/Dropdown.js +3 -4
  113. package/lib-esm/DropdownMenu/DropdownButton.d.ts +18 -18
  114. package/lib-esm/FilterList.d.ts +12 -12
  115. package/lib-esm/Label.d.ts +1 -1
  116. package/lib-esm/Position.d.ts +4 -4
  117. package/lib-esm/ProgressBar.d.ts +1 -1
  118. package/lib-esm/SelectMenu/SelectMenu.d.ts +81 -81
  119. package/lib-esm/SelectMenu/SelectMenuItem.d.ts +1 -1
  120. package/lib-esm/SelectMenu/SelectMenuModal.d.ts +1 -1
  121. package/lib-esm/TextInputWithTokens.d.ts +15 -11
  122. package/lib-esm/TextInputWithTokens.js +101 -30
  123. package/lib-esm/Timeline.d.ts +19 -19
  124. package/lib-esm/Token/AvatarToken.d.ts +1 -1
  125. package/lib-esm/Token/IssueLabelToken.d.ts +1 -1
  126. package/lib-esm/Token/Token.d.ts +1 -1
  127. package/lib-esm/Token/Token.js +13 -2
  128. package/lib-esm/Token/TokenBase.js +0 -4
  129. package/lib-esm/Token/_RemoveTokenButton.js +11 -2
  130. package/lib-esm/_TextInputWrapper.d.ts +1 -1
  131. package/lib-esm/_TextInputWrapper.js +1 -1
  132. package/lib-esm/constants.js +1 -3
  133. package/lib-esm/experiments.d.ts +1 -0
  134. package/lib-esm/experiments.js +2 -0
  135. package/lib-esm/index.d.ts +0 -2
  136. package/lib-esm/index.js +0 -1
  137. package/lib-esm/sx.d.ts +2 -0
  138. package/lib-esm/sx.js +3 -1
  139. package/lib-esm/utils/create-slots.d.ts +17 -0
  140. package/lib-esm/utils/create-slots.js +84 -0
  141. package/lib-esm/utils/testing.d.ts +1 -1
  142. package/lib-esm/utils/use-force-update.d.ts +1 -0
  143. package/lib-esm/utils/use-force-update.js +6 -0
  144. package/package.json +2 -1
  145. package/lib/NewButton/button.d.ts +0 -581
  146. package/lib/NewButton/button.js +0 -297
  147. package/lib/NewButton/counter.d.ts +0 -6
  148. package/lib/NewButton/counter.js +0 -33
  149. package/lib/NewButton/index.d.ts +0 -4
  150. package/lib/NewButton/index.js +0 -21
  151. package/lib-esm/NewButton/button.d.ts +0 -581
  152. package/lib-esm/NewButton/button.js +0 -273
  153. package/lib-esm/NewButton/counter.d.ts +0 -6
  154. package/lib-esm/NewButton/counter.js +0 -21
  155. package/lib-esm/NewButton/index.d.ts +0 -4
  156. package/lib-esm/NewButton/index.js +0 -3
@@ -10,6 +10,6 @@ declare type SelectMenuItemInteralProps = {
10
10
  as?: React.ElementType;
11
11
  selected?: boolean;
12
12
  } & ComponentProps<typeof StyledItem>;
13
- declare const SelectMenuItem: React.ForwardRefExoticComponent<Pick<SelectMenuItemInteralProps, "translate" | "slot" | "style" | "title" | "theme" | "type" | "key" | "defaultChecked" | "defaultValue" | "suppressContentEditableWarning" | "suppressHydrationWarning" | "accessKey" | "className" | "contentEditable" | "contextMenu" | "dir" | "draggable" | "hidden" | "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" | "children" | "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" | "sx" | "as" | keyof SystemCommonProps | "media" | "target" | "href" | "referrerPolicy" | "hrefLang" | "rel" | "selected" | "download" | "ping"> & React.RefAttributes<HTMLAnchorElement>>;
13
+ declare const SelectMenuItem: React.ForwardRefExoticComponent<Pick<SelectMenuItemInteralProps, "translate" | "hidden" | "children" | "theme" | "slot" | "style" | "title" | "type" | "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" | "sx" | "as" | "selected" | keyof SystemCommonProps | "media" | "target" | "href" | "download" | "hrefLang" | "ping" | "rel" | "referrerPolicy"> & React.RefAttributes<HTMLAnchorElement>>;
14
14
  export declare type SelectMenuItemProps = ComponentProps<typeof SelectMenuItem>;
15
15
  export default SelectMenuItem;
@@ -10,6 +10,6 @@ declare const ModalWrapper: import("styled-components").StyledComponent<"div", a
10
10
  align?: "left" | "right" | undefined;
11
11
  } & SystemCommonProps & SxProp, never>;
12
12
  declare type SelectMenuModalInternalProps = Pick<StyledModalProps, 'width'> & ComponentProps<typeof ModalWrapper>;
13
- declare const SelectMenuModal: React.ForwardRefExoticComponent<Pick<SelectMenuModalInternalProps, "backgroundColor" | "color" | "display" | "marginBottom" | "marginLeft" | "marginRight" | "marginTop" | "opacity" | "paddingBottom" | "paddingLeft" | "paddingRight" | "paddingTop" | "translate" | "width" | "margin" | "padding" | "bg" | "m" | "mt" | "mr" | "mb" | "ml" | "mx" | "marginX" | "my" | "marginY" | "p" | "pt" | "pr" | "pb" | "pl" | "px" | "paddingX" | "py" | "paddingY" | "slot" | "style" | "title" | "theme" | "key" | "defaultChecked" | "defaultValue" | "suppressContentEditableWarning" | "suppressHydrationWarning" | "accessKey" | "className" | "contentEditable" | "contextMenu" | "dir" | "draggable" | "hidden" | "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" | "children" | "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" | "sx" | "align"> & React.RefAttributes<HTMLDivElement>>;
13
+ declare const SelectMenuModal: React.ForwardRefExoticComponent<Pick<SelectMenuModalInternalProps, "backgroundColor" | "color" | "display" | "marginBottom" | "marginLeft" | "marginRight" | "marginTop" | "opacity" | "paddingBottom" | "paddingLeft" | "paddingRight" | "paddingTop" | "translate" | "width" | "margin" | "padding" | "hidden" | "children" | "theme" | "p" | "slot" | "style" | "title" | "bg" | "m" | "mt" | "mr" | "mb" | "ml" | "mx" | "marginX" | "my" | "marginY" | "pt" | "pr" | "pb" | "pl" | "px" | "paddingX" | "py" | "paddingY" | "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" | "sx" | "align"> & React.RefAttributes<HTMLDivElement>>;
14
14
  export declare type SelectMenuModalProps = ComponentProps<typeof SelectMenuModal>;
15
15
  export default SelectMenuModal;
@@ -32,6 +32,10 @@ declare const TextInputWithTokens: React.ForwardRefExoticComponent<Pick<{
32
32
  * Whether the remove buttons should be rendered in the tokens
33
33
  */
34
34
  hideTokenRemoveButtons?: boolean | undefined;
35
+ /**
36
+ * The number of tokens to display before truncating
37
+ */
38
+ visibleTokenCount?: number | undefined;
35
39
  } & Pick<Omit<Pick<{
36
40
  [x: string]: any;
37
41
  [x: number]: any;
@@ -40,7 +44,7 @@ declare const TextInputWithTokens: React.ForwardRefExoticComponent<Pick<{
40
44
  } & {
41
45
  as?: string | React.ComponentType<any> | undefined;
42
46
  forwardedAs?: string | React.ComponentType<any> | undefined;
43
- }, string | number | symbol>, "maxWidth" | "minWidth" | "width" | "theme" | "className" | "block" | "icon" | "sx" | "disabled" | "variant" | "contrast"> & {
47
+ }, string | number | symbol>, "maxWidth" | "minWidth" | "width" | "theme" | "className" | "block" | "icon" | "sx" | "variant" | "disabled" | "contrast"> & {
44
48
  className?: string | undefined;
45
49
  icon?: React.ComponentType<{
46
50
  className?: string | undefined;
@@ -51,10 +55,12 @@ declare const TextInputWithTokens: React.ForwardRefExoticComponent<Pick<{
51
55
  minWidth?: import("styled-system").ResponsiveValue<import("csstype").Property.MinWidth<import("styled-system").TLengthStyledSystem>, Required<import("styled-system").Theme<import("styled-system").TLengthStyledSystem>>> | undefined;
52
56
  translate?: "yes" | "no" | undefined;
53
57
  width?: import("styled-system").ResponsiveValue<import("csstype").Property.Width<import("styled-system").TLengthStyledSystem>, Required<import("styled-system").Theme<import("styled-system").TLengthStyledSystem>>> | undefined;
58
+ hidden?: boolean | undefined;
59
+ children?: React.ReactNode;
60
+ ref?: ((instance: HTMLSpanElement | null) => void) | React.RefObject<HTMLSpanElement> | null | undefined;
54
61
  slot?: string | undefined;
55
62
  style?: React.CSSProperties | undefined;
56
63
  title?: string | undefined;
57
- ref?: ((instance: HTMLSpanElement | null) => void) | React.RefObject<HTMLSpanElement> | null | undefined;
58
64
  key?: React.Key | null | undefined;
59
65
  defaultChecked?: boolean | undefined;
60
66
  defaultValue?: string | number | readonly string[] | undefined;
@@ -62,11 +68,10 @@ declare const TextInputWithTokens: React.ForwardRefExoticComponent<Pick<{
62
68
  suppressHydrationWarning?: boolean | undefined;
63
69
  accessKey?: string | undefined;
64
70
  className?: string | undefined;
65
- contentEditable?: (boolean | "true" | "false") | "inherit" | undefined;
71
+ contentEditable?: "inherit" | (boolean | "true" | "false") | undefined;
66
72
  contextMenu?: string | undefined;
67
73
  dir?: string | undefined;
68
74
  draggable?: (boolean | "true" | "false") | undefined;
69
- hidden?: boolean | undefined;
70
75
  id?: string | undefined;
71
76
  lang?: string | undefined;
72
77
  placeholder?: string | undefined;
@@ -93,11 +98,11 @@ declare const TextInputWithTokens: React.ForwardRefExoticComponent<Pick<{
93
98
  results?: number | undefined;
94
99
  security?: string | undefined;
95
100
  unselectable?: "on" | "off" | undefined;
96
- inputMode?: "none" | "search" | "text" | "tel" | "url" | "email" | "numeric" | "decimal" | undefined;
101
+ inputMode?: "none" | "text" | "search" | "tel" | "url" | "email" | "numeric" | "decimal" | undefined;
97
102
  is?: string | undefined;
98
103
  'aria-activedescendant'?: string | undefined;
99
104
  'aria-atomic'?: boolean | "true" | "false" | undefined;
100
- 'aria-autocomplete'?: "list" | "none" | "inline" | "both" | undefined;
105
+ 'aria-autocomplete'?: "none" | "list" | "inline" | "both" | undefined;
101
106
  'aria-busy'?: boolean | "true" | "false" | undefined;
102
107
  'aria-checked'?: boolean | "true" | "false" | "mixed" | undefined;
103
108
  'aria-colcount'?: number | undefined;
@@ -108,12 +113,12 @@ declare const TextInputWithTokens: React.ForwardRefExoticComponent<Pick<{
108
113
  'aria-describedby'?: string | undefined;
109
114
  'aria-details'?: string | undefined;
110
115
  'aria-disabled'?: boolean | "true" | "false" | undefined;
111
- 'aria-dropeffect'?: "link" | "none" | "copy" | "move" | "execute" | "popup" | undefined;
116
+ 'aria-dropeffect'?: "none" | "link" | "copy" | "move" | "execute" | "popup" | undefined;
112
117
  'aria-errormessage'?: string | undefined;
113
118
  'aria-expanded'?: boolean | "true" | "false" | undefined;
114
119
  'aria-flowto'?: string | undefined;
115
120
  'aria-grabbed'?: boolean | "true" | "false" | undefined;
116
- 'aria-haspopup'?: boolean | "grid" | "dialog" | "listbox" | "menu" | "tree" | "true" | "false" | undefined;
121
+ 'aria-haspopup'?: boolean | "grid" | "dialog" | "menu" | "listbox" | "tree" | "true" | "false" | undefined;
117
122
  'aria-hidden'?: boolean | "true" | "false" | undefined;
118
123
  'aria-invalid'?: boolean | "true" | "false" | "grammar" | "spelling" | undefined;
119
124
  'aria-keyshortcuts'?: string | undefined;
@@ -143,7 +148,6 @@ declare const TextInputWithTokens: React.ForwardRefExoticComponent<Pick<{
143
148
  'aria-valuemin'?: number | undefined;
144
149
  'aria-valuenow'?: number | undefined;
145
150
  'aria-valuetext'?: string | undefined;
146
- children?: React.ReactNode;
147
151
  dangerouslySetInnerHTML?: {
148
152
  __html: string;
149
153
  } | undefined;
@@ -309,13 +313,13 @@ declare const TextInputWithTokens: React.ForwardRefExoticComponent<Pick<{
309
313
  onTransitionEndCapture?: React.TransitionEventHandler<HTMLSpanElement> | undefined;
310
314
  block?: boolean | undefined;
311
315
  sx?: import("@styled-system/css").SystemStyleObject | undefined;
316
+ variant?: "large" | "small" | undefined;
312
317
  disabled?: boolean | undefined;
313
- variant?: "small" | "large" | undefined;
314
318
  hasIcon?: boolean | undefined;
315
319
  contrast?: boolean | undefined;
316
320
  } & {
317
321
  theme?: any;
318
- }, "maxWidth" | "minWidth" | "width" | "theme" | "block" | "sx" | "disabled" | "variant" | "contrast">, string | number | symbol> & React.RefAttributes<HTMLInputElement> & {
322
+ }, "maxWidth" | "minWidth" | "width" | "theme" | "block" | "sx" | "variant" | "disabled" | "contrast">, string | number | symbol> & React.RefAttributes<HTMLInputElement> & {
319
323
  selectedTokenIndex: number | undefined;
320
324
  setSelectedTokenIndex: React.Dispatch<React.SetStateAction<number | undefined>>;
321
325
  }, string | number | symbol> & React.RefAttributes<HTMLInputElement>>;
@@ -9,9 +9,17 @@ import Token from './Token/Token';
9
9
  import { useProvidedRefOrCreate } from './hooks';
10
10
  import UnstyledTextInput from './_UnstyledTextInput';
11
11
  import TextInputWrapper from './_TextInputWrapper';
12
- import Box from './Box'; // eslint-disable-next-line @typescript-eslint/no-explicit-any
12
+ import Box from './Box';
13
+ import Text from './Text';
14
+ import { isFocusable } from './utils/iterateFocusableElements'; // eslint-disable-next-line @typescript-eslint/no-explicit-any
15
+
16
+ const overflowCountFontSizeMap = {
17
+ small: 0,
18
+ medium: 1,
19
+ large: 1,
20
+ extralarge: 2
21
+ }; // using forwardRef is important so that other components (ex. Autocomplete) can use the ref
13
22
 
14
- // using forwardRef is important so that other components (ex. Autocomplete) can use the ref
15
23
  function TextInputWithTokensInnerComponent({
16
24
  icon: IconComponent,
17
25
  contrast,
@@ -31,9 +39,11 @@ function TextInputWithTokensInnerComponent({
31
39
  minWidth: minWidthProp,
32
40
  maxWidth: maxWidthProp,
33
41
  variant: variantProp,
42
+ visibleTokenCount,
34
43
  ...rest
35
44
  }, externalRef) {
36
45
  const {
46
+ onBlur,
37
47
  onFocus,
38
48
  onKeyDown,
39
49
  ...inputPropsRest
@@ -42,6 +52,7 @@ function TextInputWithTokensInnerComponent({
42
52
  const localInputRef = useRef(null);
43
53
  const combinedInputRef = useCombinedRefs(localInputRef, ref);
44
54
  const [selectedTokenIndex, setSelectedTokenIndex] = useState();
55
+ const [tokensAreTruncated, setTokensAreTruncated] = useState(Boolean(visibleTokenCount));
45
56
  const {
46
57
  containerRef
47
58
  } = useFocusZone({
@@ -76,14 +87,25 @@ function TextInputWithTokensInnerComponent({
76
87
  }, [selectedTokenIndex]);
77
88
 
78
89
  const handleTokenRemove = tokenId => {
79
- onTokenRemove(tokenId);
90
+ onTokenRemove(tokenId); // HACK: wait a tick for the the token node to be removed from the DOM
80
91
 
81
- if (selectedTokenIndex) {
82
- var _containerRef$current2;
92
+ setTimeout(() => {
93
+ var _containerRef$current2, _containerRef$current3;
83
94
 
84
- const nextElementToFocus = (_containerRef$current2 = containerRef.current) === null || _containerRef$current2 === void 0 ? void 0 : _containerRef$current2.children[selectedTokenIndex];
85
- nextElementToFocus.focus();
86
- }
95
+ const nextElementToFocus = (_containerRef$current2 = containerRef.current) === null || _containerRef$current2 === void 0 ? void 0 : _containerRef$current2.children[selectedTokenIndex || 0]; // when removing the first token by keying "Backspace" or "Delete",
96
+ // `nextFocusableElement` is the div that wraps the input
97
+
98
+ const firstFocusable = nextElementToFocus && isFocusable(nextElementToFocus) ? nextElementToFocus : Array.from(((_containerRef$current3 = containerRef.current) === null || _containerRef$current3 === void 0 ? void 0 : _containerRef$current3.children) || []).find(el => isFocusable(el));
99
+
100
+ if (firstFocusable) {
101
+ firstFocusable.focus();
102
+ } else {
103
+ var _ref$current;
104
+
105
+ // if there are no tokens left, focus the input
106
+ (_ref$current = ref.current) === null || _ref$current === void 0 ? void 0 : _ref$current.focus();
107
+ }
108
+ }, 0);
87
109
  };
88
110
 
89
111
  const handleTokenFocus = tokenIndex => () => {
@@ -91,30 +113,55 @@ function TextInputWithTokensInnerComponent({
91
113
  };
92
114
 
93
115
  const handleTokenBlur = () => {
94
- setSelectedTokenIndex(undefined);
116
+ setSelectedTokenIndex(undefined); // HACK: wait a tick and check the focused element before hiding truncated tokens
117
+ // this prevents the tokens from hiding when the user is moving focus between tokens,
118
+ // but still hides the tokens when the user blurs the token by tabbing out or clicking somewhere else on the page
119
+
120
+ setTimeout(() => {
121
+ var _containerRef$current4;
122
+
123
+ if (!((_containerRef$current4 = containerRef.current) !== null && _containerRef$current4 !== void 0 && _containerRef$current4.contains(document.activeElement)) && visibleTokenCount) {
124
+ setTokensAreTruncated(true);
125
+ }
126
+ }, 0);
95
127
  };
96
128
 
97
- const handleTokenKeyUp = e => {
98
- if (e.key === 'Escape') {
99
- var _ref$current;
129
+ const handleTokenKeyUp = event => {
130
+ if (event.key === 'Escape') {
131
+ var _ref$current2;
100
132
 
101
- (_ref$current = ref.current) === null || _ref$current === void 0 ? void 0 : _ref$current.focus();
133
+ (_ref$current2 = ref.current) === null || _ref$current2 === void 0 ? void 0 : _ref$current2.focus();
102
134
  }
103
135
  };
104
136
 
105
- const handleInputFocus = e => {
106
- onFocus && onFocus(e);
137
+ const handleInputFocus = event => {
138
+ onFocus && onFocus(event);
107
139
  setSelectedTokenIndex(undefined);
140
+ visibleTokenCount && setTokensAreTruncated(false);
141
+ };
142
+
143
+ const handleInputBlur = event => {
144
+ onBlur && onBlur(event); // HACK: wait a tick and check the focused element before hiding truncated tokens
145
+ // this prevents the tokens from hiding when the user is moving focus from the input to a token,
146
+ // but still hides the tokens when the user blurs the input by tabbing out or clicking somewhere else on the page
147
+
148
+ setTimeout(() => {
149
+ var _containerRef$current5;
150
+
151
+ if (!((_containerRef$current5 = containerRef.current) !== null && _containerRef$current5 !== void 0 && _containerRef$current5.contains(document.activeElement)) && visibleTokenCount) {
152
+ setTokensAreTruncated(true);
153
+ }
154
+ }, 0);
108
155
  };
109
156
 
110
157
  const handleInputKeyDown = e => {
111
- var _ref$current2;
158
+ var _ref$current3;
112
159
 
113
160
  if (onKeyDown) {
114
161
  onKeyDown(e);
115
162
  }
116
163
 
117
- if ((_ref$current2 = ref.current) !== null && _ref$current2 !== void 0 && _ref$current2.value) {
164
+ if ((_ref$current3 = ref.current) !== null && _ref$current3 !== void 0 && _ref$current3.value) {
118
165
  return;
119
166
  }
120
167
 
@@ -135,13 +182,24 @@ function TextInputWithTokensInnerComponent({
135
182
 
136
183
 
137
184
  setTimeout(() => {
138
- var _ref$current3;
185
+ var _ref$current4;
139
186
 
140
- (_ref$current3 = ref.current) === null || _ref$current3 === void 0 ? void 0 : _ref$current3.select();
187
+ (_ref$current4 = ref.current) === null || _ref$current4 === void 0 ? void 0 : _ref$current4.select();
141
188
  }, 0);
142
189
  }
143
190
  };
144
191
 
192
+ const focusInput = () => {
193
+ var _combinedInputRef$cur;
194
+
195
+ (_combinedInputRef$cur = combinedInputRef.current) === null || _combinedInputRef$cur === void 0 ? void 0 : _combinedInputRef$cur.focus();
196
+ };
197
+
198
+ const preventTokenClickPropagation = event => {
199
+ event.stopPropagation();
200
+ };
201
+
202
+ const visibleTokens = tokensAreTruncated ? tokens.slice(0, visibleTokenCount) : tokens;
145
203
  return /*#__PURE__*/React.createElement(TextInputWrapper, {
146
204
  block: block,
147
205
  className: className,
@@ -153,15 +211,8 @@ function TextInputWithTokensInnerComponent({
153
211
  minWidth: minWidthProp,
154
212
  maxWidth: maxWidthProp,
155
213
  variant: variantProp,
156
- ref: containerRef,
157
- sx: {
158
- alignItems: 'center',
159
- flexWrap: preventTokenWrapping ? 'nowrap' : 'wrap',
160
- gap: '0.25rem',
161
- '> *': {
162
- flexShrink: 0
163
- },
164
- ...(block ? {
214
+ onClick: focusInput,
215
+ sx: { ...(block ? {
165
216
  display: 'flex',
166
217
  width: '100%'
167
218
  } : {}),
@@ -174,6 +225,21 @@ function TextInputWithTokensInnerComponent({
174
225
  } : {}),
175
226
  ...sxProp
176
227
  }
228
+ }, /*#__PURE__*/React.createElement(Box, {
229
+ ref: containerRef,
230
+ display: "flex",
231
+ sx: {
232
+ alignItems: 'center',
233
+ flexWrap: preventTokenWrapping ? 'nowrap' : 'wrap',
234
+ marginLeft: '-0.25rem',
235
+ marginBottom: '-0.25rem',
236
+ flexGrow: 1,
237
+ '> *': {
238
+ flexShrink: 0,
239
+ marginLeft: '0.25rem',
240
+ marginBottom: '0.25rem'
241
+ }
242
+ }
177
243
  }, /*#__PURE__*/React.createElement(Box, {
178
244
  sx: {
179
245
  order: 1,
@@ -185,12 +251,13 @@ function TextInputWithTokensInnerComponent({
185
251
  ref: combinedInputRef,
186
252
  disabled: disabled,
187
253
  onFocus: handleInputFocus,
254
+ onBlur: handleInputBlur,
188
255
  onKeyDown: handleInputKeyDown,
189
256
  type: "text",
190
257
  sx: {
191
258
  height: '100%'
192
259
  }
193
- }, inputPropsRest))), tokens.length && TokenComponent ? tokens.map(({
260
+ }, inputPropsRest))), TokenComponent ? visibleTokens.map(({
194
261
  id,
195
262
  ...tokenRest
196
263
  }, i) => /*#__PURE__*/React.createElement(TokenComponent, _extends({
@@ -198,6 +265,7 @@ function TextInputWithTokensInnerComponent({
198
265
  onFocus: handleTokenFocus(i),
199
266
  onBlur: handleTokenBlur,
200
267
  onKeyUp: handleTokenKeyUp,
268
+ onClick: preventTokenClickPropagation,
201
269
  isSelected: selectedTokenIndex === i,
202
270
  onRemove: () => {
203
271
  handleTokenRemove(id);
@@ -205,7 +273,10 @@ function TextInputWithTokensInnerComponent({
205
273
  hideRemoveButton: hideTokenRemoveButtons,
206
274
  size: size,
207
275
  tabIndex: 0
208
- }, tokenRest))) : null);
276
+ }, tokenRest))) : null, tokensAreTruncated ? /*#__PURE__*/React.createElement(Text, {
277
+ color: "fg.muted",
278
+ fontSize: size && overflowCountFontSizeMap[size]
279
+ }, "+", tokens.length - visibleTokens.length) : null));
209
280
  }
210
281
 
211
282
  TextInputWithTokensInnerComponent.displayName = "TextInputWithTokensInnerComponent";
@@ -22,9 +22,7 @@ declare const _default: string & import("styled-components").StyledComponentBase
22
22
  Item: import("styled-components").StyledComponent<"div", any, import("styled-system").SpaceProps<Required<import("styled-system").Theme<import("styled-system").TLengthStyledSystem>>, string | number | symbol> & import("styled-system").ColorProps<Required<import("styled-system").Theme<import("styled-system").TLengthStyledSystem>>, string | number | symbol> & import("styled-system").TypographyProps<Required<import("styled-system").Theme<import("styled-system").TLengthStyledSystem>>> & import("styled-system").LayoutProps<Required<import("styled-system").Theme<import("styled-system").TLengthStyledSystem>>> & import("styled-system").FlexboxProps<Required<import("styled-system").Theme<import("styled-system").TLengthStyledSystem>>> & import("styled-system").GridProps<Required<import("styled-system").Theme<import("styled-system").TLengthStyledSystem>>> & import("styled-system").BackgroundProps<Required<import("styled-system").Theme<import("styled-system").TLengthStyledSystem>>, import("csstype").Property.Background<import("styled-system").TLengthStyledSystem>> & import("styled-system").BorderProps<Required<import("styled-system").Theme<import("styled-system").TLengthStyledSystem>>, import("csstype").Property.Border<import("styled-system").TLengthStyledSystem>> & import("styled-system").PositionProps<Required<import("styled-system").Theme<import("styled-system").TLengthStyledSystem>>> & import("styled-system").ShadowProps<Required<import("styled-system").Theme<import("styled-system").TLengthStyledSystem>>> & import("./sx").SxProp & StyledTimelineItemProps, never>;
23
23
  Badge: {
24
24
  (props: {
25
- boxShadow?: import("styled-system").ResponsiveValue<number | import("csstype").Property.BoxShadow, Required<import("styled-system").Theme<import("styled-system").TLengthStyledSystem>>> | undefined;
26
- fontWeight?: import("styled-system").ResponsiveValue<string | number | symbol, Required<import("styled-system").Theme<import("styled-system").TLengthStyledSystem>>> | undefined;
27
- zIndex?: import("styled-system").ResponsiveValue<import("csstype").Property.ZIndex, Required<import("styled-system").Theme<import("styled-system").TLengthStyledSystem>>> | undefined;
25
+ lineHeight?: import("styled-system").ResponsiveValue<string | number | symbol, Required<import("styled-system").Theme<import("styled-system").TLengthStyledSystem>>> | undefined;
28
26
  alignContent?: import("styled-system").ResponsiveValue<import("csstype").Property.AlignContent, Required<import("styled-system").Theme<import("styled-system").TLengthStyledSystem>>> | undefined;
29
27
  alignItems?: import("styled-system").ResponsiveValue<import("csstype").Property.AlignItems, Required<import("styled-system").Theme<import("styled-system").TLengthStyledSystem>>> | undefined;
30
28
  alignSelf?: import("styled-system").ResponsiveValue<import("csstype").Property.AlignSelf, Required<import("styled-system").Theme<import("styled-system").TLengthStyledSystem>>> | undefined;
@@ -49,6 +47,7 @@ declare const _default: string & import("styled-components").StyledComponentBase
49
47
  borderTopStyle?: import("styled-system").ResponsiveValue<import("csstype").Property.BorderTopStyle, Required<import("styled-system").Theme<import("styled-system").TLengthStyledSystem>>> | undefined;
50
48
  borderTopWidth?: import("styled-system").ResponsiveValue<string | number | symbol, Required<import("styled-system").Theme<import("styled-system").TLengthStyledSystem>>> | undefined;
51
49
  bottom?: import("styled-system").ResponsiveValue<import("csstype").Property.Bottom<import("styled-system").TLengthStyledSystem>, Required<import("styled-system").Theme<import("styled-system").TLengthStyledSystem>>> | undefined;
50
+ boxShadow?: import("styled-system").ResponsiveValue<number | import("csstype").Property.BoxShadow, Required<import("styled-system").Theme<import("styled-system").TLengthStyledSystem>>> | undefined;
52
51
  color?: (string & import("styled-system").ResponsiveValue<string | number | symbol, Required<import("styled-system").Theme<import("styled-system").TLengthStyledSystem>>>) | undefined;
53
52
  display?: import("styled-system").ResponsiveValue<import("csstype").Property.Display, Required<import("styled-system").Theme<import("styled-system").TLengthStyledSystem>>> | undefined;
54
53
  flexBasis?: import("styled-system").ResponsiveValue<import("csstype").Property.FlexBasis<import("styled-system").TLengthStyledSystem>, Required<import("styled-system").Theme<import("styled-system").TLengthStyledSystem>>> | undefined;
@@ -59,6 +58,7 @@ declare const _default: string & import("styled-components").StyledComponentBase
59
58
  fontFamily?: import("styled-system").ResponsiveValue<import("csstype").Property.FontFamily, Required<import("styled-system").Theme<import("styled-system").TLengthStyledSystem>>> | undefined;
60
59
  fontSize?: import("styled-system").ResponsiveValue<string | number | symbol, Required<import("styled-system").Theme<import("styled-system").TLengthStyledSystem>>> | undefined;
61
60
  fontStyle?: import("styled-system").ResponsiveValue<import("csstype").Property.FontStyle, Required<import("styled-system").Theme<import("styled-system").TLengthStyledSystem>>> | undefined;
61
+ fontWeight?: import("styled-system").ResponsiveValue<string | number | symbol, Required<import("styled-system").Theme<import("styled-system").TLengthStyledSystem>>> | undefined;
62
62
  gridAutoColumns?: import("styled-system").ResponsiveValue<import("csstype").Property.GridAutoColumns<import("styled-system").TLengthStyledSystem>, Required<import("styled-system").Theme<import("styled-system").TLengthStyledSystem>>> | undefined;
63
63
  gridAutoFlow?: import("styled-system").ResponsiveValue<import("csstype").Property.GridAutoFlow, Required<import("styled-system").Theme<import("styled-system").TLengthStyledSystem>>> | undefined;
64
64
  gridAutoRows?: import("styled-system").ResponsiveValue<import("csstype").Property.GridAutoRows<import("styled-system").TLengthStyledSystem>, Required<import("styled-system").Theme<import("styled-system").TLengthStyledSystem>>> | undefined;
@@ -71,7 +71,6 @@ declare const _default: string & import("styled-components").StyledComponentBase
71
71
  justifySelf?: import("styled-system").ResponsiveValue<import("csstype").Property.JustifySelf, Required<import("styled-system").Theme<import("styled-system").TLengthStyledSystem>>> | undefined;
72
72
  left?: import("styled-system").ResponsiveValue<import("csstype").Property.Left<import("styled-system").TLengthStyledSystem>, Required<import("styled-system").Theme<import("styled-system").TLengthStyledSystem>>> | undefined;
73
73
  letterSpacing?: import("styled-system").ResponsiveValue<string | number | symbol, Required<import("styled-system").Theme<import("styled-system").TLengthStyledSystem>>> | undefined;
74
- lineHeight?: import("styled-system").ResponsiveValue<string | number | symbol, Required<import("styled-system").Theme<import("styled-system").TLengthStyledSystem>>> | undefined;
75
74
  marginBottom?: import("styled-system").ResponsiveValue<string | number | symbol, Required<import("styled-system").Theme<import("styled-system").TLengthStyledSystem>>> | undefined;
76
75
  marginLeft?: import("styled-system").ResponsiveValue<string | number | symbol, Required<import("styled-system").Theme<import("styled-system").TLengthStyledSystem>>> | undefined;
77
76
  marginRight?: import("styled-system").ResponsiveValue<string | number | symbol, Required<import("styled-system").Theme<import("styled-system").TLengthStyledSystem>>> | undefined;
@@ -96,6 +95,7 @@ declare const _default: string & import("styled-components").StyledComponentBase
96
95
  translate?: "yes" | "no" | undefined;
97
96
  verticalAlign?: import("styled-system").ResponsiveValue<import("csstype").Property.VerticalAlign<import("styled-system").TLengthStyledSystem>, Required<import("styled-system").Theme<import("styled-system").TLengthStyledSystem>>> | undefined;
98
97
  width?: import("styled-system").ResponsiveValue<import("csstype").Property.Width<import("styled-system").TLengthStyledSystem>, Required<import("styled-system").Theme<import("styled-system").TLengthStyledSystem>>> | undefined;
98
+ zIndex?: import("styled-system").ResponsiveValue<import("csstype").Property.ZIndex, Required<import("styled-system").Theme<import("styled-system").TLengthStyledSystem>>> | undefined;
99
99
  background?: import("styled-system").ResponsiveValue<import("csstype").Property.Background<import("styled-system").TLengthStyledSystem>, Required<import("styled-system").Theme<import("styled-system").TLengthStyledSystem>>> | undefined;
100
100
  backgroundPosition?: import("styled-system").ResponsiveValue<import("csstype").Property.BackgroundPosition<import("styled-system").TLengthStyledSystem>, Required<import("styled-system").Theme<import("styled-system").TLengthStyledSystem>>> | undefined;
101
101
  border?: import("styled-system").ResponsiveValue<import("csstype").Property.Border<import("styled-system").TLengthStyledSystem>, Required<import("styled-system").Theme<import("styled-system").TLengthStyledSystem>>> | undefined;
@@ -114,6 +114,16 @@ declare const _default: string & import("styled-components").StyledComponentBase
114
114
  margin?: import("styled-system").ResponsiveValue<string | number | symbol, Required<import("styled-system").Theme<import("styled-system").TLengthStyledSystem>>> | undefined;
115
115
  overflow?: import("styled-system").ResponsiveValue<import("csstype").Property.Overflow, Required<import("styled-system").Theme<import("styled-system").TLengthStyledSystem>>> | undefined;
116
116
  padding?: import("styled-system").ResponsiveValue<string | number | symbol, Required<import("styled-system").Theme<import("styled-system").TLengthStyledSystem>>> | undefined;
117
+ gridColumnGap?: import("styled-system").ResponsiveValue<import("csstype").Property.GridColumnGap<import("styled-system").TLengthStyledSystem>, Required<import("styled-system").Theme<import("styled-system").TLengthStyledSystem>>> | undefined;
118
+ gridGap?: import("styled-system").ResponsiveValue<import("csstype").Property.GridGap<import("styled-system").TLengthStyledSystem>, Required<import("styled-system").Theme<import("styled-system").TLengthStyledSystem>>> | undefined;
119
+ gridRowGap?: import("styled-system").ResponsiveValue<import("csstype").Property.GridRowGap<import("styled-system").TLengthStyledSystem>, Required<import("styled-system").Theme<import("styled-system").TLengthStyledSystem>>> | undefined;
120
+ hidden?: boolean | undefined;
121
+ children?: React.ReactNode;
122
+ ref?: ((instance: HTMLDivElement | null) => void) | React.RefObject<HTMLDivElement> | null | undefined;
123
+ p?: import("styled-system").ResponsiveValue<string | number | symbol, Required<import("styled-system").Theme<import("styled-system").TLengthStyledSystem>>> | undefined;
124
+ slot?: string | undefined;
125
+ style?: React.CSSProperties | undefined;
126
+ title?: string | undefined;
117
127
  bg?: import("styled-system").ResponsiveValue<string | number | symbol, Required<import("styled-system").Theme<import("styled-system").TLengthStyledSystem>>> | undefined;
118
128
  m?: import("styled-system").ResponsiveValue<string | number | symbol, Required<import("styled-system").Theme<import("styled-system").TLengthStyledSystem>>> | undefined;
119
129
  mt?: import("styled-system").ResponsiveValue<string | number | symbol, Required<import("styled-system").Theme<import("styled-system").TLengthStyledSystem>>> | undefined;
@@ -124,7 +134,6 @@ declare const _default: string & import("styled-components").StyledComponentBase
124
134
  marginX?: import("styled-system").ResponsiveValue<string | number | symbol, Required<import("styled-system").Theme<import("styled-system").TLengthStyledSystem>>> | undefined;
125
135
  my?: import("styled-system").ResponsiveValue<string | number | symbol, Required<import("styled-system").Theme<import("styled-system").TLengthStyledSystem>>> | undefined;
126
136
  marginY?: import("styled-system").ResponsiveValue<string | number | symbol, Required<import("styled-system").Theme<import("styled-system").TLengthStyledSystem>>> | undefined;
127
- p?: import("styled-system").ResponsiveValue<string | number | symbol, Required<import("styled-system").Theme<import("styled-system").TLengthStyledSystem>>> | undefined;
128
137
  pt?: import("styled-system").ResponsiveValue<string | number | symbol, Required<import("styled-system").Theme<import("styled-system").TLengthStyledSystem>>> | undefined;
129
138
  pr?: import("styled-system").ResponsiveValue<string | number | symbol, Required<import("styled-system").Theme<import("styled-system").TLengthStyledSystem>>> | undefined;
130
139
  pb?: import("styled-system").ResponsiveValue<string | number | symbol, Required<import("styled-system").Theme<import("styled-system").TLengthStyledSystem>>> | undefined;
@@ -133,10 +142,6 @@ declare const _default: string & import("styled-components").StyledComponentBase
133
142
  paddingX?: import("styled-system").ResponsiveValue<string | number | symbol, Required<import("styled-system").Theme<import("styled-system").TLengthStyledSystem>>> | undefined;
134
143
  py?: import("styled-system").ResponsiveValue<string | number | symbol, Required<import("styled-system").Theme<import("styled-system").TLengthStyledSystem>>> | undefined;
135
144
  paddingY?: import("styled-system").ResponsiveValue<string | number | symbol, Required<import("styled-system").Theme<import("styled-system").TLengthStyledSystem>>> | undefined;
136
- slot?: string | undefined;
137
- style?: React.CSSProperties | undefined;
138
- title?: string | undefined;
139
- ref?: ((instance: HTMLDivElement | null) => void) | React.RefObject<HTMLDivElement> | null | undefined;
140
145
  key?: React.Key | null | undefined;
141
146
  defaultChecked?: boolean | undefined;
142
147
  defaultValue?: string | number | readonly string[] | undefined;
@@ -144,11 +149,10 @@ declare const _default: string & import("styled-components").StyledComponentBase
144
149
  suppressHydrationWarning?: boolean | undefined;
145
150
  accessKey?: string | undefined;
146
151
  className?: string | undefined;
147
- contentEditable?: (boolean | "true" | "false") | "inherit" | undefined;
152
+ contentEditable?: "inherit" | (boolean | "true" | "false") | undefined;
148
153
  contextMenu?: string | undefined;
149
154
  dir?: string | undefined;
150
155
  draggable?: (boolean | "true" | "false") | undefined;
151
- hidden?: boolean | undefined;
152
156
  id?: string | undefined;
153
157
  lang?: string | undefined;
154
158
  placeholder?: string | undefined;
@@ -175,11 +179,11 @@ declare const _default: string & import("styled-components").StyledComponentBase
175
179
  results?: number | undefined;
176
180
  security?: string | undefined;
177
181
  unselectable?: "on" | "off" | undefined;
178
- inputMode?: "none" | "search" | "text" | "tel" | "url" | "email" | "numeric" | "decimal" | undefined;
182
+ inputMode?: "none" | "text" | "search" | "tel" | "url" | "email" | "numeric" | "decimal" | undefined;
179
183
  is?: string | undefined;
180
184
  'aria-activedescendant'?: string | undefined;
181
185
  'aria-atomic'?: boolean | "true" | "false" | undefined;
182
- 'aria-autocomplete'?: "list" | "none" | "inline" | "both" | undefined;
186
+ 'aria-autocomplete'?: "none" | "list" | "inline" | "both" | undefined;
183
187
  'aria-busy'?: boolean | "true" | "false" | undefined;
184
188
  'aria-checked'?: boolean | "true" | "false" | "mixed" | undefined;
185
189
  'aria-colcount'?: number | undefined;
@@ -190,12 +194,12 @@ declare const _default: string & import("styled-components").StyledComponentBase
190
194
  'aria-describedby'?: string | undefined;
191
195
  'aria-details'?: string | undefined;
192
196
  'aria-disabled'?: boolean | "true" | "false" | undefined;
193
- 'aria-dropeffect'?: "link" | "none" | "copy" | "move" | "execute" | "popup" | undefined;
197
+ 'aria-dropeffect'?: "none" | "link" | "copy" | "move" | "execute" | "popup" | undefined;
194
198
  'aria-errormessage'?: string | undefined;
195
199
  'aria-expanded'?: boolean | "true" | "false" | undefined;
196
200
  'aria-flowto'?: string | undefined;
197
201
  'aria-grabbed'?: boolean | "true" | "false" | undefined;
198
- 'aria-haspopup'?: boolean | "grid" | "dialog" | "listbox" | "menu" | "tree" | "true" | "false" | undefined;
202
+ 'aria-haspopup'?: boolean | "grid" | "dialog" | "menu" | "listbox" | "tree" | "true" | "false" | undefined;
199
203
  'aria-hidden'?: boolean | "true" | "false" | undefined;
200
204
  'aria-invalid'?: boolean | "true" | "false" | "grammar" | "spelling" | undefined;
201
205
  'aria-keyshortcuts'?: string | undefined;
@@ -225,7 +229,6 @@ declare const _default: string & import("styled-components").StyledComponentBase
225
229
  'aria-valuemin'?: number | undefined;
226
230
  'aria-valuenow'?: number | undefined;
227
231
  'aria-valuetext'?: string | undefined;
228
- children?: React.ReactNode;
229
232
  dangerouslySetInnerHTML?: {
230
233
  __html: string;
231
234
  } | undefined;
@@ -389,9 +392,6 @@ declare const _default: string & import("styled-components").StyledComponentBase
389
392
  onAnimationIterationCapture?: React.AnimationEventHandler<HTMLDivElement> | undefined;
390
393
  onTransitionEnd?: React.TransitionEventHandler<HTMLDivElement> | undefined;
391
394
  onTransitionEndCapture?: React.TransitionEventHandler<HTMLDivElement> | undefined;
392
- gridColumnGap?: import("styled-system").ResponsiveValue<import("csstype").Property.GridColumnGap<import("styled-system").TLengthStyledSystem>, Required<import("styled-system").Theme<import("styled-system").TLengthStyledSystem>>> | undefined;
393
- gridGap?: import("styled-system").ResponsiveValue<import("csstype").Property.GridGap<import("styled-system").TLengthStyledSystem>, Required<import("styled-system").Theme<import("styled-system").TLengthStyledSystem>>> | undefined;
394
- gridRowGap?: import("styled-system").ResponsiveValue<import("csstype").Property.GridRowGap<import("styled-system").TLengthStyledSystem>, Required<import("styled-system").Theme<import("styled-system").TLengthStyledSystem>>> | undefined;
395
395
  size?: import("styled-system").ResponsiveValue<import("csstype").Property.Height<import("styled-system").TLengthStyledSystem>, Required<import("styled-system").Theme<import("styled-system").TLengthStyledSystem>>> | undefined;
396
396
  borderX?: import("styled-system").ResponsiveValue<import("csstype").Property.Border<import("styled-system").TLengthStyledSystem>, Required<import("styled-system").Theme<import("styled-system").TLengthStyledSystem>>> | undefined;
397
397
  borderY?: import("styled-system").ResponsiveValue<import("csstype").Property.Border<import("styled-system").TLengthStyledSystem>, Required<import("styled-system").Theme<import("styled-system").TLengthStyledSystem>>> | undefined;