remix 3.0.0-rc.4 → 3.0.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/INDEX.md +6 -21
- package/README.md +1 -1
- package/dist/component/dev/refresh.d.ts +2 -0
- package/dist/component/dev/refresh.d.ts.map +1 -0
- package/dist/{ui → component}/dev/refresh.js +1 -1
- package/dist/component/jsx-dev-runtime.d.ts +2 -0
- package/dist/component/jsx-dev-runtime.d.ts.map +1 -0
- package/dist/{ui → component}/jsx-dev-runtime.js +1 -1
- package/dist/component/jsx-runtime.d.ts +2 -0
- package/dist/component/jsx-runtime.d.ts.map +1 -0
- package/dist/{ui → component}/jsx-runtime.js +1 -1
- package/dist/component/server.d.ts +2 -0
- package/dist/component/server.d.ts.map +1 -0
- package/dist/{ui → component}/server.js +1 -1
- package/dist/component/test.d.ts +2 -0
- package/dist/component/test.d.ts.map +1 -0
- package/dist/{ui → component}/test.js +1 -1
- package/dist/component-hmr/assets.d.ts +2 -0
- package/dist/component-hmr/assets.d.ts.map +1 -0
- package/dist/{ui-hmr.js → component-hmr/assets.js} +1 -1
- package/dist/component-hmr/node.d.ts +3 -0
- package/dist/component-hmr/node.d.ts.map +1 -0
- package/dist/{ui-hmr → component-hmr}/node.js +1 -1
- package/dist/component-hmr/runtime/browser.d.ts +2 -0
- package/dist/component-hmr/runtime/browser.d.ts.map +1 -0
- package/dist/{ui-hmr → component-hmr}/runtime/browser.js +1 -1
- package/dist/component-hmr/runtime/server.d.ts +2 -0
- package/dist/component-hmr/runtime/server.d.ts.map +1 -0
- package/dist/{ui-hmr → component-hmr}/runtime/server.js +1 -1
- package/dist/component-hmr.d.ts +2 -0
- package/dist/component-hmr.d.ts.map +1 -0
- package/dist/{ui-hmr/assets.js → component-hmr.js} +1 -1
- package/dist/component.d.ts +2 -0
- package/dist/component.d.ts.map +1 -0
- package/dist/{ui/anchor.js → component.js} +1 -1
- package/guides/01-start-here.md +20 -20
- package/guides/02-routing-and-controllers.md +1 -1
- package/guides/03-request-handling.md +1 -1
- package/guides/04-rendering-ui.md +41 -307
- package/guides/05-interactivity.md +42 -37
- package/guides/06-streaming-ui-with-frames.md +28 -70
- package/guides/07-animation.md +41 -35
- package/guides/08-data-and-validation.md +423 -27
- package/guides/09-forms-and-mutations.md +250 -25
- package/guides/13-testing.md +10 -10
- package/guides/14-cli-and-tooling.md +2 -2
- package/package.json +96 -180
- package/src/assets/README.md +12 -12
- package/src/cli/README.md +3 -3
- package/src/{ui → component}/README.md +31 -75
- package/src/{ui → component}/dev/refresh.ts +1 -1
- package/src/{ui → component}/jsx-dev-runtime.ts +1 -1
- package/src/{ui → component}/jsx-runtime.ts +1 -1
- package/src/{ui → component}/server/README.md +8 -8
- package/src/{ui → component}/server.ts +1 -1
- package/src/{ui → component}/test/README.md +6 -6
- package/src/{ui → component}/test.ts +1 -1
- package/src/{ui-hmr → component-hmr}/README.md +13 -13
- package/src/{ui-hmr → component-hmr}/assets.ts +1 -1
- package/src/{ui-hmr → component-hmr}/node.ts +1 -1
- package/src/{ui-hmr → component-hmr}/runtime/browser.ts +1 -1
- package/src/{ui-hmr → component-hmr}/runtime/server.ts +1 -1
- package/{dist/ui/accordion.js → src/component-hmr.ts} +1 -1
- package/{dist/ui/tabs.js → src/component.ts} +1 -1
- package/src/data-table/README.md +2 -1
- package/src/multiple-import-maps-polyfill/README.md +3 -3
- package/src/node-hmr/README.md +6 -6
- package/src/render-middleware/README.md +5 -5
- package/src/spa/README.md +4 -4
- package/src/test/README.md +4 -4
- package/dist/ui/accordion/primitives.d.ts +0 -2
- package/dist/ui/accordion/primitives.d.ts.map +0 -1
- package/dist/ui/accordion/primitives.js +0 -2
- package/dist/ui/accordion.d.ts +0 -2
- package/dist/ui/accordion.d.ts.map +0 -1
- package/dist/ui/anchor.d.ts +0 -2
- package/dist/ui/anchor.d.ts.map +0 -1
- package/dist/ui/animation.d.ts +0 -2
- package/dist/ui/animation.d.ts.map +0 -1
- package/dist/ui/animation.js +0 -2
- package/dist/ui/breadcrumbs.d.ts +0 -2
- package/dist/ui/breadcrumbs.d.ts.map +0 -1
- package/dist/ui/breadcrumbs.js +0 -2
- package/dist/ui/button.d.ts +0 -3
- package/dist/ui/button.d.ts.map +0 -1
- package/dist/ui/button.js +0 -3
- package/dist/ui/checkbox.d.ts +0 -3
- package/dist/ui/checkbox.d.ts.map +0 -1
- package/dist/ui/checkbox.js +0 -3
- package/dist/ui/combobox/primitives.d.ts +0 -2
- package/dist/ui/combobox/primitives.d.ts.map +0 -1
- package/dist/ui/combobox/primitives.js +0 -2
- package/dist/ui/combobox.d.ts +0 -2
- package/dist/ui/combobox.d.ts.map +0 -1
- package/dist/ui/combobox.js +0 -2
- package/dist/ui/dev/refresh.d.ts +0 -2
- package/dist/ui/dev/refresh.d.ts.map +0 -1
- package/dist/ui/input.d.ts +0 -3
- package/dist/ui/input.d.ts.map +0 -1
- package/dist/ui/input.js +0 -3
- package/dist/ui/jsx-dev-runtime.d.ts +0 -2
- package/dist/ui/jsx-dev-runtime.d.ts.map +0 -1
- package/dist/ui/jsx-runtime.d.ts +0 -2
- package/dist/ui/jsx-runtime.d.ts.map +0 -1
- package/dist/ui/listbox.d.ts +0 -2
- package/dist/ui/listbox.d.ts.map +0 -1
- package/dist/ui/listbox.js +0 -2
- package/dist/ui/menu/primitives.d.ts +0 -2
- package/dist/ui/menu/primitives.d.ts.map +0 -1
- package/dist/ui/menu/primitives.js +0 -2
- package/dist/ui/menu.d.ts +0 -2
- package/dist/ui/menu.d.ts.map +0 -1
- package/dist/ui/menu.js +0 -2
- package/dist/ui/popover.d.ts +0 -2
- package/dist/ui/popover.d.ts.map +0 -1
- package/dist/ui/popover.js +0 -2
- package/dist/ui/radio.d.ts +0 -3
- package/dist/ui/radio.d.ts.map +0 -1
- package/dist/ui/radio.js +0 -3
- package/dist/ui/select/primitives.d.ts +0 -2
- package/dist/ui/select/primitives.d.ts.map +0 -1
- package/dist/ui/select/primitives.js +0 -2
- package/dist/ui/select.d.ts +0 -2
- package/dist/ui/select.d.ts.map +0 -1
- package/dist/ui/select.js +0 -2
- package/dist/ui/server.d.ts +0 -2
- package/dist/ui/server.d.ts.map +0 -1
- package/dist/ui/tabs/primitives.d.ts +0 -2
- package/dist/ui/tabs/primitives.d.ts.map +0 -1
- package/dist/ui/tabs/primitives.js +0 -2
- package/dist/ui/tabs.d.ts +0 -2
- package/dist/ui/tabs.d.ts.map +0 -1
- package/dist/ui/test.d.ts +0 -2
- package/dist/ui/test.d.ts.map +0 -1
- package/dist/ui/toggle/primitives.d.ts +0 -2
- package/dist/ui/toggle/primitives.d.ts.map +0 -1
- package/dist/ui/toggle/primitives.js +0 -2
- package/dist/ui/toggle.d.ts +0 -3
- package/dist/ui/toggle.d.ts.map +0 -1
- package/dist/ui/toggle.js +0 -3
- package/dist/ui-hmr/assets.d.ts +0 -2
- package/dist/ui-hmr/assets.d.ts.map +0 -1
- package/dist/ui-hmr/node.d.ts +0 -3
- package/dist/ui-hmr/node.d.ts.map +0 -1
- package/dist/ui-hmr/runtime/browser.d.ts +0 -2
- package/dist/ui-hmr/runtime/browser.d.ts.map +0 -1
- package/dist/ui-hmr/runtime/server.d.ts +0 -2
- package/dist/ui-hmr/runtime/server.d.ts.map +0 -1
- package/dist/ui-hmr.d.ts +0 -2
- package/dist/ui-hmr.d.ts.map +0 -1
- package/dist/ui.d.ts +0 -2
- package/dist/ui.d.ts.map +0 -1
- package/dist/ui.js +0 -2
- package/src/ui/accordion/README.md +0 -202
- package/src/ui/accordion/primitives.ts +0 -2
- package/src/ui/accordion.ts +0 -2
- package/src/ui/anchor/README.md +0 -196
- package/src/ui/anchor.ts +0 -2
- package/src/ui/animation/README.md +0 -318
- package/src/ui/animation.ts +0 -2
- package/src/ui/breadcrumbs/README.md +0 -55
- package/src/ui/breadcrumbs.ts +0 -2
- package/src/ui/button/README.md +0 -44
- package/src/ui/button.ts +0 -3
- package/src/ui/checkbox/README.md +0 -59
- package/src/ui/checkbox.ts +0 -3
- package/src/ui/combobox/README.md +0 -194
- package/src/ui/combobox/primitives.ts +0 -2
- package/src/ui/combobox.ts +0 -2
- package/src/ui/input/README.md +0 -52
- package/src/ui/input.ts +0 -3
- package/src/ui/listbox/README.md +0 -83
- package/src/ui/listbox.ts +0 -2
- package/src/ui/menu/README.md +0 -161
- package/src/ui/menu/primitives.ts +0 -2
- package/src/ui/menu.ts +0 -2
- package/src/ui/popover/README.md +0 -103
- package/src/ui/popover.ts +0 -2
- package/src/ui/radio/README.md +0 -53
- package/src/ui/radio.ts +0 -3
- package/src/ui/select/README.md +0 -117
- package/src/ui/select/primitives.ts +0 -2
- package/src/ui/select.ts +0 -2
- package/src/ui/tabs/README.md +0 -141
- package/src/ui/tabs/primitives.ts +0 -2
- package/src/ui/tabs.ts +0 -2
- package/src/ui/toggle/README.md +0 -56
- package/src/ui/toggle/primitives.ts +0 -2
- package/src/ui/toggle.ts +0 -3
- package/src/ui-hmr.ts +0 -2
- package/src/ui.ts +0 -2
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "remix",
|
|
3
|
-
"version": "3.0.0
|
|
3
|
+
"version": "3.0.0",
|
|
4
4
|
"description": "The Remix web framework",
|
|
5
5
|
"author": "Michael Jackson <mjijackson@gmail.com>",
|
|
6
6
|
"license": "MIT",
|
|
@@ -46,6 +46,50 @@
|
|
|
46
46
|
"types": "./dist/cli.d.ts",
|
|
47
47
|
"default": "./dist/cli.js"
|
|
48
48
|
},
|
|
49
|
+
"./component": {
|
|
50
|
+
"types": "./dist/component.d.ts",
|
|
51
|
+
"default": "./dist/component.js"
|
|
52
|
+
},
|
|
53
|
+
"./component-hmr": {
|
|
54
|
+
"types": "./dist/component-hmr.d.ts",
|
|
55
|
+
"default": "./dist/component-hmr.js"
|
|
56
|
+
},
|
|
57
|
+
"./component-hmr/assets": {
|
|
58
|
+
"types": "./dist/component-hmr/assets.d.ts",
|
|
59
|
+
"default": "./dist/component-hmr/assets.js"
|
|
60
|
+
},
|
|
61
|
+
"./component-hmr/node": {
|
|
62
|
+
"types": "./dist/component-hmr/node.d.ts",
|
|
63
|
+
"default": "./dist/component-hmr/node.js"
|
|
64
|
+
},
|
|
65
|
+
"./component-hmr/runtime/browser": {
|
|
66
|
+
"types": "./dist/component-hmr/runtime/browser.d.ts",
|
|
67
|
+
"default": "./dist/component-hmr/runtime/browser.js"
|
|
68
|
+
},
|
|
69
|
+
"./component-hmr/runtime/server": {
|
|
70
|
+
"types": "./dist/component-hmr/runtime/server.d.ts",
|
|
71
|
+
"default": "./dist/component-hmr/runtime/server.js"
|
|
72
|
+
},
|
|
73
|
+
"./component/dev/refresh": {
|
|
74
|
+
"types": "./dist/component/dev/refresh.d.ts",
|
|
75
|
+
"default": "./dist/component/dev/refresh.js"
|
|
76
|
+
},
|
|
77
|
+
"./component/jsx-dev-runtime": {
|
|
78
|
+
"types": "./dist/component/jsx-dev-runtime.d.ts",
|
|
79
|
+
"default": "./dist/component/jsx-dev-runtime.js"
|
|
80
|
+
},
|
|
81
|
+
"./component/jsx-runtime": {
|
|
82
|
+
"types": "./dist/component/jsx-runtime.d.ts",
|
|
83
|
+
"default": "./dist/component/jsx-runtime.js"
|
|
84
|
+
},
|
|
85
|
+
"./component/server": {
|
|
86
|
+
"types": "./dist/component/server.d.ts",
|
|
87
|
+
"default": "./dist/component/server.js"
|
|
88
|
+
},
|
|
89
|
+
"./component/test": {
|
|
90
|
+
"types": "./dist/component/test.d.ts",
|
|
91
|
+
"default": "./dist/component/test.js"
|
|
92
|
+
},
|
|
49
93
|
"./cookie": {
|
|
50
94
|
"types": "./dist/cookie.d.ts",
|
|
51
95
|
"default": "./dist/cookie.js"
|
|
@@ -385,134 +429,6 @@
|
|
|
385
429
|
"types": "./dist/test/cli.d.ts",
|
|
386
430
|
"default": "./dist/test/cli.js"
|
|
387
431
|
},
|
|
388
|
-
"./ui": {
|
|
389
|
-
"types": "./dist/ui.d.ts",
|
|
390
|
-
"default": "./dist/ui.js"
|
|
391
|
-
},
|
|
392
|
-
"./ui-hmr": {
|
|
393
|
-
"types": "./dist/ui-hmr.d.ts",
|
|
394
|
-
"default": "./dist/ui-hmr.js"
|
|
395
|
-
},
|
|
396
|
-
"./ui-hmr/assets": {
|
|
397
|
-
"types": "./dist/ui-hmr/assets.d.ts",
|
|
398
|
-
"default": "./dist/ui-hmr/assets.js"
|
|
399
|
-
},
|
|
400
|
-
"./ui-hmr/node": {
|
|
401
|
-
"types": "./dist/ui-hmr/node.d.ts",
|
|
402
|
-
"default": "./dist/ui-hmr/node.js"
|
|
403
|
-
},
|
|
404
|
-
"./ui-hmr/runtime/browser": {
|
|
405
|
-
"types": "./dist/ui-hmr/runtime/browser.d.ts",
|
|
406
|
-
"default": "./dist/ui-hmr/runtime/browser.js"
|
|
407
|
-
},
|
|
408
|
-
"./ui-hmr/runtime/server": {
|
|
409
|
-
"types": "./dist/ui-hmr/runtime/server.d.ts",
|
|
410
|
-
"default": "./dist/ui-hmr/runtime/server.js"
|
|
411
|
-
},
|
|
412
|
-
"./ui/accordion": {
|
|
413
|
-
"types": "./dist/ui/accordion.d.ts",
|
|
414
|
-
"default": "./dist/ui/accordion.js"
|
|
415
|
-
},
|
|
416
|
-
"./ui/accordion/primitives": {
|
|
417
|
-
"types": "./dist/ui/accordion/primitives.d.ts",
|
|
418
|
-
"default": "./dist/ui/accordion/primitives.js"
|
|
419
|
-
},
|
|
420
|
-
"./ui/anchor": {
|
|
421
|
-
"types": "./dist/ui/anchor.d.ts",
|
|
422
|
-
"default": "./dist/ui/anchor.js"
|
|
423
|
-
},
|
|
424
|
-
"./ui/animation": {
|
|
425
|
-
"types": "./dist/ui/animation.d.ts",
|
|
426
|
-
"default": "./dist/ui/animation.js"
|
|
427
|
-
},
|
|
428
|
-
"./ui/breadcrumbs": {
|
|
429
|
-
"types": "./dist/ui/breadcrumbs.d.ts",
|
|
430
|
-
"default": "./dist/ui/breadcrumbs.js"
|
|
431
|
-
},
|
|
432
|
-
"./ui/button": {
|
|
433
|
-
"types": "./dist/ui/button.d.ts",
|
|
434
|
-
"default": "./dist/ui/button.js"
|
|
435
|
-
},
|
|
436
|
-
"./ui/checkbox": {
|
|
437
|
-
"types": "./dist/ui/checkbox.d.ts",
|
|
438
|
-
"default": "./dist/ui/checkbox.js"
|
|
439
|
-
},
|
|
440
|
-
"./ui/combobox": {
|
|
441
|
-
"types": "./dist/ui/combobox.d.ts",
|
|
442
|
-
"default": "./dist/ui/combobox.js"
|
|
443
|
-
},
|
|
444
|
-
"./ui/combobox/primitives": {
|
|
445
|
-
"types": "./dist/ui/combobox/primitives.d.ts",
|
|
446
|
-
"default": "./dist/ui/combobox/primitives.js"
|
|
447
|
-
},
|
|
448
|
-
"./ui/dev/refresh": {
|
|
449
|
-
"types": "./dist/ui/dev/refresh.d.ts",
|
|
450
|
-
"default": "./dist/ui/dev/refresh.js"
|
|
451
|
-
},
|
|
452
|
-
"./ui/input": {
|
|
453
|
-
"types": "./dist/ui/input.d.ts",
|
|
454
|
-
"default": "./dist/ui/input.js"
|
|
455
|
-
},
|
|
456
|
-
"./ui/jsx-dev-runtime": {
|
|
457
|
-
"types": "./dist/ui/jsx-dev-runtime.d.ts",
|
|
458
|
-
"default": "./dist/ui/jsx-dev-runtime.js"
|
|
459
|
-
},
|
|
460
|
-
"./ui/jsx-runtime": {
|
|
461
|
-
"types": "./dist/ui/jsx-runtime.d.ts",
|
|
462
|
-
"default": "./dist/ui/jsx-runtime.js"
|
|
463
|
-
},
|
|
464
|
-
"./ui/listbox": {
|
|
465
|
-
"types": "./dist/ui/listbox.d.ts",
|
|
466
|
-
"default": "./dist/ui/listbox.js"
|
|
467
|
-
},
|
|
468
|
-
"./ui/menu": {
|
|
469
|
-
"types": "./dist/ui/menu.d.ts",
|
|
470
|
-
"default": "./dist/ui/menu.js"
|
|
471
|
-
},
|
|
472
|
-
"./ui/menu/primitives": {
|
|
473
|
-
"types": "./dist/ui/menu/primitives.d.ts",
|
|
474
|
-
"default": "./dist/ui/menu/primitives.js"
|
|
475
|
-
},
|
|
476
|
-
"./ui/popover": {
|
|
477
|
-
"types": "./dist/ui/popover.d.ts",
|
|
478
|
-
"default": "./dist/ui/popover.js"
|
|
479
|
-
},
|
|
480
|
-
"./ui/radio": {
|
|
481
|
-
"types": "./dist/ui/radio.d.ts",
|
|
482
|
-
"default": "./dist/ui/radio.js"
|
|
483
|
-
},
|
|
484
|
-
"./ui/select": {
|
|
485
|
-
"types": "./dist/ui/select.d.ts",
|
|
486
|
-
"default": "./dist/ui/select.js"
|
|
487
|
-
},
|
|
488
|
-
"./ui/select/primitives": {
|
|
489
|
-
"types": "./dist/ui/select/primitives.d.ts",
|
|
490
|
-
"default": "./dist/ui/select/primitives.js"
|
|
491
|
-
},
|
|
492
|
-
"./ui/server": {
|
|
493
|
-
"types": "./dist/ui/server.d.ts",
|
|
494
|
-
"default": "./dist/ui/server.js"
|
|
495
|
-
},
|
|
496
|
-
"./ui/tabs": {
|
|
497
|
-
"types": "./dist/ui/tabs.d.ts",
|
|
498
|
-
"default": "./dist/ui/tabs.js"
|
|
499
|
-
},
|
|
500
|
-
"./ui/tabs/primitives": {
|
|
501
|
-
"types": "./dist/ui/tabs/primitives.d.ts",
|
|
502
|
-
"default": "./dist/ui/tabs/primitives.js"
|
|
503
|
-
},
|
|
504
|
-
"./ui/test": {
|
|
505
|
-
"types": "./dist/ui/test.d.ts",
|
|
506
|
-
"default": "./dist/ui/test.js"
|
|
507
|
-
},
|
|
508
|
-
"./ui/toggle": {
|
|
509
|
-
"types": "./dist/ui/toggle.d.ts",
|
|
510
|
-
"default": "./dist/ui/toggle.js"
|
|
511
|
-
},
|
|
512
|
-
"./ui/toggle/primitives": {
|
|
513
|
-
"types": "./dist/ui/toggle/primitives.d.ts",
|
|
514
|
-
"default": "./dist/ui/toggle/primitives.js"
|
|
515
|
-
},
|
|
516
432
|
"./package.json": "./package.json"
|
|
517
433
|
},
|
|
518
434
|
"devDependencies": {
|
|
@@ -521,54 +437,54 @@
|
|
|
521
437
|
"typescript": "^7.0.2"
|
|
522
438
|
},
|
|
523
439
|
"dependencies": {
|
|
524
|
-
"@remix-run/
|
|
525
|
-
"@remix-run/
|
|
526
|
-
"@remix-run/
|
|
527
|
-
"@remix-run/
|
|
528
|
-
"@remix-run/
|
|
529
|
-
"@remix-run/
|
|
530
|
-
"@remix-run/cors-middleware": "^0.
|
|
531
|
-
"@remix-run/
|
|
532
|
-
"@remix-run/
|
|
533
|
-
"@remix-run/
|
|
534
|
-
"@remix-run/
|
|
535
|
-
"@remix-run/data-table
|
|
536
|
-
"@remix-run/data-
|
|
537
|
-
"@remix-run/data-table-
|
|
538
|
-
"@remix-run/
|
|
539
|
-
"@remix-run/
|
|
540
|
-
"@remix-run/
|
|
541
|
-
"@remix-run/
|
|
542
|
-
"@remix-run/
|
|
543
|
-
"@remix-run/
|
|
544
|
-
"@remix-run/form-data-parser": "^0.
|
|
545
|
-
"@remix-run/fs": "^0.
|
|
546
|
-
"@remix-run/
|
|
547
|
-
"@remix-run/
|
|
548
|
-
"@remix-run/
|
|
549
|
-
"@remix-run/mime": "^0.
|
|
550
|
-
"@remix-run/multipart-parser": "^0.
|
|
551
|
-
"@remix-run/
|
|
552
|
-
"@remix-run/
|
|
553
|
-
"@remix-run/
|
|
554
|
-
"@remix-run/
|
|
555
|
-
"@remix-run/
|
|
556
|
-
"@remix-run/
|
|
557
|
-
"@remix-run/
|
|
558
|
-
"@remix-run/session-middleware": "^0.
|
|
559
|
-
"@remix-run/session
|
|
560
|
-
"@remix-run/session-storage-
|
|
561
|
-
"@remix-run/
|
|
562
|
-
"@remix-run/
|
|
563
|
-
"@remix-run/
|
|
564
|
-
"@remix-run/test": "^0.
|
|
565
|
-
"@remix-run/
|
|
566
|
-
"@remix-run/
|
|
567
|
-
"@remix-run/
|
|
568
|
-
"@remix-run/
|
|
569
|
-
"@remix-run/
|
|
570
|
-
"@remix-run/static-middleware": "^0.
|
|
571
|
-
"@remix-run/
|
|
440
|
+
"@remix-run/async-context-middleware": "^1.0.0",
|
|
441
|
+
"@remix-run/auth": "^1.0.0",
|
|
442
|
+
"@remix-run/component-hmr": "^1.0.0",
|
|
443
|
+
"@remix-run/auth-middleware": "^1.0.0",
|
|
444
|
+
"@remix-run/assets": "^1.0.0",
|
|
445
|
+
"@remix-run/component": "^1.0.0",
|
|
446
|
+
"@remix-run/cors-middleware": "^1.0.0",
|
|
447
|
+
"@remix-run/cop-middleware": "^1.0.0",
|
|
448
|
+
"@remix-run/cookie": "^1.0.0",
|
|
449
|
+
"@remix-run/data-schema": "^1.0.0",
|
|
450
|
+
"@remix-run/csrf-middleware": "^1.0.0",
|
|
451
|
+
"@remix-run/data-table": "^1.0.0",
|
|
452
|
+
"@remix-run/data-table-postgres": "^1.0.0",
|
|
453
|
+
"@remix-run/data-table-sqlite": "^1.0.0",
|
|
454
|
+
"@remix-run/fetch-proxy": "^1.0.0",
|
|
455
|
+
"@remix-run/compression-middleware": "^1.0.0",
|
|
456
|
+
"@remix-run/form-data-middleware": "^1.0.0",
|
|
457
|
+
"@remix-run/data-table-mysql": "^1.0.0",
|
|
458
|
+
"@remix-run/fetch-router": "^1.0.0",
|
|
459
|
+
"@remix-run/file-storage": "^1.0.0",
|
|
460
|
+
"@remix-run/form-data-parser": "^1.0.0",
|
|
461
|
+
"@remix-run/fs": "^1.0.0",
|
|
462
|
+
"@remix-run/headers": "^1.0.0",
|
|
463
|
+
"@remix-run/file-storage-s3": "^1.0.0",
|
|
464
|
+
"@remix-run/html-template": "^1.0.0",
|
|
465
|
+
"@remix-run/mime": "^1.0.0",
|
|
466
|
+
"@remix-run/multipart-parser": "^1.0.0",
|
|
467
|
+
"@remix-run/lazy-file": "^5.0.8",
|
|
468
|
+
"@remix-run/method-override-middleware": "^1.0.0",
|
|
469
|
+
"@remix-run/node-fetch-server": "^1.0.0",
|
|
470
|
+
"@remix-run/logger-middleware": "^1.0.0",
|
|
471
|
+
"@remix-run/node-tsx": "^1.0.0",
|
|
472
|
+
"@remix-run/response": "^1.0.0",
|
|
473
|
+
"@remix-run/route-pattern": "^1.0.0",
|
|
474
|
+
"@remix-run/session-middleware": "^1.0.0",
|
|
475
|
+
"@remix-run/session": "^1.0.0",
|
|
476
|
+
"@remix-run/session-storage-memcache": "^1.0.0",
|
|
477
|
+
"@remix-run/assert": "^1.0.0",
|
|
478
|
+
"@remix-run/cli": "^1.0.0",
|
|
479
|
+
"@remix-run/tar-parser": "^1.0.0",
|
|
480
|
+
"@remix-run/test": "^1.0.0",
|
|
481
|
+
"@remix-run/terminal": "^1.0.0",
|
|
482
|
+
"@remix-run/session-storage-redis": "^1.0.0",
|
|
483
|
+
"@remix-run/spa": "^1.0.0",
|
|
484
|
+
"@remix-run/multiple-import-maps-polyfill": "^1.0.0",
|
|
485
|
+
"@remix-run/node-hmr": "^1.0.0",
|
|
486
|
+
"@remix-run/static-middleware": "^1.0.0",
|
|
487
|
+
"@remix-run/render-middleware": "^1.0.0"
|
|
572
488
|
},
|
|
573
489
|
"bin": {
|
|
574
490
|
"remix": "./dist/cli-entry.js"
|
|
@@ -595,13 +511,13 @@
|
|
|
595
511
|
},
|
|
596
512
|
"sideEffects": [
|
|
597
513
|
"./src/cli-entry.ts",
|
|
514
|
+
"./src/component-hmr/node.ts",
|
|
598
515
|
"./src/node-hmr/runtime.ts",
|
|
599
516
|
"./src/node-tsx.ts",
|
|
600
|
-
"./src/ui-hmr/node.ts",
|
|
601
517
|
"./dist/cli-entry.js",
|
|
518
|
+
"./dist/component-hmr/node.js",
|
|
602
519
|
"./dist/node-hmr/runtime.js",
|
|
603
|
-
"./dist/node-tsx.js"
|
|
604
|
-
"./dist/ui-hmr/node.js"
|
|
520
|
+
"./dist/node-tsx.js"
|
|
605
521
|
],
|
|
606
522
|
"scripts": {
|
|
607
523
|
"build": "tsc -p tsconfig.build.json && node ../../scripts/copy-package-type-only-exports.ts .",
|
package/src/assets/README.md
CHANGED
|
@@ -225,8 +225,8 @@ let { href, importMap, preloads } = await assetServer.getScriptEntry('app/assets
|
|
|
225
225
|
This can be used when rendering a document shell:
|
|
226
226
|
|
|
227
227
|
```tsx
|
|
228
|
-
import type { Handle, RemixNode } from 'remix/
|
|
229
|
-
import { ImportMap } from 'remix/
|
|
228
|
+
import type { Handle, RemixNode } from 'remix/component'
|
|
229
|
+
import { ImportMap } from 'remix/component/server'
|
|
230
230
|
import { assetServer } from './assets.ts'
|
|
231
231
|
|
|
232
232
|
let { href, importMap, preloads } = await assetServer.getScriptEntry('app/assets/entry.tsx')
|
|
@@ -248,10 +248,10 @@ export function Document(handle: Handle<{ children: RemixNode }>) {
|
|
|
248
248
|
}
|
|
249
249
|
```
|
|
250
250
|
|
|
251
|
-
This can also be used for resolved client entries in [`remix/
|
|
251
|
+
This can also be used for resolved client entries in [`remix/component`](../component/README.md) when using `import.meta.url` as the client entry ID:
|
|
252
252
|
|
|
253
253
|
```tsx
|
|
254
|
-
import { renderToStream } from 'remix/
|
|
254
|
+
import { renderToStream } from 'remix/component/server'
|
|
255
255
|
import { assetServer } from './assets.ts'
|
|
256
256
|
|
|
257
257
|
let stream = renderToStream(<App />, {
|
|
@@ -324,7 +324,7 @@ let preloads = await assetServer.getPreloads([
|
|
|
324
324
|
// '/assets/app/actions/public/entry.ts',
|
|
325
325
|
// '/assets/app/search/public/search.tsx',
|
|
326
326
|
// '/assets/app/search/public/utils.ts',
|
|
327
|
-
// '/assets/npm/remix/
|
|
327
|
+
// '/assets/npm/remix/component/index.js',
|
|
328
328
|
// ...etc
|
|
329
329
|
// ]
|
|
330
330
|
```
|
|
@@ -436,22 +436,22 @@ If only some modules have side effects, `sideEffects` can be set to an array of
|
|
|
436
436
|
}
|
|
437
437
|
```
|
|
438
438
|
|
|
439
|
-
For example, an application might import `css` from `remix/
|
|
439
|
+
For example, an application might import `css` from `remix/component`:
|
|
440
440
|
|
|
441
441
|
```ts
|
|
442
442
|
// entry.ts
|
|
443
|
-
import { css } from 'remix/
|
|
443
|
+
import { css } from 'remix/component'
|
|
444
444
|
```
|
|
445
445
|
|
|
446
446
|
That binding passes through two barrel files before reaching its implementation:
|
|
447
447
|
|
|
448
448
|
```ts
|
|
449
|
-
// remix/src/
|
|
450
|
-
export * from '@remix-run/
|
|
449
|
+
// remix/src/component.ts
|
|
450
|
+
export * from '@remix-run/component'
|
|
451
451
|
```
|
|
452
452
|
|
|
453
453
|
```ts
|
|
454
|
-
// @remix-run/
|
|
454
|
+
// @remix-run/component/dist/index.js
|
|
455
455
|
export { css } from './style/css-mixin.js'
|
|
456
456
|
// ...other exports
|
|
457
457
|
```
|
|
@@ -460,7 +460,7 @@ After optimization, the served `entry.ts` module imports the binding directly fr
|
|
|
460
460
|
|
|
461
461
|
```ts
|
|
462
462
|
// entry.ts
|
|
463
|
-
import { css } from '/assets/npm/@remix-run/
|
|
463
|
+
import { css } from '/assets/npm/@remix-run/component/dist/style/css-mixin.js'
|
|
464
464
|
```
|
|
465
465
|
|
|
466
466
|
## Script Options
|
|
@@ -985,7 +985,7 @@ if (import.meta.hot) {
|
|
|
985
985
|
|
|
986
986
|
- [`fetch-router`](../fetch-router/README.md) - A Fetch-based router that pairs naturally with `assets`
|
|
987
987
|
- [`node-hmr`](../node-hmr/README.md) - Provides the server-side `import.meta.hot` runtime and browser HMR channel used by `hmr`
|
|
988
|
-
- [`
|
|
988
|
+
- [`component-hmr`](../component-hmr/README.md) - Provides a Remix component HMR loader for `scripts.loaders`
|
|
989
989
|
|
|
990
990
|
## License
|
|
991
991
|
|
package/src/cli/README.md
CHANGED
|
@@ -4,7 +4,7 @@ Command-line interface for creating and managing Remix projects.
|
|
|
4
4
|
|
|
5
5
|
## Features
|
|
6
6
|
|
|
7
|
-
- Create new Remix projects with `npx remix
|
|
7
|
+
- Create new Remix projects with `npx remix new` or installed `remix new`
|
|
8
8
|
- List browser-reachable files and inspect URL mappings with `remix assets`
|
|
9
9
|
- Print shell completion scripts with `remix completion`
|
|
10
10
|
- Check project environment and Remix app conventions with `remix doctor`
|
|
@@ -19,7 +19,7 @@ Command-line interface for creating and managing Remix projects.
|
|
|
19
19
|
|
|
20
20
|
## Installation
|
|
21
21
|
|
|
22
|
-
Use `npx remix
|
|
22
|
+
Use `npx remix new <target-dir>` to scaffold a new Remix app. Install `remix` when you want the local `remix` command:
|
|
23
23
|
|
|
24
24
|
```sh
|
|
25
25
|
npm i remix
|
|
@@ -41,7 +41,7 @@ remix completion zsh >> ~/.zshrc
|
|
|
41
41
|
|
|
42
42
|
## Usage
|
|
43
43
|
|
|
44
|
-
Use `npx remix
|
|
44
|
+
Use `npx remix new my-remix-app` to scaffold a new Remix app. After installing Remix, the equivalent local command is `remix new my-remix-app`.
|
|
45
45
|
|
|
46
46
|
The rest of the CLI is available through the installed `remix` command:
|
|
47
47
|
|
|
@@ -1,14 +1,14 @@
|
|
|
1
|
-
#
|
|
1
|
+
# component
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
A minimal component system built on JavaScript and DOM primitives. Write components that render on
|
|
4
|
+
the server, stream to the browser, and hydrate only where you need interactivity.
|
|
4
5
|
|
|
5
6
|
## Features
|
|
6
7
|
|
|
7
8
|
- Component runtime APIs for rendering, hydration, link and form frame navigation, and JSX
|
|
8
|
-
- Server rendering APIs for streaming
|
|
9
|
-
- `mix` composition with event, ref,
|
|
10
|
-
-
|
|
11
|
-
- Lower-level utilities for keyboard events, typeahead search, refs, attributes, and CSS transition timing
|
|
9
|
+
- Server rendering APIs for streaming component trees and frames
|
|
10
|
+
- `mix` composition with event, ref, and CSS helpers
|
|
11
|
+
- Lower-level utilities for events, refs, attributes, and rendering lifecycle
|
|
12
12
|
|
|
13
13
|
## Installation
|
|
14
14
|
|
|
@@ -18,84 +18,40 @@ npm i remix
|
|
|
18
18
|
|
|
19
19
|
## Usage
|
|
20
20
|
|
|
21
|
-
|
|
21
|
+
Components receive a handle and return a render function. Local state stays in ordinary JavaScript
|
|
22
|
+
variables, and `handle.update()` explicitly schedules another render:
|
|
22
23
|
|
|
23
24
|
```tsx
|
|
24
|
-
import {
|
|
25
|
-
import type { Handle } from 'remix/
|
|
26
|
-
import * as popover from 'remix/ui/popover'
|
|
27
|
-
|
|
28
|
-
let triggerCss = css({
|
|
29
|
-
border: '1px solid #d1d5db',
|
|
30
|
-
borderRadius: '6px',
|
|
31
|
-
padding: '6px 10px',
|
|
32
|
-
})
|
|
33
|
-
|
|
34
|
-
let surfaceCss = css({
|
|
35
|
-
background: 'white',
|
|
36
|
-
border: '1px solid #d1d5db',
|
|
37
|
-
borderRadius: '6px',
|
|
38
|
-
padding: '8px',
|
|
39
|
-
})
|
|
25
|
+
import { on } from 'remix/component'
|
|
26
|
+
import type { Handle } from 'remix/component'
|
|
40
27
|
|
|
41
|
-
function
|
|
42
|
-
let
|
|
28
|
+
function Counter(handle: Handle<{ initialCount?: number }>) {
|
|
29
|
+
let count = handle.props.initialCount ?? 0
|
|
43
30
|
|
|
44
31
|
return () => (
|
|
45
|
-
<
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
}),
|
|
55
|
-
]}
|
|
56
|
-
type="button"
|
|
57
|
-
>
|
|
58
|
-
View options
|
|
59
|
-
</button>
|
|
60
|
-
<div
|
|
61
|
-
mix={[
|
|
62
|
-
surfaceCss,
|
|
63
|
-
popover.surface({
|
|
64
|
-
open,
|
|
65
|
-
onHide() {
|
|
66
|
-
open = false
|
|
67
|
-
handle.update()
|
|
68
|
-
},
|
|
69
|
-
}),
|
|
70
|
-
]}
|
|
71
|
-
>
|
|
72
|
-
Panel content
|
|
73
|
-
</div>
|
|
74
|
-
</popover.Context>
|
|
32
|
+
<button
|
|
33
|
+
type="button"
|
|
34
|
+
mix={on('click', () => {
|
|
35
|
+
count++
|
|
36
|
+
void handle.update()
|
|
37
|
+
})}
|
|
38
|
+
>
|
|
39
|
+
Count: {count}
|
|
40
|
+
</button>
|
|
75
41
|
)
|
|
76
42
|
}
|
|
77
43
|
```
|
|
78
44
|
|
|
79
|
-
Button styling is available as a composable mixin:
|
|
80
|
-
|
|
81
|
-
```tsx
|
|
82
|
-
import button from 'remix/ui/button'
|
|
83
|
-
|
|
84
|
-
function Actions() {
|
|
85
|
-
return () => <button mix={button({ tone: 'primary' })}>Create project</button>
|
|
86
|
-
}
|
|
87
|
-
```
|
|
88
|
-
|
|
89
45
|
## Custom Mixins
|
|
90
46
|
|
|
91
|
-
Use `createMixin(...)` to share host behavior, manage DOM resources, or provide default props. The [Mixins guide](https://github.com/remix-run/remix/blob/main/packages/
|
|
47
|
+
Use `createMixin(...)` to share host behavior, manage DOM resources, or provide default props. The [Mixins guide](https://github.com/remix-run/remix/blob/main/packages/component/docs/mixins.md) covers setup and render, `MixinHandle`, lifecycle events, and deferred removal with `beforeRemove` and `event.persistNode(...)`.
|
|
92
48
|
|
|
93
49
|
## Client Entry Loading
|
|
94
50
|
|
|
95
51
|
`run()` hydrates client entries by calling `loadModule` for each component module:
|
|
96
52
|
|
|
97
53
|
```tsx
|
|
98
|
-
import { run } from 'remix/
|
|
54
|
+
import { run } from 'remix/component'
|
|
99
55
|
|
|
100
56
|
let app = run({
|
|
101
57
|
async loadModule(moduleUrl, exportName) {
|
|
@@ -221,12 +177,12 @@ window.navigation?.addEventListener('navigate', (e) => e.stopImmediatePropagatio
|
|
|
221
177
|
This prevents Remix from intercepting Navigation API events. Explicit frame reloads such as
|
|
222
178
|
`handle.frame.reload()` continue to use the frame resolver.
|
|
223
179
|
|
|
224
|
-
The default resolver accepts `2xx` responses and `3xx` or `4xx` responses whose `Content-Type` includes `text/html`, ignoring case. It rejects other `3xx` or `4xx` responses and all `5xx` responses with an error containing their status and status text. A custom `resolveFrame` may return a `Response` with any status when it wants
|
|
180
|
+
The default resolver accepts `2xx` responses and `3xx` or `4xx` responses whose `Content-Type` includes `text/html`, ignoring case. It rejects other `3xx` or `4xx` responses and all `5xx` responses with an error containing their status and status text. A custom `resolveFrame` may return a `Response` with any status when it wants the component runtime to render the response body.
|
|
225
181
|
|
|
226
182
|
Forms remain ordinary HTML forms before the runtime starts. Add `data-rmx-target` to reload a named frame, or `data-rmx-document` to require a full-document submission:
|
|
227
183
|
|
|
228
184
|
```tsx
|
|
229
|
-
import { Frame } from 'remix/
|
|
185
|
+
import { Frame } from 'remix/component'
|
|
230
186
|
|
|
231
187
|
function AccountPage() {
|
|
232
188
|
return () => (
|
|
@@ -242,13 +198,13 @@ function AccountPage() {
|
|
|
242
198
|
}
|
|
243
199
|
```
|
|
244
200
|
|
|
245
|
-
Native constraint validation and submitter overrides still apply. GET form values arrive in `src`; non-GET forms provide `formData`, `method`, and `encType` to the resolver. See [Frames](https://github.com/remix-run/remix/blob/main/packages/
|
|
201
|
+
Native constraint validation and submitter overrides still apply. GET form values arrive in `src`; non-GET forms provide `formData`, `method`, and `encType` to the resolver. See [Frames](https://github.com/remix-run/remix/blob/main/packages/component/docs/frames.md#form-navigation) for targeting, history behavior, request encoding, opt-outs, and server response guidance.
|
|
246
202
|
|
|
247
203
|
Use `data-rmx-history="push|replace"` on an enhanced anchor or form to control how the navigation updates history. This can override the automatic replacement used for non-GET form submissions to the current URL.
|
|
248
204
|
|
|
249
205
|
## Single-page Applications
|
|
250
206
|
|
|
251
|
-
Use `render` and `run` from `remix/spa` when every route runs in the browser and returns a
|
|
207
|
+
Use `render` and `run` from `remix/spa` when every route runs in the browser and returns a component
|
|
252
208
|
tree instead of an HTTP response body. The render middleware keeps the router's standard `Request`
|
|
253
209
|
to `Response` contract while associating the response with a node for the top frame to render:
|
|
254
210
|
|
|
@@ -284,7 +240,7 @@ Use `data-rmx-preserve-dom` on the smallest element whose live DOM should belong
|
|
|
284
240
|
</pagefind-ui>
|
|
285
241
|
```
|
|
286
242
|
|
|
287
|
-
|
|
243
|
+
The component runtime still renders the element's children during SSR and still hydrates any initial client entries inside it. On later frame reloads, matched `data-rmx-preserve-dom` elements keep their current attributes and children instead of accepting incoming DOM updates. See [Preserving client-owned DOM](https://github.com/remix-run/remix/blob/main/packages/component/docs/frames.md#preserving-client-owned-dom) for guidance and caveats.
|
|
288
244
|
|
|
289
245
|
Use `data-rmx-preserve-attrs` when client code owns only specific attributes, such as a theme set on `<html>`:
|
|
290
246
|
|
|
@@ -292,13 +248,13 @@ Use `data-rmx-preserve-attrs` when client code owns only specific attributes, su
|
|
|
292
248
|
<html lang="en" data-rmx-preserve-attrs="data-theme"></html>
|
|
293
249
|
```
|
|
294
250
|
|
|
295
|
-
On frame reloads, the space-separated attribute names in the incoming HTML keep their live values or absence. Other attributes and children reconcile normally. An empty or omitted list uses normal attribute reconciliation. This works on any matched element; it does not prevent removal or replacement. See [Preserving client-owned attributes](https://github.com/remix-run/remix/blob/main/packages/
|
|
251
|
+
On frame reloads, the space-separated attribute names in the incoming HTML keep their live values or absence. Other attributes and children reconcile normally. An empty or omitted list uses normal attribute reconciliation. This works on any matched element; it does not prevent removal or replacement. See [Preserving client-owned attributes](https://github.com/remix-run/remix/blob/main/packages/component/docs/frames.md#preserving-client-owned-attributes) for examples and ownership rules.
|
|
296
252
|
|
|
297
253
|
## Cascade Layers
|
|
298
254
|
|
|
299
|
-
|
|
255
|
+
The component runtime emits generated `css(...)` rules under the `rmx` cascade layer. Unlayered CSS outranks layered CSS, so use explicit layer order when mixing generated styles with global styles.
|
|
300
256
|
|
|
301
|
-
Put layers that should lose to
|
|
257
|
+
Put layers that should lose to generated styles before `rmx`:
|
|
302
258
|
|
|
303
259
|
```css
|
|
304
260
|
@layer base, rmx;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
// IMPORTANT: This file is auto-generated, please do not edit manually.
|
|
2
|
-
export * from '@remix-run/
|
|
2
|
+
export * from '@remix-run/component/dev/refresh'
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
// IMPORTANT: This file is auto-generated, please do not edit manually.
|
|
2
|
-
export * from '@remix-run/
|
|
2
|
+
export * from '@remix-run/component/jsx-dev-runtime'
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
// IMPORTANT: This file is auto-generated, please do not edit manually.
|
|
2
|
-
export * from '@remix-run/
|
|
2
|
+
export * from '@remix-run/component/jsx-runtime'
|