@vendure/dashboard 3.7.4-master-202609110210 → 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/dist/vite/vite-plugin-translations.d.ts +4 -4
- package/dist/vite/vite-plugin-translations.js +17 -5
- 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
- package/src/lib/virtual.d.ts +5 -1
|
@@ -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
|
|
@@ -20,11 +20,11 @@ export interface TranslationsPluginOptions {
|
|
|
20
20
|
*
|
|
21
21
|
* It handles 2 modes: dev and build.
|
|
22
22
|
*
|
|
23
|
-
* - The
|
|
24
|
-
*
|
|
23
|
+
* - The `load` function serves the `virtual:plugin-translations` module in both dev and build. It
|
|
24
|
+
* compiles and returns translations from plugins _only_, which then get merged with the built-in
|
|
25
25
|
* translations in the `loadI18nMessages` function
|
|
26
|
-
* - The
|
|
27
|
-
* files
|
|
26
|
+
* - The `generateBundle` function additionally emits the merged built-in and plugin catalogs as .js
|
|
27
|
+
* files under the `outputPath` directory. Nothing in the dashboard reads those files today.
|
|
28
28
|
*
|
|
29
29
|
* @param options
|
|
30
30
|
*/
|