@burojs/ui-shadcn 0.8.0 → 0.9.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{candidates-relation-picker-CGXItMN0.js → candidates-relation-picker-QvoY2bOQ.js} +3 -3
- package/dist/{candidates-relation-picker-CGXItMN0.js.map → candidates-relation-picker-QvoY2bOQ.js.map} +1 -1
- package/dist/{candidates-relation-picker-C47mF260.cjs → candidates-relation-picker-pEAWKQEY.cjs} +3 -3
- package/dist/{candidates-relation-picker-C47mF260.cjs.map → candidates-relation-picker-pEAWKQEY.cjs.map} +1 -1
- package/dist/{check-confirm-dialog-CtiRzOAt.js → check-confirm-dialog-B-CbJTln.js} +59 -6
- package/dist/{check-confirm-dialog-CtiRzOAt.js.map → check-confirm-dialog-B-CbJTln.js.map} +1 -1
- package/dist/{check-confirm-dialog-BT04Mieo.cjs → check-confirm-dialog-W-8WOmGh.cjs} +64 -5
- package/dist/{check-confirm-dialog-BT04Mieo.cjs.map → check-confirm-dialog-W-8WOmGh.cjs.map} +1 -1
- package/dist/{filter-builder-z3Axzf9Y.js → filter-builder-04nas3eq.js} +14 -6
- package/dist/filter-builder-04nas3eq.js.map +1 -0
- package/dist/{filter-builder-ByGhxLf_.cjs → filter-builder-DQX-TMFh.cjs} +14 -6
- package/dist/filter-builder-DQX-TMFh.cjs.map +1 -0
- package/dist/{flow-runtime-DrUWyTS0.js → flow-runtime-BEIyym7d.js} +3 -3
- package/dist/{flow-runtime-DrUWyTS0.js.map → flow-runtime-BEIyym7d.js.map} +1 -1
- package/dist/{flow-runtime-BVFjMU5-.cjs → flow-runtime-DyNIYfUP.cjs} +3 -3
- package/dist/{flow-runtime-BVFjMU5-.cjs.map → flow-runtime-DyNIYfUP.cjs.map} +1 -1
- package/dist/{flow-screen-3fk6J33y.js → flow-screen-DY1Z9PbG.js} +53 -14
- package/dist/flow-screen-DY1Z9PbG.js.map +1 -0
- package/dist/{flow-screen-6y5E_HT6.cjs → flow-screen-FE5Xhb3t.cjs} +52 -13
- package/dist/flow-screen-FE5Xhb3t.cjs.map +1 -0
- package/dist/index.cjs +54 -71
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +49 -10
- package/dist/index.d.ts +49 -10
- package/dist/index.js +54 -72
- package/dist/index.js.map +1 -1
- package/dist/{inline-flow-host-YnnvWjdU.js → inline-flow-host-D6u-RlsV.js} +3 -3
- package/dist/{inline-flow-host-YnnvWjdU.js.map → inline-flow-host-D6u-RlsV.js.map} +1 -1
- package/dist/{inline-flow-host-C4KmZIYE.cjs → inline-flow-host-yVLo6-sM.cjs} +3 -3
- package/dist/{inline-flow-host-C4KmZIYE.cjs.map → inline-flow-host-yVLo6-sM.cjs.map} +1 -1
- package/dist/{lazy-relation-picker-dialog-DN4bvQfg.js → lazy-relation-picker-dialog-BaORufxQ.js} +2 -2
- package/dist/{lazy-relation-picker-dialog-DN4bvQfg.js.map → lazy-relation-picker-dialog-BaORufxQ.js.map} +1 -1
- package/dist/{lazy-relation-picker-dialog-BAKBRn3V.cjs → lazy-relation-picker-dialog-C_VlGlDz.cjs} +2 -2
- package/dist/{lazy-relation-picker-dialog-BAKBRn3V.cjs.map → lazy-relation-picker-dialog-C_VlGlDz.cjs.map} +1 -1
- package/dist/{page-flow-route-CtEfqAvU.js → page-flow-route-CyMzUidK.js} +7 -7
- package/dist/page-flow-route-CyMzUidK.js.map +1 -0
- package/dist/{page-flow-route-DEjAxHe3.cjs → page-flow-route-OFx7h7Ja.cjs} +6 -6
- package/dist/page-flow-route-OFx7h7Ja.cjs.map +1 -0
- package/dist/{place-node-Bhl8B3fF.cjs → place-node-BZF5Af6x.cjs} +67 -23
- package/dist/place-node-BZF5Af6x.cjs.map +1 -0
- package/dist/{place-node-BdxT-30h.js → place-node-DRjmJGQ_.js} +69 -25
- package/dist/place-node-DRjmJGQ_.js.map +1 -0
- package/dist/{related-list-cards-BvkD5OcC.js → related-list-cards-2hLitVkg.js} +3 -3
- package/dist/{related-list-cards-BvkD5OcC.js.map → related-list-cards-2hLitVkg.js.map} +1 -1
- package/dist/{related-list-cards-Bc_vfCE_.cjs → related-list-cards-xVvgSlu-.cjs} +3 -3
- package/dist/{related-list-cards-Bc_vfCE_.cjs.map → related-list-cards-xVvgSlu-.cjs.map} +1 -1
- package/dist/{related-list-timeline-DCrwN9oO.js → related-list-timeline-CxJqe6eK.js} +4 -4
- package/dist/related-list-timeline-CxJqe6eK.js.map +1 -0
- package/dist/{related-list-timeline-k0DtnxTs.cjs → related-list-timeline-Dsf5WewG.cjs} +4 -4
- package/dist/related-list-timeline-Dsf5WewG.cjs.map +1 -0
- package/dist/{related-rows-BW9Jr07T.cjs → related-rows-DDhp9axl.cjs} +4 -4
- package/dist/{related-rows-BW9Jr07T.cjs.map → related-rows-DDhp9axl.cjs.map} +1 -1
- package/dist/{related-rows-CPE-9FFr.js → related-rows-DL6CWsrj.js} +4 -4
- package/dist/{related-rows-CPE-9FFr.js.map → related-rows-DL6CWsrj.js.map} +1 -1
- package/dist/{relation-create-C43cdPQt.js → relation-create-6WicROWA.js} +33 -5
- package/dist/relation-create-6WicROWA.js.map +1 -0
- package/dist/{relation-create-DDEYcKfw.cjs → relation-create-_SFuPQGM.cjs} +37 -3
- package/dist/relation-create-_SFuPQGM.cjs.map +1 -0
- package/dist/{relation-many-picker-Br-zBHxT.cjs → relation-many-picker-BBNsmkaX.cjs} +12 -10
- package/dist/relation-many-picker-BBNsmkaX.cjs.map +1 -0
- package/dist/{relation-many-picker-BlrGRwMV.js → relation-many-picker-mGEQDWo2.js} +12 -10
- package/dist/relation-many-picker-mGEQDWo2.js.map +1 -0
- package/dist/{relation-picker-x7P5HKie.js → relation-picker-BbO41cFV.js} +13 -10
- package/dist/relation-picker-BbO41cFV.js.map +1 -0
- package/dist/{relation-picker-dialog-CyKliBkN.js → relation-picker-dialog-BgSG_8bU.js} +5 -5
- package/dist/relation-picker-dialog-BgSG_8bU.js.map +1 -0
- package/dist/{relation-picker-dialog-DimVQF9Y.cjs → relation-picker-dialog-Duqy2r0n.cjs} +5 -5
- package/dist/relation-picker-dialog-Duqy2r0n.cjs.map +1 -0
- package/dist/{relation-picker-ADjxI_TI.cjs → relation-picker-jk9D_uwn.cjs} +13 -10
- package/dist/relation-picker-jk9D_uwn.cjs.map +1 -0
- package/dist/{relation-select-Cr3CfNLy.cjs → relation-select-C3aV18kT.cjs} +2 -2
- package/dist/{relation-select-Cr3CfNLy.cjs.map → relation-select-C3aV18kT.cjs.map} +1 -1
- package/dist/{relation-select-B8Fq4o-t.js → relation-select-CjQT9LpS.js} +2 -2
- package/dist/{relation-select-B8Fq4o-t.js.map → relation-select-CjQT9LpS.js.map} +1 -1
- package/dist/{resource-page-router-BRpUnhay.js → resource-page-router-CzaNATSp.js} +71 -19
- package/dist/resource-page-router-CzaNATSp.js.map +1 -0
- package/dist/{resource-page-router-qEd2xb55.cjs → resource-page-router-dmVIeu5s.cjs} +81 -17
- package/dist/resource-page-router-dmVIeu5s.cjs.map +1 -0
- package/dist/{success-notices-Dl3M1fZP.cjs → success-notices-Cl4b6MLQ.cjs} +3 -2
- package/dist/success-notices-Cl4b6MLQ.cjs.map +1 -0
- package/dist/{success-notices-LDEgEkc4.js → success-notices-CrcWOGSo.js} +3 -2
- package/dist/success-notices-CrcWOGSo.js.map +1 -0
- package/dist/{use-dialog-filter-state-B_MqzHaT.js → use-dialog-filter-state-CJoeY-1j.js} +2 -2
- package/dist/{use-dialog-filter-state-B_MqzHaT.js.map → use-dialog-filter-state-CJoeY-1j.js.map} +1 -1
- package/dist/{use-dialog-filter-state-tNvqAAjh.cjs → use-dialog-filter-state-lsTJxrB4.cjs} +2 -2
- package/dist/{use-dialog-filter-state-tNvqAAjh.cjs.map → use-dialog-filter-state-lsTJxrB4.cjs.map} +1 -1
- package/dist/{use-record-subtitle-bfwIoUme.cjs → use-record-subtitle-BJ9rnj6F.cjs} +5 -8
- package/dist/use-record-subtitle-BJ9rnj6F.cjs.map +1 -0
- package/dist/{use-record-subtitle-gIaCGgbI.js → use-record-subtitle-w3ZhXNlf.js} +5 -8
- package/dist/use-record-subtitle-w3ZhXNlf.js.map +1 -0
- package/package.json +9 -9
- package/dist/filter-builder-ByGhxLf_.cjs.map +0 -1
- package/dist/filter-builder-z3Axzf9Y.js.map +0 -1
- package/dist/flow-screen-3fk6J33y.js.map +0 -1
- package/dist/flow-screen-6y5E_HT6.cjs.map +0 -1
- package/dist/page-flow-route-CtEfqAvU.js.map +0 -1
- package/dist/page-flow-route-DEjAxHe3.cjs.map +0 -1
- package/dist/place-node-BdxT-30h.js.map +0 -1
- package/dist/place-node-Bhl8B3fF.cjs.map +0 -1
- package/dist/related-list-timeline-DCrwN9oO.js.map +0 -1
- package/dist/related-list-timeline-k0DtnxTs.cjs.map +0 -1
- package/dist/relation-create-C43cdPQt.js.map +0 -1
- package/dist/relation-create-DDEYcKfw.cjs.map +0 -1
- package/dist/relation-many-picker-BlrGRwMV.js.map +0 -1
- package/dist/relation-many-picker-Br-zBHxT.cjs.map +0 -1
- package/dist/relation-picker-ADjxI_TI.cjs.map +0 -1
- package/dist/relation-picker-dialog-CyKliBkN.js.map +0 -1
- package/dist/relation-picker-dialog-DimVQF9Y.cjs.map +0 -1
- package/dist/relation-picker-x7P5HKie.js.map +0 -1
- package/dist/resource-page-router-BRpUnhay.js.map +0 -1
- package/dist/resource-page-router-qEd2xb55.cjs.map +0 -1
- package/dist/success-notices-Dl3M1fZP.cjs.map +0 -1
- package/dist/success-notices-LDEgEkc4.js.map +0 -1
- package/dist/use-record-subtitle-bfwIoUme.cjs.map +0 -1
- package/dist/use-record-subtitle-gIaCGgbI.js.map +0 -1
|
@@ -1,17 +1,17 @@
|
|
|
1
1
|
import { l as cn } from "./use-theme-dnE3Od3I.js";
|
|
2
2
|
import { i as isNetworkFailure, l as useLinkComponent, m as PopoverTrigger, n as toast, o as technicalTexts, p as PopoverContent, r as friendlyStringsFrom, s as toFriendlyError, u as Popover } from "./toaster-Ct_YHGs6.js";
|
|
3
|
-
import {
|
|
3
|
+
import { $ as DropdownMenuTrigger, A as useLoaded, C as RuntimeFlowRunner, D as loadInlineFlowHost, H as DropdownMenuGroup, I as Icon, J as DropdownMenuSeparator, S as RuntimeBulkFlowRunner, T as loadFailedText, U as DropdownMenuItem, V as DropdownMenuContent, W as DropdownMenuLabel, _ as ActionInner, f as useToBrowserHref, ft as DocInfo, h as useFlowChrome, i as UndecidedAction, k as preloadFlowRuntime, l as useListSlot, m as FlowMenuItem, n as ActionButton, p as FlowActionButton, r as DisabledAction, s as canonicalResourceName, t as CheckConfirmDialog, v as reasonText, w as loadBulkSummary, x as RuntimeAppFlowRunner, y as FlowBoundary, z as DropdownMenu } from "./check-confirm-dialog-B-CbJTln.js";
|
|
4
4
|
import { t as Button } from "./button-MWVeZaqj.js";
|
|
5
5
|
import { t as Input } from "./input-CUPStzZO.js";
|
|
6
6
|
import { a as DialogFooter, i as DialogDescription, o as DialogHeader, r as DialogContent, s as DialogTitle, t as Dialog } from "./dialog-C123sVQ8.js";
|
|
7
|
-
import {
|
|
7
|
+
import { _ as ClaimedQuickLink, b as LoadError, l as relationLinkClassName } from "./relation-create-6WicROWA.js";
|
|
8
8
|
import { t as Skeleton } from "./skeleton-U2noefj5.js";
|
|
9
|
-
import { A as TableHeader, C as SelectTrigger, E as TableBody, F as ResolvedFieldDisplay, I as ResolvedFieldInput, L as useFieldMetaDiagnostic, M as Badge, O as TableCell, P as MetaPlaceholder, R as fieldDescription, T as Table$1, g as SelectContent, h as Select, j as TableRow, k as TableHead, t as FilterBuilder, v as SelectItem, w as SelectValue, z as lowerLegacyField } from "./filter-builder-
|
|
9
|
+
import { A as TableHeader, C as SelectTrigger, E as TableBody, F as ResolvedFieldDisplay, I as ResolvedFieldInput, L as useFieldMetaDiagnostic, M as Badge, O as TableCell, P as MetaPlaceholder, R as fieldDescription, T as Table$1, g as SelectContent, h as Select, j as TableRow, k as TableHead, t as FilterBuilder, v as SelectItem, w as SelectValue, z as lowerLegacyField } from "./filter-builder-04nas3eq.js";
|
|
10
10
|
import { t as Label } from "./label-66W1qbke.js";
|
|
11
|
-
import { n as useCandidateSelection, t as LazyRelationPickerDialog } from "./lazy-relation-picker-dialog-
|
|
12
|
-
import { t as useRelationSelect } from "./relation-select-
|
|
13
|
-
import { BULK_EACH_LIMIT, FORM_SLOT, LAYOUT_SIZES, builtinFrames, canonicalEntityNodeKey, columnName, compileFlow, compiledScreenFor, declaredField, declaredText, displayClassOf, dtoFields, enumFallbackKey, enumFallbackText, enumNamespaceOf, enumValueText, exportFormatFieldKey, exportFormatLabelKey, exportFormatOptionKey, facts, fieldOptionText, fieldSensitivity, flowRecordOf, formatEntityRef, grantedPlacementKeys, hasRecordPage, humanizeKey, i18nPrefixToRef, i18nPrefixToRef as i18nPrefixToRef$1, inlineFlow, isBuiltinItemAction, isColumnSortable, isRelationField, isScreenFailure, linkOf, normalizeDataError, normalizeEntityRef, planItemActions, projectDto, recordEntries, relatedList, relatedRecord, resolveActionDensity, resolveActionSurfaceMode, resolveColumnUi, resolveContentSlot, resolveEnumLabel, resolveFieldLabel, resolveFieldOptionLabel, resolveFieldSlot, resolveNavLabel, resolveResourceLabel, resolveSurfaceUi, resolveTextSlot, resourceKey, resourceShowHref, reverseLinkOf, routeResourceKey, routeServerIssues, savedViewKey, validatePlacementProps, whereEntryToFilter } from "@burojs/core";
|
|
14
|
-
import { ActionRouteContext, DismissGuardScope, FlowRowBatchContext, LOCAL_USER_SCOPE_ID, QUICK_ANCHOR_ATTRIBUTE, RECORD_KIND_KEYS, RecordScopeChain, ResourceListProvider, RouteSourceContext, ScreenStateProvider, columnTypeWidth, deriveRecord, implementFrame, isObjectColumn, kindErrorText, linkCapabilitiesOf, policyRecordOf, policyRowsOf, readColumnValue, recordKeyOf, resolveColumnField, resolveErrorText, resolveObjectColumn, resolveValidationMessage, resourceFlowsOn, specificErrorText, tableLayoutSetting, useApp, useApplicationSnapshot, useAvailability, useAvailabilityResolver, useCapability, useCapabilityResolver, useChromeT, useClipboard, useComponent, useCtx, useCurrentUserId, useCustomQuery, useDataRuntime, useDismissGuard, useEntryGate, useEnumValues, useExportRuns, useFieldAccess, useFieldImplementation, useFieldMeta, useFieldMetaSources, useFlowRowBatch, useFlowRowResolver, useFormController, useFrameImplementations, useFramePiece, useFrameT, useI18nCaps, useItemActions, useLinkRights, useLinkWriter, useLinkedKeys, useListAccess, useLocale, useNavigationBlocker, useOne, useOptionalDataRuntime, useOptionalRecordFrame, useOptionalRouterAdapter, useOptionalT, useOptionalUiSettings, usePageFlowGate, usePageScreen, usePathAccess, usePlacement, useProjectedRecord, useProjectedTitle, usePublishDocVariant, useQuick, useQuickEntry, useQuickOpener, useRecordFrame, useRecordScopeFrames, useRecordTitle, useResource, useResourceExport, useResourceList, useResourceListContext, useReturnTarget, useRouteNavigate, useScreenState, useSearchParamsWriter, useT, useTestIds, useViewRow, withRecordKeys } from "@burojs/react";
|
|
11
|
+
import { n as useCandidateSelection, t as LazyRelationPickerDialog } from "./lazy-relation-picker-dialog-BaORufxQ.js";
|
|
12
|
+
import { t as useRelationSelect } from "./relation-select-CjQT9LpS.js";
|
|
13
|
+
import { BULK_EACH_LIMIT, FORM_SLOT, LAYOUT_SIZES, addressesCapability, builtinFrames, canonicalEntityNodeKey, columnName, compileFlow, compiledScreenFor, declaredField, declaredText, displayClassOf, dtoFields, enumFallbackKey, enumFallbackText, enumNamespaceOf, enumValueText, exportFormatFieldKey, exportFormatLabelKey, exportFormatOptionKey, facts, fieldOptionText, fieldSensitivity, flowRecordOf, formatEntityRef, grantedPlacementKeys, hasRecordPage, humanizeKey, i18nPrefixToRef, i18nPrefixToRef as i18nPrefixToRef$1, inlineFlow, isBuiltinItemAction, isColumnSortable, isRelationField, isScreenFailure, linkOf, normalizeDataError, normalizeEntityRef, permissionsUndecided, planItemActions, projectDto, propertyTextKey, recordEntries, relatedList, relatedRecord, resolveActionDensity, resolveActionSurfaceMode, resolveColumnUi, resolveContentSlot, resolveEnumLabel, resolveFieldLabel, resolveFieldOptionLabel, resolveFieldSlot, resolveNavLabel, resolveResourceLabel, resolveSurfaceUi, resolveTextSlot, resourceKey, resourceShowHref, reverseLinkOf, routeResourceKey, routeServerIssues, savedViewKey, validatePlacementProps, whereEntryToFilter } from "@burojs/core";
|
|
14
|
+
import { ActionRouteContext, DismissGuardScope, FlowRowBatchContext, LOCAL_USER_SCOPE_ID, QUICK_ANCHOR_ATTRIBUTE, RECORD_KIND_KEYS, RecordScopeChain, ResourceListProvider, RouteSourceContext, ScreenStateProvider, columnTypeWidth, deriveRecord, implementFrame, isObjectColumn, kindErrorText, linkCapabilitiesOf, policyRecordOf, policyRowsOf, readColumnValue, recordKeyOf, resolveColumnField, resolveErrorText, resolveObjectColumn, resolveValidationMessage, resourceFlowsOn, specificErrorText, tableLayoutSetting, useApp, useApplicationSnapshot, useAvailability, useAvailabilityResolver, useCapability, useCapabilityResolver, useChromeT, useClipboard, useComponent, useCtx, useCurrentUserId, useCustomQuery, useDataRuntime, useDismissGuard, useEntryGate, useEnumValues, useExportRuns, useFieldAccess, useFieldImplementation, useFieldMeta, useFieldMetaSources, useFlowRowBatch, useFlowRowResolver, useFormController, useFrameImplementations, useFramePiece, useFrameT, useI18nCaps, useItemActions, useLinkRights, useLinkWriter, useLinkedKeys, useListAccess, useLocale, useNavigationBlocker, useOne, useOptionalDataRuntime, useOptionalRecordFrame, useOptionalRouterAdapter, useOptionalT, useOptionalUiSettings, usePageFlowGate, usePageScreen, usePathAccess, usePermissionsUndecided, usePlacement, useProjectedRecord, useProjectedTitle, usePublishDocVariant, useQuick, useQuickEntry, useQuickOpener, useRecordFrame, useRecordScopeFrames, useRecordTitle, useResource, useResourceExport, useResourceList, useResourceListContext, useReturnTarget, useRouteNavigate, useScreenState, useSearchParamsWriter, useT, useTestIds, useViewRow, withRecordKeys } from "@burojs/react";
|
|
15
15
|
import { IconAlertCircle, IconAlertTriangle, IconArrowDown, IconArrowLeft, IconArrowRight, IconArrowUp, IconBookmark, IconCheck, IconChevronLeft, IconChevronRight, IconChevronsLeft, IconChevronsRight, IconColumns3, IconCopy, IconDots, IconDownload, IconEyeOff, IconFilterX, IconInbox, IconLink, IconLoader2, IconLock, IconMinus, IconPencil, IconPinned, IconPinnedOff, IconPlus, IconRefresh, IconSelector, IconSettings2, IconTrash, IconUnlink, IconX } from "@tabler/icons-react";
|
|
16
16
|
import * as React from "react";
|
|
17
17
|
import { Component, Fragment, Suspense, createContext, createElement, lazy, memo, useCallback, useContext, useEffect, useId, useMemo, useRef, useState, useSyncExternalStore } from "react";
|
|
@@ -879,6 +879,20 @@ function AppFlowButton({ action, variant = "ghost", size = "sm", className }) {
|
|
|
879
879
|
actionName: action.name,
|
|
880
880
|
surface: "app"
|
|
881
881
|
});
|
|
882
|
+
if (action.undecided === true) return jsx(Button, {
|
|
883
|
+
type: "button",
|
|
884
|
+
variant,
|
|
885
|
+
size,
|
|
886
|
+
className,
|
|
887
|
+
"data-testid": testid,
|
|
888
|
+
"data-buro-flow-state": "undecided",
|
|
889
|
+
disabled: true,
|
|
890
|
+
"aria-busy": "true",
|
|
891
|
+
children: jsx(ActionInner, {
|
|
892
|
+
icon: action.icon,
|
|
893
|
+
label
|
|
894
|
+
})
|
|
895
|
+
});
|
|
882
896
|
if (action.hostHref !== void 0) return jsx(Button, {
|
|
883
897
|
asChild: true,
|
|
884
898
|
variant,
|
|
@@ -4473,7 +4487,7 @@ function issueText(issue, caps, i18nPrefix) {
|
|
|
4473
4487
|
}, {
|
|
4474
4488
|
has: caps.has,
|
|
4475
4489
|
t: caps.t,
|
|
4476
|
-
...issue.field === "_form" ? {} : { fieldKey: `resources.${i18nPrefix}
|
|
4490
|
+
...issue.field === "_form" ? {} : { fieldKey: `resources.${i18nPrefix}.${propertyTextKey([...issue.field.split("."), ...issue.path])}` }
|
|
4477
4491
|
});
|
|
4478
4492
|
}
|
|
4479
4493
|
const EMPTY_ISSUES = Object.freeze([]);
|
|
@@ -4522,9 +4536,10 @@ function DeclarativeForm(props) {
|
|
|
4522
4536
|
function DeclarativeFormBody(props) {
|
|
4523
4537
|
const gate = useDeclarativeCheckGate();
|
|
4524
4538
|
const prefix = props.i18nPrefix ?? "form";
|
|
4539
|
+
const mode = props.mode ?? "create";
|
|
4525
4540
|
const form = useFormController({
|
|
4526
4541
|
fields: props.fields,
|
|
4527
|
-
mode
|
|
4542
|
+
mode,
|
|
4528
4543
|
onConfirmChecks: gate.confirmChecks,
|
|
4529
4544
|
...props.body === void 0 ? {} : { body: props.body },
|
|
4530
4545
|
...props.formId === void 0 ? {} : { formId: props.formId },
|
|
@@ -4589,7 +4604,7 @@ function DeclarativeFormBody(props) {
|
|
|
4589
4604
|
children: jsx(ScreenTree, {
|
|
4590
4605
|
region: "form-body",
|
|
4591
4606
|
resource: prefix,
|
|
4592
|
-
mode
|
|
4607
|
+
mode,
|
|
4593
4608
|
compiled: form.screen,
|
|
4594
4609
|
controller: form,
|
|
4595
4610
|
leafIds,
|
|
@@ -5435,6 +5450,14 @@ function CreateButton({ resource: resourceInput, href, testid, size = "sm", vari
|
|
|
5435
5450
|
resource,
|
|
5436
5451
|
defaultValue: "Create"
|
|
5437
5452
|
});
|
|
5453
|
+
const undecided = jsx(UndecidedAction, {
|
|
5454
|
+
label: text,
|
|
5455
|
+
icon: "Plus",
|
|
5456
|
+
testid,
|
|
5457
|
+
size,
|
|
5458
|
+
variant,
|
|
5459
|
+
className
|
|
5460
|
+
});
|
|
5438
5461
|
if (onOpen !== void 0) {
|
|
5439
5462
|
const answer = gate(resource, "create");
|
|
5440
5463
|
if (answer.state === "disabled") return jsx(DisabledAction, {
|
|
@@ -5447,6 +5470,7 @@ function CreateButton({ resource: resourceInput, href, testid, size = "sm", vari
|
|
|
5447
5470
|
className,
|
|
5448
5471
|
resource
|
|
5449
5472
|
});
|
|
5473
|
+
if (answer.state === "undecided") return undecided;
|
|
5450
5474
|
if (answer.state !== "open") return null;
|
|
5451
5475
|
return jsxs(Button, {
|
|
5452
5476
|
type: "button",
|
|
@@ -5462,6 +5486,7 @@ function CreateButton({ resource: resourceInput, href, testid, size = "sm", vari
|
|
|
5462
5486
|
});
|
|
5463
5487
|
}
|
|
5464
5488
|
if (availability.state === "absent" || availability.state === "hidden") return null;
|
|
5489
|
+
if (availability.state === "undecided") return undecided;
|
|
5465
5490
|
if (availability.state === "disabled") return jsx(DisabledAction, {
|
|
5466
5491
|
reason: availability.reason,
|
|
5467
5492
|
label: text,
|
|
@@ -5505,6 +5530,10 @@ const ListCreate = listPiece("ListCreate", ListCreateView);
|
|
|
5505
5530
|
//#endregion
|
|
5506
5531
|
//#region src/export/export-button.tsx
|
|
5507
5532
|
const warnedProviderQueryResources = new Set();
|
|
5533
|
+
const EXPORT_TARGET = {
|
|
5534
|
+
kind: "action",
|
|
5535
|
+
name: "export"
|
|
5536
|
+
};
|
|
5508
5537
|
function ExportButton({ resource: resourceInput, className }) {
|
|
5509
5538
|
const resource = routeResourceKey(resourceInput);
|
|
5510
5539
|
if (!(useOptionalDataRuntime() !== null)) return null;
|
|
@@ -5518,12 +5547,11 @@ function ExportButtonActive({ resource, className }) {
|
|
|
5518
5547
|
const { available, prefetch } = useResourceExport(resource);
|
|
5519
5548
|
const capability = useCapability("run", {
|
|
5520
5549
|
resource,
|
|
5521
|
-
target:
|
|
5522
|
-
kind: "action",
|
|
5523
|
-
name: "export"
|
|
5524
|
-
},
|
|
5550
|
+
target: EXPORT_TARGET,
|
|
5525
5551
|
mode: "list"
|
|
5526
5552
|
});
|
|
5553
|
+
const app = useApp();
|
|
5554
|
+
const undecided = usePermissionsUndecided() && addressesCapability(app.ruleSource.rules(resource), "run", EXPORT_TARGET);
|
|
5527
5555
|
const tid = useTestIds();
|
|
5528
5556
|
const t = useOptionalT();
|
|
5529
5557
|
const [open, setOpen] = React.useState(false);
|
|
@@ -5541,18 +5569,35 @@ function ExportButtonActive({ resource, className }) {
|
|
|
5541
5569
|
if (target !== null) lastTarget.current = target;
|
|
5542
5570
|
const dialogTarget = target ?? lastTarget.current;
|
|
5543
5571
|
React.useEffect(() => {
|
|
5544
|
-
if (!available || !capability.allowed) return;
|
|
5572
|
+
if (!available || undecided || !capability.allowed) return;
|
|
5545
5573
|
if (list.providerQuery.value === void 0) return;
|
|
5546
5574
|
if (warnedProviderQueryResources.has(resource)) return;
|
|
5547
5575
|
warnedProviderQueryResources.add(resource);
|
|
5548
5576
|
console.warn(`[buro] ExportButton('${resource}'): this list is narrowed by \`providerQuery\` (a raw provider blob), which an export target cannot carry — the exported file will NOT be narrowed by it. See docs/adopters/data-export.md.`);
|
|
5549
5577
|
}, [
|
|
5550
5578
|
available,
|
|
5579
|
+
undecided,
|
|
5551
5580
|
capability.allowed,
|
|
5552
5581
|
list.providerQuery.value,
|
|
5553
5582
|
resource
|
|
5554
5583
|
]);
|
|
5555
|
-
if (!available ||
|
|
5584
|
+
if (!available || list.isForbidden) return null;
|
|
5585
|
+
if (undecided) return jsx(Button, {
|
|
5586
|
+
type: "button",
|
|
5587
|
+
variant: "outline",
|
|
5588
|
+
size: "icon",
|
|
5589
|
+
"aria-label": t("export.button.label"),
|
|
5590
|
+
title: t("export.button.label"),
|
|
5591
|
+
className: cn("h-8 w-8", className),
|
|
5592
|
+
"data-testid": tid.exportButton(resource),
|
|
5593
|
+
disabled: true,
|
|
5594
|
+
"aria-busy": "true",
|
|
5595
|
+
children: jsx(IconDownload, {
|
|
5596
|
+
className: "size-4",
|
|
5597
|
+
"aria-hidden": "true"
|
|
5598
|
+
})
|
|
5599
|
+
});
|
|
5600
|
+
if (!capability.allowed) return null;
|
|
5556
5601
|
if (target === null && !open) return null;
|
|
5557
5602
|
if (dialogTarget === null) return null;
|
|
5558
5603
|
return jsxs(Fragment$1, { children: [target === null ? null : jsx(Button, {
|
|
@@ -6223,7 +6268,7 @@ function FormActionsView() {
|
|
|
6223
6268
|
}, {
|
|
6224
6269
|
has: caps.has,
|
|
6225
6270
|
t: caps.t,
|
|
6226
|
-
...declared === void 0 ? {} : { fieldKey: `resources.${resource}
|
|
6271
|
+
...declared === void 0 ? {} : { fieldKey: `resources.${resource}.${propertyTextKey(issue.path)}` }
|
|
6227
6272
|
});
|
|
6228
6273
|
if (issue.path.length === 0 && message === failure) return [];
|
|
6229
6274
|
return [{
|
|
@@ -6722,8 +6767,8 @@ function declaresDisplay(field) {
|
|
|
6722
6767
|
return field !== void 0 && resolveSurfaceUi(field, "column").use !== void 0;
|
|
6723
6768
|
}
|
|
6724
6769
|
const NO_INITIAL_FILTERS = Object.freeze({});
|
|
6725
|
-
const RelatedCards = lazy(async () => ({ default: (await import("./related-list-cards-
|
|
6726
|
-
const RelatedTimeline = lazy(async () => ({ default: (await import("./related-list-timeline-
|
|
6770
|
+
const RelatedCards = lazy(async () => ({ default: (await import("./related-list-cards-2hLitVkg.js")).RelatedCards }));
|
|
6771
|
+
const RelatedTimeline = lazy(async () => ({ default: (await import("./related-list-timeline-CxJqe6eK.js")).RelatedTimeline }));
|
|
6727
6772
|
function discriminatorOptionLabel(field, value) {
|
|
6728
6773
|
const text = fieldOptionText(field, value);
|
|
6729
6774
|
if (text !== void 0) return text;
|
|
@@ -7910,16 +7955,15 @@ function byOf(field) {
|
|
|
7910
7955
|
}
|
|
7911
7956
|
const MAX_TARGET_HOPS = 2;
|
|
7912
7957
|
function targetColumns(registry, target, def) {
|
|
7913
|
-
if (
|
|
7914
|
-
const source = def;
|
|
7958
|
+
if (def === void 0) return [];
|
|
7915
7959
|
const views = isRecord(def.views) ? def.views : void 0;
|
|
7916
7960
|
const list = views !== void 0 && isRecord(views.list) ? views.list : void 0;
|
|
7917
7961
|
return (list !== void 0 && Array.isArray(list.columns) ? list.columns.flatMap((entry) => {
|
|
7918
7962
|
const name = isRecord(entry) ? entry.field : entry;
|
|
7919
7963
|
return typeof name === "string" ? [name] : [];
|
|
7920
|
-
}) : dtoFields(
|
|
7964
|
+
}) : dtoFields(def, "list")).filter((name) => {
|
|
7921
7965
|
if (name.includes(".")) return name.split(".").length - 1 <= MAX_TARGET_HOPS && resolveColumnField(registry, target, name) !== void 0;
|
|
7922
|
-
const field = peekFieldDefinition(
|
|
7966
|
+
const field = peekFieldDefinition(def, name);
|
|
7923
7967
|
return isRecord(field) && !isRelationField(field) && fieldSensitivity(field) === void 0;
|
|
7924
7968
|
});
|
|
7925
7969
|
}
|
|
@@ -8114,7 +8158,7 @@ function RelatedListView({ props, empty }) {
|
|
|
8114
8158
|
...route.renderCell === void 0 ? {} : { renderCell: route.renderCell },
|
|
8115
8159
|
...route.emptyState === void 0 ? {} : { emptyState: route.emptyState }
|
|
8116
8160
|
});
|
|
8117
|
-
if (own.view !== void 0 && own.view !== "table" && permissions
|
|
8161
|
+
if (own.view !== void 0 && own.view !== "table" && permissionsUndecided(permissions)) return jsx("div", {
|
|
8118
8162
|
role: "status",
|
|
8119
8163
|
"aria-busy": "true",
|
|
8120
8164
|
"data-testid": `list-undecided:${resource}`,
|
|
@@ -8533,4 +8577,4 @@ function PlaceNode({ node }) {
|
|
|
8533
8577
|
//#endregion
|
|
8534
8578
|
export { CursorLoadMore as $, ListSearchInput as A, AppFlowButton as At, ExportDialog as B, ListControls as C, useShownItemActions as Ct, ListFlows as D, EnumSettlingRow as Dt, ListLive as E, EnumBadge as Et, ListColumns as F, toDisplayText as Ft, RouteScreenClaimContext as G, ScreenTree as H, ColumnsToggle as I, ShellProvider as It, FormControlProvider as J, RouteScreenContext as K, DataTableViewOptions as L, defaultUserMapper as Lt, ExportButton as M, FieldDisplay as Mt, ListCreate as N, i18nPrefixToRef$1 as Nt, ListFilters as O, unknownEnumValueLabel as Ot, CreateButton as P, FieldValueFrame as Pt, ResourceList as Q, ListBulkBar as R, usePaletteState as Rt, useFrameChrome as S, ActionOverflow as St, SavedViewsDropdown as T, downloadArtifact as Tt, useTabsUrlState as U, DeclarativeForm as V, QuickScreenClaimContext as W, useFormControlOf as X, useFormControl as Y, ListBody as Z, CopyId as _, ShowPageHeader as _t, peekFieldDefinition as a, DataTable as at, RecordTitle as b, useDocumentTitle as bt, peekRow as c, TabsContent as ct, resolveFrameView as d, RelatedItem as dt, ListErrorState as et, shadcnFrameViews as f, useItemDrawn as ft, UndeclaredTypeNotice as g, PageHeader as gt, TypeChromeDrawnContext as h, EditPageHeader as ht, RouteListContext as i, useBuroDataTable as it, ListExport as j, Field as jt, FilterRegion as k, DeepLinkScope as kt, useRelationPicker as l, TabsList as lt, HeaderTypeNotice as m, RelatedTimelineSkeleton as mt, viewOf as n, resolveUpdater as nt, peekLeafAllowed as o, Checkbox as ot, ChangeTypeButton as p, RELATED_GRID_CLASS as pt, useIsRouteScreen as q, shadcnBlockImplementations as r, tanStackSortingToBuro as rt, peekRecord as s, Tabs as st, selectImplementation as t, buroSortingToTanStack as tt, isBuiltinRecordView as u, TabsTrigger as ut, FormActions as v, resolveResourceTitle as vt, ListSavedViews as w, useExportRunWatcher as wt, FrameChromeContext as x, typography as xt, RecordActions as y, DocumentTitleProvider as yt, BulkActionToolbar as z, useShell as zt };
|
|
8535
8579
|
|
|
8536
|
-
//# sourceMappingURL=place-node-
|
|
8580
|
+
//# sourceMappingURL=place-node-DRjmJGQ_.js.map
|