@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.
@@ -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;
@@ -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":";AAAA,OAAO,EAAE,MAAM,EAAe,cAAc,EAAE,wBAAwB,EAAuB,UAAU,EAAE,YAAY,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAC;AAC3K,OAAO,EAAE,qBAAqB,EAAE,UAAU,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,QAAQ,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AACpI,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AACnE,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAiBoC,CAAC;AAErG,MAAM,SAAS,GAAG,UAAU,CAAC;IACzB,cAAc,EAAE;QACZ,cAAc,EAAE,YAAY;QAC5B,KAAK,EAAE;YACH,gFAAgF;YAChF,UAAU,EAAE,YAAY;SAC3B;KACJ;IACD,MAAM,EAAE;QACJ,eAAe,EAAE,MAAM,CAAC,4BAA4B;QACpD,KAAK,EAAE,MAAM,CAAC,6BAA6B;QAE3C,CAAC,MAAM,wBAAwB,CAAC,gBAAgB,EAAE,CAAC,EAAE;YACjD,KAAK,EAAE,MAAM,CAAC,6BAA6B;SAC9C;KACJ;IACD,OAAO,EAAE;QACL,KAAK,EAAE,MAAM,CAAC,6BAA6B;QAE3C,CAAC,MAAM,wBAAwB,CAAC,gBAAgB,EAAE,CAAC,EAAE;YACjD,KAAK,EAAE,MAAM,CAAC,6BAA6B;SAC9C;KACJ;IACD,aAAa,EAAE;QACX,KAAK,EAAE,MAAM,CAAC,qBAAqB;QAEnC,CAAC,MAAM,wBAAwB,CAAC,gBAAgB,EAAE,CAAC,EAAE;YACjD,KAAK,EAAE,MAAM,CAAC,qBAAqB;SACtC;KACJ;IACD,YAAY,EAAE;QACV,KAAK,EAAE,MAAM,CAAC,6BAA6B;QAE3C,CAAC,MAAM,wBAAwB,CAAC,gBAAgB,EAAE,CAAC,EAAE;YACjD,KAAK,EAAE,MAAM,CAAC,6BAA6B;SAC9C;KACJ;CACJ,CAAC,CAAA;AAGF,MAAM,CAAC,MAAM,QAAQ,GAAG,KAAK,CAAC,UAAU,CAAqC,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;IACxF,MAAM,GAAG,GAAG,oBAAoB,EAAE,CAAC;IACnC,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IAChD,MAAM,UAAU,GAAG,CAAC,mBAAmB,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;IAEjG,MAAM,KAAK,GAAG,KAAK,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,UAAU;QAC5E,CAAC,CAAC,KAAK,CAAC,KAAK,IAAI,KAAK,CAAC,YAAY,CAAC,CAAC;IACzC,MAAM,IAAI,GAAG,KAAK,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC;IACzF,IAAI,OAAO,GAAG,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;IACvC,IAAI,OAAO,GAAG,KAAK,CAAC,QAAQ,IAAI,CAAC,OAAO,IAAI,CAAC,OAAO,IAAI,KAAK,CAAC,iBAAiB,KAAK,IAAI,CAAC,CAAC;IAE1F,MAAM,QAAQ,GAAG,SAAS,EAAE,CAAC;IAC7B,IAAI,GAAG,GAAa,EAAE,CAAC;IAEvB,IAAI,KAAK,CAAC,WAAW;QAAE,eAAe,CAAC,GAAG,EAAE,eAAe,CAAC,SAAS,CAAC,CAAC;IACvE,IAAI,KAAK,CAAC,cAAc;QAAE,eAAe,CAAC,GAAG,EAAE,QAAQ,CAAC,cAAc,CAAC,CAAC;IAExE,IAAI,GAAG,GAAG,KAAC,MAAM,kBAAC,GAAG,EAAE,GAAG,EAAE,UAAU,EAAC,QAAQ,IAAK,KAA2B,IAAE,SAAS,EAAE,YAAY,CAAC,GAAG,GAAG,EAAE,KAAK,CAAC,SAAS,CAAC,gBACjH,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAC/C,YAAY,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,CAAkD,EAAE,EAAE;YAC9E,QAAQ,CAAC,IAAI,CAAC,CAAC;YACf,IAAI,UAAU,CAAC,KAAK,CAAC,YAAY,CAAC;gBAC9B,KAAK,CAAC,YAAY,CAAC,CAAQ,CAAC,CAAC;QACrC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,YAAmB,EAC7B,YAAY,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,CAAkD,EAAE,EAAE;YAC9E,QAAQ,CAAC,KAAK,CAAC,CAAC;YAChB,IAAI,UAAU,CAAC,KAAK,CAAC,YAAY,CAAC;gBAC9B,KAAK,CAAC,YAAY,CAAC,CAAQ,CAAC,CAAC;QACrC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,YAAmB,YAC/B,KAAK,CAAC,QAAQ;YACZ,yCAAyC;YACzC,CAAC,OAAO,IAAI,qBAAqB,CAAC,KAAK,CAAC,CAAC,IAAU,CAAC;IACxD,IAAI,CAAC,OAAO,IAAI,KAAK,CAAC,QAAQ,EAAC,yDAAyD;QACpF,GAAG,GAAG,KAAC,OAAO,IAAC,SAAS,EAAE,IAAI,EAAE,YAAY,EAAC,OAAO,EAAC,SAAS,QAAC,UAAU,EAAC,UAAU,EAAC,OAAO,EAAE,KAAK,EAC/F,SAAS,EAAE,GAAG,CAAC,SAAS,YAEvB,GAAG,GACE,CAAC;IAEf,OAAO,CACH,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,wBAAM,GAAG,GAAO,CAAC,CAAC,CAAC,GAAG,CAE7C,CAAC;AACN,CAAC,CAAC,CAAC;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG,KAAK,CAAC,UAAU,CAAqC,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;IACjG,MAAM,GAAG,GAAG,oBAAoB,EAAE,CAAC;IACnC,OAAO,CACH,KAAC,QAAQ,kBAAC,GAAG,EAAE,GAAG,EAAE,UAAU,EAAC,WAAW,EAAC,KAAK,EAAE,GAAG,CAAC,WAAW,IAAM,KAAK,EAAa,CAC5F,CAAC;AACN,CAAC,CAAC,CAAC;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,KAAK,CAAC,UAAU,CAAqC,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;IAC/F,OAAO,CACH,KAAC,iBAAiB,kBAAC,GAAG,EAAE,GAAG,EAAE,UAAU,EAAC,SAAS,IAAK,KAAK,cAAG,KAAK,CAAC,QAAQ,IAAqB,CACpG,CAAC;AACN,CAAC,CAAC,CAAC;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,KAAK,CAAC,UAAU,CAAqC,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;IAC9F,MAAM,QAAQ,GAAG,SAAS,EAAE,CAAC;IAC7B,OAAO,CACH,KAAC,iBAAiB,kBAAC,GAAG,EAAE,GAAG,EAAE,SAAS,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,IAAM,KAAK,cAAG,KAAK,CAAC,QAAQ,IAAqB,CACxI,CAAC;AACN,CAAC,CAAC,CAAC;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,KAAK,CAAC,UAAU,CAAqC,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;IAC/F,MAAM,QAAQ,GAAG,SAAS,EAAE,CAAC;IAC7B,OAAO,CACH,KAAC,QAAQ,kBAAC,GAAG,EAAE,GAAG,EAAE,SAAS,EAAE,QAAQ,CAAC,OAAO,IAAM,KAAK,cAAG,KAAK,CAAC,QAAQ,IAAY,CAC1F,CAAC;AACN,CAAC,CAAC,CAAC;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAG,KAAK,CAAC,UAAU,CAAqC,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;IACrG,MAAM,QAAQ,GAAG,SAAS,EAAE,CAAC;IAC7B,OAAO,CACH,KAAC,QAAQ,kBAAC,GAAG,EAAE,GAAG,EAAE,SAAS,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,aAAa,IAAM,KAAK,cAAG,KAAK,CAAC,QAAQ,IAAY,CAC7H,CAAC;AACN,CAAC,CAAC,CAAC;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG,KAAK,CAAC,UAAU,CAAqC,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;IACpG,MAAM,QAAQ,GAAG,SAAS,EAAE,CAAC;IAC7B,OAAO,CACH,KAAC,QAAQ,kBAAC,GAAG,EAAE,GAAG,EAAE,SAAS,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,YAAY,IAAM,KAAK,cAAG,KAAK,CAAC,QAAQ,IAAY,CAC5H,CAAC;AACN,CAAC,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,gBAAgB,GAAG,KAAK,CAAC,UAAU,CAA6C,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;IACxG,MAAM,GAAG,GAAG,oBAAoB,EAAE,CAAC;IACnC,IAAI,KAAK,GAAG,KAAK,CAAC,KAAK,IAAI,KAAK,CAAC,YAAY,CAAC,CAAC;IAC/C,IAAI,OAAO,GAAG,QAAQ,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,CAAC,KAAK,CAAC;IAChF,IAAI,GAAG,GAAG,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,WAAW,CAAC,CAAC,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC;IACvF,OAAO,CACH,KAAC,OAAO,IAAC,SAAS,EAAE,IAAI,EAAE,YAAY,EAAC,OAAO,EAAC,SAAS,QAAC,UAAU,EAAC,UAAU,EAAC,OAAO,EAAE,OAAO,EAC3F,SAAS,EAAE,GAAG,CAAC,SAAS,YAExB,KAAC,cAAc,kBAAC,GAAG,EAAE,GAAG,EAAE,UAAU,EAAC,QAAQ,EAAC,KAAK,EAAE,EAAE,cAAc,EAAE,YAAY,EAAE,QAAQ,EAAE,GAAG,EAAE,IAAM,KAAmC,kBAAc,OAAO,EAAE,KAAK,EAAE,SAAS,YAC/K,KAAK,CAAC,QAAQ,IAAI,qBAAqB,CAAC,KAAK,CAAC,IAAkB,GAC/D,CACb,CAAC;AACN,CAAC,CAAC,CAAC;AACH,MAAM,CAAC,MAAM,yBAAyB,GAAG,KAAK,CAAC,UAAU,CAA6C,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;IACjH,MAAM,GAAG,GAAG,oBAAoB,EAAE,CAAC;IACnC,OAAO,CACH,KAAC,gBAAgB,kBAAC,GAAG,EAAE,GAAG,EAAE,UAAU,EAAC,WAAW,EAAC,KAAK,EAAE,GAAG,CAAC,WAAW,IAAM,KAAK,EAAqB,CAC5G,CAAC;AACN,CAAC,CAAC,CAAC;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAG,KAAK,CAAC,UAAU,CAA6C,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;IAC/G,OAAO,CACH,KAAC,yBAAyB,kBAAC,GAAG,EAAE,GAAG,EAAE,UAAU,EAAC,SAAS,IAAK,KAAK,cAAG,KAAK,CAAC,QAAQ,IAA6B,CACpH,CAAC;AACN,CAAC,CAAC,CAAC;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAG,KAAK,CAAC,UAAU,CAA6C,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;IAC9G,MAAM,QAAQ,GAAG,SAAS,EAAE,CAAC;IAC7B,OAAO,CACH,KAAC,yBAAyB,kBAAC,GAAG,EAAE,GAAG,EAAE,SAAS,EAAE,QAAQ,CAAC,MAAM,IAAM,KAAK,cAAG,KAAK,CAAC,QAAQ,IAA6B,CAC3H,CAAC;AACN,CAAC,CAAC,CAAC"}
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,EAAE,MAAM,4BAA4B,CAAC;AAC1E,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;SACzB;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"}
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 false
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
- function forcePrint(e) {
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
- document.body.classList.remove(KnownClassNames.print);
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
- document.body.classList.add(KnownClassNames.print);
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("print", handlePrint);
109
+ window.addEventListener("beforeprint", forcePrintOn);
110
+ window.addEventListener("afterprint", forcePrintOff);
118
111
  if (isDebug())
119
- window.addEventListener("keydown", forcePrint);
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("print", handlePrint);
115
+ window.removeEventListener("beforeprint", forcePrintOn);
116
+ window.removeEventListener("afterprint", forcePrintOff);
125
117
  if (isDebug())
126
- window.removeEventListener("keydown", forcePrint);
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,8BAA8B;IAC9B,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,QAAQ,CAAU,KAAK,CAAC,CAAC;IAC3D,SAAS,CAAC,GAAG,EAAE;QACX,SAAS,UAAU,CAAC,CAAgB;YAChC,IAAI,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,QAAQ,IAAI,CAAC,CAAC,MAAM,EAAE,CAAC;gBACtC,IAAI,CAAC,CAAC,GAAG,CAAC,iBAAiB,EAAE,KAAK,GAAG,EAAE,CAAC;oBACpC,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;oBACtD,WAAW,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;gBAC1B,CAAC;qBACI,CAAC;oBACF,OAAO,CAAC,IAAI,CAAC,yDAAyD,CAAC,CAAC;oBACxE,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;oBACnD,WAAW,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;gBACzB,CAAC;YACL,CAAC;QACL,CAAC;QACD,8BAA8B;QAC9B,SAAS,WAAW,CAAC,CAAS,EAAE,KAAe;YAC3C,IAAI,KAAK,KAAK,IAAI;gBAAE,YAAY,CAAC,IAAI,CAAC,CAAC;iBAClC,IAAI,MAAM,CAAC,UAAU,EAAE,CAAC;gBACzB,IAAI,cAAc,GAAG,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;gBAChD,IAAI,cAAc,CAAC,OAAO,EAAE,CAAC;oBACzB,YAAY,CAAC,IAAI,CAAC,CAAC;gBACvB,CAAC;qBAAM,CAAC;oBACJ,YAAY,CAAC,KAAK,CAAC,CAAC;gBACxB,CAAC;YACL,CAAC;QACL,CAAC;QACD,qBAAqB;QACrB,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;QAC9C,IAAI,OAAO,EAAE;YACT,MAAM,CAAC,gBAAgB,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;QACnD,4EAA4E;QAC5E,WAAW,EAAE,CAAC;QACd,mCAAmC;QACnC,OAAO,GAAG,EAAE;YACR,MAAM,CAAC,mBAAmB,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;YACjD,IAAI,OAAO,EAAE;gBACT,MAAM,CAAC,mBAAmB,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;QAC1D,CAAC,CAAC;IACN,CAAC,EAAE,oBAAoB,CAAC,CAAC;IACzB,OAAO,SAAS,CAAC;AACrB,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,OAM1B;IACG,IAAI,GAAG,GAAG,OAAO,CAAC,GAAG,IAAI,QAAQ,CAAC;IAElC,SAAS,CAAC,GAAG,EAAE;QACX,IAAI,OAAO,GAAG,CAAC,CAAgB,EAAE,EAAE;YAC/B,IAAI,CAAC,CAAC,GAAG,KAAK,OAAO,IAAI,UAAU,CAAC,OAAO,CAAC,OAAO,CAAC;gBAAE,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;iBACpE,IAAI,CAAC,CAAC,GAAG,KAAK,QAAQ,IAAI,UAAU,CAAC,OAAO,CAAC,QAAQ,CAAC;gBAAE,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;YACjF,IAAI,UAAU,CAAC,OAAO,CAAC,SAAS,CAAC;gBAC7B,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;QAC7B,CAAC,CAAC;QACF,GAAG,CAAC,gBAAgB,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;QACzC,OAAO,GAAG,EAAE,CAAC,GAAG,CAAC,mBAAmB,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;IAC7D,CAAC,EAAE,CAAC,GAAG,EAAE,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC,QAAQ,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC;AACpE,CAAC"}
1
+ {"version":3,"file":"hooks-events.js","sourceRoot":"","sources":["../../src/helpers/hooks-events.ts"],"names":[],"mappings":"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"}
@@ -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
- /** set state on steroids. provide promise callback after render, onChange transformer and automatic skip-set when value not changed */
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 {};
@@ -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
- return logger.groupSync('getIsValueChanged', log => {
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: ' + jsonStringify(currentValue.current));
44
- log('new: ' + jsonStringify(newValue));
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] = useState(initialValue);
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":"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"}
1
+ {"version":3,"file":"hooks.js","sourceRoot":"","sources":["../../src/helpers/hooks.tsx"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@kwiz/fluentui",
3
- "version": "1.0.65",
3
+ "version": "1.0.67",
4
4
  "description": "KWIZ common controls for FluentUI",
5
5
  "module": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -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 false
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
- function forcePrint(e: KeyboardEvent) {
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
- document.body.classList.remove(KnownClassNames.print);
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
- document.body.classList.add(KnownClassNames.print);
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("print", handlePrint);
116
+ window.addEventListener("beforeprint", forcePrintOn);
117
+ window.addEventListener("afterprint", forcePrintOff);
120
118
  if (isDebug())
121
- window.addEventListener("keydown", forcePrint);
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("print", handlePrint);
122
+ window.removeEventListener("beforeprint", forcePrintOn);
123
+ window.removeEventListener("afterprint", forcePrintOff);
127
124
  if (isDebug())
128
- window.removeEventListener("keydown", forcePrint);
125
+ window.removeEventListener("keydown", printDebugHelper);
129
126
  };
130
127
  }, useEffectOnlyOnMount);
131
128
  return printMode;
@@ -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
- /** set state on steroids. provide promise callback after render, onChange transformer and automatic skip-set when value not changed */
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
- return logger.groupSync('getIsValueChanged', log => {
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: ' + jsonStringify(currentValue.current));
59
- log('new: ' + jsonStringify(newValue));
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] = useState<T>(initialValue);
129
+ let [asState, setState] = useStateEX<T>(initialValue, stateOptions);
113
130
  let setRef = useCallback((newValue: T) => {
114
131
  asRef.current = newValue;
115
132
  setState(newValue);