@activecollab/components 2.0.454 → 2.0.456

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.
@@ -8,25 +8,48 @@ var _styledComponents = _interopRequireWildcard(require("styled-components"));
8
8
  var _BoxSizingStyle = require("../BoxSizingStyle");
9
9
  var _FontStyle = require("../FontStyle");
10
10
  function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function _interopRequireWildcard(e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (var _t in e) "default" !== _t && {}.hasOwnProperty.call(e, _t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, _t)) && (i.get || i.set) ? o(f, _t, i) : f[_t] = e[_t]); return f; })(e, t); }
11
+ // The hover look of each variant. A trigger keeps it while the menu it opened is open.
12
+ var hoverStyle = function hoverStyle(variant) {
13
+ switch (variant) {
14
+ case "primary":
15
+ case "contained":
16
+ return (0, _styledComponents.css)(["box-shadow:0 3px 6px -2px var(--color-primary-500);background-color:var(--color-primary-800);"]);
17
+ case "secondary":
18
+ case "outlined":
19
+ return (0, _styledComponents.css)(["border-color:var(--color-primary);color:var(--color-primary);"]);
20
+ case "dark transparent":
21
+ return (0, _styledComponents.css)(["background-color:rgba(0,0,0,0.85);"]);
22
+ case "tertiary":
23
+ case "text colored":
24
+ return (0, _styledComponents.css)(["background-color:var(--color-primary-200);"]);
25
+ case "option":
26
+ case "text gray":
27
+ return (0, _styledComponents.css)(["background-color:var(--color-theme-300);color:var(--color-theme-900);"]);
28
+ case "circle raised":
29
+ return (0, _styledComponents.css)(["background-color:var(--page-paper-main);box-shadow:var(--shadow-tertiary);"]);
30
+ default:
31
+ return undefined;
32
+ }
33
+ };
11
34
  var StyledButton = exports.StyledButton = _styledComponents.default.button.withConfig({
12
35
  displayName: "Styles__StyledButton",
13
36
  componentId: "sc-vi1kcr-0"
14
- })(["", " ", " -webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;vertical-align:middle;font-weight:500;display:inline-block;line-height:1;margin:0;text-decoration:none;font-size:0.875rem;user-select:none;cursor:pointer;text-align:center;flex-shrink:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:288px;--c-btn-text-inset:8px;--c-btn-icon-inset:8px;--c-btn-icon-tight-inset:6px;--c-btn-inset:0px;border:none;height:32px;transition:background-color 0.3s ease,box-shadow 0.3s ease,color 0.3s ease,border-color 0.3s ease;svg{fill:currentColor;}&:focus{outline:none;}&:hover{text-decoration:none;}&:disabled{cursor:default;opacity:50%;pointer-events:none;}", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", ""], _FontStyle.FontStyle, _BoxSizingStyle.BoxSizingStyle, function (props) {
37
+ })(["", " ", " -webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;vertical-align:middle;font-weight:500;display:inline-block;line-height:1;margin:0;text-decoration:none;font-size:0.875rem;user-select:none;cursor:pointer;text-align:center;flex-shrink:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:288px;--c-btn-text-inset:8px;--c-btn-icon-inset:8px;--c-btn-icon-tight-inset:6px;--c-btn-inset:0px;border:none;height:32px;transition:background-color 0.3s ease,box-shadow 0.3s ease,color 0.3s ease,border-color 0.3s ease;svg{fill:currentColor;}&:focus{outline:none;}&:hover{text-decoration:none;}&:disabled{cursor:default;opacity:50%;pointer-events:none;}", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " &[aria-haspopup][aria-expanded=\"true\"]{", "}"], _FontStyle.FontStyle, _BoxSizingStyle.BoxSizingStyle, function (props) {
15
38
  return props.size === "small" && (0, _styledComponents.css)(["height:24px;"]);
16
39
  }, function (props) {
17
40
  return props.size === "big" && (0, _styledComponents.css)(["height:40px;"]);
18
41
  }, function (props) {
19
- return (props.variant === "primary" || props.variant === "contained") && (0, _styledComponents.css)(["padding:0 16px;background-color:var(--color-primary);border-radius:var(--ac-br-rounded);color:var(--page-paper-main);&:hover,&:focus-visible{box-shadow:0 3px 6px -2px var(--color-primary-500);background-color:var(--color-primary-800);}&:active{box-shadow:0 4px 10px -2px var(--color-primary-600);background-color:var(--color-primary-800);}"]);
42
+ return (props.variant === "primary" || props.variant === "contained") && (0, _styledComponents.css)(["padding:0 16px;background-color:var(--color-primary);border-radius:var(--ac-br-rounded);color:var(--page-paper-main);&:hover,&:focus-visible{", "}&:active{box-shadow:0 4px 10px -2px var(--color-primary-600);background-color:var(--color-primary-800);}"], hoverStyle(props.variant));
20
43
  }, function (props) {
21
- return (props.variant === "secondary" || props.variant === "outlined") && (0, _styledComponents.css)(["padding:0 16px;background-color:transparent;border-radius:var(--ac-br-rounded);border:solid 1px var(--color-theme-700);color:var(--color-theme-700);&:hover,&:focus-visible{border-color:var(--color-primary);color:var(--color-primary);}&:active{border-color:var(--color-primary);color:var(--color-primary);background-color:var(--color-primary-200);}"]);
44
+ return (props.variant === "secondary" || props.variant === "outlined") && (0, _styledComponents.css)(["padding:0 16px;background-color:transparent;border-radius:var(--ac-br-rounded);border:solid 1px var(--color-theme-700);color:var(--color-theme-700);&:hover,&:focus-visible{", "}&:active{border-color:var(--color-primary);color:var(--color-primary);background-color:var(--color-primary-200);}"], hoverStyle(props.variant));
22
45
  }, function (props) {
23
- return props.variant === "dark transparent" && (0, _styledComponents.css)(["padding:0 8px;background-color:rgba(0,0,0,0.5);border-radius:var(--ac-br-6);color:var(--only-white);&:hover,&:focus-visible{background-color:rgba(0,0,0,0.85);}&:active{background-color:var(--only-black);}"]);
46
+ return props.variant === "dark transparent" && (0, _styledComponents.css)(["padding:0 8px;background-color:rgba(0,0,0,0.5);border-radius:var(--ac-br-6);color:var(--only-white);&:hover,&:focus-visible{", "}&:active{background-color:var(--only-black);}"], hoverStyle(props.variant));
24
47
  }, function (props) {
25
- return (props.variant === "tertiary" || props.variant === "text colored") && (0, _styledComponents.css)(["padding:0 var(--c-btn-text-inset);--c-btn-inset:var(--c-btn-text-inset);background-color:transparent;border-radius:var(--ac-br-6);color:var(--color-primary);&:hover,&:focus-visible{background-color:var(--color-primary-200);}&:active{background-color:var(--color-primary-300);}"]);
48
+ return (props.variant === "tertiary" || props.variant === "text colored") && (0, _styledComponents.css)(["padding:0 var(--c-btn-text-inset);--c-btn-inset:var(--c-btn-text-inset);background-color:transparent;border-radius:var(--ac-br-6);color:var(--color-primary);&:hover,&:focus-visible{", "}&:active{background-color:var(--color-primary-300);}"], hoverStyle(props.variant));
26
49
  }, function (props) {
27
- return (props.variant === "option" || props.variant === "text gray") && (0, _styledComponents.css)(["padding:0 var(--c-btn-text-inset);--c-btn-inset:var(--c-btn-text-inset);background-color:transparent;border-radius:var(--ac-br-6);color:var(--color-theme-700);&:hover,&:focus-visible{background-color:var(--color-theme-300);color:var(--color-theme-900);}&:active{background-color:var(--color-theme-400);color:var(--color-theme-900);}"]);
50
+ return (props.variant === "option" || props.variant === "text gray") && (0, _styledComponents.css)(["padding:0 var(--c-btn-text-inset);--c-btn-inset:var(--c-btn-text-inset);background-color:transparent;border-radius:var(--ac-br-6);color:var(--color-theme-700);&:hover,&:focus-visible{", "}&:active{background-color:var(--color-theme-400);color:var(--color-theme-900);}"], hoverStyle(props.variant));
28
51
  }, function (props) {
29
- return props.variant === "circle raised" && (0, _styledComponents.css)(["padding:0 6px;background-color:transparent;border-radius:var(--ac-br-rounded);color:var(--color-theme-700);&:hover,&:focus-visible{background-color:var(--page-paper-main);box-shadow:var(--shadow-tertiary);}&:active{background-color:var(--page-paper-main);box-shadow:var(--shadow-tertiary-hover);}"]);
52
+ return props.variant === "circle raised" && (0, _styledComponents.css)(["padding:0 6px;background-color:transparent;border-radius:var(--ac-br-rounded);color:var(--color-theme-700);&:hover,&:focus-visible{", "}&:active{background-color:var(--page-paper-main);box-shadow:var(--shadow-tertiary-hover);}"], hoverStyle(props.variant));
30
53
  }, function (props) {
31
54
  return props.iconOnly && (0, _styledComponents.css)(["display:inline-flex;justify-content:center;align-items:center;padding:0;width:32px;--c-btn-inset:0px;", " ", ";", " ", ""], (props.variant === "tertiary" || props.variant === "text colored" || props.variant === "option" || props.variant === "text gray") && props.size !== "small" && props.size !== "big" && (0, _styledComponents.css)(["--c-btn-inset:", ";"], props.$inset === "tight" ? "var(--c-btn-icon-tight-inset)" : "var(--c-btn-icon-inset)"), (props.size === "small" || props.size === "big") && (0, _styledComponents.css)(["border-radius:var(--ac-br-rounded);"]), props.size === "small" && (0, _styledComponents.css)(["width:24px;"]), props.size === "big" && (0, _styledComponents.css)(["width:40px;"]));
32
55
  }, function (props) {
@@ -35,6 +58,8 @@ var StyledButton = exports.StyledButton = _styledComponents.default.button.withC
35
58
  return (props.variant === "tertiary" || props.variant === "text colored" || props.variant === "option" || props.variant === "text gray" || props.variant === "dark transparent") && (0, _styledComponents.css)([".c-btn__elements__element:first-child svg{margin-left:-4px;}.c-btn__elements__element:last-child svg{margin-right:-4px;}", " ", ""], props.size === "small" && (0, _styledComponents.css)(["border-radius:var(--ac-br-4);"]), props.size === "big" && (0, _styledComponents.css)(["border-radius:var(--ac-br-8);"]));
36
59
  }, function (props) {
37
60
  return props.active && (0, _styledComponents.css)(["", " ", " ", " ", " ", " ", ""], (props.variant === "primary" || props.variant === "contained") && (0, _styledComponents.css)(["background-color:var(--color-primary-800);"]), (props.variant === "secondary" || props.variant === "outlined") && (0, _styledComponents.css)(["border-color:var(--color-primary);color:var(--color-primary);"]), props.variant === "dark transparent" && (0, _styledComponents.css)(["background-color:var(--only-black);"]), props.variant === "circle raised" && (0, _styledComponents.css)(["background-color:var(--page-paper-main);box-shadow:var(--shadow-tertiary-hover);"]), (props.variant === "tertiary" || props.variant === "text colored") && (0, _styledComponents.css)(["background-color:var(--color-primary-200);"]), (props.variant === "option" || props.variant === "text gray") && (0, _styledComponents.css)(["color:var(--color-primary);&:hover,&:focus-visible{color:var(--color-primary);}", ""], props.children instanceof Array && (0, _styledComponents.css)(["background-color:var(--color-theme-300);"])));
61
+ }, function (props) {
62
+ return hoverStyle(props.variant);
38
63
  });
39
64
  StyledButton.displayName = "StyledButton";
40
65
  var StyledButtonElements = exports.StyledButtonElements = _styledComponents.default.span.withConfig({
@@ -1 +1 @@
1
- {"version":3,"file":"Styles.js","names":["_styledComponents","_interopRequireWildcard","require","_BoxSizingStyle","_FontStyle","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","_t","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","StyledButton","exports","styled","button","withConfig","displayName","componentId","FontStyle","BoxSizingStyle","props","size","css","variant","iconOnly","$inset","active","children","Array","StyledButtonElements","span","StyledButtonElement"],"sources":["../../../../src/components/Button/Styles.ts"],"sourcesContent":["import styled, { css } from \"styled-components\";\n\nimport { ButtonProps } from \"./Button\";\nimport { BoxSizingStyle } from \"../BoxSizingStyle\";\nimport { FontStyle } from \"../FontStyle\";\n\ninterface StyledButtonProps extends ButtonProps {\n iconOnly: boolean;\n $inset?: ButtonProps[\"inset\"];\n}\n\nexport const StyledButton = styled.button<StyledButtonProps>`\n ${FontStyle}\n ${BoxSizingStyle}\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n vertical-align: middle;\n font-weight: 500;\n display: inline-block;\n line-height: 1;\n margin: 0;\n text-decoration: none;\n font-size: 0.875rem;\n user-select: none;\n cursor: pointer;\n text-align: center;\n flex-shrink: 0;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n max-width: 288px;\n\n /* Empty space around the visible content of a button type. A page control group pulls the button in by --c-btn-inset. */\n --c-btn-text-inset: 8px;\n --c-btn-icon-inset: 8px;\n --c-btn-icon-tight-inset: 6px;\n --c-btn-inset: 0px;\n\n border: none;\n height: 32px;\n transition: background-color 0.3s ease, box-shadow 0.3s ease, color 0.3s ease,\n border-color 0.3s ease;\n\n svg {\n fill: currentColor;\n }\n\n &:focus {\n outline: none;\n }\n\n &:hover {\n text-decoration: none;\n }\n\n &:disabled {\n cursor: default;\n opacity: 50%;\n pointer-events: none;\n }\n\n ${(props) =>\n props.size === \"small\" &&\n css`\n height: 24px;\n `}\n\n ${(props) =>\n props.size === \"big\" &&\n css`\n height: 40px;\n `}\n\n ${(props) =>\n (props.variant === \"primary\" || props.variant === \"contained\") &&\n css`\n padding: 0 16px;\n background-color: var(--color-primary);\n border-radius: var(--ac-br-rounded);\n color: var(--page-paper-main);\n\n &:hover,\n &:focus-visible {\n box-shadow: 0 3px 6px -2px var(--color-primary-500);\n background-color: var(--color-primary-800);\n }\n\n &:active {\n box-shadow: 0 4px 10px -2px var(--color-primary-600);\n background-color: var(--color-primary-800);\n }\n `}\n\n ${(props) =>\n (props.variant === \"secondary\" || props.variant === \"outlined\") &&\n css`\n padding: 0 16px;\n background-color: transparent;\n border-radius: var(--ac-br-rounded);\n border: solid 1px var(--color-theme-700);\n color: var(--color-theme-700);\n\n &:hover,\n &:focus-visible {\n border-color: var(--color-primary);\n color: var(--color-primary);\n }\n\n &:active {\n border-color: var(--color-primary);\n color: var(--color-primary);\n background-color: var(--color-primary-200);\n }\n `}\n\n ${(props) =>\n props.variant === \"dark transparent\" &&\n css`\n padding: 0 8px;\n background-color: rgba(0, 0, 0, 0.5);\n border-radius: var(--ac-br-6);\n color: var(--only-white);\n\n &:hover,\n &:focus-visible {\n background-color: rgba(0, 0, 0, 0.85);\n }\n\n &:active {\n background-color: var(--only-black);\n }\n `}\n\n ${(props) =>\n (props.variant === \"tertiary\" || props.variant === \"text colored\") &&\n css`\n padding: 0 var(--c-btn-text-inset);\n --c-btn-inset: var(--c-btn-text-inset);\n background-color: transparent;\n border-radius: var(--ac-br-6);\n color: var(--color-primary);\n\n &:hover,\n &:focus-visible {\n background-color: var(--color-primary-200);\n }\n\n &:active {\n background-color: var(--color-primary-300);\n }\n `}\n\n ${(props) =>\n (props.variant === \"option\" || props.variant === \"text gray\") &&\n css`\n padding: 0 var(--c-btn-text-inset);\n --c-btn-inset: var(--c-btn-text-inset);\n background-color: transparent;\n border-radius: var(--ac-br-6);\n color: var(--color-theme-700);\n\n &:hover,\n &:focus-visible {\n background-color: var(--color-theme-300);\n color: var(--color-theme-900);\n }\n\n &:active {\n background-color: var(--color-theme-400);\n color: var(--color-theme-900);\n }\n `}\n\n ${(props) =>\n props.variant === \"circle raised\" &&\n css`\n padding: 0 6px;\n background-color: transparent;\n border-radius: var(--ac-br-rounded);\n color: var(--color-theme-700);\n\n &:hover,\n &:focus-visible {\n background-color: var(--page-paper-main);\n box-shadow: var(--shadow-tertiary);\n }\n\n &:active {\n background-color: var(--page-paper-main);\n box-shadow: var(--shadow-tertiary-hover);\n }\n `}\n\n ${(props) =>\n props.iconOnly &&\n css`\n display: inline-flex;\n justify-content: center;\n align-items: center;\n padding: 0;\n width: 32px;\n --c-btn-inset: 0px;\n\n /* 4px of button stays empty around the 24px icon, plus the empty space the icon drawing keeps inside. */\n ${(props.variant === \"tertiary\" ||\n props.variant === \"text colored\" ||\n props.variant === \"option\" ||\n props.variant === \"text gray\") &&\n props.size !== \"small\" &&\n props.size !== \"big\" &&\n css`\n --c-btn-inset: ${props.$inset === \"tight\"\n ? \"var(--c-btn-icon-tight-inset)\"\n : \"var(--c-btn-icon-inset)\"};\n `}\n\n ${(props.size === \"small\" || props.size === \"big\") &&\n css`\n border-radius: var(--ac-br-rounded);\n `};\n\n ${props.size === \"small\" &&\n css`\n width: 24px;\n `}\n\n ${props.size === \"big\" &&\n css`\n width: 40px;\n `}\n `}\n\n ${(props) =>\n (props.variant === \"primary\" ||\n props.variant === \"contained\" ||\n props.variant === \"secondary\" ||\n props.variant === \"outlined\") &&\n css`\n .c-btn__elements__element:first-child svg {\n margin-left: -6px;\n }\n .c-btn__elements__element:last-child svg {\n margin-right: -6px;\n }\n\n ${(props.size === \"small\" || props.size === \"big\") &&\n css`\n border-radius: var(--ac-br-rounded);\n `}\n `}\n\n ${(props) =>\n (props.variant === \"tertiary\" ||\n props.variant === \"text colored\" ||\n props.variant === \"option\" ||\n props.variant === \"text gray\" ||\n props.variant === \"dark transparent\") &&\n css`\n .c-btn__elements__element:first-child svg {\n margin-left: -4px;\n }\n .c-btn__elements__element:last-child svg {\n margin-right: -4px;\n }\n ${props.size === \"small\" &&\n css`\n border-radius: var(--ac-br-4);\n `}\n ${props.size === \"big\" &&\n css`\n border-radius: var(--ac-br-8);\n `}\n `}\n\n ${(props) =>\n props.active &&\n css`\n ${(props.variant === \"primary\" || props.variant === \"contained\") &&\n css`\n background-color: var(--color-primary-800);\n `}\n\n ${(props.variant === \"secondary\" || props.variant === \"outlined\") &&\n css`\n border-color: var(--color-primary);\n color: var(--color-primary);\n `}\n\n ${props.variant === \"dark transparent\" &&\n css`\n background-color: var(--only-black);\n `}\n\n ${props.variant === \"circle raised\" &&\n css`\n background-color: var(--page-paper-main);\n box-shadow: var(--shadow-tertiary-hover);\n `}\n\n ${(props.variant === \"tertiary\" || props.variant === \"text colored\") &&\n css`\n background-color: var(--color-primary-200);\n `}\n\n ${(props.variant === \"option\" || props.variant === \"text gray\") &&\n css`\n color: var(--color-primary);\n &:hover,\n &:focus-visible {\n color: var(--color-primary);\n }\n ${props.children instanceof Array &&\n css`\n background-color: var(--color-theme-300);\n `}\n `}\n `}\n`;\n\nStyledButton.displayName = \"StyledButton\";\n\nexport const StyledButtonElements = styled.span`\n display: flex;\n align-items: center;\n`;\n\nStyledButtonElements.displayName = \"StyledButtonElements\";\n\nexport const StyledButtonElement = styled.span`\n display: inline-flex;\n svg {\n margin: 0 4px;\n }\n`;\n\nStyledButtonElement.displayName = \"StyledButtonElement\";\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"Styles.js","names":["_styledComponents","_interopRequireWildcard","require","_BoxSizingStyle","_FontStyle","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","_t","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","hoverStyle","variant","css","undefined","StyledButton","exports","styled","button","withConfig","displayName","componentId","FontStyle","BoxSizingStyle","props","size","iconOnly","$inset","active","children","Array","StyledButtonElements","span","StyledButtonElement"],"sources":["../../../../src/components/Button/Styles.ts"],"sourcesContent":["import styled, { css } from \"styled-components\";\n\nimport { ButtonProps } from \"./Button\";\nimport { BoxSizingStyle } from \"../BoxSizingStyle\";\nimport { FontStyle } from \"../FontStyle\";\n\ninterface StyledButtonProps extends ButtonProps {\n iconOnly: boolean;\n $inset?: ButtonProps[\"inset\"];\n}\n\n// The hover look of each variant. A trigger keeps it while the menu it opened is open.\nconst hoverStyle = (variant: ButtonProps[\"variant\"]) => {\n switch (variant) {\n case \"primary\":\n case \"contained\":\n return css`\n box-shadow: 0 3px 6px -2px var(--color-primary-500);\n background-color: var(--color-primary-800);\n `;\n case \"secondary\":\n case \"outlined\":\n return css`\n border-color: var(--color-primary);\n color: var(--color-primary);\n `;\n case \"dark transparent\":\n return css`\n background-color: rgba(0, 0, 0, 0.85);\n `;\n case \"tertiary\":\n case \"text colored\":\n return css`\n background-color: var(--color-primary-200);\n `;\n case \"option\":\n case \"text gray\":\n return css`\n background-color: var(--color-theme-300);\n color: var(--color-theme-900);\n `;\n case \"circle raised\":\n return css`\n background-color: var(--page-paper-main);\n box-shadow: var(--shadow-tertiary);\n `;\n default:\n return undefined;\n }\n};\n\nexport const StyledButton = styled.button<StyledButtonProps>`\n ${FontStyle}\n ${BoxSizingStyle}\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n vertical-align: middle;\n font-weight: 500;\n display: inline-block;\n line-height: 1;\n margin: 0;\n text-decoration: none;\n font-size: 0.875rem;\n user-select: none;\n cursor: pointer;\n text-align: center;\n flex-shrink: 0;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n max-width: 288px;\n\n /* Empty space around the visible content of a button type. A page control group pulls the button in by --c-btn-inset. */\n --c-btn-text-inset: 8px;\n --c-btn-icon-inset: 8px;\n --c-btn-icon-tight-inset: 6px;\n --c-btn-inset: 0px;\n\n border: none;\n height: 32px;\n transition: background-color 0.3s ease, box-shadow 0.3s ease, color 0.3s ease,\n border-color 0.3s ease;\n\n svg {\n fill: currentColor;\n }\n\n &:focus {\n outline: none;\n }\n\n &:hover {\n text-decoration: none;\n }\n\n &:disabled {\n cursor: default;\n opacity: 50%;\n pointer-events: none;\n }\n\n ${(props) =>\n props.size === \"small\" &&\n css`\n height: 24px;\n `}\n\n ${(props) =>\n props.size === \"big\" &&\n css`\n height: 40px;\n `}\n\n ${(props) =>\n (props.variant === \"primary\" || props.variant === \"contained\") &&\n css`\n padding: 0 16px;\n background-color: var(--color-primary);\n border-radius: var(--ac-br-rounded);\n color: var(--page-paper-main);\n\n &:hover,\n &:focus-visible {\n ${hoverStyle(props.variant)}\n }\n\n &:active {\n box-shadow: 0 4px 10px -2px var(--color-primary-600);\n background-color: var(--color-primary-800);\n }\n `}\n\n ${(props) =>\n (props.variant === \"secondary\" || props.variant === \"outlined\") &&\n css`\n padding: 0 16px;\n background-color: transparent;\n border-radius: var(--ac-br-rounded);\n border: solid 1px var(--color-theme-700);\n color: var(--color-theme-700);\n\n &:hover,\n &:focus-visible {\n ${hoverStyle(props.variant)}\n }\n\n &:active {\n border-color: var(--color-primary);\n color: var(--color-primary);\n background-color: var(--color-primary-200);\n }\n `}\n\n ${(props) =>\n props.variant === \"dark transparent\" &&\n css`\n padding: 0 8px;\n background-color: rgba(0, 0, 0, 0.5);\n border-radius: var(--ac-br-6);\n color: var(--only-white);\n\n &:hover,\n &:focus-visible {\n ${hoverStyle(props.variant)}\n }\n\n &:active {\n background-color: var(--only-black);\n }\n `}\n\n ${(props) =>\n (props.variant === \"tertiary\" || props.variant === \"text colored\") &&\n css`\n padding: 0 var(--c-btn-text-inset);\n --c-btn-inset: var(--c-btn-text-inset);\n background-color: transparent;\n border-radius: var(--ac-br-6);\n color: var(--color-primary);\n\n &:hover,\n &:focus-visible {\n ${hoverStyle(props.variant)}\n }\n\n &:active {\n background-color: var(--color-primary-300);\n }\n `}\n\n ${(props) =>\n (props.variant === \"option\" || props.variant === \"text gray\") &&\n css`\n padding: 0 var(--c-btn-text-inset);\n --c-btn-inset: var(--c-btn-text-inset);\n background-color: transparent;\n border-radius: var(--ac-br-6);\n color: var(--color-theme-700);\n\n &:hover,\n &:focus-visible {\n ${hoverStyle(props.variant)}\n }\n\n &:active {\n background-color: var(--color-theme-400);\n color: var(--color-theme-900);\n }\n `}\n\n ${(props) =>\n props.variant === \"circle raised\" &&\n css`\n padding: 0 6px;\n background-color: transparent;\n border-radius: var(--ac-br-rounded);\n color: var(--color-theme-700);\n\n &:hover,\n &:focus-visible {\n ${hoverStyle(props.variant)}\n }\n\n &:active {\n background-color: var(--page-paper-main);\n box-shadow: var(--shadow-tertiary-hover);\n }\n `}\n\n ${(props) =>\n props.iconOnly &&\n css`\n display: inline-flex;\n justify-content: center;\n align-items: center;\n padding: 0;\n width: 32px;\n --c-btn-inset: 0px;\n\n /* 4px of button stays empty around the 24px icon, plus the empty space the icon drawing keeps inside. */\n ${(props.variant === \"tertiary\" ||\n props.variant === \"text colored\" ||\n props.variant === \"option\" ||\n props.variant === \"text gray\") &&\n props.size !== \"small\" &&\n props.size !== \"big\" &&\n css`\n --c-btn-inset: ${props.$inset === \"tight\"\n ? \"var(--c-btn-icon-tight-inset)\"\n : \"var(--c-btn-icon-inset)\"};\n `}\n\n ${(props.size === \"small\" || props.size === \"big\") &&\n css`\n border-radius: var(--ac-br-rounded);\n `};\n\n ${props.size === \"small\" &&\n css`\n width: 24px;\n `}\n\n ${props.size === \"big\" &&\n css`\n width: 40px;\n `}\n `}\n\n ${(props) =>\n (props.variant === \"primary\" ||\n props.variant === \"contained\" ||\n props.variant === \"secondary\" ||\n props.variant === \"outlined\") &&\n css`\n .c-btn__elements__element:first-child svg {\n margin-left: -6px;\n }\n .c-btn__elements__element:last-child svg {\n margin-right: -6px;\n }\n\n ${(props.size === \"small\" || props.size === \"big\") &&\n css`\n border-radius: var(--ac-br-rounded);\n `}\n `}\n\n ${(props) =>\n (props.variant === \"tertiary\" ||\n props.variant === \"text colored\" ||\n props.variant === \"option\" ||\n props.variant === \"text gray\" ||\n props.variant === \"dark transparent\") &&\n css`\n .c-btn__elements__element:first-child svg {\n margin-left: -4px;\n }\n .c-btn__elements__element:last-child svg {\n margin-right: -4px;\n }\n ${props.size === \"small\" &&\n css`\n border-radius: var(--ac-br-4);\n `}\n ${props.size === \"big\" &&\n css`\n border-radius: var(--ac-br-8);\n `}\n `}\n\n ${(props) =>\n props.active &&\n css`\n ${(props.variant === \"primary\" || props.variant === \"contained\") &&\n css`\n background-color: var(--color-primary-800);\n `}\n\n ${(props.variant === \"secondary\" || props.variant === \"outlined\") &&\n css`\n border-color: var(--color-primary);\n color: var(--color-primary);\n `}\n\n ${props.variant === \"dark transparent\" &&\n css`\n background-color: var(--only-black);\n `}\n\n ${props.variant === \"circle raised\" &&\n css`\n background-color: var(--page-paper-main);\n box-shadow: var(--shadow-tertiary-hover);\n `}\n\n ${(props.variant === \"tertiary\" || props.variant === \"text colored\") &&\n css`\n background-color: var(--color-primary-200);\n `}\n\n ${(props.variant === \"option\" || props.variant === \"text gray\") &&\n css`\n color: var(--color-primary);\n &:hover,\n &:focus-visible {\n color: var(--color-primary);\n }\n ${props.children instanceof Array &&\n css`\n background-color: var(--color-theme-300);\n `}\n `}\n `}\n\n /* Last, so an open trigger shows its hover look also when it is active. */\n &[aria-haspopup][aria-expanded=\"true\"] {\n ${(props) => hoverStyle(props.variant)}\n }\n`;\n\nStyledButton.displayName = \"StyledButton\";\n\nexport const StyledButtonElements = styled.span`\n display: flex;\n align-items: center;\n`;\n\nStyledButtonElements.displayName = \"StyledButtonElements\";\n\nexport const StyledButtonElement = styled.span`\n display: inline-flex;\n svg {\n margin: 0 4px;\n }\n`;\n\nStyledButtonElement.displayName = \"StyledButtonElement\";\n"],"mappings":"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","ignoreList":[]}
@@ -22,7 +22,7 @@ var StyledCounterButton = exports.StyledCounterButton = (0, _styledComponents.de
22
22
  displayName: "Styles__StyledCounterButton",
23
23
  componentId: "sc-1ecrcba-1"
24
24
  })(["", " ", " ", " ", ""], function (props) {
25
- return props.$active && !props.disabled && (0, _styledComponents.css)(["padding:0 8px;svg{fill:var(--color-primary);}&:hover{background:var(--color-primary-300);}"]);
25
+ return props.$active && !props.disabled && (0, _styledComponents.css)(["padding:0 8px;svg{fill:var(--color-primary);}&:hover,&[aria-haspopup][aria-expanded=\"true\"]{background:var(--color-primary-300);}"]);
26
26
  }, function (props) {
27
27
  return props.$selected && (0, _styledComponents.css)(["border-top-right-radius:0;border-bottom-right-radius:0;background-color:var(--color-primary-200);"]);
28
28
  }, function (props) {
@@ -39,9 +39,9 @@ StyledCounterButtonReset.displayName = "StyledCounterButtonReset";
39
39
  var StyledCounterButtonLabel = exports.StyledCounterButtonLabel = (0, _styledComponents.default)(_Body.Body2).withConfig({
40
40
  displayName: "Styles__StyledCounterButtonLabel",
41
41
  componentId: "sc-1ecrcba-3"
42
- })(["", " @media (max-width:768px){display:none;}", ":hover &&{", "}", ""], {
42
+ })(["", " @media (max-width:768px){display:none;}", ":hover &&,", "[aria-haspopup][aria-expanded=\"true\"] &&{", "}", ""], {
43
43
  "pointerEvents": "none"
44
- }, StyledCounterButton, function (props) {
44
+ }, StyledCounterButton, StyledCounterButton, function (props) {
45
45
  return !props.$active && (0, _styledComponents.css)(["color:var(--color-theme-900);"]);
46
46
  }, function (props) {
47
47
  return props.$active && (0, _styledComponents.css)(["color:var(--color-primary);"]);
@@ -1 +1 @@
1
- {"version":3,"file":"Styles.js","names":["_styledComponents","_interopRequireWildcard","require","_Badge","_BoxSizingStyle","_Button","_FontStyle","_Body","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","_t","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","StyledCounterButtonWrapper","exports","styled","div","withConfig","displayName","componentId","FontStyle","BoxSizingStyle","StyledCounterButton","Button","props","$active","disabled","css","$selected","StyledCounterButtonReset","StyledCounterButtonLabel","Body2","StyledBadge","Badge"],"sources":["../../../../src/components/CounterButton/Styles.ts"],"sourcesContent":["import styled, { css } from \"styled-components\";\nimport tw from \"twin.macro\";\n\nimport { Badge } from \"../Badge\";\nimport { BoxSizingStyle } from \"../BoxSizingStyle\";\nimport { Button } from \"../Button/Button\";\nimport { FontStyle } from \"../FontStyle\";\nimport { Body2 } from \"../Typography/Variants/Body2\";\n\ninterface StyledCounterButtonProps {\n $active?: boolean;\n $selected?: boolean;\n}\n\nexport const StyledCounterButtonWrapper = styled.div`\n ${tw`tw-flex`}\n ${FontStyle}\n ${BoxSizingStyle}\n width: fit-content;\n`;\n\nStyledCounterButtonWrapper.displayName = \"StyledCounterButtonWrapper\";\n\nexport const StyledCounterButton = styled(Button)<StyledCounterButtonProps>`\n ${(props) =>\n props.$active &&\n !props.disabled &&\n css`\n padding: 0 8px;\n\n svg {\n fill: var(--color-primary);\n }\n\n &:hover {\n background: var(--color-primary-300);\n }\n `}\n\n ${(props) =>\n props.$selected &&\n css`\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n background-color: var(--color-primary-200);\n `}\n\n ${(props) =>\n !props.$selected &&\n css`\n @media (max-width: 768px) {\n width: 32px;\n }\n `}\n\n ${(props) =>\n props.disabled &&\n css`\n pointer-events: none;\n opacity: 0.5;\n `}\n`;\n\nStyledCounterButton.displayName = \"StyledCounterButton\";\n\nexport const StyledCounterButtonReset = styled(Button)`\n background-color: var(--color-primary-200);\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n\n &:hover,\n &:focus-visible {\n background-color: var(--color-primary-300);\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n }\n`;\n\nStyledCounterButtonReset.displayName = \"StyledCounterButtonReset\";\n\nexport const StyledCounterButtonLabel = styled(Body2)<{ $active?: boolean }>`\n ${tw`tw-pointer-events-none`}\n\n @media (max-width: 768px) {\n display: none;\n }\n\n ${StyledCounterButton}:hover && {\n ${(props) =>\n !props.$active &&\n css`\n color: var(--color-theme-900);\n `}\n }\n\n ${(props) =>\n props.$active &&\n css`\n color: var(--color-primary);\n `}\n`;\n\nStyledCounterButtonLabel.displayName = \"StyledCounterButtonLabel\";\n\nexport const StyledBadge = styled(Badge)`\n margin-left: 4px;\n margin-right: -6px;\n`;\n\nStyledBadge.displayName = \"StyledBadge\";\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"Styles.js","names":["_styledComponents","_interopRequireWildcard","require","_Badge","_BoxSizingStyle","_Button","_FontStyle","_Body","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","_t","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","StyledCounterButtonWrapper","exports","styled","div","withConfig","displayName","componentId","FontStyle","BoxSizingStyle","StyledCounterButton","Button","props","$active","disabled","css","$selected","StyledCounterButtonReset","StyledCounterButtonLabel","Body2","StyledBadge","Badge"],"sources":["../../../../src/components/CounterButton/Styles.ts"],"sourcesContent":["import styled, { css } from \"styled-components\";\nimport tw from \"twin.macro\";\n\nimport { Badge } from \"../Badge\";\nimport { BoxSizingStyle } from \"../BoxSizingStyle\";\nimport { Button } from \"../Button/Button\";\nimport { FontStyle } from \"../FontStyle\";\nimport { Body2 } from \"../Typography/Variants/Body2\";\n\ninterface StyledCounterButtonProps {\n $active?: boolean;\n $selected?: boolean;\n}\n\nexport const StyledCounterButtonWrapper = styled.div`\n ${tw`tw-flex`}\n ${FontStyle}\n ${BoxSizingStyle}\n width: fit-content;\n`;\n\nStyledCounterButtonWrapper.displayName = \"StyledCounterButtonWrapper\";\n\nexport const StyledCounterButton = styled(Button)<StyledCounterButtonProps>`\n ${(props) =>\n props.$active &&\n !props.disabled &&\n css`\n padding: 0 8px;\n\n svg {\n fill: var(--color-primary);\n }\n\n &:hover,\n &[aria-haspopup][aria-expanded=\"true\"] {\n background: var(--color-primary-300);\n }\n `}\n\n ${(props) =>\n props.$selected &&\n css`\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n background-color: var(--color-primary-200);\n `}\n\n ${(props) =>\n !props.$selected &&\n css`\n @media (max-width: 768px) {\n width: 32px;\n }\n `}\n\n ${(props) =>\n props.disabled &&\n css`\n pointer-events: none;\n opacity: 0.5;\n `}\n`;\n\nStyledCounterButton.displayName = \"StyledCounterButton\";\n\nexport const StyledCounterButtonReset = styled(Button)`\n background-color: var(--color-primary-200);\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n\n &:hover,\n &:focus-visible {\n background-color: var(--color-primary-300);\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n }\n`;\n\nStyledCounterButtonReset.displayName = \"StyledCounterButtonReset\";\n\nexport const StyledCounterButtonLabel = styled(Body2)<{ $active?: boolean }>`\n ${tw`tw-pointer-events-none`}\n\n @media (max-width: 768px) {\n display: none;\n }\n\n ${StyledCounterButton}:hover &&,\n ${StyledCounterButton}[aria-haspopup][aria-expanded=\"true\"] && {\n ${(props) =>\n !props.$active &&\n css`\n color: var(--color-theme-900);\n `}\n }\n\n ${(props) =>\n props.$active &&\n css`\n color: var(--color-primary);\n `}\n`;\n\nStyledCounterButtonLabel.displayName = \"StyledCounterButtonLabel\";\n\nexport const StyledBadge = styled(Badge)`\n margin-left: 4px;\n margin-right: -6px;\n`;\n\nStyledBadge.displayName = \"StyledBadge\";\n"],"mappings":"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","ignoreList":[]}
@@ -176,7 +176,6 @@ var Filter = exports.Filter = function Filter(_ref) {
176
176
  onClose: handleClose,
177
177
  position: position,
178
178
  target: /*#__PURE__*/_react.default.createElement(_CounterButton.CounterButton, {
179
- active: open,
180
179
  label: label,
181
180
  icon: icon,
182
181
  counter: count,
@@ -1 +1 @@
1
- {"version":3,"file":"Filter.js","names":["_react","_interopRequireWildcard","require","_reactFocusLock","_InputSubmenu","_StartMenu","_Styles","_Submenu","_Button","_CounterButton","_Icons","_Select","_Transitions","_excluded","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","_t","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","_extends","assign","bind","arguments","length","apply","_objectWithoutProperties","_objectWithoutPropertiesLoose","getOwnPropertySymbols","indexOf","propertyIsEnumerable","ownKeys","keys","filter","enumerable","push","_objectSpread","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","_toPropertyKey","value","configurable","writable","_toPrimitive","Symbol","toPrimitive","TypeError","String","Number","_slicedToArray","_arrayWithHoles","_iterableToArrayLimit","_unsupportedIterableToArray","_nonIterableRest","a","_arrayLikeToArray","toString","slice","constructor","name","Array","from","test","l","iterator","u","next","done","return","isArray","Filter","exports","_ref","data","_ref$selected","selected","label","clearAllText","_ref$resetLabel","resetLabel","onChange","_ref$width","width","noResultText","emptyFilterText","children","_ref$icon","icon","createElement","FilterIcon","_ref$position","position","_ref$disabled","disabled","className","_useState","useState","_useState2","open","setOpen","_useState3","_useState4","menu","setMenu","_useState5","_useState6","isLeft","setIsLeft","_useState7","_useState8","height","setHeight","_useState9","_useState0","enteredMenu","setEnteredMenu","_useState1","_useState10","setFilter","useEffect","handleOpen","useCallback","handleClose","handleHeight","element","_element$offsetHeight","offsetHeight","handleItemClick","setIndex","handleChange","selectedArray","newFilters","handleClearAll","event","stopPropagation","handleReset","handleInputSave","id","trim","handleInputClear","count","useMemo","c","values","entry","shouldRenderSubmenus","_entry$submenu","type","submenu","StyledMenu","onOpen","onClose","target","CounterButton","active","counter","tooltipText","onClearAll","labelClassName","ResizeTransition","in","style","SlideLeftRightTransition","direction","onEnter","onEntered","MoveFocusInside","StartMenu","onHeightChange","onItemClick","map","_ref2","index","_filter$id$","_filter$id","_filter$id2","title","searchPlaceholder","disableInternalSort","isSingleSelect","defaultValue","_ref2$type","submenuType","inputPlaceholder","_ref2$saveLabel","saveLabel","clearLabel","rest","key","concat","Submenu","onBack","indexPage","InputSubmenu","placeholder","onSave","onClear","Fragment","Select","options","autoHeightMax","keepSameOptionsOrder","Boolean","disableSearch","disabledInternalSort","StyledMenuFooter","Button","variant","size","onClick"],"sources":["../../../../src/components/Filter/Filter.tsx"],"sourcesContent":["import React, {\n FC,\n ReactElement,\n useCallback,\n useEffect,\n useMemo,\n useState,\n PropsWithChildren,\n} from \"react\";\nimport { MoveFocusInside } from \"react-focus-lock\";\n\nimport { Placement } from \"@popperjs/core\";\n\nimport { InputSubmenu } from \"./InputSubmenu\";\nimport { StartMenu } from \"./StartMenu\";\nimport { StyledMenu, StyledMenuFooter } from \"./Styles\";\nimport { Submenu } from \"./Submenu\";\nimport { Button } from \"../Button\";\nimport { CounterButton } from \"../CounterButton\";\nimport { FilterIcon } from \"../Icons\";\nimport { IOptionGroupProps, IOptionItemProps, Select } from \"../Select\";\nimport { ResizeTransition, SlideLeftRightTransition } from \"../Transitions\";\n\nexport type DataType = {\n id: number | string;\n title: string;\n searchPlaceholder?: string;\n disableInternalSort?: boolean;\n submenu: Array<IOptionGroupProps | IOptionItemProps>;\n isSingleSelect?: boolean;\n defaultValue?: string;\n emptyValue?: string;\n emptyAction?: (e: string | undefined) => void;\n /** Type of submenu - 'select' renders options list, 'input' renders an input field with save button */\n type?: \"select\" | \"input\";\n /** Placeholder text for input field (only used when type='input') */\n inputPlaceholder?: string;\n /** Label for the save button (only used when type='input') */\n saveLabel?: string;\n /** Label for the clear button (only used when type='input') */\n clearLabel?: string;\n};\n\nexport type SelectedType = {\n [key: number | string]: Array<string>;\n};\n\nexport interface FilterProps {\n /** Data rendered in submenus */\n data: Array<DataType>;\n /** Selected data inside submenus */\n selected?: SelectedType;\n /** Main filter label */\n label: string;\n /** Filter width */\n width?: number;\n /** Text displayed for the tooltip of clear all button */\n clearAllText: string;\n /** Handler for changes on the filter */\n onChange: (selected: SelectedType) => void;\n /** Label for reset button inside submenu */\n resetLabel?: string;\n /** Text to show when search results are empty */\n noResultText: string;\n /** Text to show when there are no submenus to display */\n emptyFilterText?: string;\n /** Position of the dropped menu. */\n position?: Placement;\n /** Icon of the trigger element. */\n icon?: ReactElement;\n /** Disabled state of the trigger. */\n disabled?: boolean;\n /** Applies passed classes for label text */\n className?: string;\n}\n\nexport const Filter: FC<PropsWithChildren<FilterProps>> = ({\n data,\n selected = {},\n label,\n clearAllText,\n resetLabel = \"Reset\",\n onChange,\n width = 260,\n noResultText,\n emptyFilterText,\n children,\n icon = <FilterIcon />,\n position = \"bottom-end\",\n disabled = false,\n className,\n}) => {\n const [open, setOpen] = useState(false);\n const [menu, setMenu] = useState<number | string>(\"index\");\n const [isLeft, setIsLeft] = useState(true);\n const [height, setHeight] = useState(0);\n const [enteredMenu, setEnteredMenu] = useState<number | string>(\"index\");\n const [filter, setFilter] = useState<SelectedType>(() => selected);\n\n useEffect(() => {\n if (Object.keys(selected).length > 0 || Object.keys(filter).length > 0) {\n setFilter(selected);\n }\n }, [selected, filter]);\n\n const handleOpen = useCallback(() => {\n setOpen(true);\n }, []);\n\n const handleClose = useCallback(() => {\n setOpen(false);\n setMenu(\"index\");\n setHeight(0);\n }, []);\n\n const handleHeight = useCallback((element) => {\n setHeight(element?.offsetHeight ?? 0);\n }, []);\n\n const handleItemClick = useCallback((value) => {\n setMenu(value);\n setIsLeft(true);\n }, []);\n\n const setIndex = useCallback(() => {\n setMenu(\"index\");\n setIsLeft(false);\n }, []);\n\n const handleChange = useCallback(\n (selectedArray) => {\n let newFilters = {};\n if (selectedArray.length) {\n newFilters = {\n ...filter,\n [menu]: selectedArray,\n };\n } else {\n newFilters = { ...filter };\n delete newFilters[menu];\n }\n setFilter(newFilters);\n onChange(newFilters);\n },\n [filter, menu, onChange]\n );\n\n const handleClearAll = useCallback(\n (event) => {\n event.stopPropagation();\n setFilter({});\n onChange({});\n },\n [onChange]\n );\n\n const handleReset = useCallback(() => {\n const newFilters = { ...filter };\n delete newFilters[menu];\n setFilter(newFilters);\n onChange(newFilters);\n }, [filter, menu, onChange]);\n\n const handleInputSave = useCallback(\n (id: number | string, value: string) => {\n let newFilters = {};\n if (value.trim()) {\n newFilters = {\n ...filter,\n [id]: [value],\n };\n } else {\n newFilters = { ...filter };\n delete newFilters[id];\n }\n setFilter(newFilters);\n onChange(newFilters);\n setIndex();\n },\n [filter, onChange, setIndex]\n );\n\n const handleInputClear = useCallback(\n (id: number | string) => {\n const newFilters = { ...filter };\n delete newFilters[id];\n setFilter(newFilters);\n onChange(newFilters);\n setIndex();\n },\n [filter, onChange, setIndex]\n );\n\n const count = useMemo(() => {\n let c = 0;\n\n Object.values(filter).forEach((entry) => {\n if (typeof entry === \"string\") {\n return (c += 1);\n }\n\n return (c += entry.length);\n });\n return c;\n }, [filter]);\n\n const shouldRenderSubmenus = useMemo(() => {\n if (data.length === 0) {\n return false;\n }\n\n for (const entry of data) {\n if (entry.type === \"input\" || entry.submenu?.length > 1) {\n return true;\n }\n }\n\n return false;\n }, [data]);\n\n return (\n <StyledMenu\n open={open}\n onOpen={handleOpen}\n onClose={handleClose}\n position={position}\n target={\n <CounterButton\n active={open}\n label={label}\n icon={icon}\n counter={count}\n tooltipText={clearAllText}\n onClearAll={handleClearAll}\n disabled={disabled}\n labelClassName={className}\n />\n }\n >\n <ResizeTransition in>\n <div style={{ height, width }}>\n <SlideLeftRightTransition\n in={menu === \"index\"}\n direction={isLeft ? \"left\" : \"right\"}\n onEnter={handleHeight}\n onEntered={() => setEnteredMenu(\"index\")}\n >\n <MoveFocusInside>\n <StartMenu\n data={data}\n selected={filter}\n style={{ width }}\n onHeightChange={setHeight}\n onItemClick={handleItemClick}\n shouldRenderSubmenus={shouldRenderSubmenus}\n emptyFilterText={emptyFilterText}\n >\n {children}\n </StartMenu>\n </MoveFocusInside>\n </SlideLeftRightTransition>\n {shouldRenderSubmenus &&\n data.map(\n (\n {\n id,\n title,\n submenu,\n searchPlaceholder,\n disableInternalSort,\n isSingleSelect,\n defaultValue,\n type: submenuType = \"select\",\n inputPlaceholder,\n saveLabel = \"Save\",\n clearLabel,\n ...rest\n }: DataType,\n index: number\n ) => (\n <SlideLeftRightTransition\n key={`filter-submenu-${index}`}\n in={menu === id}\n direction={isLeft ? \"left\" : \"right\"}\n onEnter={handleHeight}\n onEntered={() => setEnteredMenu(id)}\n >\n <Submenu\n title={title}\n onBack={setIndex}\n onHeightChange={setHeight}\n style={{ width }}\n indexPage={menu === \"index\"}\n >\n <MoveFocusInside disabled={enteredMenu !== id}>\n {submenuType === \"input\" ? (\n <InputSubmenu\n value={filter[id]?.[0] ?? \"\"}\n placeholder={inputPlaceholder}\n saveLabel={saveLabel}\n clearLabel={clearLabel}\n onSave={(value) => handleInputSave(id, value)}\n onClear={() => handleInputClear(id)}\n />\n ) : (\n <>\n <Select\n options={submenu}\n selected={filter[id]}\n onChange={handleChange}\n type={isSingleSelect ? \"single\" : \"multiple\"}\n autoHeightMax={255}\n placeholder={searchPlaceholder}\n noResultText={noResultText}\n keepSameOptionsOrder={Boolean(submenu.length <= 7)}\n disableSearch={Boolean(submenu.length <= 7)}\n disabledInternalSort={disableInternalSort}\n defaultValue={defaultValue}\n {...rest}\n />\n {filter[id]?.length ? (\n <StyledMenuFooter>\n <Button\n variant=\"text colored\"\n size=\"small\"\n onClick={handleReset}\n >\n {resetLabel}\n </Button>\n </StyledMenuFooter>\n ) : null}\n </>\n )}\n </MoveFocusInside>\n </Submenu>\n </SlideLeftRightTransition>\n )\n )}\n </div>\n </ResizeTransition>\n </StyledMenu>\n );\n};\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"Filter.js","names":["_react","_interopRequireWildcard","require","_reactFocusLock","_InputSubmenu","_StartMenu","_Styles","_Submenu","_Button","_CounterButton","_Icons","_Select","_Transitions","_excluded","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","_t","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","_extends","assign","bind","arguments","length","apply","_objectWithoutProperties","_objectWithoutPropertiesLoose","getOwnPropertySymbols","indexOf","propertyIsEnumerable","ownKeys","keys","filter","enumerable","push","_objectSpread","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","_toPropertyKey","value","configurable","writable","_toPrimitive","Symbol","toPrimitive","TypeError","String","Number","_slicedToArray","_arrayWithHoles","_iterableToArrayLimit","_unsupportedIterableToArray","_nonIterableRest","a","_arrayLikeToArray","toString","slice","constructor","name","Array","from","test","l","iterator","u","next","done","return","isArray","Filter","exports","_ref","data","_ref$selected","selected","label","clearAllText","_ref$resetLabel","resetLabel","onChange","_ref$width","width","noResultText","emptyFilterText","children","_ref$icon","icon","createElement","FilterIcon","_ref$position","position","_ref$disabled","disabled","className","_useState","useState","_useState2","open","setOpen","_useState3","_useState4","menu","setMenu","_useState5","_useState6","isLeft","setIsLeft","_useState7","_useState8","height","setHeight","_useState9","_useState0","enteredMenu","setEnteredMenu","_useState1","_useState10","setFilter","useEffect","handleOpen","useCallback","handleClose","handleHeight","element","_element$offsetHeight","offsetHeight","handleItemClick","setIndex","handleChange","selectedArray","newFilters","handleClearAll","event","stopPropagation","handleReset","handleInputSave","id","trim","handleInputClear","count","useMemo","c","values","entry","shouldRenderSubmenus","_entry$submenu","type","submenu","StyledMenu","onOpen","onClose","target","CounterButton","counter","tooltipText","onClearAll","labelClassName","ResizeTransition","in","style","SlideLeftRightTransition","direction","onEnter","onEntered","MoveFocusInside","StartMenu","onHeightChange","onItemClick","map","_ref2","index","_filter$id$","_filter$id","_filter$id2","title","searchPlaceholder","disableInternalSort","isSingleSelect","defaultValue","_ref2$type","submenuType","inputPlaceholder","_ref2$saveLabel","saveLabel","clearLabel","rest","key","concat","Submenu","onBack","indexPage","InputSubmenu","placeholder","onSave","onClear","Fragment","Select","options","autoHeightMax","keepSameOptionsOrder","Boolean","disableSearch","disabledInternalSort","StyledMenuFooter","Button","variant","size","onClick"],"sources":["../../../../src/components/Filter/Filter.tsx"],"sourcesContent":["import React, {\n FC,\n ReactElement,\n useCallback,\n useEffect,\n useMemo,\n useState,\n PropsWithChildren,\n} from \"react\";\nimport { MoveFocusInside } from \"react-focus-lock\";\n\nimport { Placement } from \"@popperjs/core\";\n\nimport { InputSubmenu } from \"./InputSubmenu\";\nimport { StartMenu } from \"./StartMenu\";\nimport { StyledMenu, StyledMenuFooter } from \"./Styles\";\nimport { Submenu } from \"./Submenu\";\nimport { Button } from \"../Button\";\nimport { CounterButton } from \"../CounterButton\";\nimport { FilterIcon } from \"../Icons\";\nimport { IOptionGroupProps, IOptionItemProps, Select } from \"../Select\";\nimport { ResizeTransition, SlideLeftRightTransition } from \"../Transitions\";\n\nexport type DataType = {\n id: number | string;\n title: string;\n searchPlaceholder?: string;\n disableInternalSort?: boolean;\n submenu: Array<IOptionGroupProps | IOptionItemProps>;\n isSingleSelect?: boolean;\n defaultValue?: string;\n emptyValue?: string;\n emptyAction?: (e: string | undefined) => void;\n /** Type of submenu - 'select' renders options list, 'input' renders an input field with save button */\n type?: \"select\" | \"input\";\n /** Placeholder text for input field (only used when type='input') */\n inputPlaceholder?: string;\n /** Label for the save button (only used when type='input') */\n saveLabel?: string;\n /** Label for the clear button (only used when type='input') */\n clearLabel?: string;\n};\n\nexport type SelectedType = {\n [key: number | string]: Array<string>;\n};\n\nexport interface FilterProps {\n /** Data rendered in submenus */\n data: Array<DataType>;\n /** Selected data inside submenus */\n selected?: SelectedType;\n /** Main filter label */\n label: string;\n /** Filter width */\n width?: number;\n /** Text displayed for the tooltip of clear all button */\n clearAllText: string;\n /** Handler for changes on the filter */\n onChange: (selected: SelectedType) => void;\n /** Label for reset button inside submenu */\n resetLabel?: string;\n /** Text to show when search results are empty */\n noResultText: string;\n /** Text to show when there are no submenus to display */\n emptyFilterText?: string;\n /** Position of the dropped menu. */\n position?: Placement;\n /** Icon of the trigger element. */\n icon?: ReactElement;\n /** Disabled state of the trigger. */\n disabled?: boolean;\n /** Applies passed classes for label text */\n className?: string;\n}\n\nexport const Filter: FC<PropsWithChildren<FilterProps>> = ({\n data,\n selected = {},\n label,\n clearAllText,\n resetLabel = \"Reset\",\n onChange,\n width = 260,\n noResultText,\n emptyFilterText,\n children,\n icon = <FilterIcon />,\n position = \"bottom-end\",\n disabled = false,\n className,\n}) => {\n const [open, setOpen] = useState(false);\n const [menu, setMenu] = useState<number | string>(\"index\");\n const [isLeft, setIsLeft] = useState(true);\n const [height, setHeight] = useState(0);\n const [enteredMenu, setEnteredMenu] = useState<number | string>(\"index\");\n const [filter, setFilter] = useState<SelectedType>(() => selected);\n\n useEffect(() => {\n if (Object.keys(selected).length > 0 || Object.keys(filter).length > 0) {\n setFilter(selected);\n }\n }, [selected, filter]);\n\n const handleOpen = useCallback(() => {\n setOpen(true);\n }, []);\n\n const handleClose = useCallback(() => {\n setOpen(false);\n setMenu(\"index\");\n setHeight(0);\n }, []);\n\n const handleHeight = useCallback((element) => {\n setHeight(element?.offsetHeight ?? 0);\n }, []);\n\n const handleItemClick = useCallback((value) => {\n setMenu(value);\n setIsLeft(true);\n }, []);\n\n const setIndex = useCallback(() => {\n setMenu(\"index\");\n setIsLeft(false);\n }, []);\n\n const handleChange = useCallback(\n (selectedArray) => {\n let newFilters = {};\n if (selectedArray.length) {\n newFilters = {\n ...filter,\n [menu]: selectedArray,\n };\n } else {\n newFilters = { ...filter };\n delete newFilters[menu];\n }\n setFilter(newFilters);\n onChange(newFilters);\n },\n [filter, menu, onChange]\n );\n\n const handleClearAll = useCallback(\n (event) => {\n event.stopPropagation();\n setFilter({});\n onChange({});\n },\n [onChange]\n );\n\n const handleReset = useCallback(() => {\n const newFilters = { ...filter };\n delete newFilters[menu];\n setFilter(newFilters);\n onChange(newFilters);\n }, [filter, menu, onChange]);\n\n const handleInputSave = useCallback(\n (id: number | string, value: string) => {\n let newFilters = {};\n if (value.trim()) {\n newFilters = {\n ...filter,\n [id]: [value],\n };\n } else {\n newFilters = { ...filter };\n delete newFilters[id];\n }\n setFilter(newFilters);\n onChange(newFilters);\n setIndex();\n },\n [filter, onChange, setIndex]\n );\n\n const handleInputClear = useCallback(\n (id: number | string) => {\n const newFilters = { ...filter };\n delete newFilters[id];\n setFilter(newFilters);\n onChange(newFilters);\n setIndex();\n },\n [filter, onChange, setIndex]\n );\n\n const count = useMemo(() => {\n let c = 0;\n\n Object.values(filter).forEach((entry) => {\n if (typeof entry === \"string\") {\n return (c += 1);\n }\n\n return (c += entry.length);\n });\n return c;\n }, [filter]);\n\n const shouldRenderSubmenus = useMemo(() => {\n if (data.length === 0) {\n return false;\n }\n\n for (const entry of data) {\n if (entry.type === \"input\" || entry.submenu?.length > 1) {\n return true;\n }\n }\n\n return false;\n }, [data]);\n\n return (\n <StyledMenu\n open={open}\n onOpen={handleOpen}\n onClose={handleClose}\n position={position}\n target={\n <CounterButton\n label={label}\n icon={icon}\n counter={count}\n tooltipText={clearAllText}\n onClearAll={handleClearAll}\n disabled={disabled}\n labelClassName={className}\n />\n }\n >\n <ResizeTransition in>\n <div style={{ height, width }}>\n <SlideLeftRightTransition\n in={menu === \"index\"}\n direction={isLeft ? \"left\" : \"right\"}\n onEnter={handleHeight}\n onEntered={() => setEnteredMenu(\"index\")}\n >\n <MoveFocusInside>\n <StartMenu\n data={data}\n selected={filter}\n style={{ width }}\n onHeightChange={setHeight}\n onItemClick={handleItemClick}\n shouldRenderSubmenus={shouldRenderSubmenus}\n emptyFilterText={emptyFilterText}\n >\n {children}\n </StartMenu>\n </MoveFocusInside>\n </SlideLeftRightTransition>\n {shouldRenderSubmenus &&\n data.map(\n (\n {\n id,\n title,\n submenu,\n searchPlaceholder,\n disableInternalSort,\n isSingleSelect,\n defaultValue,\n type: submenuType = \"select\",\n inputPlaceholder,\n saveLabel = \"Save\",\n clearLabel,\n ...rest\n }: DataType,\n index: number\n ) => (\n <SlideLeftRightTransition\n key={`filter-submenu-${index}`}\n in={menu === id}\n direction={isLeft ? \"left\" : \"right\"}\n onEnter={handleHeight}\n onEntered={() => setEnteredMenu(id)}\n >\n <Submenu\n title={title}\n onBack={setIndex}\n onHeightChange={setHeight}\n style={{ width }}\n indexPage={menu === \"index\"}\n >\n <MoveFocusInside disabled={enteredMenu !== id}>\n {submenuType === \"input\" ? (\n <InputSubmenu\n value={filter[id]?.[0] ?? \"\"}\n placeholder={inputPlaceholder}\n saveLabel={saveLabel}\n clearLabel={clearLabel}\n onSave={(value) => handleInputSave(id, value)}\n onClear={() => handleInputClear(id)}\n />\n ) : (\n <>\n <Select\n options={submenu}\n selected={filter[id]}\n onChange={handleChange}\n type={isSingleSelect ? \"single\" : \"multiple\"}\n autoHeightMax={255}\n placeholder={searchPlaceholder}\n noResultText={noResultText}\n keepSameOptionsOrder={Boolean(submenu.length <= 7)}\n disableSearch={Boolean(submenu.length <= 7)}\n disabledInternalSort={disableInternalSort}\n defaultValue={defaultValue}\n {...rest}\n />\n {filter[id]?.length ? (\n <StyledMenuFooter>\n <Button\n variant=\"text colored\"\n size=\"small\"\n onClick={handleReset}\n >\n {resetLabel}\n </Button>\n </StyledMenuFooter>\n ) : null}\n </>\n )}\n </MoveFocusInside>\n </Submenu>\n </SlideLeftRightTransition>\n )\n )}\n </div>\n </ResizeTransition>\n </StyledMenu>\n );\n};\n"],"mappings":"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","ignoreList":[]}
@@ -24,30 +24,102 @@ function _arrayWithHoles(r) { if (Array.isArray(r)) return r; }
24
24
  // source: https://twitter.com/mattpocockuk/status/1671908303918473217/photo/1
25
25
  // eslint-disable-next-line @typescript-eslint/ban-types
26
26
 
27
- var Menu = exports.Menu = function Menu(_ref) {
28
- var children = _ref.children,
29
- _ref$disableFocusLock = _ref.disableFocusLock,
30
- disableFocusLock = _ref$disableFocusLock === void 0 ? false : _ref$disableFocusLock,
31
- onMenuClick = _ref.onMenuClick,
32
- _ref$handleScroll = _ref.handleScroll,
33
- handleScroll = _ref$handleScroll === void 0 ? true : _ref$handleScroll,
34
- _ref$mode = _ref.mode,
35
- mode = _ref$mode === void 0 ? "normal" : _ref$mode,
36
- _ref$open = _ref.open,
37
- defaultOpen = _ref$open === void 0 ? false : _ref$open,
38
- onOpen = _ref.onOpen,
39
- onClose = _ref.onClose,
40
- onBeforeClose = _ref.onBeforeClose,
41
- _ref$position = _ref.position,
42
- position = _ref$position === void 0 ? "bottom-start" : _ref$position,
43
- target = _ref.target,
44
- className = _ref.className,
45
- menuClassName = _ref.menuClassName,
46
- popperClassName = _ref.popperClassName,
47
- backgroundElementClass = _ref.backgroundElementClass,
48
- _ref$windowAbsolutely = _ref.windowAbsolutelyPositioned,
49
- windowAbsolutelyPositioned = _ref$windowAbsolutely === void 0 ? false : _ref$windowAbsolutely,
50
- onPopperOpen = _ref.onPopperOpen;
27
+ var isFocusVisible = function isFocusVisible(element) {
28
+ try {
29
+ return Boolean(element === null || element === void 0 ? void 0 : element.matches(":focus-visible"));
30
+ } catch (_unused) {
31
+ return false;
32
+ }
33
+ };
34
+ var TRIGGER = 'button, [role="button"], a[href]';
35
+
36
+ // A target can wrap its button, as a div around a Tooltip or a CounterButton does.
37
+ var triggerOf = function triggerOf(node) {
38
+ var _node$querySelector;
39
+ return node.matches(TRIGGER) ? node : (_node$querySelector = node.querySelector(TRIGGER)) !== null && _node$querySelector !== void 0 ? _node$querySelector : node;
40
+ };
41
+ var visibleBoxOf = function visibleBoxOf(node) {
42
+ var rects = [node, ...Array.from(node.children)].map(function (element) {
43
+ return element.getBoundingClientRect();
44
+ });
45
+ return {
46
+ left: Math.min(...rects.map(function (rect) {
47
+ return rect.left;
48
+ })),
49
+ right: Math.max(...rects.map(function (rect) {
50
+ return rect.right;
51
+ })),
52
+ top: Math.min(...rects.map(function (rect) {
53
+ return rect.top;
54
+ })),
55
+ bottom: Math.max(...rects.map(function (rect) {
56
+ return rect.bottom;
57
+ }))
58
+ };
59
+ };
60
+
61
+ // A control group pulls a wrapped button out of its wrapper by negative margins, so the menu lines up with the button.
62
+ var offsetToVisibleBox = function offsetToVisibleBox(node) {
63
+ return {
64
+ name: "offset",
65
+ options: {
66
+ offset: function offset(_ref) {
67
+ var placement = _ref.placement;
68
+ if (triggerOf(node) === node) {
69
+ return [0, 0];
70
+ }
71
+ var wrapper = node.getBoundingClientRect();
72
+ var box = visibleBoxOf(node);
73
+ var _placement$split = placement.split("-"),
74
+ _placement$split2 = _slicedToArray(_placement$split, 2),
75
+ side = _placement$split2[0],
76
+ align = _placement$split2[1];
77
+ var vertical = side === "top" || side === "bottom";
78
+ var start = vertical ? "left" : "top";
79
+ var end = vertical ? "right" : "bottom";
80
+ var skidding = align === "start" ? box[start] - wrapper[start] : align === "end" ? box[end] - wrapper[end] : (box[start] + box[end] - wrapper[start] - wrapper[end]) / 2;
81
+ var distance = {
82
+ bottom: box.bottom - wrapper.bottom,
83
+ top: wrapper.top - box.top,
84
+ right: box.right - wrapper.right,
85
+ left: wrapper.left - box.left
86
+ }[side];
87
+ return [skidding, distance !== null && distance !== void 0 ? distance : 0];
88
+ }
89
+ }
90
+ };
91
+ };
92
+
93
+ // A menu opened with the pointer hands the focus back without a focus ring, so its trigger does not stay lit.
94
+ var returnFocusOptions = function returnFocusOptions(visible) {
95
+ return {
96
+ focusVisible: visible
97
+ };
98
+ };
99
+ var Menu = exports.Menu = function Menu(_ref2) {
100
+ var children = _ref2.children,
101
+ _ref2$disableFocusLoc = _ref2.disableFocusLock,
102
+ disableFocusLock = _ref2$disableFocusLoc === void 0 ? false : _ref2$disableFocusLoc,
103
+ onMenuClick = _ref2.onMenuClick,
104
+ _ref2$handleScroll = _ref2.handleScroll,
105
+ handleScroll = _ref2$handleScroll === void 0 ? true : _ref2$handleScroll,
106
+ _ref2$mode = _ref2.mode,
107
+ mode = _ref2$mode === void 0 ? "normal" : _ref2$mode,
108
+ _ref2$open = _ref2.open,
109
+ defaultOpen = _ref2$open === void 0 ? false : _ref2$open,
110
+ onOpen = _ref2.onOpen,
111
+ onClose = _ref2.onClose,
112
+ onBeforeClose = _ref2.onBeforeClose,
113
+ _ref2$position = _ref2.position,
114
+ position = _ref2$position === void 0 ? "bottom-start" : _ref2$position,
115
+ target = _ref2.target,
116
+ className = _ref2.className,
117
+ menuClassName = _ref2.menuClassName,
118
+ popperClassName = _ref2.popperClassName,
119
+ backgroundElementClass = _ref2.backgroundElementClass,
120
+ _ref2$windowAbsolutel = _ref2.windowAbsolutelyPositioned,
121
+ windowAbsolutelyPositioned = _ref2$windowAbsolutel === void 0 ? false : _ref2$windowAbsolutel,
122
+ onPopperOpen = _ref2.onPopperOpen;
51
123
  var _useState = (0, _react.useState)(defaultOpen),
52
124
  _useState2 = _slicedToArray(_useState, 2),
53
125
  open = _useState2[0],
@@ -64,12 +136,14 @@ var Menu = exports.Menu = function Menu(_ref) {
64
136
  var isOpenAtLeastOnce = (0, _react.useRef)(false);
65
137
  var wasOpen = (0, _react.useRef)(open);
66
138
  var focusBeforeOpen = (0, _react.useRef)(null);
139
+ var focusWasVisible = (0, _react.useRef)(false);
67
140
  var returnFocusTo = (0, _react.useRef)(null);
68
141
  var popperRef = (0, _react.useRef)(null);
69
142
 
70
143
  // Read on the render that opens the menu, before the focus lock moves the focus inside it.
71
144
  if (open && !wasOpen.current && typeof document !== "undefined") {
72
145
  focusBeforeOpen.current = document.activeElement;
146
+ focusWasVisible.current = isFocusVisible(document.activeElement);
73
147
  }
74
148
  wasOpen.current = open;
75
149
  (0, _react.useEffect)(function () {
@@ -80,8 +154,31 @@ var Menu = exports.Menu = function Menu(_ref) {
80
154
  setExited(false);
81
155
  }
82
156
  }, [open]);
157
+
158
+ // Set on the node itself, so the trigger gets it also through a wrapper such as Tooltip.
159
+ var expandedTrigger = (0, _react.useRef)(null);
160
+ (0, _react.useEffect)(function () {
161
+ var node = elementRef.current;
162
+ if (!node) {
163
+ return;
164
+ }
165
+ var trigger = triggerOf(node);
166
+ if (!trigger.hasAttribute("aria-haspopup")) {
167
+ trigger.setAttribute("aria-haspopup", "true");
168
+ }
169
+ if (open) {
170
+ trigger.setAttribute("aria-expanded", "true");
171
+ expandedTrigger.current = trigger;
172
+ } else if (expandedTrigger.current) {
173
+ expandedTrigger.current.removeAttribute("aria-expanded");
174
+ expandedTrigger.current = null;
175
+ }
176
+ }, [open, childNode]);
83
177
  var handleRefRef = (0, _useForkRef.default)(target ? target.ref : undefined, setChildNode);
84
178
  var handleRef = (0, _useForkRef.default)(handleRefRef, elementRef);
179
+ var popperModifiers = (0, _react.useMemo)(function () {
180
+ return childNode instanceof HTMLElement ? [offsetToVisibleBox(childNode)] : undefined;
181
+ }, [childNode]);
85
182
  var handleOpen = (0, _react.useCallback)(function (event) {
86
183
  var _target$props;
87
184
  event === null || event === void 0 || event.preventDefault();
@@ -112,7 +209,7 @@ var Menu = exports.Menu = function Menu(_ref) {
112
209
  var previous = focusBeforeOpen.current;
113
210
  var returnTo = previous instanceof HTMLElement && previous.isConnected ? previous : elementRef.current;
114
211
  returnFocusTo.current = returnTo;
115
- returnTo === null || returnTo === void 0 || returnTo.focus();
212
+ returnTo === null || returnTo === void 0 || returnTo.focus(returnFocusOptions(focusWasVisible.current));
116
213
  isOpenAtLeastOnce.current = false;
117
214
  }
118
215
  }, [open]);
@@ -127,7 +224,7 @@ var Menu = exports.Menu = function Menu(_ref) {
127
224
  var _popperRef$current;
128
225
  if ((_popperRef$current = popperRef.current) !== null && _popperRef$current !== void 0 && _popperRef$current.contains(event.target)) {
129
226
  var _returnFocusTo$curren;
130
- (_returnFocusTo$curren = returnFocusTo.current) === null || _returnFocusTo$curren === void 0 || _returnFocusTo$curren.focus();
227
+ (_returnFocusTo$curren = returnFocusTo.current) === null || _returnFocusTo$curren === void 0 || _returnFocusTo$curren.focus(returnFocusOptions(focusWasVisible.current));
131
228
  }
132
229
  };
133
230
  document.addEventListener("focusin", keepFocusOut, true);
@@ -160,10 +257,11 @@ var Menu = exports.Menu = function Menu(_ref) {
160
257
  className: popperClassName,
161
258
  tabIndex: -1,
162
259
  afterWrite: onPopperOpen,
260
+ modifiers: popperModifiers,
163
261
  transition: true
164
- }, function (_ref2) {
165
- var placement = _ref2.placement,
166
- transitionProps = _ref2.transitionProps;
262
+ }, function (_ref3) {
263
+ var placement = _ref3.placement,
264
+ transitionProps = _ref3.transitionProps;
167
265
  return /*#__PURE__*/_react.default.createElement(_Transitions.Grow, {
168
266
  placement: placement,
169
267
  in: transitionProps === null || transitionProps === void 0 ? void 0 : transitionProps.in,