UNPKG

azure-devops-ui

Version:

React components for building web UI in Azure DevOps

1 lines 1.53 kB
import{__assign,__extends,__spreadArray}from"tslib";import"../../CommonImports";import"../../Core/core.css";import*as React from"react";import{ObservableArray,ObservableValue}from"../../Core/Observable";import{ResponsiveLayout}from"../../ResponsiveLayout";var ResizeGroupContext=React.createContext({}),ResizeGroup=function(r){function o(e){var t=r.call(this,e)||this,e=(t.onLayoutChange=function(e){t.state.hiddenCount.value=e,t.props.responsiveLayoutProps.onLayoutChange&&t.props.responsiveLayoutProps.onLayoutChange(e),o.updateOverflowItems(t.props,t.state)},t.props.extraItems||[]);return t.state={hiddenCount:new ObservableValue(0),overflowItems:new ObservableArray(__spreadArray([],e,!0)),editedItems:[]},t}return __extends(o,r),o.getDerivedStateFromProps=function(e,t){return o.updateOverflowItems(e,t),t},o.prototype.render=function(){return React.createElement(ResizeGroupContext.Provider,{value:{overflowItems:this.state.overflowItems}},React.createElement(ResponsiveLayout,__assign({},this.props.responsiveLayoutProps,{onLayoutChange:this.onLayoutChange}),this.props.children))},o.updateOverflowItems=function(e,t){var r=e.extraItems||[];t.overflowItems.value=__spreadArray(__spreadArray([],r,!0),e.overflowMenuItems.slice(0,t.hiddenCount.value),!0),e.useAriaLabelForOverflow&&(t.editedItems.forEach(function(e){return e.text=""}),t.editedItems=[],t.overflowItems.value.forEach(function(e){!e.text&&e.ariaLabel&&(e.text=e.ariaLabel,t.editedItems.push(e))}))},o}(React.Component);export{ResizeGroupContext,ResizeGroup};