@kwiz/fluentui 1.0.20 → 1.0.22
Sign up to get free protection for your applications and to get access to all the features.
- package/.github/workflows/npm-publish.yml +1 -0
- package/dist/_modules/config.d.ts +1 -0
- package/dist/_modules/config.js +9 -0
- package/dist/_modules/config.js.map +1 -0
- package/dist/_modules/constants.d.ts +2 -0
- package/dist/_modules/constants.js +3 -0
- package/dist/_modules/constants.js.map +1 -0
- package/dist/controls/accordion.d.ts +13 -0
- package/dist/controls/accordion.js +27 -0
- package/dist/controls/accordion.js.map +1 -0
- package/dist/controls/button.d.ts +28 -0
- package/dist/controls/button.js +113 -0
- package/dist/controls/button.js.map +1 -0
- package/dist/controls/centered.d.ts +5 -0
- package/dist/controls/centered.js +14 -0
- package/dist/controls/centered.js.map +1 -0
- package/dist/controls/date.d.ts +8 -0
- package/dist/controls/date.js +32 -0
- package/dist/controls/date.js.map +1 -0
- package/dist/controls/dropdown.d.ts +31 -0
- package/dist/controls/dropdown.js +28 -0
- package/dist/controls/dropdown.js.map +1 -0
- package/dist/controls/error-boundary.d.ts +23 -0
- package/dist/controls/error-boundary.js +33 -0
- package/dist/controls/error-boundary.js.map +1 -0
- package/dist/controls/field-editor.d.ts +13 -0
- package/dist/controls/field-editor.js +15 -0
- package/dist/controls/field-editor.js.map +1 -0
- package/dist/controls/file-upload.d.ts +18 -0
- package/dist/controls/file-upload.js +41 -0
- package/dist/controls/file-upload.js.map +1 -0
- package/dist/controls/horizontal.d.ts +8 -0
- package/dist/controls/horizontal.js +23 -0
- package/dist/controls/horizontal.js.map +1 -0
- package/dist/controls/input.d.ts +13 -0
- package/dist/controls/input.js +43 -0
- package/dist/controls/input.js.map +1 -0
- package/dist/controls/kwizoverflow.d.ts +14 -0
- package/dist/controls/kwizoverflow.js +45 -0
- package/dist/controls/kwizoverflow.js.map +1 -0
- package/dist/controls/list.d.ts +21 -0
- package/dist/controls/list.js +72 -0
- package/dist/controls/list.js.map +1 -0
- package/dist/controls/loading.d.ts +5 -0
- package/dist/controls/loading.js +7 -0
- package/dist/controls/loading.js.map +1 -0
- package/dist/controls/please-wait.d.ts +18 -0
- package/dist/controls/please-wait.js +16 -0
- package/dist/controls/please-wait.js.map +1 -0
- package/dist/controls/prompt.d.ts +32 -0
- package/dist/controls/prompt.js +31 -0
- package/dist/controls/prompt.js.map +1 -0
- package/dist/controls/search.d.ts +13 -0
- package/dist/controls/search.js +47 -0
- package/dist/controls/search.js.map +1 -0
- package/dist/controls/section.d.ts +14 -0
- package/dist/controls/section.js +27 -0
- package/dist/controls/section.js.map +1 -0
- package/dist/controls/svg.d.ts +23 -0
- package/dist/controls/svg.js +45 -0
- package/dist/controls/svg.js.map +1 -0
- package/dist/controls/toolbar.d.ts +12 -0
- package/dist/controls/toolbar.js +23 -0
- package/dist/controls/toolbar.js.map +1 -0
- package/dist/controls/vertical-content.d.ts +6 -0
- package/dist/controls/vertical-content.js +37 -0
- package/dist/controls/vertical-content.js.map +1 -0
- package/dist/controls/vertical.d.ts +8 -0
- package/dist/controls/vertical.js +23 -0
- package/dist/controls/vertical.js.map +1 -0
- package/dist/helpers/context.d.ts +26 -0
- package/dist/helpers/context.js +15 -0
- package/dist/helpers/context.js.map +1 -0
- package/dist/helpers/hooks.d.ts +62 -0
- package/dist/helpers/hooks.js +287 -0
- package/dist/helpers/hooks.js.map +1 -0
- package/dist/index.d.ts +25 -0
- package/dist/index.js +25 -0
- package/dist/index.js.map +1 -0
- package/dist/styles/styles.d.ts +19 -0
- package/dist/styles/styles.js +79 -0
- package/dist/styles/styles.js.map +1 -0
- package/dist/styles/theme.d.ts +6 -0
- package/dist/styles/theme.js +77 -0
- package/dist/styles/theme.js.map +1 -0
- package/package.json +1 -1
@@ -0,0 +1,37 @@
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
2
|
+
import { makeStyles, mergeClasses } from '@fluentui/react-components';
|
3
|
+
import { isNotEmptyArray } from '@kwiz/common';
|
4
|
+
import React from 'react';
|
5
|
+
import { useWindowSize } from '../helpers/hooks';
|
6
|
+
const useStyles = makeStyles({
|
7
|
+
verticalContainer: {
|
8
|
+
position: "relative",
|
9
|
+
['& > div']: {
|
10
|
+
position: "absolute",
|
11
|
+
transform: "rotate(90deg)"
|
12
|
+
}
|
13
|
+
}
|
14
|
+
});
|
15
|
+
export const VerticalContent = (props) => {
|
16
|
+
const classes = useStyles();
|
17
|
+
let css = [classes.verticalContainer];
|
18
|
+
const size = useWindowSize();
|
19
|
+
let div = React.useRef();
|
20
|
+
let rotate = React.useRef();
|
21
|
+
if (isNotEmptyArray(props.css))
|
22
|
+
css.push(...props.css);
|
23
|
+
React.useEffect(() => {
|
24
|
+
if (div.current && rotate.current) {
|
25
|
+
let rootDiv = div.current;
|
26
|
+
let rotateDiv = rotate.current;
|
27
|
+
rootDiv.style.height = `${rotateDiv.clientWidth}px`;
|
28
|
+
rootDiv.style.width = `${rotateDiv.clientHeight}px`;
|
29
|
+
rootDiv.style.minHeight = `${rotateDiv.clientWidth}px`;
|
30
|
+
rootDiv.style.minWidth = `${rotateDiv.clientHeight}px`;
|
31
|
+
rotateDiv.style.top = `${(rotateDiv.clientWidth - rotateDiv.clientHeight) / 2}px`;
|
32
|
+
rotateDiv.style.left = `-${(rotateDiv.clientWidth - rotateDiv.clientHeight) / 2}px`;
|
33
|
+
}
|
34
|
+
}, [div, rotate, size.height, size.width]);
|
35
|
+
return (_jsx("div", { ref: div, className: mergeClasses(...css), children: _jsx("div", { ref: rotate, children: props.children }) }));
|
36
|
+
};
|
37
|
+
//# sourceMappingURL=vertical-content.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"vertical-content.js","sourceRoot":"","sources":["../../src/controls/vertical-content.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AACtE,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAC/C,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAEjD,MAAM,SAAS,GAAG,UAAU,CAAC;IACzB,iBAAiB,EAAE;QACf,QAAQ,EAAE,UAAU;QACpB,CAAC,SAAS,CAAC,EAAE;YACT,QAAQ,EAAE,UAAU;YACpB,SAAS,EAAE,eAAe;SAC7B;KACJ;CACJ,CAAC,CAAC;AAKH,MAAM,CAAC,MAAM,eAAe,GAA6D,CAAC,KAAK,EAAE,EAAE;IAC/F,MAAM,OAAO,GAAG,SAAS,EAAE,CAAC;IAC5B,IAAI,GAAG,GAAa,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC;IAChD,MAAM,IAAI,GAAG,aAAa,EAAE,CAAC;IAE7B,IAAI,GAAG,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC;IACzB,IAAI,MAAM,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC;IAE5B,IAAI,eAAe,CAAC,KAAK,CAAC,GAAG,CAAC;QAAE,GAAG,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC;IAEvD,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE;QACjB,IAAI,GAAG,CAAC,OAAO,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;YAChC,IAAI,OAAO,GAAI,GAAG,CAAC,OAA0B,CAAC;YAC9C,IAAI,SAAS,GAAI,MAAM,CAAC,OAA0B,CAAC;YACnD,OAAO,CAAC,KAAK,CAAC,MAAM,GAAG,GAAG,SAAS,CAAC,WAAW,IAAI,CAAC;YACpD,OAAO,CAAC,KAAK,CAAC,KAAK,GAAG,GAAG,SAAS,CAAC,YAAY,IAAI,CAAC;YACpD,OAAO,CAAC,KAAK,CAAC,SAAS,GAAG,GAAG,SAAS,CAAC,WAAW,IAAI,CAAC;YACvD,OAAO,CAAC,KAAK,CAAC,QAAQ,GAAG,GAAG,SAAS,CAAC,YAAY,IAAI,CAAC;YAEvD,SAAS,CAAC,KAAK,CAAC,GAAG,GAAG,GAAG,CAAC,SAAS,CAAC,WAAW,GAAG,SAAS,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC;YAClF,SAAS,CAAC,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,WAAW,GAAG,SAAS,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC;QACxF,CAAC;IACL,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;IAE3C,OAAO,CACH,cAAK,GAAG,EAAE,GAAG,EAAE,SAAS,EAAE,YAAY,CAAC,GAAG,GAAG,CAAC,YAC1C,cAAK,GAAG,EAAE,MAAM,YACX,KAAK,CAAC,QAAQ,GACb,GACJ,CACT,CAAC;AACN,CAAC,CAAA"}
|
@@ -0,0 +1,23 @@
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
2
|
+
import { makeStyles } from '@fluentui/react-components';
|
3
|
+
import { isNotEmptyArray } from '@kwiz/common';
|
4
|
+
import { KnownClassNames, mixins } from '../styles/styles';
|
5
|
+
import { Section } from './section';
|
6
|
+
const useStyles = makeStyles({
|
7
|
+
vertical: Object.assign(Object.assign({}, mixins.flex), { flexDirection: 'column' }),
|
8
|
+
wrap: mixins.wrap,
|
9
|
+
nogap: mixins.nogap
|
10
|
+
});
|
11
|
+
export const Vertical = (props) => {
|
12
|
+
const cssNames = useStyles();
|
13
|
+
let css = [KnownClassNames.vertical];
|
14
|
+
css.push(cssNames.vertical);
|
15
|
+
if (props.wrap)
|
16
|
+
css.push(cssNames.wrap);
|
17
|
+
if (props.nogap)
|
18
|
+
css.push(cssNames.nogap);
|
19
|
+
if (isNotEmptyArray(props.css))
|
20
|
+
css.push(...props.css);
|
21
|
+
return (_jsx(Section, Object.assign({}, props, { css: css })));
|
22
|
+
};
|
23
|
+
//# sourceMappingURL=vertical.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"vertical.js","sourceRoot":"","sources":["../../src/controls/vertical.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AACxD,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAE/C,OAAO,EAAE,eAAe,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAC3D,OAAO,EAAiB,OAAO,EAAE,MAAM,WAAW,CAAC;AAEnD,MAAM,SAAS,GAAG,UAAU,CAAC;IACzB,QAAQ,kCACD,MAAM,CAAC,IAAI,KACd,aAAa,EAAE,QAAQ,GAC1B;IACD,IAAI,EAAE,MAAM,CAAC,IAAI;IACjB,KAAK,EAAE,MAAM,CAAC,KAAK;CACtB,CAAC,CAAA;AAMF,MAAM,CAAC,MAAM,QAAQ,GAA6D,CAAC,KAAK,EAAE,EAAE;IACxF,MAAM,QAAQ,GAAG,SAAS,EAAE,CAAC;IAC7B,IAAI,GAAG,GAAa,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC;IAE/C,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;IAC5B,IAAI,KAAK,CAAC,IAAI;QACV,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IAC5B,IAAI,KAAK,CAAC,KAAK;QACX,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IAE7B,IAAI,eAAe,CAAC,KAAK,CAAC,GAAG,CAAC;QAAE,GAAG,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC;IAEvD,OAAO,CACH,KAAC,OAAO,oBAAK,KAAK,IAAE,GAAG,EAAE,GAAG,IAAI,CACnC,CAAC;AACN,CAAC,CAAA"}
|
@@ -0,0 +1,26 @@
|
|
1
|
+
import React from "react";
|
2
|
+
export interface iKWIZFluentContext {
|
3
|
+
/**
|
4
|
+
* Where the portal children are mounted on DOM
|
5
|
+
*
|
6
|
+
* @default a new element on document.body without any styling
|
7
|
+
*/
|
8
|
+
mountNode?: HTMLElement | null | {
|
9
|
+
element?: HTMLElement | null;
|
10
|
+
className?: string;
|
11
|
+
};
|
12
|
+
/**
|
13
|
+
* Controls the colors and borders of the input.
|
14
|
+
*
|
15
|
+
* @default 'underline'
|
16
|
+
*/
|
17
|
+
inputAppearance?: 'outline' | 'underline' | 'filled-darker' | 'filled-lighter';
|
18
|
+
/**
|
19
|
+
* A button can be rounded, circular, or square.
|
20
|
+
*
|
21
|
+
* @default 'rounded'
|
22
|
+
*/
|
23
|
+
buttonShape?: 'rounded' | 'circular' | 'square';
|
24
|
+
}
|
25
|
+
export declare const KWIZFluentContext: React.Context<iKWIZFluentContext>;
|
26
|
+
export declare function useKWIZFluentContext(): iKWIZFluentContext;
|
@@ -0,0 +1,15 @@
|
|
1
|
+
import { isNullOrUndefined } from "@kwiz/common";
|
2
|
+
import React from "react";
|
3
|
+
//create context
|
4
|
+
export const KWIZFluentContext = React.createContext(null);
|
5
|
+
//use context from within controls
|
6
|
+
export function useKWIZFluentContext() {
|
7
|
+
let ctx = React.useContext(KWIZFluentContext) || {};
|
8
|
+
//set defaults
|
9
|
+
if (isNullOrUndefined(ctx.inputAppearance))
|
10
|
+
ctx.inputAppearance = "underline";
|
11
|
+
if (isNullOrUndefined(ctx.buttonShape))
|
12
|
+
ctx.buttonShape = "circular";
|
13
|
+
return ctx;
|
14
|
+
}
|
15
|
+
//# sourceMappingURL=context.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"context.js","sourceRoot":"","sources":["../../src/helpers/context.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AACjD,OAAO,KAAK,MAAM,OAAO,CAAC;AA2B1B,gBAAgB;AAChB,MAAM,CAAC,MAAM,iBAAiB,GAAG,KAAK,CAAC,aAAa,CAAqB,IAAI,CAAC,CAAC;AAC/E,kCAAkC;AAClC,MAAM,UAAU,oBAAoB;IAChC,IAAI,GAAG,GAAG,KAAK,CAAC,UAAU,CAAC,iBAAiB,CAAC,IAAI,EAAE,CAAC;IACpD,cAAc;IACd,IAAI,iBAAiB,CAAC,GAAG,CAAC,eAAe,CAAC;QACtC,GAAG,CAAC,eAAe,GAAG,WAAW,CAAC;IACtC,IAAI,iBAAiB,CAAC,GAAG,CAAC,WAAW,CAAC;QAClC,GAAG,CAAC,WAAW,GAAG,UAAU,CAAC;IACjC,OAAO,GAAG,CAAC;AACf,CAAC"}
|
@@ -0,0 +1,62 @@
|
|
1
|
+
import { ToastIntent } from "@fluentui/react-components";
|
2
|
+
import { MutableRefObject, SetStateAction } from "react";
|
3
|
+
import { iKWIZFluentContext } from "./context";
|
4
|
+
/** Empty array ensures that effect is only run on mount */
|
5
|
+
export declare const useEffectOnlyOnMount: any[];
|
6
|
+
/** set state on steroids. provide promise callback after render, onChange transformer and automatic skip-set when value not changed */
|
7
|
+
export declare function useStateEX<ValueType>(initialValue: ValueType, options?: {
|
8
|
+
onChange?: (newValue: SetStateAction<ValueType>) => SetStateAction<ValueType>;
|
9
|
+
skipUpdateIfSame?: boolean;
|
10
|
+
name?: string;
|
11
|
+
}): [
|
12
|
+
ValueType,
|
13
|
+
(newValue: SetStateAction<ValueType>) => Promise<ValueType>,
|
14
|
+
MutableRefObject<ValueType>
|
15
|
+
];
|
16
|
+
export declare function useTrackFocus(props: {
|
17
|
+
onFocus: () => void;
|
18
|
+
onLoseFocus: () => void;
|
19
|
+
ref?: MutableRefObject<HTMLElement>;
|
20
|
+
}): MutableRefObject<HTMLElement>;
|
21
|
+
export declare function useWindowSize(): {
|
22
|
+
width: number;
|
23
|
+
height: number;
|
24
|
+
};
|
25
|
+
export declare function useIsInPrint(): boolean;
|
26
|
+
/** set block message if you want to block nav.
|
27
|
+
* - call setMessage to add a blocker message
|
28
|
+
* - call onNav when you have internal navigation (open / close popups)
|
29
|
+
* - render the navPrompt control to your page
|
30
|
+
* FYI for page unload, most modern browsers won't show your message but a generic one instead. */
|
31
|
+
export declare function useBlockNav(): {
|
32
|
+
setMessage: (id: string, message?: string) => void;
|
33
|
+
onNav: (nav: () => void) => void;
|
34
|
+
navPrompt: import("react/jsx-runtime").JSX.Element;
|
35
|
+
};
|
36
|
+
export declare function useKeyDown(options: {
|
37
|
+
elm?: HTMLElement | Document;
|
38
|
+
onEnter?: (e: KeyboardEvent) => void;
|
39
|
+
onEscape?: (e: KeyboardEvent) => void;
|
40
|
+
onKeyDown?: (e: KeyboardEvent) => void;
|
41
|
+
}): void;
|
42
|
+
export declare function useToast(): {
|
43
|
+
control: import("react/jsx-runtime").JSX.Element;
|
44
|
+
dispatch: (info: {
|
45
|
+
title?: string;
|
46
|
+
body?: string;
|
47
|
+
subtitle?: string;
|
48
|
+
titleAction?: {
|
49
|
+
text: string;
|
50
|
+
onClick: () => void;
|
51
|
+
};
|
52
|
+
footerActions?: {
|
53
|
+
text: string;
|
54
|
+
onClick: () => void;
|
55
|
+
}[];
|
56
|
+
intent?: ToastIntent;
|
57
|
+
}) => void;
|
58
|
+
};
|
59
|
+
export declare function useKWIZFluentContextProvider(options: {
|
60
|
+
root?: React.MutableRefObject<HTMLDivElement>;
|
61
|
+
ctx?: iKWIZFluentContext;
|
62
|
+
}): iKWIZFluentContext;
|
@@ -0,0 +1,287 @@
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
2
|
+
import { Link, Toast, ToastBody, Toaster, ToastFooter, ToastTitle, useId, useToastController } from "@fluentui/react-components";
|
3
|
+
import { isDebug, isFunction, isNotEmptyArray, isNullOrEmptyString, jsonClone, jsonStringify, LoggerLevel, objectsEqual, wrapFunction } from "@kwiz/common";
|
4
|
+
import { useCallback, useEffect, useRef, useState } from "react";
|
5
|
+
import { GetLogger } from "../_modules/config";
|
6
|
+
import { Prompter } from "../controls/prompt";
|
7
|
+
import { KnownClassNames } from "../styles/styles";
|
8
|
+
import { useKWIZFluentContext } from "./context";
|
9
|
+
const logger = GetLogger("helpers/hooks");
|
10
|
+
/** Empty array ensures that effect is only run on mount */
|
11
|
+
export const useEffectOnlyOnMount = [];
|
12
|
+
/** set state on steroids. provide promise callback after render, onChange transformer and automatic skip-set when value not changed */
|
13
|
+
export function useStateEX(initialValue, options) {
|
14
|
+
options = options || {};
|
15
|
+
const name = options.name || '';
|
16
|
+
let logger = GetLogger(`useStateWithTrack${isNullOrEmptyString(name) ? '' : ` ${name}`}`);
|
17
|
+
logger.setLevel(LoggerLevel.WARN);
|
18
|
+
const [value, setValueInState] = useState(initialValue);
|
19
|
+
const currentValue = useRef(value);
|
20
|
+
/** make this a collection in case several callers are awaiting the same propr update */
|
21
|
+
const resolveState = useRef([]);
|
22
|
+
const isMounted = useRef(false);
|
23
|
+
useEffect(() => {
|
24
|
+
isMounted.current = true;
|
25
|
+
return () => {
|
26
|
+
isMounted.current = false;
|
27
|
+
};
|
28
|
+
}, useEffectOnlyOnMount);
|
29
|
+
function resolvePromises() {
|
30
|
+
if (isNotEmptyArray(resolveState.current)) {
|
31
|
+
let resolvers = resolveState.current.slice();
|
32
|
+
resolveState.current = []; //clear
|
33
|
+
resolvers.map(r => r(currentValue.current));
|
34
|
+
}
|
35
|
+
}
|
36
|
+
;
|
37
|
+
useEffect(() => {
|
38
|
+
resolvePromises();
|
39
|
+
if (isNotEmptyArray(resolveState.current)) {
|
40
|
+
logger.log(`resolved after render`);
|
41
|
+
let resolvers = resolveState.current.slice();
|
42
|
+
resolveState.current = []; //clear
|
43
|
+
resolvers.map(r => r(value));
|
44
|
+
}
|
45
|
+
}, [value, resolveState.current]);
|
46
|
+
let setValueWithCheck = !options.skipUpdateIfSame ? setValueInState : (newValue) => {
|
47
|
+
logger.groupSync('conditional value change', log => {
|
48
|
+
if (logger.getLevel() === LoggerLevel.VERBOSE) {
|
49
|
+
log('old: ' + jsonStringify(currentValue.current));
|
50
|
+
log('new: ' + jsonStringify(newValue));
|
51
|
+
}
|
52
|
+
if (!objectsEqual(newValue, currentValue.current)) {
|
53
|
+
log(`value changed`);
|
54
|
+
setValueInState(newValue);
|
55
|
+
}
|
56
|
+
else {
|
57
|
+
log(`value unchanged`);
|
58
|
+
resolvePromises();
|
59
|
+
}
|
60
|
+
});
|
61
|
+
};
|
62
|
+
let setValueWithEvents = wrapFunction(setValueWithCheck, {
|
63
|
+
before: newValue => isFunction(options.onChange) ? options.onChange(newValue) : newValue,
|
64
|
+
after: newValue => currentValue.current = newValue
|
65
|
+
});
|
66
|
+
const setValue = useCallback((newState) => new Promise(resolve => {
|
67
|
+
if (!isMounted.current) {
|
68
|
+
//unmounted may never resolve
|
69
|
+
logger.log(`resolved without wait`);
|
70
|
+
resolve(newState);
|
71
|
+
}
|
72
|
+
else {
|
73
|
+
resolveState.current.push(resolve);
|
74
|
+
setValueWithEvents(newState);
|
75
|
+
}
|
76
|
+
}), []);
|
77
|
+
return [value, setValue, currentValue];
|
78
|
+
}
|
79
|
+
export function useTrackFocus(props) {
|
80
|
+
const wrapperDiv = props.ref || useRef(null);
|
81
|
+
useEffect(() => {
|
82
|
+
function focusIn(e) {
|
83
|
+
let elm = e.target; //document.activeElement;
|
84
|
+
if (wrapperDiv.current) {
|
85
|
+
while (elm && elm !== wrapperDiv.current) {
|
86
|
+
elm = elm.parentElement;
|
87
|
+
}
|
88
|
+
}
|
89
|
+
else
|
90
|
+
elm = null;
|
91
|
+
if (wrapperDiv.current && elm === wrapperDiv.current)
|
92
|
+
props.onFocus();
|
93
|
+
else
|
94
|
+
props.onLoseFocus();
|
95
|
+
}
|
96
|
+
if (wrapperDiv.current) {
|
97
|
+
if (wrapperDiv.current)
|
98
|
+
wrapperDiv.current.tabIndex = 1;
|
99
|
+
window.addEventListener("focusin", focusIn);
|
100
|
+
// Remove event listener on cleanup
|
101
|
+
return () => window.removeEventListener("focusin", focusIn);
|
102
|
+
}
|
103
|
+
}, [wrapperDiv.current]);
|
104
|
+
return wrapperDiv;
|
105
|
+
}
|
106
|
+
export function useWindowSize() {
|
107
|
+
// Initialize state with undefined width/height so server and client renders match
|
108
|
+
// Learn more here: https://joshwcomeau.com/react/the-perils-of-rehydration/
|
109
|
+
const [windowSize, setWindowSize] = useState({
|
110
|
+
width: undefined,
|
111
|
+
height: undefined
|
112
|
+
});
|
113
|
+
useEffect(() => {
|
114
|
+
// Handler to call on window resize
|
115
|
+
function handleResize() {
|
116
|
+
// Set window width/height to state
|
117
|
+
setWindowSize({
|
118
|
+
width: window.innerWidth,
|
119
|
+
height: window.innerHeight
|
120
|
+
});
|
121
|
+
}
|
122
|
+
// Add event listener
|
123
|
+
window.addEventListener("resize", handleResize);
|
124
|
+
// Call handler right away so state gets updated with initial window size
|
125
|
+
handleResize();
|
126
|
+
// Remove event listener on cleanup
|
127
|
+
return () => window.removeEventListener("resize", handleResize);
|
128
|
+
}, useEffectOnlyOnMount);
|
129
|
+
return windowSize;
|
130
|
+
}
|
131
|
+
export function useIsInPrint() {
|
132
|
+
// Initialize state with false
|
133
|
+
const [printMode, setPrintMode] = useState(false);
|
134
|
+
useEffect(() => {
|
135
|
+
function forcePrint(e) {
|
136
|
+
if (e.ctrlKey && e.shiftKey && e.altKey) {
|
137
|
+
if (e.key.toLocaleLowerCase() === "q") {
|
138
|
+
document.body.classList.remove(KnownClassNames.print);
|
139
|
+
handlePrint(e, false);
|
140
|
+
}
|
141
|
+
else {
|
142
|
+
console.warn('forced print mode - to exit refresh to ctrl+shift+alt+q');
|
143
|
+
document.body.classList.add(KnownClassNames.print);
|
144
|
+
handlePrint(e, true);
|
145
|
+
}
|
146
|
+
}
|
147
|
+
}
|
148
|
+
// Handler to call on printing
|
149
|
+
function handlePrint(e, force) {
|
150
|
+
if (force === true)
|
151
|
+
setPrintMode(true);
|
152
|
+
else if (window.matchMedia) {
|
153
|
+
var mediaQueryList = window.matchMedia('print');
|
154
|
+
if (mediaQueryList.matches) {
|
155
|
+
setPrintMode(true);
|
156
|
+
}
|
157
|
+
else {
|
158
|
+
setPrintMode(false);
|
159
|
+
}
|
160
|
+
}
|
161
|
+
}
|
162
|
+
// Add event listener
|
163
|
+
window.addEventListener("print", handlePrint);
|
164
|
+
if (isDebug())
|
165
|
+
window.addEventListener("keydown", forcePrint);
|
166
|
+
// Call handler right away so state gets updated with initial printing state
|
167
|
+
handlePrint();
|
168
|
+
// Remove event listener on cleanup
|
169
|
+
return () => {
|
170
|
+
window.removeEventListener("print", handlePrint);
|
171
|
+
if (isDebug())
|
172
|
+
window.removeEventListener("keydown", forcePrint);
|
173
|
+
};
|
174
|
+
}, useEffectOnlyOnMount);
|
175
|
+
return printMode;
|
176
|
+
}
|
177
|
+
/** set block message if you want to block nav.
|
178
|
+
* - call setMessage to add a blocker message
|
179
|
+
* - call onNav when you have internal navigation (open / close popups)
|
180
|
+
* - render the navPrompt control to your page
|
181
|
+
* FYI for page unload, most modern browsers won't show your message but a generic one instead. */
|
182
|
+
export function useBlockNav() {
|
183
|
+
const [, setBlockNavMessages, blockNavMessagesRef] = useStateEX({});
|
184
|
+
const [prompt, setPrompt] = useStateEX(null);
|
185
|
+
const getMessagesArr = useCallback(() => {
|
186
|
+
return Object.keys(blockNavMessagesRef.current).map(id => blockNavMessagesRef.current[id]);
|
187
|
+
}, useEffectOnlyOnMount);
|
188
|
+
const getMessages = useCallback(() => {
|
189
|
+
return getMessagesArr().join();
|
190
|
+
}, useEffectOnlyOnMount);
|
191
|
+
const onNav = useCallback((nav) => {
|
192
|
+
let messages = getMessagesArr();
|
193
|
+
if (isNotEmptyArray(messages)) {
|
194
|
+
//need to release react to re-render the prompt
|
195
|
+
window.setTimeout(() => {
|
196
|
+
//prompt, if ok - clear messages and nav.
|
197
|
+
setPrompt({
|
198
|
+
okButtonText: "Leave",
|
199
|
+
cancelButtonText: "Cancel",
|
200
|
+
title: "Leave page?",
|
201
|
+
children: messages.length > 1
|
202
|
+
? _jsx("ul", { children: messages.map((m, i) => _jsx("li", { children: m }, `m${i}`)) })
|
203
|
+
: _jsx("p", { children: messages[0] }),
|
204
|
+
onCancel: () => setPrompt(null),
|
205
|
+
onOK: () => {
|
206
|
+
setPrompt(null);
|
207
|
+
setBlockNavMessages({}); //clear messages
|
208
|
+
nav();
|
209
|
+
}
|
210
|
+
});
|
211
|
+
}, 1);
|
212
|
+
}
|
213
|
+
else
|
214
|
+
nav();
|
215
|
+
}, useEffectOnlyOnMount);
|
216
|
+
useEffect(() => {
|
217
|
+
function handleBeforeUnload(e) {
|
218
|
+
//todo: use blockMessageRef.current so that we don't have to re-register every time message changes.
|
219
|
+
//otherwise we would have to add blockMessage as a dependency for this useEffect
|
220
|
+
const message = getMessages();
|
221
|
+
if (!isNullOrEmptyString(message)) {
|
222
|
+
e.preventDefault();
|
223
|
+
e.returnValue = message;
|
224
|
+
}
|
225
|
+
}
|
226
|
+
// Add event listener
|
227
|
+
window.addEventListener("beforeunload", handleBeforeUnload);
|
228
|
+
// Remove event listener on cleanup
|
229
|
+
return () => window.removeEventListener("beforeunload", handleBeforeUnload);
|
230
|
+
}, useEffectOnlyOnMount);
|
231
|
+
return {
|
232
|
+
setMessage: (id, message) => {
|
233
|
+
let current = jsonClone(blockNavMessagesRef.current);
|
234
|
+
if (isNullOrEmptyString(message))
|
235
|
+
delete current[id];
|
236
|
+
else
|
237
|
+
current[id] = message;
|
238
|
+
if (!objectsEqual(current, blockNavMessagesRef.current))
|
239
|
+
setBlockNavMessages(current);
|
240
|
+
},
|
241
|
+
// clearMessages: () => {
|
242
|
+
// setBlockNavMessages({});
|
243
|
+
// },
|
244
|
+
// getMessages,
|
245
|
+
// getMessagesArr,
|
246
|
+
onNav,
|
247
|
+
navPrompt: prompt ? _jsx(Prompter, Object.assign({}, prompt)) : undefined
|
248
|
+
};
|
249
|
+
}
|
250
|
+
export function useKeyDown(options) {
|
251
|
+
let elm = options.elm || document;
|
252
|
+
useEffect(() => {
|
253
|
+
let handler = (e) => {
|
254
|
+
if (e.key === "Enter" && isFunction(options.onEnter))
|
255
|
+
options.onEnter(e);
|
256
|
+
else if (e.key === "Escape" && isFunction(options.onEscape))
|
257
|
+
options.onEscape(e);
|
258
|
+
if (isFunction(options.onKeyDown))
|
259
|
+
options.onKeyDown(e);
|
260
|
+
};
|
261
|
+
elm.addEventListener("keydown", handler);
|
262
|
+
return () => elm.removeEventListener("keydown", handler);
|
263
|
+
}, [elm]);
|
264
|
+
}
|
265
|
+
export function useToast() {
|
266
|
+
const ctx = useKWIZFluentContext();
|
267
|
+
const toasterId = useId("toaster");
|
268
|
+
const { dispatchToast } = useToastController(toasterId);
|
269
|
+
return {
|
270
|
+
control: _jsx(Toaster, { mountNode: ctx.mountNode, toasterId: toasterId }),
|
271
|
+
dispatch: (info) => {
|
272
|
+
dispatchToast(_jsxs(Toast, { children: [info.title && _jsx(ToastTitle, { action: info.titleAction ? _jsx(Link, { onClick: info.titleAction.onClick, children: info.titleAction.text }) : undefined, children: info.title }), info.body && _jsx(ToastBody, { subtitle: info.subtitle, children: info.body }), isNotEmptyArray(info.footerActions) &&
|
273
|
+
_jsx(ToastFooter, { children: info.footerActions.map((a, i) => _jsx(Link, { onClick: a.onClick, children: a.text }, `l${i}`)) })] }), { intent: info.intent || "info" });
|
274
|
+
}
|
275
|
+
};
|
276
|
+
}
|
277
|
+
export function useKWIZFluentContextProvider(options) {
|
278
|
+
let v = options && options.ctx || {};
|
279
|
+
const [kwizFluentContext, setKwizFluentContext] = useState(v);
|
280
|
+
useEffect(() => {
|
281
|
+
// ref only updates in useEffect, not in useMemo or anything else.
|
282
|
+
// we need to set it into state so it will trigger a ui update
|
283
|
+
setKwizFluentContext(Object.assign(Object.assign({}, v), { mountNode: options.root.current }));
|
284
|
+
}, [options.root]);
|
285
|
+
return kwizFluentContext;
|
286
|
+
}
|
287
|
+
//# sourceMappingURL=hooks.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"hooks.js","sourceRoot":"","sources":["../../src/helpers/hooks.tsx"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
ADDED
@@ -0,0 +1,25 @@
|
|
1
|
+
export * from './controls/accordion';
|
2
|
+
export * from './controls/button';
|
3
|
+
export * from './controls/centered';
|
4
|
+
export * from './controls/date';
|
5
|
+
export * from './controls/dropdown';
|
6
|
+
export * from './controls/error-boundary';
|
7
|
+
export * from './controls/field-editor';
|
8
|
+
export * from './controls/file-upload';
|
9
|
+
export * from './controls/horizontal';
|
10
|
+
export * from './controls/input';
|
11
|
+
export * from './controls/kwizoverflow';
|
12
|
+
export * from './controls/list';
|
13
|
+
export * from './controls/loading';
|
14
|
+
export * from './controls/please-wait';
|
15
|
+
export * from './controls/prompt';
|
16
|
+
export * from './controls/search';
|
17
|
+
export * from './controls/section';
|
18
|
+
export * from './controls/svg';
|
19
|
+
export * from './controls/toolbar';
|
20
|
+
export * from './controls/vertical';
|
21
|
+
export * from './controls/vertical-content';
|
22
|
+
export { KWIZFluentContext, useKWIZFluentContext } from './helpers/context';
|
23
|
+
export type { iKWIZFluentContext } from './helpers/context';
|
24
|
+
export * from './helpers/hooks';
|
25
|
+
export { KnownClassNames } from './styles/styles';
|
package/dist/index.js
ADDED
@@ -0,0 +1,25 @@
|
|
1
|
+
export * from './controls/accordion';
|
2
|
+
export * from './controls/button';
|
3
|
+
export * from './controls/centered';
|
4
|
+
export * from './controls/date';
|
5
|
+
export * from './controls/dropdown';
|
6
|
+
export * from './controls/error-boundary';
|
7
|
+
export * from './controls/field-editor';
|
8
|
+
export * from './controls/file-upload';
|
9
|
+
export * from './controls/horizontal';
|
10
|
+
export * from './controls/input';
|
11
|
+
export * from './controls/kwizoverflow';
|
12
|
+
export * from './controls/list';
|
13
|
+
export * from './controls/loading';
|
14
|
+
export * from './controls/please-wait';
|
15
|
+
export * from './controls/prompt';
|
16
|
+
export * from './controls/search';
|
17
|
+
export * from './controls/section';
|
18
|
+
export * from './controls/svg';
|
19
|
+
export * from './controls/toolbar';
|
20
|
+
export * from './controls/vertical';
|
21
|
+
export * from './controls/vertical-content';
|
22
|
+
export { KWIZFluentContext, useKWIZFluentContext } from './helpers/context';
|
23
|
+
export * from './helpers/hooks';
|
24
|
+
export { KnownClassNames } from './styles/styles';
|
25
|
+
//# sourceMappingURL=index.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,sBAAsB,CAAC;AACrC,cAAc,mBAAmB,CAAC;AAClC,cAAc,qBAAqB,CAAC;AACpC,cAAc,iBAAiB,CAAC;AAChC,cAAc,qBAAqB,CAAC;AACpC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,yBAAyB,CAAC;AACxC,cAAc,wBAAwB,CAAC;AACvC,cAAc,uBAAuB,CAAC;AACtC,cAAc,kBAAkB,CAAC;AACjC,cAAc,yBAAyB,CAAC;AACxC,cAAc,iBAAiB,CAAC;AAChC,cAAc,oBAAoB,CAAC;AACnC,cAAc,wBAAwB,CAAC;AACvC,cAAc,mBAAmB,CAAC;AAClC,cAAc,mBAAmB,CAAC;AAClC,cAAc,oBAAoB,CAAC;AACnC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,oBAAoB,CAAC;AACnC,cAAc,qBAAqB,CAAC;AACpC,cAAc,6BAA6B,CAAC;AAC5C,OAAO,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAE5E,cAAc,iBAAiB,CAAC;AAChC,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC"}
|
@@ -0,0 +1,19 @@
|
|
1
|
+
import { GriffelStyle } from "@fluentui/react-components";
|
2
|
+
export declare namespace mixins {
|
3
|
+
const main: GriffelStyle;
|
4
|
+
const clickable: GriffelStyle;
|
5
|
+
const float: GriffelStyle;
|
6
|
+
const flex: GriffelStyle;
|
7
|
+
const wrap: GriffelStyle;
|
8
|
+
const nogap: GriffelStyle;
|
9
|
+
const ellipsis: GriffelStyle;
|
10
|
+
}
|
11
|
+
export declare const KnownClassNames: {
|
12
|
+
print: string;
|
13
|
+
section: string;
|
14
|
+
vertical: string;
|
15
|
+
horizontal: string;
|
16
|
+
list: string;
|
17
|
+
};
|
18
|
+
export declare const useCommonStyles: () => Record<"printShow" | "printHide", string>;
|
19
|
+
export declare const widthMedium = 360;
|