@bigbinary/neeto-molecules 5.1.9 → 5.1.11

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.
@@ -0,0 +1,198 @@
1
+ import _defineProperty from '@babel/runtime/helpers/defineProperty';
2
+ import _slicedToArray from '@babel/runtime/helpers/slicedToArray';
3
+ import { useEffect, useRef, useState } from 'react';
4
+ import { Tooltip, Label, Typography, Button } from '@bigbinary/neeto-atoms';
5
+ import { Switch, Input } from '@bigbinary/neeto-atoms/formik';
6
+ import classnames from 'classnames';
7
+ import { useFormikContext } from 'formik';
8
+ import { isPresent, slugify } from '@bigbinary/neeto-cist';
9
+ import useOnClickOutside from '@bigbinary/neeto-commons-frontend/v2/react-utils/useOnClickOutside';
10
+ import useHotkeys from '@bigbinary/neeto-hotkeys';
11
+ import { isEmpty } from 'ramda';
12
+ import { useTranslation } from 'react-i18next';
13
+ import _objectWithoutProperties from '@babel/runtime/helpers/objectWithoutProperties';
14
+ import { jsx, jsxs } from 'react/jsx-runtime';
15
+ import { X } from '../x-B1Er0oV4.js';
16
+ import '../createLucideIcon-mNMhCCpf.js';
17
+
18
+ var useScrollIntoView = function useScrollIntoView(_ref) {
19
+ var elementId = _ref.elementId,
20
+ trigger = _ref.trigger;
21
+ useEffect(function () {
22
+ var _document$getElementB;
23
+ if (!trigger) return;
24
+ (_document$getElementB = document.getElementById(elementId)) === null || _document$getElementB === void 0 || _document$getElementB.scrollIntoView();
25
+ }, [trigger]);
26
+ };
27
+
28
+ var _excluded = ["enabledCondition", "name", "isDisabled", "switchDataTestid", "tooltipProps"],
29
+ _excluded2 = ["enabledSwitchText", "disabledSwitchText"];
30
+ function ownKeys$1(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; }
31
+ function _objectSpread$1(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$1(Object(t), true).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$1(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
32
+ var TooltipSwitch = function TooltipSwitch(_ref) {
33
+ var enabledCondition = _ref.enabledCondition,
34
+ _ref$name = _ref.name,
35
+ name = _ref$name === void 0 ? "" : _ref$name,
36
+ _ref$isDisabled = _ref.isDisabled,
37
+ isDisabled = _ref$isDisabled === void 0 ? false : _ref$isDisabled,
38
+ switchDataTestid = _ref.switchDataTestid,
39
+ _ref$tooltipProps = _ref.tooltipProps,
40
+ tooltipProps = _ref$tooltipProps === void 0 ? {} : _ref$tooltipProps,
41
+ otherProps = _objectWithoutProperties(_ref, _excluded);
42
+ var enabledSwitchText = tooltipProps.enabledSwitchText,
43
+ disabledSwitchText = tooltipProps.disabledSwitchText,
44
+ neetoAtomsTooltipProps = _objectWithoutProperties(tooltipProps, _excluded2);
45
+ var tooltipContent = enabledCondition ? enabledSwitchText : disabledSwitchText;
46
+ return /*#__PURE__*/jsx(Tooltip, _objectSpread$1(_objectSpread$1({
47
+ content: tooltipContent,
48
+ disabled: !tooltipContent,
49
+ position: "top"
50
+ }, neetoAtomsTooltipProps), {}, {
51
+ children: /*#__PURE__*/jsx("span", {
52
+ children: /*#__PURE__*/jsx(Switch, _objectSpread$1({
53
+ disabled: isDisabled,
54
+ "data-testid": isPresent(switchDataTestid) ? switchDataTestid : "toggle-feature-card-switch"
55
+ }, _objectSpread$1({
56
+ name: name
57
+ }, otherProps)))
58
+ })
59
+ }));
60
+ };
61
+
62
+ 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; }
63
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), true).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; }
64
+ var ToggleFeatureCard = function ToggleFeatureCard(_ref) {
65
+ var _ref$isCardStyleEnabl = _ref.isCardStyleEnabled,
66
+ isCardStyleEnabled = _ref$isCardStyleEnabl === void 0 ? true : _ref$isCardStyleEnabl,
67
+ _ref$title = _ref.title,
68
+ title = _ref$title === void 0 ? "" : _ref$title,
69
+ _ref$description = _ref.description,
70
+ description = _ref$description === void 0 ? null : _ref$description,
71
+ _ref$switchName = _ref.switchName,
72
+ switchName = _ref$switchName === void 0 ? "switch" : _ref$switchName,
73
+ _ref$titleDataTestid = _ref.titleDataTestid,
74
+ titleDataTestid = _ref$titleDataTestid === void 0 ? "" : _ref$titleDataTestid,
75
+ _ref$switchDataTestid = _ref.switchDataTestid,
76
+ switchDataTestid = _ref$switchDataTestid === void 0 ? "" : _ref$switchDataTestid,
77
+ _ref$descriptionDataT = _ref.descriptionDataTestid,
78
+ descriptionDataTestid = _ref$descriptionDataT === void 0 ? "" : _ref$descriptionDataT,
79
+ _ref$isDisabled = _ref.isDisabled,
80
+ isDisabled = _ref$isDisabled === void 0 ? false : _ref$isDisabled,
81
+ _ref$children = _ref.children,
82
+ children = _ref$children === void 0 ? null : _ref$children,
83
+ inputProps = _ref.inputProps,
84
+ _ref$switchProps = _ref.switchProps,
85
+ switchProps = _ref$switchProps === void 0 ? {} : _ref$switchProps,
86
+ _ref$editButtonProps = _ref.editButtonProps,
87
+ editButtonProps = _ref$editButtonProps === void 0 ? {} : _ref$editButtonProps,
88
+ _ref$className = _ref.className,
89
+ className = _ref$className === void 0 ? "" : _ref$className;
90
+ var _useTranslation = useTranslation(),
91
+ t = _useTranslation.t;
92
+ var cardRef = useRef();
93
+ var id = slugify(title);
94
+ var _useState = useState(false),
95
+ _useState2 = _slicedToArray(_useState, 2),
96
+ isEditing = _useState2[0],
97
+ setIsEditing = _useState2[1];
98
+ var _useFormikContext = useFormikContext(),
99
+ setFieldValue = _useFormikContext.setFieldValue,
100
+ values = _useFormikContext.values,
101
+ submitCount = _useFormikContext.submitCount,
102
+ errors = _useFormikContext.errors,
103
+ initialValues = _useFormikContext.initialValues;
104
+ useEffect(function () {
105
+ if (!(submitCount >= 1 && isEmpty(errors))) return;
106
+ setIsEditing(false);
107
+ }, [submitCount]);
108
+ useEffect(function () {
109
+ if (isEmpty(errors)) return;
110
+ setIsEditing(true);
111
+ }, [values, errors]);
112
+ var _useState3 = useState(location.hash.split("#")[1] === id),
113
+ _useState4 = _slicedToArray(_useState3, 2),
114
+ shouldHighlight = _useState4[0],
115
+ setShouldHighlight = _useState4[1];
116
+ var hasInput = (values === null || values === void 0 ? void 0 : values[switchName]) && (inputProps === null || inputProps === void 0 ? void 0 : inputProps.name);
117
+ var enabledCondition = values === null || values === void 0 ? void 0 : values[switchName];
118
+ var handleInputReset = function handleInputReset() {
119
+ setIsEditing(false);
120
+ 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]);
121
+ };
122
+ useOnClickOutside(cardRef, function () {
123
+ return setShouldHighlight(false);
124
+ });
125
+ useScrollIntoView({
126
+ elementId: id,
127
+ trigger: shouldHighlight
128
+ });
129
+ var inputRef = useHotkeys("enter", function () {
130
+ return setIsEditing(false);
131
+ }, {
132
+ mode: "scoped"
133
+ });
134
+ return /*#__PURE__*/jsxs("div", {
135
+ id: id,
136
+ "data-testid": "feature-card-container",
137
+ ref: cardRef,
138
+ className: classnames("bg-card text-card-foreground flex flex-col gap-y-2 rounded-lg", {
139
+ "border p-4": isCardStyleEnabled
140
+ }, {
141
+ "border-border": !shouldHighlight
142
+ }, {
143
+ "border-primary ring-primary ring-1": shouldHighlight
144
+ }, className),
145
+ children: [/*#__PURE__*/jsxs(Label, {
146
+ className: "flex flex-row items-center gap-2",
147
+ children: [/*#__PURE__*/jsx(TooltipSwitch, _objectSpread(_objectSpread({}, _objectSpread({
148
+ enabledCondition: enabledCondition,
149
+ isDisabled: isDisabled,
150
+ switchDataTestid: switchDataTestid
151
+ }, switchProps)), {}, {
152
+ name: switchName
153
+ })), /*#__PURE__*/jsx(Typography, {
154
+ as: "span",
155
+ className: "leading-snug",
156
+ variant: "h6",
157
+ "data-testid": isPresent(titleDataTestid) ? titleDataTestid : "toggle-feature-card-title",
158
+ children: title
159
+ })]
160
+ }), /*#__PURE__*/jsx(Typography, {
161
+ className: "mb-4 whitespace-pre-line",
162
+ variant: "body2",
163
+ "data-testid": isPresent(descriptionDataTestid) ? descriptionDataTestid : "toggle-feature-card-description",
164
+ children: description
165
+ }), hasInput && !isEditing && /*#__PURE__*/jsxs("div", {
166
+ className: "m-0 flex flex-row items-center gap-x-2",
167
+ children: [inputProps === null || inputProps === void 0 ? void 0 : inputProps.display, /*#__PURE__*/jsx(Button, _objectSpread({
168
+ label: t("neetoMolecules.common.actions.edit"),
169
+ size: "sm",
170
+ type: "button",
171
+ variant: "link",
172
+ "data-testid": isPresent(inputProps === null || inputProps === void 0 ? void 0 : inputProps.editButtonDataTestid) ? inputProps === null || inputProps === void 0 ? void 0 : inputProps.editButtonDataTestid : "toggle-feature-card-input-display-edit",
173
+ onClick: function onClick() {
174
+ return setIsEditing(true);
175
+ }
176
+ }, editButtonProps))]
177
+ }), hasInput && isEditing && /*#__PURE__*/jsx(Input, _objectSpread({
178
+ autoFocus: true,
179
+ label: inputProps === null || inputProps === void 0 ? void 0 : inputProps.label,
180
+ name: inputProps === null || inputProps === void 0 ? void 0 : inputProps.name,
181
+ placeholder: inputProps === null || inputProps === void 0 ? void 0 : inputProps.placeholder,
182
+ ref: inputRef,
183
+ size: "medium",
184
+ "data-testid": isPresent(inputProps === null || inputProps === void 0 ? void 0 : inputProps.dataTestid) ? inputProps === null || inputProps === void 0 ? void 0 : inputProps.dataTestid : "toggle-feature-card-input-field",
185
+ suffix: /*#__PURE__*/jsx(Button, {
186
+ "data-testid": "toggle-feature-card-input-reset",
187
+ icon: X,
188
+ size: "sm",
189
+ type: "button",
190
+ variant: "ghost",
191
+ onClick: handleInputReset
192
+ })
193
+ }, inputProps)), children]
194
+ });
195
+ };
196
+
197
+ export { ToggleFeatureCard as default };
198
+ //# sourceMappingURL=ToggleFeatureCard.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ToggleFeatureCard.js","sources":["../../src/v2/components/ToggleFeatureCard/hooks/useScrollIntoView.js","../../src/v2/components/ToggleFeatureCard/ToolTipSwitch.jsx","../../src/v2/components/ToggleFeatureCard/index.jsx"],"sourcesContent":["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","import { Tooltip } from \"@bigbinary/neeto-atoms\";\nimport { Switch as FormikSwitch } from \"@bigbinary/neeto-atoms/formik\";\nimport { isPresent } from \"neetocist\";\n\nconst TooltipSwitch = ({\n enabledCondition,\n name = \"\",\n isDisabled = false,\n switchDataTestid,\n tooltipProps = {},\n ...otherProps\n}) => {\n const { enabledSwitchText, disabledSwitchText, ...neetoAtomsTooltipProps } =\n tooltipProps;\n\n const tooltipContent = enabledCondition\n ? enabledSwitchText\n : disabledSwitchText;\n\n return (\n <Tooltip\n content={tooltipContent}\n disabled={!tooltipContent}\n position=\"top\"\n {...neetoAtomsTooltipProps}\n >\n <span>\n <FormikSwitch\n disabled={isDisabled}\n data-testid={\n isPresent(switchDataTestid)\n ? switchDataTestid\n : \"toggle-feature-card-switch\"\n }\n {...{ name, ...otherProps }}\n />\n </span>\n </Tooltip>\n );\n};\n\nexport default TooltipSwitch;\n","import { useRef, useState, useEffect } from \"react\";\n\nimport { Button, Label, Typography } from \"@bigbinary/neeto-atoms\";\nimport { Input } from \"@bigbinary/neeto-atoms/formik\";\nimport classnames from \"classnames\";\nimport { useFormikContext } from \"formik\";\nimport { X } from \"lucide-react\";\nimport { isPresent, slugify } from \"neetocist\";\nimport useOnClickOutside from \"neetocommons/v2/react-utils/useOnClickOutside\";\nimport useHotkeys from \"neetohotkeys\";\nimport PropTypes from \"prop-types\";\nimport { isEmpty } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { SIZES } from \"./constants\";\nimport useScrollIntoView from \"./hooks/useScrollIntoView\";\nimport TooltipSwitch from \"./ToolTipSwitch\";\n\nconst ToggleFeatureCard = ({\n isCardStyleEnabled = true,\n title = \"\",\n description = null,\n switchName = \"switch\",\n titleDataTestid = \"\",\n switchDataTestid = \"\",\n descriptionDataTestid = \"\",\n isDisabled = false,\n children = null,\n inputProps,\n switchProps = {},\n editButtonProps = {},\n className = \"\",\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))) return;\n setIsEditing(false);\n }, [submitCount]);\n\n useEffect(() => {\n if (isEmpty(errors)) return;\n setIsEditing(true);\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 {...{ id }}\n data-testid=\"feature-card-container\"\n ref={cardRef}\n className={classnames(\n \"bg-card text-card-foreground flex flex-col gap-y-2 rounded-lg\",\n { \"border p-4\": isCardStyleEnabled },\n { \"border-border\": !shouldHighlight },\n { \"border-primary ring-primary ring-1\": shouldHighlight },\n className\n )}\n >\n <Label className=\"flex flex-row items-center gap-2\">\n <TooltipSwitch\n {...{\n enabledCondition,\n isDisabled,\n switchDataTestid,\n ...switchProps,\n }}\n name={switchName}\n />\n <Typography\n as=\"span\"\n className=\"leading-snug\"\n variant=\"h6\"\n data-testid={\n isPresent(titleDataTestid)\n ? titleDataTestid\n : \"toggle-feature-card-title\"\n }\n >\n {title}\n </Typography>\n </Label>\n <Typography\n className=\"mb-4 whitespace-pre-line\"\n variant=\"body2\"\n data-testid={\n isPresent(descriptionDataTestid)\n ? descriptionDataTestid\n : \"toggle-feature-card-description\"\n }\n >\n {description}\n </Typography>\n {hasInput && !isEditing && (\n <div className=\"m-0 flex flex-row items-center gap-x-2\">\n {inputProps?.display}\n <Button\n label={t(\"neetoMolecules.common.actions.edit\")}\n size=\"sm\"\n type=\"button\"\n variant=\"link\"\n data-testid={\n isPresent(inputProps?.editButtonDataTestid)\n ? inputProps?.editButtonDataTestid\n : \"toggle-feature-card-input-display-edit\"\n }\n onClick={() => setIsEditing(true)}\n {...editButtonProps}\n />\n </div>\n )}\n {hasInput && isEditing && (\n <Input\n autoFocus\n label={inputProps?.label}\n name={inputProps?.name}\n placeholder={inputProps?.placeholder}\n ref={inputRef}\n size=\"medium\"\n data-testid={\n isPresent(inputProps?.dataTestid)\n ? inputProps?.dataTestid\n : \"toggle-feature-card-input-field\"\n }\n suffix={\n <Button\n data-testid=\"toggle-feature-card-input-reset\"\n icon={X}\n size=\"sm\"\n type=\"button\"\n variant=\"ghost\"\n onClick={handleInputReset}\n />\n }\n {...inputProps}\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 * Can be used to enable the card appearance.\n */\n isCardStyleEnabled: 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 editButtonDataTestid: PropTypes.string,\n placeholder: PropTypes.string,\n dataTestid: PropTypes.string,\n onChange: PropTypes.func,\n suffix: PropTypes.node,\n prefix: PropTypes.node,\n className: PropTypes.string,\n nakedInput: PropTypes.bool,\n size: PropTypes.oneOf(Object.values(SIZES)),\n type: PropTypes.string,\n maxLength: PropTypes.number,\n contentSize: PropTypes.number,\n unlimitedChars: PropTypes.bool,\n }),\n /**\n * Can be used to add props to the switch component.\n */\n switchProps: PropTypes.shape({\n onChange: PropTypes.func,\n className: PropTypes.string,\n checked: PropTypes.bool,\n tooltipProps: PropTypes.shape({\n enabledSwitchText: PropTypes.string,\n disabledSwitchText: PropTypes.string,\n }),\n }),\n /**\n * Can be used to add props to the edit button component.\n */\n editButtonProps: PropTypes.shape({\n onClick: PropTypes.func,\n className: PropTypes.string,\n style: PropTypes.string,\n size: PropTypes.string,\n type: PropTypes.string,\n tooltipProps: PropTypes.object,\n }),\n /**\n * To specify external classnames as overrides to the ToggleFeatureCard wrapper.\n */\n className: PropTypes.string,\n};\n\nexport default ToggleFeatureCard;\n"],"names":["useScrollIntoView","_ref","elementId","trigger","useEffect","_document$getElementB","document","getElementById","scrollIntoView","TooltipSwitch","enabledCondition","_ref$name","name","_ref$isDisabled","isDisabled","switchDataTestid","_ref$tooltipProps","tooltipProps","otherProps","_objectWithoutProperties","_excluded","enabledSwitchText","disabledSwitchText","neetoAtomsTooltipProps","_excluded2","tooltipContent","_jsx","Tooltip","_objectSpread","content","disabled","position","children","FormikSwitch","isPresent","ToggleFeatureCard","_ref$isCardStyleEnabl","isCardStyleEnabled","_ref$title","title","_ref$description","description","_ref$switchName","switchName","_ref$titleDataTestid","titleDataTestid","_ref$switchDataTestid","_ref$descriptionDataT","descriptionDataTestid","_ref$children","inputProps","_ref$switchProps","switchProps","_ref$editButtonProps","editButtonProps","_ref$className","className","_useTranslation","useTranslation","t","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","_jsxs","ref","classnames","Label","Typography","as","variant","display","Button","label","size","type","editButtonDataTestid","onClick","Input","autoFocus","placeholder","dataTestid","suffix","icon","X"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@bigbinary/neeto-molecules",
3
- "version": "5.1.9",
3
+ "version": "5.1.11",
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>",
@@ -58,7 +58,7 @@
58
58
  "@babel/runtime": "7.26.10",
59
59
  "@bigbinary/babel-preset-neeto": "^1.0.14",
60
60
  "@bigbinary/eslint-plugin-neeto": "1.9.0",
61
- "@bigbinary/neeto-atoms": "1.0.58",
61
+ "@bigbinary/neeto-atoms": "1.0.71",
62
62
  "@bigbinary/neeto-audit-frontend": "2.4.5",
63
63
  "@bigbinary/neeto-cist": "1.0.17",
64
64
  "@bigbinary/neeto-commons-frontend": "4.13.127",
@@ -235,7 +235,7 @@
235
235
  "peerDependencies": {
236
236
  "@babel/plugin-syntax-dynamic-import": "^7.8.3",
237
237
  "@babel/runtime": "7.26.0",
238
- "@bigbinary/neeto-atoms": "1.0.58",
238
+ "@bigbinary/neeto-atoms": "1.0.71",
239
239
  "@bigbinary/neeto-cist": "1.0.17",
240
240
  "@bigbinary/neeto-commons-frontend": "4.13.127",
241
241
  "@bigbinary/neeto-editor": "1.47.115",
@@ -0,0 +1,15 @@
1
+ import React from "react";
2
+
3
+ const ConfirmationModal: React.FC<{
4
+ buttonLabel?: string;
5
+ confirmationText?: string;
6
+ description?: React.ReactNode;
7
+ isSubmitting?: boolean;
8
+ isOpen?: boolean;
9
+ title?: string;
10
+ onClose?: () => void;
11
+ onSubmit?: (values: { confirmationText: string }) => void;
12
+ deleteConfirmationMessage?: React.ReactNode;
13
+ }>;
14
+
15
+ export default ConfirmationModal;
@@ -0,0 +1,15 @@
1
+ import React from "react";
2
+
3
+ type TimePeriodOption = {
4
+ label?: string;
5
+ value?: { startDate?: unknown; endDate?: unknown; rangeType?: string } | string;
6
+ };
7
+
8
+ const DateRangeFilter: React.FC<{
9
+ timePeriodOptions?: TimePeriodOption[];
10
+ timePeriod?: TimePeriodOption;
11
+ setTimePeriod?: (timePeriod: TimePeriodOption) => void;
12
+ datePickerProps?: Record<string, unknown>;
13
+ }>;
14
+
15
+ export default DateRangeFilter;
@@ -0,0 +1,45 @@
1
+ import React from "react";
2
+
3
+ const ToggleFeatureCard: React.FC<{
4
+ title?: string;
5
+ description?: string;
6
+ switchName?: string;
7
+ isDisabled?: boolean;
8
+ isCardStyleEnabled?: boolean;
9
+ children?: React.ReactNode;
10
+ titleDataTestid?: string;
11
+ switchDataTestid?: string;
12
+ descriptionDataTestid?: string;
13
+ inputProps?: {
14
+ name?: string;
15
+ display?: React.ReactNode;
16
+ label?: string;
17
+ editButtonTooltip?: string;
18
+ editButtonDataTestid?: string;
19
+ placeholder?: string;
20
+ dataTestid?: string;
21
+ onChange?: (...args: unknown[]) => void;
22
+ suffix?: React.ReactNode;
23
+ prefix?: React.ReactNode;
24
+ className?: string;
25
+ nakedInput?: boolean;
26
+ size?: "small" | "medium" | "large";
27
+ type?: string;
28
+ maxLength?: number;
29
+ contentSize?: number;
30
+ unlimitedChars?: boolean;
31
+ };
32
+ switchProps?: {
33
+ onChange?: (...args: unknown[]) => void;
34
+ className?: string;
35
+ checked?: boolean;
36
+ tooltipProps?: {
37
+ enabledSwitchText?: string;
38
+ disabledSwitchText?: string;
39
+ };
40
+ };
41
+ editButtonProps?: Record<string, unknown>;
42
+ className?: string;
43
+ }>;
44
+
45
+ export default ToggleFeatureCard;