mac-human-design 0.1.30-preview.4 → 0.1.30-preview.5
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 +45 -14
- package/changelog.md +23 -0
- package/docs/macos-base-ui-coverage.md +11 -7
- package/examples/macos-base-ui-gallery/index.html +9 -9
- package/examples/macos-base-ui-gallery/src/main.tsx +5 -5
- package/examples/macos-base-ui-gallery-tauri/src-tauri/Cargo.lock +17 -0
- package/examples/macos-base-ui-gallery-tauri/src-tauri/capabilities/default.json +5 -5
- package/examples/macos-base-ui-gallery-tauri/src-tauri/tauri.conf.json +22 -22
- package/package.json +88 -86
- package/src/components/AppWindowShell.tsx +5 -5
- package/src/components/MacBaseUIControls.tsx +133 -133
- package/src/components/MacBaseUIGallery.tsx +29 -29
- package/src/components/MacBaseUIGalleryAdvanced.tsx +205 -171
- package/src/components/MacBaseUIGalleryButtons.tsx +100 -100
- package/src/components/MacBaseUIGalleryControls.tsx +198 -198
- package/src/components/MacBaseUIGalleryShared.tsx +17 -17
- package/src/components/MacBaseUIGalleryStateful.tsx +167 -160
- package/src/components/MacBaseUIInternals.tsx +205 -205
- package/src/components/MacBaseUINavigation.tsx +144 -144
- package/src/components/MacDataTable.tsx +223 -219
- package/src/components/MacNativeContextMenu.tsx +279 -0
- package/src/components/MacNativeDialog.tsx +63 -63
- package/src/components/MacNativeMenuIcons.ts +57 -0
- package/src/components/MacSegmentedControl.tsx +78 -78
- package/src/components/MacSymbolButton.tsx +120 -120
- package/src/components/MacWindowToolbar.tsx +83 -83
- package/src/components/StatusMessage.tsx +14 -14
- package/src/components/ViewDragRegion.tsx +11 -11
- package/src/components/index.ts +7 -5
- package/src/index.ts +42 -16
- package/src/styles/macosBaseUi.css +1145 -1139
- package/src/styles/macosTauri.css +28 -26
- package/src/symbols/FolderIconImage.tsx +67 -0
- package/src/symbols/SystemSymbolImage.tsx +57 -57
- package/src/symbols/folderIconService.ts +60 -0
- package/src/symbols/index.ts +14 -5
- package/src/symbols/systemSymbolService.ts +94 -94
- package/src/symbols/useFolderIcon.ts +55 -0
- package/src/symbols/useSystemSymbol.ts +54 -54
- package/src/tauri/index.ts +17 -0
- package/src/tauri/macosWindowConfig.ts +12 -12
- package/src/tauri/startTauriWindowDrag.ts +6 -6
- package/src/theme/macosTheme.ts +40 -40
- package/src/utils/isDraggableAreaTarget.ts +13 -13
- package/src-tauri/Cargo.toml +5 -0
- package/src-tauri/build.rs +9 -0
- package/src-tauri/permissions/autogenerated/commands/folder_icon_png_data_url.toml +13 -0
- package/src-tauri/permissions/autogenerated/commands/native_dialog_show.toml +13 -0
- package/src-tauri/permissions/autogenerated/commands/system_symbol_png_data_url.toml +13 -0
- package/src-tauri/permissions/autogenerated/reference.md +98 -0
- package/src-tauri/permissions/default.toml +12 -0
- package/src-tauri/permissions/schemas/schema.json +342 -0
- package/src-tauri/src/folder_icons.rs +50 -0
- package/src-tauri/src/lib.rs +8 -1
- package/src-tauri/src/native_image.rs +27 -0
- package/src-tauri/src/system_symbols.rs +5 -25
- package/src-tauri/templates/macos-transparent-overlay-window.json +14 -14
package/README.md
CHANGED
|
@@ -5,9 +5,11 @@ A reusable shared library for Tauri macOS apps. It includes:
|
|
|
5
5
|
- macOS-styled wrappers for every public `@base-ui/react` component family.
|
|
6
6
|
- Default-on Motion-powered animations that respect reduced-motion settings.
|
|
7
7
|
- `MacSegmentedControl` and macOS design tokens/classes.
|
|
8
|
-
-
|
|
9
|
-
-
|
|
10
|
-
|
|
8
|
+
- Native Tauri helpers for macOS context menus and AppKit dialogs.
|
|
9
|
+
- Reusable SF Symbols and AppKit folder-icon fetch layers with React
|
|
10
|
+
hooks/components.
|
|
11
|
+
- A Rust/Tauri plugin crate that exposes native commands for SF Symbols, folder
|
|
12
|
+
icons, and native dialogs.
|
|
11
13
|
|
|
12
14
|
## Structure
|
|
13
15
|
|
|
@@ -24,8 +26,8 @@ npm i mac-human-design @base-ui/react motion react react-dom
|
|
|
24
26
|
```
|
|
25
27
|
|
|
26
28
|
`@base-ui/react`, `motion`, `react`, and `react-dom` are peer dependencies.
|
|
27
|
-
Install `@tauri-apps/api` too when using the SF Symbols helpers
|
|
28
|
-
integration.
|
|
29
|
+
Install `@tauri-apps/api` too when using the SF Symbols helpers, AppKit folder
|
|
30
|
+
icons, native context menus, native dialogs, or other Tauri integration.
|
|
29
31
|
|
|
30
32
|
Consumer apps should also include the macOS Base UI stylesheet once near their
|
|
31
33
|
app root:
|
|
@@ -52,6 +54,15 @@ fn main() {
|
|
|
52
54
|
}
|
|
53
55
|
```
|
|
54
56
|
|
|
57
|
+
Native context menus use Tauri's built-in menu popup API. Consumer app
|
|
58
|
+
capabilities need `core:menu:allow-popup`, `core:menu:default`, or
|
|
59
|
+
`core:default`.
|
|
60
|
+
|
|
61
|
+
The shared native plugin default permission enables SF Symbol PNGs, AppKit
|
|
62
|
+
folder-icon PNGs, and native dialogs. If your app opts into individual plugin
|
|
63
|
+
permissions instead of `human-design-system-symbols:default`, include
|
|
64
|
+
`human-design-system-symbols:allow-folder-icon-png-data-url`.
|
|
65
|
+
|
|
55
66
|
## Usage (React)
|
|
56
67
|
|
|
57
68
|
```ts
|
|
@@ -60,12 +71,13 @@ import {
|
|
|
60
71
|
MacButton,
|
|
61
72
|
MacDataTable,
|
|
62
73
|
MacMotionProvider,
|
|
74
|
+
MacNativeContextMenu,
|
|
63
75
|
MacSegmentedControl,
|
|
64
76
|
MacSelect,
|
|
65
77
|
MacWindowToolbar,
|
|
66
78
|
MacSymbolButton,
|
|
67
79
|
} from "mac-human-design";
|
|
68
|
-
import { SystemSymbolImage } from "mac-human-design/symbols";
|
|
80
|
+
import { FolderIconImage, SystemSymbolImage } from "mac-human-design/symbols";
|
|
69
81
|
import "mac-human-design/styles/macos-base-ui.css";
|
|
70
82
|
|
|
71
83
|
export function Demo() {
|
|
@@ -94,6 +106,7 @@ export function Demo() {
|
|
|
94
106
|
/>
|
|
95
107
|
}
|
|
96
108
|
/>
|
|
109
|
+
<FolderIconImage sizePx={24} ariaLabel="Folder" />
|
|
97
110
|
<SystemSymbolImage symbolName="folder" sizePx={18} fallback="▢" />
|
|
98
111
|
<MacDataTable
|
|
99
112
|
ariaLabel="Demo files"
|
|
@@ -105,6 +118,17 @@ export function Demo() {
|
|
|
105
118
|
getRowKey={(row) => row.name}
|
|
106
119
|
/>
|
|
107
120
|
<MacButton role="primary">Continue</MacButton>
|
|
121
|
+
<MacNativeContextMenu.Trigger
|
|
122
|
+
menu={[
|
|
123
|
+
{ id: "rename", text: "Rename", action: () => {} },
|
|
124
|
+
{ id: "duplicate", text: "Duplicate", nativeIcon: "Folder", action: () => {} },
|
|
125
|
+
{ type: "separator" },
|
|
126
|
+
{ type: "checkbox", id: "details", text: "Show Details", checked: true },
|
|
127
|
+
]}
|
|
128
|
+
tabIndex={0}
|
|
129
|
+
>
|
|
130
|
+
Right-click for native actions
|
|
131
|
+
</MacNativeContextMenu.Trigger>
|
|
108
132
|
<MacSelect.Root items={[{ label: "Files", value: "files" }]}>
|
|
109
133
|
<MacSelect.Trigger>
|
|
110
134
|
<MacSelect.Value placeholder="Choose" />
|
|
@@ -166,6 +190,11 @@ The following components are now in the shared library and can be imported by an
|
|
|
166
190
|
single/multiple selection plus `regular`, `pill`, and `glass` variants
|
|
167
191
|
- `MacWindowToolbar`, a Motion-backed Tauri window toolbar with drag-region
|
|
168
192
|
and no-drag control group handling
|
|
193
|
+
- `MacNativeContextMenu`, a native Tauri context-menu bridge with
|
|
194
|
+
`showMacNativeContextMenu()`, native menu icons such as `nativeIcon:
|
|
195
|
+
"Folder"`, and a right-click/keyboard trigger component
|
|
196
|
+
- `FolderIconImage`, `useFolderIcon()`, and `getFolderIconDataUrl()` for
|
|
197
|
+
rendering AppKit/Finder-style folder icons in React UI
|
|
169
198
|
- `StatusMessage`
|
|
170
199
|
- `MacSymbolButton`, a centered SF Symbols icon button with fallback glyphs,
|
|
171
200
|
`role` and `variant` props, loading state, tooltips, and pass-through styling hooks
|
|
@@ -176,13 +205,15 @@ Example import:
|
|
|
176
205
|
|
|
177
206
|
```ts
|
|
178
207
|
import {
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
208
|
+
AppWindowShell,
|
|
209
|
+
MacDataTable,
|
|
210
|
+
MacNativeContextMenu,
|
|
211
|
+
MacSegmentedControl,
|
|
212
|
+
MacWindowToolbar,
|
|
213
|
+
FolderIconImage,
|
|
214
|
+
StatusMessage,
|
|
215
|
+
MacSymbolButton,
|
|
216
|
+
ViewDragRegion,
|
|
217
|
+
isDraggableAreaTarget,
|
|
187
218
|
} from "mac-human-design"
|
|
188
219
|
```
|
package/changelog.md
CHANGED
|
@@ -2,10 +2,31 @@
|
|
|
2
2
|
|
|
3
3
|
This file tracks changes between published npm versions of `mac-human-design`.
|
|
4
4
|
|
|
5
|
+
## 0.1.30-preview.5
|
|
6
|
+
|
|
7
|
+
### Added
|
|
8
|
+
|
|
9
|
+
- Added `FolderIconImage`, `useFolderIcon()`, and `getFolderIconDataUrl()` so
|
|
10
|
+
Tauri macOS apps can render AppKit/Finder-style generic folder icons or
|
|
11
|
+
folder-path-specific icons through the shared native plugin.
|
|
12
|
+
- Added `nativeIcon` support to `MacNativeContextMenu` action, checkbox, and
|
|
13
|
+
submenu items, including Tauri's native `Folder`, `FolderBurnable`, and
|
|
14
|
+
`FolderSmart` menu icons.
|
|
15
|
+
|
|
16
|
+
### Changed
|
|
17
|
+
|
|
18
|
+
- Extended the shared Tauri plugin default permission set with
|
|
19
|
+
`allow-folder-icon-png-data-url`.
|
|
20
|
+
- Bumped the package to `0.1.30-preview.5`.
|
|
21
|
+
|
|
5
22
|
## 0.1.30-preview.4
|
|
6
23
|
|
|
7
24
|
### Added
|
|
8
25
|
|
|
26
|
+
- Added `MacNativeContextMenu`, a Tauri-backed native context-menu bridge with
|
|
27
|
+
`showMacNativeContextMenu()` and `MacNativeContextMenu.Trigger`, supporting
|
|
28
|
+
action items, checkbox items, separators, predefined native items, and
|
|
29
|
+
submenus while remaining browser-safe outside a Tauri runtime.
|
|
9
30
|
- Added `MacNativeDialog`, a Tauri-backed native macOS dialog bridge with
|
|
10
31
|
`showMacNativeDialog()` and `MacNativeDialog.Trigger`, plus a browser-safe
|
|
11
32
|
fallback for the web gallery.
|
|
@@ -15,6 +36,8 @@ This file tracks changes between published npm versions of `mac-human-design`.
|
|
|
15
36
|
- Updated the gallery dialog section to use native Tauri/AppKit dialogs by
|
|
16
37
|
default and keep React-rendered dialog content only for the sidebar drawer
|
|
17
38
|
exception.
|
|
39
|
+
- Added native context-menu gallery and README coverage, including the required
|
|
40
|
+
Tauri menu popup permission note for consumer apps.
|
|
18
41
|
- Fixed Tauri plugin invocations to use the `plugin:human-design-system-symbols|`
|
|
19
42
|
command prefix for native dialogs and SF Symbols.
|
|
20
43
|
- Narrowed the npm package file list so preview publishes include example source
|
|
@@ -82,6 +82,8 @@ render UI.
|
|
|
82
82
|
| Toolbar toggle | `MacToolbarToggle` |
|
|
83
83
|
| Toolbar icon button | `MacToolbar.IconButton` |
|
|
84
84
|
| Native AppKit dialog | `MacNativeDialog` |
|
|
85
|
+
| Native context menu | `MacNativeContextMenu` |
|
|
86
|
+
| Native folder icon | `FolderIconImage` |
|
|
85
87
|
| Legacy React sheet | `MacDialog.SheetPopup` |
|
|
86
88
|
| Sidebar drawer | `MacDrawer.SidebarPopup` |
|
|
87
89
|
|
|
@@ -90,13 +92,15 @@ render UI.
|
|
|
90
92
|
These shared components cover reusable macOS/Tauri app patterns that should not
|
|
91
93
|
be reimplemented in consuming apps:
|
|
92
94
|
|
|
93
|
-
| App pattern | Export
|
|
94
|
-
| --------------------------------- |
|
|
95
|
-
| Finder-style grid/table primitive | `MacDataTable`
|
|
96
|
-
| Tauri window toolbar | `MacWindowToolbar`
|
|
97
|
-
| Native Tauri
|
|
98
|
-
|
|
|
99
|
-
|
|
|
95
|
+
| App pattern | Export | Contract |
|
|
96
|
+
| --------------------------------- | ---------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
97
|
+
| Finder-style grid/table primitive | `MacDataTable` | Uses `table` semantics for static rows, upgrades to `grid` semantics for interactive rows, exposes row/column metadata, busy state, keyboard activation, arrow/Home/End row focus navigation, selected row state, and layered hover/selection styling. |
|
|
98
|
+
| Tauri window toolbar | `MacWindowToolbar` | Provides a labelled `toolbar` landmark, labelled leading/content/trailing control groups, a root drag region, no-drag regions around interactive controls, and stable wrapped-control sizing for dense icon toolbars. |
|
|
99
|
+
| Native Tauri context menu | `MacNativeContextMenu` | Provides `showMacNativeContextMenu()` and `MacNativeContextMenu.Trigger` so macOS Tauri apps can present native OS context menus through Tauri's built-in menu popup API, including native menu icons such as `Folder`, while keeping the package browser-safe for gallery and documentation builds. |
|
|
100
|
+
| Native Tauri dialog bridge | `MacNativeDialog` | Provides `showMacNativeDialog()` and `MacNativeDialog.Trigger` so Tauri apps can present native macOS `NSAlert` dialogs through the library's Tauri plugin while retaining a browser-safe fallback for the developer gallery. |
|
|
101
|
+
| AppKit folder icon bridge | `FolderIconImage` | Provides `getFolderIconDataUrl()`, `useFolderIcon()`, and `FolderIconImage` so macOS Tauri apps can render generic Finder-style folder icons or path-specific folder icons through `NSWorkspace`, with browser-safe fallback rendering outside Tauri. |
|
|
102
|
+
| Segmented control | `MacSegmentedControl` | Provides the standard macOS segmented control API with single/multiple selection, regular joined segments, pill segments, Tahoe-style glass segments, accessible labels, full-width layout support, and class/style pass-through. |
|
|
103
|
+
| Centered SF Symbols icon button | `MacSymbolButton` | Renders through `MacButton` and `hd-mac-icon-button`, supports `role` and `variant`, defaults to `type="button"`, preserves fixed geometry while allowing style/class pass-through, supports tooltip offsets and per-symbol optical offsets, and exposes loading state with `aria-busy`. |
|
|
100
104
|
|
|
101
105
|
## Icon Button Alignment Guarantees
|
|
102
106
|
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
<!doctype html>
|
|
2
2
|
<html lang="en">
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
3
|
+
<head>
|
|
4
|
+
<meta charset="UTF-8" />
|
|
5
|
+
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
|
6
|
+
<title>human-design macOS Base UI gallery</title>
|
|
7
|
+
</head>
|
|
8
|
+
<body>
|
|
9
|
+
<div id="root"></div>
|
|
10
|
+
<script type="module" src="/src/main.tsx"></script>
|
|
11
|
+
</body>
|
|
12
12
|
</html>
|
|
@@ -5,9 +5,9 @@ import "../../../src/styles/macosBaseUi.css"
|
|
|
5
5
|
import "../../../src/styles/macosTauri.css"
|
|
6
6
|
|
|
7
7
|
createRoot(document.getElementById("root") as HTMLElement).render(
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
8
|
+
<StrictMode>
|
|
9
|
+
<AppWindowShell>
|
|
10
|
+
<MacBaseUIGallery />
|
|
11
|
+
</AppWindowShell>
|
|
12
|
+
</StrictMode>,
|
|
13
13
|
)
|
|
@@ -1275,6 +1275,7 @@ dependencies = [
|
|
|
1275
1275
|
"objc2-app-kit",
|
|
1276
1276
|
"objc2-foundation",
|
|
1277
1277
|
"tauri",
|
|
1278
|
+
"tauri-plugin",
|
|
1278
1279
|
"window-vibrancy",
|
|
1279
1280
|
]
|
|
1280
1281
|
|
|
@@ -3124,6 +3125,22 @@ dependencies = [
|
|
|
3124
3125
|
"tauri-utils",
|
|
3125
3126
|
]
|
|
3126
3127
|
|
|
3128
|
+
[[package]]
|
|
3129
|
+
name = "tauri-plugin"
|
|
3130
|
+
version = "2.6.2"
|
|
3131
|
+
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
3132
|
+
checksum = "e126abc9e84e35cdfd01596140a73a1850cdb0df0a23acf0185776c30b469a6e"
|
|
3133
|
+
dependencies = [
|
|
3134
|
+
"anyhow",
|
|
3135
|
+
"glob",
|
|
3136
|
+
"plist",
|
|
3137
|
+
"schemars 0.8.22",
|
|
3138
|
+
"serde",
|
|
3139
|
+
"serde_json",
|
|
3140
|
+
"tauri-utils",
|
|
3141
|
+
"walkdir",
|
|
3142
|
+
]
|
|
3143
|
+
|
|
3127
3144
|
[[package]]
|
|
3128
3145
|
name = "tauri-runtime"
|
|
3129
3146
|
version = "2.11.2"
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
2
|
+
"$schema": "../gen/schemas/desktop-schema.json",
|
|
3
|
+
"identifier": "default",
|
|
4
|
+
"description": "Permissions for the dev-only macOS Base UI gallery shell.",
|
|
5
|
+
"windows": ["main"],
|
|
6
|
+
"permissions": ["core:default", "core:window:allow-start-dragging", "human-design-system-symbols:default"]
|
|
7
7
|
}
|
|
@@ -1,24 +1,24 @@
|
|
|
1
1
|
{
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
2
|
+
"$schema": "https://schema.tauri.app/config/2",
|
|
3
|
+
"productName": "mac-human-design Gallery",
|
|
4
|
+
"version": "0.1.0",
|
|
5
|
+
"identifier": "dev.mac-human-design.gallery",
|
|
6
|
+
"build": {
|
|
7
|
+
"devUrl": "http://127.0.0.1:5173",
|
|
8
|
+
"frontendDist": "../macos-base-ui-gallery/dist"
|
|
9
|
+
},
|
|
10
|
+
"app": {
|
|
11
|
+
"macOSPrivateApi": true,
|
|
12
|
+
"windows": [
|
|
13
|
+
{
|
|
14
|
+
"transparent": true,
|
|
15
|
+
"titleBarStyle": "Overlay",
|
|
16
|
+
"hiddenTitle": true,
|
|
17
|
+
"trafficLightPosition": {
|
|
18
|
+
"x": 24,
|
|
19
|
+
"y": 20
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
]
|
|
23
|
+
}
|
|
24
24
|
}
|
package/package.json
CHANGED
|
@@ -1,89 +1,91 @@
|
|
|
1
1
|
{
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
2
|
+
"name": "mac-human-design",
|
|
3
|
+
"version": "0.1.30-preview.5",
|
|
4
|
+
"description": "Reusable macOS-oriented UI primitives and SF Symbols bridge for Tauri apps.",
|
|
5
|
+
"type": "module",
|
|
6
|
+
"main": "src/index.ts",
|
|
7
|
+
"types": "src/index.ts",
|
|
8
|
+
"exports": {
|
|
9
|
+
".": "./src/index.ts",
|
|
10
|
+
"./components": "./src/components/index.ts",
|
|
11
|
+
"./theme": "./src/theme/index.ts",
|
|
12
|
+
"./symbols": "./src/symbols/index.ts",
|
|
13
|
+
"./tauri": "./src/tauri/index.ts",
|
|
14
|
+
"./tauri/macos-window-config": "./src/tauri/macosWindowConfig.ts",
|
|
15
|
+
"./styles/macos-base-ui.css": "./src/styles/macosBaseUi.css",
|
|
16
|
+
"./utils": "./src/utils/index.ts",
|
|
17
|
+
"./styles/macos-tauri.css": "./src/styles/macosTauri.css",
|
|
18
|
+
"./rust": "./src-tauri"
|
|
19
|
+
},
|
|
20
|
+
"files": [
|
|
21
|
+
"changelog.md",
|
|
22
|
+
"docs/**/*",
|
|
23
|
+
"examples/macos-base-ui-gallery/index.html",
|
|
24
|
+
"examples/macos-base-ui-gallery/src/**/*",
|
|
25
|
+
"examples/macos-base-ui-gallery-tauri/src-tauri/Cargo.lock",
|
|
26
|
+
"examples/macos-base-ui-gallery-tauri/src-tauri/Cargo.toml",
|
|
27
|
+
"examples/macos-base-ui-gallery-tauri/src-tauri/build.rs",
|
|
28
|
+
"examples/macos-base-ui-gallery-tauri/src-tauri/capabilities/**/*",
|
|
29
|
+
"examples/macos-base-ui-gallery-tauri/src-tauri/icons/**/*",
|
|
30
|
+
"examples/macos-base-ui-gallery-tauri/src-tauri/src/**/*",
|
|
31
|
+
"examples/macos-base-ui-gallery-tauri/src-tauri/tauri.conf.json",
|
|
32
|
+
"src/**/*",
|
|
33
|
+
"src-tauri/**/*",
|
|
34
|
+
"README.md",
|
|
35
|
+
"LICENSE"
|
|
36
|
+
],
|
|
37
|
+
"keywords": [
|
|
38
|
+
"tauri",
|
|
39
|
+
"tauri-plugin",
|
|
40
|
+
"macos",
|
|
41
|
+
"sf-symbols",
|
|
42
|
+
"react",
|
|
43
|
+
"components"
|
|
44
|
+
],
|
|
45
|
+
"scripts": {
|
|
46
|
+
"check": "npm run lint && npm run format:check && npm run typecheck && npm run verify:gallery",
|
|
47
|
+
"dev:gallery": "vite --host 127.0.0.1 examples/macos-base-ui-gallery",
|
|
48
|
+
"dev:gallery:tauri": "vite --host 127.0.0.1 examples/macos-base-ui-gallery --port 5173 --strictPort & DEV_GALLERY_PID=$!; trap 'kill $DEV_GALLERY_PID 2>/dev/null || true' INT TERM EXIT; npx @tauri-apps/cli dev --config examples/macos-base-ui-gallery-tauri/src-tauri/tauri.conf.json; TAURI_EXIT=$?; exit $TAURI_EXIT",
|
|
49
|
+
"format": "prettier --write .",
|
|
50
|
+
"format:check": "prettier --check .",
|
|
51
|
+
"lint": "eslint . --max-warnings=0 --fix",
|
|
52
|
+
"publish": "npm publish --access public --ignore-scripts",
|
|
53
|
+
"publish:preview": "npm publish --access public --ignore-scripts --tag preview",
|
|
54
|
+
"typecheck": "tsc --noEmit",
|
|
55
|
+
"verify:gallery": "rm -rf .verify/macos-base-ui-gallery && vite build examples/macos-base-ui-gallery --outDir ../../.verify/macos-base-ui-gallery --emptyOutDir && rm -rf .verify/macos-base-ui-gallery"
|
|
56
|
+
},
|
|
57
|
+
"author": "human-design",
|
|
58
|
+
"license": "MIT",
|
|
59
|
+
"peerDependencies": {
|
|
60
|
+
"@base-ui/react": "^1.5.0",
|
|
61
|
+
"@tauri-apps/api": "^2",
|
|
62
|
+
"motion": "^12.40.0",
|
|
63
|
+
"react": ">=18",
|
|
64
|
+
"react-dom": ">=18"
|
|
65
|
+
},
|
|
66
|
+
"peerDependenciesMeta": {
|
|
67
|
+
"@tauri-apps/api": {
|
|
68
|
+
"optional": true
|
|
69
|
+
}
|
|
70
|
+
},
|
|
71
|
+
"devDependencies": {
|
|
72
|
+
"@base-ui/react": "^1.5.0",
|
|
73
|
+
"@eslint/js": "^10.0.1",
|
|
74
|
+
"@tauri-apps/api": "^2.11.0",
|
|
75
|
+
"@types/react": "^19.2.17",
|
|
76
|
+
"@types/react-dom": "^19.2.3",
|
|
77
|
+
"@vitejs/plugin-react": "^6.0.2",
|
|
78
|
+
"eslint": "^10.4.1",
|
|
79
|
+
"eslint-config-prettier": "^10.1.8",
|
|
80
|
+
"eslint-plugin-prettier": "^5.5.6",
|
|
81
|
+
"eslint-plugin-react-hooks": "^7.1.1",
|
|
82
|
+
"globals": "^17.6.0",
|
|
83
|
+
"motion": "^12.40.0",
|
|
84
|
+
"prettier": "^3.8.4",
|
|
85
|
+
"react": "^19.2.7",
|
|
86
|
+
"react-dom": "^19.2.7",
|
|
87
|
+
"typescript": "^6.0.3",
|
|
88
|
+
"typescript-eslint": "^8.61.0",
|
|
89
|
+
"vite": "^8.0.16"
|
|
69
90
|
}
|
|
70
|
-
},
|
|
71
|
-
"devDependencies": {
|
|
72
|
-
"@base-ui/react": "^1.5.0",
|
|
73
|
-
"@eslint/js": "^10.0.1",
|
|
74
|
-
"@tauri-apps/api": "^2.11.0",
|
|
75
|
-
"@types/react": "^19.2.17",
|
|
76
|
-
"@types/react-dom": "^19.2.3",
|
|
77
|
-
"@vitejs/plugin-react": "^6.0.2",
|
|
78
|
-
"eslint": "^10.4.1",
|
|
79
|
-
"eslint-plugin-react-hooks": "^7.1.1",
|
|
80
|
-
"globals": "^17.6.0",
|
|
81
|
-
"motion": "^12.40.0",
|
|
82
|
-
"prettier": "^3.8.4",
|
|
83
|
-
"react": "^19.2.7",
|
|
84
|
-
"react-dom": "^19.2.7",
|
|
85
|
-
"typescript": "^6.0.3",
|
|
86
|
-
"typescript-eslint": "^8.61.0",
|
|
87
|
-
"vite": "^8.0.16"
|
|
88
|
-
}
|
|
89
91
|
}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { ReactNode } from "react"
|
|
2
2
|
|
|
3
3
|
export function AppWindowShell({ children }: { children: ReactNode }) {
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
4
|
+
return (
|
|
5
|
+
<div className="hd-mac-window">
|
|
6
|
+
<div className="hd-mac-window-content">{children}</div>
|
|
7
|
+
</div>
|
|
8
|
+
)
|
|
9
9
|
}
|