@activecollab/components 2.0.307 → 2.0.308
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/presentation/shared/FloatingControls.js +32 -0
- package/dist/cjs/presentation/shared/FloatingControls.js.map +1 -0
- package/dist/cjs/presentation/shared/MainLogo.js +50 -0
- package/dist/cjs/presentation/shared/MainLogo.js.map +1 -0
- package/dist/cjs/presentation/shared/PresentationShell.js +299 -0
- package/dist/cjs/presentation/shared/PresentationShell.js.map +1 -0
- package/dist/cjs/presentation/shared/RoundAvatar.js +38 -0
- package/dist/cjs/presentation/shared/RoundAvatar.js.map +1 -0
- package/dist/cjs/presentation/shared/TaskOptionsMenu.js +148 -0
- package/dist/cjs/presentation/shared/TaskOptionsMenu.js.map +1 -0
- package/dist/cjs/presentation/shared/headers.js +221 -0
- package/dist/cjs/presentation/shared/headers.js.map +1 -0
- package/dist/cjs/presentation/shared/index.js +96 -0
- package/dist/cjs/presentation/shared/index.js.map +1 -0
- package/dist/cjs/presentation/shared/tokens.js +28 -0
- package/dist/cjs/presentation/shared/tokens.js.map +1 -0
- package/dist/esm/presentation/shared/FloatingControls.d.ts +7 -0
- package/dist/esm/presentation/shared/FloatingControls.d.ts.map +1 -0
- package/dist/esm/presentation/shared/FloatingControls.js +23 -0
- package/dist/esm/presentation/shared/FloatingControls.js.map +1 -0
- package/dist/esm/presentation/shared/MainLogo.d.ts +10 -0
- package/dist/esm/presentation/shared/MainLogo.d.ts.map +1 -0
- package/dist/esm/presentation/shared/MainLogo.js +42 -0
- package/dist/esm/presentation/shared/MainLogo.js.map +1 -0
- package/dist/esm/presentation/shared/PresentationShell.d.ts +22 -0
- package/dist/esm/presentation/shared/PresentationShell.d.ts.map +1 -0
- package/dist/esm/presentation/shared/PresentationShell.js +272 -0
- package/dist/esm/presentation/shared/PresentationShell.js.map +1 -0
- package/dist/esm/presentation/shared/RoundAvatar.d.ts +13 -0
- package/dist/esm/presentation/shared/RoundAvatar.d.ts.map +1 -0
- package/dist/esm/presentation/shared/RoundAvatar.js +26 -0
- package/dist/esm/presentation/shared/RoundAvatar.js.map +1 -0
- package/dist/esm/presentation/shared/TaskOptionsMenu.d.ts +22 -0
- package/dist/esm/presentation/shared/TaskOptionsMenu.d.ts.map +1 -0
- package/dist/esm/presentation/shared/TaskOptionsMenu.js +119 -0
- package/dist/esm/presentation/shared/TaskOptionsMenu.js.map +1 -0
- package/dist/esm/presentation/shared/headers.d.ts +28 -0
- package/dist/esm/presentation/shared/headers.d.ts.map +1 -0
- package/dist/esm/presentation/shared/headers.js +194 -0
- package/dist/esm/presentation/shared/headers.js.map +1 -0
- package/dist/esm/presentation/shared/index.d.ts +17 -0
- package/dist/esm/presentation/shared/index.d.ts.map +1 -0
- package/dist/esm/presentation/shared/index.js +14 -0
- package/dist/esm/presentation/shared/index.js.map +1 -0
- package/dist/esm/presentation/shared/tokens.d.ts +21 -0
- package/dist/esm/presentation/shared/tokens.d.ts.map +1 -0
- package/dist/esm/presentation/shared/tokens.js +22 -0
- package/dist/esm/presentation/shared/tokens.js.map +1 -0
- package/package.json +1 -1
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import styled from "styled-components";
|
|
3
|
+
import { IconButton } from "../../components/IconButton";
|
|
4
|
+
import { ChatIcon } from "../../components/Icons";
|
|
5
|
+
const StyledFloatingControls = styled.div.withConfig({
|
|
6
|
+
displayName: "FloatingControls__StyledFloatingControls",
|
|
7
|
+
componentId: "sc-1lhg61f-0"
|
|
8
|
+
})(["position:fixed;right:24px;bottom:24px;display:flex;flex-direction:column;gap:12px;align-items:flex-end;z-index:40;"]);
|
|
9
|
+
|
|
10
|
+
/* Chat-hub button (mirrors the app's .chat-hub-button): a contained
|
|
11
|
+
IconButton, 48px, with the ChatIcon. */
|
|
12
|
+
const ChatHubButton = styled(IconButton).withConfig({
|
|
13
|
+
displayName: "FloatingControls__ChatHubButton",
|
|
14
|
+
componentId: "sc-1lhg61f-1"
|
|
15
|
+
})(["&&{width:48px;height:48px;}box-shadow:0 4px 12px rgba(0,0,0,0.25);"]);
|
|
16
|
+
|
|
17
|
+
/** The bottom-right floating chat-hub button. */
|
|
18
|
+
export const FloatingControls = () => /*#__PURE__*/React.createElement(StyledFloatingControls, null, /*#__PURE__*/React.createElement(ChatHubButton, {
|
|
19
|
+
variant: "contained",
|
|
20
|
+
className: "chat-hub-button"
|
|
21
|
+
}, /*#__PURE__*/React.createElement(ChatIcon, null)));
|
|
22
|
+
FloatingControls.displayName = "FloatingControls";
|
|
23
|
+
//# sourceMappingURL=FloatingControls.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FloatingControls.js","names":["React","styled","IconButton","ChatIcon","StyledFloatingControls","div","withConfig","displayName","componentId","ChatHubButton","FloatingControls","createElement","variant","className"],"sources":["../../../../src/presentation/shared/FloatingControls.tsx"],"sourcesContent":["import React, { ReactElement } from \"react\";\n\nimport styled from \"styled-components\";\n\nimport { IconButton } from \"../../components/IconButton\";\nimport { ChatIcon } from \"../../components/Icons\";\n\nconst StyledFloatingControls = styled.div`\n position: fixed;\n right: 24px;\n bottom: 24px;\n display: flex;\n flex-direction: column;\n gap: 12px;\n align-items: flex-end;\n z-index: 40;\n`;\n\n/* Chat-hub button (mirrors the app's .chat-hub-button): a contained\n IconButton, 48px, with the ChatIcon. */\nconst ChatHubButton = styled(IconButton)`\n && {\n width: 48px;\n height: 48px;\n }\n box-shadow: 0 4px 12px rgba(0, 0, 0, 0.25);\n`;\n\n/** The bottom-right floating chat-hub button. */\nexport const FloatingControls = (): ReactElement => (\n <StyledFloatingControls>\n <ChatHubButton variant=\"contained\" className=\"chat-hub-button\">\n <ChatIcon />\n </ChatHubButton>\n </StyledFloatingControls>\n);\n\nFloatingControls.displayName = \"FloatingControls\";\n"],"mappings":"AAAA,OAAOA,KAAK,MAAwB,OAAO;AAE3C,OAAOC,MAAM,MAAM,mBAAmB;AAEtC,SAASC,UAAU,QAAQ,6BAA6B;AACxD,SAASC,QAAQ,QAAQ,wBAAwB;AAEjD,MAAMC,sBAAsB,GAAGH,MAAM,CAACI,GAAG,CAAAC,UAAA;EAAAC,WAAA;EAAAC,WAAA;AAAA,0HASxC;;AAED;AACA;AACA,MAAMC,aAAa,GAAGR,MAAM,CAACC,UAAU,CAAC,CAAAI,UAAA;EAAAC,WAAA;EAAAC,WAAA;AAAA,0EAMvC;;AAED;AACA,OAAO,MAAME,gBAAgB,GAAGA,CAAA,kBAC9BV,KAAA,CAAAW,aAAA,CAACP,sBAAsB,qBACrBJ,KAAA,CAAAW,aAAA,CAACF,aAAa;EAACG,OAAO,EAAC,WAAW;EAACC,SAAS,EAAC;AAAiB,gBAC5Db,KAAA,CAAAW,aAAA,CAACR,QAAQ,MAAE,CACE,CACO,CACzB;AAEDO,gBAAgB,CAACH,WAAW,GAAG,kBAAkB","ignoreList":[]}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import React, { ReactElement } from "react";
|
|
2
|
+
/**
|
|
3
|
+
* ActiveCollab word-mark, copied verbatim from new-activecollab-front
|
|
4
|
+
* (src/components/svg). Used in the presentation main-menu header.
|
|
5
|
+
*/
|
|
6
|
+
export declare const MainLogo: {
|
|
7
|
+
(props: React.SVGProps<SVGSVGElement>): ReactElement;
|
|
8
|
+
displayName: string;
|
|
9
|
+
};
|
|
10
|
+
//# sourceMappingURL=MainLogo.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MainLogo.d.ts","sourceRoot":"","sources":["../../../../src/presentation/shared/MainLogo.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,YAAY,EAAE,MAAM,OAAO,CAAC;AAE5C;;;GAGG;AACH,eAAO,MAAM,QAAQ;YACZ,KAAK,CAAC,QAAQ,CAAC,aAAa,CAAC,GACnC,YAAY;;CAoCd,CAAC"}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import _extends from "@babel/runtime/helpers/esm/extends";
|
|
2
|
+
import React from "react";
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* ActiveCollab word-mark, copied verbatim from new-activecollab-front
|
|
6
|
+
* (src/components/svg). Used in the presentation main-menu header.
|
|
7
|
+
*/
|
|
8
|
+
export const MainLogo = props => /*#__PURE__*/React.createElement("svg", _extends({
|
|
9
|
+
width: "134px",
|
|
10
|
+
height: "26px",
|
|
11
|
+
viewBox: "0 0 134 26",
|
|
12
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
13
|
+
"data-testid": "ac-logo"
|
|
14
|
+
}, props), /*#__PURE__*/React.createElement("g", {
|
|
15
|
+
stroke: "none",
|
|
16
|
+
strokeWidth: "1",
|
|
17
|
+
fill: "none",
|
|
18
|
+
fillRule: "evenodd"
|
|
19
|
+
}, /*#__PURE__*/React.createElement("g", {
|
|
20
|
+
transform: "translate(-32.000000, -27.000000)"
|
|
21
|
+
}, /*#__PURE__*/React.createElement("g", {
|
|
22
|
+
transform: "translate(0.000000, 21.000000)"
|
|
23
|
+
}, /*#__PURE__*/React.createElement("g", {
|
|
24
|
+
transform: "translate(0.000000, 6.000000)"
|
|
25
|
+
}, /*#__PURE__*/React.createElement("g", {
|
|
26
|
+
transform: "translate(32.000000, 0.000000)"
|
|
27
|
+
}, /*#__PURE__*/React.createElement("path", {
|
|
28
|
+
d: "M129.852335,18.2758612 C131.440323,18.2758612 132.480457,17.0286478 132.480457,15.5069254 C132.480457,13.9765149 131.424681,12.7455686 129.852335,12.7455686 C128.304649,12.7455686 127.224765,13.9358469 127.224765,15.5069254 C127.224765,17.085583 128.304649,18.2758612 129.852335,18.2758612 Z M130.005631,11.4990946 C132.149756,11.4990946 133.83436,13.1833041 133.83436,15.5069254 C133.83436,17.8303618 132.149756,19.5145713 130.005631,19.5145713 C128.787909,19.5145713 127.910826,19.044856 127.305738,18.3242931 L127.305738,18.8831083 C127.305738,19.1424592 127.096864,19.3528236 126.838671,19.3528236 L126.459203,19.3528236 C126.201562,19.3528236 125.992137,19.1424592 125.992137,18.8831083 L125.992137,8.16265548 C125.992137,7.90404401 126.201562,7.69367957 126.459203,7.69367957 L126.838671,7.69367957 C127.096864,7.69367957 127.305738,7.90404401 127.305738,8.16265548 L127.305738,12.689188 C127.910826,11.96881 128.787909,11.4990946 130.005631,11.4990946 Z M124.161984,12.1304652 L124.161984,18.8832007 C124.161984,19.1425516 123.953111,19.352916 123.694918,19.352916 L123.307536,19.352916 C123.049343,19.352916 122.840654,19.1425516 122.840654,18.8832007 L122.840654,18.3242006 C122.228204,19.0449484 121.341183,19.5146637 120.140024,19.5146637 C117.979337,19.5146637 116.310559,17.8302694 116.310559,15.506833 C116.310559,13.1833966 117.979337,11.4990022 120.140024,11.4990022 C121.341183,11.4990022 122.228204,11.9607688 122.840654,12.6972292 L122.840654,12.1304652 C122.840654,11.8711144 123.049343,11.6607499 123.307536,11.6607499 L123.694918,11.6607499 C123.953111,11.6607499 124.161984,11.8711144 124.161984,12.1304652 Z M122.920154,15.506833 C122.920154,13.9359393 121.840087,12.7454762 120.292584,12.7454762 C118.696867,12.7454762 117.657285,13.9766073 117.657285,15.506833 C117.657285,17.0285553 118.713797,18.2757688 120.292584,18.2757688 C121.840087,18.2757688 122.920154,17.0854905 122.920154,15.506833 Z M114.932309,8.16265548 L114.932309,18.8831083 C114.932309,19.1424592 114.722883,19.3528236 114.46469,19.3528236 L114.085038,19.3528236 C113.827581,19.3528236 113.618156,19.1424592 113.618156,18.8831083 L113.618156,8.16265548 C113.618156,7.90404401 113.827581,7.69367957 114.085038,7.69367957 L114.46469,7.69367957 C114.722883,7.69367957 114.932309,7.90404401 114.932309,8.16265548 Z M111.658152,8.16265548 L111.658152,18.8831083 C111.658152,19.1424592 111.449463,19.3528236 111.19127,19.3528236 L110.811617,19.3528236 C110.553976,19.3528236 110.344735,19.1424592 110.344735,18.8831083 L110.344735,8.16265548 C110.344735,7.90404401 110.553976,7.69367957 110.811617,7.69367957 L111.19127,7.69367957 C111.449463,7.69367957 111.658152,7.90404401 111.658152,8.16265548 Z M104.988857,11.4990022 C107.309835,11.4990022 109.04247,13.2153764 109.04247,15.506833 C109.04247,17.7982895 107.309835,19.5146637 104.988857,19.5146637 C102.667144,19.5146637 100.942238,17.7982895 100.942238,15.506833 C100.942238,13.2153764 102.667144,11.4990022 104.988857,11.4990022 Z M107.688751,15.506833 C107.688751,13.8952713 106.519429,12.7454762 104.988857,12.7454762 C103.449084,12.7454762 102.288228,13.8952713 102.288228,15.506833 C102.288228,17.1176552 103.449084,18.2757688 104.988857,18.2757688 C106.519429,18.2757688 107.688751,17.1176552 107.688751,15.506833 Z M100.292357,9.78608481 C100.458719,9.99885236 100.405903,10.3101474 100.182123,10.4613584 L99.7568316,10.748992 C99.558632,10.8826418 99.2919736,10.8451163 99.1386772,10.6611861 C98.3880218,9.75909605 97.2753809,9.21543892 95.9568111,9.21543892 C93.4740722,9.21543892 91.5958695,11.0214675 91.5958695,13.6850363 C91.5958695,16.348605 93.4740722,18.154079 95.9568111,18.154079 C97.2481445,18.154079 98.3672265,17.6279831 99.1204584,16.729775 C99.2781714,16.5412234 99.5547674,16.5070253 99.752967,16.6526907 L100.160592,16.9512307 C100.37701,17.1098359 100.419521,17.420946 100.248006,17.6272437 C98.9971587,19.1365808 96.804634,19.8813596 94.4608372,19.3534151 C92.1012138,18.8208493 90.3827485,16.809817 90.1481112,14.3924745 C89.7828131,10.6279123 92.341188,7.84770036 95.9568111,7.84770036 C97.7391346,7.84770036 99.34479,8.57288462 100.292357,9.78608481 Z M88.4250267,15.4825801 L88.4250267,15.5108628 C88.4224503,15.7687348 88.2111847,15.9765113 87.9542798,15.9765113 L82.3796651,15.9765113 C82.574,17.5716209 83.6623491,18.3563284 84.9836793,18.3563284 C85.7335986,18.3563284 86.4165312,18.1219328 87.0008241,17.7132195 C87.2028883,17.5716209 87.4807725,17.6174649 87.6320446,17.8134106 L87.7709867,17.992165 C87.9294359,18.1971686 87.8942863,18.495339 87.6881735,18.6519107 C86.8293089,19.3029683 85.8850547,19.5146268 84.9028904,19.5146268 C82.6227678,19.5146268 81.0178485,17.9030651 81.0178485,15.506796 C81.0178485,13.1426916 82.630681,11.4991501 84.8219176,11.4991501 C86.918011,11.4991501 88.401655,13.1262395 88.4250267,15.4825801 Z M82.3965958,14.9074977 L87.0797727,14.9074977 C86.9100977,13.547523 86.0479206,12.6729763 84.7983618,12.6729763 C83.4516356,12.6729763 82.5901946,13.5959549 82.3965958,14.9074977 Z M80.0196737,11.6608054 C80.3535028,11.6608054 80.5793067,12.0022317 80.4508543,12.3114933 L77.6341022,19.0725472 C77.5610426,19.2466801 77.3915517,19.3605505 77.2031057,19.3605505 L76.2770704,19.3605505 C76.0884404,19.3605505 75.9189494,19.2472347 75.8458898,19.0731017 L73.0149675,12.311863 C72.8850428,12.0027862 73.1113988,11.6608054 73.4452279,11.6608054 L73.8620542,11.6608054 C74.0517884,11.6608054 74.2227516,11.7767091 74.294523,11.9536149 L76.7478173,18.0164733 L79.2084727,11.9530604 C79.2800601,11.7761546 79.4510232,11.6608054 79.6407574,11.6608054 L80.0196737,11.6608054 Z M71.9097061,8.58978033 C71.9351021,9.09683626 71.5210363,9.53771428 71.0169801,9.56266964 C70.4775903,9.58947355 70.0407048,9.18408759 70.0407048,8.64080017 C70.0407048,8.10638577 70.450906,7.69360563 70.9667401,7.69360563 C71.4746609,7.69360563 71.8843101,8.08087584 71.9097061,8.58978033 Z M71.6364594,12.1305207 L71.6364594,18.8830713 C71.6364594,19.142607 71.4277702,19.3527866 71.1695772,19.3527866 L70.7899248,19.3527866 C70.5317317,19.3527866 70.3230425,19.142607 70.3230425,18.8830713 L70.3230425,12.1305207 C70.3230425,11.8711698 70.5317317,11.6608054 70.7899248,11.6608054 L71.1695772,11.6608054 C71.4277702,11.6608054 71.6364594,11.8711698 71.6364594,12.1305207 Z M68.8930799,18.3603397 C69.0345984,18.5882653 68.9576741,18.8882842 68.724325,19.0199006 C68.2044423,19.3121556 67.5763504,19.5145713 66.8407854,19.5145713 C65.1882025,19.5145713 64.1891076,18.5995414 64.1891076,16.6400836 L64.1891076,12.8673878 L63.0203377,12.8673878 C62.7621446,12.8673878 62.5529034,12.6572082 62.5529034,12.3978573 L62.5529034,12.1305577 C62.5529034,11.8712068 62.7621446,11.6608423 63.0203377,11.6608423 L64.1891076,11.6608423 L64.1891076,9.71783652 C64.1891076,9.45848564 64.3985329,9.2481212 64.656726,9.2481212 L65.0435555,9.2481212 C65.3017486,9.2481212 65.5109899,9.45848564 65.5109899,9.71783652 L65.5109899,11.6608423 L68.2598351,11.6608423 C68.5180282,11.6608423 68.7274535,11.8712068 68.7274535,12.1305577 L68.7274535,12.3978573 C68.7274535,12.6572082 68.5180282,12.8673878 68.2598351,12.8673878 L65.5109899,12.8673878 L65.5109899,16.6156828 C65.5109899,17.7734266 66.1234393,18.2758612 66.9541474,18.2758612 C67.3761266,18.2758612 67.7857757,18.1564452 68.1496016,17.9730695 C68.366204,17.864375 68.6289978,17.9364683 68.7574503,18.1427659 L68.8930799,18.3603397 Z M61.9324119,17.9725889 C62.1085279,18.1709378 62.0857082,18.4750234 61.8834601,18.6465684 C61.2143296,19.2138869 60.3449754,19.5146452 59.3850787,19.5146452 C57.0157018,19.5146452 55.4107825,17.7982711 55.4107825,15.5068145 C55.4107825,13.2153579 57.0157018,11.4989837 59.3850787,11.4989837 C60.3423989,11.4989837 61.2202186,11.7925327 61.8834601,12.3644726 C62.0862603,12.5391601 62.1026389,12.8491611 61.9193458,13.0443675 L61.6898613,13.2872663 C61.5255231,13.4628781 61.2553682,13.4826575 61.0650819,13.335883 C60.5726196,12.957301 60.0196116,12.7456426 59.3523215,12.7456426 C57.8778789,12.7456426 56.7575087,13.8952528 56.7575087,15.5068145 C56.7575087,17.1176367 57.8778789,18.2759351 59.3523215,18.2759351 C60.0111463,18.2759351 60.6000399,18.0380274 61.0864293,17.6731246 C61.2822364,17.5265349 61.556072,17.5500114 61.7183858,17.7328326 L61.9324119,17.9725889 Z M54.8436595,18.706258 C54.9680633,19.0147801 54.7424434,19.3528791 54.4106386,19.3528791 L53.8979331,19.3528791 C53.7074628,19.3528791 53.5359475,19.2362359 53.4643601,19.0585907 L52.3406774,16.2593387 L46.8683829,16.2593387 L45.7518773,19.0580361 C45.680842,19.2354964 45.5093267,19.3528791 45.3181203,19.3528791 L44.8538145,19.3528791 C44.5225618,19.3528791 44.2962058,19.0147801 44.4215297,18.706258 L48.6278868,8.31022484 C48.6996582,8.13331907 48.8704374,8.01741529 49.0609077,8.01741529 L50.1969204,8.01741529 C50.3866545,8.01741529 50.5576177,8.13331907 50.6293892,8.31022484 L54.8436595,18.706258 Z M51.8012876,14.9074977 L49.6087628,9.42637641 L47.4075887,14.9074977 L51.8012876,14.9074977 Z",
|
|
29
|
+
id: "logotype",
|
|
30
|
+
fill: "currentColor"
|
|
31
|
+
}), /*#__PURE__*/React.createElement("path", {
|
|
32
|
+
d: "M28.4758766,17.355336 C24.6285253,19.5840465 21.2002314,22.7762321 21.2002314,22.7762321 L20.8980157,22.0304898 C21.185907,21.4962352 21.5979427,20.8575142 22.0613775,20.1242625 C22.8674731,18.8490915 24.1049844,17.3996207 25.8312088,16.1965542 C26.3061592,15.8655548 26.8204314,15.5493169 27.3698123,15.265157 L28.4758766,17.355336 Z M8.764282,20.2689541 C9.21339243,20.9425919 9.60436287,21.5495187 9.92202635,22.0335273 L9.57122026,22.7761469 C9.57122026,22.7761469 7.007162,20.3893175 3.82575243,18.3022612 L3.82631417,18.3022612 L4.96552113,16.1405454 C6.62152809,17.3166437 7.84246809,18.8856264 8.764282,20.2689541 Z",
|
|
33
|
+
id: "shadow",
|
|
34
|
+
fill: "#004E6B",
|
|
35
|
+
opacity: "0.175390625"
|
|
36
|
+
}), /*#__PURE__*/React.createElement("path", {
|
|
37
|
+
d: "M10.4839059,5.36894926 L8.78295983,8.65079203 C10.1479859,9.53985685 11.3523546,10.6233 12.372192,11.7067432 L14.2158198,8.13458784 C14.3669277,7.83116798 14.6781311,7.63929953 15.0188259,7.63929953 L15.7603216,7.63929953 C16.1012972,7.63929953 16.4125007,7.83116798 16.5636085,8.13458784 L18.3645442,11.6208486 C19.4649911,10.5008723 20.6870546,9.51224788 22.0037711,8.67115017 L20.292152,5.36894926 C19.1178363,3.1036188 18.028905,2.55478581 16.4301955,2.33475063 C16.1498877,2.29626539 15.7117311,2.26837754 15.3878885,2.26837754 C15.0643268,2.26837754 14.6261703,2.29626539 14.3458624,2.33475063 C12.2736068,2.62032227 11.3897103,3.62121739 10.4839059,5.36894926 Z M15.3600824,15.5153875 C15.8768824,14.648633 16.450699,13.8259413 17.079285,13.0542843 L15.3895737,9.65865911 L13.6450929,13.1644414 C14.3638381,14.0512752 14.9413059,14.8745246 15.3600824,15.5153875 Z M7.15869113,9.74483259 L6.79103287,9.53372152 C6.58347026,9.41464038 6.50679287,9.15472557 6.616332,8.94305676 L8.89081374,4.55490277 L8.89109461,4.55490277 C9.9848007,2.44462878 11.289159,0.959600505 14.1001016,0.572795956 C14.4624233,0.522876695 14.979785,0.489411269 15.3878885,0.489411269 C15.7962729,0.489411269 16.3136346,0.522876695 16.6759563,0.572795956 C19.486899,0.959600505 20.7912572,2.44462878 21.8849633,4.55490277 L23.5530477,7.77260348 C26.2864703,6.33944661 29.3479485,5.5036476 32.5346946,5.39823151 C33.0849181,5.3801044 33.5413311,5.86367981 33.4483633,6.43677523 C33.3787077,6.86429604 32.986052,7.16241721 32.5501424,7.17775553 C25.7382129,7.41926436 19.5517798,11.3012538 16.3964911,17.3183374 C16.3897503,17.3314447 16.3813242,17.3428787 16.3737407,17.3548705 C16.3745833,17.3554282 16.3748642,17.3557071 16.3754259,17.3562649 C16.3678424,17.3693721 16.3582929,17.3808062 16.3501477,17.3933557 C16.3397555,17.4092518 16.3296442,17.4251479 16.3184094,17.4399284 C16.1052294,17.7374918 15.759479,17.9190418 15.3898546,17.9190418 L15.3862033,17.9190418 C15.0463511,17.9190418 14.7250363,17.7642642 14.5143842,17.4996084 L14.4003511,17.355986 C13.6810442,16.1336613 11.0330059,11.9711201 7.15869113,9.74483259 Z M32.5217465,11.7940043 C33.0775874,11.7672319 33.5368091,12.2466242 33.450863,12.8225084 C33.3868248,13.2508658 32.9978204,13.5503814 32.5621917,13.5732494 C30.7654691,13.6669526 28.9926204,14.1750693 27.3697561,15.0050119 C27.4026178,15.0652497 27.4374457,15.1299495 27.4773291,15.2030157 C27.9840178,16.1375377 28.8628587,17.7712082 30.0894161,20.0582912 C30.7393483,21.2708552 30.7483361,22.5160479 30.1135709,23.565189 C29.51251,24.5596699 28.3803248,25.227584 27.29673,25.227584 C27.29673,25.227584 25.5893239,25.2286996 25.5250048,25.2286996 C24.2012665,25.2286996 22.32253,25.1093395 21.189783,22.3584815 L20.8979596,21.6512455 C20.4808683,22.2658938 20.0303535,22.8730124 19.6124196,23.4237976 C18.2726717,25.1888199 16.7318213,25.2286996 15.4760535,25.2286996 L15.2988248,25.2286996 C14.0441804,25.2286996 12.50333,25.1890988 11.163863,23.4237976 C10.7234596,22.8434513 10.3153561,22.2452568 9.92185783,21.6543132 L9.57723087,22.3807918 C8.44336043,25.1098973 6.57136478,25.2286996 5.25099696,25.2286996 C5.18667783,25.2286996 3.47927174,25.227584 3.47927174,25.227584 C2.39567696,25.227584 1.26349174,24.5596699 0.66243087,23.565189 C0.0279465217,22.5160479 0.0366534783,21.2708552 0.686585652,20.0582912 L2.33416652,16.986444 L2.33416652,16.9861651 L3.99859957,13.8828046 C4.11600304,13.663885 4.39097435,13.5793848 4.60949087,13.6998603 C6.28178826,14.6221117 8.79416652,16.5993606 11.0759509,20.1589664 C11.5711239,20.9320177 12.0595561,21.6484567 12.5946126,22.3531828 C13.4279526,23.4514066 14.2494961,23.4508488 15.3872987,23.4497333 C16.5253822,23.450291 17.34833,23.4511277 18.18167,22.3531828 C18.8456457,21.4780619 19.5947248,20.4593186 20.1129291,19.5418082 C22.6340143,15.0772415 27.5048543,12.035792 32.5217465,11.7940043 Z M28.5078396,20.8943691 C26.950137,17.9895702 26.196283,16.5921097 25.8314335,15.9200124 C24.3425439,16.9409868 23.043803,18.251716 22.0613213,19.778576 L22.8477561,21.6847109 C23.5782978,23.4586574 24.4709013,23.455032 25.7056039,23.4491755 L27.29673,23.4486178 C27.6834874,23.4486178 28.2637639,23.1683448 28.5777761,22.6493518 C28.8842048,22.1429084 28.8606117,21.5522436 28.5078396,20.8943691 Z M7.92824565,21.6852687 C7.93273957,21.6738347 8.52397,20.4269687 8.76439435,19.9208041 C7.74287174,18.4352181 6.63456043,17.0422197 4.96535261,15.8650734 L3.91574304,17.822243 C3.91574304,17.822243 3.91574304,17.8225219 3.91546217,17.8225219 L2.26816217,20.894648 C1.91539,21.5522436 1.89179696,22.1429084 2.19822565,22.6493518 C2.51223783,23.1683448 3.09251435,23.4486178 3.47927174,23.4486178 L5.07039783,23.4491755 C6.30650478,23.455032 7.19770391,23.4586574 7.92824565,21.6852687 Z",
|
|
38
|
+
id: "logo_symbol",
|
|
39
|
+
fill: "currentColor"
|
|
40
|
+
})))))));
|
|
41
|
+
MainLogo.displayName = "MainLogo";
|
|
42
|
+
//# sourceMappingURL=MainLogo.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MainLogo.js","names":["React","MainLogo","props","createElement","_extends","width","height","viewBox","xmlns","stroke","strokeWidth","fill","fillRule","transform","d","id","opacity","displayName"],"sources":["../../../../src/presentation/shared/MainLogo.tsx"],"sourcesContent":["import React, { ReactElement } from \"react\";\n\n/**\n * ActiveCollab word-mark, copied verbatim from new-activecollab-front\n * (src/components/svg). Used in the presentation main-menu header.\n */\nexport const MainLogo = (\n props: React.SVGProps<SVGSVGElement>\n): ReactElement => (\n <svg\n width=\"134px\"\n height=\"26px\"\n viewBox=\"0 0 134 26\"\n xmlns=\"http://www.w3.org/2000/svg\"\n data-testid=\"ac-logo\"\n {...props}\n >\n <g stroke=\"none\" strokeWidth=\"1\" fill=\"none\" fillRule=\"evenodd\">\n <g transform=\"translate(-32.000000, -27.000000)\">\n <g transform=\"translate(0.000000, 21.000000)\">\n <g transform=\"translate(0.000000, 6.000000)\">\n <g transform=\"translate(32.000000, 0.000000)\">\n <path\n d=\"M129.852335,18.2758612 C131.440323,18.2758612 132.480457,17.0286478 132.480457,15.5069254 C132.480457,13.9765149 131.424681,12.7455686 129.852335,12.7455686 C128.304649,12.7455686 127.224765,13.9358469 127.224765,15.5069254 C127.224765,17.085583 128.304649,18.2758612 129.852335,18.2758612 Z M130.005631,11.4990946 C132.149756,11.4990946 133.83436,13.1833041 133.83436,15.5069254 C133.83436,17.8303618 132.149756,19.5145713 130.005631,19.5145713 C128.787909,19.5145713 127.910826,19.044856 127.305738,18.3242931 L127.305738,18.8831083 C127.305738,19.1424592 127.096864,19.3528236 126.838671,19.3528236 L126.459203,19.3528236 C126.201562,19.3528236 125.992137,19.1424592 125.992137,18.8831083 L125.992137,8.16265548 C125.992137,7.90404401 126.201562,7.69367957 126.459203,7.69367957 L126.838671,7.69367957 C127.096864,7.69367957 127.305738,7.90404401 127.305738,8.16265548 L127.305738,12.689188 C127.910826,11.96881 128.787909,11.4990946 130.005631,11.4990946 Z M124.161984,12.1304652 L124.161984,18.8832007 C124.161984,19.1425516 123.953111,19.352916 123.694918,19.352916 L123.307536,19.352916 C123.049343,19.352916 122.840654,19.1425516 122.840654,18.8832007 L122.840654,18.3242006 C122.228204,19.0449484 121.341183,19.5146637 120.140024,19.5146637 C117.979337,19.5146637 116.310559,17.8302694 116.310559,15.506833 C116.310559,13.1833966 117.979337,11.4990022 120.140024,11.4990022 C121.341183,11.4990022 122.228204,11.9607688 122.840654,12.6972292 L122.840654,12.1304652 C122.840654,11.8711144 123.049343,11.6607499 123.307536,11.6607499 L123.694918,11.6607499 C123.953111,11.6607499 124.161984,11.8711144 124.161984,12.1304652 Z M122.920154,15.506833 C122.920154,13.9359393 121.840087,12.7454762 120.292584,12.7454762 C118.696867,12.7454762 117.657285,13.9766073 117.657285,15.506833 C117.657285,17.0285553 118.713797,18.2757688 120.292584,18.2757688 C121.840087,18.2757688 122.920154,17.0854905 122.920154,15.506833 Z M114.932309,8.16265548 L114.932309,18.8831083 C114.932309,19.1424592 114.722883,19.3528236 114.46469,19.3528236 L114.085038,19.3528236 C113.827581,19.3528236 113.618156,19.1424592 113.618156,18.8831083 L113.618156,8.16265548 C113.618156,7.90404401 113.827581,7.69367957 114.085038,7.69367957 L114.46469,7.69367957 C114.722883,7.69367957 114.932309,7.90404401 114.932309,8.16265548 Z M111.658152,8.16265548 L111.658152,18.8831083 C111.658152,19.1424592 111.449463,19.3528236 111.19127,19.3528236 L110.811617,19.3528236 C110.553976,19.3528236 110.344735,19.1424592 110.344735,18.8831083 L110.344735,8.16265548 C110.344735,7.90404401 110.553976,7.69367957 110.811617,7.69367957 L111.19127,7.69367957 C111.449463,7.69367957 111.658152,7.90404401 111.658152,8.16265548 Z M104.988857,11.4990022 C107.309835,11.4990022 109.04247,13.2153764 109.04247,15.506833 C109.04247,17.7982895 107.309835,19.5146637 104.988857,19.5146637 C102.667144,19.5146637 100.942238,17.7982895 100.942238,15.506833 C100.942238,13.2153764 102.667144,11.4990022 104.988857,11.4990022 Z M107.688751,15.506833 C107.688751,13.8952713 106.519429,12.7454762 104.988857,12.7454762 C103.449084,12.7454762 102.288228,13.8952713 102.288228,15.506833 C102.288228,17.1176552 103.449084,18.2757688 104.988857,18.2757688 C106.519429,18.2757688 107.688751,17.1176552 107.688751,15.506833 Z M100.292357,9.78608481 C100.458719,9.99885236 100.405903,10.3101474 100.182123,10.4613584 L99.7568316,10.748992 C99.558632,10.8826418 99.2919736,10.8451163 99.1386772,10.6611861 C98.3880218,9.75909605 97.2753809,9.21543892 95.9568111,9.21543892 C93.4740722,9.21543892 91.5958695,11.0214675 91.5958695,13.6850363 C91.5958695,16.348605 93.4740722,18.154079 95.9568111,18.154079 C97.2481445,18.154079 98.3672265,17.6279831 99.1204584,16.729775 C99.2781714,16.5412234 99.5547674,16.5070253 99.752967,16.6526907 L100.160592,16.9512307 C100.37701,17.1098359 100.419521,17.420946 100.248006,17.6272437 C98.9971587,19.1365808 96.804634,19.8813596 94.4608372,19.3534151 C92.1012138,18.8208493 90.3827485,16.809817 90.1481112,14.3924745 C89.7828131,10.6279123 92.341188,7.84770036 95.9568111,7.84770036 C97.7391346,7.84770036 99.34479,8.57288462 100.292357,9.78608481 Z M88.4250267,15.4825801 L88.4250267,15.5108628 C88.4224503,15.7687348 88.2111847,15.9765113 87.9542798,15.9765113 L82.3796651,15.9765113 C82.574,17.5716209 83.6623491,18.3563284 84.9836793,18.3563284 C85.7335986,18.3563284 86.4165312,18.1219328 87.0008241,17.7132195 C87.2028883,17.5716209 87.4807725,17.6174649 87.6320446,17.8134106 L87.7709867,17.992165 C87.9294359,18.1971686 87.8942863,18.495339 87.6881735,18.6519107 C86.8293089,19.3029683 85.8850547,19.5146268 84.9028904,19.5146268 C82.6227678,19.5146268 81.0178485,17.9030651 81.0178485,15.506796 C81.0178485,13.1426916 82.630681,11.4991501 84.8219176,11.4991501 C86.918011,11.4991501 88.401655,13.1262395 88.4250267,15.4825801 Z M82.3965958,14.9074977 L87.0797727,14.9074977 C86.9100977,13.547523 86.0479206,12.6729763 84.7983618,12.6729763 C83.4516356,12.6729763 82.5901946,13.5959549 82.3965958,14.9074977 Z M80.0196737,11.6608054 C80.3535028,11.6608054 80.5793067,12.0022317 80.4508543,12.3114933 L77.6341022,19.0725472 C77.5610426,19.2466801 77.3915517,19.3605505 77.2031057,19.3605505 L76.2770704,19.3605505 C76.0884404,19.3605505 75.9189494,19.2472347 75.8458898,19.0731017 L73.0149675,12.311863 C72.8850428,12.0027862 73.1113988,11.6608054 73.4452279,11.6608054 L73.8620542,11.6608054 C74.0517884,11.6608054 74.2227516,11.7767091 74.294523,11.9536149 L76.7478173,18.0164733 L79.2084727,11.9530604 C79.2800601,11.7761546 79.4510232,11.6608054 79.6407574,11.6608054 L80.0196737,11.6608054 Z M71.9097061,8.58978033 C71.9351021,9.09683626 71.5210363,9.53771428 71.0169801,9.56266964 C70.4775903,9.58947355 70.0407048,9.18408759 70.0407048,8.64080017 C70.0407048,8.10638577 70.450906,7.69360563 70.9667401,7.69360563 C71.4746609,7.69360563 71.8843101,8.08087584 71.9097061,8.58978033 Z M71.6364594,12.1305207 L71.6364594,18.8830713 C71.6364594,19.142607 71.4277702,19.3527866 71.1695772,19.3527866 L70.7899248,19.3527866 C70.5317317,19.3527866 70.3230425,19.142607 70.3230425,18.8830713 L70.3230425,12.1305207 C70.3230425,11.8711698 70.5317317,11.6608054 70.7899248,11.6608054 L71.1695772,11.6608054 C71.4277702,11.6608054 71.6364594,11.8711698 71.6364594,12.1305207 Z M68.8930799,18.3603397 C69.0345984,18.5882653 68.9576741,18.8882842 68.724325,19.0199006 C68.2044423,19.3121556 67.5763504,19.5145713 66.8407854,19.5145713 C65.1882025,19.5145713 64.1891076,18.5995414 64.1891076,16.6400836 L64.1891076,12.8673878 L63.0203377,12.8673878 C62.7621446,12.8673878 62.5529034,12.6572082 62.5529034,12.3978573 L62.5529034,12.1305577 C62.5529034,11.8712068 62.7621446,11.6608423 63.0203377,11.6608423 L64.1891076,11.6608423 L64.1891076,9.71783652 C64.1891076,9.45848564 64.3985329,9.2481212 64.656726,9.2481212 L65.0435555,9.2481212 C65.3017486,9.2481212 65.5109899,9.45848564 65.5109899,9.71783652 L65.5109899,11.6608423 L68.2598351,11.6608423 C68.5180282,11.6608423 68.7274535,11.8712068 68.7274535,12.1305577 L68.7274535,12.3978573 C68.7274535,12.6572082 68.5180282,12.8673878 68.2598351,12.8673878 L65.5109899,12.8673878 L65.5109899,16.6156828 C65.5109899,17.7734266 66.1234393,18.2758612 66.9541474,18.2758612 C67.3761266,18.2758612 67.7857757,18.1564452 68.1496016,17.9730695 C68.366204,17.864375 68.6289978,17.9364683 68.7574503,18.1427659 L68.8930799,18.3603397 Z M61.9324119,17.9725889 C62.1085279,18.1709378 62.0857082,18.4750234 61.8834601,18.6465684 C61.2143296,19.2138869 60.3449754,19.5146452 59.3850787,19.5146452 C57.0157018,19.5146452 55.4107825,17.7982711 55.4107825,15.5068145 C55.4107825,13.2153579 57.0157018,11.4989837 59.3850787,11.4989837 C60.3423989,11.4989837 61.2202186,11.7925327 61.8834601,12.3644726 C62.0862603,12.5391601 62.1026389,12.8491611 61.9193458,13.0443675 L61.6898613,13.2872663 C61.5255231,13.4628781 61.2553682,13.4826575 61.0650819,13.335883 C60.5726196,12.957301 60.0196116,12.7456426 59.3523215,12.7456426 C57.8778789,12.7456426 56.7575087,13.8952528 56.7575087,15.5068145 C56.7575087,17.1176367 57.8778789,18.2759351 59.3523215,18.2759351 C60.0111463,18.2759351 60.6000399,18.0380274 61.0864293,17.6731246 C61.2822364,17.5265349 61.556072,17.5500114 61.7183858,17.7328326 L61.9324119,17.9725889 Z M54.8436595,18.706258 C54.9680633,19.0147801 54.7424434,19.3528791 54.4106386,19.3528791 L53.8979331,19.3528791 C53.7074628,19.3528791 53.5359475,19.2362359 53.4643601,19.0585907 L52.3406774,16.2593387 L46.8683829,16.2593387 L45.7518773,19.0580361 C45.680842,19.2354964 45.5093267,19.3528791 45.3181203,19.3528791 L44.8538145,19.3528791 C44.5225618,19.3528791 44.2962058,19.0147801 44.4215297,18.706258 L48.6278868,8.31022484 C48.6996582,8.13331907 48.8704374,8.01741529 49.0609077,8.01741529 L50.1969204,8.01741529 C50.3866545,8.01741529 50.5576177,8.13331907 50.6293892,8.31022484 L54.8436595,18.706258 Z M51.8012876,14.9074977 L49.6087628,9.42637641 L47.4075887,14.9074977 L51.8012876,14.9074977 Z\"\n id=\"logotype\"\n fill=\"currentColor\"\n />\n <path\n d=\"M28.4758766,17.355336 C24.6285253,19.5840465 21.2002314,22.7762321 21.2002314,22.7762321 L20.8980157,22.0304898 C21.185907,21.4962352 21.5979427,20.8575142 22.0613775,20.1242625 C22.8674731,18.8490915 24.1049844,17.3996207 25.8312088,16.1965542 C26.3061592,15.8655548 26.8204314,15.5493169 27.3698123,15.265157 L28.4758766,17.355336 Z M8.764282,20.2689541 C9.21339243,20.9425919 9.60436287,21.5495187 9.92202635,22.0335273 L9.57122026,22.7761469 C9.57122026,22.7761469 7.007162,20.3893175 3.82575243,18.3022612 L3.82631417,18.3022612 L4.96552113,16.1405454 C6.62152809,17.3166437 7.84246809,18.8856264 8.764282,20.2689541 Z\"\n id=\"shadow\"\n fill=\"#004E6B\"\n opacity=\"0.175390625\"\n />\n <path\n d=\"M10.4839059,5.36894926 L8.78295983,8.65079203 C10.1479859,9.53985685 11.3523546,10.6233 12.372192,11.7067432 L14.2158198,8.13458784 C14.3669277,7.83116798 14.6781311,7.63929953 15.0188259,7.63929953 L15.7603216,7.63929953 C16.1012972,7.63929953 16.4125007,7.83116798 16.5636085,8.13458784 L18.3645442,11.6208486 C19.4649911,10.5008723 20.6870546,9.51224788 22.0037711,8.67115017 L20.292152,5.36894926 C19.1178363,3.1036188 18.028905,2.55478581 16.4301955,2.33475063 C16.1498877,2.29626539 15.7117311,2.26837754 15.3878885,2.26837754 C15.0643268,2.26837754 14.6261703,2.29626539 14.3458624,2.33475063 C12.2736068,2.62032227 11.3897103,3.62121739 10.4839059,5.36894926 Z M15.3600824,15.5153875 C15.8768824,14.648633 16.450699,13.8259413 17.079285,13.0542843 L15.3895737,9.65865911 L13.6450929,13.1644414 C14.3638381,14.0512752 14.9413059,14.8745246 15.3600824,15.5153875 Z M7.15869113,9.74483259 L6.79103287,9.53372152 C6.58347026,9.41464038 6.50679287,9.15472557 6.616332,8.94305676 L8.89081374,4.55490277 L8.89109461,4.55490277 C9.9848007,2.44462878 11.289159,0.959600505 14.1001016,0.572795956 C14.4624233,0.522876695 14.979785,0.489411269 15.3878885,0.489411269 C15.7962729,0.489411269 16.3136346,0.522876695 16.6759563,0.572795956 C19.486899,0.959600505 20.7912572,2.44462878 21.8849633,4.55490277 L23.5530477,7.77260348 C26.2864703,6.33944661 29.3479485,5.5036476 32.5346946,5.39823151 C33.0849181,5.3801044 33.5413311,5.86367981 33.4483633,6.43677523 C33.3787077,6.86429604 32.986052,7.16241721 32.5501424,7.17775553 C25.7382129,7.41926436 19.5517798,11.3012538 16.3964911,17.3183374 C16.3897503,17.3314447 16.3813242,17.3428787 16.3737407,17.3548705 C16.3745833,17.3554282 16.3748642,17.3557071 16.3754259,17.3562649 C16.3678424,17.3693721 16.3582929,17.3808062 16.3501477,17.3933557 C16.3397555,17.4092518 16.3296442,17.4251479 16.3184094,17.4399284 C16.1052294,17.7374918 15.759479,17.9190418 15.3898546,17.9190418 L15.3862033,17.9190418 C15.0463511,17.9190418 14.7250363,17.7642642 14.5143842,17.4996084 L14.4003511,17.355986 C13.6810442,16.1336613 11.0330059,11.9711201 7.15869113,9.74483259 Z M32.5217465,11.7940043 C33.0775874,11.7672319 33.5368091,12.2466242 33.450863,12.8225084 C33.3868248,13.2508658 32.9978204,13.5503814 32.5621917,13.5732494 C30.7654691,13.6669526 28.9926204,14.1750693 27.3697561,15.0050119 C27.4026178,15.0652497 27.4374457,15.1299495 27.4773291,15.2030157 C27.9840178,16.1375377 28.8628587,17.7712082 30.0894161,20.0582912 C30.7393483,21.2708552 30.7483361,22.5160479 30.1135709,23.565189 C29.51251,24.5596699 28.3803248,25.227584 27.29673,25.227584 C27.29673,25.227584 25.5893239,25.2286996 25.5250048,25.2286996 C24.2012665,25.2286996 22.32253,25.1093395 21.189783,22.3584815 L20.8979596,21.6512455 C20.4808683,22.2658938 20.0303535,22.8730124 19.6124196,23.4237976 C18.2726717,25.1888199 16.7318213,25.2286996 15.4760535,25.2286996 L15.2988248,25.2286996 C14.0441804,25.2286996 12.50333,25.1890988 11.163863,23.4237976 C10.7234596,22.8434513 10.3153561,22.2452568 9.92185783,21.6543132 L9.57723087,22.3807918 C8.44336043,25.1098973 6.57136478,25.2286996 5.25099696,25.2286996 C5.18667783,25.2286996 3.47927174,25.227584 3.47927174,25.227584 C2.39567696,25.227584 1.26349174,24.5596699 0.66243087,23.565189 C0.0279465217,22.5160479 0.0366534783,21.2708552 0.686585652,20.0582912 L2.33416652,16.986444 L2.33416652,16.9861651 L3.99859957,13.8828046 C4.11600304,13.663885 4.39097435,13.5793848 4.60949087,13.6998603 C6.28178826,14.6221117 8.79416652,16.5993606 11.0759509,20.1589664 C11.5711239,20.9320177 12.0595561,21.6484567 12.5946126,22.3531828 C13.4279526,23.4514066 14.2494961,23.4508488 15.3872987,23.4497333 C16.5253822,23.450291 17.34833,23.4511277 18.18167,22.3531828 C18.8456457,21.4780619 19.5947248,20.4593186 20.1129291,19.5418082 C22.6340143,15.0772415 27.5048543,12.035792 32.5217465,11.7940043 Z M28.5078396,20.8943691 C26.950137,17.9895702 26.196283,16.5921097 25.8314335,15.9200124 C24.3425439,16.9409868 23.043803,18.251716 22.0613213,19.778576 L22.8477561,21.6847109 C23.5782978,23.4586574 24.4709013,23.455032 25.7056039,23.4491755 L27.29673,23.4486178 C27.6834874,23.4486178 28.2637639,23.1683448 28.5777761,22.6493518 C28.8842048,22.1429084 28.8606117,21.5522436 28.5078396,20.8943691 Z M7.92824565,21.6852687 C7.93273957,21.6738347 8.52397,20.4269687 8.76439435,19.9208041 C7.74287174,18.4352181 6.63456043,17.0422197 4.96535261,15.8650734 L3.91574304,17.822243 C3.91574304,17.822243 3.91574304,17.8225219 3.91546217,17.8225219 L2.26816217,20.894648 C1.91539,21.5522436 1.89179696,22.1429084 2.19822565,22.6493518 C2.51223783,23.1683448 3.09251435,23.4486178 3.47927174,23.4486178 L5.07039783,23.4491755 C6.30650478,23.455032 7.19770391,23.4586574 7.92824565,21.6852687 Z\"\n id=\"logo_symbol\"\n fill=\"currentColor\"\n />\n </g>\n </g>\n </g>\n </g>\n </g>\n </svg>\n);\n\nMainLogo.displayName = \"MainLogo\";\n"],"mappings":";AAAA,OAAOA,KAAK,MAAwB,OAAO;;AAE3C;AACA;AACA;AACA;AACA,OAAO,MAAMC,QAAQ,GACnBC,KAAoC,iBAEpCF,KAAA,CAAAG,aAAA,QAAAC,QAAA;EACEC,KAAK,EAAC,OAAO;EACbC,MAAM,EAAC,MAAM;EACbC,OAAO,EAAC,YAAY;EACpBC,KAAK,EAAC,4BAA4B;EAClC,eAAY;AAAS,GACjBN,KAAK,gBAETF,KAAA,CAAAG,aAAA;EAAGM,MAAM,EAAC,MAAM;EAACC,WAAW,EAAC,GAAG;EAACC,IAAI,EAAC,MAAM;EAACC,QAAQ,EAAC;AAAS,gBAC7DZ,KAAA,CAAAG,aAAA;EAAGU,SAAS,EAAC;AAAmC,gBAC9Cb,KAAA,CAAAG,aAAA;EAAGU,SAAS,EAAC;AAAgC,gBAC3Cb,KAAA,CAAAG,aAAA;EAAGU,SAAS,EAAC;AAA+B,gBAC1Cb,KAAA,CAAAG,aAAA;EAAGU,SAAS,EAAC;AAAgC,gBAC3Cb,KAAA,CAAAG,aAAA;EACEW,CAAC,EAAC,8tRAA8tR;EAChuRC,EAAE,EAAC,UAAU;EACbJ,IAAI,EAAC;AAAc,CACpB,CAAC,eACFX,KAAA,CAAAG,aAAA;EACEW,CAAC,EAAC,inBAAinB;EACnnBC,EAAE,EAAC,QAAQ;EACXJ,IAAI,EAAC,SAAS;EACdK,OAAO,EAAC;AAAa,CACtB,CAAC,eACFhB,KAAA,CAAAG,aAAA;EACEW,CAAC,EAAC,goJAAgoJ;EACloJC,EAAE,EAAC,aAAa;EAChBJ,IAAI,EAAC;AAAc,CACpB,CACA,CACF,CACF,CACF,CACF,CACA,CACN;AAEDV,QAAQ,CAACgB,WAAW,GAAG,UAAU","ignoreList":[]}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import React, { ReactElement, ReactNode } from "react";
|
|
2
|
+
/** The paper card that holds page content (used by list view & empty pages). */
|
|
3
|
+
export declare const StyledPagePaper: import("styled-components").StyledComponent<React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLDivElement> & import("../..").IPaperProps & React.RefAttributes<HTMLDivElement>>, any, {}, never>;
|
|
4
|
+
export interface PresentationShellProps {
|
|
5
|
+
/** Page header row (e.g. <ProjectPageHeader /> or <PageHeader title="…" />). */
|
|
6
|
+
header: ReactNode;
|
|
7
|
+
/** Page body content rendered inside the scrollable page area. */
|
|
8
|
+
children: ReactNode;
|
|
9
|
+
/** Optional fixed controls (e.g. <FloatingControls />). */
|
|
10
|
+
floating?: ReactNode;
|
|
11
|
+
}
|
|
12
|
+
/**
|
|
13
|
+
* The full application shell shared by every presentation mock-up: the main
|
|
14
|
+
* menu on the left (auto-collapsing below 1280px, modal below 640px), the
|
|
15
|
+
* top-right controls and the scrollable page area. Pass the page header via
|
|
16
|
+
* `header` and the body via `children`.
|
|
17
|
+
*/
|
|
18
|
+
export declare const PresentationShell: {
|
|
19
|
+
({ header, children, floating, }: PresentationShellProps): ReactElement;
|
|
20
|
+
displayName: string;
|
|
21
|
+
};
|
|
22
|
+
//# sourceMappingURL=PresentationShell.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PresentationShell.d.ts","sourceRoot":"","sources":["../../../../src/presentation/shared/PresentationShell.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EACZ,YAAY,EACZ,SAAS,EAKV,MAAM,OAAO,CAAC;AAgWf,gFAAgF;AAChF,eAAO,MAAM,eAAe,wMAG3B,CAAC;AAqIF,MAAM,WAAW,sBAAsB;IACrC,gFAAgF;IAChF,MAAM,EAAE,SAAS,CAAC;IAClB,kEAAkE;IAClE,QAAQ,EAAE,SAAS,CAAC;IACpB,2DAA2D;IAC3D,QAAQ,CAAC,EAAE,SAAS,CAAC;CACtB;AAED;;;;;GAKG;AACH,eAAO,MAAM,iBAAiB;sCAI3B,sBAAsB,GAAG,YAAY;;CAuDvC,CAAC"}
|
|
@@ -0,0 +1,272 @@
|
|
|
1
|
+
import React, { useCallback, useEffect, useRef, useState } from "react";
|
|
2
|
+
import styled from "styled-components";
|
|
3
|
+
import { MainLogo } from "./MainLogo";
|
|
4
|
+
import { BREAKPOINT, SM, TRANSITION, XL } from "./tokens";
|
|
5
|
+
import { IconButton } from "../../components/IconButton";
|
|
6
|
+
import { ActivityIcon, CalendarIcon, ClockStopwatchIndicatorIcon, CloseIcon, CollapsIcon, EstimatesIcon, InvoicesIcon, MobileMenuIcon, MyWorkIcon, NotificationBellIcon, PeopleIcon, ProjectsIcon, ReportTimeIcon, ReportsIcon, RocketIcon, SearchIcon } from "../../components/Icons";
|
|
7
|
+
import { Modal } from "../../components/Modal";
|
|
8
|
+
import { Paper } from "../../components/Paper";
|
|
9
|
+
import { Tooltip } from "../../components/Tooltip";
|
|
10
|
+
import { Body2, Caption1 } from "../../components/Typography";
|
|
11
|
+
import { useResizeObserver } from "../../utils";
|
|
12
|
+
const MENU_ITEMS = [{
|
|
13
|
+
icon: RocketIcon,
|
|
14
|
+
text: "Getting Started"
|
|
15
|
+
}, {
|
|
16
|
+
icon: ProjectsIcon,
|
|
17
|
+
text: "Projects",
|
|
18
|
+
active: true
|
|
19
|
+
}, {
|
|
20
|
+
icon: MyWorkIcon,
|
|
21
|
+
text: "My Work"
|
|
22
|
+
}, {
|
|
23
|
+
icon: ActivityIcon,
|
|
24
|
+
text: "Activity"
|
|
25
|
+
}, {
|
|
26
|
+
icon: CalendarIcon,
|
|
27
|
+
text: "Calendar"
|
|
28
|
+
}, {
|
|
29
|
+
icon: PeopleIcon,
|
|
30
|
+
text: "People"
|
|
31
|
+
}, {
|
|
32
|
+
icon: ReportTimeIcon,
|
|
33
|
+
text: "Time"
|
|
34
|
+
}, {
|
|
35
|
+
icon: ReportsIcon,
|
|
36
|
+
text: "Reports"
|
|
37
|
+
}, {
|
|
38
|
+
icon: InvoicesIcon,
|
|
39
|
+
text: "Invoices"
|
|
40
|
+
}, {
|
|
41
|
+
icon: EstimatesIcon,
|
|
42
|
+
text: "Estimates"
|
|
43
|
+
}];
|
|
44
|
+
|
|
45
|
+
/* ------------------------------------------------------------------ */
|
|
46
|
+
/* Layout shell (mirrors Layout.js) */
|
|
47
|
+
/* ------------------------------------------------------------------ */
|
|
48
|
+
|
|
49
|
+
const StyledLayout = styled.div.withConfig({
|
|
50
|
+
displayName: "PresentationShell__StyledLayout",
|
|
51
|
+
componentId: "sc-12j90o1-0"
|
|
52
|
+
})(["height:100vh;display:flex;flex-direction:column;background-color:var(--body-bg-main);"]);
|
|
53
|
+
const StyledContentRow = styled.div.withConfig({
|
|
54
|
+
displayName: "PresentationShell__StyledContentRow",
|
|
55
|
+
componentId: "sc-12j90o1-1"
|
|
56
|
+
})(["position:relative;display:flex;flex-direction:row-reverse;flex:1 1 0%;flex-grow:1;overflow-y:auto;"]);
|
|
57
|
+
const StyledRightWindow = styled.div.withConfig({
|
|
58
|
+
displayName: "PresentationShell__StyledRightWindow",
|
|
59
|
+
componentId: "sc-12j90o1-2"
|
|
60
|
+
})(["position:relative;display:flex;flex-direction:column;flex:1 1 0%;flex-grow:1;width:100%;height:100%;overflow-y:auto;padding:0 16px;@media (min-width:", "){padding-right:32px;}"], SM);
|
|
61
|
+
|
|
62
|
+
/* ------------------------------------------------------------------ */
|
|
63
|
+
/* Main menu (mirrors MainMenu.js + MainMenu.less) */
|
|
64
|
+
/* ------------------------------------------------------------------ */
|
|
65
|
+
|
|
66
|
+
const StyledMainMenu = styled.div.withConfig({
|
|
67
|
+
displayName: "PresentationShell__StyledMainMenu",
|
|
68
|
+
componentId: "sc-12j90o1-3"
|
|
69
|
+
})(["position:relative;z-index:1;display:none;flex-direction:column;height:100%;margin-right:4px;flex-shrink:0;width:240px;transition:width ", ";@media (min-width:", "){display:flex;}&.collapsed{width:72px;}.menu-item-text,.menu-section,#logotype{transition:all ", ";}&.collapsed .menu-item-text{opacity:0;visibility:hidden;width:0;margin-left:0;}&.collapsed .menu-section{transform:scaleY(0);opacity:0;max-height:0;margin-bottom:0;}&.collapsed #logotype{transform:translateX(-5%);opacity:0;}&.collapsed .collapse-expand-menu svg{transform:rotate(180deg);}&:not(.mobile){@media (max-width:1279.98px){width:72px;.menu-item-text{opacity:0;visibility:hidden;width:0;margin-left:0;}.menu-section{transform:scaleY(0);opacity:0;max-height:0;margin-bottom:0;}#logotype{transform:translateX(-5%);opacity:0;}}}&.mobile{display:flex;position:absolute;left:0;top:0;width:240px;background-color:var(--page-paper-main);}"], TRANSITION, SM, TRANSITION);
|
|
70
|
+
const StyledMenuHeader = styled.div.withConfig({
|
|
71
|
+
displayName: "PresentationShell__StyledMenuHeader",
|
|
72
|
+
componentId: "sc-12j90o1-4"
|
|
73
|
+
})(["position:relative;height:68px;display:flex;align-items:center;flex-shrink:0;overflow:hidden;.main-logo{position:absolute;left:20px;color:var(--color-secondary);path{fill:var(--color-secondary);}}.collapse-expand-menu{position:absolute;right:4px;display:none;@media (min-width:", "){display:flex;}}"], XL);
|
|
74
|
+
const StyledMenuScroll = styled.div.withConfig({
|
|
75
|
+
displayName: "PresentationShell__StyledMenuScroll",
|
|
76
|
+
componentId: "sc-12j90o1-5"
|
|
77
|
+
})(["display:flex;flex-direction:column;flex-grow:1;min-height:0;margin:12px 0;overflow-y:auto;overflow-x:hidden;"]);
|
|
78
|
+
const StyledMenuSection = styled.div.withConfig({
|
|
79
|
+
displayName: "PresentationShell__StyledMenuSection",
|
|
80
|
+
componentId: "sc-12j90o1-6"
|
|
81
|
+
})(["display:flex;align-items:center;margin:0 12px 8px;padding:0 4px 0 12px;"]);
|
|
82
|
+
const StyledMenuItem = styled.a.withConfig({
|
|
83
|
+
displayName: "PresentationShell__StyledMenuItem",
|
|
84
|
+
componentId: "sc-12j90o1-7"
|
|
85
|
+
})(["display:flex;align-items:center;height:40px;padding:0 4px 0 12px;margin:0 12px 2px;border-radius:8px;cursor:pointer;text-decoration:none;svg{flex-shrink:0;fill:var(--color-theme-700);opacity:0.7;}.menu-item-text{margin-left:12px;min-width:0;overflow:hidden;text-overflow:ellipsis;}&:hover{transition:all ", ";background-color:var(--color-theme-300);svg{fill:var(--color-theme-900);opacity:1;}.menu-item-text{color:var(--color-theme-900);}}&.active{background-color:var(--color-secondary-200);svg{fill:var(--color-secondary);opacity:1;}.menu-item-text{color:var(--color-secondary);}}"], TRANSITION);
|
|
86
|
+
const StyledMobileMenuClose = styled(IconButton).withConfig({
|
|
87
|
+
displayName: "PresentationShell__StyledMobileMenuClose",
|
|
88
|
+
componentId: "sc-12j90o1-8"
|
|
89
|
+
})(["position:absolute;right:16px;"]);
|
|
90
|
+
|
|
91
|
+
/* ------------------------------------------------------------------ */
|
|
92
|
+
/* Top bars */
|
|
93
|
+
/* ------------------------------------------------------------------ */
|
|
94
|
+
|
|
95
|
+
const StyledMobileMenuHeader = styled.div.withConfig({
|
|
96
|
+
displayName: "PresentationShell__StyledMobileMenuHeader",
|
|
97
|
+
componentId: "sc-12j90o1-9"
|
|
98
|
+
})(["display:flex;align-items:center;justify-content:space-between;padding:8px 16px;background-color:var(--color-primary);z-index:50;@media (min-width:", "){display:none;}.mobile-menu-icon{fill:var(--color-theme-300);}"], SM);
|
|
99
|
+
const StyledIconRow = styled.div.withConfig({
|
|
100
|
+
displayName: "PresentationShell__StyledIconRow",
|
|
101
|
+
componentId: "sc-12j90o1-10"
|
|
102
|
+
})(["display:flex;align-items:center;"]);
|
|
103
|
+
const StyledTopRightControls = styled.div.withConfig({
|
|
104
|
+
displayName: "PresentationShell__StyledTopRightControls",
|
|
105
|
+
componentId: "sc-12j90o1-11"
|
|
106
|
+
})(["position:absolute;top:0;right:0;display:none;align-items:center;justify-content:flex-end;padding:12px 32px 12px 0;@media (min-width:", "){display:flex;}"], SM);
|
|
107
|
+
const StyledHeaderAvatar = styled.div.withConfig({
|
|
108
|
+
displayName: "PresentationShell__StyledHeaderAvatar",
|
|
109
|
+
componentId: "sc-12j90o1-12"
|
|
110
|
+
})(["width:28px;height:28px;border-radius:50%;background-color:var(--color-secondary);color:var(--only-white);display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:600;margin:0 8px;flex-shrink:0;cursor:pointer;.neon &{color:var(--page-paper-main);}"]);
|
|
111
|
+
|
|
112
|
+
/* ------------------------------------------------------------------ */
|
|
113
|
+
/* Page region (mirrors Page.jsx / PageBody.jsx) */
|
|
114
|
+
/* ------------------------------------------------------------------ */
|
|
115
|
+
|
|
116
|
+
const StyledPage = styled.div.withConfig({
|
|
117
|
+
displayName: "PresentationShell__StyledPage",
|
|
118
|
+
componentId: "sc-12j90o1-13"
|
|
119
|
+
})(["display:flex;flex-direction:column;flex-grow:1;"]);
|
|
120
|
+
const StyledPageBody = styled.div.withConfig({
|
|
121
|
+
displayName: "PresentationShell__StyledPageBody",
|
|
122
|
+
componentId: "sc-12j90o1-14"
|
|
123
|
+
})(["display:flex;flex-direction:column;flex-grow:1;margin-bottom:32px;min-height:0;"]);
|
|
124
|
+
|
|
125
|
+
/** The paper card that holds page content (used by list view & empty pages). */
|
|
126
|
+
export const StyledPagePaper = styled(Paper).withConfig({
|
|
127
|
+
displayName: "PresentationShell__StyledPagePaper",
|
|
128
|
+
componentId: "sc-12j90o1-15"
|
|
129
|
+
})(["flex-grow:1;width:100%;"]);
|
|
130
|
+
|
|
131
|
+
/* ------------------------------------------------------------------ */
|
|
132
|
+
/* Mocked layout building blocks */
|
|
133
|
+
/* ------------------------------------------------------------------ */
|
|
134
|
+
|
|
135
|
+
const MenuItemsMock = _ref => {
|
|
136
|
+
let _ref$mobile = _ref.mobile,
|
|
137
|
+
mobile = _ref$mobile === void 0 ? false : _ref$mobile;
|
|
138
|
+
return /*#__PURE__*/React.createElement(StyledMenuScroll, null, /*#__PURE__*/React.createElement(StyledMenuSection, {
|
|
139
|
+
className: "menu-section"
|
|
140
|
+
}, /*#__PURE__*/React.createElement(Caption1, {
|
|
141
|
+
weight: "bold",
|
|
142
|
+
color: "tertiary"
|
|
143
|
+
}, "MENU")), MENU_ITEMS.map(_ref2 => {
|
|
144
|
+
let Icon = _ref2.icon,
|
|
145
|
+
text = _ref2.text,
|
|
146
|
+
active = _ref2.active;
|
|
147
|
+
return /*#__PURE__*/React.createElement(Tooltip, {
|
|
148
|
+
key: text,
|
|
149
|
+
title: text,
|
|
150
|
+
placement: "right",
|
|
151
|
+
disable: mobile
|
|
152
|
+
}, /*#__PURE__*/React.createElement(StyledMenuItem, {
|
|
153
|
+
className: active ? "active" : undefined
|
|
154
|
+
}, /*#__PURE__*/React.createElement(Icon, null), /*#__PURE__*/React.createElement(Body2, {
|
|
155
|
+
weight: "medium",
|
|
156
|
+
color: "secondary",
|
|
157
|
+
whitespace: "no-wrap",
|
|
158
|
+
className: "menu-item-text"
|
|
159
|
+
}, text)));
|
|
160
|
+
}));
|
|
161
|
+
};
|
|
162
|
+
const MainMenuMock = _ref3 => {
|
|
163
|
+
let collapsed = _ref3.collapsed,
|
|
164
|
+
onToggleCollapsed = _ref3.onToggleCollapsed;
|
|
165
|
+
return /*#__PURE__*/React.createElement(StyledMainMenu, {
|
|
166
|
+
className: collapsed ? "collapsed" : undefined,
|
|
167
|
+
"data-testid": "main-menu"
|
|
168
|
+
}, /*#__PURE__*/React.createElement(StyledMenuHeader, null, /*#__PURE__*/React.createElement("a", {
|
|
169
|
+
className: "main-logo"
|
|
170
|
+
}, /*#__PURE__*/React.createElement(MainLogo, null)), /*#__PURE__*/React.createElement("div", {
|
|
171
|
+
className: "collapse-expand-menu"
|
|
172
|
+
}, /*#__PURE__*/React.createElement(IconButton, {
|
|
173
|
+
variant: "text gray",
|
|
174
|
+
size: "small",
|
|
175
|
+
onClick: onToggleCollapsed
|
|
176
|
+
}, /*#__PURE__*/React.createElement(CollapsIcon, null)))), /*#__PURE__*/React.createElement(MenuItemsMock, null));
|
|
177
|
+
};
|
|
178
|
+
const MainMenuMobileMock = _ref4 => {
|
|
179
|
+
let open = _ref4.open,
|
|
180
|
+
close = _ref4.close;
|
|
181
|
+
return open ? /*#__PURE__*/React.createElement(Modal, {
|
|
182
|
+
open: open,
|
|
183
|
+
onClose: close
|
|
184
|
+
}, /*#__PURE__*/React.createElement(StyledMainMenu, {
|
|
185
|
+
className: "mobile",
|
|
186
|
+
"data-testid": "main-menu-mobile"
|
|
187
|
+
}, /*#__PURE__*/React.createElement(StyledMenuHeader, null, /*#__PURE__*/React.createElement("a", {
|
|
188
|
+
className: "main-logo"
|
|
189
|
+
}, /*#__PURE__*/React.createElement(MainLogo, null)), /*#__PURE__*/React.createElement(StyledMobileMenuClose, {
|
|
190
|
+
onClick: close,
|
|
191
|
+
variant: "text gray"
|
|
192
|
+
}, /*#__PURE__*/React.createElement(CloseIcon, null))), /*#__PURE__*/React.createElement(MenuItemsMock, {
|
|
193
|
+
mobile: true
|
|
194
|
+
}))) : null;
|
|
195
|
+
};
|
|
196
|
+
const MobileMenuHeaderMock = _ref5 => {
|
|
197
|
+
let onOpenMobileMenu = _ref5.onOpenMobileMenu;
|
|
198
|
+
return /*#__PURE__*/React.createElement(StyledMobileMenuHeader, null, /*#__PURE__*/React.createElement(IconButton, {
|
|
199
|
+
size: "big",
|
|
200
|
+
variant: "circle raised",
|
|
201
|
+
onClick: onOpenMobileMenu
|
|
202
|
+
}, /*#__PURE__*/React.createElement(MobileMenuIcon, {
|
|
203
|
+
className: "mobile-menu-icon"
|
|
204
|
+
})), /*#__PURE__*/React.createElement(StyledIconRow, null, /*#__PURE__*/React.createElement(IconButton, {
|
|
205
|
+
variant: "text gray"
|
|
206
|
+
}, /*#__PURE__*/React.createElement(SearchIcon, null)), /*#__PURE__*/React.createElement(StyledHeaderAvatar, null, "JS"), /*#__PURE__*/React.createElement(IconButton, {
|
|
207
|
+
variant: "text gray"
|
|
208
|
+
}, /*#__PURE__*/React.createElement(NotificationBellIcon, null))));
|
|
209
|
+
};
|
|
210
|
+
const TopRightControlsMock = () => /*#__PURE__*/React.createElement(StyledTopRightControls, null, /*#__PURE__*/React.createElement(IconButton, {
|
|
211
|
+
variant: "text gray"
|
|
212
|
+
}, /*#__PURE__*/React.createElement(ClockStopwatchIndicatorIcon, null)), /*#__PURE__*/React.createElement(IconButton, {
|
|
213
|
+
variant: "text gray"
|
|
214
|
+
}, /*#__PURE__*/React.createElement(SearchIcon, null)), /*#__PURE__*/React.createElement(StyledHeaderAvatar, null, "JS"), /*#__PURE__*/React.createElement(IconButton, {
|
|
215
|
+
variant: "text gray"
|
|
216
|
+
}, /*#__PURE__*/React.createElement(NotificationBellIcon, null)));
|
|
217
|
+
|
|
218
|
+
/* ------------------------------------------------------------------ */
|
|
219
|
+
/* PresentationShell */
|
|
220
|
+
/* ------------------------------------------------------------------ */
|
|
221
|
+
|
|
222
|
+
/**
|
|
223
|
+
* The full application shell shared by every presentation mock-up: the main
|
|
224
|
+
* menu on the left (auto-collapsing below 1280px, modal below 640px), the
|
|
225
|
+
* top-right controls and the scrollable page area. Pass the page header via
|
|
226
|
+
* `header` and the body via `children`.
|
|
227
|
+
*/
|
|
228
|
+
export const PresentationShell = _ref6 => {
|
|
229
|
+
let header = _ref6.header,
|
|
230
|
+
children = _ref6.children,
|
|
231
|
+
floating = _ref6.floating;
|
|
232
|
+
const _useState = useState(false),
|
|
233
|
+
mobileMenuOpen = _useState[0],
|
|
234
|
+
setMobileMenuOpen = _useState[1];
|
|
235
|
+
const _useState2 = useState(false),
|
|
236
|
+
collapsed = _useState2[0],
|
|
237
|
+
setCollapsed = _useState2[1];
|
|
238
|
+
const _useState3 = useState(),
|
|
239
|
+
isMobileView = _useState3[0],
|
|
240
|
+
setIsMobileView = _useState3[1];
|
|
241
|
+
const ref = useRef(null);
|
|
242
|
+
const dimensions = useResizeObserver(ref);
|
|
243
|
+
const width = dimensions == null ? void 0 : dimensions.width;
|
|
244
|
+
useEffect(() => {
|
|
245
|
+
if (width) {
|
|
246
|
+
if (width < BREAKPOINT) {
|
|
247
|
+
setIsMobileView(true);
|
|
248
|
+
} else {
|
|
249
|
+
setIsMobileView(false);
|
|
250
|
+
setMobileMenuOpen(false);
|
|
251
|
+
}
|
|
252
|
+
}
|
|
253
|
+
}, [width]);
|
|
254
|
+
const handleOpenMobileMenu = useCallback(() => setMobileMenuOpen(true), []);
|
|
255
|
+
const handleCloseMobileMenu = useCallback(() => setMobileMenuOpen(false), []);
|
|
256
|
+
const handleToggleCollapsed = useCallback(() => setCollapsed(prev => !prev), []);
|
|
257
|
+
return /*#__PURE__*/React.createElement(StyledLayout, {
|
|
258
|
+
ref: ref
|
|
259
|
+
}, isMobileView ? /*#__PURE__*/React.createElement(MobileMenuHeaderMock, {
|
|
260
|
+
onOpenMobileMenu: handleOpenMobileMenu
|
|
261
|
+
}) : null, /*#__PURE__*/React.createElement(StyledContentRow, null, /*#__PURE__*/React.createElement(StyledRightWindow, {
|
|
262
|
+
id: "right-window"
|
|
263
|
+
}, /*#__PURE__*/React.createElement(StyledPage, null, header, /*#__PURE__*/React.createElement(StyledPageBody, null, children)), isMobileView === false ? /*#__PURE__*/React.createElement(TopRightControlsMock, null) : null), isMobileView ? /*#__PURE__*/React.createElement(MainMenuMobileMock, {
|
|
264
|
+
open: mobileMenuOpen,
|
|
265
|
+
close: handleCloseMobileMenu
|
|
266
|
+
}) : /*#__PURE__*/React.createElement(MainMenuMock, {
|
|
267
|
+
collapsed: collapsed,
|
|
268
|
+
onToggleCollapsed: handleToggleCollapsed
|
|
269
|
+
})), floating);
|
|
270
|
+
};
|
|
271
|
+
PresentationShell.displayName = "PresentationShell";
|
|
272
|
+
//# sourceMappingURL=PresentationShell.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PresentationShell.js","names":["React","useCallback","useEffect","useRef","useState","styled","MainLogo","BREAKPOINT","SM","TRANSITION","XL","IconButton","ActivityIcon","CalendarIcon","ClockStopwatchIndicatorIcon","CloseIcon","CollapsIcon","EstimatesIcon","InvoicesIcon","MobileMenuIcon","MyWorkIcon","NotificationBellIcon","PeopleIcon","ProjectsIcon","ReportTimeIcon","ReportsIcon","RocketIcon","SearchIcon","Modal","Paper","Tooltip","Body2","Caption1","useResizeObserver","MENU_ITEMS","icon","text","active","StyledLayout","div","withConfig","displayName","componentId","StyledContentRow","StyledRightWindow","StyledMainMenu","StyledMenuHeader","StyledMenuScroll","StyledMenuSection","StyledMenuItem","a","StyledMobileMenuClose","StyledMobileMenuHeader","StyledIconRow","StyledTopRightControls","StyledHeaderAvatar","StyledPage","StyledPageBody","StyledPagePaper","MenuItemsMock","_ref","_ref$mobile","mobile","createElement","className","weight","color","map","_ref2","Icon","key","title","placement","disable","undefined","whitespace","MainMenuMock","_ref3","collapsed","onToggleCollapsed","variant","size","onClick","MainMenuMobileMock","_ref4","open","close","onClose","MobileMenuHeaderMock","_ref5","onOpenMobileMenu","TopRightControlsMock","PresentationShell","_ref6","header","children","floating","_useState","mobileMenuOpen","setMobileMenuOpen","_useState2","setCollapsed","_useState3","isMobileView","setIsMobileView","ref","dimensions","width","handleOpenMobileMenu","handleCloseMobileMenu","handleToggleCollapsed","prev","id"],"sources":["../../../../src/presentation/shared/PresentationShell.tsx"],"sourcesContent":["import React, {\n ReactElement,\n ReactNode,\n useCallback,\n useEffect,\n useRef,\n useState,\n} from \"react\";\n\nimport styled from \"styled-components\";\n\nimport { MainLogo } from \"./MainLogo\";\nimport { BREAKPOINT, SM, TRANSITION, XL } from \"./tokens\";\nimport { IconButton } from \"../../components/IconButton\";\nimport {\n ActivityIcon,\n CalendarIcon,\n ClockStopwatchIndicatorIcon,\n CloseIcon,\n CollapsIcon,\n EstimatesIcon,\n InvoicesIcon,\n MobileMenuIcon,\n MyWorkIcon,\n NotificationBellIcon,\n PeopleIcon,\n ProjectsIcon,\n ReportTimeIcon,\n ReportsIcon,\n RocketIcon,\n SearchIcon,\n} from \"../../components/Icons\";\nimport { Modal } from \"../../components/Modal\";\nimport { Paper } from \"../../components/Paper\";\nimport { Tooltip } from \"../../components/Tooltip\";\nimport { Body2, Caption1 } from \"../../components/Typography\";\nimport { useResizeObserver } from \"../../utils\";\n\nconst MENU_ITEMS: {\n icon: React.FC<React.SVGProps<SVGSVGElement>>;\n text: string;\n active?: boolean;\n}[] = [\n { icon: RocketIcon, text: \"Getting Started\" },\n { icon: ProjectsIcon, text: \"Projects\", active: true },\n { icon: MyWorkIcon, text: \"My Work\" },\n { icon: ActivityIcon, text: \"Activity\" },\n { icon: CalendarIcon, text: \"Calendar\" },\n { icon: PeopleIcon, text: \"People\" },\n { icon: ReportTimeIcon, text: \"Time\" },\n { icon: ReportsIcon, text: \"Reports\" },\n { icon: InvoicesIcon, text: \"Invoices\" },\n { icon: EstimatesIcon, text: \"Estimates\" },\n];\n\n/* ------------------------------------------------------------------ */\n/* Layout shell (mirrors Layout.js) */\n/* ------------------------------------------------------------------ */\n\nconst StyledLayout = styled.div`\n height: 100vh;\n display: flex;\n flex-direction: column;\n background-color: var(--body-bg-main);\n`;\n\nconst StyledContentRow = styled.div`\n position: relative;\n display: flex;\n flex-direction: row-reverse;\n flex: 1 1 0%;\n flex-grow: 1;\n overflow-y: auto;\n`;\n\nconst StyledRightWindow = styled.div`\n position: relative;\n display: flex;\n flex-direction: column;\n flex: 1 1 0%;\n flex-grow: 1;\n width: 100%;\n height: 100%;\n overflow-y: auto;\n padding: 0 16px;\n\n @media (min-width: ${SM}) {\n padding-right: 32px;\n }\n`;\n\n/* ------------------------------------------------------------------ */\n/* Main menu (mirrors MainMenu.js + MainMenu.less) */\n/* ------------------------------------------------------------------ */\n\nconst StyledMainMenu = styled.div`\n position: relative;\n z-index: 1;\n display: none;\n flex-direction: column;\n height: 100%;\n margin-right: 4px;\n flex-shrink: 0;\n width: 240px;\n transition: width ${TRANSITION};\n\n @media (min-width: ${SM}) {\n display: flex;\n }\n\n &.collapsed {\n width: 72px;\n }\n\n .menu-item-text,\n .menu-section,\n #logotype {\n transition: all ${TRANSITION};\n }\n\n &.collapsed .menu-item-text {\n opacity: 0;\n visibility: hidden;\n width: 0;\n margin-left: 0;\n }\n\n &.collapsed .menu-section {\n transform: scaleY(0);\n opacity: 0;\n max-height: 0;\n margin-bottom: 0;\n }\n\n &.collapsed #logotype {\n transform: translateX(-5%);\n opacity: 0;\n }\n\n &.collapsed .collapse-expand-menu svg {\n transform: rotate(180deg);\n }\n\n &:not(.mobile) {\n @media (max-width: 1279.98px) {\n width: 72px;\n\n .menu-item-text {\n opacity: 0;\n visibility: hidden;\n width: 0;\n margin-left: 0;\n }\n\n .menu-section {\n transform: scaleY(0);\n opacity: 0;\n max-height: 0;\n margin-bottom: 0;\n }\n\n #logotype {\n transform: translateX(-5%);\n opacity: 0;\n }\n }\n }\n\n &.mobile {\n display: flex;\n position: absolute;\n left: 0;\n top: 0;\n width: 240px;\n background-color: var(--page-paper-main);\n }\n`;\n\nconst StyledMenuHeader = styled.div`\n position: relative;\n height: 68px;\n display: flex;\n align-items: center;\n flex-shrink: 0;\n overflow: hidden;\n\n .main-logo {\n position: absolute;\n left: 20px;\n color: var(--color-secondary);\n\n path {\n fill: var(--color-secondary);\n }\n }\n\n .collapse-expand-menu {\n position: absolute;\n right: 4px;\n display: none;\n\n @media (min-width: ${XL}) {\n display: flex;\n }\n }\n`;\n\nconst StyledMenuScroll = styled.div`\n display: flex;\n flex-direction: column;\n flex-grow: 1;\n min-height: 0;\n margin: 12px 0;\n overflow-y: auto;\n overflow-x: hidden;\n`;\n\nconst StyledMenuSection = styled.div`\n display: flex;\n align-items: center;\n margin: 0 12px 8px;\n padding: 0 4px 0 12px;\n`;\n\nconst StyledMenuItem = styled.a`\n display: flex;\n align-items: center;\n height: 40px;\n padding: 0 4px 0 12px;\n margin: 0 12px 2px;\n border-radius: 8px;\n cursor: pointer;\n text-decoration: none;\n\n svg {\n flex-shrink: 0;\n fill: var(--color-theme-700);\n opacity: 0.7;\n }\n\n .menu-item-text {\n margin-left: 12px;\n min-width: 0;\n overflow: hidden;\n text-overflow: ellipsis;\n }\n\n &:hover {\n transition: all ${TRANSITION};\n background-color: var(--color-theme-300);\n\n svg {\n fill: var(--color-theme-900);\n opacity: 1;\n }\n\n .menu-item-text {\n color: var(--color-theme-900);\n }\n }\n\n &.active {\n background-color: var(--color-secondary-200);\n\n svg {\n fill: var(--color-secondary);\n opacity: 1;\n }\n\n .menu-item-text {\n color: var(--color-secondary);\n }\n }\n`;\n\nconst StyledMobileMenuClose = styled(IconButton)`\n position: absolute;\n right: 16px;\n`;\n\n/* ------------------------------------------------------------------ */\n/* Top bars */\n/* ------------------------------------------------------------------ */\n\nconst StyledMobileMenuHeader = styled.div`\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: 8px 16px;\n background-color: var(--color-primary);\n z-index: 50;\n\n @media (min-width: ${SM}) {\n display: none;\n }\n\n .mobile-menu-icon {\n fill: var(--color-theme-300);\n }\n`;\n\nconst StyledIconRow = styled.div`\n display: flex;\n align-items: center;\n`;\n\nconst StyledTopRightControls = styled.div`\n position: absolute;\n top: 0;\n right: 0;\n display: none;\n align-items: center;\n justify-content: flex-end;\n padding: 12px 32px 12px 0;\n\n @media (min-width: ${SM}) {\n display: flex;\n }\n`;\n\nconst StyledHeaderAvatar = styled.div`\n width: 28px;\n height: 28px;\n border-radius: 50%;\n background-color: var(--color-secondary);\n color: var(--only-white);\n display: flex;\n align-items: center;\n justify-content: center;\n font-size: 11px;\n font-weight: 600;\n margin: 0 8px;\n flex-shrink: 0;\n cursor: pointer;\n\n /* neon theme: use paper colour for the initials */\n .neon & {\n color: var(--page-paper-main);\n }\n`;\n\n/* ------------------------------------------------------------------ */\n/* Page region (mirrors Page.jsx / PageBody.jsx) */\n/* ------------------------------------------------------------------ */\n\nconst StyledPage = styled.div`\n display: flex;\n flex-direction: column;\n flex-grow: 1;\n`;\n\nconst StyledPageBody = styled.div`\n display: flex;\n flex-direction: column;\n flex-grow: 1;\n margin-bottom: 32px;\n min-height: 0;\n`;\n\n/** The paper card that holds page content (used by list view & empty pages). */\nexport const StyledPagePaper = styled(Paper)`\n flex-grow: 1;\n width: 100%;\n`;\n\n/* ------------------------------------------------------------------ */\n/* Mocked layout building blocks */\n/* ------------------------------------------------------------------ */\n\ninterface MenuItemsProps {\n mobile?: boolean;\n}\n\nconst MenuItemsMock = ({ mobile = false }: MenuItemsProps): ReactElement => (\n <StyledMenuScroll>\n <StyledMenuSection className=\"menu-section\">\n <Caption1 weight=\"bold\" color=\"tertiary\">\n MENU\n </Caption1>\n </StyledMenuSection>\n {MENU_ITEMS.map(({ icon: Icon, text, active }) => (\n <Tooltip key={text} title={text} placement=\"right\" disable={mobile}>\n <StyledMenuItem className={active ? \"active\" : undefined}>\n <Icon />\n <Body2\n weight=\"medium\"\n color=\"secondary\"\n whitespace=\"no-wrap\"\n className=\"menu-item-text\"\n >\n {text}\n </Body2>\n </StyledMenuItem>\n </Tooltip>\n ))}\n </StyledMenuScroll>\n);\n\ninterface MainMenuMockProps {\n collapsed: boolean;\n onToggleCollapsed: () => void;\n}\n\nconst MainMenuMock = ({\n collapsed,\n onToggleCollapsed,\n}: MainMenuMockProps): ReactElement => (\n <StyledMainMenu\n className={collapsed ? \"collapsed\" : undefined}\n data-testid=\"main-menu\"\n >\n <StyledMenuHeader>\n <a className=\"main-logo\">\n <MainLogo />\n </a>\n <div className=\"collapse-expand-menu\">\n <IconButton\n variant=\"text gray\"\n size=\"small\"\n onClick={onToggleCollapsed}\n >\n <CollapsIcon />\n </IconButton>\n </div>\n </StyledMenuHeader>\n <MenuItemsMock />\n </StyledMainMenu>\n);\n\ninterface MainMenuMobileMockProps {\n open: boolean;\n close: () => void;\n}\n\nconst MainMenuMobileMock = ({\n open,\n close,\n}: MainMenuMobileMockProps): ReactElement | null =>\n open ? (\n <Modal open={open} onClose={close}>\n <StyledMainMenu className=\"mobile\" data-testid=\"main-menu-mobile\">\n <StyledMenuHeader>\n <a className=\"main-logo\">\n <MainLogo />\n </a>\n <StyledMobileMenuClose onClick={close} variant=\"text gray\">\n <CloseIcon />\n </StyledMobileMenuClose>\n </StyledMenuHeader>\n <MenuItemsMock mobile />\n </StyledMainMenu>\n </Modal>\n ) : null;\n\ninterface MobileMenuHeaderMockProps {\n onOpenMobileMenu: () => void;\n}\n\nconst MobileMenuHeaderMock = ({\n onOpenMobileMenu,\n}: MobileMenuHeaderMockProps): ReactElement => (\n <StyledMobileMenuHeader>\n <IconButton size=\"big\" variant=\"circle raised\" onClick={onOpenMobileMenu}>\n <MobileMenuIcon className=\"mobile-menu-icon\" />\n </IconButton>\n <StyledIconRow>\n <IconButton variant=\"text gray\">\n <SearchIcon />\n </IconButton>\n <StyledHeaderAvatar>JS</StyledHeaderAvatar>\n <IconButton variant=\"text gray\">\n <NotificationBellIcon />\n </IconButton>\n </StyledIconRow>\n </StyledMobileMenuHeader>\n);\n\nconst TopRightControlsMock = (): ReactElement => (\n <StyledTopRightControls>\n <IconButton variant=\"text gray\">\n <ClockStopwatchIndicatorIcon />\n </IconButton>\n <IconButton variant=\"text gray\">\n <SearchIcon />\n </IconButton>\n <StyledHeaderAvatar>JS</StyledHeaderAvatar>\n <IconButton variant=\"text gray\">\n <NotificationBellIcon />\n </IconButton>\n </StyledTopRightControls>\n);\n\n/* ------------------------------------------------------------------ */\n/* PresentationShell */\n/* ------------------------------------------------------------------ */\n\nexport interface PresentationShellProps {\n /** Page header row (e.g. <ProjectPageHeader /> or <PageHeader title=\"…\" />). */\n header: ReactNode;\n /** Page body content rendered inside the scrollable page area. */\n children: ReactNode;\n /** Optional fixed controls (e.g. <FloatingControls />). */\n floating?: ReactNode;\n}\n\n/**\n * The full application shell shared by every presentation mock-up: the main\n * menu on the left (auto-collapsing below 1280px, modal below 640px), the\n * top-right controls and the scrollable page area. Pass the page header via\n * `header` and the body via `children`.\n */\nexport const PresentationShell = ({\n header,\n children,\n floating,\n}: PresentationShellProps): ReactElement => {\n const [mobileMenuOpen, setMobileMenuOpen] = useState(false);\n const [collapsed, setCollapsed] = useState(false);\n const [isMobileView, setIsMobileView] = useState<boolean>();\n\n const ref = useRef<HTMLDivElement>(null);\n const dimensions = useResizeObserver(ref);\n const width = dimensions?.width;\n\n useEffect(() => {\n if (width) {\n if (width < BREAKPOINT) {\n setIsMobileView(true);\n } else {\n setIsMobileView(false);\n setMobileMenuOpen(false);\n }\n }\n }, [width]);\n\n const handleOpenMobileMenu = useCallback(() => setMobileMenuOpen(true), []);\n const handleCloseMobileMenu = useCallback(() => setMobileMenuOpen(false), []);\n const handleToggleCollapsed = useCallback(\n () => setCollapsed((prev) => !prev),\n []\n );\n\n return (\n <StyledLayout ref={ref}>\n {isMobileView ? (\n <MobileMenuHeaderMock onOpenMobileMenu={handleOpenMobileMenu} />\n ) : null}\n <StyledContentRow>\n <StyledRightWindow id=\"right-window\">\n <StyledPage>\n {header}\n <StyledPageBody>{children}</StyledPageBody>\n </StyledPage>\n {isMobileView === false ? <TopRightControlsMock /> : null}\n </StyledRightWindow>\n {isMobileView ? (\n <MainMenuMobileMock\n open={mobileMenuOpen}\n close={handleCloseMobileMenu}\n />\n ) : (\n <MainMenuMock\n collapsed={collapsed}\n onToggleCollapsed={handleToggleCollapsed}\n />\n )}\n </StyledContentRow>\n {floating}\n </StyledLayout>\n );\n};\n\nPresentationShell.displayName = \"PresentationShell\";\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* A simple round initials avatar used across the presentation mock-ups in
|
|
3
|
+
* place of real user images. `$overlap` makes stacked avatars overlap (task
|
|
4
|
+
* rows / cards), `$bordered` draws the paper-coloured ring that separates
|
|
5
|
+
* overlapping avatars.
|
|
6
|
+
*/
|
|
7
|
+
export declare const RoundAvatar: import("styled-components").StyledComponent<"div", any, {
|
|
8
|
+
$bg: string;
|
|
9
|
+
$size?: number;
|
|
10
|
+
$overlap?: boolean;
|
|
11
|
+
$bordered?: boolean;
|
|
12
|
+
}, never>;
|
|
13
|
+
//# sourceMappingURL=RoundAvatar.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"RoundAvatar.d.ts","sourceRoot":"","sources":["../../../../src/presentation/shared/RoundAvatar.tsx"],"names":[],"mappings":"AAEA;;;;;GAKG;AACH,eAAO,MAAM,WAAW;SACjB,MAAM;YACH,MAAM;eACH,OAAO;gBACN,OAAO;SA0BpB,CAAC"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import styled from "styled-components";
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* A simple round initials avatar used across the presentation mock-ups in
|
|
5
|
+
* place of real user images. `$overlap` makes stacked avatars overlap (task
|
|
6
|
+
* rows / cards), `$bordered` draws the paper-coloured ring that separates
|
|
7
|
+
* overlapping avatars.
|
|
8
|
+
*/
|
|
9
|
+
export const RoundAvatar = styled.div.withConfig({
|
|
10
|
+
displayName: "RoundAvatar",
|
|
11
|
+
componentId: "sc-1s5jx6y-0"
|
|
12
|
+
})(["width:", "px;height:", "px;border-radius:50%;background-color:", ";color:#fff;display:flex;align-items:center;justify-content:center;font-size:", "px;font-weight:700;flex-shrink:0;", " &:not(:first-child){margin-left:", ";}"], props => {
|
|
13
|
+
var _props$$size;
|
|
14
|
+
return (_props$$size = props.$size) != null ? _props$$size : 28;
|
|
15
|
+
}, props => {
|
|
16
|
+
var _props$$size2;
|
|
17
|
+
return (_props$$size2 = props.$size) != null ? _props$$size2 : 28;
|
|
18
|
+
}, props => props.$bg, props => {
|
|
19
|
+
var _props$$size3;
|
|
20
|
+
const size = (_props$$size3 = props.$size) != null ? _props$$size3 : 28;
|
|
21
|
+
if (size <= 22) return 9;
|
|
22
|
+
if (size <= 26) return 10;
|
|
23
|
+
return 11;
|
|
24
|
+
}, props => props.$bordered === false ? "" : "border: 2px solid var(--page-paper-main);", props => props.$overlap ? "-8px" : "0");
|
|
25
|
+
RoundAvatar.displayName = "RoundAvatar";
|
|
26
|
+
//# sourceMappingURL=RoundAvatar.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"RoundAvatar.js","names":["styled","RoundAvatar","div","withConfig","displayName","componentId","props","_props$$size","$size","_props$$size2","$bg","_props$$size3","size","$bordered","$overlap"],"sources":["../../../../src/presentation/shared/RoundAvatar.tsx"],"sourcesContent":["import styled from \"styled-components\";\n\n/**\n * A simple round initials avatar used across the presentation mock-ups in\n * place of real user images. `$overlap` makes stacked avatars overlap (task\n * rows / cards), `$bordered` draws the paper-coloured ring that separates\n * overlapping avatars.\n */\nexport const RoundAvatar = styled.div<{\n $bg: string;\n $size?: number;\n $overlap?: boolean;\n $bordered?: boolean;\n}>`\n width: ${(props) => props.$size ?? 28}px;\n height: ${(props) => props.$size ?? 28}px;\n border-radius: 50%;\n background-color: ${(props) => props.$bg};\n color: #fff;\n display: flex;\n align-items: center;\n justify-content: center;\n font-size: ${(props) => {\n const size = props.$size ?? 28;\n if (size <= 22) return 9;\n if (size <= 26) return 10;\n return 11;\n }}px;\n font-weight: 700;\n flex-shrink: 0;\n ${(props) =>\n props.$bordered === false\n ? \"\"\n : \"border: 2px solid var(--page-paper-main);\"}\n\n &:not(:first-child) {\n margin-left: ${(props) => (props.$overlap ? \"-8px\" : \"0\")};\n }\n`;\n\nRoundAvatar.displayName = \"RoundAvatar\";\n"],"mappings":"AAAA,OAAOA,MAAM,MAAM,mBAAmB;;AAEtC;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMC,WAAW,GAAGD,MAAM,CAACE,GAAG,CAAAC,UAAA;EAAAC,WAAA;EAAAC,WAAA;AAAA,wOAMzBC,KAAK;EAAA,IAAAC,YAAA;EAAA,QAAAA,YAAA,GAAKD,KAAK,CAACE,KAAK,YAAAD,YAAA,GAAI,EAAE;AAAA,GAC1BD,KAAK;EAAA,IAAAG,aAAA;EAAA,QAAAA,aAAA,GAAKH,KAAK,CAACE,KAAK,YAAAC,aAAA,GAAI,EAAE;AAAA,GAEjBH,KAAK,IAAKA,KAAK,CAACI,GAAG,EAK1BJ,KAAK,IAAK;EAAA,IAAAK,aAAA;EACtB,MAAMC,IAAI,IAAAD,aAAA,GAAGL,KAAK,CAACE,KAAK,YAAAG,aAAA,GAAI,EAAE;EAC9B,IAAIC,IAAI,IAAI,EAAE,EAAE,OAAO,CAAC;EACxB,IAAIA,IAAI,IAAI,EAAE,EAAE,OAAO,EAAE;EACzB,OAAO,EAAE;AACX,CAAC,EAGEN,KAAK,IACNA,KAAK,CAACO,SAAS,KAAK,KAAK,GACrB,EAAE,GACF,2CAA2C,EAG/BP,KAAK,IAAMA,KAAK,CAACQ,QAAQ,GAAG,MAAM,GAAG,GAAI,CAE5D;AAEDb,WAAW,CAACG,WAAW,GAAG,aAAa","ignoreList":[]}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { ReactElement } from "react";
|
|
2
|
+
export interface TaskOptionsMenuProps {
|
|
3
|
+
/** Class on the TreeDots trigger (parent controls its hover visibility). */
|
|
4
|
+
targetClassName?: string;
|
|
5
|
+
/** IconButton size of the trigger (omit for the default/regular size). */
|
|
6
|
+
size?: "small" | "big";
|
|
7
|
+
}
|
|
8
|
+
export declare const TaskOptionsMenu: {
|
|
9
|
+
({ targetClassName, size, }: TaskOptionsMenuProps): ReactElement;
|
|
10
|
+
displayName: string;
|
|
11
|
+
};
|
|
12
|
+
export interface TaskListOptionsMenuProps {
|
|
13
|
+
/** Class on the TreeDots trigger (parent controls its hover visibility). */
|
|
14
|
+
targetClassName?: string;
|
|
15
|
+
/** IconButton size of the trigger (omit for the default/regular size). */
|
|
16
|
+
size?: "small" | "big";
|
|
17
|
+
}
|
|
18
|
+
export declare const TaskListOptionsMenu: {
|
|
19
|
+
({ targetClassName, size, }: TaskListOptionsMenuProps): ReactElement;
|
|
20
|
+
displayName: string;
|
|
21
|
+
};
|
|
22
|
+
//# sourceMappingURL=TaskOptionsMenu.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TaskOptionsMenu.d.ts","sourceRoot":"","sources":["../../../../src/presentation/shared/TaskOptionsMenu.tsx"],"names":[],"mappings":"AAAA,OAAc,EAAE,YAAY,EAAyB,MAAM,OAAO,CAAC;AA8DnE,MAAM,WAAW,oBAAoB;IACnC,4EAA4E;IAC5E,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,0EAA0E;IAC1E,IAAI,CAAC,EAAE,OAAO,GAAG,KAAK,CAAC;CACxB;AAED,eAAO,MAAM,eAAe;iCAGzB,oBAAoB,GAAG,YAAY;;CA0ErC,CAAC;AAIF,MAAM,WAAW,wBAAwB;IACvC,4EAA4E;IAC5E,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,0EAA0E;IAC1E,IAAI,CAAC,EAAE,OAAO,GAAG,KAAK,CAAC;CACxB;AAKD,eAAO,MAAM,mBAAmB;iCAG7B,wBAAwB,GAAG,YAAY;;CAoDzC,CAAC"}
|