@true-engineering/true-react-common-ui-kit 4.0.0-alpha2 → 4.0.0-alpha20
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/README.md +11 -567
- package/dist/components/Button/Button.styles.d.ts +1 -1
- package/dist/components/Checkbox/Checkbox.styles.d.ts +1 -1
- package/dist/components/ControlWrapper/ControlWrapper.d.ts +2 -0
- package/dist/components/ControlWrapper/ControlWrapper.styles.d.ts +2 -1
- package/dist/components/ControlWrapper/index.d.ts +1 -0
- package/dist/components/ControlWrapper/types.d.ts +3 -0
- package/dist/components/DatePicker/DatePicker.d.ts +3 -3
- package/dist/components/DatePicker/DatePicker.styles.d.ts +1 -1
- package/dist/components/DatePicker/components/PopperContainer/PopperContainer.d.ts +2 -4
- package/dist/components/DatePicker/helpers.d.ts +3 -0
- package/dist/components/DatePicker/types.d.ts +5 -3
- package/dist/components/FiltersPane/FiltersPane.d.ts +7 -2
- package/dist/components/FiltersPane/components/Filter/Filter.d.ts +2 -2
- package/dist/components/FiltersPane/components/Filter/helpers.d.ts +4 -0
- package/dist/components/FiltersPane/components/FilterInterval/FilterInterval.styles.d.ts +1 -1
- package/dist/components/FiltersPane/components/FilterSelect/FilterSelect.styles.d.ts +1 -1
- package/dist/components/FiltersPane/components/FilterValueView/FilterValueView.d.ts +3 -1
- package/dist/components/FiltersPane/components/FilterWithDates/FilterWithDates.styles.d.ts +2 -2
- package/dist/components/FiltersPane/components/FilterWrapper/FilterWrapper.d.ts +2 -2
- package/dist/components/FiltersPane/types.d.ts +15 -5
- package/dist/components/Flag/customFlags/customFlags.d.ts +10 -0
- package/dist/components/Flag/customFlags/index.d.ts +1 -0
- package/dist/components/FlexibleTable/FlexibleTable.d.ts +4 -2
- package/dist/components/FlexibleTable/components/FlexibleTableCell/FlexibleTableCell.d.ts +4 -3
- package/dist/components/FlexibleTable/components/FlexibleTableRow/FlexibleTableRow.d.ts +6 -6
- package/dist/components/FlexibleTable/constants.d.ts +18 -2
- package/dist/components/FlexibleTable/types.d.ts +8 -8
- package/dist/components/Icon/icons-list.d.ts +1 -1
- package/dist/components/IconButton/IconButton.styles.d.ts +1 -1
- package/dist/components/Input/Input.d.ts +3 -2
- package/dist/components/Input/InputBase.d.ts +2 -2
- package/dist/components/List/List.d.ts +1 -1
- package/dist/components/List/index.d.ts +2 -1
- package/dist/components/List/types.d.ts +4 -0
- package/dist/components/Modal/Modal.styles.d.ts +1 -1
- package/dist/components/Notification/Notification.styles.d.ts +1 -1
- package/dist/components/ScrollIntoViewIfNeeded/ScrollIntoViewIfNeeded.d.ts +1 -1
- package/dist/components/SearchInput/SearchInput.d.ts +2 -2
- package/dist/components/Select/Select.d.ts +5 -3
- package/dist/components/Select/Select.styles.d.ts +4 -4
- package/dist/components/Select/index.d.ts +1 -1
- package/dist/components/Status/Status.styles.d.ts +3 -2
- package/dist/components/Status/constants.d.ts +0 -1
- package/dist/components/Status/index.d.ts +1 -0
- package/dist/components/Status/types.d.ts +5 -2
- package/dist/components/TextArea/TextArea.d.ts +2 -5
- package/dist/components/TextArea/TextArea.styles.d.ts +1 -2
- package/dist/components/TextArea/index.d.ts +0 -1
- package/dist/components/TextButton/TextButton.styles.d.ts +1 -1
- package/dist/components/Tooltip/Tooltip.d.ts +1 -1
- package/dist/components/Tooltip/Tooltip.styles.d.ts +1 -1
- package/dist/components/WithMessages/WithMessages.styles.d.ts +1 -1
- package/dist/components/WithPopup/WithPopup.d.ts +21 -6
- package/dist/components/WithPopup/WithPopup.styles.d.ts +1 -1
- package/dist/components/WithPopup/helpers.d.ts +2 -0
- package/dist/components/WithPopup/types.d.ts +3 -0
- package/dist/components/WithTooltip/WithTooltip.styles.d.ts +1 -0
- package/dist/hooks/index.d.ts +1 -0
- package/dist/hooks/use-merge.d.ts +1 -0
- package/dist/hooks/use-mixed-styles.d.ts +3 -1
- package/dist/hooks/use-tweak-styles.d.ts +5 -5
- package/dist/style.css +78 -142
- package/dist/theme/Provider.d.ts +6 -3
- package/dist/theme/common.d.ts +4 -2
- package/dist/theme/create-themed-styles.d.ts +2 -0
- package/dist/theme/helpers.d.ts +9 -3
- package/dist/theme/index.d.ts +2 -0
- package/dist/theme/true-jss/ThemedStylesManager.d.ts +18 -0
- package/dist/theme/true-jss/TweakStylesManager.d.ts +34 -0
- package/dist/theme/true-jss/index.d.ts +2 -0
- package/dist/theme/true-jss/jss-context.d.ts +9 -0
- package/dist/theme/types.d.ts +5 -3
- package/dist/true-react-common-ui-kit.js +7519 -6456
- package/dist/true-react-common-ui-kit.js.map +1 -1
- package/dist/true-react-common-ui-kit.umd.cjs +7455 -6393
- package/dist/true-react-common-ui-kit.umd.cjs.map +1 -1
- package/dist/types.d.ts +10 -3
- package/package.json +4 -5
- package/src/components/ControlWrapper/ControlWrapper.styles.ts +7 -6
- package/src/components/ControlWrapper/ControlWrapper.tsx +8 -2
- package/src/components/ControlWrapper/index.ts +1 -0
- package/src/components/ControlWrapper/types.ts +4 -0
- package/src/components/DatePicker/DatePicker.stories.tsx +2 -1
- package/src/components/DatePicker/DatePicker.styles.ts +3 -1
- package/src/components/DatePicker/DatePicker.tsx +12 -7
- package/src/components/DatePicker/components/PopperContainer/PopperContainer.tsx +4 -4
- package/src/components/DatePicker/helpers.ts +13 -1
- package/src/components/DatePicker/types.ts +9 -4
- package/src/components/FiltersPane/FiltersPane.stories.tsx +4 -2
- package/src/components/FiltersPane/FiltersPane.tsx +19 -13
- package/src/components/FiltersPane/components/Filter/Filter.tsx +24 -17
- package/src/components/FiltersPane/components/Filter/helpers.ts +18 -0
- package/src/components/FiltersPane/components/FilterValueView/FilterValueView.tsx +27 -22
- package/src/components/FiltersPane/components/FilterWithDates/FilterWithDates.styles.ts +1 -0
- package/src/components/FiltersPane/components/FilterWithDates/FilterWithDates.tsx +3 -4
- package/src/components/FiltersPane/components/FilterWithPeriod/FilterWithPeriod.tsx +1 -1
- package/src/components/FiltersPane/components/FilterWrapper/FilterWrapper.tsx +7 -5
- package/src/components/FiltersPane/types.ts +23 -5
- package/src/components/Flag/Flag.stories.tsx +2 -1
- package/src/components/Flag/Flag.styles.ts +4 -0
- package/src/components/Flag/Flag.tsx +23 -9
- package/src/components/Flag/customFlags/AB.svg +1 -0
- package/src/components/Flag/customFlags/OS.svg +1 -0
- package/src/components/Flag/customFlags/augment.d.ts +1 -0
- package/src/components/Flag/customFlags/customFlags.ts +13 -0
- package/src/components/Flag/customFlags/index.ts +1 -0
- package/src/components/FlexibleTable/FlexibleTable.tsx +13 -12
- package/src/components/FlexibleTable/components/FlexibleTableCell/FlexibleTableCell.tsx +8 -5
- package/src/components/FlexibleTable/components/FlexibleTableRow/FlexibleTableRow.tsx +13 -12
- package/src/components/FlexibleTable/constants.ts +6 -3
- package/src/components/FlexibleTable/types.ts +8 -12
- package/src/components/Input/Input.tsx +5 -3
- package/src/components/Input/InputBase.tsx +27 -24
- package/src/components/List/List.tsx +5 -2
- package/src/components/List/index.ts +2 -1
- package/src/components/List/types.ts +5 -0
- package/src/components/NumberInput/NumberInput.stories.tsx +5 -1
- package/src/components/PhoneInput/PhoneInput.stories.tsx +2 -1
- package/src/components/PhoneInput/PhoneInput.tsx +5 -2
- package/src/components/SearchInput/SearchInput.tsx +20 -29
- package/src/components/Select/Select.tsx +12 -2
- package/src/components/Select/components/SelectList/SelectList.tsx +1 -1
- package/src/components/Select/index.ts +1 -1
- package/src/components/Status/Status.stories.tsx +54 -1
- package/src/components/Status/Status.styles.ts +2 -37
- package/src/components/Status/constants.ts +0 -10
- package/src/components/Status/index.ts +1 -1
- package/src/components/Status/types.ts +7 -3
- package/src/components/TextArea/TextArea.styles.ts +2 -6
- package/src/components/TextArea/TextArea.tsx +41 -20
- package/src/components/TextArea/index.ts +0 -1
- package/src/components/TextButton/TextButton.styles.ts +1 -0
- package/src/components/Tooltip/Tooltip.styles.ts +2 -0
- package/src/components/Tooltip/Tooltip.tsx +1 -1
- package/src/components/WithPopup/WithPopup.stories.tsx +1 -0
- package/src/components/WithPopup/WithPopup.styles.ts +2 -0
- package/src/components/WithPopup/WithPopup.tsx +64 -16
- package/src/components/WithPopup/helpers.ts +9 -0
- package/src/components/WithPopup/types.ts +7 -0
- package/src/components/WithTooltip/WithTooltip.styles.ts +6 -0
- package/src/components/WithTooltip/WithTooltip.tsx +7 -2
- package/src/constants/phone-info.ts +20 -33
- package/src/helpers/phone.ts +19 -15
- package/src/hooks/index.ts +1 -0
- package/src/hooks/use-merge.ts +8 -0
- package/src/hooks/use-mixed-styles.ts +9 -11
- package/src/hooks/use-tweak-styles.ts +49 -27
- package/src/theme/Provider.tsx +10 -5
- package/src/theme/common.ts +5 -2
- package/src/theme/create-themed-styles.ts +78 -0
- package/src/theme/helpers.ts +39 -39
- package/src/theme/index.ts +2 -0
- package/src/theme/true-jss/ThemedStylesManager.ts +92 -0
- package/src/theme/true-jss/TweakStylesManager.ts +157 -0
- package/src/theme/true-jss/index.ts +2 -0
- package/src/theme/true-jss/jss-context.tsx +34 -0
- package/src/theme/types.ts +5 -3
- package/src/types.ts +17 -4
- package/dist/components/AccountInfo/AccountInfo.stories.d.ts +0 -6
- package/dist/components/AddButton/AddButton.stories.d.ts +0 -6
- package/dist/components/Button/Button.stories.d.ts +0 -6
- package/dist/components/Checkbox/Checkbox.stories.d.ts +0 -8
- package/dist/components/CloseButton/CloseButton.stories.d.ts +0 -5
- package/dist/components/Colors/Colors.stories.d.ts +0 -5
- package/dist/components/ControlWrapper/ControlWrapper.stories.d.ts +0 -6
- package/dist/components/DateInput/DateInput.stories.d.ts +0 -7
- package/dist/components/DatePicker/DatePicker.stories.d.ts +0 -7
- package/dist/components/Description/Description.stories.d.ts +0 -16
- package/dist/components/FileInput/FileInput.stories.d.ts +0 -7
- package/dist/components/FileItem/FileItem.stories.d.ts +0 -8
- package/dist/components/FiltersPane/FiltersPane.stories.d.ts +0 -31
- package/dist/components/Flag/Flag.stories.d.ts +0 -12
- package/dist/components/FlexibleTable/FlexibleTable.stories.d.ts +0 -19
- package/dist/components/Icon/Icon.stories.d.ts +0 -6
- package/dist/components/IconButton/IconButton.stories.d.ts +0 -6
- package/dist/components/IncrementInput/IncrementInput.stories.d.ts +0 -6
- package/dist/components/Input/Input.stories.d.ts +0 -25
- package/dist/components/List/List.stories.d.ts +0 -5
- package/dist/components/Modal/Modal.stories.d.ts +0 -29
- package/dist/components/MoreMenu/MoreMenu.stories.d.ts +0 -6
- package/dist/components/MultiSelect/MultiSelect.stories.d.ts +0 -13
- package/dist/components/NewMoreMenu/NewMoreMenu.stories.d.ts +0 -12
- package/dist/components/Notification/Notification.stories.d.ts +0 -8
- package/dist/components/NumberInput/NumberInput.stories.d.ts +0 -7
- package/dist/components/PhoneInput/PhoneInput.stories.d.ts +0 -28
- package/dist/components/PhoneInput/components/PhoneInputCountryList/PhoneInputCountryList.stories.d.ts +0 -5
- package/dist/components/RadioButton/RadioButton.stories.d.ts +0 -7
- package/dist/components/SearchInput/SearchInput.stories.d.ts +0 -6
- package/dist/components/Select/CustomSelect.stories.d.ts +0 -11
- package/dist/components/Select/MultiSelect.stories.d.ts +0 -15
- package/dist/components/Select/Select.stories.d.ts +0 -15
- package/dist/components/Selector/Selector.stories.d.ts +0 -7
- package/dist/components/Skeleton/Skeleton.stories.d.ts +0 -6
- package/dist/components/SmartInput/SmartInput.stories.d.ts +0 -18
- package/dist/components/Status/Status.stories.d.ts +0 -6
- package/dist/components/Switch/Switch.stories.d.ts +0 -16
- package/dist/components/TextArea/TextArea.stories.d.ts +0 -17
- package/dist/components/TextArea/types.d.ts +0 -2
- package/dist/components/TextButton/TextButton.stories.d.ts +0 -6
- package/dist/components/TextWithInfo/TextWithInfo.stories.d.ts +0 -12
- package/dist/components/TextWithTooltip/TextWithTooltip.stories.d.ts +0 -24
- package/dist/components/ThemedPreloader/ThemedPreloader.stories.d.ts +0 -17
- package/dist/components/Toaster/Toaster.stories.d.ts +0 -5
- package/dist/components/Tooltip/Tooltip.stories.d.ts +0 -5
- package/dist/components/WithMessages/WithMessages.stories.d.ts +0 -7
- package/dist/components/WithPopup/WithPopup.stories.d.ts +0 -16
- package/dist/components/WithTooltip/WithTooltip.stories.d.ts +0 -6
- package/src/components/TextArea/types.ts +0 -6
package/src/theme/helpers.ts
CHANGED
|
@@ -1,29 +1,31 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import merge from 'lodash-es/merge';
|
|
1
|
+
import { merge } from 'lodash-es';
|
|
3
2
|
import {
|
|
4
3
|
isArrayNotEmpty,
|
|
5
4
|
isNotEmpty,
|
|
6
5
|
mergeStyles,
|
|
7
6
|
} from '@true-engineering/true-react-platform-helpers';
|
|
8
|
-
import {
|
|
9
|
-
import { IComponentName, IStyles, IUseStyles } from './types';
|
|
7
|
+
import { IMaybeArray } from './types';
|
|
10
8
|
|
|
11
9
|
const EMPTY_STYLES = {};
|
|
12
10
|
|
|
13
|
-
const isTweakStyle = (key: string): boolean => key.startsWith('tweak');
|
|
11
|
+
export const isTweakStyle = (key: string): boolean => key.startsWith('tweak');
|
|
14
12
|
|
|
15
|
-
const
|
|
16
|
-
isNotEmpty(tweakStyles) && Object.keys(tweakStyles).
|
|
17
|
-
? tweakStyles
|
|
18
|
-
: (EMPTY_STYLES as T);
|
|
13
|
+
export const isStylesNotEmpty = <T>(tweakStyles?: T): tweakStyles is NonNullable<T> =>
|
|
14
|
+
isNotEmpty(tweakStyles) && !Object.keys(tweakStyles).every(isTweakStyle);
|
|
19
15
|
|
|
20
|
-
const
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
return
|
|
26
|
-
}
|
|
16
|
+
export const cleanStyles = <T>(tweakStyles?: T): T =>
|
|
17
|
+
isStylesNotEmpty(tweakStyles) ? tweakStyles : (EMPTY_STYLES as T);
|
|
18
|
+
|
|
19
|
+
export const mergeTweakStyles = <T>(tweakStyles?: IMaybeArray<T>): T | undefined => {
|
|
20
|
+
if (!Array.isArray(tweakStyles)) {
|
|
21
|
+
return tweakStyles;
|
|
22
|
+
}
|
|
23
|
+
const [first, ...rest] = tweakStyles;
|
|
24
|
+
return isArrayNotEmpty(rest) ? mergeStyles(first, ...rest) : first;
|
|
25
|
+
};
|
|
26
|
+
|
|
27
|
+
export const checkStyles = (componentName: string, styles: Record<string, unknown>): void => {
|
|
28
|
+
const invalidClasses = Object.keys(styles).filter(isTweakStyle);
|
|
27
29
|
|
|
28
30
|
if (isArrayNotEmpty(invalidClasses)) {
|
|
29
31
|
console.error(
|
|
@@ -47,30 +49,28 @@ export const themedStyles = <T>(styles: T, themeComponentStyles: T): T => {
|
|
|
47
49
|
return styles;
|
|
48
50
|
};
|
|
49
51
|
|
|
50
|
-
|
|
52
|
+
type TweakStylesCache = (styles: object[], prev?: object[]) => object | undefined;
|
|
53
|
+
export const getTweakStylesCache = (): TweakStylesCache => {
|
|
54
|
+
let mergedStyles: object | undefined;
|
|
55
|
+
const cache = new WeakMap<object, TweakStylesCache>();
|
|
51
56
|
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
57
|
+
const getNext = (next: object) => {
|
|
58
|
+
if (!cache.has(next)) {
|
|
59
|
+
cache.set(next, getTweakStylesCache());
|
|
60
|
+
}
|
|
61
|
+
return cache.get(next)!; // eslint-disable-line @typescript-eslint/no-non-null-assertion
|
|
62
|
+
};
|
|
56
63
|
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
64
|
+
return (styles, prev = []) => {
|
|
65
|
+
const [next, ...rest] = styles;
|
|
66
|
+
if (isNotEmpty(next)) {
|
|
67
|
+
return getNext(next)(rest, prev.concat(next));
|
|
68
|
+
}
|
|
62
69
|
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
const useStyles = createUseStyles<C, P>((tweakStyles) => {
|
|
67
|
-
const theme = getTheme();
|
|
68
|
-
return mergeStyles(
|
|
69
|
-
styles as Styles<C, P>,
|
|
70
|
-
isNotEmpty(componentName) ? (theme?.components?.[componentName] as Styles<C, P>) : undefined,
|
|
71
|
-
tweakStyles,
|
|
72
|
-
);
|
|
73
|
-
});
|
|
70
|
+
if (isNotEmpty(mergedStyles)) {
|
|
71
|
+
return mergedStyles;
|
|
72
|
+
}
|
|
74
73
|
|
|
75
|
-
|
|
76
|
-
}
|
|
74
|
+
return (mergedStyles = mergeTweakStyles(prev));
|
|
75
|
+
};
|
|
76
|
+
};
|
package/src/theme/index.ts
CHANGED
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
import { jss } from 'react-jss';
|
|
2
|
+
import type { Classes, StyleSheet } from 'jss';
|
|
3
|
+
import { isNotEmpty, mergeStyles } from '@true-engineering/true-react-platform-helpers';
|
|
4
|
+
import { IStyles } from '../types';
|
|
5
|
+
import { IPartialStyle, TweakStylesManager } from './TweakStylesManager';
|
|
6
|
+
import { IJssContext } from './jss-context';
|
|
7
|
+
|
|
8
|
+
interface IStyleSheet<C extends string> {
|
|
9
|
+
manager: TweakStylesManager<C>;
|
|
10
|
+
refs: number;
|
|
11
|
+
sheet: StyleSheet<C>;
|
|
12
|
+
detachTimeout?: number;
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
const NO_THEME_STYLES: IPartialStyle = {};
|
|
16
|
+
|
|
17
|
+
interface IThemedStylesManagerOptions<C extends string> {
|
|
18
|
+
styles: IStyles<C>;
|
|
19
|
+
name: string;
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
export class ThemedStylesManager<C extends string> {
|
|
23
|
+
#styleSheetMap = new Map<IPartialStyle, IStyleSheet<C>>();
|
|
24
|
+
#styles: IStyles<C>;
|
|
25
|
+
#name: string;
|
|
26
|
+
|
|
27
|
+
constructor({ styles, name }: IThemedStylesManagerOptions<C>) {
|
|
28
|
+
this.#styles = styles;
|
|
29
|
+
this.#name = name;
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
public getClasses(
|
|
33
|
+
theme = NO_THEME_STYLES,
|
|
34
|
+
tweak: IPartialStyle[],
|
|
35
|
+
jssContext: IJssContext,
|
|
36
|
+
): Classes<C> {
|
|
37
|
+
return this.getOrCreate(theme, jssContext).manager.getClasses(tweak);
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
public manageTweak(theme = NO_THEME_STYLES, tweak: IPartialStyle[]): VoidFunction | undefined {
|
|
41
|
+
this.#styleSheetMap.get(theme)?.manager.manage(tweak);
|
|
42
|
+
|
|
43
|
+
return () => this.#styleSheetMap.get(theme)?.manager.unmanage(tweak);
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
public manage(theme = NO_THEME_STYLES): VoidFunction | undefined {
|
|
47
|
+
const value = this.#styleSheetMap.get(theme);
|
|
48
|
+
if (!isNotEmpty(value)) {
|
|
49
|
+
return;
|
|
50
|
+
}
|
|
51
|
+
if (isNotEmpty(value.detachTimeout)) {
|
|
52
|
+
clearTimeout(value.detachTimeout);
|
|
53
|
+
value.detachTimeout = undefined;
|
|
54
|
+
}
|
|
55
|
+
value.refs += 1;
|
|
56
|
+
if (value.refs > 0) {
|
|
57
|
+
value.sheet.attach();
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
return () => this.unmanage(theme);
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
private unmanage(theme = NO_THEME_STYLES): void {
|
|
64
|
+
const value = this.#styleSheetMap.get(theme);
|
|
65
|
+
if (!isNotEmpty(value) || value.refs === 0) {
|
|
66
|
+
return;
|
|
67
|
+
}
|
|
68
|
+
value.refs -= 1;
|
|
69
|
+
if (value.refs === 0 && !isNotEmpty(value.detachTimeout)) {
|
|
70
|
+
value.detachTimeout = window.setTimeout(() => {
|
|
71
|
+
if (value.refs === 0) {
|
|
72
|
+
value.sheet.detach();
|
|
73
|
+
}
|
|
74
|
+
}, 100);
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
private getOrCreate(theme: IPartialStyle, jssContext: IJssContext): IStyleSheet<C> {
|
|
79
|
+
if (!this.#styleSheetMap.has(theme)) {
|
|
80
|
+
const sheet = jss.createStyleSheet(mergeStyles(this.#styles, theme), {
|
|
81
|
+
link: true,
|
|
82
|
+
meta: this.#name,
|
|
83
|
+
generateId: jssContext.generateId,
|
|
84
|
+
});
|
|
85
|
+
const classes = { ...sheet.classes };
|
|
86
|
+
const manager = new TweakStylesManager({ sheet, classes });
|
|
87
|
+
this.#styleSheetMap.set(theme, { sheet, manager, refs: 0 });
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
return this.#styleSheetMap.get(theme)!; // eslint-disable-line @typescript-eslint/no-non-null-assertion
|
|
91
|
+
}
|
|
92
|
+
}
|
|
@@ -0,0 +1,157 @@
|
|
|
1
|
+
import type { StyleSheet, Classes, Rule } from 'jss';
|
|
2
|
+
import {
|
|
3
|
+
isArrayNotEmpty,
|
|
4
|
+
isNotEmpty,
|
|
5
|
+
joinStrings,
|
|
6
|
+
mergeStyles,
|
|
7
|
+
} from '@true-engineering/true-react-platform-helpers';
|
|
8
|
+
import { isTweakStyle } from '../helpers';
|
|
9
|
+
|
|
10
|
+
export type IPartialStyle = object;
|
|
11
|
+
|
|
12
|
+
interface TweakRules<C extends string> {
|
|
13
|
+
classes: Classes<C>;
|
|
14
|
+
refs?: number;
|
|
15
|
+
rules: Map<C, Rule>;
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
interface TweakStylesManagerOptions<C extends string> {
|
|
19
|
+
sheet: StyleSheet<C>;
|
|
20
|
+
classes: Classes<C>;
|
|
21
|
+
tweak?: IPartialStyle[];
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
export class TweakStylesManager<C extends string> {
|
|
25
|
+
#map = new WeakMap<IPartialStyle, TweakStylesManager<C>>();
|
|
26
|
+
#sheet: StyleSheet<C>;
|
|
27
|
+
#classes: Classes<C>;
|
|
28
|
+
#tweak: IPartialStyle[];
|
|
29
|
+
|
|
30
|
+
#tweakRules: TweakRules<C> | undefined;
|
|
31
|
+
constructor({ sheet, classes, tweak = [] }: TweakStylesManagerOptions<C>) {
|
|
32
|
+
this.#sheet = sheet;
|
|
33
|
+
this.#classes = classes;
|
|
34
|
+
this.#tweak = tweak;
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
public getClasses([next, ...rest]: IPartialStyle[]): Classes<C> {
|
|
38
|
+
const nextManager = this.getNextManager(next);
|
|
39
|
+
if (isNotEmpty(nextManager)) {
|
|
40
|
+
return nextManager.getClasses(rest);
|
|
41
|
+
}
|
|
42
|
+
return this.getOrCreate()?.classes ?? this.#classes;
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
public manage([next, ...rest]: IPartialStyle[]): void {
|
|
46
|
+
const nextManager = this.getNextManager(next);
|
|
47
|
+
if (isNotEmpty(nextManager)) {
|
|
48
|
+
return nextManager.manage(rest);
|
|
49
|
+
}
|
|
50
|
+
if (!isNotEmpty(this.#tweakRules)) {
|
|
51
|
+
return;
|
|
52
|
+
}
|
|
53
|
+
if (this.#tweakRules.refs === 0) {
|
|
54
|
+
this.insertRules();
|
|
55
|
+
}
|
|
56
|
+
this.#tweakRules.refs = (this.#tweakRules.refs ?? 0) + 1;
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
public unmanage([next, ...rest]: IPartialStyle[]): void {
|
|
60
|
+
const nextManager = this.getNextManager(next);
|
|
61
|
+
if (isNotEmpty(nextManager)) {
|
|
62
|
+
return nextManager.unmanage(rest);
|
|
63
|
+
}
|
|
64
|
+
if (!isNotEmpty(this.#tweakRules) || this.#tweakRules.refs === 0) {
|
|
65
|
+
return;
|
|
66
|
+
}
|
|
67
|
+
this.#tweakRules.refs = (this.#tweakRules.refs ?? 1) - 1;
|
|
68
|
+
if (this.#tweakRules.refs === 0) {
|
|
69
|
+
this.deleteRules();
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
private getNextManager(next?: IPartialStyle) {
|
|
74
|
+
if (!isNotEmpty(next)) {
|
|
75
|
+
return;
|
|
76
|
+
}
|
|
77
|
+
if (!this.#map.has(next)) {
|
|
78
|
+
const manager = new TweakStylesManager({
|
|
79
|
+
sheet: this.#sheet,
|
|
80
|
+
classes: this.#classes,
|
|
81
|
+
tweak: this.#tweak.concat(next),
|
|
82
|
+
});
|
|
83
|
+
this.#map.set(next, manager);
|
|
84
|
+
}
|
|
85
|
+
return this.#map.get(next);
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
private getOrCreate() {
|
|
89
|
+
if (!isNotEmpty(this.#tweakRules) && isArrayNotEmpty(this.#tweak)) {
|
|
90
|
+
const [first, ...rest] = this.#tweak;
|
|
91
|
+
const styles = isArrayNotEmpty(rest) ? mergeStyles(first, ...rest) : first;
|
|
92
|
+
|
|
93
|
+
const rules = this.addRules(styles);
|
|
94
|
+
|
|
95
|
+
const classes = { ...this.#classes };
|
|
96
|
+
rules.forEach((rule, key) => {
|
|
97
|
+
classes[key] = joinStrings([classes[key], rule.id], ' ');
|
|
98
|
+
});
|
|
99
|
+
|
|
100
|
+
this.#tweakRules = { classes, rules };
|
|
101
|
+
}
|
|
102
|
+
return this.#tweakRules;
|
|
103
|
+
}
|
|
104
|
+
|
|
105
|
+
private addRules(styles: IPartialStyle) {
|
|
106
|
+
return new Map(
|
|
107
|
+
Object.entries(styles)
|
|
108
|
+
.map(([key, style]) => this.addRule(key as C, style))
|
|
109
|
+
.filter(isNotEmpty),
|
|
110
|
+
);
|
|
111
|
+
}
|
|
112
|
+
|
|
113
|
+
private addRule(key: C, style: object) {
|
|
114
|
+
if (isTweakStyle(key)) {
|
|
115
|
+
return;
|
|
116
|
+
}
|
|
117
|
+
const rule = this.#sheet.addRule(key, style, { index: this.getInsertIndex(key) });
|
|
118
|
+
return isNotEmpty(rule) ? ([key, rule] as const) : undefined;
|
|
119
|
+
}
|
|
120
|
+
|
|
121
|
+
private insertRules() {
|
|
122
|
+
this.#tweakRules?.rules.forEach((rule, key) => {
|
|
123
|
+
this.#sheet.rules.register(rule);
|
|
124
|
+
this.#sheet.rules.index.splice(this.getInsertIndex(key), 0, rule);
|
|
125
|
+
this.#sheet.insertRule(rule);
|
|
126
|
+
});
|
|
127
|
+
}
|
|
128
|
+
|
|
129
|
+
private deleteRules() {
|
|
130
|
+
this.#tweakRules?.rules.forEach((rule) => this.#sheet.deleteRule(rule));
|
|
131
|
+
}
|
|
132
|
+
|
|
133
|
+
private getInsertIndex(key: C) {
|
|
134
|
+
return (
|
|
135
|
+
this.#sheet.rules.index.findIndex((rule) => rule.key === key) + 1 ||
|
|
136
|
+
this.#sheet.rules.index.length
|
|
137
|
+
);
|
|
138
|
+
}
|
|
139
|
+
}
|
|
140
|
+
|
|
141
|
+
declare module 'jss' {
|
|
142
|
+
export interface RuleList {
|
|
143
|
+
index: Rule[];
|
|
144
|
+
}
|
|
145
|
+
// eslint-disable-next-line no-shadow
|
|
146
|
+
export interface StyleSheet<RuleName> {
|
|
147
|
+
rules: RuleList;
|
|
148
|
+
// eslint-disable-next-line @typescript-eslint/method-signature-style
|
|
149
|
+
deleteRule(rule: Rule): boolean;
|
|
150
|
+
// eslint-disable-next-line @typescript-eslint/method-signature-style
|
|
151
|
+
addRule(
|
|
152
|
+
name: RuleName,
|
|
153
|
+
style: JssStyle,
|
|
154
|
+
options?: Partial<Rule['options']>,
|
|
155
|
+
): (Rule & { id: string }) | null;
|
|
156
|
+
}
|
|
157
|
+
}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { Context, FC, PropsWithChildren, useContext, useMemo } from 'react';
|
|
2
|
+
import { JssContext as JssContextLib } from 'react-jss';
|
|
3
|
+
import { GenerateId } from 'jss';
|
|
4
|
+
|
|
5
|
+
export interface IJssContext {
|
|
6
|
+
generateId?: GenerateId;
|
|
7
|
+
tweakStylesArch?: 'react-jss' | 'true-jss';
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
/** Типизация JssContext оказалась некорректна */
|
|
11
|
+
export const JssContext = JssContextLib as unknown as Context<IJssContext>;
|
|
12
|
+
|
|
13
|
+
export const JssProvider: FC<PropsWithChildren<IJssContext>> = ({
|
|
14
|
+
children,
|
|
15
|
+
tweakStylesArch,
|
|
16
|
+
generateId,
|
|
17
|
+
}) => {
|
|
18
|
+
const context = useContext(JssContext);
|
|
19
|
+
|
|
20
|
+
const value: IJssContext = useMemo(
|
|
21
|
+
() => ({
|
|
22
|
+
...context,
|
|
23
|
+
tweakStylesArch: tweakStylesArch ?? context.tweakStylesArch,
|
|
24
|
+
generateId: generateId ?? context.generateId,
|
|
25
|
+
}),
|
|
26
|
+
[context, tweakStylesArch, generateId],
|
|
27
|
+
);
|
|
28
|
+
|
|
29
|
+
return (
|
|
30
|
+
<JssContext.Provider key={tweakStylesArch} value={value}>
|
|
31
|
+
{children}
|
|
32
|
+
</JssContext.Provider>
|
|
33
|
+
);
|
|
34
|
+
};
|
package/src/theme/types.ts
CHANGED
|
@@ -8,7 +8,6 @@ import type {
|
|
|
8
8
|
ICloseButtonStyles,
|
|
9
9
|
ICommonIcon,
|
|
10
10
|
IComplexIcon,
|
|
11
|
-
IWithMessagesStyles,
|
|
12
11
|
IControlWrapperStyles,
|
|
13
12
|
ICssBaselineStyles,
|
|
14
13
|
IDateInputStyles,
|
|
@@ -63,14 +62,17 @@ import type {
|
|
|
63
62
|
IThemedPreloaderStyles,
|
|
64
63
|
IToasterStyles,
|
|
65
64
|
ITooltipStyles,
|
|
65
|
+
IWithMessagesStyles,
|
|
66
66
|
IWithPopupStyles,
|
|
67
67
|
IWithTooltipStyles,
|
|
68
68
|
} from '../components';
|
|
69
69
|
|
|
70
|
-
export type IStyles<C extends string, P> = Styles<C, P, Partial<Styles<C, P>>>;
|
|
70
|
+
export type IStyles<C extends string, P = unknown> = Styles<C, P, Partial<Styles<C, P>>>;
|
|
71
71
|
|
|
72
|
+
export type IMaybeArray<T> = T[] | T;
|
|
73
|
+
export type IMixedStyles<T> = IMaybeArray<T | boolean | undefined>;
|
|
72
74
|
export type IUseStyles<C extends string, P = unknown> = (
|
|
73
|
-
data?: P & { theme?: Partial<Styles<C, P
|
|
75
|
+
data?: P & { theme?: IMaybeArray<Partial<Styles<C, P>>> },
|
|
74
76
|
) => Classes<C>;
|
|
75
77
|
|
|
76
78
|
export type ITweakStyles<
|
package/src/types.ts
CHANGED
|
@@ -1,13 +1,15 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import type {
|
|
2
2
|
FocusEventHandler,
|
|
3
|
-
|
|
3
|
+
KeyboardEvent,
|
|
4
4
|
KeyboardEventHandler,
|
|
5
5
|
MouseEvent,
|
|
6
6
|
MouseEventHandler,
|
|
7
7
|
PointerEventHandler,
|
|
8
8
|
ReactNode,
|
|
9
9
|
} from 'react';
|
|
10
|
-
import { Modifier, Placement } from 'react-overlays/usePopper';
|
|
10
|
+
import type { Modifier, Placement } from 'react-overlays/usePopper';
|
|
11
|
+
import type { JssStyle } from 'jss';
|
|
12
|
+
import type { IMaybeArray } from './theme';
|
|
11
13
|
|
|
12
14
|
export interface ITestIdProps {
|
|
13
15
|
testId?: string;
|
|
@@ -22,7 +24,7 @@ export interface IDataAttributesProps extends ITestIdProps {
|
|
|
22
24
|
}
|
|
23
25
|
|
|
24
26
|
export interface ITweakStylesProps<TweakStyles> {
|
|
25
|
-
tweakStyles?: TweakStyles
|
|
27
|
+
tweakStyles?: IMaybeArray<TweakStyles>;
|
|
26
28
|
}
|
|
27
29
|
|
|
28
30
|
export type ICommonProps<TweakStyles> = IDataAttributesProps & ITweakStylesProps<TweakStyles>;
|
|
@@ -63,3 +65,14 @@ export interface IDomElementInteractions<T> {
|
|
|
63
65
|
}
|
|
64
66
|
|
|
65
67
|
export type IRenderNode<T> = ReactNode | ((props: T) => ReactNode);
|
|
68
|
+
|
|
69
|
+
export type IExtendableProps<T extends string | readonly string[]> = Record<
|
|
70
|
+
T extends ReadonlyArray<infer P> ? P : T,
|
|
71
|
+
JssStyle
|
|
72
|
+
>;
|
|
73
|
+
|
|
74
|
+
export type IDefaultExtendableProps = IExtendableProps<'custom'>;
|
|
75
|
+
|
|
76
|
+
export type IWithPrefix<T, P extends string> = {
|
|
77
|
+
[K in keyof T as `${P}${K & string}`]: T[K];
|
|
78
|
+
};
|
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
declare const _default: {
|
|
2
|
-
title: string;
|
|
3
|
-
component: import("react").FC<import("./AccountInfo").IAccountInfoProps>;
|
|
4
|
-
};
|
|
5
|
-
export default _default;
|
|
6
|
-
export declare const Default: import("@storybook/types").AnnotatedStoryFn<import("@storybook/react/dist/types-0fc72a6d").R, import("./AccountInfo").IAccountInfoProps>;
|
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
declare const _default: {
|
|
2
|
-
title: string;
|
|
3
|
-
component: import("react").FC<import("./AddButton").IAddButtonProps>;
|
|
4
|
-
};
|
|
5
|
-
export default _default;
|
|
6
|
-
export declare const Default: import("@storybook/types").AnnotatedStoryFn<import("@storybook/react/dist/types-0fc72a6d").R, import("./AddButton").IAddButtonProps>;
|
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
/// <reference types="react" />
|
|
2
|
-
import { ComponentStory } from '@storybook/react';
|
|
3
|
-
import { Button, IButtonProps } from './Button';
|
|
4
|
-
declare const _default: import("@storybook/types").ComponentAnnotations<import("@storybook/react/dist/types-0fc72a6d").R, IButtonProps & import("react").RefAttributes<HTMLButtonElement>>;
|
|
5
|
-
export default _default;
|
|
6
|
-
export declare const Default: ComponentStory<typeof Button>;
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
import { FC } from 'react';
|
|
2
|
-
import type { Meta, StoryObj } from '@storybook/react';
|
|
3
|
-
import { Checkbox as CheckboxComponent, ICheckboxProps } from './Checkbox';
|
|
4
|
-
declare const CheckboxComponentWithData: FC<ICheckboxProps<string>>;
|
|
5
|
-
declare const meta: Meta<typeof CheckboxComponentWithData>;
|
|
6
|
-
export default meta;
|
|
7
|
-
type Story = StoryObj<typeof CheckboxComponent>;
|
|
8
|
-
export declare const Default: Story;
|
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
import { ComponentStory } from '@storybook/react';
|
|
2
|
-
import { CloseButton } from './CloseButton';
|
|
3
|
-
declare const _default: import("@storybook/types").ComponentAnnotations<import("@storybook/react/dist/types-0fc72a6d").R, import("./CloseButton").ICloseButtonProps>;
|
|
4
|
-
export default _default;
|
|
5
|
-
export declare const Default: ComponentStory<typeof CloseButton>;
|
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
declare const _default: {
|
|
2
|
-
title: string;
|
|
3
|
-
component: import("react").FC<import("./ControlWrapper").IControlWrapperProps>;
|
|
4
|
-
};
|
|
5
|
-
export default _default;
|
|
6
|
-
export declare const Default: import("@storybook/types").AnnotatedStoryFn<import("@storybook/react/dist/types-0fc72a6d").R, import("./ControlWrapper").IControlWrapperProps>;
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
/// <reference types="react" />
|
|
2
|
-
declare const _default: {
|
|
3
|
-
title: string;
|
|
4
|
-
component: import("react").ForwardRefExoticComponent<import("./DateInput").IDateInputProps & import("react").RefAttributes<HTMLInputElement>>;
|
|
5
|
-
};
|
|
6
|
-
export default _default;
|
|
7
|
-
export declare const Default: import("@storybook/types").AnnotatedStoryFn<import("@storybook/react/dist/types-0fc72a6d").R, import("./DateInput").IDateInputProps & import("react").RefAttributes<HTMLInputElement>>;
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
/// <reference types="react" />
|
|
2
|
-
declare const _default: {
|
|
3
|
-
title: string;
|
|
4
|
-
component: import("react").ForwardRefExoticComponent<import("./DatePicker").IDatePickerProps & import("react").RefAttributes<import("react-datepicker").ReactDatePicker<never, undefined>>>;
|
|
5
|
-
};
|
|
6
|
-
export default _default;
|
|
7
|
-
export declare const Default: import("@storybook/types").AnnotatedStoryFn<import("@storybook/react/dist/types-0fc72a6d").R, import("./DatePicker").IDatePickerProps & import("react").RefAttributes<import("react-datepicker").ReactDatePicker<never, undefined>>>;
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
declare const _default: {
|
|
2
|
-
title: string;
|
|
3
|
-
component: import("react").FC<import("./Description").IDescriptionProps>;
|
|
4
|
-
argTypes: {
|
|
5
|
-
truncateIndex: {
|
|
6
|
-
control: {
|
|
7
|
-
type: string;
|
|
8
|
-
min: number;
|
|
9
|
-
max: number;
|
|
10
|
-
step: number;
|
|
11
|
-
};
|
|
12
|
-
};
|
|
13
|
-
};
|
|
14
|
-
};
|
|
15
|
-
export default _default;
|
|
16
|
-
export declare const Default: import("@storybook/types").AnnotatedStoryFn<import("@storybook/react/dist/types-0fc72a6d").R, import("./Description").IDescriptionProps>;
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
/// <reference types="react" />
|
|
2
|
-
declare const _default: {
|
|
3
|
-
title: string;
|
|
4
|
-
component: import("react").ForwardRefExoticComponent<import("./FileInput").IFileInputProps & import("react").RefAttributes<HTMLInputElement>>;
|
|
5
|
-
};
|
|
6
|
-
export default _default;
|
|
7
|
-
export declare const Default: import("@storybook/types").AnnotatedStoryFn<import("@storybook/react/dist/types-0fc72a6d").R, import("./FileInput").IFileInputProps & import("react").RefAttributes<HTMLInputElement>>;
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
import { ComponentStory } from '@storybook/react';
|
|
2
|
-
import { FileItem, IFileItemProps } from './FileItem';
|
|
3
|
-
declare const _default: {
|
|
4
|
-
title: string;
|
|
5
|
-
component: import("react").FC<IFileItemProps>;
|
|
6
|
-
};
|
|
7
|
-
export default _default;
|
|
8
|
-
export declare const Default: ComponentStory<typeof FileItem>;
|
|
@@ -1,31 +0,0 @@
|
|
|
1
|
-
import { IFiltersPaneProps } from './FiltersPane';
|
|
2
|
-
interface IFiltersPaneWithCustomProps<Values, Content> extends IFiltersPaneProps<Values, Content> {
|
|
3
|
-
containerWidth: number;
|
|
4
|
-
isSearchDisabled: boolean;
|
|
5
|
-
shouldShowSettingsButton: boolean;
|
|
6
|
-
withFieldNameInLabel: boolean;
|
|
7
|
-
isGroupingEnabled: boolean;
|
|
8
|
-
checkboxPosition: 'left' | 'right';
|
|
9
|
-
isClearableFields: boolean;
|
|
10
|
-
}
|
|
11
|
-
declare function FiltersPaneWithCustomProps<Values, Content>({ containerWidth, isSearchDisabled, shouldShowSettingsButton, withFieldNameInLabel, isGroupingEnabled, checkboxPosition, isClearableFields, ...args }: IFiltersPaneWithCustomProps<Values, Content>): import("react/jsx-runtime").JSX.Element;
|
|
12
|
-
declare const _default: {
|
|
13
|
-
title: string;
|
|
14
|
-
component: typeof FiltersPaneWithCustomProps;
|
|
15
|
-
argTypes: {
|
|
16
|
-
containerWidth: {
|
|
17
|
-
control: {
|
|
18
|
-
type: string;
|
|
19
|
-
min: number;
|
|
20
|
-
max: number;
|
|
21
|
-
step: number;
|
|
22
|
-
};
|
|
23
|
-
};
|
|
24
|
-
checkboxPosition: {
|
|
25
|
-
control: string;
|
|
26
|
-
options: string[];
|
|
27
|
-
};
|
|
28
|
-
};
|
|
29
|
-
};
|
|
30
|
-
export default _default;
|
|
31
|
-
export declare const Default: import("@storybook/types").AnnotatedStoryFn<import("@storybook/react/dist/types-0fc72a6d").R, IFiltersPaneWithCustomProps<unknown, unknown>>;
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
declare const _default: {
|
|
2
|
-
title: string;
|
|
3
|
-
component: import("react").FC<import("./Flag").IFlagProps>;
|
|
4
|
-
argTypes: {
|
|
5
|
-
countryCode: {
|
|
6
|
-
control: string;
|
|
7
|
-
options: string[];
|
|
8
|
-
};
|
|
9
|
-
};
|
|
10
|
-
};
|
|
11
|
-
export default _default;
|
|
12
|
-
export declare const Default: import("@storybook/types").AnnotatedStoryFn<import("@storybook/react/dist/types-0fc72a6d").R, import("./Flag").IFlagProps>;
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
declare const _default: import("@storybook/types").ComponentAnnotations<import("@storybook/react/dist/types-0fc72a6d").R, import("./FlexibleTable").IFlexibleTableProps<import("./types").ITableRow, Partial<Record<string, unknown>>, string>>;
|
|
2
|
-
export default _default;
|
|
3
|
-
interface ITableContent {
|
|
4
|
-
contractCode: string;
|
|
5
|
-
validFrom: Date;
|
|
6
|
-
validTo: Date;
|
|
7
|
-
validTo1?: Date;
|
|
8
|
-
validTo2?: Date;
|
|
9
|
-
title: string;
|
|
10
|
-
signDate: Date;
|
|
11
|
-
partner: string;
|
|
12
|
-
partnerDescription: string;
|
|
13
|
-
parentContract: string;
|
|
14
|
-
currency: string;
|
|
15
|
-
status: string;
|
|
16
|
-
note?: string;
|
|
17
|
-
publicNote?: string;
|
|
18
|
-
}
|
|
19
|
-
export declare const Default: import("@storybook/types").AnnotatedStoryFn<import("@storybook/react/dist/types-0fc72a6d").R, import("./FlexibleTable").IFlexibleTableProps<ITableContent, Partial<Record<keyof ITableContent, unknown>>, keyof ITableContent>>;
|
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
/// <reference types="react" />
|
|
2
|
-
import { ComponentStory } from '@storybook/react';
|
|
3
|
-
import { IconButton } from './IconButton';
|
|
4
|
-
declare const _default: import("@storybook/types").ComponentAnnotations<import("@storybook/react/dist/types-0fc72a6d").R, import("./IconButton").IIconButtonProps & import("react").RefAttributes<HTMLButtonElement>>;
|
|
5
|
-
export default _default;
|
|
6
|
-
export declare const Default: ComponentStory<typeof IconButton>;
|