@bigbinary/neeto-molecules 1.0.87 → 1.0.88-beta

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (62) hide show
  1. package/README.md +1 -0
  2. package/dist/Columns.cjs.js +34 -6
  3. package/dist/Columns.cjs.js.map +1 -1
  4. package/dist/Columns.js +37 -9
  5. package/dist/Columns.js.map +1 -1
  6. package/dist/Container.cjs.js +1 -1
  7. package/dist/Container.js +1 -1
  8. package/dist/CopyToClipboardButton.cjs.js +205 -8
  9. package/dist/CopyToClipboardButton.cjs.js.map +1 -1
  10. package/dist/CopyToClipboardButton.js +207 -10
  11. package/dist/CopyToClipboardButton.js.map +1 -1
  12. package/dist/CustomDomainDashboard.cjs.js +30 -28
  13. package/dist/CustomDomainDashboard.cjs.js.map +1 -1
  14. package/dist/CustomDomainDashboard.js +33 -31
  15. package/dist/CustomDomainDashboard.js.map +1 -1
  16. package/dist/EmailForm.cjs.js +1 -1
  17. package/dist/EmailForm.cjs.js.map +1 -1
  18. package/dist/EmailForm.js +1 -1
  19. package/dist/EmailForm.js.map +1 -1
  20. package/dist/Header.cjs.js +22 -24
  21. package/dist/Header.cjs.js.map +1 -1
  22. package/dist/Header.js +25 -27
  23. package/dist/Header.js.map +1 -1
  24. package/dist/IpRestriction.cjs.js +135 -86
  25. package/dist/IpRestriction.cjs.js.map +1 -1
  26. package/dist/IpRestriction.js +136 -87
  27. package/dist/IpRestriction.js.map +1 -1
  28. package/dist/MenuBar.cjs.js +1 -1
  29. package/dist/MenuBar.js +1 -1
  30. package/dist/Rename.cjs.js +2 -2
  31. package/dist/Rename.cjs.js.map +1 -1
  32. package/dist/Rename.js +2 -2
  33. package/dist/Rename.js.map +1 -1
  34. package/dist/Schedule.cjs.js +3 -1
  35. package/dist/Schedule.cjs.js.map +1 -1
  36. package/dist/Schedule.js +3 -1
  37. package/dist/Schedule.js.map +1 -1
  38. package/dist/Scrollable.cjs.js +5 -1
  39. package/dist/Scrollable.cjs.js.map +1 -1
  40. package/dist/Scrollable.js +5 -1
  41. package/dist/Scrollable.js.map +1 -1
  42. package/dist/Sidebar.cjs.js +221 -136
  43. package/dist/Sidebar.cjs.js.map +1 -1
  44. package/dist/Sidebar.js +224 -139
  45. package/dist/Sidebar.js.map +1 -1
  46. package/dist/SubHeader.cjs.js +7 -4
  47. package/dist/SubHeader.cjs.js.map +1 -1
  48. package/dist/SubHeader.js +8 -5
  49. package/dist/SubHeader.js.map +1 -1
  50. package/dist/ToggleFeatureCard.cjs.js +304 -0
  51. package/dist/ToggleFeatureCard.cjs.js.map +1 -0
  52. package/dist/ToggleFeatureCard.js +298 -0
  53. package/dist/ToggleFeatureCard.js.map +1 -0
  54. package/package.json +4 -2
  55. package/src/translations/en.json +22 -3
  56. package/types/Columns.d.ts +8 -7
  57. package/types/CopyToClipboardButton.d.ts +1 -0
  58. package/types/Header.d.ts +2 -0
  59. package/types/ImageWithFallback.d.ts +6 -7
  60. package/types/Sidebar.d.ts +1 -1
  61. package/types/SubHeader.d.ts +1 -1
  62. package/types/ToggleFeatureCard.d.ts +32 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ToggleFeatureCard.cjs.js","sources":["../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","../node_modules/classnames/index.js","../src/components/ToggleFeatureCard/hooks/useScrollIntoView.js","../node_modules/rollup-plugin-styles/dist/runtime/inject-css.js","../src/components/ToggleFeatureCard/ToolTipSwitch.jsx","../src/components/ToggleFeatureCard/index.jsx"],"sourcesContent":["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}","/*!\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 { useEffect } from \"react\";\n\nconst useScrollIntoView = ({ elementId, trigger }) => {\n useEffect(() => {\n if (!trigger) return;\n document.getElementById(elementId)?.scrollIntoView();\n }, [trigger]);\n};\n\nexport default useScrollIntoView;\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 { withT } from \"neetocommons/react-utils\";\nimport { Tooltip } from \"neetoui\";\nimport { Switch as FormikSwitch } from \"neetoui/formik\";\n\nconst TooltipSwitch = withT(\n ({ t, enabledCondition, name = \"\", isDisabled = false, switchDataCy }) => (\n <Tooltip\n position=\"top\"\n content={\n enabledCondition\n ? t(\"neetoMolecules.toggleFeatureCard.switchTooltip.enabled\")\n : t(\"neetoMolecules.toggleFeatureCard.switchTooltip.disabled\")\n }\n >\n <span>\n <FormikSwitch\n data-cy={switchDataCy}\n data-testid=\"toggle-feature-card-switch\"\n disabled={isDisabled}\n {...{ name }}\n />\n </span>\n </Tooltip>\n )\n);\n\nexport default TooltipSwitch;\n","import React, { useRef, useState, useEffect } from \"react\";\n\nimport classnames from \"classnames\";\nimport { useFormikContext } from \"formik\";\nimport { slugify } from \"neetocommons/pure\";\nimport { useHotKeys, useOnClickOutside } from \"neetocommons/react-utils\";\nimport { Edit, Close } from \"neetoicons\";\nimport { Typography, Label, Button } from \"neetoui\";\nimport { Input } from \"neetoui/formik\";\nimport PropTypes from \"prop-types\";\nimport { isEmpty } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport useScrollIntoView from \"./hooks/useScrollIntoView\";\nimport \"./toggleFeatureCard.scss\";\nimport TooltipSwitch from \"./ToolTipSwitch\";\n\nconst ToggleFeatureCard = ({\n title = \"\",\n description = null,\n switchName = \"switch\",\n titleDataCy = \"\",\n switchDataCy = \"\",\n descriptionDataCy = \"\",\n isDisabled = false,\n children = null,\n inputProps = {\n name: null,\n display: null,\n label: null,\n editButtonTooltip: null,\n editButtonDataCy: \"\",\n placeholder: null,\n dataCy: \"\",\n },\n}) => {\n const { t } = useTranslation();\n const cardRef = useRef();\n const id = slugify(title);\n\n const [isEditing, setIsEditing] = useState(false);\n\n const { setFieldValue, values, submitCount, errors, initialValues } =\n useFormikContext();\n\n useEffect(() => {\n if (submitCount >= 1 && isEmpty(errors)) {\n setIsEditing(false);\n }\n }, [submitCount]);\n\n useEffect(() => {\n if (!isEmpty(errors)) {\n setIsEditing(true);\n }\n }, [values, errors]);\n\n const [shouldHighlight, setShouldHighlight] = useState(\n location.hash.split(\"#\")[1] === id\n );\n\n const hasInput = values?.[switchName] && inputProps?.name;\n const enabledCondition = values?.[switchName];\n\n const handleInputReset = () => {\n setIsEditing(false);\n hasInput &&\n setFieldValue(inputProps?.name, initialValues?.[inputProps?.name]);\n };\n\n useOnClickOutside(cardRef, () => setShouldHighlight(false));\n\n useScrollIntoView({ elementId: id, trigger: shouldHighlight });\n\n const inputRef = useHotKeys(\"enter\", () => setIsEditing(false), {\n mode: \"scoped\",\n });\n\n return (\n <div\n data-testid=\"toggle-feature-card\"\n {...{ id }}\n ref={cardRef}\n className={classnames(\n \"neeto-ui-bg-white neeto-ui-rounded-lg flex flex-col space-y-2 border p-4\",\n { \"neeto-ui-border-gray-300\": !shouldHighlight },\n { \"toggle-feature-card--highlighted\": shouldHighlight }\n )}\n >\n <Label className=\"flex flex-row items-center gap-2\">\n <TooltipSwitch\n {...{ enabledCondition, isDisabled, switchDataCy }}\n name={switchName}\n />\n <Typography\n component=\"span\"\n data-cy={titleDataCy}\n data-testid=\"toggle-feature-card-title\"\n style=\"h4\"\n weight=\"semibold\"\n >\n {title}\n </Typography>\n </Label>\n <Typography\n className=\"mb-4 whitespace-pre-line\"\n data-cy={descriptionDataCy}\n data-testid=\"toggle-feature-card-description\"\n style=\"body2\"\n >\n {description}\n </Typography>\n {hasInput && !isEditing && (\n <div className=\"m-0 flex flex-row items-center space-x-2\">\n {inputProps?.display}\n <Button\n data-cy={inputProps?.editButtonDataCy}\n data-testid=\"toggle-feature-card-input-display-edit\"\n icon={Edit}\n size=\"small\"\n style=\"text\"\n type=\"button\"\n tooltipProps={{\n content:\n inputProps?.editButtonTooltip ||\n t(\n \"neetoMolecules.toggleFeatureCard.input.editButtonDefaultTooltip\"\n ),\n position: \"right\",\n }}\n onClick={() => setIsEditing(true)}\n />\n </div>\n )}\n {hasInput && isEditing && (\n <Input\n autoFocus\n data-cy={inputProps?.dataCy}\n data-testid=\"toggle-feature-card-input-field\"\n label={inputProps?.label}\n name={inputProps?.name}\n placeholder={inputProps?.placeholder}\n ref={inputRef}\n size=\"medium\"\n suffix={\n <Button\n data-testid=\"toggle-feature-card-input-reset\"\n icon={Close}\n size=\"small\"\n style=\"text\"\n type=\"button\"\n onClick={handleInputReset}\n />\n }\n />\n )}\n {children}\n </div>\n );\n};\n\nToggleFeatureCard.propTypes = {\n /**\n * The title that will be displayed for the card.\n */\n title: PropTypes.string,\n /**\n * The descripton text for the particular feature or setting.\n */\n description: PropTypes.string,\n /**\n * The formik name of the feature or setting to be toggled. eg:\n {switchName: \"enableEmails\"}.\n */\n switchName: PropTypes.string,\n /**\n * Can be used to disable the toggle switch conditionally.\n */\n isDisabled: PropTypes.bool,\n /**\n * Custom child components to be displayed in the card.\n */\n children: PropTypes.node,\n /**\n * Can be used to add an input field for a setting or a feature.\n For example, `Enable email notifications` card can have an email input field.\n */\n inputProps: PropTypes.shape({\n name: PropTypes.string,\n display: PropTypes.node,\n label: PropTypes.string,\n editButtonTooltip: PropTypes.string,\n editButtonDataCy: PropTypes.string,\n placeholder: PropTypes.string,\n dataCy: PropTypes.string,\n }),\n};\n\nexport default ToggleFeatureCard;\n"],"names":["arrayLikeToArray","arrayWithHoles","iterableToArrayLimit","unsupportedIterableToArray","nonIterableRest","useScrollIntoView","_ref","elementId","trigger","useEffect","_document$getElementB","document","getElementById","scrollIntoView","TooltipSwitch","withT","t","enabledCondition","_ref$name","name","_ref$isDisabled","isDisabled","switchDataCy","React","createElement","Tooltip","position","content","FormikSwitch","disabled","ToggleFeatureCard","_ref$title","title","_ref$description","description","_ref$switchName","switchName","_ref$titleDataCy","titleDataCy","_ref$switchDataCy","_ref$descriptionDataC","descriptionDataCy","_ref$children","children","_ref$inputProps","inputProps","display","label","editButtonTooltip","editButtonDataCy","placeholder","dataCy","_useTranslation","useTranslation","cardRef","useRef","id","slugify","_useState","useState","_useState2","_slicedToArray","isEditing","setIsEditing","_useFormikContext","useFormikContext","setFieldValue","values","submitCount","errors","initialValues","isEmpty","_useState3","location","hash","split","_useState4","shouldHighlight","setShouldHighlight","hasInput","handleInputReset","useOnClickOutside","inputRef","useHotKeys","mode","ref","className","classnames","Label","Typography","component","style","weight","Button","icon","Edit","size","type","tooltipProps","onClick","Input","autoFocus","suffix","Close"],"mappings":"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"}
@@ -0,0 +1,298 @@
1
+ import React, { useEffect, useRef, useState } from 'react';
2
+ import { useFormikContext } from 'formik';
3
+ import { slugify } from '@bigbinary/neeto-commons-frontend/pure';
4
+ import { withT, useOnClickOutside, useHotKeys } from '@bigbinary/neeto-commons-frontend/react-utils';
5
+ import { Edit, Close } from '@bigbinary/neeto-icons';
6
+ import { Tooltip, Label, Typography, Button } from '@bigbinary/neetoui';
7
+ import { Switch, Input } from '@bigbinary/neetoui/formik';
8
+ import { isEmpty } from 'ramda';
9
+ import { useTranslation } from 'react-i18next';
10
+
11
+ function _arrayWithHoles(arr) {
12
+ if (Array.isArray(arr)) return arr;
13
+ }
14
+
15
+ function _iterableToArrayLimit(arr, i) {
16
+ var _i = null == arr ? null : "undefined" != typeof Symbol && arr[Symbol.iterator] || arr["@@iterator"];
17
+ if (null != _i) {
18
+ var _s,
19
+ _e,
20
+ _x,
21
+ _r,
22
+ _arr = [],
23
+ _n = !0,
24
+ _d = !1;
25
+ try {
26
+ if (_x = (_i = _i.call(arr)).next, 0 === i) {
27
+ if (Object(_i) !== _i) return;
28
+ _n = !1;
29
+ } else for (; !(_n = (_s = _x.call(_i)).done) && (_arr.push(_s.value), _arr.length !== i); _n = !0);
30
+ } catch (err) {
31
+ _d = !0, _e = err;
32
+ } finally {
33
+ try {
34
+ if (!_n && null != _i["return"] && (_r = _i["return"](), Object(_r) !== _r)) return;
35
+ } finally {
36
+ if (_d) throw _e;
37
+ }
38
+ }
39
+ return _arr;
40
+ }
41
+ }
42
+
43
+ function _arrayLikeToArray(arr, len) {
44
+ if (len == null || len > arr.length) len = arr.length;
45
+ for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];
46
+ return arr2;
47
+ }
48
+
49
+ function _unsupportedIterableToArray(o, minLen) {
50
+ if (!o) return;
51
+ if (typeof o === "string") return _arrayLikeToArray(o, minLen);
52
+ var n = Object.prototype.toString.call(o).slice(8, -1);
53
+ if (n === "Object" && o.constructor) n = o.constructor.name;
54
+ if (n === "Map" || n === "Set") return Array.from(o);
55
+ if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen);
56
+ }
57
+
58
+ function _nonIterableRest() {
59
+ throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
60
+ }
61
+
62
+ function _slicedToArray(arr, i) {
63
+ return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest();
64
+ }
65
+
66
+ var classnames$1 = {exports: {}};
67
+
68
+ /*!
69
+ Copyright (c) 2018 Jed Watson.
70
+ Licensed under the MIT License (MIT), see
71
+ http://jedwatson.github.io/classnames
72
+ */
73
+
74
+ (function (module) {
75
+ /* global define */
76
+
77
+ (function () {
78
+
79
+ var hasOwn = {}.hasOwnProperty;
80
+
81
+ function classNames() {
82
+ var classes = [];
83
+
84
+ for (var i = 0; i < arguments.length; i++) {
85
+ var arg = arguments[i];
86
+ if (!arg) continue;
87
+
88
+ var argType = typeof arg;
89
+
90
+ if (argType === 'string' || argType === 'number') {
91
+ classes.push(arg);
92
+ } else if (Array.isArray(arg)) {
93
+ if (arg.length) {
94
+ var inner = classNames.apply(null, arg);
95
+ if (inner) {
96
+ classes.push(inner);
97
+ }
98
+ }
99
+ } else if (argType === 'object') {
100
+ if (arg.toString !== Object.prototype.toString && !arg.toString.toString().includes('[native code]')) {
101
+ classes.push(arg.toString());
102
+ continue;
103
+ }
104
+
105
+ for (var key in arg) {
106
+ if (hasOwn.call(arg, key) && arg[key]) {
107
+ classes.push(key);
108
+ }
109
+ }
110
+ }
111
+ }
112
+
113
+ return classes.join(' ');
114
+ }
115
+
116
+ if (module.exports) {
117
+ classNames.default = classNames;
118
+ module.exports = classNames;
119
+ } else {
120
+ window.classNames = classNames;
121
+ }
122
+ }());
123
+ } (classnames$1));
124
+
125
+ var classnames = classnames$1.exports;
126
+
127
+ var useScrollIntoView = function useScrollIntoView(_ref) {
128
+ var elementId = _ref.elementId,
129
+ trigger = _ref.trigger;
130
+ useEffect(function () {
131
+ var _document$getElementB;
132
+ if (!trigger) return;
133
+ (_document$getElementB = document.getElementById(elementId)) === null || _document$getElementB === void 0 ? void 0 : _document$getElementB.scrollIntoView();
134
+ }, [trigger]);
135
+ };
136
+
137
+ 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}}
138
+
139
+ var css = ".toggle-feature-card--highlighted{border-color:rgb(var(--neeto-ui-primary-800))!important;box-shadow:0 0 0 1px rgb(var(--neeto-ui-primary-800))}";
140
+ n(css,{});
141
+
142
+ var TooltipSwitch = withT(function (_ref) {
143
+ var t = _ref.t,
144
+ enabledCondition = _ref.enabledCondition,
145
+ _ref$name = _ref.name,
146
+ name = _ref$name === void 0 ? "" : _ref$name,
147
+ _ref$isDisabled = _ref.isDisabled,
148
+ isDisabled = _ref$isDisabled === void 0 ? false : _ref$isDisabled,
149
+ switchDataCy = _ref.switchDataCy;
150
+ return /*#__PURE__*/React.createElement(Tooltip, {
151
+ position: "top",
152
+ content: enabledCondition ? t("neetoMolecules.toggleFeatureCard.switchTooltip.enabled") : t("neetoMolecules.toggleFeatureCard.switchTooltip.disabled")
153
+ }, /*#__PURE__*/React.createElement("span", null, /*#__PURE__*/React.createElement(Switch, {
154
+ "data-cy": switchDataCy,
155
+ "data-testid": "toggle-feature-card-switch",
156
+ disabled: isDisabled,
157
+ name: name
158
+ })));
159
+ });
160
+
161
+ var ToggleFeatureCard = function ToggleFeatureCard(_ref) {
162
+ var _ref$title = _ref.title,
163
+ title = _ref$title === void 0 ? "" : _ref$title,
164
+ _ref$description = _ref.description,
165
+ description = _ref$description === void 0 ? null : _ref$description,
166
+ _ref$switchName = _ref.switchName,
167
+ switchName = _ref$switchName === void 0 ? "switch" : _ref$switchName,
168
+ _ref$titleDataCy = _ref.titleDataCy,
169
+ titleDataCy = _ref$titleDataCy === void 0 ? "" : _ref$titleDataCy,
170
+ _ref$switchDataCy = _ref.switchDataCy,
171
+ switchDataCy = _ref$switchDataCy === void 0 ? "" : _ref$switchDataCy,
172
+ _ref$descriptionDataC = _ref.descriptionDataCy,
173
+ descriptionDataCy = _ref$descriptionDataC === void 0 ? "" : _ref$descriptionDataC,
174
+ _ref$isDisabled = _ref.isDisabled,
175
+ isDisabled = _ref$isDisabled === void 0 ? false : _ref$isDisabled,
176
+ _ref$children = _ref.children,
177
+ children = _ref$children === void 0 ? null : _ref$children,
178
+ _ref$inputProps = _ref.inputProps,
179
+ inputProps = _ref$inputProps === void 0 ? {
180
+ name: null,
181
+ display: null,
182
+ label: null,
183
+ editButtonTooltip: null,
184
+ editButtonDataCy: "",
185
+ placeholder: null,
186
+ dataCy: ""
187
+ } : _ref$inputProps;
188
+ var _useTranslation = useTranslation(),
189
+ t = _useTranslation.t;
190
+ var cardRef = useRef();
191
+ var id = slugify(title);
192
+ var _useState = useState(false),
193
+ _useState2 = _slicedToArray(_useState, 2),
194
+ isEditing = _useState2[0],
195
+ setIsEditing = _useState2[1];
196
+ var _useFormikContext = useFormikContext(),
197
+ setFieldValue = _useFormikContext.setFieldValue,
198
+ values = _useFormikContext.values,
199
+ submitCount = _useFormikContext.submitCount,
200
+ errors = _useFormikContext.errors,
201
+ initialValues = _useFormikContext.initialValues;
202
+ useEffect(function () {
203
+ if (submitCount >= 1 && isEmpty(errors)) {
204
+ setIsEditing(false);
205
+ }
206
+ }, [submitCount]);
207
+ useEffect(function () {
208
+ if (!isEmpty(errors)) {
209
+ setIsEditing(true);
210
+ }
211
+ }, [values, errors]);
212
+ var _useState3 = useState(location.hash.split("#")[1] === id),
213
+ _useState4 = _slicedToArray(_useState3, 2),
214
+ shouldHighlight = _useState4[0],
215
+ setShouldHighlight = _useState4[1];
216
+ var hasInput = (values === null || values === void 0 ? void 0 : values[switchName]) && (inputProps === null || inputProps === void 0 ? void 0 : inputProps.name);
217
+ var enabledCondition = values === null || values === void 0 ? void 0 : values[switchName];
218
+ var handleInputReset = function handleInputReset() {
219
+ setIsEditing(false);
220
+ hasInput && setFieldValue(inputProps === null || inputProps === void 0 ? void 0 : inputProps.name, initialValues === null || initialValues === void 0 ? void 0 : initialValues[inputProps === null || inputProps === void 0 ? void 0 : inputProps.name]);
221
+ };
222
+ useOnClickOutside(cardRef, function () {
223
+ return setShouldHighlight(false);
224
+ });
225
+ useScrollIntoView({
226
+ elementId: id,
227
+ trigger: shouldHighlight
228
+ });
229
+ var inputRef = useHotKeys("enter", function () {
230
+ return setIsEditing(false);
231
+ }, {
232
+ mode: "scoped"
233
+ });
234
+ return /*#__PURE__*/React.createElement("div", {
235
+ "data-testid": "toggle-feature-card",
236
+ id: id,
237
+ ref: cardRef,
238
+ className: classnames("neeto-ui-bg-white neeto-ui-rounded-lg flex flex-col space-y-2 border p-4", {
239
+ "neeto-ui-border-gray-300": !shouldHighlight
240
+ }, {
241
+ "toggle-feature-card--highlighted": shouldHighlight
242
+ })
243
+ }, /*#__PURE__*/React.createElement(Label, {
244
+ className: "flex flex-row items-center gap-2"
245
+ }, /*#__PURE__*/React.createElement(TooltipSwitch, {
246
+ enabledCondition: enabledCondition,
247
+ isDisabled: isDisabled,
248
+ switchDataCy: switchDataCy,
249
+ name: switchName
250
+ }), /*#__PURE__*/React.createElement(Typography, {
251
+ component: "span",
252
+ "data-cy": titleDataCy,
253
+ "data-testid": "toggle-feature-card-title",
254
+ style: "h4",
255
+ weight: "semibold"
256
+ }, title)), /*#__PURE__*/React.createElement(Typography, {
257
+ className: "mb-4 whitespace-pre-line",
258
+ "data-cy": descriptionDataCy,
259
+ "data-testid": "toggle-feature-card-description",
260
+ style: "body2"
261
+ }, description), hasInput && !isEditing && /*#__PURE__*/React.createElement("div", {
262
+ className: "m-0 flex flex-row items-center space-x-2"
263
+ }, inputProps === null || inputProps === void 0 ? void 0 : inputProps.display, /*#__PURE__*/React.createElement(Button, {
264
+ "data-cy": inputProps === null || inputProps === void 0 ? void 0 : inputProps.editButtonDataCy,
265
+ "data-testid": "toggle-feature-card-input-display-edit",
266
+ icon: Edit,
267
+ size: "small",
268
+ style: "text",
269
+ type: "button",
270
+ tooltipProps: {
271
+ content: (inputProps === null || inputProps === void 0 ? void 0 : inputProps.editButtonTooltip) || t("neetoMolecules.toggleFeatureCard.input.editButtonDefaultTooltip"),
272
+ position: "right"
273
+ },
274
+ onClick: function onClick() {
275
+ return setIsEditing(true);
276
+ }
277
+ })), hasInput && isEditing && /*#__PURE__*/React.createElement(Input, {
278
+ autoFocus: true,
279
+ "data-cy": inputProps === null || inputProps === void 0 ? void 0 : inputProps.dataCy,
280
+ "data-testid": "toggle-feature-card-input-field",
281
+ label: inputProps === null || inputProps === void 0 ? void 0 : inputProps.label,
282
+ name: inputProps === null || inputProps === void 0 ? void 0 : inputProps.name,
283
+ placeholder: inputProps === null || inputProps === void 0 ? void 0 : inputProps.placeholder,
284
+ ref: inputRef,
285
+ size: "medium",
286
+ suffix: /*#__PURE__*/React.createElement(Button, {
287
+ "data-testid": "toggle-feature-card-input-reset",
288
+ icon: Close,
289
+ size: "small",
290
+ style: "text",
291
+ type: "button",
292
+ onClick: handleInputReset
293
+ })
294
+ }), children);
295
+ };
296
+
297
+ export { ToggleFeatureCard as default };
298
+ //# sourceMappingURL=ToggleFeatureCard.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ToggleFeatureCard.js","sources":["../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","../node_modules/classnames/index.js","../src/components/ToggleFeatureCard/hooks/useScrollIntoView.js","../node_modules/rollup-plugin-styles/dist/runtime/inject-css.js","../src/components/ToggleFeatureCard/ToolTipSwitch.jsx","../src/components/ToggleFeatureCard/index.jsx"],"sourcesContent":["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}","/*!\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 { useEffect } from \"react\";\n\nconst useScrollIntoView = ({ elementId, trigger }) => {\n useEffect(() => {\n if (!trigger) return;\n document.getElementById(elementId)?.scrollIntoView();\n }, [trigger]);\n};\n\nexport default useScrollIntoView;\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 { withT } from \"neetocommons/react-utils\";\nimport { Tooltip } from \"neetoui\";\nimport { Switch as FormikSwitch } from \"neetoui/formik\";\n\nconst TooltipSwitch = withT(\n ({ t, enabledCondition, name = \"\", isDisabled = false, switchDataCy }) => (\n <Tooltip\n position=\"top\"\n content={\n enabledCondition\n ? t(\"neetoMolecules.toggleFeatureCard.switchTooltip.enabled\")\n : t(\"neetoMolecules.toggleFeatureCard.switchTooltip.disabled\")\n }\n >\n <span>\n <FormikSwitch\n data-cy={switchDataCy}\n data-testid=\"toggle-feature-card-switch\"\n disabled={isDisabled}\n {...{ name }}\n />\n </span>\n </Tooltip>\n )\n);\n\nexport default TooltipSwitch;\n","import React, { useRef, useState, useEffect } from \"react\";\n\nimport classnames from \"classnames\";\nimport { useFormikContext } from \"formik\";\nimport { slugify } from \"neetocommons/pure\";\nimport { useHotKeys, useOnClickOutside } from \"neetocommons/react-utils\";\nimport { Edit, Close } from \"neetoicons\";\nimport { Typography, Label, Button } from \"neetoui\";\nimport { Input } from \"neetoui/formik\";\nimport PropTypes from \"prop-types\";\nimport { isEmpty } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport useScrollIntoView from \"./hooks/useScrollIntoView\";\nimport \"./toggleFeatureCard.scss\";\nimport TooltipSwitch from \"./ToolTipSwitch\";\n\nconst ToggleFeatureCard = ({\n title = \"\",\n description = null,\n switchName = \"switch\",\n titleDataCy = \"\",\n switchDataCy = \"\",\n descriptionDataCy = \"\",\n isDisabled = false,\n children = null,\n inputProps = {\n name: null,\n display: null,\n label: null,\n editButtonTooltip: null,\n editButtonDataCy: \"\",\n placeholder: null,\n dataCy: \"\",\n },\n}) => {\n const { t } = useTranslation();\n const cardRef = useRef();\n const id = slugify(title);\n\n const [isEditing, setIsEditing] = useState(false);\n\n const { setFieldValue, values, submitCount, errors, initialValues } =\n useFormikContext();\n\n useEffect(() => {\n if (submitCount >= 1 && isEmpty(errors)) {\n setIsEditing(false);\n }\n }, [submitCount]);\n\n useEffect(() => {\n if (!isEmpty(errors)) {\n setIsEditing(true);\n }\n }, [values, errors]);\n\n const [shouldHighlight, setShouldHighlight] = useState(\n location.hash.split(\"#\")[1] === id\n );\n\n const hasInput = values?.[switchName] && inputProps?.name;\n const enabledCondition = values?.[switchName];\n\n const handleInputReset = () => {\n setIsEditing(false);\n hasInput &&\n setFieldValue(inputProps?.name, initialValues?.[inputProps?.name]);\n };\n\n useOnClickOutside(cardRef, () => setShouldHighlight(false));\n\n useScrollIntoView({ elementId: id, trigger: shouldHighlight });\n\n const inputRef = useHotKeys(\"enter\", () => setIsEditing(false), {\n mode: \"scoped\",\n });\n\n return (\n <div\n data-testid=\"toggle-feature-card\"\n {...{ id }}\n ref={cardRef}\n className={classnames(\n \"neeto-ui-bg-white neeto-ui-rounded-lg flex flex-col space-y-2 border p-4\",\n { \"neeto-ui-border-gray-300\": !shouldHighlight },\n { \"toggle-feature-card--highlighted\": shouldHighlight }\n )}\n >\n <Label className=\"flex flex-row items-center gap-2\">\n <TooltipSwitch\n {...{ enabledCondition, isDisabled, switchDataCy }}\n name={switchName}\n />\n <Typography\n component=\"span\"\n data-cy={titleDataCy}\n data-testid=\"toggle-feature-card-title\"\n style=\"h4\"\n weight=\"semibold\"\n >\n {title}\n </Typography>\n </Label>\n <Typography\n className=\"mb-4 whitespace-pre-line\"\n data-cy={descriptionDataCy}\n data-testid=\"toggle-feature-card-description\"\n style=\"body2\"\n >\n {description}\n </Typography>\n {hasInput && !isEditing && (\n <div className=\"m-0 flex flex-row items-center space-x-2\">\n {inputProps?.display}\n <Button\n data-cy={inputProps?.editButtonDataCy}\n data-testid=\"toggle-feature-card-input-display-edit\"\n icon={Edit}\n size=\"small\"\n style=\"text\"\n type=\"button\"\n tooltipProps={{\n content:\n inputProps?.editButtonTooltip ||\n t(\n \"neetoMolecules.toggleFeatureCard.input.editButtonDefaultTooltip\"\n ),\n position: \"right\",\n }}\n onClick={() => setIsEditing(true)}\n />\n </div>\n )}\n {hasInput && isEditing && (\n <Input\n autoFocus\n data-cy={inputProps?.dataCy}\n data-testid=\"toggle-feature-card-input-field\"\n label={inputProps?.label}\n name={inputProps?.name}\n placeholder={inputProps?.placeholder}\n ref={inputRef}\n size=\"medium\"\n suffix={\n <Button\n data-testid=\"toggle-feature-card-input-reset\"\n icon={Close}\n size=\"small\"\n style=\"text\"\n type=\"button\"\n onClick={handleInputReset}\n />\n }\n />\n )}\n {children}\n </div>\n );\n};\n\nToggleFeatureCard.propTypes = {\n /**\n * The title that will be displayed for the card.\n */\n title: PropTypes.string,\n /**\n * The descripton text for the particular feature or setting.\n */\n description: PropTypes.string,\n /**\n * The formik name of the feature or setting to be toggled. eg:\n {switchName: \"enableEmails\"}.\n */\n switchName: PropTypes.string,\n /**\n * Can be used to disable the toggle switch conditionally.\n */\n isDisabled: PropTypes.bool,\n /**\n * Custom child components to be displayed in the card.\n */\n children: PropTypes.node,\n /**\n * Can be used to add an input field for a setting or a feature.\n For example, `Enable email notifications` card can have an email input field.\n */\n inputProps: PropTypes.shape({\n name: PropTypes.string,\n display: PropTypes.node,\n label: PropTypes.string,\n editButtonTooltip: PropTypes.string,\n editButtonDataCy: PropTypes.string,\n placeholder: PropTypes.string,\n dataCy: PropTypes.string,\n }),\n};\n\nexport default ToggleFeatureCard;\n"],"names":["arrayLikeToArray","arrayWithHoles","iterableToArrayLimit","unsupportedIterableToArray","nonIterableRest","useScrollIntoView","_ref","elementId","trigger","useEffect","_document$getElementB","document","getElementById","scrollIntoView","TooltipSwitch","withT","t","enabledCondition","_ref$name","name","_ref$isDisabled","isDisabled","switchDataCy","React","createElement","Tooltip","position","content","FormikSwitch","disabled","ToggleFeatureCard","_ref$title","title","_ref$description","description","_ref$switchName","switchName","_ref$titleDataCy","titleDataCy","_ref$switchDataCy","_ref$descriptionDataC","descriptionDataCy","_ref$children","children","_ref$inputProps","inputProps","display","label","editButtonTooltip","editButtonDataCy","placeholder","dataCy","_useTranslation","useTranslation","cardRef","useRef","id","slugify","_useState","useState","_useState2","_slicedToArray","isEditing","setIsEditing","_useFormikContext","useFormikContext","setFieldValue","values","submitCount","errors","initialValues","isEmpty","_useState3","location","hash","split","_useState4","shouldHighlight","setShouldHighlight","hasInput","handleInputReset","useOnClickOutside","inputRef","useHotKeys","mode","ref","className","classnames","Label","Typography","component","style","weight","Button","icon","Edit","size","type","tooltipProps","onClick","Input","autoFocus","suffix","Close"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@bigbinary/neeto-molecules",
3
- "version": "1.0.87",
3
+ "version": "1.0.88-beta",
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>",
@@ -51,11 +51,12 @@
51
51
  "@bigbinary/neeto-commons-frontend": "2.0.119",
52
52
  "@bigbinary/neeto-editor": "1.27.0-beta.1",
53
53
  "@bigbinary/neeto-filters-frontend": "^2.11.15",
54
- "@bigbinary/neeto-icons": "^1.12.3",
54
+ "@bigbinary/neeto-icons": "^1.14.0",
55
55
  "@bigbinary/neeto-molecules": "^1.0.5",
56
56
  "@bigbinary/neetoui": "^5.1.5",
57
57
  "@faker-js/faker": "7.6.0",
58
58
  "@honeybadger-io/react": "2.0.1",
59
+ "@neetohq/timezones": "^0.2.0",
59
60
  "@rails/activestorage": "^7.0.5",
60
61
  "@rollup/plugin-alias": "^3.1.9",
61
62
  "@rollup/plugin-babel": "^5.3.1",
@@ -160,6 +161,7 @@
160
161
  "@bigbinary/neeto-molecules": "latest",
161
162
  "@bigbinary/neetoui": "latest",
162
163
  "@honeybadger-io/react": "2.0.1",
164
+ "@neetohq/timezones": "latest",
163
165
  "@svgr/webpack": "^6.5.1",
164
166
  "antd": "4.24.3",
165
167
  "axios": "^0.27.2",
@@ -67,12 +67,16 @@
67
67
  "logout": "Log out",
68
68
  "help": "Help",
69
69
  "productSwitcher": "Product switcher",
70
+ "neetoProducts": "neeto products",
70
71
  "helpLinks": {
71
72
  "liveChat": "Live chat",
72
73
  "helpCenter": "Help center",
73
74
  "whatsNew": "What's new",
74
- "keyboardShortcuts": "Keyboard shortcuts"
75
- }
75
+ "keyboardShortcuts": "Keyboard shortcuts",
76
+ "helpArticles": "Help articles"
77
+ },
78
+ "showMenu": "Expand sidebar",
79
+ "hideMenu": "Collapse sidebar"
76
80
  },
77
81
  "appSwitcher": {
78
82
  "noApps": "No apps found",
@@ -275,7 +279,13 @@
275
279
  "ipEndRequired": "IP end is required"
276
280
  },
277
281
  "currentIpTitle": "Your current IP is",
278
- "currentIpDescription": "Your current IP will be added to the allowed IP range by default. You will not be able to save the IP settings without your current IP address on the list."
282
+ "currentIpDescription": "Your current IP will be added to the allowed IP range by default.",
283
+ "warningMessage": "Please be careful enabling this feature. There have been cases where the IP address assigned to people at home is dynamic. After a few days, the IP changed and those people were unable to access neeto applications.\n\nIf you are using a VPN with a fixed range of IP addresses, you are a good candidate for this feature.\n\nIf you get locked out or if you run into any issue, then you can send an email to <strong>support@neeto.com</strong> with your organization name and subdomain.",
284
+ "enableAlert": {
285
+ "title": "Enable IP restriction?",
286
+ "message": "I have read the warning message about using IP restriction. I know that I can email <strong>support@neeto.com</strong>, if I can't log in or have any problems.",
287
+ "submitButtonLabel": "Enable"
288
+ }
279
289
  },
280
290
  "integrationWalkthroughModal": {
281
291
  "header": "Check how it behaves",
@@ -470,6 +480,15 @@
470
480
  "emailPlaceholder": "Write email address",
471
481
  "commaSeparatedEmails": "Use comma (‘) to add multiple email addresses"
472
482
  }
483
+ },
484
+ "toggleFeatureCard": {
485
+ "switchTooltip": {
486
+ "enabled": "Feature is currently enabled",
487
+ "disabled": "Feature is currently disabled"
488
+ },
489
+ "input": {
490
+ "editButtonDefaultTooltip": "Edit"
491
+ }
473
492
  }
474
493
  }
475
494
  }
@@ -1,5 +1,11 @@
1
1
  import React from "react";
2
2
  import { CheckboxProps, DropdownProps, InputProps } from "@bigbinary/neetoui";
3
+ type Column = {
4
+ title: string;
5
+ dataIndex: string;
6
+ key: string;
7
+ [key: string]: any;
8
+ };
3
9
  /**
4
10
  *
5
11
  * It is a helper component that can be used along with the table component to hide
@@ -36,17 +42,12 @@ import { CheckboxProps, DropdownProps, InputProps } from "@bigbinary/neetoui";
36
42
  const Columns: React.FC<{
37
43
  actionBlock?: React.ReactNode;
38
44
  checkboxProps?: CheckboxProps;
39
- columnData: {
40
- title: string;
41
- dataIndex: string;
42
- key: string;
43
- [key: string]: any;
44
- }[];
45
+ columnData: Column[];
45
46
  fixedColumns?: string[];
46
47
  isSearchable?: boolean;
47
48
  localStorageKey: string;
48
49
  noColumnMessage?: string;
49
- onChange: (columns: any[]) => any[];
50
+ onChange: (columns: Column[], hiddenColumns: string[]) => any[];
50
51
  searchProps?: InputProps;
51
52
  } & DropdownProps>;
52
53
  export default Columns;
@@ -17,5 +17,6 @@ const CopyToClipboardButton: React.FC<{
17
17
  icon?: string | any;
18
18
  label?: string;
19
19
  value: string;
20
+ style?: 'primary' | 'secondary' | 'text';
20
21
  }>;
21
22
  export default CopyToClipboardButton;
package/types/Header.d.ts CHANGED
@@ -1,4 +1,5 @@
1
1
  import React from "react";
2
+ import { SIZES } from "components/Header/constants";
2
3
  import { DropdownProps } from "neetoui";
3
4
  /**
4
5
  *
@@ -24,6 +25,7 @@ const Header: React.FC<{
24
25
  text: string;
25
26
  link: string;
26
27
  }[];
28
+ size?: keyof typeof SIZES;
27
29
  renderDropdown?: (Dropdown: React.FC<DropdownProps>) => JSX.Element;
28
30
  menuBarToggle?: (...args: any[]) => any;
29
31
  }>;
@@ -7,13 +7,12 @@ import React from "react";
7
7
  *
8
8
  * import ImageWithFallback from "@bigbinary/neeto-molecules/ImageWithFallback";
9
9
  *
10
- * const App = () => (
11
- * <ImageWithFallback
12
- * className="w-40 h-40"
13
- * src="https://randomuser.me/api/portraits/women/90.jpg"
14
- * />
15
- * );
16
- *
10
+ * const App = () => (
11
+ * <ImageWithFallback
12
+ * className="h-40 w-40"
13
+ * src="https://randomuser.me/api/portraits/women/90.jpg"
14
+ * />
15
+ * );
17
16
  * @endexample
18
17
  */
19
18
  const ImageWithFallback: React.FC<{
@@ -24,7 +24,7 @@ interface ProfileInfo {
24
24
  interface HelpLinks {
25
25
  liveChatProps?: LinkType;
26
26
  helpCenterProps?: LinkType;
27
- changelogProps?: LinkType;
27
+ changelogProps?: ChangeLogPropsType;
28
28
  keyboardShortcutProps?: LinkType;
29
29
  }
30
30
  /**
@@ -15,7 +15,7 @@ type DataProps = {
15
15
  totalCount?: number;
16
16
  };
17
17
  type ColumnsButtonProps = {
18
- onChange: (columns: ColumnData[]) => void;
18
+ onChange: (columns: ColumnData[], hiddenColumns: string[]) => void;
19
19
  actionBlock?: React.ReactNode;
20
20
  checkboxProps?: Partial<CheckboxProps>;
21
21
  columnData?: ColumnData[];
@@ -0,0 +1,32 @@
1
+ import React from "react";
2
+ /**
3
+ *
4
+ * ToggleFeatureCard can be used to enable or disable a setting, and supports
5
+ *
6
+ * additional customizations like having an input field, and custom child
7
+ *
8
+ * components.
9
+ *
10
+ * ![image](https://github.com/bigbinary/neeto-molecules/assets/66865722/ed5c589f-7086-46b9-b8b2-2746afa7e750|height=200|width=300)
11
+ *
12
+ */
13
+ const ToggleFeatureCard: React.FC<{
14
+ title: string;
15
+ description?: string;
16
+ switchName: string;
17
+ titleDataCy?: string;
18
+ switchDataCy?: string;
19
+ descriptionDataCy?: string;
20
+ isDisabled?: boolean;
21
+ children?: React.ReactNode | null;
22
+ inputProps: {
23
+ name: string;
24
+ display?: React.ReactNode | null;
25
+ label?: string;
26
+ editButtonTooltip?: string;
27
+ editButtonDataCy?: string;
28
+ placeholder?: string;
29
+ dataCy?: string;
30
+ };
31
+ }>;
32
+ export default ToggleFeatureCard;