@sebgroup/green-react 1.5.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 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.29.1',
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.29.1/LICENSE',
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
  };
@@ -3108,6 +3085,7 @@ const InputWrapper = ({
3108
3085
  });
3109
3086
  function Slider({
3110
3087
  name = `${randomId()}-slider`,
3088
+ value,
3111
3089
  defaultValue,
3112
3090
  min = 0,
3113
3091
  max = 100,
@@ -3120,8 +3098,9 @@ function Slider({
3120
3098
  disabled = false,
3121
3099
  onChange
3122
3100
  }) {
3101
+ var _a;
3123
3102
  const [background, setBackground] = React.useState();
3124
- const [sliderValue, setSliderValue] = React.useState(defaultValue !== null && defaultValue !== void 0 ? defaultValue : 0);
3103
+ const [sliderValue, setSliderValue] = React.useState((_a = value !== null && value !== void 0 ? value : defaultValue) !== null && _a !== void 0 ? _a : 0);
3125
3104
  React.useLayoutEffect(() => {
3126
3105
  if (disabled) {
3127
3106
  setBackground(sliderColors.disabled);
@@ -3130,6 +3109,9 @@ function Slider({
3130
3109
  const percent = (sliderValue - min) / (max - min) * 100;
3131
3110
  setBackground(getSliderTrackBackground(percent));
3132
3111
  }, [disabled, sliderValue]);
3112
+ React.useEffect(() => {
3113
+ setSliderValue(Number(value));
3114
+ }, [value]);
3133
3115
  const handleChange = e => {
3134
3116
  const {
3135
3117
  value
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sebgroup/green-react",
3
- "version": "1.5.0",
3
+ "version": "1.6.0",
4
4
  "peerDependencies": {
5
5
  "react": "^17 || ^18",
6
6
  "react-dom": "^17 || ^18"
@@ -1,4 +1,3 @@
1
- /// <reference types="react" />
2
1
  import { AccordionItemInterface } from './accordion-item';
3
2
  export interface AccordionInterface {
4
3
  items: AccordionItemInterface[];
@@ -1,3 +1,2 @@
1
- /// <reference types="react" />
2
1
  import { DatepickerOptions } from '@sebgroup/extract';
3
2
  export declare const Datepicker: (options?: DatepickerOptions) => JSX.Element;
@@ -1,4 +1,3 @@
1
- /// <reference types="react" />
2
1
  import { DropdownArgs, OnChange } from '@sebgroup/extract';
3
2
  export interface DropdownProps extends DropdownArgs {
4
3
  onChange?: OnChange;
@@ -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,7 +1,7 @@
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;
@@ -28,4 +28,4 @@ export interface RadioButtonProps extends HTMLProps<HTMLInputElement> {
28
28
  validator?: string;
29
29
  value: string;
30
30
  }
31
- export type InputListener<T> = (newValue?: T) => unknown;
31
+ export declare type InputListener<T> = (newValue?: T) => unknown;
@@ -1,3 +1,2 @@
1
- /// <reference types="react" />
2
1
  import { IconProps } from '../../types/props';
3
2
  export declare const BankId: ({ fill, focusable, title, ...props }: IconProps) => JSX.Element;
@@ -1,3 +1,2 @@
1
- /// <reference types="react" />
2
1
  import { IconProps } from '../../types/props';
3
2
  export declare const Check: ({ focusable, title }: IconProps) => JSX.Element;
@@ -1,3 +1,2 @@
1
- /// <reference types="react" />
2
1
  import { IconProps } from '../../types/props';
3
2
  export declare const ChevronDown: ({ focusable, title }: IconProps) => JSX.Element;
@@ -1,3 +1,2 @@
1
- /// <reference types="react" />
2
1
  import { IconProps } from '../../types/props';
3
2
  export declare const InfoCircle: ({ focusable, title, ...props }: IconProps) => JSX.Element;
@@ -1,3 +1,2 @@
1
- /// <reference types="react" />
2
1
  import { IconProps } from '../../types/props';
3
2
  export declare const SquareExclamation: ({ focusable, title, ...props }: IconProps) => JSX.Element;
@@ -1,3 +1,2 @@
1
- /// <reference types="react" />
2
1
  import { IconProps } from '../../types/props';
3
2
  export declare const SquareInfo: ({ focusable, title, ...props }: IconProps) => JSX.Element;
@@ -1,3 +1,2 @@
1
- /// <reference types="react" />
2
1
  import { IconProps } from '../../types/props';
3
2
  export declare const Times: ({ focusable, title }: IconProps) => JSX.Element;
@@ -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';
@@ -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,4 +1,3 @@
1
- /// <reference types="react" />
2
1
  import { SliderProps } from '../../types';
3
- export declare function Slider({ name, defaultValue, min, max, step, label, instruction, errorMessage, hasTextbox, unitLabel, 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;
4
3
  export default Slider;
@@ -1,4 +1,3 @@
1
- /// <reference types="react" />
2
1
  import { StepperArgs } from './hook';
3
2
  import { IValidator } from "@sebgroup/extract";
4
3
  export interface StepperProps extends StepperArgs {
@@ -15,7 +15,7 @@ export interface LabelProps {
15
15
  }
16
16
  export interface SliderProps {
17
17
  name?: string;
18
- defaultValue?: number;
18
+ value?: number;
19
19
  min?: number;
20
20
  max?: number;
21
21
  step?: number;
@@ -26,4 +26,8 @@ export interface SliderProps {
26
26
  unitLabel?: string;
27
27
  disabled?: boolean;
28
28
  onChange?: (value: number) => void;
29
+ /**
30
+ * @deprecated Use `value` instead
31
+ */
32
+ defaultValue?: number;
29
33
  }