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.
Files changed (57) hide show
  1. package/README.md +45 -14
  2. package/changelog.md +23 -0
  3. package/docs/macos-base-ui-coverage.md +11 -7
  4. package/examples/macos-base-ui-gallery/index.html +9 -9
  5. package/examples/macos-base-ui-gallery/src/main.tsx +5 -5
  6. package/examples/macos-base-ui-gallery-tauri/src-tauri/Cargo.lock +17 -0
  7. package/examples/macos-base-ui-gallery-tauri/src-tauri/capabilities/default.json +5 -5
  8. package/examples/macos-base-ui-gallery-tauri/src-tauri/tauri.conf.json +22 -22
  9. package/package.json +88 -86
  10. package/src/components/AppWindowShell.tsx +5 -5
  11. package/src/components/MacBaseUIControls.tsx +133 -133
  12. package/src/components/MacBaseUIGallery.tsx +29 -29
  13. package/src/components/MacBaseUIGalleryAdvanced.tsx +205 -171
  14. package/src/components/MacBaseUIGalleryButtons.tsx +100 -100
  15. package/src/components/MacBaseUIGalleryControls.tsx +198 -198
  16. package/src/components/MacBaseUIGalleryShared.tsx +17 -17
  17. package/src/components/MacBaseUIGalleryStateful.tsx +167 -160
  18. package/src/components/MacBaseUIInternals.tsx +205 -205
  19. package/src/components/MacBaseUINavigation.tsx +144 -144
  20. package/src/components/MacDataTable.tsx +223 -219
  21. package/src/components/MacNativeContextMenu.tsx +279 -0
  22. package/src/components/MacNativeDialog.tsx +63 -63
  23. package/src/components/MacNativeMenuIcons.ts +57 -0
  24. package/src/components/MacSegmentedControl.tsx +78 -78
  25. package/src/components/MacSymbolButton.tsx +120 -120
  26. package/src/components/MacWindowToolbar.tsx +83 -83
  27. package/src/components/StatusMessage.tsx +14 -14
  28. package/src/components/ViewDragRegion.tsx +11 -11
  29. package/src/components/index.ts +7 -5
  30. package/src/index.ts +42 -16
  31. package/src/styles/macosBaseUi.css +1145 -1139
  32. package/src/styles/macosTauri.css +28 -26
  33. package/src/symbols/FolderIconImage.tsx +67 -0
  34. package/src/symbols/SystemSymbolImage.tsx +57 -57
  35. package/src/symbols/folderIconService.ts +60 -0
  36. package/src/symbols/index.ts +14 -5
  37. package/src/symbols/systemSymbolService.ts +94 -94
  38. package/src/symbols/useFolderIcon.ts +55 -0
  39. package/src/symbols/useSystemSymbol.ts +54 -54
  40. package/src/tauri/index.ts +17 -0
  41. package/src/tauri/macosWindowConfig.ts +12 -12
  42. package/src/tauri/startTauriWindowDrag.ts +6 -6
  43. package/src/theme/macosTheme.ts +40 -40
  44. package/src/utils/isDraggableAreaTarget.ts +13 -13
  45. package/src-tauri/Cargo.toml +5 -0
  46. package/src-tauri/build.rs +9 -0
  47. package/src-tauri/permissions/autogenerated/commands/folder_icon_png_data_url.toml +13 -0
  48. package/src-tauri/permissions/autogenerated/commands/native_dialog_show.toml +13 -0
  49. package/src-tauri/permissions/autogenerated/commands/system_symbol_png_data_url.toml +13 -0
  50. package/src-tauri/permissions/autogenerated/reference.md +98 -0
  51. package/src-tauri/permissions/default.toml +12 -0
  52. package/src-tauri/permissions/schemas/schema.json +342 -0
  53. package/src-tauri/src/folder_icons.rs +50 -0
  54. package/src-tauri/src/lib.rs +8 -1
  55. package/src-tauri/src/native_image.rs +27 -0
  56. package/src-tauri/src/system_symbols.rs +5 -25
  57. 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
- - A reusable SF Symbols fetch layer with React hooks/components.
9
- - A Rust/Tauri plugin crate that exposes a native command:
10
- `system_symbol_png_data_url`.
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 or Tauri
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
- AppWindowShell,
180
- MacDataTable,
181
- MacSegmentedControl,
182
- MacWindowToolbar,
183
- StatusMessage,
184
- MacSymbolButton,
185
- ViewDragRegion,
186
- isDraggableAreaTarget,
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 | Contract |
94
- | --------------------------------- | --------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
95
- | 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. |
96
- | 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. |
97
- | 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. |
98
- | 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. |
99
- | 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`. |
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
- <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>
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
- <StrictMode>
9
- <AppWindowShell>
10
- <MacBaseUIGallery />
11
- </AppWindowShell>
12
- </StrictMode>,
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
- "$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"]
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
- "$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
- }
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
- "name": "mac-human-design",
3
- "version": "0.1.30-preview.4",
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",
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
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
- return (
5
- <div className="hd-mac-window">
6
- <div className="hd-mac-window-content">{children}</div>
7
- </div>
8
- )
4
+ return (
5
+ <div className="hd-mac-window">
6
+ <div className="hd-mac-window-content">{children}</div>
7
+ </div>
8
+ )
9
9
  }