@webiny/ui 5.41.4 → 5.42.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 (54) hide show
  1. package/Accordion/AccordionItemActions.js.map +1 -1
  2. package/AutoComplete/AutoComplete.js.map +1 -1
  3. package/AutoComplete/MultiAutoComplete.js +3 -2
  4. package/AutoComplete/MultiAutoComplete.js.map +1 -1
  5. package/Carousel/Carousel.js.map +1 -1
  6. package/Checkbox/Checkbox.js.map +1 -1
  7. package/Checkbox/CheckboxGroup.js.map +1 -1
  8. package/CodeEditor/CodeEditor.js.map +1 -1
  9. package/ColorPicker/ColorPicker.d.ts +7 -2
  10. package/ColorPicker/ColorPicker.js +46 -16
  11. package/ColorPicker/ColorPicker.js.map +1 -1
  12. package/ConfirmationDialog/ConfirmationDialog.js.map +1 -1
  13. package/DataTable/DataTable.js.map +1 -1
  14. package/Dialog/Dialog.js +1 -1
  15. package/Dialog/Dialog.js.map +1 -1
  16. package/Drawer/Drawer.js.map +1 -1
  17. package/DynamicFieldset/Fieldset.js.map +1 -1
  18. package/ImageEditor/ImageEditor.js.map +1 -1
  19. package/ImageEditor/toolbar/crop.js.map +1 -1
  20. package/ImageEditor/toolbar/filter.js.map +1 -1
  21. package/ImageEditor/toolbar/flip.js.map +1 -1
  22. package/ImageEditor/toolbar/rotate.js.map +1 -1
  23. package/ImageUpload/Image.js.map +1 -1
  24. package/ImageUpload/MultiImageUpload.js.map +1 -1
  25. package/ImageUpload/SingleImageUpload.js.map +1 -1
  26. package/Input/__tests__/Input.test.d.ts +1 -1
  27. package/Input/__tests__/Input.test.js +1 -2
  28. package/Input/__tests__/Input.test.js.map +1 -1
  29. package/List/DataList/DataList.js.map +1 -1
  30. package/List/DataList/DataListModalOverlay/DataListModalOverlay.js.map +1 -1
  31. package/List/DataList/DataListModalOverlay/DataListModalOverlayAction.js.map +1 -1
  32. package/List/DataList/DataListModalOverlay/DataListModalOverlayContext.js.map +1 -1
  33. package/List/DataList/DataListWithSections.js.map +1 -1
  34. package/List/List.js.map +1 -1
  35. package/Menu/Menu.d.ts +12 -19
  36. package/Menu/Menu.js +70 -77
  37. package/Menu/Menu.js.map +1 -1
  38. package/Radio/Radio.js.map +1 -1
  39. package/Radio/RadioGroup.js.map +1 -1
  40. package/RichTextEditor/RichTextEditor.js +2 -2
  41. package/RichTextEditor/RichTextEditor.js.map +1 -1
  42. package/RichTextEditor/createPropsFromConfig.js.map +1 -1
  43. package/Select/Select.js.map +1 -1
  44. package/Slider/Slider.js.map +1 -1
  45. package/Snackbar/Snackbar.js.map +1 -1
  46. package/Switch/Switch.js.map +1 -1
  47. package/Tabs/Tab.js +2 -2
  48. package/Tabs/Tab.js.map +1 -1
  49. package/Tabs/Tabs.d.ts +4 -4
  50. package/Tabs/Tabs.js +14 -6
  51. package/Tabs/Tabs.js.map +1 -1
  52. package/Tags/Tags.js.map +1 -1
  53. package/Tooltip/Tooltip.js.map +1 -1
  54. package/package.json +12 -20
@@ -10,6 +10,7 @@ var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/creat
10
10
  var _callSuper2 = _interopRequireDefault(require("@babel/runtime/helpers/callSuper"));
11
11
  var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
12
12
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
13
+ var _base = _interopRequireDefault(require("@emotion/styled/base"));
13
14
  var _react = _interopRequireDefault(require("react"));
14
15
  var _reactColor = require("react-color");
15
16
  var _emotion = require("emotion");
@@ -21,7 +22,8 @@ var classes = {
21
22
  }),
22
23
  color: (0, _emotion.css)({
23
24
  width: "36px",
24
- height: "14px",
25
+ minHeight: "14px",
26
+ height: "inherit",
25
27
  borderRadius: "2px"
26
28
  }),
27
29
  swatch: (0, _emotion.css)({
@@ -32,11 +34,6 @@ var classes = {
32
34
  display: "inline-block",
33
35
  cursor: "pointer"
34
36
  }),
35
- // @ts-expect-error
36
- popover: (0, _emotion.css)({
37
- position: "absolute",
38
- zIndex: "2"
39
- }),
40
37
  classNames: (0, _emotion.css)({
41
38
  position: "fixed",
42
39
  top: "0px",
@@ -49,6 +46,15 @@ var classes = {
49
46
  pointerEvents: "none"
50
47
  })
51
48
  };
49
+ var Popover = /*#__PURE__*/(0, _base.default)("div", process.env.NODE_ENV === "production" ? {
50
+ target: "e13tf12v0"
51
+ } : {
52
+ target: "e13tf12v0",
53
+ label: "Popover"
54
+ })("position:absolute;z-index:2;right:", function (_ref) {
55
+ var align = _ref.align;
56
+ return align === "right" ? "10px" : "auto";
57
+ }, ";" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIkNvbG9yUGlja2VyLnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUF1QzhDIiwiZmlsZSI6IkNvbG9yUGlja2VyLnRzeCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCB7IFNrZXRjaFBpY2tlciwgQ29sb3JTdGF0ZSB9IGZyb20gXCJyZWFjdC1jb2xvclwiO1xuaW1wb3J0IHsgY3NzIH0gZnJvbSBcImVtb3Rpb25cIjtcbmltcG9ydCBzdHlsZWQgZnJvbSBcIkBlbW90aW9uL3N0eWxlZFwiO1xuaW1wb3J0IHsgRm9ybUNvbXBvbmVudFByb3BzIH0gZnJvbSBcIn4vdHlwZXNcIjtcbmltcG9ydCB7IEZvcm1FbGVtZW50TWVzc2FnZSB9IGZyb20gXCJ+L0Zvcm1FbGVtZW50TWVzc2FnZVwiO1xuaW1wb3J0IGNsYXNzTmFtZXMgZnJvbSBcImNsYXNzbmFtZXNcIjtcblxuY29uc3QgY2xhc3NlcyA9IHtcbiAgICBsYWJlbDogY3NzKHtcbiAgICAgICAgbWFyZ2luQm90dG9tOiBcIjEwcHggIWltcG9ydGFudFwiXG4gICAgfSksXG4gICAgY29sb3I6IGNzcyh7XG4gICAgICAgIHdpZHRoOiBcIjM2cHhcIixcbiAgICAgICAgbWluSGVpZ2h0OiBcIjE0cHhcIixcbiAgICAgICAgaGVpZ2h0OiBcImluaGVyaXRcIixcbiAgICAgICAgYm9yZGVyUmFkaXVzOiBcIjJweFwiXG4gICAgfSksXG4gICAgc3dhdGNoOiBjc3Moe1xuICAgICAgICBwYWRkaW5nOiBcIjVweFwiLFxuICAgICAgICBiYWNrZ3JvdW5kOiBcIiNmZmZcIixcbiAgICAgICAgYm9yZGVyUmFkaXVzOiBcIjFweFwiLFxuICAgICAgICBib3hTaGFkb3c6IFwiMCAwIDAgMXB4IHJnYmEoMCwwLDAsLjEpXCIsXG4gICAgICAgIGRpc3BsYXk6IFwiaW5saW5lLWJsb2NrXCIsXG4gICAgICAgIGN1cnNvcjogXCJwb2ludGVyXCJcbiAgICB9KSxcbiAgICBjbGFzc05hbWVzOiBjc3Moe1xuICAgICAgICBwb3NpdGlvbjogXCJmaXhlZFwiLFxuICAgICAgICB0b3A6IFwiMHB4XCIsXG4gICAgICAgIHJpZ2h0OiBcIjBweFwiLFxuICAgICAgICBib3R0b206IFwiMHB4XCIsXG4gICAgICAgIGxlZnQ6IFwiMHB4XCJcbiAgICB9KSxcbiAgICBkaXNhYmxlOiBjc3Moe1xuICAgICAgICBvcGFjaXR5OiAwLjcsXG4gICAgICAgIHBvaW50ZXJFdmVudHM6IFwibm9uZVwiXG4gICAgfSlcbn07XG5cbmNvbnN0IFBvcG92ZXIgPSBzdHlsZWQuZGl2PHsgYWxpZ24/OiBzdHJpbmcgfT5gXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHotaW5kZXg6IDI7XG4gICAgcmlnaHQ6ICR7KHsgYWxpZ24gfSkgPT4gKGFsaWduID09PSBcInJpZ2h0XCIgPyBcIjEwcHhcIiA6IFwiYXV0b1wiKX07XG5gO1xuXG5pbnRlcmZhY2UgQ29sb3JQaWNrZXJTdGF0ZSB7XG4gICAgc2hvd0NvbG9yUGlja2VyOiBib29sZWFuO1xufVxuXG5pbnRlcmZhY2UgQ29sb3JQaWNrZXJQcm9wcyBleHRlbmRzIEZvcm1Db21wb25lbnRQcm9wcyB7XG4gICAgLy8gQ29tcG9uZW50IGxhYmVsLlxuICAgIGxhYmVsPzogc3RyaW5nO1xuXG4gICAgLy8gSXMgY29sb3IgcGlja2VyIGRpc2FibGVkP1xuICAgIGRpc2FibGU/OiBib29sZWFuO1xuXG4gICAgLy8gRGVzY3JpcHRpb24gYmVuZWF0aCB0aGUgY29sb3IgcGlja2VyLlxuICAgIGRlc2NyaXB0aW9uPzogc3RyaW5nO1xuXG4gICAgLy8gUG9wb3ZlciBhbGlnbm1lbnQgKGRlZmF1bHQgaXMgYGxlZnRgKS5cbiAgICBhbGlnbj86IFwibGVmdFwiIHwgXCJyaWdodFwiO1xufVxuXG4vKipcbiAqIFVzZSBDb2xvclBpY2tlciBjb21wb25lbnQgdG8gZGlzcGxheSBhIGxpc3Qgb2YgY2hvaWNlcywgb25jZSB0aGUgaGFuZGxlciBpcyB0cmlnZ2VyZWQuXG4gKi9cbmNsYXNzIENvbG9yUGlja2VyIGV4dGVuZHMgUmVhY3QuQ29tcG9uZW50PENvbG9yUGlja2VyUHJvcHMsIENvbG9yUGlja2VyU3RhdGU+IHtcbiAgICBjb2xvclBpY2tlclJlZiA9IFJlYWN0LmNyZWF0ZVJlZjxIVE1MRGl2RWxlbWVudD4oKTtcblxuICAgIHB1YmxpYyBvdmVycmlkZSBzdGF0ZSA9IHtcbiAgICAgICAgc2hvd0NvbG9yUGlja2VyOiBmYWxzZVxuICAgIH07XG5cbiAgICBwdWJsaWMgb3ZlcnJpZGUgY29tcG9uZW50RGlkTW91bnQoKSB7XG4gICAgICAgIGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoXCJjbGlja1wiLCB0aGlzLmhhbmRsZUNsaWNrT3V0c2lkZSk7XG4gICAgfVxuXG4gICAgcHVibGljIG92ZXJyaWRlIGNvbXBvbmVudFdpbGxVbm1vdW50KCkge1xuICAgICAgICBkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKFwiY2xpY2tcIiwgdGhpcy5oYW5kbGVDbGlja091dHNpZGUpO1xuICAgIH1cblxuICAgIGhhbmRsZUNsaWNrT3V0c2lkZSA9IChldmVudDogTW91c2VFdmVudCkgPT4ge1xuICAgICAgICBpZiAoXG4gICAgICAgICAgICB0aGlzLmNvbG9yUGlja2VyUmVmLmN1cnJlbnQgJiZcbiAgICAgICAgICAgICF0aGlzLmNvbG9yUGlja2VyUmVmLmN1cnJlbnQuY29udGFpbnMoZXZlbnQudGFyZ2V0IGFzIE5vZGUpXG4gICAgICAgICkge1xuICAgICAgICAgICAgdGhpcy5zZXRTdGF0ZSh7IHNob3dDb2xvclBpY2tlcjogZmFsc2UgfSk7XG4gICAgICAgIH1cbiAgICB9O1xuXG4gICAgaGFuZGxlQ2xpY2sgPSAoZTogUmVhY3QuTW91c2VFdmVudCkgPT4ge1xuICAgICAgICBlLnN0b3BQcm9wYWdhdGlvbigpO1xuICAgICAgICB0aGlzLnNldFN0YXRlKHsgc2hvd0NvbG9yUGlja2VyOiAhdGhpcy5zdGF0ZS5zaG93Q29sb3JQaWNrZXIgfSk7XG4gICAgfTtcblxuICAgIGhhbmRsZUNsb3NlID0gKGU6IFJlYWN0Lk1vdXNlRXZlbnQpID0+IHtcbiAgICAgICAgZS5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICAgICAgdGhpcy5zZXRTdGF0ZSh7IHNob3dDb2xvclBpY2tlcjogZmFsc2UgfSk7XG4gICAgfTtcblxuICAgIGhhbmRsZUNoYW5nZSA9IChjb2xvcjogQ29sb3JTdGF0ZSkgPT4ge1xuICAgICAgICBjb25zdCB7IG9uQ2hhbmdlIH0gPSB0aGlzLnByb3BzO1xuICAgICAgICBvbkNoYW5nZSAmJiBvbkNoYW5nZShjb2xvci5oZXgpO1xuICAgIH07XG5cbiAgICBwdWJsaWMgb3ZlcnJpZGUgcmVuZGVyKCkge1xuICAgICAgICBjb25zdCB7IHZhbHVlLCBsYWJlbCwgZGlzYWJsZSwgZGVzY3JpcHRpb24sIHZhbGlkYXRpb24sIGFsaWduIH0gPSB0aGlzLnByb3BzO1xuXG4gICAgICAgIGxldCBiYWNrZ3JvdW5kQ29sb3JTdHlsZSA9IHt9O1xuICAgICAgICBpZiAodmFsdWUpIHtcbiAgICAgICAgICAgIGJhY2tncm91bmRDb2xvclN0eWxlID0ge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IGAke3ZhbHVlfWBcbiAgICAgICAgICAgIH07XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCB7IGlzVmFsaWQ6IHZhbGlkYXRpb25Jc1ZhbGlkLCBtZXNzYWdlOiB2YWxpZGF0aW9uTWVzc2FnZSB9ID0gdmFsaWRhdGlvbiB8fCB7fTtcblxuICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgIHJlZj17dGhpcy5jb2xvclBpY2tlclJlZn1cbiAgICAgICAgICAgICAgICBjbGFzc05hbWU9e2NsYXNzTmFtZXMoeyBbY2xhc3Nlcy5kaXNhYmxlXTogZGlzYWJsZSB9KX1cbiAgICAgICAgICAgICAgICBkYXRhLXJvbGU9e1wiY29sb3ItcGlja2VyLWNvbnRhaW5lclwifVxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIHtsYWJlbCAmJiAoXG4gICAgICAgICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzTmFtZT17Y2xhc3NOYW1lcyhcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIm1kYy10ZXh0LWZpZWxkLWhlbHBlci10ZXh0IG1kYy10ZXh0LWZpZWxkLWhlbHBlci10ZXh0LS1wZXJzaXN0ZW50XCIsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3Nlcy5sYWJlbFxuICAgICAgICAgICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAge2xhYmVsfVxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICApfVxuXG4gICAgICAgICAgICAgICAgPGRpdj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lPXtjbGFzc2VzLnN3YXRjaH1cbiAgICAgICAgICAgICAgICAgICAgICAgIG9uQ2xpY2s9e3RoaXMuaGFuZGxlQ2xpY2t9XG4gICAgICAgICAgICAgICAgICAgICAgICBkYXRhLXJvbGU9e1wiY29sb3ItcGlja2VyLXN3YXRjaFwifVxuICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT17Y2xhc3Nlcy5jb2xvcn0gc3R5bGU9e2JhY2tncm91bmRDb2xvclN0eWxlfSAvPlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAge3RoaXMuc3RhdGUuc2hvd0NvbG9yUGlja2VyID8gKFxuICAgICAgICAgICAgICAgICAgICAgICAgPFBvcG92ZXIgYWxpZ249e2FsaWdufT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT17Y2xhc3Nlcy5jbGFzc05hbWVzfSBvbkNsaWNrPXt0aGlzLmhhbmRsZUNsb3NlfSAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxTa2V0Y2hQaWNrZXIgY29sb3I9e3ZhbHVlIHx8IFwiXCJ9IG9uQ2hhbmdlPXt0aGlzLmhhbmRsZUNoYW5nZX0gLz5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvUG9wb3Zlcj5cbiAgICAgICAgICAgICAgICAgICAgKSA6IG51bGx9XG4gICAgICAgICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICAgICAgICB7dmFsaWRhdGlvbklzVmFsaWQgPT09IGZhbHNlICYmIChcbiAgICAgICAgICAgICAgICAgICAgPEZvcm1FbGVtZW50TWVzc2FnZSBlcnJvcj57dmFsaWRhdGlvbk1lc3NhZ2V9PC9Gb3JtRWxlbWVudE1lc3NhZ2U+XG4gICAgICAgICAgICAgICAgKX1cblxuICAgICAgICAgICAgICAgIHt2YWxpZGF0aW9uSXNWYWxpZCAhPT0gZmFsc2UgJiYgZGVzY3JpcHRpb24gJiYgKFxuICAgICAgICAgICAgICAgICAgICA8Rm9ybUVsZW1lbnRNZXNzYWdlPntkZXNjcmlwdGlvbn08L0Zvcm1FbGVtZW50TWVzc2FnZT5cbiAgICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICk7XG4gICAgfVxufVxuXG5leHBvcnQgeyBDb2xvclBpY2tlciB9O1xuIl19 */"));
52
58
  /**
53
59
  * Use ColorPicker component to display a list of choices, once the handler is triggered.
54
60
  */
@@ -60,15 +66,25 @@ var ColorPicker = exports.ColorPicker = /*#__PURE__*/function (_React$Component)
60
66
  args[_key] = arguments[_key];
61
67
  }
62
68
  _this = (0, _callSuper2.default)(this, ColorPicker, [].concat(args));
69
+ (0, _defineProperty2.default)(_this, "colorPickerRef", /*#__PURE__*/_react.default.createRef());
63
70
  (0, _defineProperty2.default)(_this, "state", {
64
71
  showColorPicker: false
65
72
  });
66
- (0, _defineProperty2.default)(_this, "handleClick", function () {
73
+ (0, _defineProperty2.default)(_this, "handleClickOutside", function (event) {
74
+ if (_this.colorPickerRef.current && !_this.colorPickerRef.current.contains(event.target)) {
75
+ _this.setState({
76
+ showColorPicker: false
77
+ });
78
+ }
79
+ });
80
+ (0, _defineProperty2.default)(_this, "handleClick", function (e) {
81
+ e.stopPropagation();
67
82
  _this.setState({
68
83
  showColorPicker: !_this.state.showColorPicker
69
84
  });
70
85
  });
71
- (0, _defineProperty2.default)(_this, "handleClose", function () {
86
+ (0, _defineProperty2.default)(_this, "handleClose", function (e) {
87
+ e.stopPropagation();
72
88
  _this.setState({
73
89
  showColorPicker: false
74
90
  });
@@ -81,6 +97,16 @@ var ColorPicker = exports.ColorPicker = /*#__PURE__*/function (_React$Component)
81
97
  }
82
98
  (0, _inherits2.default)(ColorPicker, _React$Component);
83
99
  return (0, _createClass2.default)(ColorPicker, [{
100
+ key: "componentDidMount",
101
+ value: function componentDidMount() {
102
+ document.addEventListener("click", this.handleClickOutside);
103
+ }
104
+ }, {
105
+ key: "componentWillUnmount",
106
+ value: function componentWillUnmount() {
107
+ document.removeEventListener("click", this.handleClickOutside);
108
+ }
109
+ }, {
84
110
  key: "render",
85
111
  value: function render() {
86
112
  var _this$props = this.props,
@@ -88,28 +114,32 @@ var ColorPicker = exports.ColorPicker = /*#__PURE__*/function (_React$Component)
88
114
  label = _this$props.label,
89
115
  disable = _this$props.disable,
90
116
  description = _this$props.description,
91
- validation = _this$props.validation;
117
+ validation = _this$props.validation,
118
+ align = _this$props.align;
92
119
  var backgroundColorStyle = {};
93
120
  if (value) {
94
121
  backgroundColorStyle = {
95
122
  background: "".concat(value)
96
123
  };
97
124
  }
98
- var _ref = validation || {},
99
- validationIsValid = _ref.isValid,
100
- validationMessage = _ref.message;
125
+ var _ref2 = validation || {},
126
+ validationIsValid = _ref2.isValid,
127
+ validationMessage = _ref2.message;
101
128
  return /*#__PURE__*/_react.default.createElement("div", {
102
- className: (0, _classnames.default)((0, _defineProperty2.default)({}, classes.disable, disable))
129
+ ref: this.colorPickerRef,
130
+ className: (0, _classnames.default)((0, _defineProperty2.default)({}, classes.disable, disable)),
131
+ "data-role": "color-picker-container"
103
132
  }, label && /*#__PURE__*/_react.default.createElement("div", {
104
133
  className: (0, _classnames.default)("mdc-text-field-helper-text mdc-text-field-helper-text--persistent", classes.label)
105
134
  }, label), /*#__PURE__*/_react.default.createElement("div", null, /*#__PURE__*/_react.default.createElement("div", {
106
135
  className: classes.swatch,
107
- onClick: this.handleClick
136
+ onClick: this.handleClick,
137
+ "data-role": "color-picker-swatch"
108
138
  }, /*#__PURE__*/_react.default.createElement("div", {
109
139
  className: classes.color,
110
140
  style: backgroundColorStyle
111
- })), this.state.showColorPicker ? /*#__PURE__*/_react.default.createElement("div", {
112
- className: classes.popover
141
+ })), this.state.showColorPicker ? /*#__PURE__*/_react.default.createElement(Popover, {
142
+ align: align
113
143
  }, /*#__PURE__*/_react.default.createElement("div", {
114
144
  className: classes.classNames,
115
145
  onClick: this.handleClose
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireDefault","require","_reactColor","_emotion","_FormElementMessage","_classnames","classes","label","css","marginBottom","color","width","height","borderRadius","swatch","padding","background","boxShadow","display","cursor","popover","position","zIndex","classNames","top","right","bottom","left","disable","opacity","pointerEvents","ColorPicker","exports","_React$Component","_this","_classCallCheck2","default","_len","arguments","length","args","Array","_key","_callSuper2","concat","_defineProperty2","showColorPicker","setState","state","onChange","props","hex","_inherits2","_createClass2","key","value","render","_this$props","description","validation","backgroundColorStyle","_ref","validationIsValid","isValid","validationMessage","message","createElement","className","onClick","handleClick","style","handleClose","SketchPicker","handleChange","FormElementMessage","error","React","Component"],"sources":["ColorPicker.tsx"],"sourcesContent":["import React from \"react\";\nimport { SketchPicker, ColorState } from \"react-color\";\nimport { css } from \"emotion\";\nimport { FormComponentProps } from \"~/types\";\nimport { FormElementMessage } from \"~/FormElementMessage\";\nimport classNames from \"classnames\";\n\nconst classes = {\n label: css({\n marginBottom: \"10px !important\"\n }),\n color: css({\n width: \"36px\",\n height: \"14px\",\n borderRadius: \"2px\"\n }),\n swatch: css({\n padding: \"5px\",\n background: \"#fff\",\n borderRadius: \"1px\",\n boxShadow: \"0 0 0 1px rgba(0,0,0,.1)\",\n display: \"inline-block\",\n cursor: \"pointer\"\n }),\n // @ts-expect-error\n popover: css({\n position: \"absolute\",\n zIndex: \"2\"\n }),\n classNames: css({\n position: \"fixed\",\n top: \"0px\",\n right: \"0px\",\n bottom: \"0px\",\n left: \"0px\"\n }),\n disable: css({\n opacity: 0.7,\n pointerEvents: \"none\"\n })\n};\n\ninterface ColorPickerState {\n showColorPicker: boolean;\n}\n\ninterface ColorPickerProps extends FormComponentProps {\n // Component label.\n label?: string;\n\n // Is color picker disabled?\n disable?: boolean;\n\n // Description beneath the color picker.\n description?: string;\n}\n\n/**\n * Use ColorPicker component to display a list of choices, once the handler is triggered.\n */\nclass ColorPicker extends React.Component<ColorPickerProps, ColorPickerState> {\n public override state = {\n showColorPicker: false\n };\n\n handleClick = () => {\n this.setState({ showColorPicker: !this.state.showColorPicker });\n };\n\n handleClose = () => {\n this.setState({ showColorPicker: false });\n };\n\n handleChange = (color: ColorState) => {\n const { onChange } = this.props;\n onChange && onChange(color.hex);\n };\n\n public override render() {\n const { value, label, disable, description, validation } = this.props;\n\n let backgroundColorStyle = {};\n if (value) {\n backgroundColorStyle = {\n background: `${value}`\n };\n }\n\n const { isValid: validationIsValid, message: validationMessage } = validation || {};\n\n return (\n <div className={classNames({ [classes.disable]: disable })}>\n {label && (\n <div\n className={classNames(\n \"mdc-text-field-helper-text mdc-text-field-helper-text--persistent\",\n classes.label\n )}\n >\n {label}\n </div>\n )}\n\n <div>\n <div className={classes.swatch} onClick={this.handleClick}>\n <div className={classes.color} style={backgroundColorStyle} />\n </div>\n {this.state.showColorPicker ? (\n <div className={classes.popover}>\n <div className={classes.classNames} onClick={this.handleClose} />\n <SketchPicker color={value || \"\"} onChange={this.handleChange} />\n </div>\n ) : null}\n </div>\n\n {validationIsValid === false && (\n <FormElementMessage error>{validationMessage}</FormElementMessage>\n )}\n\n {validationIsValid !== false && description && (\n <FormElementMessage>{description}</FormElementMessage>\n )}\n </div>\n );\n }\n}\n\nexport { ColorPicker };\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_react","_interopRequireDefault","require","_reactColor","_emotion","_FormElementMessage","_classnames","classes","label","css","marginBottom","color","width","minHeight","height","borderRadius","swatch","padding","background","boxShadow","display","cursor","classNames","position","top","right","bottom","left","disable","opacity","pointerEvents","Popover","_base","default","process","env","NODE_ENV","target","_ref","align","ColorPicker","exports","_React$Component","_this","_classCallCheck2","_len","arguments","length","args","Array","_key","_callSuper2","concat","_defineProperty2","React","createRef","showColorPicker","event","colorPickerRef","current","contains","setState","e","stopPropagation","state","onChange","props","hex","_inherits2","_createClass2","key","value","componentDidMount","document","addEventListener","handleClickOutside","componentWillUnmount","removeEventListener","render","_this$props","description","validation","backgroundColorStyle","_ref2","validationIsValid","isValid","validationMessage","message","createElement","ref","className","onClick","handleClick","style","handleClose","SketchPicker","handleChange","FormElementMessage","error","Component"],"sources":["ColorPicker.tsx"],"sourcesContent":["import React from \"react\";\nimport { SketchPicker, ColorState } from \"react-color\";\nimport { css } from \"emotion\";\nimport styled from \"@emotion/styled\";\nimport { FormComponentProps } from \"~/types\";\nimport { FormElementMessage } from \"~/FormElementMessage\";\nimport classNames from \"classnames\";\n\nconst classes = {\n label: css({\n marginBottom: \"10px !important\"\n }),\n color: css({\n width: \"36px\",\n minHeight: \"14px\",\n height: \"inherit\",\n borderRadius: \"2px\"\n }),\n swatch: css({\n padding: \"5px\",\n background: \"#fff\",\n borderRadius: \"1px\",\n boxShadow: \"0 0 0 1px rgba(0,0,0,.1)\",\n display: \"inline-block\",\n cursor: \"pointer\"\n }),\n classNames: css({\n position: \"fixed\",\n top: \"0px\",\n right: \"0px\",\n bottom: \"0px\",\n left: \"0px\"\n }),\n disable: css({\n opacity: 0.7,\n pointerEvents: \"none\"\n })\n};\n\nconst Popover = styled.div<{ align?: string }>`\n position: absolute;\n z-index: 2;\n right: ${({ align }) => (align === \"right\" ? \"10px\" : \"auto\")};\n`;\n\ninterface ColorPickerState {\n showColorPicker: boolean;\n}\n\ninterface ColorPickerProps extends FormComponentProps {\n // Component label.\n label?: string;\n\n // Is color picker disabled?\n disable?: boolean;\n\n // Description beneath the color picker.\n description?: string;\n\n // Popover alignment (default is `left`).\n align?: \"left\" | \"right\";\n}\n\n/**\n * Use ColorPicker component to display a list of choices, once the handler is triggered.\n */\nclass ColorPicker extends React.Component<ColorPickerProps, ColorPickerState> {\n colorPickerRef = React.createRef<HTMLDivElement>();\n\n public override state = {\n showColorPicker: false\n };\n\n public override componentDidMount() {\n document.addEventListener(\"click\", this.handleClickOutside);\n }\n\n public override componentWillUnmount() {\n document.removeEventListener(\"click\", this.handleClickOutside);\n }\n\n handleClickOutside = (event: MouseEvent) => {\n if (\n this.colorPickerRef.current &&\n !this.colorPickerRef.current.contains(event.target as Node)\n ) {\n this.setState({ showColorPicker: false });\n }\n };\n\n handleClick = (e: React.MouseEvent) => {\n e.stopPropagation();\n this.setState({ showColorPicker: !this.state.showColorPicker });\n };\n\n handleClose = (e: React.MouseEvent) => {\n e.stopPropagation();\n this.setState({ showColorPicker: false });\n };\n\n handleChange = (color: ColorState) => {\n const { onChange } = this.props;\n onChange && onChange(color.hex);\n };\n\n public override render() {\n const { value, label, disable, description, validation, align } = this.props;\n\n let backgroundColorStyle = {};\n if (value) {\n backgroundColorStyle = {\n background: `${value}`\n };\n }\n\n const { isValid: validationIsValid, message: validationMessage } = validation || {};\n\n return (\n <div\n ref={this.colorPickerRef}\n className={classNames({ [classes.disable]: disable })}\n data-role={\"color-picker-container\"}\n >\n {label && (\n <div\n className={classNames(\n \"mdc-text-field-helper-text mdc-text-field-helper-text--persistent\",\n classes.label\n )}\n >\n {label}\n </div>\n )}\n\n <div>\n <div\n className={classes.swatch}\n onClick={this.handleClick}\n data-role={\"color-picker-swatch\"}\n >\n <div className={classes.color} style={backgroundColorStyle} />\n </div>\n {this.state.showColorPicker ? (\n <Popover align={align}>\n <div className={classes.classNames} onClick={this.handleClose} />\n <SketchPicker color={value || \"\"} onChange={this.handleChange} />\n </Popover>\n ) : null}\n </div>\n\n {validationIsValid === false && (\n <FormElementMessage error>{validationMessage}</FormElementMessage>\n )}\n\n {validationIsValid !== false && description && (\n <FormElementMessage>{description}</FormElementMessage>\n )}\n </div>\n );\n }\n}\n\nexport { ColorPicker };\n"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireDefault","require","_Dialog","_Progress","_Button","ConfirmationDialog","exports","_React$Component","_this","_classCallCheck2","default","_len","arguments","length","args","Array","_key","_callSuper2","concat","_defineProperty2","onAccept","onCancel","show","loading","callbacks","setState","__isMounted","_inherits2","_createClass2","key","value","componentDidMount","componentWillUnmount","render","createElement","Fragment","Dialog","style","props","open","state","onClose","hideConfirmation","DialogTitle","title","DialogContent","message","DialogActions","DialogCancel","onClick","ButtonPrimary","disabled","disableConfirm","children","showConfirmation","React","Component","CircularProgress"],"sources":["ConfirmationDialog.tsx"],"sourcesContent":["import React from \"react\";\n\nimport { Dialog, DialogCancel, DialogActions, DialogTitle, DialogContent } from \"./../Dialog\";\n\nimport { CircularProgress } from \"../Progress\";\nimport { ButtonPrimary } from \"~/Button\";\n\ninterface ChildrenRenderProp {\n showConfirmation: (onAccept?: () => void, onCancel?: () => void) => any;\n}\n\ninterface ConfirmationCallbacks {\n onAccept?: () => void;\n onCancel?: () => void;\n}\n\ninterface Props {\n // Title of confirmation dialog\n title?: React.ReactNode;\n\n // Message of confirmation dialog\n message?: React.ReactNode;\n\n // This element will be rendered during loading\n loading?: React.ReactNode;\n\n // For testing purposes\n \"data-testid\"?: string;\n\n // An element that will trigger the confirmation dialog.\n children: (props: ChildrenRenderProp) => React.ReactNode;\n\n // Is `Confirm` button disabled\n disableConfirm?: boolean;\n\n // Dialog component's custom in-line styles.\n style?: React.CSSProperties;\n}\n\ninterface ConfirmationDialogState {\n show: boolean;\n loading: boolean;\n}\n\n/**\n * Use ConfirmationDialog component to display a list of choices, once the handler is triggered.\n */\nclass ConfirmationDialog extends React.Component<Props, ConfirmationDialogState> {\n static defaultProps = {\n title: \"Confirmation\",\n message: \"Are you sure you want to continue?\",\n loading: <CircularProgress />\n };\n\n __isMounted = false;\n\n callbacks: ConfirmationCallbacks = {\n onAccept: () => {\n return void 0;\n },\n onCancel: () => {\n return void 0;\n }\n };\n\n public override state = {\n show: false,\n loading: false\n };\n\n public override componentDidMount() {\n this.__isMounted = true;\n }\n\n public override componentWillUnmount() {\n this.__isMounted = false;\n }\n\n private readonly showConfirmation = (onAccept?: () => void, onCancel?: () => void) => {\n this.callbacks = {\n onAccept,\n onCancel\n };\n this.setState({ show: true });\n };\n\n private readonly hideConfirmation = () => {\n this.setState({ show: false });\n };\n\n private readonly onAccept = async () => {\n const { onAccept } = this.callbacks;\n if (typeof onAccept === \"function\") {\n this.setState({ loading: true });\n await onAccept();\n if (this.__isMounted) {\n this.setState({ loading: false, show: false });\n }\n }\n };\n\n private readonly onCancel = async () => {\n const { onCancel } = this.callbacks;\n if (typeof onCancel === \"function\") {\n await onCancel();\n }\n };\n\n public override render() {\n return (\n <React.Fragment>\n <Dialog\n style={this.props.style}\n open={this.state.show}\n onClose={this.hideConfirmation}\n data-testid={this.props[\"data-testid\"]}\n >\n {this.state.loading ? this.props.loading : null}\n <DialogTitle>{this.props.title}</DialogTitle>\n <DialogContent>{this.props.message}</DialogContent>\n <DialogActions>\n <DialogCancel onClick={this.onCancel}>Cancel</DialogCancel>\n <ButtonPrimary\n data-testid=\"confirmationdialog-confirm-action\"\n onClick={this.onAccept}\n disabled={this.props.disableConfirm}\n >\n Confirm\n </ButtonPrimary>\n </DialogActions>\n </Dialog>\n {this.props.children({\n showConfirmation: this.showConfirmation\n })}\n </React.Fragment>\n );\n }\n}\n\nexport { ConfirmationDialog };\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_react","_interopRequireDefault","require","_Dialog","_Progress","_Button","ConfirmationDialog","exports","_React$Component","_this","_classCallCheck2","default","_len","arguments","length","args","Array","_key","_callSuper2","concat","_defineProperty2","onAccept","onCancel","show","loading","callbacks","setState","__isMounted","_inherits2","_createClass2","key","value","componentDidMount","componentWillUnmount","render","createElement","Fragment","Dialog","style","props","open","state","onClose","hideConfirmation","DialogTitle","title","DialogContent","message","DialogActions","DialogCancel","onClick","ButtonPrimary","disabled","disableConfirm","children","showConfirmation","React","Component","CircularProgress"],"sources":["ConfirmationDialog.tsx"],"sourcesContent":["import React from \"react\";\n\nimport { Dialog, DialogCancel, DialogActions, DialogTitle, DialogContent } from \"./../Dialog\";\n\nimport { CircularProgress } from \"../Progress\";\nimport { ButtonPrimary } from \"~/Button\";\n\ninterface ChildrenRenderProp {\n showConfirmation: (onAccept?: () => void, onCancel?: () => void) => any;\n}\n\ninterface ConfirmationCallbacks {\n onAccept?: () => void;\n onCancel?: () => void;\n}\n\ninterface Props {\n // Title of confirmation dialog\n title?: React.ReactNode;\n\n // Message of confirmation dialog\n message?: React.ReactNode;\n\n // This element will be rendered during loading\n loading?: React.ReactNode;\n\n // For testing purposes\n \"data-testid\"?: string;\n\n // An element that will trigger the confirmation dialog.\n children: (props: ChildrenRenderProp) => React.ReactNode;\n\n // Is `Confirm` button disabled\n disableConfirm?: boolean;\n\n // Dialog component's custom in-line styles.\n style?: React.CSSProperties;\n}\n\ninterface ConfirmationDialogState {\n show: boolean;\n loading: boolean;\n}\n\n/**\n * Use ConfirmationDialog component to display a list of choices, once the handler is triggered.\n */\nclass ConfirmationDialog extends React.Component<Props, ConfirmationDialogState> {\n static defaultProps = {\n title: \"Confirmation\",\n message: \"Are you sure you want to continue?\",\n loading: <CircularProgress />\n };\n\n __isMounted = false;\n\n callbacks: ConfirmationCallbacks = {\n onAccept: () => {\n return void 0;\n },\n onCancel: () => {\n return void 0;\n }\n };\n\n public override state = {\n show: false,\n loading: false\n };\n\n public override componentDidMount() {\n this.__isMounted = true;\n }\n\n public override componentWillUnmount() {\n this.__isMounted = false;\n }\n\n private readonly showConfirmation = (onAccept?: () => void, onCancel?: () => void) => {\n this.callbacks = {\n onAccept,\n onCancel\n };\n this.setState({ show: true });\n };\n\n private readonly hideConfirmation = () => {\n this.setState({ show: false });\n };\n\n private readonly onAccept = async () => {\n const { onAccept } = this.callbacks;\n if (typeof onAccept === \"function\") {\n this.setState({ loading: true });\n await onAccept();\n if (this.__isMounted) {\n this.setState({ loading: false, show: false });\n }\n }\n };\n\n private readonly onCancel = async () => {\n const { onCancel } = this.callbacks;\n if (typeof onCancel === \"function\") {\n await onCancel();\n }\n };\n\n public override render() {\n return (\n <React.Fragment>\n <Dialog\n style={this.props.style}\n open={this.state.show}\n onClose={this.hideConfirmation}\n data-testid={this.props[\"data-testid\"]}\n >\n {this.state.loading ? this.props.loading : null}\n <DialogTitle>{this.props.title}</DialogTitle>\n <DialogContent>{this.props.message}</DialogContent>\n <DialogActions>\n <DialogCancel onClick={this.onCancel}>Cancel</DialogCancel>\n <ButtonPrimary\n data-testid=\"confirmationdialog-confirm-action\"\n onClick={this.onAccept}\n disabled={this.props.disableConfirm}\n >\n Confirm\n </ButtonPrimary>\n </DialogActions>\n </Dialog>\n {this.props.children({\n showConfirmation: this.showConfirmation\n })}\n </React.Fragment>\n );\n }\n}\n\nexport { ConfirmationDialog };\n"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireWildcard","require","_dataTable","_reactTable","_Checkbox","_Skeleton","_ColumnsVisibility","_styled","defineColumns","columns","options","canSelectAllRows","onSelectRow","onToggleRow","loadingInitial","useMemo","columnsList","Object","keys","map","key","_objectSpread3","default","id","defaults","column","cell","className","_column$enableHiding","enableHiding","_column$enableResizin","enableResizing","_column$enableSorting","enableSorting","header","meta","_column$size","size","accessorKey","info","row","original","getValue","String","isSelectable","select","_ref","table","createElement","Checkbox","indeterminate","getIsSomeRowsSelected","value","getIsAllRowsSelected","onChange","e","toggleAllPageRowsSelected","getCanSelect","Fragment","getIsSomeSelected","getIsSelected","getToggleSelectedHandler","concat","_toConsumableArray2","Skeleton","containerClassName","ColumnDirection","_ref2","direction","ColumnDirectionWrapper","ColumnDirectionIcon","typedMemo","memo","TableCell","_ref3","getColumnWidth","width","DataTableCell","assign","columnDef","style","maxWidth","ColumnCellWrapper","flexRender","getContext","MemoTableCell","TableRow","_ref4","selected","cells","DataTableRow","MemoTableRow","emptyArray","Array","fill","DataTable","exports","_ref5","initialData","data","initialColumns","stickyColumns","stickyRows","bordered","sorting","columnVisibility","onColumnVisibilityChange","onSortingChange","isRowSelectable","_ref5$canSelectAllRow","_ref5$selectedRows","selectedRows","initialSorting","tableRef","useRef","_useState","useState","_useState2","_slicedToArray2","tableWidth","setTableWidth","useEffect","updateElementWidth","current","clientWidth","window","addEventListener","removeEventListener","rowSelection","reduce","acc","item","recordIndex","findIndex","rec","_defineProperty2","onRowSelectionChange","updater","newSelection","toggledRows","filter","x","length","parseInt","selection","tableSorting","isArray","useReactTable","enableColumnResizing","columnResizeMode","getCoreRowModel","getSortedRowModel","state","enableRowSelection","enableSortingRemoval","manualSorting","useCallback","getCanResize","getSize","tableSize","getTotalSize","columnSize","Math","ceil","tableRows","getRowModel","rows","ref","Table","DataTableContent","DataTableHead","getHeaderGroups","headerGroup","headers","index","isLastCell","TableHeadCell","colSpan","isPlaceholder","ColumnHeaderWrapper","onClick","getToggleSortingHandler","sortable","getCanSort","getIsSorted","undefined","ColumnsVisibility","getAllColumns","Resizer","onMouseDown","getResizeHandler","onTouchStart","isResizing","getIsResizing","DataTableBody","getVisibleCells"],"sources":["DataTable.tsx"],"sourcesContent":["import React, {\n memo,\n ReactElement,\n useCallback,\n useEffect,\n useMemo,\n useRef,\n useState\n} from \"react\";\n\nimport {\n DataTableBody,\n DataTableCellProps,\n DataTableContent,\n DataTableHead,\n DataTableRow\n} from \"@rmwc/data-table\";\n\nimport {\n Cell,\n Column as DefaultColumn,\n ColumnDef,\n ColumnSort,\n flexRender,\n getCoreRowModel,\n getSortedRowModel,\n OnChangeFn,\n Row,\n RowSelectionState,\n SortingState,\n useReactTable,\n VisibilityState\n} from \"@tanstack/react-table\";\n\nimport { Checkbox } from \"~/Checkbox\";\nimport { Skeleton } from \"~/Skeleton\";\nimport { ColumnDirectionProps } from \"~/DataTable/ColumnDirection\";\nimport { ColumnsVisibility } from \"~/DataTable/ColumnsVisibility\";\n\nimport \"@rmwc/data-table/data-table.css\";\nimport {\n ColumnCellWrapper,\n ColumnDirectionIcon,\n ColumnDirectionWrapper,\n ColumnHeaderWrapper,\n DataTableCell,\n Resizer,\n Table,\n TableHeadCell\n} from \"./styled\";\n\nexport interface 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 | null;\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 * Enable column visibility toggling.\n */\n enableHiding?: 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 TableRow<T> = Row<DefaultData & T>;\n\nexport type Sorting = SortingState;\n\nexport { ColumnSort };\n\nexport type OnSortingChange = OnChangeFn<Sorting>;\n\nexport type ColumnVisibility = VisibilityState;\n\nexport type OnColumnVisibilityChange = OnChangeFn<ColumnVisibility>;\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 * The column visibility state.\n */\n columnVisibility?: ColumnVisibility;\n /**\n * Callback that receives current column visibility state.\n */\n onColumnVisibilityChange?: OnColumnVisibilityChange;\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 the toggled row.\n */\n onToggleRow?: (row: 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\ninterface DefineColumnsOptions<T> {\n canSelectAllRows: boolean;\n onSelectRow?: Props<T>[\"onSelectRow\"];\n onToggleRow: Props<T>[\"onToggleRow\"];\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, onToggleRow, 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 enableHiding = true,\n enableResizing = true,\n enableSorting = false,\n header,\n id,\n meta,\n size = 100\n } = column;\n\n return {\n id,\n accessorKey: id,\n header: () => header,\n cell: info => {\n if (cell && typeof cell === \"function\") {\n return cell(info.row.original);\n } else {\n // Automatically convert any cell value to a string for rendering,\n // ensuring the table displays values correctly. This aligns with React's\n // rendering, which expects JSX, strings or null.\n // https://github.com/TanStack/table/issues/1042\n return info.getValue() ? String(info.getValue()) : null;\n }\n },\n enableSorting,\n meta: {\n ...meta,\n className\n },\n enableResizing,\n size,\n enableHiding\n };\n });\n\n const isSelectable = onToggleRow || onSelectRow;\n\n const select: ColumnDef<T>[] = isSelectable\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 enableSorting: false,\n enableResizing: false,\n enableHiding: false,\n size: 56\n }\n ]\n : [];\n\n return [...select, ...defaults].map(column => {\n if (loadingInitial) {\n return {\n ...column,\n cell: () => <Skeleton containerClassName=\"table-skeleton-container\" />\n };\n }\n\n return column;\n });\n }, [columns, onSelectRow, onToggleRow, 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 getColumnWidth: (column: DefaultColumn<T>) => number;\n selected: boolean;\n}\n\nconst TableCell = <T,>({ cell, getColumnWidth }: TableCellProps<T>) => {\n const width = getColumnWidth(cell.column);\n\n return (\n <DataTableCell {...cell.column.columnDef.meta} style={{ width, maxWidth: width }}>\n <ColumnCellWrapper>\n {flexRender(cell.column.columnDef.cell, cell.getContext())}\n </ColumnCellWrapper>\n </DataTableCell>\n );\n};\n\nconst MemoTableCell = typedMemo(TableCell);\n\ninterface TableRowProps<T> {\n selected: boolean;\n cells: Cell<T, unknown>[];\n getColumnWidth: (column: DefaultColumn<T>) => number;\n}\n\nconst TableRow = <T,>({ selected, cells, getColumnWidth }: TableRowProps<T>) => {\n return (\n <DataTableRow selected={selected}>\n {cells.map(cell => (\n <MemoTableCell<T>\n key={cell.id}\n cell={cell}\n getColumnWidth={getColumnWidth}\n selected={selected}\n />\n ))}\n </DataTableRow>\n );\n};\n\nconst MemoTableRow = typedMemo(TableRow);\n\n/**\n * Empty array must be defined outside of the React component so it does not force rerendering of the DataTable\n */\nconst emptyArray = Array(10).fill({});\n\nexport const DataTable = <T extends Record<string, any> & DefaultData>({\n data: initialData,\n columns: initialColumns,\n onSelectRow,\n onToggleRow,\n loadingInitial,\n stickyColumns,\n stickyRows,\n bordered,\n sorting,\n columnVisibility,\n onColumnVisibilityChange,\n onSortingChange,\n isRowSelectable,\n canSelectAllRows = true,\n selectedRows = [],\n initialSorting\n}: Props<T>) => {\n const tableRef = useRef<HTMLDivElement>(null);\n const [tableWidth, setTableWidth] = useState(1);\n\n const data = loadingInitial ? emptyArray : initialData;\n\n useEffect(() => {\n const updateElementWidth = () => {\n if (tableRef.current) {\n const width = tableRef.current.clientWidth;\n setTableWidth(width);\n }\n };\n\n updateElementWidth();\n\n window.addEventListener(\"resize\", updateElementWidth);\n\n return () => {\n window.removeEventListener(\"resize\", updateElementWidth);\n };\n }, [tableRef.current]);\n\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 const newSelection = typeof updater === \"function\" ? updater(rowSelection) : updater;\n\n /**\n * `@tanstack/react-table` isn't telling us what row was selected or deselected. It simply gives us\n * the new selection state (an object with row indexes that are currently selected).\n *\n * To figure out what row was toggled, we need to calculate the difference between the old selection\n * and the new selection. What we're doing here is:\n * - find all items that were present in the previous selection, but are no longer present in the new selection\n * - find all items that are present in the new selection, but were not present in the previous selection\n */\n const toggledRows = [\n ...Object.keys(rowSelection).filter(x => !(x in newSelection)),\n ...Object.keys(newSelection).filter(x => !(x in rowSelection))\n ];\n\n // If the difference is only 1 item, and `onToggleRow` is available, execute that.\n if (toggledRows.length === 1 && typeof onToggleRow === \"function\") {\n onToggleRow(data[parseInt(toggledRows[0])]);\n return;\n } else if (typeof onSelectRow === \"function\") {\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 columns = defineColumns(initialColumns, {\n canSelectAllRows,\n onSelectRow,\n onToggleRow,\n loadingInitial\n });\n\n const table = useReactTable<T>({\n data,\n columns,\n enableColumnResizing: true,\n columnResizeMode: \"onChange\",\n getCoreRowModel: getCoreRowModel(),\n getSortedRowModel: getSortedRowModel(),\n state: {\n rowSelection,\n sorting: tableSorting,\n columnVisibility\n },\n enableRowSelection: isRowSelectable,\n onRowSelectionChange,\n enableSorting: !!onSortingChange,\n enableSortingRemoval: false,\n manualSorting: true,\n onSortingChange,\n enableHiding: !!onColumnVisibilityChange,\n onColumnVisibilityChange\n });\n\n const getColumnWidth = useCallback(\n (column: DefaultColumn<T>): number => {\n if (!column.getCanResize()) {\n return column.getSize();\n }\n\n const tableSize = table.getTotalSize();\n const columnSize = column.getSize();\n\n return Math.ceil((columnSize * tableWidth) / tableSize);\n },\n [table, tableWidth]\n );\n /**\n * Had to memoize the rows to avoid browser freeze.\n */\n const tableRows = useMemo(() => {\n return table.getRowModel().rows;\n }, [table, data, columns]);\n\n return (\n <div ref={tableRef}>\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((header, index) => {\n const isLastCell = index === headerGroup.headers.length - 1;\n const width = getColumnWidth(header.column);\n\n return (\n <TableHeadCell\n key={header.id}\n {...header.column.columnDef.meta}\n colSpan={header.colSpan}\n style={{ width, maxWidth: width }}\n >\n {header.isPlaceholder ? null : (\n <ColumnHeaderWrapper\n onClick={header.column.getToggleSortingHandler()}\n sortable={header.column.getCanSort()}\n isLastCell={isLastCell}\n >\n {flexRender(\n header.column.columnDef.header,\n header.getContext()\n )}\n <ColumnDirection\n direction={\n header.column.getIsSorted() || undefined\n }\n />\n {isLastCell && (\n <ColumnsVisibility\n columns={table.getAllColumns()}\n />\n )}\n </ColumnHeaderWrapper>\n )}\n {header.column.getCanResize() && (\n <Resizer\n onMouseDown={header.getResizeHandler()}\n onTouchStart={header.getResizeHandler()}\n isResizing={header.column.getIsResizing()}\n />\n )}\n </TableHeadCell>\n );\n })}\n </DataTableRow>\n ))}\n </DataTableHead>\n <DataTableBody>\n {tableRows.map(row => {\n const id = row.original.id || row.id;\n return (\n <MemoTableRow<T>\n key={id}\n cells={row.getVisibleCells()}\n selected={row.getIsSelected()}\n getColumnWidth={getColumnWidth}\n />\n );\n })}\n </DataTableBody>\n </DataTableContent>\n </Table>\n </div>\n );\n};\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_react","_interopRequireWildcard","require","_dataTable","_reactTable","_Checkbox","_Skeleton","_ColumnsVisibility","_styled","defineColumns","columns","options","canSelectAllRows","onSelectRow","onToggleRow","loadingInitial","useMemo","columnsList","Object","keys","map","key","_objectSpread3","default","id","defaults","column","cell","className","_column$enableHiding","enableHiding","_column$enableResizin","enableResizing","_column$enableSorting","enableSorting","header","meta","_column$size","size","accessorKey","info","row","original","getValue","String","isSelectable","select","_ref","table","createElement","Checkbox","indeterminate","getIsSomeRowsSelected","value","getIsAllRowsSelected","onChange","e","toggleAllPageRowsSelected","getCanSelect","Fragment","getIsSomeSelected","getIsSelected","getToggleSelectedHandler","concat","_toConsumableArray2","Skeleton","containerClassName","ColumnDirection","_ref2","direction","ColumnDirectionWrapper","ColumnDirectionIcon","typedMemo","memo","TableCell","_ref3","getColumnWidth","width","DataTableCell","assign","columnDef","style","maxWidth","ColumnCellWrapper","flexRender","getContext","MemoTableCell","TableRow","_ref4","selected","cells","DataTableRow","MemoTableRow","emptyArray","Array","fill","DataTable","exports","_ref5","initialData","data","initialColumns","stickyColumns","stickyRows","bordered","sorting","columnVisibility","onColumnVisibilityChange","onSortingChange","isRowSelectable","_ref5$canSelectAllRow","_ref5$selectedRows","selectedRows","initialSorting","tableRef","useRef","_useState","useState","_useState2","_slicedToArray2","tableWidth","setTableWidth","useEffect","updateElementWidth","current","clientWidth","window","addEventListener","removeEventListener","rowSelection","reduce","acc","item","recordIndex","findIndex","rec","_defineProperty2","onRowSelectionChange","updater","newSelection","toggledRows","filter","x","length","parseInt","selection","tableSorting","isArray","useReactTable","enableColumnResizing","columnResizeMode","getCoreRowModel","getSortedRowModel","state","enableRowSelection","enableSortingRemoval","manualSorting","useCallback","getCanResize","getSize","tableSize","getTotalSize","columnSize","Math","ceil","tableRows","getRowModel","rows","ref","Table","DataTableContent","DataTableHead","getHeaderGroups","headerGroup","headers","index","isLastCell","TableHeadCell","colSpan","isPlaceholder","ColumnHeaderWrapper","onClick","getToggleSortingHandler","sortable","getCanSort","getIsSorted","undefined","ColumnsVisibility","getAllColumns","Resizer","onMouseDown","getResizeHandler","onTouchStart","isResizing","getIsResizing","DataTableBody","getVisibleCells"],"sources":["DataTable.tsx"],"sourcesContent":["import React, {\n memo,\n ReactElement,\n useCallback,\n useEffect,\n useMemo,\n useRef,\n useState\n} from \"react\";\n\nimport {\n DataTableBody,\n DataTableCellProps,\n DataTableContent,\n DataTableHead,\n DataTableRow\n} from \"@rmwc/data-table\";\n\nimport {\n Cell,\n Column as DefaultColumn,\n ColumnDef,\n ColumnSort,\n flexRender,\n getCoreRowModel,\n getSortedRowModel,\n OnChangeFn,\n Row,\n RowSelectionState,\n SortingState,\n useReactTable,\n VisibilityState\n} from \"@tanstack/react-table\";\n\nimport { Checkbox } from \"~/Checkbox\";\nimport { Skeleton } from \"~/Skeleton\";\nimport { ColumnDirectionProps } from \"~/DataTable/ColumnDirection\";\nimport { ColumnsVisibility } from \"~/DataTable/ColumnsVisibility\";\n\nimport \"@rmwc/data-table/data-table.css\";\nimport {\n ColumnCellWrapper,\n ColumnDirectionIcon,\n ColumnDirectionWrapper,\n ColumnHeaderWrapper,\n DataTableCell,\n Resizer,\n Table,\n TableHeadCell\n} from \"./styled\";\n\nexport interface 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 | null;\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 * Enable column visibility toggling.\n */\n enableHiding?: 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 TableRow<T> = Row<DefaultData & T>;\n\nexport type Sorting = SortingState;\n\nexport { ColumnSort };\n\nexport type OnSortingChange = OnChangeFn<Sorting>;\n\nexport type ColumnVisibility = VisibilityState;\n\nexport type OnColumnVisibilityChange = OnChangeFn<ColumnVisibility>;\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 * The column visibility state.\n */\n columnVisibility?: ColumnVisibility;\n /**\n * Callback that receives current column visibility state.\n */\n onColumnVisibilityChange?: OnColumnVisibilityChange;\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 the toggled row.\n */\n onToggleRow?: (row: 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\ninterface DefineColumnsOptions<T> {\n canSelectAllRows: boolean;\n onSelectRow?: Props<T>[\"onSelectRow\"];\n onToggleRow: Props<T>[\"onToggleRow\"];\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, onToggleRow, 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 enableHiding = true,\n enableResizing = true,\n enableSorting = false,\n header,\n id,\n meta,\n size = 100\n } = column;\n\n return {\n id,\n accessorKey: id,\n header: () => header,\n cell: info => {\n if (cell && typeof cell === \"function\") {\n return cell(info.row.original);\n } else {\n // Automatically convert any cell value to a string for rendering,\n // ensuring the table displays values correctly. This aligns with React's\n // rendering, which expects JSX, strings or null.\n // https://github.com/TanStack/table/issues/1042\n return info.getValue() ? String(info.getValue()) : null;\n }\n },\n enableSorting,\n meta: {\n ...meta,\n className\n },\n enableResizing,\n size,\n enableHiding\n };\n });\n\n const isSelectable = onToggleRow || onSelectRow;\n\n const select: ColumnDef<T>[] = isSelectable\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 enableSorting: false,\n enableResizing: false,\n enableHiding: false,\n size: 56\n }\n ]\n : [];\n\n return [...select, ...defaults].map(column => {\n if (loadingInitial) {\n return {\n ...column,\n cell: () => <Skeleton containerClassName=\"table-skeleton-container\" />\n };\n }\n\n return column;\n });\n }, [columns, onSelectRow, onToggleRow, 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 getColumnWidth: (column: DefaultColumn<T>) => number;\n selected: boolean;\n}\n\nconst TableCell = <T,>({ cell, getColumnWidth }: TableCellProps<T>) => {\n const width = getColumnWidth(cell.column);\n\n return (\n <DataTableCell {...cell.column.columnDef.meta} style={{ width, maxWidth: width }}>\n <ColumnCellWrapper>\n {flexRender(cell.column.columnDef.cell, cell.getContext())}\n </ColumnCellWrapper>\n </DataTableCell>\n );\n};\n\nconst MemoTableCell = typedMemo(TableCell);\n\ninterface TableRowProps<T> {\n selected: boolean;\n cells: Cell<T, unknown>[];\n getColumnWidth: (column: DefaultColumn<T>) => number;\n}\n\nconst TableRow = <T,>({ selected, cells, getColumnWidth }: TableRowProps<T>) => {\n return (\n <DataTableRow selected={selected}>\n {cells.map(cell => (\n <MemoTableCell<T>\n key={cell.id}\n cell={cell}\n getColumnWidth={getColumnWidth}\n selected={selected}\n />\n ))}\n </DataTableRow>\n );\n};\n\nconst MemoTableRow = typedMemo(TableRow);\n\n/**\n * Empty array must be defined outside of the React component so it does not force rerendering of the DataTable\n */\nconst emptyArray = Array(10).fill({});\n\nexport const DataTable = <T extends Record<string, any> & DefaultData>({\n data: initialData,\n columns: initialColumns,\n onSelectRow,\n onToggleRow,\n loadingInitial,\n stickyColumns,\n stickyRows,\n bordered,\n sorting,\n columnVisibility,\n onColumnVisibilityChange,\n onSortingChange,\n isRowSelectable,\n canSelectAllRows = true,\n selectedRows = [],\n initialSorting\n}: Props<T>) => {\n const tableRef = useRef<HTMLDivElement>(null);\n const [tableWidth, setTableWidth] = useState(1);\n\n const data = loadingInitial ? emptyArray : initialData;\n\n useEffect(() => {\n const updateElementWidth = () => {\n if (tableRef.current) {\n const width = tableRef.current.clientWidth;\n setTableWidth(width);\n }\n };\n\n updateElementWidth();\n\n window.addEventListener(\"resize\", updateElementWidth);\n\n return () => {\n window.removeEventListener(\"resize\", updateElementWidth);\n };\n }, [tableRef.current]);\n\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 const newSelection = typeof updater === \"function\" ? updater(rowSelection) : updater;\n\n /**\n * `@tanstack/react-table` isn't telling us what row was selected or deselected. It simply gives us\n * the new selection state (an object with row indexes that are currently selected).\n *\n * To figure out what row was toggled, we need to calculate the difference between the old selection\n * and the new selection. What we're doing here is:\n * - find all items that were present in the previous selection, but are no longer present in the new selection\n * - find all items that are present in the new selection, but were not present in the previous selection\n */\n const toggledRows = [\n ...Object.keys(rowSelection).filter(x => !(x in newSelection)),\n ...Object.keys(newSelection).filter(x => !(x in rowSelection))\n ];\n\n // If the difference is only 1 item, and `onToggleRow` is available, execute that.\n if (toggledRows.length === 1 && typeof onToggleRow === \"function\") {\n onToggleRow(data[parseInt(toggledRows[0])]);\n return;\n } else if (typeof onSelectRow === \"function\") {\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 columns = defineColumns(initialColumns, {\n canSelectAllRows,\n onSelectRow,\n onToggleRow,\n loadingInitial\n });\n\n const table = useReactTable<T>({\n data,\n columns,\n enableColumnResizing: true,\n columnResizeMode: \"onChange\",\n getCoreRowModel: getCoreRowModel(),\n getSortedRowModel: getSortedRowModel(),\n state: {\n rowSelection,\n sorting: tableSorting,\n columnVisibility\n },\n enableRowSelection: isRowSelectable,\n onRowSelectionChange,\n enableSorting: !!onSortingChange,\n enableSortingRemoval: false,\n manualSorting: true,\n onSortingChange,\n enableHiding: !!onColumnVisibilityChange,\n onColumnVisibilityChange\n });\n\n const getColumnWidth = useCallback(\n (column: DefaultColumn<T>): number => {\n if (!column.getCanResize()) {\n return column.getSize();\n }\n\n const tableSize = table.getTotalSize();\n const columnSize = column.getSize();\n\n return Math.ceil((columnSize * tableWidth) / tableSize);\n },\n [table, tableWidth]\n );\n /**\n * Had to memoize the rows to avoid browser freeze.\n */\n const tableRows = useMemo(() => {\n return table.getRowModel().rows;\n }, [table, data, columns]);\n\n return (\n <div ref={tableRef}>\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((header, index) => {\n const isLastCell = index === headerGroup.headers.length - 1;\n const width = getColumnWidth(header.column);\n\n return (\n <TableHeadCell\n key={header.id}\n {...header.column.columnDef.meta}\n colSpan={header.colSpan}\n style={{ width, maxWidth: width }}\n >\n {header.isPlaceholder ? null : (\n <ColumnHeaderWrapper\n onClick={header.column.getToggleSortingHandler()}\n sortable={header.column.getCanSort()}\n isLastCell={isLastCell}\n >\n {flexRender(\n header.column.columnDef.header,\n header.getContext()\n )}\n <ColumnDirection\n direction={\n header.column.getIsSorted() || undefined\n }\n />\n {isLastCell && (\n <ColumnsVisibility\n columns={table.getAllColumns()}\n />\n )}\n </ColumnHeaderWrapper>\n )}\n {header.column.getCanResize() && (\n <Resizer\n onMouseDown={header.getResizeHandler()}\n onTouchStart={header.getResizeHandler()}\n isResizing={header.column.getIsResizing()}\n />\n )}\n </TableHeadCell>\n );\n })}\n </DataTableRow>\n ))}\n </DataTableHead>\n <DataTableBody>\n {tableRows.map(row => {\n const id = row.original.id || row.id;\n return (\n <MemoTableRow<T>\n key={id}\n cells={row.getVisibleCells()}\n selected={row.getIsSelected()}\n getColumnWidth={getColumnWidth}\n />\n );\n })}\n </DataTableBody>\n </DataTableContent>\n </Table>\n </div>\n );\n};\n"],"mappings":"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","ignoreList":[]}
package/Dialog/Dialog.js CHANGED
@@ -45,7 +45,7 @@ var Dialog = exports.Dialog = /*#__PURE__*/function (_React$Component) {
45
45
  var container = this.container;
46
46
 
47
47
  // Let's pass "permanent" / "persistent" / "temporary" flags as "mode" prop instead.
48
- return /*#__PURE__*/_reactDom.default.createPortal( /*#__PURE__*/_react.default.createElement(_dialog.Dialog, (0, _Helpers.getClasses)(props, "webiny-ui-dialog"), children), container);
48
+ return /*#__PURE__*/_reactDom.default.createPortal(/*#__PURE__*/_react.default.createElement(_dialog.Dialog, (0, _Helpers.getClasses)(props, "webiny-ui-dialog"), children), container);
49
49
  }
50
50
  }]);
51
51
  }(_react.default.Component);
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireDefault","require","_reactDom","_dialog","_emotion","_Helpers","_templateObject","_excluded","Dialog","exports","_React$Component","props","_this","_classCallCheck2","default","_callSuper2","container","document","getElementById","createElement","setAttribute","body","appendChild","_inherits2","_createClass2","key","value","render","_this$props","children","_objectWithoutProperties2","ReactDOM","createPortal","getClasses","React","Component","DialogTitle","Object","assign","style","marginBottom","DialogContent","addMargin","css","_taggedTemplateLiteral2","DialogActions","DialogButton","DialogCancel","action","DialogAccept"],"sources":["Dialog.tsx"],"sourcesContent":["import React from \"react\";\nimport ReactDOM from \"react-dom\";\nimport {\n Dialog as RmwcDialog,\n DialogActions as RmwcDialogActions,\n DialogActionsProps as RmwcDialogActionsProps,\n DialogButton as RmwcDialogButton,\n DialogButtonProps as RmwcDialogButtonProps,\n DialogContent as RmwcDialogContent,\n DialogContentProps as RmwcDialogContentProps,\n DialogOnCloseEventT,\n DialogProps as RmwcDialogProps,\n DialogTitle as RmwcDialogTitle,\n DialogTitleProps as RmwcDialogTitleProps\n} from \"@rmwc/dialog\";\nimport { css } from \"emotion\";\nimport { getClasses } from \"~/Helpers\";\n\nexport type DialogOnClose = (event: DialogOnCloseEventT) => void;\n\nexport interface DialogProps extends RmwcDialogProps {\n className?: string;\n\n // Component's custom in-line styles.\n style?: React.CSSProperties;\n\n onClose?: (evt: DialogOnCloseEventT) => void;\n\n preventOutsideDismiss?: boolean;\n\n children?: React.ReactNode;\n}\n\nexport class Dialog extends React.Component<DialogProps> {\n container: HTMLElement;\n\n constructor(props: DialogProps) {\n super(props);\n /**\n * We can safely cast\n */\n this.container = document.getElementById(\"dialog-container\") as HTMLElement;\n\n if (!this.container) {\n this.container = document.createElement(\"div\");\n this.container.setAttribute(\"id\", \"dialog-container\");\n const container = this.container;\n document.body && document.body.appendChild(container);\n }\n }\n\n public override render() {\n const { children, ...props } = this.props;\n const container = this.container;\n\n // Let's pass \"permanent\" / \"persistent\" / \"temporary\" flags as \"mode\" prop instead.\n return ReactDOM.createPortal(\n <RmwcDialog {...getClasses(props, \"webiny-ui-dialog\")}>{children}</RmwcDialog>,\n container\n );\n }\n}\n\nexport interface DialogTitleProps extends RmwcDialogTitleProps {\n /**\n * Title text.\n */\n children: React.ReactNode[] | React.ReactNode;\n}\n\n/**\n * Dialog's header, which can accept DialogHeaderTitle component or any other set of components.\n */\nexport const DialogTitle = (props: DialogTitleProps) => (\n <RmwcDialogTitle\n {...getClasses(props, \"webiny-ui-dialog__title\")}\n style={{ marginBottom: \"0\" }}\n />\n);\n\nexport type DialogContentProps = RmwcDialogContentProps & {\n /**\n * Dialog content.\n */\n children: React.ReactNode[] | React.ReactNode;\n\n className?: string;\n};\n\n/**\n * A simple component for showing dialog's body.\n */\nexport const DialogContent = (props: DialogContentProps) => (\n <RmwcDialogContent {...getClasses(props, \"webiny-ui-dialog__content\")} />\n);\n\nexport interface DialogActionsProps extends RmwcDialogActionsProps {\n /**\n * Action buttons.\n */\n children: React.ReactNode[] | React.ReactNode;\n\n // Dialog component's custom in-line styles.\n style?: React.CSSProperties;\n}\n\nconst addMargin = css`\n button:last-of-type {\n margin-left: 8px;\n }\n`;\n\n/**\n * Can be used to show accept and cancel buttons.\n */\nexport const DialogActions = (props: DialogActionsProps) => (\n <RmwcDialogActions {...getClasses(props, [addMargin, \"webiny-ui-dialog__actions\"])} />\n);\n\ninterface DialogButtonProps extends RmwcDialogButtonProps {\n /**\n * Callback to execute then button is clicked.\n */\n onClick?: (e: React.MouseEvent) => void;\n\n className?: string;\n}\n\n/**\n * Use this to show a simple button.\n */\nexport const DialogButton = (props: DialogButtonProps) => (\n <RmwcDialogButton {...getClasses(props, \"webiny-ui-dialog__button\")} />\n);\n\ninterface DialogCancelProps extends RmwcDialogButtonProps {\n /**\n * Callback to execute then button is clicked.\n */\n onClick?: (e: React.MouseEvent) => void;\n}\n\n/**\n * Use this to close the dialog without taking any additional action.\n */\nexport const DialogCancel = (props: DialogCancelProps) => {\n return (\n <DialogButton\n {...getClasses(props, \"webiny-ui-dialog__button webiny-ui-dialog__button--cancel\")}\n action=\"close\"\n data-testid=\"dialog-cancel\"\n >\n {props.children}\n </DialogButton>\n );\n};\n\ninterface DialogAcceptProps extends RmwcDialogButtonProps {\n /**\n * Callback to execute then button is clicked.\n */\n onClick?: (e: React.MouseEvent) => void;\n}\n\n/**\n * Use this to close the dialog without taking any additional action.\n */\nexport const DialogAccept = (props: DialogAcceptProps) => {\n return (\n <DialogButton\n {...getClasses(props, \"webiny-ui-dialog__button webiny-ui-dialog__button--accept\")}\n action=\"accept\"\n data-testid=\"dialog-accept\"\n >\n {props.children}\n </DialogButton>\n );\n};\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_react","_interopRequireDefault","require","_reactDom","_dialog","_emotion","_Helpers","_templateObject","_excluded","Dialog","exports","_React$Component","props","_this","_classCallCheck2","default","_callSuper2","container","document","getElementById","createElement","setAttribute","body","appendChild","_inherits2","_createClass2","key","value","render","_this$props","children","_objectWithoutProperties2","ReactDOM","createPortal","getClasses","React","Component","DialogTitle","Object","assign","style","marginBottom","DialogContent","addMargin","css","_taggedTemplateLiteral2","DialogActions","DialogButton","DialogCancel","action","DialogAccept"],"sources":["Dialog.tsx"],"sourcesContent":["import React from \"react\";\nimport ReactDOM from \"react-dom\";\nimport {\n Dialog as RmwcDialog,\n DialogActions as RmwcDialogActions,\n DialogActionsProps as RmwcDialogActionsProps,\n DialogButton as RmwcDialogButton,\n DialogButtonProps as RmwcDialogButtonProps,\n DialogContent as RmwcDialogContent,\n DialogContentProps as RmwcDialogContentProps,\n DialogOnCloseEventT,\n DialogProps as RmwcDialogProps,\n DialogTitle as RmwcDialogTitle,\n DialogTitleProps as RmwcDialogTitleProps\n} from \"@rmwc/dialog\";\nimport { css } from \"emotion\";\nimport { getClasses } from \"~/Helpers\";\n\nexport type DialogOnClose = (event: DialogOnCloseEventT) => void;\n\nexport interface DialogProps extends RmwcDialogProps {\n className?: string;\n\n // Component's custom in-line styles.\n style?: React.CSSProperties;\n\n onClose?: (evt: DialogOnCloseEventT) => void;\n\n preventOutsideDismiss?: boolean;\n\n children?: React.ReactNode;\n}\n\nexport class Dialog extends React.Component<DialogProps> {\n container: HTMLElement;\n\n constructor(props: DialogProps) {\n super(props);\n /**\n * We can safely cast\n */\n this.container = document.getElementById(\"dialog-container\") as HTMLElement;\n\n if (!this.container) {\n this.container = document.createElement(\"div\");\n this.container.setAttribute(\"id\", \"dialog-container\");\n const container = this.container;\n document.body && document.body.appendChild(container);\n }\n }\n\n public override render() {\n const { children, ...props } = this.props;\n const container = this.container;\n\n // Let's pass \"permanent\" / \"persistent\" / \"temporary\" flags as \"mode\" prop instead.\n return ReactDOM.createPortal(\n <RmwcDialog {...getClasses(props, \"webiny-ui-dialog\")}>{children}</RmwcDialog>,\n container\n );\n }\n}\n\nexport interface DialogTitleProps extends RmwcDialogTitleProps {\n /**\n * Title text.\n */\n children: React.ReactNode[] | React.ReactNode;\n}\n\n/**\n * Dialog's header, which can accept DialogHeaderTitle component or any other set of components.\n */\nexport const DialogTitle = (props: DialogTitleProps) => (\n <RmwcDialogTitle\n {...getClasses(props, \"webiny-ui-dialog__title\")}\n style={{ marginBottom: \"0\" }}\n />\n);\n\nexport type DialogContentProps = RmwcDialogContentProps & {\n /**\n * Dialog content.\n */\n children: React.ReactNode[] | React.ReactNode;\n\n className?: string;\n};\n\n/**\n * A simple component for showing dialog's body.\n */\nexport const DialogContent = (props: DialogContentProps) => (\n <RmwcDialogContent {...getClasses(props, \"webiny-ui-dialog__content\")} />\n);\n\nexport interface DialogActionsProps extends RmwcDialogActionsProps {\n /**\n * Action buttons.\n */\n children: React.ReactNode[] | React.ReactNode;\n\n // Dialog component's custom in-line styles.\n style?: React.CSSProperties;\n}\n\nconst addMargin = css`\n button:last-of-type {\n margin-left: 8px;\n }\n`;\n\n/**\n * Can be used to show accept and cancel buttons.\n */\nexport const DialogActions = (props: DialogActionsProps) => (\n <RmwcDialogActions {...getClasses(props, [addMargin, \"webiny-ui-dialog__actions\"])} />\n);\n\ninterface DialogButtonProps extends RmwcDialogButtonProps {\n /**\n * Callback to execute then button is clicked.\n */\n onClick?: (e: React.MouseEvent) => void;\n\n className?: string;\n}\n\n/**\n * Use this to show a simple button.\n */\nexport const DialogButton = (props: DialogButtonProps) => (\n <RmwcDialogButton {...getClasses(props, \"webiny-ui-dialog__button\")} />\n);\n\ninterface DialogCancelProps extends RmwcDialogButtonProps {\n /**\n * Callback to execute then button is clicked.\n */\n onClick?: (e: React.MouseEvent) => void;\n}\n\n/**\n * Use this to close the dialog without taking any additional action.\n */\nexport const DialogCancel = (props: DialogCancelProps) => {\n return (\n <DialogButton\n {...getClasses(props, \"webiny-ui-dialog__button webiny-ui-dialog__button--cancel\")}\n action=\"close\"\n data-testid=\"dialog-cancel\"\n >\n {props.children}\n </DialogButton>\n );\n};\n\ninterface DialogAcceptProps extends RmwcDialogButtonProps {\n /**\n * Callback to execute then button is clicked.\n */\n onClick?: (e: React.MouseEvent) => void;\n}\n\n/**\n * Use this to close the dialog without taking any additional action.\n */\nexport const DialogAccept = (props: DialogAcceptProps) => {\n return (\n <DialogButton\n {...getClasses(props, \"webiny-ui-dialog__button webiny-ui-dialog__button--accept\")}\n action=\"accept\"\n data-testid=\"dialog-accept\"\n >\n {props.children}\n </DialogButton>\n );\n};\n"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireWildcard","require","_drawer","_excluded","_EMOTION_STRINGIFIED_CSS_ERROR__","DrawerHeader","exports","props","default","createElement","DrawerContent","DirectionRTL","_base","process","env","NODE_ENV","target","label","name","styles","map","toString","Drawer","_ref","style","children","_objectWithoutProperties2","useMemo","RmwcDrawer","DrawerRight","DrawerLeft"],"sources":["Drawer.tsx"],"sourcesContent":["import React, { useMemo } from \"react\";\nimport { CSSObject } from \"@emotion/react\";\nimport styled from \"@emotion/styled\";\nimport {\n Drawer as RmwcDrawer,\n DrawerContent as RmwcDrawerContent,\n DrawerHeader as RmwcDrawerHeader,\n DrawerProps as RmwcDrawerProps,\n DrawerHeaderProps as RmwcDrawerHeaderProps,\n DrawerContentProps as RmwcDrawerContentProps\n} from \"@rmwc/drawer\";\n\ntype DrawerHeaderProps = RmwcDrawerHeaderProps & {\n /**\n * Drawer content.\n */\n children: React.ReactNode;\n\n /**\n * CSS class name\n */\n className?: string;\n};\n\n/**\n * Shows header of the drawer.\n */\nconst DrawerHeader = (props: DrawerHeaderProps) => <RmwcDrawerHeader {...props} />;\n\nexport type DrawerContentProps = RmwcDrawerContentProps & {\n /**\n * Drawer content.\n */\n children: React.ReactNode;\n\n /**\n * CSS class name\n */\n className?: string;\n};\n\n/**\n * Shows drawer content. It can be anything, but commonly a List component would suffice here.\n */\nconst DrawerContent = (props: DrawerContentProps) => <RmwcDrawerContent {...props} />;\n\ntype DrawerProps = RmwcDrawerProps & {\n /**\n * Drawer content.\n */\n children: React.ReactNode;\n\n /**\n * CSS class name\n */\n className?: string;\n\n style?: CSSObject;\n};\n\nconst DirectionRTL = styled.div`\n .mdc-drawer.mdc-drawer--modal,\n .mdc-drawer.mdc-drawer--dismissable {\n left: initial;\n right: 0;\n }\n\n .mdc-drawer--animate {\n -webkit-transform: translateX(100%);\n transform: translateX(100%);\n }\n\n .mdc-drawer.mdc-drawer--opening {\n -webkit-transform: translateX(0%) !important;\n transform: translateX(0%) !important;\n }\n\n .mdc-drawer.mdc-drawer--closing {\n -webkit-transform: translateX(100%) !important;\n transform: translateX(100%) !important;\n }\n`;\n\n/**\n * Use Drawer component to display navigation for the whole app or just a small section of it.\n */\nconst Drawer = ({ style, children, ...props }: DrawerProps) => {\n // Style the drawer using the styles that were passed in.\n const Drawer = useMemo(() => (style ? styled(RmwcDrawer)(style) : RmwcDrawer), [style]);\n\n return <Drawer {...props}>{children}</Drawer>;\n};\n\nconst DrawerRight = (props: DrawerProps) => {\n return (\n <DirectionRTL>\n <Drawer {...props} />\n </DirectionRTL>\n );\n};\n\nconst DrawerLeft = (props: DrawerProps) => {\n return <Drawer {...props} />;\n};\n\nexport { Drawer, DrawerHeader, DrawerContent, DrawerRight, DrawerLeft };\n"],"mappings":";;;;;;;;;;AAAA,IAAAA,MAAA,GAAAC,uBAAA,CAAAC,OAAA;AAGA,IAAAC,OAAA,GAAAD,OAAA;AAOsB,IAAAE,SAAA;AAAA,SAAAC,iCAAA;AActB;AACA;AACA;AACA,IAAMC,YAAY,GAAAC,OAAA,CAAAD,YAAA,GAAG,SAAfA,YAAYA,CAAIE,KAAwB;EAAA,oBAAKR,MAAA,CAAAS,OAAA,CAAAC,aAAA,CAACP,OAAA,CAAAG,YAAgB,EAAKE,KAAQ,CAAC;AAAA;AAclF;AACA;AACA;AACA,IAAMG,aAAa,GAAAJ,OAAA,CAAAI,aAAA,GAAG,SAAhBA,aAAaA,CAAIH,KAAyB;EAAA,oBAAKR,MAAA,CAAAS,OAAA,CAAAC,aAAA,CAACP,OAAA,CAAAQ,aAAiB,EAAKH,KAAQ,CAAC;AAAA;AAgBrF,IAAMI,YAAY,oBAAAC,KAAA,CAAAJ,OAAA,SAAAK,OAAA,CAAAC,GAAA,CAAAC,QAAA;EAAAC,MAAA;AAAA;EAAAA,MAAA;EAAAC,KAAA;AAAA,GAAAJ,OAAA,CAAAC,GAAA,CAAAC,QAAA;EAAAG,IAAA;EAAAC,MAAA;AAAA;EAAAD,IAAA;EAAAC,MAAA;EAAAC,GAAA;EAAAC,QAAA,EAAAjB;AAAA,EAqBjB;;AAED;AACA;AACA;AACA,IAAMkB,MAAM,GAAAhB,OAAA,CAAAgB,MAAA,GAAG,SAAAA,OAAAC,IAAA,EAAgD;EAAA,IAA7CC,KAAK,GAAAD,IAAA,CAALC,KAAK;IAAEC,QAAQ,GAAAF,IAAA,CAARE,QAAQ;IAAKlB,KAAK,OAAAmB,yBAAA,CAAAlB,OAAA,EAAAe,IAAA,EAAApB,SAAA;EACvC;EACA,IAAMmB,MAAM,GAAG,IAAAK,cAAO,EAAC;IAAA,OAAOH,KAAK,gBAAG,IAAAZ,KAAA,CAAAJ,OAAA,EAAOoB,cAAU,EAAAf,OAAA,CAAAC,GAAA,CAAAC,QAAA;MAAAC,MAAA;IAAA;MAAAA,MAAA;MAAAC,KAAA;IAAA,EAAC,CAACO,KAAK,EAAAX,OAAA,CAAAC,GAAA,CAAAC,QAAA,mtHAAC,GAAGa,cAAU;EAAA,CAAC,EAAE,CAACJ,KAAK,CAAC,CAAC;EAEvF,oBAAOzB,MAAA,CAAAS,OAAA,CAAAC,aAAA,CAACa,MAAM,EAAKf,KAAK,EAAGkB,QAAiB,CAAC;AACjD,CAAC;AAED,IAAMI,WAAW,GAAAvB,OAAA,CAAAuB,WAAA,GAAG,SAAdA,WAAWA,CAAItB,KAAkB,EAAK;EACxC,oBACIR,MAAA,CAAAS,OAAA,CAAAC,aAAA,CAACE,YAAY,qBACTZ,MAAA,CAAAS,OAAA,CAAAC,aAAA,CAACa,MAAM,EAAKf,KAAQ,CACV,CAAC;AAEvB,CAAC;AAED,IAAMuB,UAAU,GAAAxB,OAAA,CAAAwB,UAAA,GAAG,SAAbA,UAAUA,CAAIvB,KAAkB,EAAK;EACvC,oBAAOR,MAAA,CAAAS,OAAA,CAAAC,aAAA,CAACa,MAAM,EAAKf,KAAQ,CAAC;AAChC,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["_react","_interopRequireWildcard","require","_drawer","_excluded","_EMOTION_STRINGIFIED_CSS_ERROR__","DrawerHeader","exports","props","default","createElement","DrawerContent","DirectionRTL","_base","process","env","NODE_ENV","target","label","name","styles","map","toString","Drawer","_ref","style","children","_objectWithoutProperties2","useMemo","RmwcDrawer","DrawerRight","DrawerLeft"],"sources":["Drawer.tsx"],"sourcesContent":["import React, { useMemo } from \"react\";\nimport { CSSObject } from \"@emotion/react\";\nimport styled from \"@emotion/styled\";\nimport {\n Drawer as RmwcDrawer,\n DrawerContent as RmwcDrawerContent,\n DrawerHeader as RmwcDrawerHeader,\n DrawerProps as RmwcDrawerProps,\n DrawerHeaderProps as RmwcDrawerHeaderProps,\n DrawerContentProps as RmwcDrawerContentProps\n} from \"@rmwc/drawer\";\n\ntype DrawerHeaderProps = RmwcDrawerHeaderProps & {\n /**\n * Drawer content.\n */\n children: React.ReactNode;\n\n /**\n * CSS class name\n */\n className?: string;\n};\n\n/**\n * Shows header of the drawer.\n */\nconst DrawerHeader = (props: DrawerHeaderProps) => <RmwcDrawerHeader {...props} />;\n\nexport type DrawerContentProps = RmwcDrawerContentProps & {\n /**\n * Drawer content.\n */\n children: React.ReactNode;\n\n /**\n * CSS class name\n */\n className?: string;\n};\n\n/**\n * Shows drawer content. It can be anything, but commonly a List component would suffice here.\n */\nconst DrawerContent = (props: DrawerContentProps) => <RmwcDrawerContent {...props} />;\n\ntype DrawerProps = RmwcDrawerProps & {\n /**\n * Drawer content.\n */\n children: React.ReactNode;\n\n /**\n * CSS class name\n */\n className?: string;\n\n style?: CSSObject;\n};\n\nconst DirectionRTL = styled.div`\n .mdc-drawer.mdc-drawer--modal,\n .mdc-drawer.mdc-drawer--dismissable {\n left: initial;\n right: 0;\n }\n\n .mdc-drawer--animate {\n -webkit-transform: translateX(100%);\n transform: translateX(100%);\n }\n\n .mdc-drawer.mdc-drawer--opening {\n -webkit-transform: translateX(0%) !important;\n transform: translateX(0%) !important;\n }\n\n .mdc-drawer.mdc-drawer--closing {\n -webkit-transform: translateX(100%) !important;\n transform: translateX(100%) !important;\n }\n`;\n\n/**\n * Use Drawer component to display navigation for the whole app or just a small section of it.\n */\nconst Drawer = ({ style, children, ...props }: DrawerProps) => {\n // Style the drawer using the styles that were passed in.\n const Drawer = useMemo(() => (style ? styled(RmwcDrawer)(style) : RmwcDrawer), [style]);\n\n return <Drawer {...props}>{children}</Drawer>;\n};\n\nconst DrawerRight = (props: DrawerProps) => {\n return (\n <DirectionRTL>\n <Drawer {...props} />\n </DirectionRTL>\n );\n};\n\nconst DrawerLeft = (props: DrawerProps) => {\n return <Drawer {...props} />;\n};\n\nexport { Drawer, DrawerHeader, DrawerContent, DrawerRight, DrawerLeft };\n"],"mappings":";;;;;;;;;;AAAA,IAAAA,MAAA,GAAAC,uBAAA,CAAAC,OAAA;AAGA,IAAAC,OAAA,GAAAD,OAAA;AAOsB,IAAAE,SAAA;AAAA,SAAAC,iCAAA;AActB;AACA;AACA;AACA,IAAMC,YAAY,GAAAC,OAAA,CAAAD,YAAA,GAAG,SAAfA,YAAYA,CAAIE,KAAwB;EAAA,oBAAKR,MAAA,CAAAS,OAAA,CAAAC,aAAA,CAACP,OAAA,CAAAG,YAAgB,EAAKE,KAAQ,CAAC;AAAA;AAclF;AACA;AACA;AACA,IAAMG,aAAa,GAAAJ,OAAA,CAAAI,aAAA,GAAG,SAAhBA,aAAaA,CAAIH,KAAyB;EAAA,oBAAKR,MAAA,CAAAS,OAAA,CAAAC,aAAA,CAACP,OAAA,CAAAQ,aAAiB,EAAKH,KAAQ,CAAC;AAAA;AAgBrF,IAAMI,YAAY,oBAAAC,KAAA,CAAAJ,OAAA,SAAAK,OAAA,CAAAC,GAAA,CAAAC,QAAA;EAAAC,MAAA;AAAA;EAAAA,MAAA;EAAAC,KAAA;AAAA,GAAAJ,OAAA,CAAAC,GAAA,CAAAC,QAAA;EAAAG,IAAA;EAAAC,MAAA;AAAA;EAAAD,IAAA;EAAAC,MAAA;EAAAC,GAAA;EAAAC,QAAA,EAAAjB;AAAA,EAqBjB;;AAED;AACA;AACA;AACA,IAAMkB,MAAM,GAAAhB,OAAA,CAAAgB,MAAA,GAAG,SAATA,MAAMA,CAAAC,IAAA,EAAmD;EAAA,IAA7CC,KAAK,GAAAD,IAAA,CAALC,KAAK;IAAEC,QAAQ,GAAAF,IAAA,CAARE,QAAQ;IAAKlB,KAAK,OAAAmB,yBAAA,CAAAlB,OAAA,EAAAe,IAAA,EAAApB,SAAA;EACvC;EACA,IAAMmB,MAAM,GAAG,IAAAK,cAAO,EAAC;IAAA,OAAOH,KAAK,gBAAG,IAAAZ,KAAA,CAAAJ,OAAA,EAAOoB,cAAU,EAAAf,OAAA,CAAAC,GAAA,CAAAC,QAAA;MAAAC,MAAA;IAAA;MAAAA,MAAA;MAAAC,KAAA;IAAA,EAAC,CAACO,KAAK,EAAAX,OAAA,CAAAC,GAAA,CAAAC,QAAA,mtHAAC,GAAGa,cAAU;EAAA,CAAC,EAAE,CAACJ,KAAK,CAAC,CAAC;EAEvF,oBAAOzB,MAAA,CAAAS,OAAA,CAAAC,aAAA,CAACa,MAAM,EAAKf,KAAK,EAAGkB,QAAiB,CAAC;AACjD,CAAC;AAED,IAAMI,WAAW,GAAAvB,OAAA,CAAAuB,WAAA,GAAG,SAAdA,WAAWA,CAAItB,KAAkB,EAAK;EACxC,oBACIR,MAAA,CAAAS,OAAA,CAAAC,aAAA,CAACE,YAAY,qBACTZ,MAAA,CAAAS,OAAA,CAAAC,aAAA,CAACa,MAAM,EAAKf,KAAQ,CACV,CAAC;AAEvB,CAAC;AAED,IAAMuB,UAAU,GAAAxB,OAAA,CAAAwB,UAAA,GAAG,SAAbA,UAAUA,CAAIvB,KAAkB,EAAK;EACvC,oBAAOR,MAAA,CAAAS,OAAA,CAAAC,aAAA,CAACa,MAAM,EAAKf,KAAQ,CAAC;AAChC,CAAC","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireDefault","require","_dotPropImmutable","_FormElementMessage","_EMOTION_STRINGIFIED_CSS_ERROR__","DynamicFieldsetRow","_base","default","process","env","NODE_ENV","target","label","name","styles","map","toString","Fieldset","_React$Component","_this","_classCallCheck2","_len","arguments","length","args","Array","_key","_callSuper2","concat","_defineProperty2","add","index","undefined","addData","remove","removeData","_this$props","props","value","onChange","dotProp","delete","_toConsumableArray2","slice","cb","header","rows","record","createElement","key","data","empty","_inherits2","_createClass2","renderComponent","children","actions","renderHeader","row","renderRow","renderEmpty","Fragment","render","_this$props2","description","_this$props2$validati","validation","isValid","FormElementMessage","error","message","React","Component","_default","exports"],"sources":["Fieldset.tsx"],"sourcesContent":["import React from \"react\";\nimport dotProp from \"dot-prop-immutable\";\nimport { FormElementMessage } from \"~/FormElementMessage\";\nimport styled from \"@emotion/styled\";\n\ninterface ChildrenRenderPropRowCallableParams {\n index: number;\n data: any;\n}\ninterface ChildrenRenderPropRowCallable {\n (params: ChildrenRenderPropRowCallableParams): React.ReactNode;\n}\n\ninterface ChildrenRenderPropHeaderCallable {\n (): React.ReactNode;\n}\ninterface ChildrenRenderPropEmptyCallable {\n (): React.ReactNode;\n}\ninterface ChildrenRenderProp {\n actions: {\n add: (index?: number) => () => void;\n remove: (index: number) => () => void;\n };\n header: (cb: ChildrenRenderPropHeaderCallable) => React.ReactNode;\n row: (cb: ChildrenRenderPropRowCallable) => React.ReactNode;\n empty: (cb: ChildrenRenderPropEmptyCallable) => React.ReactNode;\n}\n\ninterface FieldsetProps {\n value?: any[];\n description?: string;\n validation?: { isValid: null | boolean; message?: string };\n onChange: (value: any) => void;\n children: (props: ChildrenRenderProp) => React.ReactNode;\n}\n\nconst DynamicFieldsetRow = styled(\"div\")({\n paddingBottom: 10,\n \"> .mdc-layout-grid\": {\n padding: 0,\n \"> .mdc-layout-grid__inner\": {\n display: \"block\"\n }\n }\n});\n\nclass Fieldset extends React.Component<FieldsetProps> {\n static defaultProps: Partial<FieldsetProps> = {\n value: []\n };\n\n header: React.ReactNode = null;\n rows: React.ReactNode = null;\n empty: React.ReactNode = null;\n\n actions = {\n add:\n (index = -1) =>\n () =>\n this.addData(index),\n remove:\n (index = -1) =>\n () =>\n this.removeData(index)\n };\n\n removeData = (index: number) => {\n const { value, onChange } = this.props;\n onChange(dotProp.delete(value, index));\n };\n\n addData = (index = -1) => {\n const { onChange } = this.props;\n let value = this.props.value;\n if (!value) {\n value = [];\n }\n if (index < 0) {\n onChange([...value, {}]);\n } else {\n onChange([...value.slice(0, index + 1), {}, ...value.slice(index + 1)]);\n }\n };\n\n renderHeader = (cb: () => React.ReactNode): React.ReactNode => {\n this.header = cb();\n return null;\n };\n\n renderRow = (cb: ChildrenRenderPropRowCallable): React.ReactNode => {\n const { value } = this.props;\n if (!value) {\n return null;\n }\n this.rows = value.map((record, index) => {\n return (\n <DynamicFieldsetRow key={index}>{cb({ data: record, index })}</DynamicFieldsetRow>\n );\n });\n return null;\n };\n\n renderEmpty = (cb: () => React.ReactNode): React.ReactNode => {\n this.empty = cb();\n return null;\n };\n\n public renderComponent(): React.ReactNode {\n const { value } = this.props;\n const { children } = this.props;\n\n children({\n actions: this.actions,\n header: this.renderHeader,\n row: this.renderRow,\n empty: this.renderEmpty\n });\n\n if (!value || value.length === 0) {\n return this.empty;\n }\n\n return (\n <React.Fragment>\n {this.header}\n {this.rows}\n </React.Fragment>\n );\n }\n\n public override render() {\n const { description, validation = { isValid: null } } = this.props;\n\n return (\n <>\n {this.renderComponent()}\n {validation.isValid === false && (\n <FormElementMessage error>{validation.message}</FormElementMessage>\n )}\n\n {validation.isValid !== false && description && (\n <FormElementMessage>{description}</FormElementMessage>\n )}\n </>\n );\n }\n}\n\nexport default Fieldset;\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_react","_interopRequireDefault","require","_dotPropImmutable","_FormElementMessage","_EMOTION_STRINGIFIED_CSS_ERROR__","DynamicFieldsetRow","_base","default","process","env","NODE_ENV","target","label","name","styles","map","toString","Fieldset","_React$Component","_this","_classCallCheck2","_len","arguments","length","args","Array","_key","_callSuper2","concat","_defineProperty2","add","index","undefined","addData","remove","removeData","_this$props","props","value","onChange","dotProp","delete","_toConsumableArray2","slice","cb","header","rows","record","createElement","key","data","empty","_inherits2","_createClass2","renderComponent","children","actions","renderHeader","row","renderRow","renderEmpty","Fragment","render","_this$props2","description","_this$props2$validati","validation","isValid","FormElementMessage","error","message","React","Component","_default","exports"],"sources":["Fieldset.tsx"],"sourcesContent":["import React from \"react\";\nimport dotProp from \"dot-prop-immutable\";\nimport { FormElementMessage } from \"~/FormElementMessage\";\nimport styled from \"@emotion/styled\";\n\ninterface ChildrenRenderPropRowCallableParams {\n index: number;\n data: any;\n}\ninterface ChildrenRenderPropRowCallable {\n (params: ChildrenRenderPropRowCallableParams): React.ReactNode;\n}\n\ninterface ChildrenRenderPropHeaderCallable {\n (): React.ReactNode;\n}\ninterface ChildrenRenderPropEmptyCallable {\n (): React.ReactNode;\n}\ninterface ChildrenRenderProp {\n actions: {\n add: (index?: number) => () => void;\n remove: (index: number) => () => void;\n };\n header: (cb: ChildrenRenderPropHeaderCallable) => React.ReactNode;\n row: (cb: ChildrenRenderPropRowCallable) => React.ReactNode;\n empty: (cb: ChildrenRenderPropEmptyCallable) => React.ReactNode;\n}\n\ninterface FieldsetProps {\n value?: any[];\n description?: string;\n validation?: { isValid: null | boolean; message?: string };\n onChange: (value: any) => void;\n children: (props: ChildrenRenderProp) => React.ReactNode;\n}\n\nconst DynamicFieldsetRow = styled(\"div\")({\n paddingBottom: 10,\n \"> .mdc-layout-grid\": {\n padding: 0,\n \"> .mdc-layout-grid__inner\": {\n display: \"block\"\n }\n }\n});\n\nclass Fieldset extends React.Component<FieldsetProps> {\n static defaultProps: Partial<FieldsetProps> = {\n value: []\n };\n\n header: React.ReactNode = null;\n rows: React.ReactNode = null;\n empty: React.ReactNode = null;\n\n actions = {\n add:\n (index = -1) =>\n () =>\n this.addData(index),\n remove:\n (index = -1) =>\n () =>\n this.removeData(index)\n };\n\n removeData = (index: number) => {\n const { value, onChange } = this.props;\n onChange(dotProp.delete(value, index));\n };\n\n addData = (index = -1) => {\n const { onChange } = this.props;\n let value = this.props.value;\n if (!value) {\n value = [];\n }\n if (index < 0) {\n onChange([...value, {}]);\n } else {\n onChange([...value.slice(0, index + 1), {}, ...value.slice(index + 1)]);\n }\n };\n\n renderHeader = (cb: () => React.ReactNode): React.ReactNode => {\n this.header = cb();\n return null;\n };\n\n renderRow = (cb: ChildrenRenderPropRowCallable): React.ReactNode => {\n const { value } = this.props;\n if (!value) {\n return null;\n }\n this.rows = value.map((record, index) => {\n return (\n <DynamicFieldsetRow key={index}>{cb({ data: record, index })}</DynamicFieldsetRow>\n );\n });\n return null;\n };\n\n renderEmpty = (cb: () => React.ReactNode): React.ReactNode => {\n this.empty = cb();\n return null;\n };\n\n public renderComponent(): React.ReactNode {\n const { value } = this.props;\n const { children } = this.props;\n\n children({\n actions: this.actions,\n header: this.renderHeader,\n row: this.renderRow,\n empty: this.renderEmpty\n });\n\n if (!value || value.length === 0) {\n return this.empty;\n }\n\n return (\n <React.Fragment>\n {this.header}\n {this.rows}\n </React.Fragment>\n );\n }\n\n public override render() {\n const { description, validation = { isValid: null } } = this.props;\n\n return (\n <>\n {this.renderComponent()}\n {validation.isValid === false && (\n <FormElementMessage error>{validation.message}</FormElementMessage>\n )}\n\n {validation.isValid !== false && description && (\n <FormElementMessage>{description}</FormElementMessage>\n )}\n </>\n );\n }\n}\n\nexport default Fieldset;\n"],"mappings":"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","ignoreList":[]}