@k8slens/drop-down-menu-items 1.0.0
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/index.d.ts +7 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +92 -0
- package/dist/src/drop-down-menu-item-row.d.ts +26 -0
- package/dist/src/drop-down-menu-item-row.d.ts.map +1 -0
- package/dist/src/drop-down-menu-separator.d.ts +26 -0
- package/dist/src/drop-down-menu-separator.d.ts.map +1 -0
- package/dist/src/drop-down-menu-sub-menu.d.ts +34 -0
- package/dist/src/drop-down-menu-sub-menu.d.ts.map +1 -0
- package/dist/tsconfig.tsbuildinfo +1 -0
- package/package.json +69 -0
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
export { DropDownMenuSubMenu } from "./src/drop-down-menu-sub-menu";
|
|
2
|
+
export type { DropDownMenuSubMenuProps } from "./src/drop-down-menu-sub-menu";
|
|
3
|
+
export { DropDownMenuSeparator } from "./src/drop-down-menu-separator";
|
|
4
|
+
export type { DropDownMenuSeparatorProps } from "./src/drop-down-menu-separator";
|
|
5
|
+
export { DropDownMenuItemRow } from "./src/drop-down-menu-item-row";
|
|
6
|
+
export type { DropDownMenuItemIcon, DropDownMenuItemRowProps } from "./src/drop-down-menu-item-row";
|
|
7
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,+BAA+B,CAAC;AACpE,YAAY,EAAE,wBAAwB,EAAE,MAAM,+BAA+B,CAAC;AAC9E,OAAO,EAAE,qBAAqB,EAAE,MAAM,gCAAgC,CAAC;AACvE,YAAY,EAAE,0BAA0B,EAAE,MAAM,gCAAgC,CAAC;AACjF,OAAO,EAAE,mBAAmB,EAAE,MAAM,+BAA+B,CAAC;AACpE,YAAY,EAAE,oBAAoB,EAAE,wBAAwB,EAAE,MAAM,+BAA+B,CAAC"}
|
package/dist/index.js
ADDED
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
+
var __export = (target, all) => {
|
|
7
|
+
for (var name in all)
|
|
8
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
9
|
+
};
|
|
10
|
+
var __copyProps = (to, from, except, desc) => {
|
|
11
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
12
|
+
for (let key of __getOwnPropNames(from))
|
|
13
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
14
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
15
|
+
}
|
|
16
|
+
return to;
|
|
17
|
+
};
|
|
18
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
|
+
|
|
20
|
+
// index.ts
|
|
21
|
+
var index_exports = {};
|
|
22
|
+
__export(index_exports, {
|
|
23
|
+
DropDownMenuItemRow: () => DropDownMenuItemRow,
|
|
24
|
+
DropDownMenuSeparator: () => DropDownMenuSeparator,
|
|
25
|
+
DropDownMenuSubMenu: () => DropDownMenuSubMenu
|
|
26
|
+
});
|
|
27
|
+
module.exports = __toCommonJS(index_exports);
|
|
28
|
+
|
|
29
|
+
// src/drop-down-menu-item-row.tsx
|
|
30
|
+
var import_element_components = require("@k8slens/element-components");
|
|
31
|
+
var import_icon = require("@k8slens/icon");
|
|
32
|
+
var import_jsx_runtime = require("react/jsx-runtime");
|
|
33
|
+
var DropDownMenuItemRow = ({
|
|
34
|
+
Icon,
|
|
35
|
+
hasSubMenu,
|
|
36
|
+
trailing,
|
|
37
|
+
children,
|
|
38
|
+
...rowProps
|
|
39
|
+
}) => /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(
|
|
40
|
+
import_element_components.ClickableLi,
|
|
41
|
+
{
|
|
42
|
+
$flex: { verticalAlign: "center", horizontalAlign: "space-between", gap: "s" },
|
|
43
|
+
$padding: { vertical: "3xs", horizontal: "xs" },
|
|
44
|
+
$margin: { vertical: "xxs" },
|
|
45
|
+
$color: { normal: "textDefault", hover: "textHighlight" },
|
|
46
|
+
$backgroundColor: { hover: "grey60" },
|
|
47
|
+
...rowProps,
|
|
48
|
+
children: [
|
|
49
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_element_components.Span, { $flex: { verticalAlign: "center", gap: "xs" }, children: [
|
|
50
|
+
Icon && /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Icon, { $size: "m" }),
|
|
51
|
+
children
|
|
52
|
+
] }),
|
|
53
|
+
trailing,
|
|
54
|
+
hasSubMenu && /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_icon.ChevronRightIcon, { "data-drop-down-menu-item-chevron-test": true, $size: "m" })
|
|
55
|
+
]
|
|
56
|
+
}
|
|
57
|
+
);
|
|
58
|
+
|
|
59
|
+
// src/drop-down-menu-sub-menu.tsx
|
|
60
|
+
var import_jsx_runtime2 = require("react/jsx-runtime");
|
|
61
|
+
var DropDownMenuSubMenu = ({ children, menu, trailing, ...rowProps }) => /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(
|
|
62
|
+
DropDownMenuItemRow,
|
|
63
|
+
{
|
|
64
|
+
...rowProps,
|
|
65
|
+
hasSubMenu: true,
|
|
66
|
+
trailing,
|
|
67
|
+
$anchor: true,
|
|
68
|
+
$dropDownMenu: { openOn: "hover", position: "right span-bottom", ...menu },
|
|
69
|
+
children
|
|
70
|
+
}
|
|
71
|
+
);
|
|
72
|
+
|
|
73
|
+
// src/drop-down-menu-separator.tsx
|
|
74
|
+
var import_element_components2 = require("@k8slens/element-components");
|
|
75
|
+
var import_jsx_runtime3 = require("react/jsx-runtime");
|
|
76
|
+
var DropDownMenuSeparator = ({ data: _data, ...liProps }) => /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(
|
|
77
|
+
import_element_components2.Li,
|
|
78
|
+
{
|
|
79
|
+
$height: "4xs",
|
|
80
|
+
$margin: { vertical: "3xs" },
|
|
81
|
+
$backgroundColor: "grey60",
|
|
82
|
+
"data-drop-down-menu-separator-test": true,
|
|
83
|
+
...liProps
|
|
84
|
+
}
|
|
85
|
+
);
|
|
86
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
87
|
+
0 && (module.exports = {
|
|
88
|
+
DropDownMenuItemRow,
|
|
89
|
+
DropDownMenuSeparator,
|
|
90
|
+
DropDownMenuSubMenu
|
|
91
|
+
});
|
|
92
|
+
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vaW5kZXgudHMiLCAiLi4vc3JjL2Ryb3AtZG93bi1tZW51LWl0ZW0tcm93LnRzeCIsICIuLi9zcmMvZHJvcC1kb3duLW1lbnUtc3ViLW1lbnUudHN4IiwgIi4uL3NyYy9kcm9wLWRvd24tbWVudS1zZXBhcmF0b3IudHN4Il0sCiAgInNvdXJjZXNDb250ZW50IjogWyJleHBvcnQgeyBEcm9wRG93bk1lbnVTdWJNZW51IH0gZnJvbSBcIi4vc3JjL2Ryb3AtZG93bi1tZW51LXN1Yi1tZW51XCI7XG5leHBvcnQgdHlwZSB7IERyb3BEb3duTWVudVN1Yk1lbnVQcm9wcyB9IGZyb20gXCIuL3NyYy9kcm9wLWRvd24tbWVudS1zdWItbWVudVwiO1xuZXhwb3J0IHsgRHJvcERvd25NZW51U2VwYXJhdG9yIH0gZnJvbSBcIi4vc3JjL2Ryb3AtZG93bi1tZW51LXNlcGFyYXRvclwiO1xuZXhwb3J0IHR5cGUgeyBEcm9wRG93bk1lbnVTZXBhcmF0b3JQcm9wcyB9IGZyb20gXCIuL3NyYy9kcm9wLWRvd24tbWVudS1zZXBhcmF0b3JcIjtcbmV4cG9ydCB7IERyb3BEb3duTWVudUl0ZW1Sb3cgfSBmcm9tIFwiLi9zcmMvZHJvcC1kb3duLW1lbnUtaXRlbS1yb3dcIjtcbmV4cG9ydCB0eXBlIHsgRHJvcERvd25NZW51SXRlbUljb24sIERyb3BEb3duTWVudUl0ZW1Sb3dQcm9wcyB9IGZyb20gXCIuL3NyYy9kcm9wLWRvd24tbWVudS1pdGVtLXJvd1wiO1xuIiwgImltcG9ydCB7IENsaWNrYWJsZUxpLCB0eXBlIENsaWNrYWJsZUxpUHJvcHMsIHR5cGUgU2l6ZVBsdWdpblByb3BzLCBTcGFuIH0gZnJvbSBcIkBrOHNsZW5zL2VsZW1lbnQtY29tcG9uZW50c1wiO1xuaW1wb3J0IHR5cGUgUmVhY3QgZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgeyBDaGV2cm9uUmlnaHRJY29uIH0gZnJvbSBcIkBrOHNsZW5zL2ljb25cIjtcblxuLyoqIEFuIGljb24gb2YgYSBtZW51IGl0ZW0sIHNpemVkIGJ5IHRoZSBpdGVtIHJhdGhlciB0aGFuIGJ5IGl0c2VsZi4gKi9cbmV4cG9ydCB0eXBlIERyb3BEb3duTWVudUl0ZW1JY29uID0gUmVhY3QuQ29tcG9uZW50VHlwZTxTaXplUGx1Z2luUHJvcHM+O1xuXG5leHBvcnQgdHlwZSBEcm9wRG93bk1lbnVJdGVtUm93UHJvcHMgPSBDbGlja2FibGVMaVByb3BzICYge1xuICAvKiogU2hvd24gYmVmb3JlIHRoZSBsYWJlbC4gKi9cbiAgcmVhZG9ubHkgSWNvbj86IERyb3BEb3duTWVudUl0ZW1JY29uO1xuXG4gIC8qKiBEcmF3cyB0aGUgY2hldnJvbiBwb2ludGluZyBhdCB0aGUgbWVudSB0aGUgcm93IG9wZW5zLiAqL1xuICByZWFkb25seSBoYXNTdWJNZW51PzogYm9vbGVhbjtcblxuICAvKiogU2hvd24gYXQgdGhlIHJvdydzIGZhciBlbmQgKGEgc2VsZWN0aW9uIHRpY2ssIGEgc3RhdHVzIGFmZm9yZGFuY2UpLiAqL1xuICByZWFkb25seSB0cmFpbGluZz86IFJlYWN0LlJlYWN0Tm9kZTtcbn07XG5cbi8qKlxuICogV2hhdCBhbiBvcmRpbmFyeSBtZW51IGl0ZW0gbG9va3MgbGlrZSwgd2l0aG91dCBkZWNpZGluZyB3aGF0IGl0IGRvZXMuIEEgYENsaWNrYWJsZUxpYCB1bmRlcm5lYXRoLFxuICogc28gaXQgdGFrZXMgZXZlcnl0aGluZyBvbmUgdGFrZXMgYW5kIHRoZSBvcmRpbmFyeSBsb29rIGlzIGEgc3RhcnRpbmcgcG9pbnQgcmF0aGVyIHRoYW4gdGhlIHdob2xlXG4gKiBvZiBpdC5cbiAqXG4gKiBAZXhhbXBsZVxuICogYGBgdHN4XG4gKiBjb25zdCBIZWFkaW5nID0gKCkgPT4gKFxuICogICA8RHJvcERvd25NZW51SXRlbVJvdyAkY29sb3I9XCJ0ZXh0TXV0ZWRcIiAkZW5hYmxlZD17ZmFsc2V9PlJlY2VudCBjbHVzdGVyczwvRHJvcERvd25NZW51SXRlbVJvdz5cbiAqICk7XG4gKiBgYGBcbiAqL1xuZXhwb3J0IGNvbnN0IERyb3BEb3duTWVudUl0ZW1Sb3cgPSAoe1xuICBJY29uLFxuICBoYXNTdWJNZW51LFxuICB0cmFpbGluZyxcbiAgY2hpbGRyZW4sXG4gIC4uLnJvd1Byb3BzXG59OiBEcm9wRG93bk1lbnVJdGVtUm93UHJvcHMpID0+IChcbiAgPENsaWNrYWJsZUxpXG4gICAgJGZsZXg9e3sgdmVydGljYWxBbGlnbjogXCJjZW50ZXJcIiwgaG9yaXpvbnRhbEFsaWduOiBcInNwYWNlLWJldHdlZW5cIiwgZ2FwOiBcInNcIiB9fVxuICAgIC8vIEEgcm93IHNwYW5zIHRoZSBtZW51J3MgZnVsbCB3aWR0aCBcdTIwMTQgdGhlIGd1dHRlciB0aGF0IGxpbmVzIGl0cyBsYWJlbCB1cCB3aXRoXG4gICAgLy8gdGhlIGxhYmVsIG9mIHdoYXRldmVyIG9wZW5lZCB0aGUgbWVudSBpcyBwYWRkaW5nIHdpdGhpbiB0aGUgcm93LCBzbyB0aGVcbiAgICAvLyByb3cncyBvd24gYmFja2dyb3VuZCBhbmQgaG92ZXIgaGlnaGxpZ2h0IHN0aWxsIHJlYWNoIHRoZSBwYW5lbCdzIGVkZ2VzLlxuICAgICRwYWRkaW5nPXt7IHZlcnRpY2FsOiBcIjN4c1wiLCBob3Jpem9udGFsOiBcInhzXCIgfX1cbiAgICAkbWFyZ2luPXt7IHZlcnRpY2FsOiBcInh4c1wiIH19XG4gICAgJGNvbG9yPXt7IG5vcm1hbDogXCJ0ZXh0RGVmYXVsdFwiLCBob3ZlcjogXCJ0ZXh0SGlnaGxpZ2h0XCIgfX1cbiAgICAkYmFja2dyb3VuZENvbG9yPXt7IGhvdmVyOiBcImdyZXk2MFwiIH19XG4gICAgey4uLnJvd1Byb3BzfVxuICA+XG4gICAgPFNwYW4gJGZsZXg9e3sgdmVydGljYWxBbGlnbjogXCJjZW50ZXJcIiwgZ2FwOiBcInhzXCIgfX0+XG4gICAgICB7SWNvbiAmJiA8SWNvbiAkc2l6ZT1cIm1cIiAvPn1cbiAgICAgIHtjaGlsZHJlbn1cbiAgICA8L1NwYW4+XG5cbiAgICB7dHJhaWxpbmd9XG4gICAge2hhc1N1Yk1lbnUgJiYgPENoZXZyb25SaWdodEljb24gZGF0YS1kcm9wLWRvd24tbWVudS1pdGVtLWNoZXZyb24tdGVzdCAkc2l6ZT1cIm1cIiAvPn1cbiAgPC9DbGlja2FibGVMaT5cbik7XG4iLCAiaW1wb3J0IHR5cGUgeyBDbGlja2FibGVMaVByb3BzLCBEcm9wRG93bk1lbnVQbHVnaW5Qcm9wcyB9IGZyb20gXCJAazhzbGVucy9lbGVtZW50LWNvbXBvbmVudHNcIjtcbmltcG9ydCB0eXBlIFJlYWN0IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHsgdHlwZSBEcm9wRG93bk1lbnVJdGVtSWNvbiwgRHJvcERvd25NZW51SXRlbVJvdyB9IGZyb20gXCIuL2Ryb3AtZG93bi1tZW51LWl0ZW0tcm93XCI7XG5cbmV4cG9ydCB0eXBlIERyb3BEb3duTWVudVN1Yk1lbnVQcm9wcyA9IE9taXQ8Q2xpY2thYmxlTGlQcm9wcywgXCIkZHJvcERvd25NZW51XCI+ICYge1xuICAvKiogV2hhdCB0aGUgaXRlbSBzYXlzLiAqL1xuICByZWFkb25seSBjaGlsZHJlbjogUmVhY3QuUmVhY3ROb2RlO1xuXG4gIC8qKiBTaG93biBiZWZvcmUgdGhlIGxhYmVsLiAqL1xuICByZWFkb25seSBJY29uPzogRHJvcERvd25NZW51SXRlbUljb247XG5cbiAgLyoqXG4gICAqIFRoZSBtZW51IHRoZSBpdGVtIG9wZW5zLCBmcm9tIGBkcm9wRG93bk1lbnUoa2luZCwgb3B0aW9ucz8pYCBvZlxuICAgKiBgQGs4c2xlbnMvZHJvcC1kb3duLW1lbnUtY29udHJhY3RzYC4gT3BlbnMgb24gaG92ZXIgYmVzaWRlIHRoZSBpdGVtIHVubGVzcyB0aGUgc3BlYyBzYXlzXG4gICAqIG90aGVyd2lzZS5cbiAgICovXG4gIHJlYWRvbmx5IG1lbnU6IE5vbk51bGxhYmxlPERyb3BEb3duTWVudVBsdWdpblByb3BzW1wiJGRyb3BEb3duTWVudVwiXT47XG5cbiAgLyoqIFNob3duIGF0IHRoZSBpdGVtJ3MgZmFyIGVuZCwgYmVmb3JlIHRoZSBjaGV2cm9uIChhIHN0YXR1cyBhZmZvcmRhbmNlLCBhIHRpY2spLiAqL1xuICByZWFkb25seSB0cmFpbGluZz86IFJlYWN0LlJlYWN0Tm9kZTtcbn07XG5cbi8qKlxuICogQW4gb3JkaW5hcnkgZHJvcC1kb3duIG1lbnUgaXRlbSB0aGF0IG9wZW5zIGEgbWVudSBvZiBpdHMgb3duLCB3aXRoIGEgY2hldnJvbiBhdCBpdHMgZmFyIGVuZFxuICogcG9pbnRpbmcgYXQgaXQuIE9wZW5pbmcgaXQgbGVhdmVzIHRoZSBtZW51IHRoZSBpdGVtIGxpdmVzIGluIG9wZW4sIGFuZCB0aGUgaXRlbSdzIG1lbnUga25vd3NcbiAqIG5vdGhpbmcgYWJvdXQgZWl0aGVyLlxuICpcbiAqIEEgYENsaWNrYWJsZUxpYCB1bmRlcm5lYXRoLCBzbyBpdCB0YWtlcyBldmVyeXRoaW5nIG9uZSB0YWtlcywgYXBhcnQgZnJvbSB0aGUgYCRkcm9wRG93bk1lbnVgIGl0XG4gKiBpcyBhbHJlYWR5IG1hZGUgb2YuXG4gKlxuICogQGV4YW1wbGVcbiAqIGBgYHRzeFxuICogY29uc3QgTW9yZUFjdGlvbnMgPSAoKSA9PiAoXG4gKiAgIDxEcm9wRG93bk1lbnVTdWJNZW51IG1lbnU9e2Ryb3BEb3duTWVudShtb3JlQWN0aW9uc01lbnVLaW5kKX0+TW9yZSBhY3Rpb25zPC9Ecm9wRG93bk1lbnVTdWJNZW51PlxuICogKTtcbiAqIGBgYFxuICovXG5leHBvcnQgY29uc3QgRHJvcERvd25NZW51U3ViTWVudSA9ICh7IGNoaWxkcmVuLCBtZW51LCB0cmFpbGluZywgLi4ucm93UHJvcHMgfTogRHJvcERvd25NZW51U3ViTWVudVByb3BzKSA9PiAoXG4gIDxEcm9wRG93bk1lbnVJdGVtUm93XG4gICAgey4uLnJvd1Byb3BzfVxuICAgIGhhc1N1Yk1lbnVcbiAgICB0cmFpbGluZz17dHJhaWxpbmd9XG4gICAgJGFuY2hvclxuICAgICRkcm9wRG93bk1lbnU9e3sgb3Blbk9uOiBcImhvdmVyXCIsIHBvc2l0aW9uOiBcInJpZ2h0IHNwYW4tYm90dG9tXCIsIC4uLm1lbnUgfX1cbiAgPlxuICAgIHtjaGlsZHJlbn1cbiAgPC9Ecm9wRG93bk1lbnVJdGVtUm93PlxuKTtcbiIsICJpbXBvcnQgeyBMaSwgdHlwZSBMaVByb3BzIH0gZnJvbSBcIkBrOHNsZW5zL2VsZW1lbnQtY29tcG9uZW50c1wiO1xuXG5leHBvcnQgdHlwZSBEcm9wRG93bk1lbnVTZXBhcmF0b3JQcm9wcyA9IExpUHJvcHMgJiB7XG4gIC8qKlxuICAgKiBUaGUgZGF0YSB0aGUgbWVudSB3YXMgb3BlbmVkIHdpdGgsIHNpbmNlIGEgc2VwYXJhdG9yIGlzIHVzdWFsbHkgY29udHJpYnV0ZWQgYXMgYW4gaXRlbSdzXG4gICAqIGNvbXBvbmVudCBhcyBpdCBpcy4gSXQgaGFzIG5vdGhpbmcgdG8gc2VwYXJhdGUgZGlmZmVyZW50bHksIHNvIGl0IGdvZXMgbm8gZnVydGhlci5cbiAgICovXG4gIHJlYWRvbmx5IGRhdGE/OiB1bmtub3duO1xufTtcblxuLyoqXG4gKiBBbiBvcmRpbmFyeSBkcm9wLWRvd24gbWVudSBpdGVtIHRoYXQgb25seSBzZXBhcmF0ZXMgdGhlIGl0ZW1zIGFyb3VuZCBpdC4gSXQgaXMgYW4gaXRlbSBsaWtlIGFueVxuICogb3RoZXIsIHNvIHdoYXQgaXQgc2VwYXJhdGVzIGlzIGRlY2lkZWQgYnkgd2hlcmUgaXRzIG9yZGVyIG51bWJlciBwdXRzIGl0LlxuICpcbiAqIEFuIGBMaWAgdW5kZXJuZWF0aCwgc28gaXQgdGFrZXMgZXZlcnl0aGluZyBvbmUgdGFrZXMuXG4gKlxuICogQGV4YW1wbGVcbiAqIGBgYHRzeFxuICogZXhwb3J0IGNvbnN0IHNlcGFyYXRvckJ1bmNoID0gZ2V0RHJvcERvd25NZW51SXRlbUluamVjdGFibGVCdW5jaCh7XG4gKiAgIGlkOiBcInNlcGFyYXRvci1iZWZvcmUtZGVzdHJ1Y3RpdmUtYWN0aW9uc1wiLFxuICogICBraW5kOiBwb2RBY3Rpb25zTWVudUtpbmQsXG4gKiAgIG9yZGVyTnVtYmVyOiAxMDAsXG4gKiAgIENvbXBvbmVudDogRHJvcERvd25NZW51U2VwYXJhdG9yLFxuICogfSk7XG4gKiBgYGBcbiAqL1xuZXhwb3J0IGNvbnN0IERyb3BEb3duTWVudVNlcGFyYXRvciA9ICh7IGRhdGE6IF9kYXRhLCAuLi5saVByb3BzIH06IERyb3BEb3duTWVudVNlcGFyYXRvclByb3BzKSA9PiAoXG4gIDxMaVxuICAgICRoZWlnaHQ9XCI0eHNcIlxuICAgICRtYXJnaW49e3sgdmVydGljYWw6IFwiM3hzXCIgfX1cbiAgICAkYmFja2dyb3VuZENvbG9yPVwiZ3JleTYwXCJcbiAgICBkYXRhLWRyb3AtZG93bi1tZW51LXNlcGFyYXRvci10ZXN0XG4gICAgey4uLmxpUHJvcHN9XG4gIC8+XG4pO1xuIl0sCiAgIm1hcHBpbmdzIjogIjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTs7O0FDQUEsZ0NBQStFO0FBRS9FLGtCQUFpQztBQThDN0I7QUFsQkcsSUFBTSxzQkFBc0IsQ0FBQztBQUFBLEVBQ2xDO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQSxHQUFHO0FBQ0wsTUFDRTtBQUFBLEVBQUM7QUFBQTtBQUFBLElBQ0MsT0FBTyxFQUFFLGVBQWUsVUFBVSxpQkFBaUIsaUJBQWlCLEtBQUssSUFBSTtBQUFBLElBSTdFLFVBQVUsRUFBRSxVQUFVLE9BQU8sWUFBWSxLQUFLO0FBQUEsSUFDOUMsU0FBUyxFQUFFLFVBQVUsTUFBTTtBQUFBLElBQzNCLFFBQVEsRUFBRSxRQUFRLGVBQWUsT0FBTyxnQkFBZ0I7QUFBQSxJQUN4RCxrQkFBa0IsRUFBRSxPQUFPLFNBQVM7QUFBQSxJQUNuQyxHQUFHO0FBQUEsSUFFSjtBQUFBLG1EQUFDLGtDQUFLLE9BQU8sRUFBRSxlQUFlLFVBQVUsS0FBSyxLQUFLLEdBQy9DO0FBQUEsZ0JBQVEsNENBQUMsUUFBSyxPQUFNLEtBQUk7QUFBQSxRQUN4QjtBQUFBLFNBQ0g7QUFBQSxNQUVDO0FBQUEsTUFDQSxjQUFjLDRDQUFDLGdDQUFpQix5Q0FBcUMsTUFBQyxPQUFNLEtBQUk7QUFBQTtBQUFBO0FBQ25GOzs7QUNqQkEsSUFBQUEsc0JBQUE7QUFESyxJQUFNLHNCQUFzQixDQUFDLEVBQUUsVUFBVSxNQUFNLFVBQVUsR0FBRyxTQUFTLE1BQzFFO0FBQUEsRUFBQztBQUFBO0FBQUEsSUFDRSxHQUFHO0FBQUEsSUFDSixZQUFVO0FBQUEsSUFDVjtBQUFBLElBQ0EsU0FBTztBQUFBLElBQ1AsZUFBZSxFQUFFLFFBQVEsU0FBUyxVQUFVLHFCQUFxQixHQUFHLEtBQUs7QUFBQSxJQUV4RTtBQUFBO0FBQ0g7OztBQzlDRixJQUFBQyw2QkFBaUM7QUEyQi9CLElBQUFDLHNCQUFBO0FBREssSUFBTSx3QkFBd0IsQ0FBQyxFQUFFLE1BQU0sT0FBTyxHQUFHLFFBQVEsTUFDOUQ7QUFBQSxFQUFDO0FBQUE7QUFBQSxJQUNDLFNBQVE7QUFBQSxJQUNSLFNBQVMsRUFBRSxVQUFVLE1BQU07QUFBQSxJQUMzQixrQkFBaUI7QUFBQSxJQUNqQixzQ0FBa0M7QUFBQSxJQUNqQyxHQUFHO0FBQUE7QUFDTjsiLAogICJuYW1lcyI6IFsiaW1wb3J0X2pzeF9ydW50aW1lIiwgImltcG9ydF9lbGVtZW50X2NvbXBvbmVudHMiLCAiaW1wb3J0X2pzeF9ydW50aW1lIl0KfQo=
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { type ClickableLiProps, type SizePluginProps } from "@k8slens/element-components";
|
|
2
|
+
import type React from "react";
|
|
3
|
+
/** An icon of a menu item, sized by the item rather than by itself. */
|
|
4
|
+
export type DropDownMenuItemIcon = React.ComponentType<SizePluginProps>;
|
|
5
|
+
export type DropDownMenuItemRowProps = ClickableLiProps & {
|
|
6
|
+
/** Shown before the label. */
|
|
7
|
+
readonly Icon?: DropDownMenuItemIcon;
|
|
8
|
+
/** Draws the chevron pointing at the menu the row opens. */
|
|
9
|
+
readonly hasSubMenu?: boolean;
|
|
10
|
+
/** Shown at the row's far end (a selection tick, a status affordance). */
|
|
11
|
+
readonly trailing?: React.ReactNode;
|
|
12
|
+
};
|
|
13
|
+
/**
|
|
14
|
+
* What an ordinary menu item looks like, without deciding what it does. A `ClickableLi` underneath,
|
|
15
|
+
* so it takes everything one takes and the ordinary look is a starting point rather than the whole
|
|
16
|
+
* of it.
|
|
17
|
+
*
|
|
18
|
+
* @example
|
|
19
|
+
* ```tsx
|
|
20
|
+
* const Heading = () => (
|
|
21
|
+
* <DropDownMenuItemRow $color="textMuted" $enabled={false}>Recent clusters</DropDownMenuItemRow>
|
|
22
|
+
* );
|
|
23
|
+
* ```
|
|
24
|
+
*/
|
|
25
|
+
export declare const DropDownMenuItemRow: ({ Icon, hasSubMenu, trailing, children, ...rowProps }: DropDownMenuItemRowProps) => import("react/jsx-runtime").JSX.Element;
|
|
26
|
+
//# sourceMappingURL=drop-down-menu-item-row.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"drop-down-menu-item-row.d.ts","sourceRoot":"","sources":["../../src/drop-down-menu-item-row.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAe,KAAK,gBAAgB,EAAE,KAAK,eAAe,EAAQ,MAAM,6BAA6B,CAAC;AAC7G,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAG/B,uEAAuE;AACvE,MAAM,MAAM,oBAAoB,GAAG,KAAK,CAAC,aAAa,CAAC,eAAe,CAAC,CAAC;AAExE,MAAM,MAAM,wBAAwB,GAAG,gBAAgB,GAAG;IACxD,8BAA8B;IAC9B,QAAQ,CAAC,IAAI,CAAC,EAAE,oBAAoB,CAAC;IAErC,4DAA4D;IAC5D,QAAQ,CAAC,UAAU,CAAC,EAAE,OAAO,CAAC;IAE9B,0EAA0E;IAC1E,QAAQ,CAAC,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CACrC,CAAC;AAEF;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,mBAAmB,0DAM7B,wBAAwB,4CAoB1B,CAAC"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { type LiProps } from "@k8slens/element-components";
|
|
2
|
+
export type DropDownMenuSeparatorProps = LiProps & {
|
|
3
|
+
/**
|
|
4
|
+
* The data the menu was opened with, since a separator is usually contributed as an item's
|
|
5
|
+
* component as it is. It has nothing to separate differently, so it goes no further.
|
|
6
|
+
*/
|
|
7
|
+
readonly data?: unknown;
|
|
8
|
+
};
|
|
9
|
+
/**
|
|
10
|
+
* An ordinary drop-down menu item that only separates the items around it. It is an item like any
|
|
11
|
+
* other, so what it separates is decided by where its order number puts it.
|
|
12
|
+
*
|
|
13
|
+
* An `Li` underneath, so it takes everything one takes.
|
|
14
|
+
*
|
|
15
|
+
* @example
|
|
16
|
+
* ```tsx
|
|
17
|
+
* export const separatorBunch = getDropDownMenuItemInjectableBunch({
|
|
18
|
+
* id: "separator-before-destructive-actions",
|
|
19
|
+
* kind: podActionsMenuKind,
|
|
20
|
+
* orderNumber: 100,
|
|
21
|
+
* Component: DropDownMenuSeparator,
|
|
22
|
+
* });
|
|
23
|
+
* ```
|
|
24
|
+
*/
|
|
25
|
+
export declare const DropDownMenuSeparator: ({ data: _data, ...liProps }: DropDownMenuSeparatorProps) => import("react/jsx-runtime").JSX.Element;
|
|
26
|
+
//# sourceMappingURL=drop-down-menu-separator.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"drop-down-menu-separator.d.ts","sourceRoot":"","sources":["../../src/drop-down-menu-separator.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAM,KAAK,OAAO,EAAE,MAAM,6BAA6B,CAAC;AAE/D,MAAM,MAAM,0BAA0B,GAAG,OAAO,GAAG;IACjD;;;OAGG;IACH,QAAQ,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC;CACzB,CAAC;AAEF;;;;;;;;;;;;;;;GAeG;AACH,eAAO,MAAM,qBAAqB,gCAAiC,0BAA0B,4CAQ5F,CAAC"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import type { ClickableLiProps, DropDownMenuPluginProps } from "@k8slens/element-components";
|
|
2
|
+
import type React from "react";
|
|
3
|
+
import { type DropDownMenuItemIcon } from "./drop-down-menu-item-row";
|
|
4
|
+
export type DropDownMenuSubMenuProps = Omit<ClickableLiProps, "$dropDownMenu"> & {
|
|
5
|
+
/** What the item says. */
|
|
6
|
+
readonly children: React.ReactNode;
|
|
7
|
+
/** Shown before the label. */
|
|
8
|
+
readonly Icon?: DropDownMenuItemIcon;
|
|
9
|
+
/**
|
|
10
|
+
* The menu the item opens, from `dropDownMenu(kind, options?)` of
|
|
11
|
+
* `@k8slens/drop-down-menu-contracts`. Opens on hover beside the item unless the spec says
|
|
12
|
+
* otherwise.
|
|
13
|
+
*/
|
|
14
|
+
readonly menu: NonNullable<DropDownMenuPluginProps["$dropDownMenu"]>;
|
|
15
|
+
/** Shown at the item's far end, before the chevron (a status affordance, a tick). */
|
|
16
|
+
readonly trailing?: React.ReactNode;
|
|
17
|
+
};
|
|
18
|
+
/**
|
|
19
|
+
* An ordinary drop-down menu item that opens a menu of its own, with a chevron at its far end
|
|
20
|
+
* pointing at it. Opening it leaves the menu the item lives in open, and the item's menu knows
|
|
21
|
+
* nothing about either.
|
|
22
|
+
*
|
|
23
|
+
* A `ClickableLi` underneath, so it takes everything one takes, apart from the `$dropDownMenu` it
|
|
24
|
+
* is already made of.
|
|
25
|
+
*
|
|
26
|
+
* @example
|
|
27
|
+
* ```tsx
|
|
28
|
+
* const MoreActions = () => (
|
|
29
|
+
* <DropDownMenuSubMenu menu={dropDownMenu(moreActionsMenuKind)}>More actions</DropDownMenuSubMenu>
|
|
30
|
+
* );
|
|
31
|
+
* ```
|
|
32
|
+
*/
|
|
33
|
+
export declare const DropDownMenuSubMenu: ({ children, menu, trailing, ...rowProps }: DropDownMenuSubMenuProps) => import("react/jsx-runtime").JSX.Element;
|
|
34
|
+
//# sourceMappingURL=drop-down-menu-sub-menu.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"drop-down-menu-sub-menu.d.ts","sourceRoot":"","sources":["../../src/drop-down-menu-sub-menu.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,uBAAuB,EAAE,MAAM,6BAA6B,CAAC;AAC7F,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,KAAK,oBAAoB,EAAuB,MAAM,2BAA2B,CAAC;AAE3F,MAAM,MAAM,wBAAwB,GAAG,IAAI,CAAC,gBAAgB,EAAE,eAAe,CAAC,GAAG;IAC/E,0BAA0B;IAC1B,QAAQ,CAAC,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAEnC,8BAA8B;IAC9B,QAAQ,CAAC,IAAI,CAAC,EAAE,oBAAoB,CAAC;IAErC;;;;OAIG;IACH,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC,uBAAuB,CAAC,eAAe,CAAC,CAAC,CAAC;IAErE,qFAAqF;IACrF,QAAQ,CAAC,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CACrC,CAAC;AAEF;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,mBAAmB,8CAA+C,wBAAwB,4CAUtG,CAAC"}
|