@bigbinary/neeto-molecules 5.7.2 → 5.7.4

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.
@@ -49,7 +49,7 @@ var Menu$1 = function Menu(_ref) {
49
49
  };
50
50
  var Menu = /*#__PURE__*/React.memo(Menu$1);
51
51
 
52
- var css = ":root{--neeto-molecules-status-color-open:9,90,186;--neeto-molecules-status-color-done:189,100,13;--neeto-molecules-status-color-waiting:47,57,65;--neeto-molecules-status-color-red:187,18,26;--neeto-molecules-status-color-yellow:255,204,112;--neeto-molecules-status-color-violet:157,98,162;--neeto-molecules-status-color-pink:225,62,230;--neeto-molecules-status-color-teal:38,87,124;--neeto-molecules-status-color-cyan:66,160,157;--neeto-molecules-status-color-green:16,113,84;--neeto-molecules-status-bg-open:226,241,255;--neeto-molecules-status-bg-done:250,241,225;--neeto-molecules-status-bg-waiting:233,235,237;--neeto-molecules-status-bg-red:254,236,240;--neeto-molecules-status-bg-yellow:255,247,233;--neeto-molecules-status-bg-violet:235,222,255;--neeto-molecules-status-bg-pink:254,233,255;--neeto-molecules-status-bg-teal:228,244,255;--neeto-molecules-status-bg-cyan:224,255,254;--neeto-molecules-status-bg-green:224,244,238}.dark{--neeto-molecules-status-color-open:144,194,255;--neeto-molecules-status-bg-open:24,42,66;--neeto-molecules-status-color-done:255,194,121;--neeto-molecules-status-bg-done:54,38,18;--neeto-molecules-status-color-waiting:255,255,255;--neeto-molecules-status-bg-waiting:16,24,40;--neeto-molecules-status-color-red:255,119,130;--neeto-molecules-status-bg-red:60,20,24;--neeto-molecules-status-color-yellow:255,221,138;--neeto-molecules-status-bg-yellow:60,48,20;--neeto-molecules-status-color-violet:218,170,255;--neeto-molecules-status-bg-violet:49,27,63;--neeto-molecules-status-color-pink:255,155,255;--neeto-molecules-status-bg-pink:56,30,60;--neeto-molecules-status-color-teal:139,205,255;--neeto-molecules-status-bg-teal:22,42,55;--neeto-molecules-status-color-cyan:130,255,247;--neeto-molecules-status-bg-cyan:14,49,48;--neeto-molecules-status-color-green:117,255,195;--neeto-molecules-status-bg-green:15,50,36}.status-dropdown-target--cyan,.status-dropdown-target--done,.status-dropdown-target--green,.status-dropdown-target--open,.status-dropdown-target--pink,.status-dropdown-target--red,.status-dropdown-target--teal,.status-dropdown-target--violet,.status-dropdown-target--waiting,.status-dropdown-target--yellow{background-color:rgb(var(--status-target-bg));color:rgb(var(--status-target-color))}.status-dropdown-target--open{--status-target-color:var(--neeto-molecules-status-color-open);--status-target-bg:var(--neeto-molecules-status-bg-open)}.status-dropdown-target--done{--status-target-color:var(--neeto-molecules-status-color-done);--status-target-bg:var(--neeto-molecules-status-bg-done)}.status-dropdown-target--waiting{--status-target-color:var(--neeto-molecules-status-color-waiting);--status-target-bg:var(--neeto-molecules-status-bg-waiting)}.status-dropdown-target--red{--status-target-color:var(--neeto-molecules-status-color-red);--status-target-bg:var(--neeto-molecules-status-bg-red)}.status-dropdown-target--yellow{--status-target-color:var(--neeto-molecules-status-color-yellow);--status-target-bg:var(--neeto-molecules-status-bg-yellow)}.status-dropdown-target--violet{--status-target-color:var(--neeto-molecules-status-color-violet);--status-target-bg:var(--neeto-molecules-status-bg-violet)}.status-dropdown-target--pink{--status-target-color:var(--neeto-molecules-status-color-pink);--status-target-bg:var(--neeto-molecules-status-bg-pink)}.status-dropdown-target--teal{--status-target-color:var(--neeto-molecules-status-color-teal);--status-target-bg:var(--neeto-molecules-status-bg-teal)}.status-dropdown-target--cyan{--status-target-color:var(--neeto-molecules-status-color-cyan);--status-target-bg:var(--neeto-molecules-status-bg-cyan)}.status-dropdown-target--green{--status-target-color:var(--neeto-molecules-status-color-green);--status-target-bg:var(--neeto-molecules-status-bg-green)}.status-dropdown-item--open,.status-dropdown-item--open *{color:#095aba!important;color:rgb(var(--neeto-molecules-status-color-open))!important}.status-dropdown-item--done,.status-dropdown-item--done *{color:#bd640d!important;color:rgb(var(--neeto-molecules-status-color-done))!important}.status-dropdown-item--waiting,.status-dropdown-item--waiting *{color:#2f3941!important;color:rgb(var(--neeto-molecules-status-color-waiting))!important}.status-dropdown-item--red,.status-dropdown-item--red *{color:#bb121a!important;color:rgb(var(--neeto-molecules-status-color-red))!important}.status-dropdown-item--yellow,.status-dropdown-item--yellow *{color:#ffcc70!important;color:rgb(var(--neeto-molecules-status-color-yellow))!important}.status-dropdown-item--violet,.status-dropdown-item--violet *{color:#9d62a2!important;color:rgb(var(--neeto-molecules-status-color-violet))!important}.status-dropdown-item--pink,.status-dropdown-item--pink *{color:#e13ee6!important;color:rgb(var(--neeto-molecules-status-color-pink))!important}.status-dropdown-item--teal,.status-dropdown-item--teal *{color:#26577c!important;color:rgb(var(--neeto-molecules-status-color-teal))!important}.status-dropdown-item--cyan,.status-dropdown-item--cyan *{color:#42a09d!important;color:rgb(var(--neeto-molecules-status-color-cyan))!important}.status-dropdown-item--green,.status-dropdown-item--green *{color:#107154!important;color:rgb(var(--neeto-molecules-status-color-green))!important}";
52
+ var css = ":root{--neeto-molecules-status-color-open:9,90,186;--neeto-molecules-status-color-done:189,100,13;--neeto-molecules-status-color-waiting:47,57,65;--neeto-molecules-status-color-red:187,18,26;--neeto-molecules-status-color-yellow:138,109,0;--neeto-molecules-status-color-violet:157,98,162;--neeto-molecules-status-color-pink:225,62,230;--neeto-molecules-status-color-teal:38,87,124;--neeto-molecules-status-color-cyan:66,160,157;--neeto-molecules-status-color-green:16,113,84;--neeto-molecules-status-bg-open:226,241,255;--neeto-molecules-status-bg-done:250,241,225;--neeto-molecules-status-bg-waiting:233,235,237;--neeto-molecules-status-bg-red:254,236,240;--neeto-molecules-status-bg-yellow:255,247,233;--neeto-molecules-status-bg-violet:235,222,255;--neeto-molecules-status-bg-pink:254,233,255;--neeto-molecules-status-bg-teal:228,244,255;--neeto-molecules-status-bg-cyan:224,255,254;--neeto-molecules-status-bg-green:224,244,238}.dark{--neeto-molecules-status-color-open:144,194,255;--neeto-molecules-status-bg-open:24,42,66;--neeto-molecules-status-color-done:255,194,121;--neeto-molecules-status-bg-done:54,38,18;--neeto-molecules-status-color-waiting:255,255,255;--neeto-molecules-status-bg-waiting:16,24,40;--neeto-molecules-status-color-red:255,119,130;--neeto-molecules-status-bg-red:60,20,24;--neeto-molecules-status-color-yellow:255,221,138;--neeto-molecules-status-bg-yellow:60,48,20;--neeto-molecules-status-color-violet:218,170,255;--neeto-molecules-status-bg-violet:49,27,63;--neeto-molecules-status-color-pink:255,155,255;--neeto-molecules-status-bg-pink:56,30,60;--neeto-molecules-status-color-teal:139,205,255;--neeto-molecules-status-bg-teal:22,42,55;--neeto-molecules-status-color-cyan:130,255,247;--neeto-molecules-status-bg-cyan:14,49,48;--neeto-molecules-status-color-green:117,255,195;--neeto-molecules-status-bg-green:15,50,36}.status-dropdown-target--cyan,.status-dropdown-target--done,.status-dropdown-target--green,.status-dropdown-target--open,.status-dropdown-target--pink,.status-dropdown-target--red,.status-dropdown-target--teal,.status-dropdown-target--violet,.status-dropdown-target--waiting,.status-dropdown-target--yellow{background-color:rgb(var(--status-target-bg));color:rgb(var(--status-target-color))}.status-dropdown-target--open{--status-target-color:var(--neeto-molecules-status-color-open);--status-target-bg:var(--neeto-molecules-status-bg-open)}.status-dropdown-target--done{--status-target-color:var(--neeto-molecules-status-color-done);--status-target-bg:var(--neeto-molecules-status-bg-done)}.status-dropdown-target--waiting{--status-target-color:var(--neeto-molecules-status-color-waiting);--status-target-bg:var(--neeto-molecules-status-bg-waiting)}.status-dropdown-target--red{--status-target-color:var(--neeto-molecules-status-color-red);--status-target-bg:var(--neeto-molecules-status-bg-red)}.status-dropdown-target--yellow{--status-target-color:var(--neeto-molecules-status-color-yellow);--status-target-bg:var(--neeto-molecules-status-bg-yellow)}.status-dropdown-target--violet{--status-target-color:var(--neeto-molecules-status-color-violet);--status-target-bg:var(--neeto-molecules-status-bg-violet)}.status-dropdown-target--pink{--status-target-color:var(--neeto-molecules-status-color-pink);--status-target-bg:var(--neeto-molecules-status-bg-pink)}.status-dropdown-target--teal{--status-target-color:var(--neeto-molecules-status-color-teal);--status-target-bg:var(--neeto-molecules-status-bg-teal)}.status-dropdown-target--cyan{--status-target-color:var(--neeto-molecules-status-color-cyan);--status-target-bg:var(--neeto-molecules-status-bg-cyan)}.status-dropdown-target--green{--status-target-color:var(--neeto-molecules-status-color-green);--status-target-bg:var(--neeto-molecules-status-bg-green)}.status-dropdown-item--open,.status-dropdown-item--open *{color:#095aba!important;color:rgb(var(--neeto-molecules-status-color-open))!important}.status-dropdown-item--done,.status-dropdown-item--done *{color:#bd640d!important;color:rgb(var(--neeto-molecules-status-color-done))!important}.status-dropdown-item--waiting,.status-dropdown-item--waiting *{color:#2f3941!important;color:rgb(var(--neeto-molecules-status-color-waiting))!important}.status-dropdown-item--red,.status-dropdown-item--red *{color:#bb121a!important;color:rgb(var(--neeto-molecules-status-color-red))!important}.status-dropdown-item--yellow,.status-dropdown-item--yellow *{color:#8a6d00!important;color:rgb(var(--neeto-molecules-status-color-yellow))!important}.status-dropdown-item--violet,.status-dropdown-item--violet *{color:#9d62a2!important;color:rgb(var(--neeto-molecules-status-color-violet))!important}.status-dropdown-item--pink,.status-dropdown-item--pink *{color:#e13ee6!important;color:rgb(var(--neeto-molecules-status-color-pink))!important}.status-dropdown-item--teal,.status-dropdown-item--teal *{color:#26577c!important;color:rgb(var(--neeto-molecules-status-color-teal))!important}.status-dropdown-item--cyan,.status-dropdown-item--cyan *{color:#42a09d!important;color:rgb(var(--neeto-molecules-status-color-cyan))!important}.status-dropdown-item--green,.status-dropdown-item--green *{color:#107154!important;color:rgb(var(--neeto-molecules-status-color-green))!important}";
53
53
  injectCss.n(css,{});
54
54
 
55
55
  var _excluded = ["color", "value", "label", "dataTestid", "isClearable", "onClear", "placeholder"];
@@ -66,7 +66,7 @@ var Target = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
66
66
  otherProps = _objectWithoutProperties(_ref, _excluded);
67
67
  var _useTranslation = reactI18next.useTranslation(),
68
68
  t = _useTranslation.t;
69
- var targetClassName = "pointer-events-auto rounded-sm inline-flex items-center gap-2 cursor-pointer py-0.5 px-2 status-dropdown-target--".concat(color || "waiting");
69
+ var targetClassName = "pointer-events-auto rounded-md inline-flex items-center gap-2 cursor-pointer py-1 px-2.5 status-dropdown-target--".concat(color || "waiting");
70
70
  var isOptionSelected = !ramda.isNil(value);
71
71
  var handleClearClick = function handleClearClick(event) {
72
72
  onClear();
@@ -1 +1 @@
1
- {"version":3,"file":"StatusDropdown.js","sources":["../../../src/v2/components/StatusDropdown/constants.js","../../../src/v2/components/StatusDropdown/Menu.jsx","../../../src/v2/components/StatusDropdown/Target.jsx","../../../src/v2/components/StatusDropdown/index.jsx"],"sourcesContent":["export const ICON_SIZE = 16;\n","import { memo } from \"react\";\n\nimport { DropdownMenu } from \"@bigbinary/neeto-atoms\";\nimport { Check } from \"lucide-react\";\nimport { hyphenate, isPresent } from \"neetocist\";\nimport PropTypes from \"prop-types\";\n\nimport { ICON_SIZE } from \"./constants.js\";\n\nconst Menu = ({\n onItemClick,\n options,\n selectedValue = null,\n shouldShowAllOptions = false,\n hiddenStatuses = [],\n}) => {\n const allowedOptions = shouldShowAllOptions\n ? options\n : options.filter(status => !hiddenStatuses.includes(status.value));\n\n return (\n <div className=\"flex w-full flex-col gap-y-0.5\">\n {allowedOptions?.map(option => {\n const isSelected =\n isPresent(selectedValue) && option.value === selectedValue;\n\n return (\n <DropdownMenu.MenuItem\n className={`status-dropdown-item--${option.color}`}\n data-testid={`status-dropdown-item-${hyphenate(option.value)}`}\n isActive={isSelected}\n key={option.value}\n suffix={isSelected && <Check size={ICON_SIZE} />}\n onClick={() => onItemClick(option)}\n >\n {option.label}\n </DropdownMenu.MenuItem>\n );\n })}\n </div>\n );\n};\n\nMenu.propTypes = {\n /**\n * Statuses to be hidden when shouldShowAllOptions is false.\n */\n hiddenStatuses: PropTypes.array,\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 * The selected value; the matching option gets the active state and check.\n */\n selectedValue: PropTypes.string,\n /**\n * This prop will decide whether all options should be shown or not.\n */\n shouldShowAllOptions: PropTypes.bool,\n};\n\nexport default memo(Menu);\n","import { forwardRef } from \"react\";\n\nimport { Typography } from \"@bigbinary/neeto-atoms\";\nimport { ChevronDown, X } from \"lucide-react\";\nimport { isPresent } from \"neetocist\";\nimport PropTypes from \"prop-types\";\nimport { isNil } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { ICON_SIZE } from \"./constants.js\";\n\nconst Target = forwardRef(\n (\n {\n color,\n value,\n label,\n dataTestid,\n isClearable,\n onClear,\n placeholder,\n ...otherProps\n },\n ref\n ) => {\n const { t } = useTranslation();\n const targetClassName = `pointer-events-auto 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 {...{ ref, ...otherProps }}\n aria-haspopup=\"listbox\"\n className={targetClassName}\n data-testid={isPresent(dataTestid) ? dataTestid : \"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\" variant=\"body2\" weight=\"medium\">\n {label}\n </Typography>\n ) : (\n <Typography className=\"text-muted-foreground inline\" variant=\"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-testid=\"status-dropdown-clear-button\"\n role=\"button\"\n tabIndex={0}\n onClick={handleClearClick}\n onKeyDown={handleClearKeyDown}\n >\n <X size={ICON_SIZE} />\n </span>\n )}\n <ChevronDown aria-hidden=\"true\" size={ICON_SIZE} />\n </span>\n </button>\n );\n }\n);\n\nTarget.displayName = \"Target\";\n\nTarget.propTypes = {\n /**\n * Color key of the selected option, mapped to the status color classes.\n */\n color: PropTypes.string,\n /**\n * data-testid for the target button.\n */\n dataTestid: PropTypes.string,\n /**\n * This prop will decide whether the clear button is shown.\n */\n isClearable: PropTypes.bool,\n /**\n * Label of the selected option.\n */\n label: PropTypes.string,\n /**\n * Function to be called when the clear button is clicked.\n */\n onClear: PropTypes.func,\n /**\n * Placeholder shown when no option is selected.\n */\n placeholder: PropTypes.string,\n /**\n * Value of the selected option.\n */\n value: PropTypes.string,\n};\n\nexport default Target;\n","import { DropdownMenu, Spinner } from \"@bigbinary/neeto-atoms\";\nimport { _findBy, noop } from \"neetocist\";\nimport PropTypes from \"prop-types\";\n\nimport Menu from \"./Menu\";\nimport \"./status-dropdown.css\";\nimport Target from \"./Target\";\n\nconst StatusDropdown = ({\n className = \"w-full\",\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 dataTestid = \"status-dropdown\",\n}) => {\n const selectedOption = _findBy({ value: selectedValue }, options);\n\n return (\n <DropdownMenu\n {...{ disabled }}\n position=\"bottom-end\"\n customTarget={\n // The wrapper is the popper anchor: full row width by default so the\n // menu aligns with the row end like the other metadata dropdowns,\n // while the colored chip inside keeps its intrinsic width. The\n // wrapper ignores pointer events so only the chip is clickable —\n // Radix's trigger handlers live on the wrapper and still fire when\n // chip clicks bubble up.\n <div className={`pointer-events-none ${className}`}>\n <Target\n label={selectedValue}\n {...{\n ...selectedOption,\n dataTestid,\n isClearable,\n onClear,\n placeholder,\n }}\n />\n </div>\n }\n dropdownProps={{\n className: \"w-64\",\n collisionPadding: 8,\n \"data-testid\": \"status-dropdown-menu\",\n }}\n >\n {isLoading ? (\n <div className=\"flex w-full items-center justify-center py-8\">\n <Spinner />\n </div>\n ) : (\n <Menu\n {...{\n hiddenStatuses,\n onItemClick,\n options,\n selectedValue,\n shouldShowAllOptions,\n }}\n />\n )}\n </DropdownMenu>\n );\n};\n\nStatusDropdown.Menu = Menu;\n\nStatusDropdown.propTypes = {\n /**\n * External classNames for the target wrapper, which anchors the menu.\n * Defaults to `w-full` so the menu aligns with the row end like the other\n * metadata-pane dropdowns.\n */\n className: PropTypes.string,\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 * data-testid for the target button.\n */\n dataTestid: PropTypes.string,\n};\n\nexport default StatusDropdown;\n"],"names":["ICON_SIZE","Menu","_ref","onItemClick","options","_ref$selectedValue","selectedValue","_ref$shouldShowAllOpt","shouldShowAllOptions","_ref$hiddenStatuses","hiddenStatuses","allowedOptions","filter","status","includes","value","_jsx","className","children","map","option","isSelected","isPresent","DropdownMenu","MenuItem","concat","color","hyphenate","isActive","suffix","Check","size","onClick","label","memo","Target","forwardRef","ref","dataTestid","isClearable","onClear","placeholder","otherProps","_objectWithoutProperties","_excluded","_useTranslation","useTranslation","t","targetClassName","isOptionSelected","isNil","handleClearClick","event","stopPropagation","handleClearKeyDown","key","preventDefault","_jsxs","_objectSpread","type","Typography","variant","weight","role","tabIndex","onKeyDown","X","ChevronDown","displayName","StatusDropdown","_ref$className","_ref$disabled","disabled","_ref$isLoading","isLoading","_ref$placeholder","_ref$isClearable","_ref$onClear","noop","_ref$dataTestid","selectedOption","_findBy","position","customTarget","dropdownProps","collisionPadding","Spinner"],"mappings":"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"}
1
+ {"version":3,"file":"StatusDropdown.js","sources":["../../../src/v2/components/StatusDropdown/constants.js","../../../src/v2/components/StatusDropdown/Menu.jsx","../../../src/v2/components/StatusDropdown/Target.jsx","../../../src/v2/components/StatusDropdown/index.jsx"],"sourcesContent":["export const ICON_SIZE = 16;\n","import { memo } from \"react\";\n\nimport { DropdownMenu } from \"@bigbinary/neeto-atoms\";\nimport { Check } from \"lucide-react\";\nimport { hyphenate, isPresent } from \"neetocist\";\nimport PropTypes from \"prop-types\";\n\nimport { ICON_SIZE } from \"./constants.js\";\n\nconst Menu = ({\n onItemClick,\n options,\n selectedValue = null,\n shouldShowAllOptions = false,\n hiddenStatuses = [],\n}) => {\n const allowedOptions = shouldShowAllOptions\n ? options\n : options.filter(status => !hiddenStatuses.includes(status.value));\n\n return (\n <div className=\"flex w-full flex-col gap-y-0.5\">\n {allowedOptions?.map(option => {\n const isSelected =\n isPresent(selectedValue) && option.value === selectedValue;\n\n return (\n <DropdownMenu.MenuItem\n className={`status-dropdown-item--${option.color}`}\n data-testid={`status-dropdown-item-${hyphenate(option.value)}`}\n isActive={isSelected}\n key={option.value}\n suffix={isSelected && <Check size={ICON_SIZE} />}\n onClick={() => onItemClick(option)}\n >\n {option.label}\n </DropdownMenu.MenuItem>\n );\n })}\n </div>\n );\n};\n\nMenu.propTypes = {\n /**\n * Statuses to be hidden when shouldShowAllOptions is false.\n */\n hiddenStatuses: PropTypes.array,\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 * The selected value; the matching option gets the active state and check.\n */\n selectedValue: PropTypes.string,\n /**\n * This prop will decide whether all options should be shown or not.\n */\n shouldShowAllOptions: PropTypes.bool,\n};\n\nexport default memo(Menu);\n","import { forwardRef } from \"react\";\n\nimport { ChevronDown, X } from \"lucide-react\";\nimport { Typography } from \"neetoatoms\";\nimport { isPresent } from \"neetocist\";\nimport PropTypes from \"prop-types\";\nimport { isNil } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { ICON_SIZE } from \"./constants.js\";\n\nconst Target = forwardRef(\n (\n {\n color,\n value,\n label,\n dataTestid,\n isClearable,\n onClear,\n placeholder,\n ...otherProps\n },\n ref\n ) => {\n const { t } = useTranslation();\n const targetClassName = `pointer-events-auto rounded-md inline-flex items-center gap-2 cursor-pointer py-1 px-2.5 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 {...{ ref, ...otherProps }}\n aria-haspopup=\"listbox\"\n className={targetClassName}\n data-testid={isPresent(dataTestid) ? dataTestid : \"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\" variant=\"body2\" weight=\"medium\">\n {label}\n </Typography>\n ) : (\n <Typography className=\"text-muted-foreground inline\" variant=\"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-testid=\"status-dropdown-clear-button\"\n role=\"button\"\n tabIndex={0}\n onClick={handleClearClick}\n onKeyDown={handleClearKeyDown}\n >\n <X size={ICON_SIZE} />\n </span>\n )}\n <ChevronDown aria-hidden=\"true\" size={ICON_SIZE} />\n </span>\n </button>\n );\n }\n);\n\nTarget.displayName = \"Target\";\n\nTarget.propTypes = {\n /**\n * Color key of the selected option, mapped to the status color classes.\n */\n color: PropTypes.string,\n /**\n * data-testid for the target button.\n */\n dataTestid: PropTypes.string,\n /**\n * This prop will decide whether the clear button is shown.\n */\n isClearable: PropTypes.bool,\n /**\n * Label of the selected option.\n */\n label: PropTypes.string,\n /**\n * Function to be called when the clear button is clicked.\n */\n onClear: PropTypes.func,\n /**\n * Placeholder shown when no option is selected.\n */\n placeholder: PropTypes.string,\n /**\n * Value of the selected option.\n */\n value: PropTypes.string,\n};\n\nexport default Target;\n","import { DropdownMenu, Spinner } from \"@bigbinary/neeto-atoms\";\nimport { _findBy, noop } from \"neetocist\";\nimport PropTypes from \"prop-types\";\n\nimport Menu from \"./Menu\";\nimport \"./status-dropdown.css\";\nimport Target from \"./Target\";\n\nconst StatusDropdown = ({\n className = \"w-full\",\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 dataTestid = \"status-dropdown\",\n}) => {\n const selectedOption = _findBy({ value: selectedValue }, options);\n\n return (\n <DropdownMenu\n {...{ disabled }}\n position=\"bottom-end\"\n customTarget={\n // The wrapper is the popper anchor: full row width by default so the\n // menu aligns with the row end like the other metadata dropdowns,\n // while the colored chip inside keeps its intrinsic width. The\n // wrapper ignores pointer events so only the chip is clickable —\n // Radix's trigger handlers live on the wrapper and still fire when\n // chip clicks bubble up.\n <div className={`pointer-events-none ${className}`}>\n <Target\n label={selectedValue}\n {...{\n ...selectedOption,\n dataTestid,\n isClearable,\n onClear,\n placeholder,\n }}\n />\n </div>\n }\n dropdownProps={{\n className: \"w-64\",\n collisionPadding: 8,\n \"data-testid\": \"status-dropdown-menu\",\n }}\n >\n {isLoading ? (\n <div className=\"flex w-full items-center justify-center py-8\">\n <Spinner />\n </div>\n ) : (\n <Menu\n {...{\n hiddenStatuses,\n onItemClick,\n options,\n selectedValue,\n shouldShowAllOptions,\n }}\n />\n )}\n </DropdownMenu>\n );\n};\n\nStatusDropdown.Menu = Menu;\n\nStatusDropdown.propTypes = {\n /**\n * External classNames for the target wrapper, which anchors the menu.\n * Defaults to `w-full` so the menu aligns with the row end like the other\n * metadata-pane dropdowns.\n */\n className: PropTypes.string,\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 * data-testid for the target button.\n */\n dataTestid: PropTypes.string,\n};\n\nexport default StatusDropdown;\n"],"names":["ICON_SIZE","Menu","_ref","onItemClick","options","_ref$selectedValue","selectedValue","_ref$shouldShowAllOpt","shouldShowAllOptions","_ref$hiddenStatuses","hiddenStatuses","allowedOptions","filter","status","includes","value","_jsx","className","children","map","option","isSelected","isPresent","DropdownMenu","MenuItem","concat","color","hyphenate","isActive","suffix","Check","size","onClick","label","memo","Target","forwardRef","ref","dataTestid","isClearable","onClear","placeholder","otherProps","_objectWithoutProperties","_excluded","_useTranslation","useTranslation","t","targetClassName","isOptionSelected","isNil","handleClearClick","event","stopPropagation","handleClearKeyDown","key","preventDefault","_jsxs","_objectSpread","type","Typography","variant","weight","role","tabIndex","onKeyDown","X","ChevronDown","displayName","StatusDropdown","_ref$className","_ref$disabled","disabled","_ref$isLoading","isLoading","_ref$placeholder","_ref$isClearable","_ref$onClear","noop","_ref$dataTestid","selectedOption","_findBy","position","customTarget","dropdownProps","collisionPadding","Spinner"],"mappings":"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"}
@@ -0,0 +1,63 @@
1
+ 'use strict';
2
+
3
+ var _defineProperty = require('@babel/runtime/helpers/defineProperty');
4
+ var _objectWithoutProperties = require('@babel/runtime/helpers/objectWithoutProperties');
5
+ var classnames = require('classnames');
6
+ var primitives = require('@bigbinary/neeto-atoms/primitives');
7
+ var jsxRuntime = require('react/jsx-runtime');
8
+ var x = require('../x-B2CPkf_D.js');
9
+ require('../createLucideIcon-BbuuRL2u.js');
10
+ require('react');
11
+
12
+ var RIBBON_KIND_CONFIG = {
13
+ info: {
14
+ container: "border-info-border bg-info text-info-foreground",
15
+ role: "status"
16
+ },
17
+ warning: {
18
+ container: "border-warning-border bg-warning text-warning-foreground",
19
+ role: "status"
20
+ },
21
+ error: {
22
+ container: "border-error-border bg-error text-error-foreground",
23
+ role: "alert"
24
+ }
25
+ };
26
+
27
+ var _excluded = ["kind", "onDismiss", "children", "className"];
28
+ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
29
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), true).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
30
+ var StickyRibbon = function StickyRibbon(_ref) {
31
+ var _RIBBON_KIND_CONFIG$k;
32
+ var _ref$kind = _ref.kind,
33
+ kind = _ref$kind === void 0 ? "info" : _ref$kind,
34
+ onDismiss = _ref.onDismiss,
35
+ children = _ref.children,
36
+ className = _ref.className,
37
+ rest = _objectWithoutProperties(_ref, _excluded);
38
+ var _ref2 = (_RIBBON_KIND_CONFIG$k = RIBBON_KIND_CONFIG[kind]) !== null && _RIBBON_KIND_CONFIG$k !== void 0 ? _RIBBON_KIND_CONFIG$k : RIBBON_KIND_CONFIG.info,
39
+ container = _ref2.container,
40
+ role = _ref2.role;
41
+ return /*#__PURE__*/jsxRuntime.jsxs(primitives.Alert, _objectSpread(_objectSpread({
42
+ role: role,
43
+ className: classnames(container, "relative z-50 rounded-none border-x-0 px-12 py-2.5", className)
44
+ }, rest), {}, {
45
+ children: [/*#__PURE__*/jsxRuntime.jsx(primitives.AlertDescription, {
46
+ className: "text-center text-current",
47
+ children: children
48
+ }), onDismiss && /*#__PURE__*/jsxRuntime.jsx(primitives.AlertAction, {
49
+ children: /*#__PURE__*/jsxRuntime.jsx("button", {
50
+ "aria-label": "Dismiss",
51
+ className: "focus-visible:ring-ring rounded-sm p-0.5 transition-colors hover:bg-current/10 focus-visible:ring-2 focus-visible:outline-none",
52
+ type: "button",
53
+ onClick: onDismiss,
54
+ children: /*#__PURE__*/jsxRuntime.jsx(x.X, {
55
+ className: "size-4"
56
+ })
57
+ })
58
+ })]
59
+ }));
60
+ };
61
+
62
+ module.exports = StickyRibbon;
63
+ //# sourceMappingURL=StickyRibbon.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"StickyRibbon.js","sources":["../../../src/v2/components/StickyRibbon/constants.js","../../../src/v2/components/StickyRibbon/index.jsx"],"sourcesContent":["export const RIBBON_KIND_CONFIG = {\n info: {\n container: \"border-info-border bg-info text-info-foreground\",\n role: \"status\",\n },\n warning: {\n container: \"border-warning-border bg-warning text-warning-foreground\",\n role: \"status\",\n },\n error: {\n container: \"border-error-border bg-error text-error-foreground\",\n role: \"alert\",\n },\n};\n","import classnames from \"classnames\";\nimport { X } from \"lucide-react\";\nimport { Alert, AlertAction, AlertDescription } from \"neetoatoms/primitives\";\n\nimport { RIBBON_KIND_CONFIG } from \"./constants\";\n\n/**\n *\n * A single, full-width sticky ribbon. Used internally by `StickyRibbonsContainer`\n *\n * for NeetoTower / refresh ribbons, and exported so applications can render their\n *\n * own sticky ribbons (integration notices, payment reconnection, etc.) with the\n *\n * exact same look. Renders an `Alert` coloured by `kind`, a centered message and\n *\n * an optional dismiss button.\n *\n * @example\n *\n * import StickyRibbon from \"@bigbinary/neeto-molecules/v2/StickyRibbon\";\n *\n * <StickyRibbon kind=\"warning\" onDismiss={handleDismiss}>\n * Payments are disabled. <Button label=\"Fix now\" to={path} variant=\"link\" />\n * </StickyRibbon>\n * @endexample\n */\nconst StickyRibbon = ({\n kind = \"info\",\n onDismiss,\n children,\n className,\n ...rest\n}) => {\n const { container, role } =\n RIBBON_KIND_CONFIG[kind] ?? RIBBON_KIND_CONFIG.info;\n\n return (\n <Alert\n {...{ role }}\n className={classnames(\n container,\n \"relative z-50 rounded-none border-x-0 px-12 py-2.5\",\n className\n )}\n {...rest}\n >\n <AlertDescription className=\"text-center text-current\">\n {children}\n </AlertDescription>\n {onDismiss && (\n <AlertAction>\n <button\n aria-label=\"Dismiss\"\n className=\"focus-visible:ring-ring rounded-sm p-0.5 transition-colors hover:bg-current/10 focus-visible:ring-2 focus-visible:outline-none\"\n type=\"button\"\n onClick={onDismiss}\n >\n <X className=\"size-4\" />\n </button>\n </AlertAction>\n )}\n </Alert>\n );\n};\n\nexport default StickyRibbon;\n"],"names":["RIBBON_KIND_CONFIG","info","container","role","warning","error","StickyRibbon","_ref","_RIBBON_KIND_CONFIG$k","_ref$kind","kind","onDismiss","children","className","rest","_objectWithoutProperties","_excluded","_ref2","_jsxs","Alert","_objectSpread","classnames","_jsx","AlertDescription","AlertAction","type","onClick","X"],"mappings":";;;;;;;;;;;AAAO,IAAMA,kBAAkB,GAAG;AAChCC,EAAAA,IAAI,EAAE;AACJC,IAAAA,SAAS,EAAE,iDAAiD;AAC5DC,IAAAA,IAAI,EAAE;GACP;AACDC,EAAAA,OAAO,EAAE;AACPF,IAAAA,SAAS,EAAE,0DAA0D;AACrEC,IAAAA,IAAI,EAAE;GACP;AACDE,EAAAA,KAAK,EAAE;AACLH,IAAAA,SAAS,EAAE,oDAAoD;AAC/DC,IAAAA,IAAI,EAAE;AACR;AACF,CAAC;;;;;ACcD,IAAMG,YAAY,GAAG,SAAfA,YAAYA,CAAAC,IAAA,EAMZ;AAAA,EAAA,IAAAC,qBAAA;AAAA,EAAA,IAAAC,SAAA,GAAAF,IAAA,CALJG,IAAI;AAAJA,IAAAA,IAAI,GAAAD,SAAA,KAAA,MAAA,GAAG,MAAM,GAAAA,SAAA;IACbE,SAAS,GAAAJ,IAAA,CAATI,SAAS;IACTC,QAAQ,GAAAL,IAAA,CAARK,QAAQ;IACRC,SAAS,GAAAN,IAAA,CAATM,SAAS;AACNC,IAAAA,IAAI,GAAAC,wBAAA,CAAAR,IAAA,EAAAS,SAAA,CAAA;AAEP,EAAA,IAAAC,KAAA,GAAA,CAAAT,qBAAA,GACER,kBAAkB,CAACU,IAAI,CAAC,MAAA,IAAA,IAAAF,qBAAA,KAAA,MAAA,GAAAA,qBAAA,GAAIR,kBAAkB,CAACC,IAAI;IAD7CC,SAAS,GAAAe,KAAA,CAATf,SAAS;IAAEC,IAAI,GAAAc,KAAA,CAAJd,IAAI;AAGvB,EAAA,oBACEe,eAAA,CAACC,gBAAK,EAAAC,aAAA,CAAAA,aAAA,CAAA;AACEjB,IAAAA,IAAI,EAAJA,IAAI;AACVU,IAAAA,SAAS,EAAEQ,UAAU,CACnBnB,SAAS,EACT,oDAAoD,EACpDW,SACF;AAAE,GAAA,EACEC,IAAI,CAAA,EAAA,EAAA,EAAA;IAAAF,QAAA,EAAA,cAERU,cAAA,CAACC,2BAAgB,EAAA;AAACV,MAAAA,SAAS,EAAC,0BAA0B;AAAAD,MAAAA,QAAA,EACnDA;AAAQ,KACO,CAAC,EAClBD,SAAS,iBACRW,cAAA,CAACE,sBAAW,EAAA;AAAAZ,MAAAA,QAAA,eACVU,cAAA,CAAA,QAAA,EAAA;AACE,QAAA,YAAA,EAAW,SAAS;AACpBT,QAAAA,SAAS,EAAC,gIAAgI;AAC1IY,QAAAA,IAAI,EAAC,QAAQ;AACbC,QAAAA,OAAO,EAAEf,SAAU;QAAAC,QAAA,eAEnBU,cAAA,CAACK,GAAC,EAAA;AAACd,UAAAA,SAAS,EAAC;SAAU;OACjB;AAAC,KACE,CACd;AAAA,GAAA,CACI,CAAC;AAEZ;;;;"}
@@ -4,24 +4,25 @@ var _toConsumableArray = require('@babel/runtime/helpers/toConsumableArray');
4
4
  var _slicedToArray = require('@babel/runtime/helpers/slicedToArray');
5
5
  var shallow = require('zustand/shallow');
6
6
  var React = require('react');
7
- var neetoAtoms = require('@bigbinary/neeto-atoms');
8
7
  var purify_es = require('../purify.es-BbggLK9I.js');
8
+ var neetoAtoms = require('@bigbinary/neeto-atoms');
9
9
  var reactUtils = require('@bigbinary/neeto-commons-frontend/v2/react-utils');
10
10
  var useDisplayErrorPage = require('@bigbinary/neeto-commons-frontend/v2/react-utils/useDisplayErrorPage');
11
11
  var ramda = require('ramda');
12
12
  var reactI18next = require('react-i18next');
13
- var _defineProperty = require('@babel/runtime/helpers/defineProperty');
14
- var _objectWithoutProperties = require('@babel/runtime/helpers/objectWithoutProperties');
15
- var primitives = require('@bigbinary/neeto-atoms/primitives');
16
- var classnames = require('classnames');
17
- var jsxRuntime = require('react/jsx-runtime');
18
- var x = require('../x-B2CPkf_D.js');
19
13
  var _asyncToGenerator = require('@babel/runtime/helpers/asyncToGenerator');
20
14
  var reactQuery = require('@tanstack/react-query');
21
15
  var neetoCist = require('@bigbinary/neeto-cist');
22
16
  var axios = require('axios');
23
17
  var constants = require('@bigbinary/neeto-commons-frontend/v2/constants');
24
18
  var utils = require('@bigbinary/neeto-commons-frontend/v2/utils');
19
+ var v2_StickyRibbon = require('./StickyRibbon.js');
20
+ var jsxRuntime = require('react/jsx-runtime');
21
+ require('@babel/runtime/helpers/defineProperty');
22
+ require('@babel/runtime/helpers/objectWithoutProperties');
23
+ require('classnames');
24
+ require('@bigbinary/neeto-atoms/primitives');
25
+ require('../x-B2CPkf_D.js');
25
26
  require('../createLucideIcon-BbuuRL2u.js');
26
27
 
27
28
  var QUERY_KEYS = {
@@ -31,60 +32,11 @@ var STICKY_RIBBONS_LOCAL_STORAGE_KEY = "dismissedStickyRibbons";
31
32
  var POLLING_INTERVAL = 5000;
32
33
  var MAX_POLLING_TIME = 60000;
33
34
  var DATE_TIME_FORMAT = "MMMM D h:mm A z";
34
- var RIBBON_KIND_CONFIG = {
35
- info: {
36
- container: "border-info-border bg-info text-info-foreground",
37
- role: "status"
38
- },
39
- warning: {
40
- container: "border-warning-border bg-warning text-warning-foreground",
41
- role: "status"
42
- },
43
- error: {
44
- container: "border-error-border bg-error text-error-foreground",
45
- role: "alert"
46
- }
47
- };
48
35
  var VARIABLE_REGEX = /<span[^>]*data-variable[^>]*>\s*{{\s*([\w.]+)\s*}}\s*<\/span>|{{\s*([\w.]+)\s*}}/g;
49
36
  var SANITIZE_OPTIONS = {
50
37
  ADD_ATTR: ["target"]
51
38
  };
52
39
 
53
- var _excluded = ["kind", "onDismiss", "children", "className"];
54
- function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
55
- function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), true).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
56
- var Ribbon = function Ribbon(_ref) {
57
- var _RIBBON_KIND_CONFIG$k;
58
- var _ref$kind = _ref.kind,
59
- kind = _ref$kind === void 0 ? "info" : _ref$kind,
60
- onDismiss = _ref.onDismiss,
61
- children = _ref.children,
62
- className = _ref.className,
63
- rest = _objectWithoutProperties(_ref, _excluded);
64
- var _ref2 = (_RIBBON_KIND_CONFIG$k = RIBBON_KIND_CONFIG[kind]) !== null && _RIBBON_KIND_CONFIG$k !== void 0 ? _RIBBON_KIND_CONFIG$k : RIBBON_KIND_CONFIG.info,
65
- container = _ref2.container,
66
- role = _ref2.role;
67
- return /*#__PURE__*/jsxRuntime.jsxs(primitives.Alert, _objectSpread(_objectSpread({
68
- role: role,
69
- className: classnames(container, "rounded-none border-x-0 px-12 py-2.5", className)
70
- }, rest), {}, {
71
- children: [/*#__PURE__*/jsxRuntime.jsx(primitives.AlertDescription, {
72
- className: "text-center text-current",
73
- children: children
74
- }), onDismiss && /*#__PURE__*/jsxRuntime.jsx(primitives.AlertAction, {
75
- children: /*#__PURE__*/jsxRuntime.jsx("button", {
76
- "aria-label": "Dismiss",
77
- className: "focus-visible:ring-ring rounded-sm p-0.5 transition-colors hover:bg-current/10 focus-visible:ring-2 focus-visible:outline-none",
78
- type: "button",
79
- onClick: onDismiss,
80
- children: /*#__PURE__*/jsxRuntime.jsx(x.X, {
81
- className: "size-4"
82
- })
83
- })
84
- })]
85
- }));
86
- };
87
-
88
40
  var fetchStickyRibbons = function fetchStickyRibbons() {
89
41
  return axios.get("".concat(constants.BASE_API_V1_URL, "/sticky_ribbons"), {
90
42
  includeMetadataInResponse: true
@@ -196,7 +148,7 @@ var StickyRibbonsContainer = function StickyRibbonsContainer() {
196
148
  return !dismissedRibbons.includes(ribbon.id);
197
149
  });
198
150
  return /*#__PURE__*/jsxRuntime.jsxs(jsxRuntime.Fragment, {
199
- children: [showRefreshRibbon && !isRefreshRibbonDismissed && /*#__PURE__*/jsxRuntime.jsx(Ribbon, {
151
+ children: [showRefreshRibbon && !isRefreshRibbonDismissed && /*#__PURE__*/jsxRuntime.jsx(v2_StickyRibbon, {
200
152
  "data-testid": "refresh-sticky-ribbon",
201
153
  kind: "error",
202
154
  onDismiss: function onDismiss() {
@@ -220,7 +172,7 @@ var StickyRibbonsContainer = function StickyRibbonsContainer() {
220
172
  message = _ref.message,
221
173
  startsAt = _ref.startsAt,
222
174
  endsAt = _ref.endsAt;
223
- return /*#__PURE__*/React.createElement(Ribbon, {
175
+ return /*#__PURE__*/React.createElement(v2_StickyRibbon, {
224
176
  kind: kind,
225
177
  "data-testid": "sticky-ribbon",
226
178
  key: id,
@@ -1 +1 @@
1
- {"version":3,"file":"StickyRibbonsContainer.js","sources":["../../../src/v2/components/StickyRibbonsContainer/constants.js","../../../src/v2/components/StickyRibbonsContainer/Ribbon.jsx","../../../src/v2/components/StickyRibbonsContainer/api.js","../../../src/v2/components/StickyRibbonsContainer/useStickyRibbonsApi.js","../../../src/v2/components/StickyRibbonsContainer/utils.js","../../../src/v2/components/StickyRibbonsContainer/index.jsx"],"sourcesContent":["export const QUERY_KEYS = {\n APP_STICKY_RIBBONS_LIST: \"APP_STICKY_RIBBONS_LIST\",\n};\n\nexport const STICKY_RIBBONS_LOCAL_STORAGE_KEY = \"dismissedStickyRibbons\";\n\nexport const POLLING_INTERVAL = 5000;\nexport const MAX_POLLING_TIME = 60000;\n\nexport const DATE_TIME_FORMAT = \"MMMM D h:mm A z\";\n\nexport const RIBBON_KIND_CONFIG = {\n info: {\n container: \"border-info-border bg-info text-info-foreground\",\n role: \"status\",\n },\n warning: {\n container: \"border-warning-border bg-warning text-warning-foreground\",\n role: \"status\",\n },\n error: {\n container: \"border-error-border bg-error text-error-foreground\",\n role: \"alert\",\n },\n};\n\nexport const VARIABLE_REGEX =\n /<span[^>]*data-variable[^>]*>\\s*{{\\s*([\\w.]+)\\s*}}\\s*<\\/span>|{{\\s*([\\w.]+)\\s*}}/g;\n\nexport const SANITIZE_OPTIONS = { ADD_ATTR: [\"target\"] };\n","import {\n Alert,\n AlertAction,\n AlertDescription,\n} from \"@bigbinary/neeto-atoms/primitives\";\nimport classnames from \"classnames\";\nimport { X } from \"lucide-react\";\n\nimport { RIBBON_KIND_CONFIG } from \"./constants\";\n\nconst Ribbon = ({ kind = \"info\", onDismiss, children, className, ...rest }) => {\n const { container, role } =\n RIBBON_KIND_CONFIG[kind] ?? RIBBON_KIND_CONFIG.info;\n\n return (\n <Alert\n {...{ role }}\n className={classnames(\n container,\n \"rounded-none border-x-0 px-12 py-2.5\",\n className\n )}\n {...rest}\n >\n <AlertDescription className=\"text-center text-current\">\n {children}\n </AlertDescription>\n {onDismiss && (\n <AlertAction>\n <button\n aria-label=\"Dismiss\"\n className=\"focus-visible:ring-ring rounded-sm p-0.5 transition-colors hover:bg-current/10 focus-visible:ring-2 focus-visible:outline-none\"\n type=\"button\"\n onClick={onDismiss}\n >\n <X className=\"size-4\" />\n </button>\n </AlertAction>\n )}\n </Alert>\n );\n};\n\nexport default Ribbon;\n","import axios from \"axios\";\nimport { BASE_API_V1_URL } from \"neetocommons/v2/constants\";\n\nconst fetchStickyRibbons = () =>\n axios.get(`${BASE_API_V1_URL}/sticky_ribbons`, {\n includeMetadataInResponse: true,\n });\n\nconst stickyRibbonsApi = { fetchStickyRibbons };\n\nexport default stickyRibbonsApi;\n","import { useState, useEffect } from \"react\";\n\nimport { useQuery } from \"@tanstack/react-query\";\nimport { noop } from \"neetocist\";\n\nimport stickyRibbonsApi from \"./api\";\nimport { QUERY_KEYS, POLLING_INTERVAL, MAX_POLLING_TIME } from \"./constants\";\n\nconst { APP_STICKY_RIBBONS_LIST } = QUERY_KEYS;\n\nconst useFetchStickyRibbons = () => {\n const [isPolling, setIsPolling] = useState(false);\n\n useEffect(() => {\n if (!isPolling) return noop;\n\n const timer = setTimeout(() => {\n setIsPolling(false);\n }, MAX_POLLING_TIME);\n\n return () => {\n clearTimeout(timer);\n };\n }, [isPolling]);\n\n return useQuery({\n queryKey: [APP_STICKY_RIBBONS_LIST],\n queryFn: async () => {\n const response = await stickyRibbonsApi.fetchStickyRibbons();\n\n if (response.status === 202) {\n setIsPolling(true);\n } else if (response.status === 200) {\n setIsPolling(false);\n }\n\n return response.data;\n },\n refetchInterval: isPolling ? POLLING_INTERVAL : false,\n });\n};\n\nexport { useFetchStickyRibbons };\n","import { dayjs } from \"neetocommons/v2/utils\";\n\nimport { DATE_TIME_FORMAT, VARIABLE_REGEX } from \"./constants\";\n\nconst dayTimeFormatter = timestamp =>\n // eslint-disable-next-line @bigbinary/neeto/use-standard-date-time-formats\n dayjs.utc(timestamp).local().format(DATE_TIME_FORMAT);\n\nexport const substituteVariables = (message, variables) =>\n message.replace(\n VARIABLE_REGEX,\n (match, chipKey, bareKey) => variables[chipKey ?? bareKey] ?? match\n );\n\nexport const formatMessageContent = ({ message, startsAt, endsAt }) =>\n substituteVariables(message, {\n starts_at: dayTimeFormatter(startsAt),\n ends_at: dayTimeFormatter(endsAt),\n });\n","import { useState } from \"react\";\n\nimport { Button } from \"@bigbinary/neeto-atoms\";\nimport DOMPurify from \"dompurify\";\nimport { useLocalStorage } from \"neetocommons/v2/react-utils\";\nimport { useErrorDisplayStore } from \"neetocommons/v2/react-utils/useDisplayErrorPage\";\nimport { pluck } from \"ramda\";\nimport { Trans } from \"react-i18next\";\n\nimport {\n SANITIZE_OPTIONS,\n STICKY_RIBBONS_LOCAL_STORAGE_KEY,\n} from \"./constants\";\nimport Ribbon from \"./Ribbon\";\nimport { useFetchStickyRibbons } from \"./useStickyRibbonsApi\";\nimport { formatMessageContent } from \"./utils\";\n\nconst sanitize = html => DOMPurify.sanitize(html, SANITIZE_OPTIONS);\n\nconst StickyRibbonsContainer = () => {\n const [isRefreshRibbonDismissed, setIsRefreshRibbonDismissed] =\n useState(false);\n\n const [dismissedRibbons, setDismissedRibbons] = useLocalStorage(\n STICKY_RIBBONS_LOCAL_STORAGE_KEY,\n []\n );\n\n const { showRefreshRibbon } = useErrorDisplayStore.pick();\n\n const { data } = useFetchStickyRibbons();\n const stickyRibbons = data?.stickyRibbons ?? [];\n\n const handleDismiss = ribbonId => {\n const validRibbonIds = pluck(\"id\", stickyRibbons);\n const updatedDismissedRibbons = dismissedRibbons.filter(id =>\n validRibbonIds.includes(id)\n );\n\n setDismissedRibbons([...updatedDismissedRibbons, ribbonId]);\n };\n\n const visibleRibbons = stickyRibbons.filter(\n ribbon => !dismissedRibbons.includes(ribbon.id)\n );\n\n return (\n <>\n {showRefreshRibbon && !isRefreshRibbonDismissed && (\n <Ribbon\n data-testid=\"refresh-sticky-ribbon\"\n kind=\"error\"\n onDismiss={() => setIsRefreshRibbonDismissed(true)}\n >\n <Trans\n i18nKey=\"neetoMolecules.stickyRibbonsContainer.refreshRibbon\"\n components={{\n button: (\n <Button\n data-testid=\"refresh-button\"\n variant=\"link\"\n onClick={() => window.location.reload()}\n />\n ),\n }}\n />\n </Ribbon>\n )}\n {visibleRibbons.map(({ id, kind, message, startsAt, endsAt }) => (\n <Ribbon\n {...{ kind }}\n data-testid=\"sticky-ribbon\"\n key={id}\n onDismiss={() => handleDismiss(id)}\n >\n <div\n className=\"neeto-editor-content neeto-editor-size--small\"\n dangerouslySetInnerHTML={{\n __html: sanitize(\n formatMessageContent({ message, startsAt, endsAt })\n ),\n }}\n />\n </Ribbon>\n ))}\n </>\n );\n};\n\nexport default StickyRibbonsContainer;\n"],"names":["QUERY_KEYS","APP_STICKY_RIBBONS_LIST","STICKY_RIBBONS_LOCAL_STORAGE_KEY","POLLING_INTERVAL","MAX_POLLING_TIME","DATE_TIME_FORMAT","RIBBON_KIND_CONFIG","info","container","role","warning","error","VARIABLE_REGEX","SANITIZE_OPTIONS","ADD_ATTR","Ribbon","_ref","_RIBBON_KIND_CONFIG$k","_ref$kind","kind","onDismiss","children","className","rest","_objectWithoutProperties","_excluded","_ref2","_jsxs","Alert","_objectSpread","classnames","_jsx","AlertDescription","AlertAction","type","onClick","X","fetchStickyRibbons","axios","get","concat","BASE_API_V1_URL","includeMetadataInResponse","stickyRibbonsApi","e","t","r","Symbol","n","iterator","o","toStringTag","i","c","prototype","Generator","u","Object","create","_regeneratorDefine2","f","p","y","G","v","a","d","bind","length","l","TypeError","call","done","value","GeneratorFunction","GeneratorFunctionPrototype","getPrototypeOf","setPrototypeOf","__proto__","displayName","_regenerator","w","m","defineProperty","_regeneratorDefine","_invoke","enumerable","configurable","writable","useFetchStickyRibbons","_useState","useState","_useState2","_slicedToArray","isPolling","setIsPolling","useEffect","noop","timer","setTimeout","clearTimeout","useQuery","queryKey","queryFn","_queryFn","_asyncToGenerator","_callee","response","_context","status","data","apply","arguments","refetchInterval","dayTimeFormatter","timestamp","dayjs","utc","local","format","substituteVariables","message","variables","replace","match","chipKey","bareKey","_variables","formatMessageContent","startsAt","endsAt","starts_at","ends_at","sanitize","html","DOMPurify","StickyRibbonsContainer","_data$stickyRibbons","isRefreshRibbonDismissed","setIsRefreshRibbonDismissed","_useLocalStorage","useLocalStorage","_useLocalStorage2","dismissedRibbons","setDismissedRibbons","_useErrorDisplayStore","useErrorDisplayStore","useShallow","store","showRefreshRibbon","_useFetchStickyRibbon","stickyRibbons","handleDismiss","ribbonId","validRibbonIds","pluck","updatedDismissedRibbons","filter","id","includes","_toConsumableArray","visibleRibbons","ribbon","_Fragment","Trans","i18nKey","components","button","Button","variant","window","location","reload","map","_createElement","key","dangerouslySetInnerHTML","__html"],"mappings":"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"}
1
+ {"version":3,"file":"StickyRibbonsContainer.js","sources":["../../../src/v2/components/StickyRibbonsContainer/constants.js","../../../src/v2/components/StickyRibbonsContainer/api.js","../../../src/v2/components/StickyRibbonsContainer/useStickyRibbonsApi.js","../../../src/v2/components/StickyRibbonsContainer/utils.js","../../../src/v2/components/StickyRibbonsContainer/index.jsx"],"sourcesContent":["export const QUERY_KEYS = {\n APP_STICKY_RIBBONS_LIST: \"APP_STICKY_RIBBONS_LIST\",\n};\n\nexport const STICKY_RIBBONS_LOCAL_STORAGE_KEY = \"dismissedStickyRibbons\";\n\nexport const POLLING_INTERVAL = 5000;\nexport const MAX_POLLING_TIME = 60000;\n\nexport const DATE_TIME_FORMAT = \"MMMM D h:mm A z\";\n\nexport const VARIABLE_REGEX =\n /<span[^>]*data-variable[^>]*>\\s*{{\\s*([\\w.]+)\\s*}}\\s*<\\/span>|{{\\s*([\\w.]+)\\s*}}/g;\n\nexport const SANITIZE_OPTIONS = { ADD_ATTR: [\"target\"] };\n","import axios from \"axios\";\nimport { BASE_API_V1_URL } from \"neetocommons/v2/constants\";\n\nconst fetchStickyRibbons = () =>\n axios.get(`${BASE_API_V1_URL}/sticky_ribbons`, {\n includeMetadataInResponse: true,\n });\n\nconst stickyRibbonsApi = { fetchStickyRibbons };\n\nexport default stickyRibbonsApi;\n","import { useState, useEffect } from \"react\";\n\nimport { useQuery } from \"@tanstack/react-query\";\nimport { noop } from \"neetocist\";\n\nimport stickyRibbonsApi from \"./api\";\nimport { QUERY_KEYS, POLLING_INTERVAL, MAX_POLLING_TIME } from \"./constants\";\n\nconst { APP_STICKY_RIBBONS_LIST } = QUERY_KEYS;\n\nconst useFetchStickyRibbons = () => {\n const [isPolling, setIsPolling] = useState(false);\n\n useEffect(() => {\n if (!isPolling) return noop;\n\n const timer = setTimeout(() => {\n setIsPolling(false);\n }, MAX_POLLING_TIME);\n\n return () => {\n clearTimeout(timer);\n };\n }, [isPolling]);\n\n return useQuery({\n queryKey: [APP_STICKY_RIBBONS_LIST],\n queryFn: async () => {\n const response = await stickyRibbonsApi.fetchStickyRibbons();\n\n if (response.status === 202) {\n setIsPolling(true);\n } else if (response.status === 200) {\n setIsPolling(false);\n }\n\n return response.data;\n },\n refetchInterval: isPolling ? POLLING_INTERVAL : false,\n });\n};\n\nexport { useFetchStickyRibbons };\n","import { dayjs } from \"neetocommons/v2/utils\";\n\nimport { DATE_TIME_FORMAT, VARIABLE_REGEX } from \"./constants\";\n\nconst dayTimeFormatter = timestamp =>\n // eslint-disable-next-line @bigbinary/neeto/use-standard-date-time-formats\n dayjs.utc(timestamp).local().format(DATE_TIME_FORMAT);\n\nexport const substituteVariables = (message, variables) =>\n message.replace(\n VARIABLE_REGEX,\n (match, chipKey, bareKey) => variables[chipKey ?? bareKey] ?? match\n );\n\nexport const formatMessageContent = ({ message, startsAt, endsAt }) =>\n substituteVariables(message, {\n starts_at: dayTimeFormatter(startsAt),\n ends_at: dayTimeFormatter(endsAt),\n });\n","import { useState } from \"react\";\n\nimport DOMPurify from \"dompurify\";\nimport { Button } from \"neetoatoms\";\nimport { useLocalStorage } from \"neetocommons/v2/react-utils\";\nimport { useErrorDisplayStore } from \"neetocommons/v2/react-utils/useDisplayErrorPage\";\nimport { pluck } from \"ramda\";\nimport { Trans } from \"react-i18next\";\n\nimport {\n SANITIZE_OPTIONS,\n STICKY_RIBBONS_LOCAL_STORAGE_KEY,\n} from \"./constants\";\nimport { useFetchStickyRibbons } from \"./useStickyRibbonsApi\";\nimport { formatMessageContent } from \"./utils\";\n\nimport StickyRibbon from \"../StickyRibbon\";\n\nconst sanitize = html => DOMPurify.sanitize(html, SANITIZE_OPTIONS);\n\nconst StickyRibbonsContainer = () => {\n const [isRefreshRibbonDismissed, setIsRefreshRibbonDismissed] =\n useState(false);\n\n const [dismissedRibbons, setDismissedRibbons] = useLocalStorage(\n STICKY_RIBBONS_LOCAL_STORAGE_KEY,\n []\n );\n\n const { showRefreshRibbon } = useErrorDisplayStore.pick();\n\n const { data } = useFetchStickyRibbons();\n const stickyRibbons = data?.stickyRibbons ?? [];\n\n const handleDismiss = ribbonId => {\n const validRibbonIds = pluck(\"id\", stickyRibbons);\n const updatedDismissedRibbons = dismissedRibbons.filter(id =>\n validRibbonIds.includes(id)\n );\n\n setDismissedRibbons([...updatedDismissedRibbons, ribbonId]);\n };\n\n const visibleRibbons = stickyRibbons.filter(\n ribbon => !dismissedRibbons.includes(ribbon.id)\n );\n\n return (\n <>\n {showRefreshRibbon && !isRefreshRibbonDismissed && (\n <StickyRibbon\n data-testid=\"refresh-sticky-ribbon\"\n kind=\"error\"\n onDismiss={() => setIsRefreshRibbonDismissed(true)}\n >\n <Trans\n i18nKey=\"neetoMolecules.stickyRibbonsContainer.refreshRibbon\"\n components={{\n button: (\n <Button\n data-testid=\"refresh-button\"\n variant=\"link\"\n onClick={() => window.location.reload()}\n />\n ),\n }}\n />\n </StickyRibbon>\n )}\n {visibleRibbons.map(({ id, kind, message, startsAt, endsAt }) => (\n <StickyRibbon\n {...{ kind }}\n data-testid=\"sticky-ribbon\"\n key={id}\n onDismiss={() => handleDismiss(id)}\n >\n <div\n className=\"neeto-editor-content neeto-editor-size--small\"\n dangerouslySetInnerHTML={{\n __html: sanitize(\n formatMessageContent({ message, startsAt, endsAt })\n ),\n }}\n />\n </StickyRibbon>\n ))}\n </>\n );\n};\n\nexport default StickyRibbonsContainer;\n"],"names":["QUERY_KEYS","APP_STICKY_RIBBONS_LIST","STICKY_RIBBONS_LOCAL_STORAGE_KEY","POLLING_INTERVAL","MAX_POLLING_TIME","DATE_TIME_FORMAT","VARIABLE_REGEX","SANITIZE_OPTIONS","ADD_ATTR","fetchStickyRibbons","axios","get","concat","BASE_API_V1_URL","includeMetadataInResponse","stickyRibbonsApi","e","t","r","Symbol","n","iterator","o","toStringTag","i","c","prototype","Generator","u","Object","create","_regeneratorDefine2","f","p","y","G","v","a","d","bind","length","l","TypeError","call","done","value","GeneratorFunction","GeneratorFunctionPrototype","getPrototypeOf","setPrototypeOf","__proto__","displayName","_regenerator","w","m","defineProperty","_regeneratorDefine","_invoke","enumerable","configurable","writable","useFetchStickyRibbons","_useState","useState","_useState2","_slicedToArray","isPolling","setIsPolling","useEffect","noop","timer","setTimeout","clearTimeout","useQuery","queryKey","queryFn","_queryFn","_asyncToGenerator","_callee","response","_context","status","data","apply","arguments","refetchInterval","dayTimeFormatter","timestamp","dayjs","utc","local","format","substituteVariables","message","variables","replace","match","chipKey","bareKey","_variables","formatMessageContent","_ref","startsAt","endsAt","starts_at","ends_at","sanitize","html","DOMPurify","StickyRibbonsContainer","_data$stickyRibbons","isRefreshRibbonDismissed","setIsRefreshRibbonDismissed","_useLocalStorage","useLocalStorage","_useLocalStorage2","dismissedRibbons","setDismissedRibbons","_useErrorDisplayStore","useErrorDisplayStore","useShallow","store","showRefreshRibbon","_useFetchStickyRibbon","stickyRibbons","handleDismiss","ribbonId","validRibbonIds","pluck","updatedDismissedRibbons","filter","id","includes","_toConsumableArray","visibleRibbons","ribbon","_jsxs","_Fragment","children","_jsx","StickyRibbon","kind","onDismiss","Trans","i18nKey","components","button","Button","variant","onClick","window","location","reload","map","_createElement","key","className","dangerouslySetInnerHTML","__html"],"mappings":"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"}
@@ -47,7 +47,7 @@ var Menu = function Menu(_ref) {
47
47
  };
48
48
  var Menu$1 = /*#__PURE__*/memo(Menu);
49
49
 
50
- var css = ":root{--neeto-molecules-status-color-open:9,90,186;--neeto-molecules-status-color-done:189,100,13;--neeto-molecules-status-color-waiting:47,57,65;--neeto-molecules-status-color-red:187,18,26;--neeto-molecules-status-color-yellow:255,204,112;--neeto-molecules-status-color-violet:157,98,162;--neeto-molecules-status-color-pink:225,62,230;--neeto-molecules-status-color-teal:38,87,124;--neeto-molecules-status-color-cyan:66,160,157;--neeto-molecules-status-color-green:16,113,84;--neeto-molecules-status-bg-open:226,241,255;--neeto-molecules-status-bg-done:250,241,225;--neeto-molecules-status-bg-waiting:233,235,237;--neeto-molecules-status-bg-red:254,236,240;--neeto-molecules-status-bg-yellow:255,247,233;--neeto-molecules-status-bg-violet:235,222,255;--neeto-molecules-status-bg-pink:254,233,255;--neeto-molecules-status-bg-teal:228,244,255;--neeto-molecules-status-bg-cyan:224,255,254;--neeto-molecules-status-bg-green:224,244,238}.dark{--neeto-molecules-status-color-open:144,194,255;--neeto-molecules-status-bg-open:24,42,66;--neeto-molecules-status-color-done:255,194,121;--neeto-molecules-status-bg-done:54,38,18;--neeto-molecules-status-color-waiting:255,255,255;--neeto-molecules-status-bg-waiting:16,24,40;--neeto-molecules-status-color-red:255,119,130;--neeto-molecules-status-bg-red:60,20,24;--neeto-molecules-status-color-yellow:255,221,138;--neeto-molecules-status-bg-yellow:60,48,20;--neeto-molecules-status-color-violet:218,170,255;--neeto-molecules-status-bg-violet:49,27,63;--neeto-molecules-status-color-pink:255,155,255;--neeto-molecules-status-bg-pink:56,30,60;--neeto-molecules-status-color-teal:139,205,255;--neeto-molecules-status-bg-teal:22,42,55;--neeto-molecules-status-color-cyan:130,255,247;--neeto-molecules-status-bg-cyan:14,49,48;--neeto-molecules-status-color-green:117,255,195;--neeto-molecules-status-bg-green:15,50,36}.status-dropdown-target--cyan,.status-dropdown-target--done,.status-dropdown-target--green,.status-dropdown-target--open,.status-dropdown-target--pink,.status-dropdown-target--red,.status-dropdown-target--teal,.status-dropdown-target--violet,.status-dropdown-target--waiting,.status-dropdown-target--yellow{background-color:rgb(var(--status-target-bg));color:rgb(var(--status-target-color))}.status-dropdown-target--open{--status-target-color:var(--neeto-molecules-status-color-open);--status-target-bg:var(--neeto-molecules-status-bg-open)}.status-dropdown-target--done{--status-target-color:var(--neeto-molecules-status-color-done);--status-target-bg:var(--neeto-molecules-status-bg-done)}.status-dropdown-target--waiting{--status-target-color:var(--neeto-molecules-status-color-waiting);--status-target-bg:var(--neeto-molecules-status-bg-waiting)}.status-dropdown-target--red{--status-target-color:var(--neeto-molecules-status-color-red);--status-target-bg:var(--neeto-molecules-status-bg-red)}.status-dropdown-target--yellow{--status-target-color:var(--neeto-molecules-status-color-yellow);--status-target-bg:var(--neeto-molecules-status-bg-yellow)}.status-dropdown-target--violet{--status-target-color:var(--neeto-molecules-status-color-violet);--status-target-bg:var(--neeto-molecules-status-bg-violet)}.status-dropdown-target--pink{--status-target-color:var(--neeto-molecules-status-color-pink);--status-target-bg:var(--neeto-molecules-status-bg-pink)}.status-dropdown-target--teal{--status-target-color:var(--neeto-molecules-status-color-teal);--status-target-bg:var(--neeto-molecules-status-bg-teal)}.status-dropdown-target--cyan{--status-target-color:var(--neeto-molecules-status-color-cyan);--status-target-bg:var(--neeto-molecules-status-bg-cyan)}.status-dropdown-target--green{--status-target-color:var(--neeto-molecules-status-color-green);--status-target-bg:var(--neeto-molecules-status-bg-green)}.status-dropdown-item--open,.status-dropdown-item--open *{color:#095aba!important;color:rgb(var(--neeto-molecules-status-color-open))!important}.status-dropdown-item--done,.status-dropdown-item--done *{color:#bd640d!important;color:rgb(var(--neeto-molecules-status-color-done))!important}.status-dropdown-item--waiting,.status-dropdown-item--waiting *{color:#2f3941!important;color:rgb(var(--neeto-molecules-status-color-waiting))!important}.status-dropdown-item--red,.status-dropdown-item--red *{color:#bb121a!important;color:rgb(var(--neeto-molecules-status-color-red))!important}.status-dropdown-item--yellow,.status-dropdown-item--yellow *{color:#ffcc70!important;color:rgb(var(--neeto-molecules-status-color-yellow))!important}.status-dropdown-item--violet,.status-dropdown-item--violet *{color:#9d62a2!important;color:rgb(var(--neeto-molecules-status-color-violet))!important}.status-dropdown-item--pink,.status-dropdown-item--pink *{color:#e13ee6!important;color:rgb(var(--neeto-molecules-status-color-pink))!important}.status-dropdown-item--teal,.status-dropdown-item--teal *{color:#26577c!important;color:rgb(var(--neeto-molecules-status-color-teal))!important}.status-dropdown-item--cyan,.status-dropdown-item--cyan *{color:#42a09d!important;color:rgb(var(--neeto-molecules-status-color-cyan))!important}.status-dropdown-item--green,.status-dropdown-item--green *{color:#107154!important;color:rgb(var(--neeto-molecules-status-color-green))!important}";
50
+ var css = ":root{--neeto-molecules-status-color-open:9,90,186;--neeto-molecules-status-color-done:189,100,13;--neeto-molecules-status-color-waiting:47,57,65;--neeto-molecules-status-color-red:187,18,26;--neeto-molecules-status-color-yellow:138,109,0;--neeto-molecules-status-color-violet:157,98,162;--neeto-molecules-status-color-pink:225,62,230;--neeto-molecules-status-color-teal:38,87,124;--neeto-molecules-status-color-cyan:66,160,157;--neeto-molecules-status-color-green:16,113,84;--neeto-molecules-status-bg-open:226,241,255;--neeto-molecules-status-bg-done:250,241,225;--neeto-molecules-status-bg-waiting:233,235,237;--neeto-molecules-status-bg-red:254,236,240;--neeto-molecules-status-bg-yellow:255,247,233;--neeto-molecules-status-bg-violet:235,222,255;--neeto-molecules-status-bg-pink:254,233,255;--neeto-molecules-status-bg-teal:228,244,255;--neeto-molecules-status-bg-cyan:224,255,254;--neeto-molecules-status-bg-green:224,244,238}.dark{--neeto-molecules-status-color-open:144,194,255;--neeto-molecules-status-bg-open:24,42,66;--neeto-molecules-status-color-done:255,194,121;--neeto-molecules-status-bg-done:54,38,18;--neeto-molecules-status-color-waiting:255,255,255;--neeto-molecules-status-bg-waiting:16,24,40;--neeto-molecules-status-color-red:255,119,130;--neeto-molecules-status-bg-red:60,20,24;--neeto-molecules-status-color-yellow:255,221,138;--neeto-molecules-status-bg-yellow:60,48,20;--neeto-molecules-status-color-violet:218,170,255;--neeto-molecules-status-bg-violet:49,27,63;--neeto-molecules-status-color-pink:255,155,255;--neeto-molecules-status-bg-pink:56,30,60;--neeto-molecules-status-color-teal:139,205,255;--neeto-molecules-status-bg-teal:22,42,55;--neeto-molecules-status-color-cyan:130,255,247;--neeto-molecules-status-bg-cyan:14,49,48;--neeto-molecules-status-color-green:117,255,195;--neeto-molecules-status-bg-green:15,50,36}.status-dropdown-target--cyan,.status-dropdown-target--done,.status-dropdown-target--green,.status-dropdown-target--open,.status-dropdown-target--pink,.status-dropdown-target--red,.status-dropdown-target--teal,.status-dropdown-target--violet,.status-dropdown-target--waiting,.status-dropdown-target--yellow{background-color:rgb(var(--status-target-bg));color:rgb(var(--status-target-color))}.status-dropdown-target--open{--status-target-color:var(--neeto-molecules-status-color-open);--status-target-bg:var(--neeto-molecules-status-bg-open)}.status-dropdown-target--done{--status-target-color:var(--neeto-molecules-status-color-done);--status-target-bg:var(--neeto-molecules-status-bg-done)}.status-dropdown-target--waiting{--status-target-color:var(--neeto-molecules-status-color-waiting);--status-target-bg:var(--neeto-molecules-status-bg-waiting)}.status-dropdown-target--red{--status-target-color:var(--neeto-molecules-status-color-red);--status-target-bg:var(--neeto-molecules-status-bg-red)}.status-dropdown-target--yellow{--status-target-color:var(--neeto-molecules-status-color-yellow);--status-target-bg:var(--neeto-molecules-status-bg-yellow)}.status-dropdown-target--violet{--status-target-color:var(--neeto-molecules-status-color-violet);--status-target-bg:var(--neeto-molecules-status-bg-violet)}.status-dropdown-target--pink{--status-target-color:var(--neeto-molecules-status-color-pink);--status-target-bg:var(--neeto-molecules-status-bg-pink)}.status-dropdown-target--teal{--status-target-color:var(--neeto-molecules-status-color-teal);--status-target-bg:var(--neeto-molecules-status-bg-teal)}.status-dropdown-target--cyan{--status-target-color:var(--neeto-molecules-status-color-cyan);--status-target-bg:var(--neeto-molecules-status-bg-cyan)}.status-dropdown-target--green{--status-target-color:var(--neeto-molecules-status-color-green);--status-target-bg:var(--neeto-molecules-status-bg-green)}.status-dropdown-item--open,.status-dropdown-item--open *{color:#095aba!important;color:rgb(var(--neeto-molecules-status-color-open))!important}.status-dropdown-item--done,.status-dropdown-item--done *{color:#bd640d!important;color:rgb(var(--neeto-molecules-status-color-done))!important}.status-dropdown-item--waiting,.status-dropdown-item--waiting *{color:#2f3941!important;color:rgb(var(--neeto-molecules-status-color-waiting))!important}.status-dropdown-item--red,.status-dropdown-item--red *{color:#bb121a!important;color:rgb(var(--neeto-molecules-status-color-red))!important}.status-dropdown-item--yellow,.status-dropdown-item--yellow *{color:#8a6d00!important;color:rgb(var(--neeto-molecules-status-color-yellow))!important}.status-dropdown-item--violet,.status-dropdown-item--violet *{color:#9d62a2!important;color:rgb(var(--neeto-molecules-status-color-violet))!important}.status-dropdown-item--pink,.status-dropdown-item--pink *{color:#e13ee6!important;color:rgb(var(--neeto-molecules-status-color-pink))!important}.status-dropdown-item--teal,.status-dropdown-item--teal *{color:#26577c!important;color:rgb(var(--neeto-molecules-status-color-teal))!important}.status-dropdown-item--cyan,.status-dropdown-item--cyan *{color:#42a09d!important;color:rgb(var(--neeto-molecules-status-color-cyan))!important}.status-dropdown-item--green,.status-dropdown-item--green *{color:#107154!important;color:rgb(var(--neeto-molecules-status-color-green))!important}";
51
51
  n(css,{});
52
52
 
53
53
  var _excluded = ["color", "value", "label", "dataTestid", "isClearable", "onClear", "placeholder"];
@@ -64,7 +64,7 @@ var Target = /*#__PURE__*/forwardRef(function (_ref, ref) {
64
64
  otherProps = _objectWithoutProperties(_ref, _excluded);
65
65
  var _useTranslation = useTranslation(),
66
66
  t = _useTranslation.t;
67
- var targetClassName = "pointer-events-auto rounded-sm inline-flex items-center gap-2 cursor-pointer py-0.5 px-2 status-dropdown-target--".concat(color || "waiting");
67
+ var targetClassName = "pointer-events-auto rounded-md inline-flex items-center gap-2 cursor-pointer py-1 px-2.5 status-dropdown-target--".concat(color || "waiting");
68
68
  var isOptionSelected = !isNil(value);
69
69
  var handleClearClick = function handleClearClick(event) {
70
70
  onClear();
@@ -1 +1 @@
1
- {"version":3,"file":"StatusDropdown.js","sources":["../../src/v2/components/StatusDropdown/constants.js","../../src/v2/components/StatusDropdown/Menu.jsx","../../src/v2/components/StatusDropdown/Target.jsx","../../src/v2/components/StatusDropdown/index.jsx"],"sourcesContent":["export const ICON_SIZE = 16;\n","import { memo } from \"react\";\n\nimport { DropdownMenu } from \"@bigbinary/neeto-atoms\";\nimport { Check } from \"lucide-react\";\nimport { hyphenate, isPresent } from \"neetocist\";\nimport PropTypes from \"prop-types\";\n\nimport { ICON_SIZE } from \"./constants.js\";\n\nconst Menu = ({\n onItemClick,\n options,\n selectedValue = null,\n shouldShowAllOptions = false,\n hiddenStatuses = [],\n}) => {\n const allowedOptions = shouldShowAllOptions\n ? options\n : options.filter(status => !hiddenStatuses.includes(status.value));\n\n return (\n <div className=\"flex w-full flex-col gap-y-0.5\">\n {allowedOptions?.map(option => {\n const isSelected =\n isPresent(selectedValue) && option.value === selectedValue;\n\n return (\n <DropdownMenu.MenuItem\n className={`status-dropdown-item--${option.color}`}\n data-testid={`status-dropdown-item-${hyphenate(option.value)}`}\n isActive={isSelected}\n key={option.value}\n suffix={isSelected && <Check size={ICON_SIZE} />}\n onClick={() => onItemClick(option)}\n >\n {option.label}\n </DropdownMenu.MenuItem>\n );\n })}\n </div>\n );\n};\n\nMenu.propTypes = {\n /**\n * Statuses to be hidden when shouldShowAllOptions is false.\n */\n hiddenStatuses: PropTypes.array,\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 * The selected value; the matching option gets the active state and check.\n */\n selectedValue: PropTypes.string,\n /**\n * This prop will decide whether all options should be shown or not.\n */\n shouldShowAllOptions: PropTypes.bool,\n};\n\nexport default memo(Menu);\n","import { forwardRef } from \"react\";\n\nimport { Typography } from \"@bigbinary/neeto-atoms\";\nimport { ChevronDown, X } from \"lucide-react\";\nimport { isPresent } from \"neetocist\";\nimport PropTypes from \"prop-types\";\nimport { isNil } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { ICON_SIZE } from \"./constants.js\";\n\nconst Target = forwardRef(\n (\n {\n color,\n value,\n label,\n dataTestid,\n isClearable,\n onClear,\n placeholder,\n ...otherProps\n },\n ref\n ) => {\n const { t } = useTranslation();\n const targetClassName = `pointer-events-auto 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 {...{ ref, ...otherProps }}\n aria-haspopup=\"listbox\"\n className={targetClassName}\n data-testid={isPresent(dataTestid) ? dataTestid : \"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\" variant=\"body2\" weight=\"medium\">\n {label}\n </Typography>\n ) : (\n <Typography className=\"text-muted-foreground inline\" variant=\"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-testid=\"status-dropdown-clear-button\"\n role=\"button\"\n tabIndex={0}\n onClick={handleClearClick}\n onKeyDown={handleClearKeyDown}\n >\n <X size={ICON_SIZE} />\n </span>\n )}\n <ChevronDown aria-hidden=\"true\" size={ICON_SIZE} />\n </span>\n </button>\n );\n }\n);\n\nTarget.displayName = \"Target\";\n\nTarget.propTypes = {\n /**\n * Color key of the selected option, mapped to the status color classes.\n */\n color: PropTypes.string,\n /**\n * data-testid for the target button.\n */\n dataTestid: PropTypes.string,\n /**\n * This prop will decide whether the clear button is shown.\n */\n isClearable: PropTypes.bool,\n /**\n * Label of the selected option.\n */\n label: PropTypes.string,\n /**\n * Function to be called when the clear button is clicked.\n */\n onClear: PropTypes.func,\n /**\n * Placeholder shown when no option is selected.\n */\n placeholder: PropTypes.string,\n /**\n * Value of the selected option.\n */\n value: PropTypes.string,\n};\n\nexport default Target;\n","import { DropdownMenu, Spinner } from \"@bigbinary/neeto-atoms\";\nimport { _findBy, noop } from \"neetocist\";\nimport PropTypes from \"prop-types\";\n\nimport Menu from \"./Menu\";\nimport \"./status-dropdown.css\";\nimport Target from \"./Target\";\n\nconst StatusDropdown = ({\n className = \"w-full\",\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 dataTestid = \"status-dropdown\",\n}) => {\n const selectedOption = _findBy({ value: selectedValue }, options);\n\n return (\n <DropdownMenu\n {...{ disabled }}\n position=\"bottom-end\"\n customTarget={\n // The wrapper is the popper anchor: full row width by default so the\n // menu aligns with the row end like the other metadata dropdowns,\n // while the colored chip inside keeps its intrinsic width. The\n // wrapper ignores pointer events so only the chip is clickable —\n // Radix's trigger handlers live on the wrapper and still fire when\n // chip clicks bubble up.\n <div className={`pointer-events-none ${className}`}>\n <Target\n label={selectedValue}\n {...{\n ...selectedOption,\n dataTestid,\n isClearable,\n onClear,\n placeholder,\n }}\n />\n </div>\n }\n dropdownProps={{\n className: \"w-64\",\n collisionPadding: 8,\n \"data-testid\": \"status-dropdown-menu\",\n }}\n >\n {isLoading ? (\n <div className=\"flex w-full items-center justify-center py-8\">\n <Spinner />\n </div>\n ) : (\n <Menu\n {...{\n hiddenStatuses,\n onItemClick,\n options,\n selectedValue,\n shouldShowAllOptions,\n }}\n />\n )}\n </DropdownMenu>\n );\n};\n\nStatusDropdown.Menu = Menu;\n\nStatusDropdown.propTypes = {\n /**\n * External classNames for the target wrapper, which anchors the menu.\n * Defaults to `w-full` so the menu aligns with the row end like the other\n * metadata-pane dropdowns.\n */\n className: PropTypes.string,\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 * data-testid for the target button.\n */\n dataTestid: PropTypes.string,\n};\n\nexport default StatusDropdown;\n"],"names":["ICON_SIZE","Menu","_ref","onItemClick","options","_ref$selectedValue","selectedValue","_ref$shouldShowAllOpt","shouldShowAllOptions","_ref$hiddenStatuses","hiddenStatuses","allowedOptions","filter","status","includes","value","_jsx","className","children","map","option","isSelected","isPresent","DropdownMenu","MenuItem","concat","color","hyphenate","isActive","suffix","Check","size","onClick","label","memo","Target","forwardRef","ref","dataTestid","isClearable","onClear","placeholder","otherProps","_objectWithoutProperties","_excluded","_useTranslation","useTranslation","t","targetClassName","isOptionSelected","isNil","handleClearClick","event","stopPropagation","handleClearKeyDown","key","preventDefault","_jsxs","_objectSpread","type","Typography","variant","weight","role","tabIndex","onKeyDown","X","ChevronDown","displayName","StatusDropdown","_ref$className","_ref$disabled","disabled","_ref$isLoading","isLoading","_ref$placeholder","_ref$isClearable","_ref$onClear","noop","_ref$dataTestid","selectedOption","_findBy","position","customTarget","dropdownProps","collisionPadding","Spinner"],"mappings":"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"}
1
+ {"version":3,"file":"StatusDropdown.js","sources":["../../src/v2/components/StatusDropdown/constants.js","../../src/v2/components/StatusDropdown/Menu.jsx","../../src/v2/components/StatusDropdown/Target.jsx","../../src/v2/components/StatusDropdown/index.jsx"],"sourcesContent":["export const ICON_SIZE = 16;\n","import { memo } from \"react\";\n\nimport { DropdownMenu } from \"@bigbinary/neeto-atoms\";\nimport { Check } from \"lucide-react\";\nimport { hyphenate, isPresent } from \"neetocist\";\nimport PropTypes from \"prop-types\";\n\nimport { ICON_SIZE } from \"./constants.js\";\n\nconst Menu = ({\n onItemClick,\n options,\n selectedValue = null,\n shouldShowAllOptions = false,\n hiddenStatuses = [],\n}) => {\n const allowedOptions = shouldShowAllOptions\n ? options\n : options.filter(status => !hiddenStatuses.includes(status.value));\n\n return (\n <div className=\"flex w-full flex-col gap-y-0.5\">\n {allowedOptions?.map(option => {\n const isSelected =\n isPresent(selectedValue) && option.value === selectedValue;\n\n return (\n <DropdownMenu.MenuItem\n className={`status-dropdown-item--${option.color}`}\n data-testid={`status-dropdown-item-${hyphenate(option.value)}`}\n isActive={isSelected}\n key={option.value}\n suffix={isSelected && <Check size={ICON_SIZE} />}\n onClick={() => onItemClick(option)}\n >\n {option.label}\n </DropdownMenu.MenuItem>\n );\n })}\n </div>\n );\n};\n\nMenu.propTypes = {\n /**\n * Statuses to be hidden when shouldShowAllOptions is false.\n */\n hiddenStatuses: PropTypes.array,\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 * The selected value; the matching option gets the active state and check.\n */\n selectedValue: PropTypes.string,\n /**\n * This prop will decide whether all options should be shown or not.\n */\n shouldShowAllOptions: PropTypes.bool,\n};\n\nexport default memo(Menu);\n","import { forwardRef } from \"react\";\n\nimport { ChevronDown, X } from \"lucide-react\";\nimport { Typography } from \"neetoatoms\";\nimport { isPresent } from \"neetocist\";\nimport PropTypes from \"prop-types\";\nimport { isNil } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { ICON_SIZE } from \"./constants.js\";\n\nconst Target = forwardRef(\n (\n {\n color,\n value,\n label,\n dataTestid,\n isClearable,\n onClear,\n placeholder,\n ...otherProps\n },\n ref\n ) => {\n const { t } = useTranslation();\n const targetClassName = `pointer-events-auto rounded-md inline-flex items-center gap-2 cursor-pointer py-1 px-2.5 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 {...{ ref, ...otherProps }}\n aria-haspopup=\"listbox\"\n className={targetClassName}\n data-testid={isPresent(dataTestid) ? dataTestid : \"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\" variant=\"body2\" weight=\"medium\">\n {label}\n </Typography>\n ) : (\n <Typography className=\"text-muted-foreground inline\" variant=\"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-testid=\"status-dropdown-clear-button\"\n role=\"button\"\n tabIndex={0}\n onClick={handleClearClick}\n onKeyDown={handleClearKeyDown}\n >\n <X size={ICON_SIZE} />\n </span>\n )}\n <ChevronDown aria-hidden=\"true\" size={ICON_SIZE} />\n </span>\n </button>\n );\n }\n);\n\nTarget.displayName = \"Target\";\n\nTarget.propTypes = {\n /**\n * Color key of the selected option, mapped to the status color classes.\n */\n color: PropTypes.string,\n /**\n * data-testid for the target button.\n */\n dataTestid: PropTypes.string,\n /**\n * This prop will decide whether the clear button is shown.\n */\n isClearable: PropTypes.bool,\n /**\n * Label of the selected option.\n */\n label: PropTypes.string,\n /**\n * Function to be called when the clear button is clicked.\n */\n onClear: PropTypes.func,\n /**\n * Placeholder shown when no option is selected.\n */\n placeholder: PropTypes.string,\n /**\n * Value of the selected option.\n */\n value: PropTypes.string,\n};\n\nexport default Target;\n","import { DropdownMenu, Spinner } from \"@bigbinary/neeto-atoms\";\nimport { _findBy, noop } from \"neetocist\";\nimport PropTypes from \"prop-types\";\n\nimport Menu from \"./Menu\";\nimport \"./status-dropdown.css\";\nimport Target from \"./Target\";\n\nconst StatusDropdown = ({\n className = \"w-full\",\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 dataTestid = \"status-dropdown\",\n}) => {\n const selectedOption = _findBy({ value: selectedValue }, options);\n\n return (\n <DropdownMenu\n {...{ disabled }}\n position=\"bottom-end\"\n customTarget={\n // The wrapper is the popper anchor: full row width by default so the\n // menu aligns with the row end like the other metadata dropdowns,\n // while the colored chip inside keeps its intrinsic width. The\n // wrapper ignores pointer events so only the chip is clickable —\n // Radix's trigger handlers live on the wrapper and still fire when\n // chip clicks bubble up.\n <div className={`pointer-events-none ${className}`}>\n <Target\n label={selectedValue}\n {...{\n ...selectedOption,\n dataTestid,\n isClearable,\n onClear,\n placeholder,\n }}\n />\n </div>\n }\n dropdownProps={{\n className: \"w-64\",\n collisionPadding: 8,\n \"data-testid\": \"status-dropdown-menu\",\n }}\n >\n {isLoading ? (\n <div className=\"flex w-full items-center justify-center py-8\">\n <Spinner />\n </div>\n ) : (\n <Menu\n {...{\n hiddenStatuses,\n onItemClick,\n options,\n selectedValue,\n shouldShowAllOptions,\n }}\n />\n )}\n </DropdownMenu>\n );\n};\n\nStatusDropdown.Menu = Menu;\n\nStatusDropdown.propTypes = {\n /**\n * External classNames for the target wrapper, which anchors the menu.\n * Defaults to `w-full` so the menu aligns with the row end like the other\n * metadata-pane dropdowns.\n */\n className: PropTypes.string,\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 * data-testid for the target button.\n */\n dataTestid: PropTypes.string,\n};\n\nexport default StatusDropdown;\n"],"names":["ICON_SIZE","Menu","_ref","onItemClick","options","_ref$selectedValue","selectedValue","_ref$shouldShowAllOpt","shouldShowAllOptions","_ref$hiddenStatuses","hiddenStatuses","allowedOptions","filter","status","includes","value","_jsx","className","children","map","option","isSelected","isPresent","DropdownMenu","MenuItem","concat","color","hyphenate","isActive","suffix","Check","size","onClick","label","memo","Target","forwardRef","ref","dataTestid","isClearable","onClear","placeholder","otherProps","_objectWithoutProperties","_excluded","_useTranslation","useTranslation","t","targetClassName","isOptionSelected","isNil","handleClearClick","event","stopPropagation","handleClearKeyDown","key","preventDefault","_jsxs","_objectSpread","type","Typography","variant","weight","role","tabIndex","onKeyDown","X","ChevronDown","displayName","StatusDropdown","_ref$className","_ref$disabled","disabled","_ref$isLoading","isLoading","_ref$placeholder","_ref$isClearable","_ref$onClear","noop","_ref$dataTestid","selectedOption","_findBy","position","customTarget","dropdownProps","collisionPadding","Spinner"],"mappings":"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"}
@@ -0,0 +1,61 @@
1
+ import _defineProperty from '@babel/runtime/helpers/defineProperty';
2
+ import _objectWithoutProperties from '@babel/runtime/helpers/objectWithoutProperties';
3
+ import classnames from 'classnames';
4
+ import { Alert, AlertDescription, AlertAction } from '@bigbinary/neeto-atoms/primitives';
5
+ import { jsxs, jsx } from 'react/jsx-runtime';
6
+ import { X } from '../x-DcQBAC3X.js';
7
+ import '../createLucideIcon--oLqczpc.js';
8
+ import 'react';
9
+
10
+ var RIBBON_KIND_CONFIG = {
11
+ info: {
12
+ container: "border-info-border bg-info text-info-foreground",
13
+ role: "status"
14
+ },
15
+ warning: {
16
+ container: "border-warning-border bg-warning text-warning-foreground",
17
+ role: "status"
18
+ },
19
+ error: {
20
+ container: "border-error-border bg-error text-error-foreground",
21
+ role: "alert"
22
+ }
23
+ };
24
+
25
+ var _excluded = ["kind", "onDismiss", "children", "className"];
26
+ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
27
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), true).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
28
+ var StickyRibbon = function StickyRibbon(_ref) {
29
+ var _RIBBON_KIND_CONFIG$k;
30
+ var _ref$kind = _ref.kind,
31
+ kind = _ref$kind === void 0 ? "info" : _ref$kind,
32
+ onDismiss = _ref.onDismiss,
33
+ children = _ref.children,
34
+ className = _ref.className,
35
+ rest = _objectWithoutProperties(_ref, _excluded);
36
+ var _ref2 = (_RIBBON_KIND_CONFIG$k = RIBBON_KIND_CONFIG[kind]) !== null && _RIBBON_KIND_CONFIG$k !== void 0 ? _RIBBON_KIND_CONFIG$k : RIBBON_KIND_CONFIG.info,
37
+ container = _ref2.container,
38
+ role = _ref2.role;
39
+ return /*#__PURE__*/jsxs(Alert, _objectSpread(_objectSpread({
40
+ role: role,
41
+ className: classnames(container, "relative z-50 rounded-none border-x-0 px-12 py-2.5", className)
42
+ }, rest), {}, {
43
+ children: [/*#__PURE__*/jsx(AlertDescription, {
44
+ className: "text-center text-current",
45
+ children: children
46
+ }), onDismiss && /*#__PURE__*/jsx(AlertAction, {
47
+ children: /*#__PURE__*/jsx("button", {
48
+ "aria-label": "Dismiss",
49
+ className: "focus-visible:ring-ring rounded-sm p-0.5 transition-colors hover:bg-current/10 focus-visible:ring-2 focus-visible:outline-none",
50
+ type: "button",
51
+ onClick: onDismiss,
52
+ children: /*#__PURE__*/jsx(X, {
53
+ className: "size-4"
54
+ })
55
+ })
56
+ })]
57
+ }));
58
+ };
59
+
60
+ export { StickyRibbon as default };
61
+ //# sourceMappingURL=StickyRibbon.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"StickyRibbon.js","sources":["../../src/v2/components/StickyRibbon/constants.js","../../src/v2/components/StickyRibbon/index.jsx"],"sourcesContent":["export const RIBBON_KIND_CONFIG = {\n info: {\n container: \"border-info-border bg-info text-info-foreground\",\n role: \"status\",\n },\n warning: {\n container: \"border-warning-border bg-warning text-warning-foreground\",\n role: \"status\",\n },\n error: {\n container: \"border-error-border bg-error text-error-foreground\",\n role: \"alert\",\n },\n};\n","import classnames from \"classnames\";\nimport { X } from \"lucide-react\";\nimport { Alert, AlertAction, AlertDescription } from \"neetoatoms/primitives\";\n\nimport { RIBBON_KIND_CONFIG } from \"./constants\";\n\n/**\n *\n * A single, full-width sticky ribbon. Used internally by `StickyRibbonsContainer`\n *\n * for NeetoTower / refresh ribbons, and exported so applications can render their\n *\n * own sticky ribbons (integration notices, payment reconnection, etc.) with the\n *\n * exact same look. Renders an `Alert` coloured by `kind`, a centered message and\n *\n * an optional dismiss button.\n *\n * @example\n *\n * import StickyRibbon from \"@bigbinary/neeto-molecules/v2/StickyRibbon\";\n *\n * <StickyRibbon kind=\"warning\" onDismiss={handleDismiss}>\n * Payments are disabled. <Button label=\"Fix now\" to={path} variant=\"link\" />\n * </StickyRibbon>\n * @endexample\n */\nconst StickyRibbon = ({\n kind = \"info\",\n onDismiss,\n children,\n className,\n ...rest\n}) => {\n const { container, role } =\n RIBBON_KIND_CONFIG[kind] ?? RIBBON_KIND_CONFIG.info;\n\n return (\n <Alert\n {...{ role }}\n className={classnames(\n container,\n \"relative z-50 rounded-none border-x-0 px-12 py-2.5\",\n className\n )}\n {...rest}\n >\n <AlertDescription className=\"text-center text-current\">\n {children}\n </AlertDescription>\n {onDismiss && (\n <AlertAction>\n <button\n aria-label=\"Dismiss\"\n className=\"focus-visible:ring-ring rounded-sm p-0.5 transition-colors hover:bg-current/10 focus-visible:ring-2 focus-visible:outline-none\"\n type=\"button\"\n onClick={onDismiss}\n >\n <X className=\"size-4\" />\n </button>\n </AlertAction>\n )}\n </Alert>\n );\n};\n\nexport default StickyRibbon;\n"],"names":["RIBBON_KIND_CONFIG","info","container","role","warning","error","StickyRibbon","_ref","_RIBBON_KIND_CONFIG$k","_ref$kind","kind","onDismiss","children","className","rest","_objectWithoutProperties","_excluded","_ref2","_jsxs","Alert","_objectSpread","classnames","_jsx","AlertDescription","AlertAction","type","onClick","X"],"mappings":";;;;;;;;;AAAO,IAAMA,kBAAkB,GAAG;AAChCC,EAAAA,IAAI,EAAE;AACJC,IAAAA,SAAS,EAAE,iDAAiD;AAC5DC,IAAAA,IAAI,EAAE;GACP;AACDC,EAAAA,OAAO,EAAE;AACPF,IAAAA,SAAS,EAAE,0DAA0D;AACrEC,IAAAA,IAAI,EAAE;GACP;AACDE,EAAAA,KAAK,EAAE;AACLH,IAAAA,SAAS,EAAE,oDAAoD;AAC/DC,IAAAA,IAAI,EAAE;AACR;AACF,CAAC;;;;;ACcD,IAAMG,YAAY,GAAG,SAAfA,YAAYA,CAAAC,IAAA,EAMZ;AAAA,EAAA,IAAAC,qBAAA;AAAA,EAAA,IAAAC,SAAA,GAAAF,IAAA,CALJG,IAAI;AAAJA,IAAAA,IAAI,GAAAD,SAAA,KAAA,MAAA,GAAG,MAAM,GAAAA,SAAA;IACbE,SAAS,GAAAJ,IAAA,CAATI,SAAS;IACTC,QAAQ,GAAAL,IAAA,CAARK,QAAQ;IACRC,SAAS,GAAAN,IAAA,CAATM,SAAS;AACNC,IAAAA,IAAI,GAAAC,wBAAA,CAAAR,IAAA,EAAAS,SAAA,CAAA;AAEP,EAAA,IAAAC,KAAA,GAAA,CAAAT,qBAAA,GACER,kBAAkB,CAACU,IAAI,CAAC,MAAA,IAAA,IAAAF,qBAAA,KAAA,MAAA,GAAAA,qBAAA,GAAIR,kBAAkB,CAACC,IAAI;IAD7CC,SAAS,GAAAe,KAAA,CAATf,SAAS;IAAEC,IAAI,GAAAc,KAAA,CAAJd,IAAI;AAGvB,EAAA,oBACEe,IAAA,CAACC,KAAK,EAAAC,aAAA,CAAAA,aAAA,CAAA;AACEjB,IAAAA,IAAI,EAAJA,IAAI;AACVU,IAAAA,SAAS,EAAEQ,UAAU,CACnBnB,SAAS,EACT,oDAAoD,EACpDW,SACF;AAAE,GAAA,EACEC,IAAI,CAAA,EAAA,EAAA,EAAA;IAAAF,QAAA,EAAA,cAERU,GAAA,CAACC,gBAAgB,EAAA;AAACV,MAAAA,SAAS,EAAC,0BAA0B;AAAAD,MAAAA,QAAA,EACnDA;AAAQ,KACO,CAAC,EAClBD,SAAS,iBACRW,GAAA,CAACE,WAAW,EAAA;AAAAZ,MAAAA,QAAA,eACVU,GAAA,CAAA,QAAA,EAAA;AACE,QAAA,YAAA,EAAW,SAAS;AACpBT,QAAAA,SAAS,EAAC,gIAAgI;AAC1IY,QAAAA,IAAI,EAAC,QAAQ;AACbC,QAAAA,OAAO,EAAEf,SAAU;QAAAC,QAAA,eAEnBU,GAAA,CAACK,CAAC,EAAA;AAACd,UAAAA,SAAS,EAAC;SAAU;OACjB;AAAC,KACE,CACd;AAAA,GAAA,CACI,CAAC;AAEZ;;;;"}
@@ -2,24 +2,25 @@ import _toConsumableArray from '@babel/runtime/helpers/toConsumableArray';
2
2
  import _slicedToArray from '@babel/runtime/helpers/slicedToArray';
3
3
  import { useShallow } from 'zustand/shallow';
4
4
  import { useState, useEffect, createElement } from 'react';
5
- import { Button } from '@bigbinary/neeto-atoms';
6
5
  import { p as purify } from '../purify.es-_duHfPgC.js';
6
+ import { Button } from '@bigbinary/neeto-atoms';
7
7
  import { useLocalStorage } from '@bigbinary/neeto-commons-frontend/v2/react-utils';
8
8
  import { useErrorDisplayStore } from '@bigbinary/neeto-commons-frontend/v2/react-utils/useDisplayErrorPage';
9
9
  import { pluck } from 'ramda';
10
10
  import { Trans } from 'react-i18next';
11
- import _defineProperty from '@babel/runtime/helpers/defineProperty';
12
- import _objectWithoutProperties from '@babel/runtime/helpers/objectWithoutProperties';
13
- import { Alert, AlertDescription, AlertAction } from '@bigbinary/neeto-atoms/primitives';
14
- import classnames from 'classnames';
15
- import { jsxs, jsx, Fragment } from 'react/jsx-runtime';
16
- import { X } from '../x-DcQBAC3X.js';
17
11
  import _asyncToGenerator from '@babel/runtime/helpers/asyncToGenerator';
18
12
  import { useQuery } from '@tanstack/react-query';
19
13
  import { noop } from '@bigbinary/neeto-cist';
20
14
  import axios from 'axios';
21
15
  import { BASE_API_V1_URL } from '@bigbinary/neeto-commons-frontend/v2/constants';
22
16
  import { dayjs } from '@bigbinary/neeto-commons-frontend/v2/utils';
17
+ import StickyRibbon from './StickyRibbon.js';
18
+ import { jsxs, Fragment, jsx } from 'react/jsx-runtime';
19
+ import '@babel/runtime/helpers/defineProperty';
20
+ import '@babel/runtime/helpers/objectWithoutProperties';
21
+ import 'classnames';
22
+ import '@bigbinary/neeto-atoms/primitives';
23
+ import '../x-DcQBAC3X.js';
23
24
  import '../createLucideIcon--oLqczpc.js';
24
25
 
25
26
  var QUERY_KEYS = {
@@ -29,60 +30,11 @@ var STICKY_RIBBONS_LOCAL_STORAGE_KEY = "dismissedStickyRibbons";
29
30
  var POLLING_INTERVAL = 5000;
30
31
  var MAX_POLLING_TIME = 60000;
31
32
  var DATE_TIME_FORMAT = "MMMM D h:mm A z";
32
- var RIBBON_KIND_CONFIG = {
33
- info: {
34
- container: "border-info-border bg-info text-info-foreground",
35
- role: "status"
36
- },
37
- warning: {
38
- container: "border-warning-border bg-warning text-warning-foreground",
39
- role: "status"
40
- },
41
- error: {
42
- container: "border-error-border bg-error text-error-foreground",
43
- role: "alert"
44
- }
45
- };
46
33
  var VARIABLE_REGEX = /<span[^>]*data-variable[^>]*>\s*{{\s*([\w.]+)\s*}}\s*<\/span>|{{\s*([\w.]+)\s*}}/g;
47
34
  var SANITIZE_OPTIONS = {
48
35
  ADD_ATTR: ["target"]
49
36
  };
50
37
 
51
- var _excluded = ["kind", "onDismiss", "children", "className"];
52
- function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
53
- function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), true).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
54
- var Ribbon = function Ribbon(_ref) {
55
- var _RIBBON_KIND_CONFIG$k;
56
- var _ref$kind = _ref.kind,
57
- kind = _ref$kind === void 0 ? "info" : _ref$kind,
58
- onDismiss = _ref.onDismiss,
59
- children = _ref.children,
60
- className = _ref.className,
61
- rest = _objectWithoutProperties(_ref, _excluded);
62
- var _ref2 = (_RIBBON_KIND_CONFIG$k = RIBBON_KIND_CONFIG[kind]) !== null && _RIBBON_KIND_CONFIG$k !== void 0 ? _RIBBON_KIND_CONFIG$k : RIBBON_KIND_CONFIG.info,
63
- container = _ref2.container,
64
- role = _ref2.role;
65
- return /*#__PURE__*/jsxs(Alert, _objectSpread(_objectSpread({
66
- role: role,
67
- className: classnames(container, "rounded-none border-x-0 px-12 py-2.5", className)
68
- }, rest), {}, {
69
- children: [/*#__PURE__*/jsx(AlertDescription, {
70
- className: "text-center text-current",
71
- children: children
72
- }), onDismiss && /*#__PURE__*/jsx(AlertAction, {
73
- children: /*#__PURE__*/jsx("button", {
74
- "aria-label": "Dismiss",
75
- className: "focus-visible:ring-ring rounded-sm p-0.5 transition-colors hover:bg-current/10 focus-visible:ring-2 focus-visible:outline-none",
76
- type: "button",
77
- onClick: onDismiss,
78
- children: /*#__PURE__*/jsx(X, {
79
- className: "size-4"
80
- })
81
- })
82
- })]
83
- }));
84
- };
85
-
86
38
  var fetchStickyRibbons = function fetchStickyRibbons() {
87
39
  return axios.get("".concat(BASE_API_V1_URL, "/sticky_ribbons"), {
88
40
  includeMetadataInResponse: true
@@ -194,7 +146,7 @@ var StickyRibbonsContainer = function StickyRibbonsContainer() {
194
146
  return !dismissedRibbons.includes(ribbon.id);
195
147
  });
196
148
  return /*#__PURE__*/jsxs(Fragment, {
197
- children: [showRefreshRibbon && !isRefreshRibbonDismissed && /*#__PURE__*/jsx(Ribbon, {
149
+ children: [showRefreshRibbon && !isRefreshRibbonDismissed && /*#__PURE__*/jsx(StickyRibbon, {
198
150
  "data-testid": "refresh-sticky-ribbon",
199
151
  kind: "error",
200
152
  onDismiss: function onDismiss() {
@@ -218,7 +170,7 @@ var StickyRibbonsContainer = function StickyRibbonsContainer() {
218
170
  message = _ref.message,
219
171
  startsAt = _ref.startsAt,
220
172
  endsAt = _ref.endsAt;
221
- return /*#__PURE__*/createElement(Ribbon, {
173
+ return /*#__PURE__*/createElement(StickyRibbon, {
222
174
  kind: kind,
223
175
  "data-testid": "sticky-ribbon",
224
176
  key: id,
@@ -1 +1 @@
1
- {"version":3,"file":"StickyRibbonsContainer.js","sources":["../../src/v2/components/StickyRibbonsContainer/constants.js","../../src/v2/components/StickyRibbonsContainer/Ribbon.jsx","../../src/v2/components/StickyRibbonsContainer/api.js","../../src/v2/components/StickyRibbonsContainer/useStickyRibbonsApi.js","../../src/v2/components/StickyRibbonsContainer/utils.js","../../src/v2/components/StickyRibbonsContainer/index.jsx"],"sourcesContent":["export const QUERY_KEYS = {\n APP_STICKY_RIBBONS_LIST: \"APP_STICKY_RIBBONS_LIST\",\n};\n\nexport const STICKY_RIBBONS_LOCAL_STORAGE_KEY = \"dismissedStickyRibbons\";\n\nexport const POLLING_INTERVAL = 5000;\nexport const MAX_POLLING_TIME = 60000;\n\nexport const DATE_TIME_FORMAT = \"MMMM D h:mm A z\";\n\nexport const RIBBON_KIND_CONFIG = {\n info: {\n container: \"border-info-border bg-info text-info-foreground\",\n role: \"status\",\n },\n warning: {\n container: \"border-warning-border bg-warning text-warning-foreground\",\n role: \"status\",\n },\n error: {\n container: \"border-error-border bg-error text-error-foreground\",\n role: \"alert\",\n },\n};\n\nexport const VARIABLE_REGEX =\n /<span[^>]*data-variable[^>]*>\\s*{{\\s*([\\w.]+)\\s*}}\\s*<\\/span>|{{\\s*([\\w.]+)\\s*}}/g;\n\nexport const SANITIZE_OPTIONS = { ADD_ATTR: [\"target\"] };\n","import {\n Alert,\n AlertAction,\n AlertDescription,\n} from \"@bigbinary/neeto-atoms/primitives\";\nimport classnames from \"classnames\";\nimport { X } from \"lucide-react\";\n\nimport { RIBBON_KIND_CONFIG } from \"./constants\";\n\nconst Ribbon = ({ kind = \"info\", onDismiss, children, className, ...rest }) => {\n const { container, role } =\n RIBBON_KIND_CONFIG[kind] ?? RIBBON_KIND_CONFIG.info;\n\n return (\n <Alert\n {...{ role }}\n className={classnames(\n container,\n \"rounded-none border-x-0 px-12 py-2.5\",\n className\n )}\n {...rest}\n >\n <AlertDescription className=\"text-center text-current\">\n {children}\n </AlertDescription>\n {onDismiss && (\n <AlertAction>\n <button\n aria-label=\"Dismiss\"\n className=\"focus-visible:ring-ring rounded-sm p-0.5 transition-colors hover:bg-current/10 focus-visible:ring-2 focus-visible:outline-none\"\n type=\"button\"\n onClick={onDismiss}\n >\n <X className=\"size-4\" />\n </button>\n </AlertAction>\n )}\n </Alert>\n );\n};\n\nexport default Ribbon;\n","import axios from \"axios\";\nimport { BASE_API_V1_URL } from \"neetocommons/v2/constants\";\n\nconst fetchStickyRibbons = () =>\n axios.get(`${BASE_API_V1_URL}/sticky_ribbons`, {\n includeMetadataInResponse: true,\n });\n\nconst stickyRibbonsApi = { fetchStickyRibbons };\n\nexport default stickyRibbonsApi;\n","import { useState, useEffect } from \"react\";\n\nimport { useQuery } from \"@tanstack/react-query\";\nimport { noop } from \"neetocist\";\n\nimport stickyRibbonsApi from \"./api\";\nimport { QUERY_KEYS, POLLING_INTERVAL, MAX_POLLING_TIME } from \"./constants\";\n\nconst { APP_STICKY_RIBBONS_LIST } = QUERY_KEYS;\n\nconst useFetchStickyRibbons = () => {\n const [isPolling, setIsPolling] = useState(false);\n\n useEffect(() => {\n if (!isPolling) return noop;\n\n const timer = setTimeout(() => {\n setIsPolling(false);\n }, MAX_POLLING_TIME);\n\n return () => {\n clearTimeout(timer);\n };\n }, [isPolling]);\n\n return useQuery({\n queryKey: [APP_STICKY_RIBBONS_LIST],\n queryFn: async () => {\n const response = await stickyRibbonsApi.fetchStickyRibbons();\n\n if (response.status === 202) {\n setIsPolling(true);\n } else if (response.status === 200) {\n setIsPolling(false);\n }\n\n return response.data;\n },\n refetchInterval: isPolling ? POLLING_INTERVAL : false,\n });\n};\n\nexport { useFetchStickyRibbons };\n","import { dayjs } from \"neetocommons/v2/utils\";\n\nimport { DATE_TIME_FORMAT, VARIABLE_REGEX } from \"./constants\";\n\nconst dayTimeFormatter = timestamp =>\n // eslint-disable-next-line @bigbinary/neeto/use-standard-date-time-formats\n dayjs.utc(timestamp).local().format(DATE_TIME_FORMAT);\n\nexport const substituteVariables = (message, variables) =>\n message.replace(\n VARIABLE_REGEX,\n (match, chipKey, bareKey) => variables[chipKey ?? bareKey] ?? match\n );\n\nexport const formatMessageContent = ({ message, startsAt, endsAt }) =>\n substituteVariables(message, {\n starts_at: dayTimeFormatter(startsAt),\n ends_at: dayTimeFormatter(endsAt),\n });\n","import { useState } from \"react\";\n\nimport { Button } from \"@bigbinary/neeto-atoms\";\nimport DOMPurify from \"dompurify\";\nimport { useLocalStorage } from \"neetocommons/v2/react-utils\";\nimport { useErrorDisplayStore } from \"neetocommons/v2/react-utils/useDisplayErrorPage\";\nimport { pluck } from \"ramda\";\nimport { Trans } from \"react-i18next\";\n\nimport {\n SANITIZE_OPTIONS,\n STICKY_RIBBONS_LOCAL_STORAGE_KEY,\n} from \"./constants\";\nimport Ribbon from \"./Ribbon\";\nimport { useFetchStickyRibbons } from \"./useStickyRibbonsApi\";\nimport { formatMessageContent } from \"./utils\";\n\nconst sanitize = html => DOMPurify.sanitize(html, SANITIZE_OPTIONS);\n\nconst StickyRibbonsContainer = () => {\n const [isRefreshRibbonDismissed, setIsRefreshRibbonDismissed] =\n useState(false);\n\n const [dismissedRibbons, setDismissedRibbons] = useLocalStorage(\n STICKY_RIBBONS_LOCAL_STORAGE_KEY,\n []\n );\n\n const { showRefreshRibbon } = useErrorDisplayStore.pick();\n\n const { data } = useFetchStickyRibbons();\n const stickyRibbons = data?.stickyRibbons ?? [];\n\n const handleDismiss = ribbonId => {\n const validRibbonIds = pluck(\"id\", stickyRibbons);\n const updatedDismissedRibbons = dismissedRibbons.filter(id =>\n validRibbonIds.includes(id)\n );\n\n setDismissedRibbons([...updatedDismissedRibbons, ribbonId]);\n };\n\n const visibleRibbons = stickyRibbons.filter(\n ribbon => !dismissedRibbons.includes(ribbon.id)\n );\n\n return (\n <>\n {showRefreshRibbon && !isRefreshRibbonDismissed && (\n <Ribbon\n data-testid=\"refresh-sticky-ribbon\"\n kind=\"error\"\n onDismiss={() => setIsRefreshRibbonDismissed(true)}\n >\n <Trans\n i18nKey=\"neetoMolecules.stickyRibbonsContainer.refreshRibbon\"\n components={{\n button: (\n <Button\n data-testid=\"refresh-button\"\n variant=\"link\"\n onClick={() => window.location.reload()}\n />\n ),\n }}\n />\n </Ribbon>\n )}\n {visibleRibbons.map(({ id, kind, message, startsAt, endsAt }) => (\n <Ribbon\n {...{ kind }}\n data-testid=\"sticky-ribbon\"\n key={id}\n onDismiss={() => handleDismiss(id)}\n >\n <div\n className=\"neeto-editor-content neeto-editor-size--small\"\n dangerouslySetInnerHTML={{\n __html: sanitize(\n formatMessageContent({ message, startsAt, endsAt })\n ),\n }}\n />\n </Ribbon>\n ))}\n </>\n );\n};\n\nexport default StickyRibbonsContainer;\n"],"names":["QUERY_KEYS","APP_STICKY_RIBBONS_LIST","STICKY_RIBBONS_LOCAL_STORAGE_KEY","POLLING_INTERVAL","MAX_POLLING_TIME","DATE_TIME_FORMAT","RIBBON_KIND_CONFIG","info","container","role","warning","error","VARIABLE_REGEX","SANITIZE_OPTIONS","ADD_ATTR","Ribbon","_ref","_RIBBON_KIND_CONFIG$k","_ref$kind","kind","onDismiss","children","className","rest","_objectWithoutProperties","_excluded","_ref2","_jsxs","Alert","_objectSpread","classnames","_jsx","AlertDescription","AlertAction","type","onClick","X","fetchStickyRibbons","axios","get","concat","BASE_API_V1_URL","includeMetadataInResponse","stickyRibbonsApi","e","t","r","Symbol","n","iterator","o","toStringTag","i","c","prototype","Generator","u","Object","create","_regeneratorDefine2","f","p","y","G","v","a","d","bind","length","l","TypeError","call","done","value","GeneratorFunction","GeneratorFunctionPrototype","getPrototypeOf","setPrototypeOf","__proto__","displayName","_regenerator","w","m","defineProperty","_regeneratorDefine","_invoke","enumerable","configurable","writable","useFetchStickyRibbons","_useState","useState","_useState2","_slicedToArray","isPolling","setIsPolling","useEffect","noop","timer","setTimeout","clearTimeout","useQuery","queryKey","queryFn","_queryFn","_asyncToGenerator","_callee","response","_context","status","data","apply","arguments","refetchInterval","dayTimeFormatter","timestamp","dayjs","utc","local","format","substituteVariables","message","variables","replace","match","chipKey","bareKey","_variables","formatMessageContent","startsAt","endsAt","starts_at","ends_at","sanitize","html","DOMPurify","StickyRibbonsContainer","_data$stickyRibbons","isRefreshRibbonDismissed","setIsRefreshRibbonDismissed","_useLocalStorage","useLocalStorage","_useLocalStorage2","dismissedRibbons","setDismissedRibbons","_useErrorDisplayStore","useErrorDisplayStore","useShallow","store","showRefreshRibbon","_useFetchStickyRibbon","stickyRibbons","handleDismiss","ribbonId","validRibbonIds","pluck","updatedDismissedRibbons","filter","id","includes","_toConsumableArray","visibleRibbons","ribbon","_Fragment","Trans","i18nKey","components","button","Button","variant","window","location","reload","map","_createElement","key","dangerouslySetInnerHTML","__html"],"mappings":"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"}
1
+ {"version":3,"file":"StickyRibbonsContainer.js","sources":["../../src/v2/components/StickyRibbonsContainer/constants.js","../../src/v2/components/StickyRibbonsContainer/api.js","../../src/v2/components/StickyRibbonsContainer/useStickyRibbonsApi.js","../../src/v2/components/StickyRibbonsContainer/utils.js","../../src/v2/components/StickyRibbonsContainer/index.jsx"],"sourcesContent":["export const QUERY_KEYS = {\n APP_STICKY_RIBBONS_LIST: \"APP_STICKY_RIBBONS_LIST\",\n};\n\nexport const STICKY_RIBBONS_LOCAL_STORAGE_KEY = \"dismissedStickyRibbons\";\n\nexport const POLLING_INTERVAL = 5000;\nexport const MAX_POLLING_TIME = 60000;\n\nexport const DATE_TIME_FORMAT = \"MMMM D h:mm A z\";\n\nexport const VARIABLE_REGEX =\n /<span[^>]*data-variable[^>]*>\\s*{{\\s*([\\w.]+)\\s*}}\\s*<\\/span>|{{\\s*([\\w.]+)\\s*}}/g;\n\nexport const SANITIZE_OPTIONS = { ADD_ATTR: [\"target\"] };\n","import axios from \"axios\";\nimport { BASE_API_V1_URL } from \"neetocommons/v2/constants\";\n\nconst fetchStickyRibbons = () =>\n axios.get(`${BASE_API_V1_URL}/sticky_ribbons`, {\n includeMetadataInResponse: true,\n });\n\nconst stickyRibbonsApi = { fetchStickyRibbons };\n\nexport default stickyRibbonsApi;\n","import { useState, useEffect } from \"react\";\n\nimport { useQuery } from \"@tanstack/react-query\";\nimport { noop } from \"neetocist\";\n\nimport stickyRibbonsApi from \"./api\";\nimport { QUERY_KEYS, POLLING_INTERVAL, MAX_POLLING_TIME } from \"./constants\";\n\nconst { APP_STICKY_RIBBONS_LIST } = QUERY_KEYS;\n\nconst useFetchStickyRibbons = () => {\n const [isPolling, setIsPolling] = useState(false);\n\n useEffect(() => {\n if (!isPolling) return noop;\n\n const timer = setTimeout(() => {\n setIsPolling(false);\n }, MAX_POLLING_TIME);\n\n return () => {\n clearTimeout(timer);\n };\n }, [isPolling]);\n\n return useQuery({\n queryKey: [APP_STICKY_RIBBONS_LIST],\n queryFn: async () => {\n const response = await stickyRibbonsApi.fetchStickyRibbons();\n\n if (response.status === 202) {\n setIsPolling(true);\n } else if (response.status === 200) {\n setIsPolling(false);\n }\n\n return response.data;\n },\n refetchInterval: isPolling ? POLLING_INTERVAL : false,\n });\n};\n\nexport { useFetchStickyRibbons };\n","import { dayjs } from \"neetocommons/v2/utils\";\n\nimport { DATE_TIME_FORMAT, VARIABLE_REGEX } from \"./constants\";\n\nconst dayTimeFormatter = timestamp =>\n // eslint-disable-next-line @bigbinary/neeto/use-standard-date-time-formats\n dayjs.utc(timestamp).local().format(DATE_TIME_FORMAT);\n\nexport const substituteVariables = (message, variables) =>\n message.replace(\n VARIABLE_REGEX,\n (match, chipKey, bareKey) => variables[chipKey ?? bareKey] ?? match\n );\n\nexport const formatMessageContent = ({ message, startsAt, endsAt }) =>\n substituteVariables(message, {\n starts_at: dayTimeFormatter(startsAt),\n ends_at: dayTimeFormatter(endsAt),\n });\n","import { useState } from \"react\";\n\nimport DOMPurify from \"dompurify\";\nimport { Button } from \"neetoatoms\";\nimport { useLocalStorage } from \"neetocommons/v2/react-utils\";\nimport { useErrorDisplayStore } from \"neetocommons/v2/react-utils/useDisplayErrorPage\";\nimport { pluck } from \"ramda\";\nimport { Trans } from \"react-i18next\";\n\nimport {\n SANITIZE_OPTIONS,\n STICKY_RIBBONS_LOCAL_STORAGE_KEY,\n} from \"./constants\";\nimport { useFetchStickyRibbons } from \"./useStickyRibbonsApi\";\nimport { formatMessageContent } from \"./utils\";\n\nimport StickyRibbon from \"../StickyRibbon\";\n\nconst sanitize = html => DOMPurify.sanitize(html, SANITIZE_OPTIONS);\n\nconst StickyRibbonsContainer = () => {\n const [isRefreshRibbonDismissed, setIsRefreshRibbonDismissed] =\n useState(false);\n\n const [dismissedRibbons, setDismissedRibbons] = useLocalStorage(\n STICKY_RIBBONS_LOCAL_STORAGE_KEY,\n []\n );\n\n const { showRefreshRibbon } = useErrorDisplayStore.pick();\n\n const { data } = useFetchStickyRibbons();\n const stickyRibbons = data?.stickyRibbons ?? [];\n\n const handleDismiss = ribbonId => {\n const validRibbonIds = pluck(\"id\", stickyRibbons);\n const updatedDismissedRibbons = dismissedRibbons.filter(id =>\n validRibbonIds.includes(id)\n );\n\n setDismissedRibbons([...updatedDismissedRibbons, ribbonId]);\n };\n\n const visibleRibbons = stickyRibbons.filter(\n ribbon => !dismissedRibbons.includes(ribbon.id)\n );\n\n return (\n <>\n {showRefreshRibbon && !isRefreshRibbonDismissed && (\n <StickyRibbon\n data-testid=\"refresh-sticky-ribbon\"\n kind=\"error\"\n onDismiss={() => setIsRefreshRibbonDismissed(true)}\n >\n <Trans\n i18nKey=\"neetoMolecules.stickyRibbonsContainer.refreshRibbon\"\n components={{\n button: (\n <Button\n data-testid=\"refresh-button\"\n variant=\"link\"\n onClick={() => window.location.reload()}\n />\n ),\n }}\n />\n </StickyRibbon>\n )}\n {visibleRibbons.map(({ id, kind, message, startsAt, endsAt }) => (\n <StickyRibbon\n {...{ kind }}\n data-testid=\"sticky-ribbon\"\n key={id}\n onDismiss={() => handleDismiss(id)}\n >\n <div\n className=\"neeto-editor-content neeto-editor-size--small\"\n dangerouslySetInnerHTML={{\n __html: sanitize(\n formatMessageContent({ message, startsAt, endsAt })\n ),\n }}\n />\n </StickyRibbon>\n ))}\n </>\n );\n};\n\nexport default StickyRibbonsContainer;\n"],"names":["QUERY_KEYS","APP_STICKY_RIBBONS_LIST","STICKY_RIBBONS_LOCAL_STORAGE_KEY","POLLING_INTERVAL","MAX_POLLING_TIME","DATE_TIME_FORMAT","VARIABLE_REGEX","SANITIZE_OPTIONS","ADD_ATTR","fetchStickyRibbons","axios","get","concat","BASE_API_V1_URL","includeMetadataInResponse","stickyRibbonsApi","e","t","r","Symbol","n","iterator","o","toStringTag","i","c","prototype","Generator","u","Object","create","_regeneratorDefine2","f","p","y","G","v","a","d","bind","length","l","TypeError","call","done","value","GeneratorFunction","GeneratorFunctionPrototype","getPrototypeOf","setPrototypeOf","__proto__","displayName","_regenerator","w","m","defineProperty","_regeneratorDefine","_invoke","enumerable","configurable","writable","useFetchStickyRibbons","_useState","useState","_useState2","_slicedToArray","isPolling","setIsPolling","useEffect","noop","timer","setTimeout","clearTimeout","useQuery","queryKey","queryFn","_queryFn","_asyncToGenerator","_callee","response","_context","status","data","apply","arguments","refetchInterval","dayTimeFormatter","timestamp","dayjs","utc","local","format","substituteVariables","message","variables","replace","match","chipKey","bareKey","_variables","formatMessageContent","_ref","startsAt","endsAt","starts_at","ends_at","sanitize","html","DOMPurify","StickyRibbonsContainer","_data$stickyRibbons","isRefreshRibbonDismissed","setIsRefreshRibbonDismissed","_useLocalStorage","useLocalStorage","_useLocalStorage2","dismissedRibbons","setDismissedRibbons","_useErrorDisplayStore","useErrorDisplayStore","useShallow","store","showRefreshRibbon","_useFetchStickyRibbon","stickyRibbons","handleDismiss","ribbonId","validRibbonIds","pluck","updatedDismissedRibbons","filter","id","includes","_toConsumableArray","visibleRibbons","ribbon","_jsxs","_Fragment","children","_jsx","StickyRibbon","kind","onDismiss","Trans","i18nKey","components","button","Button","variant","onClick","window","location","reload","map","_createElement","key","className","dangerouslySetInnerHTML","__html"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@bigbinary/neeto-molecules",
3
- "version": "5.7.2",
3
+ "version": "5.7.4",
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>",
@@ -0,0 +1,10 @@
1
+ import React from "react";
2
+
3
+ const StickyRibbon: React.FC<
4
+ React.HTMLAttributes<HTMLDivElement> & {
5
+ kind?: "info" | "warning" | "error";
6
+ onDismiss?: () => void;
7
+ }
8
+ >;
9
+
10
+ export default StickyRibbon;