@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.
- package/dist/cjs/components/DrilldownMenu/DrilldownMenu.js +66 -0
- package/dist/cjs/components/DrilldownMenu/DrilldownMenu.js.map +1 -0
- package/dist/cjs/components/DrilldownMenu/DrilldownMenuContent.js +121 -0
- package/dist/cjs/components/DrilldownMenu/DrilldownMenuContent.js.map +1 -0
- package/dist/cjs/components/DrilldownMenu/MeasuredPane.js +61 -0
- package/dist/cjs/components/DrilldownMenu/MeasuredPane.js.map +1 -0
- package/dist/cjs/components/DrilldownMenu/Styles.js +30 -0
- package/dist/cjs/components/DrilldownMenu/Styles.js.map +1 -0
- package/dist/cjs/components/DrilldownMenu/SubmenuHeader.js +28 -0
- package/dist/cjs/components/DrilldownMenu/SubmenuHeader.js.map +1 -0
- package/dist/cjs/components/DrilldownMenu/index.js +50 -0
- package/dist/cjs/components/DrilldownMenu/index.js.map +1 -0
- package/dist/cjs/components/RadioCard/RadioCard.js +81 -0
- package/dist/cjs/components/RadioCard/RadioCard.js.map +1 -0
- package/dist/cjs/components/RadioCard/Styles.js +39 -0
- package/dist/cjs/components/RadioCard/Styles.js.map +1 -0
- package/dist/cjs/components/RadioCard/index.js +17 -0
- package/dist/cjs/components/RadioCard/index.js.map +1 -0
- package/dist/cjs/components/RadioGroup/RadioGroup.js +102 -0
- package/dist/cjs/components/RadioGroup/RadioGroup.js.map +1 -0
- package/dist/cjs/components/RadioGroup/Styles.js +38 -0
- package/dist/cjs/components/RadioGroup/Styles.js.map +1 -0
- package/dist/cjs/components/RadioGroup/index.js +17 -0
- package/dist/cjs/components/RadioGroup/index.js.map +1 -0
- package/dist/cjs/components/index.js +33 -0
- package/dist/cjs/components/index.js.map +1 -1
- package/dist/cjs/presentation/shared/PortfolioOptionsMenu.js +74 -15
- package/dist/cjs/presentation/shared/PortfolioOptionsMenu.js.map +1 -1
- package/dist/cjs/presentation/shared/index.js +93 -1
- package/dist/cjs/presentation/shared/index.js.map +1 -1
- package/dist/cjs/presentation/shared/portfolioDetails.js +566 -0
- package/dist/cjs/presentation/shared/portfolioDetails.js.map +1 -0
- package/dist/cjs/utils/useStableId.js +33 -0
- package/dist/cjs/utils/useStableId.js.map +1 -0
- package/dist/esm/components/DrilldownMenu/DrilldownMenu.d.ts +24 -0
- package/dist/esm/components/DrilldownMenu/DrilldownMenu.d.ts.map +1 -0
- package/dist/esm/components/DrilldownMenu/DrilldownMenu.js +48 -0
- package/dist/esm/components/DrilldownMenu/DrilldownMenu.js.map +1 -0
- package/dist/esm/components/DrilldownMenu/DrilldownMenuContent.d.ts +38 -0
- package/dist/esm/components/DrilldownMenu/DrilldownMenuContent.d.ts.map +1 -0
- package/dist/esm/components/DrilldownMenu/DrilldownMenuContent.js +97 -0
- package/dist/esm/components/DrilldownMenu/DrilldownMenuContent.js.map +1 -0
- package/dist/esm/components/DrilldownMenu/MeasuredPane.d.ts +10 -0
- package/dist/esm/components/DrilldownMenu/MeasuredPane.d.ts.map +1 -0
- package/dist/esm/components/DrilldownMenu/MeasuredPane.js +44 -0
- package/dist/esm/components/DrilldownMenu/MeasuredPane.js.map +1 -0
- package/dist/esm/components/DrilldownMenu/Styles.d.ts +17 -0
- package/dist/esm/components/DrilldownMenu/Styles.d.ts.map +1 -0
- package/dist/esm/components/DrilldownMenu/Styles.js +23 -0
- package/dist/esm/components/DrilldownMenu/Styles.js.map +1 -0
- package/dist/esm/components/DrilldownMenu/SubmenuHeader.d.ts +11 -0
- package/dist/esm/components/DrilldownMenu/SubmenuHeader.d.ts.map +1 -0
- package/dist/esm/components/DrilldownMenu/SubmenuHeader.js +21 -0
- package/dist/esm/components/DrilldownMenu/SubmenuHeader.js.map +1 -0
- package/dist/esm/components/DrilldownMenu/index.d.ts +5 -0
- package/dist/esm/components/DrilldownMenu/index.d.ts.map +1 -0
- package/dist/esm/components/DrilldownMenu/index.js +5 -0
- package/dist/esm/components/DrilldownMenu/index.js.map +1 -0
- package/dist/esm/components/RadioCard/RadioCard.d.ts +27 -0
- package/dist/esm/components/RadioCard/RadioCard.d.ts.map +1 -0
- package/dist/esm/components/RadioCard/RadioCard.js +72 -0
- package/dist/esm/components/RadioCard/RadioCard.js.map +1 -0
- package/dist/esm/components/RadioCard/Styles.d.ts +16 -0
- package/dist/esm/components/RadioCard/Styles.d.ts.map +1 -0
- package/dist/esm/components/RadioCard/Styles.js +26 -0
- package/dist/esm/components/RadioCard/Styles.js.map +1 -0
- package/dist/esm/components/RadioCard/index.d.ts +2 -0
- package/dist/esm/components/RadioCard/index.d.ts.map +1 -0
- package/dist/esm/components/RadioCard/index.js +2 -0
- package/dist/esm/components/RadioCard/index.js.map +1 -0
- package/dist/esm/components/RadioGroup/RadioGroup.d.ts +48 -0
- package/dist/esm/components/RadioGroup/RadioGroup.d.ts.map +1 -0
- package/dist/esm/components/RadioGroup/RadioGroup.js +89 -0
- package/dist/esm/components/RadioGroup/RadioGroup.js.map +1 -0
- package/dist/esm/components/RadioGroup/Styles.d.ts +22 -0
- package/dist/esm/components/RadioGroup/Styles.d.ts.map +1 -0
- package/dist/esm/components/RadioGroup/Styles.js +23 -0
- package/dist/esm/components/RadioGroup/Styles.js.map +1 -0
- package/dist/esm/components/RadioGroup/index.d.ts +2 -0
- package/dist/esm/components/RadioGroup/index.d.ts.map +1 -0
- package/dist/esm/components/RadioGroup/index.js +2 -0
- package/dist/esm/components/RadioGroup/index.js.map +1 -0
- package/dist/esm/components/index.d.ts +3 -0
- package/dist/esm/components/index.d.ts.map +1 -1
- package/dist/esm/components/index.js +3 -0
- package/dist/esm/components/index.js.map +1 -1
- package/dist/esm/presentation/shared/PortfolioOptionsMenu.d.ts +5 -1
- package/dist/esm/presentation/shared/PortfolioOptionsMenu.d.ts.map +1 -1
- package/dist/esm/presentation/shared/PortfolioOptionsMenu.js +61 -14
- package/dist/esm/presentation/shared/PortfolioOptionsMenu.js.map +1 -1
- package/dist/esm/presentation/shared/index.d.ts +2 -0
- package/dist/esm/presentation/shared/index.d.ts.map +1 -1
- package/dist/esm/presentation/shared/index.js +1 -0
- package/dist/esm/presentation/shared/index.js.map +1 -1
- package/dist/esm/presentation/shared/portfolioDetails.d.ts +74 -0
- package/dist/esm/presentation/shared/portfolioDetails.d.ts.map +1 -0
- package/dist/esm/presentation/shared/portfolioDetails.js +490 -0
- package/dist/esm/presentation/shared/portfolioDetails.js.map +1 -0
- package/dist/esm/utils/useStableId.d.ts +2 -0
- package/dist/esm/utils/useStableId.d.ts.map +1 -0
- package/dist/esm/utils/useStableId.js +25 -0
- package/dist/esm/utils/useStableId.js.map +1 -0
- package/dist/index.js +1315 -821
- package/dist/index.js.map +1 -1
- package/dist/index.min.js +1 -1
- package/dist/index.min.js.map +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.DrilldownMenu = void 0;
|
|
7
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
8
|
+
var _DrilldownMenuContent = require("./DrilldownMenuContent");
|
|
9
|
+
var _Styles = require("./Styles");
|
|
10
|
+
function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function _interopRequireWildcard(e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (var _t in e) "default" !== _t && {}.hasOwnProperty.call(e, _t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, _t)) && (i.get || i.set) ? o(f, _t, i) : f[_t] = e[_t]); return f; })(e, t); }
|
|
11
|
+
function _slicedToArray(r, e) { return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest(); }
|
|
12
|
+
function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
|
13
|
+
function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }
|
|
14
|
+
function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
|
|
15
|
+
function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t.return && (u = t.return(), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
|
|
16
|
+
function _arrayWithHoles(r) { if (Array.isArray(r)) return r; }
|
|
17
|
+
var NO_SUBMENUS = [];
|
|
18
|
+
var DrilldownMenu = exports.DrilldownMenu = function DrilldownMenu(_ref) {
|
|
19
|
+
var target = _ref.target,
|
|
20
|
+
open = _ref.open,
|
|
21
|
+
onOpen = _ref.onOpen,
|
|
22
|
+
onClose = _ref.onClose,
|
|
23
|
+
position = _ref.position,
|
|
24
|
+
width = _ref.width,
|
|
25
|
+
header = _ref.header,
|
|
26
|
+
listClassName = _ref.listClassName,
|
|
27
|
+
backLabel = _ref.backLabel,
|
|
28
|
+
_ref$submenus = _ref.submenus,
|
|
29
|
+
submenus = _ref$submenus === void 0 ? NO_SUBMENUS : _ref$submenus,
|
|
30
|
+
children = _ref.children;
|
|
31
|
+
var _useState = (0, _react.useState)(0),
|
|
32
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
33
|
+
contentKey = _useState2[0],
|
|
34
|
+
setContentKey = _useState2[1];
|
|
35
|
+
var showPanes = submenus.length > 0;
|
|
36
|
+
var paneWidth = width || _DrilldownMenuContent.DEFAULT_PANE_WIDTH;
|
|
37
|
+
(0, _react.useEffect)(function () {
|
|
38
|
+
if (!open) {
|
|
39
|
+
setContentKey(function (key) {
|
|
40
|
+
return key + 1;
|
|
41
|
+
});
|
|
42
|
+
}
|
|
43
|
+
}, [open]);
|
|
44
|
+
return /*#__PURE__*/_react.default.createElement(_Styles.StyledMenu, {
|
|
45
|
+
$paned: showPanes,
|
|
46
|
+
target: target,
|
|
47
|
+
open: open,
|
|
48
|
+
onOpen: onOpen,
|
|
49
|
+
onClose: onClose,
|
|
50
|
+
position: position
|
|
51
|
+
}, /*#__PURE__*/_react.default.createElement(_DrilldownMenuContent.DrilldownMenuContent, {
|
|
52
|
+
key: contentKey,
|
|
53
|
+
width: width,
|
|
54
|
+
submenus: submenus,
|
|
55
|
+
backLabel: backLabel
|
|
56
|
+
}, function (paneProps) {
|
|
57
|
+
return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, header, /*#__PURE__*/_react.default.createElement(_Styles.StyledIndexList, {
|
|
58
|
+
className: listClassName,
|
|
59
|
+
style: {
|
|
60
|
+
width: showPanes ? paneWidth : "100%"
|
|
61
|
+
}
|
|
62
|
+
}, typeof children === "function" ? children(paneProps) : children));
|
|
63
|
+
}));
|
|
64
|
+
};
|
|
65
|
+
DrilldownMenu.displayName = "DrilldownMenu";
|
|
66
|
+
//# sourceMappingURL=DrilldownMenu.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DrilldownMenu.js","names":["_react","_interopRequireWildcard","require","_DrilldownMenuContent","_Styles","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","_t","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","_slicedToArray","_arrayWithHoles","_iterableToArrayLimit","_unsupportedIterableToArray","_nonIterableRest","TypeError","a","_arrayLikeToArray","toString","slice","constructor","name","Array","from","test","length","l","Symbol","iterator","u","next","done","push","value","return","isArray","NO_SUBMENUS","DrilldownMenu","exports","_ref","target","open","onOpen","onClose","position","width","header","listClassName","backLabel","_ref$submenus","submenus","children","_useState","useState","_useState2","contentKey","setContentKey","showPanes","paneWidth","DEFAULT_PANE_WIDTH","useEffect","key","createElement","StyledMenu","$paned","DrilldownMenuContent","paneProps","Fragment","StyledIndexList","className","style","displayName"],"sources":["../../../../src/components/DrilldownMenu/DrilldownMenu.tsx"],"sourcesContent":["import React, { ReactNode, useEffect, useState } from \"react\";\n\nimport {\n DEFAULT_PANE_WIDTH,\n DrilldownMenuContent,\n DrilldownMenuContentProps,\n DrilldownSubmenu,\n IndexRenderProps,\n} from \"./DrilldownMenuContent\";\nimport { StyledIndexList, StyledMenu } from \"./Styles\";\nimport { IMenu } from \"../Menu\";\n\nconst NO_SUBMENUS: DrilldownSubmenu[] = [];\n\nexport interface DrilldownMenuProps\n extends Pick<DrilldownMenuContentProps, \"width\" | \"submenus\" | \"backLabel\"> {\n /** Element the menu hangs off */\n target: IMenu[\"target\"];\n /** Whether the menu is open. The caller owns this */\n open: boolean;\n onOpen: () => void;\n onClose: () => void;\n /** Where the menu sits against its target */\n position?: IMenu[\"position\"];\n /** Sits above the index list, inside the same pane */\n header?: ReactNode;\n /** Applied to the index list, next to its own vertical padding */\n listClassName?: string;\n /** Index items, or a function that receives `openSubmenu` */\n children?: ReactNode | ((props: IndexRenderProps) => ReactNode);\n}\n\nexport const DrilldownMenu = ({\n target,\n open,\n onOpen,\n onClose,\n position,\n width,\n header,\n listClassName,\n backLabel,\n submenus = NO_SUBMENUS,\n children,\n}: DrilldownMenuProps): JSX.Element => {\n const [contentKey, setContentKey] = useState(0);\n\n const showPanes = submenus.length > 0;\n const paneWidth = width || DEFAULT_PANE_WIDTH;\n\n useEffect(() => {\n if (!open) {\n setContentKey((key) => key + 1);\n }\n }, [open]);\n\n return (\n <StyledMenu\n $paned={showPanes}\n target={target}\n open={open}\n onOpen={onOpen}\n onClose={onClose}\n position={position}\n >\n <DrilldownMenuContent\n key={contentKey}\n width={width}\n submenus={submenus}\n backLabel={backLabel}\n >\n {(paneProps: IndexRenderProps) => (\n <>\n {header}\n <StyledIndexList\n className={listClassName}\n style={{ width: showPanes ? paneWidth : \"100%\" }}\n >\n {typeof children === \"function\" ? children(paneProps) : children}\n </StyledIndexList>\n </>\n )}\n </DrilldownMenuContent>\n </StyledMenu>\n );\n};\n\nDrilldownMenu.displayName = \"DrilldownMenu\";\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,121 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.INDEX_VIEW = exports.DrilldownMenuContent = exports.DEFAULT_PANE_WIDTH = void 0;
|
|
7
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
8
|
+
var _reactFocusLock = require("react-focus-lock");
|
|
9
|
+
var _MeasuredPane = require("./MeasuredPane");
|
|
10
|
+
var _SubmenuHeader = require("./SubmenuHeader");
|
|
11
|
+
var _Transitions = require("../Transitions");
|
|
12
|
+
function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function _interopRequireWildcard(e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (var _t in e) "default" !== _t && {}.hasOwnProperty.call(e, _t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, _t)) && (i.get || i.set) ? o(f, _t, i) : f[_t] = e[_t]); return f; })(e, t); }
|
|
13
|
+
function _slicedToArray(r, e) { return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest(); }
|
|
14
|
+
function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
|
15
|
+
function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }
|
|
16
|
+
function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
|
|
17
|
+
function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t.return && (u = t.return(), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
|
|
18
|
+
function _arrayWithHoles(r) { if (Array.isArray(r)) return r; }
|
|
19
|
+
var DEFAULT_PANE_WIDTH = exports.DEFAULT_PANE_WIDTH = 260;
|
|
20
|
+
var INDEX_VIEW = exports.INDEX_VIEW = "index";
|
|
21
|
+
var NO_SUBMENUS = [];
|
|
22
|
+
var DrilldownMenuContent = exports.DrilldownMenuContent = function DrilldownMenuContent(_ref) {
|
|
23
|
+
var width = _ref.width,
|
|
24
|
+
_ref$submenus = _ref.submenus,
|
|
25
|
+
submenus = _ref$submenus === void 0 ? NO_SUBMENUS : _ref$submenus,
|
|
26
|
+
backLabel = _ref.backLabel,
|
|
27
|
+
children = _ref.children;
|
|
28
|
+
var _useState = (0, _react.useState)(INDEX_VIEW),
|
|
29
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
30
|
+
view = _useState2[0],
|
|
31
|
+
setView = _useState2[1];
|
|
32
|
+
var _useState3 = (0, _react.useState)(true),
|
|
33
|
+
_useState4 = _slicedToArray(_useState3, 2),
|
|
34
|
+
isLeft = _useState4[0],
|
|
35
|
+
setIsLeft = _useState4[1];
|
|
36
|
+
var _useState5 = (0, _react.useState)(0),
|
|
37
|
+
_useState6 = _slicedToArray(_useState5, 2),
|
|
38
|
+
menuHeight = _useState6[0],
|
|
39
|
+
setMenuHeight = _useState6[1];
|
|
40
|
+
var _useState7 = (0, _react.useState)(INDEX_VIEW),
|
|
41
|
+
_useState8 = _slicedToArray(_useState7, 2),
|
|
42
|
+
enteredView = _useState8[0],
|
|
43
|
+
setEnteredView = _useState8[1];
|
|
44
|
+
var paneWidth = width || DEFAULT_PANE_WIDTH;
|
|
45
|
+
var handleHeight = (0, _react.useCallback)(function (element) {
|
|
46
|
+
return setMenuHeight(element.offsetHeight);
|
|
47
|
+
}, []);
|
|
48
|
+
var handleEnteredIndex = (0, _react.useCallback)(function () {
|
|
49
|
+
return setEnteredView(INDEX_VIEW);
|
|
50
|
+
}, []);
|
|
51
|
+
var openSubmenu = (0, _react.useCallback)(function (id) {
|
|
52
|
+
setView(id);
|
|
53
|
+
setIsLeft(true);
|
|
54
|
+
}, []);
|
|
55
|
+
var goToIndex = (0, _react.useCallback)(function () {
|
|
56
|
+
setView(INDEX_VIEW);
|
|
57
|
+
setIsLeft(false);
|
|
58
|
+
}, []);
|
|
59
|
+
var index = typeof children === "function" ? children({
|
|
60
|
+
openSubmenu
|
|
61
|
+
}) : children;
|
|
62
|
+
if (submenus.length === 0) {
|
|
63
|
+
return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, index);
|
|
64
|
+
}
|
|
65
|
+
return /*#__PURE__*/_react.default.createElement(_Transitions.ResizeTransition, {
|
|
66
|
+
in: true,
|
|
67
|
+
style: {
|
|
68
|
+
height: menuHeight || "auto",
|
|
69
|
+
width: paneWidth
|
|
70
|
+
}
|
|
71
|
+
}, /*#__PURE__*/_react.default.createElement("div", {
|
|
72
|
+
style: {
|
|
73
|
+
height: menuHeight || "auto",
|
|
74
|
+
width: paneWidth
|
|
75
|
+
}
|
|
76
|
+
}, /*#__PURE__*/_react.default.createElement(_Transitions.SlideLeftRightTransition, {
|
|
77
|
+
in: view === INDEX_VIEW,
|
|
78
|
+
appear: true,
|
|
79
|
+
direction: isLeft ? "left" : "right",
|
|
80
|
+
onEnter: handleHeight,
|
|
81
|
+
onEntered: handleEnteredIndex
|
|
82
|
+
}, /*#__PURE__*/_react.default.createElement(_reactFocusLock.MoveFocusInside, {
|
|
83
|
+
disabled: enteredView !== INDEX_VIEW
|
|
84
|
+
}, /*#__PURE__*/_react.default.createElement(_MeasuredPane.MeasuredPane, {
|
|
85
|
+
active: view === INDEX_VIEW,
|
|
86
|
+
onHeight: setMenuHeight
|
|
87
|
+
}, index))), submenus.map(function (submenu) {
|
|
88
|
+
var isEntered = enteredView === submenu.id;
|
|
89
|
+
var goBack = function goBack() {
|
|
90
|
+
var _submenu$onBack;
|
|
91
|
+
goToIndex();
|
|
92
|
+
(_submenu$onBack = submenu.onBack) === null || _submenu$onBack === void 0 || _submenu$onBack.call(submenu);
|
|
93
|
+
};
|
|
94
|
+
return /*#__PURE__*/_react.default.createElement(_Transitions.SlideLeftRightTransition, {
|
|
95
|
+
key: submenu.id,
|
|
96
|
+
in: view === submenu.id,
|
|
97
|
+
direction: isLeft ? "left" : "right",
|
|
98
|
+
onEnter: handleHeight,
|
|
99
|
+
onEntered: function onEntered() {
|
|
100
|
+
return setEnteredView(submenu.id);
|
|
101
|
+
}
|
|
102
|
+
}, /*#__PURE__*/_react.default.createElement(_reactFocusLock.MoveFocusInside, {
|
|
103
|
+
disabled: !isEntered
|
|
104
|
+
}, /*#__PURE__*/_react.default.createElement(_MeasuredPane.MeasuredPane, {
|
|
105
|
+
active: view === submenu.id,
|
|
106
|
+
onHeight: setMenuHeight,
|
|
107
|
+
style: {
|
|
108
|
+
width: paneWidth
|
|
109
|
+
}
|
|
110
|
+
}, submenu.title ? /*#__PURE__*/_react.default.createElement(_SubmenuHeader.SubmenuHeader, {
|
|
111
|
+
title: submenu.title,
|
|
112
|
+
onBack: goBack,
|
|
113
|
+
backLabel: backLabel
|
|
114
|
+
}) : null, typeof submenu.content === "function" ? submenu.content({
|
|
115
|
+
isEntered,
|
|
116
|
+
goBack
|
|
117
|
+
}) : submenu.content)));
|
|
118
|
+
})));
|
|
119
|
+
};
|
|
120
|
+
DrilldownMenuContent.displayName = "DrilldownMenuContent";
|
|
121
|
+
//# sourceMappingURL=DrilldownMenuContent.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DrilldownMenuContent.js","names":["_react","_interopRequireWildcard","require","_reactFocusLock","_MeasuredPane","_SubmenuHeader","_Transitions","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","_t","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","_slicedToArray","_arrayWithHoles","_iterableToArrayLimit","_unsupportedIterableToArray","_nonIterableRest","TypeError","a","_arrayLikeToArray","toString","slice","constructor","name","Array","from","test","length","l","Symbol","iterator","u","next","done","push","value","return","isArray","DEFAULT_PANE_WIDTH","exports","INDEX_VIEW","NO_SUBMENUS","DrilldownMenuContent","_ref","width","_ref$submenus","submenus","backLabel","children","_useState","useState","_useState2","view","setView","_useState3","_useState4","isLeft","setIsLeft","_useState5","_useState6","menuHeight","setMenuHeight","_useState7","_useState8","enteredView","setEnteredView","paneWidth","handleHeight","useCallback","element","offsetHeight","handleEnteredIndex","openSubmenu","id","goToIndex","index","createElement","Fragment","ResizeTransition","in","style","height","SlideLeftRightTransition","appear","direction","onEnter","onEntered","MoveFocusInside","disabled","MeasuredPane","active","onHeight","map","submenu","isEntered","goBack","_submenu$onBack","onBack","key","title","SubmenuHeader","content","displayName"],"sources":["../../../../src/components/DrilldownMenu/DrilldownMenuContent.tsx"],"sourcesContent":["import React, { ReactNode, useCallback, useState } from \"react\";\nimport { MoveFocusInside } from \"react-focus-lock\";\n\nimport { MeasuredPane } from \"./MeasuredPane\";\nimport { SubmenuHeader } from \"./SubmenuHeader\";\nimport { ResizeTransition, SlideLeftRightTransition } from \"../Transitions\";\n\nexport const DEFAULT_PANE_WIDTH = 260;\nexport const INDEX_VIEW = \"index\";\n\nconst NO_SUBMENUS: DrilldownSubmenu[] = [];\n\nexport interface SubmenuRenderProps {\n /** True once the pane has finished sliding in. Drive `focusInput` off it */\n isEntered: boolean;\n /** Slides back to the index list */\n goBack: () => void;\n}\n\nexport interface DrilldownSubmenu {\n /** Identifies the pane. `openSubmenu` takes this value */\n id: string;\n /** Draws a header with a back button. Leave it out for content that carries its own way back */\n title?: string;\n /** Pane body, or a function that receives the pane state */\n content: ReactNode | ((props: SubmenuRenderProps) => ReactNode);\n /** Runs next to the slide back, for caller state such as a discarded draft */\n onBack?: () => void;\n}\n\nexport interface IndexRenderProps {\n /** Slides to the pane with this id */\n openSubmenu: (id: string) => void;\n}\n\nexport interface DrilldownMenuContentProps {\n /** Width of every pane */\n width?: number | string;\n /** Panes the index list can slide to. An empty list renders the index alone */\n submenus?: DrilldownSubmenu[];\n /** Accessible label of the back button in every pane header */\n backLabel?: string;\n /** Index list, or a function that receives `openSubmenu` */\n children?: ReactNode | ((props: IndexRenderProps) => ReactNode);\n}\n\nexport const DrilldownMenuContent = ({\n width,\n submenus = NO_SUBMENUS,\n backLabel,\n children,\n}: DrilldownMenuContentProps): JSX.Element => {\n const [view, setView] = useState<string>(INDEX_VIEW);\n const [isLeft, setIsLeft] = useState(true);\n const [menuHeight, setMenuHeight] = useState(0);\n const [enteredView, setEnteredView] = useState<string>(INDEX_VIEW);\n\n const paneWidth = width || DEFAULT_PANE_WIDTH;\n\n const handleHeight = useCallback(\n (element: HTMLElement) => setMenuHeight(element.offsetHeight),\n []\n );\n const handleEnteredIndex = useCallback(() => setEnteredView(INDEX_VIEW), []);\n\n const openSubmenu = useCallback((id: string) => {\n setView(id);\n setIsLeft(true);\n }, []);\n\n const goToIndex = useCallback(() => {\n setView(INDEX_VIEW);\n setIsLeft(false);\n }, []);\n\n const index =\n typeof children === \"function\" ? children({ openSubmenu }) : children;\n\n if (submenus.length === 0) {\n return <>{index}</>;\n }\n\n return (\n <ResizeTransition\n in\n style={{ height: menuHeight || \"auto\", width: paneWidth }}\n >\n <div style={{ height: menuHeight || \"auto\", width: paneWidth }}>\n <SlideLeftRightTransition\n in={view === INDEX_VIEW}\n appear\n direction={isLeft ? \"left\" : \"right\"}\n onEnter={handleHeight}\n onEntered={handleEnteredIndex}\n >\n <MoveFocusInside disabled={enteredView !== INDEX_VIEW}>\n <MeasuredPane active={view === INDEX_VIEW} onHeight={setMenuHeight}>\n {index}\n </MeasuredPane>\n </MoveFocusInside>\n </SlideLeftRightTransition>\n {submenus.map((submenu) => {\n const isEntered = enteredView === submenu.id;\n\n const goBack = () => {\n goToIndex();\n submenu.onBack?.();\n };\n\n return (\n <SlideLeftRightTransition\n key={submenu.id}\n in={view === submenu.id}\n direction={isLeft ? \"left\" : \"right\"}\n onEnter={handleHeight}\n onEntered={() => setEnteredView(submenu.id)}\n >\n <MoveFocusInside disabled={!isEntered}>\n <MeasuredPane\n active={view === submenu.id}\n onHeight={setMenuHeight}\n style={{ width: paneWidth }}\n >\n {submenu.title ? (\n <SubmenuHeader\n title={submenu.title}\n onBack={goBack}\n backLabel={backLabel}\n />\n ) : null}\n {typeof submenu.content === \"function\"\n ? submenu.content({ isEntered, goBack })\n : submenu.content}\n </MeasuredPane>\n </MoveFocusInside>\n </SlideLeftRightTransition>\n );\n })}\n </div>\n </ResizeTransition>\n );\n};\n\nDrilldownMenuContent.displayName = \"DrilldownMenuContent\";\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.MeasuredPane = void 0;
|
|
7
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
8
|
+
var _resizeObserverPolyfill = _interopRequireDefault(require("resize-observer-polyfill"));
|
|
9
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
10
|
+
function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function _interopRequireWildcard(e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (var _t in e) "default" !== _t && {}.hasOwnProperty.call(e, _t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, _t)) && (i.get || i.set) ? o(f, _t, i) : f[_t] = e[_t]); return f; })(e, t); }
|
|
11
|
+
function _slicedToArray(r, e) { return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest(); }
|
|
12
|
+
function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
|
13
|
+
function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }
|
|
14
|
+
function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
|
|
15
|
+
function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t.return && (u = t.return(), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
|
|
16
|
+
function _arrayWithHoles(r) { if (Array.isArray(r)) return r; }
|
|
17
|
+
var MeasuredPane = exports.MeasuredPane = function MeasuredPane(_ref) {
|
|
18
|
+
var active = _ref.active,
|
|
19
|
+
onHeight = _ref.onHeight,
|
|
20
|
+
style = _ref.style,
|
|
21
|
+
children = _ref.children;
|
|
22
|
+
var _useState = (0, _react.useState)(null),
|
|
23
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
24
|
+
node = _useState2[0],
|
|
25
|
+
setNode = _useState2[1];
|
|
26
|
+
var reported = (0, _react.useRef)(0);
|
|
27
|
+
(0, _react.useEffect)(function () {
|
|
28
|
+
if (!active || !node) {
|
|
29
|
+
return undefined;
|
|
30
|
+
}
|
|
31
|
+
reported.current = 0;
|
|
32
|
+
var frame = 0;
|
|
33
|
+
|
|
34
|
+
// The reported height lands on an ancestor of the measured element, so a
|
|
35
|
+
// shrink can hand the observer back a taller box and loop forever. While a
|
|
36
|
+
// pane stays open the height only grows, and every slide starts over.
|
|
37
|
+
var observer = new _resizeObserverPolyfill.default(function (entries) {
|
|
38
|
+
var _entries$;
|
|
39
|
+
var height = Math.round(((_entries$ = entries[0]) === null || _entries$ === void 0 || (_entries$ = _entries$.contentRect) === null || _entries$ === void 0 ? void 0 : _entries$.height) || 0);
|
|
40
|
+
if (height <= reported.current) {
|
|
41
|
+
return;
|
|
42
|
+
}
|
|
43
|
+
reported.current = height;
|
|
44
|
+
cancelAnimationFrame(frame);
|
|
45
|
+
frame = requestAnimationFrame(function () {
|
|
46
|
+
return onHeight(height);
|
|
47
|
+
});
|
|
48
|
+
});
|
|
49
|
+
observer.observe(node);
|
|
50
|
+
return function () {
|
|
51
|
+
cancelAnimationFrame(frame);
|
|
52
|
+
observer.disconnect();
|
|
53
|
+
};
|
|
54
|
+
}, [active, node, onHeight]);
|
|
55
|
+
return /*#__PURE__*/_react.default.createElement("div", {
|
|
56
|
+
ref: setNode,
|
|
57
|
+
style: style
|
|
58
|
+
}, children);
|
|
59
|
+
};
|
|
60
|
+
MeasuredPane.displayName = "MeasuredPane";
|
|
61
|
+
//# sourceMappingURL=MeasuredPane.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MeasuredPane.js","names":["_react","_interopRequireWildcard","require","_resizeObserverPolyfill","_interopRequireDefault","e","__esModule","default","t","WeakMap","r","n","o","i","f","__proto__","has","get","set","_t","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","_slicedToArray","_arrayWithHoles","_iterableToArrayLimit","_unsupportedIterableToArray","_nonIterableRest","TypeError","a","_arrayLikeToArray","toString","slice","constructor","name","Array","from","test","length","l","Symbol","iterator","u","next","done","push","value","return","isArray","MeasuredPane","exports","_ref","active","onHeight","style","children","_useState","useState","_useState2","node","setNode","reported","useRef","useEffect","undefined","current","frame","observer","ResizeObserver","entries","_entries$","height","Math","round","contentRect","cancelAnimationFrame","requestAnimationFrame","observe","disconnect","createElement","ref","displayName"],"sources":["../../../../src/components/DrilldownMenu/MeasuredPane.tsx"],"sourcesContent":["import React, {\n CSSProperties,\n FC,\n PropsWithChildren,\n useEffect,\n useRef,\n useState,\n} from \"react\";\n\nimport ResizeObserver from \"resize-observer-polyfill\";\n\nexport interface MeasuredPaneProps {\n /** Reports height only while the pane is the visible one */\n active: boolean;\n /** Receives the measured height, in pixels */\n onHeight: (height: number) => void;\n style?: CSSProperties;\n}\n\nexport const MeasuredPane: FC<PropsWithChildren<MeasuredPaneProps>> = ({\n active,\n onHeight,\n style,\n children,\n}) => {\n const [node, setNode] = useState<HTMLDivElement | null>(null);\n const reported = useRef(0);\n\n useEffect(() => {\n if (!active || !node) {\n return undefined;\n }\n\n reported.current = 0;\n\n let frame = 0;\n\n // The reported height lands on an ancestor of the measured element, so a\n // shrink can hand the observer back a taller box and loop forever. While a\n // pane stays open the height only grows, and every slide starts over.\n const observer = new ResizeObserver((entries) => {\n const height = Math.round(entries[0]?.contentRect?.height || 0);\n\n if (height <= reported.current) {\n return;\n }\n\n reported.current = height;\n\n cancelAnimationFrame(frame);\n frame = requestAnimationFrame(() => onHeight(height));\n });\n\n observer.observe(node);\n\n return () => {\n cancelAnimationFrame(frame);\n observer.disconnect();\n };\n }, [active, node, onHeight]);\n\n return (\n <div ref={setNode} style={style}>\n {children}\n </div>\n );\n};\n\nMeasuredPane.displayName = \"MeasuredPane\";\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.StyledMenu = exports.StyledIndexList = void 0;
|
|
7
|
+
var _styledComponents = _interopRequireDefault(require("styled-components"));
|
|
8
|
+
var _List = require("../List");
|
|
9
|
+
var _Menu = require("../Menu");
|
|
10
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
11
|
+
var StyledMenu = exports.StyledMenu = (0, _styledComponents.default)(_Menu.Menu).withConfig({
|
|
12
|
+
displayName: "Styles__StyledMenu",
|
|
13
|
+
componentId: "sc-15ei9o0-0"
|
|
14
|
+
})(["", ""], function (_ref) {
|
|
15
|
+
var $paned = _ref.$paned;
|
|
16
|
+
return $paned && {
|
|
17
|
+
"position": "relative",
|
|
18
|
+
"overflow": "hidden"
|
|
19
|
+
};
|
|
20
|
+
});
|
|
21
|
+
var StyledIndexList = exports.StyledIndexList = (0, _styledComponents.default)(_List.List).withConfig({
|
|
22
|
+
displayName: "Styles__StyledIndexList",
|
|
23
|
+
componentId: "sc-15ei9o0-1"
|
|
24
|
+
})(["", ""], {
|
|
25
|
+
"paddingTop": "0.5rem",
|
|
26
|
+
"paddingBottom": "0.5rem"
|
|
27
|
+
});
|
|
28
|
+
StyledMenu.displayName = "StyledDrilldownMenu";
|
|
29
|
+
StyledIndexList.displayName = "StyledDrilldownIndexList";
|
|
30
|
+
//# sourceMappingURL=Styles.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Styles.js","names":["_styledComponents","_interopRequireDefault","require","_List","_Menu","e","__esModule","default","StyledMenu","exports","styled","Menu","withConfig","displayName","componentId","_ref","$paned","StyledIndexList","List"],"sources":["../../../../src/components/DrilldownMenu/Styles.ts"],"sourcesContent":["import styled from \"styled-components\";\nimport tw from \"twin.macro\";\n\nimport { List, ListProps } from \"../List\";\nimport { Menu, IMenu } from \"../Menu\";\n\nexport const StyledMenu = styled(Menu)<IMenu & { $paned?: boolean }>`\n ${({ $paned }) => $paned && tw`tw-relative tw-overflow-hidden`}\n`;\n\nexport const StyledIndexList = styled(List)<ListProps>`\n ${tw`tw-py-2`}\n`;\n\nStyledMenu.displayName = \"StyledDrilldownMenu\";\nStyledIndexList.displayName = \"StyledDrilldownIndexList\";\n"],"mappings":";;;;;;AAAA,IAAAA,iBAAA,GAAAC,sBAAA,CAAAC,OAAA;AAGA,IAAAC,KAAA,GAAAD,OAAA;AACA,IAAAE,KAAA,GAAAF,OAAA;AAAsC,SAAAD,uBAAAI,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAE/B,IAAMG,UAAU,GAAAC,OAAA,CAAAD,UAAA,GAAG,IAAAE,yBAAM,EAACC,UAAI,CAAC,CAAAC,UAAA;EAAAC,WAAA;EAAAC,WAAA;AAAA,aAClC,UAAAC,IAAA;EAAA,IAAGC,MAAM,GAAAD,IAAA,CAANC,MAAM;EAAA,OAAOA,MAAM,IAAM;IAAA;IAAA;EAA+B,CAAC;AAAA,EAC/D;AAEM,IAAMC,eAAe,GAAAR,OAAA,CAAAQ,eAAA,GAAG,IAAAP,yBAAM,EAACQ,UAAI,CAAC,CAAAN,UAAA;EAAAC,WAAA;EAAAC,WAAA;AAAA,aACrC;EAAA;EAAA;AAAQ,CAAC,CACd;AAEDN,UAAU,CAACK,WAAW,GAAG,qBAAqB;AAC9CI,eAAe,CAACJ,WAAW,GAAG,0BAA0B","ignoreList":[]}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.SubmenuHeader = void 0;
|
|
7
|
+
var _react = _interopRequireDefault(require("react"));
|
|
8
|
+
var _IconButton = require("../IconButton");
|
|
9
|
+
var _Icons = require("../Icons");
|
|
10
|
+
var _Menu = require("../Menu");
|
|
11
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
12
|
+
var SubmenuHeader = exports.SubmenuHeader = function SubmenuHeader(_ref) {
|
|
13
|
+
var title = _ref.title,
|
|
14
|
+
onBack = _ref.onBack,
|
|
15
|
+
_ref$backLabel = _ref.backLabel,
|
|
16
|
+
backLabel = _ref$backLabel === void 0 ? "Back" : _ref$backLabel;
|
|
17
|
+
return /*#__PURE__*/_react.default.createElement(_Menu.MenuHeader, {
|
|
18
|
+
title: title,
|
|
19
|
+
leftElement: onBack ? /*#__PURE__*/_react.default.createElement(_IconButton.IconButton, {
|
|
20
|
+
variant: "text gray",
|
|
21
|
+
size: "small",
|
|
22
|
+
onClick: onBack,
|
|
23
|
+
"aria-label": backLabel
|
|
24
|
+
}, /*#__PURE__*/_react.default.createElement(_Icons.ArrowLeftIcon, null)) : null
|
|
25
|
+
});
|
|
26
|
+
};
|
|
27
|
+
SubmenuHeader.displayName = "SubmenuHeader";
|
|
28
|
+
//# sourceMappingURL=SubmenuHeader.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SubmenuHeader.js","names":["_react","_interopRequireDefault","require","_IconButton","_Icons","_Menu","e","__esModule","default","SubmenuHeader","exports","_ref","title","onBack","_ref$backLabel","backLabel","createElement","MenuHeader","leftElement","IconButton","variant","size","onClick","ArrowLeftIcon","displayName"],"sources":["../../../../src/components/DrilldownMenu/SubmenuHeader.tsx"],"sourcesContent":["import React, { FC } from \"react\";\n\nimport { IconButton } from \"../IconButton\";\nimport { ArrowLeftIcon } from \"../Icons\";\nimport { MenuHeader } from \"../Menu\";\n\nexport interface SubmenuHeaderProps {\n /** Title of the pane */\n title: string;\n /** Leaves the pane. Without it the header carries no back button */\n onBack?: () => void;\n /** Accessible label of the back button */\n backLabel?: string;\n}\n\nexport const SubmenuHeader: FC<SubmenuHeaderProps> = ({\n title,\n onBack,\n backLabel = \"Back\",\n}) => (\n <MenuHeader\n title={title}\n leftElement={\n onBack ? (\n <IconButton\n variant=\"text gray\"\n size=\"small\"\n onClick={onBack}\n aria-label={backLabel}\n >\n <ArrowLeftIcon />\n </IconButton>\n ) : null\n }\n />\n);\n\nSubmenuHeader.displayName = \"SubmenuHeader\";\n"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AAEA,IAAAC,WAAA,GAAAD,OAAA;AACA,IAAAE,MAAA,GAAAF,OAAA;AACA,IAAAG,KAAA,GAAAH,OAAA;AAAqC,SAAAD,uBAAAK,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAW9B,IAAMG,aAAqC,GAAAC,OAAA,CAAAD,aAAA,GAAG,SAAxCA,aAAqCA,CAAAE,IAAA;EAAA,IAChDC,KAAK,GAAAD,IAAA,CAALC,KAAK;IACLC,MAAM,GAAAF,IAAA,CAANE,MAAM;IAAAC,cAAA,GAAAH,IAAA,CACNI,SAAS;IAATA,SAAS,GAAAD,cAAA,cAAG,MAAM,GAAAA,cAAA;EAAA,oBAElBd,MAAA,CAAAQ,OAAA,CAAAQ,aAAA,CAACX,KAAA,CAAAY,UAAU;IACTL,KAAK,EAAEA,KAAM;IACbM,WAAW,EACTL,MAAM,gBACJb,MAAA,CAAAQ,OAAA,CAAAQ,aAAA,CAACb,WAAA,CAAAgB,UAAU;MACTC,OAAO,EAAC,WAAW;MACnBC,IAAI,EAAC,OAAO;MACZC,OAAO,EAAET,MAAO;MAChB,cAAYE;IAAU,gBAEtBf,MAAA,CAAAQ,OAAA,CAAAQ,aAAA,CAACZ,MAAA,CAAAmB,aAAa,MAAE,CACN,CAAC,GACX;EACL,CACF,CAAC;AAAA,CACH;AAEDd,aAAa,CAACe,WAAW,GAAG,eAAe","ignoreList":[]}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
var _DrilldownMenu = require("./DrilldownMenu");
|
|
7
|
+
Object.keys(_DrilldownMenu).forEach(function (key) {
|
|
8
|
+
if (key === "default" || key === "__esModule") return;
|
|
9
|
+
if (key in exports && exports[key] === _DrilldownMenu[key]) return;
|
|
10
|
+
Object.defineProperty(exports, key, {
|
|
11
|
+
enumerable: true,
|
|
12
|
+
get: function get() {
|
|
13
|
+
return _DrilldownMenu[key];
|
|
14
|
+
}
|
|
15
|
+
});
|
|
16
|
+
});
|
|
17
|
+
var _DrilldownMenuContent = require("./DrilldownMenuContent");
|
|
18
|
+
Object.keys(_DrilldownMenuContent).forEach(function (key) {
|
|
19
|
+
if (key === "default" || key === "__esModule") return;
|
|
20
|
+
if (key in exports && exports[key] === _DrilldownMenuContent[key]) return;
|
|
21
|
+
Object.defineProperty(exports, key, {
|
|
22
|
+
enumerable: true,
|
|
23
|
+
get: function get() {
|
|
24
|
+
return _DrilldownMenuContent[key];
|
|
25
|
+
}
|
|
26
|
+
});
|
|
27
|
+
});
|
|
28
|
+
var _MeasuredPane = require("./MeasuredPane");
|
|
29
|
+
Object.keys(_MeasuredPane).forEach(function (key) {
|
|
30
|
+
if (key === "default" || key === "__esModule") return;
|
|
31
|
+
if (key in exports && exports[key] === _MeasuredPane[key]) return;
|
|
32
|
+
Object.defineProperty(exports, key, {
|
|
33
|
+
enumerable: true,
|
|
34
|
+
get: function get() {
|
|
35
|
+
return _MeasuredPane[key];
|
|
36
|
+
}
|
|
37
|
+
});
|
|
38
|
+
});
|
|
39
|
+
var _SubmenuHeader = require("./SubmenuHeader");
|
|
40
|
+
Object.keys(_SubmenuHeader).forEach(function (key) {
|
|
41
|
+
if (key === "default" || key === "__esModule") return;
|
|
42
|
+
if (key in exports && exports[key] === _SubmenuHeader[key]) return;
|
|
43
|
+
Object.defineProperty(exports, key, {
|
|
44
|
+
enumerable: true,
|
|
45
|
+
get: function get() {
|
|
46
|
+
return _SubmenuHeader[key];
|
|
47
|
+
}
|
|
48
|
+
});
|
|
49
|
+
});
|
|
50
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","names":["_DrilldownMenu","require","Object","keys","forEach","key","exports","defineProperty","enumerable","get","_DrilldownMenuContent","_MeasuredPane","_SubmenuHeader"],"sources":["../../../../src/components/DrilldownMenu/index.ts"],"sourcesContent":["export * from \"./DrilldownMenu\";\nexport * from \"./DrilldownMenuContent\";\nexport * from \"./MeasuredPane\";\nexport * from \"./SubmenuHeader\";\n"],"mappings":";;;;;AAAA,IAAAA,cAAA,GAAAC,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAH,cAAA,EAAAI,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAL,cAAA,CAAAK,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,IAAA;MAAA,OAAAT,cAAA,CAAAK,GAAA;IAAA;EAAA;AAAA;AACA,IAAAK,qBAAA,GAAAT,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAO,qBAAA,EAAAN,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAK,qBAAA,CAAAL,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,IAAA;MAAA,OAAAC,qBAAA,CAAAL,GAAA;IAAA;EAAA;AAAA;AACA,IAAAM,aAAA,GAAAV,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAQ,aAAA,EAAAP,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAM,aAAA,CAAAN,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,IAAA;MAAA,OAAAE,aAAA,CAAAN,GAAA;IAAA;EAAA;AAAA;AACA,IAAAO,cAAA,GAAAX,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAS,cAAA,EAAAR,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAO,cAAA,CAAAP,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,IAAA;MAAA,OAAAG,cAAA,CAAAP,GAAA;IAAA;EAAA;AAAA","ignoreList":[]}
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.RadioCard = void 0;
|
|
7
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
8
|
+
var _classnames = _interopRequireDefault(require("classnames"));
|
|
9
|
+
var _Styles = require("./Styles");
|
|
10
|
+
var _useStableId = _interopRequireDefault(require("../../utils/useStableId"));
|
|
11
|
+
var _RadioButton = _interopRequireDefault(require("../Icons/collection/RadioButton"));
|
|
12
|
+
var _Typography = require("../Typography/Typography");
|
|
13
|
+
var _excluded = ["title", "description", "icon", "variant", "invalid", "className", "id", "checked", "disabled"];
|
|
14
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
15
|
+
function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function _interopRequireWildcard(e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (var _t in e) "default" !== _t && {}.hasOwnProperty.call(e, _t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, _t)) && (i.get || i.set) ? o(f, _t, i) : f[_t] = e[_t]); return f; })(e, t); }
|
|
16
|
+
function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }
|
|
17
|
+
function _objectWithoutProperties(e, t) { if (null == e) return {}; var o, r, i = _objectWithoutPropertiesLoose(e, t); if (Object.getOwnPropertySymbols) { var n = Object.getOwnPropertySymbols(e); for (r = 0; r < n.length; r++) o = n[r], -1 === t.indexOf(o) && {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]); } return i; }
|
|
18
|
+
function _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t = {}; for (var n in r) if ({}.hasOwnProperty.call(r, n)) { if (-1 !== e.indexOf(n)) continue; t[n] = r[n]; } return t; }
|
|
19
|
+
/**
|
|
20
|
+
* A single radio option that owns a real, reachable native `<input type="radio">`.
|
|
21
|
+
* The whole card is one `<label>`, so clicking the title or description selects
|
|
22
|
+
* the option. Meant to be composed by `RadioGroup`.
|
|
23
|
+
*/
|
|
24
|
+
var RadioCard = exports.RadioCard = /*#__PURE__*/(0, _react.forwardRef)(function (_ref, ref) {
|
|
25
|
+
var title = _ref.title,
|
|
26
|
+
description = _ref.description,
|
|
27
|
+
icon = _ref.icon,
|
|
28
|
+
_ref$variant = _ref.variant,
|
|
29
|
+
variant = _ref$variant === void 0 ? "plain" : _ref$variant,
|
|
30
|
+
_ref$invalid = _ref.invalid,
|
|
31
|
+
invalid = _ref$invalid === void 0 ? false : _ref$invalid,
|
|
32
|
+
className = _ref.className,
|
|
33
|
+
id = _ref.id,
|
|
34
|
+
checked = _ref.checked,
|
|
35
|
+
disabled = _ref.disabled,
|
|
36
|
+
props = _objectWithoutProperties(_ref, _excluded);
|
|
37
|
+
var inputId = (0, _useStableId.default)(id);
|
|
38
|
+
var descriptionId = description ? "".concat(inputId, "-desc") : undefined;
|
|
39
|
+
var isInvalid = invalid && !checked;
|
|
40
|
+
return /*#__PURE__*/_react.default.createElement(_Styles.StyledRadioCard, {
|
|
41
|
+
className: (0, _classnames.default)("c-radio-card", className),
|
|
42
|
+
htmlFor: inputId,
|
|
43
|
+
$variant: variant,
|
|
44
|
+
$checked: !!checked,
|
|
45
|
+
$invalid: isInvalid,
|
|
46
|
+
$disabled: !!disabled,
|
|
47
|
+
$hasIcon: !!icon
|
|
48
|
+
}, /*#__PURE__*/_react.default.createElement(_Styles.StyledInput, _extends({
|
|
49
|
+
id: inputId,
|
|
50
|
+
className: "c-radio-card--input",
|
|
51
|
+
type: "radio",
|
|
52
|
+
ref: ref,
|
|
53
|
+
checked: checked,
|
|
54
|
+
disabled: disabled,
|
|
55
|
+
"aria-describedby": descriptionId,
|
|
56
|
+
"aria-invalid": isInvalid || undefined
|
|
57
|
+
}, props)), /*#__PURE__*/_react.default.createElement("span", {
|
|
58
|
+
className: "c-radio-card--indicator",
|
|
59
|
+
"aria-hidden": "true"
|
|
60
|
+
}, /*#__PURE__*/_react.default.createElement(_RadioButton.default, {
|
|
61
|
+
width: "16",
|
|
62
|
+
height: "16"
|
|
63
|
+
})), icon ? /*#__PURE__*/_react.default.createElement("span", {
|
|
64
|
+
className: "c-radio-card--icon",
|
|
65
|
+
"aria-hidden": "true"
|
|
66
|
+
}, icon) : null, /*#__PURE__*/_react.default.createElement("span", {
|
|
67
|
+
className: "c-radio-card--text"
|
|
68
|
+
}, /*#__PURE__*/_react.default.createElement(_Typography.Typography, {
|
|
69
|
+
as: "span",
|
|
70
|
+
variant: "Body 2",
|
|
71
|
+
className: "c-radio-card--title"
|
|
72
|
+
}, title), description ? /*#__PURE__*/_react.default.createElement(_Typography.Typography, {
|
|
73
|
+
as: "span",
|
|
74
|
+
variant: "Caption 1",
|
|
75
|
+
color: "secondary",
|
|
76
|
+
id: descriptionId,
|
|
77
|
+
className: "c-radio-card--description"
|
|
78
|
+
}, description) : null));
|
|
79
|
+
});
|
|
80
|
+
RadioCard.displayName = "RadioCard";
|
|
81
|
+
//# sourceMappingURL=RadioCard.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"RadioCard.js","names":["_react","_interopRequireWildcard","require","_classnames","_interopRequireDefault","_Styles","_useStableId","_RadioButton","_Typography","_excluded","e","__esModule","default","t","WeakMap","r","n","o","i","f","__proto__","has","get","set","_t","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","_extends","assign","bind","arguments","length","apply","_objectWithoutProperties","_objectWithoutPropertiesLoose","getOwnPropertySymbols","indexOf","propertyIsEnumerable","RadioCard","exports","forwardRef","_ref","ref","title","description","icon","_ref$variant","variant","_ref$invalid","invalid","className","id","checked","disabled","props","inputId","useStableId","descriptionId","concat","undefined","isInvalid","createElement","StyledRadioCard","classnames","htmlFor","$variant","$checked","$invalid","$disabled","$hasIcon","StyledInput","type","width","height","Typography","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,39 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.StyledRadioCard = exports.StyledInput = void 0;
|
|
7
|
+
var _styledComponents = _interopRequireWildcard(require("styled-components"));
|
|
8
|
+
var _BoxSizingStyle = require("../BoxSizingStyle");
|
|
9
|
+
function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function _interopRequireWildcard(e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (var _t in e) "default" !== _t && {}.hasOwnProperty.call(e, _t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, _t)) && (i.get || i.set) ? o(f, _t, i) : f[_t] = e[_t]); return f; })(e, t); }
|
|
10
|
+
/**
|
|
11
|
+
* Selected-state ring for the card variant. A shared, exported `SELECTION_RING`
|
|
12
|
+
* token does not exist yet (`StackedCard/Styles.ts` keeps its own as a private
|
|
13
|
+
* const), so we keep a local one here. Promotion to a shared token is tracked
|
|
14
|
+
* in #461359.
|
|
15
|
+
*/
|
|
16
|
+
var SELECTION_RING = "var(--color-primary-500)";
|
|
17
|
+
|
|
18
|
+
/**
|
|
19
|
+
* Real, focusable native radio, visually hidden with the sr-only idiom (copied
|
|
20
|
+
* from `Checkbox/Styles.ts`). Never `display: none` / `visibility: hidden`, so
|
|
21
|
+
* it stays in the tab order and in the accessibility tree.
|
|
22
|
+
*/
|
|
23
|
+
var StyledInput = exports.StyledInput = _styledComponents.default.input.withConfig({
|
|
24
|
+
displayName: "Styles__StyledInput",
|
|
25
|
+
componentId: "sc-vi6l2r-0"
|
|
26
|
+
})(["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;"]);
|
|
27
|
+
StyledInput.displayName = "RadioCardInput";
|
|
28
|
+
var StyledRadioCard = exports.StyledRadioCard = _styledComponents.default.label.withConfig({
|
|
29
|
+
displayName: "Styles__StyledRadioCard",
|
|
30
|
+
componentId: "sc-vi6l2r-1"
|
|
31
|
+
})(["", " 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.BoxSizingStyle, function (props) {
|
|
32
|
+
return props.$hasIcon && (0, _styledComponents.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;}"]);
|
|
33
|
+
}, StyledInput, StyledInput, function (props) {
|
|
34
|
+
return props.$variant === "card" && (0, _styledComponents.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 && (0, _styledComponents.css)(["border-color:", ";box-shadow:0 0 0 1px ", ";&:hover{border-color:", ";}"], SELECTION_RING, SELECTION_RING, SELECTION_RING), props.$invalid && (0, _styledComponents.css)(["border-color:var(--red-alert);&:hover{border-color:var(--red-alert);}"]));
|
|
35
|
+
}, function (props) {
|
|
36
|
+
return props.$disabled && (0, _styledComponents.css)(["opacity:0.5;cursor:not-allowed;.c-radio-card--indicator svg,.c-radio-card--icon svg{cursor:not-allowed;}"]);
|
|
37
|
+
});
|
|
38
|
+
StyledRadioCard.displayName = "StyledRadioCard";
|
|
39
|
+
//# sourceMappingURL=Styles.js.map
|