Skip to content

Commit a08c6bf

Browse files
committed
chore: handle dismiss and actionable
1 parent 42e0c27 commit a08c6bf

3 files changed

Lines changed: 12 additions & 4 deletions

File tree

packages/fluentui/accessibility/src/behaviors/Pill/pillBehavior.ts

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,12 +15,12 @@ export const pillBehavior: Accessibility<PillBehaviorProps> = p => ({
1515
},
1616
keyActions: {
1717
root: {
18-
...(p.actionable && {
18+
...(p.dismissible && {
1919
performDismiss: {
2020
keyCombinations: [{ keyCode: keyboardKey.Delete }, { keyCode: keyboardKey.Backspace }],
2121
},
2222
}),
23-
...(p.selectable && {
23+
...((p.selectable || p.actionable) && {
2424
performClick: {
2525
keyCombinations: [{ keyCode: keyboardKey.Enter }, { keyCode: SpacebarKey }],
2626
},
@@ -34,4 +34,5 @@ export type PillBehaviorProps = {
3434
selectable: boolean;
3535
selected: boolean;
3636
role: AriaRole;
37+
dismissible: boolean;
3738
};

packages/fluentui/react-northstar/src/components/Pill/Pill.tsx

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -111,7 +111,7 @@ export interface PillProps extends UIComponentProps, ContentComponentProps<Short
111111
}
112112

113113
export type PillStylesProps = Required<
114-
Pick<PillProps, 'appearance' | 'size' | 'rectangular' | 'disabled' | 'selectable' | 'selected'>
114+
Pick<PillProps, 'appearance' | 'size' | 'rectangular' | 'disabled' | 'selectable' | 'selected' | 'actionable'>
115115
>;
116116

117117
export const pillClassName = 'ui-pill';
@@ -144,6 +144,7 @@ export const Pill = (React.forwardRef<HTMLSpanElement, PillProps>((props, ref) =
144144
selectable,
145145
selectedIndicator,
146146
role,
147+
onDismiss,
147148
} = props;
148149

149150
const [selected, setSelected] = useAutoControlled({
@@ -178,6 +179,7 @@ export const Pill = (React.forwardRef<HTMLSpanElement, PillProps>((props, ref) =
178179
selectable,
179180
selected,
180181
role,
182+
dismissible: Boolean(onDismiss),
181183
}),
182184
rtl: context.rtl,
183185
});
@@ -191,6 +193,7 @@ export const Pill = (React.forwardRef<HTMLSpanElement, PillProps>((props, ref) =
191193
disabled,
192194
selectable,
193195
selected,
196+
actionable,
194197
}),
195198
mapPropsToInlineStyles: () => ({
196199
className,
@@ -242,7 +245,7 @@ export const Pill = (React.forwardRef<HTMLSpanElement, PillProps>((props, ref) =
242245
actionable,
243246
}),
244247
})}
245-
{actionable &&
248+
{Boolean(onDismiss) &&
246249
createShorthand(PillAction, action || {}, {
247250
overrideProps: (prevProps: PillActionProps & { onClick: (e: React.MouseEvent) => void }) => ({
248251
onClick: e => {

packages/fluentui/react-northstar/src/themes/teams/components/Pill/pillStyles.ts

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -82,6 +82,10 @@ export const pillStyles: ComponentSlotStylesPrepared<PillStylesProps, PillVariab
8282
}),
8383
}),
8484

85+
...(p.actionable && {
86+
cursor: 'pointer',
87+
}),
88+
8589
...getBorderFocusStyles({ variables: siteVariables }),
8690
};
8791
},

0 commit comments

Comments
 (0)