diff --git a/common/changes/@uifabric/experiments/signals_2018-03-29-18-33.json b/common/changes/@uifabric/experiments/signals_2018-03-29-18-33.json
new file mode 100644
index 0000000000000..aae5e2cf99274
--- /dev/null
+++ b/common/changes/@uifabric/experiments/signals_2018-03-29-18-33.json
@@ -0,0 +1,11 @@
+{
+ "changes": [
+ {
+ "comment": "Fix flex styling for SignalField",
+ "packageName": "@uifabric/experiments",
+ "type": "patch"
+ }
+ ],
+ "packageName": "@uifabric/experiments",
+ "email": "tmichon@microsoft.com"
+}
diff --git a/common/changes/@uifabric/experiments/signals_2018-03-29-20-23.json b/common/changes/@uifabric/experiments/signals_2018-03-29-20-23.json
new file mode 100644
index 0000000000000..7432c34b2fda0
--- /dev/null
+++ b/common/changes/@uifabric/experiments/signals_2018-03-29-20-23.json
@@ -0,0 +1,11 @@
+{
+ "changes": [
+ {
+ "packageName": "@uifabric/experiments",
+ "comment": "Pass all props to Signal Icon elements",
+ "type": "patch"
+ }
+ ],
+ "packageName": "@uifabric/experiments",
+ "email": "tmichon@microsoft.com"
+}
\ No newline at end of file
diff --git a/packages/experiments/src/components/signals/Signal.tsx b/packages/experiments/src/components/signals/Signal.tsx
index 6a14c2f929c74..909b23640cfc2 100644
--- a/packages/experiments/src/components/signals/Signal.tsx
+++ b/packages/experiments/src/components/signals/Signal.tsx
@@ -13,6 +13,7 @@ export const Signal: Signal = (props: ISignalProps): JSX.Element => {
const {
ariaLabel,
className,
+ children,
...spanProps
} = props;
diff --git a/packages/experiments/src/components/signals/SignalField.scss b/packages/experiments/src/components/signals/SignalField.scss
index 900627e612a12..d7d3944ee811f 100644
--- a/packages/experiments/src/components/signals/SignalField.scss
+++ b/packages/experiments/src/components/signals/SignalField.scss
@@ -21,5 +21,5 @@
overflow: hidden;
white-space: nowrap;
text-align: left;
- flex: 1;
+ flex: 1 1 auto;
}
diff --git a/packages/experiments/src/components/signals/Signals.tsx b/packages/experiments/src/components/signals/Signals.tsx
index 66844fbb0f90e..34590f4c326f9 100644
--- a/packages/experiments/src/components/signals/Signals.tsx
+++ b/packages/experiments/src/components/signals/Signals.tsx
@@ -1,6 +1,6 @@
import * as React from 'react';
-import { Icon } from 'office-ui-fabric-react/lib/Icon';
+import { Icon, IIconProps } from 'office-ui-fabric-react/lib/Icon';
import { css } from 'office-ui-fabric-react/lib/Utilities';
import { Signal, ISignalProps } from './Signal';
import * as SignalsStyles from './Signals.scss';
@@ -11,9 +11,9 @@ export * from './SignalField';
export const YouCheckedOutSignal: Signal = (props: ISignalProps): JSX.Element => {
return (
-
);
@@ -21,9 +21,9 @@ export const YouCheckedOutSignal: Signal = (props: ISignalProps): JSX.Element =>
export const BlockedSignal: Signal = (props: ISignalProps): JSX.Element => {
return (
-
);
@@ -31,9 +31,9 @@ export const BlockedSignal: Signal = (props: ISignalProps): JSX.Element => {
export const MissingMetadataSignal: Signal = (props: ISignalProps): JSX.Element => {
return (
-
);
@@ -41,9 +41,9 @@ export const MissingMetadataSignal: Signal = (props: ISignalProps): JSX.Element
export const WarningSignal: Signal = (props: ISignalProps): JSX.Element => {
return (
-
);
@@ -51,9 +51,9 @@ export const WarningSignal: Signal = (props: ISignalProps): JSX.Element => {
export const AwaitingApprovalSignal: Signal = (props: ISignalProps): JSX.Element => {
return (
-
);
@@ -61,9 +61,9 @@ export const AwaitingApprovalSignal: Signal = (props: ISignalProps): JSX.Element
export const TrendingSignal: Signal = (props: ISignalProps): JSX.Element => {
return (
-
);
@@ -71,9 +71,9 @@ export const TrendingSignal: Signal = (props: ISignalProps): JSX.Element => {
export const SomeoneCheckedOutSignal: Signal = (props: ISignalProps): JSX.Element => {
return (
-
);
@@ -81,9 +81,9 @@ export const SomeoneCheckedOutSignal: Signal = (props: ISignalProps): JSX.Elemen
export const RecordSignal: Signal = (props: ISignalProps): JSX.Element => {
return (
-
);
@@ -131,9 +131,9 @@ export const LiveEditSignal: Signal = (props: ISignalProps): JSX.Element => {
export const MentionSignal: Signal = (props: ISignalProps): JSX.Element => {
return (
-
);
@@ -176,9 +176,9 @@ export const CommentsSignal: Signal = (props: ISignalProps): JSX.Element => {
*/
export const UnseenReplySignal: Signal = (props: ISignalProps): JSX.Element => {
return (
-
);
@@ -186,9 +186,9 @@ export const UnseenReplySignal: Signal = (props: ISignalProps): JSX.Element => {
export const UnseenEditSignal: Signal = (props: ISignalProps): JSX.Element => {
return (
-
);
@@ -196,9 +196,9 @@ export const UnseenEditSignal: Signal = (props: ISignalProps): JSX.Element => {
export const ReadOnlySignal: Signal = (props: ISignalProps): JSX.Element => {
return (
-
);
@@ -206,9 +206,9 @@ export const ReadOnlySignal: Signal = (props: ISignalProps): JSX.Element => {
export const EmailedSignal: Signal = (props: ISignalProps): JSX.Element => {
return (
-
);
@@ -216,9 +216,9 @@ export const EmailedSignal: Signal = (props: ISignalProps): JSX.Element => {
export const SharedSignal: Signal = (props: ISignalProps): JSX.Element => {
return (
-
);
@@ -226,9 +226,9 @@ export const SharedSignal: Signal = (props: ISignalProps): JSX.Element => {
export const MalwareDetectedSignal: Signal = (props: ISignalProps): JSX.Element => {
return (
-
);
@@ -241,10 +241,37 @@ export const ATPSignal: Signal = MalwareDetectedSignal; // TODO Delete on next m
*/
export const ExternalSignal: Signal = (props: ISignalProps): JSX.Element => {
return (
-
);
};
+
+type IIconSignalProps = ISignalProps & Pick & {
+ /**
+ * The class name to use for the Signal type.
+ */
+ signalClass: string;
+};
+
+/**
+ * Renders a signal as just an Icon. This is the simplest Signal case.
+ */
+function IconSignal(props: IIconSignalProps): JSX.Element { // tslint:disable-line:function-name
+ const {
+ ariaLabel,
+ className,
+ signalClass,
+ ...spanProps
+ } = props;
+
+ return (
+
+ );
+}