@jasperoosthoek/react-toolbox 0.9.4 → 0.10.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.
Files changed (38) hide show
  1. package/README.md +455 -155
  2. package/change-log.md +18 -1
  3. package/dist/components/forms/FormField.d.ts +13 -0
  4. package/dist/components/forms/FormModal.d.ts +3 -2
  5. package/dist/components/forms/FormProvider.d.ts +3 -0
  6. package/dist/components/forms/fields/FormInput.d.ts +1 -1
  7. package/dist/components/indicators/FixedLoadingIndicator.d.ts +16 -0
  8. package/dist/components/tables/DataTable.d.ts +2 -2
  9. package/dist/index.d.ts +1 -0
  10. package/dist/index.es.js +2235 -0
  11. package/dist/index.es.js.map +1 -0
  12. package/dist/index.umd.js +28 -0
  13. package/dist/index.umd.js.map +1 -0
  14. package/package.json +26 -12
  15. package/src/components/forms/FormField.tsx +6 -2
  16. package/src/components/forms/FormModal.tsx +38 -20
  17. package/src/components/forms/FormProvider.tsx +7 -1
  18. package/src/components/forms/fields/FormBadgesSelection.tsx +20 -9
  19. package/src/components/forms/fields/FormCheckbox.tsx +8 -10
  20. package/src/components/forms/fields/FormDropdown.tsx +4 -5
  21. package/src/components/forms/fields/FormInput.tsx +6 -6
  22. package/src/components/forms/fields/FormSelect.tsx +4 -3
  23. package/src/components/indicators/FixedLoadingIndicator.tsx +49 -0
  24. package/src/components/tables/DataTable.tsx +27 -30
  25. package/src/index.ts +1 -0
  26. package/dist/index.js +0 -3
  27. package/dist/index.js.LICENSE.txt +0 -15
  28. package/src/__tests__/buttons.test.tsx +0 -545
  29. package/src/__tests__/errors.test.tsx +0 -339
  30. package/src/__tests__/forms.test.tsx +0 -3021
  31. package/src/__tests__/hooks.test.tsx +0 -413
  32. package/src/__tests__/indicators.test.tsx +0 -284
  33. package/src/__tests__/localization.test.tsx +0 -462
  34. package/src/__tests__/login.test.tsx +0 -417
  35. package/src/__tests__/setupTests.ts +0 -328
  36. package/src/__tests__/tables.test.tsx +0 -609
  37. package/src/__tests__/timeAndDate.test.tsx +0 -308
  38. package/src/__tests__/utils.test.tsx +0 -422
@@ -1,4 +1,4 @@
1
- import { ReactElement } from 'react';
1
+ import React, { ReactElement } from 'react';
2
2
  export type ModalTitle = ReactElement | string;
3
3
  export type Width = 25 | 50 | 75 | 100;
4
4
  export type FormModalProps = {
@@ -9,7 +9,8 @@ export type FormModalProps = {
9
9
  width?: Width;
10
10
  submitText?: string;
11
11
  cancelText?: string;
12
+ children?: React.ReactNode;
12
13
  };
13
- export declare const FormModal: ({ show, onHide, modalTitle, dialogClassName, width, submitText, cancelText, }: FormModalProps) => import("react/jsx-runtime").JSX.Element | null;
14
+ export declare const FormModal: ({ show, onHide, modalTitle, dialogClassName, width, submitText, cancelText, children, }: FormModalProps) => import("react/jsx-runtime").JSX.Element | null;
14
15
  export declare const FormFieldsRenderer: () => import("react/jsx-runtime").JSX.Element | null;
15
16
  export declare const DisabledFormField: ({ value }: any) => import("react/jsx-runtime").JSX.Element;
@@ -8,6 +8,7 @@ export type FormFieldConfig = {
8
8
  component?: any;
9
9
  onChange?: (value: FormValue, formData?: any) => any;
10
10
  label?: React.ReactElement | string;
11
+ placeholder?: string;
11
12
  options?: Array<{
12
13
  value: string | number;
13
14
  label: string;
@@ -16,6 +17,7 @@ export type FormFieldConfig = {
16
17
  list?: any[];
17
18
  idKey?: string;
18
19
  nameKey?: string;
20
+ rows?: number;
19
21
  };
20
22
  export type FormFields = {
21
23
  [key: string]: FormFieldConfig;
@@ -29,6 +31,7 @@ export type OnSubmit<T> = (state: {
29
31
  export type Validate = (state: any) => any;
30
32
  type FormContextType<T extends FormFields> = {
31
33
  formFields: T;
34
+ formId: string;
32
35
  formData: {
33
36
  [key in keyof T]: FormValue;
34
37
  } | null;
@@ -4,7 +4,7 @@ export interface FormInputProps extends Omit<React.InputHTMLAttributes<HTMLInput
4
4
  label?: React.ReactElement | string;
5
5
  as?: string;
6
6
  rows?: number;
7
- onChange: (value: string) => void;
7
+ onChange?: (value: string) => void;
8
8
  }
9
9
  export declare const FormInput: (props: FormInputProps) => import("react/jsx-runtime").JSX.Element;
10
10
  export declare const FormTextarea: ({ rows, ...props }: FormInputProps) => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,16 @@
1
+ import React from 'react';
2
+ interface FixedLoadingIndicatorProps {
3
+ show: boolean;
4
+ message: string;
5
+ variant?: 'info' | 'warning' | 'success' | 'danger' | 'primary' | 'secondary';
6
+ position?: {
7
+ top?: string;
8
+ right?: string;
9
+ bottom?: string;
10
+ left?: string;
11
+ };
12
+ className?: string;
13
+ style?: React.CSSProperties;
14
+ }
15
+ export declare const FixedLoadingIndicator: React.FC<FixedLoadingIndicatorProps>;
16
+ export default FixedLoadingIndicator;
@@ -11,6 +11,7 @@ export type DataTableColumn<R> = {
11
11
  name: ReactNode | string | number;
12
12
  orderBy?: OrderByColumn<R>;
13
13
  optionsDropdown?: OptionsDropdown;
14
+ search?: string | ((row: R) => string | number);
14
15
  className?: string;
15
16
  value?: number | string | ((row: R) => number);
16
17
  formatSum?: ((value: number) => ReactElement | string | number) | ReactElement | string | number;
@@ -37,7 +38,6 @@ export type DataTableProps<D extends any[]> = {
37
38
  columns: DataTableColumn<D[number]>[];
38
39
  rowsPerPage?: number | null;
39
40
  rowsPerPageOptions?: RowsPerPageOptions;
40
- filterColumn?: string | ((row: D[number]) => string) | (string | ((row: D[number]) => string))[];
41
41
  orderByDefault?: ((row: D[number]) => number) | string | null;
42
42
  orderByDefaultDirection?: OrderByDirection;
43
43
  onMove?: OnMove<D[number]>;
@@ -52,4 +52,4 @@ export type DataTableProps<D extends any[]> = {
52
52
  style?: any;
53
53
  showSum?: boolean;
54
54
  };
55
- export declare const DataTable: <D extends any[]>({ data: allData, columns, rowsPerPage: rowsPerPageDefault, rowsPerPageOptions, filterColumn, orderByDefault, orderByDefaultDirection, onMove, moveId, moveIsLoading, showHeader, onClickRow, showEditModalOnClickRow, textOnEmpty, className, rowClassName, style, showSum, ...restProps }: DataTableProps<D>) => import("react/jsx-runtime").JSX.Element | null;
55
+ export declare const DataTable: <D extends any[]>({ data: allData, columns, rowsPerPage: rowsPerPageDefault, rowsPerPageOptions, orderByDefault, orderByDefaultDirection, onMove, moveId, moveIsLoading, showHeader, onClickRow, showEditModalOnClickRow, textOnEmpty, className, rowClassName, style, showSum, ...restProps }: DataTableProps<D>) => import("react/jsx-runtime").JSX.Element | null;
package/dist/index.d.ts CHANGED
@@ -11,6 +11,7 @@ export * from './components/forms/FormField';
11
11
  export * from './components/forms/fields';
12
12
  export * from './components/indicators/LoadingIndicator';
13
13
  export * from './components/indicators/CheckIndicator';
14
+ export * from './components/indicators/FixedLoadingIndicator';
14
15
  export * from './components/tables/DataTable';
15
16
  export * from './components/tables/DragAndDropList';
16
17
  export * from './components/tables/SearchBox';