@shophost/react 2.0.29 → 2.0.30

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 (148) hide show
  1. package/admin/contexts/admin-auth-context.d.ts +7 -0
  2. package/admin/contexts/admin-config-context.d.ts +7 -0
  3. package/admin/contexts/admin-routes-context.d.ts +7 -0
  4. package/{views/DashboardView.d.ts → admin/dashboard/views/dashboard-view.d.ts} +1 -1
  5. package/{providers → admin/providers}/admin-provider.d.ts +1 -1
  6. package/{components/admin/forms → admin/settings/access/components}/access-form.d.ts +1 -1
  7. package/{components/admin/forms → admin/settings/opening-times/components}/organization-schedule-form.d.ts +1 -1
  8. package/{components/admin/forms → admin/settings/shipping-method/components}/shipping-method-form.d.ts +1 -1
  9. package/{components/admin/partials → admin/settings/shipping-method/components}/shipping-methods-list/columns.d.ts +1 -1
  10. package/admin-client.cjs +1 -1
  11. package/admin-client.js +2547 -2596
  12. package/config.d.ts +6 -0
  13. package/contexts/route-params-context.d.ts +16 -0
  14. package/index.d.ts +5 -5
  15. package/index.mjs +2 -2
  16. package/index.react-server.cjs +1 -1
  17. package/index.react-server.d.ts +2 -2
  18. package/index.react-server.mjs +12 -9
  19. package/next/server.cjs +1 -1
  20. package/next/server.d.ts +1 -1
  21. package/next/server.mjs +95 -14
  22. package/next/views.d.ts +1 -1
  23. package/package.json +7 -12
  24. package/storefront.mjs +42 -42
  25. package/types.d.ts +16 -0
  26. package/{components/ui/data-table/DataTablePagination.d.ts → ui/data-table/data-table-pagination.d.ts} +1 -1
  27. package/{components/ui/data-table/DataTable.d.ts → ui/data-table/data-table.d.ts} +1 -1
  28. package/{components/ui → ui}/input/image-upload-input.d.ts +1 -1
  29. package/{components/ui → ui}/input-group.d.ts +1 -1
  30. package/{components/ui → ui}/line-chart.d.ts +1 -1
  31. /package/{views/auth → admin/auth/components}/auth-layout.d.ts +0 -0
  32. /package/{components/admin/forms → admin/auth/components}/sign-in-form.d.ts +0 -0
  33. /package/{components/admin/forms → admin/auth/components}/sign-up-form.d.ts +0 -0
  34. /package/{views/auth/SignInView.d.ts → admin/auth/views/sign-in-view.d.ts} +0 -0
  35. /package/{views/auth/SignUpView.d.ts → admin/auth/views/sign-up-view.d.ts} +0 -0
  36. /package/{components/ui/navigation/DropdownUserProfile.d.ts → admin/components/navigation/dropdown-user-profile.d.ts} +0 -0
  37. /package/{components/ui/navigation/MobileSidebar.d.ts → admin/components/navigation/mobile-sidebar.d.ts} +0 -0
  38. /package/{components/ui/navigation/SidebarWorkspacesDropdown.d.ts → admin/components/navigation/sidebar-workspaces-dropdown.d.ts} +0 -0
  39. /package/{components/ui/navigation/Sidebar.d.ts → admin/components/navigation/sidebar.d.ts} +0 -0
  40. /package/{components/ui/navigation/UserProfile.d.ts → admin/components/navigation/user-profile.d.ts} +0 -0
  41. /package/{components/ui/overview/DashboardCategoryBarCard.d.ts → admin/dashboard/components/overview/dashboard-category-bar-card.d.ts} +0 -0
  42. /package/{components/ui/overview/DashboardChartCard.d.ts → admin/dashboard/components/overview/dashboard-chart-card.d.ts} +0 -0
  43. /package/{components/ui/overview/DashboardFilterbar.d.ts → admin/dashboard/components/overview/dashboard-filterbar.d.ts} +0 -0
  44. /package/{components/ui/overview/DashboardProgressBarCard.d.ts → admin/dashboard/components/overview/dashboard-progress-bar-card.d.ts} +0 -0
  45. /package/{components/ui → admin/dashboard/components}/overview/dashboard-types.d.ts +0 -0
  46. /package/{data → admin/data}/data.d.ts +0 -0
  47. /package/{data → admin/data}/overview-data.d.ts +0 -0
  48. /package/{data → admin/data}/schema.d.ts +0 -0
  49. /package/{lib → admin/lib}/auth-redirect.d.ts +0 -0
  50. /package/{lib → admin/lib}/auth.d.ts +0 -0
  51. /package/{components/admin/forms → admin/manufacturer/components}/manufacturer-form.d.ts +0 -0
  52. /package/{components/admin/partials → admin/manufacturer/components}/manufacturers-list/columns.d.ts +0 -0
  53. /package/{components/admin/partials → admin/manufacturer/components}/manufacturers-list/index.d.ts +0 -0
  54. /package/{views/manufacturers/ManufacturerCreateView.d.ts → admin/manufacturer/views/manufacturer-create-view.d.ts} +0 -0
  55. /package/{views/manufacturers/ManufacturerEditView.d.ts → admin/manufacturer/views/manufacturer-edit-view.d.ts} +0 -0
  56. /package/{views/manufacturers/ManufacturersListView.d.ts → admin/manufacturer/views/manufacturers-list-view.d.ts} +0 -0
  57. /package/{components/admin/partials → admin/order/components}/orders-list/actions-cell.d.ts +0 -0
  58. /package/{components/admin/partials → admin/order/components}/orders-list/columns.d.ts +0 -0
  59. /package/{components/admin/partials → admin/order/components}/orders-list/index.d.ts +0 -0
  60. /package/{components/admin/partials → admin/order/components}/orders-list/order-details-modal.d.ts +0 -0
  61. /package/{views/OrdersView.d.ts → admin/order/views/orders-view.d.ts} +0 -0
  62. /package/{components/admin/forms → admin/organization/components}/organization-form.d.ts +0 -0
  63. /package/{components/admin/partials → admin/organization/components}/organization-list/index.d.ts +0 -0
  64. /package/{views/OrganizationsView.d.ts → admin/organization/views/organizations-view.d.ts} +0 -0
  65. /package/{components/admin/forms → admin/product/components}/product-form/basic-info-section.d.ts +0 -0
  66. /package/{components/admin/forms → admin/product/components}/product-form/index.d.ts +0 -0
  67. /package/{components/admin/forms → admin/product/components}/product-form/metadata-section.d.ts +0 -0
  68. /package/{components/admin/forms → admin/product/components}/product-form/modifier-group-dialog.d.ts +0 -0
  69. /package/{components/admin/forms → admin/product/components}/product-form/modifiers-list.d.ts +0 -0
  70. /package/{components/admin/forms → admin/product/components}/product-form/modifiers-section.d.ts +0 -0
  71. /package/{components/admin/forms → admin/product/components}/product-form/price-section.d.ts +0 -0
  72. /package/{components/admin/partials → admin/product/components}/products-list/columns.d.ts +0 -0
  73. /package/{components/admin/partials → admin/product/components}/products-list/index.d.ts +0 -0
  74. /package/{views/products/ProductCreateView.d.ts → admin/product/views/product-create-view.d.ts} +0 -0
  75. /package/{views/products/ProductEditView.d.ts → admin/product/views/product-edit-view.d.ts} +0 -0
  76. /package/{views/products/ProductsListView.d.ts → admin/product/views/products-list-view.d.ts} +0 -0
  77. /package/{components/admin/partials → admin/product-category/components}/product-categories-list/columns.d.ts +0 -0
  78. /package/{components/admin/partials → admin/product-category/components}/product-categories-list/index.d.ts +0 -0
  79. /package/{components/admin/forms/product-category.form.d.ts → admin/product-category/components/product-category-form.d.ts} +0 -0
  80. /package/{views/product-categories/ProductCategoriesListView.d.ts → admin/product-category/views/product-categories-list-view.d.ts} +0 -0
  81. /package/{views/product-categories/ProductCategoryCreateView.d.ts → admin/product-category/views/product-category-create-view.d.ts} +0 -0
  82. /package/{views/product-categories/ProductCategoryEditView.d.ts → admin/product-category/views/product-category-edit-view.d.ts} +0 -0
  83. /package/{components/admin/partials → admin/reservation/components}/reservations-list/actions-cell.d.ts +0 -0
  84. /package/{components/admin/partials → admin/reservation/components}/reservations-list/columns.d.ts +0 -0
  85. /package/{components/admin/partials → admin/reservation/components}/reservations-list/index.d.ts +0 -0
  86. /package/{components/admin/partials → admin/reservation/components}/reservations-list/reservation-details-modal.d.ts +0 -0
  87. /package/{views/ReservationsView.d.ts → admin/reservation/views/reservations-view.d.ts} +0 -0
  88. /package/{router/AdminRouter.d.ts → admin/router/admin-router.d.ts} +0 -0
  89. /package/{router → admin/router}/resolve.d.ts +0 -0
  90. /package/{router → admin/router}/routes.d.ts +0 -0
  91. /package/{components/admin/partials → admin/settings/access/components}/members-list/index.d.ts +0 -0
  92. /package/{components/admin/partials/members-list/PendingInvitations.d.ts → admin/settings/access/components/members-list/pending-invitations.d.ts} +0 -0
  93. /package/{views/settings/access/AccessInviteView.d.ts → admin/settings/access/views/access-invite-view.d.ts} +0 -0
  94. /package/{views/settings/access/AccessListView.d.ts → admin/settings/access/views/access-list-view.d.ts} +0 -0
  95. /package/{views/settings/access/AccessMemberEditView.d.ts → admin/settings/access/views/access-member-edit-view.d.ts} +0 -0
  96. /package/{components/ui/settings/ModalAddUser.d.ts → admin/settings/components/modal-add-user.d.ts} +0 -0
  97. /package/{components/admin/forms → admin/settings/components}/organization-configuration-form.d.ts +0 -0
  98. /package/{views/settings/OpeningTimesView.d.ts → admin/settings/opening-times/views/opening-times-view.d.ts} +0 -0
  99. /package/{components/admin/partials → admin/settings/shipping-method/components}/shipping-methods-list/index.d.ts +0 -0
  100. /package/{views/settings/shipping-methods/ShippingMethodCreateView.d.ts → admin/settings/shipping-method/views/shipping-method-create-view.d.ts} +0 -0
  101. /package/{views/settings/shipping-methods/ShippingMethodEditView.d.ts → admin/settings/shipping-method/views/shipping-method-edit-view.d.ts} +0 -0
  102. /package/{views/settings/shipping-methods/ShippingMethodsListView.d.ts → admin/settings/shipping-method/views/shipping-methods-list-view.d.ts} +0 -0
  103. /package/{views/settings/SettingsLayout.d.ts → admin/settings/views/settings-layout.d.ts} +0 -0
  104. /package/{views/settings/SettingsView.d.ts → admin/settings/views/settings-view.d.ts} +0 -0
  105. /package/{views/AdminShell.d.ts → admin/shell/views/admin-shell.d.ts} +0 -0
  106. /package/{views/ErrorView.d.ts → admin/shell/views/error-view.d.ts} +0 -0
  107. /package/{components/ui → ui}/badge.d.ts +0 -0
  108. /package/{components/ui → ui}/button.d.ts +0 -0
  109. /package/{components/ui → ui}/calendar.d.ts +0 -0
  110. /package/{components/ui → ui}/card.d.ts +0 -0
  111. /package/{components/ui → ui}/checkbox.d.ts +0 -0
  112. /package/{components/ui → ui}/command-bar.d.ts +0 -0
  113. /package/{components/ui → ui}/command.d.ts +0 -0
  114. /package/{components/ui/data-table/DataTableBulkEditor.d.ts → ui/data-table/data-table-bulk-editor.d.ts} +0 -0
  115. /package/{components/ui/data-table/DataTableColumnHeader.d.ts → ui/data-table/data-table-column-header.d.ts} +0 -0
  116. /package/{components/ui/data-table/DataTableFilter.d.ts → ui/data-table/data-table-filter.d.ts} +0 -0
  117. /package/{components/ui/data-table/DataTableViewOptions.d.ts → ui/data-table/data-table-view-options.d.ts} +0 -0
  118. /package/{components/ui → ui}/data-table/tanstack-table.d.ts +0 -0
  119. /package/{components/ui → ui}/date-picker.d.ts +0 -0
  120. /package/{components/ui → ui}/dialog.d.ts +0 -0
  121. /package/{components/ui → ui}/divider.d.ts +0 -0
  122. /package/{components/ui → ui}/drawer.d.ts +0 -0
  123. /package/{components/ui → ui}/dropdown.d.ts +0 -0
  124. /package/{components/ui → ui}/form-generator.d.ts +0 -0
  125. /package/{components/ui → ui}/header.d.ts +0 -0
  126. /package/{components/ui/icons/ArrowAnimated.d.ts → ui/icons/arrow-animated.d.ts} +0 -0
  127. /package/{components/ui → ui}/icons/spinner-icon.d.ts +0 -0
  128. /package/{components/ui → ui}/input/country-input.d.ts +0 -0
  129. /package/{components/ui → ui}/input/email-input.d.ts +0 -0
  130. /package/{components/ui → ui}/input/phone-number-input.d.ts +0 -0
  131. /package/{components/ui → ui}/input/select-input.d.ts +0 -0
  132. /package/{components/ui → ui}/input/text-input.d.ts +0 -0
  133. /package/{components/ui → ui}/input-array-group.d.ts +0 -0
  134. /package/{components/ui → ui}/input-object-group.d.ts +0 -0
  135. /package/{components/ui → ui}/input.d.ts +0 -0
  136. /package/{components/ui → ui}/label.d.ts +0 -0
  137. /package/{components/ui → ui}/logo.d.ts +0 -0
  138. /package/{components/ui → ui}/multiple-select.d.ts +0 -0
  139. /package/{components/ui → ui}/popover.d.ts +0 -0
  140. /package/{components/ui → ui}/progress-bar.d.ts +0 -0
  141. /package/{components/ui → ui}/progress-circle.d.ts +0 -0
  142. /package/{components/ui → ui}/radio-card.d.ts +0 -0
  143. /package/{components/ui → ui}/search-bar.d.ts +0 -0
  144. /package/{components/ui → ui}/select.d.ts +0 -0
  145. /package/{components/ui → ui}/switch.d.ts +0 -0
  146. /package/{components/ui → ui}/tab-navigation.d.ts +0 -0
  147. /package/{components/ui → ui}/table.d.ts +0 -0
  148. /package/{components/ui → ui}/tooltip.d.ts +0 -0
package/config.d.ts ADDED
@@ -0,0 +1,6 @@
1
+ export type { AdminConfig, ResolvedAdminConfig } from './types';
2
+ /**
3
+ * Define and validate an AdminConfig object. Applies default basePath of "/admin".
4
+ * Use this in your host app's config file.
5
+ */
6
+ export declare function defineConfig(config: import('./types').AdminConfig): import('./types').ResolvedAdminConfig;
@@ -0,0 +1,16 @@
1
+ import { default as React } from 'react';
2
+ interface RouteParams {
3
+ organizationId?: string;
4
+ id?: string;
5
+ }
6
+ export declare function RouteParamsProvider({ children, organizationId, id, }: {
7
+ children: React.ReactNode;
8
+ organizationId?: string;
9
+ id?: string;
10
+ }): import("react/jsx-runtime").JSX.Element;
11
+ export declare function useRouteParams(): RouteParams;
12
+ /** Returns the current organizationId. Only call this from org-scoped routes. */
13
+ export declare function useOrgId(): string;
14
+ /** Returns the current route entity id. Only call this from edit/detail routes. */
15
+ export declare function useRouteId(): string;
16
+ export {};
package/index.d.ts CHANGED
@@ -1,7 +1,7 @@
1
1
  export { defineConfig } from './config';
2
2
  export type { AdminConfig, ResolvedAdminConfig } from './types';
3
- export { AdminProvider } from './providers/admin-provider';
4
- export { createAdminAuthClient, getAdminAuthClient } from './lib/auth';
5
- export type { AdminAuthClient } from './lib/auth';
6
- export { createRoutes } from './router/routes';
7
- export type { AdminRoutes } from './router/routes';
3
+ export { AdminProvider } from './admin/providers/admin-provider';
4
+ export { createAdminAuthClient, getAdminAuthClient } from './admin/lib/auth';
5
+ export type { AdminAuthClient } from './admin/lib/auth';
6
+ export { createRoutes } from './admin/router/routes';
7
+ export type { AdminRoutes } from './admin/router/routes';
package/index.mjs CHANGED
@@ -1,4 +1,4 @@
1
- import { A as a, c as r, b as o, g as d } from "./admin-client.js";
1
+ import { A as i, c as r, a as o, g as d } from "./admin-client.js";
2
2
  function t(e) {
3
3
  return {
4
4
  basePath: "/admin",
@@ -6,7 +6,7 @@ function t(e) {
6
6
  };
7
7
  }
8
8
  export {
9
- a as AdminProvider,
9
+ i as AdminProvider,
10
10
  r as createAdminAuthClient,
11
11
  o as createRoutes,
12
12
  t as defineConfig,
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});function i(s){return{basePath:"/admin",...s}}function n(s){const t=s.replace(/\/$/,"");return{home:t,signIn:`${t}/auth/sign-in`,signUp:`${t}/auth/sign-up`,organizations:`${t}/organizations`,dashboard:e=>`${t}/${e}/dashboard`,liveOrders:e=>`${t}/${e}/live-orders`,orders:e=>`${t}/${e}/orders`,reservations:e=>`${t}/${e}/reservations`,products:e=>`${t}/${e}/products`,productCreate:e=>`${t}/${e}/products/create`,productEdit:(e,r)=>`${t}/${e}/products/${r}`,productCategories:e=>`${t}/${e}/product-categories`,productCategoryCreate:e=>`${t}/${e}/product-categories/create`,productCategoryEdit:(e,r)=>`${t}/${e}/product-categories/${r}`,manufacturers:e=>`${t}/${e}/manufacturers`,manufacturerCreate:e=>`${t}/${e}/manufacturers/create`,manufacturerEdit:(e,r)=>`${t}/${e}/manufacturers/${r}`,settings:e=>`${t}/${e}/settings`,settingsOpeningTimes:e=>`${t}/${e}/settings/opening-times`,settingsShippingMethods:e=>`${t}/${e}/settings/shipping-methods`,settingsShippingMethodCreate:e=>`${t}/${e}/settings/shipping-methods/create`,settingsShippingMethodEdit:(e,r)=>`${t}/${e}/settings/shipping-methods/${r}`}}exports.createRoutes=n;exports.defineConfig=i;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});function r(i){return{basePath:"/admin",...i}}function n(i){const t=i.replace(/\/$/,"");return{home:t,signIn:`${t}/auth/sign-in`,signUp:`${t}/auth/sign-up`,organizations:`${t}/organizations`,dashboard:e=>`${t}/${e}/dashboard`,liveOrders:e=>`${t}/${e}/live-orders`,orders:e=>`${t}/${e}/orders`,reservations:e=>`${t}/${e}/reservations`,products:e=>`${t}/${e}/products`,productCreate:e=>`${t}/${e}/products/create`,productEdit:(e,s)=>`${t}/${e}/products/${s}`,productCategories:e=>`${t}/${e}/product-categories`,productCategoryCreate:e=>`${t}/${e}/product-categories/create`,productCategoryEdit:(e,s)=>`${t}/${e}/product-categories/${s}`,manufacturers:e=>`${t}/${e}/manufacturers`,manufacturerCreate:e=>`${t}/${e}/manufacturers/create`,manufacturerEdit:(e,s)=>`${t}/${e}/manufacturers/${s}`,settings:e=>`${t}/${e}/settings`,settingsOpeningTimes:e=>`${t}/${e}/settings/opening-times`,settingsShippingMethods:e=>`${t}/${e}/settings/shipping-methods`,settingsShippingMethodCreate:e=>`${t}/${e}/settings/shipping-methods/create`,settingsShippingMethodEdit:(e,s)=>`${t}/${e}/settings/shipping-methods/${s}`,settingsAccess:e=>`${t}/${e}/settings/access`,settingsAccessInvite:e=>`${t}/${e}/settings/access/invite`,settingsAccessMemberEdit:(e,s)=>`${t}/${e}/settings/access/${s}`}}exports.createRoutes=n;exports.defineConfig=r;
@@ -1,8 +1,8 @@
1
1
  export type { AdminConfig, ResolvedAdminConfig } from './types';
2
- export type { AdminRoutes } from './router/routes';
2
+ export type { AdminRoutes } from './admin/router/routes';
3
3
  /**
4
4
  * Define and validate an AdminConfig object. Applies default basePath of "/admin".
5
5
  * Use this in your host app's config file.
6
6
  */
7
7
  export declare function defineConfig(config: import('./types').AdminConfig): import('./types').ResolvedAdminConfig;
8
- export declare function createRoutes(basePath: string): import('./router/routes').AdminRoutes;
8
+ export declare function createRoutes(basePath: string): import('./admin/router/routes').AdminRoutes;
@@ -1,11 +1,11 @@
1
- function i(s) {
1
+ function r(i) {
2
2
  return {
3
3
  basePath: "/admin",
4
- ...s
4
+ ...i
5
5
  };
6
6
  }
7
- function n(s) {
8
- const e = s.replace(/\/$/, "");
7
+ function n(i) {
8
+ const e = i.replace(/\/$/, "");
9
9
  return {
10
10
  home: e,
11
11
  signIn: `${e}/auth/sign-in`,
@@ -17,21 +17,24 @@ function n(s) {
17
17
  reservations: (t) => `${e}/${t}/reservations`,
18
18
  products: (t) => `${e}/${t}/products`,
19
19
  productCreate: (t) => `${e}/${t}/products/create`,
20
- productEdit: (t, r) => `${e}/${t}/products/${r}`,
20
+ productEdit: (t, s) => `${e}/${t}/products/${s}`,
21
21
  productCategories: (t) => `${e}/${t}/product-categories`,
22
22
  productCategoryCreate: (t) => `${e}/${t}/product-categories/create`,
23
- productCategoryEdit: (t, r) => `${e}/${t}/product-categories/${r}`,
23
+ productCategoryEdit: (t, s) => `${e}/${t}/product-categories/${s}`,
24
24
  manufacturers: (t) => `${e}/${t}/manufacturers`,
25
25
  manufacturerCreate: (t) => `${e}/${t}/manufacturers/create`,
26
- manufacturerEdit: (t, r) => `${e}/${t}/manufacturers/${r}`,
26
+ manufacturerEdit: (t, s) => `${e}/${t}/manufacturers/${s}`,
27
27
  settings: (t) => `${e}/${t}/settings`,
28
28
  settingsOpeningTimes: (t) => `${e}/${t}/settings/opening-times`,
29
29
  settingsShippingMethods: (t) => `${e}/${t}/settings/shipping-methods`,
30
30
  settingsShippingMethodCreate: (t) => `${e}/${t}/settings/shipping-methods/create`,
31
- settingsShippingMethodEdit: (t, r) => `${e}/${t}/settings/shipping-methods/${r}`
31
+ settingsShippingMethodEdit: (t, s) => `${e}/${t}/settings/shipping-methods/${s}`,
32
+ settingsAccess: (t) => `${e}/${t}/settings/access`,
33
+ settingsAccessInvite: (t) => `${e}/${t}/settings/access/invite`,
34
+ settingsAccessMemberEdit: (t, s) => `${e}/${t}/settings/access/${s}`
32
35
  };
33
36
  }
34
37
  export {
35
38
  n as createRoutes,
36
- i as defineConfig
39
+ r as defineConfig
37
40
  };
package/next/server.cjs CHANGED
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const i=require("react/jsx-runtime"),a=require("../admin-client.cjs");async function o({config:e,params:t}){const{segments:n=[]}=await t;return i.jsx(a.AdminProvider,{config:e,children:i.jsx(a.AdminRouter,{segments:n})})}function d(e,t){var r;return{title:(r=e.branding)!=null&&r.name?`${e.branding.name} Admin`:"Admin",robots:{index:!1,follow:!1},...e.metadata,...t}}exports.NotFoundPage=a.ErrorView;exports.RootPage=o;exports.generatePageMetadata=d;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const t=require("react/jsx-runtime"),e=require("../admin-client.cjs"),f=require("next/navigation.js"),w=require("react");function V(s){if(s.length===0)return{type:"home"};const[a,n,i,o,c]=s;if(a==="auth")return n==="sign-in"?{type:"sign-in"}:n==="sign-up"?{type:"sign-up"}:{type:"not-found"};if(a==="organizations")return{type:"organizations"};const r=a;return n?n==="dashboard"?{type:"dashboard",orgId:r}:n==="orders"?{type:"orders",orgId:r}:n==="reservations"?{type:"reservations",orgId:r}:n==="products"?i?i==="create"?{type:"product-create",orgId:r}:{type:"product-edit",orgId:r,id:i}:{type:"products-list",orgId:r}:n==="product-categories"?i?i==="create"?{type:"product-category-create",orgId:r}:{type:"product-category-edit",orgId:r,id:i}:{type:"product-categories-list",orgId:r}:n==="manufacturers"?i?i==="create"?{type:"manufacturer-create",orgId:r}:{type:"manufacturer-edit",orgId:r,id:i}:{type:"manufacturers-list",orgId:r}:n==="settings"?i?i==="opening-times"?{type:"settings-opening-times",orgId:r}:i==="shipping-methods"?o?o==="create"?{type:"shipping-method-create",orgId:r}:{type:"shipping-method-edit",orgId:r,id:o}:{type:"shipping-methods-list",orgId:r}:i==="access"?o?o==="invite"?{type:"access-invite",orgId:r}:{type:"access-member-edit",orgId:r,id:o}:{type:"access-list",orgId:r}:{type:"settings",orgId:r}:{type:"settings",orgId:r}:{type:"not-found"}:{type:"not-found"}}function v({segments:s}){const a=e.useAdminAuth(),n=e.useAdminRoutes(),i=f.useRouter(),o=f.usePathname(),c=f.useSearchParams(),{data:r,isPending:p}=a.useSession(),u=V(s),d=u.type==="sign-in"||u.type==="sign-up",l=u.type==="home"||u.type==="organizations",y=c==null?void 0:c.get("redirect"),h=c==null?void 0:c.toString(),m=o?`${o}${h?`?${h}`:""}`:n.home,g=d?e.resolveAdminRedirectPath(y,n):m;if(w.useEffect(()=>{if(!p){if(!r&&!d){i.replace(e.buildAdminAuthHref(n.signIn,g));return}r&&d&&i.replace(g)}},[r,p,d,i,n.signIn,g]),p)return t.jsx("div",{className:"flex justify-center items-center h-screen",children:t.jsx("div",{className:"animate-spin rounded-full h-12 w-12 border-b-2 border-blue-600"})});if(d){if(u.type==="sign-in")return t.jsx(e.SignInView,{});if(u.type==="sign-up")return t.jsx(e.SignUpView,{})}if(!r)return null;if(l)return t.jsx(e.OrganizationProvider,{children:t.jsx(e.OrganizationsView,{})});if(u.type==="not-found")return t.jsx(e.ErrorView,{});const j="orgId"in u?u.orgId:void 0,x="id"in u?u.id:void 0;return t.jsx(e.RouteParamsProvider,{organizationId:j,id:x,children:t.jsx(e.OrganizationProvider,{children:t.jsx(e.FlyoutProvider,{children:t.jsx(e.AdminShell,{children:P(u)})})})})}function P(s){switch(s.type){case"dashboard":return t.jsx(e.DashboardView,{});case"orders":return t.jsx(e.OrdersView,{});case"reservations":return t.jsx(e.ReservationsView,{});case"products-list":return t.jsx(e.ProductsListView,{});case"product-create":return t.jsx(e.ProductCreateView,{});case"product-edit":return t.jsx(e.ProductEditView,{});case"product-categories-list":return t.jsx(e.ProductCategoriesListView,{});case"product-category-create":return t.jsx(e.ProductCategoryCreateView,{});case"product-category-edit":return t.jsx(e.ProductCategoryEditView,{});case"manufacturers-list":return t.jsx(e.ManufacturersListView,{});case"manufacturer-create":return t.jsx(e.ManufacturerCreateView,{});case"manufacturer-edit":return t.jsx(e.ManufacturerEditView,{});case"settings":return t.jsx(e.SettingsLayout,{children:t.jsx(e.SettingsView,{})});case"settings-opening-times":return t.jsx(e.SettingsLayout,{children:t.jsx(e.OpeningTimesView,{})});case"shipping-methods-list":return t.jsx(e.SettingsLayout,{children:t.jsx(e.ShippingMethodsListView,{})});case"shipping-method-create":return t.jsx(e.SettingsLayout,{children:t.jsx(e.ShippingMethodCreateView,{})});case"shipping-method-edit":return t.jsx(e.SettingsLayout,{children:t.jsx(e.ShippingMethodEditView,{})});case"access-list":return t.jsx(e.SettingsLayout,{children:t.jsx(e.AccessListView,{})});case"access-invite":return t.jsx(e.SettingsLayout,{children:t.jsx(e.AccessInviteView,{})});case"access-member-edit":return t.jsx(e.SettingsLayout,{children:t.jsx(e.AccessMemberEditView,{})});default:return t.jsx(e.ErrorView,{})}}async function S({config:s,params:a}){const{segments:n=[]}=await a;return t.jsx(e.AdminProvider,{config:s,children:t.jsx(v,{segments:n})})}function b(s,a){var i;return{title:(i=s.branding)!=null&&i.name?`${s.branding.name} Admin`:"Admin",robots:{index:!1,follow:!1},...s.metadata,...a}}exports.NotFoundPage=e.ErrorView;exports.RootPage=S;exports.generatePageMetadata=b;
package/next/server.d.ts CHANGED
@@ -25,7 +25,7 @@ export declare function RootPage({ config, params }: RootPageProps): Promise<imp
25
25
  * import { NotFoundPage } from "@shophost/react/next/server";
26
26
  * export default NotFoundPage;
27
27
  */
28
- export { ErrorView as NotFoundPage } from '../views/ErrorView';
28
+ export { ErrorView as NotFoundPage } from '../admin/shell/views/error-view';
29
29
  /**
30
30
  * Generate page metadata from AdminConfig.
31
31
  *
package/next/server.mjs CHANGED
@@ -1,21 +1,102 @@
1
- import { jsx as o } from "react/jsx-runtime";
2
- import { A as r, a as i } from "../admin-client.js";
3
- import { E as g } from "../admin-client.js";
4
- async function s({ config: e, params: t }) {
5
- const { segments: a = [] } = await t;
6
- return /* @__PURE__ */ o(r, { config: e, children: /* @__PURE__ */ o(i, { segments: a }) });
1
+ import { jsx as e } from "react/jsx-runtime";
2
+ import { u as P, b, r as A, d as S, S as R, e as C, O as h, f as I, E as l, R as M, F as z, h as E, i as o, j as O, k as L, l as x, m as $, n as j, o as F, p as N, q as T, M as q, s as D, t as H, P as k, v as B, w as U, x as G, y as J, z as K, B as Q, C as W, D as X, A as Y } from "../admin-client.js";
3
+ import { useRouter as Z, usePathname as _, useSearchParams as ee } from "next/navigation.js";
4
+ import { useEffect as te } from "react";
5
+ function re(n) {
6
+ if (n.length === 0) return { type: "home" };
7
+ const [a, i, r, u, c] = n;
8
+ if (a === "auth")
9
+ return i === "sign-in" ? { type: "sign-in" } : i === "sign-up" ? { type: "sign-up" } : { type: "not-found" };
10
+ if (a === "organizations") return { type: "organizations" };
11
+ const t = a;
12
+ return i ? i === "dashboard" ? { type: "dashboard", orgId: t } : i === "orders" ? { type: "orders", orgId: t } : i === "reservations" ? { type: "reservations", orgId: t } : i === "products" ? r ? r === "create" ? { type: "product-create", orgId: t } : { type: "product-edit", orgId: t, id: r } : { type: "products-list", orgId: t } : i === "product-categories" ? r ? r === "create" ? { type: "product-category-create", orgId: t } : { type: "product-category-edit", orgId: t, id: r } : { type: "product-categories-list", orgId: t } : i === "manufacturers" ? r ? r === "create" ? { type: "manufacturer-create", orgId: t } : { type: "manufacturer-edit", orgId: t, id: r } : { type: "manufacturers-list", orgId: t } : i === "settings" ? r ? r === "opening-times" ? { type: "settings-opening-times", orgId: t } : r === "shipping-methods" ? u ? u === "create" ? { type: "shipping-method-create", orgId: t } : { type: "shipping-method-edit", orgId: t, id: u } : { type: "shipping-methods-list", orgId: t } : r === "access" ? u ? u === "invite" ? { type: "access-invite", orgId: t } : { type: "access-member-edit", orgId: t, id: u } : { type: "access-list", orgId: t } : { type: "settings", orgId: t } : { type: "settings", orgId: t } : { type: "not-found" } : { type: "not-found" };
7
13
  }
8
- function l(e, t) {
9
- var n;
14
+ function ie({ segments: n }) {
15
+ const a = P(), i = b(), r = Z(), u = _(), c = ee(), { data: t, isPending: p } = a.useSession(), s = re(n), d = s.type === "sign-in" || s.type === "sign-up", m = s.type === "home" || s.type === "organizations", y = c == null ? void 0 : c.get("redirect"), g = c == null ? void 0 : c.toString(), w = u ? `${u}${g ? `?${g}` : ""}` : i.home, f = d ? A(y, i) : w;
16
+ if (te(() => {
17
+ if (!p) {
18
+ if (!t && !d) {
19
+ r.replace(S(i.signIn, f));
20
+ return;
21
+ }
22
+ t && d && r.replace(f);
23
+ }
24
+ }, [t, p, d, r, i.signIn, f]), p)
25
+ return /* @__PURE__ */ e("div", { className: "flex justify-center items-center h-screen", children: /* @__PURE__ */ e("div", { className: "animate-spin rounded-full h-12 w-12 border-b-2 border-blue-600" }) });
26
+ if (d) {
27
+ if (s.type === "sign-in") return /* @__PURE__ */ e(R, {});
28
+ if (s.type === "sign-up") return /* @__PURE__ */ e(C, {});
29
+ }
30
+ if (!t)
31
+ return null;
32
+ if (m)
33
+ return /* @__PURE__ */ e(h, { children: /* @__PURE__ */ e(I, {}) });
34
+ if (s.type === "not-found")
35
+ return /* @__PURE__ */ e(l, {});
36
+ const V = "orgId" in s ? s.orgId : void 0, v = "id" in s ? s.id : void 0;
37
+ return /* @__PURE__ */ e(M, { organizationId: V, id: v, children: /* @__PURE__ */ e(h, { children: /* @__PURE__ */ e(z, { children: /* @__PURE__ */ e(E, { children: ne(s) }) }) }) });
38
+ }
39
+ function ne(n) {
40
+ switch (n.type) {
41
+ case "dashboard":
42
+ return /* @__PURE__ */ e(X, {});
43
+ case "orders":
44
+ return /* @__PURE__ */ e(W, {});
45
+ case "reservations":
46
+ return /* @__PURE__ */ e(Q, {});
47
+ case "products-list":
48
+ return /* @__PURE__ */ e(K, {});
49
+ case "product-create":
50
+ return /* @__PURE__ */ e(J, {});
51
+ case "product-edit":
52
+ return /* @__PURE__ */ e(G, {});
53
+ case "product-categories-list":
54
+ return /* @__PURE__ */ e(U, {});
55
+ case "product-category-create":
56
+ return /* @__PURE__ */ e(B, {});
57
+ case "product-category-edit":
58
+ return /* @__PURE__ */ e(k, {});
59
+ case "manufacturers-list":
60
+ return /* @__PURE__ */ e(H, {});
61
+ case "manufacturer-create":
62
+ return /* @__PURE__ */ e(D, {});
63
+ case "manufacturer-edit":
64
+ return /* @__PURE__ */ e(q, {});
65
+ case "settings":
66
+ return /* @__PURE__ */ e(o, { children: /* @__PURE__ */ e(T, {}) });
67
+ case "settings-opening-times":
68
+ return /* @__PURE__ */ e(o, { children: /* @__PURE__ */ e(N, {}) });
69
+ case "shipping-methods-list":
70
+ return /* @__PURE__ */ e(o, { children: /* @__PURE__ */ e(F, {}) });
71
+ case "shipping-method-create":
72
+ return /* @__PURE__ */ e(o, { children: /* @__PURE__ */ e(j, {}) });
73
+ case "shipping-method-edit":
74
+ return /* @__PURE__ */ e(o, { children: /* @__PURE__ */ e($, {}) });
75
+ case "access-list":
76
+ return /* @__PURE__ */ e(o, { children: /* @__PURE__ */ e(x, {}) });
77
+ case "access-invite":
78
+ return /* @__PURE__ */ e(o, { children: /* @__PURE__ */ e(L, {}) });
79
+ case "access-member-edit":
80
+ return /* @__PURE__ */ e(o, { children: /* @__PURE__ */ e(O, {}) });
81
+ default:
82
+ return /* @__PURE__ */ e(l, {});
83
+ }
84
+ }
85
+ async function ce({ config: n, params: a }) {
86
+ const { segments: i = [] } = await a;
87
+ return /* @__PURE__ */ e(Y, { config: n, children: /* @__PURE__ */ e(ie, { segments: i }) });
88
+ }
89
+ function de(n, a) {
90
+ var r;
10
91
  return {
11
- title: (n = e.branding) != null && n.name ? `${e.branding.name} Admin` : "Admin",
92
+ title: (r = n.branding) != null && r.name ? `${n.branding.name} Admin` : "Admin",
12
93
  robots: { index: !1, follow: !1 },
13
- ...e.metadata,
14
- ...t
94
+ ...n.metadata,
95
+ ...a
15
96
  };
16
97
  }
17
98
  export {
18
- g as NotFoundPage,
19
- s as RootPage,
20
- l as generatePageMetadata
99
+ l as NotFoundPage,
100
+ ce as RootPage,
101
+ de as generatePageMetadata
21
102
  };
package/next/views.d.ts CHANGED
@@ -4,4 +4,4 @@
4
4
  * This entry is kept for backward compatibility. The server-safe exports
5
5
  * (RootPage, generatePageMetadata) have moved to "@shophost/react/next/server".
6
6
  */
7
- export { ErrorView as NotFoundPage } from '../views/ErrorView';
7
+ export { ErrorView as NotFoundPage } from '../admin/shell/views/error-view';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@shophost/react",
3
- "version": "2.0.29",
3
+ "version": "2.0.30",
4
4
  "type": "module",
5
5
  "main": "./index.cjs",
6
6
  "module": "./index.mjs",
@@ -31,21 +31,16 @@
31
31
  },
32
32
  "license": "UNLICENSED",
33
33
  "files": [
34
- "components",
34
+ "admin",
35
35
  "config",
36
- "data",
36
+ "contexts",
37
37
  "lib",
38
38
  "next",
39
39
  "providers",
40
- "router",
41
40
  "storefront",
41
+ "ui",
42
42
  "utils",
43
- "views",
44
- "index.d.ts",
45
- "index.react-server.d.ts",
46
- "index.mjs",
47
- "index.react-server.mjs",
48
- "index.cjs",
43
+ "*.d.ts",
49
44
  "*.mjs",
50
45
  "*.js",
51
46
  "*.cjs",
@@ -71,8 +66,8 @@
71
66
  "@hookform/resolvers": "^3.9.0",
72
67
  "@react-aria/datepicker": "^3.16.1",
73
68
  "@react-stately/datepicker": "^3.16.1",
74
- "@shophost/client": "^2.0.29",
75
- "@shophost/rest-api": "^2.0.29",
69
+ "@shophost/client": "^2.0.30",
70
+ "@shophost/rest-api": "^2.0.30",
76
71
  "@internationalized/date": "^3.12.0",
77
72
  "@radix-ui/react-checkbox": "^1.3.3",
78
73
  "@radix-ui/react-dialog": "^1.1.6",
package/storefront.mjs CHANGED
@@ -1,5 +1,5 @@
1
1
  "use client";
2
- import { G as o, l as e, au as r, J as t, i, j as n, f as d, h as m, C as u, m as C, $ as l, am as p, an as g, ao as P, ap as c, aq as I, a0 as D, a3 as f, a4 as v, a1 as M, a5 as h, a2 as S, a7 as B, a6 as T, R as G, k as b, a8 as w, a9 as y, aa as A, ab as L, ac as R, ad as k, ae as x, af as F, aw as O, O as V, W as q, L as z, _ as E, Y as j, N as H, n as N, M as Q, o as U, q as J, p as K, P as W, ag as X, ah as Y, ai as Z, aj as _, ak as $, Q as aa, ar as sa, as as oa, at as ea, T as ra, S as ta, F as ia, al as na, U as da, V as ma, X as ua, av as Ca, K as la, w as pa, z as ga, x as Pa, Z as ca, y as Ia, D as Da, B as fa, H as va, d as Ma, u as ha, v as Sa, t as Ba, e as Ta, s as Ga, I as ba, r as wa } from "./admin-client.js";
2
+ import { ac as o, V as e, aZ as r, af as t, N as i, Q as n, K as d, L as m, G as u, W as C, au as l, aR as p, aS as g, aT as I, aU as P, aV as c, av as D, ay as f, az as M, aw as v, aA as S, ax as h, aC as B, aB as T, al as G, T as A, aD as L, aE as b, aF as y, aG as R, aH as V, aI as w, aJ as x, aK as E, a$ as F, ak as O, ap as k, ah as z, at as H, ar as N, ai as Q, Y as U, X as q, _ as J, a0 as K, $ as W, aj as X, aL as Y, aM as Z, aN as _, aO as $, aP as j, Z as aa, aW as sa, aX as oa, aY as ea, am as ra, U as ta, ab as ia, aQ as na, an as da, ao as ma, aq as ua, a_ as Ca, ag as la, a5 as pa, a8 as ga, a6 as Ia, as as Pa, a7 as ca, aa as Da, a9 as fa, ad as Ma, I as va, H as Sa, a4 as ha, a3 as Ba, J as Ta, a2 as Ga, ae as Aa, a1 as La } from "./admin-client.js";
3
3
  export {
4
4
  o as APIProvider,
5
5
  e as AccountPages,
@@ -14,45 +14,45 @@ export {
14
14
  l as Command,
15
15
  p as CommandBar,
16
16
  g as CommandBarBar,
17
- P as CommandBarCommand,
18
- c as CommandBarSeperator,
19
- I as CommandBarValue,
17
+ I as CommandBarCommand,
18
+ P as CommandBarSeperator,
19
+ c as CommandBarValue,
20
20
  D as CommandDialog,
21
21
  f as CommandEmpty,
22
- v as CommandGroup,
23
- M as CommandInput,
24
- h as CommandItem,
25
- S as CommandList,
22
+ M as CommandGroup,
23
+ v as CommandInput,
24
+ S as CommandItem,
25
+ h as CommandList,
26
26
  B as CommandSeparator,
27
27
  T as CommandShortcut,
28
28
  G as CountryInput,
29
- b as CustomerDetailsPage,
30
- w as Dialog,
31
- y as DialogClose,
32
- A as DialogContent,
33
- L as DialogDescription,
34
- R as DialogFooter,
35
- k as DialogHeader,
29
+ A as CustomerDetailsPage,
30
+ L as Dialog,
31
+ b as DialogClose,
32
+ y as DialogContent,
33
+ R as DialogDescription,
34
+ V as DialogFooter,
35
+ w as DialogHeader,
36
36
  x as DialogTitle,
37
- F as DialogTrigger,
38
- O as Divider,
39
- V as EmailInput,
40
- q as ImageUploadInput,
37
+ E as DialogTrigger,
38
+ F as Divider,
39
+ O as EmailInput,
40
+ k as ImageUploadInput,
41
41
  z as Input,
42
- E as InputGroup,
43
- j as Label,
44
- H as LocationInput,
45
- N as ModifierContainer,
46
- Q as ModifiersDialog,
47
- U as ModifiersGroup,
48
- J as ModifiersModal,
49
- K as ModifiersOption,
50
- W as PhoneNumberInput,
51
- X as Popover,
52
- Y as PopoverAnchor,
53
- Z as PopoverClose,
54
- _ as PopoverContent,
55
- $ as PopoverTrigger,
42
+ H as InputGroup,
43
+ N as Label,
44
+ Q as LocationInput,
45
+ U as ModifierContainer,
46
+ q as ModifiersDialog,
47
+ J as ModifiersGroup,
48
+ K as ModifiersModal,
49
+ W as ModifiersOption,
50
+ X as PhoneNumberInput,
51
+ Y as Popover,
52
+ Z as PopoverAnchor,
53
+ _ as PopoverClose,
54
+ $ as PopoverContent,
55
+ j as PopoverTrigger,
56
56
  aa as QuantityControl,
57
57
  sa as RadioCardGroup,
58
58
  oa as RadioCardGroupIndicator,
@@ -68,18 +68,18 @@ export {
68
68
  la as buttonVariants,
69
69
  pa as calculateCartTotal,
70
70
  ga as findCartItem,
71
- Pa as formatPrice,
72
- ca as getFieldError,
73
- Ia as getFormattedModifiers,
71
+ Ia as formatPrice,
72
+ Pa as getFieldError,
73
+ ca as getFormattedModifiers,
74
74
  Da as mockProducts,
75
75
  fa as productRequiresModifiers,
76
- va as useAPI,
77
- Ma as useCart,
78
- ha as useCartContext,
79
- Sa as useLocalization,
76
+ Ma as useAPI,
77
+ va as useCart,
78
+ Sa as useCartContext,
79
+ ha as useLocalization,
80
80
  Ba as useModifierSelection,
81
81
  Ta as useModifiers,
82
82
  Ga as useMultipleProductDetails,
83
- ba as useOrganization,
84
- wa as useProductDetails
83
+ Aa as useOrganization,
84
+ La as useProductDetails
85
85
  };
package/types.d.ts ADDED
@@ -0,0 +1,16 @@
1
+ import { Metadata } from 'next';
2
+ export interface AdminConfig {
3
+ basePath?: string;
4
+ apiBaseUrl: string;
5
+ metadata?: Partial<Metadata>;
6
+ branding?: {
7
+ name: string;
8
+ logoSrc?: string;
9
+ logoAlt?: string;
10
+ };
11
+ appearance?: {
12
+ loginImage?: string;
13
+ organizationImage?: string;
14
+ };
15
+ }
16
+ export type ResolvedAdminConfig = Required<Pick<AdminConfig, "basePath">> & AdminConfig;
@@ -1,5 +1,5 @@
1
1
  import { Table } from '@tanstack/react-table';
2
- import { PaginationMeta } from '../../../../../client/src/index.ts';
2
+ import { PaginationMeta } from '../../../../client/src/index.ts';
3
3
  interface DataTablePaginationProps<TData> {
4
4
  table: Table<TData>;
5
5
  meta: PaginationMeta;
@@ -1,5 +1,5 @@
1
1
  import { ColumnDef } from '@tanstack/react-table';
2
- import { PaginationMeta } from '../../../../../client/src/index.ts';
2
+ import { PaginationMeta } from '../../../../client/src/index.ts';
3
3
  interface DataTableProps<TData> {
4
4
  meta?: PaginationMeta & Record<string, unknown>;
5
5
  columns: ColumnDef<TData>[];
@@ -1,5 +1,5 @@
1
1
  import { default as React } from 'react';
2
- import { UploadedFile } from '../../../../../client/src/index.ts';
2
+ import { UploadedFile } from '../../../../client/src/index.ts';
3
3
  interface ImageUploadBaseProps {
4
4
  pathPrefix?: string;
5
5
  organizationId?: string;
@@ -1,5 +1,5 @@
1
1
  import { default as React } from 'react';
2
- import { Locale } from '../../../../client/src/index.ts';
2
+ import { Locale } from '../../../client/src/index.ts';
3
3
  import { InputType } from './input';
4
4
  import { Option } from './input/select-input';
5
5
  interface InputGroupProps {
@@ -1,5 +1,5 @@
1
1
  import { default as React } from 'react';
2
- import { AvailableChartColorsKeys } from '../../lib/chartUtils';
2
+ import { AvailableChartColorsKeys } from '../lib/chartUtils';
3
3
  type BaseEventProps = {
4
4
  eventType: 'dot' | 'category';
5
5
  categoryClicked: string;
File without changes
File without changes
File without changes
File without changes
File without changes