@budarin/use-route 1.0.0 → 1.0.2

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 (43) hide show
  1. package/README.md +8 -0
  2. package/demo/dist/assets/index-CehTkyXl.css +1 -0
  3. package/demo/dist/assets/index-wDy-y7oj.js +49 -0
  4. package/demo/dist/index.html +13 -0
  5. package/demo/index.html +12 -0
  6. package/demo/node_modules/.bin/browserslist +21 -0
  7. package/demo/node_modules/.bin/tsc +21 -0
  8. package/demo/node_modules/.bin/tsserver +21 -0
  9. package/demo/node_modules/.bin/vite +21 -0
  10. package/demo/node_modules/.vite/deps/@budarin_use-route.js +372 -0
  11. package/demo/node_modules/.vite/deps/@budarin_use-route.js.map +7 -0
  12. package/demo/node_modules/.vite/deps/_metadata.json +52 -0
  13. package/demo/node_modules/.vite/deps/chunk-4BQM3FN6.js +278 -0
  14. package/demo/node_modules/.vite/deps/chunk-4BQM3FN6.js.map +7 -0
  15. package/demo/node_modules/.vite/deps/chunk-DBBEQ5LR.js +1028 -0
  16. package/demo/node_modules/.vite/deps/chunk-DBBEQ5LR.js.map +7 -0
  17. package/demo/node_modules/.vite/deps/package.json +3 -0
  18. package/demo/node_modules/.vite/deps/react-dom.js +5 -0
  19. package/demo/node_modules/.vite/deps/react-dom.js.map +7 -0
  20. package/demo/node_modules/.vite/deps/react-dom_client.js +20215 -0
  21. package/demo/node_modules/.vite/deps/react-dom_client.js.map +7 -0
  22. package/demo/node_modules/.vite/deps/react.js +4 -0
  23. package/demo/node_modules/.vite/deps/react.js.map +7 -0
  24. package/demo/node_modules/.vite/deps/react_jsx-dev-runtime.js +276 -0
  25. package/demo/node_modules/.vite/deps/react_jsx-dev-runtime.js.map +7 -0
  26. package/demo/node_modules/.vite/deps/react_jsx-runtime.js +287 -0
  27. package/demo/node_modules/.vite/deps/react_jsx-runtime.js.map +7 -0
  28. package/demo/package.json +23 -0
  29. package/demo/src/App.tsx +139 -0
  30. package/demo/src/components/Link.tsx +24 -0
  31. package/demo/src/index.css +160 -0
  32. package/demo/src/main.tsx +10 -0
  33. package/demo/src/pages/BaseDemo.tsx +39 -0
  34. package/demo/src/pages/CustomMatcher.tsx +45 -0
  35. package/demo/src/pages/History.tsx +36 -0
  36. package/demo/src/pages/Home.tsx +38 -0
  37. package/demo/src/pages/Posts.tsx +40 -0
  38. package/demo/src/pages/PushReplace.tsx +43 -0
  39. package/demo/src/pages/UserProfile.tsx +33 -0
  40. package/demo/src/pages/Users.tsx +24 -0
  41. package/demo/tsconfig.tsbuildinfo +1 -0
  42. package/demo/vite.config.ts +6 -0
  43. package/package.json +1 -1
package/README.md CHANGED
@@ -21,6 +21,11 @@
21
21
  [![bundle](https://img.shields.io/bundlephobia/minzip/@budarin/use-route)](https://bundlephobia.com/result?p=@budarin/use-route)
22
22
  [![GitHub](https://img.shields.io/github/license/budarin/use-route)](https://github.com/budarin/use-route)
23
23
 
24
+ **Живое демо:** запуск в браузере без установки; исходники в папке [demo/](https://github.com/budarin/use-route/tree/master/demo). Чтобы открыть в новой вкладке: Ctrl+клик (Cmd+клик на Mac).
25
+
26
+ - [Open in StackBlitz](https://stackblitz.com/github/budarin/use-route/tree/master/demo)
27
+ - [Open in CodeSandbox](https://githubbox.com/budarin/use-route/tree/master/demo) — если StackBlitz недоступен (например, в РФ без VPN)
28
+
24
29
  ## ✨ Особенности
25
30
 
26
31
  - ✅ **Динамическое дерево** — маршрутизация в рантайме по pathname/params, без статичного route tree
@@ -443,12 +448,15 @@ function DashboardSection() {
443
448
  <div>
444
449
  {/* При URL /dashboard/reports pathname === '/reports' */}
445
450
  <p>Раздел Dashboard. Путь: {pathname}</p>
451
+
446
452
  <button type="button" onClick={() => navigate('/reports')}>
447
453
  Отчёты → /dashboard/reports
448
454
  </button>
455
+
449
456
  <button type="button" onClick={() => navigate('/settings')}>
450
457
  Настройки → /dashboard/settings
451
458
  </button>
459
+
452
460
  {/* Переход вне раздела: свой base в вызове */}
453
461
  <button type="button" onClick={() => navigate('/', { base: '' })}>
454
462
  На главную
@@ -0,0 +1 @@
1
+ *,*:before,*:after{box-sizing:border-box}body{margin:0;font-family:system-ui,-apple-system,sans-serif;line-height:1.5;color:#1a1a1a;background:#f5f5f5}#root{min-height:100vh}a{color:#06c;text-decoration:none}a:hover{text-decoration:underline}button{font:inherit;cursor:pointer;padding:.4em .8em;border:1px solid #ccc;border-radius:4px;background:#fff}button:hover:not(:disabled){background:#f0f0f0}button:disabled{opacity:.6;cursor:not-allowed}.demo-nav{background:#fff;padding:.75rem 1rem;border-bottom:1px solid #e0e0e0;display:flex;flex-direction:column;gap:.5rem}.demo-nav-url{font-size:.85rem;color:#555}.demo-nav-url code{background:#f0f0f0;padding:.2em .4em;border-radius:4px;word-break:break-all}.demo-nav-links{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem 1rem}.demo-nav a,.demo-nav .nav-link{padding:.25em .5em;border-radius:4px}.demo-nav a.active,.demo-nav .nav-link.active{background:#e8f0fe;color:#1967d2}.demo-content{max-width:640px;margin:0 auto;padding:1.5rem 1rem;background:#fff;min-height:calc(100vh - 52px);border-radius:0 0 8px 8px;box-shadow:0 1px 3px #00000014}.demo-content h1{margin-top:0;font-size:1.5rem}.demo-content .demo-lead{color:#444;margin-bottom:1rem;padding:.75rem;background:#f8f9fa;border-radius:6px;border-left:3px solid #0066cc}.demo-content h2{font-size:1.1rem;margin:1rem 0 .5rem}.demo-content code{background:#f0f0f0;padding:.1em .3em;border-radius:3px;font-size:.9em}.demo-content pre{background:#f5f5f5;padding:.75rem;border-radius:4px;overflow-x:auto;font-size:.85em}.demo-list{list-style:none;padding:0;margin:0}.demo-list li{margin:.5rem 0}.demo-list a{display:inline-block;padding:.35em .5em;border-radius:4px;background:#f0f0f0}.demo-list a:hover{background:#e0e0e0;text-decoration:none}.demo-buttons{display:flex;flex-wrap:wrap;gap:.5rem;margin:.75rem 0}