@bigbinary/neeto-molecules 1.19.6 → 1.19.7
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
CHANGED
|
@@ -69,6 +69,7 @@ https://neeto-molecules.neeto.com/
|
|
|
69
69
|
- [ShareViaEmail](./docs/components/ShareViaEmail.md)
|
|
70
70
|
- [ShareViaLink](./docs/components/ShareViaLink.md)
|
|
71
71
|
- [Sidebar](./docs/components/Sidebar.md)
|
|
72
|
+
- [StickyRibbonsContainer](./docs/components/StickyRibbonsContainer.md)
|
|
72
73
|
- [SubHeader](./docs/components/SubHeader.md)
|
|
73
74
|
- [SuffixedInput](./docs/components/SuffixedInput.md)
|
|
74
75
|
- [TableWrapper](./docs/components/TableWrapper.md)
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
import _toConsumableArray from '@babel/runtime/helpers/toConsumableArray';
|
|
2
|
+
import _slicedToArray from '@babel/runtime/helpers/slicedToArray';
|
|
3
|
+
import React__default from 'react';
|
|
4
|
+
import { useLocalStorage } from '@bigbinary/neeto-commons-frontend/react-utils';
|
|
5
|
+
import { EditorContent } from '@bigbinary/neeto-editor';
|
|
6
|
+
import { Tag } from '@bigbinary/neetoui';
|
|
7
|
+
import { pluck } from 'ramda';
|
|
8
|
+
import { n } from './inject-css-c86de496.js';
|
|
9
|
+
import { useQuery } from 'react-query';
|
|
10
|
+
import axios from 'axios';
|
|
11
|
+
import { BASE_API_V1_URL } from '@bigbinary/neeto-commons-frontend/constants';
|
|
12
|
+
|
|
13
|
+
var QUERY_KEYS = {
|
|
14
|
+
APP_STICKY_RIBBONS_LIST: "APP_STICKY_RIBBONS_LIST"
|
|
15
|
+
};
|
|
16
|
+
var STICKY_RIBBON_KIND_TO_STYLE = {
|
|
17
|
+
info: "info",
|
|
18
|
+
warning: "warning",
|
|
19
|
+
error: "danger"
|
|
20
|
+
};
|
|
21
|
+
var STICKY_RIBBONS_LOCAL_STORAGE_KEY = "dismissedStickyRibbons";
|
|
22
|
+
|
|
23
|
+
var css = ".neeto-molecules-sticky-ribbon{border-radius:0}";
|
|
24
|
+
n(css,{});
|
|
25
|
+
|
|
26
|
+
var fetchStickyRibbons = function fetchStickyRibbons() {
|
|
27
|
+
return axios.get("".concat(BASE_API_V1_URL, "/sticky_ribbons"));
|
|
28
|
+
};
|
|
29
|
+
var stickyRibbonsApi = {
|
|
30
|
+
fetchStickyRibbons: fetchStickyRibbons
|
|
31
|
+
};
|
|
32
|
+
|
|
33
|
+
var APP_STICKY_RIBBONS_LIST = QUERY_KEYS.APP_STICKY_RIBBONS_LIST;
|
|
34
|
+
var useFetchStickyRibbons = function useFetchStickyRibbons() {
|
|
35
|
+
return useQuery([APP_STICKY_RIBBONS_LIST], stickyRibbonsApi.fetchStickyRibbons);
|
|
36
|
+
};
|
|
37
|
+
|
|
38
|
+
var StickyRibbonsContainer = function StickyRibbonsContainer() {
|
|
39
|
+
var _useLocalStorage = useLocalStorage(STICKY_RIBBONS_LOCAL_STORAGE_KEY, []),
|
|
40
|
+
_useLocalStorage2 = _slicedToArray(_useLocalStorage, 2),
|
|
41
|
+
dismissedRibbons = _useLocalStorage2[0],
|
|
42
|
+
setDismissedRibbons = _useLocalStorage2[1];
|
|
43
|
+
var _useFetchStickyRibbon = useFetchStickyRibbons(),
|
|
44
|
+
_useFetchStickyRibbon2 = _useFetchStickyRibbon.data,
|
|
45
|
+
_useFetchStickyRibbon3 = _useFetchStickyRibbon2 === void 0 ? {} : _useFetchStickyRibbon2,
|
|
46
|
+
_useFetchStickyRibbon4 = _useFetchStickyRibbon3.stickyRibbons,
|
|
47
|
+
stickyRibbons = _useFetchStickyRibbon4 === void 0 ? [] : _useFetchStickyRibbon4;
|
|
48
|
+
var handleDismiss = function handleDismiss(ribbonId) {
|
|
49
|
+
var validRibbonIds = pluck("id", stickyRibbons);
|
|
50
|
+
var updatedDismissedRibbons = dismissedRibbons.filter(function (id) {
|
|
51
|
+
return validRibbonIds.includes(id);
|
|
52
|
+
});
|
|
53
|
+
setDismissedRibbons([].concat(_toConsumableArray(updatedDismissedRibbons), [ribbonId]));
|
|
54
|
+
};
|
|
55
|
+
var visibleRibbons = stickyRibbons.filter(function (ribbon) {
|
|
56
|
+
return !dismissedRibbons.includes(ribbon.id);
|
|
57
|
+
});
|
|
58
|
+
return /*#__PURE__*/React__default.createElement(React__default.Fragment, null, visibleRibbons.map(function (_ref) {
|
|
59
|
+
var id = _ref.id,
|
|
60
|
+
kind = _ref.kind,
|
|
61
|
+
message = _ref.message;
|
|
62
|
+
return /*#__PURE__*/React__default.createElement(Tag, {
|
|
63
|
+
className: "neeto-molecules-sticky-ribbon w-full p-2.5 text-center",
|
|
64
|
+
key: id,
|
|
65
|
+
size: "large",
|
|
66
|
+
style: STICKY_RIBBON_KIND_TO_STYLE[kind],
|
|
67
|
+
onClose: function onClose() {
|
|
68
|
+
return handleDismiss(id);
|
|
69
|
+
}
|
|
70
|
+
}, /*#__PURE__*/React__default.createElement(EditorContent, {
|
|
71
|
+
className: "w-full",
|
|
72
|
+
content: message
|
|
73
|
+
}));
|
|
74
|
+
}));
|
|
75
|
+
};
|
|
76
|
+
|
|
77
|
+
export { StickyRibbonsContainer as default };
|
|
78
|
+
//# sourceMappingURL=StickyRibbonsContainer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"StickyRibbonsContainer.js","sources":["../src/components/StickyRibbonsContainer/constants.js","../src/components/StickyRibbonsContainer/api.js","../src/components/StickyRibbonsContainer/useStickyRibbonsApi.js","../src/components/StickyRibbonsContainer/index.jsx"],"sourcesContent":["export const QUERY_KEYS = {\n APP_STICKY_RIBBONS_LIST: \"APP_STICKY_RIBBONS_LIST\",\n};\n\nexport const STICKY_RIBBON_KIND_TO_STYLE = {\n info: \"info\",\n warning: \"warning\",\n error: \"danger\",\n};\n\nexport const STICKY_RIBBONS_LOCAL_STORAGE_KEY = \"dismissedStickyRibbons\";\n","import axios from \"axios\";\nimport { BASE_API_V1_URL } from \"neetocommons/constants\";\n\nconst fetchStickyRibbons = () => axios.get(`${BASE_API_V1_URL}/sticky_ribbons`);\n\nconst stickyRibbonsApi = { fetchStickyRibbons };\n\nexport default stickyRibbonsApi;\n","import { useQuery } from \"react-query\";\n\nimport stickyRibbonsApi from \"./api\";\nimport { QUERY_KEYS } from \"./constants\";\n\nconst { APP_STICKY_RIBBONS_LIST } = QUERY_KEYS;\n\nconst useFetchStickyRibbons = () =>\n useQuery([APP_STICKY_RIBBONS_LIST], stickyRibbonsApi.fetchStickyRibbons);\n\nexport { useFetchStickyRibbons };\n","import React from \"react\";\n\nimport { useLocalStorage } from \"neetocommons/react-utils\";\nimport { EditorContent } from \"neetoeditor\";\nimport { Tag } from \"neetoui\";\nimport { pluck } from \"ramda\";\n\nimport {\n STICKY_RIBBONS_LOCAL_STORAGE_KEY,\n STICKY_RIBBON_KIND_TO_STYLE,\n} from \"./constants\";\nimport \"./sticky-ribbons.scss\";\nimport { useFetchStickyRibbons } from \"./useStickyRibbonsApi\";\n\nconst StickyRibbonsContainer = () => {\n const [dismissedRibbons, setDismissedRibbons] = useLocalStorage(\n STICKY_RIBBONS_LOCAL_STORAGE_KEY,\n []\n );\n\n const { data: { stickyRibbons = [] } = {} } = useFetchStickyRibbons();\n\n const handleDismiss = ribbonId => {\n const validRibbonIds = pluck(\"id\", stickyRibbons);\n const updatedDismissedRibbons = dismissedRibbons.filter(id =>\n validRibbonIds.includes(id)\n );\n\n setDismissedRibbons([...updatedDismissedRibbons, ribbonId]);\n };\n\n const visibleRibbons = stickyRibbons.filter(\n ribbon => !dismissedRibbons.includes(ribbon.id)\n );\n\n return (\n <>\n {visibleRibbons.map(({ id, kind, message }) => (\n <Tag\n className=\"neeto-molecules-sticky-ribbon w-full p-2.5 text-center\"\n key={id}\n size=\"large\"\n style={STICKY_RIBBON_KIND_TO_STYLE[kind]}\n onClose={() => handleDismiss(id)}\n >\n <EditorContent className=\"w-full\" content={message} />\n </Tag>\n ))}\n </>\n );\n};\n\nexport default StickyRibbonsContainer;\n"],"names":["QUERY_KEYS","APP_STICKY_RIBBONS_LIST","STICKY_RIBBON_KIND_TO_STYLE","info","warning","error","STICKY_RIBBONS_LOCAL_STORAGE_KEY","fetchStickyRibbons","axios","get","concat","BASE_API_V1_URL","stickyRibbonsApi","useFetchStickyRibbons","useQuery","StickyRibbonsContainer","_useLocalStorage","useLocalStorage","_useLocalStorage2","_slicedToArray","dismissedRibbons","setDismissedRibbons","_useFetchStickyRibbon","_useFetchStickyRibbon2","data","_useFetchStickyRibbon3","_useFetchStickyRibbon4","stickyRibbons","handleDismiss","ribbonId","validRibbonIds","pluck","updatedDismissedRibbons","filter","id","includes","_toConsumableArray","visibleRibbons","ribbon","React","createElement","Fragment","map","_ref","kind","message","Tag","className","key","size","style","onClose","EditorContent","content"],"mappings":"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"}
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var _toConsumableArray = require('@babel/runtime/helpers/toConsumableArray');
|
|
4
|
+
var _slicedToArray = require('@babel/runtime/helpers/slicedToArray');
|
|
5
|
+
var React = require('react');
|
|
6
|
+
var reactUtils = require('@bigbinary/neeto-commons-frontend/react-utils');
|
|
7
|
+
var neetoEditor = require('@bigbinary/neeto-editor');
|
|
8
|
+
var neetoui = require('@bigbinary/neetoui');
|
|
9
|
+
var ramda = require('ramda');
|
|
10
|
+
var injectCss = require('./inject-css-80a5faa3.js');
|
|
11
|
+
var reactQuery = require('react-query');
|
|
12
|
+
var axios = require('axios');
|
|
13
|
+
var constants = require('@bigbinary/neeto-commons-frontend/constants');
|
|
14
|
+
|
|
15
|
+
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
16
|
+
|
|
17
|
+
var _toConsumableArray__default = /*#__PURE__*/_interopDefaultLegacy(_toConsumableArray);
|
|
18
|
+
var _slicedToArray__default = /*#__PURE__*/_interopDefaultLegacy(_slicedToArray);
|
|
19
|
+
var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
|
|
20
|
+
var axios__default = /*#__PURE__*/_interopDefaultLegacy(axios);
|
|
21
|
+
|
|
22
|
+
var QUERY_KEYS = {
|
|
23
|
+
APP_STICKY_RIBBONS_LIST: "APP_STICKY_RIBBONS_LIST"
|
|
24
|
+
};
|
|
25
|
+
var STICKY_RIBBON_KIND_TO_STYLE = {
|
|
26
|
+
info: "info",
|
|
27
|
+
warning: "warning",
|
|
28
|
+
error: "danger"
|
|
29
|
+
};
|
|
30
|
+
var STICKY_RIBBONS_LOCAL_STORAGE_KEY = "dismissedStickyRibbons";
|
|
31
|
+
|
|
32
|
+
var css = ".neeto-molecules-sticky-ribbon{border-radius:0}";
|
|
33
|
+
injectCss.n(css,{});
|
|
34
|
+
|
|
35
|
+
var fetchStickyRibbons = function fetchStickyRibbons() {
|
|
36
|
+
return axios__default["default"].get("".concat(constants.BASE_API_V1_URL, "/sticky_ribbons"));
|
|
37
|
+
};
|
|
38
|
+
var stickyRibbonsApi = {
|
|
39
|
+
fetchStickyRibbons: fetchStickyRibbons
|
|
40
|
+
};
|
|
41
|
+
|
|
42
|
+
var APP_STICKY_RIBBONS_LIST = QUERY_KEYS.APP_STICKY_RIBBONS_LIST;
|
|
43
|
+
var useFetchStickyRibbons = function useFetchStickyRibbons() {
|
|
44
|
+
return reactQuery.useQuery([APP_STICKY_RIBBONS_LIST], stickyRibbonsApi.fetchStickyRibbons);
|
|
45
|
+
};
|
|
46
|
+
|
|
47
|
+
var StickyRibbonsContainer = function StickyRibbonsContainer() {
|
|
48
|
+
var _useLocalStorage = reactUtils.useLocalStorage(STICKY_RIBBONS_LOCAL_STORAGE_KEY, []),
|
|
49
|
+
_useLocalStorage2 = _slicedToArray__default["default"](_useLocalStorage, 2),
|
|
50
|
+
dismissedRibbons = _useLocalStorage2[0],
|
|
51
|
+
setDismissedRibbons = _useLocalStorage2[1];
|
|
52
|
+
var _useFetchStickyRibbon = useFetchStickyRibbons(),
|
|
53
|
+
_useFetchStickyRibbon2 = _useFetchStickyRibbon.data,
|
|
54
|
+
_useFetchStickyRibbon3 = _useFetchStickyRibbon2 === void 0 ? {} : _useFetchStickyRibbon2,
|
|
55
|
+
_useFetchStickyRibbon4 = _useFetchStickyRibbon3.stickyRibbons,
|
|
56
|
+
stickyRibbons = _useFetchStickyRibbon4 === void 0 ? [] : _useFetchStickyRibbon4;
|
|
57
|
+
var handleDismiss = function handleDismiss(ribbonId) {
|
|
58
|
+
var validRibbonIds = ramda.pluck("id", stickyRibbons);
|
|
59
|
+
var updatedDismissedRibbons = dismissedRibbons.filter(function (id) {
|
|
60
|
+
return validRibbonIds.includes(id);
|
|
61
|
+
});
|
|
62
|
+
setDismissedRibbons([].concat(_toConsumableArray__default["default"](updatedDismissedRibbons), [ribbonId]));
|
|
63
|
+
};
|
|
64
|
+
var visibleRibbons = stickyRibbons.filter(function (ribbon) {
|
|
65
|
+
return !dismissedRibbons.includes(ribbon.id);
|
|
66
|
+
});
|
|
67
|
+
return /*#__PURE__*/React__default["default"].createElement(React__default["default"].Fragment, null, visibleRibbons.map(function (_ref) {
|
|
68
|
+
var id = _ref.id,
|
|
69
|
+
kind = _ref.kind,
|
|
70
|
+
message = _ref.message;
|
|
71
|
+
return /*#__PURE__*/React__default["default"].createElement(neetoui.Tag, {
|
|
72
|
+
className: "neeto-molecules-sticky-ribbon w-full p-2.5 text-center",
|
|
73
|
+
key: id,
|
|
74
|
+
size: "large",
|
|
75
|
+
style: STICKY_RIBBON_KIND_TO_STYLE[kind],
|
|
76
|
+
onClose: function onClose() {
|
|
77
|
+
return handleDismiss(id);
|
|
78
|
+
}
|
|
79
|
+
}, /*#__PURE__*/React__default["default"].createElement(neetoEditor.EditorContent, {
|
|
80
|
+
className: "w-full",
|
|
81
|
+
content: message
|
|
82
|
+
}));
|
|
83
|
+
}));
|
|
84
|
+
};
|
|
85
|
+
|
|
86
|
+
module.exports = StickyRibbonsContainer;
|
|
87
|
+
//# sourceMappingURL=StickyRibbonsContainer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"StickyRibbonsContainer.js","sources":["../../src/components/StickyRibbonsContainer/constants.js","../../src/components/StickyRibbonsContainer/api.js","../../src/components/StickyRibbonsContainer/useStickyRibbonsApi.js","../../src/components/StickyRibbonsContainer/index.jsx"],"sourcesContent":["export const QUERY_KEYS = {\n APP_STICKY_RIBBONS_LIST: \"APP_STICKY_RIBBONS_LIST\",\n};\n\nexport const STICKY_RIBBON_KIND_TO_STYLE = {\n info: \"info\",\n warning: \"warning\",\n error: \"danger\",\n};\n\nexport const STICKY_RIBBONS_LOCAL_STORAGE_KEY = \"dismissedStickyRibbons\";\n","import axios from \"axios\";\nimport { BASE_API_V1_URL } from \"neetocommons/constants\";\n\nconst fetchStickyRibbons = () => axios.get(`${BASE_API_V1_URL}/sticky_ribbons`);\n\nconst stickyRibbonsApi = { fetchStickyRibbons };\n\nexport default stickyRibbonsApi;\n","import { useQuery } from \"react-query\";\n\nimport stickyRibbonsApi from \"./api\";\nimport { QUERY_KEYS } from \"./constants\";\n\nconst { APP_STICKY_RIBBONS_LIST } = QUERY_KEYS;\n\nconst useFetchStickyRibbons = () =>\n useQuery([APP_STICKY_RIBBONS_LIST], stickyRibbonsApi.fetchStickyRibbons);\n\nexport { useFetchStickyRibbons };\n","import React from \"react\";\n\nimport { useLocalStorage } from \"neetocommons/react-utils\";\nimport { EditorContent } from \"neetoeditor\";\nimport { Tag } from \"neetoui\";\nimport { pluck } from \"ramda\";\n\nimport {\n STICKY_RIBBONS_LOCAL_STORAGE_KEY,\n STICKY_RIBBON_KIND_TO_STYLE,\n} from \"./constants\";\nimport \"./sticky-ribbons.scss\";\nimport { useFetchStickyRibbons } from \"./useStickyRibbonsApi\";\n\nconst StickyRibbonsContainer = () => {\n const [dismissedRibbons, setDismissedRibbons] = useLocalStorage(\n STICKY_RIBBONS_LOCAL_STORAGE_KEY,\n []\n );\n\n const { data: { stickyRibbons = [] } = {} } = useFetchStickyRibbons();\n\n const handleDismiss = ribbonId => {\n const validRibbonIds = pluck(\"id\", stickyRibbons);\n const updatedDismissedRibbons = dismissedRibbons.filter(id =>\n validRibbonIds.includes(id)\n );\n\n setDismissedRibbons([...updatedDismissedRibbons, ribbonId]);\n };\n\n const visibleRibbons = stickyRibbons.filter(\n ribbon => !dismissedRibbons.includes(ribbon.id)\n );\n\n return (\n <>\n {visibleRibbons.map(({ id, kind, message }) => (\n <Tag\n className=\"neeto-molecules-sticky-ribbon w-full p-2.5 text-center\"\n key={id}\n size=\"large\"\n style={STICKY_RIBBON_KIND_TO_STYLE[kind]}\n onClose={() => handleDismiss(id)}\n >\n <EditorContent className=\"w-full\" content={message} />\n </Tag>\n ))}\n </>\n );\n};\n\nexport default StickyRibbonsContainer;\n"],"names":["QUERY_KEYS","APP_STICKY_RIBBONS_LIST","STICKY_RIBBON_KIND_TO_STYLE","info","warning","error","STICKY_RIBBONS_LOCAL_STORAGE_KEY","fetchStickyRibbons","axios","get","concat","BASE_API_V1_URL","stickyRibbonsApi","useFetchStickyRibbons","useQuery","StickyRibbonsContainer","_useLocalStorage","useLocalStorage","_useLocalStorage2","_slicedToArray","dismissedRibbons","setDismissedRibbons","_useFetchStickyRibbon","_useFetchStickyRibbon2","data","_useFetchStickyRibbon3","_useFetchStickyRibbon4","stickyRibbons","handleDismiss","ribbonId","validRibbonIds","pluck","updatedDismissedRibbons","filter","id","includes","_toConsumableArray","visibleRibbons","ribbon","React","createElement","Fragment","map","_ref","kind","message","Tag","className","key","size","style","onClose","EditorContent","content"],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@bigbinary/neeto-molecules",
|
|
3
|
-
"version": "1.19.
|
|
3
|
+
"version": "1.19.7",
|
|
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>",
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
/**
|
|
3
|
+
*
|
|
4
|
+
* A container that displays the sticky ribbons configured for the current neeto
|
|
5
|
+
*
|
|
6
|
+
* application in neetoTower, if any. The sticky ribbons will be automatically
|
|
7
|
+
*
|
|
8
|
+
* fetched from neetoTower and displayed within the container.
|
|
9
|
+
*
|
|
10
|
+
* @example
|
|
11
|
+
*
|
|
12
|
+
* import StickyRibbonsContainer from "@bigbinary/neeto-molecules/StickyRibbonsContainer";
|
|
13
|
+
*
|
|
14
|
+
* const Main = () => (
|
|
15
|
+
* <>
|
|
16
|
+
* <ToastContainer />
|
|
17
|
+
* <StickyRibbonsContainer />
|
|
18
|
+
* <Switch>
|
|
19
|
+
* <Route />
|
|
20
|
+
* </Switch>
|
|
21
|
+
* </>
|
|
22
|
+
* );
|
|
23
|
+
* @endexample
|
|
24
|
+
*/
|
|
25
|
+
const StickyRibbonsContainer: React.FC<{}>;
|
|
26
|
+
export default StickyRibbonsContainer;
|