eddev 2.2.6 → 2.2.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (188) hide show
  1. package/dist/app/lib/blocks/ContentBlocks.d.ts +1 -0
  2. package/dist/app/lib/blocks/ContentBlocks.d.ts.map +1 -1
  3. package/dist/app/lib/blocks/ContentBlocks.js +5 -0
  4. package/dist/app/lib/blocks/block-debugger.d.ts +1 -0
  5. package/dist/app/lib/blocks/block-debugger.d.ts.map +1 -1
  6. package/dist/app/lib/devtools/components/panels/AppDataPanel.d.ts +1 -0
  7. package/dist/app/lib/devtools/components/panels/AppDataPanel.d.ts.map +1 -1
  8. package/dist/app/lib/devtools/components/panels/AppDataPanel.js +4 -1
  9. package/dist/app/lib/devtools/components/panels/QueriesPanel.js +1 -1
  10. package/dist/app/lib/devtools/components/panels/RoutePanel.d.ts +4 -0
  11. package/dist/app/lib/devtools/components/panels/RoutePanel.d.ts.map +1 -1
  12. package/dist/app/lib/devtools/components/panels/RoutePanel.js +6 -1
  13. package/dist/app/lib/devtools/components/panels/StructurePanel.d.ts.map +1 -1
  14. package/dist/app/lib/devtools/components/panels/StructurePanel.js +25 -6
  15. package/dist/app/lib/devtools/components/ui/Expander.js +1 -1
  16. package/dist/app/lib/devtools/components/ui/Panel.d.ts +7 -0
  17. package/dist/app/lib/devtools/components/ui/Panel.d.ts.map +1 -1
  18. package/dist/app/lib/devtools/components/ui/Panel.js +73 -2
  19. package/dist/app/lib/hooks/query-hooks.d.ts +5 -4
  20. package/dist/app/lib/hooks/query-hooks.d.ts.map +1 -1
  21. package/dist/app/lib/hooks/query-hooks.js +1 -2
  22. package/dist/node/cli/display/CLIApp.d.ts.map +1 -1
  23. package/dist/node/cli/display/CLIApp.js +0 -1
  24. package/dist/node/utils/stateful-log.d.ts +1 -0
  25. package/dist/node/utils/stateful-log.d.ts.map +1 -1
  26. package/dist/node/utils/stateful-log.js +102 -6
  27. package/package.json +3 -2
  28. package/dist/app/entry/MetaTags.d.ts +0 -8
  29. package/dist/app/entry/MetaTags.d.ts.map +0 -1
  30. package/dist/app/entry/MetaTags.js +0 -32
  31. package/dist/app/entry/boot-admin.d.ts +0 -2
  32. package/dist/app/entry/boot-admin.d.ts.map +0 -1
  33. package/dist/app/entry/boot-admin.js +0 -12
  34. package/dist/app/entry/hydration-script.d.ts +0 -2
  35. package/dist/app/entry/hydration-script.d.ts.map +0 -1
  36. package/dist/app/entry/hydration-script.js +0 -18
  37. package/dist/app/entry/spa-root.d.ts +0 -2
  38. package/dist/app/entry/spa-root.d.ts.map +0 -1
  39. package/dist/app/entry/spa-root.js +0 -7
  40. package/dist/app/entry/ssr-root-client.d.ts +0 -7
  41. package/dist/app/entry/ssr-root-client.d.ts.map +0 -1
  42. package/dist/app/entry/ssr-root-client.js +0 -21
  43. package/dist/app/entry/ssr-root.d.ts +0 -11
  44. package/dist/app/entry/ssr-root.d.ts.map +0 -1
  45. package/dist/app/entry/ssr-root.js +0 -22
  46. package/dist/app/lib/admin/installFieldTypes.d.ts +0 -2
  47. package/dist/app/lib/admin/installFieldTypes.d.ts.map +0 -1
  48. package/dist/app/lib/admin/installFieldTypes.js +0 -94
  49. package/dist/app/lib/admin/runWidgets.d.ts +0 -2
  50. package/dist/app/lib/admin/runWidgets.d.ts.map +0 -1
  51. package/dist/app/lib/admin/runWidgets.js +0 -43
  52. package/dist/app/lib/blocks/editor/EditingContext.d.ts +0 -2
  53. package/dist/app/lib/blocks/editor/EditingContext.d.ts.map +0 -1
  54. package/dist/app/lib/blocks/editor/EditingContext.js +0 -31
  55. package/dist/app/lib/devtools/components/DevMenu.d.ts +0 -2
  56. package/dist/app/lib/devtools/components/DevMenu.d.ts.map +0 -1
  57. package/dist/app/lib/devtools/components/DevUI.d.ts +0 -16
  58. package/dist/app/lib/devtools/components/DevUI.d.ts.map +0 -1
  59. package/dist/app/lib/devtools/components/DevUI.js +0 -34
  60. package/dist/app/lib/devtools/components/GridIndicator.d.ts +0 -2
  61. package/dist/app/lib/devtools/components/GridIndicator.d.ts.map +0 -1
  62. package/dist/app/lib/devtools/components/GridIndicator.js +0 -30
  63. package/dist/app/lib/devtools/components/panels/monaco-graphql.worker.d.ts +0 -2
  64. package/dist/app/lib/devtools/components/panels/monaco-graphql.worker.d.ts.map +0 -1
  65. package/dist/app/lib/devtools/components/panels/monaco-graphql.worker.js +0 -9
  66. package/dist/app/lib/devtools/components/ui/Tabs.d.ts +0 -13
  67. package/dist/app/lib/devtools/components/ui/Tabs.d.ts.map +0 -1
  68. package/dist/app/lib/devtools/components/ui/Tabs.js +0 -7
  69. package/dist/app/lib/devtools/index.d.ts +0 -2
  70. package/dist/app/lib/devtools/index.d.ts.map +0 -1
  71. package/dist/app/lib/devtools/index.js +0 -1
  72. package/dist/app/lib/devtools/loader.d.ts +0 -2
  73. package/dist/app/lib/devtools/loader.d.ts.map +0 -1
  74. package/dist/app/lib/devtools/loader.js +0 -25
  75. package/dist/app/lib/devtools/tailwind.config.d.ts +0 -29
  76. package/dist/app/lib/devtools/tailwind.config.d.ts.map +0 -1
  77. package/dist/app/lib/devtools/tailwind.config.js +0 -29
  78. package/dist/app/lib/devtools/useQueryDebug.d.ts +0 -16
  79. package/dist/app/lib/devtools/useQueryDebug.d.ts.map +0 -1
  80. package/dist/app/lib/devtools/useQueryDebug.js +0 -10
  81. package/dist/app/lib/dynamic/index.d.ts +0 -2
  82. package/dist/app/lib/dynamic/index.d.ts.map +0 -1
  83. package/dist/app/lib/dynamic/index.js +0 -1
  84. package/dist/app/lib/integrations/gravityforms/createGravityFormComponent.d.ts +0 -93
  85. package/dist/app/lib/integrations/gravityforms/createGravityFormComponent.d.ts.map +0 -1
  86. package/dist/app/lib/integrations/gravityforms/createGravityFormComponent.js +0 -134
  87. package/dist/app/lib/integrations/gravityforms/field-types.d.ts +0 -141
  88. package/dist/app/lib/integrations/gravityforms/field-types.d.ts.map +0 -1
  89. package/dist/app/lib/integrations/gravityforms/field-types.js +0 -489
  90. package/dist/app/lib/integrations/gravityforms/index.d.ts +0 -5
  91. package/dist/app/lib/integrations/gravityforms/index.d.ts.map +0 -1
  92. package/dist/app/lib/integrations/gravityforms/index.js +0 -4
  93. package/dist/app/lib/integrations/gravityforms/types.d.ts +0 -64
  94. package/dist/app/lib/integrations/gravityforms/types.d.ts.map +0 -1
  95. package/dist/app/lib/integrations/gravityforms/types.js +0 -1
  96. package/dist/app/lib/integrations/gravityforms/useGravityForm.d.ts +0 -75
  97. package/dist/app/lib/integrations/gravityforms/useGravityForm.d.ts.map +0 -1
  98. package/dist/app/lib/integrations/gravityforms/useGravityForm.js +0 -288
  99. package/dist/app/lib/internal/finalize-rpc.d.ts +0 -18
  100. package/dist/app/lib/internal/finalize-rpc.d.ts.map +0 -1
  101. package/dist/app/lib/internal/finalize-rpc.js +0 -3
  102. package/dist/app/lib/internal/index.d.ts +0 -6
  103. package/dist/app/lib/internal/index.d.ts.map +0 -1
  104. package/dist/app/lib/internal/index.js +0 -5
  105. package/dist/app/lib/internal/internal-store.d.ts +0 -10
  106. package/dist/app/lib/internal/internal-store.d.ts.map +0 -1
  107. package/dist/app/lib/internal/internal-store.js +0 -7
  108. package/dist/app/lib/legacy-stitches/createStitches.d.ts +0 -616
  109. package/dist/app/lib/legacy-stitches/createStitches.d.ts.map +0 -1
  110. package/dist/app/lib/legacy-stitches/createStitches.js +0 -439
  111. package/dist/app/lib/legacy-stitches/index.d.ts +0 -2
  112. package/dist/app/lib/legacy-stitches/index.d.ts.map +0 -1
  113. package/dist/app/lib/legacy-stitches/index.js +0 -1
  114. package/dist/app/lib/routing/components/BackButton.d.ts +0 -50
  115. package/dist/app/lib/routing/components/BackButton.d.ts.map +0 -1
  116. package/dist/app/lib/routing/components/BackButton.js +0 -47
  117. package/dist/app/lib/routing/components/ClientOnly.d.ts +0 -13
  118. package/dist/app/lib/routing/components/ClientOnly.d.ts.map +0 -1
  119. package/dist/app/lib/routing/components/ClientOnly.js +0 -14
  120. package/dist/app/lib/routing/components/NativeLinkHandler.d.ts +0 -10
  121. package/dist/app/lib/routing/components/NativeLinkHandler.d.ts.map +0 -1
  122. package/dist/app/lib/routing/components/NativeLinkHandler.js +0 -23
  123. package/dist/app/lib/routing/components/RouteRenderer.d.ts +0 -10
  124. package/dist/app/lib/routing/components/RouteRenderer.d.ts.map +0 -1
  125. package/dist/app/lib/routing/components/RouteRenderer.js +0 -54
  126. package/dist/app/lib/routing/components/SSRRouter.d.ts +0 -12
  127. package/dist/app/lib/routing/components/SSRRouter.d.ts.map +0 -1
  128. package/dist/app/lib/routing/components/SSRRouter.js +0 -15
  129. package/dist/app/lib/routing/hooks/useRestorableState.d.ts +0 -7
  130. package/dist/app/lib/routing/hooks/useRestorableState.d.ts.map +0 -1
  131. package/dist/app/lib/routing/hooks/useRestorableState.js +0 -23
  132. package/dist/app/lib/routing/hooks/useRouteTransition.d.ts +0 -5
  133. package/dist/app/lib/routing/hooks/useRouteTransition.d.ts.map +0 -1
  134. package/dist/app/lib/routing/hooks/useRouteTransition.js +0 -12
  135. package/dist/app/lib/routing/hooks/useSearchParams.d.ts +0 -98
  136. package/dist/app/lib/routing/hooks/useSearchParams.d.ts.map +0 -1
  137. package/dist/app/lib/routing/hooks/useSearchParams.js +0 -131
  138. package/dist/app/lib/routing/index.d.ts +0 -17
  139. package/dist/app/lib/routing/index.d.ts.map +0 -1
  140. package/dist/app/lib/routing/index.js +0 -16
  141. package/dist/app/lib/runtime/index.d.ts +0 -3
  142. package/dist/app/lib/runtime/index.d.ts.map +0 -1
  143. package/dist/app/lib/runtime/index.js +0 -2
  144. package/dist/app/lib/views/defineView.d.ts +0 -5
  145. package/dist/app/lib/views/defineView.d.ts.map +0 -1
  146. package/dist/app/lib/views/defineView.js +0 -3
  147. package/dist/app/lib/views/index.d.ts +0 -2
  148. package/dist/app/lib/views/index.d.ts.map +0 -1
  149. package/dist/app/lib/views/index.js +0 -1
  150. package/dist/app/server/index.d.ts +0 -6
  151. package/dist/app/server/index.d.ts.map +0 -1
  152. package/dist/app/server/index.js +0 -5
  153. package/dist/app/server/proxy-wp-admin.d.ts +0 -3
  154. package/dist/app/server/proxy-wp-admin.d.ts.map +0 -1
  155. package/dist/app/server/proxy-wp-admin.js +0 -138
  156. package/dist/app/server/render-ai-page.d.ts +0 -13
  157. package/dist/app/server/render-ai-page.d.ts.map +0 -1
  158. package/dist/app/server/render-ai-page.js +0 -102
  159. package/dist/app/server/render-ssr-page.d.ts +0 -32
  160. package/dist/app/server/render-ssr-page.d.ts.map +0 -1
  161. package/dist/app/server/render-ssr-page.js +0 -250
  162. package/dist/app/server/rpc.d.ts +0 -33
  163. package/dist/app/server/rpc.d.ts.map +0 -1
  164. package/dist/app/server/rpc.js +0 -18
  165. package/dist/app/server/server-context.d.ts +0 -83
  166. package/dist/app/server/server-context.d.ts.map +0 -1
  167. package/dist/app/server/server-context.js +0 -480
  168. package/dist/app/server/server-custom-config.d.ts +0 -3
  169. package/dist/app/server/server-custom-config.d.ts.map +0 -1
  170. package/dist/app/server/server-custom-config.js +0 -1
  171. package/dist/app/server/utils/content-security.d.ts +0 -26
  172. package/dist/app/server/utils/content-security.d.ts.map +0 -1
  173. package/dist/app/server/utils/content-security.js +0 -124
  174. package/dist/app/server/utils/headers.d.ts +0 -6
  175. package/dist/app/server/utils/headers.d.ts.map +0 -1
  176. package/dist/app/server/utils/headers.js +0 -28
  177. package/dist/app/server/utils/replace-host.d.ts +0 -11
  178. package/dist/app/server/utils/replace-host.d.ts.map +0 -1
  179. package/dist/app/server/utils/replace-host.js +0 -36
  180. package/dist/app/server/utils/swr-cache.d.ts +0 -5
  181. package/dist/app/server/utils/swr-cache.d.ts.map +0 -1
  182. package/dist/app/server/utils/swr-cache.js +0 -31
  183. package/dist/app/utils/hydration-debugger.d.ts +0 -14
  184. package/dist/app/utils/hydration-debugger.d.ts.map +0 -1
  185. package/dist/app/utils/hydration-debugger.js +0 -11
  186. package/dist/app/utils/wp.d.ts +0 -27
  187. package/dist/app/utils/wp.d.ts.map +0 -1
  188. package/dist/app/utils/wp.js +0 -1
@@ -1,54 +0,0 @@
1
- import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
2
- import { memo, useEffect, useMemo } from "react";
3
- import { RouteErrorBoundary } from "../../../utils/RouteErrorBoundary.js";
4
- import { PageStructureNode, usePageStructureNode } from "../../blocks/block-debugger.js";
5
- import { DevUILoader } from "../../devtools/loader.js";
6
- import { RouteItemContext } from "../context.js";
7
- import { useRouter } from "../hooks/useRouter.js";
8
- import { useRouterState } from "../hooks/useRouterState.js";
9
- import { ref } from "valtio";
10
- export const AppRenderer = memo(() => {
11
- const { appData, appComponent: AppComponent } = useRouter().loader;
12
- const { activeRoute } = useRouterState();
13
- const app = useMemo(() => {
14
- return (_jsxs(_Fragment, { children: [_jsx(AppComponent, { ...appData, children: _jsx(MainRoute, {}) }), _jsx(DevUILoader, {})] }));
15
- }, [AppComponent, appData]);
16
- return _jsx(RouteItemContext.Provider, { value: activeRoute, children: app });
17
- });
18
- export function MainRoute() {
19
- const activeRoute = useRouterState((s) => s.activeRoute);
20
- return _jsx(RouteDisplay, { route: activeRoute });
21
- }
22
- export function RouteDisplay(props) {
23
- const Component = props.route.component;
24
- if (!Component) {
25
- console.error("No component for route");
26
- }
27
- const router = useRouter();
28
- const node = usePageStructureNode({
29
- type: "route",
30
- route: ref(props.route),
31
- children: [],
32
- id: props.route.id,
33
- });
34
- useEffect(() => {
35
- node.route = props.route;
36
- }, [props.route]);
37
- return useMemo(() => {
38
- let child = !!Component && _jsx(Component, { ...props.route.props });
39
- if (router.isAI) {
40
- child = _jsx("div", { id: "ai-page-contents", children: child });
41
- }
42
- return (_jsx(RouteErrorBoundary, { route: props.route, onError: (error, errorInfo) => {
43
- if (env.client) {
44
- if (error.message.includes("Failed to fetch dynamically imported module")) {
45
- router.emitEvent({
46
- type: "error:component-load-failed",
47
- error,
48
- });
49
- }
50
- }
51
- }, children: _jsx(PageStructureNode, { node: node, children: _jsx(RouteItemContext.Provider, { value: props.route, children: child }) }) }));
52
- }, [Component, props.route, props.route]);
53
- }
54
- RouteDisplay.displayName = "RouteDisplay";
@@ -1,12 +0,0 @@
1
- import { PropsWithChildren } from "react";
2
- import { RouteLoader } from "../loader.js";
3
- import { RouteState } from "../types.js";
4
- type Props = PropsWithChildren<{
5
- hostname?: string;
6
- route: RouteState;
7
- loader: RouteLoader;
8
- isAI?: boolean;
9
- }>;
10
- export declare function SSRRouter(props: Props): import("react/jsx-runtime").JSX.Element;
11
- export {};
12
- //# sourceMappingURL=SSRRouter.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"SSRRouter.d.ts","sourceRoot":"","sources":["../../../../../src/app/lib/routing/components/SSRRouter.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAY,MAAM,OAAO,CAAA;AAInD,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAA;AAC1C,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AAGxC,KAAK,KAAK,GAAG,iBAAiB,CAAC;IAC7B,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,KAAK,EAAE,UAAU,CAAA;IACjB,MAAM,EAAE,WAAW,CAAA;IACnB,IAAI,CAAC,EAAE,OAAO,CAAA;CACf,CAAC,CAAA;AAEF,wBAAgB,SAAS,CAAC,KAAK,EAAE,KAAK,2CAiBrC"}
@@ -1,15 +0,0 @@
1
- import { jsx as _jsx } from "react/jsx-runtime";
2
- import { RouterContext, RouterStateContext } from "../context.js";
3
- import { useRouter } from "../hooks/useRouter.js";
4
- import { useRouterState } from "../hooks/useRouterState.js";
5
- import { AppRenderer } from "./RouteRenderer.js";
6
- export function SSRRouter(props) {
7
- const router = useRouter();
8
- const routerState = useRouterState();
9
- router.loader = props.loader;
10
- router.hostname = props.hostname;
11
- router.isAI = props.isAI;
12
- routerState.history = [props.route];
13
- routerState.activeRoute = props.route;
14
- return (_jsx(RouterContext.Provider, { value: router, children: _jsx(RouterStateContext.Provider, { value: routerState, children: _jsx(AppRenderer, {}) }) }));
15
- }
@@ -1,7 +0,0 @@
1
- import { Dispatch } from "react";
2
- /**
3
- * Works exactly like useState, but allows back and forward navigation to restore the previous state.
4
- * You must pass a unique ID as an additional first parameter to ensure the state is restored correctly.
5
- */
6
- export declare function useRestorableState<T>(key: string, fallback: T): [T, Dispatch<T>];
7
- //# sourceMappingURL=useRestorableState.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"useRestorableState.d.ts","sourceRoot":"","sources":["../../../../../src/app/lib/routing/hooks/useRestorableState.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAA0C,MAAM,OAAO,CAAA;AAIxE;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,CAkBhF"}
@@ -1,23 +0,0 @@
1
- import { startTransition, useCallback, useState } from "react";
2
- import { useRouterEvents } from "./useRouterEvents.js";
3
- import { useRoute } from "./useRoute.js";
4
- /**
5
- * Works exactly like useState, but allows back and forward navigation to restore the previous state.
6
- * You must pass a unique ID as an additional first parameter to ensure the state is restored correctly.
7
- */
8
- export function useRestorableState(key, fallback) {
9
- const route = useRoute();
10
- const initial = route.returnState?.[key] ?? fallback;
11
- const [state, setState] = useState(initial);
12
- const dispatch = useCallback((value) => {
13
- startTransition(() => {
14
- setState(value);
15
- });
16
- }, []);
17
- useRouterEvents((event) => {
18
- if (event.type === "capture-restorable-state") {
19
- event.state[key] = state;
20
- }
21
- });
22
- return [state, dispatch];
23
- }
@@ -1,5 +0,0 @@
1
- import type { RouteState } from "../types.js";
2
- type TransitionFunction = (currentRoute: RouteState, nextRoute: RouteState) => void | Promise<any | void>;
3
- export declare function useRouteTransition(func: TransitionFunction): void;
4
- export {};
5
- //# sourceMappingURL=useRouteTransition.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"useRouteTransition.d.ts","sourceRoot":"","sources":["../../../../../src/app/lib/routing/hooks/useRouteTransition.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AAE7C,KAAK,kBAAkB,GAAG,CAAC,YAAY,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,KAAK,IAAI,GAAG,OAAO,CAAC,GAAG,GAAG,IAAI,CAAC,CAAA;AAEzG,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,kBAAkB,QAe1D"}
@@ -1,12 +0,0 @@
1
- import { useEffect, useRef } from "react";
2
- import { useRouter } from "./useRouter.js";
3
- export function useRouteTransition(func) {
4
- const subscribe = useRouter((r) => r.subscribe);
5
- const handler = useRef(func);
6
- handler.current = func;
7
- useEffect(() => subscribe((event) => {
8
- if (event.type === "navigate:will-change") {
9
- return handler.current(event.currentRoute, event.loadedRoute);
10
- }
11
- }), []);
12
- }
@@ -1,98 +0,0 @@
1
- /**
2
- * Search param API object.
3
- */
4
- export type SearchParamAPI<T> = {
5
- /**
6
- * Set an individual parameter value by key.
7
- *
8
- * If the value is an array, then one or more `key[]` parameters will be set. Otherwise, a single `key` parameter will be set.
9
- *
10
- * If the value is `null` or `undefined`, the parameter will be removed from the query string.
11
- *
12
- * @param key The search parameter name
13
- * @param value The value to set
14
- */
15
- set<K extends keyof T>(key: K, value: T[K] | null | undefined): void;
16
- /**
17
- * Set all parameters at once, replacing the entire query string. Any parameters not present will be replaced with their default value. Passing an empty object is equivalent to calling `reset()`.
18
- *
19
- * @param value
20
- * @returns
21
- */
22
- setAll: (value: Partial<T>) => void;
23
- /**
24
- * Returns a memoized setter function for a specific key.
25
- *
26
- * This is useful when you want to pass a setter function to a child component, without needing to pass the entire API object.
27
- *
28
- * For example:
29
- * ```tsx
30
- * <SearchInput value={params.q} onSearch={api.setter("q")} />
31
- * ```
32
- *
33
- * @param key The search parameter name
34
- * @returns (value: T) => void
35
- */
36
- setter<K extends keyof T>(key: K): (value: T[K] | null | undefined) => void;
37
- /**
38
- * Toggles an array item on or off.
39
- *
40
- * For example, `api.toggle("tags", "news")` will add "news" to the "tags" array if it isn't already present, or remove it if it is.
41
- *
42
- * Works well with `.has(key, item)`.
43
- */
44
- toggle<K extends keyof Extract<T, Array<any>>>(key: K, item: Extract<T, Array<any>>[K] extends Array<infer U> ? U : never, state?: boolean): void;
45
- /**
46
- * Returns true/false depending on whether the item is present in the array parameter.
47
- *
48
- * For example, `api.has("tags", "news")` will return true if "news" is present in the "tags" array.
49
- *
50
- * Works well with `.toggle(key, item)`.
51
- */
52
- has<K extends keyof T>(key: K, item: Extract<T, Array<any>>[K] extends Array<infer U> ? U : T[K]): boolean;
53
- /**
54
- * Reset all parameters to their default values.
55
- */
56
- reset(): void;
57
- /**
58
- * Gets the current value of a parameter. In most cases, you should use the `params` object returned from `useSearchParams` instead of this method.
59
- */
60
- get<K extends keyof T>(key: K): T[K];
61
- };
62
- /**
63
- * Provides type-safe read/write access to query string parameters, integrating with the routing system.
64
- *
65
- * - Call `useSearchParams` with a default value object, which defines the expected shape of the query string parameters.
66
- * - Only keys that are present in the default value object will be handled, and all others will be ignored.
67
- * - Arrays of values are supported, and you should use a default value of `[]` for that key. You may want to cast the default parameter as an array of the expected type (eg. `myValue: [] as string[]`) to ensure that the parameter type is correct.
68
- * - This hook returns a tuple with the current query string parameters object, and an API object with methods to interact with the query string. See {@link SearchParamAPI} for more details.
69
- *
70
- * For example:
71
- * ```tsx
72
- * const [params, api] = useSearchParams({
73
- * mode: "list" as "list" | "grid",
74
- * page: 1,
75
- * tags: [] as string[],
76
- * })
77
- *
78
- * api.set("mode", "grid")
79
- * api.set("tags", ["tag1", "tag2"])
80
- * ```
81
- *
82
- * Note that if a parameter is set back to it's default value, it'll actually be _removed_ from the updated query string, keeping the URL clean when only the default values are set.
83
- *
84
- * ```tsx
85
- * api.set("mode", "grid")
86
- * // url becomes: "/?mode=grid"
87
- * // params.mode === 'grid'
88
- *
89
- * api.set("mode", "list")
90
- * // url becomes: "/"
91
- * // params.mode === 'list'
92
- * ```
93
- *
94
- * @param defaultValue - The default value object, defining the expected shape of the query string parameters.
95
- * @returns A tuple of the resolve parameter object, and a {@link SearchParamAPI} object with methods to interact with the query string.
96
- */
97
- export declare function useSearchParams<T extends object>(defaultValue: T): [T, SearchParamAPI<T>];
98
- //# sourceMappingURL=useSearchParams.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"useSearchParams.d.ts","sourceRoot":"","sources":["../../../../../src/app/lib/routing/hooks/useSearchParams.tsx"],"names":[],"mappings":"AAMA;;GAEG;AACH,MAAM,MAAM,cAAc,CAAC,CAAC,IAAI;IAC9B;;;;;;;;;OASG;IACH,GAAG,CAAC,CAAC,SAAS,MAAM,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,GAAG,SAAS,GAAG,IAAI,CAAA;IACpE;;;;;OAKG;IACH,MAAM,EAAE,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC,KAAK,IAAI,CAAA;IACnC;;;;;;;;;;;;OAYG;IACH,MAAM,CAAC,CAAC,SAAS,MAAM,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,GAAG,SAAS,KAAK,IAAI,CAAA;IAC3E;;;;;;OAMG;IACH,MAAM,CAAC,CAAC,SAAS,MAAM,OAAO,CAAC,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,EAC3C,GAAG,EAAE,CAAC,EACN,IAAI,EAAE,OAAO,CAAC,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,KAAK,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,GAAG,KAAK,EAClE,KAAK,CAAC,EAAE,OAAO,GACd,IAAI,CAAA;IACP;;;;;;OAMG;IACH,GAAG,CAAC,CAAC,SAAS,MAAM,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,KAAK,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,OAAO,CAAA;IAC1G;;OAEG;IACH,KAAK,IAAI,IAAI,CAAA;IACb;;OAEG;IACH,GAAG,CAAC,CAAC,SAAS,MAAM,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAA;CACrC,CAAA;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AACH,wBAAgB,eAAe,CAAC,CAAC,SAAS,MAAM,EAAE,YAAY,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,cAAc,CAAC,CAAC,CAAC,CAAC,CA8FzF"}
@@ -1,131 +0,0 @@
1
- import { useMemo, useRef, useState } from "react";
2
- import { useRoute } from "./useRoute.js";
3
- import { useRouter } from "./useRouter.js";
4
- import { parseQuery } from "../utils.js";
5
- import { hash } from "object-code";
6
- /**
7
- * Provides type-safe read/write access to query string parameters, integrating with the routing system.
8
- *
9
- * - Call `useSearchParams` with a default value object, which defines the expected shape of the query string parameters.
10
- * - Only keys that are present in the default value object will be handled, and all others will be ignored.
11
- * - Arrays of values are supported, and you should use a default value of `[]` for that key. You may want to cast the default parameter as an array of the expected type (eg. `myValue: [] as string[]`) to ensure that the parameter type is correct.
12
- * - This hook returns a tuple with the current query string parameters object, and an API object with methods to interact with the query string. See {@link SearchParamAPI} for more details.
13
- *
14
- * For example:
15
- * ```tsx
16
- * const [params, api] = useSearchParams({
17
- * mode: "list" as "list" | "grid",
18
- * page: 1,
19
- * tags: [] as string[],
20
- * })
21
- *
22
- * api.set("mode", "grid")
23
- * api.set("tags", ["tag1", "tag2"])
24
- * ```
25
- *
26
- * Note that if a parameter is set back to it's default value, it'll actually be _removed_ from the updated query string, keeping the URL clean when only the default values are set.
27
- *
28
- * ```tsx
29
- * api.set("mode", "grid")
30
- * // url becomes: "/?mode=grid"
31
- * // params.mode === 'grid'
32
- *
33
- * api.set("mode", "list")
34
- * // url becomes: "/"
35
- * // params.mode === 'list'
36
- * ```
37
- *
38
- * @param defaultValue - The default value object, defining the expected shape of the query string parameters.
39
- * @returns A tuple of the resolve parameter object, and a {@link SearchParamAPI} object with methods to interact with the query string.
40
- */
41
- export function useSearchParams(defaultValue) {
42
- const [currentQuery, replaceQuery] = env.admin
43
- ? useState({})
44
- : [useRoute().query, useRouter((r) => r.replaceQuery)];
45
- const merged = useMemo(() => ({
46
- ...defaultValue,
47
- ...currentQuery,
48
- }), [currentQuery]);
49
- const values = useRef(merged);
50
- values.current = merged;
51
- // Memoized setters
52
- const setters = useMemo(() => ({}), []);
53
- // Gets the current value, directly from the source.
54
- function get() {
55
- if (env.client) {
56
- return { ...defaultValue, ...parseQuery(document.location.search) };
57
- }
58
- else {
59
- return merged;
60
- }
61
- }
62
- // Main update function
63
- const update = (patch) => {
64
- const value = { ...get(), ...patch };
65
- for (let key in defaultValue) {
66
- if (hash(defaultValue[key]) === hash(value[key]) || [null, undefined].includes(value[key])) {
67
- delete value[key];
68
- }
69
- }
70
- values.current = value;
71
- replaceQuery(value);
72
- };
73
- return [
74
- values.current,
75
- useMemo(() => ({
76
- set: (key, value) => update({ [key]: value }),
77
- setAll: (value) => update({
78
- ...defaultValue,
79
- ...value,
80
- }),
81
- toggle: (key, item, state) => {
82
- const current = values.current[key];
83
- let newArray = [];
84
- if (Array.isArray(current)) {
85
- if (state === true) {
86
- // Add item
87
- newArray = Array.from(new Set([...current, item]));
88
- }
89
- else if (state === false) {
90
- // Remove item
91
- newArray = current.filter((i) => i !== item);
92
- }
93
- else {
94
- // Toggle
95
- if (current.includes(item)) {
96
- newArray = current.filter((i) => i !== item);
97
- }
98
- else {
99
- newArray = Array.from(new Set([...current, item]));
100
- }
101
- }
102
- }
103
- else {
104
- if (state === false) {
105
- newArray = [];
106
- }
107
- else {
108
- newArray = [item];
109
- }
110
- }
111
- update({ [key]: newArray });
112
- },
113
- has: (key, item) => {
114
- const current = values.current[key];
115
- if (Array.isArray(current)) {
116
- return current.includes(item);
117
- }
118
- else {
119
- return current === item;
120
- }
121
- },
122
- setter: (key) => {
123
- if (!setters[key])
124
- setters[key] = (value) => update({ [key]: value });
125
- return setters[key];
126
- },
127
- reset: () => update({}),
128
- get: (key) => values.current[key],
129
- }), []),
130
- ];
131
- }
@@ -1,17 +0,0 @@
1
- export * from "./types.js";
2
- export * from "./components/Link.js";
3
- export * from "./components/ScrollRestoration.js";
4
- export * from "./components/RouteRenderer.js";
5
- export * from "./components/ClientOnly.js";
6
- export * from "./components/BackButton.js";
7
- export * from "./components/NativeLinkHandler.js";
8
- export * from "./hooks/useRoute.js";
9
- export * from "./hooks/useRouteTransition.js";
10
- export * from "./hooks/useRouter.js";
11
- export * from "./hooks/useRouterEvents.js";
12
- export * from "./hooks/useRouterState.js";
13
- export * from "./hooks/useRestorableState.js";
14
- export * from "./hooks/useHydrating.js";
15
- export * from "./hooks/useSearchParams.js";
16
- export { getLinkHandlerMode, isSameOrigin } from "./utils.js";
17
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/app/lib/routing/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAA;AAE1B,cAAc,sBAAsB,CAAA;AACpC,cAAc,mCAAmC,CAAA;AACjD,cAAc,+BAA+B,CAAA;AAC7C,cAAc,4BAA4B,CAAA;AAC1C,cAAc,4BAA4B,CAAA;AAC1C,cAAc,mCAAmC,CAAA;AAEjD,cAAc,qBAAqB,CAAA;AACnC,cAAc,+BAA+B,CAAA;AAC7C,cAAc,sBAAsB,CAAA;AACpC,cAAc,4BAA4B,CAAA;AAC1C,cAAc,2BAA2B,CAAA;AACzC,cAAc,+BAA+B,CAAA;AAC7C,cAAc,yBAAyB,CAAA;AACvC,cAAc,4BAA4B,CAAA;AAC1C,OAAO,EAAE,kBAAkB,EAAE,YAAY,EAAE,MAAM,YAAY,CAAA"}
@@ -1,16 +0,0 @@
1
- export * from "./types.js";
2
- export * from "./components/Link.js";
3
- export * from "./components/ScrollRestoration.js";
4
- export * from "./components/RouteRenderer.js";
5
- export * from "./components/ClientOnly.js";
6
- export * from "./components/BackButton.js";
7
- export * from "./components/NativeLinkHandler.js";
8
- export * from "./hooks/useRoute.js";
9
- export * from "./hooks/useRouteTransition.js";
10
- export * from "./hooks/useRouter.js";
11
- export * from "./hooks/useRouterEvents.js";
12
- export * from "./hooks/useRouterState.js";
13
- export * from "./hooks/useRestorableState.js";
14
- export * from "./hooks/useHydrating.js";
15
- export * from "./hooks/useSearchParams.js";
16
- export { getLinkHandlerMode, isSameOrigin } from "./utils.js";
@@ -1,3 +0,0 @@
1
- export * from "./apiConfig";
2
- export * from "./errorHandling";
3
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/app/lib/runtime/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAA;AAC3B,cAAc,iBAAiB,CAAA"}
@@ -1,2 +0,0 @@
1
- export * from "./apiConfig";
2
- export * from "./errorHandling";
@@ -1,5 +0,0 @@
1
- import { ComponentType, PropsWithChildren, ReactNode } from "react";
2
- type ExtendedViewProps<TName extends keyof ViewProps> = TName extends "_app" ? PropsWithChildren<ViewProps[TName]> : TName extends "_error" ? ViewProps[TName] : ViewProps[TName];
3
- export declare function defineView<Name extends keyof ViewProps>(name: Name, component: (props: ExtendedViewProps<Name>) => ReactNode): ComponentType<ExtendedViewProps<Name>>;
4
- export {};
5
- //# sourceMappingURL=defineView.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"defineView.d.ts","sourceRoot":"","sources":["../../../../src/app/lib/views/defineView.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AAEnE,KAAK,iBAAiB,CAAC,KAAK,SAAS,MAAM,SAAS,IAAI,KAAK,SAAS,MAAM,GACxE,iBAAiB,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,GACnC,KAAK,SAAS,QAAQ,GACpB,SAAS,CAAC,KAAK,CAAC,GAChB,SAAS,CAAC,KAAK,CAAC,CAAA;AAEtB,wBAAgB,UAAU,CAAC,IAAI,SAAS,MAAM,SAAS,EACrD,IAAI,EAAE,IAAI,EACV,SAAS,EAAE,CAAC,KAAK,EAAE,iBAAiB,CAAC,IAAI,CAAC,KAAK,SAAS,GACvD,aAAa,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC,CAExC"}
@@ -1,3 +0,0 @@
1
- export function defineView(name, component) {
2
- return component;
3
- }
@@ -1,2 +0,0 @@
1
- export * from "./defineView.js";
2
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/app/lib/views/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAA"}
@@ -1 +0,0 @@
1
- export * from "./defineView.js";
@@ -1,6 +0,0 @@
1
- export * from "./proxy-wp-admin.js";
2
- export * from "./render-ai-page.js";
3
- export * from "./render-ssr-page.js";
4
- export * from "./rpc.js";
5
- export * from "./server-context.js";
6
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/app/server/index.ts"],"names":[],"mappings":"AAAA,cAAc,qBAAqB,CAAA;AACnC,cAAc,qBAAqB,CAAA;AACnC,cAAc,sBAAsB,CAAA;AACpC,cAAc,UAAU,CAAA;AACxB,cAAc,qBAAqB,CAAA"}
@@ -1,5 +0,0 @@
1
- export * from "./proxy-wp-admin.js";
2
- export * from "./render-ai-page.js";
3
- export * from "./render-ssr-page.js";
4
- export * from "./rpc.js";
5
- export * from "./server-context.js";
@@ -1,3 +0,0 @@
1
- import { EventHandlerRequest, H3Event } from "vinxi/http";
2
- export declare function proxyWpAdmin(event: H3Event<EventHandlerRequest>): Promise<Response>;
3
- //# sourceMappingURL=proxy-wp-admin.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"proxy-wp-admin.d.ts","sourceRoot":"","sources":["../../../src/app/server/proxy-wp-admin.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,mBAAmB,EAAwD,OAAO,EAAE,MAAM,YAAY,CAAA;AAI/G,wBAAsB,YAAY,CAAC,KAAK,EAAE,OAAO,CAAC,mBAAmB,CAAC,qBA+GrE"}
@@ -1,138 +0,0 @@
1
- /// <reference types="vinxi/types/server" />
2
- import { splitSetCookieString } from "cookie-es";
3
- import { getProxyRequestHeaders, getRequestURL, getWebRequest } from "vinxi/http";
4
- import { ServerContext } from "./server-context.js";
5
- import { renderErrorPage } from "./render-ssr-page.js";
6
- export async function proxyWpAdmin(event) {
7
- const serverContext = ServerContext.main;
8
- const req = getWebRequest(event);
9
- const reqUrl = getRequestURL(event);
10
- const serverlessConfig = serverContext.config.serverless;
11
- if (!serverContext.dev) {
12
- if (reqUrl.pathname.toLowerCase().match(/\/+(graphql|xmlrpc|\.php|wp\-(admin|login|json|cron))/)) {
13
- if (serverlessConfig.admin === "hide") {
14
- //
15
- return renderErrorPage({
16
- statusCode: 404,
17
- title: "Not found",
18
- userMessage: "The requested resource could not be found.",
19
- pathname: reqUrl.pathname,
20
- });
21
- }
22
- }
23
- }
24
- const proxyUrl = serverContext.getOriginUrl(reqUrl.href);
25
- // Prepare request headers to be sent to the origin server
26
- const proxyHeaders = getProxyRequestHeaders(event);
27
- proxyHeaders["X-ED-Dev-Proxy"] = "true";
28
- const followRedirects = !reqUrl.pathname.match(/\.[a-z0-9]$/) && !reqUrl.pathname.match(/(^\/wp-|\.php$)/);
29
- // Forward the request to the origin server
30
- // console.log("Proxying request", proxyUrl, {
31
- // method: req.method,
32
- // referrer: req.referrer,
33
- // referrerPolicy: req.referrerPolicy,
34
- // headers: proxyHeaders,
35
- // // body: req.method.match(/get|head|options/i) ? undefined : await req.blob(),
36
- // redirect: followRedirects ? "follow" : "manual",
37
- // cache: "no-cache",
38
- // })
39
- const response = await fetch(proxyUrl, {
40
- method: req.method,
41
- referrer: req.referrer,
42
- referrerPolicy: req.referrerPolicy,
43
- headers: proxyHeaders,
44
- body: req.method.match(/get|head|options/i) ? undefined : await req.blob(),
45
- redirect: followRedirects ? "follow" : "manual",
46
- cache: "no-cache",
47
- });
48
- const contentType = response.headers.get("content-type");
49
- let body;
50
- let res = { status: response.status, statusText: response.statusText, headers: new Headers() };
51
- const cookies = [];
52
- response.headers.forEach((value, key) => {
53
- if (key === "content-encoding" || key === "content-length" || key === "transfer-encoding") {
54
- return;
55
- }
56
- if (key === "set-cookie") {
57
- cookies.push(...splitSetCookieString(value));
58
- return;
59
- }
60
- if (key === "location") {
61
- value = serverContext.replaceUrls(value);
62
- }
63
- res.headers.set(key, value);
64
- });
65
- // Set cookies in the response headers
66
- // TODO: May need to rewrite cookie domain here before setting.
67
- if (cookies.length > 0) {
68
- for (const cookie of cookies) {
69
- res.headers.append("set-cookie", cookie);
70
- }
71
- }
72
- // Replace URLs pointing to the origin server from the response itself
73
- // This is only done for text-based content types, like application/json, text/plain, text/html etc
74
- if (contentType?.match(/(application|text)\//)) {
75
- body = serverContext.replaceUrls((await response.text()) ?? "", reqUrl.origin);
76
- // If the content type is text/html, inject the Vite assets into the response — assuming the placeholder comments are found
77
- if (contentType.startsWith("text/html")) {
78
- const clientManifest = serverContext.runtime.getManifest("admin");
79
- const assets = await clientManifest.inputs[clientManifest.handler].assets();
80
- const getViteHeader = () => assets.map((asset) => renderAsset(asset)).join("\n");
81
- const getViteFooter = () => renderAsset({
82
- tag: "script",
83
- attrs: {
84
- type: "module",
85
- src: clientManifest.inputs[clientManifest.handler].output.path,
86
- },
87
- children: "",
88
- });
89
- const encodeForJSON = (str) => JSON.stringify(str).slice(1, -1).replaceAll("/", "\\/");
90
- const viteHeader = getViteHeader();
91
- const viteFooter = getViteFooter();
92
- const baseDirective = `<base href="${reqUrl.origin}">`;
93
- body = body.replaceAll("<!---VITE_HEADER--->", viteHeader);
94
- body = body.replaceAll("<!---VITE_FOOTER--->", viteFooter);
95
- body = body.replaceAll("<script id='vite-iframe-header'><\\/script>", encodeForJSON(baseDirective + viteHeader));
96
- body = body.replaceAll("<script id='vite-iframe-footer'><\\/script>", encodeForJSON(viteFooter));
97
- }
98
- }
99
- else {
100
- // Otherwise just stream the response as is
101
- body = response.body;
102
- }
103
- return new Response(body, res);
104
- }
105
- function printElement(element, props, innerText) {
106
- if (typeof innerText === "string") {
107
- return `<${element}${Object.entries(props)
108
- .map(([key, value]) => ` ${key}="${value}"`)
109
- .join("")}>${innerText}</${element}>`;
110
- }
111
- else {
112
- return `<${element}${Object.entries(props)
113
- .map(([key, value]) => ` ${key}="${value}"`)
114
- .join("")} />`;
115
- }
116
- }
117
- function renderAsset({ tag, attrs: { key, ...attrs } = {}, children, }) {
118
- switch (tag) {
119
- case "script":
120
- if (attrs.src) {
121
- return printElement("script", { ...attrs, key: attrs.src }, "");
122
- }
123
- else {
124
- return printElement("script", {
125
- ...attrs,
126
- key: key,
127
- }, children ?? "");
128
- }
129
- case "link":
130
- return printElement("link", { ...attrs, key: key });
131
- case "style":
132
- return printElement("style", {
133
- ...attrs,
134
- key: key,
135
- }, children ?? "");
136
- }
137
- return "";
138
- }
@@ -1,13 +0,0 @@
1
- type RenderArgs = {
2
- pathname: string;
3
- statusCode?: number;
4
- newOrigin?: string;
5
- propData?: Record<string, any>;
6
- };
7
- export type IndexablePage = {
8
- shouldIndex: boolean;
9
- contents: string;
10
- };
11
- export declare function renderPageForIndexing(args: RenderArgs): Promise<IndexablePage>;
12
- export {};
13
- //# sourceMappingURL=render-ai-page.d.ts.map