@sebgroup/green-react 1.4.0 → 1.6.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/index.js +27 -32
- package/package.json +2 -2
- package/src/lib/dropdown/hooks.d.ts +1 -1
- package/src/lib/form/input/input.d.ts +2 -2
- package/src/lib/form/types.d.ts +1 -1
- package/src/lib/layout/flexbox/types.d.ts +5 -5
- package/src/lib/modal/modal.d.ts +1 -1
- package/src/lib/slider/slider.d.ts +1 -1
- package/src/types/props/index.d.ts +6 -1
package/index.js
CHANGED
|
@@ -333,10 +333,10 @@ var store$2 = sharedStore;
|
|
|
333
333
|
(shared$3.exports = function (key, value) {
|
|
334
334
|
return store$2[key] || (store$2[key] = value !== undefined ? value : {});
|
|
335
335
|
})('versions', []).push({
|
|
336
|
-
version: '3.
|
|
336
|
+
version: '3.30.1',
|
|
337
337
|
mode: 'global',
|
|
338
338
|
copyright: '© 2014-2023 Denis Pushkarev (zloirock.ru)',
|
|
339
|
-
license: 'https://github.com/zloirock/core-js/blob/v3.
|
|
339
|
+
license: 'https://github.com/zloirock/core-js/blob/v3.30.1/LICENSE',
|
|
340
340
|
source: 'https://github.com/zloirock/core-js'
|
|
341
341
|
});
|
|
342
342
|
|
|
@@ -2432,36 +2432,13 @@ const FormItem = ({
|
|
|
2432
2432
|
const useInput = (props, onChanges, onChangeInput) => {
|
|
2433
2433
|
const id = useMemo(() => props.id || randomId(), [props.id]);
|
|
2434
2434
|
const ref = useRef(null);
|
|
2435
|
-
const [value, setValue] = useState(props.value ? props.value : '');
|
|
2436
|
-
const [checked, setChecked] = useState(props.checked ? props.checked : false);
|
|
2437
|
-
useEffect(() => {
|
|
2438
|
-
if (props.value !== undefined) setValue(props.value);
|
|
2439
|
-
if (ref.current && ref.current.form) {
|
|
2440
|
-
const resetListener = () => {
|
|
2441
|
-
setValue(props.value ? props.value : '');
|
|
2442
|
-
setChecked(props.checked ? props.checked : false);
|
|
2443
|
-
};
|
|
2444
|
-
const form = ref.current.form;
|
|
2445
|
-
form.addEventListener('reset', resetListener);
|
|
2446
|
-
return () => form.removeEventListener('reset', resetListener);
|
|
2447
|
-
} else {
|
|
2448
|
-
// eslint-disable-next-line @typescript-eslint/no-empty-function
|
|
2449
|
-
return () => {};
|
|
2450
|
-
}
|
|
2451
|
-
}, [props]);
|
|
2452
2435
|
const onChange = event => {
|
|
2453
|
-
if (props.value === undefined) {
|
|
2454
|
-
setValue(event.target.value);
|
|
2455
|
-
}
|
|
2456
|
-
setChecked(event.currentTarget.checked);
|
|
2457
2436
|
onChanges && onChanges(event);
|
|
2458
2437
|
onChangeInput && onChangeInput(event.target.value);
|
|
2459
2438
|
};
|
|
2460
2439
|
return Object.assign(Object.assign({}, props), {
|
|
2461
2440
|
id,
|
|
2462
2441
|
ref,
|
|
2463
|
-
value,
|
|
2464
|
-
checked,
|
|
2465
2442
|
onChange
|
|
2466
2443
|
});
|
|
2467
2444
|
};
|
|
@@ -3092,8 +3069,23 @@ const OptionGroup = ({
|
|
|
3092
3069
|
}));
|
|
3093
3070
|
};
|
|
3094
3071
|
|
|
3072
|
+
const InputWrapper = ({
|
|
3073
|
+
children,
|
|
3074
|
+
unitLabel
|
|
3075
|
+
}) => jsx(Fragment, {
|
|
3076
|
+
children: unitLabel ? jsxs("div", Object.assign({
|
|
3077
|
+
className: "group group-border"
|
|
3078
|
+
}, {
|
|
3079
|
+
children: [children, jsx("span", Object.assign({
|
|
3080
|
+
className: "form-text"
|
|
3081
|
+
}, {
|
|
3082
|
+
children: unitLabel
|
|
3083
|
+
}))]
|
|
3084
|
+
})) : children
|
|
3085
|
+
});
|
|
3095
3086
|
function Slider({
|
|
3096
3087
|
name = `${randomId()}-slider`,
|
|
3088
|
+
value,
|
|
3097
3089
|
defaultValue,
|
|
3098
3090
|
min = 0,
|
|
3099
3091
|
max = 100,
|
|
@@ -3102,11 +3094,13 @@ function Slider({
|
|
|
3102
3094
|
instruction,
|
|
3103
3095
|
errorMessage,
|
|
3104
3096
|
hasTextbox = false,
|
|
3097
|
+
unitLabel,
|
|
3105
3098
|
disabled = false,
|
|
3106
3099
|
onChange
|
|
3107
3100
|
}) {
|
|
3101
|
+
var _a;
|
|
3108
3102
|
const [background, setBackground] = React.useState();
|
|
3109
|
-
const [sliderValue, setSliderValue] = React.useState(
|
|
3103
|
+
const [sliderValue, setSliderValue] = React.useState((_a = value !== null && value !== void 0 ? value : defaultValue) !== null && _a !== void 0 ? _a : 0);
|
|
3110
3104
|
React.useLayoutEffect(() => {
|
|
3111
3105
|
if (disabled) {
|
|
3112
3106
|
setBackground(sliderColors.disabled);
|
|
@@ -3115,6 +3109,9 @@ function Slider({
|
|
|
3115
3109
|
const percent = (sliderValue - min) / (max - min) * 100;
|
|
3116
3110
|
setBackground(getSliderTrackBackground(percent));
|
|
3117
3111
|
}, [disabled, sliderValue]);
|
|
3112
|
+
React.useEffect(() => {
|
|
3113
|
+
setSliderValue(Number(value));
|
|
3114
|
+
}, [value]);
|
|
3118
3115
|
const handleChange = e => {
|
|
3119
3116
|
const {
|
|
3120
3117
|
value
|
|
@@ -3134,10 +3131,10 @@ function Slider({
|
|
|
3134
3131
|
})), instruction && jsx("p", {
|
|
3135
3132
|
children: instruction
|
|
3136
3133
|
})]
|
|
3137
|
-
}), hasTextbox &&
|
|
3138
|
-
|
|
3134
|
+
}), hasTextbox && jsx(InputWrapper, Object.assign({
|
|
3135
|
+
unitLabel: unitLabel
|
|
3139
3136
|
}, {
|
|
3140
|
-
children:
|
|
3137
|
+
children: jsx("input", {
|
|
3141
3138
|
type: "number",
|
|
3142
3139
|
value: sliderValue,
|
|
3143
3140
|
id: `${name}-textbox`,
|
|
@@ -3145,9 +3142,7 @@ function Slider({
|
|
|
3145
3142
|
className: errorMessage ? 'is-invalid' : '',
|
|
3146
3143
|
disabled: disabled,
|
|
3147
3144
|
onChange: handleChange
|
|
3148
|
-
})
|
|
3149
|
-
className: "form-info"
|
|
3150
|
-
})]
|
|
3145
|
+
})
|
|
3151
3146
|
}))]
|
|
3152
3147
|
})), jsx("input", {
|
|
3153
3148
|
type: "range",
|
package/package.json
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@sebgroup/green-react",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.6.0",
|
|
4
4
|
"peerDependencies": {
|
|
5
5
|
"react": "^17 || ^18",
|
|
6
6
|
"react-dom": "^17 || ^18"
|
|
7
7
|
},
|
|
8
8
|
"dependencies": {
|
|
9
|
-
"@sebgroup/chlorophyll": "^1.
|
|
9
|
+
"@sebgroup/chlorophyll": "^1.8.0",
|
|
10
10
|
"@sebgroup/extract": "^1.3.1",
|
|
11
11
|
"classnames": "^2.3.2"
|
|
12
12
|
},
|
|
@@ -7,7 +7,7 @@ interface HookArgs extends DropdownArgs {
|
|
|
7
7
|
onChange?: OnChange;
|
|
8
8
|
validator?: IValidator;
|
|
9
9
|
}
|
|
10
|
-
type Props = HTMLAttributes<HTMLElement>;
|
|
10
|
+
declare type Props = HTMLAttributes<HTMLElement>;
|
|
11
11
|
interface CheckboxItem {
|
|
12
12
|
labelProps: Props;
|
|
13
13
|
inputProps: InputHTMLAttributes<HTMLInputElement>;
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import React, { InputHTMLAttributes } from 'react';
|
|
2
2
|
import { IValidator } from '@sebgroup/extract';
|
|
3
3
|
import { CheckboxProps, NumberInputProps, RadioButtonProps, TextInputProps } from '../types';
|
|
4
|
-
export type Renderer = (type: string, props: InputHTMLAttributes<HTMLInputElement>, onChange?: (event: React.ChangeEvent<HTMLInputElement>) => void, onChangeInput?: (value: string) => string, label?: string, info?: string, validator?: IValidator, expandableInfo?: string, expandableInfoButtonLabel?: string, testId?: string) => JSX.Element;
|
|
4
|
+
export declare type Renderer = (type: string, props: InputHTMLAttributes<HTMLInputElement>, onChange?: (event: React.ChangeEvent<HTMLInputElement>) => void, onChangeInput?: (value: string) => string, label?: string, info?: string, validator?: IValidator, expandableInfo?: string, expandableInfoButtonLabel?: string, testId?: string) => JSX.Element;
|
|
5
5
|
export declare const RenderInput: Renderer;
|
|
6
6
|
export declare const TextInput: ({ label, info, testId, onChange, onChangeInput, validator, expandableInfo, expandableInfoButtonLabel, ...props }: TextInputProps) => JSX.Element;
|
|
7
7
|
export declare const EmailInput: ({ label, info, onChange, onChangeInput, validator, testId, ...props }: TextInputProps) => JSX.Element;
|
|
8
8
|
export declare const NumberInput: ({ label, info, onChange, onChangeInput, validator, expandableInfo, expandableInfoButtonLabel, testId, ...props }: NumberInputProps) => JSX.Element;
|
|
9
9
|
export declare const Checkbox: ({ label, onChange, validator, testId, ...props }: CheckboxProps) => JSX.Element;
|
|
10
|
-
export declare const RadioButton: React.ForwardRefExoticComponent<
|
|
10
|
+
export declare const RadioButton: React.ForwardRefExoticComponent<Omit<RadioButtonProps, "ref"> & React.RefAttributes<HTMLInputElement>>;
|
package/src/lib/form/types.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
export type AlignContentType = 'start' | 'between' | 'center' | 'stretch' | 'around' | 'end' | 'sm-start' | 'sm-between' | 'sm-center' | 'sm-stretch' | 'sm-around' | 'sm-end' | 'md-start' | 'md-between' | 'md-center' | 'md-stretch' | 'md-around' | 'md-end' | 'lg-start' | 'lg-between' | 'lg-center' | 'lg-stretch' | 'lg-around' | 'lg-end' | 'xl-start' | 'xl-between' | 'xl-center' | 'xl-stretch' | 'xl-around' | 'xl-end' | 'xxl-start' | 'xxl-between' | 'xxl-center' | 'xxl-stretch' | 'xxl-around' | 'xxl-end';
|
|
2
|
-
export type AlignType = 'start' | 'end' | 'center' | 'baseline' | 'stretch' | 'sm-start' | 'sm-end' | 'sm-center' | 'sm-baseline' | 'sm-stretch' | 'md-start' | 'md-end' | 'md-center' | 'md-baseline' | 'md-stretch' | 'lg-start' | 'lg-end' | 'lg-center' | 'lg-baseline' | 'lg-stretch' | 'xl-start' | 'xl-end' | 'xl-center' | 'xl-baseline' | 'xl-stretch' | 'xxl-start' | 'xxl-end' | 'xxl-center' | 'xxl-baseline' | 'xxl-stretch';
|
|
3
|
-
export type JustifyContentType = 'start' | 'between' | 'center' | 'evenly' | 'around' | 'end' | 'sm-start' | 'sm-between' | 'sm-center' | 'sm-evenly' | 'sm-around' | 'sm-end' | 'md-start' | 'md-between' | 'md-center' | 'md-evenly' | 'md-around' | 'md-end' | 'lg-start' | 'lg-between' | 'lg-center' | 'lg-evenly' | 'lg-around' | 'lg-end' | 'xl-start' | 'xl-between' | 'xl-center' | 'xl-evenly' | 'xl-around' | 'xl-end' | 'xxl-start' | 'xxl-between' | 'xxl-center' | 'xxl-evenly' | 'xxl-around' | 'xxl-end';
|
|
4
|
-
export type FlexDirectionType = 'row' | 'row-reverse' | 'column' | 'column-reverse' | 'sm-row' | 'sm-row-reverse' | 'sm-column' | 'sm-column-reverse' | 'md-row' | 'md-row-reverse' | 'md-column' | 'md-column-reverse' | 'lg-row' | 'lg-row-reverse' | 'lg-column' | 'lg-column-reverse' | 'xl-row' | 'xl-row-reverse' | 'xl-column' | 'xl-column-reverse' | 'xxl-row' | 'xxl-row-reverse' | 'xxl-column' | 'xxl-column-reverse';
|
|
5
|
-
export type FlexWrapType = 'nowrap' | 'wrap' | 'wrap-reverse' | 'sm-nowrap' | 'sm-wrap' | 'sm-wrap-reverse' | 'md-nowrap' | 'md-wrap' | 'md-wrap-reverse' | 'lg-nowrap' | 'lg-wrap' | 'lg-wrap-reverse' | 'xl-nowrap' | 'xl-wrap' | 'xl-wrap-reverse' | 'xxl-nowrap' | 'xxl-wrap' | 'xxl-wrap-reverse';
|
|
1
|
+
export declare type AlignContentType = 'start' | 'between' | 'center' | 'stretch' | 'around' | 'end' | 'sm-start' | 'sm-between' | 'sm-center' | 'sm-stretch' | 'sm-around' | 'sm-end' | 'md-start' | 'md-between' | 'md-center' | 'md-stretch' | 'md-around' | 'md-end' | 'lg-start' | 'lg-between' | 'lg-center' | 'lg-stretch' | 'lg-around' | 'lg-end' | 'xl-start' | 'xl-between' | 'xl-center' | 'xl-stretch' | 'xl-around' | 'xl-end' | 'xxl-start' | 'xxl-between' | 'xxl-center' | 'xxl-stretch' | 'xxl-around' | 'xxl-end';
|
|
2
|
+
export declare type AlignType = 'start' | 'end' | 'center' | 'baseline' | 'stretch' | 'sm-start' | 'sm-end' | 'sm-center' | 'sm-baseline' | 'sm-stretch' | 'md-start' | 'md-end' | 'md-center' | 'md-baseline' | 'md-stretch' | 'lg-start' | 'lg-end' | 'lg-center' | 'lg-baseline' | 'lg-stretch' | 'xl-start' | 'xl-end' | 'xl-center' | 'xl-baseline' | 'xl-stretch' | 'xxl-start' | 'xxl-end' | 'xxl-center' | 'xxl-baseline' | 'xxl-stretch';
|
|
3
|
+
export declare type JustifyContentType = 'start' | 'between' | 'center' | 'evenly' | 'around' | 'end' | 'sm-start' | 'sm-between' | 'sm-center' | 'sm-evenly' | 'sm-around' | 'sm-end' | 'md-start' | 'md-between' | 'md-center' | 'md-evenly' | 'md-around' | 'md-end' | 'lg-start' | 'lg-between' | 'lg-center' | 'lg-evenly' | 'lg-around' | 'lg-end' | 'xl-start' | 'xl-between' | 'xl-center' | 'xl-evenly' | 'xl-around' | 'xl-end' | 'xxl-start' | 'xxl-between' | 'xxl-center' | 'xxl-evenly' | 'xxl-around' | 'xxl-end';
|
|
4
|
+
export declare type FlexDirectionType = 'row' | 'row-reverse' | 'column' | 'column-reverse' | 'sm-row' | 'sm-row-reverse' | 'sm-column' | 'sm-column-reverse' | 'md-row' | 'md-row-reverse' | 'md-column' | 'md-column-reverse' | 'lg-row' | 'lg-row-reverse' | 'lg-column' | 'lg-column-reverse' | 'xl-row' | 'xl-row-reverse' | 'xl-column' | 'xl-column-reverse' | 'xxl-row' | 'xxl-row-reverse' | 'xxl-column' | 'xxl-column-reverse';
|
|
5
|
+
export declare type FlexWrapType = 'nowrap' | 'wrap' | 'wrap-reverse' | 'sm-nowrap' | 'sm-wrap' | 'sm-wrap-reverse' | 'md-nowrap' | 'md-wrap' | 'md-wrap-reverse' | 'lg-nowrap' | 'lg-wrap' | 'lg-wrap-reverse' | 'xl-nowrap' | 'xl-wrap' | 'xl-wrap-reverse' | 'xxl-nowrap' | 'xxl-wrap' | 'xxl-wrap-reverse';
|
package/src/lib/modal/modal.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { ModalType, Size } from '@sebgroup/extract';
|
|
2
2
|
import { MouseEvent, ReactNode } from 'react';
|
|
3
|
-
type ModalEventListener = (event: MouseEvent<HTMLButtonElement>) => unknown;
|
|
3
|
+
declare type ModalEventListener = (event: MouseEvent<HTMLButtonElement>) => unknown;
|
|
4
4
|
export interface ModalProps {
|
|
5
5
|
type?: ModalType;
|
|
6
6
|
header?: string;
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import { SliderProps } from '../../types';
|
|
2
|
-
export declare function Slider({ name, defaultValue, min, max, step, label, instruction, errorMessage, hasTextbox, disabled, onChange, }: SliderProps): JSX.Element;
|
|
2
|
+
export declare function Slider({ name, value, defaultValue, min, max, step, label, instruction, errorMessage, hasTextbox, unitLabel, disabled, onChange, }: SliderProps): JSX.Element;
|
|
3
3
|
export default Slider;
|
|
@@ -15,7 +15,7 @@ export interface LabelProps {
|
|
|
15
15
|
}
|
|
16
16
|
export interface SliderProps {
|
|
17
17
|
name?: string;
|
|
18
|
-
|
|
18
|
+
value?: number;
|
|
19
19
|
min?: number;
|
|
20
20
|
max?: number;
|
|
21
21
|
step?: number;
|
|
@@ -23,6 +23,11 @@ export interface SliderProps {
|
|
|
23
23
|
instruction?: string;
|
|
24
24
|
errorMessage?: string;
|
|
25
25
|
hasTextbox?: boolean;
|
|
26
|
+
unitLabel?: string;
|
|
26
27
|
disabled?: boolean;
|
|
27
28
|
onChange?: (value: number) => void;
|
|
29
|
+
/**
|
|
30
|
+
* @deprecated Use `value` instead
|
|
31
|
+
*/
|
|
32
|
+
defaultValue?: number;
|
|
28
33
|
}
|