@kwiz/fluentui 1.0.188 → 1.0.190

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.
@@ -1,6 +1,6 @@
1
1
  import { jsx as _jsx } from "react/jsx-runtime";
2
2
  import { isNotEmptyArray, isNotEmptyString, isNullOrEmptyString, stringEqualsOrEmpty } from "@kwiz/common";
3
- import { useCallback, useEffect } from "react";
3
+ import { useCallback, useEffect, useMemo } from "react";
4
4
  import { Prompter } from "../controls/prompt";
5
5
  import { useEffectOnlyOnMount, useStateEX } from "./hooks";
6
6
  /** @deprecated replace with useTrackChanges
@@ -19,6 +19,16 @@ export function useBlockNav() {
19
19
  const getMessages = useCallback(() => {
20
20
  return getMessagesArr().join();
21
21
  }, useEffectOnlyOnMount);
22
+ const setMessage = useCallback((id, message) => {
23
+ if (!stringEqualsOrEmpty(message, blockNavMessagesRef.current[id])) {
24
+ const current = Object.assign({}, blockNavMessagesRef.current);
25
+ if (isNotEmptyString(message))
26
+ current[id] = message;
27
+ else
28
+ delete current[id];
29
+ setBlockNavMessages(current);
30
+ }
31
+ }, [setBlockNavMessages]);
22
32
  const onNav = useCallback((nav) => {
23
33
  let messages = getMessagesArr();
24
34
  if (isNotEmptyArray(messages)) {
@@ -59,20 +69,11 @@ export function useBlockNav() {
59
69
  // Remove event listener on cleanup
60
70
  return () => window.removeEventListener("beforeunload", handleBeforeUnload);
61
71
  }, useEffectOnlyOnMount);
62
- return {
63
- setMessage: (id, message) => {
64
- if (!stringEqualsOrEmpty(message, blockNavMessagesRef.current[id])) {
65
- const current = Object.assign({}, blockNavMessagesRef.current);
66
- if (isNotEmptyString(message))
67
- current[id] = message;
68
- else
69
- delete current[id];
70
- setBlockNavMessages(current);
71
- }
72
- },
73
- /** single page applications, call this to navigate if ok */
72
+ const navPrompt = useMemo(() => _prompt ? _jsx(Prompter, Object.assign({}, _prompt)) : undefined, [_prompt]);
73
+ return useMemo(() => ({
74
+ setMessage,
74
75
  onNav,
75
- navPrompt: _prompt ? _jsx(Prompter, Object.assign({}, _prompt)) : undefined
76
- };
76
+ navPrompt
77
+ }), [setMessage, onNav, navPrompt]);
77
78
  }
78
79
  //# sourceMappingURL=block-nav.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"block-nav.js","sourceRoot":"","sources":["../../src/helpers/block-nav.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"block-nav.js","sourceRoot":"","sources":["../../src/helpers/block-nav.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAe,eAAe,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AACxH,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AACxD,OAAO,EAAkB,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9D,OAAO,EAAE,oBAAoB,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAQ3D;;;;;kGAKkG;AAClG,MAAM,UAAU,WAAW;IACvB,uHAAuH;IACvH,MAAM,CAAC,EAAE,mBAAmB,EAAE,mBAAmB,CAAC,GAAG,UAAU,CAAsB,EAAE,CAAC,CAAC;IACzF,MAAM,CAAC,OAAO,EAAE,SAAS,CAAC,GAAG,UAAU,CAAiB,IAAI,CAAC,CAAC;IAE9D,MAAM,cAAc,GAAG,WAAW,CAAC,GAAG,EAAE;QACpC,OAAO,MAAM,CAAC,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,mBAAmB,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC;IAC/F,CAAC,EAAE,oBAAoB,CAAC,CAAC;IAEzB,MAAM,WAAW,GAAG,WAAW,CAAC,GAAG,EAAE;QACjC,OAAO,cAAc,EAAE,CAAC,IAAI,EAAE,CAAC;IACnC,CAAC,EAAE,oBAAoB,CAAC,CAAC;IAEzB,MAAM,UAAU,GAAG,WAAW,CAAC,CAAC,EAAU,EAAE,OAAgB,EAAE,EAAE;QAC5D,IAAI,CAAC,mBAAmB,CAAC,OAAO,EAAE,mBAAmB,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC;YACjE,MAAM,OAAO,qBAAQ,mBAAmB,CAAC,OAAO,CAAE,CAAC;YACnD,IAAI,gBAAgB,CAAC,OAAO,CAAC;gBACzB,OAAO,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC;;gBAEtB,OAAO,OAAO,CAAC,EAAE,CAAC,CAAC;YAEvB,mBAAmB,CAAC,OAAO,CAAC,CAAC;QACjC,CAAC;IACL,CAAC,EAAE,CAAC,mBAAmB,CAAC,CAAC,CAAC;IAE1B,MAAM,KAAK,GAAG,WAAW,CAAC,CAAC,GAAe,EAAE,EAAE;QAC1C,IAAI,QAAQ,GAAG,cAAc,EAAE,CAAC;QAChC,IAAI,eAAe,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC5B,+CAA+C;YAC/C,MAAM,CAAC,UAAU,CAAC,GAAG,EAAE;gBACnB,yCAAyC;gBACzC,SAAS,CAAC;oBACN,YAAY,EAAE,OAAO;oBACrB,gBAAgB,EAAE,QAAQ;oBAC1B,KAAK,EAAE,aAAa;oBACpB,QAAQ,EAAE,QAAQ,CAAC,MAAM,GAAG,CAAC;wBACzB,CAAC,CAAC,uBACG,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,uBAAmB,CAAC,IAAX,IAAI,CAAC,EAAE,CAAU,CAAC,GAClD;wBACL,CAAC,CAAC,sBAAI,QAAQ,CAAC,CAAC,CAAC,GAAK;oBAC1B,QAAQ,EAAE,GAAG,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC;oBAC/B,IAAI,EAAE,GAAG,EAAE;wBACP,SAAS,CAAC,IAAI,CAAC,CAAC;wBAChB,mBAAmB,CAAC,EAAE,CAAC,CAAC,CAAA,gBAAgB;wBACxC,GAAG,EAAE,CAAC;oBACV,CAAC;iBACJ,CAAC,CAAC;YACP,CAAC,EAAE,CAAC,CAAC,CAAC;QACV,CAAC;;YACI,GAAG,EAAE,CAAC;IACf,CAAC,EAAE,oBAAoB,CAAC,CAAC;IAGzB,SAAS,CAAC,GAAG,EAAE;QACX,SAAS,kBAAkB,CAAC,CAAoB;YAC5C,gGAAgG;YAChG,gFAAgF;YAChF,MAAM,OAAO,GAAG,WAAW,EAAE,CAAC;YAC9B,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC,EAAE,CAAC;gBAChC,CAAC,CAAC,cAAc,EAAE,CAAC;gBACnB,CAAC,CAAC,WAAW,GAAG,OAAO,CAAC;YAC5B,CAAC;QACL,CAAC;QACD,qBAAqB;QACrB,MAAM,CAAC,gBAAgB,CAAC,cAAc,EAAE,kBAAkB,CAAC,CAAC;QAC5D,mCAAmC;QACnC,OAAO,GAAG,EAAE,CAAC,MAAM,CAAC,mBAAmB,CAAC,cAAc,EAAE,kBAAkB,CAAC,CAAC;IAChF,CAAC,EAAE,oBAAoB,CAAC,CAAC;IAEzB,MAAM,SAAS,GAAG,OAAO,CAAC,GAAG,EAAE,CAC3B,OAAO,CAAC,CAAC,CAAC,KAAC,QAAQ,oBAAK,OAAO,EAAI,CAAC,CAAC,CAAC,SAAS,EAC/C,CAAC,OAAO,CAAC,CAAC,CAAC;IAEf,OAAO,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;QAClB,UAAU;QACV,KAAK;QACL,SAAS;KACZ,CAAC,EAAE,CAAC,UAAU,EAAE,KAAK,EAAE,SAAS,CAAC,CAAC,CAAC;AACxC,CAAC"}
@@ -2,7 +2,9 @@ import { HTMLAttributes, MutableRefObject, SetStateAction } from "react";
2
2
  /** Empty array ensures that effect is only run on mount */
3
3
  export declare const useEffectOnlyOnMount: any[];
4
4
  type stateExOptions<ValueType> = {
5
+ /** static: do not change between renders */
5
6
  onChange?: (newValue: ValueType, isValueChanged: boolean) => ValueType;
7
+ /** static: do not change between renders. will not set state if value did not change */
6
8
  skipUpdateIfSame?: boolean;
7
9
  name?: string;
8
10
  };
@@ -1,6 +1,6 @@
1
1
  import { makeStyles } from "@fluentui/react-components";
2
- import { CommonLogger, isFunction, isNotEmptyArray, isNullOrEmptyString, isNullOrUndefined, isPrimitiveValue, jsonStringify, LoggerLevel, objectsEqual } from "@kwiz/common";
3
- import { useCallback, useEffect, useRef, useState } from "react";
2
+ import { CommonLogger, isFunction, isNotEmptyArray, isNullOrEmptyString, isNullOrUndefined, isPrimitiveValue, jsonClone, jsonStringify, LoggerLevel, objectsEqual } from "@kwiz/common";
3
+ import { useCallback, useEffect, useMemo, useRef, useState } from "react";
4
4
  import { mixins } from "../styles/styles";
5
5
  /** Empty array ensures that effect is only run on mount */
6
6
  export const useEffectOnlyOnMount = [];
@@ -28,9 +28,11 @@ function extractStringValue(e) {
28
28
  export function useStateEX(initialValue, options) {
29
29
  options = options || {};
30
30
  const name = options.name || '';
31
- let logger = new CommonLogger(`useStateWithTrack${isNullOrEmptyString(name) ? '' : ` ${name}`}`);
31
+ let logger = useMemo(() => new CommonLogger(`useStateWithTrack${isNullOrEmptyString(name) ? '' : ` ${name}`}`), [name]);
32
32
  logger.i.setLevel(LoggerLevel.WARN);
33
33
  const [value, setValueInState] = useState(initialValue);
34
+ //you can't flip those options between renders
35
+ const needToTrackChanges = useMemo(() => options.skipUpdateIfSame || isFunction(options.onChange), []);
34
36
  const currentValue = useRef(initialValue); //must set initial value don't rely on useEffect to do it since some dependents might try to access it on first load
35
37
  //json clone complex/ref values so we can compare if value changed, in case caller makes chagnes on the value object directly.
36
38
  const currentValueForChecks = useRef();
@@ -39,6 +41,7 @@ export function useStateEX(initialValue, options) {
39
41
  }, useEffectOnlyOnMount);
40
42
  //keep a ref to onChange so the caller's latet state is accessible
41
43
  const onChange = useRef(options.onChange);
44
+ //keep it in sync
42
45
  onChange.current = options.onChange;
43
46
  /** make this a collection in case several callers are awaiting the same propr update */
44
47
  const resolveState = useRef([]);
@@ -49,18 +52,17 @@ export function useStateEX(initialValue, options) {
49
52
  isMounted.current = false;
50
53
  };
51
54
  }, useEffectOnlyOnMount);
52
- function resolvePromises() {
55
+ const resolvePromises = useCallback(() => {
53
56
  if (isNotEmptyArray(resolveState.current)) {
54
57
  let resolvers = resolveState.current.slice();
55
58
  resolveState.current = []; //clear
56
59
  resolvers.map(r => r(currentValue.current));
57
60
  }
58
- }
59
- ;
61
+ }, []);
60
62
  useEffect(() => {
61
63
  resolvePromises();
62
64
  }, [value]);
63
- function getIsValueChanged(newValue) {
65
+ const getIsValueChanged = useCallback((newValue) => {
64
66
  let error = null;
65
67
  let result;
66
68
  try {
@@ -84,17 +86,20 @@ export function useStateEX(initialValue, options) {
84
86
  }
85
87
  return result;
86
88
  });
87
- }
88
- ;
89
+ }, []);
89
90
  function updateCurrentRef(newValue) {
90
- currentValue.current = newValue;
91
+ currentValue.current = newValue; //always update this ref- it is being used by callers
92
+ //this json clone on html elements for useRefWithState was killing our app
93
+ //we don't need to clone currentValueForChecks if we don't have to
94
+ if (!needToTrackChanges)
95
+ return;
91
96
  currentValueForChecks.current = isPrimitiveValue(newValue) || isFunction(newValue)
92
97
  ? newValue
93
98
  //fix skipUpdateIfSame for complex objects
94
99
  //if we don't clone it, currentValue.current will be a ref to the value in the owner
95
100
  //and will be treated as unchanged object, and it will be out of sync
96
101
  //this leads to skipUpdateIfSame failing after just 1 unchanged update
97
- : Object.assign({}, newValue);
102
+ : jsonClone(newValue);
98
103
  }
99
104
  const setValue = useCallback((newState) => new Promise(resolve => {
100
105
  if (!isMounted.current) {
@@ -104,7 +109,7 @@ export function useStateEX(initialValue, options) {
104
109
  }
105
110
  else {
106
111
  resolveState.current.push(resolve);
107
- const isChanged = isFunction(onChange.current) || options.skipUpdateIfSame
112
+ const isChanged = needToTrackChanges
108
113
  ? getIsValueChanged(newState) //don't call this if there is no onChange handler and if we don't need to monitor skipUpdateIfSame
109
114
  : true;
110
115
  if (isFunction(onChange.current))
@@ -118,7 +123,7 @@ export function useStateEX(initialValue, options) {
118
123
  resolvePromises();
119
124
  }
120
125
  }), useEffectOnlyOnMount);
121
- return [value, setValue, currentValue];
126
+ return useMemo(() => [value, setValue, currentValue], [value, setValue, currentValue]);
122
127
  }
123
128
  /** use a ref, that can be tracked as useEffect dependency */
124
129
  export function useRefWithState(initialValue, stateOptions = { skipUpdateIfSame: true, name: "useRefWithState" },
@@ -141,14 +146,14 @@ forwardRef) {
141
146
  forwardRef.current = asRef.current;
142
147
  }
143
148
  }, [asState]);
144
- return {
149
+ return useMemo(() => ({
145
150
  /** ref object for getting latest value in handlers */
146
151
  ref: asRef,
147
152
  /** for useEffect dependency */
148
153
  value: asState,
149
154
  /** for setting on element: ref={e.set} */
150
155
  set: setRef
151
- };
156
+ }), [asRef, asState, setRef]);
152
157
  }
153
158
  const useStyles = makeStyles({
154
159
  clickable: mixins.clickable,
@@ -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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"}
@@ -10,7 +10,7 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
10
10
  import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
11
11
  import { Toast, Toaster, ToastTitle, useId, useToastController } from "@fluentui/react-components";
12
12
  import { GetError, isBoolean } from "@kwiz/common";
13
- import { useCallback, useState } from "react";
13
+ import { useCallback, useMemo, useState } from "react";
14
14
  import { PleaseWait } from "../controls/please-wait";
15
15
  import { useBlockNav } from "./block-nav";
16
16
  import { useKWIZFluentContext } from "./context-internal";
@@ -18,9 +18,8 @@ import { useEffectOnlyOnMount, useStateEX } from "./hooks";
18
18
  import { useAlerts } from "./use-alerts";
19
19
  /* Provides useful helpers for tracking if control has changes, and handling the save changes with progress bar and on success/fail messages. */
20
20
  export function useTrackChanges({ blockNav } = {}) {
21
- var _a, _b;
22
21
  const ctx = useKWIZFluentContext();
23
- const unsavedChangesPrompt = ((_b = (_a = ctx.strings) === null || _a === void 0 ? void 0 : _a.prompt_unsaved_changes) === null || _b === void 0 ? void 0 : _b.call(_a)) || "You will lose unsaved changes. Continue?";
22
+ const unsavedChangesPrompt = useMemo(() => { var _a, _b; return ((_b = (_a = ctx.strings) === null || _a === void 0 ? void 0 : _a.prompt_unsaved_changes) === null || _b === void 0 ? void 0 : _b.call(_a)) || "You will lose unsaved changes. Continue?"; }, [ctx.strings]);
24
23
  const alerts = useAlerts();
25
24
  const [showProgress, setShowProgress] = useState(false);
26
25
  //we just need it to register the window unload event... no need for its element or onNav we handle it in this element.
@@ -65,12 +64,18 @@ export function useTrackChanges({ blockNav } = {}) {
65
64
  else
66
65
  return handler();
67
66
  }, [hasChanges, alerts]);
68
- return {
69
- trackChanges: {
70
- hasChanges, hasChangesRef, setHasChanges, onSaveChanges, doIfNoChanges
71
- },
72
- trackChangesElement: _jsxs(_Fragment, { children: [alerts.alertPrompt, showProgress && _jsx(PleaseWait, Object.assign({}, (isBoolean(showProgress) ? {} : showProgress))), _jsx(Toaster, { toasterId: toasterId })] })
73
- };
67
+ const trackChanges = useMemo(() => ({
68
+ hasChanges,
69
+ hasChangesRef,
70
+ setHasChanges,
71
+ onSaveChanges,
72
+ doIfNoChanges
73
+ }), [hasChanges, hasChangesRef, setHasChanges, onSaveChanges, doIfNoChanges]);
74
+ const trackChangesElement = useMemo(() => (_jsxs(_Fragment, { children: [alerts.alertPrompt, showProgress && _jsx(PleaseWait, Object.assign({}, (isBoolean(showProgress) ? {} : showProgress))), _jsx(Toaster, { toasterId: toasterId })] })), [alerts.alertPrompt, showProgress, toasterId]);
75
+ return useMemo(() => ({
76
+ trackChanges,
77
+ trackChangesElement
78
+ }), [trackChanges, trackChangesElement]);
74
79
  }
75
80
  /** @deprecated renamed to useTrackChanges */
76
81
  export function useEditableControl() {
@@ -1 +1 @@
1
- {"version":3,"file":"use-track-changes.js","sourceRoot":"","sources":["../../src/helpers/use-track-changes.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"use-track-changes.js","sourceRoot":"","sources":["../../src/helpers/use-track-changes.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.188",
3
+ "version": "1.0.190",
4
4
  "description": "KWIZ common controls for FluentUI",
5
5
  "module": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -65,7 +65,7 @@
65
65
  "dependencies": {
66
66
  "@fluentui/react-datepicker-compat": "^0.4.53",
67
67
  "@fluentui/react-timepicker-compat": "^0.2.42",
68
- "@kwiz/common": "^1.0.223",
68
+ "@kwiz/common": "^1.0.224",
69
69
  "@mismerge/core": "^1.2.1",
70
70
  "@mismerge/react": "^1.0.1",
71
71
  "@monaco-editor/react": "^4.7.0",