@bigbinary/neeto-molecules 0.0.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.
- package/README.md +60 -0
- package/dist/BrowserSupport.cjs.js +1727 -0
- package/dist/BrowserSupport.cjs.js.map +1 -0
- package/dist/BrowserSupport.js +1721 -0
- package/dist/BrowserSupport.js.map +1 -0
- package/dist/Columns.cjs.js +191 -0
- package/dist/Columns.cjs.js.map +1 -0
- package/dist/Columns.js +184 -0
- package/dist/Columns.js.map +1 -0
- package/dist/Container.cjs.js +1277 -0
- package/dist/Container.cjs.js.map +1 -0
- package/dist/Container.js +1271 -0
- package/dist/Container.js.map +1 -0
- package/dist/CopyToClipboardButton.cjs.js +78 -0
- package/dist/CopyToClipboardButton.cjs.js.map +1 -0
- package/dist/CopyToClipboardButton.js +72 -0
- package/dist/CopyToClipboardButton.js.map +1 -0
- package/dist/CustomDomain.cjs.js +680 -0
- package/dist/CustomDomain.cjs.js.map +1 -0
- package/dist/CustomDomain.js +654 -0
- package/dist/CustomDomain.js.map +1 -0
- package/dist/CustomDomainDashboard.cjs.js +2306 -0
- package/dist/CustomDomainDashboard.cjs.js.map +1 -0
- package/dist/CustomDomainDashboard.js +2279 -0
- package/dist/CustomDomainDashboard.js.map +1 -0
- package/dist/DateFormat.cjs.js +51 -0
- package/dist/DateFormat.cjs.js.map +1 -0
- package/dist/DateFormat.js +45 -0
- package/dist/DateFormat.js.map +1 -0
- package/dist/DateRangeFilter.cjs.js +236 -0
- package/dist/DateRangeFilter.cjs.js.map +1 -0
- package/dist/DateRangeFilter.js +229 -0
- package/dist/DateRangeFilter.js.map +1 -0
- package/dist/DynamicVariables.cjs.js +112 -0
- package/dist/DynamicVariables.cjs.js.map +1 -0
- package/dist/DynamicVariables.js +106 -0
- package/dist/DynamicVariables.js.map +1 -0
- package/dist/EmailPreview.cjs.js +102 -0
- package/dist/EmailPreview.cjs.js.map +1 -0
- package/dist/EmailPreview.js +96 -0
- package/dist/EmailPreview.js.map +1 -0
- package/dist/ErrorPage.cjs.js +208 -0
- package/dist/ErrorPage.cjs.js.map +1 -0
- package/dist/ErrorPage.js +184 -0
- package/dist/ErrorPage.js.map +1 -0
- package/dist/Header.cjs.js +219 -0
- package/dist/Header.cjs.js.map +1 -0
- package/dist/Header.js +213 -0
- package/dist/Header.js.map +1 -0
- package/dist/IconPicker.cjs.js +1307 -0
- package/dist/IconPicker.cjs.js.map +1 -0
- package/dist/IconPicker.js +1301 -0
- package/dist/IconPicker.js.map +1 -0
- package/dist/IntegrationCard.cjs.js +75 -0
- package/dist/IntegrationCard.cjs.js.map +1 -0
- package/dist/IntegrationCard.js +69 -0
- package/dist/IntegrationCard.js.map +1 -0
- package/dist/IntegrationDisconnectAlert.cjs.js +81 -0
- package/dist/IntegrationDisconnectAlert.cjs.js.map +1 -0
- package/dist/IntegrationDisconnectAlert.js +75 -0
- package/dist/IntegrationDisconnectAlert.js.map +1 -0
- package/dist/IntegrationWalkthroughModal.cjs.js +42 -0
- package/dist/IntegrationWalkthroughModal.cjs.js.map +1 -0
- package/dist/IntegrationWalkthroughModal.js +36 -0
- package/dist/IntegrationWalkthroughModal.js.map +1 -0
- package/dist/IpRestriction.cjs.js +3764 -0
- package/dist/IpRestriction.cjs.js.map +1 -0
- package/dist/IpRestriction.js +3738 -0
- package/dist/IpRestriction.js.map +1 -0
- package/dist/KeyboardShortcuts.cjs.js +2242 -0
- package/dist/KeyboardShortcuts.cjs.js.map +1 -0
- package/dist/KeyboardShortcuts.js +2235 -0
- package/dist/KeyboardShortcuts.js.map +1 -0
- package/dist/LoginPage.cjs.js +618 -0
- package/dist/LoginPage.cjs.js.map +1 -0
- package/dist/LoginPage.js +593 -0
- package/dist/LoginPage.js.map +1 -0
- package/dist/MenuBar.cjs.js +31044 -0
- package/dist/MenuBar.cjs.js.map +1 -0
- package/dist/MenuBar.js +31038 -0
- package/dist/MenuBar.js.map +1 -0
- package/dist/NeetoWidget.cjs.js +3369 -0
- package/dist/NeetoWidget.cjs.js.map +1 -0
- package/dist/NeetoWidget.js +3343 -0
- package/dist/NeetoWidget.js.map +1 -0
- package/dist/PageLoader.cjs.js +158 -0
- package/dist/PageLoader.cjs.js.map +1 -0
- package/dist/PageLoader.js +134 -0
- package/dist/PageLoader.js.map +1 -0
- package/dist/PhoneNumber.cjs.js +7021 -0
- package/dist/PhoneNumber.cjs.js.map +1 -0
- package/dist/PhoneNumber.js +6989 -0
- package/dist/PhoneNumber.js.map +1 -0
- package/dist/PublishBlock.cjs.js +189 -0
- package/dist/PublishBlock.cjs.js.map +1 -0
- package/dist/PublishBlock.js +183 -0
- package/dist/PublishBlock.js.map +1 -0
- package/dist/Rename.cjs.js +306 -0
- package/dist/Rename.cjs.js.map +1 -0
- package/dist/Rename.js +300 -0
- package/dist/Rename.js.map +1 -0
- package/dist/ResponsiveDevicePicker.cjs.js +260 -0
- package/dist/ResponsiveDevicePicker.cjs.js.map +1 -0
- package/dist/ResponsiveDevicePicker.js +254 -0
- package/dist/ResponsiveDevicePicker.js.map +1 -0
- package/dist/Schedule.cjs.js +952 -0
- package/dist/Schedule.cjs.js.map +1 -0
- package/dist/Schedule.js +921 -0
- package/dist/Schedule.js.map +1 -0
- package/dist/Scrollable.cjs.js +184 -0
- package/dist/Scrollable.cjs.js.map +1 -0
- package/dist/Scrollable.js +178 -0
- package/dist/Scrollable.js.map +1 -0
- package/dist/ShareViaEmail.cjs.js +2992 -0
- package/dist/ShareViaEmail.cjs.js.map +1 -0
- package/dist/ShareViaEmail.js +2966 -0
- package/dist/ShareViaEmail.js.map +1 -0
- package/dist/ShareViaLink.cjs.js +1385 -0
- package/dist/ShareViaLink.cjs.js.map +1 -0
- package/dist/ShareViaLink.js +1360 -0
- package/dist/ShareViaLink.js.map +1 -0
- package/dist/Sidebar.cjs.js +32222 -0
- package/dist/Sidebar.cjs.js.map +1 -0
- package/dist/Sidebar.js +32196 -0
- package/dist/Sidebar.js.map +1 -0
- package/dist/SubHeader.cjs.js +272 -0
- package/dist/SubHeader.cjs.js.map +1 -0
- package/dist/SubHeader.js +265 -0
- package/dist/SubHeader.js.map +1 -0
- package/dist/TableWrapper.cjs.js +87 -0
- package/dist/TableWrapper.cjs.js.map +1 -0
- package/dist/TableWrapper.js +81 -0
- package/dist/TableWrapper.js.map +1 -0
- package/dist/ThemeSidebar.cjs.js +13618 -0
- package/dist/ThemeSidebar.cjs.js.map +1 -0
- package/dist/ThemeSidebar.js +13593 -0
- package/dist/ThemeSidebar.js.map +1 -0
- package/dist/TimeFormat.cjs.js +53 -0
- package/dist/TimeFormat.cjs.js.map +1 -0
- package/dist/TimeFormat.js +47 -0
- package/dist/TimeFormat.js.map +1 -0
- package/dist/TimezoneMismatchModal.cjs.js +176 -0
- package/dist/TimezoneMismatchModal.cjs.js.map +1 -0
- package/dist/TimezoneMismatchModal.js +168 -0
- package/dist/TimezoneMismatchModal.js.map +1 -0
- package/package.json +185 -0
- package/src/translations/en.json +449 -0
- package/types/BrowserSupport.d.ts +86 -0
- package/types/Columns.d.ts +53 -0
- package/types/Container.d.ts +35 -0
- package/types/CopyToClipboardButton.d.ts +21 -0
- package/types/CustomDomain.d.ts +19 -0
- package/types/CustomDomainDashboard.d.ts +33 -0
- package/types/DateFormat.d.ts +18 -0
- package/types/DateRangeFilter.d.ts +52 -0
- package/types/DynamicVariables.d.ts +45 -0
- package/types/EmailPreview.d.ts +41 -0
- package/types/ErrorPage.d.ts +15 -0
- package/types/Header.d.ts +30 -0
- package/types/IconPicker.d.ts +43 -0
- package/types/IntegrationCard.d.ts +45 -0
- package/types/IntegrationDisconnectAlert.d.ts +37 -0
- package/types/IntegrationWalkthroughModal.d.ts +31 -0
- package/types/IpRestriction.d.ts +23 -0
- package/types/KeyboardShortcuts.d.ts +147 -0
- package/types/LoginPage.d.ts +43 -0
- package/types/MenuBar.d.ts +125 -0
- package/types/NeetoWidget.d.ts +41 -0
- package/types/PageLoader.d.ts +38 -0
- package/types/PhoneNumber.d.ts +106 -0
- package/types/PublishBlock.d.ts +84 -0
- package/types/Rename.d.ts +60 -0
- package/types/ResponsiveDevicePicker.d.ts +30 -0
- package/types/Schedule.d.ts +132 -0
- package/types/Scrollable.d.ts +28 -0
- package/types/ShareViaEmail.d.ts +99 -0
- package/types/ShareViaLink.d.ts +117 -0
- package/types/Sidebar.d.ts +63 -0
- package/types/SubHeader.d.ts +97 -0
- package/types/TableWrapper.d.ts +38 -0
- package/types/TimeFormat.d.ts +17 -0
- package/types/TimezoneMismatchModal.d.ts +39 -0
- package/types/themeSidebar.d.ts +80 -0
|
@@ -0,0 +1,112 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var React = require('react');
|
|
4
|
+
var pure = require('@bigbinary/neeto-commons-frontend/pure');
|
|
5
|
+
var neetoIcons = require('@bigbinary/neeto-icons');
|
|
6
|
+
var neetoui = require('@bigbinary/neetoui');
|
|
7
|
+
var ramda = require('ramda');
|
|
8
|
+
|
|
9
|
+
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
10
|
+
|
|
11
|
+
var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
|
|
12
|
+
|
|
13
|
+
function _extends() {
|
|
14
|
+
_extends = Object.assign ? Object.assign.bind() : function (target) {
|
|
15
|
+
for (var i = 1; i < arguments.length; i++) {
|
|
16
|
+
var source = arguments[i];
|
|
17
|
+
for (var key in source) {
|
|
18
|
+
if (Object.prototype.hasOwnProperty.call(source, key)) {
|
|
19
|
+
target[key] = source[key];
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
return target;
|
|
24
|
+
};
|
|
25
|
+
return _extends.apply(this, arguments);
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
var e=[],t=[];function n(n,r){if(n&&"undefined"!=typeof document){var a,s=!0===r.prepend?"prepend":"append",d=!0===r.singleTag,i="string"==typeof r.container?document.querySelector(r.container):document.getElementsByTagName("head")[0];if(d){var u=e.indexOf(i);-1===u&&(u=e.push(i)-1,t[u]={}),a=t[u]&&t[u][s]?t[u][s]:t[u][s]=c();}else a=c();65279===n.charCodeAt(0)&&(n=n.substring(1)),a.styleSheet?a.styleSheet.cssText+=n:a.appendChild(document.createTextNode(n));}function c(){var e=document.createElement("style");if(e.setAttribute("type","text/css"),r.attributes)for(var t=Object.keys(r.attributes),n=0;n<t.length;n++)e.setAttribute(t[n],r.attributes[t[n]]);var a="prepend"===s?"afterbegin":"beforeend";return i.insertAdjacentElement(a,e),e}}
|
|
29
|
+
|
|
30
|
+
var css = ".neeto-molecules-dynamic-variables{display:flex;flex-direction:column;gap:6px;max-width:360px;min-width:184px;padding:8px}.neeto-molecules-dynamic-variables__list{align-items:center;display:flex;flex-wrap:wrap;gap:8px}.neeto-molecules-dynamic-variables__list button{border:1px solid rgb(var(--neeto-ui-gray-300));border-radius:var(--neeto-ui-rounded-md);color:rgb(var(--neeto-ui-black));padding:6px;text-align:left;transition:var(--neeto-ui-transition);-webkit-user-select:none;-moz-user-select:none;user-select:none}.neeto-molecules-dynamic-variables__list button:focus,.neeto-molecules-dynamic-variables__list button:focus-visible,.neeto-molecules-dynamic-variables__list button:hover{border-color:rgb(var(--neeto-ui-primary-800));box-shadow:none;color:rgb(var(--neeto-ui-primary-800));outline:none}";
|
|
31
|
+
n(css,{});
|
|
32
|
+
|
|
33
|
+
var parseVariables = function parseVariables() {
|
|
34
|
+
var variableArr = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
|
|
35
|
+
var uncategorized = [];
|
|
36
|
+
var groupedVariables = [];
|
|
37
|
+
var categorySet = new Set();
|
|
38
|
+
variableArr.forEach(function (variable) {
|
|
39
|
+
var category = variable.category,
|
|
40
|
+
label = variable.label,
|
|
41
|
+
variables = variable.variables;
|
|
42
|
+
if (category && variables) {
|
|
43
|
+
var parsedVariables = variables.map(ramda.assoc("category", category));
|
|
44
|
+
if (!categorySet.has(category)) {
|
|
45
|
+
categorySet.add(category);
|
|
46
|
+
groupedVariables.push({
|
|
47
|
+
label: label,
|
|
48
|
+
variables: parsedVariables
|
|
49
|
+
});
|
|
50
|
+
} else {
|
|
51
|
+
var existingGroup = pure.findBy({
|
|
52
|
+
label: label
|
|
53
|
+
}, groupedVariables);
|
|
54
|
+
existingGroup.variables = ramda.uniqBy(ramda.prop("key"), existingGroup.variables.concat(parsedVariables));
|
|
55
|
+
}
|
|
56
|
+
} else {
|
|
57
|
+
uncategorized.push(variable);
|
|
58
|
+
}
|
|
59
|
+
});
|
|
60
|
+
if (!ramda.isEmpty(uncategorized)) {
|
|
61
|
+
groupedVariables.push({
|
|
62
|
+
label: !ramda.isEmpty(groupedVariables) ? "Others" : null,
|
|
63
|
+
variables: uncategorized
|
|
64
|
+
});
|
|
65
|
+
}
|
|
66
|
+
return groupedVariables;
|
|
67
|
+
};
|
|
68
|
+
|
|
69
|
+
var Menu = neetoui.Dropdown.Menu;
|
|
70
|
+
var DynamicVariables = function DynamicVariables(_ref) {
|
|
71
|
+
var _ref$onVariableClick = _ref.onVariableClick,
|
|
72
|
+
onVariableClick = _ref$onVariableClick === void 0 ? pure.noop : _ref$onVariableClick,
|
|
73
|
+
_ref$variables = _ref.variables,
|
|
74
|
+
variables = _ref$variables === void 0 ? [] : _ref$variables,
|
|
75
|
+
_ref$dropdownProps = _ref.dropdownProps,
|
|
76
|
+
dropdownProps = _ref$dropdownProps === void 0 ? {} : _ref$dropdownProps;
|
|
77
|
+
if (ramda.isEmpty(variables)) {
|
|
78
|
+
return null;
|
|
79
|
+
}
|
|
80
|
+
var parsedVariables = parseVariables(variables);
|
|
81
|
+
return /*#__PURE__*/React__default["default"].createElement(neetoui.Dropdown, _extends({
|
|
82
|
+
buttonProps: {
|
|
83
|
+
"data-testid": "variables-dropdown"
|
|
84
|
+
},
|
|
85
|
+
buttonStyle: "secondary",
|
|
86
|
+
icon: neetoIcons.Braces,
|
|
87
|
+
strategy: "fixed"
|
|
88
|
+
}, dropdownProps), /*#__PURE__*/React__default["default"].createElement(Menu, null, /*#__PURE__*/React__default["default"].createElement("div", {
|
|
89
|
+
className: "neeto-molecules-dynamic-variables",
|
|
90
|
+
"data-testid": "variables-list"
|
|
91
|
+
}, parsedVariables.map(function (_ref2) {
|
|
92
|
+
var label = _ref2.label,
|
|
93
|
+
variables = _ref2.variables;
|
|
94
|
+
return /*#__PURE__*/React__default["default"].createElement(React.Fragment, {
|
|
95
|
+
key: label
|
|
96
|
+
}, label && /*#__PURE__*/React__default["default"].createElement(neetoui.Typography, {
|
|
97
|
+
style: "h6"
|
|
98
|
+
}, label), /*#__PURE__*/React__default["default"].createElement("div", {
|
|
99
|
+
className: "neeto-molecules-dynamic-variables__list"
|
|
100
|
+
}, variables.map(function (item) {
|
|
101
|
+
return /*#__PURE__*/React__default["default"].createElement("button", {
|
|
102
|
+
key: item.label,
|
|
103
|
+
onClick: function onClick() {
|
|
104
|
+
return onVariableClick(item);
|
|
105
|
+
}
|
|
106
|
+
}, item.label);
|
|
107
|
+
})));
|
|
108
|
+
}))));
|
|
109
|
+
};
|
|
110
|
+
|
|
111
|
+
module.exports = DynamicVariables;
|
|
112
|
+
//# sourceMappingURL=DynamicVariables.cjs.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DynamicVariables.cjs.js","sources":["../node_modules/@babel/runtime/helpers/esm/extends.js","../node_modules/rollup-plugin-styles/dist/runtime/inject-css.js","../src/components/DynamicVariables/utils.js","../src/components/DynamicVariables/index.jsx"],"sourcesContent":["export default function _extends() {\n _extends = Object.assign ? Object.assign.bind() : function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n return target;\n };\n return _extends.apply(this, arguments);\n}","var e=[],t=[];function n(n,r){if(n&&\"undefined\"!=typeof document){var a,s=!0===r.prepend?\"prepend\":\"append\",d=!0===r.singleTag,i=\"string\"==typeof r.container?document.querySelector(r.container):document.getElementsByTagName(\"head\")[0];if(d){var u=e.indexOf(i);-1===u&&(u=e.push(i)-1,t[u]={}),a=t[u]&&t[u][s]?t[u][s]:t[u][s]=c()}else a=c();65279===n.charCodeAt(0)&&(n=n.substring(1)),a.styleSheet?a.styleSheet.cssText+=n:a.appendChild(document.createTextNode(n))}function c(){var e=document.createElement(\"style\");if(e.setAttribute(\"type\",\"text/css\"),r.attributes)for(var t=Object.keys(r.attributes),n=0;n<t.length;n++)e.setAttribute(t[n],r.attributes[t[n]]);var a=\"prepend\"===s?\"afterbegin\":\"beforeend\";return i.insertAdjacentElement(a,e),e}}export{n as default};\n","import { findBy } from \"neetocommons/pure\";\nimport { prop, assoc, isEmpty, uniqBy } from \"ramda\";\n\nexport const parseVariables = (variableArr = []) => {\n const uncategorized = [];\n const groupedVariables = [];\n const categorySet = new Set();\n\n variableArr.forEach(variable => {\n const { category, label, variables } = variable;\n if (category && variables) {\n const parsedVariables = variables.map(assoc(\"category\", category));\n\n if (!categorySet.has(category)) {\n categorySet.add(category);\n groupedVariables.push({ label, variables: parsedVariables });\n } else {\n const existingGroup = findBy({ label }, groupedVariables);\n\n existingGroup.variables = uniqBy(\n prop(\"key\"),\n existingGroup.variables.concat(parsedVariables)\n );\n }\n } else {\n uncategorized.push(variable);\n }\n });\n\n if (!isEmpty(uncategorized)) {\n groupedVariables.push({\n label: !isEmpty(groupedVariables) ? \"Others\" : null,\n variables: uncategorized,\n });\n }\n\n return groupedVariables;\n};\n","import React, { Fragment } from \"react\";\n\nimport { noop } from \"neetocommons/pure\";\nimport { Braces } from \"neetoicons\";\nimport { Dropdown, Typography } from \"neetoui\";\nimport PropTypes from \"prop-types\";\nimport { isEmpty } from \"ramda\";\n\nimport \"./dynamic-variables.scss\";\nimport { parseVariables } from \"./utils\";\n\nconst { Menu } = Dropdown;\n\nconst DynamicVariables = ({\n onVariableClick = noop,\n variables = [],\n dropdownProps = {},\n}) => {\n if (isEmpty(variables)) {\n return null;\n }\n\n const parsedVariables = parseVariables(variables);\n\n return (\n <Dropdown\n buttonProps={{ \"data-testid\": \"variables-dropdown\" }}\n buttonStyle=\"secondary\"\n icon={Braces}\n strategy=\"fixed\"\n {...dropdownProps}\n >\n <Menu>\n <div\n className=\"neeto-molecules-dynamic-variables\"\n data-testid=\"variables-list\"\n >\n {parsedVariables.map(({ label, variables }) => (\n <Fragment key={label}>\n {label && <Typography style=\"h6\">{label}</Typography>}\n <div className=\"neeto-molecules-dynamic-variables__list\">\n {variables.map(item => (\n <button\n key={item.label}\n onClick={() => onVariableClick(item)}\n >\n {item.label}\n </button>\n ))}\n </div>\n </Fragment>\n ))}\n </div>\n </Menu>\n </Dropdown>\n );\n};\n\nDynamicVariables.propTypes = {\n /**\n * A function that is triggered when a dynamic variable button is clicked. It receives an object containing information about the clicked variable.\n */\n onVariableClick: PropTypes.func,\n /**\n * An array of objects, each representing a category or standalone variable, with the ability to define a label, key, and default value for each variable.\n */\n variables: PropTypes.arrayOf(\n PropTypes.shape({ label: PropTypes.string, key: PropTypes.string })\n ),\n /**\n * Additional props for the dropdown (optional).\n */\n dropdownProps: PropTypes.object,\n};\n\nexport default DynamicVariables;\n"],"names":["parseVariables","variableArr","arguments","length","undefined","uncategorized","groupedVariables","categorySet","Set","forEach","variable","category","label","variables","parsedVariables","map","assoc","has","add","push","existingGroup","findBy","uniqBy","prop","concat","isEmpty","Menu","Dropdown","DynamicVariables","_ref","_ref$onVariableClick","onVariableClick","noop","_ref$variables","_ref$dropdownProps","dropdownProps","React","createElement","_extends","buttonProps","buttonStyle","icon","Braces","strategy","className","_ref2","Fragment","key","Typography","style","item","onClick"],"mappings":"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"}
|
|
@@ -0,0 +1,106 @@
|
|
|
1
|
+
import React, { Fragment } from 'react';
|
|
2
|
+
import { findBy, noop } from '@bigbinary/neeto-commons-frontend/pure';
|
|
3
|
+
import { Braces } from '@bigbinary/neeto-icons';
|
|
4
|
+
import { Dropdown, Typography } from '@bigbinary/neetoui';
|
|
5
|
+
import { assoc, uniqBy, prop, isEmpty } from 'ramda';
|
|
6
|
+
|
|
7
|
+
function _extends() {
|
|
8
|
+
_extends = Object.assign ? Object.assign.bind() : function (target) {
|
|
9
|
+
for (var i = 1; i < arguments.length; i++) {
|
|
10
|
+
var source = arguments[i];
|
|
11
|
+
for (var key in source) {
|
|
12
|
+
if (Object.prototype.hasOwnProperty.call(source, key)) {
|
|
13
|
+
target[key] = source[key];
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
return target;
|
|
18
|
+
};
|
|
19
|
+
return _extends.apply(this, arguments);
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
var e=[],t=[];function n(n,r){if(n&&"undefined"!=typeof document){var a,s=!0===r.prepend?"prepend":"append",d=!0===r.singleTag,i="string"==typeof r.container?document.querySelector(r.container):document.getElementsByTagName("head")[0];if(d){var u=e.indexOf(i);-1===u&&(u=e.push(i)-1,t[u]={}),a=t[u]&&t[u][s]?t[u][s]:t[u][s]=c();}else a=c();65279===n.charCodeAt(0)&&(n=n.substring(1)),a.styleSheet?a.styleSheet.cssText+=n:a.appendChild(document.createTextNode(n));}function c(){var e=document.createElement("style");if(e.setAttribute("type","text/css"),r.attributes)for(var t=Object.keys(r.attributes),n=0;n<t.length;n++)e.setAttribute(t[n],r.attributes[t[n]]);var a="prepend"===s?"afterbegin":"beforeend";return i.insertAdjacentElement(a,e),e}}
|
|
23
|
+
|
|
24
|
+
var css = ".neeto-molecules-dynamic-variables{display:flex;flex-direction:column;gap:6px;max-width:360px;min-width:184px;padding:8px}.neeto-molecules-dynamic-variables__list{align-items:center;display:flex;flex-wrap:wrap;gap:8px}.neeto-molecules-dynamic-variables__list button{border:1px solid rgb(var(--neeto-ui-gray-300));border-radius:var(--neeto-ui-rounded-md);color:rgb(var(--neeto-ui-black));padding:6px;text-align:left;transition:var(--neeto-ui-transition);-webkit-user-select:none;-moz-user-select:none;user-select:none}.neeto-molecules-dynamic-variables__list button:focus,.neeto-molecules-dynamic-variables__list button:focus-visible,.neeto-molecules-dynamic-variables__list button:hover{border-color:rgb(var(--neeto-ui-primary-800));box-shadow:none;color:rgb(var(--neeto-ui-primary-800));outline:none}";
|
|
25
|
+
n(css,{});
|
|
26
|
+
|
|
27
|
+
var parseVariables = function parseVariables() {
|
|
28
|
+
var variableArr = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
|
|
29
|
+
var uncategorized = [];
|
|
30
|
+
var groupedVariables = [];
|
|
31
|
+
var categorySet = new Set();
|
|
32
|
+
variableArr.forEach(function (variable) {
|
|
33
|
+
var category = variable.category,
|
|
34
|
+
label = variable.label,
|
|
35
|
+
variables = variable.variables;
|
|
36
|
+
if (category && variables) {
|
|
37
|
+
var parsedVariables = variables.map(assoc("category", category));
|
|
38
|
+
if (!categorySet.has(category)) {
|
|
39
|
+
categorySet.add(category);
|
|
40
|
+
groupedVariables.push({
|
|
41
|
+
label: label,
|
|
42
|
+
variables: parsedVariables
|
|
43
|
+
});
|
|
44
|
+
} else {
|
|
45
|
+
var existingGroup = findBy({
|
|
46
|
+
label: label
|
|
47
|
+
}, groupedVariables);
|
|
48
|
+
existingGroup.variables = uniqBy(prop("key"), existingGroup.variables.concat(parsedVariables));
|
|
49
|
+
}
|
|
50
|
+
} else {
|
|
51
|
+
uncategorized.push(variable);
|
|
52
|
+
}
|
|
53
|
+
});
|
|
54
|
+
if (!isEmpty(uncategorized)) {
|
|
55
|
+
groupedVariables.push({
|
|
56
|
+
label: !isEmpty(groupedVariables) ? "Others" : null,
|
|
57
|
+
variables: uncategorized
|
|
58
|
+
});
|
|
59
|
+
}
|
|
60
|
+
return groupedVariables;
|
|
61
|
+
};
|
|
62
|
+
|
|
63
|
+
var Menu = Dropdown.Menu;
|
|
64
|
+
var DynamicVariables = function DynamicVariables(_ref) {
|
|
65
|
+
var _ref$onVariableClick = _ref.onVariableClick,
|
|
66
|
+
onVariableClick = _ref$onVariableClick === void 0 ? noop : _ref$onVariableClick,
|
|
67
|
+
_ref$variables = _ref.variables,
|
|
68
|
+
variables = _ref$variables === void 0 ? [] : _ref$variables,
|
|
69
|
+
_ref$dropdownProps = _ref.dropdownProps,
|
|
70
|
+
dropdownProps = _ref$dropdownProps === void 0 ? {} : _ref$dropdownProps;
|
|
71
|
+
if (isEmpty(variables)) {
|
|
72
|
+
return null;
|
|
73
|
+
}
|
|
74
|
+
var parsedVariables = parseVariables(variables);
|
|
75
|
+
return /*#__PURE__*/React.createElement(Dropdown, _extends({
|
|
76
|
+
buttonProps: {
|
|
77
|
+
"data-testid": "variables-dropdown"
|
|
78
|
+
},
|
|
79
|
+
buttonStyle: "secondary",
|
|
80
|
+
icon: Braces,
|
|
81
|
+
strategy: "fixed"
|
|
82
|
+
}, dropdownProps), /*#__PURE__*/React.createElement(Menu, null, /*#__PURE__*/React.createElement("div", {
|
|
83
|
+
className: "neeto-molecules-dynamic-variables",
|
|
84
|
+
"data-testid": "variables-list"
|
|
85
|
+
}, parsedVariables.map(function (_ref2) {
|
|
86
|
+
var label = _ref2.label,
|
|
87
|
+
variables = _ref2.variables;
|
|
88
|
+
return /*#__PURE__*/React.createElement(Fragment, {
|
|
89
|
+
key: label
|
|
90
|
+
}, label && /*#__PURE__*/React.createElement(Typography, {
|
|
91
|
+
style: "h6"
|
|
92
|
+
}, label), /*#__PURE__*/React.createElement("div", {
|
|
93
|
+
className: "neeto-molecules-dynamic-variables__list"
|
|
94
|
+
}, variables.map(function (item) {
|
|
95
|
+
return /*#__PURE__*/React.createElement("button", {
|
|
96
|
+
key: item.label,
|
|
97
|
+
onClick: function onClick() {
|
|
98
|
+
return onVariableClick(item);
|
|
99
|
+
}
|
|
100
|
+
}, item.label);
|
|
101
|
+
})));
|
|
102
|
+
}))));
|
|
103
|
+
};
|
|
104
|
+
|
|
105
|
+
export { DynamicVariables as default };
|
|
106
|
+
//# sourceMappingURL=DynamicVariables.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DynamicVariables.js","sources":["../node_modules/@babel/runtime/helpers/esm/extends.js","../node_modules/rollup-plugin-styles/dist/runtime/inject-css.js","../src/components/DynamicVariables/utils.js","../src/components/DynamicVariables/index.jsx"],"sourcesContent":["export default function _extends() {\n _extends = Object.assign ? Object.assign.bind() : function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n return target;\n };\n return _extends.apply(this, arguments);\n}","var e=[],t=[];function n(n,r){if(n&&\"undefined\"!=typeof document){var a,s=!0===r.prepend?\"prepend\":\"append\",d=!0===r.singleTag,i=\"string\"==typeof r.container?document.querySelector(r.container):document.getElementsByTagName(\"head\")[0];if(d){var u=e.indexOf(i);-1===u&&(u=e.push(i)-1,t[u]={}),a=t[u]&&t[u][s]?t[u][s]:t[u][s]=c()}else a=c();65279===n.charCodeAt(0)&&(n=n.substring(1)),a.styleSheet?a.styleSheet.cssText+=n:a.appendChild(document.createTextNode(n))}function c(){var e=document.createElement(\"style\");if(e.setAttribute(\"type\",\"text/css\"),r.attributes)for(var t=Object.keys(r.attributes),n=0;n<t.length;n++)e.setAttribute(t[n],r.attributes[t[n]]);var a=\"prepend\"===s?\"afterbegin\":\"beforeend\";return i.insertAdjacentElement(a,e),e}}export{n as default};\n","import { findBy } from \"neetocommons/pure\";\nimport { prop, assoc, isEmpty, uniqBy } from \"ramda\";\n\nexport const parseVariables = (variableArr = []) => {\n const uncategorized = [];\n const groupedVariables = [];\n const categorySet = new Set();\n\n variableArr.forEach(variable => {\n const { category, label, variables } = variable;\n if (category && variables) {\n const parsedVariables = variables.map(assoc(\"category\", category));\n\n if (!categorySet.has(category)) {\n categorySet.add(category);\n groupedVariables.push({ label, variables: parsedVariables });\n } else {\n const existingGroup = findBy({ label }, groupedVariables);\n\n existingGroup.variables = uniqBy(\n prop(\"key\"),\n existingGroup.variables.concat(parsedVariables)\n );\n }\n } else {\n uncategorized.push(variable);\n }\n });\n\n if (!isEmpty(uncategorized)) {\n groupedVariables.push({\n label: !isEmpty(groupedVariables) ? \"Others\" : null,\n variables: uncategorized,\n });\n }\n\n return groupedVariables;\n};\n","import React, { Fragment } from \"react\";\n\nimport { noop } from \"neetocommons/pure\";\nimport { Braces } from \"neetoicons\";\nimport { Dropdown, Typography } from \"neetoui\";\nimport PropTypes from \"prop-types\";\nimport { isEmpty } from \"ramda\";\n\nimport \"./dynamic-variables.scss\";\nimport { parseVariables } from \"./utils\";\n\nconst { Menu } = Dropdown;\n\nconst DynamicVariables = ({\n onVariableClick = noop,\n variables = [],\n dropdownProps = {},\n}) => {\n if (isEmpty(variables)) {\n return null;\n }\n\n const parsedVariables = parseVariables(variables);\n\n return (\n <Dropdown\n buttonProps={{ \"data-testid\": \"variables-dropdown\" }}\n buttonStyle=\"secondary\"\n icon={Braces}\n strategy=\"fixed\"\n {...dropdownProps}\n >\n <Menu>\n <div\n className=\"neeto-molecules-dynamic-variables\"\n data-testid=\"variables-list\"\n >\n {parsedVariables.map(({ label, variables }) => (\n <Fragment key={label}>\n {label && <Typography style=\"h6\">{label}</Typography>}\n <div className=\"neeto-molecules-dynamic-variables__list\">\n {variables.map(item => (\n <button\n key={item.label}\n onClick={() => onVariableClick(item)}\n >\n {item.label}\n </button>\n ))}\n </div>\n </Fragment>\n ))}\n </div>\n </Menu>\n </Dropdown>\n );\n};\n\nDynamicVariables.propTypes = {\n /**\n * A function that is triggered when a dynamic variable button is clicked. It receives an object containing information about the clicked variable.\n */\n onVariableClick: PropTypes.func,\n /**\n * An array of objects, each representing a category or standalone variable, with the ability to define a label, key, and default value for each variable.\n */\n variables: PropTypes.arrayOf(\n PropTypes.shape({ label: PropTypes.string, key: PropTypes.string })\n ),\n /**\n * Additional props for the dropdown (optional).\n */\n dropdownProps: PropTypes.object,\n};\n\nexport default DynamicVariables;\n"],"names":["parseVariables","variableArr","arguments","length","undefined","uncategorized","groupedVariables","categorySet","Set","forEach","variable","category","label","variables","parsedVariables","map","assoc","has","add","push","existingGroup","findBy","uniqBy","prop","concat","isEmpty","Menu","Dropdown","DynamicVariables","_ref","_ref$onVariableClick","onVariableClick","noop","_ref$variables","_ref$dropdownProps","dropdownProps","React","createElement","_extends","buttonProps","buttonStyle","icon","Braces","strategy","className","_ref2","Fragment","key","Typography","style","item","onClick"],"mappings":"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"}
|
|
@@ -0,0 +1,102 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var React = require('react');
|
|
4
|
+
var pure = require('@bigbinary/neeto-commons-frontend/pure');
|
|
5
|
+
var neetoEditor = require('@bigbinary/neeto-editor');
|
|
6
|
+
var neetoui = require('@bigbinary/neetoui');
|
|
7
|
+
var reactI18next = require('react-i18next');
|
|
8
|
+
|
|
9
|
+
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
10
|
+
|
|
11
|
+
var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
|
|
12
|
+
|
|
13
|
+
var MemoizedEditorContent = /*#__PURE__*/React__default["default"].memo(neetoEditor.EditorContent);
|
|
14
|
+
var EmailPreview = function EmailPreview(_ref) {
|
|
15
|
+
var to = _ref.to,
|
|
16
|
+
from = _ref.from,
|
|
17
|
+
subject = _ref.subject,
|
|
18
|
+
body = _ref.body,
|
|
19
|
+
productName = _ref.productName,
|
|
20
|
+
actionButtonText = _ref.actionButtonText,
|
|
21
|
+
logo = _ref.logo;
|
|
22
|
+
var _useTranslation = reactI18next.useTranslation(),
|
|
23
|
+
t = _useTranslation.t;
|
|
24
|
+
return /*#__PURE__*/React__default["default"].createElement("div", {
|
|
25
|
+
className: "neeto-ui-border-gray-300 neeto-ui-shadow-m neeto-ui-bg-white flex flex-1 flex-col border",
|
|
26
|
+
"data-cy": "email-preview-card"
|
|
27
|
+
}, /*#__PURE__*/React__default["default"].createElement("div", {
|
|
28
|
+
className: "neeto-ui-border-gray-300 space-y-3 divide-y divide-gray-200 border-b p-6"
|
|
29
|
+
}, /*#__PURE__*/React__default["default"].createElement("div", {
|
|
30
|
+
className: "flex gap-2",
|
|
31
|
+
"data-cy": "email-send-to-preview",
|
|
32
|
+
"data-testid": "email-to-block"
|
|
33
|
+
}, /*#__PURE__*/React__default["default"].createElement(neetoui.Typography, {
|
|
34
|
+
className: "neeto-ui-text-gray-500",
|
|
35
|
+
lineHeight: "normal",
|
|
36
|
+
style: "body2"
|
|
37
|
+
}, t("neetoMolecules.emailPreview.to"), ":"), pure.isNotEmpty(to) ? /*#__PURE__*/React__default["default"].createElement(neetoui.Typography, {
|
|
38
|
+
className: "neeto-ui-text-gray-800 min-w-0 flex-grow break-words",
|
|
39
|
+
lineHeight: "normal",
|
|
40
|
+
style: "body2"
|
|
41
|
+
}, to.join(", ")) : /*#__PURE__*/React__default["default"].createElement("div", {
|
|
42
|
+
className: "neeto-ui-bg-gray-300 neeto-ui-rounded-full mt-2 h-2 w-40"
|
|
43
|
+
})), from && /*#__PURE__*/React__default["default"].createElement("div", {
|
|
44
|
+
className: "flex items-center gap-2 pt-3"
|
|
45
|
+
}, /*#__PURE__*/React__default["default"].createElement(neetoui.Typography, {
|
|
46
|
+
className: "neeto-ui-text-gray-500",
|
|
47
|
+
lineHeight: "normal",
|
|
48
|
+
style: "body2"
|
|
49
|
+
}, t("neetoMolecules.emailPreview.from"), ":"), /*#__PURE__*/React__default["default"].createElement(neetoui.Typography, {
|
|
50
|
+
className: "neeto-ui-text-gray-800 min-w-0 flex-grow break-words",
|
|
51
|
+
"data-cy": "email-send-from-preview",
|
|
52
|
+
lineHeight: "normal",
|
|
53
|
+
style: "body2"
|
|
54
|
+
}, from)), /*#__PURE__*/React__default["default"].createElement("div", {
|
|
55
|
+
className: "flex items-center gap-2 pt-3"
|
|
56
|
+
}, /*#__PURE__*/React__default["default"].createElement(neetoui.Typography, {
|
|
57
|
+
className: "neeto-ui-text-gray-500",
|
|
58
|
+
lineHeight: "normal",
|
|
59
|
+
style: "body2"
|
|
60
|
+
}, t("neetoMolecules.emailPreview.subject"), ":"), /*#__PURE__*/React__default["default"].createElement(neetoui.Typography, {
|
|
61
|
+
className: "neeto-ui-text-gray-800 min-w-0 flex-grow break-words",
|
|
62
|
+
"data-cy": "email-subject-preview",
|
|
63
|
+
lineHeight: "normal",
|
|
64
|
+
style: "body2"
|
|
65
|
+
}, subject || /*#__PURE__*/React__default["default"].createElement("span", {
|
|
66
|
+
className: "neeto-ui-bg-gray-300 neeto-ui-rounded-full h-2 w-40"
|
|
67
|
+
})))), /*#__PURE__*/React__default["default"].createElement("div", {
|
|
68
|
+
className: "neeto-ui-text-gray-800 flex flex-1 flex-col justify-between space-y-6 p-6 pr-10 text-base leading-relaxed",
|
|
69
|
+
"data-cy": "email-body-preview-container"
|
|
70
|
+
}, body ? /*#__PURE__*/React__default["default"].createElement(MemoizedEditorContent, {
|
|
71
|
+
content: body
|
|
72
|
+
}) : /*#__PURE__*/React__default["default"].createElement("div", {
|
|
73
|
+
className: "space-y-4"
|
|
74
|
+
}, /*#__PURE__*/React__default["default"].createElement("div", {
|
|
75
|
+
className: "neeto-ui-bg-gray-300 neeto-ui-rounded-full h-2 w-80"
|
|
76
|
+
}), /*#__PURE__*/React__default["default"].createElement("div", {
|
|
77
|
+
className: "neeto-ui-bg-gray-300 neeto-ui-rounded-full h-2 w-72"
|
|
78
|
+
}), /*#__PURE__*/React__default["default"].createElement("div", {
|
|
79
|
+
className: "neeto-ui-bg-gray-300 neeto-ui-rounded-full h-2 w-80"
|
|
80
|
+
})), actionButtonText && /*#__PURE__*/React__default["default"].createElement("div", {
|
|
81
|
+
className: "mt-6 flex w-full items-center justify-center"
|
|
82
|
+
}, /*#__PURE__*/React__default["default"].createElement(neetoui.Button, {
|
|
83
|
+
className: "pointer-events-none",
|
|
84
|
+
label: actionButtonText
|
|
85
|
+
})), logo && /*#__PURE__*/React__default["default"].createElement("img", {
|
|
86
|
+
alt: t("neetoMolecules.emailPreview.logoAltText"),
|
|
87
|
+
className: "h-20 w-36 object-cover",
|
|
88
|
+
"data-cy": "company-logo-preview",
|
|
89
|
+
src: logo
|
|
90
|
+
})), productName && /*#__PURE__*/React__default["default"].createElement("div", {
|
|
91
|
+
className: "neeto-ui-bg-gray-100 mt-auto p-2",
|
|
92
|
+
"data-testid": "product-name-block"
|
|
93
|
+
}, /*#__PURE__*/React__default["default"].createElement(neetoui.Typography, {
|
|
94
|
+
className: "neeto-ui-text-gray-600 text-center leading-6",
|
|
95
|
+
style: "body3"
|
|
96
|
+
}, t("neetoMolecules.emailPreview.poweredBy"), /*#__PURE__*/React__default["default"].createElement("span", {
|
|
97
|
+
className: "neeto-ui-text-gray-800 font-medium"
|
|
98
|
+
}, productName))));
|
|
99
|
+
};
|
|
100
|
+
|
|
101
|
+
module.exports = EmailPreview;
|
|
102
|
+
//# sourceMappingURL=EmailPreview.cjs.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"EmailPreview.cjs.js","sources":["../src/components/EmailPreview.jsx"],"sourcesContent":["import React from \"react\";\n\nimport { isNotEmpty } from \"neetocommons/pure\";\nimport { EditorContent } from \"neetoeditor\";\nimport { Typography, Button } from \"neetoui\";\nimport PropTypes from \"prop-types\";\nimport { useTranslation } from \"react-i18next\";\n\nconst MemoizedEditorContent = React.memo(EditorContent);\n\nconst EmailPreview = ({\n to,\n from,\n subject,\n body,\n productName,\n actionButtonText,\n logo,\n}) => {\n const { t } = useTranslation();\n\n return (\n <div\n className=\"neeto-ui-border-gray-300 neeto-ui-shadow-m neeto-ui-bg-white flex flex-1 flex-col border\"\n data-cy=\"email-preview-card\"\n >\n <div className=\"neeto-ui-border-gray-300 space-y-3 divide-y divide-gray-200 border-b p-6\">\n <div\n className=\"flex gap-2\"\n data-cy=\"email-send-to-preview\"\n data-testid=\"email-to-block\"\n >\n <Typography\n className=\"neeto-ui-text-gray-500\"\n lineHeight=\"normal\"\n style=\"body2\"\n >\n {t(\"neetoMolecules.emailPreview.to\")}:\n </Typography>\n {isNotEmpty(to) ? (\n <Typography\n className=\"neeto-ui-text-gray-800 min-w-0 flex-grow break-words\"\n lineHeight=\"normal\"\n style=\"body2\"\n >\n {to.join(\", \")}\n </Typography>\n ) : (\n <div className=\"neeto-ui-bg-gray-300 neeto-ui-rounded-full mt-2 h-2 w-40\" />\n )}\n </div>\n {from && (\n <div className=\"flex items-center gap-2 pt-3\">\n <Typography\n className=\"neeto-ui-text-gray-500\"\n lineHeight=\"normal\"\n style=\"body2\"\n >\n {t(\"neetoMolecules.emailPreview.from\")}:\n </Typography>\n <Typography\n className=\"neeto-ui-text-gray-800 min-w-0 flex-grow break-words\"\n data-cy=\"email-send-from-preview\"\n lineHeight=\"normal\"\n style=\"body2\"\n >\n {from}\n </Typography>\n </div>\n )}\n <div className=\"flex items-center gap-2 pt-3\">\n <Typography\n className=\"neeto-ui-text-gray-500\"\n lineHeight=\"normal\"\n style=\"body2\"\n >\n {t(\"neetoMolecules.emailPreview.subject\")}:\n </Typography>\n <Typography\n className=\"neeto-ui-text-gray-800 min-w-0 flex-grow break-words\"\n data-cy=\"email-subject-preview\"\n lineHeight=\"normal\"\n style=\"body2\"\n >\n {subject || (\n <span className=\"neeto-ui-bg-gray-300 neeto-ui-rounded-full h-2 w-40\" />\n )}\n </Typography>\n </div>\n </div>\n <div\n className=\"neeto-ui-text-gray-800 flex flex-1 flex-col justify-between space-y-6 p-6 pr-10 text-base leading-relaxed\"\n data-cy=\"email-body-preview-container\"\n >\n {body ? (\n <MemoizedEditorContent content={body} />\n ) : (\n <div className=\"space-y-4\">\n <div className=\"neeto-ui-bg-gray-300 neeto-ui-rounded-full h-2 w-80\" />\n <div className=\"neeto-ui-bg-gray-300 neeto-ui-rounded-full h-2 w-72\" />\n <div className=\"neeto-ui-bg-gray-300 neeto-ui-rounded-full h-2 w-80\" />\n </div>\n )}\n {actionButtonText && (\n <div className=\"mt-6 flex w-full items-center justify-center\">\n <Button className=\"pointer-events-none\" label={actionButtonText} />\n </div>\n )}\n {logo && (\n <img\n alt={t(\"neetoMolecules.emailPreview.logoAltText\")}\n className=\"h-20 w-36 object-cover\"\n data-cy=\"company-logo-preview\"\n src={logo}\n />\n )}\n </div>\n {productName && (\n <div\n className=\"neeto-ui-bg-gray-100 mt-auto p-2\"\n data-testid=\"product-name-block\"\n >\n <Typography\n className=\"neeto-ui-text-gray-600 text-center leading-6\"\n style=\"body3\"\n >\n {t(\"neetoMolecules.emailPreview.poweredBy\")}\n <span className=\"neeto-ui-text-gray-800 font-medium\">\n {productName}\n </span>\n </Typography>\n </div>\n )}\n </div>\n );\n};\n\nEmailPreview.propTypes = {\n /**\n * The value of the send-to field.\n */\n to: PropTypes.arrayOf(PropTypes.string),\n /**\n * The value of the send-from field.\n */\n from: PropTypes.string,\n /**\n * The subject of the email.\n */\n subject: PropTypes.string,\n /**\n * The body of the email.\n */\n body: PropTypes.string,\n /**\n * The name of the neeto product to be previewed.\n */\n productName: PropTypes.string,\n /**\n * The text to be shown in the action button.\n */\n actionButtonText: PropTypes.string,\n /**\n * Source link for the company logo.\n */\n logo: PropTypes.string,\n};\n\nexport default EmailPreview;\n"],"names":["MemoizedEditorContent","React","memo","EditorContent","EmailPreview","_ref","to","from","subject","body","productName","actionButtonText","logo","_useTranslation","useTranslation","t","createElement","className","Typography","lineHeight","style","isNotEmpty","join","content","Button","label","alt","src"],"mappings":"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"}
|
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { isNotEmpty } from '@bigbinary/neeto-commons-frontend/pure';
|
|
3
|
+
import { EditorContent } from '@bigbinary/neeto-editor';
|
|
4
|
+
import { Typography, Button } from '@bigbinary/neetoui';
|
|
5
|
+
import { useTranslation } from 'react-i18next';
|
|
6
|
+
|
|
7
|
+
var MemoizedEditorContent = /*#__PURE__*/React.memo(EditorContent);
|
|
8
|
+
var EmailPreview = function EmailPreview(_ref) {
|
|
9
|
+
var to = _ref.to,
|
|
10
|
+
from = _ref.from,
|
|
11
|
+
subject = _ref.subject,
|
|
12
|
+
body = _ref.body,
|
|
13
|
+
productName = _ref.productName,
|
|
14
|
+
actionButtonText = _ref.actionButtonText,
|
|
15
|
+
logo = _ref.logo;
|
|
16
|
+
var _useTranslation = useTranslation(),
|
|
17
|
+
t = _useTranslation.t;
|
|
18
|
+
return /*#__PURE__*/React.createElement("div", {
|
|
19
|
+
className: "neeto-ui-border-gray-300 neeto-ui-shadow-m neeto-ui-bg-white flex flex-1 flex-col border",
|
|
20
|
+
"data-cy": "email-preview-card"
|
|
21
|
+
}, /*#__PURE__*/React.createElement("div", {
|
|
22
|
+
className: "neeto-ui-border-gray-300 space-y-3 divide-y divide-gray-200 border-b p-6"
|
|
23
|
+
}, /*#__PURE__*/React.createElement("div", {
|
|
24
|
+
className: "flex gap-2",
|
|
25
|
+
"data-cy": "email-send-to-preview",
|
|
26
|
+
"data-testid": "email-to-block"
|
|
27
|
+
}, /*#__PURE__*/React.createElement(Typography, {
|
|
28
|
+
className: "neeto-ui-text-gray-500",
|
|
29
|
+
lineHeight: "normal",
|
|
30
|
+
style: "body2"
|
|
31
|
+
}, t("neetoMolecules.emailPreview.to"), ":"), isNotEmpty(to) ? /*#__PURE__*/React.createElement(Typography, {
|
|
32
|
+
className: "neeto-ui-text-gray-800 min-w-0 flex-grow break-words",
|
|
33
|
+
lineHeight: "normal",
|
|
34
|
+
style: "body2"
|
|
35
|
+
}, to.join(", ")) : /*#__PURE__*/React.createElement("div", {
|
|
36
|
+
className: "neeto-ui-bg-gray-300 neeto-ui-rounded-full mt-2 h-2 w-40"
|
|
37
|
+
})), from && /*#__PURE__*/React.createElement("div", {
|
|
38
|
+
className: "flex items-center gap-2 pt-3"
|
|
39
|
+
}, /*#__PURE__*/React.createElement(Typography, {
|
|
40
|
+
className: "neeto-ui-text-gray-500",
|
|
41
|
+
lineHeight: "normal",
|
|
42
|
+
style: "body2"
|
|
43
|
+
}, t("neetoMolecules.emailPreview.from"), ":"), /*#__PURE__*/React.createElement(Typography, {
|
|
44
|
+
className: "neeto-ui-text-gray-800 min-w-0 flex-grow break-words",
|
|
45
|
+
"data-cy": "email-send-from-preview",
|
|
46
|
+
lineHeight: "normal",
|
|
47
|
+
style: "body2"
|
|
48
|
+
}, from)), /*#__PURE__*/React.createElement("div", {
|
|
49
|
+
className: "flex items-center gap-2 pt-3"
|
|
50
|
+
}, /*#__PURE__*/React.createElement(Typography, {
|
|
51
|
+
className: "neeto-ui-text-gray-500",
|
|
52
|
+
lineHeight: "normal",
|
|
53
|
+
style: "body2"
|
|
54
|
+
}, t("neetoMolecules.emailPreview.subject"), ":"), /*#__PURE__*/React.createElement(Typography, {
|
|
55
|
+
className: "neeto-ui-text-gray-800 min-w-0 flex-grow break-words",
|
|
56
|
+
"data-cy": "email-subject-preview",
|
|
57
|
+
lineHeight: "normal",
|
|
58
|
+
style: "body2"
|
|
59
|
+
}, subject || /*#__PURE__*/React.createElement("span", {
|
|
60
|
+
className: "neeto-ui-bg-gray-300 neeto-ui-rounded-full h-2 w-40"
|
|
61
|
+
})))), /*#__PURE__*/React.createElement("div", {
|
|
62
|
+
className: "neeto-ui-text-gray-800 flex flex-1 flex-col justify-between space-y-6 p-6 pr-10 text-base leading-relaxed",
|
|
63
|
+
"data-cy": "email-body-preview-container"
|
|
64
|
+
}, body ? /*#__PURE__*/React.createElement(MemoizedEditorContent, {
|
|
65
|
+
content: body
|
|
66
|
+
}) : /*#__PURE__*/React.createElement("div", {
|
|
67
|
+
className: "space-y-4"
|
|
68
|
+
}, /*#__PURE__*/React.createElement("div", {
|
|
69
|
+
className: "neeto-ui-bg-gray-300 neeto-ui-rounded-full h-2 w-80"
|
|
70
|
+
}), /*#__PURE__*/React.createElement("div", {
|
|
71
|
+
className: "neeto-ui-bg-gray-300 neeto-ui-rounded-full h-2 w-72"
|
|
72
|
+
}), /*#__PURE__*/React.createElement("div", {
|
|
73
|
+
className: "neeto-ui-bg-gray-300 neeto-ui-rounded-full h-2 w-80"
|
|
74
|
+
})), actionButtonText && /*#__PURE__*/React.createElement("div", {
|
|
75
|
+
className: "mt-6 flex w-full items-center justify-center"
|
|
76
|
+
}, /*#__PURE__*/React.createElement(Button, {
|
|
77
|
+
className: "pointer-events-none",
|
|
78
|
+
label: actionButtonText
|
|
79
|
+
})), logo && /*#__PURE__*/React.createElement("img", {
|
|
80
|
+
alt: t("neetoMolecules.emailPreview.logoAltText"),
|
|
81
|
+
className: "h-20 w-36 object-cover",
|
|
82
|
+
"data-cy": "company-logo-preview",
|
|
83
|
+
src: logo
|
|
84
|
+
})), productName && /*#__PURE__*/React.createElement("div", {
|
|
85
|
+
className: "neeto-ui-bg-gray-100 mt-auto p-2",
|
|
86
|
+
"data-testid": "product-name-block"
|
|
87
|
+
}, /*#__PURE__*/React.createElement(Typography, {
|
|
88
|
+
className: "neeto-ui-text-gray-600 text-center leading-6",
|
|
89
|
+
style: "body3"
|
|
90
|
+
}, t("neetoMolecules.emailPreview.poweredBy"), /*#__PURE__*/React.createElement("span", {
|
|
91
|
+
className: "neeto-ui-text-gray-800 font-medium"
|
|
92
|
+
}, productName))));
|
|
93
|
+
};
|
|
94
|
+
|
|
95
|
+
export { EmailPreview as default };
|
|
96
|
+
//# sourceMappingURL=EmailPreview.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"EmailPreview.js","sources":["../src/components/EmailPreview.jsx"],"sourcesContent":["import React from \"react\";\n\nimport { isNotEmpty } from \"neetocommons/pure\";\nimport { EditorContent } from \"neetoeditor\";\nimport { Typography, Button } from \"neetoui\";\nimport PropTypes from \"prop-types\";\nimport { useTranslation } from \"react-i18next\";\n\nconst MemoizedEditorContent = React.memo(EditorContent);\n\nconst EmailPreview = ({\n to,\n from,\n subject,\n body,\n productName,\n actionButtonText,\n logo,\n}) => {\n const { t } = useTranslation();\n\n return (\n <div\n className=\"neeto-ui-border-gray-300 neeto-ui-shadow-m neeto-ui-bg-white flex flex-1 flex-col border\"\n data-cy=\"email-preview-card\"\n >\n <div className=\"neeto-ui-border-gray-300 space-y-3 divide-y divide-gray-200 border-b p-6\">\n <div\n className=\"flex gap-2\"\n data-cy=\"email-send-to-preview\"\n data-testid=\"email-to-block\"\n >\n <Typography\n className=\"neeto-ui-text-gray-500\"\n lineHeight=\"normal\"\n style=\"body2\"\n >\n {t(\"neetoMolecules.emailPreview.to\")}:\n </Typography>\n {isNotEmpty(to) ? (\n <Typography\n className=\"neeto-ui-text-gray-800 min-w-0 flex-grow break-words\"\n lineHeight=\"normal\"\n style=\"body2\"\n >\n {to.join(\", \")}\n </Typography>\n ) : (\n <div className=\"neeto-ui-bg-gray-300 neeto-ui-rounded-full mt-2 h-2 w-40\" />\n )}\n </div>\n {from && (\n <div className=\"flex items-center gap-2 pt-3\">\n <Typography\n className=\"neeto-ui-text-gray-500\"\n lineHeight=\"normal\"\n style=\"body2\"\n >\n {t(\"neetoMolecules.emailPreview.from\")}:\n </Typography>\n <Typography\n className=\"neeto-ui-text-gray-800 min-w-0 flex-grow break-words\"\n data-cy=\"email-send-from-preview\"\n lineHeight=\"normal\"\n style=\"body2\"\n >\n {from}\n </Typography>\n </div>\n )}\n <div className=\"flex items-center gap-2 pt-3\">\n <Typography\n className=\"neeto-ui-text-gray-500\"\n lineHeight=\"normal\"\n style=\"body2\"\n >\n {t(\"neetoMolecules.emailPreview.subject\")}:\n </Typography>\n <Typography\n className=\"neeto-ui-text-gray-800 min-w-0 flex-grow break-words\"\n data-cy=\"email-subject-preview\"\n lineHeight=\"normal\"\n style=\"body2\"\n >\n {subject || (\n <span className=\"neeto-ui-bg-gray-300 neeto-ui-rounded-full h-2 w-40\" />\n )}\n </Typography>\n </div>\n </div>\n <div\n className=\"neeto-ui-text-gray-800 flex flex-1 flex-col justify-between space-y-6 p-6 pr-10 text-base leading-relaxed\"\n data-cy=\"email-body-preview-container\"\n >\n {body ? (\n <MemoizedEditorContent content={body} />\n ) : (\n <div className=\"space-y-4\">\n <div className=\"neeto-ui-bg-gray-300 neeto-ui-rounded-full h-2 w-80\" />\n <div className=\"neeto-ui-bg-gray-300 neeto-ui-rounded-full h-2 w-72\" />\n <div className=\"neeto-ui-bg-gray-300 neeto-ui-rounded-full h-2 w-80\" />\n </div>\n )}\n {actionButtonText && (\n <div className=\"mt-6 flex w-full items-center justify-center\">\n <Button className=\"pointer-events-none\" label={actionButtonText} />\n </div>\n )}\n {logo && (\n <img\n alt={t(\"neetoMolecules.emailPreview.logoAltText\")}\n className=\"h-20 w-36 object-cover\"\n data-cy=\"company-logo-preview\"\n src={logo}\n />\n )}\n </div>\n {productName && (\n <div\n className=\"neeto-ui-bg-gray-100 mt-auto p-2\"\n data-testid=\"product-name-block\"\n >\n <Typography\n className=\"neeto-ui-text-gray-600 text-center leading-6\"\n style=\"body3\"\n >\n {t(\"neetoMolecules.emailPreview.poweredBy\")}\n <span className=\"neeto-ui-text-gray-800 font-medium\">\n {productName}\n </span>\n </Typography>\n </div>\n )}\n </div>\n );\n};\n\nEmailPreview.propTypes = {\n /**\n * The value of the send-to field.\n */\n to: PropTypes.arrayOf(PropTypes.string),\n /**\n * The value of the send-from field.\n */\n from: PropTypes.string,\n /**\n * The subject of the email.\n */\n subject: PropTypes.string,\n /**\n * The body of the email.\n */\n body: PropTypes.string,\n /**\n * The name of the neeto product to be previewed.\n */\n productName: PropTypes.string,\n /**\n * The text to be shown in the action button.\n */\n actionButtonText: PropTypes.string,\n /**\n * Source link for the company logo.\n */\n logo: PropTypes.string,\n};\n\nexport default EmailPreview;\n"],"names":["MemoizedEditorContent","React","memo","EditorContent","EmailPreview","_ref","to","from","subject","body","productName","actionButtonText","logo","_useTranslation","useTranslation","t","createElement","className","Typography","lineHeight","style","isNotEmpty","join","content","Button","label","alt","src"],"mappings":"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"}
|