first commit

This commit is contained in:
Stefan Hacker
2026-04-03 09:38:48 +02:00
commit 37ad745546
47450 changed files with 3120798 additions and 0 deletions
@@ -0,0 +1,76 @@
import * as React from 'react';
import { BasePicker, BasePickerListBelow } from '../BasePicker';
import { ValidationState } from '../BasePicker.types';
import type { IBasePickerProps, IBasePickerSuggestionsProps } from '../BasePicker.types';
import type { IPersonaProps } from '../../../Persona';
import type { IPeoplePickerItemSelectedProps } from './PeoplePickerItems/PeoplePickerItem.types';
import type { JSXElement } from '@fluentui/utilities';
/**
* PeoplePicker props interface which renders Personas as items.
* {@docCategory PeoplePicker}
* */
export interface IPeoplePickerProps extends IBasePickerProps<IPersonaProps> {
}
/**
* {@docCategory PeoplePicker}
*/
export declare class BasePeoplePicker extends BasePicker<IPersonaProps, IPeoplePickerProps> {
}
/**
* {@docCategory PeoplePicker}
*/
export declare class MemberListPeoplePicker extends BasePickerListBelow<IPersonaProps, IPeoplePickerProps> {
}
/**
* Standard People Picker.
* {@docCategory PeoplePicker}
*/
export declare class NormalPeoplePickerBase extends BasePeoplePicker {
/** Default props for NormalPeoplePicker. */
static defaultProps: {
onRenderItem: (props: IPeoplePickerItemSelectedProps) => JSXElement;
onRenderSuggestionsItem: (personaProps: IPersonaProps, suggestionsProps?: IBasePickerSuggestionsProps) => JSXElement;
createGenericItem: typeof createGenericItem;
};
}
/**
* Compact layout. It uses personas without secondary text when displaying search results.
* {@docCategory PeoplePicker}
*/
export declare class CompactPeoplePickerBase extends BasePeoplePicker {
/** Default props for CompactPeoplePicker. */
static defaultProps: {
onRenderItem: (props: IPeoplePickerItemSelectedProps) => JSXElement;
onRenderSuggestionsItem: (personaProps: IPersonaProps, suggestionsProps?: IBasePickerSuggestionsProps) => JSXElement;
createGenericItem: typeof createGenericItem;
};
}
/**
* MemberList layout. The selected people show up below the search box.
* {@docCategory PeoplePicker}
*/
export declare class ListPeoplePickerBase extends MemberListPeoplePicker {
/** Default props for ListPeoplePicker. */
static defaultProps: {
onRenderItem: (props: IPeoplePickerItemSelectedProps) => JSXElement;
onRenderSuggestionsItem: (personaProps: IPersonaProps, suggestionsProps?: IBasePickerSuggestionsProps) => JSXElement;
createGenericItem: typeof createGenericItem;
};
}
/**
* {@docCategory PeoplePicker}
*/
export interface IGenericItem {
primaryText: string;
imageInitials: string;
ValidationState: ValidationState;
}
/**
* {@docCategory PeoplePicker}
*/
export declare function createGenericItem(name: string, currentValidationState: ValidationState): IGenericItem & {
key: React.Key;
};
export declare const NormalPeoplePicker: React.FunctionComponent<React.PropsWithChildren<React.PropsWithChildren<IPeoplePickerProps>>>;
export declare const CompactPeoplePicker: React.FunctionComponent<React.PropsWithChildren<React.PropsWithChildren<IPeoplePickerProps>>>;
export declare const ListPeoplePicker: React.FunctionComponent<React.PropsWithChildren<React.PropsWithChildren<IPeoplePickerProps>>>;
@@ -0,0 +1,113 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.ListPeoplePicker = exports.CompactPeoplePicker = exports.NormalPeoplePicker = exports.ListPeoplePickerBase = exports.CompactPeoplePickerBase = exports.NormalPeoplePickerBase = exports.MemberListPeoplePicker = exports.BasePeoplePicker = void 0;
exports.createGenericItem = createGenericItem;
var tslib_1 = require("tslib");
var React = require("react");
var Utilities_1 = require("../../../Utilities");
var BasePicker_1 = require("../BasePicker");
var BasePicker_types_1 = require("../BasePicker.types");
var PeoplePickerItem_1 = require("./PeoplePickerItems/PeoplePickerItem");
var PeoplePickerItemSuggestion_1 = require("./PeoplePickerItems/PeoplePickerItemSuggestion");
var BasePicker_styles_1 = require("../BasePicker.styles");
/**
* {@docCategory PeoplePicker}
*/
var BasePeoplePicker = /** @class */ (function (_super) {
tslib_1.__extends(BasePeoplePicker, _super);
function BasePeoplePicker() {
return _super !== null && _super.apply(this, arguments) || this;
}
return BasePeoplePicker;
}(BasePicker_1.BasePicker));
exports.BasePeoplePicker = BasePeoplePicker;
/**
* {@docCategory PeoplePicker}
*/
var MemberListPeoplePicker = /** @class */ (function (_super) {
tslib_1.__extends(MemberListPeoplePicker, _super);
function MemberListPeoplePicker() {
return _super !== null && _super.apply(this, arguments) || this;
}
return MemberListPeoplePicker;
}(BasePicker_1.BasePickerListBelow));
exports.MemberListPeoplePicker = MemberListPeoplePicker;
/**
* Standard People Picker.
* {@docCategory PeoplePicker}
*/
var NormalPeoplePickerBase = /** @class */ (function (_super) {
tslib_1.__extends(NormalPeoplePickerBase, _super);
function NormalPeoplePickerBase() {
return _super !== null && _super.apply(this, arguments) || this;
}
/** Default props for NormalPeoplePicker. */
NormalPeoplePickerBase.defaultProps = {
onRenderItem: function (props) { return React.createElement(PeoplePickerItem_1.PeoplePickerItem, tslib_1.__assign({}, props)); },
onRenderSuggestionsItem: function (personaProps, suggestionsProps) { return React.createElement(PeoplePickerItemSuggestion_1.PeoplePickerItemSuggestion, { personaProps: personaProps, suggestionsProps: suggestionsProps }); },
createGenericItem: createGenericItem,
};
return NormalPeoplePickerBase;
}(BasePeoplePicker));
exports.NormalPeoplePickerBase = NormalPeoplePickerBase;
/**
* Compact layout. It uses personas without secondary text when displaying search results.
* {@docCategory PeoplePicker}
*/
var CompactPeoplePickerBase = /** @class */ (function (_super) {
tslib_1.__extends(CompactPeoplePickerBase, _super);
function CompactPeoplePickerBase() {
return _super !== null && _super.apply(this, arguments) || this;
}
/** Default props for CompactPeoplePicker. */
CompactPeoplePickerBase.defaultProps = {
onRenderItem: function (props) { return React.createElement(PeoplePickerItem_1.PeoplePickerItem, tslib_1.__assign({}, props)); },
onRenderSuggestionsItem: function (personaProps, suggestionsProps) { return (React.createElement(PeoplePickerItemSuggestion_1.PeoplePickerItemSuggestion, { personaProps: personaProps, suggestionsProps: suggestionsProps, compact: true })); },
createGenericItem: createGenericItem,
};
return CompactPeoplePickerBase;
}(BasePeoplePicker));
exports.CompactPeoplePickerBase = CompactPeoplePickerBase;
/**
* MemberList layout. The selected people show up below the search box.
* {@docCategory PeoplePicker}
*/
var ListPeoplePickerBase = /** @class */ (function (_super) {
tslib_1.__extends(ListPeoplePickerBase, _super);
function ListPeoplePickerBase() {
return _super !== null && _super.apply(this, arguments) || this;
}
/** Default props for ListPeoplePicker. */
ListPeoplePickerBase.defaultProps = {
onRenderItem: function (props) { return React.createElement(PeoplePickerItem_1.PeoplePickerItem, tslib_1.__assign({}, props)); },
onRenderSuggestionsItem: function (personaProps, suggestionsProps) { return React.createElement(PeoplePickerItemSuggestion_1.PeoplePickerItemSuggestion, { personaProps: personaProps, suggestionsProps: suggestionsProps }); },
createGenericItem: createGenericItem,
};
return ListPeoplePickerBase;
}(MemberListPeoplePicker));
exports.ListPeoplePickerBase = ListPeoplePickerBase;
/**
* {@docCategory PeoplePicker}
*/
function createGenericItem(name, currentValidationState) {
var personaToConvert = {
key: name,
primaryText: name,
imageInitials: '!',
ValidationState: currentValidationState,
};
if (currentValidationState !== BasePicker_types_1.ValidationState.warning) {
personaToConvert.imageInitials = (0, Utilities_1.getInitials)(name, (0, Utilities_1.getRTL)());
}
return personaToConvert;
}
exports.NormalPeoplePicker = (0, Utilities_1.styled)(NormalPeoplePickerBase, BasePicker_styles_1.getStyles, undefined, {
scope: 'NormalPeoplePicker',
});
exports.CompactPeoplePicker = (0, Utilities_1.styled)(CompactPeoplePickerBase, BasePicker_styles_1.getStyles, undefined, {
scope: 'CompactPeoplePicker',
});
exports.ListPeoplePicker = (0, Utilities_1.styled)(ListPeoplePickerBase, BasePicker_styles_1.getStyles, undefined, {
scope: 'ListPeoplePickerBase',
});
//# sourceMappingURL=PeoplePicker.js.map
File diff suppressed because one or more lines are too long
@@ -0,0 +1,5 @@
import * as React from 'react';
import type { IPeoplePickerItemSelectedProps } from './PeoplePickerItem.types';
import type { JSXElement } from '@fluentui/utilities';
export declare const PeoplePickerItemBase: (props: IPeoplePickerItemSelectedProps) => JSXElement;
export declare const PeoplePickerItem: React.FunctionComponent<React.PropsWithChildren<React.PropsWithChildren<IPeoplePickerItemSelectedProps>>>;
@@ -0,0 +1,40 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.PeoplePickerItem = exports.PeoplePickerItemBase = void 0;
var tslib_1 = require("tslib");
var React = require("react");
var Utilities_1 = require("../../../../Utilities");
var Persona_1 = require("../../../../Persona");
var Button_1 = require("../../../../Button");
var BasePicker_types_1 = require("../../BasePicker.types");
var PeoplePickerItem_styles_1 = require("./PeoplePickerItem.styles");
var getClassNames = (0, Utilities_1.classNamesFunction)();
var PeoplePickerItemBase = function (props) {
var item = props.item, onRemoveItem = props.onRemoveItem, index = props.index, selected = props.selected, removeButtonAriaLabel = props.removeButtonAriaLabel, styles = props.styles, theme = props.theme, className = props.className, disabled = props.disabled, removeButtonIconProps = props.removeButtonIconProps;
var buttonRef = React.createRef();
var handleClick = function () {
var _a;
(_a = buttonRef.current) === null || _a === void 0 ? void 0 : _a.focus();
};
var itemId = (0, Utilities_1.getId)();
var classNames = getClassNames(styles, {
theme: theme,
className: className,
selected: selected,
disabled: disabled,
invalid: item.ValidationState === BasePicker_types_1.ValidationState.warning,
});
var personaStyles = classNames.subComponentStyles
? classNames.subComponentStyles.persona
: undefined;
var personaCoinStyles = classNames.subComponentStyles
? classNames.subComponentStyles.personaCoin
: undefined;
return (React.createElement("div", { "data-selection-index": index, className: classNames.root, role: 'listitem', key: index, onClick: handleClick },
React.createElement("div", { className: classNames.itemContent, id: 'selectedItemPersona-' + itemId },
React.createElement(Persona_1.Persona, tslib_1.__assign({ size: Persona_1.PersonaSize.size24, styles: personaStyles, coinProps: { styles: personaCoinStyles } }, item))),
React.createElement(Button_1.IconButton, { componentRef: buttonRef, id: itemId, onClick: onRemoveItem, disabled: disabled, iconProps: removeButtonIconProps !== null && removeButtonIconProps !== void 0 ? removeButtonIconProps : { iconName: 'Cancel' }, styles: { icon: { fontSize: '12px' } }, className: classNames.removeButton, ariaLabel: removeButtonAriaLabel, "aria-labelledby": "".concat(itemId, " selectedItemPersona-").concat(itemId) })));
};
exports.PeoplePickerItemBase = PeoplePickerItemBase;
exports.PeoplePickerItem = (0, Utilities_1.styled)(exports.PeoplePickerItemBase, PeoplePickerItem_styles_1.getStyles, undefined, { scope: 'PeoplePickerItem' });
//# sourceMappingURL=PeoplePickerItem.js.map
@@ -0,0 +1 @@
{"version":3,"file":"PeoplePickerItem.js","sourceRoot":"../src/","sources":["components/pickers/PeoplePicker/PeoplePickerItems/PeoplePickerItem.tsx"],"names":[],"mappings":";;;;AAAA,6BAA+B;AAE/B,mDAA0E;AAC1E,+CAA2D;AAC3D,6CAAyD;AACzD,2DAAyD;AACzD,qEAAsD;AAgBtD,IAAM,aAAa,GAAG,IAAA,8BAAkB,GAAwE,CAAC;AAE1G,IAAM,oBAAoB,GAAG,UAAC,KAAqC;IAEtE,IAAA,IAAI,GAUF,KAAK,KAVH,EACJ,YAAY,GASV,KAAK,aATK,EACZ,KAAK,GAQH,KAAK,MARF,EACL,QAAQ,GAON,KAAK,SAPC,EACR,qBAAqB,GAMnB,KAAK,sBANc,EACrB,MAAM,GAKJ,KAAK,OALD,EACN,KAAK,GAIH,KAAK,MAJF,EACL,SAAS,GAGP,KAAK,UAHE,EACT,QAAQ,GAEN,KAAK,SAFC,EACR,qBAAqB,GACnB,KAAK,sBADc,CACb;IAEV,IAAM,SAAS,GAAG,KAAK,CAAC,SAAS,EAAW,CAAC;IAE7C,IAAM,WAAW,GAA4C;;QAC3D,MAAA,SAAS,CAAC,OAAO,0CAAE,KAAK,EAAE,CAAC;IAC7B,CAAC,CAAC;IAEF,IAAM,MAAM,GAAG,IAAA,iBAAK,GAAE,CAAC;IAEvB,IAAM,UAAU,GAAG,aAAa,CAAC,MAAM,EAAE;QACvC,KAAK,EAAE,KAAM;QACb,SAAS,WAAA;QACT,QAAQ,UAAA;QACR,QAAQ,UAAA;QACR,OAAO,EAAE,IAAI,CAAC,eAAe,KAAK,kCAAe,CAAC,OAAO;KAC1D,CAAC,CAAC;IAEH,IAAM,aAAa,GAAG,UAAU,CAAC,kBAAkB;QACjD,CAAC,CAAE,UAAU,CAAC,kBAAkB,CAAC,OAAsE;QACvG,CAAC,CAAC,SAAS,CAAC;IAEd,IAAM,iBAAiB,GAAG,UAAU,CAAC,kBAAkB;QACrD,CAAC,CAAE,UAAU,CAAC,kBAAkB,CAAC,WAAkF;QACnH,CAAC,CAAC,SAAS,CAAC;IAEd,OAAO,CACL,qDAA2B,KAAK,EAAE,SAAS,EAAE,UAAU,CAAC,IAAI,EAAE,IAAI,EAAE,UAAU,EAAE,GAAG,EAAE,KAAK,EAAE,OAAO,EAAE,WAAW;QAC9G,6BAAK,SAAS,EAAE,UAAU,CAAC,WAAW,EAAE,EAAE,EAAE,sBAAsB,GAAG,MAAM;YACzE,oBAAC,iBAAO,qBAAC,IAAI,EAAE,qBAAW,CAAC,MAAM,EAAE,MAAM,EAAE,aAAa,EAAE,SAAS,EAAE,EAAE,MAAM,EAAE,iBAAiB,EAAE,IAAM,IAAI,EAAI,CAC5G;QACN,oBAAC,mBAAU,IACT,YAAY,EAAE,SAAS,EACvB,EAAE,EAAE,MAAM,EACV,OAAO,EAAE,YAAY,EACrB,QAAQ,EAAE,QAAQ,EAClB,SAAS,EAAE,qBAAqB,aAArB,qBAAqB,cAArB,qBAAqB,GAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAC1D,MAAM,EAAE,EAAE,IAAI,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EACtC,SAAS,EAAE,UAAU,CAAC,YAAY,EAClC,SAAS,EAAE,qBAAqB,qBACf,UAAG,MAAM,kCAAwB,MAAM,CAAE,GAC1D,CACE,CACP,CAAC;AACJ,CAAC,CAAC;AAxDW,QAAA,oBAAoB,wBAwD/B;AAEW,QAAA,gBAAgB,GAAG,IAAA,kBAAM,EAIpC,4BAAoB,EAAE,mCAAS,EAAE,SAAS,EAAE,EAAE,KAAK,EAAE,kBAAkB,EAAE,CAAC,CAAC","sourcesContent":["import * as React from 'react';\n\nimport { getId, classNamesFunction, styled } from '../../../../Utilities';\nimport { Persona, PersonaSize } from '../../../../Persona';\nimport { IconButton, IButton } from '../../../../Button';\nimport { ValidationState } from '../../BasePicker.types';\nimport { getStyles } from './PeoplePickerItem.styles';\nimport type { IStyleFunctionOrObject } from '../../../../Utilities';\nimport type {\n IPersonaStyleProps,\n IPersonaStyles,\n IPersonaCoinStyleProps,\n IPersonaCoinStyles,\n} from '../../../../Persona';\nimport type {\n IPeoplePickerItemSelectedProps,\n IPeoplePickerItemSelectedStyleProps,\n IPeoplePickerItemSelectedStyles,\n} from './PeoplePickerItem.types';\n\nimport type { JSXElement } from '@fluentui/utilities';\n\nconst getClassNames = classNamesFunction<IPeoplePickerItemSelectedStyleProps, IPeoplePickerItemSelectedStyles>();\n\nexport const PeoplePickerItemBase = (props: IPeoplePickerItemSelectedProps): JSXElement => {\n const {\n item,\n onRemoveItem,\n index,\n selected,\n removeButtonAriaLabel,\n styles,\n theme,\n className,\n disabled,\n removeButtonIconProps,\n } = props;\n\n const buttonRef = React.createRef<IButton>();\n\n const handleClick: React.MouseEventHandler<HTMLDivElement> = () => {\n buttonRef.current?.focus();\n };\n\n const itemId = getId();\n\n const classNames = getClassNames(styles, {\n theme: theme!,\n className,\n selected,\n disabled,\n invalid: item.ValidationState === ValidationState.warning,\n });\n\n const personaStyles = classNames.subComponentStyles\n ? (classNames.subComponentStyles.persona as IStyleFunctionOrObject<IPersonaStyleProps, IPersonaStyles>)\n : undefined;\n\n const personaCoinStyles = classNames.subComponentStyles\n ? (classNames.subComponentStyles.personaCoin as IStyleFunctionOrObject<IPersonaCoinStyleProps, IPersonaCoinStyles>)\n : undefined;\n\n return (\n <div data-selection-index={index} className={classNames.root} role={'listitem'} key={index} onClick={handleClick}>\n <div className={classNames.itemContent} id={'selectedItemPersona-' + itemId}>\n <Persona size={PersonaSize.size24} styles={personaStyles} coinProps={{ styles: personaCoinStyles }} {...item} />\n </div>\n <IconButton\n componentRef={buttonRef}\n id={itemId}\n onClick={onRemoveItem}\n disabled={disabled}\n iconProps={removeButtonIconProps ?? { iconName: 'Cancel' }}\n styles={{ icon: { fontSize: '12px' } }}\n className={classNames.removeButton}\n ariaLabel={removeButtonAriaLabel}\n aria-labelledby={`${itemId} selectedItemPersona-${itemId}`}\n />\n </div>\n );\n};\n\nexport const PeoplePickerItem = styled<\n IPeoplePickerItemSelectedProps,\n IPeoplePickerItemSelectedStyleProps,\n IPeoplePickerItemSelectedStyles\n>(PeoplePickerItemBase, getStyles, undefined, { scope: 'PeoplePickerItem' });\n"]}
@@ -0,0 +1,2 @@
import type { IPeoplePickerItemSelectedStyleProps, IPeoplePickerItemSelectedStyles } from './PeoplePickerItem.types';
export declare function getStyles(props: IPeoplePickerItemSelectedStyleProps): IPeoplePickerItemSelectedStyles;
@@ -0,0 +1,236 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.getStyles = getStyles;
var tslib_1 = require("tslib");
var Styling_1 = require("../../../../Styling");
var BaseButton_classNames_1 = require("../../../Button/BaseButton.classNames");
var GlobalClassNames = {
root: 'ms-PickerPersona-container',
itemContent: 'ms-PickerItem-content',
removeButton: 'ms-PickerItem-removeButton',
isSelected: 'is-selected',
isInvalid: 'is-invalid',
};
var REMOVE_BUTTON_SIZE = 24;
var PICKER_PERSONA_RADIUS = 15;
function getStyles(props) {
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;
var className = props.className, theme = props.theme, selected = props.selected, invalid = props.invalid, disabled = props.disabled;
var palette = theme.palette, semanticColors = theme.semanticColors, fonts = theme.fonts;
var classNames = (0, Styling_1.getGlobalClassNames)(GlobalClassNames, theme);
var personaRootStyles = {
color: 'inherit',
};
// set text color to inherit to allow focus styles to control persona text colors
var personaPrimaryTextStyles = [
selected &&
!invalid &&
!disabled && {
color: 'inherit',
selectors: (_a = {
':hover': {
color: 'inherit',
}
},
_a[Styling_1.HighContrastSelector] = {
color: 'HighlightText',
},
_a),
},
((invalid && !selected) || (invalid && selected && disabled)) && {
color: 'inherit',
borderBottom: "2px dotted currentColor",
selectors: (_b = {},
_b[".".concat(classNames.root, ":hover &")] = {
// override Persona root:hover selector
color: 'inherit',
},
_b),
},
invalid &&
selected &&
!disabled && {
color: 'inherit',
borderBottom: "2px dotted currentColor",
selectors: {
':hover': {
color: 'inherit',
},
},
},
disabled && {
selectors: (_c = {},
_c[Styling_1.HighContrastSelector] = {
color: 'GrayText',
},
_c),
},
];
var personaSecondaryTextStyles = [
selected &&
!invalid &&
!disabled && {
color: 'inherit',
selectors: (_d = {
':hover': {
color: 'inherit',
}
},
_d[Styling_1.HighContrastSelector] = {
color: 'HighlightText',
},
_d),
},
];
var personaCoinInitialsStyles = [
invalid && {
fontSize: fonts.xLarge.fontSize,
},
];
return {
root: [
classNames.root,
(0, Styling_1.getFocusStyle)(theme, { inset: -2 }),
{
borderRadius: PICKER_PERSONA_RADIUS,
display: 'inline-flex',
alignItems: 'center',
background: palette.neutralLighter,
margin: '1px 2px',
cursor: 'default',
userSelect: 'none',
maxWidth: 300,
verticalAlign: 'middle',
minWidth: 0,
selectors: (_e = {
':hover': {
background: !selected && !disabled ? palette.neutralLight : '',
}
},
_e[Styling_1.HighContrastSelector] = [{ border: '1px solid WindowText' }, disabled && { borderColor: 'GrayText' }],
_e),
},
selected &&
!disabled && [
classNames.isSelected,
{
selectors: (_f = {
':focus-within': (_g = {
background: palette.themePrimary,
color: palette.white
},
_g[Styling_1.HighContrastSelector] = {
color: 'HighLightText',
background: 'Highlight',
},
_g)
},
_f[Styling_1.HighContrastSelector] = tslib_1.__assign({ borderColor: 'HighLight', background: 'Highlight' }, (0, Styling_1.getHighContrastNoAdjustStyle)()),
_f),
},
],
invalid && [classNames.isInvalid],
invalid &&
selected &&
!disabled && {
':focus-within': {
background: palette.redDark,
color: palette.white,
},
},
((invalid && !selected) || (invalid && selected && disabled)) && {
color: palette.redDark,
},
className,
],
itemContent: [
classNames.itemContent,
{
flex: '0 1 auto',
minWidth: 0,
// CSS below is needed for IE 11 to properly truncate long persona names in the picker
// and to clip the presence indicator (in all browsers)
maxWidth: '100%',
overflow: 'hidden',
},
],
removeButton: [
classNames.removeButton,
{
borderRadius: PICKER_PERSONA_RADIUS,
color: palette.neutralPrimary,
flex: '0 0 auto',
width: REMOVE_BUTTON_SIZE,
height: REMOVE_BUTTON_SIZE,
selectors: {
':hover': {
background: palette.neutralTertiaryAlt,
color: palette.neutralDark,
},
},
},
selected && [
(0, Styling_1.getFocusStyle)(theme, {
inset: 2,
borderColor: 'transparent',
highContrastStyle: { inset: 2, left: 1, top: 1, bottom: 1, right: 1, outlineColor: 'HighlightText' },
outlineColor: palette.white,
borderRadius: PICKER_PERSONA_RADIUS,
}),
{
selectors: (_h = {
':hover': {
color: palette.white,
background: palette.themeDark,
},
':active': {
color: palette.white,
background: palette.themeDarker,
},
':focus': (_j = {
color: palette.white
},
_j[Styling_1.HighContrastSelector] = {
color: 'HighlightText',
},
_j)
},
_h[Styling_1.HighContrastSelector] = {
color: 'HighlightText',
},
_h),
},
invalid && {
selectors: {
':hover': {
color: palette.white,
background: palette.red,
},
':active': {
color: palette.white,
background: palette.redDark,
},
},
},
],
disabled && {
selectors: (_k = {},
_k[".".concat(BaseButton_classNames_1.ButtonGlobalClassNames.msButtonIcon)] = {
color: semanticColors.buttonText,
},
_k),
},
],
subComponentStyles: {
persona: {
root: personaRootStyles,
primaryText: personaPrimaryTextStyles,
secondaryText: personaSecondaryTextStyles,
},
personaCoin: {
initials: personaCoinInitialsStyles,
},
},
};
}
//# sourceMappingURL=PeoplePickerItem.styles.js.map
File diff suppressed because one or more lines are too long
@@ -0,0 +1,109 @@
import { ValidationState } from '../../BasePicker.types';
import type { IStyle, ITheme } from '../../../../Styling';
import type { IStyleFunctionOrObject } from '../../../../Utilities';
import type { IPersonaProps, IPersonaStyleProps, IPersonaCoinStyleProps } from '../../../../Persona';
import type { IPickerItemProps } from '../../PickerItem.types';
import type { IContextualMenuItem } from '../../../../ContextualMenu';
import type { IBasePickerSuggestionsProps } from '../../BasePicker.types';
/**
* Common props in between IPeoplePickerItemSelectedProps, IPeoplePickerItemWithMenuProps and
* IPeoplePickerItemSuggestionProps.
* {@docCategory PeoplePicker}
*/
export interface IPeoplePickerItemSharedProps {
/** Additional CSS class(es) to apply to the PeoplePickerItem root element. */
className?: string;
/** Theme provided by High-Order Component. */
theme?: ITheme;
}
/**
* PeoplePickerItemSelected props interface. Refers to the PeoplePicker items that have been picked already.
* {@docCategory PeoplePicker}
*/
export interface IPeoplePickerItemSelectedProps extends IPickerItemProps<IPersonaProps & {
ValidationState: ValidationState;
}>, IPeoplePickerItemSharedProps {
/** Call to provide customized styling that will layer on top of the variant rules. */
styles?: IStyleFunctionOrObject<IPeoplePickerItemSelectedStyleProps, IPeoplePickerItemSelectedStyles>;
}
/**
* Props needed to construct PeoplePickerItemSelected styles.
* {@docCategory PeoplePicker}
*/
export type IPeoplePickerItemSelectedStyleProps = Required<Pick<IPeoplePickerItemSelectedProps, 'theme'>> & Pick<IPeoplePickerItemSelectedProps, 'className' | 'selected' | 'disabled'> & {
/** Whether it's invalid. */
invalid?: boolean;
};
/**
* Represents the stylable areas of the PeoplePickerItemSelected.
* {@docCategory PeoplePicker}
*/
export interface IPeoplePickerItemSelectedStyles {
/** Root element of picked PeoplePicker item */
root: IStyle;
/** Refers to the element holding the content (Persona) of the PeoplePicker item already picked. */
itemContent: IStyle;
/** Refers to the remove action button on a picked PeoplePicker item. */
removeButton: IStyle;
/** SubComponent (Persona, PersonaCoin) styles. */
subComponentStyles: IPeoplePickerItemSelectedSubComponentStyles;
}
/**
* Styles interface of the SubComponents rendered within PeoplePickerItemSelected.
* {@docCategory PeoplePicker}
*/
export interface IPeoplePickerItemSelectedSubComponentStyles {
/** Refers to the Persona rendered within the PeoplePickerItemSelected */
persona: IStyleFunctionOrObject<IPersonaStyleProps, any>;
/** Refers to the PersonaCoin in the Persona rendered within the PeoplePickerItemSelected */
personaCoin?: IStyleFunctionOrObject<IPersonaCoinStyleProps, any>;
}
/**
* PeoplePickerItemSuggestion props interface. Refers to the PeoplePicker items that are suggested for picking.
* {@docCategory PeoplePicker}
*/
export interface IPeoplePickerItemSuggestionProps extends IPeoplePickerItemSharedProps {
/** Persona props for each suggested for picking PeoplePicker item. */
personaProps?: IPersonaProps;
/** Call to provide customized styling that will layer on top of the variant rules. */
styles?: IStyleFunctionOrObject<IPeoplePickerItemSuggestionStyleProps, IPeoplePickerItemSuggestionStyles>;
/** General common props for all PeoplePicker items suggestions. */
suggestionsProps?: IBasePickerSuggestionsProps;
/**
* Flag that controls whether each suggested PeoplePicker item (Persona) is rendered with or without secondary text
* for compact look.
* @defaultvalue false
*/
compact?: boolean;
}
/**
* Props needed to construct PeoplePickerItemSuggestion styles.
* {@docCategory PeoplePicker}
*/
export type IPeoplePickerItemSuggestionStyleProps = Required<Pick<IPeoplePickerItemSuggestionProps, 'theme'>> & Pick<IPeoplePickerItemSuggestionProps, 'className'> & {};
/**
* Represents the stylable areas of the PeoplePickerItemSuggestion.
* {@docCategory PeoplePicker}
*/
export interface IPeoplePickerItemSuggestionStyles {
/** Root container element of a suggested PeoplePicker item. */
root: IStyle;
/** Refers to the element wrapping the Persona of the suggested PeoplePicker item. */
personaWrapper: IStyle;
/** SubComponent (Persona, PersonaCoin) styles. */
subComponentStyles: IPeoplePickerItemSelectedSubComponentStyles;
}
/**
* PeoplePickerItemWithMenu props interface.
* @deprecated Do not use. Will be removed in \>= 7.0
*/
export interface IPeoplePickerItemWithMenuProps extends IPickerItemProps<IPersonaWithMenu> {
}
/**
* Extended interface from IPersonaProps to add `menuItems` property PeoplePickerItemWithMenu items.
* @deprecated Do not use. Will be removed in \>= 7.0
*/
export interface IPersonaWithMenu extends IPersonaProps {
/** Additional menuItems to be rendered in a contextualMenu for each Persona. */
menuItems?: IContextualMenuItem[];
}
@@ -0,0 +1,3 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
//# sourceMappingURL=PeoplePickerItem.types.js.map
File diff suppressed because one or more lines are too long
@@ -0,0 +1,5 @@
import * as React from 'react';
import type { IPeoplePickerItemSuggestionProps } from './PeoplePickerItem.types';
import type { JSXElement } from '@fluentui/utilities';
export declare const PeoplePickerItemSuggestionBase: (props: IPeoplePickerItemSuggestionProps) => JSXElement;
export declare const PeoplePickerItemSuggestion: React.FunctionComponent<React.PropsWithChildren<React.PropsWithChildren<IPeoplePickerItemSuggestionProps>>>;
@@ -0,0 +1,24 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.PeoplePickerItemSuggestion = exports.PeoplePickerItemSuggestionBase = void 0;
var tslib_1 = require("tslib");
var React = require("react");
var Utilities_1 = require("../../../../Utilities");
var Persona_1 = require("../../../../Persona");
var PeoplePickerItemSuggestion_styles_1 = require("./PeoplePickerItemSuggestion.styles");
var getClassNames = (0, Utilities_1.classNamesFunction)();
var PeoplePickerItemSuggestionBase = function (props) {
var personaProps = props.personaProps, suggestionsProps = props.suggestionsProps, compact = props.compact, styles = props.styles, theme = props.theme, className = props.className;
var classNames = getClassNames(styles, {
theme: theme,
className: (suggestionsProps && suggestionsProps.suggestionsItemClassName) || className,
});
var personaStyles = classNames.subComponentStyles && classNames.subComponentStyles.persona
? classNames.subComponentStyles.persona
: undefined;
return (React.createElement("div", { className: classNames.root },
React.createElement(Persona_1.Persona, tslib_1.__assign({ size: Persona_1.PersonaSize.size24, styles: personaStyles, className: classNames.personaWrapper, showSecondaryText: !compact, showOverflowTooltip: false }, personaProps))));
};
exports.PeoplePickerItemSuggestionBase = PeoplePickerItemSuggestionBase;
exports.PeoplePickerItemSuggestion = (0, Utilities_1.styled)(exports.PeoplePickerItemSuggestionBase, PeoplePickerItemSuggestion_styles_1.getStyles, undefined, { scope: 'PeoplePickerItemSuggestion' });
//# sourceMappingURL=PeoplePickerItemSuggestion.js.map
@@ -0,0 +1 @@
{"version":3,"file":"PeoplePickerItemSuggestion.js","sourceRoot":"../src/","sources":["components/pickers/PeoplePicker/PeoplePickerItems/PeoplePickerItemSuggestion.tsx"],"names":[],"mappings":";;;;AAAA,6BAA+B;AAE/B,mDAAmE;AACnE,+CAA2D;AAC3D,yFAAgE;AAWhE,IAAM,aAAa,GAAG,IAAA,8BAAkB,GAA4E,CAAC;AAE9G,IAAM,8BAA8B,GAAG,UAAC,KAAuC;IAC5E,IAAA,YAAY,GAA0D,KAAK,aAA/D,EAAE,gBAAgB,GAAwC,KAAK,iBAA7C,EAAE,OAAO,GAA+B,KAAK,QAApC,EAAE,MAAM,GAAuB,KAAK,OAA5B,EAAE,KAAK,GAAgB,KAAK,MAArB,EAAE,SAAS,GAAK,KAAK,UAAV,CAAW;IAEpF,IAAM,UAAU,GAAG,aAAa,CAAC,MAAM,EAAE;QACvC,KAAK,EAAE,KAAM;QACb,SAAS,EAAE,CAAC,gBAAgB,IAAI,gBAAgB,CAAC,wBAAwB,CAAC,IAAI,SAAS;KACxF,CAAC,CAAC;IAEH,IAAM,aAAa,GACjB,UAAU,CAAC,kBAAkB,IAAI,UAAU,CAAC,kBAAkB,CAAC,OAAO;QACpE,CAAC,CAAE,UAAU,CAAC,kBAAkB,CAAC,OAAsE;QACvG,CAAC,CAAC,SAAS,CAAC;IAEhB,OAAO,CACL,6BAAK,SAAS,EAAE,UAAU,CAAC,IAAI;QAC7B,oBAAC,iBAAO,qBACN,IAAI,EAAE,qBAAW,CAAC,MAAM,EACxB,MAAM,EAAE,aAAa,EACrB,SAAS,EAAE,UAAU,CAAC,cAAc,EACpC,iBAAiB,EAAE,CAAC,OAAO,EAC3B,mBAAmB,EAAE,KAAK,IACtB,YAAY,EAChB,CACE,CACP,CAAC;AACJ,CAAC,CAAC;AAzBW,QAAA,8BAA8B,kCAyBzC;AAEW,QAAA,0BAA0B,GAAG,IAAA,kBAAM,EAI9C,sCAA8B,EAAE,6CAAS,EAAE,SAAS,EAAE,EAAE,KAAK,EAAE,4BAA4B,EAAE,CAAC,CAAC","sourcesContent":["import * as React from 'react';\n\nimport { classNamesFunction, styled } from '../../../../Utilities';\nimport { Persona, PersonaSize } from '../../../../Persona';\nimport { getStyles } from './PeoplePickerItemSuggestion.styles';\nimport type { IStyleFunctionOrObject } from '../../../../Utilities';\nimport type { IPersonaStyleProps, IPersonaStyles } from '../../../../Persona';\nimport type {\n IPeoplePickerItemSuggestionProps,\n IPeoplePickerItemSuggestionStyleProps,\n IPeoplePickerItemSuggestionStyles,\n} from './PeoplePickerItem.types';\n\nimport type { JSXElement } from '@fluentui/utilities';\n\nconst getClassNames = classNamesFunction<IPeoplePickerItemSuggestionStyleProps, IPeoplePickerItemSuggestionStyles>();\n\nexport const PeoplePickerItemSuggestionBase = (props: IPeoplePickerItemSuggestionProps): JSXElement => {\n const { personaProps, suggestionsProps, compact, styles, theme, className } = props;\n\n const classNames = getClassNames(styles, {\n theme: theme!,\n className: (suggestionsProps && suggestionsProps.suggestionsItemClassName) || className,\n });\n\n const personaStyles =\n classNames.subComponentStyles && classNames.subComponentStyles.persona\n ? (classNames.subComponentStyles.persona as IStyleFunctionOrObject<IPersonaStyleProps, IPersonaStyles>)\n : undefined;\n\n return (\n <div className={classNames.root}>\n <Persona\n size={PersonaSize.size24}\n styles={personaStyles}\n className={classNames.personaWrapper}\n showSecondaryText={!compact}\n showOverflowTooltip={false}\n {...personaProps}\n />\n </div>\n );\n};\n\nexport const PeoplePickerItemSuggestion = styled<\n IPeoplePickerItemSuggestionProps,\n IPeoplePickerItemSuggestionStyleProps,\n IPeoplePickerItemSuggestionStyles\n>(PeoplePickerItemSuggestionBase, getStyles, undefined, { scope: 'PeoplePickerItemSuggestion' });\n"]}
@@ -0,0 +1,2 @@
import type { IPeoplePickerItemSuggestionStyles, IPeoplePickerItemSuggestionStyleProps } from './PeoplePickerItem.types';
export declare function getStyles(props: IPeoplePickerItemSuggestionStyleProps): IPeoplePickerItemSuggestionStyles;
@@ -0,0 +1,55 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.getStyles = getStyles;
var Styling_1 = require("../../../../Styling");
var SuggestionsItem_styles_1 = require("../../Suggestions/SuggestionsItem.styles");
var GlobalClassNames = {
root: 'ms-PeoplePicker-personaContent',
personaWrapper: 'ms-PeoplePicker-Persona',
};
function getStyles(props) {
var _a, _b, _c;
var className = props.className, theme = props.theme;
var classNames = (0, Styling_1.getGlobalClassNames)(GlobalClassNames, theme);
var textSelectorsStyles = {
selectors: (_a = {},
_a[".".concat(SuggestionsItem_styles_1.SuggestionsItemGlobalClassNames.isSuggested, " &")] = {
selectors: (_b = {},
_b[Styling_1.HighContrastSelector] = {
color: 'HighlightText',
},
_b),
},
_a[".".concat(classNames.root, ":hover &")] = {
selectors: (_c = {},
_c[Styling_1.HighContrastSelector] = {
color: 'HighlightText',
},
_c),
},
_a),
};
return {
root: [
classNames.root,
{
width: '100%',
padding: '4px 12px',
},
className,
],
personaWrapper: [
classNames.personaWrapper,
{
width: 180,
},
],
subComponentStyles: {
persona: {
primaryText: textSelectorsStyles,
secondaryText: textSelectorsStyles,
},
},
};
}
//# sourceMappingURL=PeoplePickerItemSuggestion.styles.js.map
@@ -0,0 +1 @@
{"version":3,"file":"PeoplePickerItemSuggestion.styles.js","sourceRoot":"../src/","sources":["components/pickers/PeoplePicker/PeoplePickerItems/PeoplePickerItemSuggestion.styles.ts"],"names":[],"mappings":";;AAaA,8BA6CC;AA1DD,+CAAgF;AAChF,mFAAwG;AAOxG,IAAM,gBAAgB,GAAG;IACvB,IAAI,EAAE,gCAAgC;IACtC,cAAc,EAAE,yBAAyB;CAC1C,CAAC;AAEF,SAAgB,SAAS,CAAC,KAA4C;;IAC5D,IAAA,SAAS,GAAY,KAAK,UAAjB,EAAE,KAAK,GAAK,KAAK,MAAV,CAAW;IACnC,IAAM,UAAU,GAAG,IAAA,6BAAmB,EAAC,gBAAgB,EAAE,KAAK,CAAC,CAAC;IAEhE,IAAM,mBAAmB,GAAW;QAClC,SAAS;YACP,GAAC,WAAI,wDAAS,CAAC,WAAW,OAAI,IAAG;gBAC/B,SAAS;oBACP,GAAC,8BAAoB,IAAG;wBACtB,KAAK,EAAE,eAAe;qBACvB;uBACF;aACF;YACD,GAAC,WAAI,UAAU,CAAC,IAAI,aAAU,IAAG;gBAC/B,SAAS;oBACP,GAAC,8BAAoB,IAAG;wBACtB,KAAK,EAAE,eAAe;qBACvB;uBACF;aACF;eACF;KACF,CAAC;IAEF,OAAO;QACL,IAAI,EAAE;YACJ,UAAU,CAAC,IAAI;YACf;gBACE,KAAK,EAAE,MAAM;gBACb,OAAO,EAAE,UAAU;aACpB;YACD,SAAS;SACV;QACD,cAAc,EAAE;YACd,UAAU,CAAC,cAAc;YACzB;gBACE,KAAK,EAAE,GAAG;aACX;SACF;QACD,kBAAkB,EAAE;YAClB,OAAO,EAAE;gBACP,WAAW,EAAE,mBAAmB;gBAChC,aAAa,EAAE,mBAAmB;aACnC;SACF;KACF,CAAC;AACJ,CAAC","sourcesContent":["import { getGlobalClassNames, HighContrastSelector } from '../../../../Styling';\nimport { SuggestionsItemGlobalClassNames as suggested } from '../../Suggestions/SuggestionsItem.styles';\nimport type { IStyle } from '../../../../Styling';\nimport type {\n IPeoplePickerItemSuggestionStyles,\n IPeoplePickerItemSuggestionStyleProps,\n} from './PeoplePickerItem.types';\n\nconst GlobalClassNames = {\n root: 'ms-PeoplePicker-personaContent',\n personaWrapper: 'ms-PeoplePicker-Persona',\n};\n\nexport function getStyles(props: IPeoplePickerItemSuggestionStyleProps): IPeoplePickerItemSuggestionStyles {\n const { className, theme } = props;\n const classNames = getGlobalClassNames(GlobalClassNames, theme);\n\n const textSelectorsStyles: IStyle = {\n selectors: {\n [`.${suggested.isSuggested} &`]: {\n selectors: {\n [HighContrastSelector]: {\n color: 'HighlightText',\n },\n },\n },\n [`.${classNames.root}:hover &`]: {\n selectors: {\n [HighContrastSelector]: {\n color: 'HighlightText',\n },\n },\n },\n },\n };\n\n return {\n root: [\n classNames.root,\n {\n width: '100%',\n padding: '4px 12px',\n },\n className,\n ],\n personaWrapper: [\n classNames.personaWrapper,\n {\n width: 180,\n },\n ],\n subComponentStyles: {\n persona: {\n primaryText: textSelectorsStyles,\n secondaryText: textSelectorsStyles,\n },\n },\n };\n}\n"]}
@@ -0,0 +1,7 @@
export declare const personaContainer = "personaContainer_a108c744";
export declare const removeButton = "removeButton_a108c744";
export declare const personaContainerIsSelected = "personaContainerIsSelected_a108c744";
export declare const validationError = "validationError_a108c744";
export declare const itemContent = "itemContent_a108c744";
export declare const personaDetails = "personaDetails_a108c744";
export declare const itemContainer = "itemContainer_a108c744";
@@ -0,0 +1,14 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.itemContainer = exports.personaDetails = exports.itemContent = exports.validationError = exports.personaContainerIsSelected = exports.removeButton = exports.personaContainer = void 0;
/* eslint-disable */
var load_themed_styles_1 = require("@microsoft/load-themed-styles");
(0, load_themed_styles_1.loadStyles)([{ "rawString": ".personaContainer_a108c744{border-radius:15px;display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;background:" }, { "theme": "neutralLighter", "defaultValue": "#f3f2f1" }, { "rawString": ";margin:1px 2px;cursor:default;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;max-width:300px;vertical-align:middle}.personaContainer_a108c744::-moz-focus-inner{border:0}.personaContainer_a108c744{outline:transparent}.personaContainer_a108c744{position:relative}.ms-Fabric--isFocusVisible .personaContainer_a108c744:focus:after{-webkit-box-sizing:border-box;box-sizing:border-box;content:\"\";position:absolute;top:-2px;right:-2px;bottom:-2px;left:-2px;pointer-events:none;border:1px solid " }, { "theme": "focusBorder", "defaultValue": "#605e5c" }, { "rawString": ";border-radius:0}.personaContainer_a108c744:hover{background:" }, { "theme": "neutralLight", "defaultValue": "#edebe9" }, { "rawString": "}.personaContainer_a108c744:hover .removeButton_a108c744{color:" }, { "theme": "neutralPrimary", "defaultValue": "#323130" }, { "rawString": "}.personaContainer_a108c744.personaContainerIsSelected_a108c744{background:" }, { "theme": "blue", "defaultValue": "#0078d4" }, { "rawString": "}.personaContainer_a108c744.personaContainerIsSelected_a108c744 .ms-Persona-primaryText{color:" }, { "theme": "white", "defaultValue": "#ffffff" }, { "rawString": "}@media screen and (-ms-high-contrast:active),screen and (forced-colors:active){.personaContainer_a108c744.personaContainerIsSelected_a108c744 .ms-Persona-primaryText{color:HighlightText}}.personaContainer_a108c744.personaContainerIsSelected_a108c744 .removeButton_a108c744 .ms-Button-icon{color:" }, { "theme": "white", "defaultValue": "#ffffff" }, { "rawString": "}@media screen and (-ms-high-contrast:active),screen and (forced-colors:active){.personaContainer_a108c744.personaContainerIsSelected_a108c744 .removeButton_a108c744 .ms-Button-icon{color:HighlightText}}.personaContainer_a108c744.personaContainerIsSelected_a108c744 .removeButton_a108c744:hover{color:" }, { "theme": "white", "defaultValue": "#ffffff" }, { "rawString": ";background:" }, { "theme": "themeDark", "defaultValue": "#005a9e" }, { "rawString": "}@media screen and (-ms-high-contrast:active),screen and (forced-colors:active){.personaContainer_a108c744.personaContainerIsSelected_a108c744{border-color:Highlight;background:Highlight;-ms-high-contrast-adjust:none}}.personaContainer_a108c744.validationError_a108c744 .ms-Persona-primaryText{color:" }, { "theme": "redDark", "defaultValue": "#a4262c" }, { "rawString": ";border-bottom:2px dotted " }, { "theme": "redDark", "defaultValue": "#a4262c" }, { "rawString": "}.personaContainer_a108c744.validationError_a108c744 .ms-Persona-initials{font-size:20px}.personaContainer_a108c744.validationError_a108c744.personaContainerIsSelected_a108c744{background:" }, { "theme": "redDark", "defaultValue": "#a4262c" }, { "rawString": "}.personaContainer_a108c744.validationError_a108c744.personaContainerIsSelected_a108c744 .ms-Persona-primaryText{color:" }, { "theme": "white", "defaultValue": "#ffffff" }, { "rawString": ";border-bottom:2px dotted " }, { "theme": "white", "defaultValue": "#ffffff" }, { "rawString": "}.personaContainer_a108c744.validationError_a108c744.personaContainerIsSelected_a108c744 .removeButton_a108c744:hover{background:" }, { "theme": "red", "defaultValue": "#e81123" }, { "rawString": "}@media screen and (-ms-high-contrast:active),screen and (forced-colors:active){.personaContainer_a108c744{border:1px solid WindowText}}.personaContainer_a108c744 .itemContent_a108c744{-webkit-box-flex:0;-ms-flex:0 1 auto;flex:0 1 auto;min-width:0;max-width:100%;overflow:hidden}.personaContainer_a108c744 .removeButton_a108c744{border-radius:15px;-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;width:28px;height:28px;-ms-flex-preferred-size:28px;flex-basis:28px}.personaContainer_a108c744 .removeButton_a108c744:hover{background:" }, { "theme": "neutralTertiaryAlt", "defaultValue": "#c8c6c4" }, { "rawString": ";color:" }, { "theme": "neutralDark", "defaultValue": "#201f1e" }, { "rawString": "}.personaContainer_a108c744 .personaDetails_a108c744{-webkit-box-flex:0;-ms-flex:0 1 auto;flex:0 1 auto}.itemContainer_a108c744{display:inline-block;vertical-align:top}" }]);
exports.personaContainer = "personaContainer_a108c744";
exports.removeButton = "removeButton_a108c744";
exports.personaContainerIsSelected = "personaContainerIsSelected_a108c744";
exports.validationError = "validationError_a108c744";
exports.itemContent = "itemContent_a108c744";
exports.personaDetails = "personaDetails_a108c744";
exports.itemContainer = "itemContainer_a108c744";
//# sourceMappingURL=PickerItemsDefault.scss.js.map
File diff suppressed because one or more lines are too long
@@ -0,0 +1,6 @@
import type { IPeoplePickerItemSelectedProps } from './PeoplePickerItem.types';
import type { JSXElement } from '@fluentui/utilities';
/**
* @deprecated Use `PeoplePickerItem` instead. Will be removed in \>= 7.0.
*/
export declare const SelectedItemDefault: (props: IPeoplePickerItemSelectedProps) => JSXElement;
@@ -0,0 +1,32 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.SelectedItemDefault = void 0;
var tslib_1 = require("tslib");
var React = require("react");
var Utilities_1 = require("../../../../Utilities");
var Persona_1 = require("../../../../Persona");
var BasePicker_types_1 = require("../../BasePicker.types");
var Button_1 = require("../../../../Button");
var stylesImport = require("./PickerItemsDefault.scss");
var styles = stylesImport;
/**
* @deprecated Use `PeoplePickerItem` instead. Will be removed in \>= 7.0.
*/
var SelectedItemDefault = function (peoplePickerItemProps) {
var _a, _b;
var item = peoplePickerItemProps.item, onRemoveItem = peoplePickerItemProps.onRemoveItem, index = peoplePickerItemProps.index, selected = peoplePickerItemProps.selected, removeButtonAriaLabel = peoplePickerItemProps.removeButtonAriaLabel;
var itemId = (0, Utilities_1.getId)();
var onClickIconButton = function (removeItem) {
return function () {
if (removeItem) {
removeItem();
}
};
};
return (React.createElement("div", { className: (0, Utilities_1.css)('ms-PickerPersona-container', styles.personaContainer, (_a = {}, _a['is-selected ' + styles.personaContainerIsSelected] = selected, _a), (_b = {}, _b['is-invalid ' + styles.validationError] = item.ValidationState === BasePicker_types_1.ValidationState.warning, _b)), "data-is-focusable": true, "data-is-sub-focuszone": true, "data-selection-index": index, role: 'listitem', "aria-labelledby": 'selectedItemPersona-' + itemId },
React.createElement("div", { className: (0, Utilities_1.css)('ms-PickerItem-content', styles.itemContent), id: 'selectedItemPersona-' + itemId },
React.createElement(Persona_1.Persona, tslib_1.__assign({}, item, { presence: item.presence !== undefined ? item.presence : Persona_1.PersonaPresence.none, size: Persona_1.PersonaSize.size28 }))),
React.createElement(Button_1.IconButton, { onClick: onClickIconButton(onRemoveItem), iconProps: { iconName: 'Cancel', style: { fontSize: '12px' } }, className: (0, Utilities_1.css)('ms-PickerItem-removeButton', styles.removeButton), ariaLabel: removeButtonAriaLabel })));
};
exports.SelectedItemDefault = SelectedItemDefault;
//# sourceMappingURL=SelectedItemDefault.js.map
@@ -0,0 +1 @@
{"version":3,"file":"SelectedItemDefault.js","sourceRoot":"../src/","sources":["components/pickers/PeoplePicker/PeoplePickerItems/SelectedItemDefault.tsx"],"names":[],"mappings":";;;;AAAA,6BAA+B;AAE/B,mDAAmD;AACnD,+CAA4E;AAC5E,2DAAyD;AACzD,6CAAgD;AAEhD,wDAA0D;AAK1D,IAAM,MAAM,GAAQ,YAAY,CAAC;AAEjC;;GAEG;AAEI,IAAM,mBAAmB,GAA0D,UACxF,qBAAqD;;IAE7C,IAAA,IAAI,GAA2D,qBAAqB,KAAhF,EAAE,YAAY,GAA6C,qBAAqB,aAAlE,EAAE,KAAK,GAAsC,qBAAqB,MAA3D,EAAE,QAAQ,GAA4B,qBAAqB,SAAjD,EAAE,qBAAqB,GAAK,qBAAqB,sBAA1B,CAA2B;IAE7F,IAAM,MAAM,GAAG,IAAA,iBAAK,GAAE,CAAC;IACvB,IAAM,iBAAiB,GAAG,UAAC,UAAoC;QAC7D,OAAO;YACL,IAAI,UAAU,EAAE,CAAC;gBACf,UAAU,EAAE,CAAC;YACf,CAAC;QACH,CAAC,CAAC;IACJ,CAAC,CAAC;IAEF,OAAO,CACL,6BACE,SAAS,EAAE,IAAA,eAAG,EACZ,4BAA4B,EAC5B,MAAM,CAAC,gBAAgB,YACrB,GAAC,cAAc,GAAG,MAAM,CAAC,0BAA0B,IAAG,QAAQ,iBAC9D,GAAC,aAAa,GAAG,MAAM,CAAC,eAAe,IAAG,IAAI,CAAC,eAAe,KAAK,kCAAe,CAAC,OAAO,MAC7F,uBACkB,IAAI,2BACA,IAAI,0BACL,KAAK,EAC3B,IAAI,EAAE,UAAU,qBACC,sBAAsB,GAAG,MAAM;QAEhD,6BAAK,SAAS,EAAE,IAAA,eAAG,EAAC,uBAAuB,EAAE,MAAM,CAAC,WAAW,CAAC,EAAE,EAAE,EAAE,sBAAsB,GAAG,MAAM;YACnG,oBAAC,iBAAO,uBACF,IAAI,IACR,QAAQ,EAAE,IAAI,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,yBAAe,CAAC,IAAI,EAC5E,IAAI,EAAE,qBAAW,CAAC,MAAM,IACxB,CACE;QACN,oBAAC,mBAAU,IACT,OAAO,EAAE,iBAAiB,CAAC,YAAY,CAAC,EACxC,SAAS,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAC9D,SAAS,EAAE,IAAA,eAAG,EAAC,4BAA4B,EAAE,MAAM,CAAC,YAAY,CAAC,EACjE,SAAS,EAAE,qBAAqB,GAChC,CACE,CACP,CAAC;AACJ,CAAC,CAAC;AA3CW,QAAA,mBAAmB,uBA2C9B","sourcesContent":["import * as React from 'react';\n\nimport { css, getId } from '../../../../Utilities';\nimport { Persona, PersonaSize, PersonaPresence } from '../../../../Persona';\nimport { ValidationState } from '../../BasePicker.types';\nimport { IconButton } from '../../../../Button';\n\nimport * as stylesImport from './PickerItemsDefault.scss';\nimport type { IPeoplePickerItemSelectedProps } from './PeoplePickerItem.types';\n\nimport type { JSXElement } from '@fluentui/utilities';\n\nconst styles: any = stylesImport;\n\n/**\n * @deprecated Use `PeoplePickerItem` instead. Will be removed in \\>= 7.0.\n */\n\nexport const SelectedItemDefault: (props: IPeoplePickerItemSelectedProps) => JSXElement = (\n peoplePickerItemProps: IPeoplePickerItemSelectedProps,\n) => {\n const { item, onRemoveItem, index, selected, removeButtonAriaLabel } = peoplePickerItemProps;\n\n const itemId = getId();\n const onClickIconButton = (removeItem: (() => void) | undefined): (() => void) => {\n return (): void => {\n if (removeItem) {\n removeItem();\n }\n };\n };\n\n return (\n <div\n className={css(\n 'ms-PickerPersona-container',\n styles.personaContainer,\n { ['is-selected ' + styles.personaContainerIsSelected]: selected },\n { ['is-invalid ' + styles.validationError]: item.ValidationState === ValidationState.warning },\n )}\n data-is-focusable={true}\n data-is-sub-focuszone={true}\n data-selection-index={index}\n role={'listitem'}\n aria-labelledby={'selectedItemPersona-' + itemId}\n >\n <div className={css('ms-PickerItem-content', styles.itemContent)} id={'selectedItemPersona-' + itemId}>\n <Persona\n {...item}\n presence={item.presence !== undefined ? item.presence : PersonaPresence.none}\n size={PersonaSize.size28} // eslint-disable-line @typescript-eslint/no-deprecated\n />\n </div>\n <IconButton\n onClick={onClickIconButton(onRemoveItem)}\n iconProps={{ iconName: 'Cancel', style: { fontSize: '12px' } }}\n className={css('ms-PickerItem-removeButton', styles.removeButton)}\n ariaLabel={removeButtonAriaLabel}\n />\n </div>\n );\n};\n"]}
@@ -0,0 +1,11 @@
import type { IPersonaProps } from '../../../../Persona';
import type { IBasePickerSuggestionsProps } from '../../../../Pickers';
import type { JSXElement } from '@fluentui/utilities';
/**
* @deprecated Use `PeoplePickerItemSuggestion` instead. Will be removed in \>= 7.0.
*/
export declare const SuggestionItemNormal: (persona: IPersonaProps, suggestionProps?: IBasePickerSuggestionsProps) => JSXElement;
/**
* @deprecated Use `PeoplePickerItemSuggestion` with `compact` prop set to `true`. Will be removed in \>= 7.0.
*/
export declare const SuggestionItemSmall: (persona: IPersonaProps, suggestionProps?: IBasePickerSuggestionsProps) => JSXElement;
@@ -0,0 +1,26 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.SuggestionItemSmall = exports.SuggestionItemNormal = void 0;
var tslib_1 = require("tslib");
var React = require("react");
var Utilities_1 = require("../../../../Utilities");
var Persona_1 = require("../../../../Persona");
var stylesImport = require("./SuggestionItemDefault.scss");
var styles = stylesImport;
/**
* @deprecated Use `PeoplePickerItemSuggestion` instead. Will be removed in \>= 7.0.
*/
var SuggestionItemNormal = function (personaProps, suggestionItemProps) {
return (React.createElement("div", { className: (0, Utilities_1.css)('ms-PeoplePicker-personaContent', styles.peoplePickerPersonaContent) },
React.createElement(Persona_1.Persona, tslib_1.__assign({ presence: personaProps.presence !== undefined ? personaProps.presence : Persona_1.PersonaPresence.none, size: Persona_1.PersonaSize.size24, className: (0, Utilities_1.css)('ms-PeoplePicker-Persona', styles.peoplePickerPersona), showSecondaryText: true }, personaProps))));
};
exports.SuggestionItemNormal = SuggestionItemNormal;
/**
* @deprecated Use `PeoplePickerItemSuggestion` with `compact` prop set to `true`. Will be removed in \>= 7.0.
*/
var SuggestionItemSmall = function (personaProps, suggestionItemProps) {
return (React.createElement("div", { className: (0, Utilities_1.css)('ms-PeoplePicker-personaContent', styles.peoplePickerPersonaContent) },
React.createElement(Persona_1.Persona, tslib_1.__assign({ presence: personaProps.presence !== undefined ? personaProps.presence : Persona_1.PersonaPresence.none, size: Persona_1.PersonaSize.size24, className: (0, Utilities_1.css)('ms-PeoplePicker-Persona', styles.peoplePickerPersona) }, personaProps))));
};
exports.SuggestionItemSmall = SuggestionItemSmall;
//# sourceMappingURL=SuggestionItemDefault.js.map
@@ -0,0 +1 @@
{"version":3,"file":"SuggestionItemDefault.js","sourceRoot":"../src/","sources":["components/pickers/PeoplePicker/PeoplePickerItems/SuggestionItemDefault.tsx"],"names":[],"mappings":";;;;AAAA,6BAA+B;AAE/B,mDAA4C;AAC5C,+CAA4E;AAC5E,2DAA6D;AAM7D,IAAM,MAAM,GAAQ,YAAY,CAAC;AAEjC;;GAEG;AACI,IAAM,oBAAoB,GAGf,UAAC,YAA2B,EAAE,mBAA+C;IAC7F,OAAO,CACL,6BAAK,SAAS,EAAE,IAAA,eAAG,EAAC,gCAAgC,EAAE,MAAM,CAAC,0BAA0B,CAAC;QACtF,oBAAC,iBAAO,qBACN,QAAQ,EAAE,YAAY,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC,CAAC,yBAAe,CAAC,IAAI,EAC5F,IAAI,EAAE,qBAAW,CAAC,MAAM,EACxB,SAAS,EAAE,IAAA,eAAG,EAAC,yBAAyB,EAAE,MAAM,CAAC,mBAAmB,CAAC,EACrE,iBAAiB,EAAE,IAAI,IACnB,YAAY,EAChB,CACE,CACP,CAAC;AACJ,CAAC,CAAC;AAfW,QAAA,oBAAoB,wBAe/B;AAEF;;GAEG;AACI,IAAM,mBAAmB,GAGd,UAAC,YAA2B,EAAE,mBAA+C;IAC7F,OAAO,CACL,6BAAK,SAAS,EAAE,IAAA,eAAG,EAAC,gCAAgC,EAAE,MAAM,CAAC,0BAA0B,CAAC;QACtF,oBAAC,iBAAO,qBACN,QAAQ,EAAE,YAAY,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC,CAAC,yBAAe,CAAC,IAAI,EAC5F,IAAI,EAAE,qBAAW,CAAC,MAAM,EACxB,SAAS,EAAE,IAAA,eAAG,EAAC,yBAAyB,EAAE,MAAM,CAAC,mBAAmB,CAAC,IACjE,YAAY,EAChB,CACE,CACP,CAAC;AACJ,CAAC,CAAC;AAdW,QAAA,mBAAmB,uBAc9B","sourcesContent":["import * as React from 'react';\n\nimport { css } from '../../../../Utilities';\nimport { Persona, PersonaSize, PersonaPresence } from '../../../../Persona';\nimport * as stylesImport from './SuggestionItemDefault.scss';\nimport type { IPersonaProps } from '../../../../Persona';\nimport type { IBasePickerSuggestionsProps, ISuggestionItemProps } from '../../../../Pickers';\n\nimport type { JSXElement } from '@fluentui/utilities';\n\nconst styles: any = stylesImport;\n\n/**\n * @deprecated Use `PeoplePickerItemSuggestion` instead. Will be removed in \\>= 7.0.\n */\nexport const SuggestionItemNormal: (\n persona: IPersonaProps,\n suggestionProps?: IBasePickerSuggestionsProps,\n) => JSXElement = (personaProps: IPersonaProps, suggestionItemProps?: ISuggestionItemProps<any>) => {\n return (\n <div className={css('ms-PeoplePicker-personaContent', styles.peoplePickerPersonaContent)}>\n <Persona\n presence={personaProps.presence !== undefined ? personaProps.presence : PersonaPresence.none}\n size={PersonaSize.size24}\n className={css('ms-PeoplePicker-Persona', styles.peoplePickerPersona)}\n showSecondaryText={true}\n {...personaProps}\n />\n </div>\n );\n};\n\n/**\n * @deprecated Use `PeoplePickerItemSuggestion` with `compact` prop set to `true`. Will be removed in \\>= 7.0.\n */\nexport const SuggestionItemSmall: (\n persona: IPersonaProps,\n suggestionProps?: IBasePickerSuggestionsProps,\n) => JSXElement = (personaProps: IPersonaProps, suggestionItemProps?: ISuggestionItemProps<any>) => {\n return (\n <div className={css('ms-PeoplePicker-personaContent', styles.peoplePickerPersonaContent)}>\n <Persona\n presence={personaProps.presence !== undefined ? personaProps.presence : PersonaPresence.none}\n size={PersonaSize.size24}\n className={css('ms-PeoplePicker-Persona', styles.peoplePickerPersona)}\n {...personaProps}\n />\n </div>\n );\n};\n"]}
@@ -0,0 +1,2 @@
export declare const peoplePickerPersona = "peoplePickerPersona_37959c1f";
export declare const peoplePickerPersonaContent = "peoplePickerPersonaContent_37959c1f";
@@ -0,0 +1,9 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.peoplePickerPersonaContent = exports.peoplePickerPersona = void 0;
/* eslint-disable */
var load_themed_styles_1 = require("@microsoft/load-themed-styles");
(0, load_themed_styles_1.loadStyles)([{ "rawString": ".peoplePickerPersona_37959c1f{width:180px}.peoplePickerPersonaContent_37959c1f{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}" }]);
exports.peoplePickerPersona = "peoplePickerPersona_37959c1f";
exports.peoplePickerPersonaContent = "peoplePickerPersonaContent_37959c1f";
//# sourceMappingURL=SuggestionItemDefault.scss.js.map
@@ -0,0 +1 @@
{"version":3,"file":"SuggestionItemDefault.scss.js","sourceRoot":"../src/","sources":["components/pickers/PeoplePicker/PeoplePickerItems/SuggestionItemDefault.scss.ts"],"names":[],"mappings":";;;AAAA,oBAAoB;AACpB,oEAA2D;AAC3D,IAAA,+BAAU,EAAC,CAAC,EAAC,WAAW,EAAC,iTAAiT,EAAC,CAAC,CAAC,CAAC;AACjU,QAAA,mBAAmB,GAAG,8BAA8B,CAAC;AACrD,QAAA,0BAA0B,GAAG,qCAAqC,CAAC","sourcesContent":["/* eslint-disable */\nimport { loadStyles } from '@microsoft/load-themed-styles';\nloadStyles([{\"rawString\":\".peoplePickerPersona_37959c1f{width:180px}.peoplePickerPersonaContent_37959c1f{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 const peoplePickerPersona = \"peoplePickerPersona_37959c1f\";\nexport const peoplePickerPersonaContent = \"peoplePickerPersonaContent_37959c1f\";"]}