@vendure/dashboard 3.7.4-master-202609120210 → 3.7.4-master-202609150211
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/bundle/chunks/{2SSKDMRQ-CpRbj3yV.js → 2SSKDMRQ-k_avoCk4.js} +2 -2
- package/dist/bundle/chunks/{AP7HFJJL-_aalgtfO.js → AP7HFJJL-CqVn78A2.js} +1 -1
- package/dist/bundle/chunks/{WDYDFRGG-BOh7WOyA.js → WDYDFRGG-COu6CgYo.js} +2 -2
- package/dist/bundle/chunks/{locale-CR8peDne.js → locale-Ds-_762_.js} +1 -1
- package/dist/bundle/chunks/{main-D_rN3aKO.js → main-DJTS8BrQ.js} +110 -74
- package/dist/bundle/chunks/{use-job-queue-polling-Cqr5CKxU.js → use-job-queue-polling-PQ-fadAl.js} +23 -3
- package/dist/bundle/lib.js +2 -2
- package/dist/bundle/main.js +2 -2
- package/dist/vite/utils/compiler.js +49 -17
- package/package.json +3 -3
- package/src/app/routes/_authenticated/_option-groups/option-groups_.$groupId.options_.$id.tsx +31 -30
- package/src/app/routes/_authenticated/_option-groups/option-groups_.$id.tsx +31 -32
- package/src/app/routes/_authenticated/_products/product-option-groups.graphql.ts +2 -0
- package/src/app/routes/_authenticated/_products/products.graphql.ts +1 -0
- package/src/app/routes/_authenticated/_products/products_.$id.tsx +34 -17
- package/src/lib/components/data-table/use-generated-columns.spec.tsx +42 -1
- package/src/lib/components/data-table/use-generated-columns.tsx +41 -15
- package/src/lib/framework/page/use-extended-router.spec.tsx +85 -0
- package/src/lib/framework/page/use-extended-router.tsx +10 -2
|
@@ -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-
|
|
2
|
-
import { g as getPreferredColorScheme, c as createMemo, a as createComponent } from "./main-
|
|
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-CqVn78A2.js";
|
|
2
|
+
import { g as getPreferredColorScheme, c as createMemo, a as createComponent } from "./main-DJTS8BrQ.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-
|
|
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-DJTS8BrQ.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-
|
|
2
|
-
import { g as getPreferredColorScheme, c as createMemo, a as createComponent } from "./main-
|
|
1
|
+
import { c as createLocalStorage, T as THEME_PREFERENCE, P as PiPProvider, a as ThemeContext, D as Devtools, Q as QueryDevtoolsContext } from "./AP7HFJJL-CqVn78A2.js";
|
|
2
|
+
import { g as getPreferredColorScheme, c as createMemo, a as createComponent } from "./main-DJTS8BrQ.js";
|
|
3
3
|
var DevtoolsComponent = (props) => {
|
|
4
4
|
const [localStore, setLocalStore] = createLocalStorage({
|
|
5
5
|
prefix: "TanstackQueryDevtools"
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { op as normalizeDates$1, oq as startOfWeek$1, or as buildFormatLongFn$1, os as buildLocalizeFn$1, ot as buildMatchFn$1, ou as buildMatchPatternFn$1, ov as toDate$1, ow as match$1l, ox as localize$1n, oy as formatRelative$1n, oz as formatDistance$1n, oA as DateLib, oB as enUS$1 } from "./use-job-queue-polling-
|
|
1
|
+
import { op as normalizeDates$1, oq as startOfWeek$1, or as buildFormatLongFn$1, os as buildLocalizeFn$1, ot as buildMatchFn$1, ou as buildMatchPatternFn$1, ov as toDate$1, ow as match$1l, ox as localize$1n, oy as formatRelative$1n, oz as formatDistance$1n, oA as DateLib, oB as enUS$1 } from "./use-job-queue-polling-PQ-fadAl.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 { jsx, jsxs, Fragment } from "react/jsx-runtime";
|
|
2
|
-
import { c as createLucideIcon, nu as loadI18nMessages, nE as UserSettingsProvider, nF as ThemeProvider, nG as AuthProvider, nH as ServerConfigProvider, nI as ChannelProvider, nJ as AlertsProvider, l5 as CustomProviders, df as objectType, du as stringType, mV as useAuth, gv as LoginForm, hq as LoginBranding, gk as AppLayout, nK as endOfDay, nL as startOfMonth, bD as useUserSettings, nc as usePermissions, kx as getDashboardWidgetRegistry, eL as Page, eM as PageTitle, eN as PageActionBar, me as ActionBarItem, gi as DateRangePicker, dP as Button, eP as PageLayout, mp as FullWidthPageBlock, kA as WidgetFiltersProvider, i$ as GridLayout, ky as getDashboardWidget, nb as usePaginatedList, mF as api, kV as getMutationName, fA as DataTableBulkActionItem, nM as Trash, mN as graphql, gf as useGeneratedColumns, fU as DataTable, gY as CountrySelector, jt as Sheet, jA as SheetTrigger, jv as SheetContent, jy as SheetHeader, jz as SheetTitle, jw as SheetDescription, jm as ScrollArea, mx as ListPage, dQ as Plus, h3 as DetailPageButton, eX as BooleanDisplayBadge, dR as Badge, mS as setSettingsStoreValueDocument, nN as createColumnHelper, gX as CopyableText, jV as Switch$1, iE as Dialog, iM as DialogTrigger, iG as DialogContent, iJ as DialogHeader, iD as DialogTitle, iH as DialogDescription, eZ as JsonViewer, iI as DialogFooter, dO as Input, n7 as useLocalFormat, bR as DropdownMenu, bS as DropdownMenuTrigger, bT as Ellipsis, bV as DropdownMenuContent, bW as DropdownMenuItem, nO as Clock, nP as Check, nQ as RefreshCw, nR as ChevronDown, nS as EllipsisVertical, bF as Select, bG as SelectTrigger, bI as SelectValue, bJ as SelectContent, bK as SelectItem, gJ as AssignToChannelBulkAction, mW as useChannel, hs as RemoveFromChannelBulkAction, mJ as configurableOperationFragment, nq as LS_KEY_SHIPPING_TEST_ADDRESS, hR as AccordionItem, hS as AccordionTrigger, hQ as AccordionContent, i_ as Form, eS as FormFieldWrapper, nT as AddressCountrySelect, nr as LS_KEY_SHIPPING_TEST_ORDER, nU as useReactTable, nV as getCoreRowModel, jW as Table, k0 as TableHeader, k1 as TableRow, j$ as TableHead, nW as flexRender, jX as TableBody, jZ as TableCell, hr as ProductVariantSelector, hJ as VendureImage, bZ as Trash2, e$ as Money, ij as Card, ip as CardHeader, iq as CardTitle, il as CardContent, i3 as Alert, i4 as AlertDescription, hP as Accordion, hG as RichTextDescriptionCell, nt as SUPER_ADMIN_ROLE_CODE, nl as CUSTOMER_ROLE_CODE, nX as Layers, gP as ChannelCodeLabel, hz as RoleCodeLabel, mH as getEntityDuplicatorsDocument, nY as getInitialConfigArgValue, gS as ConfigurableOperationInput, mG as duplicateEntityDocument, nZ as Copy, h5 as ErrorPage, kI as extendDetailFormQuery, kP as addCustomFields, mA as getDetailQueryOptions, eJ as useDetailPage, eQ as PageBlock, eR as DetailFormGrid, jd as PasswordInput, eU as CustomFieldsPageBlock, mI as assetFragment, h7 as FacetValueSelector, h6 as FacetValueChip, gL as usePriceFactor, fF as FacetValueFacetedFilter, hC as StockLevelLabel, mM as errorResultFragment, mL as configurableOperationDefFragment, bC as useServerConfig, hD as CustomerCell, hE as OrderStateCell, hF as OrderMoneyCell, eH as NEW_ENTITY_PATH, hh as LanguageSelector, mP as schemaLanguageCodes, fb as NumberInput, hn as PaginatedListDataTable, hm as PaginatedListDataTableKey, h2 as CustomerSelector, n_ as useDebounce, bX as Folder, n$ as Search, o0 as ChevronRight, o1 as getExpandedRowModel, fO as getItemParentId, fR as calculateDragTargetPosition, fQ as isCircularReference, fS as calculateSiblingIndex, o2 as deleteAssetsDocument, cW as enumType, cP as coerce, gD as AssetGallery, mw as detailPageRouteLoader, hH as TaxCategorySelector, hO as ZoneSelector, k7 as Textarea, gV as ConfigurableOperationSelector, eT as TranslatableFormFieldWrapper, fq as RichTextInput, n5 as useGroupedPermissions, ke as TooltipProvider, kc as Tooltip, kf as TooltipTrigger, o3 as Info, kd as TooltipContent, gQ as ChannelSelector, gU as ConfigurableOperationMultiSelector, f7 as DateTimeInput, dS as X, cM as arrayType, nD as a, k2 as Tabs, k4 as TabsList, k5 as TabsTrigger, o4 as Link$1, k3 as TabsContent, iu as Command, iy as CommandInput, iA as CommandList, iw as CommandEmpty, iz as CommandItem, cO as booleanType, cl as ZodIssueCode, dq as recordType, C as Checkbox, iQ as Field, iT as FieldError, fa as MoneyInput, gW as ConfirmationDialog, hU as AlertDialog, hX as AlertDialogContent, h_ as AlertDialogHeader, hT as AlertDialogTitle, hY as AlertDialogDescription, hZ as AlertDialogFooter, hW as AlertDialogCancel, hV as AlertDialogAction, ho as PermissionGuard, na as usePage, fs as SlugInput, gN as AssignedFacetValues, gM as AssignedChannels, h4 as EntityAssets, dV as Separator, g_ as CustomFieldsForm, iV as FieldLabel, m$ as useDynamicTranslations, o5 as getTypeForState, bH as cn, nn as DEFAULT_CHANNEL_CODE, fp as createRelationSelectorConfig, fo as RelationSelector, j5 as Label, o6 as CircleAlert, mX as useCustomFieldConfig, gj as LabeledData, ir as Collapsible, is as CollapsibleTrigger, it as CollapsibleContent, o7 as Globe, md as HistoryEntry, o8 as SquarePen, hf as useHistoryNoteEditor, hd as HistoryTimelineWithGrouping, hc as HistoryNoteInput, ha as HistoryNoteEditor, hb as HistoryNoteEntry, jS as Skeleton, kR as getFieldsFromDocumentNode, fL as getColumnVisibility, o9 as Pencil, oa as stateTypeToBadgeVariant, ob as ChevronLeft, g$ as CustomerAddressForm$1, oc as Users, h0 as CustomerGroupChip, h1 as CustomerGroupSelector, od as availableCountriesQueryKey, oe as Eye, i5 as AlertTitle, n6 as useJobQueuePolling, hB as SellerSelector, gZ as CurrencySelector, of as tagListDocument, og as updateTagDocument, oh as deleteTagDocument, oi as createTagDocument, je as Popover, jj as PopoverTrigger, oj as ChevronsUpDown, jf as PopoverContent, ix as CommandGroup, ok as Settings2, ol as assetDetailDocument, om as assetUpdateDocument, gB as AssetFocalPointEditor, gI as AssetProperties, gG as AssetPreviewSelector, on as Focus, hA as RoleSelector, hj as MultiSelect, oo as useRedirectToListOnNotFound, fh as SingleRelationInput, lD as useGeneratedForm, de as numberType, f0 as AffixedInput, iF as DialogClose, jU as Spinner, lq as useDashboardExtensions, kH as registerDefaults, l7 as executeDashboardExtensionCallbacks, jT as Toaster, mB as useExtendedRouter, mZ as useDisplayLocale, nh as useUiLanguageLoader, kL as setCustomFieldsMap, iN as DirectionProvider, kM as clearCustomFieldsMap } from "./use-job-queue-polling-
|
|
2
|
+
import { c as createLucideIcon, nu as loadI18nMessages, nE as UserSettingsProvider, nF as ThemeProvider, nG as AuthProvider, nH as ServerConfigProvider, nI as ChannelProvider, nJ as AlertsProvider, l5 as CustomProviders, df as objectType, du as stringType, mV as useAuth, gv as LoginForm, hq as LoginBranding, gk as AppLayout, nK as endOfDay, nL as startOfMonth, bD as useUserSettings, nc as usePermissions, kx as getDashboardWidgetRegistry, eL as Page, eM as PageTitle, eN as PageActionBar, me as ActionBarItem, gi as DateRangePicker, dP as Button, eP as PageLayout, mp as FullWidthPageBlock, kA as WidgetFiltersProvider, i$ as GridLayout, ky as getDashboardWidget, nb as usePaginatedList, mF as api, kV as getMutationName, fA as DataTableBulkActionItem, nM as Trash, mN as graphql, gf as useGeneratedColumns, fU as DataTable, gY as CountrySelector, jt as Sheet, jA as SheetTrigger, jv as SheetContent, jy as SheetHeader, jz as SheetTitle, jw as SheetDescription, jm as ScrollArea, mx as ListPage, dQ as Plus, h3 as DetailPageButton, eX as BooleanDisplayBadge, dR as Badge, mS as setSettingsStoreValueDocument, nN as createColumnHelper, gX as CopyableText, jV as Switch$1, iE as Dialog, iM as DialogTrigger, iG as DialogContent, iJ as DialogHeader, iD as DialogTitle, iH as DialogDescription, eZ as JsonViewer, iI as DialogFooter, dO as Input, n7 as useLocalFormat, bR as DropdownMenu, bS as DropdownMenuTrigger, bT as Ellipsis, bV as DropdownMenuContent, bW as DropdownMenuItem, nO as Clock, nP as Check, nQ as RefreshCw, nR as ChevronDown, nS as EllipsisVertical, bF as Select, bG as SelectTrigger, bI as SelectValue, bJ as SelectContent, bK as SelectItem, gJ as AssignToChannelBulkAction, mW as useChannel, hs as RemoveFromChannelBulkAction, mJ as configurableOperationFragment, nq as LS_KEY_SHIPPING_TEST_ADDRESS, hR as AccordionItem, hS as AccordionTrigger, hQ as AccordionContent, i_ as Form, eS as FormFieldWrapper, nT as AddressCountrySelect, nr as LS_KEY_SHIPPING_TEST_ORDER, nU as useReactTable, nV as getCoreRowModel, jW as Table, k0 as TableHeader, k1 as TableRow, j$ as TableHead, nW as flexRender, jX as TableBody, jZ as TableCell, hr as ProductVariantSelector, hJ as VendureImage, bZ as Trash2, e$ as Money, ij as Card, ip as CardHeader, iq as CardTitle, il as CardContent, i3 as Alert, i4 as AlertDescription, hP as Accordion, hG as RichTextDescriptionCell, nt as SUPER_ADMIN_ROLE_CODE, nl as CUSTOMER_ROLE_CODE, nX as Layers, gP as ChannelCodeLabel, hz as RoleCodeLabel, mH as getEntityDuplicatorsDocument, nY as getInitialConfigArgValue, gS as ConfigurableOperationInput, mG as duplicateEntityDocument, nZ as Copy, h5 as ErrorPage, kI as extendDetailFormQuery, kP as addCustomFields, mA as getDetailQueryOptions, eJ as useDetailPage, eQ as PageBlock, eR as DetailFormGrid, jd as PasswordInput, eU as CustomFieldsPageBlock, mI as assetFragment, h7 as FacetValueSelector, h6 as FacetValueChip, gL as usePriceFactor, fF as FacetValueFacetedFilter, hC as StockLevelLabel, mM as errorResultFragment, mL as configurableOperationDefFragment, bC as useServerConfig, hD as CustomerCell, hE as OrderStateCell, hF as OrderMoneyCell, eH as NEW_ENTITY_PATH, hh as LanguageSelector, mP as schemaLanguageCodes, fb as NumberInput, hn as PaginatedListDataTable, hm as PaginatedListDataTableKey, h2 as CustomerSelector, n_ as useDebounce, bX as Folder, n$ as Search, o0 as ChevronRight, o1 as getExpandedRowModel, fO as getItemParentId, fR as calculateDragTargetPosition, fQ as isCircularReference, fS as calculateSiblingIndex, o2 as deleteAssetsDocument, cW as enumType, cP as coerce, gD as AssetGallery, mw as detailPageRouteLoader, hH as TaxCategorySelector, hO as ZoneSelector, k7 as Textarea, gV as ConfigurableOperationSelector, eT as TranslatableFormFieldWrapper, fq as RichTextInput, n5 as useGroupedPermissions, ke as TooltipProvider, kc as Tooltip, kf as TooltipTrigger, o3 as Info, kd as TooltipContent, gQ as ChannelSelector, gU as ConfigurableOperationMultiSelector, f7 as DateTimeInput, dS as X, cM as arrayType, nD as a, k2 as Tabs, k4 as TabsList, k5 as TabsTrigger, o4 as Link$1, k3 as TabsContent, iu as Command, iy as CommandInput, iA as CommandList, iw as CommandEmpty, iz as CommandItem, cO as booleanType, cl as ZodIssueCode, dq as recordType, C as Checkbox, iQ as Field, iT as FieldError, fa as MoneyInput, gW as ConfirmationDialog, hU as AlertDialog, hX as AlertDialogContent, h_ as AlertDialogHeader, hT as AlertDialogTitle, hY as AlertDialogDescription, hZ as AlertDialogFooter, hW as AlertDialogCancel, hV as AlertDialogAction, ho as PermissionGuard, na as usePage, fs as SlugInput, gN as AssignedFacetValues, gM as AssignedChannels, h4 as EntityAssets, dV as Separator, g_ as CustomFieldsForm, iV as FieldLabel, m$ as useDynamicTranslations, o5 as getTypeForState, bH as cn, nn as DEFAULT_CHANNEL_CODE, fp as createRelationSelectorConfig, fo as RelationSelector, j5 as Label, o6 as CircleAlert, mX as useCustomFieldConfig, gj as LabeledData, ir as Collapsible, is as CollapsibleTrigger, it as CollapsibleContent, o7 as Globe, md as HistoryEntry, o8 as SquarePen, hf as useHistoryNoteEditor, hd as HistoryTimelineWithGrouping, hc as HistoryNoteInput, ha as HistoryNoteEditor, hb as HistoryNoteEntry, jS as Skeleton, kR as getFieldsFromDocumentNode, fL as getColumnVisibility, o9 as Pencil, oa as stateTypeToBadgeVariant, ob as ChevronLeft, g$ as CustomerAddressForm$1, oc as Users, h0 as CustomerGroupChip, h1 as CustomerGroupSelector, od as availableCountriesQueryKey, oe as Eye, i5 as AlertTitle, n6 as useJobQueuePolling, hB as SellerSelector, gZ as CurrencySelector, of as tagListDocument, og as updateTagDocument, oh as deleteTagDocument, oi as createTagDocument, je as Popover, jj as PopoverTrigger, oj as ChevronsUpDown, jf as PopoverContent, ix as CommandGroup, ok as Settings2, ol as assetDetailDocument, om as assetUpdateDocument, gB as AssetFocalPointEditor, gI as AssetProperties, gG as AssetPreviewSelector, on as Focus, hA as RoleSelector, hj as MultiSelect, oo as useRedirectToListOnNotFound, fh as SingleRelationInput, lD as useGeneratedForm, de as numberType, f0 as AffixedInput, iF as DialogClose, jU as Spinner, lq as useDashboardExtensions, kH as registerDefaults, l7 as executeDashboardExtensionCallbacks, jT as Toaster, mB as useExtendedRouter, mZ as useDisplayLocale, nh as useUiLanguageLoader, kL as setCustomFieldsMap, iN as DirectionProvider, kM as clearCustomFieldsMap } from "./use-job-queue-polling-PQ-fadAl.js";
|
|
3
3
|
import { toast } from "sonner";
|
|
4
4
|
import { i18n } from "@lingui/core";
|
|
5
5
|
import { I18nProvider as I18nProvider$1, useLingui, Trans } from "@lingui/react";
|
|
@@ -2948,7 +2948,7 @@ var TanstackQueryDevtools = class {
|
|
|
2948
2948
|
if (this.#Component) {
|
|
2949
2949
|
Devtools = this.#Component;
|
|
2950
2950
|
} else {
|
|
2951
|
-
Devtools = lazy(() => import("./WDYDFRGG-
|
|
2951
|
+
Devtools = lazy(() => import("./WDYDFRGG-COu6CgYo.js"));
|
|
2952
2952
|
this.#Component = Devtools;
|
|
2953
2953
|
}
|
|
2954
2954
|
setupStyleSheet(this.#styleNonce, this.#shadowDOMTarget);
|
|
@@ -3086,7 +3086,7 @@ var TanstackQueryDevtoolsPanel = class {
|
|
|
3086
3086
|
if (this.#Component) {
|
|
3087
3087
|
Devtools = this.#Component;
|
|
3088
3088
|
} else {
|
|
3089
|
-
Devtools = lazy(() => import("./2SSKDMRQ-
|
|
3089
|
+
Devtools = lazy(() => import("./2SSKDMRQ-k_avoCk4.js"));
|
|
3090
3090
|
this.#Component = Devtools;
|
|
3091
3091
|
}
|
|
3092
3092
|
setupStyleSheet(this.#styleNonce, this.#shadowDOMTarget);
|
|
@@ -7280,6 +7280,7 @@ const productDetailFragment = graphql(`
|
|
|
7280
7280
|
id
|
|
7281
7281
|
code
|
|
7282
7282
|
name
|
|
7283
|
+
productCount
|
|
7283
7284
|
options {
|
|
7284
7285
|
id
|
|
7285
7286
|
code
|
|
@@ -14937,6 +14938,23 @@ function ProductVariantsTable({
|
|
|
14937
14938
|
}
|
|
14938
14939
|
} });
|
|
14939
14940
|
}
|
|
14941
|
+
function SharedOptionGroupWarning({
|
|
14942
|
+
productCount
|
|
14943
|
+
}) {
|
|
14944
|
+
if (productCount <= 1) {
|
|
14945
|
+
return null;
|
|
14946
|
+
}
|
|
14947
|
+
return /* @__PURE__ */ jsxs(Alert, { children: [
|
|
14948
|
+
/* @__PURE__ */ jsx(TriangleAlert, { className: "h-4 w-4" }),
|
|
14949
|
+
/* @__PURE__ */ jsx(AlertDescription, { children: /* @__PURE__ */ jsx(Trans, { .../*i18n*/
|
|
14950
|
+
{
|
|
14951
|
+
id: "Bv+2kN",
|
|
14952
|
+
values: {
|
|
14953
|
+
productCount
|
|
14954
|
+
}
|
|
14955
|
+
} }) })
|
|
14956
|
+
] });
|
|
14957
|
+
}
|
|
14940
14958
|
const pageId$g = "product-detail";
|
|
14941
14959
|
const Route$j = createFileRoute("/_authenticated/_products/products_/$id")({
|
|
14942
14960
|
component: ProductDetailPage,
|
|
@@ -15205,7 +15223,13 @@ function ProductDetailPage() {
|
|
|
15205
15223
|
{
|
|
15206
15224
|
id: "HiuEp7"
|
|
15207
15225
|
} }), children: [
|
|
15208
|
-
/* @__PURE__ */ jsx("div", { className: "flex flex-wrap gap-1.5 mb-3", children: entity.optionGroups.map((g) =>
|
|
15226
|
+
/* @__PURE__ */ jsx("div", { className: "flex flex-wrap gap-1.5 mb-3", children: entity.optionGroups.map((g) => {
|
|
15227
|
+
const badge = /* @__PURE__ */ jsx(ProductOptionGroupBadge, { id: g.id, name: g.name, productId: entity.id, onRemoved: () => refreshEntity() }, g.id);
|
|
15228
|
+
return g.productCount > 1 ? /* @__PURE__ */ jsxs("div", { className: "w-full space-y-2", children: [
|
|
15229
|
+
badge,
|
|
15230
|
+
/* @__PURE__ */ jsx(SharedOptionGroupWarning, { productCount: g.productCount })
|
|
15231
|
+
] }, g.id) : badge;
|
|
15232
|
+
}) }),
|
|
15209
15233
|
/* @__PURE__ */ jsx(AddOptionGroupDialog, { productId: entity.id, existingGroupIds: entity.optionGroups.map((g) => g.id), onSuccess: () => refreshEntity() })
|
|
15210
15234
|
] }),
|
|
15211
15235
|
/* @__PURE__ */ jsx(PageBlock, { column: "side", blockId: "facet-values", title: /* @__PURE__ */ jsx(Trans, { .../*i18n*/
|
|
@@ -19348,76 +19372,6 @@ function OrderDetailPage() {
|
|
|
19348
19372
|
id: "Y5F7pT"
|
|
19349
19373
|
} }), children: /* @__PURE__ */ jsx(SellerOrdersCard, { orderId: params.id }) }) : void 0 });
|
|
19350
19374
|
}
|
|
19351
|
-
const PAGE_SIZE = 10;
|
|
19352
|
-
function OptionGroupProductsBlock({
|
|
19353
|
-
optionGroupId
|
|
19354
|
-
}) {
|
|
19355
|
-
const {
|
|
19356
|
-
_: _t
|
|
19357
|
-
} = useLingui();
|
|
19358
|
-
const [searchTerm, setSearchTerm] = useState("");
|
|
19359
|
-
const [page, setPage] = useState(1);
|
|
19360
|
-
const debouncedSearchTerm = useDebounce(searchTerm, 300);
|
|
19361
|
-
const {
|
|
19362
|
-
data,
|
|
19363
|
-
isFetching
|
|
19364
|
-
} = useQuery({
|
|
19365
|
-
queryKey: ["optionGroupProducts", optionGroupId, debouncedSearchTerm, page],
|
|
19366
|
-
queryFn: () => api.query(productsByOptionGroupDocument, {
|
|
19367
|
-
options: {
|
|
19368
|
-
filter: {
|
|
19369
|
-
optionGroupId: {
|
|
19370
|
-
eq: optionGroupId
|
|
19371
|
-
},
|
|
19372
|
-
...debouncedSearchTerm ? {
|
|
19373
|
-
name: {
|
|
19374
|
-
contains: debouncedSearchTerm
|
|
19375
|
-
}
|
|
19376
|
-
} : {}
|
|
19377
|
-
},
|
|
19378
|
-
take: PAGE_SIZE,
|
|
19379
|
-
skip: (page - 1) * PAGE_SIZE
|
|
19380
|
-
}
|
|
19381
|
-
}),
|
|
19382
|
-
placeholderData: keepPreviousData
|
|
19383
|
-
});
|
|
19384
|
-
const items = data?.products?.items ?? [];
|
|
19385
|
-
const totalItems = data?.products?.totalItems ?? 0;
|
|
19386
|
-
const totalPages = Math.ceil(totalItems / PAGE_SIZE);
|
|
19387
|
-
const hasMultiplePages = totalPages > 1;
|
|
19388
|
-
return /* @__PURE__ */ jsxs("div", { className: "space-y-2", children: [
|
|
19389
|
-
/* @__PURE__ */ jsx(Input, { placeholder: _t(
|
|
19390
|
-
/*i18n*/
|
|
19391
|
-
{
|
|
19392
|
-
id: "6HLTEb"
|
|
19393
|
-
}
|
|
19394
|
-
), value: searchTerm, onChange: (e) => {
|
|
19395
|
-
setSearchTerm(e.target.value);
|
|
19396
|
-
setPage(1);
|
|
19397
|
-
}, className: "h-8" }),
|
|
19398
|
-
/* @__PURE__ */ jsx("div", { className: "divide-y rounded-md border", children: isFetching && items.length === 0 ? /* @__PURE__ */ jsx("div", { className: "p-3 text-sm text-muted-foreground text-center", children: /* @__PURE__ */ jsx(Trans, { .../*i18n*/
|
|
19399
|
-
{
|
|
19400
|
-
id: "Z3FXyt"
|
|
19401
|
-
} }) }) : items.length === 0 ? /* @__PURE__ */ jsx("div", { className: "p-3 text-sm text-muted-foreground text-center", children: /* @__PURE__ */ jsx(Trans, { .../*i18n*/
|
|
19402
|
-
{
|
|
19403
|
-
id: "9k1f3h"
|
|
19404
|
-
} }) }) : items.map((item) => /* @__PURE__ */ jsx("div", { className: "px-1 py-0.5", children: /* @__PURE__ */ jsx(DetailPageButton, { id: item.id, label: item.name, href: `/products/${item.id}` }) }, item.id)) }),
|
|
19405
|
-
hasMultiplePages && /* @__PURE__ */ jsxs("div", { className: "flex items-center justify-between text-sm text-muted-foreground", children: [
|
|
19406
|
-
/* @__PURE__ */ jsx("span", { children: /* @__PURE__ */ jsx(Trans, { .../*i18n*/
|
|
19407
|
-
{
|
|
19408
|
-
id: "VLy2cu",
|
|
19409
|
-
values: {
|
|
19410
|
-
page,
|
|
19411
|
-
totalPages
|
|
19412
|
-
}
|
|
19413
|
-
} }) }),
|
|
19414
|
-
/* @__PURE__ */ jsxs("div", { className: "flex items-center gap-1", children: [
|
|
19415
|
-
/* @__PURE__ */ jsx(Button, { variant: "outline", size: "icon", className: "h-7 w-7", disabled: page <= 1, onClick: () => setPage((p) => p - 1), children: /* @__PURE__ */ jsx(ChevronLeft, { className: "h-4 w-4" }) }),
|
|
19416
|
-
/* @__PURE__ */ jsx(Button, { variant: "outline", size: "icon", className: "h-7 w-7", disabled: page >= totalPages, onClick: () => setPage((p) => p + 1), children: /* @__PURE__ */ jsx(ChevronRight, { className: "h-4 w-4" }) })
|
|
19417
|
-
] })
|
|
19418
|
-
] })
|
|
19419
|
-
] });
|
|
19420
|
-
}
|
|
19421
19375
|
const productOptionGroupDetailDocument = graphql(`
|
|
19422
19376
|
query ProductOptionGroupDetail($id: ID!) {
|
|
19423
19377
|
productOptionGroup(id: $id) {
|
|
@@ -19455,6 +19409,7 @@ const productOptionGroupIdNameDocument = graphql(`
|
|
|
19455
19409
|
productOptionGroup(id: $id) {
|
|
19456
19410
|
id
|
|
19457
19411
|
name
|
|
19412
|
+
productCount
|
|
19458
19413
|
}
|
|
19459
19414
|
}
|
|
19460
19415
|
`);
|
|
@@ -19490,6 +19445,7 @@ const productOptionDetailDocument = graphql(`
|
|
|
19490
19445
|
id
|
|
19491
19446
|
name
|
|
19492
19447
|
code
|
|
19448
|
+
productCount
|
|
19493
19449
|
}
|
|
19494
19450
|
customFields
|
|
19495
19451
|
}
|
|
@@ -19605,6 +19561,76 @@ function ProductOptionsTable({
|
|
|
19605
19561
|
] }) })
|
|
19606
19562
|
] });
|
|
19607
19563
|
}
|
|
19564
|
+
const PAGE_SIZE = 10;
|
|
19565
|
+
function OptionGroupProductsBlock({
|
|
19566
|
+
optionGroupId
|
|
19567
|
+
}) {
|
|
19568
|
+
const {
|
|
19569
|
+
_: _t
|
|
19570
|
+
} = useLingui();
|
|
19571
|
+
const [searchTerm, setSearchTerm] = useState("");
|
|
19572
|
+
const [page, setPage] = useState(1);
|
|
19573
|
+
const debouncedSearchTerm = useDebounce(searchTerm, 300);
|
|
19574
|
+
const {
|
|
19575
|
+
data,
|
|
19576
|
+
isFetching
|
|
19577
|
+
} = useQuery({
|
|
19578
|
+
queryKey: ["optionGroupProducts", optionGroupId, debouncedSearchTerm, page],
|
|
19579
|
+
queryFn: () => api.query(productsByOptionGroupDocument, {
|
|
19580
|
+
options: {
|
|
19581
|
+
filter: {
|
|
19582
|
+
optionGroupId: {
|
|
19583
|
+
eq: optionGroupId
|
|
19584
|
+
},
|
|
19585
|
+
...debouncedSearchTerm ? {
|
|
19586
|
+
name: {
|
|
19587
|
+
contains: debouncedSearchTerm
|
|
19588
|
+
}
|
|
19589
|
+
} : {}
|
|
19590
|
+
},
|
|
19591
|
+
take: PAGE_SIZE,
|
|
19592
|
+
skip: (page - 1) * PAGE_SIZE
|
|
19593
|
+
}
|
|
19594
|
+
}),
|
|
19595
|
+
placeholderData: keepPreviousData
|
|
19596
|
+
});
|
|
19597
|
+
const items = data?.products?.items ?? [];
|
|
19598
|
+
const totalItems = data?.products?.totalItems ?? 0;
|
|
19599
|
+
const totalPages = Math.ceil(totalItems / PAGE_SIZE);
|
|
19600
|
+
const hasMultiplePages = totalPages > 1;
|
|
19601
|
+
return /* @__PURE__ */ jsxs("div", { className: "space-y-2", children: [
|
|
19602
|
+
/* @__PURE__ */ jsx(Input, { placeholder: _t(
|
|
19603
|
+
/*i18n*/
|
|
19604
|
+
{
|
|
19605
|
+
id: "6HLTEb"
|
|
19606
|
+
}
|
|
19607
|
+
), value: searchTerm, onChange: (e) => {
|
|
19608
|
+
setSearchTerm(e.target.value);
|
|
19609
|
+
setPage(1);
|
|
19610
|
+
}, className: "h-8" }),
|
|
19611
|
+
/* @__PURE__ */ jsx("div", { className: "divide-y rounded-md border", children: isFetching && items.length === 0 ? /* @__PURE__ */ jsx("div", { className: "p-3 text-sm text-muted-foreground text-center", children: /* @__PURE__ */ jsx(Trans, { .../*i18n*/
|
|
19612
|
+
{
|
|
19613
|
+
id: "Z3FXyt"
|
|
19614
|
+
} }) }) : items.length === 0 ? /* @__PURE__ */ jsx("div", { className: "p-3 text-sm text-muted-foreground text-center", children: /* @__PURE__ */ jsx(Trans, { .../*i18n*/
|
|
19615
|
+
{
|
|
19616
|
+
id: "9k1f3h"
|
|
19617
|
+
} }) }) : items.map((item) => /* @__PURE__ */ jsx("div", { className: "px-1 py-0.5", children: /* @__PURE__ */ jsx(DetailPageButton, { id: item.id, label: item.name, href: `/products/${item.id}` }) }, item.id)) }),
|
|
19618
|
+
hasMultiplePages && /* @__PURE__ */ jsxs("div", { className: "flex items-center justify-between text-sm text-muted-foreground", children: [
|
|
19619
|
+
/* @__PURE__ */ jsx("span", { children: /* @__PURE__ */ jsx(Trans, { .../*i18n*/
|
|
19620
|
+
{
|
|
19621
|
+
id: "VLy2cu",
|
|
19622
|
+
values: {
|
|
19623
|
+
page,
|
|
19624
|
+
totalPages
|
|
19625
|
+
}
|
|
19626
|
+
} }) }),
|
|
19627
|
+
/* @__PURE__ */ jsxs("div", { className: "flex items-center gap-1", children: [
|
|
19628
|
+
/* @__PURE__ */ jsx(Button, { variant: "outline", size: "icon", className: "h-7 w-7", disabled: page <= 1, onClick: () => setPage((p) => p - 1), children: /* @__PURE__ */ jsx(ChevronLeft, { className: "h-4 w-4" }) }),
|
|
19629
|
+
/* @__PURE__ */ jsx(Button, { variant: "outline", size: "icon", className: "h-7 w-7", disabled: page >= totalPages, onClick: () => setPage((p) => p + 1), children: /* @__PURE__ */ jsx(ChevronRight, { className: "h-4 w-4" }) })
|
|
19630
|
+
] })
|
|
19631
|
+
] })
|
|
19632
|
+
] });
|
|
19633
|
+
}
|
|
19608
19634
|
const pageId$d = "option-group-detail";
|
|
19609
19635
|
const Route$f = createFileRoute("/_authenticated/_option-groups/option-groups_/$id")({
|
|
19610
19636
|
component: OptionGroupDetailPage,
|
|
@@ -19769,6 +19795,7 @@ function OptionGroupDetailPage() {
|
|
|
19769
19795
|
id: "EkH9pt"
|
|
19770
19796
|
} }) }) }) }),
|
|
19771
19797
|
/* @__PURE__ */ jsxs(PageLayout, { children: [
|
|
19798
|
+
entity && entity.productCount > 1 && /* @__PURE__ */ jsx(PageBlock, { column: "main", blockId: "shared-option-group-warning", children: /* @__PURE__ */ jsx(SharedOptionGroupWarning, { productCount: entity.productCount }) }),
|
|
19772
19799
|
/* @__PURE__ */ jsx(PageBlock, { column: "main", blockId: "main-form", children: /* @__PURE__ */ jsxs(DetailFormGrid, { children: [
|
|
19773
19800
|
/* @__PURE__ */ jsx(TranslatableFormFieldWrapper, { control: form.control, name: "name", label: /* @__PURE__ */ jsx(Trans, { .../*i18n*/
|
|
19774
19801
|
{
|
|
@@ -25842,6 +25869,7 @@ const Route$1 = createFileRoute("/_authenticated/_option-groups/option-groups_/$
|
|
|
25842
25869
|
throw new Error(`ProductOption with the ID ${params.id} was not found`);
|
|
25843
25870
|
}
|
|
25844
25871
|
let optionGroupName;
|
|
25872
|
+
let productCount = 0;
|
|
25845
25873
|
if (isNew) {
|
|
25846
25874
|
const optionGroupResult = await context.queryClient.fetchQuery({
|
|
25847
25875
|
queryKey: [pageId$1, "optionGroupIdName", params.groupId],
|
|
@@ -25850,8 +25878,10 @@ const Route$1 = createFileRoute("/_authenticated/_option-groups/option-groups_/$
|
|
|
25850
25878
|
})
|
|
25851
25879
|
});
|
|
25852
25880
|
optionGroupName = optionGroupResult.productOptionGroup?.name;
|
|
25881
|
+
productCount = optionGroupResult.productOptionGroup?.productCount ?? 0;
|
|
25853
25882
|
} else {
|
|
25854
25883
|
optionGroupName = result.productOption.group.name;
|
|
25884
|
+
productCount = result.productOption.group.productCount;
|
|
25855
25885
|
}
|
|
25856
25886
|
const search = location.search;
|
|
25857
25887
|
const groupId = isNew ? params.groupId : result.productOption.group.id;
|
|
@@ -25863,6 +25893,7 @@ const Route$1 = createFileRoute("/_authenticated/_option-groups/option-groups_/$
|
|
|
25863
25893
|
})
|
|
25864
25894
|
});
|
|
25865
25895
|
return {
|
|
25896
|
+
productCount,
|
|
25866
25897
|
breadcrumb: [{
|
|
25867
25898
|
path: "/products",
|
|
25868
25899
|
label: /* @__PURE__ */ jsx(Trans, { .../*i18n*/
|
|
@@ -25888,6 +25919,7 @@ const Route$1 = createFileRoute("/_authenticated/_option-groups/option-groups_/$
|
|
|
25888
25919
|
};
|
|
25889
25920
|
}
|
|
25890
25921
|
return {
|
|
25922
|
+
productCount,
|
|
25891
25923
|
breadcrumb: [{
|
|
25892
25924
|
path: "/option-groups",
|
|
25893
25925
|
label: /* @__PURE__ */ jsx(Trans, { .../*i18n*/
|
|
@@ -25909,6 +25941,9 @@ const Route$1 = createFileRoute("/_authenticated/_option-groups/option-groups_/$
|
|
|
25909
25941
|
});
|
|
25910
25942
|
function OptionGroupOptionDetailPage() {
|
|
25911
25943
|
const params = Route$1.useParams();
|
|
25944
|
+
const {
|
|
25945
|
+
productCount
|
|
25946
|
+
} = Route$1.useLoaderData();
|
|
25912
25947
|
const navigate = useNavigate();
|
|
25913
25948
|
const creatingNewEntity = params.id === NEW_ENTITY_PATH;
|
|
25914
25949
|
const {
|
|
@@ -26000,6 +26035,7 @@ function OptionGroupOptionDetailPage() {
|
|
|
26000
26035
|
id: "EkH9pt"
|
|
26001
26036
|
} }) }) }) }),
|
|
26002
26037
|
/* @__PURE__ */ jsxs(PageLayout, { children: [
|
|
26038
|
+
productCount > 1 && /* @__PURE__ */ jsx(PageBlock, { column: "main", blockId: "shared-option-group-warning", children: /* @__PURE__ */ jsx(SharedOptionGroupWarning, { productCount }) }),
|
|
26003
26039
|
entity?.group && /* @__PURE__ */ jsx(PageBlock, { column: "side", blockId: "option-group-info", children: /* @__PURE__ */ jsxs("div", { className: "space-y-2", children: [
|
|
26004
26040
|
/* @__PURE__ */ jsx("div", { className: "text-sm font-medium", children: /* @__PURE__ */ jsx(Trans, { .../*i18n*/
|
|
26005
26041
|
{
|
package/dist/bundle/chunks/{use-job-queue-polling-Cqr5CKxU.js → use-job-queue-polling-PQ-fadAl.js}
RENAMED
|
@@ -39350,7 +39350,7 @@ function useDayPickerLocale() {
|
|
|
39350
39350
|
} = useDisplayLocale();
|
|
39351
39351
|
const [calendarLocale, setCalendarLocale] = useState(void 0);
|
|
39352
39352
|
useEffect(() => {
|
|
39353
|
-
import("./locale-
|
|
39353
|
+
import("./locale-Ds-_762_.js").then((mod) => {
|
|
39354
39354
|
setCalendarLocale(bcpTagToDatePickerLocale(bcp47Tag, mod));
|
|
39355
39355
|
});
|
|
39356
39356
|
}, [bcp47Tag]);
|
|
@@ -85831,6 +85831,13 @@ function useGeneratedColumns({
|
|
|
85831
85831
|
})));
|
|
85832
85832
|
customFieldColumnNames2.push(...customFieldFields.map((field) => field.name));
|
|
85833
85833
|
}
|
|
85834
|
+
const resolveDisplayComponent = (columnId) => {
|
|
85835
|
+
const displayComponentId = pageId && pageBlock?.blockId ? generateDisplayComponentKey(pageId, pageBlock.blockId, columnId) : void 0;
|
|
85836
|
+
return {
|
|
85837
|
+
displayComponentId,
|
|
85838
|
+
registeredDisplayComponent: displayComponentId ? getDisplayComponent(displayComponentId) : void 0
|
|
85839
|
+
};
|
|
85840
|
+
};
|
|
85834
85841
|
const queryBasedColumns = columnConfigs.map(({
|
|
85835
85842
|
fieldInfo,
|
|
85836
85843
|
isCustomField
|
|
@@ -85847,8 +85854,10 @@ function useGeneratedColumns({
|
|
|
85847
85854
|
...customConfigRest
|
|
85848
85855
|
} = customConfig;
|
|
85849
85856
|
const enableColumnFilter = (fieldInfo.isScalar || isEnumType(fieldInfo.type)) && !facetedFilters?.[fieldInfo.name];
|
|
85850
|
-
const
|
|
85851
|
-
|
|
85857
|
+
const {
|
|
85858
|
+
displayComponentId,
|
|
85859
|
+
registeredDisplayComponent
|
|
85860
|
+
} = resolveDisplayComponent(fieldInfo.name);
|
|
85852
85861
|
const cellFn = typeof customCell === "function" && !registeredDisplayComponent ? customCell : (cellContext) => /* @__PURE__ */ jsx(CellWrapper, { cellContext, fieldInfo, isCustomField, displayComponentId });
|
|
85853
85862
|
return columnHelper.accessor(fieldInfo.name, {
|
|
85854
85863
|
id: fieldInfo.name,
|
|
@@ -85875,9 +85884,13 @@ function useGeneratedColumns({
|
|
|
85875
85884
|
if (!id2) {
|
|
85876
85885
|
throw new Error("Column id is required");
|
|
85877
85886
|
}
|
|
85887
|
+
const RegisteredDisplayComponent = resolveDisplayComponent(id2).registeredDisplayComponent;
|
|
85878
85888
|
finalColumns.push(columnHelper.accessor(id2, {
|
|
85879
85889
|
enableColumnFilter: false,
|
|
85880
85890
|
...column,
|
|
85891
|
+
...RegisteredDisplayComponent ? {
|
|
85892
|
+
cell: (cellContext) => /* @__PURE__ */ jsx(RegisteredDisplayComponent, { value: cellContext.cell.getValue(), ...cellContext })
|
|
85893
|
+
} : {},
|
|
85881
85894
|
id: id2
|
|
85882
85895
|
}));
|
|
85883
85896
|
}
|
|
@@ -131090,6 +131103,7 @@ const useExtendedRouter = (baseRouteTree, routerOptions) => {
|
|
|
131090
131103
|
const isAuthenticated = config2.authenticated !== false;
|
|
131091
131104
|
if (isAuthenticated) {
|
|
131092
131105
|
if (authenticatedRoute.children.findIndex((r2) => r2.path === pathWithoutLeadingSlash) > -1) {
|
|
131106
|
+
warnRouteCollision(path);
|
|
131093
131107
|
continue;
|
|
131094
131108
|
}
|
|
131095
131109
|
const newRoute = createRoute({
|
|
@@ -131106,6 +131120,7 @@ const useExtendedRouter = (baseRouteTree, routerOptions) => {
|
|
|
131106
131120
|
} else {
|
|
131107
131121
|
const routeExists = routeTree.children.some((r2) => r2.path === `/${pathWithoutLeadingSlash}` || r2.path === pathWithoutLeadingSlash || r2.id === `/${pathWithoutLeadingSlash}`) || newRootRoutes.some((r2) => r2.path === `/${pathWithoutLeadingSlash}` || r2.id === `/${pathWithoutLeadingSlash}`);
|
|
131108
131122
|
if (routeExists) {
|
|
131123
|
+
warnRouteCollision(path);
|
|
131109
131124
|
continue;
|
|
131110
131125
|
}
|
|
131111
131126
|
const newRoute = createRoute({
|
|
@@ -131130,6 +131145,11 @@ const useExtendedRouter = (baseRouteTree, routerOptions) => {
|
|
|
131130
131145
|
return createExtendedRouter(routerOptions, extendedRouteTree);
|
|
131131
131146
|
}, [baseRouteTree, routerOptions, extensionsLoaded]);
|
|
131132
131147
|
};
|
|
131148
|
+
function warnRouteCollision(path) {
|
|
131149
|
+
if (process.env.NODE_ENV !== "production") {
|
|
131150
|
+
console.warn(`[Dashboard] Extension route "${path}" conflicts with an existing route and will not be registered.`);
|
|
131151
|
+
}
|
|
131152
|
+
}
|
|
131133
131153
|
function createExtendedRouter(routerOptions, extendedRouteTree) {
|
|
131134
131154
|
return createRouter({
|
|
131135
131155
|
...routerOptions,
|
package/dist/bundle/lib.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { c as createLucideIcon, g as getComputedStyle$1, i as isHTMLElement, r as round, a as createLucideIcon$1, b as isFieldDisabled, C as Checkbox, u as useBaseUiId, d as useIsoLayoutEffect, f as formatErrorMessage, e as useRenderElement, N as NOOP, h as useTransitionStatus, j as useStableCallback, k as useOpenChangeComplete, t as transitionStatusMapping, l as useTimeout, m as createSelector, n as compareItemEquality, o as hasNullItemLabel, s as stringifyAsLabel, p as defaultItemEquality, q as useFormContext, v as useFieldRootContext, w as useLabelableId, x as useControlled, E as EMPTY_ARRAY, y as useRefWithInit, z as isGroupedItems, S as Store, A as EMPTY_OBJECT, B as stringifyAsValue, D as useStore, F as useValueAsRef, G as useOpenInteractionType, H as useField, I as createGenericEventDetails, J as inputClear, K as inputChange, L as createChangeEventDetails, M as focusOut, O as outsidePress, P as getTarget, Q as itemPress, R as selectedValueIncludes, T as removeItem, U as none, V as findItemIndex, W as useValueChanged, X as useFloatingRootContext, Y as useClick, Z as inputPress, _ as useDismiss, $ as contains, a0 as useListNavigation, a1 as useInteractions, a2 as useOnFirstRender, a3 as useMergedRefs, a4 as visuallyHiddenInput, a5 as visuallyHidden, a6 as resolveMultipleLabels, a7 as resolveSelectedLabel, a8 as fieldValidityMapping, a9 as pressableTriggerOpenStateMapping, aa as useButton, ab as closePress, ac as useLabelableContext, ad as useDirection, ae as DEFAULT_FIELD_STATE_ATTRIBUTES, af as resolveAriaLabelledBy, ag as stopEvent, ah as isFirefox, ai as escapeKey, aj as isAndroid, ak as useTypeahead, al as listNavigation, am as ownerDocument, an as getPseudoElementBounds, ao as CompositeList, ap as FloatingPortal, aq as DROPDOWN_COLLISION_AVOIDANCE, ar as useAnchorPositioning, as as useScrollLock, at as InternalBackdrop, au as inertValue, av as getDisabledMountTransitionStyles, aw as popupStateMapping, ax as FloatingFocusManager, ay as useCompositeListItem, az as IndexGuessBehavior, aA as chipRemovePress, aB as triggerOpenStateMapping, aC as clearPress, aD as useId, aE as ContextMenuRootContext, aF as MenuRootContext, aG as MenuRoot, aH as useContextMenuRootContext, aI as useMenuRootContext, aJ as findRootOwnerId, aK as cancelOpen, aL as triggerPress, aM as MenubarContext, aN as FloatingTree, aO as CompositeRoot, aP as useFloatingNodeId, aQ as useFloatingTree, aR as useMenubarContext, aS as FloatingNode, aT as useFloatingParentNodeId, aU as linkPress, aV as activeElement, aW as triggerHover, aX as getEmptyRootContext, aY as useHoverFloatingInteraction, aZ as getNodeChildren, a_ as useAnimationFrame, a$ as useAnimationsFinished, b0 as getWindow, b1 as TransitionStatusDataAttributes, b2 as useHoverInteractionSharedState, b3 as clearSafePolygonPointerEventsMutation, b4 as useHoverReferenceInteraction, b5 as safePolygon, b6 as isWebKit, b7 as CompositeItem, b8 as FocusGuard, b9 as isOutsideEvent, ba as getPreviousTabbable, bb as ownerVisuallyHidden, bc as isTabbable, bd as getNextTabbable, be as getTabbableAfterElement, bf as applySafePolygonPointerEventsMutation, bg as PATIENT_CLICK_THRESHOLD, bh as POPUP_COLLISION_AVOIDANCE, bi as adaptiveOrigin, bj as enableFocusInside, bk as disableFocusInside, bl as clamp, bm as warn, bn as getDefaultLabelId, bo as keyboard, bp as isElement, bq as drag, br as trackPress, bs as useCSPContext, bt as useOnMount, bu as mergeProps, bv as COMPOSITE_KEYS, bw as HOME, bx as END, by as ARROW_LEFT, bz as ARROW_DOWN, bA as ARROW_RIGHT, bB as ARROW_UP, bC as useServerConfig, bD as useUserSettings, bE as useSortedLanguages, bF as Select, bG as SelectTrigger, bH as cn, bI as SelectValue, bJ as SelectContent, bK as SelectItem, bL as useSidebar, bM as SidebarGroup, bN as SidebarGroupLabel, bO as SidebarMenu, bP as SidebarMenuItem, bQ as SidebarMenuButton, bR as DropdownMenu, bS as DropdownMenuTrigger, bT as Ellipsis, bU as SidebarMenuAction, bV as DropdownMenuContent, bW as DropdownMenuItem, bX as Folder, bY as DropdownMenuSeparator, bZ as Trash2, b_ as BRAND, b$ as DIRTY, c0 as EMPTY_PATH, c1 as INVALID, c2 as NEVER, c3 as OK, c4 as ParseStatus, c5 as ZodType, c6 as ZodAny, c7 as ZodArray, c8 as ZodBigInt, c9 as ZodBoolean, ca as ZodBranded, cb as ZodCatch, cc as ZodDate, cd as ZodDefault, ce as ZodDiscriminatedUnion, cf as ZodEffects, cg as ZodEnum, ch as ZodError, ci as ZodFirstPartyTypeKind, cj as ZodFunction, ck as ZodIntersection, cl as ZodIssueCode, cm as ZodLazy, cn as ZodLiteral, co as ZodMap, cp as ZodNaN, cq as ZodNativeEnum, cr as ZodNever, cs as ZodNull, ct as ZodNullable, cu as ZodNumber, cv as ZodObject, cw as ZodOptional, cx as ZodParsedType, cy as ZodPipeline, cz as ZodPromise, cA as ZodReadonly, cB as ZodRecord, cC as ZodSet, cD as ZodString, cE as ZodSymbol, cF as ZodTuple, cG as ZodUndefined, cH as ZodUnion, cI as ZodUnknown, cJ as ZodVoid, cK as addIssueToContext, cL as anyType, cM as arrayType, cN as bigIntType, cO as booleanType, cP as coerce, cQ as custom, cR as dateType, cS as datetimeRegex, cT as errorMap, cU as discriminatedUnionType, cV as effectsType, cW as enumType, cX as functionType, cY as getErrorMap, cZ as getParsedType, c_ as instanceOfType, c$ as intersectionType, d0 as isAborted, d1 as isAsync, d2 as isDirty, d3 as isValid, d4 as late, d5 as lazyType, d6 as literalType, d7 as makeIssue, d8 as mapType, d9 as nanType, da as nativeEnumType, db as neverType, dc as nullType, dd as nullableType, de as numberType, df as objectType, dg as objectUtil, dh as oboolean, di as onumber, dj as optionalType, dk as ostring, dl as pipelineType, dm as preprocessType, dn as promiseType, dp as quotelessJson, dq as recordType, dr as setType, ds as setErrorMap, dt as strictObjectType, du as stringType, dv as symbolType, dw as tupleType, dx as undefinedType, dy as unionType, dz as unknownType, dA as util, dB as voidType, dC as MotionConfigContext, dD as isHTMLElement$1, dE as useConstant, dF as PresenceContext, dG as usePresence, dH as useIsomorphicLayoutEffect$1, dI as LayoutGroupContext, dJ as frame, dK as animateVisualElement, dL as setTarget, dM as invariant, dN as resolveElements, dO as Input, dP as Button, dQ as Plus, dR as Badge, dS as X, dT as cn$1, dU as cva, dV as Separator, dW as useRender, dX as Button$1, dY as ChevronLeft, dZ as ChevronRight, d_ as throttle, d$ as warn$1, e0 as isPercent, e1 as getDisplayName, e2 as clsx, e3 as Tooltip, e4 as Legend, e5 as X$1, e6 as InputGroup, e7 as InputGroupInput, e8 as InputGroupAddon, e9 as InputGroupButton, ea as Check, eb as Separator$1, ec as ChevronDown, ed as MenuCheckboxItem, ee as MenuCheckboxItemIndicator, ef as MenuPortal, eg as MenuPositioner, eh as MenuPopup, ei as MenuGroup, ej as MenuItem, ek as MenuGroupLabel, el as MenuRadioGroup, em as MenuRadioItem, en as MenuRadioItemIndicator, eo as MenuSubmenuRoot, ep as MenuSubmenuTrigger, eq as Close, er as Description, es as Title, et as Trigger, eu as Root$1, ev as Content$1, ew as Overlay$1, ex as Portal$1, ey as DropdownMenuContent$1, ez as DropdownMenuGroup, eA as DropdownMenuLabel, eB as DropdownMenuPortal, eC as DropdownMenuRadioGroup, eD as DropdownMenuShortcut, eE as DropdownMenuSub, eF as DropdownMenuSubContent, eG as DropdownMenuSubTrigger, eH as NEW_ENTITY_PATH, eI as getEntityName, eJ as useDetailPage, eK as getOperationVariablesFields, eL as Page, eM as PageTitle, eN as PageActionBar, eO as PageActionBarRight, eP as PageLayout, eQ as PageBlock, eR as DetailFormGrid, eS as FormFieldWrapper, eT as TranslatableFormFieldWrapper, eU as CustomFieldsPageBlock, eV as DefaultInputForType } from "./chunks/use-job-queue-polling-
|
|
2
|
-
import { nk, hP, hQ, hR, hS, me, mf, fz, fx, f0, i3, i6, i4, hU, hV, hW, hX, hY, hZ, h_, h$, i0, i1, hT, i2, kj, i5, gw, kk, gy, gx, gk, gl, gA, gB, gD, gE, gH, gF, gG, gI, gJ, gK, gM, gN, fV, eX, eW, f1, i8, i9, ia, ib, ic, id, ie, nl, ih, ii, ij, ik, il, im, io, ip, iq, gO, gP, gQ, gm, ir, it, is, fy, f2, iu, iv, iw, ix, iy, iz, iA, iB, iC, gR, gS, f3, gU, gV, gW, gX, gY, hM, nm, gZ, f4, g_, lu, l5, g$, hD, h0, f5, h1, h2, fX, nn, kq, fU, fW, fA, fB, fC, fD, f_, fG, fI, fH, fJ, g0, g2, fK, fE, g4, fT, gi, eY, f7, f8, h3, mg, gn, gu, iE, iF, iG, iH, iI, iJ, iK, iL, iD, iM, iN, ko, iO, iP, h4, h5, h6, fF, f9, h7, iQ, iR, iS, iT, iU, iV, iW, iX, iY, iZ, i_, lv, mp, go, g5, g6, i$, md, h8, h9, ha, hb, hc, he, hd, j0, j1, j2, g7, f$, hg, ht, j3, j4, e_, eZ, no, np, nq, nr, ns, j5, gj, gp, hh, hu, mx, ml, hq, gv, hi, g8, gq, hp, kt, e$, fa, fi, hj, g9, g1, gr, gs, gt, hk, fb, hF, hE, lC, mo, mm, mn, mr, hl, hn, hm, j6, j7, j8, j9, ja, jb, jc, fc, jd, ho, hK, je, jf, jg, jh, ji, jj, fg, ff, hr, jk, jl, ga, fo, fm, hs, hN, hv, hG, hw, fq, hz, hA, g3, nt, gb, gc, jm, jn, jo, jp, jq, jr, js, fr, hB, jt, ju, jv, jw, jx, jy, jz, jA, jB, jC, jD, jE, jF, jG, jH, jI, jJ, jK, jL, jM, jN, jO, jP, jQ, jR, fh, jS, fs, jU, hC, ft, fu, jV, jW, jX, jY, jZ, hx, hy, j_, j$, k0, k1, k2, k3, k4, k5, hH, fv, k7, fw, hL, jT, ka, k8, k9, kc, kd, ke, kf, hI, gg, hJ, gh, kp, kz, kA, hO, kC, lf, kP, kO, lt, lb, le, kE, mu, mv, kG, mF, gz, ly, mI, i7, fZ, ig, fR, fS, nz, kM, fl, mK, mL, mJ, lG, gC, lw, fp, fk, l8, mw, mG, mM, l7, kI, kJ, my, lZ, nA, la, ld, ki, kh, kB, fL, kN, mc, mi, l1, mk, ky, kx, lz, lx, ls, mA, l9, mH, k_, n2, kR, lB, lc, fO, fP, kD, kQ, kV, ms, kU, kW, kS, kT, mR, fN, mE, kX, ma, kF, lA, mC, kK, mN, m7, m4, l0, gT, lQ, m0, fQ, lK, lJ, lT, m1, kZ, m6, lS, l$, lR, l_, m2, lN, lP, m5, mq, m3, lU, kY, lL, lM, lX, lY, lV, lW, lO, m9, kr, ks, nu, fd, fe, nv, m8, gd, nB, l6, ku, kv, fY, fM, fj, mO, kg, lg, mh, l2, l3, mj, kw, lh, kH, li, lj, lk, ll, lm, ln, mz, lo, mD, lp, lF, nC, l4, kl, mQ, mP, km, kL, mt, mS, lH, lI, k6, kb, lE, mb, mU, mT, ge, mV, mW, kn, mX, lq, mY, f6, mZ, m_, m$, n0, n1, mB, n3, n4, gf, lD, n5, hf, n8, ne, n6, k$, n7, lr, nw, na, n9, nb, nc, gL, fn, ng, nd, nx, nf, ny, nh, ni, nj, nD } from "./chunks/use-job-queue-polling-
|
|
1
|
+
import { c as createLucideIcon, g as getComputedStyle$1, i as isHTMLElement, r as round, a as createLucideIcon$1, b as isFieldDisabled, C as Checkbox, u as useBaseUiId, d as useIsoLayoutEffect, f as formatErrorMessage, e as useRenderElement, N as NOOP, h as useTransitionStatus, j as useStableCallback, k as useOpenChangeComplete, t as transitionStatusMapping, l as useTimeout, m as createSelector, n as compareItemEquality, o as hasNullItemLabel, s as stringifyAsLabel, p as defaultItemEquality, q as useFormContext, v as useFieldRootContext, w as useLabelableId, x as useControlled, E as EMPTY_ARRAY, y as useRefWithInit, z as isGroupedItems, S as Store, A as EMPTY_OBJECT, B as stringifyAsValue, D as useStore, F as useValueAsRef, G as useOpenInteractionType, H as useField, I as createGenericEventDetails, J as inputClear, K as inputChange, L as createChangeEventDetails, M as focusOut, O as outsidePress, P as getTarget, Q as itemPress, R as selectedValueIncludes, T as removeItem, U as none, V as findItemIndex, W as useValueChanged, X as useFloatingRootContext, Y as useClick, Z as inputPress, _ as useDismiss, $ as contains, a0 as useListNavigation, a1 as useInteractions, a2 as useOnFirstRender, a3 as useMergedRefs, a4 as visuallyHiddenInput, a5 as visuallyHidden, a6 as resolveMultipleLabels, a7 as resolveSelectedLabel, a8 as fieldValidityMapping, a9 as pressableTriggerOpenStateMapping, aa as useButton, ab as closePress, ac as useLabelableContext, ad as useDirection, ae as DEFAULT_FIELD_STATE_ATTRIBUTES, af as resolveAriaLabelledBy, ag as stopEvent, ah as isFirefox, ai as escapeKey, aj as isAndroid, ak as useTypeahead, al as listNavigation, am as ownerDocument, an as getPseudoElementBounds, ao as CompositeList, ap as FloatingPortal, aq as DROPDOWN_COLLISION_AVOIDANCE, ar as useAnchorPositioning, as as useScrollLock, at as InternalBackdrop, au as inertValue, av as getDisabledMountTransitionStyles, aw as popupStateMapping, ax as FloatingFocusManager, ay as useCompositeListItem, az as IndexGuessBehavior, aA as chipRemovePress, aB as triggerOpenStateMapping, aC as clearPress, aD as useId, aE as ContextMenuRootContext, aF as MenuRootContext, aG as MenuRoot, aH as useContextMenuRootContext, aI as useMenuRootContext, aJ as findRootOwnerId, aK as cancelOpen, aL as triggerPress, aM as MenubarContext, aN as FloatingTree, aO as CompositeRoot, aP as useFloatingNodeId, aQ as useFloatingTree, aR as useMenubarContext, aS as FloatingNode, aT as useFloatingParentNodeId, aU as linkPress, aV as activeElement, aW as triggerHover, aX as getEmptyRootContext, aY as useHoverFloatingInteraction, aZ as getNodeChildren, a_ as useAnimationFrame, a$ as useAnimationsFinished, b0 as getWindow, b1 as TransitionStatusDataAttributes, b2 as useHoverInteractionSharedState, b3 as clearSafePolygonPointerEventsMutation, b4 as useHoverReferenceInteraction, b5 as safePolygon, b6 as isWebKit, b7 as CompositeItem, b8 as FocusGuard, b9 as isOutsideEvent, ba as getPreviousTabbable, bb as ownerVisuallyHidden, bc as isTabbable, bd as getNextTabbable, be as getTabbableAfterElement, bf as applySafePolygonPointerEventsMutation, bg as PATIENT_CLICK_THRESHOLD, bh as POPUP_COLLISION_AVOIDANCE, bi as adaptiveOrigin, bj as enableFocusInside, bk as disableFocusInside, bl as clamp, bm as warn, bn as getDefaultLabelId, bo as keyboard, bp as isElement, bq as drag, br as trackPress, bs as useCSPContext, bt as useOnMount, bu as mergeProps, bv as COMPOSITE_KEYS, bw as HOME, bx as END, by as ARROW_LEFT, bz as ARROW_DOWN, bA as ARROW_RIGHT, bB as ARROW_UP, bC as useServerConfig, bD as useUserSettings, bE as useSortedLanguages, bF as Select, bG as SelectTrigger, bH as cn, bI as SelectValue, bJ as SelectContent, bK as SelectItem, bL as useSidebar, bM as SidebarGroup, bN as SidebarGroupLabel, bO as SidebarMenu, bP as SidebarMenuItem, bQ as SidebarMenuButton, bR as DropdownMenu, bS as DropdownMenuTrigger, bT as Ellipsis, bU as SidebarMenuAction, bV as DropdownMenuContent, bW as DropdownMenuItem, bX as Folder, bY as DropdownMenuSeparator, bZ as Trash2, b_ as BRAND, b$ as DIRTY, c0 as EMPTY_PATH, c1 as INVALID, c2 as NEVER, c3 as OK, c4 as ParseStatus, c5 as ZodType, c6 as ZodAny, c7 as ZodArray, c8 as ZodBigInt, c9 as ZodBoolean, ca as ZodBranded, cb as ZodCatch, cc as ZodDate, cd as ZodDefault, ce as ZodDiscriminatedUnion, cf as ZodEffects, cg as ZodEnum, ch as ZodError, ci as ZodFirstPartyTypeKind, cj as ZodFunction, ck as ZodIntersection, cl as ZodIssueCode, cm as ZodLazy, cn as ZodLiteral, co as ZodMap, cp as ZodNaN, cq as ZodNativeEnum, cr as ZodNever, cs as ZodNull, ct as ZodNullable, cu as ZodNumber, cv as ZodObject, cw as ZodOptional, cx as ZodParsedType, cy as ZodPipeline, cz as ZodPromise, cA as ZodReadonly, cB as ZodRecord, cC as ZodSet, cD as ZodString, cE as ZodSymbol, cF as ZodTuple, cG as ZodUndefined, cH as ZodUnion, cI as ZodUnknown, cJ as ZodVoid, cK as addIssueToContext, cL as anyType, cM as arrayType, cN as bigIntType, cO as booleanType, cP as coerce, cQ as custom, cR as dateType, cS as datetimeRegex, cT as errorMap, cU as discriminatedUnionType, cV as effectsType, cW as enumType, cX as functionType, cY as getErrorMap, cZ as getParsedType, c_ as instanceOfType, c$ as intersectionType, d0 as isAborted, d1 as isAsync, d2 as isDirty, d3 as isValid, d4 as late, d5 as lazyType, d6 as literalType, d7 as makeIssue, d8 as mapType, d9 as nanType, da as nativeEnumType, db as neverType, dc as nullType, dd as nullableType, de as numberType, df as objectType, dg as objectUtil, dh as oboolean, di as onumber, dj as optionalType, dk as ostring, dl as pipelineType, dm as preprocessType, dn as promiseType, dp as quotelessJson, dq as recordType, dr as setType, ds as setErrorMap, dt as strictObjectType, du as stringType, dv as symbolType, dw as tupleType, dx as undefinedType, dy as unionType, dz as unknownType, dA as util, dB as voidType, dC as MotionConfigContext, dD as isHTMLElement$1, dE as useConstant, dF as PresenceContext, dG as usePresence, dH as useIsomorphicLayoutEffect$1, dI as LayoutGroupContext, dJ as frame, dK as animateVisualElement, dL as setTarget, dM as invariant, dN as resolveElements, dO as Input, dP as Button, dQ as Plus, dR as Badge, dS as X, dT as cn$1, dU as cva, dV as Separator, dW as useRender, dX as Button$1, dY as ChevronLeft, dZ as ChevronRight, d_ as throttle, d$ as warn$1, e0 as isPercent, e1 as getDisplayName, e2 as clsx, e3 as Tooltip, e4 as Legend, e5 as X$1, e6 as InputGroup, e7 as InputGroupInput, e8 as InputGroupAddon, e9 as InputGroupButton, ea as Check, eb as Separator$1, ec as ChevronDown, ed as MenuCheckboxItem, ee as MenuCheckboxItemIndicator, ef as MenuPortal, eg as MenuPositioner, eh as MenuPopup, ei as MenuGroup, ej as MenuItem, ek as MenuGroupLabel, el as MenuRadioGroup, em as MenuRadioItem, en as MenuRadioItemIndicator, eo as MenuSubmenuRoot, ep as MenuSubmenuTrigger, eq as Close, er as Description, es as Title, et as Trigger, eu as Root$1, ev as Content$1, ew as Overlay$1, ex as Portal$1, ey as DropdownMenuContent$1, ez as DropdownMenuGroup, eA as DropdownMenuLabel, eB as DropdownMenuPortal, eC as DropdownMenuRadioGroup, eD as DropdownMenuShortcut, eE as DropdownMenuSub, eF as DropdownMenuSubContent, eG as DropdownMenuSubTrigger, eH as NEW_ENTITY_PATH, eI as getEntityName, eJ as useDetailPage, eK as getOperationVariablesFields, eL as Page, eM as PageTitle, eN as PageActionBar, eO as PageActionBarRight, eP as PageLayout, eQ as PageBlock, eR as DetailFormGrid, eS as FormFieldWrapper, eT as TranslatableFormFieldWrapper, eU as CustomFieldsPageBlock, eV as DefaultInputForType } from "./chunks/use-job-queue-polling-PQ-fadAl.js";
|
|
2
|
+
import { nk, hP, hQ, hR, hS, me, mf, fz, fx, f0, i3, i6, i4, hU, hV, hW, hX, hY, hZ, h_, h$, i0, i1, hT, i2, kj, i5, gw, kk, gy, gx, gk, gl, gA, gB, gD, gE, gH, gF, gG, gI, gJ, gK, gM, gN, fV, eX, eW, f1, i8, i9, ia, ib, ic, id, ie, nl, ih, ii, ij, ik, il, im, io, ip, iq, gO, gP, gQ, gm, ir, it, is, fy, f2, iu, iv, iw, ix, iy, iz, iA, iB, iC, gR, gS, f3, gU, gV, gW, gX, gY, hM, nm, gZ, f4, g_, lu, l5, g$, hD, h0, f5, h1, h2, fX, nn, kq, fU, fW, fA, fB, fC, fD, f_, fG, fI, fH, fJ, g0, g2, fK, fE, g4, fT, gi, eY, f7, f8, h3, mg, gn, gu, iE, iF, iG, iH, iI, iJ, iK, iL, iD, iM, iN, ko, iO, iP, h4, h5, h6, fF, f9, h7, iQ, iR, iS, iT, iU, iV, iW, iX, iY, iZ, i_, lv, mp, go, g5, g6, i$, md, h8, h9, ha, hb, hc, he, hd, j0, j1, j2, g7, f$, hg, ht, j3, j4, e_, eZ, no, np, nq, nr, ns, j5, gj, gp, hh, hu, mx, ml, hq, gv, hi, g8, gq, hp, kt, e$, fa, fi, hj, g9, g1, gr, gs, gt, hk, fb, hF, hE, lC, mo, mm, mn, mr, hl, hn, hm, j6, j7, j8, j9, ja, jb, jc, fc, jd, ho, hK, je, jf, jg, jh, ji, jj, fg, ff, hr, jk, jl, ga, fo, fm, hs, hN, hv, hG, hw, fq, hz, hA, g3, nt, gb, gc, jm, jn, jo, jp, jq, jr, js, fr, hB, jt, ju, jv, jw, jx, jy, jz, jA, jB, jC, jD, jE, jF, jG, jH, jI, jJ, jK, jL, jM, jN, jO, jP, jQ, jR, fh, jS, fs, jU, hC, ft, fu, jV, jW, jX, jY, jZ, hx, hy, j_, j$, k0, k1, k2, k3, k4, k5, hH, fv, k7, fw, hL, jT, ka, k8, k9, kc, kd, ke, kf, hI, gg, hJ, gh, kp, kz, kA, hO, kC, lf, kP, kO, lt, lb, le, kE, mu, mv, kG, mF, gz, ly, mI, i7, fZ, ig, fR, fS, nz, kM, fl, mK, mL, mJ, lG, gC, lw, fp, fk, l8, mw, mG, mM, l7, kI, kJ, my, lZ, nA, la, ld, ki, kh, kB, fL, kN, mc, mi, l1, mk, ky, kx, lz, lx, ls, mA, l9, mH, k_, n2, kR, lB, lc, fO, fP, kD, kQ, kV, ms, kU, kW, kS, kT, mR, fN, mE, kX, ma, kF, lA, mC, kK, mN, m7, m4, l0, gT, lQ, m0, fQ, lK, lJ, lT, m1, kZ, m6, lS, l$, lR, l_, m2, lN, lP, m5, mq, m3, lU, kY, lL, lM, lX, lY, lV, lW, lO, m9, kr, ks, nu, fd, fe, nv, m8, gd, nB, l6, ku, kv, fY, fM, fj, mO, kg, lg, mh, l2, l3, mj, kw, lh, kH, li, lj, lk, ll, lm, ln, mz, lo, mD, lp, lF, nC, l4, kl, mQ, mP, km, kL, mt, mS, lH, lI, k6, kb, lE, mb, mU, mT, ge, mV, mW, kn, mX, lq, mY, f6, mZ, m_, m$, n0, n1, mB, n3, n4, gf, lD, n5, hf, n8, ne, n6, k$, n7, lr, nw, na, n9, nb, nc, gL, fn, ng, nd, nx, nf, ny, nh, ni, nj, nD } from "./chunks/use-job-queue-polling-PQ-fadAl.js";
|
|
3
3
|
import { jsx, jsxs, Fragment } from "react/jsx-runtime";
|
|
4
4
|
import * as React from "react";
|
|
5
5
|
import React__default, { useId as useId$1, useRef, useContext, useInsertionEffect, useMemo, Children, isValidElement, useState, createContext, useCallback, useEffect, forwardRef, useImperativeHandle, cloneElement, useLayoutEffect, useSyncExternalStore } from "react";
|
package/dist/bundle/main.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import "react/jsx-runtime";
|
|
2
|
-
import "./chunks/use-job-queue-polling-
|
|
2
|
+
import "./chunks/use-job-queue-polling-PQ-fadAl.js";
|
|
3
3
|
import "sonner";
|
|
4
|
-
import "./chunks/main-
|
|
4
|
+
import "./chunks/main-DJTS8BrQ.js";
|
|
5
5
|
import "@tanstack/react-router";
|
|
6
6
|
import "react";
|
|
7
7
|
import "react-dom";
|
|
@@ -251,28 +251,23 @@ async function resolveSourceContext(inputPath, customSourceRoot, logger) {
|
|
|
251
251
|
*/
|
|
252
252
|
async function compileTypeScript({ outputPath, logger, module, sourceRoot, tsConfigInfo, sourceFiles, }) {
|
|
253
253
|
await fs.ensureDir(outputPath);
|
|
254
|
-
|
|
255
|
-
// ESM emits the import unchanged, and Node refuses to load a JSON module
|
|
256
|
-
// without an `with { type: 'json' }` attribute that TypeScript will not emit
|
|
257
|
-
// for a source file targeting CommonJS. Say so here, naming the files, so the
|
|
258
|
-
// ERR_IMPORT_ATTRIBUTE_MISSING that follows has an explanation above it.
|
|
259
|
-
if (module === 'esm') {
|
|
260
|
-
const jsonFiles = sourceFiles.filter(file => file.endsWith('.json'));
|
|
261
|
-
if (jsonFiles.length) {
|
|
262
|
-
logger.warn(`Imported JSON is not yet supported with module: 'esm', so loading the config will fail on ` +
|
|
263
|
-
`${jsonFiles.join(', ')}. Use module: 'commonjs', or read the file at runtime instead of importing it.`);
|
|
264
|
-
}
|
|
265
|
-
}
|
|
254
|
+
const afterTransformers = [];
|
|
266
255
|
// Build path transformer for ESM mode
|
|
267
256
|
// This is necessary because tsconfig-paths.register() only works for CommonJS require(),
|
|
268
257
|
// not for ESM import(). We need to transform the import paths during transpilation.
|
|
269
|
-
let pathTransformer;
|
|
270
258
|
if (module === 'esm' && tsConfigInfo) {
|
|
271
259
|
logger.debug('Adding path transformer for ESM mode');
|
|
272
|
-
|
|
260
|
+
afterTransformers.push(createPathTransformer({
|
|
273
261
|
baseUrl: tsConfigInfo.baseUrl,
|
|
274
262
|
paths: tsConfigInfo.paths,
|
|
275
|
-
});
|
|
263
|
+
}));
|
|
264
|
+
}
|
|
265
|
+
// Copying the JSON is enough for CommonJS, whose require() reads it directly.
|
|
266
|
+
// TypeScript emits the import without an attribute, and Node refuses to load a
|
|
267
|
+
// JSON module in ESM without `with { type: 'json' }`, which the author cannot write
|
|
268
|
+
// in a source file that also targets CommonJS for the server build.
|
|
269
|
+
if (module === 'esm') {
|
|
270
|
+
afterTransformers.push(createJsonImportAttributeTransformer());
|
|
276
271
|
}
|
|
277
272
|
// Note: emitDecoratorMetadata with transpileModule emits `Object` for all
|
|
278
273
|
// imported types since there is no type resolver. This is acceptable because
|
|
@@ -289,8 +284,8 @@ async function compileTypeScript({ outputPath, logger, module, sourceRoot, tsCon
|
|
|
289
284
|
emitDecoratorMetadata: true,
|
|
290
285
|
esModuleInterop: true,
|
|
291
286
|
};
|
|
292
|
-
const transformers =
|
|
293
|
-
? { after:
|
|
287
|
+
const transformers = afterTransformers.length
|
|
288
|
+
? { after: afterTransformers }
|
|
294
289
|
: undefined;
|
|
295
290
|
const pendingEmits = [];
|
|
296
291
|
for (const filePath of sourceFiles) {
|
|
@@ -318,6 +313,43 @@ async function compileTypeScript({ outputPath, logger, module, sourceRoot, tsCon
|
|
|
318
313
|
await fs.writeFile(emit.outputFilePath, emit.outputText);
|
|
319
314
|
}
|
|
320
315
|
}
|
|
316
|
+
/**
|
|
317
|
+
* Adds `type: 'json'` to the import attributes of import and export declarations
|
|
318
|
+
* of `.json` specifiers that do not already carry a `type` attribute. Any other
|
|
319
|
+
* attributes, including an empty `with {}`, are kept and the entry is appended.
|
|
320
|
+
*
|
|
321
|
+
* Matching on the `.json` suffix is a superset of the rule `collectLocalSourceFiles`
|
|
322
|
+
* uses to copy a JSON file. Bare specifiers such as `some-pkg/data.json` are never
|
|
323
|
+
* copied, but still get the attribute, because Node requires it for them too.
|
|
324
|
+
*/
|
|
325
|
+
function createJsonImportAttributeTransformer() {
|
|
326
|
+
return context => {
|
|
327
|
+
const { factory } = context;
|
|
328
|
+
const withJsonAttribute = (attributes) => {
|
|
329
|
+
const typeJson = factory.createImportAttribute(factory.createIdentifier('type'), factory.createStringLiteral('json'));
|
|
330
|
+
return attributes
|
|
331
|
+
? factory.updateImportAttributes(attributes, factory.createNodeArray([...attributes.elements, typeJson]), attributes.multiLine)
|
|
332
|
+
: factory.createImportAttributes(factory.createNodeArray([typeJson]));
|
|
333
|
+
};
|
|
334
|
+
const needsJsonAttributes = (node) => {
|
|
335
|
+
var _a;
|
|
336
|
+
return !((_a = node.attributes) === null || _a === void 0 ? void 0 : _a.elements.some(attribute => attribute.name.text === 'type')) &&
|
|
337
|
+
!!node.moduleSpecifier &&
|
|
338
|
+
ts.isStringLiteral(node.moduleSpecifier) &&
|
|
339
|
+
node.moduleSpecifier.text.endsWith('.json');
|
|
340
|
+
};
|
|
341
|
+
const visitor = node => {
|
|
342
|
+
if (ts.isImportDeclaration(node) && needsJsonAttributes(node)) {
|
|
343
|
+
return factory.updateImportDeclaration(node, node.modifiers, node.importClause, node.moduleSpecifier, withJsonAttribute(node.attributes));
|
|
344
|
+
}
|
|
345
|
+
if (ts.isExportDeclaration(node) && needsJsonAttributes(node)) {
|
|
346
|
+
return factory.updateExportDeclaration(node, node.modifiers, node.isTypeOnly, node.exportClause, node.moduleSpecifier, withJsonAttribute(node.attributes));
|
|
347
|
+
}
|
|
348
|
+
return node;
|
|
349
|
+
};
|
|
350
|
+
return sourceFile => ts.visitEachChild(sourceFile, visitor, context);
|
|
351
|
+
};
|
|
352
|
+
}
|
|
321
353
|
function assertWithinOutputPath(outputFilePath, outputPath) {
|
|
322
354
|
// An emit outside outputPath escapes the package.json written there to
|
|
323
355
|
// declare the module type, and Node then resolves the file against the
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@vendure/dashboard",
|
|
3
3
|
"private": false,
|
|
4
|
-
"version": "3.7.4-master-
|
|
4
|
+
"version": "3.7.4-master-202609150211",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"repository": {
|
|
7
7
|
"type": "git",
|
|
@@ -140,8 +140,8 @@
|
|
|
140
140
|
"@storybook/addon-vitest": "^10.3.1",
|
|
141
141
|
"@storybook/react-vite": "^10.3.1",
|
|
142
142
|
"@types/node": "^22.19.0",
|
|
143
|
-
"@vendure/common": "^3.7.4-master-
|
|
144
|
-
"@vendure/core": "^3.7.4-master-
|
|
143
|
+
"@vendure/common": "^3.7.4-master-202609150211",
|
|
144
|
+
"@vendure/core": "^3.7.4-master-202609150211",
|
|
145
145
|
"@vitest/browser": "^3.2.4",
|
|
146
146
|
"@vitest/coverage-v8": "^3.2.4",
|
|
147
147
|
"eslint": "^9.39.0",
|