@bigbinary/neeto-molecules 1.1.8 → 1.1.9
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 +1 -0
- package/dist/Metadata.cjs.js +272 -0
- package/dist/Metadata.cjs.js.map +1 -0
- package/dist/Metadata.js +266 -0
- package/dist/Metadata.js.map +1 -0
- package/package.json +1 -1
- package/src/translations/en.json +7 -0
- package/types/Metadata.d.ts +108 -0
package/README.md
CHANGED
|
@@ -58,6 +58,7 @@ https://neeto-molecules.neeto.com/
|
|
|
58
58
|
- [SendToFields](./docs/components.md#SendToFieldsComponent)
|
|
59
59
|
- [ConfirmationModal](./docs/components.md#ConfirmationModal)
|
|
60
60
|
- [MoreDropdown](./docs/components.md#MoreDropdown)
|
|
61
|
+
- [Metadata](./docs/components.md#metadata)
|
|
61
62
|
|
|
62
63
|
## Installation Instructions
|
|
63
64
|
|
|
@@ -0,0 +1,272 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var React = require('react');
|
|
4
|
+
var neetoui = require('@bigbinary/neetoui');
|
|
5
|
+
var pure = require('@bigbinary/neeto-commons-frontend/pure');
|
|
6
|
+
var neetoIcons = require('@bigbinary/neeto-icons');
|
|
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 classnames$1 = {exports: {}};
|
|
14
|
+
|
|
15
|
+
/*!
|
|
16
|
+
Copyright (c) 2018 Jed Watson.
|
|
17
|
+
Licensed under the MIT License (MIT), see
|
|
18
|
+
http://jedwatson.github.io/classnames
|
|
19
|
+
*/
|
|
20
|
+
|
|
21
|
+
(function (module) {
|
|
22
|
+
/* global define */
|
|
23
|
+
|
|
24
|
+
(function () {
|
|
25
|
+
|
|
26
|
+
var hasOwn = {}.hasOwnProperty;
|
|
27
|
+
|
|
28
|
+
function classNames() {
|
|
29
|
+
var classes = [];
|
|
30
|
+
|
|
31
|
+
for (var i = 0; i < arguments.length; i++) {
|
|
32
|
+
var arg = arguments[i];
|
|
33
|
+
if (!arg) continue;
|
|
34
|
+
|
|
35
|
+
var argType = typeof arg;
|
|
36
|
+
|
|
37
|
+
if (argType === 'string' || argType === 'number') {
|
|
38
|
+
classes.push(arg);
|
|
39
|
+
} else if (Array.isArray(arg)) {
|
|
40
|
+
if (arg.length) {
|
|
41
|
+
var inner = classNames.apply(null, arg);
|
|
42
|
+
if (inner) {
|
|
43
|
+
classes.push(inner);
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
} else if (argType === 'object') {
|
|
47
|
+
if (arg.toString !== Object.prototype.toString && !arg.toString.toString().includes('[native code]')) {
|
|
48
|
+
classes.push(arg.toString());
|
|
49
|
+
continue;
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
for (var key in arg) {
|
|
53
|
+
if (hasOwn.call(arg, key) && arg[key]) {
|
|
54
|
+
classes.push(key);
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
return classes.join(' ');
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
if (module.exports) {
|
|
64
|
+
classNames.default = classNames;
|
|
65
|
+
module.exports = classNames;
|
|
66
|
+
} else {
|
|
67
|
+
window.classNames = classNames;
|
|
68
|
+
}
|
|
69
|
+
}());
|
|
70
|
+
} (classnames$1));
|
|
71
|
+
|
|
72
|
+
var classnames = classnames$1.exports;
|
|
73
|
+
|
|
74
|
+
var Block = function Block(_ref) {
|
|
75
|
+
var title = _ref.title,
|
|
76
|
+
actionBlock = _ref.actionBlock,
|
|
77
|
+
children = _ref.children,
|
|
78
|
+
_ref$className = _ref.className,
|
|
79
|
+
className = _ref$className === void 0 ? "" : _ref$className;
|
|
80
|
+
return /*#__PURE__*/React__default["default"].createElement("div", {
|
|
81
|
+
className: "neeto-molecules-metadata__block mb-5 w-full",
|
|
82
|
+
"data-cy": "neeto-molecules-metadata-block",
|
|
83
|
+
"data-testid": "metadata-block"
|
|
84
|
+
}, /*#__PURE__*/React__default["default"].createElement("div", {
|
|
85
|
+
className: "mb-2 flex w-full items-center justify-between gap-2"
|
|
86
|
+
}, title && /*#__PURE__*/React__default["default"].createElement("div", {
|
|
87
|
+
className: "flexitems-center w-60 gap-2 break-all"
|
|
88
|
+
}, /*#__PURE__*/React__default["default"].createElement(neetoui.Typography, {
|
|
89
|
+
className: "neeto-ui-text-gray-700",
|
|
90
|
+
"data-testid": "metadata-block-title",
|
|
91
|
+
style: "h5",
|
|
92
|
+
textTransform: "uppercase",
|
|
93
|
+
weight: "bold"
|
|
94
|
+
}, title)), actionBlock && /*#__PURE__*/React__default["default"].createElement("div", {
|
|
95
|
+
className: "ml-auto"
|
|
96
|
+
}, actionBlock)), /*#__PURE__*/React__default["default"].createElement("div", {
|
|
97
|
+
className: classnames("neeto-ui-bg-white neeto-ui-border-gray-300 neeto-ui-rounded-lg neeto-molecules-metadata__card overflow-y-hidden border p-4", className)
|
|
98
|
+
}, children));
|
|
99
|
+
};
|
|
100
|
+
|
|
101
|
+
var STYLES = {
|
|
102
|
+
inline: "inline",
|
|
103
|
+
multiline: "multiline"
|
|
104
|
+
};
|
|
105
|
+
var SIZES = {
|
|
106
|
+
small: "small",
|
|
107
|
+
medium: "medium"
|
|
108
|
+
};
|
|
109
|
+
var DEFAULT_TRUNCATE_AT = 3;
|
|
110
|
+
|
|
111
|
+
function _arrayWithHoles(arr) {
|
|
112
|
+
if (Array.isArray(arr)) return arr;
|
|
113
|
+
}
|
|
114
|
+
|
|
115
|
+
function _iterableToArrayLimit(arr, i) {
|
|
116
|
+
var _i = null == arr ? null : "undefined" != typeof Symbol && arr[Symbol.iterator] || arr["@@iterator"];
|
|
117
|
+
if (null != _i) {
|
|
118
|
+
var _s,
|
|
119
|
+
_e,
|
|
120
|
+
_x,
|
|
121
|
+
_r,
|
|
122
|
+
_arr = [],
|
|
123
|
+
_n = !0,
|
|
124
|
+
_d = !1;
|
|
125
|
+
try {
|
|
126
|
+
if (_x = (_i = _i.call(arr)).next, 0 === i) {
|
|
127
|
+
if (Object(_i) !== _i) return;
|
|
128
|
+
_n = !1;
|
|
129
|
+
} else for (; !(_n = (_s = _x.call(_i)).done) && (_arr.push(_s.value), _arr.length !== i); _n = !0);
|
|
130
|
+
} catch (err) {
|
|
131
|
+
_d = !0, _e = err;
|
|
132
|
+
} finally {
|
|
133
|
+
try {
|
|
134
|
+
if (!_n && null != _i["return"] && (_r = _i["return"](), Object(_r) !== _r)) return;
|
|
135
|
+
} finally {
|
|
136
|
+
if (_d) throw _e;
|
|
137
|
+
}
|
|
138
|
+
}
|
|
139
|
+
return _arr;
|
|
140
|
+
}
|
|
141
|
+
}
|
|
142
|
+
|
|
143
|
+
function _arrayLikeToArray(arr, len) {
|
|
144
|
+
if (len == null || len > arr.length) len = arr.length;
|
|
145
|
+
for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];
|
|
146
|
+
return arr2;
|
|
147
|
+
}
|
|
148
|
+
|
|
149
|
+
function _unsupportedIterableToArray(o, minLen) {
|
|
150
|
+
if (!o) return;
|
|
151
|
+
if (typeof o === "string") return _arrayLikeToArray(o, minLen);
|
|
152
|
+
var n = Object.prototype.toString.call(o).slice(8, -1);
|
|
153
|
+
if (n === "Object" && o.constructor) n = o.constructor.name;
|
|
154
|
+
if (n === "Map" || n === "Set") return Array.from(o);
|
|
155
|
+
if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen);
|
|
156
|
+
}
|
|
157
|
+
|
|
158
|
+
function _nonIterableRest() {
|
|
159
|
+
throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
|
|
160
|
+
}
|
|
161
|
+
|
|
162
|
+
function _slicedToArray(arr, i) {
|
|
163
|
+
return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest();
|
|
164
|
+
}
|
|
165
|
+
|
|
166
|
+
var DetailsBlock = function DetailsBlock(_ref) {
|
|
167
|
+
var title = _ref.title,
|
|
168
|
+
actionBlock = _ref.actionBlock,
|
|
169
|
+
_ref$details = _ref.details,
|
|
170
|
+
details = _ref$details === void 0 ? [] : _ref$details,
|
|
171
|
+
className = _ref.className,
|
|
172
|
+
_ref$style = _ref.style,
|
|
173
|
+
style = _ref$style === void 0 ? STYLES.inline : _ref$style,
|
|
174
|
+
_ref$truncate = _ref.truncate,
|
|
175
|
+
truncate = _ref$truncate === void 0 ? false : _ref$truncate,
|
|
176
|
+
_ref$truncateAt = _ref.truncateAt,
|
|
177
|
+
truncateAt = _ref$truncateAt === void 0 ? DEFAULT_TRUNCATE_AT : _ref$truncateAt;
|
|
178
|
+
var _useState = React.useState(false),
|
|
179
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
180
|
+
showTruncated = _useState2[0],
|
|
181
|
+
setShowTruncated = _useState2[1];
|
|
182
|
+
var _useTranslation = reactI18next.useTranslation(),
|
|
183
|
+
t = _useTranslation.t;
|
|
184
|
+
var _ref2 = truncate ? [details.slice(0, truncateAt), details.slice(truncateAt)] : [details],
|
|
185
|
+
_ref3 = _slicedToArray(_ref2, 2),
|
|
186
|
+
visibleDetails = _ref3[0],
|
|
187
|
+
truncatedDetails = _ref3[1];
|
|
188
|
+
return /*#__PURE__*/React__default["default"].createElement(Block, {
|
|
189
|
+
actionBlock: actionBlock,
|
|
190
|
+
className: className,
|
|
191
|
+
title: title !== null && title !== void 0 ? title : t("neetoMolecules.metadata.detailsTitle")
|
|
192
|
+
}, /*#__PURE__*/React__default["default"].createElement("div", {
|
|
193
|
+
className: "flex flex-col space-y-3",
|
|
194
|
+
"data-cy": "neeto-molecules-metadata-details-block"
|
|
195
|
+
}, visibleDetails.map(function (_ref4, index) {
|
|
196
|
+
var label = _ref4.label,
|
|
197
|
+
value = _ref4.value,
|
|
198
|
+
type = _ref4.type;
|
|
199
|
+
return /*#__PURE__*/React__default["default"].createElement(React__default["default"].Fragment, {
|
|
200
|
+
key: index
|
|
201
|
+
}, type === "divider" ? /*#__PURE__*/React__default["default"].createElement("hr", null) : /*#__PURE__*/React__default["default"].createElement("div", {
|
|
202
|
+
"data-testid": "details-card-detail-wrapper",
|
|
203
|
+
className: classnames("flex", {
|
|
204
|
+
"space-x-4": style === STYLES.inline,
|
|
205
|
+
"flex-col": style === STYLES.multiline
|
|
206
|
+
})
|
|
207
|
+
}, /*#__PURE__*/React__default["default"].createElement(neetoui.Typography, {
|
|
208
|
+
className: "neeto-ui-text-gray-600",
|
|
209
|
+
style: "body2"
|
|
210
|
+
}, label), /*#__PURE__*/React__default["default"].createElement(neetoui.Typography, {
|
|
211
|
+
style: "body2"
|
|
212
|
+
}, value)));
|
|
213
|
+
}), showTruncated && truncatedDetails.map(function (_ref5, index) {
|
|
214
|
+
var label = _ref5.label,
|
|
215
|
+
value = _ref5.value,
|
|
216
|
+
type = _ref5.type;
|
|
217
|
+
return /*#__PURE__*/React__default["default"].createElement(React__default["default"].Fragment, {
|
|
218
|
+
key: index
|
|
219
|
+
}, type === "divider" ? /*#__PURE__*/React__default["default"].createElement("hr", null) : /*#__PURE__*/React__default["default"].createElement("div", {
|
|
220
|
+
className: classnames("flex", {
|
|
221
|
+
"space-x-4": style === STYLES.inline,
|
|
222
|
+
"flex-col": style === STYLES.multiline
|
|
223
|
+
})
|
|
224
|
+
}, /*#__PURE__*/React__default["default"].createElement(neetoui.Typography, {
|
|
225
|
+
className: "neeto-ui-text-gray-600",
|
|
226
|
+
style: "body2"
|
|
227
|
+
}, label), /*#__PURE__*/React__default["default"].createElement(neetoui.Typography, {
|
|
228
|
+
style: "body2"
|
|
229
|
+
}, value)));
|
|
230
|
+
}), truncate && pure.isNotEmpty(truncatedDetails) && /*#__PURE__*/React__default["default"].createElement(neetoui.Button, {
|
|
231
|
+
"data-testid": "expand-button",
|
|
232
|
+
icon: showTruncated ? neetoIcons.Up : neetoIcons.Down,
|
|
233
|
+
style: "link",
|
|
234
|
+
label: showTruncated ? t("neetoMolecules.metadata.card.viewLess") : t("neetoMolecules.metadata.card.viewMore"),
|
|
235
|
+
onClick: function onClick() {
|
|
236
|
+
return setShowTruncated(function (showTruncated) {
|
|
237
|
+
return !showTruncated;
|
|
238
|
+
});
|
|
239
|
+
}
|
|
240
|
+
})));
|
|
241
|
+
};
|
|
242
|
+
|
|
243
|
+
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}}
|
|
244
|
+
|
|
245
|
+
var css = ":root{--neeto-molecules-metadata-width:384px}.neeto-molecules-metadata{width:384px;width:var(--neeto-molecules-metadata-width)}.neeto-molecules-metadata--size-small{--neeto-molecules-metadata-width:340px}.neeto-molecules-metadata__card{width:100%}";
|
|
246
|
+
n(css,{});
|
|
247
|
+
|
|
248
|
+
var Metadata = function Metadata(_ref) {
|
|
249
|
+
var headerBlock = _ref.headerBlock,
|
|
250
|
+
_ref$size = _ref.size,
|
|
251
|
+
size = _ref$size === void 0 ? SIZES.medium : _ref$size,
|
|
252
|
+
children = _ref.children,
|
|
253
|
+
_ref$className = _ref.className,
|
|
254
|
+
className = _ref$className === void 0 ? "" : _ref$className;
|
|
255
|
+
return /*#__PURE__*/React__default["default"].createElement("div", {
|
|
256
|
+
"data-cy": "neeto-molecules-metadata-wrapper",
|
|
257
|
+
"data-testid": "metadata-wrapper",
|
|
258
|
+
className: classnames("neeto-ui-bg-gray-100 neeto-molecules-metadata h-screen flex-shrink-0 overflow-y-auto overflow-x-hidden p-6", {
|
|
259
|
+
"neeto-molecules-metadata--size-large": size === SIZES.medium,
|
|
260
|
+
"neeto-molecules-metadata--size-small": size === SIZES.small
|
|
261
|
+
}, className)
|
|
262
|
+
}, headerBlock && /*#__PURE__*/React__default["default"].createElement("div", {
|
|
263
|
+
className: "neeto-molecules-metadata__header mb-5 flex w-full justify-center",
|
|
264
|
+
"data-cy": "neeto-molecules-metadata-header",
|
|
265
|
+
"data-testid": "metadata-header"
|
|
266
|
+
}, headerBlock), children);
|
|
267
|
+
};
|
|
268
|
+
Metadata.Block = Block;
|
|
269
|
+
Metadata.DetailsBlock = DetailsBlock;
|
|
270
|
+
|
|
271
|
+
module.exports = Metadata;
|
|
272
|
+
//# sourceMappingURL=Metadata.cjs.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Metadata.cjs.js","sources":["../node_modules/classnames/index.js","../src/components/Metadata/Block.jsx","../src/components/Metadata/constants.js","../node_modules/@babel/runtime/helpers/esm/arrayWithHoles.js","../node_modules/@babel/runtime/helpers/esm/iterableToArrayLimit.js","../node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js","../node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js","../node_modules/@babel/runtime/helpers/esm/nonIterableRest.js","../node_modules/@babel/runtime/helpers/esm/slicedToArray.js","../src/components/Metadata/DetailsBlock.jsx","../node_modules/rollup-plugin-styles/dist/runtime/inject-css.js","../src/components/Metadata/index.jsx"],"sourcesContent":["/*!\n\tCopyright (c) 2018 Jed Watson.\n\tLicensed under the MIT License (MIT), see\n\thttp://jedwatson.github.io/classnames\n*/\n/* global define */\n\n(function () {\n\t'use strict';\n\n\tvar hasOwn = {}.hasOwnProperty;\n\tvar nativeCodeString = '[native code]';\n\n\tfunction classNames() {\n\t\tvar classes = [];\n\n\t\tfor (var i = 0; i < arguments.length; i++) {\n\t\t\tvar arg = arguments[i];\n\t\t\tif (!arg) continue;\n\n\t\t\tvar argType = typeof arg;\n\n\t\t\tif (argType === 'string' || argType === 'number') {\n\t\t\t\tclasses.push(arg);\n\t\t\t} else if (Array.isArray(arg)) {\n\t\t\t\tif (arg.length) {\n\t\t\t\t\tvar inner = classNames.apply(null, arg);\n\t\t\t\t\tif (inner) {\n\t\t\t\t\t\tclasses.push(inner);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} else if (argType === 'object') {\n\t\t\t\tif (arg.toString !== Object.prototype.toString && !arg.toString.toString().includes('[native code]')) {\n\t\t\t\t\tclasses.push(arg.toString());\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\n\t\t\t\tfor (var key in arg) {\n\t\t\t\t\tif (hasOwn.call(arg, key) && arg[key]) {\n\t\t\t\t\t\tclasses.push(key);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn classes.join(' ');\n\t}\n\n\tif (typeof module !== 'undefined' && module.exports) {\n\t\tclassNames.default = classNames;\n\t\tmodule.exports = classNames;\n\t} else if (typeof define === 'function' && typeof define.amd === 'object' && define.amd) {\n\t\t// register as 'classnames', consistent with npm package name\n\t\tdefine('classnames', [], function () {\n\t\t\treturn classNames;\n\t\t});\n\t} else {\n\t\twindow.classNames = classNames;\n\t}\n}());\n","import React from \"react\";\n\nimport classnames from \"classnames\";\nimport { Typography } from \"neetoui\";\nimport PropTypes from \"prop-types\";\n\nconst Block = ({ title, actionBlock, children, className = \"\" }) => (\n <div\n className=\"neeto-molecules-metadata__block mb-5 w-full\"\n data-cy=\"neeto-molecules-metadata-block\"\n data-testid=\"metadata-block\"\n >\n <div className=\"mb-2 flex w-full items-center justify-between gap-2\">\n {title && (\n <div className=\"flexitems-center w-60 gap-2 break-all\">\n <Typography\n className=\"neeto-ui-text-gray-700\"\n data-testid=\"metadata-block-title\"\n style=\"h5\"\n textTransform=\"uppercase\"\n weight=\"bold\"\n >\n {title}\n </Typography>\n </div>\n )}\n {actionBlock && <div className=\"ml-auto\">{actionBlock}</div>}\n </div>\n <div\n className={classnames(\n \"neeto-ui-bg-white neeto-ui-border-gray-300 neeto-ui-rounded-lg neeto-molecules-metadata__card overflow-y-hidden border p-4\",\n className\n )}\n >\n {children}\n </div>\n </div>\n);\n\nBlock.propTypes = {\n /**\n * To specify the content to be rendered on the right side of the title.\n */\n actionBlock: PropTypes.node,\n /**\n * To specify the title of the block.\n */\n title: PropTypes.string,\n /**\n * The content to be rendered inside the block.\n */\n children: PropTypes.oneOfType([\n PropTypes.arrayOf(PropTypes.node),\n PropTypes.node,\n ]),\n /**\n * To specify external classNames as overrides to the `Block` component.\n */\n className: PropTypes.string,\n};\n\nexport default Block;\n","export const STYLES = { inline: \"inline\", multiline: \"multiline\" };\n\nexport const SIZES = { small: \"small\", medium: \"medium\" };\n\nexport const DEFAULT_TRUNCATE_AT = 3;\n","export default function _arrayWithHoles(arr) {\n if (Array.isArray(arr)) return arr;\n}","export default function _iterableToArrayLimit(arr, i) {\n var _i = null == arr ? null : \"undefined\" != typeof Symbol && arr[Symbol.iterator] || arr[\"@@iterator\"];\n if (null != _i) {\n var _s,\n _e,\n _x,\n _r,\n _arr = [],\n _n = !0,\n _d = !1;\n try {\n if (_x = (_i = _i.call(arr)).next, 0 === i) {\n if (Object(_i) !== _i) return;\n _n = !1;\n } else for (; !(_n = (_s = _x.call(_i)).done) && (_arr.push(_s.value), _arr.length !== i); _n = !0);\n } catch (err) {\n _d = !0, _e = err;\n } finally {\n try {\n if (!_n && null != _i[\"return\"] && (_r = _i[\"return\"](), Object(_r) !== _r)) return;\n } finally {\n if (_d) throw _e;\n }\n }\n return _arr;\n }\n}","export default function _arrayLikeToArray(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];\n return arr2;\n}","import arrayLikeToArray from \"./arrayLikeToArray.js\";\nexport default function _unsupportedIterableToArray(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return arrayLikeToArray(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(o);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return arrayLikeToArray(o, minLen);\n}","export default function _nonIterableRest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}","import arrayWithHoles from \"./arrayWithHoles.js\";\nimport iterableToArrayLimit from \"./iterableToArrayLimit.js\";\nimport unsupportedIterableToArray from \"./unsupportedIterableToArray.js\";\nimport nonIterableRest from \"./nonIterableRest.js\";\nexport default function _slicedToArray(arr, i) {\n return arrayWithHoles(arr) || iterableToArrayLimit(arr, i) || unsupportedIterableToArray(arr, i) || nonIterableRest();\n}","import React, { useState } from \"react\";\n\nimport classnames from \"classnames\";\nimport { isNotEmpty } from \"neetocommons/pure\";\nimport { Down, Up } from \"neetoicons\";\nimport { Button, Typography } from \"neetoui\";\nimport PropTypes from \"prop-types\";\nimport { useTranslation } from \"react-i18next\";\n\nimport Block from \"./Block\";\nimport { DEFAULT_TRUNCATE_AT, STYLES } from \"./constants\";\n\nconst DetailsBlock = ({\n title,\n actionBlock,\n details = [],\n className,\n style = STYLES.inline,\n truncate = false,\n truncateAt = DEFAULT_TRUNCATE_AT,\n}) => {\n const [showTruncated, setShowTruncated] = useState(false);\n\n const { t } = useTranslation();\n\n const [visibleDetails, truncatedDetails] = truncate\n ? [details.slice(0, truncateAt), details.slice(truncateAt)]\n : [details];\n\n return (\n <Block\n {...{ actionBlock, className }}\n title={title ?? t(\"neetoMolecules.metadata.detailsTitle\")}\n >\n <div\n className=\"flex flex-col space-y-3\"\n data-cy=\"neeto-molecules-metadata-details-block\"\n >\n {visibleDetails.map(({ label, value, type }, index) => (\n <React.Fragment key={index}>\n {type === \"divider\" ? (\n <hr />\n ) : (\n <div\n data-testid=\"details-card-detail-wrapper\"\n className={classnames(\"flex\", {\n \"space-x-4\": style === STYLES.inline,\n \"flex-col\": style === STYLES.multiline,\n })}\n >\n <Typography className=\"neeto-ui-text-gray-600\" style=\"body2\">\n {label}\n </Typography>\n <Typography style=\"body2\">{value}</Typography>\n </div>\n )}\n </React.Fragment>\n ))}\n {showTruncated &&\n truncatedDetails.map(({ label, value, type }, index) => (\n <React.Fragment key={index}>\n {type === \"divider\" ? (\n <hr />\n ) : (\n <div\n className={classnames(\"flex\", {\n \"space-x-4\": style === STYLES.inline,\n \"flex-col\": style === STYLES.multiline,\n })}\n >\n <Typography className=\"neeto-ui-text-gray-600\" style=\"body2\">\n {label}\n </Typography>\n <Typography style=\"body2\">{value}</Typography>\n </div>\n )}\n </React.Fragment>\n ))}\n {truncate && isNotEmpty(truncatedDetails) && (\n <Button\n data-testid=\"expand-button\"\n icon={showTruncated ? Up : Down}\n style=\"link\"\n label={\n showTruncated\n ? t(\"neetoMolecules.metadata.card.viewLess\")\n : t(\"neetoMolecules.metadata.card.viewMore\")\n }\n onClick={() => setShowTruncated(showTruncated => !showTruncated)}\n />\n )}\n </div>\n </Block>\n );\n};\n\nDetailsBlock.propTypes = {\n /**\n * To specify the content to be rendered on the right side of the title.\n */\n actionBlock: PropTypes.node,\n /**\n * To specify the title of the block.\n */\n title: PropTypes.string,\n /**\n * The details to be rendered inside the block.\n */\n details: PropTypes.arrayOf(\n PropTypes.shape({\n label: PropTypes.string,\n value: PropTypes.node,\n type: PropTypes.string,\n })\n ),\n /**\n * To specify whether the label and value should be rendered in a single line or in two lines.\n */\n style: PropTypes.oneOf([\"inline\", \"multiline\"]),\n /**\n * To specify whether the visible details should be truncated at a specific point.\n */\n truncate: PropTypes.bool,\n /**\n * To specify the position at which the details should be truncated and `View more` button should be shown.\n */\n truncateAt: PropTypes.number,\n /**\n * To specify external classNames as overrides to the `DetailsBlock` component.\n */\n className: PropTypes.string,\n};\n\nexport default DetailsBlock;\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 React from \"react\";\n\nimport classnames from \"classnames\";\nimport PropTypes from \"prop-types\";\n\nimport Block from \"./Block\";\nimport { SIZES } from \"./constants\";\nimport DetailsBlock from \"./DetailsBlock\";\nimport \"./metadata.scss\";\n\nconst Metadata = ({\n headerBlock,\n size = SIZES.medium,\n children,\n className = \"\",\n}) => (\n <div\n data-cy=\"neeto-molecules-metadata-wrapper\"\n data-testid=\"metadata-wrapper\"\n className={classnames(\n \"neeto-ui-bg-gray-100 neeto-molecules-metadata h-screen flex-shrink-0 overflow-y-auto overflow-x-hidden p-6\",\n {\n \"neeto-molecules-metadata--size-large\": size === SIZES.medium,\n \"neeto-molecules-metadata--size-small\": size === SIZES.small,\n },\n className\n )}\n >\n {headerBlock && (\n <div\n className=\"neeto-molecules-metadata__header mb-5 flex w-full justify-center\"\n data-cy=\"neeto-molecules-metadata-header\"\n data-testid=\"metadata-header\"\n >\n {headerBlock}\n </div>\n )}\n {children}\n </div>\n);\n\nMetadata.Block = Block;\nMetadata.DetailsBlock = DetailsBlock;\n\nMetadata.propTypes = {\n /**\n * To specify the content to be rendered as the title of the `Metadata` wrapper.\n */\n headerBlock: PropTypes.node,\n /**\n * The content to be rendered inside the `Metadata` wrapper.\n */\n children: PropTypes.oneOfType([\n PropTypes.arrayOf(PropTypes.node),\n PropTypes.node,\n ]),\n /**\n * To specify external classNames as overrides to the `Metadata` component.\n */\n className: PropTypes.string,\n /**\n * To set the size of the `Metadata` wrapper.\n */\n size: PropTypes.oneOf([\"small\", \"medium\"]),\n};\n\nexport default Metadata;\n"],"names":["Block","_ref","title","actionBlock","children","_ref$className","className","React","createElement","Typography","style","textTransform","weight","classnames","STYLES","inline","multiline","SIZES","small","medium","DEFAULT_TRUNCATE_AT","arrayLikeToArray","arrayWithHoles","iterableToArrayLimit","unsupportedIterableToArray","nonIterableRest","DetailsBlock","_ref$details","details","_ref$style","_ref$truncate","truncate","_ref$truncateAt","truncateAt","_useState","useState","_useState2","_slicedToArray","showTruncated","setShowTruncated","_useTranslation","useTranslation","t","_ref2","slice","_ref3","visibleDetails","truncatedDetails","map","_ref4","index","label","value","type","Fragment","key","_ref5","isNotEmpty","Button","icon","Up","Down","onClick","Metadata","headerBlock","_ref$size","size"],"mappings":"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"}
|
package/dist/Metadata.js
ADDED
|
@@ -0,0 +1,266 @@
|
|
|
1
|
+
import React, { useState } from 'react';
|
|
2
|
+
import { Typography, Button } from '@bigbinary/neetoui';
|
|
3
|
+
import { isNotEmpty } from '@bigbinary/neeto-commons-frontend/pure';
|
|
4
|
+
import { Up, Down } from '@bigbinary/neeto-icons';
|
|
5
|
+
import { useTranslation } from 'react-i18next';
|
|
6
|
+
|
|
7
|
+
var classnames$1 = {exports: {}};
|
|
8
|
+
|
|
9
|
+
/*!
|
|
10
|
+
Copyright (c) 2018 Jed Watson.
|
|
11
|
+
Licensed under the MIT License (MIT), see
|
|
12
|
+
http://jedwatson.github.io/classnames
|
|
13
|
+
*/
|
|
14
|
+
|
|
15
|
+
(function (module) {
|
|
16
|
+
/* global define */
|
|
17
|
+
|
|
18
|
+
(function () {
|
|
19
|
+
|
|
20
|
+
var hasOwn = {}.hasOwnProperty;
|
|
21
|
+
|
|
22
|
+
function classNames() {
|
|
23
|
+
var classes = [];
|
|
24
|
+
|
|
25
|
+
for (var i = 0; i < arguments.length; i++) {
|
|
26
|
+
var arg = arguments[i];
|
|
27
|
+
if (!arg) continue;
|
|
28
|
+
|
|
29
|
+
var argType = typeof arg;
|
|
30
|
+
|
|
31
|
+
if (argType === 'string' || argType === 'number') {
|
|
32
|
+
classes.push(arg);
|
|
33
|
+
} else if (Array.isArray(arg)) {
|
|
34
|
+
if (arg.length) {
|
|
35
|
+
var inner = classNames.apply(null, arg);
|
|
36
|
+
if (inner) {
|
|
37
|
+
classes.push(inner);
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
} else if (argType === 'object') {
|
|
41
|
+
if (arg.toString !== Object.prototype.toString && !arg.toString.toString().includes('[native code]')) {
|
|
42
|
+
classes.push(arg.toString());
|
|
43
|
+
continue;
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
for (var key in arg) {
|
|
47
|
+
if (hasOwn.call(arg, key) && arg[key]) {
|
|
48
|
+
classes.push(key);
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
return classes.join(' ');
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
if (module.exports) {
|
|
58
|
+
classNames.default = classNames;
|
|
59
|
+
module.exports = classNames;
|
|
60
|
+
} else {
|
|
61
|
+
window.classNames = classNames;
|
|
62
|
+
}
|
|
63
|
+
}());
|
|
64
|
+
} (classnames$1));
|
|
65
|
+
|
|
66
|
+
var classnames = classnames$1.exports;
|
|
67
|
+
|
|
68
|
+
var Block = function Block(_ref) {
|
|
69
|
+
var title = _ref.title,
|
|
70
|
+
actionBlock = _ref.actionBlock,
|
|
71
|
+
children = _ref.children,
|
|
72
|
+
_ref$className = _ref.className,
|
|
73
|
+
className = _ref$className === void 0 ? "" : _ref$className;
|
|
74
|
+
return /*#__PURE__*/React.createElement("div", {
|
|
75
|
+
className: "neeto-molecules-metadata__block mb-5 w-full",
|
|
76
|
+
"data-cy": "neeto-molecules-metadata-block",
|
|
77
|
+
"data-testid": "metadata-block"
|
|
78
|
+
}, /*#__PURE__*/React.createElement("div", {
|
|
79
|
+
className: "mb-2 flex w-full items-center justify-between gap-2"
|
|
80
|
+
}, title && /*#__PURE__*/React.createElement("div", {
|
|
81
|
+
className: "flexitems-center w-60 gap-2 break-all"
|
|
82
|
+
}, /*#__PURE__*/React.createElement(Typography, {
|
|
83
|
+
className: "neeto-ui-text-gray-700",
|
|
84
|
+
"data-testid": "metadata-block-title",
|
|
85
|
+
style: "h5",
|
|
86
|
+
textTransform: "uppercase",
|
|
87
|
+
weight: "bold"
|
|
88
|
+
}, title)), actionBlock && /*#__PURE__*/React.createElement("div", {
|
|
89
|
+
className: "ml-auto"
|
|
90
|
+
}, actionBlock)), /*#__PURE__*/React.createElement("div", {
|
|
91
|
+
className: classnames("neeto-ui-bg-white neeto-ui-border-gray-300 neeto-ui-rounded-lg neeto-molecules-metadata__card overflow-y-hidden border p-4", className)
|
|
92
|
+
}, children));
|
|
93
|
+
};
|
|
94
|
+
|
|
95
|
+
var STYLES = {
|
|
96
|
+
inline: "inline",
|
|
97
|
+
multiline: "multiline"
|
|
98
|
+
};
|
|
99
|
+
var SIZES = {
|
|
100
|
+
small: "small",
|
|
101
|
+
medium: "medium"
|
|
102
|
+
};
|
|
103
|
+
var DEFAULT_TRUNCATE_AT = 3;
|
|
104
|
+
|
|
105
|
+
function _arrayWithHoles(arr) {
|
|
106
|
+
if (Array.isArray(arr)) return arr;
|
|
107
|
+
}
|
|
108
|
+
|
|
109
|
+
function _iterableToArrayLimit(arr, i) {
|
|
110
|
+
var _i = null == arr ? null : "undefined" != typeof Symbol && arr[Symbol.iterator] || arr["@@iterator"];
|
|
111
|
+
if (null != _i) {
|
|
112
|
+
var _s,
|
|
113
|
+
_e,
|
|
114
|
+
_x,
|
|
115
|
+
_r,
|
|
116
|
+
_arr = [],
|
|
117
|
+
_n = !0,
|
|
118
|
+
_d = !1;
|
|
119
|
+
try {
|
|
120
|
+
if (_x = (_i = _i.call(arr)).next, 0 === i) {
|
|
121
|
+
if (Object(_i) !== _i) return;
|
|
122
|
+
_n = !1;
|
|
123
|
+
} else for (; !(_n = (_s = _x.call(_i)).done) && (_arr.push(_s.value), _arr.length !== i); _n = !0);
|
|
124
|
+
} catch (err) {
|
|
125
|
+
_d = !0, _e = err;
|
|
126
|
+
} finally {
|
|
127
|
+
try {
|
|
128
|
+
if (!_n && null != _i["return"] && (_r = _i["return"](), Object(_r) !== _r)) return;
|
|
129
|
+
} finally {
|
|
130
|
+
if (_d) throw _e;
|
|
131
|
+
}
|
|
132
|
+
}
|
|
133
|
+
return _arr;
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
|
+
|
|
137
|
+
function _arrayLikeToArray(arr, len) {
|
|
138
|
+
if (len == null || len > arr.length) len = arr.length;
|
|
139
|
+
for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];
|
|
140
|
+
return arr2;
|
|
141
|
+
}
|
|
142
|
+
|
|
143
|
+
function _unsupportedIterableToArray(o, minLen) {
|
|
144
|
+
if (!o) return;
|
|
145
|
+
if (typeof o === "string") return _arrayLikeToArray(o, minLen);
|
|
146
|
+
var n = Object.prototype.toString.call(o).slice(8, -1);
|
|
147
|
+
if (n === "Object" && o.constructor) n = o.constructor.name;
|
|
148
|
+
if (n === "Map" || n === "Set") return Array.from(o);
|
|
149
|
+
if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen);
|
|
150
|
+
}
|
|
151
|
+
|
|
152
|
+
function _nonIterableRest() {
|
|
153
|
+
throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
|
|
154
|
+
}
|
|
155
|
+
|
|
156
|
+
function _slicedToArray(arr, i) {
|
|
157
|
+
return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest();
|
|
158
|
+
}
|
|
159
|
+
|
|
160
|
+
var DetailsBlock = function DetailsBlock(_ref) {
|
|
161
|
+
var title = _ref.title,
|
|
162
|
+
actionBlock = _ref.actionBlock,
|
|
163
|
+
_ref$details = _ref.details,
|
|
164
|
+
details = _ref$details === void 0 ? [] : _ref$details,
|
|
165
|
+
className = _ref.className,
|
|
166
|
+
_ref$style = _ref.style,
|
|
167
|
+
style = _ref$style === void 0 ? STYLES.inline : _ref$style,
|
|
168
|
+
_ref$truncate = _ref.truncate,
|
|
169
|
+
truncate = _ref$truncate === void 0 ? false : _ref$truncate,
|
|
170
|
+
_ref$truncateAt = _ref.truncateAt,
|
|
171
|
+
truncateAt = _ref$truncateAt === void 0 ? DEFAULT_TRUNCATE_AT : _ref$truncateAt;
|
|
172
|
+
var _useState = useState(false),
|
|
173
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
174
|
+
showTruncated = _useState2[0],
|
|
175
|
+
setShowTruncated = _useState2[1];
|
|
176
|
+
var _useTranslation = useTranslation(),
|
|
177
|
+
t = _useTranslation.t;
|
|
178
|
+
var _ref2 = truncate ? [details.slice(0, truncateAt), details.slice(truncateAt)] : [details],
|
|
179
|
+
_ref3 = _slicedToArray(_ref2, 2),
|
|
180
|
+
visibleDetails = _ref3[0],
|
|
181
|
+
truncatedDetails = _ref3[1];
|
|
182
|
+
return /*#__PURE__*/React.createElement(Block, {
|
|
183
|
+
actionBlock: actionBlock,
|
|
184
|
+
className: className,
|
|
185
|
+
title: title !== null && title !== void 0 ? title : t("neetoMolecules.metadata.detailsTitle")
|
|
186
|
+
}, /*#__PURE__*/React.createElement("div", {
|
|
187
|
+
className: "flex flex-col space-y-3",
|
|
188
|
+
"data-cy": "neeto-molecules-metadata-details-block"
|
|
189
|
+
}, visibleDetails.map(function (_ref4, index) {
|
|
190
|
+
var label = _ref4.label,
|
|
191
|
+
value = _ref4.value,
|
|
192
|
+
type = _ref4.type;
|
|
193
|
+
return /*#__PURE__*/React.createElement(React.Fragment, {
|
|
194
|
+
key: index
|
|
195
|
+
}, type === "divider" ? /*#__PURE__*/React.createElement("hr", null) : /*#__PURE__*/React.createElement("div", {
|
|
196
|
+
"data-testid": "details-card-detail-wrapper",
|
|
197
|
+
className: classnames("flex", {
|
|
198
|
+
"space-x-4": style === STYLES.inline,
|
|
199
|
+
"flex-col": style === STYLES.multiline
|
|
200
|
+
})
|
|
201
|
+
}, /*#__PURE__*/React.createElement(Typography, {
|
|
202
|
+
className: "neeto-ui-text-gray-600",
|
|
203
|
+
style: "body2"
|
|
204
|
+
}, label), /*#__PURE__*/React.createElement(Typography, {
|
|
205
|
+
style: "body2"
|
|
206
|
+
}, value)));
|
|
207
|
+
}), showTruncated && truncatedDetails.map(function (_ref5, index) {
|
|
208
|
+
var label = _ref5.label,
|
|
209
|
+
value = _ref5.value,
|
|
210
|
+
type = _ref5.type;
|
|
211
|
+
return /*#__PURE__*/React.createElement(React.Fragment, {
|
|
212
|
+
key: index
|
|
213
|
+
}, type === "divider" ? /*#__PURE__*/React.createElement("hr", null) : /*#__PURE__*/React.createElement("div", {
|
|
214
|
+
className: classnames("flex", {
|
|
215
|
+
"space-x-4": style === STYLES.inline,
|
|
216
|
+
"flex-col": style === STYLES.multiline
|
|
217
|
+
})
|
|
218
|
+
}, /*#__PURE__*/React.createElement(Typography, {
|
|
219
|
+
className: "neeto-ui-text-gray-600",
|
|
220
|
+
style: "body2"
|
|
221
|
+
}, label), /*#__PURE__*/React.createElement(Typography, {
|
|
222
|
+
style: "body2"
|
|
223
|
+
}, value)));
|
|
224
|
+
}), truncate && isNotEmpty(truncatedDetails) && /*#__PURE__*/React.createElement(Button, {
|
|
225
|
+
"data-testid": "expand-button",
|
|
226
|
+
icon: showTruncated ? Up : Down,
|
|
227
|
+
style: "link",
|
|
228
|
+
label: showTruncated ? t("neetoMolecules.metadata.card.viewLess") : t("neetoMolecules.metadata.card.viewMore"),
|
|
229
|
+
onClick: function onClick() {
|
|
230
|
+
return setShowTruncated(function (showTruncated) {
|
|
231
|
+
return !showTruncated;
|
|
232
|
+
});
|
|
233
|
+
}
|
|
234
|
+
})));
|
|
235
|
+
};
|
|
236
|
+
|
|
237
|
+
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}}
|
|
238
|
+
|
|
239
|
+
var css = ":root{--neeto-molecules-metadata-width:384px}.neeto-molecules-metadata{width:384px;width:var(--neeto-molecules-metadata-width)}.neeto-molecules-metadata--size-small{--neeto-molecules-metadata-width:340px}.neeto-molecules-metadata__card{width:100%}";
|
|
240
|
+
n(css,{});
|
|
241
|
+
|
|
242
|
+
var Metadata = function Metadata(_ref) {
|
|
243
|
+
var headerBlock = _ref.headerBlock,
|
|
244
|
+
_ref$size = _ref.size,
|
|
245
|
+
size = _ref$size === void 0 ? SIZES.medium : _ref$size,
|
|
246
|
+
children = _ref.children,
|
|
247
|
+
_ref$className = _ref.className,
|
|
248
|
+
className = _ref$className === void 0 ? "" : _ref$className;
|
|
249
|
+
return /*#__PURE__*/React.createElement("div", {
|
|
250
|
+
"data-cy": "neeto-molecules-metadata-wrapper",
|
|
251
|
+
"data-testid": "metadata-wrapper",
|
|
252
|
+
className: classnames("neeto-ui-bg-gray-100 neeto-molecules-metadata h-screen flex-shrink-0 overflow-y-auto overflow-x-hidden p-6", {
|
|
253
|
+
"neeto-molecules-metadata--size-large": size === SIZES.medium,
|
|
254
|
+
"neeto-molecules-metadata--size-small": size === SIZES.small
|
|
255
|
+
}, className)
|
|
256
|
+
}, headerBlock && /*#__PURE__*/React.createElement("div", {
|
|
257
|
+
className: "neeto-molecules-metadata__header mb-5 flex w-full justify-center",
|
|
258
|
+
"data-cy": "neeto-molecules-metadata-header",
|
|
259
|
+
"data-testid": "metadata-header"
|
|
260
|
+
}, headerBlock), children);
|
|
261
|
+
};
|
|
262
|
+
Metadata.Block = Block;
|
|
263
|
+
Metadata.DetailsBlock = DetailsBlock;
|
|
264
|
+
|
|
265
|
+
export { Metadata as default };
|
|
266
|
+
//# sourceMappingURL=Metadata.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Metadata.js","sources":["../node_modules/classnames/index.js","../src/components/Metadata/Block.jsx","../src/components/Metadata/constants.js","../node_modules/@babel/runtime/helpers/esm/arrayWithHoles.js","../node_modules/@babel/runtime/helpers/esm/iterableToArrayLimit.js","../node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js","../node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js","../node_modules/@babel/runtime/helpers/esm/nonIterableRest.js","../node_modules/@babel/runtime/helpers/esm/slicedToArray.js","../src/components/Metadata/DetailsBlock.jsx","../node_modules/rollup-plugin-styles/dist/runtime/inject-css.js","../src/components/Metadata/index.jsx"],"sourcesContent":["/*!\n\tCopyright (c) 2018 Jed Watson.\n\tLicensed under the MIT License (MIT), see\n\thttp://jedwatson.github.io/classnames\n*/\n/* global define */\n\n(function () {\n\t'use strict';\n\n\tvar hasOwn = {}.hasOwnProperty;\n\tvar nativeCodeString = '[native code]';\n\n\tfunction classNames() {\n\t\tvar classes = [];\n\n\t\tfor (var i = 0; i < arguments.length; i++) {\n\t\t\tvar arg = arguments[i];\n\t\t\tif (!arg) continue;\n\n\t\t\tvar argType = typeof arg;\n\n\t\t\tif (argType === 'string' || argType === 'number') {\n\t\t\t\tclasses.push(arg);\n\t\t\t} else if (Array.isArray(arg)) {\n\t\t\t\tif (arg.length) {\n\t\t\t\t\tvar inner = classNames.apply(null, arg);\n\t\t\t\t\tif (inner) {\n\t\t\t\t\t\tclasses.push(inner);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} else if (argType === 'object') {\n\t\t\t\tif (arg.toString !== Object.prototype.toString && !arg.toString.toString().includes('[native code]')) {\n\t\t\t\t\tclasses.push(arg.toString());\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\n\t\t\t\tfor (var key in arg) {\n\t\t\t\t\tif (hasOwn.call(arg, key) && arg[key]) {\n\t\t\t\t\t\tclasses.push(key);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn classes.join(' ');\n\t}\n\n\tif (typeof module !== 'undefined' && module.exports) {\n\t\tclassNames.default = classNames;\n\t\tmodule.exports = classNames;\n\t} else if (typeof define === 'function' && typeof define.amd === 'object' && define.amd) {\n\t\t// register as 'classnames', consistent with npm package name\n\t\tdefine('classnames', [], function () {\n\t\t\treturn classNames;\n\t\t});\n\t} else {\n\t\twindow.classNames = classNames;\n\t}\n}());\n","import React from \"react\";\n\nimport classnames from \"classnames\";\nimport { Typography } from \"neetoui\";\nimport PropTypes from \"prop-types\";\n\nconst Block = ({ title, actionBlock, children, className = \"\" }) => (\n <div\n className=\"neeto-molecules-metadata__block mb-5 w-full\"\n data-cy=\"neeto-molecules-metadata-block\"\n data-testid=\"metadata-block\"\n >\n <div className=\"mb-2 flex w-full items-center justify-between gap-2\">\n {title && (\n <div className=\"flexitems-center w-60 gap-2 break-all\">\n <Typography\n className=\"neeto-ui-text-gray-700\"\n data-testid=\"metadata-block-title\"\n style=\"h5\"\n textTransform=\"uppercase\"\n weight=\"bold\"\n >\n {title}\n </Typography>\n </div>\n )}\n {actionBlock && <div className=\"ml-auto\">{actionBlock}</div>}\n </div>\n <div\n className={classnames(\n \"neeto-ui-bg-white neeto-ui-border-gray-300 neeto-ui-rounded-lg neeto-molecules-metadata__card overflow-y-hidden border p-4\",\n className\n )}\n >\n {children}\n </div>\n </div>\n);\n\nBlock.propTypes = {\n /**\n * To specify the content to be rendered on the right side of the title.\n */\n actionBlock: PropTypes.node,\n /**\n * To specify the title of the block.\n */\n title: PropTypes.string,\n /**\n * The content to be rendered inside the block.\n */\n children: PropTypes.oneOfType([\n PropTypes.arrayOf(PropTypes.node),\n PropTypes.node,\n ]),\n /**\n * To specify external classNames as overrides to the `Block` component.\n */\n className: PropTypes.string,\n};\n\nexport default Block;\n","export const STYLES = { inline: \"inline\", multiline: \"multiline\" };\n\nexport const SIZES = { small: \"small\", medium: \"medium\" };\n\nexport const DEFAULT_TRUNCATE_AT = 3;\n","export default function _arrayWithHoles(arr) {\n if (Array.isArray(arr)) return arr;\n}","export default function _iterableToArrayLimit(arr, i) {\n var _i = null == arr ? null : \"undefined\" != typeof Symbol && arr[Symbol.iterator] || arr[\"@@iterator\"];\n if (null != _i) {\n var _s,\n _e,\n _x,\n _r,\n _arr = [],\n _n = !0,\n _d = !1;\n try {\n if (_x = (_i = _i.call(arr)).next, 0 === i) {\n if (Object(_i) !== _i) return;\n _n = !1;\n } else for (; !(_n = (_s = _x.call(_i)).done) && (_arr.push(_s.value), _arr.length !== i); _n = !0);\n } catch (err) {\n _d = !0, _e = err;\n } finally {\n try {\n if (!_n && null != _i[\"return\"] && (_r = _i[\"return\"](), Object(_r) !== _r)) return;\n } finally {\n if (_d) throw _e;\n }\n }\n return _arr;\n }\n}","export default function _arrayLikeToArray(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];\n return arr2;\n}","import arrayLikeToArray from \"./arrayLikeToArray.js\";\nexport default function _unsupportedIterableToArray(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return arrayLikeToArray(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(o);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return arrayLikeToArray(o, minLen);\n}","export default function _nonIterableRest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}","import arrayWithHoles from \"./arrayWithHoles.js\";\nimport iterableToArrayLimit from \"./iterableToArrayLimit.js\";\nimport unsupportedIterableToArray from \"./unsupportedIterableToArray.js\";\nimport nonIterableRest from \"./nonIterableRest.js\";\nexport default function _slicedToArray(arr, i) {\n return arrayWithHoles(arr) || iterableToArrayLimit(arr, i) || unsupportedIterableToArray(arr, i) || nonIterableRest();\n}","import React, { useState } from \"react\";\n\nimport classnames from \"classnames\";\nimport { isNotEmpty } from \"neetocommons/pure\";\nimport { Down, Up } from \"neetoicons\";\nimport { Button, Typography } from \"neetoui\";\nimport PropTypes from \"prop-types\";\nimport { useTranslation } from \"react-i18next\";\n\nimport Block from \"./Block\";\nimport { DEFAULT_TRUNCATE_AT, STYLES } from \"./constants\";\n\nconst DetailsBlock = ({\n title,\n actionBlock,\n details = [],\n className,\n style = STYLES.inline,\n truncate = false,\n truncateAt = DEFAULT_TRUNCATE_AT,\n}) => {\n const [showTruncated, setShowTruncated] = useState(false);\n\n const { t } = useTranslation();\n\n const [visibleDetails, truncatedDetails] = truncate\n ? [details.slice(0, truncateAt), details.slice(truncateAt)]\n : [details];\n\n return (\n <Block\n {...{ actionBlock, className }}\n title={title ?? t(\"neetoMolecules.metadata.detailsTitle\")}\n >\n <div\n className=\"flex flex-col space-y-3\"\n data-cy=\"neeto-molecules-metadata-details-block\"\n >\n {visibleDetails.map(({ label, value, type }, index) => (\n <React.Fragment key={index}>\n {type === \"divider\" ? (\n <hr />\n ) : (\n <div\n data-testid=\"details-card-detail-wrapper\"\n className={classnames(\"flex\", {\n \"space-x-4\": style === STYLES.inline,\n \"flex-col\": style === STYLES.multiline,\n })}\n >\n <Typography className=\"neeto-ui-text-gray-600\" style=\"body2\">\n {label}\n </Typography>\n <Typography style=\"body2\">{value}</Typography>\n </div>\n )}\n </React.Fragment>\n ))}\n {showTruncated &&\n truncatedDetails.map(({ label, value, type }, index) => (\n <React.Fragment key={index}>\n {type === \"divider\" ? (\n <hr />\n ) : (\n <div\n className={classnames(\"flex\", {\n \"space-x-4\": style === STYLES.inline,\n \"flex-col\": style === STYLES.multiline,\n })}\n >\n <Typography className=\"neeto-ui-text-gray-600\" style=\"body2\">\n {label}\n </Typography>\n <Typography style=\"body2\">{value}</Typography>\n </div>\n )}\n </React.Fragment>\n ))}\n {truncate && isNotEmpty(truncatedDetails) && (\n <Button\n data-testid=\"expand-button\"\n icon={showTruncated ? Up : Down}\n style=\"link\"\n label={\n showTruncated\n ? t(\"neetoMolecules.metadata.card.viewLess\")\n : t(\"neetoMolecules.metadata.card.viewMore\")\n }\n onClick={() => setShowTruncated(showTruncated => !showTruncated)}\n />\n )}\n </div>\n </Block>\n );\n};\n\nDetailsBlock.propTypes = {\n /**\n * To specify the content to be rendered on the right side of the title.\n */\n actionBlock: PropTypes.node,\n /**\n * To specify the title of the block.\n */\n title: PropTypes.string,\n /**\n * The details to be rendered inside the block.\n */\n details: PropTypes.arrayOf(\n PropTypes.shape({\n label: PropTypes.string,\n value: PropTypes.node,\n type: PropTypes.string,\n })\n ),\n /**\n * To specify whether the label and value should be rendered in a single line or in two lines.\n */\n style: PropTypes.oneOf([\"inline\", \"multiline\"]),\n /**\n * To specify whether the visible details should be truncated at a specific point.\n */\n truncate: PropTypes.bool,\n /**\n * To specify the position at which the details should be truncated and `View more` button should be shown.\n */\n truncateAt: PropTypes.number,\n /**\n * To specify external classNames as overrides to the `DetailsBlock` component.\n */\n className: PropTypes.string,\n};\n\nexport default DetailsBlock;\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 React from \"react\";\n\nimport classnames from \"classnames\";\nimport PropTypes from \"prop-types\";\n\nimport Block from \"./Block\";\nimport { SIZES } from \"./constants\";\nimport DetailsBlock from \"./DetailsBlock\";\nimport \"./metadata.scss\";\n\nconst Metadata = ({\n headerBlock,\n size = SIZES.medium,\n children,\n className = \"\",\n}) => (\n <div\n data-cy=\"neeto-molecules-metadata-wrapper\"\n data-testid=\"metadata-wrapper\"\n className={classnames(\n \"neeto-ui-bg-gray-100 neeto-molecules-metadata h-screen flex-shrink-0 overflow-y-auto overflow-x-hidden p-6\",\n {\n \"neeto-molecules-metadata--size-large\": size === SIZES.medium,\n \"neeto-molecules-metadata--size-small\": size === SIZES.small,\n },\n className\n )}\n >\n {headerBlock && (\n <div\n className=\"neeto-molecules-metadata__header mb-5 flex w-full justify-center\"\n data-cy=\"neeto-molecules-metadata-header\"\n data-testid=\"metadata-header\"\n >\n {headerBlock}\n </div>\n )}\n {children}\n </div>\n);\n\nMetadata.Block = Block;\nMetadata.DetailsBlock = DetailsBlock;\n\nMetadata.propTypes = {\n /**\n * To specify the content to be rendered as the title of the `Metadata` wrapper.\n */\n headerBlock: PropTypes.node,\n /**\n * The content to be rendered inside the `Metadata` wrapper.\n */\n children: PropTypes.oneOfType([\n PropTypes.arrayOf(PropTypes.node),\n PropTypes.node,\n ]),\n /**\n * To specify external classNames as overrides to the `Metadata` component.\n */\n className: PropTypes.string,\n /**\n * To set the size of the `Metadata` wrapper.\n */\n size: PropTypes.oneOf([\"small\", \"medium\"]),\n};\n\nexport default Metadata;\n"],"names":["Block","_ref","title","actionBlock","children","_ref$className","className","React","createElement","Typography","style","textTransform","weight","classnames","STYLES","inline","multiline","SIZES","small","medium","DEFAULT_TRUNCATE_AT","arrayLikeToArray","arrayWithHoles","iterableToArrayLimit","unsupportedIterableToArray","nonIterableRest","DetailsBlock","_ref$details","details","_ref$style","_ref$truncate","truncate","_ref$truncateAt","truncateAt","_useState","useState","_useState2","_slicedToArray","showTruncated","setShowTruncated","_useTranslation","useTranslation","t","_ref2","slice","_ref3","visibleDetails","truncatedDetails","map","_ref4","index","label","value","type","Fragment","key","_ref5","isNotEmpty","Button","icon","Up","Down","onClick","Metadata","headerBlock","_ref$size","size"],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@bigbinary/neeto-molecules",
|
|
3
|
-
"version": "1.1.
|
|
3
|
+
"version": "1.1.9",
|
|
4
4
|
"description": "A package of reusable molecular components for neeto products.",
|
|
5
5
|
"repository": "git@github.com:bigbinary/neeto-molecules.git",
|
|
6
6
|
"author": "Amaljith K <amaljith.k@bigbinary.com>",
|
package/src/translations/en.json
CHANGED
|
@@ -555,6 +555,13 @@
|
|
|
555
555
|
},
|
|
556
556
|
"confirmationModal": {
|
|
557
557
|
"required": "Enter \"{{confirmationText}}\" to confirm"
|
|
558
|
+
},
|
|
559
|
+
"metadata": {
|
|
560
|
+
"detailsTitle": "Details",
|
|
561
|
+
"card": {
|
|
562
|
+
"viewMore": "View more",
|
|
563
|
+
"viewLess": "View less"
|
|
564
|
+
}
|
|
558
565
|
}
|
|
559
566
|
}
|
|
560
567
|
}
|
|
@@ -0,0 +1,108 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
type BlockProps = {
|
|
3
|
+
title?: string;
|
|
4
|
+
actionBlock?: React.ReactNode;
|
|
5
|
+
className?: string;
|
|
6
|
+
};
|
|
7
|
+
interface BlockComposition {
|
|
8
|
+
Block: React.FC<BlockProps>;
|
|
9
|
+
DetailsBlock: React.FC<BlockProps & {
|
|
10
|
+
details: Array<{
|
|
11
|
+
label?: string;
|
|
12
|
+
value?: React.ReactNode;
|
|
13
|
+
type?: string;
|
|
14
|
+
}>;
|
|
15
|
+
style?: "inline" | "multiline";
|
|
16
|
+
truncate?: Boolean;
|
|
17
|
+
truncateAt?: number;
|
|
18
|
+
}>;
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
*
|
|
22
|
+
* This is a wrapper for displaying metadata information about an entity. It can
|
|
23
|
+
*
|
|
24
|
+
* have a header block and multiple card blocks inside it.
|
|
25
|
+
*
|
|
26
|
+
* 
|
|
27
|
+
*
|
|
28
|
+
* @example
|
|
29
|
+
*
|
|
30
|
+
* import React from "react";
|
|
31
|
+
* import Metadata from "@bigbinary/neeto-molecules/Metadata";
|
|
32
|
+
*
|
|
33
|
+
* const MetadataComponent = () => (
|
|
34
|
+
* <Metadata headerBlock={<Header />}>
|
|
35
|
+
* <Metadata.Block>Custom content</Metadata.Block>
|
|
36
|
+
* </Metadata>
|
|
37
|
+
* );
|
|
38
|
+
* @endexample
|
|
39
|
+
* A block component that can be rendered inside the Metadata wrapper component.
|
|
40
|
+
*
|
|
41
|
+
* 
|
|
42
|
+
*
|
|
43
|
+
* @example
|
|
44
|
+
*
|
|
45
|
+
* const ActionBlock = ({ onAdd, onEdit }) => (
|
|
46
|
+
* <MoreDropdown
|
|
47
|
+
* menuItems={[
|
|
48
|
+
* {
|
|
49
|
+
* label: "Add",
|
|
50
|
+
* onClick: onAdd,
|
|
51
|
+
* },
|
|
52
|
+
* {
|
|
53
|
+
* label: "Edit",
|
|
54
|
+
* onClick: onEdit,
|
|
55
|
+
* },
|
|
56
|
+
* ]}
|
|
57
|
+
* />
|
|
58
|
+
* );
|
|
59
|
+
*
|
|
60
|
+
* const MetadataComponent = () => (
|
|
61
|
+
* <Metadata>
|
|
62
|
+
* <Metadata.Block actionBlock={<ActionBlock />} title="Tags">
|
|
63
|
+
* Custom content
|
|
64
|
+
* </Metadata.Block>
|
|
65
|
+
* </Metadata>
|
|
66
|
+
* );
|
|
67
|
+
* @endexample
|
|
68
|
+
* A custom block component built on top of Metadata.Block. It can be used to
|
|
69
|
+
*
|
|
70
|
+
* display some details as label-value pairs. It has a few options for rendering
|
|
71
|
+
*
|
|
72
|
+
* label and value inline or multiline. It also has the option to set a view more
|
|
73
|
+
*
|
|
74
|
+
* button to hide certain fields.
|
|
75
|
+
*
|
|
76
|
+
* 
|
|
77
|
+
*
|
|
78
|
+
* @example
|
|
79
|
+
*
|
|
80
|
+
* const MetadataComponent = () => (
|
|
81
|
+
* const detailsToTruncate = [
|
|
82
|
+
* { label: "Name", value: "Oliver" },
|
|
83
|
+
* { label: "Phone", value: "1234567890" },
|
|
84
|
+
* { label: "Email", value: "oliver@example.com" },
|
|
85
|
+
* { label: "Custom", value: <Input /> },
|
|
86
|
+
* ];
|
|
87
|
+
*
|
|
88
|
+
* const detailsWithDivider = [
|
|
89
|
+
* { label: "Name", value: "Oliver" },
|
|
90
|
+
* { label: "Phone", value: "1234567890" },
|
|
91
|
+
* { type: "divider" },
|
|
92
|
+
* { label: "Email", value: "oliver@example.com" },
|
|
93
|
+
* { label: "Custom", value: <Input /> },
|
|
94
|
+
* ];
|
|
95
|
+
*
|
|
96
|
+
* <Metadata>
|
|
97
|
+
* <Metadata.DetailsBlock truncate details={detailsToTruncate} truncateAt={2} />
|
|
98
|
+
* <Metadata.DetailsBlock details={detailsWithDivider} />
|
|
99
|
+
* </Metadata>
|
|
100
|
+
* );
|
|
101
|
+
* @endexample
|
|
102
|
+
*/
|
|
103
|
+
const Metadata: React.FC<{
|
|
104
|
+
className?: string;
|
|
105
|
+
headerBlock?: React.ReactNode;
|
|
106
|
+
size?: "small" | "medium";
|
|
107
|
+
}> & BlockComposition;
|
|
108
|
+
export default Metadata;
|