@1money/component-ui 0.1.18 → 0.1.20
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/es/components/Icons/Icons.d.ts +2 -0
- package/es/components/Icons/Icons.js +4 -2
- package/es/components/Icons/SVGs.d.ts +4 -0
- package/es/components/Icons/SVGs.js +26 -1
- package/es/components/Navigation/Navigation.d.ts +8 -3
- package/es/components/Navigation/Navigation.js +74 -42
- package/es/components/Navigation/context.d.ts +12 -0
- package/es/components/Navigation/context.js +17 -0
- package/es/components/Navigation/interface.d.ts +4 -1
- package/es/index.css +1 -1
- package/es/index.d.ts +1 -1
- package/es/index.js +1 -1
- package/lib/components/Icons/Icons.d.ts +2 -0
- package/lib/components/Icons/Icons.js +3 -1
- package/lib/components/Icons/SVGs.d.ts +4 -0
- package/lib/components/Icons/SVGs.js +28 -3
- package/lib/components/Navigation/Navigation.d.ts +8 -3
- package/lib/components/Navigation/Navigation.js +73 -41
- package/lib/components/Navigation/context.d.ts +12 -0
- package/lib/components/Navigation/context.js +22 -0
- package/lib/components/Navigation/interface.d.ts +4 -1
- package/lib/index.css +1 -1
- package/lib/index.d.ts +1 -1
- package/lib/index.js +1 -1
- package/package.json +1 -1
- package/scripts/mcp-server/examples.generated.json +30 -18
- package/scripts/mcp-server/index.generated.json +64 -7
|
@@ -1,5 +1,10 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { FC } from 'react';
|
|
2
|
+
import type { NavigationProps, NavigationItemProps, NavigationHandlers } from './interface';
|
|
2
3
|
import './style';
|
|
3
|
-
export declare const Navigation: import("react").ForwardRefExoticComponent<Omit<NavigationProps, "ref"> & import("react").RefAttributes<NavigationHandlers
|
|
4
|
-
|
|
4
|
+
export declare const Navigation: import("react").ForwardRefExoticComponent<Omit<NavigationProps, "ref"> & import("react").RefAttributes<NavigationHandlers>> & {
|
|
5
|
+
Item: FC<NavigationItemProps>;
|
|
6
|
+
};
|
|
7
|
+
declare const _default: import("react").NamedExoticComponent<Omit<NavigationProps, "ref"> & import("react").RefAttributes<NavigationHandlers>> & {
|
|
8
|
+
Item: FC<NavigationItemProps>;
|
|
9
|
+
};
|
|
5
10
|
export default _default;
|
|
@@ -18,6 +18,7 @@ var _Icons = require("../Icons");
|
|
|
18
18
|
var _Typography = require("../Typography");
|
|
19
19
|
var _Trigger = require("../Trigger");
|
|
20
20
|
var _NavigationLogo = _interopRequireDefault(require("./NavigationLogo"));
|
|
21
|
+
var _context = require("./context");
|
|
21
22
|
require("./style");
|
|
22
23
|
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); }
|
|
23
24
|
var __rest = void 0 && (void 0).__rest || function (s, e) {
|
|
@@ -34,7 +35,7 @@ var COLLAPSE_ICON_SIZE = 16;
|
|
|
34
35
|
var isIconName = function isIconName(icon) {
|
|
35
36
|
return typeof icon === 'string';
|
|
36
37
|
};
|
|
37
|
-
var
|
|
38
|
+
var NavigationBase = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
|
|
38
39
|
var _props$className = props.className,
|
|
39
40
|
className = _props$className === void 0 ? '' : _props$className,
|
|
40
41
|
_props$prefixCls = props.prefixCls,
|
|
@@ -72,48 +73,57 @@ var Navigation = exports.Navigation = /*#__PURE__*/(0, _react.forwardRef)(functi
|
|
|
72
73
|
var handleToggleCollapse = (0, _useEventCallback["default"])(function () {
|
|
73
74
|
handleCollapse(!collapsed);
|
|
74
75
|
});
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
children: selector
|
|
87
|
-
}), (0, _jsxRuntime.jsxs)("div", {
|
|
88
|
-
className: classes('nav'),
|
|
76
|
+
var contextValue = (0, _react.useMemo)(function () {
|
|
77
|
+
return {
|
|
78
|
+
prefixCls: prefixCls,
|
|
79
|
+
collapsed: collapsed
|
|
80
|
+
};
|
|
81
|
+
}, [prefixCls, collapsed]);
|
|
82
|
+
return (0, _jsxRuntime.jsx)(_context.NavigationContext.Provider, {
|
|
83
|
+
value: contextValue,
|
|
84
|
+
children: (0, _jsxRuntime.jsxs)("nav", Object.assign({
|
|
85
|
+
className: classes(void 0, (0, _classnames.joinCls)(collapsed && classes('collapsed'), className))
|
|
86
|
+
}, rest, {
|
|
89
87
|
children: [(0, _jsxRuntime.jsx)("div", {
|
|
90
|
-
className: classes('
|
|
91
|
-
children:
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
var _a;
|
|
95
|
-
return (0, _jsxRuntime.jsx)(NavigationMenuItem, {
|
|
96
|
-
item: item,
|
|
97
|
-
prefixCls: prefixCls,
|
|
98
|
-
collapsed: collapsed
|
|
99
|
-
}, (_a = item.key) !== null && _a !== void 0 ? _a : index);
|
|
100
|
-
})
|
|
101
|
-
}), collapsible && (0, _jsxRuntime.jsx)("button", {
|
|
102
|
-
className: classes('collapse-toggle'),
|
|
103
|
-
onClick: handleToggleCollapse,
|
|
104
|
-
type: "button",
|
|
105
|
-
children: (0, _jsxRuntime.jsx)(_Icons.Icons, {
|
|
106
|
-
name: collapsed ? 'extend' : 'collapse',
|
|
107
|
-
size: COLLAPSE_ICON_SIZE
|
|
88
|
+
className: classes('header'),
|
|
89
|
+
children: header !== undefined ? header : (0, _jsxRuntime.jsx)(_NavigationLogo["default"], {
|
|
90
|
+
collapsed: collapsed,
|
|
91
|
+
onClick: onLogoClick
|
|
108
92
|
})
|
|
93
|
+
}), selector && (0, _jsxRuntime.jsx)("div", {
|
|
94
|
+
className: classes('selector'),
|
|
95
|
+
children: selector
|
|
96
|
+
}), (0, _jsxRuntime.jsxs)("div", {
|
|
97
|
+
className: classes('nav'),
|
|
98
|
+
children: [(0, _jsxRuntime.jsx)("div", {
|
|
99
|
+
className: classes('menu'),
|
|
100
|
+
children: items.filter(function (item) {
|
|
101
|
+
return !item.hidden;
|
|
102
|
+
}).map(function (item, index) {
|
|
103
|
+
var _a;
|
|
104
|
+
return (0, _jsxRuntime.jsx)(NavigationMenuItem, {
|
|
105
|
+
item: item,
|
|
106
|
+
prefixCls: prefixCls,
|
|
107
|
+
collapsed: collapsed
|
|
108
|
+
}, (_a = item.key) !== null && _a !== void 0 ? _a : index);
|
|
109
|
+
})
|
|
110
|
+
}), collapsible && (0, _jsxRuntime.jsx)("button", {
|
|
111
|
+
className: classes('collapse-toggle'),
|
|
112
|
+
onClick: handleToggleCollapse,
|
|
113
|
+
type: "button",
|
|
114
|
+
children: (0, _jsxRuntime.jsx)(_Icons.Icons, {
|
|
115
|
+
name: collapsed ? 'extend' : 'collapse',
|
|
116
|
+
size: COLLAPSE_ICON_SIZE
|
|
117
|
+
})
|
|
118
|
+
})]
|
|
119
|
+
}), children && (0, _jsxRuntime.jsx)("div", {
|
|
120
|
+
className: classes('settings'),
|
|
121
|
+
children: children
|
|
109
122
|
})]
|
|
110
|
-
})
|
|
111
|
-
|
|
112
|
-
children: children
|
|
113
|
-
})]
|
|
114
|
-
}));
|
|
123
|
+
}))
|
|
124
|
+
});
|
|
115
125
|
});
|
|
116
|
-
|
|
126
|
+
NavigationBase.displayName = 'Navigation';
|
|
117
127
|
var NavigationMenuItem = function NavigationMenuItem(_ref) {
|
|
118
128
|
var item = _ref.item,
|
|
119
129
|
prefixCls = _ref.prefixCls,
|
|
@@ -307,5 +317,27 @@ var NavigationMenuItem = function NavigationMenuItem(_ref) {
|
|
|
307
317
|
})]
|
|
308
318
|
});
|
|
309
319
|
};
|
|
310
|
-
|
|
311
|
-
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvTmF2aWdhdGlvbi9OYXZpZ2F0aW9uLmpzIiwiY29tcG9uZW50cy9zcmMvY29tcG9uZW50cy9OYXZpZ2F0aW9uL05hdmlnYXRpb24udHN4Il0sIm5hbWVzIjpbIl9qc3hSdW50aW1lIiwicmVxdWlyZSIsIl9yZWFjdCIsIl9jbGFzc25hbWVzIiwiX2ludGVyb3BSZXF1aXJlV2lsZGNhcmQiLCJfdXNlQ29udHJvbGxlZFN0YXRlMyIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJfdXNlRXZlbnRDYWxsYmFjayIsIl91c2VNZW1vaXplZEZuIiwiX3VzZUxhdGVzdCIsIl9JY29ucyIsIl9UeXBvZ3JhcGh5IiwiX1RyaWdnZXIiLCJfTmF2aWdhdGlvbkxvZ28iLCJlIiwidCIsIldlYWtNYXAiLCJyIiwibiIsIl9fZXNNb2R1bGUiLCJvIiwiaSIsImYiLCJfX3Byb3RvX18iLCJfdHlwZW9mIiwiaGFzIiwiZ2V0Iiwic2V0IiwiX3QiLCJoYXNPd25Qcm9wZXJ0eSIsImNhbGwiLCJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImdldE93blByb3BlcnR5RGVzY3JpcHRvciIsIl9fcmVzdCIsInMiLCJwIiwicHJvdG90eXBlIiwiaW5kZXhPZiIsImdldE93blByb3BlcnR5U3ltYm9scyIsImxlbmd0aCIsInByb3BlcnR5SXNFbnVtZXJhYmxlIiwiSUNPTl9TSVpFIiwiQ0hFVlJPTl9TSVpFIiwiQ09MTEFQU0VfSUNPTl9TSVpFIiwiaXNJY29uTmFtZSIsImljb24iLCJOYXZpZ2F0aW9uIiwiZXhwb3J0cyIsImZvcndhcmRSZWYiLCJwcm9wcyIsInJlZiIsIl9wcm9wcyRjbGFzc05hbWUiLCJjbGFzc05hbWUiLCJfcHJvcHMkcHJlZml4Q2xzIiwicHJlZml4Q2xzIiwiaXRlbXMiLCJjb250cm9sbGVkQ29sbGFwc2VkIiwiY29sbGFwc2VkIiwiX3Byb3BzJGRlZmF1bHRDb2xsYXBzIiwiZGVmYXVsdENvbGxhcHNlZCIsIl9wcm9wcyRjb2xsYXBzaWJsZSIsImNvbGxhcHNpYmxlIiwib25Db2xsYXBzZSIsIm9uTG9nb0NsaWNrIiwiaGVhZGVyIiwic2VsZWN0b3IiLCJjaGlsZHJlbiIsInJlc3QiLCJjbGFzc2VzIiwiY2xhc3NuYW1lcyIsIl91c2VDb250cm9sbGVkU3RhdGUiLCJ1c2VDb250cm9sbGVkU3RhdGUiLCJfdXNlQ29udHJvbGxlZFN0YXRlMiIsIl9zbGljZWRUb0FycmF5MiIsInNldENvbGxhcHNlZCIsImNvbGxhcHNlZFJlZiIsInVzZUxhdGVzdCIsImhhbmRsZUNvbGxhcHNlIiwidXNlRXZlbnRDYWxsYmFjayIsInZhbHVlIiwidXNlSW1wZXJhdGl2ZUhhbmRsZSIsInRvZ2dsZSIsImN1cnJlbnQiLCJjb2xsYXBzZSIsImhhbmRsZVRvZ2dsZUNvbGxhcHNlIiwiX2pzeHMiLCJhc3NpZ24iLCJqb2luQ2xzIiwiX2pzeCIsInVuZGVmaW5lZCIsIk5hdmlnYXRpb25Mb2dvIiwib25DbGljayIsImZpbHRlciIsIml0ZW0iLCJoaWRkZW4iLCJtYXAiLCJpbmRleCIsIl9hIiwiTmF2aWdhdGlvbk1lbnVJdGVtIiwia2V5IiwidHlwZSIsIkljb25zIiwibmFtZSIsInNpemUiLCJkaXNwbGF5TmFtZSIsIl9yZWYiLCJsYWJlbCIsInN1ZmZpeCIsImxpbmsiLCJhY3RpdmUiLCJkaXNhYmxlZCIsImRlZmF1bHRPcGVuIiwib25PcGVuQ2hhbmdlIiwiX3VzZVN0YXRlIiwidXNlU3RhdGUiLCJfdXNlU3RhdGUyIiwib3BlbiIsInNldE9wZW4iLCJoYW5kbGVDbGljayIsInVzZU1lbW9pemVkRm4iLCJuZXh0IiwiaGFzQ2hpbGRyZW4iLCJ2aXNpYmxlQ2hpbGRyZW4iLCJjaGlsZCIsImNoaWxkQWN0aXZlIiwic29tZSIsInJlbmRlckljb24iLCJpdGVtSWNvbiIsIndyYXBXaXRoTGluayIsImNvbnRlbnQiLCJpdGVtTGluayIsImhyZWYiLCJpc1ZhbGlkRWxlbWVudCIsImNsb25lRWxlbWVudCIsImNvbGxhcHNlZENvbnRlbnQiLCJUeXBvZ3JhcGh5IiwiTGFiZWwiLCJhcyIsIlRyaWdnZXIiLCJ0cmlnZ2VyIiwicGxhY2VtZW50Iiwib2Zmc2V0Iiwib3ZlcmxheUNsYXNzTmFtZSIsIl9yZWYyIiwiY2xvc2UiLCJfYiIsImNoaWxkQ29udGVudCIsIlRpdGxlIiwiaXRlbUNvbnRlbnQiLCJfZGVmYXVsdCIsIm1lbW8iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7OztBQVdBLElBQUFBLFdBQUEsR0FBQUMsT0FBQTtBQ1hBLElBQUFDLE1BQUEsR0FBQUQsT0FBQTtBQUNBLElBQUFFLFdBQUEsR0FBQUMsdUJBQUEsQ0FBQUgsT0FBQTtBQUNBLElBQUFJLG9CQUFBLEdBQUFDLHNCQUFBLENBQUFMLE9BQUE7QUFDQSxJQUFBTSxpQkFBQSxHQUFBRCxzQkFBQSxDQUFBTCxPQUFBO0FBQ0EsSUFBQU8sY0FBQSxHQUFBRixzQkFBQSxDQUFBTCxPQUFBO0FBQ0EsSUFBQVEsVUFBQSxHQUFBSCxzQkFBQSxDQUFBTCxPQUFBO0FBQ0EsSUFBQVMsTUFBQSxHQUFBVCxPQUFBO0FBQ0EsSUFBQVUsV0FBQSxHQUFBVixPQUFBO0FBQ0EsSUFBQVcsUUFBQSxHQUFBWCxPQUFBO0FBQ0EsSUFBQVksZUFBQSxHQUFBUCxzQkFBQSxDQUFBTCxPQUFBO0FBSUFBLE9BQUE7QUFBaUIsU0FBQUcsd0JBQUFVLENBQUEsRUFBQUMsQ0FBQSw2QkFBQUMsT0FBQSxNQUFBQyxDQUFBLE9BQUFELE9BQUEsSUFBQUUsQ0FBQSxPQUFBRixPQUFBLFlBQUFaLHVCQUFBLFlBQUFBLHdCQUFBVSxDQUFBLEVBQUFDLENBQUEsU0FBQUEsQ0FBQSxJQUFBRCxDQUFBLElBQUFBLENBQUEsQ0FBQUssVUFBQSxTQUFBTCxDQUFBLE1BQUFNLENBQUEsRUFBQUMsQ0FBQSxFQUFBQyxDQUFBLEtBQUFDLFNBQUEsbUJBQUFULENBQUEsaUJBQUFBLENBQUEsZ0JBQUFVLE9BQUEsQ0FBQVYsQ0FBQSwwQkFBQUEsQ0FBQSxTQUFBUSxDQUFBLE1BQUFGLENBQUEsR0FBQUwsQ0FBQSxHQUFBRyxDQUFBLEdBQUFELENBQUEsUUFB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R0FBQUEsRUFBQSxHQUFJRCxLQUFLLENBMEIxQjtVQUVELE9BQU8yQixLQUFLLENBQUNmLElBQUksR0FBR29CLFlBQVksQ0FBQ2tCLFlBQVksRUFBRXZCLEtBQUssQ0FBQ2YsSUFBSSxDQUFDLEdBQUdzQyxZQUFZO1FBQzNFLENBQUM7TUFBQyxDQUFBO0lBQ0ksQ0FBQSxDQUVUO0VBQUEsQ0FBQSxDQUNHO0FBRVYsQ0FBQztBQUFDLElBQUFHLFFBQUEsR0FBQXRHLE9BQUEsMkJBRWEsSUFBQXVHLFdBQUksRUFBQ3hHLFVBQVUsQ0FBQyIsImZpbGUiOiJjb21wb25lbnRzL05hdmlnYXRpb24vTmF2aWdhdGlvbi5qcyIsInNvdXJjZXNDb250ZW50IjpbInZhciBfX3Jlc3QgPSAodGhpcyAmJiB0aGlzLl9fcmVzdCkgfHwgZnVuY3Rpb24gKHMsIGUpIHtcbiAgICB2YXIgdCA9IHt9O1xuICAgIGZvciAodmFyIHAgaW4gcykgaWYgKE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChzLCBwKSAmJiBlLmluZGV4T2YocCkgPCAwKVxuICAgICAgICB0W3BdID0gc1twXTtcbiAgICBpZiAocyAhPSBudWxsICYmIHR5cGVvZiBPYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzID09PSBcImZ1bmN0aW9uXCIpXG4gICAgICAgIGZvciAodmFyIGkgPSAwLCBwID0gT2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scyhzKTsgaSA8IHAubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICAgIGlmIChlLmluZGV4T2YocFtpXSkgPCAwICYmIE9iamVjdC5wcm90b3R5cGUucHJvcGVydHlJc0VudW1lcmFibGUuY2FsbChzLCBwW2ldKSlcbiAgICAgICAgICAgICAgICB0W3BbaV1dID0gc1twW2ldXTtcbiAgICAgICAgfVxuICAgIHJldHVybiB0O1xufTtcbmltcG9ydCB7IGpzeCBhcyBfanN4LCBqc3hzIGFzIF9qc3hzIH0gZnJvbSBcInJlYWN0L2pzeC1ydW50aW1lXCI7XG5pbXBvcnQgeyBtZW1vLCB1c2VTdGF0ZSwgZm9yd2FyZFJlZiwgdXNlSW1wZXJhdGl2ZUhhbmRsZSwgY2xvbmVFbGVtZW50LCBpc1ZhbGlkRWxlbWVudCB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IGRlZmF1bHQgYXMgY2xhc3NuYW1lcywgam9pbkNscyB9IGZyb20gJy4uLy4uL3V0aWxzL2NsYXNzbmFtZXMnO1xuaW1wb3J0IHVzZUNvbnRyb2xsZWRTdGF0ZSBmcm9tICdAMW1vbmV5L2hvb2tzL3VzZUNvbnRyb2xsZWRTdGF0ZSc7XG5pbXBvcnQgdXNlRXZlbnRDYWxsYmFjayBmcm9tICdAMW1vbmV5L2hvb2tzL3VzZUV2ZW50Q2FsbGJhY2snO1xuaW1wb3J0IHVzZU1lbW9pemVkRm4gZnJvbSAnQDFtb25leS9ob29rcy91c2VNZW1vaXplZEZuJztcbmltcG9ydCB1c2VMYXRlc3QgZnJvbSAnQDFtb25leS9ob29rcy91c2VMYXRlc3QnO1xuaW1wb3J0IHsgSWNvbnMgfSBmcm9tICcuLi9JY29ucyc7XG5pbXBvcnQgeyBUeXBvZ3JhcGh5IH0gZnJvbSAnLi4vVHlwb2dyYXBoeSc7XG5pbXBvcnQgeyBUcmlnZ2VyIH0gZnJvbSAnLi4vVHJpZ2dlcic7XG5pbXBvcnQgTmF2aWdhdGlvbkxvZ28gZnJvbSAnLi9OYXZpZ2F0aW9uTG9nbyc7XG5pbXBvcnQgJy4vc3R5bGUnO1xuY29uc3QgSUNPTl9TSVpFID0gMTY7XG5jb25zdCBDSEVWUk9OX1NJWkUgPSAxNjtcbmNvbnN0IENPTExBUFNFX0lDT05fU0laRSA9IDE2O1xuY29uc3QgaXNJY29uTmFtZSA9IChpY29uKSA9PiB0eXBlb2YgaWNvbiA9PT0gJ3N0cmluZyc7XG5leHBvcnQgY29uc3QgTmF2aWdhdGlvbiA9IGZvcndhcmRSZWYoKHByb3BzLCByZWYpID0+IHtcbiAgICBjb25zdCB7IGNsYXNzTmFtZSA9ICcnLCBwcmVmaXhDbHMgPSAnbmF2aWdhdGlvbicsIGl0ZW1zLCBjb2xsYXBzZWQ6IGNvbnRyb2xsZWRDb2xsYXBzZWQsIGRlZmF1bHRDb2xsYXBzZWQgPSBmYWxzZSwgY29sbGFwc2libGUgPSBmYWxzZSwgb25Db2xsYXBzZSwgb25Mb2dvQ2xpY2ssIGhlYWRlciwgc2VsZWN0b3IsIGNoaWxkcmVuIH0gPSBwcm9wcywgcmVzdCA9IF9fcmVzdChwcm9wcywgW1wiY2xhc3NOYW1lXCIsIFwicHJlZml4Q2xzXCIsIFwiaXRlbXNcIiwgXCJjb2xsYXBzZWRcIiwgXCJkZWZhdWx0Q29sbGFwc2VkXCIsIFwiY29sbGFwc2libGVcIiwgXCJvbkNvbGxhcHNlXCIsIFwib25Mb2dvQ2xpY2tcIiwgXCJoZWFkZXJcIiwgXCJzZWxlY3RvclwiLCBcImNoaWxkcmVuXCJdKTtcbiAgICBjb25zdCBjbGFzc2VzID0gY2xhc3NuYW1lcyhwcmVmaXhDbHMpO1xuICAgIGNvbnN0IFtjb2xsYXBzZWQsIHNldENvbGxhcHNlZF0gPSB1c2VDb250cm9sbGVkU3RhdGUoZGVmYXVsdENvbGxhcHNlZCwgY29udHJvbGxlZENvbGxhcHNlZCk7XG4gICAgY29uc3QgY29sbGFwc2VkUmVmID0gdXNlTGF0ZXN0KGNvbGxhcHNlZCk7XG4gICAgY29uc3QgaGFuZGxlQ29sbGFwc2UgPSB1c2VFdmVudENhbGxiYWNrKCh2YWx1ZSkgPT4ge1xuICAgICAgICBzZXRDb2xsYXBzZWQodmFsdWUpO1xuICAgICAgICBvbkNvbGxhcHNlID09PSBudWxsIHx8IG9uQ29sbGFwc2UgPT09IHZvaWQgMCA/IHZvaWQgMCA6IG9uQ29sbGFwc2UodmFsdWUpO1xuICAgIH0pO1xuICAgIHVzZUltcGVyYXRpdmVIYW5kbGUocmVmLCAoKSA9PiAoe1xuICAgICAgICB0b2dnbGU6ICgpID0+IGhhbmRsZUNvbGxhcHNlKCFjb2xsYXBzZWRSZWYuY3VycmVudCksXG4gICAgICAgIGNvbGxhcHNlOiBoYW5kbGVDb2xsYXBzZSxcbiAgICB9KSwgW2hhbmRsZUNvbGxhcHNlXSk7XG4gICAgY29uc3QgaGFuZGxlVG9nZ2xlQ29sbGFwc2UgPSB1c2VFdmVudENhbGxiYWNrKCgpID0+IHtcbiAgICAgICAgaGFuZGxlQ29sbGFwc2UoIWNvbGxhcHNlZCk7XG4gICAgfSk7XG4gICAgcmV0dXJuIChfanN4cyhcIm5hdlwiLCBPYmplY3QuYXNzaWduKHsgY2xhc3NOYW1lOiBjbGFzc2VzKHZvaWQgMCwgam9pbkNscyhjb2xsYXBzZWQgJiYgY2xhc3NlcygnY29sbGFwc2VkJyksIGNsYXNzTmFtZSkpIH0sIHJlc3QsIHsgY2hpbGRyZW46IFtfanN4KFwiZGl2XCIsIHsgY2xhc3NOYW1lOiBjbGFzc2VzKCdoZWFkZXInKSwgY2hpbGRyZW46IGhlYWRlciAhPT0gdW5kZWZpbmVkID8gaGVhZGVyIDogKF9qc3goTmF2aWdhdGlvbkxvZ28sIHsgY29sbGFwc2VkOiBjb2xsYXBzZWQsIG9uQ2xpY2s6IG9uTG9nb0NsaWNrIH0pKSB9KSwgc2VsZWN0b3IgJiYgX2pzeChcImRpdlwiLCB7IGNsYXNzTmFtZTogY2xhc3Nlcygnc2VsZWN0b3InKSwgY2hpbGRyZW46IHNlbGVjdG9yIH0pLCBfanN4cyhcImRpdlwiLCB7IGNsYXNzTmFtZTogY2xhc3NlcygnbmF2JyksIGNoaWxkcmVuOiBbX2pzeChcImRpdlwiLCB7IGNsYXNzTmFtZTogY2xhc3NlcygnbWVudScpLCBjaGlsZHJlbjogaXRlbXMuZmlsdGVyKGl0ZW0gPT4gIWl0ZW0uaGlkZGVuKS5tYXAoKGl0ZW0sIGluZGV4KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyIF9hO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAoX2pzeChOYXZpZ2F0aW9uTWVudUl0ZW0sIHsgaXRlbTogaXRlbSwgcHJlZml4Q2xzOiBwcmVmaXhDbHMsIGNvbGxhcHNlZDogY29sbGFwc2VkIH0sIChfYSA9IGl0ZW0ua2V5KSAhPT0gbnVsbCAmJiBfYSAhPT0gdm9pZCAwID8gX2EgOiBpbmRleCkpO1xuICAgICAgICAgICAgICAgICAgICAgICAgfSkgfSksIGNvbGxhcHNpYmxlICYmIChfanN4KFwiYnV0dG9uXCIsIHsgY2xhc3NOYW1lOiBjbGFzc2VzKCdjb2xsYXBzZS10b2dnbGUnKSwgb25DbGljazogaGFuZGxlVG9nZ2xlQ29sbGFwc2UsIHR5cGU6IFwiYnV0dG9uXCIsIGNoaWxkcmVuOiBfanN4KEljb25zLCB7IG5hbWU6IGNvbGxhcHNlZCA/ICdleHRlbmQnIDogJ2NvbGxhcHNlJywgc2l6ZTogQ09MTEFQU0VfSUNPTl9TSVpFIH0pIH0pKV0gfSksIGNoaWxkcmVuICYmIF9qc3goXCJkaXZcIiwgeyBjbGFzc05hbWU6IGNsYXNzZXMoJ3NldHRpbmdzJyksIGNoaWxkcmVuOiBjaGlsZHJlbiB9KV0gfSkpKTtcbn0pO1xuTmF2aWdhdGlvbi5kaXNwbGF5TmFtZSA9ICdOYXZpZ2F0aW9uJztcbmNvbnN0IE5hdmlnYXRpb25NZW51SXRlbSA9ICh7IGl0ZW0sIHByZWZpeENscywgY29sbGFwc2VkIH0pID0+IHtcbiAgICBjb25zdCB7IGxhYmVsLCBpY29uLCBzdWZmaXgsIGxpbmssIGFjdGl2ZSwgZGlzYWJsZWQsIG9uQ2xpY2ssIGNoaWxkcmVuLCBkZWZhdWx0T3Blbiwgb25PcGVuQ2hhbmdlIH0gPSBpdGVtO1xuICAgIGNvbnN0IGNsYXNzZXMgPSBjbGFzc25hbWVzKHByZWZpeENscyk7XG4gICAgY29uc3QgW29wZW4sIHNldE9wZW5dID0gdXNlU3RhdGUoZGVmYXVsdE9wZW4gIT09IG51bGwgJiYgZGVmYXVsdE9wZW4gIT09IHZvaWQgMCA/IGRlZmF1bHRPcGVuIDogZmFsc2UpO1xuICAgIGNvbnN0IGhhbmRsZUNsaWNrID0gdXNlTWVtb2l6ZWRGbigoZSkgPT4ge1xuICAgICAgICBpZiAoZGlzYWJsZWQpXG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIGlmIChjaGlsZHJlbiA9PT0gbnVsbCB8fCBjaGlsZHJlbiA9PT0gdm9pZCAwID8gdm9pZCAwIDogY2hpbGRyZW4ubGVuZ3RoKSB7XG4gICAgICAgICAgICBjb25zdCBuZXh0ID0gIW9wZW47XG4gICAgICAgICAgICBzZXRPcGVuKG5leHQpO1xuICAgICAgICAgICAgb25PcGVuQ2hhbmdlID09PSBudWxsIHx8IG9uT3BlbkNoYW5nZSA9PT0gdm9pZCAwID8gdm9pZCAwIDogb25PcGVuQ2hhbmdlKG5leHQpO1xuICAgICAgICB9XG4gICAgICAgIG9uQ2xpY2sgPT09IG51bGwgfHwgb25DbGljayA9PT0gdm9pZCAwID8gdm9pZCAwIDogb25DbGljayhlKTtcbiAgICB9KTtcbiAgICBjb25zdCBoYXNDaGlsZHJlbiA9IGNoaWxkcmVuICYmIGNoaWxkcmVuLmxlbmd0aCA+IDA7XG4gICAgY29uc3QgdmlzaWJsZUNoaWxkcmVuID0gY2hpbGRyZW4gPT09IG51bGwgfHwgY2hpbGRyZW4gPT09IHZvaWQgMCA/IHZvaWQgMCA6IGNoaWxkcmVuLmZpbHRlcihjaGlsZCA9PiAhY2hpbGQuaGlkZGVuKTtcbiAgICBjb25zdCBjaGlsZEFjdGl2ZSA9IGhhc0NoaWxkcmVuICYmIGNoaWxkcmVuLnNvbWUoY2hpbGQgPT4gY2hpbGQuYWN0aXZlKTtcbiAgICBjb25zdCByZW5kZXJJY29uID0gKGl0ZW1JY29uKSA9PiB7XG4gICAgICAgIGlmICghaXRlbUljb24pXG4gICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgaWYgKGlzSWNvbk5hbWUoaXRlbUljb24pKSB7XG4gICAgICAgICAgICByZXR1cm4gX2pzeChJY29ucywgeyBuYW1lOiBpdGVtSWNvbiwgc2l6ZTogSUNPTl9TSVpFIH0pO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBpdGVtSWNvbjtcbiAgICB9O1xuICAgIGNvbnN0IHdyYXBXaXRoTGluayA9IChjb250ZW50LCBpdGVtTGluaykgPT4ge1xuICAgICAgICBpZiAoIWl0ZW1MaW5rKVxuICAgICAgICAgICAgcmV0dXJuIGNvbnRlbnQ7XG4gICAgICAgIGlmICh0eXBlb2YgaXRlbUxpbmsgPT09ICdzdHJpbmcnKSB7XG4gICAgICAgICAgICByZXR1cm4gX2pzeChcImFcIiwgeyBocmVmOiBpdGVtTGluaywgY2xhc3NOYW1lOiBjbGFzc2VzKCdpdGVtLWxpbmsnKSwgY2hpbGRyZW46IGNvbnRlbnQgfSk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGlzVmFsaWRFbGVtZW50KGl0ZW1MaW5rKSkge1xuICAgICAgICAgICAgcmV0dXJuIGNsb25lRWxlbWVudChpdGVtTGluaywge1xuICAgICAgICAgICAgICAgIGNoaWxkcmVuOiBjb250ZW50LFxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGNvbnRlbnQ7XG4gICAgfTtcbiAgICBpZiAoY29sbGFwc2VkKSB7XG4gICAgICAgIGNvbnN0IGNvbGxhcHNlZENvbnRlbnQgPSAoX2pzeHMoXCJidXR0b25cIiwgeyBjbGFzc05hbWU6IGNsYXNzZXMoJ2NvbGxhcHNlZC1pdGVtJywgam9pbkNscygoYWN0aXZlIHx8IGNoaWxkQWN0aXZlKSAmJiBjbGFzc2VzKCdjb2xsYXBzZWQtaXRlbS1hY3RpdmUnKSwgZGlzYWJsZWQgJiYgY2xhc3NlcygnY29sbGFwc2VkLWl0ZW0tZGlzYWJsZWQnKSkpLCBvbkNsaWNrOiBoYXNDaGlsZHJlbiA/IHVuZGVmaW5lZCA6IGhhbmRsZUNsaWNrLCBkaXNhYmxlZDogZGlzYWJsZWQsIHR5cGU6IFwiYnV0dG9uXCIsIGNoaWxkcmVuOiBbaWNvbiAmJiAoX2pzeChcInNwYW5cIiwgeyBjbGFzc05hbWU6IGNsYXNzZXMoJ2NvbGxhcHNlZC1pdGVtLWljb24nKSwgY2hpbGRyZW46IHJlbmRlckljb24oaWNvbikgfSkpLCBfanN4KFR5cG9ncmFwaHkuTGFiZWwsIHsgc2l6ZTogXCJ4c1wiLCBhczogXCJzcGFuXCIsIGNsYXNzTmFtZTogY2xhc3NlcygnY29sbGFwc2VkLWl0ZW0tbGFiZWwnKSwgY2hpbGRyZW46IGxhYmVsIH0pXSB9KSk7XG4gICAgICAgIGlmIChoYXNDaGlsZHJlbiAmJiAodmlzaWJsZUNoaWxkcmVuID09PSBudWxsIHx8IHZpc2libGVDaGlsZHJlbiA9PT0gdm9pZCAwID8gdm9pZCAwIDogdmlzaWJsZUNoaWxkcmVuLmxlbmd0aCkpIHtcbiAgICAgICAgICAgIHJldHVybiAoX2pzeChUcmlnZ2VyLCB7IHRyaWdnZXI6IFwiY2xpY2tcIiwgcGxhY2VtZW50OiBcInJpZ2h0LXN0YXJ0XCIsIG9mZnNldDogMTAsIG92ZXJsYXlDbGFzc05hbWU6IGNsYXNzZXMoJ2NvbGxhcHNlZC1zdWJtZW51LXBhbmVsJyksIGNvbnRlbnQ6ICh7IGNsb3NlIH0pID0+IChfanN4KFwiZGl2XCIsIHsgY2xhc3NOYW1lOiBjbGFzc2VzKCdjb2xsYXBzZWQtc3VibWVudScpLCBjaGlsZHJlbjogdmlzaWJsZUNoaWxkcmVuLm1hcCgoY2hpbGQsIGluZGV4KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICB2YXIgX2EsIF9iO1xuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgY2hpbGRDb250ZW50ID0gKF9qc3hzKFwiYnV0dG9uXCIsIHsgY2xhc3NOYW1lOiBjbGFzc2VzKCdjb2xsYXBzZWQtc3VibWVudS1pdGVtJywgam9pbkNscyhjaGlsZC5hY3RpdmUgJiYgY2xhc3NlcygnY29sbGFwc2VkLXN1Ym1lbnUtaXRlbS1hY3RpdmUnKSwgY2hpbGQuZGlzYWJsZWQgJiYgY2xhc3NlcygnY29sbGFwc2VkLXN1Ym1lbnUtaXRlbS1kaXNhYmxlZCcpKSksIG9uQ2xpY2s6IChlKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhciBfYTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCFjaGlsZC5kaXNhYmxlZCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKF9hID0gY2hpbGQub25DbGljaykgPT09IG51bGwgfHwgX2EgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF9hLmNhbGwoY2hpbGQsIGUpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xvc2UoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIGRpc2FibGVkOiBjaGlsZC5kaXNhYmxlZCwgdHlwZTogXCJidXR0b25cIiwgY2hpbGRyZW46IFtjaGlsZC5pY29uICYmIChfanN4KFwic3BhblwiLCB7IGNsYXNzTmFtZTogY2xhc3NlcygnaXRlbS1pY29uJyksIGNoaWxkcmVuOiByZW5kZXJJY29uKGNoaWxkLmljb24pIH0pKSwgX2pzeChUeXBvZ3JhcGh5LlRpdGxlLCB7IHNpemU6IFwic21cIiwgYXM6IFwiZGl2XCIsIGNsYXNzTmFtZTogY2xhc3NlcygnaXRlbS1sYWJlbCcpLCBjaGlsZHJlbjogY2hpbGQubGFiZWwgfSksIGNoaWxkLnN1ZmZpeCAmJiBfanN4KFwic3BhblwiLCB7IGNsYXNzTmFtZTogY2xhc3NlcygnaXRlbS1zdWZmaXgnKSwgY2hpbGRyZW46IGNoaWxkLnN1ZmZpeCB9KV0gfSwgKF9hID0gY2hpbGQua2V5KSAhPT0gbnVsbCAmJiBfYSAhPT0gdm9pZCAwID8gX2EgOiBpbmRleCkpO1xuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIChfanN4cyhcImRpdlwiLCB7IGNoaWxkcmVuOiBbaW5kZXggPiAwICYmIF9qc3goXCJkaXZcIiwgeyBjbGFzc05hbWU6IGNsYXNzZXMoJ2NvbGxhcHNlZC1zdWJtZW51LWRpdmlkZXInKSB9KSwgY2hpbGQubGluayA/IHdyYXBXaXRoTGluayhjaGlsZENvbnRlbnQsIGNoaWxkLmxpbmspIDogY2hpbGRDb250ZW50XSB9LCAoX2IgPSBjaGlsZC5rZXkpICE9PSBudWxsICYmIF9iICE9PSB2b2lkIDAgPyBfYiA6IGluZGV4KSk7XG4gICAgICAgICAgICAgICAgICAgIH0pIH0pKSwgY2hpbGRyZW46IGNvbGxhcHNlZENvbnRlbnQgfSkpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBsaW5rID8gd3JhcFdpdGhMaW5rKGNvbGxhcHNlZENvbnRlbnQsIGxpbmspIDogY29sbGFwc2VkQ29udGVudDtcbiAgICB9XG4gICAgcmV0dXJuIChfanN4cyhcImRpdlwiLCB7IGNsYXNzTmFtZTogY2xhc3NlcygnaXRlbS13cmFwcGVyJyksIGNoaWxkcmVuOiBbKCgpID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCBpdGVtQ29udGVudCA9IChfanN4cyhcImJ1dHRvblwiLCB7IGNsYXNzTmFtZTogY2xhc3NlcygnaXRlbScsIGpvaW5DbHMoaGFzQ2hpbGRyZW4gJiYgY2xhc3NlcygnaXRlbS1leHBhbmRhYmxlJyksIGFjdGl2ZSAmJiBjbGFzc2VzKCdpdGVtLWFjdGl2ZScpLCBkaXNhYmxlZCAmJiBjbGFzc2VzKCdpdGVtLWRpc2FibGVkJykpKSwgb25DbGljazogaGFuZGxlQ2xpY2ssIGRpc2FibGVkOiBkaXNhYmxlZCwgdHlwZTogXCJidXR0b25cIiwgY2hpbGRyZW46IFtfanN4cyhcImRpdlwiLCB7IGNsYXNzTmFtZTogY2xhc3NlcygnaXRlbS1jb250ZW50JyksIGNoaWxkcmVuOiBbaWNvbiAmJiAoX2pzeChcInNwYW5cIiwgeyBjbGFzc05hbWU6IGNsYXNzZXMoJ2l0ZW0taWNvbicpLCBjaGlsZHJlbjogcmVuZGVySWNvbihpY29uKSB9KSksIF9qc3goVHlwb2dyYXBoeS5UaXRsZSwgeyBzaXplOiBcInNtXCIsIGFzOiBcImRpdlwiLCBjbGFzc05hbWU6IGNsYXNzZXMoJ2l0ZW0tbGFiZWwnKSwgY2hpbGRyZW46IGxhYmVsIH0pLCBzdWZmaXggJiYgX2pzeChcInNwYW5cIiwgeyBjbGFzc05hbWU6IGNsYXNzZXMoJ2l0ZW0tc3VmZml4JyksIGNoaWxkcmVuOiBzdWZmaXggfSldIH0pLCBoYXNDaGlsZHJlbiAmJiAoX2pzeChcInNwYW5cIiwgeyBjbGFzc05hbWU6IGNsYXNzZXMoJ2l0ZW0tYXJyb3cnLCBqb2luQ2xzKG9wZW4gJiYgY2xhc3NlcygnaXRlbS1hcnJvdy1vcGVuJykpKSwgY2hpbGRyZW46IF9qc3goSWNvbnMsIHsgbmFtZTogXCJjaGV2cm9uRG93blwiLCBzaXplOiBDSEVWUk9OX1NJWkUgfSkgfSkpXSB9KSk7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGxpbmsgJiYgIWhhc0NoaWxkcmVuID8gd3JhcFdpdGhMaW5rKGl0ZW1Db250ZW50LCBsaW5rKSA6IGl0ZW1Db250ZW50O1xuICAgICAgICAgICAgfSkoKSwgaGFzQ2hpbGRyZW4gJiYgKF9qc3goXCJkaXZcIiwgeyBjbGFzc05hbWU6IGNsYXNzZXMoJ3N1Ym1lbnUnLCBqb2luQ2xzKG9wZW4gJiYgY2xhc3Nlcygnc3VibWVudS1vcGVuJykpKSwgY2hpbGRyZW46IF9qc3goXCJkaXZcIiwgeyBjbGFzc05hbWU6IGNsYXNzZXMoJ3N1Ym1lbnUtaW5uZXInKSwgY2hpbGRyZW46IHZpc2libGVDaGlsZHJlbiA9PT0gbnVsbCB8fCB2aXNpYmxlQ2hpbGRyZW4gPT09IHZvaWQgMCA/IHZvaWQgMCA6IHZpc2libGVDaGlsZHJlbi5tYXAoKGNoaWxkLCBpbmRleCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgdmFyIF9hO1xuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgY2hpbGRDb250ZW50ID0gKF9qc3goXCJidXR0b25cIiwgeyBjbGFzc05hbWU6IGNsYXNzZXMoJ3N1Ym1lbnUtaXRlbScsIGpvaW5DbHMoY2hpbGQuYWN0aXZlICYmIGNsYXNzZXMoJ3N1Ym1lbnUtaXRlbS1hY3RpdmUnKSwgY2hpbGQuZGlzYWJsZWQgJiYgY2xhc3Nlcygnc3VibWVudS1pdGVtLWRpc2FibGVkJykpKSwgb25DbGljazogKGUpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyIF9hO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoIWNoaWxkLmRpc2FibGVkKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKF9hID0gY2hpbGQub25DbGljaykgPT09IG51bGwgfHwgX2EgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF9hLmNhbGwoY2hpbGQsIGUpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIGRpc2FibGVkOiBjaGlsZC5kaXNhYmxlZCwgdHlwZTogXCJidXR0b25cIiwgY2hpbGRyZW46IF9qc3hzKFwiZGl2XCIsIHsgY2xhc3NOYW1lOiBjbGFzc2VzKCdpdGVtLWNvbnRlbnQnKSwgY2hpbGRyZW46IFtjaGlsZC5pY29uICYmIChfanN4KFwic3BhblwiLCB7IGNsYXNzTmFtZTogY2xhc3NlcygnaXRlbS1pY29uJyksIGNoaWxkcmVuOiByZW5kZXJJY29uKGNoaWxkLmljb24pIH0pKSwgX2pzeChUeXBvZ3JhcGh5LlRpdGxlLCB7IHNpemU6IFwic21cIiwgYXM6IFwiZGl2XCIsIGNsYXNzTmFtZTogY2xhc3NlcygnaXRlbS1sYWJlbCcpLCBjaGlsZHJlbjogY2hpbGQubGFiZWwgfSksIGNoaWxkLnN1ZmZpeCAmJiBfanN4KFwic3BhblwiLCB7IGNsYXNzTmFtZTogY2xhc3NlcygnaXRlbS1zdWZmaXgnKSwgY2hpbGRyZW46IGNoaWxkLnN1ZmZpeCB9KV0gfSkgfSwgKF9hID0gY2hpbGQua2V5KSAhPT0gbnVsbCAmJiBfYSAhPT0gdm9pZCAwID8gX2EgOiBpbmRleCkpO1xuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGNoaWxkLmxpbmsgPyB3cmFwV2l0aExpbmsoY2hpbGRDb250ZW50LCBjaGlsZC5saW5rKSA6IGNoaWxkQ29udGVudDtcbiAgICAgICAgICAgICAgICAgICAgfSkgfSkgfSkpXSB9KSk7XG59O1xuZXhwb3J0IGRlZmF1bHQgbWVtbyhOYXZpZ2F0aW9uKTsiLG51bGxdLCJzb3VyY2VSb290IjoiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjIn0=
|
|
320
|
+
/**
|
|
321
|
+
* A single sidebar row for the bottom `children` slot (settings, profile, …).
|
|
322
|
+
* Reads the prefix and collapsed state from the parent Navigation, so it gets
|
|
323
|
+
* the same layout plus hover / active / disabled states as a row from `items`.
|
|
324
|
+
* Also available as `Navigation.Item`.
|
|
325
|
+
*/
|
|
326
|
+
var NavigationSlotItem = function NavigationSlotItem(props) {
|
|
327
|
+
var _useNavigationContext = (0, _context.useNavigationContext)(),
|
|
328
|
+
prefixCls = _useNavigationContext.prefixCls,
|
|
329
|
+
collapsed = _useNavigationContext.collapsed;
|
|
330
|
+
return (0, _jsxRuntime.jsx)(NavigationMenuItem, {
|
|
331
|
+
item: props,
|
|
332
|
+
prefixCls: prefixCls,
|
|
333
|
+
collapsed: collapsed
|
|
334
|
+
});
|
|
335
|
+
};
|
|
336
|
+
NavigationSlotItem.displayName = 'Navigation.Item';
|
|
337
|
+
var Navigation = exports.Navigation = Object.assign(NavigationBase, {
|
|
338
|
+
Item: NavigationSlotItem
|
|
339
|
+
});
|
|
340
|
+
var _default = exports["default"] = Object.assign(/*#__PURE__*/(0, _react.memo)(NavigationBase), {
|
|
341
|
+
Item: NavigationSlotItem
|
|
342
|
+
});
|
|
343
|
+
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvTmF2aWdhdGlvbi9OYXZpZ2F0aW9uLmpzIiwiY29tcG9uZW50cy9zcmMvY29tcG9uZW50cy9OYXZpZ2F0aW9uL05hdmlnYXRpb24udHN4Il0sIm5hbWVzIjpbIl9qc3hSdW50aW1lIiwicmVxdWlyZSIsIl9yZWFjdCIsIl9jbGFzc25hbWVzIiwiX2ludGVyb3BSZXF1aXJlV2lsZGNhcmQiLCJfdXNlQ29udHJvbGxlZFN0YXRlMyIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJfdXNlRXZlbnRDYWxsYmFjayIsIl91c2VNZW1vaXplZEZuIiwiX3VzZUxhdGVzdCIsIl9JY29ucyIsIl9UeXBvZ3JhcGh5IiwiX1RyaWdnZXIiLCJfTmF2aWdhdGlvbkxvZ28iLCJfY29udGV4dCIsImUiLCJ0IiwiV2Vha01hcCIsInIiLCJuIiwiX19lc01vZHVsZSIsIm8iLCJpIiwiZiIsIl9fcHJvdG9fXyIsIl90eXBlb2YiLCJoYXMiLCJnZXQiLCJzZXQiLCJfdCIsImhhc093blByb3BlcnR5IiwiY2FsbCIsIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIiwiX19yZXN0IiwicyIsInAiLCJwcm90b3R5cGUiLCJpbmRleE9mIiwiZ2V0T3duUHJvcGVydHlTeW1ib2xzIiwibGVuZ3RoIiwicHJvcGVydHlJc0VudW1lcmFibGUiLCJJQ09OX1NJWkUiLCJDSEVWUk9OX1NJWkUiLCJDT0xMQVBTRV9JQ09OX1NJWkUiLCJpc0ljb25OYW1lIiwiaWNvbiIsIk5hdmlnYXRpb25CYXNlIiwiZm9yd2FyZFJlZiIsInByb3BzIiwicmVmIiwiX3Byb3BzJGNsYXNzTmFtZSIsImNsYXNzTmFtZSIsIl9wcm9wcyRwcmVmaXhDbHMiLCJwcmVmaXhDbHMiLCJpdGVtcyIsImNvbnRyb2xsZWRDb2xsYXBzZWQiLCJjb2xsYXBzZWQiLCJfcHJvcHMkZGVmYXVsdENvbGxhcHMiLCJkZWZhdWx0Q29sbGFwc2VkIiwiX3Byb3BzJGNvbGxhcHNpYmxlIiwiY29sbGFwc2libGUiLCJvbkNvbGxhcHNlIiwib25Mb2dvQ2xpY2siLCJoZWFkZXIiLCJzZWxlY3RvciIsImNoaWxkcmVuIiwicmVzdCIsImNsYXNzZXMiLCJjbGFzc25hbWVzIiwiX3VzZUNvbnRyb2xsZWRTdGF0ZSIsInVzZUNvbnRyb2xsZWRTdGF0ZSIsIl91c2VDb250cm9sbGVkU3RhdGUyIiwiX3NsaWNlZFRvQXJyYXkyIiwic2V0Q29sbGFwc2VkIiwiY29sbGFwc2VkUmVmIiwidXNlTGF0ZXN0IiwiaGFuZGxlQ29sbGFwc2UiLCJ1c2VFdmVudENhbGxiYWNrIiwidmFsdWUiLCJ1c2VJbXBlcmF0aXZlSGFuZGxlIiwidG9nZ2xlIiwiY3VycmVudCIsImNvbGxhcHNlIiwiaGFuZGxlVG9nZ2xlQ29sbGFwc2UiLCJjb250ZXh0VmFsdWUiLCJ1c2VNZW1vIiwiX2pzeCIsIk5hdmlnYXRpb25Db250ZXh0IiwiUHJvdmlkZXIiLCJfanN4cyIsImFzc2lnbiIsImpvaW5DbHMiLCJ1bmRlZmluZWQiLCJOYXZpZ2F0aW9uTG9nbyIsIm9uQ2xpY2siLCJmaWx0ZXIiLCJpdGVtIiwiaGlkZGVuIiwibWFwIiwiaW5kZXgiLCJfYSIsIk5hdmlnYXRpb25NZW51SXRlbSIsImtleSIsInR5cGUiLCJJY29ucyIsIm5hbWUiLCJzaXplIiwiZGlzcGxheU5hbWUiLCJfcmVmIiwibGFiZWwiLCJzdWZmaXgiLCJsaW5rIiwiYWN0aXZlIiwiZGlzYWJsZWQiLCJkZWZhdWx0T3BlbiIsIm9uT3BlbkNoYW5nZSIsIl91c2VTdGF0ZSIsInVzZVN0YXRlIiwiX3VzZVN0YXRlMiIsIm9wZW4iLCJzZXRPcGVuIiwiaGFuZGxlQ2xpY2siLCJ1c2VNZW1vaXplZEZuIiwibmV4dCIsImhhc0NoaWxkcmVuIiwidmlzaWJsZUNoaWxkcmVuIiwiY2hpbGQiLCJjaGlsZEFjdGl2ZSIsInNvbWUiLCJyZW5kZXJJY29uIiwiaXRlbUljb24iLCJ3cmFwV2l0aExpbmsiLCJjb250ZW50IiwiaXRlbUxpbmsiLCJocmVmIiwiaXNWYWxpZEVsZW1lbnQiLCJjbG9uZUVsZW1lbnQiLCJjb2xsYXBzZWRDb250ZW50IiwiVHlwb2dyYXBoeSIsIkxhYmVsIiwiYXMiLCJUcmlnZ2VyIiwidHJpZ2dlciIsInBsYWNlbWVudCIsIm9mZnNldCIsIm92ZXJsYXlDbGFzc05hbWUiLCJfcmVmMiIsImNsb3NlIiwiX2IiLCJjaGlsZENvbnRlbnQiLCJUaXRsZSIsIml0ZW1Db250ZW50IiwiTmF2aWdhdGlvblNsb3RJdGVtIiwiX3VzZU5hdmlnYXRpb25Db250ZXh0IiwidXNlTmF2aWdhdGlvbkNvbnRleHQiLCJOYXZpZ2F0aW9uIiwiZXhwb3J0cyIsIkl0ZW0iLCJfZGVmYXVsdCIsIm1lbW8iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7OztBQVdBLElBQUFBLFdBQUEsR0FBQUMsT0FBQTtBQ1hBLElBQUFDLE1BQUEsR0FBQUQsT0FBQTtBQUNBLElBQUFFLFdBQUEsR0FBQUMsdUJBQUEsQ0FBQUgsT0FBQTtBQUNBLElBQUFJLG9CQUFBLEdBQUFDLHNCQUFBLENBQUFMLE9BQUE7QUFDQSxJQUFBTSxpQkFBQSxHQUFBRCxzQkFBQSxDQUFBTCxPQUFBO0FBQ0EsSUFBQU8sY0FBQSxHQUFBRixzQkFBQSxDQUFBTCxPQUFBO0FBQ0EsSUFBQVEsVUFBQSxHQUFBSCxzQkFBQSxDQUFBTCxPQUFBO0FBQ0EsSUFBQVMsTUFBQSxHQUFBVCxPQUFBO0FBQ0EsSUFBQVUsV0FBQSxHQUFBVixPQUFBO0FBQ0EsSUFBQVcsUUFBQSxHQUFBWCxPQUFBO0FBQ0EsSUFBQVksZUFBQSxHQUFBUCxzQkFBQSxDQUFBTCxPQUFBO0FBQ0EsSUFBQWEsUUFBQSxHQUFBYixPQUFBO0FBSUFBLE9BQUE7QUFBaUIsU0FBQUcsd0JBQUFXLENBQUEsRUFBQUMsQ0FBQSw2QkFBQUMsT0FBQSxNQUFBQyxDQUFBLE9BQUFELE9BQUEsSUFBQUUsQ0FBQSxPQUFBRixPQUFBLFlBQUFiLHVCQUFBLFlBQUFBLHdCQUFBVyxDQUFBLEVBQUFDLENBQUEsU0FBQUEsQ0FBQSxJQUFBRCxDQUFBLElBQUFBLENB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O0VBQVMsQ0FBQSxDQUFJO0FBQ3hGLENBQUM7QUFFRGdHLGtCQUFrQixDQUFDN0MsV0FBVyxHQUFHLGlCQUFpQjtBQUUzQyxJQUFNZ0QsVUFBVSxHQUFBQyxPQUFBLENBQUFELFVBQUEsR0FBRzdILE1BQU0sQ0FBQzRELE1BQU0sQ0FBQzVDLGNBQWMsRUFBRTtFQUN0RCtHLElBQUksRUFBRUw7QUR0TVIsQ0N1TUMsQ0FBQztBQUFDLElBQUFNLFFBQUEsR0FBQUYsT0FBQSxjQUVZOUgsTUFBTSxDQUFDNEQsTUFBTSxjQUFDLElBQUFxRSxXQUFJLEVBQUNqSCxjQUFjLENBQUMsRUFBRTtFQUNqRCtHLElBQUksRUFBRUw7QUR2TVIsQ0N3TUMsQ0FBQyIsImZpbGUiOiJjb21wb25lbnRzL05hdmlnYXRpb24vTmF2aWdhdGlvbi5qcyIsInNvdXJjZXNDb250ZW50IjpbInZhciBfX3Jlc3QgPSAodGhpcyAmJiB0aGlzLl9fcmVzdCkgfHwgZnVuY3Rpb24gKHMsIGUpIHtcbiAgICB2YXIgdCA9IHt9O1xuICAgIGZvciAodmFyIHAgaW4gcykgaWYgKE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChzLCBwKSAmJiBlLmluZGV4T2YocCkgPCAwKVxuICAgICAgICB0W3BdID0gc1twXTtcbiAgICBpZiAocyAhPSBudWxsICYmIHR5cGVvZiBPYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzID09PSBcImZ1bmN0aW9uXCIpXG4gICAgICAgIGZvciAodmFyIGkgPSAwLCBwID0gT2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scyhzKTsgaSA8IHAubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICAgIGlmIChlLmluZGV4T2YocFtpXSkgPCAwICYmIE9iamVjdC5wcm90b3R5cGUucHJvcGVydHlJc0VudW1lcmFibGUuY2FsbChzLCBwW2ldKSlcbiAgICAgICAgICAgICAgICB0W3BbaV1dID0gc1twW2ldXTtcbiAgICAgICAgfVxuICAgIHJldHVybiB0O1xufTtcbmltcG9ydCB7IGpzeCBhcyBfanN4LCBqc3hzIGFzIF9qc3hzIH0gZnJvbSBcInJlYWN0L2pzeC1ydW50aW1lXCI7XG5pbXBvcnQgeyBtZW1vLCB1c2VNZW1vLCB1c2VTdGF0ZSwgZm9yd2FyZFJlZiwgdXNlSW1wZXJhdGl2ZUhhbmRsZSwgY2xvbmVFbGVtZW50LCBpc1ZhbGlkRWxlbWVudCB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IGRlZmF1bHQgYXMgY2xhc3NuYW1lcywgam9pbkNscyB9IGZyb20gJy4uLy4uL3V0aWxzL2NsYXNzbmFtZXMnO1xuaW1wb3J0IHVzZUNvbnRyb2xsZWRTdGF0ZSBmcm9tICdAMW1vbmV5L2hvb2tzL3VzZUNvbnRyb2xsZWRTdGF0ZSc7XG5pbXBvcnQgdXNlRXZlbnRDYWxsYmFjayBmcm9tICdAMW1vbmV5L2hvb2tzL3VzZUV2ZW50Q2FsbGJhY2snO1xuaW1wb3J0IHVzZU1lbW9pemVkRm4gZnJvbSAnQDFtb25leS9ob29rcy91c2VNZW1vaXplZEZuJztcbmltcG9ydCB1c2VMYXRlc3QgZnJvbSAnQDFtb25leS9ob29rcy91c2VMYXRlc3QnO1xuaW1wb3J0IHsgSWNvbnMgfSBmcm9tICcuLi9JY29ucyc7XG5pbXBvcnQgeyBUeXBvZ3JhcGh5IH0gZnJvbSAnLi4vVHlwb2dyYXBoeSc7XG5pbXBvcnQgeyBUcmlnZ2VyIH0gZnJvbSAnLi4vVHJpZ2dlcic7XG5pbXBvcnQgTmF2aWdhdGlvbkxvZ28gZnJvbSAnLi9OYXZpZ2F0aW9uTG9nbyc7XG5pbXBvcnQgeyBOYXZpZ2F0aW9uQ29udGV4dCwgdXNlTmF2aWdhdGlvbkNvbnRleHQgfSBmcm9tICcuL2NvbnRleHQnO1xuaW1wb3J0ICcuL3N0eWxlJztcbmNvbnN0IElDT05fU0laRSA9IDE2O1xuY29uc3QgQ0hFVlJPTl9TSVpFID0gMTY7XG5jb25zdCBDT0xMQVBTRV9JQ09OX1NJWkUgPSAxNjtcbmNvbnN0IGlzSWNvbk5hbWUgPSAoaWNvbikgPT4gdHlwZW9mIGljb24gPT09ICdzdHJpbmcnO1xuY29uc3QgTmF2aWdhdGlvbkJhc2UgPSBmb3J3YXJkUmVmKChwcm9wcywgcmVmKSA9PiB7XG4gICAgY29uc3QgeyBjbGFzc05hbWUgPSAnJywgcHJlZml4Q2xzID0gJ25hdmlnYXRpb24nLCBpdGVtcywgY29sbGFwc2VkOiBjb250cm9sbGVkQ29sbGFwc2VkLCBkZWZhdWx0Q29sbGFwc2VkID0gZmFsc2UsIGNvbGxhcHNpYmxlID0gZmFsc2UsIG9uQ29sbGFwc2UsIG9uTG9nb0NsaWNrLCBoZWFkZXIsIHNlbGVjdG9yLCBjaGlsZHJlbiB9ID0gcHJvcHMsIHJlc3QgPSBfX3Jlc3QocHJvcHMsIFtcImNsYXNzTmFtZVwiLCBcInByZWZpeENsc1wiLCBcIml0ZW1zXCIsIFwiY29sbGFwc2VkXCIsIFwiZGVmYXVsdENvbGxhcHNlZFwiLCBcImNvbGxhcHNpYmxlXCIsIFwib25Db2xsYXBzZVwiLCBcIm9uTG9nb0NsaWNrXCIsIFwiaGVhZGVyXCIsIFwic2VsZWN0b3JcIiwgXCJjaGlsZHJlblwiXSk7XG4gICAgY29uc3QgY2xhc3NlcyA9IGNsYXNzbmFtZXMocHJlZml4Q2xzKTtcbiAgICBjb25zdCBbY29sbGFwc2VkLCBzZXRDb2xsYXBzZWRdID0gdXNlQ29udHJvbGxlZFN0YXRlKGRlZmF1bHRDb2xsYXBzZWQsIGNvbnRyb2xsZWRDb2xsYXBzZWQpO1xuICAgIGNvbnN0IGNvbGxhcHNlZFJlZiA9IHVzZUxhdGVzdChjb2xsYXBzZWQpO1xuICAgIGNvbnN0IGhhbmRsZUNvbGxhcHNlID0gdXNlRXZlbnRDYWxsYmFjaygodmFsdWUpID0+IHtcbiAgICAgICAgc2V0Q29sbGFwc2VkKHZhbHVlKTtcbiAgICAgICAgb25Db2xsYXBzZSA9PT0gbnVsbCB8fCBvbkNvbGxhcHNlID09PSB2b2lkIDAgPyB2b2lkIDAgOiBvbkNvbGxhcHNlKHZhbHVlKTtcbiAgICB9KTtcbiAgICB1c2VJbXBlcmF0aXZlSGFuZGxlKHJlZiwgKCkgPT4gKHtcbiAgICAgICAgdG9nZ2xlOiAoKSA9PiBoYW5kbGVDb2xsYXBzZSghY29sbGFwc2VkUmVmLmN1cnJlbnQpLFxuICAgICAgICBjb2xsYXBzZTogaGFuZGxlQ29sbGFwc2UsXG4gICAgfSksIFtoYW5kbGVDb2xsYXBzZV0pO1xuICAgIGNvbnN0IGhhbmRsZVRvZ2dsZUNvbGxhcHNlID0gdXNlRXZlbnRDYWxsYmFjaygoKSA9PiB7XG4gICAgICAgIGhhbmRsZUNvbGxhcHNlKCFjb2xsYXBzZWQpO1xuICAgIH0pO1xuICAgIGNvbnN0IGNvbnRleHRWYWx1ZSA9IHVzZU1lbW8oKCkgPT4gKHsgcHJlZml4Q2xzLCBjb2xsYXBzZWQgfSksIFtwcmVmaXhDbHMsIGNvbGxhcHNlZF0pO1xuICAgIHJldHVybiAoX2pzeChOYXZpZ2F0aW9uQ29udGV4dC5Qcm92aWRlciwgeyB2YWx1ZTogY29udGV4dFZhbHVlLCBjaGlsZHJlbjogX2pzeHMoXCJuYXZcIiwgT2JqZWN0LmFzc2lnbih7IGNsYXNzTmFtZTogY2xhc3Nlcyh2b2lkIDAsIGpvaW5DbHMoY29sbGFwc2VkICYmIGNsYXNzZXMoJ2NvbGxhcHNlZCcpLCBjbGFzc05hbWUpKSB9LCByZXN0LCB7IGNoaWxkcmVuOiBbX2pzeChcImRpdlwiLCB7IGNsYXNzTmFtZTogY2xhc3NlcygnaGVhZGVyJyksIGNoaWxkcmVuOiBoZWFkZXIgIT09IHVuZGVmaW5lZCA/IGhlYWRlciA6IChfanN4KE5hdmlnYXRpb25Mb2dvLCB7IGNvbGxhcHNlZDogY29sbGFwc2VkLCBvbkNsaWNrOiBvbkxvZ29DbGljayB9KSkgfSksIHNlbGVjdG9yICYmIF9qc3goXCJkaXZcIiwgeyBjbGFzc05hbWU6IGNsYXNzZXMoJ3NlbGVjdG9yJyksIGNoaWxkcmVuOiBzZWxlY3RvciB9KSwgX2pzeHMoXCJkaXZcIiwgeyBjbGFzc05hbWU6IGNsYXNzZXMoJ25hdicpLCBjaGlsZHJlbjogW19qc3goXCJkaXZcIiwgeyBjbGFzc05hbWU6IGNsYXNzZXMoJ21lbnUnKSwgY2hpbGRyZW46IGl0ZW1zLmZpbHRlcihpdGVtID0+ICFpdGVtLmhpZGRlbikubWFwKChpdGVtLCBpbmRleCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YXIgX2E7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAoX2pzeChOYXZpZ2F0aW9uTWVudUl0ZW0sIHsgaXRlbTogaXRlbSwgcHJlZml4Q2xzOiBwcmVmaXhDbHMsIGNvbGxhcHNlZDogY29sbGFwc2VkIH0sIChfYSA9IGl0ZW0ua2V5KSAhPT0gbnVsbCAmJiBfYSAhPT0gdm9pZCAwID8gX2EgOiBpbmRleCkpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pIH0pLCBjb2xsYXBzaWJsZSAmJiAoX2pzeChcImJ1dHRvblwiLCB7IGNsYXNzTmFtZTogY2xhc3NlcygnY29sbGFwc2UtdG9nZ2xlJyksIG9uQ2xpY2s6IGhhbmRsZVRvZ2dsZUNvbGxhcHNlLCB0eXBlOiBcImJ1dHRvblwiLCBjaGlsZHJlbjogX2pzeChJY29ucywgeyBuYW1lOiBjb2xsYXBzZWQgPyAnZXh0ZW5kJyA6ICdjb2xsYXBzZScsIHNpemU6IENPTExBUFNFX0lDT05fU0laRSB9KSB9KSldIH0pLCBjaGlsZHJlbiAmJiBfanN4KFwiZGl2XCIsIHsgY2xhc3NOYW1lOiBjbGFzc2VzKCdzZXR0aW5ncycpLCBjaGlsZHJlbjogY2hpbGRyZW4gfSldIH0pKSB9KSk7XG59KTtcbk5hdmlnYXRpb25CYXNlLmRpc3BsYXlOYW1lID0gJ05hdmlnYXRpb24nO1xuY29uc3QgTmF2aWdhdGlvbk1lbnVJdGVtID0gKHsgaXRlbSwgcHJlZml4Q2xzLCBjb2xsYXBzZWQgfSkgPT4ge1xuICAgIGNvbnN0IHsgbGFiZWwsIGljb24sIHN1ZmZpeCwgbGluaywgYWN0aXZlLCBkaXNhYmxlZCwgb25DbGljaywgY2hpbGRyZW4sIGRlZmF1bHRPcGVuLCBvbk9wZW5DaGFuZ2UgfSA9IGl0ZW07XG4gICAgY29uc3QgY2xhc3NlcyA9IGNsYXNzbmFtZXMocHJlZml4Q2xzKTtcbiAgICBjb25zdCBbb3Blbiwgc2V0T3Blbl0gPSB1c2VTdGF0ZShkZWZhdWx0T3BlbiAhPT0gbnVsbCAmJiBkZWZhdWx0T3BlbiAhPT0gdm9pZCAwID8gZGVmYXVsdE9wZW4gOiBmYWxzZSk7XG4gICAgY29uc3QgaGFuZGxlQ2xpY2sgPSB1c2VNZW1vaXplZEZuKChlKSA9PiB7XG4gICAgICAgIGlmIChkaXNhYmxlZClcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgaWYgKGNoaWxkcmVuID09PSBudWxsIHx8IGNoaWxkcmVuID09PSB2b2lkIDAgPyB2b2lkIDAgOiBjaGlsZHJlbi5sZW5ndGgpIHtcbiAgICAgICAgICAgIGNvbnN0IG5leHQgPSAhb3BlbjtcbiAgICAgICAgICAgIHNldE9wZW4obmV4dCk7XG4gICAgICAgICAgICBvbk9wZW5DaGFuZ2UgPT09IG51bGwgfHwgb25PcGVuQ2hhbmdlID09PSB2b2lkIDAgPyB2b2lkIDAgOiBvbk9wZW5DaGFuZ2UobmV4dCk7XG4gICAgICAgIH1cbiAgICAgICAgb25DbGljayA9PT0gbnVsbCB8fCBvbkNsaWNrID09PSB2b2lkIDAgPyB2b2lkIDAgOiBvbkNsaWNrKGUpO1xuICAgIH0pO1xuICAgIGNvbnN0IGhhc0NoaWxkcmVuID0gY2hpbGRyZW4gJiYgY2hpbGRyZW4ubGVuZ3RoID4gMDtcbiAgICBjb25zdCB2aXNpYmxlQ2hpbGRyZW4gPSBjaGlsZHJlbiA9PT0gbnVsbCB8fCBjaGlsZHJlbiA9PT0gdm9pZCAwID8gdm9pZCAwIDogY2hpbGRyZW4uZmlsdGVyKGNoaWxkID0+ICFjaGlsZC5oaWRkZW4pO1xuICAgIGNvbnN0IGNoaWxkQWN0aXZlID0gaGFzQ2hpbGRyZW4gJiYgY2hpbGRyZW4uc29tZShjaGlsZCA9PiBjaGlsZC5hY3RpdmUpO1xuICAgIGNvbnN0IHJlbmRlckljb24gPSAoaXRlbUljb24pID0+IHtcbiAgICAgICAgaWYgKCFpdGVtSWNvbilcbiAgICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICBpZiAoaXNJY29uTmFtZShpdGVtSWNvbikpIHtcbiAgICAgICAgICAgIHJldHVybiBfanN4KEljb25zLCB7IG5hbWU6IGl0ZW1JY29uLCBzaXplOiBJQ09OX1NJWkUgfSk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGl0ZW1JY29uO1xuICAgIH07XG4gICAgY29uc3Qgd3JhcFdpdGhMaW5rID0gKGNvbnRlbnQsIGl0ZW1MaW5rKSA9PiB7XG4gICAgICAgIGlmICghaXRlbUxpbmspXG4gICAgICAgICAgICByZXR1cm4gY29udGVudDtcbiAgICAgICAgaWYgKHR5cGVvZiBpdGVtTGluayA9PT0gJ3N0cmluZycpIHtcbiAgICAgICAgICAgIHJldHVybiBfanN4KFwiYVwiLCB7IGhyZWY6IGl0ZW1MaW5rLCBjbGFzc05hbWU6IGNsYXNzZXMoJ2l0ZW0tbGluaycpLCBjaGlsZHJlbjogY29udGVudCB9KTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoaXNWYWxpZEVsZW1lbnQoaXRlbUxpbmspKSB7XG4gICAgICAgICAgICByZXR1cm4gY2xvbmVFbGVtZW50KGl0ZW1MaW5rLCB7XG4gICAgICAgICAgICAgICAgY2hpbGRyZW46IGNvbnRlbnQsXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gY29udGVudDtcbiAgICB9O1xuICAgIGlmIChjb2xsYXBzZWQpIHtcbiAgICAgICAgY29uc3QgY29sbGFwc2VkQ29udGVudCA9IChfanN4cyhcImJ1dHRvblwiLCB7IGNsYXNzTmFtZTogY2xhc3NlcygnY29sbGFwc2VkLWl0ZW0nLCBqb2luQ2xzKChhY3RpdmUgfHwgY2hpbGRBY3RpdmUpICYmIGNsYXNzZXMoJ2NvbGxhcHNlZC1pdGVtLWFjdGl2ZScpLCBkaXNhYmxlZCAmJiBjbGFzc2VzKCdjb2xsYXBzZWQtaXRlbS1kaXNhYmxlZCcpKSksIG9uQ2xpY2s6IGhhc0NoaWxkcmVuID8gdW5kZWZpbmVkIDogaGFuZGxlQ2xpY2ssIGRpc2FibGVkOiBkaXNhYmxlZCwgdHlwZTogXCJidXR0b25cIiwgY2hpbGRyZW46IFtpY29uICYmIChfanN4KFwic3BhblwiLCB7IGNsYXNzTmFtZTogY2xhc3NlcygnY29sbGFwc2VkLWl0ZW0taWNvbicpLCBjaGlsZHJlbjogcmVuZGVySWNvbihpY29uKSB9KSksIF9qc3goVHlwb2dyYXBoeS5MYWJlbCwgeyBzaXplOiBcInhzXCIsIGFzOiBcInNwYW5cIiwgY2xhc3NOYW1lOiBjbGFzc2VzKCdjb2xsYXBzZWQtaXRlbS1sYWJlbCcpLCBjaGlsZHJlbjogbGFiZWwgfSldIH0pKTtcbiAgICAgICAgaWYgKGhhc0NoaWxkcmVuICYmICh2aXNpYmxlQ2hpbGRyZW4gPT09IG51bGwgfHwgdmlzaWJsZUNoaWxkcmVuID09PSB2b2lkIDAgPyB2b2lkIDAgOiB2aXNpYmxlQ2hpbGRyZW4ubGVuZ3RoKSkge1xuICAgICAgICAgICAgcmV0dXJuIChfanN4KFRyaWdnZXIsIHsgdHJpZ2dlcjogXCJjbGlja1wiLCBwbGFjZW1lbnQ6IFwicmlnaHQtc3RhcnRcIiwgb2Zmc2V0OiAxMCwgb3ZlcmxheUNsYXNzTmFtZTogY2xhc3NlcygnY29sbGFwc2VkLXN1Ym1lbnUtcGFuZWwnKSwgY29udGVudDogKHsgY2xvc2UgfSkgPT4gKF9qc3goXCJkaXZcIiwgeyBjbGFzc05hbWU6IGNsYXNzZXMoJ2NvbGxhcHNlZC1zdWJtZW51JyksIGNoaWxkcmVuOiB2aXNpYmxlQ2hpbGRyZW4ubWFwKChjaGlsZCwgaW5kZXgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHZhciBfYSwgX2I7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBjaGlsZENvbnRlbnQgPSAoX2pzeHMoXCJidXR0b25cIiwgeyBjbGFzc05hbWU6IGNsYXNzZXMoJ2NvbGxhcHNlZC1zdWJtZW51LWl0ZW0nLCBqb2luQ2xzKGNoaWxkLmFjdGl2ZSAmJiBjbGFzc2VzKCdjb2xsYXBzZWQtc3VibWVudS1pdGVtLWFjdGl2ZScpLCBjaGlsZC5kaXNhYmxlZCAmJiBjbGFzc2VzKCdjb2xsYXBzZWQtc3VibWVudS1pdGVtLWRpc2FibGVkJykpKSwgb25DbGljazogKGUpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyIF9hO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoIWNoaWxkLmRpc2FibGVkKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoX2EgPSBjaGlsZC5vbkNsaWNrKSA9PT0gbnVsbCB8fCBfYSA9PT0gdm9pZCAwID8gdm9pZCAwIDogX2EuY2FsbChjaGlsZCwgZSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbG9zZSgpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgZGlzYWJsZWQ6IGNoaWxkLmRpc2FibGVkLCB0eXBlOiBcImJ1dHRvblwiLCBjaGlsZHJlbjogW2NoaWxkLmljb24gJiYgKF9qc3goXCJzcGFuXCIsIHsgY2xhc3NOYW1lOiBjbGFzc2VzKCdpdGVtLWljb24nKSwgY2hpbGRyZW46IHJlbmRlckljb24oY2hpbGQuaWNvbikgfSkpLCBfanN4KFR5cG9ncmFwaHkuVGl0bGUsIHsgc2l6ZTogXCJzbVwiLCBhczogXCJkaXZcIiwgY2xhc3NOYW1lOiBjbGFzc2VzKCdpdGVtLWxhYmVsJyksIGNoaWxkcmVuOiBjaGlsZC5sYWJlbCB9KSwgY2hpbGQuc3VmZml4ICYmIF9qc3goXCJzcGFuXCIsIHsgY2xhc3NOYW1lOiBjbGFzc2VzKCdpdGVtLXN1ZmZpeCcpLCBjaGlsZHJlbjogY2hpbGQuc3VmZml4IH0pXSB9LCAoX2EgPSBjaGlsZC5rZXkpICE9PSBudWxsICYmIF9hICE9PSB2b2lkIDAgPyBfYSA6IGluZGV4KSk7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gKF9qc3hzKFwiZGl2XCIsIHsgY2hpbGRyZW46IFtpbmRleCA+IDAgJiYgX2pzeChcImRpdlwiLCB7IGNsYXNzTmFtZTogY2xhc3NlcygnY29sbGFwc2VkLXN1Ym1lbnUtZGl2aWRlcicpIH0pLCBjaGlsZC5saW5rID8gd3JhcFdpdGhMaW5rKGNoaWxkQ29udGVudCwgY2hpbGQubGluaykgOiBjaGlsZENvbnRlbnRdIH0sIChfYiA9IGNoaWxkLmtleSkgIT09IG51bGwgJiYgX2IgIT09IHZvaWQgMCA/IF9iIDogaW5kZXgpKTtcbiAgICAgICAgICAgICAgICAgICAgfSkgfSkpLCBjaGlsZHJlbjogY29sbGFwc2VkQ29udGVudCB9KSk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGxpbmsgPyB3cmFwV2l0aExpbmsoY29sbGFwc2VkQ29udGVudCwgbGluaykgOiBjb2xsYXBzZWRDb250ZW50O1xuICAgIH1cbiAgICByZXR1cm4gKF9qc3hzKFwiZGl2XCIsIHsgY2xhc3NOYW1lOiBjbGFzc2VzKCdpdGVtLXdyYXBwZXInKSwgY2hpbGRyZW46IFsoKCkgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IGl0ZW1Db250ZW50ID0gKF9qc3hzKFwiYnV0dG9uXCIsIHsgY2xhc3NOYW1lOiBjbGFzc2VzKCdpdGVtJywgam9pbkNscyhoYXNDaGlsZHJlbiAmJiBjbGFzc2VzKCdpdGVtLWV4cGFuZGFibGUnKSwgYWN0aXZlICYmIGNsYXNzZXMoJ2l0ZW0tYWN0aXZlJyksIGRpc2FibGVkICYmIGNsYXNzZXMoJ2l0ZW0tZGlzYWJsZWQnKSkpLCBvbkNsaWNrOiBoYW5kbGVDbGljaywgZGlzYWJsZWQ6IGRpc2FibGVkLCB0eXBlOiBcImJ1dHRvblwiLCBjaGlsZHJlbjogW19qc3hzKFwiZGl2XCIsIHsgY2xhc3NOYW1lOiBjbGFzc2VzKCdpdGVtLWNvbnRlbnQnKSwgY2hpbGRyZW46IFtpY29uICYmIChfanN4KFwic3BhblwiLCB7IGNsYXNzTmFtZTogY2xhc3NlcygnaXRlbS1pY29uJyksIGNoaWxkcmVuOiByZW5kZXJJY29uKGljb24pIH0pKSwgX2pzeChUeXBvZ3JhcGh5LlRpdGxlLCB7IHNpemU6IFwic21cIiwgYXM6IFwiZGl2XCIsIGNsYXNzTmFtZTogY2xhc3NlcygnaXRlbS1sYWJlbCcpLCBjaGlsZHJlbjogbGFiZWwgfSksIHN1ZmZpeCAmJiBfanN4KFwic3BhblwiLCB7IGNsYXNzTmFtZTogY2xhc3NlcygnaXRlbS1zdWZmaXgnKSwgY2hpbGRyZW46IHN1ZmZpeCB9KV0gfSksIGhhc0NoaWxkcmVuICYmIChfanN4KFwic3BhblwiLCB7IGNsYXNzTmFtZTogY2xhc3NlcygnaXRlbS1hcnJvdycsIGpvaW5DbHMob3BlbiAmJiBjbGFzc2VzKCdpdGVtLWFycm93LW9wZW4nKSkpLCBjaGlsZHJlbjogX2pzeChJY29ucywgeyBuYW1lOiBcImNoZXZyb25Eb3duXCIsIHNpemU6IENIRVZST05fU0laRSB9KSB9KSldIH0pKTtcbiAgICAgICAgICAgICAgICByZXR1cm4gbGluayAmJiAhaGFzQ2hpbGRyZW4gPyB3cmFwV2l0aExpbmsoaXRlbUNvbnRlbnQsIGxpbmspIDogaXRlbUNvbnRlbnQ7XG4gICAgICAgICAgICB9KSgpLCBoYXNDaGlsZHJlbiAmJiAoX2pzeChcImRpdlwiLCB7IGNsYXNzTmFtZTogY2xhc3Nlcygnc3VibWVudScsIGpvaW5DbHMob3BlbiAmJiBjbGFzc2VzKCdzdWJtZW51LW9wZW4nKSkpLCBjaGlsZHJlbjogX2pzeChcImRpdlwiLCB7IGNsYXNzTmFtZTogY2xhc3Nlcygnc3VibWVudS1pbm5lcicpLCBjaGlsZHJlbjogdmlzaWJsZUNoaWxkcmVuID09PSBudWxsIHx8IHZpc2libGVDaGlsZHJlbiA9PT0gdm9pZCAwID8gdm9pZCAwIDogdmlzaWJsZUNoaWxkcmVuLm1hcCgoY2hpbGQsIGluZGV4KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICB2YXIgX2E7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBjaGlsZENvbnRlbnQgPSAoX2pzeChcImJ1dHRvblwiLCB7IGNsYXNzTmFtZTogY2xhc3Nlcygnc3VibWVudS1pdGVtJywgam9pbkNscyhjaGlsZC5hY3RpdmUgJiYgY2xhc3Nlcygnc3VibWVudS1pdGVtLWFjdGl2ZScpLCBjaGlsZC5kaXNhYmxlZCAmJiBjbGFzc2VzKCdzdWJtZW51LWl0ZW0tZGlzYWJsZWQnKSkpLCBvbkNsaWNrOiAoZSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YXIgX2E7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICghY2hpbGQuZGlzYWJsZWQpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoX2EgPSBjaGlsZC5vbkNsaWNrKSA9PT0gbnVsbCB8fCBfYSA9PT0gdm9pZCAwID8gdm9pZCAwIDogX2EuY2FsbChjaGlsZCwgZSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgZGlzYWJsZWQ6IGNoaWxkLmRpc2FibGVkLCB0eXBlOiBcImJ1dHRvblwiLCBjaGlsZHJlbjogX2pzeHMoXCJkaXZcIiwgeyBjbGFzc05hbWU6IGNsYXNzZXMoJ2l0ZW0tY29udGVudCcpLCBjaGlsZHJlbjogW2NoaWxkLmljb24gJiYgKF9qc3goXCJzcGFuXCIsIHsgY2xhc3NOYW1lOiBjbGFzc2VzKCdpdGVtLWljb24nKSwgY2hpbGRyZW46IHJlbmRlckljb24oY2hpbGQuaWNvbikgfSkpLCBfanN4KFR5cG9ncmFwaHkuVGl0bGUsIHsgc2l6ZTogXCJzbVwiLCBhczogXCJkaXZcIiwgY2xhc3NOYW1lOiBjbGFzc2VzKCdpdGVtLWxhYmVsJyksIGNoaWxkcmVuOiBjaGlsZC5sYWJlbCB9KSwgY2hpbGQuc3VmZml4ICYmIF9qc3goXCJzcGFuXCIsIHsgY2xhc3NOYW1lOiBjbGFzc2VzKCdpdGVtLXN1ZmZpeCcpLCBjaGlsZHJlbjogY2hpbGQuc3VmZml4IH0pXSB9KSB9LCAoX2EgPSBjaGlsZC5rZXkpICE9PSBudWxsICYmIF9hICE9PSB2b2lkIDAgPyBfYSA6IGluZGV4KSk7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gY2hpbGQubGluayA/IHdyYXBXaXRoTGluayhjaGlsZENvbnRlbnQsIGNoaWxkLmxpbmspIDogY2hpbGRDb250ZW50O1xuICAgICAgICAgICAgICAgICAgICB9KSB9KSB9KSldIH0pKTtcbn07XG4vKipcbiAqIEEgc2luZ2xlIHNpZGViYXIgcm93IGZvciB0aGUgYm90dG9tIGBjaGlsZHJlbmAgc2xvdCAoc2V0dGluZ3MsIHByb2ZpbGUsIOKApikuXG4gKiBSZWFkcyB0aGUgcHJlZml4IGFuZCBjb2xsYXBzZWQgc3RhdGUgZnJvbSB0aGUgcGFyZW50IE5hdmlnYXRpb24sIHNvIGl0IGdldHNcbiAqIHRoZSBzYW1lIGxheW91dCBwbHVzIGhvdmVyIC8gYWN0aXZlIC8gZGlzYWJsZWQgc3RhdGVzIGFzIGEgcm93IGZyb20gYGl0ZW1zYC5cbiAqIEFsc28gYXZhaWxhYmxlIGFzIGBOYXZpZ2F0aW9uLkl0ZW1gLlxuICovXG5jb25zdCBOYXZpZ2F0aW9uU2xvdEl0ZW0gPSAocHJvcHMpID0+IHtcbiAgICBjb25zdCB7IHByZWZpeENscywgY29sbGFwc2VkIH0gPSB1c2VOYXZpZ2F0aW9uQ29udGV4dCgpO1xuICAgIHJldHVybiBfanN4KE5hdmlnYXRpb25NZW51SXRlbSwgeyBpdGVtOiBwcm9wcywgcHJlZml4Q2xzOiBwcmVmaXhDbHMsIGNvbGxhcHNlZDogY29sbGFwc2VkIH0pO1xufTtcbk5hdmlnYXRpb25TbG90SXRlbS5kaXNwbGF5TmFtZSA9ICdOYXZpZ2F0aW9uLkl0ZW0nO1xuZXhwb3J0IGNvbnN0IE5hdmlnYXRpb24gPSBPYmplY3QuYXNzaWduKE5hdmlnYXRpb25CYXNlLCB7XG4gICAgSXRlbTogTmF2aWdhdGlvblNsb3RJdGVtLFxufSk7XG5leHBvcnQgZGVmYXVsdCBPYmplY3QuYXNzaWduKG1lbW8oTmF2aWdhdGlvbkJhc2UpLCB7XG4gICAgSXRlbTogTmF2aWdhdGlvblNsb3RJdGVtLFxufSk7IixudWxsXSwic291cmNlUm9vdCI6Ii4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYyJ9
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
export interface NavigationContextValue {
|
|
2
|
+
prefixCls: string;
|
|
3
|
+
collapsed: boolean;
|
|
4
|
+
}
|
|
5
|
+
/**
|
|
6
|
+
* Broadcasts the sidebar's class prefix and collapsed state so a
|
|
7
|
+
* `Navigation.Item` placed in the bottom `children` slot renders exactly
|
|
8
|
+
* like a row from `items`. Outside a Navigation it falls back to the
|
|
9
|
+
* default prefix, expanded.
|
|
10
|
+
*/
|
|
11
|
+
export declare const NavigationContext: import("react").Context<NavigationContextValue>;
|
|
12
|
+
export declare const useNavigationContext: () => NavigationContextValue;
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
'use client';
|
|
3
|
+
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports.useNavigationContext = exports.NavigationContext = void 0;
|
|
8
|
+
var _react = require("react");
|
|
9
|
+
/**
|
|
10
|
+
* Broadcasts the sidebar's class prefix and collapsed state so a
|
|
11
|
+
* `Navigation.Item` placed in the bottom `children` slot renders exactly
|
|
12
|
+
* like a row from `items`. Outside a Navigation it falls back to the
|
|
13
|
+
* default prefix, expanded.
|
|
14
|
+
*/
|
|
15
|
+
var NavigationContext = exports.NavigationContext = /*#__PURE__*/(0, _react.createContext)({
|
|
16
|
+
prefixCls: 'navigation',
|
|
17
|
+
collapsed: false
|
|
18
|
+
});
|
|
19
|
+
var useNavigationContext = exports.useNavigationContext = function useNavigationContext() {
|
|
20
|
+
return (0, _react.useContext)(NavigationContext);
|
|
21
|
+
};
|
|
22
|
+
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvc3JjL2NvbXBvbmVudHMvTmF2aWdhdGlvbi9jb250ZXh0LnRzIiwiY29tcG9uZW50cy9OYXZpZ2F0aW9uL2NvbnRleHQuanMiXSwibmFtZXMiOlsiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJleHBvcnRzIiwidmFsdWUiLCJ1c2VOYXZpZ2F0aW9uQ29udGV4dCIsIk5hdmlnYXRpb25Db250ZXh0IiwiX3JlYWN0IiwicmVxdWlyZSIsImNyZWF0ZUNvbnRleHQiLCJwcmVmaXhDbHMiLCJjb2xsYXBzZWQiLCJ1c2VDb250ZXh0Il0sIm1hcHBpbmdzIjoiO0FBQUEsWUFBWTs7QUFBQ0EsTUFBQSxDQUFBQyxjQUFBLENBQUFDLE9BQUE7RUFBQUMsS0FBQTtBQUFBO0FBQUFELE9BQUEsQ0FBQUUsb0JBQUEsR0FBQUYsT0FBQSxDQUFBRyxpQkFBQTtBQUViLElBQUFDLE1BQUEsR0FBQUMsT0FBQTtBQU9BO0FDTkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBRFFPLElBQU1GLGlCQUFpQixHQUFBSCxPQUFBLENBQUFHLGlCQUFBLGdCQUFHLElBQUFHLG9CQUFhLEVBQXlCO0VBQ3JFQyxTQUFTLEVBQUUsWUFBWTtFQUN2QkMsU0FBUyxFQUFFO0FDTmIsQ0RPQyxDQUFDO0FBRUssSUFBTU4sb0JBQW9CLEdBQUFGLE9BQUEsQ0FBQUUsb0JBQUEsR0FBRyxTQUF2QkEsb0JBQW9CQSxDQUFBO0VBQUEsT0FBUyxJQUFBTyxpQkFBVSxFQUFDTixpQkFBaUIsQ0FBQztBQUFBIiwiZmlsZSI6ImNvbXBvbmVudHMvTmF2aWdhdGlvbi9jb250ZXh0LmpzIiwic291cmNlc0NvbnRlbnQiOltudWxsLCIndXNlIGNsaWVudCc7XG5pbXBvcnQgeyBjcmVhdGVDb250ZXh0LCB1c2VDb250ZXh0IH0gZnJvbSAncmVhY3QnO1xuLyoqXG4gKiBCcm9hZGNhc3RzIHRoZSBzaWRlYmFyJ3MgY2xhc3MgcHJlZml4IGFuZCBjb2xsYXBzZWQgc3RhdGUgc28gYVxuICogYE5hdmlnYXRpb24uSXRlbWAgcGxhY2VkIGluIHRoZSBib3R0b20gYGNoaWxkcmVuYCBzbG90IHJlbmRlcnMgZXhhY3RseVxuICogbGlrZSBhIHJvdyBmcm9tIGBpdGVtc2AuIE91dHNpZGUgYSBOYXZpZ2F0aW9uIGl0IGZhbGxzIGJhY2sgdG8gdGhlXG4gKiBkZWZhdWx0IHByZWZpeCwgZXhwYW5kZWQuXG4gKi9cbmV4cG9ydCBjb25zdCBOYXZpZ2F0aW9uQ29udGV4dCA9IGNyZWF0ZUNvbnRleHQoe1xuICAgIHByZWZpeENsczogJ25hdmlnYXRpb24nLFxuICAgIGNvbGxhcHNlZDogZmFsc2UsXG59KTtcbmV4cG9ydCBjb25zdCB1c2VOYXZpZ2F0aW9uQ29udGV4dCA9ICgpID0+IHVzZUNvbnRleHQoTmF2aWdhdGlvbkNvbnRleHQpOyJdLCJzb3VyY2VSb290IjoiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjIn0=
|
|
@@ -48,9 +48,12 @@ export interface NavigationProps {
|
|
|
48
48
|
onLogoClick?: (e: MouseEvent<HTMLElement>) => void;
|
|
49
49
|
/** Company selector slot (below header) */
|
|
50
50
|
selector?: ReactNode;
|
|
51
|
-
/** Children rendered at bottom (e.g., settings, profile) */
|
|
51
|
+
/** Children rendered at bottom (e.g., settings, profile). Use `Navigation.Item` for rows that match `items`. */
|
|
52
52
|
children?: ReactNode;
|
|
53
53
|
}
|
|
54
|
+
/** Props of `Navigation.Item` — a single row for the bottom `children` slot */
|
|
55
|
+
export interface NavigationItemProps extends Omit<NavigationItem, 'key' | 'hidden' | 'children' | 'defaultOpen' | 'onOpenChange'> {
|
|
56
|
+
}
|
|
54
57
|
export interface NavigationHandlers {
|
|
55
58
|
/** Toggle collapsed state */
|
|
56
59
|
toggle: () => void;
|