{"version":3,"sources":["../../../../node_modules/.pnpm/@fluentui+react@8.48.0_@types+react-dom@17.0.22_@types+react@17.0.69_react-dom@17.0.1_react@17.0.1__react@17.0.1/node_modules/@fluentui/react/lib/utilities/positioning/positioning.types.js","../../../../node_modules/.pnpm/@fluentui+react@8.48.0_@types+react-dom@17.0.22_@types+react@17.0.69_react-dom@17.0.1_react@17.0.1__react@17.0.1/node_modules/@fluentui/react/lib/utilities/ButtonGrid/ButtonGridCell.js","../../../../node_modules/.pnpm/@fluentui+react@8.48.0_@types+react-dom@17.0.22_@types+react@17.0.69_react-dom@17.0.1_react@17.0.1__react@17.0.1/node_modules/@fluentui/react/lib/utilities/contextualMenu/contextualMenuUtility.js","../../../../node_modules/.pnpm/@fluentui+react@8.48.0_@types+react-dom@17.0.22_@types+react@17.0.69_react-dom@17.0.1_react@17.0.1__react@17.0.1/node_modules/@fluentui/react/lib/utilities/color/clamp.js","../../../../node_modules/.pnpm/@fluentui+react@8.48.0_@types+react-dom@17.0.22_@types+react@17.0.69_react-dom@17.0.1_react@17.0.1__react@17.0.1/node_modules/@fluentui/react/lib/utilities/color/hsv2rgb.js","../../../../node_modules/.pnpm/@fluentui+react@8.48.0_@types+react-dom@17.0.22_@types+react@17.0.69_react-dom@17.0.1_react@17.0.1__react@17.0.1/node_modules/@fluentui/react/lib/utilities/color/shades.js","../../../../node_modules/.pnpm/@fluentui+react@8.48.0_@types+react-dom@17.0.22_@types+react@17.0.69_react-dom@17.0.1_react@17.0.1__react@17.0.1/node_modules/@fluentui/react/lib/utilities/color/getColorFromRGBA.js","../../../../node_modules/.pnpm/@fluentui+react@8.48.0_@types+react-dom@17.0.22_@types+react@17.0.69_react-dom@17.0.1_react@17.0.1__react@17.0.1/node_modules/@fluentui/react/lib/utilities/MenuContext/MenuContext.js","../../../../node_modules/.pnpm/@fluentui+react@8.48.0_@types+react-dom@17.0.22_@types+react@17.0.69_react-dom@17.0.1_react@17.0.1__react@17.0.1/node_modules/@fluentui/react/lib/utilities/positioning/index.js","../../../../node_modules/.pnpm/@fluentui+react@8.48.0_@types+react-dom@17.0.22_@types+react@17.0.69_react-dom@17.0.1_react@17.0.1__react@17.0.1/node_modules/@fluentui/react/lib/utilities/keytips/KeytipManager.js","../../../../node_modules/.pnpm/@fluentui+react@8.48.0_@types+react-dom@17.0.22_@types+react@17.0.69_react-dom@17.0.1_react@17.0.1__react@17.0.1/node_modules/@fluentui/react/lib/utilities/selectableOption/SelectableOption.js","../../../../node_modules/.pnpm/@fluentui+react@8.48.0_@types+react-dom@17.0.22_@types+react@17.0.69_react-dom@17.0.1_react@17.0.1__react@17.0.1/node_modules/@fluentui/react/lib/utilities/decorators/withViewport.js","../../../../node_modules/.pnpm/@fluentui+react@8.48.0_@types+react-dom@17.0.22_@types+react@17.0.69_react-dom@17.0.1_react@17.0.1__react@17.0.1/node_modules/@fluentui/react/lib/utilities/color/updateA.js","../../../../node_modules/.pnpm/@fluentui+react@8.48.0_@types+react-dom@17.0.22_@types+react@17.0.69_react-dom@17.0.1_react@17.0.1__react@17.0.1/node_modules/@fluentui/react/lib/utilities/color/updateH.js","../../../../node_modules/.pnpm/@fluentui+react@8.48.0_@types+react-dom@17.0.22_@types+react@17.0.69_react-dom@17.0.1_react@17.0.1__react@17.0.1/node_modules/@fluentui/react/lib/utilities/color/hsv2hex.js","../../../../node_modules/.pnpm/@fluentui+react@8.48.0_@types+react-dom@17.0.22_@types+react@17.0.69_react-dom@17.0.1_react@17.0.1__react@17.0.1/node_modules/@fluentui/react/lib/utilities/dragdrop/DragDropHelper.js","../../../../node_modules/.pnpm/@fluentui+react@8.48.0_@types+react-dom@17.0.22_@types+react@17.0.69_react-dom@17.0.1_react@17.0.1__react@17.0.1/node_modules/@fluentui/react/lib/utilities/ButtonGrid/ButtonGrid.base.js","../../../../node_modules/.pnpm/@fluentui+react@8.48.0_@types+react-dom@17.0.22_@types+react@17.0.69_react-dom@17.0.1_react@17.0.1__react@17.0.1/node_modules/@fluentui/react/lib/utilities/ButtonGrid/ButtonGrid.js","../../../../node_modules/.pnpm/@fluentui+react@8.48.0_@types+react-dom@17.0.22_@types+react@17.0.69_react-dom@17.0.1_react@17.0.1__react@17.0.1/node_modules/@fluentui/react/lib/utilities/ButtonGrid/ButtonGrid.styles.js","../../../../node_modules/.pnpm/@fluentui+react@8.48.0_@types+react-dom@17.0.22_@types+react@17.0.69_react-dom@17.0.1_react@17.0.1__react@17.0.1/node_modules/@fluentui/react/lib/utilities/selectableOption/index.js","../../../../node_modules/.pnpm/@fluentui+react@8.48.0_@types+react-dom@17.0.22_@types+react@17.0.69_react-dom@17.0.1_react@17.0.1__react@17.0.1/node_modules/@fluentui/react/lib/utilities/selectableOption/SelectableOption.types.js","../../../../node_modules/.pnpm/@fluentui+react@8.48.0_@types+react-dom@17.0.22_@types+react@17.0.69_react-dom@17.0.1_react@17.0.1__react@17.0.1/node_modules/@fluentui/react/lib/utilities/color/consts.js","../../../../node_modules/.pnpm/@fluentui+react@8.48.0_@types+react-dom@17.0.22_@types+react@17.0.69_react-dom@17.0.1_react@17.0.1__react@17.0.1/node_modules/@fluentui/react/lib/utilities/positioning/positioning.js","../../../../node_modules/.pnpm/@fluentui+react@8.48.0_@types+react-dom@17.0.22_@types+react@17.0.69_react-dom@17.0.1_react@17.0.1__react@17.0.1/node_modules/@fluentui/react/lib/utilities/color/rgb2hsv.js","../../../../node_modules/.pnpm/@fluentui+react@8.48.0_@types+react-dom@17.0.22_@types+react@17.0.69_react-dom@17.0.1_react@17.0.1__react@17.0.1/node_modules/@fluentui/react/lib/utilities/color/updateSV.js","../../../../node_modules/.pnpm/@fluentui+react@8.48.0_@types+react-dom@17.0.22_@types+react@17.0.69_react-dom@17.0.1_react@17.0.1__react@17.0.1/node_modules/@fluentui/react/lib/utilities/decorators/withResponsiveMode.js","../../../../node_modules/.pnpm/@fluentui+react@8.48.0_@types+react-dom@17.0.22_@types+react@17.0.69_react-dom@17.0.1_react@17.0.1__react@17.0.1/node_modules/@fluentui/react/lib/utilities/color/hsl2rgb.js","../../../../node_modules/.pnpm/@fluentui+react@8.48.0_@types+react-dom@17.0.22_@types+react@17.0.69_react-dom@17.0.1_react@17.0.1__react@17.0.1/node_modules/@fluentui/react/lib/utilities/keytips/KeytipUtils.js","../../../../node_modules/.pnpm/@fluentui+react@8.48.0_@types+react-dom@17.0.22_@types+react@17.0.69_react-dom@17.0.1_react@17.0.1__react@17.0.1/node_modules/@fluentui/react/lib/utilities/keytips/IKeytipTransitionKey.js","../../../../node_modules/.pnpm/@fluentui+react@8.48.0_@types+react-dom@17.0.22_@types+react@17.0.69_react-dom@17.0.1_react@17.0.1__react@17.0.1/node_modules/@fluentui/react/lib/utilities/color/getColorFromString.js","../../../../node_modules/.pnpm/@fluentui+react@8.48.0_@types+react-dom@17.0.22_@types+react@17.0.69_react-dom@17.0.1_react@17.0.1__react@17.0.1/node_modules/@fluentui/react/lib/version.js","../../../../node_modules/.pnpm/@fluentui+react@8.48.0_@types+react-dom@17.0.22_@types+react@17.0.69_react-dom@17.0.1_react@17.0.1__react@17.0.1/node_modules/@fluentui/react/lib/utilities/color/cssColor.js","../../../../node_modules/.pnpm/@fluentui+react@8.48.0_@types+react-dom@17.0.22_@types+react@17.0.69_react-dom@17.0.1_react@17.0.1__react@17.0.1/node_modules/@fluentui/react/lib/utilities/ButtonGrid/index.js","../../../../node_modules/.pnpm/@fluentui+react@8.48.0_@types+react-dom@17.0.22_@types+react@17.0.69_react-dom@17.0.1_react@17.0.1__react@17.0.1/node_modules/@fluentui/react/lib/utilities/color/correctRGB.js","../../../../node_modules/.pnpm/@fluentui+react@8.48.0_@types+react-dom@17.0.22_@types+react@17.0.69_react-dom@17.0.1_react@17.0.1__react@17.0.1/node_modules/@fluentui/react/lib/utilities/selection/SelectionZone.js","../../../../node_modules/.pnpm/@fluentui+react@8.48.0_@types+react-dom@17.0.22_@types+react@17.0.69_react-dom@17.0.1_react@17.0.1__react@17.0.1/node_modules/@fluentui/react/lib/utilities/color/updateT.js","../../../../node_modules/.pnpm/@fluentui+react@8.48.0_@types+react-dom@17.0.22_@types+react@17.0.69_react-dom@17.0.1_react@17.0.1__react@17.0.1/node_modules/@fluentui/react/lib/utilities/useOverflow.js","../../../../node_modules/.pnpm/@fluentui+react@8.48.0_@types+react-dom@17.0.22_@types+react@17.0.69_react-dom@17.0.1_react@17.0.1__react@17.0.1/node_modules/@fluentui/react/lib/utilities/observeResize.js","../../../../node_modules/.pnpm/@fluentui+react@8.48.0_@types+react-dom@17.0.22_@types+react@17.0.69_react-dom@17.0.1_react@17.0.1__react@17.0.1/node_modules/@fluentui/react/lib/utilities/keytips/KeytipConstants.js","../../../../node_modules/.pnpm/@fluentui+react@8.48.0_@types+react-dom@17.0.22_@types+react@17.0.69_react-dom@17.0.1_react@17.0.1__react@17.0.1/node_modules/@fluentui/react/lib/utilities/dragdrop/index.js","../../../../node_modules/.pnpm/@fluentui+react@8.48.0_@types+react-dom@17.0.22_@types+react@17.0.69_react-dom@17.0.1_react@17.0.1__react@17.0.1/node_modules/@fluentui/react/lib/utilities/selection/interfaces.js","../../../../node_modules/.pnpm/@fluentui+react@8.48.0_@types+react-dom@17.0.22_@types+react@17.0.69_react-dom@17.0.1_react@17.0.1__react@17.0.1/node_modules/@fluentui/react/lib/utilities/color/getFullColorString.js","../../../../node_modules/.pnpm/@fluentui+react@8.48.0_@types+react-dom@17.0.22_@types+react@17.0.69_react-dom@17.0.1_react@17.0.1__react@17.0.1/node_modules/@fluentui/react/lib/utilities/keytips/KeytipConfig.js","../../../../node_modules/.pnpm/@fluentui+react@8.48.0_@types+react-dom@17.0.22_@types+react@17.0.69_react-dom@17.0.1_react@17.0.1__react@17.0.1/node_modules/@fluentui/react/lib/utilities/color/getColorFromHSV.js","../../../../node_modules/.pnpm/@fluentui+react@8.48.0_@types+react-dom@17.0.22_@types+react@17.0.69_react-dom@17.0.1_react@17.0.1__react@17.0.1/node_modules/@fluentui/react/lib/utilities/color/updateRGB.js","../../../../node_modules/.pnpm/@fluentui+react@8.48.0_@types+react-dom@17.0.22_@types+react@17.0.69_react-dom@17.0.1_react@17.0.1__react@17.0.1/node_modules/@fluentui/react/lib/utilities/color/correctHSV.js","../../../../node_modules/.pnpm/@fluentui+react@8.48.0_@types+react-dom@17.0.22_@types+react@17.0.69_react-dom@17.0.1_react@17.0.1__react@17.0.1/node_modules/@fluentui/react/lib/utilities/color/hsl2hsv.js","../../../../node_modules/.pnpm/@fluentui+react@8.48.0_@types+react-dom@17.0.22_@types+react@17.0.69_react-dom@17.0.1_react@17.0.1__react@17.0.1/node_modules/@fluentui/react/lib/utilities/color/correctHex.js","../../../../node_modules/.pnpm/@fluentui+react@8.48.0_@types+react-dom@17.0.22_@types+react@17.0.69_react-dom@17.0.1_react@17.0.1__react@17.0.1/node_modules/@fluentui/react/lib/utilities/hooks/useResponsiveMode.js","../../../../node_modules/.pnpm/@fluentui+react@8.48.0_@types+react-dom@17.0.22_@types+react@17.0.69_react-dom@17.0.1_react@17.0.1__react@17.0.1/node_modules/@fluentui/react/lib/utilities/DraggableZone/DraggableZone.styles.js","../../../../node_modules/.pnpm/@fluentui+react@8.48.0_@types+react-dom@17.0.22_@types+react@17.0.69_react-dom@17.0.1_react@17.0.1__react@17.0.1/node_modules/@fluentui/react/lib/utilities/DraggableZone/DraggableZone.js","../../../../node_modules/.pnpm/@fluentui+react@8.48.0_@types+react-dom@17.0.22_@types+react@17.0.69_react-dom@17.0.1_react@17.0.1__react@17.0.1/node_modules/@fluentui/react/lib/utilities/decorators/BaseDecorator.js","../../../../node_modules/.pnpm/@fluentui+react@8.48.0_@types+react-dom@17.0.22_@types+react@17.0.69_react-dom@17.0.1_react@17.0.1__react@17.0.1/node_modules/@fluentui/react/lib/utilities/ThemeProvider/ThemeContext.js","../../../../node_modules/.pnpm/@fluentui+react@8.48.0_@types+react-dom@17.0.22_@types+react@17.0.69_react-dom@17.0.1_react@17.0.1__react@17.0.1/node_modules/@fluentui/react/lib/utilities/ThemeProvider/useTheme.js","../../../../node_modules/.pnpm/@fluentui+react@8.48.0_@types+react-dom@17.0.22_@types+react@17.0.69_react-dom@17.0.1_react@17.0.1__react@17.0.1/node_modules/@fluentui/react/lib/utilities/ThemeProvider/styleRenderers/mergeStylesRenderer.js","../../../../node_modules/.pnpm/@fluentui+react@8.48.0_@types+react-dom@17.0.22_@types+react@17.0.69_react-dom@17.0.1_react@17.0.1__react@17.0.1/node_modules/@fluentui/react/lib/utilities/ThemeProvider/makeStyles.js","../../../../node_modules/.pnpm/@fluentui+react@8.48.0_@types+react-dom@17.0.22_@types+react@17.0.69_react-dom@17.0.1_react@17.0.1__react@17.0.1/node_modules/@fluentui/react/lib/utilities/ThemeProvider/useThemeProviderClasses.js","../../../../node_modules/.pnpm/@fluentui+react@8.48.0_@types+react-dom@17.0.22_@types+react@17.0.69_react-dom@17.0.1_react@17.0.1__react@17.0.1/node_modules/@fluentui/react/lib/utilities/ThemeProvider/renderThemeProvider.js","../../../../node_modules/.pnpm/@fluentui+react@8.48.0_@types+react-dom@17.0.22_@types+react@17.0.69_react-dom@17.0.1_react@17.0.1__react@17.0.1/node_modules/@fluentui/react/lib/utilities/ThemeProvider/useThemeProviderState.js","../../../../node_modules/.pnpm/@fluentui+react@8.48.0_@types+react-dom@17.0.22_@types+react@17.0.69_react-dom@17.0.1_react@17.0.1__react@17.0.1/node_modules/@fluentui/react/lib/utilities/ThemeProvider/ThemeProvider.js","../../../../node_modules/.pnpm/@fluentui+react@8.48.0_@types+react-dom@17.0.22_@types+react@17.0.69_react-dom@17.0.1_react@17.0.1__react@17.0.1/node_modules/@fluentui/react/lib/utilities/ThemeProvider/useThemeProvider.js","../../../../node_modules/.pnpm/@fluentui+react@8.48.0_@types+react-dom@17.0.22_@types+react@17.0.69_react-dom@17.0.1_react@17.0.1__react@17.0.1/node_modules/@fluentui/react/lib/utilities/color/hsv2hsl.js","../../../../node_modules/.pnpm/@fluentui+react@8.48.0_@types+react-dom@17.0.22_@types+react@17.0.69_react-dom@17.0.1_react@17.0.1__react@17.0.1/node_modules/@fluentui/react/lib/utilities/color/_rgbaOrHexString.js","../../../../node_modules/.pnpm/@fluentui+react@8.48.0_@types+react-dom@17.0.22_@types+react@17.0.69_react-dom@17.0.1_react@17.0.1__react@17.0.1/node_modules/@fluentui/react/lib/utilities/groupedList/GroupedListUtility.js","../../../../node_modules/.pnpm/@fluentui+react@8.48.0_@types+react-dom@17.0.22_@types+react@17.0.69_react-dom@17.0.1_react@17.0.1__react@17.0.1/node_modules/@fluentui/react/lib/utilities/color/rgb2hex.js"],"names":["RectangleEdge","Position","__webpack_require__","d","__webpack_exports__","ButtonGridCell","react__WEBPACK_IMPORTED_MODULE_0__","_Utilities__WEBPACK_IMPORTED_MODULE_1__","_Button__WEBPACK_IMPORTED_MODULE_2__","_fluentui_react_hooks__WEBPACK_IMPORTED_MODULE_3__","props","_a","defaultId","Object","item","_b","id","className","role","selected","_c","disabled","onRenderItem","cellDisabledStyle","cellIsSelectedStyle","index","label","getClassNames","onClick","onHover","onMouseMove","onMouseLeave","onMouseEnter","onFocus","handleClick","handleMouseEnter","ev","handleMouseMove","handleMouseLeave","handleFocus","data-index","data-is-focusable","aria-selected","ariaLabel","title","getIsChecked","canCheck","isChecked","checked","hasSubmenu","subMenuProps","items","isItemDisabled","isDisabled","getMenuItemAriaRole","clamp","value","max","min","hsv2rgb","_consts__WEBPACK_IMPORTED_MODULE_0__","h","s","v","rgb","c","hh","x","Math","abs","m","floor","r","round","g","b","Shade","isValidShade","isDark","getShade","getBackgroundShade","getContrastRatio","_clamp__WEBPACK_IMPORTED_MODULE_2__","_getColorFromRGBA__WEBPACK_IMPORTED_MODULE_3__","_hsv2hsl__WEBPACK_IMPORTED_MODULE_4__","_hsv2rgb__WEBPACK_IMPORTED_MODULE_5__","WhiteShadeTableBG","BlackTintTableBG","WhiteShadeTable","BlackTintTable","LumTintTable","LumShadeTable","ColorTintTable","ColorShadeTable","LowLuminanceThreshold","HighLuminanceThreshold","shade","Unshaded","Shade8","_darken","hsv","factor","_lighten","color","l","isInverted","hsl","tableIndex","_soften","_strongen","_isWhite","_isBlack","length","a","color1","color2","_getThing","pow","L1","L2","getColorFromRGBA","_rgb2hsv__WEBPACK_IMPORTED_MODULE_1__","_rgb2hex__WEBPACK_IMPORTED_MODULE_2__","_rgbaOrHexString__WEBPACK_IMPORTED_MODULE_3__","rgba","hex","str","t","MenuContext","_positioning__WEBPACK_IMPORTED_MODULE_0__","_positioning_types__WEBPACK_IMPORTED_MODULE_1__","KeytipManager","tslib__WEBPACK_IMPORTED_MODULE_0__","_Utilities__WEBPACK_IMPORTED_MODULE_2__","_utilities_keytips_KeytipConstants__WEBPACK_IMPORTED_MODULE_3__","this","keytips","persistedKeytips","sequenceMapping","inKeytipMode","shouldEnterKeytipMode","delayUpdatingKeytipChange","getInstance","_instance","prototype","init","register","keytipProps","persisted","addParentOverflow","keySequences","toString","uniqueKeytip","_getUniqueKtp","uniqueID","event_1","PERSISTED_KEYTIP_ADDED","KEYTIP_ADDED","raise","keytip","update","newKeytipProps","oldKeyTip","visible","KEYTIP_UPDATED","unregister","keytipToRemove","event","PERSISTED_KEYTIP_REMOVED","KEYTIP_REMOVED","enterKeytipMode","ENTER_KEYTIP_MODE","exitKeytipMode","EXIT_KEYTIP_MODE","getKeytips","_this","keys","map","key","fullSequence","pop","parentKeytip","overflowSetSequence","menuExecute","overflowButtonSequences","keytipSequences","PERSISTED_KEYTIP_EXECUTE","getAllSelectedOptions","options","selectedIndices","selectedOptions","_i","selectedIndices_1","option","push","withViewport","react__WEBPACK_IMPORTED_MODULE_1__","_BaseDecorator__WEBPACK_IMPORTED_MODULE_2__","_Utilities__WEBPACK_IMPORTED_MODULE_3__","_Utilities__WEBPACK_IMPORTED_MODULE_4__","_Utilities__WEBPACK_IMPORTED_MODULE_5__","_Utilities__WEBPACK_IMPORTED_MODULE_6__","_Utilities__WEBPACK_IMPORTED_MODULE_7__","RESIZE_DELAY","MAX_RESIZE_ATTEMPTS","ComposedComponent","_super","WithViewportComponent","call","_root","_registerResizeObserver","win","current","_viewportResizeObserver","ResizeObserver","_onAsyncResize","observe","_unregisterResizeObserver","disconnect","_updateViewport","withForceUpdate","viewport","state","viewportElement","scrollElement","scrollRect","clientRect","width","height","_resizeAttempts","setState","_composedComponentInstance","forceUpdate","_async","_events","componentDidMount","delayFirstMeasure","disableResizeObserver","skipViewportMeasures","debounce","leading","_isResizeObserverAvailable","on","setTimeout","componentDidUpdate","previousProps","previousSkipViewportMeasures","off","componentWillUnmount","dispose","render","newViewport","undefined","ref","style","minWidth","minHeight","_updateComposedComponentRef","updateA","_rgbaOrHexString__WEBPACK_IMPORTED_MODULE_1__","_consts__WEBPACK_IMPORTED_MODULE_2__","updateH","_hsv2rgb__WEBPACK_IMPORTED_MODULE_1__","hsv2hex","_hsv2rgb__WEBPACK_IMPORTED_MODULE_0__","_rgb2hex__WEBPACK_IMPORTED_MODULE_1__","DragDropHelper","_Utilities__WEBPACK_IMPORTED_MODULE_0__","params","_selection","selection","_dragEnterCounts","_activeTargets","_lastId","_initialized","subscribe","root","events","dragDropOptions","doc","body","_onMouseUp","bind","_onDocumentMouseUp","onDragStart","onDragLeave","onDragEnter","onDragEnd","onDrop","onDragOver","onMouseDown","isDraggable","isDroppable","activeTarget","handlers","eventMap","context","updateDropState_1","updateDropState","dragDropTarget","_isDraggable","_isDroppable","eventMap_1","handler","callback","eventName","isHandled","preventDefault","data","_onMouseDown","_onDragEnd","getSelection","_isDragging","dataTransfer","setData","target","handlers_1","unsubscribe","_dragData","dropTarget","documentElement","_onMouseMove","buttons","_isChild","_onMouseLeave","button","clientX","clientY","eventTarget","dragTarget","parentElement","childElement","canDrag","dragContext","canDrop","classNamesFunction","ButtonGridBase","react","forwardedRef","useId","columnCount","ariaPosInSet","positionInSet","ariaSetSize","setSize","styles","doNotContainWithinFocusZone","htmlProps","properties","classNames","theme","rowsOfItems","array","content","tslib_es6","aria-posinset","aria-setsize","rows","rowIndex","cell","cellIndex","tableCell","FocusZone","elementRef","isCircularNavigation","shouldFocusCircularNavigate","focusedContainer","onBlur","ButtonGrid","styled","padding","outline","displayName","_SelectableOption__WEBPACK_IMPORTED_MODULE_0__","_SelectableOption_types__WEBPACK_IMPORTED_MODULE_1__","SelectableOptionMenuItemType","MAX_COLOR_SATURATION","MAX_COLOR_HUE","MAX_COLOR_VALUE","MAX_COLOR_RGB","MAX_COLOR_RGBA","MAX_COLOR_ALPHA","MIN_HEX_LENGTH","MAX_HEX_LENGTH","MIN_RGBA_LENGTH","MAX_RGBA_LENGTH","HEX_REGEX","RGBA_REGEX","positionElement","positionCallout","positionCard","getMaxHeight","getOppositeEdge","getBoundsFromTargetWindow","_common_DirectionalHint__WEBPACK_IMPORTED_MODULE_1__","_positioning_types__WEBPACK_IMPORTED_MODULE_4__","_createPositionData","targetEdge","alignmentEdge","isAuto","DirectionalDictionary","topLeftEdge","top","left","topCenter","topRightEdge","right","topAutoEdge","bottomLeftEdge","bottom","bottomCenter","bottomRightEdge","bottomAutoEdge","leftTopEdge","leftCenter","leftBottomEdge","rightTopEdge","rightCenter","rightBottomEdge","_isRectangleWithinBounds","rect","boundingRect","_getOutOfBoundsEdges","outOfBounds","_getEdgeValue","edge","_setEdgeValue","_getCenterValue","edges","_getFlankingEdges","positiveEdge","negativeEdge","_getRelativeEdgeValue","_getRelativeRectEdgeValue","_getRelativeEdgeDifference","hostRect","_moveEdge","newValue","maintainSize","difference","returnRect","_alignEdges","gap","_isEdgeInBounds","bounds","_getOutOfBoundsDegree","total","breakingEdges_1","_adjustFitWithinBounds","element","bounding","positionData","directionalHintFixed","coverTarget","alignTargetEdge","elementEstimate","elementRectangle","directions","oobDegree","currentEstimate","currentEdge","currentAlignment","bestEdge","bestAlignment","i","currentOOBDegree","splice","indexOf","slice","_estimatePosition","_flipToFit","fixedEdge","flippedElementEstimate","oppositeEdge","_flipAlignmentEdge","_alignOutOfBoundsEdges","outOfBoundsEdges","preserveEdge","outOfBoundsEdges_1","direction","edgeAttempt","forcedInBounds","_centerEdgeToPoint","point","elementToPosition","estimatedElementPosition","elementEdge","adjustedGap","_alignOppositeEdges","_finalizeReturnEdge","returnEdge","_finalizeElementPosition","hostElement","doNotFinalizeReturnEdge","forceWithinBounds","returnValue","_getRectangleFromElement","_isEdgeOnBounds","_calculateActualBeakWidthInPixels","beakWidth","sqrt","_getPositionData","directionalHint","directionalHintForRTL","previousPositions","positionInformation","getClosestEdge","targetCenter","boundingCenter","_positionElementWithinBounds","_finalizeBeakPosition","elementPosition","positionedBeak","actualElement","showBeak","targetRectangle","closestEdge","hideBeak","_positionBeak","beakTargetPoint","elementBounds","beakPosition","getBoundingClientRect","_getRectangleFromIRect","_getMaxHeightFromTargetRectangle","gapSpace","maxHeight","_positionElementRelative","targetRect","rectOrPoint","top_1","y","outOfBounds_1","_getTargetRect","_getAlignmentData","positionedElement","_finalizePositionData","_positionCallout","callout","isBeakVisible","positionProps","window","innerWidth","innerHeight","finalizedBeakPosition","_positionElement","_positionCard","mouseTarget","elementTarget","rectOrPointTarget","boundingRectangle","stopPropagation","targetWindow","segments","getWindowSegments","segments_1","segment","_getBoundsFromTargetWindow","rgb2hsv","NaN","delta","updateSV","ResponsiveMode","setResponsiveMode","initializeResponsiveMode","getInitialResponsiveMode","withResponsiveMode","getResponsiveMode","_WindowProvider__WEBPACK_IMPORTED_MODULE_6__","_defaultMode","_lastMode","RESPONSIVE_MAX_CONSTRAINT","responsiveMode","currentWindow","large","resultClass","WithResponsiveMode","_onResize","unknown","contextType","small","e","Error","hsl2rgb","_hsl2hsv__WEBPACK_IMPORTED_MODULE_0__","sequencesToID","mergeOverflows","ktpTargetFromSequences","ktpTargetFromId","getAriaDescribedBy","_KeytipConstants__WEBPACK_IMPORTED_MODULE_1__","reduce","prevValue","keySequence","split","join","overflowKeySequences","overflowSequenceLen","overflowSequence","newKeySequences","keytipId","describedby","transitionKeysAreEqual","transitionKeysContain","key1","key2","mod1","modifierKeys","mod2","sort","transitionKey","getColorFromString","_cssColor__WEBPACK_IMPORTED_MODULE_1__","_getColorFromRGBA__WEBPACK_IMPORTED_MODULE_2__","inputColor","_fluentui_set_version__WEBPACK_IMPORTED_MODULE_0__","cssColor","_hsl2rgb__WEBPACK_IMPORTED_MODULE_1__","easyColor","_rgba","test","parseInt","_hex6","_hex3","match","hasAlpha","expectedPartCount","parts","Number","_hsla","document","elem","createElement","backgroundColor","position","appendChild","eComputedStyle","getComputedStyle","computedColor","removeChild","trim","_browserCompute","_ButtonGrid__WEBPACK_IMPORTED_MODULE_0__","_ButtonGridCell__WEBPACK_IMPORTED_MODULE_1__","correctRGB","_clamp__WEBPACK_IMPORTED_MODULE_1__","SelectionZone","_Utilities__WEBPACK_IMPORTED_MODULE_8__","_Utilities__WEBPACK_IMPORTED_MODULE_9__","_Utilities__WEBPACK_IMPORTED_MODULE_10__","_Utilities__WEBPACK_IMPORTED_MODULE_11__","_Utilities__WEBPACK_IMPORTED_MODULE_12__","_Utilities__WEBPACK_IMPORTED_MODULE_13__","_interfaces__WEBPACK_IMPORTED_MODULE_14__","SELECTION_TOGGLE_ATTRIBUTE_NAME","SELECTION_INVOKE_ATTRIBUTE_NAME","SELECTION_INVOKE_TOUCH_ATTRIBUTE_NAME","SELECTALL_TOGGLE_ALL_ATTRIBUTE_NAME","ignoreNextFocus","_handleNextFocus","_onSelectionChange","isModal","_onMouseDownCapture","activeElement","_hasAttribute","_onFocus","isToggleModifierPressed","_isCtrlPressed","_isMetaPressed","selectionMode","_getSelectionMode","_shouldHandleFocus","none","isToggle","itemRoot","_findItemRoot","_getItemIndex","setIndexSelected","isIndexSelected","enterModalOnTouch","_isTouch","setModal","_setIsTouch","isSelectedOnFocus","_onItemSurfaceClick","_updateModifiers","_isSelectionDisabled","_shouldAutoSelect","_isShiftPressed","_onInvokeMouseDown","disableAutoSelectOnInputElements","tagName","_onTouchStartCapture","_onClick","enableTouchInvocationTarget","isSelectionDisabled","_onToggleAllClick","_onToggleClick","_onInvokeClick","_onContextMenu","onItemContextMenu","getItems","nativeEvent","_onDoubleClick","onItemInvoked","_isInputElement","_onKeyDownCapture","_onKeyDown","isSelectAllKey","which","isClearSelectionKey","escape","multiple","isAllSelected","setAllSelected","getSelectedCount","enter","space","getDerivedStateFromProps","nextProps","prevState","_findScrollParentAndTryClearOnEmptyClick","ms-SelectionZone--modal","onKeyDown","onKeyDownCapture","onDoubleClick","onContextMenu","onMouseDownCapture","onFocusCapture","data-selection-is-modal","children","toggleAllSelected","setChangeEvents","toggleIndexSelected","single","isSelected","_isTabPressed","selectToIndex","_clearAndSelectIndex","scrollParent","_tryClearOnEmptyClick","Node","contains","selectionPreservedOnEmptyClick","_isNonHandledClick","shiftKey","ctrlKey","metaKey","keyCode","tab","indexValue","getAttribute","attributeName","_shouldHandleFocusTimeoutId","clearTimeout","isTouch","_isTouchTimeoutId","mode","defaultProps","updateT","useOverflow","onOverflowItemsChanged","rtl","pinnedIndex","updateOverflowRef","containerWidthRef","containerRef","useRefEffect","container","cleanupObserver","onResize","observer_1","Array","isArray","forEach","onResizeWrapper_1","win_1","getWindow","animationFrameId_1","requestAnimationFrame","addEventListener","cancelAnimationFrame","removeEventListener","observeResize","entries","contentRect","clientWidth","menuButtonRef","menuButton","HTMLElement","minContainerWidth","extraWidth","containerWidth","itemOffsetEnd","offsetLeft","offsetWidth","setOverflowIndex","prevOverflowIndex","overflowIndex","ele","isOverflowing","KTP_PREFIX","KTP_SEPARATOR","KTP_FULL_PREFIX","DATAKTP_TARGET","DATAKTP_EXECUTE_TARGET","DATAKTP_ARIA_TARGET","KTP_LAYER_ID","KTP_ARIA_SEPARATOR","KeytipEvents","_DragDropHelper__WEBPACK_IMPORTED_MODULE_0__","_fluentui_utilities__WEBPACK_IMPORTED_MODULE_0__","getFullColorString","_hsv2hex__WEBPACK_IMPORTED_MODULE_1__","buildKeytipConfigMap","config","configMap","constructKeytip","parentSequence","sequence","toLocaleLowerCase","keytipSequence","concat","optionalProps","getColorFromHSV","consts","_rgbaOrHexString","updateRGB","component","correctHSV","hsl2hsv","correctHex","substring","useResponsiveMode","_fluentui_utilities__WEBPACK_IMPORTED_MODULE_1__","_fluentui_react_hooks__WEBPACK_IMPORTED_MODULE_2__","_decorators_withResponsiveMode__WEBPACK_IMPORTED_MODULE_3__","_WindowProvider__WEBPACK_IMPORTED_MODULE_4__","overrideResponsiveMode","lastResponsiveMode","setLastResponsiveMode","newResponsiveMode","memoize","isDragging","lib","touchAction","selectors","& *","userSelect","eventMapping","touch","start","move","stop","mouse","DraggableZone_DraggableZone","DraggableZone","_currentEventType","only","_onDragStart","onMouseUp","_onDragStop","_onTouchStart","onTouchStart","_onTouchEnd","onTouchEnd","handleSelector","_matchesSelector","preventDragSelector","_touchId","_getTouchId","_getControlPosition","dragData","_createDragDataFromPosition","onStart","lastPosition","_onDrag","type","updatedData","_createUpdatedDragData","updatedPosition","onDragChange","baseDragData","onStop","prevProps","child","statePosition","transform","touchObj","_getActiveTouch","eventToGetOffset","targetTouches","_findTouchInTouchList","changedTouches","identifier","selector","matchesSelectorFn","matches","webkitMatchesSelector","msMatchesSelector","touchList","BaseDecorator","composedComponentInstance","_hoisted","ThemeContext","useTheme","legacyTheme","useCustomizationSettings","createTheme","_seed","mergeStylesRenderer","reset","Stylesheet","onReset","getId","renderStyles","styleSet","mergeStyleSets","renderFontFace","fontFace","lib_fontFace","renderKeyframes","keyframes","lib_keyframes","graphGet","graphNode","path","path_1","get","graphSet","Map","set","makeStyles","styleOrFunction","graph","WindowProvider","contextualTheme","isStyleFunction","useThemeProviderStyles","semanticColors","fonts","bodyText","background","bodyBackground","fontFamily","medium","fontWeight","fontSize","MozOsxFontSmoothing","WebkitFontSmoothing","useThemeProviderClasses","classes","applyTo","classesToApply","applyToBody","classesToApply_1","classToApply","classList","add","classesToApply_2","remove","useApplyClassToBody","css","renderThemeProvider","customizerContext","Root","as","rootProps","getNativeElementProps","object","Provider","CustomizerContext","themeToIdMap","useThemeProviderState","draftState","userTheme","parentTheme","mergedTheme","mergeThemes","themes","arguments","ids","themes_1","getThemeId","customizations","inCustomizerContext","settings","scopedSettings","components","dir","ThemeProvider","getPropsWithDefaults","useThemeProvider","useMergedRefs","useFocusRects","hsv2hsl","sl","GetGroupCount","groups","remainingGroups","currentGroup","apply","rgb2hex","_rgbToPaddedHex","num"],"mappings":"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","file":"static/js/vendor.initial~d0cff53e.97bdc79a.chunk.js","sourcesContent":["export var RectangleEdge;\n(function (RectangleEdge) {\n RectangleEdge[RectangleEdge[\"top\"] = 1] = \"top\";\n RectangleEdge[RectangleEdge[\"bottom\"] = -1] = \"bottom\";\n RectangleEdge[RectangleEdge[\"left\"] = 2] = \"left\";\n RectangleEdge[RectangleEdge[\"right\"] = -2] = \"right\";\n})(RectangleEdge || (RectangleEdge = {}));\nexport var Position;\n(function (Position) {\n Position[Position[\"top\"] = 0] = \"top\";\n Position[Position[\"bottom\"] = 1] = \"bottom\";\n Position[Position[\"start\"] = 2] = \"start\";\n Position[Position[\"end\"] = 3] = \"end\";\n})(Position || (Position = {}));\n//# sourceMappingURL=positioning.types.js.map","import * as React from 'react';\nimport { css } from '../../Utilities';\nimport { CommandButton } from '../../Button';\nimport { useId } from '@fluentui/react-hooks';\nexport var ButtonGridCell = function (props) {\n var _a;\n var defaultId = useId('gridCell');\n var item = props.item, _b = props.id, id = _b === void 0 ? defaultId : _b, className = props.className, role = props.role, selected = props.selected, _c = props.disabled, disabled = _c === void 0 ? false : _c, onRenderItem = props.onRenderItem, cellDisabledStyle = props.cellDisabledStyle, cellIsSelectedStyle = props.cellIsSelectedStyle, index = props.index, label = props.label, getClassNames = props.getClassNames, onClick = props.onClick, onHover = props.onHover, onMouseMove = props.onMouseMove, onMouseLeave = props.onMouseLeave, onMouseEnter = props.onMouseEnter, onFocus = props.onFocus;\n var handleClick = React.useCallback(function () {\n if (onClick && !disabled) {\n onClick(item);\n }\n }, [disabled, item, onClick]);\n var handleMouseEnter = React.useCallback(function (ev) {\n var didUpdateOnEnter = onMouseEnter && onMouseEnter(ev);\n if (!didUpdateOnEnter && onHover && !disabled) {\n onHover(item);\n }\n }, [disabled, item, onHover, onMouseEnter]);\n var handleMouseMove = React.useCallback(function (ev) {\n var didUpdateOnMove = onMouseMove && onMouseMove(ev);\n if (!didUpdateOnMove && onHover && !disabled) {\n onHover(item);\n }\n }, [disabled, item, onHover, onMouseMove]);\n var handleMouseLeave = React.useCallback(function (ev) {\n var didUpdateOnLeave = onMouseLeave && onMouseLeave(ev);\n if (!didUpdateOnLeave && onHover && !disabled) {\n onHover();\n }\n }, [disabled, onHover, onMouseLeave]);\n var handleFocus = React.useCallback(function () {\n if (onFocus && !disabled) {\n onFocus(item);\n }\n }, [disabled, item, onFocus]);\n return (React.createElement(CommandButton, { id: id, \"data-index\": index, \"data-is-focusable\": true, disabled: disabled, className: css(className, (_a = {},\n _a['' + cellIsSelectedStyle] = selected,\n _a['' + cellDisabledStyle] = disabled,\n _a)), onClick: handleClick, onMouseEnter: handleMouseEnter, onMouseMove: handleMouseMove, onMouseLeave: handleMouseLeave, onFocus: handleFocus, role: role, \"aria-selected\": selected, ariaLabel: label, title: label, getClassNames: getClassNames }, onRenderItem(item)));\n};\n//# sourceMappingURL=ButtonGridCell.js.map","/**\n * Determines the effective checked state of a menu item.\n *\n * @param item {IContextualMenuItem} to get the check state of.\n * @returns {true} if the item is checked.\n * @returns {false} if the item is unchecked.\n * @returns {null} if the item is not checkable.\n */\nexport function getIsChecked(item) {\n if (item.canCheck) {\n return !!(item.isChecked || item.checked);\n }\n if (typeof item.isChecked === 'boolean') {\n return item.isChecked;\n }\n if (typeof item.checked === 'boolean') {\n return item.checked;\n }\n // Item is not checkable.\n return null;\n}\nexport function hasSubmenu(item) {\n // eslint-disable-next-line deprecation/deprecation\n return !!(item.subMenuProps || item.items);\n}\nexport function isItemDisabled(item) {\n return !!(item.isDisabled || item.disabled);\n}\nexport function getMenuItemAriaRole(item) {\n var isChecked = getIsChecked(item);\n var canCheck = isChecked !== null;\n return canCheck ? 'menuitemcheckbox' : 'menuitem';\n}\n//# sourceMappingURL=contextualMenuUtility.js.map","/** Clamp a value to ensure it falls within a given range. */\nexport function clamp(value, max, min) {\n if (min === void 0) { min = 0; }\n return value < min ? min : value > max ? max : value;\n}\n//# sourceMappingURL=clamp.js.map","import { MAX_COLOR_RGB } from './consts';\n/** Converts HSV components to an RGB color. Does not set the alpha value. */\nexport function hsv2rgb(h, s, v) {\n s = s / 100;\n v = v / 100;\n var rgb = [];\n var c = v * s;\n var hh = h / 60;\n var x = c * (1 - Math.abs((hh % 2) - 1));\n var m = v - c;\n switch (Math.floor(hh)) {\n case 0:\n rgb = [c, x, 0];\n break;\n case 1:\n rgb = [x, c, 0];\n break;\n case 2:\n rgb = [0, c, x];\n break;\n case 3:\n rgb = [0, x, c];\n break;\n case 4:\n rgb = [x, 0, c];\n break;\n case 5:\n rgb = [c, 0, x];\n break;\n }\n return {\n r: Math.round(MAX_COLOR_RGB * (rgb[0] + m)),\n g: Math.round(MAX_COLOR_RGB * (rgb[1] + m)),\n b: Math.round(MAX_COLOR_RGB * (rgb[2] + m)),\n };\n}\n//# sourceMappingURL=hsv2rgb.js.map","// Technically this should be shades and tints, but for simplicity we'll call everything a shade.\n/*\n * This utility module is used with theming. Given a color to shade, whether the theme is inverted\n * (i.e. is a dark color), and the desired shade enum, this will return an appropriate shade of that color.\n */\nimport { MAX_COLOR_RGB } from './consts';\nimport { assign } from '../../Utilities';\nimport { clamp } from './clamp';\nimport { getColorFromRGBA } from './getColorFromRGBA';\nimport { hsv2hsl } from './hsv2hsl';\nimport { hsv2rgb } from './hsv2rgb';\n// Soften: to get closer to the background color's luminance\n// (softening with a white background would be lightening, with black it'd be darkening)\n// Strongen: opposite of soften\n// Luminance multiplier constants for generating shades of a given color\nvar WhiteShadeTableBG = [0.027, 0.043, 0.082, 0.145, 0.184, 0.216, 0.349, 0.537]; // white bg\nvar BlackTintTableBG = [0.537, 0.45, 0.349, 0.216, 0.184, 0.145, 0.082, 0.043]; // black bg\nvar WhiteShadeTable = [0.537, 0.349, 0.216, 0.184, 0.145, 0.082, 0.043, 0.027]; // white fg\nvar BlackTintTable = [0.537, 0.45, 0.349, 0.216, 0.184, 0.145, 0.082, 0.043]; // black fg\nvar LumTintTable = [0.88, 0.77, 0.66, 0.55, 0.44, 0.33, 0.22, 0.11]; // light (strongen all)\nvar LumShadeTable = [0.11, 0.22, 0.33, 0.44, 0.55, 0.66, 0.77, 0.88]; // dark (soften all)\nvar ColorTintTable = [0.96, 0.84, 0.7, 0.4, 0.12]; // default soften\nvar ColorShadeTable = [0.1, 0.24, 0.44]; // default strongen\n// If the given shade's luminance is below/above these values, we'll swap to using the White/Black tables above\nvar LowLuminanceThreshold = 0.2;\nvar HighLuminanceThreshold = 0.8;\n/** Shades of a given color, from softest to strongest. */\nexport var Shade;\n(function (Shade) {\n Shade[Shade[\"Unshaded\"] = 0] = \"Unshaded\";\n Shade[Shade[\"Shade1\"] = 1] = \"Shade1\";\n Shade[Shade[\"Shade2\"] = 2] = \"Shade2\";\n Shade[Shade[\"Shade3\"] = 3] = \"Shade3\";\n Shade[Shade[\"Shade4\"] = 4] = \"Shade4\";\n Shade[Shade[\"Shade5\"] = 5] = \"Shade5\";\n Shade[Shade[\"Shade6\"] = 6] = \"Shade6\";\n Shade[Shade[\"Shade7\"] = 7] = \"Shade7\";\n Shade[Shade[\"Shade8\"] = 8] = \"Shade8\";\n // remember to update isValidShade()!\n})(Shade || (Shade = {}));\n/**\n * Returns true if the argument is a valid Shade value\n * @param shade - The Shade value to validate.\n */\nexport function isValidShade(shade) {\n return typeof shade === 'number' && shade >= Shade.Unshaded && shade <= Shade.Shade8;\n}\nfunction _isBlack(color) {\n return color.r === 0 && color.g === 0 && color.b === 0;\n}\nfunction _isWhite(color) {\n return color.r === MAX_COLOR_RGB && color.g === MAX_COLOR_RGB && color.b === MAX_COLOR_RGB;\n}\nfunction _darken(hsv, factor) {\n return {\n h: hsv.h,\n s: hsv.s,\n v: clamp(hsv.v - hsv.v * factor, 100, 0),\n };\n}\nfunction _lighten(hsv, factor) {\n return {\n h: hsv.h,\n s: clamp(hsv.s - hsv.s * factor, 100, 0),\n v: clamp(hsv.v + (100 - hsv.v) * factor, 100, 0),\n };\n}\nexport function isDark(color) {\n return hsv2hsl(color.h, color.s, color.v).l < 50;\n}\n/**\n * Given a color and a shade specification, generates the requested shade of the color.\n * Logic:\n * if white\n * darken via tables defined above\n * if black\n * lighten\n * if light\n * strongen\n * if dark\n * soften\n * else default\n * soften or strongen depending on shade#\n * @param color - The base color whose shade is to be computed\n * @param shade - The shade of the base color to compute\n * @param isInverted - Default false. Whether the given theme is inverted (reverse strongen/soften logic)\n */\nexport function getShade(color, shade, isInverted) {\n if (isInverted === void 0) { isInverted = false; }\n if (!color) {\n return null;\n }\n if (shade === Shade.Unshaded || !isValidShade(shade)) {\n return color;\n }\n var hsl = hsv2hsl(color.h, color.s, color.v);\n var hsv = { h: color.h, s: color.s, v: color.v };\n var tableIndex = shade - 1;\n var _soften = _lighten;\n var _strongen = _darken;\n if (isInverted) {\n _soften = _darken;\n _strongen = _lighten;\n }\n if (_isWhite(color)) {\n // white\n hsv = _darken(hsv, WhiteShadeTable[tableIndex]);\n }\n else if (_isBlack(color)) {\n // black\n hsv = _lighten(hsv, BlackTintTable[tableIndex]);\n }\n else if (hsl.l / 100 > HighLuminanceThreshold) {\n // light\n hsv = _strongen(hsv, LumShadeTable[tableIndex]);\n }\n else if (hsl.l / 100 < LowLuminanceThreshold) {\n // dark\n hsv = _soften(hsv, LumTintTable[tableIndex]);\n }\n else {\n // default\n if (tableIndex < ColorTintTable.length) {\n hsv = _soften(hsv, ColorTintTable[tableIndex]);\n }\n else {\n hsv = _strongen(hsv, ColorShadeTable[tableIndex - ColorTintTable.length]);\n }\n }\n return getColorFromRGBA(assign(hsv2rgb(hsv.h, hsv.s, hsv.v), { a: color.a }));\n}\n// Background shades/tints are generated differently. The provided color will be guaranteed\n// to be the darkest or lightest one. If it is <50% luminance, it will always be the darkest,\n// otherwise it will always be the lightest.\nexport function getBackgroundShade(color, shade, isInverted) {\n if (isInverted === void 0) { isInverted = false; }\n if (!color) {\n return null;\n }\n if (shade === Shade.Unshaded || !isValidShade(shade)) {\n return color;\n }\n var hsv = { h: color.h, s: color.s, v: color.v };\n var tableIndex = shade - 1;\n if (!isInverted) {\n // lightish\n hsv = _darken(hsv, WhiteShadeTableBG[tableIndex]);\n }\n else {\n // default: if (hsl.l / 100 < .5) { // darkish\n hsv = _lighten(hsv, BlackTintTableBG[BlackTintTable.length - 1 - tableIndex]);\n }\n return getColorFromRGBA(assign(hsv2rgb(hsv.h, hsv.s, hsv.v), { a: color.a }));\n}\n/* Calculates the contrast ratio between two colors. Used for verifying\n * color pairs meet minimum accessibility requirements.\n * See: https://www.w3.org/TR/WCAG20/ section 1.4.3\n */\nexport function getContrastRatio(color1, color2) {\n // Formula defined by: http://www.w3.org/TR/UNDERSTANDING-WCAG20/visual-audio-contrast-contrast.html#contrast-ratiodef\n // relative luminance: http://www.w3.org/TR/2008/REC-WCAG20-20081211/#relativeluminancedef\n /* calculate the intermediate value needed to calculating relative luminance */\n function _getThing(x) {\n if (x <= 0.03928) {\n return x / 12.92;\n }\n else {\n return Math.pow((x + 0.055) / 1.055, 2.4);\n }\n }\n var r1 = _getThing(color1.r / MAX_COLOR_RGB);\n var g1 = _getThing(color1.g / MAX_COLOR_RGB);\n var b1 = _getThing(color1.b / MAX_COLOR_RGB);\n var L1 = 0.2126 * r1 + 0.7152 * g1 + 0.0722 * b1; // relative luminance of first color\n L1 += 0.05;\n var r2 = _getThing(color2.r / MAX_COLOR_RGB);\n var g2 = _getThing(color2.g / MAX_COLOR_RGB);\n var b2 = _getThing(color2.b / MAX_COLOR_RGB);\n var L2 = 0.2126 * r2 + 0.7152 * g2 + 0.0722 * b2; // relative luminance of second color\n L2 += 0.05;\n // return the lighter color divided by darker\n return L1 / L2 > 1 ? L1 / L2 : L2 / L1;\n}\n//# sourceMappingURL=shades.js.map","import { MAX_COLOR_ALPHA } from './consts';\nimport { rgb2hsv } from './rgb2hsv';\nimport { rgb2hex } from './rgb2hex';\nimport { _rgbaOrHexString } from './_rgbaOrHexString';\n/** Converts an RGBA color to a color object (alpha defaults to 100). */\nexport function getColorFromRGBA(rgba) {\n var _a = rgba.a, a = _a === void 0 ? MAX_COLOR_ALPHA : _a, b = rgba.b, g = rgba.g, r = rgba.r;\n var _b = rgb2hsv(r, g, b), h = _b.h, s = _b.s, v = _b.v;\n var hex = rgb2hex(r, g, b);\n var str = _rgbaOrHexString(r, g, b, a, hex);\n var t = MAX_COLOR_ALPHA - a;\n return { a: a, b: b, g: g, h: h, hex: hex, r: r, s: s, str: str, v: v, t: t };\n}\n//# sourceMappingURL=getColorFromRGBA.js.map","import * as React from 'react';\nexport var MenuContext = React.createContext({});\nexport var useMenuContext = function () {\n return React.useContext(MenuContext);\n};\n//# sourceMappingURL=MenuContext.js.map","export { getBoundsFromTargetWindow, getMaxHeight, getOppositeEdge, positionCallout, positionCard, positionElement, } from './positioning';\nexport * from './positioning.types';\n//# sourceMappingURL=index.js.map","import { __assign, __spreadArray } from \"tslib\";\nimport { EventGroup, getId } from '../../Utilities';\nimport { KeytipEvents } from '../../utilities/keytips/KeytipConstants';\n/**\n * This class is responsible for handling registering, updating, and unregistering of keytips\n */\nvar KeytipManager = /** @class */ (function () {\n function KeytipManager() {\n this.keytips = {};\n this.persistedKeytips = {};\n this.sequenceMapping = {};\n // This is (and should be) updated and kept in sync\n // with the inKeytipMode in KeytipLayer.\n this.inKeytipMode = false;\n // Boolean that gets checked before entering keytip mode by the KeytipLayer\n // Used for an override in special cases (e.g. Disable entering keytip mode when a modal is shown)\n this.shouldEnterKeytipMode = true;\n // Boolean to indicate whether to delay firing an event to update subscribers of\n // keytip data changed.\n this.delayUpdatingKeytipChange = false;\n }\n /**\n * Static function to get singleton KeytipManager instance\n *\n * @returns Singleton KeytipManager instance\n */\n KeytipManager.getInstance = function () {\n return this._instance;\n };\n /**\n * Initialization code to set set parameters to define\n * how the KeytipManager handles keytip data.\n *\n * @param delayUpdatingKeytipChange - T/F if we should delay notifiying keytip subscribers\n * of keytip changes\n */\n KeytipManager.prototype.init = function (delayUpdatingKeytipChange) {\n this.delayUpdatingKeytipChange = delayUpdatingKeytipChange;\n };\n /**\n * Registers a keytip\n *\n * @param keytipProps - Keytip to register\n * @param persisted - T/F if this keytip should be persisted, default is false\n * @returns Unique ID for this keytip\n */\n KeytipManager.prototype.register = function (keytipProps, persisted) {\n if (persisted === void 0) { persisted = false; }\n var props = keytipProps;\n if (!persisted) {\n // Add the overflowSetSequence if necessary\n props = this.addParentOverflow(keytipProps);\n this.sequenceMapping[props.keySequences.toString()] = props;\n }\n // Create a unique keytip\n var uniqueKeytip = this._getUniqueKtp(props);\n // Add to dictionary\n persisted\n ? (this.persistedKeytips[uniqueKeytip.uniqueID] = uniqueKeytip)\n : (this.keytips[uniqueKeytip.uniqueID] = uniqueKeytip);\n // We only want to add something new if we are currently showing keytip mode\n if (this.inKeytipMode || !this.delayUpdatingKeytipChange) {\n var event_1 = persisted ? KeytipEvents.PERSISTED_KEYTIP_ADDED : KeytipEvents.KEYTIP_ADDED;\n EventGroup.raise(this, event_1, {\n keytip: props,\n uniqueID: uniqueKeytip.uniqueID,\n });\n }\n return uniqueKeytip.uniqueID;\n };\n /**\n * Update a keytip\n *\n * @param keytipProps - Keytip to update\n * @param uniqueID - Unique ID of this keytip\n */\n KeytipManager.prototype.update = function (keytipProps, uniqueID) {\n var newKeytipProps = this.addParentOverflow(keytipProps);\n var uniqueKeytip = this._getUniqueKtp(newKeytipProps, uniqueID);\n var oldKeyTip = this.keytips[uniqueID];\n if (oldKeyTip) {\n // Update everything except 'visible'\n uniqueKeytip.keytip.visible = oldKeyTip.keytip.visible;\n // Update keytip in this.keytips\n this.keytips[uniqueID] = uniqueKeytip;\n // Update the sequence to be up to date\n delete this.sequenceMapping[oldKeyTip.keytip.keySequences.toString()];\n this.sequenceMapping[uniqueKeytip.keytip.keySequences.toString()] = uniqueKeytip.keytip;\n // Raise event only if we are currently in keytip mode\n if (this.inKeytipMode || !this.delayUpdatingKeytipChange) {\n EventGroup.raise(this, KeytipEvents.KEYTIP_UPDATED, {\n keytip: uniqueKeytip.keytip,\n uniqueID: uniqueKeytip.uniqueID,\n });\n }\n }\n };\n /**\n * Unregisters a keytip\n *\n * @param keytipToRemove - IKeytipProps of the keytip to remove\n * @param uniqueID - Unique ID of this keytip\n * @param persisted - T/F if this keytip should be persisted, default is false\n */\n KeytipManager.prototype.unregister = function (keytipToRemove, uniqueID, persisted) {\n if (persisted === void 0) { persisted = false; }\n persisted ? delete this.persistedKeytips[uniqueID] : delete this.keytips[uniqueID];\n !persisted && delete this.sequenceMapping[keytipToRemove.keySequences.toString()];\n var event = persisted ? KeytipEvents.PERSISTED_KEYTIP_REMOVED : KeytipEvents.KEYTIP_REMOVED;\n // Update keytips only if we're in keytip mode\n if (this.inKeytipMode || !this.delayUpdatingKeytipChange) {\n EventGroup.raise(this, event, {\n keytip: keytipToRemove,\n uniqueID: uniqueID,\n });\n }\n };\n /**\n * Manual call to enter keytip mode\n */\n KeytipManager.prototype.enterKeytipMode = function () {\n EventGroup.raise(this, KeytipEvents.ENTER_KEYTIP_MODE);\n };\n /**\n * Manual call to exit keytip mode\n */\n KeytipManager.prototype.exitKeytipMode = function () {\n EventGroup.raise(this, KeytipEvents.EXIT_KEYTIP_MODE);\n };\n /**\n * Gets all IKeytipProps from this.keytips\n *\n * @returns All keytips stored in the manager\n */\n KeytipManager.prototype.getKeytips = function () {\n var _this = this;\n return Object.keys(this.keytips).map(function (key) { return _this.keytips[key].keytip; });\n };\n /**\n * Adds the overflowSetSequence to the keytipProps if its parent keytip also has it\n *\n * @param keytipProps - Keytip props to add overflowSetSequence to if necessary\n * @returns - Modified keytip props, if needed to be modified\n */\n KeytipManager.prototype.addParentOverflow = function (keytipProps) {\n var fullSequence = __spreadArray([], keytipProps.keySequences);\n fullSequence.pop();\n if (fullSequence.length !== 0) {\n var parentKeytip = this.sequenceMapping[fullSequence.toString()];\n if (parentKeytip && parentKeytip.overflowSetSequence) {\n return __assign(__assign({}, keytipProps), { overflowSetSequence: parentKeytip.overflowSetSequence });\n }\n }\n return keytipProps;\n };\n /**\n * Public function to bind for overflow items that have a submenu\n */\n KeytipManager.prototype.menuExecute = function (overflowButtonSequences, keytipSequences) {\n EventGroup.raise(this, KeytipEvents.PERSISTED_KEYTIP_EXECUTE, {\n overflowButtonSequences: overflowButtonSequences,\n keytipSequences: keytipSequences,\n });\n };\n /**\n * Creates an IUniqueKeytip object\n *\n * @param keytipProps - IKeytipProps\n * @param uniqueID - Unique ID, will default to the next unique ID if not passed\n * @returns IUniqueKeytip object\n */\n KeytipManager.prototype._getUniqueKtp = function (keytipProps, uniqueID) {\n if (uniqueID === void 0) { uniqueID = getId(); }\n return { keytip: __assign({}, keytipProps), uniqueID: uniqueID };\n };\n KeytipManager._instance = new KeytipManager();\n return KeytipManager;\n}());\nexport { KeytipManager };\n//# sourceMappingURL=KeytipManager.js.map","export function getAllSelectedOptions(options, selectedIndices) {\n var selectedOptions = [];\n for (var _i = 0, selectedIndices_1 = selectedIndices; _i < selectedIndices_1.length; _i++) {\n var index = selectedIndices_1[_i];\n var option = options[index];\n if (option) {\n selectedOptions.push(option);\n }\n }\n return selectedOptions;\n}\n//# sourceMappingURL=SelectableOption.js.map","import { __assign, __extends } from \"tslib\";\nimport * as React from 'react';\nimport { BaseDecorator } from './BaseDecorator';\nimport { findScrollableParent, getRect, getWindow, Async, EventGroup } from '../../Utilities';\nvar RESIZE_DELAY = 500;\nvar MAX_RESIZE_ATTEMPTS = 3;\n/**\n * A decorator to update decorated component on viewport or window resize events.\n *\n * @param ComposedComponent decorated React component reference.\n */\nexport function withViewport(ComposedComponent) {\n return /** @class */ (function (_super) {\n __extends(WithViewportComponent, _super);\n function WithViewportComponent(props) {\n var _this = _super.call(this, props) || this;\n _this._root = React.createRef();\n _this._registerResizeObserver = function () {\n var win = getWindow(_this._root.current);\n _this._viewportResizeObserver = new win.ResizeObserver(_this._onAsyncResize);\n _this._viewportResizeObserver.observe(_this._root.current);\n };\n _this._unregisterResizeObserver = function () {\n if (_this._viewportResizeObserver) {\n _this._viewportResizeObserver.disconnect();\n delete _this._viewportResizeObserver;\n }\n };\n /* Note: using lambda here because decorators don't seem to work in decorators. */\n _this._updateViewport = function (withForceUpdate) {\n var viewport = _this.state.viewport;\n var viewportElement = _this._root.current;\n var scrollElement = findScrollableParent(viewportElement);\n var scrollRect = getRect(scrollElement);\n var clientRect = getRect(viewportElement);\n var updateComponent = function () {\n if (withForceUpdate && _this._composedComponentInstance) {\n _this._composedComponentInstance.forceUpdate();\n }\n };\n var isSizeChanged = (clientRect && clientRect.width) !== viewport.width || (scrollRect && scrollRect.height) !== viewport.height;\n if (isSizeChanged && _this._resizeAttempts < MAX_RESIZE_ATTEMPTS && clientRect && scrollRect) {\n _this._resizeAttempts++;\n _this.setState({\n viewport: {\n width: clientRect.width,\n height: scrollRect.height,\n },\n }, function () {\n _this._updateViewport(withForceUpdate);\n });\n }\n else {\n _this._resizeAttempts = 0;\n updateComponent();\n }\n };\n _this._async = new Async(_this);\n _this._events = new EventGroup(_this);\n _this._resizeAttempts = 0;\n _this.state = {\n viewport: {\n width: 0,\n height: 0,\n },\n };\n return _this;\n }\n WithViewportComponent.prototype.componentDidMount = function () {\n var _this = this;\n var _a = this.props, delayFirstMeasure = _a.delayFirstMeasure, disableResizeObserver = _a.disableResizeObserver, skipViewportMeasures = _a.skipViewportMeasures;\n var win = getWindow(this._root.current);\n this._onAsyncResize = this._async.debounce(this._onAsyncResize, RESIZE_DELAY, {\n leading: false,\n });\n if (!skipViewportMeasures) {\n if (!disableResizeObserver && this._isResizeObserverAvailable()) {\n this._registerResizeObserver();\n }\n else {\n this._events.on(win, 'resize', this._onAsyncResize);\n }\n if (delayFirstMeasure) {\n this._async.setTimeout(function () {\n _this._updateViewport();\n }, RESIZE_DELAY);\n }\n else {\n this._updateViewport();\n }\n }\n };\n WithViewportComponent.prototype.componentDidUpdate = function (previousProps) {\n var previousSkipViewportMeasures = previousProps.skipViewportMeasures;\n var _a = this.props, disableResizeObserver = _a.disableResizeObserver, skipViewportMeasures = _a.skipViewportMeasures;\n var win = getWindow(this._root.current);\n if (skipViewportMeasures !== previousSkipViewportMeasures) {\n if (!skipViewportMeasures) {\n if (!disableResizeObserver && this._isResizeObserverAvailable()) {\n if (!this._viewportResizeObserver) {\n this._registerResizeObserver();\n }\n }\n else {\n this._events.on(win, 'resize', this._onAsyncResize);\n }\n this._updateViewport();\n }\n else {\n this._unregisterResizeObserver();\n this._events.off(win, 'resize', this._onAsyncResize);\n }\n }\n };\n WithViewportComponent.prototype.componentWillUnmount = function () {\n this._events.dispose();\n this._async.dispose();\n this._unregisterResizeObserver();\n };\n WithViewportComponent.prototype.render = function () {\n var viewport = this.state.viewport;\n var newViewport = viewport.width > 0 && viewport.height > 0 ? viewport : undefined;\n return (React.createElement(\"div\", { className: \"ms-Viewport\", ref: this._root, style: { minWidth: 1, minHeight: 1 } },\n React.createElement(ComposedComponent, __assign({ ref: this._updateComposedComponentRef, viewport: newViewport }, this.props))));\n };\n WithViewportComponent.prototype.forceUpdate = function () {\n this._updateViewport(true);\n };\n WithViewportComponent.prototype._onAsyncResize = function () {\n this._updateViewport();\n };\n WithViewportComponent.prototype._isResizeObserverAvailable = function () {\n var win = getWindow(this._root.current);\n return win && win.ResizeObserver;\n };\n return WithViewportComponent;\n }(BaseDecorator));\n}\n//# sourceMappingURL=withViewport.js.map","import { __assign } from \"tslib\";\nimport { _rgbaOrHexString } from './_rgbaOrHexString';\nimport { MAX_COLOR_ALPHA } from './consts';\n/**\n * Gets a color with the given alpha value and the same other components as `color`.\n * Does not modify the original color.\n */\nexport function updateA(color, a) {\n return __assign(__assign({}, color), { a: a, t: MAX_COLOR_ALPHA - a, str: _rgbaOrHexString(color.r, color.g, color.b, a, color.hex) });\n}\n//# sourceMappingURL=updateA.js.map","import { __assign } from \"tslib\";\nimport { hsv2rgb } from './hsv2rgb';\nimport { rgb2hex } from './rgb2hex';\nimport { _rgbaOrHexString } from './_rgbaOrHexString';\n/**\n * Gets a color with the same saturation and value as `color` and the other components updated\n * to match the given hue.\n *\n * Does not modify the original `color` and does not supply a default alpha value.\n */\nexport function updateH(color, h) {\n var _a = hsv2rgb(h, color.s, color.v), r = _a.r, g = _a.g, b = _a.b;\n var hex = rgb2hex(r, g, b);\n return __assign(__assign({}, color), { h: h, r: r, g: g, b: b, hex: hex, str: _rgbaOrHexString(r, g, b, color.a, hex) });\n}\n//# sourceMappingURL=updateH.js.map","import { hsv2rgb } from './hsv2rgb';\nimport { rgb2hex } from './rgb2hex';\n/** Converts HSV components to a hex color string (without # prefix). */\nexport function hsv2hex(h, s, v) {\n var _a = hsv2rgb(h, s, v), r = _a.r, g = _a.g, b = _a.b;\n return rgb2hex(r, g, b);\n}\n//# sourceMappingURL=hsv2hex.js.map","import { EventGroup, getDocument } from '../../Utilities';\nvar MOUSEDOWN_PRIMARY_BUTTON = 0; // for mouse down event we are using ev.button property, 0 means left button\nvar MOUSEMOVE_PRIMARY_BUTTON = 1; // for mouse move event we are using ev.buttons property, 1 means left button\nvar DragDropHelper = /** @class */ (function () {\n function DragDropHelper(params) {\n this._selection = params.selection;\n this._dragEnterCounts = {};\n this._activeTargets = {};\n this._lastId = 0;\n // To make this class cheap to create, which allows simplifying some logic elsewhere,\n // only initialize the event group and global event handlers as needed.\n this._initialized = false;\n }\n DragDropHelper.prototype.dispose = function () {\n if (this._events) {\n this._events.dispose();\n }\n };\n DragDropHelper.prototype.subscribe = function (root, events, dragDropOptions) {\n var _this = this;\n if (!this._initialized) {\n this._events = new EventGroup(this);\n var doc = getDocument();\n // clear drag data when mouse up, use capture event to ensure it will be run\n if (doc) {\n this._events.on(doc.body, 'mouseup', this._onMouseUp.bind(this), true);\n this._events.on(doc, 'mouseup', this._onDocumentMouseUp.bind(this), true);\n }\n this._initialized = true;\n }\n var _a = dragDropOptions.key, key = _a === void 0 ? \"\" + ++this._lastId : _a;\n var handlers = [];\n var onDragStart;\n var onDragLeave;\n var onDragEnter;\n var onDragEnd;\n var onDrop;\n var onDragOver;\n var onMouseDown;\n var isDraggable;\n var isDroppable;\n var activeTarget;\n if (dragDropOptions && root) {\n var eventMap = dragDropOptions.eventMap, context = dragDropOptions.context, updateDropState_1 = dragDropOptions.updateDropState;\n var dragDropTarget = {\n root: root,\n options: dragDropOptions,\n key: key,\n };\n isDraggable = this._isDraggable(dragDropTarget);\n isDroppable = this._isDroppable(dragDropTarget);\n if (isDraggable || isDroppable) {\n if (eventMap) {\n for (var _i = 0, eventMap_1 = eventMap; _i < eventMap_1.length; _i++) {\n var event_1 = eventMap_1[_i];\n var handler = {\n callback: event_1.callback.bind(null, context),\n eventName: event_1.eventName,\n };\n handlers.push(handler);\n this._events.on(root, handler.eventName, handler.callback);\n }\n }\n }\n if (isDroppable) {\n // If the target is droppable, wire up global event listeners to track drop-related events.\n onDragLeave = function (event) {\n if (!event.isHandled) {\n event.isHandled = true;\n _this._dragEnterCounts[key]--;\n if (_this._dragEnterCounts[key] === 0) {\n updateDropState_1(false /* isDropping */, event);\n }\n }\n };\n onDragEnter = function (event) {\n event.preventDefault(); // needed for IE\n if (!event.isHandled) {\n event.isHandled = true;\n _this._dragEnterCounts[key]++;\n if (_this._dragEnterCounts[key] === 1) {\n updateDropState_1(true /* isDropping */, event);\n }\n }\n };\n onDragEnd = function (event) {\n _this._dragEnterCounts[key] = 0;\n updateDropState_1(false /* isDropping */, event);\n };\n onDrop = function (event) {\n _this._dragEnterCounts[key] = 0;\n updateDropState_1(false /* isDropping */, event);\n if (dragDropOptions.onDrop) {\n dragDropOptions.onDrop(dragDropOptions.context.data, event);\n }\n };\n onDragOver = function (event) {\n event.preventDefault();\n if (dragDropOptions.onDragOver) {\n dragDropOptions.onDragOver(dragDropOptions.context.data, event);\n }\n };\n this._dragEnterCounts[key] = 0;\n // dragenter and dragleave will be fired when hover to the child element\n // but we only want to change state when enter or leave the current element\n // use the count to ensure it.\n events.on(root, 'dragenter', onDragEnter);\n events.on(root, 'dragleave', onDragLeave);\n events.on(root, 'dragend', onDragEnd);\n events.on(root, 'drop', onDrop);\n events.on(root, 'dragover', onDragOver);\n }\n if (isDraggable) {\n // If the target is draggable, wire up local event listeners for mouse events.\n onMouseDown = this._onMouseDown.bind(this, dragDropTarget);\n onDragEnd = this._onDragEnd.bind(this, dragDropTarget);\n // We need to add in data so that on Firefox we show the ghost element when dragging\n onDragStart = function (event) {\n var options = dragDropOptions;\n if (options && options.onDragStart) {\n options.onDragStart(options.context.data, options.context.index, _this._selection.getSelection(), event);\n }\n _this._isDragging = true;\n if (event.dataTransfer) {\n event.dataTransfer.setData('id', root.id);\n }\n };\n events.on(root, 'dragstart', onDragStart);\n events.on(root, 'mousedown', onMouseDown);\n events.on(root, 'dragend', onDragEnd);\n }\n activeTarget = {\n target: dragDropTarget,\n dispose: function () {\n if (_this._activeTargets[key] === activeTarget) {\n delete _this._activeTargets[key];\n }\n if (root) {\n for (var _i = 0, handlers_1 = handlers; _i < handlers_1.length; _i++) {\n var handler = handlers_1[_i];\n _this._events.off(root, handler.eventName, handler.callback);\n }\n if (isDroppable) {\n events.off(root, 'dragenter', onDragEnter);\n events.off(root, 'dragleave', onDragLeave);\n events.off(root, 'dragend', onDragEnd);\n events.off(root, 'dragover', onDragOver);\n events.off(root, 'drop', onDrop);\n }\n if (isDraggable) {\n events.off(root, 'dragstart', onDragStart);\n events.off(root, 'mousedown', onMouseDown);\n events.off(root, 'dragend', onDragEnd);\n }\n }\n },\n };\n this._activeTargets[key] = activeTarget;\n }\n return {\n key: key,\n dispose: function () {\n if (activeTarget) {\n activeTarget.dispose();\n }\n },\n };\n };\n DragDropHelper.prototype.unsubscribe = function (root, key) {\n var activeTarget = this._activeTargets[key];\n if (activeTarget) {\n activeTarget.dispose();\n }\n };\n DragDropHelper.prototype._onDragEnd = function (target, event) {\n var options = target.options;\n if (options.onDragEnd) {\n options.onDragEnd(options.context.data, event);\n }\n };\n /**\n * clear drag data when mouse up on body\n */\n DragDropHelper.prototype._onMouseUp = function (event) {\n this._isDragging = false;\n if (this._dragData) {\n for (var _i = 0, _a = Object.keys(this._activeTargets); _i < _a.length; _i++) {\n var key = _a[_i];\n var activeTarget = this._activeTargets[key];\n if (activeTarget.target.root) {\n this._events.off(activeTarget.target.root, 'mousemove');\n this._events.off(activeTarget.target.root, 'mouseleave');\n }\n }\n if (this._dragData.dropTarget) {\n // raise dragleave event to let dropTarget know it need to remove dropping style\n EventGroup.raise(this._dragData.dropTarget.root, 'dragleave');\n EventGroup.raise(this._dragData.dropTarget.root, 'drop');\n }\n }\n this._dragData = null;\n };\n /**\n * clear drag data when mouse up outside of the document\n */\n DragDropHelper.prototype._onDocumentMouseUp = function (event) {\n var doc = getDocument();\n if (doc && event.target === doc.documentElement) {\n this._onMouseUp(event);\n }\n };\n /**\n * when mouse move over a new drop target while dragging some items,\n * fire dragleave on the old target and fire dragenter to the new target\n * The target will handle style change on dragenter and dragleave events.\n */\n DragDropHelper.prototype._onMouseMove = function (target, event) {\n var \n // use buttons property here since ev.button in some edge case is not updating well during the move.\n // but firefox doesn't support it, so we set the default value when it is not defined.\n _a = event.buttons, \n // use buttons property here since ev.button in some edge case is not updating well during the move.\n // but firefox doesn't support it, so we set the default value when it is not defined.\n buttons = _a === void 0 ? MOUSEMOVE_PRIMARY_BUTTON : _a;\n if (this._dragData && buttons !== MOUSEMOVE_PRIMARY_BUTTON) {\n // cancel mouse down event and return early when the primary button is not pressed\n this._onMouseUp(event);\n return;\n }\n var root = target.root, key = target.key;\n if (this._isDragging) {\n if (this._isDroppable(target)) {\n // we can have nested drop targets in the DOM, like a folder inside a group. In that case, when we drag into\n // the inner target (folder), we first set dropTarget to the inner element. But the same event is bubbled to the\n // outer target too, and we need to prevent the outer one from taking over.\n // So, check if the last dropTarget is not a child of the current.\n if (this._dragData) {\n if (this._dragData.dropTarget &&\n this._dragData.dropTarget.key !== key &&\n !this._isChild(root, this._dragData.dropTarget.root)) {\n if (this._dragEnterCounts[this._dragData.dropTarget.key] > 0) {\n EventGroup.raise(this._dragData.dropTarget.root, 'dragleave');\n EventGroup.raise(root, 'dragenter');\n this._dragData.dropTarget = target;\n }\n }\n }\n }\n }\n };\n /**\n * when mouse leave a target while dragging some items, fire dragleave to the target\n */\n DragDropHelper.prototype._onMouseLeave = function (target, event) {\n if (this._isDragging) {\n if (this._dragData && this._dragData.dropTarget && this._dragData.dropTarget.key === target.key) {\n EventGroup.raise(target.root, 'dragleave');\n this._dragData.dropTarget = undefined;\n }\n }\n };\n /**\n * when mouse down on a draggable item, we start to track dragdata.\n */\n DragDropHelper.prototype._onMouseDown = function (target, event) {\n if (event.button !== MOUSEDOWN_PRIMARY_BUTTON) {\n // Ignore anything except the primary button.\n return;\n }\n if (this._isDraggable(target)) {\n this._dragData = {\n clientX: event.clientX,\n clientY: event.clientY,\n eventTarget: event.target,\n dragTarget: target,\n };\n for (var _i = 0, _a = Object.keys(this._activeTargets); _i < _a.length; _i++) {\n var key = _a[_i];\n var activeTarget = this._activeTargets[key];\n if (activeTarget.target.root) {\n this._events.on(activeTarget.target.root, 'mousemove', this._onMouseMove.bind(this, activeTarget.target));\n this._events.on(activeTarget.target.root, 'mouseleave', this._onMouseLeave.bind(this, activeTarget.target));\n }\n }\n }\n else {\n this._dragData = null;\n }\n };\n /**\n * determine whether the child target is a descendant of the parent\n */\n DragDropHelper.prototype._isChild = function (parentElement, childElement) {\n while (childElement && childElement.parentElement) {\n if (childElement.parentElement === parentElement) {\n return true;\n }\n childElement = childElement.parentElement;\n }\n return false;\n };\n DragDropHelper.prototype._isDraggable = function (target) {\n var options = target.options;\n return !!(options.canDrag && options.canDrag(options.context.data));\n };\n DragDropHelper.prototype._isDroppable = function (target) {\n // TODO: take the drag item into consideration to prevent dragging an item into the same group\n var options = target.options;\n var dragContext = this._dragData && this._dragData.dragTarget ? this._dragData.dragTarget.options.context : undefined;\n return !!(options.canDrop && options.canDrop(options.context, dragContext));\n };\n return DragDropHelper;\n}());\nexport { DragDropHelper };\n//# sourceMappingURL=DragDropHelper.js.map","import { __assign } from \"tslib\";\nimport * as React from 'react';\nimport { toMatrix, classNamesFunction, getNativeProps, htmlElementProperties } from '../../Utilities';\nimport { FocusZone } from '../../FocusZone';\nimport { useId } from '@fluentui/react-hooks';\nvar getClassNames = classNamesFunction();\nexport var ButtonGridBase = React.forwardRef(function (props, forwardedRef) {\n var id = useId(undefined, props.id);\n var items = props.items, columnCount = props.columnCount, onRenderItem = props.onRenderItem, \n // eslint-disable-next-line deprecation/deprecation\n _a = props.ariaPosInSet, \n // eslint-disable-next-line deprecation/deprecation\n ariaPosInSet = _a === void 0 ? props.positionInSet : _a, \n // eslint-disable-next-line deprecation/deprecation\n _b = props.ariaSetSize, \n // eslint-disable-next-line deprecation/deprecation\n ariaSetSize = _b === void 0 ? props.setSize : _b, styles = props.styles, doNotContainWithinFocusZone = props.doNotContainWithinFocusZone;\n var htmlProps = getNativeProps(props, htmlElementProperties, \n // avoid applying onBlur on the table if it's being used in the FocusZone\n doNotContainWithinFocusZone ? [] : ['onBlur']);\n var classNames = getClassNames(styles, { theme: props.theme });\n // Array to store the cells in the correct row index\n var rowsOfItems = toMatrix(items, columnCount);\n var content = (React.createElement(\"table\", __assign({ \"aria-posinset\": ariaPosInSet, \"aria-setsize\": ariaSetSize, id: id, role: \"grid\" }, htmlProps, { className: classNames.root }),\n React.createElement(\"tbody\", null, rowsOfItems.map(function (rows, rowIndex) {\n return (React.createElement(\"tr\", { role: 'row', key: rowIndex }, rows.map(function (cell, cellIndex) {\n return (React.createElement(\"td\", { role: \"presentation\", key: cellIndex + '-cell', className: classNames.tableCell }, onRenderItem(cell, cellIndex)));\n })));\n }))));\n return doNotContainWithinFocusZone ? (content) : (React.createElement(FocusZone, { elementRef: forwardedRef, isCircularNavigation: props.shouldFocusCircularNavigate, className: classNames.focusedContainer, onBlur: props.onBlur }, content));\n});\n//# sourceMappingURL=ButtonGrid.base.js.map","import { styled } from '../../Utilities';\nimport { ButtonGridBase } from './ButtonGrid.base';\nimport { getStyles } from './ButtonGrid.styles';\nexport var ButtonGrid = styled(ButtonGridBase, getStyles);\nButtonGrid.displayName = 'ButtonGrid';\n//# sourceMappingURL=ButtonGrid.js.map","export var getStyles = function (props) {\n return {\n root: {\n padding: 2,\n outline: 'none',\n },\n tableCell: {\n padding: 0,\n },\n };\n};\n//# sourceMappingURL=ButtonGrid.styles.js.map","export * from './SelectableOption';\nexport * from './SelectableOption.types';\nexport * from './SelectableDroppableText.types';\n//# sourceMappingURL=index.js.map","export var SelectableOptionMenuItemType;\n(function (SelectableOptionMenuItemType) {\n SelectableOptionMenuItemType[SelectableOptionMenuItemType[\"Normal\"] = 0] = \"Normal\";\n SelectableOptionMenuItemType[SelectableOptionMenuItemType[\"Divider\"] = 1] = \"Divider\";\n SelectableOptionMenuItemType[SelectableOptionMenuItemType[\"Header\"] = 2] = \"Header\";\n SelectableOptionMenuItemType[SelectableOptionMenuItemType[\"SelectAll\"] = 3] = \"SelectAll\";\n})(SelectableOptionMenuItemType || (SelectableOptionMenuItemType = {}));\n//# sourceMappingURL=SelectableOption.types.js.map","export var MAX_COLOR_SATURATION = 100;\nexport var MAX_COLOR_HUE = 359;\nexport var MAX_COLOR_VALUE = 100;\nexport var MAX_COLOR_RGB = 255;\n/** @deprecated Use MAX_COLOR_RGB (255) or MAX_COLOR_ALPHA (100) */\nexport var MAX_COLOR_RGBA = MAX_COLOR_RGB;\nexport var MAX_COLOR_ALPHA = 100;\n/** Minimum length for a hexadecimal color string (not including the #) */\nexport var MIN_HEX_LENGTH = 3;\n/** Maximum length for a hexadecimal color string (not including the #) */\nexport var MAX_HEX_LENGTH = 6;\n/** Minimum length for a string of an RGBA color component */\nexport var MIN_RGBA_LENGTH = 1;\n/** Maximum length for a string of an RGBA color component */\nexport var MAX_RGBA_LENGTH = 3;\n/** Regular expression matching only valid hexadecimal chars */\nexport var HEX_REGEX = /^[\\da-f]{0,6}$/i;\n/** Regular expression matching only numbers */\nexport var RGBA_REGEX = /^\\d{0,3}$/;\n//# sourceMappingURL=consts.js.map","var _a;\nimport { __assign } from \"tslib\";\nimport { DirectionalHint } from '../../common/DirectionalHint';\nimport { getScrollbarWidth, getRTL } from '../../Utilities';\nimport { RectangleEdge } from './positioning.types';\nimport { Rectangle } from '../../Utilities';\nfunction _createPositionData(targetEdge, alignmentEdge, isAuto) {\n return {\n targetEdge: targetEdge,\n alignmentEdge: alignmentEdge,\n isAuto: isAuto,\n };\n}\n// Currently the beakPercent is set to 50 for all positions meaning that it should tend to the center of the target\nvar DirectionalDictionary = (_a = {},\n _a[DirectionalHint.topLeftEdge] = _createPositionData(RectangleEdge.top, RectangleEdge.left),\n _a[DirectionalHint.topCenter] = _createPositionData(RectangleEdge.top),\n _a[DirectionalHint.topRightEdge] = _createPositionData(RectangleEdge.top, RectangleEdge.right),\n _a[DirectionalHint.topAutoEdge] = _createPositionData(RectangleEdge.top, undefined, true),\n _a[DirectionalHint.bottomLeftEdge] = _createPositionData(RectangleEdge.bottom, RectangleEdge.left),\n _a[DirectionalHint.bottomCenter] = _createPositionData(RectangleEdge.bottom),\n _a[DirectionalHint.bottomRightEdge] = _createPositionData(RectangleEdge.bottom, RectangleEdge.right),\n _a[DirectionalHint.bottomAutoEdge] = _createPositionData(RectangleEdge.bottom, undefined, true),\n _a[DirectionalHint.leftTopEdge] = _createPositionData(RectangleEdge.left, RectangleEdge.top),\n _a[DirectionalHint.leftCenter] = _createPositionData(RectangleEdge.left),\n _a[DirectionalHint.leftBottomEdge] = _createPositionData(RectangleEdge.left, RectangleEdge.bottom),\n _a[DirectionalHint.rightTopEdge] = _createPositionData(RectangleEdge.right, RectangleEdge.top),\n _a[DirectionalHint.rightCenter] = _createPositionData(RectangleEdge.right),\n _a[DirectionalHint.rightBottomEdge] = _createPositionData(RectangleEdge.right, RectangleEdge.bottom),\n _a);\nfunction _isRectangleWithinBounds(rect, boundingRect) {\n if (rect.top < boundingRect.top) {\n return false;\n }\n if (rect.bottom > boundingRect.bottom) {\n return false;\n }\n if (rect.left < boundingRect.left) {\n return false;\n }\n if (rect.right > boundingRect.right) {\n return false;\n }\n return true;\n}\n/**\n * Gets all of the edges of a rectangle that are outside of the given bounds.\n * If there are no out of bounds edges it returns an empty array.\n */\nfunction _getOutOfBoundsEdges(rect, boundingRect) {\n var outOfBounds = [];\n if (rect.top < boundingRect.top) {\n outOfBounds.push(RectangleEdge.top);\n }\n if (rect.bottom > boundingRect.bottom) {\n outOfBounds.push(RectangleEdge.bottom);\n }\n if (rect.left < boundingRect.left) {\n outOfBounds.push(RectangleEdge.left);\n }\n if (rect.right > boundingRect.right) {\n outOfBounds.push(RectangleEdge.right);\n }\n return outOfBounds;\n}\nfunction _getEdgeValue(rect, edge) {\n return rect[RectangleEdge[edge]];\n}\nfunction _setEdgeValue(rect, edge, value) {\n rect[RectangleEdge[edge]] = value;\n return rect;\n}\n/**\n * Returns the middle value of an edge. Only returns 1 value rather than xy coordinates as\n * the itself already contains the other coordinate.\n * For instance, a bottom edge's current value is it's y coordinate, so the number returned is the x.\n */\nfunction _getCenterValue(rect, edge) {\n var edges = _getFlankingEdges(edge);\n return (_getEdgeValue(rect, edges.positiveEdge) + _getEdgeValue(rect, edges.negativeEdge)) / 2;\n}\n/**\n * Flips the value depending on the edge.\n * If the edge is a \"positive\" edge, Top or Left, then the value should stay as it is.\n * If the edge is a \"negative\" edge, Bottom or Right, then the value should be flipped.\n * This is to account for the fact that the coordinates are effectively reserved in certain cases for the\n * \"negative\" edges.\n *\n * For example, when testing to see if a bottom edge 1 is within the bounds of another bottom edge 2:\n * If edge 1 is greater than edge 2 then it is out of bounds. This is reversed for top edge 1 and top edge 2.\n * If top edge 1 is less than edge 2 then it is out of bounds.\n */\nfunction _getRelativeEdgeValue(edge, value) {\n if (edge > 0) {\n return value;\n }\n else {\n return value * -1;\n }\n}\nfunction _getRelativeRectEdgeValue(edge, rect) {\n return _getRelativeEdgeValue(edge, _getEdgeValue(rect, edge));\n}\nfunction _getRelativeEdgeDifference(rect, hostRect, edge) {\n var edgeDifference = _getEdgeValue(rect, edge) - _getEdgeValue(hostRect, edge);\n return _getRelativeEdgeValue(edge, edgeDifference);\n}\n/**\n * Moves the edge of a rectangle to the value given. It only moves the edge in a linear direction based on that edge.\n * For example, if it's a bottom edge it will only change y coordinates.\n * if maintainSize is set to false, it will only adjust the specified edge value\n */\nfunction _moveEdge(rect, edge, newValue, maintainSize) {\n if (maintainSize === void 0) { maintainSize = true; }\n var difference = _getEdgeValue(rect, edge) - newValue;\n var returnRect = _setEdgeValue(rect, edge, newValue);\n if (maintainSize) {\n returnRect = _setEdgeValue(rect, edge * -1, _getEdgeValue(rect, edge * -1) - difference);\n }\n return returnRect;\n}\n/**\n * Aligns the edge on the passed in rect to the target. If there is a gap then it will have that space between the two.\n */\nfunction _alignEdges(rect, target, edge, gap) {\n if (gap === void 0) { gap = 0; }\n return _moveEdge(rect, edge, _getEdgeValue(target, edge) + _getRelativeEdgeValue(edge, gap));\n}\n/**\n * Aligns the targetEdge on the passed in target to the rects corresponding opposite edge.\n * For instance if targetEdge is bottom, then the rects top will be moved to match it.\n */\nfunction _alignOppositeEdges(rect, target, targetEdge, gap) {\n if (gap === void 0) { gap = 0; }\n var oppositeEdge = targetEdge * -1;\n var adjustedGap = _getRelativeEdgeValue(oppositeEdge, gap);\n return _moveEdge(rect, targetEdge * -1, _getEdgeValue(target, targetEdge) + adjustedGap);\n}\n/**\n * Tests to see if the given edge is within the bounds of the given rectangle.\n */\nfunction _isEdgeInBounds(rect, bounds, edge) {\n var adjustedRectValue = _getRelativeRectEdgeValue(edge, rect);\n return adjustedRectValue > _getRelativeRectEdgeValue(edge, bounds);\n}\n/**\n * Returns a measure of how much a rectangle is out of bounds for a given alignment;\n * this can be used to compare which rectangle is more or less out of bounds.\n * A value of 0 means the rectangle is entirely in bounds\n */\nfunction _getOutOfBoundsDegree(rect, bounds) {\n var breakingEdges = _getOutOfBoundsEdges(rect, bounds);\n var total = 0;\n for (var _i = 0, breakingEdges_1 = breakingEdges; _i < breakingEdges_1.length; _i++) {\n var edge = breakingEdges_1[_i];\n total += Math.pow(_getRelativeEdgeDifference(rect, bounds, edge), 2);\n }\n return total;\n}\n/**\n * Attempts to move the rectangle through various sides of the target to find a place to fit.\n * If no fit is found, the least bad option should be returned.\n */\nfunction _flipToFit(rect, target, bounding, positionData, gap) {\n if (gap === void 0) { gap = 0; }\n var directions = [\n RectangleEdge.left,\n RectangleEdge.right,\n RectangleEdge.bottom,\n RectangleEdge.top,\n ];\n // In RTL page, RectangleEdge.right has a higher priority than RectangleEdge.left, so the order should be updated.\n if (getRTL()) {\n directions[0] *= -1;\n directions[1] *= -1;\n }\n var currentEstimate = rect;\n var currentEdge = positionData.targetEdge;\n var currentAlignment = positionData.alignmentEdge;\n // keep track of least bad option, in case no sides fit\n var oobDegree;\n var bestEdge = currentEdge;\n var bestAlignment = currentAlignment;\n // Keep switching sides until one is found with enough space.\n // If all sides don't fit then return the unmodified element.\n for (var i = 0; i < 4; i++) {\n if (!_isEdgeInBounds(currentEstimate, bounding, currentEdge)) {\n // update least-bad edges\n var currentOOBDegree = _getOutOfBoundsDegree(currentEstimate, bounding);\n if (!oobDegree || currentOOBDegree < oobDegree) {\n oobDegree = currentOOBDegree;\n bestEdge = currentEdge;\n bestAlignment = currentAlignment;\n }\n directions.splice(directions.indexOf(currentEdge), 1);\n if (directions.length > 0) {\n if (directions.indexOf(currentEdge * -1) > -1) {\n currentEdge = currentEdge * -1;\n }\n else {\n currentAlignment = currentEdge;\n currentEdge = directions.slice(-1)[0];\n }\n currentEstimate = _estimatePosition(rect, target, { targetEdge: currentEdge, alignmentEdge: currentAlignment }, gap);\n }\n }\n else {\n return {\n elementRectangle: currentEstimate,\n targetEdge: currentEdge,\n alignmentEdge: currentAlignment,\n };\n }\n }\n // nothing fits, use least-bad option\n currentEstimate = _estimatePosition(rect, target, { targetEdge: bestEdge, alignmentEdge: bestAlignment }, gap);\n return {\n elementRectangle: currentEstimate,\n targetEdge: bestEdge,\n alignmentEdge: bestAlignment,\n };\n}\n/**\n * Flips only the alignment edge of an element rectangle. This is used instead of nudging the alignment edges\n * into position, when `alignTargetEdge` is specified.\n */\nfunction _flipAlignmentEdge(elementEstimate, target, gap, coverTarget) {\n var alignmentEdge = elementEstimate.alignmentEdge, targetEdge = elementEstimate.targetEdge, elementRectangle = elementEstimate.elementRectangle;\n var oppositeEdge = alignmentEdge * -1;\n var newEstimate = _estimatePosition(elementRectangle, target, { targetEdge: targetEdge, alignmentEdge: oppositeEdge }, gap, coverTarget);\n return {\n elementRectangle: newEstimate,\n targetEdge: targetEdge,\n alignmentEdge: oppositeEdge,\n };\n}\n/**\n * Adjusts a element rectangle to fit within the bounds given. If directionalHintFixed or covertarget is passed in\n * then the element will not flip sides on the target. They will, however, be nudged to fit within the bounds given.\n */\nfunction _adjustFitWithinBounds(element, target, bounding, positionData, gap, directionalHintFixed, coverTarget) {\n if (gap === void 0) { gap = 0; }\n var alignmentEdge = positionData.alignmentEdge, alignTargetEdge = positionData.alignTargetEdge;\n var elementEstimate = {\n elementRectangle: element,\n targetEdge: positionData.targetEdge,\n alignmentEdge: alignmentEdge,\n };\n if (!directionalHintFixed && !coverTarget) {\n elementEstimate = _flipToFit(element, target, bounding, positionData, gap);\n }\n var outOfBounds = _getOutOfBoundsEdges(elementEstimate.elementRectangle, bounding);\n // if directionalHintFixed is specified, we need to force the target edge to not change\n // we need *-1 because targetEdge refers to the target's edge; the callout edge is the opposite\n var fixedEdge = directionalHintFixed ? -elementEstimate.targetEdge : undefined;\n if (outOfBounds.length > 0) {\n if (alignTargetEdge) {\n // The edge opposite to the alignment edge might be out of bounds.\n // Flip alignment to see if we can get it within bounds.\n if (elementEstimate.alignmentEdge && outOfBounds.indexOf(elementEstimate.alignmentEdge * -1) > -1) {\n var flippedElementEstimate = _flipAlignmentEdge(elementEstimate, target, gap, coverTarget);\n if (_isRectangleWithinBounds(flippedElementEstimate.elementRectangle, bounding)) {\n return flippedElementEstimate;\n }\n else {\n // If the flipped elements edges are still out of bounds, try nudging it.\n elementEstimate = _alignOutOfBoundsEdges(_getOutOfBoundsEdges(flippedElementEstimate.elementRectangle, bounding), elementEstimate, bounding, fixedEdge);\n }\n }\n else {\n elementEstimate = _alignOutOfBoundsEdges(outOfBounds, elementEstimate, bounding, fixedEdge);\n }\n }\n else {\n elementEstimate = _alignOutOfBoundsEdges(outOfBounds, elementEstimate, bounding, fixedEdge);\n }\n }\n return elementEstimate;\n}\n/**\n * Iterates through a list of out of bounds edges and tries to nudge and align them.\n * @param outOfBoundsEdges - Array of edges that are out of bounds\n * @param elementEstimate - The current element positioning estimate\n * @param bounding - The current bounds\n * @param preserveEdge - Specify an edge that should not be modified\n */\nfunction _alignOutOfBoundsEdges(outOfBoundsEdges, elementEstimate, bounding, preserveEdge) {\n for (var _i = 0, outOfBoundsEdges_1 = outOfBoundsEdges; _i < outOfBoundsEdges_1.length; _i++) {\n var direction = outOfBoundsEdges_1[_i];\n var edgeAttempt = void 0;\n // if preserveEdge is specified, do not call _alignEdges, skip directly to _moveEdge\n // this is because _alignEdges will move the opposite edge\n if (preserveEdge && preserveEdge === direction * -1) {\n edgeAttempt = _moveEdge(elementEstimate.elementRectangle, direction, _getEdgeValue(bounding, direction), false);\n elementEstimate.forcedInBounds = true;\n }\n else {\n edgeAttempt = _alignEdges(elementEstimate.elementRectangle, bounding, direction);\n var inBounds = _isEdgeInBounds(edgeAttempt, bounding, direction * -1);\n // only update estimate if the attempt didn't break out of the opposite bounding edge\n if (!inBounds) {\n edgeAttempt = _moveEdge(edgeAttempt, direction * -1, _getEdgeValue(bounding, direction * -1), false);\n elementEstimate.forcedInBounds = true;\n }\n }\n elementEstimate.elementRectangle = edgeAttempt;\n }\n return elementEstimate;\n}\n/**\n * Moves the middle point on an edge to the point given.\n * Only moves in one direction. For instance if a bottom edge is passed in, then\n * the bottom edge will be moved in the x axis to match the point.\n */\nfunction _centerEdgeToPoint(rect, edge, point) {\n var positiveEdge = _getFlankingEdges(edge).positiveEdge;\n var elementMiddle = _getCenterValue(rect, edge);\n var distanceToMiddle = elementMiddle - _getEdgeValue(rect, positiveEdge);\n return _moveEdge(rect, positiveEdge, point - distanceToMiddle);\n}\n/**\n * Moves the element rectangle to be appropriately positioned relative to a given target.\n * Does not flip or adjust the element.\n */\nfunction _estimatePosition(elementToPosition, target, positionData, gap, coverTarget) {\n if (gap === void 0) { gap = 0; }\n var estimatedElementPosition = new Rectangle(elementToPosition.left, elementToPosition.right, elementToPosition.top, elementToPosition.bottom);\n var alignmentEdge = positionData.alignmentEdge, targetEdge = positionData.targetEdge;\n var elementEdge = coverTarget ? targetEdge : targetEdge * -1;\n estimatedElementPosition = coverTarget\n ? _alignEdges(estimatedElementPosition, target, targetEdge, gap)\n : _alignOppositeEdges(estimatedElementPosition, target, targetEdge, gap);\n // if no alignment edge is provided it's supposed to be centered.\n if (!alignmentEdge) {\n var targetMiddlePoint = _getCenterValue(target, targetEdge);\n estimatedElementPosition = _centerEdgeToPoint(estimatedElementPosition, elementEdge, targetMiddlePoint);\n }\n else {\n estimatedElementPosition = _alignEdges(estimatedElementPosition, target, alignmentEdge);\n }\n return estimatedElementPosition;\n}\n/**\n * Returns the non-opposite edges of the target edge.\n * For instance if bottom is passed in then left and right will be returned.\n */\nfunction _getFlankingEdges(edge) {\n if (edge === RectangleEdge.top || edge === RectangleEdge.bottom) {\n return {\n positiveEdge: RectangleEdge.left,\n negativeEdge: RectangleEdge.right,\n };\n }\n else {\n return {\n positiveEdge: RectangleEdge.top,\n negativeEdge: RectangleEdge.bottom,\n };\n }\n}\n/**\n * Retrieve the final value for the return edge of `elementRectangle`. If the `elementRectangle` is closer to one side\n * of the bounds versus the other, the return edge is flipped to grow inward.\n */\nfunction _finalizeReturnEdge(elementRectangle, returnEdge, bounds) {\n if (bounds &&\n Math.abs(_getRelativeEdgeDifference(elementRectangle, bounds, returnEdge)) >\n Math.abs(_getRelativeEdgeDifference(elementRectangle, bounds, returnEdge * -1))) {\n return returnEdge * -1;\n }\n return returnEdge;\n}\n/**\n * Whether or not the considered edge of the elementRectangle is lying on the edge of the bounds\n * @param elementRectangle The rectangle whose edge we are considering\n * @param bounds The rectangle marking the bounds\n * @param edge The target edge we're considering\n * @returns If the target edge of the elementRectangle is in the same location as that edge of the bounds\n */\nfunction _isEdgeOnBounds(elementRectangle, edge, bounds) {\n return bounds !== undefined && _getEdgeValue(elementRectangle, edge) === _getEdgeValue(bounds, edge);\n}\n/**\n * Finalizes the element position based on the hostElement. Only returns the\n * rectangle values to position such that they are anchored to the target.\n * This helps prevent resizing from looking very strange.\n * For instance, if the target edge is top and aligned with the left side then\n * the bottom and left values are returned so as the Callout shrinks it shrinks towards that corner.\n */\nfunction _finalizeElementPosition(elementRectangle, hostElement, targetEdge, bounds, alignmentEdge, coverTarget, doNotFinalizeReturnEdge, forceWithinBounds) {\n var returnValue = {};\n var hostRect = _getRectangleFromElement(hostElement);\n var elementEdge = coverTarget ? targetEdge : targetEdge * -1;\n var returnEdge = alignmentEdge ? alignmentEdge : _getFlankingEdges(targetEdge).positiveEdge;\n // If we are finalizing the return edge, choose the edge such that we grow away from the bounds\n // If we are not finalizing the return edge but the opposite edge is flush against the bounds,\n // choose that as the anchor edge so the element rect can grow away from the bounds' edge\n // In this case there will not be a visual difference because there is no more room for the elementRectangle to grow\n // in the usual direction\n if (!doNotFinalizeReturnEdge || _isEdgeOnBounds(elementRectangle, getOppositeEdge(returnEdge), bounds)) {\n returnEdge = _finalizeReturnEdge(elementRectangle, returnEdge, bounds);\n }\n returnValue[RectangleEdge[elementEdge]] = _getRelativeEdgeDifference(elementRectangle, hostRect, elementEdge);\n returnValue[RectangleEdge[returnEdge]] = _getRelativeEdgeDifference(elementRectangle, hostRect, returnEdge);\n // if the positioned element will still overflow, return all four edges with in-bounds values\n if (forceWithinBounds) {\n returnValue[RectangleEdge[elementEdge * -1]] = _getRelativeEdgeDifference(elementRectangle, hostRect, elementEdge * -1);\n returnValue[RectangleEdge[returnEdge * -1]] = _getRelativeEdgeDifference(elementRectangle, hostRect, returnEdge * -1);\n }\n return returnValue;\n}\n// Since the beak is rotated 45 degrees the actual height/width is the length of the diagonal.\n// We still want to position the beak based on it's midpoint which does not change. It will\n// be at (beakwidth / 2, beakwidth / 2)\nfunction _calculateActualBeakWidthInPixels(beakWidth) {\n return Math.sqrt(beakWidth * beakWidth * 2);\n}\n/**\n * Returns the appropriate IPositionData based on the props altered for RTL.\n * If directionalHintForRTL is passed in that is used if the page is RTL.\n * If directionalHint is specified, no directionalHintForRTL is available, and the page is RTL, the hint will be\n * flipped (e.g. bottomLeftEdge would become bottomRightEdge).\n *\n * If there is no directionalHint passed in, bottomAutoEdge is chosen automatically.\n */\nfunction _getPositionData(directionalHint, directionalHintForRTL, previousPositions) {\n if (directionalHint === void 0) { directionalHint = DirectionalHint.bottomAutoEdge; }\n if (previousPositions) {\n return {\n alignmentEdge: previousPositions.alignmentEdge,\n isAuto: previousPositions.isAuto,\n targetEdge: previousPositions.targetEdge,\n };\n }\n var positionInformation = __assign({}, DirectionalDictionary[directionalHint]);\n if (getRTL()) {\n // If alignment edge exists and that alignment edge is -2 or 2, right or left, then flip it.\n if (positionInformation.alignmentEdge && positionInformation.alignmentEdge % 2 === 0) {\n positionInformation.alignmentEdge = positionInformation.alignmentEdge * -1;\n }\n return directionalHintForRTL !== undefined ? DirectionalDictionary[directionalHintForRTL] : positionInformation;\n }\n return positionInformation;\n}\n/**\n * Gets the alignment data for the given information. This only really matters if the positioning is Auto.\n * If it is auto then the alignmentEdge should be chosen based on the target edge's position relative to\n * the center of the page.\n */\nfunction _getAlignmentData(positionData, target, boundingRect, coverTarget, alignTargetEdge) {\n if (positionData.isAuto) {\n positionData.alignmentEdge = getClosestEdge(positionData.targetEdge, target, boundingRect);\n }\n positionData.alignTargetEdge = alignTargetEdge;\n return positionData;\n}\nfunction getClosestEdge(targetEdge, target, boundingRect) {\n var targetCenter = _getCenterValue(target, targetEdge);\n var boundingCenter = _getCenterValue(boundingRect, targetEdge);\n var _a = _getFlankingEdges(targetEdge), positiveEdge = _a.positiveEdge, negativeEdge = _a.negativeEdge;\n if (targetCenter <= boundingCenter) {\n return positiveEdge;\n }\n else {\n return negativeEdge;\n }\n}\nfunction _positionElementWithinBounds(elementToPosition, target, bounding, positionData, gap, directionalHintFixed, coverTarget) {\n var estimatedElementPosition = _estimatePosition(elementToPosition, target, positionData, gap, coverTarget);\n if (_isRectangleWithinBounds(estimatedElementPosition, bounding)) {\n return {\n elementRectangle: estimatedElementPosition,\n targetEdge: positionData.targetEdge,\n alignmentEdge: positionData.alignmentEdge,\n };\n }\n else {\n return _adjustFitWithinBounds(estimatedElementPosition, target, bounding, positionData, gap, directionalHintFixed, coverTarget);\n }\n}\nfunction _finalizeBeakPosition(elementPosition, positionedBeak, bounds) {\n var targetEdge = elementPosition.targetEdge * -1;\n // The \"host\" element that we will use to help position the beak.\n var actualElement = new Rectangle(0, elementPosition.elementRectangle.width, 0, elementPosition.elementRectangle.height);\n var returnValue = {};\n var returnEdge = _finalizeReturnEdge(elementPosition.elementRectangle, elementPosition.alignmentEdge ? elementPosition.alignmentEdge : _getFlankingEdges(targetEdge).positiveEdge, bounds);\n // only show the beak if the callout is not fully covering the target\n var beakEdgeDifference = _getRelativeEdgeDifference(elementPosition.elementRectangle, elementPosition.targetRectangle, targetEdge);\n var showBeak = beakEdgeDifference > Math.abs(_getEdgeValue(positionedBeak, targetEdge));\n returnValue[RectangleEdge[targetEdge]] = _getEdgeValue(positionedBeak, targetEdge);\n returnValue[RectangleEdge[returnEdge]] = _getRelativeEdgeDifference(positionedBeak, actualElement, returnEdge);\n return {\n elementPosition: __assign({}, returnValue),\n closestEdge: getClosestEdge(elementPosition.targetEdge, positionedBeak, actualElement),\n targetEdge: targetEdge,\n hideBeak: !showBeak,\n };\n}\nfunction _positionBeak(beakWidth, elementPosition) {\n var target = elementPosition.targetRectangle;\n /**\n * Note about beak positioning: The actual beak width only matters for getting the gap between the callout and\n * target, it does not impact the beak placement within the callout. For example example, if the beakWidth is 8,\n * then the actual beakWidth is sqrroot(8^2 + 8^2) = 11.31x11.31. So the callout will need to be an extra 3 pixels\n * away from its target. While the beak is being positioned in the callout it still acts as though it were 8x8.\n */\n var _a = _getFlankingEdges(elementPosition.targetEdge), positiveEdge = _a.positiveEdge, negativeEdge = _a.negativeEdge;\n var beakTargetPoint = _getCenterValue(target, elementPosition.targetEdge);\n var elementBounds = new Rectangle(beakWidth / 2, elementPosition.elementRectangle.width - beakWidth / 2, beakWidth / 2, elementPosition.elementRectangle.height - beakWidth / 2);\n var beakPosition = new Rectangle(0, beakWidth, 0, beakWidth);\n beakPosition = _moveEdge(beakPosition, elementPosition.targetEdge * -1, -beakWidth / 2);\n beakPosition = _centerEdgeToPoint(beakPosition, elementPosition.targetEdge * -1, beakTargetPoint - _getRelativeRectEdgeValue(positiveEdge, elementPosition.elementRectangle));\n if (!_isEdgeInBounds(beakPosition, elementBounds, positiveEdge)) {\n beakPosition = _alignEdges(beakPosition, elementBounds, positiveEdge);\n }\n else if (!_isEdgeInBounds(beakPosition, elementBounds, negativeEdge)) {\n beakPosition = _alignEdges(beakPosition, elementBounds, negativeEdge);\n }\n return beakPosition;\n}\nfunction _getRectangleFromElement(element) {\n var clientRect = element.getBoundingClientRect();\n return new Rectangle(clientRect.left, clientRect.right, clientRect.top, clientRect.bottom);\n}\nfunction _getRectangleFromIRect(rect) {\n return new Rectangle(rect.left, rect.right, rect.top, rect.bottom);\n}\nfunction _getTargetRect(bounds, target) {\n var targetRectangle;\n if (target) {\n // eslint-disable-next-line no-extra-boolean-cast\n if (!!target.preventDefault) {\n var ev = target;\n targetRectangle = new Rectangle(ev.clientX, ev.clientX, ev.clientY, ev.clientY);\n // eslint-disable-next-line no-extra-boolean-cast\n }\n else if (!!target.getBoundingClientRect) {\n targetRectangle = _getRectangleFromElement(target);\n // HTMLImgElements can have x and y values. The check for it being a point must go last.\n }\n else {\n var rectOrPoint = target;\n // eslint-disable-next-line deprecation/deprecation\n var left = rectOrPoint.left || rectOrPoint.x;\n // eslint-disable-next-line deprecation/deprecation\n var top_1 = rectOrPoint.top || rectOrPoint.y;\n var right = rectOrPoint.right || left;\n var bottom = rectOrPoint.bottom || top_1;\n targetRectangle = new Rectangle(left, right, top_1, bottom);\n }\n if (!_isRectangleWithinBounds(targetRectangle, bounds)) {\n var outOfBounds = _getOutOfBoundsEdges(targetRectangle, bounds);\n for (var _i = 0, outOfBounds_1 = outOfBounds; _i < outOfBounds_1.length; _i++) {\n var direction = outOfBounds_1[_i];\n targetRectangle[RectangleEdge[direction]] = bounds[RectangleEdge[direction]];\n }\n }\n }\n else {\n targetRectangle = new Rectangle(0, 0, 0, 0);\n }\n return targetRectangle;\n}\n/**\n * If max height is less than zero it returns the bounds height instead.\n */\nfunction _getMaxHeightFromTargetRectangle(targetRectangle, targetEdge, gapSpace, bounds, coverTarget) {\n var maxHeight = 0;\n var directionalHint = DirectionalDictionary[targetEdge];\n // If cover target is set, then the max height should be calculated using the opposite of the target edge since\n // that's the direction that the callout will expand in.\n // For instance, if the directionalhint is bottomLeftEdge then the callout will position so it's bottom edge\n // is aligned with the bottom of the target and expand up towards the top of the screen and the calculated max height\n // is (bottom of target) - (top of screen) - gapSpace.\n var target = coverTarget ? directionalHint.targetEdge * -1 : directionalHint.targetEdge;\n if (target === RectangleEdge.top) {\n maxHeight = _getEdgeValue(targetRectangle, directionalHint.targetEdge) - bounds.top - gapSpace;\n }\n else if (target === RectangleEdge.bottom) {\n maxHeight = bounds.bottom - _getEdgeValue(targetRectangle, directionalHint.targetEdge) - gapSpace;\n }\n else {\n maxHeight = bounds.bottom - targetRectangle.top - gapSpace;\n }\n return maxHeight > 0 ? maxHeight : bounds.height;\n}\nfunction _positionElementRelative(props, elementToPosition, boundingRect, previousPositions) {\n var gap = props.gapSpace ? props.gapSpace : 0;\n var targetRect = _getTargetRect(boundingRect, props.target);\n var positionData = _getAlignmentData(_getPositionData(props.directionalHint, props.directionalHintForRTL, previousPositions), targetRect, boundingRect, props.coverTarget, props.alignTargetEdge);\n var positionedElement = _positionElementWithinBounds(_getRectangleFromElement(elementToPosition), targetRect, boundingRect, positionData, gap, props.directionalHintFixed, props.coverTarget);\n return __assign(__assign({}, positionedElement), { targetRectangle: targetRect });\n}\nfunction _finalizePositionData(positionedElement, hostElement, bounds, coverTarget, doNotFinalizeReturnEdge) {\n var finalizedElement = _finalizeElementPosition(positionedElement.elementRectangle, hostElement, positionedElement.targetEdge, bounds, positionedElement.alignmentEdge, coverTarget, doNotFinalizeReturnEdge, positionedElement.forcedInBounds);\n return {\n elementPosition: finalizedElement,\n targetEdge: positionedElement.targetEdge,\n alignmentEdge: positionedElement.alignmentEdge,\n };\n}\nfunction _positionElement(props, hostElement, elementToPosition, previousPositions) {\n var boundingRect = props.bounds\n ? _getRectangleFromIRect(props.bounds)\n : new Rectangle(0, window.innerWidth - getScrollbarWidth(), 0, window.innerHeight);\n var positionedElement = _positionElementRelative(props, elementToPosition, boundingRect, previousPositions);\n return _finalizePositionData(positionedElement, hostElement, boundingRect, props.coverTarget);\n}\nfunction _positionCallout(props, hostElement, callout, previousPositions, doNotFinalizeReturnEdge) {\n var beakWidth = props.isBeakVisible ? props.beakWidth || 0 : 0;\n var gap = _calculateActualBeakWidthInPixels(beakWidth) / 2 + (props.gapSpace ? props.gapSpace : 0);\n var positionProps = props;\n positionProps.gapSpace = gap;\n var boundingRect = props.bounds\n ? _getRectangleFromIRect(props.bounds)\n : new Rectangle(0, window.innerWidth - getScrollbarWidth(), 0, window.innerHeight);\n var positionedElement = _positionElementRelative(positionProps, callout, boundingRect, previousPositions);\n var beakPositioned = _positionBeak(beakWidth, positionedElement);\n var finalizedBeakPosition = _finalizeBeakPosition(positionedElement, beakPositioned, boundingRect);\n return __assign(__assign({}, _finalizePositionData(positionedElement, hostElement, boundingRect, props.coverTarget, doNotFinalizeReturnEdge)), { beakPosition: finalizedBeakPosition });\n}\nfunction _positionCard(props, hostElement, callout, previousPositions) {\n return _positionCallout(props, hostElement, callout, previousPositions, true);\n}\n// END PRIVATE FUNCTIONS\nexport var __positioningTestPackage = {\n _finalizePositionData: _finalizePositionData,\n _finalizeBeakPosition: _finalizeBeakPosition,\n _calculateActualBeakWidthInPixels: _calculateActualBeakWidthInPixels,\n _positionElementWithinBounds: _positionElementWithinBounds,\n _positionBeak: _positionBeak,\n _getPositionData: _getPositionData,\n _getMaxHeightFromTargetRectangle: _getMaxHeightFromTargetRectangle,\n};\n/**\n * Used to position an element relative to the given positioning props.\n * If positioning has been completed before, previousPositions can be passed to ensure that the positioning element\n * repositions based on its previous targets rather than starting with directionalhint.\n */\nexport function positionElement(props, hostElement, elementToPosition, previousPositions) {\n return _positionElement(props, hostElement, elementToPosition, previousPositions);\n}\nexport function positionCallout(props, hostElement, elementToPosition, previousPositions) {\n return _positionCallout(props, hostElement, elementToPosition, previousPositions);\n}\nexport function positionCard(props, hostElement, elementToPosition, previousPositions) {\n return _positionCard(props, hostElement, elementToPosition, previousPositions);\n}\n/**\n * Gets the maximum height that a rectangle can have in order to fit below or above a target.\n * If the directional hint specifies a left or right edge (i.e. leftCenter) it will limit the height to the topBorder\n * of the target given.\n * If no bounds are provided then the window is treated as the bounds.\n */\nexport function getMaxHeight(target, targetEdge, gapSpace, bounds, coverTarget) {\n if (gapSpace === void 0) { gapSpace = 0; }\n var mouseTarget = target;\n var elementTarget = target;\n var rectOrPointTarget = target;\n var targetRect;\n var boundingRectangle = bounds\n ? _getRectangleFromIRect(bounds)\n : new Rectangle(0, window.innerWidth - getScrollbarWidth(), 0, window.innerHeight);\n // eslint-disable-next-line deprecation/deprecation\n var left = rectOrPointTarget.left || rectOrPointTarget.x;\n // eslint-disable-next-line deprecation/deprecation\n var top = rectOrPointTarget.top || rectOrPointTarget.y;\n var right = rectOrPointTarget.right || left;\n var bottom = rectOrPointTarget.bottom || top;\n // eslint-disable-next-line no-extra-boolean-cast -- may not actually be a MouseEvent\n if (!!mouseTarget.stopPropagation) {\n targetRect = new Rectangle(mouseTarget.clientX, mouseTarget.clientX, mouseTarget.clientY, mouseTarget.clientY);\n }\n else if (left !== undefined && top !== undefined) {\n targetRect = new Rectangle(left, right, top, bottom);\n }\n else {\n targetRect = _getRectangleFromElement(elementTarget);\n }\n return _getMaxHeightFromTargetRectangle(targetRect, targetEdge, gapSpace, boundingRectangle, coverTarget);\n}\n/**\n * Returns the opposite edge of the given RectangleEdge.\n */\nexport function getOppositeEdge(edge) {\n return edge * -1;\n}\nfunction _getBoundsFromTargetWindow(target, targetWindow) {\n var segments = undefined;\n if (targetWindow.getWindowSegments) {\n segments = targetWindow.getWindowSegments();\n }\n // Identify if we're dealing with single screen scenarios.\n if (segments === undefined || segments.length <= 1) {\n return {\n top: 0,\n left: 0,\n right: targetWindow.innerWidth,\n bottom: targetWindow.innerHeight,\n width: targetWindow.innerWidth,\n height: targetWindow.innerHeight,\n };\n }\n // Logic for determining dual screen scenarios.\n var x = 0;\n var y = 0;\n // If the target is an Element get coordinates for its center.\n if (target !== null && !!target.getBoundingClientRect) {\n var clientRect = target.getBoundingClientRect();\n x = (clientRect.left + clientRect.right) / 2;\n y = (clientRect.top + clientRect.bottom) / 2;\n }\n // If the target is not null get x-axis and y-axis coordinates directly.\n else if (target !== null) {\n // eslint-disable-next-line deprecation/deprecation\n x = target.left || target.x;\n // eslint-disable-next-line deprecation/deprecation\n y = target.top || target.y;\n }\n var bounds = { top: 0, left: 0, right: 0, bottom: 0, width: 0, height: 0 };\n // Define which window segment are the coordinates in and calculate bounds based on that.\n for (var _i = 0, segments_1 = segments; _i < segments_1.length; _i++) {\n var segment = segments_1[_i];\n if (x && segment.left <= x && segment.right >= x && y && segment.top <= y && segment.bottom >= y) {\n bounds = {\n top: segment.top,\n left: segment.left,\n right: segment.right,\n bottom: segment.bottom,\n width: segment.width,\n height: segment.height,\n };\n }\n }\n return bounds;\n}\nexport function getBoundsFromTargetWindow(target, targetWindow) {\n return _getBoundsFromTargetWindow(target, targetWindow);\n}\n//# sourceMappingURL=positioning.js.map","import { MAX_COLOR_RGB } from './consts';\n/** Converts RGB components to an HSV color. */\nexport function rgb2hsv(r, g, b) {\n var h = NaN;\n var max = Math.max(r, g, b);\n var min = Math.min(r, g, b);\n var delta = max - min;\n // hue\n if (delta === 0) {\n h = 0;\n }\n else if (r === max) {\n h = ((g - b) / delta) % 6;\n }\n else if (g === max) {\n h = (b - r) / delta + 2;\n }\n else if (b === max) {\n h = (r - g) / delta + 4;\n }\n h = Math.round(h * 60);\n if (h < 0) {\n h += 360;\n }\n // saturation\n var s = Math.round((max === 0 ? 0 : delta / max) * 100);\n // value\n var v = Math.round((max / MAX_COLOR_RGB) * 100);\n return { h: h, s: s, v: v };\n}\n//# sourceMappingURL=rgb2hsv.js.map","import { __assign } from \"tslib\";\nimport { hsv2rgb } from './hsv2rgb';\nimport { rgb2hex } from './rgb2hex';\nimport { _rgbaOrHexString } from './_rgbaOrHexString';\n/**\n * Gets a color with the same hue as `color` and other components updated to match the given\n * saturation and value.\n *\n * Does not modify the original `color` and does not supply a default alpha value.\n */\nexport function updateSV(color, s, v) {\n var _a = hsv2rgb(color.h, s, v), r = _a.r, g = _a.g, b = _a.b;\n var hex = rgb2hex(r, g, b);\n return __assign(__assign({}, color), { s: s, v: v, r: r, g: g, b: b, hex: hex, str: _rgbaOrHexString(r, g, b, color.a, hex) });\n}\n//# sourceMappingURL=updateSV.js.map","import { __assign, __extends } from \"tslib\";\nimport * as React from 'react';\nimport { BaseDecorator } from './BaseDecorator';\nimport { getWindow, hoistStatics, EventGroup } from '../../Utilities';\nimport { WindowContext } from '../../WindowProvider';\nexport var ResponsiveMode;\n(function (ResponsiveMode) {\n /** Width \\<= 479px */\n ResponsiveMode[ResponsiveMode[\"small\"] = 0] = \"small\";\n /** Width \\> 479px and \\<= 639px */\n ResponsiveMode[ResponsiveMode[\"medium\"] = 1] = \"medium\";\n /** Width \\> 639px and \\<= 1023px */\n ResponsiveMode[ResponsiveMode[\"large\"] = 2] = \"large\";\n /** Width \\> 1023px and \\<= 1365px */\n ResponsiveMode[ResponsiveMode[\"xLarge\"] = 3] = \"xLarge\";\n /** Width \\> 1365px and \\<= 1919px */\n ResponsiveMode[ResponsiveMode[\"xxLarge\"] = 4] = \"xxLarge\";\n /** Width \\> 1919px */\n ResponsiveMode[ResponsiveMode[\"xxxLarge\"] = 5] = \"xxxLarge\";\n ResponsiveMode[ResponsiveMode[\"unknown\"] = 999] = \"unknown\";\n})(ResponsiveMode || (ResponsiveMode = {}));\nvar RESPONSIVE_MAX_CONSTRAINT = [479, 639, 1023, 1365, 1919, 99999999];\n/**\n * User specified mode to default to, useful for server side rendering scenarios.\n */\nvar _defaultMode;\n/**\n * Tracking the last mode we successfully rendered, which allows us to\n * paint initial renders with the correct size.\n */\nvar _lastMode;\n/**\n * Allows a server rendered scenario to provide a **default** responsive mode.\n * This WILL NOT trigger any updates to components that have already consumed the responsive mode!\n */\nexport function setResponsiveMode(responsiveMode) {\n _defaultMode = responsiveMode;\n}\n/**\n * Initializes the responsive mode to the current window size. This can be used to avoid\n * a re-render during first component mount since the window would otherwise not be measured\n * until after mounting.\n *\n * This WILL NOT trigger any updates to components that have already consumed the responsive mode!\n */\nexport function initializeResponsiveMode(element) {\n var currentWindow = getWindow(element);\n if (currentWindow) {\n getResponsiveMode(currentWindow);\n }\n}\nexport function getInitialResponsiveMode() {\n var _a;\n return (_a = _defaultMode !== null && _defaultMode !== void 0 ? _defaultMode : _lastMode) !== null && _a !== void 0 ? _a : ResponsiveMode.large;\n}\n/**\n * @deprecated Decorator usage is deprecated. Either call `getResponsiveMode` manually, or\n * use the `useResponsiveMode` hook within a function component.\n */\nexport function withResponsiveMode(ComposedComponent) {\n var _a;\n // eslint-disable-next-line deprecation/deprecation\n var resultClass = (_a = /** @class */ (function (_super) {\n __extends(WithResponsiveMode, _super);\n function WithResponsiveMode(props) {\n var _this = _super.call(this, props) || this;\n _this._onResize = function () {\n var responsiveMode = getResponsiveMode(_this.context.window);\n if (responsiveMode !== _this.state.responsiveMode) {\n _this.setState({\n responsiveMode: responsiveMode,\n });\n }\n };\n _this._events = new EventGroup(_this);\n _this._updateComposedComponentRef = _this._updateComposedComponentRef.bind(_this);\n _this.state = {\n responsiveMode: getInitialResponsiveMode(),\n };\n return _this;\n }\n WithResponsiveMode.prototype.componentDidMount = function () {\n this._events.on(this.context.window, 'resize', this._onResize);\n this._onResize();\n };\n WithResponsiveMode.prototype.componentWillUnmount = function () {\n this._events.dispose();\n };\n WithResponsiveMode.prototype.render = function () {\n var responsiveMode = this.state.responsiveMode;\n return responsiveMode === ResponsiveMode.unknown ? null : (React.createElement(ComposedComponent, __assign({ ref: this._updateComposedComponentRef, responsiveMode: responsiveMode }, this.props)));\n };\n return WithResponsiveMode;\n }(BaseDecorator)),\n _a.contextType = WindowContext,\n _a);\n return hoistStatics(ComposedComponent, resultClass);\n}\n/**\n * Hook to get the current responsive mode (window size category).\n * @param currentWindow - Use this window when determining the responsive mode.\n */\nexport function getResponsiveMode(currentWindow) {\n var responsiveMode = ResponsiveMode.small;\n if (currentWindow) {\n try {\n while (currentWindow.innerWidth > RESPONSIVE_MAX_CONSTRAINT[responsiveMode]) {\n responsiveMode++;\n }\n }\n catch (e) {\n // Return a best effort result in cases where we're in the browser but it throws on getting innerWidth.\n responsiveMode = getInitialResponsiveMode();\n }\n // Tracking last mode just gives us a better default in future renders,\n // which avoids starting with the wrong value if we've measured once.\n _lastMode = responsiveMode;\n }\n else {\n if (_defaultMode !== undefined) {\n responsiveMode = _defaultMode;\n }\n else {\n throw new Error('Content was rendered in a server environment without providing a default responsive mode. ' +\n 'Call setResponsiveMode to define what the responsive mode is.');\n }\n }\n return responsiveMode;\n}\n//# sourceMappingURL=withResponsiveMode.js.map","import { hsl2hsv } from './hsl2hsv';\nimport { hsv2rgb } from './hsv2rgb';\n/** Converts HSL components to an RGB color. Does not set the alpha value. */\nexport function hsl2rgb(h, s, l) {\n var hsv = hsl2hsv(h, s, l);\n return hsv2rgb(hsv.h, hsv.s, hsv.v);\n}\n//# sourceMappingURL=hsl2rgb.js.map","import { __spreadArray } from \"tslib\";\nimport { KTP_SEPARATOR, KTP_PREFIX, DATAKTP_TARGET, DATAKTP_EXECUTE_TARGET, KTP_LAYER_ID } from './KeytipConstants';\nimport { addElementAtIndex } from '../../Utilities';\n/**\n * Converts a whole set of KeySequences into one keytip ID, which will be the ID for the last keytip sequence specified\n * keySequences should not include the initial keytip 'start' sequence.\n *\n * @param keySequences - Full path of IKeySequences for one keytip.\n * @returns String to use for the keytip ID.\n */\nexport function sequencesToID(keySequences) {\n return keySequences.reduce(function (prevValue, keySequence) {\n return prevValue + KTP_SEPARATOR + keySequence.split('').join(KTP_SEPARATOR);\n }, KTP_PREFIX);\n}\n/**\n * Merges an overflow sequence with a key sequence.\n *\n * @param keySequences - Full sequence for one keytip.\n * @param overflowKeySequences - Full overflow keytip sequence.\n * @returns Sequence that will be used by the keytip when in the overflow.\n */\nexport function mergeOverflows(keySequences, overflowKeySequences) {\n var overflowSequenceLen = overflowKeySequences.length;\n var overflowSequence = __spreadArray([], overflowKeySequences).pop();\n var newKeySequences = __spreadArray([], keySequences);\n return addElementAtIndex(newKeySequences, overflowSequenceLen - 1, overflowSequence);\n}\n/**\n * Constructs the data-ktp-target attribute selector from a full key sequence.\n *\n * @param keySequences - Full string[] for a Keytip.\n * @returns String selector to use to query for the keytip target.\n */\nexport function ktpTargetFromSequences(keySequences) {\n return '[' + DATAKTP_TARGET + '=\"' + sequencesToID(keySequences) + '\"]';\n}\n/**\n * Constructs the data-ktp-execute-target attribute selector from a keytip ID.\n *\n * @param keytipId - ID of the Keytip.\n * @returns String selector to use to query for the keytip execute target.\n */\nexport function ktpTargetFromId(keytipId) {\n return '[' + DATAKTP_EXECUTE_TARGET + '=\"' + keytipId + '\"]';\n}\n/**\n * Gets the aria-describedby value to put on the component with this keytip.\n *\n * @param keySequences - KeySequences of the keytip.\n * @returns The aria-describedby value to set on the component with this keytip.\n */\nexport function getAriaDescribedBy(keySequences) {\n var describedby = ' ' + KTP_LAYER_ID;\n if (!keySequences.length) {\n // Return just the layer ID\n return describedby;\n }\n return describedby + ' ' + sequencesToID(keySequences);\n}\n//# sourceMappingURL=KeytipUtils.js.map","import { find } from '../../Utilities';\n/**\n * Tests for equality between two IKeytipTransitionKeys.\n *\n * @param key1 - First IKeytipTransitionKey.\n * @param key2 - Second IKeytipTransitionKey.\n * @returns T/F if the transition keys are equal.\n */\nexport function transitionKeysAreEqual(key1, key2) {\n if (key1.key !== key2.key) {\n return false;\n }\n var mod1 = key1.modifierKeys;\n var mod2 = key2.modifierKeys;\n if ((!mod1 && mod2) || (mod1 && !mod2)) {\n // Not equal if one modifier is defined and the other isn't\n return false;\n }\n if (mod1 && mod2) {\n if (mod1.length !== mod2.length) {\n return false;\n }\n // Sort both arrays\n mod1 = mod1.sort();\n mod2 = mod2.sort();\n for (var i = 0; i < mod1.length; i++) {\n if (mod1[i] !== mod2[i]) {\n return false;\n }\n }\n }\n return true;\n}\n/**\n * Tests if 'key' is present in 'keys'.\n *\n * @param keys - Array of IKeytipTransitionKey.\n * @param key - IKeytipTransitionKey to find in 'keys'.\n * @returns T/F if 'keys' contains 'key'.\n */\nexport function transitionKeysContain(keys, key) {\n return !!find(keys, function (transitionKey) {\n return transitionKeysAreEqual(transitionKey, key);\n });\n}\n//# sourceMappingURL=IKeytipTransitionKey.js.map","import { __assign } from \"tslib\";\nimport { cssColor } from './cssColor';\nimport { getColorFromRGBA } from './getColorFromRGBA';\n/**\n * Converts a CSS color string to a color object.\n * Note that hex colors *must* be prefixed with # to be considered valid.\n *\n * `inputColor` will be used unmodified as the `str` property of the returned object.\n * Alpha defaults to 100 if not specified in `inputColor`.\n * Returns undefined if the color string is invalid/not recognized.\n */\nexport function getColorFromString(inputColor) {\n var color = cssColor(inputColor);\n if (!color) {\n return;\n }\n return __assign(__assign({}, getColorFromRGBA(color)), { str: inputColor });\n}\n//# sourceMappingURL=getColorFromString.js.map","// Do not modify this file; it is generated as part of publish.\n// The checked in version is a placeholder only and will not be updated.\nimport { setVersion } from '@fluentui/set-version';\nsetVersion('@fluentui/react', '8.48.0');\n//# sourceMappingURL=version.js.map","import { MAX_COLOR_ALPHA } from './consts';\nimport { hsl2rgb } from './hsl2rgb';\n/**\n * Converts a valid CSS color string to an RGB color.\n * Note that hex colors *must* be prefixed with # to be considered valid.\n * Alpha in returned color defaults to 100.\n * Four and eight digit hex values (with alpha) are supported if the current browser supports them.\n */\nexport function cssColor(color) {\n if (!color) {\n return undefined;\n }\n // Need to check the following valid color formats: RGB(A), HSL(A), hex, named color\n // First check for well formatted RGB(A), HSL(A), and hex formats at the start.\n // This is for perf (no creating an element) and catches the intentional \"transparent\" color\n // case early on.\n var easyColor = _rgba(color) || _hex6(color) || _hex3(color) || _hsla(color);\n if (easyColor) {\n return easyColor;\n }\n // if the above fails, do the more expensive catch-all\n return _browserCompute(color);\n}\n/**\n * Uses the browser's getComputedStyle() to determine what the passed-in color is.\n * This assumes _rgba, _hex6, _hex3, and _hsla have already been tried and all failed.\n * This works by attaching an element to the DOM, which may fail in server-side rendering\n * or with headless browsers.\n */\nfunction _browserCompute(str) {\n if (typeof document === 'undefined') {\n // don't throw an error when used server-side\n return undefined;\n }\n var elem = document.createElement('div');\n elem.style.backgroundColor = str;\n // This element must be attached to the DOM for getComputedStyle() to have a value\n elem.style.position = 'absolute';\n elem.style.top = '-9999px';\n elem.style.left = '-9999px';\n elem.style.height = '1px';\n elem.style.width = '1px';\n document.body.appendChild(elem);\n var eComputedStyle = getComputedStyle(elem);\n var computedColor = eComputedStyle && eComputedStyle.backgroundColor;\n document.body.removeChild(elem);\n // computedColor is always an RGB(A) string, except for invalid colors in IE/Edge which return 'transparent'\n // browsers return one of these if the color string is invalid,\n // so need to differentiate between an actual error and intentionally passing in this color\n if (computedColor === 'rgba(0, 0, 0, 0)' || computedColor === 'transparent') {\n switch (str.trim()) {\n // RGB and HSL were already checked at the start of the function\n case 'transparent':\n case '#0000':\n case '#00000000':\n return { r: 0, g: 0, b: 0, a: 0 };\n }\n return undefined;\n }\n return _rgba(computedColor);\n}\n/**\n * If `str` is in valid `rgb()` or `rgba()` format, returns an RGB color (alpha defaults to 100).\n * Otherwise returns undefined.\n */\nfunction _rgba(str) {\n if (!str) {\n return undefined;\n }\n var match = str.match(/^rgb(a?)\\(([\\d., ]+)\\)$/);\n if (match) {\n var hasAlpha = !!match[1];\n var expectedPartCount = hasAlpha ? 4 : 3;\n var parts = match[2].split(/ *, */).map(Number);\n if (parts.length === expectedPartCount) {\n return {\n r: parts[0],\n g: parts[1],\n b: parts[2],\n a: hasAlpha ? parts[3] * 100 : MAX_COLOR_ALPHA,\n };\n }\n }\n}\n/**\n * If `str` is in `hsl()` or `hsla()` format, returns an RGB color (alpha defaults to 100).\n * Otherwise returns undefined.\n */\nfunction _hsla(str) {\n var match = str.match(/^hsl(a?)\\(([\\d., ]+)\\)$/);\n if (match) {\n var hasAlpha = !!match[1];\n var expectedPartCount = hasAlpha ? 4 : 3;\n var parts = match[2].split(/ *, */).map(Number);\n if (parts.length === expectedPartCount) {\n var rgba = hsl2rgb(parts[0], parts[1], parts[2]);\n rgba.a = hasAlpha ? parts[3] * 100 : MAX_COLOR_ALPHA;\n return rgba;\n }\n }\n}\n/**\n * If `str` is in valid 6-digit hex format *with* # prefix, returns an RGB color (with alpha 100).\n * Otherwise returns undefined.\n */\nfunction _hex6(str) {\n if (str[0] === '#' && str.length === 7 && /^#[\\da-fA-F]{6}$/.test(str)) {\n return {\n r: parseInt(str.slice(1, 3), 16),\n g: parseInt(str.slice(3, 5), 16),\n b: parseInt(str.slice(5, 7), 16),\n a: MAX_COLOR_ALPHA,\n };\n }\n}\n/**\n * If `str` is in valid 3-digit hex format *with* # prefix, returns an RGB color (with alpha 100).\n * Otherwise returns undefined.\n */\nfunction _hex3(str) {\n if (str[0] === '#' && str.length === 4 && /^#[\\da-fA-F]{3}$/.test(str)) {\n return {\n r: parseInt(str[1] + str[1], 16),\n g: parseInt(str[2] + str[2], 16),\n b: parseInt(str[3] + str[3], 16),\n a: MAX_COLOR_ALPHA,\n };\n }\n}\n//# sourceMappingURL=cssColor.js.map","export * from './ButtonGrid';\nexport * from './ButtonGrid.types';\nexport * from './ButtonGridCell';\nexport * from './ButtonGridCell.types';\n//# sourceMappingURL=index.js.map","import { MAX_COLOR_ALPHA, MAX_COLOR_RGB } from './consts';\nimport { clamp } from './clamp';\n/** Corrects an RGB color to fall within the valid range. */\nexport function correctRGB(color) {\n return {\n r: clamp(color.r, MAX_COLOR_RGB),\n g: clamp(color.g, MAX_COLOR_RGB),\n b: clamp(color.b, MAX_COLOR_RGB),\n a: typeof color.a === 'number' ? clamp(color.a, MAX_COLOR_ALPHA) : color.a,\n };\n}\n//# sourceMappingURL=correctRGB.js.map","import { __assign, __extends } from \"tslib\";\nimport * as React from 'react';\nimport { Async, EventGroup, KeyCodes, elementContains, findScrollableParent, getParent, getDocument, getWindow, isElementTabbable, css, initializeComponentRef, FocusRects, } from '../../Utilities';\nimport { SelectionMode } from './interfaces';\n// Selection definitions:\n//\n// Anchor index: the point from which a range selection starts.\n// Focus index: the point from which layout movement originates from.\n//\n// These two can differ. Tests:\n//\n// If you start at index 5\n// Shift click to index 10\n// The focus is 10, the anchor is 5.\n// If you shift click at index 0\n// The anchor remains at 5, the items between 0 and 5 are selected and everything else is cleared.\n// If you click index 8\n// The anchor and focus are set to 8.\nvar SELECTION_DISABLED_ATTRIBUTE_NAME = 'data-selection-disabled';\nvar SELECTION_INDEX_ATTRIBUTE_NAME = 'data-selection-index';\nvar SELECTION_TOGGLE_ATTRIBUTE_NAME = 'data-selection-toggle';\nvar SELECTION_INVOKE_ATTRIBUTE_NAME = 'data-selection-invoke';\nvar SELECTION_INVOKE_TOUCH_ATTRIBUTE_NAME = 'data-selection-touch-invoke';\nvar SELECTALL_TOGGLE_ALL_ATTRIBUTE_NAME = 'data-selection-all-toggle';\nvar SELECTION_SELECT_ATTRIBUTE_NAME = 'data-selection-select';\n/**\n * {@docCategory Selection}\n */\nvar SelectionZone = /** @class */ (function (_super) {\n __extends(SelectionZone, _super);\n function SelectionZone(props) {\n var _this = _super.call(this, props) || this;\n _this._root = React.createRef();\n /**\n * In some cases, the consuming scenario requires to set focus on a row without having SelectionZone\n * react to the event. Note that focus events in IE \\<= 11 will occur asynchronously after .focus() has\n * been called on an element, so we need a flag to store the idea that we will bypass the \"next\"\n * focus event that occurs. This method does that.\n */\n _this.ignoreNextFocus = function () {\n _this._handleNextFocus(false);\n };\n _this._onSelectionChange = function () {\n var selection = _this.props.selection;\n var isModal = selection.isModal && selection.isModal();\n _this.setState({\n isModal: isModal,\n });\n };\n _this._onMouseDownCapture = function (ev) {\n var target = ev.target;\n if (document.activeElement !== target && !elementContains(document.activeElement, target)) {\n _this.ignoreNextFocus();\n return;\n }\n if (!elementContains(target, _this._root.current)) {\n return;\n }\n while (target !== _this._root.current) {\n if (_this._hasAttribute(target, SELECTION_INVOKE_ATTRIBUTE_NAME)) {\n _this.ignoreNextFocus();\n break;\n }\n target = getParent(target);\n }\n };\n /**\n * When we focus an item, for single/multi select scenarios, we should try to select it immediately\n * as long as the focus did not originate from a mouse down/touch event. For those cases, we handle them\n * specially.\n */\n _this._onFocus = function (ev) {\n var target = ev.target;\n var selection = _this.props.selection;\n var isToggleModifierPressed = _this._isCtrlPressed || _this._isMetaPressed;\n var selectionMode = _this._getSelectionMode();\n if (_this._shouldHandleFocus && selectionMode !== SelectionMode.none) {\n var isToggle = _this._hasAttribute(target, SELECTION_TOGGLE_ATTRIBUTE_NAME);\n var itemRoot = _this._findItemRoot(target);\n if (!isToggle && itemRoot) {\n var index = _this._getItemIndex(itemRoot);\n if (isToggleModifierPressed) {\n // set anchor only.\n selection.setIndexSelected(index, selection.isIndexSelected(index), true);\n if (_this.props.enterModalOnTouch && _this._isTouch && selection.setModal) {\n selection.setModal(true);\n _this._setIsTouch(false);\n }\n }\n else {\n if (_this.props.isSelectedOnFocus) {\n _this._onItemSurfaceClick(ev, index);\n }\n }\n }\n }\n _this._handleNextFocus(false);\n };\n _this._onMouseDown = function (ev) {\n _this._updateModifiers(ev);\n var target = ev.target;\n var itemRoot = _this._findItemRoot(target);\n // No-op if selection is disabled\n if (_this._isSelectionDisabled(target)) {\n return;\n }\n while (target !== _this._root.current) {\n if (_this._hasAttribute(target, SELECTALL_TOGGLE_ALL_ATTRIBUTE_NAME)) {\n break;\n }\n else if (itemRoot) {\n if (_this._hasAttribute(target, SELECTION_TOGGLE_ATTRIBUTE_NAME)) {\n break;\n }\n else if (_this._hasAttribute(target, SELECTION_INVOKE_ATTRIBUTE_NAME)) {\n break;\n }\n else if ((target === itemRoot || _this._shouldAutoSelect(target)) &&\n !_this._isShiftPressed &&\n !_this._isCtrlPressed &&\n !_this._isMetaPressed) {\n _this._onInvokeMouseDown(ev, _this._getItemIndex(itemRoot));\n break;\n }\n else if (_this.props.disableAutoSelectOnInputElements &&\n (target.tagName === 'A' || target.tagName === 'BUTTON' || target.tagName === 'INPUT')) {\n return;\n }\n }\n target = getParent(target);\n }\n };\n _this._onTouchStartCapture = function (ev) {\n _this._setIsTouch(true);\n };\n _this._onClick = function (ev) {\n var _a = _this.props.enableTouchInvocationTarget, enableTouchInvocationTarget = _a === void 0 ? false : _a;\n _this._updateModifiers(ev);\n var target = ev.target;\n var itemRoot = _this._findItemRoot(target);\n var isSelectionDisabled = _this._isSelectionDisabled(target);\n while (target !== _this._root.current) {\n if (_this._hasAttribute(target, SELECTALL_TOGGLE_ALL_ATTRIBUTE_NAME)) {\n if (!isSelectionDisabled) {\n _this._onToggleAllClick(ev);\n }\n break;\n }\n else if (itemRoot) {\n var index = _this._getItemIndex(itemRoot);\n if (_this._hasAttribute(target, SELECTION_TOGGLE_ATTRIBUTE_NAME)) {\n if (!isSelectionDisabled) {\n if (_this._isShiftPressed) {\n _this._onItemSurfaceClick(ev, index);\n }\n else {\n _this._onToggleClick(ev, index);\n }\n }\n break;\n }\n else if ((_this._isTouch &&\n enableTouchInvocationTarget &&\n _this._hasAttribute(target, SELECTION_INVOKE_TOUCH_ATTRIBUTE_NAME)) ||\n _this._hasAttribute(target, SELECTION_INVOKE_ATTRIBUTE_NAME)) {\n // Items should be invokable even if selection is disabled.\n _this._onInvokeClick(ev, index);\n break;\n }\n else if (target === itemRoot) {\n if (!isSelectionDisabled) {\n _this._onItemSurfaceClick(ev, index);\n }\n break;\n }\n else if (target.tagName === 'A' || target.tagName === 'BUTTON' || target.tagName === 'INPUT') {\n return;\n }\n }\n target = getParent(target);\n }\n };\n _this._onContextMenu = function (ev) {\n var target = ev.target;\n var _a = _this.props, onItemContextMenu = _a.onItemContextMenu, selection = _a.selection;\n if (onItemContextMenu) {\n var itemRoot = _this._findItemRoot(target);\n if (itemRoot) {\n var index = _this._getItemIndex(itemRoot);\n _this._onInvokeMouseDown(ev, index);\n var skipPreventDefault = onItemContextMenu(selection.getItems()[index], index, ev.nativeEvent);\n // In order to keep back compat, if the value here is undefined, then we should still\n // call preventDefault(). Only in the case where true is explicitly returned should\n // the call be skipped.\n if (!skipPreventDefault) {\n ev.preventDefault();\n }\n }\n }\n };\n /**\n * In multi selection, if you double click within an item's root (but not within the invoke element or\n * input elements), we should execute the invoke handler.\n */\n _this._onDoubleClick = function (ev) {\n var target = ev.target;\n var onItemInvoked = _this.props.onItemInvoked;\n var itemRoot = _this._findItemRoot(target);\n if (itemRoot && onItemInvoked && !_this._isInputElement(target)) {\n var index = _this._getItemIndex(itemRoot);\n while (target !== _this._root.current) {\n if (_this._hasAttribute(target, SELECTION_TOGGLE_ATTRIBUTE_NAME) ||\n _this._hasAttribute(target, SELECTION_INVOKE_ATTRIBUTE_NAME)) {\n break;\n }\n else if (target === itemRoot) {\n _this._onInvokeClick(ev, index);\n break;\n }\n target = getParent(target);\n }\n target = getParent(target);\n }\n };\n _this._onKeyDownCapture = function (ev) {\n _this._updateModifiers(ev);\n _this._handleNextFocus(true);\n };\n _this._onKeyDown = function (ev) {\n _this._updateModifiers(ev);\n var target = ev.target;\n var isSelectionDisabled = _this._isSelectionDisabled(target);\n var selection = _this.props.selection;\n // eslint-disable-next-line deprecation/deprecation\n var isSelectAllKey = ev.which === KeyCodes.a && (_this._isCtrlPressed || _this._isMetaPressed);\n // eslint-disable-next-line deprecation/deprecation\n var isClearSelectionKey = ev.which === KeyCodes.escape;\n // Ignore key downs from input elements.\n if (_this._isInputElement(target)) {\n // A key was pressed while an item in this zone was focused.\n return;\n }\n var selectionMode = _this._getSelectionMode();\n // If ctrl-a is pressed, select all (if all are not already selected.)\n if (isSelectAllKey && selectionMode === SelectionMode.multiple && !selection.isAllSelected()) {\n if (!isSelectionDisabled) {\n selection.setAllSelected(true);\n }\n ev.stopPropagation();\n ev.preventDefault();\n return;\n }\n // If escape is pressed, clear selection (if any are selected.)\n if (isClearSelectionKey && selection.getSelectedCount() > 0) {\n if (!isSelectionDisabled) {\n selection.setAllSelected(false);\n }\n ev.stopPropagation();\n ev.preventDefault();\n return;\n }\n var itemRoot = _this._findItemRoot(target);\n // If a key was pressed within an item, we should treat \"enters\" as invokes and \"space\" as toggle\n if (itemRoot) {\n var index = _this._getItemIndex(itemRoot);\n while (target !== _this._root.current) {\n if (_this._hasAttribute(target, SELECTION_TOGGLE_ATTRIBUTE_NAME)) {\n // For toggle elements, assuming they are rendered as buttons, they will generate a click event,\n // so we can no-op for any keydowns in this case.\n break;\n }\n else if (_this._shouldAutoSelect(target)) {\n if (!isSelectionDisabled) {\n // If the event went to an element which should trigger auto-select, select it and then let\n // the default behavior kick in.\n _this._onInvokeMouseDown(ev, index);\n }\n break;\n }\n else if (\n // eslint-disable-next-line deprecation/deprecation\n (ev.which === KeyCodes.enter || ev.which === KeyCodes.space) &&\n (target.tagName === 'BUTTON' || target.tagName === 'A' || target.tagName === 'INPUT')) {\n return false;\n }\n else if (target === itemRoot) {\n // eslint-disable-next-line deprecation/deprecation\n if (ev.which === KeyCodes.enter) {\n // Items should be invokable even if selection is disabled.\n _this._onInvokeClick(ev, index);\n ev.preventDefault();\n return;\n // eslint-disable-next-line deprecation/deprecation\n }\n else if (ev.which === KeyCodes.space) {\n if (!isSelectionDisabled) {\n _this._onToggleClick(ev, index);\n }\n ev.preventDefault();\n return;\n }\n break;\n }\n target = getParent(target);\n }\n }\n };\n _this._events = new EventGroup(_this);\n _this._async = new Async(_this);\n initializeComponentRef(_this);\n var selection = _this.props.selection;\n // Reflect the initial modal state of selection into the state.\n var isModal = selection.isModal && selection.isModal();\n _this.state = {\n isModal: isModal,\n };\n return _this;\n }\n SelectionZone.getDerivedStateFromProps = function (nextProps, prevState) {\n var isModal = nextProps.selection.isModal && nextProps.selection.isModal();\n return __assign(__assign({}, prevState), { isModal: isModal });\n };\n SelectionZone.prototype.componentDidMount = function () {\n var win = getWindow(this._root.current);\n // Track the latest modifier keys globally.\n this._events.on(win, 'keydown, keyup', this._updateModifiers, true);\n this._events.on(document, 'click', this._findScrollParentAndTryClearOnEmptyClick);\n this._events.on(document.body, 'touchstart', this._onTouchStartCapture, true);\n this._events.on(document.body, 'touchend', this._onTouchStartCapture, true);\n // Subscribe to the selection to keep modal state updated.\n this._events.on(this.props.selection, 'change', this._onSelectionChange);\n };\n SelectionZone.prototype.render = function () {\n var isModal = this.state.isModal;\n return (React.createElement(\"div\", { className: css('ms-SelectionZone', this.props.className, {\n 'ms-SelectionZone--modal': !!isModal,\n }), ref: this._root, onKeyDown: this._onKeyDown, onMouseDown: this._onMouseDown, onKeyDownCapture: this._onKeyDownCapture, onClick: this._onClick, role: \"presentation\", onDoubleClick: this._onDoubleClick, onContextMenu: this._onContextMenu, onMouseDownCapture: this._onMouseDownCapture, onFocusCapture: this._onFocus, \"data-selection-is-modal\": isModal ? true : undefined },\n this.props.children,\n React.createElement(FocusRects, null)));\n };\n SelectionZone.prototype.componentDidUpdate = function (previousProps) {\n var selection = this.props.selection;\n if (selection !== previousProps.selection) {\n // Whenever selection changes, update the subscripton to keep modal state updated.\n this._events.off(previousProps.selection);\n this._events.on(selection, 'change', this._onSelectionChange);\n }\n };\n SelectionZone.prototype.componentWillUnmount = function () {\n this._events.dispose();\n this._async.dispose();\n };\n SelectionZone.prototype._isSelectionDisabled = function (target) {\n if (this._getSelectionMode() === SelectionMode.none) {\n return true;\n }\n while (target !== this._root.current) {\n if (this._hasAttribute(target, SELECTION_DISABLED_ATTRIBUTE_NAME)) {\n return true;\n }\n target = getParent(target);\n }\n return false;\n };\n SelectionZone.prototype._onToggleAllClick = function (ev) {\n var selection = this.props.selection;\n var selectionMode = this._getSelectionMode();\n if (selectionMode === SelectionMode.multiple) {\n selection.toggleAllSelected();\n ev.stopPropagation();\n ev.preventDefault();\n }\n };\n SelectionZone.prototype._onToggleClick = function (ev, index) {\n var selection = this.props.selection;\n var selectionMode = this._getSelectionMode();\n selection.setChangeEvents(false);\n if (this.props.enterModalOnTouch && this._isTouch && !selection.isIndexSelected(index) && selection.setModal) {\n selection.setModal(true);\n this._setIsTouch(false);\n }\n if (selectionMode === SelectionMode.multiple) {\n selection.toggleIndexSelected(index);\n }\n else if (selectionMode === SelectionMode.single) {\n var isSelected = selection.isIndexSelected(index);\n var isModal = selection.isModal && selection.isModal();\n selection.setAllSelected(false);\n selection.setIndexSelected(index, !isSelected, true);\n if (isModal && selection.setModal) {\n // Since the above call to setAllSelected(false) clears modal state,\n // restore it. This occurs because the SelectionMode of the Selection\n // may differ from the SelectionZone.\n selection.setModal(true);\n }\n }\n else {\n selection.setChangeEvents(true);\n return;\n }\n selection.setChangeEvents(true);\n ev.stopPropagation();\n // NOTE: ev.preventDefault is not called for toggle clicks, because this will kill the browser behavior\n // for checkboxes if you use a checkbox for the toggle.\n };\n SelectionZone.prototype._onInvokeClick = function (ev, index) {\n var _a = this.props, selection = _a.selection, onItemInvoked = _a.onItemInvoked;\n if (onItemInvoked) {\n onItemInvoked(selection.getItems()[index], index, ev.nativeEvent);\n ev.preventDefault();\n ev.stopPropagation();\n }\n };\n SelectionZone.prototype._onItemSurfaceClick = function (ev, index) {\n var selection = this.props.selection;\n var isToggleModifierPressed = this._isCtrlPressed || this._isMetaPressed;\n var selectionMode = this._getSelectionMode();\n if (selectionMode === SelectionMode.multiple) {\n if (this._isShiftPressed && !this._isTabPressed) {\n selection.selectToIndex(index, !isToggleModifierPressed);\n }\n else if (isToggleModifierPressed) {\n selection.toggleIndexSelected(index);\n }\n else {\n this._clearAndSelectIndex(index);\n }\n }\n else if (selectionMode === SelectionMode.single) {\n this._clearAndSelectIndex(index);\n }\n };\n SelectionZone.prototype._onInvokeMouseDown = function (ev, index) {\n var selection = this.props.selection;\n // Only do work if item is not selected.\n if (selection.isIndexSelected(index)) {\n return;\n }\n this._clearAndSelectIndex(index);\n };\n /**\n * To avoid high startup cost of traversing the DOM on component mount,\n * defer finding the scrollable parent until a click interaction.\n *\n * The styles will probably already calculated since we're running in a click handler,\n * so this is less likely to cause layout thrashing then doing it in mount.\n */\n SelectionZone.prototype._findScrollParentAndTryClearOnEmptyClick = function (ev) {\n var scrollParent = findScrollableParent(this._root.current);\n // unbind this handler and replace binding with a binding on the actual scrollable parent\n this._events.off(document, 'click', this._findScrollParentAndTryClearOnEmptyClick);\n this._events.on(scrollParent, 'click', this._tryClearOnEmptyClick);\n // If we clicked inside the scrollable parent, call through to the handler on this click.\n if ((scrollParent && ev.target instanceof Node && scrollParent.contains(ev.target)) || scrollParent === ev.target) {\n this._tryClearOnEmptyClick(ev);\n }\n };\n SelectionZone.prototype._tryClearOnEmptyClick = function (ev) {\n if (!this.props.selectionPreservedOnEmptyClick && this._isNonHandledClick(ev.target)) {\n this.props.selection.setAllSelected(false);\n }\n };\n SelectionZone.prototype._clearAndSelectIndex = function (index) {\n var selection = this.props.selection;\n var isAlreadySingleSelected = selection.getSelectedCount() === 1 && selection.isIndexSelected(index);\n if (!isAlreadySingleSelected) {\n var isModal = selection.isModal && selection.isModal();\n selection.setChangeEvents(false);\n selection.setAllSelected(false);\n selection.setIndexSelected(index, true, true);\n if (isModal || (this.props.enterModalOnTouch && this._isTouch)) {\n if (selection.setModal) {\n selection.setModal(true);\n }\n if (this._isTouch) {\n this._setIsTouch(false);\n }\n }\n selection.setChangeEvents(true);\n }\n };\n /**\n * We need to track the modifier key states so that when focus events occur, which do not contain\n * modifier states in the Event object, we know how to behave.\n */\n SelectionZone.prototype._updateModifiers = function (ev) {\n this._isShiftPressed = ev.shiftKey;\n this._isCtrlPressed = ev.ctrlKey;\n this._isMetaPressed = ev.metaKey;\n var keyCode = ev.keyCode;\n this._isTabPressed = keyCode ? keyCode === KeyCodes.tab : false;\n };\n SelectionZone.prototype._findItemRoot = function (target) {\n var selection = this.props.selection;\n while (target !== this._root.current) {\n var indexValue = target.getAttribute(SELECTION_INDEX_ATTRIBUTE_NAME);\n var index = Number(indexValue);\n if (indexValue !== null && index >= 0 && index < selection.getItems().length) {\n break;\n }\n target = getParent(target);\n }\n if (target === this._root.current) {\n return undefined;\n }\n return target;\n };\n SelectionZone.prototype._getItemIndex = function (itemRoot) {\n return Number(itemRoot.getAttribute(SELECTION_INDEX_ATTRIBUTE_NAME));\n };\n SelectionZone.prototype._shouldAutoSelect = function (element) {\n return this._hasAttribute(element, SELECTION_SELECT_ATTRIBUTE_NAME);\n };\n SelectionZone.prototype._hasAttribute = function (element, attributeName) {\n var isToggle = false;\n while (!isToggle && element !== this._root.current) {\n isToggle = element.getAttribute(attributeName) === 'true';\n element = getParent(element);\n }\n return isToggle;\n };\n SelectionZone.prototype._isInputElement = function (element) {\n return element.tagName === 'INPUT' || element.tagName === 'TEXTAREA';\n };\n SelectionZone.prototype._isNonHandledClick = function (element) {\n var doc = getDocument();\n if (doc && element) {\n while (element && element !== doc.documentElement) {\n if (isElementTabbable(element)) {\n return false;\n }\n element = getParent(element);\n }\n }\n return true;\n };\n SelectionZone.prototype._handleNextFocus = function (handleFocus) {\n var _this = this;\n if (this._shouldHandleFocusTimeoutId) {\n this._async.clearTimeout(this._shouldHandleFocusTimeoutId);\n this._shouldHandleFocusTimeoutId = undefined;\n }\n this._shouldHandleFocus = handleFocus;\n if (handleFocus) {\n this._async.setTimeout(function () {\n _this._shouldHandleFocus = false;\n }, 100);\n }\n };\n SelectionZone.prototype._setIsTouch = function (isTouch) {\n var _this = this;\n if (this._isTouchTimeoutId) {\n this._async.clearTimeout(this._isTouchTimeoutId);\n this._isTouchTimeoutId = undefined;\n }\n this._isTouch = true;\n if (isTouch) {\n this._async.setTimeout(function () {\n _this._isTouch = false;\n }, 300);\n }\n };\n SelectionZone.prototype._getSelectionMode = function () {\n var selection = this.props.selection;\n var _a = this.props.selectionMode, selectionMode = _a === void 0 ? selection ? selection.mode : SelectionMode.none : _a;\n return selectionMode;\n };\n SelectionZone.defaultProps = {\n isSelectedOnFocus: true,\n selectionMode: SelectionMode.multiple,\n };\n return SelectionZone;\n}(React.Component));\nexport { SelectionZone };\n//# sourceMappingURL=SelectionZone.js.map","import { __assign } from \"tslib\";\nimport { _rgbaOrHexString } from './_rgbaOrHexString';\nimport { MAX_COLOR_ALPHA } from './consts';\n/**\n * Gets a color with the given transparency value and the same other components as `color`.\n * Does not modify the original color.\n */\nexport function updateT(color, t) {\n var a = MAX_COLOR_ALPHA - t;\n return __assign(__assign({}, color), { t: t, a: a, str: _rgbaOrHexString(color.r, color.g, color.b, a, color.hex) });\n}\n//# sourceMappingURL=updateT.js.map","import * as React from 'react';\nimport { useRefEffect } from '@fluentui/react-hooks';\nimport { getWindow } from '@fluentui/utilities';\nimport { observeResize } from './observeResize';\n/**\n * Track whether any items don't fit within their container, and move them to the overflow menu.\n * Items are moved into the overflow menu from back to front, excluding pinned items.\n *\n * The overflow menu button must be the last sibling of all of the items that can be put into the overflow, and it\n * must be hooked up to the `setMenuButtonRef` setter function that's returned by `useOverflow`:\n * ```ts\n * const overflow = useOverflow(...);\n * ```\n * ```jsx\n * \n * // Index 0\n * // Index 1\n * ...\n *