@kestack/web-platform 0.0.0-stage → 0.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/LICENSE +21 -0
- package/README.md +523 -2
- package/dist/_virtual/_rolldown/runtime.js +27 -0
- package/dist/app/apis/apis.d.ts +55 -0
- package/dist/app/apis/apis.d.ts.map +1 -0
- package/dist/app/apis/apis.js +43 -0
- package/dist/app/apis/apis.js.map +1 -0
- package/dist/app/apis/index.d.ts +2 -0
- package/dist/app/apis/index.js +2 -0
- package/dist/app/app.d.ts +77 -0
- package/dist/app/app.d.ts.map +1 -0
- package/dist/app/app.js +118 -0
- package/dist/app/app.js.map +1 -0
- package/dist/app/assemble/assemble.d.ts +167 -0
- package/dist/app/assemble/assemble.d.ts.map +1 -0
- package/dist/app/assemble/assemble.js +186 -0
- package/dist/app/assemble/assemble.js.map +1 -0
- package/dist/app/assemble/index.d.ts +2 -0
- package/dist/app/assemble/index.js +2 -0
- package/dist/app/assemble/public.d.ts +18 -0
- package/dist/app/assemble/public.d.ts.map +1 -0
- package/dist/app/assemble/public.js +41 -0
- package/dist/app/assemble/public.js.map +1 -0
- package/dist/app/gate/domain/check.d.ts +33 -0
- package/dist/app/gate/domain/check.d.ts.map +1 -0
- package/dist/app/gate/domain/check.js +50 -0
- package/dist/app/gate/domain/check.js.map +1 -0
- package/dist/app/gate/domain/index.d.ts +4 -0
- package/dist/app/gate/domain/index.js +3 -0
- package/dist/app/gate/domain/machine.d.ts +180 -0
- package/dist/app/gate/domain/machine.d.ts.map +1 -0
- package/dist/app/gate/domain/machine.js +383 -0
- package/dist/app/gate/domain/machine.js.map +1 -0
- package/dist/app/gate/domain/services.d.ts +37 -0
- package/dist/app/gate/domain/services.d.ts.map +1 -0
- package/dist/app/gate/domain/services.js +13 -0
- package/dist/app/gate/domain/services.js.map +1 -0
- package/dist/app/gate/domain/types.d.ts +44 -0
- package/dist/app/gate/domain/types.d.ts.map +1 -0
- package/dist/app/gate/domain/types.js +0 -0
- package/dist/app/gate/gate.d.ts +86 -0
- package/dist/app/gate/gate.d.ts.map +1 -0
- package/dist/app/gate/gate.js +351 -0
- package/dist/app/gate/gate.js.map +1 -0
- package/dist/app/gate/index.d.ts +5 -0
- package/dist/app/gate/index.js +3 -0
- package/dist/app/gate/memory.d.ts +97 -0
- package/dist/app/gate/memory.d.ts.map +1 -0
- package/dist/app/gate/memory.js +48 -0
- package/dist/app/gate/memory.js.map +1 -0
- package/dist/app/gate/react.d.ts +74 -0
- package/dist/app/gate/react.d.ts.map +1 -0
- package/dist/app/gate/react.js +107 -0
- package/dist/app/gate/react.js.map +1 -0
- package/dist/app/host/host.d.ts +90 -0
- package/dist/app/host/host.d.ts.map +1 -0
- package/dist/app/host/host.js +75 -0
- package/dist/app/host/host.js.map +1 -0
- package/dist/app/host/index.d.ts +2 -0
- package/dist/app/host/index.js +2 -0
- package/dist/app/index.d.ts +4 -0
- package/dist/app/index.js +2 -0
- package/dist/app/session/define.d.ts +60 -0
- package/dist/app/session/define.d.ts.map +1 -0
- package/dist/app/session/define.js +31 -0
- package/dist/app/session/define.js.map +1 -0
- package/dist/app/session/index.d.ts +6 -0
- package/dist/app/session/index.js +6 -0
- package/dist/app/session/keeper.d.ts +17 -0
- package/dist/app/session/keeper.d.ts.map +1 -0
- package/dist/app/session/keeper.js +21 -0
- package/dist/app/session/keeper.js.map +1 -0
- package/dist/app/session/open.d.ts +44 -0
- package/dist/app/session/open.d.ts.map +1 -0
- package/dist/app/session/open.js +70 -0
- package/dist/app/session/open.js.map +1 -0
- package/dist/app/session/react.d.ts +17 -0
- package/dist/app/session/react.d.ts.map +1 -0
- package/dist/app/session/react.js +28 -0
- package/dist/app/session/react.js.map +1 -0
- package/dist/app/session/status.d.ts +24 -0
- package/dist/app/session/status.d.ts.map +1 -0
- package/dist/app/session/status.js +25 -0
- package/dist/app/session/status.js.map +1 -0
- package/dist/app/web-host.d.ts +16 -0
- package/dist/app/web-host.d.ts.map +1 -0
- package/dist/app/web-host.js +85 -0
- package/dist/app/web-host.js.map +1 -0
- package/dist/client/index.d.ts +3 -0
- package/dist/client/index.js +2 -0
- package/dist/client/root/index.d.ts +2 -0
- package/dist/client/root/index.js +2 -0
- package/dist/client/root/root.d.ts +62 -0
- package/dist/client/root/root.d.ts.map +1 -0
- package/dist/client/root/root.js +92 -0
- package/dist/client/root/root.js.map +1 -0
- package/dist/client/server.d.ts +2 -0
- package/dist/client/server.js +2 -0
- package/dist/client/theme/index.d.ts +2 -0
- package/dist/client/theme/index.js +2 -0
- package/dist/client/theme/tanstack-start.d.ts +5 -0
- package/dist/client/theme/tanstack-start.d.ts.map +1 -0
- package/dist/client/theme/tanstack-start.js +9 -0
- package/dist/client/theme/tanstack-start.js.map +1 -0
- package/dist/components/hooks/use-element-width.d.ts +9 -0
- package/dist/components/hooks/use-element-width.d.ts.map +1 -0
- package/dist/components/hooks/use-element-width.js +26 -0
- package/dist/components/hooks/use-element-width.js.map +1 -0
- package/dist/components/hooks/use-mobile.d.ts +6 -0
- package/dist/components/hooks/use-mobile.d.ts.map +1 -0
- package/dist/components/hooks/use-mobile.js +16 -0
- package/dist/components/hooks/use-mobile.js.map +1 -0
- package/dist/components/hooks/use-scroll.d.ts +12 -0
- package/dist/components/hooks/use-scroll.d.ts.map +1 -0
- package/dist/components/hooks/use-scroll.js +198 -0
- package/dist/components/hooks/use-scroll.js.map +1 -0
- package/dist/components/lib/lucide.d.ts +1 -0
- package/dist/components/lib/lucide.js +10 -0
- package/dist/components/lib/lucide.js.map +1 -0
- package/dist/components/lib/motion.d.ts +1 -0
- package/dist/components/lib/motion.js +1 -0
- package/dist/components/lib/scrollStyles.d.ts +13 -0
- package/dist/components/lib/scrollStyles.d.ts.map +1 -0
- package/dist/components/lib/scrollStyles.js +19 -0
- package/dist/components/lib/scrollStyles.js.map +1 -0
- package/dist/components/lib/shadow-dom.d.ts +17 -0
- package/dist/components/lib/shadow-dom.d.ts.map +1 -0
- package/dist/components/lib/shadow-dom.js +50 -0
- package/dist/components/lib/shadow-dom.js.map +1 -0
- package/dist/components/lib/utils.d.ts +5 -0
- package/dist/components/lib/utils.d.ts.map +1 -0
- package/dist/components/lib/utils.js +10 -0
- package/dist/components/lib/utils.js.map +1 -0
- package/dist/components/ui/accordion.d.ts +9 -0
- package/dist/components/ui/accordion.d.ts.map +1 -0
- package/dist/components/ui/accordion.js +55 -0
- package/dist/components/ui/accordion.js.map +1 -0
- package/dist/components/ui/alert-dialog.d.ts +21 -0
- package/dist/components/ui/alert-dialog.d.ts.map +1 -0
- package/dist/components/ui/alert-dialog.js +96 -0
- package/dist/components/ui/alert-dialog.js.map +1 -0
- package/dist/components/ui/alert.d.ts +13 -0
- package/dist/components/ui/alert.d.ts.map +1 -0
- package/dist/components/ui/alert.js +45 -0
- package/dist/components/ui/alert.js.map +1 -0
- package/dist/components/ui/aspect-ratio.d.ts +7 -0
- package/dist/components/ui/aspect-ratio.d.ts.map +1 -0
- package/dist/components/ui/aspect-ratio.js +15 -0
- package/dist/components/ui/aspect-ratio.js.map +1 -0
- package/dist/components/ui/attachment.d.ts +26 -0
- package/dist/components/ui/attachment.d.ts.map +1 -0
- package/dist/components/ui/attachment.js +106 -0
- package/dist/components/ui/attachment.js.map +1 -0
- package/dist/components/ui/avatar.d.ts +14 -0
- package/dist/components/ui/avatar.d.ts.map +1 -0
- package/dist/components/ui/avatar.js +52 -0
- package/dist/components/ui/avatar.js.map +1 -0
- package/dist/components/ui/badge.d.ts +10 -0
- package/dist/components/ui/badge.d.ts.map +1 -0
- package/dist/components/ui/badge.js +31 -0
- package/dist/components/ui/badge.js.map +1 -0
- package/dist/components/ui/breadcrumb.d.ts +13 -0
- package/dist/components/ui/breadcrumb.d.ts.map +1 -0
- package/dist/components/ui/breadcrumb.js +74 -0
- package/dist/components/ui/breadcrumb.js.map +1 -0
- package/dist/components/ui/bubble.d.ts +19 -0
- package/dist/components/ui/bubble.d.ts.map +1 -0
- package/dist/components/ui/bubble.js +75 -0
- package/dist/components/ui/bubble.js.map +1 -0
- package/dist/components/ui/button-group.d.ts +13 -0
- package/dist/components/ui/button-group.d.ts.map +1 -0
- package/dist/components/ui/button-group.js +43 -0
- package/dist/components/ui/button-group.js.map +1 -0
- package/dist/components/ui/button.d.ts +11 -0
- package/dist/components/ui/button.d.ts.map +1 -0
- package/dist/components/ui/button.js +46 -0
- package/dist/components/ui/button.js.map +1 -0
- package/dist/components/ui/calendar.d.ts +13 -0
- package/dist/components/ui/calendar.d.ts.map +1 -0
- package/dist/components/ui/calendar.js +110 -0
- package/dist/components/ui/calendar.js.map +1 -0
- package/dist/components/ui/card.d.ts +14 -0
- package/dist/components/ui/card.d.ts.map +1 -0
- package/dist/components/ui/card.js +58 -0
- package/dist/components/ui/card.js.map +1 -0
- package/dist/components/ui/carousel.d.ts +31 -0
- package/dist/components/ui/carousel.d.ts.map +1 -0
- package/dist/components/ui/carousel.js +133 -0
- package/dist/components/ui/carousel.js.map +1 -0
- package/dist/components/ui/chart.d.ts +47 -0
- package/dist/components/ui/chart.d.ts.map +1 -0
- package/dist/components/ui/chart.js +150 -0
- package/dist/components/ui/chart.js.map +1 -0
- package/dist/components/ui/checkbox.d.ts +6 -0
- package/dist/components/ui/checkbox.d.ts.map +1 -0
- package/dist/components/ui/checkbox.js +22 -0
- package/dist/components/ui/checkbox.js.map +1 -0
- package/dist/components/ui/collapsible.d.ts +8 -0
- package/dist/components/ui/collapsible.d.ts.map +1 -0
- package/dist/components/ui/collapsible.js +25 -0
- package/dist/components/ui/collapsible.js.map +1 -0
- package/dist/components/ui/combobox.d.ts +27 -0
- package/dist/components/ui/combobox.d.ts.map +1 -0
- package/dist/components/ui/combobox.js +163 -0
- package/dist/components/ui/combobox.js.map +1 -0
- package/dist/components/ui/command.d.ts +22 -0
- package/dist/components/ui/command.d.ts.map +1 -0
- package/dist/components/ui/command.js +90 -0
- package/dist/components/ui/command.js.map +1 -0
- package/dist/components/ui/context-menu.d.ts +32 -0
- package/dist/components/ui/context-menu.d.ts.map +1 -0
- package/dist/components/ui/context-menu.js +135 -0
- package/dist/components/ui/context-menu.js.map +1 -0
- package/dist/components/ui/dialog.d.ts +20 -0
- package/dist/components/ui/dialog.d.ts.map +1 -0
- package/dist/components/ui/dialog.js +94 -0
- package/dist/components/ui/dialog.js.map +1 -0
- package/dist/components/ui/direction.d.ts +2 -0
- package/dist/components/ui/direction.js +2 -0
- package/dist/components/ui/drawer.d.ts +19 -0
- package/dist/components/ui/drawer.d.ts.map +1 -0
- package/dist/components/ui/drawer.js +125 -0
- package/dist/components/ui/drawer.js.map +1 -0
- package/dist/components/ui/dropdown-menu.d.ts +35 -0
- package/dist/components/ui/dropdown-menu.d.ts.map +1 -0
- package/dist/components/ui/dropdown-menu.js +141 -0
- package/dist/components/ui/dropdown-menu.js.map +1 -0
- package/dist/components/ui/empty.d.ts +14 -0
- package/dist/components/ui/empty.d.ts.map +1 -0
- package/dist/components/ui/empty.js +61 -0
- package/dist/components/ui/empty.js.map +1 -0
- package/dist/components/ui/field.d.ts +27 -0
- package/dist/components/ui/field.d.ts.map +1 -0
- package/dist/components/ui/field.js +111 -0
- package/dist/components/ui/field.js.map +1 -0
- package/dist/components/ui/file-tree.d.ts +62 -0
- package/dist/components/ui/file-tree.d.ts.map +1 -0
- package/dist/components/ui/file-tree.js +300 -0
- package/dist/components/ui/file-tree.js.map +1 -0
- package/dist/components/ui/google-button.d.ts +9 -0
- package/dist/components/ui/google-button.d.ts.map +1 -0
- package/dist/components/ui/google-button.js +183 -0
- package/dist/components/ui/google-button.js.map +1 -0
- package/dist/components/ui/hover-card.d.ts +8 -0
- package/dist/components/ui/hover-card.d.ts.map +1 -0
- package/dist/components/ui/hover-card.js +38 -0
- package/dist/components/ui/hover-card.js.map +1 -0
- package/dist/components/ui/input-group.d.ts +21 -0
- package/dist/components/ui/input-group.d.ts.map +1 -0
- package/dist/components/ui/input-group.js +81 -0
- package/dist/components/ui/input-group.js.map +1 -0
- package/dist/components/ui/input-otp.d.ts +14 -0
- package/dist/components/ui/input-otp.d.ts.map +1 -0
- package/dist/components/ui/input-otp.js +48 -0
- package/dist/components/ui/input-otp.js.map +1 -0
- package/dist/components/ui/input.d.ts +6 -0
- package/dist/components/ui/input.d.ts.map +1 -0
- package/dist/components/ui/input.js +17 -0
- package/dist/components/ui/input.js.map +1 -0
- package/dist/components/ui/item.d.ts +25 -0
- package/dist/components/ui/item.d.ts.map +1 -0
- package/dist/components/ui/item.js +123 -0
- package/dist/components/ui/item.js.map +1 -0
- package/dist/components/ui/kbd.d.ts +6 -0
- package/dist/components/ui/kbd.d.ts.map +1 -0
- package/dist/components/ui/kbd.js +21 -0
- package/dist/components/ui/kbd.js.map +1 -0
- package/dist/components/ui/label.d.ts +6 -0
- package/dist/components/ui/label.d.ts.map +1 -0
- package/dist/components/ui/label.js +16 -0
- package/dist/components/ui/label.js.map +1 -0
- package/dist/components/ui/marker.d.ts +13 -0
- package/dist/components/ui/marker.d.ts.map +1 -0
- package/dist/components/ui/marker.js +45 -0
- package/dist/components/ui/marker.js.map +1 -0
- package/dist/components/ui/menubar.d.ts +32 -0
- package/dist/components/ui/menubar.d.ts.map +1 -0
- package/dist/components/ui/menubar.js +138 -0
- package/dist/components/ui/menubar.js.map +1 -0
- package/dist/components/ui/message-scroller.d.ts +13 -0
- package/dist/components/ui/message-scroller.d.ts.map +1 -0
- package/dist/components/ui/message-scroller.js +62 -0
- package/dist/components/ui/message-scroller.js.map +1 -0
- package/dist/components/ui/message.d.ts +13 -0
- package/dist/components/ui/message.d.ts.map +1 -0
- package/dist/components/ui/message.js +51 -0
- package/dist/components/ui/message.js.map +1 -0
- package/dist/components/ui/native-select.d.ts +11 -0
- package/dist/components/ui/native-select.d.ts.map +1 -0
- package/dist/components/ui/native-select.js +40 -0
- package/dist/components/ui/native-select.js.map +1 -0
- package/dist/components/ui/navigation-menu.d.ts +14 -0
- package/dist/components/ui/navigation-menu.d.ts.map +1 -0
- package/dist/components/ui/navigation-menu.js +84 -0
- package/dist/components/ui/navigation-menu.js.map +1 -0
- package/dist/components/ui/pagination.d.ts +20 -0
- package/dist/components/ui/pagination.d.ts.map +1 -0
- package/dist/components/ui/pagination.js +82 -0
- package/dist/components/ui/pagination.js.map +1 -0
- package/dist/components/ui/popover.d.ts +12 -0
- package/dist/components/ui/popover.d.ts.map +1 -0
- package/dist/components/ui/popover.js +56 -0
- package/dist/components/ui/popover.js.map +1 -0
- package/dist/components/ui/progress.d.ts +10 -0
- package/dist/components/ui/progress.d.ts.map +1 -0
- package/dist/components/ui/progress.js +46 -0
- package/dist/components/ui/progress.js.map +1 -0
- package/dist/components/ui/questionnaire.d.ts +22 -0
- package/dist/components/ui/questionnaire.d.ts.map +1 -0
- package/dist/components/ui/questionnaire.js +172 -0
- package/dist/components/ui/questionnaire.js.map +1 -0
- package/dist/components/ui/radio-group.d.ts +8 -0
- package/dist/components/ui/radio-group.d.ts.map +1 -0
- package/dist/components/ui/radio-group.js +28 -0
- package/dist/components/ui/radio-group.js.map +1 -0
- package/dist/components/ui/resizable.d.ts +10 -0
- package/dist/components/ui/resizable.d.ts.map +1 -0
- package/dist/components/ui/resizable.js +30 -0
- package/dist/components/ui/resizable.js.map +1 -0
- package/dist/components/ui/scroll-area.d.ts +10 -0
- package/dist/components/ui/scroll-area.d.ts.map +1 -0
- package/dist/components/ui/scroll-area.js +38 -0
- package/dist/components/ui/scroll-area.js.map +1 -0
- package/dist/components/ui/select.d.ts +18 -0
- package/dist/components/ui/select.d.ts.map +1 -0
- package/dist/components/ui/select.js +100 -0
- package/dist/components/ui/select.js.map +1 -0
- package/dist/components/ui/separator.d.ts +6 -0
- package/dist/components/ui/separator.d.ts.map +1 -0
- package/dist/components/ui/separator.js +16 -0
- package/dist/components/ui/separator.js.map +1 -0
- package/dist/components/ui/sheet.d.ts +17 -0
- package/dist/components/ui/sheet.d.ts.map +1 -0
- package/dist/components/ui/sheet.js +90 -0
- package/dist/components/ui/sheet.js.map +1 -0
- package/dist/components/ui/skeleton.d.ts +5 -0
- package/dist/components/ui/skeleton.d.ts.map +1 -0
- package/dist/components/ui/skeleton.js +14 -0
- package/dist/components/ui/skeleton.js.map +1 -0
- package/dist/components/ui/slider.d.ts +6 -0
- package/dist/components/ui/slider.d.ts.map +1 -0
- package/dist/components/ui/slider.js +35 -0
- package/dist/components/ui/slider.js.map +1 -0
- package/dist/components/ui/sonner.d.ts +6 -0
- package/dist/components/ui/sonner.d.ts.map +1 -0
- package/dist/components/ui/sonner.js +28 -0
- package/dist/components/ui/sonner.js.map +1 -0
- package/dist/components/ui/spinner.d.ts +5 -0
- package/dist/components/ui/spinner.d.ts.map +1 -0
- package/dist/components/ui/spinner.js +17 -0
- package/dist/components/ui/spinner.js.map +1 -0
- package/dist/components/ui/switch.d.ts +8 -0
- package/dist/components/ui/switch.d.ts.map +1 -0
- package/dist/components/ui/switch.js +21 -0
- package/dist/components/ui/switch.js.map +1 -0
- package/dist/components/ui/table.d.ts +13 -0
- package/dist/components/ui/table.d.ts.map +1 -0
- package/dist/components/ui/table.js +68 -0
- package/dist/components/ui/table.js.map +1 -0
- package/dist/components/ui/tabs.d.ts +13 -0
- package/dist/components/ui/tabs.d.ts.map +1 -0
- package/dist/components/ui/tabs.js +47 -0
- package/dist/components/ui/tabs.js.map +1 -0
- package/dist/components/ui/textarea.d.ts +6 -0
- package/dist/components/ui/textarea.d.ts.map +1 -0
- package/dist/components/ui/textarea.js +15 -0
- package/dist/components/ui/textarea.js.map +1 -0
- package/dist/components/ui/toast.d.ts +19 -0
- package/dist/components/ui/toast.d.ts.map +1 -0
- package/dist/components/ui/toast.js +125 -0
- package/dist/components/ui/toast.js.map +1 -0
- package/dist/components/ui/toggle-group.d.ts +14 -0
- package/dist/components/ui/toggle-group.d.ts.map +1 -0
- package/dist/components/ui/toggle-group.js +53 -0
- package/dist/components/ui/toggle-group.js.map +1 -0
- package/dist/components/ui/toggle.d.ts +11 -0
- package/dist/components/ui/toggle.d.ts.map +1 -0
- package/dist/components/ui/toggle.js +37 -0
- package/dist/components/ui/toggle.js.map +1 -0
- package/dist/components/ui/tooltip.d.ts +9 -0
- package/dist/components/ui/tooltip.d.ts.map +1 -0
- package/dist/components/ui/tooltip.js +43 -0
- package/dist/components/ui/tooltip.js.map +1 -0
- package/dist/components/viewers/diff-viewer/align.d.ts +23 -0
- package/dist/components/viewers/diff-viewer/align.d.ts.map +1 -0
- package/dist/components/viewers/diff-viewer/align.js +68 -0
- package/dist/components/viewers/diff-viewer/align.js.map +1 -0
- package/dist/components/viewers/diff-viewer/collapse.d.ts +20 -0
- package/dist/components/viewers/diff-viewer/collapse.d.ts.map +1 -0
- package/dist/components/viewers/diff-viewer/collapse.js +84 -0
- package/dist/components/viewers/diff-viewer/collapse.js.map +1 -0
- package/dist/components/viewers/diff-viewer/diff-viewer.d.ts +34 -0
- package/dist/components/viewers/diff-viewer/diff-viewer.d.ts.map +1 -0
- package/dist/components/viewers/diff-viewer/diff-viewer.js +373 -0
- package/dist/components/viewers/diff-viewer/diff-viewer.js.map +1 -0
- package/dist/components/viewers/diff-viewer/index.d.ts +2 -0
- package/dist/components/viewers/diff-viewer/index.js +2 -0
- package/dist/components/viewers/diff-viewer/render-model.d.ts +27 -0
- package/dist/components/viewers/diff-viewer/render-model.d.ts.map +1 -0
- package/dist/components/viewers/diff-viewer/render-model.js +83 -0
- package/dist/components/viewers/diff-viewer/render-model.js.map +1 -0
- package/dist/components/viewers/diff-viewer/sync-rows.d.ts +8 -0
- package/dist/components/viewers/diff-viewer/sync-rows.d.ts.map +1 -0
- package/dist/components/viewers/diff-viewer/sync-rows.js +32 -0
- package/dist/components/viewers/diff-viewer/sync-rows.js.map +1 -0
- package/dist/components/viewers/file-tree/expand.d.ts +7 -0
- package/dist/components/viewers/file-tree/expand.d.ts.map +1 -0
- package/dist/components/viewers/file-tree/expand.js +37 -0
- package/dist/components/viewers/file-tree/expand.js.map +1 -0
- package/dist/components/viewers/file-tree/file-tree.d.ts +20 -0
- package/dist/components/viewers/file-tree/file-tree.d.ts.map +1 -0
- package/dist/components/viewers/file-tree/file-tree.js +116 -0
- package/dist/components/viewers/file-tree/file-tree.js.map +1 -0
- package/dist/components/viewers/file-tree/index.d.ts +3 -0
- package/dist/components/viewers/file-tree/index.js +3 -0
- package/dist/components/viewers/git-changes/git-changes.d.ts +40 -0
- package/dist/components/viewers/git-changes/git-changes.d.ts.map +1 -0
- package/dist/components/viewers/git-changes/git-changes.js +170 -0
- package/dist/components/viewers/git-changes/git-changes.js.map +1 -0
- package/dist/components/viewers/git-changes/index.d.ts +2 -0
- package/dist/components/viewers/git-changes/index.js +2 -0
- package/dist/components/viewers/json/index.d.ts +4 -0
- package/dist/components/viewers/json/index.js +4 -0
- package/dist/components/viewers/json/json-editor.d.ts +14 -0
- package/dist/components/viewers/json/json-editor.d.ts.map +1 -0
- package/dist/components/viewers/json/json-editor.js +84 -0
- package/dist/components/viewers/json/json-editor.js.map +1 -0
- package/dist/components/viewers/json/json-tree.d.ts +11 -0
- package/dist/components/viewers/json/json-tree.d.ts.map +1 -0
- package/dist/components/viewers/json/json-tree.js +88 -0
- package/dist/components/viewers/json/json-tree.js.map +1 -0
- package/dist/components/viewers/json/json-viewer.d.ts +10 -0
- package/dist/components/viewers/json/json-viewer.d.ts.map +1 -0
- package/dist/components/viewers/json/json-viewer.js +48 -0
- package/dist/components/viewers/json/json-viewer.js.map +1 -0
- package/dist/components/viewers/markdown-viewer/index.d.ts +2 -0
- package/dist/components/viewers/markdown-viewer/index.js +2 -0
- package/dist/components/viewers/markdown-viewer/markdown-viewer.d.ts +8 -0
- package/dist/components/viewers/markdown-viewer/markdown-viewer.d.ts.map +1 -0
- package/dist/components/viewers/markdown-viewer/markdown-viewer.js +65 -0
- package/dist/components/viewers/markdown-viewer/markdown-viewer.js.map +1 -0
- package/dist/components/viewers/source-explorer/index.d.ts +2 -0
- package/dist/components/viewers/source-explorer/index.js +2 -0
- package/dist/components/viewers/source-explorer/initial-selection.d.ts +6 -0
- package/dist/components/viewers/source-explorer/initial-selection.d.ts.map +1 -0
- package/dist/components/viewers/source-explorer/initial-selection.js +13 -0
- package/dist/components/viewers/source-explorer/initial-selection.js.map +1 -0
- package/dist/components/viewers/source-explorer/snapshot-tree.d.ts +11 -0
- package/dist/components/viewers/source-explorer/snapshot-tree.d.ts.map +1 -0
- package/dist/components/viewers/source-explorer/snapshot-tree.js +21 -0
- package/dist/components/viewers/source-explorer/snapshot-tree.js.map +1 -0
- package/dist/components/viewers/source-explorer/source-explorer.d.ts +49 -0
- package/dist/components/viewers/source-explorer/source-explorer.d.ts.map +1 -0
- package/dist/components/viewers/source-explorer/source-explorer.js +364 -0
- package/dist/components/viewers/source-explorer/source-explorer.js.map +1 -0
- package/dist/components/viewers/source-viewer/index.d.ts +2 -0
- package/dist/components/viewers/source-viewer/index.js +2 -0
- package/dist/components/viewers/source-viewer/source-viewer.d.ts +33 -0
- package/dist/components/viewers/source-viewer/source-viewer.d.ts.map +1 -0
- package/dist/components/viewers/source-viewer/source-viewer.js +224 -0
- package/dist/components/viewers/source-viewer/source-viewer.js.map +1 -0
- package/dist/define/index.d.ts +10 -0
- package/dist/define/index.js +4 -0
- package/dist/feedback/index.d.ts +2 -0
- package/dist/feedback/index.js +2 -0
- package/dist/feedback/sound.d.ts +28 -0
- package/dist/feedback/sound.d.ts.map +1 -0
- package/dist/feedback/sound.js +150 -0
- package/dist/feedback/sound.js.map +1 -0
- package/dist/form/components/submit-button.d.ts +11 -0
- package/dist/form/components/submit-button.d.ts.map +1 -0
- package/dist/form/components/submit-button.js +26 -0
- package/dist/form/components/submit-button.js.map +1 -0
- package/dist/form/context.d.ts +8 -0
- package/dist/form/context.d.ts.map +1 -0
- package/dist/form/context.js +11 -0
- package/dist/form/context.js.map +1 -0
- package/dist/form/create-form-hook.d.ts +62 -0
- package/dist/form/create-form-hook.d.ts.map +1 -0
- package/dist/form/create-form-hook.js +51 -0
- package/dist/form/create-form-hook.js.map +1 -0
- package/dist/form/fields/date-picker-field.d.ts +9 -0
- package/dist/form/fields/date-picker-field.d.ts.map +1 -0
- package/dist/form/fields/date-picker-field.js +84 -0
- package/dist/form/fields/date-picker-field.js.map +1 -0
- package/dist/form/fields/select-field.d.ts +15 -0
- package/dist/form/fields/select-field.d.ts.map +1 -0
- package/dist/form/fields/select-field.js +65 -0
- package/dist/form/fields/select-field.js.map +1 -0
- package/dist/form/fields/switch-field.d.ts +9 -0
- package/dist/form/fields/switch-field.d.ts.map +1 -0
- package/dist/form/fields/switch-field.js +56 -0
- package/dist/form/fields/switch-field.js.map +1 -0
- package/dist/form/fields/text-field.d.ts +10 -0
- package/dist/form/fields/text-field.d.ts.map +1 -0
- package/dist/form/fields/text-field.js +58 -0
- package/dist/form/fields/text-field.js.map +1 -0
- package/dist/form/fields/textarea-field.d.ts +10 -0
- package/dist/form/fields/textarea-field.d.ts.map +1 -0
- package/dist/form/fields/textarea-field.js +58 -0
- package/dist/form/fields/textarea-field.js.map +1 -0
- package/dist/form/index.d.ts +10 -0
- package/dist/form/index.js +3 -0
- package/dist/form/types.d.ts +51 -0
- package/dist/form/types.d.ts.map +1 -0
- package/dist/form/types.js +23 -0
- package/dist/form/types.js.map +1 -0
- package/dist/input/device/device.d.ts +21 -0
- package/dist/input/device/device.d.ts.map +1 -0
- package/dist/input/device/device.js +61 -0
- package/dist/input/device/device.js.map +1 -0
- package/dist/input/device/index.d.ts +2 -0
- package/dist/input/device/index.js +2 -0
- package/dist/input/gesture/index.d.ts +9 -0
- package/dist/input/gesture/index.js +5 -0
- package/dist/input/gesture/patterns/index.d.ts +5 -0
- package/dist/input/gesture/patterns/index.js +3 -0
- package/dist/input/gesture/patterns/pull-to-refresh/index.d.ts +2 -0
- package/dist/input/gesture/patterns/pull-to-refresh/index.js +2 -0
- package/dist/input/gesture/patterns/pull-to-refresh/use-pull-to-refresh.d.ts +32 -0
- package/dist/input/gesture/patterns/pull-to-refresh/use-pull-to-refresh.d.ts.map +1 -0
- package/dist/input/gesture/patterns/pull-to-refresh/use-pull-to-refresh.js +75 -0
- package/dist/input/gesture/patterns/pull-to-refresh/use-pull-to-refresh.js.map +1 -0
- package/dist/input/gesture/patterns/sidebar/index.d.ts +2 -0
- package/dist/input/gesture/patterns/sidebar/index.js +2 -0
- package/dist/input/gesture/patterns/sidebar/use-sidebar.d.ts +41 -0
- package/dist/input/gesture/patterns/sidebar/use-sidebar.d.ts.map +1 -0
- package/dist/input/gesture/patterns/sidebar/use-sidebar.js +131 -0
- package/dist/input/gesture/patterns/sidebar/use-sidebar.js.map +1 -0
- package/dist/input/gesture/recognizers/index.d.ts +3 -0
- package/dist/input/gesture/recognizers/index.js +2 -0
- package/dist/input/gesture/recognizers/swipe/index.d.ts +2 -0
- package/dist/input/gesture/recognizers/swipe/index.js +2 -0
- package/dist/input/gesture/recognizers/swipe/use-swipe.d.ts +56 -0
- package/dist/input/gesture/recognizers/swipe/use-swipe.d.ts.map +1 -0
- package/dist/input/gesture/recognizers/swipe/use-swipe.js +150 -0
- package/dist/input/gesture/recognizers/swipe/use-swipe.js.map +1 -0
- package/dist/input/gesture/zones/index.d.ts +4 -0
- package/dist/input/gesture/zones/index.js +2 -0
- package/dist/input/gesture/zones/touch-input/index.d.ts +3 -0
- package/dist/input/gesture/zones/touch-input/index.js +3 -0
- package/dist/input/gesture/zones/touch-input/native-scroll.d.ts +28 -0
- package/dist/input/gesture/zones/touch-input/native-scroll.d.ts.map +1 -0
- package/dist/input/gesture/zones/touch-input/native-scroll.js +61 -0
- package/dist/input/gesture/zones/touch-input/native-scroll.js.map +1 -0
- package/dist/input/gesture/zones/touch-input/touch-input.d.ts +54 -0
- package/dist/input/gesture/zones/touch-input/touch-input.d.ts.map +1 -0
- package/dist/input/gesture/zones/touch-input/touch-input.js +243 -0
- package/dist/input/gesture/zones/touch-input/touch-input.js.map +1 -0
- package/dist/input/gesture/zones/zone/index.d.ts +3 -0
- package/dist/input/gesture/zones/zone/index.js +2 -0
- package/dist/input/gesture/zones/zone/motion-pointers.d.ts +33 -0
- package/dist/input/gesture/zones/zone/motion-pointers.d.ts.map +1 -0
- package/dist/input/gesture/zones/zone/motion-pointers.js +52 -0
- package/dist/input/gesture/zones/zone/motion-pointers.js.map +1 -0
- package/dist/input/gesture/zones/zone/zone.d.ts +93 -0
- package/dist/input/gesture/zones/zone/zone.d.ts.map +1 -0
- package/dist/input/gesture/zones/zone/zone.js +169 -0
- package/dist/input/gesture/zones/zone/zone.js.map +1 -0
- package/dist/input/index.d.ts +8 -0
- package/dist/input/index.js +6 -0
- package/dist/pwa/browser/dom-events.d.ts +9 -0
- package/dist/pwa/browser/dom-events.d.ts.map +1 -0
- package/dist/pwa/browser/dom-events.js +10 -0
- package/dist/pwa/browser/dom-events.js.map +1 -0
- package/dist/pwa/browser/subscription-ref.d.ts +6 -0
- package/dist/pwa/browser/subscription-ref.d.ts.map +1 -0
- package/dist/pwa/browser/subscription-ref.js +19 -0
- package/dist/pwa/browser/subscription-ref.js.map +1 -0
- package/dist/pwa/client/client.d.ts +32 -0
- package/dist/pwa/client/client.d.ts.map +1 -0
- package/dist/pwa/client/client.js +36 -0
- package/dist/pwa/client/client.js.map +1 -0
- package/dist/pwa/client/commands/commands.d.ts +9 -0
- package/dist/pwa/client/commands/commands.d.ts.map +1 -0
- package/dist/pwa/client/commands/commands.js +21 -0
- package/dist/pwa/client/commands/commands.js.map +1 -0
- package/dist/pwa/client/commands/index.d.ts +2 -0
- package/dist/pwa/client/commands/index.js +2 -0
- package/dist/pwa/client/index.d.ts +3 -0
- package/dist/pwa/client/index.js +3 -0
- package/dist/pwa/client/registration.d.ts +14 -0
- package/dist/pwa/client/registration.d.ts.map +1 -0
- package/dist/pwa/client/registration.js +36 -0
- package/dist/pwa/client/registration.js.map +1 -0
- package/dist/pwa/client/runtime-cache.d.ts +9 -0
- package/dist/pwa/client/runtime-cache.d.ts.map +1 -0
- package/dist/pwa/client/runtime-cache.js +15 -0
- package/dist/pwa/client/runtime-cache.js.map +1 -0
- package/dist/pwa/client/status/index.d.ts +2 -0
- package/dist/pwa/client/status/index.js +2 -0
- package/dist/pwa/client/status/status.d.ts +136 -0
- package/dist/pwa/client/status/status.d.ts.map +1 -0
- package/dist/pwa/client/status/status.js +83 -0
- package/dist/pwa/client/status/status.js.map +1 -0
- package/dist/pwa/extras/display-mode/display-mode.d.ts +18 -0
- package/dist/pwa/extras/display-mode/display-mode.d.ts.map +1 -0
- package/dist/pwa/extras/display-mode/display-mode.js +42 -0
- package/dist/pwa/extras/display-mode/display-mode.js.map +1 -0
- package/dist/pwa/extras/display-mode/index.d.ts +2 -0
- package/dist/pwa/extras/display-mode/index.js +2 -0
- package/dist/pwa/extras/index.d.ts +13 -0
- package/dist/pwa/extras/index.js +9 -0
- package/dist/pwa/extras/install/index.d.ts +5 -0
- package/dist/pwa/extras/install/index.js +5 -0
- package/dist/pwa/extras/install/install-content.d.ts +12 -0
- package/dist/pwa/extras/install/install-content.d.ts.map +1 -0
- package/dist/pwa/extras/install/install-content.js +57 -0
- package/dist/pwa/extras/install/install-content.js.map +1 -0
- package/dist/pwa/extras/install/install-dismissal.d.ts +5 -0
- package/dist/pwa/extras/install/install-dismissal.d.ts.map +1 -0
- package/dist/pwa/extras/install/install-dismissal.js +20 -0
- package/dist/pwa/extras/install/install-dismissal.js.map +1 -0
- package/dist/pwa/extras/install/install-prompt.d.ts +12 -0
- package/dist/pwa/extras/install/install-prompt.d.ts.map +1 -0
- package/dist/pwa/extras/install/install-prompt.js +66 -0
- package/dist/pwa/extras/install/install-prompt.js.map +1 -0
- package/dist/pwa/extras/install/install.d.ts +125 -0
- package/dist/pwa/extras/install/install.d.ts.map +1 -0
- package/dist/pwa/extras/install/install.js +80 -0
- package/dist/pwa/extras/install/install.js.map +1 -0
- package/dist/pwa/extras/install/ios.d.ts +8 -0
- package/dist/pwa/extras/install/ios.d.ts.map +1 -0
- package/dist/pwa/extras/install/ios.js +10 -0
- package/dist/pwa/extras/install/ios.js.map +1 -0
- package/dist/pwa/extras/install/media-query.d.ts +5 -0
- package/dist/pwa/extras/install/media-query.d.ts.map +1 -0
- package/dist/pwa/extras/install/media-query.js +15 -0
- package/dist/pwa/extras/install/media-query.js.map +1 -0
- package/dist/pwa/extras/lazy-service/index.d.ts +2 -0
- package/dist/pwa/extras/lazy-service/index.js +2 -0
- package/dist/pwa/extras/lazy-service/lazy-service.d.ts +11 -0
- package/dist/pwa/extras/lazy-service/lazy-service.d.ts.map +1 -0
- package/dist/pwa/extras/lazy-service/lazy-service.js +30 -0
- package/dist/pwa/extras/lazy-service/lazy-service.js.map +1 -0
- package/dist/pwa/extras/online/index.d.ts +3 -0
- package/dist/pwa/extras/online/index.js +3 -0
- package/dist/pwa/extras/online/offline-indicator.d.ts +11 -0
- package/dist/pwa/extras/online/offline-indicator.d.ts.map +1 -0
- package/dist/pwa/extras/online/offline-indicator.js +26 -0
- package/dist/pwa/extras/online/offline-indicator.js.map +1 -0
- package/dist/pwa/extras/online/online.d.ts +15 -0
- package/dist/pwa/extras/online/online.d.ts.map +1 -0
- package/dist/pwa/extras/online/online.js +27 -0
- package/dist/pwa/extras/online/online.js.map +1 -0
- package/dist/pwa/extras/storage/index.d.ts +2 -0
- package/dist/pwa/extras/storage/index.js +2 -0
- package/dist/pwa/extras/storage/storage.d.ts +28 -0
- package/dist/pwa/extras/storage/storage.d.ts.map +1 -0
- package/dist/pwa/extras/storage/storage.js +51 -0
- package/dist/pwa/extras/storage/storage.js.map +1 -0
- package/dist/pwa/index.d.ts +8 -0
- package/dist/pwa/index.js +5 -0
- package/dist/pwa/react/head.d.ts +33 -0
- package/dist/pwa/react/head.d.ts.map +1 -0
- package/dist/pwa/react/head.js +43 -0
- package/dist/pwa/react/head.js.map +1 -0
- package/dist/pwa/react/index.d.ts +4 -0
- package/dist/pwa/react/index.js +3 -0
- package/dist/pwa/react/react.d.ts +33 -0
- package/dist/pwa/react/react.d.ts.map +1 -0
- package/dist/pwa/react/react.js +67 -0
- package/dist/pwa/react/react.js.map +1 -0
- package/dist/pwa/react/update-prompt.d.ts +12 -0
- package/dist/pwa/react/update-prompt.d.ts.map +1 -0
- package/dist/pwa/react/update-prompt.js +23 -0
- package/dist/pwa/react/update-prompt.js.map +1 -0
- package/dist/pwa/react/update-toast.d.ts +15 -0
- package/dist/pwa/react/update-toast.d.ts.map +1 -0
- package/dist/pwa/react/update-toast.js +52 -0
- package/dist/pwa/react/update-toast.js.map +1 -0
- package/dist/pwa/root/index.d.ts +2 -0
- package/dist/pwa/root/index.js +2 -0
- package/dist/pwa/root/root.d.ts +14 -0
- package/dist/pwa/root/root.d.ts.map +1 -0
- package/dist/pwa/root/root.js +35 -0
- package/dist/pwa/root/root.js.map +1 -0
- package/dist/pwa/rpc/client/client.d.ts +49 -0
- package/dist/pwa/rpc/client/client.d.ts.map +1 -0
- package/dist/pwa/rpc/client/client.js +55 -0
- package/dist/pwa/rpc/client/client.js.map +1 -0
- package/dist/pwa/rpc/client/index.d.ts +3 -0
- package/dist/pwa/rpc/client/index.js +3 -0
- package/dist/pwa/rpc/client/page-environment.d.ts +25 -0
- package/dist/pwa/rpc/client/page-environment.d.ts.map +1 -0
- package/dist/pwa/rpc/client/page-environment.js +46 -0
- package/dist/pwa/rpc/client/page-environment.js.map +1 -0
- package/dist/pwa/rpc/client/platform.d.ts +26 -0
- package/dist/pwa/rpc/client/platform.d.ts.map +1 -0
- package/dist/pwa/rpc/client/platform.js +144 -0
- package/dist/pwa/rpc/client/platform.js.map +1 -0
- package/dist/pwa/rpc/client/version-skew.d.ts +24 -0
- package/dist/pwa/rpc/client/version-skew.d.ts.map +1 -0
- package/dist/pwa/rpc/client/version-skew.js +63 -0
- package/dist/pwa/rpc/client/version-skew.js.map +1 -0
- package/dist/pwa/rpc/handshake/handshake.d.ts +74 -0
- package/dist/pwa/rpc/handshake/handshake.d.ts.map +1 -0
- package/dist/pwa/rpc/handshake/handshake.js +104 -0
- package/dist/pwa/rpc/handshake/handshake.js.map +1 -0
- package/dist/pwa/rpc/handshake/index.d.ts +2 -0
- package/dist/pwa/rpc/handshake/index.js +2 -0
- package/dist/pwa/rpc/worker/connections.d.ts +31 -0
- package/dist/pwa/rpc/worker/connections.d.ts.map +1 -0
- package/dist/pwa/rpc/worker/connections.js +48 -0
- package/dist/pwa/rpc/worker/connections.js.map +1 -0
- package/dist/pwa/rpc/worker/index.d.ts +2 -0
- package/dist/pwa/rpc/worker/index.js +2 -0
- package/dist/pwa/rpc/worker/keep-alive.d.ts +11 -0
- package/dist/pwa/rpc/worker/keep-alive.d.ts.map +1 -0
- package/dist/pwa/rpc/worker/keep-alive.js +30 -0
- package/dist/pwa/rpc/worker/keep-alive.js.map +1 -0
- package/dist/pwa/rpc/worker/runner-platform.d.ts +18 -0
- package/dist/pwa/rpc/worker/runner-platform.d.ts.map +1 -0
- package/dist/pwa/rpc/worker/runner-platform.js +113 -0
- package/dist/pwa/rpc/worker/runner-platform.js.map +1 -0
- package/dist/pwa/rpc/worker/worker.d.ts +22 -0
- package/dist/pwa/rpc/worker/worker.d.ts.map +1 -0
- package/dist/pwa/rpc/worker/worker.js +23 -0
- package/dist/pwa/rpc/worker/worker.js.map +1 -0
- package/dist/pwa/shared/build/build.d.ts +55 -0
- package/dist/pwa/shared/build/build.d.ts.map +1 -0
- package/dist/pwa/shared/build/build.js +55 -0
- package/dist/pwa/shared/build/build.js.map +1 -0
- package/dist/pwa/shared/build/canonical-json.d.ts +5 -0
- package/dist/pwa/shared/build/canonical-json.d.ts.map +1 -0
- package/dist/pwa/shared/build/canonical-json.js +7 -0
- package/dist/pwa/shared/build/canonical-json.js.map +1 -0
- package/dist/pwa/shared/build/fnv1a.d.ts +5 -0
- package/dist/pwa/shared/build/fnv1a.d.ts.map +1 -0
- package/dist/pwa/shared/build/fnv1a.js +17 -0
- package/dist/pwa/shared/build/fnv1a.js.map +1 -0
- package/dist/pwa/shared/build/index.d.ts +2 -0
- package/dist/pwa/shared/build/index.js +2 -0
- package/dist/pwa/shared/commands/commands.d.ts +39 -0
- package/dist/pwa/shared/commands/commands.d.ts.map +1 -0
- package/dist/pwa/shared/commands/commands.js +51 -0
- package/dist/pwa/shared/commands/commands.js.map +1 -0
- package/dist/pwa/shared/commands/index.d.ts +2 -0
- package/dist/pwa/shared/commands/index.js +2 -0
- package/dist/pwa/shared/config/config.d.ts +231 -0
- package/dist/pwa/shared/config/config.d.ts.map +1 -0
- package/dist/pwa/shared/config/config.js +136 -0
- package/dist/pwa/shared/config/config.js.map +1 -0
- package/dist/pwa/shared/config/index.d.ts +2 -0
- package/dist/pwa/shared/config/index.js +2 -0
- package/dist/pwa/shared/config/presets.d.ts +19 -0
- package/dist/pwa/shared/config/presets.d.ts.map +1 -0
- package/dist/pwa/shared/config/presets.js +45 -0
- package/dist/pwa/shared/config/presets.js.map +1 -0
- package/dist/pwa/shared/manifest/index.d.ts +2 -0
- package/dist/pwa/shared/manifest/index.js +2 -0
- package/dist/pwa/shared/manifest/manifest.d.ts +53 -0
- package/dist/pwa/shared/manifest/manifest.d.ts.map +1 -0
- package/dist/pwa/shared/manifest/manifest.js +87 -0
- package/dist/pwa/shared/manifest/manifest.js.map +1 -0
- package/dist/pwa/shared/strategy/index.d.ts +2 -0
- package/dist/pwa/shared/strategy/index.js +2 -0
- package/dist/pwa/shared/strategy/pattern.d.ts +6 -0
- package/dist/pwa/shared/strategy/pattern.d.ts.map +1 -0
- package/dist/pwa/shared/strategy/pattern.js +23 -0
- package/dist/pwa/shared/strategy/pattern.js.map +1 -0
- package/dist/pwa/shared/strategy/strategy.d.ts +41 -0
- package/dist/pwa/shared/strategy/strategy.d.ts.map +1 -0
- package/dist/pwa/shared/strategy/strategy.js +60 -0
- package/dist/pwa/shared/strategy/strategy.js.map +1 -0
- package/dist/pwa/shared/worker-host/index.d.ts +2 -0
- package/dist/pwa/shared/worker-host/index.js +2 -0
- package/dist/pwa/shared/worker-host/worker-host.d.ts +22 -0
- package/dist/pwa/shared/worker-host/worker-host.d.ts.map +1 -0
- package/dist/pwa/shared/worker-host/worker-host.js +11 -0
- package/dist/pwa/shared/worker-host/worker-host.js.map +1 -0
- package/dist/pwa/splash/devices.d.ts +85 -0
- package/dist/pwa/splash/devices.d.ts.map +1 -0
- package/dist/pwa/splash/devices.js +109 -0
- package/dist/pwa/splash/devices.js.map +1 -0
- package/dist/pwa/splash/index.d.ts +2 -0
- package/dist/pwa/splash/index.js +2 -0
- package/dist/pwa/splash/splash.d.ts +29 -0
- package/dist/pwa/splash/splash.d.ts.map +1 -0
- package/dist/pwa/splash/splash.js +38 -0
- package/dist/pwa/splash/splash.js.map +1 -0
- package/dist/pwa/vite/build/build-plugin.d.ts +15 -0
- package/dist/pwa/vite/build/build-plugin.d.ts.map +1 -0
- package/dist/pwa/vite/build/build-plugin.js +105 -0
- package/dist/pwa/vite/build/build-plugin.js.map +1 -0
- package/dist/pwa/vite/build/build-state.d.ts +17 -0
- package/dist/pwa/vite/build/build-state.d.ts.map +1 -0
- package/dist/pwa/vite/build/build-state.js +9 -0
- package/dist/pwa/vite/build/build-state.js.map +1 -0
- package/dist/pwa/vite/build/headers.d.ts +10 -0
- package/dist/pwa/vite/build/headers.d.ts.map +1 -0
- package/dist/pwa/vite/build/headers.js +26 -0
- package/dist/pwa/vite/build/headers.js.map +1 -0
- package/dist/pwa/vite/build/index.d.ts +3 -0
- package/dist/pwa/vite/build/index.js +3 -0
- package/dist/pwa/vite/build/output-files.d.ts +12 -0
- package/dist/pwa/vite/build/output-files.d.ts.map +1 -0
- package/dist/pwa/vite/build/output-files.js +35 -0
- package/dist/pwa/vite/build/output-files.js.map +1 -0
- package/dist/pwa/vite/build/start-setup.d.ts +19 -0
- package/dist/pwa/vite/build/start-setup.d.ts.map +1 -0
- package/dist/pwa/vite/build/start-setup.js +27 -0
- package/dist/pwa/vite/build/start-setup.js.map +1 -0
- package/dist/pwa/vite/client-module/build-version.d.ts +15 -0
- package/dist/pwa/vite/client-module/build-version.d.ts.map +1 -0
- package/dist/pwa/vite/client-module/build-version.js +45 -0
- package/dist/pwa/vite/client-module/build-version.js.map +1 -0
- package/dist/pwa/vite/client-module/client-info.d.ts +22 -0
- package/dist/pwa/vite/client-module/client-info.d.ts.map +1 -0
- package/dist/pwa/vite/client-module/client-info.js +38 -0
- package/dist/pwa/vite/client-module/client-info.js.map +1 -0
- package/dist/pwa/vite/client-module/client-module.d.ts +16 -0
- package/dist/pwa/vite/client-module/client-module.d.ts.map +1 -0
- package/dist/pwa/vite/client-module/client-module.js +47 -0
- package/dist/pwa/vite/client-module/client-module.js.map +1 -0
- package/dist/pwa/vite/client-module/index.d.ts +2 -0
- package/dist/pwa/vite/client-module/index.js +2 -0
- package/dist/pwa/vite/dev/dev-plugin.d.ts +13 -0
- package/dist/pwa/vite/dev/dev-plugin.d.ts.map +1 -0
- package/dist/pwa/vite/dev/dev-plugin.js +61 -0
- package/dist/pwa/vite/dev/dev-plugin.js.map +1 -0
- package/dist/pwa/vite/dev/index.d.ts +2 -0
- package/dist/pwa/vite/dev/index.js +2 -0
- package/dist/pwa/vite/index.d.ts +2 -0
- package/dist/pwa/vite/index.js +2 -0
- package/dist/pwa/vite/precache/asset-kind.d.ts +7 -0
- package/dist/pwa/vite/precache/asset-kind.d.ts.map +1 -0
- package/dist/pwa/vite/precache/asset-kind.js +24 -0
- package/dist/pwa/vite/precache/asset-kind.js.map +1 -0
- package/dist/pwa/vite/precache/index.d.ts +2 -0
- package/dist/pwa/vite/precache/index.js +2 -0
- package/dist/pwa/vite/precache/precache.d.ts +39 -0
- package/dist/pwa/vite/precache/precache.d.ts.map +1 -0
- package/dist/pwa/vite/precache/precache.js +60 -0
- package/dist/pwa/vite/precache/precache.js.map +1 -0
- package/dist/pwa/vite/precache/revision.d.ts +5 -0
- package/dist/pwa/vite/precache/revision.d.ts.map +1 -0
- package/dist/pwa/vite/precache/revision.js +8 -0
- package/dist/pwa/vite/precache/revision.js.map +1 -0
- package/dist/pwa/vite/precache/url-path.d.ts +12 -0
- package/dist/pwa/vite/precache/url-path.d.ts.map +1 -0
- package/dist/pwa/vite/precache/url-path.js +23 -0
- package/dist/pwa/vite/precache/url-path.js.map +1 -0
- package/dist/pwa/vite/vite.d.ts +14 -0
- package/dist/pwa/vite/vite.d.ts.map +1 -0
- package/dist/pwa/vite/vite.js +27 -0
- package/dist/pwa/vite/vite.js.map +1 -0
- package/dist/pwa/vite/worker-bundle/build-module.d.ts +11 -0
- package/dist/pwa/vite/worker-bundle/build-module.d.ts.map +1 -0
- package/dist/pwa/vite/worker-bundle/build-module.js +23 -0
- package/dist/pwa/vite/worker-bundle/build-module.js.map +1 -0
- package/dist/pwa/vite/worker-bundle/entry.d.ts +10 -0
- package/dist/pwa/vite/worker-bundle/entry.d.ts.map +1 -0
- package/dist/pwa/vite/worker-bundle/entry.js +25 -0
- package/dist/pwa/vite/worker-bundle/entry.js.map +1 -0
- package/dist/pwa/vite/worker-bundle/index.d.ts +2 -0
- package/dist/pwa/vite/worker-bundle/index.js +2 -0
- package/dist/pwa/vite/worker-bundle/kill-switch.d.ts +9 -0
- package/dist/pwa/vite/worker-bundle/kill-switch.d.ts.map +1 -0
- package/dist/pwa/vite/worker-bundle/kill-switch.js +27 -0
- package/dist/pwa/vite/worker-bundle/kill-switch.js.map +1 -0
- package/dist/pwa/vite/worker-bundle/worker-bundle.d.ts +25 -0
- package/dist/pwa/vite/worker-bundle/worker-bundle.d.ts.map +1 -0
- package/dist/pwa/vite/worker-bundle/worker-bundle.js +49 -0
- package/dist/pwa/vite/worker-bundle/worker-bundle.js.map +1 -0
- package/dist/pwa/worker/commands/commands.d.ts +13 -0
- package/dist/pwa/worker/commands/commands.d.ts.map +1 -0
- package/dist/pwa/worker/commands/commands.js +23 -0
- package/dist/pwa/worker/commands/commands.js.map +1 -0
- package/dist/pwa/worker/commands/index.d.ts +2 -0
- package/dist/pwa/worker/commands/index.js +2 -0
- package/dist/pwa/worker/global-scope/global-scope.d.ts +35 -0
- package/dist/pwa/worker/global-scope/global-scope.d.ts.map +1 -0
- package/dist/pwa/worker/global-scope/global-scope.js +45 -0
- package/dist/pwa/worker/global-scope/global-scope.js.map +1 -0
- package/dist/pwa/worker/global-scope/index.d.ts +2 -0
- package/dist/pwa/worker/global-scope/index.js +2 -0
- package/dist/pwa/worker/index.d.ts +3 -0
- package/dist/pwa/worker/index.js +3 -0
- package/dist/pwa/worker/lifecycle/index.d.ts +2 -0
- package/dist/pwa/worker/lifecycle/index.js +2 -0
- package/dist/pwa/worker/lifecycle/lifecycle.d.ts +19 -0
- package/dist/pwa/worker/lifecycle/lifecycle.d.ts.map +1 -0
- package/dist/pwa/worker/lifecycle/lifecycle.js +32 -0
- package/dist/pwa/worker/lifecycle/lifecycle.js.map +1 -0
- package/dist/pwa/worker/messages/index.d.ts +2 -0
- package/dist/pwa/worker/messages/index.js +2 -0
- package/dist/pwa/worker/messages/messages.d.ts +16 -0
- package/dist/pwa/worker/messages/messages.d.ts.map +1 -0
- package/dist/pwa/worker/messages/messages.js +59 -0
- package/dist/pwa/worker/messages/messages.js.map +1 -0
- package/dist/pwa/worker/precache/download.d.ts +11 -0
- package/dist/pwa/worker/precache/download.d.ts.map +1 -0
- package/dist/pwa/worker/precache/download.js +26 -0
- package/dist/pwa/worker/precache/download.js.map +1 -0
- package/dist/pwa/worker/precache/index.d.ts +2 -0
- package/dist/pwa/worker/precache/index.js +2 -0
- package/dist/pwa/worker/precache/precache.d.ts +21 -0
- package/dist/pwa/worker/precache/precache.d.ts.map +1 -0
- package/dist/pwa/worker/precache/precache.js +35 -0
- package/dist/pwa/worker/precache/precache.js.map +1 -0
- package/dist/pwa/worker/requests/index.d.ts +2 -0
- package/dist/pwa/worker/requests/index.js +2 -0
- package/dist/pwa/worker/requests/pages/index.d.ts +2 -0
- package/dist/pwa/worker/requests/pages/index.js +2 -0
- package/dist/pwa/worker/requests/pages/pages.d.ts +25 -0
- package/dist/pwa/worker/requests/pages/pages.d.ts.map +1 -0
- package/dist/pwa/worker/requests/pages/pages.js +74 -0
- package/dist/pwa/worker/requests/pages/pages.js.map +1 -0
- package/dist/pwa/worker/requests/requests.d.ts +17 -0
- package/dist/pwa/worker/requests/requests.d.ts.map +1 -0
- package/dist/pwa/worker/requests/requests.js +28 -0
- package/dist/pwa/worker/requests/requests.js.map +1 -0
- package/dist/pwa/worker/requests/strategies/cache-store.d.ts +19 -0
- package/dist/pwa/worker/requests/strategies/cache-store.d.ts.map +1 -0
- package/dist/pwa/worker/requests/strategies/cache-store.js +50 -0
- package/dist/pwa/worker/requests/strategies/cache-store.js.map +1 -0
- package/dist/pwa/worker/requests/strategies/index.d.ts +3 -0
- package/dist/pwa/worker/requests/strategies/index.js +3 -0
- package/dist/pwa/worker/requests/strategies/kinds.d.ts +11 -0
- package/dist/pwa/worker/requests/strategies/kinds.d.ts.map +1 -0
- package/dist/pwa/worker/requests/strategies/kinds.js +35 -0
- package/dist/pwa/worker/requests/strategies/kinds.js.map +1 -0
- package/dist/pwa/worker/requests/strategies/network-first.d.ts +18 -0
- package/dist/pwa/worker/requests/strategies/network-first.d.ts.map +1 -0
- package/dist/pwa/worker/requests/strategies/network-first.js +30 -0
- package/dist/pwa/worker/requests/strategies/network-first.js.map +1 -0
- package/dist/pwa/worker/requests/strategies/strategies.d.ts +16 -0
- package/dist/pwa/worker/requests/strategies/strategies.d.ts.map +1 -0
- package/dist/pwa/worker/requests/strategies/strategies.js +22 -0
- package/dist/pwa/worker/requests/strategies/strategies.js.map +1 -0
- package/dist/pwa/worker/worker.d.ts +23 -0
- package/dist/pwa/worker/worker.d.ts.map +1 -0
- package/dist/pwa/worker/worker.js +53 -0
- package/dist/pwa/worker/worker.js.map +1 -0
- package/dist/recipes/account-lost/account-lost.d.ts +24 -0
- package/dist/recipes/account-lost/account-lost.d.ts.map +1 -0
- package/dist/recipes/account-lost/account-lost.js +35 -0
- package/dist/recipes/account-lost/account-lost.js.map +1 -0
- package/dist/recipes/account-lost/index.d.ts +2 -0
- package/dist/recipes/account-lost/index.js +2 -0
- package/dist/recipes/account-switcher/account-switcher.d.ts +25 -0
- package/dist/recipes/account-switcher/account-switcher.d.ts.map +1 -0
- package/dist/recipes/account-switcher/account-switcher.js +124 -0
- package/dist/recipes/account-switcher/account-switcher.js.map +1 -0
- package/dist/recipes/account-switcher/index.d.ts +2 -0
- package/dist/recipes/account-switcher/index.js +2 -0
- package/dist/recipes/frame/app-shell.d.ts +37 -0
- package/dist/recipes/frame/app-shell.d.ts.map +1 -0
- package/dist/recipes/frame/app-shell.js +46 -0
- package/dist/recipes/frame/app-shell.js.map +1 -0
- package/dist/recipes/frame/frame/frame.d.ts +32 -0
- package/dist/recipes/frame/frame/frame.d.ts.map +1 -0
- package/dist/recipes/frame/frame/frame.js +135 -0
- package/dist/recipes/frame/frame/frame.js.map +1 -0
- package/dist/recipes/frame/frame/geometry.d.ts +22 -0
- package/dist/recipes/frame/frame/geometry.d.ts.map +1 -0
- package/dist/recipes/frame/frame/geometry.js +36 -0
- package/dist/recipes/frame/frame/geometry.js.map +1 -0
- package/dist/recipes/frame/frame/index.d.ts +2 -0
- package/dist/recipes/frame/frame/index.js +2 -0
- package/dist/recipes/frame/frame/motion.d.ts +20 -0
- package/dist/recipes/frame/frame/motion.d.ts.map +1 -0
- package/dist/recipes/frame/frame/motion.js +58 -0
- package/dist/recipes/frame/frame/motion.js.map +1 -0
- package/dist/recipes/frame/frame/state.d.ts +17 -0
- package/dist/recipes/frame/frame/state.d.ts.map +1 -0
- package/dist/recipes/frame/frame/state.js +27 -0
- package/dist/recipes/frame/frame/state.js.map +1 -0
- package/dist/recipes/frame/header.d.ts +18 -0
- package/dist/recipes/frame/header.d.ts.map +1 -0
- package/dist/recipes/frame/header.js +43 -0
- package/dist/recipes/frame/header.js.map +1 -0
- package/dist/recipes/frame/index.d.ts +4 -0
- package/dist/recipes/frame/index.js +4 -0
- package/dist/recipes/frame/sidebar/blocks.d.ts +31 -0
- package/dist/recipes/frame/sidebar/blocks.d.ts.map +1 -0
- package/dist/recipes/frame/sidebar/blocks.js +126 -0
- package/dist/recipes/frame/sidebar/blocks.js.map +1 -0
- package/dist/recipes/frame/sidebar/index.d.ts +4 -0
- package/dist/recipes/frame/sidebar/index.js +4 -0
- package/dist/recipes/frame/sidebar/nav.d.ts +22 -0
- package/dist/recipes/frame/sidebar/nav.d.ts.map +1 -0
- package/dist/recipes/frame/sidebar/nav.js +14 -0
- package/dist/recipes/frame/sidebar/nav.js.map +1 -0
- package/dist/recipes/frame/sidebar/resize-handle.d.ts +12 -0
- package/dist/recipes/frame/sidebar/resize-handle.d.ts.map +1 -0
- package/dist/recipes/frame/sidebar/resize-handle.js +90 -0
- package/dist/recipes/frame/sidebar/resize-handle.js.map +1 -0
- package/dist/recipes/frame/sidebar/sidebar.d.ts +24 -0
- package/dist/recipes/frame/sidebar/sidebar.d.ts.map +1 -0
- package/dist/recipes/frame/sidebar/sidebar.js +30 -0
- package/dist/recipes/frame/sidebar/sidebar.js.map +1 -0
- package/dist/recipes/frame/sidebar/width.d.ts +9 -0
- package/dist/recipes/frame/sidebar/width.d.ts.map +1 -0
- package/dist/recipes/frame/sidebar/width.js +22 -0
- package/dist/recipes/frame/sidebar/width.js.map +1 -0
- package/dist/recipes/gate-screens/gate-screens.d.ts +52 -0
- package/dist/recipes/gate-screens/gate-screens.d.ts.map +1 -0
- package/dist/recipes/gate-screens/gate-screens.js +192 -0
- package/dist/recipes/gate-screens/gate-screens.js.map +1 -0
- package/dist/recipes/gate-screens/index.d.ts +2 -0
- package/dist/recipes/gate-screens/index.js +2 -0
- package/dist/recipes/kabuki-devtools/index.d.ts +2 -0
- package/dist/recipes/kabuki-devtools/index.js +2 -0
- package/dist/recipes/kabuki-devtools/ink/index.d.ts +2 -0
- package/dist/recipes/kabuki-devtools/ink/index.js +2 -0
- package/dist/recipes/kabuki-devtools/ink/ink.d.ts +37 -0
- package/dist/recipes/kabuki-devtools/ink/ink.d.ts.map +1 -0
- package/dist/recipes/kabuki-devtools/ink/ink.js +37 -0
- package/dist/recipes/kabuki-devtools/ink/ink.js.map +1 -0
- package/dist/recipes/kabuki-devtools/kabuki-devtools.d.ts +40 -0
- package/dist/recipes/kabuki-devtools/kabuki-devtools.d.ts.map +1 -0
- package/dist/recipes/kabuki-devtools/kabuki-devtools.js +279 -0
- package/dist/recipes/kabuki-devtools/kabuki-devtools.js.map +1 -0
- package/dist/recipes/kabuki-devtools/map/beat/beat.d.ts +13 -0
- package/dist/recipes/kabuki-devtools/map/beat/beat.d.ts.map +1 -0
- package/dist/recipes/kabuki-devtools/map/beat/beat.js +223 -0
- package/dist/recipes/kabuki-devtools/map/beat/beat.js.map +1 -0
- package/dist/recipes/kabuki-devtools/map/beat/index.d.ts +2 -0
- package/dist/recipes/kabuki-devtools/map/beat/index.js +2 -0
- package/dist/recipes/kabuki-devtools/map/canvas/canvas.d.ts +29 -0
- package/dist/recipes/kabuki-devtools/map/canvas/canvas.d.ts.map +1 -0
- package/dist/recipes/kabuki-devtools/map/canvas/canvas.js +221 -0
- package/dist/recipes/kabuki-devtools/map/canvas/canvas.js.map +1 -0
- package/dist/recipes/kabuki-devtools/map/canvas/index.d.ts +2 -0
- package/dist/recipes/kabuki-devtools/map/canvas/index.js +2 -0
- package/dist/recipes/kabuki-devtools/map/index.d.ts +2 -0
- package/dist/recipes/kabuki-devtools/map/index.js +2 -0
- package/dist/recipes/kabuki-devtools/map/link/index.d.ts +2 -0
- package/dist/recipes/kabuki-devtools/map/link/index.js +2 -0
- package/dist/recipes/kabuki-devtools/map/link/link.d.ts +22 -0
- package/dist/recipes/kabuki-devtools/map/link/link.d.ts.map +1 -0
- package/dist/recipes/kabuki-devtools/map/link/link.js +72 -0
- package/dist/recipes/kabuki-devtools/map/link/link.js.map +1 -0
- package/dist/recipes/kabuki-devtools/map/map.d.ts +26 -0
- package/dist/recipes/kabuki-devtools/map/map.d.ts.map +1 -0
- package/dist/recipes/kabuki-devtools/map/map.js +362 -0
- package/dist/recipes/kabuki-devtools/map/map.js.map +1 -0
- package/dist/recipes/kabuki-devtools/map/node/index.d.ts +2 -0
- package/dist/recipes/kabuki-devtools/map/node/index.js +2 -0
- package/dist/recipes/kabuki-devtools/map/node/node.d.ts +25 -0
- package/dist/recipes/kabuki-devtools/map/node/node.d.ts.map +1 -0
- package/dist/recipes/kabuki-devtools/map/node/node.js +251 -0
- package/dist/recipes/kabuki-devtools/map/node/node.js.map +1 -0
- package/dist/recipes/kabuki-devtools/map/popup/index.d.ts +2 -0
- package/dist/recipes/kabuki-devtools/map/popup/index.js +2 -0
- package/dist/recipes/kabuki-devtools/map/popup/popup.d.ts +12 -0
- package/dist/recipes/kabuki-devtools/map/popup/popup.d.ts.map +1 -0
- package/dist/recipes/kabuki-devtools/map/popup/popup.js +72 -0
- package/dist/recipes/kabuki-devtools/map/popup/popup.js.map +1 -0
- package/dist/recipes/kabuki-devtools/scene/beats.d.ts +36 -0
- package/dist/recipes/kabuki-devtools/scene/beats.d.ts.map +1 -0
- package/dist/recipes/kabuki-devtools/scene/beats.js +46 -0
- package/dist/recipes/kabuki-devtools/scene/beats.js.map +1 -0
- package/dist/recipes/kabuki-devtools/scene/index.d.ts +5 -0
- package/dist/recipes/kabuki-devtools/scene/index.js +3 -0
- package/dist/recipes/kabuki-devtools/scene/layout/index.d.ts +3 -0
- package/dist/recipes/kabuki-devtools/scene/layout/index.js +2 -0
- package/dist/recipes/kabuki-devtools/scene/layout/layout.d.ts +6 -0
- package/dist/recipes/kabuki-devtools/scene/layout/layout.d.ts.map +1 -0
- package/dist/recipes/kabuki-devtools/scene/layout/layout.js +8 -0
- package/dist/recipes/kabuki-devtools/scene/layout/layout.js.map +1 -0
- package/dist/recipes/kabuki-devtools/scene/layout/outline.d.ts +5 -0
- package/dist/recipes/kabuki-devtools/scene/layout/outline.d.ts.map +1 -0
- package/dist/recipes/kabuki-devtools/scene/layout/outline.js +84 -0
- package/dist/recipes/kabuki-devtools/scene/layout/outline.js.map +1 -0
- package/dist/recipes/kabuki-devtools/scene/layout/shapes.d.ts +57 -0
- package/dist/recipes/kabuki-devtools/scene/layout/shapes.d.ts.map +1 -0
- package/dist/recipes/kabuki-devtools/scene/layout/shapes.js +38 -0
- package/dist/recipes/kabuki-devtools/scene/layout/shapes.js.map +1 -0
- package/dist/recipes/kabuki-devtools/scene/layout/tree.d.ts +5 -0
- package/dist/recipes/kabuki-devtools/scene/layout/tree.d.ts.map +1 -0
- package/dist/recipes/kabuki-devtools/scene/layout/tree.js +146 -0
- package/dist/recipes/kabuki-devtools/scene/layout/tree.js.map +1 -0
- package/dist/recipes/kabuki-devtools/scene/nodes.d.ts +67 -0
- package/dist/recipes/kabuki-devtools/scene/nodes.d.ts.map +1 -0
- package/dist/recipes/kabuki-devtools/scene/nodes.js +39 -0
- package/dist/recipes/kabuki-devtools/scene/nodes.js.map +1 -0
- package/dist/recipes/kabuki-devtools/scene/scene.d.ts +78 -0
- package/dist/recipes/kabuki-devtools/scene/scene.d.ts.map +1 -0
- package/dist/recipes/kabuki-devtools/scene/scene.js +128 -0
- package/dist/recipes/kabuki-devtools/scene/scene.js.map +1 -0
- package/dist/recipes/kabuki-devtools/scene/tree.d.ts +20 -0
- package/dist/recipes/kabuki-devtools/scene/tree.d.ts.map +1 -0
- package/dist/recipes/kabuki-devtools/scene/tree.js +85 -0
- package/dist/recipes/kabuki-devtools/scene/tree.js.map +1 -0
- package/dist/recipes/kabuki-devtools/sheet/index.d.ts +2 -0
- package/dist/recipes/kabuki-devtools/sheet/index.js +2 -0
- package/dist/recipes/kabuki-devtools/sheet/sheet.d.ts +33 -0
- package/dist/recipes/kabuki-devtools/sheet/sheet.d.ts.map +1 -0
- package/dist/recipes/kabuki-devtools/sheet/sheet.js +129 -0
- package/dist/recipes/kabuki-devtools/sheet/sheet.js.map +1 -0
- package/dist/recipes/kabuki-devtools/timeline/index.d.ts +2 -0
- package/dist/recipes/kabuki-devtools/timeline/index.js +2 -0
- package/dist/recipes/kabuki-devtools/timeline/timeline.d.ts +25 -0
- package/dist/recipes/kabuki-devtools/timeline/timeline.d.ts.map +1 -0
- package/dist/recipes/kabuki-devtools/timeline/timeline.js +122 -0
- package/dist/recipes/kabuki-devtools/timeline/timeline.js.map +1 -0
- package/dist/recipes/key-bindings/index.d.ts +2 -0
- package/dist/recipes/key-bindings/index.js +2 -0
- package/dist/recipes/key-bindings/key-bindings.d.ts +19 -0
- package/dist/recipes/key-bindings/key-bindings.d.ts.map +1 -0
- package/dist/recipes/key-bindings/key-bindings.js +61 -0
- package/dist/recipes/key-bindings/key-bindings.js.map +1 -0
- package/dist/recipes/local-sign-in/index.d.ts +2 -0
- package/dist/recipes/local-sign-in/index.js +2 -0
- package/dist/recipes/local-sign-in/local-sign-in.d.ts +18 -0
- package/dist/recipes/local-sign-in/local-sign-in.d.ts.map +1 -0
- package/dist/recipes/local-sign-in/local-sign-in.js +109 -0
- package/dist/recipes/local-sign-in/local-sign-in.js.map +1 -0
- package/dist/recipes/parts/email-privacy/email-privacy.d.ts +24 -0
- package/dist/recipes/parts/email-privacy/email-privacy.d.ts.map +1 -0
- package/dist/recipes/parts/email-privacy/email-privacy.js +35 -0
- package/dist/recipes/parts/email-privacy/email-privacy.js.map +1 -0
- package/dist/recipes/parts/email-privacy/index.d.ts +2 -0
- package/dist/recipes/parts/email-privacy/index.js +2 -0
- package/dist/recipes/swipe-row/index.d.ts +2 -0
- package/dist/recipes/swipe-row/index.js +2 -0
- package/dist/recipes/swipe-row/swipe-row.d.ts +16 -0
- package/dist/recipes/swipe-row/swipe-row.d.ts.map +1 -0
- package/dist/recipes/swipe-row/swipe-row.js +96 -0
- package/dist/recipes/swipe-row/swipe-row.js.map +1 -0
- package/dist/recipes/thumb-picker/choice.d.ts +18 -0
- package/dist/recipes/thumb-picker/choice.d.ts.map +1 -0
- package/dist/recipes/thumb-picker/choice.js +0 -0
- package/dist/recipes/thumb-picker/index.d.ts +3 -0
- package/dist/recipes/thumb-picker/index.js +2 -0
- package/dist/recipes/thumb-picker/list.d.ts +18 -0
- package/dist/recipes/thumb-picker/list.d.ts.map +1 -0
- package/dist/recipes/thumb-picker/list.js +48 -0
- package/dist/recipes/thumb-picker/list.js.map +1 -0
- package/dist/recipes/thumb-picker/lock.d.ts +18 -0
- package/dist/recipes/thumb-picker/lock.d.ts.map +1 -0
- package/dist/recipes/thumb-picker/lock.js +71 -0
- package/dist/recipes/thumb-picker/lock.js.map +1 -0
- package/dist/recipes/thumb-picker/menu.d.ts +19 -0
- package/dist/recipes/thumb-picker/menu.d.ts.map +1 -0
- package/dist/recipes/thumb-picker/menu.js +127 -0
- package/dist/recipes/thumb-picker/menu.js.map +1 -0
- package/dist/recipes/thumb-picker/thumb-picker.d.ts +31 -0
- package/dist/recipes/thumb-picker/thumb-picker.d.ts.map +1 -0
- package/dist/recipes/thumb-picker/thumb-picker.js +65 -0
- package/dist/recipes/thumb-picker/thumb-picker.js.map +1 -0
- package/dist/server/index.d.ts +7 -0
- package/dist/server/index.js +5 -0
- package/dist/server/live/index.d.ts +2 -0
- package/dist/server/live/index.js +2 -0
- package/dist/server/live/live.d.ts +56 -0
- package/dist/server/live/live.d.ts.map +1 -0
- package/dist/server/live/live.js +98 -0
- package/dist/server/live/live.js.map +1 -0
- package/dist/server/serve/index.d.ts +2 -0
- package/dist/server/serve/index.js +2 -0
- package/dist/server/serve/serve.d.ts +48 -0
- package/dist/server/serve/serve.d.ts.map +1 -0
- package/dist/server/serve/serve.js +47 -0
- package/dist/server/serve/serve.js.map +1 -0
- package/dist/server/stage/index.d.ts +2 -0
- package/dist/server/stage/index.js +2 -0
- package/dist/server/stage/stage.d.ts +14 -0
- package/dist/server/stage/stage.d.ts.map +1 -0
- package/dist/server/stage/stage.js +28 -0
- package/dist/server/stage/stage.js.map +1 -0
- package/dist/server/worker/index.d.ts +2 -0
- package/dist/server/worker/index.js +2 -0
- package/dist/server/worker/worker.d.ts +19 -0
- package/dist/server/worker/worker.d.ts.map +1 -0
- package/dist/server/worker/worker.js +18 -0
- package/dist/server/worker/worker.js.map +1 -0
- package/dist/theme/cookie.d.ts +6 -0
- package/dist/theme/cookie.d.ts.map +1 -0
- package/dist/theme/cookie.js +21 -0
- package/dist/theme/cookie.js.map +1 -0
- package/dist/theme/css/font-inter.css +2 -0
- package/dist/theme/css/global.css +62 -0
- package/dist/theme/css/shiki.css +71 -0
- package/dist/theme/css/sources.css +6 -0
- package/dist/theme/css/theme.css +170 -0
- package/dist/theme/css/typography.css +1 -0
- package/dist/theme/document.d.ts +6 -0
- package/dist/theme/document.d.ts.map +1 -0
- package/dist/theme/document.js +26 -0
- package/dist/theme/document.js.map +1 -0
- package/dist/theme/index.d.ts +4 -0
- package/dist/theme/index.js +4 -0
- package/dist/theme/model.d.ts +9 -0
- package/dist/theme/model.d.ts.map +1 -0
- package/dist/theme/model.js +13 -0
- package/dist/theme/model.js.map +1 -0
- package/dist/theme/status-bar.d.ts +10 -0
- package/dist/theme/status-bar.d.ts.map +1 -0
- package/dist/theme/status-bar.js +19 -0
- package/dist/theme/status-bar.js.map +1 -0
- package/dist/theme/store.d.ts +6 -0
- package/dist/theme/store.d.ts.map +1 -0
- package/dist/theme/store.js +45 -0
- package/dist/theme/store.js.map +1 -0
- package/dist/theme/theme.d.ts +22 -0
- package/dist/theme/theme.d.ts.map +1 -0
- package/dist/theme/theme.js +37 -0
- package/dist/theme/theme.js.map +1 -0
- package/package.json +255 -3
- package/src/app/apis/apis.ts +109 -0
- package/src/app/apis/index.ts +13 -0
- package/src/app/app.tsx +232 -0
- package/src/app/assemble/assemble.tsx +339 -0
- package/src/app/assemble/index.ts +7 -0
- package/src/app/assemble/public.ts +98 -0
- package/src/app/gate/domain/check.ts +76 -0
- package/src/app/gate/domain/index.ts +3 -0
- package/src/app/gate/domain/machine.ts +439 -0
- package/src/app/gate/domain/services.ts +46 -0
- package/src/app/gate/domain/types.ts +36 -0
- package/src/app/gate/gate.ts +501 -0
- package/src/app/gate/index.ts +3 -0
- package/src/app/gate/memory.ts +56 -0
- package/src/app/gate/react.tsx +139 -0
- package/src/app/host/host.ts +166 -0
- package/src/app/host/index.ts +10 -0
- package/src/app/index.ts +10 -0
- package/src/app/session/define.ts +75 -0
- package/src/app/session/index.ts +17 -0
- package/src/app/session/keeper.ts +34 -0
- package/src/app/session/open.ts +207 -0
- package/src/app/session/react.tsx +38 -0
- package/src/app/session/status.ts +46 -0
- package/src/app/web-host.ts +104 -0
- package/src/client/index.ts +9 -0
- package/src/client/root/index.ts +7 -0
- package/src/client/root/root.tsx +149 -0
- package/src/client/server.ts +3 -0
- package/src/client/theme/index.ts +1 -0
- package/src/client/theme/tanstack-start.ts +5 -0
- package/src/components/hooks/use-element-width.ts +24 -0
- package/src/components/hooks/use-mobile.ts +21 -0
- package/src/components/hooks/use-scroll.ts +292 -0
- package/src/components/lib/lucide.ts +1 -0
- package/src/components/lib/motion.ts +1 -0
- package/src/components/lib/scrollStyles.ts +44 -0
- package/src/components/lib/shadow-dom.tsx +86 -0
- package/src/components/lib/utils.ts +6 -0
- package/src/components/ui/accordion.tsx +71 -0
- package/src/components/ui/alert-dialog.tsx +185 -0
- package/src/components/ui/alert.tsx +75 -0
- package/src/components/ui/aspect-ratio.tsx +22 -0
- package/src/components/ui/attachment.tsx +207 -0
- package/src/components/ui/avatar.tsx +106 -0
- package/src/components/ui/badge.tsx +51 -0
- package/src/components/ui/breadcrumb.tsx +124 -0
- package/src/components/ui/bubble.tsx +127 -0
- package/src/components/ui/button-group.tsx +87 -0
- package/src/components/ui/button.tsx +57 -0
- package/src/components/ui/calendar.tsx +221 -0
- package/src/components/ui/card.tsx +102 -0
- package/src/components/ui/carousel.tsx +240 -0
- package/src/components/ui/chart.tsx +370 -0
- package/src/components/ui/checkbox.tsx +28 -0
- package/src/components/ui/collapsible.tsx +19 -0
- package/src/components/ui/combobox.tsx +295 -0
- package/src/components/ui/command.tsx +196 -0
- package/src/components/ui/context-menu.tsx +270 -0
- package/src/components/ui/dialog.tsx +157 -0
- package/src/components/ui/direction.tsx +4 -0
- package/src/components/ui/drawer.tsx +224 -0
- package/src/components/ui/dropdown-menu.tsx +275 -0
- package/src/components/ui/empty.tsx +103 -0
- package/src/components/ui/field.tsx +236 -0
- package/src/components/ui/file-tree.tsx +619 -0
- package/src/components/ui/google-button.tsx +194 -0
- package/src/components/ui/hover-card.tsx +50 -0
- package/src/components/ui/input-group.tsx +158 -0
- package/src/components/ui/input-otp.tsx +84 -0
- package/src/components/ui/input.tsx +19 -0
- package/src/components/ui/item.tsx +201 -0
- package/src/components/ui/kbd.tsx +26 -0
- package/src/components/ui/label.tsx +19 -0
- package/src/components/ui/marker.tsx +70 -0
- package/src/components/ui/menubar.tsx +280 -0
- package/src/components/ui/message-scroller.tsx +129 -0
- package/src/components/ui/message.tsx +91 -0
- package/src/components/ui/native-select.tsx +60 -0
- package/src/components/ui/navigation-menu.tsx +167 -0
- package/src/components/ui/pagination.tsx +130 -0
- package/src/components/ui/popover.tsx +87 -0
- package/src/components/ui/progress.tsx +82 -0
- package/src/components/ui/questionnaire.tsx +324 -0
- package/src/components/ui/radio-group.tsx +35 -0
- package/src/components/ui/resizable.tsx +49 -0
- package/src/components/ui/scroll-area.tsx +60 -0
- package/src/components/ui/select.tsx +200 -0
- package/src/components/ui/separator.tsx +22 -0
- package/src/components/ui/sheet.tsx +133 -0
- package/src/components/ui/skeleton.tsx +13 -0
- package/src/components/ui/slider.tsx +51 -0
- package/src/components/ui/sonner.tsx +43 -0
- package/src/components/ui/spinner.tsx +10 -0
- package/src/components/ui/switch.tsx +31 -0
- package/src/components/ui/table.tsx +113 -0
- package/src/components/ui/tabs.tsx +81 -0
- package/src/components/ui/textarea.tsx +17 -0
- package/src/components/ui/toast.tsx +234 -0
- package/src/components/ui/toggle-group.tsx +87 -0
- package/src/components/ui/toggle.tsx +42 -0
- package/src/components/ui/tooltip.tsx +65 -0
- package/src/components/viewers/diff-viewer/align.ts +83 -0
- package/src/components/viewers/diff-viewer/collapse.ts +102 -0
- package/src/components/viewers/diff-viewer/diff-viewer.tsx +605 -0
- package/src/components/viewers/diff-viewer/index.ts +8 -0
- package/src/components/viewers/diff-viewer/render-model.ts +123 -0
- package/src/components/viewers/diff-viewer/sync-rows.ts +41 -0
- package/src/components/viewers/file-tree/expand.ts +58 -0
- package/src/components/viewers/file-tree/file-tree.tsx +199 -0
- package/src/components/viewers/file-tree/index.ts +2 -0
- package/src/components/viewers/git-changes/git-changes.tsx +287 -0
- package/src/components/viewers/git-changes/index.ts +11 -0
- package/src/components/viewers/json/index.ts +3 -0
- package/src/components/viewers/json/json-editor.tsx +94 -0
- package/src/components/viewers/json/json-tree.tsx +110 -0
- package/src/components/viewers/json/json-viewer.tsx +61 -0
- package/src/components/viewers/markdown-viewer/index.ts +1 -0
- package/src/components/viewers/markdown-viewer/markdown-viewer.tsx +83 -0
- package/src/components/viewers/source-explorer/index.ts +11 -0
- package/src/components/viewers/source-explorer/initial-selection.ts +21 -0
- package/src/components/viewers/source-explorer/snapshot-tree.ts +39 -0
- package/src/components/viewers/source-explorer/source-explorer.tsx +598 -0
- package/src/components/viewers/source-viewer/index.ts +7 -0
- package/src/components/viewers/source-viewer/source-viewer.tsx +437 -0
- package/src/cosmos.decorator.tsx +38 -0
- package/src/css.d.ts +1 -0
- package/src/define/index.ts +26 -0
- package/src/feedback/index.ts +1 -0
- package/src/feedback/sound.ts +167 -0
- package/src/form/components/submit-button.tsx +52 -0
- package/src/form/context.ts +8 -0
- package/src/form/create-form-hook.ts +50 -0
- package/src/form/fields/date-picker-field.tsx +125 -0
- package/src/form/fields/select-field.tsx +110 -0
- package/src/form/fields/switch-field.tsx +72 -0
- package/src/form/fields/text-field.tsx +82 -0
- package/src/form/fields/textarea-field.tsx +82 -0
- package/src/form/index.ts +56 -0
- package/src/form/types.ts +76 -0
- package/src/input/device/device.ts +83 -0
- package/src/input/device/index.ts +1 -0
- package/src/input/gesture/index.ts +26 -0
- package/src/input/gesture/patterns/index.ts +3 -0
- package/src/input/gesture/patterns/pull-to-refresh/index.ts +6 -0
- package/src/input/gesture/patterns/pull-to-refresh/use-pull-to-refresh.ts +101 -0
- package/src/input/gesture/patterns/sidebar/index.ts +2 -0
- package/src/input/gesture/patterns/sidebar/use-sidebar.ts +201 -0
- package/src/input/gesture/recognizers/index.ts +12 -0
- package/src/input/gesture/recognizers/swipe/index.ts +12 -0
- package/src/input/gesture/recognizers/swipe/use-swipe.ts +224 -0
- package/src/input/gesture/zones/index.ts +11 -0
- package/src/input/gesture/zones/touch-input/index.ts +10 -0
- package/src/input/gesture/zones/touch-input/native-scroll.ts +74 -0
- package/src/input/gesture/zones/touch-input/touch-input.ts +322 -0
- package/src/input/gesture/zones/zone/index.ts +11 -0
- package/src/input/gesture/zones/zone/motion-pointers.ts +74 -0
- package/src/input/gesture/zones/zone/zone.tsx +291 -0
- package/src/input/index.ts +4 -0
- package/src/pwa/browser/dom-events.ts +17 -0
- package/src/pwa/browser/subscription-ref.ts +29 -0
- package/src/pwa/client/client.ts +43 -0
- package/src/pwa/client/commands/commands.ts +28 -0
- package/src/pwa/client/commands/index.ts +1 -0
- package/src/pwa/client/index.ts +1 -0
- package/src/pwa/client/registration.ts +63 -0
- package/src/pwa/client/runtime-cache.ts +24 -0
- package/src/pwa/client/status/index.ts +1 -0
- package/src/pwa/client/status/status.ts +155 -0
- package/src/pwa/extras/display-mode/display-mode.ts +64 -0
- package/src/pwa/extras/display-mode/index.ts +6 -0
- package/src/pwa/extras/index.ts +15 -0
- package/src/pwa/extras/install/index.ts +4 -0
- package/src/pwa/extras/install/install-content.tsx +45 -0
- package/src/pwa/extras/install/install-dismissal.ts +20 -0
- package/src/pwa/extras/install/install-prompt.tsx +93 -0
- package/src/pwa/extras/install/install.ts +134 -0
- package/src/pwa/extras/install/ios.ts +13 -0
- package/src/pwa/extras/install/media-query.ts +18 -0
- package/src/pwa/extras/lazy-service/index.ts +1 -0
- package/src/pwa/extras/lazy-service/lazy-service.ts +38 -0
- package/src/pwa/extras/online/index.ts +2 -0
- package/src/pwa/extras/online/offline-indicator.tsx +26 -0
- package/src/pwa/extras/online/online.ts +35 -0
- package/src/pwa/extras/storage/index.ts +1 -0
- package/src/pwa/extras/storage/storage.ts +101 -0
- package/src/pwa/index.ts +5 -0
- package/src/pwa/react/head.ts +69 -0
- package/src/pwa/react/index.ts +3 -0
- package/src/pwa/react/react.tsx +98 -0
- package/src/pwa/react/update-prompt.tsx +26 -0
- package/src/pwa/react/update-toast.ts +57 -0
- package/src/pwa/root/index.ts +1 -0
- package/src/pwa/root/root.tsx +39 -0
- package/src/pwa/rpc/client/client.ts +105 -0
- package/src/pwa/rpc/client/index.ts +1 -0
- package/src/pwa/rpc/client/page-environment.ts +88 -0
- package/src/pwa/rpc/client/platform.ts +213 -0
- package/src/pwa/rpc/client/version-skew.ts +71 -0
- package/src/pwa/rpc/handshake/handshake.ts +125 -0
- package/src/pwa/rpc/handshake/index.ts +11 -0
- package/src/pwa/rpc/worker/connections.ts +62 -0
- package/src/pwa/rpc/worker/index.ts +1 -0
- package/src/pwa/rpc/worker/keep-alive.ts +26 -0
- package/src/pwa/rpc/worker/runner-platform.ts +200 -0
- package/src/pwa/rpc/worker/worker.ts +44 -0
- package/src/pwa/shared/build/build.ts +78 -0
- package/src/pwa/shared/build/canonical-json.ts +11 -0
- package/src/pwa/shared/build/fnv1a.ts +13 -0
- package/src/pwa/shared/build/index.ts +19 -0
- package/src/pwa/shared/commands/commands.ts +60 -0
- package/src/pwa/shared/commands/index.ts +11 -0
- package/src/pwa/shared/config/config.ts +185 -0
- package/src/pwa/shared/config/index.ts +11 -0
- package/src/pwa/shared/config/presets.ts +45 -0
- package/src/pwa/shared/manifest/index.ts +5 -0
- package/src/pwa/shared/manifest/manifest.ts +102 -0
- package/src/pwa/shared/strategy/index.ts +8 -0
- package/src/pwa/shared/strategy/pattern.ts +20 -0
- package/src/pwa/shared/strategy/strategy.ts +107 -0
- package/src/pwa/shared/worker-host/index.ts +1 -0
- package/src/pwa/shared/worker-host/worker-host.ts +22 -0
- package/src/pwa/splash/devices.ts +28 -0
- package/src/pwa/splash/index.ts +1 -0
- package/src/pwa/splash/splash.ts +44 -0
- package/src/pwa/virtual.d.ts +13 -0
- package/src/pwa/vite/build/build-plugin.ts +153 -0
- package/src/pwa/vite/build/build-state.ts +17 -0
- package/src/pwa/vite/build/headers.ts +34 -0
- package/src/pwa/vite/build/index.ts +2 -0
- package/src/pwa/vite/build/output-files.ts +49 -0
- package/src/pwa/vite/build/start-setup.ts +50 -0
- package/src/pwa/vite/client-module/build-version.ts +43 -0
- package/src/pwa/vite/client-module/client-info.ts +58 -0
- package/src/pwa/vite/client-module/client-module.ts +67 -0
- package/src/pwa/vite/client-module/index.ts +1 -0
- package/src/pwa/vite/dev/dev-plugin.ts +72 -0
- package/src/pwa/vite/dev/index.ts +1 -0
- package/src/pwa/vite/index.ts +1 -0
- package/src/pwa/vite/precache/asset-kind.ts +25 -0
- package/src/pwa/vite/precache/index.ts +6 -0
- package/src/pwa/vite/precache/precache.ts +97 -0
- package/src/pwa/vite/precache/revision.ts +5 -0
- package/src/pwa/vite/precache/url-path.ts +21 -0
- package/src/pwa/vite/vite.ts +25 -0
- package/src/pwa/vite/worker-bundle/build-module.ts +28 -0
- package/src/pwa/vite/worker-bundle/entry.ts +29 -0
- package/src/pwa/vite/worker-bundle/index.ts +1 -0
- package/src/pwa/vite/worker-bundle/kill-switch.ts +23 -0
- package/src/pwa/vite/worker-bundle/worker-bundle.ts +71 -0
- package/src/pwa/worker/commands/commands.ts +31 -0
- package/src/pwa/worker/commands/index.ts +1 -0
- package/src/pwa/worker/global-scope/global-scope.ts +99 -0
- package/src/pwa/worker/global-scope/index.ts +9 -0
- package/src/pwa/worker/index.ts +1 -0
- package/src/pwa/worker/lifecycle/index.ts +1 -0
- package/src/pwa/worker/lifecycle/lifecycle.ts +52 -0
- package/src/pwa/worker/messages/index.ts +1 -0
- package/src/pwa/worker/messages/messages.ts +67 -0
- package/src/pwa/worker/precache/download.ts +38 -0
- package/src/pwa/worker/precache/index.ts +7 -0
- package/src/pwa/worker/precache/precache.ts +72 -0
- package/src/pwa/worker/requests/index.ts +1 -0
- package/src/pwa/worker/requests/pages/index.ts +1 -0
- package/src/pwa/worker/requests/pages/pages.ts +116 -0
- package/src/pwa/worker/requests/requests.ts +39 -0
- package/src/pwa/worker/requests/strategies/cache-store.ts +82 -0
- package/src/pwa/worker/requests/strategies/index.ts +2 -0
- package/src/pwa/worker/requests/strategies/kinds.ts +63 -0
- package/src/pwa/worker/requests/strategies/network-first.ts +40 -0
- package/src/pwa/worker/requests/strategies/strategies.ts +40 -0
- package/src/pwa/worker/worker.ts +99 -0
- package/src/recipes/account-lost/account-lost.tsx +66 -0
- package/src/recipes/account-lost/index.ts +5 -0
- package/src/recipes/account-switcher/account-switcher.tsx +199 -0
- package/src/recipes/account-switcher/index.ts +5 -0
- package/src/recipes/frame/app-shell.tsx +74 -0
- package/src/recipes/frame/frame/frame.tsx +204 -0
- package/src/recipes/frame/frame/geometry.ts +60 -0
- package/src/recipes/frame/frame/index.ts +1 -0
- package/src/recipes/frame/frame/motion.ts +85 -0
- package/src/recipes/frame/frame/state.ts +29 -0
- package/src/recipes/frame/header.tsx +54 -0
- package/src/recipes/frame/index.ts +16 -0
- package/src/recipes/frame/sidebar/blocks.tsx +214 -0
- package/src/recipes/frame/sidebar/index.ts +15 -0
- package/src/recipes/frame/sidebar/nav.tsx +46 -0
- package/src/recipes/frame/sidebar/resize-handle.tsx +94 -0
- package/src/recipes/frame/sidebar/sidebar.tsx +44 -0
- package/src/recipes/frame/sidebar/width.ts +23 -0
- package/src/recipes/gate-screens/gate-screens.tsx +213 -0
- package/src/recipes/gate-screens/index.ts +5 -0
- package/src/recipes/kabuki-devtools/index.ts +1 -0
- package/src/recipes/kabuki-devtools/ink/index.ts +2 -0
- package/src/recipes/kabuki-devtools/ink/ink.ts +53 -0
- package/src/recipes/kabuki-devtools/kabuki-devtools.tsx +419 -0
- package/src/recipes/kabuki-devtools/map/beat/beat.tsx +243 -0
- package/src/recipes/kabuki-devtools/map/beat/index.ts +1 -0
- package/src/recipes/kabuki-devtools/map/canvas/canvas.tsx +320 -0
- package/src/recipes/kabuki-devtools/map/canvas/index.ts +2 -0
- package/src/recipes/kabuki-devtools/map/index.ts +2 -0
- package/src/recipes/kabuki-devtools/map/link/index.ts +1 -0
- package/src/recipes/kabuki-devtools/map/link/link.tsx +107 -0
- package/src/recipes/kabuki-devtools/map/map.tsx +474 -0
- package/src/recipes/kabuki-devtools/map/node/index.ts +2 -0
- package/src/recipes/kabuki-devtools/map/node/node.tsx +437 -0
- package/src/recipes/kabuki-devtools/map/popup/index.ts +1 -0
- package/src/recipes/kabuki-devtools/map/popup/popup.tsx +73 -0
- package/src/recipes/kabuki-devtools/scene/beats.ts +110 -0
- package/src/recipes/kabuki-devtools/scene/index.ts +11 -0
- package/src/recipes/kabuki-devtools/scene/layout/index.ts +3 -0
- package/src/recipes/kabuki-devtools/scene/layout/layout.ts +14 -0
- package/src/recipes/kabuki-devtools/scene/layout/outline.ts +80 -0
- package/src/recipes/kabuki-devtools/scene/layout/shapes.ts +93 -0
- package/src/recipes/kabuki-devtools/scene/layout/tree.ts +181 -0
- package/src/recipes/kabuki-devtools/scene/nodes.ts +116 -0
- package/src/recipes/kabuki-devtools/scene/scene.ts +268 -0
- package/src/recipes/kabuki-devtools/scene/tree.ts +191 -0
- package/src/recipes/kabuki-devtools/sheet/index.ts +1 -0
- package/src/recipes/kabuki-devtools/sheet/sheet.tsx +193 -0
- package/src/recipes/kabuki-devtools/timeline/index.ts +2 -0
- package/src/recipes/kabuki-devtools/timeline/timeline.tsx +206 -0
- package/src/recipes/key-bindings/index.ts +1 -0
- package/src/recipes/key-bindings/key-bindings.tsx +80 -0
- package/src/recipes/local-sign-in/index.ts +5 -0
- package/src/recipes/local-sign-in/local-sign-in.tsx +148 -0
- package/src/recipes/parts/email-privacy/email-privacy.tsx +52 -0
- package/src/recipes/parts/email-privacy/index.ts +1 -0
- package/src/recipes/swipe-row/index.ts +1 -0
- package/src/recipes/swipe-row/swipe-row.tsx +97 -0
- package/src/recipes/thumb-picker/choice.ts +14 -0
- package/src/recipes/thumb-picker/index.ts +1 -0
- package/src/recipes/thumb-picker/list.tsx +73 -0
- package/src/recipes/thumb-picker/lock.ts +86 -0
- package/src/recipes/thumb-picker/menu.tsx +105 -0
- package/src/recipes/thumb-picker/thumb-picker.tsx +84 -0
- package/src/server/index.ts +21 -0
- package/src/server/live/index.ts +9 -0
- package/src/server/live/live.ts +219 -0
- package/src/server/serve/index.ts +6 -0
- package/src/server/serve/serve.ts +115 -0
- package/src/server/stage/index.ts +6 -0
- package/src/server/stage/stage.ts +43 -0
- package/src/server/worker/index.ts +1 -0
- package/src/server/worker/worker.ts +26 -0
- package/src/theme/cookie.ts +22 -0
- package/src/theme/css/font-inter.css +2 -0
- package/src/theme/css/global.css +62 -0
- package/src/theme/css/shiki.css +71 -0
- package/src/theme/css/sources.css +6 -0
- package/src/theme/css/theme.css +170 -0
- package/src/theme/css/typography.css +1 -0
- package/src/theme/document.ts +37 -0
- package/src/theme/index.ts +3 -0
- package/src/theme/model.ts +12 -0
- package/src/theme/status-bar.ts +28 -0
- package/src/theme/store.ts +66 -0
- package/src/theme/theme.ts +45 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"diff-viewer.js","names":[],"sources":["../../../../src/components/viewers/diff-viewer/diff-viewer.tsx"],"sourcesContent":["import {\n useEffect,\n useLayoutEffect,\n useMemo,\n useRef,\n useState,\n type ReactNode,\n type Ref,\n} from 'react';\nimport {\n ChevronsLeftRight,\n ChevronsUpDown,\n Columns2,\n Ellipsis,\n PanelLeft,\n PanelRight,\n Rows3,\n WrapText,\n} from 'lucide-react';\nimport type { FileDiff } from 'laymos';\n\nimport { SourceViewer } from '../source-viewer';\nimport { Button } from '#components/ui/button';\nimport {\n DropdownMenu,\n DropdownMenuCheckboxItem,\n DropdownMenuContent,\n DropdownMenuTrigger,\n} from '#components/ui/dropdown-menu';\nimport { useIsMobile } from '#hooks/use-mobile';\nimport { Switch } from '#components/ui/switch';\nimport { scrollbarStyles } from '#lib/scrollStyles';\nimport { cn } from '#lib/utils';\n\nimport { collapseRows } from './collapse';\nimport {\n fullSide,\n sideOfRows,\n splitRows,\n unifiedChunks,\n type SideContent,\n} from './render-model';\nimport { clearRowHeights, equalizeRowHeights, syncScroll } from './sync-rows';\n\nexport type DiffLayout = 'split' | 'unified';\n\nexport type PaneMode = 'both' | 'before' | 'after';\n\n/**\n * How a diff is read: split or unified, wrapped or not, which sides show,\n * and whether every folded region opens. A caller that keeps these hands\n * them in with `onOptionsChange`, so they hold from one file to the next.\n */\nexport interface DiffOptions {\n readonly layout: DiffLayout;\n readonly wrap: boolean;\n readonly panes: PaneMode;\n readonly expandAll: boolean;\n}\n\nexport const defaultDiffOptions: DiffOptions = {\n layout: 'split',\n wrap: false,\n panes: 'both',\n expandAll: false,\n};\n\nconst paneModes: Readonly<\n Record<\n PaneMode,\n {\n readonly label: string;\n readonly hint: string;\n readonly next: PaneMode;\n readonly icon: ReactNode;\n }\n >\n> = {\n both: {\n label: 'Both',\n hint: 'Showing both sides — collapse the after side',\n next: 'before',\n icon: <Columns2 className=\"size-3.5\" />,\n },\n before: {\n label: 'Before',\n hint: 'Showing the base version — collapse the before side instead',\n next: 'after',\n icon: <PanelLeft className=\"size-3.5\" />,\n },\n after: {\n label: 'After',\n hint: 'Showing the working tree version — show both sides again',\n next: 'both',\n icon: <PanelRight className=\"size-3.5\" />,\n },\n};\n\nexport interface DiffViewerProps {\n readonly diff: FileDiff;\n readonly defaultLayout?: DiffLayout;\n /** Controlled options; without them the viewer keeps its own. */\n readonly options?: DiffOptions;\n readonly onOptionsChange?: (options: DiffOptions) => void;\n readonly fallbackContent?: string;\n /**\n * Grow to the diff's full height and leave scrolling up and down to the\n * parent, which may then hold things that stick beside it. The toolbar\n * sticks to the top.\n */\n readonly autoHeight?: boolean;\n readonly className?: string;\n}\n\ninterface ViewChunk {\n readonly collapsible: boolean;\n readonly count: number;\n readonly left: SideContent;\n readonly right: SideContent;\n}\n\nexport function DiffViewer({\n diff,\n defaultLayout = 'split',\n options: controlled,\n onOptionsChange,\n fallbackContent,\n autoHeight = false,\n className,\n}: DiffViewerProps) {\n const [own, setOwn] = useState<DiffOptions>({\n ...defaultDiffOptions,\n layout: defaultLayout,\n });\n const options = controlled ?? own;\n const setOptions = (next: Partial<DiffOptions>) => {\n const merged = { ...options, ...next };\n if (controlled === undefined) setOwn(merged);\n onOptionsChange?.(merged);\n };\n // A phone reads one column, wrapped by default: Unified always, and its\n // own Wrap that leaves the kept option alone.\n const phone = useIsMobile();\n const [phoneWrap, setPhoneWrap] = useState(true);\n const layout: DiffLayout = phone ? 'unified' : options.layout;\n const wrap = phone ? phoneWrap : options.wrap;\n const { panes } = options;\n const setLayout = (next: DiffLayout) => setOptions({ layout: next });\n const setWrap = (next: boolean) =>\n phone ? setPhoneWrap(next) : setOptions({ wrap: next });\n const setPanes = (next: PaneMode) => setOptions({ panes: next });\n // Keyed by layout: split and unified fold different sequences, so an index\n // expanded in one must not silently expand a different region in the other.\n const [opened, setExpanded] = useState<ReadonlySet<string>>(new Set());\n const leftRef = useRef<HTMLDivElement>(null);\n const rightRef = useRef<HTMLDivElement>(null);\n const scrollLock = useRef(false);\n\n // Built once per diff: SourceViewer compares lineStatuses by identity, so\n // rebuilding these during render would re-highlight on every pass.\n const chunks = useMemo<readonly ViewChunk[]>(\n () =>\n collapseRows(splitRows(diff.hunks)).map((chunk) => ({\n collapsible: chunk.kind === 'unchanged' && chunk.collapsible,\n count: chunk.rows.length,\n left: sideOfRows(chunk.rows, 'left'),\n right: sideOfRows(chunk.rows, 'right'),\n })),\n [diff.hunks],\n );\n const unified = useMemo(() => unifiedChunks(diff.hunks), [diff.hunks]);\n const activeChunks = layout === 'unified' ? unified : chunks;\n const collapsibleKeys = useMemo(\n () =>\n activeChunks.flatMap((chunk, index) =>\n chunk.collapsible ? [`${layout}-${index}`] : [],\n ),\n [activeChunks, layout],\n );\n // Expand all holds as an option, for every file; a region opened by hand\n // stays open for this file only.\n const expanded = useMemo(\n () => (options.expandAll ? new Set(collapsibleKeys) : opened),\n [options.expandAll, collapsibleKeys, opened],\n );\n const allExpanded = collapsibleKeys.every((key) => expanded.has(key));\n const expandAllDisabled = collapsibleKeys.length === 0;\n const beforeFile = useMemo(() => fullSide(diff.hunks, 'left'), [diff.hunks]);\n const afterFile = useMemo(() => fullSide(diff.hunks, 'right'), [diff.hunks]);\n const counts = useMemo(() => countChanges(diff), [diff]);\n\n useLayoutEffect(() => {\n const left = leftRef.current;\n const right = rightRef.current;\n if (left === null || right === null) {\n // With one side hidden there is nothing to pair rows against.\n if (left !== null) clearRowHeights(left);\n if (right !== null) clearRowHeights(right);\n return;\n }\n\n let frame = 0;\n const schedule = () => {\n cancelAnimationFrame(frame);\n frame = requestAnimationFrame(() => equalizeRowHeights(left, right));\n };\n schedule();\n\n const mutations = new MutationObserver(schedule);\n mutations.observe(left, { childList: true, subtree: true });\n mutations.observe(right, { childList: true, subtree: true });\n const resizes = new ResizeObserver(schedule);\n resizes.observe(left);\n resizes.observe(right);\n return () => {\n cancelAnimationFrame(frame);\n mutations.disconnect();\n resizes.disconnect();\n };\n }, [chunks, wrap, expanded, layout, panes]);\n\n useEffect(() => {\n const left = leftRef.current;\n const right = rightRef.current;\n if (left === null || right === null) return;\n\n const onLeft = () => syncScroll(left, right, scrollLock);\n const onRight = () => syncScroll(right, left, scrollLock);\n left.addEventListener('scroll', onLeft);\n right.addEventListener('scroll', onRight);\n return () => {\n left.removeEventListener('scroll', onLeft);\n right.removeEventListener('scroll', onRight);\n };\n }, [layout, panes]);\n\n if (diff.hunks.length === 0) {\n return fallbackContent === undefined ? (\n <div\n className={cn(\n 'grid size-full place-items-center text-sm text-muted-foreground',\n className,\n )}\n >\n No changes against the base ref.\n </div>\n ) : (\n <SourceViewer\n filePath={diff.path}\n content={fallbackContent}\n wrap={wrap}\n autoHeight={autoHeight}\n className={className}\n />\n );\n }\n\n const expand = (key: string) =>\n setExpanded((current) => new Set(current).add(key));\n\n return (\n <div className={cn('flex flex-col', !autoHeight && 'min-h-0', className)}>\n {phone ? (\n // The file is named above it on a phone: here only what changed.\n <header\n className={cn(\n 'flex shrink-0 items-center gap-2 border-b border-border py-0.5 ps-3 pe-1.5',\n autoHeight && 'sticky top-0 z-10 bg-background',\n )}\n >\n <span className=\"flex min-w-0 flex-1 items-center gap-2 font-mono text-[11px]\">\n <span className=\"text-green-600 dark:text-green-400\">{`+${counts.added}`}</span>\n <span className=\"text-rose-600 dark:text-rose-400\">{`-${counts.removed}`}</span>\n </span>\n <DropdownMenu>\n <DropdownMenuTrigger\n aria-label=\"Diff options\"\n className=\"flex size-9 shrink-0 items-center justify-center rounded-md text-muted-foreground outline-none hover:bg-muted hover:text-foreground\"\n >\n <Ellipsis className=\"size-4\" />\n </DropdownMenuTrigger>\n <DropdownMenuContent align=\"end\">\n <DropdownMenuCheckboxItem\n className=\"min-h-11\"\n disabled={expandAllDisabled}\n checked={allExpanded && !expandAllDisabled}\n onCheckedChange={(checked) => {\n setExpanded(new Set());\n setOptions({ expandAll: checked });\n }}\n >\n Expand all\n </DropdownMenuCheckboxItem>\n <DropdownMenuCheckboxItem\n className=\"min-h-11\"\n checked={wrap}\n onCheckedChange={setWrap}\n >\n Wrap lines\n </DropdownMenuCheckboxItem>\n </DropdownMenuContent>\n </DropdownMenu>\n </header>\n ) : (\n <header\n className={cn(\n 'flex shrink-0 items-center gap-3 border-b border-border px-3 py-2',\n autoHeight && 'sticky top-0 z-10 bg-background',\n )}\n >\n <Button\n type=\"button\"\n variant=\"outline\"\n size=\"icon-sm\"\n disabled={layout === 'unified'}\n aria-label={paneModes[panes].hint}\n title={paneModes[panes].hint}\n onClick={() => setPanes(paneModes[panes].next)}\n >\n {paneModes[panes].icon}\n </Button>\n <span className=\"min-w-0 flex-1 truncate font-mono text-xs text-muted-foreground\">\n {diff.path}\n </span>\n <span className=\"flex shrink-0 items-center gap-2 font-mono text-[11px]\">\n <span className=\"text-green-600 dark:text-green-400\">{`+${counts.added}`}</span>\n <span className=\"text-rose-600 dark:text-rose-400\">{`-${counts.removed}`}</span>\n </span>\n <label\n className={cn(\n 'flex shrink-0 items-center gap-2 text-xs font-medium text-muted-foreground',\n expandAllDisabled ? 'opacity-50' : 'cursor-pointer',\n )}\n >\n <ChevronsUpDown className=\"size-3.5\" />\n Expand all\n <Switch\n size=\"sm\"\n disabled={expandAllDisabled}\n checked={allExpanded && !expandAllDisabled}\n onCheckedChange={(checked) => {\n setExpanded(new Set());\n setOptions({ expandAll: checked });\n }}\n />\n </label>\n <label className=\"flex shrink-0 cursor-pointer items-center gap-2 text-xs font-medium text-muted-foreground\">\n <WrapText className=\"size-3.5\" />\n Wrap\n <Switch size=\"sm\" checked={wrap} onCheckedChange={setWrap} />\n </label>\n <label className=\"flex shrink-0 cursor-pointer items-center gap-2 text-xs font-medium text-muted-foreground\">\n <Rows3 className=\"size-3.5\" />\n Unified\n <Switch\n size=\"sm\"\n checked={layout === 'unified'}\n onCheckedChange={(checked) =>\n setLayout(checked ? 'unified' : 'split')\n }\n />\n </label>\n </header>\n )}\n {layout === 'unified' ? (\n <div\n className={cn(\n autoHeight\n ? 'overflow-x-auto bg-background'\n : 'min-h-0 flex-1 overflow-auto bg-background',\n scrollbarStyles,\n )}\n >\n <div className={cn('min-w-full', wrap ? 'w-full' : 'w-max')}>\n {unified.map((chunk, index) =>\n chunk.collapsible && !expanded.has(`unified-${index}`) ? (\n <CollapsedRegion\n key={index}\n count={chunk.count}\n onExpand={() => expand(`unified-${index}`)}\n />\n ) : (\n <SourceViewer\n key={index}\n filePath={diff.path}\n content={chunk.side.content}\n lineStatuses={chunk.side.lines}\n showHeader={false}\n wrap={wrap}\n autoHeight\n />\n ),\n )}\n </div>\n </div>\n ) : (\n <div\n className={cn('flex bg-background', !autoHeight && 'min-h-0 flex-1')}\n >\n {panes === 'after' ? (\n <CollapsedPane label=\"Before\" onExpand={() => setPanes('both')} />\n ) : panes === 'before' ? (\n // One side alone is the whole file, not a diff with its padding\n // stripped out.\n <WholeFile\n filePath={diff.path}\n side={beforeFile}\n wrap={wrap}\n grow={autoHeight}\n />\n ) : (\n <Pane\n paneRef={leftRef}\n filePath={diff.path}\n chunks={chunks}\n side=\"left\"\n wrap={wrap}\n expanded={expanded}\n onExpand={expand}\n grow={autoHeight}\n className=\"w-1/2 shrink-0\"\n />\n )}\n {panes === 'before' ? (\n <CollapsedPane label=\"After\" onExpand={() => setPanes('both')} />\n ) : panes === 'after' ? (\n <WholeFile\n filePath={diff.path}\n side={afterFile}\n wrap={wrap}\n grow={autoHeight}\n />\n ) : (\n <Pane\n paneRef={rightRef}\n filePath={diff.path}\n chunks={chunks}\n side=\"right\"\n wrap={wrap}\n expanded={expanded}\n onExpand={expand}\n grow={autoHeight}\n className=\"w-1/2 shrink-0 border-s border-border\"\n />\n )}\n </div>\n )}\n </div>\n );\n}\n\n// Both panes render the same sequence of chunks and separators, so their rows\n// stay paired by position no matter which side is taller.\nfunction Pane({\n paneRef,\n filePath,\n chunks,\n side,\n wrap,\n expanded,\n onExpand,\n grow,\n className,\n}: {\n readonly paneRef: Ref<HTMLDivElement>;\n readonly filePath: string;\n readonly chunks: readonly ViewChunk[];\n readonly side: 'left' | 'right';\n readonly wrap: boolean;\n readonly expanded: ReadonlySet<string>;\n readonly onExpand: (key: string) => void;\n /** Full height, scrolling only sideways. */\n readonly grow: boolean;\n readonly className?: string;\n}) {\n return (\n <div\n ref={paneRef}\n // Own the background: content shorter than the pane would otherwise let\n // the parent's colour show through below the last line.\n className={cn(\n grow\n ? 'overflow-x-auto bg-background'\n : 'h-full overflow-auto bg-background',\n scrollbarStyles,\n className,\n )}\n >\n {/* One shared width for every chunk, so no row's background stops short\n of the widest line once the pane is scrolled sideways. */}\n <div className={cn('min-w-full', wrap ? 'w-full' : 'w-max')}>\n {chunks.map((chunk, index) =>\n chunk.collapsible && !expanded.has(`split-${index}`) ? (\n <CollapsedRegion\n key={index}\n count={chunk.count}\n silent={side === 'right'}\n onExpand={() => onExpand(`split-${index}`)}\n />\n ) : (\n <SourceViewer\n key={index}\n filePath={filePath}\n content={chunk[side].content}\n lineStatuses={chunk[side].lines}\n showHeader={false}\n wrap={wrap}\n autoHeight\n />\n ),\n )}\n </div>\n </div>\n );\n}\n\nfunction WholeFile({\n filePath,\n side,\n wrap,\n grow,\n}: {\n readonly filePath: string;\n readonly side: SideContent;\n readonly wrap: boolean;\n /** Full height, scrolling only sideways. */\n readonly grow: boolean;\n}) {\n return (\n <div\n className={cn(\n 'min-w-0 flex-1 bg-background',\n grow ? 'overflow-x-auto' : 'overflow-auto',\n scrollbarStyles,\n )}\n >\n <SourceViewer\n filePath={filePath}\n content={side.content}\n lineStatuses={side.lines}\n showHeader={false}\n wrap={wrap}\n autoHeight\n />\n </div>\n );\n}\n\n// Collapsing to a labelled strip rather than hiding outright, so it stays\n// obvious which side was minimised and how to bring it back.\nfunction CollapsedRegion({\n count,\n silent = false,\n onExpand,\n}: {\n readonly count: number;\n readonly silent?: boolean;\n readonly onExpand: () => void;\n}) {\n return (\n <button\n type=\"button\"\n onClick={onExpand}\n className=\"flex h-7 w-full items-center justify-center gap-2 border-y border-border bg-muted/50 text-[11px] font-medium text-muted-foreground transition-colors hover:bg-muted\"\n >\n {!silent && <ChevronsUpDown className=\"size-3.5\" />}\n {silent ? '' : `Show ${count} unchanged lines`}\n </button>\n );\n}\n\nfunction CollapsedPane({\n label,\n onExpand,\n}: {\n readonly label: string;\n readonly onExpand: () => void;\n}) {\n return (\n <button\n type=\"button\"\n onClick={onExpand}\n title={`Show the ${label.toLowerCase()} side`}\n className=\"flex h-full w-9 shrink-0 flex-col items-center justify-center gap-2 border-s border-border bg-muted/50 py-3 text-muted-foreground transition-colors hover:bg-muted hover:text-foreground\"\n >\n <ChevronsLeftRight className=\"size-3.5 shrink-0\" />\n <span className=\"flex flex-col items-center text-[11px] font-medium leading-[1.15]\">\n {[...label].map((letter, index) => (\n <span key={`${letter}-${index}`}>{letter}</span>\n ))}\n </span>\n </button>\n );\n}\n\nfunction countChanges(diff: FileDiff): {\n readonly added: number;\n readonly removed: number;\n} {\n const lines = diff.hunks.flatMap((hunk) => hunk.lines);\n return {\n added: lines.filter(({ kind }) => kind === 'added').length,\n removed: lines.filter(({ kind }) => kind === 'removed').length,\n };\n}\n"],"mappings":"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"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { DiffRow } from "./align.js";
|
|
2
|
+
import { SourceViewerLine } from "../source-viewer/source-viewer.js";
|
|
3
|
+
import "../source-viewer/index.js";
|
|
4
|
+
import { DiffHunk } from "laymos";
|
|
5
|
+
//#region src/components/viewers/diff-viewer/render-model.d.ts
|
|
6
|
+
export interface SplitSection {
|
|
7
|
+
readonly header: string;
|
|
8
|
+
readonly left: SideContent;
|
|
9
|
+
readonly right: SideContent;
|
|
10
|
+
}
|
|
11
|
+
export interface SideContent {
|
|
12
|
+
readonly content: string;
|
|
13
|
+
readonly lines: readonly SourceViewerLine[];
|
|
14
|
+
}
|
|
15
|
+
export declare function splitSections(hunks: readonly DiffHunk[]): readonly SplitSection[];
|
|
16
|
+
export declare function splitRows(hunks: readonly DiffHunk[]): readonly DiffRow[];
|
|
17
|
+
export declare function sideOfRows(rows: readonly DiffRow[], which: 'left' | 'right'): SideContent;
|
|
18
|
+
export declare function unifiedSide(hunks: readonly DiffHunk[]): SideContent;
|
|
19
|
+
export declare function fullSide(hunks: readonly DiffHunk[], side: 'left' | 'right'): SideContent;
|
|
20
|
+
export interface UnifiedChunk {
|
|
21
|
+
readonly collapsible: boolean;
|
|
22
|
+
readonly count: number;
|
|
23
|
+
readonly side: SideContent;
|
|
24
|
+
}
|
|
25
|
+
export declare function unifiedChunks(hunks: readonly DiffHunk[]): readonly UnifiedChunk[];
|
|
26
|
+
//#endregion
|
|
27
|
+
//# sourceMappingURL=render-model.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"render-model.d.ts","names":[],"sources":["../../../../src/components/viewers/diff-viewer/render-model.ts"],"mappings":";;;;;iBAMiB;WACN;WACA,MAAM;WACN,OAAO;;iBAGD;WACN;WACA,gBAAgB;;wBAGX,cACd,gBAAgB,sBACN;wBAQI,UAAU,gBAAgB,sBAAsB;wBAIhD,WACd,eAAe,WACf,0BACC;wBAIa,YAAY,gBAAgB,aAAa;wBA6CzC,SACd,gBAAgB,YAChB,yBACC;iBAgBc;WACN;WACA;WACA,MAAM;;wBAGD,cACd,gBAAgB,sBACN"}
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
import { alignHunks, unifiedLines } from "./align.js";
|
|
2
|
+
import { collapseRuns } from "./collapse.js";
|
|
3
|
+
//#region src/components/viewers/diff-viewer/render-model.ts
|
|
4
|
+
function splitSections(hunks) {
|
|
5
|
+
return alignHunks(hunks).map(({ header, rows }) => ({
|
|
6
|
+
header,
|
|
7
|
+
left: side(rows.map(({ left }) => left)),
|
|
8
|
+
right: side(rows.map(({ right }) => right))
|
|
9
|
+
}));
|
|
10
|
+
}
|
|
11
|
+
function splitRows(hunks) {
|
|
12
|
+
return alignHunks(hunks).flatMap(({ rows }) => rows);
|
|
13
|
+
}
|
|
14
|
+
function sideOfRows(rows, which) {
|
|
15
|
+
return side(rows.map((row) => row[which]));
|
|
16
|
+
}
|
|
17
|
+
function unifiedSide(hunks) {
|
|
18
|
+
const entries = unifiedLines(hunks);
|
|
19
|
+
return {
|
|
20
|
+
content: entries.map(({ content }) => content).join("\n"),
|
|
21
|
+
lines: entries.map(unifiedLineStatus)
|
|
22
|
+
};
|
|
23
|
+
}
|
|
24
|
+
function unifiedLineStatus(entry) {
|
|
25
|
+
switch (entry.kind) {
|
|
26
|
+
case "header": return { status: "meta" };
|
|
27
|
+
case "added": return {
|
|
28
|
+
status: "add",
|
|
29
|
+
number: entry.newNumber
|
|
30
|
+
};
|
|
31
|
+
case "removed": return {
|
|
32
|
+
status: "remove",
|
|
33
|
+
number: entry.oldNumber
|
|
34
|
+
};
|
|
35
|
+
default: return {
|
|
36
|
+
status: "context",
|
|
37
|
+
number: entry.newNumber
|
|
38
|
+
};
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
function side(cells) {
|
|
42
|
+
return {
|
|
43
|
+
content: cells.map((cell) => cell.kind === "empty" ? "" : cell.line.content).join("\n"),
|
|
44
|
+
lines: cells.map((cell) => {
|
|
45
|
+
if (cell.kind === "empty") return { status: "empty" };
|
|
46
|
+
const number = cell.kind === "added" ? cell.line.newNumber : cell.line.oldNumber;
|
|
47
|
+
const status = cell.kind === "added" ? "add" : cell.kind === "removed" ? "remove" : "context";
|
|
48
|
+
return number === void 0 ? { status } : {
|
|
49
|
+
status,
|
|
50
|
+
number
|
|
51
|
+
};
|
|
52
|
+
})
|
|
53
|
+
};
|
|
54
|
+
}
|
|
55
|
+
function fullSide(hunks, side) {
|
|
56
|
+
const skipped = side === "left" ? "added" : "removed";
|
|
57
|
+
const lines = hunks.flatMap((hunk) => hunk.lines).filter(({ kind }) => kind !== skipped);
|
|
58
|
+
return {
|
|
59
|
+
content: lines.map(({ content }) => content).join("\n"),
|
|
60
|
+
lines: lines.map((line) => {
|
|
61
|
+
const number = side === "left" ? line.oldNumber : line.newNumber;
|
|
62
|
+
return number === void 0 ? { status: "context" } : {
|
|
63
|
+
status: "context",
|
|
64
|
+
number
|
|
65
|
+
};
|
|
66
|
+
})
|
|
67
|
+
};
|
|
68
|
+
}
|
|
69
|
+
function unifiedChunks(hunks) {
|
|
70
|
+
const entries = unifiedLines(hunks);
|
|
71
|
+
return collapseRuns(entries, (entry) => entry.kind === "context").map((run) => ({
|
|
72
|
+
collapsible: run.collapsible,
|
|
73
|
+
count: run.items.length,
|
|
74
|
+
side: {
|
|
75
|
+
content: run.items.map(({ content }) => content).join("\n"),
|
|
76
|
+
lines: run.items.map(unifiedLineStatus)
|
|
77
|
+
}
|
|
78
|
+
}));
|
|
79
|
+
}
|
|
80
|
+
//#endregion
|
|
81
|
+
export { fullSide, sideOfRows, splitRows, splitSections, unifiedChunks, unifiedSide };
|
|
82
|
+
|
|
83
|
+
//# sourceMappingURL=render-model.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"render-model.js","names":[],"sources":["../../../../src/components/viewers/diff-viewer/render-model.ts"],"sourcesContent":["import type { DiffHunk } from 'laymos';\nimport type { SourceViewerLine } from '../source-viewer';\n\nimport { alignHunks, unifiedLines, type DiffCell, type DiffRow } from './align';\nimport { collapseRuns } from './collapse';\n\nexport interface SplitSection {\n readonly header: string;\n readonly left: SideContent;\n readonly right: SideContent;\n}\n\nexport interface SideContent {\n readonly content: string;\n readonly lines: readonly SourceViewerLine[];\n}\n\nexport function splitSections(\n hunks: readonly DiffHunk[],\n): readonly SplitSection[] {\n return alignHunks(hunks).map(({ header, rows }) => ({\n header,\n left: side(rows.map(({ left }) => left)),\n right: side(rows.map(({ right }) => right)),\n }));\n}\n\nexport function splitRows(hunks: readonly DiffHunk[]): readonly DiffRow[] {\n return alignHunks(hunks).flatMap(({ rows }) => rows);\n}\n\nexport function sideOfRows(\n rows: readonly DiffRow[],\n which: 'left' | 'right',\n): SideContent {\n return side(rows.map((row) => row[which]));\n}\n\nexport function unifiedSide(hunks: readonly DiffHunk[]): SideContent {\n const entries = unifiedLines(hunks);\n return {\n content: entries.map(({ content }) => content).join('\\n'),\n lines: entries.map(unifiedLineStatus),\n };\n}\n\nfunction unifiedLineStatus(\n entry: ReturnType<typeof unifiedLines>[number],\n): SourceViewerLine {\n switch (entry.kind) {\n case 'header':\n return { status: 'meta' };\n case 'added':\n return { status: 'add', number: entry.newNumber };\n case 'removed':\n return { status: 'remove', number: entry.oldNumber };\n default:\n return { status: 'context', number: entry.newNumber };\n }\n}\n\nfunction side(cells: readonly DiffCell[]): SideContent {\n return {\n content: cells\n .map((cell) => (cell.kind === 'empty' ? '' : cell.line.content))\n .join('\\n'),\n lines: cells.map((cell) => {\n if (cell.kind === 'empty') return { status: 'empty' as const };\n const number =\n cell.kind === 'added' ? cell.line.newNumber : cell.line.oldNumber;\n const status =\n cell.kind === 'added'\n ? ('add' as const)\n : cell.kind === 'removed'\n ? ('remove' as const)\n : ('context' as const);\n return number === undefined ? { status } : { status, number };\n }),\n };\n}\n\n// One side on its own is just that file: every line it contains, in order,\n// numbered as it is numbered there, with no alignment padding and no marks.\nexport function fullSide(\n hunks: readonly DiffHunk[],\n side: 'left' | 'right',\n): SideContent {\n const skipped = side === 'left' ? 'added' : 'removed';\n const lines = hunks\n .flatMap((hunk) => hunk.lines)\n .filter(({ kind }) => kind !== skipped);\n return {\n content: lines.map(({ content }) => content).join('\\n'),\n lines: lines.map((line) => {\n const number = side === 'left' ? line.oldNumber : line.newNumber;\n return number === undefined\n ? { status: 'context' as const }\n : { status: 'context' as const, number };\n }),\n };\n}\n\nexport interface UnifiedChunk {\n readonly collapsible: boolean;\n readonly count: number;\n readonly side: SideContent;\n}\n\nexport function unifiedChunks(\n hunks: readonly DiffHunk[],\n): readonly UnifiedChunk[] {\n const entries = unifiedLines(hunks);\n return collapseRuns(entries, (entry) => entry.kind === 'context').map(\n (run) => ({\n collapsible: run.collapsible,\n count: run.items.length,\n side: {\n content: run.items.map(({ content }) => content).join('\\n'),\n lines: run.items.map(unifiedLineStatus),\n },\n }),\n );\n}\n"],"mappings":";;;AAiBA,SAAgB,cACd,OACyB;CACzB,OAAO,WAAW,KAAK,CAAC,CAAC,KAAK,EAAE,QAAQ,YAAY;EAClD;EACA,MAAM,KAAK,KAAK,KAAK,EAAE,WAAW,IAAI,CAAC;EACvC,OAAO,KAAK,KAAK,KAAK,EAAE,YAAY,KAAK,CAAC;CAC5C,EAAE;AACJ;AAEA,SAAgB,UAAU,OAAgD;CACxE,OAAO,WAAW,KAAK,CAAC,CAAC,SAAS,EAAE,WAAW,IAAI;AACrD;AAEA,SAAgB,WACd,MACA,OACa;CACb,OAAO,KAAK,KAAK,KAAK,QAAQ,IAAI,MAAM,CAAC;AAC3C;AAEA,SAAgB,YAAY,OAAyC;CACnE,MAAM,UAAU,aAAa,KAAK;CAClC,OAAO;EACL,SAAS,QAAQ,KAAK,EAAE,cAAc,OAAO,CAAC,CAAC,KAAK,IAAI;EACxD,OAAO,QAAQ,IAAI,iBAAiB;CACtC;AACF;AAEA,SAAS,kBACP,OACkB;CAClB,QAAQ,MAAM,MAAd;EACE,KAAK,UACH,OAAO,EAAE,QAAQ,OAAO;EAC1B,KAAK,SACH,OAAO;GAAE,QAAQ;GAAO,QAAQ,MAAM;EAAU;EAClD,KAAK,WACH,OAAO;GAAE,QAAQ;GAAU,QAAQ,MAAM;EAAU;EACrD,SACE,OAAO;GAAE,QAAQ;GAAW,QAAQ,MAAM;EAAU;CACxD;AACF;AAEA,SAAS,KAAK,OAAyC;CACrD,OAAO;EACL,SAAS,MACN,KAAK,SAAU,KAAK,SAAS,UAAU,KAAK,KAAK,KAAK,OAAQ,CAAC,CAC/D,KAAK,IAAI;EACZ,OAAO,MAAM,KAAK,SAAS;GACzB,IAAI,KAAK,SAAS,SAAS,OAAO,EAAE,QAAQ,QAAiB;GAC7D,MAAM,SACJ,KAAK,SAAS,UAAU,KAAK,KAAK,YAAY,KAAK,KAAK;GAC1D,MAAM,SACJ,KAAK,SAAS,UACT,QACD,KAAK,SAAS,YACX,WACA;GACT,OAAO,WAAW,KAAA,IAAY,EAAE,OAAO,IAAI;IAAE;IAAQ;GAAO;EAC9D,CAAC;CACH;AACF;AAIA,SAAgB,SACd,OACA,MACa;CACb,MAAM,UAAU,SAAS,SAAS,UAAU;CAC5C,MAAM,QAAQ,MACX,SAAS,SAAS,KAAK,KAAK,CAAC,CAC7B,QAAQ,EAAE,WAAW,SAAS,OAAO;CACxC,OAAO;EACL,SAAS,MAAM,KAAK,EAAE,cAAc,OAAO,CAAC,CAAC,KAAK,IAAI;EACtD,OAAO,MAAM,KAAK,SAAS;GACzB,MAAM,SAAS,SAAS,SAAS,KAAK,YAAY,KAAK;GACvD,OAAO,WAAW,KAAA,IACd,EAAE,QAAQ,UAAmB,IAC7B;IAAE,QAAQ;IAAoB;GAAO;EAC3C,CAAC;CACH;AACF;AAQA,SAAgB,cACd,OACyB;CACzB,MAAM,UAAU,aAAa,KAAK;CAClC,OAAO,aAAa,UAAU,UAAU,MAAM,SAAS,SAAS,CAAC,CAAC,KAC/D,SAAS;EACR,aAAa,IAAI;EACjB,OAAO,IAAI,MAAM;EACjB,MAAM;GACJ,SAAS,IAAI,MAAM,KAAK,EAAE,cAAc,OAAO,CAAC,CAAC,KAAK,IAAI;GAC1D,OAAO,IAAI,MAAM,IAAI,iBAAiB;EACxC;CACF,EACF;AACF"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
//#region src/components/viewers/diff-viewer/sync-rows.d.ts
|
|
2
|
+
export declare function equalizeRowHeights(left: HTMLElement, right: HTMLElement): void;
|
|
3
|
+
export declare function syncScroll(from: HTMLElement, to: HTMLElement, lock: {
|
|
4
|
+
current: boolean;
|
|
5
|
+
}): void;
|
|
6
|
+
export declare function clearRowHeights(pane: HTMLElement): void;
|
|
7
|
+
//#endregion
|
|
8
|
+
//# sourceMappingURL=sync-rows.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sync-rows.d.ts","names":[],"sources":["../../../../src/components/viewers/diff-viewer/sync-rows.ts"],"mappings":";wBAEgB,mBACd,MAAM,aACN,OAAO;wBAmBO,WACd,MAAM,aACN,IAAI,aACJ;EAAQ;;wBAUM,gBAAgB,MAAM"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
//#region src/components/viewers/diff-viewer/sync-rows.ts
|
|
2
|
+
function equalizeRowHeights(left, right) {
|
|
3
|
+
const leftLines = left.querySelectorAll(".source-line");
|
|
4
|
+
const rightLines = right.querySelectorAll(".source-line");
|
|
5
|
+
const count = Math.min(leftLines.length, rightLines.length);
|
|
6
|
+
for (let index = 0; index < count; index += 1) {
|
|
7
|
+
leftLines[index].style.minHeight = "";
|
|
8
|
+
rightLines[index].style.minHeight = "";
|
|
9
|
+
}
|
|
10
|
+
for (let index = 0; index < count; index += 1) {
|
|
11
|
+
const leftLine = leftLines[index];
|
|
12
|
+
const rightLine = rightLines[index];
|
|
13
|
+
const height = Math.max(leftLine.offsetHeight, rightLine.offsetHeight);
|
|
14
|
+
leftLine.style.minHeight = `${height}px`;
|
|
15
|
+
rightLine.style.minHeight = `${height}px`;
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
function syncScroll(from, to, lock) {
|
|
19
|
+
if (lock.current) {
|
|
20
|
+
lock.current = false;
|
|
21
|
+
return;
|
|
22
|
+
}
|
|
23
|
+
lock.current = true;
|
|
24
|
+
to.scrollTop = from.scrollTop;
|
|
25
|
+
}
|
|
26
|
+
function clearRowHeights(pane) {
|
|
27
|
+
for (const line of pane.querySelectorAll(".source-line")) line.style.minHeight = "";
|
|
28
|
+
}
|
|
29
|
+
//#endregion
|
|
30
|
+
export { clearRowHeights, equalizeRowHeights, syncScroll };
|
|
31
|
+
|
|
32
|
+
//# sourceMappingURL=sync-rows.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sync-rows.js","names":[],"sources":["../../../../src/components/viewers/diff-viewer/sync-rows.ts"],"sourcesContent":["// Both panes scroll independently, so their rows must be kept level by hand:\n// a wrapped line on one side is taller than its partner on the other.\nexport function equalizeRowHeights(\n left: HTMLElement,\n right: HTMLElement,\n): void {\n const leftLines = left.querySelectorAll<HTMLElement>('.source-line');\n const rightLines = right.querySelectorAll<HTMLElement>('.source-line');\n const count = Math.min(leftLines.length, rightLines.length);\n\n for (let index = 0; index < count; index += 1) {\n (leftLines[index] as HTMLElement).style.minHeight = '';\n (rightLines[index] as HTMLElement).style.minHeight = '';\n }\n for (let index = 0; index < count; index += 1) {\n const leftLine = leftLines[index] as HTMLElement;\n const rightLine = rightLines[index] as HTMLElement;\n const height = Math.max(leftLine.offsetHeight, rightLine.offsetHeight);\n leftLine.style.minHeight = `${height}px`;\n rightLine.style.minHeight = `${height}px`;\n }\n}\n\nexport function syncScroll(\n from: HTMLElement,\n to: HTMLElement,\n lock: { current: boolean },\n): void {\n if (lock.current) {\n lock.current = false;\n return;\n }\n lock.current = true;\n to.scrollTop = from.scrollTop;\n}\n\nexport function clearRowHeights(pane: HTMLElement): void {\n for (const line of pane.querySelectorAll<HTMLElement>('.source-line')) {\n line.style.minHeight = '';\n }\n}\n"],"mappings":";AAEA,SAAgB,mBACd,MACA,OACM;CACN,MAAM,YAAY,KAAK,iBAA8B,cAAc;CACnE,MAAM,aAAa,MAAM,iBAA8B,cAAc;CACrE,MAAM,QAAQ,KAAK,IAAI,UAAU,QAAQ,WAAW,MAAM;CAE1D,KAAK,IAAI,QAAQ,GAAG,QAAQ,OAAO,SAAS,GAAG;EAC7C,UAAW,MAAM,CAAiB,MAAM,YAAY;EACpD,WAAY,MAAM,CAAiB,MAAM,YAAY;CACvD;CACA,KAAK,IAAI,QAAQ,GAAG,QAAQ,OAAO,SAAS,GAAG;EAC7C,MAAM,WAAW,UAAU;EAC3B,MAAM,YAAY,WAAW;EAC7B,MAAM,SAAS,KAAK,IAAI,SAAS,cAAc,UAAU,YAAY;EACrE,SAAS,MAAM,YAAY,GAAG,OAAO;EACrC,UAAU,MAAM,YAAY,GAAG,OAAO;CACxC;AACF;AAEA,SAAgB,WACd,MACA,IACA,MACM;CACN,IAAI,KAAK,SAAS;EAChB,KAAK,UAAU;EACf;CACF;CACA,KAAK,UAAU;CACf,GAAG,YAAY,KAAK;AACtB;AAEA,SAAgB,gBAAgB,MAAyB;CACvD,KAAK,MAAM,QAAQ,KAAK,iBAA8B,cAAc,GAClE,KAAK,MAAM,YAAY;AAE3B"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
//#region src/components/viewers/file-tree/expand.d.ts
|
|
2
|
+
export declare function expandAll(files: string[]): string[];
|
|
3
|
+
export declare function expandToDepth(files: string[], depth: number): string[];
|
|
4
|
+
export declare function expandTo(files: string[], path: string): string[];
|
|
5
|
+
export declare function toggleSubtree(files: string[], expanded: string[], path: string): string[];
|
|
6
|
+
//#endregion
|
|
7
|
+
//# sourceMappingURL=expand.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"expand.d.ts","names":[],"sources":["../../../../src/components/viewers/file-tree/expand.ts"],"mappings":";wBAWgB,UAAU;wBAIV,cAAc,iBAAiB;wBAM/B,SAAS,iBAAiB;wBAW1B,cACd,iBACA,oBACA"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
//#region src/components/viewers/file-tree/expand.ts
|
|
2
|
+
function folderPaths(files) {
|
|
3
|
+
const folders = /* @__PURE__ */ new Set();
|
|
4
|
+
for (const file of files) {
|
|
5
|
+
const segments = file.split("/");
|
|
6
|
+
for (let i = 1; i < segments.length; i++) folders.add(segments.slice(0, i).join("/"));
|
|
7
|
+
}
|
|
8
|
+
return [...folders];
|
|
9
|
+
}
|
|
10
|
+
function expandAll(files) {
|
|
11
|
+
return folderPaths(files);
|
|
12
|
+
}
|
|
13
|
+
function expandToDepth(files, depth) {
|
|
14
|
+
return folderPaths(files).filter((folder) => folder.split("/").length <= depth);
|
|
15
|
+
}
|
|
16
|
+
function expandTo(files, path) {
|
|
17
|
+
const folders = new Set(folderPaths(files));
|
|
18
|
+
const segments = path.split("/");
|
|
19
|
+
const result = [];
|
|
20
|
+
for (let i = 1; i <= segments.length; i++) {
|
|
21
|
+
const prefix = segments.slice(0, i).join("/");
|
|
22
|
+
if (folders.has(prefix)) result.push(prefix);
|
|
23
|
+
}
|
|
24
|
+
return result;
|
|
25
|
+
}
|
|
26
|
+
function toggleSubtree(files, expanded, path) {
|
|
27
|
+
const prefix = `${path}/`;
|
|
28
|
+
const outsideDescendants = expanded.filter((folder) => !folder.startsWith(prefix));
|
|
29
|
+
const descendants = folderPaths(files).filter((folder) => folder.startsWith(prefix));
|
|
30
|
+
if (descendants.length === 0) return expanded.includes(path) ? outsideDescendants.filter((folder) => folder !== path) : [...outsideDescendants, path];
|
|
31
|
+
if (!expanded.includes(path)) return [...outsideDescendants, path];
|
|
32
|
+
return descendants.every((folder) => expanded.includes(folder)) ? outsideDescendants : [.../* @__PURE__ */ new Set([...outsideDescendants, ...descendants])];
|
|
33
|
+
}
|
|
34
|
+
//#endregion
|
|
35
|
+
export { expandAll, expandTo, expandToDepth, toggleSubtree };
|
|
36
|
+
|
|
37
|
+
//# sourceMappingURL=expand.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"expand.js","names":[],"sources":["../../../../src/components/viewers/file-tree/expand.ts"],"sourcesContent":["function folderPaths(files: string[]): string[] {\n const folders = new Set<string>();\n for (const file of files) {\n const segments = file.split('/');\n for (let i = 1; i < segments.length; i++) {\n folders.add(segments.slice(0, i).join('/'));\n }\n }\n return [...folders];\n}\n\nexport function expandAll(files: string[]): string[] {\n return folderPaths(files);\n}\n\nexport function expandToDepth(files: string[], depth: number): string[] {\n return folderPaths(files).filter(\n (folder) => folder.split('/').length <= depth,\n );\n}\n\nexport function expandTo(files: string[], path: string): string[] {\n const folders = new Set(folderPaths(files));\n const segments = path.split('/');\n const result: string[] = [];\n for (let i = 1; i <= segments.length; i++) {\n const prefix = segments.slice(0, i).join('/');\n if (folders.has(prefix)) result.push(prefix);\n }\n return result;\n}\n\nexport function toggleSubtree(\n files: string[],\n expanded: string[],\n path: string,\n): string[] {\n const prefix = `${path}/`;\n const outsideDescendants = expanded.filter(\n (folder) => !folder.startsWith(prefix),\n );\n const descendants = folderPaths(files).filter((folder) =>\n folder.startsWith(prefix),\n );\n if (descendants.length === 0) {\n return expanded.includes(path)\n ? outsideDescendants.filter((folder) => folder !== path)\n : [...outsideDescendants, path];\n }\n if (!expanded.includes(path)) return [...outsideDescendants, path];\n\n const isDeepExpanded = descendants.every((folder) =>\n expanded.includes(folder),\n );\n return isDeepExpanded\n ? outsideDescendants\n : [...new Set([...outsideDescendants, ...descendants])];\n}\n"],"mappings":";AAAA,SAAS,YAAY,OAA2B;CAC9C,MAAM,0BAAU,IAAI,IAAY;CAChC,KAAK,MAAM,QAAQ,OAAO;EACxB,MAAM,WAAW,KAAK,MAAM,GAAG;EAC/B,KAAK,IAAI,IAAI,GAAG,IAAI,SAAS,QAAQ,KACnC,QAAQ,IAAI,SAAS,MAAM,GAAG,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC;CAE9C;CACA,OAAO,CAAC,GAAG,OAAO;AACpB;AAEA,SAAgB,UAAU,OAA2B;CACnD,OAAO,YAAY,KAAK;AAC1B;AAEA,SAAgB,cAAc,OAAiB,OAAyB;CACtE,OAAO,YAAY,KAAK,CAAC,CAAC,QACvB,WAAW,OAAO,MAAM,GAAG,CAAC,CAAC,UAAU,KAC1C;AACF;AAEA,SAAgB,SAAS,OAAiB,MAAwB;CAChE,MAAM,UAAU,IAAI,IAAI,YAAY,KAAK,CAAC;CAC1C,MAAM,WAAW,KAAK,MAAM,GAAG;CAC/B,MAAM,SAAmB,CAAC;CAC1B,KAAK,IAAI,IAAI,GAAG,KAAK,SAAS,QAAQ,KAAK;EACzC,MAAM,SAAS,SAAS,MAAM,GAAG,CAAC,CAAC,CAAC,KAAK,GAAG;EAC5C,IAAI,QAAQ,IAAI,MAAM,GAAG,OAAO,KAAK,MAAM;CAC7C;CACA,OAAO;AACT;AAEA,SAAgB,cACd,OACA,UACA,MACU;CACV,MAAM,SAAS,GAAG,KAAK;CACvB,MAAM,qBAAqB,SAAS,QACjC,WAAW,CAAC,OAAO,WAAW,MAAM,CACvC;CACA,MAAM,cAAc,YAAY,KAAK,CAAC,CAAC,QAAQ,WAC7C,OAAO,WAAW,MAAM,CAC1B;CACA,IAAI,YAAY,WAAW,GACzB,OAAO,SAAS,SAAS,IAAI,IACzB,mBAAmB,QAAQ,WAAW,WAAW,IAAI,IACrD,CAAC,GAAG,oBAAoB,IAAI;CAElC,IAAI,CAAC,SAAS,SAAS,IAAI,GAAG,OAAO,CAAC,GAAG,oBAAoB,IAAI;CAKjE,OAHuB,YAAY,OAAO,WACxC,SAAS,SAAS,MAAM,CAEN,IAChB,qBACA,CAAC,mBAAG,IAAI,IAAI,CAAC,GAAG,oBAAoB,GAAG,WAAW,CAAC,CAAC;AAC1D"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { ReactNode } from "react";
|
|
2
|
+
//#region src/components/viewers/file-tree/file-tree.d.ts
|
|
3
|
+
type FileTreeProps = {
|
|
4
|
+
files: string[];
|
|
5
|
+
expanded: string[];
|
|
6
|
+
onExpandedChange: (expanded: string[]) => void;
|
|
7
|
+
highlightedPaths?: string[];
|
|
8
|
+
dimmedPaths?: string[];
|
|
9
|
+
/** Dim every row that is neither highlighted nor an ancestor of a highlight. */
|
|
10
|
+
dimOthers?: boolean;
|
|
11
|
+
onPathClick?: (path: string) => void;
|
|
12
|
+
renderSuffix?: (path: string) => ReactNode;
|
|
13
|
+
classNameForPath?: (path: string) => string | undefined;
|
|
14
|
+
/** Accent for the leading icon only — a second signal independent of row text. */
|
|
15
|
+
iconClassNameForPath?: (path: string) => string | undefined;
|
|
16
|
+
className?: string;
|
|
17
|
+
};
|
|
18
|
+
export declare function FileTree({ files, expanded, onExpandedChange, highlightedPaths, dimmedPaths, dimOthers, onPathClick, renderSuffix, classNameForPath, iconClassNameForPath, className }: FileTreeProps): import("react").JSX.Element;
|
|
19
|
+
//#endregion
|
|
20
|
+
//# sourceMappingURL=file-tree.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"file-tree.d.ts","names":[],"sources":["../../../../src/components/viewers/file-tree/file-tree.tsx"],"mappings":";;KAkBK;EACH;EACA;EACA,mBAAmB;EACnB;EACA;;EAEA;EACA,eAAe;EACf,gBAAgB,iBAAiB;EACjC,oBAAoB;;EAEpB,wBAAwB;EACxB;;wBAyDc,WACd,OACA,UACA,kBACA,kBACA,aACA,WACA,aACA,cACA,kBACA,sBACA,aACC,gCAAa,IAAA"}
|
|
@@ -0,0 +1,116 @@
|
|
|
1
|
+
import { cn } from "../../lib/utils.js";
|
|
2
|
+
import { toggleSubtree } from "./expand.js";
|
|
3
|
+
import { useMemo } from "react";
|
|
4
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
5
|
+
import { FileIcon, FolderIcon, FolderMinusIcon, FolderOpenIcon } from "lucide-react";
|
|
6
|
+
//#region src/components/viewers/file-tree/file-tree.tsx
|
|
7
|
+
const collator = new Intl.Collator("en", {
|
|
8
|
+
numeric: true,
|
|
9
|
+
sensitivity: "base"
|
|
10
|
+
});
|
|
11
|
+
function buildTree(files) {
|
|
12
|
+
const root = {
|
|
13
|
+
path: "",
|
|
14
|
+
name: "",
|
|
15
|
+
children: []
|
|
16
|
+
};
|
|
17
|
+
const byPath = /* @__PURE__ */ new Map([["", root]]);
|
|
18
|
+
for (const file of files) {
|
|
19
|
+
const isExplicitFolder = file.endsWith("/");
|
|
20
|
+
const segments = (isExplicitFolder ? file.slice(0, -1) : file).split("/");
|
|
21
|
+
let parent = root;
|
|
22
|
+
for (let i = 0; i < segments.length; i++) {
|
|
23
|
+
const path = segments.slice(0, i + 1).join("/");
|
|
24
|
+
let node = byPath.get(path);
|
|
25
|
+
if (!node) {
|
|
26
|
+
node = {
|
|
27
|
+
path,
|
|
28
|
+
name: segments[i],
|
|
29
|
+
children: i < segments.length - 1 || isExplicitFolder ? [] : null
|
|
30
|
+
};
|
|
31
|
+
byPath.set(path, node);
|
|
32
|
+
parent.children.push(node);
|
|
33
|
+
}
|
|
34
|
+
if (node.children) parent = node;
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
sortTree(root.children);
|
|
38
|
+
return root.children;
|
|
39
|
+
}
|
|
40
|
+
function sortTree(nodes) {
|
|
41
|
+
nodes.sort((a, b) => {
|
|
42
|
+
if (a.children !== null !== (b.children !== null)) return a.children !== null ? -1 : 1;
|
|
43
|
+
return collator.compare(a.name, b.name);
|
|
44
|
+
});
|
|
45
|
+
for (const node of nodes) if (node.children) sortTree(node.children);
|
|
46
|
+
}
|
|
47
|
+
function longestPrefixLength(path, prefixes) {
|
|
48
|
+
let best = -1;
|
|
49
|
+
for (const prefix of prefixes) if (path === prefix || path.startsWith(`${prefix}/`)) best = Math.max(best, prefix.length);
|
|
50
|
+
return best;
|
|
51
|
+
}
|
|
52
|
+
function FileTree({ files, expanded, onExpandedChange, highlightedPaths = [], dimmedPaths = [], dimOthers = false, onPathClick, renderSuffix, classNameForPath, iconClassNameForPath, className }) {
|
|
53
|
+
const roots = useMemo(() => buildTree(files), [files]);
|
|
54
|
+
const expandedSet = useMemo(() => new Set(expanded), [expanded]);
|
|
55
|
+
const emphasisFor = (path) => {
|
|
56
|
+
const highlight = longestPrefixLength(path, highlightedPaths);
|
|
57
|
+
const dim = longestPrefixLength(path, dimmedPaths);
|
|
58
|
+
if (highlight >= 0 || dim >= 0) return highlight >= dim ? "highlighted" : "dimmed";
|
|
59
|
+
if (!dimOthers) return null;
|
|
60
|
+
return highlightedPaths.some((prefix) => prefix.startsWith(`${path}/`)) ? null : "dimmed";
|
|
61
|
+
};
|
|
62
|
+
const toggle = (path) => {
|
|
63
|
+
onExpandedChange(expandedSet.has(path) ? expanded.filter((item) => item !== path) : [...expanded, path]);
|
|
64
|
+
};
|
|
65
|
+
const renderNode = (node, depth) => {
|
|
66
|
+
const isFolder = node.children !== null;
|
|
67
|
+
const isEmptyFolder = isFolder && node.children.length === 0;
|
|
68
|
+
const isExpanded = isFolder && !isEmptyFolder && expandedSet.has(node.path);
|
|
69
|
+
const emphasis = emphasisFor(node.path);
|
|
70
|
+
const Icon = isEmptyFolder ? FolderMinusIcon : isFolder ? isExpanded ? FolderOpenIcon : FolderIcon : FileIcon;
|
|
71
|
+
return /* @__PURE__ */ jsxs("div", { children: [/* @__PURE__ */ jsxs("button", {
|
|
72
|
+
type: "button",
|
|
73
|
+
disabled: isEmptyFolder,
|
|
74
|
+
"data-path": node.path,
|
|
75
|
+
"aria-expanded": isFolder && !isEmptyFolder ? isExpanded : void 0,
|
|
76
|
+
style: { paddingInlineStart: `${depth * 1 + .25}rem` },
|
|
77
|
+
onClick: () => {
|
|
78
|
+
if (isFolder) toggle(node.path);
|
|
79
|
+
onPathClick?.(node.path);
|
|
80
|
+
},
|
|
81
|
+
onContextMenu: (event) => {
|
|
82
|
+
if (!isFolder || isEmptyFolder) return;
|
|
83
|
+
event.preventDefault();
|
|
84
|
+
onExpandedChange(toggleSubtree(files, expanded, node.path));
|
|
85
|
+
},
|
|
86
|
+
className: cn("flex w-full min-w-0 select-none items-center gap-1.5 rounded-md py-0.5 pe-1 text-sm", isEmptyFolder ? "cursor-default text-muted-foreground" : "cursor-pointer hover:bg-accent/50", emphasis === "highlighted" && "bg-primary/10 text-primary", emphasis === "dimmed" && "opacity-40", classNameForPath?.(node.path)),
|
|
87
|
+
children: [
|
|
88
|
+
/* @__PURE__ */ jsx(Icon, { className: cn("size-4 shrink-0", iconClassNameForPath?.(node.path)) }),
|
|
89
|
+
/* @__PURE__ */ jsx("span", {
|
|
90
|
+
title: node.name,
|
|
91
|
+
className: "min-w-0 truncate",
|
|
92
|
+
children: node.name
|
|
93
|
+
}),
|
|
94
|
+
renderSuffix ? /* @__PURE__ */ jsx("span", {
|
|
95
|
+
className: "ms-auto flex shrink-0 items-center",
|
|
96
|
+
children: renderSuffix(node.path)
|
|
97
|
+
}) : null
|
|
98
|
+
]
|
|
99
|
+
}), isExpanded ? /* @__PURE__ */ jsxs("div", {
|
|
100
|
+
className: "relative",
|
|
101
|
+
children: [/* @__PURE__ */ jsx("span", {
|
|
102
|
+
"aria-hidden": true,
|
|
103
|
+
className: "absolute inset-y-0 w-px bg-border",
|
|
104
|
+
style: { insetInlineStart: `${depth + .7}rem` }
|
|
105
|
+
}), node.children.map((child) => renderNode(child, depth + 1))]
|
|
106
|
+
}) : null] }, node.path);
|
|
107
|
+
};
|
|
108
|
+
return /* @__PURE__ */ jsx("div", {
|
|
109
|
+
className: cn("flex flex-col gap-px", className),
|
|
110
|
+
children: roots.map((node) => renderNode(node, 0))
|
|
111
|
+
});
|
|
112
|
+
}
|
|
113
|
+
//#endregion
|
|
114
|
+
export { FileTree };
|
|
115
|
+
|
|
116
|
+
//# sourceMappingURL=file-tree.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"file-tree.js","names":[],"sources":["../../../../src/components/viewers/file-tree/file-tree.tsx"],"sourcesContent":["import {\n FileIcon,\n FolderIcon,\n FolderMinusIcon,\n FolderOpenIcon,\n} from 'lucide-react';\nimport { useMemo, type ReactNode } from 'react';\nimport { cn } from '#lib/utils';\nimport { toggleSubtree } from './expand';\n\ntype TreeNode = {\n path: string;\n name: string;\n children: TreeNode[] | null;\n};\n\ntype Emphasis = 'highlighted' | 'dimmed' | null;\n\ntype FileTreeProps = {\n files: string[];\n expanded: string[];\n onExpandedChange: (expanded: string[]) => void;\n highlightedPaths?: string[];\n dimmedPaths?: string[];\n /** Dim every row that is neither highlighted nor an ancestor of a highlight. */\n dimOthers?: boolean;\n onPathClick?: (path: string) => void;\n renderSuffix?: (path: string) => ReactNode;\n classNameForPath?: (path: string) => string | undefined;\n /** Accent for the leading icon only — a second signal independent of row text. */\n iconClassNameForPath?: (path: string) => string | undefined;\n className?: string;\n};\n\nconst collator = new Intl.Collator('en', {\n numeric: true,\n sensitivity: 'base',\n});\n\nfunction buildTree(files: string[]): TreeNode[] {\n const root: TreeNode = { path: '', name: '', children: [] };\n const byPath = new Map<string, TreeNode>([['', root]]);\n for (const file of files) {\n // A trailing slash declares an explicit (possibly empty) folder.\n const isExplicitFolder = file.endsWith('/');\n const segments = (isExplicitFolder ? file.slice(0, -1) : file).split('/');\n let parent = root;\n for (let i = 0; i < segments.length; i++) {\n const path = segments.slice(0, i + 1).join('/');\n let node = byPath.get(path);\n if (!node) {\n node = {\n path,\n name: segments[i]!,\n children: i < segments.length - 1 || isExplicitFolder ? [] : null,\n };\n byPath.set(path, node);\n parent.children!.push(node);\n }\n if (node.children) parent = node;\n }\n }\n sortTree(root.children!);\n return root.children!;\n}\n\nfunction sortTree(nodes: TreeNode[]) {\n nodes.sort((a, b) => {\n if ((a.children !== null) !== (b.children !== null)) {\n return a.children !== null ? -1 : 1;\n }\n return collator.compare(a.name, b.name);\n });\n for (const node of nodes) {\n if (node.children) sortTree(node.children);\n }\n}\n\nfunction longestPrefixLength(path: string, prefixes: string[]): number {\n let best = -1;\n for (const prefix of prefixes) {\n if (path === prefix || path.startsWith(`${prefix}/`)) {\n best = Math.max(best, prefix.length);\n }\n }\n return best;\n}\n\nexport function FileTree({\n files,\n expanded,\n onExpandedChange,\n highlightedPaths = [],\n dimmedPaths = [],\n dimOthers = false,\n onPathClick,\n renderSuffix,\n classNameForPath,\n iconClassNameForPath,\n className,\n}: FileTreeProps) {\n const roots = useMemo(() => buildTree(files), [files]);\n const expandedSet = useMemo(() => new Set(expanded), [expanded]);\n\n // Longest matching prefix wins; on a tie, highlight beats dim.\n const emphasisFor = (path: string): Emphasis => {\n const highlight = longestPrefixLength(path, highlightedPaths);\n const dim = longestPrefixLength(path, dimmedPaths);\n if (highlight >= 0 || dim >= 0) {\n return highlight >= dim ? 'highlighted' : 'dimmed';\n }\n if (!dimOthers) return null;\n const isAncestorOfHighlight = highlightedPaths.some((prefix) =>\n prefix.startsWith(`${path}/`),\n );\n return isAncestorOfHighlight ? null : 'dimmed';\n };\n\n const toggle = (path: string) => {\n onExpandedChange(\n expandedSet.has(path)\n ? expanded.filter((item) => item !== path)\n : [...expanded, path],\n );\n };\n\n const renderNode = (node: TreeNode, depth: number): ReactNode => {\n const isFolder = node.children !== null;\n const isEmptyFolder = isFolder && node.children!.length === 0;\n const isExpanded = isFolder && !isEmptyFolder && expandedSet.has(node.path);\n const emphasis = emphasisFor(node.path);\n const Icon = isEmptyFolder\n ? FolderMinusIcon\n : isFolder\n ? isExpanded\n ? FolderOpenIcon\n : FolderIcon\n : FileIcon;\n\n return (\n <div key={node.path}>\n <button\n type=\"button\"\n disabled={isEmptyFolder}\n // Lets a caller find a row by its path, to bring it into view.\n data-path={node.path}\n aria-expanded={isFolder && !isEmptyFolder ? isExpanded : undefined}\n style={{ paddingInlineStart: `${depth * 1 + 0.25}rem` }}\n onClick={() => {\n if (isFolder) toggle(node.path);\n onPathClick?.(node.path);\n }}\n onContextMenu={(event) => {\n if (!isFolder || isEmptyFolder) return;\n event.preventDefault();\n onExpandedChange(toggleSubtree(files, expanded, node.path));\n }}\n className={cn(\n 'flex w-full min-w-0 select-none items-center gap-1.5 rounded-md py-0.5 pe-1 text-sm',\n isEmptyFolder\n ? 'cursor-default text-muted-foreground'\n : 'cursor-pointer hover:bg-accent/50',\n emphasis === 'highlighted' && 'bg-primary/10 text-primary',\n emphasis === 'dimmed' && 'opacity-40',\n classNameForPath?.(node.path),\n )}\n >\n <Icon\n className={cn('size-4 shrink-0', iconClassNameForPath?.(node.path))}\n />\n <span title={node.name} className=\"min-w-0 truncate\">\n {node.name}\n </span>\n {renderSuffix ? (\n <span className=\"ms-auto flex shrink-0 items-center\">\n {renderSuffix(node.path)}\n </span>\n ) : null}\n </button>\n {isExpanded ? (\n <div className=\"relative\">\n <span\n aria-hidden\n className=\"absolute inset-y-0 w-px bg-border\"\n style={{ insetInlineStart: `${depth + 0.7}rem` }}\n />\n {node.children!.map((child) => renderNode(child, depth + 1))}\n </div>\n ) : null}\n </div>\n );\n };\n\n return (\n <div className={cn('flex flex-col gap-px', className)}>\n {roots.map((node) => renderNode(node, 0))}\n </div>\n );\n}\n"],"mappings":"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"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import { Branch, ChangeStatus } from "laymos";
|
|
2
|
+
//#region src/components/viewers/git-changes/git-changes.d.ts
|
|
3
|
+
export interface GitOptions {
|
|
4
|
+
readonly showChanges: boolean;
|
|
5
|
+
readonly includeUnchanged: boolean;
|
|
6
|
+
readonly includeDeleted: boolean;
|
|
7
|
+
}
|
|
8
|
+
export declare const defaultGitOptions: GitOptions;
|
|
9
|
+
export declare const uncommittedBaseRef = "HEAD";
|
|
10
|
+
export declare function changeSurfaceClass(status: ChangeStatus | undefined): string;
|
|
11
|
+
export declare function ChangeBadge({ status, label, className }: {
|
|
12
|
+
readonly status: ChangeStatus;
|
|
13
|
+
readonly label?: string;
|
|
14
|
+
readonly className?: string;
|
|
15
|
+
}): import("react").JSX.Element;
|
|
16
|
+
/**
|
|
17
|
+
* Derives each owner's standing in a Change set from the files it owns: added
|
|
18
|
+
* when every owned file is added, modified when any is added or modified.
|
|
19
|
+
* Owners with no changed file are absent.
|
|
20
|
+
*/
|
|
21
|
+
export declare function rollUpChanges(membership: ReadonlyMap<string, string>, files: ReadonlyMap<string, ChangeStatus>): ReadonlyMap<string, ChangeStatus>;
|
|
22
|
+
export declare function changedPathsUnder(files: ReadonlyMap<string, ChangeStatus>, prefixes: string | readonly string[]): ReadonlyMap<string, ChangeStatus>;
|
|
23
|
+
/**
|
|
24
|
+
* The git comparison menu every Tool shows: whether changes are drawn,
|
|
25
|
+
* whether unchanged owners stay visible, and which Base ref they are measured
|
|
26
|
+
* against. `ownerLabel` names what the Tool marks, such as "modules".
|
|
27
|
+
*/
|
|
28
|
+
export declare function ChangesMenu({ options, baseRef, branches, hasChanges, ownerLabel, offerDeleted, onOptionsChange, onBaseRefChange }: {
|
|
29
|
+
readonly options: GitOptions;
|
|
30
|
+
readonly baseRef: string;
|
|
31
|
+
readonly branches: readonly Branch[];
|
|
32
|
+
readonly hasChanges: boolean;
|
|
33
|
+
readonly ownerLabel: string;
|
|
34
|
+
/** Offer Include deleted, for a caller that shows deleted owners. */
|
|
35
|
+
readonly offerDeleted?: boolean;
|
|
36
|
+
readonly onOptionsChange: (options: GitOptions) => void;
|
|
37
|
+
readonly onBaseRefChange?: (baseRef: string) => void;
|
|
38
|
+
}): import("react").JSX.Element;
|
|
39
|
+
//#endregion
|
|
40
|
+
//# sourceMappingURL=git-changes.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"git-changes.d.ts","names":[],"sources":["../../../../src/components/viewers/git-changes/git-changes.tsx"],"mappings":";;iBAkBiB;WAEN;WACA;WAGA;;qBAGE,mBAAmB;qBASnB;wBAcG,mBAAmB,QAAQ;wBAa3B,cACd,QACA,OACA;WAES,QAAQ;WACR;WACA;oBACV,IAAA;;;;;;wBAwBe,cACd,YAAY,6BACZ,OAAO,oBAAoB,gBAC1B,oBAAoB;wBAuBP,kBACd,OAAO,oBAAoB,eAC3B,uCACC,oBAAoB;;;;;;wBAkBP,cACd,SACA,SACA,UACA,YACA,YACA,cACA,iBACA;WAES,SAAS;WACT;WACA,mBAAmB;WACnB;WACA;;WAEA;WACA,kBAAkB,SAAS;WAC3B,mBAAmB;oBAC7B,IAAA"}
|