@vendure/dashboard 3.7.0-minor-202606300309 → 3.7.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.
Files changed (67) hide show
  1. package/dist/bundle/chunks/{2SSKDMRQ-DcQWY0tK.js → 2SSKDMRQ-Ddh65BrY.js} +2 -2
  2. package/dist/bundle/chunks/{AP7HFJJL-CQCyLJjj.js → AP7HFJJL-Db7gWBRq.js} +1 -1
  3. package/dist/bundle/chunks/{WDYDFRGG-CtEB5yut.js → WDYDFRGG-D-AGRv_K.js} +2 -2
  4. package/dist/bundle/chunks/{locale-C18D19Uq.js → locale-CWMUoRR5.js} +1 -1
  5. package/dist/bundle/chunks/{main-mRv-n7fc.js → main-DsM_74hl.js} +44 -25
  6. package/dist/bundle/chunks/{use-job-queue-polling-nsjJvh1W.js → use-job-queue-polling-DK3aRePa.js} +685 -633
  7. package/dist/bundle/lib.js +519 -516
  8. package/dist/bundle/main.js +2 -2
  9. package/dist/vite/utils/get-active-plugin-info.d.ts +29 -0
  10. package/dist/vite/utils/get-active-plugin-info.js +66 -0
  11. package/dist/vite/vite-plugin-config-loader.js +8 -2
  12. package/dist/vite/vite-plugin-dashboard-metadata.js +6 -4
  13. package/dist/vite/vite-plugin-lingui-babel.js +5 -2
  14. package/dist/vite/vite-plugin-tailwind-source.js +4 -2
  15. package/dist/vite/vite-plugin-theme.d.ts +46 -0
  16. package/dist/vite/vite-plugin-theme.js +21 -2
  17. package/dist/vite/vite-plugin-translations.js +7 -4
  18. package/dist/vite/vite-plugin-vendure-dashboard.d.ts +19 -2
  19. package/dist/vite/vite-plugin-vendure-dashboard.js +7 -1
  20. package/package.json +3 -3
  21. package/src/app/derive-base-url.spec.ts +53 -0
  22. package/src/app/derive-base-url.ts +41 -0
  23. package/src/app/main.tsx +6 -26
  24. package/src/app/routes/_authenticated/_products/components/product-options-table.tsx +15 -7
  25. package/src/app/routes/_authenticated/_products/components/product-variants-table.tsx +9 -0
  26. package/src/app/styles.css +9 -0
  27. package/src/lib/components/data-table/data-table-utils.ts +11 -5
  28. package/src/lib/components/data-table/data-table-view-options.tsx +15 -5
  29. package/src/lib/components/shared/paginated-list-data-table.tsx +7 -3
  30. package/src/lib/framework/data-table/data-table-extensions.ts +46 -1
  31. package/src/lib/framework/extension-api/logic/data-table.ts +8 -1
  32. package/src/lib/framework/extension-api/types/data-table.ts +21 -1
  33. package/src/lib/framework/page/list-page.tsx +4 -6
  34. package/src/lib/framework/registry/registry-types.ts +2 -0
  35. package/src/lib/hooks/use-view-option-defaults.ts +40 -0
  36. package/dist/vite/.vendure-dashboard-temp/compiler/4375-b91a8c88-8ac1-40d6-bc9a-2db646122d06/dev-config.js +0 -251
  37. package/dist/vite/.vendure-dashboard-temp/compiler/4375-b91a8c88-8ac1-40d6-bc9a-2db646122d06/package.json +0 -4
  38. package/dist/vite/.vendure-dashboard-temp/compiler/4375-b91a8c88-8ac1-40d6-bc9a-2db646122d06/test-plugins/nav-modifier-plugin/nav-modifier-plugin.js +0 -23
  39. package/dist/vite/.vendure-dashboard-temp/compiler/4375-b91a8c88-8ac1-40d6-bc9a-2db646122d06/test-plugins/reviews/api/api-extensions.js +0 -99
  40. package/dist/vite/.vendure-dashboard-temp/compiler/4375-b91a8c88-8ac1-40d6-bc9a-2db646122d06/test-plugins/reviews/api/product-entity.resolver.js +0 -73
  41. package/dist/vite/.vendure-dashboard-temp/compiler/4375-b91a8c88-8ac1-40d6-bc9a-2db646122d06/test-plugins/reviews/api/product-review-admin.resolver.js +0 -146
  42. package/dist/vite/.vendure-dashboard-temp/compiler/4375-b91a8c88-8ac1-40d6-bc9a-2db646122d06/test-plugins/reviews/api/product-review-entity.resolver.js +0 -79
  43. package/dist/vite/.vendure-dashboard-temp/compiler/4375-b91a8c88-8ac1-40d6-bc9a-2db646122d06/test-plugins/reviews/api/product-review-shop.resolver.js +0 -79
  44. package/dist/vite/.vendure-dashboard-temp/compiler/4375-b91a8c88-8ac1-40d6-bc9a-2db646122d06/test-plugins/reviews/entities/product-review-translation.entity.js +0 -47
  45. package/dist/vite/.vendure-dashboard-temp/compiler/4375-b91a8c88-8ac1-40d6-bc9a-2db646122d06/test-plugins/reviews/entities/product-review.entity.js +0 -90
  46. package/dist/vite/.vendure-dashboard-temp/compiler/4375-b91a8c88-8ac1-40d6-bc9a-2db646122d06/test-plugins/reviews/generated-admin-types.js +0 -1021
  47. package/dist/vite/.vendure-dashboard-temp/compiler/4375-b91a8c88-8ac1-40d6-bc9a-2db646122d06/test-plugins/reviews/generated-shop-types.js +0 -974
  48. package/dist/vite/.vendure-dashboard-temp/compiler/4375-b91a8c88-8ac1-40d6-bc9a-2db646122d06/test-plugins/reviews/reviews-plugin.js +0 -46
  49. package/dist/vite/.vendure-dashboard-temp/compiler/4375-b91a8c88-8ac1-40d6-bc9a-2db646122d06/test-plugins/reviews/types.js +0 -2
  50. package/dist/vite/.vendure-dashboard-temp/gql-tada/4375-b91a8c88-8ac1-40d6-bc9a-2db646122d06/schema.graphql +0 -6844
  51. package/dist/vite/.vendure-dashboard-temp/gql-tada/4375-b91a8c88-8ac1-40d6-bc9a-2db646122d06/tsconfig.json +0 -10
  52. /package/dist/vite/.vendure-dashboard-temp/compiler/{3355-0a5cc3e5-3f4b-452e-b1ef-a4b86964bd7e → 3390-1f9204be-301a-46ef-909f-bcf03820d62c}/dev-config.js +0 -0
  53. /package/dist/vite/.vendure-dashboard-temp/compiler/{3355-0a5cc3e5-3f4b-452e-b1ef-a4b86964bd7e → 3390-1f9204be-301a-46ef-909f-bcf03820d62c}/package.json +0 -0
  54. /package/dist/vite/.vendure-dashboard-temp/compiler/{3355-0a5cc3e5-3f4b-452e-b1ef-a4b86964bd7e → 3390-1f9204be-301a-46ef-909f-bcf03820d62c}/test-plugins/nav-modifier-plugin/nav-modifier-plugin.js +0 -0
  55. /package/dist/vite/.vendure-dashboard-temp/compiler/{3355-0a5cc3e5-3f4b-452e-b1ef-a4b86964bd7e → 3390-1f9204be-301a-46ef-909f-bcf03820d62c}/test-plugins/reviews/api/api-extensions.js +0 -0
  56. /package/dist/vite/.vendure-dashboard-temp/compiler/{3355-0a5cc3e5-3f4b-452e-b1ef-a4b86964bd7e → 3390-1f9204be-301a-46ef-909f-bcf03820d62c}/test-plugins/reviews/api/product-entity.resolver.js +0 -0
  57. /package/dist/vite/.vendure-dashboard-temp/compiler/{3355-0a5cc3e5-3f4b-452e-b1ef-a4b86964bd7e → 3390-1f9204be-301a-46ef-909f-bcf03820d62c}/test-plugins/reviews/api/product-review-admin.resolver.js +0 -0
  58. /package/dist/vite/.vendure-dashboard-temp/compiler/{3355-0a5cc3e5-3f4b-452e-b1ef-a4b86964bd7e → 3390-1f9204be-301a-46ef-909f-bcf03820d62c}/test-plugins/reviews/api/product-review-entity.resolver.js +0 -0
  59. /package/dist/vite/.vendure-dashboard-temp/compiler/{3355-0a5cc3e5-3f4b-452e-b1ef-a4b86964bd7e → 3390-1f9204be-301a-46ef-909f-bcf03820d62c}/test-plugins/reviews/api/product-review-shop.resolver.js +0 -0
  60. /package/dist/vite/.vendure-dashboard-temp/compiler/{3355-0a5cc3e5-3f4b-452e-b1ef-a4b86964bd7e → 3390-1f9204be-301a-46ef-909f-bcf03820d62c}/test-plugins/reviews/entities/product-review-translation.entity.js +0 -0
  61. /package/dist/vite/.vendure-dashboard-temp/compiler/{3355-0a5cc3e5-3f4b-452e-b1ef-a4b86964bd7e → 3390-1f9204be-301a-46ef-909f-bcf03820d62c}/test-plugins/reviews/entities/product-review.entity.js +0 -0
  62. /package/dist/vite/.vendure-dashboard-temp/compiler/{3355-0a5cc3e5-3f4b-452e-b1ef-a4b86964bd7e → 3390-1f9204be-301a-46ef-909f-bcf03820d62c}/test-plugins/reviews/generated-admin-types.js +0 -0
  63. /package/dist/vite/.vendure-dashboard-temp/compiler/{3355-0a5cc3e5-3f4b-452e-b1ef-a4b86964bd7e → 3390-1f9204be-301a-46ef-909f-bcf03820d62c}/test-plugins/reviews/generated-shop-types.js +0 -0
  64. /package/dist/vite/.vendure-dashboard-temp/compiler/{3355-0a5cc3e5-3f4b-452e-b1ef-a4b86964bd7e → 3390-1f9204be-301a-46ef-909f-bcf03820d62c}/test-plugins/reviews/reviews-plugin.js +0 -0
  65. /package/dist/vite/.vendure-dashboard-temp/compiler/{3355-0a5cc3e5-3f4b-452e-b1ef-a4b86964bd7e → 3390-1f9204be-301a-46ef-909f-bcf03820d62c}/test-plugins/reviews/types.js +0 -0
  66. /package/dist/vite/.vendure-dashboard-temp/gql-tada/{3355-0a5cc3e5-3f4b-452e-b1ef-a4b86964bd7e → 3390-1f9204be-301a-46ef-909f-bcf03820d62c}/schema.graphql +0 -0
  67. /package/dist/vite/.vendure-dashboard-temp/gql-tada/{3355-0a5cc3e5-3f4b-452e-b1ef-a4b86964bd7e → 3390-1f9204be-301a-46ef-909f-bcf03820d62c}/tsconfig.json +0 -0
@@ -1,5 +1,5 @@
1
- import { c as createLocalStorage, T as THEME_PREFERENCE, P as PiPProvider, a as ThemeContext, b as ParentPanel, C as ContentView, Q as QueryDevtoolsContext } from "./AP7HFJJL-CQCyLJjj.js";
2
- import { g as getPreferredColorScheme, c as createMemo, a as createComponent } from "./main-mRv-n7fc.js";
1
+ import { c as createLocalStorage, T as THEME_PREFERENCE, P as PiPProvider, a as ThemeContext, b as ParentPanel, C as ContentView, Q as QueryDevtoolsContext } from "./AP7HFJJL-Db7gWBRq.js";
2
+ import { g as getPreferredColorScheme, c as createMemo, a as createComponent } from "./main-DsM_74hl.js";
3
3
  var DevtoolsPanelComponent = (props) => {
4
4
  const [localStore, setLocalStore] = createLocalStorage({
5
5
  prefix: "TanstackQueryDevtools"
@@ -1,4 +1,4 @@
1
- import { b as createContext, d as createSignal, o as onMount, e as createEffect, c as createMemo, a as createComponent, P as Portal, m as memo, S as Show, t as template, i as insert, f as createRenderEffect, h as className, j as clearDelegatedEvents, k as delegateEvents, u as useContext, l as onCleanup, s as sortFns, n as mutationSortFns, p as on, q as setAttribute, r as getSidedProp, v as use, w as convertRemToPixels, x as createUniqueId, y as batch, z as getQueryStatusLabel, A as getMutationStatusColor, B as getQueryStatusColor, C as getQueryStatusColorByLabel, D as displayValue, F as For, E as untrack, $ as $TRACK, G as useTransition, H as spread, I as mergeProps, J as createRoot, K as serialize, L as Index, M as updateNestedDataByPath, N as addEventListener, O as stringify, Q as Match, R as Switch, T as deleteNestedDataByPath, U as splitProps, V as Dynamic, W as createComputed } from "./main-mRv-n7fc.js";
1
+ import { b as createContext, d as createSignal, o as onMount, e as createEffect, c as createMemo, a as createComponent, P as Portal, m as memo, S as Show, t as template, i as insert, f as createRenderEffect, h as className, j as clearDelegatedEvents, k as delegateEvents, u as useContext, l as onCleanup, s as sortFns, n as mutationSortFns, p as on, q as setAttribute, r as getSidedProp, v as use, w as convertRemToPixels, x as createUniqueId, y as batch, z as getQueryStatusLabel, A as getMutationStatusColor, B as getQueryStatusColor, C as getQueryStatusColorByLabel, D as displayValue, F as For, E as untrack, $ as $TRACK, G as useTransition, H as spread, I as mergeProps, J as createRoot, K as serialize, L as Index, M as updateNestedDataByPath, N as addEventListener, O as stringify, Q as Match, R as Switch, T as deleteNestedDataByPath, U as splitProps, V as Dynamic, W as createComputed } from "./main-DsM_74hl.js";
2
2
  var isNonNullable = (i2) => i2 != null;
3
3
  var filterNonNullable = (arr) => arr.filter(isNonNullable);
4
4
  function chain(callbacks) {
@@ -1,5 +1,5 @@
1
- import { c as createLocalStorage, T as THEME_PREFERENCE, P as PiPProvider, a as ThemeContext, D as Devtools, Q as QueryDevtoolsContext } from "./AP7HFJJL-CQCyLJjj.js";
2
- import { g as getPreferredColorScheme, c as createMemo, a as createComponent } from "./main-mRv-n7fc.js";
1
+ import { c as createLocalStorage, T as THEME_PREFERENCE, P as PiPProvider, a as ThemeContext, D as Devtools, Q as QueryDevtoolsContext } from "./AP7HFJJL-Db7gWBRq.js";
2
+ import { g as getPreferredColorScheme, c as createMemo, a as createComponent } from "./main-DsM_74hl.js";
3
3
  var DevtoolsComponent = (props) => {
4
4
  const [localStore, setLocalStore] = createLocalStorage({
5
5
  prefix: "TanstackQueryDevtools"
@@ -1,4 +1,4 @@
1
- import { ph as normalizeDates$1, pi as startOfWeek$1, pj as buildFormatLongFn$1, pk as buildLocalizeFn$1, pl as buildMatchFn$1, pm as buildMatchPatternFn$1, pn as toDate$1, po as match$1l, pp as localize$1n, pq as formatRelative$1n, pr as formatDistance$1n, ps as DateLib, pt as enUS$1 } from "./use-job-queue-polling-nsjJvh1W.js";
1
+ import { pk as normalizeDates$1, pl as startOfWeek$1, pm as buildFormatLongFn$1, pn as buildLocalizeFn$1, po as buildMatchFn$1, pp as buildMatchPatternFn$1, pq as toDate$1, pr as match$1l, ps as localize$1n, pt as formatRelative$1n, pu as formatDistance$1n, pv as DateLib, pw as enUS$1 } from "./use-job-queue-polling-DK3aRePa.js";
2
2
  function isSameWeek$1(laterDate, earlierDate, options2) {
3
3
  const [laterDate_, earlierDate_] = normalizeDates$1(
4
4
  options2?.in,
@@ -1,5 +1,5 @@
1
1
  import { jsxs, jsx, Fragment } from "react/jsx-runtime";
2
- import { c as createLucideIcon, nU as Subscribable, nV as Mutation, nW as notifyManager, nX as matchMutation, nY as noop, nZ as hashQueryKeyByOptions, n_ as Query, n$ as matchQuery, o0 as focusManager, o1 as onlineManager, o2 as resolveStaleTime, o3 as functionalUpdate, o4 as infiniteQueryBehavior, o5 as hashKey, o6 as partialMatchKey, o7 as skipToken, nN as useRouter, o8 as useStore, o9 as usePrevious, oa as trimPathRight, ob as useLayoutEffect, oc as getLocationChangeInfo, od as batch$1, oe as handleHashScroll, of as replaceEqualDeep, og as rootRouteId, oh as SafeFragment, oi as matchContext, oj as CatchBoundary, ok as ErrorComponent, ol as warning, om as Match$1, on as routerContext, oo as useHydrated, op as deepEqual, oq as escapeHtml, ny as loadI18nMessages, nI as useQueryClient, nD as keepPreviousData, or as QueryClientProvider, os as UserSettingsProvider, ot as ThemeProvider, ou as AuthProvider, ov as ServerConfigProvider, ow as ChannelProvider, ox as AlertsProvider, l6 as CustomProviders, oy as createRootRouteWithContext, nL as Outlet, oz as createFileRoute, df as objectType, oA as redirect, du as stringType, mV as useAuth, nO as useRouterState, oB as Navigate, gy as LoginForm, ht as LoginBranding, eK as useNavigate, gn as AppLayout, oC as endOfDay, oD as startOfMonth, bD as useUserSettings, nc as usePermissions, kA as getDashboardWidgetRegistry, eP as Page, eQ as PageTitle, eR as PageActionBar, me as ActionBarItem, gl as DateRangePicker, dR as Button, eT as PageLayout, mp as FullWidthPageBlock, kD as WidgetFiltersProvider, j2 as GridLayout, kB as getDashboardWidget, nb as usePaginatedList, nG as useMutation, mF as api, eN as toast, kW as getMutationName, fE as DataTableBulkActionItem, oE as Trash, mN as graphql, nH as useQuery, gi as useGeneratedColumns, fX as DataTable, g$ as CountrySelector, jw as Sheet, jD as SheetTrigger, jy as SheetContent, jB as SheetHeader, jC as SheetTitle, jz as SheetDescription, jp as ScrollArea, mx as ListPage, dS as Plus, nK as Link, h6 as DetailPageButton, e$ as BooleanDisplayBadge, dT as Badge, mS as setSettingsStoreValueDocument, oF as createColumnHelper, g_ as CopyableText, jY as Switch$1, iH as Dialog, iP as DialogTrigger, iJ as DialogContent, iM as DialogHeader, iG as DialogTitle, iK as DialogDescription, f1 as JsonViewer, iL as DialogFooter, dQ as Input, n7 as useLocalFormat, bR as DropdownMenu, bS as DropdownMenuTrigger, bT as Ellipsis, bV as DropdownMenuContent, bW as DropdownMenuItem, oG as Clock, oH as Check, oI as RefreshCw, oJ as ChevronDown, oK as EllipsisVertical, gM as AssignToChannelBulkAction, mW as useChannel, hv as RemoveFromChannelBulkAction, mJ as configurableOperationFragment, nw as useForm, nq as LS_KEY_SHIPPING_TEST_ADDRESS, hU as AccordionItem, hV as AccordionTrigger, hT as AccordionContent, j1 as Form, eW as FormFieldWrapper, bF as Select, bG as SelectTrigger, bI as SelectValue, bJ as SelectContent, bK as SelectItem, nr as LS_KEY_SHIPPING_TEST_ORDER, oL as useReactTable, oM as getCoreRowModel, jZ as Table, k3 as TableHeader, k4 as TableRow, k2 as TableHead, oN as flexRender, j_ as TableBody, k0 as TableCell, hu as ProductVariantSelector, hM as VendureImage, bZ as Trash2, f3 as Money, im as Card, is as CardHeader, it as CardTitle, ip as CardContent, i6 as Alert, i7 as AlertDescription, hS as Accordion, hJ as RichTextDescriptionCell, nt as SUPER_ADMIN_ROLE_CODE, nl as CUSTOMER_ROLE_CODE, oO as Layers, gS as ChannelCodeLabel, hC as RoleCodeLabel, oP as getInitialConfigArgValue, gV as ConfigurableOperationInput, mH as getEntityDuplicatorsDocument, mG as duplicateEntityDocument, oQ as Copy, h8 as ErrorPage, kJ as extendDetailFormQuery, kQ as addCustomFields, mA as getDetailQueryOptions, eM as useDetailPage, eU as PageBlock, eV as DetailFormGrid, eY as CustomFieldsPageBlock, mI as assetFragment, ha as FacetValueSelector, h9 as FacetValueChip, gO as usePriceFactor, fJ as FacetValueFacetedFilter, hF as StockLevelLabel, mM as errorResultFragment, mL as configurableOperationDefFragment, bC as useServerConfig, hG as CustomerCell, hH as OrderStateCell, hI as OrderMoneyCell, eJ as NEW_ENTITY_PATH, hk as LanguageSelector, mP as schemaLanguageCodes, ff as NumberInput, hq as PaginatedListDataTable, hp as PaginatedListDataTableKey, h5 as CustomerSelector, nE as queryOptions, oR as useDebounce, oS as useQueries, bX as Folder, oT as Search, oU as ChevronRight, oV as getExpandedRowModel, fR as getItemParentId, fU as calculateDragTargetPosition, fT as isCircularReference, fV as calculateSiblingIndex, oW as deleteAssetsDocument, cW as enumType, cP as coerce, gG as AssetGallery, mw as detailPageRouteLoader, hK as TaxCategorySelector, hR as ZoneSelector, ka as Textarea, gY as ConfigurableOperationSelector, eX as TranslatableFormFieldWrapper, fu as RichTextInput, n5 as useGroupedPermissions, kh as TooltipProvider, kf as Tooltip, ki as TooltipTrigger, oX as Info, kg as TooltipContent, gT as ChannelSelector, gX as ConfigurableOperationMultiSelector, fb as DateTimeInput, dU as X, cM as arrayType, dP as useFieldArray, nT as a, k5 as Tabs, k7 as TabsList, k8 as TabsTrigger, oY as Link$1, k6 as TabsContent, ix as Command, iB as CommandInput, iD as CommandList, iz as CommandEmpty, iC as CommandItem, cO as booleanType, cl as ZodIssueCode, dq as recordType, nx as useWatch, C as Checkbox, nu as Controller, iT as Field, iW as FieldError, fe as MoneyInput, gZ as ConfirmationDialog, fw as SlugInput, gQ as AssignedFacetValues, gP as AssignedChannels, h7 as EntityAssets, dX as Separator, h1 as CustomFieldsForm, iY as FieldLabel, m$ as useDynamicTranslations, oZ as getTypeForState, bH as cn, nn as DEFAULT_CHANNEL_CODE, ft as createRelationSelectorConfig, fs as RelationSelector, j8 as Label, o_ as CircleAlert, mX as useCustomFieldConfig, gm as LabeledData, iu as Collapsible, iv as CollapsibleTrigger, iw as CollapsibleContent, o$ as Globe, md as HistoryEntry, p0 as SquarePen, hi as useHistoryNoteEditor, hg as HistoryTimelineWithGrouping, hf as HistoryNoteInput, hd as HistoryNoteEditor, he as HistoryNoteEntry, nF as useInfiniteQuery, jV as Skeleton, kS as getFieldsFromDocumentNode, fP as getColumnVisibility, p1 as Pencil, hr as PermissionGuard, p2 as stateTypeToBadgeVariant, p3 as ChevronLeft, h2 as CustomerAddressForm$1, p4 as Users, h3 as CustomerGroupChip, h4 as CustomerGroupSelector, p5 as Eye, i8 as AlertTitle, n6 as useJobQueuePolling, hE as SellerSelector, h0 as CurrencySelector, p6 as updateTagDocument, p7 as deleteTagDocument, p8 as tagListDocument, p9 as createTagDocument, jh as Popover, jm as PopoverTrigger, pa as ChevronsUpDown, ji as PopoverContent, iA as CommandGroup, pb as Settings2, pc as assetDetailDocument, pd as assetUpdateDocument, gE as AssetFocalPointEditor, gL as AssetProperties, gJ as AssetPreviewSelector, pe as Focus, hD as RoleSelector, hm as MultiSelect, pf as useRedirectToListOnNotFound, hX as AlertDialog, h_ as AlertDialogContent, i1 as AlertDialogHeader, hW as AlertDialogTitle, h$ as AlertDialogDescription, i0 as AlertDialogFooter, hZ as AlertDialogCancel, hY as AlertDialogAction, fl as SingleRelationInput, lE as useGeneratedForm, de as numberType, f4 as AffixedInput, iI as DialogClose, pg as createRouter, lr as useDashboardExtensions, kI as registerDefaults, l8 as executeDashboardExtensionCallbacks, jW as Toaster, jX as Spinner, mB as useExtendedRouter, mZ as useDisplayLocale, nh as useUiLanguageLoader, kM as setCustomFieldsMap, iQ as DirectionProvider, kN as clearCustomFieldsMap } from "./use-job-queue-polling-nsjJvh1W.js";
2
+ import { c as createLucideIcon, nX as Subscribable, nY as Mutation, nZ as notifyManager, n_ as matchMutation, n$ as noop, o0 as hashQueryKeyByOptions, o1 as Query, o2 as matchQuery, o3 as focusManager, o4 as onlineManager, o5 as resolveStaleTime, o6 as functionalUpdate, o7 as infiniteQueryBehavior, o8 as hashKey, o9 as partialMatchKey, oa as skipToken, nQ as useRouter, ob as useStore, oc as usePrevious, od as trimPathRight, oe as useLayoutEffect, of as getLocationChangeInfo, og as batch$1, oh as handleHashScroll, oi as replaceEqualDeep, oj as rootRouteId, ok as SafeFragment, ol as matchContext, om as CatchBoundary, on as ErrorComponent, oo as warning, op as Match$1, oq as routerContext, or as useHydrated, os as deepEqual, ot as escapeHtml, nB as loadI18nMessages, nL as useQueryClient, nG as keepPreviousData, ou as QueryClientProvider, ov as UserSettingsProvider, ow as ThemeProvider, ox as AuthProvider, oy as ServerConfigProvider, oz as ChannelProvider, oA as AlertsProvider, l9 as CustomProviders, oB as createRootRouteWithContext, nO as Outlet, oC as createFileRoute, df as objectType, oD as redirect, du as stringType, mY as useAuth, nR as useRouterState, oE as Navigate, gz as LoginForm, hu as LoginBranding, eK as useNavigate, go as AppLayout, oF as endOfDay, oG as startOfMonth, bD as useUserSettings, nf as usePermissions, kB as getDashboardWidgetRegistry, eP as Page, eQ as PageTitle, eR as PageActionBar, mh as ActionBarItem, gm as DateRangePicker, dR as Button, eT as PageLayout, ms as FullWidthPageBlock, kE as WidgetFiltersProvider, j3 as GridLayout, kC as getDashboardWidget, ne as usePaginatedList, nJ as useMutation, mI as api, eN as toast, kZ as getMutationName, fE as DataTableBulkActionItem, oH as Trash, mQ as graphql, nK as useQuery, gj as useGeneratedColumns, fY as DataTable, h0 as CountrySelector, jx as Sheet, jE as SheetTrigger, jz as SheetContent, jC as SheetHeader, jD as SheetTitle, jA as SheetDescription, jq as ScrollArea, mA as ListPage, dS as Plus, nN as Link, h7 as DetailPageButton, e$ as BooleanDisplayBadge, dT as Badge, mV as setSettingsStoreValueDocument, oI as createColumnHelper, g$ as CopyableText, jZ as Switch$1, iI as Dialog, iQ as DialogTrigger, iK as DialogContent, iN as DialogHeader, iH as DialogTitle, iL as DialogDescription, f1 as JsonViewer, iM as DialogFooter, dQ as Input, na as useLocalFormat, bR as DropdownMenu, bS as DropdownMenuTrigger, bT as Ellipsis, bV as DropdownMenuContent, bW as DropdownMenuItem, oJ as Clock, oK as Check, oL as RefreshCw, oM as ChevronDown, oN as EllipsisVertical, gN as AssignToChannelBulkAction, mZ as useChannel, hw as RemoveFromChannelBulkAction, mM as configurableOperationFragment, nz as useForm, nt as LS_KEY_SHIPPING_TEST_ADDRESS, hV as AccordionItem, hW as AccordionTrigger, hU as AccordionContent, j2 as Form, eW as FormFieldWrapper, bF as Select, bG as SelectTrigger, bI as SelectValue, bJ as SelectContent, bK as SelectItem, nu as LS_KEY_SHIPPING_TEST_ORDER, oO as useReactTable, oP as getCoreRowModel, j_ as Table, k4 as TableHeader, k5 as TableRow, k3 as TableHead, oQ as flexRender, j$ as TableBody, k1 as TableCell, hv as ProductVariantSelector, hN as VendureImage, bZ as Trash2, f3 as Money, io as Card, it as CardHeader, iu as CardTitle, iq as CardContent, i7 as Alert, i8 as AlertDescription, hT as Accordion, hK as RichTextDescriptionCell, nw as SUPER_ADMIN_ROLE_CODE, no as CUSTOMER_ROLE_CODE, oR as Layers, gT as ChannelCodeLabel, hD as RoleCodeLabel, oS as getInitialConfigArgValue, gW as ConfigurableOperationInput, mK as getEntityDuplicatorsDocument, mJ as duplicateEntityDocument, oT as Copy, h9 as ErrorPage, kM as extendDetailFormQuery, kT as addCustomFields, mD as getDetailQueryOptions, eM as useDetailPage, eU as PageBlock, eV as DetailFormGrid, eY as CustomFieldsPageBlock, mL as assetFragment, hb as FacetValueSelector, ha as FacetValueChip, gP as usePriceFactor, fJ as FacetValueFacetedFilter, hG as StockLevelLabel, mP as errorResultFragment, mO as configurableOperationDefFragment, bC as useServerConfig, hH as CustomerCell, hI as OrderStateCell, hJ as OrderMoneyCell, eJ as NEW_ENTITY_PATH, hl as LanguageSelector, mS as schemaLanguageCodes, ff as NumberInput, hr as PaginatedListDataTable, hq as PaginatedListDataTableKey, h6 as CustomerSelector, nH as queryOptions, oU as useDebounce, oV as useQueries, bX as Folder, oW as Search, oX as ChevronRight, oY as getExpandedRowModel, fS as getItemParentId, fV as calculateDragTargetPosition, fU as isCircularReference, fW as calculateSiblingIndex, oZ as deleteAssetsDocument, cW as enumType, cP as coerce, gH as AssetGallery, mz as detailPageRouteLoader, hL as TaxCategorySelector, hS as ZoneSelector, kb as Textarea, gZ as ConfigurableOperationSelector, eX as TranslatableFormFieldWrapper, fu as RichTextInput, n8 as useGroupedPermissions, ki as TooltipProvider, kg as Tooltip, kj as TooltipTrigger, o_ as Info, kh as TooltipContent, gU as ChannelSelector, gY as ConfigurableOperationMultiSelector, fb as DateTimeInput, dU as X, cM as arrayType, dP as useFieldArray, nW as a, k6 as Tabs, k8 as TabsList, k9 as TabsTrigger, o$ as Link$1, k7 as TabsContent, iy as Command, iC as CommandInput, iE as CommandList, iA as CommandEmpty, iD as CommandItem, cO as booleanType, cl as ZodIssueCode, dq as recordType, nA as useWatch, C as Checkbox, nx as Controller, iU as Field, iX as FieldError, fe as MoneyInput, g_ as ConfirmationDialog, nd as usePage, fw as SlugInput, gR as AssignedFacetValues, gQ as AssignedChannels, h8 as EntityAssets, dX as Separator, h2 as CustomFieldsForm, iZ as FieldLabel, n2 as useDynamicTranslations, p0 as getTypeForState, bH as cn, nq as DEFAULT_CHANNEL_CODE, ft as createRelationSelectorConfig, fs as RelationSelector, j9 as Label, p1 as CircleAlert, m_ as useCustomFieldConfig, gn as LabeledData, iv as Collapsible, iw as CollapsibleTrigger, ix as CollapsibleContent, p2 as Globe, mg as HistoryEntry, p3 as SquarePen, hj as useHistoryNoteEditor, hh as HistoryTimelineWithGrouping, hg as HistoryNoteInput, he as HistoryNoteEditor, hf as HistoryNoteEntry, nI as useInfiniteQuery, jW as Skeleton, kV as getFieldsFromDocumentNode, fP as getColumnVisibility, p4 as Pencil, hs as PermissionGuard, p5 as stateTypeToBadgeVariant, p6 as ChevronLeft, h3 as CustomerAddressForm$1, p7 as Users, h4 as CustomerGroupChip, h5 as CustomerGroupSelector, p8 as Eye, i9 as AlertTitle, n9 as useJobQueuePolling, hF as SellerSelector, h1 as CurrencySelector, p9 as updateTagDocument, pa as deleteTagDocument, pb as tagListDocument, pc as createTagDocument, ji as Popover, jn as PopoverTrigger, pd as ChevronsUpDown, jj as PopoverContent, iB as CommandGroup, pe as Settings2, pf as assetDetailDocument, pg as assetUpdateDocument, gF as AssetFocalPointEditor, gM as AssetProperties, gK as AssetPreviewSelector, ph as Focus, hE as RoleSelector, hn as MultiSelect, pi as useRedirectToListOnNotFound, hY as AlertDialog, h$ as AlertDialogContent, i2 as AlertDialogHeader, hX as AlertDialogTitle, i0 as AlertDialogDescription, i1 as AlertDialogFooter, h_ as AlertDialogCancel, hZ as AlertDialogAction, fl as SingleRelationInput, lH as useGeneratedForm, de as numberType, f4 as AffixedInput, iJ as DialogClose, pj as createRouter, lu as useDashboardExtensions, kL as registerDefaults, lb as executeDashboardExtensionCallbacks, jX as Toaster, jY as Spinner, mE as useExtendedRouter, n0 as useDisplayLocale, nk as useUiLanguageLoader, kP as setCustomFieldsMap, iR as DirectionProvider, kQ as clearCustomFieldsMap } from "./use-job-queue-polling-DK3aRePa.js";
3
3
  import { i18n } from "@lingui/core";
4
4
  import { I18nProvider as I18nProvider$1, useLingui, Trans } from "@lingui/react";
5
5
  import * as React from "react";
@@ -3812,7 +3812,7 @@ var TanstackQueryDevtools = class {
3812
3812
  if (this.#Component) {
3813
3813
  Devtools = this.#Component;
3814
3814
  } else {
3815
- Devtools = lazy(() => import("./WDYDFRGG-CtEB5yut.js"));
3815
+ Devtools = lazy(() => import("./WDYDFRGG-D-AGRv_K.js"));
3816
3816
  this.#Component = Devtools;
3817
3817
  }
3818
3818
  setupStyleSheet(this.#styleNonce, this.#shadowDOMTarget);
@@ -3950,7 +3950,7 @@ var TanstackQueryDevtoolsPanel = class {
3950
3950
  if (this.#Component) {
3951
3951
  Devtools = this.#Component;
3952
3952
  } else {
3953
- Devtools = lazy(() => import("./2SSKDMRQ-DcQWY0tK.js"));
3953
+ Devtools = lazy(() => import("./2SSKDMRQ-Ddh65BrY.js"));
3954
3954
  this.#Component = Devtools;
3955
3955
  }
3956
3956
  setupStyleSheet(this.#styleNonce, this.#shadowDOMTarget);
@@ -4152,6 +4152,21 @@ function AppProviders({
4152
4152
  function setDocumentDirection(direction) {
4153
4153
  document.documentElement.setAttribute("dir", direction);
4154
4154
  }
4155
+ function deriveBaseUrl(moduleUrl, fallbackBase) {
4156
+ let derived;
4157
+ try {
4158
+ if (moduleUrl) {
4159
+ const entryRe = /^(.*)\/(?:src\/app|dist\/bundle)\//;
4160
+ const m = entryRe.exec(new URL(moduleUrl).pathname);
4161
+ if (m) derived = m[1] || "/";
4162
+ }
4163
+ } catch {
4164
+ }
4165
+ const baseUrl = derived ?? fallbackBase;
4166
+ if (!baseUrl || baseUrl === "/") return void 0;
4167
+ const normalized = baseUrl.startsWith("/") ? baseUrl : "/" + baseUrl;
4168
+ return normalized.endsWith("/") ? normalized.slice(0, -1) : normalized;
4169
+ }
4155
4170
  const DEFAULT_TITLE = "Vendure";
4156
4171
  function usePageTitle() {
4157
4172
  const matches = useMatches();
@@ -15243,6 +15258,12 @@ function ProductVariantsTable({
15243
15258
  registerRefresher,
15244
15259
  fromProductDetailPage
15245
15260
  }) {
15261
+ const {
15262
+ pageId: pageId2
15263
+ } = usePage();
15264
+ const {
15265
+ setTableSettings
15266
+ } = useUserSettings();
15246
15267
  const {
15247
15268
  formatCurrencyName
15248
15269
  } = useLocalFormat();
@@ -15323,6 +15344,10 @@ function ProductVariantsTable({
15323
15344
  setSorting(sorting2);
15324
15345
  }, onFilterChange: (_, filters2) => {
15325
15346
  setFilters(filters2);
15347
+ }, onColumnVisibilityChange: (_, columnVisibility) => {
15348
+ if (pageId2) {
15349
+ setTableSettings(pageId2, "columnVisibility", columnVisibility);
15350
+ }
15326
15351
  } });
15327
15352
  }
15328
15353
  const pageId$g = "product-detail";
@@ -19892,14 +19917,16 @@ function ProductOptionsTable({
19892
19917
  newOptionHref,
19893
19918
  linkSearch
19894
19919
  }) {
19920
+ const {
19921
+ pageId: pageId2
19922
+ } = usePage();
19923
+ const {
19924
+ setTableSettings
19925
+ } = useUserSettings();
19895
19926
  const [sorting, setSorting] = useState([]);
19896
19927
  const [page, setPage] = useState(1);
19897
19928
  const [pageSize, setPageSize] = useState(10);
19898
19929
  const [filters, setFilters] = useState([]);
19899
- const [columnVisibility, setColumnVisibility] = useState({
19900
- name: true,
19901
- code: true
19902
- });
19903
19930
  const refreshRef = useRef(() => {
19904
19931
  });
19905
19932
  return /* @__PURE__ */ jsxs(Fragment, { children: [
@@ -19908,7 +19935,11 @@ function ProductOptionsTable({
19908
19935
  setPageSize(perPage);
19909
19936
  }, onSortChange: (_, sorting2) => {
19910
19937
  setSorting(sorting2);
19911
- }, onColumnVisibilityChange: (_, value) => setColumnVisibility(value), onFilterChange: (_, filters2) => {
19938
+ }, onColumnVisibilityChange: (_, columnVisibility) => {
19939
+ if (pageId2) {
19940
+ setTableSettings(pageId2, "columnVisibility", columnVisibility);
19941
+ }
19942
+ }, onFilterChange: (_, filters2) => {
19912
19943
  setFilters(filters2);
19913
19944
  }, registerRefresher: (refresher) => {
19914
19945
  refreshRef.current = refresher;
@@ -19934,7 +19965,10 @@ function ProductOptionsTable({
19934
19965
  contains: searchTerm
19935
19966
  }
19936
19967
  };
19937
- }, defaultVisibility: columnVisibility, customizeColumns: {
19968
+ }, defaultVisibility: {
19969
+ name: true,
19970
+ code: true
19971
+ }, customizeColumns: {
19938
19972
  name: {
19939
19973
  cell: ({
19940
19974
  row
@@ -26635,22 +26669,7 @@ const rootRouteChildren = {
26635
26669
  LoginRoute
26636
26670
  };
26637
26671
  const routeTree = Route$W._addFileChildren(rootRouteChildren)._addFileTypes();
26638
- const processedBaseUrl = (() => {
26639
- let derived;
26640
- try {
26641
- const moduleUrl = typeof import.meta?.url === "string" ? import.meta.url : "";
26642
- if (moduleUrl) {
26643
- const entryRe = /^(.*?)\/(?:src\/app\/main|dist\/bundle\/main)\.[a-z]+/;
26644
- const m = entryRe.exec(new URL(moduleUrl).pathname);
26645
- if (m) derived = m[1] || "/";
26646
- }
26647
- } catch {
26648
- }
26649
- const baseUrl = derived ?? "/";
26650
- if (!baseUrl || baseUrl === "/") return void 0;
26651
- const normalized = baseUrl.startsWith("/") ? baseUrl : "/" + baseUrl;
26652
- return normalized.endsWith("/") ? normalized.slice(0, -1) : normalized;
26653
- })();
26672
+ const processedBaseUrl = deriveBaseUrl(typeof import.meta?.url === "string" ? import.meta.url : "", "/");
26654
26673
  const routerOptions = {
26655
26674
  defaultPreload: "intent",
26656
26675
  scrollRestoration: true,