@bigbinary/neeto-molecules 5.2.17 → 5.2.19

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.
@@ -28,9 +28,9 @@ var Block = function Block(_ref) {
28
28
  children: [title && /*#__PURE__*/jsxRuntime.jsx("div", {
29
29
  className: "flex w-60 items-center gap-2 break-all",
30
30
  children: /*#__PURE__*/jsxRuntime.jsx(neetoAtoms.Typography, {
31
- className: "text-foreground uppercase",
31
+ className: "uppercase",
32
32
  "data-testid": "metadata-block-title",
33
- variant: "h5",
33
+ variant: "h6",
34
34
  weight: "bold",
35
35
  children: title
36
36
  })
@@ -84,7 +84,7 @@ var DetailsBlock = function DetailsBlock(_ref) {
84
84
  if (typeof value === "string") {
85
85
  return /*#__PURE__*/jsxRuntime.jsx(neetoAtoms.Typography, {
86
86
  className: "[overflow-wrap:anywhere]",
87
- variant: "body2",
87
+ variant: "body3",
88
88
  children: value
89
89
  });
90
90
  }
@@ -114,8 +114,8 @@ var DetailsBlock = function DetailsBlock(_ref) {
114
114
  "flex-col": style === STYLES.multiline
115
115
  }),
116
116
  children: [/*#__PURE__*/jsxRuntime.jsx(neetoAtoms.Typography, {
117
- className: "text-muted-foreground",
118
- variant: "body2",
117
+ color: "muted",
118
+ variant: "body3",
119
119
  children: label
120
120
  }), renderDetailsValue(value)]
121
121
  })
@@ -134,8 +134,8 @@ var DetailsBlock = function DetailsBlock(_ref) {
134
134
  "flex-col": style === STYLES.multiline
135
135
  }),
136
136
  children: [/*#__PURE__*/jsxRuntime.jsx(neetoAtoms.Typography, {
137
- className: "text-muted-foreground",
138
- variant: "body2",
137
+ color: "muted",
138
+ variant: "body3",
139
139
  children: label
140
140
  }), renderDetailsValue(value)]
141
141
  })
@@ -158,7 +158,7 @@ var DetailsBlock = function DetailsBlock(_ref) {
158
158
  };
159
159
 
160
160
  var Metadata = function Metadata(_ref) {
161
- var _SIZE_WIDTH_CLASSES$s;
161
+ var _SIZE_WIDTH_CLASSES$s, _SIZE_WIDTH_CLASSES$s2;
162
162
  var headerBlock = _ref.headerBlock,
163
163
  _ref$size = _ref.size,
164
164
  size = _ref$size === void 0 ? SIZES.medium : _ref$size,
@@ -177,17 +177,21 @@ var Metadata = function Metadata(_ref) {
177
177
  }, [isLargerScreen]);
178
178
  return /*#__PURE__*/jsxRuntime.jsxs(jsxRuntime.Fragment, {
179
179
  children: [!isElementsPanelCollapsed && /*#__PURE__*/jsxRuntime.jsx("div", {
180
- className: "absolute end-0 top-0 z-[51] hidden h-full w-full bg-black/40 min-[576px]:max-[1024px]:block",
180
+ className: "absolute end-0 top-0 z-50 hidden h-full w-full bg-black/40 min-[576px]:max-[1024px]:block",
181
181
  onClick: function onClick() {
182
182
  setIsElementsPanelCollapsed(!isElementsPanelCollapsed);
183
183
  }
184
184
  }), /*#__PURE__*/jsxRuntime.jsxs("div", {
185
- className: classnames("relative z-[51] h-full transition-all duration-150 motion-reduce:transition-none max-[1024px]:fixed max-[1024px]:end-0 max-[1024px]:top-0 max-[1024px]:transition-none", isElementsPanelCollapsed ? "w-0 max-w-0 min-w-0" : "w-[384px] min-w-[384px] max-[576px]:h-full max-[576px]:w-full max-[576px]:max-w-full max-[576px]:min-w-0 min-[1024px]:max-[1200px]:w-[300px] min-[1024px]:max-[1200px]:min-w-[300px]"),
185
+ className: classnames(
186
+ // z-50, not above it: Radix portals (dropdowns, popovers) also render
187
+ // at z-50 and are appended later in the DOM, so they must win — at
188
+ // z-[51] the pane swallowed every dropdown anchored inside it.
189
+ "relative z-50 h-full transition-all duration-150 motion-reduce:transition-none max-[1024px]:fixed max-[1024px]:end-0 max-[1024px]:top-0 max-[1024px]:transition-none", isElementsPanelCollapsed ? "w-0 max-w-0 min-w-0" : classnames((_SIZE_WIDTH_CLASSES$s = SIZE_WIDTH_CLASSES[size]) !== null && _SIZE_WIDTH_CLASSES$s !== void 0 ? _SIZE_WIDTH_CLASSES$s : SIZE_WIDTH_CLASSES[SIZES.medium], "max-[576px]:h-full max-[576px]:w-full max-[576px]:max-w-full max-[576px]:min-w-0")),
186
190
  children: [/*#__PURE__*/jsxRuntime.jsx("div", {
187
191
  className: "flex h-full w-full justify-end overflow-hidden",
188
192
  children: /*#__PURE__*/jsxRuntime.jsxs("div", {
189
193
  "data-testid": "neeto-molecules-metadata-wrapper",
190
- className: classnames("bg-background border-border h-dvh flex-shrink-0 overflow-x-hidden overflow-y-auto border-s p-6 max-[576px]:w-full max-[576px]:min-w-0 max-[576px]:pt-12", (_SIZE_WIDTH_CLASSES$s = SIZE_WIDTH_CLASSES[size]) !== null && _SIZE_WIDTH_CLASSES$s !== void 0 ? _SIZE_WIDTH_CLASSES$s : SIZE_WIDTH_CLASSES[SIZES.medium], className),
194
+ className: classnames("bg-background border-border h-dvh flex-shrink-0 overflow-x-hidden overflow-y-auto border-s p-6 max-[576px]:w-full max-[576px]:min-w-0 max-[576px]:pt-12", (_SIZE_WIDTH_CLASSES$s2 = SIZE_WIDTH_CLASSES[size]) !== null && _SIZE_WIDTH_CLASSES$s2 !== void 0 ? _SIZE_WIDTH_CLASSES$s2 : SIZE_WIDTH_CLASSES[SIZES.medium], className),
191
195
  children: [headerBlock && /*#__PURE__*/jsxRuntime.jsx("div", {
192
196
  className: "mb-5 flex w-full justify-center",
193
197
  "data-testid": "neeto-molecules-metadata-header",
@@ -1 +1 @@
1
- {"version":3,"file":"Metadata.js","sources":["../../../src/v2/components/Metadata/Block.jsx","../../../src/v2/components/Metadata/constants.js","../../../src/v2/components/Metadata/DetailsBlock.jsx","../../../src/v2/components/Metadata/index.jsx"],"sourcesContent":["import { Typography } from \"@bigbinary/neeto-atoms\";\nimport classnames from \"classnames\";\nimport PropTypes from \"prop-types\";\n\nconst Block = ({ title, actionBlock, children, className = \"\" }) => (\n <div\n className=\"border-border mb-4 w-full border-b pb-4\"\n data-testid=\"neeto-molecules-metadata-block\"\n >\n {(title || actionBlock) && (\n <div className=\"mb-2 flex w-full items-center justify-between gap-2\">\n {title && (\n <div className=\"flex w-60 items-center gap-2 break-all\">\n <Typography\n className=\"text-foreground uppercase\"\n data-testid=\"metadata-block-title\"\n variant=\"h5\"\n weight=\"bold\"\n >\n {title}\n </Typography>\n </div>\n )}\n {actionBlock && <div className=\"ms-auto\">{actionBlock}</div>}\n </div>\n )}\n {!!children && (\n <div\n className={classnames(\"bg-background\", className)}\n data-testid=\"metadata-card\"\n >\n {children}\n </div>\n )}\n </div>\n);\n\nBlock.propTypes = {\n /**\n * To specify the content to be rendered on the right side of the title.\n */\n actionBlock: PropTypes.node,\n /**\n * To specify the title of the block.\n */\n title: PropTypes.string,\n /**\n * The content to be rendered inside the block.\n */\n children: PropTypes.oneOfType([\n PropTypes.arrayOf(PropTypes.node),\n PropTypes.node,\n ]),\n /**\n * To specify external classNames as overrides to the `Block` component.\n */\n className: PropTypes.string,\n};\n\nexport default Block;\n","export const STYLES = { inline: \"inline\", multiline: \"multiline\" };\n\nexport const SIZES = { small: \"small\", medium: \"medium\" };\n\nexport const DEFAULT_TRUNCATE_AT = 3;\n\nexport const SIZE_WIDTH_CLASSES = {\n [SIZES.medium]:\n \"w-[384px] min-w-[384px] min-[1024px]:max-[1200px]:w-[300px] min-[1024px]:max-[1200px]:min-w-[300px]\",\n [SIZES.small]:\n \"w-[340px] min-w-[340px] min-[1024px]:max-[1200px]:w-[300px] min-[1024px]:max-[1200px]:min-w-[300px]\",\n};\n","import { Fragment, useState } from \"react\";\n\nimport { Button, Typography } from \"@bigbinary/neeto-atoms\";\nimport classnames from \"classnames\";\nimport { ChevronDown, ChevronUp } from \"lucide-react\";\nimport { isNotEmpty } from \"neetocist\";\nimport PropTypes from \"prop-types\";\nimport { useTranslation } from \"react-i18next\";\n\nimport Block from \"./Block\";\nimport { DEFAULT_TRUNCATE_AT, STYLES } from \"./constants\";\n\nconst DetailsBlock = ({\n title,\n actionBlock,\n details = [],\n className,\n style = STYLES.inline,\n truncate = false,\n truncateAt = DEFAULT_TRUNCATE_AT,\n children,\n}) => {\n const [showTruncated, setShowTruncated] = useState(false);\n\n const { t } = useTranslation();\n\n const [visibleDetails, truncatedDetails] = truncate\n ? [details.slice(0, truncateAt), details.slice(truncateAt)]\n : [details];\n\n const renderDetailsValue = value => {\n if (typeof value === \"string\") {\n return (\n <Typography className=\"[overflow-wrap:anywhere]\" variant=\"body2\">\n {value}\n </Typography>\n );\n }\n\n return <span className=\"min-w-0 flex-grow\">{value}</span>;\n };\n\n return (\n <Block\n {...{ actionBlock, className }}\n title={title ?? t(\"neetoMolecules.metadata.detailsTitle\")}\n >\n <div\n className=\"flex flex-col gap-y-3\"\n data-testid=\"neeto-molecules-metadata-details-block\"\n >\n {visibleDetails.map(({ label, value, type }, index) => (\n <Fragment key={index}>\n {type === \"divider\" ? (\n <hr className=\"border-border\" />\n ) : (\n <div\n data-testid=\"details-card-detail-wrapper\"\n className={classnames(\"flex\", {\n \"items-center gap-x-4\": style === STYLES.inline,\n \"flex-col\": style === STYLES.multiline,\n })}\n >\n <Typography className=\"text-muted-foreground\" variant=\"body2\">\n {label}\n </Typography>\n {renderDetailsValue(value)}\n </div>\n )}\n </Fragment>\n ))}\n {!truncate && children}\n {showTruncated && (\n <>\n {truncatedDetails.map(({ label, value, type }, index) => (\n <Fragment key={index}>\n {type === \"divider\" ? (\n <hr className=\"border-border\" />\n ) : (\n <div\n className={classnames(\"flex\", {\n \"gap-x-4\": style === STYLES.inline,\n \"flex-col\": style === STYLES.multiline,\n })}\n >\n <Typography\n className=\"text-muted-foreground\"\n variant=\"body2\"\n >\n {label}\n </Typography>\n {renderDetailsValue(value)}\n </div>\n )}\n </Fragment>\n ))}\n {children}\n </>\n )}\n {truncate && isNotEmpty(truncatedDetails) && (\n <Button\n data-testid=\"expand-button\"\n icon={showTruncated ? ChevronUp : ChevronDown}\n iconPosition=\"left\"\n variant=\"link\"\n label={\n showTruncated\n ? t(\"neetoMolecules.metadata.card.viewLess\")\n : t(\"neetoMolecules.metadata.card.viewMore\")\n }\n onClick={() => setShowTruncated(showTruncated => !showTruncated)}\n />\n )}\n </div>\n </Block>\n );\n};\n\nDetailsBlock.propTypes = {\n /**\n * To specify the content to be rendered on the right side of the title.\n */\n actionBlock: PropTypes.node,\n /**\n * To specify the title of the block.\n */\n title: PropTypes.string,\n /**\n * The details to be rendered inside the block.\n */\n details: PropTypes.arrayOf(\n PropTypes.shape({\n label: PropTypes.string,\n value: PropTypes.node,\n type: PropTypes.string,\n })\n ),\n /**\n * To specify whether the label and value should be rendered in a single line or in two lines.\n */\n style: PropTypes.oneOf([\"inline\", \"multiline\"]),\n /**\n * To specify whether the visible details should be truncated at a specific point.\n */\n truncate: PropTypes.bool,\n /**\n * To specify the position at which the details should be truncated and `View more` button should be shown.\n */\n truncateAt: PropTypes.number,\n /**\n * To specify external classNames as overrides to the `DetailsBlock` component.\n */\n className: PropTypes.string,\n /**\n * The additional content to be rendered inside the block.\n */\n children: PropTypes.oneOfType([\n PropTypes.arrayOf(PropTypes.node),\n PropTypes.node,\n ]),\n};\n\nexport default DetailsBlock;\n","import { useEffect, useState } from \"react\";\n\nimport { Button } from \"@bigbinary/neeto-atoms\";\nimport classnames from \"classnames\";\nimport { PanelLeftClose } from \"lucide-react\";\nimport useBreakpoints from \"neetocommons/v2/react-utils/useBreakpoints\";\nimport PropTypes from \"prop-types\";\n\nimport Block from \"./Block\";\nimport { SIZES, SIZE_WIDTH_CLASSES } from \"./constants\";\nimport DetailsBlock from \"./DetailsBlock\";\n\nconst Metadata = ({\n headerBlock,\n size = SIZES.medium,\n children,\n className = \"\",\n}) => {\n const { isSize } = useBreakpoints();\n const isLargerScreen = isSize(\"desktop\") || isSize(\"largeDesktop\");\n const [isElementsPanelCollapsed, setIsElementsPanelCollapsed] =\n useState(!isLargerScreen);\n\n useEffect(() => {\n setIsElementsPanelCollapsed(!isLargerScreen);\n }, [isLargerScreen]);\n\n return (\n <>\n {!isElementsPanelCollapsed && (\n <div\n className=\"absolute end-0 top-0 z-[51] hidden h-full w-full bg-black/40 min-[576px]:max-[1024px]:block\"\n onClick={() => {\n setIsElementsPanelCollapsed(!isElementsPanelCollapsed);\n }}\n />\n )}\n <div\n className={classnames(\n \"relative z-[51] h-full transition-all duration-150 motion-reduce:transition-none max-[1024px]:fixed max-[1024px]:end-0 max-[1024px]:top-0 max-[1024px]:transition-none\",\n isElementsPanelCollapsed\n ? \"w-0 max-w-0 min-w-0\"\n : \"w-[384px] min-w-[384px] max-[576px]:h-full max-[576px]:w-full max-[576px]:max-w-full max-[576px]:min-w-0 min-[1024px]:max-[1200px]:w-[300px] min-[1024px]:max-[1200px]:min-w-[300px]\"\n )}\n >\n <div className=\"flex h-full w-full justify-end overflow-hidden\">\n <div\n data-testid=\"neeto-molecules-metadata-wrapper\"\n className={classnames(\n \"bg-background border-border h-dvh flex-shrink-0 overflow-x-hidden overflow-y-auto border-s p-6 max-[576px]:w-full max-[576px]:min-w-0 max-[576px]:pt-12\",\n SIZE_WIDTH_CLASSES[size] ?? SIZE_WIDTH_CLASSES[SIZES.medium],\n className\n )}\n >\n {headerBlock && (\n <div\n className=\"mb-5 flex w-full justify-center\"\n data-testid=\"neeto-molecules-metadata-header\"\n >\n {headerBlock}\n </div>\n )}\n {children}\n </div>\n </div>\n {!isLargerScreen && (\n <Button\n icon={PanelLeftClose}\n size=\"icon\"\n variant=\"secondary\"\n className={classnames(\n \"absolute end-[calc(100%_+_8px)] top-2 shrink-0 max-[576px]:end-2\",\n {\n \"-scale-x-100 max-[576px]:start-2 max-[576px]:end-auto\":\n isElementsPanelCollapsed,\n }\n )}\n onClick={() => {\n setIsElementsPanelCollapsed(!isElementsPanelCollapsed);\n }}\n />\n )}\n </div>\n </>\n );\n};\n\nMetadata.Block = Block;\nMetadata.DetailsBlock = DetailsBlock;\n\nMetadata.propTypes = {\n /**\n * To specify the content to be rendered as the title of the `Metadata` wrapper.\n */\n headerBlock: PropTypes.node,\n /**\n * The content to be rendered inside the `Metadata` wrapper.\n */\n children: PropTypes.oneOfType([\n PropTypes.arrayOf(PropTypes.node),\n PropTypes.node,\n ]),\n /**\n * To specify external classNames as overrides to the `Metadata` component.\n */\n className: PropTypes.string,\n /**\n * To set the size of the `Metadata` wrapper.\n */\n size: PropTypes.oneOf([\"small\", \"medium\"]),\n};\n\nexport default Metadata;\n"],"names":["Block","_ref","title","actionBlock","children","_ref$className","className","_jsxs","_jsx","Typography","variant","weight","classnames","STYLES","inline","multiline","SIZES","small","medium","DEFAULT_TRUNCATE_AT","SIZE_WIDTH_CLASSES","_defineProperty","DetailsBlock","_ref$details","details","_ref$style","style","_ref$truncate","truncate","_ref$truncateAt","truncateAt","_useState","useState","_useState2","_slicedToArray","showTruncated","setShowTruncated","_useTranslation","useTranslation","t","_ref2","slice","_ref3","visibleDetails","truncatedDetails","renderDetailsValue","value","map","_ref4","index","label","type","Fragment","_Fragment","_ref5","isNotEmpty","Button","icon","ChevronUp","ChevronDown","iconPosition","onClick","Metadata","_SIZE_WIDTH_CLASSES$s","headerBlock","_ref$size","size","_useBreakpoints","useBreakpoints","isSize","isLargerScreen","isElementsPanelCollapsed","setIsElementsPanelCollapsed","useEffect","PanelLeftClose"],"mappings":"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"}
1
+ {"version":3,"file":"Metadata.js","sources":["../../../src/v2/components/Metadata/Block.jsx","../../../src/v2/components/Metadata/constants.js","../../../src/v2/components/Metadata/DetailsBlock.jsx","../../../src/v2/components/Metadata/index.jsx"],"sourcesContent":["import { Typography } from \"@bigbinary/neeto-atoms\";\nimport classnames from \"classnames\";\nimport PropTypes from \"prop-types\";\n\nconst Block = ({ title, actionBlock, children, className = \"\" }) => (\n <div\n className=\"border-border mb-4 w-full border-b pb-4\"\n data-testid=\"neeto-molecules-metadata-block\"\n >\n {(title || actionBlock) && (\n <div className=\"mb-2 flex w-full items-center justify-between gap-2\">\n {title && (\n <div className=\"flex w-60 items-center gap-2 break-all\">\n <Typography\n className=\"uppercase\"\n data-testid=\"metadata-block-title\"\n variant=\"h6\"\n weight=\"bold\"\n >\n {title}\n </Typography>\n </div>\n )}\n {actionBlock && <div className=\"ms-auto\">{actionBlock}</div>}\n </div>\n )}\n {!!children && (\n <div\n className={classnames(\"bg-background\", className)}\n data-testid=\"metadata-card\"\n >\n {children}\n </div>\n )}\n </div>\n);\n\nBlock.propTypes = {\n /**\n * To specify the content to be rendered on the right side of the title.\n */\n actionBlock: PropTypes.node,\n /**\n * To specify the title of the block.\n */\n title: PropTypes.string,\n /**\n * The content to be rendered inside the block.\n */\n children: PropTypes.oneOfType([\n PropTypes.arrayOf(PropTypes.node),\n PropTypes.node,\n ]),\n /**\n * To specify external classNames as overrides to the `Block` component.\n */\n className: PropTypes.string,\n};\n\nexport default Block;\n","export const STYLES = { inline: \"inline\", multiline: \"multiline\" };\n\nexport const SIZES = { small: \"small\", medium: \"medium\" };\n\nexport const DEFAULT_TRUNCATE_AT = 3;\n\nexport const SIZE_WIDTH_CLASSES = {\n [SIZES.medium]:\n \"w-[384px] min-w-[384px] min-[1024px]:max-[1200px]:w-[300px] min-[1024px]:max-[1200px]:min-w-[300px]\",\n [SIZES.small]:\n \"w-[340px] min-w-[340px] min-[1024px]:max-[1200px]:w-[300px] min-[1024px]:max-[1200px]:min-w-[300px]\",\n};\n","import { Fragment, useState } from \"react\";\n\nimport { Button, Typography } from \"@bigbinary/neeto-atoms\";\nimport classnames from \"classnames\";\nimport { ChevronDown, ChevronUp } from \"lucide-react\";\nimport { isNotEmpty } from \"neetocist\";\nimport PropTypes from \"prop-types\";\nimport { useTranslation } from \"react-i18next\";\n\nimport Block from \"./Block\";\nimport { DEFAULT_TRUNCATE_AT, STYLES } from \"./constants\";\n\nconst DetailsBlock = ({\n title,\n actionBlock,\n details = [],\n className,\n style = STYLES.inline,\n truncate = false,\n truncateAt = DEFAULT_TRUNCATE_AT,\n children,\n}) => {\n const [showTruncated, setShowTruncated] = useState(false);\n\n const { t } = useTranslation();\n\n const [visibleDetails, truncatedDetails] = truncate\n ? [details.slice(0, truncateAt), details.slice(truncateAt)]\n : [details];\n\n const renderDetailsValue = value => {\n if (typeof value === \"string\") {\n return (\n <Typography className=\"[overflow-wrap:anywhere]\" variant=\"body3\">\n {value}\n </Typography>\n );\n }\n\n return <span className=\"min-w-0 flex-grow\">{value}</span>;\n };\n\n return (\n <Block\n {...{ actionBlock, className }}\n title={title ?? t(\"neetoMolecules.metadata.detailsTitle\")}\n >\n <div\n className=\"flex flex-col gap-y-3\"\n data-testid=\"neeto-molecules-metadata-details-block\"\n >\n {visibleDetails.map(({ label, value, type }, index) => (\n <Fragment key={index}>\n {type === \"divider\" ? (\n <hr className=\"border-border\" />\n ) : (\n <div\n data-testid=\"details-card-detail-wrapper\"\n className={classnames(\"flex\", {\n \"items-center gap-x-4\": style === STYLES.inline,\n \"flex-col\": style === STYLES.multiline,\n })}\n >\n <Typography color=\"muted\" variant=\"body3\">\n {label}\n </Typography>\n {renderDetailsValue(value)}\n </div>\n )}\n </Fragment>\n ))}\n {!truncate && children}\n {showTruncated && (\n <>\n {truncatedDetails.map(({ label, value, type }, index) => (\n <Fragment key={index}>\n {type === \"divider\" ? (\n <hr className=\"border-border\" />\n ) : (\n <div\n className={classnames(\"flex\", {\n \"gap-x-4\": style === STYLES.inline,\n \"flex-col\": style === STYLES.multiline,\n })}\n >\n <Typography color=\"muted\" variant=\"body3\">\n {label}\n </Typography>\n {renderDetailsValue(value)}\n </div>\n )}\n </Fragment>\n ))}\n {children}\n </>\n )}\n {truncate && isNotEmpty(truncatedDetails) && (\n <Button\n data-testid=\"expand-button\"\n icon={showTruncated ? ChevronUp : ChevronDown}\n iconPosition=\"left\"\n variant=\"link\"\n label={\n showTruncated\n ? t(\"neetoMolecules.metadata.card.viewLess\")\n : t(\"neetoMolecules.metadata.card.viewMore\")\n }\n onClick={() => setShowTruncated(showTruncated => !showTruncated)}\n />\n )}\n </div>\n </Block>\n );\n};\n\nDetailsBlock.propTypes = {\n /**\n * To specify the content to be rendered on the right side of the title.\n */\n actionBlock: PropTypes.node,\n /**\n * To specify the title of the block.\n */\n title: PropTypes.string,\n /**\n * The details to be rendered inside the block.\n */\n details: PropTypes.arrayOf(\n PropTypes.shape({\n label: PropTypes.string,\n value: PropTypes.node,\n type: PropTypes.string,\n })\n ),\n /**\n * To specify whether the label and value should be rendered in a single line or in two lines.\n */\n style: PropTypes.oneOf([\"inline\", \"multiline\"]),\n /**\n * To specify whether the visible details should be truncated at a specific point.\n */\n truncate: PropTypes.bool,\n /**\n * To specify the position at which the details should be truncated and `View more` button should be shown.\n */\n truncateAt: PropTypes.number,\n /**\n * To specify external classNames as overrides to the `DetailsBlock` component.\n */\n className: PropTypes.string,\n /**\n * The additional content to be rendered inside the block.\n */\n children: PropTypes.oneOfType([\n PropTypes.arrayOf(PropTypes.node),\n PropTypes.node,\n ]),\n};\n\nexport default DetailsBlock;\n","import { useEffect, useState } from \"react\";\n\nimport { Button } from \"@bigbinary/neeto-atoms\";\nimport classnames from \"classnames\";\nimport { PanelLeftClose } from \"lucide-react\";\nimport useBreakpoints from \"neetocommons/v2/react-utils/useBreakpoints\";\nimport PropTypes from \"prop-types\";\n\nimport Block from \"./Block\";\nimport { SIZES, SIZE_WIDTH_CLASSES } from \"./constants\";\nimport DetailsBlock from \"./DetailsBlock\";\n\nconst Metadata = ({\n headerBlock,\n size = SIZES.medium,\n children,\n className = \"\",\n}) => {\n const { isSize } = useBreakpoints();\n const isLargerScreen = isSize(\"desktop\") || isSize(\"largeDesktop\");\n const [isElementsPanelCollapsed, setIsElementsPanelCollapsed] =\n useState(!isLargerScreen);\n\n useEffect(() => {\n setIsElementsPanelCollapsed(!isLargerScreen);\n }, [isLargerScreen]);\n\n return (\n <>\n {!isElementsPanelCollapsed && (\n <div\n className=\"absolute end-0 top-0 z-50 hidden h-full w-full bg-black/40 min-[576px]:max-[1024px]:block\"\n onClick={() => {\n setIsElementsPanelCollapsed(!isElementsPanelCollapsed);\n }}\n />\n )}\n <div\n className={classnames(\n // z-50, not above it: Radix portals (dropdowns, popovers) also render\n // at z-50 and are appended later in the DOM, so they must win — at\n // z-[51] the pane swallowed every dropdown anchored inside it.\n \"relative z-50 h-full transition-all duration-150 motion-reduce:transition-none max-[1024px]:fixed max-[1024px]:end-0 max-[1024px]:top-0 max-[1024px]:transition-none\",\n isElementsPanelCollapsed\n ? \"w-0 max-w-0 min-w-0\"\n : classnames(\n SIZE_WIDTH_CLASSES[size] ?? SIZE_WIDTH_CLASSES[SIZES.medium],\n \"max-[576px]:h-full max-[576px]:w-full max-[576px]:max-w-full max-[576px]:min-w-0\"\n )\n )}\n >\n <div className=\"flex h-full w-full justify-end overflow-hidden\">\n <div\n data-testid=\"neeto-molecules-metadata-wrapper\"\n className={classnames(\n \"bg-background border-border h-dvh flex-shrink-0 overflow-x-hidden overflow-y-auto border-s p-6 max-[576px]:w-full max-[576px]:min-w-0 max-[576px]:pt-12\",\n SIZE_WIDTH_CLASSES[size] ?? SIZE_WIDTH_CLASSES[SIZES.medium],\n className\n )}\n >\n {headerBlock && (\n <div\n className=\"mb-5 flex w-full justify-center\"\n data-testid=\"neeto-molecules-metadata-header\"\n >\n {headerBlock}\n </div>\n )}\n {children}\n </div>\n </div>\n {!isLargerScreen && (\n <Button\n icon={PanelLeftClose}\n size=\"icon\"\n variant=\"secondary\"\n className={classnames(\n \"absolute end-[calc(100%_+_8px)] top-2 shrink-0 max-[576px]:end-2\",\n {\n \"-scale-x-100 max-[576px]:start-2 max-[576px]:end-auto\":\n isElementsPanelCollapsed,\n }\n )}\n onClick={() => {\n setIsElementsPanelCollapsed(!isElementsPanelCollapsed);\n }}\n />\n )}\n </div>\n </>\n );\n};\n\nMetadata.Block = Block;\nMetadata.DetailsBlock = DetailsBlock;\n\nMetadata.propTypes = {\n /**\n * To specify the content to be rendered as the title of the `Metadata` wrapper.\n */\n headerBlock: PropTypes.node,\n /**\n * The content to be rendered inside the `Metadata` wrapper.\n */\n children: PropTypes.oneOfType([\n PropTypes.arrayOf(PropTypes.node),\n PropTypes.node,\n ]),\n /**\n * To specify external classNames as overrides to the `Metadata` component.\n */\n className: PropTypes.string,\n /**\n * To set the size of the `Metadata` wrapper.\n */\n size: PropTypes.oneOf([\"small\", \"medium\"]),\n};\n\nexport default Metadata;\n"],"names":["Block","_ref","title","actionBlock","children","_ref$className","className","_jsxs","_jsx","Typography","variant","weight","classnames","STYLES","inline","multiline","SIZES","small","medium","DEFAULT_TRUNCATE_AT","SIZE_WIDTH_CLASSES","_defineProperty","DetailsBlock","_ref$details","details","_ref$style","style","_ref$truncate","truncate","_ref$truncateAt","truncateAt","_useState","useState","_useState2","_slicedToArray","showTruncated","setShowTruncated","_useTranslation","useTranslation","t","_ref2","slice","_ref3","visibleDetails","truncatedDetails","renderDetailsValue","value","map","_ref4","index","label","type","Fragment","color","_Fragment","_ref5","isNotEmpty","Button","icon","ChevronUp","ChevronDown","iconPosition","onClick","Metadata","_SIZE_WIDTH_CLASSES$s","_SIZE_WIDTH_CLASSES$s2","headerBlock","_ref$size","size","_useBreakpoints","useBreakpoints","isSize","isLargerScreen","isElementsPanelCollapsed","setIsElementsPanelCollapsed","useEffect","PanelLeftClose"],"mappings":"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"}
@@ -119,11 +119,17 @@ var ICONS_MAP = {
119
119
  timezone: globe.Globe,
120
120
  chrome: Chrome,
121
121
  safari: Safari,
122
+ mobile_safari: Safari,
122
123
  firefox: Firefox,
123
124
  edge: Edge,
124
125
  ie: Edge,
125
126
  windows: Windows,
126
127
  mac_os: Apple,
128
+ // ua-parser-js v2 renamed "Mac OS" to "macOS" (and reports "iOS"/"Ubuntu"
129
+ // directly), so the derived lookup keys changed; keep the v1 keys too.
130
+ macos: Apple,
131
+ ios: Apple,
132
+ ubuntu: Ubuntu,
127
133
  linux: Ubuntu,
128
134
  mobile: smartphone.Smartphone,
129
135
  desktop: smartphone.Monitor
@@ -254,7 +260,7 @@ var Item = function Item(_ref) {
254
260
  _item$showCopyButton = item.showCopyButton,
255
261
  showCopyButton = _item$showCopyButton === void 0 ? false : _item$showCopyButton;
256
262
  var valueToRender = React.useMemo(function () {
257
- if (ramda.isNil(value)) return "-";
263
+ if (ramda.isNil(value) || value === "") return "-";
258
264
  if (typeof value === "boolean") return BOOLEAN_VALUES_MAP[value.toString()];
259
265
  if (name === "email") return value.toLowerCase();
260
266
  return value;
@@ -288,10 +294,22 @@ var Item = function Item(_ref) {
288
294
  var value = name === PHONE_NUMBER ? event : event.target.value;
289
295
  setValue(value);
290
296
  };
297
+ var handleValueKeyDown = function handleValueKeyDown(event) {
298
+ if (!isEditable) return;
299
+ if (event.key === "Enter" || event.key === " ") {
300
+ event.preventDefault();
301
+ setIsEditing(true);
302
+ }
303
+ };
291
304
  React.useEffect(function () {
292
305
  setValue(item.value);
293
306
  }, [item]);
294
307
  var labelKey = neetoCist.hyphenate(name !== null && name !== void 0 ? name : label);
308
+ var resolvedLabel = label || t("neetoMolecules.sessionEnvironment.details.keys.".concat(name));
309
+ var isValueEmpty = ramda.isNil(value) || value === "";
310
+ // An empty editable field renders a self-describing "Add <field>" target
311
+ // instead of a bare "-" a few pixels wide.
312
+ var showAddPlaceholder = isValueEmpty && isEditable;
295
313
  return /*#__PURE__*/jsxRuntime.jsxs("div", {
296
314
  "data-testid": "metadata-".concat(labelKey, "-container"),
297
315
  className: classnames("mb-3 flex place-items-center gap-2 align-middle", extraWrapperClasses, {
@@ -299,21 +317,22 @@ var Item = function Item(_ref) {
299
317
  "flex-nowrap": !allowMultiline
300
318
  }),
301
319
  children: [showIcons && neetoCist.isPresent(iconToRender) ? /*#__PURE__*/jsxRuntime.jsx(neetoAtoms.Tooltip, {
302
- content: label || t("neetoMolecules.sessionEnvironment.details.keys.".concat(name)),
320
+ content: resolvedLabel,
303
321
  children: /*#__PURE__*/jsxRuntime.jsx("div", {
304
- className: "flex-shrink-0",
322
+ className: "text-muted-foreground flex-shrink-0",
305
323
  children: iconToRender
306
324
  })
307
325
  }) : /*#__PURE__*/jsxRuntime.jsx(neetoAtoms.Typography, {
308
- className: "text-muted-foreground whitespace-nowrap",
326
+ className: "whitespace-nowrap",
327
+ color: "muted",
309
328
  "data-testid": "metadata-label-".concat(labelKey),
310
- variant: "body2",
311
- children: label || t("neetoMolecules.sessionEnvironment.details.keys.".concat(name))
329
+ variant: "body3",
330
+ children: resolvedLabel
312
331
  }), !isEditing ? /*#__PURE__*/jsxRuntime.jsxs(jsxRuntime.Fragment, {
313
332
  children: [kind === "datetime" ? /*#__PURE__*/jsxRuntime.jsx(v2_TimeFormat.DateWeekTime, {
314
333
  date: value,
315
334
  typographyProps: {
316
- variant: "body2",
335
+ variant: "body3",
317
336
  weight: "medium",
318
337
  className: classnames("overflow-hidden truncate whitespace-normal break-all ".concat(extraClasses), {
319
338
  "whitespace-nowrap": !allowMultiline
@@ -321,22 +340,29 @@ var Item = function Item(_ref) {
321
340
  }
322
341
  }) : /*#__PURE__*/jsxRuntime.jsx(neetoAtoms.Tooltip, {
323
342
  content: valueToRender,
343
+ disabled: isValueEmpty,
324
344
  position: "top",
325
345
  children: /*#__PURE__*/jsxRuntime.jsx(neetoAtoms.Typography, {
346
+ color: showAddPlaceholder ? "muted" : undefined,
326
347
  "data-testid": "metadata-value-".concat(labelKey),
327
- variant: "body2",
328
- weight: "medium",
348
+ role: isEditable ? "button" : undefined,
349
+ tabIndex: isEditable ? 0 : undefined,
350
+ variant: "body3",
351
+ weight: showAddPlaceholder ? "normal" : "medium",
329
352
  className: classnames("truncate overflow-hidden break-all whitespace-normal ".concat(extraClasses), {
330
- "hover:border-input cursor-pointer rounded border border-transparent p-0.5 transition-colors motion-reduce:transition-none": isEditable,
353
+ "hover:border-input focus-visible:ring-ring cursor-pointer rounded border border-transparent p-0.5 transition-colors focus-visible:ring-1 focus-visible:outline-none motion-reduce:transition-none": isEditable,
331
354
  "whitespace-nowrap": !allowMultiline
332
355
  }),
333
356
  onClick: function onClick() {
334
357
  return isEditable && setIsEditing(true);
335
358
  },
336
- children: valueToRender
359
+ onKeyDown: handleValueKeyDown,
360
+ children: showAddPlaceholder ? t("neetoMolecules.common.actions.add", {
361
+ entity: resolvedLabel
362
+ }) : valueToRender
337
363
  })
338
- }), showCopyButton && /*#__PURE__*/jsxRuntime.jsx(v2_CopyToClipboardButton, {
339
- className: "flex-shrink-0",
364
+ }), showCopyButton && !isValueEmpty && /*#__PURE__*/jsxRuntime.jsx(v2_CopyToClipboardButton, {
365
+ className: "text-muted-foreground size-6 flex-shrink-0",
340
366
  value: valueToRender,
341
367
  variant: "ghost"
342
368
  })]
@@ -375,8 +401,8 @@ var DetailsBlock$1 = function DetailsBlock(_ref) {
375
401
  children: [title && /*#__PURE__*/jsxRuntime.jsxs("div", {
376
402
  className: "mb-2 flex items-center gap-2",
377
403
  children: [/*#__PURE__*/jsxRuntime.jsx(neetoAtoms.Typography, {
378
- className: "text-foreground uppercase",
379
- variant: "h5",
404
+ className: "uppercase",
405
+ variant: "h6",
380
406
  weight: "bold",
381
407
  children: title
382
408
  }), neetoCist.isPresent(helpPopoverProps) && /*#__PURE__*/jsxRuntime.jsx(v2_HelpPopover, _objectSpread({}, helpPopoverProps))]
@@ -1 +1 @@
1
- {"version":3,"file":"SessionEnvironment.js","sources":["../../../node_modules/lucide-react/dist/esm/icons/mail.mjs","../../../node_modules/lucide-react/dist/esm/icons/map-pin.mjs","../../../node_modules/lucide-react/dist/esm/icons/phone.mjs","../../../src/v2/components/SessionEnvironment/constants.js","../../../src/v2/components/SessionEnvironment/utils.jsx","../../../src/v2/components/SessionEnvironment/EditField.jsx","../../../src/v2/components/SessionEnvironment/Item.jsx","../../../src/v2/components/SessionEnvironment/DetailsBlock.jsx","../../../src/v2/components/SessionEnvironment/index.jsx"],"sourcesContent":["/**\n * @license lucide-react v1.24.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.mjs';\n\nconst __iconNode = [\n [\"path\", { d: \"m22 7-8.991 5.727a2 2 0 0 1-2.009 0L2 7\", key: \"132q7q\" }],\n [\"rect\", { x: \"2\", y: \"4\", width: \"20\", height: \"16\", rx: \"2\", key: \"izxlao\" }]\n];\nconst Mail = createLucideIcon(\"mail\", __iconNode);\n\nexport { __iconNode, Mail as default };\n//# sourceMappingURL=mail.mjs.map\n","/**\n * @license lucide-react v1.24.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.mjs';\n\nconst __iconNode = [\n [\n \"path\",\n {\n d: \"M20 10c0 4.993-5.539 10.193-7.399 11.799a1 1 0 0 1-1.202 0C9.539 20.193 4 14.993 4 10a8 8 0 0 1 16 0\",\n key: \"1r0f0z\"\n }\n ],\n [\"circle\", { cx: \"12\", cy: \"10\", r: \"3\", key: \"ilqhr7\" }]\n];\nconst MapPin = createLucideIcon(\"map-pin\", __iconNode);\n\nexport { __iconNode, MapPin as default };\n//# sourceMappingURL=map-pin.mjs.map\n","/**\n * @license lucide-react v1.24.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.mjs';\n\nconst __iconNode = [\n [\n \"path\",\n {\n d: \"M13.832 16.568a1 1 0 0 0 1.213-.303l.355-.465A2 2 0 0 1 17 15h3a2 2 0 0 1 2 2v3a2 2 0 0 1-2 2A18 18 0 0 1 2 4a2 2 0 0 1 2-2h3a2 2 0 0 1 2 2v3a2 2 0 0 1-.8 1.6l-.468.351a1 1 0 0 0-.292 1.233 14 14 0 0 0 6.392 6.384\",\n key: \"9njp5v\"\n }\n ]\n];\nconst Phone = createLucideIcon(\"phone\", __iconNode);\n\nexport { __iconNode, Phone as default };\n//# sourceMappingURL=phone.mjs.map\n","import {\n Globe,\n Mail,\n MapPin,\n Monitor,\n Phone,\n Smartphone,\n User,\n} from \"lucide-react\";\nimport {\n Apple,\n Chrome,\n Edge,\n Firefox,\n Safari,\n Ubuntu,\n Windows,\n} from \"neetoicons/misc\";\n\nexport const BOOLEAN_VALUES_MAP = { true: \"Yes\", false: \"No\" };\nexport const ENTER = \"enter\";\nexport const ESCAPE = \"escape\";\nexport const PHONE_NUMBER = \"phone_number\";\nexport const INTEGER = \"integer\";\nexport const ICONS_MAP = {\n name: User,\n user: User,\n email: Mail,\n phone_number: Phone,\n location: MapPin,\n timezone: Globe,\n chrome: Chrome,\n safari: Safari,\n firefox: Firefox,\n edge: Edge,\n ie: Edge,\n windows: Windows,\n mac_os: Apple,\n linux: Ubuntu,\n mobile: Smartphone,\n desktop: Monitor,\n};\n","import { isPresent } from \"neetocist\";\nimport { prop, pipe } from \"ramda\";\n\nimport { ICONS_MAP, INTEGER, PHONE_NUMBER } from \"./constants\";\n\nexport const getInputType = ({ name, kind }) => {\n if (name === PHONE_NUMBER) return \"tel\";\n else if (kind === INTEGER) return \"number\";\n\n return \"text\";\n};\n\nexport const getIcon = ({ iconSize, name, value }) => {\n const Icon =\n name === \"browser\" || name === \"os\"\n ? ICONS_MAP[value?.toLowerCase().replace(\" \", \"_\")]\n : ICONS_MAP[name];\n\n return isPresent(Icon) ? <Icon size={iconSize} /> : null;\n};\n\nexport const isValuePresent = pipe(prop(\"value\"), isPresent);\n\nexport const mergeRefs =\n (...refs) =>\n node =>\n refs\n .filter(Boolean)\n .forEach(ref =>\n typeof ref === \"function\" ? ref(node) : (ref.current = node)\n );\n","import { memo } from \"react\";\n\nimport { Button, Input } from \"@bigbinary/neeto-atoms\";\nimport { Check, X } from \"lucide-react\";\nimport { hyphenate } from \"neetocist\";\nimport useHotkeys from \"neetohotkeys\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { ENTER, ESCAPE, PHONE_NUMBER } from \"./constants\";\nimport { getInputType, mergeRefs } from \"./utils\";\n\nimport { PhoneNumberInput } from \"../PhoneNumber\";\n\nconst EditField = ({\n name,\n error,\n label,\n kind,\n value,\n handleChange,\n handleMetadataCancel,\n handleMetadataSubmit,\n}) => {\n const { t } = useTranslation();\n\n const enterRef = useHotkeys(ENTER, handleMetadataSubmit, {\n mode: \"scoped\",\n });\n\n const cancelRef = useHotkeys(ESCAPE, handleMetadataCancel, {\n mode: \"scoped\",\n });\n\n const InputComponent = name === PHONE_NUMBER ? PhoneNumberInput : Input;\n\n return (\n <div className=\"relative flex min-w-0 flex-grow items-center\">\n <InputComponent\n {...{ error }}\n autoFocus\n className=\"w-full [&_input]:pe-[2.8125rem]\"\n data-testid={`metadata-input-${hyphenate(name)}`}\n placeholder={t(\"neetoMolecules.common.enter\", { what: label })}\n ref={mergeRefs(enterRef, cancelRef)}\n type={getInputType({ name, kind })}\n value={value || \"\"}\n onChange={handleChange}\n />\n <div className=\"absolute end-0 top-0 flex h-8 items-center pe-1\">\n <Button\n data-testid={`metadata-cancel-${hyphenate(name)}`}\n icon={X}\n size=\"sm\"\n variant=\"ghost\"\n tooltipProps={{\n content: t(\"neetoMolecules.common.actions.cancel\"),\n position: \"top\",\n }}\n onClick={handleMetadataCancel}\n />\n <Button\n data-testid={`metadata-submit-${hyphenate(name)}`}\n icon={Check}\n size=\"sm\"\n variant=\"ghost\"\n tooltipProps={{\n content: t(\"neetoMolecules.common.actions.save\"),\n position: \"top\",\n }}\n onClick={handleMetadataSubmit}\n />\n </div>\n </div>\n );\n};\n\nexport default memo(EditField);\n","import { useEffect, useMemo, useState } from \"react\";\n\nimport { Tooltip, Typography } from \"@bigbinary/neeto-atoms\";\nimport classNames from \"classnames\";\nimport { isPresent, hyphenate } from \"neetocist\";\nimport { isNil } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { BOOLEAN_VALUES_MAP, PHONE_NUMBER } from \"./constants\";\nimport EditField from \"./EditField\";\nimport { getIcon } from \"./utils\";\n\nimport CopyToClipboardButton from \"../CopyToClipboardButton\";\nimport TimeFormat from \"../TimeFormat\";\n\nconst Item = ({\n allowMultiline,\n handleCancel,\n handleSubmit,\n iconSize,\n item,\n showIcons,\n}) => {\n const [isEditing, setIsEditing] = useState(item.isEditing);\n const [value, setValue] = useState(item.value);\n\n const { t } = useTranslation();\n\n const {\n icon,\n isEditable = false,\n extraClasses = \"\",\n extraWrapperClasses = \"\",\n id,\n fieldValueId,\n custom = false,\n name,\n kind,\n error,\n label,\n showCopyButton = false,\n } = item;\n\n const valueToRender = useMemo(() => {\n if (isNil(value)) return \"-\";\n\n if (typeof value === \"boolean\") return BOOLEAN_VALUES_MAP[value.toString()];\n\n if (name === \"email\") return value.toLowerCase();\n\n return value;\n }, [value]);\n\n const iconToRender = useMemo(\n () => icon || getIcon({ iconSize, name, value }),\n [icon, iconSize, name, value]\n );\n\n const onSuccess = () => setIsEditing(false);\n\n const handleMetadataSubmit = () =>\n handleSubmit({ fieldId: id, fieldValueId, name, value, custom, onSuccess });\n\n const handleMetadataCancel = () => {\n setIsEditing(false);\n setValue(item.value);\n handleCancel(name);\n };\n\n const handleChange = event => {\n const value = name === PHONE_NUMBER ? event : event.target.value;\n setValue(value);\n };\n\n useEffect(() => {\n setValue(item.value);\n }, [item]);\n\n const labelKey = hyphenate(name ?? label);\n\n return (\n <div\n data-testid={`metadata-${labelKey}-container`}\n className={classNames(\n \"mb-3 flex place-items-center gap-2 align-middle\",\n extraWrapperClasses,\n {\n \"flex-wrap\": name !== PHONE_NUMBER && allowMultiline,\n \"flex-nowrap\": !allowMultiline,\n }\n )}\n >\n {showIcons && isPresent(iconToRender) ? (\n <Tooltip\n content={\n label || t(`neetoMolecules.sessionEnvironment.details.keys.${name}`)\n }\n >\n <div className=\"flex-shrink-0\">{iconToRender}</div>\n </Tooltip>\n ) : (\n <Typography\n className=\"text-muted-foreground whitespace-nowrap\"\n data-testid={`metadata-label-${labelKey}`}\n variant=\"body2\"\n >\n {label || t(`neetoMolecules.sessionEnvironment.details.keys.${name}`)}\n </Typography>\n )}\n {!isEditing ? (\n <>\n {kind === \"datetime\" ? (\n <TimeFormat.DateWeekTime\n date={value}\n typographyProps={{\n variant: \"body2\",\n weight: \"medium\",\n className: classNames(\n `overflow-hidden truncate whitespace-normal break-all ${extraClasses}`,\n { \"whitespace-nowrap\": !allowMultiline }\n ),\n }}\n />\n ) : (\n <Tooltip content={valueToRender} position=\"top\">\n <Typography\n data-testid={`metadata-value-${labelKey}`}\n variant=\"body2\"\n weight=\"medium\"\n className={classNames(\n `truncate overflow-hidden break-all whitespace-normal ${extraClasses}`,\n {\n \"hover:border-input cursor-pointer rounded border border-transparent p-0.5 transition-colors motion-reduce:transition-none\":\n isEditable,\n \"whitespace-nowrap\": !allowMultiline,\n }\n )}\n onClick={() => isEditable && setIsEditing(true)}\n >\n {valueToRender}\n </Typography>\n </Tooltip>\n )}\n {showCopyButton && (\n <CopyToClipboardButton\n className=\"flex-shrink-0\"\n value={valueToRender}\n variant=\"ghost\"\n />\n )}\n </>\n ) : (\n <EditField\n {...{\n error,\n handleChange,\n handleMetadataCancel,\n handleMetadataSubmit,\n kind,\n label,\n name,\n value,\n }}\n />\n )}\n </div>\n );\n};\n\nexport default Item;\n","import { memo } from \"react\";\n\nimport { Typography } from \"@bigbinary/neeto-atoms\";\nimport { isPresent, noop } from \"neetocist\";\n\nimport Item from \"./Item\";\nimport { isValuePresent } from \"./utils\";\n\nimport HelpPopover from \"../HelpPopover\";\n\nconst DetailsBlock = ({\n allowMultiline = true,\n details,\n handleCancel = noop,\n handleSubmit = noop,\n helpPopoverProps,\n iconSize,\n showIcons = false,\n title = \"\",\n}) => (\n <div className=\"mb-4\" data-testid=\"details-block-items-parent\">\n {title && (\n <div className=\"mb-2 flex items-center gap-2\">\n <Typography\n className=\"text-foreground uppercase\"\n variant=\"h5\"\n weight=\"bold\"\n >\n {title}\n </Typography>\n {isPresent(helpPopoverProps) && <HelpPopover {...helpPopoverProps} />}\n </div>\n )}\n {details\n .filter(detail => detail.isEditable || isValuePresent(detail))\n .map((detail, index) => (\n <Item\n {...{\n allowMultiline,\n handleCancel,\n handleSubmit,\n iconSize,\n showIcons,\n }}\n item={detail}\n key={index}\n />\n ))}\n </div>\n);\n\nexport default memo(DetailsBlock);\n","import { memo, useMemo, useState } from \"react\";\n\nimport { Button, Spinner } from \"@bigbinary/neeto-atoms\";\nimport { ChevronDown, ChevronUp } from \"lucide-react\";\nimport { filterBy, isPresent, noop, removeBy } from \"neetocist\";\nimport PropTypes from \"prop-types\";\nimport { pluck, not } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport DetailsBlock from \"./DetailsBlock\";\n\nconst SessionEnvironment = ({\n allowMultiline = false,\n details,\n handleCancel = noop,\n handleSubmit = noop,\n helpPopoverProps = {},\n iconSize = 20,\n isLoading = false,\n moreDetails = [],\n title = \"\",\n}) => {\n const [showViewMore, setShowViewMore] = useState(false);\n\n const customViewMoreItems = useMemo(\n () => filterBy({ kind: \"custom\" }, moreDetails),\n [moreDetails]\n );\n\n const { t } = useTranslation();\n\n if (isLoading) {\n return (\n <div className=\"flex h-full w-full items-center justify-center\">\n <Spinner data-testid=\"neeto-ui-spinner\" />\n </div>\n );\n }\n\n return (\n <div className=\"w-full\">\n <DetailsBlock\n {...{\n allowMultiline,\n details,\n handleCancel,\n handleSubmit,\n helpPopoverProps,\n iconSize,\n title,\n }}\n showIcons\n />\n {showViewMore && (\n <>\n <hr className=\"border-border my-4\" />\n <DetailsBlock\n {...{\n handleCancel,\n handleSubmit,\n helpPopoverProps,\n iconSize,\n }}\n details={removeBy({ kind: \"custom\" }, moreDetails)}\n />\n {isPresent(customViewMoreItems) && (\n <>\n <hr className=\"border-border my-4\" />\n {pluck(\"value\", customViewMoreItems)}\n </>\n )}\n </>\n )}\n <Button\n className=\"mb-4\"\n data-testid=\"view-more-less-button\"\n icon={showViewMore ? ChevronUp : ChevronDown}\n variant=\"link\"\n label={\n showViewMore\n ? t(\"neetoMolecules.sessionEnvironment.viewLess\")\n : t(\"neetoMolecules.sessionEnvironment.viewMore\")\n }\n onClick={() => setShowViewMore(not)}\n />\n </div>\n );\n};\n\nSessionEnvironment.propTypes = {\n /*\n details can be an array of fields to be displayed.\n */\n details: PropTypes.array,\n /*\n handleCancel is a function that will be called when the cancel button is clicked.\n */\n handleCancel: PropTypes.func,\n /*\n handleSubmit is a function that will be called when the form is submitted.\n */\n handleSubmit: PropTypes.func,\n /*\n helpPopoverProps are the props that will be passed to the HelpPopover component.\n */\n helpPopoverProps: PropTypes.object,\n /*\n iconSize is a number that will be used to set the size of the icon.\n */\n iconSize: PropTypes.number,\n /*\n isLoading is a boolean that will be used to show a spinner when true.\n */\n isLoading: PropTypes.bool,\n /*\n moreDetails can be an array of fields to be displayed when the view more button is clicked.\n */\n moreDetails: PropTypes.array,\n /*\n The title to be displayed above the details.\n */\n title: PropTypes.string,\n /*\n allowMultiline is a boolean that will be used to decide whether the items should be displayed in a single line or multiple lines.\n */\n allowMultiline: PropTypes.bool,\n};\n\nexport default memo(SessionEnvironment);\n"],"names":["__iconNode","createLucideIcon","BOOLEAN_VALUES_MAP","ENTER","ESCAPE","PHONE_NUMBER","INTEGER","ICONS_MAP","name","User","user","email","Mail","phone_number","Phone","location","MapPin","timezone","Globe","chrome","Chrome","safari","Safari","firefox","Firefox","edge","Edge","ie","windows","Windows","mac_os","Apple","linux","Ubuntu","mobile","Smartphone","desktop","Monitor","getInputType","_ref","kind","getIcon","_ref2","iconSize","value","Icon","toLowerCase","replace","isPresent","_jsx","size","isValuePresent","pipe","prop","mergeRefs","_len","arguments","length","refs","Array","_key","node","filter","Boolean","forEach","ref","current","EditField","error","label","handleChange","handleMetadataCancel","handleMetadataSubmit","_useTranslation","useTranslation","t","enterRef","useHotkeys","mode","cancelRef","InputComponent","PhoneNumberInput","Input","_jsxs","className","children","autoFocus","concat","hyphenate","placeholder","what","type","onChange","Button","icon","X","variant","tooltipProps","content","position","onClick","Check","memo","Item","allowMultiline","handleCancel","handleSubmit","item","showIcons","_useState","useState","isEditing","_useState2","_slicedToArray","setIsEditing","_useState3","_useState4","setValue","_item$isEditable","isEditable","_item$extraClasses","extraClasses","_item$extraWrapperCla","extraWrapperClasses","id","fieldValueId","_item$custom","custom","_item$showCopyButton","showCopyButton","valueToRender","useMemo","isNil","toString","iconToRender","onSuccess","fieldId","event","target","useEffect","labelKey","classNames","Tooltip","Typography","_Fragment","TimeFormat","DateWeekTime","date","typographyProps","weight","CopyToClipboardButton","DetailsBlock","_ref$allowMultiline","details","_ref$handleCancel","noop","_ref$handleSubmit","helpPopoverProps","_ref$showIcons","_ref$title","title","HelpPopover","_objectSpread","detail","map","index","_createElement","key","SessionEnvironment","_ref$helpPopoverProps","_ref$iconSize","_ref$isLoading","isLoading","_ref$moreDetails","moreDetails","showViewMore","setShowViewMore","customViewMoreItems","filterBy","Spinner","removeBy","pluck","ChevronUp","ChevronDown","not"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AACA;AACA;AACA;AACA;AACA;;;AAIA,MAAMA,YAAU,GAAG;AACnB,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE,yCAAyC,EAAE,GAAG,EAAE,QAAQ,EAAE,CAAC;AAC3E,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,QAAQ,EAAE;AAChF,CAAC;AACD,MAAM,IAAI,GAAGC,iCAAgB,CAAC,MAAM,EAAED,YAAU,CAAC;;ACbjD;AACA;AACA;AACA;AACA;AACA;;;AAIA,MAAMA,YAAU,GAAG;AACnB,EAAE;AACF,IAAI,MAAM;AACV,IAAI;AACJ,MAAM,CAAC,EAAE,sGAAsG;AAC/G,MAAM,GAAG,EAAE;AACX;AACA,GAAG;AACH,EAAE,CAAC,QAAQ,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,QAAQ,EAAE;AAC1D,CAAC;AACD,MAAM,MAAM,GAAGC,iCAAgB,CAAC,SAAS,EAAED,YAAU,CAAC;;ACnBtD;AACA;AACA;AACA;AACA;AACA;;;AAIA,MAAM,UAAU,GAAG;AACnB,EAAE;AACF,IAAI,MAAM;AACV,IAAI;AACJ,MAAM,CAAC,EAAE,uNAAuN;AAChO,MAAM,GAAG,EAAE;AACX;AACA;AACA,CAAC;AACD,MAAM,KAAK,GAAGC,iCAAgB,CAAC,OAAO,EAAE,UAAU,CAAC;;ACC5C,IAAMC,kBAAkB,GAAG;AAAE,EAAA,MAAA,EAAM,KAAK;EAAE,OAAA,EAAO;AAAK,CAAC;AACvD,IAAMC,KAAK,GAAG,OAAO;AACrB,IAAMC,MAAM,GAAG,QAAQ;AACvB,IAAMC,YAAY,GAAG,cAAc;AACnC,IAAMC,OAAO,GAAG,SAAS;AACzB,IAAMC,SAAS,GAAG;AACvBC,EAAAA,IAAI,EAAEC,SAAI;AACVC,EAAAA,IAAI,EAAED,SAAI;AACVE,EAAAA,KAAK,EAAEC,IAAI;AACXC,EAAAA,YAAY,EAAEC,KAAK;AACnBC,EAAAA,QAAQ,EAAEC,MAAM;AAChBC,EAAAA,QAAQ,EAAEC,WAAK;AACfC,EAAAA,MAAM,EAAEC,MAAM;AACdC,EAAAA,MAAM,EAAEC,MAAM;AACdC,EAAAA,OAAO,EAAEC,OAAO;AAChBC,EAAAA,IAAI,EAAEC,IAAI;AACVC,EAAAA,EAAE,EAAED,IAAI;AACRE,EAAAA,OAAO,EAAEC,OAAO;AAChBC,EAAAA,MAAM,EAAEC,KAAK;AACbC,EAAAA,KAAK,EAAEC,MAAM;AACbC,EAAAA,MAAM,EAAEC,qBAAU;AAClBC,EAAAA,OAAO,EAAEC;AACX,CAAC;;ACpCM,IAAMC,YAAY,GAAG,SAAfA,YAAYA,CAAAC,IAAA,EAAuB;AAAA,EAAA,IAAjB/B,IAAI,GAAA+B,IAAA,CAAJ/B,IAAI;IAAEgC,IAAI,GAAAD,IAAA,CAAJC,IAAI;AACvC,EAAA,IAAIhC,IAAI,KAAKH,YAAY,EAAE,OAAO,KAAK,CAAC,KACnC,IAAImC,IAAI,KAAKlC,OAAO,EAAE,OAAO,QAAQ;AAE1C,EAAA,OAAO,MAAM;AACf,CAAC;AAEM,IAAMmC,OAAO,GAAG,SAAVA,OAAOA,CAAAC,KAAA,EAAkC;AAAA,EAAA,IAA5BC,QAAQ,GAAAD,KAAA,CAARC,QAAQ;IAAEnC,IAAI,GAAAkC,KAAA,CAAJlC,IAAI;IAAEoC,KAAK,GAAAF,KAAA,CAALE,KAAK;AAC7C,EAAA,IAAMC,IAAI,GACRrC,IAAI,KAAK,SAAS,IAAIA,IAAI,KAAK,IAAI,GAC/BD,SAAS,CAACqC,KAAK,aAALA,KAAK,KAAA,MAAA,GAAA,MAAA,GAALA,KAAK,CAAEE,WAAW,EAAE,CAACC,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,GACjDxC,SAAS,CAACC,IAAI,CAAC;AAErB,EAAA,OAAOwC,mBAAS,CAACH,IAAI,CAAC,gBAAGI,cAAA,CAACJ,IAAI,EAAA;AAACK,IAAAA,IAAI,EAAEP;GAAW,CAAC,GAAG,IAAI;AAC1D,CAAC;AAEM,IAAMQ,cAAc,GAAGC,UAAI,CAACC,UAAI,CAAC,OAAO,CAAC,EAAEL,mBAAS,CAAC;AAErD,IAAMM,SAAS,GACpB,SADWA,SAASA,GAAA;AAAA,EAAA,KAAA,IAAAC,IAAA,GAAAC,SAAA,CAAAC,MAAA,EAChBC,IAAI,GAAA,IAAAC,KAAA,CAAAJ,IAAA,GAAAK,IAAA,GAAA,CAAA,EAAAA,IAAA,GAAAL,IAAA,EAAAK,IAAA,EAAA,EAAA;AAAJF,IAAAA,IAAI,CAAAE,IAAA,CAAA,GAAAJ,SAAA,CAAAI,IAAA,CAAA;AAAA,EAAA;AAAA,EAAA,OACR,UAAAC,IAAI,EAAA;IAAA,OACFH,IAAI,CACDI,MAAM,CAACC,OAAO,CAAC,CACfC,OAAO,CAAC,UAAAC,GAAG,EAAA;AAAA,MAAA,OACV,OAAOA,GAAG,KAAK,UAAU,GAAGA,GAAG,CAACJ,IAAI,CAAC,GAAII,GAAG,CAACC,OAAO,GAAGL,IAAK;AAAA,IAAA,CAC9D,CAAC;AAAA,EAAA,CAAA;AAAA,CAAA;;ACjBP,IAAMM,WAAS,GAAG,SAAZA,SAASA,CAAA5B,IAAA,EAST;AAAA,EAAA,IARJ/B,IAAI,GAAA+B,IAAA,CAAJ/B,IAAI;IACJ4D,KAAK,GAAA7B,IAAA,CAAL6B,KAAK;IACLC,KAAK,GAAA9B,IAAA,CAAL8B,KAAK;IACL7B,IAAI,GAAAD,IAAA,CAAJC,IAAI;IACJI,KAAK,GAAAL,IAAA,CAALK,KAAK;IACL0B,YAAY,GAAA/B,IAAA,CAAZ+B,YAAY;IACZC,oBAAoB,GAAAhC,IAAA,CAApBgC,oBAAoB;IACpBC,oBAAoB,GAAAjC,IAAA,CAApBiC,oBAAoB;AAEpB,EAAA,IAAAC,eAAA,GAAcC,2BAAc,EAAE;IAAtBC,CAAC,GAAAF,eAAA,CAADE,CAAC;AAET,EAAA,IAAMC,QAAQ,GAAGC,UAAU,CAAC1E,KAAK,EAAEqE,oBAAoB,EAAE;AACvDM,IAAAA,IAAI,EAAE;AACR,GAAC,CAAC;AAEF,EAAA,IAAMC,SAAS,GAAGF,UAAU,CAACzE,MAAM,EAAEmE,oBAAoB,EAAE;AACzDO,IAAAA,IAAI,EAAE;AACR,GAAC,CAAC;EAEF,IAAME,cAAc,GAAGxE,IAAI,KAAKH,YAAY,GAAG4E,4BAAgB,GAAGC,gBAAK;AAEvE,EAAA,oBACEC,eAAA,CAAA,KAAA,EAAA;AAAKC,IAAAA,SAAS,EAAC,8CAA8C;IAAAC,QAAA,EAAA,cAC3DpC,cAAA,CAAC+B,cAAc,EAAA;AACPZ,MAAAA,KAAK,EAALA,KAAK;MACXkB,SAAS,EAAA,IAAA;AACTF,MAAAA,SAAS,EAAC,iCAAiC;AAC3C,MAAA,aAAA,EAAA,iBAAA,CAAAG,MAAA,CAA+BC,mBAAS,CAAChF,IAAI,CAAC,CAAG;AACjDiF,MAAAA,WAAW,EAAEd,CAAC,CAAC,6BAA6B,EAAE;AAAEe,QAAAA,IAAI,EAAErB;AAAM,OAAC,CAAE;AAC/DJ,MAAAA,GAAG,EAAEX,SAAS,CAACsB,QAAQ,EAAEG,SAAS,CAAE;MACpCY,IAAI,EAAErD,YAAY,CAAC;AAAE9B,QAAAA,IAAI,EAAJA,IAAI;AAAEgC,QAAAA,IAAI,EAAJA;AAAK,OAAC,CAAE;MACnCI,KAAK,EAAEA,KAAK,IAAI,EAAG;AACnBgD,MAAAA,QAAQ,EAAEtB;KACX,CAAC,eACFa,eAAA,CAAA,KAAA,EAAA;AAAKC,MAAAA,SAAS,EAAC,iDAAiD;MAAAC,QAAA,EAAA,cAC9DpC,cAAA,CAAC4C,iBAAM,EAAA;AACL,QAAA,aAAA,EAAA,kBAAA,CAAAN,MAAA,CAAgCC,mBAAS,CAAChF,IAAI,CAAC,CAAG;AAClDsF,QAAAA,IAAI,EAAEC,GAAE;AACR7C,QAAAA,IAAI,EAAC,IAAI;AACT8C,QAAAA,OAAO,EAAC,OAAO;AACfC,QAAAA,YAAY,EAAE;AACZC,UAAAA,OAAO,EAAEvB,CAAC,CAAC,sCAAsC,CAAC;AAClDwB,UAAAA,QAAQ,EAAE;SACV;AACFC,QAAAA,OAAO,EAAE7B;AAAqB,OAC/B,CAAC,eACFtB,cAAA,CAAC4C,iBAAM,EAAA;AACL,QAAA,aAAA,EAAA,kBAAA,CAAAN,MAAA,CAAgCC,mBAAS,CAAChF,IAAI,CAAC,CAAG;AAClDsF,QAAAA,IAAI,EAAEO,WAAM;AACZnD,QAAAA,IAAI,EAAC,IAAI;AACT8C,QAAAA,OAAO,EAAC,OAAO;AACfC,QAAAA,YAAY,EAAE;AACZC,UAAAA,OAAO,EAAEvB,CAAC,CAAC,oCAAoC,CAAC;AAChDwB,UAAAA,QAAQ,EAAE;SACV;AACFC,QAAAA,OAAO,EAAE5B;AAAqB,OAC/B,CAAC;AAAA,KACC,CAAC;AAAA,GACH,CAAC;AAEV,CAAC;AAED,gBAAA,aAAe8B,UAAI,CAACnC,WAAS,CAAC;;AC7D9B,IAAMoC,IAAI,GAAG,SAAPA,IAAIA,CAAAhE,IAAA,EAOJ;AAAA,EAAA,IANJiE,cAAc,GAAAjE,IAAA,CAAdiE,cAAc;IACdC,YAAY,GAAAlE,IAAA,CAAZkE,YAAY;IACZC,YAAY,GAAAnE,IAAA,CAAZmE,YAAY;IACZ/D,QAAQ,GAAAJ,IAAA,CAARI,QAAQ;IACRgE,IAAI,GAAApE,IAAA,CAAJoE,IAAI;IACJC,SAAS,GAAArE,IAAA,CAATqE,SAAS;AAET,EAAA,IAAAC,SAAA,GAAkCC,cAAQ,CAACH,IAAI,CAACI,SAAS,CAAC;IAAAC,UAAA,GAAAC,cAAA,CAAAJ,SAAA,EAAA,CAAA,CAAA;AAAnDE,IAAAA,SAAS,GAAAC,UAAA,CAAA,CAAA,CAAA;AAAEE,IAAAA,YAAY,GAAAF,UAAA,CAAA,CAAA,CAAA;AAC9B,EAAA,IAAAG,UAAA,GAA0BL,cAAQ,CAACH,IAAI,CAAC/D,KAAK,CAAC;IAAAwE,UAAA,GAAAH,cAAA,CAAAE,UAAA,EAAA,CAAA,CAAA;AAAvCvE,IAAAA,KAAK,GAAAwE,UAAA,CAAA,CAAA,CAAA;AAAEC,IAAAA,QAAQ,GAAAD,UAAA,CAAA,CAAA,CAAA;AAEtB,EAAA,IAAA3C,eAAA,GAAcC,2BAAc,EAAE;IAAtBC,CAAC,GAAAF,eAAA,CAADE,CAAC;AAET,EAAA,IACEmB,IAAI,GAYFa,IAAI,CAZNb,IAAI;IAAAwB,gBAAA,GAYFX,IAAI,CAXNY,UAAU;AAAVA,IAAAA,UAAU,GAAAD,gBAAA,KAAA,MAAA,GAAG,KAAK,GAAAA,gBAAA;IAAAE,kBAAA,GAWhBb,IAAI,CAVNc,YAAY;AAAZA,IAAAA,YAAY,GAAAD,kBAAA,KAAA,MAAA,GAAG,EAAE,GAAAA,kBAAA;IAAAE,qBAAA,GAUff,IAAI,CATNgB,mBAAmB;AAAnBA,IAAAA,mBAAmB,GAAAD,qBAAA,KAAA,MAAA,GAAG,EAAE,GAAAA,qBAAA;IACxBE,EAAE,GAQAjB,IAAI,CARNiB,EAAE;IACFC,YAAY,GAOVlB,IAAI,CAPNkB,YAAY;IAAAC,YAAA,GAOVnB,IAAI,CANNoB,MAAM;AAANA,IAAAA,MAAM,GAAAD,YAAA,KAAA,MAAA,GAAG,KAAK,GAAAA,YAAA;IACdtH,IAAI,GAKFmG,IAAI,CALNnG,IAAI;IACJgC,IAAI,GAIFmE,IAAI,CAJNnE,IAAI;IACJ4B,KAAK,GAGHuC,IAAI,CAHNvC,KAAK;IACLC,KAAK,GAEHsC,IAAI,CAFNtC,KAAK;IAAA2D,oBAAA,GAEHrB,IAAI,CADNsB,cAAc;AAAdA,IAAAA,cAAc,GAAAD,oBAAA,KAAA,MAAA,GAAG,KAAK,GAAAA,oBAAA;AAGxB,EAAA,IAAME,aAAa,GAAGC,aAAO,CAAC,YAAM;AAClC,IAAA,IAAIC,WAAK,CAACxF,KAAK,CAAC,EAAE,OAAO,GAAG;AAE5B,IAAA,IAAI,OAAOA,KAAK,KAAK,SAAS,EAAE,OAAO1C,kBAAkB,CAAC0C,KAAK,CAACyF,QAAQ,EAAE,CAAC;IAE3E,IAAI7H,IAAI,KAAK,OAAO,EAAE,OAAOoC,KAAK,CAACE,WAAW,EAAE;AAEhD,IAAA,OAAOF,KAAK;AACd,EAAA,CAAC,EAAE,CAACA,KAAK,CAAC,CAAC;EAEX,IAAM0F,YAAY,GAAGH,aAAO,CAC1B,YAAA;IAAA,OAAMrC,IAAI,IAAIrD,OAAO,CAAC;AAAEE,MAAAA,QAAQ,EAARA,QAAQ;AAAEnC,MAAAA,IAAI,EAAJA,IAAI;AAAEoC,MAAAA,KAAK,EAALA;AAAM,KAAC,CAAC;EAAA,CAAA,EAChD,CAACkD,IAAI,EAAEnD,QAAQ,EAAEnC,IAAI,EAAEoC,KAAK,CAC9B,CAAC;AAED,EAAA,IAAM2F,SAAS,GAAG,SAAZA,SAASA,GAAA;IAAA,OAASrB,YAAY,CAAC,KAAK,CAAC;AAAA,EAAA,CAAA;AAE3C,EAAA,IAAM1C,oBAAoB,GAAG,SAAvBA,oBAAoBA,GAAA;AAAA,IAAA,OACxBkC,YAAY,CAAC;AAAE8B,MAAAA,OAAO,EAAEZ,EAAE;AAAEC,MAAAA,YAAY,EAAZA,YAAY;AAAErH,MAAAA,IAAI,EAAJA,IAAI;AAAEoC,MAAAA,KAAK,EAALA,KAAK;AAAEmF,MAAAA,MAAM,EAANA,MAAM;AAAEQ,MAAAA,SAAS,EAATA;AAAU,KAAC,CAAC;AAAA,EAAA,CAAA;AAE7E,EAAA,IAAMhE,oBAAoB,GAAG,SAAvBA,oBAAoBA,GAAS;IACjC2C,YAAY,CAAC,KAAK,CAAC;AACnBG,IAAAA,QAAQ,CAACV,IAAI,CAAC/D,KAAK,CAAC;IACpB6D,YAAY,CAACjG,IAAI,CAAC;EACpB,CAAC;AAED,EAAA,IAAM8D,YAAY,GAAG,SAAfA,YAAYA,CAAGmE,KAAK,EAAI;AAC5B,IAAA,IAAM7F,KAAK,GAAGpC,IAAI,KAAKH,YAAY,GAAGoI,KAAK,GAAGA,KAAK,CAACC,MAAM,CAAC9F,KAAK;IAChEyE,QAAQ,CAACzE,KAAK,CAAC;EACjB,CAAC;AAED+F,EAAAA,eAAS,CAAC,YAAM;AACdtB,IAAAA,QAAQ,CAACV,IAAI,CAAC/D,KAAK,CAAC;AACtB,EAAA,CAAC,EAAE,CAAC+D,IAAI,CAAC,CAAC;EAEV,IAAMiC,QAAQ,GAAGpD,mBAAS,CAAChF,IAAI,KAAA,IAAA,IAAJA,IAAI,KAAA,MAAA,GAAJA,IAAI,GAAI6D,KAAK,CAAC;AAEzC,EAAA,oBACEc,eAAA,CAAA,KAAA,EAAA;IACE,aAAA,EAAA,WAAA,CAAAI,MAAA,CAAyBqD,QAAQ,EAAA,YAAA,CAAa;AAC9CxD,IAAAA,SAAS,EAAEyD,UAAU,CACnB,iDAAiD,EACjDlB,mBAAmB,EACnB;AACE,MAAA,WAAW,EAAEnH,IAAI,KAAKH,YAAY,IAAImG,cAAc;AACpD,MAAA,aAAa,EAAE,CAACA;AAClB,KACF,CAAE;IAAAnB,QAAA,EAAA,CAEDuB,SAAS,IAAI5D,mBAAS,CAACsF,YAAY,CAAC,gBACnCrF,cAAA,CAAC6F,kBAAO,EAAA;MACN5C,OAAO,EACL7B,KAAK,IAAIM,CAAC,mDAAAY,MAAA,CAAmD/E,IAAI,CAAE,CACpE;AAAA6E,MAAAA,QAAA,eAEDpC,cAAA,CAAA,KAAA,EAAA;AAAKmC,QAAAA,SAAS,EAAC,eAAe;AAAAC,QAAAA,QAAA,EAAEiD;OAAkB;AAAC,KAC5C,CAAC,gBAEVrF,cAAA,CAAC8F,qBAAU,EAAA;AACT3D,MAAAA,SAAS,EAAC,yCAAyC;MACnD,aAAA,EAAA,iBAAA,CAAAG,MAAA,CAA+BqD,QAAQ,CAAG;AAC1C5C,MAAAA,OAAO,EAAC,OAAO;MAAAX,QAAA,EAEdhB,KAAK,IAAIM,CAAC,mDAAAY,MAAA,CAAmD/E,IAAI,CAAE;AAAC,KAC3D,CACb,EACA,CAACuG,SAAS,gBACT5B,eAAA,CAAA6D,mBAAA,EAAA;MAAA3D,QAAA,EAAA,CACG7C,IAAI,KAAK,UAAU,gBAClBS,cAAA,CAACgG,aAAU,CAACC,YAAY,EAAA;AACtBC,QAAAA,IAAI,EAAEvG,KAAM;AACZwG,QAAAA,eAAe,EAAE;AACfpD,UAAAA,OAAO,EAAE,OAAO;AAChBqD,UAAAA,MAAM,EAAE,QAAQ;AAChBjE,UAAAA,SAAS,EAAEyD,UAAU,CAAA,uDAAA,CAAAtD,MAAA,CACqCkC,YAAY,CAAA,EACpE;AAAE,YAAA,mBAAmB,EAAE,CAACjB;WAC1B;AACF;AAAE,OACH,CAAC,gBAEFvD,cAAA,CAAC6F,kBAAO,EAAA;AAAC5C,QAAAA,OAAO,EAAEgC,aAAc;AAAC/B,QAAAA,QAAQ,EAAC,KAAK;QAAAd,QAAA,eAC7CpC,cAAA,CAAC8F,qBAAU,EAAA;UACT,aAAA,EAAA,iBAAA,CAAAxD,MAAA,CAA+BqD,QAAQ,CAAG;AAC1C5C,UAAAA,OAAO,EAAC,OAAO;AACfqD,UAAAA,MAAM,EAAC,QAAQ;AACfjE,UAAAA,SAAS,EAAEyD,UAAU,CAAA,uDAAA,CAAAtD,MAAA,CACqCkC,YAAY,CAAA,EACpE;AACE,YAAA,2HAA2H,EACzHF,UAAU;AACZ,YAAA,mBAAmB,EAAE,CAACf;AACxB,WACF,CAAE;UACFJ,OAAO,EAAE,SAATA,OAAOA,GAAA;AAAA,YAAA,OAAQmB,UAAU,IAAIL,YAAY,CAAC,IAAI,CAAC;UAAA,CAAC;AAAA7B,UAAAA,QAAA,EAE/C6C;SACS;AAAC,OACN,CACV,EACAD,cAAc,iBACbhF,cAAA,CAACqG,wBAAqB,EAAA;AACpBlE,QAAAA,SAAS,EAAC,eAAe;AACzBxC,QAAAA,KAAK,EAAEsF,aAAc;AACrBlC,QAAAA,OAAO,EAAC;AAAO,OAChB,CACF;AAAA,KACD,CAAC,gBAEH/C,cAAA,CAACkB,SAAS,EAAA;AAENC,MAAAA,KAAK,EAALA,KAAK;AACLE,MAAAA,YAAY,EAAZA,YAAY;AACZC,MAAAA,oBAAoB,EAApBA,oBAAoB;AACpBC,MAAAA,oBAAoB,EAApBA,oBAAoB;AACpBhC,MAAAA,IAAI,EAAJA,IAAI;AACJ6B,MAAAA,KAAK,EAALA,KAAK;AACL7D,MAAAA,IAAI,EAAJA,IAAI;AACJoC,MAAAA,KAAK,EAALA;AAAK,KAER,CACF;AAAA,GACE,CAAC;AAEV,CAAC;;;;AC7JD,IAAM2G,cAAY,GAAG,SAAfA,YAAYA,CAAAhH,IAAA,EAAA;AAAA,EAAA,IAAAiH,mBAAA,GAAAjH,IAAA,CAChBiE,cAAc;AAAdA,IAAAA,cAAc,GAAAgD,mBAAA,KAAA,MAAA,GAAG,IAAI,GAAAA,mBAAA;IACrBC,OAAO,GAAAlH,IAAA,CAAPkH,OAAO;IAAAC,iBAAA,GAAAnH,IAAA,CACPkE,YAAY;AAAZA,IAAAA,YAAY,GAAAiD,iBAAA,KAAA,MAAA,GAAGC,cAAI,GAAAD,iBAAA;IAAAE,iBAAA,GAAArH,IAAA,CACnBmE,YAAY;AAAZA,IAAAA,YAAY,GAAAkD,iBAAA,KAAA,MAAA,GAAGD,cAAI,GAAAC,iBAAA;IACnBC,gBAAgB,GAAAtH,IAAA,CAAhBsH,gBAAgB;IAChBlH,QAAQ,GAAAJ,IAAA,CAARI,QAAQ;IAAAmH,cAAA,GAAAvH,IAAA,CACRqE,SAAS;AAATA,IAAAA,SAAS,GAAAkD,cAAA,KAAA,MAAA,GAAG,KAAK,GAAAA,cAAA;IAAAC,UAAA,GAAAxH,IAAA,CACjByH,KAAK;AAALA,IAAAA,KAAK,GAAAD,UAAA,KAAA,MAAA,GAAG,EAAE,GAAAA,UAAA;AAAA,EAAA,oBAEV5E,eAAA,CAAA,KAAA,EAAA;AAAKC,IAAAA,SAAS,EAAC,MAAM;AAAC,IAAA,aAAA,EAAY,4BAA4B;IAAAC,QAAA,EAAA,CAC3D2E,KAAK,iBACJ7E,eAAA,CAAA,KAAA,EAAA;AAAKC,MAAAA,SAAS,EAAC,8BAA8B;MAAAC,QAAA,EAAA,cAC3CpC,cAAA,CAAC8F,qBAAU,EAAA;AACT3D,QAAAA,SAAS,EAAC,2BAA2B;AACrCY,QAAAA,OAAO,EAAC,IAAI;AACZqD,QAAAA,MAAM,EAAC,MAAM;AAAAhE,QAAAA,QAAA,EAEZ2E;AAAK,OACI,CAAC,EACZhH,mBAAS,CAAC6G,gBAAgB,CAAC,iBAAI5G,cAAA,CAACgH,cAAW,EAAAC,aAAA,CAAA,EAAA,EAAKL,gBAAgB,CAAG,CAAC;AAAA,KAClE,CACN,EACAJ,OAAO,CACL3F,MAAM,CAAC,UAAAqG,MAAM,EAAA;AAAA,MAAA,OAAIA,MAAM,CAAC5C,UAAU,IAAIpE,cAAc,CAACgH,MAAM,CAAC;AAAA,IAAA,CAAA,CAAC,CAC7DC,GAAG,CAAC,UAACD,MAAM,EAAEE,KAAK,EAAA;MAAA,oBACjBC,mBAAA,CAAC/D,IAAI,EAAA;AAEDC,QAAAA,cAAc,EAAdA,cAAc;AACdC,QAAAA,YAAY,EAAZA,YAAY;AACZC,QAAAA,YAAY,EAAZA,YAAY;AACZ/D,QAAAA,QAAQ,EAARA,QAAQ;AACRiE,QAAAA,SAAS,EAATA,SAAS;AAEXD,QAAAA,IAAI,EAAEwD,MAAO;AACbI,QAAAA,GAAG,EAAEF;AAAM,OACZ,CAAC;AAAA,IAAA,CACH,CAAC;AAAA,GACD,CAAC;AAAA,CACP;AAED,mBAAA,aAAe/D,UAAI,CAACiD,cAAY,CAAC;;ACxCjC,IAAMiB,kBAAkB,GAAG,SAArBA,kBAAkBA,CAAAjI,IAAA,EAUlB;AAAA,EAAA,IAAAiH,mBAAA,GAAAjH,IAAA,CATJiE,cAAc;AAAdA,IAAAA,cAAc,GAAAgD,mBAAA,KAAA,MAAA,GAAG,KAAK,GAAAA,mBAAA;IACtBC,OAAO,GAAAlH,IAAA,CAAPkH,OAAO;IAAAC,iBAAA,GAAAnH,IAAA,CACPkE,YAAY;AAAZA,IAAAA,YAAY,GAAAiD,iBAAA,KAAA,MAAA,GAAGC,cAAI,GAAAD,iBAAA;IAAAE,iBAAA,GAAArH,IAAA,CACnBmE,YAAY;AAAZA,IAAAA,YAAY,GAAAkD,iBAAA,KAAA,MAAA,GAAGD,cAAI,GAAAC,iBAAA;IAAAa,qBAAA,GAAAlI,IAAA,CACnBsH,gBAAgB;AAAhBA,IAAAA,gBAAgB,GAAAY,qBAAA,KAAA,MAAA,GAAG,EAAE,GAAAA,qBAAA;IAAAC,aAAA,GAAAnI,IAAA,CACrBI,QAAQ;AAARA,IAAAA,QAAQ,GAAA+H,aAAA,KAAA,MAAA,GAAG,EAAE,GAAAA,aAAA;IAAAC,cAAA,GAAApI,IAAA,CACbqI,SAAS;AAATA,IAAAA,SAAS,GAAAD,cAAA,KAAA,MAAA,GAAG,KAAK,GAAAA,cAAA;IAAAE,gBAAA,GAAAtI,IAAA,CACjBuI,WAAW;AAAXA,IAAAA,WAAW,GAAAD,gBAAA,KAAA,MAAA,GAAG,EAAE,GAAAA,gBAAA;IAAAd,UAAA,GAAAxH,IAAA,CAChByH,KAAK;AAALA,IAAAA,KAAK,GAAAD,UAAA,KAAA,MAAA,GAAG,EAAE,GAAAA,UAAA;AAEV,EAAA,IAAAlD,SAAA,GAAwCC,cAAQ,CAAC,KAAK,CAAC;IAAAE,UAAA,GAAAC,cAAA,CAAAJ,SAAA,EAAA,CAAA,CAAA;AAAhDkE,IAAAA,YAAY,GAAA/D,UAAA,CAAA,CAAA,CAAA;AAAEgE,IAAAA,eAAe,GAAAhE,UAAA,CAAA,CAAA,CAAA;EAEpC,IAAMiE,mBAAmB,GAAG9C,aAAO,CACjC,YAAA;AAAA,IAAA,OAAM+C,kBAAQ,CAAC;AAAE1I,MAAAA,IAAI,EAAE;KAAU,EAAEsI,WAAW,CAAC;EAAA,CAAA,EAC/C,CAACA,WAAW,CACd,CAAC;AAED,EAAA,IAAArG,eAAA,GAAcC,2BAAc,EAAE;IAAtBC,CAAC,GAAAF,eAAA,CAADE,CAAC;AAET,EAAA,IAAIiG,SAAS,EAAE;AACb,IAAA,oBACE3H,cAAA,CAAA,KAAA,EAAA;AAAKmC,MAAAA,SAAS,EAAC,gDAAgD;MAAAC,QAAA,eAC7DpC,cAAA,CAACkI,kBAAO,EAAA;QAAC,aAAA,EAAY;OAAoB;AAAC,KACvC,CAAC;AAEV,EAAA;AAEA,EAAA,oBACEhG,eAAA,CAAA,KAAA,EAAA;AAAKC,IAAAA,SAAS,EAAC,QAAQ;IAAAC,QAAA,EAAA,cACrBpC,cAAA,CAACsG,YAAY,EAAA;AAET/C,MAAAA,cAAc,EAAdA,cAAc;AACdiD,MAAAA,OAAO,EAAPA,OAAO;AACPhD,MAAAA,YAAY,EAAZA,YAAY;AACZC,MAAAA,YAAY,EAAZA,YAAY;AACZmD,MAAAA,gBAAgB,EAAhBA,gBAAgB;AAChBlH,MAAAA,QAAQ,EAARA,QAAQ;AACRqH,MAAAA,KAAK,EAALA,KAAK;MAEPpD,SAAS,EAAA;AAAA,KACV,CAAC,EACDmE,YAAY,iBACX5F,eAAA,CAAA6D,mBAAA,EAAA;AAAA3D,MAAAA,QAAA,gBACEpC,cAAA,CAAA,IAAA,EAAA;AAAImC,QAAAA,SAAS,EAAC;AAAoB,OAAE,CAAC,eACrCnC,cAAA,CAACsG,YAAY,EAAA;AAET9C,QAAAA,YAAY,EAAZA,YAAY;AACZC,QAAAA,YAAY,EAAZA,YAAY;AACZmD,QAAAA,gBAAgB,EAAhBA,gBAAgB;AAChBlH,QAAAA,QAAQ,EAARA,QAAQ;QAEV8G,OAAO,EAAE2B,kBAAQ,CAAC;AAAE5I,UAAAA,IAAI,EAAE;AAAS,SAAC,EAAEsI,WAAW;OAClD,CAAC,EACD9H,mBAAS,CAACiI,mBAAmB,CAAC,iBAC7B9F,eAAA,CAAA6D,mBAAA,EAAA;AAAA3D,QAAAA,QAAA,gBACEpC,cAAA,CAAA,IAAA,EAAA;AAAImC,UAAAA,SAAS,EAAC;AAAoB,SAAE,CAAC,EACpCiG,WAAK,CAAC,OAAO,EAAEJ,mBAAmB,CAAC;AAAA,OACpC,CACH;AAAA,KACD,CACH,eACDhI,cAAA,CAAC4C,iBAAM,EAAA;AACLT,MAAAA,SAAS,EAAC,MAAM;AAChB,MAAA,aAAA,EAAY,uBAAuB;AACnCU,MAAAA,IAAI,EAAEiF,YAAY,GAAGO,mBAAS,GAAGC,uBAAY;AAC7CvF,MAAAA,OAAO,EAAC,MAAM;MACd3B,KAAK,EACH0G,YAAY,GACRpG,CAAC,CAAC,4CAA4C,CAAC,GAC/CA,CAAC,CAAC,4CAA4C,CACnD;MACDyB,OAAO,EAAE,SAATA,OAAOA,GAAA;QAAA,OAAQ4E,eAAe,CAACQ,SAAG,CAAC;AAAA,MAAA;AAAC,KACrC,CAAC;AAAA,GACC,CAAC;AAEV,CAAC;AAyCD,YAAA,aAAelF,UAAI,CAACkE,kBAAkB,CAAC;;;;","x_google_ignoreList":[0,1,2]}
1
+ {"version":3,"file":"SessionEnvironment.js","sources":["../../../node_modules/lucide-react/dist/esm/icons/mail.mjs","../../../node_modules/lucide-react/dist/esm/icons/map-pin.mjs","../../../node_modules/lucide-react/dist/esm/icons/phone.mjs","../../../src/v2/components/SessionEnvironment/constants.js","../../../src/v2/components/SessionEnvironment/utils.jsx","../../../src/v2/components/SessionEnvironment/EditField.jsx","../../../src/v2/components/SessionEnvironment/Item.jsx","../../../src/v2/components/SessionEnvironment/DetailsBlock.jsx","../../../src/v2/components/SessionEnvironment/index.jsx"],"sourcesContent":["/**\n * @license lucide-react v1.24.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.mjs';\n\nconst __iconNode = [\n [\"path\", { d: \"m22 7-8.991 5.727a2 2 0 0 1-2.009 0L2 7\", key: \"132q7q\" }],\n [\"rect\", { x: \"2\", y: \"4\", width: \"20\", height: \"16\", rx: \"2\", key: \"izxlao\" }]\n];\nconst Mail = createLucideIcon(\"mail\", __iconNode);\n\nexport { __iconNode, Mail as default };\n//# sourceMappingURL=mail.mjs.map\n","/**\n * @license lucide-react v1.24.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.mjs';\n\nconst __iconNode = [\n [\n \"path\",\n {\n d: \"M20 10c0 4.993-5.539 10.193-7.399 11.799a1 1 0 0 1-1.202 0C9.539 20.193 4 14.993 4 10a8 8 0 0 1 16 0\",\n key: \"1r0f0z\"\n }\n ],\n [\"circle\", { cx: \"12\", cy: \"10\", r: \"3\", key: \"ilqhr7\" }]\n];\nconst MapPin = createLucideIcon(\"map-pin\", __iconNode);\n\nexport { __iconNode, MapPin as default };\n//# sourceMappingURL=map-pin.mjs.map\n","/**\n * @license lucide-react v1.24.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.mjs';\n\nconst __iconNode = [\n [\n \"path\",\n {\n d: \"M13.832 16.568a1 1 0 0 0 1.213-.303l.355-.465A2 2 0 0 1 17 15h3a2 2 0 0 1 2 2v3a2 2 0 0 1-2 2A18 18 0 0 1 2 4a2 2 0 0 1 2-2h3a2 2 0 0 1 2 2v3a2 2 0 0 1-.8 1.6l-.468.351a1 1 0 0 0-.292 1.233 14 14 0 0 0 6.392 6.384\",\n key: \"9njp5v\"\n }\n ]\n];\nconst Phone = createLucideIcon(\"phone\", __iconNode);\n\nexport { __iconNode, Phone as default };\n//# sourceMappingURL=phone.mjs.map\n","import {\n Globe,\n Mail,\n MapPin,\n Monitor,\n Phone,\n Smartphone,\n User,\n} from \"lucide-react\";\nimport {\n Apple,\n Chrome,\n Edge,\n Firefox,\n Safari,\n Ubuntu,\n Windows,\n} from \"neetoicons/misc\";\n\nexport const BOOLEAN_VALUES_MAP = { true: \"Yes\", false: \"No\" };\nexport const ENTER = \"enter\";\nexport const ESCAPE = \"escape\";\nexport const PHONE_NUMBER = \"phone_number\";\nexport const INTEGER = \"integer\";\nexport const ICONS_MAP = {\n name: User,\n user: User,\n email: Mail,\n phone_number: Phone,\n location: MapPin,\n timezone: Globe,\n chrome: Chrome,\n safari: Safari,\n mobile_safari: Safari,\n firefox: Firefox,\n edge: Edge,\n ie: Edge,\n windows: Windows,\n mac_os: Apple,\n // ua-parser-js v2 renamed \"Mac OS\" to \"macOS\" (and reports \"iOS\"/\"Ubuntu\"\n // directly), so the derived lookup keys changed; keep the v1 keys too.\n macos: Apple,\n ios: Apple,\n ubuntu: Ubuntu,\n linux: Ubuntu,\n mobile: Smartphone,\n desktop: Monitor,\n};\n","import { isPresent } from \"neetocist\";\nimport { prop, pipe } from \"ramda\";\n\nimport { ICONS_MAP, INTEGER, PHONE_NUMBER } from \"./constants\";\n\nexport const getInputType = ({ name, kind }) => {\n if (name === PHONE_NUMBER) return \"tel\";\n else if (kind === INTEGER) return \"number\";\n\n return \"text\";\n};\n\nexport const getIcon = ({ iconSize, name, value }) => {\n const Icon =\n name === \"browser\" || name === \"os\"\n ? ICONS_MAP[value?.toLowerCase().replace(\" \", \"_\")]\n : ICONS_MAP[name];\n\n return isPresent(Icon) ? <Icon size={iconSize} /> : null;\n};\n\nexport const isValuePresent = pipe(prop(\"value\"), isPresent);\n\nexport const mergeRefs =\n (...refs) =>\n node =>\n refs\n .filter(Boolean)\n .forEach(ref =>\n typeof ref === \"function\" ? ref(node) : (ref.current = node)\n );\n","import { memo } from \"react\";\n\nimport { Button, Input } from \"@bigbinary/neeto-atoms\";\nimport { Check, X } from \"lucide-react\";\nimport { hyphenate } from \"neetocist\";\nimport useHotkeys from \"neetohotkeys\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { ENTER, ESCAPE, PHONE_NUMBER } from \"./constants\";\nimport { getInputType, mergeRefs } from \"./utils\";\n\nimport { PhoneNumberInput } from \"../PhoneNumber\";\n\nconst EditField = ({\n name,\n error,\n label,\n kind,\n value,\n handleChange,\n handleMetadataCancel,\n handleMetadataSubmit,\n}) => {\n const { t } = useTranslation();\n\n const enterRef = useHotkeys(ENTER, handleMetadataSubmit, {\n mode: \"scoped\",\n });\n\n const cancelRef = useHotkeys(ESCAPE, handleMetadataCancel, {\n mode: \"scoped\",\n });\n\n const InputComponent = name === PHONE_NUMBER ? PhoneNumberInput : Input;\n\n return (\n <div className=\"relative flex min-w-0 flex-grow items-center\">\n <InputComponent\n {...{ error }}\n autoFocus\n className=\"w-full [&_input]:pe-[2.8125rem]\"\n data-testid={`metadata-input-${hyphenate(name)}`}\n placeholder={t(\"neetoMolecules.common.enter\", { what: label })}\n ref={mergeRefs(enterRef, cancelRef)}\n type={getInputType({ name, kind })}\n value={value || \"\"}\n onChange={handleChange}\n />\n <div className=\"absolute end-0 top-0 flex h-8 items-center pe-1\">\n <Button\n data-testid={`metadata-cancel-${hyphenate(name)}`}\n icon={X}\n size=\"sm\"\n variant=\"ghost\"\n tooltipProps={{\n content: t(\"neetoMolecules.common.actions.cancel\"),\n position: \"top\",\n }}\n onClick={handleMetadataCancel}\n />\n <Button\n data-testid={`metadata-submit-${hyphenate(name)}`}\n icon={Check}\n size=\"sm\"\n variant=\"ghost\"\n tooltipProps={{\n content: t(\"neetoMolecules.common.actions.save\"),\n position: \"top\",\n }}\n onClick={handleMetadataSubmit}\n />\n </div>\n </div>\n );\n};\n\nexport default memo(EditField);\n","import { useEffect, useMemo, useState } from \"react\";\n\nimport { Tooltip, Typography } from \"@bigbinary/neeto-atoms\";\nimport classNames from \"classnames\";\nimport { isPresent, hyphenate } from \"neetocist\";\nimport { isNil } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { BOOLEAN_VALUES_MAP, PHONE_NUMBER } from \"./constants\";\nimport EditField from \"./EditField\";\nimport { getIcon } from \"./utils\";\n\nimport CopyToClipboardButton from \"../CopyToClipboardButton\";\nimport TimeFormat from \"../TimeFormat\";\n\nconst Item = ({\n allowMultiline,\n handleCancel,\n handleSubmit,\n iconSize,\n item,\n showIcons,\n}) => {\n const [isEditing, setIsEditing] = useState(item.isEditing);\n const [value, setValue] = useState(item.value);\n\n const { t } = useTranslation();\n\n const {\n icon,\n isEditable = false,\n extraClasses = \"\",\n extraWrapperClasses = \"\",\n id,\n fieldValueId,\n custom = false,\n name,\n kind,\n error,\n label,\n showCopyButton = false,\n } = item;\n\n const valueToRender = useMemo(() => {\n if (isNil(value) || value === \"\") return \"-\";\n\n if (typeof value === \"boolean\") return BOOLEAN_VALUES_MAP[value.toString()];\n\n if (name === \"email\") return value.toLowerCase();\n\n return value;\n }, [value]);\n\n const iconToRender = useMemo(\n () => icon || getIcon({ iconSize, name, value }),\n [icon, iconSize, name, value]\n );\n\n const onSuccess = () => setIsEditing(false);\n\n const handleMetadataSubmit = () =>\n handleSubmit({ fieldId: id, fieldValueId, name, value, custom, onSuccess });\n\n const handleMetadataCancel = () => {\n setIsEditing(false);\n setValue(item.value);\n handleCancel(name);\n };\n\n const handleChange = event => {\n const value = name === PHONE_NUMBER ? event : event.target.value;\n setValue(value);\n };\n\n const handleValueKeyDown = event => {\n if (!isEditable) return;\n\n if (event.key === \"Enter\" || event.key === \" \") {\n event.preventDefault();\n setIsEditing(true);\n }\n };\n\n useEffect(() => {\n setValue(item.value);\n }, [item]);\n\n const labelKey = hyphenate(name ?? label);\n const resolvedLabel =\n label || t(`neetoMolecules.sessionEnvironment.details.keys.${name}`);\n const isValueEmpty = isNil(value) || value === \"\";\n // An empty editable field renders a self-describing \"Add <field>\" target\n // instead of a bare \"-\" a few pixels wide.\n const showAddPlaceholder = isValueEmpty && isEditable;\n\n return (\n <div\n data-testid={`metadata-${labelKey}-container`}\n className={classNames(\n \"mb-3 flex place-items-center gap-2 align-middle\",\n extraWrapperClasses,\n {\n \"flex-wrap\": name !== PHONE_NUMBER && allowMultiline,\n \"flex-nowrap\": !allowMultiline,\n }\n )}\n >\n {showIcons && isPresent(iconToRender) ? (\n <Tooltip content={resolvedLabel}>\n {/* Icons act as the row's label — mute them like the text labels so\n values carry the visual weight. */}\n <div className=\"text-muted-foreground flex-shrink-0\">\n {iconToRender}\n </div>\n </Tooltip>\n ) : (\n <Typography\n className=\"whitespace-nowrap\"\n color=\"muted\"\n data-testid={`metadata-label-${labelKey}`}\n variant=\"body3\"\n >\n {resolvedLabel}\n </Typography>\n )}\n {!isEditing ? (\n <>\n {kind === \"datetime\" ? (\n <TimeFormat.DateWeekTime\n date={value}\n typographyProps={{\n variant: \"body3\",\n weight: \"medium\",\n className: classNames(\n `overflow-hidden truncate whitespace-normal break-all ${extraClasses}`,\n { \"whitespace-nowrap\": !allowMultiline }\n ),\n }}\n />\n ) : (\n <Tooltip\n content={valueToRender}\n disabled={isValueEmpty}\n position=\"top\"\n >\n <Typography\n color={showAddPlaceholder ? \"muted\" : undefined}\n data-testid={`metadata-value-${labelKey}`}\n role={isEditable ? \"button\" : undefined}\n tabIndex={isEditable ? 0 : undefined}\n variant=\"body3\"\n weight={showAddPlaceholder ? \"normal\" : \"medium\"}\n className={classNames(\n `truncate overflow-hidden break-all whitespace-normal ${extraClasses}`,\n {\n \"hover:border-input focus-visible:ring-ring cursor-pointer rounded border border-transparent p-0.5 transition-colors focus-visible:ring-1 focus-visible:outline-none motion-reduce:transition-none\":\n isEditable,\n \"whitespace-nowrap\": !allowMultiline,\n }\n )}\n onClick={() => isEditable && setIsEditing(true)}\n onKeyDown={handleValueKeyDown}\n >\n {showAddPlaceholder\n ? t(\"neetoMolecules.common.actions.add\", {\n entity: resolvedLabel,\n })\n : valueToRender}\n </Typography>\n </Tooltip>\n )}\n {showCopyButton && !isValueEmpty && (\n <CopyToClipboardButton\n className=\"text-muted-foreground size-6 flex-shrink-0\"\n value={valueToRender}\n variant=\"ghost\"\n />\n )}\n </>\n ) : (\n <EditField\n {...{\n error,\n handleChange,\n handleMetadataCancel,\n handleMetadataSubmit,\n kind,\n label,\n name,\n value,\n }}\n />\n )}\n </div>\n );\n};\n\nexport default Item;\n","import { memo } from \"react\";\n\nimport { Typography } from \"@bigbinary/neeto-atoms\";\nimport { isPresent, noop } from \"neetocist\";\n\nimport Item from \"./Item\";\nimport { isValuePresent } from \"./utils\";\n\nimport HelpPopover from \"../HelpPopover\";\n\nconst DetailsBlock = ({\n allowMultiline = true,\n details,\n handleCancel = noop,\n handleSubmit = noop,\n helpPopoverProps,\n iconSize,\n showIcons = false,\n title = \"\",\n}) => (\n <div className=\"mb-4\" data-testid=\"details-block-items-parent\">\n {title && (\n <div className=\"mb-2 flex items-center gap-2\">\n <Typography className=\"uppercase\" variant=\"h6\" weight=\"bold\">\n {title}\n </Typography>\n {isPresent(helpPopoverProps) && <HelpPopover {...helpPopoverProps} />}\n </div>\n )}\n {details\n .filter(detail => detail.isEditable || isValuePresent(detail))\n .map((detail, index) => (\n <Item\n {...{\n allowMultiline,\n handleCancel,\n handleSubmit,\n iconSize,\n showIcons,\n }}\n item={detail}\n key={index}\n />\n ))}\n </div>\n);\n\nexport default memo(DetailsBlock);\n","import { memo, useMemo, useState } from \"react\";\n\nimport { Button, Spinner } from \"@bigbinary/neeto-atoms\";\nimport { ChevronDown, ChevronUp } from \"lucide-react\";\nimport { filterBy, isPresent, noop, removeBy } from \"neetocist\";\nimport PropTypes from \"prop-types\";\nimport { pluck, not } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport DetailsBlock from \"./DetailsBlock\";\n\nconst SessionEnvironment = ({\n allowMultiline = false,\n details,\n handleCancel = noop,\n handleSubmit = noop,\n helpPopoverProps = {},\n iconSize = 20,\n isLoading = false,\n moreDetails = [],\n title = \"\",\n}) => {\n const [showViewMore, setShowViewMore] = useState(false);\n\n const customViewMoreItems = useMemo(\n () => filterBy({ kind: \"custom\" }, moreDetails),\n [moreDetails]\n );\n\n const { t } = useTranslation();\n\n if (isLoading) {\n return (\n <div className=\"flex h-full w-full items-center justify-center\">\n <Spinner data-testid=\"neeto-ui-spinner\" />\n </div>\n );\n }\n\n return (\n <div className=\"w-full\">\n <DetailsBlock\n {...{\n allowMultiline,\n details,\n handleCancel,\n handleSubmit,\n helpPopoverProps,\n iconSize,\n title,\n }}\n showIcons\n />\n {showViewMore && (\n <>\n <hr className=\"border-border my-4\" />\n <DetailsBlock\n {...{\n handleCancel,\n handleSubmit,\n helpPopoverProps,\n iconSize,\n }}\n details={removeBy({ kind: \"custom\" }, moreDetails)}\n />\n {isPresent(customViewMoreItems) && (\n <>\n <hr className=\"border-border my-4\" />\n {pluck(\"value\", customViewMoreItems)}\n </>\n )}\n </>\n )}\n <Button\n className=\"mb-4\"\n data-testid=\"view-more-less-button\"\n icon={showViewMore ? ChevronUp : ChevronDown}\n variant=\"link\"\n label={\n showViewMore\n ? t(\"neetoMolecules.sessionEnvironment.viewLess\")\n : t(\"neetoMolecules.sessionEnvironment.viewMore\")\n }\n onClick={() => setShowViewMore(not)}\n />\n </div>\n );\n};\n\nSessionEnvironment.propTypes = {\n /*\n details can be an array of fields to be displayed.\n */\n details: PropTypes.array,\n /*\n handleCancel is a function that will be called when the cancel button is clicked.\n */\n handleCancel: PropTypes.func,\n /*\n handleSubmit is a function that will be called when the form is submitted.\n */\n handleSubmit: PropTypes.func,\n /*\n helpPopoverProps are the props that will be passed to the HelpPopover component.\n */\n helpPopoverProps: PropTypes.object,\n /*\n iconSize is a number that will be used to set the size of the icon.\n */\n iconSize: PropTypes.number,\n /*\n isLoading is a boolean that will be used to show a spinner when true.\n */\n isLoading: PropTypes.bool,\n /*\n moreDetails can be an array of fields to be displayed when the view more button is clicked.\n */\n moreDetails: PropTypes.array,\n /*\n The title to be displayed above the details.\n */\n title: PropTypes.string,\n /*\n allowMultiline is a boolean that will be used to decide whether the items should be displayed in a single line or multiple lines.\n */\n allowMultiline: PropTypes.bool,\n};\n\nexport default memo(SessionEnvironment);\n"],"names":["__iconNode","createLucideIcon","BOOLEAN_VALUES_MAP","ENTER","ESCAPE","PHONE_NUMBER","INTEGER","ICONS_MAP","name","User","user","email","Mail","phone_number","Phone","location","MapPin","timezone","Globe","chrome","Chrome","safari","Safari","mobile_safari","firefox","Firefox","edge","Edge","ie","windows","Windows","mac_os","Apple","macos","ios","ubuntu","Ubuntu","linux","mobile","Smartphone","desktop","Monitor","getInputType","_ref","kind","getIcon","_ref2","iconSize","value","Icon","toLowerCase","replace","isPresent","_jsx","size","isValuePresent","pipe","prop","mergeRefs","_len","arguments","length","refs","Array","_key","node","filter","Boolean","forEach","ref","current","EditField","error","label","handleChange","handleMetadataCancel","handleMetadataSubmit","_useTranslation","useTranslation","t","enterRef","useHotkeys","mode","cancelRef","InputComponent","PhoneNumberInput","Input","_jsxs","className","children","autoFocus","concat","hyphenate","placeholder","what","type","onChange","Button","icon","X","variant","tooltipProps","content","position","onClick","Check","memo","Item","allowMultiline","handleCancel","handleSubmit","item","showIcons","_useState","useState","isEditing","_useState2","_slicedToArray","setIsEditing","_useState3","_useState4","setValue","_item$isEditable","isEditable","_item$extraClasses","extraClasses","_item$extraWrapperCla","extraWrapperClasses","id","fieldValueId","_item$custom","custom","_item$showCopyButton","showCopyButton","valueToRender","useMemo","isNil","toString","iconToRender","onSuccess","fieldId","event","target","handleValueKeyDown","key","preventDefault","useEffect","labelKey","resolvedLabel","isValueEmpty","showAddPlaceholder","classNames","Tooltip","Typography","color","_Fragment","TimeFormat","DateWeekTime","date","typographyProps","weight","disabled","undefined","role","tabIndex","onKeyDown","entity","CopyToClipboardButton","DetailsBlock","_ref$allowMultiline","details","_ref$handleCancel","noop","_ref$handleSubmit","helpPopoverProps","_ref$showIcons","_ref$title","title","HelpPopover","_objectSpread","detail","map","index","_createElement","SessionEnvironment","_ref$helpPopoverProps","_ref$iconSize","_ref$isLoading","isLoading","_ref$moreDetails","moreDetails","showViewMore","setShowViewMore","customViewMoreItems","filterBy","Spinner","removeBy","pluck","ChevronUp","ChevronDown","not"],"mappings":"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","x_google_ignoreList":[0,1,2]}
@@ -26,9 +26,9 @@ var Block = function Block(_ref) {
26
26
  children: [title && /*#__PURE__*/jsx("div", {
27
27
  className: "flex w-60 items-center gap-2 break-all",
28
28
  children: /*#__PURE__*/jsx(Typography, {
29
- className: "text-foreground uppercase",
29
+ className: "uppercase",
30
30
  "data-testid": "metadata-block-title",
31
- variant: "h5",
31
+ variant: "h6",
32
32
  weight: "bold",
33
33
  children: title
34
34
  })
@@ -82,7 +82,7 @@ var DetailsBlock = function DetailsBlock(_ref) {
82
82
  if (typeof value === "string") {
83
83
  return /*#__PURE__*/jsx(Typography, {
84
84
  className: "[overflow-wrap:anywhere]",
85
- variant: "body2",
85
+ variant: "body3",
86
86
  children: value
87
87
  });
88
88
  }
@@ -112,8 +112,8 @@ var DetailsBlock = function DetailsBlock(_ref) {
112
112
  "flex-col": style === STYLES.multiline
113
113
  }),
114
114
  children: [/*#__PURE__*/jsx(Typography, {
115
- className: "text-muted-foreground",
116
- variant: "body2",
115
+ color: "muted",
116
+ variant: "body3",
117
117
  children: label
118
118
  }), renderDetailsValue(value)]
119
119
  })
@@ -132,8 +132,8 @@ var DetailsBlock = function DetailsBlock(_ref) {
132
132
  "flex-col": style === STYLES.multiline
133
133
  }),
134
134
  children: [/*#__PURE__*/jsx(Typography, {
135
- className: "text-muted-foreground",
136
- variant: "body2",
135
+ color: "muted",
136
+ variant: "body3",
137
137
  children: label
138
138
  }), renderDetailsValue(value)]
139
139
  })
@@ -156,7 +156,7 @@ var DetailsBlock = function DetailsBlock(_ref) {
156
156
  };
157
157
 
158
158
  var Metadata = function Metadata(_ref) {
159
- var _SIZE_WIDTH_CLASSES$s;
159
+ var _SIZE_WIDTH_CLASSES$s, _SIZE_WIDTH_CLASSES$s2;
160
160
  var headerBlock = _ref.headerBlock,
161
161
  _ref$size = _ref.size,
162
162
  size = _ref$size === void 0 ? SIZES.medium : _ref$size,
@@ -175,17 +175,21 @@ var Metadata = function Metadata(_ref) {
175
175
  }, [isLargerScreen]);
176
176
  return /*#__PURE__*/jsxs(Fragment$1, {
177
177
  children: [!isElementsPanelCollapsed && /*#__PURE__*/jsx("div", {
178
- className: "absolute end-0 top-0 z-[51] hidden h-full w-full bg-black/40 min-[576px]:max-[1024px]:block",
178
+ className: "absolute end-0 top-0 z-50 hidden h-full w-full bg-black/40 min-[576px]:max-[1024px]:block",
179
179
  onClick: function onClick() {
180
180
  setIsElementsPanelCollapsed(!isElementsPanelCollapsed);
181
181
  }
182
182
  }), /*#__PURE__*/jsxs("div", {
183
- className: classnames("relative z-[51] h-full transition-all duration-150 motion-reduce:transition-none max-[1024px]:fixed max-[1024px]:end-0 max-[1024px]:top-0 max-[1024px]:transition-none", isElementsPanelCollapsed ? "w-0 max-w-0 min-w-0" : "w-[384px] min-w-[384px] max-[576px]:h-full max-[576px]:w-full max-[576px]:max-w-full max-[576px]:min-w-0 min-[1024px]:max-[1200px]:w-[300px] min-[1024px]:max-[1200px]:min-w-[300px]"),
183
+ className: classnames(
184
+ // z-50, not above it: Radix portals (dropdowns, popovers) also render
185
+ // at z-50 and are appended later in the DOM, so they must win — at
186
+ // z-[51] the pane swallowed every dropdown anchored inside it.
187
+ "relative z-50 h-full transition-all duration-150 motion-reduce:transition-none max-[1024px]:fixed max-[1024px]:end-0 max-[1024px]:top-0 max-[1024px]:transition-none", isElementsPanelCollapsed ? "w-0 max-w-0 min-w-0" : classnames((_SIZE_WIDTH_CLASSES$s = SIZE_WIDTH_CLASSES[size]) !== null && _SIZE_WIDTH_CLASSES$s !== void 0 ? _SIZE_WIDTH_CLASSES$s : SIZE_WIDTH_CLASSES[SIZES.medium], "max-[576px]:h-full max-[576px]:w-full max-[576px]:max-w-full max-[576px]:min-w-0")),
184
188
  children: [/*#__PURE__*/jsx("div", {
185
189
  className: "flex h-full w-full justify-end overflow-hidden",
186
190
  children: /*#__PURE__*/jsxs("div", {
187
191
  "data-testid": "neeto-molecules-metadata-wrapper",
188
- className: classnames("bg-background border-border h-dvh flex-shrink-0 overflow-x-hidden overflow-y-auto border-s p-6 max-[576px]:w-full max-[576px]:min-w-0 max-[576px]:pt-12", (_SIZE_WIDTH_CLASSES$s = SIZE_WIDTH_CLASSES[size]) !== null && _SIZE_WIDTH_CLASSES$s !== void 0 ? _SIZE_WIDTH_CLASSES$s : SIZE_WIDTH_CLASSES[SIZES.medium], className),
192
+ className: classnames("bg-background border-border h-dvh flex-shrink-0 overflow-x-hidden overflow-y-auto border-s p-6 max-[576px]:w-full max-[576px]:min-w-0 max-[576px]:pt-12", (_SIZE_WIDTH_CLASSES$s2 = SIZE_WIDTH_CLASSES[size]) !== null && _SIZE_WIDTH_CLASSES$s2 !== void 0 ? _SIZE_WIDTH_CLASSES$s2 : SIZE_WIDTH_CLASSES[SIZES.medium], className),
189
193
  children: [headerBlock && /*#__PURE__*/jsx("div", {
190
194
  className: "mb-5 flex w-full justify-center",
191
195
  "data-testid": "neeto-molecules-metadata-header",
@@ -1 +1 @@
1
- {"version":3,"file":"Metadata.js","sources":["../../src/v2/components/Metadata/Block.jsx","../../src/v2/components/Metadata/constants.js","../../src/v2/components/Metadata/DetailsBlock.jsx","../../src/v2/components/Metadata/index.jsx"],"sourcesContent":["import { Typography } from \"@bigbinary/neeto-atoms\";\nimport classnames from \"classnames\";\nimport PropTypes from \"prop-types\";\n\nconst Block = ({ title, actionBlock, children, className = \"\" }) => (\n <div\n className=\"border-border mb-4 w-full border-b pb-4\"\n data-testid=\"neeto-molecules-metadata-block\"\n >\n {(title || actionBlock) && (\n <div className=\"mb-2 flex w-full items-center justify-between gap-2\">\n {title && (\n <div className=\"flex w-60 items-center gap-2 break-all\">\n <Typography\n className=\"text-foreground uppercase\"\n data-testid=\"metadata-block-title\"\n variant=\"h5\"\n weight=\"bold\"\n >\n {title}\n </Typography>\n </div>\n )}\n {actionBlock && <div className=\"ms-auto\">{actionBlock}</div>}\n </div>\n )}\n {!!children && (\n <div\n className={classnames(\"bg-background\", className)}\n data-testid=\"metadata-card\"\n >\n {children}\n </div>\n )}\n </div>\n);\n\nBlock.propTypes = {\n /**\n * To specify the content to be rendered on the right side of the title.\n */\n actionBlock: PropTypes.node,\n /**\n * To specify the title of the block.\n */\n title: PropTypes.string,\n /**\n * The content to be rendered inside the block.\n */\n children: PropTypes.oneOfType([\n PropTypes.arrayOf(PropTypes.node),\n PropTypes.node,\n ]),\n /**\n * To specify external classNames as overrides to the `Block` component.\n */\n className: PropTypes.string,\n};\n\nexport default Block;\n","export const STYLES = { inline: \"inline\", multiline: \"multiline\" };\n\nexport const SIZES = { small: \"small\", medium: \"medium\" };\n\nexport const DEFAULT_TRUNCATE_AT = 3;\n\nexport const SIZE_WIDTH_CLASSES = {\n [SIZES.medium]:\n \"w-[384px] min-w-[384px] min-[1024px]:max-[1200px]:w-[300px] min-[1024px]:max-[1200px]:min-w-[300px]\",\n [SIZES.small]:\n \"w-[340px] min-w-[340px] min-[1024px]:max-[1200px]:w-[300px] min-[1024px]:max-[1200px]:min-w-[300px]\",\n};\n","import { Fragment, useState } from \"react\";\n\nimport { Button, Typography } from \"@bigbinary/neeto-atoms\";\nimport classnames from \"classnames\";\nimport { ChevronDown, ChevronUp } from \"lucide-react\";\nimport { isNotEmpty } from \"neetocist\";\nimport PropTypes from \"prop-types\";\nimport { useTranslation } from \"react-i18next\";\n\nimport Block from \"./Block\";\nimport { DEFAULT_TRUNCATE_AT, STYLES } from \"./constants\";\n\nconst DetailsBlock = ({\n title,\n actionBlock,\n details = [],\n className,\n style = STYLES.inline,\n truncate = false,\n truncateAt = DEFAULT_TRUNCATE_AT,\n children,\n}) => {\n const [showTruncated, setShowTruncated] = useState(false);\n\n const { t } = useTranslation();\n\n const [visibleDetails, truncatedDetails] = truncate\n ? [details.slice(0, truncateAt), details.slice(truncateAt)]\n : [details];\n\n const renderDetailsValue = value => {\n if (typeof value === \"string\") {\n return (\n <Typography className=\"[overflow-wrap:anywhere]\" variant=\"body2\">\n {value}\n </Typography>\n );\n }\n\n return <span className=\"min-w-0 flex-grow\">{value}</span>;\n };\n\n return (\n <Block\n {...{ actionBlock, className }}\n title={title ?? t(\"neetoMolecules.metadata.detailsTitle\")}\n >\n <div\n className=\"flex flex-col gap-y-3\"\n data-testid=\"neeto-molecules-metadata-details-block\"\n >\n {visibleDetails.map(({ label, value, type }, index) => (\n <Fragment key={index}>\n {type === \"divider\" ? (\n <hr className=\"border-border\" />\n ) : (\n <div\n data-testid=\"details-card-detail-wrapper\"\n className={classnames(\"flex\", {\n \"items-center gap-x-4\": style === STYLES.inline,\n \"flex-col\": style === STYLES.multiline,\n })}\n >\n <Typography className=\"text-muted-foreground\" variant=\"body2\">\n {label}\n </Typography>\n {renderDetailsValue(value)}\n </div>\n )}\n </Fragment>\n ))}\n {!truncate && children}\n {showTruncated && (\n <>\n {truncatedDetails.map(({ label, value, type }, index) => (\n <Fragment key={index}>\n {type === \"divider\" ? (\n <hr className=\"border-border\" />\n ) : (\n <div\n className={classnames(\"flex\", {\n \"gap-x-4\": style === STYLES.inline,\n \"flex-col\": style === STYLES.multiline,\n })}\n >\n <Typography\n className=\"text-muted-foreground\"\n variant=\"body2\"\n >\n {label}\n </Typography>\n {renderDetailsValue(value)}\n </div>\n )}\n </Fragment>\n ))}\n {children}\n </>\n )}\n {truncate && isNotEmpty(truncatedDetails) && (\n <Button\n data-testid=\"expand-button\"\n icon={showTruncated ? ChevronUp : ChevronDown}\n iconPosition=\"left\"\n variant=\"link\"\n label={\n showTruncated\n ? t(\"neetoMolecules.metadata.card.viewLess\")\n : t(\"neetoMolecules.metadata.card.viewMore\")\n }\n onClick={() => setShowTruncated(showTruncated => !showTruncated)}\n />\n )}\n </div>\n </Block>\n );\n};\n\nDetailsBlock.propTypes = {\n /**\n * To specify the content to be rendered on the right side of the title.\n */\n actionBlock: PropTypes.node,\n /**\n * To specify the title of the block.\n */\n title: PropTypes.string,\n /**\n * The details to be rendered inside the block.\n */\n details: PropTypes.arrayOf(\n PropTypes.shape({\n label: PropTypes.string,\n value: PropTypes.node,\n type: PropTypes.string,\n })\n ),\n /**\n * To specify whether the label and value should be rendered in a single line or in two lines.\n */\n style: PropTypes.oneOf([\"inline\", \"multiline\"]),\n /**\n * To specify whether the visible details should be truncated at a specific point.\n */\n truncate: PropTypes.bool,\n /**\n * To specify the position at which the details should be truncated and `View more` button should be shown.\n */\n truncateAt: PropTypes.number,\n /**\n * To specify external classNames as overrides to the `DetailsBlock` component.\n */\n className: PropTypes.string,\n /**\n * The additional content to be rendered inside the block.\n */\n children: PropTypes.oneOfType([\n PropTypes.arrayOf(PropTypes.node),\n PropTypes.node,\n ]),\n};\n\nexport default DetailsBlock;\n","import { useEffect, useState } from \"react\";\n\nimport { Button } from \"@bigbinary/neeto-atoms\";\nimport classnames from \"classnames\";\nimport { PanelLeftClose } from \"lucide-react\";\nimport useBreakpoints from \"neetocommons/v2/react-utils/useBreakpoints\";\nimport PropTypes from \"prop-types\";\n\nimport Block from \"./Block\";\nimport { SIZES, SIZE_WIDTH_CLASSES } from \"./constants\";\nimport DetailsBlock from \"./DetailsBlock\";\n\nconst Metadata = ({\n headerBlock,\n size = SIZES.medium,\n children,\n className = \"\",\n}) => {\n const { isSize } = useBreakpoints();\n const isLargerScreen = isSize(\"desktop\") || isSize(\"largeDesktop\");\n const [isElementsPanelCollapsed, setIsElementsPanelCollapsed] =\n useState(!isLargerScreen);\n\n useEffect(() => {\n setIsElementsPanelCollapsed(!isLargerScreen);\n }, [isLargerScreen]);\n\n return (\n <>\n {!isElementsPanelCollapsed && (\n <div\n className=\"absolute end-0 top-0 z-[51] hidden h-full w-full bg-black/40 min-[576px]:max-[1024px]:block\"\n onClick={() => {\n setIsElementsPanelCollapsed(!isElementsPanelCollapsed);\n }}\n />\n )}\n <div\n className={classnames(\n \"relative z-[51] h-full transition-all duration-150 motion-reduce:transition-none max-[1024px]:fixed max-[1024px]:end-0 max-[1024px]:top-0 max-[1024px]:transition-none\",\n isElementsPanelCollapsed\n ? \"w-0 max-w-0 min-w-0\"\n : \"w-[384px] min-w-[384px] max-[576px]:h-full max-[576px]:w-full max-[576px]:max-w-full max-[576px]:min-w-0 min-[1024px]:max-[1200px]:w-[300px] min-[1024px]:max-[1200px]:min-w-[300px]\"\n )}\n >\n <div className=\"flex h-full w-full justify-end overflow-hidden\">\n <div\n data-testid=\"neeto-molecules-metadata-wrapper\"\n className={classnames(\n \"bg-background border-border h-dvh flex-shrink-0 overflow-x-hidden overflow-y-auto border-s p-6 max-[576px]:w-full max-[576px]:min-w-0 max-[576px]:pt-12\",\n SIZE_WIDTH_CLASSES[size] ?? SIZE_WIDTH_CLASSES[SIZES.medium],\n className\n )}\n >\n {headerBlock && (\n <div\n className=\"mb-5 flex w-full justify-center\"\n data-testid=\"neeto-molecules-metadata-header\"\n >\n {headerBlock}\n </div>\n )}\n {children}\n </div>\n </div>\n {!isLargerScreen && (\n <Button\n icon={PanelLeftClose}\n size=\"icon\"\n variant=\"secondary\"\n className={classnames(\n \"absolute end-[calc(100%_+_8px)] top-2 shrink-0 max-[576px]:end-2\",\n {\n \"-scale-x-100 max-[576px]:start-2 max-[576px]:end-auto\":\n isElementsPanelCollapsed,\n }\n )}\n onClick={() => {\n setIsElementsPanelCollapsed(!isElementsPanelCollapsed);\n }}\n />\n )}\n </div>\n </>\n );\n};\n\nMetadata.Block = Block;\nMetadata.DetailsBlock = DetailsBlock;\n\nMetadata.propTypes = {\n /**\n * To specify the content to be rendered as the title of the `Metadata` wrapper.\n */\n headerBlock: PropTypes.node,\n /**\n * The content to be rendered inside the `Metadata` wrapper.\n */\n children: PropTypes.oneOfType([\n PropTypes.arrayOf(PropTypes.node),\n PropTypes.node,\n ]),\n /**\n * To specify external classNames as overrides to the `Metadata` component.\n */\n className: PropTypes.string,\n /**\n * To set the size of the `Metadata` wrapper.\n */\n size: PropTypes.oneOf([\"small\", \"medium\"]),\n};\n\nexport default Metadata;\n"],"names":["Block","_ref","title","actionBlock","children","_ref$className","className","_jsxs","_jsx","Typography","variant","weight","classnames","STYLES","inline","multiline","SIZES","small","medium","DEFAULT_TRUNCATE_AT","SIZE_WIDTH_CLASSES","_defineProperty","DetailsBlock","_ref$details","details","_ref$style","style","_ref$truncate","truncate","_ref$truncateAt","truncateAt","_useState","useState","_useState2","_slicedToArray","showTruncated","setShowTruncated","_useTranslation","useTranslation","t","_ref2","slice","_ref3","visibleDetails","truncatedDetails","renderDetailsValue","value","map","_ref4","index","label","type","Fragment","_Fragment","_ref5","isNotEmpty","Button","icon","ChevronUp","ChevronDown","iconPosition","onClick","Metadata","_SIZE_WIDTH_CLASSES$s","headerBlock","_ref$size","size","_useBreakpoints","useBreakpoints","isSize","isLargerScreen","isElementsPanelCollapsed","setIsElementsPanelCollapsed","useEffect","PanelLeftClose"],"mappings":"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"}
1
+ {"version":3,"file":"Metadata.js","sources":["../../src/v2/components/Metadata/Block.jsx","../../src/v2/components/Metadata/constants.js","../../src/v2/components/Metadata/DetailsBlock.jsx","../../src/v2/components/Metadata/index.jsx"],"sourcesContent":["import { Typography } from \"@bigbinary/neeto-atoms\";\nimport classnames from \"classnames\";\nimport PropTypes from \"prop-types\";\n\nconst Block = ({ title, actionBlock, children, className = \"\" }) => (\n <div\n className=\"border-border mb-4 w-full border-b pb-4\"\n data-testid=\"neeto-molecules-metadata-block\"\n >\n {(title || actionBlock) && (\n <div className=\"mb-2 flex w-full items-center justify-between gap-2\">\n {title && (\n <div className=\"flex w-60 items-center gap-2 break-all\">\n <Typography\n className=\"uppercase\"\n data-testid=\"metadata-block-title\"\n variant=\"h6\"\n weight=\"bold\"\n >\n {title}\n </Typography>\n </div>\n )}\n {actionBlock && <div className=\"ms-auto\">{actionBlock}</div>}\n </div>\n )}\n {!!children && (\n <div\n className={classnames(\"bg-background\", className)}\n data-testid=\"metadata-card\"\n >\n {children}\n </div>\n )}\n </div>\n);\n\nBlock.propTypes = {\n /**\n * To specify the content to be rendered on the right side of the title.\n */\n actionBlock: PropTypes.node,\n /**\n * To specify the title of the block.\n */\n title: PropTypes.string,\n /**\n * The content to be rendered inside the block.\n */\n children: PropTypes.oneOfType([\n PropTypes.arrayOf(PropTypes.node),\n PropTypes.node,\n ]),\n /**\n * To specify external classNames as overrides to the `Block` component.\n */\n className: PropTypes.string,\n};\n\nexport default Block;\n","export const STYLES = { inline: \"inline\", multiline: \"multiline\" };\n\nexport const SIZES = { small: \"small\", medium: \"medium\" };\n\nexport const DEFAULT_TRUNCATE_AT = 3;\n\nexport const SIZE_WIDTH_CLASSES = {\n [SIZES.medium]:\n \"w-[384px] min-w-[384px] min-[1024px]:max-[1200px]:w-[300px] min-[1024px]:max-[1200px]:min-w-[300px]\",\n [SIZES.small]:\n \"w-[340px] min-w-[340px] min-[1024px]:max-[1200px]:w-[300px] min-[1024px]:max-[1200px]:min-w-[300px]\",\n};\n","import { Fragment, useState } from \"react\";\n\nimport { Button, Typography } from \"@bigbinary/neeto-atoms\";\nimport classnames from \"classnames\";\nimport { ChevronDown, ChevronUp } from \"lucide-react\";\nimport { isNotEmpty } from \"neetocist\";\nimport PropTypes from \"prop-types\";\nimport { useTranslation } from \"react-i18next\";\n\nimport Block from \"./Block\";\nimport { DEFAULT_TRUNCATE_AT, STYLES } from \"./constants\";\n\nconst DetailsBlock = ({\n title,\n actionBlock,\n details = [],\n className,\n style = STYLES.inline,\n truncate = false,\n truncateAt = DEFAULT_TRUNCATE_AT,\n children,\n}) => {\n const [showTruncated, setShowTruncated] = useState(false);\n\n const { t } = useTranslation();\n\n const [visibleDetails, truncatedDetails] = truncate\n ? [details.slice(0, truncateAt), details.slice(truncateAt)]\n : [details];\n\n const renderDetailsValue = value => {\n if (typeof value === \"string\") {\n return (\n <Typography className=\"[overflow-wrap:anywhere]\" variant=\"body3\">\n {value}\n </Typography>\n );\n }\n\n return <span className=\"min-w-0 flex-grow\">{value}</span>;\n };\n\n return (\n <Block\n {...{ actionBlock, className }}\n title={title ?? t(\"neetoMolecules.metadata.detailsTitle\")}\n >\n <div\n className=\"flex flex-col gap-y-3\"\n data-testid=\"neeto-molecules-metadata-details-block\"\n >\n {visibleDetails.map(({ label, value, type }, index) => (\n <Fragment key={index}>\n {type === \"divider\" ? (\n <hr className=\"border-border\" />\n ) : (\n <div\n data-testid=\"details-card-detail-wrapper\"\n className={classnames(\"flex\", {\n \"items-center gap-x-4\": style === STYLES.inline,\n \"flex-col\": style === STYLES.multiline,\n })}\n >\n <Typography color=\"muted\" variant=\"body3\">\n {label}\n </Typography>\n {renderDetailsValue(value)}\n </div>\n )}\n </Fragment>\n ))}\n {!truncate && children}\n {showTruncated && (\n <>\n {truncatedDetails.map(({ label, value, type }, index) => (\n <Fragment key={index}>\n {type === \"divider\" ? (\n <hr className=\"border-border\" />\n ) : (\n <div\n className={classnames(\"flex\", {\n \"gap-x-4\": style === STYLES.inline,\n \"flex-col\": style === STYLES.multiline,\n })}\n >\n <Typography color=\"muted\" variant=\"body3\">\n {label}\n </Typography>\n {renderDetailsValue(value)}\n </div>\n )}\n </Fragment>\n ))}\n {children}\n </>\n )}\n {truncate && isNotEmpty(truncatedDetails) && (\n <Button\n data-testid=\"expand-button\"\n icon={showTruncated ? ChevronUp : ChevronDown}\n iconPosition=\"left\"\n variant=\"link\"\n label={\n showTruncated\n ? t(\"neetoMolecules.metadata.card.viewLess\")\n : t(\"neetoMolecules.metadata.card.viewMore\")\n }\n onClick={() => setShowTruncated(showTruncated => !showTruncated)}\n />\n )}\n </div>\n </Block>\n );\n};\n\nDetailsBlock.propTypes = {\n /**\n * To specify the content to be rendered on the right side of the title.\n */\n actionBlock: PropTypes.node,\n /**\n * To specify the title of the block.\n */\n title: PropTypes.string,\n /**\n * The details to be rendered inside the block.\n */\n details: PropTypes.arrayOf(\n PropTypes.shape({\n label: PropTypes.string,\n value: PropTypes.node,\n type: PropTypes.string,\n })\n ),\n /**\n * To specify whether the label and value should be rendered in a single line or in two lines.\n */\n style: PropTypes.oneOf([\"inline\", \"multiline\"]),\n /**\n * To specify whether the visible details should be truncated at a specific point.\n */\n truncate: PropTypes.bool,\n /**\n * To specify the position at which the details should be truncated and `View more` button should be shown.\n */\n truncateAt: PropTypes.number,\n /**\n * To specify external classNames as overrides to the `DetailsBlock` component.\n */\n className: PropTypes.string,\n /**\n * The additional content to be rendered inside the block.\n */\n children: PropTypes.oneOfType([\n PropTypes.arrayOf(PropTypes.node),\n PropTypes.node,\n ]),\n};\n\nexport default DetailsBlock;\n","import { useEffect, useState } from \"react\";\n\nimport { Button } from \"@bigbinary/neeto-atoms\";\nimport classnames from \"classnames\";\nimport { PanelLeftClose } from \"lucide-react\";\nimport useBreakpoints from \"neetocommons/v2/react-utils/useBreakpoints\";\nimport PropTypes from \"prop-types\";\n\nimport Block from \"./Block\";\nimport { SIZES, SIZE_WIDTH_CLASSES } from \"./constants\";\nimport DetailsBlock from \"./DetailsBlock\";\n\nconst Metadata = ({\n headerBlock,\n size = SIZES.medium,\n children,\n className = \"\",\n}) => {\n const { isSize } = useBreakpoints();\n const isLargerScreen = isSize(\"desktop\") || isSize(\"largeDesktop\");\n const [isElementsPanelCollapsed, setIsElementsPanelCollapsed] =\n useState(!isLargerScreen);\n\n useEffect(() => {\n setIsElementsPanelCollapsed(!isLargerScreen);\n }, [isLargerScreen]);\n\n return (\n <>\n {!isElementsPanelCollapsed && (\n <div\n className=\"absolute end-0 top-0 z-50 hidden h-full w-full bg-black/40 min-[576px]:max-[1024px]:block\"\n onClick={() => {\n setIsElementsPanelCollapsed(!isElementsPanelCollapsed);\n }}\n />\n )}\n <div\n className={classnames(\n // z-50, not above it: Radix portals (dropdowns, popovers) also render\n // at z-50 and are appended later in the DOM, so they must win — at\n // z-[51] the pane swallowed every dropdown anchored inside it.\n \"relative z-50 h-full transition-all duration-150 motion-reduce:transition-none max-[1024px]:fixed max-[1024px]:end-0 max-[1024px]:top-0 max-[1024px]:transition-none\",\n isElementsPanelCollapsed\n ? \"w-0 max-w-0 min-w-0\"\n : classnames(\n SIZE_WIDTH_CLASSES[size] ?? SIZE_WIDTH_CLASSES[SIZES.medium],\n \"max-[576px]:h-full max-[576px]:w-full max-[576px]:max-w-full max-[576px]:min-w-0\"\n )\n )}\n >\n <div className=\"flex h-full w-full justify-end overflow-hidden\">\n <div\n data-testid=\"neeto-molecules-metadata-wrapper\"\n className={classnames(\n \"bg-background border-border h-dvh flex-shrink-0 overflow-x-hidden overflow-y-auto border-s p-6 max-[576px]:w-full max-[576px]:min-w-0 max-[576px]:pt-12\",\n SIZE_WIDTH_CLASSES[size] ?? SIZE_WIDTH_CLASSES[SIZES.medium],\n className\n )}\n >\n {headerBlock && (\n <div\n className=\"mb-5 flex w-full justify-center\"\n data-testid=\"neeto-molecules-metadata-header\"\n >\n {headerBlock}\n </div>\n )}\n {children}\n </div>\n </div>\n {!isLargerScreen && (\n <Button\n icon={PanelLeftClose}\n size=\"icon\"\n variant=\"secondary\"\n className={classnames(\n \"absolute end-[calc(100%_+_8px)] top-2 shrink-0 max-[576px]:end-2\",\n {\n \"-scale-x-100 max-[576px]:start-2 max-[576px]:end-auto\":\n isElementsPanelCollapsed,\n }\n )}\n onClick={() => {\n setIsElementsPanelCollapsed(!isElementsPanelCollapsed);\n }}\n />\n )}\n </div>\n </>\n );\n};\n\nMetadata.Block = Block;\nMetadata.DetailsBlock = DetailsBlock;\n\nMetadata.propTypes = {\n /**\n * To specify the content to be rendered as the title of the `Metadata` wrapper.\n */\n headerBlock: PropTypes.node,\n /**\n * The content to be rendered inside the `Metadata` wrapper.\n */\n children: PropTypes.oneOfType([\n PropTypes.arrayOf(PropTypes.node),\n PropTypes.node,\n ]),\n /**\n * To specify external classNames as overrides to the `Metadata` component.\n */\n className: PropTypes.string,\n /**\n * To set the size of the `Metadata` wrapper.\n */\n size: PropTypes.oneOf([\"small\", \"medium\"]),\n};\n\nexport default Metadata;\n"],"names":["Block","_ref","title","actionBlock","children","_ref$className","className","_jsxs","_jsx","Typography","variant","weight","classnames","STYLES","inline","multiline","SIZES","small","medium","DEFAULT_TRUNCATE_AT","SIZE_WIDTH_CLASSES","_defineProperty","DetailsBlock","_ref$details","details","_ref$style","style","_ref$truncate","truncate","_ref$truncateAt","truncateAt","_useState","useState","_useState2","_slicedToArray","showTruncated","setShowTruncated","_useTranslation","useTranslation","t","_ref2","slice","_ref3","visibleDetails","truncatedDetails","renderDetailsValue","value","map","_ref4","index","label","type","Fragment","color","_Fragment","_ref5","isNotEmpty","Button","icon","ChevronUp","ChevronDown","iconPosition","onClick","Metadata","_SIZE_WIDTH_CLASSES$s","_SIZE_WIDTH_CLASSES$s2","headerBlock","_ref$size","size","_useBreakpoints","useBreakpoints","isSize","isLargerScreen","isElementsPanelCollapsed","setIsElementsPanelCollapsed","useEffect","PanelLeftClose"],"mappings":"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"}
@@ -117,11 +117,17 @@ var ICONS_MAP = {
117
117
  timezone: Globe,
118
118
  chrome: Chrome,
119
119
  safari: Safari,
120
+ mobile_safari: Safari,
120
121
  firefox: Firefox,
121
122
  edge: Edge,
122
123
  ie: Edge,
123
124
  windows: Windows,
124
125
  mac_os: Apple,
126
+ // ua-parser-js v2 renamed "Mac OS" to "macOS" (and reports "iOS"/"Ubuntu"
127
+ // directly), so the derived lookup keys changed; keep the v1 keys too.
128
+ macos: Apple,
129
+ ios: Apple,
130
+ ubuntu: Ubuntu,
125
131
  linux: Ubuntu,
126
132
  mobile: Smartphone,
127
133
  desktop: Monitor
@@ -252,7 +258,7 @@ var Item = function Item(_ref) {
252
258
  _item$showCopyButton = item.showCopyButton,
253
259
  showCopyButton = _item$showCopyButton === void 0 ? false : _item$showCopyButton;
254
260
  var valueToRender = useMemo(function () {
255
- if (isNil(value)) return "-";
261
+ if (isNil(value) || value === "") return "-";
256
262
  if (typeof value === "boolean") return BOOLEAN_VALUES_MAP[value.toString()];
257
263
  if (name === "email") return value.toLowerCase();
258
264
  return value;
@@ -286,10 +292,22 @@ var Item = function Item(_ref) {
286
292
  var value = name === PHONE_NUMBER ? event : event.target.value;
287
293
  setValue(value);
288
294
  };
295
+ var handleValueKeyDown = function handleValueKeyDown(event) {
296
+ if (!isEditable) return;
297
+ if (event.key === "Enter" || event.key === " ") {
298
+ event.preventDefault();
299
+ setIsEditing(true);
300
+ }
301
+ };
289
302
  useEffect(function () {
290
303
  setValue(item.value);
291
304
  }, [item]);
292
305
  var labelKey = hyphenate(name !== null && name !== void 0 ? name : label);
306
+ var resolvedLabel = label || t("neetoMolecules.sessionEnvironment.details.keys.".concat(name));
307
+ var isValueEmpty = isNil(value) || value === "";
308
+ // An empty editable field renders a self-describing "Add <field>" target
309
+ // instead of a bare "-" a few pixels wide.
310
+ var showAddPlaceholder = isValueEmpty && isEditable;
293
311
  return /*#__PURE__*/jsxs("div", {
294
312
  "data-testid": "metadata-".concat(labelKey, "-container"),
295
313
  className: classnames("mb-3 flex place-items-center gap-2 align-middle", extraWrapperClasses, {
@@ -297,21 +315,22 @@ var Item = function Item(_ref) {
297
315
  "flex-nowrap": !allowMultiline
298
316
  }),
299
317
  children: [showIcons && isPresent(iconToRender) ? /*#__PURE__*/jsx(Tooltip, {
300
- content: label || t("neetoMolecules.sessionEnvironment.details.keys.".concat(name)),
318
+ content: resolvedLabel,
301
319
  children: /*#__PURE__*/jsx("div", {
302
- className: "flex-shrink-0",
320
+ className: "text-muted-foreground flex-shrink-0",
303
321
  children: iconToRender
304
322
  })
305
323
  }) : /*#__PURE__*/jsx(Typography, {
306
- className: "text-muted-foreground whitespace-nowrap",
324
+ className: "whitespace-nowrap",
325
+ color: "muted",
307
326
  "data-testid": "metadata-label-".concat(labelKey),
308
- variant: "body2",
309
- children: label || t("neetoMolecules.sessionEnvironment.details.keys.".concat(name))
327
+ variant: "body3",
328
+ children: resolvedLabel
310
329
  }), !isEditing ? /*#__PURE__*/jsxs(Fragment, {
311
330
  children: [kind === "datetime" ? /*#__PURE__*/jsx(TimeFormat.DateWeekTime, {
312
331
  date: value,
313
332
  typographyProps: {
314
- variant: "body2",
333
+ variant: "body3",
315
334
  weight: "medium",
316
335
  className: classnames("overflow-hidden truncate whitespace-normal break-all ".concat(extraClasses), {
317
336
  "whitespace-nowrap": !allowMultiline
@@ -319,22 +338,29 @@ var Item = function Item(_ref) {
319
338
  }
320
339
  }) : /*#__PURE__*/jsx(Tooltip, {
321
340
  content: valueToRender,
341
+ disabled: isValueEmpty,
322
342
  position: "top",
323
343
  children: /*#__PURE__*/jsx(Typography, {
344
+ color: showAddPlaceholder ? "muted" : undefined,
324
345
  "data-testid": "metadata-value-".concat(labelKey),
325
- variant: "body2",
326
- weight: "medium",
346
+ role: isEditable ? "button" : undefined,
347
+ tabIndex: isEditable ? 0 : undefined,
348
+ variant: "body3",
349
+ weight: showAddPlaceholder ? "normal" : "medium",
327
350
  className: classnames("truncate overflow-hidden break-all whitespace-normal ".concat(extraClasses), {
328
- "hover:border-input cursor-pointer rounded border border-transparent p-0.5 transition-colors motion-reduce:transition-none": isEditable,
351
+ "hover:border-input focus-visible:ring-ring cursor-pointer rounded border border-transparent p-0.5 transition-colors focus-visible:ring-1 focus-visible:outline-none motion-reduce:transition-none": isEditable,
329
352
  "whitespace-nowrap": !allowMultiline
330
353
  }),
331
354
  onClick: function onClick() {
332
355
  return isEditable && setIsEditing(true);
333
356
  },
334
- children: valueToRender
357
+ onKeyDown: handleValueKeyDown,
358
+ children: showAddPlaceholder ? t("neetoMolecules.common.actions.add", {
359
+ entity: resolvedLabel
360
+ }) : valueToRender
335
361
  })
336
- }), showCopyButton && /*#__PURE__*/jsx(CopyToClipboardButton, {
337
- className: "flex-shrink-0",
362
+ }), showCopyButton && !isValueEmpty && /*#__PURE__*/jsx(CopyToClipboardButton, {
363
+ className: "text-muted-foreground size-6 flex-shrink-0",
338
364
  value: valueToRender,
339
365
  variant: "ghost"
340
366
  })]
@@ -373,8 +399,8 @@ var DetailsBlock = function DetailsBlock(_ref) {
373
399
  children: [title && /*#__PURE__*/jsxs("div", {
374
400
  className: "mb-2 flex items-center gap-2",
375
401
  children: [/*#__PURE__*/jsx(Typography, {
376
- className: "text-foreground uppercase",
377
- variant: "h5",
402
+ className: "uppercase",
403
+ variant: "h6",
378
404
  weight: "bold",
379
405
  children: title
380
406
  }), isPresent(helpPopoverProps) && /*#__PURE__*/jsx(HelpPopover, _objectSpread({}, helpPopoverProps))]
@@ -1 +1 @@
1
- {"version":3,"file":"SessionEnvironment.js","sources":["../../node_modules/lucide-react/dist/esm/icons/mail.mjs","../../node_modules/lucide-react/dist/esm/icons/map-pin.mjs","../../node_modules/lucide-react/dist/esm/icons/phone.mjs","../../src/v2/components/SessionEnvironment/constants.js","../../src/v2/components/SessionEnvironment/utils.jsx","../../src/v2/components/SessionEnvironment/EditField.jsx","../../src/v2/components/SessionEnvironment/Item.jsx","../../src/v2/components/SessionEnvironment/DetailsBlock.jsx","../../src/v2/components/SessionEnvironment/index.jsx"],"sourcesContent":["/**\n * @license lucide-react v1.24.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.mjs';\n\nconst __iconNode = [\n [\"path\", { d: \"m22 7-8.991 5.727a2 2 0 0 1-2.009 0L2 7\", key: \"132q7q\" }],\n [\"rect\", { x: \"2\", y: \"4\", width: \"20\", height: \"16\", rx: \"2\", key: \"izxlao\" }]\n];\nconst Mail = createLucideIcon(\"mail\", __iconNode);\n\nexport { __iconNode, Mail as default };\n//# sourceMappingURL=mail.mjs.map\n","/**\n * @license lucide-react v1.24.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.mjs';\n\nconst __iconNode = [\n [\n \"path\",\n {\n d: \"M20 10c0 4.993-5.539 10.193-7.399 11.799a1 1 0 0 1-1.202 0C9.539 20.193 4 14.993 4 10a8 8 0 0 1 16 0\",\n key: \"1r0f0z\"\n }\n ],\n [\"circle\", { cx: \"12\", cy: \"10\", r: \"3\", key: \"ilqhr7\" }]\n];\nconst MapPin = createLucideIcon(\"map-pin\", __iconNode);\n\nexport { __iconNode, MapPin as default };\n//# sourceMappingURL=map-pin.mjs.map\n","/**\n * @license lucide-react v1.24.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.mjs';\n\nconst __iconNode = [\n [\n \"path\",\n {\n d: \"M13.832 16.568a1 1 0 0 0 1.213-.303l.355-.465A2 2 0 0 1 17 15h3a2 2 0 0 1 2 2v3a2 2 0 0 1-2 2A18 18 0 0 1 2 4a2 2 0 0 1 2-2h3a2 2 0 0 1 2 2v3a2 2 0 0 1-.8 1.6l-.468.351a1 1 0 0 0-.292 1.233 14 14 0 0 0 6.392 6.384\",\n key: \"9njp5v\"\n }\n ]\n];\nconst Phone = createLucideIcon(\"phone\", __iconNode);\n\nexport { __iconNode, Phone as default };\n//# sourceMappingURL=phone.mjs.map\n","import {\n Globe,\n Mail,\n MapPin,\n Monitor,\n Phone,\n Smartphone,\n User,\n} from \"lucide-react\";\nimport {\n Apple,\n Chrome,\n Edge,\n Firefox,\n Safari,\n Ubuntu,\n Windows,\n} from \"neetoicons/misc\";\n\nexport const BOOLEAN_VALUES_MAP = { true: \"Yes\", false: \"No\" };\nexport const ENTER = \"enter\";\nexport const ESCAPE = \"escape\";\nexport const PHONE_NUMBER = \"phone_number\";\nexport const INTEGER = \"integer\";\nexport const ICONS_MAP = {\n name: User,\n user: User,\n email: Mail,\n phone_number: Phone,\n location: MapPin,\n timezone: Globe,\n chrome: Chrome,\n safari: Safari,\n firefox: Firefox,\n edge: Edge,\n ie: Edge,\n windows: Windows,\n mac_os: Apple,\n linux: Ubuntu,\n mobile: Smartphone,\n desktop: Monitor,\n};\n","import { isPresent } from \"neetocist\";\nimport { prop, pipe } from \"ramda\";\n\nimport { ICONS_MAP, INTEGER, PHONE_NUMBER } from \"./constants\";\n\nexport const getInputType = ({ name, kind }) => {\n if (name === PHONE_NUMBER) return \"tel\";\n else if (kind === INTEGER) return \"number\";\n\n return \"text\";\n};\n\nexport const getIcon = ({ iconSize, name, value }) => {\n const Icon =\n name === \"browser\" || name === \"os\"\n ? ICONS_MAP[value?.toLowerCase().replace(\" \", \"_\")]\n : ICONS_MAP[name];\n\n return isPresent(Icon) ? <Icon size={iconSize} /> : null;\n};\n\nexport const isValuePresent = pipe(prop(\"value\"), isPresent);\n\nexport const mergeRefs =\n (...refs) =>\n node =>\n refs\n .filter(Boolean)\n .forEach(ref =>\n typeof ref === \"function\" ? ref(node) : (ref.current = node)\n );\n","import { memo } from \"react\";\n\nimport { Button, Input } from \"@bigbinary/neeto-atoms\";\nimport { Check, X } from \"lucide-react\";\nimport { hyphenate } from \"neetocist\";\nimport useHotkeys from \"neetohotkeys\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { ENTER, ESCAPE, PHONE_NUMBER } from \"./constants\";\nimport { getInputType, mergeRefs } from \"./utils\";\n\nimport { PhoneNumberInput } from \"../PhoneNumber\";\n\nconst EditField = ({\n name,\n error,\n label,\n kind,\n value,\n handleChange,\n handleMetadataCancel,\n handleMetadataSubmit,\n}) => {\n const { t } = useTranslation();\n\n const enterRef = useHotkeys(ENTER, handleMetadataSubmit, {\n mode: \"scoped\",\n });\n\n const cancelRef = useHotkeys(ESCAPE, handleMetadataCancel, {\n mode: \"scoped\",\n });\n\n const InputComponent = name === PHONE_NUMBER ? PhoneNumberInput : Input;\n\n return (\n <div className=\"relative flex min-w-0 flex-grow items-center\">\n <InputComponent\n {...{ error }}\n autoFocus\n className=\"w-full [&_input]:pe-[2.8125rem]\"\n data-testid={`metadata-input-${hyphenate(name)}`}\n placeholder={t(\"neetoMolecules.common.enter\", { what: label })}\n ref={mergeRefs(enterRef, cancelRef)}\n type={getInputType({ name, kind })}\n value={value || \"\"}\n onChange={handleChange}\n />\n <div className=\"absolute end-0 top-0 flex h-8 items-center pe-1\">\n <Button\n data-testid={`metadata-cancel-${hyphenate(name)}`}\n icon={X}\n size=\"sm\"\n variant=\"ghost\"\n tooltipProps={{\n content: t(\"neetoMolecules.common.actions.cancel\"),\n position: \"top\",\n }}\n onClick={handleMetadataCancel}\n />\n <Button\n data-testid={`metadata-submit-${hyphenate(name)}`}\n icon={Check}\n size=\"sm\"\n variant=\"ghost\"\n tooltipProps={{\n content: t(\"neetoMolecules.common.actions.save\"),\n position: \"top\",\n }}\n onClick={handleMetadataSubmit}\n />\n </div>\n </div>\n );\n};\n\nexport default memo(EditField);\n","import { useEffect, useMemo, useState } from \"react\";\n\nimport { Tooltip, Typography } from \"@bigbinary/neeto-atoms\";\nimport classNames from \"classnames\";\nimport { isPresent, hyphenate } from \"neetocist\";\nimport { isNil } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { BOOLEAN_VALUES_MAP, PHONE_NUMBER } from \"./constants\";\nimport EditField from \"./EditField\";\nimport { getIcon } from \"./utils\";\n\nimport CopyToClipboardButton from \"../CopyToClipboardButton\";\nimport TimeFormat from \"../TimeFormat\";\n\nconst Item = ({\n allowMultiline,\n handleCancel,\n handleSubmit,\n iconSize,\n item,\n showIcons,\n}) => {\n const [isEditing, setIsEditing] = useState(item.isEditing);\n const [value, setValue] = useState(item.value);\n\n const { t } = useTranslation();\n\n const {\n icon,\n isEditable = false,\n extraClasses = \"\",\n extraWrapperClasses = \"\",\n id,\n fieldValueId,\n custom = false,\n name,\n kind,\n error,\n label,\n showCopyButton = false,\n } = item;\n\n const valueToRender = useMemo(() => {\n if (isNil(value)) return \"-\";\n\n if (typeof value === \"boolean\") return BOOLEAN_VALUES_MAP[value.toString()];\n\n if (name === \"email\") return value.toLowerCase();\n\n return value;\n }, [value]);\n\n const iconToRender = useMemo(\n () => icon || getIcon({ iconSize, name, value }),\n [icon, iconSize, name, value]\n );\n\n const onSuccess = () => setIsEditing(false);\n\n const handleMetadataSubmit = () =>\n handleSubmit({ fieldId: id, fieldValueId, name, value, custom, onSuccess });\n\n const handleMetadataCancel = () => {\n setIsEditing(false);\n setValue(item.value);\n handleCancel(name);\n };\n\n const handleChange = event => {\n const value = name === PHONE_NUMBER ? event : event.target.value;\n setValue(value);\n };\n\n useEffect(() => {\n setValue(item.value);\n }, [item]);\n\n const labelKey = hyphenate(name ?? label);\n\n return (\n <div\n data-testid={`metadata-${labelKey}-container`}\n className={classNames(\n \"mb-3 flex place-items-center gap-2 align-middle\",\n extraWrapperClasses,\n {\n \"flex-wrap\": name !== PHONE_NUMBER && allowMultiline,\n \"flex-nowrap\": !allowMultiline,\n }\n )}\n >\n {showIcons && isPresent(iconToRender) ? (\n <Tooltip\n content={\n label || t(`neetoMolecules.sessionEnvironment.details.keys.${name}`)\n }\n >\n <div className=\"flex-shrink-0\">{iconToRender}</div>\n </Tooltip>\n ) : (\n <Typography\n className=\"text-muted-foreground whitespace-nowrap\"\n data-testid={`metadata-label-${labelKey}`}\n variant=\"body2\"\n >\n {label || t(`neetoMolecules.sessionEnvironment.details.keys.${name}`)}\n </Typography>\n )}\n {!isEditing ? (\n <>\n {kind === \"datetime\" ? (\n <TimeFormat.DateWeekTime\n date={value}\n typographyProps={{\n variant: \"body2\",\n weight: \"medium\",\n className: classNames(\n `overflow-hidden truncate whitespace-normal break-all ${extraClasses}`,\n { \"whitespace-nowrap\": !allowMultiline }\n ),\n }}\n />\n ) : (\n <Tooltip content={valueToRender} position=\"top\">\n <Typography\n data-testid={`metadata-value-${labelKey}`}\n variant=\"body2\"\n weight=\"medium\"\n className={classNames(\n `truncate overflow-hidden break-all whitespace-normal ${extraClasses}`,\n {\n \"hover:border-input cursor-pointer rounded border border-transparent p-0.5 transition-colors motion-reduce:transition-none\":\n isEditable,\n \"whitespace-nowrap\": !allowMultiline,\n }\n )}\n onClick={() => isEditable && setIsEditing(true)}\n >\n {valueToRender}\n </Typography>\n </Tooltip>\n )}\n {showCopyButton && (\n <CopyToClipboardButton\n className=\"flex-shrink-0\"\n value={valueToRender}\n variant=\"ghost\"\n />\n )}\n </>\n ) : (\n <EditField\n {...{\n error,\n handleChange,\n handleMetadataCancel,\n handleMetadataSubmit,\n kind,\n label,\n name,\n value,\n }}\n />\n )}\n </div>\n );\n};\n\nexport default Item;\n","import { memo } from \"react\";\n\nimport { Typography } from \"@bigbinary/neeto-atoms\";\nimport { isPresent, noop } from \"neetocist\";\n\nimport Item from \"./Item\";\nimport { isValuePresent } from \"./utils\";\n\nimport HelpPopover from \"../HelpPopover\";\n\nconst DetailsBlock = ({\n allowMultiline = true,\n details,\n handleCancel = noop,\n handleSubmit = noop,\n helpPopoverProps,\n iconSize,\n showIcons = false,\n title = \"\",\n}) => (\n <div className=\"mb-4\" data-testid=\"details-block-items-parent\">\n {title && (\n <div className=\"mb-2 flex items-center gap-2\">\n <Typography\n className=\"text-foreground uppercase\"\n variant=\"h5\"\n weight=\"bold\"\n >\n {title}\n </Typography>\n {isPresent(helpPopoverProps) && <HelpPopover {...helpPopoverProps} />}\n </div>\n )}\n {details\n .filter(detail => detail.isEditable || isValuePresent(detail))\n .map((detail, index) => (\n <Item\n {...{\n allowMultiline,\n handleCancel,\n handleSubmit,\n iconSize,\n showIcons,\n }}\n item={detail}\n key={index}\n />\n ))}\n </div>\n);\n\nexport default memo(DetailsBlock);\n","import { memo, useMemo, useState } from \"react\";\n\nimport { Button, Spinner } from \"@bigbinary/neeto-atoms\";\nimport { ChevronDown, ChevronUp } from \"lucide-react\";\nimport { filterBy, isPresent, noop, removeBy } from \"neetocist\";\nimport PropTypes from \"prop-types\";\nimport { pluck, not } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport DetailsBlock from \"./DetailsBlock\";\n\nconst SessionEnvironment = ({\n allowMultiline = false,\n details,\n handleCancel = noop,\n handleSubmit = noop,\n helpPopoverProps = {},\n iconSize = 20,\n isLoading = false,\n moreDetails = [],\n title = \"\",\n}) => {\n const [showViewMore, setShowViewMore] = useState(false);\n\n const customViewMoreItems = useMemo(\n () => filterBy({ kind: \"custom\" }, moreDetails),\n [moreDetails]\n );\n\n const { t } = useTranslation();\n\n if (isLoading) {\n return (\n <div className=\"flex h-full w-full items-center justify-center\">\n <Spinner data-testid=\"neeto-ui-spinner\" />\n </div>\n );\n }\n\n return (\n <div className=\"w-full\">\n <DetailsBlock\n {...{\n allowMultiline,\n details,\n handleCancel,\n handleSubmit,\n helpPopoverProps,\n iconSize,\n title,\n }}\n showIcons\n />\n {showViewMore && (\n <>\n <hr className=\"border-border my-4\" />\n <DetailsBlock\n {...{\n handleCancel,\n handleSubmit,\n helpPopoverProps,\n iconSize,\n }}\n details={removeBy({ kind: \"custom\" }, moreDetails)}\n />\n {isPresent(customViewMoreItems) && (\n <>\n <hr className=\"border-border my-4\" />\n {pluck(\"value\", customViewMoreItems)}\n </>\n )}\n </>\n )}\n <Button\n className=\"mb-4\"\n data-testid=\"view-more-less-button\"\n icon={showViewMore ? ChevronUp : ChevronDown}\n variant=\"link\"\n label={\n showViewMore\n ? t(\"neetoMolecules.sessionEnvironment.viewLess\")\n : t(\"neetoMolecules.sessionEnvironment.viewMore\")\n }\n onClick={() => setShowViewMore(not)}\n />\n </div>\n );\n};\n\nSessionEnvironment.propTypes = {\n /*\n details can be an array of fields to be displayed.\n */\n details: PropTypes.array,\n /*\n handleCancel is a function that will be called when the cancel button is clicked.\n */\n handleCancel: PropTypes.func,\n /*\n handleSubmit is a function that will be called when the form is submitted.\n */\n handleSubmit: PropTypes.func,\n /*\n helpPopoverProps are the props that will be passed to the HelpPopover component.\n */\n helpPopoverProps: PropTypes.object,\n /*\n iconSize is a number that will be used to set the size of the icon.\n */\n iconSize: PropTypes.number,\n /*\n isLoading is a boolean that will be used to show a spinner when true.\n */\n isLoading: PropTypes.bool,\n /*\n moreDetails can be an array of fields to be displayed when the view more button is clicked.\n */\n moreDetails: PropTypes.array,\n /*\n The title to be displayed above the details.\n */\n title: PropTypes.string,\n /*\n allowMultiline is a boolean that will be used to decide whether the items should be displayed in a single line or multiple lines.\n */\n allowMultiline: PropTypes.bool,\n};\n\nexport default memo(SessionEnvironment);\n"],"names":["__iconNode","BOOLEAN_VALUES_MAP","ENTER","ESCAPE","PHONE_NUMBER","INTEGER","ICONS_MAP","name","User","user","email","Mail","phone_number","Phone","location","MapPin","timezone","Globe","chrome","Chrome","safari","Safari","firefox","Firefox","edge","Edge","ie","windows","Windows","mac_os","Apple","linux","Ubuntu","mobile","Smartphone","desktop","Monitor","getInputType","_ref","kind","getIcon","_ref2","iconSize","value","Icon","toLowerCase","replace","isPresent","_jsx","size","isValuePresent","pipe","prop","mergeRefs","_len","arguments","length","refs","Array","_key","node","filter","Boolean","forEach","ref","current","EditField","error","label","handleChange","handleMetadataCancel","handleMetadataSubmit","_useTranslation","useTranslation","t","enterRef","useHotkeys","mode","cancelRef","InputComponent","PhoneNumberInput","Input","_jsxs","className","children","autoFocus","concat","hyphenate","placeholder","what","type","onChange","Button","icon","X","variant","tooltipProps","content","position","onClick","Check","memo","Item","allowMultiline","handleCancel","handleSubmit","item","showIcons","_useState","useState","isEditing","_useState2","_slicedToArray","setIsEditing","_useState3","_useState4","setValue","_item$isEditable","isEditable","_item$extraClasses","extraClasses","_item$extraWrapperCla","extraWrapperClasses","id","fieldValueId","_item$custom","custom","_item$showCopyButton","showCopyButton","valueToRender","useMemo","isNil","toString","iconToRender","onSuccess","fieldId","event","target","useEffect","labelKey","classNames","Tooltip","Typography","_Fragment","TimeFormat","DateWeekTime","date","typographyProps","weight","CopyToClipboardButton","DetailsBlock","_ref$allowMultiline","details","_ref$handleCancel","noop","_ref$handleSubmit","helpPopoverProps","_ref$showIcons","_ref$title","title","HelpPopover","_objectSpread","detail","map","index","_createElement","key","SessionEnvironment","_ref$helpPopoverProps","_ref$iconSize","_ref$isLoading","isLoading","_ref$moreDetails","moreDetails","showViewMore","setShowViewMore","customViewMoreItems","filterBy","Spinner","removeBy","pluck","ChevronUp","ChevronDown","not"],"mappings":"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","x_google_ignoreList":[0,1,2]}
1
+ {"version":3,"file":"SessionEnvironment.js","sources":["../../node_modules/lucide-react/dist/esm/icons/mail.mjs","../../node_modules/lucide-react/dist/esm/icons/map-pin.mjs","../../node_modules/lucide-react/dist/esm/icons/phone.mjs","../../src/v2/components/SessionEnvironment/constants.js","../../src/v2/components/SessionEnvironment/utils.jsx","../../src/v2/components/SessionEnvironment/EditField.jsx","../../src/v2/components/SessionEnvironment/Item.jsx","../../src/v2/components/SessionEnvironment/DetailsBlock.jsx","../../src/v2/components/SessionEnvironment/index.jsx"],"sourcesContent":["/**\n * @license lucide-react v1.24.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.mjs';\n\nconst __iconNode = [\n [\"path\", { d: \"m22 7-8.991 5.727a2 2 0 0 1-2.009 0L2 7\", key: \"132q7q\" }],\n [\"rect\", { x: \"2\", y: \"4\", width: \"20\", height: \"16\", rx: \"2\", key: \"izxlao\" }]\n];\nconst Mail = createLucideIcon(\"mail\", __iconNode);\n\nexport { __iconNode, Mail as default };\n//# sourceMappingURL=mail.mjs.map\n","/**\n * @license lucide-react v1.24.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.mjs';\n\nconst __iconNode = [\n [\n \"path\",\n {\n d: \"M20 10c0 4.993-5.539 10.193-7.399 11.799a1 1 0 0 1-1.202 0C9.539 20.193 4 14.993 4 10a8 8 0 0 1 16 0\",\n key: \"1r0f0z\"\n }\n ],\n [\"circle\", { cx: \"12\", cy: \"10\", r: \"3\", key: \"ilqhr7\" }]\n];\nconst MapPin = createLucideIcon(\"map-pin\", __iconNode);\n\nexport { __iconNode, MapPin as default };\n//# sourceMappingURL=map-pin.mjs.map\n","/**\n * @license lucide-react v1.24.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.mjs';\n\nconst __iconNode = [\n [\n \"path\",\n {\n d: \"M13.832 16.568a1 1 0 0 0 1.213-.303l.355-.465A2 2 0 0 1 17 15h3a2 2 0 0 1 2 2v3a2 2 0 0 1-2 2A18 18 0 0 1 2 4a2 2 0 0 1 2-2h3a2 2 0 0 1 2 2v3a2 2 0 0 1-.8 1.6l-.468.351a1 1 0 0 0-.292 1.233 14 14 0 0 0 6.392 6.384\",\n key: \"9njp5v\"\n }\n ]\n];\nconst Phone = createLucideIcon(\"phone\", __iconNode);\n\nexport { __iconNode, Phone as default };\n//# sourceMappingURL=phone.mjs.map\n","import {\n Globe,\n Mail,\n MapPin,\n Monitor,\n Phone,\n Smartphone,\n User,\n} from \"lucide-react\";\nimport {\n Apple,\n Chrome,\n Edge,\n Firefox,\n Safari,\n Ubuntu,\n Windows,\n} from \"neetoicons/misc\";\n\nexport const BOOLEAN_VALUES_MAP = { true: \"Yes\", false: \"No\" };\nexport const ENTER = \"enter\";\nexport const ESCAPE = \"escape\";\nexport const PHONE_NUMBER = \"phone_number\";\nexport const INTEGER = \"integer\";\nexport const ICONS_MAP = {\n name: User,\n user: User,\n email: Mail,\n phone_number: Phone,\n location: MapPin,\n timezone: Globe,\n chrome: Chrome,\n safari: Safari,\n mobile_safari: Safari,\n firefox: Firefox,\n edge: Edge,\n ie: Edge,\n windows: Windows,\n mac_os: Apple,\n // ua-parser-js v2 renamed \"Mac OS\" to \"macOS\" (and reports \"iOS\"/\"Ubuntu\"\n // directly), so the derived lookup keys changed; keep the v1 keys too.\n macos: Apple,\n ios: Apple,\n ubuntu: Ubuntu,\n linux: Ubuntu,\n mobile: Smartphone,\n desktop: Monitor,\n};\n","import { isPresent } from \"neetocist\";\nimport { prop, pipe } from \"ramda\";\n\nimport { ICONS_MAP, INTEGER, PHONE_NUMBER } from \"./constants\";\n\nexport const getInputType = ({ name, kind }) => {\n if (name === PHONE_NUMBER) return \"tel\";\n else if (kind === INTEGER) return \"number\";\n\n return \"text\";\n};\n\nexport const getIcon = ({ iconSize, name, value }) => {\n const Icon =\n name === \"browser\" || name === \"os\"\n ? ICONS_MAP[value?.toLowerCase().replace(\" \", \"_\")]\n : ICONS_MAP[name];\n\n return isPresent(Icon) ? <Icon size={iconSize} /> : null;\n};\n\nexport const isValuePresent = pipe(prop(\"value\"), isPresent);\n\nexport const mergeRefs =\n (...refs) =>\n node =>\n refs\n .filter(Boolean)\n .forEach(ref =>\n typeof ref === \"function\" ? ref(node) : (ref.current = node)\n );\n","import { memo } from \"react\";\n\nimport { Button, Input } from \"@bigbinary/neeto-atoms\";\nimport { Check, X } from \"lucide-react\";\nimport { hyphenate } from \"neetocist\";\nimport useHotkeys from \"neetohotkeys\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { ENTER, ESCAPE, PHONE_NUMBER } from \"./constants\";\nimport { getInputType, mergeRefs } from \"./utils\";\n\nimport { PhoneNumberInput } from \"../PhoneNumber\";\n\nconst EditField = ({\n name,\n error,\n label,\n kind,\n value,\n handleChange,\n handleMetadataCancel,\n handleMetadataSubmit,\n}) => {\n const { t } = useTranslation();\n\n const enterRef = useHotkeys(ENTER, handleMetadataSubmit, {\n mode: \"scoped\",\n });\n\n const cancelRef = useHotkeys(ESCAPE, handleMetadataCancel, {\n mode: \"scoped\",\n });\n\n const InputComponent = name === PHONE_NUMBER ? PhoneNumberInput : Input;\n\n return (\n <div className=\"relative flex min-w-0 flex-grow items-center\">\n <InputComponent\n {...{ error }}\n autoFocus\n className=\"w-full [&_input]:pe-[2.8125rem]\"\n data-testid={`metadata-input-${hyphenate(name)}`}\n placeholder={t(\"neetoMolecules.common.enter\", { what: label })}\n ref={mergeRefs(enterRef, cancelRef)}\n type={getInputType({ name, kind })}\n value={value || \"\"}\n onChange={handleChange}\n />\n <div className=\"absolute end-0 top-0 flex h-8 items-center pe-1\">\n <Button\n data-testid={`metadata-cancel-${hyphenate(name)}`}\n icon={X}\n size=\"sm\"\n variant=\"ghost\"\n tooltipProps={{\n content: t(\"neetoMolecules.common.actions.cancel\"),\n position: \"top\",\n }}\n onClick={handleMetadataCancel}\n />\n <Button\n data-testid={`metadata-submit-${hyphenate(name)}`}\n icon={Check}\n size=\"sm\"\n variant=\"ghost\"\n tooltipProps={{\n content: t(\"neetoMolecules.common.actions.save\"),\n position: \"top\",\n }}\n onClick={handleMetadataSubmit}\n />\n </div>\n </div>\n );\n};\n\nexport default memo(EditField);\n","import { useEffect, useMemo, useState } from \"react\";\n\nimport { Tooltip, Typography } from \"@bigbinary/neeto-atoms\";\nimport classNames from \"classnames\";\nimport { isPresent, hyphenate } from \"neetocist\";\nimport { isNil } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { BOOLEAN_VALUES_MAP, PHONE_NUMBER } from \"./constants\";\nimport EditField from \"./EditField\";\nimport { getIcon } from \"./utils\";\n\nimport CopyToClipboardButton from \"../CopyToClipboardButton\";\nimport TimeFormat from \"../TimeFormat\";\n\nconst Item = ({\n allowMultiline,\n handleCancel,\n handleSubmit,\n iconSize,\n item,\n showIcons,\n}) => {\n const [isEditing, setIsEditing] = useState(item.isEditing);\n const [value, setValue] = useState(item.value);\n\n const { t } = useTranslation();\n\n const {\n icon,\n isEditable = false,\n extraClasses = \"\",\n extraWrapperClasses = \"\",\n id,\n fieldValueId,\n custom = false,\n name,\n kind,\n error,\n label,\n showCopyButton = false,\n } = item;\n\n const valueToRender = useMemo(() => {\n if (isNil(value) || value === \"\") return \"-\";\n\n if (typeof value === \"boolean\") return BOOLEAN_VALUES_MAP[value.toString()];\n\n if (name === \"email\") return value.toLowerCase();\n\n return value;\n }, [value]);\n\n const iconToRender = useMemo(\n () => icon || getIcon({ iconSize, name, value }),\n [icon, iconSize, name, value]\n );\n\n const onSuccess = () => setIsEditing(false);\n\n const handleMetadataSubmit = () =>\n handleSubmit({ fieldId: id, fieldValueId, name, value, custom, onSuccess });\n\n const handleMetadataCancel = () => {\n setIsEditing(false);\n setValue(item.value);\n handleCancel(name);\n };\n\n const handleChange = event => {\n const value = name === PHONE_NUMBER ? event : event.target.value;\n setValue(value);\n };\n\n const handleValueKeyDown = event => {\n if (!isEditable) return;\n\n if (event.key === \"Enter\" || event.key === \" \") {\n event.preventDefault();\n setIsEditing(true);\n }\n };\n\n useEffect(() => {\n setValue(item.value);\n }, [item]);\n\n const labelKey = hyphenate(name ?? label);\n const resolvedLabel =\n label || t(`neetoMolecules.sessionEnvironment.details.keys.${name}`);\n const isValueEmpty = isNil(value) || value === \"\";\n // An empty editable field renders a self-describing \"Add <field>\" target\n // instead of a bare \"-\" a few pixels wide.\n const showAddPlaceholder = isValueEmpty && isEditable;\n\n return (\n <div\n data-testid={`metadata-${labelKey}-container`}\n className={classNames(\n \"mb-3 flex place-items-center gap-2 align-middle\",\n extraWrapperClasses,\n {\n \"flex-wrap\": name !== PHONE_NUMBER && allowMultiline,\n \"flex-nowrap\": !allowMultiline,\n }\n )}\n >\n {showIcons && isPresent(iconToRender) ? (\n <Tooltip content={resolvedLabel}>\n {/* Icons act as the row's label — mute them like the text labels so\n values carry the visual weight. */}\n <div className=\"text-muted-foreground flex-shrink-0\">\n {iconToRender}\n </div>\n </Tooltip>\n ) : (\n <Typography\n className=\"whitespace-nowrap\"\n color=\"muted\"\n data-testid={`metadata-label-${labelKey}`}\n variant=\"body3\"\n >\n {resolvedLabel}\n </Typography>\n )}\n {!isEditing ? (\n <>\n {kind === \"datetime\" ? (\n <TimeFormat.DateWeekTime\n date={value}\n typographyProps={{\n variant: \"body3\",\n weight: \"medium\",\n className: classNames(\n `overflow-hidden truncate whitespace-normal break-all ${extraClasses}`,\n { \"whitespace-nowrap\": !allowMultiline }\n ),\n }}\n />\n ) : (\n <Tooltip\n content={valueToRender}\n disabled={isValueEmpty}\n position=\"top\"\n >\n <Typography\n color={showAddPlaceholder ? \"muted\" : undefined}\n data-testid={`metadata-value-${labelKey}`}\n role={isEditable ? \"button\" : undefined}\n tabIndex={isEditable ? 0 : undefined}\n variant=\"body3\"\n weight={showAddPlaceholder ? \"normal\" : \"medium\"}\n className={classNames(\n `truncate overflow-hidden break-all whitespace-normal ${extraClasses}`,\n {\n \"hover:border-input focus-visible:ring-ring cursor-pointer rounded border border-transparent p-0.5 transition-colors focus-visible:ring-1 focus-visible:outline-none motion-reduce:transition-none\":\n isEditable,\n \"whitespace-nowrap\": !allowMultiline,\n }\n )}\n onClick={() => isEditable && setIsEditing(true)}\n onKeyDown={handleValueKeyDown}\n >\n {showAddPlaceholder\n ? t(\"neetoMolecules.common.actions.add\", {\n entity: resolvedLabel,\n })\n : valueToRender}\n </Typography>\n </Tooltip>\n )}\n {showCopyButton && !isValueEmpty && (\n <CopyToClipboardButton\n className=\"text-muted-foreground size-6 flex-shrink-0\"\n value={valueToRender}\n variant=\"ghost\"\n />\n )}\n </>\n ) : (\n <EditField\n {...{\n error,\n handleChange,\n handleMetadataCancel,\n handleMetadataSubmit,\n kind,\n label,\n name,\n value,\n }}\n />\n )}\n </div>\n );\n};\n\nexport default Item;\n","import { memo } from \"react\";\n\nimport { Typography } from \"@bigbinary/neeto-atoms\";\nimport { isPresent, noop } from \"neetocist\";\n\nimport Item from \"./Item\";\nimport { isValuePresent } from \"./utils\";\n\nimport HelpPopover from \"../HelpPopover\";\n\nconst DetailsBlock = ({\n allowMultiline = true,\n details,\n handleCancel = noop,\n handleSubmit = noop,\n helpPopoverProps,\n iconSize,\n showIcons = false,\n title = \"\",\n}) => (\n <div className=\"mb-4\" data-testid=\"details-block-items-parent\">\n {title && (\n <div className=\"mb-2 flex items-center gap-2\">\n <Typography className=\"uppercase\" variant=\"h6\" weight=\"bold\">\n {title}\n </Typography>\n {isPresent(helpPopoverProps) && <HelpPopover {...helpPopoverProps} />}\n </div>\n )}\n {details\n .filter(detail => detail.isEditable || isValuePresent(detail))\n .map((detail, index) => (\n <Item\n {...{\n allowMultiline,\n handleCancel,\n handleSubmit,\n iconSize,\n showIcons,\n }}\n item={detail}\n key={index}\n />\n ))}\n </div>\n);\n\nexport default memo(DetailsBlock);\n","import { memo, useMemo, useState } from \"react\";\n\nimport { Button, Spinner } from \"@bigbinary/neeto-atoms\";\nimport { ChevronDown, ChevronUp } from \"lucide-react\";\nimport { filterBy, isPresent, noop, removeBy } from \"neetocist\";\nimport PropTypes from \"prop-types\";\nimport { pluck, not } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport DetailsBlock from \"./DetailsBlock\";\n\nconst SessionEnvironment = ({\n allowMultiline = false,\n details,\n handleCancel = noop,\n handleSubmit = noop,\n helpPopoverProps = {},\n iconSize = 20,\n isLoading = false,\n moreDetails = [],\n title = \"\",\n}) => {\n const [showViewMore, setShowViewMore] = useState(false);\n\n const customViewMoreItems = useMemo(\n () => filterBy({ kind: \"custom\" }, moreDetails),\n [moreDetails]\n );\n\n const { t } = useTranslation();\n\n if (isLoading) {\n return (\n <div className=\"flex h-full w-full items-center justify-center\">\n <Spinner data-testid=\"neeto-ui-spinner\" />\n </div>\n );\n }\n\n return (\n <div className=\"w-full\">\n <DetailsBlock\n {...{\n allowMultiline,\n details,\n handleCancel,\n handleSubmit,\n helpPopoverProps,\n iconSize,\n title,\n }}\n showIcons\n />\n {showViewMore && (\n <>\n <hr className=\"border-border my-4\" />\n <DetailsBlock\n {...{\n handleCancel,\n handleSubmit,\n helpPopoverProps,\n iconSize,\n }}\n details={removeBy({ kind: \"custom\" }, moreDetails)}\n />\n {isPresent(customViewMoreItems) && (\n <>\n <hr className=\"border-border my-4\" />\n {pluck(\"value\", customViewMoreItems)}\n </>\n )}\n </>\n )}\n <Button\n className=\"mb-4\"\n data-testid=\"view-more-less-button\"\n icon={showViewMore ? ChevronUp : ChevronDown}\n variant=\"link\"\n label={\n showViewMore\n ? t(\"neetoMolecules.sessionEnvironment.viewLess\")\n : t(\"neetoMolecules.sessionEnvironment.viewMore\")\n }\n onClick={() => setShowViewMore(not)}\n />\n </div>\n );\n};\n\nSessionEnvironment.propTypes = {\n /*\n details can be an array of fields to be displayed.\n */\n details: PropTypes.array,\n /*\n handleCancel is a function that will be called when the cancel button is clicked.\n */\n handleCancel: PropTypes.func,\n /*\n handleSubmit is a function that will be called when the form is submitted.\n */\n handleSubmit: PropTypes.func,\n /*\n helpPopoverProps are the props that will be passed to the HelpPopover component.\n */\n helpPopoverProps: PropTypes.object,\n /*\n iconSize is a number that will be used to set the size of the icon.\n */\n iconSize: PropTypes.number,\n /*\n isLoading is a boolean that will be used to show a spinner when true.\n */\n isLoading: PropTypes.bool,\n /*\n moreDetails can be an array of fields to be displayed when the view more button is clicked.\n */\n moreDetails: PropTypes.array,\n /*\n The title to be displayed above the details.\n */\n title: PropTypes.string,\n /*\n allowMultiline is a boolean that will be used to decide whether the items should be displayed in a single line or multiple lines.\n */\n allowMultiline: PropTypes.bool,\n};\n\nexport default memo(SessionEnvironment);\n"],"names":["__iconNode","BOOLEAN_VALUES_MAP","ENTER","ESCAPE","PHONE_NUMBER","INTEGER","ICONS_MAP","name","User","user","email","Mail","phone_number","Phone","location","MapPin","timezone","Globe","chrome","Chrome","safari","Safari","mobile_safari","firefox","Firefox","edge","Edge","ie","windows","Windows","mac_os","Apple","macos","ios","ubuntu","Ubuntu","linux","mobile","Smartphone","desktop","Monitor","getInputType","_ref","kind","getIcon","_ref2","iconSize","value","Icon","toLowerCase","replace","isPresent","_jsx","size","isValuePresent","pipe","prop","mergeRefs","_len","arguments","length","refs","Array","_key","node","filter","Boolean","forEach","ref","current","EditField","error","label","handleChange","handleMetadataCancel","handleMetadataSubmit","_useTranslation","useTranslation","t","enterRef","useHotkeys","mode","cancelRef","InputComponent","PhoneNumberInput","Input","_jsxs","className","children","autoFocus","concat","hyphenate","placeholder","what","type","onChange","Button","icon","X","variant","tooltipProps","content","position","onClick","Check","memo","Item","allowMultiline","handleCancel","handleSubmit","item","showIcons","_useState","useState","isEditing","_useState2","_slicedToArray","setIsEditing","_useState3","_useState4","setValue","_item$isEditable","isEditable","_item$extraClasses","extraClasses","_item$extraWrapperCla","extraWrapperClasses","id","fieldValueId","_item$custom","custom","_item$showCopyButton","showCopyButton","valueToRender","useMemo","isNil","toString","iconToRender","onSuccess","fieldId","event","target","handleValueKeyDown","key","preventDefault","useEffect","labelKey","resolvedLabel","isValueEmpty","showAddPlaceholder","classNames","Tooltip","Typography","color","_Fragment","TimeFormat","DateWeekTime","date","typographyProps","weight","disabled","undefined","role","tabIndex","onKeyDown","entity","CopyToClipboardButton","DetailsBlock","_ref$allowMultiline","details","_ref$handleCancel","noop","_ref$handleSubmit","helpPopoverProps","_ref$showIcons","_ref$title","title","HelpPopover","_objectSpread","detail","map","index","_createElement","SessionEnvironment","_ref$helpPopoverProps","_ref$iconSize","_ref$isLoading","isLoading","_ref$moreDetails","moreDetails","showViewMore","setShowViewMore","customViewMoreItems","filterBy","Spinner","removeBy","pluck","ChevronUp","ChevronDown","not"],"mappings":"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","x_google_ignoreList":[0,1,2]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@bigbinary/neeto-molecules",
3
- "version": "5.2.17",
3
+ "version": "5.2.19",
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>",
@@ -59,7 +59,7 @@
59
59
  "@babel/runtime": "7.26.10",
60
60
  "@bigbinary/babel-preset-neeto": "^1.0.14",
61
61
  "@bigbinary/eslint-plugin-neeto": "1.9.1",
62
- "@bigbinary/neeto-atoms": "1.0.97",
62
+ "@bigbinary/neeto-atoms": "1.0.99",
63
63
  "@bigbinary/neeto-audit-frontend": "2.5.4",
64
64
  "@bigbinary/neeto-cist": "1.0.17",
65
65
  "@bigbinary/neeto-commons-frontend": "4.13.144",
@@ -236,7 +236,7 @@
236
236
  "peerDependencies": {
237
237
  "@babel/plugin-syntax-dynamic-import": "^7.8.3",
238
238
  "@babel/runtime": "7.26.0",
239
- "@bigbinary/neeto-atoms": "1.0.97",
239
+ "@bigbinary/neeto-atoms": "1.0.99",
240
240
  "@bigbinary/neeto-cist": "1.0.17",
241
241
  "@bigbinary/neeto-commons-frontend": "4.13.144",
242
242
  "@bigbinary/neeto-editor": "1.47.123",