@activecollab/components 2.0.421 → 2.0.423

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.
Files changed (107) hide show
  1. package/dist/cjs/components/DrilldownMenu/DrilldownMenu.js +66 -0
  2. package/dist/cjs/components/DrilldownMenu/DrilldownMenu.js.map +1 -0
  3. package/dist/cjs/components/DrilldownMenu/DrilldownMenuContent.js +121 -0
  4. package/dist/cjs/components/DrilldownMenu/DrilldownMenuContent.js.map +1 -0
  5. package/dist/cjs/components/DrilldownMenu/MeasuredPane.js +61 -0
  6. package/dist/cjs/components/DrilldownMenu/MeasuredPane.js.map +1 -0
  7. package/dist/cjs/components/DrilldownMenu/Styles.js +30 -0
  8. package/dist/cjs/components/DrilldownMenu/Styles.js.map +1 -0
  9. package/dist/cjs/components/DrilldownMenu/SubmenuHeader.js +28 -0
  10. package/dist/cjs/components/DrilldownMenu/SubmenuHeader.js.map +1 -0
  11. package/dist/cjs/components/DrilldownMenu/index.js +50 -0
  12. package/dist/cjs/components/DrilldownMenu/index.js.map +1 -0
  13. package/dist/cjs/components/RadioCard/RadioCard.js +81 -0
  14. package/dist/cjs/components/RadioCard/RadioCard.js.map +1 -0
  15. package/dist/cjs/components/RadioCard/Styles.js +39 -0
  16. package/dist/cjs/components/RadioCard/Styles.js.map +1 -0
  17. package/dist/cjs/components/RadioCard/index.js +17 -0
  18. package/dist/cjs/components/RadioCard/index.js.map +1 -0
  19. package/dist/cjs/components/RadioGroup/RadioGroup.js +102 -0
  20. package/dist/cjs/components/RadioGroup/RadioGroup.js.map +1 -0
  21. package/dist/cjs/components/RadioGroup/Styles.js +38 -0
  22. package/dist/cjs/components/RadioGroup/Styles.js.map +1 -0
  23. package/dist/cjs/components/RadioGroup/index.js +17 -0
  24. package/dist/cjs/components/RadioGroup/index.js.map +1 -0
  25. package/dist/cjs/components/index.js +33 -0
  26. package/dist/cjs/components/index.js.map +1 -1
  27. package/dist/cjs/presentation/shared/PortfolioOptionsMenu.js +74 -15
  28. package/dist/cjs/presentation/shared/PortfolioOptionsMenu.js.map +1 -1
  29. package/dist/cjs/presentation/shared/index.js +93 -1
  30. package/dist/cjs/presentation/shared/index.js.map +1 -1
  31. package/dist/cjs/presentation/shared/portfolioDetails.js +566 -0
  32. package/dist/cjs/presentation/shared/portfolioDetails.js.map +1 -0
  33. package/dist/cjs/utils/useStableId.js +33 -0
  34. package/dist/cjs/utils/useStableId.js.map +1 -0
  35. package/dist/esm/components/DrilldownMenu/DrilldownMenu.d.ts +24 -0
  36. package/dist/esm/components/DrilldownMenu/DrilldownMenu.d.ts.map +1 -0
  37. package/dist/esm/components/DrilldownMenu/DrilldownMenu.js +48 -0
  38. package/dist/esm/components/DrilldownMenu/DrilldownMenu.js.map +1 -0
  39. package/dist/esm/components/DrilldownMenu/DrilldownMenuContent.d.ts +38 -0
  40. package/dist/esm/components/DrilldownMenu/DrilldownMenuContent.d.ts.map +1 -0
  41. package/dist/esm/components/DrilldownMenu/DrilldownMenuContent.js +97 -0
  42. package/dist/esm/components/DrilldownMenu/DrilldownMenuContent.js.map +1 -0
  43. package/dist/esm/components/DrilldownMenu/MeasuredPane.d.ts +10 -0
  44. package/dist/esm/components/DrilldownMenu/MeasuredPane.d.ts.map +1 -0
  45. package/dist/esm/components/DrilldownMenu/MeasuredPane.js +44 -0
  46. package/dist/esm/components/DrilldownMenu/MeasuredPane.js.map +1 -0
  47. package/dist/esm/components/DrilldownMenu/Styles.d.ts +17 -0
  48. package/dist/esm/components/DrilldownMenu/Styles.d.ts.map +1 -0
  49. package/dist/esm/components/DrilldownMenu/Styles.js +23 -0
  50. package/dist/esm/components/DrilldownMenu/Styles.js.map +1 -0
  51. package/dist/esm/components/DrilldownMenu/SubmenuHeader.d.ts +11 -0
  52. package/dist/esm/components/DrilldownMenu/SubmenuHeader.d.ts.map +1 -0
  53. package/dist/esm/components/DrilldownMenu/SubmenuHeader.js +21 -0
  54. package/dist/esm/components/DrilldownMenu/SubmenuHeader.js.map +1 -0
  55. package/dist/esm/components/DrilldownMenu/index.d.ts +5 -0
  56. package/dist/esm/components/DrilldownMenu/index.d.ts.map +1 -0
  57. package/dist/esm/components/DrilldownMenu/index.js +5 -0
  58. package/dist/esm/components/DrilldownMenu/index.js.map +1 -0
  59. package/dist/esm/components/RadioCard/RadioCard.d.ts +27 -0
  60. package/dist/esm/components/RadioCard/RadioCard.d.ts.map +1 -0
  61. package/dist/esm/components/RadioCard/RadioCard.js +72 -0
  62. package/dist/esm/components/RadioCard/RadioCard.js.map +1 -0
  63. package/dist/esm/components/RadioCard/Styles.d.ts +16 -0
  64. package/dist/esm/components/RadioCard/Styles.d.ts.map +1 -0
  65. package/dist/esm/components/RadioCard/Styles.js +26 -0
  66. package/dist/esm/components/RadioCard/Styles.js.map +1 -0
  67. package/dist/esm/components/RadioCard/index.d.ts +2 -0
  68. package/dist/esm/components/RadioCard/index.d.ts.map +1 -0
  69. package/dist/esm/components/RadioCard/index.js +2 -0
  70. package/dist/esm/components/RadioCard/index.js.map +1 -0
  71. package/dist/esm/components/RadioGroup/RadioGroup.d.ts +48 -0
  72. package/dist/esm/components/RadioGroup/RadioGroup.d.ts.map +1 -0
  73. package/dist/esm/components/RadioGroup/RadioGroup.js +89 -0
  74. package/dist/esm/components/RadioGroup/RadioGroup.js.map +1 -0
  75. package/dist/esm/components/RadioGroup/Styles.d.ts +22 -0
  76. package/dist/esm/components/RadioGroup/Styles.d.ts.map +1 -0
  77. package/dist/esm/components/RadioGroup/Styles.js +23 -0
  78. package/dist/esm/components/RadioGroup/Styles.js.map +1 -0
  79. package/dist/esm/components/RadioGroup/index.d.ts +2 -0
  80. package/dist/esm/components/RadioGroup/index.d.ts.map +1 -0
  81. package/dist/esm/components/RadioGroup/index.js +2 -0
  82. package/dist/esm/components/RadioGroup/index.js.map +1 -0
  83. package/dist/esm/components/index.d.ts +3 -0
  84. package/dist/esm/components/index.d.ts.map +1 -1
  85. package/dist/esm/components/index.js +3 -0
  86. package/dist/esm/components/index.js.map +1 -1
  87. package/dist/esm/presentation/shared/PortfolioOptionsMenu.d.ts +5 -1
  88. package/dist/esm/presentation/shared/PortfolioOptionsMenu.d.ts.map +1 -1
  89. package/dist/esm/presentation/shared/PortfolioOptionsMenu.js +61 -14
  90. package/dist/esm/presentation/shared/PortfolioOptionsMenu.js.map +1 -1
  91. package/dist/esm/presentation/shared/index.d.ts +2 -0
  92. package/dist/esm/presentation/shared/index.d.ts.map +1 -1
  93. package/dist/esm/presentation/shared/index.js +1 -0
  94. package/dist/esm/presentation/shared/index.js.map +1 -1
  95. package/dist/esm/presentation/shared/portfolioDetails.d.ts +74 -0
  96. package/dist/esm/presentation/shared/portfolioDetails.d.ts.map +1 -0
  97. package/dist/esm/presentation/shared/portfolioDetails.js +490 -0
  98. package/dist/esm/presentation/shared/portfolioDetails.js.map +1 -0
  99. package/dist/esm/utils/useStableId.d.ts +2 -0
  100. package/dist/esm/utils/useStableId.d.ts.map +1 -0
  101. package/dist/esm/utils/useStableId.js +25 -0
  102. package/dist/esm/utils/useStableId.js.map +1 -0
  103. package/dist/index.js +1315 -821
  104. package/dist/index.js.map +1 -1
  105. package/dist/index.min.js +1 -1
  106. package/dist/index.min.js.map +1 -1
  107. package/package.json +1 -1
@@ -1,27 +1,41 @@
1
1
  import React, { useCallback, useState } from "react";
2
- import styled from "styled-components";
2
+ import { DEFAULT_PORTFOLIO_FORM_VALUES, EditPortfolioDialog } from "./portfolioDetails";
3
+ import { ConfirmDialog } from "../../components/ConfirmDialog";
3
4
  import { IconButton } from "../../components/IconButton";
4
5
  import { ArchiveIcon, EditIcon, TrashIcon, TreeDotsIcon } from "../../components/Icons";
5
6
  import { List, ListItem, ListSeparator } from "../../components/List";
6
7
  import { Menu } from "../../components/Menu";
7
8
 
8
- /* Portfolio three-dots menu — Edit / Archive / Delete, per the Portfolios
9
- spec (notebook 1998, note 01). Shared by the Portfolios list rows and the
10
- portfolio dashboard header. Clicks are intentionally no-ops. */
11
- const StyledPortfolioMenu = styled.div.withConfig({
12
- displayName: "PortfolioOptionsMenu__StyledPortfolioMenu",
13
- componentId: "sc-i253fh-0"
14
- })([".danger{color:var(--red-alert);}.danger svg{fill:var(--red-alert);}"]);
9
+ /* Portfolio three-dots menu — Edit, a separator, Archive, Delete, per the
10
+ Portfolios spec (notebook 1998, note 01). Shared by the Portfolios list rows
11
+ and the portfolio dashboard header. Every item reads in the default colour
12
+ (Delete is not styled differently).
13
+
14
+ Edit opens the Edit Portfolio dialog — the create wizard's step 2 (name, the
15
+ type's picker, visibility) reused verbatim, with the same validation. Archive
16
+ and Delete each open a confirm dialog (the DS ConfirmDialog). Confirm/Cancel
17
+ and Save are no-ops in the mock. */
18
+
15
19
  export const PortfolioOptionsMenu = _ref => {
16
20
  let targetClassName = _ref.targetClassName,
17
- size = _ref.size;
21
+ size = _ref.size,
22
+ editValues = _ref.editValues;
18
23
  const _useState = useState(false),
19
24
  open = _useState[0],
20
25
  setOpen = _useState[1];
26
+ const _useState2 = useState(false),
27
+ editOpen = _useState2[0],
28
+ setEditOpen = _useState2[1];
29
+ const _useState3 = useState(false),
30
+ archiveOpen = _useState3[0],
31
+ setArchiveOpen = _useState3[1];
32
+ const _useState4 = useState(false),
33
+ deleteOpen = _useState4[0],
34
+ setDeleteOpen = _useState4[1];
21
35
  const handleOpen = useCallback(() => setOpen(true), []);
22
36
  const handleClose = useCallback(() => setOpen(false), []);
23
37
  const triggerClassName = [targetClassName, open ? "open" : ""].filter(Boolean).join(" ") || undefined;
24
- return /*#__PURE__*/React.createElement(Menu, {
38
+ return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Menu, {
25
39
  open: open,
26
40
  onOpen: handleOpen,
27
41
  onClose: handleClose,
@@ -33,14 +47,47 @@ export const PortfolioOptionsMenu = _ref => {
33
47
  className: triggerClassName,
34
48
  active: open
35
49
  }, /*#__PURE__*/React.createElement(TreeDotsIcon, null))
36
- }, /*#__PURE__*/React.createElement(StyledPortfolioMenu, null, /*#__PURE__*/React.createElement(List, {
50
+ }, /*#__PURE__*/React.createElement(List, {
37
51
  style: {
38
52
  padding: "8px 0"
39
53
  },
40
54
  tabIndex: -1
41
- }, /*#__PURE__*/React.createElement(ListItem, null, /*#__PURE__*/React.createElement(EditIcon, null), "Edit"), /*#__PURE__*/React.createElement(ListItem, null, /*#__PURE__*/React.createElement(ArchiveIcon, null), "Archive"), /*#__PURE__*/React.createElement(ListSeparator, null), /*#__PURE__*/React.createElement(ListItem, {
42
- className: "danger"
43
- }, /*#__PURE__*/React.createElement(TrashIcon, null), "Delete"))));
55
+ }, /*#__PURE__*/React.createElement(ListItem, {
56
+ onClick: () => {
57
+ setOpen(false);
58
+ setEditOpen(true);
59
+ }
60
+ }, /*#__PURE__*/React.createElement(EditIcon, null), "Edit"), /*#__PURE__*/React.createElement(ListSeparator, null), /*#__PURE__*/React.createElement(ListItem, {
61
+ onClick: () => {
62
+ setOpen(false);
63
+ setArchiveOpen(true);
64
+ }
65
+ }, /*#__PURE__*/React.createElement(ArchiveIcon, null), "Archive"), /*#__PURE__*/React.createElement(ListItem, {
66
+ onClick: () => {
67
+ setOpen(false);
68
+ setDeleteOpen(true);
69
+ }
70
+ }, /*#__PURE__*/React.createElement(TrashIcon, null), "Delete"))), /*#__PURE__*/React.createElement(EditPortfolioDialog, {
71
+ open: editOpen,
72
+ initialValues: editValues != null ? editValues : DEFAULT_PORTFOLIO_FORM_VALUES,
73
+ onClose: () => setEditOpen(false)
74
+ }), /*#__PURE__*/React.createElement(ConfirmDialog, {
75
+ open: archiveOpen,
76
+ dialogTitle: "Archive Portfolio",
77
+ dialogContent: "Move the portfolio into the Archive. You can restore it from the Archive at any time.",
78
+ confirmBtnText: "Archive",
79
+ cancelBtnText: "Cancel",
80
+ onConfirm: () => setArchiveOpen(false),
81
+ onCancel: () => setArchiveOpen(false)
82
+ }), /*#__PURE__*/React.createElement(ConfirmDialog, {
83
+ open: deleteOpen,
84
+ dialogTitle: "Delete Portfolio",
85
+ dialogContent: "Deleting the portfolio doesn't change any of its projects. They stay as they are. The portfolio will remain in Trash for 30 days.",
86
+ confirmBtnText: "Delete",
87
+ cancelBtnText: "Cancel",
88
+ onConfirm: () => setDeleteOpen(false),
89
+ onCancel: () => setDeleteOpen(false)
90
+ }));
44
91
  };
45
92
  PortfolioOptionsMenu.displayName = "PortfolioOptionsMenu";
46
93
  //# sourceMappingURL=PortfolioOptionsMenu.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"PortfolioOptionsMenu.js","names":["React","useCallback","useState","styled","IconButton","ArchiveIcon","EditIcon","TrashIcon","TreeDotsIcon","List","ListItem","ListSeparator","Menu","StyledPortfolioMenu","div","withConfig","displayName","componentId","PortfolioOptionsMenu","_ref","targetClassName","size","_useState","open","setOpen","handleOpen","handleClose","triggerClassName","filter","Boolean","join","undefined","createElement","onOpen","onClose","position","target","type","variant","className","active","style","padding","tabIndex"],"sources":["../../../../src/presentation/shared/PortfolioOptionsMenu.tsx"],"sourcesContent":["import React, { ReactElement, useCallback, useState } from \"react\";\n\nimport styled from \"styled-components\";\n\nimport { IconButton } from \"../../components/IconButton\";\nimport {\n ArchiveIcon,\n EditIcon,\n TrashIcon,\n TreeDotsIcon,\n} from \"../../components/Icons\";\nimport { List, ListItem, ListSeparator } from \"../../components/List\";\nimport { Menu } from \"../../components/Menu\";\n\n/* Portfolio three-dots menu — Edit / Archive / Delete, per the Portfolios\n spec (notebook 1998, note 01). Shared by the Portfolios list rows and the\n portfolio dashboard header. Clicks are intentionally no-ops. */\nconst StyledPortfolioMenu = styled.div`\n /* Delete is a destructive action red text + icon */\n .danger {\n color: var(--red-alert);\n }\n\n .danger svg {\n fill: var(--red-alert);\n }\n`;\n\nexport interface PortfolioOptionsMenuProps {\n /** Class on the TreeDots trigger (parent controls its hover visibility). */\n targetClassName?: string;\n /** IconButton size of the trigger (omit for the default/regular size). */\n size?: \"small\" | \"big\";\n}\n\nexport const PortfolioOptionsMenu = ({\n targetClassName,\n size,\n}: PortfolioOptionsMenuProps): ReactElement => {\n const [open, setOpen] = useState(false);\n const handleOpen = useCallback(() => setOpen(true), []);\n const handleClose = useCallback(() => setOpen(false), []);\n\n const triggerClassName =\n [targetClassName, open ? \"open\" : \"\"].filter(Boolean).join(\" \") ||\n undefined;\n\n return (\n <Menu\n open={open}\n onOpen={handleOpen}\n onClose={handleClose}\n position=\"bottom-end\"\n target={\n <IconButton\n type=\"button\"\n variant=\"text gray\"\n size={size}\n className={triggerClassName}\n active={open}\n >\n <TreeDotsIcon />\n </IconButton>\n }\n >\n <StyledPortfolioMenu>\n <List style={{ padding: \"8px 0\" }} tabIndex={-1}>\n <ListItem>\n <EditIcon />\n Edit\n </ListItem>\n <ListItem>\n <ArchiveIcon />\n Archive\n </ListItem>\n <ListSeparator />\n <ListItem className=\"danger\">\n <TrashIcon />\n Delete\n </ListItem>\n </List>\n </StyledPortfolioMenu>\n </Menu>\n );\n};\n\nPortfolioOptionsMenu.displayName = \"PortfolioOptionsMenu\";\n"],"mappings":"AAAA,OAAOA,KAAK,IAAkBC,WAAW,EAAEC,QAAQ,QAAQ,OAAO;AAElE,OAAOC,MAAM,MAAM,mBAAmB;AAEtC,SAASC,UAAU,QAAQ,6BAA6B;AACxD,SACEC,WAAW,EACXC,QAAQ,EACRC,SAAS,EACTC,YAAY,QACP,wBAAwB;AAC/B,SAASC,IAAI,EAAEC,QAAQ,EAAEC,aAAa,QAAQ,uBAAuB;AACrE,SAASC,IAAI,QAAQ,uBAAuB;;AAE5C;AACA;AACA;AACA,MAAMC,mBAAmB,GAAGV,MAAM,CAACW,GAAG,CAAAC,UAAA;EAAAC,WAAA;EAAAC,WAAA;AAAA,2EASrC;AASD,OAAO,MAAMC,oBAAoB,GAAGC,IAAA,IAGW;EAAA,IAF7CC,eAAe,GAAAD,IAAA,CAAfC,eAAe;IACfC,IAAI,GAAAF,IAAA,CAAJE,IAAI;EAEJ,MAAAC,SAAA,GAAwBpB,QAAQ,CAAC,KAAK,CAAC;IAAhCqB,IAAI,GAAAD,SAAA;IAAEE,OAAO,GAAAF,SAAA;EACpB,MAAMG,UAAU,GAAGxB,WAAW,CAAC,MAAMuB,OAAO,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC;EACvD,MAAME,WAAW,GAAGzB,WAAW,CAAC,MAAMuB,OAAO,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC;EAEzD,MAAMG,gBAAgB,GACpB,CAACP,eAAe,EAAEG,IAAI,GAAG,MAAM,GAAG,EAAE,CAAC,CAACK,MAAM,CAACC,OAAO,CAAC,CAACC,IAAI,CAAC,GAAG,CAAC,IAC/DC,SAAS;EAEX,oBACE/B,KAAA,CAAAgC,aAAA,CAACpB,IAAI;IACHW,IAAI,EAAEA,IAAK;IACXU,MAAM,EAAER,UAAW;IACnBS,OAAO,EAAER,WAAY;IACrBS,QAAQ,EAAC,YAAY;IACrBC,MAAM,eACJpC,KAAA,CAAAgC,aAAA,CAAC5B,UAAU;MACTiC,IAAI,EAAC,QAAQ;MACbC,OAAO,EAAC,WAAW;MACnBjB,IAAI,EAAEA,IAAK;MACXkB,SAAS,EAAEZ,gBAAiB;MAC5Ba,MAAM,EAAEjB;IAAK,gBAEbvB,KAAA,CAAAgC,aAAA,CAACxB,YAAY,MAAE,CACL;EACb,gBAEDR,KAAA,CAAAgC,aAAA,CAACnB,mBAAmB,qBAClBb,KAAA,CAAAgC,aAAA,CAACvB,IAAI;IAACgC,KAAK,EAAE;MAAEC,OAAO,EAAE;IAAQ,CAAE;IAACC,QAAQ,EAAE,CAAC;EAAE,gBAC9C3C,KAAA,CAAAgC,aAAA,CAACtB,QAAQ,qBACPV,KAAA,CAAAgC,aAAA,CAAC1B,QAAQ,MAAE,CAAC,QAEJ,CAAC,eACXN,KAAA,CAAAgC,aAAA,CAACtB,QAAQ,qBACPV,KAAA,CAAAgC,aAAA,CAAC3B,WAAW,MAAE,CAAC,WAEP,CAAC,eACXL,KAAA,CAAAgC,aAAA,CAACrB,aAAa,MAAE,CAAC,eACjBX,KAAA,CAAAgC,aAAA,CAACtB,QAAQ;IAAC6B,SAAS,EAAC;EAAQ,gBAC1BvC,KAAA,CAAAgC,aAAA,CAACzB,SAAS,MAAE,CAAC,UAEL,CACN,CACa,CACjB,CAAC;AAEX,CAAC;AAEDW,oBAAoB,CAACF,WAAW,GAAG,sBAAsB","ignoreList":[]}
1
+ {"version":3,"file":"PortfolioOptionsMenu.js","names":["React","useCallback","useState","DEFAULT_PORTFOLIO_FORM_VALUES","EditPortfolioDialog","ConfirmDialog","IconButton","ArchiveIcon","EditIcon","TrashIcon","TreeDotsIcon","List","ListItem","ListSeparator","Menu","PortfolioOptionsMenu","_ref","targetClassName","size","editValues","_useState","open","setOpen","_useState2","editOpen","setEditOpen","_useState3","archiveOpen","setArchiveOpen","_useState4","deleteOpen","setDeleteOpen","handleOpen","handleClose","triggerClassName","filter","Boolean","join","undefined","createElement","Fragment","onOpen","onClose","position","target","type","variant","className","active","style","padding","tabIndex","onClick","initialValues","dialogTitle","dialogContent","confirmBtnText","cancelBtnText","onConfirm","onCancel","displayName"],"sources":["../../../../src/presentation/shared/PortfolioOptionsMenu.tsx"],"sourcesContent":["import React, { ReactElement, useCallback, useState } from \"react\";\n\nimport {\n DEFAULT_PORTFOLIO_FORM_VALUES,\n EditPortfolioDialog,\n PortfolioFormValues,\n} from \"./portfolioDetails\";\nimport { ConfirmDialog } from \"../../components/ConfirmDialog\";\nimport { IconButton } from \"../../components/IconButton\";\nimport {\n ArchiveIcon,\n EditIcon,\n TrashIcon,\n TreeDotsIcon,\n} from \"../../components/Icons\";\nimport { List, ListItem, ListSeparator } from \"../../components/List\";\nimport { Menu } from \"../../components/Menu\";\n\n/* Portfolio three-dots menu — Edit, a separator, Archive, Delete, per the\n Portfolios spec (notebook 1998, note 01). Shared by the Portfolios list rows\n and the portfolio dashboard header. Every item reads in the default colour\n (Delete is not styled differently).\n\n Edit opens the Edit Portfolio dialog the create wizard's step 2 (name, the\n type's picker, visibility) reused verbatim, with the same validation. Archive\n and Delete each open a confirm dialog (the DS ConfirmDialog). Confirm/Cancel\n and Save are no-ops in the mock. */\nexport interface PortfolioOptionsMenuProps {\n /** Class on the TreeDots trigger (parent controls its hover visibility). */\n targetClassName?: string;\n /** IconButton size of the trigger (omit for the default/regular size). */\n size?: \"small\" | \"big\";\n /** Current portfolio values that seed the Edit dialog. Omit for a blank\n (custom) seed. */\n editValues?: PortfolioFormValues;\n}\n\nexport const PortfolioOptionsMenu = ({\n targetClassName,\n size,\n editValues,\n}: PortfolioOptionsMenuProps): ReactElement => {\n const [open, setOpen] = useState(false);\n const [editOpen, setEditOpen] = useState(false);\n const [archiveOpen, setArchiveOpen] = useState(false);\n const [deleteOpen, setDeleteOpen] = useState(false);\n const handleOpen = useCallback(() => setOpen(true), []);\n const handleClose = useCallback(() => setOpen(false), []);\n\n const triggerClassName =\n [targetClassName, open ? \"open\" : \"\"].filter(Boolean).join(\" \") ||\n undefined;\n\n return (\n <>\n <Menu\n open={open}\n onOpen={handleOpen}\n onClose={handleClose}\n position=\"bottom-end\"\n target={\n <IconButton\n type=\"button\"\n variant=\"text gray\"\n size={size}\n className={triggerClassName}\n active={open}\n >\n <TreeDotsIcon />\n </IconButton>\n }\n >\n <List style={{ padding: \"8px 0\" }} tabIndex={-1}>\n <ListItem\n onClick={() => {\n setOpen(false);\n setEditOpen(true);\n }}\n >\n <EditIcon />\n Edit\n </ListItem>\n <ListSeparator />\n <ListItem\n onClick={() => {\n setOpen(false);\n setArchiveOpen(true);\n }}\n >\n <ArchiveIcon />\n Archive\n </ListItem>\n <ListItem\n onClick={() => {\n setOpen(false);\n setDeleteOpen(true);\n }}\n >\n <TrashIcon />\n Delete\n </ListItem>\n </List>\n </Menu>\n\n <EditPortfolioDialog\n open={editOpen}\n initialValues={editValues ?? DEFAULT_PORTFOLIO_FORM_VALUES}\n onClose={() => setEditOpen(false)}\n />\n\n <ConfirmDialog\n open={archiveOpen}\n dialogTitle=\"Archive Portfolio\"\n dialogContent=\"Move the portfolio into the Archive. You can restore it from the Archive at any time.\"\n confirmBtnText=\"Archive\"\n cancelBtnText=\"Cancel\"\n onConfirm={() => setArchiveOpen(false)}\n onCancel={() => setArchiveOpen(false)}\n />\n\n <ConfirmDialog\n open={deleteOpen}\n dialogTitle=\"Delete Portfolio\"\n dialogContent=\"Deleting the portfolio doesn't change any of its projects. They stay as they are. The portfolio will remain in Trash for 30 days.\"\n confirmBtnText=\"Delete\"\n cancelBtnText=\"Cancel\"\n onConfirm={() => setDeleteOpen(false)}\n onCancel={() => setDeleteOpen(false)}\n />\n </>\n );\n};\n\nPortfolioOptionsMenu.displayName = \"PortfolioOptionsMenu\";\n"],"mappings":"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","ignoreList":[]}
@@ -46,4 +46,6 @@ export { SettingsHeader, SettingsContent, StyledSettingRow, RowText, SettingRow,
46
46
  export type { SettingsHeaderProps, SettingRowProps } from "./settings";
47
47
  export { FeatureAvailability, DEFAULT_FEATURE_AVAILABILITY, } from "./FeatureAvailability";
48
48
  export type { FeatureAvailabilityProps, AvailabilityRow, AvailabilityMark, AvailabilityStatus, } from "./FeatureAvailability";
49
+ export { PORTFOLIO_TYPES, VISIBILITY_OPTIONS, DEFAULT_PORTFOLIO_FORM_VALUES, LEADERS_LIST, CATEGORIES, CLIENTS, contextFieldLabel, leaderShortName, defaultPortfolioName, isPortfolioDetailsValid, sampleProjectOptionIds, PortfolioDetailsFields, EditPortfolioDialog, } from "./portfolioDetails";
50
+ export type { PortfolioKind, PortfolioVisibility, GroupBy, PortfolioFormValues, PickerLeader, PortfolioDetailsFieldsProps, EditPortfolioDialogProps, } from "./portfolioDetails";
49
51
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/presentation/shared/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/presentation/shared/index.ts"],"names":[],"mappings":"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"}
@@ -28,4 +28,5 @@ export { TwoFactorShield } from "./TwoFactorShield";
28
28
  export { BackupCodesDialogs, CreateLoginCodeDialogs } from "./TwoFactorDialogs";
29
29
  export { SettingsHeader, SettingsContent, StyledSettingRow, RowText, SettingRow } from "./settings";
30
30
  export { FeatureAvailability, DEFAULT_FEATURE_AVAILABILITY } from "./FeatureAvailability";
31
+ export { PORTFOLIO_TYPES, VISIBILITY_OPTIONS, DEFAULT_PORTFOLIO_FORM_VALUES, LEADERS_LIST, CATEGORIES, CLIENTS, contextFieldLabel, leaderShortName, defaultPortfolioName, isPortfolioDetailsValid, sampleProjectOptionIds, PortfolioDetailsFields, EditPortfolioDialog } from "./portfolioDetails";
31
32
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["MainLogo","RoundAvatar","PresentationShell","StyledPagePaper","PageHeader","ProjectPageHeader","TabHeader","ProjectOptionsMenu","PortfolioOptionsMenu","WidgetGrid","WidgetGroupBy","StatWidget","WidgetRankedList","OverviewWidget","AreaChartWidget","DailyDeltaChartWidget","LeaderboardWidget","StackedBarChartWidget","CHART_SERIES_COLORS","OVERVIEW_SECTION_COLORS","PERIOD_OPTIONS","PeriodPicker","FloatingControls","MessageDialog","DocLinkContext","messageComponents","MessageFeedback","POSITIVE_FEEDBACK_OPTIONS","NEGATIVE_FEEDBACK_OPTIONS","HelpAndSupportMenu","LinkingCommandsButton","LinkBranchOrPullRequestDialog","ConnectRepositoryDialog","RepositorySelect","buildRepoOptions","CONNECTIONS","PROJECT_REPOSITORIES","CONNECTABLE_REPOSITORIES","WebhookLogsDialog","WEBHOOK_CONNECTIONS","WEBHOOK_REPOSITORIES","SourceCodeSection","IssueRow","CodeRow","Spine","HistoryDialog","CompletedHeader","SuggestSubtasksButton","TaskOptionsMenu","TaskListOptionsMenu","UserMenu","TwoFactorShield","BackupCodesDialogs","CreateLoginCodeDialogs","SettingsHeader","SettingsContent","StyledSettingRow","RowText","SettingRow","FeatureAvailability","DEFAULT_FEATURE_AVAILABILITY"],"sources":["../../../../src/presentation/shared/index.ts"],"sourcesContent":["/**\n * Shared building blocks for the Presentation mock-ups (`Presentation/*`\n * stories). The application shell, page headers, tab bar and small widgets are\n * defined once here and reused by the List view, Column view, Task sheet and\n * empty-page stories so the chrome stays identical and in one place.\n */\nexport * from \"./tokens\";\nexport { MainLogo } from \"./MainLogo\";\nexport { RoundAvatar } from \"./RoundAvatar\";\nexport { PresentationShell, StyledPagePaper } from \"./PresentationShell\";\nexport type { PresentationShellProps } from \"./PresentationShell\";\nexport { PageHeader, ProjectPageHeader, TabHeader } from \"./headers\";\nexport type {\n PageHeaderProps,\n ProjectPageHeaderProps,\n TabHeaderProps,\n} from \"./headers\";\nexport { ProjectOptionsMenu } from \"./ProjectOptionsMenu\";\nexport { PortfolioOptionsMenu } from \"./PortfolioOptionsMenu\";\nexport type { PortfolioOptionsMenuProps } from \"./PortfolioOptionsMenu\";\nexport {\n WidgetGrid,\n WidgetGroupBy,\n StatWidget,\n WidgetRankedList,\n OverviewWidget,\n AreaChartWidget,\n DailyDeltaChartWidget,\n LeaderboardWidget,\n StackedBarChartWidget,\n CHART_SERIES_COLORS,\n OVERVIEW_SECTION_COLORS,\n PERIOD_OPTIONS,\n PeriodPicker,\n} from \"./dashboardWidgets\";\nexport type {\n WidgetGroupByProps,\n StatWidgetProps,\n RankedListItem,\n OverviewSectionData,\n OverviewWidgetProps,\n AreaChartWidgetProps,\n DailyDeltaPoint,\n DailyDeltaChartWidgetProps,\n LeaderboardRowData,\n LeaderboardWidgetProps,\n StackedBarColumn,\n StackedBarChartWidgetProps,\n PeriodPickerProps,\n} from \"./dashboardWidgets\";\n\nexport type { ProjectOptionsMenuProps } from \"./ProjectOptionsMenu\";\nexport { FloatingControls } from \"./FloatingControls\";\nexport {\n MessageDialog,\n DocLinkContext,\n messageComponents,\n} from \"./MessageDialog\";\nexport type {\n MessageDialogProps,\n MessageDialogSize,\n OpenArticleHandler,\n} from \"./MessageDialog\";\nexport {\n MessageFeedback,\n POSITIVE_FEEDBACK_OPTIONS,\n NEGATIVE_FEEDBACK_OPTIONS,\n} from \"./MessageFeedback\";\nexport type {\n MessageFeedbackProps,\n MessageFeedbackResult,\n FeedbackOption,\n FeedbackSentiment,\n} from \"./MessageFeedback\";\nexport { HelpAndSupportMenu } from \"./HelpAndSupportMenu\";\nexport type { HelpAndSupportMenuProps } from \"./HelpAndSupportMenu\";\nexport { LinkingCommandsButton } from \"./LinkingCommandsButton\";\nexport { LinkBranchOrPullRequestDialog } from \"./LinkBranchOrPullRequestDialog\";\nexport type { LinkBranchOrPullRequestDialogProps } from \"./LinkBranchOrPullRequestDialog\";\nexport {\n ConnectRepositoryDialog,\n RepositorySelect,\n buildRepoOptions,\n CONNECTIONS,\n PROJECT_REPOSITORIES,\n CONNECTABLE_REPOSITORIES,\n} from \"./ConnectRepositoryDialog\";\nexport type {\n ConnectRepositoryDialogProps,\n RepositorySelectProps,\n Connection,\n ConnectionService,\n Repository,\n} from \"./ConnectRepositoryDialog\";\nexport {\n WebhookLogsDialog,\n WEBHOOK_CONNECTIONS,\n WEBHOOK_REPOSITORIES,\n} from \"./WebhookLogsDialog\";\nexport type {\n WebhookLogsDialogProps,\n WebhookConnection,\n WebhookRepository,\n WebhookLog,\n} from \"./WebhookLogsDialog\";\nexport {\n SourceCodeSection,\n IssueRow,\n CodeRow,\n Spine,\n HistoryDialog,\n CompletedHeader,\n} from \"./SourceCodeSection\";\nexport type {\n IssueEntry,\n CodeEntry,\n Stage,\n HistoryEvent,\n StageState,\n CodeStatus,\n SectionVariant,\n} from \"./SourceCodeSection\";\nexport { SuggestSubtasksButton } from \"./SuggestSubtasksButton\";\nexport { TaskOptionsMenu, TaskListOptionsMenu } from \"./TaskOptionsMenu\";\nexport type {\n TaskOptionsMenuProps,\n TaskListOptionsMenuProps,\n} from \"./TaskOptionsMenu\";\nexport { UserMenu } from \"./UserMenu\";\nexport type { UserMenuProps, UserMenuVariant } from \"./UserMenu\";\nexport { TwoFactorShield } from \"./TwoFactorShield\";\nexport type { TwoFactorShieldProps } from \"./TwoFactorShield\";\nexport { BackupCodesDialogs, CreateLoginCodeDialogs } from \"./TwoFactorDialogs\";\nexport type {\n BackupCodesDialogsProps,\n CreateLoginCodeDialogsProps,\n} from \"./TwoFactorDialogs\";\nexport {\n SettingsHeader,\n SettingsContent,\n StyledSettingRow,\n RowText,\n SettingRow,\n} from \"./settings\";\nexport type { SettingsHeaderProps, SettingRowProps } from \"./settings\";\nexport {\n FeatureAvailability,\n DEFAULT_FEATURE_AVAILABILITY,\n} from \"./FeatureAvailability\";\nexport type {\n FeatureAvailabilityProps,\n AvailabilityRow,\n AvailabilityMark,\n AvailabilityStatus,\n} from \"./FeatureAvailability\";\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc,UAAU;AACxB,SAASA,QAAQ,QAAQ,YAAY;AACrC,SAASC,WAAW,QAAQ,eAAe;AAC3C,SAASC,iBAAiB,EAAEC,eAAe,QAAQ,qBAAqB;AAExE,SAASC,UAAU,EAAEC,iBAAiB,EAAEC,SAAS,QAAQ,WAAW;AAMpE,SAASC,kBAAkB,QAAQ,sBAAsB;AACzD,SAASC,oBAAoB,QAAQ,wBAAwB;AAE7D,SACEC,UAAU,EACVC,aAAa,EACbC,UAAU,EACVC,gBAAgB,EAChBC,cAAc,EACdC,eAAe,EACfC,qBAAqB,EACrBC,iBAAiB,EACjBC,qBAAqB,EACrBC,mBAAmB,EACnBC,uBAAuB,EACvBC,cAAc,EACdC,YAAY,QACP,oBAAoB;AAkB3B,SAASC,gBAAgB,QAAQ,oBAAoB;AACrD,SACEC,aAAa,EACbC,cAAc,EACdC,iBAAiB,QACZ,iBAAiB;AAMxB,SACEC,eAAe,EACfC,yBAAyB,EACzBC,yBAAyB,QACpB,mBAAmB;AAO1B,SAASC,kBAAkB,QAAQ,sBAAsB;AAEzD,SAASC,qBAAqB,QAAQ,yBAAyB;AAC/D,SAASC,6BAA6B,QAAQ,iCAAiC;AAE/E,SACEC,uBAAuB,EACvBC,gBAAgB,EAChBC,gBAAgB,EAChBC,WAAW,EACXC,oBAAoB,EACpBC,wBAAwB,QACnB,2BAA2B;AAQlC,SACEC,iBAAiB,EACjBC,mBAAmB,EACnBC,oBAAoB,QACf,qBAAqB;AAO5B,SACEC,iBAAiB,EACjBC,QAAQ,EACRC,OAAO,EACPC,KAAK,EACLC,aAAa,EACbC,eAAe,QACV,qBAAqB;AAU5B,SAASC,qBAAqB,QAAQ,yBAAyB;AAC/D,SAASC,eAAe,EAAEC,mBAAmB,QAAQ,mBAAmB;AAKxE,SAASC,QAAQ,QAAQ,YAAY;AAErC,SAASC,eAAe,QAAQ,mBAAmB;AAEnD,SAASC,kBAAkB,EAAEC,sBAAsB,QAAQ,oBAAoB;AAK/E,SACEC,cAAc,EACdC,eAAe,EACfC,gBAAgB,EAChBC,OAAO,EACPC,UAAU,QACL,YAAY;AAEnB,SACEC,mBAAmB,EACnBC,4BAA4B,QACvB,uBAAuB","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["MainLogo","RoundAvatar","PresentationShell","StyledPagePaper","PageHeader","ProjectPageHeader","TabHeader","ProjectOptionsMenu","PortfolioOptionsMenu","WidgetGrid","WidgetGroupBy","StatWidget","WidgetRankedList","OverviewWidget","AreaChartWidget","DailyDeltaChartWidget","LeaderboardWidget","StackedBarChartWidget","CHART_SERIES_COLORS","OVERVIEW_SECTION_COLORS","PERIOD_OPTIONS","PeriodPicker","FloatingControls","MessageDialog","DocLinkContext","messageComponents","MessageFeedback","POSITIVE_FEEDBACK_OPTIONS","NEGATIVE_FEEDBACK_OPTIONS","HelpAndSupportMenu","LinkingCommandsButton","LinkBranchOrPullRequestDialog","ConnectRepositoryDialog","RepositorySelect","buildRepoOptions","CONNECTIONS","PROJECT_REPOSITORIES","CONNECTABLE_REPOSITORIES","WebhookLogsDialog","WEBHOOK_CONNECTIONS","WEBHOOK_REPOSITORIES","SourceCodeSection","IssueRow","CodeRow","Spine","HistoryDialog","CompletedHeader","SuggestSubtasksButton","TaskOptionsMenu","TaskListOptionsMenu","UserMenu","TwoFactorShield","BackupCodesDialogs","CreateLoginCodeDialogs","SettingsHeader","SettingsContent","StyledSettingRow","RowText","SettingRow","FeatureAvailability","DEFAULT_FEATURE_AVAILABILITY","PORTFOLIO_TYPES","VISIBILITY_OPTIONS","DEFAULT_PORTFOLIO_FORM_VALUES","LEADERS_LIST","CATEGORIES","CLIENTS","contextFieldLabel","leaderShortName","defaultPortfolioName","isPortfolioDetailsValid","sampleProjectOptionIds","PortfolioDetailsFields","EditPortfolioDialog"],"sources":["../../../../src/presentation/shared/index.ts"],"sourcesContent":["/**\n * Shared building blocks for the Presentation mock-ups (`Presentation/*`\n * stories). The application shell, page headers, tab bar and small widgets are\n * defined once here and reused by the List view, Column view, Task sheet and\n * empty-page stories so the chrome stays identical and in one place.\n */\nexport * from \"./tokens\";\nexport { MainLogo } from \"./MainLogo\";\nexport { RoundAvatar } from \"./RoundAvatar\";\nexport { PresentationShell, StyledPagePaper } from \"./PresentationShell\";\nexport type { PresentationShellProps } from \"./PresentationShell\";\nexport { PageHeader, ProjectPageHeader, TabHeader } from \"./headers\";\nexport type {\n PageHeaderProps,\n ProjectPageHeaderProps,\n TabHeaderProps,\n} from \"./headers\";\nexport { ProjectOptionsMenu } from \"./ProjectOptionsMenu\";\nexport { PortfolioOptionsMenu } from \"./PortfolioOptionsMenu\";\nexport type { PortfolioOptionsMenuProps } from \"./PortfolioOptionsMenu\";\nexport {\n WidgetGrid,\n WidgetGroupBy,\n StatWidget,\n WidgetRankedList,\n OverviewWidget,\n AreaChartWidget,\n DailyDeltaChartWidget,\n LeaderboardWidget,\n StackedBarChartWidget,\n CHART_SERIES_COLORS,\n OVERVIEW_SECTION_COLORS,\n PERIOD_OPTIONS,\n PeriodPicker,\n} from \"./dashboardWidgets\";\nexport type {\n WidgetGroupByProps,\n StatWidgetProps,\n RankedListItem,\n OverviewSectionData,\n OverviewWidgetProps,\n AreaChartWidgetProps,\n DailyDeltaPoint,\n DailyDeltaChartWidgetProps,\n LeaderboardRowData,\n LeaderboardWidgetProps,\n StackedBarColumn,\n StackedBarChartWidgetProps,\n PeriodPickerProps,\n} from \"./dashboardWidgets\";\n\nexport type { ProjectOptionsMenuProps } from \"./ProjectOptionsMenu\";\nexport { FloatingControls } from \"./FloatingControls\";\nexport {\n MessageDialog,\n DocLinkContext,\n messageComponents,\n} from \"./MessageDialog\";\nexport type {\n MessageDialogProps,\n MessageDialogSize,\n OpenArticleHandler,\n} from \"./MessageDialog\";\nexport {\n MessageFeedback,\n POSITIVE_FEEDBACK_OPTIONS,\n NEGATIVE_FEEDBACK_OPTIONS,\n} from \"./MessageFeedback\";\nexport type {\n MessageFeedbackProps,\n MessageFeedbackResult,\n FeedbackOption,\n FeedbackSentiment,\n} from \"./MessageFeedback\";\nexport { HelpAndSupportMenu } from \"./HelpAndSupportMenu\";\nexport type { HelpAndSupportMenuProps } from \"./HelpAndSupportMenu\";\nexport { LinkingCommandsButton } from \"./LinkingCommandsButton\";\nexport { LinkBranchOrPullRequestDialog } from \"./LinkBranchOrPullRequestDialog\";\nexport type { LinkBranchOrPullRequestDialogProps } from \"./LinkBranchOrPullRequestDialog\";\nexport {\n ConnectRepositoryDialog,\n RepositorySelect,\n buildRepoOptions,\n CONNECTIONS,\n PROJECT_REPOSITORIES,\n CONNECTABLE_REPOSITORIES,\n} from \"./ConnectRepositoryDialog\";\nexport type {\n ConnectRepositoryDialogProps,\n RepositorySelectProps,\n Connection,\n ConnectionService,\n Repository,\n} from \"./ConnectRepositoryDialog\";\nexport {\n WebhookLogsDialog,\n WEBHOOK_CONNECTIONS,\n WEBHOOK_REPOSITORIES,\n} from \"./WebhookLogsDialog\";\nexport type {\n WebhookLogsDialogProps,\n WebhookConnection,\n WebhookRepository,\n WebhookLog,\n} from \"./WebhookLogsDialog\";\nexport {\n SourceCodeSection,\n IssueRow,\n CodeRow,\n Spine,\n HistoryDialog,\n CompletedHeader,\n} from \"./SourceCodeSection\";\nexport type {\n IssueEntry,\n CodeEntry,\n Stage,\n HistoryEvent,\n StageState,\n CodeStatus,\n SectionVariant,\n} from \"./SourceCodeSection\";\nexport { SuggestSubtasksButton } from \"./SuggestSubtasksButton\";\nexport { TaskOptionsMenu, TaskListOptionsMenu } from \"./TaskOptionsMenu\";\nexport type {\n TaskOptionsMenuProps,\n TaskListOptionsMenuProps,\n} from \"./TaskOptionsMenu\";\nexport { UserMenu } from \"./UserMenu\";\nexport type { UserMenuProps, UserMenuVariant } from \"./UserMenu\";\nexport { TwoFactorShield } from \"./TwoFactorShield\";\nexport type { TwoFactorShieldProps } from \"./TwoFactorShield\";\nexport { BackupCodesDialogs, CreateLoginCodeDialogs } from \"./TwoFactorDialogs\";\nexport type {\n BackupCodesDialogsProps,\n CreateLoginCodeDialogsProps,\n} from \"./TwoFactorDialogs\";\nexport {\n SettingsHeader,\n SettingsContent,\n StyledSettingRow,\n RowText,\n SettingRow,\n} from \"./settings\";\nexport type { SettingsHeaderProps, SettingRowProps } from \"./settings\";\nexport {\n FeatureAvailability,\n DEFAULT_FEATURE_AVAILABILITY,\n} from \"./FeatureAvailability\";\nexport type {\n FeatureAvailabilityProps,\n AvailabilityRow,\n AvailabilityMark,\n AvailabilityStatus,\n} from \"./FeatureAvailability\";\nexport {\n PORTFOLIO_TYPES,\n VISIBILITY_OPTIONS,\n DEFAULT_PORTFOLIO_FORM_VALUES,\n LEADERS_LIST,\n CATEGORIES,\n CLIENTS,\n contextFieldLabel,\n leaderShortName,\n defaultPortfolioName,\n isPortfolioDetailsValid,\n sampleProjectOptionIds,\n PortfolioDetailsFields,\n EditPortfolioDialog,\n} from \"./portfolioDetails\";\nexport type {\n PortfolioKind,\n PortfolioVisibility,\n GroupBy,\n PortfolioFormValues,\n PickerLeader,\n PortfolioDetailsFieldsProps,\n EditPortfolioDialogProps,\n} from \"./portfolioDetails\";\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc,UAAU;AACxB,SAASA,QAAQ,QAAQ,YAAY;AACrC,SAASC,WAAW,QAAQ,eAAe;AAC3C,SAASC,iBAAiB,EAAEC,eAAe,QAAQ,qBAAqB;AAExE,SAASC,UAAU,EAAEC,iBAAiB,EAAEC,SAAS,QAAQ,WAAW;AAMpE,SAASC,kBAAkB,QAAQ,sBAAsB;AACzD,SAASC,oBAAoB,QAAQ,wBAAwB;AAE7D,SACEC,UAAU,EACVC,aAAa,EACbC,UAAU,EACVC,gBAAgB,EAChBC,cAAc,EACdC,eAAe,EACfC,qBAAqB,EACrBC,iBAAiB,EACjBC,qBAAqB,EACrBC,mBAAmB,EACnBC,uBAAuB,EACvBC,cAAc,EACdC,YAAY,QACP,oBAAoB;AAkB3B,SAASC,gBAAgB,QAAQ,oBAAoB;AACrD,SACEC,aAAa,EACbC,cAAc,EACdC,iBAAiB,QACZ,iBAAiB;AAMxB,SACEC,eAAe,EACfC,yBAAyB,EACzBC,yBAAyB,QACpB,mBAAmB;AAO1B,SAASC,kBAAkB,QAAQ,sBAAsB;AAEzD,SAASC,qBAAqB,QAAQ,yBAAyB;AAC/D,SAASC,6BAA6B,QAAQ,iCAAiC;AAE/E,SACEC,uBAAuB,EACvBC,gBAAgB,EAChBC,gBAAgB,EAChBC,WAAW,EACXC,oBAAoB,EACpBC,wBAAwB,QACnB,2BAA2B;AAQlC,SACEC,iBAAiB,EACjBC,mBAAmB,EACnBC,oBAAoB,QACf,qBAAqB;AAO5B,SACEC,iBAAiB,EACjBC,QAAQ,EACRC,OAAO,EACPC,KAAK,EACLC,aAAa,EACbC,eAAe,QACV,qBAAqB;AAU5B,SAASC,qBAAqB,QAAQ,yBAAyB;AAC/D,SAASC,eAAe,EAAEC,mBAAmB,QAAQ,mBAAmB;AAKxE,SAASC,QAAQ,QAAQ,YAAY;AAErC,SAASC,eAAe,QAAQ,mBAAmB;AAEnD,SAASC,kBAAkB,EAAEC,sBAAsB,QAAQ,oBAAoB;AAK/E,SACEC,cAAc,EACdC,eAAe,EACfC,gBAAgB,EAChBC,OAAO,EACPC,UAAU,QACL,YAAY;AAEnB,SACEC,mBAAmB,EACnBC,4BAA4B,QACvB,uBAAuB;AAO9B,SACEC,eAAe,EACfC,kBAAkB,EAClBC,6BAA6B,EAC7BC,YAAY,EACZC,UAAU,EACVC,OAAO,EACPC,iBAAiB,EACjBC,eAAe,EACfC,oBAAoB,EACpBC,uBAAuB,EACvBC,sBAAsB,EACtBC,sBAAsB,EACtBC,mBAAmB,QACd,oBAAoB","ignoreList":[]}
@@ -0,0 +1,74 @@
1
+ import { ReactElement } from "react";
2
+ /** How a portfolio decides its members (two kinds, three context types). */
3
+ export type PortfolioKind = "custom" | "category" | "client" | "leader";
4
+ export type PortfolioVisibility = "everyone" | "me";
5
+ /** Grouping of the projects multi-select — matches Invite-to-Projects. */
6
+ export type GroupBy = "favorites" | "labels" | "companies" | "categories" | "leaders";
7
+ /** The editable shape shared by create step 2 and the edit dialog. */
8
+ export interface PortfolioFormValues {
9
+ type: PortfolioKind;
10
+ name: string;
11
+ /** For context portfolios: the chosen category / client / leader. */
12
+ context?: string;
13
+ /** For custom portfolios: the hand-picked project option ids. */
14
+ projectIds: string[];
15
+ groupBy: GroupBy;
16
+ visibility: PortfolioVisibility;
17
+ }
18
+ /** A blank custom portfolio — the fallback seed for the edit dialog. */
19
+ export declare const DEFAULT_PORTFOLIO_FORM_VALUES: PortfolioFormValues;
20
+ export interface PickerLeader {
21
+ name: string;
22
+ /** Short "Firstname L." form used in the default portfolio name. */
23
+ short: string;
24
+ }
25
+ export declare const LEADERS_LIST: PickerLeader[];
26
+ export declare const CATEGORIES: string[];
27
+ export declare const CLIENTS: string[];
28
+ /** A small deterministic set of project option ids — seeds a custom
29
+ portfolio's edit dialog so the picker reads as an existing selection. */
30
+ export declare const sampleProjectOptionIds: (count: number) => string[];
31
+ export declare const PORTFOLIO_TYPES: {
32
+ id: PortfolioKind;
33
+ title: string;
34
+ description: string;
35
+ }[];
36
+ export declare const VISIBILITY_OPTIONS: {
37
+ id: PortfolioVisibility;
38
+ title: string;
39
+ description: string;
40
+ }[];
41
+ export declare const contextFieldLabel: (type: PortfolioKind) => string;
42
+ export declare const leaderShortName: (name: string) => string;
43
+ export declare const defaultPortfolioName: (type: PortfolioKind, context: string) => string;
44
+ /** Name is required; a custom portfolio needs at least one project, a context
45
+ portfolio needs its context chosen. Same rule for create and edit. */
46
+ export declare const isPortfolioDetailsValid: (values: PortfolioFormValues) => boolean;
47
+ export interface PortfolioDetailsFieldsProps {
48
+ values: PortfolioFormValues;
49
+ onName: (value: string) => void;
50
+ onContext: (value: string) => void;
51
+ onProjects: (ids: string[]) => void;
52
+ onGroupBy: (groupBy: GroupBy) => void;
53
+ onVisibility: (value: PortfolioVisibility) => void;
54
+ showErrors: boolean;
55
+ }
56
+ /** Name + the type's picker + visibility. No Dialog wrappers and no action
57
+ button — the consumer (create step or edit dialog) supplies those. */
58
+ export declare const PortfolioDetailsFields: {
59
+ ({ values, onName, onContext, onProjects, onGroupBy, onVisibility, showErrors, }: PortfolioDetailsFieldsProps): ReactElement;
60
+ displayName: string;
61
+ };
62
+ export interface EditPortfolioDialogProps {
63
+ open: boolean;
64
+ /** The portfolio's current values; the dialog seeds itself from these on
65
+ open, so Cancel discards edits and Save commits them. */
66
+ initialValues: PortfolioFormValues;
67
+ onClose: () => void;
68
+ onSave?: (values: PortfolioFormValues) => void;
69
+ }
70
+ export declare const EditPortfolioDialog: {
71
+ ({ open, initialValues, onClose, onSave, }: EditPortfolioDialogProps): ReactElement;
72
+ displayName: string;
73
+ };
74
+ //# sourceMappingURL=portfolioDetails.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"portfolioDetails.d.ts","sourceRoot":"","sources":["../../../../src/presentation/shared/portfolioDetails.tsx"],"names":[],"mappings":"AAAA,OAAc,EAAE,YAAY,EAAgC,MAAM,OAAO,CAAC;AAsC1E,4EAA4E;AAC5E,MAAM,MAAM,aAAa,GAAG,QAAQ,GAAG,UAAU,GAAG,QAAQ,GAAG,QAAQ,CAAC;AAExE,MAAM,MAAM,mBAAmB,GAAG,UAAU,GAAG,IAAI,CAAC;AAEpD,0EAA0E;AAC1E,MAAM,MAAM,OAAO,GACf,WAAW,GACX,QAAQ,GACR,WAAW,GACX,YAAY,GACZ,SAAS,CAAC;AAEd,sEAAsE;AACtE,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,aAAa,CAAC;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,qEAAqE;IACrE,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,iEAAiE;IACjE,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,OAAO,EAAE,OAAO,CAAC;IACjB,UAAU,EAAE,mBAAmB,CAAC;CACjC;AAED,wEAAwE;AACxE,eAAO,MAAM,6BAA6B,EAAE,mBAO3C,CAAC;AAMF,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,oEAAoE;IACpE,KAAK,EAAE,MAAM,CAAC;CACf;AAED,eAAO,MAAM,YAAY,EAAE,YAAY,EAKtC,CAAC;AAEF,eAAO,MAAM,UAAU,UAKtB,CAAC;AAEF,eAAO,MAAM,OAAO,UAKnB,CAAC;AA4GF;4EAC4E;AAC5E,eAAO,MAAM,sBAAsB,GAAI,OAAO,MAAM,KAAG,MAAM,EACM,CAAC;AA+EpE,eAAO,MAAM,eAAe,EAAE;IAC5B,EAAE,EAAE,aAAa,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;CACrB,EAuBA,CAAC;AAEF,eAAO,MAAM,kBAAkB,EAAE;IAC/B,EAAE,EAAE,mBAAmB,CAAC;IACxB,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;CACrB,EAYA,CAAC;AAEF,eAAO,MAAM,iBAAiB,GAAI,MAAM,aAAa,KAAG,MAOlC,CAAC;AAEvB,eAAO,MAAM,eAAe,GAAI,MAAM,MAAM,KAAG,MACqB,CAAC;AAGrE,eAAO,MAAM,oBAAoB,GAC/B,MAAM,aAAa,EACnB,SAAS,MAAM,KACd,MAKF,CAAC;AAMF;yEACyE;AACzE,eAAO,MAAM,uBAAuB,GAAI,QAAQ,mBAAmB,KAAG,OAIxC,CAAC;AAgJ/B,MAAM,WAAW,2BAA2B;IAC1C,MAAM,EAAE,mBAAmB,CAAC;IAC5B,MAAM,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAChC,SAAS,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACnC,UAAU,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,IAAI,CAAC;IACpC,SAAS,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,CAAC;IACtC,YAAY,EAAE,CAAC,KAAK,EAAE,mBAAmB,KAAK,IAAI,CAAC;IAKnD,UAAU,EAAE,OAAO,CAAC;CACrB;AAED;yEACyE;AACzE,eAAO,MAAM,sBAAsB;sFAQhC,2BAA2B,GAAG,YAAY;;CAsD5C,CAAC;AAQF,MAAM,WAAW,wBAAwB;IACvC,IAAI,EAAE,OAAO,CAAC;IACd;gEAC4D;IAC5D,aAAa,EAAE,mBAAmB,CAAC;IACnC,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,mBAAmB,KAAK,IAAI,CAAC;CAChD;AAOD,eAAO,MAAM,mBAAmB;gDAK7B,wBAAwB,GAAG,YAAY;;CAwDzC,CAAC"}