@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.
@@ -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"}