@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
@@ -0,0 +1,27 @@
1
+ import React, { ReactNode } from "react";
2
+ import { RadioCardVariant } from "./Styles";
3
+ export type { RadioCardVariant } from "./Styles";
4
+ export interface IRadioCardProps {
5
+ /** Option title — the accessible name of the radio. */
6
+ title: string;
7
+ /** Optional helper text, linked to the input via `aria-describedby`. */
8
+ description?: string;
9
+ /** Optional decorative leading icon. Rendered `aria-hidden`. */
10
+ icon?: ReactNode;
11
+ /** `"plain"` (dialog look, default) or `"card"` (bordered tile). */
12
+ variant?: RadioCardVariant;
13
+ /**
14
+ * Invalid state — turns the card border the alert colour. Ignored while the
15
+ * option is `checked`: a selected option can't also signal an error.
16
+ */
17
+ invalid?: boolean;
18
+ /** Extra class names. */
19
+ className?: string;
20
+ }
21
+ /**
22
+ * A single radio option that owns a real, reachable native `<input type="radio">`.
23
+ * The whole card is one `<label>`, so clicking the title or description selects
24
+ * the option. Meant to be composed by `RadioGroup`.
25
+ */
26
+ export declare const RadioCard: React.ForwardRefExoticComponent<Omit<React.InputHTMLAttributes<HTMLInputElement>, keyof IRadioCardProps> & IRadioCardProps & React.RefAttributes<HTMLInputElement>>;
27
+ //# sourceMappingURL=RadioCard.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RadioCard.d.ts","sourceRoot":"","sources":["../../../../src/components/RadioCard/RadioCard.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAmC,SAAS,EAAO,MAAM,OAAO,CAAC;AAI/E,OAAO,EAAE,gBAAgB,EAAgC,MAAM,UAAU,CAAC;AAK1E,YAAY,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAEjD,MAAM,WAAW,eAAe;IAC9B,uDAAuD;IACvD,KAAK,EAAE,MAAM,CAAC;IACd,wEAAwE;IACxE,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,gEAAgE;IAChE,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,oEAAoE;IACpE,OAAO,CAAC,EAAE,gBAAgB,CAAC;IAC3B;;;OAGG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,yBAAyB;IACzB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;;;GAIG;AACH,eAAO,MAAM,SAAS,qKAyErB,CAAC"}
@@ -0,0 +1,72 @@
1
+ import _extends from "@babel/runtime/helpers/esm/extends";
2
+ import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";
3
+ const _excluded = ["title", "description", "icon", "variant", "invalid", "className", "id", "checked", "disabled"];
4
+ import React, { forwardRef } from "react";
5
+ import classnames from "classnames";
6
+ import { StyledInput, StyledRadioCard } from "./Styles";
7
+ import useStableId from "../../utils/useStableId";
8
+ import RadioButtonIcon from "../Icons/collection/RadioButton";
9
+ import { Typography } from "../Typography/Typography";
10
+ /**
11
+ * A single radio option that owns a real, reachable native `<input type="radio">`.
12
+ * The whole card is one `<label>`, so clicking the title or description selects
13
+ * the option. Meant to be composed by `RadioGroup`.
14
+ */
15
+ export const RadioCard = /*#__PURE__*/forwardRef((_ref, ref) => {
16
+ let title = _ref.title,
17
+ description = _ref.description,
18
+ icon = _ref.icon,
19
+ _ref$variant = _ref.variant,
20
+ variant = _ref$variant === void 0 ? "plain" : _ref$variant,
21
+ _ref$invalid = _ref.invalid,
22
+ invalid = _ref$invalid === void 0 ? false : _ref$invalid,
23
+ className = _ref.className,
24
+ id = _ref.id,
25
+ checked = _ref.checked,
26
+ disabled = _ref.disabled,
27
+ props = _objectWithoutPropertiesLoose(_ref, _excluded);
28
+ const inputId = useStableId(id);
29
+ const descriptionId = description ? inputId + "-desc" : undefined;
30
+ const isInvalid = invalid && !checked;
31
+ return /*#__PURE__*/React.createElement(StyledRadioCard, {
32
+ className: classnames("c-radio-card", className),
33
+ htmlFor: inputId,
34
+ $variant: variant,
35
+ $checked: !!checked,
36
+ $invalid: isInvalid,
37
+ $disabled: !!disabled,
38
+ $hasIcon: !!icon
39
+ }, /*#__PURE__*/React.createElement(StyledInput, _extends({
40
+ id: inputId,
41
+ className: "c-radio-card--input",
42
+ type: "radio",
43
+ ref: ref,
44
+ checked: checked,
45
+ disabled: disabled,
46
+ "aria-describedby": descriptionId,
47
+ "aria-invalid": isInvalid || undefined
48
+ }, props)), /*#__PURE__*/React.createElement("span", {
49
+ className: "c-radio-card--indicator",
50
+ "aria-hidden": "true"
51
+ }, /*#__PURE__*/React.createElement(RadioButtonIcon, {
52
+ width: "16",
53
+ height: "16"
54
+ })), icon ? /*#__PURE__*/React.createElement("span", {
55
+ className: "c-radio-card--icon",
56
+ "aria-hidden": "true"
57
+ }, icon) : null, /*#__PURE__*/React.createElement("span", {
58
+ className: "c-radio-card--text"
59
+ }, /*#__PURE__*/React.createElement(Typography, {
60
+ as: "span",
61
+ variant: "Body 2",
62
+ className: "c-radio-card--title"
63
+ }, title), description ? /*#__PURE__*/React.createElement(Typography, {
64
+ as: "span",
65
+ variant: "Caption 1",
66
+ color: "secondary",
67
+ id: descriptionId,
68
+ className: "c-radio-card--description"
69
+ }, description) : null));
70
+ });
71
+ RadioCard.displayName = "RadioCard";
72
+ //# sourceMappingURL=RadioCard.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RadioCard.js","names":["React","forwardRef","classnames","StyledInput","StyledRadioCard","useStableId","RadioButtonIcon","Typography","RadioCard","_ref","ref","title","description","icon","_ref$variant","variant","_ref$invalid","invalid","className","id","checked","disabled","props","_objectWithoutPropertiesLoose","_excluded","inputId","descriptionId","undefined","isInvalid","createElement","htmlFor","$variant","$checked","$invalid","$disabled","$hasIcon","_extends","type","width","height","as","color","displayName"],"sources":["../../../../src/components/RadioCard/RadioCard.tsx"],"sourcesContent":["import React, { forwardRef, InputHTMLAttributes, ReactNode, Ref } from \"react\";\n\nimport classnames from \"classnames\";\n\nimport { RadioCardVariant, StyledInput, StyledRadioCard } from \"./Styles\";\nimport useStableId from \"../../utils/useStableId\";\nimport RadioButtonIcon from \"../Icons/collection/RadioButton\";\nimport { Typography } from \"../Typography/Typography\";\n\nexport type { RadioCardVariant } from \"./Styles\";\n\nexport interface IRadioCardProps {\n /** Option title — the accessible name of the radio. */\n title: string;\n /** Optional helper text, linked to the input via `aria-describedby`. */\n description?: string;\n /** Optional decorative leading icon. Rendered `aria-hidden`. */\n icon?: ReactNode;\n /** `\"plain\"` (dialog look, default) or `\"card\"` (bordered tile). */\n variant?: RadioCardVariant;\n /**\n * Invalid state — turns the card border the alert colour. Ignored while the\n * option is `checked`: a selected option can't also signal an error.\n */\n invalid?: boolean;\n /** Extra class names. */\n className?: string;\n}\n\n/**\n * A single radio option that owns a real, reachable native `<input type=\"radio\">`.\n * The whole card is one `<label>`, so clicking the title or description selects\n * the option. Meant to be composed by `RadioGroup`.\n */\nexport const RadioCard = forwardRef(\n (\n {\n title,\n description,\n icon,\n variant = \"plain\",\n invalid = false,\n className,\n id,\n checked,\n disabled,\n ...props\n }: Omit<InputHTMLAttributes<HTMLInputElement>, keyof IRadioCardProps> &\n IRadioCardProps,\n ref: Ref<HTMLInputElement> | null | undefined\n ) => {\n const inputId = useStableId(id);\n const descriptionId = description ? `${inputId}-desc` : undefined;\n const isInvalid = invalid && !checked;\n\n return (\n <StyledRadioCard\n className={classnames(\"c-radio-card\", className)}\n htmlFor={inputId}\n $variant={variant}\n $checked={!!checked}\n $invalid={isInvalid}\n $disabled={!!disabled}\n $hasIcon={!!icon}\n >\n <StyledInput\n id={inputId}\n className=\"c-radio-card--input\"\n type=\"radio\"\n ref={ref}\n checked={checked}\n disabled={disabled}\n aria-describedby={descriptionId}\n aria-invalid={isInvalid || undefined}\n {...props}\n />\n <span className=\"c-radio-card--indicator\" aria-hidden=\"true\">\n <RadioButtonIcon width=\"16\" height=\"16\" />\n </span>\n {icon ? (\n <span className=\"c-radio-card--icon\" aria-hidden=\"true\">\n {icon}\n </span>\n ) : null}\n <span className=\"c-radio-card--text\">\n <Typography\n as=\"span\"\n variant=\"Body 2\"\n className=\"c-radio-card--title\"\n >\n {title}\n </Typography>\n {description ? (\n <Typography\n as=\"span\"\n variant=\"Caption 1\"\n color=\"secondary\"\n id={descriptionId}\n className=\"c-radio-card--description\"\n >\n {description}\n </Typography>\n ) : null}\n </span>\n </StyledRadioCard>\n );\n }\n);\n\nRadioCard.displayName = \"RadioCard\";\n"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,16 @@
1
+ export type RadioCardVariant = "plain" | "card";
2
+ /**
3
+ * Real, focusable native radio, visually hidden with the sr-only idiom (copied
4
+ * from `Checkbox/Styles.ts`). Never `display: none` / `visibility: hidden`, so
5
+ * it stays in the tab order and in the accessibility tree.
6
+ */
7
+ export declare const StyledInput: import("styled-components").StyledComponent<"input", any, {}, never>;
8
+ export interface IStyledRadioCard {
9
+ $variant: RadioCardVariant;
10
+ $checked?: boolean;
11
+ $invalid?: boolean;
12
+ $disabled?: boolean;
13
+ $hasIcon?: boolean;
14
+ }
15
+ export declare const StyledRadioCard: import("styled-components").StyledComponent<"label", any, IStyledRadioCard, never>;
16
+ //# sourceMappingURL=Styles.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Styles.d.ts","sourceRoot":"","sources":["../../../../src/components/RadioCard/Styles.ts"],"names":[],"mappings":"AAIA,MAAM,MAAM,gBAAgB,GAAG,OAAO,GAAG,MAAM,CAAC;AAUhD;;;;GAIG;AACH,eAAO,MAAM,WAAW,sEAYvB,CAAC;AAGF,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,EAAE,gBAAgB,CAAC;IAC3B,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,eAAO,MAAM,eAAe,oFAgI3B,CAAC"}
@@ -0,0 +1,26 @@
1
+ import styled, { css } from "styled-components";
2
+ import { BoxSizingStyle } from "../BoxSizingStyle";
3
+ /**
4
+ * Selected-state ring for the card variant. A shared, exported `SELECTION_RING`
5
+ * token does not exist yet (`StackedCard/Styles.ts` keeps its own as a private
6
+ * const), so we keep a local one here. Promotion to a shared token is tracked
7
+ * in #461359.
8
+ */
9
+ const SELECTION_RING = "var(--color-primary-500)";
10
+
11
+ /**
12
+ * Real, focusable native radio, visually hidden with the sr-only idiom (copied
13
+ * from `Checkbox/Styles.ts`). Never `display: none` / `visibility: hidden`, so
14
+ * it stays in the tab order and in the accessibility tree.
15
+ */
16
+ export const StyledInput = styled.input.withConfig({
17
+ displayName: "Styles__StyledInput",
18
+ componentId: "sc-vi6l2r-0"
19
+ })(["border:0px;clip:rect(0px,0px,0px,0px);cursor:pointer;height:1px;margin:-1px;opacity:0;overflow:hidden;padding:0px;position:absolute;white-space:nowrap;width:1px;"]);
20
+ StyledInput.displayName = "RadioCardInput";
21
+ export const StyledRadioCard = styled.label.withConfig({
22
+ displayName: "Styles__StyledRadioCard",
23
+ componentId: "sc-vi6l2r-1"
24
+ })(["", " display:flex;align-items:flex-start;column-gap:12px;cursor:pointer;position:relative;", " .c-radio-card--indicator,.c-radio-card--icon{flex:0 0 auto;display:inline-flex;align-items:center;height:20px;}.c-radio-card--indicator svg{fill:transparent;}.c-radio-card--indicator circle:first-child{transition-duration:0.2s;stroke:var(--color-theme-500);}.c-radio-card--indicator circle:last-child{transition-duration:0.2s;transform-origin:center;transform:scale(0);fill:var(--color-secondary-500);}", ":checked ~ .c-radio-card--indicator{circle:first-child{stroke:var(--color-secondary);}circle:last-child{transform:scale(1);fill:var(--color-secondary);}}", ":focus-visible ~ .c-radio-card--indicator circle:first-child{stroke:var(--color-secondary);}.c-radio-card--text{display:flex;flex-direction:column;row-gap:2px;min-width:0;}", " ", ""], BoxSizingStyle, props => props.$hasIcon && css([".c-radio-card--icon{order:1;}.c-radio-card--text{order:2;margin-right:auto;}.c-radio-card--indicator{order:3;margin-left:auto;align-self:center;}"]), StyledInput, StyledInput, props => props.$variant === "card" && css(["align-items:center;min-height:44px;padding:8px 12px;border-radius:var(--ac-br-8);border:solid 1px var(--color-theme-300);background-color:var(--page-paper-main);transition:border-color 0.2s,background-color 0.2s,box-shadow 0.2s;&:hover{background-color:var(--color-theme-200);border-color:var(--color-theme-500);}", " ", " &:has(input:focus-visible),&:focus-within{box-shadow:0 0 0 2px var(--color-secondary);}"], props.$checked && css(["border-color:", ";box-shadow:0 0 0 1px ", ";&:hover{border-color:", ";}"], SELECTION_RING, SELECTION_RING, SELECTION_RING), props.$invalid && css(["border-color:var(--red-alert);&:hover{border-color:var(--red-alert);}"])), props => props.$disabled && css(["opacity:0.5;cursor:not-allowed;.c-radio-card--indicator svg,.c-radio-card--icon svg{cursor:not-allowed;}"]));
25
+ StyledRadioCard.displayName = "StyledRadioCard";
26
+ //# sourceMappingURL=Styles.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Styles.js","names":["styled","css","BoxSizingStyle","SELECTION_RING","StyledInput","input","withConfig","displayName","componentId","StyledRadioCard","label","props","$hasIcon","$variant","$checked","$invalid","$disabled"],"sources":["../../../../src/components/RadioCard/Styles.ts"],"sourcesContent":["import styled, { css } from \"styled-components\";\n\nimport { BoxSizingStyle } from \"../BoxSizingStyle\";\n\nexport type RadioCardVariant = \"plain\" | \"card\";\n\n/**\n * Selected-state ring for the card variant. A shared, exported `SELECTION_RING`\n * token does not exist yet (`StackedCard/Styles.ts` keeps its own as a private\n * const), so we keep a local one here. Promotion to a shared token is tracked\n * in #461359.\n */\nconst SELECTION_RING = \"var(--color-primary-500)\";\n\n/**\n * Real, focusable native radio, visually hidden with the sr-only idiom (copied\n * from `Checkbox/Styles.ts`). Never `display: none` / `visibility: hidden`, so\n * it stays in the tab order and in the accessibility tree.\n */\nexport const StyledInput = styled.input`\n border: 0px;\n clip: rect(0px, 0px, 0px, 0px);\n cursor: pointer;\n height: 1px;\n margin: -1px;\n opacity: 0;\n overflow: hidden;\n padding: 0px;\n position: absolute;\n white-space: nowrap;\n width: 1px;\n`;\nStyledInput.displayName = \"RadioCardInput\";\n\nexport interface IStyledRadioCard {\n $variant: RadioCardVariant;\n $checked?: boolean;\n $invalid?: boolean;\n $disabled?: boolean;\n $hasIcon?: boolean;\n}\n\nexport const StyledRadioCard = styled.label<IStyledRadioCard>`\n ${BoxSizingStyle}\n\n display: flex;\n align-items: flex-start;\n column-gap: 12px;\n cursor: pointer;\n position: relative;\n\n /* EXPERIMENT: when a leading icon is present, move the radio indicator to the\n far right of the card, vertically centered to the middle of the card. */\n ${(props) =>\n props.$hasIcon &&\n css`\n .c-radio-card--icon {\n order: 1;\n }\n .c-radio-card--text {\n order: 2;\n margin-right: auto;\n }\n .c-radio-card--indicator {\n order: 3;\n margin-left: auto;\n align-self: center;\n }\n `}\n\n /* Indicator: drawn with RadioButtonIcon, retinted with the same CSS-var\n tokens RadioButton uses so old and new radios look identical. The wrapper\n height matches the Body2 title line-height so the 16px indicator centers\n against the first line of the title. */\n .c-radio-card--indicator,\n .c-radio-card--icon {\n flex: 0 0 auto;\n display: inline-flex;\n align-items: center;\n height: 20px;\n }\n\n .c-radio-card--indicator svg {\n fill: transparent;\n }\n .c-radio-card--indicator circle:first-child {\n transition-duration: 0.2s;\n stroke: var(--color-theme-500);\n }\n .c-radio-card--indicator circle:last-child {\n transition-duration: 0.2s;\n transform-origin: center;\n transform: scale(0);\n fill: var(--color-secondary-500);\n }\n\n ${StyledInput}:checked ~ .c-radio-card--indicator {\n circle:first-child {\n stroke: var(--color-secondary);\n }\n circle:last-child {\n transform: scale(1);\n fill: var(--color-secondary);\n }\n }\n\n ${StyledInput}:focus-visible ~ .c-radio-card--indicator circle:first-child {\n stroke: var(--color-secondary);\n }\n\n .c-radio-card--text {\n display: flex;\n flex-direction: column;\n row-gap: 2px;\n min-width: 0;\n }\n\n /* Card variant: bordered tile on Card variant=\"tile-1\" tokens. */\n ${(props) =>\n props.$variant === \"card\" &&\n css`\n align-items: center;\n min-height: 44px;\n padding: 8px 12px;\n border-radius: var(--ac-br-8);\n border: solid 1px var(--color-theme-300);\n background-color: var(--page-paper-main);\n transition: border-color 0.2s, background-color 0.2s, box-shadow 0.2s;\n\n &:hover {\n background-color: var(--color-theme-200);\n border-color: var(--color-theme-500);\n }\n\n ${props.$checked &&\n css`\n border-color: ${SELECTION_RING};\n box-shadow: 0 0 0 1px ${SELECTION_RING};\n\n &:hover {\n border-color: ${SELECTION_RING};\n }\n `}\n\n ${props.$invalid &&\n css`\n border-color: var(--red-alert);\n\n &:hover {\n border-color: var(--red-alert);\n }\n `}\n\n &:has(input:focus-visible),\n &:focus-within {\n box-shadow: 0 0 0 2px var(--color-secondary);\n }\n `}\n\n ${(props) =>\n props.$disabled &&\n css`\n opacity: 0.5;\n cursor: not-allowed;\n\n .c-radio-card--indicator svg,\n .c-radio-card--icon svg {\n cursor: not-allowed;\n }\n `}\n`;\nStyledRadioCard.displayName = \"StyledRadioCard\";\n"],"mappings":"AAAA,OAAOA,MAAM,IAAIC,GAAG,QAAQ,mBAAmB;AAE/C,SAASC,cAAc,QAAQ,mBAAmB;AAIlD;AACA;AACA;AACA;AACA;AACA;AACA,MAAMC,cAAc,GAAG,0BAA0B;;AAEjD;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMC,WAAW,GAAGJ,MAAM,CAACK,KAAK,CAAAC,UAAA;EAAAC,WAAA;EAAAC,WAAA;AAAA,yKAYtC;AACDJ,WAAW,CAACG,WAAW,GAAG,gBAAgB;AAU1C,OAAO,MAAME,eAAe,GAAGT,MAAM,CAACU,KAAK,CAAAJ,UAAA;EAAAC,WAAA;EAAAC,WAAA;AAAA,g1BACvCN,cAAc,EAUbS,KAAK,IACNA,KAAK,CAACC,QAAQ,IACdX,GAAG,uJAaF,EA4BDG,WAAW,EAUXA,WAAW,EAYVO,KAAK,IACNA,KAAK,CAACE,QAAQ,KAAK,MAAM,IACzBZ,GAAG,iaAcCU,KAAK,CAACG,QAAQ,IAChBb,GAAG,8EACeE,cAAc,EACNA,cAAc,EAGpBA,cAAc,CAEjC,EAECQ,KAAK,CAACI,QAAQ,IAChBd,GAAG,2EAMF,CAMF,EAEAU,KAAK,IACNA,KAAK,CAACK,SAAS,IACff,GAAG,8GAQF,CACJ;AACDQ,eAAe,CAACF,WAAW,GAAG,iBAAiB","ignoreList":[]}
@@ -0,0 +1,2 @@
1
+ export * from "./RadioCard";
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/RadioCard/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC"}
@@ -0,0 +1,2 @@
1
+ export * from "./RadioCard";
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","names":[],"sources":["../../../../src/components/RadioCard/index.ts"],"sourcesContent":["export * from \"./RadioCard\";\n"],"mappings":"AAAA,cAAc,aAAa","ignoreList":[]}
@@ -0,0 +1,48 @@
1
+ import React, { ReactNode } from "react";
2
+ import { RadioGroupOrientation } from "./Styles";
3
+ import { Space } from "../LayoutTokens";
4
+ import { RadioCardVariant } from "../RadioCard";
5
+ export interface RadioGroupOption {
6
+ id: string | number;
7
+ name: string;
8
+ description?: string;
9
+ icon?: ReactNode;
10
+ disabled?: boolean;
11
+ }
12
+ export interface IRadioGroupProps {
13
+ /** The options rendered as radios. */
14
+ options: RadioGroupOption[];
15
+ /** Selected option id. `undefined` means nothing is selected. */
16
+ value?: string | number;
17
+ /** Fired with the selected option id. Never called with `undefined`. */
18
+ onChange: (value: string | number) => void;
19
+ /** Shared input `name`. Defaults to a generated id; pass for real form posts. */
20
+ name?: string;
21
+ /** Group label, rendered as the `<legend>`. */
22
+ label?: string;
23
+ /** Visually hide the legend while keeping it in the accessibility tree. */
24
+ hideLabel?: boolean;
25
+ /** Helper text under the group. */
26
+ description?: string;
27
+ /** Adds the required asterisk and `aria-required`. */
28
+ required?: boolean;
29
+ /**
30
+ * Invalid state — marks the group `aria-invalid` and shows `errorMessage`.
31
+ * Ignored once a `value` is selected: making any choice clears the error.
32
+ */
33
+ invalid?: boolean;
34
+ /** Error text that replaces `description` while invalid. */
35
+ errorMessage?: string;
36
+ /** Disable the whole group. */
37
+ disabled?: boolean;
38
+ /** `"plain"` (default) or `"card"`. */
39
+ variant?: RadioCardVariant;
40
+ /** Layout direction of the option list. */
41
+ orientation?: RadioGroupOrientation;
42
+ /** Number of columns — card variant only, rendered through `Tiles`. */
43
+ columns?: number;
44
+ /** Override for the between-options gap only. */
45
+ space?: Space;
46
+ }
47
+ export declare const RadioGroup: React.ForwardRefExoticComponent<IRadioGroupProps & Omit<Omit<React.DetailedHTMLProps<React.FieldsetHTMLAttributes<HTMLFieldSetElement>, HTMLFieldSetElement>, "ref">, keyof IRadioGroupProps> & React.RefAttributes<HTMLFieldSetElement>>;
48
+ //# sourceMappingURL=RadioGroup.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RadioGroup.d.ts","sourceRoot":"","sources":["../../../../src/components/RadioGroup/RadioGroup.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAwC,SAAS,EAAE,MAAM,OAAO,CAAC;AAI/E,OAAO,EAAE,qBAAqB,EAA8B,MAAM,UAAU,CAAC;AAE7E,OAAO,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AACxC,OAAO,EAAa,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAI3D,MAAM,WAAW,gBAAgB;IAC/B,EAAE,EAAE,MAAM,GAAG,MAAM,CAAC;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,MAAM,WAAW,gBAAgB;IAC/B,sCAAsC;IACtC,OAAO,EAAE,gBAAgB,EAAE,CAAC;IAC5B,iEAAiE;IACjE,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACxB,wEAAwE;IACxE,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,KAAK,IAAI,CAAC;IAC3C,iFAAiF;IACjF,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,+CAA+C;IAC/C,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,2EAA2E;IAC3E,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,mCAAmC;IACnC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,sDAAsD;IACtD,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;;OAGG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,4DAA4D;IAC5D,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,+BAA+B;IAC/B,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,uCAAuC;IACvC,OAAO,CAAC,EAAE,gBAAgB,CAAC;IAC3B,2CAA2C;IAC3C,WAAW,CAAC,EAAE,qBAAqB,CAAC;IACpC,uEAAuE;IACvE,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,iDAAiD;IACjD,KAAK,CAAC,EAAE,KAAK,CAAC;CACf;AAED,eAAO,MAAM,UAAU,2OAgHtB,CAAC"}
@@ -0,0 +1,89 @@
1
+ import _extends from "@babel/runtime/helpers/esm/extends";
2
+ import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";
3
+ const _excluded = ["options", "value", "onChange", "name", "label", "hideLabel", "description", "required", "invalid", "errorMessage", "disabled", "variant", "orientation", "columns", "space", "className"];
4
+ import React, { forwardRef } from "react";
5
+ import classnames from "classnames";
6
+ import { StyledFieldset, StyledList } from "./Styles";
7
+ import useStableId from "../../utils/useStableId";
8
+ import { RadioCard } from "../RadioCard";
9
+ import { Tiles } from "../Tiles";
10
+ import { Typography } from "../Typography/Typography";
11
+ export const RadioGroup = /*#__PURE__*/forwardRef((_ref, ref) => {
12
+ let options = _ref.options,
13
+ value = _ref.value,
14
+ onChange = _ref.onChange,
15
+ name = _ref.name,
16
+ label = _ref.label,
17
+ _ref$hideLabel = _ref.hideLabel,
18
+ hideLabel = _ref$hideLabel === void 0 ? false : _ref$hideLabel,
19
+ description = _ref.description,
20
+ _ref$required = _ref.required,
21
+ required = _ref$required === void 0 ? false : _ref$required,
22
+ _ref$invalid = _ref.invalid,
23
+ invalid = _ref$invalid === void 0 ? false : _ref$invalid,
24
+ errorMessage = _ref.errorMessage,
25
+ _ref$disabled = _ref.disabled,
26
+ disabled = _ref$disabled === void 0 ? false : _ref$disabled,
27
+ _ref$variant = _ref.variant,
28
+ variant = _ref$variant === void 0 ? "plain" : _ref$variant,
29
+ _ref$orientation = _ref.orientation,
30
+ orientation = _ref$orientation === void 0 ? "vertical" : _ref$orientation,
31
+ columns = _ref.columns,
32
+ space = _ref.space,
33
+ className = _ref.className,
34
+ rest = _objectWithoutPropertiesLoose(_ref, _excluded);
35
+ const groupName = useStableId(name);
36
+ const messageId = useStableId();
37
+
38
+ // A group with a selection isn't invalid — picking any option clears the
39
+ // error, mirroring how `checked` beats `invalid` on a single RadioCard.
40
+ const isInvalid = invalid && value === undefined;
41
+ const showError = isInvalid && !!errorMessage;
42
+ const messageText = showError ? errorMessage : description;
43
+ const hasMessage = !!messageText;
44
+ const cards = options.map(option => /*#__PURE__*/React.createElement(RadioCard, {
45
+ key: option.id,
46
+ variant: variant,
47
+ name: groupName,
48
+ value: option.id,
49
+ checked: value === option.id,
50
+ disabled: option.disabled,
51
+ invalid: isInvalid,
52
+ icon: option.icon,
53
+ title: option.name,
54
+ description: option.description,
55
+ onChange: () => onChange(option.id)
56
+ }));
57
+ const useTiles = variant === "card" && typeof columns === "number";
58
+ return /*#__PURE__*/React.createElement(StyledFieldset, _extends({
59
+ ref: ref,
60
+ className: classnames("c-radio-group", className),
61
+ $hideLabel: hideLabel,
62
+ disabled: disabled,
63
+ "aria-required": required || undefined,
64
+ "aria-invalid": isInvalid || undefined,
65
+ "aria-describedby": hasMessage ? messageId : undefined
66
+ }, rest), label ? /*#__PURE__*/React.createElement(Typography, {
67
+ as: "legend",
68
+ variant: "Body 2",
69
+ weight: "bold",
70
+ color: isInvalid ? "alert" : "primary",
71
+ className: "c-radio-group--legend"
72
+ }, label, required ? "*" : null) : null, useTiles ? /*#__PURE__*/React.createElement(Tiles, {
73
+ className: "c-radio-group--list",
74
+ columns: columns,
75
+ space: space
76
+ }, cards) : /*#__PURE__*/React.createElement(StyledList, {
77
+ className: "c-radio-group--list",
78
+ $orientation: orientation,
79
+ $space: space
80
+ }, cards), hasMessage ? /*#__PURE__*/React.createElement(Typography, {
81
+ as: "p",
82
+ variant: "Caption 1",
83
+ id: messageId,
84
+ color: showError ? "alert" : "secondary",
85
+ className: "c-radio-group--message"
86
+ }, messageText) : null);
87
+ });
88
+ RadioGroup.displayName = "RadioGroup";
89
+ //# sourceMappingURL=RadioGroup.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RadioGroup.js","names":["React","forwardRef","classnames","StyledFieldset","StyledList","useStableId","RadioCard","Tiles","Typography","RadioGroup","_ref","ref","options","value","onChange","name","label","_ref$hideLabel","hideLabel","description","_ref$required","required","_ref$invalid","invalid","errorMessage","_ref$disabled","disabled","_ref$variant","variant","_ref$orientation","orientation","columns","space","className","rest","_objectWithoutPropertiesLoose","_excluded","groupName","messageId","isInvalid","undefined","showError","messageText","hasMessage","cards","map","option","createElement","key","id","checked","icon","title","useTiles","_extends","$hideLabel","as","weight","color","$orientation","$space","displayName"],"sources":["../../../../src/components/RadioGroup/RadioGroup.tsx"],"sourcesContent":["import React, { ComponentPropsWithoutRef, forwardRef, ReactNode } from \"react\";\n\nimport classnames from \"classnames\";\n\nimport { RadioGroupOrientation, StyledFieldset, StyledList } from \"./Styles\";\nimport useStableId from \"../../utils/useStableId\";\nimport { Space } from \"../LayoutTokens\";\nimport { RadioCard, RadioCardVariant } from \"../RadioCard\";\nimport { Tiles } from \"../Tiles\";\nimport { Typography } from \"../Typography/Typography\";\n\nexport interface RadioGroupOption {\n id: string | number;\n name: string;\n description?: string;\n icon?: ReactNode;\n disabled?: boolean;\n}\n\nexport interface IRadioGroupProps {\n /** The options rendered as radios. */\n options: RadioGroupOption[];\n /** Selected option id. `undefined` means nothing is selected. */\n value?: string | number;\n /** Fired with the selected option id. Never called with `undefined`. */\n onChange: (value: string | number) => void;\n /** Shared input `name`. Defaults to a generated id; pass for real form posts. */\n name?: string;\n /** Group label, rendered as the `<legend>`. */\n label?: string;\n /** Visually hide the legend while keeping it in the accessibility tree. */\n hideLabel?: boolean;\n /** Helper text under the group. */\n description?: string;\n /** Adds the required asterisk and `aria-required`. */\n required?: boolean;\n /**\n * Invalid state — marks the group `aria-invalid` and shows `errorMessage`.\n * Ignored once a `value` is selected: making any choice clears the error.\n */\n invalid?: boolean;\n /** Error text that replaces `description` while invalid. */\n errorMessage?: string;\n /** Disable the whole group. */\n disabled?: boolean;\n /** `\"plain\"` (default) or `\"card\"`. */\n variant?: RadioCardVariant;\n /** Layout direction of the option list. */\n orientation?: RadioGroupOrientation;\n /** Number of columns — card variant only, rendered through `Tiles`. */\n columns?: number;\n /** Override for the between-options gap only. */\n space?: Space;\n}\n\nexport const RadioGroup = forwardRef<\n HTMLFieldSetElement,\n IRadioGroupProps &\n Omit<ComponentPropsWithoutRef<\"fieldset\">, keyof IRadioGroupProps>\n>(\n (\n {\n options,\n value,\n onChange,\n name,\n label,\n hideLabel = false,\n description,\n required = false,\n invalid = false,\n errorMessage,\n disabled = false,\n variant = \"plain\",\n orientation = \"vertical\",\n columns,\n space,\n className,\n ...rest\n },\n ref\n ) => {\n const groupName = useStableId(name);\n const messageId = useStableId();\n\n // A group with a selection isn't invalid — picking any option clears the\n // error, mirroring how `checked` beats `invalid` on a single RadioCard.\n const isInvalid = invalid && value === undefined;\n\n const showError = isInvalid && !!errorMessage;\n const messageText = showError ? errorMessage : description;\n const hasMessage = !!messageText;\n\n const cards = options.map((option) => (\n <RadioCard\n key={option.id}\n variant={variant}\n name={groupName}\n value={option.id}\n checked={value === option.id}\n disabled={option.disabled}\n invalid={isInvalid}\n icon={option.icon}\n title={option.name}\n description={option.description}\n onChange={() => onChange(option.id)}\n />\n ));\n\n const useTiles = variant === \"card\" && typeof columns === \"number\";\n\n return (\n <StyledFieldset\n ref={ref}\n className={classnames(\"c-radio-group\", className)}\n $hideLabel={hideLabel}\n disabled={disabled}\n aria-required={required || undefined}\n aria-invalid={isInvalid || undefined}\n aria-describedby={hasMessage ? messageId : undefined}\n {...rest}\n >\n {label ? (\n <Typography\n as=\"legend\"\n variant=\"Body 2\"\n weight=\"bold\"\n color={isInvalid ? \"alert\" : \"primary\"}\n className=\"c-radio-group--legend\"\n >\n {label}\n {required ? \"*\" : null}\n </Typography>\n ) : null}\n\n {useTiles ? (\n <Tiles\n className=\"c-radio-group--list\"\n columns={columns as number}\n space={space}\n >\n {cards}\n </Tiles>\n ) : (\n <StyledList\n className=\"c-radio-group--list\"\n $orientation={orientation}\n $space={space}\n >\n {cards}\n </StyledList>\n )}\n\n {hasMessage ? (\n <Typography\n as=\"p\"\n variant=\"Caption 1\"\n id={messageId}\n color={showError ? \"alert\" : \"secondary\"}\n className=\"c-radio-group--message\"\n >\n {messageText}\n </Typography>\n ) : null}\n </StyledFieldset>\n );\n }\n);\n\nRadioGroup.displayName = \"RadioGroup\";\n"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,22 @@
1
+ import { Space } from "../LayoutTokens";
2
+ export type RadioGroupOrientation = "vertical" | "horizontal";
3
+ export interface IStyledFieldset {
4
+ $hideLabel?: boolean;
5
+ }
6
+ /**
7
+ * `<fieldset>` reset — no default border or padding. Layout lives on the inner
8
+ * list div, never on the fieldset, because a fieldset breaks flex/grid in some
9
+ * browsers.
10
+ */
11
+ export declare const StyledFieldset: import("styled-components").StyledComponent<"fieldset", any, IStyledFieldset, never>;
12
+ export interface IStyledList {
13
+ $orientation: RadioGroupOrientation;
14
+ $space?: Space;
15
+ }
16
+ /**
17
+ * Flex list of options. Default between-options gap is 12px (the
18
+ * ExportProjectDialog look); `$space` overrides only this gap, using the same
19
+ * `Space`-to-pixel mapping as `Tiles` so a group and a `Tiles` grid line up.
20
+ */
21
+ export declare const StyledList: import("styled-components").StyledComponent<"div", any, IStyledList, never>;
22
+ //# sourceMappingURL=Styles.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Styles.d.ts","sourceRoot":"","sources":["../../../../src/components/RadioGroup/Styles.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,EAAS,MAAM,iBAAiB,CAAC;AAE/C,MAAM,MAAM,qBAAqB,GAAG,UAAU,GAAG,YAAY,CAAC;AAE9D,MAAM,WAAW,eAAe;IAC9B,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAED;;;;GAIG;AACH,eAAO,MAAM,cAAc,sFAgC1B,CAAC;AAGF,MAAM,WAAW,WAAW;IAC1B,YAAY,EAAE,qBAAqB,CAAC;IACpC,MAAM,CAAC,EAAE,KAAK,CAAC;CAChB;AAED;;;;GAIG;AACH,eAAO,MAAM,UAAU,6EAYtB,CAAC"}
@@ -0,0 +1,23 @@
1
+ import styled, { css } from "styled-components";
2
+ import { SPACE } from "../LayoutTokens";
3
+ /**
4
+ * `<fieldset>` reset — no default border or padding. Layout lives on the inner
5
+ * list div, never on the fieldset, because a fieldset breaks flex/grid in some
6
+ * browsers.
7
+ */
8
+ export const StyledFieldset = styled.fieldset.withConfig({
9
+ displayName: "Styles__StyledFieldset",
10
+ componentId: "sc-2qnvoo-0"
11
+ })(["border:0;margin:0;padding:0;min-width:0;.c-radio-group--legend{padding:0;margin:0 0 12px;}.c-radio-group--message{margin:8px 0 0;}", ""], props => props.$hideLabel && css([".c-radio-group--legend{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;white-space:nowrap;border:0;clip:rect(0px,0px,0px,0px);}"]));
12
+ StyledFieldset.displayName = "RadioGroupFieldset";
13
+ /**
14
+ * Flex list of options. Default between-options gap is 12px (the
15
+ * ExportProjectDialog look); `$space` overrides only this gap, using the same
16
+ * `Space`-to-pixel mapping as `Tiles` so a group and a `Tiles` grid line up.
17
+ */
18
+ export const StyledList = styled.div.withConfig({
19
+ displayName: "Styles__StyledList",
20
+ componentId: "sc-2qnvoo-1"
21
+ })(["display:flex;flex-direction:", ";gap:", ";", ""], props => props.$orientation === "horizontal" ? "row" : "column", props => props.$space ? SPACE[props.$space] : "12px", props => props.$orientation === "horizontal" && css(["flex-wrap:wrap;align-items:center;"]));
22
+ StyledList.displayName = "RadioGroupList";
23
+ //# sourceMappingURL=Styles.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Styles.js","names":["styled","css","SPACE","StyledFieldset","fieldset","withConfig","displayName","componentId","props","$hideLabel","StyledList","div","$orientation","$space"],"sources":["../../../../src/components/RadioGroup/Styles.ts"],"sourcesContent":["import styled, { css } from \"styled-components\";\n\nimport { Space, SPACE } from \"../LayoutTokens\";\n\nexport type RadioGroupOrientation = \"vertical\" | \"horizontal\";\n\nexport interface IStyledFieldset {\n $hideLabel?: boolean;\n}\n\n/**\n * `<fieldset>` reset — no default border or padding. Layout lives on the inner\n * list div, never on the fieldset, because a fieldset breaks flex/grid in some\n * browsers.\n */\nexport const StyledFieldset = styled.fieldset<IStyledFieldset>`\n border: 0;\n margin: 0;\n padding: 0;\n min-width: 0;\n\n .c-radio-group--legend {\n padding: 0;\n margin: 0 0 12px;\n }\n\n .c-radio-group--message {\n margin: 8px 0 0;\n }\n\n /* hideLabel: keep the legend in the a11y tree, hide it visually. Same sr-only\n idiom the hidden radio input uses. */\n ${(props) =>\n props.$hideLabel &&\n css`\n .c-radio-group--legend {\n position: absolute;\n width: 1px;\n height: 1px;\n margin: -1px;\n padding: 0;\n overflow: hidden;\n white-space: nowrap;\n border: 0;\n clip: rect(0px, 0px, 0px, 0px);\n }\n `}\n`;\nStyledFieldset.displayName = \"RadioGroupFieldset\";\n\nexport interface IStyledList {\n $orientation: RadioGroupOrientation;\n $space?: Space;\n}\n\n/**\n * Flex list of options. Default between-options gap is 12px (the\n * ExportProjectDialog look); `$space` overrides only this gap, using the same\n * `Space`-to-pixel mapping as `Tiles` so a group and a `Tiles` grid line up.\n */\nexport const StyledList = styled.div<IStyledList>`\n display: flex;\n flex-direction: ${(props) =>\n props.$orientation === \"horizontal\" ? \"row\" : \"column\"};\n gap: ${(props) => (props.$space ? SPACE[props.$space] : \"12px\")};\n\n ${(props) =>\n props.$orientation === \"horizontal\" &&\n css`\n flex-wrap: wrap;\n align-items: center;\n `}\n`;\nStyledList.displayName = \"RadioGroupList\";\n"],"mappings":"AAAA,OAAOA,MAAM,IAAIC,GAAG,QAAQ,mBAAmB;AAE/C,SAAgBC,KAAK,QAAQ,iBAAiB;AAQ9C;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMC,cAAc,GAAGH,MAAM,CAACI,QAAQ,CAAAC,UAAA;EAAAC,WAAA;EAAAC,WAAA;AAAA,+IAiBxCC,KAAK,IACNA,KAAK,CAACC,UAAU,IAChBR,GAAG,kKAYF,CACJ;AACDE,cAAc,CAACG,WAAW,GAAG,oBAAoB;AAOjD;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMI,UAAU,GAAGV,MAAM,CAACW,GAAG,CAAAN,UAAA;EAAAC,WAAA;EAAAC,WAAA;AAAA,uDAEfC,KAAK,IACtBA,KAAK,CAACI,YAAY,KAAK,YAAY,GAAG,KAAK,GAAG,QAAQ,EAChDJ,KAAK,IAAMA,KAAK,CAACK,MAAM,GAAGX,KAAK,CAACM,KAAK,CAACK,MAAM,CAAC,GAAG,MAAO,EAE5DL,KAAK,IACNA,KAAK,CAACI,YAAY,KAAK,YAAY,IACnCX,GAAG,wCAGF,CACJ;AACDS,UAAU,CAACJ,WAAW,GAAG,gBAAgB","ignoreList":[]}
@@ -0,0 +1,2 @@
1
+ export * from "./RadioGroup";
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/RadioGroup/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC"}
@@ -0,0 +1,2 @@
1
+ export * from "./RadioGroup";
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","names":[],"sources":["../../../../src/components/RadioGroup/index.ts"],"sourcesContent":["export * from \"./RadioGroup\";\n"],"mappings":"AAAA,cAAc,cAAc","ignoreList":[]}
@@ -18,6 +18,7 @@ export * from "./Nav";
18
18
  export * from "./Bubble";
19
19
  export * from "./Input";
20
20
  export * from "./Display";
21
+ export * from "./DrilldownMenu";
21
22
  export * from "./Menu";
22
23
  export * from "./Expanders";
23
24
  export * from "./DatePicker";
@@ -25,6 +26,8 @@ export * from "./List";
25
26
  export * from "./MenuSelector";
26
27
  export * from "./MultiAvatar";
27
28
  export * from "./RadioButton";
29
+ export * from "./RadioCard";
30
+ export * from "./RadioGroup";
28
31
  export * from "./ScrollShadow";
29
32
  export * from "./Icons";
30
33
  export * from "./Textarea";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/index.ts"],"names":[],"mappings":"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"}
@@ -18,6 +18,7 @@ export * from "./Nav";
18
18
  export * from "./Bubble";
19
19
  export * from "./Input";
20
20
  export * from "./Display";
21
+ export * from "./DrilldownMenu";
21
22
  export * from "./Menu";
22
23
  export * from "./Expanders";
23
24
  export * from "./DatePicker";
@@ -25,6 +26,8 @@ export * from "./List";
25
26
  export * from "./MenuSelector";
26
27
  export * from "./MultiAvatar";
27
28
  export * from "./RadioButton";
29
+ export * from "./RadioCard";
30
+ export * from "./RadioGroup";
28
31
  export * from "./ScrollShadow";
29
32
  export * from "./Icons";
30
33
  export * from "./Textarea";
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":[],"sources":["../../../src/components/index.ts"],"sourcesContent":["export * from \"./Button\";\nexport * from \"./ButtonGroup\";\nexport * from \"./Breadcrumbs\";\nexport * from \"./CounterButton\";\nexport * from \"./Steppers\";\nexport * from \"./Tables\";\nexport * from \"./CompleteCheckbox\";\nexport * from \"./Paper\";\nexport * from \"./ScaleBar\";\nexport * from \"./Card\";\nexport * from \"./EntityCard\";\nexport * from \"./EntitiesHeader\";\nexport * from \"./Signifier\";\nexport * from \"./Avatar\";\nexport * from \"./Tag\";\nexport * from \"./Loaders\";\nexport * from \"./Nav\";\nexport * from \"./Bubble\";\nexport * from \"./Input\";\nexport * from \"./Display\";\nexport * from \"./Menu\";\nexport * from \"./Expanders\";\nexport * from \"./DatePicker\";\nexport * from \"./List\";\nexport * from \"./MenuSelector\";\nexport * from \"./MultiAvatar\";\nexport * from \"./RadioButton\";\nexport * from \"./ScrollShadow\";\nexport * from \"./Icons\";\nexport * from \"./Textarea\";\nexport * from \"./Modal\";\nexport * from \"./Sheet\";\nexport * from \"./Header\";\nexport * from \"./AutoResizeTextarea\";\nexport * from \"./Overlay\";\nexport * from \"./Accordion\";\nexport * from \"./Choose\";\nexport * from \"./ChooseV2\";\nexport * from \"./Links\";\nexport * from \"./SelectDate\";\nexport * from \"./Popper\";\nexport * from \"./ToastMessage\";\nexport * from \"./Tooltip\";\nexport * from \"./Transitions\";\nexport * from \"./Window\";\nexport * from \"./ValueButton\";\nexport * from \"./Select\";\nexport * from \"./SelectTrigger\";\nexport * from \"./SelectTime\";\nexport * from \"./Dialog\";\nexport * from \"./ConfirmDialog\";\nexport * from \"./Checkbox\";\nexport * from \"./Toggle\";\nexport * from \"./Typography\";\nexport * from \"./Autocomplete\";\nexport * from \"./ComboBox\";\nexport * from \"./Button/AddToListButton\";\nexport * from \"./PortableText\";\nexport * from \"./ProgressBar\";\nexport * from \"./ProgressPie\";\nexport * from \"./Reactions\";\nexport * from \"./Label\";\nexport * from \"./GlobalStyle\";\nexport * from \"./ProgressRing\";\nexport * from \"./EditableContent\";\nexport * from \"./EditableText\";\nexport * from \"./EditableHours\";\nexport * from \"./EditableCurrency\";\nexport * from \"./Folder\";\nexport * from \"./Chip\";\nexport * from \"./Trigger\";\nexport * from \"./Dot\";\nexport * from \"./Entity\";\nexport * from \"./Filter\";\nexport * from \"./Wizard\";\nexport * from \"./ContentWizard\";\nexport * from \"./IconButton\";\nexport * from \"./Typography\";\nexport * from \"./Badge\";\nexport * from \"./AvatarGroup\";\nexport * from \"./CommandPalette\";\nexport * from \"./EmptySlate\";\nexport * from \"./Toolbar\";\nexport * from \"./InfoBox\";\nexport * from \"./Sort\";\nexport * from \"./StepSequence\";\nexport * from \"./StackedCard\";\nexport * from \"./Stack\";\nexport * from \"./Row\";\nexport * from \"./Columns\";\nexport * from \"./Tiles\";\nexport * from \"./Media\";\nexport * from \"./TitledText\";\nexport * from \"./LayoutTokens\";\n"],"mappings":"AAAA,cAAc,UAAU;AACxB,cAAc,eAAe;AAC7B,cAAc,eAAe;AAC7B,cAAc,iBAAiB;AAC/B,cAAc,YAAY;AAC1B,cAAc,UAAU;AACxB,cAAc,oBAAoB;AAClC,cAAc,SAAS;AACvB,cAAc,YAAY;AAC1B,cAAc,QAAQ;AACtB,cAAc,cAAc;AAC5B,cAAc,kBAAkB;AAChC,cAAc,aAAa;AAC3B,cAAc,UAAU;AACxB,cAAc,OAAO;AACrB,cAAc,WAAW;AACzB,cAAc,OAAO;AACrB,cAAc,UAAU;AACxB,cAAc,SAAS;AACvB,cAAc,WAAW;AACzB,cAAc,QAAQ;AACtB,cAAc,aAAa;AAC3B,cAAc,cAAc;AAC5B,cAAc,QAAQ;AACtB,cAAc,gBAAgB;AAC9B,cAAc,eAAe;AAC7B,cAAc,eAAe;AAC7B,cAAc,gBAAgB;AAC9B,cAAc,SAAS;AACvB,cAAc,YAAY;AAC1B,cAAc,SAAS;AACvB,cAAc,SAAS;AACvB,cAAc,UAAU;AACxB,cAAc,sBAAsB;AACpC,cAAc,WAAW;AACzB,cAAc,aAAa;AAC3B,cAAc,UAAU;AACxB,cAAc,YAAY;AAC1B,cAAc,SAAS;AACvB,cAAc,cAAc;AAC5B,cAAc,UAAU;AACxB,cAAc,gBAAgB;AAC9B,cAAc,WAAW;AACzB,cAAc,eAAe;AAC7B,cAAc,UAAU;AACxB,cAAc,eAAe;AAC7B,cAAc,UAAU;AACxB,cAAc,iBAAiB;AAC/B,cAAc,cAAc;AAC5B,cAAc,UAAU;AACxB,cAAc,iBAAiB;AAC/B,cAAc,YAAY;AAC1B,cAAc,UAAU;AACxB,cAAc,cAAc;AAC5B,cAAc,gBAAgB;AAC9B,cAAc,YAAY;AAC1B,cAAc,0BAA0B;AACxC,cAAc,gBAAgB;AAC9B,cAAc,eAAe;AAC7B,cAAc,eAAe;AAC7B,cAAc,aAAa;AAC3B,cAAc,SAAS;AACvB,cAAc,eAAe;AAC7B,cAAc,gBAAgB;AAC9B,cAAc,mBAAmB;AACjC,cAAc,gBAAgB;AAC9B,cAAc,iBAAiB;AAC/B,cAAc,oBAAoB;AAClC,cAAc,UAAU;AACxB,cAAc,QAAQ;AACtB,cAAc,WAAW;AACzB,cAAc,OAAO;AACrB,cAAc,UAAU;AACxB,cAAc,UAAU;AACxB,cAAc,UAAU;AACxB,cAAc,iBAAiB;AAC/B,cAAc,cAAc;AAC5B,cAAc,cAAc;AAC5B,cAAc,SAAS;AACvB,cAAc,eAAe;AAC7B,cAAc,kBAAkB;AAChC,cAAc,cAAc;AAC5B,cAAc,WAAW;AACzB,cAAc,WAAW;AACzB,cAAc,QAAQ;AACtB,cAAc,gBAAgB;AAC9B,cAAc,eAAe;AAC7B,cAAc,SAAS;AACvB,cAAc,OAAO;AACrB,cAAc,WAAW;AACzB,cAAc,SAAS;AACvB,cAAc,SAAS;AACvB,cAAc,cAAc;AAC5B,cAAc,gBAAgB","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":[],"sources":["../../../src/components/index.ts"],"sourcesContent":["export * from \"./Button\";\nexport * from \"./ButtonGroup\";\nexport * from \"./Breadcrumbs\";\nexport * from \"./CounterButton\";\nexport * from \"./Steppers\";\nexport * from \"./Tables\";\nexport * from \"./CompleteCheckbox\";\nexport * from \"./Paper\";\nexport * from \"./ScaleBar\";\nexport * from \"./Card\";\nexport * from \"./EntityCard\";\nexport * from \"./EntitiesHeader\";\nexport * from \"./Signifier\";\nexport * from \"./Avatar\";\nexport * from \"./Tag\";\nexport * from \"./Loaders\";\nexport * from \"./Nav\";\nexport * from \"./Bubble\";\nexport * from \"./Input\";\nexport * from \"./Display\";\nexport * from \"./DrilldownMenu\";\nexport * from \"./Menu\";\nexport * from \"./Expanders\";\nexport * from \"./DatePicker\";\nexport * from \"./List\";\nexport * from \"./MenuSelector\";\nexport * from \"./MultiAvatar\";\nexport * from \"./RadioButton\";\nexport * from \"./RadioCard\";\nexport * from \"./RadioGroup\";\nexport * from \"./ScrollShadow\";\nexport * from \"./Icons\";\nexport * from \"./Textarea\";\nexport * from \"./Modal\";\nexport * from \"./Sheet\";\nexport * from \"./Header\";\nexport * from \"./AutoResizeTextarea\";\nexport * from \"./Overlay\";\nexport * from \"./Accordion\";\nexport * from \"./Choose\";\nexport * from \"./ChooseV2\";\nexport * from \"./Links\";\nexport * from \"./SelectDate\";\nexport * from \"./Popper\";\nexport * from \"./ToastMessage\";\nexport * from \"./Tooltip\";\nexport * from \"./Transitions\";\nexport * from \"./Window\";\nexport * from \"./ValueButton\";\nexport * from \"./Select\";\nexport * from \"./SelectTrigger\";\nexport * from \"./SelectTime\";\nexport * from \"./Dialog\";\nexport * from \"./ConfirmDialog\";\nexport * from \"./Checkbox\";\nexport * from \"./Toggle\";\nexport * from \"./Typography\";\nexport * from \"./Autocomplete\";\nexport * from \"./ComboBox\";\nexport * from \"./Button/AddToListButton\";\nexport * from \"./PortableText\";\nexport * from \"./ProgressBar\";\nexport * from \"./ProgressPie\";\nexport * from \"./Reactions\";\nexport * from \"./Label\";\nexport * from \"./GlobalStyle\";\nexport * from \"./ProgressRing\";\nexport * from \"./EditableContent\";\nexport * from \"./EditableText\";\nexport * from \"./EditableHours\";\nexport * from \"./EditableCurrency\";\nexport * from \"./Folder\";\nexport * from \"./Chip\";\nexport * from \"./Trigger\";\nexport * from \"./Dot\";\nexport * from \"./Entity\";\nexport * from \"./Filter\";\nexport * from \"./Wizard\";\nexport * from \"./ContentWizard\";\nexport * from \"./IconButton\";\nexport * from \"./Typography\";\nexport * from \"./Badge\";\nexport * from \"./AvatarGroup\";\nexport * from \"./CommandPalette\";\nexport * from \"./EmptySlate\";\nexport * from \"./Toolbar\";\nexport * from \"./InfoBox\";\nexport * from \"./Sort\";\nexport * from \"./StepSequence\";\nexport * from \"./StackedCard\";\nexport * from \"./Stack\";\nexport * from \"./Row\";\nexport * from \"./Columns\";\nexport * from \"./Tiles\";\nexport * from \"./Media\";\nexport * from \"./TitledText\";\nexport * from \"./LayoutTokens\";\n"],"mappings":"AAAA,cAAc,UAAU;AACxB,cAAc,eAAe;AAC7B,cAAc,eAAe;AAC7B,cAAc,iBAAiB;AAC/B,cAAc,YAAY;AAC1B,cAAc,UAAU;AACxB,cAAc,oBAAoB;AAClC,cAAc,SAAS;AACvB,cAAc,YAAY;AAC1B,cAAc,QAAQ;AACtB,cAAc,cAAc;AAC5B,cAAc,kBAAkB;AAChC,cAAc,aAAa;AAC3B,cAAc,UAAU;AACxB,cAAc,OAAO;AACrB,cAAc,WAAW;AACzB,cAAc,OAAO;AACrB,cAAc,UAAU;AACxB,cAAc,SAAS;AACvB,cAAc,WAAW;AACzB,cAAc,iBAAiB;AAC/B,cAAc,QAAQ;AACtB,cAAc,aAAa;AAC3B,cAAc,cAAc;AAC5B,cAAc,QAAQ;AACtB,cAAc,gBAAgB;AAC9B,cAAc,eAAe;AAC7B,cAAc,eAAe;AAC7B,cAAc,aAAa;AAC3B,cAAc,cAAc;AAC5B,cAAc,gBAAgB;AAC9B,cAAc,SAAS;AACvB,cAAc,YAAY;AAC1B,cAAc,SAAS;AACvB,cAAc,SAAS;AACvB,cAAc,UAAU;AACxB,cAAc,sBAAsB;AACpC,cAAc,WAAW;AACzB,cAAc,aAAa;AAC3B,cAAc,UAAU;AACxB,cAAc,YAAY;AAC1B,cAAc,SAAS;AACvB,cAAc,cAAc;AAC5B,cAAc,UAAU;AACxB,cAAc,gBAAgB;AAC9B,cAAc,WAAW;AACzB,cAAc,eAAe;AAC7B,cAAc,UAAU;AACxB,cAAc,eAAe;AAC7B,cAAc,UAAU;AACxB,cAAc,iBAAiB;AAC/B,cAAc,cAAc;AAC5B,cAAc,UAAU;AACxB,cAAc,iBAAiB;AAC/B,cAAc,YAAY;AAC1B,cAAc,UAAU;AACxB,cAAc,cAAc;AAC5B,cAAc,gBAAgB;AAC9B,cAAc,YAAY;AAC1B,cAAc,0BAA0B;AACxC,cAAc,gBAAgB;AAC9B,cAAc,eAAe;AAC7B,cAAc,eAAe;AAC7B,cAAc,aAAa;AAC3B,cAAc,SAAS;AACvB,cAAc,eAAe;AAC7B,cAAc,gBAAgB;AAC9B,cAAc,mBAAmB;AACjC,cAAc,gBAAgB;AAC9B,cAAc,iBAAiB;AAC/B,cAAc,oBAAoB;AAClC,cAAc,UAAU;AACxB,cAAc,QAAQ;AACtB,cAAc,WAAW;AACzB,cAAc,OAAO;AACrB,cAAc,UAAU;AACxB,cAAc,UAAU;AACxB,cAAc,UAAU;AACxB,cAAc,iBAAiB;AAC/B,cAAc,cAAc;AAC5B,cAAc,cAAc;AAC5B,cAAc,SAAS;AACvB,cAAc,eAAe;AAC7B,cAAc,kBAAkB;AAChC,cAAc,cAAc;AAC5B,cAAc,WAAW;AACzB,cAAc,WAAW;AACzB,cAAc,QAAQ;AACtB,cAAc,gBAAgB;AAC9B,cAAc,eAAe;AAC7B,cAAc,SAAS;AACvB,cAAc,OAAO;AACrB,cAAc,WAAW;AACzB,cAAc,SAAS;AACvB,cAAc,SAAS;AACvB,cAAc,cAAc;AAC5B,cAAc,gBAAgB","ignoreList":[]}
@@ -1,12 +1,16 @@
1
1
  import { ReactElement } from "react";
2
+ import { PortfolioFormValues } from "./portfolioDetails";
2
3
  export interface PortfolioOptionsMenuProps {
3
4
  /** Class on the TreeDots trigger (parent controls its hover visibility). */
4
5
  targetClassName?: string;
5
6
  /** IconButton size of the trigger (omit for the default/regular size). */
6
7
  size?: "small" | "big";
8
+ /** Current portfolio values that seed the Edit dialog. Omit for a blank
9
+ (custom) seed. */
10
+ editValues?: PortfolioFormValues;
7
11
  }
8
12
  export declare const PortfolioOptionsMenu: {
9
- ({ targetClassName, size, }: PortfolioOptionsMenuProps): ReactElement;
13
+ ({ targetClassName, size, editValues, }: PortfolioOptionsMenuProps): ReactElement;
10
14
  displayName: string;
11
15
  };
12
16
  //# sourceMappingURL=PortfolioOptionsMenu.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"PortfolioOptionsMenu.d.ts","sourceRoot":"","sources":["../../../../src/presentation/shared/PortfolioOptionsMenu.tsx"],"names":[],"mappings":"AAAA,OAAc,EAAE,YAAY,EAAyB,MAAM,OAAO,CAAC;AA4BnE,MAAM,WAAW,yBAAyB;IACxC,4EAA4E;IAC5E,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,0EAA0E;IAC1E,IAAI,CAAC,EAAE,OAAO,GAAG,KAAK,CAAC;CACxB;AAED,eAAO,MAAM,oBAAoB;iCAG9B,yBAAyB,GAAG,YAAY;;CA8C1C,CAAC"}
1
+ {"version":3,"file":"PortfolioOptionsMenu.d.ts","sourceRoot":"","sources":["../../../../src/presentation/shared/PortfolioOptionsMenu.tsx"],"names":[],"mappings":"AAAA,OAAc,EAAE,YAAY,EAAyB,MAAM,OAAO,CAAC;AAEnE,OAAO,EAGL,mBAAmB,EACpB,MAAM,oBAAoB,CAAC;AAqB5B,MAAM,WAAW,yBAAyB;IACxC,4EAA4E;IAC5E,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,0EAA0E;IAC1E,IAAI,CAAC,EAAE,OAAO,GAAG,KAAK,CAAC;IACvB;yBACqB;IACrB,UAAU,CAAC,EAAE,mBAAmB,CAAC;CAClC;AAED,eAAO,MAAM,oBAAoB;6CAI9B,yBAAyB,GAAG,YAAY;;CA0F1C,CAAC"}