@liberation-data/desk 0.1.0 → 0.3.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/README.md +126 -1
- package/dist/core/desk.d.ts.map +1 -1
- package/dist/core/desk.js +19 -2
- package/dist/core/desk.js.map +1 -1
- package/dist/core/index.d.ts +2 -0
- package/dist/core/index.d.ts.map +1 -1
- package/dist/core/index.js +1 -0
- package/dist/core/index.js.map +1 -1
- package/dist/core/layouts.d.ts +26 -0
- package/dist/core/layouts.d.ts.map +1 -0
- package/dist/core/layouts.js +70 -0
- package/dist/core/layouts.js.map +1 -0
- package/dist/core/types.d.ts +3 -0
- package/dist/core/types.d.ts.map +1 -1
- package/dist/desk.css +252 -1
- package/dist/react/Desktop.d.ts +7 -1
- package/dist/react/Desktop.d.ts.map +1 -1
- package/dist/react/Desktop.js +4 -4
- package/dist/react/Desktop.js.map +1 -1
- package/dist/react/Dock.d.ts +16 -1
- package/dist/react/Dock.d.ts.map +1 -1
- package/dist/react/Dock.js +44 -6
- package/dist/react/Dock.js.map +1 -1
- package/dist/react/MenuBar.d.ts +16 -0
- package/dist/react/MenuBar.d.ts.map +1 -1
- package/dist/react/MenuBar.js +36 -27
- package/dist/react/MenuBar.js.map +1 -1
- package/dist/react/context.d.ts +2 -0
- package/dist/react/context.d.ts.map +1 -1
- package/dist/react/context.js +2 -0
- package/dist/react/context.js.map +1 -1
- package/dist/react/contextMenu.d.ts +22 -0
- package/dist/react/contextMenu.d.ts.map +1 -0
- package/dist/react/contextMenu.js +146 -0
- package/dist/react/contextMenu.js.map +1 -0
- package/dist/react/iconView.d.ts +34 -0
- package/dist/react/iconView.d.ts.map +1 -0
- package/dist/react/iconView.js +112 -0
- package/dist/react/iconView.js.map +1 -0
- package/dist/react/index.d.ts +10 -2
- package/dist/react/index.d.ts.map +1 -1
- package/dist/react/index.js +5 -1
- package/dist/react/index.js.map +1 -1
- package/dist/react/infoTip.d.ts +11 -0
- package/dist/react/infoTip.d.ts.map +1 -0
- package/dist/react/infoTip.js +8 -0
- package/dist/react/infoTip.js.map +1 -0
- package/dist/react/pane.d.ts +28 -0
- package/dist/react/pane.d.ts.map +1 -0
- package/dist/react/pane.js +9 -0
- package/dist/react/pane.js.map +1 -0
- package/llms.txt +34 -4
- package/package.json +1 -1
- package/src/core/desk.ts +17 -2
- package/src/core/index.ts +2 -0
- package/src/core/layouts.ts +88 -0
- package/src/core/types.ts +4 -0
- package/src/desk.css +252 -1
- package/src/react/Desktop.tsx +11 -2
- package/src/react/Dock.tsx +74 -5
- package/src/react/MenuBar.tsx +43 -30
- package/src/react/context.tsx +3 -0
- package/src/react/contextMenu.tsx +198 -0
- package/src/react/iconView.tsx +206 -0
- package/src/react/index.ts +10 -2
- package/src/react/infoTip.tsx +48 -0
- package/src/react/pane.tsx +65 -0
package/dist/react/MenuBar.js
CHANGED
|
@@ -24,7 +24,35 @@ export function windowMenuItems(state, focus, title) {
|
|
|
24
24
|
return state.windows.map(w => menuAction(title(w.id), () => focus(w.id), { checked: w.id === key }));
|
|
25
25
|
}
|
|
26
26
|
const read = (flag) => (typeof flag === 'function' ? flag() : flag);
|
|
27
|
-
|
|
27
|
+
/** Can this item be moved to and chosen: an enabled command or action, not a separator or header. */
|
|
28
|
+
export const selectable = (r) => r.enabled && (r.item.type === 'command' || r.item.type === 'action');
|
|
29
|
+
/** Items as they stand now: commands ask the responder chain whether anything would handle them. */
|
|
30
|
+
export const resolveMenuItems = (desk, items) => items.map(item => ({
|
|
31
|
+
item,
|
|
32
|
+
enabled: item.type === 'command' ? canPerform(desk, item.command)
|
|
33
|
+
: item.type === 'action' ? !read(item.disabled)
|
|
34
|
+
: false,
|
|
35
|
+
checked: item.type === 'command' || item.type === 'action' ? read(item.checked) : undefined,
|
|
36
|
+
}));
|
|
37
|
+
/** The next selectable item from `from`, wrapping; -1 when there is none. */
|
|
38
|
+
export const stepMenu = (items, from, delta) => {
|
|
39
|
+
for (let i = 1; i <= items.length; i++) {
|
|
40
|
+
const index = (from + delta * i + items.length * 2) % items.length;
|
|
41
|
+
if (items[index] && selectable(items[index]))
|
|
42
|
+
return index;
|
|
43
|
+
}
|
|
44
|
+
return -1;
|
|
45
|
+
};
|
|
46
|
+
/** The next selectable item whose label starts with `letter`, after `from`; -1 when there is none. */
|
|
47
|
+
export const typeAhead = (items, from, letter) => {
|
|
48
|
+
for (let i = 1; i <= items.length; i++) {
|
|
49
|
+
const index = (from + i) % items.length;
|
|
50
|
+
const r = items[index];
|
|
51
|
+
if (r && selectable(r) && 'label' in r.item && r.item.label.toLowerCase().startsWith(letter.toLowerCase()))
|
|
52
|
+
return index;
|
|
53
|
+
}
|
|
54
|
+
return -1;
|
|
55
|
+
};
|
|
28
56
|
export function MenuBar({ menus, status = [], leading, trailing, label = 'Menu bar', shortcuts = true, className }) {
|
|
29
57
|
const desk = useDesk();
|
|
30
58
|
const all = useMemo(() => [...menus, ...status], [menus, status]);
|
|
@@ -36,21 +64,8 @@ export function MenuBar({ menus, status = [], leading, trailing, label = 'Menu b
|
|
|
36
64
|
const returnTo = useRef(null);
|
|
37
65
|
const baseId = useId();
|
|
38
66
|
const apple = useMemo(isApplePlatform, []);
|
|
39
|
-
const resolve = (menu) => (typeof menu.items === 'function' ? menu.items() : menu.items)
|
|
40
|
-
|
|
41
|
-
enabled: item.type === 'command' ? canPerform(desk, item.command)
|
|
42
|
-
: item.type === 'action' ? !read(item.disabled)
|
|
43
|
-
: false,
|
|
44
|
-
checked: item.type === 'command' || item.type === 'action' ? read(item.checked) : undefined,
|
|
45
|
-
}));
|
|
46
|
-
const step = (items, from, delta) => {
|
|
47
|
-
for (let i = 1; i <= items.length; i++) {
|
|
48
|
-
const index = (from + delta * i + items.length * 2) % items.length;
|
|
49
|
-
if (items[index] && selectable(items[index]))
|
|
50
|
-
return index;
|
|
51
|
-
}
|
|
52
|
-
return -1;
|
|
53
|
-
};
|
|
67
|
+
const resolve = (menu) => resolveMenuItems(desk, typeof menu.items === 'function' ? menu.items() : menu.items);
|
|
68
|
+
const step = stepMenu;
|
|
54
69
|
const openMenu = (index, via, active = 'first') => {
|
|
55
70
|
const menu = all[(index + all.length) % all.length];
|
|
56
71
|
if (!menu)
|
|
@@ -129,17 +144,11 @@ export function MenuBar({ menus, status = [], leading, trailing, label = 'Menu b
|
|
|
129
144
|
default: {
|
|
130
145
|
if (event.key.length !== 1 || event.metaKey || event.ctrlKey || event.altKey)
|
|
131
146
|
return false;
|
|
132
|
-
const
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
if (r && selectable(r) && 'label' in r.item && r.item.label.toLowerCase().startsWith(letter)) {
|
|
138
|
-
setOpen({ ...open, active: index });
|
|
139
|
-
return true;
|
|
140
|
-
}
|
|
141
|
-
}
|
|
142
|
-
return false;
|
|
147
|
+
const index = typeAhead(open.items, open.active, event.key);
|
|
148
|
+
if (index < 0)
|
|
149
|
+
return false;
|
|
150
|
+
setOpen({ ...open, active: index });
|
|
151
|
+
return true;
|
|
143
152
|
}
|
|
144
153
|
}
|
|
145
154
|
})();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MenuBar.js","sourceRoot":"","sources":["../../src/react/MenuBar.tsx"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"MenuBar.js","sourceRoot":"","sources":["../../src/react/MenuBar.tsx"],"names":[],"mappings":"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"}
|
package/dist/react/context.d.ts
CHANGED
|
@@ -12,6 +12,8 @@ export interface DeskProviderProps {
|
|
|
12
12
|
readonly children: ReactNode;
|
|
13
13
|
}
|
|
14
14
|
export declare function DeskProvider({ desk, options, children }: DeskProviderProps): import("react").JSX.Element;
|
|
15
|
+
/** The desk above, or null outside one: for parts that work on a desk and off one, like a context menu. */
|
|
16
|
+
export declare const useOptionalDesk: () => Desk | null;
|
|
15
17
|
export declare function useDesk(): Desk;
|
|
16
18
|
export declare function useDeskState(): DeskState;
|
|
17
19
|
export interface WindowContextValue {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../src/react/context.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AAEjD,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,mBAAmB,CAAA;AAG5C,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAA;AAC3C,OAAO,KAAK,EAAE,WAAW,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAA;AAIxE,qGAAqG;AACrG,eAAO,MAAM,UAAU,qCAAkC,CAAA;AAEzD,MAAM,WAAW,iBAAiB;IAChC,sEAAsE;IACtE,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,CAAA;IACpB,2DAA2D;IAC3D,QAAQ,CAAC,OAAO,CAAC,EAAE,WAAW,CAAA;IAC9B,QAAQ,CAAC,QAAQ,EAAE,SAAS,CAAA;CAC7B;AAED,wBAAgB,YAAY,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAE,iBAAiB,+BAU1E;AAED,wBAAgB,OAAO,IAAI,IAAI,CAI9B;AAED,wBAAgB,YAAY,IAAI,SAAS,CAGxC;AAED,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,EAAE,EAAE,QAAQ,CAAA;IACrB,QAAQ,CAAC,OAAO,EAAE,SAAS,CAAC,WAAW,GAAG,IAAI,CAAC,CAAA;CAChD;AAED,gFAAgF;AAChF,eAAO,MAAM,aAAa,oDAAiD,CAAA;AAE3E,sFAAsF;AACtF,eAAO,MAAM,WAAW,QAAO,QAAQ,GAAG,IAA6C,CAAA"}
|
|
1
|
+
{"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../src/react/context.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AAEjD,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,mBAAmB,CAAA;AAG5C,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAA;AAC3C,OAAO,KAAK,EAAE,WAAW,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAA;AAIxE,qGAAqG;AACrG,eAAO,MAAM,UAAU,qCAAkC,CAAA;AAEzD,MAAM,WAAW,iBAAiB;IAChC,sEAAsE;IACtE,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,CAAA;IACpB,2DAA2D;IAC3D,QAAQ,CAAC,OAAO,CAAC,EAAE,WAAW,CAAA;IAC9B,QAAQ,CAAC,QAAQ,EAAE,SAAS,CAAA;CAC7B;AAED,wBAAgB,YAAY,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAE,iBAAiB,+BAU1E;AAED,2GAA2G;AAC3G,eAAO,MAAM,eAAe,QAAO,IAAI,GAAG,IAA+B,CAAA;AAEzE,wBAAgB,OAAO,IAAI,IAAI,CAI9B;AAED,wBAAgB,YAAY,IAAI,SAAS,CAGxC;AAED,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,EAAE,EAAE,QAAQ,CAAA;IACrB,QAAQ,CAAC,OAAO,EAAE,SAAS,CAAC,WAAW,GAAG,IAAI,CAAC,CAAA;CAChD;AAED,gFAAgF;AAChF,eAAO,MAAM,aAAa,oDAAiD,CAAA;AAE3E,sFAAsF;AACtF,eAAO,MAAM,WAAW,QAAO,QAAQ,GAAG,IAA6C,CAAA"}
|
package/dist/react/context.js
CHANGED
|
@@ -11,6 +11,8 @@ export function DeskProvider({ desk, options, children }) {
|
|
|
11
11
|
const [bus] = useState(createBus);
|
|
12
12
|
return (_jsx(DeskContext.Provider, { value: value, children: _jsx(BusContext.Provider, { value: bus, children: _jsx(DragProvider, { children: children }) }) }));
|
|
13
13
|
}
|
|
14
|
+
/** The desk above, or null outside one: for parts that work on a desk and off one, like a context menu. */
|
|
15
|
+
export const useOptionalDesk = () => useContext(DeskContext);
|
|
14
16
|
export function useDesk() {
|
|
15
17
|
const desk = useContext(DeskContext);
|
|
16
18
|
if (!desk)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"context.js","sourceRoot":"","sources":["../../src/react/context.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,QAAQ,EAAE,oBAAoB,EAAE,MAAM,OAAO,CAAA;AAEjF,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAA;AAE7C,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AAC5C,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAA;AAI/C,MAAM,WAAW,GAAG,aAAa,CAAc,IAAI,CAAC,CAAA;AAEpD,qGAAqG;AACrG,MAAM,CAAC,MAAM,UAAU,GAAG,aAAa,CAAa,IAAI,CAAC,CAAA;AAUzD,MAAM,UAAU,YAAY,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAqB;IACzE,MAAM,CAAC,KAAK,CAAC,GAAG,QAAQ,CAAC,GAAG,EAAE,CAAC,IAAI,IAAI,UAAU,CAAC,OAAO,CAAC,CAAC,CAAA;IAC3D,MAAM,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC,SAAS,CAAC,CAAA;IACjC,OAAO,CACL,KAAC,WAAW,CAAC,QAAQ,IAAC,KAAK,EAAE,KAAK,YAChC,KAAC,UAAU,CAAC,QAAQ,IAAC,KAAK,EAAE,GAAG,YAC7B,KAAC,YAAY,cAAE,QAAQ,GAAgB,GACnB,GACD,CACxB,CAAA;AACH,CAAC;AAED,MAAM,UAAU,OAAO;IACrB,MAAM,IAAI,GAAG,UAAU,CAAC,WAAW,CAAC,CAAA;IACpC,IAAI,CAAC,IAAI;QAAE,MAAM,IAAI,KAAK,CAAC,8CAA8C,CAAC,CAAA;IAC1E,OAAO,IAAI,CAAA;AACb,CAAC;AAED,MAAM,UAAU,YAAY;IAC1B,MAAM,IAAI,GAAG,OAAO,EAAE,CAAA;IACtB,OAAO,oBAAoB,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAA;AAC3E,CAAC;AAOD,gFAAgF;AAChF,MAAM,CAAC,MAAM,aAAa,GAAG,aAAa,CAA4B,IAAI,CAAC,CAAA;AAE3E,sFAAsF;AACtF,MAAM,CAAC,MAAM,WAAW,GAAG,GAAoB,EAAE,CAAC,UAAU,CAAC,aAAa,CAAC,EAAE,EAAE,IAAI,IAAI,CAAA"}
|
|
1
|
+
{"version":3,"file":"context.js","sourceRoot":"","sources":["../../src/react/context.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,QAAQ,EAAE,oBAAoB,EAAE,MAAM,OAAO,CAAA;AAEjF,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAA;AAE7C,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AAC5C,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAA;AAI/C,MAAM,WAAW,GAAG,aAAa,CAAc,IAAI,CAAC,CAAA;AAEpD,qGAAqG;AACrG,MAAM,CAAC,MAAM,UAAU,GAAG,aAAa,CAAa,IAAI,CAAC,CAAA;AAUzD,MAAM,UAAU,YAAY,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAqB;IACzE,MAAM,CAAC,KAAK,CAAC,GAAG,QAAQ,CAAC,GAAG,EAAE,CAAC,IAAI,IAAI,UAAU,CAAC,OAAO,CAAC,CAAC,CAAA;IAC3D,MAAM,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC,SAAS,CAAC,CAAA;IACjC,OAAO,CACL,KAAC,WAAW,CAAC,QAAQ,IAAC,KAAK,EAAE,KAAK,YAChC,KAAC,UAAU,CAAC,QAAQ,IAAC,KAAK,EAAE,GAAG,YAC7B,KAAC,YAAY,cAAE,QAAQ,GAAgB,GACnB,GACD,CACxB,CAAA;AACH,CAAC;AAED,2GAA2G;AAC3G,MAAM,CAAC,MAAM,eAAe,GAAG,GAAgB,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC,CAAA;AAEzE,MAAM,UAAU,OAAO;IACrB,MAAM,IAAI,GAAG,UAAU,CAAC,WAAW,CAAC,CAAA;IACpC,IAAI,CAAC,IAAI;QAAE,MAAM,IAAI,KAAK,CAAC,8CAA8C,CAAC,CAAA;IAC1E,OAAO,IAAI,CAAA;AACb,CAAC;AAED,MAAM,UAAU,YAAY;IAC1B,MAAM,IAAI,GAAG,OAAO,EAAE,CAAA;IACtB,OAAO,oBAAoB,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAA;AAC3E,CAAC;AAOD,gFAAgF;AAChF,MAAM,CAAC,MAAM,aAAa,GAAG,aAAa,CAA4B,IAAI,CAAC,CAAA;AAE3E,sFAAsF;AACtF,MAAM,CAAC,MAAM,WAAW,GAAG,GAAoB,EAAE,CAAC,UAAU,CAAC,aAAa,CAAC,EAAE,EAAE,IAAI,IAAI,CAAA"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import type { KeyboardEvent as ReactKeyboardEvent, MouseEvent as ReactMouseEvent, ReactNode } from 'react';
|
|
2
|
+
import type { MenuItem } from './MenuBar.js';
|
|
3
|
+
export interface ContextMenuOptions {
|
|
4
|
+
/** The items, built as the menu opens: what is possible can depend on the item right now. */
|
|
5
|
+
readonly items: () => readonly MenuItem[];
|
|
6
|
+
/** Names the menu for assistive technology: "Actions for Ride Log". */
|
|
7
|
+
readonly label: string;
|
|
8
|
+
readonly disabled?: boolean;
|
|
9
|
+
}
|
|
10
|
+
export interface ContextMenuTargetProps {
|
|
11
|
+
readonly onContextMenu: (event: ReactMouseEvent<HTMLElement>) => void;
|
|
12
|
+
readonly onKeyDown: (event: ReactKeyboardEvent<HTMLElement>) => void;
|
|
13
|
+
}
|
|
14
|
+
export interface ContextMenuResult {
|
|
15
|
+
/** Spread on the thing that has the menu. Chain your own `onKeyDown` through `target.onKeyDown`. */
|
|
16
|
+
readonly target: ContextMenuTargetProps;
|
|
17
|
+
/** Render it anywhere: it draws into the document body. */
|
|
18
|
+
readonly menu: ReactNode;
|
|
19
|
+
readonly open: boolean;
|
|
20
|
+
}
|
|
21
|
+
export declare function useContextMenu({ items, label, disabled }: ContextMenuOptions): ContextMenuResult;
|
|
22
|
+
//# sourceMappingURL=contextMenu.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"contextMenu.d.ts","sourceRoot":"","sources":["../../src/react/contextMenu.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,IAAI,kBAAkB,EAAE,UAAU,IAAI,eAAe,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AAM1G,OAAO,KAAK,EAAE,QAAQ,EAAoB,MAAM,cAAc,CAAA;AAU9D,MAAM,WAAW,kBAAkB;IACjC,6FAA6F;IAC7F,QAAQ,CAAC,KAAK,EAAE,MAAM,SAAS,QAAQ,EAAE,CAAA;IACzC,uEAAuE;IACvE,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAA;CAC5B;AAED,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,aAAa,EAAE,CAAC,KAAK,EAAE,eAAe,CAAC,WAAW,CAAC,KAAK,IAAI,CAAA;IACrE,QAAQ,CAAC,SAAS,EAAE,CAAC,KAAK,EAAE,kBAAkB,CAAC,WAAW,CAAC,KAAK,IAAI,CAAA;CACrE;AAED,MAAM,WAAW,iBAAiB;IAChC,oGAAoG;IACpG,QAAQ,CAAC,MAAM,EAAE,sBAAsB,CAAA;IACvC,2DAA2D;IAC3D,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAA;IACxB,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAA;CACvB;AAUD,wBAAgB,cAAc,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE,kBAAkB,GAAG,iBAAiB,CAuJhG"}
|
|
@@ -0,0 +1,146 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { useCallback, useEffect, useId, useLayoutEffect, useRef, useState } from 'react';
|
|
3
|
+
import { createPortal } from 'react-dom';
|
|
4
|
+
import { perform } from '../core/commands.js';
|
|
5
|
+
import { formatShortcut, isApplePlatform } from '../core/shortcuts.js';
|
|
6
|
+
import { useOptionalDesk } from './context.js';
|
|
7
|
+
import { resolveMenuItems, selectable, stepMenu, typeAhead } from './MenuBar.js';
|
|
8
|
+
export function useContextMenu({ items, label, disabled }) {
|
|
9
|
+
const desk = useOptionalDesk();
|
|
10
|
+
const [state, setState] = useState(null);
|
|
11
|
+
const panel = useRef(null);
|
|
12
|
+
const menuId = useId();
|
|
13
|
+
const apple = isApplePlatform();
|
|
14
|
+
const show = useCallback((x, y, opener, activeFirst) => {
|
|
15
|
+
const resolved = resolveMenuItems(desk, items());
|
|
16
|
+
if (!resolved.length)
|
|
17
|
+
return;
|
|
18
|
+
setState({ x, y, items: resolved, active: activeFirst ? stepMenu(resolved, -1, 1) : -1, opener });
|
|
19
|
+
}, [desk, items]);
|
|
20
|
+
const close = useCallback((returnFocus) => {
|
|
21
|
+
setState(current => {
|
|
22
|
+
if (current && returnFocus && current.opener.isConnected)
|
|
23
|
+
current.opener.focus({ preventScroll: true });
|
|
24
|
+
return null;
|
|
25
|
+
});
|
|
26
|
+
}, []);
|
|
27
|
+
const choose = (resolved) => {
|
|
28
|
+
if (!state || !resolved || !selectable(resolved))
|
|
29
|
+
return;
|
|
30
|
+
const { opener } = state;
|
|
31
|
+
setState(null);
|
|
32
|
+
// Back to the item first, so a command starts its search for a responder from there.
|
|
33
|
+
if (opener.isConnected)
|
|
34
|
+
opener.focus({ preventScroll: true });
|
|
35
|
+
const { item } = resolved;
|
|
36
|
+
if (item.type === 'command')
|
|
37
|
+
perform(desk, item.command, item.args);
|
|
38
|
+
else if (item.type === 'action')
|
|
39
|
+
item.onSelect();
|
|
40
|
+
};
|
|
41
|
+
const target = {
|
|
42
|
+
onContextMenu: event => {
|
|
43
|
+
if (disabled)
|
|
44
|
+
return;
|
|
45
|
+
event.preventDefault();
|
|
46
|
+
const opener = event.currentTarget;
|
|
47
|
+
opener.focus({ preventScroll: true });
|
|
48
|
+
show(event.clientX, event.clientY, opener, false);
|
|
49
|
+
},
|
|
50
|
+
onKeyDown: event => {
|
|
51
|
+
if (disabled)
|
|
52
|
+
return;
|
|
53
|
+
if (event.key === 'ContextMenu' || (event.key === 'F10' && event.shiftKey)) {
|
|
54
|
+
event.preventDefault();
|
|
55
|
+
const box = event.currentTarget.getBoundingClientRect();
|
|
56
|
+
show(box.left + 8, box.bottom - 4, event.currentTarget, true);
|
|
57
|
+
}
|
|
58
|
+
},
|
|
59
|
+
};
|
|
60
|
+
// Keep it on screen: measured once it exists, then moved in from the edges it would cross.
|
|
61
|
+
useLayoutEffect(() => {
|
|
62
|
+
const element = panel.current;
|
|
63
|
+
if (!state || !element)
|
|
64
|
+
return;
|
|
65
|
+
const { width, height } = element.getBoundingClientRect();
|
|
66
|
+
const x = Math.max(8, Math.min(state.x, innerWidth - width - 8));
|
|
67
|
+
const y = Math.max(8, state.y + height > innerHeight - 8 ? state.y - height : state.y);
|
|
68
|
+
element.style.left = `${x}px`;
|
|
69
|
+
element.style.top = `${y}px`;
|
|
70
|
+
element.focus({ preventScroll: true });
|
|
71
|
+
}, [state]);
|
|
72
|
+
useEffect(() => {
|
|
73
|
+
if (!state)
|
|
74
|
+
return;
|
|
75
|
+
const onPointerDown = (event) => {
|
|
76
|
+
if (!panel.current?.contains(event.target))
|
|
77
|
+
close(false);
|
|
78
|
+
};
|
|
79
|
+
const onAway = () => close(false);
|
|
80
|
+
document.addEventListener('pointerdown', onPointerDown, true);
|
|
81
|
+
addEventListener('blur', onAway);
|
|
82
|
+
addEventListener('resize', onAway);
|
|
83
|
+
document.addEventListener('scroll', onAway, true);
|
|
84
|
+
return () => {
|
|
85
|
+
document.removeEventListener('pointerdown', onPointerDown, true);
|
|
86
|
+
removeEventListener('blur', onAway);
|
|
87
|
+
removeEventListener('resize', onAway);
|
|
88
|
+
document.removeEventListener('scroll', onAway, true);
|
|
89
|
+
};
|
|
90
|
+
}, [state, close]);
|
|
91
|
+
const onMenuKeyDown = (event) => {
|
|
92
|
+
if (!state)
|
|
93
|
+
return;
|
|
94
|
+
const move = (active) => setState({ ...state, active });
|
|
95
|
+
switch (event.key) {
|
|
96
|
+
case 'ArrowDown':
|
|
97
|
+
move(stepMenu(state.items, state.active, 1));
|
|
98
|
+
break;
|
|
99
|
+
case 'ArrowUp':
|
|
100
|
+
move(stepMenu(state.items, state.active < 0 ? state.items.length : state.active, -1));
|
|
101
|
+
break;
|
|
102
|
+
case 'Home':
|
|
103
|
+
move(stepMenu(state.items, -1, 1));
|
|
104
|
+
break;
|
|
105
|
+
case 'End':
|
|
106
|
+
move(stepMenu(state.items, state.items.length, -1));
|
|
107
|
+
break;
|
|
108
|
+
case 'Enter':
|
|
109
|
+
case ' ':
|
|
110
|
+
choose(state.items[state.active]);
|
|
111
|
+
break;
|
|
112
|
+
case 'Escape':
|
|
113
|
+
close(true);
|
|
114
|
+
break;
|
|
115
|
+
case 'Tab':
|
|
116
|
+
close(true);
|
|
117
|
+
break;
|
|
118
|
+
default: {
|
|
119
|
+
if (event.key.length !== 1 || event.metaKey || event.ctrlKey || event.altKey)
|
|
120
|
+
return;
|
|
121
|
+
const index = typeAhead(state.items, state.active, event.key);
|
|
122
|
+
if (index < 0)
|
|
123
|
+
return;
|
|
124
|
+
move(index);
|
|
125
|
+
}
|
|
126
|
+
}
|
|
127
|
+
event.preventDefault();
|
|
128
|
+
event.stopPropagation();
|
|
129
|
+
};
|
|
130
|
+
const menu = state && typeof document !== 'undefined'
|
|
131
|
+
? createPortal(_jsx("div", { ref: panel, role: "menu", "aria-label": label, tabIndex: -1, className: "desk-menu desk-context-menu", style: { left: state.x, top: state.y }, "aria-activedescendant": state.active >= 0 ? `${menuId}-${state.active}` : undefined, onKeyDown: onMenuKeyDown, onContextMenu: event => event.preventDefault(), children: state.items.map((resolved, i) => {
|
|
132
|
+
const { item } = resolved;
|
|
133
|
+
if (item.type === 'separator')
|
|
134
|
+
return _jsx("div", { role: "separator", className: "desk-menu-separator" }, i);
|
|
135
|
+
if (item.type === 'header')
|
|
136
|
+
return _jsx("div", { role: "presentation", className: "desk-menu-header", children: item.label }, i);
|
|
137
|
+
const checkable = resolved.checked !== undefined;
|
|
138
|
+
return (_jsxs("div", { id: `${menuId}-${i}`, role: checkable ? 'menuitemcheckbox' : 'menuitem', "aria-checked": checkable ? resolved.checked : undefined, "aria-disabled": !resolved.enabled || undefined, className: "desk-menu-item", "data-active": i === state.active || undefined, onPointerMove: () => {
|
|
139
|
+
if (state.active !== i && selectable(resolved))
|
|
140
|
+
setState({ ...state, active: i });
|
|
141
|
+
}, onClick: () => choose(resolved), children: [_jsx("span", { className: "desk-menu-check", "aria-hidden": "true", children: resolved.checked ? '✓' : '' }), _jsx("span", { className: "desk-menu-label", children: item.label }), item.detail && _jsx("span", { className: "desk-menu-detail", children: item.detail }), item.shortcut && _jsx("kbd", { className: "desk-menu-shortcut", children: formatShortcut(item.shortcut, apple) })] }, i));
|
|
142
|
+
}) }), document.body)
|
|
143
|
+
: null;
|
|
144
|
+
return { target, menu, open: state !== null };
|
|
145
|
+
}
|
|
146
|
+
//# sourceMappingURL=contextMenu.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"contextMenu.js","sourceRoot":"","sources":["../../src/react/contextMenu.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import type { ReactNode } from 'react';
|
|
2
|
+
import type { MenuItem } from './MenuBar.js';
|
|
3
|
+
export interface IconViewItem {
|
|
4
|
+
readonly id: string;
|
|
5
|
+
readonly label: string;
|
|
6
|
+
readonly icon: ReactNode;
|
|
7
|
+
/** A second line, muted: a kind, a scope, a size. */
|
|
8
|
+
readonly subtitle?: string;
|
|
9
|
+
readonly badge?: ReactNode;
|
|
10
|
+
readonly disabled?: boolean;
|
|
11
|
+
}
|
|
12
|
+
export interface IconViewProps<T extends IconViewItem> {
|
|
13
|
+
readonly items: readonly T[];
|
|
14
|
+
/** Names the collection: "Apps". */
|
|
15
|
+
readonly label: string;
|
|
16
|
+
readonly onOpen: (item: T) => void;
|
|
17
|
+
/** `double` (the default): click selects, double-click or Return opens. `single`: a click opens. */
|
|
18
|
+
readonly openOn?: 'double' | 'single';
|
|
19
|
+
/** Controlled selection. Leave both out and the view keeps its own. */
|
|
20
|
+
readonly selected?: string | null;
|
|
21
|
+
readonly onSelectionChange?: (id: string | null) => void;
|
|
22
|
+
/** The item's context menu: what can be done to this one thing. */
|
|
23
|
+
readonly contextMenu?: (item: T) => readonly MenuItem[];
|
|
24
|
+
/** Lets an icon be picked up and carried, to the dock or into another window. */
|
|
25
|
+
readonly drag?: {
|
|
26
|
+
readonly type: string;
|
|
27
|
+
readonly payload: (item: T) => unknown;
|
|
28
|
+
};
|
|
29
|
+
/** Shown when there are no items. */
|
|
30
|
+
readonly empty?: ReactNode;
|
|
31
|
+
readonly className?: string;
|
|
32
|
+
}
|
|
33
|
+
export declare function IconView<T extends IconViewItem>({ items, label, onOpen, openOn, selected, onSelectionChange, contextMenu, drag, empty, className, }: IconViewProps<T>): import("react").JSX.Element;
|
|
34
|
+
//# sourceMappingURL=iconView.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"iconView.d.ts","sourceRoot":"","sources":["../../src/react/iconView.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAuC,SAAS,EAAE,MAAM,OAAO,CAAA;AAG3E,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAA;AAY5C,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAA;IACnB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAA;IACxB,qDAAqD;IACrD,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;IAC1B,QAAQ,CAAC,KAAK,CAAC,EAAE,SAAS,CAAA;IAC1B,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAA;CAC5B;AAED,MAAM,WAAW,aAAa,CAAC,CAAC,SAAS,YAAY;IACnD,QAAQ,CAAC,KAAK,EAAE,SAAS,CAAC,EAAE,CAAA;IAC5B,oCAAoC;IACpC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,IAAI,CAAA;IAClC,oGAAoG;IACpG,QAAQ,CAAC,MAAM,CAAC,EAAE,QAAQ,GAAG,QAAQ,CAAA;IACrC,uEAAuE;IACvE,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACjC,QAAQ,CAAC,iBAAiB,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAA;IACxD,mEAAmE;IACnE,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,SAAS,QAAQ,EAAE,CAAA;IACvD,iFAAiF;IACjF,QAAQ,CAAC,IAAI,CAAC,EAAE;QAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,OAAO,CAAA;KAAE,CAAA;IACjF,qCAAqC;IACrC,QAAQ,CAAC,KAAK,CAAC,EAAE,SAAS,CAAA;IAC1B,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAA;CAC5B;AAED,wBAAgB,QAAQ,CAAC,CAAC,SAAS,YAAY,EAAE,EAC/C,KAAK,EACL,KAAK,EACL,MAAM,EACN,MAAiB,EACjB,QAAQ,EACR,iBAAiB,EACjB,WAAW,EACX,IAAI,EACJ,KAAK,EACL,SAAS,GACV,EAAE,aAAa,CAAC,CAAC,CAAC,+BAmGlB"}
|
|
@@ -0,0 +1,112 @@
|
|
|
1
|
+
import { Fragment as _Fragment, jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { useEffect, useRef, useState } from 'react';
|
|
3
|
+
import { useContextMenu } from './contextMenu.js';
|
|
4
|
+
import { useDragSource } from './dnd.js';
|
|
5
|
+
export function IconView({ items, label, onOpen, openOn = 'double', selected, onSelectionChange, contextMenu, drag, empty, className, }) {
|
|
6
|
+
const [ownSelection, setOwnSelection] = useState(null);
|
|
7
|
+
const current = selected !== undefined ? selected : ownSelection;
|
|
8
|
+
const select = (id) => {
|
|
9
|
+
if (selected === undefined)
|
|
10
|
+
setOwnSelection(id);
|
|
11
|
+
onSelectionChange?.(id);
|
|
12
|
+
};
|
|
13
|
+
const list = useRef(null);
|
|
14
|
+
const typed = useRef({ text: '', at: 0 });
|
|
15
|
+
const source = useDragSource({ type: drag?.type ?? 'desk.icon', disabled: !drag });
|
|
16
|
+
// The one that takes Tab: the selected item, or the first.
|
|
17
|
+
const focusable = items.some(i => i.id === current) ? current : (items[0]?.id ?? null);
|
|
18
|
+
const cells = () => [...(list.current?.querySelectorAll('[data-icon-id]') ?? [])];
|
|
19
|
+
const focusAt = (index) => {
|
|
20
|
+
const all = cells();
|
|
21
|
+
const target = all[Math.max(0, Math.min(index, all.length - 1))];
|
|
22
|
+
if (!target)
|
|
23
|
+
return;
|
|
24
|
+
target.focus();
|
|
25
|
+
select(target.dataset.iconId ?? null);
|
|
26
|
+
};
|
|
27
|
+
// How many icons fit in a row right now: the ones that share the first one's top edge.
|
|
28
|
+
const columns = () => {
|
|
29
|
+
const all = cells();
|
|
30
|
+
const top = all[0]?.offsetTop;
|
|
31
|
+
const count = all.filter(cell => cell.offsetTop === top).length;
|
|
32
|
+
return Math.max(1, count);
|
|
33
|
+
};
|
|
34
|
+
const onKeyDown = (event) => {
|
|
35
|
+
const all = cells();
|
|
36
|
+
const index = all.findIndex(cell => cell === document.activeElement);
|
|
37
|
+
if (index < 0)
|
|
38
|
+
return;
|
|
39
|
+
const item = items[index];
|
|
40
|
+
switch (event.key) {
|
|
41
|
+
case 'ArrowRight':
|
|
42
|
+
focusAt(index + 1);
|
|
43
|
+
break;
|
|
44
|
+
case 'ArrowLeft':
|
|
45
|
+
focusAt(index - 1);
|
|
46
|
+
break;
|
|
47
|
+
case 'ArrowDown':
|
|
48
|
+
focusAt(index + columns());
|
|
49
|
+
break;
|
|
50
|
+
case 'ArrowUp':
|
|
51
|
+
focusAt(index - columns());
|
|
52
|
+
break;
|
|
53
|
+
case 'Home':
|
|
54
|
+
focusAt(0);
|
|
55
|
+
break;
|
|
56
|
+
case 'End':
|
|
57
|
+
focusAt(all.length - 1);
|
|
58
|
+
break;
|
|
59
|
+
case 'Enter':
|
|
60
|
+
if (item && !item.disabled)
|
|
61
|
+
onOpen(item);
|
|
62
|
+
break;
|
|
63
|
+
case ' ':
|
|
64
|
+
if (item)
|
|
65
|
+
select(item.id);
|
|
66
|
+
break;
|
|
67
|
+
default: {
|
|
68
|
+
if (event.key.length !== 1 || event.metaKey || event.ctrlKey || event.altKey)
|
|
69
|
+
return;
|
|
70
|
+
// Typing a name finds it: letters typed close together build one search, as in a Finder.
|
|
71
|
+
const now = Date.now();
|
|
72
|
+
typed.current = { text: (now - typed.current.at < 700 ? typed.current.text : '') + event.key.toLowerCase(), at: now };
|
|
73
|
+
const search = typed.current.text;
|
|
74
|
+
const order = [...items.slice(index + (search.length === 1 ? 1 : 0)), ...items.slice(0, index + (search.length === 1 ? 1 : 0))];
|
|
75
|
+
const found = order.find(i => i.label.toLowerCase().startsWith(search));
|
|
76
|
+
if (!found)
|
|
77
|
+
return;
|
|
78
|
+
focusAt(items.indexOf(found));
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
event.preventDefault();
|
|
82
|
+
};
|
|
83
|
+
// A selection that no longer exists is dropped, so Tab never lands nowhere.
|
|
84
|
+
useEffect(() => {
|
|
85
|
+
if (current && !items.some(i => i.id === current))
|
|
86
|
+
select(null);
|
|
87
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
88
|
+
}, [items, current]);
|
|
89
|
+
if (!items.length)
|
|
90
|
+
return _jsx("div", { className: ['desk-icon-view-empty', className].filter(Boolean).join(' '), children: empty });
|
|
91
|
+
return (_jsx("ul", { ref: list, role: "listbox", "aria-label": label, className: ['desk-icon-view', className].filter(Boolean).join(' '), onKeyDown: onKeyDown, onPointerDown: event => {
|
|
92
|
+
if (event.target === event.currentTarget)
|
|
93
|
+
select(null);
|
|
94
|
+
}, children: items.map(item => (_jsx(IconCell, { item: item, selected: item.id === current, tabbable: item.id === focusable, openOn: openOn, onSelect: () => select(item.id), onOpen: () => onOpen(item), menu: contextMenu ? () => contextMenu(item) : null, dragProps: drag ? source.dragProps(drag.payload(item), _jsx("span", { className: "desk-icon-drag", children: item.icon })) : null }, item.id))) }));
|
|
95
|
+
}
|
|
96
|
+
function IconCell({ item, selected, tabbable, openOn, onSelect, onOpen, menu, dragProps }) {
|
|
97
|
+
const context = useContextMenu({ label: `Actions for ${item.label}`, items: menu ?? (() => []), disabled: !menu });
|
|
98
|
+
// The menu sits beside the cell, not in it: React bubbles a portal's events through its owner,
|
|
99
|
+
// and a click on "Open" must not also count as a click on the icon.
|
|
100
|
+
return (_jsxs(_Fragment, { children: [_jsxs("li", { role: "option", "aria-selected": selected, "aria-disabled": item.disabled || undefined, tabIndex: tabbable ? 0 : -1, "data-icon-id": item.id, className: "desk-icon-cell", ...(dragProps ?? {}), onClick: () => {
|
|
101
|
+
onSelect();
|
|
102
|
+
if (openOn === 'single' && !item.disabled)
|
|
103
|
+
onOpen();
|
|
104
|
+
}, onDoubleClick: () => {
|
|
105
|
+
if (openOn === 'double' && !item.disabled)
|
|
106
|
+
onOpen();
|
|
107
|
+
}, onContextMenu: event => {
|
|
108
|
+
onSelect();
|
|
109
|
+
context.target.onContextMenu(event);
|
|
110
|
+
}, onKeyDown: context.target.onKeyDown, children: [_jsxs("span", { className: "desk-icon-glyph", "aria-hidden": "true", children: [item.icon, item.badge != null && _jsx("span", { className: "desk-icon-badge", children: item.badge })] }), _jsx("span", { className: "desk-icon-label", children: item.label }), item.subtitle && _jsx("span", { className: "desk-icon-subtitle", children: item.subtitle })] }), context.menu] }));
|
|
111
|
+
}
|
|
112
|
+
//# sourceMappingURL=iconView.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"iconView.js","sourceRoot":"","sources":["../../src/react/iconView.tsx"],"names":[],"mappings":"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"}
|
package/dist/react/index.d.ts
CHANGED
|
@@ -14,6 +14,10 @@ export { lazyWindow } from './windowBoundary.js';
|
|
|
14
14
|
export type { WindowFailed, WindowLoading } from './windowBoundary.js';
|
|
15
15
|
export { Button, Checkbox, ChoiceGroup, RadioGroup, SegmentedControl, Slider, TextField, Toggle } from './controls.js';
|
|
16
16
|
export type { ButtonIntent, ButtonProps, CheckboxProps, ChoiceGroupProps, ChoiceOption, RadioGroupProps, RadioOption, SegmentedControlProps, SegmentedOption, SliderProps, TextFieldProps, ToggleProps, } from './controls.js';
|
|
17
|
+
export { Pane, Toolbar } from './pane.js';
|
|
18
|
+
export type { PaneProps, ToolbarProps } from './pane.js';
|
|
19
|
+
export { InfoTip } from './infoTip.js';
|
|
20
|
+
export type { InfoTipProps } from './infoTip.js';
|
|
17
21
|
export { Checklist, useTasks } from './tasks.js';
|
|
18
22
|
export { localSetupStore, useSetupProgress } from './setupProgress.js';
|
|
19
23
|
export type { SetupProgress, SetupProgressOptions, SetupRecord, SetupStore } from './setupProgress.js';
|
|
@@ -37,7 +41,11 @@ export type { ComposerProps, Message, ThreadProps } from './conversation.js';
|
|
|
37
41
|
export { Alert, Popover, Sheet, ToastProvider, useToast } from './overlays.js';
|
|
38
42
|
export type { AlertProps, PopoverProps, PopoverTriggerProps, SheetProps, Toast, ToastInput } from './overlays.js';
|
|
39
43
|
export { MenuBar, menuAction, menuCommand, menuHeader, menuSeparator, windowMenuItems } from './MenuBar.js';
|
|
44
|
+
export { useContextMenu } from './contextMenu.js';
|
|
45
|
+
export type { ContextMenuOptions, ContextMenuResult, ContextMenuTargetProps } from './contextMenu.js';
|
|
40
46
|
export type { Menu, MenuBarProps, MenuItem } from './MenuBar.js';
|
|
41
|
-
export {
|
|
42
|
-
export type {
|
|
47
|
+
export { IconView } from './iconView.js';
|
|
48
|
+
export type { IconViewItem, IconViewProps } from './iconView.js';
|
|
49
|
+
export { Dock, DOCK_ITEM, dockItem, dockSeparator, dockStack } from './Dock.js';
|
|
50
|
+
export type { DockEntry, DockItem, DockPins, DockProps, DockStack } from './Dock.js';
|
|
43
51
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/react/index.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/react/index.ts"],"names":[],"mappings":"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"}
|
package/dist/react/index.js
CHANGED
|
@@ -6,6 +6,8 @@ export { useCanPerform, useCommand, usePerform, useShortcuts } from './commands.
|
|
|
6
6
|
export { Desktop } from './Desktop.js';
|
|
7
7
|
export { lazyWindow } from './windowBoundary.js';
|
|
8
8
|
export { Button, Checkbox, ChoiceGroup, RadioGroup, SegmentedControl, Slider, TextField, Toggle } from './controls.js';
|
|
9
|
+
export { Pane, Toolbar } from './pane.js';
|
|
10
|
+
export { InfoTip } from './infoTip.js';
|
|
9
11
|
export { Checklist, useTasks } from './tasks.js';
|
|
10
12
|
export { localSetupStore, useSetupProgress } from './setupProgress.js';
|
|
11
13
|
export { PopUpButton } from './popup.js';
|
|
@@ -18,5 +20,7 @@ export { BusProvider, InputBar, useBus, useDeskEvent, usePublish, useWindowInput
|
|
|
18
20
|
export { Composer, Thread } from './conversation.js';
|
|
19
21
|
export { Alert, Popover, Sheet, ToastProvider, useToast } from './overlays.js';
|
|
20
22
|
export { MenuBar, menuAction, menuCommand, menuHeader, menuSeparator, windowMenuItems } from './MenuBar.js';
|
|
21
|
-
export {
|
|
23
|
+
export { useContextMenu } from './contextMenu.js';
|
|
24
|
+
export { IconView } from './iconView.js';
|
|
25
|
+
export { Dock, DOCK_ITEM, dockItem, dockSeparator, dockStack } from './Dock.js';
|
|
22
26
|
//# sourceMappingURL=index.js.map
|
package/dist/react/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/react/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,eAAe,CAAA;AAE1E,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,WAAW,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,UAAU,CAAA;AAWhG,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAA;AAEtC,OAAO,EAAE,YAAY,EAAE,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,cAAc,CAAA;AAE/E,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,eAAe,CAAA;AAEnF,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AAEtC,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAA;AAEhD,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,WAAW,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,eAAe,CAAA;AAetH,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AAChD,OAAO,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAA;AAGtE,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAA;AAExC,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAA;AAElC,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AAEtC,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AAEpC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAEnC,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AAEzE,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,EAAE,YAAY,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA;AAErG,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAA;AAEpD,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AAE9E,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,UAAU,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,cAAc,CAAA;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/react/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,eAAe,CAAA;AAE1E,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,WAAW,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,UAAU,CAAA;AAWhG,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAA;AAEtC,OAAO,EAAE,YAAY,EAAE,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,cAAc,CAAA;AAE/E,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,eAAe,CAAA;AAEnF,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AAEtC,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAA;AAEhD,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,WAAW,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,eAAe,CAAA;AAetH,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAEzC,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AAEtC,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AAChD,OAAO,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAA;AAGtE,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAA;AAExC,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAA;AAElC,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AAEtC,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AAEpC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAEnC,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AAEzE,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,EAAE,YAAY,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA;AAErG,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAA;AAEpD,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AAE9E,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,UAAU,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,cAAc,CAAA;AAC3G,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAA;AAGjD,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AAExC,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,WAAW,CAAA"}
|