@webpros/mui-theme 0.3.12 → 0.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/package.json +1 -2
- package/dist/src/components/data-display/Table/Table.theme.js +1 -1
- package/dist/src/components/inputs/Filter/Filter.js +2 -2
- package/dist/src/components/inputs/ToggleButton/ToggleButton.d.ts +10 -2
- package/dist/src/components/inputs/ToggleButton/ToggleButton.js +26 -3
- package/dist/src/components/inputs/ToggleButton/index.d.ts +1 -1
- package/dist/src/components/inputs/ToggleButton/index.js +2 -2
- package/dist/src/components/inputs/ToggleButtonGroup/ToggleButtonGroup.d.ts +12 -3
- package/dist/src/components/inputs/ToggleButtonGroup/ToggleButtonGroup.js +32 -3
- package/dist/src/components/inputs/ToggleButtonGroup/index.d.ts +1 -1
- package/dist/src/components/inputs/ToggleButtonGroup/index.js +2 -2
- package/dist/src/index.d.ts +3 -0
- package/dist/src/index.js +3 -0
- package/dist/src/tokens/ThemeColorTokens.d.ts +1 -0
- package/dist/src/tokens/ThemeColorTokens.js +16 -1
- package/dist/src/tokens/ThemeMode.d.ts +1 -1
- package/dist/src/tokens/ThemeScheme.d.ts +2 -0
- package/dist/src/tokens/ThemeScheme.js +2 -1
- package/dist/src/tokens/colors/Wptk.d.ts +24 -0
- package/dist/src/tokens/colors/Wptk.js +1496 -0
- package/dist/src/tokens/colors/index.d.ts +1 -0
- package/dist/src/tokens/colors/index.js +1 -0
- package/dist/src/utils/getMUIComponents.js +2 -2
- package/package.json +2 -3
- package/dist/src/components/inputs/ToggleButton/ToggleButton.theme.d.ts +0 -11
- package/dist/src/components/inputs/ToggleButton/ToggleButton.theme.js +0 -26
- package/dist/src/components/inputs/ToggleButtonGroup/ToggleButtonGroup.theme.d.ts +0 -11
- package/dist/src/components/inputs/ToggleButtonGroup/ToggleButtonGroup.theme.js +0 -18
package/dist/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@webpros/mui-theme",
|
|
3
3
|
"description": "MUI v7 theme for WebPros products",
|
|
4
|
-
"version": "0.
|
|
4
|
+
"version": "0.4.0",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"repository": {
|
|
7
7
|
"type": "git",
|
|
@@ -83,7 +83,6 @@
|
|
|
83
83
|
"@storybook/addon-a11y": "^9.1.16",
|
|
84
84
|
"@storybook/addon-docs": "^9.1.16",
|
|
85
85
|
"@storybook/addon-onboarding": "^9.1.16",
|
|
86
|
-
"@storybook/addon-themes": "^9.1.16",
|
|
87
86
|
"@storybook/builder-vite": "^9.1.16",
|
|
88
87
|
"@storybook/react-vite": "^9.1.16",
|
|
89
88
|
"@stylistic/eslint-plugin": "^5.5.0",
|
|
@@ -4,7 +4,7 @@ import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-run
|
|
|
4
4
|
import { useCallback } from 'react';
|
|
5
5
|
import { Autocomplete, Box, IconButton, TextField, autocompleteClasses, } from '@mui/material';
|
|
6
6
|
import { FunnelSimpleIcon } from '../../../icons/FunnelSimpleIcon';
|
|
7
|
-
import {
|
|
7
|
+
import { CloseIcon } from '../../../icons/CloseIcon';
|
|
8
8
|
const FILTER_SX = {
|
|
9
9
|
'& .MuiAutocomplete-inputRoot': {
|
|
10
10
|
flexWrap: 'nowrap',
|
|
@@ -75,7 +75,7 @@ export const Filter = (_a) => {
|
|
|
75
75
|
var _a;
|
|
76
76
|
const chips = (_a = params.InputProps) === null || _a === void 0 ? void 0 : _a.startAdornment;
|
|
77
77
|
return (_jsx(TextField, Object.assign({}, params, { placeholder: placeholder, slotProps: {
|
|
78
|
-
input: Object.assign(Object.assign({}, params.InputProps), { startAdornment: (_jsxs(_Fragment, { children: [_jsx(Box, { sx: FILTER_ICON_SX, children: _jsx(FunnelSimpleIcon, { size: 20 }) }), _jsx(Box, { sx: CHIPS_CONTAINER_SX, children: chips })] })), endAdornment: chips ? (_jsx(IconButton, { size: "small", onClick: handleClear, sx: CLEAR_BUTTON_SX, "aria-label": "Clear", children: _jsx(
|
|
78
|
+
input: Object.assign(Object.assign({}, params.InputProps), { startAdornment: (_jsxs(_Fragment, { children: [_jsx(Box, { sx: FILTER_ICON_SX, children: _jsx(FunnelSimpleIcon, { size: 20 }) }), _jsx(Box, { sx: CHIPS_CONTAINER_SX, children: chips })] })), endAdornment: chips ? (_jsx(IconButton, { size: "small", onClick: handleClear, sx: CLEAR_BUTTON_SX, "aria-label": "Clear", children: _jsx(CloseIcon, { size: 16 }) })) : null }),
|
|
79
79
|
} })));
|
|
80
80
|
}, [placeholder, handleClear]);
|
|
81
81
|
return (_jsx(Autocomplete, Object.assign({}, props, { multiple: true, size: size, value: value, onChange: onChange, filterSelectedOptions: filterSelectedOptions, forcePopupIcon: false, disableClearable: true, renderInput: renderInput !== null && renderInput !== void 0 ? renderInput : defaultRenderInput, slotProps: Object.assign(Object.assign({}, slotProps), { chip: {
|
|
@@ -1,3 +1,11 @@
|
|
|
1
|
-
import '
|
|
2
|
-
|
|
1
|
+
import { ReactNode } from 'react';
|
|
2
|
+
import { IconButtonOwnProps } from '@mui/material';
|
|
3
|
+
import { ButtonOwnProps } from '@mui/material/Button';
|
|
4
|
+
type ToggleButtonProps = {
|
|
5
|
+
children: ReactNode;
|
|
6
|
+
value: string;
|
|
7
|
+
isIconButton?: boolean;
|
|
8
|
+
} & ButtonOwnProps & IconButtonOwnProps;
|
|
9
|
+
export declare const ToggleButton: ({ children, value, isIconButton, ...props }: ToggleButtonProps) => import("react/jsx-runtime").JSX.Element;
|
|
3
10
|
export type ToggleButtonComponentType = typeof ToggleButton;
|
|
11
|
+
export {};
|
|
@@ -1,4 +1,27 @@
|
|
|
1
|
+
import { __rest } from "tslib";
|
|
2
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
1
3
|
// Copyright 2025 WebPros International GmbH. All rights reserved.
|
|
2
|
-
import {
|
|
3
|
-
import '
|
|
4
|
-
|
|
4
|
+
import { useContext } from 'react';
|
|
5
|
+
import { Button } from '../Button/Button';
|
|
6
|
+
import { ToggleContext } from '../ToggleButtonGroup/ToggleButtonGroup';
|
|
7
|
+
import { IconButton } from '@mui/material';
|
|
8
|
+
const isSelected = (btnValue, contextValue) => {
|
|
9
|
+
if (Array.isArray(contextValue)) {
|
|
10
|
+
return contextValue.includes(btnValue);
|
|
11
|
+
}
|
|
12
|
+
return btnValue === contextValue;
|
|
13
|
+
};
|
|
14
|
+
export const ToggleButton = (_a) => {
|
|
15
|
+
var { children, value, isIconButton = false } = _a, props = __rest(_a, ["children", "value", "isIconButton"]);
|
|
16
|
+
const { value: contextValue, handleToggle } = useContext(ToggleContext);
|
|
17
|
+
const isBtnSelected = isSelected(value, contextValue);
|
|
18
|
+
const toggleProps = {
|
|
19
|
+
'aria-pressed': isBtnSelected,
|
|
20
|
+
onClick: handleToggle,
|
|
21
|
+
value: value,
|
|
22
|
+
};
|
|
23
|
+
const borderRadiusSX = {
|
|
24
|
+
borderRadius: isBtnSelected ? '17px' : '6px',
|
|
25
|
+
};
|
|
26
|
+
return isIconButton ? (_jsx(IconButton, Object.assign({}, toggleProps, props, { variant: "tonal", color: isBtnSelected ? 'primary' : 'default', sx: borderRadiusSX, children: children }))) : (_jsx(Button, Object.assign({}, toggleProps, props, { variant: "tonal", color: isBtnSelected ? 'primary' : 'default', sx: borderRadiusSX, children: children })));
|
|
27
|
+
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export * from './ToggleButton
|
|
1
|
+
export * from './ToggleButton';
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
// Copyright
|
|
2
|
-
export * from './ToggleButton
|
|
1
|
+
// Copyright 2026 WebPros International GmbH. All rights reserved.
|
|
2
|
+
export * from './ToggleButton';
|
|
@@ -1,4 +1,13 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
3
|
-
|
|
1
|
+
import { ReactNode } from 'react';
|
|
2
|
+
type ToggleButtonGroupProps = {
|
|
3
|
+
children: ReactNode;
|
|
4
|
+
multiple?: boolean;
|
|
5
|
+
};
|
|
6
|
+
export type ToggleContextType = {
|
|
7
|
+
value: string | Array<string>;
|
|
8
|
+
handleToggle: React.MouseEventHandler;
|
|
9
|
+
};
|
|
10
|
+
export declare const ToggleContext: import("react").Context<ToggleContextType>;
|
|
11
|
+
export declare const ToggleButtonGroup: ({ children, multiple }: ToggleButtonGroupProps) => import("react/jsx-runtime").JSX.Element;
|
|
4
12
|
export type ToggleButtonGroupComponentType = typeof ToggleButtonGroup;
|
|
13
|
+
export {};
|
|
@@ -1,4 +1,33 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
1
2
|
// Copyright 2025 WebPros International GmbH. All rights reserved.
|
|
2
|
-
import {
|
|
3
|
-
import '
|
|
4
|
-
export const
|
|
3
|
+
import { Box } from '@mui/material';
|
|
4
|
+
import { createContext, useState } from 'react';
|
|
5
|
+
export const ToggleContext = createContext({
|
|
6
|
+
value: '',
|
|
7
|
+
handleToggle: () => { },
|
|
8
|
+
});
|
|
9
|
+
const toggleGroupSX = {
|
|
10
|
+
borderRadius: '50px',
|
|
11
|
+
overflow: 'clip',
|
|
12
|
+
display: 'inline-flex',
|
|
13
|
+
gap: 0.25,
|
|
14
|
+
width: 'fit-content',
|
|
15
|
+
};
|
|
16
|
+
export const ToggleButtonGroup = ({ children, multiple = false }) => {
|
|
17
|
+
const [value, setValue] = useState(multiple ? [] : '');
|
|
18
|
+
const handleToggle = (e) => {
|
|
19
|
+
const clickedValue = e.currentTarget.value;
|
|
20
|
+
if (Array.isArray(value)) {
|
|
21
|
+
const newValue = value.includes(clickedValue)
|
|
22
|
+
? value.filter((item) => item !== clickedValue)
|
|
23
|
+
: [...value, clickedValue];
|
|
24
|
+
setValue(newValue);
|
|
25
|
+
}
|
|
26
|
+
else {
|
|
27
|
+
setValue(clickedValue);
|
|
28
|
+
}
|
|
29
|
+
e.currentTarget.blur();
|
|
30
|
+
};
|
|
31
|
+
const toggleContextValue = { value, handleToggle };
|
|
32
|
+
return (_jsx(ToggleContext.Provider, { value: toggleContextValue, children: _jsx(Box, { sx: toggleGroupSX, children: children }) }));
|
|
33
|
+
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export * from './ToggleButtonGroup
|
|
1
|
+
export * from './ToggleButtonGroup';
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
// Copyright
|
|
2
|
-
export * from './ToggleButtonGroup
|
|
1
|
+
// Copyright 2026 WebPros International GmbH. All rights reserved.
|
|
2
|
+
export * from './ToggleButtonGroup';
|
package/dist/src/index.d.ts
CHANGED
|
@@ -1,6 +1,9 @@
|
|
|
1
1
|
export { default as WebProsMuiThemeProvider } from './providers/WebProsMuiThemeProvider';
|
|
2
2
|
export type { WebProsMuiThemeProviderProps } from './providers/WebProsMuiThemeProvider';
|
|
3
3
|
export { useThemeModeContext } from './providers/ThemeModeProvider';
|
|
4
|
+
export { ToggleButtonGroup } from './components/inputs/ToggleButtonGroup';
|
|
5
|
+
export { ToggleButton } from './components/inputs/ToggleButton';
|
|
6
|
+
export { Filter } from './components/inputs/Filter';
|
|
4
7
|
export * from './utils';
|
|
5
8
|
export * from './tokens';
|
|
6
9
|
export * from './constants';
|
package/dist/src/index.js
CHANGED
|
@@ -1,6 +1,9 @@
|
|
|
1
1
|
// Copyright 2025 WebPros International GmbH. All rights reserved.
|
|
2
2
|
export { default as WebProsMuiThemeProvider } from './providers/WebProsMuiThemeProvider';
|
|
3
3
|
export { useThemeModeContext } from './providers/ThemeModeProvider';
|
|
4
|
+
export { ToggleButtonGroup } from './components/inputs/ToggleButtonGroup';
|
|
5
|
+
export { ToggleButton } from './components/inputs/ToggleButton';
|
|
6
|
+
export { Filter } from './components/inputs/Filter';
|
|
4
7
|
export * from './utils';
|
|
5
8
|
export * from './tokens';
|
|
6
9
|
export * from './constants';
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
// Copyright 2025 WebPros International GmbH. All rights reserved.
|
|
2
|
-
import { DarkSchemes, DarkSchemesGenerated, DarkStateLayers, DarkStateLayersGenerated, DarkInverseSchemes, DarkInverseSchemesGenerated, DarkInverseStateLayers, DarkInverseStateLayersGenerated, DarkOnPrimarySchemes, DarkOnPrimarySchemesGenerated, DarkOnPrimaryStateLayers, DarkOnPrimaryStateLayersGenerated, LightSchemes, LightSchemesGenerated, LightStateLayers, LightStateLayersGenerated, LightInverseSchemes, LightInverseSchemesGenerated, LightInverseStateLayers, LightInverseStateLayersGenerated, LightOnPrimarySchemes, LightOnPrimarySchemesGenerated, LightOnPrimaryStateLayers, LightOnPrimaryStateLayersGenerated, } from '../tokens/colors';
|
|
2
|
+
import { DarkSchemes, DarkSchemesGenerated, DarkStateLayers, DarkStateLayersGenerated, DarkInverseSchemes, DarkInverseSchemesGenerated, DarkInverseStateLayers, DarkInverseStateLayersGenerated, DarkOnPrimarySchemes, DarkOnPrimarySchemesGenerated, DarkOnPrimaryStateLayers, DarkOnPrimaryStateLayersGenerated, LightSchemes, LightSchemesGenerated, LightStateLayers, LightStateLayersGenerated, LightInverseSchemes, LightInverseSchemesGenerated, LightInverseStateLayers, LightInverseStateLayersGenerated, LightOnPrimarySchemes, LightOnPrimarySchemesGenerated, LightOnPrimaryStateLayers, LightOnPrimaryStateLayersGenerated, WptkSchemes, WptkSchemesGenerated, WptkStateLayers, WptkStateLayersGenerated, WptkInverseSchemes, WptkInverseSchemesGenerated, WptkInverseStateLayers, WptkInverseStateLayersGenerated, WptkOnPrimarySchemes, WptkOnPrimarySchemesGenerated, WptkOnPrimaryStateLayers, WptkOnPrimaryStateLayersGenerated, } from '../tokens/colors';
|
|
3
3
|
// reference
|
|
4
4
|
export const LightTokensDefault = {
|
|
5
5
|
schemes: LightSchemes,
|
|
@@ -31,3 +31,18 @@ export const DarkTokensDefault = {
|
|
|
31
31
|
generatedOnPrimarySchemes: DarkOnPrimarySchemesGenerated,
|
|
32
32
|
generatedOnPrimaryStateLayers: DarkOnPrimaryStateLayersGenerated,
|
|
33
33
|
};
|
|
34
|
+
// WPTK theme
|
|
35
|
+
export const WptkTokensDefault = {
|
|
36
|
+
schemes: WptkSchemes,
|
|
37
|
+
stateLayers: WptkStateLayers,
|
|
38
|
+
inverseSchemes: WptkInverseSchemes,
|
|
39
|
+
inverseStateLayers: WptkInverseStateLayers,
|
|
40
|
+
onPrimarySchemes: WptkOnPrimarySchemes,
|
|
41
|
+
onPrimaryStateLayers: WptkOnPrimaryStateLayers,
|
|
42
|
+
generatedSchemes: WptkSchemesGenerated,
|
|
43
|
+
generatedStateLayers: WptkStateLayersGenerated,
|
|
44
|
+
generatedInverseSchemes: WptkInverseSchemesGenerated,
|
|
45
|
+
generatedInverseStateLayers: WptkInverseStateLayersGenerated,
|
|
46
|
+
generatedOnPrimarySchemes: WptkOnPrimarySchemesGenerated,
|
|
47
|
+
generatedOnPrimaryStateLayers: WptkOnPrimaryStateLayersGenerated,
|
|
48
|
+
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export type ThemeMode = 'light' | 'dark';
|
|
1
|
+
export type ThemeMode = 'light' | 'dark' | 'wptk';
|
|
@@ -2,8 +2,10 @@ import { ThemeColorTokens } from './ThemeColorTokens';
|
|
|
2
2
|
export type ThemeScheme = {
|
|
3
3
|
light: ThemeColorTokens;
|
|
4
4
|
dark: ThemeColorTokens;
|
|
5
|
+
wptk: ThemeColorTokens;
|
|
5
6
|
};
|
|
6
7
|
export declare const ThemeSchemeDefault: {
|
|
7
8
|
light: ThemeColorTokens;
|
|
8
9
|
dark: ThemeColorTokens;
|
|
10
|
+
wptk: ThemeColorTokens;
|
|
9
11
|
};
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
// Copyright 2025 WebPros International GmbH. All rights reserved.
|
|
2
|
-
import { DarkTokensDefault, LightTokensDefault } from './ThemeColorTokens';
|
|
2
|
+
import { DarkTokensDefault, LightTokensDefault, WptkTokensDefault, } from './ThemeColorTokens';
|
|
3
3
|
export const ThemeSchemeDefault = {
|
|
4
4
|
light: LightTokensDefault,
|
|
5
5
|
dark: DarkTokensDefault,
|
|
6
|
+
wptk: WptkTokensDefault,
|
|
6
7
|
};
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { Schemes } from './schemes';
|
|
2
|
+
import { StateLayers } from './stateLayers';
|
|
3
|
+
import { InverseSchemes } from './inverseSchemes';
|
|
4
|
+
import { InverseStateLayers } from './inverseStateLayers';
|
|
5
|
+
import { OnPrimarySchemes } from './onPrimarySchemes';
|
|
6
|
+
import { OnPrimaryStateLayers } from './onPrimaryStateLayers';
|
|
7
|
+
import { SchemesGenerated } from './schemes';
|
|
8
|
+
import { StateLayersGenerated } from './stateLayers';
|
|
9
|
+
import { InverseSchemesGenerated } from './inverseSchemes';
|
|
10
|
+
import { InverseStateLayersGenerated } from './inverseStateLayers';
|
|
11
|
+
import { OnPrimarySchemesGenerated } from './onPrimarySchemes';
|
|
12
|
+
import { OnPrimaryStateLayersGenerated } from './onPrimaryStateLayers';
|
|
13
|
+
export declare const WptkSchemes: Schemes;
|
|
14
|
+
export declare const WptkStateLayers: StateLayers;
|
|
15
|
+
export declare const WptkInverseSchemes: InverseSchemes;
|
|
16
|
+
export declare const WptkInverseStateLayers: InverseStateLayers;
|
|
17
|
+
export declare const WptkOnPrimarySchemes: OnPrimarySchemes;
|
|
18
|
+
export declare const WptkOnPrimaryStateLayers: OnPrimaryStateLayers;
|
|
19
|
+
export declare const WptkSchemesGenerated: SchemesGenerated;
|
|
20
|
+
export declare const WptkStateLayersGenerated: StateLayersGenerated;
|
|
21
|
+
export declare const WptkInverseSchemesGenerated: InverseSchemesGenerated;
|
|
22
|
+
export declare const WptkInverseStateLayersGenerated: InverseStateLayersGenerated;
|
|
23
|
+
export declare const WptkOnPrimarySchemesGenerated: OnPrimarySchemesGenerated;
|
|
24
|
+
export declare const WptkOnPrimaryStateLayersGenerated: OnPrimaryStateLayersGenerated;
|