azure-devops-ui
Version:
React components for building web UI in Azure DevOps
1 lines • 1.75 kB
JavaScript
import{__assign,__rest}from"tslib";import"../../CommonImports";import"../../Core/core.css";import"./Dropdown.css";import*as React from"react";import{ExpandableTextField}from"../../ExpandableTextField";import*as Resources from"../../Resources.Dropdown";import{TextFieldFocusTreatmentBehavior}from"../../TextField";import{css}from"../../Util";function DropdownExpandableTextField(e){var t,o,r=e.editable,i=e.expandableRef,a=e.items,l=e.inputClassName,s=e.renderSelectedItems,n=e.selection,d=e.showPrefix,d=void 0===d||d,p=__rest(e,["editable","expandableRef","items","inputClassName","renderSelectedItems","selection","showPrefix"]);return r||(o=e.placeholder,0<n.selectedCount&&(o=s(n,a))),d&&1===n.selectedCount&&(t=null==(s=a[n.value[0].beginIndex])?void 0:s.iconProps),React.createElement(ExpandableTextField,__assign({ariaHasPopup:"menu",ariaRoleDescription:r?void 0:Resources.DropdownExpandableRoleDescription,autoComplete:r,ariaAutoComplete:r?"list":void 0,focusTreatment:r?TextFieldFocusTreatmentBehavior.all:TextFieldFocusTreatmentBehavior.keyboardOnly,inputType:r?void 0:"button",editable:r,ref:i,value:o},p,{className:css(e.className,"bolt-dropdown-expandable-text-field",p.disabled&&"disabled"),inputClassName:css(l,"bolt-dropdown-expandable-textfield-input text-ellipsis"),onClick:function(e){return i.current&&i.current.expand()},prefixIconProps:e.prefixIconProps||t,tooltipProps:__assign({text:o,overflowOnly:!0,overflowDetected:overflowDetected},e.tooltipProps),required:e.required}))}function overflowDetected(e){var t=e.style,o=t.wordBreak,t=t.whiteSpace,r=e.clientHeight,r=(e.style.wordBreak="break-all",e.style.whiteSpace="normal",r<e.clientHeight);return e.style.wordBreak=o,e.style.whiteSpace=t,r}export{DropdownExpandableTextField};