@webiny/ui 5.41.4 → 5.42.0-beta.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (54) hide show
  1. package/Accordion/AccordionItemActions.js.map +1 -1
  2. package/AutoComplete/AutoComplete.js.map +1 -1
  3. package/AutoComplete/MultiAutoComplete.js +1 -0
  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
package/Menu/Menu.js CHANGED
@@ -1,17 +1,15 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4
+ var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
4
5
  Object.defineProperty(exports, "__esModule", {
5
6
  value: true
6
7
  });
7
8
  exports.MenuItem = exports.MenuDivider = exports.Menu = void 0;
8
- var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
9
- var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
10
- var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
11
- var _callSuper2 = _interopRequireDefault(require("@babel/runtime/helpers/callSuper"));
12
- var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
13
9
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
14
- var _react = _interopRequireDefault(require("react"));
10
+ var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
11
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
12
+ var _react = _interopRequireWildcard(require("react"));
15
13
  var _menu = require("@rmwc/menu");
16
14
  var _emotion = require("emotion");
17
15
  var _classnames = _interopRequireDefault(require("classnames"));
@@ -25,79 +23,74 @@ var style = {
25
23
  /**
26
24
  * Use Menu component to display a list of choices, once the handler is triggered.
27
25
  */
28
- var Menu = exports.Menu = /*#__PURE__*/function (_React$Component) {
29
- function Menu() {
30
- var _this;
31
- (0, _classCallCheck2.default)(this, Menu);
32
- for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
33
- args[_key] = arguments[_key];
26
+ var Menu = exports.Menu = function Menu(props) {
27
+ var children = props.children,
28
+ handle = props.handle,
29
+ _props$anchor = props.anchor,
30
+ anchor = _props$anchor === void 0 ? "topStart" : _props$anchor,
31
+ className = props.className,
32
+ disabled = props.disabled,
33
+ onOpen = props.onOpen,
34
+ onClose = props.onClose,
35
+ onSelect = props.onSelect,
36
+ open = props.open,
37
+ render = props.render,
38
+ renderToPortal = props.renderToPortal,
39
+ _props$portalZIndex = props.portalZIndex,
40
+ portalZIndex = _props$portalZIndex === void 0 ? 99 : _props$portalZIndex;
41
+ var _useState = (0, _react.useState)(false),
42
+ _useState2 = (0, _slicedToArray2.default)(_useState, 2),
43
+ menuIsOpen = _useState2[0],
44
+ setMenuIsOpen = _useState2[1];
45
+ (0, _react.useEffect)(function () {
46
+ if (typeof open === "boolean") {
47
+ setMenuIsOpen(open);
34
48
  }
35
- _this = (0, _callSuper2.default)(this, Menu, [].concat(args));
36
- (0, _defineProperty2.default)(_this, "state", {
37
- menuIsOpen: false
38
- });
39
- (0, _defineProperty2.default)(_this, "openMenu", function () {
40
- if (_this.props.disabled !== true) {
41
- _this.setState({
42
- menuIsOpen: true
43
- }, function () {
44
- return _this.props.onOpen && _this.props.onOpen();
45
- });
46
- }
47
- });
48
- (0, _defineProperty2.default)(_this, "closeMenu", function () {
49
- _this.setState({
50
- menuIsOpen: false
51
- }, function () {
52
- return _this.props.onClose && _this.props.onClose();
53
- });
54
- });
55
- (0, _defineProperty2.default)(_this, "renderMenuWithPortal", function () {
56
- return /*#__PURE__*/_react.default.createElement(_menu.Menu, {
57
- anchorCorner: _this.props.anchor,
58
- open: _this.state.menuIsOpen,
59
- className: _this.props.className,
60
- onClose: _this.closeMenu,
61
- onSelect: _this.props.onSelect,
62
- renderToPortal: true,
63
- style: {
64
- zIndex: 101
65
- } // Fixes Menu in Drawers
66
- }, _this.props.children);
67
- });
68
- (0, _defineProperty2.default)(_this, "renderCustomContent", function () {
69
- var _this$props = _this.props,
70
- children = _this$props.children,
71
- render = _this$props.render;
72
- var renderer = render || children;
73
- return /*#__PURE__*/_react.default.createElement(_menu.MenuSurface, {
74
- open: _this.state.menuIsOpen,
75
- onClose: _this.closeMenu,
76
- renderToPortal: _this.props.renderToPortal
77
- }, typeof renderer === "function" ? renderer({
78
- closeMenu: _this.closeMenu
79
- }) : renderer);
80
- });
81
- (0, _defineProperty2.default)(_this, "renderMenuContent", function () {
82
- return Array.isArray(_this.props.children) ? _this.renderMenuWithPortal() : _this.renderCustomContent();
83
- });
84
- return _this;
85
- }
86
- (0, _inherits2.default)(Menu, _React$Component);
87
- return (0, _createClass2.default)(Menu, [{
88
- key: "render",
89
- value: function render() {
90
- return /*#__PURE__*/_react.default.createElement(_menu.MenuSurfaceAnchor, {
91
- "data-testid": this.props["data-testid"]
92
- }, this.renderMenuContent(), this.props.handle && /*#__PURE__*/_react.default.cloneElement(this.props.handle, {
93
- onClick: this.openMenu
94
- }));
49
+ }, [open]);
50
+ var openMenu = (0, _react.useCallback)(function () {
51
+ if (disabled) {
52
+ return;
95
53
  }
96
- }]);
97
- }(_react.default.Component);
98
- (0, _defineProperty2.default)(Menu, "defaultProps", {
99
- anchor: "topStart"
100
- });
54
+ setMenuIsOpen(true);
55
+ if (onOpen) {
56
+ onOpen();
57
+ }
58
+ }, [disabled, onOpen]);
59
+ var closeMenu = (0, _react.useCallback)(function () {
60
+ setMenuIsOpen(false);
61
+ if (onClose) {
62
+ onClose();
63
+ }
64
+ }, [onClose]);
65
+ var renderMenuWithPortal = function renderMenuWithPortal() {
66
+ return /*#__PURE__*/_react.default.createElement(_menu.Menu, {
67
+ anchorCorner: anchor,
68
+ open: menuIsOpen,
69
+ className: className,
70
+ onClose: closeMenu,
71
+ onSelect: onSelect,
72
+ renderToPortal: true,
73
+ style: {
74
+ zIndex: portalZIndex
75
+ } // Fixes Menu in Drawers
76
+ }, /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, children));
77
+ };
78
+ var renderCustomContent = function renderCustomContent() {
79
+ var renderer = render || children;
80
+ return /*#__PURE__*/_react.default.createElement(_menu.MenuSurface, {
81
+ open: menuIsOpen,
82
+ onClose: closeMenu,
83
+ renderToPortal: renderToPortal
84
+ }, typeof renderer === "function" ? renderer({
85
+ closeMenu: closeMenu
86
+ }) : renderer);
87
+ };
88
+ return /*#__PURE__*/_react.default.createElement(_menu.MenuSurfaceAnchor, {
89
+ "data-testid": props["data-testid"]
90
+ }, Array.isArray(children) ? renderMenuWithPortal() : renderCustomContent(), handle && /*#__PURE__*/_react.default.cloneElement(handle, {
91
+ onClick: openMenu
92
+ }));
93
+ };
101
94
  var MenuDivider = exports.MenuDivider = function MenuDivider() {
102
95
  return /*#__PURE__*/_react.default.createElement("li", {
103
96
  className: "mdc-list-divider",
package/Menu/Menu.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireDefault","require","_menu","_emotion","_classnames","_excluded","style","disabledMenuItem","css","opacity","pointerEvents","Menu","exports","_React$Component","_this","_classCallCheck2","default","_len","arguments","length","args","Array","_key","_callSuper2","concat","_defineProperty2","menuIsOpen","props","disabled","setState","onOpen","onClose","createElement","anchorCorner","anchor","open","state","className","closeMenu","onSelect","renderToPortal","zIndex","children","_this$props","render","renderer","MenuSurface","isArray","renderMenuWithPortal","renderCustomContent","_inherits2","_createClass2","key","value","MenuSurfaceAnchor","renderMenuContent","handle","React","cloneElement","onClick","openMenu","Component","MenuDivider","role","MenuItem","_ref","rest","_objectWithoutProperties2","Object","assign","classNames"],"sources":["Menu.tsx"],"sourcesContent":["import React from \"react\";\nimport {\n Menu as BaseMenu,\n MenuItem as BaseMenuItem,\n MenuItemProps as BaseMenuItemProps,\n MenuProps as RmwcMenuProps,\n MenuSurface,\n MenuSurfaceAnchor\n} from \"@rmwc/menu\";\nimport { css } from \"emotion\";\nimport classNames from \"classnames\";\n\nconst style = {\n disabledMenuItem: css({\n opacity: 0.5,\n pointerEvents: \"none\"\n })\n};\n\nexport type MenuChildrenFunctionProps = {\n closeMenu: () => void;\n};\n\nexport interface RenderableMenuChildren {\n (props: MenuChildrenFunctionProps): React.ReactElement;\n}\nexport type MenuProps = RmwcMenuProps & {\n // One or more MenuItem components.\n children: React.ReactNode | RenderableMenuChildren;\n\n // Custom render function for MenuItem content, prioritized over 'children'.\n render?: (props: MenuChildrenFunctionProps) => React.ReactNode;\n\n // A handler which triggers the menu, eg. button or link.\n handle?: React.ReactElement;\n\n // Position the menu to one of anchor corners.\n // 'bottomEnd' | 'bottomLeft' | 'bottomRight' | 'bottomStart' | 'topEnd' | 'topLeft' | 'topRight' | 'topStart'\n anchor?:\n | \"bottomEnd\"\n | \"bottomLeft\"\n | \"bottomRight\"\n | \"bottomStart\"\n | \"topEnd\"\n | \"topLeft\"\n | \"topRight\"\n | \"topStart\";\n\n // Class that will be added to the Menu element.\n className?: string;\n\n // If true, prevents menu from opening when clicked.\n disabled?: boolean;\n\n onOpen?: () => void;\n onClose?: () => void;\n\n // For testing purposes.\n \"data-testid\"?: string;\n};\n\ninterface MenuState {\n menuIsOpen: boolean;\n}\n\n/**\n * Use Menu component to display a list of choices, once the handler is triggered.\n */\nclass Menu extends React.Component<MenuProps, MenuState> {\n static defaultProps: Partial<MenuProps> = {\n anchor: \"topStart\"\n };\n\n public override state: MenuState = {\n menuIsOpen: false\n };\n\n private readonly openMenu = () => {\n if (this.props.disabled !== true) {\n this.setState({ menuIsOpen: true }, () => this.props.onOpen && this.props.onOpen());\n }\n };\n\n private readonly closeMenu = () => {\n this.setState({ menuIsOpen: false }, () => this.props.onClose && this.props.onClose());\n };\n\n private readonly renderMenuWithPortal = () => {\n return (\n <BaseMenu\n anchorCorner={this.props.anchor}\n open={this.state.menuIsOpen}\n className={this.props.className}\n onClose={this.closeMenu}\n onSelect={this.props.onSelect}\n renderToPortal={true}\n style={{ zIndex: 101 }} // Fixes Menu in Drawers\n >\n {this.props.children}\n </BaseMenu>\n );\n };\n\n private readonly renderCustomContent = () => {\n const { children, render } = this.props;\n\n const renderer = render || children;\n return (\n <MenuSurface\n open={this.state.menuIsOpen}\n onClose={this.closeMenu}\n renderToPortal={this.props.renderToPortal}\n >\n {typeof renderer === \"function\"\n ? renderer({ closeMenu: this.closeMenu })\n : renderer}\n </MenuSurface>\n );\n };\n\n private readonly renderMenuContent = () => {\n return Array.isArray(this.props.children)\n ? this.renderMenuWithPortal()\n : this.renderCustomContent();\n };\n\n public override render(): React.ReactNode {\n return (\n <MenuSurfaceAnchor data-testid={this.props[\"data-testid\"]}>\n {this.renderMenuContent()}\n {this.props.handle &&\n React.cloneElement(this.props.handle, { onClick: this.openMenu })}\n </MenuSurfaceAnchor>\n );\n }\n}\n\nconst MenuDivider = () => {\n return <li className=\"mdc-list-divider\" role=\"separator\" />;\n};\n\ninterface MenuItemProps extends BaseMenuItemProps {\n children: React.ReactNode;\n className?: string;\n onClick?: (event: React.MouseEvent) => void;\n \"data-testid\"?: string;\n}\n\nconst MenuItem = ({ disabled, className, ...rest }: MenuItemProps) => {\n return (\n <BaseMenuItem\n {...rest}\n className={classNames(className, { [style.disabledMenuItem]: disabled })}\n />\n );\n};\n\nexport { Menu, MenuItem, MenuDivider };\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_react","_interopRequireWildcard","require","_menu","_emotion","_classnames","_interopRequireDefault","_excluded","style","disabledMenuItem","css","opacity","pointerEvents","Menu","exports","props","children","handle","_props$anchor","anchor","className","disabled","onOpen","onClose","onSelect","open","render","renderToPortal","_props$portalZIndex","portalZIndex","_useState","useState","_useState2","_slicedToArray2","default","menuIsOpen","setMenuIsOpen","useEffect","openMenu","useCallback","closeMenu","renderMenuWithPortal","createElement","anchorCorner","zIndex","Fragment","renderCustomContent","renderer","MenuSurface","MenuSurfaceAnchor","Array","isArray","React","cloneElement","onClick","MenuDivider","role","MenuItem","_ref","rest","_objectWithoutProperties2","Object","assign","classNames","_defineProperty2"],"sources":["Menu.tsx"],"sourcesContent":["import React, { useState, useEffect, useCallback } from \"react\";\nimport {\n Menu as BaseMenu,\n MenuProps as RmwcMenuProps,\n MenuItem as BaseMenuItem,\n MenuItemProps as BaseMenuItemProps,\n MenuSurface,\n MenuSurfaceAnchor\n} from \"@rmwc/menu\";\nimport { css } from \"emotion\";\nimport classNames from \"classnames\";\n\nconst style = {\n disabledMenuItem: css({\n opacity: 0.5,\n pointerEvents: \"none\"\n })\n};\n\nexport type MenuChildrenFunctionProps = {\n closeMenu: () => void;\n};\n\nexport interface RenderableMenuChildren {\n (props: MenuChildrenFunctionProps): React.ReactNode;\n}\n\nexport type MenuProps = Omit<RmwcMenuProps, \"children\"> & {\n // A handler which triggers the menu, e.g. button or link.\n handle?: React.ReactElement;\n\n // Position the menu to one of anchor corners.\n // 'bottomEnd' | 'bottomLeft' | 'bottomRight' | 'bottomStart' | 'topEnd' | 'topLeft' | 'topRight' | 'topStart'\n anchor?:\n | \"bottomEnd\"\n | \"bottomLeft\"\n | \"bottomRight\"\n | \"bottomStart\"\n | \"topEnd\"\n | \"topLeft\"\n | \"topRight\"\n | \"topStart\";\n\n // Class that will be added to the Menu element.\n className?: string;\n\n // If true, prevents menu from opening when clicked.\n disabled?: boolean;\n\n onOpen?: () => void;\n onClose?: () => void;\n\n // For testing purposes.\n \"data-testid\"?: string;\n\n // If rendering to portal, you can specify an exact zIndex.\n portalZIndex?: number;\n} & ( // You can use either `children` or `render`, but not both.\n | {\n // One or more MenuItem components.\n children: React.ReactNode | RenderableMenuChildren;\n render?: never;\n }\n | {\n render: RenderableMenuChildren;\n children?: never;\n }\n );\n\n/**\n * Use Menu component to display a list of choices, once the handler is triggered.\n */\nconst Menu = (props: MenuProps) => {\n const {\n children,\n handle,\n anchor = \"topStart\",\n className,\n disabled,\n onOpen,\n onClose,\n onSelect,\n open,\n render,\n renderToPortal,\n portalZIndex = 99\n } = props;\n\n const [menuIsOpen, setMenuIsOpen] = useState(false);\n\n useEffect(() => {\n if (typeof open === \"boolean\") {\n setMenuIsOpen(open);\n }\n }, [open]);\n\n const openMenu = useCallback(() => {\n if (disabled) {\n return;\n }\n\n setMenuIsOpen(true);\n\n if (onOpen) {\n onOpen();\n }\n }, [disabled, onOpen]);\n\n const closeMenu = useCallback(() => {\n setMenuIsOpen(false);\n\n if (onClose) {\n onClose();\n }\n }, [onClose]);\n\n const renderMenuWithPortal = () => (\n <BaseMenu\n anchorCorner={anchor}\n open={menuIsOpen}\n className={className}\n onClose={closeMenu}\n onSelect={onSelect}\n renderToPortal={true}\n style={{ zIndex: portalZIndex }} // Fixes Menu in Drawers\n >\n <>{children}</>\n </BaseMenu>\n );\n\n const renderCustomContent = () => {\n const renderer = render || children;\n return (\n <MenuSurface open={menuIsOpen} onClose={closeMenu} renderToPortal={renderToPortal}>\n {typeof renderer === \"function\" ? renderer({ closeMenu }) : renderer}\n </MenuSurface>\n );\n };\n\n return (\n <MenuSurfaceAnchor data-testid={props[\"data-testid\"]}>\n {Array.isArray(children) ? renderMenuWithPortal() : renderCustomContent()}\n {handle && React.cloneElement(handle, { onClick: openMenu })}\n </MenuSurfaceAnchor>\n );\n};\n\nconst MenuDivider = () => {\n return <li className=\"mdc-list-divider\" role=\"separator\" />;\n};\n\ninterface MenuItemProps extends BaseMenuItemProps {\n children: React.ReactNode;\n className?: string;\n onClick?: (event: React.MouseEvent) => void;\n \"data-testid\"?: string;\n}\n\nconst MenuItem = ({ disabled, className, ...rest }: MenuItemProps) => {\n return (\n <BaseMenuItem\n {...rest}\n className={classNames(className, { [style.disabledMenuItem]: disabled })}\n />\n );\n};\n\nexport { Menu, MenuItem, MenuDivider };\n"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireDefault","require","_radio","_FormElementMessage","Radio","_React$Component","_this","_classCallCheck2","default","_len","arguments","length","args","Array","_key","_callSuper2","concat","_defineProperty2","e","props","onChange","target","checked","_inherits2","_createClass2","key","value","render","_this$props","label","disabled","description","validation","_ref","validationIsValid","isValid","validationMessage","message","createElement","Fragment","Boolean","FormElementMessage","error","React","Component","_default","exports"],"sources":["Radio.tsx"],"sourcesContent":["import React from \"react\";\nimport { Radio as RmwcRadio } from \"@rmwc/radio\";\nimport { FormComponentProps } from \"~/types\";\nimport { FormElementMessage } from \"~/FormElementMessage\";\n\ntype Props = FormComponentProps & {\n // Component label.\n label?: string;\n\n // Is radio disabled?\n disabled?: boolean;\n\n // Description beneath the radio.\n description?: string;\n};\n\n/**\n * Wrap Radio components with RadioGroup to create a set of options.\n * Each Radio component must receive value and onChange callback via props.\n */\nclass Radio extends React.Component<Props> {\n onChange = (e: React.SyntheticEvent<HTMLInputElement>) => {\n this.props.onChange && this.props.onChange((e.target as HTMLInputElement).checked);\n };\n\n public override render() {\n const { value, label, disabled, description, validation } = this.props;\n\n const { isValid: validationIsValid, message: validationMessage } = validation || {};\n\n return (\n <React.Fragment>\n <RmwcRadio\n disabled={disabled}\n checked={Boolean(value)}\n onChange={this.onChange}\n label={label}\n />\n {validationIsValid === false && (\n <FormElementMessage error>{validationMessage}</FormElementMessage>\n )}\n\n {validationIsValid !== false && description && (\n <FormElementMessage>{description}</FormElementMessage>\n )}\n </React.Fragment>\n );\n }\n}\n\nexport default Radio;\n"],"mappings":";;;;;;;;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,MAAA,GAAAD,OAAA;AAEA,IAAAE,mBAAA,GAAAF,OAAA;AAaA;AACA;AACA;AACA;AAHA,IAIMG,KAAK,0BAAAC,gBAAA;EAAA,SAAAD,MAAA;IAAA,IAAAE,KAAA;IAAA,IAAAC,gBAAA,CAAAC,OAAA,QAAAJ,KAAA;IAAA,SAAAK,IAAA,GAAAC,SAAA,CAAAC,MAAA,EAAAC,IAAA,OAAAC,KAAA,CAAAJ,IAAA,GAAAK,IAAA,MAAAA,IAAA,GAAAL,IAAA,EAAAK,IAAA;MAAAF,IAAA,CAAAE,IAAA,IAAAJ,SAAA,CAAAI,IAAA;IAAA;IAAAR,KAAA,OAAAS,WAAA,CAAAP,OAAA,QAAAJ,KAAA,KAAAY,MAAA,CAAAJ,IAAA;IAAA,IAAAK,gBAAA,CAAAT,OAAA,EAAAF,KAAA,cACI,UAACY,CAAyC,EAAK;MACtDZ,KAAA,CAAKa,KAAK,CAACC,QAAQ,IAAId,KAAA,CAAKa,KAAK,CAACC,QAAQ,CAAEF,CAAC,CAACG,MAAM,CAAsBC,OAAO,CAAC;IACtF,CAAC;IAAA,OAAAhB,KAAA;EAAA;EAAA,IAAAiB,UAAA,CAAAf,OAAA,EAAAJ,KAAA,EAAAC,gBAAA;EAAA,WAAAmB,aAAA,CAAAhB,OAAA,EAAAJ,KAAA;IAAAqB,GAAA;IAAAC,KAAA,EAED,SAAAC,OAAA,EAAyB;MACrB,IAAAC,WAAA,GAA4D,IAAI,CAACT,KAAK;QAA9DO,KAAK,GAAAE,WAAA,CAALF,KAAK;QAAEG,KAAK,GAAAD,WAAA,CAALC,KAAK;QAAEC,QAAQ,GAAAF,WAAA,CAARE,QAAQ;QAAEC,WAAW,GAAAH,WAAA,CAAXG,WAAW;QAAEC,UAAU,GAAAJ,WAAA,CAAVI,UAAU;MAEvD,IAAAC,IAAA,GAAmED,UAAU,IAAI,CAAC,CAAC;QAAlEE,iBAAiB,GAAAD,IAAA,CAA1BE,OAAO;QAA8BC,iBAAiB,GAAAH,IAAA,CAA1BI,OAAO;MAE3C,oBACItC,MAAA,CAAAS,OAAA,CAAA8B,aAAA,CAACvC,MAAA,CAAAS,OAAK,CAAC+B,QAAQ,qBACXxC,MAAA,CAAAS,OAAA,CAAA8B,aAAA,CAACpC,MAAA,CAAAE,KAAS;QACN0B,QAAQ,EAAEA,QAAS;QACnBR,OAAO,EAAEkB,OAAO,CAACd,KAAK,CAAE;QACxBN,QAAQ,EAAE,IAAI,CAACA,QAAS;QACxBS,KAAK,EAAEA;MAAM,CAChB,CAAC,EACDK,iBAAiB,KAAK,KAAK,iBACxBnC,MAAA,CAAAS,OAAA,CAAA8B,aAAA,CAACnC,mBAAA,CAAAsC,kBAAkB;QAACC,KAAK;MAAA,GAAEN,iBAAsC,CACpE,EAEAF,iBAAiB,KAAK,KAAK,IAAIH,WAAW,iBACvChC,MAAA,CAAAS,OAAA,CAAA8B,aAAA,CAACnC,mBAAA,CAAAsC,kBAAkB,QAAEV,WAAgC,CAE7C,CAAC;IAEzB;EAAC;AAAA,EA3BeY,cAAK,CAACC,SAAS;AAAA,IAAAC,QAAA,GAAAC,OAAA,CAAAtC,OAAA,GA8BpBJ,KAAK","ignoreList":[]}
1
+ {"version":3,"names":["_react","_interopRequireDefault","require","_radio","_FormElementMessage","Radio","_React$Component","_this","_classCallCheck2","default","_len","arguments","length","args","Array","_key","_callSuper2","concat","_defineProperty2","e","props","onChange","target","checked","_inherits2","_createClass2","key","value","render","_this$props","label","disabled","description","validation","_ref","validationIsValid","isValid","validationMessage","message","createElement","Fragment","Boolean","FormElementMessage","error","React","Component","_default","exports"],"sources":["Radio.tsx"],"sourcesContent":["import React from \"react\";\nimport { Radio as RmwcRadio } from \"@rmwc/radio\";\nimport { FormComponentProps } from \"~/types\";\nimport { FormElementMessage } from \"~/FormElementMessage\";\n\ntype Props = FormComponentProps & {\n // Component label.\n label?: string;\n\n // Is radio disabled?\n disabled?: boolean;\n\n // Description beneath the radio.\n description?: string;\n};\n\n/**\n * Wrap Radio components with RadioGroup to create a set of options.\n * Each Radio component must receive value and onChange callback via props.\n */\nclass Radio extends React.Component<Props> {\n onChange = (e: React.SyntheticEvent<HTMLInputElement>) => {\n this.props.onChange && this.props.onChange((e.target as HTMLInputElement).checked);\n };\n\n public override render() {\n const { value, label, disabled, description, validation } = this.props;\n\n const { isValid: validationIsValid, message: validationMessage } = validation || {};\n\n return (\n <React.Fragment>\n <RmwcRadio\n disabled={disabled}\n checked={Boolean(value)}\n onChange={this.onChange}\n label={label}\n />\n {validationIsValid === false && (\n <FormElementMessage error>{validationMessage}</FormElementMessage>\n )}\n\n {validationIsValid !== false && description && (\n <FormElementMessage>{description}</FormElementMessage>\n )}\n </React.Fragment>\n );\n }\n}\n\nexport default Radio;\n"],"mappings":";;;;;;;;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,MAAA,GAAAD,OAAA;AAEA,IAAAE,mBAAA,GAAAF,OAAA;AAaA;AACA;AACA;AACA;AAHA,IAIMG,KAAK,0BAAAC,gBAAA;EAAA,SAAAD,MAAA;IAAA,IAAAE,KAAA;IAAA,IAAAC,gBAAA,CAAAC,OAAA,QAAAJ,KAAA;IAAA,SAAAK,IAAA,GAAAC,SAAA,CAAAC,MAAA,EAAAC,IAAA,OAAAC,KAAA,CAAAJ,IAAA,GAAAK,IAAA,MAAAA,IAAA,GAAAL,IAAA,EAAAK,IAAA;MAAAF,IAAA,CAAAE,IAAA,IAAAJ,SAAA,CAAAI,IAAA;IAAA;IAAAR,KAAA,OAAAS,WAAA,CAAAP,OAAA,QAAAJ,KAAA,KAAAY,MAAA,CAAAJ,IAAA;IAAA,IAAAK,gBAAA,CAAAT,OAAA,EAAAF,KAAA,cACI,UAACY,CAAyC,EAAK;MACtDZ,KAAA,CAAKa,KAAK,CAACC,QAAQ,IAAId,KAAA,CAAKa,KAAK,CAACC,QAAQ,CAAEF,CAAC,CAACG,MAAM,CAAsBC,OAAO,CAAC;IACtF,CAAC;IAAA,OAAAhB,KAAA;EAAA;EAAA,IAAAiB,UAAA,CAAAf,OAAA,EAAAJ,KAAA,EAAAC,gBAAA;EAAA,WAAAmB,aAAA,CAAAhB,OAAA,EAAAJ,KAAA;IAAAqB,GAAA;IAAAC,KAAA,EAED,SAAgBC,MAAMA,CAAA,EAAG;MACrB,IAAAC,WAAA,GAA4D,IAAI,CAACT,KAAK;QAA9DO,KAAK,GAAAE,WAAA,CAALF,KAAK;QAAEG,KAAK,GAAAD,WAAA,CAALC,KAAK;QAAEC,QAAQ,GAAAF,WAAA,CAARE,QAAQ;QAAEC,WAAW,GAAAH,WAAA,CAAXG,WAAW;QAAEC,UAAU,GAAAJ,WAAA,CAAVI,UAAU;MAEvD,IAAAC,IAAA,GAAmED,UAAU,IAAI,CAAC,CAAC;QAAlEE,iBAAiB,GAAAD,IAAA,CAA1BE,OAAO;QAA8BC,iBAAiB,GAAAH,IAAA,CAA1BI,OAAO;MAE3C,oBACItC,MAAA,CAAAS,OAAA,CAAA8B,aAAA,CAACvC,MAAA,CAAAS,OAAK,CAAC+B,QAAQ,qBACXxC,MAAA,CAAAS,OAAA,CAAA8B,aAAA,CAACpC,MAAA,CAAAE,KAAS;QACN0B,QAAQ,EAAEA,QAAS;QACnBR,OAAO,EAAEkB,OAAO,CAACd,KAAK,CAAE;QACxBN,QAAQ,EAAE,IAAI,CAACA,QAAS;QACxBS,KAAK,EAAEA;MAAM,CAChB,CAAC,EACDK,iBAAiB,KAAK,KAAK,iBACxBnC,MAAA,CAAAS,OAAA,CAAA8B,aAAA,CAACnC,mBAAA,CAAAsC,kBAAkB;QAACC,KAAK;MAAA,GAAEN,iBAAsC,CACpE,EAEAF,iBAAiB,KAAK,KAAK,IAAIH,WAAW,iBACvChC,MAAA,CAAAS,OAAA,CAAA8B,aAAA,CAACnC,mBAAA,CAAAsC,kBAAkB,QAAEV,WAAgC,CAE7C,CAAC;IAEzB;EAAC;AAAA,EA3BeY,cAAK,CAACC,SAAS;AAAA,IAAAC,QAAA,GAAAC,OAAA,CAAAtC,OAAA,GA8BpBJ,KAAK","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireDefault","require","_Radio","_FormElementMessage","RadioGroup","_React$Component","_classCallCheck2","default","_callSuper2","arguments","_inherits2","_createClass2","key","value","render","_this","_this$props","props","description","label","validation","_ref","validationIsValid","isValid","validationMessage","message","createElement","Fragment","className","webinyRadioTitle","children","onChange","getValue","id","FormElementMessage","error","React","Component","_default","exports"],"sources":["RadioGroup.tsx"],"sourcesContent":["import React from \"react\";\nimport { FormComponentProps } from \"~/types\";\nimport { webinyRadioTitle } from \"./Radio.styles\";\nimport { FormElementMessage } from \"~/FormElementMessage\";\n\ninterface RadioGroupRenderParams {\n onChange: (id: string | number) => () => void;\n getValue: (id: string | number) => boolean;\n}\n\ntype Props = FormComponentProps & {\n // Form element's label.\n label?: string;\n\n // Form element's description.\n description?: string;\n\n // An array of Radio components.\n children: (props: RadioGroupRenderParams) => React.ReactNode;\n};\n\nclass RadioGroup extends React.Component<Props> {\n public override render() {\n const { description, label, validation } = this.props;\n\n const { isValid: validationIsValid, message: validationMessage } = validation || {};\n\n return (\n <React.Fragment>\n {label && (\n <div\n className={\n \"mdc-text-field-helper-text mdc-text-field-helper-text--persistent \" +\n webinyRadioTitle\n }\n >\n {label}\n </div>\n )}\n\n {this.props.children({\n onChange: value => () => this.props.onChange && this.props.onChange(value),\n getValue: id => this.props.value === id\n })}\n\n {validationIsValid === false && (\n <FormElementMessage error>{validationMessage}</FormElementMessage>\n )}\n\n {validationIsValid !== false && description && (\n <FormElementMessage>{description}</FormElementMessage>\n )}\n </React.Fragment>\n );\n }\n}\n\nexport default RadioGroup;\n"],"mappings":";;;;;;;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AAEA,IAAAC,MAAA,GAAAD,OAAA;AACA,IAAAE,mBAAA,GAAAF,OAAA;AAA0D,IAkBpDG,UAAU,0BAAAC,gBAAA;EAAA,SAAAD,WAAA;IAAA,IAAAE,gBAAA,CAAAC,OAAA,QAAAH,UAAA;IAAA,WAAAI,WAAA,CAAAD,OAAA,QAAAH,UAAA,EAAAK,SAAA;EAAA;EAAA,IAAAC,UAAA,CAAAH,OAAA,EAAAH,UAAA,EAAAC,gBAAA;EAAA,WAAAM,aAAA,CAAAJ,OAAA,EAAAH,UAAA;IAAAQ,GAAA;IAAAC,KAAA,EACZ,SAAAC,OAAA,EAAyB;MAAA,IAAAC,KAAA;MACrB,IAAAC,WAAA,GAA2C,IAAI,CAACC,KAAK;QAA7CC,WAAW,GAAAF,WAAA,CAAXE,WAAW;QAAEC,KAAK,GAAAH,WAAA,CAALG,KAAK;QAAEC,UAAU,GAAAJ,WAAA,CAAVI,UAAU;MAEtC,IAAAC,IAAA,GAAmED,UAAU,IAAI,CAAC,CAAC;QAAlEE,iBAAiB,GAAAD,IAAA,CAA1BE,OAAO;QAA8BC,iBAAiB,GAAAH,IAAA,CAA1BI,OAAO;MAE3C,oBACI1B,MAAA,CAAAQ,OAAA,CAAAmB,aAAA,CAAC3B,MAAA,CAAAQ,OAAK,CAACoB,QAAQ,QACVR,KAAK,iBACFpB,MAAA,CAAAQ,OAAA,CAAAmB,aAAA;QACIE,SAAS,EACL,oEAAoE,GACpEC;MACH,GAEAV,KACA,CACR,EAEA,IAAI,CAACF,KAAK,CAACa,QAAQ,CAAC;QACjBC,QAAQ,EAAE,SAAAA,SAAAlB,KAAK;UAAA,OAAI;YAAA,OAAME,KAAI,CAACE,KAAK,CAACc,QAAQ,IAAIhB,KAAI,CAACE,KAAK,CAACc,QAAQ,CAAClB,KAAK,CAAC;UAAA;QAAA;QAC1EmB,QAAQ,EAAE,SAAAA,SAAAC,EAAE;UAAA,OAAIlB,KAAI,CAACE,KAAK,CAACJ,KAAK,KAAKoB,EAAE;QAAA;MAC3C,CAAC,CAAC,EAEDX,iBAAiB,KAAK,KAAK,iBACxBvB,MAAA,CAAAQ,OAAA,CAAAmB,aAAA,CAACvB,mBAAA,CAAA+B,kBAAkB;QAACC,KAAK;MAAA,GAAEX,iBAAsC,CACpE,EAEAF,iBAAiB,KAAK,KAAK,IAAIJ,WAAW,iBACvCnB,MAAA,CAAAQ,OAAA,CAAAmB,aAAA,CAACvB,mBAAA,CAAA+B,kBAAkB,QAAEhB,WAAgC,CAE7C,CAAC;IAEzB;EAAC;AAAA,EAjCoBkB,cAAK,CAACC,SAAS;AAAA,IAAAC,QAAA,GAAAC,OAAA,CAAAhC,OAAA,GAoCzBH,UAAU","ignoreList":[]}
1
+ {"version":3,"names":["_react","_interopRequireDefault","require","_Radio","_FormElementMessage","RadioGroup","_React$Component","_classCallCheck2","default","_callSuper2","arguments","_inherits2","_createClass2","key","value","render","_this","_this$props","props","description","label","validation","_ref","validationIsValid","isValid","validationMessage","message","createElement","Fragment","className","webinyRadioTitle","children","onChange","getValue","id","FormElementMessage","error","React","Component","_default","exports"],"sources":["RadioGroup.tsx"],"sourcesContent":["import React from \"react\";\nimport { FormComponentProps } from \"~/types\";\nimport { webinyRadioTitle } from \"./Radio.styles\";\nimport { FormElementMessage } from \"~/FormElementMessage\";\n\ninterface RadioGroupRenderParams {\n onChange: (id: string | number) => () => void;\n getValue: (id: string | number) => boolean;\n}\n\ntype Props = FormComponentProps & {\n // Form element's label.\n label?: string;\n\n // Form element's description.\n description?: string;\n\n // An array of Radio components.\n children: (props: RadioGroupRenderParams) => React.ReactNode;\n};\n\nclass RadioGroup extends React.Component<Props> {\n public override render() {\n const { description, label, validation } = this.props;\n\n const { isValid: validationIsValid, message: validationMessage } = validation || {};\n\n return (\n <React.Fragment>\n {label && (\n <div\n className={\n \"mdc-text-field-helper-text mdc-text-field-helper-text--persistent \" +\n webinyRadioTitle\n }\n >\n {label}\n </div>\n )}\n\n {this.props.children({\n onChange: value => () => this.props.onChange && this.props.onChange(value),\n getValue: id => this.props.value === id\n })}\n\n {validationIsValid === false && (\n <FormElementMessage error>{validationMessage}</FormElementMessage>\n )}\n\n {validationIsValid !== false && description && (\n <FormElementMessage>{description}</FormElementMessage>\n )}\n </React.Fragment>\n );\n }\n}\n\nexport default RadioGroup;\n"],"mappings":";;;;;;;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AAEA,IAAAC,MAAA,GAAAD,OAAA;AACA,IAAAE,mBAAA,GAAAF,OAAA;AAA0D,IAkBpDG,UAAU,0BAAAC,gBAAA;EAAA,SAAAD,WAAA;IAAA,IAAAE,gBAAA,CAAAC,OAAA,QAAAH,UAAA;IAAA,WAAAI,WAAA,CAAAD,OAAA,QAAAH,UAAA,EAAAK,SAAA;EAAA;EAAA,IAAAC,UAAA,CAAAH,OAAA,EAAAH,UAAA,EAAAC,gBAAA;EAAA,WAAAM,aAAA,CAAAJ,OAAA,EAAAH,UAAA;IAAAQ,GAAA;IAAAC,KAAA,EACZ,SAAgBC,MAAMA,CAAA,EAAG;MAAA,IAAAC,KAAA;MACrB,IAAAC,WAAA,GAA2C,IAAI,CAACC,KAAK;QAA7CC,WAAW,GAAAF,WAAA,CAAXE,WAAW;QAAEC,KAAK,GAAAH,WAAA,CAALG,KAAK;QAAEC,UAAU,GAAAJ,WAAA,CAAVI,UAAU;MAEtC,IAAAC,IAAA,GAAmED,UAAU,IAAI,CAAC,CAAC;QAAlEE,iBAAiB,GAAAD,IAAA,CAA1BE,OAAO;QAA8BC,iBAAiB,GAAAH,IAAA,CAA1BI,OAAO;MAE3C,oBACI1B,MAAA,CAAAQ,OAAA,CAAAmB,aAAA,CAAC3B,MAAA,CAAAQ,OAAK,CAACoB,QAAQ,QACVR,KAAK,iBACFpB,MAAA,CAAAQ,OAAA,CAAAmB,aAAA;QACIE,SAAS,EACL,oEAAoE,GACpEC;MACH,GAEAV,KACA,CACR,EAEA,IAAI,CAACF,KAAK,CAACa,QAAQ,CAAC;QACjBC,QAAQ,EAAE,SAAVA,QAAQA,CAAElB,KAAK;UAAA,OAAI;YAAA,OAAME,KAAI,CAACE,KAAK,CAACc,QAAQ,IAAIhB,KAAI,CAACE,KAAK,CAACc,QAAQ,CAAClB,KAAK,CAAC;UAAA;QAAA;QAC1EmB,QAAQ,EAAE,SAAVA,QAAQA,CAAEC,EAAE;UAAA,OAAIlB,KAAI,CAACE,KAAK,CAACJ,KAAK,KAAKoB,EAAE;QAAA;MAC3C,CAAC,CAAC,EAEDX,iBAAiB,KAAK,KAAK,iBACxBvB,MAAA,CAAAQ,OAAA,CAAAmB,aAAA,CAACvB,mBAAA,CAAA+B,kBAAkB;QAACC,KAAK;MAAA,GAAEX,iBAAsC,CACpE,EAEAF,iBAAiB,KAAK,KAAK,IAAIJ,WAAW,iBACvCnB,MAAA,CAAAQ,OAAA,CAAAmB,aAAA,CAACvB,mBAAA,CAAA+B,kBAAkB,QAAEhB,WAAgC,CAE7C,CAAC;IAEzB;EAAC;AAAA,EAjCoBkB,cAAK,CAACC,SAAS;AAAA,IAAAC,QAAA,GAAAC,OAAA,CAAAhC,OAAA,GAoCzBH,UAAU","ignoreList":[]}
@@ -10,11 +10,11 @@ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/de
10
10
  var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
11
11
  var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
12
12
  var _react = _interopRequireWildcard(require("react"));
13
- var _shortid = _interopRequireDefault(require("shortid"));
14
13
  var _editorjs = _interopRequireDefault(require("@editorjs/editorjs"));
15
14
  var _FormElementMessage = require("../FormElementMessage");
16
15
  var _emotion = require("emotion");
17
16
  var _classnames = _interopRequireDefault(require("classnames"));
17
+ var _generateId = require("@webiny/utils/generateId");
18
18
  var _excluded = ["value", "context", "onReady"];
19
19
  var classes = {
20
20
  wrapper: (0, _emotion.css)({
@@ -49,7 +49,7 @@ var waitForDom = function waitForDom(id, callback) {
49
49
  };
50
50
  };
51
51
  var RichTextEditor = exports.RichTextEditor = function RichTextEditor(props) {
52
- var elementId = (0, _react.useRef)("rte-" + _shortid.default.generate());
52
+ var elementId = (0, _react.useRef)("rte-" + (0, _generateId.generateAlphaNumericId)());
53
53
  var editorRef = (0, _react.useRef)();
54
54
  (0, _react.useEffect)(function () {
55
55
  var value = props.value,
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireWildcard","require","_shortid","_interopRequireDefault","_editorjs","_FormElementMessage","_emotion","_classnames","_excluded","classes","wrapper","css","backgroundColor","padding","label","marginBottom","disable","opacity","pointerEvents","waitForDom","id","callback","timeSpent","interval","setInterval","clearInterval","dom","document","querySelector","concat","RichTextEditor","exports","props","elementId","useRef","shortid","generate","editorRef","useEffect","value","context","onReady","nativeProps","_objectWithoutProperties2","default","initialData","blocks","clearWait","current","EditorJS","_objectSpread2","holder","logLevel","data","onChange","_await$editorRef$curr","save","editor","tools","Object","keys","reduce","name","tool","config","destroy","description","disabled","validation","className","createElement","Fragment","classNames","_defineProperty2","isValid","FormElementMessage","error","message"],"sources":["RichTextEditor.tsx"],"sourcesContent":["import React, { Fragment, useEffect, useRef } from \"react\";\nimport shortid from \"shortid\";\nimport EditorJS, {\n LogLevels,\n OutputBlockData,\n OutputData,\n SanitizerConfig,\n ToolSettings\n} from \"@editorjs/editorjs\";\nimport { FormElementMessage } from \"~/FormElementMessage\";\nimport { css } from \"emotion\";\nimport classNames from \"classnames\";\nimport { FormComponentProps } from \"@webiny/form\";\n\nconst classes = {\n wrapper: css({\n backgroundColor: \"var(--mdc-theme-background)\",\n padding: \"20px 16px 6px\"\n }),\n label: css({\n marginBottom: \"10px !important\"\n }),\n disable: css({\n opacity: 0.7,\n pointerEvents: \"none\"\n })\n};\n\ninterface EditorJSType {\n destroy?: () => void;\n save: () => Promise<any>;\n}\n\nexport interface OnReadyParams {\n editor: any;\n initialData: OutputData;\n}\n\nexport type RichTextEditorValue = OutputBlockData[];\n\nexport interface RichTextEditorProps {\n autofocus?: boolean;\n className?: string;\n context?: { [key: string]: any };\n description?: string;\n disabled?: boolean;\n label?: string;\n logLevel?: string;\n minHeight?: number;\n onChange?: (data: RichTextEditorValue) => void;\n onReady?: (params: OnReadyParams) => void;\n placeholder?: string;\n readOnly?: boolean;\n sanitizer?: SanitizerConfig;\n tools?: {\n [toolName: string]: ToolSettings;\n };\n validation?: FormComponentProps[\"validation\"];\n value?: RichTextEditorValue;\n}\n\nconst waitForDom = (id: string, callback: () => void) => {\n let timeSpent = 0;\n const interval = setInterval(() => {\n if (timeSpent > 1000) {\n clearInterval(interval);\n return;\n }\n\n const dom = document.querySelector(`#${id}`);\n if (!dom) {\n timeSpent += 10;\n return;\n }\n\n clearInterval(interval);\n callback();\n }, 10);\n\n return () => {\n clearInterval(interval);\n };\n};\n\nexport const RichTextEditor = (props: RichTextEditorProps) => {\n const elementId = useRef(\"rte-\" + shortid.generate());\n const editorRef = useRef<EditorJSType>();\n\n useEffect(() => {\n const { value, context, onReady, ...nativeProps } = props;\n\n const initialData = value ? { blocks: value } : { blocks: [] };\n\n const clearWait = waitForDom(elementId.current, () => {\n editorRef.current = new EditorJS({\n ...nativeProps,\n holder: elementId.current,\n logLevel: \"ERROR\" as LogLevels.ERROR,\n data: initialData,\n onChange: async () => {\n if (!editorRef.current) {\n return;\n }\n const { blocks: data } = await editorRef.current.save();\n if (!props.onChange) {\n return;\n }\n props.onChange(data);\n },\n onReady() {\n if (typeof onReady !== \"function\") {\n return;\n }\n onReady({ editor: editorRef.current, initialData });\n },\n tools: Object.keys(props.tools || {}).reduce((tools, name) => {\n const tool = props.tools ? props.tools[name] : null;\n if (!tool) {\n return tools;\n }\n tools[name] = tool;\n if (!tool.config) {\n tool.config = { context };\n } else if (typeof tool.config === \"function\") {\n tool.config = tool.config();\n } else {\n tool.config = { ...tool.config, context };\n }\n return tools;\n }, {} as Record<string, ToolSettings>)\n });\n });\n\n return () => {\n clearWait();\n if (!editorRef.current || typeof editorRef.current.destroy !== \"function\") {\n return;\n }\n\n editorRef.current.destroy();\n };\n }, []);\n\n const { label, description, disabled, validation, className } = props;\n\n return (\n <Fragment>\n <div\n className={classNames(classes.wrapper, className, { [classes.disable]: disabled })}\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 <div id={elementId.current} />\n </div>\n {validation && validation.isValid === false && (\n <FormElementMessage error>{validation.message}</FormElementMessage>\n )}\n {validation && validation.isValid !== false && description && (\n <FormElementMessage>{description}</FormElementMessage>\n )}\n </Fragment>\n );\n};\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_react","_interopRequireWildcard","require","_editorjs","_interopRequireDefault","_FormElementMessage","_emotion","_classnames","_generateId","_excluded","classes","wrapper","css","backgroundColor","padding","label","marginBottom","disable","opacity","pointerEvents","waitForDom","id","callback","timeSpent","interval","setInterval","clearInterval","dom","document","querySelector","concat","RichTextEditor","exports","props","elementId","useRef","generateAlphaNumericId","editorRef","useEffect","value","context","onReady","nativeProps","_objectWithoutProperties2","default","initialData","blocks","clearWait","current","EditorJS","_objectSpread2","holder","logLevel","data","onChange","_await$editorRef$curr","save","editor","tools","Object","keys","reduce","name","tool","config","destroy","description","disabled","validation","className","createElement","Fragment","classNames","_defineProperty2","isValid","FormElementMessage","error","message"],"sources":["RichTextEditor.tsx"],"sourcesContent":["import React, { Fragment, useEffect, useRef } from \"react\";\nimport EditorJS, {\n LogLevels,\n OutputBlockData,\n OutputData,\n SanitizerConfig,\n ToolSettings\n} from \"@editorjs/editorjs\";\nimport { FormElementMessage } from \"~/FormElementMessage\";\nimport { css } from \"emotion\";\nimport classNames from \"classnames\";\nimport { FormComponentProps } from \"@webiny/form\";\nimport { generateAlphaNumericId } from \"@webiny/utils/generateId\";\n\nconst classes = {\n wrapper: css({\n backgroundColor: \"var(--mdc-theme-background)\",\n padding: \"20px 16px 6px\"\n }),\n label: css({\n marginBottom: \"10px !important\"\n }),\n disable: css({\n opacity: 0.7,\n pointerEvents: \"none\"\n })\n};\n\ninterface EditorJSType {\n destroy?: () => void;\n save: () => Promise<any>;\n}\n\nexport interface OnReadyParams {\n editor: any;\n initialData: OutputData;\n}\n\nexport type RichTextEditorValue = OutputBlockData[];\n\nexport interface RichTextEditorProps {\n autofocus?: boolean;\n className?: string;\n context?: { [key: string]: any };\n description?: string;\n disabled?: boolean;\n label?: string;\n logLevel?: string;\n minHeight?: number;\n onChange?: (data: RichTextEditorValue) => void;\n onReady?: (params: OnReadyParams) => void;\n placeholder?: string;\n readOnly?: boolean;\n sanitizer?: SanitizerConfig;\n tools?: {\n [toolName: string]: ToolSettings;\n };\n validation?: FormComponentProps[\"validation\"];\n value?: RichTextEditorValue;\n}\n\nconst waitForDom = (id: string, callback: () => void) => {\n let timeSpent = 0;\n const interval = setInterval(() => {\n if (timeSpent > 1000) {\n clearInterval(interval);\n return;\n }\n\n const dom = document.querySelector(`#${id}`);\n if (!dom) {\n timeSpent += 10;\n return;\n }\n\n clearInterval(interval);\n callback();\n }, 10);\n\n return () => {\n clearInterval(interval);\n };\n};\n\nexport const RichTextEditor = (props: RichTextEditorProps) => {\n const elementId = useRef(\"rte-\" + generateAlphaNumericId());\n const editorRef = useRef<EditorJSType>();\n\n useEffect(() => {\n const { value, context, onReady, ...nativeProps } = props;\n\n const initialData = value ? { blocks: value } : { blocks: [] };\n\n const clearWait = waitForDom(elementId.current, () => {\n editorRef.current = new EditorJS({\n ...nativeProps,\n holder: elementId.current,\n logLevel: \"ERROR\" as LogLevels.ERROR,\n data: initialData,\n onChange: async () => {\n if (!editorRef.current) {\n return;\n }\n const { blocks: data } = await editorRef.current.save();\n if (!props.onChange) {\n return;\n }\n props.onChange(data);\n },\n onReady() {\n if (typeof onReady !== \"function\") {\n return;\n }\n onReady({ editor: editorRef.current, initialData });\n },\n tools: Object.keys(props.tools || {}).reduce((tools, name) => {\n const tool = props.tools ? props.tools[name] : null;\n if (!tool) {\n return tools;\n }\n tools[name] = tool;\n if (!tool.config) {\n tool.config = { context };\n } else if (typeof tool.config === \"function\") {\n tool.config = tool.config();\n } else {\n tool.config = { ...tool.config, context };\n }\n return tools;\n }, {} as Record<string, ToolSettings>)\n });\n });\n\n return () => {\n clearWait();\n if (!editorRef.current || typeof editorRef.current.destroy !== \"function\") {\n return;\n }\n\n editorRef.current.destroy();\n };\n }, []);\n\n const { label, description, disabled, validation, className } = props;\n\n return (\n <Fragment>\n <div\n className={classNames(classes.wrapper, className, { [classes.disable]: disabled })}\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 <div id={elementId.current} />\n </div>\n {validation && validation.isValid === false && (\n <FormElementMessage error>{validation.message}</FormElementMessage>\n )}\n {validation && validation.isValid !== false && description && (\n <FormElementMessage>{description}</FormElementMessage>\n )}\n </Fragment>\n );\n};\n"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":["createPropsFromConfig","exports","config","configs","Array","isArray","onReady","params","forEach","tools","reduce","_objectSpread2","default"],"sources":["createPropsFromConfig.ts"],"sourcesContent":["import { RichTextEditorProps } from \"./RichTextEditor\";\nimport { ToolSettings } from \"@editorjs/editorjs\";\nimport { OutputData } from \"@editorjs/editorjs/types\";\n\ninterface CreatePropsFromConfigResult {\n onReady: (editor: any) => void;\n tools: {\n [key: string]: ToolSettings;\n };\n}\n\ninterface OnReadyParams {\n editor: any;\n initialData: OutputData;\n}\n/**\n * Creates RichTextEditor props from the given config (or array of configs).\n *\n * TODO: figure out types for editor and return type of the function.\n */\nexport const createPropsFromConfig = (\n config: RichTextEditorProps[]\n): CreatePropsFromConfigResult => {\n const configs = (Array.isArray(config) ? config : [config]) as RichTextEditorProps[];\n\n return {\n onReady(params: OnReadyParams) {\n configs.forEach(config => {\n if (typeof config.onReady === \"function\") {\n config.onReady(params);\n }\n });\n },\n tools: configs.reduce((tools, config) => {\n return {\n ...tools,\n ...config.tools\n };\n }, {} as Record<string, ToolSettings>)\n };\n};\n"],"mappings":";;;;;;;;AAeA;AACA;AACA;AACA;AACA;AACO,IAAMA,qBAAqB,GAAAC,OAAA,CAAAD,qBAAA,GAAG,SAAxBA,qBAAqBA,CAC9BE,MAA6B,EACC;EAC9B,IAAMC,OAAO,GAAIC,KAAK,CAACC,OAAO,CAACH,MAAM,CAAC,GAAGA,MAAM,GAAG,CAACA,MAAM,CAA2B;EAEpF,OAAO;IACHI,OAAO,WAAAA,QAACC,MAAqB,EAAE;MAC3BJ,OAAO,CAACK,OAAO,CAAC,UAAAN,MAAM,EAAI;QACtB,IAAI,OAAOA,MAAM,CAACI,OAAO,KAAK,UAAU,EAAE;UACtCJ,MAAM,CAACI,OAAO,CAACC,MAAM,CAAC;QAC1B;MACJ,CAAC,CAAC;IACN,CAAC;IACDE,KAAK,EAAEN,OAAO,CAACO,MAAM,CAAC,UAACD,KAAK,EAAEP,MAAM,EAAK;MACrC,WAAAS,cAAA,CAAAC,OAAA,MAAAD,cAAA,CAAAC,OAAA,MACOH,KAAK,GACLP,MAAM,CAACO,KAAK;IAEvB,CAAC,EAAE,CAAC,CAAiC;EACzC,CAAC;AACL,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["createPropsFromConfig","exports","config","configs","Array","isArray","onReady","params","forEach","tools","reduce","_objectSpread2","default"],"sources":["createPropsFromConfig.ts"],"sourcesContent":["import { RichTextEditorProps } from \"./RichTextEditor\";\nimport { ToolSettings } from \"@editorjs/editorjs\";\nimport { OutputData } from \"@editorjs/editorjs/types\";\n\ninterface CreatePropsFromConfigResult {\n onReady: (editor: any) => void;\n tools: {\n [key: string]: ToolSettings;\n };\n}\n\ninterface OnReadyParams {\n editor: any;\n initialData: OutputData;\n}\n/**\n * Creates RichTextEditor props from the given config (or array of configs).\n *\n * TODO: figure out types for editor and return type of the function.\n */\nexport const createPropsFromConfig = (\n config: RichTextEditorProps[]\n): CreatePropsFromConfigResult => {\n const configs = (Array.isArray(config) ? config : [config]) as RichTextEditorProps[];\n\n return {\n onReady(params: OnReadyParams) {\n configs.forEach(config => {\n if (typeof config.onReady === \"function\") {\n config.onReady(params);\n }\n });\n },\n tools: configs.reduce((tools, config) => {\n return {\n ...tools,\n ...config.tools\n };\n }, {} as Record<string, ToolSettings>)\n };\n};\n"],"mappings":";;;;;;;;AAeA;AACA;AACA;AACA;AACA;AACO,IAAMA,qBAAqB,GAAAC,OAAA,CAAAD,qBAAA,GAAG,SAAxBA,qBAAqBA,CAC9BE,MAA6B,EACC;EAC9B,IAAMC,OAAO,GAAIC,KAAK,CAACC,OAAO,CAACH,MAAM,CAAC,GAAGA,MAAM,GAAG,CAACA,MAAM,CAA2B;EAEpF,OAAO;IACHI,OAAO,WAAPA,OAAOA,CAACC,MAAqB,EAAE;MAC3BJ,OAAO,CAACK,OAAO,CAAC,UAAAN,MAAM,EAAI;QACtB,IAAI,OAAOA,MAAM,CAACI,OAAO,KAAK,UAAU,EAAE;UACtCJ,MAAM,CAACI,OAAO,CAACC,MAAM,CAAC;QAC1B;MACJ,CAAC,CAAC;IACN,CAAC;IACDE,KAAK,EAAEN,OAAO,CAACO,MAAM,CAAC,UAACD,KAAK,EAAEP,MAAM,EAAK;MACrC,WAAAS,cAAA,CAAAC,OAAA,MAAAD,cAAA,CAAAC,OAAA,MACOH,KAAK,GACLP,MAAM,CAACO,KAAK;IAEvB,CAAC,EAAE,CAAC,CAAiC;EACzC,CAAC;AACL,CAAC","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireWildcard","require","_select","_FormElementMessage","_classnames","_interopRequireDefault","_styled","_excluded","getOptions","initialOptions","Array","isArray","options","_iterator","_createForOfIteratorHelper2","default","_step","s","n","done","option","value","push","label","err","e","f","Object","keys","map","key","skipProps","getRmwcProps","props","newProps","filter","name","includes","forEach","Select","exports","initialValue","description","validation","other","_objectWithoutProperties2","undefined","_ref","validationIsValid","isValid","validationMessage","message","_useMemo","useMemo","size","placeholderText","placeholder","trim","createElement","Fragment","assign","ref","className","classNames","webinySelect","concat","onChange","target","FormElementMessage","error","_default"],"sources":["Select.tsx"],"sourcesContent":["import React, { useMemo } from \"react\";\nimport {\n FormattedOption,\n Select as RmwcSelect,\n SelectProps as RmwcSelectProps\n} from \"@rmwc/select\";\nimport { FormElementMessage } from \"~/FormElementMessage\";\nimport { FormComponentProps } from \"~/types\";\nimport classNames from \"classnames\";\nimport { webinySelect } from \"./styled\";\n\nexport type SelectProps = FormComponentProps &\n RmwcSelectProps & {\n // Component label.\n label?: string;\n\n // Is checkbox disabled?\n disabled?: boolean;\n\n // Description beneath the select.\n description?: string;\n\n // Placeholder text for the form control. Set to a blank string to create a non-floating placeholder label.\n placeholder?: string;\n\n // Makes the Select have a visual box.\n box?: string;\n\n // One or more <option> or <optgroup> elements.\n children?: (React.ReactElement<\"option\"> | React.ReactElement<\"optgroup\">)[];\n\n // IconProps for the root element. By default, additional props spread to the native select element.\n rootProps?: {\n [key: string]: any;\n };\n\n // A className for the root element.\n className?: string;\n\n // Size - small, medium or large\n size?: \"small\" | \"medium\" | \"large\";\n };\n\n/**\n * TODO verify that this is correct method get all options.\n */\nconst getOptions = (initialOptions: SelectProps[\"options\"]): FormattedOption[] => {\n if (!initialOptions) {\n return [];\n } else if (Array.isArray(initialOptions)) {\n const options: FormattedOption[] = [];\n for (const option of initialOptions) {\n if (typeof option === \"string\") {\n options.push({\n label: option,\n value: option\n });\n continue;\n }\n options.push({\n label: option.label,\n value: option.value,\n options: option.options\n });\n }\n return options;\n }\n return Object.keys(initialOptions).map(key => {\n return {\n label: initialOptions[key],\n value: key\n };\n });\n};\n\n/**\n * Select component lets users choose a value from given set of options.\n */\nconst skipProps = [\"validate\", \"form\"];\n\nconst getRmwcProps = (props: SelectProps): FormComponentProps & RmwcSelectProps => {\n const newProps: FormComponentProps & RmwcSelectProps = {};\n Object.keys(props)\n .filter(name => !skipProps.includes(name))\n // @ts-expect-error\n .forEach((name: any) => (newProps[name] = props[name]));\n\n return newProps;\n};\n/**\n * We check for null and undefined in the value because React is complaining about those values.\n * Error says to use the empty string in null/undefined case.\n */\nexport const Select = (props: SelectProps) => {\n const { value: initialValue, description, validation, ...other } = props;\n\n const value = initialValue === null || initialValue === undefined ? \"\" : initialValue;\n\n const { isValid: validationIsValid, message: validationMessage } = validation || {};\n\n const options = getOptions(other.options);\n\n // Memoize the label and placeholder values based on the component size.\n const { label, placeholder } = useMemo(() => {\n const { size, label, placeholder: placeholderText } = props;\n\n // If `placeholderText` is null, undefined, or an empty string after trimming, `placeholder` will be set to `undefined`.\n const placeholder = placeholderText?.trim() || undefined;\n\n // For small or medium size, we set only the placeholder, using label as fallback.\n if (size === \"small\" || size === \"medium\") {\n return {\n label: undefined,\n placeholder: placeholder || label\n };\n }\n\n // For other sizes, use the provided label and placeholder.\n return {\n label,\n placeholder\n };\n }, [props.label, props.placeholder, props.size]);\n\n return (\n <>\n <RmwcSelect\n {...getRmwcProps(other)}\n ref={undefined}\n options={options}\n value={value}\n label={label}\n placeholder={placeholder}\n className={classNames(\n \"webiny-ui-select mdc-ripple-surface mdc-ripple-upgraded\",\n webinySelect,\n props.size ? `webiny-ui-select--size-${props.size}` : null,\n props.className\n )}\n onChange={(e: React.ChangeEvent<HTMLSelectElement>) => {\n props.onChange && props.onChange(e.target.value);\n }}\n />\n\n {validationIsValid === false && (\n <FormElementMessage error>{validationMessage}</FormElementMessage>\n )}\n\n {validationIsValid !== false && description && (\n <FormElementMessage>{description}</FormElementMessage>\n )}\n </>\n );\n};\n\nexport default Select;\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_react","_interopRequireWildcard","require","_select","_FormElementMessage","_classnames","_interopRequireDefault","_styled","_excluded","getOptions","initialOptions","Array","isArray","options","_iterator","_createForOfIteratorHelper2","default","_step","s","n","done","option","value","push","label","err","e","f","Object","keys","map","key","skipProps","getRmwcProps","props","newProps","filter","name","includes","forEach","Select","exports","initialValue","description","validation","other","_objectWithoutProperties2","undefined","_ref","validationIsValid","isValid","validationMessage","message","_useMemo","useMemo","size","placeholderText","placeholder","trim","createElement","Fragment","assign","ref","className","classNames","webinySelect","concat","onChange","target","FormElementMessage","error","_default"],"sources":["Select.tsx"],"sourcesContent":["import React, { useMemo } from \"react\";\nimport {\n FormattedOption,\n Select as RmwcSelect,\n SelectProps as RmwcSelectProps\n} from \"@rmwc/select\";\nimport { FormElementMessage } from \"~/FormElementMessage\";\nimport { FormComponentProps } from \"~/types\";\nimport classNames from \"classnames\";\nimport { webinySelect } from \"./styled\";\n\nexport type SelectProps = FormComponentProps &\n RmwcSelectProps & {\n // Component label.\n label?: string;\n\n // Is checkbox disabled?\n disabled?: boolean;\n\n // Description beneath the select.\n description?: string;\n\n // Placeholder text for the form control. Set to a blank string to create a non-floating placeholder label.\n placeholder?: string;\n\n // Makes the Select have a visual box.\n box?: string;\n\n // One or more <option> or <optgroup> elements.\n children?: (React.ReactElement<\"option\"> | React.ReactElement<\"optgroup\">)[];\n\n // IconProps for the root element. By default, additional props spread to the native select element.\n rootProps?: {\n [key: string]: any;\n };\n\n // A className for the root element.\n className?: string;\n\n // Size - small, medium or large\n size?: \"small\" | \"medium\" | \"large\";\n };\n\n/**\n * TODO verify that this is correct method get all options.\n */\nconst getOptions = (initialOptions: SelectProps[\"options\"]): FormattedOption[] => {\n if (!initialOptions) {\n return [];\n } else if (Array.isArray(initialOptions)) {\n const options: FormattedOption[] = [];\n for (const option of initialOptions) {\n if (typeof option === \"string\") {\n options.push({\n label: option,\n value: option\n });\n continue;\n }\n options.push({\n label: option.label,\n value: option.value,\n options: option.options\n });\n }\n return options;\n }\n return Object.keys(initialOptions).map(key => {\n return {\n label: initialOptions[key],\n value: key\n };\n });\n};\n\n/**\n * Select component lets users choose a value from given set of options.\n */\nconst skipProps = [\"validate\", \"form\"];\n\nconst getRmwcProps = (props: SelectProps): FormComponentProps & RmwcSelectProps => {\n const newProps: FormComponentProps & RmwcSelectProps = {};\n Object.keys(props)\n .filter(name => !skipProps.includes(name))\n // @ts-expect-error\n .forEach((name: any) => (newProps[name] = props[name]));\n\n return newProps;\n};\n/**\n * We check for null and undefined in the value because React is complaining about those values.\n * Error says to use the empty string in null/undefined case.\n */\nexport const Select = (props: SelectProps) => {\n const { value: initialValue, description, validation, ...other } = props;\n\n const value = initialValue === null || initialValue === undefined ? \"\" : initialValue;\n\n const { isValid: validationIsValid, message: validationMessage } = validation || {};\n\n const options = getOptions(other.options);\n\n // Memoize the label and placeholder values based on the component size.\n const { label, placeholder } = useMemo(() => {\n const { size, label, placeholder: placeholderText } = props;\n\n // If `placeholderText` is null, undefined, or an empty string after trimming, `placeholder` will be set to `undefined`.\n const placeholder = placeholderText?.trim() || undefined;\n\n // For small or medium size, we set only the placeholder, using label as fallback.\n if (size === \"small\" || size === \"medium\") {\n return {\n label: undefined,\n placeholder: placeholder || label\n };\n }\n\n // For other sizes, use the provided label and placeholder.\n return {\n label,\n placeholder\n };\n }, [props.label, props.placeholder, props.size]);\n\n return (\n <>\n <RmwcSelect\n {...getRmwcProps(other)}\n ref={undefined}\n options={options}\n value={value}\n label={label}\n placeholder={placeholder}\n className={classNames(\n \"webiny-ui-select mdc-ripple-surface mdc-ripple-upgraded\",\n webinySelect,\n props.size ? `webiny-ui-select--size-${props.size}` : null,\n props.className\n )}\n onChange={(e: React.ChangeEvent<HTMLSelectElement>) => {\n props.onChange && props.onChange(e.target.value);\n }}\n />\n\n {validationIsValid === false && (\n <FormElementMessage error>{validationMessage}</FormElementMessage>\n )}\n\n {validationIsValid !== false && description && (\n <FormElementMessage>{description}</FormElementMessage>\n )}\n </>\n );\n};\n\nexport default Select;\n"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireDefault","require","_slider","_FormElementMessage","_EMOTION_STRINGIFIED_CSS_ERROR__","Wrapper","_base","default","process","env","NODE_ENV","target","label","name","styles","map","toString","Slider","_React$Component","_this","_classCallCheck2","_len","arguments","length","args","Array","_key","_callSuper2","concat","_defineProperty2","e","props","onChange","detail","value","onInput","_inherits2","_createClass2","key","render","_this$props","description","validation","sliderValue","min","_ref","validationIsValid","isValid","validationMessage","message","createElement","Fragment","className","Object","assign","readOnly","FormElementMessage","error","React","Component","_default","exports"],"sources":["Slider.tsx"],"sourcesContent":["import React from \"react\";\nimport { Slider as RmwcSlider } from \"@rmwc/slider\";\nimport { FormComponentProps } from \"~/types\";\nimport styled from \"@emotion/styled\";\nimport { FormElementMessage } from \"~/FormElementMessage\";\n\ntype Props = FormComponentProps & {\n // Component label.\n label?: string;\n\n // Is checkbox disabled?\n disabled?: boolean;\n\n // Description beneath the slider.\n description?: string;\n\n // The minimum value of the Slider.\n min: number | string;\n\n // The maximum value of the Slider.\n max: number | string;\n\n // A step to quantize values by.\n step?: number | string;\n\n // Displays the exact value of the Slider on the knob.\n discrete?: boolean;\n\n // Displays the individual step markers on the Slider track.\n displayMarkers?: boolean;\n\n // Function that gets triggered on each input.\n onInput?: (value: any) => void;\n\n readOnly?: boolean;\n};\n\n// wrapper fixes a bug in slider where the slider handle is rendered outside the bounds of the slider box\nconst Wrapper = styled(\"div\")({\n width: \"100%\",\n \".mdc-slider .mdc-slider__thumb-container\": {\n left: 5\n }\n});\n\n/**\n * Slider component lets users choose a value from given range.\n */\nclass Slider extends React.Component<Props> {\n onChange = (e: { detail: { value: number } }) => {\n this.props.onChange && this.props.onChange(e.detail.value);\n };\n\n onInput = (e: { detail: { value: number } }) => {\n this.props.onInput && this.props.onInput(e.detail.value);\n };\n\n public override render() {\n const { value, label, description, validation } = this.props;\n\n let sliderValue = value;\n if (value === null || typeof value === \"undefined\") {\n sliderValue = this.props.min || 0;\n }\n\n const { isValid: validationIsValid, message: validationMessage } = validation || {};\n\n return (\n <React.Fragment>\n {label && (\n <div className=\"mdc-text-field-helper-text mdc-text-field-helper-text--persistent\">\n {label}\n </div>\n )}\n\n <Wrapper>\n <RmwcSlider\n // Had to add readOnly so the warning does not appear in the console.\n readOnly={true}\n {...this.props}\n value={sliderValue}\n onChange={this.onChange}\n onInput={this.onInput}\n />\n </Wrapper>\n\n {validationIsValid === false && (\n <FormElementMessage error>{validationMessage}</FormElementMessage>\n )}\n\n {validationIsValid !== false && description && (\n <FormElementMessage>{description}</FormElementMessage>\n )}\n </React.Fragment>\n );\n }\n}\n\nexport default Slider;\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_react","_interopRequireDefault","require","_slider","_FormElementMessage","_EMOTION_STRINGIFIED_CSS_ERROR__","Wrapper","_base","default","process","env","NODE_ENV","target","label","name","styles","map","toString","Slider","_React$Component","_this","_classCallCheck2","_len","arguments","length","args","Array","_key","_callSuper2","concat","_defineProperty2","e","props","onChange","detail","value","onInput","_inherits2","_createClass2","key","render","_this$props","description","validation","sliderValue","min","_ref","validationIsValid","isValid","validationMessage","message","createElement","Fragment","className","Object","assign","readOnly","FormElementMessage","error","React","Component","_default","exports"],"sources":["Slider.tsx"],"sourcesContent":["import React from \"react\";\nimport { Slider as RmwcSlider } from \"@rmwc/slider\";\nimport { FormComponentProps } from \"~/types\";\nimport styled from \"@emotion/styled\";\nimport { FormElementMessage } from \"~/FormElementMessage\";\n\ntype Props = FormComponentProps & {\n // Component label.\n label?: string;\n\n // Is checkbox disabled?\n disabled?: boolean;\n\n // Description beneath the slider.\n description?: string;\n\n // The minimum value of the Slider.\n min: number | string;\n\n // The maximum value of the Slider.\n max: number | string;\n\n // A step to quantize values by.\n step?: number | string;\n\n // Displays the exact value of the Slider on the knob.\n discrete?: boolean;\n\n // Displays the individual step markers on the Slider track.\n displayMarkers?: boolean;\n\n // Function that gets triggered on each input.\n onInput?: (value: any) => void;\n\n readOnly?: boolean;\n};\n\n// wrapper fixes a bug in slider where the slider handle is rendered outside the bounds of the slider box\nconst Wrapper = styled(\"div\")({\n width: \"100%\",\n \".mdc-slider .mdc-slider__thumb-container\": {\n left: 5\n }\n});\n\n/**\n * Slider component lets users choose a value from given range.\n */\nclass Slider extends React.Component<Props> {\n onChange = (e: { detail: { value: number } }) => {\n this.props.onChange && this.props.onChange(e.detail.value);\n };\n\n onInput = (e: { detail: { value: number } }) => {\n this.props.onInput && this.props.onInput(e.detail.value);\n };\n\n public override render() {\n const { value, label, description, validation } = this.props;\n\n let sliderValue = value;\n if (value === null || typeof value === \"undefined\") {\n sliderValue = this.props.min || 0;\n }\n\n const { isValid: validationIsValid, message: validationMessage } = validation || {};\n\n return (\n <React.Fragment>\n {label && (\n <div className=\"mdc-text-field-helper-text mdc-text-field-helper-text--persistent\">\n {label}\n </div>\n )}\n\n <Wrapper>\n <RmwcSlider\n // Had to add readOnly so the warning does not appear in the console.\n readOnly={true}\n {...this.props}\n value={sliderValue}\n onChange={this.onChange}\n onInput={this.onInput}\n />\n </Wrapper>\n\n {validationIsValid === false && (\n <FormElementMessage error>{validationMessage}</FormElementMessage>\n )}\n\n {validationIsValid !== false && description && (\n <FormElementMessage>{description}</FormElementMessage>\n )}\n </React.Fragment>\n );\n }\n}\n\nexport default Slider;\n"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireDefault","require","_snackbar","Snackbar","exports","_React$Component","props","_this","_classCallCheck2","default","_callSuper2","_defineProperty2","container","document","getElementById","createElement","setAttribute","body","appendChild","_inherits2","_createClass2","key","value","render","React","Component"],"sources":["Snackbar.tsx"],"sourcesContent":["import React from \"react\";\nimport { Snackbar as RmwcSnackbar, SnackbarAction, SnackbarProps } from \"@rmwc/snackbar\";\n\ntype Props = SnackbarProps;\n\n/**\n * Use Snackbar component to display an informative or alert message and allow users to act upon it.\n */\nclass Snackbar extends React.Component<Props> {\n public readonly container: HTMLElement | null = null;\n\n public constructor(props: Props) {\n super(props);\n\n this.container = document.getElementById(\"snackbar-container\");\n\n if (!this.container) {\n this.container = document.createElement(\"div\");\n this.container.setAttribute(\"id\", \"snackbar-container\");\n const container: HTMLElement = this.container;\n document.body && document.body.appendChild(container);\n }\n }\n\n public override render(): React.ReactElement {\n return <RmwcSnackbar {...this.props} />;\n }\n}\n\nexport { Snackbar, SnackbarAction };\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,SAAA,GAAAD,OAAA;AAIA;AACA;AACA;AAFA,IAGME,QAAQ,GAAAC,OAAA,CAAAD,QAAA,0BAAAE,gBAAA;EAGV,SAAAF,SAAmBG,KAAY,EAAE;IAAA,IAAAC,KAAA;IAAA,IAAAC,gBAAA,CAAAC,OAAA,QAAAN,QAAA;IAC7BI,KAAA,OAAAG,WAAA,CAAAD,OAAA,QAAAN,QAAA,GAAMG,KAAK;IAAE,IAAAK,gBAAA,CAAAF,OAAA,EAAAF,KAAA,eAH+B,IAAI;IAKhDA,KAAA,CAAKK,SAAS,GAAGC,QAAQ,CAACC,cAAc,CAAC,oBAAoB,CAAC;IAE9D,IAAI,CAACP,KAAA,CAAKK,SAAS,EAAE;MACjBL,KAAA,CAAKK,SAAS,GAAGC,QAAQ,CAACE,aAAa,CAAC,KAAK,CAAC;MAC9CR,KAAA,CAAKK,SAAS,CAACI,YAAY,CAAC,IAAI,EAAE,oBAAoB,CAAC;MACvD,IAAMJ,SAAsB,GAAGL,KAAA,CAAKK,SAAS;MAC7CC,QAAQ,CAACI,IAAI,IAAIJ,QAAQ,CAACI,IAAI,CAACC,WAAW,CAACN,SAAS,CAAC;IACzD;IAAC,OAAAL,KAAA;EACL;EAAC,IAAAY,UAAA,CAAAV,OAAA,EAAAN,QAAA,EAAAE,gBAAA;EAAA,WAAAe,aAAA,CAAAX,OAAA,EAAAN,QAAA;IAAAkB,GAAA;IAAAC,KAAA,EAED,SAAAC,OAAA,EAA6C;MACzC,oBAAOxB,MAAA,CAAAU,OAAA,CAAAM,aAAA,CAACb,SAAA,CAAAC,QAAY,EAAK,IAAI,CAACG,KAAQ,CAAC;IAC3C;EAAC;AAAA,EAlBkBkB,cAAK,CAACC,SAAS","ignoreList":[]}
1
+ {"version":3,"names":["_react","_interopRequireDefault","require","_snackbar","Snackbar","exports","_React$Component","props","_this","_classCallCheck2","default","_callSuper2","_defineProperty2","container","document","getElementById","createElement","setAttribute","body","appendChild","_inherits2","_createClass2","key","value","render","React","Component"],"sources":["Snackbar.tsx"],"sourcesContent":["import React from \"react\";\nimport { Snackbar as RmwcSnackbar, SnackbarAction, SnackbarProps } from \"@rmwc/snackbar\";\n\ntype Props = SnackbarProps;\n\n/**\n * Use Snackbar component to display an informative or alert message and allow users to act upon it.\n */\nclass Snackbar extends React.Component<Props> {\n public readonly container: HTMLElement | null = null;\n\n public constructor(props: Props) {\n super(props);\n\n this.container = document.getElementById(\"snackbar-container\");\n\n if (!this.container) {\n this.container = document.createElement(\"div\");\n this.container.setAttribute(\"id\", \"snackbar-container\");\n const container: HTMLElement = this.container;\n document.body && document.body.appendChild(container);\n }\n }\n\n public override render(): React.ReactElement {\n return <RmwcSnackbar {...this.props} />;\n }\n}\n\nexport { Snackbar, SnackbarAction };\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,SAAA,GAAAD,OAAA;AAIA;AACA;AACA;AAFA,IAGME,QAAQ,GAAAC,OAAA,CAAAD,QAAA,0BAAAE,gBAAA;EAGV,SAAAF,SAAmBG,KAAY,EAAE;IAAA,IAAAC,KAAA;IAAA,IAAAC,gBAAA,CAAAC,OAAA,QAAAN,QAAA;IAC7BI,KAAA,OAAAG,WAAA,CAAAD,OAAA,QAAAN,QAAA,GAAMG,KAAK;IAAE,IAAAK,gBAAA,CAAAF,OAAA,EAAAF,KAAA,eAH+B,IAAI;IAKhDA,KAAA,CAAKK,SAAS,GAAGC,QAAQ,CAACC,cAAc,CAAC,oBAAoB,CAAC;IAE9D,IAAI,CAACP,KAAA,CAAKK,SAAS,EAAE;MACjBL,KAAA,CAAKK,SAAS,GAAGC,QAAQ,CAACE,aAAa,CAAC,KAAK,CAAC;MAC9CR,KAAA,CAAKK,SAAS,CAACI,YAAY,CAAC,IAAI,EAAE,oBAAoB,CAAC;MACvD,IAAMJ,SAAsB,GAAGL,KAAA,CAAKK,SAAS;MAC7CC,QAAQ,CAACI,IAAI,IAAIJ,QAAQ,CAACI,IAAI,CAACC,WAAW,CAACN,SAAS,CAAC;IACzD;IAAC,OAAAL,KAAA;EACL;EAAC,IAAAY,UAAA,CAAAV,OAAA,EAAAN,QAAA,EAAAE,gBAAA;EAAA,WAAAe,aAAA,CAAAX,OAAA,EAAAN,QAAA;IAAAkB,GAAA;IAAAC,KAAA,EAED,SAAgBC,MAAMA,CAAA,EAAuB;MACzC,oBAAOxB,MAAA,CAAAU,OAAA,CAAAM,aAAA,CAACb,SAAA,CAAAC,QAAY,EAAK,IAAI,CAACG,KAAQ,CAAC;IAC3C;EAAC;AAAA,EAlBkBkB,cAAK,CAACC,SAAS","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireDefault","require","_switch","_pick","_FormElementMessage","_Helpers","Switch","exports","_React$Component","_classCallCheck2","default","_callSuper2","arguments","_inherits2","_createClass2","key","value","render","_this","_this$props","props","description","validation","_ref","validationIsValid","isValid","validationMessage","message","createElement","Fragment","Object","assign","getClasses","_objectSpread2","pick","rmwcProps","checked","Boolean","onClick","onChange","FormElementMessage","error","React","Component","_defineProperty2"],"sources":["Switch.tsx"],"sourcesContent":["import React from \"react\";\nimport { Switch as RmwcSwitch, SwitchProps } from \"@rmwc/switch\";\nimport { FormComponentProps } from \"~/types\";\nimport pick from \"lodash/pick\";\nimport { FormElementMessage } from \"~/FormElementMessage\";\nimport { getClasses } from \"~/Helpers\";\n\ntype Props = Omit<SwitchProps, \"value\"> &\n FormComponentProps<boolean> & {\n // Description beneath the switch.\n description?: string;\n\n // Optional class name.\n className?: string;\n };\n\n/**\n * Switch component can be used to store simple boolean values.\n */\nclass Switch extends React.Component<Props> {\n static rmwcProps = [\"id\", \"disabled\", \"checked\", \"label\", \"rootProps\", \"className\"];\n\n public override render() {\n const { value, description, validation } = this.props;\n\n const { isValid: validationIsValid, message: validationMessage } = validation || {};\n\n return (\n <React.Fragment>\n <RmwcSwitch\n {...getClasses({ ...pick(this.props, Switch.rmwcProps) }, \"webiny-ui-switch\")}\n checked={Boolean(value)}\n onClick={() => this.props.onChange && this.props.onChange(!value)}\n />\n\n {validationIsValid === false && (\n <FormElementMessage error>{validationMessage}</FormElementMessage>\n )}\n\n {validationIsValid !== false && description && (\n <FormElementMessage>{description}</FormElementMessage>\n )}\n </React.Fragment>\n );\n }\n}\n\nexport { Switch };\n"],"mappings":";;;;;;;;;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,OAAA,GAAAD,OAAA;AAEA,IAAAE,KAAA,GAAAH,sBAAA,CAAAC,OAAA;AACA,IAAAG,mBAAA,GAAAH,OAAA;AACA,IAAAI,QAAA,GAAAJ,OAAA;AAWA;AACA;AACA;AAFA,IAGMK,MAAM,GAAAC,OAAA,CAAAD,MAAA,0BAAAE,gBAAA;EAAA,SAAAF,OAAA;IAAA,IAAAG,gBAAA,CAAAC,OAAA,QAAAJ,MAAA;IAAA,WAAAK,WAAA,CAAAD,OAAA,QAAAJ,MAAA,EAAAM,SAAA;EAAA;EAAA,IAAAC,UAAA,CAAAH,OAAA,EAAAJ,MAAA,EAAAE,gBAAA;EAAA,WAAAM,aAAA,CAAAJ,OAAA,EAAAJ,MAAA;IAAAS,GAAA;IAAAC,KAAA,EAGR,SAAAC,OAAA,EAAyB;MAAA,IAAAC,KAAA;MACrB,IAAAC,WAAA,GAA2C,IAAI,CAACC,KAAK;QAA7CJ,KAAK,GAAAG,WAAA,CAALH,KAAK;QAAEK,WAAW,GAAAF,WAAA,CAAXE,WAAW;QAAEC,UAAU,GAAAH,WAAA,CAAVG,UAAU;MAEtC,IAAAC,IAAA,GAAmED,UAAU,IAAI,CAAC,CAAC;QAAlEE,iBAAiB,GAAAD,IAAA,CAA1BE,OAAO;QAA8BC,iBAAiB,GAAAH,IAAA,CAA1BI,OAAO;MAE3C,oBACI5B,MAAA,CAAAW,OAAA,CAAAkB,aAAA,CAAC7B,MAAA,CAAAW,OAAK,CAACmB,QAAQ,qBACX9B,MAAA,CAAAW,OAAA,CAAAkB,aAAA,CAAC1B,OAAA,CAAAI,MAAU,EAAAwB,MAAA,CAAAC,MAAA,KACH,IAAAC,mBAAU,MAAAC,cAAA,CAAAvB,OAAA,MAAM,IAAAwB,aAAI,EAAC,IAAI,CAACd,KAAK,EAAEd,MAAM,CAAC6B,SAAS,CAAC,GAAI,kBAAkB,CAAC;QAC7EC,OAAO,EAAEC,OAAO,CAACrB,KAAK,CAAE;QACxBsB,OAAO,EAAE,SAAAA,QAAA;UAAA,OAAMpB,KAAI,CAACE,KAAK,CAACmB,QAAQ,IAAIrB,KAAI,CAACE,KAAK,CAACmB,QAAQ,CAAC,CAACvB,KAAK,CAAC;QAAA;MAAC,EACrE,CAAC,EAEDQ,iBAAiB,KAAK,KAAK,iBACxBzB,MAAA,CAAAW,OAAA,CAAAkB,aAAA,CAACxB,mBAAA,CAAAoC,kBAAkB;QAACC,KAAK;MAAA,GAAEf,iBAAsC,CACpE,EAEAF,iBAAiB,KAAK,KAAK,IAAIH,WAAW,iBACvCtB,MAAA,CAAAW,OAAA,CAAAkB,aAAA,CAACxB,mBAAA,CAAAoC,kBAAkB,QAAEnB,WAAgC,CAE7C,CAAC;IAEzB;EAAC;AAAA,EAzBgBqB,cAAK,CAACC,SAAS;AAAA,IAAAC,gBAAA,CAAAlC,OAAA,EAA9BJ,MAAM,eACW,CAAC,IAAI,EAAE,UAAU,EAAE,SAAS,EAAE,OAAO,EAAE,WAAW,EAAE,WAAW,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["_react","_interopRequireDefault","require","_switch","_pick","_FormElementMessage","_Helpers","Switch","exports","_React$Component","_classCallCheck2","default","_callSuper2","arguments","_inherits2","_createClass2","key","value","render","_this","_this$props","props","description","validation","_ref","validationIsValid","isValid","validationMessage","message","createElement","Fragment","Object","assign","getClasses","_objectSpread2","pick","rmwcProps","checked","Boolean","onClick","onChange","FormElementMessage","error","React","Component","_defineProperty2"],"sources":["Switch.tsx"],"sourcesContent":["import React from \"react\";\nimport { Switch as RmwcSwitch, SwitchProps } from \"@rmwc/switch\";\nimport { FormComponentProps } from \"~/types\";\nimport pick from \"lodash/pick\";\nimport { FormElementMessage } from \"~/FormElementMessage\";\nimport { getClasses } from \"~/Helpers\";\n\ntype Props = Omit<SwitchProps, \"value\"> &\n FormComponentProps<boolean> & {\n // Description beneath the switch.\n description?: string;\n\n // Optional class name.\n className?: string;\n };\n\n/**\n * Switch component can be used to store simple boolean values.\n */\nclass Switch extends React.Component<Props> {\n static rmwcProps = [\"id\", \"disabled\", \"checked\", \"label\", \"rootProps\", \"className\"];\n\n public override render() {\n const { value, description, validation } = this.props;\n\n const { isValid: validationIsValid, message: validationMessage } = validation || {};\n\n return (\n <React.Fragment>\n <RmwcSwitch\n {...getClasses({ ...pick(this.props, Switch.rmwcProps) }, \"webiny-ui-switch\")}\n checked={Boolean(value)}\n onClick={() => this.props.onChange && this.props.onChange(!value)}\n />\n\n {validationIsValid === false && (\n <FormElementMessage error>{validationMessage}</FormElementMessage>\n )}\n\n {validationIsValid !== false && description && (\n <FormElementMessage>{description}</FormElementMessage>\n )}\n </React.Fragment>\n );\n }\n}\n\nexport { Switch };\n"],"mappings":";;;;;;;;;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,OAAA,GAAAD,OAAA;AAEA,IAAAE,KAAA,GAAAH,sBAAA,CAAAC,OAAA;AACA,IAAAG,mBAAA,GAAAH,OAAA;AACA,IAAAI,QAAA,GAAAJ,OAAA;AAWA;AACA;AACA;AAFA,IAGMK,MAAM,GAAAC,OAAA,CAAAD,MAAA,0BAAAE,gBAAA;EAAA,SAAAF,OAAA;IAAA,IAAAG,gBAAA,CAAAC,OAAA,QAAAJ,MAAA;IAAA,WAAAK,WAAA,CAAAD,OAAA,QAAAJ,MAAA,EAAAM,SAAA;EAAA;EAAA,IAAAC,UAAA,CAAAH,OAAA,EAAAJ,MAAA,EAAAE,gBAAA;EAAA,WAAAM,aAAA,CAAAJ,OAAA,EAAAJ,MAAA;IAAAS,GAAA;IAAAC,KAAA,EAGR,SAAgBC,MAAMA,CAAA,EAAG;MAAA,IAAAC,KAAA;MACrB,IAAAC,WAAA,GAA2C,IAAI,CAACC,KAAK;QAA7CJ,KAAK,GAAAG,WAAA,CAALH,KAAK;QAAEK,WAAW,GAAAF,WAAA,CAAXE,WAAW;QAAEC,UAAU,GAAAH,WAAA,CAAVG,UAAU;MAEtC,IAAAC,IAAA,GAAmED,UAAU,IAAI,CAAC,CAAC;QAAlEE,iBAAiB,GAAAD,IAAA,CAA1BE,OAAO;QAA8BC,iBAAiB,GAAAH,IAAA,CAA1BI,OAAO;MAE3C,oBACI5B,MAAA,CAAAW,OAAA,CAAAkB,aAAA,CAAC7B,MAAA,CAAAW,OAAK,CAACmB,QAAQ,qBACX9B,MAAA,CAAAW,OAAA,CAAAkB,aAAA,CAAC1B,OAAA,CAAAI,MAAU,EAAAwB,MAAA,CAAAC,MAAA,KACH,IAAAC,mBAAU,MAAAC,cAAA,CAAAvB,OAAA,MAAM,IAAAwB,aAAI,EAAC,IAAI,CAACd,KAAK,EAAEd,MAAM,CAAC6B,SAAS,CAAC,GAAI,kBAAkB,CAAC;QAC7EC,OAAO,EAAEC,OAAO,CAACrB,KAAK,CAAE;QACxBsB,OAAO,EAAE,SAATA,OAAOA,CAAA;UAAA,OAAQpB,KAAI,CAACE,KAAK,CAACmB,QAAQ,IAAIrB,KAAI,CAACE,KAAK,CAACmB,QAAQ,CAAC,CAACvB,KAAK,CAAC;QAAA;MAAC,EACrE,CAAC,EAEDQ,iBAAiB,KAAK,KAAK,iBACxBzB,MAAA,CAAAW,OAAA,CAAAkB,aAAA,CAACxB,mBAAA,CAAAoC,kBAAkB;QAACC,KAAK;MAAA,GAAEf,iBAAsC,CACpE,EAEAF,iBAAiB,KAAK,KAAK,IAAIH,WAAW,iBACvCtB,MAAA,CAAAW,OAAA,CAAAkB,aAAA,CAACxB,mBAAA,CAAAoC,kBAAkB,QAAEnB,WAAgC,CAE7C,CAAC;IAEzB;EAAC;AAAA,EAzBgBqB,cAAK,CAACC,SAAS;AAAA,IAAAC,gBAAA,CAAAlC,OAAA,EAA9BJ,MAAM,eACW,CAAC,IAAI,EAAE,UAAU,EAAE,SAAS,EAAE,OAAO,EAAE,WAAW,EAAE,WAAW,CAAC","ignoreList":[]}
package/Tabs/Tab.js CHANGED
@@ -8,11 +8,11 @@ Object.defineProperty(exports, "__esModule", {
8
8
  exports.Tab = void 0;
9
9
  var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
10
10
  var _react = _interopRequireWildcard(require("react"));
11
- var _shortid = _interopRequireDefault(require("shortid"));
11
+ var _generateId = require("@webiny/utils/generateId");
12
12
  var _Tabs = require("./Tabs");
13
13
  var Tab = exports.Tab = /*#__PURE__*/_react.default.memo(function (props) {
14
14
  var tabsContext = (0, _react.useContext)(_Tabs.TabsContext);
15
- var idRef = (0, _react.useRef)(_shortid.default.generate());
15
+ var idRef = (0, _react.useRef)((0, _generateId.generateAlphaNumericId)(12));
16
16
  (0, _react.useEffect)(function () {
17
17
  tabsContext.addTab((0, _objectSpread2.default)((0, _objectSpread2.default)({}, props), {}, {
18
18
  id: idRef.current,
package/Tabs/Tab.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireWildcard","require","_shortid","_interopRequireDefault","_Tabs","Tab","exports","React","memo","props","tabsContext","useContext","TabsContext","idRef","useRef","shortid","generate","useEffect","addTab","_objectSpread2","default","id","current","visible","removeTab","displayName"],"sources":["Tab.tsx"],"sourcesContent":["import React, { useContext, useEffect, useRef } from \"react\";\nimport { TabProps as RmwcTabProps } from \"@rmwc/tabs\";\nimport shortid from \"shortid\";\nimport { TabsContext } from \"./Tabs\";\n\nexport type TabProps = RmwcTabProps & {\n visible?: boolean;\n\n tag?: string;\n /**\n * Is tab disabled?\n */\n disabled?: boolean;\n /**\n * Style object\n */\n style?: React.CSSProperties;\n /**\n * Tab ID for the testing.\n */\n \"data-testid\"?: string;\n};\n\nexport const Tab = React.memo((props: TabProps) => {\n const tabsContext = useContext(TabsContext);\n const idRef = useRef(shortid.generate());\n\n useEffect(() => {\n tabsContext!.addTab({ ...props, id: idRef.current, visible: props.visible ?? true });\n }, [props]);\n\n useEffect(() => {\n return () => {\n return tabsContext!.removeTab(idRef.current);\n };\n }, []);\n\n return null;\n});\n\nTab.displayName = \"Tab\";\n"],"mappings":";;;;;;;;;AAAA,IAAAA,MAAA,GAAAC,uBAAA,CAAAC,OAAA;AAEA,IAAAC,QAAA,GAAAC,sBAAA,CAAAF,OAAA;AACA,IAAAG,KAAA,GAAAH,OAAA;AAoBO,IAAMI,GAAG,GAAAC,OAAA,CAAAD,GAAA,gBAAGE,cAAK,CAACC,IAAI,CAAC,UAACC,KAAe,EAAK;EAC/C,IAAMC,WAAW,GAAG,IAAAC,iBAAU,EAACC,iBAAW,CAAC;EAC3C,IAAMC,KAAK,GAAG,IAAAC,aAAM,EAACC,gBAAO,CAACC,QAAQ,CAAC,CAAC,CAAC;EAExC,IAAAC,gBAAS,EAAC,YAAM;IACZP,WAAW,CAAEQ,MAAM,KAAAC,cAAA,CAAAC,OAAA,MAAAD,cAAA,CAAAC,OAAA,MAAMX,KAAK;MAAEY,EAAE,EAAER,KAAK,CAACS,OAAO;MAAEC,OAAO,EAAEd,KAAK,CAACc,OAAO,IAAI;IAAI,EAAE,CAAC;EACxF,CAAC,EAAE,CAACd,KAAK,CAAC,CAAC;EAEX,IAAAQ,gBAAS,EAAC,YAAM;IACZ,OAAO,YAAM;MACT,OAAOP,WAAW,CAAEc,SAAS,CAACX,KAAK,CAACS,OAAO,CAAC;IAChD,CAAC;EACL,CAAC,EAAE,EAAE,CAAC;EAEN,OAAO,IAAI;AACf,CAAC,CAAC;AAEFjB,GAAG,CAACoB,WAAW,GAAG,KAAK","ignoreList":[]}
1
+ {"version":3,"names":["_react","_interopRequireWildcard","require","_generateId","_Tabs","Tab","exports","React","memo","props","tabsContext","useContext","TabsContext","idRef","useRef","generateAlphaNumericId","useEffect","addTab","_objectSpread2","default","id","current","visible","removeTab","displayName"],"sources":["Tab.tsx"],"sourcesContent":["import React, { useContext, useEffect, useRef } from \"react\";\nimport { TabProps as RmwcTabProps } from \"@rmwc/tabs\";\nimport { generateAlphaNumericId } from \"@webiny/utils/generateId\";\nimport { TabsContext } from \"./Tabs\";\n\nexport type TabProps = RmwcTabProps & {\n visible?: boolean;\n\n tag?: string;\n /**\n * Is tab disabled?\n */\n disabled?: boolean;\n /**\n * Style object\n */\n style?: React.CSSProperties;\n /**\n * Tab ID for the testing.\n */\n \"data-testid\"?: string;\n};\n\nexport const Tab = React.memo((props: TabProps) => {\n const tabsContext = useContext(TabsContext);\n const idRef = useRef(generateAlphaNumericId(12));\n\n useEffect(() => {\n tabsContext!.addTab({ ...props, id: idRef.current, visible: props.visible ?? true });\n }, [props]);\n\n useEffect(() => {\n return () => {\n return tabsContext!.removeTab(idRef.current);\n };\n }, []);\n\n return null;\n});\n\nTab.displayName = \"Tab\";\n"],"mappings":";;;;;;;;;AAAA,IAAAA,MAAA,GAAAC,uBAAA,CAAAC,OAAA;AAEA,IAAAC,WAAA,GAAAD,OAAA;AACA,IAAAE,KAAA,GAAAF,OAAA;AAoBO,IAAMG,GAAG,GAAAC,OAAA,CAAAD,GAAA,gBAAGE,cAAK,CAACC,IAAI,CAAC,UAACC,KAAe,EAAK;EAC/C,IAAMC,WAAW,GAAG,IAAAC,iBAAU,EAACC,iBAAW,CAAC;EAC3C,IAAMC,KAAK,GAAG,IAAAC,aAAM,EAAC,IAAAC,kCAAsB,EAAC,EAAE,CAAC,CAAC;EAEhD,IAAAC,gBAAS,EAAC,YAAM;IACZN,WAAW,CAAEO,MAAM,KAAAC,cAAA,CAAAC,OAAA,MAAAD,cAAA,CAAAC,OAAA,MAAMV,KAAK;MAAEW,EAAE,EAAEP,KAAK,CAACQ,OAAO;MAAEC,OAAO,EAAEb,KAAK,CAACa,OAAO,IAAI;IAAI,EAAE,CAAC;EACxF,CAAC,EAAE,CAACb,KAAK,CAAC,CAAC;EAEX,IAAAO,gBAAS,EAAC,YAAM;IACZ,OAAO,YAAM;MACT,OAAON,WAAW,CAAEa,SAAS,CAACV,KAAK,CAACQ,OAAO,CAAC;IAChD,CAAC;EACL,CAAC,EAAE,EAAE,CAAC;EAEN,OAAO,IAAI;AACf,CAAC,CAAC;AAEFhB,GAAG,CAACmB,WAAW,GAAG,KAAK","ignoreList":[]}
package/Tabs/Tabs.d.ts CHANGED
@@ -1,6 +1,6 @@
1
- import React, { PropsWithChildren } from "react";
1
+ import React from "react";
2
2
  import { TabProps } from "./Tab";
3
- export type TabsProps = PropsWithChildren<{
3
+ export interface TabsProps extends React.HTMLAttributes<HTMLDivElement> {
4
4
  /**
5
5
  * Append a class name.
6
6
  */
@@ -17,7 +17,7 @@ export type TabsProps = PropsWithChildren<{
17
17
  * Tab ID for the testing.
18
18
  */
19
19
  "data-testid"?: string;
20
- }>;
20
+ }
21
21
  interface TabItem extends TabProps {
22
22
  id: string;
23
23
  }
@@ -30,7 +30,7 @@ export declare const TabsContext: React.Context<TabsContext | undefined>;
30
30
  * Use Tabs component to display a list of choices, once the handler is triggered.
31
31
  */
32
32
  export declare const Tabs: {
33
- (props: TabsProps): React.JSX.Element;
33
+ ({ children, value, onActivate, className, ...props }: TabsProps): React.JSX.Element;
34
34
  displayName: string;
35
35
  };
36
36
  export {};