@ringcentral/juno 1.12.1-beta.5746-a8a4867a → 1.12.3-beta.5828-dc41552f

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 (173) hide show
  1. package/components/Buttons/Button/Button.d.ts +3 -3
  2. package/components/Buttons/Button/styles/StyledButton.js +4 -2
  3. package/components/Buttons/IconButton/IconButton.d.ts +1 -1
  4. package/components/Buttons/ToggleButton/ToggleButton.d.ts +1 -1
  5. package/components/Card/Card/Card.d.ts +2 -2
  6. package/components/Chip/Chip.d.ts +10 -3
  7. package/components/Chip/Chip.js +5 -3
  8. package/components/Chip/styles/ChipStyle.js +5 -4
  9. package/components/Chip/utils/ChipUtils.d.ts +1 -1
  10. package/components/Chip/utils/ChipUtils.js +1 -1
  11. package/components/Dialer/DialPad/index.d.ts +2 -0
  12. package/components/Dialer/DialPad/index.js +2 -0
  13. package/components/Dialer/DialTextField/DialTextField.d.ts +1 -1
  14. package/components/Dialog/Dialog.js +1 -1
  15. package/components/Downshift/Downshift.d.ts +21 -10
  16. package/components/Downshift/Downshift.js +15 -5
  17. package/components/Downshift/SuggestionList/SuggestionList.d.ts +2 -2
  18. package/components/Downshift/SuggestionList/SuggestionList.js +12 -6
  19. package/components/Downshift/SuggestionList/utils/index.d.ts +1 -0
  20. package/components/Downshift/SuggestionList/utils/index.js +1 -0
  21. package/components/Downshift/SuggestionList/utils/useSuggestionList.d.ts +298 -0
  22. package/components/Downshift/SuggestionList/utils/useSuggestionList.js +239 -0
  23. package/components/Downshift/styles/DownshiftStyle.d.ts +1 -1
  24. package/components/Downshift/styles/StyledTextField.d.ts +1 -1
  25. package/components/Downshift/utils/DownshiftUtils.d.ts +12 -0
  26. package/components/Downshift/utils/DownshiftUtils.js +19 -1
  27. package/components/Downshift/utils/SelectItem.d.ts +19 -0
  28. package/components/Downshift/utils/useDownshift.d.ts +5 -2
  29. package/components/Downshift/utils/useDownshift.interface.d.ts +5 -0
  30. package/components/Downshift/utils/useDownshift.js +31 -13
  31. package/components/Downshift/utils/useDownshiftGroup.d.ts +7 -7
  32. package/components/Downshift/utils/useDownshiftGroup.js +45 -19
  33. package/components/Forms/Checkbox/Checkbox.d.ts +1 -1
  34. package/components/Forms/Picker/DatePicker/styles/StyledDatePickerHeader.d.ts +1 -1
  35. package/components/Forms/Picker/TimePicker/NumberPicker.js +1 -3
  36. package/components/Forms/Picker/TimePicker/utils/TimePickerHelper.js +1 -1
  37. package/components/Forms/Picker/styles/StyledPickerTextField.d.ts +1 -1
  38. package/components/Forms/Radio/Radio.d.ts +1 -1
  39. package/components/Forms/Select/PlainSelect/PlainSelect.d.ts +1 -1
  40. package/components/Forms/Select/PlainSelect/PlainSelect.js +5 -4
  41. package/components/Forms/Select/PlainSelect/styles/StyledSelect.js +4 -3
  42. package/components/Forms/Select/Select.d.ts +2 -2
  43. package/components/Forms/Select/Select.js +2 -2
  44. package/components/Forms/Select/styles/StyledSelect.js +22 -18
  45. package/components/Forms/Select/utils/SelectInput/SelectInput.d.ts +1 -1
  46. package/components/Forms/TextField/TextField.d.ts +5 -3
  47. package/components/Forms/TextField/TextField.js +2 -2
  48. package/components/Forms/TextField/styles/ClearIconButton.d.ts +2 -2
  49. package/components/Forms/TextField/styles/OutlineTextFieldStyle.js +4 -2
  50. package/components/Forms/TextField/styles/TextFieldStyle.js +8 -4
  51. package/components/Forms/Textarea/Textarea.d.ts +1 -1
  52. package/components/Forms/Textarea/Textarea.js +8 -3
  53. package/components/Icon/assets/icon-Description.svg +5 -0
  54. package/components/Icon/assets/icon-poll.svg +5 -0
  55. package/components/Icon/assets/icon-poll_border.svg +5 -0
  56. package/components/Icon/icon-symbol.d.ts +1 -1
  57. package/components/Icon/icon-symbol.js +1 -1
  58. package/components/List/ListItem/ListItem.d.ts +1 -1
  59. package/components/Menu/MenuItem/MenuItem.d.ts +13 -5
  60. package/components/Menu/SubMenu/SubMenu.js +1 -1
  61. package/components/PopupBox/PopupBox.js +11 -3
  62. package/components/PortalHost/PortalManager/PortalManager.d.ts +2 -2
  63. package/components/PortalHost/PortalManager/PortalManager.js +9 -3
  64. package/components/PortalHost/PortalManager/types.d.ts +2 -1
  65. package/components/Snackbar/Snackbar.js +1 -1
  66. package/components/TablePagination/styles/TablePaginationStyle.d.ts +13 -5
  67. package/components/Tooltip/withTooltip/withTooltip.d.ts +6 -4
  68. package/components/Typography/Typography.d.ts +1 -1
  69. package/components/Virtuoso/react-virtuoso/Grid.d.ts +1 -1
  70. package/components/Virtuoso/react-virtuoso/List.d.ts +1 -1
  71. package/components/Virtuoso/utils/useHighlightScroll.d.ts +1 -1
  72. package/es6/components/Buttons/Button/styles/StyledButton.js +4 -2
  73. package/es6/components/Chip/Chip.js +6 -4
  74. package/es6/components/Chip/styles/ChipStyle.js +6 -5
  75. package/es6/components/Chip/utils/ChipUtils.js +1 -1
  76. package/es6/components/Dialer/DialPad/index.js +2 -0
  77. package/es6/components/Dialog/Dialog.js +2 -2
  78. package/es6/components/Downshift/Downshift.js +16 -7
  79. package/es6/components/Downshift/SuggestionList/SuggestionList.js +13 -7
  80. package/es6/components/Downshift/SuggestionList/utils/index.js +1 -0
  81. package/es6/components/Downshift/SuggestionList/utils/useSuggestionList.js +237 -0
  82. package/es6/components/Downshift/utils/DownshiftUtils.js +19 -1
  83. package/es6/components/Downshift/utils/useDownshift.js +31 -13
  84. package/es6/components/Downshift/utils/useDownshiftGroup.js +46 -20
  85. package/es6/components/Forms/Picker/TimePicker/NumberPicker.js +1 -3
  86. package/es6/components/Forms/Picker/TimePicker/utils/TimePickerHelper.js +1 -1
  87. package/es6/components/Forms/Select/PlainSelect/PlainSelect.js +5 -4
  88. package/es6/components/Forms/Select/PlainSelect/styles/StyledSelect.js +4 -3
  89. package/es6/components/Forms/Select/Select.js +2 -2
  90. package/es6/components/Forms/Select/styles/StyledSelect.js +24 -20
  91. package/es6/components/Forms/TextField/TextField.js +2 -2
  92. package/es6/components/Forms/TextField/styles/OutlineTextFieldStyle.js +5 -3
  93. package/es6/components/Forms/TextField/styles/TextFieldStyle.js +9 -5
  94. package/es6/components/Forms/Textarea/Textarea.js +8 -3
  95. package/es6/components/Icon/assets/icon-Description.svg +5 -0
  96. package/es6/components/Icon/assets/icon-poll.svg +5 -0
  97. package/es6/components/Icon/assets/icon-poll_border.svg +5 -0
  98. package/es6/components/Icon/icon-symbol.js +1 -1
  99. package/es6/components/Menu/SubMenu/SubMenu.js +1 -1
  100. package/es6/components/PopupBox/PopupBox.js +13 -5
  101. package/es6/components/PortalHost/PortalManager/PortalManager.js +9 -3
  102. package/es6/components/Snackbar/Snackbar.js +2 -2
  103. package/es6/foundation/hooks/index.js +1 -0
  104. package/es6/foundation/hooks/useAnnouncer/useAnnouncer.js +7 -0
  105. package/es6/foundation/hooks/useInterval/index.js +1 -0
  106. package/es6/foundation/hooks/useInterval/useInterval.js +86 -0
  107. package/es6/foundation/hooks/useKeyboardMoveFocus/useKeyboardMoveFocus.js +2 -1
  108. package/es6/icon/DefaultFile.js +1 -1
  109. package/es6/icon/DefaultGdrive.js +1 -1
  110. package/es6/icon/DefaultMusic.js +1 -1
  111. package/es6/icon/DefaultVideo.js +1 -1
  112. package/es6/icon/DeletedFile.js +1 -1
  113. package/es6/icon/Description.js +7 -0
  114. package/es6/icon/Doc.js +1 -1
  115. package/es6/icon/Excel.js +1 -1
  116. package/es6/icon/GifFile.js +1 -1
  117. package/es6/icon/GoogleDoc.js +1 -1
  118. package/es6/icon/GoogleSheet.js +1 -1
  119. package/es6/icon/GoogleSlide.js +1 -1
  120. package/es6/icon/ImageBroken.js +1 -1
  121. package/es6/icon/ImagePreview.js +1 -1
  122. package/es6/icon/MacKeynote.js +1 -1
  123. package/es6/icon/MacNumbers.js +1 -1
  124. package/es6/icon/MacPages.js +1 -1
  125. package/es6/icon/Pdf.js +1 -1
  126. package/es6/icon/Poll.js +7 -0
  127. package/es6/icon/PollBorder.js +7 -0
  128. package/es6/icon/Ppt.js +1 -1
  129. package/es6/icon/Zip.js +1 -1
  130. package/es6/icon/index.js +3 -0
  131. package/es6/icons/icon-Description.svg +5 -0
  132. package/es6/icons/icon-poll.svg +5 -0
  133. package/es6/icons/icon-poll_border.svg +5 -0
  134. package/foundation/hooks/index.d.ts +1 -0
  135. package/foundation/hooks/index.js +1 -0
  136. package/foundation/hooks/useAnnouncer/useAnnouncer.d.ts +7 -0
  137. package/foundation/hooks/useAnnouncer/useAnnouncer.js +7 -0
  138. package/foundation/hooks/useInterval/index.d.ts +1 -0
  139. package/foundation/hooks/useInterval/index.js +4 -0
  140. package/foundation/hooks/useInterval/useInterval.d.ts +43 -0
  141. package/foundation/hooks/useInterval/useInterval.js +88 -0
  142. package/foundation/hooks/useKeyboardMoveFocus/useKeyboardMoveFocus.js +2 -1
  143. package/icon/DefaultFile.js +1 -1
  144. package/icon/DefaultGdrive.js +1 -1
  145. package/icon/DefaultMusic.js +1 -1
  146. package/icon/DefaultVideo.js +1 -1
  147. package/icon/DeletedFile.js +1 -1
  148. package/icon/Description.d.ts +3 -0
  149. package/icon/Description.js +9 -0
  150. package/icon/Doc.js +1 -1
  151. package/icon/Excel.js +1 -1
  152. package/icon/GifFile.js +1 -1
  153. package/icon/GoogleDoc.js +1 -1
  154. package/icon/GoogleSheet.js +1 -1
  155. package/icon/GoogleSlide.js +1 -1
  156. package/icon/ImageBroken.js +1 -1
  157. package/icon/ImagePreview.js +1 -1
  158. package/icon/MacKeynote.js +1 -1
  159. package/icon/MacNumbers.js +1 -1
  160. package/icon/MacPages.js +1 -1
  161. package/icon/Pdf.js +1 -1
  162. package/icon/Poll.d.ts +3 -0
  163. package/icon/Poll.js +9 -0
  164. package/icon/PollBorder.d.ts +3 -0
  165. package/icon/PollBorder.js +9 -0
  166. package/icon/Ppt.js +1 -1
  167. package/icon/Zip.js +1 -1
  168. package/icon/index.d.ts +3 -0
  169. package/icon/index.js +6 -0
  170. package/icons/icon-Description.svg +5 -0
  171. package/icons/icon-poll.svg +5 -0
  172. package/icons/icon-poll_border.svg +5 -0
  173. package/package.json +3 -3
@@ -75,7 +75,7 @@ export declare const List: React.ForwardRefExoticComponent<{} & {
75
75
  rangeChanged?: ((value: import("./interfaces").ListRange | undefined) => void) | undefined;
76
76
  itemsRendered?: ((value: import("./listStateSystem").ListItems) => void) | undefined;
77
77
  totalListHeightChanged?: ((value: number) => void) | undefined;
78
- } & Pick<React.HTMLProps<"div">, "key" | "form" | "list" | "className" | "color" | "height" | "id" | "lang" | "max" | "media" | "method" | "min" | "name" | "style" | "target" | "type" | "width" | "role" | "tabIndex" | "crossOrigin" | "href" | "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" | "step" | "cite" | "label" | "slot" | "span" | "summary" | "title" | "pattern" | "defaultChecked" | "defaultValue" | "suppressContentEditableWarning" | "suppressHydrationWarning" | "accessKey" | "contentEditable" | "contextMenu" | "dir" | "draggable" | "hidden" | "placeholder" | "spellCheck" | "translate" | "radioGroup" | "about" | "datatype" | "inlist" | "prefix" | "property" | "resource" | "typeof" | "vocab" | "autoCapitalize" | "autoCorrect" | "autoSave" | "itemProp" | "itemScope" | "itemType" | "itemID" | "itemRef" | "results" | "security" | "unselectable" | "inputMode" | "is" | "size" | "value" | "shape" | "disabled" | "download" | "hrefLang" | "rel" | "default" | "action" | "content" | "autoFocus" | "formAction" | "formEncType" | "formMethod" | "formNoValidate" | "formTarget" | "open" | "selected" | "src" | "checked" | "start" | "readOnly" | "required" | "rows" | "autoComplete" | "sizes" | "accept" | "acceptCharset" | "allowFullScreen" | "allowTransparency" | "alt" | "as" | "async" | "autoPlay" | "capture" | "cellPadding" | "cellSpacing" | "charSet" | "challenge" | "classID" | "cols" | "colSpan" | "controls" | "coords" | "dateTime" | "defer" | "encType" | "frameBorder" | "headers" | "high" | "htmlFor" | "httpEquiv" | "integrity" | "keyParams" | "keyType" | "kind" | "loop" | "low" | "manifest" | "marginHeight" | "marginWidth" | "maxLength" | "mediaGroup" | "minLength" | "multiple" | "muted" | "nonce" | "noValidate" | "optimum" | "playsInline" | "poster" | "preload" | "reversed" | "rowSpan" | "sandbox" | "scope" | "scoped" | "scrolling" | "seamless" | "srcDoc" | "srcLang" | "srcSet" | "useMap" | "wmode" | "wrap"> & React.RefAttributes<import("@virtuoso.dev/react-urx").MethodsFromPropMap<import("@virtuoso.dev/urx").SystemSpec<[import("@virtuoso.dev/urx").SystemSpec<[import("@virtuoso.dev/urx").SystemSpec<never[], () => {
78
+ } & Pick<React.HTMLProps<"div">, "key" | "form" | "list" | "className" | "color" | "height" | "id" | "lang" | "max" | "media" | "method" | "min" | "name" | "style" | "target" | "type" | "width" | "role" | "tabIndex" | "crossOrigin" | "href" | "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" | "step" | "cite" | "label" | "slot" | "span" | "summary" | "title" | "pattern" | "defaultChecked" | "defaultValue" | "suppressContentEditableWarning" | "suppressHydrationWarning" | "accessKey" | "contentEditable" | "contextMenu" | "dir" | "draggable" | "hidden" | "placeholder" | "spellCheck" | "translate" | "radioGroup" | "about" | "datatype" | "inlist" | "prefix" | "property" | "resource" | "typeof" | "vocab" | "autoCapitalize" | "autoCorrect" | "autoSave" | "itemProp" | "itemScope" | "itemType" | "itemID" | "itemRef" | "results" | "security" | "unselectable" | "inputMode" | "is" | "size" | "value" | "shape" | "disabled" | "download" | "hrefLang" | "rel" | "default" | "action" | "content" | "autoFocus" | "formAction" | "formEncType" | "formMethod" | "formNoValidate" | "formTarget" | "open" | "selected" | "src" | "checked" | "start" | "readOnly" | "required" | "autoComplete" | "rows" | "sizes" | "accept" | "acceptCharset" | "allowFullScreen" | "allowTransparency" | "alt" | "as" | "async" | "autoPlay" | "capture" | "cellPadding" | "cellSpacing" | "charSet" | "challenge" | "classID" | "cols" | "colSpan" | "controls" | "coords" | "dateTime" | "defer" | "encType" | "frameBorder" | "headers" | "high" | "htmlFor" | "httpEquiv" | "integrity" | "keyParams" | "keyType" | "kind" | "loop" | "low" | "manifest" | "marginHeight" | "marginWidth" | "maxLength" | "mediaGroup" | "minLength" | "multiple" | "muted" | "nonce" | "noValidate" | "optimum" | "playsInline" | "poster" | "preload" | "reversed" | "rowSpan" | "sandbox" | "scope" | "scoped" | "scrolling" | "seamless" | "srcDoc" | "srcLang" | "srcSet" | "useMap" | "wmode" | "wrap"> & React.RefAttributes<import("@virtuoso.dev/react-urx").MethodsFromPropMap<import("@virtuoso.dev/urx").SystemSpec<[import("@virtuoso.dev/urx").SystemSpec<[import("@virtuoso.dev/urx").SystemSpec<never[], () => {
79
79
  data: import("@virtuoso.dev/urx").StatefulStream<import("./sizeSystem").Data>;
80
80
  totalCount: Stream<number>;
81
81
  sizeRanges: Stream<import("./sizeSystem").SizeRange[]>;
@@ -2,7 +2,7 @@ import React from 'react';
2
2
  import { IndexLocationWithAlign, ListItem } from 'react-virtuoso';
3
3
  declare type UseHighlightScrollParams = {
4
4
  /** function to call to scroll to target index */
5
- scrollToIndex: (location: number | IndexLocationWithAlign) => void;
5
+ scrollToIndex: (location: IndexLocationWithAlign) => void;
6
6
  /** that scroll container height ref */
7
7
  containerHeighRef: React.MutableRefObject<number>;
8
8
  };
@@ -3,11 +3,13 @@ import { css, fakeBorder, focusVisible, getParsePaletteColor, nonTouchHoverMedia
3
3
  import { RcButtonClasses, RcButtonColors, RcButtonHeights, RcButtonIconSpace, RcButtonMinWidths, RcButtonPadding, RcButtonTextColors, RcButtonTypographies, } from '../utils';
4
4
  export var buttonColor = function (_a) {
5
5
  var color = _a.color;
6
- return RcButtonColors[color] || getParsePaletteColor(color);
6
+ return (typeof color === 'string' && RcButtonColors[color]) ||
7
+ getParsePaletteColor(color);
7
8
  };
8
9
  export var plainButtonTextColor = function (_a) {
9
10
  var color = _a.color;
10
- return RcButtonTextColors[color] || getParsePaletteColor(color);
11
+ return (typeof color === 'string' && RcButtonTextColors[color]) ||
12
+ getParsePaletteColor(color);
11
13
  };
12
14
  export var buttonTextColor = function (props) {
13
15
  return paletteContrastText(buttonColor(props));
@@ -1,15 +1,17 @@
1
1
  import { __assign, __makeTemplateObject, __rest } from "tslib";
2
2
  import React, { forwardRef, useMemo, } from 'react';
3
3
  import MuiChip from '@material-ui/core/Chip';
4
- import { combineClasses, isRcElement, styled, useThemeProps, } from '../../foundation';
4
+ import { combineClasses, isRcElement, omit, styled, useThemeProps, } from '../../foundation';
5
5
  import DeleteCircle from '../../icon/DeleteCircle';
6
6
  import { RcIconButton } from '../Buttons/IconButton';
7
7
  import { ChipStyle } from './styles';
8
8
  import { RcChipClasses } from './utils';
9
+ import clsx from 'clsx';
9
10
  var _RcChip = forwardRef(function (inProps, ref) {
10
11
  var props = useThemeProps({ props: inProps, name: 'RcChip' });
11
- var AvatarProp = props.Avatar, deleteTooltip = props.deleteTooltip, deleteAutomationId = props.deleteAutomationId, isError = props.isError, classesProp = props.classes, _a = props.avatar, avatarProp = _a === void 0 ? AvatarProp : _a, _b = props.error, error = _b === void 0 ? isError : _b, id = props.id, label = props.label, disabled = props.disabled, deleteIconProp = props.deleteIcon, deleteIconProps = props.deleteIconProps, tabIndex = props.tabIndex, rest = __rest(props, ["Avatar", "deleteTooltip", "deleteAutomationId", "isError", "classes", "avatar", "error", "id", "label", "disabled", "deleteIcon", "deleteIconProps", "tabIndex"]);
12
- var classes = useMemo(function () { return combineClasses(RcChipClasses, classesProp); }, [classesProp]);
12
+ var AvatarProp = props.Avatar, deleteTooltip = props.deleteTooltip, deleteAutomationId = props.deleteAutomationId, isError = props.isError, classesProp = props.classes, _a = props.avatar, avatarProp = _a === void 0 ? AvatarProp : _a, _b = props.error, error = _b === void 0 ? isError : _b, id = props.id, label = props.label, disabled = props.disabled, deleteIconProp = props.deleteIcon, deleteIconProps = props.deleteIconProps, tabIndex = props.tabIndex, focused = props.focused, color = props.color, className = props.className, rest = __rest(props, ["Avatar", "deleteTooltip", "deleteAutomationId", "isError", "classes", "avatar", "error", "id", "label", "disabled", "deleteIcon", "deleteIconProps", "tabIndex", "focused", "color", "className"]);
13
+ var combinedClasses = useMemo(function () { return combineClasses(RcChipClasses, classesProp); }, [classesProp]);
14
+ var classes = useMemo(function () { return omit(combinedClasses, ['focused']); }, [combinedClasses]);
13
15
  var deleteIcon = useMemo(function () {
14
16
  return deleteIconProp ? (React.cloneElement(deleteIconProp, __assign({ tabIndex: -1 }, deleteIconProps))) : (React.createElement(RcIconButton, __assign({ tabIndex: -1, disabled: disabled, variant: "plain", size: "medium", title: deleteTooltip, color: error ? 'danger.f02' : undefined, "data-test-automation-id": deleteAutomationId, symbol: DeleteCircle }, deleteIconProps)));
15
17
  }, [
@@ -35,7 +37,7 @@ var _RcChip = forwardRef(function (inProps, ref) {
35
37
  }
36
38
  return undefined;
37
39
  }, [avatarProp]);
38
- return (React.createElement(MuiChip, __assign({ ref: ref, id: id, tabIndex: disabled ? -1 : tabIndex, label: label, disabled: disabled, classes: classes, avatar: avatar, deleteIcon: deleteIcon, "data-test-automation-class": "selected-item", "data-test-automation-value": id ? id : label, "data-is-error": error }, rest)));
40
+ return (React.createElement(MuiChip, __assign({ ref: ref, id: id, tabIndex: disabled ? -1 : tabIndex, label: label, disabled: disabled, classes: classes, className: clsx(className, focused ? combinedClasses.focused : undefined), avatar: avatar, deleteIcon: deleteIcon, "data-test-automation-class": "selected-item", "data-test-automation-value": id ? id : label, "data-is-error": error }, rest)));
39
41
  });
40
42
  var RcChip = styled(_RcChip)(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n ", "\n"], ["\n ", "\n"])), ChipStyle);
41
43
  RcChip.defaultProps = {
@@ -1,5 +1,5 @@
1
1
  import { __assign, __makeTemplateObject } from "tslib";
2
- import { css, ellipsis, fakeBorder, focusVisible, focusVisibleColor, nonTouchHoverMedia, palette2, radius, setOpacity, spacing, typography, } from '../../../foundation';
2
+ import { css, ellipsis, fakeBorder, focusVisible, focusVisibleColor, getParsePaletteColor, nonTouchHoverMedia, palette2, radius, setOpacity, spacing, typography, } from '../../../foundation';
3
3
  import { disabledColor, textColor } from '../../Forms/TextField/styles';
4
4
  import { RcChipClasses } from '../utils';
5
5
  var defaultBgColor = palette2('action', 'grayDark');
@@ -8,9 +8,10 @@ function fakePseudoRoundBorder(addOptions) {
8
8
  return fakeBorder(__assign({ pseudo: true, radius: 'round' }, addOptions));
9
9
  }
10
10
  export var ChipStyle = function (props) {
11
- var isError = props.isError, _a = props.error, error = _a === void 0 ? isError : _a;
12
- return css(templateObject_2 || (templateObject_2 = __makeTemplateObject(["\n height: 28px;\n box-sizing: border-box;\n padding: ", ";\n background-color: ", ";\n color: ", ";\n position: relative;\n border-radius: ", ";\n ", ";\n\n ", ";\n ", ";\n\n ", " {\n ", ";\n\n background-color: ", ";\n }\n\n ", " {\n &:hover {\n background-color: ", ";\n }\n }\n\n &:focus {\n background-color: ", ";\n }\n\n &:active {\n background-color: ", ";\n }\n\n &.", " {\n color: ", ";\n opacity: 1;\n }\n\n ", ";\n\n .", " {\n color: ", ";\n margin-left: 0px;\n margin-right: -4px;\n\n span {\n width: auto;\n height: auto;\n }\n }\n "], ["\n height: 28px;\n box-sizing: border-box;\n padding: ", ";\n background-color: ", ";\n color: ", ";\n position: relative;\n border-radius: ", ";\n ", ";\n\n ", ";\n ", ";\n\n ", " {\n ", ";\n\n background-color: ",
13
- ";\n }\n\n ", " {\n &:hover {\n background-color: ", ";\n }\n }\n\n &:focus {\n background-color: ", ";\n }\n\n &:active {\n background-color: ", ";\n }\n\n &.", " {\n color: ", ";\n opacity: 1;\n }\n\n ",
14
- ";\n\n .", " {\n color: ", ";\n margin-left: 0px;\n margin-right: -4px;\n\n span {\n width: auto;\n height: auto;\n }\n }\n "])), spacing(0.5), palette2('neutral', 'b03'), textColor, radius('round'), ellipsis, typography('body1'), fakePseudoRoundBorder(), focusVisible, fakePseudoRoundBorder({ color: focusVisibleColor }), setOpacity(error ? errorBgColor : defaultBgColor, '08'), nonTouchHoverMedia, setOpacity(defaultBgColor, '12'), setOpacity(defaultBgColor, '16'), setOpacity(defaultBgColor, '24'), RcChipClasses.disabled, disabledColor, error && css(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n &:not(.", ") {\n color: ", ";\n ", ";\n\n background-color: ", ";\n\n ", " {\n &:hover {\n background-color: ", ";\n }\n }\n\n &:focus {\n background-color: ", ";\n }\n\n &:active {\n background-color: ", ";\n }\n }\n "], ["\n &:not(.", ") {\n color: ", ";\n ", ";\n\n background-color: ", ";\n\n ", " {\n &:hover {\n background-color: ", ";\n }\n }\n\n &:focus {\n background-color: ", ";\n }\n\n &:active {\n background-color: ", ";\n }\n }\n "])), RcChipClasses.disabled, palette2('danger', 'f02'), fakePseudoRoundBorder({ color: palette2('danger', 'f02') }), palette2('danger', 'b01'), nonTouchHoverMedia, setOpacity(errorBgColor, '08'), setOpacity(errorBgColor, '16'), setOpacity(errorBgColor, '24')), RcChipClasses.avatar, palette2('neutral', 'b01'));
11
+ var isError = props.isError, _a = props.error, error = _a === void 0 ? isError : _a, colorProp = props.color;
12
+ var color = getParsePaletteColor(colorProp, focusVisibleColor);
13
+ return css(templateObject_2 || (templateObject_2 = __makeTemplateObject(["\n height: 28px;\n box-sizing: border-box;\n padding: ", ";\n background-color: ", ";\n color: ", ";\n position: relative;\n border-radius: ", ";\n ", ";\n\n ", ";\n ", ";\n\n &.", ", ", " {\n ", ";\n\n background-color: ", ";\n }\n\n ", " {\n &:hover {\n background-color: ", ";\n }\n }\n\n &.", ", &:focus {\n background-color: ", ";\n }\n\n &:active {\n background-color: ", ";\n }\n\n &.", " {\n color: ", ";\n opacity: 1;\n }\n\n ", ";\n\n .", " {\n color: ", ";\n margin-left: 0px;\n margin-right: -4px;\n\n span {\n width: auto;\n height: auto;\n }\n }\n "], ["\n height: 28px;\n box-sizing: border-box;\n padding: ", ";\n background-color: ", ";\n color: ", ";\n position: relative;\n border-radius: ", ";\n ", ";\n\n ", ";\n ", ";\n\n &.", ", ", " {\n ", ";\n\n background-color: ",
14
+ ";\n }\n\n ", " {\n &:hover {\n background-color: ", ";\n }\n }\n\n &.", ", &:focus {\n background-color: ", ";\n }\n\n &:active {\n background-color: ", ";\n }\n\n &.", " {\n color: ", ";\n opacity: 1;\n }\n\n ",
15
+ ";\n\n .", " {\n color: ", ";\n margin-left: 0px;\n margin-right: -4px;\n\n span {\n width: auto;\n height: auto;\n }\n }\n "])), spacing(0.5), palette2('neutral', 'b03'), textColor, radius('round'), ellipsis, typography('body1'), fakePseudoRoundBorder(), RcChipClasses.focused, focusVisible, fakePseudoRoundBorder({ color: color }), setOpacity(error ? errorBgColor : defaultBgColor, '08'), nonTouchHoverMedia, setOpacity(defaultBgColor, '12'), RcChipClasses.focused, setOpacity(defaultBgColor, '16'), setOpacity(defaultBgColor, '24'), RcChipClasses.disabled, disabledColor, error && css(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n &:not(.", ") {\n color: ", ";\n ", ";\n\n background-color: ", ";\n\n ", " {\n &:hover {\n background-color: ", ";\n }\n }\n\n &:focus {\n background-color: ", ";\n }\n\n &:active {\n background-color: ", ";\n }\n }\n "], ["\n &:not(.", ") {\n color: ", ";\n ", ";\n\n background-color: ", ";\n\n ", " {\n &:hover {\n background-color: ", ";\n }\n }\n\n &:focus {\n background-color: ", ";\n }\n\n &:active {\n background-color: ", ";\n }\n }\n "])), RcChipClasses.disabled, palette2('danger', 'f02'), fakePseudoRoundBorder({ color: palette2('danger', 'f02') }), palette2('danger', 'b01'), nonTouchHoverMedia, setOpacity(errorBgColor, '08'), setOpacity(errorBgColor, '16'), setOpacity(errorBgColor, '24')), RcChipClasses.avatar, palette2('neutral', 'b01'));
15
16
  };
16
17
  var templateObject_1, templateObject_2;
@@ -1,3 +1,3 @@
1
1
  import { RcClasses } from '../../../foundation';
2
- var RcChipClasses = RcClasses(['avatar', 'disabled', 'deleteIcon'], 'RcChip');
2
+ var RcChipClasses = RcClasses(['avatar', 'disabled', 'deleteIcon', 'focused'], 'RcChip');
3
3
  export { RcChipClasses };
@@ -1,2 +1,4 @@
1
1
  export * from './DialPad';
2
+ export * from './utils/useDialKeyboard';
3
+ export * from './utils/useKeyAudio';
2
4
  export { RcDialerPadSounds } from './assets';
@@ -1,7 +1,7 @@
1
1
  import { __assign, __makeTemplateObject, __rest } from "tslib";
2
2
  import React, { forwardRef, useMemo } from 'react';
3
3
  import MuiDialog from '@material-ui/core/Dialog';
4
- import { combineClasses, combineProps, styled, useRcPortalWindowContext, useThemeProps, withDeprecatedCheck, } from '../../foundation';
4
+ import { combineClasses, styled, useRcPortalWindowContext, useThemeProps, withDeprecatedCheck, } from '../../foundation';
5
5
  import { useUnmountPortalHandler } from '../PortalHost';
6
6
  import { DialogStyle } from './styles';
7
7
  import { RcDialogClasses } from './utils';
@@ -29,7 +29,7 @@ var _RcDialog = forwardRef(function (inProps, ref) {
29
29
  }, [maxWidthProp, size]);
30
30
  var contextValue = useMemo(function () { return ({ size: childrenSize }); }, [childrenSize]);
31
31
  var onExited = useUnmountPortalHandler(TransitionPropsProp === null || TransitionPropsProp === void 0 ? void 0 : TransitionPropsProp.onExited);
32
- var TransitionProps = useMemo(function () { return combineProps({ onExited: onExited }, TransitionPropsProp); }, [TransitionPropsProp, onExited]);
32
+ var TransitionProps = __assign(__assign({}, TransitionPropsProp), { onExited: onExited });
33
33
  return (React.createElement(MuiDialog, __assign({ ref: ref, fullWidth: fullWidth, container: externalWindow === null || externalWindow === void 0 ? void 0 : externalWindow.document.body, maxWidth: maxWidth, fullScreen: size === 'fullScreen' ? true : undefined, classes: classes, TransitionProps: TransitionProps }, rest),
34
34
  React.createElement(RcDialogContext.Provider, { value: contextValue }, children)));
35
35
  });
@@ -1,6 +1,6 @@
1
1
  import { __assign, __makeTemplateObject, __read, __rest } from "tslib";
2
2
  import React, { forwardRef, memo, useImperativeHandle, useMemo, useRef, useState, } from 'react';
3
- import { combineClasses, combineProps, omit, styled, useEventCallback, useForkRef, useThemeProps, withDeprecatedCheck, } from '../../foundation';
3
+ import { combineClasses, combineProps, getParsePaletteColor, omit, styled, useEventCallback, useForkRef, useTheme, useThemeProps, withDeprecatedCheck, } from '../../foundation';
4
4
  import ArrowDown from '../../icon/ArrowDown';
5
5
  import ArrowUp from '../../icon/ArrowUp';
6
6
  import { RcChip } from '../Chip';
@@ -11,7 +11,8 @@ import { RcSuggestionList } from './SuggestionList';
11
11
  import { DEFAULT_GET_OPTION_LABEL, DEFAULT_KEY_TO_CHIPS, DEFAULT_LIMIT_CHIPS, RcDownshiftDefaultFilterOptions, RcDownshiftInputClasses, useDownshift, useDownshiftError, } from './utils';
12
12
  var _RcDownshift = memo(forwardRef(function (inProps, ref) {
13
13
  var props = useThemeProps({ props: inProps, name: 'RcDownshift' });
14
- var _a = props.itemToString, itemToString = _a === void 0 ? DEFAULT_GET_OPTION_LABEL : _a, _b = props.keyToChips, keyToChips = _b === void 0 ? DEFAULT_KEY_TO_CHIPS : _b, _c = props.limitOfFreeChips, limitOfFreeChips = _c === void 0 ? DEFAULT_LIMIT_CHIPS : _c, minRowHeight = props.minRowHeight, suggestionItems = props.suggestionItems, messageRef = props.messageRef, MenuItem = props.MenuItem, inputLabel = props.inputLabel, nameError = props.nameError, maxLength = props.maxLength, InputItem = props.InputItem, emailError = props.emailError, autoSwitchEmail = props.autoSwitchEmail, enableFreeChips = props.enableFreeChips, inputPlaceholder = props.inputPlaceholder, errorSelectedItems = props.errorSelectedItems, enableAutoTransform = props.enableAutoTransform, allowPlainHelperText = props.allowPlainHelperText, TextFieldProps = props.TextFieldProps, selectedItemsProp = props.selectedItems, automationId = props.automationId, screenReader = props.screenReader, onSelectChange = props.onSelectChange, variant = props.variant, groupExpanded = props.groupExpanded, _d = props.groupVariant, groupVariant = _d === void 0 ? 'normal' : _d, getExpandIconProps = props.getExpandIconProps, groupBy = props.groupBy, _e = props.value, valueProp = _e === void 0 ? selectedItemsProp : _e, _f = props.autoHighlight, autoHighlight = _f === void 0 ? true : _f, _g = props.fullWidth, fullWidth = _g === void 0 ? true : _g, _h = props.clearBtn, clearBtn = _h === void 0 ? false : _h, _j = props.toggleButton, toggleButton = _j === void 0 ? false : _j, _k = props.multiple, multiple = _k === void 0 ? false : _k, clearButtonProps = props.clearButtonProps, onClear = props.onClear, ToggleButtonProps = props.ToggleButtonProps, inputValueProp = props.inputValue, onKeyDownProp = props.onKeyDown, helperTextProp = props.helperText, options = props.options, openOnFocus = props.openOnFocus, _l = props.getOptionLabel, getOptionLabel = _l === void 0 ? itemToString : _l, renderInput = props.renderInput, _m = props.label, label = _m === void 0 ? inputLabel : _m, _o = props.inputRef, inputRefProp = _o === void 0 ? messageRef : _o, _p = props.error, error = _p === void 0 ? nameError : _p, _q = props.placeholder, placeholder = _q === void 0 ? inputPlaceholder : _q, _r = props.freeSolo, freeSolo = _r === void 0 ? enableFreeChips : _r, _s = props.keyToTags, keyToTags = _s === void 0 ? keyToChips : _s, _t = props.maxFreeSolo, maxFreeSolo = _t === void 0 ? limitOfFreeChips : _t, SuggestionListProps = props.SuggestionListProps, _u = props.autoSelect, autoSelect = _u === void 0 ? enableAutoTransform : _u, PopperProps = props.PopperProps, initialIsOpen = props.initialIsOpen, disabled = props.disabled, requiredProp = props.required, _v = props.defaultIsOpen, defaultIsOpen = _v === void 0 ? openOnFocus : _v, _w = props.disableCloseOnSelect, disableCloseOnSelect = _w === void 0 ? defaultIsOpen : _w, _x = props.onChange, onChangeProp = _x === void 0 ? onSelectChange : _x, onInputChangeProp = props.onInputChange, onMaxFreeSolo = props.onMaxFreeSolo, FormHelperTextPropsProp = props.FormHelperTextProps, action = props.action, filterOptions = props.filterOptions, renderOption = props.renderOption, renderTags = props.renderTags, getOptionDisabled = props.getOptionDisabled, renderGroup = props.renderGroup, onGroupExpanded = props.onGroupExpanded, renderNoOptions = props.renderNoOptions, InputPropsProp = props.InputProps, debug = props.debug, disabledItemsHighlightable = props.disabledItemsHighlightable, openProp = props.open, onOpen = props.onOpen, onClose = props.onClose, rest = __rest(props, ["itemToString", "keyToChips", "limitOfFreeChips", "minRowHeight", "suggestionItems", "messageRef", "MenuItem", "inputLabel", "nameError", "maxLength", "InputItem", "emailError", "autoSwitchEmail", "enableFreeChips", "inputPlaceholder", "errorSelectedItems", "enableAutoTransform", "allowPlainHelperText", "TextFieldProps", "selectedItems", "automationId", "screenReader", "onSelectChange", "variant", "groupExpanded", "groupVariant", "getExpandIconProps", "groupBy", "value", "autoHighlight", "fullWidth", "clearBtn", "toggleButton", "multiple", "clearButtonProps", "onClear", "ToggleButtonProps", "inputValue", "onKeyDown", "helperText", "options", "openOnFocus", "getOptionLabel", "renderInput", "label", "inputRef", "error", "placeholder", "freeSolo", "keyToTags", "maxFreeSolo", "SuggestionListProps", "autoSelect", "PopperProps", "initialIsOpen", "disabled", "required", "defaultIsOpen", "disableCloseOnSelect", "onChange", "onInputChange", "onMaxFreeSolo", "FormHelperTextProps", "action", "filterOptions", "renderOption", "renderTags", "getOptionDisabled", "renderGroup", "onGroupExpanded", "renderNoOptions", "InputProps", "debug", "disabledItemsHighlightable", "open", "onOpen", "onClose"]);
14
+ var theme = useTheme();
15
+ var _a = props.itemToString, itemToString = _a === void 0 ? DEFAULT_GET_OPTION_LABEL : _a, _b = props.keyToChips, keyToChips = _b === void 0 ? DEFAULT_KEY_TO_CHIPS : _b, _c = props.limitOfFreeChips, limitOfFreeChips = _c === void 0 ? DEFAULT_LIMIT_CHIPS : _c, minRowHeight = props.minRowHeight, suggestionItems = props.suggestionItems, messageRef = props.messageRef, MenuItem = props.MenuItem, inputLabel = props.inputLabel, nameError = props.nameError, maxLength = props.maxLength, InputItem = props.InputItem, emailError = props.emailError, autoSwitchEmail = props.autoSwitchEmail, enableFreeChips = props.enableFreeChips, inputPlaceholder = props.inputPlaceholder, errorSelectedItems = props.errorSelectedItems, enableAutoTransform = props.enableAutoTransform, allowPlainHelperText = props.allowPlainHelperText, TextFieldProps = props.TextFieldProps, selectedItemsProp = props.selectedItems, automationId = props.automationId, screenReader = props.screenReader, onSelectChange = props.onSelectChange, variant = props.variant, groupExpanded = props.groupExpanded, groupDefaultExpanded = props.groupDefaultExpanded, _d = props.groupVariant, groupVariant = _d === void 0 ? 'normal' : _d, getExpandIconProps = props.getExpandIconProps, groupBy = props.groupBy, _e = props.value, valueProp = _e === void 0 ? selectedItemsProp : _e, _f = props.autoHighlight, autoHighlight = _f === void 0 ? true : _f, _g = props.fullWidth, fullWidth = _g === void 0 ? true : _g, _h = props.clearBtn, clearBtn = _h === void 0 ? false : _h, _j = props.toggleButton, toggleButton = _j === void 0 ? false : _j, _k = props.multiple, multiple = _k === void 0 ? false : _k, clearButtonProps = props.clearButtonProps, onClear = props.onClear, ToggleButtonProps = props.ToggleButtonProps, inputValueProp = props.inputValue, onKeyDownProp = props.onKeyDown, helperTextProp = props.helperText, options = props.options, openOnFocus = props.openOnFocus, _l = props.getOptionLabel, getOptionLabel = _l === void 0 ? itemToString : _l, renderInput = props.renderInput, _m = props.label, label = _m === void 0 ? inputLabel : _m, _o = props.inputRef, inputRefProp = _o === void 0 ? messageRef : _o, _p = props.error, error = _p === void 0 ? nameError : _p, _q = props.placeholder, placeholder = _q === void 0 ? inputPlaceholder : _q, _r = props.freeSolo, freeSolo = _r === void 0 ? enableFreeChips : _r, _s = props.keyToTags, keyToTags = _s === void 0 ? keyToChips : _s, _t = props.maxFreeSolo, maxFreeSolo = _t === void 0 ? limitOfFreeChips : _t, SuggestionListProps = props.SuggestionListProps, _u = props.autoSelect, autoSelect = _u === void 0 ? enableAutoTransform : _u, PopperProps = props.PopperProps, initialIsOpen = props.initialIsOpen, disabled = props.disabled, requiredProp = props.required, _v = props.defaultIsOpen, defaultIsOpen = _v === void 0 ? openOnFocus : _v, _w = props.disableCloseOnSelect, disableCloseOnSelect = _w === void 0 ? defaultIsOpen : _w, _x = props.onChange, onChangeProp = _x === void 0 ? onSelectChange : _x, onInputChangeProp = props.onInputChange, onMaxFreeSolo = props.onMaxFreeSolo, FormHelperTextPropsProp = props.FormHelperTextProps, action = props.action, filterOptions = props.filterOptions, renderOption = props.renderOption, renderTags = props.renderTags, getOptionDisabled = props.getOptionDisabled, renderGroup = props.renderGroup, onGroupExpanded = props.onGroupExpanded, renderNoOptions = props.renderNoOptions, InputPropsProp = props.InputProps, debug = props.debug, disabledItemsHighlightable = props.disabledItemsHighlightable, openProp = props.open, onOpen = props.onOpen, onClose = props.onClose, focused = props.focused, color = props.color, rest = __rest(props, ["itemToString", "keyToChips", "limitOfFreeChips", "minRowHeight", "suggestionItems", "messageRef", "MenuItem", "inputLabel", "nameError", "maxLength", "InputItem", "emailError", "autoSwitchEmail", "enableFreeChips", "inputPlaceholder", "errorSelectedItems", "enableAutoTransform", "allowPlainHelperText", "TextFieldProps", "selectedItems", "automationId", "screenReader", "onSelectChange", "variant", "groupExpanded", "groupDefaultExpanded", "groupVariant", "getExpandIconProps", "groupBy", "value", "autoHighlight", "fullWidth", "clearBtn", "toggleButton", "multiple", "clearButtonProps", "onClear", "ToggleButtonProps", "inputValue", "onKeyDown", "helperText", "options", "openOnFocus", "getOptionLabel", "renderInput", "label", "inputRef", "error", "placeholder", "freeSolo", "keyToTags", "maxFreeSolo", "SuggestionListProps", "autoSelect", "PopperProps", "initialIsOpen", "disabled", "required", "defaultIsOpen", "disableCloseOnSelect", "onChange", "onInputChange", "onMaxFreeSolo", "FormHelperTextProps", "action", "filterOptions", "renderOption", "renderTags", "getOptionDisabled", "renderGroup", "onGroupExpanded", "renderNoOptions", "InputProps", "debug", "disabledItemsHighlightable", "open", "onOpen", "onClose", "focused", "color"]);
15
16
  var _y = __read(useState('bottom'), 2), position = _y[0], setPosition = _y[1];
16
17
  var innerInputRef = useRef(null);
17
18
  var textFieldRef = useRef(null);
@@ -23,6 +24,7 @@ var _RcDownshift = memo(forwardRef(function (inProps, ref) {
23
24
  useDownshiftError({ isNew: isNew, MenuItem: MenuItem, InputItem: InputItem });
24
25
  var required = requiredProp || (TextFieldProps === null || TextFieldProps === void 0 ? void 0 : TextFieldProps.required);
25
26
  var _z = useDownshift({
27
+ focused: focused,
26
28
  open: openProp,
27
29
  variant: variant,
28
30
  onOpen: onOpen,
@@ -34,6 +36,7 @@ var _RcDownshift = memo(forwardRef(function (inProps, ref) {
34
36
  inputValue: inputValueProp,
35
37
  getOptionDisabled: getOptionDisabled,
36
38
  groupExpanded: groupVariant === 'normal' ? true : groupExpanded,
39
+ groupDefaultExpanded: groupDefaultExpanded,
37
40
  getExpandIconProps: getExpandIconProps,
38
41
  options: suggestionItems || options,
39
42
  freeSolo: freeSolo,
@@ -59,7 +62,7 @@ var _RcDownshift = memo(forwardRef(function (inProps, ref) {
59
62
  onKeyDown: onKeyDownProp,
60
63
  disabledItemsHighlightable: disabledItemsHighlightable,
61
64
  onGroupExpanded: onGroupExpanded,
62
- }), focusInput = _z.focusInput, optionItems = _z.optionItems, optionsGroupList = _z.optionsGroupList, selectedItems = _z.selectedItems, highlightedIndex = _z.highlightedIndex, getToggleButtonProps = _z.getToggleButtonProps, getTagProps = _z.getTagProps, getTagListBoxProps = _z.getTagListBoxProps, getMenuProps = _z.getMenuProps, getPopperProps = _z.getPopperProps, getInputProps = _z.getInputProps, getInputAriaProps = _z.getInputAriaProps, getLabelProps = _z.getLabelProps, getItemProps = _z.getItemProps, isOpen = _z.isOpen, inputValue = _z.inputValue, isTagsFocus = _z.isTagsFocus, activeIndex = _z.activeIndex, setActiveIndex = _z.setActiveIndex, setHighlightedIndex = _z.setHighlightedIndex, onInputChange = _z.onInputChange, keepHighlightedIndex = _z.keepHighlightedIndex, changeHighlightedIndexReason = _z.changeHighlightedIndexReason, closeMenu = _z.closeMenu, openMenu = _z.openMenu, reset = _z.reset, getClearButtonProps = _z.getClearButtonProps, noOptionItem = _z.noOptionItem, getNoOptionsProps = _z.getNoOptionsProps, isKeepHighlightedIndex = _z.isKeepHighlightedIndex;
65
+ }), focusInput = _z.focusInput, optionItems = _z.optionItems, optionsGroupList = _z.optionsGroupList, selectedItems = _z.selectedItems, highlightedIndex = _z.highlightedIndex, getToggleButtonProps = _z.getToggleButtonProps, getTagProps = _z.getTagProps, getTagListBoxProps = _z.getTagListBoxProps, getMenuProps = _z.getMenuProps, getPopperProps = _z.getPopperProps, getInputProps = _z.getInputProps, getInputAriaProps = _z.getInputAriaProps, getLabelProps = _z.getLabelProps, getItemProps = _z.getItemProps, isOpen = _z.isOpen, inputValue = _z.inputValue, isTagsFocus = _z.isTagsFocus, activeIndex = _z.activeIndex, setActiveIndex = _z.setActiveIndex, setHighlightedIndex = _z.setHighlightedIndex, onInputChange = _z.onInputChange, keepHighlightedIndex = _z.keepHighlightedIndex, changeHighlightedIndexReason = _z.changeHighlightedIndexReason, closeMenu = _z.closeMenu, openMenu = _z.openMenu, reset = _z.reset, getClearButtonProps = _z.getClearButtonProps, noOptionItem = _z.noOptionItem, getNoOptionsProps = _z.getNoOptionsProps, isKeepHighlightedIndex = _z.isKeepHighlightedIndex, isFocused = _z.isFocused;
63
66
  var open = Boolean((isOpen || noOptionItem) && textFieldRef.current);
64
67
  var _0 = getInputProps(), onBlur = _0.onBlur, InputProps = __rest(_0, ["onBlur"]);
65
68
  var helperText = isNew
@@ -85,6 +88,7 @@ var _RcDownshift = memo(forwardRef(function (inProps, ref) {
85
88
  }
86
89
  }
87
90
  var toTextFieldRef = useForkRef(textFieldRef, ref);
91
+ var colorHex = useMemo(function () { return (color ? getParsePaletteColor(color)({ theme: theme }) : undefined); }, [color, theme]);
88
92
  var startAdornment = (function () {
89
93
  if (variant === 'autocomplete') {
90
94
  return undefined;
@@ -99,7 +103,7 @@ var _RcDownshift = memo(forwardRef(function (inProps, ref) {
99
103
  if (selectedItem.error) {
100
104
  oneOfTagError = true;
101
105
  }
102
- return tagProps;
106
+ return __assign(__assign({}, tagProps), { color: colorHex });
103
107
  };
104
108
  return renderTags
105
109
  ? renderTags(selectedItems, getCustomizedTagProps)
@@ -120,9 +124,14 @@ var _RcDownshift = memo(forwardRef(function (inProps, ref) {
120
124
  } })));
121
125
  });
122
126
  })();
127
+ var isDownshiftFocused = focused !== null && focused !== void 0 ? focused : (isTagsFocus || isFocused ? true : undefined);
123
128
  var endAdornment = (toggleButton || clearBtn) && (React.createElement(EndAdornment, null,
124
129
  clearBtn && (React.createElement(ClearIconButton, __assign({}, getClearButtonProps(clearButtonProps)))),
125
- toggleButton && (React.createElement(ArrowDownButton, __assign({ variant: "plain", "aria-hidden": true, color: error ? 'danger.f02' : 'neutral.f04', size: "large", symbol: isOpen ? ArrowUp : ArrowDown }, getToggleButtonProps(ToggleButtonProps))))));
130
+ toggleButton && (React.createElement(ArrowDownButton, __assign({ variant: "plain", "aria-hidden": true, color: isDownshiftFocused
131
+ ? color || 'interactive.f01'
132
+ : error
133
+ ? 'danger.f02'
134
+ : 'neutral.f04', size: "large", symbol: isOpen ? ArrowUp : ArrowDown }, getToggleButtonProps(ToggleButtonProps))))));
126
135
  var _1 = (function () {
127
136
  var _a = InputPropsProp || {}, classes = _a.classes, restInputPropsProp = __rest(_a, ["classes"]);
128
137
  var toClasses = combineClasses(classes, RcDownshiftInputClasses);
@@ -154,7 +163,7 @@ var _RcDownshift = memo(forwardRef(function (inProps, ref) {
154
163
  (_a = popperRef.current) === null || _a === void 0 ? void 0 : _a.update();
155
164
  });
156
165
  return (React.createElement(React.Fragment, null,
157
- React.createElement(StyledTextField, __assign({ renderInput: renderInput, hasTags: hasTags, ref: toTextFieldRef, inputRef: inputRef, "data-test-automation-id": automationId, fullWidth: fullWidth, placeholder: !hasTags ? placeholder : undefined, label: label, focused: isTagsFocus ? true : undefined, disabled: disabled, required: required,
166
+ React.createElement(StyledTextField, __assign({ renderInput: renderInput, hasTags: hasTags, ref: toTextFieldRef, inputRef: inputRef, "data-test-automation-id": automationId, fullWidth: fullWidth, placeholder: !hasTags ? placeholder : undefined, label: label, focused: isDownshiftFocused, disabled: disabled, required: required, color: color,
158
167
  // * if below one of tag is error, that main downshift default will be error
159
168
  error: error !== null && error !== void 0 ? error : oneOfTagError, FormHelperTextProps: FormHelperTextProps, InputProps: TextFieldInputProps, helperText: helperText }, combineProps({
160
169
  InputLabelProps: getLabelProps(),
@@ -286,5 +295,5 @@ var RcDownshift = styled(withDeprecatedCheck(_RcDownshift, [
286
295
  RcDownshift.defaultProps = {};
287
296
  RcDownshift.displayName = 'RcDownshift';
288
297
  var ExportType = RcDownshift;
289
- export { ExportType as RcDownshift, RcDownshiftDefaultFilterOptions };
298
+ export { ExportType as RcDownshift, RcDownshiftDefaultFilterOptions, RcDownshiftInput, };
290
299
  var templateObject_1;
@@ -6,7 +6,7 @@ import ArrowDown2 from '../../../icon/ArrowDown2';
6
6
  import { RcBox } from '../../Box';
7
7
  import { RcIconButton } from '../../Buttons/IconButton';
8
8
  import { RcMenuItem } from '../../Menu/MenuItem';
9
- import { StyledMenuListPadding } from '../../VirtualizedMenu/styles';
9
+ import { menuListBoundaryPadding, StyledMenuListPadding, } from '../../VirtualizedMenu/styles';
10
10
  import { useDynamicHeight, useHighlightScroll, Virtuoso, } from '../../Virtuoso';
11
11
  import { SuggestionListStyle } from './styles';
12
12
  import { RcSuggestionListClasses } from './utils';
@@ -45,8 +45,13 @@ var SuggestionList = forwardRef(function (inProps, ref) {
45
45
  return __generator(this, function (_c) {
46
46
  switch (_c.label) {
47
47
  case 0:
48
+ if (location.index === 0 && padding !== undefined) {
49
+ location = __assign(__assign({}, location), { offset: -(typeof padding === 'number'
50
+ ? padding
51
+ : menuListBoundaryPadding) });
52
+ }
48
53
  (_a = vlRef.current) === null || _a === void 0 ? void 0 : _a.scrollToIndex(location);
49
- toIndex = typeof location === 'number' ? location : location.index;
54
+ toIndex = location.index;
50
55
  return [4 /*yield*/, sleep(0)];
51
56
  case 1:
52
57
  _c.sent();
@@ -139,12 +144,13 @@ var SuggestionList = forwardRef(function (inProps, ref) {
139
144
  expandIconProps && (React.createElement(RcIconButton, __assign({}, expandIconProps, { symbol: ArrowDown2 })))));
140
145
  };
141
146
  var PaddingComponent = useMemo(function () {
142
- return padding !== undefined
147
+ var paddingValue = padding !== undefined && itemCount > 0
143
148
  ? typeof padding === 'number'
144
- ? function () { return React.createElement(StyledMenuListPadding, { height: padding }); }
145
- : StyledMenuListPadding
146
- : undefined;
147
- }, [padding]);
149
+ ? padding
150
+ : menuListBoundaryPadding
151
+ : 0;
152
+ return function () { return React.createElement(StyledMenuListPadding, { height: paddingValue }); };
153
+ }, [itemCount, padding]);
148
154
  var components = useMemo(function () {
149
155
  return __assign({ List: List, Header: PaddingComponent, Footer: PaddingComponent }, componentsProp);
150
156
  }, [componentsProp, PaddingComponent]);
@@ -1 +1,2 @@
1
1
  export * from './SuggestionListUtils';
2
+ export * from './useSuggestionList';
@@ -0,0 +1,237 @@
1
+ import { __read, __rest } from "tslib";
2
+ import { useMemo, useRef } from 'react';
3
+ import uniqueId from 'lodash/uniqueId';
4
+ import { useControlled } from '@material-ui/core/utils';
5
+ import { combineProps, useForceUpdate, useKeyboardMoveFocus, useResultRef, } from '../../../../foundation';
6
+ import { DEFAULT_GET_OPTION_LABEL, isItemCanSelected, } from '../../utils';
7
+ import { useDownshiftGroup } from '../../utils/useDownshiftGroup';
8
+ var DEFAULT_HIGHLIGHTED_INDEX = -1;
9
+ var componentName = 'useSuggestionList';
10
+ /**
11
+ * provide suggestion list with search function and expandable group with virtualized list
12
+ */
13
+ export var useSuggestionList = function (_a) {
14
+ var inputValueProp = _a.inputValue, _b = _a.getOptionLabel, getOptionLabel = _b === void 0 ? DEFAULT_GET_OPTION_LABEL : _b, filterOptions = _a.filterOptions, disabledItemsHighlightable = _a.disabledItemsHighlightable, options = _a.options, onInputChangeProp = _a.onInputChange, inputRef = _a.inputRef, onKeyDownProp = _a.onKeyDown, onSelect = _a.onSelect, onClear = _a.onClear, getOptionDisabled = _a.getOptionDisabled, groupBy = _a.groupBy, onGroupExpanded = _a.onGroupExpanded, groupVariant = _a.groupVariant, groupExpanded = _a.groupExpanded, groupDefaultExpanded = _a.groupDefaultExpanded, getExpandIconProps = _a.getExpandIconProps;
15
+ var _c = __read(useControlled({
16
+ controlled: inputValueProp,
17
+ default: '',
18
+ name: componentName,
19
+ }), 2), inputValue = _c[0], setInputValue = _c[1];
20
+ var updateInputValue = function (newValue) {
21
+ onInputChangeProp === null || onInputChangeProp === void 0 ? void 0 : onInputChangeProp(newValue);
22
+ setInputValue(newValue);
23
+ };
24
+ var focusInput = function () { var _a; return (_a = inputRef.current) === null || _a === void 0 ? void 0 : _a.focus(); };
25
+ var suggestionListId = useResultRef(function () {
26
+ return uniqueId("suggestion-list-");
27
+ }).current;
28
+ // * use -2 for us know that is init state, for recalculate defaultHighlightedIndex
29
+ var highlightedIndexRef = useRef(DEFAULT_HIGHLIGHTED_INDEX);
30
+ var changeHighlightedIndexReason = useRef();
31
+ var forceUpdate = useForceUpdate();
32
+ var filteredResult = useMemo(function () {
33
+ var getFilteredItems = function (items) {
34
+ if (filterOptions) {
35
+ return filterOptions(items, {
36
+ inputValue: inputValue,
37
+ getOptionLabel: getOptionLabel,
38
+ selectedItems: [],
39
+ });
40
+ }
41
+ return items;
42
+ };
43
+ // * only when isOpen calculate the filtered result
44
+ var results = getFilteredItems(options);
45
+ return results;
46
+ }, [filterOptions, getOptionLabel, inputValue, options]);
47
+ var _d = useDownshiftGroup({
48
+ groupBy: groupBy,
49
+ options: options,
50
+ filteredResult: filteredResult,
51
+ getExpandIconProps: getExpandIconProps,
52
+ groupExpanded: groupExpanded,
53
+ groupDefaultExpanded: groupDefaultExpanded,
54
+ onGroupExpanded: onGroupExpanded,
55
+ groupVariant: groupVariant,
56
+ getOptionDisabled: getOptionDisabled,
57
+ id: suggestionListId,
58
+ }), groupedResult = _d.groupedResult, handleGroupExpandedChange = _d.handleGroupExpandedChange, optionsGroupList = _d.optionsGroupList;
59
+ var optionItems = groupBy ? groupedResult : filteredResult;
60
+ var setHighlightedIndex = function (index, _a) {
61
+ var _b = _a.reRender, reRender = _b === void 0 ? false : _b, reason = _a.reason;
62
+ changeHighlightedIndexReason.current = reason;
63
+ if (highlightedIndexRef.current !== index) {
64
+ highlightedIndexRef.current = index;
65
+ if (reRender)
66
+ forceUpdate();
67
+ }
68
+ };
69
+ var handleInputChange = function (newValue) {
70
+ if (inputValue !== newValue) {
71
+ setHighlightedIndex(DEFAULT_HIGHLIGHTED_INDEX, { reason: 'auto' });
72
+ updateInputValue(newValue);
73
+ }
74
+ return false;
75
+ };
76
+ var getIsItemCanSelected = function (item) {
77
+ return ((!!item && item.freeSolo) ||
78
+ (isItemCanSelected(item) && !(getOptionDisabled === null || getOptionDisabled === void 0 ? void 0 : getOptionDisabled(item))));
79
+ };
80
+ var selectItemFn = function (e, selectedItem) {
81
+ if (getIsItemCanSelected(selectedItem)) {
82
+ onSelect === null || onSelect === void 0 ? void 0 : onSelect(e, selectedItem);
83
+ return true;
84
+ }
85
+ return false;
86
+ };
87
+ var resetState = function () {
88
+ if (inputRef.current && inputRef.current.value.length > 0) {
89
+ updateInputValue('');
90
+ }
91
+ };
92
+ var reset = function (isFocus) {
93
+ resetState();
94
+ onInputChangeProp === null || onInputChangeProp === void 0 ? void 0 : onInputChangeProp('');
95
+ if (isFocus)
96
+ focusInput();
97
+ };
98
+ var onKeyFocusedIndexHandle = useKeyboardMoveFocus({
99
+ options: optionItems,
100
+ focusedIndexRef: highlightedIndexRef,
101
+ infinite: true,
102
+ onFocusedIndexChange: function (event, toIndex) {
103
+ setHighlightedIndex(toIndex, { reason: 'keyboard', reRender: true });
104
+ event === null || event === void 0 ? void 0 : event.preventDefault();
105
+ },
106
+ getOptionDisabled: disabledItemsHighlightable
107
+ ? undefined
108
+ : function (child) {
109
+ return !getIsItemCanSelected(child);
110
+ },
111
+ }).onKeyFocusedIndexHandle;
112
+ var getItemProps = function (_a) {
113
+ var item = _a.item, index = _a.index, itemRest = __rest(_a, ["item", "index"]);
114
+ return combineProps({
115
+ id: suggestionListId + "-option-" + index,
116
+ role: 'option',
117
+ onClick: function (e) {
118
+ selectItemFn(e, item);
119
+ },
120
+ onMouseDown: function (e) {
121
+ e.preventDefault();
122
+ e.stopPropagation();
123
+ },
124
+ onMouseOver: function () {
125
+ if (highlightedIndexRef.current !== index) {
126
+ setHighlightedIndex(index, { reason: 'mouse', reRender: true });
127
+ }
128
+ },
129
+ }, itemRest);
130
+ };
131
+ var getInputProps = function (props) {
132
+ return combineProps({
133
+ id: suggestionListId + "-input",
134
+ autoComplete: 'off',
135
+ onChange: function (e) {
136
+ var changeValue = e.target.value;
137
+ handleInputChange(changeValue);
138
+ },
139
+ onKeyDown: function (e) {
140
+ var _a;
141
+ onKeyDownProp === null || onKeyDownProp === void 0 ? void 0 : onKeyDownProp(e, highlightedIndexRef.current);
142
+ var highlightedIndex = highlightedIndexRef.current;
143
+ switch (e.key) {
144
+ case 'F10':
145
+ if (e.shiftKey) {
146
+ var currOption = optionItems[highlightedIndex];
147
+ var currentGroup = currOption.group;
148
+ if (currentGroup && currentGroup.options.length > 1) {
149
+ handleGroupExpandedChange(currentGroup.group);
150
+ }
151
+ }
152
+ break;
153
+ case 'Enter':
154
+ if (e.which === 229)
155
+ return;
156
+ if (highlightedIndex !== DEFAULT_HIGHLIGHTED_INDEX) {
157
+ var currOption = optionItems[highlightedIndex];
158
+ var isGroupTitle = currOption === ((_a = currOption.group) === null || _a === void 0 ? void 0 : _a.options[0]);
159
+ if (isGroupTitle) {
160
+ var onClick = currOption.group.getExpandIconProps().onClick;
161
+ onClick === null || onClick === void 0 ? void 0 : onClick(e);
162
+ }
163
+ else {
164
+ selectItemFn(e, currOption);
165
+ }
166
+ e.stopPropagation();
167
+ }
168
+ // always preventDefault for not inset all enter into textarea
169
+ e.preventDefault();
170
+ break;
171
+ default:
172
+ onKeyFocusedIndexHandle(e);
173
+ break;
174
+ }
175
+ },
176
+ }, props);
177
+ };
178
+ var getInputAriaProps = function (props) {
179
+ return combineProps({
180
+ // * provide for when container click focus on input
181
+ onContainerClick: focusInput,
182
+ role: 'combobox',
183
+ 'aria-autocomplete': 'list',
184
+ // TODO
185
+ 'aria-expanded': true,
186
+ 'aria-haspopup': true,
187
+ 'aria-owns': suggestionListId + "-menu",
188
+ 'aria-activedescendant': highlightedIndexRef.current > -1
189
+ ? suggestionListId + "-option-" + highlightedIndexRef.current
190
+ : undefined,
191
+ }, props);
192
+ };
193
+ var getLabelProps = function (props) {
194
+ return combineProps({
195
+ htmlFor: suggestionListId + "-input",
196
+ id: suggestionListId + "-label",
197
+ }, props);
198
+ };
199
+ var getMenuProps = function (restMenuProps) {
200
+ return combineProps({
201
+ 'aria-labelledby': suggestionListId + "-label",
202
+ id: suggestionListId + "-menu",
203
+ role: 'listbox',
204
+ }, restMenuProps);
205
+ };
206
+ var getClearButtonProps = function (props) {
207
+ return combineProps({
208
+ id: suggestionListId + "-clear-button",
209
+ onClick: function (e) {
210
+ onClear === null || onClear === void 0 ? void 0 : onClear(e);
211
+ reset(true);
212
+ },
213
+ }, props);
214
+ };
215
+ var resultObj = {
216
+ focusInput: focusInput,
217
+ getClearButtonProps: getClearButtonProps,
218
+ getLabelProps: getLabelProps,
219
+ getMenuProps: getMenuProps,
220
+ getInputProps: getInputProps,
221
+ getInputAriaProps: getInputAriaProps,
222
+ getItemProps: getItemProps,
223
+ highlightedIndex: highlightedIndexRef.current,
224
+ optionItems: optionItems,
225
+ inputValue: inputValue,
226
+ onInputChange: handleInputChange,
227
+ setHighlightedIndex: setHighlightedIndex,
228
+ changeHighlightedIndexReason: changeHighlightedIndexReason.current,
229
+ reset: reset,
230
+ forceUpdate: forceUpdate,
231
+ optionsGroupList: optionsGroupList,
232
+ /** current suggestion list id */
233
+ id: suggestionListId,
234
+ };
235
+ changeHighlightedIndexReason.current = undefined;
236
+ return resultObj;
237
+ };
@@ -9,14 +9,32 @@ export var isItemCanSelected = function (item) {
9
9
  export var DEFAULT_KEY_TO_CHIPS = [';', ',', '\\n'];
10
10
  export var DEFAULT_LIMIT_CHIPS = 20;
11
11
  export var DEFAULT_GET_OPTION_LABEL = function (item) {
12
- return item.label || '';
12
+ return (item === null || item === void 0 ? void 0 : item.label) || '';
13
13
  };
14
14
  export var RcDownshiftDefaultRenderNoOptions = function (getNoOptionsProps) {
15
15
  return (React.createElement(RcMenuItem, __assign({ component: "div" }, getNoOptionsProps()), "No Options"));
16
16
  };
17
+ /**
18
+ * default downshift filter options method, use with `variant="tags"`
19
+ *
20
+ * - filter options by input value and selected items
21
+ */
17
22
  export var RcDownshiftDefaultFilterOptions = function (options, _a) {
18
23
  var inputValue = _a.inputValue, getOptionLabel = _a.getOptionLabel, selectedItems = _a.selectedItems;
19
24
  return options.filter(function (item) {
20
25
  return selectedItems.indexOf(item) < 0 && (getOptionLabel === null || getOptionLabel === void 0 ? void 0 : getOptionLabel(item).toLowerCase().startsWith((inputValue === null || inputValue === void 0 ? void 0 : inputValue.toLowerCase()) || ''));
21
26
  });
22
27
  };
28
+ /**
29
+ * default downshift filter options method, use with `variant="autocomplete"`
30
+ *
31
+ * - when open menu and not change value, that will return whole options
32
+ * - only filter options by input value when have input value changed
33
+ */
34
+ export var RcAutocompleteDefaultFilterOptions = function (options, _a) {
35
+ var inputValue = _a.inputValue, getOptionLabel = _a.getOptionLabel, inputChanged = _a.inputChanged;
36
+ if (!inputChanged) {
37
+ return options;
38
+ }
39
+ return options.filter(function (item) { return getOptionLabel === null || getOptionLabel === void 0 ? void 0 : getOptionLabel(item).toLowerCase().startsWith((inputValue === null || inputValue === void 0 ? void 0 : inputValue.toLowerCase()) || ''); });
40
+ };