@kwiz/fluentui 1.0.65 → 1.0.67
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/controls/button.d.ts +2 -0
- package/dist/controls/button.js +5 -0
- package/dist/controls/button.js.map +1 -1
- package/dist/helpers/context-export.js +4 -1
- package/dist/helpers/context-export.js.map +1 -1
- package/dist/helpers/hooks-events.js +19 -27
- package/dist/helpers/hooks-events.js.map +1 -1
- package/dist/helpers/hooks.d.ts +6 -4
- package/dist/helpers/hooks.js +33 -13
- package/dist/helpers/hooks.js.map +1 -1
- package/package.json +1 -1
- package/src/controls/button.tsx +7 -0
- package/src/helpers/context-export.tsx +5 -2
- package/src/helpers/hooks-events.ts +22 -25
- package/src/helpers/hooks.tsx +33 -16
@@ -17,6 +17,8 @@ export type ButtonEXProps = IProps & Omit<ButtonProps, "onClick" | "title">;
|
|
17
17
|
export type CompoundButtonEXProps = IPropsCompound & Omit<CompoundButtonProps, "onClick" | "title">;
|
18
18
|
export declare const ButtonEX: (props: IProps & Omit<ButtonProps, "title" | "onClick"> & React.RefAttributes<HTMLButtonElement>) => React.JSX.Element | null;
|
19
19
|
export declare const ButtonEXSecondary: (props: IProps & Omit<ButtonProps, "title" | "onClick"> & React.RefAttributes<HTMLButtonElement>) => React.JSX.Element | null;
|
20
|
+
/** to be used in MessageBarActions for prominent actions. Otherwise use ButtonEX or ButtonEXDangerSubtle */
|
21
|
+
export declare const ButtonEXMessageBarAction: (props: IProps & Omit<ButtonProps, "title" | "onClick"> & React.RefAttributes<HTMLButtonElement>) => React.JSX.Element | null;
|
20
22
|
export declare const ButtonEXPrimary: (props: IProps & Omit<ButtonProps, "title" | "onClick"> & React.RefAttributes<HTMLButtonElement>) => React.JSX.Element | null;
|
21
23
|
export declare const ButtonEXDanger: (props: IProps & Omit<ButtonProps, "title" | "onClick"> & React.RefAttributes<HTMLButtonElement>) => React.JSX.Element | null;
|
22
24
|
export declare const ButtonEXSuccess: (props: IProps & Omit<ButtonProps, "title" | "onClick"> & React.RefAttributes<HTMLButtonElement>) => React.JSX.Element | null;
|
package/dist/controls/button.js
CHANGED
@@ -73,6 +73,11 @@ export const ButtonEXSecondary = React.forwardRef((props, ref) => {
|
|
73
73
|
const ctx = useKWIZFluentContext();
|
74
74
|
return (_jsx(ButtonEX, Object.assign({ ref: ref, appearance: 'secondary', shape: ctx.buttonShape }, props)));
|
75
75
|
});
|
76
|
+
/** to be used in MessageBarActions for prominent actions. Otherwise use ButtonEX or ButtonEXDangerSubtle */
|
77
|
+
export const ButtonEXMessageBarAction = React.forwardRef((props, ref) => {
|
78
|
+
const ctx = useKWIZFluentContext();
|
79
|
+
return (_jsx(ButtonEX, Object.assign({ ref: ref, appearance: 'secondary', hideOnPrint: true }, props)));
|
80
|
+
});
|
76
81
|
export const ButtonEXPrimary = React.forwardRef((props, ref) => {
|
77
82
|
return (_jsx(ButtonEXSecondary, Object.assign({ ref: ref, appearance: 'primary' }, props, { children: props.children })));
|
78
83
|
});
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"button.js","sourceRoot":"","sources":["../../src/controls/button.tsx"],"names":[],"mappings":"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"}
|
1
|
+
{"version":3,"file":"button.js","sourceRoot":"","sources":["../../src/controls/button.tsx"],"names":[],"mappings":"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"}
|
@@ -9,7 +9,10 @@ const logger = GetLogger("KWIZFluentContextProvider");
|
|
9
9
|
const useContextStyles = makeStyles({
|
10
10
|
root: {
|
11
11
|
"& *": {
|
12
|
-
scrollbarWidth: "thin"
|
12
|
+
scrollbarWidth: "thin",
|
13
|
+
//if we can make sure this applies only to fui-FluentProvider, do this too, since public forms might take over the entire page we don't want to to affect other sites:
|
14
|
+
//maybe make KWIZFluentProvider automatically wrap in a root and apply to it
|
15
|
+
//scrollbarColor: `${tokens.colorBrandForeground2} ${tokens.colorBrandBackground2}`
|
13
16
|
},
|
14
17
|
[`& .${KnownClassNames.printShow}`]: {
|
15
18
|
'@media print': {
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"context-export.js","sourceRoot":"","sources":["../../src/helpers/context-export.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,gBAAgB,EAAE,UAAU,
|
1
|
+
{"version":3,"file":"context-export.js","sourceRoot":"","sources":["../../src/helpers/context-export.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,gBAAgB,EAAE,UAAU,EAAU,MAAM,4BAA4B,CAAC;AAClF,OAAc,EAAqB,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACtE,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC/C,OAAO,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAC5C,OAAO,EAAsB,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AACxE,OAAO,EAAE,uBAAuB,EAAE,MAAM,aAAa,CAAC;AAEtD,MAAM,MAAM,GAAG,SAAS,CAAC,2BAA2B,CAAC,CAAC;AACtD,MAAM,gBAAgB,GAAG,UAAU,CAAC;IAChC,IAAI,EAAE;QACF,KAAK,EAAE;YACH,cAAc,EAAE,MAAM;YACtB,sKAAsK;YACtK,4EAA4E;YAC5E,mFAAmF;SACtF;QACD,CAAC,MAAM,eAAe,CAAC,SAAS,EAAE,CAAC,EAAE;YACjC,cAAc,EAAE;gBACZ,OAAO,EAAE,OAAO;aACnB;SACJ;QACD,CAAC,MAAM,eAAe,CAAC,SAAS,EAAE,CAAC,EAAE;YACjC,cAAc,EAAE;gBACZ,OAAO,EAAE,iBAAiB;aAC7B;SACJ;KACJ;CACJ,CAAC,CAAC;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,gBAAgB,CAAC;IAC5C,CAAC,IAAI,eAAe,CAAC,SAAS,EAAE,CAAC,EAAE;QAC/B,OAAO,EAAE,MAAM;KAClB;IACD,CAAC,QAAQ,eAAe,CAAC,KAAK,KAAK,eAAe,CAAC,SAAS,EAAE,CAAC,EAAE;QAC7D,OAAO,EAAE,iBAAiB;KAC7B;IACD,CAAC,QAAQ,eAAe,CAAC,KAAK,KAAK,eAAe,CAAC,SAAS,EAAE,CAAC,EAAE;QAC7D,OAAO,EAAE,OAAO;KACnB;CACJ,CAAC,CAAC;AAEH,2FAA2F;AAC3F,MAAM,UAAU,4BAA4B,CAAC,OAG5C;IACG,eAAe,EAAE,CAAC;IAClB,MAAM,OAAO,GAAG,gBAAgB,EAAE,CAAC;IACnC,IAAI,CAAC,GAAuB,OAAO,IAAI,OAAO,CAAC,GAAG,IAAI,EAAE,CAAC;IACzD,MAAM,CAAC,iBAAiB,EAAE,oBAAoB,CAAC,GAAG,QAAQ,CAAqB,CAAC,CAAC,CAAC;IAClF,SAAS,CAAC,GAAG,EAAE;;QACX,IAAI,MAAA,OAAO,CAAC,IAAI,0CAAE,OAAO;YAAE,MAAM,CAAC,IAAI,CAAC,2JAA2J,CAAC,CAAC;QACpM,IAAI,SAAS,GAAG,CAAA,MAAA,OAAO,CAAC,IAAI,0CAAE,OAAO,KAAI,QAAQ,CAAC,IAAI,CAAC;QACvD,SAAS,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;QACpD,kEAAkE;QAClE,8DAA8D;QAC9D,oBAAoB,iCACb,CAAC,KACJ,SAAS,EAAE,MAAA,OAAO,CAAC,IAAI,0CAAE,OAAO,IAClC,CAAC;IACP,CAAC,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;IACnB,OAAO;QACH,iBAAiB;QACjB,KAAK,EAAE,iBAAiB;KAC3B,CAAC;AACN,CAAC;AAED,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,KAEjC,EAAE,EAAE;IAEF,MAAM,EAAE,GAAG,4BAA4B,CAAC,EAAE,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC;IAE5D,OAAO,KAAC,EAAE,CAAC,iBAAiB,CAAC,QAAQ,IAAC,KAAK,EAAE,EAAE,CAAC,KAAK,YACjD,KAAC,uBAAuB,cACnB,KAAK,CAAC,QAAQ,GACO,GACE,CAAC;AACrC,CAAC,CAAA"}
|
@@ -83,47 +83,39 @@ export function useElementSize(elm) {
|
|
83
83
|
return elmSize;
|
84
84
|
}
|
85
85
|
export function useIsInPrint() {
|
86
|
-
// Initialize state with
|
87
|
-
const [printMode, setPrintMode] = useState(false);
|
86
|
+
// Initialize state with media query
|
87
|
+
const [printMode, setPrintMode] = useState(window.matchMedia ? window.matchMedia('print').matches : false);
|
88
88
|
useEffect(() => {
|
89
|
-
|
89
|
+
if (printMode)
|
90
|
+
document.body.classList.add(KnownClassNames.print);
|
91
|
+
else
|
92
|
+
document.body.classList.remove(KnownClassNames.print);
|
93
|
+
}, [printMode]);
|
94
|
+
useEffect(() => {
|
95
|
+
const forcePrintOn = () => setPrintMode(true);
|
96
|
+
const forcePrintOff = () => setPrintMode(false);
|
97
|
+
function printDebugHelper(e) {
|
90
98
|
if (e.ctrlKey && e.shiftKey && e.altKey) {
|
91
99
|
if (e.key.toLocaleLowerCase() === "q") {
|
92
|
-
|
93
|
-
handlePrint(e, false);
|
100
|
+
forcePrintOff();
|
94
101
|
}
|
95
102
|
else {
|
96
103
|
console.warn('forced print mode - to exit refresh to ctrl+shift+alt+q');
|
97
|
-
|
98
|
-
handlePrint(e, true);
|
99
|
-
}
|
100
|
-
}
|
101
|
-
}
|
102
|
-
// Handler to call on printing
|
103
|
-
function handlePrint(e, force) {
|
104
|
-
if (force === true)
|
105
|
-
setPrintMode(true);
|
106
|
-
else if (window.matchMedia) {
|
107
|
-
var mediaQueryList = window.matchMedia('print');
|
108
|
-
if (mediaQueryList.matches) {
|
109
|
-
setPrintMode(true);
|
110
|
-
}
|
111
|
-
else {
|
112
|
-
setPrintMode(false);
|
104
|
+
forcePrintOn();
|
113
105
|
}
|
114
106
|
}
|
115
107
|
}
|
116
108
|
// Add event listener
|
117
|
-
window.addEventListener("
|
109
|
+
window.addEventListener("beforeprint", forcePrintOn);
|
110
|
+
window.addEventListener("afterprint", forcePrintOff);
|
118
111
|
if (isDebug())
|
119
|
-
window.addEventListener("keydown",
|
120
|
-
// Call handler right away so state gets updated with initial printing state
|
121
|
-
handlePrint();
|
112
|
+
window.addEventListener("keydown", printDebugHelper);
|
122
113
|
// Remove event listener on cleanup
|
123
114
|
return () => {
|
124
|
-
window.removeEventListener("
|
115
|
+
window.removeEventListener("beforeprint", forcePrintOn);
|
116
|
+
window.removeEventListener("afterprint", forcePrintOff);
|
125
117
|
if (isDebug())
|
126
|
-
window.removeEventListener("keydown",
|
118
|
+
window.removeEventListener("keydown", printDebugHelper);
|
127
119
|
};
|
128
120
|
}, useEffectOnlyOnMount);
|
129
121
|
return printMode;
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"hooks-events.js","sourceRoot":"","sources":["../../src/helpers/hooks-events.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AACnD,OAAO,EAAoB,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACtE,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,EAAE,oBAAoB,EAAE,MAAM,SAAS,CAAC;AAE/C,MAAM,UAAU,aAAa,CAA8B,KAAwF;IAC/I,MAAM,UAAU,GAA8B,KAAK,CAAC,GAAG,IAAI,MAAM,CAAiB,IAAI,CAAQ,CAAC;IAC/F,SAAS,CAAC,GAAG,EAAE;QACX,SAAS,OAAO,CAAC,CAAa;YAC1B,IAAI,GAAG,GAAG,CAAC,CAAC,MAAqB,CAAC,CAAA,yBAAyB;YAC3D,IAAI,UAAU,CAAC,OAAO,EAAE,CAAC;gBACrB,OAAO,GAAG,IAAI,GAAG,KAAK,UAAU,CAAC,OAAO,EAAE,CAAC;oBACvC,GAAG,GAAG,GAAG,CAAC,aAAa,CAAC;gBAC5B,CAAC;YACL,CAAC;;gBAAM,GAAG,GAAG,IAAI,CAAC;YAClB,IAAI,UAAU,CAAC,OAAO,IAAI,GAAG,KAAK,UAAU,CAAC,OAAO;gBAAE,KAAK,CAAC,OAAO,EAAE,CAAC;;gBACjE,KAAK,CAAC,WAAW,EAAE,CAAC;QAC7B,CAAC;QAED,IAAI,UAAU,CAAC,OAAO,EAAE,CAAC;YACrB,IAAI,UAAU,CAAC,OAAO;gBAAE,UAAU,CAAC,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;YACxD,MAAM,CAAC,gBAAgB,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;YAC5C,mCAAmC;YACnC,OAAO,GAAG,EAAE,CAAC,MAAM,CAAC,mBAAmB,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;QAChE,CAAC;IACL,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC;IACzB,OAAO,UAAU,CAAC;AACtB,CAAC;AACD,MAAM,UAAU,aAAa;IACzB,kFAAkF;IAClF,4EAA4E;IAC5E,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,GAAG,QAAQ,CAGzC;QACC,KAAK,EAAE,SAAS;QAChB,MAAM,EAAE,SAAS;KACpB,CAAC,CAAC;IACH,SAAS,CAAC,GAAG,EAAE;QACX,mCAAmC;QACnC,SAAS,YAAY;YAEjB,mCAAmC;YACnC,aAAa,CAAC;gBACV,KAAK,EAAE,MAAM,CAAC,UAAU;gBACxB,MAAM,EAAE,MAAM,CAAC,WAAW;aAC7B,CAAC,CAAC;QACP,CAAC;QACD,qBAAqB;QACrB,MAAM,CAAC,gBAAgB,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;QAChD,yEAAyE;QACzE,YAAY,EAAE,CAAC;QACf,mCAAmC;QACnC,OAAO,GAAG,EAAE,CAAC,MAAM,CAAC,mBAAmB,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;IACpE,CAAC,EAAE,oBAAoB,CAAC,CAAC;IACzB,OAAO,UAAU,CAAC;AACtB,CAAC;AACD,MAAM,UAAU,cAAc,CAAC,GAAgB;IAC3C,kFAAkF;IAClF,4EAA4E;IAC5E,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,QAAQ,CAGnC;QACC,KAAK,EAAE,SAAS;QAChB,MAAM,EAAE,SAAS;KACpB,CAAC,CAAC;IACH,SAAS,CAAC,GAAG,EAAE;QACX,IAAI,GAAG,EAAE,CAAC;YACN,gCAAgC;YAChC,SAAS,YAAY;gBACjB,gCAAgC;gBAChC,UAAU,CAAC;oBACP,KAAK,EAAE,CAAC,GAAG,YAAY,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG,CAAC,WAAW;oBACjE,MAAM,EAAE,CAAC,GAAG,YAAY,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,GAAG,CAAC,YAAY;iBACvE,CAAC,CAAC;YACP,CAAC;YACD,qBAAqB;YACrB,MAAM,QAAQ,GAAG,IAAI,cAAc,CAAC,YAAY,CAAC,CAAC;YAClD,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;YACtB,sEAAsE;YACtE,YAAY,EAAE,CAAC;YACf,mCAAmC;YACnC,OAAO,GAAG,EAAE,CAAC,QAAQ,CAAC,UAAU,EAAE,CAAC;QACvC,CAAC;IACL,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACV,OAAO,OAAO,CAAC;AACnB,CAAC;AACD,MAAM,UAAU,YAAY;IACxB,
|
1
|
+
{"version":3,"file":"hooks-events.js","sourceRoot":"","sources":["../../src/helpers/hooks-events.ts"],"names":[],"mappings":"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"}
|
package/dist/helpers/hooks.d.ts
CHANGED
@@ -1,18 +1,19 @@
|
|
1
1
|
import { MutableRefObject, SetStateAction } from "react";
|
2
2
|
/** Empty array ensures that effect is only run on mount */
|
3
3
|
export declare const useEffectOnlyOnMount: any[];
|
4
|
-
|
5
|
-
export declare function useStateEX<ValueType>(initialValue: ValueType, options?: {
|
4
|
+
type stateExOptions<ValueType> = {
|
6
5
|
onChange?: (newValue: SetStateAction<ValueType>, isValueChanged: boolean) => SetStateAction<ValueType>;
|
7
6
|
skipUpdateIfSame?: boolean;
|
8
7
|
name?: string;
|
9
|
-
}
|
8
|
+
};
|
9
|
+
/** set state on steroids. provide promise callback after render, onChange transformer and automatic skip-set when value not changed */
|
10
|
+
export declare function useStateEX<ValueType>(initialValue: ValueType, options?: stateExOptions<ValueType>): [
|
10
11
|
ValueType,
|
11
12
|
(newValue: SetStateAction<ValueType>) => Promise<ValueType>,
|
12
13
|
MutableRefObject<ValueType>
|
13
14
|
];
|
14
15
|
/** use a ref, that can be tracked as useEffect dependency */
|
15
|
-
export declare function useRefWithState<T>(initialValue?: T): {
|
16
|
+
export declare function useRefWithState<T>(initialValue?: T, stateOptions?: stateExOptions<T>): {
|
16
17
|
/** pure ref object */
|
17
18
|
ref: MutableRefObject<T>;
|
18
19
|
/** use the value in useEffect dependency */
|
@@ -20,3 +21,4 @@ export declare function useRefWithState<T>(initialValue?: T): {
|
|
20
21
|
/** set it by ref={e.set} */
|
21
22
|
set: (newValue: T) => void;
|
22
23
|
};
|
24
|
+
export {};
|
package/dist/helpers/hooks.js
CHANGED
@@ -3,6 +3,26 @@ import { useCallback, useEffect, useRef, useState } from "react";
|
|
3
3
|
import { GetLogger } from "../_modules/config";
|
4
4
|
/** Empty array ensures that effect is only run on mount */
|
5
5
|
export const useEffectOnlyOnMount = [];
|
6
|
+
function extractStringValue(e) {
|
7
|
+
try {
|
8
|
+
if (e instanceof HTMLElement)
|
9
|
+
return e.outerHTML;
|
10
|
+
}
|
11
|
+
catch (e) { }
|
12
|
+
try {
|
13
|
+
let json = jsonStringify(e);
|
14
|
+
if (json === "{}")
|
15
|
+
return Object.keys(e).join(); //maybe just object with functions, no members or values
|
16
|
+
else
|
17
|
+
return json;
|
18
|
+
}
|
19
|
+
catch (e) { }
|
20
|
+
try {
|
21
|
+
return e.toString();
|
22
|
+
}
|
23
|
+
catch (e) { }
|
24
|
+
return '';
|
25
|
+
}
|
6
26
|
/** set state on steroids. provide promise callback after render, onChange transformer and automatic skip-set when value not changed */
|
7
27
|
export function useStateEX(initialValue, options) {
|
8
28
|
options = options || {};
|
@@ -38,19 +58,19 @@ export function useStateEX(initialValue, options) {
|
|
38
58
|
}
|
39
59
|
}, [value, resolveState.current]);
|
40
60
|
function getIsValueChanged(newValue) {
|
41
|
-
|
61
|
+
let result;
|
62
|
+
if (!objectsEqual(newValue, currentValue.current)) {
|
63
|
+
result = true;
|
64
|
+
}
|
65
|
+
else {
|
66
|
+
result = false;
|
67
|
+
}
|
68
|
+
return logger.groupSync(result ? 'value changed' : 'value not changed', log => {
|
42
69
|
if (logger.getLevel() === LoggerLevel.VERBOSE) {
|
43
|
-
log('old: ' +
|
44
|
-
log('new: ' +
|
45
|
-
}
|
46
|
-
if (!objectsEqual(newValue, currentValue.current)) {
|
47
|
-
log(`value changed`);
|
48
|
-
return true;
|
49
|
-
}
|
50
|
-
else {
|
51
|
-
log(`value unchanged`);
|
52
|
-
return false;
|
70
|
+
log('old: ' + extractStringValue(currentValue.current));
|
71
|
+
log('new: ' + extractStringValue(newValue));
|
53
72
|
}
|
73
|
+
return result;
|
54
74
|
});
|
55
75
|
}
|
56
76
|
;
|
@@ -87,9 +107,9 @@ export function useStateEX(initialValue, options) {
|
|
87
107
|
return [value, setValue, currentValue];
|
88
108
|
}
|
89
109
|
/** use a ref, that can be tracked as useEffect dependency */
|
90
|
-
export function useRefWithState(initialValue) {
|
110
|
+
export function useRefWithState(initialValue, stateOptions = { skipUpdateIfSame: true, name: "useRefWithState" }) {
|
91
111
|
let asRef = useRef(initialValue);
|
92
|
-
let [asState, setState] =
|
112
|
+
let [asState, setState] = useStateEX(initialValue, stateOptions);
|
93
113
|
let setRef = useCallback((newValue) => {
|
94
114
|
asRef.current = newValue;
|
95
115
|
setState(newValue);
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"hooks.js","sourceRoot":"","sources":["../../src/helpers/hooks.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,eAAe,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,SAAS,EAAE,aAAa,EAAE,WAAW,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AACrK,OAAO,EAAoC,WAAW,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACnG,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAE/C,2DAA2D;AAC3D,MAAM,CAAC,MAAM,oBAAoB,GAAG,EAAE,CAAC;
|
1
|
+
{"version":3,"file":"hooks.js","sourceRoot":"","sources":["../../src/helpers/hooks.tsx"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
package/src/controls/button.tsx
CHANGED
@@ -111,6 +111,13 @@ export const ButtonEXSecondary = React.forwardRef<HTMLButtonElement, (ButtonEXPr
|
|
111
111
|
<ButtonEX ref={ref} appearance='secondary' shape={ctx.buttonShape} {...props}></ButtonEX>
|
112
112
|
);
|
113
113
|
});
|
114
|
+
/** to be used in MessageBarActions for prominent actions. Otherwise use ButtonEX or ButtonEXDangerSubtle */
|
115
|
+
export const ButtonEXMessageBarAction = React.forwardRef<HTMLButtonElement, (ButtonEXProps)>((props, ref) => {
|
116
|
+
const ctx = useKWIZFluentContext();
|
117
|
+
return (
|
118
|
+
<ButtonEX ref={ref} appearance='secondary' hideOnPrint {...props}></ButtonEX>
|
119
|
+
);
|
120
|
+
});
|
114
121
|
export const ButtonEXPrimary = React.forwardRef<HTMLButtonElement, (ButtonEXProps)>((props, ref) => {
|
115
122
|
return (
|
116
123
|
<ButtonEXSecondary ref={ref} appearance='primary' {...props}>{props.children}</ButtonEXSecondary>
|
@@ -1,4 +1,4 @@
|
|
1
|
-
import { makeStaticStyles, makeStyles } from "@fluentui/react-components";
|
1
|
+
import { makeStaticStyles, makeStyles, tokens } from "@fluentui/react-components";
|
2
2
|
import React, { PropsWithChildren, useEffect, useState } from "react";
|
3
3
|
import { GetLogger } from "../_modules/config";
|
4
4
|
import { KnownClassNames } from "../styles";
|
@@ -9,7 +9,10 @@ const logger = GetLogger("KWIZFluentContextProvider");
|
|
9
9
|
const useContextStyles = makeStyles({
|
10
10
|
root: {
|
11
11
|
"& *": {
|
12
|
-
scrollbarWidth: "thin"
|
12
|
+
scrollbarWidth: "thin",
|
13
|
+
//if we can make sure this applies only to fui-FluentProvider, do this too, since public forms might take over the entire page we don't want to to affect other sites:
|
14
|
+
//maybe make KWIZFluentProvider automatically wrap in a root and apply to it
|
15
|
+
//scrollbarColor: `${tokens.colorBrandForeground2} ${tokens.colorBrandBackground2}`
|
13
16
|
},
|
14
17
|
[`& .${KnownClassNames.printShow}`]: {
|
15
18
|
'@media print': {
|
@@ -87,45 +87,42 @@ export function useElementSize(elm: HTMLElement) {
|
|
87
87
|
return elmSize;
|
88
88
|
}
|
89
89
|
export function useIsInPrint() {
|
90
|
-
// Initialize state with
|
91
|
-
const [printMode, setPrintMode] = useState<boolean>(false);
|
90
|
+
// Initialize state with media query
|
91
|
+
const [printMode, setPrintMode] = useState<boolean>(window.matchMedia ? window.matchMedia('print').matches : false);
|
92
92
|
useEffect(() => {
|
93
|
-
|
93
|
+
if (printMode)
|
94
|
+
document.body.classList.add(KnownClassNames.print);
|
95
|
+
else
|
96
|
+
document.body.classList.remove(KnownClassNames.print);
|
97
|
+
}, [printMode]);
|
98
|
+
|
99
|
+
useEffect(() => {
|
100
|
+
const forcePrintOn = () => setPrintMode(true);
|
101
|
+
const forcePrintOff = () => setPrintMode(false);
|
102
|
+
|
103
|
+
function printDebugHelper(e: KeyboardEvent) {
|
94
104
|
if (e.ctrlKey && e.shiftKey && e.altKey) {
|
95
105
|
if (e.key.toLocaleLowerCase() === "q") {
|
96
|
-
|
97
|
-
handlePrint(e, false);
|
106
|
+
forcePrintOff();
|
98
107
|
}
|
99
108
|
else {
|
100
109
|
console.warn('forced print mode - to exit refresh to ctrl+shift+alt+q');
|
101
|
-
|
102
|
-
handlePrint(e, true);
|
103
|
-
}
|
104
|
-
}
|
105
|
-
}
|
106
|
-
// Handler to call on printing
|
107
|
-
function handlePrint(e?: Event, force?: boolean) {
|
108
|
-
if (force === true) setPrintMode(true);
|
109
|
-
else if (window.matchMedia) {
|
110
|
-
var mediaQueryList = window.matchMedia('print');
|
111
|
-
if (mediaQueryList.matches) {
|
112
|
-
setPrintMode(true);
|
113
|
-
} else {
|
114
|
-
setPrintMode(false);
|
110
|
+
forcePrintOn();
|
115
111
|
}
|
116
112
|
}
|
117
113
|
}
|
114
|
+
|
118
115
|
// Add event listener
|
119
|
-
window.addEventListener("
|
116
|
+
window.addEventListener("beforeprint", forcePrintOn);
|
117
|
+
window.addEventListener("afterprint", forcePrintOff);
|
120
118
|
if (isDebug())
|
121
|
-
window.addEventListener("keydown",
|
122
|
-
// Call handler right away so state gets updated with initial printing state
|
123
|
-
handlePrint();
|
119
|
+
window.addEventListener("keydown", printDebugHelper);
|
124
120
|
// Remove event listener on cleanup
|
125
121
|
return () => {
|
126
|
-
window.removeEventListener("
|
122
|
+
window.removeEventListener("beforeprint", forcePrintOn);
|
123
|
+
window.removeEventListener("afterprint", forcePrintOff);
|
127
124
|
if (isDebug())
|
128
|
-
window.removeEventListener("keydown",
|
125
|
+
window.removeEventListener("keydown", printDebugHelper);
|
129
126
|
};
|
130
127
|
}, useEffectOnlyOnMount);
|
131
128
|
return printMode;
|
package/src/helpers/hooks.tsx
CHANGED
@@ -5,14 +5,30 @@ import { GetLogger } from "../_modules/config";
|
|
5
5
|
/** Empty array ensures that effect is only run on mount */
|
6
6
|
export const useEffectOnlyOnMount = [];
|
7
7
|
|
8
|
-
|
9
|
-
export function useStateEX<ValueType>(initialValue: ValueType, options?: {
|
8
|
+
type stateExOptions<ValueType> = {
|
10
9
|
onChange?: (newValue: SetStateAction<ValueType>, isValueChanged: boolean) => SetStateAction<ValueType>;
|
11
10
|
//will not set state if value did not change
|
12
11
|
skipUpdateIfSame?: boolean;
|
13
12
|
//optional, provide a name for better logging
|
14
13
|
name?: string;
|
15
|
-
}
|
14
|
+
};
|
15
|
+
function extractStringValue(e: any) {
|
16
|
+
try {
|
17
|
+
if (e instanceof HTMLElement)
|
18
|
+
return e.outerHTML;
|
19
|
+
} catch (e) { }
|
20
|
+
try {
|
21
|
+
let json = jsonStringify(e);
|
22
|
+
if (json === "{}") return Object.keys(e).join();//maybe just object with functions, no members or values
|
23
|
+
else return json;
|
24
|
+
} catch (e) { }
|
25
|
+
try {
|
26
|
+
return e.toString();
|
27
|
+
} catch (e) { }
|
28
|
+
return '';
|
29
|
+
}
|
30
|
+
/** set state on steroids. provide promise callback after render, onChange transformer and automatic skip-set when value not changed */
|
31
|
+
export function useStateEX<ValueType>(initialValue: ValueType, options?: stateExOptions<ValueType>):
|
16
32
|
[ValueType, (newValue: SetStateAction<ValueType>) => Promise<ValueType>, MutableRefObject<ValueType>] {
|
17
33
|
options = options || {};
|
18
34
|
const name = options.name || '';
|
@@ -53,19 +69,20 @@ export function useStateEX<ValueType>(initialValue: ValueType, options?: {
|
|
53
69
|
}, [value, resolveState.current]);
|
54
70
|
|
55
71
|
function getIsValueChanged(newValue: ValueType): boolean {
|
56
|
-
|
72
|
+
let result: boolean;
|
73
|
+
if (!objectsEqual(newValue as object, currentValue.current as object)) {
|
74
|
+
result = true;
|
75
|
+
}
|
76
|
+
else {
|
77
|
+
result = false;
|
78
|
+
}
|
79
|
+
|
80
|
+
return logger.groupSync(result ? 'value changed' : 'value not changed', log => {
|
57
81
|
if (logger.getLevel() === LoggerLevel.VERBOSE) {
|
58
|
-
log('old: ' +
|
59
|
-
log('new: ' +
|
60
|
-
}
|
61
|
-
if (!objectsEqual(newValue as object, currentValue.current as object)) {
|
62
|
-
log(`value changed`);
|
63
|
-
return true;
|
64
|
-
}
|
65
|
-
else {
|
66
|
-
log(`value unchanged`);
|
67
|
-
return false;
|
82
|
+
log('old: ' + extractStringValue(currentValue.current));
|
83
|
+
log('new: ' + extractStringValue(newValue));
|
68
84
|
}
|
85
|
+
return result;
|
69
86
|
});
|
70
87
|
};
|
71
88
|
|
@@ -107,9 +124,9 @@ export function useStateEX<ValueType>(initialValue: ValueType, options?: {
|
|
107
124
|
}
|
108
125
|
|
109
126
|
/** use a ref, that can be tracked as useEffect dependency */
|
110
|
-
export function useRefWithState<T>(initialValue?: T) {
|
127
|
+
export function useRefWithState<T>(initialValue?: T, stateOptions: stateExOptions<T> = { skipUpdateIfSame: true, name: "useRefWithState" }) {
|
111
128
|
let asRef = useRef<T>(initialValue);
|
112
|
-
let [asState, setState] =
|
129
|
+
let [asState, setState] = useStateEX<T>(initialValue, stateOptions);
|
113
130
|
let setRef = useCallback((newValue: T) => {
|
114
131
|
asRef.current = newValue;
|
115
132
|
setState(newValue);
|