@bigbinary/neeto-molecules 1.12.2 → 1.13.0

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,84 @@
1
+ import { _ as _defineProperty } from './defineProperty-549061a7.js';
2
+ import { _ as _extends } from './extends-093996c9.js';
3
+ import { _ as _objectWithoutProperties } from './objectWithoutProperties-a0edb288.js';
4
+ import React__default, { forwardRef } from 'react';
5
+ import classnames from 'classnames';
6
+ import { Textarea } from '@bigbinary/neetoui';
7
+ import { n } from './inject-css-c86de496.js';
8
+ import { _ as _slicedToArray } from './slicedToArray-b4278ecd.js';
9
+ import { useField } from 'formik';
10
+
11
+ var css = ".neeto-molecules-adaptive-input textarea{resize:none}.neeto-molecules-adaptive-input .neeto-ui-input.neeto-ui-input--small{--neeto-ui-textarea-padding-x:8px;--neeto-ui-textarea-padding-y:4px}.neeto-molecules-adaptive-input .neeto-ui-input.neeto-ui-input--medium{--neeto-ui-textarea-padding-x:8px;--neeto-ui-textarea-padding-y:5px}.neeto-molecules-adaptive-input .neeto-ui-input.neeto-ui-input--large{--neeto-ui-textarea-padding-x:12px;--neeto-ui-textarea-padding-y:8px}.neeto-molecules-adaptive-input__suffix{bottom:0;position:absolute;right:0}";
12
+ n(css,{});
13
+
14
+ var _excluded$1 = ["label", "className", "size", "required", "disabled", "suffix"];
15
+
16
+ // eslint-disable-next-line @bigbinary/neeto/no-dangling-constants
17
+ var SIZES = {
18
+ small: "small",
19
+ medium: "medium",
20
+ large: "large"
21
+ };
22
+ var AdaptiveInput = /*#__PURE__*/forwardRef(function (_ref, ref) {
23
+ var _ref$label = _ref.label,
24
+ label = _ref$label === void 0 ? "" : _ref$label,
25
+ _ref$className = _ref.className,
26
+ className = _ref$className === void 0 ? "" : _ref$className,
27
+ _ref$size = _ref.size,
28
+ size = _ref$size === void 0 ? SIZES.medium : _ref$size,
29
+ _ref$required = _ref.required,
30
+ required = _ref$required === void 0 ? false : _ref$required,
31
+ _ref$disabled = _ref.disabled,
32
+ disabled = _ref$disabled === void 0 ? false : _ref$disabled,
33
+ _ref$suffix = _ref.suffix,
34
+ suffix = _ref$suffix === void 0 ? null : _ref$suffix,
35
+ otherProps = _objectWithoutProperties(_ref, _excluded$1);
36
+ var handleFocus = function handleFocus(element) {
37
+ var end = element.value.length;
38
+ element.setSelectionRange(end, end);
39
+ };
40
+ var handleKeyDown = function handleKeyDown(event) {
41
+ var _otherProps$onSubmit;
42
+ if (event.key !== "Enter") return;
43
+ event.preventDefault();
44
+ (_otherProps$onSubmit = otherProps.onSubmit) === null || _otherProps$onSubmit === void 0 ? void 0 : _otherProps$onSubmit.call(otherProps);
45
+ };
46
+ return /*#__PURE__*/React__default.createElement("div", {
47
+ className: "relative w-full"
48
+ }, /*#__PURE__*/React__default.createElement(Textarea, _extends(_defineProperty(_defineProperty(_defineProperty({
49
+ disabled: disabled,
50
+ label: label,
51
+ ref: ref,
52
+ required: required,
53
+ size: size,
54
+ "data-cy": "neeto-molecules-adaptive-input",
55
+ "data-testid": "neeto-molecules-adaptive-input",
56
+ rows: 1
57
+ }, "size", "small"), "className", classnames("neeto-molecules-adaptive-input", {
58
+ "neeto-ui-input--disabled": !!disabled
59
+ }, className)), "onKeyDown", handleKeyDown), otherProps, {
60
+ onFocus: function onFocus(_ref2) {
61
+ var target = _ref2.target;
62
+ return handleFocus(target);
63
+ }
64
+ })), suffix && /*#__PURE__*/React__default.createElement("div", {
65
+ className: "neeto-molecules-adaptive-input__suffix"
66
+ }, suffix));
67
+ });
68
+ AdaptiveInput.displayName = "AdaptiveInput";
69
+
70
+ var _excluded = ["name"];
71
+ var FormikAdaptiveInput = function FormikAdaptiveInput(_ref) {
72
+ var name = _ref.name,
73
+ props = _objectWithoutProperties(_ref, _excluded);
74
+ var _useField = useField(name),
75
+ _useField2 = _slicedToArray(_useField, 2),
76
+ field = _useField2[0],
77
+ meta = _useField2[1];
78
+ return /*#__PURE__*/React__default.createElement(AdaptiveInput, _extends({}, field, {
79
+ error: meta.touched ? meta.error : ""
80
+ }, props));
81
+ };
82
+
83
+ export { AdaptiveInput, FormikAdaptiveInput };
84
+ //# sourceMappingURL=AdaptiveInput.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AdaptiveInput.js","sources":["../src/components/AdaptiveInput/AdaptiveInput.jsx","../src/components/AdaptiveInput/FormikAdaptiveInput.jsx"],"sourcesContent":["import React, { forwardRef } from \"react\";\n\nimport classnames from \"classnames\";\nimport { Textarea } from \"neetoui\";\nimport PropTypes from \"prop-types\";\n\nimport \"./adaptiveInput.scss\";\n\n// eslint-disable-next-line @bigbinary/neeto/no-dangling-constants\nconst SIZES = { small: \"small\", medium: \"medium\", large: \"large\" };\n\nconst AdaptiveInput = forwardRef(\n (\n {\n label = \"\",\n className = \"\",\n size = SIZES.medium,\n required = false,\n disabled = false,\n suffix = null,\n ...otherProps\n },\n ref\n ) => {\n const handleFocus = element => {\n const end = element.value.length;\n element.setSelectionRange(end, end);\n };\n\n const handleKeyDown = event => {\n if (event.key !== \"Enter\") return;\n\n event.preventDefault();\n otherProps.onSubmit?.();\n };\n\n return (\n <div className=\"relative w-full\">\n <Textarea\n {...{ disabled, label, ref, required, size }}\n data-cy=\"neeto-molecules-adaptive-input\"\n data-testid=\"neeto-molecules-adaptive-input\"\n rows={1}\n size=\"small\"\n className={classnames(\n \"neeto-molecules-adaptive-input\",\n { \"neeto-ui-input--disabled\": !!disabled },\n className\n )}\n onKeyDown={handleKeyDown}\n {...otherProps}\n onFocus={({ target }) => handleFocus(target)}\n />\n {suffix && (\n <div className=\"neeto-molecules-adaptive-input__suffix\">{suffix}</div>\n )}\n </div>\n );\n }\n);\n\nAdaptiveInput.displayName = \"AdaptiveInput\";\n\nAdaptiveInput.propTypes = {\n /**\n * To provide additional classes to the component.\n */\n className: PropTypes.string,\n /**\n * To specify the text to be displayed above the input.\n */\n label: PropTypes.string,\n /**\n * To specify the size of the input field\n */\n size: PropTypes.oneOf(Object.values(SIZES)),\n /**\n * To specify whether the input field is required or not.\n */\n required: PropTypes.bool,\n /**\n * To specify whether the input field is disabled or not.\n */\n disabled: PropTypes.bool,\n /**\n * To specify the content to be added at the end of the input field.\n */\n suffix: PropTypes.node,\n};\n\nexport default AdaptiveInput;\n","import React from \"react\";\n\nimport { useField } from \"formik\";\n\nimport AdaptiveInput from \"./AdaptiveInput\";\n\nconst FormikAdaptiveInput = ({ name, ...props }) => {\n const [field, meta] = useField(name);\n\n return (\n <AdaptiveInput\n {...field}\n error={meta.touched ? meta.error : \"\"}\n {...props}\n />\n );\n};\n\nexport default FormikAdaptiveInput;\n"],"names":["SIZES","small","medium","large","AdaptiveInput","forwardRef","_ref","ref","_ref$label","label","_ref$className","className","_ref$size","size","_ref$required","required","_ref$disabled","disabled","_ref$suffix","suffix","otherProps","_objectWithoutProperties","_excluded","handleFocus","element","end","value","length","setSelectionRange","handleKeyDown","event","_otherProps$onSubmit","key","preventDefault","onSubmit","call","React","createElement","Textarea","_extends","_defineProperty","rows","classnames","onFocus","_ref2","target","displayName","FormikAdaptiveInput","name","props","_useField","useField","_useField2","_slicedToArray","field","meta","error","touched"],"mappings":"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"}
@@ -93,7 +93,6 @@ var WIDGET_KB_HELP_URL = {
93
93
  chat: "".concat(CHAT_WIDGET_KB_BASE_URL, "/categories/installation"),
94
94
  replay: "".concat(REPLAY_WIDGET_KB_BASE_URL, "/categories/widget-installation-usage")
95
95
  };
96
- var USE_NEETO_WIDGET_NPM_PAGE_URL = "https://www.npmjs.com/package/@bigbinary/react-use-neeto-widget";
97
96
 
98
97
  var ChatWidgetBody = function ChatWidgetBody(_ref) {
99
98
  var widgets = _ref.widgets;
@@ -505,15 +504,7 @@ var SelectionSwitches = function SelectionSwitches(_ref) {
505
504
  selectedWidgets: selectedWidgets,
506
505
  updateSelectedWidgets: updateSelectedWidgets,
507
506
  widget: primaryWidget
508
- }), /*#__PURE__*/React__default.createElement("div", {
509
- className: "flex items-center space-x-1"
510
- }, /*#__PURE__*/React__default.createElement(Label, null, "neeto", capitalize(primaryWidget)), /*#__PURE__*/React__default.createElement("a", {
511
- href: WIDGET_KB_HELP_URL[primaryApp],
512
- rel: "noreferrer",
513
- target: "_blank"
514
- }, /*#__PURE__*/React__default.createElement(Info, {
515
- size: 16
516
- })))), /*#__PURE__*/React__default.createElement("div", {
507
+ }), /*#__PURE__*/React__default.createElement(Label, null, "neeto", capitalize(primaryWidget))), /*#__PURE__*/React__default.createElement("div", {
517
508
  className: "flex flex-wrap items-center gap-6 sm:justify-end"
518
509
  }, WIDGET_TYPES_VALUES.map(function (widget, index) {
519
510
  return primaryApp !== widget && /*#__PURE__*/React__default.createElement("div", {
@@ -755,14 +746,9 @@ var EmbedCode = function EmbedCode(_ref) {
755
746
  style: "body2",
756
747
  weight: "semibold"
757
748
  }),
758
- fontNormal: /*#__PURE__*/React__default.createElement(Typography, {
759
- component: "span",
760
- style: "body2",
761
- weight: "normal"
762
- }),
763
- a: /*#__PURE__*/React__default.createElement("a", {
749
+ Link: /*#__PURE__*/React__default.createElement("a", {
764
750
  className: "neeto-ui-text-primary-800",
765
- href: USE_NEETO_WIDGET_NPM_PAGE_URL,
751
+ href: WIDGET_KB_HELP_URL[primaryApp],
766
752
  rel: "noreferrer",
767
753
  target: "_blank"
768
754
  })
@@ -777,45 +763,49 @@ var EmbedCode = function EmbedCode(_ref) {
777
763
  selectedFramework: selectedFramework,
778
764
  setSelectedFramework: setSelectedFramework
779
765
  },
766
+ title: t("neetoMolecules.widget.title.userIdentity"),
780
767
  codeString: getSampleUserIdentity(enabledWidgets, selectedFramework.value),
781
768
  sendViaEmail: function sendViaEmail() {
782
769
  return handleSendViaEmail(EMAIL_TYPES.userIdentity);
783
- },
784
- title: /*#__PURE__*/React__default.createElement("div", {
785
- className: "flex items-center justify-start"
786
- }, /*#__PURE__*/React__default.createElement("div", null, t("neetoMolecules.widget.title.userIdentity")), /*#__PURE__*/React__default.createElement("a", {
787
- className: "ml-1",
788
- rel: "noreferrer",
789
- target: "_blank",
790
- href: enabledWidgets.chat ? NEETO_CHAT_USER_IDENTITY_URL : NEETO_REPLAY_CONFIGURE_URL
791
- }, /*#__PURE__*/React__default.createElement(Info, {
792
- size: 16
793
- })))
794
- })), /*#__PURE__*/React__default.createElement("div", {
795
- className: "w-full"
796
- }, t("neetoMolecules.widget.installation.instructions.userIdentity"))) : null, shouldShowSessionContext ? /*#__PURE__*/React__default.createElement("div", {
770
+ }
771
+ })), /*#__PURE__*/React__default.createElement(Trans, {
772
+ i18nKey: "neetoMolecules.widget.installation.instructions.userIdentity",
773
+ components: {
774
+ p: /*#__PURE__*/React__default.createElement(Typography, {
775
+ style: "body2"
776
+ }),
777
+ Link: /*#__PURE__*/React__default.createElement("a", {
778
+ className: "neeto-ui-text-primary-800",
779
+ rel: "noreferrer",
780
+ target: "_blank",
781
+ href: enabledWidgets.chat ? NEETO_CHAT_USER_IDENTITY_URL : NEETO_REPLAY_CONFIGURE_URL
782
+ })
783
+ }
784
+ })) : null, shouldShowSessionContext ? /*#__PURE__*/React__default.createElement("div", {
797
785
  className: "w-full flex-grow flex-col items-center justify-start"
798
786
  }, /*#__PURE__*/React__default.createElement("div", {
799
787
  className: "mx-auto mb-2 w-full"
800
788
  }, /*#__PURE__*/React__default.createElement(CodeBlock, {
801
789
  className: "neeto-ui-bg-primary-100 neeto-ui-rounded-lg",
802
790
  codeString: SAMPLE_CONTEXT_CODE_STRING,
791
+ title: t("neetoMolecules.widget.title.sessionContext"),
803
792
  sendViaEmail: function sendViaEmail() {
804
793
  return handleSendViaEmail(EMAIL_TYPES.sessionContext);
805
- },
806
- title: /*#__PURE__*/React__default.createElement("div", {
807
- className: "flex items-center justify-start"
808
- }, /*#__PURE__*/React__default.createElement("div", null, t("neetoMolecules.widget.title.sessionContext")), /*#__PURE__*/React__default.createElement("a", {
809
- className: "ml-1",
810
- href: NEETO_REPLAY_CONFIGURE_URL,
811
- rel: "noreferrer",
812
- target: "_blank"
813
- }, /*#__PURE__*/React__default.createElement(Info, {
814
- size: 16
815
- })))
816
- })), /*#__PURE__*/React__default.createElement("div", {
817
- className: "w-full"
818
- }, t("neetoMolecules.widget.installation.instructions.sessionContext"))) : null), /*#__PURE__*/React__default.createElement(CodeSnippet, _extends({
794
+ }
795
+ })), /*#__PURE__*/React__default.createElement(Trans, {
796
+ i18nKey: "neetoMolecules.widget.installation.instructions.sessionContext",
797
+ components: {
798
+ p: /*#__PURE__*/React__default.createElement(Typography, {
799
+ style: "body2"
800
+ }),
801
+ Link: /*#__PURE__*/React__default.createElement("a", {
802
+ className: "neeto-ui-text-primary-800",
803
+ href: NEETO_REPLAY_CONFIGURE_URL,
804
+ rel: "noreferrer",
805
+ target: "_blank"
806
+ })
807
+ }
808
+ })) : null), /*#__PURE__*/React__default.createElement(CodeSnippet, _extends({
819
809
  isPaneOpen: !!emailType && isNotEmpty(selectedWidgets),
820
810
  onClose: function onClose() {
821
811
  return setEmailType(EMAIL_TYPES["null"]);