{"version":3,"file":"static/js/vendor.fluentui.react~6d8528b0.90e50e01.js","mappings":"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","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/components/ColorPicker/ColorRectangle/ColorRectangle.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/components/ColorPicker/ColorRectangle/ColorRectangle.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/components/ColorPicker/ColorRectangle/ColorRectangle.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/components/ColorPicker/ColorSlider/ColorSlider.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/components/ColorPicker/ColorSlider/ColorSlider.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/components/ColorPicker/ColorSlider/ColorSlider.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/components/ColorPicker/ColorPicker.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/components/ColorPicker/ColorPicker.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/components/ColorPicker/ColorPicker.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/components/ComboBox/ComboBox.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/components/ComboBox/ComboBox.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/components/ComboBox/ComboBox.classNames.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/components/ComboBox/VirtualizedComboBox.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/components/CommandBar/CommandBar.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/components/CommandBar/CommandBar.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/components/CommandBar/CommandBar.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/components/ContextualMenu/ContextualMenuItemWrapper/ContextualMenuItemWrapper.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/components/ContextualMenu/ContextualMenuItemWrapper/ContextualMenuAnchor.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/components/ContextualMenu/ContextualMenuItemWrapper/ContextualMenuSplitButton.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/components/ContextualMenu/ContextualMenuItemWrapper/ContextualMenuButton.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/components/ContextualMenu/ContextualMenu.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/components/Divider/VerticalDivider.classNames.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/components/ContextualMenu/ContextualMenu.classNames.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/components/ContextualMenu/ContextualMenu.cnstyles.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/components/ContextualMenu/ContextualMenu.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/components/ContextualMenu/ContextualMenu.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/components/ContextualMenu/ContextualMenu.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/components/ContextualMenu/ContextualMenuItem.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/components/ContextualMenu/ContextualMenuItem.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/components/DatePicker/DatePicker.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/components/DatePicker/DatePicker.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/components/DatePicker/DatePicker.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/components/DatePicker/defaults.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/components/DetailsList/DetailsColumn.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/components/DetailsList/DetailsColumn.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/components/DetailsList/DetailsColumn.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/components/DetailsList/DetailsHeader.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/components/DetailsList/DetailsHeader.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/components/DetailsList/DetailsHeader.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/components/DetailsList/DetailsHeader.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/components/DetailsList/DetailsList.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/components/DetailsList/DetailsList.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/components/DetailsList/DetailsList.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/components/DetailsList/DetailsList.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/components/DetailsList/DetailsRow.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/components/DetailsList/DetailsRow.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/components/DetailsList/DetailsRow.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/components/DetailsList/DetailsRowCheck.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/components/DetailsList/DetailsRowCheck.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/components/DetailsList/DetailsRowFields.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/components/DetailsList/ShimmeredDetailsList.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/components/DetailsList/ShimmeredDetailsList.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/components/DetailsList/ShimmeredDetailsList.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/components/Dialog/Dialog.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/components/Dialog/Dialog.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/components/Dialog/Dialog.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/components/Dialog/DialogContent.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/components/Dialog/DialogContent.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/components/Dialog/DialogContent.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/components/Dialog/DialogContent.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/components/Dialog/DialogFooter.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/components/Dialog/DialogFooter.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/components/Dialog/DialogFooter.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/components/Divider/VerticalDivider.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/components/Divider/VerticalDivider.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/components/Divider/VerticalDivider.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/components/DocumentCard/DocumentCard.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/components/DocumentCard/DocumentCard.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/components/DocumentCard/DocumentCardPreview.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/components/DocumentCard/DocumentCardActivity.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/components/DocumentCard/DocumentCardTitle.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/components/DocumentCard/DocumentCardLocation.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/components/DocumentCard/DocumentCard.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/components/DocumentCard/DocumentCard.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/components/DocumentCard/DocumentCardActions.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/components/DocumentCard/DocumentCardActions.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/components/DocumentCard/DocumentCardActions.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/components/DocumentCard/DocumentCardActivity.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/components/DocumentCard/DocumentCardActivity.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/components/DocumentCard/DocumentCardDetails.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/components/DocumentCard/DocumentCardDetails.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/components/DocumentCard/DocumentCardDetails.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/components/DocumentCard/DocumentCardLocation.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/components/DocumentCard/DocumentCardLocation.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/components/DocumentCard/DocumentCardPreview.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/components/DocumentCard/DocumentCardPreview.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/components/DocumentCard/DocumentCardImage.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/components/DocumentCard/DocumentCardImage.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/components/DocumentCard/DocumentCardImage.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/components/DocumentCard/DocumentCardTitle.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/components/DocumentCard/DocumentCardTitle.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/components/DocumentCard/DocumentCardLogo.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/components/DocumentCard/DocumentCardLogo.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/components/DocumentCard/DocumentCardLogo.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/components/DocumentCard/DocumentCardStatus.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/components/DocumentCard/DocumentCardStatus.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/components/DocumentCard/DocumentCardStatus.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/components/Dropdown/utilities/DropdownSizePosCache.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/components/Dropdown/Dropdown.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/components/Dropdown/Dropdown.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/components/Dropdown/Dropdown.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/components/ExtendedPicker/BaseExtendedPicker.scss.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/components/ExtendedPicker/BaseExtendedPicker.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/components/ExtendedPicker/PeoplePicker/ExtendedPeoplePicker.scss.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/components/ExtendedPicker/PeoplePicker/ExtendedPeoplePicker.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/components/Fabric/Fabric.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/components/Fabric/Fabric.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/components/Fabric/Fabric.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/components/Facepile/Facepile.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/components/Facepile/FacepileButton.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/components/Facepile/FacepileButton.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/components/Facepile/Facepile.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/components/Facepile/Facepile.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/components/Facepile/Facepile.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/components/FloatingPicker/BaseFloatingPicker.scss.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/components/FloatingPicker/Suggestions/SuggestionsCore.scss.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/components/FloatingPicker/Suggestions/SuggestionsCore.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/components/FloatingPicker/Suggestions/SuggestionsControl.scss.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/components/FloatingPicker/Suggestions/SuggestionsControl.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/components/FloatingPicker/BaseFloatingPicker.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/components/FloatingPicker/PeoplePicker/PeoplePicker.scss.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/components/FloatingPicker/PeoplePicker/FloatingPeoplePicker.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/components/FloatingPicker/PeoplePicker/PeoplePickerItems/SuggestionItemDefault.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/components/FloatingPicker/Suggestions/SuggestionsStore.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/components/FocusTrapZone/FocusTrapZone.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/components/GroupedList/GroupFooter.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/components/GroupedList/GroupFooter.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/components/GroupedList/GroupFooter.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/components/GroupedList/GroupHeader.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/components/GroupedList/GroupHeader.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/components/GroupedList/GroupHeader.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/components/GroupedList/GroupShowAll.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/components/GroupedList/GroupShowAll.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/components/GroupedList/GroupShowAll.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/components/GroupedList/GroupSpacer.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/components/GroupedList/GroupedList.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/components/GroupedList/GroupedList.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/components/GroupedList/GroupedList.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/components/GroupedList/GroupedList.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/components/GroupedList/GroupedListSection.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/components/HoverCard/CardCallout/CardCallout.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/components/HoverCard/ExpandingCard.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/components/HoverCard/ExpandingCard.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/components/HoverCard/ExpandingCard.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/components/HoverCard/ExpandingCard.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/components/HoverCard/HoverCard.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/components/HoverCard/HoverCard.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/components/HoverCard/HoverCard.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/components/HoverCard/HoverCard.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/components/HoverCard/PlainCard/PlainCard.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/components/HoverCard/PlainCard/PlainCard.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/components/HoverCard/PlainCard/PlainCard.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/components/Icon/FontIcon.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/components/Icon/Icon.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/components/Icon/Icon.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/components/Icon/Icon.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/components/Icon/Icon.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/components/Icon/ImageIcon.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/components/Image/Image.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/components/Image/Image.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/components/Image/Image.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/components/Image/Image.types.js"],"sourcesContent":["import { __extends } from \"tslib\";\nimport * as React from 'react';\nimport { classNamesFunction, on, initializeComponentRef, KeyCodes, getId } from '../../../Utilities';\n// These imports are separated to help with bundling\nimport { MAX_COLOR_SATURATION, MAX_COLOR_VALUE } from '../../../utilities/color/consts';\nimport { getFullColorString } from '../../../utilities/color/getFullColorString';\nimport { updateSV } from '../../../utilities/color/updateSV';\nimport { clamp } from '../../../utilities/color/clamp';\nvar getClassNames = classNamesFunction();\n/**\n * {@docCategory ColorPicker}\n */\nvar ColorRectangleBase = /** @class */ (function (_super) {\n __extends(ColorRectangleBase, _super);\n function ColorRectangleBase(props) {\n var _this = _super.call(this, props) || this;\n _this._disposables = [];\n _this._root = React.createRef();\n _this._isAdjustingSaturation = true;\n _this._descriptionId = getId('ColorRectangle-description');\n _this._onKeyDown = function (ev) {\n var color = _this.state.color;\n var s = color.s, v = color.v;\n var increment = ev.shiftKey ? 10 : 1;\n // Intentionally DO NOT flip the color picker in RTL: its orientation is not very meaningful,\n // and getting all the math and styles flipped correctly is tricky\n // eslint-disable-next-line deprecation/deprecation\n switch (ev.which) {\n case KeyCodes.up: {\n _this._isAdjustingSaturation = false;\n v += increment; // V = 100 (lightest) is at the top\n break;\n }\n case KeyCodes.down: {\n _this._isAdjustingSaturation = false;\n v -= increment; // V = 0 (darkest) is at the bottom\n break;\n }\n case KeyCodes.left: {\n _this._isAdjustingSaturation = true;\n s -= increment;\n break;\n }\n case KeyCodes.right: {\n _this._isAdjustingSaturation = true;\n s += increment;\n break;\n }\n default:\n return;\n }\n _this._updateColor(ev, updateSV(color, clamp(s, MAX_COLOR_SATURATION), clamp(v, MAX_COLOR_VALUE)));\n };\n _this._onMouseDown = function (ev) {\n _this._disposables.push(on(window, 'mousemove', _this._onMouseMove, true), on(window, 'mouseup', _this._disposeListeners, true));\n _this._onMouseMove(ev);\n };\n _this._onMouseMove = function (ev) {\n if (!_this._root.current) {\n return;\n }\n // Leaving the following commented code which is sometimes necessary for debugging:\n // If the primary button (1) isn't pressed, the user is no longer dragging, so turn off\n // the event handlers and exit.\n // if (!(ev.buttons & 1)) {\n // this._disposeListeners();\n // return;\n // }\n var newColor = _getNewColor(ev, _this.state.color, _this._root.current);\n if (newColor) {\n _this._updateColor(ev, newColor);\n }\n };\n _this._disposeListeners = function () {\n _this._disposables.forEach(function (dispose) { return dispose(); });\n _this._disposables = [];\n };\n initializeComponentRef(_this);\n _this.state = { color: props.color };\n return _this;\n }\n Object.defineProperty(ColorRectangleBase.prototype, \"color\", {\n get: function () {\n return this.state.color;\n },\n enumerable: false,\n configurable: true\n });\n ColorRectangleBase.prototype.componentDidUpdate = function (prevProps, prevState) {\n // if props changed (as opposed to a state update), set the value\n // TODO: switch to strict controlled pattern instead\n if (prevProps !== this.props && this.props.color) {\n this.setState({ color: this.props.color });\n }\n };\n ColorRectangleBase.prototype.componentWillUnmount = function () {\n this._disposeListeners();\n };\n ColorRectangleBase.prototype.render = function () {\n var _a = this.props, minSize = _a.minSize, theme = _a.theme, className = _a.className, styles = _a.styles, ariaValueFormat = _a.ariaValueFormat, ariaLabel = _a.ariaLabel, ariaDescription = _a.ariaDescription;\n var color = this.state.color;\n var classNames = getClassNames(styles, {\n theme: theme,\n className: className,\n minSize: minSize,\n });\n var valueText = ariaValueFormat.replace('{0}', String(color.s)).replace('{1}', String(color.v));\n return (React.createElement(\"div\", { ref: this._root, tabIndex: 0, className: classNames.root, style: { backgroundColor: getFullColorString(color) }, onMouseDown: this._onMouseDown, onKeyDown: this._onKeyDown, role: \"slider\", \"aria-valuetext\": valueText, \"aria-valuenow\": this._isAdjustingSaturation ? color.s : color.v, \"aria-valuemin\": 0, \"aria-valuemax\": MAX_COLOR_VALUE, \"aria-label\": ariaLabel, \"aria-describedby\": this._descriptionId, \"data-is-focusable\": true },\n React.createElement(\"div\", { className: classNames.description, id: this._descriptionId }, ariaDescription),\n React.createElement(\"div\", { className: classNames.light }),\n React.createElement(\"div\", { className: classNames.dark }),\n React.createElement(\"div\", { className: classNames.thumb, style: { left: color.s + '%', top: MAX_COLOR_VALUE - color.v + '%', backgroundColor: color.str } })));\n };\n ColorRectangleBase.prototype._updateColor = function (ev, color) {\n var onChange = this.props.onChange;\n var oldColor = this.state.color;\n if (color.s === oldColor.s && color.v === oldColor.v) {\n return; // no change\n }\n if (onChange) {\n onChange(ev, color);\n }\n if (!ev.defaultPrevented) {\n this.setState({ color: color });\n ev.preventDefault();\n }\n };\n ColorRectangleBase.defaultProps = {\n minSize: 220,\n ariaLabel: 'Saturation and brightness',\n ariaValueFormat: 'Saturation {0} brightness {1}',\n ariaDescription: 'Use left and right arrow keys to set saturation. Use up and down arrow keys to set brightness.',\n };\n return ColorRectangleBase;\n}(React.Component));\nexport { ColorRectangleBase };\n/**\n * Exported for testing only.\n * @internal\n */\nexport function _getNewColor(ev, prevColor, root) {\n var rectSize = root.getBoundingClientRect();\n var sPercentage = (ev.clientX - rectSize.left) / rectSize.width;\n var vPercentage = (ev.clientY - rectSize.top) / rectSize.height;\n return updateSV(prevColor, clamp(Math.round(sPercentage * MAX_COLOR_SATURATION), MAX_COLOR_SATURATION), clamp(Math.round(MAX_COLOR_VALUE - vPercentage * MAX_COLOR_VALUE), MAX_COLOR_VALUE));\n}\n//# sourceMappingURL=ColorRectangle.base.js.map","import { styled } from '../../../Utilities';\nimport { ColorRectangleBase } from './ColorRectangle.base';\nimport { getStyles } from './ColorRectangle.styles';\nexport var ColorRectangle = styled(ColorRectangleBase, getStyles, undefined, { scope: 'ColorRectangle' });\n//# sourceMappingURL=ColorRectangle.js.map","import { __assign } from \"tslib\";\nimport { HighContrastSelector, getHighContrastNoAdjustStyle } from '../../../Styling';\nimport { IsFocusVisibleClassName } from '../../../Utilities';\nimport { hiddenContentStyle } from '@fluentui/style-utilities';\nexport var getStyles = function (props) {\n var _a, _b;\n var className = props.className, theme = props.theme, minSize = props.minSize;\n var palette = theme.palette, effects = theme.effects;\n return {\n root: [\n 'ms-ColorPicker-colorRect',\n {\n position: 'relative',\n marginBottom: 8,\n border: \"1px solid \" + palette.neutralLighter,\n borderRadius: effects.roundedCorner2,\n minWidth: minSize,\n minHeight: minSize,\n outline: 'none',\n selectors: (_a = {},\n _a[HighContrastSelector] = __assign({}, getHighContrastNoAdjustStyle()),\n _a[\".\" + IsFocusVisibleClassName + \" &:focus\"] = (_b = {\n outline: \"1px solid \" + palette.neutralSecondary\n },\n _b[\"\" + HighContrastSelector] = {\n outline: '2px solid CanvasText',\n },\n _b),\n _a),\n },\n className,\n ],\n light: [\n 'ms-ColorPicker-light',\n {\n position: 'absolute',\n left: 0,\n right: 0,\n top: 0,\n bottom: 0,\n // Intentionally DO NOT flip the color picker in RTL: its orientation is not very meaningful,\n // and getting all the math and styles flipped correctly is tricky\n background: 'linear-gradient(to right, white 0%, transparent 100%) /*@noflip*/',\n },\n ],\n dark: [\n 'ms-ColorPicker-dark',\n {\n position: 'absolute',\n left: 0,\n right: 0,\n top: 0,\n bottom: 0,\n background: 'linear-gradient(to bottom, transparent 0, #000 100%)',\n },\n ],\n thumb: [\n 'ms-ColorPicker-thumb',\n {\n position: 'absolute',\n width: 20,\n height: 20,\n background: 'white',\n border: \"1px solid \" + palette.neutralSecondaryAlt,\n borderRadius: '50%',\n boxShadow: effects.elevation8,\n transform: 'translate(-50%, -50%)',\n selectors: {\n ':before': {\n position: 'absolute',\n left: 0,\n right: 0,\n top: 0,\n bottom: 0,\n border: \"2px solid \" + palette.white,\n borderRadius: '50%',\n boxSizing: 'border-box',\n content: '\"\"',\n },\n },\n },\n ],\n description: hiddenContentStyle,\n };\n};\n//# sourceMappingURL=ColorRectangle.styles.js.map","import { __extends } from \"tslib\";\nimport * as React from 'react';\nimport { classNamesFunction, initializeComponentRef, on, KeyCodes, getWindow, warnDeprecations, warn, } from '../../../Utilities';\nimport { clamp } from '../../../utilities/color/clamp';\nimport { MAX_COLOR_HUE, MAX_COLOR_ALPHA } from '../../../utilities/color/consts';\nvar getClassNames = classNamesFunction();\n/**\n * {@docCategory ColorPicker}\n */\nvar ColorSliderBase = /** @class */ (function (_super) {\n __extends(ColorSliderBase, _super);\n function ColorSliderBase(props) {\n var _this = _super.call(this, props) || this;\n _this._disposables = [];\n _this._root = React.createRef();\n _this._onKeyDown = function (ev) {\n var currentValue = _this.value;\n var maxValue = _this._maxValue;\n var increment = ev.shiftKey ? 10 : 1;\n // Intentionally DO NOT flip the color picker in RTL: its orientation is not very meaningful,\n // and getting all the math and styles flipped correctly is tricky\n // eslint-disable-next-line deprecation/deprecation\n switch (ev.which) {\n case KeyCodes.left: {\n currentValue -= increment;\n break;\n }\n case KeyCodes.right: {\n currentValue += increment;\n break;\n }\n case KeyCodes.home: {\n currentValue = 0;\n break;\n }\n case KeyCodes.end: {\n currentValue = maxValue;\n break;\n }\n default: {\n return;\n }\n }\n _this._updateValue(ev, clamp(currentValue, maxValue));\n };\n _this._onMouseDown = function (ev) {\n var win = getWindow(_this);\n if (win) {\n _this._disposables.push(on(win, 'mousemove', _this._onMouseMove, true), on(win, 'mouseup', _this._disposeListeners, true));\n }\n _this._onMouseMove(ev);\n };\n _this._onMouseMove = function (ev) {\n if (!_this._root.current) {\n return;\n }\n var maxValue = _this._maxValue;\n var rectSize = _this._root.current.getBoundingClientRect();\n var currentPercentage = (ev.clientX - rectSize.left) / rectSize.width;\n var newValue = clamp(Math.round(currentPercentage * maxValue), maxValue);\n _this._updateValue(ev, newValue);\n };\n _this._disposeListeners = function () {\n _this._disposables.forEach(function (dispose) { return dispose(); });\n _this._disposables = [];\n };\n initializeComponentRef(_this);\n warnDeprecations('ColorSlider', props, {\n thumbColor: 'styles.sliderThumb',\n overlayStyle: 'overlayColor',\n isAlpha: 'type',\n maxValue: 'type',\n minValue: 'type',\n });\n // eslint-disable-next-line deprecation/deprecation\n if (_this._type !== 'hue' && !(props.overlayColor || props.overlayStyle)) {\n warn(\"ColorSlider: 'overlayColor' is required when 'type' is \\\"alpha\\\" or \\\"transparency\\\"\");\n }\n _this.state = {\n currentValue: props.value || 0,\n };\n return _this;\n }\n Object.defineProperty(ColorSliderBase.prototype, \"value\", {\n get: function () {\n return this.state.currentValue;\n },\n enumerable: false,\n configurable: true\n });\n ColorSliderBase.prototype.componentDidUpdate = function (prevProps, prevState) {\n // if props changed (as opposed to a state update), set the value\n // TODO: switch to strict controlled pattern instead\n if (prevProps !== this.props && this.props.value !== undefined) {\n this.setState({ currentValue: this.props.value });\n }\n };\n ColorSliderBase.prototype.componentWillUnmount = function () {\n this._disposeListeners();\n };\n ColorSliderBase.prototype.render = function () {\n var type = this._type;\n var maxValue = this._maxValue;\n var _a = this.props, \n // eslint-disable-next-line deprecation/deprecation\n overlayStyle = _a.overlayStyle, overlayColor = _a.overlayColor, theme = _a.theme, className = _a.className, styles = _a.styles, _b = _a.ariaLabel, ariaLabel = _b === void 0 ? type : _b;\n var currentValue = this.value;\n var classNames = getClassNames(styles, {\n theme: theme,\n className: className,\n type: type,\n });\n var currentPercentage = (100 * currentValue) / maxValue;\n return (React.createElement(\"div\", { ref: this._root, className: classNames.root, tabIndex: 0, onKeyDown: this._onKeyDown, onMouseDown: this._onMouseDown, role: \"slider\", \"aria-valuenow\": currentValue, \"aria-valuetext\": String(currentValue), \"aria-valuemin\": 0, \"aria-valuemax\": maxValue, \"aria-label\": ariaLabel, \"data-is-focusable\": true },\n !!(overlayColor || overlayStyle) && (React.createElement(\"div\", { className: classNames.sliderOverlay, \n // this isn't included in getStyles because it may change frequently\n style: overlayColor\n ? {\n background: type === 'transparency'\n ? \"linear-gradient(to right, #\" + overlayColor + \", transparent)\"\n : \"linear-gradient(to right, transparent, #\" + overlayColor + \")\",\n }\n : overlayStyle })),\n React.createElement(\"div\", { className: classNames.sliderThumb, style: { left: currentPercentage + '%' } })));\n };\n Object.defineProperty(ColorSliderBase.prototype, \"_type\", {\n get: function () {\n // eslint-disable-next-line deprecation/deprecation\n var _a = this.props, isAlpha = _a.isAlpha, _b = _a.type, type = _b === void 0 ? isAlpha ? 'alpha' : 'hue' : _b;\n return type;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(ColorSliderBase.prototype, \"_maxValue\", {\n get: function () {\n return this._type === 'hue' ? MAX_COLOR_HUE : MAX_COLOR_ALPHA;\n },\n enumerable: false,\n configurable: true\n });\n ColorSliderBase.prototype._updateValue = function (ev, newValue) {\n if (newValue === this.value) {\n return;\n }\n var onChange = this.props.onChange;\n if (onChange) {\n onChange(ev, newValue);\n }\n if (!ev.defaultPrevented) {\n this.setState({\n currentValue: newValue,\n });\n ev.preventDefault();\n }\n };\n ColorSliderBase.defaultProps = {\n value: 0,\n };\n return ColorSliderBase;\n}(React.Component));\nexport { ColorSliderBase };\n//# sourceMappingURL=ColorSlider.base.js.map","import { IsFocusVisibleClassName } from '../../../Utilities';\nimport { HighContrastSelector } from '../../../Styling';\nvar hueStyle = {\n background: \"linear-gradient(\" + [\n 'to left',\n 'red 0',\n '#f09 10%',\n '#cd00ff 20%',\n '#3200ff 30%',\n '#06f 40%',\n '#00fffd 50%',\n '#0f6 60%',\n '#35ff00 70%',\n '#cdff00 80%',\n '#f90 90%',\n 'red 100%',\n ].join(',') + \")\",\n};\nvar alphaStyle = {\n backgroundImage: 'url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAAJUlEQVQYV2N89erVfwY0ICYmxoguxjgUFKI7GsTH5m4M3w1ChQC1/Ca8i2n1WgAAAABJRU5ErkJggg==)',\n};\nexport var getStyles = function (props) {\n var _a, _b;\n // eslint-disable-next-line deprecation/deprecation\n var theme = props.theme, className = props.className, _c = props.type, type = _c === void 0 ? 'hue' : _c, _d = props.isAlpha, useAlphaBackground = _d === void 0 ? type !== 'hue' : _d;\n var palette = theme.palette, effects = theme.effects;\n return {\n root: [\n 'ms-ColorPicker-slider',\n {\n position: 'relative',\n height: 20,\n marginBottom: 8,\n border: \"1px solid \" + palette.neutralLight,\n borderRadius: effects.roundedCorner2,\n boxSizing: 'border-box',\n outline: 'none',\n forcedColorAdjust: 'none',\n selectors: (_a = {},\n _a[\".\" + IsFocusVisibleClassName + \" &:focus\"] = (_b = {\n outline: \"1px solid \" + palette.neutralSecondary\n },\n _b[\"\" + HighContrastSelector] = {\n outline: '2px solid CanvasText',\n },\n _b),\n _a),\n },\n useAlphaBackground ? alphaStyle : hueStyle,\n className,\n ],\n sliderOverlay: [\n 'ms-ColorPicker-sliderOverlay',\n {\n content: '',\n position: 'absolute',\n left: 0,\n right: 0,\n top: 0,\n bottom: 0,\n },\n ],\n sliderThumb: [\n 'ms-ColorPicker-thumb',\n 'is-slider',\n {\n position: 'absolute',\n width: 20,\n height: 20,\n background: 'white',\n border: \"1px solid \" + palette.neutralSecondaryAlt,\n borderRadius: '50%',\n boxShadow: effects.elevation8,\n transform: 'translate(-50%, -50%)',\n top: '50%',\n forcedColorAdjust: 'auto',\n },\n ],\n };\n};\n//# sourceMappingURL=ColorSlider.styles.js.map","import { styled } from '../../../Utilities';\nimport { ColorSliderBase } from './ColorSlider.base';\nimport { getStyles } from './ColorSlider.styles';\nexport var ColorSlider = styled(ColorSliderBase, getStyles, undefined, { scope: 'ColorSlider' });\n//# sourceMappingURL=ColorSlider.js.map","import { __assign, __extends } from \"tslib\";\nimport * as React from 'react';\nimport { classNamesFunction, initializeComponentRef, warnDeprecations, warn } from '../../Utilities';\nimport { TextField } from '../../TextField';\nimport { TooltipHost } from '../../Tooltip';\nimport { DirectionalHint } from '../../common/DirectionalHint';\nimport { ColorRectangle } from './ColorRectangle/ColorRectangle';\nimport { ColorSlider } from './ColorSlider/ColorSlider';\nimport { MAX_COLOR_ALPHA, MAX_COLOR_RGB, MAX_HEX_LENGTH, MAX_RGBA_LENGTH, MIN_HEX_LENGTH, MIN_RGBA_LENGTH, HEX_REGEX, RGBA_REGEX, } from '../../utilities/color/consts';\n// These imports are separated to help with bundling\nimport { getColorFromString } from '../../utilities/color/getColorFromString';\nimport { getColorFromRGBA } from '../../utilities/color/getColorFromRGBA';\nimport { clamp } from '../../utilities/color/clamp';\nimport { updateA } from '../../utilities/color/updateA';\nimport { updateT } from '../../utilities/color/updateT';\nimport { updateH } from '../../utilities/color/updateH';\nimport { correctRGB } from '../../utilities/color/correctRGB';\nimport { correctHex } from '../../utilities/color/correctHex';\nimport { ColorRectangleBase } from './ColorRectangle/ColorRectangle.base';\nvar getClassNames = classNamesFunction();\nvar allColorComponents = ['hex', 'r', 'g', 'b', 'a', 't'];\nvar errorKeys = {\n hex: 'hexError',\n r: 'redError',\n g: 'greenError',\n b: 'blueError',\n a: 'alphaError',\n t: 'transparencyError',\n};\n/**\n * {@docCategory ColorPicker}\n */\nvar ColorPickerBase = /** @class */ (function (_super) {\n __extends(ColorPickerBase, _super);\n function ColorPickerBase(props) {\n var _this = _super.call(this, props) || this;\n _this._onSVChanged = function (ev, color) {\n _this._updateColor(ev, color);\n };\n _this._onHChanged = function (ev, h) {\n _this._updateColor(ev, updateH(_this.state.color, h));\n };\n /** Callback for when the alpha/transparency slider changes */\n _this._onATChanged = function (ev, value) {\n var updater = _this.props.alphaType === 'transparency' ? updateT : updateA;\n _this._updateColor(ev, updater(_this.state.color, Math.round(value)));\n };\n _this._onBlur = function (event) {\n var _a;\n var _b = _this.state, color = _b.color, editingColor = _b.editingColor;\n if (!editingColor) {\n return;\n }\n // If there was an intermediate incorrect value (such as too large or empty), correct it.\n var value = editingColor.value, component = editingColor.component;\n var isHex = component === 'hex';\n var isAlpha = component === 'a';\n var isTransparency = component === 't';\n var minLength = isHex ? MIN_HEX_LENGTH : MIN_RGBA_LENGTH;\n if (value.length >= minLength && (isHex || !isNaN(Number(value)))) {\n // Real value. Clamp to appropriate length (hex) or range (rgba).\n var newColor = void 0;\n if (isHex) {\n newColor = getColorFromString('#' + correctHex(value));\n }\n else if (isAlpha || isTransparency) {\n var updater = isAlpha ? updateA : updateT;\n newColor = updater(color, clamp(Number(value), MAX_COLOR_ALPHA));\n }\n else {\n newColor = getColorFromRGBA(correctRGB(__assign(__assign({}, color), (_a = {}, _a[component] = Number(value), _a))));\n }\n // Update state and call onChange\n _this._updateColor(event, newColor);\n }\n else {\n // Intermediate value was an empty string or too short (hex only).\n // Just clear the intermediate state and revert to the previous value.\n _this.setState({ editingColor: undefined });\n }\n };\n initializeComponentRef(_this);\n var strings = props.strings; // always defined since it's in defaultProps\n warnDeprecations('ColorPicker', props, {\n hexLabel: 'strings.hex',\n redLabel: 'strings.red',\n greenLabel: 'strings.green',\n blueLabel: 'strings.blue',\n alphaLabel: 'strings.alpha',\n alphaSliderHidden: 'alphaType',\n });\n // eslint-disable-next-line deprecation/deprecation\n if (strings.hue) {\n // warnDeprecations can't handle nested deprecated props\n warn(\"ColorPicker property 'strings.hue' was used but has been deprecated. Use 'strings.hueAriaLabel' instead.\");\n }\n _this.state = {\n color: _getColorFromProps(props) || getColorFromString('#ffffff'),\n };\n _this._textChangeHandlers = {};\n for (var _i = 0, allColorComponents_1 = allColorComponents; _i < allColorComponents_1.length; _i++) {\n var component = allColorComponents_1[_i];\n _this._textChangeHandlers[component] = _this._onTextChange.bind(_this, component);\n }\n var defaultStrings = ColorPickerBase.defaultProps.strings;\n _this._textLabels = {\n /* eslint-disable deprecation/deprecation */\n r: props.redLabel || strings.red || defaultStrings.red,\n g: props.greenLabel || strings.green || defaultStrings.green,\n b: props.blueLabel || strings.blue || defaultStrings.blue,\n a: props.alphaLabel || strings.alpha || defaultStrings.alpha,\n hex: props.hexLabel || strings.hex || defaultStrings.hex,\n t: strings.transparency || defaultStrings.transparency,\n /* eslint-enable deprecation/deprecation */\n };\n _this._strings = __assign(__assign(__assign({}, defaultStrings), { \n // these aria labels default to the visible labels\n alphaAriaLabel: _this._textLabels.a, transparencyAriaLabel: _this._textLabels.t }), strings);\n return _this;\n }\n Object.defineProperty(ColorPickerBase.prototype, \"color\", {\n get: function () {\n return this.state.color;\n },\n enumerable: false,\n configurable: true\n });\n ColorPickerBase.prototype.componentDidUpdate = function (prevProps, prevState) {\n // if props changed (as opposed to a state update), update the color\n if (prevProps !== this.props) {\n var color = _getColorFromProps(this.props);\n if (color) {\n this._updateColor(undefined, color);\n }\n }\n };\n ColorPickerBase.prototype.render = function () {\n var _this = this;\n var props = this.props;\n var strings = this._strings;\n var textLabels = this._textLabels;\n var theme = props.theme, className = props.className, styles = props.styles, alphaType = props.alphaType, \n // eslint-disable-next-line deprecation/deprecation\n _a = props.alphaSliderHidden, \n // eslint-disable-next-line deprecation/deprecation\n alphaSliderHidden = _a === void 0 ? alphaType === 'none' : _a, tooltipProps = props.tooltipProps;\n var color = this.state.color;\n var useTransparency = alphaType === 'transparency';\n var colorComponents = ['hex', 'r', 'g', 'b', useTransparency ? 't' : 'a'];\n var atValue = useTransparency ? color.t : color.a;\n var atLabel = useTransparency ? textLabels.t : textLabels.a;\n var classNames = getClassNames(styles, {\n theme: theme,\n className: className,\n alphaType: alphaType,\n });\n var selectedColorAriaParts = [textLabels.r, color.r, textLabels.g, color.g, textLabels.b, color.b];\n if (!alphaSliderHidden && typeof atValue === 'number') {\n selectedColorAriaParts.push(atLabel, atValue + \"%\");\n }\n var ariaLabel = strings.rootAriaLabelFormat.replace('{0}', selectedColorAriaParts.join(' '));\n return (React.createElement(\"div\", { className: classNames.root, role: \"group\", \"aria-label\": ariaLabel },\n React.createElement(\"div\", { className: classNames.panel },\n React.createElement(ColorRectangle, { color: color, onChange: this._onSVChanged, ariaLabel: strings.svAriaLabel, ariaDescription: strings.svAriaDescription, ariaValueFormat: strings.svAriaValueFormat, className: classNames.colorRectangle }),\n React.createElement(\"div\", { className: classNames.flexContainer },\n React.createElement(\"div\", { className: classNames.flexSlider },\n React.createElement(ColorSlider, { className: \"is-hue\", type: \"hue\", \n // eslint-disable-next-line deprecation/deprecation\n ariaLabel: strings.hue || strings.hueAriaLabel, value: color.h, onChange: this._onHChanged }),\n !alphaSliderHidden && (React.createElement(ColorSlider, { className: \"is-alpha\", type: alphaType, ariaLabel: useTransparency ? strings.transparencyAriaLabel : strings.alphaAriaLabel, overlayColor: color.hex, value: atValue, onChange: this._onATChanged }))),\n props.showPreview && (React.createElement(\"div\", { className: classNames.flexPreviewBox },\n React.createElement(\"div\", { className: classNames.colorSquare + ' is-preview', style: {\n backgroundColor: color.str,\n } })))),\n React.createElement(\"table\", { className: classNames.table, role: \"group\", cellPadding: \"0\", cellSpacing: \"0\" },\n React.createElement(\"thead\", null,\n React.createElement(\"tr\", { className: classNames.tableHeader },\n React.createElement(\"td\", { className: classNames.tableHexCell }, textLabels.hex),\n React.createElement(\"td\", null, textLabels.r),\n React.createElement(\"td\", null, textLabels.g),\n React.createElement(\"td\", null, textLabels.b),\n !alphaSliderHidden && React.createElement(\"td\", { className: classNames.tableAlphaCell }, atLabel))),\n React.createElement(\"tbody\", null,\n React.createElement(\"tr\", null, colorComponents.map(function (comp) {\n if ((comp === 'a' || comp === 't') && alphaSliderHidden) {\n return null;\n }\n var tooltipContent = _this._getTooltipValue(comp);\n return (React.createElement(\"td\", { key: comp },\n React.createElement(TooltipHost, __assign({ content: tooltipContent, directionalHint: DirectionalHint.bottomCenter, role: \"alert\" }, tooltipProps),\n React.createElement(TextField, { className: classNames.input, onChange: _this._textChangeHandlers[comp], onBlur: _this._onBlur, value: _this._getDisplayValue(comp), spellCheck: false, ariaLabel: textLabels[comp], autoComplete: \"off\", invalid: !!tooltipContent }))));\n })))))));\n };\n ColorPickerBase.prototype._getDisplayValue = function (component) {\n var _a = this.state, color = _a.color, editingColor = _a.editingColor;\n if (editingColor && editingColor.component === component) {\n return editingColor.value;\n }\n if (component === 'hex') {\n return color[component] || '';\n }\n else if (typeof color[component] === 'number' && !isNaN(color[component])) {\n return String(color[component]);\n }\n return '';\n };\n /* Get the error tooltip value for a component if the component is in an invalid state */\n ColorPickerBase.prototype._getTooltipValue = function (component) {\n var editingColor = this.state.editingColor;\n // if the component does not have an interim value, it is valid\n if (!editingColor || editingColor.component !== component) {\n return undefined;\n }\n var value = editingColor.value;\n // for hex, do not show a tooltip if the value is between 3-6 characters\n if (component === 'hex' && value.length >= MIN_HEX_LENGTH && value.length <= MAX_HEX_LENGTH) {\n return undefined;\n }\n var errorKey = errorKeys[component];\n return this._strings[errorKey];\n };\n ColorPickerBase.prototype._onTextChange = function (component, event, newValue) {\n var _a;\n var color = this.state.color;\n var isHex = component === 'hex';\n var isAlpha = component === 'a';\n var isTransparency = component === 't';\n newValue = (newValue || '').substr(0, isHex ? MAX_HEX_LENGTH : MAX_RGBA_LENGTH);\n // Ignore what the user typed if it contains invalid characters\n var validCharsRegex = isHex ? HEX_REGEX : RGBA_REGEX;\n if (!validCharsRegex.test(newValue)) {\n return;\n }\n // Determine if the entry is valid (different methods for hex, alpha, and RGB)\n var isValid;\n if (newValue === '') {\n // Empty string is obviously not valid\n isValid = false;\n }\n else if (isHex) {\n // Technically hex values of length 3 are also valid, but committing the value here would\n // cause it to be automatically converted to a value of length 6, which may not be what the\n // user wanted if they're not finished typing. (Values of length 3 will be committed on blur.)\n isValid = newValue.length === MAX_HEX_LENGTH;\n }\n else if (isAlpha || isTransparency) {\n isValid = Number(newValue) <= MAX_COLOR_ALPHA;\n }\n else {\n isValid = Number(newValue) <= MAX_COLOR_RGB;\n }\n if (!isValid) {\n // If the new value is an empty string or other invalid value, save that to display.\n // (if the user still hasn't entered anything on blur, the last value is restored)\n this.setState({ editingColor: { component: component, value: newValue } });\n }\n else if (String(color[component]) === newValue) {\n // If the new value is the same as the current value, mostly ignore it.\n // Exception is that if the user was previously editing the value (but hadn't yet entered\n // a new valid value), we should clear the intermediate value.\n if (this.state.editingColor) {\n this.setState({ editingColor: undefined });\n }\n }\n else {\n // Should be a valid color. Update the value.\n var newColor = isHex\n ? getColorFromString('#' + newValue)\n : isTransparency\n ? updateT(color, Number(newValue))\n : getColorFromRGBA(__assign(__assign({}, color), (_a = {}, _a[component] = Number(newValue), _a)));\n this._updateColor(event, newColor);\n }\n };\n /**\n * Update the displayed color and call change handlers if appropriate.\n * @param ev - Event if call was triggered by an event (undefined if triggered by props change)\n * @param newColor - Updated color\n */\n ColorPickerBase.prototype._updateColor = function (ev, newColor) {\n if (!newColor) {\n return;\n }\n var _a = this.state, color = _a.color, editingColor = _a.editingColor;\n // For black or white, the hue can change without changing the string.\n var isDifferentColor = newColor.h !== color.h || newColor.str !== color.str;\n if (isDifferentColor || editingColor) {\n // If ev is undefined, it's an update from props (which should be unconditionally respected\n // and not call onChange).\n if (ev && this.props.onChange) {\n this.props.onChange(ev, newColor);\n if (ev.defaultPrevented) {\n return;\n }\n }\n this.setState({ color: newColor, editingColor: undefined });\n }\n };\n ColorPickerBase.defaultProps = {\n alphaType: 'alpha',\n strings: {\n rootAriaLabelFormat: 'Color picker, {0} selected.',\n hex: 'Hex',\n red: 'Red',\n green: 'Green',\n blue: 'Blue',\n alpha: 'Alpha',\n transparency: 'Transparency',\n hueAriaLabel: 'Hue',\n svAriaLabel: ColorRectangleBase.defaultProps.ariaLabel,\n svAriaValueFormat: ColorRectangleBase.defaultProps.ariaValueFormat,\n svAriaDescription: ColorRectangleBase.defaultProps.ariaDescription,\n hexError: 'Hex values must be between 3 and 6 characters long',\n alphaError: 'Alpha must be between 0 and 100',\n transparencyError: 'Transparency must be between 0 and 100',\n redError: 'Red must be between 0 and 255',\n greenError: 'Green must be between 0 and 255',\n blueError: 'Blue must be between 0 and 255',\n },\n };\n return ColorPickerBase;\n}(React.Component));\nexport { ColorPickerBase };\nfunction _getColorFromProps(props) {\n var color = props.color;\n return typeof color === 'string' ? getColorFromString(color) : color;\n}\n//# sourceMappingURL=ColorPicker.base.js.map","import { styled } from '../../Utilities';\nimport { ColorPickerBase } from './ColorPicker.base';\nimport { getStyles } from './ColorPicker.styles';\nexport var ColorPicker = styled(ColorPickerBase, getStyles, undefined, { scope: 'ColorPicker' });\n//# sourceMappingURL=ColorPicker.js.map","export var getStyles = function (props) {\n var className = props.className, theme = props.theme, alphaType = props.alphaType;\n return {\n root: [\n 'ms-ColorPicker',\n theme.fonts.medium,\n {\n position: 'relative',\n maxWidth: 300,\n },\n className,\n ],\n panel: [\n 'ms-ColorPicker-panel',\n {\n padding: '16px',\n },\n ],\n table: [\n 'ms-ColorPicker-table',\n {\n tableLayout: 'fixed',\n width: '100%',\n selectors: {\n 'tbody td:last-of-type .ms-ColorPicker-input': {\n paddingRight: 0,\n },\n },\n },\n ],\n tableHeader: [\n theme.fonts.small,\n {\n selectors: {\n td: {\n paddingBottom: 4,\n },\n },\n },\n ],\n tableHexCell: {\n width: '25%',\n },\n // Account for \"Transparency\" being a longer word\n tableAlphaCell: alphaType === 'transparency' && {\n width: '22%',\n },\n colorSquare: [\n 'ms-ColorPicker-colorSquare',\n {\n width: 48,\n height: 48,\n margin: '0 0 0 8px',\n border: '1px solid #c8c6c4',\n },\n ],\n flexContainer: {\n display: 'flex',\n },\n flexSlider: {\n flexGrow: '1',\n },\n flexPreviewBox: {\n flexGrow: '0',\n },\n input: [\n 'ms-ColorPicker-input',\n {\n width: '100%',\n border: 'none',\n boxSizing: 'border-box',\n height: 30,\n selectors: {\n '&.ms-TextField': {\n paddingRight: 4,\n },\n '& .ms-TextField-field': {\n minWidth: 'auto',\n padding: 5,\n textOverflow: 'clip',\n },\n },\n },\n ],\n };\n};\n//# sourceMappingURL=ColorPicker.styles.js.map","var _a, _b;\nimport { __assign } from \"tslib\";\nimport { FontWeights, concatStyleSets, getFocusStyle, HighContrastSelector, getPlaceholderStyles, hiddenContentStyle, getInputFocusStyle, getHighContrastNoAdjustStyle, } from '../../Styling';\nimport { memoizeFunction } from '../../Utilities';\nvar ComboBoxHeight = 32;\nvar ComboBoxLineHeight = 30;\nvar ComboBoxCaretDownWidth = 32;\nvar ComboBoxOptionHeight = 36;\nvar getDisabledStyles = memoizeFunction(function (theme) {\n var _a;\n var semanticColors = theme.semanticColors;\n return {\n backgroundColor: semanticColors.disabledBackground,\n color: semanticColors.disabledText,\n cursor: 'default',\n selectors: (_a = {\n ':after': {\n borderColor: semanticColors.disabledBackground,\n }\n },\n _a[HighContrastSelector] = {\n color: 'GrayText',\n selectors: {\n ':after': {\n borderColor: 'GrayText',\n },\n },\n },\n _a),\n };\n});\nvar listOptionHighContrastStyles = {\n selectors: (_a = {},\n _a[HighContrastSelector] = __assign({ backgroundColor: 'Highlight', borderColor: 'Highlight', color: 'HighlightText' }, getHighContrastNoAdjustStyle()),\n _a),\n};\nvar inputHighContrastStyles = {\n selectors: (_b = {},\n _b[HighContrastSelector] = __assign({ color: 'WindowText', backgroundColor: 'Window' }, getHighContrastNoAdjustStyle()),\n _b),\n};\nexport var getOptionStyles = memoizeFunction(function (theme, customStylesForAllOptions, customOptionStylesForCurrentOption, isPending, isHidden, isSelected) {\n var _a;\n var palette = theme.palette, semanticColors = theme.semanticColors;\n var option = {\n textHoveredColor: semanticColors.menuItemTextHovered,\n textSelectedColor: palette.neutralDark,\n textDisabledColor: semanticColors.disabledText,\n backgroundHoveredColor: semanticColors.menuItemBackgroundHovered,\n backgroundPressedColor: semanticColors.menuItemBackgroundPressed,\n };\n var optionStyles = {\n root: [\n theme.fonts.medium,\n {\n backgroundColor: isPending ? option.backgroundHoveredColor : 'transparent',\n boxSizing: 'border-box',\n cursor: 'pointer',\n display: isHidden ? 'none' : 'block',\n width: '100%',\n height: 'auto',\n minHeight: ComboBoxOptionHeight,\n lineHeight: '20px',\n padding: '0 8px',\n position: 'relative',\n borderWidth: '1px',\n borderStyle: 'solid',\n borderColor: 'transparent',\n borderRadius: 0,\n wordWrap: 'break-word',\n overflowWrap: 'break-word',\n textAlign: 'left',\n selectors: __assign(__assign((_a = {}, _a[HighContrastSelector] = {\n border: 'none',\n borderColor: 'Background',\n }, _a), (!isHidden && {\n '&.ms-Checkbox': {\n display: 'flex',\n alignItems: 'center',\n },\n })), { '&.ms-Button--command:hover:active': {\n backgroundColor: option.backgroundPressedColor,\n }, '.ms-Checkbox-label': {\n width: '100%',\n } }),\n },\n isSelected\n ? [\n {\n backgroundColor: 'transparent',\n color: option.textSelectedColor,\n selectors: {\n ':hover': [\n {\n backgroundColor: option.backgroundHoveredColor,\n },\n listOptionHighContrastStyles,\n ],\n },\n },\n getFocusStyle(theme, { inset: -1, isFocusedOnly: false }),\n listOptionHighContrastStyles,\n ]\n : [],\n ],\n rootHovered: {\n backgroundColor: option.backgroundHoveredColor,\n color: option.textHoveredColor,\n },\n rootFocused: {\n backgroundColor: option.backgroundHoveredColor,\n },\n rootDisabled: {\n color: option.textDisabledColor,\n cursor: 'default',\n },\n optionText: {\n overflow: 'hidden',\n whiteSpace: 'nowrap',\n textOverflow: 'ellipsis',\n minWidth: '0px',\n maxWidth: '100%',\n wordWrap: 'break-word',\n overflowWrap: 'break-word',\n display: 'inline-block',\n },\n optionTextWrapper: {\n maxWidth: '100%',\n display: 'flex',\n alignItems: 'center',\n },\n };\n return concatStyleSets(optionStyles, customStylesForAllOptions, customOptionStylesForCurrentOption);\n});\nexport var getCaretDownButtonStyles = memoizeFunction(function (theme, customStyles) {\n var _a, _b;\n var semanticColors = theme.semanticColors, fonts = theme.fonts;\n var caret = {\n buttonTextColor: semanticColors.bodySubtext,\n buttonTextHoveredCheckedColor: semanticColors.buttonTextChecked,\n buttonBackgroundHoveredColor: semanticColors.listItemBackgroundHovered,\n buttonBackgroundCheckedColor: semanticColors.listItemBackgroundChecked,\n buttonBackgroundCheckedHoveredColor: semanticColors.listItemBackgroundCheckedHovered,\n };\n var buttonHighContrastStyles = {\n selectors: (_a = {},\n _a[HighContrastSelector] = __assign({ backgroundColor: 'Highlight', borderColor: 'Highlight', color: 'HighlightText' }, getHighContrastNoAdjustStyle()),\n _a),\n };\n var styles = {\n root: {\n color: caret.buttonTextColor,\n fontSize: fonts.small.fontSize,\n position: 'absolute',\n top: 0,\n height: '100%',\n lineHeight: ComboBoxLineHeight,\n width: ComboBoxCaretDownWidth,\n textAlign: 'center',\n cursor: 'default',\n selectors: (_b = {},\n _b[HighContrastSelector] = __assign({ backgroundColor: 'ButtonFace', borderColor: 'ButtonText', color: 'ButtonText' }, getHighContrastNoAdjustStyle()),\n _b),\n },\n icon: {\n fontSize: fonts.small.fontSize,\n },\n rootHovered: [\n {\n backgroundColor: caret.buttonBackgroundHoveredColor,\n color: caret.buttonTextHoveredCheckedColor,\n cursor: 'pointer',\n },\n buttonHighContrastStyles,\n ],\n rootPressed: [\n {\n backgroundColor: caret.buttonBackgroundCheckedColor,\n color: caret.buttonTextHoveredCheckedColor,\n },\n buttonHighContrastStyles,\n ],\n rootChecked: [\n {\n backgroundColor: caret.buttonBackgroundCheckedColor,\n color: caret.buttonTextHoveredCheckedColor,\n },\n buttonHighContrastStyles,\n ],\n rootCheckedHovered: [\n {\n backgroundColor: caret.buttonBackgroundCheckedHoveredColor,\n color: caret.buttonTextHoveredCheckedColor,\n },\n buttonHighContrastStyles,\n ],\n rootDisabled: [\n getDisabledStyles(theme),\n {\n position: 'absolute',\n },\n ],\n };\n return concatStyleSets(styles, customStyles);\n});\nexport var getStyles = memoizeFunction(function (theme, customStyles, comboBoxOptionWidth) {\n var _a, _b, _c, _d, _e, _f;\n var semanticColors = theme.semanticColors, fonts = theme.fonts, effects = theme.effects;\n var root = {\n textColor: semanticColors.inputText,\n borderColor: semanticColors.inputBorder,\n borderHoveredColor: semanticColors.inputBorderHovered,\n borderPressedColor: semanticColors.inputFocusBorderAlt,\n borderFocusedColor: semanticColors.inputFocusBorderAlt,\n backgroundColor: semanticColors.inputBackground,\n erroredColor: semanticColors.errorText,\n };\n var option = {\n headerTextColor: semanticColors.menuHeader,\n dividerBorderColor: semanticColors.bodyDivider,\n };\n // placeholder style variables\n var placeholderHighContrastStyles = {\n selectors: (_a = {},\n _a[HighContrastSelector] = {\n color: 'GrayText',\n },\n _a),\n };\n var placeholderStyles = [\n {\n color: semanticColors.inputPlaceholderText,\n },\n placeholderHighContrastStyles,\n ];\n var placeholderStylesHovered = [\n {\n color: semanticColors.inputTextHovered,\n },\n placeholderHighContrastStyles,\n ];\n var disabledPlaceholderStyles = [\n {\n color: semanticColors.disabledText,\n },\n placeholderHighContrastStyles,\n ];\n var ComboBoxRootHighContrastFocused = __assign(__assign({ color: 'HighlightText', backgroundColor: 'Window' }, getHighContrastNoAdjustStyle()), { selectors: {\n ':after': {\n borderColor: 'Highlight',\n },\n } });\n var focusBorderStyles = getInputFocusStyle(root.borderPressedColor, effects.roundedCorner2, 'border', 0);\n var styles = {\n container: {},\n label: {},\n labelDisabled: {},\n root: [\n theme.fonts.medium,\n {\n boxShadow: 'none',\n marginLeft: '0',\n paddingRight: ComboBoxCaretDownWidth,\n paddingLeft: 9,\n color: root.textColor,\n position: 'relative',\n outline: '0',\n userSelect: 'none',\n backgroundColor: root.backgroundColor,\n cursor: 'text',\n display: 'block',\n height: ComboBoxHeight,\n whiteSpace: 'nowrap',\n textOverflow: 'ellipsis',\n boxSizing: 'border-box',\n selectors: {\n '.ms-Label': {\n display: 'inline-block',\n marginBottom: '8px',\n },\n '&.is-open': {\n selectors: (_b = {},\n _b[HighContrastSelector] = ComboBoxRootHighContrastFocused,\n _b),\n },\n // setting border using pseudo-element here in order to\n // prevent chevron button to overlap ComboBox border under certain resolutions\n ':after': {\n pointerEvents: 'none',\n content: \"''\",\n position: 'absolute',\n left: 0,\n top: 0,\n bottom: 0,\n right: 0,\n borderWidth: '1px',\n borderStyle: 'solid',\n borderColor: root.borderColor,\n borderRadius: effects.roundedCorner2,\n },\n },\n },\n ],\n rootHovered: {\n selectors: (_c = {\n ':after': {\n borderColor: root.borderHoveredColor,\n },\n '.ms-ComboBox-Input': [\n {\n color: semanticColors.inputTextHovered,\n },\n getPlaceholderStyles(placeholderStylesHovered),\n inputHighContrastStyles,\n ]\n },\n _c[HighContrastSelector] = __assign(__assign({ color: 'HighlightText', backgroundColor: 'Window' }, getHighContrastNoAdjustStyle()), { selectors: {\n ':after': {\n borderColor: 'Highlight',\n },\n } }),\n _c),\n },\n rootPressed: [\n {\n position: 'relative',\n selectors: (_d = {},\n _d[HighContrastSelector] = ComboBoxRootHighContrastFocused,\n _d),\n },\n ],\n rootFocused: [\n {\n selectors: (_e = {\n '.ms-ComboBox-Input': [\n {\n color: semanticColors.inputTextHovered,\n },\n inputHighContrastStyles,\n ]\n },\n _e[HighContrastSelector] = ComboBoxRootHighContrastFocused,\n _e),\n },\n focusBorderStyles,\n ],\n rootDisabled: getDisabledStyles(theme),\n rootError: {\n selectors: {\n ':after': {\n borderColor: root.erroredColor,\n },\n ':hover:after': {\n borderColor: semanticColors.inputBorderHovered,\n },\n },\n },\n rootDisallowFreeForm: {},\n input: [\n getPlaceholderStyles(placeholderStyles),\n {\n backgroundColor: root.backgroundColor,\n color: root.textColor,\n boxSizing: 'border-box',\n width: '100%',\n height: '100%',\n borderStyle: 'none',\n outline: 'none',\n font: 'inherit',\n textOverflow: 'ellipsis',\n padding: '0',\n selectors: {\n '::-ms-clear': {\n display: 'none',\n },\n },\n },\n inputHighContrastStyles,\n ],\n inputDisabled: [getDisabledStyles(theme), getPlaceholderStyles(disabledPlaceholderStyles)],\n errorMessage: [\n theme.fonts.small,\n {\n color: root.erroredColor,\n marginTop: '5px',\n },\n ],\n callout: {\n boxShadow: effects.elevation8,\n },\n optionsContainerWrapper: {\n width: comboBoxOptionWidth,\n },\n optionsContainer: {\n display: 'block',\n },\n screenReaderText: hiddenContentStyle,\n header: [\n fonts.medium,\n {\n fontWeight: FontWeights.semibold,\n color: option.headerTextColor,\n backgroundColor: 'none',\n borderStyle: 'none',\n height: ComboBoxOptionHeight,\n lineHeight: ComboBoxOptionHeight,\n cursor: 'default',\n padding: '0 8px',\n userSelect: 'none',\n textAlign: 'left',\n selectors: (_f = {},\n _f[HighContrastSelector] = __assign({ color: 'GrayText' }, getHighContrastNoAdjustStyle()),\n _f),\n },\n ],\n divider: {\n height: 1,\n backgroundColor: option.dividerBorderColor,\n },\n };\n return concatStyleSets(styles, customStyles);\n});\n//# sourceMappingURL=ComboBox.styles.js.map","import { __assign, __decorate, __extends, __rest, __spreadArray } from \"tslib\";\nimport * as React from 'react';\nimport { Autofill } from '../../Autofill';\nimport { initializeComponentRef, css, customizable, divProperties, findElementRecursive, findIndex, focusAsync, getId, getNativeProps, isIOS, isMac, KeyCodes, shallowCompare, mergeAriaAttributeValues, warnMutuallyExclusive, Async, EventGroup, getPropsWithDefaults, } from '../../Utilities';\nimport { Callout, DirectionalHint } from '../../Callout';\nimport { Checkbox } from '../../Checkbox';\nimport { getCaretDownButtonStyles, getOptionStyles, getStyles } from './ComboBox.styles';\nimport { getClassNames, getComboBoxOptionClassNames } from './ComboBox.classNames';\nimport { Label } from '../../Label';\nimport { SelectableOptionMenuItemType, getAllSelectedOptions } from '../../SelectableOption';\nimport { CommandButton, IconButton } from '../../Button';\nimport { useMergedRefs } from '@fluentui/react-hooks';\nvar SearchDirection;\n(function (SearchDirection) {\n SearchDirection[SearchDirection[\"backward\"] = -1] = \"backward\";\n SearchDirection[SearchDirection[\"none\"] = 0] = \"none\";\n SearchDirection[SearchDirection[\"forward\"] = 1] = \"forward\";\n})(SearchDirection || (SearchDirection = {}));\nvar HoverStatus;\n(function (HoverStatus) {\n /** Used when the user was hovering and has since moused out of the menu items */\n HoverStatus[HoverStatus[\"clearAll\"] = -2] = \"clearAll\";\n /** Default \"normal\" state, when no hover has happened or a hover is in progress */\n HoverStatus[HoverStatus[\"default\"] = -1] = \"default\";\n})(HoverStatus || (HoverStatus = {}));\nvar ScrollIdleDelay = 250; /* ms */\nvar TouchIdleDelay = 500; /* ms */\n/**\n * This is used to clear any pending autocomplete text (used when autocomplete is true and\n * allowFreeform is false)\n */\nvar ReadOnlyPendingAutoCompleteTimeout = 1000; /* ms */\n/**\n * Internal component that is used to wrap all ComboBox options.\n * This is used to customize when we want to re-render components,\n * so we don't re-render every option every time render is executed.\n */\nvar ComboBoxOptionWrapper = React.memo(function (_a) {\n var render = _a.render;\n return render();\n}, function (_a, _b) {\n var oldRender = _a.render, oldProps = __rest(_a, [\"render\"]);\n var newRender = _b.render, newProps = __rest(_b, [\"render\"]);\n // The render function will always be different, so we ignore that prop\n return shallowCompare(oldProps, newProps);\n});\nvar COMPONENT_NAME = 'ComboBox';\nvar DEFAULT_PROPS = {\n options: [],\n allowFreeform: false,\n autoComplete: 'on',\n buttonIconProps: { iconName: 'ChevronDown' },\n};\nfunction useOptionsState(_a) {\n var options = _a.options, defaultSelectedKey = _a.defaultSelectedKey, selectedKey = _a.selectedKey;\n /** The currently selected indices */\n var _b = React.useState(function () {\n return getSelectedIndices(options, buildDefaultSelectedKeys(defaultSelectedKey, selectedKey));\n }), selectedIndices = _b[0], setSelectedIndices = _b[1];\n /** The options currently available for the callout */\n var _c = React.useState(options), currentOptions = _c[0], setCurrentOptions = _c[1];\n /** This value is used for the autocomplete hint value */\n var _d = React.useState(), suggestedDisplayValue = _d[0], setSuggestedDisplayValue = _d[1];\n React.useEffect(function () {\n if (selectedKey !== undefined) {\n var selectedKeys = buildSelectedKeys(selectedKey);\n var indices = getSelectedIndices(options, selectedKeys);\n setSelectedIndices(indices);\n }\n setCurrentOptions(options);\n }, [options, selectedKey]);\n React.useEffect(function () {\n if (selectedKey === null) {\n setSuggestedDisplayValue(undefined);\n }\n }, [selectedKey]);\n return [\n selectedIndices,\n setSelectedIndices,\n currentOptions,\n setCurrentOptions,\n suggestedDisplayValue,\n setSuggestedDisplayValue,\n ];\n}\nexport var ComboBox = React.forwardRef(function (propsWithoutDefaults, forwardedRef) {\n var _a = getPropsWithDefaults(DEFAULT_PROPS, propsWithoutDefaults), ref = _a.ref, props = __rest(_a, [\"ref\"]);\n var rootRef = React.useRef(null);\n var mergedRootRef = useMergedRefs(rootRef, forwardedRef);\n var _b = useOptionsState(props), selectedIndices = _b[0], setSelectedIndices = _b[1], currentOptions = _b[2], setCurrentOptions = _b[3], suggestedDisplayValue = _b[4], setSuggestedDisplayValue = _b[5];\n return (React.createElement(ComboBoxInternal, __assign({}, props, { hoisted: {\n mergedRootRef: mergedRootRef,\n rootRef: rootRef,\n selectedIndices: selectedIndices,\n setSelectedIndices: setSelectedIndices,\n currentOptions: currentOptions,\n setCurrentOptions: setCurrentOptions,\n suggestedDisplayValue: suggestedDisplayValue,\n setSuggestedDisplayValue: setSuggestedDisplayValue,\n } })));\n});\nComboBox.displayName = COMPONENT_NAME;\nvar ComboBoxInternal = /** @class */ (function (_super) {\n __extends(ComboBoxInternal, _super);\n function ComboBoxInternal(props) {\n var _this = _super.call(this, props) || this;\n /** The input aspect of the combo box */\n _this._autofill = React.createRef();\n /** The wrapping div of the input and button */\n _this._comboBoxWrapper = React.createRef();\n /** The callout element */\n _this._comboBoxMenu = React.createRef();\n /** The menu item element that is currently selected */\n _this._selectedElement = React.createRef();\n /**\n * {@inheritdoc}\n */\n _this.focus = function (shouldOpenOnFocus, useFocusAsync) {\n if (_this._autofill.current) {\n if (useFocusAsync) {\n focusAsync(_this._autofill.current);\n }\n else {\n _this._autofill.current.focus();\n }\n if (shouldOpenOnFocus) {\n _this.setState({\n isOpen: true,\n });\n }\n }\n // Programmatically setting focus means that there is nothing else that needs to be done\n // Focus is now contained\n if (!_this._hasFocus()) {\n _this.setState({ focusState: 'focused' });\n }\n };\n /**\n * Close menu callout if it is open\n */\n _this.dismissMenu = function () {\n var isOpen = _this.state.isOpen;\n isOpen && _this.setState({ isOpen: false });\n };\n /**\n * componentWillReceiveProps handler for the auto fill component\n * Checks/updates the input value to set, if needed\n * @param defaultVisibleValue - the defaultVisibleValue that got passed\n * in to the auto fill's componentWillReceiveProps\n * @returns - the updated value to set, if needed\n */\n _this._onUpdateValueInAutofillWillReceiveProps = function () {\n var comboBox = _this._autofill.current;\n if (!comboBox) {\n return null;\n }\n if (comboBox.value === null || comboBox.value === undefined) {\n return null;\n }\n var visibleValue = normalizeToString(_this._currentVisibleValue);\n if (comboBox.value !== visibleValue) {\n return visibleValue;\n }\n return comboBox.value;\n };\n _this._renderComboBoxWrapper = function (multiselectAccessibleText, errorMessageId) {\n var _a = _this.props, label = _a.label, disabled = _a.disabled, ariaLabel = _a.ariaLabel, ariaDescribedBy = _a.ariaDescribedBy, required = _a.required, errorMessage = _a.errorMessage, buttonIconProps = _a.buttonIconProps, _b = _a.isButtonAriaHidden, isButtonAriaHidden = _b === void 0 ? true : _b, title = _a.title, placeholderProp = _a.placeholder, tabIndex = _a.tabIndex, autofill = _a.autofill, iconButtonProps = _a.iconButtonProps, suggestedDisplayValue = _a.hoisted.suggestedDisplayValue;\n var isOpen = _this.state.isOpen;\n // If the combo box has focus, is multiselect, and has a display string, then use that placeholder\n // so that the selected items don't appear to vanish. This is not ideal but it's the only reasonable way\n // to correct the behavior where the input is cleared so the user can type. If a full refactor is done, then this\n // should be removed and the multiselect combo box should behave like a picker.\n var placeholder = _this._hasFocus() && _this.props.multiSelect && multiselectAccessibleText\n ? multiselectAccessibleText\n : placeholderProp;\n return (React.createElement(\"div\", { \"data-ktp-target\": true, ref: _this._comboBoxWrapper, id: _this._id + 'wrapper', className: _this._classNames.root, \"aria-owns\": isOpen ? _this._id + '-list' : undefined },\n React.createElement(Autofill, __assign({ \"data-ktp-execute-target\": true, \"data-is-interactable\": !disabled, componentRef: _this._autofill, id: _this._id + '-input', className: _this._classNames.input, type: \"text\", onFocus: _this._onFocus, onBlur: _this._onBlur, onKeyDown: _this._onInputKeyDown, onKeyUp: _this._onInputKeyUp, onClick: _this._onAutofillClick, onTouchStart: _this._onTouchStart, onInputValueChange: _this._onInputChange, \"aria-expanded\": isOpen, \"aria-autocomplete\": _this._getAriaAutoCompleteValue(), role: \"combobox\", readOnly: disabled, \"aria-labelledby\": label && _this._id + '-label', \"aria-label\": ariaLabel && !label ? ariaLabel : undefined, \"aria-describedby\": errorMessage !== undefined ? mergeAriaAttributeValues(ariaDescribedBy, errorMessageId) : ariaDescribedBy, \"aria-activedescendant\": _this._getAriaActiveDescendantValue(), \"aria-required\": required, \"aria-disabled\": disabled, \"aria-controls\": isOpen ? _this._id + '-list' : undefined, spellCheck: false, defaultVisibleValue: _this._currentVisibleValue, suggestedDisplayValue: suggestedDisplayValue, updateValueInWillReceiveProps: _this._onUpdateValueInAutofillWillReceiveProps, shouldSelectFullInputValueInComponentDidUpdate: _this._onShouldSelectFullInputValueInAutofillComponentDidUpdate, title: title, preventValueSelection: !_this._hasFocus(), placeholder: placeholder, tabIndex: disabled ? -1 : tabIndex }, autofill)),\n React.createElement(IconButton, __assign({ className: 'ms-ComboBox-CaretDown-button', styles: _this._getCaretButtonStyles(), role: \"presentation\", \"aria-hidden\": isButtonAriaHidden, \"data-is-focusable\": false, tabIndex: -1, onClick: _this._onComboBoxClick, onBlur: _this._onBlur, iconProps: buttonIconProps, disabled: disabled, checked: isOpen }, iconButtonProps))));\n };\n /**\n * componentDidUpdate handler for the auto fill component\n *\n * @param defaultVisibleValue - the current defaultVisibleValue in the auto fill's componentDidUpdate\n * @param suggestedDisplayValue - the current suggestedDisplayValue in the auto fill's componentDidUpdate\n * @returns - should the full value of the input be selected?\n * True if the defaultVisibleValue equals the suggestedDisplayValue, false otherwise\n */\n _this._onShouldSelectFullInputValueInAutofillComponentDidUpdate = function () {\n return _this._currentVisibleValue === _this.props.hoisted.suggestedDisplayValue;\n };\n /**\n * Get the correct value to pass to the input\n * to show to the user based off of the current props and state\n * @returns the value to pass to the input\n */\n _this._getVisibleValue = function () {\n var _a = _this.props, text = _a.text, allowFreeform = _a.allowFreeform, autoComplete = _a.autoComplete, _b = _a.hoisted, suggestedDisplayValue = _b.suggestedDisplayValue, selectedIndices = _b.selectedIndices, currentOptions = _b.currentOptions;\n var _c = _this.state, currentPendingValueValidIndex = _c.currentPendingValueValidIndex, currentPendingValue = _c.currentPendingValue, isOpen = _c.isOpen;\n var currentPendingIndexValid = indexWithinBounds(currentOptions, currentPendingValueValidIndex);\n // If the user passed is a value prop, use that\n // unless we are open and have a valid current pending index\n if (!(isOpen && currentPendingIndexValid) &&\n text &&\n (currentPendingValue === null || currentPendingValue === undefined)) {\n return text;\n }\n if (_this.props.multiSelect) {\n // Multi-select\n if (_this._hasFocus()) {\n var index = -1;\n if (autoComplete === 'on' && currentPendingIndexValid) {\n index = currentPendingValueValidIndex;\n }\n return _this._getPendingString(currentPendingValue, currentOptions, index);\n }\n else {\n return _this._getMultiselectDisplayString(selectedIndices, currentOptions, suggestedDisplayValue);\n }\n }\n else {\n // Single-select\n var index = _this._getFirstSelectedIndex();\n if (allowFreeform) {\n // If we are allowing freeform and autocomplete is also true\n // and we've got a pending value that matches an option, remember\n // the matched option's index\n if (autoComplete === 'on' && currentPendingIndexValid) {\n index = currentPendingValueValidIndex;\n }\n // Since we are allowing freeform, if there is currently a pending value, use that\n // otherwise use the index determined above (falling back to '' if we did not get a valid index)\n return _this._getPendingString(currentPendingValue, currentOptions, index);\n }\n else {\n // If we are not allowing freeform and have a valid index that matches the pending value,\n // we know we will need some version of the pending value\n if (currentPendingIndexValid && autoComplete === 'on') {\n // If autoComplete is on, return the raw pending value, otherwise remember\n // the matched option's index\n index = currentPendingValueValidIndex;\n return normalizeToString(currentPendingValue);\n }\n else if (!_this.state.isOpen && currentPendingValue) {\n return indexWithinBounds(currentOptions, index)\n ? currentPendingValue\n : normalizeToString(suggestedDisplayValue);\n }\n else {\n return indexWithinBounds(currentOptions, index)\n ? getPreviewText(currentOptions[index])\n : normalizeToString(suggestedDisplayValue);\n }\n }\n }\n };\n /**\n * Handler for typing changes on the input\n * @param updatedValue - the newly changed value\n */\n _this._onInputChange = function (updatedValue) {\n if (_this.props.disabled) {\n _this._handleInputWhenDisabled(null /* event */);\n return;\n }\n if (_this.props.onInputValueChange) {\n _this.props.onInputValueChange(updatedValue);\n }\n _this.props.allowFreeform\n ? _this._processInputChangeWithFreeform(updatedValue)\n : _this._processInputChangeWithoutFreeform(updatedValue);\n };\n /**\n * Focus (and select) the content of the input\n * and set the focused state\n */\n _this._onFocus = function () {\n var _a, _b;\n (_b = (_a = _this._autofill.current) === null || _a === void 0 ? void 0 : _a.inputElement) === null || _b === void 0 ? void 0 : _b.select();\n if (!_this._hasFocus()) {\n _this.setState({ focusState: 'focusing' });\n }\n };\n /**\n * Callback issued when the options should be resolved, if they have been updated or\n * if they need to be passed in the first time. This only does work if an onResolveOptions\n * callback was passed in\n */\n _this._onResolveOptions = function () {\n if (_this.props.onResolveOptions) {\n // get the options\n var newOptions_1 = _this.props.onResolveOptions(__spreadArray([], _this.props.hoisted.currentOptions));\n // Check to see if the returned value is an array, if it is update the state\n // If the returned value is not an array then check to see if it's a promise or PromiseLike.\n // If it is then resolve it asynchronously.\n if (Array.isArray(newOptions_1)) {\n _this.props.hoisted.setCurrentOptions(newOptions_1);\n }\n else if (newOptions_1 && newOptions_1.then) {\n // Ensure that the promise will only use the callback if it was the most recent one\n // and update the state when the promise returns\n _this._currentPromise = newOptions_1;\n newOptions_1.then(function (newOptionsFromPromise) {\n if (newOptions_1 === _this._currentPromise) {\n _this.props.hoisted.setCurrentOptions(newOptionsFromPromise);\n }\n });\n }\n }\n };\n /**\n * OnBlur handler. Set the focused state to false\n * and submit any pending value\n */\n // eslint-disable-next-line deprecation/deprecation\n _this._onBlur = function (event) {\n var _a, _b;\n // Do nothing if the blur is coming from something\n // inside the comboBox root or the comboBox menu since\n // it we are not really blurring from the whole comboBox\n var relatedTarget = event.relatedTarget;\n if (event.relatedTarget === null) {\n // In IE11, due to lack of support, event.relatedTarget is always\n // null making every onBlur call to be \"outside\" of the ComboBox\n // even when it's not. Using document.activeElement is another way\n // for us to be able to get what the relatedTarget without relying\n // on the event\n relatedTarget = document.activeElement;\n }\n if (relatedTarget) {\n var isBlurFromComboBoxTitle = (_a = _this.props.hoisted.rootRef.current) === null || _a === void 0 ? void 0 : _a.contains(relatedTarget);\n var isBlurFromComboBoxMenu = (_b = _this._comboBoxMenu.current) === null || _b === void 0 ? void 0 : _b.contains(relatedTarget);\n var isBlurFromComboBoxMenuAncestor = _this._comboBoxMenu.current &&\n findElementRecursive(_this._comboBoxMenu.current, function (element) { return element === relatedTarget; });\n if (isBlurFromComboBoxTitle || isBlurFromComboBoxMenu || isBlurFromComboBoxMenuAncestor) {\n if (isBlurFromComboBoxMenuAncestor &&\n _this._hasFocus() &&\n (!_this.props.multiSelect || _this.props.allowFreeform)) {\n _this._submitPendingValue(event);\n }\n event.preventDefault();\n event.stopPropagation();\n return;\n }\n }\n if (_this._hasFocus()) {\n _this.setState({ focusState: 'none' });\n if (!_this.props.multiSelect || _this.props.allowFreeform) {\n _this._submitPendingValue(event);\n }\n }\n };\n // Render Callout container and pass in list\n _this._onRenderContainer = function (props, defaultRender) {\n var onRenderList = props.onRenderList, calloutProps = props.calloutProps, dropdownWidth = props.dropdownWidth, dropdownMaxWidth = props.dropdownMaxWidth, _a = props.onRenderUpperContent, onRenderUpperContent = _a === void 0 ? _this._onRenderUpperContent : _a, _b = props.onRenderLowerContent, onRenderLowerContent = _b === void 0 ? _this._onRenderLowerContent : _b, useComboBoxAsMenuWidth = props.useComboBoxAsMenuWidth, persistMenu = props.persistMenu, _c = props.shouldRestoreFocus, shouldRestoreFocus = _c === void 0 ? true : _c;\n var isOpen = _this.state.isOpen;\n var id = _this._id;\n var comboBoxMenuWidth = useComboBoxAsMenuWidth && _this._comboBoxWrapper.current\n ? _this._comboBoxWrapper.current.clientWidth + 2\n : undefined;\n return (React.createElement(Callout, __assign({ isBeakVisible: false, gapSpace: 0, doNotLayer: false, directionalHint: DirectionalHint.bottomLeftEdge, directionalHintFixed: false }, calloutProps, { onLayerMounted: _this._onLayerMounted, className: css(_this._classNames.callout, calloutProps === null || calloutProps === void 0 ? void 0 : calloutProps.className), target: _this._comboBoxWrapper.current, onDismiss: _this._onDismiss, onMouseDown: _this._onCalloutMouseDown, onScroll: _this._onScroll, setInitialFocus: false, calloutWidth: useComboBoxAsMenuWidth && _this._comboBoxWrapper.current\n ? comboBoxMenuWidth && comboBoxMenuWidth\n : dropdownWidth, calloutMaxWidth: dropdownMaxWidth ? dropdownMaxWidth : comboBoxMenuWidth, hidden: persistMenu ? !isOpen : undefined, shouldRestoreFocus: shouldRestoreFocus }),\n onRenderUpperContent(_this.props, _this._onRenderUpperContent),\n React.createElement(\"div\", { className: _this._classNames.optionsContainerWrapper, ref: _this._comboBoxMenu }, onRenderList === null || onRenderList === void 0 ? void 0 : onRenderList(__assign(__assign({}, props), { id: id }), _this._onRenderList)),\n onRenderLowerContent(_this.props, _this._onRenderLowerContent)));\n };\n _this._onLayerMounted = function () {\n _this._onCalloutLayerMounted();\n // need to call this again here to get the correct scroll parent dimensions\n // when the callout is first opened\n _this._async.setTimeout(function () {\n _this._scrollIntoView();\n }, 0);\n if (_this.props.calloutProps && _this.props.calloutProps.onLayerMounted) {\n _this.props.calloutProps.onLayerMounted();\n }\n };\n _this._onRenderLabel = function (onRenderLabelProps) {\n var _a = onRenderLabelProps.props, label = _a.label, disabled = _a.disabled, required = _a.required;\n if (label) {\n return (React.createElement(Label, { id: _this._id + '-label', disabled: disabled, required: required, className: _this._classNames.label },\n label,\n onRenderLabelProps.multiselectAccessibleText && (React.createElement(\"span\", { className: _this._classNames.screenReaderText }, onRenderLabelProps.multiselectAccessibleText))));\n }\n return null;\n };\n // Render List of items\n _this._onRenderList = function (props) {\n var _a = props.onRenderItem, onRenderItem = _a === void 0 ? _this._onRenderItem : _a, label = props.label, ariaLabel = props.ariaLabel, multiSelect = props.multiSelect;\n var queue = { items: [] };\n var renderedList = [];\n var emptyQueue = function () {\n var newGroup = queue.id\n ? [\n React.createElement(\"div\", { role: \"group\", key: queue.id, \"aria-labelledby\": queue.id }, queue.items),\n ]\n : queue.items;\n renderedList = __spreadArray(__spreadArray([], renderedList), newGroup);\n // Flush items and id\n queue = { items: [] };\n };\n var placeRenderedOptionIntoQueue = function (item, index) {\n /*\n Case Header\n empty queue if it's not already empty\n ensure unique ID for header and set queue ID\n push header into queue\n Case Divider\n push divider into queue if not first item\n empty queue if not already empty\n Default\n push item into queue\n */\n switch (item.itemType) {\n case SelectableOptionMenuItemType.Header:\n queue.items.length > 0 && emptyQueue();\n var id_1 = _this._id + item.key;\n queue.items.push(onRenderItem(__assign(__assign({ id: id_1 }, item), { index: index }), _this._onRenderItem));\n queue.id = id_1;\n break;\n case SelectableOptionMenuItemType.Divider:\n index > 0 && queue.items.push(onRenderItem(__assign(__assign({}, item), { index: index }), _this._onRenderItem));\n queue.items.length > 0 && emptyQueue();\n break;\n default:\n queue.items.push(onRenderItem(__assign(__assign({}, item), { index: index }), _this._onRenderItem));\n }\n };\n // Place options into the queue. Queue will be emptied anytime a Header or Divider is encountered\n props.options.forEach(function (item, index) {\n placeRenderedOptionIntoQueue(item, index);\n });\n // Push remaining items into all renderedList\n queue.items.length > 0 && emptyQueue();\n var id = _this._id;\n return (React.createElement(\"div\", { id: id + '-list', className: _this._classNames.optionsContainer, \"aria-labelledby\": label && id + '-label', \"aria-label\": ariaLabel && !label ? ariaLabel : undefined, \"aria-multiselectable\": multiSelect ? 'true' : undefined, role: \"listbox\" }, renderedList));\n };\n // Render items\n _this._onRenderItem = function (item) {\n switch (item.itemType) {\n case SelectableOptionMenuItemType.Divider:\n return _this._renderSeparator(item);\n case SelectableOptionMenuItemType.Header:\n return _this._renderHeader(item);\n default:\n return _this._renderOption(item);\n }\n };\n // Default _onRenderLowerContent function returns nothing\n _this._onRenderLowerContent = function () {\n return null;\n };\n // Default _onRenderUpperContent function returns nothing\n _this._onRenderUpperContent = function () {\n return null;\n };\n _this._renderOption = function (item) {\n var _a;\n var _b = _this.props.onRenderOption, onRenderOption = _b === void 0 ? _this._onRenderOptionContent : _b;\n var id = _this._id;\n var isSelected = _this._isOptionSelected(item.index);\n var isChecked = _this._isOptionChecked(item.index);\n var isIndeterminate = _this._isOptionIndeterminate(item.index);\n var optionStyles = _this._getCurrentOptionStyles(item);\n var optionClassNames = getComboBoxOptionClassNames(_this._getCurrentOptionStyles(item));\n var title = (_a = item.title) !== null && _a !== void 0 ? _a : getPreviewText(item);\n var onRenderCheckboxLabel = function () { return onRenderOption(item, _this._onRenderOptionContent); };\n var getOptionComponent = function () {\n return !_this.props.multiSelect ? (React.createElement(CommandButton, { id: id + '-list' + item.index, key: item.key, \"data-index\": item.index, styles: optionStyles, checked: isSelected, className: 'ms-ComboBox-option', onClick: _this._onItemClick(item), \n // eslint-disable-next-line react/jsx-no-bind\n onMouseEnter: _this._onOptionMouseEnter.bind(_this, item.index), \n // eslint-disable-next-line react/jsx-no-bind\n onMouseMove: _this._onOptionMouseMove.bind(_this, item.index), onMouseLeave: _this._onOptionMouseLeave, role: \"option\", \"aria-selected\": isSelected ? 'true' : 'false', ariaLabel: item.ariaLabel, disabled: item.disabled, title: title }, React.createElement(\"span\", { className: optionClassNames.optionTextWrapper, ref: isSelected ? _this._selectedElement : undefined }, onRenderOption(item, _this._onRenderOptionContent)))) : (React.createElement(Checkbox, { id: id + '-list' + item.index, ariaLabel: item.ariaLabel, key: item.key, styles: optionStyles, className: 'ms-ComboBox-option', onChange: _this._onItemClick(item), label: item.text, checked: isChecked, indeterminate: isIndeterminate, title: title, disabled: item.disabled, \n // eslint-disable-next-line react/jsx-no-bind\n onRenderLabel: onRenderCheckboxLabel, inputProps: __assign({ \n // aria-selected should only be applied to checked items, not hovered items\n 'aria-selected': isChecked ? 'true' : 'false', role: 'option' }, {\n 'data-index': item.index,\n 'data-is-focusable': true,\n }) }));\n };\n return (React.createElement(ComboBoxOptionWrapper, { key: item.key, index: item.index, disabled: item.disabled, isSelected: isSelected, isChecked: isChecked, isIndeterminate: isIndeterminate, text: item.text, \n // eslint-disable-next-line react/jsx-no-bind\n render: getOptionComponent, data: item.data }));\n };\n /**\n * Mouse clicks to headers, dividers and scrollbar should not make input lose focus\n */\n _this._onCalloutMouseDown = function (ev) {\n ev.preventDefault();\n };\n /**\n * Scroll handler for the callout to make sure the mouse events\n * for updating focus are not interacting during scroll\n */\n _this._onScroll = function () {\n if (!_this._isScrollIdle && _this._scrollIdleTimeoutId !== undefined) {\n _this._async.clearTimeout(_this._scrollIdleTimeoutId);\n _this._scrollIdleTimeoutId = undefined;\n }\n else {\n _this._isScrollIdle = false;\n }\n _this._scrollIdleTimeoutId = _this._async.setTimeout(function () {\n _this._isScrollIdle = true;\n }, ScrollIdleDelay);\n };\n _this._onRenderOptionContent = function (item) {\n var optionClassNames = getComboBoxOptionClassNames(_this._getCurrentOptionStyles(item));\n return React.createElement(\"span\", { className: optionClassNames.optionText }, item.text);\n };\n /**\n * Handles dismissing (cancelling) the menu\n */\n _this._onDismiss = function () {\n var onMenuDismiss = _this.props.onMenuDismiss;\n if (onMenuDismiss) {\n onMenuDismiss();\n }\n // In persistMode we need to simulate callout layer mount\n // since that only happens once. We do it on dismiss since\n // it works either way.\n if (_this.props.persistMenu) {\n _this._onCalloutLayerMounted();\n }\n // close the menu\n _this._setOpenStateAndFocusOnClose(false /* isOpen */, false /* focusInputAfterClose */);\n // reset the selected index\n // to the last value state\n _this._resetSelectedIndex();\n };\n _this._onAfterClearPendingInfo = function () {\n _this._processingClearPendingInfo = false;\n };\n /**\n * Handle keydown on the input\n * @param ev - The keyboard event that was fired\n */\n _this._onInputKeyDown = function (ev) {\n var _a = _this.props, disabled = _a.disabled, allowFreeform = _a.allowFreeform, autoComplete = _a.autoComplete, currentOptions = _a.hoisted.currentOptions;\n var _b = _this.state, isOpen = _b.isOpen, currentPendingValueValidIndexOnHover = _b.currentPendingValueValidIndexOnHover;\n // Take note if we are processing an alt (option) or meta (command) keydown.\n // See comment in _onInputKeyUp for reasoning.\n _this._lastKeyDownWasAltOrMeta = isAltOrMeta(ev);\n if (disabled) {\n _this._handleInputWhenDisabled(ev);\n return;\n }\n var index = _this._getPendingSelectedIndex(false /* includeCurrentPendingValue */);\n // eslint-disable-next-line deprecation/deprecation\n switch (ev.which) {\n case KeyCodes.enter:\n if (_this._autofill.current && _this._autofill.current.inputElement) {\n _this._autofill.current.inputElement.select();\n }\n _this._submitPendingValue(ev);\n if (_this.props.multiSelect && isOpen) {\n _this.setState({\n currentPendingValueValidIndex: index,\n });\n }\n else {\n // On enter submit the pending value\n if (isOpen ||\n ((!allowFreeform ||\n _this.state.currentPendingValue === undefined ||\n _this.state.currentPendingValue === null ||\n _this.state.currentPendingValue.length <= 0) &&\n _this.state.currentPendingValueValidIndex < 0)) {\n // if we are open or\n // if we are not allowing freeform or\n // our we have no pending value\n // and no valid pending index\n // flip the open state\n _this.setState({\n isOpen: !isOpen,\n });\n }\n }\n break;\n case KeyCodes.tab:\n // On enter submit the pending value\n if (!_this.props.multiSelect) {\n _this._submitPendingValue(ev);\n }\n // If we are not allowing freeform\n // or the combo box is open, flip the open state\n if (isOpen) {\n _this._setOpenStateAndFocusOnClose(!isOpen, false /* focusInputAfterClose */);\n }\n // Allow TAB to propagate\n return;\n case KeyCodes.escape:\n // reset the selected index\n _this._resetSelectedIndex();\n // Close the menu if opened\n if (isOpen) {\n _this.setState({\n isOpen: false,\n });\n }\n else {\n return;\n }\n break;\n case KeyCodes.up:\n // if we are in clearAll state (e.g. the user as hovering\n // and has since mousedOut of the menu items),\n // go to the last index\n if (currentPendingValueValidIndexOnHover === HoverStatus.clearAll) {\n index = _this.props.hoisted.currentOptions.length;\n }\n if (ev.altKey || ev.metaKey) {\n // Close the menu if it is open and break so\n // that the event get stopPropagation and prevent default.\n // Otherwise, we need to let the event continue to propagate\n if (isOpen) {\n _this._setOpenStateAndFocusOnClose(!isOpen, true /* focusInputAfterClose */);\n break;\n }\n return;\n }\n // do not scroll page\n ev.preventDefault();\n // Go to the previous option\n _this._setPendingInfoFromIndexAndDirection(index, SearchDirection.backward);\n break;\n case KeyCodes.down:\n // Expand the combo box on ALT + DownArrow\n if (ev.altKey || ev.metaKey) {\n _this._setOpenStateAndFocusOnClose(true /* isOpen */, true /* focusInputAfterClose */);\n }\n else {\n // if we are in clearAll state (e.g. the user as hovering\n // and has since mousedOut of the menu items),\n // go to the first index\n if (currentPendingValueValidIndexOnHover === HoverStatus.clearAll) {\n index = -1;\n }\n // do not scroll page\n ev.preventDefault();\n // Got to the next option\n _this._setPendingInfoFromIndexAndDirection(index, SearchDirection.forward);\n }\n break;\n case KeyCodes.home:\n case KeyCodes.end:\n if (allowFreeform) {\n return;\n }\n // Set the initial values to respond to HOME\n // which goes to the first selectable option\n index = -1;\n var directionToSearch = SearchDirection.forward;\n // If end, update the values to respond to END\n // which goes to the last selectable option\n // eslint-disable-next-line deprecation/deprecation\n if (ev.which === KeyCodes.end) {\n index = currentOptions.length;\n directionToSearch = SearchDirection.backward;\n }\n _this._setPendingInfoFromIndexAndDirection(index, directionToSearch);\n break;\n /* eslint-disable no-fallthrough */\n case KeyCodes.space:\n // event handled in _onComboBoxKeyUp\n if (!allowFreeform && autoComplete === 'off') {\n break;\n }\n default:\n /* eslint-enable no-fallthrough */\n // are we processing a function key? if so bail out\n // eslint-disable-next-line deprecation/deprecation\n if (ev.which >= 112 /* F1 */ && ev.which <= 123 /* F12 */) {\n return;\n }\n // If we get here and we got either and ALT key\n // or meta key, let the event propagate\n if (ev.keyCode === KeyCodes.alt || ev.key === 'Meta' /* && isOpen */) {\n return;\n }\n // If we are not allowing freeform and\n // allowing autoComplete, handle the input here\n // since we have marked the input as readonly\n if (!allowFreeform && autoComplete === 'on') {\n _this._onInputChange(ev.key);\n break;\n }\n // allow the key to propagate by default\n return;\n }\n ev.stopPropagation();\n ev.preventDefault();\n };\n /**\n * Handle keyup on the input\n * @param ev - the keyboard event that was fired\n */\n _this._onInputKeyUp = function (ev) {\n var _a = _this.props, disabled = _a.disabled, allowFreeform = _a.allowFreeform, autoComplete = _a.autoComplete;\n var isOpen = _this.state.isOpen;\n // We close the menu on key up only if ALL of the following are true:\n // - Most recent key down was alt or meta (command)\n // - The alt/meta key down was NOT followed by some other key (such as down/up arrow to\n // expand/collapse the menu)\n // - We're not on a Mac (or iOS)\n // This is because on Windows, pressing alt moves focus to the application menu bar or similar,\n // closing any open context menus. There is not a similar behavior on Macs.\n var keyPressIsAltOrMetaAlone = _this._lastKeyDownWasAltOrMeta && isAltOrMeta(ev);\n _this._lastKeyDownWasAltOrMeta = false;\n var shouldHandleKey = keyPressIsAltOrMetaAlone && !(isMac() || isIOS());\n if (disabled) {\n _this._handleInputWhenDisabled(ev);\n return;\n }\n // eslint-disable-next-line deprecation/deprecation\n switch (ev.which) {\n case KeyCodes.space:\n // If we are not allowing freeform and are not autoComplete\n // make space expand/collapse the combo box\n // and allow the event to propagate\n if (!allowFreeform && autoComplete === 'off') {\n _this._setOpenStateAndFocusOnClose(!isOpen, !!isOpen);\n }\n return;\n default:\n if (shouldHandleKey && isOpen) {\n _this._setOpenStateAndFocusOnClose(!isOpen, true /* focusInputAfterClose */);\n }\n else {\n if (_this.state.focusState === 'focusing' && _this.props.openOnKeyboardFocus) {\n _this.setState({ isOpen: true });\n }\n if (_this.state.focusState !== 'focused') {\n _this.setState({ focusState: 'focused' });\n }\n }\n return;\n }\n };\n _this._onOptionMouseLeave = function () {\n if (_this._shouldIgnoreMouseEvent()) {\n return;\n }\n // Ignore the event in persistMenu mode if the callout has\n // closed. This is to avoid clearing the visuals on item click.\n if (_this.props.persistMenu && !_this.state.isOpen) {\n return;\n }\n _this.setState({\n currentPendingValueValidIndexOnHover: HoverStatus.clearAll,\n });\n };\n /**\n * Click handler for the button of the combo box and the input when not allowing freeform.\n * This toggles the expand/collapse state of the combo box (if enabled).\n */\n _this._onComboBoxClick = function () {\n var disabled = _this.props.disabled;\n var isOpen = _this.state.isOpen;\n if (!disabled) {\n _this._setOpenStateAndFocusOnClose(!isOpen, false /* focusInputAfterClose */);\n _this.setState({ focusState: 'focused' });\n }\n };\n /**\n * Click handler for the autofill.\n */\n _this._onAutofillClick = function () {\n var _a = _this.props, disabled = _a.disabled, allowFreeform = _a.allowFreeform;\n if (allowFreeform && !disabled) {\n _this.focus(_this.state.isOpen || _this._processingTouch);\n }\n else {\n _this._onComboBoxClick();\n }\n };\n _this._onTouchStart = function () {\n if (_this._comboBoxWrapper.current && !('onpointerdown' in _this._comboBoxWrapper)) {\n _this._handleTouchAndPointerEvent();\n }\n };\n _this._onPointerDown = function (ev) {\n if (ev.pointerType === 'touch') {\n _this._handleTouchAndPointerEvent();\n ev.preventDefault();\n ev.stopImmediatePropagation();\n }\n };\n initializeComponentRef(_this);\n _this._async = new Async(_this);\n _this._events = new EventGroup(_this);\n warnMutuallyExclusive(COMPONENT_NAME, props, {\n defaultSelectedKey: 'selectedKey',\n text: 'defaultSelectedKey',\n selectedKey: 'value',\n dropdownWidth: 'useComboBoxAsMenuWidth',\n ariaLabel: 'label',\n });\n _this._id = props.id || getId('ComboBox');\n _this._isScrollIdle = true;\n _this._processingTouch = false;\n _this._gotMouseMove = false;\n _this._processingClearPendingInfo = false;\n _this.state = {\n isOpen: false,\n focusState: 'none',\n currentPendingValueValidIndex: -1,\n currentPendingValue: undefined,\n currentPendingValueValidIndexOnHover: HoverStatus.default,\n };\n return _this;\n }\n Object.defineProperty(ComboBoxInternal.prototype, \"selectedOptions\", {\n /**\n * All selected options\n */\n get: function () {\n var _a = this.props.hoisted, currentOptions = _a.currentOptions, selectedIndices = _a.selectedIndices;\n return getAllSelectedOptions(currentOptions, selectedIndices);\n },\n enumerable: false,\n configurable: true\n });\n ComboBoxInternal.prototype.componentDidMount = function () {\n if (this._comboBoxWrapper.current && !this.props.disabled) {\n // hook up resolving the options if needed on focus\n this._events.on(this._comboBoxWrapper.current, 'focus', this._onResolveOptions, true);\n if ('onpointerdown' in this._comboBoxWrapper.current) {\n // For ComboBoxes, touching anywhere in the combo box should drop the dropdown, including the input element.\n // This gives more hit target space for touch environments. We're setting the onpointerdown here, because React\n // does not support Pointer events yet.\n this._events.on(this._comboBoxWrapper.current, 'pointerdown', this._onPointerDown, true);\n }\n }\n };\n ComboBoxInternal.prototype.componentDidUpdate = function (prevProps, prevState) {\n var _this = this;\n var _a = this.props, allowFreeform = _a.allowFreeform, text = _a.text, onMenuOpen = _a.onMenuOpen, onMenuDismissed = _a.onMenuDismissed, selectedIndices = _a.hoisted.selectedIndices;\n var _b = this.state, isOpen = _b.isOpen, currentPendingValueValidIndex = _b.currentPendingValueValidIndex;\n // If we are newly open or are open and the pending valid index changed,\n // make sure the currently selected/pending option is scrolled into view\n if (isOpen && (!prevState.isOpen || prevState.currentPendingValueValidIndex !== currentPendingValueValidIndex)) {\n // Need this timeout so that the selectedElement ref is correctly updated\n this._async.setTimeout(function () { return _this._scrollIntoView(); }, 0);\n }\n // if an action is taken that put focus in the ComboBox\n // and If we are open or we are just closed, shouldFocusAfterClose is set,\n // but we are not the activeElement set focus on the input\n if (this._hasFocus() &&\n (isOpen ||\n (prevState.isOpen &&\n !isOpen &&\n this._focusInputAfterClose &&\n this._autofill.current &&\n document.activeElement !== this._autofill.current.inputElement))) {\n this.focus(undefined /*shouldOpenOnFocus*/, true /*useFocusAsync*/);\n }\n // If we should focusAfterClose AND\n // just opened/closed the menu OR\n // are focused AND\n // updated the selectedIndex with the menu closed OR\n // are not allowing freeform OR\n // the value changed\n // we need to set selection\n if (this._focusInputAfterClose &&\n ((prevState.isOpen && !isOpen) ||\n (this._hasFocus() &&\n ((!isOpen &&\n !this.props.multiSelect &&\n prevProps.hoisted.selectedIndices &&\n selectedIndices &&\n prevProps.hoisted.selectedIndices[0] !== selectedIndices[0]) ||\n !allowFreeform ||\n text !== prevProps.text)))) {\n this._onFocus();\n }\n this._notifyPendingValueChanged(prevState);\n if (isOpen && !prevState.isOpen && onMenuOpen) {\n onMenuOpen();\n }\n if (!isOpen && prevState.isOpen && onMenuDismissed) {\n onMenuDismissed();\n }\n };\n ComboBoxInternal.prototype.componentWillUnmount = function () {\n this._async.dispose();\n this._events.dispose();\n };\n // Primary Render\n ComboBoxInternal.prototype.render = function () {\n var id = this._id;\n var errorMessageId = id + '-error';\n var _a = this.props, className = _a.className, disabled = _a.disabled, required = _a.required, errorMessage = _a.errorMessage, _b = _a.onRenderContainer, onRenderContainer = _b === void 0 ? this._onRenderContainer : _b, _c = _a.onRenderLabel, onRenderLabel = _c === void 0 ? this._onRenderLabel : _c, _d = _a.onRenderList, onRenderList = _d === void 0 ? this._onRenderList : _d, _e = _a.onRenderItem, onRenderItem = _e === void 0 ? this._onRenderItem : _e, _f = _a.onRenderOption, onRenderOption = _f === void 0 ? this._onRenderOptionContent : _f, allowFreeform = _a.allowFreeform, customStyles = _a.styles, theme = _a.theme, persistMenu = _a.persistMenu, multiSelect = _a.multiSelect, _g = _a.hoisted, suggestedDisplayValue = _g.suggestedDisplayValue, selectedIndices = _g.selectedIndices, currentOptions = _g.currentOptions;\n var isOpen = this.state.isOpen;\n this._currentVisibleValue = this._getVisibleValue();\n // Single select is already accessible since the whole text is selected\n // when focus enters the input. Since multiselect appears to clear the input\n // it needs special accessible text\n var multiselectAccessibleText = multiSelect\n ? this._getMultiselectDisplayString(selectedIndices, currentOptions, suggestedDisplayValue)\n : undefined;\n var divProps = getNativeProps(this.props, divProperties, [\n 'onChange',\n 'value',\n ]);\n var hasErrorMessage = errorMessage && errorMessage.length > 0 ? true : false;\n this._classNames = this.props.getClassNames\n ? this.props.getClassNames(theme, !!isOpen, !!disabled, !!required, !!this._hasFocus(), !!allowFreeform, !!hasErrorMessage, className)\n : getClassNames(getStyles(theme, customStyles), className, !!isOpen, !!disabled, !!required, !!this._hasFocus(), !!allowFreeform, !!hasErrorMessage);\n var comboBoxWrapper = this._renderComboBoxWrapper(multiselectAccessibleText, errorMessageId);\n return (React.createElement(\"div\", __assign({}, divProps, { ref: this.props.hoisted.mergedRootRef, className: this._classNames.container }),\n onRenderLabel({ props: this.props, multiselectAccessibleText: multiselectAccessibleText }, this._onRenderLabel),\n comboBoxWrapper,\n (persistMenu || isOpen) &&\n onRenderContainer(__assign(__assign({}, this.props), { onRenderList: onRenderList, onRenderItem: onRenderItem, onRenderOption: onRenderOption, options: currentOptions.map(function (item, index) { return (__assign(__assign({}, item), { index: index })); }), onDismiss: this._onDismiss }), this._onRenderContainer),\n hasErrorMessage && (React.createElement(\"div\", { role: \"alert\", id: errorMessageId, className: this._classNames.errorMessage }, errorMessage))));\n };\n ComboBoxInternal.prototype._getPendingString = function (currentPendingValue, currentOptions, index) {\n return currentPendingValue !== null && currentPendingValue !== undefined\n ? currentPendingValue\n : indexWithinBounds(currentOptions, index)\n ? currentOptions[index].text\n : '';\n };\n /**\n * Returns a string that concatenates all of the selected values\n * for multiselect combo box.\n */\n ComboBoxInternal.prototype._getMultiselectDisplayString = function (selectedIndices, currentOptions, suggestedDisplayValue) {\n var displayValues = [];\n for (var idx = 0; selectedIndices && idx < selectedIndices.length; idx++) {\n var index = selectedIndices[idx];\n if (currentOptions[index].itemType !== SelectableOptionMenuItemType.SelectAll) {\n displayValues.push(indexWithinBounds(currentOptions, index)\n ? currentOptions[index].text\n : normalizeToString(suggestedDisplayValue));\n }\n }\n var _a = this.props.multiSelectDelimiter, multiSelectDelimiter = _a === void 0 ? ', ' : _a;\n return displayValues.join(multiSelectDelimiter);\n };\n /**\n * Process the new input's new value when the combo box allows freeform entry\n * @param updatedValue - the input's newly changed value\n */\n ComboBoxInternal.prototype._processInputChangeWithFreeform = function (updatedValue) {\n var currentOptions = this.props.hoisted.currentOptions;\n var newCurrentPendingValueValidIndex = -1;\n // if the new value is empty, see if we have an exact match and then set the pending info\n if (updatedValue === '') {\n var items = currentOptions\n .map(function (item, index) { return (__assign(__assign({}, item), { index: index })); })\n .filter(function (option) { return isNormalOption(option) && getPreviewText(option) === updatedValue; });\n // if we found a match remember the index\n if (items.length === 1) {\n newCurrentPendingValueValidIndex = items[0].index;\n }\n this._setPendingInfo(updatedValue, newCurrentPendingValueValidIndex, updatedValue);\n return;\n }\n // Remember the original value and then make the value lowercase for comparison\n var originalUpdatedValue = updatedValue;\n updatedValue = updatedValue.toLocaleLowerCase();\n var newSuggestedDisplayValue = '';\n // If autoComplete is on, attempt to find a match from the available options\n if (this.props.autoComplete === 'on') {\n // If autoComplete is on, attempt to find a match where the text of an option starts with the updated value\n var items = currentOptions\n .map(function (item, index) { return (__assign(__assign({}, item), { index: index })); })\n .filter(function (option) { return isNormalOption(option) && getPreviewText(option).toLocaleLowerCase().indexOf(updatedValue) === 0; });\n if (items.length > 0) {\n // use ariaLabel as the value when the option is set\n var text = getPreviewText(items[0]);\n // If the user typed out the complete option text, we don't need any suggested display text anymore\n newSuggestedDisplayValue = text.toLocaleLowerCase() !== updatedValue ? text : '';\n // remember the index of the match we found\n newCurrentPendingValueValidIndex = items[0].index;\n }\n }\n else {\n // If autoComplete is off, attempt to find a match only when the value is exactly equal to the text of an option\n var items = currentOptions\n .map(function (item, index) { return (__assign(__assign({}, item), { index: index })); })\n .filter(function (option) { return isNormalOption(option) && getPreviewText(option).toLocaleLowerCase() === updatedValue; });\n // if we found a match remember the index\n if (items.length === 1) {\n newCurrentPendingValueValidIndex = items[0].index;\n }\n }\n // Set the updated state\n this._setPendingInfo(originalUpdatedValue, newCurrentPendingValueValidIndex, newSuggestedDisplayValue);\n };\n /**\n * Process the new input's new value when the combo box does not allow freeform entry\n * @param updatedValue - the input's newly changed value\n */\n ComboBoxInternal.prototype._processInputChangeWithoutFreeform = function (updatedValue) {\n var _this = this;\n var currentOptions = this.props.hoisted.currentOptions;\n var _a = this.state, currentPendingValue = _a.currentPendingValue, currentPendingValueValidIndex = _a.currentPendingValueValidIndex;\n if (this.props.autoComplete === 'on') {\n // If autoComplete is on while allow freeform is off,\n // we will remember the key press and build up a string to attempt to match\n // as long as characters are typed within a the timeout span of each other,\n // otherwise we will clear the string and start building a new one on the next keypress.\n // Also, only do this processing if we have a non-empty value\n if (updatedValue !== '') {\n // If we have a pending autocomplete clearing task,\n // we know that the user is typing with key press happening\n // within the timeout of each other so remove the clearing task\n // and continue building the pending value with the updated value\n if (this._autoCompleteTimeout) {\n this._async.clearTimeout(this._autoCompleteTimeout);\n this._autoCompleteTimeout = undefined;\n updatedValue = normalizeToString(currentPendingValue) + updatedValue;\n }\n var originalUpdatedValue = updatedValue;\n updatedValue = updatedValue.toLocaleLowerCase();\n // If autoComplete is on, attempt to find a match where the text of an option starts with the updated value\n var items = currentOptions\n .map(function (item, i) { return (__assign(__assign({}, item), { index: i })); })\n .filter(function (option) { return isNormalOption(option) && option.text.toLocaleLowerCase().indexOf(updatedValue) === 0; });\n // If we found a match, update the state\n if (items.length > 0) {\n this._setPendingInfo(originalUpdatedValue, items[0].index, getPreviewText(items[0]));\n }\n // Schedule a timeout to clear the pending value after the timeout span\n this._autoCompleteTimeout = this._async.setTimeout(function () {\n _this._autoCompleteTimeout = undefined;\n }, ReadOnlyPendingAutoCompleteTimeout);\n return;\n }\n }\n // If we get here, either autoComplete is on or we did not find a match with autoComplete on.\n // Remember we are not allowing freeform, so at this point, if we have a pending valid value index\n // use that; otherwise use the selectedIndex\n var index = currentPendingValueValidIndex >= 0 ? currentPendingValueValidIndex : this._getFirstSelectedIndex();\n // Since we are not allowing freeform, we need to\n // set both the pending and suggested values/index\n // to allow us to select all content in the input to\n // give the illusion that we are readonly (e.g. freeform off)\n this._setPendingInfoFromIndex(index);\n };\n ComboBoxInternal.prototype._getFirstSelectedIndex = function () {\n var selectedIndices = this.props.hoisted.selectedIndices;\n return (selectedIndices === null || selectedIndices === void 0 ? void 0 : selectedIndices.length) ? selectedIndices[0] : -1;\n };\n /**\n * Walk along the options starting at the index, stepping by the delta (positive or negative)\n * looking for the next valid selectable index (e.g. skipping headings and dividers)\n * @param index - the index to get the next selectable index from\n * @param delta - optional delta to step by when finding the next index, defaults to 0\n * @returns - the next valid selectable index. If the new index is outside of the bounds,\n * it will snap to the edge of the options array. If delta == 0 and the given index is not selectable\n */\n ComboBoxInternal.prototype._getNextSelectableIndex = function (index, searchDirection) {\n var currentOptions = this.props.hoisted.currentOptions;\n var newIndex = index + searchDirection;\n newIndex = Math.max(0, Math.min(currentOptions.length - 1, newIndex));\n if (!indexWithinBounds(currentOptions, newIndex)) {\n return -1;\n }\n var option = currentOptions[newIndex];\n if (!isSelectableOption(option) || option.hidden === true) {\n // Should we continue looking for an index to select?\n if (searchDirection !== SearchDirection.none &&\n ((newIndex > 0 && searchDirection < SearchDirection.none) ||\n (newIndex >= 0 && newIndex < currentOptions.length && searchDirection > SearchDirection.none))) {\n newIndex = this._getNextSelectableIndex(newIndex, searchDirection);\n }\n else {\n // If we cannot perform a useful search just return the index we were given\n return index;\n }\n }\n // We have the next valid selectable index, return it\n return newIndex;\n };\n /**\n * Set the selected index. Note, this is\n * the \"real\" selected index, not the pending selected index\n * @param index - the index to set (or the index to set from if a search direction is provided)\n * @param searchDirection - the direction to search along the options from the given index\n */\n ComboBoxInternal.prototype._setSelectedIndex = function (index, submitPendingValueEvent, searchDirection) {\n if (searchDirection === void 0) { searchDirection = SearchDirection.none; }\n var _a = this.props, onChange = _a.onChange, onPendingValueChanged = _a.onPendingValueChanged, _b = _a.hoisted, initialIndices = _b.selectedIndices, currentOptions = _b.currentOptions;\n // Clone currentOptions and selectedIndices so we don't mutate state\n var selectedIndices = initialIndices ? initialIndices.slice() : [];\n var changedOptions = currentOptions.slice();\n // Find the next selectable index, if searchDirection is none\n // we will get our starting index back\n index = this._getNextSelectableIndex(index, searchDirection);\n if (!indexWithinBounds(currentOptions, index)) {\n return;\n }\n // Are we at a new index? If so, update the state, otherwise\n // there is nothing to do\n if (this.props.multiSelect ||\n selectedIndices.length < 1 ||\n (selectedIndices.length === 1 && selectedIndices[0] !== index)) {\n var option = __assign({}, currentOptions[index]);\n // if option doesn't existing, or option is disabled, we noop\n if (!option || option.disabled) {\n return;\n }\n if (this.props.multiSelect) {\n // Setting the initial state of option.selected in Multi-select combo box by checking the\n // selectedIndices array and overriding the undefined issue\n option.selected = option.selected !== undefined ? !option.selected : selectedIndices.indexOf(index) < 0;\n // handle changing all options if SelectAll is changed\n if (option.itemType === SelectableOptionMenuItemType.SelectAll) {\n selectedIndices = [];\n // if select all is set to checked, push all selectable option indices\n if (option.selected) {\n currentOptions.forEach(function (currentOption, i) {\n if (!currentOption.disabled && isSelectableOption(currentOption)) {\n selectedIndices.push(i);\n changedOptions[i] = __assign(__assign({}, currentOption), { selected: true });\n }\n });\n }\n // otherwise un-check all options\n else {\n changedOptions = currentOptions.map(function (currentOption) { return (__assign(__assign({}, currentOption), { selected: false })); });\n }\n }\n // otherwise update the individual option\n else {\n if (option.selected && selectedIndices.indexOf(index) < 0) {\n selectedIndices.push(index);\n }\n else if (!option.selected && selectedIndices.indexOf(index) >= 0) {\n selectedIndices = selectedIndices.filter(function (value) { return value !== index; });\n }\n changedOptions[index] = option;\n // If SelectAll exists and another option was toggled, update the SelectAll option's state\n var selectAllOption = changedOptions.filter(function (o) { return o.itemType === SelectableOptionMenuItemType.SelectAll; })[0];\n if (selectAllOption) {\n var selectAllState = this._isSelectAllChecked(selectedIndices);\n var selectAllIndex_1 = changedOptions.indexOf(selectAllOption);\n if (selectAllState) {\n selectedIndices.push(selectAllIndex_1);\n changedOptions[selectAllIndex_1] = __assign(__assign({}, selectAllOption), { selected: true });\n }\n else {\n selectedIndices = selectedIndices.filter(function (value) { return value !== selectAllIndex_1; });\n changedOptions[selectAllIndex_1] = __assign(__assign({}, selectAllOption), { selected: false });\n }\n }\n }\n }\n else {\n selectedIndices[0] = index;\n }\n submitPendingValueEvent.persist();\n // Only setState if combo box is uncontrolled.\n if (this.props.selectedKey || this.props.selectedKey === null) {\n // If combo box value is changed, revert preview first\n if (this._hasPendingValue && onPendingValueChanged) {\n onPendingValueChanged();\n this._hasPendingValue = false;\n }\n }\n else {\n this.props.hoisted.setSelectedIndices(selectedIndices);\n this.props.hoisted.setCurrentOptions(changedOptions);\n // If ComboBox value is changed, revert preview first\n if (this._hasPendingValue && onPendingValueChanged) {\n onPendingValueChanged();\n this._hasPendingValue = false;\n }\n }\n // Call onChange after state is updated\n if (onChange) {\n onChange(submitPendingValueEvent, option, index, undefined);\n }\n }\n if (this.props.multiSelect && this.state.isOpen) {\n return;\n }\n // clear all of the pending info\n this._clearPendingInfo();\n };\n /**\n * Submit a pending value if there is one\n */\n ComboBoxInternal.prototype._submitPendingValue = function (submitPendingValueEvent) {\n var _a;\n var _b = this.props, onChange = _b.onChange, allowFreeform = _b.allowFreeform, autoComplete = _b.autoComplete, multiSelect = _b.multiSelect, hoisted = _b.hoisted;\n var currentOptions = hoisted.currentOptions;\n var _c = this.state, currentPendingValue = _c.currentPendingValue, currentPendingValueValidIndex = _c.currentPendingValueValidIndex, currentPendingValueValidIndexOnHover = _c.currentPendingValueValidIndexOnHover;\n var selectedIndices = this.props.hoisted.selectedIndices;\n // Do not submit any pending value if we\n // have already initiated clearing the pending info\n if (this._processingClearPendingInfo) {\n return;\n }\n // If we allow freeform we need to handle that\n if (allowFreeform) {\n // if currentPendingValue is null or undefined the user did not submit anything\n // (not even empty because we would have stored that as the pending value)\n if (currentPendingValue === null || currentPendingValue === undefined) {\n // if a user did not type anything they may just hovered over an item\n if (currentPendingValueValidIndexOnHover >= 0) {\n this._setSelectedIndex(currentPendingValueValidIndexOnHover, submitPendingValueEvent);\n this._clearPendingInfo();\n }\n return;\n }\n // Check to see if the user typed an exact match\n if (indexWithinBounds(currentOptions, currentPendingValueValidIndex)) {\n var pendingOptionText = getPreviewText(currentOptions[currentPendingValueValidIndex]).toLocaleLowerCase();\n var autofill = this._autofill.current;\n // By exact match, that means: our pending value is the same as the pending option text OR\n // the pending option starts with the pending value and we have an \"autoComplete\" selection\n // where the total length is equal to pending option length OR\n // the live value in the underlying input matches the pending option; update the state\n if (currentPendingValue.toLocaleLowerCase() === pendingOptionText ||\n (autoComplete &&\n pendingOptionText.indexOf(currentPendingValue.toLocaleLowerCase()) === 0 &&\n (autofill === null || autofill === void 0 ? void 0 : autofill.isValueSelected) &&\n currentPendingValue.length + (autofill.selectionEnd - autofill.selectionStart) ===\n pendingOptionText.length) ||\n ((_a = autofill === null || autofill === void 0 ? void 0 : autofill.inputElement) === null || _a === void 0 ? void 0 : _a.value.toLocaleLowerCase()) === pendingOptionText) {\n this._setSelectedIndex(currentPendingValueValidIndex, submitPendingValueEvent);\n if (multiSelect && this.state.isOpen) {\n return;\n }\n this._clearPendingInfo();\n return;\n }\n }\n if (onChange) {\n if (onChange) {\n // trigger onChange to clear value\n onChange(submitPendingValueEvent, undefined, undefined, currentPendingValue);\n }\n }\n else {\n // If we are not controlled, create a new selected option\n var newOption = {\n key: currentPendingValue || getId(),\n text: normalizeToString(currentPendingValue),\n };\n // If it's multiselect, set selected state to true\n if (multiSelect) {\n newOption.selected = true;\n }\n var newOptions = currentOptions.concat([newOption]);\n if (selectedIndices) {\n if (!multiSelect) {\n selectedIndices = [];\n }\n selectedIndices.push(newOptions.length - 1);\n }\n hoisted.setCurrentOptions(newOptions);\n hoisted.setSelectedIndices(selectedIndices);\n }\n }\n else if (currentPendingValueValidIndex >= 0) {\n // Since we are not allowing freeform, we must have a matching\n // to be able to update state\n this._setSelectedIndex(currentPendingValueValidIndex, submitPendingValueEvent);\n }\n else if (currentPendingValueValidIndexOnHover >= 0) {\n // If all else failed and we were hovering over an item, select it\n this._setSelectedIndex(currentPendingValueValidIndexOnHover, submitPendingValueEvent);\n }\n // Finally, clear the pending info\n this._clearPendingInfo();\n };\n ComboBoxInternal.prototype._onCalloutLayerMounted = function () {\n // In persistMenu mode _onLayerMounted is only called once for the lifetime\n // of the component. Any functionality required for callout \"on mount\" can\n // go here so that we can also call it again during callout dismissal to reset\n // object state.\n this._gotMouseMove = false;\n };\n // Render separator\n ComboBoxInternal.prototype._renderSeparator = function (item) {\n var index = item.index, key = item.key;\n if (index && index > 0) {\n return React.createElement(\"div\", { role: \"separator\", key: key, className: this._classNames.divider });\n }\n return null;\n };\n ComboBoxInternal.prototype._renderHeader = function (item) {\n var _a = this.props.onRenderOption, onRenderOption = _a === void 0 ? this._onRenderOptionContent : _a;\n return (React.createElement(\"div\", { id: item.id, key: item.key, className: this._classNames.header }, onRenderOption(item, this._onRenderOptionContent)));\n };\n /**\n * If we are coming from a mouseOut:\n * there is no visible selected option.\n *\n * Else if We are hovering over an item:\n * that gets the selected look.\n *\n * Else:\n * Use the current valid pending index if it exists OR\n * we do not have a valid index and we currently have a pending input value,\n * otherwise use the selected index\n * */\n ComboBoxInternal.prototype._isOptionHighlighted = function (index) {\n var currentPendingValueValidIndexOnHover = this.state.currentPendingValueValidIndexOnHover;\n // If the hover state is set to clearAll, don't show a selected index.\n // Note, this happens when the user moused out of the menu items\n if (currentPendingValueValidIndexOnHover === HoverStatus.clearAll) {\n return false;\n }\n return currentPendingValueValidIndexOnHover >= 0\n ? currentPendingValueValidIndexOnHover === index\n : this._isOptionSelected(index);\n };\n ComboBoxInternal.prototype._isOptionSelected = function (index) {\n return this._getPendingSelectedIndex(true /* includePendingValue */) === index;\n };\n ComboBoxInternal.prototype._isOptionChecked = function (index) {\n if (this.props.multiSelect && index !== undefined && this.props.hoisted.selectedIndices) {\n var idxOfSelectedIndex = -1;\n idxOfSelectedIndex = this.props.hoisted.selectedIndices.indexOf(index);\n return idxOfSelectedIndex >= 0;\n }\n return false;\n };\n ComboBoxInternal.prototype._isOptionIndeterminate = function (index) {\n var _a = this.props, multiSelect = _a.multiSelect, hoisted = _a.hoisted;\n if (multiSelect && index !== undefined && hoisted.selectedIndices && hoisted.currentOptions) {\n var option = hoisted.currentOptions[index];\n if (option && option.itemType === SelectableOptionMenuItemType.SelectAll) {\n return hoisted.selectedIndices.length > 0 && !this._isSelectAllChecked();\n }\n }\n return false;\n };\n ComboBoxInternal.prototype._isSelectAllChecked = function (testIndices) {\n var _a = this.props, multiSelect = _a.multiSelect, hoisted = _a.hoisted;\n var selectAllOption = hoisted.currentOptions.find(function (option) { return option.itemType === SelectableOptionMenuItemType.SelectAll; });\n var selectedIndices = testIndices || hoisted.selectedIndices;\n if (!multiSelect || !selectedIndices || !selectAllOption) {\n return false;\n }\n // start by not including the select all option itself\n var selectAllIndex = hoisted.currentOptions.indexOf(selectAllOption);\n var compareSelectedIndices = selectedIndices.filter(function (value) { return value !== selectAllIndex; });\n // get array of selectable options, excluding disabled options, headers, and dividers\n var selectableOptions = hoisted.currentOptions.filter(function (option) {\n return !option.disabled && option.itemType !== SelectableOptionMenuItemType.SelectAll && isSelectableOption(option);\n });\n return compareSelectedIndices.length === selectableOptions.length;\n };\n /**\n * Gets the pending selected index taking into account valueValidIndex and selectedIndex\n * @param includeCurrentPendingValue - Should we include the currentPendingValue when\n * finding the index\n */\n ComboBoxInternal.prototype._getPendingSelectedIndex = function (includeCurrentPendingValue) {\n var _a = this.state, currentPendingValueValidIndex = _a.currentPendingValueValidIndex, currentPendingValue = _a.currentPendingValue;\n return currentPendingValueValidIndex >= 0 ||\n (includeCurrentPendingValue && currentPendingValue !== null && currentPendingValue !== undefined)\n ? currentPendingValueValidIndex\n : this.props.multiSelect\n ? 0\n : this._getFirstSelectedIndex();\n };\n /**\n * Scroll the selected element into view\n */\n ComboBoxInternal.prototype._scrollIntoView = function () {\n var _a = this.props, onScrollToItem = _a.onScrollToItem, scrollSelectedToTop = _a.scrollSelectedToTop;\n var _b = this.state, currentPendingValueValidIndex = _b.currentPendingValueValidIndex, currentPendingValue = _b.currentPendingValue;\n if (onScrollToItem) {\n // Use the custom scroll handler\n onScrollToItem(currentPendingValueValidIndex >= 0 || currentPendingValue !== ''\n ? currentPendingValueValidIndex\n : this._getFirstSelectedIndex());\n }\n else if (this._selectedElement.current && this._selectedElement.current.offsetParent) {\n var alignToTop = true;\n // We are using refs, scroll the ref into view\n if (this._comboBoxMenu.current && this._comboBoxMenu.current.offsetParent) {\n var scrollableParent = this._comboBoxMenu.current.offsetParent;\n var selectedElement = this._selectedElement.current.offsetParent;\n var _c = selectedElement, offsetHeight = _c.offsetHeight, offsetTop = _c.offsetTop;\n var _d = scrollableParent, parentOffsetHeight = _d.offsetHeight, scrollTop = _d.scrollTop;\n var isAbove = offsetTop < scrollTop;\n var isBelow = offsetTop + offsetHeight > scrollTop + parentOffsetHeight;\n if (isAbove || scrollSelectedToTop) {\n alignToTop = false;\n scrollableParent.scrollTo(0, offsetTop);\n }\n else if (isBelow) {\n scrollableParent.scrollTo(0, offsetTop - parentOffsetHeight + offsetHeight);\n }\n }\n // if _comboboxMenu doesn't exist, fall back to scrollIntoView\n else {\n this._selectedElement.current.offsetParent.scrollIntoView(alignToTop);\n }\n }\n };\n /**\n * Click handler for the menu items\n * to select the item and also close the menu\n * @param index - the index of the item that was clicked\n */\n ComboBoxInternal.prototype._onItemClick = function (item) {\n var _this = this;\n var onItemClick = this.props.onItemClick;\n var index = item.index;\n return function (ev) {\n // only close the callout when it's in single-select mode\n if (!_this.props.multiSelect) {\n // ensure that focus returns to the input, not the button\n _this._autofill.current && _this._autofill.current.focus();\n _this.setState({\n isOpen: false,\n });\n }\n // Continue processing the click only after\n // performing menu close / control focus(inner working)\n onItemClick && onItemClick(ev, item, index);\n _this._setSelectedIndex(index, ev);\n };\n };\n /**\n * Reset the selected index by clearing the\n * input (of any pending text), clearing the pending state,\n * and setting the suggested display value to the last\n * selected state text\n */\n ComboBoxInternal.prototype._resetSelectedIndex = function () {\n var currentOptions = this.props.hoisted.currentOptions;\n this._clearPendingInfo();\n var selectedIndex = this._getFirstSelectedIndex();\n if (selectedIndex > 0 && selectedIndex < currentOptions.length) {\n this.props.hoisted.setSuggestedDisplayValue(currentOptions[selectedIndex].text);\n }\n else if (this.props.text) {\n // If we had a value initially, restore it\n this.props.hoisted.setSuggestedDisplayValue(this.props.text);\n }\n };\n /**\n * Clears the pending info state\n */\n ComboBoxInternal.prototype._clearPendingInfo = function () {\n this._processingClearPendingInfo = true;\n this.props.hoisted.setSuggestedDisplayValue(undefined);\n this.setState({\n currentPendingValue: undefined,\n currentPendingValueValidIndex: -1,\n currentPendingValueValidIndexOnHover: HoverStatus.default,\n }, this._onAfterClearPendingInfo);\n };\n /**\n * Set the pending info\n * @param currentPendingValue - new pending value to set\n * @param currentPendingValueValidIndex - new pending value index to set\n * @param suggestedDisplayValue - new suggest display value to set\n */\n ComboBoxInternal.prototype._setPendingInfo = function (currentPendingValue, currentPendingValueValidIndex, suggestedDisplayValue) {\n if (currentPendingValueValidIndex === void 0) { currentPendingValueValidIndex = -1; }\n if (this._processingClearPendingInfo) {\n return;\n }\n this.props.hoisted.setSuggestedDisplayValue(suggestedDisplayValue);\n this.setState({\n currentPendingValue: normalizeToString(currentPendingValue),\n currentPendingValueValidIndex: currentPendingValueValidIndex,\n currentPendingValueValidIndexOnHover: HoverStatus.default,\n });\n };\n /**\n * Set the pending info from the given index\n * @param index - the index to set the pending info from\n */\n ComboBoxInternal.prototype._setPendingInfoFromIndex = function (index) {\n var currentOptions = this.props.hoisted.currentOptions;\n if (index >= 0 && index < currentOptions.length) {\n var option = currentOptions[index];\n this._setPendingInfo(getPreviewText(option), index, getPreviewText(option));\n }\n else {\n this._clearPendingInfo();\n }\n };\n /**\n * Sets the pending info for the combo box\n * @param index - the index to search from\n * @param searchDirection - the direction to search\n */\n ComboBoxInternal.prototype._setPendingInfoFromIndexAndDirection = function (index, searchDirection) {\n var currentOptions = this.props.hoisted.currentOptions;\n // update index to allow content to wrap\n if (searchDirection === SearchDirection.forward && index >= currentOptions.length - 1) {\n index = -1;\n }\n else if (searchDirection === SearchDirection.backward && index <= 0) {\n index = currentOptions.length;\n }\n // get the next \"valid\" index\n var indexUpdate = this._getNextSelectableIndex(index, searchDirection);\n // if the two indices are equal we didn't move and\n // we should attempt to get get the first/last \"valid\" index to use\n // (Note, this takes care of the potential cases where the first/last\n // item is not focusable), otherwise use the updated index\n if (index === indexUpdate) {\n if (searchDirection === SearchDirection.forward) {\n index = this._getNextSelectableIndex(-1, searchDirection);\n }\n else if (searchDirection === SearchDirection.backward) {\n index = this._getNextSelectableIndex(currentOptions.length, searchDirection);\n }\n }\n else {\n index = indexUpdate;\n }\n if (indexWithinBounds(currentOptions, index)) {\n this._setPendingInfoFromIndex(index);\n }\n };\n ComboBoxInternal.prototype._notifyPendingValueChanged = function (prevState) {\n var onPendingValueChanged = this.props.onPendingValueChanged;\n if (!onPendingValueChanged) {\n return;\n }\n var currentOptions = this.props.hoisted.currentOptions;\n var _a = this.state, currentPendingValue = _a.currentPendingValue, currentPendingValueValidIndex = _a.currentPendingValueValidIndex, currentPendingValueValidIndexOnHover = _a.currentPendingValueValidIndexOnHover;\n var newPendingIndex = undefined;\n var newPendingValue = undefined;\n if (currentPendingValueValidIndexOnHover !== prevState.currentPendingValueValidIndexOnHover &&\n indexWithinBounds(currentOptions, currentPendingValueValidIndexOnHover)) {\n // Set new pending index if hover index was changed\n newPendingIndex = currentPendingValueValidIndexOnHover;\n }\n else if (currentPendingValueValidIndex !== prevState.currentPendingValueValidIndex &&\n indexWithinBounds(currentOptions, currentPendingValueValidIndex)) {\n // Set new pending index if currentPendingValueValidIndex was changed\n newPendingIndex = currentPendingValueValidIndex;\n }\n else if (currentPendingValue !== prevState.currentPendingValue) {\n // Set pendingValue in the case it was changed and no index was changed\n newPendingValue = currentPendingValue;\n }\n // Notify when there is a new pending index/value. Also, if there is a pending value, it needs to send undefined.\n if (newPendingIndex !== undefined || newPendingValue !== undefined || this._hasPendingValue) {\n onPendingValueChanged(newPendingIndex !== undefined ? currentOptions[newPendingIndex] : undefined, newPendingIndex, newPendingValue);\n this._hasPendingValue = newPendingIndex !== undefined || newPendingValue !== undefined;\n }\n };\n /**\n * Sets the isOpen state and updates focusInputAfterClose\n */\n ComboBoxInternal.prototype._setOpenStateAndFocusOnClose = function (isOpen, focusInputAfterClose) {\n this._focusInputAfterClose = focusInputAfterClose;\n this.setState({\n isOpen: isOpen,\n });\n };\n ComboBoxInternal.prototype._onOptionMouseEnter = function (index) {\n if (this._shouldIgnoreMouseEvent()) {\n return;\n }\n this.setState({\n currentPendingValueValidIndexOnHover: index,\n });\n };\n ComboBoxInternal.prototype._onOptionMouseMove = function (index) {\n this._gotMouseMove = true;\n if (!this._isScrollIdle || this.state.currentPendingValueValidIndexOnHover === index) {\n return;\n }\n this.setState({\n currentPendingValueValidIndexOnHover: index,\n });\n };\n ComboBoxInternal.prototype._shouldIgnoreMouseEvent = function () {\n return !this._isScrollIdle || !this._gotMouseMove;\n };\n /**\n * Handle dismissing the menu and eating the required key event when disabled\n * @param ev - the keyboard event that was fired\n */\n ComboBoxInternal.prototype._handleInputWhenDisabled = function (ev) {\n // If we are disabled, close the menu (if needed)\n // and eat all keystrokes other than TAB or ESC\n if (this.props.disabled) {\n if (this.state.isOpen) {\n this.setState({ isOpen: false });\n }\n // When disabled stop propagation and prevent default\n // of the event unless we have a tab, escape, or function key\n if (ev !== null &&\n // eslint-disable-next-line deprecation/deprecation\n ev.which !== KeyCodes.tab &&\n // eslint-disable-next-line deprecation/deprecation\n ev.which !== KeyCodes.escape &&\n // eslint-disable-next-line deprecation/deprecation\n (ev.which < 112 /* F1 */ || ev.which > 123) /* F12 */) {\n ev.stopPropagation();\n ev.preventDefault();\n }\n }\n };\n ComboBoxInternal.prototype._handleTouchAndPointerEvent = function () {\n var _this = this;\n // If we already have an existing timeout from a previous touch and pointer event\n // cancel that timeout so we can set a nwe one.\n if (this._lastTouchTimeoutId !== undefined) {\n this._async.clearTimeout(this._lastTouchTimeoutId);\n this._lastTouchTimeoutId = undefined;\n }\n this._processingTouch = true;\n this._lastTouchTimeoutId = this._async.setTimeout(function () {\n _this._processingTouch = false;\n _this._lastTouchTimeoutId = undefined;\n }, TouchIdleDelay);\n };\n /**\n * Get the styles for the current option.\n * @param item - Item props for the current option\n */\n ComboBoxInternal.prototype._getCaretButtonStyles = function () {\n var customCaretDownButtonStyles = this.props.caretDownButtonStyles;\n return getCaretDownButtonStyles(this.props.theme, customCaretDownButtonStyles);\n };\n /**\n * Get the styles for the current option.\n * @param item - Item props for the current option\n */\n ComboBoxInternal.prototype._getCurrentOptionStyles = function (item) {\n var customStylesForAllOptions = this.props.comboBoxOptionStyles;\n var customStylesForCurrentOption = item.styles;\n return getOptionStyles(this.props.theme, customStylesForAllOptions, customStylesForCurrentOption, this._isPendingOption(item), item.hidden, this._isOptionHighlighted(item.index));\n };\n /**\n * Get the aria-activedescendant value for the combo box.\n * @returns the id of the current focused combo item, otherwise the id of the currently selected element,\n * null otherwise\n */\n ComboBoxInternal.prototype._getAriaActiveDescendantValue = function () {\n var selectedIndices = this.props.hoisted.selectedIndices;\n var _a = this.state, isOpen = _a.isOpen, currentPendingValueValidIndex = _a.currentPendingValueValidIndex;\n var descendantText = isOpen && (selectedIndices === null || selectedIndices === void 0 ? void 0 : selectedIndices.length) ? this._id + '-list' + selectedIndices[0] : undefined;\n if (isOpen && this._hasFocus() && currentPendingValueValidIndex !== -1) {\n descendantText = this._id + '-list' + currentPendingValueValidIndex;\n }\n return descendantText;\n };\n /**\n * Get the aria autocomplete value for the combo box\n * @returns 'inline' if auto-complete automatically dynamic, 'both' if we have a list of possible values to pick from\n * and can dynamically populate input, and 'none' if auto-complete is not enabled as we can't give user inputs.\n */\n ComboBoxInternal.prototype._getAriaAutoCompleteValue = function () {\n var autoComplete = !this.props.disabled && this.props.autoComplete === 'on';\n return autoComplete ? (this.props.allowFreeform ? 'inline' : 'both') : 'none';\n };\n ComboBoxInternal.prototype._isPendingOption = function (item) {\n return item && item.index === this.state.currentPendingValueValidIndex;\n };\n /**\n * Returns true if the component has some kind of focus. If it's either focusing or if it's focused\n */\n ComboBoxInternal.prototype._hasFocus = function () {\n return this.state.focusState !== 'none';\n };\n ComboBoxInternal = __decorate([\n customizable('ComboBox', ['theme', 'styles'], true)\n ], ComboBoxInternal);\n return ComboBoxInternal;\n}(React.Component));\n/**\n * Get the indices of the options that are marked as selected\n * @param options - the combo box options\n * @param selectedKeys - the known selected keys to find\n * @returns - an array of the indices of the selected options, empty array if nothing is selected\n */\nfunction getSelectedIndices(options, selectedKeys) {\n if (!options || !selectedKeys) {\n return [];\n }\n var selectedIndices = {};\n options.forEach(function (option, index) {\n if (option.selected) {\n selectedIndices[index] = true;\n }\n });\n var _loop_1 = function (selectedKey) {\n var index = findIndex(options, function (option) { return option.key === selectedKey; });\n if (index > -1) {\n selectedIndices[index] = true;\n }\n };\n for (var _i = 0, selectedKeys_1 = selectedKeys; _i < selectedKeys_1.length; _i++) {\n var selectedKey = selectedKeys_1[_i];\n _loop_1(selectedKey);\n }\n return Object.keys(selectedIndices).map(Number).sort();\n}\n/**\n * Given default selected key(s) and selected key(s), return the selected keys(s).\n * When default selected key(s) are available, they take precedence and return them instead of selected key(s).\n *\n * @returns No matter what specific types the input parameters are, always return an array of\n * either strings or numbers instead of primitive type. This normalization makes caller's logic easier.\n */\nfunction buildDefaultSelectedKeys(defaultSelectedKey, selectedKey) {\n var selectedKeys = buildSelectedKeys(defaultSelectedKey);\n if (selectedKeys.length) {\n return selectedKeys;\n }\n return buildSelectedKeys(selectedKey);\n}\nfunction buildSelectedKeys(selectedKey) {\n if (selectedKey === undefined) {\n return [];\n }\n // need to cast here so typescript does not complain\n return (selectedKey instanceof Array ? selectedKey : [selectedKey]);\n}\nfunction normalizeToString(value) {\n return value || '';\n}\n/**\n * Is the index within the bounds of the array?\n * @param options - options to check if the index is valid for\n * @param index - the index to check\n * @returns - true if the index is valid for the given options, false otherwise\n */\nfunction indexWithinBounds(options, index) {\n return !!options && index >= 0 && index < options.length;\n}\n/** Whether this is a normal option, not a header or divider or select all. */\nfunction isNormalOption(option) {\n return (option.itemType !== SelectableOptionMenuItemType.Header &&\n option.itemType !== SelectableOptionMenuItemType.Divider &&\n option.itemType !== SelectableOptionMenuItemType.SelectAll);\n}\n/** Whether this is a selectable option, not a header or divider. */\nfunction isSelectableOption(option) {\n return (option.itemType !== SelectableOptionMenuItemType.Header && option.itemType !== SelectableOptionMenuItemType.Divider);\n}\n/**\n * For scenarios where the option's `text` prop contains embedded styles, we use the option's\n * `ariaLabel` value as the text in the input and for autocomplete matching. We know to use this\n * when the `useAriaLabelAsText` prop is set to true.\n */\nfunction getPreviewText(item) {\n return item.useAriaLabelAsText && item.ariaLabel ? item.ariaLabel : item.text;\n}\n/**\n * Returns true if the key for the event is alt (Mac option) or meta (Mac command).\n */\nfunction isAltOrMeta(ev) {\n // eslint-disable-next-line deprecation/deprecation\n return ev.which === KeyCodes.alt || ev.key === 'Meta';\n}\n//# sourceMappingURL=ComboBox.js.map","import { memoizeFunction } from '../../Utilities';\nimport { mergeStyles } from '../../Styling';\nexport var getClassNames = memoizeFunction(function (styles, className, isOpen, disabled, required, focused, allowFreeForm, hasErrorMessage) {\n return {\n container: mergeStyles('ms-ComboBox-container', className, styles.container),\n label: mergeStyles(styles.label, disabled && styles.labelDisabled),\n root: mergeStyles('ms-ComboBox', hasErrorMessage ? styles.rootError : isOpen && 'is-open', required && 'is-required', styles.root, !allowFreeForm && styles.rootDisallowFreeForm, hasErrorMessage && !focused ? styles.rootError : !disabled && focused && styles.rootFocused, !disabled && {\n selectors: {\n ':hover': hasErrorMessage ? styles.rootError : !isOpen && !focused && styles.rootHovered,\n ':active': hasErrorMessage ? styles.rootError : styles.rootPressed,\n ':focus': hasErrorMessage ? styles.rootError : styles.rootFocused,\n },\n }, disabled && ['is-disabled', styles.rootDisabled]),\n input: mergeStyles('ms-ComboBox-Input', styles.input, disabled && styles.inputDisabled),\n errorMessage: mergeStyles(styles.errorMessage),\n callout: mergeStyles('ms-ComboBox-callout', styles.callout),\n optionsContainerWrapper: mergeStyles('ms-ComboBox-optionsContainerWrapper', styles.optionsContainerWrapper),\n optionsContainer: mergeStyles('ms-ComboBox-optionsContainer', styles.optionsContainer),\n header: mergeStyles('ms-ComboBox-header', styles.header),\n divider: mergeStyles('ms-ComboBox-divider', styles.divider),\n screenReaderText: mergeStyles(styles.screenReaderText),\n };\n});\nexport var getComboBoxOptionClassNames = memoizeFunction(function (styles) {\n return {\n optionText: mergeStyles('ms-ComboBox-optionText', styles.optionText),\n root: mergeStyles('ms-ComboBox-option', styles.root, {\n selectors: {\n ':hover': styles.rootHovered,\n ':focus': styles.rootFocused,\n ':active': styles.rootPressed,\n },\n }),\n optionTextWrapper: mergeStyles(styles.optionTextWrapper),\n };\n});\n//# sourceMappingURL=ComboBox.classNames.js.map","import { __assign, __extends } from \"tslib\";\nimport * as React from 'react';\nimport { ComboBox } from './ComboBox';\nimport { List } from '../../List';\nimport { initializeComponentRef } from '../../Utilities';\nvar VirtualizedComboBox = /** @class */ (function (_super) {\n __extends(VirtualizedComboBox, _super);\n function VirtualizedComboBox(props) {\n var _this = _super.call(this, props) || this;\n /** The combo box element */\n _this._comboBox = React.createRef();\n /** The virtualized list element */\n _this._list = React.createRef();\n _this._onRenderList = function (props) {\n var id = props.id, onRenderItem = props.onRenderItem;\n // Render virtualized list\n return (React.createElement(List, { componentRef: _this._list, role: \"listbox\", id: id + \"-list\", \"aria-labelledby\": id + \"-label\", items: props.options, \n // eslint-disable-next-line react/jsx-no-bind\n onRenderCell: onRenderItem ? function (item) { return onRenderItem(item); } : function () { return null; } }));\n };\n _this._onScrollToItem = function (itemIndex) {\n // We are using the List component, call scrollToIndex\n _this._list.current && _this._list.current.scrollToIndex(itemIndex);\n };\n initializeComponentRef(_this);\n return _this;\n }\n Object.defineProperty(VirtualizedComboBox.prototype, \"selectedOptions\", {\n /**\n * All selected options\n */\n get: function () {\n if (this._comboBox.current) {\n return this._comboBox.current.selectedOptions;\n }\n return [];\n },\n enumerable: false,\n configurable: true\n });\n VirtualizedComboBox.prototype.dismissMenu = function () {\n if (this._comboBox.current) {\n return this._comboBox.current.dismissMenu();\n }\n };\n VirtualizedComboBox.prototype.focus = function (shouldOpenOnFocus, useFocusAsync) {\n if (this._comboBox.current) {\n this._comboBox.current.focus(shouldOpenOnFocus, useFocusAsync);\n return true;\n }\n return false;\n };\n VirtualizedComboBox.prototype.render = function () {\n return (React.createElement(ComboBox, __assign({}, this.props, { componentRef: this._comboBox, onRenderList: this._onRenderList, onScrollToItem: this._onScrollToItem })));\n };\n return VirtualizedComboBox;\n}(React.Component));\nexport { VirtualizedComboBox };\n//# sourceMappingURL=VirtualizedComboBox.js.map","import { __assign, __rest } from \"tslib\";\nimport { memoizeFunction } from '../../Utilities';\nvar COMMAND_BAR_HEIGHT = 44;\nexport var getStyles = function (props) {\n var className = props.className, theme = props.theme;\n var semanticColors = theme.semanticColors;\n return {\n root: [\n theme.fonts.medium,\n 'ms-CommandBar',\n {\n display: 'flex',\n backgroundColor: semanticColors.bodyBackground,\n padding: '0 14px 0 24px',\n height: COMMAND_BAR_HEIGHT,\n },\n className,\n ],\n primarySet: [\n 'ms-CommandBar-primaryCommand',\n {\n flexGrow: '1',\n display: 'flex',\n alignItems: 'stretch',\n },\n ],\n secondarySet: [\n 'ms-CommandBar-secondaryCommand',\n {\n flexShrink: '0',\n display: 'flex',\n alignItems: 'stretch',\n },\n ],\n };\n};\nexport var getCommandButtonStyles = memoizeFunction(function (customStyles) {\n var rootStyles = {\n height: '100%',\n };\n var labelStyles = {\n whiteSpace: 'nowrap',\n };\n var _a = customStyles || {}, root = _a.root, label = _a.label, restCustomStyles = __rest(_a, [\"root\", \"label\"]);\n return __assign(__assign({}, restCustomStyles), { root: root ? [rootStyles, root] : rootStyles, label: label ? [labelStyles, label] : labelStyles });\n});\n//# sourceMappingURL=CommandBar.styles.js.map","import { __assign, __extends, __spreadArray } from \"tslib\";\nimport * as React from 'react';\nimport { classNamesFunction, css, nullRender, getNativeProps, divProperties, composeComponentAs, initializeComponentRef, } from '../../Utilities';\nimport { OverflowSet } from '../../OverflowSet';\nimport { ResizeGroup } from '../../ResizeGroup';\nimport { FocusZone, FocusZoneDirection } from '../../FocusZone';\nimport { CommandBarButton } from '../../Button';\nimport { TooltipHost } from '../../Tooltip';\nimport { getCommandButtonStyles } from './CommandBar.styles';\nvar getClassNames = classNamesFunction();\nvar CommandBarBase = /** @class */ (function (_super) {\n __extends(CommandBarBase, _super);\n function CommandBarBase(props) {\n var _this = _super.call(this, props) || this;\n _this._overflowSet = React.createRef();\n _this._resizeGroup = React.createRef();\n _this._onRenderData = function (data) {\n var _a = _this.props, ariaLabel = _a.ariaLabel, primaryGroupAriaLabel = _a.primaryGroupAriaLabel, farItemsGroupAriaLabel = _a.farItemsGroupAriaLabel;\n var hasSecondSet = data.farItems && data.farItems.length > 0;\n return (React.createElement(FocusZone, { className: css(_this._classNames.root), direction: FocusZoneDirection.horizontal, role: 'menubar', \"aria-label\": ariaLabel },\n React.createElement(OverflowSet, { role: hasSecondSet ? 'group' : 'none', \"aria-label\": hasSecondSet ? primaryGroupAriaLabel : undefined, componentRef: _this._overflowSet, className: css(_this._classNames.primarySet), items: data.primaryItems, overflowItems: data.overflowItems.length ? data.overflowItems : undefined, onRenderItem: _this._onRenderItem, onRenderOverflowButton: _this._onRenderOverflowButton }),\n hasSecondSet && (React.createElement(OverflowSet, { role: \"group\", \"aria-label\": farItemsGroupAriaLabel, className: css(_this._classNames.secondarySet), items: data.farItems, onRenderItem: _this._onRenderItem, onRenderOverflowButton: nullRender }))));\n };\n _this._onRenderItem = function (item) {\n if (item.onRender) {\n // These are the top level items, there is no relevant menu dismissing function to\n // provide for the IContextualMenuItem onRender function. Pass in a no op function instead.\n return item.onRender(item, function () { return undefined; });\n }\n // eslint-disable-next-line deprecation/deprecation\n var itemText = item.text || item.name;\n var commandButtonProps = __assign(__assign({ allowDisabledFocus: true, role: 'menuitem' }, item), { styles: getCommandButtonStyles(item.buttonStyles), className: css('ms-CommandBarItem-link', item.className), text: !item.iconOnly ? itemText : undefined, menuProps: item.subMenuProps, onClick: _this._onButtonClick(item) });\n if (item.iconOnly && (itemText !== undefined || item.tooltipHostProps)) {\n return (React.createElement(TooltipHost, __assign({ role: \"none\", content: itemText, setAriaDescribedBy: false }, item.tooltipHostProps), _this._commandButton(item, commandButtonProps)));\n }\n return _this._commandButton(item, commandButtonProps);\n };\n _this._commandButton = function (item, props) {\n var ButtonAs = _this.props.buttonAs;\n var CommandBarButtonAs = item.commandBarButtonAs;\n var DefaultButtonAs = CommandBarButton;\n // The prop types between these three possible implementations overlap enough that a force-cast is safe.\n var Type = DefaultButtonAs;\n if (CommandBarButtonAs) {\n Type = composeComponentAs(CommandBarButtonAs, Type);\n }\n if (ButtonAs) {\n Type = composeComponentAs(ButtonAs, Type);\n }\n // Always pass the default implementation to the override so it may be composed.\n return React.createElement(Type, __assign({}, props));\n };\n _this._onRenderOverflowButton = function (overflowItems) {\n var _a = _this.props.overflowButtonProps, overflowButtonProps = _a === void 0 ? {} : _a;\n var combinedOverflowItems = __spreadArray(__spreadArray([], (overflowButtonProps.menuProps ? overflowButtonProps.menuProps.items : [])), overflowItems);\n var overflowProps = __assign(__assign({ role: 'menuitem' }, overflowButtonProps), { styles: __assign({ menuIcon: { fontSize: '17px' } }, overflowButtonProps.styles), className: css('ms-CommandBar-overflowButton', overflowButtonProps.className), menuProps: __assign(__assign({}, overflowButtonProps.menuProps), { items: combinedOverflowItems }), menuIconProps: __assign({ iconName: 'More' }, overflowButtonProps.menuIconProps) });\n var OverflowButtonType = _this.props.overflowButtonAs\n ? composeComponentAs(_this.props.overflowButtonAs, CommandBarButton)\n : CommandBarButton;\n return React.createElement(OverflowButtonType, __assign({}, overflowProps));\n };\n _this._onReduceData = function (data) {\n var _a = _this.props, shiftOnReduce = _a.shiftOnReduce, onDataReduced = _a.onDataReduced;\n var primaryItems = data.primaryItems, overflowItems = data.overflowItems, cacheKey = data.cacheKey;\n // Use first item if shiftOnReduce, otherwise use last item\n var movedItem = primaryItems[shiftOnReduce ? 0 : primaryItems.length - 1];\n if (movedItem !== undefined) {\n movedItem.renderedInOverflow = true;\n overflowItems = __spreadArray([movedItem], overflowItems);\n primaryItems = shiftOnReduce ? primaryItems.slice(1) : primaryItems.slice(0, -1);\n var newData = __assign(__assign({}, data), { primaryItems: primaryItems, overflowItems: overflowItems });\n cacheKey = _this._computeCacheKey({ primaryItems: primaryItems, overflow: overflowItems.length > 0 });\n if (onDataReduced) {\n onDataReduced(movedItem);\n }\n newData.cacheKey = cacheKey;\n return newData;\n }\n return undefined;\n };\n _this._onGrowData = function (data) {\n var _a = _this.props, shiftOnReduce = _a.shiftOnReduce, onDataGrown = _a.onDataGrown;\n var minimumOverflowItems = data.minimumOverflowItems;\n var primaryItems = data.primaryItems, overflowItems = data.overflowItems, cacheKey = data.cacheKey;\n var movedItem = overflowItems[0];\n // Make sure that moved item exists and is not one of the original overflow items\n if (movedItem !== undefined && overflowItems.length > minimumOverflowItems) {\n movedItem.renderedInOverflow = false;\n overflowItems = overflowItems.slice(1);\n // if shiftOnReduce, movedItem goes first, otherwise, last.\n primaryItems = shiftOnReduce ? __spreadArray([movedItem], primaryItems) : __spreadArray(__spreadArray([], primaryItems), [movedItem]);\n var newData = __assign(__assign({}, data), { primaryItems: primaryItems, overflowItems: overflowItems });\n cacheKey = _this._computeCacheKey({ primaryItems: primaryItems, overflow: overflowItems.length > 0 });\n if (onDataGrown) {\n onDataGrown(movedItem);\n }\n newData.cacheKey = cacheKey;\n return newData;\n }\n return undefined;\n };\n initializeComponentRef(_this);\n return _this;\n }\n CommandBarBase.prototype.render = function () {\n var _a = this.props, items = _a.items, overflowItems = _a.overflowItems, farItems = _a.farItems, styles = _a.styles, theme = _a.theme, dataDidRender = _a.dataDidRender, _b = _a.onReduceData, onReduceData = _b === void 0 ? this._onReduceData : _b, _c = _a.onGrowData, onGrowData = _c === void 0 ? this._onGrowData : _c, _d = _a.resizeGroupAs, ResizeGroupAs = _d === void 0 ? ResizeGroup : _d;\n var commandBarData = {\n primaryItems: __spreadArray([], items),\n overflowItems: __spreadArray([], overflowItems),\n minimumOverflowItems: __spreadArray([], overflowItems).length,\n farItems: farItems,\n cacheKey: this._computeCacheKey({\n primaryItems: __spreadArray([], items),\n overflow: overflowItems && overflowItems.length > 0,\n }),\n };\n this._classNames = getClassNames(styles, { theme: theme });\n // ResizeGroup will render these attributes to the root
.\n // TODO We may need to elevate classNames from into ?\n var nativeProps = getNativeProps(this.props, divProperties);\n return (React.createElement(ResizeGroupAs, __assign({}, nativeProps, { componentRef: this._resizeGroup, data: commandBarData, onReduceData: onReduceData, onGrowData: onGrowData, onRenderData: this._onRenderData, dataDidRender: dataDidRender })));\n };\n CommandBarBase.prototype.focus = function () {\n var overflowSet = this._overflowSet.current;\n overflowSet && overflowSet.focus();\n };\n CommandBarBase.prototype.remeasure = function () {\n this._resizeGroup.current && this._resizeGroup.current.remeasure();\n };\n CommandBarBase.prototype._onButtonClick = function (item) {\n return function (ev) {\n // inactive is deprecated. remove check in 7.0\n // eslint-disable-next-line deprecation/deprecation\n if (item.inactive) {\n return;\n }\n if (item.onClick) {\n item.onClick(ev, item);\n }\n };\n };\n CommandBarBase.prototype._computeCacheKey = function (data) {\n var primaryItems = data.primaryItems, overflow = data.overflow;\n var returnKey = function (acc, current) {\n var _a = current.cacheKey, cacheKey = _a === void 0 ? current.key : _a;\n return acc + cacheKey;\n };\n var primaryKey = primaryItems && primaryItems.reduce(returnKey, '');\n var overflowKey = overflow ? 'overflow' : '';\n return [primaryKey, overflowKey].join('');\n };\n CommandBarBase.defaultProps = {\n items: [],\n overflowItems: [],\n };\n return CommandBarBase;\n}(React.Component));\nexport { CommandBarBase };\n//# sourceMappingURL=CommandBar.base.js.map","import { styled } from '../../Utilities';\nimport { CommandBarBase } from './CommandBar.base';\nimport { getStyles } from './CommandBar.styles';\n// Create a CommandBar variant which uses these default styles and this styled subcomponent.\nexport var CommandBar = styled(CommandBarBase, getStyles, undefined, {\n scope: 'CommandBar',\n});\n//# sourceMappingURL=CommandBar.js.map","import { __extends } from \"tslib\";\nimport * as React from 'react';\nimport { initializeComponentRef, shallowCompare } from '../../../Utilities';\nvar ContextualMenuItemWrapper = /** @class */ (function (_super) {\n __extends(ContextualMenuItemWrapper, _super);\n function ContextualMenuItemWrapper(props) {\n var _this = _super.call(this, props) || this;\n _this._onItemMouseEnter = function (ev) {\n var _a = _this.props, item = _a.item, onItemMouseEnter = _a.onItemMouseEnter;\n if (onItemMouseEnter) {\n onItemMouseEnter(item, ev, ev.currentTarget);\n }\n };\n _this._onItemClick = function (ev) {\n var _a = _this.props, item = _a.item, onItemClickBase = _a.onItemClickBase;\n if (onItemClickBase) {\n onItemClickBase(item, ev, ev.currentTarget);\n }\n };\n _this._onItemMouseLeave = function (ev) {\n var _a = _this.props, item = _a.item, onItemMouseLeave = _a.onItemMouseLeave;\n if (onItemMouseLeave) {\n onItemMouseLeave(item, ev);\n }\n };\n _this._onItemKeyDown = function (ev) {\n var _a = _this.props, item = _a.item, onItemKeyDown = _a.onItemKeyDown;\n if (onItemKeyDown) {\n onItemKeyDown(item, ev);\n }\n };\n _this._onItemMouseMove = function (ev) {\n var _a = _this.props, item = _a.item, onItemMouseMove = _a.onItemMouseMove;\n if (onItemMouseMove) {\n onItemMouseMove(item, ev, ev.currentTarget);\n }\n };\n _this._getSubmenuTarget = function () {\n return undefined;\n };\n initializeComponentRef(_this);\n return _this;\n }\n ContextualMenuItemWrapper.prototype.shouldComponentUpdate = function (newProps) {\n return !shallowCompare(newProps, this.props);\n };\n return ContextualMenuItemWrapper;\n}(React.Component));\nexport { ContextualMenuItemWrapper };\n//# sourceMappingURL=ContextualMenuItemWrapper.js.map","import { __assign, __extends } from \"tslib\";\nimport * as React from 'react';\nimport { anchorProperties, getNativeProps, memoizeFunction, getId, mergeAriaAttributeValues } from '../../../Utilities';\nimport { ContextualMenuItemWrapper } from './ContextualMenuItemWrapper';\nimport { KeytipData } from '../../../KeytipData';\nimport { isItemDisabled, hasSubmenu } from '../../../utilities/contextualMenu/index';\nimport { ContextualMenuItem } from '../ContextualMenuItem';\nvar ContextualMenuAnchor = /** @class */ (function (_super) {\n __extends(ContextualMenuAnchor, _super);\n function ContextualMenuAnchor() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this._anchor = React.createRef();\n _this._getMemoizedMenuButtonKeytipProps = memoizeFunction(function (keytipProps) {\n return __assign(__assign({}, keytipProps), { hasMenu: true });\n });\n _this._getSubmenuTarget = function () {\n return _this._anchor.current ? _this._anchor.current : undefined;\n };\n _this._onItemClick = function (ev) {\n var _a = _this.props, item = _a.item, onItemClick = _a.onItemClick;\n if (onItemClick) {\n onItemClick(item, ev);\n }\n };\n _this._renderAriaDescription = function (ariaDescription, className) {\n // If ariaDescription is given, descriptionId will be assigned to ariaDescriptionSpan\n return ariaDescription ? (React.createElement(\"span\", { id: _this._ariaDescriptionId, className: className }, ariaDescription)) : null;\n };\n return _this;\n }\n ContextualMenuAnchor.prototype.render = function () {\n var _this = this;\n var _a = this.props, item = _a.item, classNames = _a.classNames, index = _a.index, focusableElementIndex = _a.focusableElementIndex, totalItemCount = _a.totalItemCount, hasCheckmarks = _a.hasCheckmarks, hasIcons = _a.hasIcons, _b = _a.contextualMenuItemAs, ChildrenRenderer = _b === void 0 ? ContextualMenuItem : _b, expandedMenuItemKey = _a.expandedMenuItemKey, onItemClick = _a.onItemClick, openSubMenu = _a.openSubMenu, dismissSubMenu = _a.dismissSubMenu, dismissMenu = _a.dismissMenu;\n var anchorRel = item.rel;\n if (item.target && item.target.toLowerCase() === '_blank') {\n anchorRel = anchorRel ? anchorRel : 'nofollow noopener noreferrer'; // Safe default to prevent tabjacking\n }\n var itemHasSubmenu = hasSubmenu(item);\n var nativeProps = getNativeProps(item, anchorProperties);\n var disabled = isItemDisabled(item);\n var itemProps = item.itemProps, ariaDescription = item.ariaDescription;\n var keytipProps = item.keytipProps;\n if (keytipProps && itemHasSubmenu) {\n keytipProps = this._getMemoizedMenuButtonKeytipProps(keytipProps);\n }\n // Check for ariaDescription to set the _ariaDescriptionId and render a hidden span with\n // the description in it to be added to ariaDescribedBy\n if (ariaDescription) {\n this._ariaDescriptionId = getId();\n }\n var ariaDescribedByIds = mergeAriaAttributeValues(item.ariaDescribedBy, ariaDescription ? this._ariaDescriptionId : undefined, nativeProps['aria-describedby']);\n var additionalItemProperties = {\n 'aria-describedby': ariaDescribedByIds,\n };\n return (React.createElement(\"div\", null,\n React.createElement(KeytipData, { keytipProps: item.keytipProps, ariaDescribedBy: ariaDescribedByIds, disabled: disabled }, function (keytipAttributes) { return (React.createElement(\"a\", __assign({}, additionalItemProperties, nativeProps, keytipAttributes, { ref: _this._anchor, href: item.href, target: item.target, rel: anchorRel, className: classNames.root, role: \"menuitem\", \"aria-haspopup\": itemHasSubmenu || undefined, \"aria-expanded\": itemHasSubmenu ? item.key === expandedMenuItemKey : undefined, \"aria-posinset\": focusableElementIndex + 1, \"aria-setsize\": totalItemCount, \"aria-disabled\": isItemDisabled(item), \n // eslint-disable-next-line deprecation/deprecation\n style: item.style, onClick: _this._onItemClick, onMouseEnter: _this._onItemMouseEnter, onMouseLeave: _this._onItemMouseLeave, onMouseMove: _this._onItemMouseMove, onKeyDown: itemHasSubmenu ? _this._onItemKeyDown : undefined }),\n React.createElement(ChildrenRenderer, __assign({ componentRef: item.componentRef, item: item, classNames: classNames, index: index, onCheckmarkClick: hasCheckmarks && onItemClick ? onItemClick : undefined, hasIcons: hasIcons, openSubMenu: openSubMenu, dismissSubMenu: dismissSubMenu, dismissMenu: dismissMenu, getSubmenuTarget: _this._getSubmenuTarget }, itemProps)),\n _this._renderAriaDescription(ariaDescription, classNames.screenReaderText))); })));\n };\n return ContextualMenuAnchor;\n}(ContextualMenuItemWrapper));\nexport { ContextualMenuAnchor };\n//# sourceMappingURL=ContextualMenuAnchor.js.map","import { __assign, __extends } from \"tslib\";\nimport * as React from 'react';\nimport { buttonProperties, getNativeProps, KeyCodes, mergeAriaAttributeValues, memoizeFunction, Async, EventGroup, getId, } from '../../../Utilities';\nimport { ContextualMenuItem } from '../ContextualMenuItem';\nimport { getSplitButtonVerticalDividerClassNames } from '../ContextualMenu.classNames';\nimport { KeytipData } from '../../../KeytipData';\nimport { isItemDisabled, hasSubmenu, getMenuItemAriaRole } from '../../../utilities/contextualMenu/index';\nimport { VerticalDivider } from '../../../Divider';\nimport { ContextualMenuItemWrapper } from './ContextualMenuItemWrapper';\nvar TouchIdleDelay = 500; /* ms */\nvar ContextualMenuSplitButton = /** @class */ (function (_super) {\n __extends(ContextualMenuSplitButton, _super);\n function ContextualMenuSplitButton(props) {\n var _this = _super.call(this, props) || this;\n _this._getMemoizedMenuButtonKeytipProps = memoizeFunction(function (keytipProps) {\n return __assign(__assign({}, keytipProps), { hasMenu: true });\n });\n _this._onItemKeyDown = function (ev) {\n var _a = _this.props, item = _a.item, onItemKeyDown = _a.onItemKeyDown;\n // eslint-disable-next-line deprecation/deprecation\n if (ev.which === KeyCodes.enter) {\n _this._executeItemClick(ev);\n ev.preventDefault();\n ev.stopPropagation();\n }\n else if (onItemKeyDown) {\n onItemKeyDown(item, ev);\n }\n };\n _this._getSubmenuTarget = function () {\n return _this._splitButton;\n };\n _this._renderAriaDescription = function (ariaDescription, className) {\n // If ariaDescription is given, descriptionId will be assigned to ariaDescriptionSpan\n return ariaDescription ? (React.createElement(\"span\", { id: _this._ariaDescriptionId, className: className }, ariaDescription)) : null;\n };\n _this._onItemMouseEnterPrimary = function (ev) {\n var _a = _this.props, item = _a.item, onItemMouseEnter = _a.onItemMouseEnter;\n if (onItemMouseEnter) {\n onItemMouseEnter(__assign(__assign({}, item), { subMenuProps: undefined, items: undefined }), ev, _this._splitButton);\n }\n };\n _this._onItemMouseEnterIcon = function (ev) {\n var _a = _this.props, item = _a.item, onItemMouseEnter = _a.onItemMouseEnter;\n if (onItemMouseEnter) {\n onItemMouseEnter(item, ev, _this._splitButton);\n }\n };\n _this._onItemMouseMovePrimary = function (ev) {\n var _a = _this.props, item = _a.item, onItemMouseMove = _a.onItemMouseMove;\n if (onItemMouseMove) {\n onItemMouseMove(__assign(__assign({}, item), { subMenuProps: undefined, items: undefined }), ev, _this._splitButton);\n }\n };\n _this._onItemMouseMoveIcon = function (ev) {\n var _a = _this.props, item = _a.item, onItemMouseMove = _a.onItemMouseMove;\n if (onItemMouseMove) {\n onItemMouseMove(item, ev, _this._splitButton);\n }\n };\n _this._onIconItemClick = function (ev) {\n var _a = _this.props, item = _a.item, onItemClickBase = _a.onItemClickBase;\n if (onItemClickBase) {\n onItemClickBase(item, ev, (_this._splitButton ? _this._splitButton : ev.currentTarget));\n }\n };\n _this._executeItemClick = function (ev) {\n var _a = _this.props, item = _a.item, executeItemClick = _a.executeItemClick, onItemClick = _a.onItemClick;\n if (item.disabled || item.isDisabled) {\n return;\n }\n if (_this._processingTouch && onItemClick) {\n return onItemClick(item, ev);\n }\n if (executeItemClick) {\n executeItemClick(item, ev);\n }\n };\n _this._onTouchStart = function (ev) {\n if (_this._splitButton && !('onpointerdown' in _this._splitButton)) {\n _this._handleTouchAndPointerEvent(ev);\n }\n };\n _this._onPointerDown = function (ev) {\n if (ev.pointerType === 'touch') {\n _this._handleTouchAndPointerEvent(ev);\n ev.preventDefault();\n ev.stopImmediatePropagation();\n }\n };\n _this._async = new Async(_this);\n _this._events = new EventGroup(_this);\n return _this;\n }\n ContextualMenuSplitButton.prototype.componentDidMount = function () {\n if (this._splitButton && 'onpointerdown' in this._splitButton) {\n this._events.on(this._splitButton, 'pointerdown', this._onPointerDown, true);\n }\n };\n ContextualMenuSplitButton.prototype.componentWillUnmount = function () {\n this._async.dispose();\n this._events.dispose();\n };\n ContextualMenuSplitButton.prototype.render = function () {\n var _this = this;\n var _a = this.props, item = _a.item, classNames = _a.classNames, index = _a.index, focusableElementIndex = _a.focusableElementIndex, totalItemCount = _a.totalItemCount, hasCheckmarks = _a.hasCheckmarks, hasIcons = _a.hasIcons, onItemMouseLeave = _a.onItemMouseLeave, expandedMenuItemKey = _a.expandedMenuItemKey;\n var itemHasSubmenu = hasSubmenu(item);\n var keytipProps = item.keytipProps;\n if (keytipProps) {\n keytipProps = this._getMemoizedMenuButtonKeytipProps(keytipProps);\n }\n // Check for ariaDescription to set the _ariaDescriptionId and render a hidden span with\n // the description in it to be added to ariaDescribedBy\n var ariaDescription = item.ariaDescription;\n if (ariaDescription) {\n this._ariaDescriptionId = getId();\n }\n return (React.createElement(KeytipData, { keytipProps: keytipProps, disabled: isItemDisabled(item) }, function (keytipAttributes) { return (React.createElement(\"div\", { \"data-ktp-target\": keytipAttributes['data-ktp-target'], ref: function (splitButton) { return (_this._splitButton = splitButton); }, role: getMenuItemAriaRole(item), \"aria-label\": item.ariaLabel, className: classNames.splitContainer, \"aria-disabled\": isItemDisabled(item), \"aria-expanded\": itemHasSubmenu ? item.key === expandedMenuItemKey : undefined, \"aria-haspopup\": true, \"aria-describedby\": mergeAriaAttributeValues(item.ariaDescribedBy, ariaDescription ? _this._ariaDescriptionId : undefined, keytipAttributes['aria-describedby']), \"aria-checked\": item.isChecked || item.checked, \"aria-posinset\": focusableElementIndex + 1, \"aria-setsize\": totalItemCount, onMouseEnter: _this._onItemMouseEnterPrimary, onMouseLeave: onItemMouseLeave ? onItemMouseLeave.bind(_this, __assign(__assign({}, item), { subMenuProps: null, items: null })) : undefined, onMouseMove: _this._onItemMouseMovePrimary, onKeyDown: _this._onItemKeyDown, onClick: _this._executeItemClick, onTouchStart: _this._onTouchStart, tabIndex: 0, \"data-is-focusable\": true, \"aria-roledescription\": item['aria-roledescription'] },\n _this._renderSplitPrimaryButton(item, classNames, index, hasCheckmarks, hasIcons),\n _this._renderSplitDivider(item),\n _this._renderSplitIconButton(item, classNames, index, keytipAttributes),\n _this._renderAriaDescription(ariaDescription, classNames.screenReaderText))); }));\n };\n ContextualMenuSplitButton.prototype._renderSplitPrimaryButton = function (item, \n // eslint-disable-next-line deprecation/deprecation\n classNames, index, hasCheckmarks, hasIcons) {\n var _a = this.props, _b = _a.contextualMenuItemAs, ChildrenRenderer = _b === void 0 ? ContextualMenuItem : _b, onItemClick = _a.onItemClick;\n var itemProps = {\n key: item.key,\n disabled: isItemDisabled(item) || item.primaryDisabled,\n /* eslint-disable deprecation/deprecation */\n name: item.name,\n text: item.text || item.name,\n secondaryText: item.secondaryText,\n /* eslint-enable deprecation/deprecation */\n className: classNames.splitPrimary,\n canCheck: item.canCheck,\n isChecked: item.isChecked,\n checked: item.checked,\n iconProps: item.iconProps,\n onRenderIcon: item.onRenderIcon,\n data: item.data,\n 'data-is-focusable': false,\n };\n var itemComponentProps = item.itemProps;\n return (React.createElement(\"button\", __assign({}, getNativeProps(itemProps, buttonProperties)),\n React.createElement(ChildrenRenderer, __assign({ \"data-is-focusable\": false, item: itemProps, classNames: classNames, index: index, onCheckmarkClick: hasCheckmarks && onItemClick ? onItemClick : undefined, hasIcons: hasIcons }, itemComponentProps))));\n };\n ContextualMenuSplitButton.prototype._renderSplitDivider = function (item) {\n var getDividerClassNames = item.getSplitButtonVerticalDividerClassNames || getSplitButtonVerticalDividerClassNames;\n return React.createElement(VerticalDivider, { getClassNames: getDividerClassNames });\n };\n ContextualMenuSplitButton.prototype._renderSplitIconButton = function (item, classNames, // eslint-disable-line deprecation/deprecation\n index, keytipAttributes) {\n var _a = this.props, _b = _a.contextualMenuItemAs, ChildrenRenderer = _b === void 0 ? ContextualMenuItem : _b, onItemMouseLeave = _a.onItemMouseLeave, onItemMouseDown = _a.onItemMouseDown, openSubMenu = _a.openSubMenu, dismissSubMenu = _a.dismissSubMenu, dismissMenu = _a.dismissMenu;\n var itemProps = {\n onClick: this._onIconItemClick,\n disabled: isItemDisabled(item),\n className: classNames.splitMenu,\n subMenuProps: item.subMenuProps,\n submenuIconProps: item.submenuIconProps,\n split: true,\n key: item.key,\n };\n var buttonProps = __assign(__assign({}, getNativeProps(itemProps, buttonProperties)), {\n onMouseEnter: this._onItemMouseEnterIcon,\n onMouseLeave: onItemMouseLeave ? onItemMouseLeave.bind(this, item) : undefined,\n onMouseDown: function (ev) {\n return onItemMouseDown ? onItemMouseDown(item, ev) : undefined;\n },\n onMouseMove: this._onItemMouseMoveIcon,\n 'data-is-focusable': false,\n 'data-ktp-execute-target': keytipAttributes['data-ktp-execute-target'],\n 'aria-hidden': true,\n });\n var itemComponentProps = item.itemProps;\n return (React.createElement(\"button\", __assign({}, buttonProps),\n React.createElement(ChildrenRenderer, __assign({ componentRef: item.componentRef, item: itemProps, classNames: classNames, index: index, hasIcons: false, openSubMenu: openSubMenu, dismissSubMenu: dismissSubMenu, dismissMenu: dismissMenu, getSubmenuTarget: this._getSubmenuTarget }, itemComponentProps))));\n };\n ContextualMenuSplitButton.prototype._handleTouchAndPointerEvent = function (ev) {\n var _this = this;\n var onTap = this.props.onTap;\n if (onTap) {\n onTap(ev);\n }\n // If we already have an existing timeout from a previous touch/pointer event\n // cancel that timeout so we can set a new one.\n if (this._lastTouchTimeoutId) {\n this._async.clearTimeout(this._lastTouchTimeoutId);\n this._lastTouchTimeoutId = undefined;\n }\n this._processingTouch = true;\n this._lastTouchTimeoutId = this._async.setTimeout(function () {\n _this._processingTouch = false;\n _this._lastTouchTimeoutId = undefined;\n }, TouchIdleDelay);\n };\n return ContextualMenuSplitButton;\n}(ContextualMenuItemWrapper));\nexport { ContextualMenuSplitButton };\n//# sourceMappingURL=ContextualMenuSplitButton.js.map","import { __assign, __extends } from \"tslib\";\nimport * as React from 'react';\nimport { buttonProperties, getNativeProps, memoizeFunction, getId, mergeAriaAttributeValues } from '../../../Utilities';\nimport { ContextualMenuItemWrapper } from './ContextualMenuItemWrapper';\nimport { KeytipData } from '../../../KeytipData';\nimport { getIsChecked, isItemDisabled, hasSubmenu, getMenuItemAriaRole } from '../../../utilities/contextualMenu/index';\nimport { ContextualMenuItem } from '../ContextualMenuItem';\nvar ContextualMenuButton = /** @class */ (function (_super) {\n __extends(ContextualMenuButton, _super);\n function ContextualMenuButton() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this._btn = React.createRef();\n _this._getMemoizedMenuButtonKeytipProps = memoizeFunction(function (keytipProps) {\n return __assign(__assign({}, keytipProps), { hasMenu: true });\n });\n _this._renderAriaDescription = function (ariaDescription, className) {\n // If ariaDescription is given, descriptionId will be assigned to ariaDescriptionSpan\n return ariaDescription ? (React.createElement(\"span\", { id: _this._ariaDescriptionId, className: className }, ariaDescription)) : null;\n };\n _this._getSubmenuTarget = function () {\n return _this._btn.current ? _this._btn.current : undefined;\n };\n return _this;\n }\n ContextualMenuButton.prototype.render = function () {\n var _this = this;\n var _a = this.props, item = _a.item, classNames = _a.classNames, index = _a.index, focusableElementIndex = _a.focusableElementIndex, totalItemCount = _a.totalItemCount, hasCheckmarks = _a.hasCheckmarks, hasIcons = _a.hasIcons, _b = _a.contextualMenuItemAs, ChildrenRenderer = _b === void 0 ? ContextualMenuItem : _b, expandedMenuItemKey = _a.expandedMenuItemKey, onItemMouseDown = _a.onItemMouseDown, onItemClick = _a.onItemClick, openSubMenu = _a.openSubMenu, dismissSubMenu = _a.dismissSubMenu, dismissMenu = _a.dismissMenu;\n var isChecked = getIsChecked(item);\n var canCheck = isChecked !== null;\n var defaultRole = getMenuItemAriaRole(item);\n var itemHasSubmenu = hasSubmenu(item);\n var itemProps = item.itemProps, ariaLabel = item.ariaLabel, ariaDescription = item.ariaDescription;\n var buttonNativeProperties = getNativeProps(item, buttonProperties);\n // Do not add the disabled attribute to the button so that it is focusable\n delete buttonNativeProperties.disabled;\n var itemRole = item.role || defaultRole;\n // Check for ariaDescription to set the _ariaDescriptionId and render a hidden span with\n // the description in it to be added to ariaDescribedBy\n if (ariaDescription) {\n this._ariaDescriptionId = getId();\n }\n var ariaDescribedByIds = mergeAriaAttributeValues(item.ariaDescribedBy, ariaDescription ? this._ariaDescriptionId : undefined, buttonNativeProperties['aria-describedby']);\n var itemButtonProperties = {\n className: classNames.root,\n onClick: this._onItemClick,\n onKeyDown: itemHasSubmenu ? this._onItemKeyDown : undefined,\n onMouseEnter: this._onItemMouseEnter,\n onMouseLeave: this._onItemMouseLeave,\n onMouseDown: function (ev) {\n return onItemMouseDown ? onItemMouseDown(item, ev) : undefined;\n },\n onMouseMove: this._onItemMouseMove,\n href: item.href,\n title: item.title,\n 'aria-label': ariaLabel,\n 'aria-describedby': ariaDescribedByIds,\n 'aria-haspopup': itemHasSubmenu || undefined,\n 'aria-expanded': itemHasSubmenu ? item.key === expandedMenuItemKey : undefined,\n 'aria-posinset': focusableElementIndex + 1,\n 'aria-setsize': totalItemCount,\n 'aria-disabled': isItemDisabled(item),\n 'aria-checked': (itemRole === 'menuitemcheckbox' || itemRole === 'menuitemradio') && canCheck ? !!isChecked : undefined,\n 'aria-selected': itemRole === 'menuitem' && canCheck ? !!isChecked : undefined,\n role: itemRole,\n // eslint-disable-next-line deprecation/deprecation\n style: item.style,\n };\n var keytipProps = item.keytipProps;\n if (keytipProps && itemHasSubmenu) {\n keytipProps = this._getMemoizedMenuButtonKeytipProps(keytipProps);\n }\n return (React.createElement(KeytipData, { keytipProps: keytipProps, ariaDescribedBy: ariaDescribedByIds, disabled: isItemDisabled(item) }, function (keytipAttributes) { return (React.createElement(\"button\", __assign({ ref: _this._btn }, buttonNativeProperties, itemButtonProperties, keytipAttributes),\n React.createElement(ChildrenRenderer, __assign({ componentRef: item.componentRef, item: item, classNames: classNames, index: index, onCheckmarkClick: hasCheckmarks && onItemClick ? onItemClick : undefined, hasIcons: hasIcons, openSubMenu: openSubMenu, dismissSubMenu: dismissSubMenu, dismissMenu: dismissMenu, getSubmenuTarget: _this._getSubmenuTarget }, itemProps)),\n _this._renderAriaDescription(ariaDescription, classNames.screenReaderText))); }));\n };\n return ContextualMenuButton;\n}(ContextualMenuItemWrapper));\nexport { ContextualMenuButton };\n//# sourceMappingURL=ContextualMenuButton.js.map","import { __assign, __rest, __spreadArray } from \"tslib\";\nimport * as React from 'react';\nimport { ContextualMenuItemType } from './ContextualMenu.types';\nimport { DirectionalHint } from '../../common/DirectionalHint';\nimport { FocusZone, FocusZoneDirection, FocusZoneTabbableElements } from '../../FocusZone';\nimport { divProperties, getNativeProps, shallowCompare, assign, classNamesFunction, css, getFirstFocusable, getLastFocusable, getRTL, KeyCodes, shouldWrapFocus, isIOS, isMac, memoizeFunction, getPropsWithDefaults, getDocument, } from '../../Utilities';\nimport { hasSubmenu, getIsChecked, isItemDisabled } from '../../utilities/contextualMenu/index';\nimport { Callout } from '../../Callout';\nimport { ContextualMenuItem } from './ContextualMenuItem';\nimport { ContextualMenuSplitButton, ContextualMenuButton, ContextualMenuAnchor, } from './ContextualMenuItemWrapper/index';\nimport { concatStyleSetsWithProps } from '../../Styling';\nimport { getItemStyles } from './ContextualMenu.classNames';\nimport { useTarget, usePrevious, useAsync, useWarnings, useId } from '@fluentui/react-hooks';\nimport { useResponsiveMode, ResponsiveMode } from '../../ResponsiveMode';\nimport { MenuContext } from '../../utilities/MenuContext/index';\nvar getClassNames = classNamesFunction();\nvar getContextualMenuItemClassNames = classNamesFunction();\n// The default ContextualMenu properties have no items and beak, the default submenu direction is right and top.\nvar DEFAULT_PROPS = {\n items: [],\n shouldFocusOnMount: true,\n gapSpace: 0,\n directionalHint: DirectionalHint.bottomAutoEdge,\n beakWidth: 16,\n};\nexport function getSubmenuItems(item, options) {\n var target = options === null || options === void 0 ? void 0 : options.target;\n // eslint-disable-next-line deprecation/deprecation\n var items = item.subMenuProps ? item.subMenuProps.items : item.items;\n if (items) {\n var overrideItems = [];\n for (var _i = 0, items_1 = items; _i < items_1.length; _i++) {\n var subItem = items_1[_i];\n if (subItem.preferMenuTargetAsEventTarget) {\n // For sub-items which need an overridden target, intercept `onClick`\n var onClick = subItem.onClick, contextItem = __rest(subItem, [\"onClick\"]);\n overrideItems.push(__assign(__assign({}, contextItem), { onClick: getOnClickWithOverrideTarget(onClick, target) }));\n }\n else {\n overrideItems.push(subItem);\n }\n }\n return overrideItems;\n }\n}\n/**\n * Returns true if a list of menu items can contain a checkbox\n */\nexport function canAnyMenuItemsCheck(items) {\n return items.some(function (item) {\n if (item.canCheck) {\n return true;\n }\n // If the item is a section, check if any of the items in the section can check.\n if (item.sectionProps && item.sectionProps.items.some(function (submenuItem) { return submenuItem.canCheck === true; })) {\n return true;\n }\n return false;\n });\n}\nvar NavigationIdleDelay = 250; /* ms */\nvar COMPONENT_NAME = 'ContextualMenu';\nvar _getMenuItemStylesFunction = memoizeFunction(function () {\n var styles = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n styles[_i] = arguments[_i];\n }\n return function (styleProps) {\n return concatStyleSetsWithProps.apply(void 0, __spreadArray([styleProps, getItemStyles], styles));\n };\n});\n//#region Custom hooks\nfunction useVisibility(props, targetWindow) {\n var _a = props.hidden, hidden = _a === void 0 ? false : _a, onMenuDismissed = props.onMenuDismissed, onMenuOpened = props.onMenuOpened;\n var previousHidden = usePrevious(hidden);\n var onMenuOpenedRef = React.useRef(onMenuOpened);\n var onMenuClosedRef = React.useRef(onMenuDismissed);\n var propsRef = React.useRef(props);\n onMenuOpenedRef.current = onMenuOpened;\n onMenuClosedRef.current = onMenuDismissed;\n propsRef.current = props;\n React.useEffect(function () {\n var _a, _b;\n // Don't issue dismissed callbacks on initial mount\n if (hidden && previousHidden === false) {\n (_a = onMenuClosedRef.current) === null || _a === void 0 ? void 0 : _a.call(onMenuClosedRef, propsRef.current);\n }\n else if (!hidden && previousHidden !== false) {\n (_b = onMenuOpenedRef.current) === null || _b === void 0 ? void 0 : _b.call(onMenuOpenedRef, propsRef.current);\n }\n }, [hidden, previousHidden]);\n // Issue onDismissedCallback on unmount\n React.useEffect(function () { return function () { var _a; return (_a = onMenuClosedRef.current) === null || _a === void 0 ? void 0 : _a.call(onMenuClosedRef, propsRef.current); }; }, []);\n}\nfunction useSubMenuState(_a, dismiss) {\n var hidden = _a.hidden, items = _a.items, theme = _a.theme, className = _a.className, id = _a.id, menuTarget = _a.target;\n var _b = React.useState(), expandedMenuItemKey = _b[0], setExpandedMenuItemKey = _b[1];\n var _c = React.useState(), submenuTarget = _c[0], setSubmenuTarget = _c[1];\n /** True if the menu was expanded by mouse click OR hover (as opposed to by keyboard) */\n var _d = React.useState(), expandedByMouseClick = _d[0], setExpandedByMouseClick = _d[1];\n var subMenuId = useId(COMPONENT_NAME, id);\n var closeSubMenu = React.useCallback(function () {\n setExpandedByMouseClick(undefined);\n setExpandedMenuItemKey(undefined);\n setSubmenuTarget(undefined);\n }, []);\n var openSubMenu = React.useCallback(function (_a, target, openedByMouseClick) {\n var submenuItemKey = _a.key;\n if (expandedMenuItemKey === submenuItemKey) {\n return;\n }\n target.focus();\n setExpandedByMouseClick(openedByMouseClick);\n setExpandedMenuItemKey(submenuItemKey);\n setSubmenuTarget(target);\n }, [expandedMenuItemKey]);\n React.useEffect(function () {\n if (hidden) {\n closeSubMenu();\n }\n }, [hidden, closeSubMenu]);\n var onSubMenuDismiss = useOnSubmenuDismiss(dismiss, closeSubMenu);\n var getSubmenuProps = function () {\n var item = findItemByKeyFromItems(expandedMenuItemKey, items);\n var submenuProps = null;\n if (item) {\n submenuProps = {\n items: getSubmenuItems(item),\n target: submenuTarget,\n onDismiss: onSubMenuDismiss,\n isSubMenu: true,\n id: subMenuId,\n shouldFocusOnMount: true,\n shouldFocusOnContainer: expandedByMouseClick,\n directionalHint: getRTL(theme) ? DirectionalHint.leftTopEdge : DirectionalHint.rightTopEdge,\n className: className,\n gapSpace: 0,\n isBeakVisible: false,\n };\n if (item.subMenuProps) {\n assign(submenuProps, item.subMenuProps);\n }\n if (item.preferMenuTargetAsEventTarget) {\n var onItemClick = item.onItemClick;\n submenuProps.onItemClick = getOnClickWithOverrideTarget(onItemClick, menuTarget);\n }\n }\n return submenuProps;\n };\n return [expandedMenuItemKey, openSubMenu, getSubmenuProps, onSubMenuDismiss];\n}\nfunction useShouldUpdateFocusOnMouseMove(_a) {\n var delayUpdateFocusOnHover = _a.delayUpdateFocusOnHover, hidden = _a.hidden;\n var shouldUpdateFocusOnMouseEvent = React.useRef(!delayUpdateFocusOnHover);\n var gotMouseMove = React.useRef(false);\n React.useEffect(function () {\n shouldUpdateFocusOnMouseEvent.current = !delayUpdateFocusOnHover;\n gotMouseMove.current = hidden ? false : !delayUpdateFocusOnHover && gotMouseMove.current;\n }, [delayUpdateFocusOnHover, hidden]);\n var onMenuFocusCapture = React.useCallback(function () {\n if (delayUpdateFocusOnHover) {\n shouldUpdateFocusOnMouseEvent.current = true;\n }\n }, [delayUpdateFocusOnHover]);\n return [shouldUpdateFocusOnMouseEvent, gotMouseMove, onMenuFocusCapture];\n}\nfunction usePreviousActiveElement(_a, targetWindow) {\n var hidden = _a.hidden, onRestoreFocus = _a.onRestoreFocus;\n var previousActiveElement = React.useRef();\n var tryFocusPreviousActiveElement = React.useCallback(function (options) {\n var _a, _b;\n if (onRestoreFocus) {\n onRestoreFocus(options);\n }\n else if (options === null || options === void 0 ? void 0 : options.documentContainsFocus) {\n // Make sure that the focus method actually exists\n // In some cases the object might exist but not be a real element.\n // This is primarily for IE 11 and should be removed once IE 11 is no longer in use.\n (_b = (_a = previousActiveElement.current) === null || _a === void 0 ? void 0 : _a.focus) === null || _b === void 0 ? void 0 : _b.call(_a);\n }\n }, [onRestoreFocus]);\n // eslint-disable-next-line no-restricted-properties\n React.useLayoutEffect(function () {\n var _a;\n if (!hidden) {\n previousActiveElement.current = targetWindow === null || targetWindow === void 0 ? void 0 : targetWindow.document.activeElement;\n }\n else if (previousActiveElement.current) {\n tryFocusPreviousActiveElement({\n originalElement: previousActiveElement.current,\n containsFocus: true,\n documentContainsFocus: ((_a = getDocument()) === null || _a === void 0 ? void 0 : _a.hasFocus()) || false,\n });\n previousActiveElement.current = undefined;\n }\n }, [hidden, targetWindow === null || targetWindow === void 0 ? void 0 : targetWindow.document.activeElement, tryFocusPreviousActiveElement]);\n return [tryFocusPreviousActiveElement];\n}\nfunction useKeyHandlers(_a, dismiss, hostElement, openSubMenu) {\n var theme = _a.theme, isSubMenu = _a.isSubMenu, _b = _a.focusZoneProps, _c = _b === void 0 ? {} : _b, checkForNoWrap = _c.checkForNoWrap, _d = _c.direction, focusZoneDirection = _d === void 0 ? FocusZoneDirection.vertical : _d;\n /** True if the most recent keydown event was for alt (option) or meta (command). */\n var lastKeyDownWasAltOrMeta = React.useRef();\n /**\n * Calls `shouldHandleKey` to determine whether the keyboard event should be handled;\n * if so, stops event propagation and dismisses menu(s).\n * @param ev - The keyboard event.\n * @param shouldHandleKey - Returns whether we should handle this keyboard event.\n * @param dismissAllMenus - If true, dismiss all menus. Otherwise, dismiss only the current menu.\n * Only does anything if `shouldHandleKey` returns true.\n * @returns Whether the event was handled.\n */\n var keyHandler = function (ev, shouldHandleKey, dismissAllMenus) {\n var handled = false;\n if (shouldHandleKey(ev)) {\n dismiss(ev, dismissAllMenus);\n ev.preventDefault();\n ev.stopPropagation();\n handled = true;\n }\n return handled;\n };\n /**\n * Checks if the submenu should be closed\n */\n var shouldCloseSubMenu = function (ev) {\n var submenuCloseKey = getRTL(theme) ? KeyCodes.right : KeyCodes.left;\n // eslint-disable-next-line deprecation/deprecation\n if (ev.which !== submenuCloseKey || !isSubMenu) {\n return false;\n }\n return !!(focusZoneDirection === FocusZoneDirection.vertical ||\n (checkForNoWrap && !shouldWrapFocus(ev.target, 'data-no-horizontal-wrap')));\n };\n var shouldHandleKeyDown = function (ev) {\n return (\n // eslint-disable-next-line deprecation/deprecation\n ev.which === KeyCodes.escape ||\n shouldCloseSubMenu(ev) ||\n // eslint-disable-next-line deprecation/deprecation\n (ev.which === KeyCodes.up && (ev.altKey || ev.metaKey)));\n };\n var onKeyDown = function (ev) {\n // Take note if we are processing an alt (option) or meta (command) keydown.\n // See comment in shouldHandleKeyUp for reasoning.\n lastKeyDownWasAltOrMeta.current = isAltOrMeta(ev);\n // On Mac, pressing escape dismisses all levels of native context menus\n // eslint-disable-next-line deprecation/deprecation\n var dismissAllMenus = ev.which === KeyCodes.escape && (isMac() || isIOS());\n return keyHandler(ev, shouldHandleKeyDown, dismissAllMenus);\n };\n /**\n * We close the menu on key up only if ALL of the following are true:\n * - Most recent key down was alt or meta (command)\n * - The alt/meta key down was NOT followed by some other key (such as down/up arrow to\n * expand/collapse the menu)\n * - We're not on a Mac (or iOS)\n *\n * This is because on Windows, pressing alt moves focus to the application menu bar or similar,\n * closing any open context menus. There is not a similar behavior on Macs.\n */\n var shouldHandleKeyUp = function (ev) {\n var keyPressIsAltOrMetaAlone = lastKeyDownWasAltOrMeta.current && isAltOrMeta(ev);\n lastKeyDownWasAltOrMeta.current = false;\n return !!keyPressIsAltOrMetaAlone && !(isIOS() || isMac());\n };\n var onKeyUp = function (ev) {\n return keyHandler(ev, shouldHandleKeyUp, true /* dismissAllMenus */);\n };\n var onMenuKeyDown = function (ev) {\n // Mark as handled if onKeyDown returns true (for handling collapse cases)\n // or if we are attempting to expand a submenu\n var handled = onKeyDown(ev);\n if (handled || !hostElement.current) {\n return;\n }\n // If we have a modifier key being pressed, we do not want to move focus.\n // Otherwise, handle up and down keys.\n var hasModifier = !!(ev.altKey || ev.metaKey);\n // eslint-disable-next-line deprecation/deprecation\n var isUp = ev.which === KeyCodes.up;\n // eslint-disable-next-line deprecation/deprecation\n var isDown = ev.which === KeyCodes.down;\n if (!hasModifier && (isUp || isDown)) {\n var elementToFocus = isUp\n ? getLastFocusable(hostElement.current, hostElement.current.lastChild, true)\n : getFirstFocusable(hostElement.current, hostElement.current.firstChild, true);\n if (elementToFocus) {\n elementToFocus.focus();\n ev.preventDefault();\n ev.stopPropagation();\n }\n }\n };\n var onItemKeyDown = function (item, ev) {\n var openKey = getRTL(theme) ? KeyCodes.left : KeyCodes.right;\n if (!item.disabled &&\n // eslint-disable-next-line deprecation/deprecation\n (ev.which === openKey || ev.which === KeyCodes.enter || (ev.which === KeyCodes.down && (ev.altKey || ev.metaKey)))) {\n openSubMenu(item, ev.currentTarget, false);\n ev.preventDefault();\n }\n };\n return [onKeyDown, onKeyUp, onMenuKeyDown, onItemKeyDown];\n}\nfunction useScrollHandler(asyncTracker) {\n var isScrollIdle = React.useRef(true);\n var scrollIdleTimeoutId = React.useRef();\n /**\n * Scroll handler for the callout to make sure the mouse events\n * for updating focus are not interacting during scroll\n */\n var onScroll = function () {\n if (!isScrollIdle.current && scrollIdleTimeoutId.current !== undefined) {\n asyncTracker.clearTimeout(scrollIdleTimeoutId.current);\n scrollIdleTimeoutId.current = undefined;\n }\n else {\n isScrollIdle.current = false;\n }\n scrollIdleTimeoutId.current = asyncTracker.setTimeout(function () {\n isScrollIdle.current = true;\n }, NavigationIdleDelay);\n };\n return [onScroll, isScrollIdle];\n}\nfunction useOnSubmenuDismiss(dismiss, closeSubMenu) {\n var isMountedRef = React.useRef(false);\n React.useEffect(function () {\n isMountedRef.current = true;\n return function () {\n isMountedRef.current = false;\n };\n }, []);\n /**\n * This function is called ASYNCHRONOUSLY, and so there is a chance it is called\n * after the component is unmounted. The isMountedRef is added to prevent\n * from calling setState() after unmount. Do NOT copy this pattern in synchronous\n * code.\n */\n var onSubMenuDismiss = function (ev, dismissAll) {\n if (dismissAll) {\n dismiss(ev, dismissAll);\n }\n else if (isMountedRef.current) {\n closeSubMenu();\n }\n };\n return onSubMenuDismiss;\n}\nfunction useSubmenuEnterTimer(_a, asyncTracker) {\n var _b = _a.subMenuHoverDelay, subMenuHoverDelay = _b === void 0 ? NavigationIdleDelay : _b;\n var enterTimerRef = React.useRef(undefined);\n var cancelSubMenuTimer = function () {\n if (enterTimerRef.current !== undefined) {\n asyncTracker.clearTimeout(enterTimerRef.current);\n enterTimerRef.current = undefined;\n }\n };\n var startSubmenuTimer = function (onTimerExpired) {\n enterTimerRef.current = asyncTracker.setTimeout(function () {\n onTimerExpired();\n cancelSubMenuTimer();\n }, subMenuHoverDelay);\n };\n return [cancelSubMenuTimer, startSubmenuTimer, enterTimerRef];\n}\nfunction useMouseHandlers(props, isScrollIdle, subMenuEntryTimer, targetWindow, shouldUpdateFocusOnMouseEvent, gotMouseMove, expandedMenuItemKey, hostElement, startSubmenuTimer, cancelSubMenuTimer, openSubMenu, onSubMenuDismiss, dismiss) {\n var menuTarget = props.target;\n var onItemMouseEnterBase = function (item, ev, target) {\n if (shouldIgnoreMouseEvent()) {\n return;\n }\n updateFocusOnMouseEvent(item, ev, target);\n };\n var onItemMouseMoveBase = function (item, ev, target) {\n var targetElement = ev.currentTarget;\n // Always do this check to make sure we record a mouseMove if needed (even if we are timed out)\n if (shouldUpdateFocusOnMouseEvent.current) {\n gotMouseMove.current = true;\n }\n else {\n return;\n }\n if (!isScrollIdle.current ||\n subMenuEntryTimer.current !== undefined ||\n targetElement === (targetWindow === null || targetWindow === void 0 ? void 0 : targetWindow.document.activeElement)) {\n return;\n }\n updateFocusOnMouseEvent(item, ev, target);\n };\n var shouldIgnoreMouseEvent = function () {\n return !isScrollIdle.current || !gotMouseMove.current;\n };\n var onMouseItemLeave = function (item, ev) {\n var _a;\n if (shouldIgnoreMouseEvent()) {\n return;\n }\n cancelSubMenuTimer();\n if (expandedMenuItemKey !== undefined) {\n return;\n }\n /**\n * IE11 focus() method forces parents to scroll to top of element.\n * Edge and IE expose a setActive() function for focusable divs that\n * sets the page focus but does not scroll the parent element.\n */\n if (hostElement.current.setActive) {\n try {\n hostElement.current.setActive();\n }\n catch (e) {\n /* no-op */\n }\n }\n else {\n (_a = hostElement.current) === null || _a === void 0 ? void 0 : _a.focus();\n }\n };\n /**\n * Handles updating focus when mouseEnter or mouseMove fire.\n * As part of updating focus, This function will also update\n * the expand/collapse state accordingly.\n */\n var updateFocusOnMouseEvent = function (item, ev, target) {\n var targetElement = target ? target : ev.currentTarget;\n if (item.key === expandedMenuItemKey) {\n return;\n }\n cancelSubMenuTimer();\n // If the menu is not expanded we can update focus without any delay\n if (expandedMenuItemKey === undefined) {\n targetElement.focus();\n }\n // Delay updating expanding/dismissing the submenu\n // and only set focus if we have not already done so\n if (hasSubmenu(item)) {\n ev.stopPropagation();\n startSubmenuTimer(function () {\n targetElement.focus();\n openSubMenu(item, targetElement, true);\n });\n }\n else {\n startSubmenuTimer(function () {\n onSubMenuDismiss(ev);\n targetElement.focus();\n });\n }\n };\n var onItemClick = function (item, ev) {\n onItemClickBase(item, ev, ev.currentTarget);\n };\n var onItemClickBase = function (item, ev, target) {\n var items = getSubmenuItems(item);\n // Cancel an async menu item hover timeout action from being taken and instead\n // just trigger the click event instead.\n cancelSubMenuTimer();\n if (!hasSubmenu(item) && (!items || !items.length)) {\n // This is an item without a menu. Click it.\n executeItemClick(item, ev);\n }\n else {\n if (item.key !== expandedMenuItemKey) {\n // This has a collapsed sub menu. Expand it.\n openSubMenu(item, target, \n // When Edge + Narrator are used together (regardless of if the button is in a form or not), pressing\n // \"Enter\" fires this method and not _onMenuKeyDown. Checking ev.nativeEvent.detail differentiates\n // between a real click event and a keypress event (detail should be the number of mouse clicks).\n // ...Plot twist! For a real click event in IE 11, detail is always 0 (Edge sets it properly to 1).\n // So we also check the pointerType property, which both Edge and IE set to \"mouse\" for real clicks\n // and \"\" for pressing \"Enter\" with Narrator on.\n ev.nativeEvent.detail !== 0 || ev.nativeEvent.pointerType === 'mouse');\n }\n }\n ev.stopPropagation();\n ev.preventDefault();\n };\n var onAnchorClick = function (item, ev) {\n executeItemClick(item, ev);\n ev.stopPropagation();\n };\n var executeItemClick = function (item, ev) {\n if (item.disabled || item.isDisabled) {\n return;\n }\n if (item.preferMenuTargetAsEventTarget) {\n overrideTarget(ev, menuTarget);\n }\n var shouldDismiss = false;\n if (item.onClick) {\n shouldDismiss = !!item.onClick(ev, item);\n }\n else if (props.onItemClick) {\n shouldDismiss = !!props.onItemClick(ev, item);\n }\n if (shouldDismiss || !ev.defaultPrevented) {\n dismiss(ev, true);\n }\n };\n return [\n onItemMouseEnterBase,\n onItemMouseMoveBase,\n onMouseItemLeave,\n onItemClick,\n onAnchorClick,\n executeItemClick,\n onItemClickBase,\n ];\n}\n//#endregion\nexport var ContextualMenuBase = React.memo(React.forwardRef(function (propsWithoutDefaults, forwardedRef) {\n var _a;\n var _b = getPropsWithDefaults(DEFAULT_PROPS, propsWithoutDefaults), ref = _b.ref, props = __rest(_b, [\"ref\"]);\n var hostElement = React.useRef(null);\n var asyncTracker = useAsync();\n var menuId = useId(COMPONENT_NAME, props.id);\n useWarnings({\n name: COMPONENT_NAME,\n props: props,\n deprecations: {\n getMenuClassNames: 'styles',\n },\n });\n var dismiss = function (ev, dismissAll) { var _a; return (_a = props.onDismiss) === null || _a === void 0 ? void 0 : _a.call(props, ev, dismissAll); };\n var _c = useTarget(props.target, hostElement), targetRef = _c[0], targetWindow = _c[1];\n var tryFocusPreviousActiveElement = usePreviousActiveElement(props, targetWindow)[0];\n var _d = useSubMenuState(props, dismiss), expandedMenuItemKey = _d[0], openSubMenu = _d[1], getSubmenuProps = _d[2], onSubMenuDismiss = _d[3];\n var _e = useShouldUpdateFocusOnMouseMove(props), shouldUpdateFocusOnMouseEvent = _e[0], gotMouseMove = _e[1], onMenuFocusCapture = _e[2];\n var _f = useScrollHandler(asyncTracker), onScroll = _f[0], isScrollIdle = _f[1];\n var _g = useSubmenuEnterTimer(props, asyncTracker), cancelSubMenuTimer = _g[0], startSubmenuTimer = _g[1], subMenuEntryTimer = _g[2];\n var responsiveMode = useResponsiveMode(hostElement, props.responsiveMode);\n useVisibility(props, targetWindow);\n var _h = useKeyHandlers(props, dismiss, hostElement, openSubMenu), onKeyDown = _h[0], onKeyUp = _h[1], onMenuKeyDown = _h[2], onItemKeyDown = _h[3];\n var _j = useMouseHandlers(props, isScrollIdle, subMenuEntryTimer, targetWindow, shouldUpdateFocusOnMouseEvent, gotMouseMove, expandedMenuItemKey, hostElement, startSubmenuTimer, cancelSubMenuTimer, openSubMenu, onSubMenuDismiss, dismiss), onItemMouseEnterBase = _j[0], onItemMouseMoveBase = _j[1], onMouseItemLeave = _j[2], onItemClick = _j[3], onAnchorClick = _j[4], executeItemClick = _j[5], onItemClickBase = _j[6];\n //#region Render helpers\n var onDefaultRenderMenuList = function (menuListProps, \n // eslint-disable-next-line deprecation/deprecation\n menuClassNames, defaultRender) {\n var indexCorrection = 0;\n var items = menuListProps.items, totalItemCount = menuListProps.totalItemCount, hasCheckmarks = menuListProps.hasCheckmarks, hasIcons = menuListProps.hasIcons;\n return (React.createElement(\"ul\", { className: menuClassNames.list, onKeyDown: onKeyDown, onKeyUp: onKeyUp, role: 'presentation' }, items.map(function (item, index) {\n var menuItem = renderMenuItem(item, index, indexCorrection, totalItemCount, hasCheckmarks, hasIcons, menuClassNames);\n if (item.itemType !== ContextualMenuItemType.Divider && item.itemType !== ContextualMenuItemType.Header) {\n var indexIncrease = item.customOnRenderListLength ? item.customOnRenderListLength : 1;\n indexCorrection += indexIncrease;\n }\n return menuItem;\n })));\n };\n var renderFocusZone = function (children, adjustedFocusZoneProps) {\n var _a = props.focusZoneAs, ChildrenRenderer = _a === void 0 ? FocusZone : _a;\n return React.createElement(ChildrenRenderer, __assign({}, adjustedFocusZoneProps), children);\n };\n /**\n * !!!IMPORTANT!!! Avoid mutating `item: IContextualMenuItem` argument. It will\n * cause the menu items to always re-render because the component update is based on shallow comparison.\n */\n var renderMenuItem = function (item, index, focusableElementIndex, totalItemCount, hasCheckmarks, hasIcons, \n // eslint-disable-next-line deprecation/deprecation\n menuClassNames) {\n var _a;\n var renderedItems = [];\n var iconProps = item.iconProps || { iconName: 'None' };\n var getItemClassNames = item.getItemClassNames, // eslint-disable-line deprecation/deprecation\n itemProps = item.itemProps;\n var styles = itemProps ? itemProps.styles : undefined;\n // We only send a dividerClassName when the item to be rendered is a divider.\n // For all other cases, the default divider style is used.\n var dividerClassName = item.itemType === ContextualMenuItemType.Divider ? item.className : undefined;\n var subMenuIconClassName = item.submenuIconProps ? item.submenuIconProps.className : '';\n // eslint-disable-next-line deprecation/deprecation\n var itemClassNames;\n // IContextualMenuItem#getItemClassNames for backwards compatibility\n // otherwise uses mergeStyles for class names.\n if (getItemClassNames) {\n itemClassNames = getItemClassNames(props.theme, isItemDisabled(item), expandedMenuItemKey === item.key, !!getIsChecked(item), !!item.href, iconProps.iconName !== 'None', item.className, dividerClassName, iconProps.className, subMenuIconClassName, item.primaryDisabled);\n }\n else {\n var itemStyleProps = {\n theme: props.theme,\n disabled: isItemDisabled(item),\n expanded: expandedMenuItemKey === item.key,\n checked: !!getIsChecked(item),\n isAnchorLink: !!item.href,\n knownIcon: iconProps.iconName !== 'None',\n itemClassName: item.className,\n dividerClassName: dividerClassName,\n iconClassName: iconProps.className,\n subMenuClassName: subMenuIconClassName,\n primaryDisabled: item.primaryDisabled,\n };\n // We need to generate default styles then override if styles are provided\n // since the ContextualMenu currently handles item classNames.\n itemClassNames = getContextualMenuItemClassNames(_getMenuItemStylesFunction((_a = menuClassNames.subComponentStyles) === null || _a === void 0 ? void 0 : _a.menuItem, styles), itemStyleProps);\n }\n // eslint-disable-next-line deprecation/deprecation\n if (item.text === '-' || item.name === '-') {\n item.itemType = ContextualMenuItemType.Divider;\n }\n switch (item.itemType) {\n case ContextualMenuItemType.Divider:\n renderedItems.push(renderSeparator(index, itemClassNames));\n break;\n case ContextualMenuItemType.Header:\n renderedItems.push(renderSeparator(index, itemClassNames));\n var headerItem = renderHeaderMenuItem(item, itemClassNames, menuClassNames, index, hasCheckmarks, hasIcons);\n renderedItems.push(renderListItem(headerItem, item.key || index, itemClassNames, item.title));\n break;\n case ContextualMenuItemType.Section:\n renderedItems.push(renderSectionItem(item, itemClassNames, menuClassNames, index, hasCheckmarks, hasIcons));\n break;\n default:\n var menuItem = renderNormalItem(item, itemClassNames, index, focusableElementIndex, totalItemCount, hasCheckmarks, hasIcons);\n renderedItems.push(renderListItem(menuItem, item.key || index, itemClassNames, item.title));\n break;\n }\n // Since multiple nodes *could* be rendered, wrap them all in a fragment with this item's key.\n // This ensures the reconciler handles multi-item output per-node correctly and does not re-mount content.\n return React.createElement(React.Fragment, { key: item.key }, renderedItems);\n };\n var defaultMenuItemRenderer = function (item, \n // eslint-disable-next-line deprecation/deprecation\n menuClassNames) {\n var index = item.index, focusableElementIndex = item.focusableElementIndex, totalItemCount = item.totalItemCount, hasCheckmarks = item.hasCheckmarks, hasIcons = item.hasIcons;\n return renderMenuItem(item, index, focusableElementIndex, totalItemCount, hasCheckmarks, hasIcons, menuClassNames);\n };\n var renderSectionItem = function (sectionItem, \n // eslint-disable-next-line deprecation/deprecation\n itemClassNames, \n // eslint-disable-next-line deprecation/deprecation\n menuClassNames, index, hasCheckmarks, hasIcons) {\n var sectionProps = sectionItem.sectionProps;\n if (!sectionProps) {\n return;\n }\n var headerItem;\n var groupProps;\n if (sectionProps.title) {\n var headerContextualMenuItem = undefined;\n var ariaLabelledby = '';\n if (typeof sectionProps.title === 'string') {\n // Since title is a user-facing string, it needs to be stripped\n // of whitespace in order to build a valid element ID\n var id_1 = menuId + sectionProps.title.replace(/\\s/g, '');\n headerContextualMenuItem = {\n key: \"section-\" + sectionProps.title + \"-title\",\n itemType: ContextualMenuItemType.Header,\n text: sectionProps.title,\n id: id_1,\n };\n ariaLabelledby = id_1;\n }\n else {\n var id_2 = sectionProps.title.id || menuId + sectionProps.title.key.replace(/\\s/g, '');\n headerContextualMenuItem = __assign(__assign({}, sectionProps.title), { id: id_2 });\n ariaLabelledby = id_2;\n }\n if (headerContextualMenuItem) {\n groupProps = {\n role: 'group',\n 'aria-labelledby': ariaLabelledby,\n };\n headerItem = renderHeaderMenuItem(headerContextualMenuItem, itemClassNames, menuClassNames, index, hasCheckmarks, hasIcons);\n }\n }\n if (sectionProps.items && sectionProps.items.length > 0) {\n return (React.createElement(\"li\", { role: \"presentation\", key: sectionProps.key || sectionItem.key || \"section-\" + index },\n React.createElement(\"div\", __assign({}, groupProps),\n React.createElement(\"ul\", { className: menuClassNames.list, role: \"presentation\" },\n sectionProps.topDivider && renderSeparator(index, itemClassNames, true, true),\n headerItem && renderListItem(headerItem, sectionItem.key || index, itemClassNames, sectionItem.title),\n sectionProps.items.map(function (contextualMenuItem, itemsIndex) {\n return renderMenuItem(contextualMenuItem, itemsIndex, itemsIndex, sectionProps.items.length, hasCheckmarks, hasIcons, menuClassNames);\n }),\n sectionProps.bottomDivider && renderSeparator(index, itemClassNames, false, true)))));\n }\n };\n var renderListItem = function (content, key, classNames, // eslint-disable-line deprecation/deprecation\n title) {\n return (React.createElement(\"li\", { role: \"presentation\", title: title, key: key, className: classNames.item }, content));\n };\n var renderSeparator = function (index, classNames, // eslint-disable-line deprecation/deprecation\n top, fromSection) {\n if (fromSection || index > 0) {\n return (React.createElement(\"li\", { role: \"separator\", key: 'separator-' + index + (top === undefined ? '' : top ? '-top' : '-bottom'), className: classNames.divider, \"aria-hidden\": \"true\" }));\n }\n return null;\n };\n var renderNormalItem = function (item, classNames, // eslint-disable-line deprecation/deprecation\n index, focusableElementIndex, totalItemCount, hasCheckmarks, hasIcons) {\n if (item.onRender) {\n return item.onRender(__assign({ 'aria-posinset': focusableElementIndex + 1, 'aria-setsize': totalItemCount }, item), dismiss);\n }\n var contextualMenuItemAs = props.contextualMenuItemAs;\n var commonProps = {\n item: item,\n classNames: classNames,\n index: index,\n focusableElementIndex: focusableElementIndex,\n totalItemCount: totalItemCount,\n hasCheckmarks: hasCheckmarks,\n hasIcons: hasIcons,\n contextualMenuItemAs: contextualMenuItemAs,\n onItemMouseEnter: onItemMouseEnterBase,\n onItemMouseLeave: onMouseItemLeave,\n onItemMouseMove: onItemMouseMoveBase,\n onItemMouseDown: onItemMouseDown,\n executeItemClick: executeItemClick,\n onItemKeyDown: onItemKeyDown,\n expandedMenuItemKey: expandedMenuItemKey,\n openSubMenu: openSubMenu,\n dismissSubMenu: onSubMenuDismiss,\n dismissMenu: dismiss,\n };\n if (item.href) {\n return React.createElement(ContextualMenuAnchor, __assign({}, commonProps, { onItemClick: onAnchorClick }));\n }\n if (item.split && hasSubmenu(item)) {\n return (React.createElement(ContextualMenuSplitButton, __assign({}, commonProps, { onItemClick: onItemClick, onItemClickBase: onItemClickBase, onTap: cancelSubMenuTimer })));\n }\n return React.createElement(ContextualMenuButton, __assign({}, commonProps, { onItemClick: onItemClick, onItemClickBase: onItemClickBase }));\n };\n var renderHeaderMenuItem = function (item, \n // eslint-disable-next-line deprecation/deprecation\n itemClassNames, \n // eslint-disable-next-line deprecation/deprecation\n menuClassNames, index, hasCheckmarks, hasIcons) {\n var _a = props.contextualMenuItemAs, ChildrenRenderer = _a === void 0 ? ContextualMenuItem : _a;\n var itemProps = item.itemProps, id = item.id;\n var divHtmlProperties = itemProps && getNativeProps(itemProps, divProperties);\n return (\n // eslint-disable-next-line deprecation/deprecation\n React.createElement(\"div\", __assign({ id: id, className: menuClassNames.header }, divHtmlProperties, { style: item.style }),\n React.createElement(ChildrenRenderer, __assign({ item: item, classNames: itemClassNames, index: index, onCheckmarkClick: hasCheckmarks ? onItemClick : undefined, hasIcons: hasIcons }, itemProps))));\n };\n //#endregion\n //#region Main render\n var isBeakVisible = props.isBeakVisible;\n var items = props.items, labelElementId = props.labelElementId, id = props.id, className = props.className, beakWidth = props.beakWidth, directionalHint = props.directionalHint, directionalHintForRTL = props.directionalHintForRTL, alignTargetEdge = props.alignTargetEdge, gapSpace = props.gapSpace, coverTarget = props.coverTarget, ariaLabel = props.ariaLabel, doNotLayer = props.doNotLayer, target = props.target, bounds = props.bounds, useTargetWidth = props.useTargetWidth, useTargetAsMinWidth = props.useTargetAsMinWidth, directionalHintFixed = props.directionalHintFixed, shouldFocusOnMount = props.shouldFocusOnMount, shouldFocusOnContainer = props.shouldFocusOnContainer, title = props.title, styles = props.styles, theme = props.theme, calloutProps = props.calloutProps, _k = props.onRenderSubMenu, onRenderSubMenu = _k === void 0 ? onDefaultRenderSubMenu : _k, _l = props.onRenderMenuList, onRenderMenuList = _l === void 0 ? function (menuListProps, defaultRender) { return onDefaultRenderMenuList(menuListProps, classNames, defaultRender); } : _l, focusZoneProps = props.focusZoneProps, \n // eslint-disable-next-line deprecation/deprecation\n getMenuClassNames = props.getMenuClassNames;\n var classNames = getMenuClassNames\n ? getMenuClassNames(theme, className)\n : getClassNames(styles, {\n theme: theme,\n className: className,\n });\n var hasIcons = itemsHaveIcons(items);\n function itemsHaveIcons(contextualMenuItems) {\n for (var _i = 0, contextualMenuItems_1 = contextualMenuItems; _i < contextualMenuItems_1.length; _i++) {\n var item = contextualMenuItems_1[_i];\n if (item.iconProps) {\n return true;\n }\n if (item.itemType === ContextualMenuItemType.Section &&\n item.sectionProps &&\n itemsHaveIcons(item.sectionProps.items)) {\n return true;\n }\n }\n return false;\n }\n var adjustedFocusZoneProps = __assign(__assign({ direction: FocusZoneDirection.vertical, handleTabKey: FocusZoneTabbableElements.all, isCircularNavigation: true }, focusZoneProps), { className: css(classNames.root, (_a = props.focusZoneProps) === null || _a === void 0 ? void 0 : _a.className) });\n var hasCheckmarks = canAnyMenuItemsCheck(items);\n var submenuProps = expandedMenuItemKey && props.hidden !== true ? getSubmenuProps() : null;\n isBeakVisible = isBeakVisible === undefined ? responsiveMode <= ResponsiveMode.medium : isBeakVisible;\n /**\n * When useTargetWidth is true, get the width of the target element and apply it for the context menu container\n */\n var contextMenuStyle;\n var targetAsHtmlElement = targetRef.current;\n if ((useTargetWidth || useTargetAsMinWidth) && targetAsHtmlElement && targetAsHtmlElement.offsetWidth) {\n var targetBoundingRect = targetAsHtmlElement.getBoundingClientRect();\n var targetWidth = targetBoundingRect.width - 2; /* Accounts for 1px border */\n if (useTargetWidth) {\n contextMenuStyle = {\n width: targetWidth,\n };\n }\n else if (useTargetAsMinWidth) {\n contextMenuStyle = {\n minWidth: targetWidth,\n };\n }\n }\n // The menu should only return if items were provided, if no items were provided then it should not appear.\n if (items && items.length > 0) {\n var totalItemCount_1 = 0;\n for (var _i = 0, items_2 = items; _i < items_2.length; _i++) {\n var item = items_2[_i];\n if (item.itemType !== ContextualMenuItemType.Divider && item.itemType !== ContextualMenuItemType.Header) {\n var itemCount = item.customOnRenderListLength ? item.customOnRenderListLength : 1;\n totalItemCount_1 += itemCount;\n }\n }\n var calloutStyles_1 = classNames.subComponentStyles\n ? classNames.subComponentStyles.callout\n : undefined;\n return (React.createElement(MenuContext.Consumer, null, function (menuContext) { return (React.createElement(Callout, __assign({ styles: calloutStyles_1, onRestoreFocus: tryFocusPreviousActiveElement }, calloutProps, { target: target || menuContext.target, isBeakVisible: isBeakVisible, beakWidth: beakWidth, directionalHint: directionalHint, directionalHintForRTL: directionalHintForRTL, gapSpace: gapSpace, coverTarget: coverTarget, doNotLayer: doNotLayer, className: css('ms-ContextualMenu-Callout', calloutProps && calloutProps.className), setInitialFocus: shouldFocusOnMount, onDismiss: props.onDismiss || menuContext.onDismiss, onScroll: onScroll, bounds: bounds, directionalHintFixed: directionalHintFixed, alignTargetEdge: alignTargetEdge, hidden: props.hidden || menuContext.hidden, ref: forwardedRef }),\n React.createElement(\"div\", { style: contextMenuStyle, ref: hostElement, id: id, className: classNames.container, tabIndex: shouldFocusOnContainer ? 0 : -1, onKeyDown: onMenuKeyDown, onKeyUp: onKeyUp, onFocusCapture: onMenuFocusCapture, \"aria-label\": ariaLabel, \"aria-labelledby\": labelElementId, role: 'menu' },\n title && React.createElement(\"div\", { className: classNames.title },\n \" \",\n title,\n \" \"),\n items && items.length\n ? renderFocusZone(onRenderMenuList({\n ariaLabel: ariaLabel,\n items: items,\n totalItemCount: totalItemCount_1,\n hasCheckmarks: hasCheckmarks,\n hasIcons: hasIcons,\n defaultMenuItemRenderer: function (item) {\n return defaultMenuItemRenderer(item, classNames);\n },\n labelElementId: labelElementId,\n }, function (menuListProps, defaultRender) { return onDefaultRenderMenuList(menuListProps, classNames, defaultRender); }), adjustedFocusZoneProps)\n : null,\n submenuProps && onRenderSubMenu(submenuProps, onDefaultRenderSubMenu)))); }));\n }\n else {\n return null;\n }\n //#endregion\n}), function (prevProps, newProps) {\n if (!newProps.shouldUpdateWhenHidden && prevProps.hidden && newProps.hidden) {\n // Do not update when hidden.\n return true;\n }\n return shallowCompare(prevProps, newProps);\n});\nContextualMenuBase.displayName = 'ContextualMenuBase';\n/**\n * Returns true if the key for the event is alt (Mac option) or meta (Mac command).\n */\nfunction isAltOrMeta(ev) {\n // eslint-disable-next-line deprecation/deprecation\n return ev.which === KeyCodes.alt || ev.key === 'Meta';\n}\nfunction onItemMouseDown(item, ev) {\n var _a;\n (_a = item.onMouseDown) === null || _a === void 0 ? void 0 : _a.call(item, item, ev);\n}\nfunction onDefaultRenderSubMenu(subMenuProps, defaultRender) {\n throw Error('ContextualMenuBase: onRenderSubMenu callback is null or undefined. ' +\n 'Please ensure to set `onRenderSubMenu` property either manually or with `styled` helper.');\n}\n/**\n * Returns the item that matches a given key if any.\n * @param key - The key of the item to match\n * @param items - The items to look for the key\n */\nfunction findItemByKeyFromItems(key, items) {\n for (var _i = 0, items_3 = items; _i < items_3.length; _i++) {\n var item = items_3[_i];\n if (item.itemType === ContextualMenuItemType.Section && item.sectionProps) {\n var match = findItemByKeyFromItems(key, item.sectionProps.items);\n if (match) {\n return match;\n }\n }\n else if (item.key && item.key === key) {\n return item;\n }\n }\n}\nfunction getOnClickWithOverrideTarget(onClick, target) {\n return onClick\n ? function (ev, item) {\n overrideTarget(ev, target);\n return onClick(ev, item);\n }\n : onClick;\n}\nfunction overrideTarget(ev, target) {\n if (ev && target) {\n ev.persist();\n if (target instanceof Event) {\n ev.target = target.target;\n }\n else if (target instanceof Element) {\n ev.target = target;\n }\n }\n}\n//# sourceMappingURL=ContextualMenu.base.js.map","import { memoizeFunction } from '../../Utilities';\nimport { mergeStyleSets } from '../../Styling';\n/**\n * @deprecated use getStyles exported from VerticalDivider.styles.ts\n */\nexport var getDividerClassNames = memoizeFunction(\n// eslint-disable-next-line deprecation/deprecation\nfunction (theme) {\n return mergeStyleSets({\n wrapper: {\n display: 'inline-flex',\n height: '100%',\n alignItems: 'center',\n },\n divider: {\n width: 1,\n height: '100%',\n backgroundColor: theme.palette.neutralTertiaryAlt,\n },\n });\n});\n//# sourceMappingURL=VerticalDivider.classNames.js.map","import { getDividerClassNames } from '../Divider/VerticalDivider.classNames';\nimport { getMenuItemStyles } from './ContextualMenu.cnstyles';\nimport { mergeStyleSets, getGlobalClassNames, getScreenSelector, ScreenWidthMaxMedium, hiddenContentStyle, } from '../../Styling';\nimport { memoizeFunction, IsFocusVisibleClassName } from '../../Utilities';\nvar CONTEXTUAL_SPLIT_MENU_MINWIDTH = '28px';\nvar MediumScreenSelector = getScreenSelector(0, ScreenWidthMaxMedium);\nexport var getSplitButtonVerticalDividerClassNames = memoizeFunction(\n/* eslint-disable deprecation/deprecation */\nfunction (theme) {\n var _a;\n return mergeStyleSets(getDividerClassNames(theme), {\n /* eslint-enable deprecation/deprecation */\n wrapper: {\n position: 'absolute',\n right: 28,\n selectors: (_a = {},\n _a[MediumScreenSelector] = {\n right: 32, // fontSize of the icon increased from 12px to 16px\n },\n _a),\n },\n divider: {\n height: 16,\n width: 1,\n },\n });\n});\nvar GlobalClassNames = {\n item: 'ms-ContextualMenu-item',\n divider: 'ms-ContextualMenu-divider',\n root: 'ms-ContextualMenu-link',\n isChecked: 'is-checked',\n isExpanded: 'is-expanded',\n isDisabled: 'is-disabled',\n linkContent: 'ms-ContextualMenu-linkContent',\n linkContentMenu: 'ms-ContextualMenu-linkContent',\n icon: 'ms-ContextualMenu-icon',\n iconColor: 'ms-ContextualMenu-iconColor',\n checkmarkIcon: 'ms-ContextualMenu-checkmarkIcon',\n subMenuIcon: 'ms-ContextualMenu-submenuIcon',\n label: 'ms-ContextualMenu-itemText',\n secondaryText: 'ms-ContextualMenu-secondaryText',\n splitMenu: 'ms-ContextualMenu-splitMenu',\n screenReaderText: 'ms-ContextualMenu-screenReaderText',\n};\n/**\n * @deprecated Will be removed in \\>= 7.0.\n * This is a package-internal method that has been depended on.\n * It is being kept in this form for backwards compatibility.\n * @internal\n */\n// TODO: Audit perf. impact of and potentially remove memoizeFunction.\n// https://github.com/microsoft/fluentui/issues/5534\nexport var getItemClassNames = memoizeFunction(function (theme, disabled, expanded, checked, isAnchorLink, knownIcon, itemClassName, dividerClassName, iconClassName, subMenuClassName, primaryDisabled, className) {\n var _a, _b, _c, _d;\n var styles = getMenuItemStyles(theme);\n var classNames = getGlobalClassNames(GlobalClassNames, theme);\n return mergeStyleSets({\n item: [classNames.item, styles.item, itemClassName],\n divider: [classNames.divider, styles.divider, dividerClassName],\n root: [\n classNames.root,\n styles.root,\n checked && [classNames.isChecked, styles.rootChecked],\n isAnchorLink && styles.anchorLink,\n expanded && [classNames.isExpanded, styles.rootExpanded],\n disabled && [classNames.isDisabled, styles.rootDisabled],\n !disabled &&\n !expanded && [\n {\n selectors: (_a = {\n ':hover': styles.rootHovered,\n ':active': styles.rootPressed\n },\n _a[\".\" + IsFocusVisibleClassName + \" &:focus, .\" + IsFocusVisibleClassName + \" &:focus:hover\"] = styles.rootFocused,\n _a[\".\" + IsFocusVisibleClassName + \" &:hover\"] = { background: 'inherit;' },\n _a),\n },\n ],\n className,\n ],\n splitPrimary: [\n styles.root,\n {\n width: \"calc(100% - \" + CONTEXTUAL_SPLIT_MENU_MINWIDTH + \")\",\n },\n checked && ['is-checked', styles.rootChecked],\n (disabled || primaryDisabled) && ['is-disabled', styles.rootDisabled],\n !(disabled || primaryDisabled) &&\n !checked && [\n {\n selectors: (_b = {\n ':hover': styles.rootHovered\n },\n // when hovering over the splitPrimary also affect the splitMenu\n _b[\":hover ~ .\" + classNames.splitMenu] = styles.rootHovered,\n _b[':active'] = styles.rootPressed,\n _b[\".\" + IsFocusVisibleClassName + \" &:focus, .\" + IsFocusVisibleClassName + \" &:focus:hover\"] = styles.rootFocused,\n _b[\".\" + IsFocusVisibleClassName + \" &:hover\"] = { background: 'inherit;' },\n _b),\n },\n ],\n ],\n splitMenu: [\n classNames.splitMenu,\n styles.root,\n {\n flexBasis: '0',\n padding: '0 8px',\n minWidth: CONTEXTUAL_SPLIT_MENU_MINWIDTH,\n },\n expanded && ['is-expanded', styles.rootExpanded],\n disabled && ['is-disabled', styles.rootDisabled],\n !disabled &&\n !expanded && [\n {\n selectors: (_c = {\n ':hover': styles.rootHovered,\n ':active': styles.rootPressed\n },\n _c[\".\" + IsFocusVisibleClassName + \" &:focus, .\" + IsFocusVisibleClassName + \" &:focus:hover\"] = styles.rootFocused,\n _c[\".\" + IsFocusVisibleClassName + \" &:hover\"] = { background: 'inherit;' },\n _c),\n },\n ],\n ],\n anchorLink: styles.anchorLink,\n linkContent: [classNames.linkContent, styles.linkContent],\n linkContentMenu: [\n classNames.linkContentMenu,\n styles.linkContent,\n {\n justifyContent: 'center',\n },\n ],\n icon: [\n classNames.icon,\n knownIcon && styles.iconColor,\n styles.icon,\n iconClassName,\n disabled && [classNames.isDisabled, styles.iconDisabled],\n ],\n iconColor: styles.iconColor,\n checkmarkIcon: [classNames.checkmarkIcon, knownIcon && styles.checkmarkIcon, styles.icon, iconClassName],\n subMenuIcon: [\n classNames.subMenuIcon,\n styles.subMenuIcon,\n subMenuClassName,\n expanded && { color: theme.palette.neutralPrimary },\n disabled && [styles.iconDisabled],\n ],\n label: [classNames.label, styles.label],\n secondaryText: [classNames.secondaryText, styles.secondaryText],\n splitContainer: [\n styles.splitButtonFlexContainer,\n !disabled &&\n !checked && [\n {\n selectors: (_d = {},\n _d[\".\" + IsFocusVisibleClassName + \" &:focus, .\" + IsFocusVisibleClassName + \" &:focus:hover\"] = styles.rootFocused,\n _d),\n },\n ],\n ],\n screenReaderText: [\n classNames.screenReaderText,\n styles.screenReaderText,\n hiddenContentStyle,\n { visibility: 'hidden' },\n ],\n });\n});\n/**\n * Wrapper function for generating ContextualMenuItem classNames which adheres to\n * the getStyles API, but invokes memoized className generator function with\n * primitive values.\n *\n * @param props the ContextualMenuItem style props used to generate its styles.\n */\nexport var getItemStyles = function (props) {\n var theme = props.theme, disabled = props.disabled, expanded = props.expanded, checked = props.checked, isAnchorLink = props.isAnchorLink, knownIcon = props.knownIcon, itemClassName = props.itemClassName, dividerClassName = props.dividerClassName, iconClassName = props.iconClassName, subMenuClassName = props.subMenuClassName, primaryDisabled = props.primaryDisabled, className = props.className;\n // eslint-disable-next-line deprecation/deprecation\n return getItemClassNames(theme, disabled, expanded, checked, isAnchorLink, knownIcon, itemClassName, dividerClassName, iconClassName, subMenuClassName, primaryDisabled, className);\n};\n//# sourceMappingURL=ContextualMenu.classNames.js.map","import { __assign } from \"tslib\";\nimport { concatStyleSets, getFocusStyle, HighContrastSelector, getScreenSelector, ScreenWidthMaxMedium, IconFontSizes, getHighContrastNoAdjustStyle, } from '../../Styling';\nimport { memoizeFunction } from '../../Utilities';\nexport var CONTEXTUAL_MENU_ITEM_HEIGHT = 36;\nvar MediumScreenSelector = getScreenSelector(0, ScreenWidthMaxMedium);\nvar getItemHighContrastStyles = memoizeFunction(function () {\n var _a;\n return {\n selectors: (_a = {},\n _a[HighContrastSelector] = __assign({ backgroundColor: 'Highlight', borderColor: 'Highlight', color: 'HighlightText' }, getHighContrastNoAdjustStyle()),\n _a),\n };\n});\nexport var getMenuItemStyles = memoizeFunction(function (theme) {\n var _a, _b, _c, _d, _e, _f, _g;\n var semanticColors = theme.semanticColors, fonts = theme.fonts, palette = theme.palette;\n var ContextualMenuItemBackgroundHoverColor = semanticColors.menuItemBackgroundHovered;\n var ContextualMenuItemTextHoverColor = semanticColors.menuItemTextHovered;\n var ContextualMenuItemBackgroundSelectedColor = semanticColors.menuItemBackgroundPressed;\n var ContextualMenuItemDividerColor = semanticColors.bodyDivider;\n var menuItemStyles = {\n item: [\n fonts.medium,\n {\n color: semanticColors.bodyText,\n position: 'relative',\n boxSizing: 'border-box',\n },\n ],\n divider: {\n display: 'block',\n height: '1px',\n backgroundColor: ContextualMenuItemDividerColor,\n position: 'relative',\n },\n root: [\n getFocusStyle(theme),\n fonts.medium,\n {\n color: semanticColors.bodyText,\n backgroundColor: 'transparent',\n border: 'none',\n width: '100%',\n height: CONTEXTUAL_MENU_ITEM_HEIGHT,\n lineHeight: CONTEXTUAL_MENU_ITEM_HEIGHT,\n display: 'block',\n cursor: 'pointer',\n padding: '0px 8px 0 4px',\n textAlign: 'left',\n },\n ],\n rootDisabled: {\n color: semanticColors.disabledBodyText,\n cursor: 'default',\n pointerEvents: 'none',\n selectors: (_a = {},\n _a[HighContrastSelector] = __assign({ color: 'GrayText', opacity: 1 }, getHighContrastNoAdjustStyle()),\n _a),\n },\n rootHovered: __assign({ backgroundColor: ContextualMenuItemBackgroundHoverColor, color: ContextualMenuItemTextHoverColor, selectors: {\n '.ms-ContextualMenu-icon': {\n color: palette.themeDarkAlt,\n },\n '.ms-ContextualMenu-submenuIcon': {\n color: palette.neutralPrimary,\n },\n } }, getItemHighContrastStyles()),\n rootFocused: __assign({ backgroundColor: palette.white }, getItemHighContrastStyles()),\n rootChecked: __assign({ selectors: {\n '.ms-ContextualMenu-checkmarkIcon': {\n color: palette.neutralPrimary,\n },\n } }, getItemHighContrastStyles()),\n rootPressed: __assign({ backgroundColor: ContextualMenuItemBackgroundSelectedColor, selectors: {\n '.ms-ContextualMenu-icon': {\n color: palette.themeDark,\n },\n '.ms-ContextualMenu-submenuIcon': {\n color: palette.neutralPrimary,\n },\n } }, getItemHighContrastStyles()),\n rootExpanded: __assign({ backgroundColor: ContextualMenuItemBackgroundSelectedColor, color: semanticColors.bodyTextChecked }, getItemHighContrastStyles()),\n linkContent: {\n whiteSpace: 'nowrap',\n height: 'inherit',\n display: 'flex',\n alignItems: 'center',\n maxWidth: '100%',\n },\n anchorLink: {\n padding: '0px 8px 0 4px',\n textRendering: 'auto',\n color: 'inherit',\n letterSpacing: 'normal',\n wordSpacing: 'normal',\n textTransform: 'none',\n textIndent: '0px',\n textShadow: 'none',\n textDecoration: 'none',\n boxSizing: 'border-box',\n },\n label: {\n margin: '0 4px',\n verticalAlign: 'middle',\n display: 'inline-block',\n flexGrow: '1',\n textOverflow: 'ellipsis',\n overflow: 'hidden',\n whiteSpace: 'nowrap',\n },\n secondaryText: {\n color: theme.palette.neutralSecondary,\n paddingLeft: '20px',\n textAlign: 'right',\n },\n icon: {\n display: 'inline-block',\n minHeight: '1px',\n maxHeight: CONTEXTUAL_MENU_ITEM_HEIGHT,\n fontSize: IconFontSizes.medium,\n width: IconFontSizes.medium,\n margin: '0 4px',\n verticalAlign: 'middle',\n flexShrink: '0',\n selectors: (_b = {},\n _b[MediumScreenSelector] = {\n fontSize: IconFontSizes.large,\n width: IconFontSizes.large,\n },\n _b),\n },\n iconColor: {\n color: semanticColors.menuIcon,\n selectors: (_c = {},\n _c[HighContrastSelector] = {\n color: 'inherit',\n },\n _c['$root:hover &'] = {\n selectors: (_d = {},\n _d[HighContrastSelector] = {\n color: 'HighlightText',\n },\n _d),\n },\n _c['$root:focus &'] = {\n selectors: (_e = {},\n _e[HighContrastSelector] = {\n color: 'HighlightText',\n },\n _e),\n },\n _c),\n },\n iconDisabled: {\n color: semanticColors.disabledBodyText,\n },\n checkmarkIcon: {\n color: semanticColors.bodySubtext,\n selectors: (_f = {},\n _f[HighContrastSelector] = {\n color: 'HighlightText',\n },\n _f),\n },\n subMenuIcon: {\n height: CONTEXTUAL_MENU_ITEM_HEIGHT,\n lineHeight: CONTEXTUAL_MENU_ITEM_HEIGHT,\n color: palette.neutralSecondary,\n textAlign: 'center',\n display: 'inline-block',\n verticalAlign: 'middle',\n flexShrink: '0',\n fontSize: IconFontSizes.small,\n selectors: (_g = {\n ':hover': {\n color: palette.neutralPrimary,\n },\n ':active': {\n color: palette.neutralPrimary,\n }\n },\n _g[MediumScreenSelector] = {\n fontSize: IconFontSizes.medium, // 16px\n },\n _g[HighContrastSelector] = {\n color: 'HighlightText',\n },\n _g),\n },\n splitButtonFlexContainer: [\n getFocusStyle(theme),\n {\n display: 'flex',\n height: CONTEXTUAL_MENU_ITEM_HEIGHT,\n flexWrap: 'nowrap',\n justifyContent: 'center',\n alignItems: 'flex-start',\n },\n ],\n };\n return concatStyleSets(menuItemStyles);\n});\n//# sourceMappingURL=ContextualMenu.cnstyles.js.map","import { getGlobalClassNames, FontWeights } from '../../Styling';\nimport { CONTEXTUAL_MENU_ITEM_HEIGHT } from './ContextualMenu.cnstyles';\nvar GlobalClassNames = {\n root: 'ms-ContextualMenu',\n container: 'ms-ContextualMenu-container',\n list: 'ms-ContextualMenu-list',\n header: 'ms-ContextualMenu-header',\n title: 'ms-ContextualMenu-title',\n isopen: 'is-open',\n};\nexport var getStyles = function (props) {\n var className = props.className, theme = props.theme;\n var classNames = getGlobalClassNames(GlobalClassNames, theme);\n var fonts = theme.fonts, semanticColors = theme.semanticColors, effects = theme.effects;\n return {\n root: [\n theme.fonts.medium,\n classNames.root,\n classNames.isopen,\n {\n backgroundColor: semanticColors.menuBackground,\n minWidth: '180px',\n },\n className,\n ],\n container: [\n classNames.container,\n {\n selectors: {\n ':focus': { outline: 0 },\n },\n },\n ],\n list: [\n classNames.list,\n classNames.isopen,\n {\n listStyleType: 'none',\n margin: '0',\n padding: '0',\n },\n ],\n header: [\n classNames.header,\n fonts.small,\n {\n fontWeight: FontWeights.semibold,\n color: semanticColors.menuHeader,\n background: 'none',\n backgroundColor: 'transparent',\n border: 'none',\n height: CONTEXTUAL_MENU_ITEM_HEIGHT,\n lineHeight: CONTEXTUAL_MENU_ITEM_HEIGHT,\n cursor: 'default',\n padding: '0px 6px',\n userSelect: 'none',\n textAlign: 'left',\n },\n ],\n title: [\n classNames.title,\n {\n fontSize: fonts.mediumPlus.fontSize,\n paddingRight: '14px',\n paddingLeft: '14px',\n paddingBottom: '5px',\n paddingTop: '5px',\n backgroundColor: semanticColors.menuItemBackgroundPressed,\n },\n ],\n subComponentStyles: {\n callout: {\n root: {\n boxShadow: effects.elevation8,\n },\n },\n menuItem: {},\n },\n };\n};\n//# sourceMappingURL=ContextualMenu.styles.js.map","import { __assign } from \"tslib\";\nimport * as React from 'react';\nimport { styled, composeRenderFunction } from '../../Utilities';\nimport { ContextualMenuBase } from './ContextualMenu.base';\nimport { getStyles } from './ContextualMenu.styles';\nfunction onRenderSubMenu(subMenuProps) {\n return React.createElement(LocalContextualMenu, __assign({}, subMenuProps));\n}\n// This is to prevent cyclic import with ContextualMenu.base.tsx.\nvar LocalContextualMenu = styled(ContextualMenuBase, getStyles, function (props) { return ({\n onRenderSubMenu: props.onRenderSubMenu\n ? composeRenderFunction(props.onRenderSubMenu, onRenderSubMenu)\n : onRenderSubMenu,\n}); }, { scope: 'ContextualMenu' });\n/**\n * ContextualMenu description\n */\nexport var ContextualMenu = LocalContextualMenu;\nContextualMenu.displayName = 'ContextualMenu';\n//# sourceMappingURL=ContextualMenu.js.map","export { DirectionalHint } from '../../common/DirectionalHint';\n/**\n * {@docCategory ContextualMenu}\n */\nexport var ContextualMenuItemType;\n(function (ContextualMenuItemType) {\n ContextualMenuItemType[ContextualMenuItemType[\"Normal\"] = 0] = \"Normal\";\n ContextualMenuItemType[ContextualMenuItemType[\"Divider\"] = 1] = \"Divider\";\n ContextualMenuItemType[ContextualMenuItemType[\"Header\"] = 2] = \"Header\";\n ContextualMenuItemType[ContextualMenuItemType[\"Section\"] = 3] = \"Section\";\n})(ContextualMenuItemType || (ContextualMenuItemType = {}));\n//# sourceMappingURL=ContextualMenu.types.js.map","import { __assign, __extends } from \"tslib\";\nimport * as React from 'react';\nimport { hasSubmenu, getIsChecked } from '../../utilities/contextualMenu/index';\nimport { getRTL, initializeComponentRef } from '../../Utilities';\nimport { Icon } from '../../Icon';\nvar defaultIconRenderer = function (props) {\n var item = props.item, classNames = props.classNames;\n var iconProps = item.iconProps;\n return React.createElement(Icon, __assign({}, iconProps, { className: classNames.icon }));\n};\nvar renderItemIcon = function (props) {\n var item = props.item, hasIcons = props.hasIcons;\n if (!hasIcons) {\n return null;\n }\n if (item.onRenderIcon) {\n return item.onRenderIcon(props, defaultIconRenderer);\n }\n return defaultIconRenderer(props);\n};\nvar renderCheckMarkIcon = function (_a) {\n var onCheckmarkClick = _a.onCheckmarkClick, item = _a.item, classNames = _a.classNames;\n var isItemChecked = getIsChecked(item);\n if (onCheckmarkClick) {\n // Ensures that the item is passed as the first argument to the checkmark click callback.\n var onClick = function (e) { return onCheckmarkClick(item, e); };\n return (React.createElement(Icon, { iconName: item.canCheck !== false && isItemChecked ? 'CheckMark' : '', className: classNames.checkmarkIcon, \n // eslint-disable-next-line react/jsx-no-bind\n onClick: onClick }));\n }\n return null;\n};\nvar renderItemName = function (_a) {\n var item = _a.item, classNames = _a.classNames;\n /* eslint-disable deprecation/deprecation */\n if (item.text || item.name) {\n return React.createElement(\"span\", { className: classNames.label }, item.text || item.name);\n }\n /* eslint-enable deprecation/deprecation */\n return null;\n};\nvar renderSecondaryText = function (_a) {\n var item = _a.item, classNames = _a.classNames;\n if (item.secondaryText) {\n return React.createElement(\"span\", { className: classNames.secondaryText }, item.secondaryText);\n }\n return null;\n};\nvar renderSubMenuIcon = function (_a) {\n var item = _a.item, classNames = _a.classNames, theme = _a.theme;\n if (hasSubmenu(item)) {\n return (React.createElement(Icon, __assign({ iconName: getRTL(theme) ? 'ChevronLeft' : 'ChevronRight' }, item.submenuIconProps, { className: classNames.subMenuIcon })));\n }\n return null;\n};\nvar ContextualMenuItemBase = /** @class */ (function (_super) {\n __extends(ContextualMenuItemBase, _super);\n function ContextualMenuItemBase(props) {\n var _this = _super.call(this, props) || this;\n _this.openSubMenu = function () {\n var _a = _this.props, item = _a.item, openSubMenu = _a.openSubMenu, getSubmenuTarget = _a.getSubmenuTarget;\n if (getSubmenuTarget) {\n var submenuTarget = getSubmenuTarget();\n if (hasSubmenu(item) && openSubMenu && submenuTarget) {\n openSubMenu(item, submenuTarget);\n }\n }\n };\n _this.dismissSubMenu = function () {\n var _a = _this.props, item = _a.item, dismissSubMenu = _a.dismissSubMenu;\n if (hasSubmenu(item) && dismissSubMenu) {\n dismissSubMenu();\n }\n };\n _this.dismissMenu = function (dismissAll) {\n var dismissMenu = _this.props.dismissMenu;\n if (dismissMenu) {\n dismissMenu(undefined /* ev */, dismissAll);\n }\n };\n initializeComponentRef(_this);\n return _this;\n }\n ContextualMenuItemBase.prototype.render = function () {\n var _a = this.props, item = _a.item, classNames = _a.classNames;\n var renderContent = item.onRenderContent || this._renderLayout;\n return (React.createElement(\"div\", { className: item.split ? classNames.linkContentMenu : classNames.linkContent }, renderContent(this.props, {\n renderCheckMarkIcon: renderCheckMarkIcon,\n renderItemIcon: renderItemIcon,\n renderItemName: renderItemName,\n renderSecondaryText: renderSecondaryText,\n renderSubMenuIcon: renderSubMenuIcon,\n })));\n };\n ContextualMenuItemBase.prototype._renderLayout = function (props, defaultRenders) {\n return (React.createElement(React.Fragment, null,\n defaultRenders.renderCheckMarkIcon(props),\n defaultRenders.renderItemIcon(props),\n defaultRenders.renderItemName(props),\n defaultRenders.renderSecondaryText(props),\n defaultRenders.renderSubMenuIcon(props)));\n };\n return ContextualMenuItemBase;\n}(React.Component));\nexport { ContextualMenuItemBase };\n//# sourceMappingURL=ContextualMenuItem.base.js.map","import { styled } from '../../Utilities';\nimport { ContextualMenuItemBase } from './ContextualMenuItem.base';\nimport { getItemStyles } from './ContextualMenu.classNames';\n/**\n * ContextualMenuItem description\n */\nexport var ContextualMenuItem = styled(ContextualMenuItemBase, getItemStyles, undefined, { scope: 'ContextualMenuItem' });\n//# sourceMappingURL=ContextualMenuItem.js.map","import { __assign } from \"tslib\";\nimport * as React from 'react';\nimport { KeyCodes, classNamesFunction, getNativeProps, divProperties, css, format, getPropsWithDefaults, } from '@fluentui/utilities';\nimport { Calendar } from '../../Calendar';\nimport { FirstWeekOfYear, getDatePartHashValue, compareDatePart, DayOfWeek } from '@fluentui/date-time-utilities';\nimport { Callout, DirectionalHint } from '../../Callout';\nimport { TextField } from '../../TextField';\nimport { FocusTrapZone } from '../../FocusTrapZone';\nimport { useId, useAsync, useControllableValue } from '@fluentui/react-hooks';\nimport { defaultDatePickerStrings } from './defaults';\nvar getClassNames = classNamesFunction();\nvar DEFAULT_PROPS = {\n allowTextInput: false,\n formatDate: function (date) { return (date ? date.toDateString() : ''); },\n parseDateFromString: function (dateStr) {\n var date = Date.parse(dateStr);\n return date ? new Date(date) : null;\n },\n firstDayOfWeek: DayOfWeek.Sunday,\n initialPickerDate: new Date(),\n isRequired: false,\n isMonthPickerVisible: true,\n showMonthPickerAsOverlay: false,\n strings: defaultDatePickerStrings,\n highlightCurrentMonth: false,\n highlightSelectedMonth: false,\n borderless: false,\n pickerAriaLabel: 'Calendar',\n showWeekNumbers: false,\n firstWeekOfYear: FirstWeekOfYear.FirstDay,\n showGoToToday: true,\n showCloseButton: false,\n underlined: false,\n allFocusable: false,\n};\nfunction useFocusLogic() {\n var textFieldRef = React.useRef(null);\n var preventFocusOpeningPicker = React.useRef(false);\n var focus = function () {\n var _a, _b;\n (_b = (_a = textFieldRef.current) === null || _a === void 0 ? void 0 : _a.focus) === null || _b === void 0 ? void 0 : _b.call(_a);\n };\n var preventNextFocusOpeningPicker = function () {\n preventFocusOpeningPicker.current = true;\n };\n return [textFieldRef, focus, preventFocusOpeningPicker, preventNextFocusOpeningPicker];\n}\nfunction useCalendarVisibility(_a, focus) {\n var allowTextInput = _a.allowTextInput, onAfterMenuDismiss = _a.onAfterMenuDismiss;\n var _b = React.useState(false), isCalendarShown = _b[0], setIsCalendarShown = _b[1];\n var isMounted = React.useRef(false);\n var async = useAsync();\n React.useEffect(function () {\n if (isMounted.current && !isCalendarShown) {\n // In browsers like IE, textfield gets unfocused when datepicker is collapsed\n if (allowTextInput) {\n async.requestAnimationFrame(focus);\n }\n // If DatePicker's menu (Calendar) is closed, run onAfterMenuDismiss\n onAfterMenuDismiss === null || onAfterMenuDismiss === void 0 ? void 0 : onAfterMenuDismiss();\n }\n isMounted.current = true;\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [isCalendarShown]);\n return [isCalendarShown, setIsCalendarShown];\n}\nfunction useSelectedDate(_a) {\n var formatDate = _a.formatDate, value = _a.value, onSelectDate = _a.onSelectDate;\n var _b = useControllableValue(value, undefined, function (ev, newValue) {\n return onSelectDate === null || onSelectDate === void 0 ? void 0 : onSelectDate(newValue);\n }), selectedDate = _b[0], setSelectedDateState = _b[1];\n var _c = React.useState(function () { return (value && formatDate ? formatDate(value) : ''); }), formattedDate = _c[0], setFormattedDate = _c[1];\n var setSelectedDate = function (newDate) {\n setSelectedDateState(newDate);\n setFormattedDate(newDate && formatDate ? formatDate(newDate) : '');\n };\n React.useEffect(function () {\n setFormattedDate(value && formatDate ? formatDate(value) : '');\n }, [formatDate, value]);\n return [selectedDate, formattedDate, setSelectedDate, setFormattedDate];\n}\nfunction useErrorMessage(_a, selectedDate, setSelectedDate, inputValue, isCalendarShown) {\n var isRequired = _a.isRequired, allowTextInput = _a.allowTextInput, strings = _a.strings, parseDateFromString = _a.parseDateFromString, onSelectDate = _a.onSelectDate, formatDate = _a.formatDate, minDate = _a.minDate, maxDate = _a.maxDate;\n var _b = React.useState(), errorMessage = _b[0], setErrorMessage = _b[1];\n var _c = React.useState(), statusMessage = _c[0], setStatusMessage = _c[1];\n var validateTextInput = function (date) {\n if (date === void 0) { date = null; }\n if (allowTextInput) {\n if (inputValue || date) {\n // Don't parse if the selected date has the same formatted string as what we're about to parse.\n // The formatted string might be ambiguous (ex: \"1/2/3\" or \"New Year Eve\") and the parser might\n // not be able to come up with the exact same date.\n if (selectedDate && !errorMessage && formatDate && formatDate(date !== null && date !== void 0 ? date : selectedDate) === inputValue) {\n return;\n }\n date = date || parseDateFromString(inputValue);\n // Check if date is null, or date is Invalid Date\n if (!date || isNaN(date.getTime())) {\n // Reset invalid input field, if formatting is available\n setSelectedDate(selectedDate);\n // default the newer isResetStatusMessage string to invalidInputErrorMessage for legacy support\n var selectedText = formatDate ? formatDate(selectedDate) : '';\n var statusText = strings.isResetStatusMessage\n ? format(strings.isResetStatusMessage, inputValue, selectedText)\n : strings.invalidInputErrorMessage || '';\n setStatusMessage(statusText);\n }\n else {\n // Check against optional date boundaries\n if (isDateOutOfBounds(date, minDate, maxDate)) {\n setErrorMessage(strings.isOutOfBoundsErrorMessage || ' ');\n }\n else {\n setSelectedDate(date);\n setErrorMessage(undefined);\n setStatusMessage(undefined);\n }\n }\n }\n else {\n // Only show error for empty inputValue if it is a required field\n setErrorMessage(isRequired ? strings.isRequiredErrorMessage || ' ' : undefined);\n // If no input date string or input date string is invalid\n // date variable will be null, callback should expect null value for this case\n onSelectDate === null || onSelectDate === void 0 ? void 0 : onSelectDate(date);\n }\n }\n else if (isRequired && !inputValue) {\n // Check when DatePicker is a required field but has NO input value\n setErrorMessage(strings.isRequiredErrorMessage || ' ');\n }\n else {\n // Cleanup the error message and status message\n setErrorMessage(undefined);\n setStatusMessage(undefined);\n }\n };\n React.useEffect(function () {\n if (isRequired && !selectedDate) {\n setErrorMessage(strings.isRequiredErrorMessage || ' ');\n }\n else if (selectedDate && isDateOutOfBounds(selectedDate, minDate, maxDate)) {\n setErrorMessage(strings.isOutOfBoundsErrorMessage || ' ');\n }\n else {\n setErrorMessage(undefined);\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [\n // We don't want to compare the date itself, since two instances of date at the same time are not equal\n // eslint-disable-next-line react-hooks/exhaustive-deps\n minDate && getDatePartHashValue(minDate),\n // eslint-disable-next-line react-hooks/exhaustive-deps\n maxDate && getDatePartHashValue(maxDate),\n // eslint-disable-next-line react-hooks/exhaustive-deps\n selectedDate && getDatePartHashValue(selectedDate),\n isRequired,\n ]);\n return [\n isCalendarShown ? undefined : errorMessage,\n validateTextInput,\n setErrorMessage,\n isCalendarShown ? undefined : statusMessage,\n setStatusMessage,\n ];\n}\nexport var DatePickerBase = React.forwardRef(function (propsWithoutDefaults, forwardedRef) {\n var props = getPropsWithDefaults(DEFAULT_PROPS, propsWithoutDefaults);\n var firstDayOfWeek = props.firstDayOfWeek, strings = props.strings, label = props.label, theme = props.theme, className = props.className, styles = props.styles, initialPickerDate = props.initialPickerDate, isRequired = props.isRequired, disabled = props.disabled, ariaLabel = props.ariaLabel, pickerAriaLabel = props.pickerAriaLabel, placeholder = props.placeholder, allowTextInput = props.allowTextInput, borderless = props.borderless, minDate = props.minDate, maxDate = props.maxDate, showCloseButton = props.showCloseButton, calendarProps = props.calendarProps, calloutProps = props.calloutProps, textFieldProps = props.textField, underlined = props.underlined, allFocusable = props.allFocusable, _a = props.calendarAs, CalendarType = _a === void 0 ? Calendar : _a, tabIndex = props.tabIndex, _b = props.disableAutoFocus, disableAutoFocus = _b === void 0 ? true : _b;\n var id = useId('DatePicker', props.id);\n var calloutId = useId('DatePicker-Callout');\n var calendar = React.useRef(null);\n var datePickerDiv = React.useRef(null);\n var _c = useFocusLogic(), textFieldRef = _c[0], focus = _c[1], preventFocusOpeningPicker = _c[2], preventNextFocusOpeningPicker = _c[3];\n var _d = useCalendarVisibility(props, focus), isCalendarShown = _d[0], setIsCalendarShown = _d[1];\n var _e = useSelectedDate(props), selectedDate = _e[0], formattedDate = _e[1], setSelectedDate = _e[2], setFormattedDate = _e[3];\n var _f = useErrorMessage(props, selectedDate, setSelectedDate, formattedDate, isCalendarShown), errorMessage = _f[0], validateTextInput = _f[1], setErrorMessage = _f[2], statusMessage = _f[3], setStatusMessage = _f[4];\n var showDatePickerPopup = React.useCallback(function () {\n if (!isCalendarShown) {\n preventNextFocusOpeningPicker();\n setIsCalendarShown(true);\n }\n }, [isCalendarShown, preventNextFocusOpeningPicker, setIsCalendarShown]);\n React.useImperativeHandle(props.componentRef, function () { return ({\n focus: focus,\n reset: function () {\n setIsCalendarShown(false);\n setSelectedDate(undefined);\n setErrorMessage(undefined);\n setStatusMessage(undefined);\n },\n showDatePickerPopup: showDatePickerPopup,\n }); }, [focus, setErrorMessage, setIsCalendarShown, setSelectedDate, setStatusMessage, showDatePickerPopup]);\n var onTextFieldFocus = function () {\n if (disableAutoFocus) {\n return;\n }\n if (!allowTextInput) {\n if (!preventFocusOpeningPicker.current) {\n showDatePickerPopup();\n }\n preventFocusOpeningPicker.current = false;\n }\n };\n var onSelectDate = function (date) {\n if (props.calendarProps && props.calendarProps.onSelectDate) {\n props.calendarProps.onSelectDate(date);\n }\n calendarDismissed(date);\n };\n var onCalloutPositioned = function () {\n var shouldFocus = true;\n // If the user has specified that the callout shouldn't use initial focus, then respect\n // that and don't attempt to set focus. That will default to true within the callout\n // so we need to check if it's undefined here.\n if (props.calloutProps && props.calloutProps.setInitialFocus !== undefined) {\n shouldFocus = props.calloutProps.setInitialFocus;\n }\n if (calendar.current && shouldFocus) {\n calendar.current.focus();\n }\n };\n var onTextFieldBlur = function (ev) {\n validateTextInput();\n };\n var onTextFieldChanged = function (ev, newValue) {\n var _a;\n var textField = props.textField;\n if (allowTextInput) {\n if (isCalendarShown) {\n dismissDatePickerPopup();\n }\n setFormattedDate(newValue);\n }\n (_a = textField === null || textField === void 0 ? void 0 : textField.onChange) === null || _a === void 0 ? void 0 : _a.call(textField, ev, newValue);\n };\n var onTextFieldKeyDown = function (ev) {\n // eslint-disable-next-line deprecation/deprecation\n switch (ev.which) {\n case KeyCodes.enter:\n ev.preventDefault();\n ev.stopPropagation();\n if (!isCalendarShown) {\n validateTextInput();\n showDatePickerPopup();\n }\n else {\n // When DatePicker allows input date string directly,\n // it is expected to hit another enter to close the popup\n if (props.allowTextInput) {\n dismissDatePickerPopup();\n }\n }\n break;\n case KeyCodes.escape:\n handleEscKey(ev);\n break;\n case KeyCodes.down:\n if (ev.altKey && !isCalendarShown) {\n showDatePickerPopup();\n }\n break;\n default:\n break;\n }\n };\n var onTextFieldClick = function (ev) {\n // default openOnClick to !props.disableAutoFocus for legacy support of disableAutoFocus behavior\n var openOnClick = props.openOnClick || !props.disableAutoFocus;\n if (openOnClick && !isCalendarShown && !props.disabled) {\n showDatePickerPopup();\n return;\n }\n if (props.allowTextInput) {\n dismissDatePickerPopup();\n }\n };\n var onIconClick = function (ev) {\n ev.stopPropagation();\n if (!isCalendarShown && !props.disabled) {\n showDatePickerPopup();\n }\n else if (props.allowTextInput) {\n dismissDatePickerPopup();\n }\n };\n var dismissDatePickerPopup = function (newlySelectedDate) {\n if (isCalendarShown) {\n setIsCalendarShown(false);\n validateTextInput(newlySelectedDate);\n if (!allowTextInput && newlySelectedDate) {\n setSelectedDate(newlySelectedDate);\n }\n }\n };\n var renderTextfieldDescription = function (inputProps, defaultRender) {\n return (React.createElement(React.Fragment, null,\n inputProps.description ? defaultRender(inputProps) : null,\n React.createElement(\"div\", { \"aria-live\": \"assertive\", className: classNames.statusMessage }, statusMessage)));\n };\n var renderReadOnlyInput = function (inputProps) {\n var divProps = getNativeProps(inputProps, divProperties);\n // Talkback on Android treats readonly inputs as disabled, so swipe gestures to open the Calendar\n // don't register. Workaround is rendering a div with role=\"combobox\" (passed in via TextField props).\n return (React.createElement(\"div\", __assign({}, divProps, { className: css(divProps.className, classNames.readOnlyTextField), tabIndex: tabIndex || 0 }), formattedDate || (\n // Putting the placeholder in a separate span fixes specificity issues for the text color\n React.createElement(\"span\", { className: classNames.readOnlyPlaceholder }, placeholder))));\n };\n /**\n * Callback for closing the calendar callout\n */\n var calendarDismissed = function (newlySelectedDate) {\n preventNextFocusOpeningPicker();\n dismissDatePickerPopup(newlySelectedDate);\n // don't need to focus the text box, if necessary the focusTrapZone will do it\n };\n var calloutDismissed = function (ev) {\n calendarDismissed();\n };\n var handleEscKey = function (ev) {\n ev.stopPropagation();\n calendarDismissed();\n };\n var classNames = getClassNames(styles, {\n theme: theme,\n className: className,\n disabled: disabled,\n underlined: underlined,\n label: !!label,\n isDatePickerShown: isCalendarShown,\n });\n var nativeProps = getNativeProps(props, divProperties, ['value']);\n var iconProps = textFieldProps && textFieldProps.iconProps;\n var textFieldId = textFieldProps && textFieldProps.id && textFieldProps.id !== id ? textFieldProps.id : id + '-label';\n var readOnly = !allowTextInput && !disabled;\n return (React.createElement(\"div\", __assign({}, nativeProps, { className: classNames.root, ref: forwardedRef }),\n React.createElement(\"div\", { ref: datePickerDiv, \"aria-owns\": isCalendarShown ? calloutId : undefined, className: classNames.wrapper },\n React.createElement(TextField, __assign({ role: \"combobox\", label: label, \"aria-expanded\": isCalendarShown, ariaLabel: ariaLabel, \"aria-haspopup\": \"dialog\", \"aria-controls\": isCalendarShown ? calloutId : undefined, required: isRequired, disabled: disabled, errorMessage: errorMessage, placeholder: placeholder, borderless: borderless, value: formattedDate, componentRef: textFieldRef, underlined: underlined, tabIndex: tabIndex, readOnly: !allowTextInput }, textFieldProps, { id: textFieldId, className: css(classNames.textField, textFieldProps && textFieldProps.className), iconProps: __assign(__assign({ iconName: 'Calendar' }, iconProps), { className: css(classNames.icon, iconProps && iconProps.className), onClick: onIconClick }), \n // eslint-disable-next-line react/jsx-no-bind\n onRenderDescription: renderTextfieldDescription, \n // eslint-disable-next-line react/jsx-no-bind\n onKeyDown: onTextFieldKeyDown, \n // eslint-disable-next-line react/jsx-no-bind\n onFocus: onTextFieldFocus, \n // eslint-disable-next-line react/jsx-no-bind\n onBlur: onTextFieldBlur, \n // eslint-disable-next-line react/jsx-no-bind\n onClick: onTextFieldClick, \n // eslint-disable-next-line react/jsx-no-bind\n onChange: onTextFieldChanged, onRenderInput: readOnly ? renderReadOnlyInput : undefined }))),\n isCalendarShown && (React.createElement(Callout, __assign({ id: calloutId, role: \"dialog\", ariaLabel: pickerAriaLabel, isBeakVisible: false, gapSpace: 0, doNotLayer: false, target: datePickerDiv.current, directionalHint: DirectionalHint.bottomLeftEdge }, calloutProps, { className: css(classNames.callout, calloutProps && calloutProps.className), \n // eslint-disable-next-line react/jsx-no-bind\n onDismiss: calloutDismissed, \n // eslint-disable-next-line react/jsx-no-bind\n onPositioned: onCalloutPositioned }),\n React.createElement(FocusTrapZone, { isClickableOutsideFocusTrap: true, disableFirstFocus: disableAutoFocus },\n React.createElement(CalendarType, __assign({}, calendarProps, { \n // eslint-disable-next-line react/jsx-no-bind\n onSelectDate: onSelectDate, \n // eslint-disable-next-line react/jsx-no-bind\n onDismiss: calendarDismissed, isMonthPickerVisible: props.isMonthPickerVisible, showMonthPickerAsOverlay: props.showMonthPickerAsOverlay, today: props.today, value: selectedDate || initialPickerDate, firstDayOfWeek: firstDayOfWeek, strings: strings, highlightCurrentMonth: props.highlightCurrentMonth, highlightSelectedMonth: props.highlightSelectedMonth, showWeekNumbers: props.showWeekNumbers, firstWeekOfYear: props.firstWeekOfYear, showGoToToday: props.showGoToToday, dateTimeFormatter: props.dateTimeFormatter, minDate: minDate, maxDate: maxDate, componentRef: calendar, showCloseButton: showCloseButton, allFocusable: allFocusable })))))));\n});\nDatePickerBase.displayName = 'DatePickerBase';\nfunction isDateOutOfBounds(date, minDate, maxDate) {\n return (!!minDate && compareDatePart(minDate, date) > 0) || (!!maxDate && compareDatePart(maxDate, date) < 0);\n}\n//# sourceMappingURL=DatePicker.base.js.map","import { normalize, getGlobalClassNames, FontSizes, HighContrastSelector } from '@fluentui/style-utilities';\nvar GlobalClassNames = {\n root: 'ms-DatePicker',\n callout: 'ms-DatePicker-callout',\n withLabel: 'ms-DatePicker-event--with-label',\n withoutLabel: 'ms-DatePicker-event--without-label',\n disabled: 'msDatePickerDisabled ',\n};\nvar TEXTFIELD_HEIGHT = 32;\nexport var styles = function (props) {\n var _a;\n var className = props.className, theme = props.theme, disabled = props.disabled, underlined = props.underlined, label = props.label, isDatePickerShown = props.isDatePickerShown;\n var palette = theme.palette, semanticColors = theme.semanticColors, fonts = theme.fonts;\n var classNames = getGlobalClassNames(GlobalClassNames, theme);\n var DatePickerIcon = {\n color: palette.neutralSecondary,\n fontSize: FontSizes.icon,\n lineHeight: '18px',\n pointerEvents: 'none',\n position: 'absolute',\n right: '4px',\n padding: '5px',\n };\n return {\n root: [classNames.root, theme.fonts.large, isDatePickerShown && 'is-open', normalize, className],\n textField: [\n {\n position: 'relative',\n selectors: {\n '& input[readonly]': {\n cursor: 'pointer',\n },\n input: {\n selectors: {\n '::-ms-clear': {\n display: 'none',\n },\n },\n },\n },\n },\n disabled && {\n selectors: {\n '& input[readonly]': {\n cursor: 'default',\n },\n },\n },\n ],\n callout: [classNames.callout],\n icon: [\n DatePickerIcon,\n label ? classNames.withLabel : classNames.withoutLabel,\n { paddingTop: '7px' },\n !disabled && [\n classNames.disabled,\n {\n pointerEvents: 'initial',\n cursor: 'pointer',\n },\n ],\n disabled && {\n color: semanticColors.disabledText,\n cursor: 'default',\n },\n ],\n statusMessage: [\n fonts.small,\n {\n color: semanticColors.errorText,\n marginTop: 5,\n },\n ],\n readOnlyTextField: [\n {\n cursor: 'pointer',\n height: TEXTFIELD_HEIGHT,\n lineHeight: TEXTFIELD_HEIGHT - 2,\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n },\n underlined && {\n lineHeight: TEXTFIELD_HEIGHT + 2,\n },\n ],\n readOnlyPlaceholder: (_a = {\n color: semanticColors.inputPlaceholderText\n },\n _a[HighContrastSelector] = {\n color: 'GrayText',\n },\n _a),\n };\n};\n//# sourceMappingURL=DatePicker.styles.js.map","import { styled } from '@fluentui/utilities';\nimport { DatePickerBase } from './DatePicker.base';\nimport { styles } from './DatePicker.styles';\nexport var DatePicker = styled(DatePickerBase, styles, undefined, {\n scope: 'DatePicker',\n});\n//# sourceMappingURL=DatePicker.js.map","import { __assign } from \"tslib\";\nimport { defaultCalendarStrings } from '../../Calendar';\nexport var defaultDatePickerStrings = __assign(__assign({}, defaultCalendarStrings), { prevMonthAriaLabel: 'Go to previous month', nextMonthAriaLabel: 'Go to next month', prevYearAriaLabel: 'Go to previous year', nextYearAriaLabel: 'Go to next year', closeButtonAriaLabel: 'Close date picker', isRequiredErrorMessage: 'Field is required', invalidInputErrorMessage: 'Invalid date format', isResetStatusMessage: 'Invalid entry \"{0}\", date reset to \"{1}\"' });\n//# sourceMappingURL=defaults.js.map","import { __assign, __extends, __rest } from \"tslib\";\nimport * as React from 'react';\nimport { Icon, FontIcon } from '../../Icon';\nimport { initializeComponentRef, EventGroup, Async, classNamesFunction, composeRenderFunction } from '../../Utilities';\nimport { ColumnActionsMode } from './DetailsList.types';\nimport { DEFAULT_CELL_STYLE_PROPS } from './DetailsRow.styles';\nvar MOUSEDOWN_PRIMARY_BUTTON = 0; // for mouse down event we are using ev.button property, 0 means left button\nvar getClassNames = classNamesFunction();\nvar TRANSITION_DURATION_DRAG = 200; // ms\nvar TRANSITION_DURATION_DROP = 1500; // ms\nvar CLASSNAME_ADD_INTERVAL = 20; // ms\nvar defaultOnRenderHeader = function (classNames) { return function (props) {\n if (!props) {\n return null;\n }\n if (props.column.isIconOnly) {\n return React.createElement(\"span\", { className: classNames.accessibleLabel }, props.column.name);\n }\n return React.createElement(React.Fragment, null, props.column.name);\n}; };\n/**\n * Component for rendering columns in a `DetailsList`.\n *\n * {@docCategory DetailsList}\n */\nvar DetailsColumnBase = /** @class */ (function (_super) {\n __extends(DetailsColumnBase, _super);\n function DetailsColumnBase(props) {\n var _this = _super.call(this, props) || this;\n _this._root = React.createRef();\n _this._onRenderFilterIcon = function (classNames) { return function (props) {\n var columnProps = props.columnProps, iconProps = __rest(props, [\"columnProps\"]);\n var IconComponent = (columnProps === null || columnProps === void 0 ? void 0 : columnProps.useFastIcons) ? FontIcon : Icon;\n return React.createElement(IconComponent, __assign({}, iconProps));\n }; };\n _this._onRenderColumnHeaderTooltip = function (tooltipHostProps) {\n return React.createElement(\"span\", { className: tooltipHostProps.hostClassName }, tooltipHostProps.children);\n };\n _this._onColumnClick = function (ev) {\n var _a = _this.props, onColumnClick = _a.onColumnClick, column = _a.column;\n if (column.columnActionsMode === ColumnActionsMode.disabled) {\n return;\n }\n if (column.onColumnClick) {\n column.onColumnClick(ev, column);\n }\n if (onColumnClick) {\n onColumnClick(ev, column);\n }\n };\n _this._onDragStart = function (item, itemIndex, selectedItems, event) {\n var classNames = _this._classNames;\n if (itemIndex) {\n _this._updateHeaderDragInfo(itemIndex);\n _this._root.current.classList.add(classNames.borderWhileDragging);\n _this._async.setTimeout(function () {\n if (_this._root.current) {\n _this._root.current.classList.add(classNames.noBorderWhileDragging);\n }\n }, CLASSNAME_ADD_INTERVAL);\n }\n };\n _this._onDragEnd = function (item, event) {\n var classNames = _this._classNames;\n if (event) {\n _this._updateHeaderDragInfo(-1, event);\n }\n _this._root.current.classList.remove(classNames.borderWhileDragging);\n _this._root.current.classList.remove(classNames.noBorderWhileDragging);\n };\n _this._updateHeaderDragInfo = function (itemIndex, event) {\n /* eslint-disable deprecation/deprecation */\n if (_this.props.setDraggedItemIndex) {\n _this.props.setDraggedItemIndex(itemIndex);\n }\n /* eslint-enable deprecation/deprecation */\n if (_this.props.updateDragInfo) {\n _this.props.updateDragInfo({ itemIndex: itemIndex }, event);\n }\n };\n _this._onColumnContextMenu = function (ev) {\n var _a = _this.props, onColumnContextMenu = _a.onColumnContextMenu, column = _a.column;\n if (column.onColumnContextMenu) {\n column.onColumnContextMenu(column, ev);\n ev.preventDefault();\n }\n if (onColumnContextMenu) {\n onColumnContextMenu(column, ev);\n ev.preventDefault();\n }\n };\n _this._onRootMouseDown = function (ev) {\n var isDraggable = _this.props.isDraggable;\n // Ignore anything except the primary button.\n if (isDraggable && ev.button === MOUSEDOWN_PRIMARY_BUTTON) {\n ev.stopPropagation();\n }\n };\n initializeComponentRef(_this);\n _this._async = new Async(_this);\n _this._events = new EventGroup(_this);\n return _this;\n }\n DetailsColumnBase.prototype.render = function () {\n var _a = this.props, column = _a.column, columnIndex = _a.columnIndex, parentId = _a.parentId, isDraggable = _a.isDraggable, styles = _a.styles, theme = _a.theme, _b = _a.cellStyleProps, cellStyleProps = _b === void 0 ? DEFAULT_CELL_STYLE_PROPS : _b, _c = _a.useFastIcons, useFastIcons = _c === void 0 ? true : _c;\n var _d = this.props.onRenderColumnHeaderTooltip, onRenderColumnHeaderTooltip = _d === void 0 ? this._onRenderColumnHeaderTooltip : _d;\n this._classNames = getClassNames(styles, {\n theme: theme,\n headerClassName: column.headerClassName,\n iconClassName: column.iconClassName,\n isActionable: column.columnActionsMode !== ColumnActionsMode.disabled,\n isEmpty: !column.name,\n isIconVisible: column.isSorted || column.isGrouped || column.isFiltered,\n isPadded: column.isPadded,\n isIconOnly: column.isIconOnly,\n cellStyleProps: cellStyleProps,\n transitionDurationDrag: TRANSITION_DURATION_DRAG,\n transitionDurationDrop: TRANSITION_DURATION_DROP,\n });\n var classNames = this._classNames;\n var IconComponent = useFastIcons ? FontIcon : Icon;\n var onRenderFilterIcon = column.onRenderFilterIcon\n ? composeRenderFunction(column.onRenderFilterIcon, this._onRenderFilterIcon(this._classNames))\n : this._onRenderFilterIcon(this._classNames);\n var onRenderHeader = column.onRenderHeader\n ? composeRenderFunction(column.onRenderHeader, defaultOnRenderHeader(this._classNames))\n : defaultOnRenderHeader(this._classNames);\n var hasInnerButton = column.columnActionsMode !== ColumnActionsMode.disabled &&\n (column.onColumnClick !== undefined || this.props.onColumnClick !== undefined);\n var accNameDescription = {\n 'aria-label': column.isIconOnly ? column.name : undefined,\n 'aria-labelledby': column.isIconOnly ? undefined : parentId + \"-\" + column.key + \"-name\",\n 'aria-describedby': !this.props.onRenderColumnHeaderTooltip && this._hasAccessibleLabel()\n ? parentId + \"-\" + column.key + \"-tooltip\"\n : undefined,\n };\n return (React.createElement(React.Fragment, null,\n React.createElement(\"div\", __assign({ key: column.key, ref: this._root, role: 'columnheader' }, (!hasInnerButton && accNameDescription), { \"aria-sort\": column.isSorted ? (column.isSortedDescending ? 'descending' : 'ascending') : 'none', \"aria-colindex\": columnIndex, \"data-is-focusable\": !hasInnerButton && column.columnActionsMode !== ColumnActionsMode.disabled ? 'true' : undefined, className: classNames.root, \"data-is-draggable\": isDraggable, draggable: isDraggable, style: {\n width: column.calculatedWidth +\n cellStyleProps.cellLeftPadding +\n cellStyleProps.cellRightPadding +\n (column.isPadded ? cellStyleProps.cellExtraRightPadding : 0),\n }, \"data-automationid\": 'ColumnsHeaderColumn', \"data-item-key\": column.key }),\n isDraggable && (React.createElement(IconComponent, { iconName: \"GripperBarVertical\", className: classNames.gripperBarVerticalStyle })),\n onRenderColumnHeaderTooltip({\n hostClassName: classNames.cellTooltip,\n id: parentId + \"-\" + column.key + \"-tooltip\",\n setAriaDescribedBy: false,\n column: column,\n content: column.columnActionsMode !== ColumnActionsMode.disabled ? column.ariaLabel : '',\n children: (React.createElement(\"span\", __assign({ id: parentId + \"-\" + column.key, className: classNames.cellTitle, \"data-is-focusable\": hasInnerButton && column.columnActionsMode !== ColumnActionsMode.disabled ? 'true' : undefined, role: hasInnerButton ? 'button' : undefined }, (hasInnerButton && accNameDescription), { onContextMenu: this._onColumnContextMenu, onClick: this._onColumnClick, \"aria-haspopup\": column.columnActionsMode === ColumnActionsMode.hasDropdown ? 'menu' : undefined, \"aria-expanded\": column.columnActionsMode === ColumnActionsMode.hasDropdown ? !!column.isMenuOpen : undefined }),\n React.createElement(\"span\", { id: parentId + \"-\" + column.key + \"-name\", className: classNames.cellName },\n (column.iconName || column.iconClassName) && (React.createElement(IconComponent, { className: classNames.iconClassName, iconName: column.iconName })),\n onRenderHeader(this.props)),\n column.isFiltered && React.createElement(IconComponent, { className: classNames.nearIcon, iconName: \"Filter\" }),\n column.isSorted && (React.createElement(IconComponent, { className: classNames.sortIcon, iconName: column.isSortedDescending ? 'SortDown' : 'SortUp' })),\n column.isGrouped && React.createElement(IconComponent, { className: classNames.nearIcon, iconName: \"GroupedDescending\" }),\n column.columnActionsMode === ColumnActionsMode.hasDropdown &&\n !column.isIconOnly &&\n onRenderFilterIcon({\n 'aria-hidden': true,\n columnProps: this.props,\n className: classNames.filterChevron,\n iconName: 'ChevronDown',\n }))),\n }, this._onRenderColumnHeaderTooltip)),\n !this.props.onRenderColumnHeaderTooltip ? this._renderAccessibleLabel() : null));\n };\n DetailsColumnBase.prototype.componentDidMount = function () {\n var _this = this;\n if (this.props.dragDropHelper && this.props.isDraggable) {\n this._addDragDropHandling();\n }\n var classNames = this._classNames;\n if (this.props.isDropped) {\n if (this._root.current) {\n this._root.current.classList.add(classNames.borderAfterDropping);\n this._async.setTimeout(function () {\n if (_this._root.current) {\n _this._root.current.classList.add(classNames.noBorderAfterDropping);\n }\n }, CLASSNAME_ADD_INTERVAL);\n }\n this._async.setTimeout(function () {\n if (_this._root.current) {\n _this._root.current.classList.remove(classNames.borderAfterDropping);\n _this._root.current.classList.remove(classNames.noBorderAfterDropping);\n }\n }, TRANSITION_DURATION_DROP + CLASSNAME_ADD_INTERVAL);\n }\n };\n DetailsColumnBase.prototype.componentWillUnmount = function () {\n if (this._dragDropSubscription) {\n this._dragDropSubscription.dispose();\n delete this._dragDropSubscription;\n }\n this._async.dispose();\n this._events.dispose();\n };\n DetailsColumnBase.prototype.componentDidUpdate = function () {\n if (!this._dragDropSubscription && this.props.dragDropHelper && this.props.isDraggable) {\n this._addDragDropHandling();\n }\n if (this._dragDropSubscription && !this.props.isDraggable) {\n this._dragDropSubscription.dispose();\n this._events.off(this._root.current, 'mousedown');\n delete this._dragDropSubscription;\n }\n };\n DetailsColumnBase.prototype._getColumnDragDropOptions = function () {\n var _this = this;\n var columnIndex = this.props.columnIndex;\n var options = {\n selectionIndex: columnIndex,\n context: { data: columnIndex, index: columnIndex },\n canDrag: function () { return _this.props.isDraggable; },\n canDrop: function () { return false; },\n onDragStart: this._onDragStart,\n updateDropState: function () { return undefined; },\n onDrop: function () { return undefined; },\n onDragEnd: this._onDragEnd,\n };\n return options;\n };\n DetailsColumnBase.prototype._hasAccessibleLabel = function () {\n var column = this.props.column;\n return !!(column.ariaLabel ||\n column.filterAriaLabel ||\n column.sortAscendingAriaLabel ||\n column.sortDescendingAriaLabel ||\n column.groupAriaLabel);\n };\n DetailsColumnBase.prototype._renderAccessibleLabel = function () {\n var _a = this.props, column = _a.column, parentId = _a.parentId;\n var classNames = this._classNames;\n return this._hasAccessibleLabel() && !this.props.onRenderColumnHeaderTooltip ? (React.createElement(\"label\", { key: column.key + \"_label\", id: parentId + \"-\" + column.key + \"-tooltip\", className: classNames.accessibleLabel },\n column.ariaLabel,\n (column.isFiltered && column.filterAriaLabel) || null,\n (column.isSorted &&\n (column.isSortedDescending ? column.sortDescendingAriaLabel : column.sortAscendingAriaLabel)) ||\n null,\n (column.isGrouped && column.groupAriaLabel) || null)) : null;\n };\n DetailsColumnBase.prototype._addDragDropHandling = function () {\n this._dragDropSubscription = this.props.dragDropHelper.subscribe(this._root.current, this._events, this._getColumnDragDropOptions());\n // We need to use native on this to prevent MarqueeSelection from handling the event before us.\n this._events.on(this._root.current, 'mousedown', this._onRootMouseDown);\n };\n return DetailsColumnBase;\n}(React.Component));\nexport { DetailsColumnBase };\n//# sourceMappingURL=DetailsColumn.base.js.map","import { __assign } from \"tslib\";\nimport { getFocusStyle, getGlobalClassNames, hiddenContentStyle, FontWeights } from '../../Styling';\nimport { DEFAULT_CELL_STYLE_PROPS } from './DetailsRow.styles';\nimport { getCellStyles } from './DetailsHeader.styles';\nvar GlobalClassNames = {\n isActionable: 'is-actionable',\n cellIsCheck: 'ms-DetailsHeader-cellIsCheck',\n collapseButton: 'ms-DetailsHeader-collapseButton',\n isCollapsed: 'is-collapsed',\n isAllSelected: 'is-allSelected',\n isSelectAllHidden: 'is-selectAllHidden',\n isResizingColumn: 'is-resizingColumn',\n isEmpty: 'is-empty',\n isIconVisible: 'is-icon-visible',\n cellSizer: 'ms-DetailsHeader-cellSizer',\n isResizing: 'is-resizing',\n dropHintCircleStyle: 'ms-DetailsHeader-dropHintCircleStyle',\n dropHintLineStyle: 'ms-DetailsHeader-dropHintLineStyle',\n cellTitle: 'ms-DetailsHeader-cellTitle',\n cellName: 'ms-DetailsHeader-cellName',\n filterChevron: 'ms-DetailsHeader-filterChevron',\n gripperBarVerticalStyle: 'ms-DetailsColumn-gripperBar',\n nearIcon: 'ms-DetailsColumn-nearIcon',\n};\nexport var getStyles = function (props) {\n var _a;\n var theme = props.theme, headerClassName = props.headerClassName, iconClassName = props.iconClassName, isActionable = props.isActionable, isEmpty = props.isEmpty, isIconVisible = props.isIconVisible, isPadded = props.isPadded, isIconOnly = props.isIconOnly, _b = props.cellStyleProps, cellStyleProps = _b === void 0 ? DEFAULT_CELL_STYLE_PROPS : _b, transitionDurationDrag = props.transitionDurationDrag, transitionDurationDrop = props.transitionDurationDrop;\n var semanticColors = theme.semanticColors, palette = theme.palette, fonts = theme.fonts;\n var classNames = getGlobalClassNames(GlobalClassNames, theme);\n var colors = {\n iconForegroundColor: semanticColors.bodySubtext,\n headerForegroundColor: semanticColors.bodyText,\n headerBackgroundColor: semanticColors.bodyBackground,\n dropdownChevronForegroundColor: palette.neutralSecondary,\n resizerColor: palette.neutralTertiaryAlt,\n };\n var nearIconStyle = {\n color: colors.iconForegroundColor,\n opacity: 1,\n paddingLeft: 8,\n };\n var borderWhileDragging = {\n outline: \"1px solid \" + palette.themePrimary,\n };\n var borderAfterDragOrDrop = {\n outlineColor: 'transparent',\n };\n return {\n root: [\n getCellStyles(props),\n fonts.small,\n isActionable && [\n classNames.isActionable,\n {\n selectors: {\n ':hover': {\n color: semanticColors.bodyText,\n background: semanticColors.listHeaderBackgroundHovered,\n },\n ':active': {\n background: semanticColors.listHeaderBackgroundPressed,\n },\n },\n },\n ],\n isEmpty && [\n classNames.isEmpty,\n {\n textOverflow: 'clip',\n },\n ],\n isIconVisible && classNames.isIconVisible,\n isPadded && {\n paddingRight: cellStyleProps.cellExtraRightPadding + cellStyleProps.cellRightPadding,\n },\n {\n selectors: {\n ':hover i[data-icon-name=\"GripperBarVertical\"]': {\n display: 'block',\n },\n },\n },\n headerClassName,\n ],\n gripperBarVerticalStyle: {\n display: 'none',\n position: 'absolute',\n textAlign: 'left',\n color: palette.neutralTertiary,\n left: 1,\n },\n nearIcon: [classNames.nearIcon, nearIconStyle],\n sortIcon: [\n nearIconStyle,\n {\n paddingLeft: 4,\n position: 'relative',\n top: 1,\n },\n ],\n iconClassName: [\n {\n color: colors.iconForegroundColor,\n opacity: 1,\n },\n iconClassName,\n ],\n filterChevron: [\n classNames.filterChevron,\n {\n color: colors.dropdownChevronForegroundColor,\n paddingLeft: 6,\n verticalAlign: 'middle',\n fontSize: fonts.small.fontSize,\n },\n ],\n cellTitle: [\n classNames.cellTitle,\n getFocusStyle(theme),\n __assign({ display: 'flex', flexDirection: 'row', justifyContent: 'flex-start', alignItems: 'stretch', boxSizing: 'border-box', overflow: 'hidden', padding: \"0 \" + cellStyleProps.cellRightPadding + \"px 0 \" + cellStyleProps.cellLeftPadding + \"px\" }, (isIconOnly\n ? {\n alignContent: 'flex-end',\n maxHeight: '100%',\n flexWrap: 'wrap-reverse',\n }\n : {})),\n ],\n cellName: [\n classNames.cellName,\n {\n flex: '0 1 auto',\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n fontWeight: FontWeights.semibold,\n fontSize: fonts.medium.fontSize,\n },\n isIconOnly && {\n selectors: (_a = {},\n _a[\".\" + classNames.nearIcon] = {\n paddingLeft: 0,\n },\n _a),\n },\n ],\n cellTooltip: {\n display: 'block',\n position: 'absolute',\n top: 0,\n left: 0,\n bottom: 0,\n right: 0,\n },\n accessibleLabel: hiddenContentStyle,\n borderWhileDragging: borderWhileDragging,\n noBorderWhileDragging: [borderAfterDragOrDrop, { transition: \"outline \" + transitionDurationDrag + \"ms ease\" }],\n borderAfterDropping: borderWhileDragging,\n noBorderAfterDropping: [borderAfterDragOrDrop, { transition: \"outline \" + transitionDurationDrop + \"ms ease\" }],\n };\n};\n//# sourceMappingURL=DetailsColumn.styles.js.map","import { styled } from '../../Utilities';\nimport { DetailsColumnBase } from './DetailsColumn.base';\nimport { getStyles } from './DetailsColumn.styles';\nexport var DetailsColumn = styled(DetailsColumnBase, getStyles, undefined, { scope: 'DetailsColumn' });\n//# sourceMappingURL=DetailsColumn.js.map","import { __assign, __extends } from \"tslib\";\nimport * as React from 'react';\nimport { initializeComponentRef, EventGroup, css, getRTL, getId, KeyCodes, classNamesFunction } from '../../Utilities';\nimport { ColumnDragEndLocation, CheckboxVisibility } from './DetailsList.types';\nimport { FocusZone, FocusZoneDirection } from '../../FocusZone';\nimport { Icon, FontIcon } from '../../Icon';\nimport { Layer } from '../../Layer';\nimport { GroupSpacer } from '../GroupedList/GroupSpacer';\nimport { CollapseAllVisibility } from '../../GroupedList';\nimport { DetailsRowCheck } from './DetailsRowCheck';\nimport { SelectionMode, SELECTION_CHANGE } from '../../Selection';\nimport { DragDropHelper } from '../../DragDrop';\nimport { DetailsColumn } from '../../components/DetailsList/DetailsColumn';\nimport { SelectAllVisibility } from './DetailsHeader.types';\nvar getClassNames = classNamesFunction();\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 NO_COLUMNS = [];\nvar DetailsHeaderBase = /** @class */ (function (_super) {\n __extends(DetailsHeaderBase, _super);\n function DetailsHeaderBase(props) {\n var _this = _super.call(this, props) || this;\n _this._rootElement = React.createRef();\n _this._rootComponent = React.createRef();\n _this._draggedColumnIndex = -1;\n _this._dropHintDetails = {};\n _this._updateDroppingState = function (newValue, event) {\n if (_this._draggedColumnIndex >= 0 && event.type !== 'drop' && !newValue) {\n _this._resetDropHints();\n }\n };\n _this._onDragOver = function (item, event) {\n if (_this._draggedColumnIndex >= 0) {\n event.stopPropagation();\n _this._computeDropHintToBeShown(event.clientX);\n }\n };\n _this._onDrop = function (item, event) {\n // Safe to assume this is defined since we're handling a drop event\n var columnReorderProps = _this._getColumnReorderProps();\n // Target index will not get changed if draggeditem is after target item.\n if (_this._draggedColumnIndex >= 0 && event) {\n var targetIndex = _this._draggedColumnIndex > _this._currentDropHintIndex\n ? _this._currentDropHintIndex\n : _this._currentDropHintIndex - 1;\n var isValidDrop = _this._isValidCurrentDropHintIndex();\n event.stopPropagation();\n if (isValidDrop) {\n _this._onDropIndexInfo.sourceIndex = _this._draggedColumnIndex;\n _this._onDropIndexInfo.targetIndex = targetIndex;\n if (columnReorderProps.onColumnDrop) {\n var dragDropDetails = {\n draggedIndex: _this._draggedColumnIndex,\n targetIndex: targetIndex,\n };\n columnReorderProps.onColumnDrop(dragDropDetails);\n /* eslint-disable deprecation/deprecation */\n }\n else if (columnReorderProps.handleColumnReorder) {\n columnReorderProps.handleColumnReorder(_this._draggedColumnIndex, targetIndex);\n /* eslint-enable deprecation/deprecation */\n }\n }\n }\n _this._resetDropHints();\n _this._dropHintDetails = {};\n _this._draggedColumnIndex = -1;\n };\n _this._updateDragInfo = function (props, event) {\n // Safe to assume this is defined since we're handling a drag event\n var columnReorderProps = _this._getColumnReorderProps();\n var itemIndex = props.itemIndex;\n if (itemIndex >= 0) {\n // Column index is set based on the checkbox\n _this._draggedColumnIndex = _this._isCheckboxColumnHidden() ? itemIndex - 1 : itemIndex - 2;\n _this._getDropHintPositions();\n if (columnReorderProps.onColumnDragStart) {\n columnReorderProps.onColumnDragStart(true);\n }\n }\n else if (event && _this._draggedColumnIndex >= 0) {\n _this._resetDropHints();\n _this._draggedColumnIndex = -1;\n _this._dropHintDetails = {};\n if (columnReorderProps.onColumnDragEnd) {\n var columnDragEndLocation = _this._isEventOnHeader(event);\n columnReorderProps.onColumnDragEnd({ dropLocation: columnDragEndLocation }, event);\n }\n }\n };\n _this._getDropHintPositions = function () {\n var _a = _this.props.columns, columns = _a === void 0 ? NO_COLUMNS : _a;\n // Safe to assume this is defined since we're handling a drag/drop event\n var columnReorderProps = _this._getColumnReorderProps();\n var prevX = 0;\n var prevMid = 0;\n var prevRef;\n var frozenColumnCountFromStart = columnReorderProps.frozenColumnCountFromStart || 0;\n var frozenColumnCountFromEnd = columnReorderProps.frozenColumnCountFromEnd || 0;\n for (var i = frozenColumnCountFromStart; i < columns.length - frozenColumnCountFromEnd + 1; i++) {\n if (_this._rootElement.current) {\n var dropHintElement = _this._rootElement.current.querySelectorAll('#columnDropHint_' + i)[0];\n if (dropHintElement) {\n if (i === frozenColumnCountFromStart) {\n prevX = dropHintElement.offsetLeft;\n prevMid = dropHintElement.offsetLeft;\n prevRef = dropHintElement;\n }\n else {\n var newMid = (dropHintElement.offsetLeft + prevX) / 2;\n _this._dropHintDetails[i - 1] = {\n originX: prevX,\n startX: prevMid,\n endX: newMid,\n dropHintElementRef: prevRef,\n };\n prevMid = newMid;\n prevRef = dropHintElement;\n prevX = dropHintElement.offsetLeft;\n if (i === columns.length - frozenColumnCountFromEnd) {\n _this._dropHintDetails[i] = {\n originX: prevX,\n startX: prevMid,\n endX: dropHintElement.offsetLeft,\n dropHintElementRef: prevRef,\n };\n }\n }\n }\n }\n }\n };\n /**\n * Based on the given cursor position, finds the nearest drop hint and updates the state to make it visible\n */\n _this._computeDropHintToBeShown = function (clientX) {\n var isRtl = getRTL(_this.props.theme);\n if (_this._rootElement.current) {\n var clientRect = _this._rootElement.current.getBoundingClientRect();\n var headerOriginX = clientRect.left;\n var eventXRelativePosition = clientX - headerOriginX;\n var currentDropHintIndex = _this._currentDropHintIndex;\n if (_this._isValidCurrentDropHintIndex()) {\n if (_liesBetween(isRtl, eventXRelativePosition, _this._dropHintDetails[currentDropHintIndex].startX, _this._dropHintDetails[currentDropHintIndex].endX)) {\n return;\n }\n }\n var _a = _this.props.columns, columns = _a === void 0 ? NO_COLUMNS : _a;\n // Safe to assume this is defined since we're handling a drag/drop event\n var columnReorderProps = _this._getColumnReorderProps();\n var frozenColumnCountFromStart = columnReorderProps.frozenColumnCountFromStart || 0;\n var frozenColumnCountFromEnd = columnReorderProps.frozenColumnCountFromEnd || 0;\n var currentIndex = frozenColumnCountFromStart;\n var lastValidColumn = columns.length - frozenColumnCountFromEnd;\n var indexToUpdate = -1;\n if (_isBefore(isRtl, eventXRelativePosition, _this._dropHintDetails[currentIndex].endX)) {\n indexToUpdate = currentIndex;\n }\n else if (_isAfter(isRtl, eventXRelativePosition, _this._dropHintDetails[lastValidColumn].startX)) {\n indexToUpdate = lastValidColumn;\n }\n else if (_this._isValidCurrentDropHintIndex()) {\n if (_this._dropHintDetails[currentDropHintIndex + 1] &&\n _liesBetween(isRtl, eventXRelativePosition, _this._dropHintDetails[currentDropHintIndex + 1].startX, _this._dropHintDetails[currentDropHintIndex + 1].endX)) {\n indexToUpdate = currentDropHintIndex + 1;\n }\n else if (_this._dropHintDetails[currentDropHintIndex - 1] &&\n _liesBetween(isRtl, eventXRelativePosition, _this._dropHintDetails[currentDropHintIndex - 1].startX, _this._dropHintDetails[currentDropHintIndex - 1].endX)) {\n indexToUpdate = currentDropHintIndex - 1;\n }\n }\n if (indexToUpdate === -1) {\n var startIndex = frozenColumnCountFromStart;\n var endIndex = lastValidColumn;\n while (startIndex < endIndex) {\n var middleIndex = Math.ceil((endIndex + startIndex) / 2);\n if (_liesBetween(isRtl, eventXRelativePosition, _this._dropHintDetails[middleIndex].startX, _this._dropHintDetails[middleIndex].endX)) {\n indexToUpdate = middleIndex;\n break;\n }\n else if (_isBefore(isRtl, eventXRelativePosition, _this._dropHintDetails[middleIndex].originX)) {\n endIndex = middleIndex;\n }\n else if (_isAfter(isRtl, eventXRelativePosition, _this._dropHintDetails[middleIndex].originX)) {\n startIndex = middleIndex;\n }\n }\n }\n if (indexToUpdate === _this._draggedColumnIndex || indexToUpdate === _this._draggedColumnIndex + 1) {\n if (_this._isValidCurrentDropHintIndex()) {\n _this._resetDropHints();\n }\n }\n else if (currentDropHintIndex !== indexToUpdate && indexToUpdate >= 0) {\n _this._resetDropHints();\n _this._updateDropHintElement(_this._dropHintDetails[indexToUpdate].dropHintElementRef, 'inline-block');\n _this._currentDropHintIndex = indexToUpdate;\n }\n }\n };\n _this._renderColumnSizer = function (_a) {\n var _b;\n var columnIndex = _a.columnIndex;\n var _c = _this.props.columns, columns = _c === void 0 ? NO_COLUMNS : _c;\n var column = columns[columnIndex];\n var columnResizeDetails = _this.state.columnResizeDetails;\n var classNames = _this._classNames;\n return column.isResizable ? (React.createElement(\"div\", { key: column.key + \"_sizer\", \"aria-hidden\": true, role: \"button\", \"data-is-focusable\": false, onClick: _stopPropagation, \"data-sizer-index\": columnIndex, onBlur: _this._onSizerBlur, className: css(classNames.cellSizer, columnIndex < columns.length - 1 ? classNames.cellSizerStart : classNames.cellSizerEnd, (_b = {},\n _b[classNames.cellIsResizing] = columnResizeDetails && columnResizeDetails.columnIndex === columnIndex,\n _b)), onDoubleClick: _this._onSizerDoubleClick.bind(_this, columnIndex) })) : null;\n };\n _this._onRenderColumnHeaderTooltip = function (tooltipHostProps) {\n return React.createElement(\"span\", { className: tooltipHostProps.hostClassName }, tooltipHostProps.children);\n };\n /**\n * Called when the select all toggle is clicked.\n */\n _this._onSelectAllClicked = function () {\n var selection = _this.props.selection;\n if (selection) {\n selection.toggleAllSelected();\n }\n };\n _this._onRootMouseDown = function (ev) {\n var columnIndexAttr = ev.target.getAttribute('data-sizer-index');\n var columnIndex = Number(columnIndexAttr);\n var _a = _this.props.columns, columns = _a === void 0 ? NO_COLUMNS : _a;\n if (columnIndexAttr === null || ev.button !== MOUSEDOWN_PRIMARY_BUTTON) {\n // Ignore anything except the primary button.\n return;\n }\n _this.setState({\n columnResizeDetails: {\n columnIndex: columnIndex,\n columnMinWidth: columns[columnIndex].calculatedWidth,\n originX: ev.clientX,\n },\n });\n ev.preventDefault();\n ev.stopPropagation();\n };\n _this._onRootMouseMove = function (ev) {\n var _a = _this.state, columnResizeDetails = _a.columnResizeDetails, isSizing = _a.isSizing;\n if (columnResizeDetails && !isSizing && ev.clientX !== columnResizeDetails.originX) {\n _this.setState({ isSizing: true });\n }\n };\n _this._onRootKeyDown = function (ev) {\n var _a = _this.state, columnResizeDetails = _a.columnResizeDetails, isSizing = _a.isSizing;\n var _b = _this.props, _c = _b.columns, columns = _c === void 0 ? NO_COLUMNS : _c, onColumnResized = _b.onColumnResized;\n var columnIndexAttr = ev.target.getAttribute('data-sizer-index');\n if (!columnIndexAttr || isSizing) {\n return;\n }\n var columnIndex = Number(columnIndexAttr);\n if (!columnResizeDetails) {\n // eslint-disable-next-line deprecation/deprecation\n if (ev.which === KeyCodes.enter) {\n _this.setState({\n columnResizeDetails: {\n columnIndex: columnIndex,\n columnMinWidth: columns[columnIndex].calculatedWidth,\n },\n });\n ev.preventDefault();\n ev.stopPropagation();\n }\n }\n else {\n var increment = void 0;\n // eslint-disable-next-line deprecation/deprecation\n if (ev.which === KeyCodes.enter) {\n _this.setState({\n columnResizeDetails: undefined,\n });\n ev.preventDefault();\n ev.stopPropagation();\n // eslint-disable-next-line deprecation/deprecation\n }\n else if (ev.which === KeyCodes.left) {\n increment = getRTL(_this.props.theme) ? 1 : -1;\n // eslint-disable-next-line deprecation/deprecation\n }\n else if (ev.which === KeyCodes.right) {\n increment = getRTL(_this.props.theme) ? -1 : 1;\n }\n if (increment) {\n if (!ev.shiftKey) {\n increment *= 10;\n }\n _this.setState({\n columnResizeDetails: __assign(__assign({}, columnResizeDetails), { columnMinWidth: columnResizeDetails.columnMinWidth + increment }),\n });\n if (onColumnResized) {\n onColumnResized(columns[columnIndex], columnResizeDetails.columnMinWidth + increment, columnIndex);\n }\n ev.preventDefault();\n ev.stopPropagation();\n }\n }\n };\n /**\n * mouse move event handler in the header\n * it will set isSizing state to true when user clicked on the sizer and move the mouse.\n *\n * @param ev - mouse move event\n */\n _this._onSizerMouseMove = function (ev) {\n var \n // use buttons property here since ev.button in some edge case is not upding well during the move.\n // but firefox doesn't support it, so we set the default value when it is not defined.\n buttons = ev.buttons;\n var _a = _this.props, onColumnIsSizingChanged = _a.onColumnIsSizingChanged, onColumnResized = _a.onColumnResized, _b = _a.columns, columns = _b === void 0 ? NO_COLUMNS : _b;\n var columnResizeDetails = _this.state.columnResizeDetails;\n if (buttons !== undefined && buttons !== MOUSEMOVE_PRIMARY_BUTTON) {\n // cancel mouse down event and return early when the primary button is not pressed\n _this._onSizerMouseUp(ev);\n return;\n }\n if (ev.clientX !== columnResizeDetails.originX) {\n if (onColumnIsSizingChanged) {\n onColumnIsSizingChanged(columns[columnResizeDetails.columnIndex], true);\n }\n }\n if (onColumnResized) {\n var movement = ev.clientX - columnResizeDetails.originX;\n if (getRTL(_this.props.theme)) {\n movement = -movement;\n }\n onColumnResized(columns[columnResizeDetails.columnIndex], columnResizeDetails.columnMinWidth + movement, columnResizeDetails.columnIndex);\n }\n };\n _this._onSizerBlur = function (ev) {\n var columnResizeDetails = _this.state.columnResizeDetails;\n if (columnResizeDetails) {\n _this.setState({\n columnResizeDetails: undefined,\n isSizing: false,\n });\n }\n };\n /**\n * mouse up event handler in the header\n * clear the resize related state.\n * This is to ensure we can catch double click event\n *\n * @param ev - mouse up event\n */\n _this._onSizerMouseUp = function (ev) {\n var _a = _this.props, _b = _a.columns, columns = _b === void 0 ? NO_COLUMNS : _b, onColumnIsSizingChanged = _a.onColumnIsSizingChanged;\n var columnResizeDetails = _this.state.columnResizeDetails;\n _this.setState({\n columnResizeDetails: undefined,\n isSizing: false,\n });\n if (onColumnIsSizingChanged) {\n onColumnIsSizingChanged(columns[columnResizeDetails.columnIndex], false);\n }\n };\n _this._onToggleCollapseAll = function () {\n var onToggleCollapseAll = _this.props.onToggleCollapseAll;\n var newCollapsed = !_this.state.isAllCollapsed;\n _this.setState({\n isAllCollapsed: newCollapsed,\n });\n if (onToggleCollapseAll) {\n onToggleCollapseAll(newCollapsed);\n }\n };\n initializeComponentRef(_this);\n _this._events = new EventGroup(_this);\n _this.state = {\n columnResizeDetails: undefined,\n isAllCollapsed: _this.props.isAllCollapsed,\n isAllSelected: !!_this.props.selection && _this.props.selection.isAllSelected(),\n };\n _this._onDropIndexInfo = {\n sourceIndex: -1,\n targetIndex: -1,\n };\n _this._id = getId('header');\n _this._currentDropHintIndex = -1;\n // The drag drop handler won't do any work until subscribe() is called,\n // so always set it up for convenience\n _this._dragDropHelper = new DragDropHelper({\n selection: {\n getSelection: function () {\n return;\n },\n },\n minimumPixelsForDrag: _this.props.minimumPixelsForDrag,\n });\n return _this;\n }\n DetailsHeaderBase.prototype.componentDidMount = function () {\n var selection = this.props.selection;\n this._events.on(selection, SELECTION_CHANGE, this._onSelectionChanged);\n // this._rootElement.current will be null in tests using react-test-renderer\n if (this._rootElement.current) {\n // We need to use native on this to prevent MarqueeSelection from handling the event before us.\n this._events.on(this._rootElement.current, 'mousedown', this._onRootMouseDown);\n this._events.on(this._rootElement.current, 'keydown', this._onRootKeyDown);\n if (this._getColumnReorderProps()) {\n this._subscriptionObject = this._dragDropHelper.subscribe(this._rootElement.current, this._events, this._getHeaderDragDropOptions());\n }\n }\n };\n DetailsHeaderBase.prototype.componentDidUpdate = function (prevProps) {\n if (this._getColumnReorderProps()) {\n if (!this._subscriptionObject && this._rootElement.current) {\n this._subscriptionObject = this._dragDropHelper.subscribe(this._rootElement.current, this._events, this._getHeaderDragDropOptions());\n }\n }\n else if (this._subscriptionObject) {\n this._subscriptionObject.dispose();\n delete this._subscriptionObject;\n }\n if (this.props !== prevProps && this._onDropIndexInfo.sourceIndex >= 0 && this._onDropIndexInfo.targetIndex >= 0) {\n var _a = prevProps.columns, previousColumns = _a === void 0 ? NO_COLUMNS : _a;\n var _b = this.props.columns, columns = _b === void 0 ? NO_COLUMNS : _b;\n if (previousColumns[this._onDropIndexInfo.sourceIndex].key === columns[this._onDropIndexInfo.targetIndex].key) {\n this._onDropIndexInfo = {\n sourceIndex: -1,\n targetIndex: -1,\n };\n }\n }\n if (this.props.isAllCollapsed !== prevProps.isAllCollapsed) {\n this.setState({ isAllCollapsed: this.props.isAllCollapsed });\n }\n };\n DetailsHeaderBase.prototype.componentWillUnmount = function () {\n if (this._subscriptionObject) {\n this._subscriptionObject.dispose();\n delete this._subscriptionObject;\n }\n this._dragDropHelper.dispose();\n this._events.dispose();\n };\n DetailsHeaderBase.prototype.render = function () {\n var _this = this;\n var _a = this.props, _b = _a.columns, columns = _b === void 0 ? NO_COLUMNS : _b, ariaLabel = _a.ariaLabel, ariaLabelForToggleAllGroupsButton = _a.ariaLabelForToggleAllGroupsButton, ariaLabelForSelectAllCheckbox = _a.ariaLabelForSelectAllCheckbox, selectAllVisibility = _a.selectAllVisibility, ariaLabelForSelectionColumn = _a.ariaLabelForSelectionColumn, indentWidth = _a.indentWidth, onColumnClick = _a.onColumnClick, onColumnContextMenu = _a.onColumnContextMenu, _c = _a.onRenderColumnHeaderTooltip, onRenderColumnHeaderTooltip = _c === void 0 ? this._onRenderColumnHeaderTooltip : _c, styles = _a.styles, selectionMode = _a.selectionMode, theme = _a.theme, onRenderDetailsCheckbox = _a.onRenderDetailsCheckbox, groupNestingDepth = _a.groupNestingDepth, useFastIcons = _a.useFastIcons, checkboxVisibility = _a.checkboxVisibility, className = _a.className;\n var _d = this.state, isAllSelected = _d.isAllSelected, columnResizeDetails = _d.columnResizeDetails, isSizing = _d.isSizing, isAllCollapsed = _d.isAllCollapsed;\n var showCheckbox = selectAllVisibility !== SelectAllVisibility.none;\n var isCheckboxHidden = selectAllVisibility === SelectAllVisibility.hidden;\n var isCheckboxAlwaysVisible = checkboxVisibility === CheckboxVisibility.always;\n var columnReorderProps = this._getColumnReorderProps();\n var frozenColumnCountFromStart = columnReorderProps && columnReorderProps.frozenColumnCountFromStart\n ? columnReorderProps.frozenColumnCountFromStart\n : 0;\n var frozenColumnCountFromEnd = columnReorderProps && columnReorderProps.frozenColumnCountFromEnd\n ? columnReorderProps.frozenColumnCountFromEnd\n : 0;\n this._classNames = getClassNames(styles, {\n theme: theme,\n isAllSelected: isAllSelected,\n isSelectAllHidden: selectAllVisibility === SelectAllVisibility.hidden,\n isResizingColumn: !!columnResizeDetails && isSizing,\n isSizing: isSizing,\n isAllCollapsed: isAllCollapsed,\n isCheckboxHidden: isCheckboxHidden,\n className: className,\n });\n var classNames = this._classNames;\n var IconComponent = useFastIcons ? FontIcon : Icon;\n var isRTL = getRTL(theme);\n return (React.createElement(FocusZone, { role: \"row\", \"aria-label\": ariaLabel, className: classNames.root, componentRef: this._rootComponent, elementRef: this._rootElement, onMouseMove: this._onRootMouseMove, \"data-automationid\": \"DetailsHeader\", direction: FocusZoneDirection.horizontal },\n showCheckbox\n ? [\n React.createElement(\"div\", { key: \"__checkbox\", className: classNames.cellIsCheck, \"aria-labelledby\": this._id + \"-checkTooltip\", onClick: !isCheckboxHidden ? this._onSelectAllClicked : undefined, \"aria-colindex\": 1, role: 'columnheader' }, onRenderColumnHeaderTooltip({\n hostClassName: classNames.checkTooltip,\n id: this._id + \"-checkTooltip\",\n setAriaDescribedBy: false,\n content: ariaLabelForSelectAllCheckbox,\n children: (React.createElement(DetailsRowCheck, { id: this._id + \"-check\", \"aria-label\": selectionMode === SelectionMode.multiple\n ? ariaLabelForSelectAllCheckbox\n : ariaLabelForSelectionColumn, \"data-is-focusable\": !isCheckboxHidden || undefined, isHeader: true, selected: isAllSelected, anySelected: false, canSelect: !isCheckboxHidden, className: classNames.check, onRenderDetailsCheckbox: onRenderDetailsCheckbox, useFastIcons: useFastIcons, isVisible: isCheckboxAlwaysVisible })),\n }, this._onRenderColumnHeaderTooltip)),\n !this.props.onRenderColumnHeaderTooltip ? (ariaLabelForSelectAllCheckbox && !isCheckboxHidden ? (React.createElement(\"label\", { key: \"__checkboxLabel\", id: this._id + \"-checkTooltip\", className: classNames.accessibleLabel, \"aria-hidden\": true }, ariaLabelForSelectAllCheckbox)) : ariaLabelForSelectionColumn && isCheckboxHidden ? (React.createElement(\"label\", { key: \"__checkboxLabel\", id: this._id + \"-checkTooltip\", className: classNames.accessibleLabel, \"aria-hidden\": true }, ariaLabelForSelectionColumn)) : null) : null,\n ]\n : null,\n groupNestingDepth > 0 && this.props.collapseAllVisibility === CollapseAllVisibility.visible ? (React.createElement(\"div\", { className: classNames.cellIsGroupExpander, onClick: this._onToggleCollapseAll, \"data-is-focusable\": true, \"aria-label\": ariaLabelForToggleAllGroupsButton, \"aria-expanded\": !isAllCollapsed, role: \"columnheader\" },\n React.createElement(IconComponent, { className: classNames.collapseButton, iconName: isRTL ? 'ChevronLeftMed' : 'ChevronRightMed' }))) : null,\n React.createElement(GroupSpacer, { indentWidth: indentWidth, role: \"gridcell\", count: groupNestingDepth - 1 }),\n columns.map(function (column, columnIndex) {\n var _isDraggable = columnReorderProps\n ? columnIndex >= frozenColumnCountFromStart && columnIndex < columns.length - frozenColumnCountFromEnd\n : false;\n return [\n columnReorderProps &&\n (_isDraggable || columnIndex === columns.length - frozenColumnCountFromEnd) &&\n _this._renderDropHint(columnIndex),\n React.createElement(DetailsColumn, { column: column, styles: column.styles, key: column.key, columnIndex: (showCheckbox ? 2 : 1) + columnIndex, parentId: _this._id, isDraggable: _isDraggable, updateDragInfo: _this._updateDragInfo, dragDropHelper: _this._dragDropHelper, onColumnClick: onColumnClick, onColumnContextMenu: onColumnContextMenu, \n // Do not render tooltips by default, but allow for override via props.\n onRenderColumnHeaderTooltip: _this.props.onRenderColumnHeaderTooltip, isDropped: _this._onDropIndexInfo.targetIndex === columnIndex, cellStyleProps: _this.props.cellStyleProps, useFastIcons: useFastIcons }),\n _this._renderColumnDivider(columnIndex),\n ];\n }),\n columnReorderProps && frozenColumnCountFromEnd === 0 && this._renderDropHint(columns.length),\n isSizing && (React.createElement(Layer, null,\n React.createElement(\"div\", { className: classNames.sizingOverlay, onMouseMove: this._onSizerMouseMove, onMouseUp: this._onSizerMouseUp })))));\n };\n /** Set focus to the active thing in the focus area. */\n DetailsHeaderBase.prototype.focus = function () {\n var _a;\n return !!((_a = this._rootComponent.current) === null || _a === void 0 ? void 0 : _a.focus());\n };\n /**\n * Gets column reorder props from this.props. If the calling code is part of setting up or\n * handling drag/drop events, it's safe to assume that this method's return value is defined\n * (because drag/drop handling will only be set up if reorder props are given).\n */\n DetailsHeaderBase.prototype._getColumnReorderProps = function () {\n var _a = this.props, columnReorderOptions = _a.columnReorderOptions, columnReorderProps = _a.columnReorderProps;\n return columnReorderProps || (columnReorderOptions && __assign(__assign({}, columnReorderOptions), { onColumnDragEnd: undefined }));\n };\n DetailsHeaderBase.prototype._getHeaderDragDropOptions = function () {\n var options = {\n selectionIndex: 1,\n context: { data: this, index: 0 },\n canDrag: function () { return false; },\n canDrop: function () { return true; },\n onDragStart: function () { return undefined; },\n updateDropState: this._updateDroppingState,\n onDrop: this._onDrop,\n onDragEnd: function () { return undefined; },\n onDragOver: this._onDragOver,\n };\n return options;\n };\n DetailsHeaderBase.prototype._isValidCurrentDropHintIndex = function () {\n return this._currentDropHintIndex >= 0;\n };\n /**\n * @returns whether or not the \"Select All\" checkbox column is hidden.\n */\n DetailsHeaderBase.prototype._isCheckboxColumnHidden = function () {\n var _a = this.props, selectionMode = _a.selectionMode, checkboxVisibility = _a.checkboxVisibility;\n return selectionMode === SelectionMode.none || checkboxVisibility === CheckboxVisibility.hidden;\n };\n DetailsHeaderBase.prototype._resetDropHints = function () {\n if (this._currentDropHintIndex >= 0) {\n this._updateDropHintElement(this._dropHintDetails[this._currentDropHintIndex].dropHintElementRef, 'none');\n this._currentDropHintIndex = -1;\n }\n };\n DetailsHeaderBase.prototype._updateDropHintElement = function (element, displayProperty) {\n element.childNodes[1].style.display = displayProperty;\n element.childNodes[0].style.display = displayProperty;\n };\n DetailsHeaderBase.prototype._isEventOnHeader = function (event) {\n if (this._rootElement.current) {\n var clientRect = this._rootElement.current.getBoundingClientRect();\n if (event.clientX > clientRect.left &&\n event.clientX < clientRect.right &&\n event.clientY > clientRect.top &&\n event.clientY < clientRect.bottom) {\n return ColumnDragEndLocation.header;\n }\n }\n };\n DetailsHeaderBase.prototype._renderColumnDivider = function (columnIndex) {\n var _a = this.props.columns, columns = _a === void 0 ? NO_COLUMNS : _a;\n var column = columns[columnIndex];\n var onRenderDivider = column.onRenderDivider;\n return onRenderDivider\n ? onRenderDivider({ column: column, columnIndex: columnIndex }, this._renderColumnSizer)\n : this._renderColumnSizer({ column: column, columnIndex: columnIndex });\n };\n DetailsHeaderBase.prototype._renderDropHint = function (dropHintIndex) {\n var classNames = this._classNames;\n var IconComponent = this.props.useFastIcons ? FontIcon : Icon;\n return (React.createElement(\"div\", { key: 'dropHintKey', className: classNames.dropHintStyle, id: \"columnDropHint_\" + dropHintIndex },\n React.createElement(\"div\", { role: \"presentation\", key: \"dropHintCircleKey\", className: classNames.dropHintCaretStyle, \"data-is-focusable\": false, \"data-sizer-index\": dropHintIndex, \"aria-hidden\": true },\n React.createElement(IconComponent, { iconName: 'CircleShapeSolid' })),\n React.createElement(\"div\", { key: \"dropHintLineKey\", \"aria-hidden\": true, \"data-is-focusable\": false, \"data-sizer-index\": dropHintIndex, className: classNames.dropHintLineStyle })));\n };\n /**\n * double click on the column sizer will auto ajust column width\n * to fit the longest content among current rendered rows.\n *\n * @param columnIndex - index of the column user double clicked\n * @param ev - mouse double click event\n */\n DetailsHeaderBase.prototype._onSizerDoubleClick = function (columnIndex, ev) {\n var _a = this.props, onColumnAutoResized = _a.onColumnAutoResized, _b = _a.columns, columns = _b === void 0 ? NO_COLUMNS : _b;\n if (onColumnAutoResized) {\n onColumnAutoResized(columns[columnIndex], columnIndex);\n }\n };\n DetailsHeaderBase.prototype._onSelectionChanged = function () {\n var isAllSelected = !!this.props.selection && this.props.selection.isAllSelected();\n if (this.state.isAllSelected !== isAllSelected) {\n this.setState({\n isAllSelected: isAllSelected,\n });\n }\n };\n DetailsHeaderBase.defaultProps = {\n selectAllVisibility: SelectAllVisibility.visible,\n collapseAllVisibility: CollapseAllVisibility.visible,\n useFastIcons: true,\n };\n return DetailsHeaderBase;\n}(React.Component));\nexport { DetailsHeaderBase };\nfunction _liesBetween(rtl, target, left, right) {\n return rtl ? target <= left && target >= right : target >= left && target <= right;\n}\nfunction _isBefore(rtl, a, b) {\n return rtl ? a >= b : a <= b;\n}\nfunction _isAfter(rtl, a, b) {\n return rtl ? a <= b : a >= b;\n}\nfunction _stopPropagation(ev) {\n ev.stopPropagation();\n}\n//# sourceMappingURL=DetailsHeader.base.js.map","import { styled } from '../../Utilities';\nimport { DetailsHeaderBase } from './DetailsHeader.base';\nimport { getStyles } from './DetailsHeader.styles';\nexport var DetailsHeader = styled(DetailsHeaderBase, getStyles, undefined, { scope: 'DetailsHeader' });\n//# sourceMappingURL=DetailsHeader.js.map","import { __assign } from \"tslib\";\nimport { getFocusStyle, focusClear, getGlobalClassNames, HighContrastSelector, hiddenContentStyle, getHighContrastNoAdjustStyle, } from '../../Styling';\nimport { getRTL, IsFocusVisibleClassName } from '../../Utilities';\nimport { DEFAULT_CELL_STYLE_PROPS } from './DetailsRow.styles';\n// For every group level there is a GroupSpacer added. Importing this const to have the source value in one place.\nimport { SPACER_WIDTH as GROUP_EXPANDER_WIDTH } from '../GroupedList/GroupSpacer';\nvar GlobalClassNames = {\n tooltipHost: 'ms-TooltipHost',\n root: 'ms-DetailsHeader',\n cell: 'ms-DetailsHeader-cell',\n cellIsCheck: 'ms-DetailsHeader-cellIsCheck',\n collapseButton: 'ms-DetailsHeader-collapseButton',\n isCollapsed: 'is-collapsed',\n isAllSelected: 'is-allSelected',\n isSelectAllHidden: 'is-selectAllHidden',\n isResizingColumn: 'is-resizingColumn',\n cellSizer: 'ms-DetailsHeader-cellSizer',\n isResizing: 'is-resizing',\n dropHintCircleStyle: 'ms-DetailsHeader-dropHintCircleStyle',\n dropHintCaretStyle: 'ms-DetailsHeader-dropHintCaretStyle',\n dropHintLineStyle: 'ms-DetailsHeader-dropHintLineStyle',\n cellTitle: 'ms-DetailsHeader-cellTitle',\n cellName: 'ms-DetailsHeader-cellName',\n filterChevron: 'ms-DetailsHeader-filterChevron',\n gripperBarVertical: 'ms-DetailsColumn-gripperBarVertical',\n checkTooltip: 'ms-DetailsHeader-checkTooltip',\n check: 'ms-DetailsHeader-check',\n};\nexport var HEADER_HEIGHT = 42;\nexport var getCellStyles = function (props) {\n var theme = props.theme, _a = props.cellStyleProps, cellStyleProps = _a === void 0 ? DEFAULT_CELL_STYLE_PROPS : _a;\n var semanticColors = theme.semanticColors;\n var classNames = getGlobalClassNames(GlobalClassNames, theme);\n return [\n classNames.cell,\n getFocusStyle(theme),\n {\n color: semanticColors.bodyText,\n position: 'relative',\n display: 'inline-block',\n boxSizing: 'border-box',\n padding: \"0 \" + cellStyleProps.cellRightPadding + \"px 0 \" + cellStyleProps.cellLeftPadding + \"px\",\n lineHeight: 'inherit',\n margin: '0',\n height: HEADER_HEIGHT,\n verticalAlign: 'top',\n whiteSpace: 'nowrap',\n textOverflow: 'ellipsis',\n textAlign: 'left',\n },\n ];\n};\nexport var getStyles = function (props) {\n var _a, _b, _c, _d;\n var theme = props.theme, className = props.className, isAllSelected = props.isAllSelected, isResizingColumn = props.isResizingColumn, isSizing = props.isSizing, isAllCollapsed = props.isAllCollapsed, _e = props.cellStyleProps, cellStyleProps = _e === void 0 ? DEFAULT_CELL_STYLE_PROPS : _e;\n var semanticColors = theme.semanticColors, palette = theme.palette, fonts = theme.fonts;\n var classNames = getGlobalClassNames(GlobalClassNames, theme);\n var colors = {\n iconForegroundColor: semanticColors.bodySubtext,\n headerForegroundColor: semanticColors.bodyText,\n headerBackgroundColor: semanticColors.bodyBackground,\n resizerColor: palette.neutralTertiaryAlt,\n };\n var cellSizerFadeInStyles = {\n opacity: 1,\n transition: 'opacity 0.3s linear',\n };\n var cellStyles = getCellStyles(props);\n return {\n root: [\n classNames.root,\n fonts.small,\n {\n display: 'inline-block',\n background: colors.headerBackgroundColor,\n position: 'relative',\n minWidth: '100%',\n verticalAlign: 'top',\n height: HEADER_HEIGHT,\n lineHeight: HEADER_HEIGHT,\n whiteSpace: 'nowrap',\n boxSizing: 'content-box',\n paddingBottom: '1px',\n paddingTop: '16px',\n borderBottom: \"1px solid \" + semanticColors.bodyDivider,\n cursor: 'default',\n userSelect: 'none',\n selectors: (_a = {},\n _a[\"&:hover .\" + classNames.check] = {\n opacity: 1,\n },\n _a[\"& .\" + classNames.tooltipHost + \" .\" + classNames.checkTooltip] = {\n display: 'block',\n },\n _a),\n },\n isAllSelected && classNames.isAllSelected,\n isResizingColumn && classNames.isResizingColumn,\n className,\n ],\n check: [\n classNames.check,\n {\n height: HEADER_HEIGHT,\n },\n {\n selectors: (_b = {},\n _b[\".\" + IsFocusVisibleClassName + \" &:focus\"] = {\n opacity: 1,\n },\n _b),\n },\n ],\n cellWrapperPadded: {\n paddingRight: cellStyleProps.cellExtraRightPadding + cellStyleProps.cellRightPadding,\n },\n cellIsCheck: [\n cellStyles,\n classNames.cellIsCheck,\n {\n position: 'relative',\n padding: 0,\n margin: 0,\n display: 'inline-flex',\n alignItems: 'center',\n border: 'none',\n },\n isAllSelected && {\n opacity: 1,\n },\n ],\n cellIsGroupExpander: [\n cellStyles,\n {\n display: 'inline-flex',\n alignItems: 'center',\n justifyContent: 'center',\n fontSize: fonts.small.fontSize,\n padding: 0,\n border: 'none',\n width: GROUP_EXPANDER_WIDTH,\n color: palette.neutralSecondary,\n selectors: {\n ':hover': {\n backgroundColor: palette.neutralLighter,\n },\n ':active': {\n backgroundColor: palette.neutralLight,\n },\n },\n },\n ],\n cellIsActionable: {\n selectors: {\n ':hover': {\n color: semanticColors.bodyText,\n background: semanticColors.listHeaderBackgroundHovered,\n },\n ':active': {\n background: semanticColors.listHeaderBackgroundPressed,\n },\n },\n },\n cellIsEmpty: {\n textOverflow: 'clip',\n },\n cellSizer: [\n classNames.cellSizer,\n focusClear(),\n {\n display: 'inline-block',\n position: 'relative',\n cursor: 'ew-resize',\n bottom: 0,\n top: 0,\n overflow: 'hidden',\n height: 'inherit',\n background: 'transparent',\n zIndex: 1,\n width: 16,\n selectors: (_c = {\n ':after': {\n content: '\"\"',\n position: 'absolute',\n top: 0,\n bottom: 0,\n width: 1,\n background: colors.resizerColor,\n opacity: 0,\n left: '50%',\n },\n ':focus:after': cellSizerFadeInStyles,\n ':hover:after': cellSizerFadeInStyles\n },\n _c[\"&.\" + classNames.isResizing + \":after\"] = [\n cellSizerFadeInStyles,\n {\n boxShadow: '0 0 5px 0 rgba(0, 0, 0, 0.4)',\n },\n ],\n _c),\n },\n ],\n cellIsResizing: classNames.isResizing,\n cellSizerStart: {\n margin: '0 -8px',\n },\n cellSizerEnd: {\n margin: 0,\n marginLeft: -16,\n },\n collapseButton: [\n classNames.collapseButton,\n {\n transformOrigin: '50% 50%',\n transition: 'transform .1s linear',\n },\n isAllCollapsed\n ? [\n classNames.isCollapsed,\n {\n transform: 'rotate(0deg)',\n },\n ]\n : {\n transform: getRTL(theme) ? 'rotate(-90deg)' : 'rotate(90deg)',\n },\n ],\n checkTooltip: classNames.checkTooltip,\n sizingOverlay: isSizing && {\n position: 'absolute',\n left: 0,\n top: 0,\n right: 0,\n bottom: 0,\n cursor: 'ew-resize',\n background: 'rgba(255, 255, 255, 0)',\n selectors: (_d = {},\n _d[HighContrastSelector] = __assign({ background: 'transparent' }, getHighContrastNoAdjustStyle()),\n _d),\n },\n accessibleLabel: hiddenContentStyle,\n dropHintCircleStyle: [\n classNames.dropHintCircleStyle,\n {\n display: 'inline-block',\n visibility: 'hidden',\n position: 'absolute',\n bottom: 0,\n height: 9,\n width: 9,\n borderRadius: '50%',\n marginLeft: -5,\n top: 34,\n overflow: 'visible',\n zIndex: 10,\n border: \"1px solid \" + palette.themePrimary,\n background: palette.white,\n },\n ],\n dropHintCaretStyle: [\n classNames.dropHintCaretStyle,\n {\n display: 'none',\n position: 'absolute',\n top: -28,\n left: -6.5,\n fontSize: fonts.medium.fontSize,\n color: palette.themePrimary,\n overflow: 'visible',\n zIndex: 10,\n },\n ],\n dropHintLineStyle: [\n classNames.dropHintLineStyle,\n {\n display: 'none',\n position: 'absolute',\n bottom: 0,\n top: 0,\n overflow: 'hidden',\n height: 42,\n width: 1,\n background: palette.themePrimary,\n zIndex: 10,\n },\n ],\n dropHintStyle: {\n display: 'inline-block',\n position: 'absolute',\n },\n };\n};\n//# sourceMappingURL=DetailsHeader.styles.js.map","/**\n * {@docCategory DetailsList}\n */\nexport var SelectAllVisibility;\n(function (SelectAllVisibility) {\n SelectAllVisibility[SelectAllVisibility[\"none\"] = 0] = \"none\";\n SelectAllVisibility[SelectAllVisibility[\"hidden\"] = 1] = \"hidden\";\n SelectAllVisibility[SelectAllVisibility[\"visible\"] = 2] = \"visible\";\n})(SelectAllVisibility || (SelectAllVisibility = {}));\n//# sourceMappingURL=DetailsHeader.types.js.map","import { __assign, __decorate, __extends } from \"tslib\";\nimport * as React from 'react';\nimport { initializeComponentRef, FocusRects, Async, KeyCodes, elementContains, getRTLSafeKeyCode, classNamesFunction, memoizeFunction, } from '../../Utilities';\nimport { CheckboxVisibility, ColumnActionsMode, ConstrainMode, DetailsListLayoutMode, ColumnDragEndLocation, } from '../DetailsList/DetailsList.types';\nimport { DetailsHeader } from '../DetailsList/DetailsHeader';\nimport { SelectAllVisibility } from '../DetailsList/DetailsHeader.types';\nimport { DetailsRow } from '../DetailsList/DetailsRow';\nimport { FocusZone, FocusZoneDirection } from '../../FocusZone';\nimport { Selection, SelectionMode, SelectionZone } from '../../Selection';\nimport { DragDropHelper } from '../../DragDrop';\nimport { GroupedList } from '../../GroupedList';\nimport { List } from '../../List';\nimport { withViewport } from '../../utilities/decorators/withViewport';\nimport { GetGroupCount } from '../../utilities/groupedList/GroupedListUtility';\nimport { DEFAULT_CELL_STYLE_PROPS } from './DetailsRow.styles';\nimport { CHECK_CELL_WIDTH as CHECKBOX_WIDTH } from './DetailsRowCheck.styles';\n// For every group level there is a GroupSpacer added. Importing this const to have the source value in one place.\nimport { SPACER_WIDTH as GROUP_EXPAND_WIDTH } from '../GroupedList/GroupSpacer';\nimport { composeRenderFunction, getId } from '@fluentui/utilities';\nimport { useConst } from '@fluentui/react-hooks';\nvar getClassNames = classNamesFunction();\nvar MIN_COLUMN_WIDTH = 100; // this is the global min width\nvar DEFAULT_RENDERED_WINDOWS_AHEAD = 2;\nvar DEFAULT_RENDERED_WINDOWS_BEHIND = 2;\n/**\n * Hooks-based implementation of DetailsList.\n * Since many existing consumers of DetailsList expect `ref` to return a `DetailsList`,\n * this inner component handles rendering while the outer maintains compatibility.\n */\nvar DetailsListInner = function (props) {\n var selection = props.selection;\n var ariaLabelForListHeader = props.ariaLabelForListHeader, ariaLabelForSelectAllCheckbox = props.ariaLabelForSelectAllCheckbox, ariaLabelForSelectionColumn = props.ariaLabelForSelectionColumn, className = props.className, checkboxVisibility = props.checkboxVisibility, compact = props.compact, constrainMode = props.constrainMode, dragDropEvents = props.dragDropEvents, groups = props.groups, groupProps = props.groupProps, indentWidth = props.indentWidth, items = props.items, isPlaceholderData = props.isPlaceholderData, isHeaderVisible = props.isHeaderVisible, layoutMode = props.layoutMode, onItemInvoked = props.onItemInvoked, onItemContextMenu = props.onItemContextMenu, onColumnHeaderClick = props.onColumnHeaderClick, onColumnHeaderContextMenu = props.onColumnHeaderContextMenu, _a = props.selectionMode, selectionMode = _a === void 0 ? selection.mode : _a, selectionPreservedOnEmptyClick = props.selectionPreservedOnEmptyClick, selectionZoneProps = props.selectionZoneProps, ariaLabel = props.ariaLabel, ariaLabelForGrid = props.ariaLabelForGrid, rowElementEventMap = props.rowElementEventMap, _b = props.shouldApplyApplicationRole, shouldApplyApplicationRole = _b === void 0 ? false : _b, getKey = props.getKey, listProps = props.listProps, usePageCache = props.usePageCache, onShouldVirtualize = props.onShouldVirtualize, viewport = props.viewport, minimumPixelsForDrag = props.minimumPixelsForDrag, getGroupHeight = props.getGroupHeight, styles = props.styles, theme = props.theme, _c = props.cellStyleProps, cellStyleProps = _c === void 0 ? DEFAULT_CELL_STYLE_PROPS : _c, onRenderCheckbox = props.onRenderCheckbox, useFastIcons = props.useFastIcons, dragDropHelper = props.dragDropHelper, adjustedColumns = props.adjustedColumns, isCollapsed = props.isCollapsed, isSizing = props.isSizing, isSomeGroupExpanded = props.isSomeGroupExpanded, version = props.version, rootRef = props.rootRef, listRef = props.listRef, focusZoneRef = props.focusZoneRef, columnReorderOptions = props.columnReorderOptions, groupedListRef = props.groupedListRef, headerRef = props.headerRef, onGroupExpandStateChanged = props.onGroupExpandStateChanged, onColumnIsSizingChanged = props.onColumnIsSizingChanged, onRowDidMount = props.onRowDidMount, onRowWillUnmount = props.onRowWillUnmount, disableSelectionZone = props.disableSelectionZone, onColumnResized = props.onColumnResized, onColumnAutoResized = props.onColumnAutoResized, onToggleCollapse = props.onToggleCollapse, onActiveRowChanged = props.onActiveRowChanged, onBlur = props.onBlur, eventsToRegister = props.rowElementEventMap, onRenderMissingItem = props.onRenderMissingItem, onRenderItemColumn = props.onRenderItemColumn, getCellValueKey = props.getCellValueKey, getRowAriaLabel = props.getRowAriaLabel, getRowAriaDescribedBy = props.getRowAriaDescribedBy, checkButtonAriaLabel = props.checkButtonAriaLabel, checkButtonGroupAriaLabel = props.checkButtonGroupAriaLabel, checkboxCellClassName = props.checkboxCellClassName, useReducedRowRenderer = props.useReducedRowRenderer, enableUpdateAnimations = props.enableUpdateAnimations, enterModalSelectionOnTouch = props.enterModalSelectionOnTouch, onRenderDefaultRow = props.onRenderDefaultRow, selectionZoneRef = props.selectionZoneRef, focusZoneProps = props.focusZoneProps;\n var defaultRole = 'grid';\n var role = props.role ? props.role : defaultRole;\n var rowId = getId('row');\n var groupNestingDepth = getGroupNestingDepth(groups);\n var groupedDetailsListIndexMap = useGroupedDetailsListIndexMap(groups);\n var additionalListProps = React.useMemo(function () {\n return __assign({ renderedWindowsAhead: isSizing ? 0 : DEFAULT_RENDERED_WINDOWS_AHEAD, renderedWindowsBehind: isSizing ? 0 : DEFAULT_RENDERED_WINDOWS_BEHIND, getKey: getKey, version: version }, listProps);\n }, [isSizing, getKey, version, listProps]);\n var selectAllVisibility = SelectAllVisibility.none; // for SelectionMode.none\n if (selectionMode === SelectionMode.single) {\n selectAllVisibility = SelectAllVisibility.hidden;\n }\n if (selectionMode === SelectionMode.multiple) {\n // if isCollapsedGroupSelectVisible is false, disable select all when the list has all collapsed groups\n var isCollapsedGroupSelectVisible = groupProps && groupProps.headerProps && groupProps.headerProps.isCollapsedGroupSelectVisible;\n if (isCollapsedGroupSelectVisible === undefined) {\n isCollapsedGroupSelectVisible = true;\n }\n var isSelectAllVisible = isCollapsedGroupSelectVisible || !groups || isSomeGroupExpanded;\n selectAllVisibility = isSelectAllVisible ? SelectAllVisibility.visible : SelectAllVisibility.hidden;\n }\n if (checkboxVisibility === CheckboxVisibility.hidden) {\n selectAllVisibility = SelectAllVisibility.none;\n }\n var defaultOnRenderDetailsHeader = React.useCallback(function (detailsHeaderProps) {\n return React.createElement(DetailsHeader, __assign({}, detailsHeaderProps));\n }, []);\n var defaultOnRenderDetailsFooter = React.useCallback(function () {\n return null;\n }, []);\n var propsOnRenderDetailsHeader = props.onRenderDetailsHeader;\n var onRenderDetailsHeader = React.useMemo(function () {\n return propsOnRenderDetailsHeader\n ? composeRenderFunction(propsOnRenderDetailsHeader, defaultOnRenderDetailsHeader)\n : defaultOnRenderDetailsHeader;\n }, [propsOnRenderDetailsHeader, defaultOnRenderDetailsHeader]);\n var propsOnRenderDetailsFooter = props.onRenderDetailsFooter;\n var onRenderDetailsFooter = React.useMemo(function () {\n return propsOnRenderDetailsFooter\n ? composeRenderFunction(propsOnRenderDetailsFooter, defaultOnRenderDetailsFooter)\n : defaultOnRenderDetailsFooter;\n }, [propsOnRenderDetailsFooter, defaultOnRenderDetailsFooter]);\n var detailsFooterProps = React.useMemo(function () {\n return {\n columns: adjustedColumns,\n groupNestingDepth: groupNestingDepth,\n selection: selection,\n selectionMode: selectionMode,\n viewport: viewport,\n checkboxVisibility: checkboxVisibility,\n indentWidth: indentWidth,\n cellStyleProps: cellStyleProps,\n };\n }, [\n adjustedColumns,\n groupNestingDepth,\n selection,\n selectionMode,\n viewport,\n checkboxVisibility,\n indentWidth,\n cellStyleProps,\n ]);\n var columnReorderOnDragEnd = columnReorderOptions && columnReorderOptions.onDragEnd;\n var onColumnDragEnd = React.useCallback(function (_a, event) {\n var dropLocation = _a.dropLocation;\n var finalDropLocation = ColumnDragEndLocation.outside;\n if (columnReorderOnDragEnd) {\n if (dropLocation && dropLocation !== ColumnDragEndLocation.header) {\n finalDropLocation = dropLocation;\n }\n else if (rootRef.current) {\n var clientRect = rootRef.current.getBoundingClientRect();\n if (event.clientX > clientRect.left &&\n event.clientX < clientRect.right &&\n event.clientY > clientRect.top &&\n event.clientY < clientRect.bottom) {\n finalDropLocation = ColumnDragEndLocation.surface;\n }\n }\n columnReorderOnDragEnd(finalDropLocation);\n }\n }, [columnReorderOnDragEnd, rootRef]);\n var columnReorderProps = React.useMemo(function () {\n if (columnReorderOptions) {\n return __assign(__assign({}, columnReorderOptions), { onColumnDragEnd: onColumnDragEnd });\n }\n }, [columnReorderOptions, onColumnDragEnd]);\n var rowCount = (isHeaderVisible ? 1 : 0) + GetGroupCount(groups) + (items ? items.length : 0);\n var colCount = (selectAllVisibility !== SelectAllVisibility.none ? 1 : 0) +\n (adjustedColumns ? adjustedColumns.length : 0) +\n (groups ? 1 : 0);\n var classNames = React.useMemo(function () {\n return getClassNames(styles, {\n theme: theme,\n compact: compact,\n isFixed: layoutMode === DetailsListLayoutMode.fixedColumns,\n isHorizontalConstrained: constrainMode === ConstrainMode.horizontalConstrained,\n className: className,\n });\n }, [styles, theme, compact, layoutMode, constrainMode, className]);\n var onRenderDetailsGroupFooter = groupProps && groupProps.onRenderFooter;\n var finalOnRenderDetailsGroupFooter = React.useMemo(function () {\n return onRenderDetailsGroupFooter\n ? function (groupFooterProps, defaultRender) {\n return onRenderDetailsGroupFooter(__assign(__assign({}, groupFooterProps), { columns: adjustedColumns, groupNestingDepth: groupNestingDepth, indentWidth: indentWidth, selection: selection, selectionMode: selectionMode, viewport: viewport, checkboxVisibility: checkboxVisibility, cellStyleProps: cellStyleProps }), defaultRender);\n }\n : undefined;\n }, [\n onRenderDetailsGroupFooter,\n adjustedColumns,\n groupNestingDepth,\n indentWidth,\n selection,\n selectionMode,\n viewport,\n checkboxVisibility,\n cellStyleProps,\n ]);\n var onRenderDetailsGroupHeader = groupProps && groupProps.onRenderHeader;\n var finalOnRenderDetailsGroupHeader = React.useMemo(function () {\n return onRenderDetailsGroupHeader\n ? function (groupHeaderProps, defaultRender) {\n var _a, _b;\n var groupIndex = groupHeaderProps.groupIndex;\n var groupKey = groupIndex !== undefined ? (_b = (_a = groupHeaderProps.groups) === null || _a === void 0 ? void 0 : _a[groupIndex]) === null || _b === void 0 ? void 0 : _b.key : undefined;\n var totalRowCount = groupKey !== undefined && groupedDetailsListIndexMap[groupKey]\n ? groupedDetailsListIndexMap[groupKey].totalRowCount\n : 0;\n return onRenderDetailsGroupHeader(__assign(__assign({}, groupHeaderProps), { columns: adjustedColumns, groupNestingDepth: groupNestingDepth, indentWidth: indentWidth, selection: selection, selectionMode: checkboxVisibility !== CheckboxVisibility.hidden ? selectionMode : SelectionMode.none, viewport: viewport, checkboxVisibility: checkboxVisibility, cellStyleProps: cellStyleProps, ariaColSpan: adjustedColumns.length, ariaPosInSet: undefined, ariaSetSize: undefined, ariaRowCount: undefined, ariaRowIndex: groupIndex !== undefined ? totalRowCount + (isHeaderVisible ? 1 : 0) : undefined }), defaultRender);\n }\n : function (groupHeaderProps, defaultRender) {\n var _a, _b;\n var groupIndex = groupHeaderProps.groupIndex;\n var groupKey = groupIndex !== undefined ? (_b = (_a = groupHeaderProps.groups) === null || _a === void 0 ? void 0 : _a[groupIndex]) === null || _b === void 0 ? void 0 : _b.key : undefined;\n var totalRowCount = groupKey !== undefined && groupedDetailsListIndexMap[groupKey]\n ? groupedDetailsListIndexMap[groupKey].totalRowCount\n : 0;\n return defaultRender(__assign(__assign({}, groupHeaderProps), { ariaColSpan: adjustedColumns.length, ariaPosInSet: undefined, ariaSetSize: undefined, ariaRowCount: undefined, ariaRowIndex: groupIndex !== undefined ? totalRowCount + (isHeaderVisible ? 1 : 0) : undefined }));\n };\n }, [\n onRenderDetailsGroupHeader,\n adjustedColumns,\n groupNestingDepth,\n indentWidth,\n isHeaderVisible,\n selection,\n selectionMode,\n viewport,\n checkboxVisibility,\n cellStyleProps,\n groupedDetailsListIndexMap,\n ]);\n var finalGroupProps = React.useMemo(function () {\n var _a;\n return __assign(__assign({}, groupProps), { role: role === defaultRole ? 'rowgroup' : 'presentation', onRenderFooter: finalOnRenderDetailsGroupFooter, onRenderHeader: finalOnRenderDetailsGroupHeader, \n // pass through custom group header checkbox label\n headerProps: __assign(__assign({}, groupProps === null || groupProps === void 0 ? void 0 : groupProps.headerProps), { selectAllButtonProps: __assign({ 'aria-label': checkButtonGroupAriaLabel }, (_a = groupProps === null || groupProps === void 0 ? void 0 : groupProps.headerProps) === null || _a === void 0 ? void 0 : _a.selectAllButtonProps) }) });\n }, [groupProps, finalOnRenderDetailsGroupFooter, finalOnRenderDetailsGroupHeader, checkButtonGroupAriaLabel, role]);\n var sumColumnWidths = useConst(function () {\n return memoizeFunction(function (columns) {\n var totalWidth = 0;\n columns.forEach(function (column) { return (totalWidth += column.calculatedWidth || column.minWidth); });\n return totalWidth;\n });\n });\n var collapseAllVisibility = groupProps && groupProps.collapseAllVisibility;\n var rowWidth = React.useMemo(function () {\n return sumColumnWidths(adjustedColumns);\n }, [adjustedColumns, sumColumnWidths]);\n var onRenderCell = React.useCallback(function (nestingDepth, item, index, group) {\n var finalOnRenderRow = props.onRenderRow\n ? composeRenderFunction(props.onRenderRow, onRenderDefaultRow)\n : onRenderDefaultRow;\n var groupKey = group ? group.key : undefined;\n var numOfGroupHeadersBeforeItem = groupKey && groupedDetailsListIndexMap[groupKey]\n ? groupedDetailsListIndexMap[groupKey].numOfGroupHeadersBeforeItem\n : 0;\n var rowRole = role === defaultRole ? undefined : 'presentation';\n var rowProps = {\n item: item,\n itemIndex: index,\n flatIndexOffset: (isHeaderVisible ? 2 : 1) + numOfGroupHeadersBeforeItem,\n compact: compact,\n columns: adjustedColumns,\n groupNestingDepth: nestingDepth,\n id: rowId + \"-\" + index,\n selectionMode: selectionMode,\n selection: selection,\n onDidMount: onRowDidMount,\n onWillUnmount: onRowWillUnmount,\n onRenderItemColumn: onRenderItemColumn,\n getCellValueKey: getCellValueKey,\n eventsToRegister: eventsToRegister,\n dragDropEvents: dragDropEvents,\n dragDropHelper: dragDropHelper,\n viewport: viewport,\n checkboxVisibility: checkboxVisibility,\n collapseAllVisibility: collapseAllVisibility,\n getRowAriaLabel: getRowAriaLabel,\n getRowAriaDescribedBy: getRowAriaDescribedBy,\n checkButtonAriaLabel: checkButtonAriaLabel,\n checkboxCellClassName: checkboxCellClassName,\n useReducedRowRenderer: useReducedRowRenderer,\n indentWidth: indentWidth,\n cellStyleProps: cellStyleProps,\n onRenderDetailsCheckbox: onRenderCheckbox,\n enableUpdateAnimations: enableUpdateAnimations,\n rowWidth: rowWidth,\n useFastIcons: useFastIcons,\n role: rowRole,\n };\n if (!item) {\n if (onRenderMissingItem) {\n return onRenderMissingItem(index, rowProps);\n }\n return null;\n }\n return finalOnRenderRow(rowProps);\n }, [\n compact,\n adjustedColumns,\n selectionMode,\n selection,\n rowId,\n onRowDidMount,\n onRowWillUnmount,\n onRenderItemColumn,\n getCellValueKey,\n eventsToRegister,\n dragDropEvents,\n dragDropHelper,\n viewport,\n checkboxVisibility,\n collapseAllVisibility,\n getRowAriaLabel,\n getRowAriaDescribedBy,\n isHeaderVisible,\n checkButtonAriaLabel,\n checkboxCellClassName,\n useReducedRowRenderer,\n indentWidth,\n cellStyleProps,\n onRenderCheckbox,\n enableUpdateAnimations,\n useFastIcons,\n onRenderDefaultRow,\n onRenderMissingItem,\n props.onRenderRow,\n rowWidth,\n role,\n groupedDetailsListIndexMap,\n ]);\n var onRenderListCell = React.useCallback(function (nestingDepth) {\n return function (item, itemIndex) {\n return onRenderCell(nestingDepth, item, itemIndex);\n };\n }, [onRenderCell]);\n var isRightArrow = React.useCallback(function (event) {\n // eslint-disable-next-line deprecation/deprecation\n return event.which === getRTLSafeKeyCode(KeyCodes.right, theme);\n }, [theme]);\n var focusZoneInnerProps = __assign(__assign({}, focusZoneProps), { componentRef: focusZoneRef, className: classNames.focusZone, direction: focusZoneProps ? focusZoneProps.direction : FocusZoneDirection.vertical, shouldEnterInnerZone: focusZoneProps && focusZoneProps.shouldEnterInnerZone ? focusZoneProps.shouldEnterInnerZone : isRightArrow, onActiveElementChanged: focusZoneProps && focusZoneProps.onActiveElementChanged\n ? focusZoneProps.onActiveElementChanged\n : onActiveRowChanged, shouldRaiseClicksOnEnter: false, onBlur: focusZoneProps && focusZoneProps.onBlur ? focusZoneProps.onBlur : onBlur });\n var list = groups ? (React.createElement(GroupedList, { focusZoneProps: focusZoneInnerProps, componentRef: groupedListRef, groups: groups, groupProps: finalGroupProps, items: items, onRenderCell: onRenderCell, role: \"presentation\", selection: selection, selectionMode: checkboxVisibility !== CheckboxVisibility.hidden ? selectionMode : SelectionMode.none, dragDropEvents: dragDropEvents, dragDropHelper: dragDropHelper, eventsToRegister: rowElementEventMap, listProps: additionalListProps, onGroupExpandStateChanged: onGroupExpandStateChanged, usePageCache: usePageCache, onShouldVirtualize: onShouldVirtualize, getGroupHeight: getGroupHeight, compact: compact })) : (React.createElement(FocusZone, __assign({}, focusZoneInnerProps),\n React.createElement(List, __assign({ ref: listRef, role: \"presentation\", items: items, onRenderCell: onRenderListCell(0), usePageCache: usePageCache, onShouldVirtualize: onShouldVirtualize }, additionalListProps))));\n var onHeaderKeyDown = React.useCallback(function (ev) {\n // eslint-disable-next-line deprecation/deprecation\n if (ev.which === KeyCodes.down) {\n if (focusZoneRef.current && focusZoneRef.current.focus()) {\n // select the first item in list after down arrow key event\n // only if nothing was selected; otherwise start with the already-selected item\n if (selection.getSelectedIndices().length === 0) {\n selection.setIndexSelected(0, true, false);\n }\n ev.preventDefault();\n ev.stopPropagation();\n }\n }\n }, [selection, focusZoneRef]);\n var onContentKeyDown = React.useCallback(function (ev) {\n // eslint-disable-next-line deprecation/deprecation\n if (ev.which === KeyCodes.up && !ev.altKey) {\n if (headerRef.current && headerRef.current.focus()) {\n ev.preventDefault();\n ev.stopPropagation();\n }\n }\n }, [headerRef]);\n return (\n // If shouldApplyApplicationRole is true, role application will be applied to make arrow keys work\n // with JAWS.\n React.createElement(\"div\", __assign({ ref: rootRef, className: classNames.root, \"data-automationid\": \"DetailsList\", \"data-is-scrollable\": \"false\", \"aria-label\": ariaLabel }, (shouldApplyApplicationRole ? { role: 'application' } : {})),\n React.createElement(FocusRects, null),\n React.createElement(\"div\", { role: role, \"aria-label\": ariaLabelForGrid, \"aria-rowcount\": isPlaceholderData ? -1 : rowCount, \"aria-colcount\": colCount, \"aria-readonly\": \"true\", \"aria-busy\": isPlaceholderData },\n React.createElement(\"div\", { onKeyDown: onHeaderKeyDown, role: \"presentation\", className: classNames.headerWrapper }, isHeaderVisible &&\n onRenderDetailsHeader({\n componentRef: headerRef,\n selectionMode: selectionMode,\n layoutMode: layoutMode,\n selection: selection,\n columns: adjustedColumns,\n onColumnClick: onColumnHeaderClick,\n onColumnContextMenu: onColumnHeaderContextMenu,\n onColumnResized: onColumnResized,\n onColumnIsSizingChanged: onColumnIsSizingChanged,\n onColumnAutoResized: onColumnAutoResized,\n groupNestingDepth: groupNestingDepth,\n isAllCollapsed: isCollapsed,\n onToggleCollapseAll: onToggleCollapse,\n ariaLabel: ariaLabelForListHeader,\n ariaLabelForSelectAllCheckbox: ariaLabelForSelectAllCheckbox,\n ariaLabelForSelectionColumn: ariaLabelForSelectionColumn,\n selectAllVisibility: selectAllVisibility,\n collapseAllVisibility: groupProps && groupProps.collapseAllVisibility,\n viewport: viewport,\n columnReorderProps: columnReorderProps,\n minimumPixelsForDrag: minimumPixelsForDrag,\n cellStyleProps: cellStyleProps,\n checkboxVisibility: checkboxVisibility,\n indentWidth: indentWidth,\n onRenderDetailsCheckbox: onRenderCheckbox,\n rowWidth: sumColumnWidths(adjustedColumns),\n useFastIcons: useFastIcons,\n }, onRenderDetailsHeader)),\n React.createElement(\"div\", { onKeyDown: onContentKeyDown, role: \"presentation\", className: classNames.contentWrapper }, !disableSelectionZone ? (React.createElement(SelectionZone, __assign({ ref: selectionZoneRef, selection: selection, selectionPreservedOnEmptyClick: selectionPreservedOnEmptyClick, selectionMode: selectionMode, onItemInvoked: onItemInvoked, onItemContextMenu: onItemContextMenu, enterModalOnTouch: enterModalSelectionOnTouch }, (selectionZoneProps || {})), list)) : (list)),\n onRenderDetailsFooter(__assign({}, detailsFooterProps)))));\n};\nvar DetailsListBase = /** @class */ (function (_super) {\n __extends(DetailsListBase, _super);\n function DetailsListBase(props) {\n var _this = _super.call(this, props) || this;\n _this._root = React.createRef();\n _this._header = React.createRef();\n _this._groupedList = React.createRef();\n _this._list = React.createRef();\n _this._focusZone = React.createRef();\n _this._selectionZone = React.createRef();\n _this._onRenderRow = function (props, defaultRender) {\n return React.createElement(DetailsRow, __assign({}, props));\n };\n _this._getDerivedStateFromProps = function (nextProps, previousState) {\n var _a = _this.props, checkboxVisibility = _a.checkboxVisibility, items = _a.items, setKey = _a.setKey, _b = _a.selectionMode, selectionMode = _b === void 0 ? _this._selection.mode : _b, columns = _a.columns, viewport = _a.viewport, compact = _a.compact, dragDropEvents = _a.dragDropEvents;\n var _c = (_this.props.groupProps || {}).isAllGroupsCollapsed, isAllGroupsCollapsed = _c === void 0 ? undefined : _c;\n var newViewportWidth = (nextProps.viewport && nextProps.viewport.width) || 0;\n var oldViewportWidth = (viewport && viewport.width) || 0;\n var shouldResetSelection = nextProps.setKey !== setKey || nextProps.setKey === undefined;\n var shouldForceUpdates = false;\n if (nextProps.layoutMode !== _this.props.layoutMode) {\n shouldForceUpdates = true;\n }\n var nextState = previousState;\n if (shouldResetSelection) {\n _this._initialFocusedIndex = nextProps.initialFocusedIndex;\n // reset focusedItemIndex when setKey changes\n nextState = __assign(__assign({}, nextState), { focusedItemIndex: _this._initialFocusedIndex !== undefined ? _this._initialFocusedIndex : -1 });\n }\n if (!_this.props.disableSelectionZone && nextProps.items !== items) {\n _this._selection.setItems(nextProps.items, shouldResetSelection);\n }\n if (nextProps.checkboxVisibility !== checkboxVisibility ||\n nextProps.columns !== columns ||\n newViewportWidth !== oldViewportWidth ||\n nextProps.compact !== compact) {\n shouldForceUpdates = true;\n }\n nextState = __assign(__assign({}, nextState), _this._adjustColumns(nextProps, nextState, true));\n if (nextProps.selectionMode !== selectionMode) {\n shouldForceUpdates = true;\n }\n if (isAllGroupsCollapsed === undefined &&\n nextProps.groupProps &&\n nextProps.groupProps.isAllGroupsCollapsed !== undefined) {\n nextState = __assign(__assign({}, nextState), { isCollapsed: nextProps.groupProps.isAllGroupsCollapsed, isSomeGroupExpanded: !nextProps.groupProps.isAllGroupsCollapsed });\n }\n if (nextProps.dragDropEvents !== dragDropEvents) {\n _this._dragDropHelper && _this._dragDropHelper.dispose();\n _this._dragDropHelper = nextProps.dragDropEvents\n ? new DragDropHelper({\n selection: _this._selection,\n minimumPixelsForDrag: nextProps.minimumPixelsForDrag,\n })\n : undefined;\n shouldForceUpdates = true;\n }\n if (shouldForceUpdates) {\n nextState = __assign(__assign({}, nextState), { version: {} });\n }\n return nextState;\n };\n _this._onGroupExpandStateChanged = function (isSomeGroupExpanded) {\n _this.setState({ isSomeGroupExpanded: isSomeGroupExpanded });\n };\n _this._onColumnIsSizingChanged = function (column, isSizing) {\n _this.setState({ isSizing: isSizing });\n };\n _this._onRowDidMount = function (row) {\n var _a = row.props, item = _a.item, itemIndex = _a.itemIndex;\n var itemKey = _this._getItemKey(item, itemIndex);\n _this._activeRows[itemKey] = row; // this is used for column auto resize\n _this._setFocusToRowIfPending(row);\n var onRowDidMount = _this.props.onRowDidMount;\n if (onRowDidMount) {\n onRowDidMount(item, itemIndex);\n }\n };\n _this._onRowWillUnmount = function (row) {\n var onRowWillUnmount = _this.props.onRowWillUnmount;\n var _a = row.props, item = _a.item, itemIndex = _a.itemIndex;\n var itemKey = _this._getItemKey(item, itemIndex);\n delete _this._activeRows[itemKey];\n if (onRowWillUnmount) {\n onRowWillUnmount(item, itemIndex);\n }\n };\n _this._onToggleCollapse = function (collapsed) {\n _this.setState({\n isCollapsed: collapsed,\n });\n if (_this._groupedList.current) {\n _this._groupedList.current.toggleCollapseAll(collapsed);\n }\n };\n _this._onColumnResized = function (resizingColumn, newWidth, resizingColumnIndex) {\n var newCalculatedWidth = Math.max(resizingColumn.minWidth || MIN_COLUMN_WIDTH, newWidth);\n if (_this.props.onColumnResize) {\n _this.props.onColumnResize(resizingColumn, newCalculatedWidth, resizingColumnIndex);\n }\n _this._rememberCalculatedWidth(resizingColumn, newCalculatedWidth);\n _this.setState(__assign(__assign({}, _this._adjustColumns(_this.props, _this.state, true, resizingColumnIndex)), { version: {} }));\n };\n /**\n * Callback function when double clicked on the details header column resizer\n * which will measure the column cells of all the active rows and resize the\n * column to the max cell width.\n *\n * @param column - double clicked column definition\n * @param columnIndex - double clicked column index\n * TODO: min width 100 should be changed to const value and should be consistent with the\n * value used on _onSizerMove method in DetailsHeader\n */\n _this._onColumnAutoResized = function (column, columnIndex) {\n var max = 0;\n var count = 0;\n var totalCount = Object.keys(_this._activeRows).length;\n for (var key in _this._activeRows) {\n if (_this._activeRows.hasOwnProperty(key)) {\n var currentRow = _this._activeRows[key];\n currentRow.measureCell(columnIndex, function (width) {\n max = Math.max(max, width);\n count++;\n if (count === totalCount) {\n _this._onColumnResized(column, max, columnIndex);\n }\n });\n }\n }\n };\n /**\n * Call back function when an element in FocusZone becomes active. It will translate it into item\n * and call onActiveItemChanged callback if specified.\n *\n * @param row - element that became active in Focus Zone\n * @param focus - event from Focus Zone\n */\n _this._onActiveRowChanged = function (el, ev) {\n var _a = _this.props, items = _a.items, onActiveItemChanged = _a.onActiveItemChanged;\n if (!el) {\n return;\n }\n // Check and assign index only if the event was raised from any DetailsRow element\n if (el.getAttribute('data-item-index')) {\n var index = Number(el.getAttribute('data-item-index'));\n if (index >= 0) {\n if (onActiveItemChanged) {\n onActiveItemChanged(items[index], index, ev);\n }\n _this.setState({\n focusedItemIndex: index,\n });\n }\n }\n };\n _this._onBlur = function (event) {\n _this.setState({\n focusedItemIndex: -1,\n });\n };\n initializeComponentRef(_this);\n _this._async = new Async(_this);\n _this._activeRows = {};\n _this._columnOverrides = {};\n _this.state = {\n focusedItemIndex: -1,\n lastWidth: 0,\n adjustedColumns: _this._getAdjustedColumns(props, undefined),\n isSizing: false,\n isCollapsed: props.groupProps && props.groupProps.isAllGroupsCollapsed,\n isSomeGroupExpanded: props.groupProps && !props.groupProps.isAllGroupsCollapsed,\n version: {},\n getDerivedStateFromProps: _this._getDerivedStateFromProps,\n };\n _this._selection =\n props.selection ||\n new Selection({\n onSelectionChanged: undefined,\n getKey: props.getKey,\n selectionMode: props.selectionMode,\n });\n if (!_this.props.disableSelectionZone) {\n _this._selection.setItems(props.items, false);\n }\n _this._dragDropHelper = props.dragDropEvents\n ? new DragDropHelper({\n selection: _this._selection,\n minimumPixelsForDrag: props.minimumPixelsForDrag,\n })\n : undefined;\n _this._initialFocusedIndex = props.initialFocusedIndex;\n return _this;\n }\n DetailsListBase.getDerivedStateFromProps = function (nextProps, previousState) {\n return previousState.getDerivedStateFromProps(nextProps, previousState);\n };\n DetailsListBase.prototype.scrollToIndex = function (index, measureItem, scrollToMode) {\n this._list.current && this._list.current.scrollToIndex(index, measureItem, scrollToMode);\n this._groupedList.current && this._groupedList.current.scrollToIndex(index, measureItem, scrollToMode);\n };\n DetailsListBase.prototype.focusIndex = function (index, forceIntoFirstElement, measureItem, scrollToMode) {\n if (forceIntoFirstElement === void 0) { forceIntoFirstElement = false; }\n var item = this.props.items[index];\n if (item) {\n this.scrollToIndex(index, measureItem, scrollToMode);\n var itemKey = this._getItemKey(item, index);\n var row = this._activeRows[itemKey];\n if (row) {\n this._setFocusToRow(row, forceIntoFirstElement);\n }\n }\n };\n DetailsListBase.prototype.getStartItemIndexInView = function () {\n if (this._list && this._list.current) {\n return this._list.current.getStartItemIndexInView();\n }\n else if (this._groupedList && this._groupedList.current) {\n return this._groupedList.current.getStartItemIndexInView();\n }\n return 0;\n };\n DetailsListBase.prototype.componentWillUnmount = function () {\n if (this._dragDropHelper) {\n // TODO If the DragDropHelper was passed via props, this will dispose it, which is incorrect behavior.\n this._dragDropHelper.dispose();\n }\n this._async.dispose();\n };\n DetailsListBase.prototype.componentDidUpdate = function (prevProps, prevState) {\n this._notifyColumnsResized();\n if (this._initialFocusedIndex !== undefined) {\n var item = this.props.items[this._initialFocusedIndex];\n if (item) {\n var itemKey = this._getItemKey(item, this._initialFocusedIndex);\n var row = this._activeRows[itemKey];\n if (row) {\n this._setFocusToRowIfPending(row);\n }\n }\n }\n if (this.props.items !== prevProps.items &&\n this.props.items.length > 0 &&\n this.state.focusedItemIndex !== -1 &&\n !elementContains(this._root.current, document.activeElement, false)) {\n // Item set has changed and previously-focused item is gone.\n // Set focus to item at index of previously-focused item if it is in range,\n // else set focus to the last item.\n var index = this.state.focusedItemIndex < this.props.items.length\n ? this.state.focusedItemIndex\n : this.props.items.length - 1;\n var item = this.props.items[index];\n var itemKey = this._getItemKey(item, this.state.focusedItemIndex);\n var row = this._activeRows[itemKey];\n if (row) {\n this._setFocusToRow(row);\n }\n else {\n this._initialFocusedIndex = index;\n }\n }\n if (this.props.onDidUpdate) {\n this.props.onDidUpdate(this);\n }\n };\n DetailsListBase.prototype.render = function () {\n return (React.createElement(DetailsListInner, __assign({}, this.props, this.state, { selection: this._selection, dragDropHelper: this._dragDropHelper, rootRef: this._root, listRef: this._list, groupedListRef: this._groupedList, focusZoneRef: this._focusZone, headerRef: this._header, selectionZoneRef: this._selectionZone, onGroupExpandStateChanged: this._onGroupExpandStateChanged, onColumnIsSizingChanged: this._onColumnIsSizingChanged, onRowDidMount: this._onRowDidMount, onRowWillUnmount: this._onRowWillUnmount, onColumnResized: this._onColumnResized, onColumnAutoResized: this._onColumnAutoResized, onToggleCollapse: this._onToggleCollapse, onActiveRowChanged: this._onActiveRowChanged, onBlur: this._onBlur, onRenderDefaultRow: this._onRenderRow })));\n };\n DetailsListBase.prototype.forceUpdate = function () {\n _super.prototype.forceUpdate.call(this);\n this._forceListUpdates();\n };\n DetailsListBase.prototype._getGroupNestingDepth = function () {\n var groups = this.props.groups;\n var level = 0;\n var groupsInLevel = groups;\n while (groupsInLevel && groupsInLevel.length > 0) {\n level++;\n groupsInLevel = groupsInLevel[0].children;\n }\n return level;\n };\n DetailsListBase.prototype._setFocusToRowIfPending = function (row) {\n var itemIndex = row.props.itemIndex;\n if (this._initialFocusedIndex !== undefined && itemIndex === this._initialFocusedIndex) {\n this._setFocusToRow(row);\n delete this._initialFocusedIndex;\n }\n };\n DetailsListBase.prototype._setFocusToRow = function (row, forceIntoFirstElement) {\n if (forceIntoFirstElement === void 0) { forceIntoFirstElement = false; }\n if (this._selectionZone.current) {\n this._selectionZone.current.ignoreNextFocus();\n }\n this._async.setTimeout(function () {\n row.focus(forceIntoFirstElement);\n }, 0);\n };\n DetailsListBase.prototype._forceListUpdates = function () {\n if (this._groupedList.current) {\n this._groupedList.current.forceUpdate();\n }\n if (this._list.current) {\n this._list.current.forceUpdate();\n }\n };\n DetailsListBase.prototype._notifyColumnsResized = function () {\n this.state.adjustedColumns.forEach(function (column) {\n if (column.onColumnResize) {\n column.onColumnResize(column.currentWidth);\n }\n });\n };\n DetailsListBase.prototype._adjustColumns = function (newProps, previousState, forceUpdate, resizingColumnIndex) {\n var adjustedColumns = this._getAdjustedColumns(newProps, previousState, forceUpdate, resizingColumnIndex);\n var viewport = this.props.viewport;\n var viewportWidth = viewport && viewport.width ? viewport.width : 0;\n return __assign(__assign({}, previousState), { adjustedColumns: adjustedColumns, lastWidth: viewportWidth });\n };\n /** Returns adjusted columns, given the viewport size and layout mode. */\n DetailsListBase.prototype._getAdjustedColumns = function (newProps, previousState, forceUpdate, resizingColumnIndex) {\n var _this = this;\n var newItems = newProps.items, layoutMode = newProps.layoutMode, selectionMode = newProps.selectionMode, viewport = newProps.viewport;\n var viewportWidth = viewport && viewport.width ? viewport.width : 0;\n var newColumns = newProps.columns;\n var columns = this.props ? this.props.columns : [];\n var lastWidth = previousState ? previousState.lastWidth : -1;\n var lastSelectionMode = previousState ? previousState.lastSelectionMode : undefined;\n if (!forceUpdate &&\n lastWidth === viewportWidth &&\n lastSelectionMode === selectionMode &&\n (!columns || newColumns === columns)) {\n return newColumns || [];\n }\n newColumns = newColumns || buildColumns(newItems, true);\n var adjustedColumns;\n if (layoutMode === DetailsListLayoutMode.fixedColumns) {\n adjustedColumns = this._getFixedColumns(newColumns, viewportWidth, newProps);\n // Preserve adjusted column calculated widths.\n adjustedColumns.forEach(function (column) {\n _this._rememberCalculatedWidth(column, column.calculatedWidth);\n });\n }\n else {\n adjustedColumns = this._getJustifiedColumns(newColumns, viewportWidth, newProps);\n adjustedColumns.forEach(function (column) {\n _this._getColumnOverride(column.key).currentWidth = column.calculatedWidth;\n });\n }\n return adjustedColumns;\n };\n /** Builds a set of columns based on the given columns mixed with the current overrides. */\n DetailsListBase.prototype._getFixedColumns = function (newColumns, viewportWidth, props) {\n var _this = this;\n var _a = this.props, _b = _a.selectionMode, selectionMode = _b === void 0 ? this._selection.mode : _b, checkboxVisibility = _a.checkboxVisibility, flexMargin = _a.flexMargin, skipViewportMeasures = _a.skipViewportMeasures;\n var remainingWidth = viewportWidth - (flexMargin || 0);\n var sumProportionalWidth = 0;\n newColumns.forEach(function (col) {\n if (skipViewportMeasures || !col.flexGrow) {\n remainingWidth -= col.maxWidth || col.minWidth || MIN_COLUMN_WIDTH;\n }\n else {\n remainingWidth -= col.minWidth || MIN_COLUMN_WIDTH;\n sumProportionalWidth += col.flexGrow;\n }\n remainingWidth -= getPaddedWidth(col, props, true);\n });\n var rowCheckWidth = selectionMode !== SelectionMode.none && checkboxVisibility !== CheckboxVisibility.hidden ? CHECKBOX_WIDTH : 0;\n var groupExpandWidth = this._getGroupNestingDepth() * GROUP_EXPAND_WIDTH;\n remainingWidth -= rowCheckWidth + groupExpandWidth;\n var widthFraction = remainingWidth / sumProportionalWidth;\n // Shrinks proportional columns to their max width and adds the remaining width to distribute to other columns.\n if (!skipViewportMeasures) {\n newColumns.forEach(function (column) {\n var newColumn = __assign(__assign({}, column), _this._columnOverrides[column.key]);\n if (newColumn.flexGrow && newColumn.maxWidth) {\n var fullWidth = newColumn.flexGrow * widthFraction + newColumn.minWidth;\n var shrinkWidth = fullWidth - newColumn.maxWidth;\n if (shrinkWidth > 0) {\n remainingWidth += shrinkWidth;\n sumProportionalWidth -= (shrinkWidth / (fullWidth - newColumn.minWidth)) * newColumn.flexGrow;\n }\n }\n });\n }\n widthFraction = remainingWidth > 0 ? remainingWidth / sumProportionalWidth : 0;\n return newColumns.map(function (column) {\n var newColumn = __assign(__assign({}, column), _this._columnOverrides[column.key]);\n // Delay computation until viewport width is available.\n if (!skipViewportMeasures && newColumn.flexGrow && remainingWidth <= 0) {\n return newColumn;\n }\n if (!newColumn.calculatedWidth) {\n if (!skipViewportMeasures && newColumn.flexGrow) {\n // Assigns the proportion of the remaining extra width after all columns have met minimum widths.\n newColumn.calculatedWidth = newColumn.minWidth + newColumn.flexGrow * widthFraction;\n newColumn.calculatedWidth = Math.min(newColumn.calculatedWidth, newColumn.maxWidth || Number.MAX_VALUE);\n }\n else {\n newColumn.calculatedWidth = newColumn.maxWidth || newColumn.minWidth || MIN_COLUMN_WIDTH;\n }\n }\n return newColumn;\n });\n };\n /** Builds a set of columns to fix within the viewport width. */\n DetailsListBase.prototype._getJustifiedColumns = function (newColumns, viewportWidth, props) {\n var _this = this;\n var _a = props.selectionMode, selectionMode = _a === void 0 ? this._selection.mode : _a, checkboxVisibility = props.checkboxVisibility;\n var rowCheckWidth = selectionMode !== SelectionMode.none && checkboxVisibility !== CheckboxVisibility.hidden ? CHECKBOX_WIDTH : 0;\n var groupExpandWidth = this._getGroupNestingDepth() * GROUP_EXPAND_WIDTH;\n var totalWidth = 0; // offset because we have one less inner padding.\n var minimumWidth = 0;\n var availableWidth = viewportWidth - (rowCheckWidth + groupExpandWidth);\n var adjustedColumns = newColumns.map(function (column, i) {\n var baseColumn = __assign(__assign({}, column), { calculatedWidth: column.minWidth || MIN_COLUMN_WIDTH });\n var newColumn = __assign(__assign({}, baseColumn), _this._columnOverrides[column.key]);\n // eslint-disable-next-line deprecation/deprecation\n if (!(baseColumn.isCollapsible || baseColumn.isCollapsable)) {\n minimumWidth += getPaddedWidth(baseColumn, props);\n }\n totalWidth += getPaddedWidth(newColumn, props);\n return newColumn;\n });\n if (minimumWidth > availableWidth) {\n return adjustedColumns;\n }\n var lastIndex = adjustedColumns.length - 1;\n // Shrink or remove collapsable columns.\n while (lastIndex >= 0 && totalWidth > availableWidth) {\n var column = adjustedColumns[lastIndex];\n var minWidth = column.minWidth || MIN_COLUMN_WIDTH;\n var overflowWidth = totalWidth - availableWidth;\n // eslint-disable-next-line deprecation/deprecation\n if (column.calculatedWidth - minWidth >= overflowWidth || !(column.isCollapsible || column.isCollapsable)) {\n var originalWidth = column.calculatedWidth;\n column.calculatedWidth = Math.max(column.calculatedWidth - overflowWidth, minWidth);\n totalWidth -= originalWidth - column.calculatedWidth;\n }\n else {\n totalWidth -= getPaddedWidth(column, props);\n adjustedColumns.splice(lastIndex, 1);\n }\n lastIndex--;\n }\n // Then expand columns starting at the beginning, until we've filled the width.\n for (var i = 0; i < adjustedColumns.length && totalWidth < availableWidth; i++) {\n var column = adjustedColumns[i];\n var isLast = i === adjustedColumns.length - 1;\n var overrides = this._columnOverrides[column.key];\n if (overrides && overrides.calculatedWidth && !isLast) {\n continue;\n }\n var spaceLeft = availableWidth - totalWidth;\n var increment = void 0;\n if (isLast) {\n increment = spaceLeft;\n }\n else {\n var maxWidth = column.maxWidth;\n var minWidth = column.minWidth || maxWidth || MIN_COLUMN_WIDTH;\n increment = maxWidth ? Math.min(spaceLeft, maxWidth - minWidth) : spaceLeft;\n }\n column.calculatedWidth = column.calculatedWidth + increment;\n totalWidth += increment;\n }\n return adjustedColumns;\n };\n DetailsListBase.prototype._rememberCalculatedWidth = function (column, newCalculatedWidth) {\n var overrides = this._getColumnOverride(column.key);\n overrides.calculatedWidth = newCalculatedWidth;\n overrides.currentWidth = newCalculatedWidth;\n };\n DetailsListBase.prototype._getColumnOverride = function (key) {\n return (this._columnOverrides[key] = this._columnOverrides[key] || {});\n };\n DetailsListBase.prototype._getItemKey = function (item, itemIndex) {\n var getKey = this.props.getKey;\n var itemKey = undefined;\n if (item) {\n itemKey = item.key;\n }\n if (getKey) {\n itemKey = getKey(item, itemIndex);\n }\n if (!itemKey) {\n itemKey = itemIndex;\n }\n return itemKey;\n };\n DetailsListBase.defaultProps = {\n layoutMode: DetailsListLayoutMode.justified,\n selectionMode: SelectionMode.multiple,\n constrainMode: ConstrainMode.horizontalConstrained,\n checkboxVisibility: CheckboxVisibility.onHover,\n isHeaderVisible: true,\n compact: false,\n useFastIcons: true,\n };\n DetailsListBase = __decorate([\n withViewport\n ], DetailsListBase);\n return DetailsListBase;\n}(React.Component));\nexport { DetailsListBase };\nexport function buildColumns(items, canResizeColumns, onColumnClick, sortedColumnKey, isSortedDescending, groupedColumnKey, isMultiline) {\n var columns = [];\n if (items && items.length) {\n var firstItem = items[0];\n for (var propName in firstItem) {\n if (firstItem.hasOwnProperty(propName)) {\n columns.push({\n key: propName,\n name: propName,\n fieldName: propName,\n minWidth: MIN_COLUMN_WIDTH,\n maxWidth: 300,\n isCollapsable: !!columns.length,\n isCollapsible: !!columns.length,\n isMultiline: isMultiline === undefined ? false : isMultiline,\n isSorted: sortedColumnKey === propName,\n isSortedDescending: !!isSortedDescending,\n isRowHeader: false,\n columnActionsMode: ColumnActionsMode.clickable,\n isResizable: canResizeColumns,\n onColumnClick: onColumnClick,\n isGrouped: groupedColumnKey === propName,\n });\n }\n }\n }\n return columns;\n}\nfunction getPaddedWidth(column, props, paddingOnly) {\n var _a = props.cellStyleProps, cellStyleProps = _a === void 0 ? DEFAULT_CELL_STYLE_PROPS : _a;\n return ((paddingOnly ? 0 : column.calculatedWidth) +\n cellStyleProps.cellLeftPadding +\n cellStyleProps.cellRightPadding +\n (column.isPadded ? cellStyleProps.cellExtraRightPadding : 0));\n}\nfunction getGroupNestingDepth(groups) {\n var level = 0;\n var groupsInLevel = groups;\n while (groupsInLevel && groupsInLevel.length > 0) {\n level++;\n groupsInLevel = groupsInLevel[0].children;\n }\n return level;\n}\nfunction useGroupedDetailsListIndexMap(groups) {\n return React.useMemo(function () {\n var indexMap = {};\n if (groups) {\n var rowCount = 1;\n var numGroupHeaders = 1;\n for (var _i = 0, groups_1 = groups; _i < groups_1.length; _i++) {\n var group = groups_1[_i];\n var key = group.key;\n indexMap[key] = { numOfGroupHeadersBeforeItem: numGroupHeaders, totalRowCount: rowCount };\n numGroupHeaders++;\n rowCount += group.count + 1;\n }\n }\n return indexMap;\n }, [groups]);\n}\n//# sourceMappingURL=DetailsList.base.js.map","import { getGlobalClassNames } from '../../Styling';\nvar GlobalClassNames = {\n root: 'ms-DetailsList',\n compact: 'ms-DetailsList--Compact',\n contentWrapper: 'ms-DetailsList-contentWrapper',\n headerWrapper: 'ms-DetailsList-headerWrapper',\n isFixed: 'is-fixed',\n isHorizontalConstrained: 'is-horizontalConstrained',\n listCell: 'ms-List-cell',\n};\nexport var getStyles = function (props) {\n var _a, _b;\n var theme = props.theme, className = props.className, isHorizontalConstrained = props.isHorizontalConstrained, compact = props.compact, isFixed = props.isFixed;\n var semanticColors = theme.semanticColors;\n var classNames = getGlobalClassNames(GlobalClassNames, theme);\n return {\n root: [\n classNames.root,\n theme.fonts.small,\n {\n position: 'relative',\n color: semanticColors.listText,\n selectors: (_a = {},\n _a[\"& .\" + classNames.listCell] = {\n minHeight: 38,\n wordBreak: 'break-word',\n },\n _a),\n },\n isFixed && classNames.isFixed,\n compact && [\n classNames.compact,\n {\n selectors: (_b = {},\n _b[\".\" + classNames.listCell] = {\n minHeight: 32,\n },\n _b),\n },\n ],\n isHorizontalConstrained && [\n classNames.isHorizontalConstrained,\n {\n overflowX: 'auto',\n overflowY: 'visible',\n WebkitOverflowScrolling: 'touch',\n },\n ],\n className,\n ],\n focusZone: [\n {\n display: 'inline-block',\n minWidth: '100%',\n minHeight: 1,\n },\n ],\n headerWrapper: classNames.headerWrapper,\n contentWrapper: classNames.contentWrapper,\n };\n};\n//# sourceMappingURL=DetailsList.styles.js.map","import { styled } from '../../Utilities';\nimport { DetailsListBase } from './DetailsList.base';\nimport { getStyles } from './DetailsList.styles';\nexport var DetailsList = styled(DetailsListBase, getStyles, undefined, {\n scope: 'DetailsList',\n});\n//# sourceMappingURL=DetailsList.js.map","/**\n * Enum to describe how a particular column header behaves.\n * This is used to to specify the property `IColumn.columnActionsMode`.\n * If `IColumn.columnActionsMode` is undefined, it's equivalent to `ColumnActionsMode.clickable`.\n * {@docCategory DetailsList}\n */\nexport var ColumnActionsMode;\n(function (ColumnActionsMode) {\n /** Renders the column header as disabled. */\n ColumnActionsMode[ColumnActionsMode[\"disabled\"] = 0] = \"disabled\";\n /** Renders the column header as clickable. Default value. */\n ColumnActionsMode[ColumnActionsMode[\"clickable\"] = 1] = \"clickable\";\n /** Renders the column header as clickable and displays the dropdown chevron. */\n ColumnActionsMode[ColumnActionsMode[\"hasDropdown\"] = 2] = \"hasDropdown\";\n})(ColumnActionsMode || (ColumnActionsMode = {}));\n/**\n * {@docCategory DetailsList}\n */\nexport var ConstrainMode;\n(function (ConstrainMode) {\n /** Lets the content grow which allows the page to manage scrolling. */\n ConstrainMode[ConstrainMode[\"unconstrained\"] = 0] = \"unconstrained\";\n /** Constrains the list to the given layout space. */\n ConstrainMode[ConstrainMode[\"horizontalConstrained\"] = 1] = \"horizontalConstrained\";\n})(ConstrainMode || (ConstrainMode = {}));\n/**\n * Enum to describe where the column has been dropped, after starting the drag\n * {@docCategory DetailsList}\n */\nexport var ColumnDragEndLocation;\n(function (ColumnDragEndLocation) {\n /** Drag ended outside of current list */\n ColumnDragEndLocation[ColumnDragEndLocation[\"outside\"] = 0] = \"outside\";\n /** Drag ended within current list */\n ColumnDragEndLocation[ColumnDragEndLocation[\"surface\"] = 1] = \"surface\";\n /** Drag ended on header */\n ColumnDragEndLocation[ColumnDragEndLocation[\"header\"] = 2] = \"header\";\n})(ColumnDragEndLocation || (ColumnDragEndLocation = {}));\n/**\n * {@docCategory DetailsList}\n */\nexport var DetailsListLayoutMode;\n(function (DetailsListLayoutMode) {\n /**\n * Lets the user resize columns and makes not attempt to fit them.\n */\n DetailsListLayoutMode[DetailsListLayoutMode[\"fixedColumns\"] = 0] = \"fixedColumns\";\n /**\n * Manages which columns are visible, tries to size them according to their min/max rules and drops\n * off columns that can't fit and have isCollapsible set.\n */\n DetailsListLayoutMode[DetailsListLayoutMode[\"justified\"] = 1] = \"justified\";\n})(DetailsListLayoutMode || (DetailsListLayoutMode = {}));\n/**\n * {@docCategory DetailsList}\n */\nexport var CheckboxVisibility;\n(function (CheckboxVisibility) {\n /** Visible on hover. */\n CheckboxVisibility[CheckboxVisibility[\"onHover\"] = 0] = \"onHover\";\n /** Visible always. */\n CheckboxVisibility[CheckboxVisibility[\"always\"] = 1] = \"always\";\n /** Hide checkboxes. */\n CheckboxVisibility[CheckboxVisibility[\"hidden\"] = 2] = \"hidden\";\n})(CheckboxVisibility || (CheckboxVisibility = {}));\n//# sourceMappingURL=DetailsList.types.js.map","import { __assign, __extends } from \"tslib\";\nimport * as React from 'react';\nimport { initializeComponentRef, EventGroup, css, shallowCompare, getNativeProps, divProperties, } from '../../Utilities';\nimport { CheckboxVisibility } from './DetailsList.types';\nimport { DetailsRowCheck } from './DetailsRowCheck';\nimport { GroupSpacer } from '../GroupedList/GroupSpacer';\nimport { DetailsRowFields } from './DetailsRowFields';\nimport { FocusZone, FocusZoneDirection } from '../../FocusZone';\nimport { SelectionMode, SELECTION_CHANGE } from '../../Selection';\nimport { CollapseAllVisibility } from '../../GroupedList';\nimport { classNamesFunction } from '../../Utilities';\nimport { getId } from '../../Utilities';\nvar getClassNames = classNamesFunction();\nvar DEFAULT_DROPPING_CSS_CLASS = 'is-dropping';\nvar NO_COLUMNS = [];\nvar DetailsRowBase = /** @class */ (function (_super) {\n __extends(DetailsRowBase, _super);\n function DetailsRowBase(props) {\n var _this = _super.call(this, props) || this;\n _this._root = React.createRef();\n _this._cellMeasurer = React.createRef();\n _this._focusZone = React.createRef();\n _this._onSelectionChanged = function () {\n var selectionState = getSelectionState(_this.props);\n if (!shallowCompare(selectionState, _this.state.selectionState)) {\n _this.setState({\n selectionState: selectionState,\n });\n }\n };\n /**\n * update isDropping state based on the input value, which is used to change style during drag and drop\n *\n * when change to true, that means drag enter. we will add default dropping class name\n * or the custom dropping class name (return result from onDragEnter) to the root elemet.\n *\n * when change to false, that means drag leave. we will remove the dropping class name from root element.\n *\n * @param newValue - New isDropping state value\n * @param event - The event trigger dropping state change which can be dragenter, dragleave etc\n */\n _this._updateDroppingState = function (newValue, event) {\n var isDropping = _this.state.isDropping;\n var _a = _this.props, dragDropEvents = _a.dragDropEvents, item = _a.item;\n if (!newValue) {\n if (dragDropEvents.onDragLeave) {\n dragDropEvents.onDragLeave(item, event);\n }\n }\n else if (dragDropEvents.onDragEnter) {\n _this._droppingClassNames = dragDropEvents.onDragEnter(item, event);\n }\n if (isDropping !== newValue) {\n _this.setState({ isDropping: newValue });\n }\n };\n initializeComponentRef(_this);\n _this._events = new EventGroup(_this);\n _this.state = {\n selectionState: getSelectionState(props),\n columnMeasureInfo: undefined,\n isDropping: false,\n };\n _this._droppingClassNames = '';\n return _this;\n }\n DetailsRowBase.getDerivedStateFromProps = function (nextProps, previousState) {\n return __assign(__assign({}, previousState), { selectionState: getSelectionState(nextProps) });\n };\n DetailsRowBase.prototype.componentDidMount = function () {\n var _a = this.props, dragDropHelper = _a.dragDropHelper, selection = _a.selection, item = _a.item, onDidMount = _a.onDidMount;\n if (dragDropHelper && this._root.current) {\n this._dragDropSubscription = dragDropHelper.subscribe(this._root.current, this._events, this._getRowDragDropOptions());\n }\n if (selection) {\n this._events.on(selection, SELECTION_CHANGE, this._onSelectionChanged);\n }\n if (onDidMount && item) {\n // If the item appears later, we should wait for it before calling this method.\n this._onDidMountCalled = true;\n onDidMount(this);\n }\n };\n DetailsRowBase.prototype.componentDidUpdate = function (previousProps) {\n var state = this.state;\n var _a = this.props, item = _a.item, onDidMount = _a.onDidMount;\n var columnMeasureInfo = state.columnMeasureInfo;\n if (this.props.itemIndex !== previousProps.itemIndex ||\n this.props.item !== previousProps.item ||\n this.props.dragDropHelper !== previousProps.dragDropHelper) {\n if (this._dragDropSubscription) {\n this._dragDropSubscription.dispose();\n delete this._dragDropSubscription;\n }\n if (this.props.dragDropHelper && this._root.current) {\n this._dragDropSubscription = this.props.dragDropHelper.subscribe(this._root.current, this._events, this._getRowDragDropOptions());\n }\n }\n if (columnMeasureInfo && columnMeasureInfo.index >= 0 && this._cellMeasurer.current) {\n var newWidth = this._cellMeasurer.current.getBoundingClientRect().width;\n columnMeasureInfo.onMeasureDone(newWidth);\n this.setState({\n columnMeasureInfo: undefined,\n });\n }\n if (item && onDidMount && !this._onDidMountCalled) {\n this._onDidMountCalled = true;\n onDidMount(this);\n }\n };\n DetailsRowBase.prototype.componentWillUnmount = function () {\n var _a = this.props, item = _a.item, onWillUnmount = _a.onWillUnmount;\n // Only call the onWillUnmount callback if we have an item.\n if (onWillUnmount && item) {\n onWillUnmount(this);\n }\n if (this._dragDropSubscription) {\n this._dragDropSubscription.dispose();\n delete this._dragDropSubscription;\n }\n this._events.dispose();\n };\n DetailsRowBase.prototype.shouldComponentUpdate = function (nextProps, nextState) {\n if (this.props.useReducedRowRenderer) {\n var newSelectionState = getSelectionState(nextProps);\n if (this.state.selectionState.isSelected !== newSelectionState.isSelected) {\n return true;\n }\n return !shallowCompare(this.props, nextProps);\n }\n else {\n return true;\n }\n };\n DetailsRowBase.prototype.render = function () {\n var _a = this.props, className = _a.className, _b = _a.columns, columns = _b === void 0 ? NO_COLUMNS : _b, dragDropEvents = _a.dragDropEvents, item = _a.item, itemIndex = _a.itemIndex, id = _a.id, _c = _a.flatIndexOffset, flatIndexOffset = _c === void 0 ? 2 : _c, _d = _a.onRenderCheck, onRenderCheck = _d === void 0 ? this._onRenderCheck : _d, onRenderDetailsCheckbox = _a.onRenderDetailsCheckbox, onRenderItemColumn = _a.onRenderItemColumn, getCellValueKey = _a.getCellValueKey, selectionMode = _a.selectionMode, _e = _a.rowWidth, rowWidth = _e === void 0 ? 0 : _e, checkboxVisibility = _a.checkboxVisibility, getRowAriaLabel = _a.getRowAriaLabel, getRowAriaDescription = _a.getRowAriaDescription, getRowAriaDescribedBy = _a.getRowAriaDescribedBy, checkButtonAriaLabel = _a.checkButtonAriaLabel, checkboxCellClassName = _a.checkboxCellClassName, \n /** Alias rowFieldsAs as RowFields and default to DetailsRowFields if rowFieldsAs does not exist */\n _f = _a.rowFieldsAs, \n /** Alias rowFieldsAs as RowFields and default to DetailsRowFields if rowFieldsAs does not exist */\n RowFields = _f === void 0 ? DetailsRowFields : _f, selection = _a.selection, indentWidth = _a.indentWidth, enableUpdateAnimations = _a.enableUpdateAnimations, compact = _a.compact, theme = _a.theme, styles = _a.styles, cellsByColumn = _a.cellsByColumn, groupNestingDepth = _a.groupNestingDepth, _g = _a.useFastIcons, useFastIcons = _g === void 0 ? true : _g, cellStyleProps = _a.cellStyleProps, group = _a.group, focusZoneProps = _a.focusZoneProps, _h = _a.disabled, disabled = _h === void 0 ? false : _h;\n var _j = this.state, columnMeasureInfo = _j.columnMeasureInfo, isDropping = _j.isDropping;\n var _k = this.state.selectionState, _l = _k.isSelected, isSelected = _l === void 0 ? false : _l, _m = _k.isSelectionModal, isSelectionModal = _m === void 0 ? false : _m;\n var isDraggable = dragDropEvents ? !!(dragDropEvents.canDrag && dragDropEvents.canDrag(item)) : undefined;\n var droppingClassName = isDropping ? this._droppingClassNames || DEFAULT_DROPPING_CSS_CLASS : '';\n var ariaLabel = getRowAriaLabel ? getRowAriaLabel(item) : undefined;\n var ariaRowDescription = getRowAriaDescription ? getRowAriaDescription(item) : undefined;\n var ariaDescribedBy = getRowAriaDescribedBy ? getRowAriaDescribedBy(item) : undefined;\n var canSelect = !!selection && selection.canSelectItem(item, itemIndex) && !disabled;\n var isContentUnselectable = selectionMode === SelectionMode.multiple;\n var showCheckbox = selectionMode !== SelectionMode.none && checkboxVisibility !== CheckboxVisibility.hidden;\n var ariaSelected = selectionMode === SelectionMode.none ? undefined : isSelected;\n var ariaPositionInSet = group ? itemIndex - group.startIndex + 1 : undefined;\n var ariaSetSize = group ? group.count : undefined;\n var focusZoneDirection = focusZoneProps ? focusZoneProps.direction : FocusZoneDirection.horizontal;\n this._classNames = __assign(__assign({}, this._classNames), getClassNames(styles, {\n theme: theme,\n isSelected: isSelected,\n canSelect: !isContentUnselectable,\n anySelected: isSelectionModal,\n checkboxCellClassName: checkboxCellClassName,\n droppingClassName: droppingClassName,\n className: className,\n compact: compact,\n enableUpdateAnimations: enableUpdateAnimations,\n cellStyleProps: cellStyleProps,\n disabled: disabled,\n }));\n var rowClassNames = {\n isMultiline: this._classNames.isMultiline,\n isRowHeader: this._classNames.isRowHeader,\n cell: this._classNames.cell,\n cellAnimation: this._classNames.cellAnimation,\n cellPadded: this._classNames.cellPadded,\n cellUnpadded: this._classNames.cellUnpadded,\n fields: this._classNames.fields,\n };\n // Only re-assign rowClassNames when classNames have changed.\n // Otherwise, they will cause DetailsRowFields to unnecessarily\n // re-render, see https://github.com/microsoft/fluentui/pull/8799.\n // Refactor DetailsRowFields to generate own styles to remove need for this.\n if (!shallowCompare(this._rowClassNames || {}, rowClassNames)) {\n this._rowClassNames = rowClassNames;\n }\n var rowFields = (React.createElement(RowFields, { rowClassNames: this._rowClassNames, rowHeaderId: id + \"-header\", cellsByColumn: cellsByColumn, columns: columns, item: item, itemIndex: itemIndex, columnStartIndex: (showCheckbox ? 1 : 0) + (groupNestingDepth ? 1 : 0), onRenderItemColumn: onRenderItemColumn, getCellValueKey: getCellValueKey, enableUpdateAnimations: enableUpdateAnimations, cellStyleProps: cellStyleProps }));\n var defaultRole = 'row';\n var role = this.props.role ? this.props.role : defaultRole;\n this._ariaRowDescriptionId = getId('DetailsRow-description');\n return (React.createElement(FocusZone, __assign({ \"data-is-focusable\": true }, getNativeProps(this.props, divProperties), (typeof isDraggable === 'boolean'\n ? {\n 'data-is-draggable': isDraggable,\n draggable: isDraggable,\n }\n : {}), focusZoneProps, { direction: focusZoneDirection, elementRef: this._root, componentRef: this._focusZone, role: role, \"aria-label\": ariaLabel, \"aria-disabled\": disabled || undefined, \"aria-describedby\": ariaRowDescription ? this._ariaRowDescriptionId : ariaDescribedBy, className: this._classNames.root, \"data-selection-index\": itemIndex, \"data-selection-touch-invoke\": true, \"data-selection-disabled\": disabled || undefined, \"data-item-index\": itemIndex, \"aria-rowindex\": ariaPositionInSet === undefined ? itemIndex + flatIndexOffset : undefined, \"aria-level\": (groupNestingDepth && groupNestingDepth + 1) || undefined, \"aria-posinset\": ariaPositionInSet, \"aria-setsize\": ariaSetSize, \"data-automationid\": \"DetailsRow\", style: { minWidth: rowWidth }, \"aria-selected\": ariaSelected, allowFocusRoot: true }),\n ariaRowDescription ? (React.createElement(\"span\", { key: \"description\", role: \"presentation\", hidden: true, id: this._ariaRowDescriptionId }, ariaRowDescription)) : null,\n showCheckbox && (React.createElement(\"div\", { role: \"gridcell\", \"aria-colindex\": 1, \"data-selection-toggle\": true, className: this._classNames.checkCell }, onRenderCheck({\n id: id ? id + \"-checkbox\" : undefined,\n selected: isSelected,\n selectionMode: selectionMode,\n anySelected: isSelectionModal,\n 'aria-label': checkButtonAriaLabel,\n 'aria-labelledby': id ? id + \"-checkbox \" + id + \"-header\" : undefined,\n canSelect: canSelect,\n compact: compact,\n className: this._classNames.check,\n theme: theme,\n isVisible: checkboxVisibility === CheckboxVisibility.always,\n onRenderDetailsCheckbox: onRenderDetailsCheckbox,\n useFastIcons: useFastIcons,\n }))),\n React.createElement(GroupSpacer, { indentWidth: indentWidth, role: \"gridcell\", count: groupNestingDepth - (this.props.collapseAllVisibility === CollapseAllVisibility.hidden ? 1 : 0) }),\n item && rowFields,\n columnMeasureInfo && (React.createElement(\"span\", { role: \"presentation\", className: css(this._classNames.cellMeasurer, this._classNames.cell), ref: this._cellMeasurer },\n React.createElement(RowFields, { rowClassNames: this._rowClassNames, rowHeaderId: id + \"-header\", columns: [columnMeasureInfo.column], item: item, itemIndex: itemIndex, columnStartIndex: (showCheckbox ? 1 : 0) + (groupNestingDepth ? 1 : 0) + columns.length, onRenderItemColumn: onRenderItemColumn, getCellValueKey: getCellValueKey }))),\n React.createElement(\"span\", { role: \"checkbox\", className: this._classNames.checkCover, \"aria-checked\": isSelected, \"data-selection-toggle\": true })));\n };\n /**\n * measure cell at index. and call the call back with the measured cell width when finish measure\n *\n * @param index - The cell index\n * @param onMeasureDone - The call back function when finish measure\n */\n DetailsRowBase.prototype.measureCell = function (index, onMeasureDone) {\n var _a = this.props.columns, columns = _a === void 0 ? NO_COLUMNS : _a;\n var column = __assign({}, columns[index]);\n column.minWidth = 0;\n column.maxWidth = 999999;\n delete column.calculatedWidth;\n this.setState({\n columnMeasureInfo: {\n index: index,\n column: column,\n onMeasureDone: onMeasureDone,\n },\n });\n };\n DetailsRowBase.prototype.focus = function (forceIntoFirstElement) {\n var _a;\n if (forceIntoFirstElement === void 0) { forceIntoFirstElement = false; }\n return !!((_a = this._focusZone.current) === null || _a === void 0 ? void 0 : _a.focus(forceIntoFirstElement));\n };\n DetailsRowBase.prototype._onRenderCheck = function (props) {\n return React.createElement(DetailsRowCheck, __assign({}, props));\n };\n DetailsRowBase.prototype._getRowDragDropOptions = function () {\n var _a = this.props, item = _a.item, itemIndex = _a.itemIndex, dragDropEvents = _a.dragDropEvents, eventsToRegister = _a.eventsToRegister;\n var options = {\n eventMap: eventsToRegister,\n selectionIndex: itemIndex,\n context: { data: item, index: itemIndex },\n canDrag: dragDropEvents.canDrag,\n canDrop: dragDropEvents.canDrop,\n onDragStart: dragDropEvents.onDragStart,\n updateDropState: this._updateDroppingState,\n onDrop: dragDropEvents.onDrop,\n onDragEnd: dragDropEvents.onDragEnd,\n onDragOver: dragDropEvents.onDragOver,\n };\n return options;\n };\n return DetailsRowBase;\n}(React.Component));\nexport { DetailsRowBase };\nfunction getSelectionState(props) {\n var _a;\n var itemIndex = props.itemIndex, selection = props.selection;\n return {\n isSelected: !!(selection === null || selection === void 0 ? void 0 : selection.isIndexSelected(itemIndex)),\n isSelectionModal: !!((_a = selection === null || selection === void 0 ? void 0 : selection.isModal) === null || _a === void 0 ? void 0 : _a.call(selection)),\n };\n}\n//# sourceMappingURL=DetailsRow.base.js.map","import { styled } from '../../Utilities';\nimport { DetailsRowBase } from './DetailsRow.base';\nimport { getDetailsRowStyles } from './DetailsRow.styles';\nexport var DetailsRow = styled(DetailsRowBase, getDetailsRowStyles, undefined, {\n scope: 'DetailsRow',\n});\n//# sourceMappingURL=DetailsRow.js.map","import { __assign } from \"tslib\";\nimport { AnimationClassNames, AnimationStyles, HighContrastSelector, getFocusStyle, getGlobalClassNames, FontWeights, getHighContrastNoAdjustStyle, } from '../../Styling';\nimport { IsFocusVisibleClassName } from '../../Utilities';\nimport { GlobalClassNames as LinkGlobalClassNames } from '../../components/Link/Link.styles';\nexport var DetailsRowGlobalClassNames = {\n root: 'ms-DetailsRow',\n // TODO: in Fabric 7.0 lowercase the 'Compact' for consistency across other components.\n compact: 'ms-DetailsList--Compact',\n cell: 'ms-DetailsRow-cell',\n cellAnimation: 'ms-DetailsRow-cellAnimation',\n cellCheck: 'ms-DetailsRow-cellCheck',\n check: 'ms-DetailsRow-check',\n cellMeasurer: 'ms-DetailsRow-cellMeasurer',\n listCellFirstChild: 'ms-List-cell:first-child',\n isContentUnselectable: 'is-contentUnselectable',\n isSelected: 'is-selected',\n isCheckVisible: 'is-check-visible',\n isRowHeader: 'is-row-header',\n fields: 'ms-DetailsRow-fields',\n};\nvar IsFocusableSelector = \"[data-is-focusable='true']\";\nexport var DEFAULT_CELL_STYLE_PROPS = {\n cellLeftPadding: 12,\n cellRightPadding: 8,\n cellExtraRightPadding: 24,\n};\n// Source of default row heights to share.\nexport var DEFAULT_ROW_HEIGHTS = {\n rowHeight: 42,\n compactRowHeight: 32,\n};\n// Constant values\nvar values = __assign(__assign({}, DEFAULT_ROW_HEIGHTS), { rowVerticalPadding: 11, compactRowVerticalPadding: 6 });\nexport var getDetailsRowStyles = function (props) {\n var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m;\n var theme = props.theme, isSelected = props.isSelected, canSelect = props.canSelect, droppingClassName = props.droppingClassName, anySelected = props.anySelected, isCheckVisible = props.isCheckVisible, checkboxCellClassName = props.checkboxCellClassName, compact = props.compact, className = props.className, _o = props.cellStyleProps, cellStyleProps = _o === void 0 ? DEFAULT_CELL_STYLE_PROPS : _o, enableUpdateAnimations = props.enableUpdateAnimations, disabled = props.disabled;\n var palette = theme.palette, fonts = theme.fonts;\n var neutralPrimary = palette.neutralPrimary, white = palette.white, neutralSecondary = palette.neutralSecondary, neutralLighter = palette.neutralLighter, neutralLight = palette.neutralLight, neutralDark = palette.neutralDark, neutralQuaternaryAlt = palette.neutralQuaternaryAlt;\n var _p = theme.semanticColors, focusBorder = _p.focusBorder, focusedLinkColor = _p.linkHovered;\n var classNames = getGlobalClassNames(DetailsRowGlobalClassNames, theme);\n var colors = {\n // Default\n defaultHeaderText: neutralPrimary,\n defaultMetaText: neutralSecondary,\n defaultBackground: white,\n // Default Hover\n defaultHoverHeaderText: neutralDark,\n defaultHoverMetaText: neutralPrimary,\n defaultHoverBackground: neutralLighter,\n // Selected\n selectedHeaderText: neutralDark,\n selectedMetaText: neutralPrimary,\n selectedBackground: neutralLight,\n // Selected Hover\n selectedHoverHeaderText: neutralDark,\n selectedHoverMetaText: neutralPrimary,\n selectedHoverBackground: neutralQuaternaryAlt,\n // Focus\n focusHeaderText: neutralDark,\n focusMetaText: neutralPrimary,\n focusBackground: neutralLight,\n focusHoverBackground: neutralQuaternaryAlt,\n };\n var rowHighContrastFocus = {\n top: 2,\n right: 2,\n bottom: 2,\n left: 2,\n };\n // Selected row styles\n var selectedStyles = [\n getFocusStyle(theme, {\n inset: -1,\n borderColor: focusBorder,\n outlineColor: white,\n highContrastStyle: rowHighContrastFocus,\n }),\n classNames.isSelected,\n {\n color: colors.selectedMetaText,\n background: colors.selectedBackground,\n borderBottom: \"1px solid \" + white,\n selectors: (_a = {\n '&:before': {\n position: 'absolute',\n display: 'block',\n top: -1,\n height: 1,\n bottom: 0,\n left: 0,\n right: 0,\n content: '',\n borderTop: \"1px solid \" + white,\n }\n },\n _a[\".\" + classNames.cell + \" > .\" + LinkGlobalClassNames.root] = {\n color: focusedLinkColor,\n },\n // Selected State hover\n _a['&:hover'] = {\n background: colors.selectedHoverBackground,\n color: colors.selectedHoverMetaText,\n selectors: (_b = {},\n // Selected State hover meta cell\n _b[\".\" + classNames.cell + \" \" + HighContrastSelector] = {\n color: 'HighlightText',\n selectors: {\n '> a': {\n color: 'HighlightText',\n },\n },\n },\n // Selected State hover Header cell\n _b[\".\" + classNames.isRowHeader] = {\n color: colors.selectedHoverHeaderText,\n selectors: (_c = {},\n _c[HighContrastSelector] = {\n color: 'HighlightText',\n },\n _c),\n },\n // Ensure high-contrast mode overrides default hover background\n _b[HighContrastSelector] = {\n background: 'Highlight',\n },\n _b),\n },\n // Focus state\n _a['&:focus'] = {\n background: colors.focusBackground,\n selectors: (_d = {},\n // Selected State hover meta cell\n _d[\".\" + classNames.cell] = {\n color: colors.focusMetaText,\n selectors: (_e = {},\n _e[HighContrastSelector] = {\n color: 'HighlightText',\n selectors: {\n '> a': {\n color: 'HighlightText',\n },\n },\n },\n _e),\n },\n // Row header cell\n _d[\".\" + classNames.isRowHeader] = {\n color: colors.focusHeaderText,\n selectors: (_f = {},\n _f[HighContrastSelector] = {\n color: 'HighlightText',\n },\n _f),\n },\n // Ensure high-contrast mode overrides default focus background\n _d[HighContrastSelector] = {\n background: 'Highlight',\n },\n _d),\n },\n _a[HighContrastSelector] = __assign(__assign({ background: 'Highlight', color: 'HighlightText' }, getHighContrastNoAdjustStyle()), { selectors: {\n a: {\n color: 'HighlightText',\n },\n } }),\n // Focus and hover state\n _a['&:focus:hover'] = {\n background: colors.focusHoverBackground,\n },\n _a),\n },\n ];\n var cannotSelectStyles = [\n classNames.isContentUnselectable,\n {\n userSelect: 'none',\n cursor: 'default',\n },\n ];\n var rootCompactStyles = {\n minHeight: values.compactRowHeight,\n border: 0,\n };\n var cellCompactStyles = {\n minHeight: values.compactRowHeight,\n paddingTop: values.compactRowVerticalPadding,\n paddingBottom: values.compactRowVerticalPadding,\n paddingLeft: cellStyleProps.cellLeftPadding + \"px\",\n };\n var defaultCellStyles = [\n getFocusStyle(theme, { inset: -1 }),\n classNames.cell,\n {\n display: 'inline-block',\n position: 'relative',\n boxSizing: 'border-box',\n minHeight: values.rowHeight,\n verticalAlign: 'top',\n whiteSpace: 'nowrap',\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n paddingTop: values.rowVerticalPadding,\n paddingBottom: values.rowVerticalPadding,\n paddingLeft: cellStyleProps.cellLeftPadding + \"px\",\n selectors: (_g = {\n '& > button': {\n maxWidth: '100%',\n }\n },\n _g[IsFocusableSelector] = getFocusStyle(theme, { inset: -1, borderColor: neutralSecondary, outlineColor: white }),\n _g),\n },\n isSelected && {\n selectors: (_h = {},\n _h[HighContrastSelector] = __assign(__assign({ background: 'Highlight', color: 'HighlightText' }, getHighContrastNoAdjustStyle()), { selectors: {\n a: {\n color: 'HighlightText',\n },\n } }),\n _h),\n },\n compact && cellCompactStyles,\n disabled && { opacity: 0.5 },\n ];\n return {\n root: [\n classNames.root,\n AnimationClassNames.fadeIn400,\n droppingClassName,\n theme.fonts.small,\n isCheckVisible && classNames.isCheckVisible,\n getFocusStyle(theme, { borderColor: focusBorder, outlineColor: white }),\n {\n borderBottom: \"1px solid \" + neutralLighter,\n background: colors.defaultBackground,\n color: colors.defaultMetaText,\n // This ensures that the row always tries to consume is minimum width and does not compress.\n display: 'inline-flex',\n minWidth: '100%',\n minHeight: values.rowHeight,\n whiteSpace: 'nowrap',\n padding: 0,\n boxSizing: 'border-box',\n verticalAlign: 'top',\n textAlign: 'left',\n selectors: (_j = {},\n _j[\".\" + classNames.listCellFirstChild + \" &:before\"] = {\n display: 'none',\n },\n _j['&:hover'] = {\n background: colors.defaultHoverBackground,\n color: colors.defaultHoverMetaText,\n selectors: (_k = {},\n _k[\".\" + classNames.isRowHeader] = {\n color: colors.defaultHoverHeaderText,\n },\n _k[\".\" + classNames.cell + \" > .\" + LinkGlobalClassNames.root] = {\n color: focusedLinkColor,\n },\n _k),\n },\n _j[\"&:hover .\" + classNames.check] = {\n opacity: 1,\n },\n _j[\".\" + IsFocusVisibleClassName + \" &:focus .\" + classNames.check] = {\n opacity: 1,\n },\n _j['.ms-GroupSpacer'] = {\n flexShrink: 0,\n flexGrow: 0,\n },\n _j),\n },\n isSelected && selectedStyles,\n !canSelect && cannotSelectStyles,\n compact && rootCompactStyles,\n className,\n ],\n cellUnpadded: {\n paddingRight: cellStyleProps.cellRightPadding + \"px\",\n },\n cellPadded: {\n paddingRight: cellStyleProps.cellExtraRightPadding + cellStyleProps.cellRightPadding + \"px\",\n selectors: (_l = {},\n _l[\"&.\" + classNames.cellCheck] = {\n paddingRight: 0,\n },\n _l),\n },\n cell: defaultCellStyles,\n cellAnimation: enableUpdateAnimations && AnimationStyles.slideLeftIn40,\n cellMeasurer: [\n classNames.cellMeasurer,\n {\n overflow: 'visible',\n whiteSpace: 'nowrap',\n },\n ],\n checkCell: [\n defaultCellStyles,\n classNames.cellCheck,\n checkboxCellClassName,\n {\n padding: 0,\n // Ensure that the check cell covers the top border of the cell.\n // This ensures the click target does not leave a spot which would\n // cause other items to be deselected.\n paddingTop: 1,\n marginTop: -1,\n flexShrink: 0,\n },\n ],\n checkCover: {\n position: 'absolute',\n top: -1,\n left: 0,\n bottom: 0,\n right: 0,\n display: anySelected ? 'block' : 'none',\n },\n fields: [\n classNames.fields,\n {\n display: 'flex',\n alignItems: 'stretch',\n },\n ],\n isRowHeader: [\n classNames.isRowHeader,\n {\n color: colors.defaultHeaderText,\n fontSize: fonts.medium.fontSize,\n },\n isSelected && {\n color: colors.selectedHeaderText,\n fontWeight: FontWeights.semibold,\n selectors: (_m = {},\n _m[HighContrastSelector] = {\n color: 'HighlightText',\n },\n _m),\n },\n ],\n isMultiline: [\n defaultCellStyles,\n {\n whiteSpace: 'normal',\n wordBreak: 'break-word',\n textOverflow: 'clip',\n },\n ],\n check: [classNames.check],\n };\n};\n//# sourceMappingURL=DetailsRow.styles.js.map","import { __assign, __rest } from \"tslib\";\nimport * as React from 'react';\nimport { css, styled, classNamesFunction, composeRenderFunction, getNativeElementProps } from '../../Utilities';\nimport { Check } from '../../Check';\nimport { getStyles } from './DetailsRowCheck.styles';\nimport { SelectionMode } from '../../Selection';\nvar getClassNames = classNamesFunction();\nvar DetailsRowCheckBase = function (props) {\n var _a = props.isVisible, isVisible = _a === void 0 ? false : _a, _b = props.canSelect, canSelect = _b === void 0 ? false : _b, _c = props.anySelected, anySelected = _c === void 0 ? false : _c, _d = props.selected, selected = _d === void 0 ? false : _d, selectionMode = props.selectionMode, _e = props.isHeader, isHeader = _e === void 0 ? false : _e, className = props.className, checkClassName = props.checkClassName, styles = props.styles, theme = props.theme, compact = props.compact, onRenderDetailsCheckbox = props.onRenderDetailsCheckbox, _f = props.useFastIcons, useFastIcons = _f === void 0 ? true : _f, // must be removed from buttonProps\n buttonProps = __rest(props, [\"isVisible\", \"canSelect\", \"anySelected\", \"selected\", \"selectionMode\", \"isHeader\", \"className\", \"checkClassName\", \"styles\", \"theme\", \"compact\", \"onRenderDetailsCheckbox\", \"useFastIcons\"]);\n var defaultCheckboxRender = useFastIcons ? _fastDefaultCheckboxRender : _defaultCheckboxRender;\n var onRenderCheckbox = onRenderDetailsCheckbox\n ? composeRenderFunction(onRenderDetailsCheckbox, defaultCheckboxRender)\n : defaultCheckboxRender;\n var classNames = getClassNames(styles, {\n theme: theme,\n canSelect: canSelect,\n selected: selected,\n anySelected: anySelected,\n className: className,\n isHeader: isHeader,\n isVisible: isVisible,\n compact: compact,\n });\n var detailsCheckboxProps = {\n checked: selected,\n theme: theme,\n };\n var divProps = getNativeElementProps('div', buttonProps, ['aria-label', 'aria-labelledby', 'aria-describedby']);\n var checkRole = selectionMode === SelectionMode.single ? 'radio' : 'checkbox';\n return canSelect ? (React.createElement(\"div\", __assign({}, buttonProps, { role: checkRole, \n // eslint-disable-next-line deprecation/deprecation\n className: css(classNames.root, classNames.check), \"aria-checked\": selected, \"data-selection-toggle\": true, \"data-automationid\": \"DetailsRowCheck\", tabIndex: -1 }), onRenderCheckbox(detailsCheckboxProps))) : (\n // eslint-disable-next-line deprecation/deprecation\n React.createElement(\"div\", __assign({}, divProps, { className: css(classNames.root, classNames.check) })));\n};\nvar FastCheck = React.memo(function (props) {\n return React.createElement(Check, { theme: props.theme, checked: props.checked, className: props.className, useFastIcons: true });\n});\nfunction _defaultCheckboxRender(checkboxProps) {\n return React.createElement(Check, { checked: checkboxProps.checked });\n}\nfunction _fastDefaultCheckboxRender(checkboxProps) {\n return React.createElement(FastCheck, { theme: checkboxProps.theme, checked: checkboxProps.checked });\n}\nexport var DetailsRowCheck = styled(DetailsRowCheckBase, getStyles, undefined, { scope: 'DetailsRowCheck' }, true);\n//# sourceMappingURL=DetailsRowCheck.js.map","import { getGlobalClassNames, getFocusStyle } from '../../Styling';\nimport { DEFAULT_ROW_HEIGHTS } from './DetailsRow.styles';\nimport { HEADER_HEIGHT } from './DetailsHeader.styles';\nimport { CheckGlobalClassNames } from '../../components/Check/Check.styles';\nvar GlobalClassNames = {\n root: 'ms-DetailsRow-check',\n isDisabled: 'ms-DetailsRow-check--isDisabled',\n isHeader: 'ms-DetailsRow-check--isHeader',\n};\nexport var CHECK_CELL_WIDTH = 48;\nexport var getStyles = function (props) {\n var theme = props.theme, className = props.className, isHeader = props.isHeader, selected = props.selected, anySelected = props.anySelected, canSelect = props.canSelect, compact = props.compact, isVisible = props.isVisible;\n var classNames = getGlobalClassNames(GlobalClassNames, theme);\n var rowHeight = DEFAULT_ROW_HEIGHTS.rowHeight, compactRowHeight = DEFAULT_ROW_HEIGHTS.compactRowHeight;\n var height = isHeader ? HEADER_HEIGHT : compact ? compactRowHeight : rowHeight;\n var isCheckVisible = isVisible || selected || anySelected;\n return {\n root: [classNames.root, className],\n check: [\n !canSelect && classNames.isDisabled,\n isHeader && classNames.isHeader,\n getFocusStyle(theme),\n theme.fonts.small,\n CheckGlobalClassNames.checkHost,\n {\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n cursor: 'default',\n boxSizing: 'border-box',\n verticalAlign: 'top',\n background: 'none',\n backgroundColor: 'transparent',\n border: 'none',\n opacity: isCheckVisible ? 1 : 0,\n height: height,\n width: CHECK_CELL_WIDTH,\n padding: 0,\n margin: 0,\n },\n ],\n isDisabled: [],\n };\n};\n//# sourceMappingURL=DetailsRowCheck.styles.js.map","import * as React from 'react';\nimport { css } from '../../Utilities';\nimport { DEFAULT_CELL_STYLE_PROPS } from './DetailsRow.styles';\nvar getCellText = function (item, column) {\n var value = item && column && column.fieldName ? item[column.fieldName] : '';\n if (value === null || value === undefined) {\n value = '';\n }\n if (typeof value === 'boolean') {\n return value.toString();\n }\n return value;\n};\n/**\n * Component for rendering a row's cells in a `DetailsList`.\n *\n * {@docCategory DetailsList}\n */\nexport var DetailsRowFields = function (props) {\n var columns = props.columns, columnStartIndex = props.columnStartIndex, rowClassNames = props.rowClassNames, _a = props.cellStyleProps, cellStyleProps = _a === void 0 ? DEFAULT_CELL_STYLE_PROPS : _a, item = props.item, itemIndex = props.itemIndex, onRenderItemColumn = props.onRenderItemColumn, getCellValueKey = props.getCellValueKey, cellsByColumn = props.cellsByColumn, enableUpdateAnimations = props.enableUpdateAnimations, rowHeaderId = props.rowHeaderId;\n var cellValueKeysRef = React.useRef();\n var cellValueKeys = cellValueKeysRef.current || (cellValueKeysRef.current = {});\n return (React.createElement(\"div\", { className: rowClassNames.fields, \"data-automationid\": \"DetailsRowFields\", role: \"presentation\" }, columns.map(function (column, columnIndex) {\n var width = typeof column.calculatedWidth === 'undefined'\n ? 'auto'\n : column.calculatedWidth +\n cellStyleProps.cellLeftPadding +\n cellStyleProps.cellRightPadding +\n (column.isPadded ? cellStyleProps.cellExtraRightPadding : 0);\n var _a = column.onRender, onRender = _a === void 0 ? onRenderItemColumn : _a, _b = column.getValueKey, getValueKey = _b === void 0 ? getCellValueKey : _b;\n var cellContentsRender = cellsByColumn && column.key in cellsByColumn\n ? cellsByColumn[column.key]\n : onRender\n ? onRender(item, itemIndex, column)\n : getCellText(item, column);\n var previousValueKey = cellValueKeys[column.key];\n var cellValueKey = enableUpdateAnimations && getValueKey ? getValueKey(item, itemIndex, column) : undefined;\n var showAnimation = false;\n if (cellValueKey !== undefined && previousValueKey !== undefined && cellValueKey !== previousValueKey) {\n showAnimation = true;\n }\n cellValueKeys[column.key] = cellValueKey;\n // generate a key that auto-dirties when content changes, to force the container to re-render,\n // to trigger animation\n var key = \"\" + column.key + (cellValueKey !== undefined ? \"-\" + cellValueKey : '');\n return (React.createElement(\"div\", { key: key, id: column.isRowHeader ? rowHeaderId : undefined, role: column.isRowHeader ? 'rowheader' : 'gridcell', \"aria-readonly\": true, \"aria-colindex\": columnIndex + columnStartIndex + 1, className: css(column.className, column.isMultiline && rowClassNames.isMultiline, column.isRowHeader && rowClassNames.isRowHeader, rowClassNames.cell, column.isPadded ? rowClassNames.cellPadded : rowClassNames.cellUnpadded, showAnimation && rowClassNames.cellAnimation), style: { width: width }, \"data-automationid\": \"DetailsRowCell\", \"data-automation-key\": column.key }, cellContentsRender));\n })));\n};\n//# sourceMappingURL=DetailsRowFields.js.map","import { __assign, __extends, __rest } from \"tslib\";\nimport * as React from 'react';\nimport { classNamesFunction, css } from '../../Utilities';\nimport { SelectionMode } from '../../Selection';\nimport { DetailsList } from './DetailsList';\nimport { Shimmer, ShimmerElementsGroup, ShimmerElementType } from '../../Shimmer';\nimport { CheckboxVisibility } from './DetailsList.types';\nimport { DEFAULT_CELL_STYLE_PROPS, DEFAULT_ROW_HEIGHTS } from './DetailsRow.styles';\nvar getClassNames = classNamesFunction();\nvar SHIMMER_INITIAL_ITEMS = 10;\nvar DEFAULT_SHIMMER_HEIGHT = 7;\nvar SHIMMER_LINE_VS_CELL_WIDTH_RATIO = 0.95;\nvar ShimmeredDetailsListBase = /** @class */ (function (_super) {\n __extends(ShimmeredDetailsListBase, _super);\n function ShimmeredDetailsListBase(props) {\n var _this = _super.call(this, props) || this;\n _this._onRenderShimmerPlaceholder = function (index, rowProps) {\n var onRenderCustomPlaceholder = _this.props.onRenderCustomPlaceholder;\n var placeholderElements = onRenderCustomPlaceholder\n ? onRenderCustomPlaceholder(rowProps, index, _this._renderDefaultShimmerPlaceholder)\n : _this._renderDefaultShimmerPlaceholder(rowProps);\n return React.createElement(Shimmer, { customElementsGroup: placeholderElements });\n };\n _this._renderDefaultShimmerPlaceholder = function (rowProps) {\n var columns = rowProps.columns, compact = rowProps.compact, selectionMode = rowProps.selectionMode, checkboxVisibility = rowProps.checkboxVisibility, _a = rowProps.cellStyleProps, cellStyleProps = _a === void 0 ? DEFAULT_CELL_STYLE_PROPS : _a;\n var rowHeight = DEFAULT_ROW_HEIGHTS.rowHeight, compactRowHeight = DEFAULT_ROW_HEIGHTS.compactRowHeight;\n // 1px to take into account the border-bottom of DetailsRow.\n var gapHeight = compact ? compactRowHeight : rowHeight + 1;\n var shimmerElementsRow = [];\n var showCheckbox = selectionMode !== SelectionMode.none && checkboxVisibility !== CheckboxVisibility.hidden;\n if (showCheckbox) {\n shimmerElementsRow.push(React.createElement(ShimmerElementsGroup, { key: 'checkboxGap', shimmerElements: [{ type: ShimmerElementType.gap, width: '40px', height: gapHeight }] }));\n }\n columns.forEach(function (column, columnIdx) {\n var shimmerElements = [];\n var groupWidth = cellStyleProps.cellLeftPadding +\n cellStyleProps.cellRightPadding +\n column.calculatedWidth +\n (column.isPadded ? cellStyleProps.cellExtraRightPadding : 0);\n shimmerElements.push({\n type: ShimmerElementType.gap,\n width: cellStyleProps.cellLeftPadding,\n height: gapHeight,\n });\n if (column.isIconOnly) {\n shimmerElements.push({\n type: ShimmerElementType.line,\n width: column.calculatedWidth,\n height: column.calculatedWidth,\n });\n shimmerElements.push({\n type: ShimmerElementType.gap,\n width: cellStyleProps.cellRightPadding,\n height: gapHeight,\n });\n }\n else {\n shimmerElements.push({\n type: ShimmerElementType.line,\n width: column.calculatedWidth * SHIMMER_LINE_VS_CELL_WIDTH_RATIO,\n height: DEFAULT_SHIMMER_HEIGHT,\n });\n shimmerElements.push({\n type: ShimmerElementType.gap,\n width: cellStyleProps.cellRightPadding +\n (column.calculatedWidth - column.calculatedWidth * SHIMMER_LINE_VS_CELL_WIDTH_RATIO) +\n (column.isPadded ? cellStyleProps.cellExtraRightPadding : 0),\n height: gapHeight,\n });\n }\n shimmerElementsRow.push(React.createElement(ShimmerElementsGroup, { key: columnIdx, width: groupWidth + \"px\", shimmerElements: shimmerElements }));\n });\n // When resizing the window from narrow to wider, we need to cover the exposed Shimmer wave\n // until the column resizing logic is done.\n shimmerElementsRow.push(React.createElement(ShimmerElementsGroup, { key: 'endGap', width: '100%', shimmerElements: [{ type: ShimmerElementType.gap, width: '100%', height: gapHeight }] }));\n return React.createElement(\"div\", { style: { display: 'flex' } }, shimmerElementsRow);\n };\n _this._shimmerItems = props.shimmerLines ? new Array(props.shimmerLines) : new Array(SHIMMER_INITIAL_ITEMS);\n return _this;\n }\n ShimmeredDetailsListBase.prototype.render = function () {\n var _a = this.props, detailsListStyles = _a.detailsListStyles, enableShimmer = _a.enableShimmer, items = _a.items, listProps = _a.listProps, onRenderCustomPlaceholder = _a.onRenderCustomPlaceholder, removeFadingOverlay = _a.removeFadingOverlay, shimmerLines = _a.shimmerLines, styles = _a.styles, theme = _a.theme, ariaLabelForGrid = _a.ariaLabelForGrid, ariaLabelForShimmer = _a.ariaLabelForShimmer, restProps = __rest(_a, [\"detailsListStyles\", \"enableShimmer\", \"items\", \"listProps\", \"onRenderCustomPlaceholder\", \"removeFadingOverlay\", \"shimmerLines\", \"styles\", \"theme\", \"ariaLabelForGrid\", \"ariaLabelForShimmer\"]);\n var listClassName = listProps && listProps.className;\n this._classNames = getClassNames(styles, {\n theme: theme,\n });\n var newListProps = __assign(__assign({}, listProps), { \n // Adds to the optional listProp className a fading out overlay className only when `enableShimmer` toggled on\n // and the overlay is not disabled by `removeFadingOverlay` prop.\n className: enableShimmer && !removeFadingOverlay ? css(this._classNames.root, listClassName) : listClassName });\n return (React.createElement(DetailsList, __assign({}, restProps, { styles: detailsListStyles, items: enableShimmer ? this._shimmerItems : items, isPlaceholderData: enableShimmer, ariaLabelForGrid: (enableShimmer && ariaLabelForShimmer) || ariaLabelForGrid, onRenderMissingItem: this._onRenderShimmerPlaceholder, listProps: newListProps })));\n };\n return ShimmeredDetailsListBase;\n}(React.Component));\nexport { ShimmeredDetailsListBase };\n//# sourceMappingURL=ShimmeredDetailsList.base.js.map","import { styled } from '../../Utilities';\nimport { ShimmeredDetailsListBase } from './ShimmeredDetailsList.base';\nimport { getStyles } from './ShimmeredDetailsList.styles';\nexport var ShimmeredDetailsList = styled(ShimmeredDetailsListBase, getStyles, undefined, { scope: 'ShimmeredDetailsList' });\n//# sourceMappingURL=ShimmeredDetailsList.js.map","export var getStyles = function (props) {\n var theme = props.theme;\n var palette = theme.palette;\n return {\n root: {\n position: 'relative',\n selectors: {\n ':after': {\n content: '\"\"',\n position: 'absolute',\n top: 0,\n right: 0,\n bottom: 0,\n left: 0,\n // eslint-disable-next-line @fluentui/max-len\n backgroundImage: \"linear-gradient(to bottom, transparent 30%, \" + palette.whiteTranslucent40 + \" 65%,\" + palette.white + \" 100%)\",\n },\n },\n },\n };\n};\n//# sourceMappingURL=ShimmeredDetailsList.styles.js.map","import { __assign, __decorate, __extends } from \"tslib\";\nimport * as React from 'react';\nimport { warnDeprecations, classNamesFunction, getId } from '../../Utilities';\nimport { DialogType } from './DialogContent.types';\nimport { Modal } from '../../Modal';\nimport { withResponsiveMode } from '../../ResponsiveMode';\nvar getClassNames = classNamesFunction();\nimport { DialogContent } from './DialogContent';\nvar DefaultModalProps = {\n isDarkOverlay: false,\n isBlocking: false,\n className: '',\n containerClassName: '',\n topOffsetFixed: false,\n};\nvar DefaultDialogContentProps = {\n type: DialogType.normal,\n className: '',\n topButtonsProps: [],\n};\n// eslint-disable-next-line deprecation/deprecation\nvar DialogBase = /** @class */ (function (_super) {\n __extends(DialogBase, _super);\n function DialogBase(props) {\n var _this = _super.call(this, props) || this;\n _this._getSubTextId = function () {\n // eslint-disable-next-line deprecation/deprecation\n var _a = _this.props, ariaDescribedById = _a.ariaDescribedById, modalProps = _a.modalProps, dialogContentProps = _a.dialogContentProps, subText = _a.subText;\n var id = (modalProps && modalProps.subtitleAriaId) || ariaDescribedById;\n if (!id) {\n id = ((dialogContentProps && dialogContentProps.subText) || subText) && _this._defaultSubTextId;\n }\n return id;\n };\n _this._getTitleTextId = function () {\n // eslint-disable-next-line deprecation/deprecation\n var _a = _this.props, ariaLabelledById = _a.ariaLabelledById, modalProps = _a.modalProps, dialogContentProps = _a.dialogContentProps, title = _a.title;\n var id = (modalProps && modalProps.titleAriaId) || ariaLabelledById;\n if (!id) {\n id = ((dialogContentProps && dialogContentProps.title) || title) && _this._defaultTitleTextId;\n }\n return id;\n };\n _this._id = getId('Dialog');\n _this._defaultTitleTextId = _this._id + '-title';\n _this._defaultSubTextId = _this._id + '-subText';\n if (process.env.NODE_ENV !== 'production') {\n warnDeprecations('Dialog', props, {\n isOpen: 'hidden',\n type: 'dialogContentProps.type',\n subText: 'dialogContentProps.subText',\n contentClassName: 'dialogContentProps.className',\n topButtonsProps: 'dialogContentProps.topButtonsProps',\n className: 'modalProps.className',\n isDarkOverlay: 'modalProps.isDarkOverlay',\n isBlocking: 'modalProps.isBlocking',\n containerClassName: 'modalProps.containerClassName',\n onDismissed: 'modalProps.onDismissed',\n onLayerDidMount: 'modalProps.layerProps.onLayerDidMount',\n ariaDescribedById: 'modalProps.subtitleAriaId',\n ariaLabelledById: 'modalProps.titleAriaId',\n });\n }\n return _this;\n }\n DialogBase.prototype.render = function () {\n var _a, _b;\n var _c = this.props, \n /* eslint-disable deprecation/deprecation */\n className = _c.className, containerClassName = _c.containerClassName, contentClassName = _c.contentClassName, elementToFocusOnDismiss = _c.elementToFocusOnDismiss, firstFocusableSelector = _c.firstFocusableSelector, forceFocusInsideTrap = _c.forceFocusInsideTrap, styles = _c.styles, hidden = _c.hidden, ignoreExternalFocusing = _c.ignoreExternalFocusing, isBlocking = _c.isBlocking, isClickableOutsideFocusTrap = _c.isClickableOutsideFocusTrap, isDarkOverlay = _c.isDarkOverlay, isOpen = _c.isOpen, onDismiss = _c.onDismiss, onDismissed = _c.onDismissed, onLayerDidMount = _c.onLayerDidMount, responsiveMode = _c.responsiveMode, subText = _c.subText, theme = _c.theme, title = _c.title, topButtonsProps = _c.topButtonsProps, type = _c.type, \n /* eslint-enable deprecation/deprecation */\n minWidth = _c.minWidth, maxWidth = _c.maxWidth, modalProps = _c.modalProps;\n var mergedLayerProps = __assign({}, (modalProps ? modalProps.layerProps : { onLayerDidMount: onLayerDidMount }));\n if (onLayerDidMount && !mergedLayerProps.onLayerDidMount) {\n mergedLayerProps.onLayerDidMount = onLayerDidMount;\n }\n var dialogDraggableClassName;\n var dragOptions;\n // if we are draggable, make sure we are using the correct\n // draggable classname and selectors\n if (modalProps && modalProps.dragOptions && !modalProps.dragOptions.dragHandleSelector) {\n dialogDraggableClassName = 'ms-Dialog-draggable-header';\n dragOptions = __assign(__assign({}, modalProps.dragOptions), { dragHandleSelector: \".\" + dialogDraggableClassName });\n }\n else {\n dragOptions = modalProps && modalProps.dragOptions;\n }\n var mergedModalProps = __assign(__assign(__assign(__assign({}, DefaultModalProps), { className: className, containerClassName: containerClassName, isBlocking: isBlocking, isDarkOverlay: isDarkOverlay, onDismissed: onDismissed }), modalProps), { layerProps: mergedLayerProps, dragOptions: dragOptions });\n var dialogContentProps = __assign(__assign(__assign({ className: contentClassName, subText: subText, title: title, topButtonsProps: topButtonsProps, type: type }, DefaultDialogContentProps), this.props.dialogContentProps), { draggableHeaderClassName: dialogDraggableClassName, titleProps: __assign({ \n // eslint-disable-next-line deprecation/deprecation\n id: ((_a = this.props.dialogContentProps) === null || _a === void 0 ? void 0 : _a.titleId) || this._defaultTitleTextId }, (_b = this.props.dialogContentProps) === null || _b === void 0 ? void 0 : _b.titleProps) });\n var classNames = getClassNames(styles, {\n theme: theme,\n className: mergedModalProps.className,\n containerClassName: mergedModalProps.containerClassName,\n hidden: hidden,\n dialogDefaultMinWidth: minWidth,\n dialogDefaultMaxWidth: maxWidth,\n });\n return (React.createElement(Modal, __assign({ elementToFocusOnDismiss: elementToFocusOnDismiss, firstFocusableSelector: firstFocusableSelector, forceFocusInsideTrap: forceFocusInsideTrap, ignoreExternalFocusing: ignoreExternalFocusing, isClickableOutsideFocusTrap: isClickableOutsideFocusTrap, responsiveMode: responsiveMode }, mergedModalProps, { isOpen: isOpen !== undefined ? isOpen : !hidden, className: classNames.root, containerClassName: classNames.main, onDismiss: onDismiss ? onDismiss : mergedModalProps.onDismiss, subtitleAriaId: this._getSubTextId(), titleAriaId: this._getTitleTextId() }),\n React.createElement(DialogContent, __assign({ subTextId: this._defaultSubTextId, showCloseButton: mergedModalProps.isBlocking, onDismiss: onDismiss }, dialogContentProps), this.props.children)));\n };\n DialogBase.defaultProps = {\n hidden: true,\n };\n DialogBase = __decorate([\n withResponsiveMode\n ], DialogBase);\n return DialogBase;\n}(React.Component));\nexport { DialogBase };\n//# sourceMappingURL=Dialog.base.js.map","import { ScreenWidthMinMedium, getGlobalClassNames } from '../../Styling';\nvar GlobalClassNames = {\n root: 'ms-Dialog',\n};\nexport var getStyles = function (props) {\n var _a;\n var className = props.className, containerClassName = props.containerClassName, // eslint-disable-line deprecation/deprecation\n _b = props.dialogDefaultMinWidth, // eslint-disable-line deprecation/deprecation\n dialogDefaultMinWidth = _b === void 0 ? '288px' : _b, _c = props.dialogDefaultMaxWidth, dialogDefaultMaxWidth = _c === void 0 ? '340px' : _c, hidden = props.hidden, theme = props.theme;\n var classNames = getGlobalClassNames(GlobalClassNames, theme);\n return {\n root: [classNames.root, theme.fonts.medium, className],\n main: [\n {\n width: dialogDefaultMinWidth,\n outline: '3px solid transparent',\n selectors: (_a = {},\n _a[\"@media (min-width: \" + ScreenWidthMinMedium + \"px)\"] = {\n width: 'auto',\n maxWidth: dialogDefaultMaxWidth,\n minWidth: dialogDefaultMinWidth,\n },\n _a),\n },\n !hidden && { display: 'flex' },\n containerClassName,\n ],\n };\n};\n//# sourceMappingURL=Dialog.styles.js.map","import { styled } from '../../Utilities';\nimport { DialogBase } from './Dialog.base';\nimport { getStyles } from './Dialog.styles';\nexport var Dialog = styled(DialogBase, getStyles, undefined, { scope: 'Dialog' });\nDialog.displayName = 'Dialog';\n//# sourceMappingURL=Dialog.js.map","import { __assign, __decorate, __extends } from \"tslib\";\nimport * as React from 'react';\nimport { classNamesFunction, css, warnDeprecations, initializeComponentRef } from '../../Utilities';\nimport { DialogType } from './DialogContent.types';\nimport { IconButton } from '../../Button';\nimport { DialogFooter } from './DialogFooter';\nimport { withResponsiveMode } from '../../ResponsiveMode';\nvar getClassNames = classNamesFunction();\nvar DialogFooterType = (React.createElement(DialogFooter, null)).type;\nvar COMPONENT_NAME = 'DialogContent';\n// eslint-disable-next-line deprecation/deprecation\nvar DialogContentBase = /** @class */ (function (_super) {\n __extends(DialogContentBase, _super);\n function DialogContentBase(props) {\n var _this = _super.call(this, props) || this;\n initializeComponentRef(_this);\n warnDeprecations(COMPONENT_NAME, props, {\n titleId: 'titleProps.id',\n });\n return _this;\n }\n DialogContentBase.prototype.render = function () {\n var _a = this.props, showCloseButton = _a.showCloseButton, className = _a.className, closeButtonAriaLabel = _a.closeButtonAriaLabel, onDismiss = _a.onDismiss, subTextId = _a.subTextId, subText = _a.subText, _b = _a.titleProps, titleProps = _b === void 0 ? {} : _b, \n // eslint-disable-next-line deprecation/deprecation\n titleId = _a.titleId, title = _a.title, type = _a.type, styles = _a.styles, theme = _a.theme, draggableHeaderClassName = _a.draggableHeaderClassName;\n var classNames = getClassNames(styles, {\n theme: theme,\n className: className,\n isLargeHeader: type === DialogType.largeHeader,\n isClose: type === DialogType.close,\n draggableHeaderClassName: draggableHeaderClassName,\n });\n var groupings = this._groupChildren();\n var subTextContent;\n if (subText) {\n subTextContent = (React.createElement(\"p\", { className: classNames.subText, id: subTextId }, subText));\n }\n return (React.createElement(\"div\", { className: classNames.content },\n React.createElement(\"div\", { className: classNames.header },\n React.createElement(\"div\", __assign({ id: titleId, role: \"heading\", \"aria-level\": 1 }, titleProps, { className: css(classNames.title, titleProps.className) }), title),\n React.createElement(\"div\", { className: classNames.topButton },\n this.props.topButtonsProps.map(function (props, index) { return (React.createElement(IconButton, __assign({ key: props.uniqueId || index }, props))); }),\n (type === DialogType.close || (showCloseButton && type !== DialogType.largeHeader)) && (React.createElement(IconButton, { className: classNames.button, iconProps: { iconName: 'Cancel' }, ariaLabel: closeButtonAriaLabel, onClick: onDismiss })))),\n React.createElement(\"div\", { className: classNames.inner },\n React.createElement(\"div\", { className: classNames.innerContent },\n subTextContent,\n groupings.contents),\n groupings.footers)));\n };\n // @TODO - typing the footers as an array of DialogFooter is difficult because\n // casing \"child as DialogFooter\" causes a problem because\n // \"Neither type 'ReactElement' nor type 'DialogFooter' is assignable to the other.\"\n DialogContentBase.prototype._groupChildren = function () {\n var groupings = {\n footers: [],\n contents: [],\n };\n React.Children.map(this.props.children, function (child) {\n if (typeof child === 'object' && child !== null && child.type === DialogFooterType) {\n groupings.footers.push(child);\n }\n else {\n groupings.contents.push(child);\n }\n });\n return groupings;\n };\n DialogContentBase.defaultProps = {\n showCloseButton: false,\n className: '',\n topButtonsProps: [],\n closeButtonAriaLabel: 'Close',\n };\n DialogContentBase = __decorate([\n withResponsiveMode\n ], DialogContentBase);\n return DialogContentBase;\n}(React.Component));\nexport { DialogContentBase };\n//# sourceMappingURL=DialogContent.base.js.map","import { FontWeights, getGlobalClassNames, IconFontSizes, ScreenWidthMinSmall, ScreenWidthMaxSmall, } from '../../Styling';\nvar GlobalClassNames = {\n contentLgHeader: 'ms-Dialog-lgHeader',\n close: 'ms-Dialog--close',\n subText: 'ms-Dialog-subText',\n header: 'ms-Dialog-header',\n headerLg: 'ms-Dialog--lgHeader',\n button: 'ms-Dialog-button ms-Dialog-button--close',\n inner: 'ms-Dialog-inner',\n content: 'ms-Dialog-content',\n title: 'ms-Dialog-title',\n};\nexport var getStyles = function (props) {\n var _a, _b, _c;\n var className = props.className, theme = props.theme, isLargeHeader = props.isLargeHeader, isClose = props.isClose, hidden = props.hidden, isMultiline = props.isMultiline, draggableHeaderClassName = props.draggableHeaderClassName;\n var palette = theme.palette, fonts = theme.fonts, effects = theme.effects, semanticColors = theme.semanticColors;\n var classNames = getGlobalClassNames(GlobalClassNames, theme);\n return {\n content: [\n isLargeHeader && [\n classNames.contentLgHeader,\n {\n borderTop: \"4px solid \" + palette.themePrimary,\n },\n ],\n isClose && classNames.close,\n {\n flexGrow: 1,\n overflowY: 'hidden', // required for allowScrollOnElement\n },\n className,\n ],\n subText: [\n classNames.subText,\n fonts.medium,\n {\n margin: '0 0 24px 0',\n color: semanticColors.bodySubtext,\n lineHeight: '1.5',\n wordWrap: 'break-word',\n fontWeight: FontWeights.regular,\n },\n ],\n header: [\n classNames.header,\n {\n position: 'relative',\n width: '100%',\n boxSizing: 'border-box',\n },\n isClose && classNames.close,\n draggableHeaderClassName && [\n draggableHeaderClassName,\n {\n cursor: 'move',\n },\n ],\n ],\n button: [\n classNames.button,\n hidden && {\n selectors: {\n '.ms-Icon.ms-Icon--Cancel': {\n color: semanticColors.buttonText,\n fontSize: IconFontSizes.medium,\n },\n },\n },\n ],\n inner: [\n classNames.inner,\n {\n padding: '0 24px 24px',\n selectors: (_a = {},\n _a[\"@media (min-width: \" + ScreenWidthMinSmall + \"px) and (max-width: \" + ScreenWidthMaxSmall + \"px)\"] = {\n padding: '0 16px 16px',\n },\n _a),\n },\n ],\n innerContent: [\n classNames.content,\n {\n position: 'relative',\n width: '100%',\n },\n ],\n title: [\n classNames.title,\n fonts.xLarge,\n {\n color: semanticColors.bodyText,\n margin: '0',\n minHeight: fonts.xLarge.fontSize,\n padding: '16px 46px 20px 24px',\n lineHeight: 'normal',\n selectors: (_b = {},\n _b[\"@media (min-width: \" + ScreenWidthMinSmall + \"px) and (max-width: \" + ScreenWidthMaxSmall + \"px)\"] = {\n padding: '16px 46px 16px 16px',\n },\n _b),\n },\n isLargeHeader && {\n color: semanticColors.menuHeader,\n },\n isMultiline && { fontSize: fonts.xxLarge.fontSize },\n ],\n topButton: [\n {\n display: 'flex',\n flexDirection: 'row',\n flexWrap: 'nowrap',\n position: 'absolute',\n top: '0',\n right: '0',\n padding: '15px 15px 0 0',\n selectors: (_c = {\n '> *': {\n flex: '0 0 auto',\n },\n '.ms-Dialog-button': {\n color: semanticColors.buttonText,\n },\n '.ms-Dialog-button:hover': {\n color: semanticColors.buttonTextHovered,\n borderRadius: effects.roundedCorner2,\n }\n },\n _c[\"@media (min-width: \" + ScreenWidthMinSmall + \"px) and (max-width: \" + ScreenWidthMaxSmall + \"px)\"] = {\n padding: '15px 8px 0 0',\n },\n _c),\n },\n ],\n };\n};\n//# sourceMappingURL=DialogContent.styles.js.map","import { styled } from '../../Utilities';\nimport { DialogContentBase } from './DialogContent.base';\nimport { getStyles } from './DialogContent.styles';\nexport var DialogContent = styled(DialogContentBase, getStyles, undefined, { scope: 'DialogContent' });\n//# sourceMappingURL=DialogContent.js.map","/**\n * {@docCategory Dialog}\n */\nexport var DialogType;\n(function (DialogType) {\n /** Standard dialog */\n DialogType[DialogType[\"normal\"] = 0] = \"normal\";\n /** Dialog with large header banner */\n DialogType[DialogType[\"largeHeader\"] = 1] = \"largeHeader\";\n /** Dialog with an 'x' close button in the upper-right corner */\n DialogType[DialogType[\"close\"] = 2] = \"close\";\n})(DialogType || (DialogType = {}));\n//# sourceMappingURL=DialogContent.types.js.map","import { __extends } from \"tslib\";\nimport * as React from 'react';\nimport { classNamesFunction, initializeComponentRef } from '../../Utilities';\nvar getClassNames = classNamesFunction();\nvar DialogFooterBase = /** @class */ (function (_super) {\n __extends(DialogFooterBase, _super);\n function DialogFooterBase(props) {\n var _this = _super.call(this, props) || this;\n initializeComponentRef(_this);\n return _this;\n }\n DialogFooterBase.prototype.render = function () {\n var _a = this.props, className = _a.className, styles = _a.styles, theme = _a.theme;\n this._classNames = getClassNames(styles, {\n theme: theme,\n className: className,\n });\n return (React.createElement(\"div\", { className: this._classNames.actions },\n React.createElement(\"div\", { className: this._classNames.actionsRight }, this._renderChildrenAsActions())));\n };\n DialogFooterBase.prototype._renderChildrenAsActions = function () {\n var _this = this;\n return React.Children.map(this.props.children, function (child) {\n return child ? React.createElement(\"span\", { className: _this._classNames.action }, child) : null;\n });\n };\n return DialogFooterBase;\n}(React.Component));\nexport { DialogFooterBase };\n//# sourceMappingURL=DialogFooter.base.js.map","import { getGlobalClassNames } from '../../Styling';\nvar GlobalClassNames = {\n actions: 'ms-Dialog-actions',\n action: 'ms-Dialog-action',\n actionsRight: 'ms-Dialog-actionsRight',\n};\nexport var getStyles = function (props) {\n var className = props.className, theme = props.theme;\n var classNames = getGlobalClassNames(GlobalClassNames, theme);\n return {\n actions: [\n classNames.actions,\n {\n position: 'relative',\n width: '100%',\n minHeight: '24px',\n lineHeight: '24px',\n margin: '16px 0 0',\n fontSize: '0',\n selectors: {\n '.ms-Button': {\n lineHeight: 'normal',\n },\n },\n },\n className,\n ],\n action: [\n classNames.action,\n {\n margin: '0 4px',\n },\n ],\n actionsRight: [\n classNames.actionsRight,\n {\n textAlign: 'right',\n marginRight: '-4px',\n fontSize: '0',\n },\n ],\n };\n};\n//# sourceMappingURL=DialogFooter.styles.js.map","import { styled } from '../../Utilities';\nimport { DialogFooterBase } from './DialogFooter.base';\nimport { getStyles } from './DialogFooter.styles';\nexport var DialogFooter = styled(DialogFooterBase, getStyles, undefined, { scope: 'DialogFooter' });\n//# sourceMappingURL=DialogFooter.js.map","export var getStyles = function (props) {\n // eslint-disable-next-line deprecation/deprecation\n var theme = props.theme, getClassNames = props.getClassNames, className = props.className;\n if (!theme) {\n throw new Error('Theme is undefined or null.');\n }\n if (getClassNames) {\n var names = getClassNames(theme);\n return {\n wrapper: [names.wrapper],\n divider: [names.divider],\n };\n }\n return {\n wrapper: [\n {\n display: 'inline-flex',\n height: '100%',\n alignItems: 'center',\n },\n className,\n ],\n divider: [\n {\n width: 1,\n height: '100%',\n backgroundColor: theme.palette.neutralTertiaryAlt,\n },\n ],\n };\n};\n//# sourceMappingURL=VerticalDivider.styles.js.map","import * as React from 'react';\nimport { classNamesFunction } from '../../Utilities';\nvar getClassNames = classNamesFunction();\nexport var VerticalDividerBase = React.forwardRef(function (props, ref) {\n // eslint-disable-next-line deprecation/deprecation\n var styles = props.styles, theme = props.theme, deprecatedGetClassNames = props.getClassNames, className = props.className;\n var classNames = getClassNames(styles, { theme: theme, getClassNames: deprecatedGetClassNames, className: className });\n return (React.createElement(\"span\", { className: classNames.wrapper, ref: ref },\n React.createElement(\"span\", { className: classNames.divider })));\n});\nVerticalDividerBase.displayName = 'VerticalDividerBase';\n//# sourceMappingURL=VerticalDivider.base.js.map","import { getStyles } from './VerticalDivider.styles';\nimport { VerticalDividerBase } from './VerticalDivider.base';\nimport { styled } from '../../Utilities';\nexport var VerticalDivider = styled(VerticalDividerBase, getStyles, undefined, {\n scope: 'VerticalDivider',\n});\n//# sourceMappingURL=VerticalDivider.js.map","/**\n * {@docCategory DocumentCard}\n */\nexport var DocumentCardType;\n(function (DocumentCardType) {\n /**\n * Standard DocumentCard.\n */\n DocumentCardType[DocumentCardType[\"normal\"] = 0] = \"normal\";\n /**\n * Compact layout. Displays the preview beside the details, rather than above.\n */\n DocumentCardType[DocumentCardType[\"compact\"] = 1] = \"compact\";\n})(DocumentCardType || (DocumentCardType = {}));\n//# sourceMappingURL=DocumentCard.types.js.map","import { __assign, __extends } from \"tslib\";\nimport * as React from 'react';\nimport { classNamesFunction, KeyCodes, getNativeProps, divProperties, warnDeprecations, initializeComponentRef, } from '../../Utilities';\nimport { DocumentCardType } from './DocumentCard.types';\nvar getClassNames = classNamesFunction();\nvar COMPONENT_NAME = 'DocumentCard';\n/**\n * {@docCategory DocumentCard}\n */\nvar DocumentCardBase = /** @class */ (function (_super) {\n __extends(DocumentCardBase, _super);\n function DocumentCardBase(props) {\n var _this = _super.call(this, props) || this;\n _this._rootElement = React.createRef();\n _this._onClick = function (ev) {\n _this._onAction(ev);\n };\n _this._onKeyDown = function (ev) {\n // eslint-disable-next-line deprecation/deprecation\n if (ev.which === KeyCodes.enter || ev.which === KeyCodes.space) {\n _this._onAction(ev);\n }\n };\n _this._onAction = function (ev) {\n var _a = _this.props, onClick = _a.onClick, onClickHref = _a.onClickHref, onClickTarget = _a.onClickTarget;\n if (onClick) {\n onClick(ev);\n }\n else if (!onClick && onClickHref) {\n // If no onClick Function was provided and we do have an onClickHref, redirect to the onClickHref\n if (onClickTarget) {\n window.open(onClickHref, onClickTarget, 'noreferrer noopener nofollow');\n }\n else {\n window.location.href = onClickHref;\n }\n ev.preventDefault();\n ev.stopPropagation();\n }\n };\n initializeComponentRef(_this);\n warnDeprecations(COMPONENT_NAME, props, {\n accentColor: undefined,\n });\n return _this;\n }\n DocumentCardBase.prototype.render = function () {\n // eslint-disable-next-line deprecation/deprecation\n var _a = this.props, onClick = _a.onClick, onClickHref = _a.onClickHref, children = _a.children, type = _a.type, accentColor = _a.accentColor, styles = _a.styles, theme = _a.theme, className = _a.className;\n var nativeProps = getNativeProps(this.props, divProperties, [\n 'className',\n 'onClick',\n 'type',\n 'role',\n ]);\n var actionable = onClick || onClickHref ? true : false;\n this._classNames = getClassNames(styles, {\n theme: theme,\n className: className,\n actionable: actionable,\n compact: type === DocumentCardType.compact ? true : false,\n });\n // Override the border color if an accent color was provided (compact card only)\n var style;\n if (type === DocumentCardType.compact && accentColor) {\n style = {\n borderBottomColor: accentColor,\n };\n }\n // if this element is actionable it should have an aria role\n var role = this.props.role || (actionable ? (onClick ? 'button' : 'link') : undefined);\n var tabIndex = actionable ? 0 : undefined;\n return (React.createElement(\"div\", __assign({ ref: this._rootElement, tabIndex: tabIndex, \"data-is-focusable\": actionable, role: role, className: this._classNames.root, onKeyDown: actionable ? this._onKeyDown : undefined, onClick: actionable ? this._onClick : undefined, style: style }, nativeProps), children));\n };\n DocumentCardBase.prototype.focus = function () {\n if (this._rootElement.current) {\n this._rootElement.current.focus();\n }\n };\n DocumentCardBase.defaultProps = {\n type: DocumentCardType.normal,\n };\n return DocumentCardBase;\n}(React.Component));\nexport { DocumentCardBase };\n//# sourceMappingURL=DocumentCard.base.js.map","import { getFocusStyle, getGlobalClassNames, HighContrastSelector } from '../../Styling';\nimport { IsFocusVisibleClassName } from '../../Utilities';\nexport var DocumentCardPreviewGlobalClassNames = {\n root: 'ms-DocumentCardPreview',\n icon: 'ms-DocumentCardPreview-icon',\n iconContainer: 'ms-DocumentCardPreview-iconContainer',\n};\nexport var getStyles = function (props) {\n var _a, _b;\n var theme = props.theme, className = props.className, isFileList = props.isFileList;\n var palette = theme.palette, fonts = theme.fonts;\n var classNames = getGlobalClassNames(DocumentCardPreviewGlobalClassNames, theme);\n return {\n root: [\n classNames.root,\n fonts.small,\n {\n backgroundColor: isFileList ? palette.white : palette.neutralLighterAlt,\n borderBottom: \"1px solid \" + palette.neutralLight,\n overflow: \"hidden\",\n position: 'relative',\n },\n className,\n ],\n previewIcon: [\n classNames.iconContainer,\n {\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n height: '100%',\n },\n ],\n icon: [\n classNames.icon,\n {\n left: '10px',\n bottom: '10px',\n position: 'absolute',\n },\n ],\n fileList: {\n padding: '16px 16px 0 16px',\n listStyleType: 'none',\n margin: 0,\n selectors: {\n li: {\n height: '16px',\n lineHeight: '16px',\n display: 'flex',\n flexWrap: 'nowrap',\n alignItems: 'center',\n marginBottom: '8px',\n overflow: 'hidden',\n },\n },\n },\n fileListIcon: {\n display: 'inline-block',\n flexShrink: 0,\n marginRight: '8px',\n },\n fileListLink: [\n getFocusStyle(theme, {\n highContrastStyle: {\n border: '1px solid WindowText',\n outline: 'none',\n },\n }),\n {\n boxSizing: 'border-box',\n color: palette.neutralDark,\n flexGrow: 1,\n overflow: 'hidden',\n display: 'inline-block',\n textDecoration: 'none',\n textOverflow: 'ellipsis',\n whiteSpace: 'nowrap',\n selectors: (_a = {\n ':hover': {\n color: palette.themePrimary,\n }\n },\n _a[\".\" + IsFocusVisibleClassName + \" &:focus\"] = {\n selectors: (_b = {},\n _b[HighContrastSelector] = {\n outline: 'none',\n },\n _b),\n },\n _a),\n },\n ],\n fileListOverflowText: {\n padding: '0px 16px 8px 16px',\n display: 'block',\n },\n };\n};\n//# sourceMappingURL=DocumentCardPreview.styles.js.map","import { getGlobalClassNames, FontWeights } from '../../Styling';\nvar VERTICAL_PADDING = 8;\nvar HORIZONTAL_PADDING = 16;\nvar IMAGE_SIZE = 32;\nvar PERSONA_TEXT_GUTTER = 8;\nexport var DocumentCardActivityGlobalClassNames = {\n root: 'ms-DocumentCardActivity',\n multiplePeople: 'ms-DocumentCardActivity--multiplePeople',\n details: 'ms-DocumentCardActivity-details',\n name: 'ms-DocumentCardActivity-name',\n activity: 'ms-DocumentCardActivity-activity',\n avatars: 'ms-DocumentCardActivity-avatars',\n avatar: 'ms-DocumentCardActivity-avatar',\n};\nexport var getStyles = function (props) {\n var theme = props.theme, className = props.className, multiplePeople = props.multiplePeople;\n var palette = theme.palette, fonts = theme.fonts;\n var classNames = getGlobalClassNames(DocumentCardActivityGlobalClassNames, theme);\n return {\n root: [\n classNames.root,\n multiplePeople && classNames.multiplePeople,\n {\n padding: VERTICAL_PADDING + \"px \" + HORIZONTAL_PADDING + \"px\",\n position: 'relative',\n },\n className,\n ],\n avatars: [\n classNames.avatars,\n {\n marginLeft: '-2px',\n height: '32px',\n },\n ],\n avatar: [\n classNames.avatar,\n {\n display: 'inline-block',\n verticalAlign: 'top',\n position: 'relative',\n textAlign: 'center',\n width: IMAGE_SIZE,\n height: IMAGE_SIZE,\n selectors: {\n '&:after': {\n content: '\" \"',\n position: 'absolute',\n left: '-1px',\n top: '-1px',\n right: '-1px',\n bottom: '-1px',\n border: \"2px solid \" + palette.white,\n borderRadius: '50%',\n },\n ':nth-of-type(2)': multiplePeople && {\n marginLeft: '-16px',\n },\n },\n },\n ],\n details: [\n classNames.details,\n {\n left: multiplePeople\n ? HORIZONTAL_PADDING + IMAGE_SIZE * 1.5 + PERSONA_TEXT_GUTTER + \"px\"\n : HORIZONTAL_PADDING + IMAGE_SIZE + PERSONA_TEXT_GUTTER + \"px\",\n height: IMAGE_SIZE,\n position: 'absolute',\n top: VERTICAL_PADDING,\n width: \"calc(100% - \" + (HORIZONTAL_PADDING + IMAGE_SIZE + PERSONA_TEXT_GUTTER + HORIZONTAL_PADDING) + \"px)\",\n },\n ],\n name: [\n classNames.name,\n {\n display: 'block',\n fontSize: fonts.small.fontSize,\n lineHeight: '15px',\n height: '15px',\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n whiteSpace: 'nowrap',\n color: palette.neutralPrimary,\n fontWeight: FontWeights.semibold,\n },\n ],\n activity: [\n classNames.activity,\n {\n display: 'block',\n fontSize: fonts.small.fontSize,\n lineHeight: '15px',\n height: '15px',\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n whiteSpace: 'nowrap',\n color: palette.neutralSecondary,\n },\n ],\n };\n};\n//# sourceMappingURL=DocumentCardActivity.styles.js.map","import { getGlobalClassNames } from '../../Styling';\nexport var DocumentCardTitleGlobalClassNames = {\n root: 'ms-DocumentCardTitle',\n};\nexport var getStyles = function (props) {\n var theme = props.theme, className = props.className, showAsSecondaryTitle = props.showAsSecondaryTitle;\n var palette = theme.palette, fonts = theme.fonts;\n var classNames = getGlobalClassNames(DocumentCardTitleGlobalClassNames, theme);\n return {\n root: [\n classNames.root,\n showAsSecondaryTitle ? fonts.medium : fonts.large,\n {\n padding: '8px 16px',\n display: 'block',\n overflow: 'hidden',\n wordWrap: 'break-word',\n height: showAsSecondaryTitle ? '45px' : '38px',\n lineHeight: showAsSecondaryTitle ? '18px' : '21px',\n color: showAsSecondaryTitle ? palette.neutralSecondary : palette.neutralPrimary,\n },\n className,\n ],\n };\n};\n//# sourceMappingURL=DocumentCardTitle.styles.js.map","import { getGlobalClassNames, FontWeights } from '../../Styling';\nexport var DocumentCardLocationGlobalClassNames = {\n root: 'ms-DocumentCardLocation',\n};\nexport var getStyles = function (props) {\n var theme = props.theme, className = props.className;\n var palette = theme.palette, fonts = theme.fonts;\n var classNames = getGlobalClassNames(DocumentCardLocationGlobalClassNames, theme);\n return {\n root: [\n classNames.root,\n fonts.small,\n {\n color: palette.themePrimary,\n display: 'block',\n fontWeight: FontWeights.semibold,\n overflow: 'hidden',\n padding: '8px 16px',\n position: 'relative',\n textDecoration: 'none',\n textOverflow: 'ellipsis',\n whiteSpace: 'nowrap',\n selectors: {\n ':hover': {\n color: palette.themePrimary,\n cursor: 'pointer',\n },\n },\n },\n className,\n ],\n };\n};\n//# sourceMappingURL=DocumentCardLocation.styles.js.map","import { getGlobalClassNames, getInputFocusStyle } from '../../Styling';\nimport { IsFocusVisibleClassName } from '../../Utilities';\nimport { DocumentCardPreviewGlobalClassNames as previewClassNames } from './DocumentCardPreview.styles';\nimport { DocumentCardActivityGlobalClassNames as activityClassNames } from './DocumentCardActivity.styles';\nimport { DocumentCardTitleGlobalClassNames as titleClassNames } from './DocumentCardTitle.styles';\nimport { DocumentCardLocationGlobalClassNames as locationClassNames } from './DocumentCardLocation.styles';\nvar GlobalClassNames = {\n root: 'ms-DocumentCard',\n rootActionable: 'ms-DocumentCard--actionable',\n rootCompact: 'ms-DocumentCard--compact',\n};\nexport var getStyles = function (props) {\n var _a, _b;\n var className = props.className, theme = props.theme, actionable = props.actionable, compact = props.compact;\n var palette = theme.palette, fonts = theme.fonts, effects = theme.effects;\n var classNames = getGlobalClassNames(GlobalClassNames, theme);\n return {\n root: [\n classNames.root,\n {\n WebkitFontSmoothing: 'antialiased',\n backgroundColor: palette.white,\n border: \"1px solid \" + palette.neutralLight,\n maxWidth: '320px',\n minWidth: '206px',\n userSelect: 'none',\n position: 'relative',\n selectors: (_a = {\n ':focus': {\n outline: '0px solid',\n }\n },\n _a[\".\" + IsFocusVisibleClassName + \" &:focus\"] = getInputFocusStyle(palette.neutralSecondary, effects.roundedCorner2),\n _a[\".\" + locationClassNames.root + \" + .\" + titleClassNames.root] = {\n paddingTop: '4px',\n },\n _a),\n },\n actionable && [\n classNames.rootActionable,\n {\n selectors: {\n ':hover': {\n cursor: 'pointer',\n borderColor: palette.neutralTertiaryAlt,\n },\n ':hover:after': {\n content: '\" \"',\n position: 'absolute',\n top: 0,\n right: 0,\n bottom: 0,\n left: 0,\n border: \"1px solid \" + palette.neutralTertiaryAlt,\n pointerEvents: 'none',\n },\n },\n },\n ],\n compact && [\n classNames.rootCompact,\n {\n display: 'flex',\n maxWidth: '480px',\n height: '108px',\n selectors: (_b = {},\n _b[\".\" + previewClassNames.root] = {\n borderRight: \"1px solid \" + palette.neutralLight,\n borderBottom: 0,\n maxHeight: '106px',\n maxWidth: '144px',\n },\n _b[\".\" + previewClassNames.icon] = {\n maxHeight: '32px',\n maxWidth: '32px',\n },\n _b[\".\" + activityClassNames.root] = {\n paddingBottom: '12px',\n },\n _b[\".\" + titleClassNames.root] = {\n paddingBottom: '12px 16px 8px 16px',\n fontSize: fonts.mediumPlus.fontSize,\n lineHeight: '16px',\n },\n _b),\n },\n ],\n className,\n ],\n };\n};\n//# sourceMappingURL=DocumentCard.styles.js.map","import { styled } from '../../Utilities';\nimport { DocumentCardBase } from './DocumentCard.base';\nimport { getStyles } from './DocumentCard.styles';\nexport var DocumentCard = styled(DocumentCardBase, getStyles, undefined, { scope: 'DocumentCard' });\n//# sourceMappingURL=DocumentCard.js.map","import { __assign, __extends } from \"tslib\";\nimport * as React from 'react';\nimport { classNamesFunction, initializeComponentRef } from '../../Utilities';\nimport { Icon } from '../../Icon';\nimport { IconButton } from '../../Button';\nvar getClassNames = classNamesFunction();\n/**\n * {@docCategory DocumentCard}\n */\nvar DocumentCardActionsBase = /** @class */ (function (_super) {\n __extends(DocumentCardActionsBase, _super);\n function DocumentCardActionsBase(props) {\n var _this = _super.call(this, props) || this;\n initializeComponentRef(_this);\n return _this;\n }\n DocumentCardActionsBase.prototype.render = function () {\n var _this = this;\n var _a = this.props, actions = _a.actions, views = _a.views, styles = _a.styles, theme = _a.theme, className = _a.className;\n this._classNames = getClassNames(styles, {\n theme: theme,\n className: className,\n });\n return (React.createElement(\"div\", { className: this._classNames.root },\n actions &&\n actions.map(function (action, index) {\n return (React.createElement(\"div\", { className: _this._classNames.action, key: index },\n React.createElement(IconButton, __assign({}, action))));\n }),\n views > 0 && (React.createElement(\"div\", { className: this._classNames.views },\n React.createElement(Icon, { iconName: \"View\", className: this._classNames.viewsIcon }),\n views))));\n };\n return DocumentCardActionsBase;\n}(React.Component));\nexport { DocumentCardActionsBase };\n//# sourceMappingURL=DocumentCardActions.base.js.map","import { getGlobalClassNames } from '../../Styling';\nvar ACTION_SIZE = 34;\nvar HORIZONTAL_PADDING = 12;\nvar VERTICAL_PADDING = 4;\nvar GlobalClassNames = {\n root: 'ms-DocumentCardActions',\n action: 'ms-DocumentCardActions-action',\n views: 'ms-DocumentCardActions-views',\n};\nexport var getStyles = function (props) {\n var className = props.className, theme = props.theme;\n var palette = theme.palette, fonts = theme.fonts;\n var classNames = getGlobalClassNames(GlobalClassNames, theme);\n return {\n root: [\n classNames.root,\n {\n height: ACTION_SIZE + \"px\",\n padding: VERTICAL_PADDING + \"px \" + HORIZONTAL_PADDING + \"px\",\n position: 'relative',\n },\n className,\n ],\n action: [\n classNames.action,\n {\n float: 'left',\n marginRight: '4px',\n color: palette.neutralSecondary,\n cursor: 'pointer',\n selectors: {\n '.ms-Button': {\n fontSize: fonts.mediumPlus.fontSize,\n height: ACTION_SIZE,\n width: ACTION_SIZE,\n },\n '.ms-Button:hover .ms-Button-icon': {\n color: theme.semanticColors.buttonText,\n cursor: 'pointer',\n },\n },\n },\n ],\n views: [\n classNames.views,\n {\n textAlign: 'right',\n lineHeight: ACTION_SIZE,\n },\n ],\n viewsIcon: {\n marginRight: '8px',\n fontSize: fonts.medium.fontSize,\n verticalAlign: 'top',\n },\n };\n};\n//# sourceMappingURL=DocumentCardActions.styles.js.map","import { styled } from '../../Utilities';\nimport { DocumentCardActionsBase } from './DocumentCardActions.base';\nimport { getStyles } from './DocumentCardActions.styles';\nexport var DocumentCardActions = styled(DocumentCardActionsBase, getStyles, undefined, { scope: 'DocumentCardActions' });\n//# sourceMappingURL=DocumentCardActions.js.map","import { __extends } from \"tslib\";\nimport * as React from 'react';\nimport { classNamesFunction, initializeComponentRef } from '../../Utilities';\nimport { PersonaSize } from '../../Persona';\nimport { PersonaCoin } from '../../PersonaCoin';\nvar getClassNames = classNamesFunction();\n/**\n * {@docCategory DocumentCard}\n */\nvar DocumentCardActivityBase = /** @class */ (function (_super) {\n __extends(DocumentCardActivityBase, _super);\n function DocumentCardActivityBase(props) {\n var _this = _super.call(this, props) || this;\n initializeComponentRef(_this);\n return _this;\n }\n DocumentCardActivityBase.prototype.render = function () {\n var _a = this.props, activity = _a.activity, people = _a.people, styles = _a.styles, theme = _a.theme, className = _a.className;\n this._classNames = getClassNames(styles, {\n theme: theme,\n className: className,\n multiplePeople: people.length > 1,\n });\n if (!people || people.length === 0) {\n return null;\n }\n return (React.createElement(\"div\", { className: this._classNames.root },\n this._renderAvatars(people),\n React.createElement(\"div\", { className: this._classNames.details },\n React.createElement(\"span\", { className: this._classNames.name }, this._getNameString(people)),\n React.createElement(\"span\", { className: this._classNames.activity }, activity))));\n };\n DocumentCardActivityBase.prototype._renderAvatars = function (people) {\n return (React.createElement(\"div\", { className: this._classNames.avatars },\n people.length > 1 ? this._renderAvatar(people[1]) : null,\n this._renderAvatar(people[0])));\n };\n DocumentCardActivityBase.prototype._renderAvatar = function (person) {\n return (React.createElement(\"div\", { className: this._classNames.avatar },\n React.createElement(PersonaCoin, { imageInitials: person.initials, text: person.name, imageUrl: person.profileImageSrc, initialsColor: person.initialsColor, allowPhoneInitials: person.allowPhoneInitials, role: \"presentation\", size: PersonaSize.size32 })));\n };\n DocumentCardActivityBase.prototype._getNameString = function (people) {\n var nameString = people[0].name;\n if (people.length >= 2) {\n nameString += ' +' + (people.length - 1);\n }\n return nameString;\n };\n return DocumentCardActivityBase;\n}(React.Component));\nexport { DocumentCardActivityBase };\n//# sourceMappingURL=DocumentCardActivity.base.js.map","import { styled } from '../../Utilities';\nimport { DocumentCardActivityBase } from './DocumentCardActivity.base';\nimport { getStyles } from './DocumentCardActivity.styles';\nexport var DocumentCardActivity = styled(DocumentCardActivityBase, getStyles, undefined, { scope: 'DocumentCardActivity' });\n//# sourceMappingURL=DocumentCardActivity.js.map","import { __extends } from \"tslib\";\nimport * as React from 'react';\nimport { classNamesFunction, initializeComponentRef } from '../../Utilities';\nvar getClassNames = classNamesFunction();\n/**\n * {@docCategory DocumentCard}\n */\nvar DocumentCardDetailsBase = /** @class */ (function (_super) {\n __extends(DocumentCardDetailsBase, _super);\n function DocumentCardDetailsBase(props) {\n var _this = _super.call(this, props) || this;\n initializeComponentRef(_this);\n return _this;\n }\n DocumentCardDetailsBase.prototype.render = function () {\n var _a = this.props, children = _a.children, styles = _a.styles, theme = _a.theme, className = _a.className;\n this._classNames = getClassNames(styles, {\n theme: theme,\n className: className,\n });\n return React.createElement(\"div\", { className: this._classNames.root }, children);\n };\n return DocumentCardDetailsBase;\n}(React.Component));\nexport { DocumentCardDetailsBase };\n//# sourceMappingURL=DocumentCardDetails.base.js.map","import { getGlobalClassNames } from '../../Styling';\nvar GlobalClassNames = {\n root: 'ms-DocumentCardDetails',\n};\nexport var getStyles = function (props) {\n var className = props.className, theme = props.theme;\n var classNames = getGlobalClassNames(GlobalClassNames, theme);\n return {\n root: [\n classNames.root,\n {\n display: 'flex',\n flexDirection: 'column',\n flex: 1,\n justifyContent: 'space-between',\n overflow: 'hidden',\n },\n className,\n ],\n };\n};\n//# sourceMappingURL=DocumentCardDetails.styles.js.map","import { styled } from '../../Utilities';\nimport { DocumentCardDetailsBase } from './DocumentCardDetails.base';\nimport { getStyles } from './DocumentCardDetails.styles';\nexport var DocumentCardDetails = styled(DocumentCardDetailsBase, getStyles, undefined, { scope: 'DocumentCardDetails' });\n//# sourceMappingURL=DocumentCardDetails.js.map","import { __extends } from \"tslib\";\nimport * as React from 'react';\nimport { classNamesFunction, initializeComponentRef } from '../../Utilities';\nvar getClassNames = classNamesFunction();\n/**\n * {@docCategory DocumentCard}\n */\nvar DocumentCardLocationBase = /** @class */ (function (_super) {\n __extends(DocumentCardLocationBase, _super);\n function DocumentCardLocationBase(props) {\n var _this = _super.call(this, props) || this;\n initializeComponentRef(_this);\n return _this;\n }\n DocumentCardLocationBase.prototype.render = function () {\n var _a = this.props, location = _a.location, locationHref = _a.locationHref, ariaLabel = _a.ariaLabel, onClick = _a.onClick, styles = _a.styles, theme = _a.theme, className = _a.className;\n this._classNames = getClassNames(styles, {\n theme: theme,\n className: className,\n });\n return (React.createElement(\"a\", { className: this._classNames.root, href: locationHref, onClick: onClick, \"aria-label\": ariaLabel }, location));\n };\n return DocumentCardLocationBase;\n}(React.Component));\nexport { DocumentCardLocationBase };\n//# sourceMappingURL=DocumentCardLocation.base.js.map","import { styled } from '../../Utilities';\nimport { DocumentCardLocationBase } from './DocumentCardLocation.base';\nimport { getStyles } from './DocumentCardLocation.styles';\nexport var DocumentCardLocation = styled(DocumentCardLocationBase, getStyles, undefined, { scope: 'DocumentCardLocation' });\n//# sourceMappingURL=DocumentCardLocation.js.map","import { __assign, __extends } from \"tslib\";\nimport * as React from 'react';\nimport { Icon } from '../../Icon';\nimport { Image } from '../../Image';\nimport { Link } from '../../Link';\nimport { classNamesFunction, css, initializeComponentRef } from '../../Utilities';\nvar DEFAULT_DISPLAY_COUNT = 3;\nvar getClassNames = classNamesFunction();\n/**\n * {@docCategory DocumentCard}\n */\nvar DocumentCardPreviewBase = /** @class */ (function (_super) {\n __extends(DocumentCardPreviewBase, _super);\n function DocumentCardPreviewBase(props) {\n var _this = _super.call(this, props) || this;\n _this._renderPreviewList = function (previewImages) {\n var _a = _this.props, getOverflowDocumentCountText = _a.getOverflowDocumentCountText, _b = _a.maxDisplayCount, maxDisplayCount = _b === void 0 ? DEFAULT_DISPLAY_COUNT : _b;\n // Determine how many documents we won't be showing\n var overflowDocumentCount = previewImages.length - maxDisplayCount;\n // Determine the overflow text that will be rendered after the preview list.\n var overflowText = overflowDocumentCount\n ? getOverflowDocumentCountText\n ? getOverflowDocumentCountText(overflowDocumentCount)\n : '+' + overflowDocumentCount\n : null;\n // Create list items for the documents to be shown\n var fileListItems = previewImages.slice(0, maxDisplayCount).map(function (file, fileIndex) { return (React.createElement(\"li\", { key: fileIndex },\n React.createElement(Image, { className: _this._classNames.fileListIcon, src: file.iconSrc, role: \"presentation\", alt: \"\", width: \"16px\", height: \"16px\" }),\n React.createElement(Link, __assign({ className: _this._classNames.fileListLink, \n // eslint-disable-next-line deprecation/deprecation\n href: file.url }, file.linkProps), file.name))); });\n return (React.createElement(\"div\", null,\n React.createElement(\"ul\", { className: _this._classNames.fileList }, fileListItems),\n overflowText && React.createElement(\"span\", { className: _this._classNames.fileListOverflowText }, overflowText)));\n };\n initializeComponentRef(_this);\n return _this;\n }\n DocumentCardPreviewBase.prototype.render = function () {\n var _a = this.props, previewImages = _a.previewImages, styles = _a.styles, theme = _a.theme, className = _a.className;\n var style;\n var preview;\n var isFileList = previewImages.length > 1;\n this._classNames = getClassNames(styles, {\n theme: theme,\n className: className,\n isFileList: isFileList,\n });\n if (previewImages.length > 1) {\n // Render a list of files\n preview = this._renderPreviewList(previewImages);\n }\n else if (previewImages.length === 1) {\n // Render a single preview\n preview = this._renderPreviewImage(previewImages[0]);\n // Override the border color if an accent color was provided\n /* eslint-disable deprecation/deprecation */\n if (previewImages[0].accentColor) {\n style = {\n borderBottomColor: previewImages[0].accentColor,\n };\n }\n /* eslint-enable deprecation/deprecation */\n }\n return (React.createElement(\"div\", { className: this._classNames.root, style: style }, preview));\n };\n DocumentCardPreviewBase.prototype._renderPreviewImage = function (previewImage) {\n var width = previewImage.width, height = previewImage.height, imageFit = previewImage.imageFit, previewIconProps = previewImage.previewIconProps, previewIconContainerClass = previewImage.previewIconContainerClass;\n if (previewIconProps) {\n return (React.createElement(\"div\", { className: css(this._classNames.previewIcon, previewIconContainerClass), style: { width: width, height: height } },\n React.createElement(Icon, __assign({}, previewIconProps))));\n }\n var image = (React.createElement(Image, { width: width, height: height, imageFit: imageFit, src: previewImage.previewImageSrc, role: \"presentation\", alt: \"\" }));\n var icon;\n if (previewImage.iconSrc) {\n icon = React.createElement(Image, { className: this._classNames.icon, src: previewImage.iconSrc, role: \"presentation\", alt: \"\" });\n }\n return (React.createElement(\"div\", null,\n image,\n icon));\n };\n return DocumentCardPreviewBase;\n}(React.Component));\nexport { DocumentCardPreviewBase };\n//# sourceMappingURL=DocumentCardPreview.base.js.map","import { styled } from '../../Utilities';\nimport { DocumentCardPreviewBase } from './DocumentCardPreview.base';\nimport { getStyles } from './DocumentCardPreview.styles';\nexport var DocumentCardPreview = styled(DocumentCardPreviewBase, getStyles, undefined, { scope: 'DocumentCardPreview' });\n//# sourceMappingURL=DocumentCardPreview.js.map","import { __assign, __extends } from \"tslib\";\nimport * as React from 'react';\nimport { Icon } from '../../Icon';\nimport { Image } from '../../Image';\nimport { classNamesFunction, initializeComponentRef } from '../../Utilities';\nvar getClassNames = classNamesFunction();\n/**\n * {@docCategory DocumentCard}\n */\nvar DocumentCardImageBase = /** @class */ (function (_super) {\n __extends(DocumentCardImageBase, _super);\n function DocumentCardImageBase(props) {\n var _this = _super.call(this, props) || this;\n _this._onImageLoad = function () {\n _this.setState({ imageHasLoaded: true });\n };\n initializeComponentRef(_this);\n _this.state = { imageHasLoaded: false };\n return _this;\n }\n DocumentCardImageBase.prototype.render = function () {\n var _a = this.props, styles = _a.styles, width = _a.width, height = _a.height, imageFit = _a.imageFit, imageSrc = _a.imageSrc;\n this._classNames = getClassNames(styles, this.props);\n return (React.createElement(\"div\", { className: this._classNames.root },\n imageSrc && (React.createElement(Image, { width: width, height: height, imageFit: imageFit, src: imageSrc, role: \"presentation\", alt: \"\", onLoad: this._onImageLoad })),\n this.state.imageHasLoaded ? this._renderCornerIcon() : this._renderCenterIcon()));\n };\n DocumentCardImageBase.prototype._renderCenterIcon = function () {\n var iconProps = this.props.iconProps;\n return (React.createElement(\"div\", { className: this._classNames.centeredIconWrapper },\n React.createElement(Icon, __assign({ className: this._classNames.centeredIcon }, iconProps))));\n };\n DocumentCardImageBase.prototype._renderCornerIcon = function () {\n var iconProps = this.props.iconProps;\n return React.createElement(Icon, __assign({ className: this._classNames.cornerIcon }, iconProps));\n };\n return DocumentCardImageBase;\n}(React.Component));\nexport { DocumentCardImageBase };\n//# sourceMappingURL=DocumentCardImage.base.js.map","var centeredIconSize = '42px';\nvar cornerIconSize = '32px';\nexport var getStyles = function (props) {\n var theme = props.theme, className = props.className, height = props.height, width = props.width;\n var palette = theme.palette;\n return {\n root: [\n {\n borderBottom: \"1px solid \" + palette.neutralLight,\n position: 'relative',\n backgroundColor: palette.neutralLighterAlt,\n overflow: \"hidden\",\n height: height && height + \"px\",\n width: width && width + \"px\",\n },\n className,\n ],\n centeredIcon: [\n {\n height: centeredIconSize,\n width: centeredIconSize,\n fontSize: centeredIconSize,\n },\n ],\n centeredIconWrapper: [\n {\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n height: '100%',\n width: '100%',\n position: 'absolute',\n top: 0,\n left: 0,\n },\n ],\n cornerIcon: [\n {\n left: '10px',\n bottom: '10px',\n height: cornerIconSize,\n width: cornerIconSize,\n fontSize: cornerIconSize,\n position: 'absolute',\n overflow: 'visible',\n },\n ],\n };\n};\n//# sourceMappingURL=DocumentCardImage.styles.js.map","import { styled } from '../../Utilities';\nimport { DocumentCardImageBase } from './DocumentCardImage.base';\nimport { getStyles } from './DocumentCardImage.styles';\nexport var DocumentCardImage = styled(DocumentCardImageBase, getStyles, undefined, { scope: 'DocumentCardImage' });\n//# sourceMappingURL=DocumentCardImage.js.map","import { __extends } from \"tslib\";\nimport * as React from 'react';\nimport { Async, EventGroup, classNamesFunction } from '../../Utilities';\nimport { initializeComponentRef } from '@fluentui/utilities';\nvar getClassNames = classNamesFunction();\nvar TRUNCATION_VERTICAL_OVERFLOW_THRESHOLD = 5;\n/**\n * {@docCategory DocumentCard}\n */\nvar DocumentCardTitleBase = /** @class */ (function (_super) {\n __extends(DocumentCardTitleBase, _super);\n function DocumentCardTitleBase(props) {\n var _this = _super.call(this, props) || this;\n _this._titleElement = React.createRef();\n // Truncate logic here way can't handle the case that chars with different widths are mixed very well.\n // Let _shrinkTitle take care of that.\n _this._truncateTitle = function () {\n if (!_this._needMeasurement) {\n return;\n }\n _this._async.requestAnimationFrame(_this._truncateWhenInAnimation);\n };\n _this._truncateWhenInAnimation = function () {\n var originalTitle = _this.props.title;\n var element = _this._titleElement.current;\n if (element) {\n var style = getComputedStyle(element);\n if (style.width && style.lineHeight && style.height) {\n var clientWidth = element.clientWidth, scrollWidth = element.scrollWidth;\n _this._clientWidth = clientWidth;\n var lines = Math.floor((parseInt(style.height, 10) + TRUNCATION_VERTICAL_OVERFLOW_THRESHOLD) / parseInt(style.lineHeight, 10));\n element.style.whiteSpace = '';\n // Use overflow to predict truncated length.\n // Take an example.The text is: A text with A very long text that need to be truncated.ppt\n // if container is like\n // |A text with A very| long text that need to be truncated.ppt\n // The scroll width is 58, (take two | out of length)\n // The client width is 18\n // the overflow rate is scrollWidth/clientWidth which should be close to length(overflowText)/length(visualText)\n // And the length of remaining text should be truncated is (original Length)/(58/18) -3 = 15.\n // So that the logic can predict truncated text well.\n // first piece will be `A text `, * second piece will be `ated.ppt`\n // |A text ...ated.ppt|\n var overFlowRate = scrollWidth / (parseInt(style.width, 10) * lines);\n if (overFlowRate > 1) {\n var truncatedLength = originalTitle.length / overFlowRate - 3; /** Saved for separator */\n return _this.setState({\n truncatedTitleFirstPiece: originalTitle.slice(0, truncatedLength / 2),\n truncatedTitleSecondPiece: originalTitle.slice(originalTitle.length - truncatedLength / 2),\n });\n }\n }\n }\n };\n _this._shrinkTitle = function () {\n var _a = _this.state, truncatedTitleFirstPiece = _a.truncatedTitleFirstPiece, truncatedTitleSecondPiece = _a.truncatedTitleSecondPiece;\n if (truncatedTitleFirstPiece && truncatedTitleSecondPiece) {\n var titleElement = _this._titleElement.current;\n if (!titleElement) {\n return;\n }\n if (titleElement.scrollHeight > titleElement.clientHeight + TRUNCATION_VERTICAL_OVERFLOW_THRESHOLD ||\n titleElement.scrollWidth > titleElement.clientWidth) {\n _this.setState({\n truncatedTitleFirstPiece: truncatedTitleFirstPiece.slice(0, truncatedTitleFirstPiece.length - 1),\n truncatedTitleSecondPiece: truncatedTitleSecondPiece.slice(1),\n });\n }\n }\n };\n initializeComponentRef(_this);\n _this._async = new Async(_this);\n _this._events = new EventGroup(_this);\n _this._clientWidth = undefined;\n _this.state = {\n truncatedTitleFirstPiece: undefined,\n truncatedTitleSecondPiece: undefined,\n };\n return _this;\n }\n DocumentCardTitleBase.prototype.componentDidUpdate = function (prevProps) {\n var _this = this;\n if (this.props.title !== prevProps.title) {\n this.setState({\n truncatedTitleFirstPiece: undefined,\n truncatedTitleSecondPiece: undefined,\n });\n }\n if (prevProps.shouldTruncate !== this.props.shouldTruncate) {\n if (this.props.shouldTruncate) {\n this._truncateTitle();\n this._async.requestAnimationFrame(this._shrinkTitle);\n this._events.on(window, 'resize', this._updateTruncation);\n }\n else {\n this._events.off(window, 'resize', this._updateTruncation);\n }\n }\n else if (this._needMeasurement) {\n this._async.requestAnimationFrame(function () {\n _this._truncateWhenInAnimation();\n _this._shrinkTitle();\n });\n }\n };\n DocumentCardTitleBase.prototype.componentDidMount = function () {\n if (this.props.shouldTruncate) {\n this._truncateTitle();\n this._events.on(window, 'resize', this._updateTruncation);\n }\n };\n DocumentCardTitleBase.prototype.componentWillUnmount = function () {\n this._events.dispose();\n this._async.dispose();\n };\n DocumentCardTitleBase.prototype.render = function () {\n var _a = this.props, title = _a.title, shouldTruncate = _a.shouldTruncate, showAsSecondaryTitle = _a.showAsSecondaryTitle, styles = _a.styles, theme = _a.theme, className = _a.className;\n var _b = this.state, truncatedTitleFirstPiece = _b.truncatedTitleFirstPiece, truncatedTitleSecondPiece = _b.truncatedTitleSecondPiece;\n this._classNames = getClassNames(styles, {\n theme: theme,\n className: className,\n showAsSecondaryTitle: showAsSecondaryTitle,\n });\n if (shouldTruncate && truncatedTitleFirstPiece && truncatedTitleSecondPiece) {\n return (React.createElement(\"div\", { className: this._classNames.root, ref: this._titleElement, title: title },\n truncatedTitleFirstPiece,\n \"\\u2026\",\n truncatedTitleSecondPiece));\n }\n else {\n return (React.createElement(\"div\", { className: this._classNames.root, ref: this._titleElement, title: title, style: this._needMeasurement ? { whiteSpace: 'nowrap' } : undefined }, title));\n }\n };\n Object.defineProperty(DocumentCardTitleBase.prototype, \"_needMeasurement\", {\n /**\n * In measuring, it will render a same style text with whiteSpace: 'nowrap', to get overflow rate.\n * So that the logic can predict truncated text well.\n */\n get: function () {\n return !!this.props.shouldTruncate && this._clientWidth === undefined;\n },\n enumerable: false,\n configurable: true\n });\n DocumentCardTitleBase.prototype._updateTruncation = function () {\n var _this = this;\n if (this._timerId) {\n return;\n }\n this._timerId = this._async.setTimeout(function () {\n delete _this._timerId;\n _this._clientWidth = undefined;\n _this.setState({\n truncatedTitleFirstPiece: undefined,\n truncatedTitleSecondPiece: undefined,\n });\n }, 250);\n };\n return DocumentCardTitleBase;\n}(React.Component));\nexport { DocumentCardTitleBase };\n//# sourceMappingURL=DocumentCardTitle.base.js.map","import { styled } from '../../Utilities';\nimport { DocumentCardTitleBase } from './DocumentCardTitle.base';\nimport { getStyles } from './DocumentCardTitle.styles';\nexport var DocumentCardTitle = styled(DocumentCardTitleBase, getStyles, undefined, { scope: 'DocumentCardTitle' });\n//# sourceMappingURL=DocumentCardTitle.js.map","import { __extends } from \"tslib\";\nimport * as React from 'react';\nimport { Icon } from '../../Icon';\nimport { classNamesFunction, initializeComponentRef } from '../../Utilities';\nvar getClassNames = classNamesFunction();\n/**\n * {@docCategory DocumentCard}\n */\nvar DocumentCardLogoBase = /** @class */ (function (_super) {\n __extends(DocumentCardLogoBase, _super);\n function DocumentCardLogoBase(props) {\n var _this = _super.call(this, props) || this;\n initializeComponentRef(_this);\n return _this;\n }\n DocumentCardLogoBase.prototype.render = function () {\n var _a = this.props, logoIcon = _a.logoIcon, styles = _a.styles, theme = _a.theme, className = _a.className;\n this._classNames = getClassNames(styles, {\n theme: theme,\n className: className,\n });\n return (React.createElement(\"div\", { className: this._classNames.root },\n React.createElement(Icon, { iconName: logoIcon })));\n };\n return DocumentCardLogoBase;\n}(React.Component));\nexport { DocumentCardLogoBase };\n//# sourceMappingURL=DocumentCardLogo.base.js.map","import { getGlobalClassNames } from '../../Styling';\nvar GlobalClassNames = {\n root: 'ms-DocumentCardLogo',\n};\nexport var getStyles = function (props) {\n var theme = props.theme, className = props.className;\n var palette = theme.palette, fonts = theme.fonts;\n var classNames = getGlobalClassNames(GlobalClassNames, theme);\n return {\n root: [\n classNames.root,\n {\n // eslint-disable-next-line deprecation/deprecation\n fontSize: fonts.xxLargePlus.fontSize,\n color: palette.themePrimary,\n display: 'block',\n padding: '16px 16px 0 16px',\n },\n className,\n ],\n };\n};\n//# sourceMappingURL=DocumentCardLogo.styles.js.map","import { styled } from '../../Utilities';\nimport { DocumentCardLogoBase } from './DocumentCardLogo.base';\nimport { getStyles } from './DocumentCardLogo.styles';\nexport var DocumentCardLogo = styled(DocumentCardLogoBase, getStyles, undefined, { scope: 'DocumentCardLogo' });\n//# sourceMappingURL=DocumentCardLogo.js.map","import { __assign, __extends } from \"tslib\";\nimport * as React from 'react';\nimport { classNamesFunction, initializeComponentRef } from '../../Utilities';\nimport { Icon } from '../../Icon';\nvar getClassNames = classNamesFunction();\n/**\n * {@docCategory DocumentCard}\n */\nvar DocumentCardStatusBase = /** @class */ (function (_super) {\n __extends(DocumentCardStatusBase, _super);\n function DocumentCardStatusBase(props) {\n var _this = _super.call(this, props) || this;\n initializeComponentRef(_this);\n return _this;\n }\n DocumentCardStatusBase.prototype.render = function () {\n var _a = this.props, statusIcon = _a.statusIcon, status = _a.status, styles = _a.styles, theme = _a.theme, className = _a.className;\n var iconProps = {\n iconName: statusIcon,\n styles: {\n root: { padding: '8px' },\n },\n };\n this._classNames = getClassNames(styles, {\n theme: theme,\n className: className,\n });\n return (React.createElement(\"div\", { className: this._classNames.root },\n statusIcon && React.createElement(Icon, __assign({}, iconProps)),\n status));\n };\n return DocumentCardStatusBase;\n}(React.Component));\nexport { DocumentCardStatusBase };\n//# sourceMappingURL=DocumentCardStatus.base.js.map","import { getGlobalClassNames } from '../../Styling';\nvar GlobalClassNames = {\n root: 'ms-DocumentCardStatus',\n};\nexport var getStyles = function (props) {\n var className = props.className, theme = props.theme;\n var palette = theme.palette, fonts = theme.fonts;\n var classNames = getGlobalClassNames(GlobalClassNames, theme);\n return {\n root: [\n classNames.root,\n fonts.medium,\n {\n margin: '8px 16px',\n color: palette.neutralPrimary,\n backgroundColor: palette.neutralLighter,\n height: '32px',\n },\n className,\n ],\n };\n};\n//# sourceMappingURL=DocumentCardStatus.styles.js.map","import { styled } from '../../Utilities';\nimport { DocumentCardStatusBase } from './DocumentCardStatus.base';\nimport { getStyles } from './DocumentCardStatus.styles';\nexport var DocumentCardStatus = styled(DocumentCardStatusBase, getStyles, undefined, { scope: 'DocumentCardStatus' });\n//# sourceMappingURL=DocumentCardStatus.js.map","import { __spreadArray } from \"tslib\";\nimport { DropdownMenuItemType } from '../Dropdown.types';\n/**\n * A utility class to cache size and position in cache.\n *\n * Dropdown options has non-selectable display types. It is therefore not cheap to determine\n * the total number of actual selectable options as well as the position an option is in the\n * list of options - O(n) cost for each lookup.\n *\n * Given that we potentially have to make this determination on every single render pass, this\n * cache should provide a little bit of relief.\n */\nvar DropdownSizePosCache = /** @class */ (function () {\n function DropdownSizePosCache() {\n this._size = 0;\n }\n /**\n * Invalidates the cache and recalculate the size of selectable options.\n */\n DropdownSizePosCache.prototype.updateOptions = function (options) {\n var displayOnlyOptionsCache = [];\n var size = 0;\n for (var i = 0; i < options.length; i++) {\n if (options[i].itemType === DropdownMenuItemType.Divider || options[i].itemType === DropdownMenuItemType.Header) {\n displayOnlyOptionsCache.push(i);\n }\n else if (!options[i].hidden) {\n size++;\n }\n }\n this._size = size;\n this._displayOnlyOptionsCache = displayOnlyOptionsCache;\n this._cachedOptions = __spreadArray([], options);\n };\n Object.defineProperty(DropdownSizePosCache.prototype, \"optionSetSize\", {\n /**\n * The size of all the selectable options.\n */\n get: function () {\n return this._size;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(DropdownSizePosCache.prototype, \"cachedOptions\", {\n /**\n * The chached options array.\n */\n get: function () {\n return this._cachedOptions;\n },\n enumerable: false,\n configurable: true\n });\n /**\n * Returns the position of this option element relative to the full set of selectable option elements.\n * Note: the first selectable element is position 1 in the set.\n * @param index The raw index of the option element.\n */\n DropdownSizePosCache.prototype.positionInSet = function (index) {\n if (index === undefined) {\n return undefined;\n }\n // we could possibly memoize this too but this should be good enough, most of the time (the expectation is that\n // when you have a lot of options, the selectable options will heavily dominate over the non-selectable options.\n var offset = 0;\n while (index > this._displayOnlyOptionsCache[offset]) {\n offset++;\n }\n if (this._displayOnlyOptionsCache[offset] === index) {\n throw new Error(\"Unexpected: Option at index \" + index + \" is not a selectable element.\");\n }\n return index - offset + 1;\n };\n return DropdownSizePosCache;\n}());\nexport { DropdownSizePosCache };\n//# sourceMappingURL=DropdownSizePosCache.js.map","import { __assign, __extends, __spreadArray } from \"tslib\";\nimport * as React from 'react';\nimport { KeyCodes, classNamesFunction, divProperties, findIndex, getDocument, getFirstFocusable, getId, getLastFocusable, getNativeProps, initializeComponentRef, isIOS, isMac, mergeAriaAttributeValues, safeRequestAnimationFrame, warn, warnDeprecations, warnMutuallyExclusive, } from '../../Utilities';\nimport { Callout, DirectionalHint } from '../../Callout';\nimport { CommandButton } from '../../Button';\nimport { DropdownMenuItemType } from './Dropdown.types';\nimport { DropdownSizePosCache } from './utilities/DropdownSizePosCache';\nimport { FocusZone, FocusZoneDirection } from '../../FocusZone';\nimport { Icon } from '../../Icon';\nimport { Label } from '../../Label';\nimport { Panel } from '../../Panel';\nimport { ResponsiveMode, useResponsiveMode } from '../../ResponsiveMode';\nimport { SelectableOptionMenuItemType, getAllSelectedOptions } from '../../SelectableOption';\n// import and use V7 Checkbox to ensure no breaking changes.\nimport { Checkbox } from '../../Checkbox';\nimport { getPropsWithDefaults } from '@fluentui/utilities';\nimport { useMergedRefs, usePrevious } from '@fluentui/react-hooks';\nvar COMPONENT_NAME = 'Dropdown';\nvar getClassNames = classNamesFunction();\nvar DEFAULT_PROPS = {\n options: [],\n};\nfunction useSelectedItemsState(_a) {\n var defaultSelectedKeys = _a.defaultSelectedKeys, selectedKeys = _a.selectedKeys, defaultSelectedKey = _a.defaultSelectedKey, selectedKey = _a.selectedKey, options = _a.options, multiSelect = _a.multiSelect;\n var oldOptions = usePrevious(options);\n var _b = React.useState([]), selectedIndices = _b[0], setSelectedIndices = _b[1];\n // In controlled component usage where selectedKey is provided, update the selectedIndex\n // state if the key or options change.\n var selectedKeyPropToUse;\n // this does a shallow compare (assumes options are pure), for the purposes of determining whether\n // defaultSelectedKey/defaultSelectedKeys are respected.\n var didOptionsChange = options !== oldOptions;\n if (multiSelect) {\n if (didOptionsChange && defaultSelectedKeys !== undefined) {\n selectedKeyPropToUse = defaultSelectedKeys;\n }\n else {\n selectedKeyPropToUse = selectedKeys;\n }\n }\n else {\n if (didOptionsChange && defaultSelectedKey !== undefined) {\n selectedKeyPropToUse = defaultSelectedKey;\n }\n else {\n selectedKeyPropToUse = selectedKey;\n }\n }\n var oldSelectedKeyProp = usePrevious(selectedKeyPropToUse);\n React.useEffect(function () {\n /** Get all selected indexes for multi-select mode */\n var getSelectedIndexes = function () {\n if (selectedKeyPropToUse === undefined) {\n if (multiSelect) {\n return getAllSelectedIndices();\n }\n var selectedIndex = getSelectedIndex(null);\n return selectedIndex !== -1 ? [selectedIndex] : [];\n }\n else if (!Array.isArray(selectedKeyPropToUse)) {\n var selectedIndex = getSelectedIndex(selectedKeyPropToUse);\n return selectedIndex !== -1 ? [selectedIndex] : [];\n }\n var returnValue = [];\n for (var _i = 0, selectedKeyPropToUse_1 = selectedKeyPropToUse; _i < selectedKeyPropToUse_1.length; _i++) {\n var key = selectedKeyPropToUse_1[_i];\n var selectedIndex = getSelectedIndex(key);\n selectedIndex !== -1 && returnValue.push(selectedIndex);\n }\n return returnValue;\n };\n var getAllSelectedIndices = function () {\n return options\n .map(function (option, index) { return (option.selected ? index : -1); })\n .filter(function (index) { return index !== -1; });\n };\n var getSelectedIndex = function (searchKey) {\n return findIndex(options, function (option) {\n // eslint-disable-next-line eqeqeq\n if (searchKey != null) {\n return option.key === searchKey;\n }\n else {\n // eslint-disable-next-line deprecation/deprecation\n return !!option.selected || !!option.isSelected;\n }\n });\n };\n if ((selectedKeyPropToUse !== undefined || !oldOptions) &&\n (selectedKeyPropToUse !== oldSelectedKeyProp || didOptionsChange)) {\n setSelectedIndices(getSelectedIndexes());\n }\n }, [didOptionsChange, multiSelect, oldOptions, oldSelectedKeyProp, options, selectedKeyPropToUse]);\n return [selectedIndices, setSelectedIndices];\n}\nexport var DropdownBase = React.forwardRef(function (propsWithoutDefaults, forwardedRef) {\n var props = getPropsWithDefaults(DEFAULT_PROPS, propsWithoutDefaults);\n var rootRef = React.useRef(null);\n var mergedRootRef = useMergedRefs(forwardedRef, rootRef);\n var responsiveMode = useResponsiveMode(rootRef, props.responsiveMode);\n var _a = useSelectedItemsState(props), selectedIndices = _a[0], setSelectedIndices = _a[1];\n return (React.createElement(DropdownInternal, __assign({}, props, { responsiveMode: responsiveMode, hoisted: { rootRef: mergedRootRef, selectedIndices: selectedIndices, setSelectedIndices: setSelectedIndices } })));\n});\nDropdownBase.displayName = 'DropdownBase';\nvar DropdownInternal = /** @class */ (function (_super) {\n __extends(DropdownInternal, _super);\n function DropdownInternal(props) {\n var _this = _super.call(this, props) || this;\n _this._host = React.createRef();\n _this._focusZone = React.createRef();\n _this._dropDown = React.createRef();\n _this._scrollIdleDelay = 250 /* ms */;\n _this._sizePosCache = new DropdownSizePosCache();\n _this._requestAnimationFrame = safeRequestAnimationFrame(_this);\n _this._onChange = function (event, options, index, checked, multiSelect) {\n // eslint-disable-next-line deprecation/deprecation\n var _a = _this.props, onChange = _a.onChange, onChanged = _a.onChanged;\n if (onChange || onChanged) {\n // for single-select, option passed in will always be selected.\n // for multi-select, flip the checked value\n var changedOpt = multiSelect ? __assign(__assign({}, options[index]), { selected: !checked }) : options[index];\n onChange && onChange(__assign(__assign({}, event), { target: _this._dropDown.current }), changedOpt, index);\n onChanged && onChanged(changedOpt, index);\n }\n };\n /** Get either props.placeholder (new name) or props.placeHolder (old name) */\n _this._getPlaceholder = function () {\n // eslint-disable-next-line deprecation/deprecation\n return _this.props.placeholder || _this.props.placeHolder;\n };\n /** Get text in dropdown input as a string */\n _this._getTitle = function (items, _unused) {\n var _a = _this.props.multiSelectDelimiter, multiSelectDelimiter = _a === void 0 ? ', ' : _a;\n return items.map(function (i) { return i.text; }).join(multiSelectDelimiter);\n };\n /** Render text in dropdown input */\n _this._onRenderTitle = function (items) {\n return React.createElement(React.Fragment, null, _this._getTitle(items));\n };\n /** Render placeholder text in dropdown input */\n _this._onRenderPlaceholder = function (props) {\n if (!_this._getPlaceholder()) {\n return null;\n }\n return React.createElement(React.Fragment, null, _this._getPlaceholder());\n };\n /** Render Callout or Panel container and pass in list */\n _this._onRenderContainer = function (props) {\n var calloutProps = props.calloutProps, panelProps = props.panelProps;\n var _a = _this.props, responsiveMode = _a.responsiveMode, dropdownWidth = _a.dropdownWidth;\n var isSmall = responsiveMode <= ResponsiveMode.medium;\n var panelStyles = _this._classNames.subComponentStyles\n ? _this._classNames.subComponentStyles.panel\n : undefined;\n var calloutWidth = undefined;\n var calloutMinWidth = undefined;\n if (dropdownWidth === 'auto') {\n calloutMinWidth = _this._dropDown.current ? _this._dropDown.current.clientWidth : 0;\n }\n else {\n calloutWidth = dropdownWidth || (_this._dropDown.current ? _this._dropDown.current.clientWidth : 0);\n }\n return isSmall ? (React.createElement(Panel, __assign({ isOpen: true, isLightDismiss: true, onDismiss: _this._onDismiss, hasCloseButton: false, styles: panelStyles }, panelProps), _this._renderFocusableList(props))) : (React.createElement(Callout, __assign({ isBeakVisible: false, gapSpace: 0, doNotLayer: false, directionalHintFixed: false, directionalHint: DirectionalHint.bottomLeftEdge, calloutWidth: calloutWidth, calloutMinWidth: calloutMinWidth }, calloutProps, { className: _this._classNames.callout, target: _this._dropDown.current, onDismiss: _this._onDismiss, onScroll: _this._onScroll, onPositioned: _this._onPositioned }), _this._renderFocusableList(props)));\n };\n /** Render Caret Down Icon */\n _this._onRenderCaretDown = function (props) {\n return React.createElement(Icon, { className: _this._classNames.caretDown, iconName: \"ChevronDown\", \"aria-hidden\": true });\n };\n /** Render List of items */\n _this._onRenderList = function (props) {\n var _a = props.onRenderItem, onRenderItem = _a === void 0 ? _this._onRenderItem : _a;\n var queue = { items: [] };\n var renderedList = [];\n var emptyQueue = function () {\n var newGroup = queue.id\n ? [\n React.createElement(\"div\", { role: \"group\", key: queue.id, \"aria-labelledby\": queue.id }, queue.items),\n ]\n : queue.items;\n renderedList = __spreadArray(__spreadArray([], renderedList), newGroup);\n // Flush items and id\n queue = { items: [] };\n };\n var placeRenderedOptionIntoQueue = function (item, index) {\n /*\n Case Header\n empty queue if it's not already empty\n ensure unique ID for header and set queue ID\n push header into queue\n Case Divider\n push divider into queue if not first item\n empty queue if not already empty\n Default\n push item into queue\n */\n switch (item.itemType) {\n case SelectableOptionMenuItemType.Header:\n queue.items.length > 0 && emptyQueue();\n var id = _this._id + item.key;\n queue.items.push(onRenderItem(__assign(__assign({ id: id }, item), { index: index }), _this._onRenderItem));\n queue.id = id;\n break;\n case SelectableOptionMenuItemType.Divider:\n index > 0 && queue.items.push(onRenderItem(__assign(__assign({}, item), { index: index }), _this._onRenderItem));\n queue.items.length > 0 && emptyQueue();\n break;\n default:\n queue.items.push(onRenderItem(__assign(__assign({}, item), { index: index }), _this._onRenderItem));\n }\n };\n // Place options into the queue. Queue will be emptied anytime a Header or Divider is encountered\n props.options.forEach(function (item, index) {\n placeRenderedOptionIntoQueue(item, index);\n });\n // Push remaining items into all renderedList\n queue.items.length > 0 && emptyQueue();\n return React.createElement(React.Fragment, null, renderedList);\n };\n _this._onRenderItem = function (item) {\n switch (item.itemType) {\n case SelectableOptionMenuItemType.Divider:\n return _this._renderSeparator(item);\n case SelectableOptionMenuItemType.Header:\n return _this._renderHeader(item);\n default:\n return _this._renderOption(item);\n }\n };\n _this._renderOption = function (item) {\n var _a = _this.props, _b = _a.onRenderOption, onRenderOption = _b === void 0 ? _this._onRenderOption : _b, _c = _a.hoisted.selectedIndices, selectedIndices = _c === void 0 ? [] : _c;\n var isItemSelected = item.index !== undefined && selectedIndices ? selectedIndices.indexOf(item.index) > -1 : false;\n // select the right className based on the combination of selected/disabled\n var itemClassName = item.hidden // predicate: item hidden\n ? _this._classNames.dropdownItemHidden\n : isItemSelected && item.disabled === true // predicate: both selected and disabled\n ? _this._classNames.dropdownItemSelectedAndDisabled\n : isItemSelected // predicate: selected only\n ? _this._classNames.dropdownItemSelected\n : item.disabled === true // predicate: disabled only\n ? _this._classNames.dropdownItemDisabled\n : _this._classNames.dropdownItem;\n var title = item.title;\n var multiSelectItemStyles = _this._classNames.subComponentStyles\n ? _this._classNames.subComponentStyles.multiSelectItem\n : undefined;\n return !_this.props.multiSelect ? (React.createElement(CommandButton, { id: _this._listId + item.index, key: item.key, \"data-index\": item.index, \"data-is-focusable\": !item.disabled, disabled: item.disabled, className: itemClassName, onClick: _this._onItemClick(item), \n // eslint-disable-next-line react/jsx-no-bind\n onMouseEnter: _this._onItemMouseEnter.bind(_this, item), \n // eslint-disable-next-line react/jsx-no-bind\n onMouseLeave: _this._onMouseItemLeave.bind(_this, item), \n // eslint-disable-next-line react/jsx-no-bind\n onMouseMove: _this._onItemMouseMove.bind(_this, item), role: \"option\", \"aria-selected\": isItemSelected ? 'true' : 'false', ariaLabel: item.ariaLabel, title: title, \"aria-posinset\": _this._sizePosCache.positionInSet(item.index), \"aria-setsize\": _this._sizePosCache.optionSetSize }, onRenderOption(item, _this._onRenderOption))) : (React.createElement(Checkbox, { id: _this._listId + item.index, key: item.key, disabled: item.disabled, onChange: _this._onItemClick(item), inputProps: __assign({ 'aria-selected': isItemSelected, onMouseEnter: _this._onItemMouseEnter.bind(_this, item), onMouseLeave: _this._onMouseItemLeave.bind(_this, item), onMouseMove: _this._onItemMouseMove.bind(_this, item), role: 'option' }, {\n 'data-index': item.index,\n 'data-is-focusable': !item.disabled,\n }), label: item.text, title: title, \n // eslint-disable-next-line react/jsx-no-bind\n onRenderLabel: _this._onRenderItemLabel.bind(_this, item), className: itemClassName, checked: isItemSelected, styles: multiSelectItemStyles, ariaPositionInSet: _this._sizePosCache.positionInSet(item.index), ariaSetSize: _this._sizePosCache.optionSetSize, ariaLabel: item.ariaLabel }));\n };\n /** Render content of item (i.e. text/icon inside of button) */\n _this._onRenderOption = function (item) {\n return React.createElement(\"span\", { className: _this._classNames.dropdownOptionText }, item.text);\n };\n /** Render custom label for drop down item */\n _this._onRenderItemLabel = function (item) {\n var _a = _this.props.onRenderOption, onRenderOption = _a === void 0 ? _this._onRenderOption : _a;\n return onRenderOption(item, _this._onRenderOption);\n };\n _this._onPositioned = function (positions) {\n if (_this._focusZone.current) {\n // Focusing an element can trigger a reflow. Making this wait until there is an animation\n // frame can improve perf significantly.\n _this._requestAnimationFrame(function () {\n var selectedIndices = _this.props.hoisted.selectedIndices;\n if (_this._focusZone.current) {\n if (!_this._hasBeenPositioned &&\n selectedIndices &&\n selectedIndices[0] &&\n !_this.props.options[selectedIndices[0]].disabled) {\n var element = getDocument().getElementById(_this._id + \"-list\" + selectedIndices[0]);\n if (element) {\n _this._focusZone.current.focusElement(element);\n }\n _this._hasBeenPositioned = true;\n }\n else {\n _this._focusZone.current.focus();\n }\n }\n });\n }\n if (!_this.state.calloutRenderEdge || _this.state.calloutRenderEdge !== positions.targetEdge) {\n _this.setState({\n calloutRenderEdge: positions.targetEdge,\n });\n }\n };\n _this._onItemClick = function (item) {\n return function (event) {\n if (!item.disabled) {\n _this.setSelectedIndex(event, item.index);\n if (!_this.props.multiSelect) {\n // only close the callout when it's in single-select mode\n _this.setState({\n isOpen: false,\n });\n }\n }\n };\n };\n /**\n * Scroll handler for the callout to make sure the mouse events\n * for updating focus are not interacting during scroll\n */\n _this._onScroll = function () {\n if (!_this._isScrollIdle && _this._scrollIdleTimeoutId !== undefined) {\n clearTimeout(_this._scrollIdleTimeoutId);\n _this._scrollIdleTimeoutId = undefined;\n }\n else {\n _this._isScrollIdle = false;\n }\n _this._scrollIdleTimeoutId = window.setTimeout(function () {\n _this._isScrollIdle = true;\n }, _this._scrollIdleDelay);\n };\n _this._onMouseItemLeave = function (item, ev) {\n if (_this._shouldIgnoreMouseEvent()) {\n return;\n }\n /**\n * IE11 focus() method forces parents to scroll to top of element.\n * Edge and IE expose a setActive() function for focusable divs that\n * sets the page focus but does not scroll the parent element.\n */\n if (_this._host.current) {\n if (_this._host.current.setActive) {\n try {\n _this._host.current.setActive();\n }\n catch (e) {\n /* no-op */\n }\n }\n else {\n _this._host.current.focus();\n }\n }\n };\n _this._onDismiss = function () {\n _this.setState({ isOpen: false });\n };\n _this._onDropdownBlur = function (ev) {\n // If Dropdown disabled do not proceed with this logic.\n var disabled = _this._isDisabled();\n if (disabled) {\n return;\n }\n if (_this.state.isOpen) {\n // Do not call onBlur or update focus state when the callout is opened\n return;\n }\n _this.setState({ hasFocus: false });\n if (_this.props.onBlur) {\n _this.props.onBlur(ev);\n }\n };\n _this._onDropdownKeyDown = function (ev) {\n // If Dropdown disabled do not process any keyboard events.\n var disabled = _this._isDisabled();\n if (disabled) {\n return;\n }\n // Take note if we are processing an alt (option) or meta (command) keydown.\n // See comment in _shouldHandleKeyUp for reasoning.\n _this._lastKeyDownWasAltOrMeta = _this._isAltOrMeta(ev);\n if (_this.props.onKeyDown) {\n _this.props.onKeyDown(ev);\n if (ev.defaultPrevented) {\n return;\n }\n }\n var newIndex;\n var selectedIndex = _this.props.hoisted.selectedIndices.length ? _this.props.hoisted.selectedIndices[0] : -1;\n var containsExpandCollapseModifier = ev.altKey || ev.metaKey;\n var isOpen = _this.state.isOpen;\n // eslint-disable-next-line deprecation/deprecation\n switch (ev.which) {\n case KeyCodes.enter:\n _this.setState({\n isOpen: !isOpen,\n });\n break;\n case KeyCodes.escape:\n if (!isOpen) {\n return;\n }\n _this.setState({\n isOpen: false,\n });\n break;\n case KeyCodes.up:\n if (containsExpandCollapseModifier) {\n if (isOpen) {\n _this.setState({ isOpen: false });\n break;\n }\n return;\n }\n if (_this.props.multiSelect) {\n _this.setState({ isOpen: true });\n }\n else if (!_this._isDisabled()) {\n newIndex = _this._moveIndex(ev, -1, selectedIndex - 1, selectedIndex);\n }\n break;\n case KeyCodes.down:\n if (containsExpandCollapseModifier) {\n ev.stopPropagation();\n ev.preventDefault();\n }\n if ((containsExpandCollapseModifier && !isOpen) || _this.props.multiSelect) {\n _this.setState({ isOpen: true });\n }\n else if (!_this._isDisabled()) {\n newIndex = _this._moveIndex(ev, 1, selectedIndex + 1, selectedIndex);\n }\n break;\n case KeyCodes.home:\n if (!_this.props.multiSelect) {\n newIndex = _this._moveIndex(ev, 1, 0, selectedIndex);\n }\n break;\n case KeyCodes.end:\n if (!_this.props.multiSelect) {\n newIndex = _this._moveIndex(ev, -1, _this.props.options.length - 1, selectedIndex);\n }\n break;\n case KeyCodes.space:\n // event handled in _onDropdownKeyUp\n break;\n default:\n return;\n }\n if (newIndex !== selectedIndex) {\n ev.stopPropagation();\n ev.preventDefault();\n }\n };\n _this._onDropdownKeyUp = function (ev) {\n // If Dropdown disabled do not process any keyboard events.\n var disabled = _this._isDisabled();\n if (disabled) {\n return;\n }\n var shouldHandleKey = _this._shouldHandleKeyUp(ev);\n var isOpen = _this.state.isOpen;\n if (_this.props.onKeyUp) {\n _this.props.onKeyUp(ev);\n if (ev.defaultPrevented) {\n return;\n }\n }\n // eslint-disable-next-line deprecation/deprecation\n switch (ev.which) {\n case KeyCodes.space:\n _this.setState({\n isOpen: !isOpen,\n });\n break;\n default:\n if (shouldHandleKey && isOpen) {\n _this.setState({ isOpen: false });\n }\n return;\n }\n ev.stopPropagation();\n ev.preventDefault();\n };\n _this._onZoneKeyDown = function (ev) {\n var elementToFocus;\n // Take note if we are processing an alt (option) or meta (command) keydown.\n // See comment in _shouldHandleKeyUp for reasoning.\n _this._lastKeyDownWasAltOrMeta = _this._isAltOrMeta(ev);\n var containsExpandCollapseModifier = ev.altKey || ev.metaKey;\n // eslint-disable-next-line deprecation/deprecation\n switch (ev.which) {\n case KeyCodes.up:\n if (containsExpandCollapseModifier) {\n _this.setState({ isOpen: false });\n }\n else {\n if (_this._host.current) {\n elementToFocus = getLastFocusable(_this._host.current, _this._host.current.lastChild, true);\n }\n }\n break;\n // All directional keystrokes should be canceled when the zone is rendered.\n // This avoids the body scroll from reacting and thus dismissing the dropdown.\n case KeyCodes.home:\n case KeyCodes.end:\n case KeyCodes.pageUp:\n case KeyCodes.pageDown:\n break;\n case KeyCodes.down:\n if (!containsExpandCollapseModifier && _this._host.current) {\n elementToFocus = getFirstFocusable(_this._host.current, _this._host.current.firstChild, true);\n }\n break;\n case KeyCodes.escape:\n _this.setState({ isOpen: false });\n break;\n case KeyCodes.tab:\n _this.setState({ isOpen: false });\n return;\n default:\n return;\n }\n if (elementToFocus) {\n elementToFocus.focus();\n }\n ev.stopPropagation();\n ev.preventDefault();\n };\n _this._onZoneKeyUp = function (ev) {\n var shouldHandleKey = _this._shouldHandleKeyUp(ev);\n if (shouldHandleKey && _this.state.isOpen) {\n _this.setState({ isOpen: false });\n ev.preventDefault();\n }\n };\n _this._onDropdownClick = function (ev) {\n if (_this.props.onClick) {\n _this.props.onClick(ev);\n if (ev.defaultPrevented) {\n return;\n }\n }\n var isOpen = _this.state.isOpen;\n var disabled = _this._isDisabled();\n if (!disabled && !_this._shouldOpenOnFocus()) {\n _this.setState({\n isOpen: !isOpen,\n });\n }\n _this._isFocusedByClick = false; // reset\n };\n _this._onDropdownMouseDown = function () {\n _this._isFocusedByClick = true;\n };\n _this._onFocus = function (ev) {\n var disabled = _this._isDisabled();\n if (!disabled) {\n if (_this.props.onFocus) {\n _this.props.onFocus(ev);\n }\n var state = { hasFocus: true };\n if (_this._shouldOpenOnFocus()) {\n state.isOpen = true;\n }\n _this.setState(state);\n }\n };\n /**\n * Because the isDisabled prop is deprecated, we have had to repeat this logic all over the place.\n * This helper method avoids all the repetition.\n */\n _this._isDisabled = function () {\n var disabled = _this.props.disabled;\n // eslint-disable-next-line deprecation/deprecation\n var isDisabled = _this.props.isDisabled;\n // Remove this deprecation workaround at 1.0.0\n if (disabled === undefined) {\n disabled = isDisabled;\n }\n return disabled;\n };\n _this._onRenderLabel = function (props) {\n var label = props.label, required = props.required, disabled = props.disabled;\n var labelStyles = _this._classNames.subComponentStyles\n ? _this._classNames.subComponentStyles.label\n : undefined;\n return label ? (React.createElement(Label, { className: _this._classNames.label, id: _this._labelId, required: required, styles: labelStyles, disabled: disabled }, label)) : null;\n };\n initializeComponentRef(_this);\n var multiSelect = props.multiSelect, selectedKey = props.selectedKey, selectedKeys = props.selectedKeys, defaultSelectedKey = props.defaultSelectedKey, defaultSelectedKeys = props.defaultSelectedKeys, options = props.options;\n if (process.env.NODE_ENV !== 'production') {\n warnDeprecations(COMPONENT_NAME, props, {\n isDisabled: 'disabled',\n onChanged: 'onChange',\n placeHolder: 'placeholder',\n onRenderPlaceHolder: 'onRenderPlaceholder',\n });\n warnMutuallyExclusive(COMPONENT_NAME, props, {\n defaultSelectedKey: 'selectedKey',\n defaultSelectedKeys: 'selectedKeys',\n selectedKeys: 'selectedKey',\n });\n if (multiSelect) {\n var warnMultiSelect = function (prop) {\n return warn(\"Dropdown property '\" + prop + \"' cannot be used when 'multiSelect' is true. Use '\" + prop + \"s' instead.\");\n };\n if (selectedKey !== undefined) {\n warnMultiSelect('selectedKey');\n }\n if (defaultSelectedKey !== undefined) {\n warnMultiSelect('defaultSelectedKey');\n }\n }\n else {\n var warnNotMultiSelect = function (prop) {\n return warn(\"Dropdown property '\" + prop + \"s' cannot be used when 'multiSelect' is false/unset. Use '\" + prop + \"' instead.\");\n };\n if (selectedKeys !== undefined) {\n warnNotMultiSelect('selectedKey');\n }\n if (defaultSelectedKeys !== undefined) {\n warnNotMultiSelect('defaultSelectedKey');\n }\n }\n }\n _this._id = props.id || getId('Dropdown');\n _this._labelId = _this._id + '-label';\n _this._listId = _this._id + '-list';\n _this._optionId = _this._id + '-option';\n _this._isScrollIdle = true;\n _this._hasBeenPositioned = false;\n _this._sizePosCache.updateOptions(options);\n _this.state = {\n isOpen: false,\n hasFocus: false,\n calloutRenderEdge: undefined,\n };\n return _this;\n }\n Object.defineProperty(DropdownInternal.prototype, \"selectedOptions\", {\n /**\n * All selected options\n */\n get: function () {\n var _a = this.props, options = _a.options, selectedIndices = _a.hoisted.selectedIndices;\n return getAllSelectedOptions(options, selectedIndices);\n },\n enumerable: false,\n configurable: true\n });\n DropdownInternal.prototype.componentWillUnmount = function () {\n clearTimeout(this._scrollIdleTimeoutId);\n };\n DropdownInternal.prototype.componentDidUpdate = function (prevProps, prevState) {\n if (prevState.isOpen === true && this.state.isOpen === false) {\n this._gotMouseMove = false;\n this._hasBeenPositioned = false;\n if (this.props.onDismiss) {\n this.props.onDismiss();\n }\n }\n };\n DropdownInternal.prototype.render = function () {\n var id = this._id;\n var props = this.props;\n var className = props.className, label = props.label, options = props.options, ariaLabel = props.ariaLabel, required = props.required, errorMessage = props.errorMessage, propStyles = props.styles, theme = props.theme, panelProps = props.panelProps, calloutProps = props.calloutProps, _a = props.onRenderTitle, onRenderTitle = _a === void 0 ? this._getTitle : _a, _b = props.onRenderContainer, onRenderContainer = _b === void 0 ? this._onRenderContainer : _b, _c = props.onRenderCaretDown, onRenderCaretDown = _c === void 0 ? this._onRenderCaretDown : _c, _d = props.onRenderLabel, onRenderLabel = _d === void 0 ? this._onRenderLabel : _d, selectedIndices = props.hoisted.selectedIndices;\n var _e = this.state, isOpen = _e.isOpen, calloutRenderEdge = _e.calloutRenderEdge, hasFocus = _e.hasFocus;\n // eslint-disable-next-line deprecation/deprecation\n var onRenderPlaceholder = props.onRenderPlaceholder || props.onRenderPlaceHolder || this._getPlaceholder;\n // If our cached options are out of date update our cache\n if (options !== this._sizePosCache.cachedOptions) {\n this._sizePosCache.updateOptions(options);\n }\n var selectedOptions = getAllSelectedOptions(options, selectedIndices);\n var divProps = getNativeProps(props, divProperties);\n var disabled = this._isDisabled();\n var errorMessageId = id + '-errorMessage';\n var ariaActiveDescendant = disabled\n ? undefined\n : isOpen && selectedIndices.length === 1 && selectedIndices[0] >= 0\n ? this._listId + selectedIndices[0]\n : undefined;\n this._classNames = getClassNames(propStyles, {\n theme: theme,\n className: className,\n hasError: !!(errorMessage && errorMessage.length > 0),\n hasLabel: !!label,\n isOpen: isOpen,\n required: required,\n disabled: disabled,\n isRenderingPlaceholder: !selectedOptions.length,\n panelClassName: panelProps ? panelProps.className : undefined,\n calloutClassName: calloutProps ? calloutProps.className : undefined,\n calloutRenderEdge: calloutRenderEdge,\n });\n var hasErrorMessage = !!errorMessage && errorMessage.length > 0;\n return (React.createElement(\"div\", { className: this._classNames.root, ref: this.props.hoisted.rootRef, \"aria-owns\": isOpen ? this._listId : undefined },\n onRenderLabel(this.props, this._onRenderLabel),\n React.createElement(\"div\", __assign({ \"data-is-focusable\": !disabled, \"data-ktp-target\": true, ref: this._dropDown, id: id, tabIndex: disabled ? -1 : 0, role: \"combobox\", \"aria-haspopup\": \"listbox\", \"aria-expanded\": isOpen ? 'true' : 'false', \"aria-label\": ariaLabel, \"aria-labelledby\": label && !ariaLabel ? mergeAriaAttributeValues(this._labelId, this._optionId) : undefined, \"aria-describedby\": hasErrorMessage ? this._id + '-errorMessage' : undefined, \"aria-activedescendant\": ariaActiveDescendant, \"aria-required\": required, \"aria-disabled\": disabled, \"aria-controls\": isOpen ? this._listId : undefined }, divProps, { className: this._classNames.dropdown, onBlur: this._onDropdownBlur, onKeyDown: this._onDropdownKeyDown, onKeyUp: this._onDropdownKeyUp, onClick: this._onDropdownClick, onMouseDown: this._onDropdownMouseDown, onFocus: this._onFocus }),\n React.createElement(\"span\", { id: this._optionId, className: this._classNames.title, \"aria-live\": hasFocus ? 'polite' : undefined, \"aria-atomic\": hasFocus ? true : undefined, \"aria-invalid\": hasErrorMessage }, \n // If option is selected render title, otherwise render the placeholder text\n selectedOptions.length\n ? onRenderTitle(selectedOptions, this._onRenderTitle)\n : onRenderPlaceholder(props, this._onRenderPlaceholder)),\n React.createElement(\"span\", { className: this._classNames.caretDownWrapper }, onRenderCaretDown(props, this._onRenderCaretDown))),\n isOpen && onRenderContainer(__assign(__assign({}, props), { onDismiss: this._onDismiss }), this._onRenderContainer),\n hasErrorMessage && (React.createElement(\"div\", { role: \"alert\", id: errorMessageId, className: this._classNames.errorMessage }, errorMessage))));\n };\n DropdownInternal.prototype.focus = function (shouldOpenOnFocus) {\n if (this._dropDown.current) {\n this._dropDown.current.focus();\n if (shouldOpenOnFocus) {\n this.setState({\n isOpen: true,\n });\n }\n }\n };\n DropdownInternal.prototype.setSelectedIndex = function (event, index) {\n var _a = this.props, options = _a.options, selectedKey = _a.selectedKey, selectedKeys = _a.selectedKeys, multiSelect = _a.multiSelect, notifyOnReselect = _a.notifyOnReselect, _b = _a.hoisted.selectedIndices, selectedIndices = _b === void 0 ? [] : _b;\n var checked = selectedIndices ? selectedIndices.indexOf(index) > -1 : false;\n var newIndexes = [];\n index = Math.max(0, Math.min(options.length - 1, index));\n // If this is a controlled component then no state change should take place.\n if (selectedKey !== undefined || selectedKeys !== undefined) {\n this._onChange(event, options, index, checked, multiSelect);\n return;\n }\n if (!multiSelect && !notifyOnReselect && index === selectedIndices[0]) {\n return;\n }\n else if (multiSelect) {\n newIndexes = selectedIndices ? this._copyArray(selectedIndices) : [];\n if (checked) {\n var position = newIndexes.indexOf(index);\n if (position > -1) {\n // unchecked the current one\n newIndexes.splice(position, 1);\n }\n }\n else {\n // add the new selected index into the existing one\n newIndexes.push(index);\n }\n }\n else {\n // Set the selected option if this is an uncontrolled component\n newIndexes = [index];\n }\n event.persist();\n // Call onChange after state is updated\n this.props.hoisted.setSelectedIndices(newIndexes);\n this._onChange(event, options, index, checked, multiSelect);\n };\n DropdownInternal.prototype._copyArray = function (array) {\n var newArray = [];\n for (var _i = 0, array_1 = array; _i < array_1.length; _i++) {\n var element = array_1[_i];\n newArray.push(element);\n }\n return newArray;\n };\n /**\n * Finds the next valid Dropdown option and sets the selected index to it.\n * @param stepValue - Value of how many items the function should traverse. Should be -1 or 1.\n * @param index - Index of where the search should start\n * @param selectedIndex - The selectedIndex Dropdown's state\n * @returns The next valid dropdown option's index\n */\n DropdownInternal.prototype._moveIndex = function (event, stepValue, index, selectedIndex) {\n var options = this.props.options;\n // Return selectedIndex if nothing has changed or options is empty\n if (selectedIndex === index || options.length === 0) {\n return selectedIndex;\n }\n // If the user is pressing the up or down key we want to make\n // sure that the dropdown cycles through the options without\n // causing the screen to scroll. In _onDropdownKeyDown\n // at the very end is a check to see if newIndex !== selectedIndex.\n // If the index is less than 0 and we set it back to 0, then\n // newIndex will equal selectedIndex and not stop the action\n // of the key press happening and vice versa for indexes greater\n // than or equal to the options length.\n if (index >= options.length) {\n index = 0;\n }\n else if (index < 0) {\n index = options.length - 1;\n }\n var stepCounter = 0;\n // If current index is a header or divider, or disabled, increment by step\n while (options[index].itemType === DropdownMenuItemType.Header ||\n options[index].itemType === DropdownMenuItemType.Divider ||\n options[index].disabled) {\n // If stepCounter exceeds length of options, then return selectedIndex (-1)\n if (stepCounter >= options.length) {\n return selectedIndex;\n }\n // If index + stepValue is out of bounds, wrap around\n if (index + stepValue < 0) {\n index = options.length;\n }\n else if (index + stepValue >= options.length) {\n index = -1;\n }\n index = index + stepValue;\n stepCounter++;\n }\n this.setSelectedIndex(event, index);\n return index;\n };\n /** Wrap item list in a FocusZone */\n DropdownInternal.prototype._renderFocusableList = function (props) {\n var _a = props.onRenderList, onRenderList = _a === void 0 ? this._onRenderList : _a, label = props.label, ariaLabel = props.ariaLabel, multiSelect = props.multiSelect;\n return (React.createElement(\"div\", { className: this._classNames.dropdownItemsWrapper, onKeyDown: this._onZoneKeyDown, onKeyUp: this._onZoneKeyUp, ref: this._host, tabIndex: 0 },\n React.createElement(FocusZone, { ref: this._focusZone, direction: FocusZoneDirection.vertical, id: this._listId, className: this._classNames.dropdownItems, role: \"listbox\", \"aria-label\": ariaLabel, \"aria-labelledby\": label && !ariaLabel ? this._labelId : undefined, \"aria-multiselectable\": multiSelect }, onRenderList(props, this._onRenderList))));\n };\n DropdownInternal.prototype._renderSeparator = function (item) {\n var index = item.index, key = item.key;\n if (index > 0) {\n return React.createElement(\"div\", { role: \"separator\", key: key, className: this._classNames.dropdownDivider });\n }\n return null;\n };\n DropdownInternal.prototype._renderHeader = function (item) {\n var _a = this.props.onRenderOption, onRenderOption = _a === void 0 ? this._onRenderOption : _a;\n var key = item.key, id = item.id;\n return (React.createElement(\"div\", { id: id, key: key, className: this._classNames.dropdownItemHeader }, onRenderOption(item, this._onRenderOption)));\n };\n DropdownInternal.prototype._onItemMouseEnter = function (item, ev) {\n if (this._shouldIgnoreMouseEvent()) {\n return;\n }\n var targetElement = ev.currentTarget;\n targetElement.focus();\n };\n DropdownInternal.prototype._onItemMouseMove = function (item, ev) {\n var targetElement = ev.currentTarget;\n this._gotMouseMove = true;\n if (!this._isScrollIdle || document.activeElement === targetElement) {\n return;\n }\n targetElement.focus();\n };\n DropdownInternal.prototype._shouldIgnoreMouseEvent = function () {\n return !this._isScrollIdle || !this._gotMouseMove;\n };\n /**\n * Returns true if the key for the event is alt (Mac option) or meta (Mac command).\n */\n DropdownInternal.prototype._isAltOrMeta = function (ev) {\n // eslint-disable-next-line deprecation/deprecation\n return ev.which === KeyCodes.alt || ev.key === 'Meta';\n };\n /**\n * We close the menu on key up only if ALL of the following are true:\n * - Most recent key down was alt or meta (command)\n * - The alt/meta key down was NOT followed by some other key (such as down/up arrow to\n * expand/collapse the menu)\n * - We're not on a Mac (or iOS)\n *\n * This is because on Windows, pressing alt moves focus to the application menu bar or similar,\n * closing any open context menus. There is not a similar behavior on Macs.\n */\n DropdownInternal.prototype._shouldHandleKeyUp = function (ev) {\n var keyPressIsAltOrMetaAlone = this._lastKeyDownWasAltOrMeta && this._isAltOrMeta(ev);\n this._lastKeyDownWasAltOrMeta = false;\n return !!keyPressIsAltOrMetaAlone && !(isMac() || isIOS());\n };\n /**\n * Returns true if dropdown should set to open on focus.\n * Otherwise, isOpen state should be toggled on click\n */\n DropdownInternal.prototype._shouldOpenOnFocus = function () {\n var hasFocus = this.state.hasFocus;\n var openOnKeyboardFocus = this.props.openOnKeyboardFocus;\n return !this._isFocusedByClick && openOnKeyboardFocus === true && !hasFocus;\n };\n DropdownInternal.defaultProps = {\n options: [],\n };\n return DropdownInternal;\n}(React.Component));\n//# sourceMappingURL=Dropdown.base.js.map","var _a, _b, _c;\nimport { __assign, __spreadArray } from \"tslib\";\nimport { IsFocusVisibleClassName } from '../../Utilities';\nimport { RectangleEdge } from '../../Positioning';\nimport { FontWeights, HighContrastSelector, getGlobalClassNames, normalize, HighContrastSelectorWhite, getScreenSelector, ScreenWidthMinMedium, getHighContrastNoAdjustStyle, } from '../../Styling';\nvar GlobalClassNames = {\n root: 'ms-Dropdown-container',\n label: 'ms-Dropdown-label',\n dropdown: 'ms-Dropdown',\n title: 'ms-Dropdown-title',\n caretDownWrapper: 'ms-Dropdown-caretDownWrapper',\n caretDown: 'ms-Dropdown-caretDown',\n callout: 'ms-Dropdown-callout',\n panel: 'ms-Dropdown-panel',\n dropdownItems: 'ms-Dropdown-items',\n dropdownItem: 'ms-Dropdown-item',\n dropdownDivider: 'ms-Dropdown-divider',\n dropdownOptionText: 'ms-Dropdown-optionText',\n dropdownItemHeader: 'ms-Dropdown-header',\n titleIsPlaceHolder: 'ms-Dropdown-titleIsPlaceHolder',\n titleHasError: 'ms-Dropdown-title--hasError',\n};\nvar DROPDOWN_HEIGHT = 32;\nvar DROPDOWN_ITEM_HEIGHT = 36;\nvar highContrastAdjustMixin = (_a = {},\n _a[HighContrastSelector + \", \" + HighContrastSelectorWhite.replace('@media ', '')] = __assign({}, getHighContrastNoAdjustStyle()),\n _a);\nvar highContrastItemAndTitleStateMixin = {\n selectors: __assign((_b = {}, _b[HighContrastSelector] = {\n backgroundColor: 'Highlight',\n borderColor: 'Highlight',\n color: 'HighlightText',\n }, _b), highContrastAdjustMixin),\n};\nvar highContrastBorderState = {\n selectors: (_c = {},\n _c[HighContrastSelector] = {\n borderColor: 'Highlight',\n },\n _c),\n};\nvar MinimumScreenSelector = getScreenSelector(0, ScreenWidthMinMedium);\nexport var getStyles = function (props) {\n var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m;\n var theme = props.theme, hasError = props.hasError, hasLabel = props.hasLabel, className = props.className, isOpen = props.isOpen, disabled = props.disabled, required = props.required, isRenderingPlaceholder = props.isRenderingPlaceholder, panelClassName = props.panelClassName, calloutClassName = props.calloutClassName, calloutRenderEdge = props.calloutRenderEdge;\n if (!theme) {\n throw new Error('theme is undefined or null in base Dropdown getStyles function.');\n }\n var globalClassnames = getGlobalClassNames(GlobalClassNames, theme);\n var palette = theme.palette, semanticColors = theme.semanticColors, effects = theme.effects, fonts = theme.fonts;\n var rootHoverFocusActiveSelectorNeutralDarkMixin = {\n color: semanticColors.menuItemTextHovered,\n };\n var rootHoverFocusActiveSelectorNeutralPrimaryMixin = {\n color: semanticColors.menuItemText,\n };\n var borderColorError = {\n borderColor: semanticColors.errorText,\n };\n var dropdownItemStyle = [\n globalClassnames.dropdownItem,\n {\n backgroundColor: 'transparent',\n boxSizing: 'border-box',\n cursor: 'pointer',\n display: 'flex',\n alignItems: 'center',\n padding: '0 8px',\n width: '100%',\n minHeight: DROPDOWN_ITEM_HEIGHT,\n lineHeight: 20,\n height: 0,\n position: 'relative',\n border: '1px solid transparent',\n borderRadius: 0,\n wordWrap: 'break-word',\n overflowWrap: 'break-word',\n textAlign: 'left',\n '.ms-Button-flexContainer': {\n width: '100%',\n },\n },\n ];\n var selectedItemBackgroundColor = semanticColors.menuItemBackgroundPressed;\n var itemSelectors = function (isSelected) {\n var _a;\n if (isSelected === void 0) { isSelected = false; }\n return {\n selectors: (_a = {\n '&:hover:focus': [\n {\n color: semanticColors.menuItemTextHovered,\n backgroundColor: !isSelected ? semanticColors.menuItemBackgroundHovered : selectedItemBackgroundColor,\n },\n highContrastItemAndTitleStateMixin,\n ],\n '&:focus': [\n {\n backgroundColor: !isSelected ? 'transparent' : selectedItemBackgroundColor,\n },\n highContrastItemAndTitleStateMixin,\n ],\n '&:active': [\n {\n color: semanticColors.menuItemTextHovered,\n backgroundColor: !isSelected ? semanticColors.menuBackground : semanticColors.menuItemBackgroundHovered,\n },\n highContrastItemAndTitleStateMixin,\n ]\n },\n _a[\".\" + IsFocusVisibleClassName + \" &:focus:after\"] = {\n left: 0,\n top: 0,\n bottom: 0,\n right: 0,\n },\n _a[HighContrastSelector] = {\n border: 'none',\n },\n _a),\n };\n };\n var dropdownItemSelected = __spreadArray(__spreadArray([], dropdownItemStyle), [\n {\n backgroundColor: selectedItemBackgroundColor,\n color: semanticColors.menuItemTextHovered,\n },\n itemSelectors(true),\n highContrastItemAndTitleStateMixin,\n ]);\n var dropdownItemDisabled = __spreadArray(__spreadArray([], dropdownItemStyle), [\n {\n color: semanticColors.disabledText,\n cursor: 'default',\n selectors: (_a = {},\n _a[HighContrastSelector] = {\n color: 'GrayText',\n border: 'none',\n },\n _a),\n },\n ]);\n var titleOpenBorderRadius = calloutRenderEdge === RectangleEdge.bottom\n ? effects.roundedCorner2 + \" \" + effects.roundedCorner2 + \" 0 0\"\n : \"0 0 \" + effects.roundedCorner2 + \" \" + effects.roundedCorner2;\n var calloutOpenBorderRadius = calloutRenderEdge === RectangleEdge.bottom\n ? \"0 0 \" + effects.roundedCorner2 + \" \" + effects.roundedCorner2\n : effects.roundedCorner2 + \" \" + effects.roundedCorner2 + \" 0 0\";\n return {\n root: [globalClassnames.root, className],\n label: globalClassnames.label,\n dropdown: [\n globalClassnames.dropdown,\n normalize,\n fonts.medium,\n {\n color: semanticColors.menuItemText,\n borderColor: semanticColors.focusBorder,\n position: 'relative',\n outline: 0,\n userSelect: 'none',\n selectors: (_b = {},\n _b['&:hover .' + globalClassnames.title] = [\n !disabled && rootHoverFocusActiveSelectorNeutralDarkMixin,\n { borderColor: isOpen ? palette.neutralSecondary : palette.neutralPrimary },\n highContrastBorderState,\n ],\n _b['&:focus .' + globalClassnames.title] = [\n !disabled && rootHoverFocusActiveSelectorNeutralDarkMixin,\n { selectors: (_c = {}, _c[HighContrastSelector] = { color: 'Highlight' }, _c) },\n ],\n _b['&:focus:after'] = [\n {\n pointerEvents: 'none',\n content: \"''\",\n position: 'absolute',\n boxSizing: 'border-box',\n top: '0px',\n left: '0px',\n width: '100%',\n height: '100%',\n // see https://github.com/microsoft/fluentui/pull/9182 for semantic color disc\n border: !disabled ? \"2px solid \" + palette.themePrimary : 'none',\n borderRadius: '2px',\n selectors: (_d = {},\n _d[HighContrastSelector] = {\n color: 'Highlight',\n },\n _d),\n },\n ],\n _b['&:active .' + globalClassnames.title] = [\n !disabled && rootHoverFocusActiveSelectorNeutralDarkMixin,\n { borderColor: palette.themePrimary },\n highContrastBorderState,\n ],\n _b['&:hover .' + globalClassnames.caretDown] = !disabled && rootHoverFocusActiveSelectorNeutralPrimaryMixin,\n _b['&:focus .' + globalClassnames.caretDown] = [\n !disabled && rootHoverFocusActiveSelectorNeutralPrimaryMixin,\n { selectors: (_e = {}, _e[HighContrastSelector] = { color: 'Highlight' }, _e) },\n ],\n _b['&:active .' + globalClassnames.caretDown] = !disabled && rootHoverFocusActiveSelectorNeutralPrimaryMixin,\n _b['&:hover .' + globalClassnames.titleIsPlaceHolder] = !disabled && rootHoverFocusActiveSelectorNeutralPrimaryMixin,\n _b['&:focus .' + globalClassnames.titleIsPlaceHolder] = !disabled && rootHoverFocusActiveSelectorNeutralPrimaryMixin,\n _b['&:active .' + globalClassnames.titleIsPlaceHolder] = !disabled && rootHoverFocusActiveSelectorNeutralPrimaryMixin,\n _b['&:hover .' + globalClassnames.titleHasError] = borderColorError,\n _b['&:active .' + globalClassnames.titleHasError] = borderColorError,\n _b),\n },\n isOpen && 'is-open',\n disabled && 'is-disabled',\n required && 'is-required',\n required &&\n !hasLabel && {\n selectors: (_f = {\n ':before': {\n content: \"'*'\",\n color: semanticColors.errorText,\n position: 'absolute',\n top: -5,\n right: -10,\n }\n },\n _f[HighContrastSelector] = {\n selectors: {\n ':after': {\n right: -14, // moving the * 4 pixel to right to alleviate border clipping in HC mode.\n },\n },\n },\n _f),\n },\n ],\n title: [\n globalClassnames.title,\n normalize,\n {\n backgroundColor: semanticColors.inputBackground,\n borderWidth: 1,\n borderStyle: 'solid',\n borderColor: semanticColors.inputBorder,\n borderRadius: isOpen ? titleOpenBorderRadius : effects.roundedCorner2,\n cursor: 'pointer',\n display: 'block',\n height: DROPDOWN_HEIGHT,\n lineHeight: DROPDOWN_HEIGHT - 2,\n padding: \"0 28px 0 8px\",\n position: 'relative',\n overflow: 'hidden',\n whiteSpace: 'nowrap',\n textOverflow: 'ellipsis',\n },\n isRenderingPlaceholder && [globalClassnames.titleIsPlaceHolder, { color: semanticColors.inputPlaceholderText }],\n hasError && [globalClassnames.titleHasError, borderColorError],\n disabled && {\n backgroundColor: semanticColors.disabledBackground,\n border: 'none',\n color: semanticColors.disabledText,\n cursor: 'default',\n selectors: (_g = {},\n _g[HighContrastSelector] = __assign({ border: '1px solid GrayText', color: 'GrayText', backgroundColor: 'Window' }, getHighContrastNoAdjustStyle()),\n _g),\n },\n ],\n caretDownWrapper: [\n globalClassnames.caretDownWrapper,\n {\n height: DROPDOWN_HEIGHT,\n lineHeight: DROPDOWN_HEIGHT - 2,\n paddingTop: 1,\n position: 'absolute',\n right: 8,\n top: 0,\n },\n !disabled && {\n cursor: 'pointer',\n },\n ],\n caretDown: [\n globalClassnames.caretDown,\n { color: palette.neutralSecondary, fontSize: fonts.small.fontSize, pointerEvents: 'none' },\n disabled && {\n color: semanticColors.disabledText,\n selectors: (_h = {},\n _h[HighContrastSelector] = __assign({ color: 'GrayText' }, getHighContrastNoAdjustStyle()),\n _h),\n },\n ],\n errorMessage: __assign(__assign({ color: semanticColors.errorText }, theme.fonts.small), { paddingTop: 5 }),\n callout: [\n globalClassnames.callout,\n {\n boxShadow: effects.elevation8,\n borderRadius: calloutOpenBorderRadius,\n selectors: (_j = {},\n _j['.ms-Callout-main'] = { borderRadius: calloutOpenBorderRadius },\n _j),\n },\n calloutClassName,\n ],\n dropdownItemsWrapper: { selectors: { '&:focus': { outline: 0 } } },\n dropdownItems: [globalClassnames.dropdownItems, { display: 'block' }],\n dropdownItem: __spreadArray(__spreadArray([], dropdownItemStyle), [itemSelectors()]),\n dropdownItemSelected: dropdownItemSelected,\n dropdownItemDisabled: dropdownItemDisabled,\n dropdownItemSelectedAndDisabled: [dropdownItemSelected, dropdownItemDisabled, { backgroundColor: 'transparent' }],\n dropdownItemHidden: __spreadArray(__spreadArray([], dropdownItemStyle), [{ display: 'none' }]),\n dropdownDivider: [globalClassnames.dropdownDivider, { height: 1, backgroundColor: semanticColors.bodyDivider }],\n dropdownOptionText: [\n globalClassnames.dropdownOptionText,\n {\n overflow: 'hidden',\n whiteSpace: 'nowrap',\n textOverflow: 'ellipsis',\n minWidth: 0,\n maxWidth: '100%',\n wordWrap: 'break-word',\n overflowWrap: 'break-word',\n margin: '1px',\n },\n ],\n dropdownItemHeader: [\n globalClassnames.dropdownItemHeader,\n __assign(__assign({}, fonts.medium), { fontWeight: FontWeights.semibold, color: semanticColors.menuHeader, background: 'none', backgroundColor: 'transparent', border: 'none', height: DROPDOWN_ITEM_HEIGHT, lineHeight: DROPDOWN_ITEM_HEIGHT, cursor: 'default', padding: '0 8px', userSelect: 'none', textAlign: 'left', selectors: (_k = {},\n _k[HighContrastSelector] = __assign({ color: 'GrayText' }, getHighContrastNoAdjustStyle()),\n _k) }),\n ],\n subComponentStyles: {\n label: { root: { display: 'inline-block' } },\n multiSelectItem: {\n root: {\n padding: 0,\n },\n label: {\n alignSelf: 'stretch',\n padding: '0 8px',\n width: '100%',\n },\n input: {\n selectors: (_l = {},\n _l[\".\" + IsFocusVisibleClassName + \" &:focus + label::before\"] = {\n outlineOffset: '0px',\n },\n _l),\n },\n },\n panel: {\n root: [panelClassName],\n main: {\n selectors: (_m = {},\n // In case of extra small screen sizes\n _m[MinimumScreenSelector] = {\n // panelWidth xs\n width: 272,\n },\n _m),\n },\n contentInner: { padding: '0 0 20px' },\n },\n },\n };\n};\n//# sourceMappingURL=Dropdown.styles.js.map","import { styled } from '../../Utilities';\nimport { DropdownBase } from './Dropdown.base';\nimport { getStyles } from './Dropdown.styles';\nexport var Dropdown = styled(DropdownBase, getStyles, undefined, {\n scope: 'Dropdown',\n});\nDropdown.displayName = 'Dropdown';\n//# sourceMappingURL=Dropdown.js.map","/* eslint-disable */\nimport { loadStyles } from '@microsoft/load-themed-styles';\nloadStyles([{ \"rawString\": \".pickerText_cc9894a7{display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-sizing:border-box;box-sizing:border-box;border:1px solid \" }, { \"theme\": \"neutralTertiary\", \"defaultValue\": \"#a19f9d\" }, { \"rawString\": \";min-width:180px;padding:1px;min-height:32px}.pickerText_cc9894a7:hover{border-color:\" }, { \"theme\": \"themeLight\", \"defaultValue\": \"#c7e0f4\" }, { \"rawString\": \"}.pickerInput_cc9894a7{height:34px;border:none;-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1;outline:0;padding:0 6px 0;margin:1px}.pickerInput_cc9894a7::-ms-clear{display:none}\" }]);\nexport var pickerText = \"pickerText_cc9894a7\";\nexport var pickerInput = \"pickerInput_cc9894a7\";\n//# sourceMappingURL=BaseExtendedPicker.scss.js.map","import { __assign, __extends } from \"tslib\";\nimport * as React from 'react';\nimport { KeyCodes, css, initializeComponentRef } from '../../Utilities';\nimport { Autofill } from '../../Autofill';\nimport * as stylesImport from './BaseExtendedPicker.scss';\nimport { FocusZone, FocusZoneDirection } from '../../FocusZone';\nimport { Selection, SelectionMode, SelectionZone } from '../../Selection';\nvar styles = stylesImport;\nvar BaseExtendedPicker = /** @class */ (function (_super) {\n __extends(BaseExtendedPicker, _super);\n function BaseExtendedPicker(basePickerProps) {\n var _this = _super.call(this, basePickerProps) || this;\n _this.floatingPicker = React.createRef();\n _this.selectedItemsList = React.createRef();\n _this.root = React.createRef();\n _this.input = React.createRef();\n _this.onSelectionChange = function () {\n _this.forceUpdate();\n };\n _this.onInputChange = function (value, composing) {\n // We don't want to update the picker's suggestions when the input is still being composed\n if (!composing) {\n _this.setState({ queryString: value });\n if (_this.floatingPicker.current) {\n _this.floatingPicker.current.onQueryStringChanged(value);\n }\n }\n };\n _this.onInputFocus = function (ev) {\n if (_this.selectedItemsList.current) {\n _this.selectedItemsList.current.unselectAll();\n }\n if (_this.props.inputProps && _this.props.inputProps.onFocus) {\n _this.props.inputProps.onFocus(ev);\n }\n };\n _this.onInputClick = function (ev) {\n if (_this.selectedItemsList.current) {\n _this.selectedItemsList.current.unselectAll();\n }\n if (_this.floatingPicker.current && _this.inputElement) {\n // Update the value if the input value is empty or is different than the current inputText from the floatingPicker\n var shoudUpdateValue = _this.inputElement.value === '' || _this.inputElement.value !== _this.floatingPicker.current.inputText;\n _this.floatingPicker.current.showPicker(shoudUpdateValue);\n }\n };\n // This is protected because we may expect the backspace key to work differently in a different kind of picker.\n // This lets the subclass override it and provide it's own onBackspace. For an example see the BasePickerListBelow\n _this.onBackspace = function (ev) {\n // eslint-disable-next-line deprecation/deprecation\n if (ev.which !== KeyCodes.backspace) {\n return;\n }\n if (_this.selectedItemsList.current && _this.items.length) {\n if (_this.input.current &&\n !_this.input.current.isValueSelected &&\n _this.input.current.inputElement === ev.currentTarget.ownerDocument.activeElement &&\n _this.input.current.cursorLocation === 0) {\n if (_this.floatingPicker.current) {\n _this.floatingPicker.current.hidePicker();\n }\n ev.preventDefault();\n _this.selectedItemsList.current.removeItemAt(_this.items.length - 1);\n _this._onSelectedItemsChanged();\n }\n else if (_this.selectedItemsList.current.hasSelectedItems()) {\n if (_this.floatingPicker.current) {\n _this.floatingPicker.current.hidePicker();\n }\n ev.preventDefault();\n _this.selectedItemsList.current.removeSelectedItems();\n _this._onSelectedItemsChanged();\n }\n }\n };\n _this.onCopy = function (ev) {\n if (_this.selectedItemsList.current) {\n // Pass it down into the selected items list\n _this.selectedItemsList.current.onCopy(ev);\n }\n };\n _this.onPaste = function (ev) {\n if (_this.props.onPaste) {\n var inputText = ev.clipboardData.getData('Text');\n ev.preventDefault();\n _this.props.onPaste(inputText);\n }\n };\n _this._onSuggestionSelected = function (item) {\n var currentRenderedQueryString = _this.props.currentRenderedQueryString;\n var queryString = _this.state.queryString;\n if (currentRenderedQueryString === undefined || currentRenderedQueryString === queryString) {\n var processedItem = _this.props.onItemSelected\n ? _this.props.onItemSelected(item)\n : item;\n if (processedItem === null) {\n return;\n }\n var processedItemObject = processedItem;\n var processedItemPromiseLike = processedItem;\n var newItem_1;\n if (processedItemPromiseLike && processedItemPromiseLike.then) {\n processedItemPromiseLike.then(function (resolvedProcessedItem) {\n newItem_1 = resolvedProcessedItem;\n _this._addProcessedItem(newItem_1);\n });\n }\n else {\n newItem_1 = processedItemObject;\n _this._addProcessedItem(newItem_1);\n }\n }\n };\n _this._onSelectedItemsChanged = function () {\n _this.focus();\n };\n /**\n * The floating picker is the source of truth for if the menu has been opened or not.\n *\n * Because this isn't tracked inside the state of this component, we need to\n * force an update here to keep the rendered output that depends on the picker being open\n * in sync with the state\n *\n * Called when the suggestions is shown or closed\n */\n _this._onSuggestionsShownOrHidden = function () {\n _this.forceUpdate();\n };\n initializeComponentRef(_this);\n _this.selection = new Selection({ onSelectionChanged: function () { return _this.onSelectionChange(); } });\n _this.state = {\n queryString: '',\n };\n return _this;\n }\n Object.defineProperty(BaseExtendedPicker.prototype, \"items\", {\n get: function () {\n var _a, _b, _c, _d;\n return (_d = (_c = (_a = this.props.selectedItems) !== null && _a !== void 0 ? _a : (_b = this.selectedItemsList.current) === null || _b === void 0 ? void 0 : _b.items) !== null && _c !== void 0 ? _c : this.props.defaultSelectedItems) !== null && _d !== void 0 ? _d : null;\n },\n enumerable: false,\n configurable: true\n });\n BaseExtendedPicker.prototype.componentDidMount = function () {\n this.forceUpdate();\n };\n BaseExtendedPicker.prototype.focus = function () {\n if (this.input.current) {\n this.input.current.focus();\n }\n };\n BaseExtendedPicker.prototype.clearInput = function () {\n if (this.input.current) {\n this.input.current.clear();\n }\n };\n Object.defineProperty(BaseExtendedPicker.prototype, \"inputElement\", {\n get: function () {\n return this.input.current && this.input.current.inputElement;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(BaseExtendedPicker.prototype, \"highlightedItems\", {\n get: function () {\n return this.selectedItemsList.current ? this.selectedItemsList.current.highlightedItems() : [];\n },\n enumerable: false,\n configurable: true\n });\n BaseExtendedPicker.prototype.render = function () {\n var _a = this.props, className = _a.className, inputProps = _a.inputProps, disabled = _a.disabled, focusZoneProps = _a.focusZoneProps;\n var activeDescendant = this.floatingPicker.current && this.floatingPicker.current.currentSelectedSuggestionIndex !== -1\n ? 'sug-' + this.floatingPicker.current.currentSelectedSuggestionIndex\n : undefined;\n var isExpanded = this.floatingPicker.current ? this.floatingPicker.current.isSuggestionsShown : false;\n return (React.createElement(\"div\", { ref: this.root, className: css('ms-BasePicker ms-BaseExtendedPicker', className ? className : ''), onKeyDown: this.onBackspace, onCopy: this.onCopy },\n React.createElement(FocusZone, __assign({ direction: FocusZoneDirection.bidirectional }, focusZoneProps),\n React.createElement(SelectionZone, { selection: this.selection, selectionMode: SelectionMode.multiple },\n React.createElement(\"div\", { className: css('ms-BasePicker-text', styles.pickerText), role: 'list' },\n this.props.headerComponent,\n this.renderSelectedItemsList(),\n this.canAddItems() && (React.createElement(Autofill, __assign({}, inputProps, { className: css('ms-BasePicker-input', styles.pickerInput), ref: this.input, onFocus: this.onInputFocus, onClick: this.onInputClick, onInputValueChange: this.onInputChange, \"aria-activedescendant\": activeDescendant, \"aria-owns\": isExpanded ? 'suggestion-list' : undefined, \"aria-expanded\": isExpanded, \"aria-haspopup\": \"true\", role: \"combobox\", disabled: disabled, onPaste: this.onPaste })))))),\n this.renderFloatingPicker()));\n };\n Object.defineProperty(BaseExtendedPicker.prototype, \"floatingPickerProps\", {\n get: function () {\n return this.props.floatingPickerProps;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(BaseExtendedPicker.prototype, \"selectedItemsListProps\", {\n get: function () {\n return this.props.selectedItemsListProps;\n },\n enumerable: false,\n configurable: true\n });\n BaseExtendedPicker.prototype.canAddItems = function () {\n var itemLimit = this.props.itemLimit;\n return itemLimit === undefined || this.items.length < itemLimit;\n };\n BaseExtendedPicker.prototype.renderFloatingPicker = function () {\n var FloatingPicker = this.props.onRenderFloatingPicker;\n return (React.createElement(FloatingPicker, __assign({ componentRef: this.floatingPicker, onChange: this._onSuggestionSelected, onSuggestionsHidden: this._onSuggestionsShownOrHidden, onSuggestionsShown: this._onSuggestionsShownOrHidden, inputElement: this.input.current ? this.input.current.inputElement : undefined, selectedItems: this.items, suggestionItems: this.props.suggestionItems ? this.props.suggestionItems : undefined }, this.floatingPickerProps)));\n };\n BaseExtendedPicker.prototype.renderSelectedItemsList = function () {\n var SelectedItems = this.props.onRenderSelectedItems;\n return (React.createElement(SelectedItems, __assign({ componentRef: this.selectedItemsList, selection: this.selection, selectedItems: this.props.selectedItems ? this.props.selectedItems : undefined, onItemsDeleted: this.props.selectedItems ? this.props.onItemsRemoved : undefined }, this.selectedItemsListProps)));\n };\n BaseExtendedPicker.prototype._addProcessedItem = function (newItem) {\n // If this is a controlled component, call the on item selected callback\n // Otherwise add it to the selectedItemsList\n if (this.props.onItemAdded) {\n this.props.onItemAdded(newItem);\n }\n if (this.selectedItemsList.current) {\n this.selectedItemsList.current.addItems([newItem]);\n }\n if (this.input.current) {\n this.input.current.clear();\n }\n if (this.floatingPicker.current) {\n this.floatingPicker.current.hidePicker();\n }\n this.focus();\n };\n return BaseExtendedPicker;\n}(React.Component));\nexport { BaseExtendedPicker };\n//# sourceMappingURL=BaseExtendedPicker.js.map","/* eslint-disable */\nimport { loadStyles } from '@microsoft/load-themed-styles';\nloadStyles([{ \"rawString\": \".resultContent_ae2a2ef5{display:table-row}.resultContent_ae2a2ef5 .resultItem_ae2a2ef5{display:table-cell;vertical-align:bottom}.peoplePickerPersona_ae2a2ef5{width:180px}.peoplePickerPersona_ae2a2ef5 .ms-Persona-details{width:100%}.peoplePicker_ae2a2ef5 .ms-BasePicker-text{min-height:40px}.peoplePickerPersonaContent_ae2a2ef5{display:-webkit-box;display:-ms-flexbox;display:flex;width:100%;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;-webkit-box-align:center;-ms-flex-align:center;align-items:center}\" }]);\nexport var resultContent = \"resultContent_ae2a2ef5\";\nexport var resultItem = \"resultItem_ae2a2ef5\";\nexport var peoplePickerPersona = \"peoplePickerPersona_ae2a2ef5\";\nexport var peoplePicker = \"peoplePicker_ae2a2ef5\";\nexport var peoplePickerPersonaContent = \"peoplePickerPersonaContent_ae2a2ef5\";\n//# sourceMappingURL=ExtendedPeoplePicker.scss.js.map","import { __extends } from \"tslib\";\nimport './ExtendedPeoplePicker.scss';\nimport { BaseExtendedPicker } from '../BaseExtendedPicker';\n/**\n * {@docCategory ExtendedPeoplePicker}\n */\nvar BaseExtendedPeoplePicker = /** @class */ (function (_super) {\n __extends(BaseExtendedPeoplePicker, _super);\n function BaseExtendedPeoplePicker() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n return BaseExtendedPeoplePicker;\n}(BaseExtendedPicker));\nexport { BaseExtendedPeoplePicker };\n/**\n * {@docCategory ExtendedPeoplePicker}\n */\nvar ExtendedPeoplePicker = /** @class */ (function (_super) {\n __extends(ExtendedPeoplePicker, _super);\n function ExtendedPeoplePicker() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n return ExtendedPeoplePicker;\n}(BaseExtendedPeoplePicker));\nexport { ExtendedPeoplePicker };\n//# sourceMappingURL=ExtendedPeoplePicker.js.map","import { __assign } from \"tslib\";\nimport * as React from 'react';\nimport { getNativeProps, divProperties, classNamesFunction, getDocument, memoizeFunction, getRTL, Customizer, useFocusRects, } from '../../Utilities';\nimport { createTheme } from '../../Styling';\nimport { useMergedRefs } from '@fluentui/react-hooks';\nvar getClassNames = classNamesFunction();\nvar getFabricTheme = memoizeFunction(function (theme, isRTL) { return createTheme(__assign(__assign({}, theme), { rtl: isRTL })); });\nvar getDir = function (_a) {\n var theme = _a.theme, dir = _a.dir;\n var contextDir = getRTL(theme) ? 'rtl' : 'ltr';\n var pageDir = getRTL() ? 'rtl' : 'ltr';\n var componentDir = dir ? dir : contextDir;\n return {\n // If Fabric dir !== contextDir\n // Or If contextDir !== pageDir\n // Then we need to set dir of the Fabric root\n rootDir: componentDir !== contextDir || componentDir !== pageDir ? componentDir : dir,\n // If dir !== contextDir || pageDir\n // then set contextual theme around content\n needsTheme: componentDir !== contextDir,\n };\n};\nexport var FabricBase = React.forwardRef(function (props, ref) {\n var className = props.className, theme = props.theme, applyTheme = props.applyTheme, applyThemeToBody = props.applyThemeToBody, styles = props.styles;\n var classNames = getClassNames(styles, {\n theme: theme,\n applyTheme: applyTheme,\n className: className,\n });\n var rootElement = React.useRef(null);\n useApplyThemeToBody(applyThemeToBody, classNames, rootElement);\n useFocusRects(rootElement);\n return React.createElement(React.Fragment, null, useRenderedContent(props, classNames, rootElement, ref));\n});\nFabricBase.displayName = 'FabricBase';\nfunction useRenderedContent(props, _a, rootElement, ref) {\n var root = _a.root;\n var _b = props.as, Root = _b === void 0 ? 'div' : _b, dir = props.dir, theme = props.theme;\n var divProps = getNativeProps(props, divProperties, ['dir']);\n var _c = getDir(props), rootDir = _c.rootDir, needsTheme = _c.needsTheme;\n var renderedContent = React.createElement(Root, __assign({ dir: rootDir }, divProps, { className: root, ref: useMergedRefs(rootElement, ref) }));\n // Create the contextual theme if component direction does not match parent direction.\n if (needsTheme) {\n // Disabling ThemeProvider here because theme doesn't need to be re-provided by ThemeProvider if dir has changed.\n renderedContent = (\n // eslint-disable-next-line deprecation/deprecation\n React.createElement(Customizer, { settings: { theme: getFabricTheme(theme, dir === 'rtl') } }, renderedContent));\n }\n return renderedContent;\n}\nfunction useApplyThemeToBody(applyThemeToBody, _a, rootElement) {\n var bodyThemed = _a.bodyThemed;\n React.useEffect(function () {\n if (applyThemeToBody) {\n var currentDoc_1 = getDocument(rootElement.current);\n if (currentDoc_1) {\n currentDoc_1.body.classList.add(bodyThemed);\n return function () {\n currentDoc_1.body.classList.remove(bodyThemed);\n };\n }\n }\n }, [bodyThemed, applyThemeToBody, rootElement]);\n return rootElement;\n}\n//# sourceMappingURL=Fabric.base.js.map","import { getGlobalClassNames } from '../../Styling';\nvar inheritFont = { fontFamily: 'inherit' };\nvar GlobalClassNames = {\n root: 'ms-Fabric',\n bodyThemed: 'ms-Fabric-bodyThemed',\n};\nexport var getStyles = function (props) {\n var theme = props.theme, className = props.className, applyTheme = props.applyTheme;\n var classNames = getGlobalClassNames(GlobalClassNames, theme);\n return {\n root: [\n classNames.root,\n theme.fonts.medium,\n {\n color: theme.palette.neutralPrimary,\n selectors: {\n '& button': inheritFont,\n '& input': inheritFont,\n '& textarea': inheritFont,\n },\n },\n // apply theme to only if applyTheme is true\n applyTheme && {\n color: theme.semanticColors.bodyText,\n backgroundColor: theme.semanticColors.bodyBackground,\n },\n className,\n ],\n bodyThemed: [\n {\n backgroundColor: theme.semanticColors.bodyBackground,\n },\n ],\n };\n};\n//# sourceMappingURL=Fabric.styles.js.map","import { styled } from '../../Utilities';\nimport { FabricBase } from './Fabric.base';\nimport { getStyles } from './Fabric.styles';\n/**\n * @deprecated This component is deprecated as of `@fluentui/react` version 8. Use `ThemeProvider` instead.\n */\nexport var Fabric = styled(FabricBase, getStyles, undefined, {\n scope: 'Fabric',\n});\n//# sourceMappingURL=Fabric.js.map","/**\n * {@docCategory Facepile}\n */\nexport var OverflowButtonType;\n(function (OverflowButtonType) {\n /** No overflow */\n OverflowButtonType[OverflowButtonType[\"none\"] = 0] = \"none\";\n /** +1 overflow icon */\n OverflowButtonType[OverflowButtonType[\"descriptive\"] = 1] = \"descriptive\";\n /** More overflow icon */\n OverflowButtonType[OverflowButtonType[\"more\"] = 2] = \"more\";\n /** Chevron overflow icon */\n OverflowButtonType[OverflowButtonType[\"downArrow\"] = 3] = \"downArrow\";\n})(OverflowButtonType || (OverflowButtonType = {}));\n//# sourceMappingURL=Facepile.types.js.map","import { __assign } from \"tslib\";\nimport { concatStyleSets } from '../../Styling';\nimport { memoizeFunction } from '../../Utilities';\nimport { getStyles as getBaseButtonStyles } from '../Button/BaseButton.styles';\nexport var getStyles = memoizeFunction(function (theme, className, customStyles) {\n var baseButtonStyles = getBaseButtonStyles(theme);\n var customButtonStyles = concatStyleSets(baseButtonStyles, customStyles);\n return __assign(__assign({}, customButtonStyles), { root: [baseButtonStyles.root, className, theme.fonts.medium, customStyles && customStyles.root] });\n});\n//# sourceMappingURL=FacepileButton.styles.js.map","import { __assign, __decorate, __extends, __rest } from \"tslib\";\nimport * as React from 'react';\nimport { BaseButton } from '../../Button';\nimport { customizable, nullRender } from '../../Utilities';\nimport { getStyles } from './FacepileButton.styles';\nvar FacepileButton = /** @class */ (function (_super) {\n __extends(FacepileButton, _super);\n function FacepileButton() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n FacepileButton.prototype.render = function () {\n var _a = this.props, className = _a.className, styles = _a.styles, rest = __rest(_a, [\"className\", \"styles\"]);\n var customStyles = getStyles(this.props.theme, className, styles);\n return (React.createElement(BaseButton, __assign({}, rest, { variantClassName: \"ms-Button--facepile\", styles: customStyles, onRenderDescription: nullRender })));\n };\n FacepileButton = __decorate([\n customizable('FacepileButton', ['theme', 'styles'], true)\n ], FacepileButton);\n return FacepileButton;\n}(React.Component));\nexport { FacepileButton };\n//# sourceMappingURL=FacepileButton.js.map","import { __assign, __extends } from \"tslib\";\nimport * as React from 'react';\nimport { buttonProperties, classNamesFunction, getId, getNativeProps, initializeComponentRef } from '../../Utilities';\nimport { OverflowButtonType } from './Facepile.types';\nimport { FacepileButton } from './FacepileButton';\nimport { Icon } from '../../Icon';\nimport { Persona } from '../../Persona';\nimport { PersonaCoin, PersonaSize, PersonaInitialsColor } from '../../PersonaCoin';\nvar getClassNames = classNamesFunction();\n/**\n * FacePile with no default styles.\n * [Use the `styles` API to add your own styles.](https://github.com/microsoft/fluentui/wiki/Component-Styling)\n */\nvar FacepileBase = /** @class */ (function (_super) {\n __extends(FacepileBase, _super);\n function FacepileBase(props) {\n var _this = _super.call(this, props) || this;\n _this._classNames = getClassNames(_this.props.styles, {\n theme: _this.props.theme,\n className: _this.props.className,\n });\n _this._getPersonaControl = function (persona) {\n var _a = _this.props, getPersonaProps = _a.getPersonaProps, personaSize = _a.personaSize;\n var personaStyles = {\n details: {\n flex: '1 0 auto',\n },\n };\n return (React.createElement(Persona, __assign({ imageInitials: persona.imageInitials, imageUrl: persona.imageUrl, initialsColor: persona.initialsColor, allowPhoneInitials: persona.allowPhoneInitials, text: persona.personaName, size: personaSize }, (getPersonaProps ? getPersonaProps(persona) : null), { styles: personaStyles })));\n };\n _this._getPersonaCoinControl = function (persona) {\n var _a = _this.props, getPersonaProps = _a.getPersonaProps, personaSize = _a.personaSize;\n return (React.createElement(PersonaCoin, __assign({ imageInitials: persona.imageInitials, imageUrl: persona.imageUrl, initialsColor: persona.initialsColor, allowPhoneInitials: persona.allowPhoneInitials, text: persona.personaName, size: personaSize }, (getPersonaProps ? getPersonaProps(persona) : null))));\n };\n initializeComponentRef(_this);\n _this._ariaDescriptionId = getId();\n return _this;\n }\n FacepileBase.prototype.render = function () {\n var overflowButtonProps = this.props.overflowButtonProps;\n var _a = this.props, chevronButtonProps = _a.chevronButtonProps, // eslint-disable-line deprecation/deprecation\n maxDisplayablePersonas = _a.maxDisplayablePersonas, personas = _a.personas, overflowPersonas = _a.overflowPersonas, showAddButton = _a.showAddButton, ariaLabel = _a.ariaLabel, _b = _a.showTooltip, showTooltip = _b === void 0 ? true : _b;\n var _classNames = this._classNames;\n // Add a check to make sure maxDisplayalePersonas is defined to cover the edge case of it being 0.\n var numPersonasToShow = typeof maxDisplayablePersonas === 'number' ? Math.min(personas.length, maxDisplayablePersonas) : personas.length;\n // Added for deprecating chevronButtonProps. Can remove after v1.0\n if (chevronButtonProps && !overflowButtonProps) {\n overflowButtonProps = chevronButtonProps;\n }\n var hasOverflowPersonas = overflowPersonas && overflowPersonas.length > 0;\n var personasPrimary = hasOverflowPersonas ? personas : personas.slice(0, numPersonasToShow);\n var personasOverflow = (hasOverflowPersonas ? overflowPersonas : personas.slice(numPersonasToShow)) || [];\n return (React.createElement(\"div\", { className: _classNames.root },\n this.onRenderAriaDescription(),\n React.createElement(\"div\", { className: _classNames.itemContainer },\n showAddButton ? this._getAddNewElement() : null,\n React.createElement(\"ul\", { className: _classNames.members, \"aria-label\": ariaLabel }, this._onRenderVisiblePersonas(personasPrimary, personasOverflow.length === 0 && personas.length === 1, showTooltip)),\n overflowButtonProps ? this._getOverflowElement(personasOverflow) : null)));\n };\n FacepileBase.prototype.onRenderAriaDescription = function () {\n var ariaDescription = this.props.ariaDescription;\n var _classNames = this._classNames;\n // If ariaDescription is given, descriptionId will be assigned to ariaDescriptionSpan,\n // otherwise it will be assigned to descriptionSpan.\n return (ariaDescription && (React.createElement(\"span\", { className: _classNames.screenReaderOnly, id: this._ariaDescriptionId }, ariaDescription)));\n };\n FacepileBase.prototype._onRenderVisiblePersonas = function (personas, singlePersona, showTooltip) {\n var _this = this;\n var _a = this.props, _b = _a.onRenderPersona, onRenderPersona = _b === void 0 ? this._getPersonaControl : _b, _c = _a.onRenderPersonaCoin, onRenderPersonaCoin = _c === void 0 ? this._getPersonaCoinControl : _c;\n return personas.map(function (persona, index) {\n var personaControl = singlePersona\n ? onRenderPersona(persona, _this._getPersonaControl)\n : onRenderPersonaCoin(persona, _this._getPersonaCoinControl);\n return (React.createElement(\"li\", { key: (singlePersona ? 'persona' : 'personaCoin') + \"-\" + index, className: _this._classNames.member }, persona.onClick\n ? _this._getElementWithOnClickEvent(personaControl, persona, showTooltip, index)\n : _this._getElementWithoutOnClickEvent(personaControl, persona, showTooltip, index)));\n });\n };\n FacepileBase.prototype._getElementWithOnClickEvent = function (personaControl, persona, showTooltip, index) {\n var keytipProps = persona.keytipProps;\n return (React.createElement(FacepileButton, __assign({}, getNativeProps(persona, buttonProperties), this._getElementProps(persona, showTooltip, index), { keytipProps: keytipProps, \n // eslint-disable-next-line react/jsx-no-bind\n onClick: this._onPersonaClick.bind(this, persona) }), personaControl));\n };\n FacepileBase.prototype._getElementWithoutOnClickEvent = function (personaControl, persona, showTooltip, index) {\n return (React.createElement(\"div\", __assign({}, getNativeProps(persona, buttonProperties), this._getElementProps(persona, showTooltip, index)), personaControl));\n };\n FacepileBase.prototype._getElementProps = function (persona, showTooltip, index) {\n var _classNames = this._classNames;\n return {\n key: (persona.imageUrl ? 'i' : '') + index,\n 'data-is-focusable': true,\n className: _classNames.itemButton,\n title: showTooltip ? persona.personaName : undefined,\n onMouseMove: this._onPersonaMouseMove.bind(this, persona),\n onMouseOut: this._onPersonaMouseOut.bind(this, persona),\n };\n };\n FacepileBase.prototype._getOverflowElement = function (personasOverflow) {\n switch (this.props.overflowButtonType) {\n case OverflowButtonType.descriptive:\n return this._getDescriptiveOverflowElement(personasOverflow);\n case OverflowButtonType.downArrow:\n return this._getIconElement('ChevronDown');\n case OverflowButtonType.more:\n return this._getIconElement('More');\n default:\n return null;\n }\n };\n FacepileBase.prototype._getDescriptiveOverflowElement = function (personasOverflow) {\n var personaSize = this.props.personaSize;\n if (!personasOverflow || personasOverflow.length < 1) {\n return null;\n }\n var personaNames = personasOverflow.map(function (p) { return p.personaName; }).join(', ');\n var overflowButtonProps = __assign({ title: personaNames }, this.props.overflowButtonProps);\n var numPersonasNotPictured = Math.max(personasOverflow.length, 0);\n var _classNames = this._classNames;\n return (React.createElement(FacepileButton, __assign({}, overflowButtonProps, { ariaDescription: overflowButtonProps.title, className: _classNames.descriptiveOverflowButton }),\n React.createElement(PersonaCoin, { size: personaSize, onRenderInitials: this._renderInitialsNotPictured(numPersonasNotPictured), initialsColor: PersonaInitialsColor.transparent })));\n };\n FacepileBase.prototype._getIconElement = function (icon) {\n var _a = this.props, overflowButtonProps = _a.overflowButtonProps, personaSize = _a.personaSize;\n var overflowInitialsIcon = true;\n var _classNames = this._classNames;\n return (React.createElement(FacepileButton, __assign({}, overflowButtonProps, { className: _classNames.overflowButton }),\n React.createElement(PersonaCoin, { size: personaSize, onRenderInitials: this._renderInitials(icon, overflowInitialsIcon), initialsColor: PersonaInitialsColor.transparent })));\n };\n FacepileBase.prototype._getAddNewElement = function () {\n var _a = this.props, addButtonProps = _a.addButtonProps, personaSize = _a.personaSize;\n var _classNames = this._classNames;\n return (React.createElement(FacepileButton, __assign({}, addButtonProps, { className: _classNames.addButton }),\n React.createElement(PersonaCoin, { size: personaSize, onRenderInitials: this._renderInitials('AddFriend') })));\n };\n FacepileBase.prototype._onPersonaClick = function (persona, ev) {\n persona.onClick(ev, persona);\n ev.preventDefault();\n ev.stopPropagation();\n };\n FacepileBase.prototype._onPersonaMouseMove = function (persona, ev) {\n if (persona.onMouseMove) {\n persona.onMouseMove(ev, persona);\n }\n };\n FacepileBase.prototype._onPersonaMouseOut = function (persona, ev) {\n if (persona.onMouseOut) {\n persona.onMouseOut(ev, persona);\n }\n };\n FacepileBase.prototype._renderInitials = function (iconName, overflowButton) {\n var _classNames = this._classNames;\n return function () {\n return React.createElement(Icon, { iconName: iconName, className: overflowButton ? _classNames.overflowInitialsIcon : '' });\n };\n };\n FacepileBase.prototype._renderInitialsNotPictured = function (numPersonasNotPictured) {\n var _classNames = this._classNames;\n return function () {\n return (React.createElement(\"span\", { className: _classNames.overflowInitialsIcon }, numPersonasNotPictured < 100 ? '+' + numPersonasNotPictured : '99+'));\n };\n };\n FacepileBase.defaultProps = {\n maxDisplayablePersonas: 5,\n personas: [],\n overflowPersonas: [],\n personaSize: PersonaSize.size32,\n };\n return FacepileBase;\n}(React.Component));\nexport { FacepileBase };\n//# sourceMappingURL=Facepile.base.js.map","import { hiddenContentStyle, HighContrastSelector, getFocusStyle, getGlobalClassNames } from '../../Styling';\nvar GlobalClassNames = {\n root: 'ms-Facepile',\n addButton: 'ms-Facepile-addButton ms-Facepile-itemButton',\n descriptiveOverflowButton: 'ms-Facepile-descriptiveOverflowButton ms-Facepile-itemButton',\n itemButton: 'ms-Facepile-itemButton ms-Facepile-person',\n itemContainer: 'ms-Facepile-itemContainer',\n members: 'ms-Facepile-members',\n member: 'ms-Facepile-member',\n overflowButton: 'ms-Facepile-overflowButton ms-Facepile-itemButton',\n};\nexport var styles = function (props) {\n var _a;\n var className = props.className, theme = props.theme, _b = props.spacingAroundItemButton, spacingAroundItemButton = _b === void 0 ? 2 : _b;\n var palette = theme.palette, fonts = theme.fonts;\n var classNames = getGlobalClassNames(GlobalClassNames, theme);\n var ItemButtonStyles = {\n textAlign: 'center',\n padding: 0,\n borderRadius: '50%',\n verticalAlign: 'top',\n display: 'inline',\n backgroundColor: 'transparent',\n border: 'none',\n selectors: {\n '&::-moz-focus-inner': {\n padding: 0,\n border: 0,\n },\n },\n };\n return {\n root: [\n classNames.root,\n theme.fonts.medium,\n {\n width: 'auto',\n },\n className,\n ],\n addButton: [\n classNames.addButton,\n getFocusStyle(theme, { inset: -1 }),\n ItemButtonStyles,\n {\n fontSize: fonts.medium.fontSize,\n color: palette.white,\n backgroundColor: palette.themePrimary,\n marginRight: spacingAroundItemButton * 2 + 'px',\n selectors: {\n '&:hover': {\n backgroundColor: palette.themeDark,\n },\n '&:focus': {\n backgroundColor: palette.themeDark,\n },\n '&:active': {\n backgroundColor: palette.themeDarker,\n },\n '&:disabled': {\n backgroundColor: palette.neutralTertiaryAlt,\n },\n },\n },\n ],\n descriptiveOverflowButton: [\n classNames.descriptiveOverflowButton,\n getFocusStyle(theme, { inset: -1 }),\n ItemButtonStyles,\n {\n fontSize: fonts.small.fontSize,\n color: palette.neutralSecondary,\n backgroundColor: palette.neutralLighter,\n marginLeft: spacingAroundItemButton * 2 + \"px\",\n },\n ],\n itemButton: [classNames.itemButton, ItemButtonStyles],\n itemContainer: [\n classNames.itemContainer,\n {\n display: 'flex',\n },\n ],\n members: [\n classNames.members,\n {\n display: 'flex',\n overflow: 'hidden',\n listStyleType: 'none',\n padding: 0,\n margin: \"-\" + spacingAroundItemButton + \"px\",\n },\n ],\n member: [\n classNames.member,\n {\n display: 'inline-flex',\n flex: '0 0 auto',\n margin: spacingAroundItemButton + \"px\",\n },\n ],\n overflowButton: [\n classNames.overflowButton,\n getFocusStyle(theme, { inset: -1 }),\n ItemButtonStyles,\n {\n fontSize: fonts.medium.fontSize,\n color: palette.neutralSecondary,\n backgroundColor: palette.neutralLighter,\n marginLeft: spacingAroundItemButton * 2 + \"px\",\n },\n ],\n overflowInitialsIcon: [\n {\n color: palette.neutralPrimary,\n selectors: (_a = {},\n _a[HighContrastSelector] = {\n color: 'WindowText',\n },\n _a),\n },\n ],\n screenReaderOnly: hiddenContentStyle,\n };\n};\n//# sourceMappingURL=Facepile.styles.js.map","import { styled } from '../../Utilities';\nimport { FacepileBase } from './Facepile.base';\nimport { styles } from './Facepile.styles';\n/**\n * The Facepile shows a list of faces or initials in a horizontal lockup. Each circle represents a person.\n */\nexport var Facepile = styled(FacepileBase, styles, undefined, {\n scope: 'Facepile',\n});\n//# sourceMappingURL=Facepile.js.map","/* eslint-disable */\nimport { loadStyles } from '@microsoft/load-themed-styles';\nloadStyles([{ \"rawString\": \".callout_0508e60b .ms-Suggestions-itemButton{padding:0;border:none}.callout_0508e60b .ms-Suggestions{min-width:300px}\" }]);\nexport var callout = \"callout_0508e60b\";\n//# sourceMappingURL=BaseFloatingPicker.scss.js.map","/* eslint-disable */\nimport { loadStyles } from '@microsoft/load-themed-styles';\nloadStyles([{ \"rawString\": \".suggestionsContainer_a151d363{overflow-y:auto;overflow-x:hidden;max-height:300px}.suggestionsContainer_a151d363 .ms-Suggestion-item:hover{background-color:\" }, { \"theme\": \"neutralLighter\", \"defaultValue\": \"#f3f2f1\" }, { \"rawString\": \";cursor:pointer}.suggestionsContainer_a151d363 .is-suggested{background-color:\" }, { \"theme\": \"themeLighter\", \"defaultValue\": \"#deecf9\" }, { \"rawString\": \"}.suggestionsContainer_a151d363 .is-suggested:hover{background-color:\" }, { \"theme\": \"themeLight\", \"defaultValue\": \"#c7e0f4\" }, { \"rawString\": \";cursor:pointer}\" }]);\nexport var suggestionsContainer = \"suggestionsContainer_a151d363\";\n//# sourceMappingURL=SuggestionsCore.scss.js.map","import { __extends } from \"tslib\";\nimport * as React from 'react';\nimport { initializeComponentRef, css } from '../../../Utilities';\nimport { SuggestionsItem } from '../../../Pickers';\nimport * as stylesImport from './SuggestionsCore.scss';\nvar styles = stylesImport;\n/**\n * Class when used with SuggestionsStore, renders a basic suggestions control\n */\nvar SuggestionsCore = /** @class */ (function (_super) {\n __extends(SuggestionsCore, _super);\n function SuggestionsCore(suggestionsProps) {\n var _this = _super.call(this, suggestionsProps) || this;\n _this._selectedElement = React.createRef();\n _this.SuggestionsItemOfProperType = SuggestionsItem;\n _this._onClickTypedSuggestionsItem = function (item, index) {\n return function (ev) {\n _this.props.onSuggestionClick(ev, item, index);\n };\n };\n _this._onRemoveTypedSuggestionsItem = function (item, index) {\n return function (ev) {\n var onSuggestionRemove = _this.props.onSuggestionRemove;\n onSuggestionRemove(ev, item, index);\n ev.stopPropagation();\n };\n };\n initializeComponentRef(_this);\n _this.currentIndex = -1;\n return _this;\n }\n /**\n * Increments the selected suggestion index\n */\n SuggestionsCore.prototype.nextSuggestion = function () {\n var suggestions = this.props.suggestions;\n if (suggestions && suggestions.length > 0) {\n if (this.currentIndex === -1) {\n this.setSelectedSuggestion(0);\n return true;\n }\n else if (this.currentIndex < suggestions.length - 1) {\n this.setSelectedSuggestion(this.currentIndex + 1);\n return true;\n }\n else if (this.props.shouldLoopSelection && this.currentIndex === suggestions.length - 1) {\n this.setSelectedSuggestion(0);\n return true;\n }\n }\n return false;\n };\n /**\n * Decrements the selected suggestion index\n */\n SuggestionsCore.prototype.previousSuggestion = function () {\n var suggestions = this.props.suggestions;\n if (suggestions && suggestions.length > 0) {\n if (this.currentIndex === -1) {\n this.setSelectedSuggestion(suggestions.length - 1);\n return true;\n }\n else if (this.currentIndex > 0) {\n this.setSelectedSuggestion(this.currentIndex - 1);\n return true;\n }\n else if (this.props.shouldLoopSelection && this.currentIndex === 0) {\n this.setSelectedSuggestion(suggestions.length - 1);\n return true;\n }\n }\n return false;\n };\n Object.defineProperty(SuggestionsCore.prototype, \"selectedElement\", {\n get: function () {\n return this._selectedElement.current || undefined;\n },\n enumerable: false,\n configurable: true\n });\n SuggestionsCore.prototype.getCurrentItem = function () {\n return this.props.suggestions[this.currentIndex];\n };\n SuggestionsCore.prototype.getSuggestionAtIndex = function (index) {\n return this.props.suggestions[index];\n };\n SuggestionsCore.prototype.hasSuggestionSelected = function () {\n return this.currentIndex !== -1 && this.currentIndex < this.props.suggestions.length;\n };\n SuggestionsCore.prototype.removeSuggestion = function (index) {\n this.props.suggestions.splice(index, 1);\n };\n SuggestionsCore.prototype.deselectAllSuggestions = function () {\n if (this.currentIndex > -1 && this.props.suggestions[this.currentIndex]) {\n this.props.suggestions[this.currentIndex].selected = false;\n this.currentIndex = -1;\n this.forceUpdate();\n }\n };\n SuggestionsCore.prototype.setSelectedSuggestion = function (index) {\n var suggestions = this.props.suggestions;\n if (index > suggestions.length - 1 || index < 0) {\n this.currentIndex = 0;\n this.currentSuggestion.selected = false;\n this.currentSuggestion = suggestions[0];\n this.currentSuggestion.selected = true;\n }\n else {\n if (this.currentIndex > -1 && suggestions[this.currentIndex]) {\n suggestions[this.currentIndex].selected = false;\n }\n suggestions[index].selected = true;\n this.currentIndex = index;\n this.currentSuggestion = suggestions[index];\n }\n this.forceUpdate();\n };\n SuggestionsCore.prototype.componentDidUpdate = function () {\n this.scrollSelected();\n };\n SuggestionsCore.prototype.render = function () {\n var _this = this;\n var _a = this.props, onRenderSuggestion = _a.onRenderSuggestion, suggestionsItemClassName = _a.suggestionsItemClassName, resultsMaximumNumber = _a.resultsMaximumNumber, showRemoveButtons = _a.showRemoveButtons, suggestionsContainerAriaLabel = _a.suggestionsContainerAriaLabel;\n var TypedSuggestionsItem = this.SuggestionsItemOfProperType;\n var suggestions = this.props.suggestions;\n if (resultsMaximumNumber) {\n suggestions = suggestions.slice(0, resultsMaximumNumber);\n }\n return (React.createElement(\"div\", { className: css('ms-Suggestions-container', styles.suggestionsContainer), id: \"suggestion-list\", role: \"list\", \"aria-label\": suggestionsContainerAriaLabel }, suggestions.map(function (suggestion, index) { return (React.createElement(\"div\", { ref: suggestion.selected || index === _this.currentIndex ? _this._selectedElement : undefined, key: suggestion.item.key ? suggestion.item.key : index, id: 'sug-' + index, role: \"listitem\", \"aria-label\": suggestion.ariaLabel },\n React.createElement(TypedSuggestionsItem, { id: 'sug-item' + index, suggestionModel: suggestion, RenderSuggestion: onRenderSuggestion, onClick: _this._onClickTypedSuggestionsItem(suggestion.item, index), className: suggestionsItemClassName, showRemoveButton: showRemoveButtons, onRemoveItem: _this._onRemoveTypedSuggestionsItem(suggestion.item, index), isSelectedOverride: index === _this.currentIndex }))); })));\n };\n // TODO get the element to scroll into view properly regardless of direction.\n SuggestionsCore.prototype.scrollSelected = function () {\n var _a;\n if (((_a = this._selectedElement.current) === null || _a === void 0 ? void 0 : _a.scrollIntoView) !== undefined) {\n this._selectedElement.current.scrollIntoView(false);\n }\n };\n return SuggestionsCore;\n}(React.Component));\nexport { SuggestionsCore };\n//# sourceMappingURL=SuggestionsCore.js.map","/* eslint-disable */\nimport { loadStyles } from '@microsoft/load-themed-styles';\nloadStyles([{ \"rawString\": \".root_e4eecb3d{min-width:260px}.actionButton_e4eecb3d{background:0 0;background-color:transparent;border:0;cursor:pointer;margin:0;padding:0;position:relative;width:100%;font-size:12px}html[dir=ltr] .actionButton_e4eecb3d{text-align:left}html[dir=rtl] .actionButton_e4eecb3d{text-align:right}.actionButton_e4eecb3d:hover{background-color:\" }, { \"theme\": \"neutralLighter\", \"defaultValue\": \"#f3f2f1\" }, { \"rawString\": \";cursor:pointer}.actionButton_e4eecb3d:active,.actionButton_e4eecb3d:focus{background-color:\" }, { \"theme\": \"themeLight\", \"defaultValue\": \"#c7e0f4\" }, { \"rawString\": \"}.actionButton_e4eecb3d .ms-Button-icon{font-size:16px;width:25px}.actionButton_e4eecb3d .ms-Button-label{margin:0 4px 0 9px}html[dir=rtl] .actionButton_e4eecb3d .ms-Button-label{margin:0 9px 0 4px}.buttonSelected_e4eecb3d{background-color:\" }, { \"theme\": \"themeLighter\", \"defaultValue\": \"#deecf9\" }, { \"rawString\": \"}.buttonSelected_e4eecb3d:hover{background-color:\" }, { \"theme\": \"themeLight\", \"defaultValue\": \"#c7e0f4\" }, { \"rawString\": \";cursor:pointer}@media screen and (-ms-high-contrast:active){.buttonSelected_e4eecb3d:hover{background-color:Highlight;color:HighlightText}}@media screen and (-ms-high-contrast:active){.buttonSelected_e4eecb3d{background-color:Highlight;color:HighlightText;-ms-high-contrast-adjust:none}}.suggestionsTitle_e4eecb3d{font-size:12px}.suggestionsSpinner_e4eecb3d{margin:5px 0;white-space:nowrap;line-height:20px;font-size:12px}html[dir=ltr] .suggestionsSpinner_e4eecb3d{padding-left:14px}html[dir=rtl] .suggestionsSpinner_e4eecb3d{padding-right:14px}html[dir=ltr] .suggestionsSpinner_e4eecb3d{text-align:left}html[dir=rtl] .suggestionsSpinner_e4eecb3d{text-align:right}.suggestionsSpinner_e4eecb3d .ms-Spinner-circle{display:inline-block;vertical-align:middle}.suggestionsSpinner_e4eecb3d .ms-Spinner-label{display:inline-block;margin:0 10px 0 16px;vertical-align:middle}html[dir=rtl] .suggestionsSpinner_e4eecb3d .ms-Spinner-label{margin:0 16px 0 10px}.itemButton_e4eecb3d{height:100%;width:100%;padding:7px 12px}@media screen and (-ms-high-contrast:active){.itemButton_e4eecb3d{color:WindowText}}.screenReaderOnly_e4eecb3d{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}\" }]);\nexport var root = \"root_e4eecb3d\";\nexport var actionButton = \"actionButton_e4eecb3d\";\nexport var buttonSelected = \"buttonSelected_e4eecb3d\";\nexport var suggestionsTitle = \"suggestionsTitle_e4eecb3d\";\nexport var suggestionsSpinner = \"suggestionsSpinner_e4eecb3d\";\nexport var itemButton = \"itemButton_e4eecb3d\";\nexport var screenReaderOnly = \"screenReaderOnly_e4eecb3d\";\n//# sourceMappingURL=SuggestionsControl.scss.js.map","import { __assign, __extends } from \"tslib\";\nimport * as React from 'react';\nimport { css, KeyCodes, initializeComponentRef } from '../../../Utilities';\nimport { SuggestionsCore } from './SuggestionsCore';\nimport * as stylesImport from './SuggestionsControl.scss';\nimport { hiddenContentStyle, mergeStyles } from '../../../Styling';\nvar styles = stylesImport;\nexport var SuggestionItemType;\n(function (SuggestionItemType) {\n SuggestionItemType[SuggestionItemType[\"header\"] = 0] = \"header\";\n SuggestionItemType[SuggestionItemType[\"suggestion\"] = 1] = \"suggestion\";\n SuggestionItemType[SuggestionItemType[\"footer\"] = 2] = \"footer\";\n})(SuggestionItemType || (SuggestionItemType = {}));\nvar SuggestionsHeaderFooterItem = /** @class */ (function (_super) {\n __extends(SuggestionsHeaderFooterItem, _super);\n function SuggestionsHeaderFooterItem(props) {\n var _this = _super.call(this, props) || this;\n initializeComponentRef(_this);\n return _this;\n }\n SuggestionsHeaderFooterItem.prototype.render = function () {\n var _a;\n var _b = this.props, renderItem = _b.renderItem, onExecute = _b.onExecute, isSelected = _b.isSelected, id = _b.id, className = _b.className;\n return onExecute ? (React.createElement(\"div\", { id: id, onClick: onExecute, className: css('ms-Suggestions-sectionButton', className, styles.actionButton, (_a = {},\n _a['is-selected ' + styles.buttonSelected] = isSelected,\n _a)) }, renderItem())) : (React.createElement(\"div\", { id: id, className: css('ms-Suggestions-section', className, styles.suggestionsTitle) }, renderItem()));\n };\n return SuggestionsHeaderFooterItem;\n}(React.Component));\nexport { SuggestionsHeaderFooterItem };\n/**\n * Class when used with SuggestionsStore, renders a suggestions control with customizable headers and footers\n */\nvar SuggestionsControl = /** @class */ (function (_super) {\n __extends(SuggestionsControl, _super);\n function SuggestionsControl(suggestionsProps) {\n var _this = _super.call(this, suggestionsProps) || this;\n _this._selectedElement = React.createRef();\n _this._suggestions = React.createRef();\n _this.SuggestionsOfProperType = SuggestionsCore;\n initializeComponentRef(_this);\n _this.state = {\n selectedHeaderIndex: -1,\n selectedFooterIndex: -1,\n suggestions: suggestionsProps.suggestions,\n };\n return _this;\n }\n SuggestionsControl.prototype.componentDidMount = function () {\n this.resetSelectedItem();\n };\n SuggestionsControl.prototype.componentDidUpdate = function (oldProps) {\n var _this = this;\n this.scrollSelected();\n if (oldProps.suggestions && oldProps.suggestions !== this.props.suggestions) {\n this.setState({ suggestions: this.props.suggestions }, function () {\n _this.resetSelectedItem();\n });\n }\n };\n SuggestionsControl.prototype.componentWillUnmount = function () {\n var _a;\n (_a = this._suggestions.current) === null || _a === void 0 ? void 0 : _a.deselectAllSuggestions();\n };\n SuggestionsControl.prototype.render = function () {\n var _a = this.props, className = _a.className, headerItemsProps = _a.headerItemsProps, footerItemsProps = _a.footerItemsProps, suggestionsAvailableAlertText = _a.suggestionsAvailableAlertText;\n var screenReaderTextStyles = mergeStyles(hiddenContentStyle);\n var shouldAlertSuggestionsAvailableText = this.state.suggestions && this.state.suggestions.length > 0 && suggestionsAvailableAlertText;\n return (React.createElement(\"div\", { className: css('ms-Suggestions', className ? className : '', styles.root) },\n headerItemsProps && this.renderHeaderItems(),\n this._renderSuggestions(),\n footerItemsProps && this.renderFooterItems(),\n shouldAlertSuggestionsAvailableText ? (React.createElement(\"span\", { role: \"alert\", \"aria-live\": \"polite\", className: screenReaderTextStyles }, suggestionsAvailableAlertText)) : null));\n };\n Object.defineProperty(SuggestionsControl.prototype, \"currentSuggestion\", {\n get: function () {\n var _a;\n return ((_a = this._suggestions.current) === null || _a === void 0 ? void 0 : _a.getCurrentItem()) || undefined;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(SuggestionsControl.prototype, \"currentSuggestionIndex\", {\n get: function () {\n return this._suggestions.current ? this._suggestions.current.currentIndex : -1;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(SuggestionsControl.prototype, \"selectedElement\", {\n get: function () {\n var _a;\n return this._selectedElement.current ? this._selectedElement.current : (_a = this._suggestions.current) === null || _a === void 0 ? void 0 : _a.selectedElement;\n },\n enumerable: false,\n configurable: true\n });\n SuggestionsControl.prototype.hasSuggestionSelected = function () {\n var _a;\n return ((_a = this._suggestions.current) === null || _a === void 0 ? void 0 : _a.hasSuggestionSelected()) || false;\n };\n SuggestionsControl.prototype.hasSelection = function () {\n var _a = this.state, selectedHeaderIndex = _a.selectedHeaderIndex, selectedFooterIndex = _a.selectedFooterIndex;\n return selectedHeaderIndex !== -1 || this.hasSuggestionSelected() || selectedFooterIndex !== -1;\n };\n SuggestionsControl.prototype.executeSelectedAction = function () {\n var _a;\n var _b = this.props, headerItemsProps = _b.headerItemsProps, footerItemsProps = _b.footerItemsProps;\n var _c = this.state, selectedHeaderIndex = _c.selectedHeaderIndex, selectedFooterIndex = _c.selectedFooterIndex;\n if (headerItemsProps && selectedHeaderIndex !== -1 && selectedHeaderIndex < headerItemsProps.length) {\n var selectedHeaderItem = headerItemsProps[selectedHeaderIndex];\n if (selectedHeaderItem.onExecute) {\n selectedHeaderItem.onExecute();\n }\n }\n else if ((_a = this._suggestions.current) === null || _a === void 0 ? void 0 : _a.hasSuggestionSelected()) {\n this.props.completeSuggestion();\n }\n else if (footerItemsProps && selectedFooterIndex !== -1 && selectedFooterIndex < footerItemsProps.length) {\n var selectedFooterItem = footerItemsProps[selectedFooterIndex];\n if (selectedFooterItem.onExecute) {\n selectedFooterItem.onExecute();\n }\n }\n };\n SuggestionsControl.prototype.removeSuggestion = function (index) {\n var _a, _b;\n (_a = this._suggestions.current) === null || _a === void 0 ? void 0 : _a.removeSuggestion(index ? index : (_b = this._suggestions.current) === null || _b === void 0 ? void 0 : _b.currentIndex);\n };\n /**\n * Handles the key down, returns true, if the event was handled, false otherwise\n * @param keyCode - The keyCode to handle\n */\n SuggestionsControl.prototype.handleKeyDown = function (keyCode) {\n var _a, _b, _c, _d;\n var _e = this.state, selectedHeaderIndex = _e.selectedHeaderIndex, selectedFooterIndex = _e.selectedFooterIndex;\n var isKeyDownHandled = false;\n if (keyCode === KeyCodes.down) {\n if (selectedHeaderIndex === -1 &&\n !((_a = this._suggestions.current) === null || _a === void 0 ? void 0 : _a.hasSuggestionSelected()) &&\n selectedFooterIndex === -1) {\n this.selectFirstItem();\n }\n else if (selectedHeaderIndex !== -1) {\n this.selectNextItem(SuggestionItemType.header);\n isKeyDownHandled = true;\n }\n else if ((_b = this._suggestions.current) === null || _b === void 0 ? void 0 : _b.hasSuggestionSelected()) {\n this.selectNextItem(SuggestionItemType.suggestion);\n isKeyDownHandled = true;\n }\n else if (selectedFooterIndex !== -1) {\n this.selectNextItem(SuggestionItemType.footer);\n isKeyDownHandled = true;\n }\n }\n else if (keyCode === KeyCodes.up) {\n if (selectedHeaderIndex === -1 &&\n !((_c = this._suggestions.current) === null || _c === void 0 ? void 0 : _c.hasSuggestionSelected()) &&\n selectedFooterIndex === -1) {\n this.selectLastItem();\n }\n else if (selectedHeaderIndex !== -1) {\n this.selectPreviousItem(SuggestionItemType.header);\n isKeyDownHandled = true;\n }\n else if ((_d = this._suggestions.current) === null || _d === void 0 ? void 0 : _d.hasSuggestionSelected()) {\n this.selectPreviousItem(SuggestionItemType.suggestion);\n isKeyDownHandled = true;\n }\n else if (selectedFooterIndex !== -1) {\n this.selectPreviousItem(SuggestionItemType.footer);\n isKeyDownHandled = true;\n }\n }\n else if (keyCode === KeyCodes.enter || keyCode === KeyCodes.tab) {\n if (this.hasSelection()) {\n this.executeSelectedAction();\n isKeyDownHandled = true;\n }\n }\n return isKeyDownHandled;\n };\n // TODO get the element to scroll into view properly regardless of direction.\n SuggestionsControl.prototype.scrollSelected = function () {\n if (this._selectedElement.current) {\n this._selectedElement.current.scrollIntoView(false);\n }\n };\n SuggestionsControl.prototype.renderHeaderItems = function () {\n var _this = this;\n var _a = this.props, headerItemsProps = _a.headerItemsProps, suggestionsHeaderContainerAriaLabel = _a.suggestionsHeaderContainerAriaLabel;\n var selectedHeaderIndex = this.state.selectedHeaderIndex;\n return headerItemsProps ? (React.createElement(\"div\", { className: css('ms-Suggestions-headerContainer', styles.suggestionsContainer), id: \"suggestionHeader-list\", role: \"list\", \"aria-label\": suggestionsHeaderContainerAriaLabel }, headerItemsProps.map(function (headerItemProps, index) {\n var isSelected = selectedHeaderIndex !== -1 && selectedHeaderIndex === index;\n return headerItemProps.shouldShow() ? (React.createElement(\"div\", { ref: isSelected ? _this._selectedElement : undefined, id: 'sug-header' + index, key: 'sug-header' + index, role: \"listitem\", \"aria-label\": headerItemProps.ariaLabel },\n React.createElement(SuggestionsHeaderFooterItem, { id: 'sug-header-item' + index, isSelected: isSelected, renderItem: headerItemProps.renderItem, onExecute: headerItemProps.onExecute, className: headerItemProps.className }))) : null;\n }))) : null;\n };\n SuggestionsControl.prototype.renderFooterItems = function () {\n var _this = this;\n var _a = this.props, footerItemsProps = _a.footerItemsProps, suggestionsFooterContainerAriaLabel = _a.suggestionsFooterContainerAriaLabel;\n var selectedFooterIndex = this.state.selectedFooterIndex;\n return footerItemsProps ? (React.createElement(\"div\", { className: css('ms-Suggestions-footerContainer', styles.suggestionsContainer), id: \"suggestionFooter-list\", role: \"list\", \"aria-label\": suggestionsFooterContainerAriaLabel }, footerItemsProps.map(function (footerItemProps, index) {\n var isSelected = selectedFooterIndex !== -1 && selectedFooterIndex === index;\n return footerItemProps.shouldShow() ? (React.createElement(\"div\", { ref: isSelected ? _this._selectedElement : undefined, id: 'sug-footer' + index, key: 'sug-footer' + index, role: \"listitem\", \"aria-label\": footerItemProps.ariaLabel },\n React.createElement(SuggestionsHeaderFooterItem, { id: 'sug-footer-item' + index, isSelected: isSelected, renderItem: footerItemProps.renderItem, onExecute: footerItemProps.onExecute, className: footerItemProps.className }))) : null;\n }))) : null;\n };\n SuggestionsControl.prototype._renderSuggestions = function () {\n var TypedSuggestions = this.SuggestionsOfProperType;\n return React.createElement(TypedSuggestions, __assign({ ref: this._suggestions }, this.props, { suggestions: this.state.suggestions }));\n };\n /**\n * Selects the next selectable item\n */\n SuggestionsControl.prototype.selectNextItem = function (itemType, originalItemType) {\n // If the recursive calling has not found a selectable item in the other suggestion item type groups\n // And the method is being called again with the original item type,\n // Select the first selectable item of this suggestion item type group (could be the currently selected item)\n if (itemType === originalItemType) {\n this._selectNextItemOfItemType(itemType);\n return;\n }\n var startedItemType = originalItemType !== undefined ? originalItemType : itemType;\n // Try to set the selection to the next selectable item, of the same suggestion item type group\n // If this is the original item type, use the current index\n var selectionChanged = this._selectNextItemOfItemType(itemType, startedItemType === itemType ? this._getCurrentIndexForType(itemType) : undefined);\n // If the selection did not change, try to select from the next suggestion type group\n if (!selectionChanged) {\n this.selectNextItem(this._getNextItemSectionType(itemType), startedItemType);\n }\n };\n /**\n * Selects the previous selectable item\n */\n SuggestionsControl.prototype.selectPreviousItem = function (itemType, originalItemType) {\n // If the recursive calling has not found a selectable item in the other suggestion item type groups\n // And the method is being called again with the original item type,\n // Select the last selectable item of this suggestion item type group (could be the currently selected item)\n if (itemType === originalItemType) {\n this._selectPreviousItemOfItemType(itemType);\n return;\n }\n var startedItemType = originalItemType !== undefined ? originalItemType : itemType;\n // Try to set the selection to the previous selectable item, of the same suggestion item type group\n var selectionChanged = this._selectPreviousItemOfItemType(itemType, startedItemType === itemType ? this._getCurrentIndexForType(itemType) : undefined);\n // If the selection did not change, try to select from the previous suggestion type group\n if (!selectionChanged) {\n this.selectPreviousItem(this._getPreviousItemSectionType(itemType), startedItemType);\n }\n };\n /**\n * Resets the selected state and selects the first selectable item\n */\n SuggestionsControl.prototype.resetSelectedItem = function () {\n var _a;\n this.setState({ selectedHeaderIndex: -1, selectedFooterIndex: -1 });\n (_a = this._suggestions.current) === null || _a === void 0 ? void 0 : _a.deselectAllSuggestions();\n // Select the first item if the shouldSelectFirstItem prop is not set or it is set and it returns true\n if (this.props.shouldSelectFirstItem === undefined || this.props.shouldSelectFirstItem()) {\n this.selectFirstItem();\n }\n };\n /**\n * Selects the first item\n */\n SuggestionsControl.prototype.selectFirstItem = function () {\n if (this._selectNextItemOfItemType(SuggestionItemType.header)) {\n return;\n }\n if (this._selectNextItemOfItemType(SuggestionItemType.suggestion)) {\n return;\n }\n this._selectNextItemOfItemType(SuggestionItemType.footer);\n };\n /**\n * Selects the last item\n */\n SuggestionsControl.prototype.selectLastItem = function () {\n if (this._selectPreviousItemOfItemType(SuggestionItemType.footer)) {\n return;\n }\n if (this._selectPreviousItemOfItemType(SuggestionItemType.suggestion)) {\n return;\n }\n this._selectPreviousItemOfItemType(SuggestionItemType.header);\n };\n /**\n * Selects the next item in the suggestion item type group, given the current index\n * If none is able to be selected, returns false, otherwise returns true\n * @param itemType - The suggestion item type\n * @param currentIndex - The current index, default is -1\n */\n SuggestionsControl.prototype._selectNextItemOfItemType = function (itemType, currentIndex) {\n var _a, _b;\n if (currentIndex === void 0) { currentIndex = -1; }\n if (itemType === SuggestionItemType.suggestion) {\n if (this.state.suggestions.length > currentIndex + 1) {\n (_a = this._suggestions.current) === null || _a === void 0 ? void 0 : _a.setSelectedSuggestion(currentIndex + 1);\n this.setState({ selectedHeaderIndex: -1, selectedFooterIndex: -1 });\n return true;\n }\n }\n else {\n var isHeader = itemType === SuggestionItemType.header;\n var itemProps = isHeader ? this.props.headerItemsProps : this.props.footerItemsProps;\n if (itemProps && itemProps.length > currentIndex + 1) {\n for (var i = currentIndex + 1; i < itemProps.length; i++) {\n var item = itemProps[i];\n if (item.onExecute && item.shouldShow()) {\n this.setState({ selectedHeaderIndex: isHeader ? i : -1 });\n this.setState({ selectedFooterIndex: isHeader ? -1 : i });\n (_b = this._suggestions.current) === null || _b === void 0 ? void 0 : _b.deselectAllSuggestions();\n return true;\n }\n }\n }\n }\n return false;\n };\n /**\n * Selects the previous item in the suggestion item type group, given the current index\n * If none is able to be selected, returns false, otherwise returns true\n * @param itemType - The suggestion item type\n * @param currentIndex - The current index. If none is provided, the default is the items length of specified type\n */\n SuggestionsControl.prototype._selectPreviousItemOfItemType = function (itemType, currentIndex) {\n var _a, _b;\n if (itemType === SuggestionItemType.suggestion) {\n var index = currentIndex !== undefined ? currentIndex : this.state.suggestions.length;\n if (index > 0) {\n (_a = this._suggestions.current) === null || _a === void 0 ? void 0 : _a.setSelectedSuggestion(index - 1);\n this.setState({ selectedHeaderIndex: -1, selectedFooterIndex: -1 });\n return true;\n }\n }\n else {\n var isHeader = itemType === SuggestionItemType.header;\n var itemProps = isHeader ? this.props.headerItemsProps : this.props.footerItemsProps;\n if (itemProps) {\n var index = currentIndex !== undefined ? currentIndex : itemProps.length;\n if (index > 0) {\n for (var i = index - 1; i >= 0; i--) {\n var item = itemProps[i];\n if (item.onExecute && item.shouldShow()) {\n this.setState({ selectedHeaderIndex: isHeader ? i : -1 });\n this.setState({ selectedFooterIndex: isHeader ? -1 : i });\n (_b = this._suggestions.current) === null || _b === void 0 ? void 0 : _b.deselectAllSuggestions();\n return true;\n }\n }\n }\n }\n }\n return false;\n };\n SuggestionsControl.prototype._getCurrentIndexForType = function (itemType) {\n switch (itemType) {\n case SuggestionItemType.header:\n return this.state.selectedHeaderIndex;\n case SuggestionItemType.suggestion:\n return this._suggestions.current.currentIndex;\n case SuggestionItemType.footer:\n return this.state.selectedFooterIndex;\n }\n };\n SuggestionsControl.prototype._getNextItemSectionType = function (itemType) {\n switch (itemType) {\n case SuggestionItemType.header:\n return SuggestionItemType.suggestion;\n case SuggestionItemType.suggestion:\n return SuggestionItemType.footer;\n case SuggestionItemType.footer:\n return SuggestionItemType.header;\n }\n };\n SuggestionsControl.prototype._getPreviousItemSectionType = function (itemType) {\n switch (itemType) {\n case SuggestionItemType.header:\n return SuggestionItemType.footer;\n case SuggestionItemType.suggestion:\n return SuggestionItemType.header;\n case SuggestionItemType.footer:\n return SuggestionItemType.suggestion;\n }\n };\n return SuggestionsControl;\n}(React.Component));\nexport { SuggestionsControl };\n//# sourceMappingURL=SuggestionsControl.js.map","import { __assign, __extends } from \"tslib\";\nimport * as React from 'react';\nimport * as stylesImport from './BaseFloatingPicker.scss';\nimport { Async, initializeComponentRef, css, KeyCodes } from '../../Utilities';\nimport { DirectionalHint } from '../../common/DirectionalHint';\nimport { Callout } from '../../Callout';\nimport { SuggestionsControl } from './Suggestions/SuggestionsControl';\nvar styles = stylesImport;\nvar BaseFloatingPicker = /** @class */ (function (_super) {\n __extends(BaseFloatingPicker, _super);\n function BaseFloatingPicker(basePickerProps) {\n var _this = _super.call(this, basePickerProps) || this;\n _this.root = React.createRef();\n _this.suggestionsControl = React.createRef();\n _this.SuggestionsControlOfProperType = SuggestionsControl;\n _this.isComponentMounted = false;\n _this.onQueryStringChanged = function (queryString) {\n if (queryString !== _this.state.queryString) {\n _this.setState({\n queryString: queryString,\n });\n if (_this.props.onInputChanged) {\n _this.props.onInputChanged(queryString);\n }\n _this.updateValue(queryString);\n }\n };\n _this.hidePicker = function () {\n var wasShownBeforeUpdate = _this.isSuggestionsShown;\n _this.setState({\n suggestionsVisible: false,\n });\n if (_this.props.onSuggestionsHidden && wasShownBeforeUpdate) {\n _this.props.onSuggestionsHidden();\n }\n };\n _this.showPicker = function (updateValue) {\n if (updateValue === void 0) { updateValue = false; }\n var wasShownBeforeUpdate = _this.isSuggestionsShown;\n _this.setState({\n suggestionsVisible: true,\n });\n // Update the suggestions if updateValue == true\n var value = _this.props.inputElement ? _this.props.inputElement.value : '';\n if (updateValue) {\n _this.updateValue(value);\n }\n if (_this.props.onSuggestionsShown && !wasShownBeforeUpdate) {\n _this.props.onSuggestionsShown();\n }\n };\n _this.completeSuggestion = function () {\n if (_this.suggestionsControl.current && _this.suggestionsControl.current.hasSuggestionSelected()) {\n _this.onChange(_this.suggestionsControl.current.currentSuggestion.item);\n }\n };\n _this.onSuggestionClick = function (ev, item, index) {\n _this.onChange(item);\n _this._updateSuggestionsVisible(false /*shouldShow*/);\n };\n _this.onSuggestionRemove = function (ev, item, index) {\n if (_this.props.onRemoveSuggestion) {\n _this.props.onRemoveSuggestion(item);\n }\n if (_this.suggestionsControl.current) {\n _this.suggestionsControl.current.removeSuggestion(index);\n }\n };\n _this.onKeyDown = function (ev) {\n if (!_this.state.suggestionsVisible ||\n (_this.props.inputElement && !_this.props.inputElement.contains(ev.target))) {\n return;\n }\n // eslint-disable-next-line deprecation/deprecation\n var keyCode = ev.which;\n switch (keyCode) {\n case KeyCodes.escape:\n _this.hidePicker();\n ev.preventDefault();\n ev.stopPropagation();\n break;\n case KeyCodes.tab:\n case KeyCodes.enter:\n if (!ev.shiftKey &&\n !ev.ctrlKey &&\n _this.suggestionsControl.current &&\n _this.suggestionsControl.current.handleKeyDown(keyCode)) {\n ev.preventDefault();\n ev.stopPropagation();\n }\n else {\n _this._onValidateInput();\n }\n break;\n case KeyCodes.del:\n if (_this.props.onRemoveSuggestion &&\n _this.suggestionsControl.current &&\n _this.suggestionsControl.current.hasSuggestionSelected &&\n _this.suggestionsControl.current.currentSuggestion &&\n ev.shiftKey) {\n _this.props.onRemoveSuggestion(_this.suggestionsControl.current.currentSuggestion.item);\n _this.suggestionsControl.current.removeSuggestion();\n _this.forceUpdate();\n ev.stopPropagation();\n }\n break;\n case KeyCodes.up:\n if (_this.suggestionsControl.current && _this.suggestionsControl.current.handleKeyDown(keyCode)) {\n ev.preventDefault();\n ev.stopPropagation();\n _this._updateActiveDescendant();\n }\n break;\n case KeyCodes.down:\n if (_this.suggestionsControl.current && _this.suggestionsControl.current.handleKeyDown(keyCode)) {\n ev.preventDefault();\n ev.stopPropagation();\n _this._updateActiveDescendant();\n }\n break;\n }\n };\n _this._onValidateInput = function () {\n if (_this.state.queryString && _this.props.onValidateInput && _this.props.createGenericItem) {\n var itemToConvert = _this.props.createGenericItem(_this.state.queryString, _this.props.onValidateInput(_this.state.queryString));\n var convertedItems = _this.suggestionStore.convertSuggestionsToSuggestionItems([itemToConvert]);\n _this.onChange(convertedItems[0].item);\n }\n };\n _this._async = new Async(_this);\n initializeComponentRef(_this);\n _this.suggestionStore = basePickerProps.suggestionsStore;\n _this.state = {\n queryString: '',\n didBind: false,\n };\n return _this;\n }\n Object.defineProperty(BaseFloatingPicker.prototype, \"inputText\", {\n get: function () {\n return this.state.queryString;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(BaseFloatingPicker.prototype, \"suggestions\", {\n get: function () {\n return this.suggestionStore.suggestions;\n },\n enumerable: false,\n configurable: true\n });\n BaseFloatingPicker.prototype.forceResolveSuggestion = function () {\n if (this.suggestionsControl.current && this.suggestionsControl.current.hasSuggestionSelected()) {\n this.completeSuggestion();\n }\n else {\n this._onValidateInput();\n }\n };\n Object.defineProperty(BaseFloatingPicker.prototype, \"currentSelectedSuggestionIndex\", {\n get: function () {\n return this.suggestionsControl.current ? this.suggestionsControl.current.currentSuggestionIndex : -1;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(BaseFloatingPicker.prototype, \"isSuggestionsShown\", {\n get: function () {\n return this.state.suggestionsVisible === undefined ? false : this.state.suggestionsVisible;\n },\n enumerable: false,\n configurable: true\n });\n BaseFloatingPicker.prototype.componentDidMount = function () {\n this._bindToInputElement();\n this.isComponentMounted = true;\n this._onResolveSuggestions = this._async.debounce(this._onResolveSuggestions, this.props.resolveDelay);\n };\n BaseFloatingPicker.prototype.componentDidUpdate = function () {\n this._bindToInputElement();\n };\n BaseFloatingPicker.prototype.componentWillUnmount = function () {\n this._unbindFromInputElement();\n this.isComponentMounted = false;\n };\n BaseFloatingPicker.prototype.updateSuggestions = function (suggestions, forceUpdate) {\n if (forceUpdate === void 0) { forceUpdate = false; }\n this.suggestionStore.updateSuggestions(suggestions);\n if (forceUpdate) {\n this.forceUpdate();\n }\n };\n BaseFloatingPicker.prototype.render = function () {\n var className = this.props.className;\n return (React.createElement(\"div\", { ref: this.root, className: css('ms-BasePicker ms-BaseFloatingPicker', className ? className : '') }, this.renderSuggestions()));\n };\n BaseFloatingPicker.prototype.renderSuggestions = function () {\n var TypedSuggestionsControl = this.SuggestionsControlOfProperType;\n if (this.props.suggestionItems) {\n this.suggestionStore.updateSuggestions(this.props.suggestionItems);\n }\n return this.state.suggestionsVisible ? (React.createElement(Callout, __assign({ className: styles.callout, isBeakVisible: false, gapSpace: 5, target: this.props.inputElement, onDismiss: this.hidePicker, directionalHint: DirectionalHint.bottomLeftEdge, directionalHintForRTL: DirectionalHint.bottomRightEdge, calloutWidth: this.props.calloutWidth ? this.props.calloutWidth : 0 }, this.props.pickerCalloutProps),\n React.createElement(TypedSuggestionsControl, __assign({ onRenderSuggestion: this.props.onRenderSuggestionsItem, onSuggestionClick: this.onSuggestionClick, onSuggestionRemove: this.onSuggestionRemove, suggestions: this.suggestionStore.getSuggestions(), componentRef: this.suggestionsControl, completeSuggestion: this.completeSuggestion, shouldLoopSelection: false }, this.props.pickerSuggestionsProps)))) : null;\n };\n BaseFloatingPicker.prototype.onSelectionChange = function () {\n this.forceUpdate();\n };\n BaseFloatingPicker.prototype.updateValue = function (updatedValue) {\n if (updatedValue === '') {\n this.updateSuggestionWithZeroState();\n }\n else {\n this._onResolveSuggestions(updatedValue);\n }\n };\n BaseFloatingPicker.prototype.updateSuggestionWithZeroState = function () {\n if (this.props.onZeroQuerySuggestion) {\n var onEmptyInputFocus = this.props.onZeroQuerySuggestion;\n var suggestions = onEmptyInputFocus(this.props.selectedItems);\n this.updateSuggestionsList(suggestions);\n }\n else {\n this.hidePicker();\n }\n };\n BaseFloatingPicker.prototype.updateSuggestionsList = function (suggestions) {\n var _this = this;\n // Check to see if the returned value is an array, if it is then just pass it into the next function.\n // If the returned value is not an array then check to see if it's a promise or PromiseLike.\n // If it is then resolve it asynchronously.\n if (Array.isArray(suggestions)) {\n this.updateSuggestions(suggestions, true /*forceUpdate*/);\n }\n else if (suggestions && suggestions.then) {\n // Ensure that the promise will only use the callback if it was the most recent one.\n this.currentPromise = suggestions;\n suggestions.then(function (newSuggestions) {\n // Only update if the next promise has not yet resolved and\n // the floating picker is still mounted.\n if (suggestions === _this.currentPromise && _this.isComponentMounted) {\n _this.updateSuggestions(newSuggestions, true /*forceUpdate*/);\n }\n });\n }\n };\n BaseFloatingPicker.prototype.onChange = function (item) {\n if (this.props.onChange) {\n this.props.onChange(item);\n }\n };\n BaseFloatingPicker.prototype._updateActiveDescendant = function () {\n if (this.props.inputElement && this.suggestionsControl.current && this.suggestionsControl.current.selectedElement) {\n var selectedElId = this.suggestionsControl.current.selectedElement.getAttribute('id');\n if (selectedElId) {\n this.props.inputElement.setAttribute('aria-activedescendant', selectedElId);\n }\n }\n };\n BaseFloatingPicker.prototype._onResolveSuggestions = function (updatedValue) {\n var suggestions = this.props.onResolveSuggestions(updatedValue, this.props.selectedItems);\n this._updateSuggestionsVisible(true /*shouldShow*/);\n if (suggestions !== null) {\n this.updateSuggestionsList(suggestions);\n }\n };\n BaseFloatingPicker.prototype._updateSuggestionsVisible = function (shouldShow) {\n if (shouldShow) {\n this.showPicker();\n }\n else {\n this.hidePicker();\n }\n };\n BaseFloatingPicker.prototype._bindToInputElement = function () {\n if (this.props.inputElement && !this.state.didBind) {\n this.props.inputElement.addEventListener('keydown', this.onKeyDown);\n this.setState({ didBind: true });\n }\n };\n BaseFloatingPicker.prototype._unbindFromInputElement = function () {\n if (this.props.inputElement && this.state.didBind) {\n this.props.inputElement.removeEventListener('keydown', this.onKeyDown);\n this.setState({ didBind: false });\n }\n };\n return BaseFloatingPicker;\n}(React.Component));\nexport { BaseFloatingPicker };\n//# sourceMappingURL=BaseFloatingPicker.js.map","/* eslint-disable */\nimport { loadStyles } from '@microsoft/load-themed-styles';\nloadStyles([{ \"rawString\": \".resultContent_a17eb2a2{display:table-row}.resultContent_a17eb2a2 .resultItem_a17eb2a2{display:table-cell;vertical-align:bottom}.peoplePickerPersona_a17eb2a2{width:180px}.peoplePickerPersona_a17eb2a2 .ms-Persona-details{width:100%}.peoplePicker_a17eb2a2 .ms-BasePicker-text{min-height:40px}.peoplePickerPersonaContent_a17eb2a2{display:-webkit-box;display:-ms-flexbox;display:flex;width:100%;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;-webkit-box-align:center;-ms-flex-align:center;align-items:center;padding:7px 12px}\" }]);\nexport var resultContent = \"resultContent_a17eb2a2\";\nexport var resultItem = \"resultItem_a17eb2a2\";\nexport var peoplePickerPersona = \"peoplePickerPersona_a17eb2a2\";\nexport var peoplePicker = \"peoplePicker_a17eb2a2\";\nexport var peoplePickerPersonaContent = \"peoplePickerPersonaContent_a17eb2a2\";\n//# sourceMappingURL=PeoplePicker.scss.js.map","import { __assign, __extends } from \"tslib\";\nimport { getRTL, getInitials } from '../../../Utilities';\nimport { BaseFloatingPicker } from '../BaseFloatingPicker';\nimport { SuggestionItemNormal } from './PeoplePickerItems/SuggestionItemDefault';\nimport './PeoplePicker.scss';\n/**\n * {@docCategory FloatingPeoplePicker}\n */\nvar BaseFloatingPeoplePicker = /** @class */ (function (_super) {\n __extends(BaseFloatingPeoplePicker, _super);\n function BaseFloatingPeoplePicker() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n return BaseFloatingPeoplePicker;\n}(BaseFloatingPicker));\nexport { BaseFloatingPeoplePicker };\nvar FloatingPeoplePicker = /** @class */ (function (_super) {\n __extends(FloatingPeoplePicker, _super);\n function FloatingPeoplePicker() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n FloatingPeoplePicker.defaultProps = {\n onRenderSuggestionsItem: function (props, itemProps) {\n return SuggestionItemNormal(__assign({}, props), __assign({}, itemProps));\n },\n createGenericItem: createItem,\n };\n return FloatingPeoplePicker;\n}(BaseFloatingPeoplePicker));\nexport { FloatingPeoplePicker };\nexport function createItem(name, isValid) {\n var personaToConvert = {\n key: name,\n primaryText: name,\n imageInitials: '!',\n isValid: isValid,\n };\n if (!isValid) {\n personaToConvert.imageInitials = getInitials(name, getRTL());\n }\n return personaToConvert;\n}\n//# sourceMappingURL=FloatingPeoplePicker.js.map","import { __assign } from \"tslib\";\nimport * as React from 'react';\nimport { css } from '../../../../Utilities';\nimport { Persona, PersonaSize, PersonaPresence } from '../../../../Persona';\nimport * as stylesImport from '../PeoplePicker.scss';\nexport var SuggestionItemNormal = function (personaProps, suggestionItemProps) {\n return (React.createElement(\"div\", { className: css('ms-PeoplePicker-personaContent', stylesImport.peoplePickerPersonaContent) },\n React.createElement(Persona, __assign({ presence: personaProps.presence !== undefined ? personaProps.presence : PersonaPresence.none, size: PersonaSize.size40, className: css('ms-PeoplePicker-Persona', stylesImport.peoplePickerPersona), showSecondaryText: true }, personaProps))));\n};\n//# sourceMappingURL=SuggestionItemDefault.js.map","var SuggestionsStore = /** @class */ (function () {\n function SuggestionsStore(options) {\n var _this = this;\n this._isSuggestionModel = function (value) {\n return value.item !== undefined;\n };\n this._ensureSuggestionModel = function (suggestion) {\n if (_this._isSuggestionModel(suggestion)) {\n return suggestion;\n }\n else {\n return {\n item: suggestion,\n selected: false,\n ariaLabel: _this.getAriaLabel !== undefined\n ? _this.getAriaLabel(suggestion)\n : suggestion.name ||\n suggestion.text ||\n // eslint-disable-next-line deprecation/deprecation\n suggestion.primaryText,\n };\n }\n };\n this.suggestions = [];\n this.getAriaLabel = options && options.getAriaLabel;\n }\n SuggestionsStore.prototype.updateSuggestions = function (newSuggestions) {\n if (newSuggestions && newSuggestions.length > 0) {\n this.suggestions = this.convertSuggestionsToSuggestionItems(newSuggestions);\n }\n else {\n this.suggestions = [];\n }\n };\n SuggestionsStore.prototype.getSuggestions = function () {\n return this.suggestions;\n };\n SuggestionsStore.prototype.getSuggestionAtIndex = function (index) {\n return this.suggestions[index];\n };\n SuggestionsStore.prototype.removeSuggestion = function (index) {\n this.suggestions.splice(index, 1);\n };\n SuggestionsStore.prototype.convertSuggestionsToSuggestionItems = function (suggestions) {\n return Array.isArray(suggestions) ? suggestions.map(this._ensureSuggestionModel) : [];\n };\n return SuggestionsStore;\n}());\nexport { SuggestionsStore };\n//# sourceMappingURL=SuggestionsStore.js.map","import { __assign } from \"tslib\";\nimport * as React from 'react';\nimport { elementContains, getNativeProps, divProperties, getFirstTabbable, getLastTabbable, getNextElement, focusAsync, modalize, on, } from '../../Utilities';\nimport { useId, useConst, useMergedRefs } from '@fluentui/react-hooks';\nimport { useDocument } from '../../WindowProvider';\nvar COMPONENT_NAME = 'FocusTrapZone';\nvar useComponentRef = function (componentRef, previouslyFocusedElement, focus) {\n React.useImperativeHandle(componentRef, function () { return ({\n get previouslyFocusedElement() {\n return previouslyFocusedElement;\n },\n focus: focus,\n }); }, [previouslyFocusedElement, focus]);\n};\nexport var FocusTrapZone = React.forwardRef(function (props, ref) {\n var root = React.useRef(null);\n var firstBumper = React.useRef(null);\n var lastBumper = React.useRef(null);\n var mergedRootRef = useMergedRefs(root, ref);\n var id = useId(undefined, props.id);\n var doc = useDocument();\n var divProps = getNativeProps(props, divProperties);\n var internalState = useConst(function () { return ({\n previouslyFocusedElementOutsideTrapZone: undefined,\n previouslyFocusedElementInTrapZone: undefined,\n disposeFocusHandler: undefined,\n disposeClickHandler: undefined,\n hasFocus: false,\n unmodalize: undefined,\n }); });\n var ariaLabelledBy = props.ariaLabelledBy, className = props.className, children = props.children, componentRef = props.componentRef, disabled = props.disabled, _a = props.disableFirstFocus, disableFirstFocus = _a === void 0 ? false : _a, _b = props.disabled, currentDisabledValue = _b === void 0 ? false : _b, elementToFocusOnDismiss = props.elementToFocusOnDismiss, _c = props.forceFocusInsideTrap, forceFocusInsideTrap = _c === void 0 ? true : _c, focusPreviouslyFocusedInnerElement = props.focusPreviouslyFocusedInnerElement, \n // eslint-disable-next-line deprecation/deprecation\n firstFocusableSelector = props.firstFocusableSelector, firstFocusableTarget = props.firstFocusableTarget, ignoreExternalFocusing = props.ignoreExternalFocusing, _d = props.isClickableOutsideFocusTrap, isClickableOutsideFocusTrap = _d === void 0 ? false : _d, onFocus = props.onFocus, onBlur = props.onBlur, onFocusCapture = props.onFocusCapture, onBlurCapture = props.onBlurCapture, enableAriaHiddenSiblings = props.enableAriaHiddenSiblings;\n var bumperProps = {\n 'aria-hidden': true,\n style: {\n pointerEvents: 'none',\n position: 'fixed', // 'fixed' prevents browsers from scrolling to bumpers when viewport does not contain them\n },\n tabIndex: disabled ? -1 : 0,\n 'data-is-visible': true,\n };\n var focus = React.useCallback(function () {\n if (focusPreviouslyFocusedInnerElement &&\n internalState.previouslyFocusedElementInTrapZone &&\n elementContains(root.current, internalState.previouslyFocusedElementInTrapZone)) {\n // focus on the last item that had focus in the zone before we left the zone\n focusAsync(internalState.previouslyFocusedElementInTrapZone);\n return;\n }\n var focusSelector = typeof firstFocusableSelector === 'string'\n ? firstFocusableSelector\n : firstFocusableSelector && firstFocusableSelector();\n var firstFocusableChild = null;\n if (root.current) {\n if (typeof firstFocusableTarget === 'string') {\n firstFocusableChild = root.current.querySelector(firstFocusableTarget);\n }\n else if (firstFocusableTarget) {\n firstFocusableChild = firstFocusableTarget(root.current);\n }\n else if (focusSelector) {\n firstFocusableChild = root.current.querySelector('.' + focusSelector);\n }\n // Fall back to first element if query selector did not match any elements.\n if (!firstFocusableChild) {\n firstFocusableChild = getNextElement(root.current, root.current.firstChild, false, false, false, true);\n }\n }\n if (firstFocusableChild) {\n focusAsync(firstFocusableChild);\n }\n }, [firstFocusableSelector, firstFocusableTarget, focusPreviouslyFocusedInnerElement, internalState]);\n var onBumperFocus = React.useCallback(function (isFirstBumper) {\n if (disabled) {\n return;\n }\n var currentBumper = (isFirstBumper === internalState.hasFocus\n ? lastBumper.current\n : firstBumper.current);\n if (root.current) {\n var nextFocusable = isFirstBumper === internalState.hasFocus\n ? getLastTabbable(root.current, currentBumper, true, false)\n : getFirstTabbable(root.current, currentBumper, true, false);\n if (nextFocusable) {\n if (nextFocusable === firstBumper.current || nextFocusable === lastBumper.current) {\n // This can happen when FTZ contains no tabbable elements.\n // focus will take care of finding a focusable element in FTZ.\n focus();\n }\n else {\n nextFocusable.focus();\n }\n }\n }\n }, [disabled, focus, internalState]);\n var onRootBlurCapture = React.useCallback(function (ev) {\n onBlurCapture === null || onBlurCapture === void 0 ? void 0 : onBlurCapture(ev);\n var relatedTarget = ev.relatedTarget;\n if (ev.relatedTarget === null) {\n // In IE11, due to lack of support, event.relatedTarget is always\n // null making every onBlur call to be \"outside\" of the root\n // even when it's not. Using document.activeElement is another way\n // for us to be able to get what the relatedTarget without relying\n // on the event\n relatedTarget = doc.activeElement;\n }\n if (!elementContains(root.current, relatedTarget)) {\n internalState.hasFocus = false;\n }\n }, [doc, internalState, onBlurCapture]);\n var onRootFocusCapture = React.useCallback(function (ev) {\n onFocusCapture === null || onFocusCapture === void 0 ? void 0 : onFocusCapture(ev);\n if (ev.target === firstBumper.current) {\n onBumperFocus(true);\n }\n else if (ev.target === lastBumper.current) {\n onBumperFocus(false);\n }\n internalState.hasFocus = true;\n if (ev.target !== ev.currentTarget && !(ev.target === firstBumper.current || ev.target === lastBumper.current)) {\n // every time focus changes within the trap zone, remember the focused element so that\n // it can be restored if focus leaves the pane and returns via keystroke (i.e. via a call to this.focus(true))\n internalState.previouslyFocusedElementInTrapZone = ev.target;\n }\n }, [onFocusCapture, internalState, onBumperFocus]);\n var returnFocusToInitiator = React.useCallback(function () {\n FocusTrapZone.focusStack = FocusTrapZone.focusStack.filter(function (value) {\n return id !== value;\n });\n if (doc) {\n var activeElement = doc.activeElement;\n if (!ignoreExternalFocusing &&\n internalState.previouslyFocusedElementOutsideTrapZone &&\n typeof internalState.previouslyFocusedElementOutsideTrapZone.focus === 'function' &&\n (elementContains(root.current, activeElement) || activeElement === doc.body)) {\n if (!(internalState.previouslyFocusedElementOutsideTrapZone === firstBumper.current ||\n internalState.previouslyFocusedElementOutsideTrapZone === lastBumper.current)) {\n focusAsync(internalState.previouslyFocusedElementOutsideTrapZone);\n }\n }\n }\n }, [doc, id, ignoreExternalFocusing, internalState]);\n var forceFocusInTrap = React.useCallback(function (ev) {\n if (disabled) {\n return;\n }\n if (FocusTrapZone.focusStack.length && id === FocusTrapZone.focusStack[FocusTrapZone.focusStack.length - 1]) {\n var focusedElement = ev.target;\n if (!elementContains(root.current, focusedElement)) {\n focus();\n internalState.hasFocus = true; // set focus here since we stop event propagation\n ev.preventDefault();\n ev.stopPropagation();\n }\n }\n }, [disabled, id, focus, internalState]);\n var forceClickInTrap = React.useCallback(function (ev) {\n if (disabled) {\n return;\n }\n if (FocusTrapZone.focusStack.length && id === FocusTrapZone.focusStack[FocusTrapZone.focusStack.length - 1]) {\n var clickedElement = ev.target;\n if (clickedElement && !elementContains(root.current, clickedElement)) {\n focus();\n internalState.hasFocus = true; // set focus here since we stop event propagation\n ev.preventDefault();\n ev.stopPropagation();\n }\n }\n }, [disabled, id, focus, internalState]);\n var updateEventHandlers = React.useCallback(function () {\n if (forceFocusInsideTrap && !internalState.disposeFocusHandler) {\n internalState.disposeFocusHandler = on(window, 'focus', forceFocusInTrap, true);\n }\n else if (!forceFocusInsideTrap && internalState.disposeFocusHandler) {\n internalState.disposeFocusHandler();\n internalState.disposeFocusHandler = undefined;\n }\n if (!isClickableOutsideFocusTrap && !internalState.disposeClickHandler) {\n internalState.disposeClickHandler = on(window, 'click', forceClickInTrap, true);\n }\n else if (isClickableOutsideFocusTrap && internalState.disposeClickHandler) {\n internalState.disposeClickHandler();\n internalState.disposeClickHandler = undefined;\n }\n }, [forceClickInTrap, forceFocusInTrap, forceFocusInsideTrap, isClickableOutsideFocusTrap, internalState]);\n // Updates eventHandlers and cleans up focusStack when the component unmounts.\n React.useEffect(function () {\n var parentRoot = root.current;\n updateEventHandlers();\n return function () {\n // don't handle return focus unless forceFocusInsideTrap is true or focus is still within FocusTrapZone\n if (!disabled || forceFocusInsideTrap || !elementContains(parentRoot, doc === null || doc === void 0 ? void 0 : doc.activeElement)) {\n returnFocusToInitiator();\n }\n };\n // eslint-disable-next-line react-hooks/exhaustive-deps -- Should only run on mount.\n }, [updateEventHandlers]);\n // Updates focusStack and the previouslyFocusedElementOutsideTrapZone on prop change.\n React.useEffect(function () {\n var newForceFocusInsideTrap = forceFocusInsideTrap !== undefined ? forceFocusInsideTrap : true;\n var newDisabled = disabled !== undefined ? disabled : false;\n // Transition from forceFocusInsideTrap / FTZ disabled to enabled.\n if (!newDisabled || newForceFocusInsideTrap) {\n if (currentDisabledValue) {\n return;\n }\n FocusTrapZone.focusStack.push(id);\n internalState.previouslyFocusedElementOutsideTrapZone = elementToFocusOnDismiss\n ? elementToFocusOnDismiss\n : doc.activeElement;\n if (!disableFirstFocus && !elementContains(root.current, internalState.previouslyFocusedElementOutsideTrapZone)) {\n focus();\n }\n if (!internalState.unmodalize && root.current && enableAriaHiddenSiblings) {\n internalState.unmodalize = modalize(root.current);\n }\n }\n else if (!newForceFocusInsideTrap || newDisabled) {\n // Transition from forceFocusInsideTrap / FTZ enabled to disabled.\n returnFocusToInitiator();\n if (internalState.unmodalize) {\n internalState.unmodalize();\n }\n }\n if (elementToFocusOnDismiss && internalState.previouslyFocusedElementOutsideTrapZone !== elementToFocusOnDismiss) {\n internalState.previouslyFocusedElementOutsideTrapZone = elementToFocusOnDismiss;\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [elementToFocusOnDismiss, forceFocusInsideTrap, disabled]);\n // Cleanup lifecyle method for internalState.\n useUnmount(function () {\n // Dispose of event handlers so their closures can be garbage-collected\n if (internalState.disposeClickHandler) {\n internalState.disposeClickHandler();\n internalState.disposeClickHandler = undefined;\n }\n if (internalState.disposeFocusHandler) {\n internalState.disposeFocusHandler();\n internalState.disposeFocusHandler = undefined;\n }\n if (internalState.unmodalize) {\n internalState.unmodalize();\n }\n // Dispose of element references so the DOM Nodes can be garbage-collected\n delete internalState.previouslyFocusedElementInTrapZone;\n delete internalState.previouslyFocusedElementOutsideTrapZone;\n });\n useComponentRef(componentRef, internalState.previouslyFocusedElementInTrapZone, focus);\n return (React.createElement(\"div\", __assign({}, divProps, { className: className, ref: mergedRootRef, \"aria-labelledby\": ariaLabelledBy, onFocusCapture: onRootFocusCapture, onFocus: onFocus, onBlur: onBlur, onBlurCapture: onRootBlurCapture }),\n React.createElement(\"div\", __assign({}, bumperProps, { ref: firstBumper })),\n children,\n React.createElement(\"div\", __assign({}, bumperProps, { ref: lastBumper }))));\n});\nvar useUnmount = function (unmountFunction) {\n var unmountRef = React.useRef(unmountFunction);\n unmountRef.current = unmountFunction;\n React.useEffect(function () { return function () {\n if (unmountRef.current) {\n unmountRef.current();\n }\n }; }, [unmountFunction]);\n};\nFocusTrapZone.displayName = COMPONENT_NAME;\nFocusTrapZone.focusStack = [];\n//# sourceMappingURL=FocusTrapZone.js.map","import { getGlobalClassNames } from '../../Styling';\nvar GlobalClassNames = {\n root: 'ms-groupFooter',\n};\nexport var getStyles = function (props) {\n var theme = props.theme, className = props.className;\n var classNames = getGlobalClassNames(GlobalClassNames, theme);\n return {\n root: [\n theme.fonts.medium,\n classNames.root,\n {\n position: 'relative',\n padding: '5px 38px',\n },\n className,\n ],\n };\n};\n//# sourceMappingURL=GroupFooter.styles.js.map","import * as React from 'react';\nimport { classNamesFunction } from '../../Utilities';\nimport { GroupSpacer } from './GroupSpacer';\nvar getClassNames = classNamesFunction();\nexport var GroupFooterBase = function (props) {\n var group = props.group, groupLevel = props.groupLevel, footerText = props.footerText, indentWidth = props.indentWidth, styles = props.styles, theme = props.theme;\n var classNames = getClassNames(styles, { theme: theme });\n if (group && footerText) {\n return (React.createElement(\"div\", { className: classNames.root },\n React.createElement(GroupSpacer, { indentWidth: indentWidth, count: groupLevel }),\n footerText));\n }\n return null;\n};\n//# sourceMappingURL=GroupFooter.base.js.map","import { styled } from '../../Utilities';\nimport { getStyles } from './GroupFooter.styles';\nimport { GroupFooterBase } from './GroupFooter.base';\nexport var GroupFooter = styled(GroupFooterBase, getStyles, undefined, {\n scope: 'GroupFooter',\n});\n//# sourceMappingURL=GroupFooter.js.map","import { getGlobalClassNames, getFocusStyle, AnimationVariables, FontWeights, IconFontSizes } from '../../Styling';\nimport { getRTL, IsFocusVisibleClassName } from '../../Utilities';\nimport { DEFAULT_CELL_STYLE_PROPS } from '../DetailsList/DetailsRow.styles';\nimport { CHECK_CELL_WIDTH } from '../DetailsList/DetailsRowCheck.styles';\n// For every group level there is a GroupSpacer added. Importing this const to have the source value in one place.\nimport { SPACER_WIDTH as EXPAND_BUTTON_WIDTH } from './GroupSpacer';\nvar GlobalClassNames = {\n root: 'ms-GroupHeader',\n compact: 'ms-GroupHeader--compact',\n check: 'ms-GroupHeader-check',\n dropIcon: 'ms-GroupHeader-dropIcon',\n expand: 'ms-GroupHeader-expand',\n isCollapsed: 'is-collapsed',\n title: 'ms-GroupHeader-title',\n isSelected: 'is-selected',\n iconTag: 'ms-Icon--Tag',\n group: 'ms-GroupedList-group',\n isDropping: 'is-dropping',\n};\nvar beziers = {\n easeOutCirc: 'cubic-bezier(0.075, 0.820, 0.165, 1.000)',\n easeOutSine: 'cubic-bezier(0.390, 0.575, 0.565, 1.000)',\n easeInBack: 'cubic-bezier(0.600, -0.280, 0.735, 0.045)',\n};\nvar DEFAULT_GROUP_HEADER_HEIGHT = 48;\nvar COMPACT_GROUP_HEADER_HEIGHT = 40;\nexport var getStyles = function (props) {\n var _a, _b, _c, _d, _e;\n var theme = props.theme, className = props.className, selected = props.selected, isCollapsed = props.isCollapsed, compact = props.compact;\n // padding from the source to align GroupHeader title with DetailsRow's first cell.\n var cellLeftPadding = DEFAULT_CELL_STYLE_PROPS.cellLeftPadding;\n var finalRowHeight = compact ? COMPACT_GROUP_HEADER_HEIGHT : DEFAULT_GROUP_HEADER_HEIGHT;\n var semanticColors = theme.semanticColors, palette = theme.palette, fonts = theme.fonts;\n var classNames = getGlobalClassNames(GlobalClassNames, theme);\n var checkExpandResetStyles = [\n getFocusStyle(theme),\n {\n cursor: 'default',\n background: 'none',\n backgroundColor: 'transparent',\n border: 'none',\n padding: 0, // cancel default