@webiny/ui 5.37.8 → 5.38.0-beta.1

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 +12 -2
  61. package/DataTable/DataTable.js +79 -21
  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
@@ -4,10 +4,12 @@ import { OnChangeFn, SortingState, Row } from "@tanstack/react-table";
4
4
  import "@rmwc/data-table/data-table.css";
5
5
  interface Column<T> {
6
6
  header: string | number | JSX.Element;
7
- cell?: (row: T) => string | number | JSX.Element;
7
+ cell?: (row: T) => string | number | JSX.Element | null;
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>;
@@ -47,6 +49,10 @@ interface Props<T> {
47
49
  * Callback that receives the selected rows.
48
50
  */
49
51
  onSelectRow?: (rows: T[]) => void;
52
+ /**
53
+ * Callback that receives the toggled row.
54
+ */
55
+ onToggleRow?: (row: T) => void;
50
56
  /**
51
57
  * Callback that receives current sorting state.
52
58
  */
@@ -59,6 +65,10 @@ interface Props<T> {
59
65
  * Sorting state.
60
66
  */
61
67
  sorting?: Sorting;
68
+ /**
69
+ * Initial sorting state.
70
+ */
71
+ initialSorting?: Sorting;
62
72
  /**
63
73
  * The number of columns to affix to the side of the table when scrolling.
64
74
  */
@@ -71,5 +81,5 @@ interface Props<T> {
71
81
  export interface ColumnDirectionProps {
72
82
  direction?: "asc" | "desc";
73
83
  }
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;
84
+ export declare const DataTable: <T extends Object & DefaultData>({ data, columns, onSelectRow, onToggleRow, loadingInitial, stickyColumns, stickyRows, bordered, sorting, onSortingChange, isRowSelectable, canSelectAllRows, selectedRows, initialSorting }: Props<T>) => JSX.Element;
75
85
  export {};
@@ -19,6 +19,7 @@ var _styled = require("./styled");
19
19
  var defineColumns = function defineColumns(columns, options) {
20
20
  var canSelectAllRows = options.canSelectAllRows,
21
21
  onSelectRow = options.onSelectRow,
22
+ onToggleRow = options.onToggleRow,
22
23
  loadingInitial = options.loadingInitial;
23
24
  return (0, _react.useMemo)(function () {
24
25
  var columnsList = Object.keys(columns).map(function (key) {
@@ -27,13 +28,17 @@ var defineColumns = function defineColumns(columns, options) {
27
28
  }, columns[key]);
28
29
  });
29
30
  var defaults = columnsList.map(function (column) {
30
- var id = column.id,
31
- _header = column.header,
32
- meta = column.meta,
33
- _cell = column.cell,
31
+ var _cell = column.cell,
32
+ className = column.className,
33
+ _column$enableResizin = column.enableResizing,
34
+ enableResizing = _column$enableResizin === void 0 ? true : _column$enableResizin,
34
35
  _column$enableSorting = column.enableSorting,
35
36
  enableSorting = _column$enableSorting === void 0 ? false : _column$enableSorting,
36
- className = column.className;
37
+ _header = column.header,
38
+ id = column.id,
39
+ meta = column.meta,
40
+ _column$size = column.size,
41
+ size = _column$size === void 0 ? 200 : _column$size;
37
42
  return {
38
43
  accessorKey: id,
39
44
  header: function header() {
@@ -49,10 +54,13 @@ var defineColumns = function defineColumns(columns, options) {
49
54
  enableSorting: enableSorting,
50
55
  meta: (0, _objectSpread3.default)((0, _objectSpread3.default)({}, meta), {}, {
51
56
  className: className
52
- })
57
+ }),
58
+ enableResizing: enableResizing,
59
+ size: size
53
60
  };
54
61
  });
55
- var select = !!onSelectRow ? [{
62
+ var isSelectable = onToggleRow || onSelectRow;
63
+ var select = isSelectable ? [{
56
64
  id: "datatable-select-column",
57
65
  header: function header(_ref) {
58
66
  var table = _ref.table;
@@ -78,10 +86,11 @@ var defineColumns = function defineColumns(columns, options) {
78
86
  });
79
87
  },
80
88
  meta: {
81
- hasFormControl: true,
82
- className: "datatable-select-column"
89
+ hasFormControl: true
83
90
  },
84
- enableSorting: false
91
+ enableSorting: false,
92
+ enableResizing: false,
93
+ size: 56
85
94
  }] : [];
86
95
  return [].concat(select, (0, _toConsumableArray2.default)(defaults)).map(function (column) {
87
96
  if (loadingInitial) {
@@ -93,7 +102,7 @@ var defineColumns = function defineColumns(columns, options) {
93
102
  }
94
103
  return column;
95
104
  });
96
- }, [columns, onSelectRow, loadingInitial]);
105
+ }, [columns, onSelectRow, onToggleRow, loadingInitial]);
97
106
  };
98
107
  var defineData = function defineData(data, loadingInitial) {
99
108
  return (0, _react.useMemo)(function () {
@@ -115,7 +124,11 @@ var ColumnDirection = function ColumnDirection(_ref2) {
115
124
  var typedMemo = _react.memo;
116
125
  var TableCell = function TableCell(_ref3) {
117
126
  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()));
127
+ return /*#__PURE__*/_react.default.createElement(_dataTable.DataTableCell, Object.assign({}, cell.column.columnDef.meta, {
128
+ style: {
129
+ width: cell.column.getSize()
130
+ }
131
+ }), (0, _reactTable.flexRender)(cell.column.columnDef.cell, cell.getContext()));
119
132
  };
120
133
  var MemoTableCell = typedMemo(TableCell);
121
134
  var TableRow = function TableRow(_ref4) {
@@ -135,6 +148,7 @@ var DataTable = function DataTable(_ref5) {
135
148
  var data = _ref5.data,
136
149
  columns = _ref5.columns,
137
150
  onSelectRow = _ref5.onSelectRow,
151
+ onToggleRow = _ref5.onToggleRow,
138
152
  loadingInitial = _ref5.loadingInitial,
139
153
  stickyColumns = _ref5.stickyColumns,
140
154
  stickyRows = _ref5.stickyRows,
@@ -145,7 +159,8 @@ var DataTable = function DataTable(_ref5) {
145
159
  _ref5$canSelectAllRow = _ref5.canSelectAllRows,
146
160
  canSelectAllRows = _ref5$canSelectAllRow === void 0 ? true : _ref5$canSelectAllRow,
147
161
  _ref5$selectedRows = _ref5.selectedRows,
148
- selectedRows = _ref5$selectedRows === void 0 ? [] : _ref5$selectedRows;
162
+ selectedRows = _ref5$selectedRows === void 0 ? [] : _ref5$selectedRows,
163
+ initialSorting = _ref5.initialSorting;
149
164
  var rowSelection = (0, _react.useMemo)(function () {
150
165
  return selectedRows.reduce(function (acc, item) {
151
166
  var recordIndex = data.findIndex(function (rec) {
@@ -155,26 +170,55 @@ var DataTable = function DataTable(_ref5) {
155
170
  }, {});
156
171
  }, [selectedRows, data]);
157
172
  var onRowSelectionChange = function onRowSelectionChange(updater) {
158
- if (typeof onSelectRow === "function") {
159
- var newSelection = typeof updater === "function" ? updater(rowSelection) : updater;
173
+ var newSelection = typeof updater === "function" ? updater(rowSelection) : updater;
174
+
175
+ /**
176
+ * `@tanstack/react-table` isn't telling us what row was selected or deselected. It simply gives us
177
+ * the new selection state (an object with row indexes that are currently selected).
178
+ *
179
+ * To figure out what row was toggled, we need to calculate the difference between the old selection
180
+ * and the new selection. What we're doing here is:
181
+ * - find all items that were present in the previous selection, but are no longer present in the new selection
182
+ * - find all items that are present in the new selection, but were not present in the previous selection
183
+ */
184
+ var toggledRows = [].concat((0, _toConsumableArray2.default)(Object.keys(rowSelection).filter(function (x) {
185
+ return !(x in newSelection);
186
+ })), (0, _toConsumableArray2.default)(Object.keys(newSelection).filter(function (x) {
187
+ return !(x in rowSelection);
188
+ })));
189
+
190
+ // If the difference is only 1 item, and `onToggleRow` is available, execute that.
191
+ if (toggledRows.length === 1 && typeof onToggleRow === "function") {
192
+ onToggleRow(data[parseInt(toggledRows[0])]);
193
+ return;
194
+ } else if (typeof onSelectRow === "function") {
160
195
  var selection = Object.keys(newSelection).map(function (key) {
161
196
  return data[parseInt(key)];
162
197
  });
163
198
  onSelectRow(selection);
164
199
  }
165
200
  };
201
+ var tableSorting = (0, _react.useMemo)(function () {
202
+ if (!Array.isArray(sorting) || !sorting.length) {
203
+ return initialSorting;
204
+ }
205
+ return sorting;
206
+ }, [sorting]);
166
207
  var table = (0, _reactTable.useReactTable)({
167
208
  data: defineData(data, loadingInitial),
168
209
  columns: defineColumns(columns, {
169
210
  canSelectAllRows: canSelectAllRows,
170
211
  onSelectRow: onSelectRow,
212
+ onToggleRow: onToggleRow,
171
213
  loadingInitial: loadingInitial
172
214
  }),
215
+ enableColumnResizing: true,
216
+ columnResizeMode: "onChange",
173
217
  getCoreRowModel: (0, _reactTable.getCoreRowModel)(),
174
218
  getSortedRowModel: (0, _reactTable.getSortedRowModel)(),
175
219
  state: {
176
220
  rowSelection: rowSelection,
177
- sorting: sorting
221
+ sorting: tableSorting
178
222
  },
179
223
  enableRowSelection: isRowSelectable,
180
224
  onRowSelectionChange: onRowSelectionChange,
@@ -193,15 +237,27 @@ var DataTable = function DataTable(_ref5) {
193
237
  var id = _ref6.id,
194
238
  isPlaceholder = _ref6.isPlaceholder,
195
239
  column = _ref6.column,
196
- getContext = _ref6.getContext;
197
- return /*#__PURE__*/_react.default.createElement(_dataTable.DataTableHeadCell, Object.assign({
240
+ getContext = _ref6.getContext,
241
+ colSpan = _ref6.colSpan,
242
+ getSize = _ref6.getSize,
243
+ getResizeHandler = _ref6.getResizeHandler;
244
+ return /*#__PURE__*/_react.default.createElement(_styled.TableHeadCell, Object.assign({
198
245
  key: id
199
- }, column.columnDef.meta), isPlaceholder ? null : /*#__PURE__*/_react.default.createElement(_styled.ColumnHeaderWrapper, {
246
+ }, column.columnDef.meta, {
247
+ colSpan: colSpan,
248
+ style: {
249
+ width: getSize()
250
+ }
251
+ }), isPlaceholder ? null : /*#__PURE__*/_react.default.createElement(_styled.ColumnHeaderWrapper, {
200
252
  onClick: column.getToggleSortingHandler(),
201
253
  sortable: column.getCanSort()
202
254
  }, (0, _reactTable.flexRender)(column.columnDef.header, getContext()), /*#__PURE__*/_react.default.createElement(ColumnDirection, {
203
255
  direction: column.getIsSorted() || undefined
204
- })));
256
+ })), column.getCanResize() && /*#__PURE__*/_react.default.createElement(_styled.Resizer, {
257
+ onMouseDown: getResizeHandler(),
258
+ onTouchStart: getResizeHandler(),
259
+ isResizing: column.getIsResizing()
260
+ }));
205
261
  }));
206
262
  })), /*#__PURE__*/_react.default.createElement(_dataTable.DataTableBody, null, table.getRowModel().rows.map(function (row) {
207
263
  return /*#__PURE__*/_react.default.createElement(MemoTableRow, {
@@ -211,4 +267,6 @@ var DataTable = function DataTable(_ref5) {
211
267
  });
212
268
  }))));
213
269
  };
214
- exports.DataTable = DataTable;
270
+ exports.DataTable = DataTable;
271
+
272
+ //# sourceMappingURL=DataTable.js.map