flipper-ui 0.24.12 → 0.25.2

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 (129) hide show
  1. package/core/Advertise.d.ts +4 -11
  2. package/core/AutoComplete.d.ts +3 -3
  3. package/core/Avatar.d.ts +3 -3
  4. package/core/Badge.d.ts +4 -4
  5. package/core/Box.d.ts +3 -3
  6. package/core/Button.d.ts +3 -3
  7. package/core/Card.d.ts +7 -7
  8. package/core/Checkbox.d.ts +3 -3
  9. package/core/Chip.d.ts +3 -3
  10. package/core/ChipField.d.ts +2 -2
  11. package/core/Collapse.d.ts +3 -3
  12. package/core/Container.d.ts +2 -2
  13. package/core/Content.d.ts +2 -2
  14. package/core/DataTable/DataTable.d.ts +61 -0
  15. package/core/DataTable/DataTable.js +254 -0
  16. package/core/DataTable/DataTableAction.d.ts +8 -0
  17. package/core/DataTable/DataTableAction.js +28 -0
  18. package/core/DataTable/DataTablePaginationActions.d.ts +13 -0
  19. package/core/DataTable/DataTablePaginationActions.js +76 -0
  20. package/core/DataTable/Rows.d.ts +17 -0
  21. package/core/DataTable/Rows.js +198 -0
  22. package/core/DataTable/index.d.ts +6 -0
  23. package/core/DataTable/index.js +31 -0
  24. package/core/DataTable/types.d.ts +103 -0
  25. package/core/DataTable/types.js +15 -0
  26. package/core/DataTable/useRowsState.d.ts +8 -0
  27. package/core/DataTable/useRowsState.js +153 -0
  28. package/core/DateTime.d.ts +3 -3
  29. package/core/Dialog.d.ts +3 -3
  30. package/core/Divider.d.ts +3 -3
  31. package/core/Drawer.d.ts +4 -4
  32. package/core/EditableTable.d.ts +2 -2
  33. package/core/EditableTable.js +8 -10
  34. package/core/ExpansionPanel.d.ts +3 -3
  35. package/core/Fab.d.ts +3 -3
  36. package/core/Fade.d.ts +3 -3
  37. package/core/Grow.d.ts +3 -3
  38. package/core/Header.d.ts +3 -3
  39. package/core/IconButton.d.ts +3 -3
  40. package/core/InputAdornment.d.ts +3 -3
  41. package/core/InputBase.d.ts +3 -3
  42. package/core/Line.d.ts +3 -3
  43. package/core/List.d.ts +3 -3
  44. package/core/ListItem.d.ts +3 -3
  45. package/core/MaskField.d.ts +4 -4
  46. package/core/Menu.d.ts +4 -4
  47. package/core/Node.d.ts +3 -3
  48. package/core/Pagination.d.ts +3 -3
  49. package/core/Paper.d.ts +3 -3
  50. package/core/Progress.d.ts +3 -3
  51. package/core/Radio.d.ts +3 -3
  52. package/core/RadioGroup.d.ts +4 -4
  53. package/core/Select.d.ts +5 -3
  54. package/core/Select.js +42 -13
  55. package/core/Sidebar.d.ts +5 -5
  56. package/core/Sidebar.js +2 -1
  57. package/core/Slide.d.ts +3 -3
  58. package/core/Slider.d.ts +3 -3
  59. package/core/Snackbar.d.ts +3 -3
  60. package/core/Stepper.d.ts +3 -3
  61. package/core/Tab.d.ts +3 -3
  62. package/core/Table.d.ts +5 -5
  63. package/core/TableBody.d.ts +2 -2
  64. package/core/TableCell.d.ts +5 -5
  65. package/core/TableHead.d.ts +3 -3
  66. package/core/TableRow.d.ts +4 -4
  67. package/core/Tabs.d.ts +3 -3
  68. package/core/TextField.d.ts +8 -6
  69. package/core/TextField.js +62 -15
  70. package/core/ThemeProvider.d.ts +2 -2
  71. package/core/Tooltip.d.ts +3 -3
  72. package/core/Tree.d.ts +2 -2
  73. package/core/Typography.d.ts +2 -2
  74. package/core/Zoom.d.ts +3 -3
  75. package/core/types.d.ts +9 -0
  76. package/core/types.js +1 -0
  77. package/package.json +84 -79
  78. package/stories/Advertise.stories.js +31 -0
  79. package/stories/AutoComplete.stories.js +133 -0
  80. package/stories/AutoCompleteLab.stories.js +64 -0
  81. package/stories/Avatar.stories.js +44 -0
  82. package/stories/Badge.stories.js +63 -0
  83. package/stories/Box.stories.js +29 -0
  84. package/stories/Breadcrumb.stories.js +41 -0
  85. package/stories/Button.stories.js +132 -0
  86. package/stories/Card.stories.js +43 -0
  87. package/stories/Checkbox.stories.js +98 -0
  88. package/stories/Chip.stories.js +72 -0
  89. package/stories/ChipField.stories.js +60 -0
  90. package/stories/Collapse.stories.js +70 -0
  91. package/stories/Container.stories.js +24 -0
  92. package/stories/Content.stories.js +28 -0
  93. package/stories/DataTable.stories.js +737 -0
  94. package/stories/Dialog.stories.js +82 -0
  95. package/stories/Divider.stories.js +46 -0
  96. package/stories/Drawer.stories.js +55 -0
  97. package/stories/EditTable.stories.js +149 -0
  98. package/stories/ExpansionPanel.stories.js +54 -0
  99. package/stories/Fab.stories.js +28 -0
  100. package/stories/Fade.stories.js +54 -0
  101. package/stories/Grow.stories.js +63 -0
  102. package/stories/Header.stories.js +41 -0
  103. package/stories/IconButton.stories.js +48 -0
  104. package/stories/InputAdornment.stories.js +28 -0
  105. package/stories/InputBase.stories.js +54 -0
  106. package/stories/Line.stories.js +35 -0
  107. package/stories/List.stories.js +112 -0
  108. package/stories/MaskField.stories.js +58 -0
  109. package/stories/Menu.stories.js +82 -0
  110. package/stories/Node.stories.js +39 -0
  111. package/stories/Pagination.stories.js +39 -0
  112. package/stories/Paper.stories.js +65 -0
  113. package/stories/Progress.stories.js +86 -0
  114. package/stories/Radio.stories.js +52 -0
  115. package/stories/RadioGroup.stories.js +47 -0
  116. package/stories/Select.stories.js +100 -0
  117. package/stories/Sidebar.stories.js +43 -0
  118. package/stories/Slide.stories.js +62 -0
  119. package/stories/Slider.stories.js +69 -0
  120. package/stories/Snackbar.stories.js +102 -0
  121. package/stories/Stepper.stories.js +43 -0
  122. package/stories/Table.stories.js +32 -0
  123. package/stories/Tabs.stories.js +37 -0
  124. package/stories/TextField.stories.js +151 -0
  125. package/stories/Tooltip.stories.js +129 -0
  126. package/stories/Tree.stories.js +45 -0
  127. package/stories/Typography.stories.js +130 -0
  128. package/stories/Zooms.stories.js +54 -0
  129. package/docz/Wrapper.js +0 -20
@@ -0,0 +1,17 @@
1
+ import { ColumnSpec, Data, Errors, PartialData, RowMode } from './types';
2
+ declare type StatefulRowProps<D extends Data> = {
3
+ data: D;
4
+ mode: RowMode;
5
+ errors?: Errors<D>;
6
+ columns: ColumnSpec<D>[];
7
+ onUpdate?(partial: Partial<Data>): void;
8
+ };
9
+ export declare const StatefulRow: <D extends Data>({ data, mode, errors, columns, onUpdate }: StatefulRowProps<D>) => JSX.Element;
10
+ declare type NewRowProps<D extends Data> = {
11
+ data: PartialData<D>;
12
+ errors?: Errors<D>;
13
+ columns: ColumnSpec<D>[];
14
+ onUpdate?(partial: Partial<Data>): void;
15
+ };
16
+ export declare const NewRow: <D extends Data>({ data, columns, errors, onUpdate }: NewRowProps<D>) => JSX.Element;
17
+ export {};
@@ -0,0 +1,198 @@
1
+ "use strict";
2
+
3
+ var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard");
4
+
5
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
6
+
7
+ Object.defineProperty(exports, "__esModule", {
8
+ value: true
9
+ });
10
+ exports.NewRow = exports.StatefulRow = void 0;
11
+
12
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
13
+
14
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
15
+
16
+ var _types = require("./types");
17
+
18
+ var _TextField = _interopRequireDefault(require("../TextField"));
19
+
20
+ var _MaskField = _interopRequireDefault(require("../MaskField"));
21
+
22
+ var _DateTime = _interopRequireDefault(require("../DateTime"));
23
+
24
+ var _react = _interopRequireWildcard(require("react"));
25
+
26
+ var _TableCell = _interopRequireDefault(require("@material-ui/core/TableCell"));
27
+
28
+ var _TableRow = _interopRequireDefault(require("@material-ui/core/TableRow"));
29
+
30
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }
31
+
32
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { (0, _defineProperty2["default"])(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
33
+
34
+ var isEditable = function isEditable(column) {
35
+ return column.type === 'actions' || column.editable;
36
+ };
37
+
38
+ var renderEditMode = function renderEditMode(column, row, updateRow, errors) {
39
+ var _errors$row$id, _column$type;
40
+
41
+ var isNew = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : false;
42
+
43
+ if (column.type === 'actions') {
44
+ return column.renderCell({
45
+ data: row,
46
+ rowMode: _types.RowMode.Edit,
47
+ isNew: isNew
48
+ });
49
+ }
50
+
51
+ var hasError = errors === null || errors === void 0 ? void 0 : (_errors$row$id = errors[row.id]) === null || _errors$row$id === void 0 ? void 0 : _errors$row$id.has(column.field);
52
+
53
+ if (column.renderCell) {
54
+ var _value = row[column.field];
55
+ return column.renderCell({
56
+ data: row,
57
+ rowMode: _types.RowMode.Edit,
58
+ isNew: isNew,
59
+ hasError: hasError,
60
+ value: _value
61
+ });
62
+ }
63
+
64
+ if (column.type === 'datetime') {
65
+ var date = row[column.field];
66
+ return /*#__PURE__*/_react["default"].createElement(_DateTime["default"], {
67
+ type: "datetime",
68
+ value: date,
69
+ fullWidth: true,
70
+ error: hasError,
71
+ onChange: function onChange(value) {
72
+ updateRow(column.field, value);
73
+ }
74
+ });
75
+ }
76
+
77
+ if ((_column$type = column.type) !== null && _column$type !== void 0 && _column$type.includes('numeric')) {
78
+ var decimalScale = column.type === 'numeric-int' ? 0 : 2;
79
+ var numeric = row[column.field];
80
+ return /*#__PURE__*/_react["default"].createElement(_MaskField["default"], {
81
+ fixedDecimalScale: true,
82
+ type: "text",
83
+ fullWidth: true,
84
+ error: hasError,
85
+ thousandSeparator: ".",
86
+ decimalSeparator: ",",
87
+ decimalScale: decimalScale,
88
+ value: numeric,
89
+ name: column.field.toString(),
90
+ onChange: function onChange(event) {
91
+ var _event$target$value;
92
+
93
+ var rawValue = (_event$target$value = event.target.value) === null || _event$target$value === void 0 ? void 0 : _event$target$value.replace('.', '').replace(',', '.');
94
+ var value = decimalScale === 0 ? parseInt(rawValue) : parseFloat(rawValue);
95
+ updateRow(column.field, value);
96
+ }
97
+ });
98
+ }
99
+
100
+ var type = column.type === 'number' ? 'number' : 'text';
101
+ var value = row[column.field];
102
+ return /*#__PURE__*/_react["default"].createElement(_TextField["default"], {
103
+ defaultValue: value,
104
+ type: type,
105
+ fullWidth: true,
106
+ error: hasError,
107
+ name: column.field.toString(),
108
+ onChange: function onChange(event) {
109
+ return updateRow(column.field, event.target.value);
110
+ }
111
+ });
112
+ };
113
+
114
+ var renderViewMode = function renderViewMode(column, row) {
115
+ var _column$getValue;
116
+
117
+ if (column.type === 'actions') {
118
+ return column.renderCell({
119
+ data: row,
120
+ rowMode: _types.RowMode.View
121
+ });
122
+ }
123
+
124
+ var rawValue = row[column.field];
125
+
126
+ if (column.renderCell) {
127
+ return column.renderCell({
128
+ data: row,
129
+ rowMode: _types.RowMode.View,
130
+ value: rawValue
131
+ });
132
+ }
133
+
134
+ return ((_column$getValue = column.getValue) === null || _column$getValue === void 0 ? void 0 : _column$getValue.call(column, rawValue)) || rawValue;
135
+ };
136
+
137
+ var StatefulRow = function StatefulRow(_ref) {
138
+ var data = _ref.data,
139
+ mode = _ref.mode,
140
+ errors = _ref.errors,
141
+ columns = _ref.columns,
142
+ onUpdate = _ref.onUpdate;
143
+
144
+ var _useState = (0, _react.useState)(function () {
145
+ return data;
146
+ }),
147
+ _useState2 = (0, _slicedToArray2["default"])(_useState, 2),
148
+ editableState = _useState2[0],
149
+ setEditableState = _useState2[1];
150
+
151
+ var partialUpdate = (0, _react.useCallback)(function (field, value) {
152
+ setEditableState(function (values) {
153
+ return _objectSpread(_objectSpread({}, values), {}, (0, _defineProperty2["default"])({}, "".concat(field), value));
154
+ });
155
+ var patch = {};
156
+ patch[field] = value;
157
+ onUpdate === null || onUpdate === void 0 ? void 0 : onUpdate(patch);
158
+ }, []);
159
+ return /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, columns.map(function (column) {
160
+ return /*#__PURE__*/_react["default"].createElement(_TableCell["default"], {
161
+ align: column.align,
162
+ key: column.title,
163
+ style: column.cellStyle
164
+ }, mode === _types.RowMode.Edit && isEditable(column) ? renderEditMode(column, editableState, partialUpdate, errors) : renderViewMode(column, data));
165
+ }));
166
+ };
167
+
168
+ exports.StatefulRow = StatefulRow;
169
+
170
+ var NewRow = function NewRow(_ref2) {
171
+ var data = _ref2.data,
172
+ columns = _ref2.columns,
173
+ errors = _ref2.errors,
174
+ onUpdate = _ref2.onUpdate;
175
+
176
+ var _useState3 = (0, _react.useState)(function () {
177
+ return data;
178
+ }),
179
+ _useState4 = (0, _slicedToArray2["default"])(_useState3, 2),
180
+ editableState = _useState4[0],
181
+ setEditableState = _useState4[1];
182
+
183
+ var partialUpdate = (0, _react.useCallback)(function (field, value) {
184
+ setEditableState(function (values) {
185
+ return _objectSpread(_objectSpread({}, values), {}, (0, _defineProperty2["default"])({}, field, value));
186
+ });
187
+ onUpdate === null || onUpdate === void 0 ? void 0 : onUpdate((0, _defineProperty2["default"])({}, field, value));
188
+ }, []);
189
+ return /*#__PURE__*/_react["default"].createElement(_TableRow["default"], null, columns.map(function (column) {
190
+ return /*#__PURE__*/_react["default"].createElement(_TableCell["default"], {
191
+ style: column.cellStyle,
192
+ align: column.align,
193
+ key: column.title
194
+ }, isEditable(column) ? renderEditMode(column, editableState, partialUpdate, errors, true) : renderViewMode(column, editableState));
195
+ }));
196
+ };
197
+
198
+ exports.NewRow = NewRow;
@@ -0,0 +1,6 @@
1
+ export { default } from './DataTable';
2
+ export type { DataTableProps } from './DataTable';
3
+ export { RowMode } from './types';
4
+ export { DataTableAction } from './DataTableAction';
5
+ export type { DataTableActionProps } from './DataTableAction';
6
+ export type { ActionsCellProps, Align, DataTableController, PaginationOptions, ColumnType, Errors, RenderCellProps, RowAction } from './types';
@@ -0,0 +1,31 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ Object.defineProperty(exports, "default", {
9
+ enumerable: true,
10
+ get: function get() {
11
+ return _DataTable["default"];
12
+ }
13
+ });
14
+ Object.defineProperty(exports, "RowMode", {
15
+ enumerable: true,
16
+ get: function get() {
17
+ return _types.RowMode;
18
+ }
19
+ });
20
+ Object.defineProperty(exports, "DataTableAction", {
21
+ enumerable: true,
22
+ get: function get() {
23
+ return _DataTableAction.DataTableAction;
24
+ }
25
+ });
26
+
27
+ var _DataTable = _interopRequireDefault(require("./DataTable"));
28
+
29
+ var _types = require("./types");
30
+
31
+ var _DataTableAction = require("./DataTableAction");
@@ -0,0 +1,103 @@
1
+ import type { CSSProperties, FunctionComponent } from 'react';
2
+ declare type RecordUnknown = Record<string, unknown>;
3
+ export declare type StackView = RecordUnknown;
4
+ export declare type Identifier = string | number;
5
+ export interface Data extends RecordUnknown {
6
+ id: Identifier;
7
+ }
8
+ export declare type PartialData<D extends RecordUnknown> = Partial<D> & {
9
+ id: Identifier;
10
+ };
11
+ export declare type ColumnType = 'datetime' | 'text' | 'number' | 'numeric-float' | 'numeric-int';
12
+ export declare type Align = 'right' | 'left' | 'center' | 'justify' | 'inherit';
13
+ declare type ColumnSpecBase<F = {}> = {
14
+ title: string;
15
+ type: string;
16
+ cellStyle?: CSSProperties;
17
+ headerStyle?: CSSProperties;
18
+ align?: Align;
19
+ renderCell?: FunctionComponent<F>;
20
+ };
21
+ export declare type RenderCellProps<D extends Data> = {
22
+ data: D;
23
+ rowMode: RowMode;
24
+ value: unknown;
25
+ hasError?: boolean;
26
+ isNew?: boolean;
27
+ };
28
+ interface ColumnSpecDefault<D extends Data> extends ColumnSpecBase<RenderCellProps<PartialData<D>>> {
29
+ type: ColumnType;
30
+ field: keyof D;
31
+ editable?: boolean;
32
+ getValue?(value: unknown): string;
33
+ }
34
+ export declare type ActionsCellProps<D extends Data> = {
35
+ data: PartialData<D>;
36
+ rowMode: RowMode;
37
+ isNew?: boolean;
38
+ };
39
+ interface ColumnSpecActions<D extends Data> extends ColumnSpecBase<ActionsCellProps<D>> {
40
+ type: 'actions';
41
+ renderCell: FunctionComponent<ActionsCellProps<D>>;
42
+ }
43
+ export declare type ColumnSpec<D extends Data> = ColumnSpecDefault<D> | ColumnSpecActions<D>;
44
+ export declare type PaginationOptions = {
45
+ rowsPerPage: number;
46
+ labelRowsPerPage: string;
47
+ labelDisplayedRows: (param: {
48
+ from: number;
49
+ to: number;
50
+ count: number;
51
+ }) => string;
52
+ rowsPerPageOptions: number[];
53
+ showFirstButton?: boolean;
54
+ showLastButton?: boolean;
55
+ disabled: boolean;
56
+ };
57
+ export declare type RowAction<D> = {
58
+ type: 'add' | 'delete' | 'update';
59
+ data: D;
60
+ };
61
+ export declare enum RowMode {
62
+ View = 0,
63
+ Edit = 1
64
+ }
65
+ export declare type RowState<D extends Data, S extends StackView> = {
66
+ mode: RowMode;
67
+ stackView: (keyof S)[];
68
+ currentState?: D;
69
+ editableState: Partial<D>;
70
+ };
71
+ export declare type RowViewComponent<D> = FunctionComponent<{
72
+ popRowView?: () => void;
73
+ data: D;
74
+ }>;
75
+ export declare type DataTableController<D extends Data, V extends StackView> = {
76
+ /**
77
+ * Actives the edit mode for a row
78
+ */
79
+ editRow(id: Identifier): void;
80
+ /**
81
+ * Actives the view mode for a row
82
+ */
83
+ viewRow(id: Identifier): void;
84
+ /**
85
+ * Adds a new row on the DataTable
86
+ */
87
+ addRow(data: PartialData<D>): void;
88
+ /**
89
+ * Returns only the edited properties of a row in edit mode
90
+ */
91
+ getEditedRowData(id: Identifier): PartialData<D>;
92
+ /**
93
+ * Returns the edited properties and the old data of a row in edit mode
94
+ */
95
+ getRowData(id: Identifier): {
96
+ edited: PartialData<D>;
97
+ current?: D;
98
+ };
99
+ pushRowView(id: Identifier, view: keyof V): void;
100
+ popRowView(id: Identifier): void;
101
+ };
102
+ export declare type Errors<D> = Partial<Record<Identifier, Set<keyof D>>>;
103
+ export {};
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.RowMode = void 0;
7
+
8
+ /* eslint-disable @typescript-eslint/interface-name-prefix */
9
+ var RowMode;
10
+ exports.RowMode = RowMode;
11
+
12
+ (function (RowMode) {
13
+ RowMode[RowMode["View"] = 0] = "View";
14
+ RowMode[RowMode["Edit"] = 1] = "Edit";
15
+ })(RowMode || (exports.RowMode = RowMode = {}));
@@ -0,0 +1,8 @@
1
+ import { Data, Identifier, RowState } from './types';
2
+ export declare const useRowsState: <D extends Data, V extends Record<string, unknown>>(rows: D[], newRow?: Partial<D> | undefined) => {
3
+ getRowState: (id: Identifier) => RowState<D, V> | undefined;
4
+ setEditableRowState: (id: Identifier) => (patch: Partial<D>) => void;
5
+ setRowState: (id: Identifier, partial: Partial<RowState<D, V>>) => void;
6
+ pushRowView: (id: Identifier, view: keyof V) => void;
7
+ popRowView: (id: Identifier) => void;
8
+ };
@@ -0,0 +1,153 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.useRowsState = void 0;
9
+
10
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
11
+
12
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
13
+
14
+ var _react = require("react");
15
+
16
+ var _types = require("./types");
17
+
18
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }
19
+
20
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { (0, _defineProperty2["default"])(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
21
+
22
+ function _createForOfIteratorHelper(o, allowArrayLike) { var it; if (typeof Symbol === "undefined" || o[Symbol.iterator] == null) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = o[Symbol.iterator](); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it["return"] != null) it["return"](); } finally { if (didErr) throw err; } } }; }
23
+
24
+ function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
25
+
26
+ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
27
+
28
+ var useRowsState = function useRowsState(rows, newRow) {
29
+ var _useState = (0, _react.useState)(function () {
30
+ return {
31
+ internal: new Map()
32
+ };
33
+ }),
34
+ _useState2 = (0, _slicedToArray2["default"])(_useState, 2),
35
+ state = _useState2[0],
36
+ setState = _useState2[1]; // TODO: lazy inicialization
37
+
38
+
39
+ (0, _react.useEffect)(function () {
40
+ var nextState = new Map();
41
+
42
+ var _iterator = _createForOfIteratorHelper(rows),
43
+ _step;
44
+
45
+ try {
46
+ for (_iterator.s(); !(_step = _iterator.n()).done;) {
47
+ var row = _step.value;
48
+ var elem = state.internal.get(row.id);
49
+
50
+ if (elem) {
51
+ nextState.set(row.id, elem);
52
+ } else {
53
+ nextState.set(row.id, {
54
+ editableState: {},
55
+ mode: _types.RowMode.View,
56
+ stackView: [],
57
+ currentState: row
58
+ });
59
+ }
60
+ }
61
+ } catch (err) {
62
+ _iterator.e(err);
63
+ } finally {
64
+ _iterator.f();
65
+ }
66
+
67
+ if (newRow !== null && newRow !== void 0 && newRow.id) {
68
+ nextState.set(newRow.id, {
69
+ editableState: _objectSpread({}, newRow),
70
+ mode: _types.RowMode.View,
71
+ stackView: []
72
+ });
73
+ }
74
+
75
+ setState({
76
+ internal: nextState
77
+ });
78
+ }, [rows, !!newRow]);
79
+ var setRowState = (0, _react.useCallback)(function (id, partial) {
80
+ setState(function (state) {
81
+ var elem = state.internal.get(id);
82
+
83
+ if (elem) {
84
+ state.internal.set(id, _objectSpread(_objectSpread({}, elem), partial));
85
+ }
86
+
87
+ return {
88
+ internal: state.internal
89
+ };
90
+ });
91
+ }, []);
92
+ var pushRowView = (0, _react.useCallback)(function (id, view) {
93
+ setState(function (state) {
94
+ var elem = state.internal.get(id);
95
+
96
+ if (elem) {
97
+ elem.stackView.push(view);
98
+ state.internal.set(id, elem);
99
+ }
100
+
101
+ return {
102
+ internal: state.internal
103
+ };
104
+ });
105
+ }, []);
106
+ var popRowView = (0, _react.useCallback)(function (id) {
107
+ setState(function (state) {
108
+ var elem = state.internal.get(id);
109
+
110
+ if (elem) {
111
+ elem === null || elem === void 0 ? void 0 : elem.stackView.pop();
112
+ state.internal.set(id, elem);
113
+ }
114
+
115
+ return {
116
+ internal: state.internal
117
+ };
118
+ });
119
+ }, []);
120
+ var getRowState = (0, _react.useCallback)(function (id) {
121
+ return state.internal.get(id);
122
+ }, [state]);
123
+ var setEditableRowState = (0, _react.useCallback)(function (id) {
124
+ return function (patch) {
125
+ setState(function (state) {
126
+ var elem = state.internal.get(id);
127
+
128
+ if (elem) {
129
+ elem.editableState = _objectSpread(_objectSpread({}, elem.editableState), patch);
130
+ } else {
131
+ state.internal.set(id, {
132
+ editableState: patch,
133
+ mode: _types.RowMode.View,
134
+ stackView: []
135
+ });
136
+ }
137
+
138
+ return {
139
+ internal: state.internal
140
+ };
141
+ });
142
+ };
143
+ }, []);
144
+ return {
145
+ getRowState: getRowState,
146
+ setEditableRowState: setEditableRowState,
147
+ setRowState: setRowState,
148
+ pushRowView: pushRowView,
149
+ popRowView: popRowView
150
+ };
151
+ };
152
+
153
+ exports.useRowsState = useRowsState;
@@ -1,6 +1,6 @@
1
1
  import React, { FC } from 'react';
2
2
  import DateFnsUtils from '@date-io/date-fns';
3
- import { IDefault } from './Advertise';
3
+ import { DefaultProps } from './types';
4
4
  import { KeyboardDatePickerProps } from '@material-ui/pickers/DatePicker';
5
5
  import { KeyboardDateTimePickerProps } from '@material-ui/pickers/DateTimePicker';
6
6
  import { KeyboardTimePickerProps } from '@material-ui/pickers/TimePicker';
@@ -14,6 +14,6 @@ interface IProps {
14
14
  onAuxClickCapture?(event: React.MouseEvent<HTMLDivElement, MouseEvent>): void;
15
15
  onChange(date: MaterialUiPickersDate | null, value?: string): void;
16
16
  }
17
- declare type TProps = Omit<KeyboardDatePickerProps, 'margin' | 'onChange'> & Omit<KeyboardDateTimePickerProps, 'margin' | 'onChange'> & Omit<KeyboardTimePickerProps, 'margin' | 'onChange'> & IProps & IDefault;
18
- declare const DateTime: FC<TProps>;
17
+ declare type DateTimeProps = Omit<KeyboardDatePickerProps, 'margin' | 'onChange'> & Omit<KeyboardDateTimePickerProps, 'margin' | 'onChange'> & Omit<KeyboardTimePickerProps, 'margin' | 'onChange'> & IProps & DefaultProps;
18
+ declare const DateTime: FC<DateTimeProps>;
19
19
  export default DateTime;
package/core/Dialog.d.ts CHANGED
@@ -1,6 +1,6 @@
1
1
  import { CSSProperties, ReactNode, FC } from 'react';
2
- import { IDefault } from './Advertise';
3
- interface IProps extends IDefault {
2
+ import { DefaultProps } from './types';
3
+ interface DialogProps extends DefaultProps {
4
4
  open: boolean;
5
5
  fullScreen?: boolean;
6
6
  fullWidth?: boolean;
@@ -23,5 +23,5 @@ interface IProps extends IDefault {
23
23
  scroll?: 'body' | 'paper' | 'unset-paper' | 'unset-body';
24
24
  onClose?: () => void;
25
25
  }
26
- declare const Dialog: FC<IProps>;
26
+ declare const Dialog: FC<DialogProps>;
27
27
  export default Dialog;
package/core/Divider.d.ts CHANGED
@@ -1,8 +1,8 @@
1
1
  import { FC } from 'react';
2
- import { IDefault } from './Advertise';
3
- interface IProps extends IDefault {
2
+ import { DefaultProps } from './types';
3
+ interface DividerProps extends DefaultProps {
4
4
  inset?: boolean;
5
5
  light?: boolean;
6
6
  }
7
- declare const Divider: FC<IProps>;
7
+ declare const Divider: FC<DividerProps>;
8
8
  export default Divider;
package/core/Drawer.d.ts CHANGED
@@ -1,9 +1,9 @@
1
- import { DrawerProps } from '@material-ui/core/Drawer';
1
+ import { DrawerProps as MuiDrawerProps } from '@material-ui/core/Drawer';
2
2
  import { FC } from 'react';
3
- import { IDefault } from './Advertise';
4
- interface IProps extends DrawerProps, IDefault {
3
+ import { DefaultProps } from './types';
4
+ interface DrawerProps extends MuiDrawerProps, DefaultProps {
5
5
  top?: number;
6
6
  width?: number;
7
7
  }
8
- declare const Drawer: FC<IProps>;
8
+ declare const Drawer: FC<DrawerProps>;
9
9
  export default Drawer;
@@ -1,6 +1,6 @@
1
1
  import React from 'react';
2
2
  import { Column, Options } from 'material-table';
3
- interface IProps<T extends object> {
3
+ interface EditableTableProps<T extends object> {
4
4
  title?: string;
5
5
  color?: 'primary' | 'inherit' | 'secondary' | 'disabled';
6
6
  columns?: Column<object>[];
@@ -26,5 +26,5 @@ export declare type TSuggestion = {
26
26
  label: string;
27
27
  value: string;
28
28
  };
29
- declare const EditableTable: <T extends object>(props: IProps<T>) => JSX.Element;
29
+ declare const EditableTable: <T extends object>(props: EditableTableProps<T>) => JSX.Element;
30
30
  export default EditableTable;
@@ -159,9 +159,9 @@ var EditableTable = function EditableTable(props) {
159
159
  var renderMaskField = function renderMaskField(item, error) {
160
160
  var _item$value;
161
161
 
162
- return /*#__PURE__*/_react["default"].createElement(Wrapper, null, /*#__PURE__*/_react["default"].createElement(_MaskField["default"], {
162
+ return /*#__PURE__*/_react["default"].createElement(Wrapper, null, /*#__PURE__*/_react["default"].createElement(_MaskField["default"], (0, _extends2["default"])({}, item, {
163
163
  fixedDecimalScale: true,
164
- error: error,
164
+ error: props.errors ? error : item.error,
165
165
  type: "text",
166
166
  thousandSeparator: ".",
167
167
  decimalSeparator: ",",
@@ -174,14 +174,12 @@ var EditableTable = function EditableTable(props) {
174
174
  item.onChange(event.target.value);
175
175
  valueRef.current = event.target.value;
176
176
  }
177
- }));
177
+ })));
178
178
  };
179
179
 
180
- var renderAddComponent = function renderAddComponent() {
181
- return /*#__PURE__*/_react["default"].createElement(AddRowButton, {
182
- "data-id": "add-row"
183
- }, /*#__PURE__*/_react["default"].createElement(_NoteAdd["default"], null), /*#__PURE__*/_react["default"].createElement(AddRowText, null, " Adicionar ", props.title, " "));
184
- };
180
+ var renderAddComponent = /*#__PURE__*/_react["default"].createElement(AddRowButton, {
181
+ "data-id": "add-row"
182
+ }, /*#__PURE__*/_react["default"].createElement(_NoteAdd["default"], null), /*#__PURE__*/_react["default"].createElement(AddRowText, null, " Adicionar ", props.title, " "));
185
183
 
186
184
  var pagination = !props.paginationInfo ? {
187
185
  Pagination: function Pagination() {
@@ -273,7 +271,7 @@ var EditableTable = function EditableTable(props) {
273
271
  EditField: function EditField(localProps) {
274
272
  if (localProps.columnDef.type === 'datetime') {
275
273
  return /*#__PURE__*/_react["default"].createElement(_DateTime["default"], {
276
- error: getErrors(localProps.columnDef.field),
274
+ error: props.errors ? getErrors(localProps.columnDef.field) : localProps.error,
277
275
  name: localProps.columnDef.field + '-input',
278
276
  type: localProps.columnDef.type,
279
277
  value: localProps.value,
@@ -299,7 +297,7 @@ var EditableTable = function EditableTable(props) {
299
297
  localization: (0, _localization.getLocalization)(props.title),
300
298
  icons: {
301
299
  Add: (0, _react.forwardRef)(function () {
302
- return renderAddComponent();
300
+ return renderAddComponent;
303
301
  }),
304
302
  Delete: (0, _react.forwardRef)(function () {
305
303
  return /*#__PURE__*/_react["default"].createElement(_Delete["default"], {