@bigbinary/neeto-molecules 4.0.38 → 4.0.39

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.
@@ -131,6 +131,9 @@ var StatusDropdown = function StatusDropdown(_ref) {
131
131
  }, options);
132
132
  return /*#__PURE__*/jsx(Dropdown, {
133
133
  disabled: disabled,
134
+ appendTo: function appendTo() {
135
+ return document.body;
136
+ },
134
137
  strategy: "fixed",
135
138
  customTarget: function customTarget() {
136
139
  return /*#__PURE__*/jsx(Target$1, _objectSpread({
@@ -1 +1 @@
1
- {"version":3,"file":"StatusDropdown.js","sources":["../src/components/StatusDropdown/Menu.jsx","../src/components/StatusDropdown/constants.js","../src/components/StatusDropdown/Target.jsx","../src/components/StatusDropdown/index.jsx"],"sourcesContent":["import { memo } from \"react\";\n\nimport { hyphenate } from \"neetocist\";\nimport { Dropdown } from \"neetoui\";\n\nconst { Menu: NeetoUIMenu, MenuItem } = Dropdown;\n\nconst Menu = ({\n onItemClick,\n options,\n shouldShowAllOptions = false,\n hiddenStatuses = [],\n}) => {\n const allowedOptions = shouldShowAllOptions\n ? options\n : options.filter(status => !hiddenStatuses.includes(status.value));\n\n return (\n <NeetoUIMenu data-testid=\"status-dropdown-menu\">\n {allowedOptions?.map(option => (\n <MenuItem.Button\n className={`status-dropdown-item--${option.color}`}\n data-cy={`status-dropdown-item-${hyphenate(option.value)}`}\n data-testid={`status-dropdown-item-${option.value}`}\n key={option.value}\n onClick={() => onItemClick(option)}\n >\n {option.label}\n </MenuItem.Button>\n ))}\n </NeetoUIMenu>\n );\n};\n\nexport default memo(Menu);\n","export const ICON_SIZE = 16;\n","import { memo } from \"react\";\n\nimport { Down, Close } from \"neetoicons\";\nimport { Typography } from \"neetoui\";\nimport { isNil } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { ICON_SIZE } from \"./constants.js\";\n\nconst Target = ({\n color,\n value,\n label,\n dataCy,\n isClearable,\n onClear,\n placeholder,\n}) => {\n const { t } = useTranslation();\n const targetClassName = `neeto-ui-rounded-sm inline-flex items-center gap-2 cursor-pointer py-0.5 px-2 status-dropdown-target--${\n color || \"waiting\"\n }`;\n const isOptionSelected = !isNil(value);\n\n const handleClearClick = event => {\n onClear();\n event.stopPropagation();\n };\n\n const handleClearKeyDown = event => {\n if (!(event.key === \"Enter\" || event.key === \" \")) return;\n event.preventDefault();\n handleClearClick(event);\n };\n\n return (\n <button\n aria-haspopup=\"listbox\"\n className={targetClassName}\n data-cy={dataCy}\n data-testid=\"status-dropdown\"\n type=\"button\"\n aria-label={\n isOptionSelected\n ? `Selected: ${label}`\n : placeholder || t(\"neetoMolecules.statusDropdown.placeholder\")\n }\n >\n {isOptionSelected ? (\n <Typography className=\"inline\" style=\"body2\">\n {label}\n </Typography>\n ) : (\n <Typography className=\"neeto-ui-text-gray-600 inline\" style=\"body2\">\n {placeholder || t(\"neetoMolecules.statusDropdown.placeholder\")}\n </Typography>\n )}\n <span className=\"inline-flex items-center gap-1\">\n {isClearable && isOptionSelected && (\n <span\n aria-label={t(\"neetoMolecules.statusDropdown.clear\")}\n className=\"cursor-pointer\"\n data-cy=\"status-dropdown-clear-button\"\n data-testid=\"status-dropdown-clear-button\"\n role=\"button\"\n tabIndex={0}\n onClick={handleClearClick}\n onKeyDown={handleClearKeyDown}\n >\n <Close size={ICON_SIZE} />\n </span>\n )}\n <Down aria-hidden=\"true\" size={ICON_SIZE} />\n </span>\n </button>\n );\n};\n\nexport default memo(Target);\n","import { _findBy, noop } from \"neetocist\";\nimport { Dropdown, Spinner } from \"neetoui\";\nimport PropTypes from \"prop-types\";\n\nimport Menu from \"./Menu\";\nimport \"./status-dropdown.scss\";\nimport Target from \"./Target\";\n\nconst StatusDropdown = ({\n disabled = false,\n hiddenStatuses = [],\n isLoading = false,\n onItemClick,\n options,\n placeholder = null,\n selectedValue,\n shouldShowAllOptions = false,\n isClearable = false,\n onClear = noop,\n dataCy = \"status-dropdown\",\n}) => {\n const selectedOption = _findBy({ value: selectedValue }, options);\n\n return (\n <Dropdown\n {...{ disabled }}\n strategy=\"fixed\"\n customTarget={() => (\n <Target\n label={selectedValue}\n {...{ ...selectedOption, dataCy, isClearable, onClear, placeholder }}\n />\n )}\n >\n {isLoading ? (\n <div className=\"flex w-full items-center justify-center py-8\">\n <Spinner />\n </div>\n ) : (\n <Menu\n {...{ hiddenStatuses, onItemClick, options, shouldShowAllOptions }}\n />\n )}\n </Dropdown>\n );\n};\n\nStatusDropdown.Menu = Menu;\n\nStatusDropdown.propTypes = {\n /**\n * This prop will decide whether the dropdown is disabled or not.\n */\n disabled: PropTypes.bool,\n /**\n * Statuses to be hidden when shouldShowAllOptions is false.\n */\n hiddenStatuses: PropTypes.array,\n /**\n * This prop will decide whether the dropdown is in loading state or not.\n */\n isLoading: PropTypes.bool,\n /**\n * Function to be called when a menu item is clicked.\n */\n onItemClick: PropTypes.func,\n /**\n * The items that should be shown in the dropdown.\n */\n options: PropTypes.arrayOf(\n PropTypes.shape({\n label: PropTypes.string,\n value: PropTypes.string,\n color: PropTypes.string,\n })\n ),\n /**\n * Placeholder for the dropdown.\n */\n placeholder: PropTypes.string,\n /**\n * The selected value.\n */\n selectedValue: PropTypes.string,\n /**\n * This prop will decide whether all options should be shown or not. If set to false, the items in hiddenStatuses will not be shown.\n */\n shouldShowAllOptions: PropTypes.bool,\n /**\n * This prop will decide whether the dropdown is clearable or not.\n */\n isClearable: PropTypes.bool,\n /**\n * Function to be called when the clear button is clicked.\n */\n onClear: PropTypes.func,\n};\n\nexport default StatusDropdown;\n"],"names":["NeetoUIMenu","Dropdown","Menu","MenuItem","_ref","onItemClick","options","_ref$shouldShowAllOpt","shouldShowAllOptions","_ref$hiddenStatuses","hiddenStatuses","allowedOptions","filter","status","includes","value","_jsx","children","map","option","Button","className","concat","color","hyphenate","onClick","label","memo","ICON_SIZE","Target","dataCy","isClearable","onClear","placeholder","_useTranslation","useTranslation","t","targetClassName","isOptionSelected","isNil","handleClearClick","event","stopPropagation","handleClearKeyDown","key","preventDefault","_jsxs","type","Typography","style","role","tabIndex","onKeyDown","Close","size","Down","StatusDropdown","_ref$disabled","disabled","_ref$isLoading","isLoading","_ref$placeholder","selectedValue","_ref$isClearable","_ref$onClear","noop","_ref$dataCy","selectedOption","_findBy","strategy","customTarget","_objectSpread","Spinner"],"mappings":"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"}
1
+ {"version":3,"file":"StatusDropdown.js","sources":["../src/components/StatusDropdown/Menu.jsx","../src/components/StatusDropdown/constants.js","../src/components/StatusDropdown/Target.jsx","../src/components/StatusDropdown/index.jsx"],"sourcesContent":["import { memo } from \"react\";\n\nimport { hyphenate } from \"neetocist\";\nimport { Dropdown } from \"neetoui\";\n\nconst { Menu: NeetoUIMenu, MenuItem } = Dropdown;\n\nconst Menu = ({\n onItemClick,\n options,\n shouldShowAllOptions = false,\n hiddenStatuses = [],\n}) => {\n const allowedOptions = shouldShowAllOptions\n ? options\n : options.filter(status => !hiddenStatuses.includes(status.value));\n\n return (\n <NeetoUIMenu data-testid=\"status-dropdown-menu\">\n {allowedOptions?.map(option => (\n <MenuItem.Button\n className={`status-dropdown-item--${option.color}`}\n data-cy={`status-dropdown-item-${hyphenate(option.value)}`}\n data-testid={`status-dropdown-item-${option.value}`}\n key={option.value}\n onClick={() => onItemClick(option)}\n >\n {option.label}\n </MenuItem.Button>\n ))}\n </NeetoUIMenu>\n );\n};\n\nexport default memo(Menu);\n","export const ICON_SIZE = 16;\n","import { memo } from \"react\";\n\nimport { Down, Close } from \"neetoicons\";\nimport { Typography } from \"neetoui\";\nimport { isNil } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { ICON_SIZE } from \"./constants.js\";\n\nconst Target = ({\n color,\n value,\n label,\n dataCy,\n isClearable,\n onClear,\n placeholder,\n}) => {\n const { t } = useTranslation();\n const targetClassName = `neeto-ui-rounded-sm inline-flex items-center gap-2 cursor-pointer py-0.5 px-2 status-dropdown-target--${\n color || \"waiting\"\n }`;\n const isOptionSelected = !isNil(value);\n\n const handleClearClick = event => {\n onClear();\n event.stopPropagation();\n };\n\n const handleClearKeyDown = event => {\n if (!(event.key === \"Enter\" || event.key === \" \")) return;\n event.preventDefault();\n handleClearClick(event);\n };\n\n return (\n <button\n aria-haspopup=\"listbox\"\n className={targetClassName}\n data-cy={dataCy}\n data-testid=\"status-dropdown\"\n type=\"button\"\n aria-label={\n isOptionSelected\n ? `Selected: ${label}`\n : placeholder || t(\"neetoMolecules.statusDropdown.placeholder\")\n }\n >\n {isOptionSelected ? (\n <Typography className=\"inline\" style=\"body2\">\n {label}\n </Typography>\n ) : (\n <Typography className=\"neeto-ui-text-gray-600 inline\" style=\"body2\">\n {placeholder || t(\"neetoMolecules.statusDropdown.placeholder\")}\n </Typography>\n )}\n <span className=\"inline-flex items-center gap-1\">\n {isClearable && isOptionSelected && (\n <span\n aria-label={t(\"neetoMolecules.statusDropdown.clear\")}\n className=\"cursor-pointer\"\n data-cy=\"status-dropdown-clear-button\"\n data-testid=\"status-dropdown-clear-button\"\n role=\"button\"\n tabIndex={0}\n onClick={handleClearClick}\n onKeyDown={handleClearKeyDown}\n >\n <Close size={ICON_SIZE} />\n </span>\n )}\n <Down aria-hidden=\"true\" size={ICON_SIZE} />\n </span>\n </button>\n );\n};\n\nexport default memo(Target);\n","import { _findBy, noop } from \"neetocist\";\nimport { Dropdown, Spinner } from \"neetoui\";\nimport PropTypes from \"prop-types\";\n\nimport Menu from \"./Menu\";\nimport \"./status-dropdown.scss\";\nimport Target from \"./Target\";\n\nconst StatusDropdown = ({\n disabled = false,\n hiddenStatuses = [],\n isLoading = false,\n onItemClick,\n options,\n placeholder = null,\n selectedValue,\n shouldShowAllOptions = false,\n isClearable = false,\n onClear = noop,\n dataCy = \"status-dropdown\",\n}) => {\n const selectedOption = _findBy({ value: selectedValue }, options);\n\n return (\n <Dropdown\n {...{ disabled }}\n appendTo={() => document.body}\n strategy=\"fixed\"\n customTarget={() => (\n <Target\n label={selectedValue}\n {...{ ...selectedOption, dataCy, isClearable, onClear, placeholder }}\n />\n )}\n >\n {isLoading ? (\n <div className=\"flex w-full items-center justify-center py-8\">\n <Spinner />\n </div>\n ) : (\n <Menu\n {...{ hiddenStatuses, onItemClick, options, shouldShowAllOptions }}\n />\n )}\n </Dropdown>\n );\n};\n\nStatusDropdown.Menu = Menu;\n\nStatusDropdown.propTypes = {\n /**\n * This prop will decide whether the dropdown is disabled or not.\n */\n disabled: PropTypes.bool,\n /**\n * Statuses to be hidden when shouldShowAllOptions is false.\n */\n hiddenStatuses: PropTypes.array,\n /**\n * This prop will decide whether the dropdown is in loading state or not.\n */\n isLoading: PropTypes.bool,\n /**\n * Function to be called when a menu item is clicked.\n */\n onItemClick: PropTypes.func,\n /**\n * The items that should be shown in the dropdown.\n */\n options: PropTypes.arrayOf(\n PropTypes.shape({\n label: PropTypes.string,\n value: PropTypes.string,\n color: PropTypes.string,\n })\n ),\n /**\n * Placeholder for the dropdown.\n */\n placeholder: PropTypes.string,\n /**\n * The selected value.\n */\n selectedValue: PropTypes.string,\n /**\n * This prop will decide whether all options should be shown or not. If set to false, the items in hiddenStatuses will not be shown.\n */\n shouldShowAllOptions: PropTypes.bool,\n /**\n * This prop will decide whether the dropdown is clearable or not.\n */\n isClearable: PropTypes.bool,\n /**\n * Function to be called when the clear button is clicked.\n */\n onClear: PropTypes.func,\n};\n\nexport default StatusDropdown;\n"],"names":["NeetoUIMenu","Dropdown","Menu","MenuItem","_ref","onItemClick","options","_ref$shouldShowAllOpt","shouldShowAllOptions","_ref$hiddenStatuses","hiddenStatuses","allowedOptions","filter","status","includes","value","_jsx","children","map","option","Button","className","concat","color","hyphenate","onClick","label","memo","ICON_SIZE","Target","dataCy","isClearable","onClear","placeholder","_useTranslation","useTranslation","t","targetClassName","isOptionSelected","isNil","handleClearClick","event","stopPropagation","handleClearKeyDown","key","preventDefault","_jsxs","type","Typography","style","role","tabIndex","onKeyDown","Close","size","Down","StatusDropdown","_ref$disabled","disabled","_ref$isLoading","isLoading","_ref$placeholder","selectedValue","_ref$isClearable","_ref$onClear","noop","_ref$dataCy","selectedOption","_findBy","appendTo","document","body","strategy","customTarget","_objectSpread","Spinner"],"mappings":"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"}
@@ -133,6 +133,9 @@ var StatusDropdown = function StatusDropdown(_ref) {
133
133
  }, options);
134
134
  return /*#__PURE__*/jsxRuntime.jsx(Dropdown, {
135
135
  disabled: disabled,
136
+ appendTo: function appendTo() {
137
+ return document.body;
138
+ },
136
139
  strategy: "fixed",
137
140
  customTarget: function customTarget() {
138
141
  return /*#__PURE__*/jsxRuntime.jsx(Target$1, _objectSpread({
@@ -1 +1 @@
1
- {"version":3,"file":"StatusDropdown.js","sources":["../../src/components/StatusDropdown/Menu.jsx","../../src/components/StatusDropdown/constants.js","../../src/components/StatusDropdown/Target.jsx","../../src/components/StatusDropdown/index.jsx"],"sourcesContent":["import { memo } from \"react\";\n\nimport { hyphenate } from \"neetocist\";\nimport { Dropdown } from \"neetoui\";\n\nconst { Menu: NeetoUIMenu, MenuItem } = Dropdown;\n\nconst Menu = ({\n onItemClick,\n options,\n shouldShowAllOptions = false,\n hiddenStatuses = [],\n}) => {\n const allowedOptions = shouldShowAllOptions\n ? options\n : options.filter(status => !hiddenStatuses.includes(status.value));\n\n return (\n <NeetoUIMenu data-testid=\"status-dropdown-menu\">\n {allowedOptions?.map(option => (\n <MenuItem.Button\n className={`status-dropdown-item--${option.color}`}\n data-cy={`status-dropdown-item-${hyphenate(option.value)}`}\n data-testid={`status-dropdown-item-${option.value}`}\n key={option.value}\n onClick={() => onItemClick(option)}\n >\n {option.label}\n </MenuItem.Button>\n ))}\n </NeetoUIMenu>\n );\n};\n\nexport default memo(Menu);\n","export const ICON_SIZE = 16;\n","import { memo } from \"react\";\n\nimport { Down, Close } from \"neetoicons\";\nimport { Typography } from \"neetoui\";\nimport { isNil } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { ICON_SIZE } from \"./constants.js\";\n\nconst Target = ({\n color,\n value,\n label,\n dataCy,\n isClearable,\n onClear,\n placeholder,\n}) => {\n const { t } = useTranslation();\n const targetClassName = `neeto-ui-rounded-sm inline-flex items-center gap-2 cursor-pointer py-0.5 px-2 status-dropdown-target--${\n color || \"waiting\"\n }`;\n const isOptionSelected = !isNil(value);\n\n const handleClearClick = event => {\n onClear();\n event.stopPropagation();\n };\n\n const handleClearKeyDown = event => {\n if (!(event.key === \"Enter\" || event.key === \" \")) return;\n event.preventDefault();\n handleClearClick(event);\n };\n\n return (\n <button\n aria-haspopup=\"listbox\"\n className={targetClassName}\n data-cy={dataCy}\n data-testid=\"status-dropdown\"\n type=\"button\"\n aria-label={\n isOptionSelected\n ? `Selected: ${label}`\n : placeholder || t(\"neetoMolecules.statusDropdown.placeholder\")\n }\n >\n {isOptionSelected ? (\n <Typography className=\"inline\" style=\"body2\">\n {label}\n </Typography>\n ) : (\n <Typography className=\"neeto-ui-text-gray-600 inline\" style=\"body2\">\n {placeholder || t(\"neetoMolecules.statusDropdown.placeholder\")}\n </Typography>\n )}\n <span className=\"inline-flex items-center gap-1\">\n {isClearable && isOptionSelected && (\n <span\n aria-label={t(\"neetoMolecules.statusDropdown.clear\")}\n className=\"cursor-pointer\"\n data-cy=\"status-dropdown-clear-button\"\n data-testid=\"status-dropdown-clear-button\"\n role=\"button\"\n tabIndex={0}\n onClick={handleClearClick}\n onKeyDown={handleClearKeyDown}\n >\n <Close size={ICON_SIZE} />\n </span>\n )}\n <Down aria-hidden=\"true\" size={ICON_SIZE} />\n </span>\n </button>\n );\n};\n\nexport default memo(Target);\n","import { _findBy, noop } from \"neetocist\";\nimport { Dropdown, Spinner } from \"neetoui\";\nimport PropTypes from \"prop-types\";\n\nimport Menu from \"./Menu\";\nimport \"./status-dropdown.scss\";\nimport Target from \"./Target\";\n\nconst StatusDropdown = ({\n disabled = false,\n hiddenStatuses = [],\n isLoading = false,\n onItemClick,\n options,\n placeholder = null,\n selectedValue,\n shouldShowAllOptions = false,\n isClearable = false,\n onClear = noop,\n dataCy = \"status-dropdown\",\n}) => {\n const selectedOption = _findBy({ value: selectedValue }, options);\n\n return (\n <Dropdown\n {...{ disabled }}\n strategy=\"fixed\"\n customTarget={() => (\n <Target\n label={selectedValue}\n {...{ ...selectedOption, dataCy, isClearable, onClear, placeholder }}\n />\n )}\n >\n {isLoading ? (\n <div className=\"flex w-full items-center justify-center py-8\">\n <Spinner />\n </div>\n ) : (\n <Menu\n {...{ hiddenStatuses, onItemClick, options, shouldShowAllOptions }}\n />\n )}\n </Dropdown>\n );\n};\n\nStatusDropdown.Menu = Menu;\n\nStatusDropdown.propTypes = {\n /**\n * This prop will decide whether the dropdown is disabled or not.\n */\n disabled: PropTypes.bool,\n /**\n * Statuses to be hidden when shouldShowAllOptions is false.\n */\n hiddenStatuses: PropTypes.array,\n /**\n * This prop will decide whether the dropdown is in loading state or not.\n */\n isLoading: PropTypes.bool,\n /**\n * Function to be called when a menu item is clicked.\n */\n onItemClick: PropTypes.func,\n /**\n * The items that should be shown in the dropdown.\n */\n options: PropTypes.arrayOf(\n PropTypes.shape({\n label: PropTypes.string,\n value: PropTypes.string,\n color: PropTypes.string,\n })\n ),\n /**\n * Placeholder for the dropdown.\n */\n placeholder: PropTypes.string,\n /**\n * The selected value.\n */\n selectedValue: PropTypes.string,\n /**\n * This prop will decide whether all options should be shown or not. If set to false, the items in hiddenStatuses will not be shown.\n */\n shouldShowAllOptions: PropTypes.bool,\n /**\n * This prop will decide whether the dropdown is clearable or not.\n */\n isClearable: PropTypes.bool,\n /**\n * Function to be called when the clear button is clicked.\n */\n onClear: PropTypes.func,\n};\n\nexport default StatusDropdown;\n"],"names":["NeetoUIMenu","Dropdown","Menu","MenuItem","_ref","onItemClick","options","_ref$shouldShowAllOpt","shouldShowAllOptions","_ref$hiddenStatuses","hiddenStatuses","allowedOptions","filter","status","includes","value","_jsx","children","map","option","Button","className","concat","color","hyphenate","onClick","label","memo","ICON_SIZE","Target","dataCy","isClearable","onClear","placeholder","_useTranslation","useTranslation","t","targetClassName","isOptionSelected","isNil","handleClearClick","event","stopPropagation","handleClearKeyDown","key","preventDefault","_jsxs","type","Typography","style","role","tabIndex","onKeyDown","Close","size","Down","StatusDropdown","_ref$disabled","disabled","_ref$isLoading","isLoading","_ref$placeholder","selectedValue","_ref$isClearable","_ref$onClear","noop","_ref$dataCy","selectedOption","_findBy","strategy","customTarget","_objectSpread","Spinner"],"mappings":"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"}
1
+ {"version":3,"file":"StatusDropdown.js","sources":["../../src/components/StatusDropdown/Menu.jsx","../../src/components/StatusDropdown/constants.js","../../src/components/StatusDropdown/Target.jsx","../../src/components/StatusDropdown/index.jsx"],"sourcesContent":["import { memo } from \"react\";\n\nimport { hyphenate } from \"neetocist\";\nimport { Dropdown } from \"neetoui\";\n\nconst { Menu: NeetoUIMenu, MenuItem } = Dropdown;\n\nconst Menu = ({\n onItemClick,\n options,\n shouldShowAllOptions = false,\n hiddenStatuses = [],\n}) => {\n const allowedOptions = shouldShowAllOptions\n ? options\n : options.filter(status => !hiddenStatuses.includes(status.value));\n\n return (\n <NeetoUIMenu data-testid=\"status-dropdown-menu\">\n {allowedOptions?.map(option => (\n <MenuItem.Button\n className={`status-dropdown-item--${option.color}`}\n data-cy={`status-dropdown-item-${hyphenate(option.value)}`}\n data-testid={`status-dropdown-item-${option.value}`}\n key={option.value}\n onClick={() => onItemClick(option)}\n >\n {option.label}\n </MenuItem.Button>\n ))}\n </NeetoUIMenu>\n );\n};\n\nexport default memo(Menu);\n","export const ICON_SIZE = 16;\n","import { memo } from \"react\";\n\nimport { Down, Close } from \"neetoicons\";\nimport { Typography } from \"neetoui\";\nimport { isNil } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { ICON_SIZE } from \"./constants.js\";\n\nconst Target = ({\n color,\n value,\n label,\n dataCy,\n isClearable,\n onClear,\n placeholder,\n}) => {\n const { t } = useTranslation();\n const targetClassName = `neeto-ui-rounded-sm inline-flex items-center gap-2 cursor-pointer py-0.5 px-2 status-dropdown-target--${\n color || \"waiting\"\n }`;\n const isOptionSelected = !isNil(value);\n\n const handleClearClick = event => {\n onClear();\n event.stopPropagation();\n };\n\n const handleClearKeyDown = event => {\n if (!(event.key === \"Enter\" || event.key === \" \")) return;\n event.preventDefault();\n handleClearClick(event);\n };\n\n return (\n <button\n aria-haspopup=\"listbox\"\n className={targetClassName}\n data-cy={dataCy}\n data-testid=\"status-dropdown\"\n type=\"button\"\n aria-label={\n isOptionSelected\n ? `Selected: ${label}`\n : placeholder || t(\"neetoMolecules.statusDropdown.placeholder\")\n }\n >\n {isOptionSelected ? (\n <Typography className=\"inline\" style=\"body2\">\n {label}\n </Typography>\n ) : (\n <Typography className=\"neeto-ui-text-gray-600 inline\" style=\"body2\">\n {placeholder || t(\"neetoMolecules.statusDropdown.placeholder\")}\n </Typography>\n )}\n <span className=\"inline-flex items-center gap-1\">\n {isClearable && isOptionSelected && (\n <span\n aria-label={t(\"neetoMolecules.statusDropdown.clear\")}\n className=\"cursor-pointer\"\n data-cy=\"status-dropdown-clear-button\"\n data-testid=\"status-dropdown-clear-button\"\n role=\"button\"\n tabIndex={0}\n onClick={handleClearClick}\n onKeyDown={handleClearKeyDown}\n >\n <Close size={ICON_SIZE} />\n </span>\n )}\n <Down aria-hidden=\"true\" size={ICON_SIZE} />\n </span>\n </button>\n );\n};\n\nexport default memo(Target);\n","import { _findBy, noop } from \"neetocist\";\nimport { Dropdown, Spinner } from \"neetoui\";\nimport PropTypes from \"prop-types\";\n\nimport Menu from \"./Menu\";\nimport \"./status-dropdown.scss\";\nimport Target from \"./Target\";\n\nconst StatusDropdown = ({\n disabled = false,\n hiddenStatuses = [],\n isLoading = false,\n onItemClick,\n options,\n placeholder = null,\n selectedValue,\n shouldShowAllOptions = false,\n isClearable = false,\n onClear = noop,\n dataCy = \"status-dropdown\",\n}) => {\n const selectedOption = _findBy({ value: selectedValue }, options);\n\n return (\n <Dropdown\n {...{ disabled }}\n appendTo={() => document.body}\n strategy=\"fixed\"\n customTarget={() => (\n <Target\n label={selectedValue}\n {...{ ...selectedOption, dataCy, isClearable, onClear, placeholder }}\n />\n )}\n >\n {isLoading ? (\n <div className=\"flex w-full items-center justify-center py-8\">\n <Spinner />\n </div>\n ) : (\n <Menu\n {...{ hiddenStatuses, onItemClick, options, shouldShowAllOptions }}\n />\n )}\n </Dropdown>\n );\n};\n\nStatusDropdown.Menu = Menu;\n\nStatusDropdown.propTypes = {\n /**\n * This prop will decide whether the dropdown is disabled or not.\n */\n disabled: PropTypes.bool,\n /**\n * Statuses to be hidden when shouldShowAllOptions is false.\n */\n hiddenStatuses: PropTypes.array,\n /**\n * This prop will decide whether the dropdown is in loading state or not.\n */\n isLoading: PropTypes.bool,\n /**\n * Function to be called when a menu item is clicked.\n */\n onItemClick: PropTypes.func,\n /**\n * The items that should be shown in the dropdown.\n */\n options: PropTypes.arrayOf(\n PropTypes.shape({\n label: PropTypes.string,\n value: PropTypes.string,\n color: PropTypes.string,\n })\n ),\n /**\n * Placeholder for the dropdown.\n */\n placeholder: PropTypes.string,\n /**\n * The selected value.\n */\n selectedValue: PropTypes.string,\n /**\n * This prop will decide whether all options should be shown or not. If set to false, the items in hiddenStatuses will not be shown.\n */\n shouldShowAllOptions: PropTypes.bool,\n /**\n * This prop will decide whether the dropdown is clearable or not.\n */\n isClearable: PropTypes.bool,\n /**\n * Function to be called when the clear button is clicked.\n */\n onClear: PropTypes.func,\n};\n\nexport default StatusDropdown;\n"],"names":["NeetoUIMenu","Dropdown","Menu","MenuItem","_ref","onItemClick","options","_ref$shouldShowAllOpt","shouldShowAllOptions","_ref$hiddenStatuses","hiddenStatuses","allowedOptions","filter","status","includes","value","_jsx","children","map","option","Button","className","concat","color","hyphenate","onClick","label","memo","ICON_SIZE","Target","dataCy","isClearable","onClear","placeholder","_useTranslation","useTranslation","t","targetClassName","isOptionSelected","isNil","handleClearClick","event","stopPropagation","handleClearKeyDown","key","preventDefault","_jsxs","type","Typography","style","role","tabIndex","onKeyDown","Close","size","Down","StatusDropdown","_ref$disabled","disabled","_ref$isLoading","isLoading","_ref$placeholder","selectedValue","_ref$isClearable","_ref$onClear","noop","_ref$dataCy","selectedOption","_findBy","appendTo","document","body","strategy","customTarget","_objectSpread","Spinner"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@bigbinary/neeto-molecules",
3
- "version": "4.0.38",
3
+ "version": "4.0.39",
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>",
@@ -495,7 +495,10 @@
495
495
  "permissions": {
496
496
  "description": "Описание"
497
497
  }
498
- }
498
+ },
499
+ "title": "Одитни журнали",
500
+ "noData": "Не са намерени одитни журнали.",
501
+ "noError": "Детайлите на грешката не са налични. Моля, проверете журналите за повече информация."
499
502
  },
500
503
  "ipRestriction": {
501
504
  "switchLabel": "Активирайте ограничаване на IP",
@@ -558,6 +561,179 @@
558
561
  "tooltip": {
559
562
  "publishLater": "Членът ще бъде публикуван на {{date, anyCase}}."
560
563
  }
564
+ },
565
+ "sidebar": {
566
+ "organizationSwitcher": {
567
+ "addAccount": "Добавете друга сметка"
568
+ }
569
+ },
570
+ "productSwitcher": {
571
+ "noApps": "Не са намерени приложения.",
572
+ "chooseNeetoProduct": "Изберете вашия продукт Neeto",
573
+ "searchProducts": "Търсене на продукти"
574
+ },
575
+ "alert": {
576
+ "timezone": {
577
+ "title": "Несъответствие на часовата зона",
578
+ "message": "Забелязахме различия в часовите зони в профила ви и браузъра. По-добре е да актуализирате профила с часовата зона на браузъра, тъй като {{entity}} използва тази часова зона за извършване на различни функционалности, свързани с дати и часове.",
579
+ "userTimezone": "Часова зона в профила ви: <strong>{{entity, anyCase}}</strong>",
580
+ "browserTimezone": "Часова зона в браузъра ви: <strong>{{entity, anyCase}}</strong>",
581
+ "updateProfile": "Сменете часовата зона"
582
+ }
583
+ },
584
+ "widget": {
585
+ "title": {
586
+ "embedCode": "Код за вграждане",
587
+ "userIdentity": "Идентичност на потребителя (по избор)",
588
+ "sessionContext": "Контекст на сесията (по избор)"
589
+ },
590
+ "installation": {
591
+ "snippet": {
592
+ "copied": "Копирано в клипборда!",
593
+ "copy": "Копиране",
594
+ "sendViaEmail": "Изпратете по имейл",
595
+ "disabledError": "Моля, активирайте поне 1 уиджет."
596
+ },
597
+ "instructions": {
598
+ "placement": {
599
+ "selectedWidgets": "<p>Поставете кода за вграждане в HTML файла си. Това ще вградете <fontBold>{{widgetList, anyCase}}</fontBold> в уебсайта си. <Link>Прегледайте статията с помощта</Link> за повече информация.</p>",
600
+ "selectedChatWidget": "<p>Поставете кода за вграждане в HTML файла си. Това ще вградете <fontBold>{{widgetList, anyCase}}</fontBold> в уебсайта си. Вместо това, за приложения с react можете да използвате <widgetNpmLink>react-use-neeto-widget</widgetNpmLink> пакета за инсталиране на уиджета NeetoChat. <Link>Прегледайте статията с помощта</Link> за повече информация.</p>",
601
+ "noneOfThese": "<p>Това няма да вгради <fontBold>нито един от уиджетите</fontBold> в уебсайта ви. <Link>Прегледайте статията с помощта</Link> за повече информация.</p>"
602
+ },
603
+ "userIdentity": {
604
+ "chat": "<p>Посочете информация за идентичността на потребителя. Тази информация се използва за класифициране на разговорите в NeetoChat. <Link>Прегледайте статията с помощта</Link> за повече информация.</p>",
605
+ "replay": "<p>Посочете информация за идентичността на потребителя. Тази информация се използва за класифициране на сесиите на NeetoReplay. <Link>Прегледайте статията с помощта</Link> за повече информация.</p>"
606
+ },
607
+ "sessionContext": "<p>Запазете контекстуалните данни за сесии на NeetoReplay. Сесиите могат да бъдат филтрирани по тези данни. <Link>Прегледайте статията с помощта</Link> за повече информация.</p>"
608
+ },
609
+ "enabled": "Уиджетът {{productName}} е активиран успешно",
610
+ "disabled": "Уиджетът {{productName}} е деактивиран успешно"
611
+ },
612
+ "email": {
613
+ "title": "Инструкции за инсталиране на уиджет",
614
+ "widgetList": "{{widgets, list}}",
615
+ "fields": {
616
+ "emails": {
617
+ "label": "Имейли",
618
+ "placeholder": "Въведете имейл на получателя",
619
+ "invalidError": "Моля, въведете валидни имейл адреси."
620
+ },
621
+ "subject": {
622
+ "label": "Тема",
623
+ "values": {
624
+ "embedCode": "Инструкции за инсталиране на {{widgetList, anyCase}}",
625
+ "userIdentity": "Обект на идентичността на уиджета за посочване на детайли за потребителя",
626
+ "sessionContext": "Обект на контекста на сесията на NeetoReplay за запазване на контекстуална информация"
627
+ }
628
+ }
629
+ },
630
+ "body": {
631
+ "values": {
632
+ "embedCode": {
633
+ "description": {
634
+ "engage": "NeetoEngage за информиране на клиентите за новите функции",
635
+ "chat": "NeetoChat за предоставяне на поддръжка в реално време",
636
+ "replay": "NeetoReplay за запис на сесиите на потребителите"
637
+ },
638
+ "mainText": "<p>Здравейте,</p> <p>Ще използваме {{val, list}}.</p>",
639
+ "supportText": "<p>Ако имате нужда от помощ, изпратете имейл на <mail>{{helpEmail}}</mail>.</p>",
640
+ "engageHelp": "<p>За помощ при инсталирането на NeetoEngage, моля, вижте <a>{{helpLink}}</a>.</p>",
641
+ "chatHelp": "<p>За помощ при инсталирането на NeetoChat, моля, вижте <a>{{helpLink}}</a>.</p>",
642
+ "replayHelp": "<p>За помощ при инсталирането на NeetoReplay, моля, вижте <a>{{helpLink}}</a>.</p>"
643
+ },
644
+ "userIdentity": "<p>Здравейте,</p> <p>Това е структурата на обекта, която можете да използвате за посочване на идентичността на потребителя за уиджета.</p> <p>Можете да намерите документацията на <configureLink>{{userIdentityKbUrl}}</configureLink>.</p>",
645
+ "sessionContext": "<p>Здравейте,</p> <p>Това е структурата на обекта, която можете да използвате за посочване на контекстуалните стойности за сесиите на NeetoReplay.</p> <p>Можете да намерите документацията на <configureLink>{{sessionContextKbUrl}}</configureLink>.</p>"
646
+ }
647
+ },
648
+ "actions": {
649
+ "send": "Изпрати",
650
+ "cancel": "Отказ"
651
+ },
652
+ "invalidType": "Получен е невалиден тип имейл."
653
+ },
654
+ "developmentInfo": "Тази страница може да бъде достъпвана само в режим SSO. За да получите достъп до страницата, стартирайте NeetoAuth във фонов режим и рестартирайте приложението в режим SSO.",
655
+ "tooltips": {
656
+ "productIsDisabled": "Продуктът '{{productName, anyCase}}' е деактивиран за това работно пространство. Моля, активирайте продукта, за да активирате този уиджет."
657
+ }
658
+ },
659
+ "downloadMobileAppCallout": {
660
+ "message": "Забелязахте, че сте на мобилно устройство. За най-добро изживяване, <a>изтеглете нашето мобилно приложение</a>."
661
+ },
662
+ "schedule": {
663
+ "changeAvailability": "Променете наличността",
664
+ "unavailable": "Недостъпен",
665
+ "startTime": "Начално време",
666
+ "endTime": "Крайно време",
667
+ "copySchedule": "Копирайте разписанието в..",
668
+ "copyScheduleTooltip": "Копирайте това разписание за друг ден",
669
+ "addNewPeriod": "Добавете нов период",
670
+ "timezoneTooltip": "Вашата часова зона",
671
+ "days": {
672
+ "monday": "Понеделник",
673
+ "tuesday": "Вторник",
674
+ "wednesday": "Сряда",
675
+ "thursday": "Четвъртък",
676
+ "friday": "Петък",
677
+ "saturday": "Събота",
678
+ "sunday": "Неделя"
679
+ },
680
+ "errors": {
681
+ "period": {
682
+ "startTime": "Началното време е задължително",
683
+ "endTime": "Крайно време е задължително",
684
+ "isBehind": "Крайното време на периода не трябва да е преди началното време",
685
+ "overlap": "Този период се препокрива с ({{ start }}-{{ end }})",
686
+ "sameTime": "Началното и крайното време на периодите не могат да са същите"
687
+ }
688
+ }
689
+ },
690
+ "dateRangeFilter": {
691
+ "timePeriodOptions": {
692
+ "last7Days": "Последните 7 дни",
693
+ "last30Days": "Последните 30 дни",
694
+ "last24Hours": "Последните 24 часа",
695
+ "thisMonth": "Този месец",
696
+ "lastMonth": "Миналия месец",
697
+ "thisYear": "Тази година",
698
+ "lastYear": "Миналата година",
699
+ "thisQuarter": "Тази четвърт",
700
+ "lastQuarter": "Миналата четвърт",
701
+ "thisWeek": "Тази седмица",
702
+ "lastWeek": "Миналата седмица",
703
+ "allTime": "Всяко време",
704
+ "customDuration": "Персонализирана продължителност"
705
+ }
706
+ },
707
+ "browserSupport": {
708
+ "unsupportedBrowserVersion": {
709
+ "title": "Неподдържана версия",
710
+ "description": "Използвате {{browserName, anyCase}} {{browserVersion}}. Препоръчваме {{browserName, anyCase}} {{requiredMinBrowserVersion}} или по-нова версия, за да работи приложението надеждно. <downloadLink><downloadLink><contactUs><contactUs>"
711
+ },
712
+ "unsupportedBrowser": {
713
+ "title": "Неподдържан браузър",
714
+ "description": "Използвате {{browserName, anyCase}} {{browserVersion}}. Препоръчваме модерен браузър, за да работи приложението надеждно.<contactUs><contactUs>"
715
+ },
716
+ "downloadLink": {
717
+ "main": "Моля, <button>изтеглете и инсталирайте</button> последната версия на браузъра."
718
+ },
719
+ "contactUs": {
720
+ "main": " <button>Свържете се с нас</button> ако имате нужда от помощ."
721
+ },
722
+ "unknownBrowserMsg": "неизвестен браузър"
723
+ },
724
+ "integrationCard": {
725
+ "connected": "Свързано",
726
+ "manage": "Управление",
727
+ "disconnect": "Прекъсване на връзката",
728
+ "connect": "Свържете",
729
+ "tryAgain": "Опитайте отново",
730
+ "tooltip": {
731
+ "integrationNotAvailable": "Тази интеграция в момента не е налична."
732
+ },
733
+ "tags": {
734
+ "connected": "Свързано",
735
+ "expired": "Изтекло"
736
+ }
561
737
  }
562
738
  },
563
739
  "taxonomyDefaultLabels": {
@@ -558,6 +558,134 @@
558
558
  "tooltip": {
559
559
  "publishLater": "लेख {{date, anyCase}} को प्रकाशित किया जाएगा।"
560
560
  }
561
+ },
562
+ "common": {
563
+ "actions": {
564
+ "submit": "जमा करें",
565
+ "continue": "जारी रखें",
566
+ "search": "खोजें",
567
+ "cancel": "रद्द करें",
568
+ "close": "बंद करें",
569
+ "open": "खुला",
570
+ "move": "स्थानांतरित करें",
571
+ "save": "सहेजें",
572
+ "edit": "संपादित करें",
573
+ "delete": "हटाएं",
574
+ "apply": "लागू करें",
575
+ "add": "जोड़ें {{entity}}",
576
+ "reset": "रीसेट करें",
577
+ "saveChanges": "परिवर्तन सहेजें",
578
+ "publish": "प्रकाशित करें",
579
+ "draft": "ड्राफ्ट",
580
+ "changeTimezone": "टाइमज़ोन बदलें",
581
+ "rename": "नाम बदलें",
582
+ "discard": "अस्वीकृत करें",
583
+ "resetToDefaults": "डिफ़ॉल्ट पर रीसेट करें",
584
+ "proceed": "आगे बढ़ें",
585
+ "clone": "क्लोन करें",
586
+ "archive": "अभिलेखित करें",
587
+ "unArchive": "अभिलेख से हटा दें",
588
+ "enable": "सक्षम करें",
589
+ "disable": "अक्षम करें",
590
+ "share": "साझा करें",
591
+ "done": "पूर्ण"
592
+ },
593
+ "reacted": "प्रतिक्रिया दी",
594
+ "record": "रिकॉर्ड",
595
+ "or": "या",
596
+ "name": "नाम",
597
+ "value": "मूल्य",
598
+ "search": "खोजें {{entity}}",
599
+ "notFound": {
600
+ "title": "दर्शाने के लिए कोई {{entity}} नहीं है।"
601
+ },
602
+ "status": "स्थिति",
603
+ "deleteAlert": {
604
+ "title": "क्या आप {{entity}} हटाना चाहते हैं?"
605
+ },
606
+ "download": "डाउनलोड करें",
607
+ "filter": "फिल्टर",
608
+ "somethingWentWrong": "कुछ गलत हो गया। कृपया पुन: प्रयास करें।",
609
+ "currency": "मुद्रा",
610
+ "emojiPicker": "इमोजी चयनकर्ता",
611
+ "validations": {
612
+ "requiredField": "{{entity}} एक अनिवार्य क्षेत्र है"
613
+ },
614
+ "madeWith": "बनाया गया <strong>{{productName, anyCase}}</strong>",
615
+ "viewHelpArticle": "सहायता लेख देखें",
616
+ "copied": "कॉपी किया गया",
617
+ "copyToClipboard": "क्लिपबोर्ड पर कॉपी करें",
618
+ "success": "सफलता",
619
+ "pending": "लंबित",
620
+ "enter": "प्रविष्ट करें {{what}}"
621
+ },
622
+ "columns": {
623
+ "columns": "कॉलम अनुकूलित करें",
624
+ "noColumns": "कोई कॉलम नहीं मिला!",
625
+ "search": "कॉलम खोजें",
626
+ "hideAll": "सभी छुपाएं",
627
+ "showAll": "सभी दिखाएं",
628
+ "reset": "रीसेट करें"
629
+ },
630
+ "engagements": {
631
+ "namesReacted": "{{ names, anyCase }} ने प्रतिक्रिया दी"
632
+ },
633
+ "login": {
634
+ "loginAsOliver": "ओलिवर के रूप में लॉगिन करें",
635
+ "login": "लॉगिन",
636
+ "email": "ईमेल",
637
+ "password": "पासवर्ड",
638
+ "invalidEmail": "कृपया एक मान्य ईमेल दर्ज करें",
639
+ "emailRequired": "ईमेल आवश्यक है",
640
+ "passwordRequired": "पासवर्ड आवश्यक है",
641
+ "success": "सफलतापूर्वक लॉगिन किया।",
642
+ "toOrganizationAccount": "आपके <bold>{{organizationName, anyCase}}</bold> खाते में लॉगिन करें",
643
+ "installNeetoUI": "<div>आपको लॉगिन फॉर्म का उपयोग करने के लिए @bigbinary/neetoui संस्करण ^3.5.11 स्थापित करना होगा।<br />कमांड चलाएँ:<br /><code>yarn add @bigbinary/neetoui@^3.5.11</code></div>"
644
+ },
645
+ "errorPage": {
646
+ "cantBeFound": "आप जिस पृष्ठ को खोज रहे हैं <br /> वह गायब है।",
647
+ "unauthorized": "आपके पास इस पृष्ठ तक पहुंचने की अनुमति नहीं है <br />।",
648
+ "internalServerError": "सर्वर ने एक त्रुटि का सामना किया और <br /> आपकी अनुरोध को पूरा नहीं कर सका।",
649
+ "backToHome": "घर पर वापस जाएं",
650
+ "contactUs": "यदि समस्या बनी रहती है, तो कृपया <button>हमसे संपर्क करें</button>।",
651
+ "title": {
652
+ "cantBeFound": "पृष्ठ नहीं मिला",
653
+ "unauthorized": "अनधिकृत",
654
+ "internalServerError": "आंतरिक सर्वर त्रुटि"
655
+ }
656
+ },
657
+ "sidebar": {
658
+ "myProfile": "मेरा प्रोफ़ाइल",
659
+ "myWorkspace": "मेरा कार्यक्षेत्र",
660
+ "logout": "लॉगआउट",
661
+ "login": "लॉगिन",
662
+ "help": "सहायता",
663
+ "goBack": "वापस जाएं",
664
+ "more": "अधिक",
665
+ "productSwitcher": "उत्पाद स्विचर",
666
+ "neetoProducts": "नीटो उत्पाद",
667
+ "currentPlan": "वर्तमान योजना: <strong>{{subscriptionPlan,anyCase}} योजना</strong>",
668
+ "pin": "पिन करें",
669
+ "unpin": "अनपिन करें",
670
+ "helpLinks": {
671
+ "liveChat": "सपोर्ट से चैट करें",
672
+ "helpCenter": "सहायता केंद्र",
673
+ "whatsNew": "क्या नया है",
674
+ "keyboardShortcuts": "कीबोर्ड शॉर्टकट",
675
+ "helpArticles": "सहायता लेख",
676
+ "productStatus": "{{app,anyCase}} स्थिति पृष्ठ",
677
+ "community": "{{app,anyCase}} समुदाय"
678
+ },
679
+ "showMenu": "साइडबार का विस्तार करें",
680
+ "hideMenu": "साइडबार संकुचन",
681
+ "themeSwitcher": {
682
+ "label": "थीम: {{selectedTheme, anyCase}}",
683
+ "light": "हल्का",
684
+ "dark": "अंधेरा"
685
+ },
686
+ "organizationSwitcher": {
687
+ "label": "कार्यक्षेत्र स्विचर"
688
+ }
561
689
  }
562
690
  },
563
691
  "taxonomyDefaultLabels": {