@bigbinary/neeto-molecules 5.2.18 → 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.
@@ -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
  }
@@ -115,7 +115,7 @@ var DetailsBlock = function DetailsBlock(_ref) {
115
115
  }),
116
116
  children: [/*#__PURE__*/jsxRuntime.jsx(neetoAtoms.Typography, {
117
117
  color: "muted",
118
- variant: "body2",
118
+ variant: "body3",
119
119
  children: label
120
120
  }), renderDetailsValue(value)]
121
121
  })
@@ -135,7 +135,7 @@ var DetailsBlock = function DetailsBlock(_ref) {
135
135
  }),
136
136
  children: [/*#__PURE__*/jsxRuntime.jsx(neetoAtoms.Typography, {
137
137
  color: "muted",
138
- variant: "body2",
138
+ variant: "body3",
139
139
  children: label
140
140
  }), renderDetailsValue(value)]
141
141
  })
@@ -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=\"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=\"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 color=\"muted\" 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 color=\"muted\" variant=\"body2\">\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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"}
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,7 +317,7 @@ 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
322
  className: "text-muted-foreground flex-shrink-0",
305
323
  children: iconToRender
@@ -308,13 +326,13 @@ var Item = function Item(_ref) {
308
326
  className: "whitespace-nowrap",
309
327
  color: "muted",
310
328
  "data-testid": "metadata-label-".concat(labelKey),
311
- variant: "body2",
312
- children: label || t("neetoMolecules.sessionEnvironment.details.keys.".concat(name))
329
+ variant: "body3",
330
+ children: resolvedLabel
313
331
  }), !isEditing ? /*#__PURE__*/jsxRuntime.jsxs(jsxRuntime.Fragment, {
314
332
  children: [kind === "datetime" ? /*#__PURE__*/jsxRuntime.jsx(v2_TimeFormat.DateWeekTime, {
315
333
  date: value,
316
334
  typographyProps: {
317
- variant: "body2",
335
+ variant: "body3",
318
336
  weight: "medium",
319
337
  className: classnames("overflow-hidden truncate whitespace-normal break-all ".concat(extraClasses), {
320
338
  "whitespace-nowrap": !allowMultiline
@@ -322,21 +340,28 @@ var Item = function Item(_ref) {
322
340
  }
323
341
  }) : /*#__PURE__*/jsxRuntime.jsx(neetoAtoms.Tooltip, {
324
342
  content: valueToRender,
343
+ disabled: isValueEmpty,
325
344
  position: "top",
326
345
  children: /*#__PURE__*/jsxRuntime.jsx(neetoAtoms.Typography, {
346
+ color: showAddPlaceholder ? "muted" : undefined,
327
347
  "data-testid": "metadata-value-".concat(labelKey),
328
- variant: "body2",
329
- weight: "medium",
348
+ role: isEditable ? "button" : undefined,
349
+ tabIndex: isEditable ? 0 : undefined,
350
+ variant: "body3",
351
+ weight: showAddPlaceholder ? "normal" : "medium",
330
352
  className: classnames("truncate overflow-hidden break-all whitespace-normal ".concat(extraClasses), {
331
- "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,
332
354
  "whitespace-nowrap": !allowMultiline
333
355
  }),
334
356
  onClick: function onClick() {
335
357
  return isEditable && setIsEditing(true);
336
358
  },
337
- children: valueToRender
359
+ onKeyDown: handleValueKeyDown,
360
+ children: showAddPlaceholder ? t("neetoMolecules.common.actions.add", {
361
+ entity: resolvedLabel
362
+ }) : valueToRender
338
363
  })
339
- }), showCopyButton && /*#__PURE__*/jsxRuntime.jsx(v2_CopyToClipboardButton, {
364
+ }), showCopyButton && !isValueEmpty && /*#__PURE__*/jsxRuntime.jsx(v2_CopyToClipboardButton, {
340
365
  className: "text-muted-foreground size-6 flex-shrink-0",
341
366
  value: valueToRender,
342
367
  variant: "ghost"
@@ -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 {/* 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=\"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=\"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","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","color","_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","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]}
@@ -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
  }
@@ -113,7 +113,7 @@ var DetailsBlock = function DetailsBlock(_ref) {
113
113
  }),
114
114
  children: [/*#__PURE__*/jsx(Typography, {
115
115
  color: "muted",
116
- variant: "body2",
116
+ variant: "body3",
117
117
  children: label
118
118
  }), renderDetailsValue(value)]
119
119
  })
@@ -133,7 +133,7 @@ var DetailsBlock = function DetailsBlock(_ref) {
133
133
  }),
134
134
  children: [/*#__PURE__*/jsx(Typography, {
135
135
  color: "muted",
136
- variant: "body2",
136
+ variant: "body3",
137
137
  children: label
138
138
  }), renderDetailsValue(value)]
139
139
  })
@@ -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=\"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=\"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 color=\"muted\" 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 color=\"muted\" variant=\"body2\">\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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"}
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":";;;;;;;;;;;;;;AAIA,IAAMA,KAAK,GAAG,SAARA,KAAKA,CAAAC,IAAA,EAAA;AAAA,EAAA,IAAMC,KAAK,GAAAD,IAAA,CAALC,KAAK;IAAEC,WAAW,GAAAF,IAAA,CAAXE,WAAW;IAAEC,QAAQ,GAAAH,IAAA,CAARG,QAAQ;IAAAC,cAAA,GAAAJ,IAAA,CAAEK,SAAS;AAATA,IAAAA,SAAS,GAAAD,cAAA,KAAA,MAAA,GAAG,EAAE,GAAAA,cAAA;AAAA,EAAA,oBAC3DE,IAAA,CAAA,KAAA,EAAA;AACED,IAAAA,SAAS,EAAC,yCAAyC;AACnD,IAAA,aAAA,EAAY,gCAAgC;AAAAF,IAAAA,QAAA,GAE3C,CAACF,KAAK,IAAIC,WAAW,kBACpBI,IAAA,CAAA,KAAA,EAAA;AAAKD,MAAAA,SAAS,EAAC,qDAAqD;MAAAF,QAAA,EAAA,CACjEF,KAAK,iBACJM,GAAA,CAAA,KAAA,EAAA;AAAKF,QAAAA,SAAS,EAAC,wCAAwC;QAAAF,QAAA,eACrDI,GAAA,CAACC,UAAU,EAAA;AACTH,UAAAA,SAAS,EAAC,WAAW;AACrB,UAAA,aAAA,EAAY,sBAAsB;AAClCI,UAAAA,OAAO,EAAC,IAAI;AACZC,UAAAA,MAAM,EAAC,MAAM;AAAAP,UAAAA,QAAA,EAEZF;SACS;AAAC,OACV,CACN,EACAC,WAAW,iBAAIK,GAAA,CAAA,KAAA,EAAA;AAAKF,QAAAA,SAAS,EAAC,SAAS;AAAAF,QAAAA,QAAA,EAAED;AAAW,OAAM,CAAC;AAAA,KACzD,CACN,EACA,CAAC,CAACC,QAAQ,iBACTI,GAAA,CAAA,KAAA,EAAA;AACEF,MAAAA,SAAS,EAAEM,UAAU,CAAC,eAAe,EAAEN,SAAS,CAAE;AAClD,MAAA,aAAA,EAAY,eAAe;AAAAF,MAAAA,QAAA,EAE1BA;AAAQ,KACN,CACN;AAAA,GACE,CAAC;AAAA,CACP;;ACnCM,IAAMS,MAAM,GAAG;AAAEC,EAAAA,MAAM,EAAE,QAAQ;AAAEC,EAAAA,SAAS,EAAE;AAAY,CAAC;AAE3D,IAAMC,KAAK,GAAG;AAAEC,EAAAA,KAAK,EAAE,OAAO;AAAEC,EAAAA,MAAM,EAAE;AAAS,CAAC;AAElD,IAAMC,mBAAmB,GAAG,CAAC;AAE7B,IAAMC,kBAAkB,GAAAC,eAAA,CAAAA,eAAA,KAC5BL,KAAK,CAACE,MAAM,EACX,qGAAqG,CAAA,EACtGF,KAAK,CAACC,KAAK,EACV,qGAAqG,CACxG;;ACCD,IAAMK,YAAY,GAAG,SAAfA,YAAYA,CAAArB,IAAA,EASZ;AAAA,EAAA,IARJC,KAAK,GAAAD,IAAA,CAALC,KAAK;IACLC,WAAW,GAAAF,IAAA,CAAXE,WAAW;IAAAoB,YAAA,GAAAtB,IAAA,CACXuB,OAAO;AAAPA,IAAAA,OAAO,GAAAD,YAAA,KAAA,MAAA,GAAG,EAAE,GAAAA,YAAA;IACZjB,SAAS,GAAAL,IAAA,CAATK,SAAS;IAAAmB,UAAA,GAAAxB,IAAA,CACTyB,KAAK;AAALA,IAAAA,KAAK,GAAAD,UAAA,KAAA,MAAA,GAAGZ,MAAM,CAACC,MAAM,GAAAW,UAAA;IAAAE,aAAA,GAAA1B,IAAA,CACrB2B,QAAQ;AAARA,IAAAA,QAAQ,GAAAD,aAAA,KAAA,MAAA,GAAG,KAAK,GAAAA,aAAA;IAAAE,eAAA,GAAA5B,IAAA,CAChB6B,UAAU;AAAVA,IAAAA,UAAU,GAAAD,eAAA,KAAA,MAAA,GAAGV,mBAAmB,GAAAU,eAAA;IAChCzB,QAAQ,GAAAH,IAAA,CAARG,QAAQ;AAER,EAAA,IAAA2B,SAAA,GAA0CC,QAAQ,CAAC,KAAK,CAAC;IAAAC,UAAA,GAAAC,cAAA,CAAAH,SAAA,EAAA,CAAA,CAAA;AAAlDI,IAAAA,aAAa,GAAAF,UAAA,CAAA,CAAA,CAAA;AAAEG,IAAAA,gBAAgB,GAAAH,UAAA,CAAA,CAAA,CAAA;AAEtC,EAAA,IAAAI,eAAA,GAAcC,cAAc,EAAE;IAAtBC,CAAC,GAAAF,eAAA,CAADE,CAAC;EAET,IAAAC,KAAA,GAA2CZ,QAAQ,GAC/C,CAACJ,OAAO,CAACiB,KAAK,CAAC,CAAC,EAAEX,UAAU,CAAC,EAAEN,OAAO,CAACiB,KAAK,CAACX,UAAU,CAAC,CAAC,GACzD,CAACN,OAAO,CAAC;IAAAkB,KAAA,GAAAR,cAAA,CAAAM,KAAA,EAAA,CAAA,CAAA;AAFNG,IAAAA,cAAc,GAAAD,KAAA,CAAA,CAAA,CAAA;AAAEE,IAAAA,gBAAgB,GAAAF,KAAA,CAAA,CAAA,CAAA;AAIvC,EAAA,IAAMG,kBAAkB,GAAG,SAArBA,kBAAkBA,CAAGC,KAAK,EAAI;AAClC,IAAA,IAAI,OAAOA,KAAK,KAAK,QAAQ,EAAE;MAC7B,oBACEtC,GAAA,CAACC,UAAU,EAAA;AAACH,QAAAA,SAAS,EAAC,0BAA0B;AAACI,QAAAA,OAAO,EAAC,OAAO;AAAAN,QAAAA,QAAA,EAC7D0C;AAAK,OACI,CAAC;AAEjB,IAAA;AAEA,IAAA,oBAAOtC,GAAA,CAAA,MAAA,EAAA;AAAMF,MAAAA,SAAS,EAAC,mBAAmB;AAAAF,MAAAA,QAAA,EAAE0C;AAAK,KAAO,CAAC;EAC3D,CAAC;EAED,oBACEtC,GAAA,CAACR,KAAK,EAAA;AACEG,IAAAA,WAAW,EAAXA,WAAW;AAAEG,IAAAA,SAAS,EAATA,SAAS;IAC5BJ,KAAK,EAAEA,KAAK,KAAA,IAAA,IAALA,KAAK,KAAA,MAAA,GAALA,KAAK,GAAIqC,CAAC,CAAC,sCAAsC,CAAE;AAAAnC,IAAAA,QAAA,eAE1DG,IAAA,CAAA,KAAA,EAAA;AACED,MAAAA,SAAS,EAAC,uBAAuB;AACjC,MAAA,aAAA,EAAY,wCAAwC;MAAAF,QAAA,EAAA,CAEnDuC,cAAc,CAACI,GAAG,CAAC,UAAAC,KAAA,EAAyBC,KAAK,EAAA;AAAA,QAAA,IAA3BC,KAAK,GAAAF,KAAA,CAALE,KAAK;UAAEJ,KAAK,GAAAE,KAAA,CAALF,KAAK;UAAEK,IAAI,GAAAH,KAAA,CAAJG,IAAI;QAAA,oBACvC3C,GAAA,CAAC4C,QAAQ,EAAA;AAAAhD,UAAAA,QAAA,EACN+C,IAAI,KAAK,SAAS,gBACjB3C,GAAA,CAAA,IAAA,EAAA;AAAIF,YAAAA,SAAS,EAAC;WAAiB,CAAC,gBAEhCC,IAAA,CAAA,KAAA,EAAA;AACE,YAAA,aAAA,EAAY,6BAA6B;AACzCD,YAAAA,SAAS,EAAEM,UAAU,CAAC,MAAM,EAAE;AAC5B,cAAA,sBAAsB,EAAEc,KAAK,KAAKb,MAAM,CAACC,MAAM;AAC/C,cAAA,UAAU,EAAEY,KAAK,KAAKb,MAAM,CAACE;AAC/B,aAAC,CAAE;YAAAX,QAAA,EAAA,cAEHI,GAAA,CAACC,UAAU,EAAA;AAAC4C,cAAAA,KAAK,EAAC,OAAO;AAAC3C,cAAAA,OAAO,EAAC,OAAO;AAAAN,cAAAA,QAAA,EACtC8C;AAAK,aACI,CAAC,EACZL,kBAAkB,CAACC,KAAK,CAAC;WACvB;AACN,SAAA,EAhBYG,KAiBL,CAAC;MAAA,CACZ,CAAC,EACD,CAACrB,QAAQ,IAAIxB,QAAQ,EACrB+B,aAAa,iBACZ5B,IAAA,CAAA+C,UAAA,EAAA;QAAAlD,QAAA,EAAA,CACGwC,gBAAgB,CAACG,GAAG,CAAC,UAAAQ,KAAA,EAAyBN,KAAK,EAAA;AAAA,UAAA,IAA3BC,KAAK,GAAAK,KAAA,CAALL,KAAK;YAAEJ,KAAK,GAAAS,KAAA,CAALT,KAAK;YAAEK,IAAI,GAAAI,KAAA,CAAJJ,IAAI;UAAA,oBACzC3C,GAAA,CAAC4C,QAAQ,EAAA;AAAAhD,YAAAA,QAAA,EACN+C,IAAI,KAAK,SAAS,gBACjB3C,GAAA,CAAA,IAAA,EAAA;AAAIF,cAAAA,SAAS,EAAC;aAAiB,CAAC,gBAEhCC,IAAA,CAAA,KAAA,EAAA;AACED,cAAAA,SAAS,EAAEM,UAAU,CAAC,MAAM,EAAE;AAC5B,gBAAA,SAAS,EAAEc,KAAK,KAAKb,MAAM,CAACC,MAAM;AAClC,gBAAA,UAAU,EAAEY,KAAK,KAAKb,MAAM,CAACE;AAC/B,eAAC,CAAE;cAAAX,QAAA,EAAA,cAEHI,GAAA,CAACC,UAAU,EAAA;AAAC4C,gBAAAA,KAAK,EAAC,OAAO;AAAC3C,gBAAAA,OAAO,EAAC,OAAO;AAAAN,gBAAAA,QAAA,EACtC8C;AAAK,eACI,CAAC,EACZL,kBAAkB,CAACC,KAAK,CAAC;aACvB;AACN,WAAA,EAfYG,KAgBL,CAAC;QAAA,CACZ,CAAC,EACD7C,QAAQ;OACT,CACH,EACAwB,QAAQ,IAAI4B,UAAU,CAACZ,gBAAgB,CAAC,iBACvCpC,GAAA,CAACiD,MAAM,EAAA;AACL,QAAA,aAAA,EAAY,eAAe;AAC3BC,QAAAA,IAAI,EAAEvB,aAAa,GAAGwB,SAAS,GAAGC,WAAY;AAC9CC,QAAAA,YAAY,EAAC,MAAM;AACnBnD,QAAAA,OAAO,EAAC,MAAM;QACdwC,KAAK,EACHf,aAAa,GACTI,CAAC,CAAC,uCAAuC,CAAC,GAC1CA,CAAC,CAAC,uCAAuC,CAC9C;QACDuB,OAAO,EAAE,SAATA,OAAOA,GAAA;UAAA,OAAQ1B,gBAAgB,CAAC,UAAAD,aAAa,EAAA;AAAA,YAAA,OAAI,CAACA,aAAa;UAAA,CAAA,CAAC;AAAA,QAAA;AAAC,OAClE,CACF;KACE;AAAC,GACD,CAAC;AAEZ,CAAC;;ACrGD,IAAM4B,QAAQ,GAAG,SAAXA,QAAQA,CAAA9D,IAAA,EAKR;EAAA,IAAA+D,qBAAA,EAAAC,sBAAA;AAAA,EAAA,IAJJC,WAAW,GAAAjE,IAAA,CAAXiE,WAAW;IAAAC,SAAA,GAAAlE,IAAA,CACXmE,IAAI;AAAJA,IAAAA,IAAI,GAAAD,SAAA,KAAA,MAAA,GAAGnD,KAAK,CAACE,MAAM,GAAAiD,SAAA;IACnB/D,QAAQ,GAAAH,IAAA,CAARG,QAAQ;IAAAC,cAAA,GAAAJ,IAAA,CACRK,SAAS;AAATA,IAAAA,SAAS,GAAAD,cAAA,KAAA,MAAA,GAAG,EAAE,GAAAA,cAAA;AAEd,EAAA,IAAAgE,eAAA,GAAmBC,cAAc,EAAE;IAA3BC,MAAM,GAAAF,eAAA,CAANE,MAAM;EACd,IAAMC,cAAc,GAAGD,MAAM,CAAC,SAAS,CAAC,IAAIA,MAAM,CAAC,cAAc,CAAC;AAClE,EAAA,IAAAxC,SAAA,GACEC,QAAQ,CAAC,CAACwC,cAAc,CAAC;IAAAvC,UAAA,GAAAC,cAAA,CAAAH,SAAA,EAAA,CAAA,CAAA;AADpB0C,IAAAA,wBAAwB,GAAAxC,UAAA,CAAA,CAAA,CAAA;AAAEyC,IAAAA,2BAA2B,GAAAzC,UAAA,CAAA,CAAA,CAAA;AAG5D0C,EAAAA,SAAS,CAAC,YAAM;IACdD,2BAA2B,CAAC,CAACF,cAAc,CAAC;AAC9C,EAAA,CAAC,EAAE,CAACA,cAAc,CAAC,CAAC;EAEpB,oBACEjE,IAAA,CAAA+C,UAAA,EAAA;AAAAlD,IAAAA,QAAA,EAAA,CACG,CAACqE,wBAAwB,iBACxBjE,GAAA,CAAA,KAAA,EAAA;AACEF,MAAAA,SAAS,EAAC,2FAA2F;AACrGwD,MAAAA,OAAO,EAAE,SAATA,OAAOA,GAAQ;QACbY,2BAA2B,CAAC,CAACD,wBAAwB,CAAC;AACxD,MAAA;KACD,CACF,eACDlE,IAAA,CAAA,KAAA,EAAA;AACED,MAAAA,SAAS,EAAEM,UAAU;AACnB;AACA;AACA;MACA,sKAAsK,EACtK6D,wBAAwB,GACpB,qBAAqB,GACrB7D,UAAU,CAAA,CAAAoD,qBAAA,GACR5C,kBAAkB,CAACgD,IAAI,CAAC,MAAA,IAAA,IAAAJ,qBAAA,KAAA,MAAA,GAAAA,qBAAA,GAAI5C,kBAAkB,CAACJ,KAAK,CAACE,MAAM,CAAC,EAC5D,kFACF,CACN,CAAE;AAAAd,MAAAA,QAAA,gBAEFI,GAAA,CAAA,KAAA,EAAA;AAAKF,QAAAA,SAAS,EAAC,gDAAgD;AAAAF,QAAAA,QAAA,eAC7DG,IAAA,CAAA,KAAA,EAAA;AACE,UAAA,aAAA,EAAY,kCAAkC;UAC9CD,SAAS,EAAEM,UAAU,CACnB,yJAAyJ,EAAA,CAAAqD,sBAAA,GACzJ7C,kBAAkB,CAACgD,IAAI,CAAC,MAAA,IAAA,IAAAH,sBAAA,KAAA,MAAA,GAAAA,sBAAA,GAAI7C,kBAAkB,CAACJ,KAAK,CAACE,MAAM,CAAC,EAC5DZ,SACF,CAAE;UAAAF,QAAA,EAAA,CAED8D,WAAW,iBACV1D,GAAA,CAAA,KAAA,EAAA;AACEF,YAAAA,SAAS,EAAC,iCAAiC;AAC3C,YAAA,aAAA,EAAY,iCAAiC;AAAAF,YAAAA,QAAA,EAE5C8D;WACE,CACN,EACA9D,QAAQ;SACN;AAAC,OACH,CAAC,EACL,CAACoE,cAAc,iBACdhE,GAAA,CAACiD,MAAM,EAAA;AACLC,QAAAA,IAAI,EAAEkB,cAAe;AACrBR,QAAAA,IAAI,EAAC,MAAM;AACX1D,QAAAA,OAAO,EAAC,WAAW;AACnBJ,QAAAA,SAAS,EAAEM,UAAU,CACnB,kEAAkE,EAClE;AACE,UAAA,uDAAuD,EACrD6D;AACJ,SACF,CAAE;AACFX,QAAAA,OAAO,EAAE,SAATA,OAAOA,GAAQ;UACbY,2BAA2B,CAAC,CAACD,wBAAwB,CAAC;AACxD,QAAA;AAAE,OACH,CACF;AAAA,KACE,CAAC;AAAA,GACN,CAAC;AAEP;AAEAV,QAAQ,CAAC/D,KAAK,GAAGA,KAAK;AACtB+D,QAAQ,CAACzC,YAAY,GAAGA,YAAY;;;;"}
@@ -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,7 +315,7 @@ 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
320
  className: "text-muted-foreground flex-shrink-0",
303
321
  children: iconToRender
@@ -306,13 +324,13 @@ var Item = function Item(_ref) {
306
324
  className: "whitespace-nowrap",
307
325
  color: "muted",
308
326
  "data-testid": "metadata-label-".concat(labelKey),
309
- variant: "body2",
310
- children: label || t("neetoMolecules.sessionEnvironment.details.keys.".concat(name))
327
+ variant: "body3",
328
+ children: resolvedLabel
311
329
  }), !isEditing ? /*#__PURE__*/jsxs(Fragment, {
312
330
  children: [kind === "datetime" ? /*#__PURE__*/jsx(TimeFormat.DateWeekTime, {
313
331
  date: value,
314
332
  typographyProps: {
315
- variant: "body2",
333
+ variant: "body3",
316
334
  weight: "medium",
317
335
  className: classnames("overflow-hidden truncate whitespace-normal break-all ".concat(extraClasses), {
318
336
  "whitespace-nowrap": !allowMultiline
@@ -320,21 +338,28 @@ var Item = function Item(_ref) {
320
338
  }
321
339
  }) : /*#__PURE__*/jsx(Tooltip, {
322
340
  content: valueToRender,
341
+ disabled: isValueEmpty,
323
342
  position: "top",
324
343
  children: /*#__PURE__*/jsx(Typography, {
344
+ color: showAddPlaceholder ? "muted" : undefined,
325
345
  "data-testid": "metadata-value-".concat(labelKey),
326
- variant: "body2",
327
- weight: "medium",
346
+ role: isEditable ? "button" : undefined,
347
+ tabIndex: isEditable ? 0 : undefined,
348
+ variant: "body3",
349
+ weight: showAddPlaceholder ? "normal" : "medium",
328
350
  className: classnames("truncate overflow-hidden break-all whitespace-normal ".concat(extraClasses), {
329
- "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,
330
352
  "whitespace-nowrap": !allowMultiline
331
353
  }),
332
354
  onClick: function onClick() {
333
355
  return isEditable && setIsEditing(true);
334
356
  },
335
- children: valueToRender
357
+ onKeyDown: handleValueKeyDown,
358
+ children: showAddPlaceholder ? t("neetoMolecules.common.actions.add", {
359
+ entity: resolvedLabel
360
+ }) : valueToRender
336
361
  })
337
- }), showCopyButton && /*#__PURE__*/jsx(CopyToClipboardButton, {
362
+ }), showCopyButton && !isValueEmpty && /*#__PURE__*/jsx(CopyToClipboardButton, {
338
363
  className: "text-muted-foreground size-6 flex-shrink-0",
339
364
  value: valueToRender,
340
365
  variant: "ghost"
@@ -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 {/* 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=\"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=\"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","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","color","_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.18",
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>",