@bigbinary/neeto-molecules 3.3.18 → 3.3.20

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
+ - [StatusDropdown](./docs/components/StatusDropdown.md)
72
73
  - [StickyRibbonsContainer](./docs/components/StickyRibbonsContainer.md)
73
74
  - [SubHeader](./docs/components/SubHeader.md)
74
75
  - [SuffixedInput](./docs/components/SuffixedInput.md)
@@ -0,0 +1,25 @@
1
+ import classnames from 'classnames';
2
+ import Typography from '@bigbinary/neetoui/Typography';
3
+ import { useTranslation } from 'react-i18next';
4
+ import { jsx } from 'react/jsx-runtime';
5
+
6
+ var MobilePreviewHeader = function MobilePreviewHeader(_ref) {
7
+ var _ref$className = _ref.className,
8
+ className = _ref$className === void 0 ? "" : _ref$className,
9
+ _ref$message = _ref.message,
10
+ message = _ref$message === void 0 ? "" : _ref$message;
11
+ var _useTranslation = useTranslation(),
12
+ t = _useTranslation.t;
13
+ return /*#__PURE__*/jsx("div", {
14
+ className: classnames(["neeto-ui-bg-gray-200 px-6 py-5", className]),
15
+ "data-cy": "mobile-preview-header",
16
+ children: /*#__PURE__*/jsx(Typography, {
17
+ lineHeight: "normal",
18
+ style: "body2",
19
+ children: message || t("neetoMolecules.mobilePreview.message")
20
+ })
21
+ });
22
+ };
23
+
24
+ export { MobilePreviewHeader as default };
25
+ //# sourceMappingURL=MobilePreviewHeader.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MobilePreviewHeader.js","sources":["../src/components/MobilePreviewHeader/index.jsx"],"sourcesContent":["import classnames from \"classnames\";\nimport { Typography } from \"neetoui\";\nimport PropTypes from \"prop-types\";\nimport { useTranslation } from \"react-i18next\";\n\n// Had to disable this to populate content in description column.\n// eslint-disable-next-line @bigbinary/neeto/no-dumb-components-with-use-translation\nconst MobilePreviewHeader = ({ className = \"\", message = \"\" }) => {\n const { t } = useTranslation();\n\n return (\n <div\n className={classnames([\"neeto-ui-bg-gray-200 px-6 py-5\", className])}\n data-cy=\"mobile-preview-header\"\n >\n <Typography lineHeight=\"normal\" style=\"body2\">\n {message || t(\"neetoMolecules.mobilePreview.message\")}\n </Typography>\n </div>\n );\n};\n\nMobilePreviewHeader.propTypes = {\n /**\n * To provide additional classes\n */\n className: PropTypes.string,\n /**\n * To provide custom message.\n */\n message: PropTypes.node,\n};\n\nexport default MobilePreviewHeader;\n"],"names":["MobilePreviewHeader","_ref","_ref$className","className","_ref$message","message","_useTranslation","useTranslation","t","_jsx","classnames","children","Typography","lineHeight","style"],"mappings":";;;;;AAOA,IAAMA,mBAAmB,GAAG,SAAtBA,mBAAmBA,CAAAC,IAAA,EAAyC;AAAA,EAAA,IAAAC,cAAA,GAAAD,IAAA,CAAnCE,SAAS;AAATA,IAAAA,SAAS,GAAAD,cAAA,KAAG,KAAA,CAAA,GAAA,EAAE,GAAAA,cAAA;IAAAE,YAAA,GAAAH,IAAA,CAAEI,OAAO;AAAPA,IAAAA,OAAO,GAAAD,YAAA,KAAG,KAAA,CAAA,GAAA,EAAE,GAAAA,YAAA,CAAA;AACzD,EAAA,IAAAE,eAAA,GAAcC,cAAc,EAAE;IAAtBC,CAAC,GAAAF,eAAA,CAADE,CAAC,CAAA;AAET,EAAA,oBACEC,GAAA,CAAA,KAAA,EAAA;IACEN,SAAS,EAAEO,UAAU,CAAC,CAAC,gCAAgC,EAAEP,SAAS,CAAC,CAAE;AACrE,IAAA,SAAA,EAAQ,uBAAuB;IAAAQ,QAAA,eAE/BF,GAAA,CAACG,UAAU,EAAA;AAACC,MAAAA,UAAU,EAAC,QAAQ;AAACC,MAAAA,KAAK,EAAC,OAAO;AAAAH,MAAAA,QAAA,EAC1CN,OAAO,IAAIG,CAAC,CAAC,sCAAsC,CAAA;KAC1C,CAAA;AAAC,GACV,CAAC,CAAA;AAEV;;;;"}
@@ -0,0 +1,102 @@
1
+ import _defineProperty from '@babel/runtime/helpers/defineProperty';
2
+ import { _findBy } from '@bigbinary/neeto-cist';
3
+ import Dropdown from '@bigbinary/neetoui/Dropdown';
4
+ import Spinner from '@bigbinary/neetoui/Spinner';
5
+ import { memo } from 'react';
6
+ import { jsx, jsxs } from 'react/jsx-runtime';
7
+ import { n } from './inject-css-c86de496.js';
8
+ import Down from '@bigbinary/neeto-icons/Down';
9
+ import Typography from '@bigbinary/neetoui/Typography';
10
+
11
+ var NeetoUIMenu = Dropdown.Menu,
12
+ MenuItem = Dropdown.MenuItem;
13
+ var Menu = function Menu(_ref) {
14
+ var onItemClick = _ref.onItemClick,
15
+ options = _ref.options,
16
+ _ref$shouldShowAllOpt = _ref.shouldShowAllOptions,
17
+ shouldShowAllOptions = _ref$shouldShowAllOpt === void 0 ? false : _ref$shouldShowAllOpt,
18
+ _ref$hiddenStatuses = _ref.hiddenStatuses,
19
+ hiddenStatuses = _ref$hiddenStatuses === void 0 ? [] : _ref$hiddenStatuses;
20
+ var allowedOptions = shouldShowAllOptions ? options : options.filter(function (status) {
21
+ return !hiddenStatuses.includes(status.value);
22
+ });
23
+ return /*#__PURE__*/jsx(NeetoUIMenu, {
24
+ "data-testid": "status-dropdown-menu",
25
+ children: allowedOptions === null || allowedOptions === void 0 ? void 0 : allowedOptions.map(function (option) {
26
+ return /*#__PURE__*/jsx(MenuItem.Button, {
27
+ className: "status-dropdown-item--".concat(option.color),
28
+ "data-testid": "status-dropdown-item-".concat(option.value),
29
+ onClick: function onClick() {
30
+ return onItemClick(option);
31
+ },
32
+ children: option.label
33
+ }, option.value);
34
+ })
35
+ });
36
+ };
37
+ var Menu$1 = /*#__PURE__*/memo(Menu);
38
+
39
+ var css = ":root{--neeto-molecules-status-color-open:9,90,186;--neeto-molecules-status-color-done:189,100,13;--neeto-molecules-status-color-waiting:47,57,65;--neeto-molecules-status-color-red:187,18,26;--neeto-molecules-status-color-yellow:255,204,112;--neeto-molecules-status-color-violet:157,98,162;--neeto-molecules-status-color-pink:225,62,230;--neeto-molecules-status-color-teal:38,87,124;--neeto-molecules-status-color-cyan:66,160,157;--neeto-molecules-status-color-green:16,113,84;--neeto-molecules-status-bg-open:226,241,255;--neeto-molecules-status-bg-done:250,241,225;--neeto-molecules-status-bg-waiting:233,235,237;--neeto-molecules-status-bg-red:254,236,240;--neeto-molecules-status-bg-yellow:255,247,233;--neeto-molecules-status-bg-violet:235,222,255;--neeto-molecules-status-bg-pink:254,233,255;--neeto-molecules-status-bg-teal:228,244,255;--neeto-molecules-status-bg-cyan:224,255,254;--neeto-molecules-status-bg-green:224,244,238}.status-dropdown-target--open{background-color:#e2f1ff;background-color:rgb(var(--neeto-molecules-status-bg-open));color:#095aba;color:rgb(var(--neeto-molecules-status-color-open))}.status-dropdown-target--done{background-color:#faf1e1;background-color:rgb(var(--neeto-molecules-status-bg-done));color:#bd640d;color:rgb(var(--neeto-molecules-status-color-done))}.status-dropdown-target--waiting{background-color:#e9ebed;background-color:rgb(var(--neeto-molecules-status-bg-waiting));color:#2f3941;color:rgb(var(--neeto-molecules-status-color-waiting))}.status-dropdown-target--red{background-color:#feecf0;background-color:rgb(var(--neeto-molecules-status-bg-red));color:#bb121a;color:rgb(var(--neeto-molecules-status-color-red))}.status-dropdown-target--yellow{background-color:#fff7e9;background-color:rgb(var(--neeto-molecules-status-bg-yellow));color:#ffcc70;color:rgb(var(--neeto-molecules-status-color-yellow))}.status-dropdown-target--violet{background-color:#ebdeff;background-color:rgb(var(--neeto-molecules-status-bg-violet));color:#9d62a2;color:rgb(var(--neeto-molecules-status-color-violet))}.status-dropdown-target--pink{background-color:#fee9ff;background-color:rgb(var(--neeto-molecules-status-bg-pink));color:#e13ee6;color:rgb(var(--neeto-molecules-status-color-pink))}.status-dropdown-target--teal{background-color:#e4f4ff;background-color:rgb(var(--neeto-molecules-status-bg-teal));color:#26577c;color:rgb(var(--neeto-molecules-status-color-teal))}.status-dropdown-target--cyan{background-color:#e0fffe;background-color:rgb(var(--neeto-molecules-status-bg-cyan));color:#42a09d;color:rgb(var(--neeto-molecules-status-color-cyan))}.status-dropdown-target--green{background-color:#e0f4ee;background-color:rgb(var(--neeto-molecules-status-bg-green));color:#107154;color:rgb(var(--neeto-molecules-status-color-green))}.status-dropdown-item--open{color:#095aba!important;color:rgb(var(--neeto-molecules-status-color-open))!important}.status-dropdown-item--done{color:#bd640d!important;color:rgb(var(--neeto-molecules-status-color-done))!important}.status-dropdown-item--waiting{color:#2f3941!important;color:rgb(var(--neeto-molecules-status-color-waiting))!important}.status-dropdown-item--red{color:#bb121a!important;color:rgb(var(--neeto-molecules-status-color-red))!important}.status-dropdown-item--yellow{color:#ffcc70!important;color:rgb(var(--neeto-molecules-status-color-yellow))!important}.status-dropdown-item--violet{color:#9d62a2!important;color:rgb(var(--neeto-molecules-status-color-violet))!important}.status-dropdown-item--pink{color:#e13ee6!important;color:rgb(var(--neeto-molecules-status-color-pink))!important}.status-dropdown-item--teal{color:#26577c!important;color:rgb(var(--neeto-molecules-status-color-teal))!important}.status-dropdown-item--cyan{color:#42a09d!important;color:rgb(var(--neeto-molecules-status-color-cyan))!important}.status-dropdown-item--green{color:#107154!important;color:rgb(var(--neeto-molecules-status-color-green))!important}";
40
+ n(css,{});
41
+
42
+ var ICON_SIZE = 16;
43
+
44
+ var Target = function Target(_ref) {
45
+ var color = _ref.color,
46
+ label = _ref.label;
47
+ var targetClassName = "neeto-ui-rounded-sm inline-block cursor-pointer py-0.5 px-2 status-dropdown-target--".concat(color);
48
+ return /*#__PURE__*/jsxs("div", {
49
+ className: targetClassName,
50
+ "data-testid": "status-dropdown",
51
+ children: [/*#__PURE__*/jsx(Typography, {
52
+ className: "inline",
53
+ style: "body2",
54
+ children: label
55
+ }), /*#__PURE__*/jsx(Down, {
56
+ className: "ml-2 inline",
57
+ size: ICON_SIZE
58
+ })]
59
+ });
60
+ };
61
+ var Target$1 = /*#__PURE__*/memo(Target);
62
+
63
+ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
64
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
65
+ var StatusDropdown = function StatusDropdown(_ref) {
66
+ var _ref$disabled = _ref.disabled,
67
+ disabled = _ref$disabled === void 0 ? false : _ref$disabled,
68
+ _ref$hiddenStatuses = _ref.hiddenStatuses,
69
+ hiddenStatuses = _ref$hiddenStatuses === void 0 ? [] : _ref$hiddenStatuses,
70
+ _ref$isLoading = _ref.isLoading,
71
+ isLoading = _ref$isLoading === void 0 ? false : _ref$isLoading,
72
+ onItemClick = _ref.onItemClick,
73
+ options = _ref.options,
74
+ selectedValue = _ref.selectedValue,
75
+ _ref$shouldShowAllOpt = _ref.shouldShowAllOptions,
76
+ shouldShowAllOptions = _ref$shouldShowAllOpt === void 0 ? false : _ref$shouldShowAllOpt;
77
+ var selectedOption = _findBy({
78
+ value: selectedValue
79
+ }, options);
80
+ return /*#__PURE__*/jsx(Dropdown, {
81
+ disabled: disabled,
82
+ customTarget: function customTarget() {
83
+ return /*#__PURE__*/jsx(Target$1, _objectSpread({
84
+ label: selectedValue
85
+ }, selectedOption));
86
+ },
87
+ strategy: "fixed",
88
+ children: isLoading ? /*#__PURE__*/jsx("div", {
89
+ className: "flex w-full items-center justify-center py-8",
90
+ children: /*#__PURE__*/jsx(Spinner, {})
91
+ }) : /*#__PURE__*/jsx(Menu$1, {
92
+ hiddenStatuses: hiddenStatuses,
93
+ onItemClick: onItemClick,
94
+ options: options,
95
+ shouldShowAllOptions: shouldShowAllOptions
96
+ })
97
+ });
98
+ };
99
+ StatusDropdown.Menu = Menu$1;
100
+
101
+ export { StatusDropdown as default };
102
+ //# sourceMappingURL=StatusDropdown.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"StatusDropdown.js","sources":["../src/components/StatusDropdown/Menu.jsx","../src/components/StatusDropdown/constants.js","../src/components/StatusDropdown/Target.jsx","../src/components/StatusDropdown/index.jsx"],"sourcesContent":["import { memo } from \"react\";\n\nimport { Dropdown } from \"neetoui\";\n\nconst { Menu: NeetoUIMenu, MenuItem } = Dropdown;\n\nconst Menu = ({\n onItemClick,\n options,\n shouldShowAllOptions = false,\n hiddenStatuses = [],\n}) => {\n const allowedOptions = shouldShowAllOptions\n ? options\n : options.filter(status => !hiddenStatuses.includes(status.value));\n\n return (\n <NeetoUIMenu data-testid=\"status-dropdown-menu\">\n {allowedOptions?.map(option => (\n <MenuItem.Button\n className={`status-dropdown-item--${option.color}`}\n data-testid={`status-dropdown-item-${option.value}`}\n key={option.value}\n onClick={() => onItemClick(option)}\n >\n {option.label}\n </MenuItem.Button>\n ))}\n </NeetoUIMenu>\n );\n};\n\nexport default memo(Menu);\n","export const ICON_SIZE = 16;\n","import { memo } from \"react\";\n\nimport { Down } from \"neetoicons\";\nimport { Typography } from \"neetoui\";\n\nimport { ICON_SIZE } from \"./constants\";\n\nconst Target = ({ color, label }) => {\n const targetClassName = `neeto-ui-rounded-sm inline-block cursor-pointer py-0.5 px-2 status-dropdown-target--${color}`;\n\n return (\n <div className={targetClassName} data-testid=\"status-dropdown\">\n <Typography className=\"inline\" style=\"body2\">\n {label}\n </Typography>\n <Down className=\"ml-2 inline\" size={ICON_SIZE} />\n </div>\n );\n};\n\nexport default memo(Target);\n","import { _findBy } from \"neetocist\";\nimport { Dropdown, Spinner } from \"neetoui\";\nimport PropTypes from \"prop-types\";\n\nimport Menu from \"./Menu\";\nimport \"./status-dropdown.scss\";\nimport Target from \"./Target\";\n\nconst StatusDropdown = ({\n disabled = false,\n hiddenStatuses = [],\n isLoading = false,\n onItemClick,\n options,\n selectedValue,\n shouldShowAllOptions = false,\n}) => {\n const selectedOption = _findBy({ value: selectedValue }, options);\n\n return (\n <Dropdown\n {...{ disabled }}\n customTarget={() => <Target label={selectedValue} {...selectedOption} />}\n strategy=\"fixed\"\n >\n {isLoading ? (\n <div className=\"flex w-full items-center justify-center py-8\">\n <Spinner />\n </div>\n ) : (\n <Menu\n {...{ hiddenStatuses, onItemClick, options, shouldShowAllOptions }}\n />\n )}\n </Dropdown>\n );\n};\n\nStatusDropdown.Menu = Menu;\n\nStatusDropdown.propTypes = {\n /**\n * This prop will decide whether the dropdown is disabled or not.\n */\n disabled: PropTypes.bool,\n /**\n * Statuses to be hidden when shouldShowAllOptions is false.\n */\n hiddenStatuses: PropTypes.array,\n /**\n * This prop will decide whether the dropdown is in loading state or not.\n */\n isLoading: PropTypes.bool,\n /**\n * Function to be called when a menu item is clicked.\n */\n onItemClick: PropTypes.func,\n /**\n * The items that should be shown in the dropdown.\n */\n options: PropTypes.arrayOf(\n PropTypes.shape({\n label: PropTypes.string,\n value: PropTypes.string,\n color: PropTypes.string,\n })\n ),\n /**\n * The selected value.\n */\n selectedValue: PropTypes.string,\n /**\n * This prop will decide whether all options should be shown or not. If set to false, the items in hiddenStatuses will not be shown.\n */\n shouldShowAllOptions: PropTypes.bool,\n};\n\nexport default StatusDropdown;\n"],"names":["NeetoUIMenu","Dropdown","Menu","MenuItem","_ref","onItemClick","options","_ref$shouldShowAllOpt","shouldShowAllOptions","_ref$hiddenStatuses","hiddenStatuses","allowedOptions","filter","status","includes","value","_jsx","children","map","option","Button","className","concat","color","onClick","label","memo","ICON_SIZE","Target","targetClassName","_jsxs","Typography","style","Down","size","StatusDropdown","_ref$disabled","disabled","_ref$isLoading","isLoading","selectedValue","selectedOption","_findBy","customTarget","_objectSpread","strategy","Spinner"],"mappings":"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"}
@@ -0,0 +1,32 @@
1
+ 'use strict';
2
+
3
+ var classnames = require('classnames');
4
+ var Typography = require('@bigbinary/neetoui/Typography');
5
+ var reactI18next = require('react-i18next');
6
+ var jsxRuntime = require('react/jsx-runtime');
7
+
8
+ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
9
+
10
+ var classnames__default = /*#__PURE__*/_interopDefaultLegacy(classnames);
11
+ var Typography__default = /*#__PURE__*/_interopDefaultLegacy(Typography);
12
+
13
+ var MobilePreviewHeader = function MobilePreviewHeader(_ref) {
14
+ var _ref$className = _ref.className,
15
+ className = _ref$className === void 0 ? "" : _ref$className,
16
+ _ref$message = _ref.message,
17
+ message = _ref$message === void 0 ? "" : _ref$message;
18
+ var _useTranslation = reactI18next.useTranslation(),
19
+ t = _useTranslation.t;
20
+ return /*#__PURE__*/jsxRuntime.jsx("div", {
21
+ className: classnames__default["default"](["neeto-ui-bg-gray-200 px-6 py-5", className]),
22
+ "data-cy": "mobile-preview-header",
23
+ children: /*#__PURE__*/jsxRuntime.jsx(Typography__default["default"], {
24
+ lineHeight: "normal",
25
+ style: "body2",
26
+ children: message || t("neetoMolecules.mobilePreview.message")
27
+ })
28
+ });
29
+ };
30
+
31
+ module.exports = MobilePreviewHeader;
32
+ //# sourceMappingURL=MobilePreviewHeader.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MobilePreviewHeader.js","sources":["../../src/components/MobilePreviewHeader/index.jsx"],"sourcesContent":["import classnames from \"classnames\";\nimport { Typography } from \"neetoui\";\nimport PropTypes from \"prop-types\";\nimport { useTranslation } from \"react-i18next\";\n\n// Had to disable this to populate content in description column.\n// eslint-disable-next-line @bigbinary/neeto/no-dumb-components-with-use-translation\nconst MobilePreviewHeader = ({ className = \"\", message = \"\" }) => {\n const { t } = useTranslation();\n\n return (\n <div\n className={classnames([\"neeto-ui-bg-gray-200 px-6 py-5\", className])}\n data-cy=\"mobile-preview-header\"\n >\n <Typography lineHeight=\"normal\" style=\"body2\">\n {message || t(\"neetoMolecules.mobilePreview.message\")}\n </Typography>\n </div>\n );\n};\n\nMobilePreviewHeader.propTypes = {\n /**\n * To provide additional classes\n */\n className: PropTypes.string,\n /**\n * To provide custom message.\n */\n message: PropTypes.node,\n};\n\nexport default MobilePreviewHeader;\n"],"names":["MobilePreviewHeader","_ref","_ref$className","className","_ref$message","message","_useTranslation","useTranslation","t","_jsx","classnames","children","Typography","lineHeight","style"],"mappings":";;;;;;;;;;;;AAOA,IAAMA,mBAAmB,GAAG,SAAtBA,mBAAmBA,CAAAC,IAAA,EAAyC;AAAA,EAAA,IAAAC,cAAA,GAAAD,IAAA,CAAnCE,SAAS;AAATA,IAAAA,SAAS,GAAAD,cAAA,KAAG,KAAA,CAAA,GAAA,EAAE,GAAAA,cAAA;IAAAE,YAAA,GAAAH,IAAA,CAAEI,OAAO;AAAPA,IAAAA,OAAO,GAAAD,YAAA,KAAG,KAAA,CAAA,GAAA,EAAE,GAAAA,YAAA,CAAA;AACzD,EAAA,IAAAE,eAAA,GAAcC,2BAAc,EAAE;IAAtBC,CAAC,GAAAF,eAAA,CAADE,CAAC,CAAA;AAET,EAAA,oBACEC,cAAA,CAAA,KAAA,EAAA;IACEN,SAAS,EAAEO,8BAAU,CAAC,CAAC,gCAAgC,EAAEP,SAAS,CAAC,CAAE;AACrE,IAAA,SAAA,EAAQ,uBAAuB;IAAAQ,QAAA,eAE/BF,cAAA,CAACG,8BAAU,EAAA;AAACC,MAAAA,UAAU,EAAC,QAAQ;AAACC,MAAAA,KAAK,EAAC,OAAO;AAAAH,MAAAA,QAAA,EAC1CN,OAAO,IAAIG,CAAC,CAAC,sCAAsC,CAAA;KAC1C,CAAA;AAAC,GACV,CAAC,CAAA;AAEV;;;;"}
@@ -0,0 +1,112 @@
1
+ 'use strict';
2
+
3
+ var _defineProperty = require('@babel/runtime/helpers/defineProperty');
4
+ var neetoCist = require('@bigbinary/neeto-cist');
5
+ var Dropdown = require('@bigbinary/neetoui/Dropdown');
6
+ var Spinner = require('@bigbinary/neetoui/Spinner');
7
+ var React = require('react');
8
+ var jsxRuntime = require('react/jsx-runtime');
9
+ var injectCss = require('./inject-css-80a5faa3.js');
10
+ var Down = require('@bigbinary/neeto-icons/Down');
11
+ var Typography = require('@bigbinary/neetoui/Typography');
12
+
13
+ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
14
+
15
+ var _defineProperty__default = /*#__PURE__*/_interopDefaultLegacy(_defineProperty);
16
+ var Dropdown__default = /*#__PURE__*/_interopDefaultLegacy(Dropdown);
17
+ var Spinner__default = /*#__PURE__*/_interopDefaultLegacy(Spinner);
18
+ var Down__default = /*#__PURE__*/_interopDefaultLegacy(Down);
19
+ var Typography__default = /*#__PURE__*/_interopDefaultLegacy(Typography);
20
+
21
+ var NeetoUIMenu = Dropdown__default["default"].Menu,
22
+ MenuItem = Dropdown__default["default"].MenuItem;
23
+ var Menu = function Menu(_ref) {
24
+ var onItemClick = _ref.onItemClick,
25
+ options = _ref.options,
26
+ _ref$shouldShowAllOpt = _ref.shouldShowAllOptions,
27
+ shouldShowAllOptions = _ref$shouldShowAllOpt === void 0 ? false : _ref$shouldShowAllOpt,
28
+ _ref$hiddenStatuses = _ref.hiddenStatuses,
29
+ hiddenStatuses = _ref$hiddenStatuses === void 0 ? [] : _ref$hiddenStatuses;
30
+ var allowedOptions = shouldShowAllOptions ? options : options.filter(function (status) {
31
+ return !hiddenStatuses.includes(status.value);
32
+ });
33
+ return /*#__PURE__*/jsxRuntime.jsx(NeetoUIMenu, {
34
+ "data-testid": "status-dropdown-menu",
35
+ children: allowedOptions === null || allowedOptions === void 0 ? void 0 : allowedOptions.map(function (option) {
36
+ return /*#__PURE__*/jsxRuntime.jsx(MenuItem.Button, {
37
+ className: "status-dropdown-item--".concat(option.color),
38
+ "data-testid": "status-dropdown-item-".concat(option.value),
39
+ onClick: function onClick() {
40
+ return onItemClick(option);
41
+ },
42
+ children: option.label
43
+ }, option.value);
44
+ })
45
+ });
46
+ };
47
+ var Menu$1 = /*#__PURE__*/React.memo(Menu);
48
+
49
+ var css = ":root{--neeto-molecules-status-color-open:9,90,186;--neeto-molecules-status-color-done:189,100,13;--neeto-molecules-status-color-waiting:47,57,65;--neeto-molecules-status-color-red:187,18,26;--neeto-molecules-status-color-yellow:255,204,112;--neeto-molecules-status-color-violet:157,98,162;--neeto-molecules-status-color-pink:225,62,230;--neeto-molecules-status-color-teal:38,87,124;--neeto-molecules-status-color-cyan:66,160,157;--neeto-molecules-status-color-green:16,113,84;--neeto-molecules-status-bg-open:226,241,255;--neeto-molecules-status-bg-done:250,241,225;--neeto-molecules-status-bg-waiting:233,235,237;--neeto-molecules-status-bg-red:254,236,240;--neeto-molecules-status-bg-yellow:255,247,233;--neeto-molecules-status-bg-violet:235,222,255;--neeto-molecules-status-bg-pink:254,233,255;--neeto-molecules-status-bg-teal:228,244,255;--neeto-molecules-status-bg-cyan:224,255,254;--neeto-molecules-status-bg-green:224,244,238}.status-dropdown-target--open{background-color:#e2f1ff;background-color:rgb(var(--neeto-molecules-status-bg-open));color:#095aba;color:rgb(var(--neeto-molecules-status-color-open))}.status-dropdown-target--done{background-color:#faf1e1;background-color:rgb(var(--neeto-molecules-status-bg-done));color:#bd640d;color:rgb(var(--neeto-molecules-status-color-done))}.status-dropdown-target--waiting{background-color:#e9ebed;background-color:rgb(var(--neeto-molecules-status-bg-waiting));color:#2f3941;color:rgb(var(--neeto-molecules-status-color-waiting))}.status-dropdown-target--red{background-color:#feecf0;background-color:rgb(var(--neeto-molecules-status-bg-red));color:#bb121a;color:rgb(var(--neeto-molecules-status-color-red))}.status-dropdown-target--yellow{background-color:#fff7e9;background-color:rgb(var(--neeto-molecules-status-bg-yellow));color:#ffcc70;color:rgb(var(--neeto-molecules-status-color-yellow))}.status-dropdown-target--violet{background-color:#ebdeff;background-color:rgb(var(--neeto-molecules-status-bg-violet));color:#9d62a2;color:rgb(var(--neeto-molecules-status-color-violet))}.status-dropdown-target--pink{background-color:#fee9ff;background-color:rgb(var(--neeto-molecules-status-bg-pink));color:#e13ee6;color:rgb(var(--neeto-molecules-status-color-pink))}.status-dropdown-target--teal{background-color:#e4f4ff;background-color:rgb(var(--neeto-molecules-status-bg-teal));color:#26577c;color:rgb(var(--neeto-molecules-status-color-teal))}.status-dropdown-target--cyan{background-color:#e0fffe;background-color:rgb(var(--neeto-molecules-status-bg-cyan));color:#42a09d;color:rgb(var(--neeto-molecules-status-color-cyan))}.status-dropdown-target--green{background-color:#e0f4ee;background-color:rgb(var(--neeto-molecules-status-bg-green));color:#107154;color:rgb(var(--neeto-molecules-status-color-green))}.status-dropdown-item--open{color:#095aba!important;color:rgb(var(--neeto-molecules-status-color-open))!important}.status-dropdown-item--done{color:#bd640d!important;color:rgb(var(--neeto-molecules-status-color-done))!important}.status-dropdown-item--waiting{color:#2f3941!important;color:rgb(var(--neeto-molecules-status-color-waiting))!important}.status-dropdown-item--red{color:#bb121a!important;color:rgb(var(--neeto-molecules-status-color-red))!important}.status-dropdown-item--yellow{color:#ffcc70!important;color:rgb(var(--neeto-molecules-status-color-yellow))!important}.status-dropdown-item--violet{color:#9d62a2!important;color:rgb(var(--neeto-molecules-status-color-violet))!important}.status-dropdown-item--pink{color:#e13ee6!important;color:rgb(var(--neeto-molecules-status-color-pink))!important}.status-dropdown-item--teal{color:#26577c!important;color:rgb(var(--neeto-molecules-status-color-teal))!important}.status-dropdown-item--cyan{color:#42a09d!important;color:rgb(var(--neeto-molecules-status-color-cyan))!important}.status-dropdown-item--green{color:#107154!important;color:rgb(var(--neeto-molecules-status-color-green))!important}";
50
+ injectCss.n(css,{});
51
+
52
+ var ICON_SIZE = 16;
53
+
54
+ var Target = function Target(_ref) {
55
+ var color = _ref.color,
56
+ label = _ref.label;
57
+ var targetClassName = "neeto-ui-rounded-sm inline-block cursor-pointer py-0.5 px-2 status-dropdown-target--".concat(color);
58
+ return /*#__PURE__*/jsxRuntime.jsxs("div", {
59
+ className: targetClassName,
60
+ "data-testid": "status-dropdown",
61
+ children: [/*#__PURE__*/jsxRuntime.jsx(Typography__default["default"], {
62
+ className: "inline",
63
+ style: "body2",
64
+ children: label
65
+ }), /*#__PURE__*/jsxRuntime.jsx(Down__default["default"], {
66
+ className: "ml-2 inline",
67
+ size: ICON_SIZE
68
+ })]
69
+ });
70
+ };
71
+ var Target$1 = /*#__PURE__*/React.memo(Target);
72
+
73
+ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
74
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty__default["default"](e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
75
+ var StatusDropdown = function StatusDropdown(_ref) {
76
+ var _ref$disabled = _ref.disabled,
77
+ disabled = _ref$disabled === void 0 ? false : _ref$disabled,
78
+ _ref$hiddenStatuses = _ref.hiddenStatuses,
79
+ hiddenStatuses = _ref$hiddenStatuses === void 0 ? [] : _ref$hiddenStatuses,
80
+ _ref$isLoading = _ref.isLoading,
81
+ isLoading = _ref$isLoading === void 0 ? false : _ref$isLoading,
82
+ onItemClick = _ref.onItemClick,
83
+ options = _ref.options,
84
+ selectedValue = _ref.selectedValue,
85
+ _ref$shouldShowAllOpt = _ref.shouldShowAllOptions,
86
+ shouldShowAllOptions = _ref$shouldShowAllOpt === void 0 ? false : _ref$shouldShowAllOpt;
87
+ var selectedOption = neetoCist._findBy({
88
+ value: selectedValue
89
+ }, options);
90
+ return /*#__PURE__*/jsxRuntime.jsx(Dropdown__default["default"], {
91
+ disabled: disabled,
92
+ customTarget: function customTarget() {
93
+ return /*#__PURE__*/jsxRuntime.jsx(Target$1, _objectSpread({
94
+ label: selectedValue
95
+ }, selectedOption));
96
+ },
97
+ strategy: "fixed",
98
+ children: isLoading ? /*#__PURE__*/jsxRuntime.jsx("div", {
99
+ className: "flex w-full items-center justify-center py-8",
100
+ children: /*#__PURE__*/jsxRuntime.jsx(Spinner__default["default"], {})
101
+ }) : /*#__PURE__*/jsxRuntime.jsx(Menu$1, {
102
+ hiddenStatuses: hiddenStatuses,
103
+ onItemClick: onItemClick,
104
+ options: options,
105
+ shouldShowAllOptions: shouldShowAllOptions
106
+ })
107
+ });
108
+ };
109
+ StatusDropdown.Menu = Menu$1;
110
+
111
+ module.exports = StatusDropdown;
112
+ //# sourceMappingURL=StatusDropdown.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"StatusDropdown.js","sources":["../../src/components/StatusDropdown/Menu.jsx","../../src/components/StatusDropdown/constants.js","../../src/components/StatusDropdown/Target.jsx","../../src/components/StatusDropdown/index.jsx"],"sourcesContent":["import { memo } from \"react\";\n\nimport { Dropdown } from \"neetoui\";\n\nconst { Menu: NeetoUIMenu, MenuItem } = Dropdown;\n\nconst Menu = ({\n onItemClick,\n options,\n shouldShowAllOptions = false,\n hiddenStatuses = [],\n}) => {\n const allowedOptions = shouldShowAllOptions\n ? options\n : options.filter(status => !hiddenStatuses.includes(status.value));\n\n return (\n <NeetoUIMenu data-testid=\"status-dropdown-menu\">\n {allowedOptions?.map(option => (\n <MenuItem.Button\n className={`status-dropdown-item--${option.color}`}\n data-testid={`status-dropdown-item-${option.value}`}\n key={option.value}\n onClick={() => onItemClick(option)}\n >\n {option.label}\n </MenuItem.Button>\n ))}\n </NeetoUIMenu>\n );\n};\n\nexport default memo(Menu);\n","export const ICON_SIZE = 16;\n","import { memo } from \"react\";\n\nimport { Down } from \"neetoicons\";\nimport { Typography } from \"neetoui\";\n\nimport { ICON_SIZE } from \"./constants\";\n\nconst Target = ({ color, label }) => {\n const targetClassName = `neeto-ui-rounded-sm inline-block cursor-pointer py-0.5 px-2 status-dropdown-target--${color}`;\n\n return (\n <div className={targetClassName} data-testid=\"status-dropdown\">\n <Typography className=\"inline\" style=\"body2\">\n {label}\n </Typography>\n <Down className=\"ml-2 inline\" size={ICON_SIZE} />\n </div>\n );\n};\n\nexport default memo(Target);\n","import { _findBy } from \"neetocist\";\nimport { Dropdown, Spinner } from \"neetoui\";\nimport PropTypes from \"prop-types\";\n\nimport Menu from \"./Menu\";\nimport \"./status-dropdown.scss\";\nimport Target from \"./Target\";\n\nconst StatusDropdown = ({\n disabled = false,\n hiddenStatuses = [],\n isLoading = false,\n onItemClick,\n options,\n selectedValue,\n shouldShowAllOptions = false,\n}) => {\n const selectedOption = _findBy({ value: selectedValue }, options);\n\n return (\n <Dropdown\n {...{ disabled }}\n customTarget={() => <Target label={selectedValue} {...selectedOption} />}\n strategy=\"fixed\"\n >\n {isLoading ? (\n <div className=\"flex w-full items-center justify-center py-8\">\n <Spinner />\n </div>\n ) : (\n <Menu\n {...{ hiddenStatuses, onItemClick, options, shouldShowAllOptions }}\n />\n )}\n </Dropdown>\n );\n};\n\nStatusDropdown.Menu = Menu;\n\nStatusDropdown.propTypes = {\n /**\n * This prop will decide whether the dropdown is disabled or not.\n */\n disabled: PropTypes.bool,\n /**\n * Statuses to be hidden when shouldShowAllOptions is false.\n */\n hiddenStatuses: PropTypes.array,\n /**\n * This prop will decide whether the dropdown is in loading state or not.\n */\n isLoading: PropTypes.bool,\n /**\n * Function to be called when a menu item is clicked.\n */\n onItemClick: PropTypes.func,\n /**\n * The items that should be shown in the dropdown.\n */\n options: PropTypes.arrayOf(\n PropTypes.shape({\n label: PropTypes.string,\n value: PropTypes.string,\n color: PropTypes.string,\n })\n ),\n /**\n * The selected value.\n */\n selectedValue: PropTypes.string,\n /**\n * This prop will decide whether all options should be shown or not. If set to false, the items in hiddenStatuses will not be shown.\n */\n shouldShowAllOptions: PropTypes.bool,\n};\n\nexport default StatusDropdown;\n"],"names":["NeetoUIMenu","Dropdown","Menu","MenuItem","_ref","onItemClick","options","_ref$shouldShowAllOpt","shouldShowAllOptions","_ref$hiddenStatuses","hiddenStatuses","allowedOptions","filter","status","includes","value","_jsx","children","map","option","Button","className","concat","color","onClick","label","memo","ICON_SIZE","Target","targetClassName","_jsxs","Typography","style","Down","size","StatusDropdown","_ref$disabled","disabled","_ref$isLoading","isLoading","selectedValue","selectedOption","_findBy","customTarget","_objectSpread","strategy","Spinner"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@bigbinary/neeto-molecules",
3
- "version": "3.3.18",
3
+ "version": "3.3.20",
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>",
@@ -738,6 +738,9 @@
738
738
  },
739
739
  "deviceIncompatibility": {
740
740
  "description": "The design tab is currently not supported in this screen size. Please switch to a screen larger than 768px wide."
741
+ },
742
+ "mobilePreview": {
743
+ "message": "The following section is a preview based on the changes you have made above."
741
744
  }
742
745
  }
743
746
  }
@@ -0,0 +1,17 @@
1
+ import React from "react";
2
+ /**
3
+ *
4
+ * Can be used to show preview message for smaller viewports.
5
+ *
6
+ * @example
7
+ *
8
+ * import MobilePreviewHeader from "@bigbinary/neeto-molecules/MobilePreviewHeader";
9
+ *
10
+ * const App = () => <MobilePreviewHeader />;
11
+ * @endexample
12
+ */
13
+ const MobilePreviewHeader: React.FC<{
14
+ message?: React.ReactNode;
15
+ className?: string;
16
+ }>;
17
+ export default MobilePreviewHeader;
@@ -0,0 +1,72 @@
1
+ import React from "react";
2
+ /**
3
+ *
4
+ * The StatusDropdown component is used in neeto products for showing a dropdown
5
+ *
6
+ * to select the status of an item.
7
+ *
8
+ * ![Screenshot](https://github.com/user-attachments/assets/aed45df0-e216-4886-9013-7f4d4aa940bf|height=200|width=300)
9
+ *
10
+ * @example
11
+ *
12
+ * import StatusDropdown from "@bigbinary/neeto-molecules/Sidebar";
13
+ *
14
+ * const App = () => {
15
+ * const [selectedStatus, setSelectedStatus] = React.useState("All");
16
+ *
17
+ * const options = [
18
+ * { label: "All", value: "All", color: "red" },
19
+ * { label: "Open", value: "Open", color: "green" },
20
+ * { label: "In Progress", value: "In Progress", color: "yellow" },
21
+ * ];
22
+ *
23
+ * return (
24
+ * <div>
25
+ * <StatusDropdown
26
+ * shouldShowAllOptions
27
+ * options={options}
28
+ * selectedValue={selectedValue}
29
+ * onItemClick={({ value }) => setSelectedStatus(value)}
30
+ * />
31
+ * </div>
32
+ * );
33
+ * };
34
+ * @endexample
35
+ * @example
36
+ *
37
+ * import StatusDropdown from "@bigbinary/neeto-molecules/Sidebar";
38
+ *
39
+ * const App = () => {
40
+ * const [selectedStatus, setSelectedStatus] = React.useState("All");
41
+ *
42
+ * const options = [
43
+ * { label: "All", value: "All", color: "red" },
44
+ * { label: "Open", value: "Open", color: "green" },
45
+ * { label: "In Progress", value: "In Progress", color: "yellow" },
46
+ * ];
47
+ *
48
+ * const hiddenStatuses = ["Open"];
49
+ *
50
+ * return (
51
+ * <div>
52
+ * <StatusDropdown
53
+ * hiddenStatuses={hiddenStatuses}
54
+ * options={options}
55
+ * selectedValue={selectedValue}
56
+ * onItemClick={({ value }) => setSelectedStatus(value)}
57
+ * />
58
+ * </div>
59
+ * );
60
+ * };
61
+ * @endexample
62
+ */
63
+ const StatusDropdown: React.FC<{
64
+ disabled?: boolean;
65
+ hiddenStatuses?: Array<string>;
66
+ isLoading?: boolean;
67
+ onItemClick: (status: object) => void;
68
+ options: Array<object>;
69
+ selectedValue: string;
70
+ shouldShowAllOptions?: boolean;
71
+ }>;
72
+ export default StatusDropdown;