@cyann/dash-lab 0.0.0-stage → 0.1.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.
Files changed (96) hide show
  1. package/AGENTS.md +138 -0
  2. package/CHANGELOG.md +48 -0
  3. package/CONTRIBUTING.md +94 -0
  4. package/LICENSE +21 -0
  5. package/README.md +154 -2
  6. package/THIRD_PARTY_NOTICES.md +31 -0
  7. package/dist/commands/CommandContext.d.ts +19 -0
  8. package/dist/commands/CommandContext.d.ts.map +1 -0
  9. package/dist/commands/CommandPalette.d.ts +10 -0
  10. package/dist/commands/CommandPalette.d.ts.map +1 -0
  11. package/dist/commands/CommandProvider.d.ts +12 -0
  12. package/dist/commands/CommandProvider.d.ts.map +1 -0
  13. package/dist/commands/CommandRegistry.d.ts +40 -0
  14. package/dist/commands/CommandRegistry.d.ts.map +1 -0
  15. package/dist/commands/searchCommands.d.ts +3 -0
  16. package/dist/commands/searchCommands.d.ts.map +1 -0
  17. package/dist/commands/shortcuts.d.ts +7 -0
  18. package/dist/commands/shortcuts.d.ts.map +1 -0
  19. package/dist/dash-lab.css +2 -0
  20. package/dist/i18n/I18nProvider.d.ts +20 -0
  21. package/dist/i18n/I18nProvider.d.ts.map +1 -0
  22. package/dist/i18n/i18nStore.d.ts +31 -0
  23. package/dist/i18n/i18nStore.d.ts.map +1 -0
  24. package/dist/i18n/messages.d.ts +3 -0
  25. package/dist/i18n/messages.d.ts.map +1 -0
  26. package/dist/index.d.ts +32 -0
  27. package/dist/index.d.ts.map +1 -0
  28. package/dist/index.js +2561 -0
  29. package/dist/layout/DockWorkspace.d.ts +7 -0
  30. package/dist/layout/DockWorkspace.d.ts.map +1 -0
  31. package/dist/layout/LayoutControls.d.ts +5 -0
  32. package/dist/layout/LayoutControls.d.ts.map +1 -0
  33. package/dist/layout/Workbench.d.ts +40 -0
  34. package/dist/layout/Workbench.d.ts.map +1 -0
  35. package/dist/layout/layoutPersistence.d.ts +22 -0
  36. package/dist/layout/layoutPersistence.d.ts.map +1 -0
  37. package/dist/layout/layoutStore.d.ts +13 -0
  38. package/dist/layout/layoutStore.d.ts.map +1 -0
  39. package/dist/layout/panels.d.ts +21 -0
  40. package/dist/layout/panels.d.ts.map +1 -0
  41. package/dist/layout/useLayoutManagement.d.ts +21 -0
  42. package/dist/layout/useLayoutManagement.d.ts.map +1 -0
  43. package/dist/layout/useWorkbenchCommands.d.ts +14 -0
  44. package/dist/layout/useWorkbenchCommands.d.ts.map +1 -0
  45. package/dist/library.d.ts +3 -0
  46. package/dist/library.d.ts.map +1 -0
  47. package/dist/notifications/NotificationButton.d.ts +3 -0
  48. package/dist/notifications/NotificationButton.d.ts.map +1 -0
  49. package/dist/notifications/NotificationContext.d.ts +5 -0
  50. package/dist/notifications/NotificationContext.d.ts.map +1 -0
  51. package/dist/notifications/NotificationProvider.d.ts +11 -0
  52. package/dist/notifications/NotificationProvider.d.ts.map +1 -0
  53. package/dist/notifications/NotificationToasts.d.ts +2 -0
  54. package/dist/notifications/NotificationToasts.d.ts.map +1 -0
  55. package/dist/notifications/NotificationViewport.d.ts +2 -0
  56. package/dist/notifications/NotificationViewport.d.ts.map +1 -0
  57. package/dist/notifications/notificationStore.d.ts +56 -0
  58. package/dist/notifications/notificationStore.d.ts.map +1 -0
  59. package/dist/notifications/preferences.d.ts +10 -0
  60. package/dist/notifications/preferences.d.ts.map +1 -0
  61. package/dist/overlays/dialogMotion.d.ts +3 -0
  62. package/dist/overlays/dialogMotion.d.ts.map +1 -0
  63. package/dist/overlays/useDialogDismiss.d.ts +9 -0
  64. package/dist/overlays/useDialogDismiss.d.ts.map +1 -0
  65. package/dist/plugins/PluginContext.d.ts +5 -0
  66. package/dist/plugins/PluginContext.d.ts.map +1 -0
  67. package/dist/plugins/PluginRegistry.d.ts +98 -0
  68. package/dist/plugins/PluginRegistry.d.ts.map +1 -0
  69. package/dist/plugins/pluginState.d.ts +19 -0
  70. package/dist/plugins/pluginState.d.ts.map +1 -0
  71. package/dist/settings/ApplicationMenu.d.ts +2 -0
  72. package/dist/settings/ApplicationMenu.d.ts.map +1 -0
  73. package/dist/settings/SettingsDialog.d.ts +12 -0
  74. package/dist/settings/SettingsDialog.d.ts.map +1 -0
  75. package/dist/settings/configuration.d.ts +36 -0
  76. package/dist/settings/configuration.d.ts.map +1 -0
  77. package/dist/settings/useWorkbenchConfiguration.d.ts +15 -0
  78. package/dist/settings/useWorkbenchConfiguration.d.ts.map +1 -0
  79. package/dist/theme/ThemeProvider.d.ts +17 -0
  80. package/dist/theme/ThemeProvider.d.ts.map +1 -0
  81. package/dist/theme/ThemeToggle.d.ts +3 -0
  82. package/dist/theme/ThemeToggle.d.ts.map +1 -0
  83. package/dist/theme/palettes.d.ts +153 -0
  84. package/dist/theme/palettes.d.ts.map +1 -0
  85. package/dist/theme/themeStore.d.ts +31 -0
  86. package/dist/theme/themeStore.d.ts.map +1 -0
  87. package/docs/api.md +171 -0
  88. package/docs/application-guide.md +332 -0
  89. package/docs/architecture.md +59 -0
  90. package/docs/decisions/001-library-and-demo.md +9 -0
  91. package/docs/decisions/002-local-plugins-and-languages.md +17 -0
  92. package/docs/decisions/003-plugin-state-checkpoints.md +11 -0
  93. package/docs/dependencies.md +33 -0
  94. package/docs/validation.md +126 -0
  95. package/package.json +97 -4
  96. package/scripts/install-hooks.mjs +17 -0
package/package.json CHANGED
@@ -1,6 +1,99 @@
1
1
  {
2
2
  "name": "@cyann/dash-lab",
3
- "version": "0.0.0-stage",
4
- "stub": true,
5
- "description": "Temporary package placeholder for staged publishing"
6
- }
3
+ "version": "0.1.0",
4
+ "description": "A composable React workbench for focused applications.",
5
+ "type": "module",
6
+ "license": "MIT",
7
+ "author": "cyann",
8
+ "repository": {
9
+ "type": "git",
10
+ "url": "git+https://github.com/YannCaron/dash-lab.git"
11
+ },
12
+ "publishConfig": {
13
+ "access": "public",
14
+ "registry": "https://registry.npmjs.org/"
15
+ },
16
+ "engines": {
17
+ "node": "^22.13.0 || ^24.0.0 || >=26.0.0"
18
+ },
19
+ "files": [
20
+ "dist",
21
+ "README.md",
22
+ "LICENSE",
23
+ "THIRD_PARTY_NOTICES.md",
24
+ "docs",
25
+ "CHANGELOG.md",
26
+ "scripts/install-hooks.mjs",
27
+ "CONTRIBUTING.md",
28
+ "AGENTS.md",
29
+ "release-node.md"
30
+ ],
31
+ "sideEffects": [
32
+ "**/*.css"
33
+ ],
34
+ "types": "./dist/index.d.ts",
35
+ "module": "./dist/index.js",
36
+ "exports": {
37
+ ".": {
38
+ "types": "./dist/index.d.ts",
39
+ "import": "./dist/index.js"
40
+ },
41
+ "./style.css": "./dist/dash-lab.css"
42
+ },
43
+ "scripts": {
44
+ "dev": "node scripts/serve-demo.mjs --watch",
45
+ "start": "node scripts/serve-demo.mjs",
46
+ "check": "tsc --noEmit",
47
+ "build": "npm run check && npm run build:lib && npm run build:demo",
48
+ "build:lib": "tsc -p tsconfig.lib.json && vite build --config vite.lib.config.ts",
49
+ "build:demo": "vite build",
50
+ "test": "vitest run",
51
+ "test:watch": "vitest",
52
+ "test:browser": "node scripts/test-browser.mjs",
53
+ "test:firefox": "node scripts/test-modal-firefox.mjs",
54
+ "test:package": "npm run build:lib && node scripts/test-package.mjs",
55
+ "test:publish": "node --test scripts/publish-npm.test.mjs",
56
+ "publish:npm": "node scripts/publish-npm.mjs",
57
+ "lint": "eslint .",
58
+ "format": "prettier --write .",
59
+ "format:check": "prettier --check .",
60
+ "storybook": "storybook dev --port 6006 --host 127.0.0.1 --disable-telemetry",
61
+ "build:storybook": "storybook build --disable-telemetry",
62
+ "prepack": "npm run check && npm run build:lib",
63
+ "prepare": "node scripts/install-hooks.mjs",
64
+ "lint-staged": "lint-staged",
65
+ "commitlint": "commitlint",
66
+ "test:browser:ci": "node scripts/test-browser-ci.mjs"
67
+ },
68
+ "peerDependencies": {
69
+ "react": "^19.0.0",
70
+ "react-dom": "^19.0.0"
71
+ },
72
+ "dependencies": {
73
+ "antd": "6.6.8",
74
+ "dockview-react": "8.8.3",
75
+ "zustand": "5.0.16"
76
+ },
77
+ "devDependencies": {
78
+ "@commitlint/cli": "21.2.4",
79
+ "@commitlint/config-conventional": "21.2.4",
80
+ "@eslint/js": "10.0.1",
81
+ "@storybook/react-vite": "10.6.5",
82
+ "@types/node": "24.19.2",
83
+ "@types/react": "19.3.0",
84
+ "@types/react-dom": "19.3.0",
85
+ "@vitejs/plugin-react": "6.2.1",
86
+ "eslint": "10.14.0",
87
+ "husky": "9.1.7",
88
+ "lint-staged": "16.4.0",
89
+ "prettier": "3.9.10",
90
+ "react": "19.3.1",
91
+ "react-dom": "19.3.1",
92
+ "react-router-dom": "7.18.5",
93
+ "storybook": "10.6.5",
94
+ "typescript": "6.0.3",
95
+ "typescript-eslint": "8.72.1",
96
+ "vite": "8.3.5",
97
+ "vitest": "5.1.0"
98
+ }
99
+ }
@@ -0,0 +1,17 @@
1
+ import { existsSync } from 'node:fs';
2
+
3
+ if (!process.env.CI && process.env.HUSKY !== '0' && process.env.NODE_ENV !== 'production' && existsSync('.git')) {
4
+ let install;
5
+
6
+ try {
7
+ ({ default: install } = await import('husky'));
8
+ } catch (error) {
9
+ if (error.code !== 'ERR_MODULE_NOT_FOUND') throw error;
10
+ }
11
+
12
+ if (install) {
13
+ const error = install();
14
+
15
+ if (error) throw new Error(error);
16
+ }
17
+ }