@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.
- package/dist/cjs/v2/StatusDropdown.js +2 -2
- package/dist/cjs/v2/StatusDropdown.js.map +1 -1
- package/dist/cjs/v2/StickyRibbon.js +63 -0
- package/dist/cjs/v2/StickyRibbon.js.map +1 -0
- package/dist/cjs/v2/StickyRibbonsContainer.js +10 -58
- package/dist/cjs/v2/StickyRibbonsContainer.js.map +1 -1
- package/dist/v2/StatusDropdown.js +2 -2
- package/dist/v2/StatusDropdown.js.map +1 -1
- package/dist/v2/StickyRibbon.js +61 -0
- package/dist/v2/StickyRibbon.js.map +1 -0
- package/dist/v2/StickyRibbonsContainer.js +10 -58
- package/dist/v2/StickyRibbonsContainer.js.map +1 -1
- package/package.json +1 -1
- package/types/v2/StickyRibbon.d.ts +10 -0
|
@@ -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:
|
|
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-
|
|
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(
|
|
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(
|
|
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:
|
|
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-
|
|
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(
|
|
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(
|
|
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.
|
|
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>",
|