@webiny/ui 5.37.8 → 5.38.0-beta.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 (212) hide show
  1. package/Accordion/Accordion.js +3 -1
  2. package/Accordion/Accordion.stories.js +3 -1
  3. package/Accordion/AccordionItem.d.ts +2 -1
  4. package/Accordion/AccordionItem.js +5 -2
  5. package/Accordion/AccordionItem.js.map +1 -1
  6. package/Accordion/AccordionItemActions.d.ts +4 -0
  7. package/Accordion/AccordionItemActions.js +13 -2
  8. package/Accordion/AccordionItemActions.js.map +1 -1
  9. package/Accordion/index.js +3 -1
  10. package/Alert/Alert.js +3 -1
  11. package/Alert/Alert.stories.js +3 -1
  12. package/Alert/index.js +3 -1
  13. package/AutoComplete/AutoComplete.js +3 -1
  14. package/AutoComplete/AutoComplete.stories.js +3 -1
  15. package/AutoComplete/MultiAutoComplete.d.ts +5 -1
  16. package/AutoComplete/MultiAutoComplete.js +10 -1
  17. package/AutoComplete/MultiAutoComplete.js.map +1 -1
  18. package/AutoComplete/MultiAutoComplete.stories.js +3 -1
  19. package/AutoComplete/index.js +3 -1
  20. package/AutoComplete/styles.js +3 -1
  21. package/AutoComplete/types.js +3 -1
  22. package/AutoComplete/utils.js +3 -1
  23. package/Avatar/Avatar.js +3 -1
  24. package/Avatar/Avatar.stories.js +3 -1
  25. package/Avatar/index.js +3 -1
  26. package/Button/Button.js +3 -1
  27. package/Button/Button.stories.js +3 -1
  28. package/Button/Button.styles.js +3 -1
  29. package/Button/CopyButton/CopyButton.js +3 -1
  30. package/Button/CopyButton/CopyButton.stories.js +3 -1
  31. package/Button/IconButton/IconButton.js +3 -1
  32. package/Button/IconButton/IconButton.stories.js +3 -1
  33. package/Button/index.js +3 -1
  34. package/Carousel/Carousel.js +3 -1
  35. package/Carousel/Carouser.stories.js +3 -1
  36. package/Carousel/index.js +3 -1
  37. package/Checkbox/Checkbox.js +3 -1
  38. package/Checkbox/Checkbox.stories.js +3 -1
  39. package/Checkbox/Checkbox.styles.js +3 -1
  40. package/Checkbox/CheckboxGroup.js +3 -1
  41. package/Checkbox/CheckboxGroup.stories.js +3 -1
  42. package/Checkbox/index.js +3 -1
  43. package/Chips/Chip.js +3 -1
  44. package/Chips/Chips.js +3 -1
  45. package/Chips/Chips.stories.js +3 -1
  46. package/Chips/index.js +3 -1
  47. package/Chips/styles.js +3 -1
  48. package/CodeEditor/CodeEditor.d.ts +3 -0
  49. package/CodeEditor/CodeEditor.js +10 -2
  50. package/CodeEditor/CodeEditor.js.map +1 -1
  51. package/CodeEditor/CodeEditor.stories.js +3 -1
  52. package/CodeEditor/index.js +3 -1
  53. package/ColorPicker/ColorPicker.js +3 -1
  54. package/ColorPicker/ColorPicker.stories.js +3 -1
  55. package/ColorPicker/index.js +3 -1
  56. package/ConfirmationDialog/ConfirmationDialog.js +3 -1
  57. package/ConfirmationDialog/ConfirmationDialog.stories.js +3 -1
  58. package/ConfirmationDialog/index.js +3 -1
  59. package/ConfirmationDialog/withConfirmation.js +3 -1
  60. package/DataTable/DataTable.d.ts +7 -1
  61. package/DataTable/DataTable.js +51 -17
  62. package/DataTable/DataTable.js.map +1 -1
  63. package/DataTable/DataTable.stories.js +3 -1
  64. package/DataTable/index.js +3 -1
  65. package/DataTable/styled.d.ts +16 -3
  66. package/DataTable/styled.js +23 -7
  67. package/DataTable/styled.js.map +1 -1
  68. package/DelayedOnChange/DelayedOnChange.js +3 -1
  69. package/DelayedOnChange/index.js +3 -1
  70. package/DelayedOnChange/withDelayedOnChange.js +3 -1
  71. package/Dialog/Dialog.js +3 -1
  72. package/Dialog/Dialog.stories.js +3 -1
  73. package/Dialog/index.js +3 -1
  74. package/Drawer/Drawer.d.ts +11 -1
  75. package/Drawer/Drawer.js +3 -1
  76. package/Drawer/Drawer.js.map +1 -1
  77. package/Drawer/Drawer.stories.js +3 -1
  78. package/Drawer/index.js +3 -1
  79. package/DynamicFieldset/Fieldset.js +3 -1
  80. package/DynamicFieldset/index.js +3 -1
  81. package/Elevation/Elevation.js +3 -1
  82. package/Elevation/Elevation.stories.js +3 -1
  83. package/Elevation/index.js +3 -1
  84. package/FormElementMessage/FormElementMessage.js +3 -1
  85. package/FormElementMessage/index.js +3 -1
  86. package/FullName/FullName.js +3 -1
  87. package/FullName/index.js +3 -1
  88. package/Grid/Grid.js +3 -1
  89. package/Grid/Grid.stories.js +3 -1
  90. package/Grid/index.js +3 -1
  91. package/Helpers/ClassNames.js +3 -1
  92. package/Helpers/index.js +3 -1
  93. package/Icon/Icon.js +3 -1
  94. package/Icon/Icon.stories.js +3 -1
  95. package/Icon/index.js +3 -1
  96. package/Image/Image.js +3 -1
  97. package/Image/Image.stories.js +3 -1
  98. package/Image/index.js +3 -1
  99. package/ImageEditor/ImageEditor.js +3 -1
  100. package/ImageEditor/index.js +3 -1
  101. package/ImageEditor/toolbar/crop.js +3 -1
  102. package/ImageEditor/toolbar/filter.js +3 -1
  103. package/ImageEditor/toolbar/flip.js +3 -1
  104. package/ImageEditor/toolbar/icons/index.js +3 -1
  105. package/ImageEditor/toolbar/index.js +3 -1
  106. package/ImageEditor/toolbar/rotate.js +3 -1
  107. package/ImageEditor/toolbar/types.js +3 -1
  108. package/ImageUpload/Image.js +3 -1
  109. package/ImageUpload/ImageEditorDialog.js +3 -1
  110. package/ImageUpload/MultiImageUpload.js +3 -1
  111. package/ImageUpload/MultiImageUpload.stories.js +3 -1
  112. package/ImageUpload/SingleImageUpload.js +3 -1
  113. package/ImageUpload/SingleImageUpload.stories.js +3 -1
  114. package/ImageUpload/index.js +3 -1
  115. package/ImageUpload/styled.js +3 -1
  116. package/Input/Input.js +3 -1
  117. package/Input/Input.stories.js +3 -1
  118. package/Input/__tests__/Input.test.js +3 -1
  119. package/Input/index.js +3 -1
  120. package/Input/styled.js +3 -1
  121. package/List/CollapsibleList/CollapsibleList.stories.js +3 -1
  122. package/List/CollapsibleList/index.js +3 -1
  123. package/List/DataList/DataList.js +3 -1
  124. package/List/DataList/DataList.stories.js +3 -1
  125. package/List/DataList/DataListModalOverlay/DataListModalOverlay.js +3 -1
  126. package/List/DataList/DataListModalOverlay/DataListModalOverlayAction.js +3 -1
  127. package/List/DataList/DataListModalOverlay/DataListModalOverlayContext.js +3 -1
  128. package/List/DataList/DataListModalOverlay/index.js +3 -1
  129. package/List/DataList/DataListWithSections.js +3 -1
  130. package/List/DataList/Loader.js +3 -1
  131. package/List/DataList/NoData.js +3 -1
  132. package/List/DataList/icons/index.js +3 -1
  133. package/List/DataList/index.js +3 -1
  134. package/List/DataList/types.js +3 -1
  135. package/List/List.js +3 -1
  136. package/List/List.stories.js +3 -1
  137. package/List/icons/index.js +3 -1
  138. package/List/index.js +3 -1
  139. package/Menu/Menu.d.ts +1 -0
  140. package/Menu/Menu.js +10 -6
  141. package/Menu/Menu.js.map +1 -1
  142. package/Menu/Menu.stories.js +3 -1
  143. package/Menu/index.js +3 -1
  144. package/Mosaic/Mosaic.js +3 -1
  145. package/Mosaic/Mosaic.stories.js +3 -1
  146. package/Mosaic/index.js +3 -1
  147. package/Progress/CircularProgress.js +3 -1
  148. package/Progress/index.js +3 -1
  149. package/Radio/Radio.js +3 -1
  150. package/Radio/Radio.styles.js +3 -1
  151. package/Radio/RadioGroup.js +3 -1
  152. package/Radio/RadioGroup.stories.js +3 -1
  153. package/Radio/index.js +3 -1
  154. package/RichTextEditor/RichTextEditor.d.ts +5 -5
  155. package/RichTextEditor/RichTextEditor.js +92 -68
  156. package/RichTextEditor/RichTextEditor.js.map +1 -1
  157. package/RichTextEditor/RichTextEditor.stories.js +3 -1
  158. package/RichTextEditor/createPropsFromConfig.js +3 -1
  159. package/RichTextEditor/index.js +3 -1
  160. package/Ripple/Ripple.js +3 -1
  161. package/Ripple/Ripple.stories.js +3 -1
  162. package/Ripple/index.js +3 -1
  163. package/Scrollbar/Scrollbar.js +3 -1
  164. package/Scrollbar/Scrollbar.stories.js +3 -1
  165. package/Scrollbar/index.js +3 -1
  166. package/Section/Section.stories.js +3 -1
  167. package/Section/index.js +3 -1
  168. package/Select/Select.js +3 -1
  169. package/Select/Select.stories.js +3 -1
  170. package/Select/index.js +3 -1
  171. package/Select/styled.js +3 -1
  172. package/Skeleton/Skeleton.js +3 -1
  173. package/Skeleton/Skeleton.stories.js +3 -1
  174. package/Skeleton/index.js +3 -1
  175. package/Slider/Slider.js +3 -1
  176. package/Slider/Slider.stories.js +3 -1
  177. package/Slider/index.js +3 -1
  178. package/Snackbar/Snackbar.js +3 -1
  179. package/Snackbar/Snackbar.stories.js +3 -1
  180. package/Snackbar/index.js +3 -1
  181. package/Switch/Switch.js +3 -1
  182. package/Switch/Switch.stories.js +3 -1
  183. package/Switch/index.js +3 -1
  184. package/Tabs/Tab.js +3 -1
  185. package/Tabs/Tabs.js +3 -1
  186. package/Tabs/Tabs.stories.js +3 -1
  187. package/Tabs/index.js +3 -1
  188. package/Tags/Tags.js +3 -1
  189. package/Tags/Tags.stories.js +3 -1
  190. package/Tags/index.js +3 -1
  191. package/Tooltip/Tooltip.js +3 -1
  192. package/Tooltip/Tooltip.stories.js +3 -1
  193. package/Tooltip/index.js +3 -1
  194. package/TopAppBar/TopAppBar.js +3 -1
  195. package/TopAppBar/TopAppBar.stories.js +3 -1
  196. package/TopAppBar/TopAppBarActionItem.js +3 -1
  197. package/TopAppBar/TopAppBarNavigationIcon.js +3 -1
  198. package/TopAppBar/TopAppBarPrimary.js +3 -1
  199. package/TopAppBar/TopAppBarSecondary.js +3 -1
  200. package/TopAppBar/TopAppBarSection.js +3 -1
  201. package/TopAppBar/TopAppBarTitle.js +3 -1
  202. package/TopAppBar/index.js +3 -1
  203. package/TopProgressBar/TopProgressBar.js +3 -1
  204. package/TopProgressBar/TopProgressBar.stories.js +3 -1
  205. package/TopProgressBar/hoc/index.js +3 -1
  206. package/TopProgressBar/hoc/withTopProgressBar.js +3 -1
  207. package/TopProgressBar/index.js +3 -1
  208. package/Typography/Typography.js +3 -1
  209. package/Typography/Typography.stories.js +3 -1
  210. package/Typography/index.js +3 -1
  211. package/package.json +7 -7
  212. package/types.js +3 -1
@@ -10,4 +10,6 @@ var _emotion = require("emotion");
10
10
  * @type {string}
11
11
  */
12
12
  var webinyButtonStyles = /*#__PURE__*/(0, _emotion.css)("&.webiny-ui-button--secondary:not(:disabled){border-color:var(--mdc-theme-primary);}}label:webinyButtonStyles;");
13
- exports.webinyButtonStyles = webinyButtonStyles;
13
+ exports.webinyButtonStyles = webinyButtonStyles;
14
+
15
+ //# sourceMappingURL=Button.styles.js.map
@@ -29,4 +29,6 @@ var CopyButton = function CopyButton(props) {
29
29
  icon: /*#__PURE__*/_react.default.createElement(_file_copy24px.ReactComponent, null)
30
30
  }));
31
31
  };
32
- exports.CopyButton = CopyButton;
32
+ exports.CopyButton = CopyButton;
33
+
34
+ //# sourceMappingURL=CopyButton.js.map
@@ -18,4 +18,6 @@ story.add("copy button", function () {
18
18
  info: {
19
19
  propTablesExclude: [_index.Menu, _index.MenuItem, _Story.Story, _Story.StoryReadme, _Story.StorySandbox]
20
20
  }
21
- });
21
+ });
22
+
23
+ //# sourceMappingURL=CopyButton.stories.js.map
@@ -29,4 +29,6 @@ var IconButton = function IconButton(props) {
29
29
  ripple: ripple
30
30
  });
31
31
  };
32
- exports.IconButton = IconButton;
32
+ exports.IconButton = IconButton;
33
+
34
+ //# sourceMappingURL=IconButton.js.map
@@ -38,4 +38,6 @@ story.add("icon button", function () {
38
38
  info: {
39
39
  propTablesExclude: [_index.Menu, _index.MenuItem, _Story.Story, _Story.StoryReadme, _Story.StorySandbox]
40
40
  }
41
- });
41
+ });
42
+
43
+ //# sourceMappingURL=IconButton.stories.js.map
package/Button/index.js CHANGED
@@ -35,4 +35,6 @@ Object.keys(_CopyButton).forEach(function (key) {
35
35
  return _CopyButton[key];
36
36
  }
37
37
  });
38
- });
38
+ });
39
+
40
+ //# sourceMappingURL=index.js.map
@@ -42,4 +42,6 @@ var Carousel = /*#__PURE__*/function (_React$Component) {
42
42
  });
43
43
  (0, _defineProperty2.default)(Carousel, "nukaProps", ["children", "afterSlide", "autoplay", "autoplayInterval", "beforeSlide", "dragging", "easing", "heightMode", "pauseOnHover", "slideIndex", "speed", "swiping", "transitionMode"]);
44
44
  var _default = Carousel;
45
- exports.default = _default;
45
+ exports.default = _default;
46
+
47
+ //# sourceMappingURL=Carousel.js.map
@@ -29,4 +29,6 @@ story.add("usage - single", function () {
29
29
  info: {
30
30
  propTables: [_Carousel.default]
31
31
  }
32
- });
32
+ });
33
+
34
+ //# sourceMappingURL=Carouser.stories.js.map
package/Carousel/index.js CHANGED
@@ -10,4 +10,6 @@ Object.defineProperty(exports, "Carousel", {
10
10
  return _Carousel.default;
11
11
  }
12
12
  });
13
- var _Carousel = _interopRequireDefault(require("./Carousel"));
13
+ var _Carousel = _interopRequireDefault(require("./Carousel"));
14
+
15
+ //# sourceMappingURL=index.js.map
@@ -69,4 +69,6 @@ var Checkbox = /*#__PURE__*/function (_React$Component) {
69
69
  return Checkbox;
70
70
  }(_react.default.Component);
71
71
  var _default = Checkbox;
72
- exports.default = _default;
72
+ exports.default = _default;
73
+
74
+ //# sourceMappingURL=Checkbox.js.map
@@ -28,4 +28,6 @@ story.add("usage - single", function () {
28
28
  info: {
29
29
  propTables: [_Checkbox.default]
30
30
  }
31
- });
31
+ });
32
+
33
+ //# sourceMappingURL=Checkbox.stories.js.map
@@ -17,4 +17,6 @@ var webinyCheckboxTitle = /*#__PURE__*/(0, _emotion.css)({}, {
17
17
  marginBottom: "5px"
18
18
  }
19
19
  }, "label:webinyCheckboxTitle;");
20
- exports.webinyCheckboxTitle = webinyCheckboxTitle;
20
+ exports.webinyCheckboxTitle = webinyCheckboxTitle;
21
+
22
+ //# sourceMappingURL=Checkbox.styles.js.map
@@ -59,4 +59,6 @@ var CheckboxGroup = /*#__PURE__*/function (_React$Component) {
59
59
  return CheckboxGroup;
60
60
  }(_react.default.Component);
61
61
  var _default = CheckboxGroup;
62
- exports.default = _default;
62
+ exports.default = _default;
63
+
64
+ //# sourceMappingURL=CheckboxGroup.js.map
@@ -55,4 +55,6 @@ story.add("usage - group", function () {
55
55
  info: {
56
56
  propTables: [_.CheckboxGroup]
57
57
  }
58
- });
58
+ });
59
+
60
+ //# sourceMappingURL=CheckboxGroup.stories.js.map
package/Checkbox/index.js CHANGED
@@ -17,4 +17,6 @@ Object.defineProperty(exports, "CheckboxGroup", {
17
17
  }
18
18
  });
19
19
  var _Checkbox = _interopRequireDefault(require("./Checkbox"));
20
- var _CheckboxGroup = _interopRequireDefault(require("./CheckboxGroup"));
20
+ var _CheckboxGroup = _interopRequireDefault(require("./CheckboxGroup"));
21
+
22
+ //# sourceMappingURL=index.js.map
package/Chips/Chip.js CHANGED
@@ -14,4 +14,6 @@ var Chip = function Chip(props) {
14
14
  rest = (0, _objectWithoutProperties2.default)(props, _excluded);
15
15
  return /*#__PURE__*/_react.default.createElement(_chip.Chip, rest, children);
16
16
  };
17
- exports.Chip = Chip;
17
+ exports.Chip = Chip;
18
+
19
+ //# sourceMappingURL=Chip.js.map
package/Chips/Chips.js CHANGED
@@ -21,4 +21,6 @@ var Chips = function Chips(props) {
21
21
  className: (0, _classnames.default)(className, _styles.chipIconWrapper, (0, _defineProperty2.default)({}, _styles.disabledChips, disabled))
22
22
  }), children));
23
23
  };
24
- exports.Chips = Chips;
24
+ exports.Chips = Chips;
25
+
26
+ //# sourceMappingURL=Chips.js.map
@@ -29,4 +29,6 @@ story.add("usage", function () {
29
29
  info: {
30
30
  propTables: [_index.Chip, _index.Chips]
31
31
  }
32
- });
32
+ });
33
+
34
+ //# sourceMappingURL=Chips.stories.js.map
package/Chips/index.js CHANGED
@@ -24,4 +24,6 @@ Object.keys(_Chip).forEach(function (key) {
24
24
  return _Chip[key];
25
25
  }
26
26
  });
27
- });
27
+ });
28
+
29
+ //# sourceMappingURL=index.js.map
package/Chips/styles.js CHANGED
@@ -24,4 +24,6 @@ var disabledChips = /*#__PURE__*/(0, _emotion.css)({
24
24
  opacity: 0.75,
25
25
  pointerEvents: "none"
26
26
  }, "label:disabledChips;");
27
- exports.disabledChips = disabledChips;
27
+ exports.disabledChips = disabledChips;
28
+
29
+ //# sourceMappingURL=styles.js.map
@@ -1,12 +1,15 @@
1
1
  import React from "react";
2
2
  import { FormComponentProps } from "../types";
3
3
  import "brace/mode/html";
4
+ import "brace/mode/json";
5
+ import "brace/ext/searchbox";
4
6
  import "brace/theme/github";
5
7
  import "brace/theme/twilight";
6
8
  import "brace/theme/chrome";
7
9
  interface Props extends FormComponentProps {
8
10
  mode: string;
9
11
  theme: string;
12
+ readOnly?: boolean;
10
13
  description?: React.ReactNode;
11
14
  }
12
15
  /**
@@ -16,11 +16,14 @@ var _react = _interopRequireDefault(require("react"));
16
16
  var _emotion = require("emotion");
17
17
  var _reactAce = _interopRequireDefault(require("react-ace"));
18
18
  require("brace/mode/html");
19
+ require("brace/mode/json");
20
+ require("brace/ext/searchbox");
19
21
  require("brace/theme/github");
20
22
  require("brace/theme/twilight");
21
23
  require("brace/theme/chrome");
22
24
  var _FormElementMessage = require("../FormElementMessage");
23
25
  var _excluded = ["value", "description", "validation", "theme"]; // Modes
26
+ // Extensions
24
27
  // Themes
25
28
  /**
26
29
  * Controls the helper text below the checkbox.
@@ -68,7 +71,10 @@ var CodeEditor = /*#__PURE__*/function (_React$Component) {
68
71
  onChange: this.onChange
69
72
  }, rest, {
70
73
  width: "100%",
71
- className: "mdc-text-field"
74
+ className: "mdc-text-field",
75
+ editorProps: {
76
+ $blockScrolling: Infinity // Suppresses scrolling warning in console.
77
+ }
72
78
  })), validationIsValid === false && /*#__PURE__*/_react.default.createElement(_FormElementMessage.FormElementMessage, {
73
79
  error: true,
74
80
  className: webinyCheckboxHelperText
@@ -79,4 +85,6 @@ var CodeEditor = /*#__PURE__*/function (_React$Component) {
79
85
  }]);
80
86
  return CodeEditor;
81
87
  }(_react.default.Component);
82
- exports.CodeEditor = CodeEditor;
88
+ exports.CodeEditor = CodeEditor;
89
+
90
+ //# sourceMappingURL=CodeEditor.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireDefault","require","_emotion","_reactAce","_FormElementMessage","_excluded","webinyCheckboxHelperText","css","paddingTop","CodeEditor","_React$Component","_inherits2","default","_super","_createSuper2","_this","_classCallCheck2","_len","arguments","length","args","Array","_key","call","apply","concat","_defineProperty2","_assertThisInitialized2","value","props","onChange","_createClass2","key","render","_this$props","description","validation","_this$props$theme","theme","rest","_objectWithoutProperties2","_ref","validationIsValid","isValid","validationMessage","message","createElement","Fragment","Object","assign","String","width","className","FormElementMessage","error","React","Component","exports"],"sources":["CodeEditor.tsx"],"sourcesContent":["import React from \"react\";\nimport { FormComponentProps } from \"~/types\";\nimport { css } from \"emotion\";\n\nimport AceEditor from \"react-ace\";\n// Modes\nimport \"brace/mode/html\";\n// Themes\nimport \"brace/theme/github\";\nimport \"brace/theme/twilight\";\nimport \"brace/theme/chrome\";\nimport { FormElementMessage } from \"~/FormElementMessage\";\n\n/**\n * Controls the helper text below the checkbox.\n * @type {string}\n */\nconst webinyCheckboxHelperText = css(\n {},\n {\n \"&.mdc-text-field-helper-text\": {\n paddingTop: 5\n }\n }\n);\n\ninterface Props extends FormComponentProps {\n mode: string;\n\n theme: string;\n\n // Description beneath the input.\n description?: React.ReactNode;\n}\n\n/**\n * CodeEditor component can be used to store simple boolean values.\n */\nclass CodeEditor extends React.Component<Props> {\n onChange = (value: string) => {\n this.props.onChange && this.props.onChange(value);\n };\n\n public override render() {\n const { value, description, validation, theme = \"github\", ...rest } = this.props;\n\n const { isValid: validationIsValid, message: validationMessage } = validation || {};\n\n return (\n <React.Fragment>\n <AceEditor\n value={value ? String(value) : \"\"}\n theme={theme}\n onChange={this.onChange}\n {...rest}\n width=\"100%\"\n className={\"mdc-text-field\"}\n />\n\n {validationIsValid === false && (\n <FormElementMessage error className={webinyCheckboxHelperText}>\n {validationMessage}\n </FormElementMessage>\n )}\n\n {validationIsValid !== false && description && (\n <FormElementMessage className={webinyCheckboxHelperText}>\n {description}\n </FormElementMessage>\n )}\n </React.Fragment>\n );\n }\n}\n\nexport { CodeEditor };\n"],"mappings":"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"}
1
+ {"version":3,"names":["_react","_interopRequireDefault","require","_emotion","_reactAce","_FormElementMessage","_excluded","webinyCheckboxHelperText","css","paddingTop","CodeEditor","_React$Component","_inherits2","default","_super","_createSuper2","_this","_classCallCheck2","_len","arguments","length","args","Array","_key","call","apply","concat","_defineProperty2","_assertThisInitialized2","value","props","onChange","_createClass2","key","render","_this$props","description","validation","_this$props$theme","theme","rest","_objectWithoutProperties2","_ref","validationIsValid","isValid","validationMessage","message","createElement","Fragment","Object","assign","String","width","className","editorProps","$blockScrolling","Infinity","FormElementMessage","error","React","Component","exports"],"sources":["CodeEditor.tsx"],"sourcesContent":["import React from \"react\";\nimport { FormComponentProps } from \"~/types\";\nimport { css } from \"emotion\";\n\nimport AceEditor from \"react-ace\";\n// Modes\nimport \"brace/mode/html\";\nimport \"brace/mode/json\";\n// Extensions\nimport \"brace/ext/searchbox\";\n// Themes\nimport \"brace/theme/github\";\nimport \"brace/theme/twilight\";\nimport \"brace/theme/chrome\";\nimport { FormElementMessage } from \"~/FormElementMessage\";\n\n/**\n * Controls the helper text below the checkbox.\n * @type {string}\n */\nconst webinyCheckboxHelperText = css(\n {},\n {\n \"&.mdc-text-field-helper-text\": {\n paddingTop: 5\n }\n }\n);\n\ninterface Props extends FormComponentProps {\n mode: string;\n\n theme: string;\n\n readOnly?: boolean;\n\n // Description beneath the input.\n description?: React.ReactNode;\n}\n\n/**\n * CodeEditor component can be used to store simple boolean values.\n */\nclass CodeEditor extends React.Component<Props> {\n onChange = (value: string) => {\n this.props.onChange && this.props.onChange(value);\n };\n\n public override render() {\n const { value, description, validation, theme = \"github\", ...rest } = this.props;\n\n const { isValid: validationIsValid, message: validationMessage } = validation || {};\n\n return (\n <React.Fragment>\n <AceEditor\n value={value ? String(value) : \"\"}\n theme={theme}\n onChange={this.onChange}\n {...rest}\n width=\"100%\"\n className={\"mdc-text-field\"}\n editorProps={{\n $blockScrolling: Infinity // Suppresses scrolling warning in console.\n }}\n />\n\n {validationIsValid === false && (\n <FormElementMessage error className={webinyCheckboxHelperText}>\n {validationMessage}\n </FormElementMessage>\n )}\n\n {validationIsValid !== false && description && (\n <FormElementMessage className={webinyCheckboxHelperText}>\n {description}\n </FormElementMessage>\n )}\n </React.Fragment>\n );\n }\n}\n\nexport { CodeEditor };\n"],"mappings":"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"}
@@ -32,4 +32,6 @@ story.add("usage", function () {
32
32
  info: {
33
33
  propTables: [_CodeEditor.CodeEditor]
34
34
  }
35
- });
35
+ });
36
+
37
+ //# sourceMappingURL=CodeEditor.stories.js.map
@@ -13,4 +13,6 @@ Object.keys(_CodeEditor).forEach(function (key) {
13
13
  return _CodeEditor[key];
14
14
  }
15
15
  });
16
- });
16
+ });
17
+
18
+ //# sourceMappingURL=index.js.map
@@ -125,4 +125,6 @@ var ColorPicker = /*#__PURE__*/function (_React$Component) {
125
125
  }]);
126
126
  return ColorPicker;
127
127
  }(_react.default.Component);
128
- exports.ColorPicker = ColorPicker;
128
+ exports.ColorPicker = ColorPicker;
129
+
130
+ //# sourceMappingURL=ColorPicker.js.map
@@ -30,4 +30,6 @@ story.add("usage", function () {
30
30
  info: {
31
31
  propTables: [_ColorPicker.ColorPicker]
32
32
  }
33
- });
33
+ });
34
+
35
+ //# sourceMappingURL=ColorPicker.stories.js.map
@@ -13,4 +13,6 @@ Object.keys(_ColorPicker).forEach(function (key) {
13
13
  return _ColorPicker[key];
14
14
  }
15
15
  });
16
- });
16
+ });
17
+
18
+ //# sourceMappingURL=index.js.map
@@ -141,4 +141,6 @@ exports.ConfirmationDialog = ConfirmationDialog;
141
141
  title: "Confirmation",
142
142
  message: "Are you sure you want to continue?",
143
143
  loading: /*#__PURE__*/_react.default.createElement(_Progress.CircularProgress, null)
144
- });
144
+ });
145
+
146
+ //# sourceMappingURL=ConfirmationDialog.js.map
@@ -30,4 +30,6 @@ story.add("usage", function () {
30
30
  info: {
31
31
  propTables: [_ConfirmationDialog.ConfirmationDialog]
32
32
  }
33
- });
33
+ });
34
+
35
+ //# sourceMappingURL=ConfirmationDialog.stories.js.map
@@ -24,4 +24,6 @@ Object.keys(_withConfirmation).forEach(function (key) {
24
24
  return _withConfirmation[key];
25
25
  }
26
26
  });
27
- });
27
+ });
28
+
29
+ //# sourceMappingURL=index.js.map
@@ -20,4 +20,6 @@ var withConfirmation = function withConfirmation(dialogProps) {
20
20
  };
21
21
  };
22
22
  };
23
- exports.withConfirmation = withConfirmation;
23
+ exports.withConfirmation = withConfirmation;
24
+
25
+ //# sourceMappingURL=withConfirmation.js.map
@@ -6,8 +6,10 @@ interface Column<T> {
6
6
  header: string | number | JSX.Element;
7
7
  cell?: (row: T) => string | number | JSX.Element;
8
8
  meta?: DataTableCellProps;
9
+ size?: number;
9
10
  className?: string;
10
11
  enableSorting?: boolean;
12
+ enableResizing?: boolean;
11
13
  }
12
14
  export declare type Columns<T> = {
13
15
  [P in keyof T]?: Column<T>;
@@ -59,6 +61,10 @@ interface Props<T> {
59
61
  * Sorting state.
60
62
  */
61
63
  sorting?: Sorting;
64
+ /**
65
+ * Initial sorting state.
66
+ */
67
+ initialSorting?: Sorting;
62
68
  /**
63
69
  * The number of columns to affix to the side of the table when scrolling.
64
70
  */
@@ -71,5 +77,5 @@ interface Props<T> {
71
77
  export interface ColumnDirectionProps {
72
78
  direction?: "asc" | "desc";
73
79
  }
74
- export declare const DataTable: <T extends Object & DefaultData>({ data, columns, onSelectRow, loadingInitial, stickyColumns, stickyRows, bordered, sorting, onSortingChange, isRowSelectable, canSelectAllRows, selectedRows }: Props<T>) => JSX.Element;
80
+ export declare const DataTable: <T extends Object & DefaultData>({ data, columns, onSelectRow, loadingInitial, stickyColumns, stickyRows, bordered, sorting, onSortingChange, isRowSelectable, canSelectAllRows, selectedRows, initialSorting }: Props<T>) => JSX.Element;
75
81
  export {};
@@ -27,13 +27,17 @@ var defineColumns = function defineColumns(columns, options) {
27
27
  }, columns[key]);
28
28
  });
29
29
  var defaults = columnsList.map(function (column) {
30
- var id = column.id,
31
- _header = column.header,
32
- meta = column.meta,
33
- _cell = column.cell,
30
+ var _cell = column.cell,
31
+ className = column.className,
32
+ _column$enableResizin = column.enableResizing,
33
+ enableResizing = _column$enableResizin === void 0 ? true : _column$enableResizin,
34
34
  _column$enableSorting = column.enableSorting,
35
35
  enableSorting = _column$enableSorting === void 0 ? false : _column$enableSorting,
36
- className = column.className;
36
+ _header = column.header,
37
+ id = column.id,
38
+ meta = column.meta,
39
+ _column$size = column.size,
40
+ size = _column$size === void 0 ? 200 : _column$size;
37
41
  return {
38
42
  accessorKey: id,
39
43
  header: function header() {
@@ -49,7 +53,9 @@ var defineColumns = function defineColumns(columns, options) {
49
53
  enableSorting: enableSorting,
50
54
  meta: (0, _objectSpread3.default)((0, _objectSpread3.default)({}, meta), {}, {
51
55
  className: className
52
- })
56
+ }),
57
+ enableResizing: enableResizing,
58
+ size: size
53
59
  };
54
60
  });
55
61
  var select = !!onSelectRow ? [{
@@ -78,10 +84,11 @@ var defineColumns = function defineColumns(columns, options) {
78
84
  });
79
85
  },
80
86
  meta: {
81
- hasFormControl: true,
82
- className: "datatable-select-column"
87
+ hasFormControl: true
83
88
  },
84
- enableSorting: false
89
+ enableSorting: false,
90
+ enableResizing: false,
91
+ size: 56
85
92
  }] : [];
86
93
  return [].concat(select, (0, _toConsumableArray2.default)(defaults)).map(function (column) {
87
94
  if (loadingInitial) {
@@ -115,7 +122,11 @@ var ColumnDirection = function ColumnDirection(_ref2) {
115
122
  var typedMemo = _react.memo;
116
123
  var TableCell = function TableCell(_ref3) {
117
124
  var cell = _ref3.cell;
118
- return /*#__PURE__*/_react.default.createElement(_dataTable.DataTableCell, cell.column.columnDef.meta, (0, _reactTable.flexRender)(cell.column.columnDef.cell, cell.getContext()));
125
+ return /*#__PURE__*/_react.default.createElement(_dataTable.DataTableCell, Object.assign({}, cell.column.columnDef.meta, {
126
+ style: {
127
+ width: cell.column.getSize()
128
+ }
129
+ }), (0, _reactTable.flexRender)(cell.column.columnDef.cell, cell.getContext()));
119
130
  };
120
131
  var MemoTableCell = typedMemo(TableCell);
121
132
  var TableRow = function TableRow(_ref4) {
@@ -145,7 +156,8 @@ var DataTable = function DataTable(_ref5) {
145
156
  _ref5$canSelectAllRow = _ref5.canSelectAllRows,
146
157
  canSelectAllRows = _ref5$canSelectAllRow === void 0 ? true : _ref5$canSelectAllRow,
147
158
  _ref5$selectedRows = _ref5.selectedRows,
148
- selectedRows = _ref5$selectedRows === void 0 ? [] : _ref5$selectedRows;
159
+ selectedRows = _ref5$selectedRows === void 0 ? [] : _ref5$selectedRows,
160
+ initialSorting = _ref5.initialSorting;
149
161
  var rowSelection = (0, _react.useMemo)(function () {
150
162
  return selectedRows.reduce(function (acc, item) {
151
163
  var recordIndex = data.findIndex(function (rec) {
@@ -163,6 +175,12 @@ var DataTable = function DataTable(_ref5) {
163
175
  onSelectRow(selection);
164
176
  }
165
177
  };
178
+ var tableSorting = (0, _react.useMemo)(function () {
179
+ if (!Array.isArray(sorting) || !sorting.length) {
180
+ return initialSorting;
181
+ }
182
+ return sorting;
183
+ }, [sorting]);
166
184
  var table = (0, _reactTable.useReactTable)({
167
185
  data: defineData(data, loadingInitial),
168
186
  columns: defineColumns(columns, {
@@ -170,11 +188,13 @@ var DataTable = function DataTable(_ref5) {
170
188
  onSelectRow: onSelectRow,
171
189
  loadingInitial: loadingInitial
172
190
  }),
191
+ enableColumnResizing: true,
192
+ columnResizeMode: "onChange",
173
193
  getCoreRowModel: (0, _reactTable.getCoreRowModel)(),
174
194
  getSortedRowModel: (0, _reactTable.getSortedRowModel)(),
175
195
  state: {
176
196
  rowSelection: rowSelection,
177
- sorting: sorting
197
+ sorting: tableSorting
178
198
  },
179
199
  enableRowSelection: isRowSelectable,
180
200
  onRowSelectionChange: onRowSelectionChange,
@@ -193,15 +213,27 @@ var DataTable = function DataTable(_ref5) {
193
213
  var id = _ref6.id,
194
214
  isPlaceholder = _ref6.isPlaceholder,
195
215
  column = _ref6.column,
196
- getContext = _ref6.getContext;
197
- return /*#__PURE__*/_react.default.createElement(_dataTable.DataTableHeadCell, Object.assign({
216
+ getContext = _ref6.getContext,
217
+ colSpan = _ref6.colSpan,
218
+ getSize = _ref6.getSize,
219
+ getResizeHandler = _ref6.getResizeHandler;
220
+ return /*#__PURE__*/_react.default.createElement(_styled.TableHeadCell, Object.assign({
198
221
  key: id
199
- }, column.columnDef.meta), isPlaceholder ? null : /*#__PURE__*/_react.default.createElement(_styled.ColumnHeaderWrapper, {
222
+ }, column.columnDef.meta, {
223
+ colSpan: colSpan,
224
+ style: {
225
+ width: getSize()
226
+ }
227
+ }), isPlaceholder ? null : /*#__PURE__*/_react.default.createElement(_styled.ColumnHeaderWrapper, {
200
228
  onClick: column.getToggleSortingHandler(),
201
229
  sortable: column.getCanSort()
202
230
  }, (0, _reactTable.flexRender)(column.columnDef.header, getContext()), /*#__PURE__*/_react.default.createElement(ColumnDirection, {
203
231
  direction: column.getIsSorted() || undefined
204
- })));
232
+ })), column.getCanResize() && /*#__PURE__*/_react.default.createElement(_styled.Resizer, {
233
+ onMouseDown: getResizeHandler(),
234
+ onTouchStart: getResizeHandler(),
235
+ isResizing: column.getIsResizing()
236
+ }));
205
237
  }));
206
238
  })), /*#__PURE__*/_react.default.createElement(_dataTable.DataTableBody, null, table.getRowModel().rows.map(function (row) {
207
239
  return /*#__PURE__*/_react.default.createElement(MemoTableRow, {
@@ -211,4 +243,6 @@ var DataTable = function DataTable(_ref5) {
211
243
  });
212
244
  }))));
213
245
  };
214
- exports.DataTable = DataTable;
246
+ exports.DataTable = DataTable;
247
+
248
+ //# sourceMappingURL=DataTable.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireWildcard","require","_dataTable","_reactTable","_Checkbox","_Skeleton","_styled","defineColumns","columns","options","canSelectAllRows","onSelectRow","loadingInitial","useMemo","columnsList","Object","keys","map","key","_objectSpread3","default","id","defaults","column","header","meta","cell","_column$enableSorting","enableSorting","className","accessorKey","info","row","original","getValue","select","_ref","table","createElement","Checkbox","indeterminate","getIsSomeRowsSelected","value","getIsAllRowsSelected","onChange","e","toggleAllPageRowsSelected","getCanSelect","Fragment","getIsSomeSelected","getIsSelected","getToggleSelectedHandler","hasFormControl","concat","_toConsumableArray2","Skeleton","defineData","data","Array","fill","ColumnDirection","_ref2","direction","ColumnDirectionWrapper","ColumnDirectionIcon","typedMemo","memo","TableCell","_ref3","DataTableCell","columnDef","flexRender","getContext","MemoTableCell","TableRow","_ref4","selected","DataTableRow","getVisibleCells","MemoTableRow","DataTable","_ref5","stickyColumns","stickyRows","bordered","sorting","onSortingChange","isRowSelectable","_ref5$canSelectAllRow","_ref5$selectedRows","selectedRows","rowSelection","reduce","acc","item","recordIndex","findIndex","rec","_defineProperty2","onRowSelectionChange","updater","newSelection","selection","parseInt","useReactTable","getCoreRowModel","getSortedRowModel","state","enableRowSelection","manualSorting","Table","DataTableContent","DataTableHead","getHeaderGroups","headerGroup","headers","_ref6","isPlaceholder","DataTableHeadCell","assign","ColumnHeaderWrapper","onClick","getToggleSortingHandler","sortable","getCanSort","getIsSorted","undefined","DataTableBody","getRowModel","rows","exports"],"sources":["DataTable.tsx"],"sourcesContent":["import React, { memo, ReactElement, useMemo } from \"react\";\n\nimport {\n DataTableContent,\n DataTableHead,\n DataTableRow,\n DataTableHeadCell,\n DataTableBody,\n DataTableCell,\n DataTableCellProps\n} from \"@rmwc/data-table\";\n\nimport {\n flexRender,\n getCoreRowModel,\n useReactTable,\n ColumnDef,\n getSortedRowModel,\n OnChangeFn,\n SortingState,\n RowSelectionState,\n Row,\n Cell\n} from \"@tanstack/react-table\";\n\nimport { Checkbox } from \"~/Checkbox\";\nimport { Skeleton } from \"~/Skeleton\";\n\nimport \"@rmwc/data-table/data-table.css\";\nimport { ColumnDirectionIcon, ColumnDirectionWrapper, ColumnHeaderWrapper, Table } from \"./styled\";\n\ninterface Column<T> {\n /*\n * Column header component.\n */\n header: string | number | JSX.Element;\n /*\n * Cell renderer, receives the full row and returns the value to render inside the cell.\n */\n cell?: (row: T) => string | number | JSX.Element;\n /*\n * Additional props to add to both header and row cells. Refer to RMWC documentation.\n */\n meta?: DataTableCellProps;\n /*\n * Column class names.\n */\n className?: string;\n /*\n * Enable column sorting.\n */\n enableSorting?: boolean;\n}\n\nexport type Columns<T> = {\n [P in keyof T]?: Column<T>;\n};\n\nexport type DefaultData = {\n id: string;\n /*\n * Define if a specific row can be selected.\n */\n selectable?: boolean;\n};\n\nexport type Sorting = SortingState;\n\nexport type OnSortingChange = OnChangeFn<Sorting>;\n\ninterface Props<T> {\n /**\n * Show or hide borders.\n */\n bordered?: boolean;\n /**\n * Controls whether \"select all\" action is allowed.\n */\n canSelectAllRows?: boolean;\n /**\n * Columns definition.\n */\n columns: Columns<T>;\n /**\n * Data to display into DataTable body.\n */\n data: T[];\n /**\n * Callback that is called to determine if the row is selectable.\n */\n isRowSelectable?: (row: Row<T>) => boolean;\n /**\n * Render the skeleton state at the initial data loading.\n */\n loadingInitial?: boolean;\n /**\n * Callback that receives the selected rows.\n */\n onSelectRow?: (rows: T[]) => void;\n /**\n * Callback that receives current sorting state.\n */\n onSortingChange?: OnSortingChange;\n /**\n * Selected rows.\n */\n selectedRows?: T[];\n /**\n * Sorting state.\n */\n sorting?: Sorting;\n /**\n * The number of columns to affix to the side of the table when scrolling.\n */\n stickyColumns?: number;\n /**\n * The number of rows to affix to the top of the table when scrolling.\n */\n stickyRows?: number;\n}\n\nexport interface ColumnDirectionProps {\n direction?: \"asc\" | \"desc\";\n}\n\ninterface DefineColumnsOptions<T> {\n canSelectAllRows: boolean;\n onSelectRow: Props<T>[\"onSelectRow\"];\n loadingInitial: Props<T>[\"loadingInitial\"];\n}\n\nconst defineColumns = <T,>(\n columns: Props<T>[\"columns\"],\n options: DefineColumnsOptions<T>\n): ColumnDef<T>[] => {\n const { canSelectAllRows, onSelectRow, loadingInitial } = options;\n\n return useMemo(() => {\n const columnsList = Object.keys(columns).map(key => ({\n id: key,\n ...columns[key as keyof typeof columns]\n }));\n\n const defaults: ColumnDef<T>[] = columnsList.map(column => {\n const { id, header, meta, cell, enableSorting = false, className } = column;\n\n return {\n accessorKey: id,\n header: () => header,\n cell: info => {\n if (cell && typeof cell === \"function\") {\n return cell(info.row.original);\n } else {\n return info.getValue();\n }\n },\n enableSorting,\n meta: {\n ...meta,\n className\n }\n };\n });\n\n const select: ColumnDef<T>[] = !!onSelectRow\n ? [\n {\n id: \"datatable-select-column\",\n header: ({ table }) => {\n if (!canSelectAllRows) {\n return null;\n }\n\n return (\n !loadingInitial && (\n <Checkbox\n indeterminate={table.getIsSomeRowsSelected()}\n value={table.getIsAllRowsSelected()}\n onChange={e => table.toggleAllPageRowsSelected(e)}\n />\n )\n );\n },\n cell: info => {\n if (!info.row.getCanSelect()) {\n return <></>;\n }\n return (\n <Checkbox\n indeterminate={info.row.getIsSomeSelected()}\n value={info.row.getIsSelected()}\n onChange={info.row.getToggleSelectedHandler()}\n />\n );\n },\n meta: {\n hasFormControl: true,\n className: \"datatable-select-column\"\n },\n enableSorting: false\n }\n ]\n : [];\n\n return [...select, ...defaults].map(column => {\n if (loadingInitial) {\n return {\n ...column,\n cell: () => <Skeleton />\n };\n }\n\n return column;\n });\n }, [columns, onSelectRow, loadingInitial]);\n};\n\nconst defineData = <T,>(\n data: Props<T>[\"data\"],\n loadingInitial: Props<T>[\"loadingInitial\"]\n): T[] => {\n return useMemo(() => {\n if (loadingInitial) {\n return Array(10).fill({});\n }\n return data;\n }, [data, loadingInitial]);\n};\n\nconst ColumnDirection = ({ direction }: ColumnDirectionProps): ReactElement | null => {\n if (direction) {\n return (\n <ColumnDirectionWrapper>\n <ColumnDirectionIcon direction={direction} />\n </ColumnDirectionWrapper>\n );\n }\n\n return null;\n};\n\nconst typedMemo: <T>(component: T) => T = memo;\n\ninterface TableCellProps<T> {\n cell: Cell<T, unknown>;\n}\n\nconst TableCell = <T,>({ cell }: TableCellProps<T>) => (\n <DataTableCell {...cell.column.columnDef.meta}>\n {flexRender(cell.column.columnDef.cell, cell.getContext())}\n </DataTableCell>\n);\n\nconst MemoTableCell = typedMemo(TableCell);\n\ninterface TableRowProps<T> {\n row: Row<T>;\n selected: boolean;\n}\n\nconst TableRow = <T,>({ row, selected }: TableRowProps<T>) => {\n return (\n <DataTableRow selected={selected}>\n {row.getVisibleCells().map(cell => (\n <MemoTableCell<T> key={cell.id} cell={cell} />\n ))}\n </DataTableRow>\n );\n};\n\nconst MemoTableRow = typedMemo(TableRow);\n\nexport const DataTable = <T extends Object & DefaultData>({\n data,\n columns,\n onSelectRow,\n loadingInitial,\n stickyColumns,\n stickyRows,\n bordered,\n sorting,\n onSortingChange,\n isRowSelectable,\n canSelectAllRows = true,\n selectedRows = []\n}: Props<T>) => {\n const rowSelection = useMemo(() => {\n return selectedRows.reduce<RowSelectionState>((acc, item) => {\n const recordIndex = data.findIndex(rec => rec.id === item.id);\n return { ...acc, [recordIndex]: true };\n }, {});\n }, [selectedRows, data]);\n\n const onRowSelectionChange: OnChangeFn<RowSelectionState> = updater => {\n if (typeof onSelectRow === \"function\") {\n const newSelection = typeof updater === \"function\" ? updater(rowSelection) : updater;\n const selection = Object.keys(newSelection).map(key => data[parseInt(key)]);\n onSelectRow(selection);\n }\n };\n\n const table = useReactTable({\n data: defineData(data, loadingInitial),\n columns: defineColumns(columns, { canSelectAllRows, onSelectRow, loadingInitial }),\n getCoreRowModel: getCoreRowModel(),\n getSortedRowModel: getSortedRowModel(),\n state: {\n rowSelection,\n sorting\n },\n enableRowSelection: isRowSelectable,\n onRowSelectionChange,\n enableSorting: !!onSortingChange,\n manualSorting: true,\n onSortingChange\n });\n\n return (\n <Table stickyColumns={stickyColumns} stickyRows={stickyRows} bordered={bordered}>\n <DataTableContent>\n <DataTableHead>\n {table.getHeaderGroups().map(headerGroup => (\n <DataTableRow key={headerGroup.id}>\n {headerGroup.headers.map(\n ({ id, isPlaceholder, column, getContext }) => (\n <DataTableHeadCell key={id} {...column.columnDef.meta}>\n {isPlaceholder ? null : (\n <ColumnHeaderWrapper\n onClick={column.getToggleSortingHandler()}\n sortable={column.getCanSort()}\n >\n {flexRender(column.columnDef.header, getContext())}\n <ColumnDirection\n direction={column.getIsSorted() || undefined}\n />\n </ColumnHeaderWrapper>\n )}\n </DataTableHeadCell>\n )\n )}\n </DataTableRow>\n ))}\n </DataTableHead>\n <DataTableBody>\n {table.getRowModel().rows.map(row => (\n <MemoTableRow<T>\n key={row.original.id || row.id}\n row={row}\n selected={row.getIsSelected()}\n />\n ))}\n </DataTableBody>\n </DataTableContent>\n </Table>\n );\n};\n"],"mappings":"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"}
1
+ {"version":3,"names":["_react","_interopRequireWildcard","require","_dataTable","_reactTable","_Checkbox","_Skeleton","_styled","defineColumns","columns","options","canSelectAllRows","onSelectRow","loadingInitial","useMemo","columnsList","Object","keys","map","key","_objectSpread3","default","id","defaults","column","cell","className","_column$enableResizin","enableResizing","_column$enableSorting","enableSorting","header","meta","_column$size","size","accessorKey","info","row","original","getValue","select","_ref","table","createElement","Checkbox","indeterminate","getIsSomeRowsSelected","value","getIsAllRowsSelected","onChange","e","toggleAllPageRowsSelected","getCanSelect","Fragment","getIsSomeSelected","getIsSelected","getToggleSelectedHandler","hasFormControl","concat","_toConsumableArray2","Skeleton","defineData","data","Array","fill","ColumnDirection","_ref2","direction","ColumnDirectionWrapper","ColumnDirectionIcon","typedMemo","memo","TableCell","_ref3","DataTableCell","assign","columnDef","style","width","getSize","flexRender","getContext","MemoTableCell","TableRow","_ref4","selected","DataTableRow","getVisibleCells","MemoTableRow","DataTable","_ref5","stickyColumns","stickyRows","bordered","sorting","onSortingChange","isRowSelectable","_ref5$canSelectAllRow","_ref5$selectedRows","selectedRows","initialSorting","rowSelection","reduce","acc","item","recordIndex","findIndex","rec","_defineProperty2","onRowSelectionChange","updater","newSelection","selection","parseInt","tableSorting","isArray","length","useReactTable","enableColumnResizing","columnResizeMode","getCoreRowModel","getSortedRowModel","state","enableRowSelection","manualSorting","Table","DataTableContent","DataTableHead","getHeaderGroups","headerGroup","headers","_ref6","isPlaceholder","colSpan","getResizeHandler","TableHeadCell","ColumnHeaderWrapper","onClick","getToggleSortingHandler","sortable","getCanSort","getIsSorted","undefined","getCanResize","Resizer","onMouseDown","onTouchStart","isResizing","getIsResizing","DataTableBody","getRowModel","rows","exports"],"sources":["DataTable.tsx"],"sourcesContent":["import React, { memo, ReactElement, useMemo } from \"react\";\n\nimport {\n DataTableContent,\n DataTableHead,\n DataTableRow,\n DataTableBody,\n DataTableCell,\n DataTableCellProps\n} from \"@rmwc/data-table\";\n\nimport {\n flexRender,\n getCoreRowModel,\n useReactTable,\n ColumnDef,\n getSortedRowModel,\n OnChangeFn,\n SortingState,\n RowSelectionState,\n Row,\n Cell\n} from \"@tanstack/react-table\";\n\nimport { Checkbox } from \"~/Checkbox\";\nimport { Skeleton } from \"~/Skeleton\";\n\nimport \"@rmwc/data-table/data-table.css\";\nimport {\n ColumnDirectionIcon,\n ColumnDirectionWrapper,\n ColumnHeaderWrapper,\n Resizer,\n Table,\n TableHeadCell\n} from \"./styled\";\n\ninterface Column<T> {\n /*\n * Column header component.\n */\n header: string | number | JSX.Element;\n /*\n * Cell renderer, receives the full row and returns the value to render inside the cell.\n */\n cell?: (row: T) => string | number | JSX.Element;\n /*\n * Additional props to add to both header and row cells. Refer to RMWC documentation.\n */\n meta?: DataTableCellProps;\n /*\n * Column size.\n */\n size?: number;\n /*\n * Column class names.\n */\n className?: string;\n /*\n * Enable column sorting.\n */\n enableSorting?: boolean;\n /*\n * Enable column resizing.\n */\n enableResizing?: boolean;\n}\n\nexport type Columns<T> = {\n [P in keyof T]?: Column<T>;\n};\n\nexport type DefaultData = {\n id: string;\n /*\n * Define if a specific row can be selected.\n */\n selectable?: boolean;\n};\n\nexport type Sorting = SortingState;\n\nexport type OnSortingChange = OnChangeFn<Sorting>;\n\ninterface Props<T> {\n /**\n * Show or hide borders.\n */\n bordered?: boolean;\n /**\n * Controls whether \"select all\" action is allowed.\n */\n canSelectAllRows?: boolean;\n /**\n * Columns definition.\n */\n columns: Columns<T>;\n /**\n * Data to display into DataTable body.\n */\n data: T[];\n /**\n * Callback that is called to determine if the row is selectable.\n */\n isRowSelectable?: (row: Row<T>) => boolean;\n /**\n * Render the skeleton state at the initial data loading.\n */\n loadingInitial?: boolean;\n /**\n * Callback that receives the selected rows.\n */\n onSelectRow?: (rows: T[]) => void;\n /**\n * Callback that receives current sorting state.\n */\n onSortingChange?: OnSortingChange;\n /**\n * Selected rows.\n */\n selectedRows?: T[];\n /**\n * Sorting state.\n */\n sorting?: Sorting;\n /**\n * Initial sorting state.\n */\n initialSorting?: Sorting;\n /**\n * The number of columns to affix to the side of the table when scrolling.\n */\n stickyColumns?: number;\n /**\n * The number of rows to affix to the top of the table when scrolling.\n */\n stickyRows?: number;\n}\n\nexport interface ColumnDirectionProps {\n direction?: \"asc\" | \"desc\";\n}\n\ninterface DefineColumnsOptions<T> {\n canSelectAllRows: boolean;\n onSelectRow: Props<T>[\"onSelectRow\"];\n loadingInitial: Props<T>[\"loadingInitial\"];\n}\n\nconst defineColumns = <T,>(\n columns: Props<T>[\"columns\"],\n options: DefineColumnsOptions<T>\n): ColumnDef<T>[] => {\n const { canSelectAllRows, onSelectRow, loadingInitial } = options;\n\n return useMemo(() => {\n const columnsList = Object.keys(columns).map(key => ({\n id: key,\n ...columns[key as keyof typeof columns]\n }));\n\n const defaults: ColumnDef<T>[] = columnsList.map(column => {\n const {\n cell,\n className,\n enableResizing = true,\n enableSorting = false,\n header,\n id,\n meta,\n size = 200\n } = column;\n\n return {\n accessorKey: id,\n header: () => header,\n cell: info => {\n if (cell && typeof cell === \"function\") {\n return cell(info.row.original);\n } else {\n return info.getValue();\n }\n },\n enableSorting,\n meta: {\n ...meta,\n className\n },\n enableResizing,\n size\n };\n });\n\n const select: ColumnDef<T>[] = !!onSelectRow\n ? [\n {\n id: \"datatable-select-column\",\n header: ({ table }) => {\n if (!canSelectAllRows) {\n return null;\n }\n\n return (\n !loadingInitial && (\n <Checkbox\n indeterminate={table.getIsSomeRowsSelected()}\n value={table.getIsAllRowsSelected()}\n onChange={e => table.toggleAllPageRowsSelected(e)}\n />\n )\n );\n },\n cell: info => {\n if (!info.row.getCanSelect()) {\n return <></>;\n }\n return (\n <Checkbox\n indeterminate={info.row.getIsSomeSelected()}\n value={info.row.getIsSelected()}\n onChange={info.row.getToggleSelectedHandler()}\n />\n );\n },\n meta: {\n hasFormControl: true\n },\n enableSorting: false,\n enableResizing: false,\n size: 56\n }\n ]\n : [];\n\n return [...select, ...defaults].map(column => {\n if (loadingInitial) {\n return {\n ...column,\n cell: () => <Skeleton />\n };\n }\n\n return column;\n });\n }, [columns, onSelectRow, loadingInitial]);\n};\n\nconst defineData = <T,>(\n data: Props<T>[\"data\"],\n loadingInitial: Props<T>[\"loadingInitial\"]\n): T[] => {\n return useMemo(() => {\n if (loadingInitial) {\n return Array(10).fill({});\n }\n return data;\n }, [data, loadingInitial]);\n};\n\nconst ColumnDirection = ({ direction }: ColumnDirectionProps): ReactElement | null => {\n if (direction) {\n return (\n <ColumnDirectionWrapper>\n <ColumnDirectionIcon direction={direction} />\n </ColumnDirectionWrapper>\n );\n }\n\n return null;\n};\n\nconst typedMemo: <T>(component: T) => T = memo;\n\ninterface TableCellProps<T> {\n cell: Cell<T, unknown>;\n}\n\nconst TableCell = <T,>({ cell }: TableCellProps<T>) => (\n <DataTableCell {...cell.column.columnDef.meta} style={{ width: cell.column.getSize() }}>\n {flexRender(cell.column.columnDef.cell, cell.getContext())}\n </DataTableCell>\n);\n\nconst MemoTableCell = typedMemo(TableCell);\n\ninterface TableRowProps<T> {\n row: Row<T>;\n selected: boolean;\n}\n\nconst TableRow = <T,>({ row, selected }: TableRowProps<T>) => {\n return (\n <DataTableRow selected={selected}>\n {row.getVisibleCells().map(cell => (\n <MemoTableCell<T> key={cell.id} cell={cell} />\n ))}\n </DataTableRow>\n );\n};\n\nconst MemoTableRow = typedMemo(TableRow);\n\nexport const DataTable = <T extends Object & DefaultData>({\n data,\n columns,\n onSelectRow,\n loadingInitial,\n stickyColumns,\n stickyRows,\n bordered,\n sorting,\n onSortingChange,\n isRowSelectable,\n canSelectAllRows = true,\n selectedRows = [],\n initialSorting\n}: Props<T>) => {\n const rowSelection = useMemo(() => {\n return selectedRows.reduce<RowSelectionState>((acc, item) => {\n const recordIndex = data.findIndex(rec => rec.id === item.id);\n return { ...acc, [recordIndex]: true };\n }, {});\n }, [selectedRows, data]);\n\n const onRowSelectionChange: OnChangeFn<RowSelectionState> = updater => {\n if (typeof onSelectRow === \"function\") {\n const newSelection = typeof updater === \"function\" ? updater(rowSelection) : updater;\n const selection = Object.keys(newSelection).map(key => data[parseInt(key)]);\n onSelectRow(selection);\n }\n };\n\n const tableSorting = useMemo(() => {\n if (!Array.isArray(sorting) || !sorting.length) {\n return initialSorting;\n }\n return sorting;\n }, [sorting]);\n\n const table = useReactTable({\n data: defineData(data, loadingInitial),\n columns: defineColumns(columns, { canSelectAllRows, onSelectRow, loadingInitial }),\n enableColumnResizing: true,\n columnResizeMode: \"onChange\",\n getCoreRowModel: getCoreRowModel(),\n getSortedRowModel: getSortedRowModel(),\n state: {\n rowSelection,\n sorting: tableSorting\n },\n enableRowSelection: isRowSelectable,\n onRowSelectionChange,\n enableSorting: !!onSortingChange,\n manualSorting: true,\n onSortingChange\n });\n\n return (\n <Table stickyColumns={stickyColumns} stickyRows={stickyRows} bordered={bordered}>\n <DataTableContent>\n <DataTableHead>\n {table.getHeaderGroups().map(headerGroup => (\n <DataTableRow key={headerGroup.id}>\n {headerGroup.headers.map(\n ({\n id,\n isPlaceholder,\n column,\n getContext,\n colSpan,\n getSize,\n getResizeHandler\n }) => (\n <TableHeadCell\n key={id}\n {...column.columnDef.meta}\n colSpan={colSpan}\n style={{ width: getSize() }}\n >\n {isPlaceholder ? null : (\n <ColumnHeaderWrapper\n onClick={column.getToggleSortingHandler()}\n sortable={column.getCanSort()}\n >\n {flexRender(column.columnDef.header, getContext())}\n <ColumnDirection\n direction={column.getIsSorted() || undefined}\n />\n </ColumnHeaderWrapper>\n )}\n {column.getCanResize() && (\n <Resizer\n onMouseDown={getResizeHandler()}\n onTouchStart={getResizeHandler()}\n isResizing={column.getIsResizing()}\n />\n )}\n </TableHeadCell>\n )\n )}\n </DataTableRow>\n ))}\n </DataTableHead>\n <DataTableBody>\n {table.getRowModel().rows.map(row => (\n <MemoTableRow<T>\n key={row.original.id || row.id}\n row={row}\n selected={row.getIsSelected()}\n />\n ))}\n </DataTableBody>\n </DataTableContent>\n </Table>\n );\n};\n"],"mappings":"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"}