@declarion/react 0.65.1 → 0.66.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-lib/api/access-expiry.js +32 -0
- package/dist-lib/api/agents.js +105 -0
- package/dist-lib/api/auth-redirect.js +30 -0
- package/dist-lib/api/auth.js +67 -0
- package/dist-lib/api/batch.js +34 -0
- package/dist-lib/api/client.js +241 -0
- package/dist-lib/api/data.js +122 -0
- package/dist-lib/api/entities.js +160 -0
- package/dist-lib/api/events.js +120 -0
- package/dist-lib/api/fileReferences.js +8 -0
- package/dist-lib/api/params.js +20 -0
- package/dist-lib/api/properties.js +25 -0
- package/dist-lib/api/request-bounds.js +28 -0
- package/dist-lib/api/schema.js +71 -0
- package/dist-lib/api/session-renewal.js +36 -0
- package/dist-lib/api/status.js +17 -0
- package/dist-lib/app.js +262 -0
- package/dist-lib/components/actions/ActionButton.js +116 -0
- package/dist-lib/{ActionDialog-C6EG-AmC.js → components/actions/ActionDialog.js} +63 -53
- package/dist-lib/{ActionResultDialog.impl-BATutW8J.js → components/actions/ActionResultDialog.impl.js} +53 -48
- package/dist-lib/components/actions/ActionResultDialog.js +12 -0
- package/dist-lib/components/actions/ActionRunner.js +274 -0
- package/dist-lib/components/actions/ObjectActionBar.js +127 -0
- package/dist-lib/components/actions/PropertyGridEditor.js +202 -0
- package/dist-lib/components/actions/ResponsiveActionBar.js +773 -0
- package/dist-lib/components/actions/RowActionsKebab.js +90 -0
- package/dist-lib/{AgentChatPanel.impl-D5y_qEex.js → components/agents/AgentChatPanel.impl.js} +314 -362
- package/dist-lib/components/agents/AgentChatPanel.js +12 -0
- package/dist-lib/components/agents/AgentConversationDrawer.js +59 -0
- package/dist-lib/components/agents/AgentElicitForm.js +152 -0
- package/dist-lib/components/agents/AgentOpenFollower.impl.js +7 -0
- package/dist-lib/components/agents/AgentOpenFollower.js +12 -0
- package/dist-lib/components/agents/AgentPicker.js +58 -0
- package/dist-lib/components/agents/transcript-runs.js +52 -0
- package/dist-lib/components/chrome/AssociationTabs.js +176 -0
- package/dist-lib/components/chrome/AuditMetaStrip.js +64 -0
- package/dist-lib/components/chrome/Breadcrumbs.js +67 -0
- package/dist-lib/components/chrome/HighlightsStrip.js +39 -0
- package/dist-lib/{PageHeader-DiwLe7CO.js → components/chrome/PageHeader.js} +19 -15
- package/dist-lib/{PageShell-BJz1MiTH.js → components/chrome/PageShell.js} +3 -3
- package/dist-lib/components/chrome/RecordHeader.js +119 -0
- package/dist-lib/{headerActionZone-bef-tZZ7.js → components/chrome/headerActionZone.js} +1 -1
- package/dist-lib/components/detail-layout/AssociatedBlock.js +1244 -0
- package/dist-lib/components/detail-layout/AssociatedToolbar.js +87 -0
- package/dist-lib/components/detail-layout/ChildrenBlock.js +80 -0
- package/dist-lib/components/detail-layout/ChildrenCards.js +156 -0
- package/dist-lib/components/detail-layout/ChildrenList.js +135 -0
- package/dist-lib/components/detail-layout/ChildrenTable.js +189 -0
- package/dist-lib/components/detail-layout/ChildrenTimeline.js +609 -0
- package/dist-lib/components/detail-layout/DetailAuditStrip.js +40 -0
- package/dist-lib/components/detail-layout/DetailHighlights.js +54 -0
- package/dist-lib/{DraggableChildrenTable-Dd5SeuF6.js → components/detail-layout/DraggableChildrenTable.js} +56 -53
- package/dist-lib/components/detail-layout/EditableChildrenTable.js +341 -0
- package/dist-lib/components/detail-layout/ErrorSummary.js +89 -0
- package/dist-lib/components/detail-layout/EvidenceBlock.js +66 -0
- package/dist-lib/{FieldRow-DedGIY9R.js → components/detail-layout/FieldRow.js} +8 -7
- package/dist-lib/components/detail-layout/FieldsBlock.js +74 -0
- package/dist-lib/components/detail-layout/LayoutColumn.js +16 -0
- package/dist-lib/components/detail-layout/LayoutRenderer.js +54 -0
- package/dist-lib/components/detail-layout/LayoutRow.js +83 -0
- package/dist-lib/components/detail-layout/LayoutTabs.js +195 -0
- package/dist-lib/components/detail-layout/PropertiesBlock.js +74 -0
- package/dist-lib/components/detail-layout/QuickAddForm.js +81 -0
- package/dist-lib/components/detail-layout/SectionBlock.js +48 -0
- package/dist-lib/components/detail-layout/StatusesBlock.js +18 -0
- package/dist-lib/components/detail-layout/TimelineComposer.js +205 -0
- package/dist-lib/components/detail-layout/blockMeta.js +27 -0
- package/dist-lib/components/detail-layout/useManualColumnResize.js +94 -0
- package/dist-lib/components/detail-layout/useQuickAdd.js +85 -0
- package/dist-lib/components/detail-layout/widgets/EntityScorecardWidget.js +295 -0
- package/dist-lib/components/detail-layout/widgets/JsonDiffWidget.js +107 -0
- package/dist-lib/components/detail-layout/widgets/MonacoJson.js +47 -0
- package/dist-lib/components/detail-layout/widgets/WidgetHost.js +36 -0
- package/dist-lib/components/detail-layout/widgets/builtins.js +10 -0
- package/dist-lib/components/detail-layout/widgets/canonicalizeJson.js +32 -0
- package/dist-lib/components/detail-layout/widgets/monacoBootstrap.js +16 -0
- package/dist-lib/components/detail-layout/widgets/registry.js +13 -0
- package/dist-lib/components/fields/BoolField.js +13 -0
- package/dist-lib/components/fields/EmailField.js +16 -0
- package/dist-lib/components/fields/EnumField.js +38 -0
- package/dist-lib/components/fields/FileReferenceField.js +60 -0
- package/dist-lib/components/fields/IntArrayField.js +83 -0
- package/dist-lib/components/fields/JsonField.js +51 -0
- package/dist-lib/components/fields/MultilangArrayField.js +56 -0
- package/dist-lib/components/fields/MultilangField.js +65 -0
- package/dist-lib/components/fields/MultilangTextField.js +65 -0
- package/dist-lib/components/fields/NumberField.js +64 -0
- package/dist-lib/components/fields/PasswordField.js +34 -0
- package/dist-lib/components/fields/PhoneField.js +84 -0
- package/dist-lib/components/fields/RefCombobox.js +112 -0
- package/dist-lib/components/fields/RefField.js +45 -0
- package/dist-lib/components/fields/RichTextField.js +225 -0
- package/dist-lib/components/fields/SecretField.js +34 -0
- package/dist-lib/components/fields/StringArrayField.js +165 -0
- package/dist-lib/components/fields/StringField.js +39 -0
- package/dist-lib/components/fields/StructureField.js +221 -0
- package/dist-lib/components/fields/TextField.js +76 -0
- package/dist-lib/components/fields/TimestampField.js +110 -0
- package/dist-lib/components/fields/UrlField.js +18 -0
- package/dist-lib/components/fields/cells/factories/badge.js +42 -0
- package/dist-lib/components/fields/cells/factories/boolPill.js +17 -0
- package/dist-lib/components/fields/cells/factories/code.js +11 -0
- package/dist-lib/components/fields/cells/factories/date.js +30 -0
- package/dist-lib/components/fields/cells/factories/email.js +26 -0
- package/dist-lib/components/fields/cells/factories/emptyCell.js +10 -0
- package/dist-lib/components/fields/cells/factories/fileReference.js +17 -0
- package/dist-lib/components/fields/cells/factories/host-icons.js +146 -0
- package/dist-lib/components/fields/cells/factories/json.js +61 -0
- package/dist-lib/components/fields/cells/factories/link.js +32 -0
- package/dist-lib/components/fields/cells/factories/markdown.js +31 -0
- package/dist-lib/components/fields/cells/factories/markdownPreview.js +81 -0
- package/dist-lib/components/fields/cells/factories/money.js +37 -0
- package/dist-lib/components/fields/cells/factories/multilangInline.js +35 -0
- package/dist-lib/components/fields/cells/factories/nextRun.js +46 -0
- package/dist-lib/components/fields/cells/factories/number.js +42 -0
- package/dist-lib/components/fields/cells/factories/passwordMask.js +23 -0
- package/dist-lib/components/fields/cells/factories/phone.js +35 -0
- package/dist-lib/components/fields/cells/factories/refLink.js +57 -0
- package/dist-lib/components/fields/cells/factories/richTextPreview.js +34 -0
- package/dist-lib/components/fields/cells/factories/statusPill.js +35 -0
- package/dist-lib/components/fields/cells/factories/tagList.js +44 -0
- package/dist-lib/components/fields/cells/factories/text.js +5 -0
- package/dist-lib/components/fields/cells/factories/timestamp.js +18 -0
- package/dist-lib/components/fields/cells/factories/url-helpers.js +49 -0
- package/dist-lib/components/fields/cells/factories/url.js +45 -0
- package/dist-lib/components/fields/cells/registry.js +58 -0
- package/dist-lib/components/fields/index.js +80 -0
- package/dist-lib/components/fields/langMap.js +6 -0
- package/dist-lib/components/fields/secretValue.js +7 -0
- package/dist-lib/components/file-widgets/CircleImage.js +11 -0
- package/dist-lib/components/file-widgets/DocumentCard.js +277 -0
- package/dist-lib/components/file-widgets/FileList.js +213 -0
- package/dist-lib/{Grid-XUHm5SDe.js → components/file-widgets/Grid.js} +45 -40
- package/dist-lib/components/file-widgets/GridLazy.js +15 -0
- package/dist-lib/components/file-widgets/ImageWidget.js +354 -0
- package/dist-lib/components/file-widgets/LabeledSlots.js +69 -0
- package/dist-lib/components/file-widgets/SquareImage.js +11 -0
- package/dist-lib/components/file-widgets/UnknownFileWidget.js +22 -0
- package/dist-lib/components/file-widgets/UploadFailureText.js +10 -0
- package/dist-lib/components/file-widgets/WideBanner.js +11 -0
- package/dist-lib/components/file-widgets/builtins.js +15 -0
- package/dist-lib/components/file-widgets/cropper.js +13 -0
- package/dist-lib/components/file-widgets/draft-scope.js +59 -0
- package/dist-lib/components/file-widgets/helpers.js +75 -0
- package/dist-lib/components/file-widgets/host.js +75 -0
- package/dist-lib/{payload-DioMoxMX.js → components/file-widgets/payload.js} +14 -14
- package/dist-lib/components/file-widgets/registry.js +13 -0
- package/dist-lib/components/file-widgets/upload.js +180 -0
- package/dist-lib/components/file-widgets/useEmbedFileSrc.js +45 -0
- package/dist-lib/components/file-widgets/value.js +12 -0
- package/dist-lib/components/filters/FilterChips.js +123 -0
- package/dist-lib/components/filters/FilterConditionValue.js +40 -0
- package/dist-lib/components/filters/FilterDrawer.js +670 -0
- package/dist-lib/components/filters/FilterOmittedNotice.js +14 -0
- package/dist-lib/components/filters/filter-op-label.js +8 -0
- package/dist-lib/{CommandPalette.impl-DRI5kxVY.js → components/layout/CommandPalette.impl.js} +62 -61
- package/dist-lib/components/layout/CommandPalette.js +12 -0
- package/dist-lib/{DirtyTabsCloseDialog.impl-FhAiOmEb.js → components/layout/DirtyTabsCloseDialog.impl.js} +16 -14
- package/dist-lib/components/layout/DirtyTabsCloseDialog.js +12 -0
- package/dist-lib/{ImpersonationBanner.impl--g0iYwcV.js → components/layout/ImpersonationBanner.impl.js} +4 -3
- package/dist-lib/components/layout/ImpersonationBanner.js +12 -0
- package/dist-lib/components/layout/ImpersonationFrame.js +29 -0
- package/dist-lib/{ImpersonationStartModal.impl-BFBN0YJe.js → components/layout/ImpersonationStartModal.impl.js} +9 -9
- package/dist-lib/components/layout/ImpersonationStartModal.js +12 -0
- package/dist-lib/components/layout/Layout.js +755 -0
- package/dist-lib/components/layout/Rail.js +149 -0
- package/dist-lib/components/layout/Sidebar.js +362 -0
- package/dist-lib/components/layout/TabStrip.js +321 -0
- package/dist-lib/components/layout/TenantChip.js +355 -0
- package/dist-lib/components/layout/TopBar.js +305 -0
- package/dist-lib/components/layout/tab-close.js +24 -0
- package/dist-lib/components/list/ColumnPicker.js +112 -0
- package/dist-lib/components/list/InlineEditCell.js +107 -0
- package/dist-lib/components/list/PeekFieldCell.js +143 -0
- package/dist-lib/components/list/QuickPeek.js +263 -0
- package/dist-lib/components/list/ViewSwitcher.js +156 -0
- package/dist-lib/components/list/peekDraftStore.js +14 -0
- package/dist-lib/{AdminCatalogPage.impl-B-7MLqa1.js → components/pages/AdminCatalogPage.impl.js} +53 -49
- package/dist-lib/components/pages/AdminCatalogPage.js +12 -0
- package/dist-lib/components/pages/DocumentsMenu.js +150 -0
- package/dist-lib/components/pages/ExportMenu.js +123 -0
- package/dist-lib/{NotFoundPage.impl-BoX11u-P.js → components/pages/NotFoundPage.impl.js} +6 -4
- package/dist-lib/components/pages/NotFoundPage.js +12 -0
- package/dist-lib/components/pages/RecordDocumentsPanel.js +230 -0
- package/dist-lib/components/pages/RecordNotesPanel.js +200 -0
- package/dist-lib/components/pages/RecordPanels.js +18 -0
- package/dist-lib/components/pages/SSOCallbackPage.impl.js +28 -0
- package/dist-lib/components/pages/SSOCallbackPage.js +12 -0
- package/dist-lib/components/pages/SmartDetailPage.impl.js +986 -0
- package/dist-lib/components/pages/SmartDetailPage.js +12 -0
- package/dist-lib/components/pages/SmartListPage.impl.js +708 -0
- package/dist-lib/components/pages/SmartListPage.js +12 -0
- package/dist-lib/components/pages/SmartRecordListPage.impl.js +818 -0
- package/dist-lib/components/pages/SmartRecordListPage.js +12 -0
- package/dist-lib/components/pages/auth/AuthShell.js +350 -0
- package/dist-lib/{Forgot.impl-6tL6SBlS.js → components/pages/auth/Forgot.impl.js} +13 -12
- package/dist-lib/components/pages/auth/Forgot.js +12 -0
- package/dist-lib/{Reset.impl-D0pjhS6d.js → components/pages/auth/Reset.impl.js} +17 -15
- package/dist-lib/components/pages/auth/Reset.js +12 -0
- package/dist-lib/components/pages/auth/SignIn.js +252 -0
- package/dist-lib/{SignUp.impl-CfEXrUeg.js → components/pages/auth/SignUp.impl.js} +31 -27
- package/dist-lib/components/pages/auth/SignUp.js +12 -0
- package/dist-lib/{TwoFA.impl-B2HtPduH.js → components/pages/auth/TwoFA.impl.js} +9 -8
- package/dist-lib/components/pages/auth/TwoFA.js +12 -0
- package/dist-lib/components/pages/auth/icons.js +56 -0
- package/dist-lib/components/pages/exportRequest.js +17 -0
- package/dist-lib/components/pages/list/DataCell.js +27 -0
- package/dist-lib/components/pages/list/DeleteViewDialog.js +22 -0
- package/dist-lib/{ListCardsBody-BEoYjSZ2.js → components/pages/list/ListCardRow.js} +47 -72
- package/dist-lib/components/pages/list/ListCardsBody.js +31 -0
- package/dist-lib/components/pages/list/ListFloatbar.js +130 -0
- package/dist-lib/components/pages/list/ListFooter.js +138 -0
- package/dist-lib/components/pages/list/ListHeader.js +120 -0
- package/dist-lib/components/pages/list/ListNoRows.js +72 -0
- package/dist-lib/components/pages/list/ListTable.js +191 -0
- package/dist-lib/components/pages/list/ListTableRow.js +37 -0
- package/dist-lib/components/pages/list/ListToolbar.js +261 -0
- package/dist-lib/components/pages/list/ListUrlBanner.js +45 -0
- package/dist-lib/components/pages/list/RowActionsCell.js +49 -0
- package/dist-lib/components/pages/list/RowContextMenu.js +55 -0
- package/dist-lib/components/pages/list/SaveViewDialog.js +111 -0
- package/dist-lib/{SortHeaderMenu-Co5PvhTA.js → components/pages/list/SortHeaderMenu.js} +18 -17
- package/dist-lib/{cardProjection-Cxlogzh8.js → components/pages/list/cardProjection.js} +3 -3
- package/dist-lib/components/pages/list/column-sizing.js +17 -0
- package/dist-lib/components/pages/list/columns.js +168 -0
- package/dist-lib/components/pages/list/filter-meta.js +84 -0
- package/dist-lib/components/pages/list/page-size.js +11 -0
- package/dist-lib/components/pages/list/sortable-header.js +18 -0
- package/dist-lib/components/pages/list/table-features.js +11 -0
- package/dist-lib/components/pages/list/use-filter-value-labels.js +115 -0
- package/dist-lib/components/pages/list/useActiveView.js +98 -0
- package/dist-lib/components/pages/list/useHeaderReorder.js +93 -0
- package/dist-lib/components/pages/list/useListColumnLayout.js +56 -0
- package/dist-lib/components/pages/list/useListFilterPresentation.js +34 -0
- package/dist-lib/components/pages/list/useListQuery.js +101 -0
- package/dist-lib/components/pages/list/useListRowInteraction.js +120 -0
- package/dist-lib/components/pages/list/useListSelection.js +53 -0
- package/dist-lib/components/pages/list/useListSort.js +44 -0
- package/dist-lib/components/pages/list/useListViews.js +148 -0
- package/dist-lib/components/pages/list/useRowMenu.js +106 -0
- package/dist-lib/components/pages/list/visible-filters.js +19 -0
- package/dist-lib/{Preferences.impl-Ct5xwZtT.js → components/pages/profile/Preferences.impl.js} +34 -31
- package/dist-lib/components/pages/profile/Preferences.js +12 -0
- package/dist-lib/components/pages/profile/Profile.impl.js +437 -0
- package/dist-lib/components/pages/profile/Profile.js +12 -0
- package/dist-lib/{TenantParamsPage.impl-BGpdmEZg.js → components/pages/tenant-params/TenantParamsPage.impl.js} +45 -40
- package/dist-lib/components/pages/tenant-params/TenantParamsPage.js +12 -0
- package/dist-lib/components/params/ParamsBlock.js +119 -0
- package/dist-lib/{param-editors-TYYU7HKK.js → components/params/param-editors.js} +32 -28
- package/dist-lib/components/primitives/Avatar.js +33 -0
- package/dist-lib/components/primitives/BoolToggle.js +35 -0
- package/dist-lib/components/primitives/BrandGlyph.js +38 -0
- package/dist-lib/components/primitives/BrandLogo.js +20 -0
- package/dist-lib/components/primitives/Btn.js +67 -0
- package/dist-lib/{Check-DAfMbQIw.js → components/primitives/Check.js} +2 -2
- package/dist-lib/components/primitives/Chip.js +44 -0
- package/dist-lib/components/primitives/ClassifiedFieldLocked.js +15 -0
- package/dist-lib/components/primitives/Dropdown.js +85 -0
- package/dist-lib/components/primitives/Fields.js +751 -0
- package/dist-lib/components/primitives/HoverCard.js +115 -0
- package/dist-lib/components/primitives/IconBtn.js +37 -0
- package/dist-lib/{Icons-lt-7lhYR.js → components/primitives/Icons.js} +1 -1
- package/dist-lib/{Kbd-CNttVu0z.js → components/primitives/Kbd.js} +2 -2
- package/dist-lib/components/primitives/MenuItem.js +57 -0
- package/dist-lib/{Pill-D-wsfRhx.js → components/primitives/Pill.js} +1 -1
- package/dist-lib/{RecordIdBadge-wbigZaFc.js → components/primitives/RecordIdBadge.js} +5 -5
- package/dist-lib/components/primitives/RowField.js +47 -0
- package/dist-lib/{SectionCard-BYHoHWJc.js → components/primitives/SectionCard.js} +10 -10
- package/dist-lib/components/primitives/Spinner.js +31 -0
- package/dist-lib/components/primitives/StatTile.js +108 -0
- package/dist-lib/components/primitives/Tooltip.js +115 -0
- package/dist-lib/{dataTableStyles-vwD1mVOP.js → components/primitives/dataTableStyles.js} +1 -1
- package/dist-lib/components/shared/BlankScreen.js +13 -0
- package/dist-lib/{ChangePasswordDialog.impl-5hDc0wpE.js → components/shared/ChangePasswordDialog.impl.js} +27 -22
- package/dist-lib/{ChangePasswordDialog-C_T_3pjl.js → components/shared/ChangePasswordDialog.js} +2 -2
- package/dist-lib/components/shared/ConfirmDialog.js +129 -0
- package/dist-lib/components/shared/ConnectionNotice.js +12 -0
- package/dist-lib/components/shared/CopyButton.js +25 -0
- package/dist-lib/components/shared/DynamicIcon.js +73 -0
- package/dist-lib/components/shared/EmptyState.js +56 -0
- package/dist-lib/components/shared/ErrorBoundary.js +96 -0
- package/dist-lib/components/shared/LoadingSkeleton.js +117 -0
- package/dist-lib/components/shared/LucideIcon.js +43 -0
- package/dist-lib/components/shared/Markdown.js +15 -0
- package/dist-lib/{MarkdownRenderer-sK2TRZS-.js → components/shared/MarkdownRenderer.js} +10 -9
- package/dist-lib/components/shared/RefreshControl.js +42 -0
- package/dist-lib/components/shared/StatusGroupsDisplay.js +123 -0
- package/dist-lib/components/shared/StatusStepper.js +70 -0
- package/dist-lib/components/shared/toast/DeclarionToast.js +308 -0
- package/dist-lib/components/shared/useOwnRefresh.js +19 -0
- package/dist-lib/declarion-react.css +1 -1
- package/dist-lib/embed/EmbedAuthBootstrap.js +71 -0
- package/dist-lib/embed/EmbedContext.js +38 -0
- package/dist-lib/embed/EmbedDirtyReporter.js +17 -0
- package/dist-lib/embed/EmbedHistoryTracker.js +17 -0
- package/dist-lib/embed/EmbedLocationReporter.js +26 -0
- package/dist-lib/embed/EmbedResizeReporter.js +25 -0
- package/dist-lib/embed/EmbedUnsavedGuard.js +23 -0
- package/dist-lib/embed/embed-dirty.js +21 -0
- package/dist-lib/embed/embed-history.js +17 -0
- package/dist-lib/embed/embed-nav-guard.js +13 -0
- package/dist-lib/embed/file-src.js +60 -0
- package/dist-lib/embed/handshake.js +37 -0
- package/dist-lib/embed/params.js +45 -0
- package/dist-lib/embed/protocol.js +26 -0
- package/dist-lib/embed/screen-location.js +44 -0
- package/dist-lib/embed/theme.js +11 -0
- package/dist-lib/embed/token.js +54 -0
- package/dist-lib/embed/useEmbedNavigate.js +65 -0
- package/dist-lib/embed/useGlobalLinkInterceptor.js +63 -0
- package/dist-lib/hooks/useActionData.js +58 -0
- package/dist-lib/hooks/useAgentConversation.js +311 -0
- package/dist-lib/hooks/useAggregate.js +18 -0
- package/dist-lib/hooks/useAllEntityData.js +53 -0
- package/dist-lib/hooks/useAssociatedData.js +37 -0
- package/dist-lib/hooks/useAuth.js +56 -0
- package/dist-lib/hooks/useBranding.js +18 -0
- package/dist-lib/hooks/useBrandingChrome.js +58 -0
- package/dist-lib/hooks/useChildrenData.js +33 -0
- package/dist-lib/hooks/useColumns.js +44 -0
- package/dist-lib/hooks/useConnectionNotice.js +35 -0
- package/dist-lib/{useCurrentLocation-Bq1T72AW.js → hooks/useCurrentLocation.js} +2 -2
- package/dist-lib/hooks/useCurrentScreen.js +20 -0
- package/dist-lib/hooks/useCursorEntityData.js +77 -0
- package/dist-lib/hooks/useDebounce.js +11 -0
- package/dist-lib/hooks/useEntity.js +8 -0
- package/dist-lib/hooks/useEntityData.js +64 -0
- package/dist-lib/hooks/useFileReferenceJSON.js +29 -0
- package/dist-lib/hooks/useFilters.js +28 -0
- package/dist-lib/hooks/useFollowAgentOpen.js +84 -0
- package/dist-lib/hooks/useImpersonation.js +40 -0
- package/dist-lib/hooks/useIntentPrefetch.js +43 -0
- package/dist-lib/hooks/useJsonSnapshot.js +8 -0
- package/dist-lib/hooks/useLanguage.js +21 -0
- package/dist-lib/hooks/useLiveObject.js +17 -0
- package/dist-lib/hooks/useLongPress.js +49 -0
- package/dist-lib/hooks/useMutations.js +70 -0
- package/dist-lib/{useObject-B45F96rC.js → hooks/useObject.js} +2 -2
- package/dist-lib/hooks/useObjectStatus.js +20 -0
- package/dist-lib/hooks/usePageState.js +18 -0
- package/dist-lib/hooks/usePageStateRuntime.js +46 -0
- package/dist-lib/hooks/usePageStateTtl.js +10 -0
- package/dist-lib/hooks/useParams.js +123 -0
- package/dist-lib/hooks/useProperties.js +32 -0
- package/dist-lib/hooks/useRealtimeThresholds.js +31 -0
- package/dist-lib/hooks/useRegisterScreenTab.js +28 -0
- package/dist-lib/hooks/useResponsiveMode.js +84 -0
- package/dist-lib/hooks/useSSE.js +307 -0
- package/dist-lib/hooks/useSchema.js +73 -0
- package/dist-lib/hooks/useScreen.js +8 -0
- package/dist-lib/hooks/useScreenBack.js +60 -0
- package/dist-lib/hooks/useScreenTab.js +11 -0
- package/dist-lib/hooks/useTabNavigate.js +82 -0
- package/dist-lib/hooks/useTabSearchMirror.js +19 -0
- package/dist-lib/{useTabTitle-KrzEo118.js → hooks/useTabTitle.js} +9 -7
- package/dist-lib/hooks/useText.js +15 -0
- package/dist-lib/hooks/useTimelineData.js +44 -0
- package/dist-lib/hooks/useUnsavedInput.js +18 -0
- package/dist-lib/hooks/useVersionWatcher.js +62 -0
- package/dist-lib/hooks/useViews.js +88 -0
- package/dist-lib/hooks/useWindowConversation.js +11 -0
- package/dist-lib/icons.js +5 -3
- package/dist-lib/index.d.ts +42 -20
- package/dist-lib/index.js +131 -3926
- package/dist-lib/lib/action-dispatch.js +7 -0
- package/dist-lib/lib/actions.js +279 -0
- package/dist-lib/lib/anchor.js +41 -0
- package/dist-lib/lib/brand-tokens.js +95 -0
- package/dist-lib/lib/branding.js +25 -0
- package/dist-lib/lib/canonical-url.js +17 -0
- package/dist-lib/lib/capabilityPrefetch.js +57 -0
- package/dist-lib/lib/child-config.js +111 -0
- package/dist-lib/lib/children-validation.js +52 -0
- package/dist-lib/lib/decimal-text.js +15 -0
- package/dist-lib/lib/display-value.js +19 -0
- package/dist-lib/lib/document-templates.js +6 -0
- package/dist-lib/lib/download.js +41 -0
- package/dist-lib/lib/evidence-verdict.js +23 -0
- package/dist-lib/lib/failure.js +9 -0
- package/dist-lib/lib/field-classification.js +58 -0
- package/dist-lib/lib/field-regions.js +13 -0
- package/dist-lib/lib/filter-evaluator.js +98 -0
- package/dist-lib/lib/filters.js +118 -0
- package/dist-lib/lib/format-count.js +24 -0
- package/dist-lib/lib/html-state.js +9 -0
- package/dist-lib/lib/language.js +52 -0
- package/dist-lib/lib/longPressGesture.js +34 -0
- package/dist-lib/lib/mass-edit.js +65 -0
- package/dist-lib/{page-inset-D_kkVwwN.js → lib/page-inset.js} +1 -1
- package/dist-lib/lib/phone.js +28 -0
- package/dist-lib/lib/query-retry.js +7 -0
- package/dist-lib/lib/quick-add.js +23 -0
- package/dist-lib/lib/realtime-query-keys.js +23 -0
- package/dist-lib/lib/realtime-reconcile.js +148 -0
- package/dist-lib/lib/realtime-resync.js +192 -0
- package/dist-lib/lib/record-documents-key.js +4 -0
- package/dist-lib/lib/ref-choices.js +6 -0
- package/dist-lib/lib/refetch-when-idle.js +25 -0
- package/dist-lib/lib/rich-text.js +46 -0
- package/dist-lib/lib/rowClickGesture.js +10 -0
- package/dist-lib/lib/safe-url.js +34 -0
- package/dist-lib/lib/schema-routing.js +51 -0
- package/dist-lib/{screen-back-BtbEp5sO.js → lib/screen-back.js} +2 -2
- package/dist-lib/lib/scroll-restoration.js +156 -0
- package/dist-lib/lib/size-value.js +22 -0
- package/dist-lib/lib/sort.js +59 -0
- package/dist-lib/lib/timestamp.js +97 -0
- package/dist-lib/lib/toast.js +78 -0
- package/dist-lib/lib/ui-actions.js +81 -0
- package/dist-lib/{utils-D_QDpB8_.js → lib/utils.js} +1 -1
- package/dist-lib/lib/variants.js +63 -0
- package/dist-lib/lib/versionTracker.js +102 -0
- package/dist-lib/lib/viewport-category.js +12 -0
- package/dist-lib/{window-election-CHIvIZwx.js → lib/window-election.js} +1 -1
- package/dist-lib/stores/auth.js +84 -0
- package/dist-lib/stores/icon-registry.js +24 -0
- package/dist-lib/stores/list-layout.js +178 -0
- package/dist-lib/{page-state-eA6J_KIR.js → stores/page-state.js} +1 -1
- package/dist-lib/stores/preferences.js +126 -0
- package/dist-lib/stores/realtime.js +115 -0
- package/dist-lib/stores/screen-registry.js +10 -0
- package/dist-lib/stores/tabs.js +220 -0
- package/dist-lib/test/seed-schema.js +8 -0
- package/dist-lib/testing.d.ts +1 -1
- package/dist-lib/testing.js +80 -76
- package/dist-lib/types/api.js +48 -0
- package/dist-lib/types/fieldType.js +4 -0
- package/dist-lib/types/ordmap.js +50 -0
- package/dist-lib/types/schema.js +173 -0
- package/dist-lib/{useResponsiveMode-DIR1bZfo.d.ts → useResponsiveMode-DmrpMbZX.d.ts} +44 -16
- package/package.json +13 -12
- package/dist-lib/ActionRunner-DdBFhqGe.js +0 -1440
- package/dist-lib/AgentOpenFollower.impl-BAs_wGEZ.js +0 -81
- package/dist-lib/AssociatedBlock-BOoPLOjw.js +0 -1515
- package/dist-lib/AuthShell-C8aVwHS7.js +0 -361
- package/dist-lib/BlankScreen-DVc7fh8C.js +0 -61
- package/dist-lib/CopyButton-DRIT_f0k.js +0 -119
- package/dist-lib/DynamicIcon-DuBSz6TZ.js +0 -133
- package/dist-lib/FilterChips-Cv1tlXyo.js +0 -1031
- package/dist-lib/LayoutRenderer-d-tXYPze.js +0 -3239
- package/dist-lib/MenuItem-CfkVXPvC.js +0 -140
- package/dist-lib/MonacoJson-BG3S3GHX.js +0 -60
- package/dist-lib/Profile.impl-Cypk27ah.js +0 -527
- package/dist-lib/PropertyGridEditor-XrP6TZ5s.js +0 -4378
- package/dist-lib/RecordHeader-BfQ0_4wq.js +0 -217
- package/dist-lib/RefreshControl-CRdWPoF5.js +0 -195
- package/dist-lib/SSOCallbackPage.impl-Cfi2pQ59.js +0 -31
- package/dist-lib/SmartDetailPage.impl-BiIX0n7K.js +0 -1609
- package/dist-lib/SmartListPage.impl-Cu83Gv_G.js +0 -2818
- package/dist-lib/SmartRecordListPage.impl-DR6lq7HA.js +0 -795
- package/dist-lib/format-count-lyB4CPen.js +0 -943
- package/dist-lib/peekDraftStore-CaimrOhW.js +0 -200
- package/dist-lib/registry-CGe5kCXN.js +0 -119
- package/dist-lib/use-filter-value-labels-D3YDgUzg.js +0 -413
- package/dist-lib/useAgentConversation-rru-7hnF.js +0 -612
- package/dist-lib/useBranding-zcxEic2k.js +0 -41
- package/dist-lib/useBrandingChrome-bxaR3G1R.js +0 -170
- package/dist-lib/useCurrentScreen-BZOHBGQZ.js +0 -2522
- package/dist-lib/useImpersonation-DBIRRR70.js +0 -35
- package/dist-lib/useOwnRefresh-DJjaje52.js +0 -435
- package/dist-lib/useParams-BFLJi4n3.js +0 -133
- package/dist-lib/useProperties-B7opZ-iy.js +0 -81
- package/dist-lib/useScreenBack-DENlz844.js +0 -71
- package/dist-lib/useTabNavigate-CUqOmcMj.js +0 -78
- package/dist-lib/value-BuQVYx52.js +0 -194
- package/dist-lib/variants-vUtfBbE6.js +0 -1961
- /package/dist-lib/{JsonEditor-Dz1PQHC8.js → components/fields/JsonEditor.js} +0 -0
package/dist-lib/app.js
ADDED
|
@@ -0,0 +1,262 @@
|
|
|
1
|
+
import { backoffDelayMs as e } from "./api/request-bounds.js";
|
|
2
|
+
import { EmbedProvider as t, useEmbed as n } from "./embed/EmbedContext.js";
|
|
3
|
+
import { SmartDetailPage as r } from "./components/pages/SmartDetailPage.js";
|
|
4
|
+
import { SmartListPage as i } from "./components/pages/SmartListPage.js";
|
|
5
|
+
import { SmartRecordListPage as a } from "./components/pages/SmartRecordListPage.js";
|
|
6
|
+
import { useFirstScreenSettledOnInput as o } from "./lib/capabilityPrefetch.js";
|
|
7
|
+
import { useAuthStore as s } from "./stores/auth.js";
|
|
8
|
+
import { useSchema as c } from "./hooks/useSchema.js";
|
|
9
|
+
import { useLanguage as ee } from "./hooks/useLanguage.js";
|
|
10
|
+
import { ResponsiveModeProvider as l } from "./hooks/useResponsiveMode.js";
|
|
11
|
+
import { setIconRegistry as u } from "./stores/icon-registry.js";
|
|
12
|
+
import { isValidLogoUrl as d } from "./lib/branding.js";
|
|
13
|
+
import { usePublicParams as f } from "./hooks/useParams.js";
|
|
14
|
+
import { useBranding as p } from "./hooks/useBranding.js";
|
|
15
|
+
import { usePreferencesStore as m } from "./stores/preferences.js";
|
|
16
|
+
import { EmbedAuthBootstrap as h } from "./embed/EmbedAuthBootstrap.js";
|
|
17
|
+
import { DEFAULT_PAGE_STATE_TTL_MS as g } from "./stores/page-state.js";
|
|
18
|
+
import { applyRetainedReadGcTime as _ } from "./hooks/usePageStateRuntime.js";
|
|
19
|
+
import { useBrandingBreakpoints as v, useBrandingViewport as y } from "./hooks/useBrandingChrome.js";
|
|
20
|
+
import { Layout as b } from "./components/layout/Layout.js";
|
|
21
|
+
import { BlankScreen as x } from "./components/shared/BlankScreen.js";
|
|
22
|
+
import { schemaDefaultRoute as S } from "./lib/schema-routing.js";
|
|
23
|
+
import { SignIn as C } from "./components/pages/auth/SignIn.js";
|
|
24
|
+
import { SignUp as w } from "./components/pages/auth/SignUp.js";
|
|
25
|
+
import { Forgot as te } from "./components/pages/auth/Forgot.js";
|
|
26
|
+
import { Reset as T } from "./components/pages/auth/Reset.js";
|
|
27
|
+
import { TwoFA as E } from "./components/pages/auth/TwoFA.js";
|
|
28
|
+
import { SSOCallbackPage as D } from "./components/pages/SSOCallbackPage.js";
|
|
29
|
+
import { NotFoundPage as O } from "./components/pages/NotFoundPage.js";
|
|
30
|
+
import { Profile as k } from "./components/pages/profile/Profile.js";
|
|
31
|
+
import { TenantParamsPage as A } from "./components/pages/tenant-params/TenantParamsPage.js";
|
|
32
|
+
import { Preferences as ne } from "./components/pages/profile/Preferences.js";
|
|
33
|
+
import { AdminCatalogPage as re } from "./components/pages/AdminCatalogPage.js";
|
|
34
|
+
import { ErrorBoundary as j } from "./components/shared/ErrorBoundary.js";
|
|
35
|
+
import { useVersionWatcher as M } from "./hooks/useVersionWatcher.js";
|
|
36
|
+
import { ConnectionNotice as N } from "./components/shared/ConnectionNotice.js";
|
|
37
|
+
import { shouldRetryQuery as P } from "./lib/query-retry.js";
|
|
38
|
+
import { getRegisteredScreen as F, registerScreen as I } from "./stores/screen-registry.js";
|
|
39
|
+
import { CurrentScreenProvider as L } from "./hooks/useCurrentScreen.js";
|
|
40
|
+
import { CONSUMER_BRAND_CSS_ID as R, applyBrandTokens as z, brandTokenCss as B } from "./lib/brand-tokens.js";
|
|
41
|
+
import { useEffect as V, useMemo as H } from "react";
|
|
42
|
+
import { QueryClient as U, QueryClientProvider as W } from "@tanstack/react-query";
|
|
43
|
+
import { Fragment as G, jsx as K, jsxs as q } from "react/jsx-runtime";
|
|
44
|
+
import { BrowserRouter as J, Navigate as Y, Route as X, Routes as ie } from "react-router";
|
|
45
|
+
import { Toaster as ae } from "sonner";
|
|
46
|
+
I("Profile", k), I("TenantParameters", A);
|
|
47
|
+
var Z = "declarion-managed-favicon", Q = new U({ defaultOptions: { queries: {
|
|
48
|
+
staleTime: 3e5,
|
|
49
|
+
retry: P,
|
|
50
|
+
retryDelay: e
|
|
51
|
+
} } });
|
|
52
|
+
_(Q, g);
|
|
53
|
+
function $(e) {
|
|
54
|
+
if (typeof window > "u") return null;
|
|
55
|
+
try {
|
|
56
|
+
let t = new URL(e, window.location.origin);
|
|
57
|
+
return t.protocol !== window.location.protocol || t.host !== window.location.host ? null : t.href;
|
|
58
|
+
} catch {
|
|
59
|
+
return null;
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
function oe({ component: e, screenCode: t }) {
|
|
63
|
+
return o(), /* @__PURE__ */ K(e, { screenCode: t });
|
|
64
|
+
}
|
|
65
|
+
function se() {
|
|
66
|
+
let { data: e } = c();
|
|
67
|
+
return {
|
|
68
|
+
routes: H(() => {
|
|
69
|
+
if (!e) return [];
|
|
70
|
+
let t = [];
|
|
71
|
+
for (let [n, o] of Object.entries(e.screens ?? {})) if (o.type === "list") {
|
|
72
|
+
let r = o.entity;
|
|
73
|
+
if ((r ? e.entities?.[r] : void 0)?.singleton) continue;
|
|
74
|
+
t.push(/* @__PURE__ */ K(X, {
|
|
75
|
+
path: o.route,
|
|
76
|
+
element: /* @__PURE__ */ K(j, { children: /* @__PURE__ */ K(L, {
|
|
77
|
+
code: n,
|
|
78
|
+
children: /* @__PURE__ */ K(i, { screenCode: n })
|
|
79
|
+
}) })
|
|
80
|
+
}, n));
|
|
81
|
+
} else if (o.type === "detail") t.push(/* @__PURE__ */ K(X, {
|
|
82
|
+
path: o.route,
|
|
83
|
+
element: /* @__PURE__ */ K(j, { children: /* @__PURE__ */ K(L, {
|
|
84
|
+
code: n,
|
|
85
|
+
children: /* @__PURE__ */ K(r, { screenCode: n })
|
|
86
|
+
}) })
|
|
87
|
+
}, n));
|
|
88
|
+
else if (o.type === "record_list") t.push(/* @__PURE__ */ K(X, {
|
|
89
|
+
path: o.route,
|
|
90
|
+
element: /* @__PURE__ */ K(j, { children: /* @__PURE__ */ K(L, {
|
|
91
|
+
code: n,
|
|
92
|
+
children: /* @__PURE__ */ K(a, { screenCode: n })
|
|
93
|
+
}) })
|
|
94
|
+
}, n));
|
|
95
|
+
else if (o.type === "custom") {
|
|
96
|
+
let e = o.component ? F(o.component) : void 0;
|
|
97
|
+
e && t.push(/* @__PURE__ */ K(X, {
|
|
98
|
+
path: o.route,
|
|
99
|
+
element: /* @__PURE__ */ K(j, { children: /* @__PURE__ */ K(L, {
|
|
100
|
+
code: n,
|
|
101
|
+
children: /* @__PURE__ */ K(oe, {
|
|
102
|
+
component: e,
|
|
103
|
+
screenCode: n
|
|
104
|
+
})
|
|
105
|
+
}) })
|
|
106
|
+
}, n));
|
|
107
|
+
}
|
|
108
|
+
return t;
|
|
109
|
+
}, [e]),
|
|
110
|
+
defaultRoute: H(() => S(e), [e])
|
|
111
|
+
};
|
|
112
|
+
}
|
|
113
|
+
function ce() {
|
|
114
|
+
let e = s((e) => e.initialize), t = s((e) => e.isLoading), r = s((e) => e.isAuthenticated), { data: i, isError: a } = c(), o = ee(), { data: l, isLoading: m } = f(), { branding: h, isLoading: g } = p(), { routes: _, defaultRoute: v } = se(), y = n();
|
|
115
|
+
V(() => {
|
|
116
|
+
document.documentElement.lang = o;
|
|
117
|
+
}, [o]);
|
|
118
|
+
let S = typeof window < "u" && window.self !== window.top && !y.enabled;
|
|
119
|
+
V(() => {
|
|
120
|
+
y.enabled || S || e();
|
|
121
|
+
}, [
|
|
122
|
+
y.enabled,
|
|
123
|
+
S,
|
|
124
|
+
e
|
|
125
|
+
]);
|
|
126
|
+
let k = i?.icons;
|
|
127
|
+
V(() => {
|
|
128
|
+
u(k ?? {});
|
|
129
|
+
}, [k]);
|
|
130
|
+
let A = h?.identity, j = h?.theme;
|
|
131
|
+
V(() => {
|
|
132
|
+
if (typeof document > "u") return;
|
|
133
|
+
let e = A?.app_name?.trim();
|
|
134
|
+
e && (document.title = e);
|
|
135
|
+
}, [A?.app_name]), V(() => {
|
|
136
|
+
if (typeof document > "u") return;
|
|
137
|
+
let e = A?.app_logo, t = d(e) ? $(e.trim()) : null, n = document.getElementById(Z);
|
|
138
|
+
if (!t) n && n.remove();
|
|
139
|
+
else if (n) n.href !== t && (n.href = t);
|
|
140
|
+
else {
|
|
141
|
+
document.querySelectorAll("link[rel=\"icon\"], link[rel=\"shortcut icon\"]").forEach((e) => e.remove());
|
|
142
|
+
let e = document.createElement("link");
|
|
143
|
+
e.id = Z, e.rel = "icon", e.href = t, document.head.appendChild(e);
|
|
144
|
+
}
|
|
145
|
+
}, [A?.app_logo]);
|
|
146
|
+
let M = j?.css_url ?? null, N = H(() => B(j), [j]);
|
|
147
|
+
V(() => {
|
|
148
|
+
z(N);
|
|
149
|
+
}, [N]), V(() => {
|
|
150
|
+
if (typeof document > "u") return;
|
|
151
|
+
let e = document.getElementById(R);
|
|
152
|
+
if (!M) {
|
|
153
|
+
e && e.remove();
|
|
154
|
+
return;
|
|
155
|
+
}
|
|
156
|
+
let t = $(M);
|
|
157
|
+
if (!t) {
|
|
158
|
+
e && e.remove(), console.error(`[declarion] branding.theme.css_url rejected: ${M}. Only same-origin, relative URLs are allowed (e.g. /modules/crm/public/brand.css).`);
|
|
159
|
+
return;
|
|
160
|
+
}
|
|
161
|
+
if (e && e.href === t) return;
|
|
162
|
+
e && e.remove();
|
|
163
|
+
let n = document.createElement("link");
|
|
164
|
+
n.id = R, n.rel = "stylesheet", n.href = t, document.head.appendChild(n);
|
|
165
|
+
}, [M]);
|
|
166
|
+
let P = y.enabled && !r;
|
|
167
|
+
return S || P || t || m && !l || g || !i && (r || !a) ? /* @__PURE__ */ K(x, {}) : /* @__PURE__ */ q(ie, { children: [
|
|
168
|
+
/* @__PURE__ */ K(X, {
|
|
169
|
+
path: "/login",
|
|
170
|
+
element: /* @__PURE__ */ K(C, {})
|
|
171
|
+
}),
|
|
172
|
+
/* @__PURE__ */ K(X, {
|
|
173
|
+
path: "/login/sso-callback",
|
|
174
|
+
element: /* @__PURE__ */ K(D, {})
|
|
175
|
+
}),
|
|
176
|
+
/* @__PURE__ */ K(X, {
|
|
177
|
+
path: "/signup",
|
|
178
|
+
element: /* @__PURE__ */ K(w, {})
|
|
179
|
+
}),
|
|
180
|
+
/* @__PURE__ */ K(X, {
|
|
181
|
+
path: "/forgot",
|
|
182
|
+
element: /* @__PURE__ */ K(te, {})
|
|
183
|
+
}),
|
|
184
|
+
/* @__PURE__ */ K(X, {
|
|
185
|
+
path: "/reset",
|
|
186
|
+
element: /* @__PURE__ */ K(T, {})
|
|
187
|
+
}),
|
|
188
|
+
/* @__PURE__ */ K(X, {
|
|
189
|
+
path: "/2fa",
|
|
190
|
+
element: /* @__PURE__ */ K(E, {})
|
|
191
|
+
}),
|
|
192
|
+
/* @__PURE__ */ q(X, {
|
|
193
|
+
element: /* @__PURE__ */ K(b, {}),
|
|
194
|
+
children: [
|
|
195
|
+
v && /* @__PURE__ */ q(G, { children: [/* @__PURE__ */ K(X, {
|
|
196
|
+
index: !0,
|
|
197
|
+
element: /* @__PURE__ */ K(Y, {
|
|
198
|
+
to: v,
|
|
199
|
+
replace: !0
|
|
200
|
+
})
|
|
201
|
+
}), /* @__PURE__ */ K(X, {
|
|
202
|
+
path: "/admin",
|
|
203
|
+
element: /* @__PURE__ */ K(Y, {
|
|
204
|
+
to: v,
|
|
205
|
+
replace: !0
|
|
206
|
+
})
|
|
207
|
+
})] }),
|
|
208
|
+
_,
|
|
209
|
+
/* @__PURE__ */ K(X, {
|
|
210
|
+
path: "/preferences",
|
|
211
|
+
element: /* @__PURE__ */ K(ne, {})
|
|
212
|
+
}),
|
|
213
|
+
/* @__PURE__ */ K(X, {
|
|
214
|
+
path: "/admin/catalog",
|
|
215
|
+
element: /* @__PURE__ */ K(re, {})
|
|
216
|
+
}),
|
|
217
|
+
/* @__PURE__ */ K(X, {
|
|
218
|
+
path: "*",
|
|
219
|
+
element: /* @__PURE__ */ K(O, {})
|
|
220
|
+
})
|
|
221
|
+
]
|
|
222
|
+
})
|
|
223
|
+
] });
|
|
224
|
+
}
|
|
225
|
+
function le() {
|
|
226
|
+
M();
|
|
227
|
+
let e = m((e) => e.toastPosition);
|
|
228
|
+
return /* @__PURE__ */ q(J, { children: [
|
|
229
|
+
/* @__PURE__ */ K(h, {}),
|
|
230
|
+
/* @__PURE__ */ K(N, {}),
|
|
231
|
+
/* @__PURE__ */ K(ce, {}),
|
|
232
|
+
/* @__PURE__ */ K(ae, {
|
|
233
|
+
position: e,
|
|
234
|
+
toastOptions: { unstyled: !0 },
|
|
235
|
+
expand: !0,
|
|
236
|
+
visibleToasts: 4,
|
|
237
|
+
gap: 8,
|
|
238
|
+
offset: {
|
|
239
|
+
top: 16,
|
|
240
|
+
bottom: 16,
|
|
241
|
+
left: 16,
|
|
242
|
+
right: "calc(var(--assistant-open-w) + 16px)"
|
|
243
|
+
}
|
|
244
|
+
})
|
|
245
|
+
] });
|
|
246
|
+
}
|
|
247
|
+
function ue({ children: e }) {
|
|
248
|
+
let t = y(), n = v();
|
|
249
|
+
return /* @__PURE__ */ K(l, {
|
|
250
|
+
viewport: t,
|
|
251
|
+
breakpoints: n,
|
|
252
|
+
children: e
|
|
253
|
+
});
|
|
254
|
+
}
|
|
255
|
+
function de() {
|
|
256
|
+
return /* @__PURE__ */ K(j, { children: /* @__PURE__ */ K(W, {
|
|
257
|
+
client: Q,
|
|
258
|
+
children: /* @__PURE__ */ K(t, { children: /* @__PURE__ */ K(ue, { children: /* @__PURE__ */ K(le, {}) }) })
|
|
259
|
+
}) });
|
|
260
|
+
}
|
|
261
|
+
//#endregion
|
|
262
|
+
export { de as App };
|
|
@@ -0,0 +1,116 @@
|
|
|
1
|
+
import { useSchema as e } from "../../hooks/useSchema.js";
|
|
2
|
+
import { Icon as t } from "../primitives/Icons.js";
|
|
3
|
+
import { Btn as n } from "../primitives/Btn.js";
|
|
4
|
+
import { IconBtn as r } from "../primitives/IconBtn.js";
|
|
5
|
+
import { useText as i } from "../../hooks/useText.js";
|
|
6
|
+
import { DynamicIcon as a } from "../shared/DynamicIcon.js";
|
|
7
|
+
import { buildActionBody as o, executeAction as s, resolveAssociation as c } from "../../api/data.js";
|
|
8
|
+
import { failureTitle as l } from "../../lib/failure.js";
|
|
9
|
+
import { useTabNavigate as u } from "../../hooks/useTabNavigate.js";
|
|
10
|
+
import { toast as d } from "../../lib/toast.js";
|
|
11
|
+
import { evaluateConditions as f, findListScreenForEntity as p, isAssociationAction as m, rowDetailId as h } from "../../lib/actions.js";
|
|
12
|
+
import { useActionRunner as g } from "./ActionRunner.js";
|
|
13
|
+
import { executeUISteps as _, isUIAction as v } from "../../lib/ui-actions.js";
|
|
14
|
+
import { useCallback as y, useState as b } from "react";
|
|
15
|
+
import { jsx as x } from "react/jsx-runtime";
|
|
16
|
+
//#region src/components/actions/ActionButton.tsx
|
|
17
|
+
function S({ actionCode: S, action: C, entityCode: w, objectIds: T = [], row: E, variant: D = "outline", size: O = "default", onSuccess: k }) {
|
|
18
|
+
let A = i(), j = i("errors"), [M, N] = b(!1), [P, F] = b(!1), { data: I } = e(), L = u(), { run: R } = g(), z = m(C), B = !E || f(C.conditions, E), V = y(async () => {
|
|
19
|
+
if (C.association && T.length !== 0) {
|
|
20
|
+
N(!0);
|
|
21
|
+
try {
|
|
22
|
+
let e = w ? `${w}.${C.association}` : C.association, t = await c(e, T), n = p(I, t.target_entity);
|
|
23
|
+
if (!n) {
|
|
24
|
+
d.error(j("action.list_screen_missing", "No list screen is declared for this entity."), t.target_entity);
|
|
25
|
+
return;
|
|
26
|
+
}
|
|
27
|
+
let r = I?.entities[t.target_entity], i = A(C.display?.name) || t.target_entity;
|
|
28
|
+
if (t.ids.length === 0) {
|
|
29
|
+
d.info(A("action.association.none_related", "No related {name} found", { name: i }));
|
|
30
|
+
return;
|
|
31
|
+
}
|
|
32
|
+
let a = r?.fields.names().find((e) => r.fields.get(e)?.primary) ?? "id", o = new URLSearchParams();
|
|
33
|
+
o.set(`filter_${a}`, t.ids.join(",")), L(n.route, {
|
|
34
|
+
title: i,
|
|
35
|
+
icon: C.display?.icon || n.icon,
|
|
36
|
+
search: o.toString()
|
|
37
|
+
}), k?.();
|
|
38
|
+
} catch (e) {
|
|
39
|
+
d.error(l(j, e));
|
|
40
|
+
} finally {
|
|
41
|
+
N(!1);
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
}, [
|
|
45
|
+
A,
|
|
46
|
+
j,
|
|
47
|
+
C,
|
|
48
|
+
w,
|
|
49
|
+
T,
|
|
50
|
+
I,
|
|
51
|
+
L,
|
|
52
|
+
k
|
|
53
|
+
]), H = C.entity ? `${C.entity}.${S}` : S, U = T.length > 0 ? T : void 0, W = y(() => {
|
|
54
|
+
F(!0), R({
|
|
55
|
+
action: C,
|
|
56
|
+
title: A(C.display?.name) || S,
|
|
57
|
+
row: E,
|
|
58
|
+
entity: w,
|
|
59
|
+
execute: (e) => s(H, o(e, U)),
|
|
60
|
+
onSuccess: () => k?.()
|
|
61
|
+
}).finally(() => F(!1));
|
|
62
|
+
}, [
|
|
63
|
+
A,
|
|
64
|
+
R,
|
|
65
|
+
C,
|
|
66
|
+
S,
|
|
67
|
+
E,
|
|
68
|
+
w,
|
|
69
|
+
H,
|
|
70
|
+
U,
|
|
71
|
+
k
|
|
72
|
+
]), G = y(() => {
|
|
73
|
+
if (v(C)) _(j, C.ui_steps, { row: E }).then(() => k?.());
|
|
74
|
+
else if (z) V();
|
|
75
|
+
else if (C.href && !C.handler && !C.association) {
|
|
76
|
+
let e = w ? I?.entities[w] : void 0, t = h(E, e), n = C.href;
|
|
77
|
+
w && (n = n.replaceAll("${entity}", w)), t && (n = n.replaceAll("${id}", encodeURIComponent(t))), L(n, {
|
|
78
|
+
title: A(C.display?.name) || S,
|
|
79
|
+
icon: C.display?.icon
|
|
80
|
+
}), k?.();
|
|
81
|
+
} else W();
|
|
82
|
+
}, [
|
|
83
|
+
A,
|
|
84
|
+
j,
|
|
85
|
+
C,
|
|
86
|
+
E,
|
|
87
|
+
w,
|
|
88
|
+
I?.entities,
|
|
89
|
+
S,
|
|
90
|
+
L,
|
|
91
|
+
z,
|
|
92
|
+
V,
|
|
93
|
+
W,
|
|
94
|
+
k
|
|
95
|
+
]), K = A(C.display?.name), q = C.display?.icon, J = q && t[q], Y = J ? /* @__PURE__ */ x(J, { size: 13 }) : q ? /* @__PURE__ */ x(a, {
|
|
96
|
+
name: q,
|
|
97
|
+
size: 13
|
|
98
|
+
}) : null, X = !B || P || M;
|
|
99
|
+
return O === "icon" ? /* @__PURE__ */ x(r, {
|
|
100
|
+
icon: Y ?? /* @__PURE__ */ x(t.bolt, { size: 13 }),
|
|
101
|
+
onClick: G,
|
|
102
|
+
title: K
|
|
103
|
+
}) : /* @__PURE__ */ x(n, {
|
|
104
|
+
kind: D === "default" ? "primary" : D === "ghost" ? "ghost" : "default",
|
|
105
|
+
size: "sm",
|
|
106
|
+
icon: Y,
|
|
107
|
+
danger: C.destructive,
|
|
108
|
+
onClick: G,
|
|
109
|
+
disabled: X,
|
|
110
|
+
title: K,
|
|
111
|
+
"aria-label": K,
|
|
112
|
+
children: K
|
|
113
|
+
});
|
|
114
|
+
}
|
|
115
|
+
//#endregion
|
|
116
|
+
export { S as ActionButton };
|
|
@@ -1,7 +1,17 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
1
|
+
import { coerceDisplayString as e } from "../../lib/display-value.js";
|
|
2
|
+
import { normalizeRefConfig as t } from "../../types/schema.js";
|
|
3
|
+
import { useSchema as n } from "../../hooks/useSchema.js";
|
|
4
|
+
import { Icon as r } from "../primitives/Icons.js";
|
|
5
|
+
import { Btn as i } from "../primitives/Btn.js";
|
|
6
|
+
import { IconBtn as a } from "../primitives/IconBtn.js";
|
|
7
|
+
import { useText as o } from "../../hooks/useText.js";
|
|
8
|
+
import { Spinner as s } from "../primitives/Spinner.js";
|
|
9
|
+
import { FieldLabel as c, Select as l } from "../primitives/Fields.js";
|
|
10
|
+
import { actionConfirmMessage as u } from "../../lib/actions.js";
|
|
11
|
+
import { renderField as d } from "../fields/index.js";
|
|
12
|
+
import { interpolate as f } from "../../lib/ui-actions.js";
|
|
13
|
+
import { useUnsavedInput as p } from "../../hooks/useUnsavedInput.js";
|
|
14
|
+
import { PropertyGridEditor as m } from "./PropertyGridEditor.js";
|
|
5
15
|
import { useCallback as h, useEffect as g, useMemo as _, useRef as v, useState as y } from "react";
|
|
6
16
|
import { Fragment as b, jsx as x, jsxs as S } from "react/jsx-runtime";
|
|
7
17
|
//#region src/components/actions/ActionDialog.tsx
|
|
@@ -20,7 +30,7 @@ function w(e, t) {
|
|
|
20
30
|
}
|
|
21
31
|
return i === void 0 ? ((t == null || !(r[0] in t)) && typeof console < "u" && console.warn && console.warn(`ActionDialog: prefill template ${e} could not be resolved; row is missing field '${r[0]}'`), "") : i ?? "";
|
|
22
32
|
}
|
|
23
|
-
return
|
|
33
|
+
return f(e, { row: t });
|
|
24
34
|
}
|
|
25
35
|
function T(e) {
|
|
26
36
|
return {
|
|
@@ -33,13 +43,13 @@ function T(e) {
|
|
|
33
43
|
enum: e.enum,
|
|
34
44
|
values: e.values,
|
|
35
45
|
structure: e.structure,
|
|
36
|
-
ref:
|
|
46
|
+
ref: t(e.ref)
|
|
37
47
|
};
|
|
38
48
|
}
|
|
39
|
-
function E(
|
|
40
|
-
if (!
|
|
41
|
-
let
|
|
42
|
-
return
|
|
49
|
+
function E(t, n) {
|
|
50
|
+
if (!t.includes("${")) return t;
|
|
51
|
+
let r = f(t, { params: n });
|
|
52
|
+
return r == null ? "" : e(r);
|
|
43
53
|
}
|
|
44
54
|
var D = /\$\{\s*([^}]+?)\s*\}/g;
|
|
45
55
|
function O(e, t) {
|
|
@@ -48,66 +58,66 @@ function O(e, t) {
|
|
|
48
58
|
return !1;
|
|
49
59
|
}
|
|
50
60
|
function k({ param: e, value: t, onChange: n, statusGroups: r }) {
|
|
51
|
-
let
|
|
61
|
+
let i = o(), a = _(() => {
|
|
52
62
|
let t = r ? Object.entries(r) : [];
|
|
53
63
|
return [{
|
|
54
64
|
value: "",
|
|
55
|
-
label: e.required ?
|
|
65
|
+
label: e.required ? i("action.dialog.select_status_group", "Select status group…") : "—"
|
|
56
66
|
}, ...t.map(([e, t]) => ({
|
|
57
67
|
value: e,
|
|
58
|
-
label:
|
|
68
|
+
label: i(t.name) || e
|
|
59
69
|
}))];
|
|
60
70
|
}, [
|
|
61
|
-
|
|
71
|
+
i,
|
|
62
72
|
r,
|
|
63
73
|
e.required
|
|
64
74
|
]);
|
|
65
|
-
return /* @__PURE__ */ x(
|
|
75
|
+
return /* @__PURE__ */ x(l, {
|
|
66
76
|
value: typeof t == "string" ? t : "",
|
|
67
|
-
options:
|
|
77
|
+
options: a,
|
|
68
78
|
onChange: (e) => n(e),
|
|
69
|
-
placeholder:
|
|
79
|
+
placeholder: i("action.dialog.select_status_group", "Select status group…")
|
|
70
80
|
});
|
|
71
81
|
}
|
|
72
|
-
function A({ param: e, value: t, onChange: n, statusGroups: r, formData:
|
|
73
|
-
let
|
|
82
|
+
function A({ param: e, value: t, onChange: n, statusGroups: r, formData: i }) {
|
|
83
|
+
let a = o(), s = _(() => {
|
|
74
84
|
if (!r) return [];
|
|
75
85
|
let t = e.filter?.status_group;
|
|
76
86
|
if (t) {
|
|
77
|
-
let e = E(t,
|
|
87
|
+
let e = E(t, i);
|
|
78
88
|
return e && r[e] ? r[e].statuses : [];
|
|
79
89
|
}
|
|
80
90
|
return Object.values(r).flatMap((e) => e.statuses);
|
|
81
91
|
}, [
|
|
82
92
|
r,
|
|
83
93
|
e.filter,
|
|
84
|
-
|
|
94
|
+
i
|
|
85
95
|
]), c = _(() => [{
|
|
86
96
|
value: "",
|
|
87
|
-
label: s.length === 0 ?
|
|
97
|
+
label: s.length === 0 ? a("action.dialog.select_status_group_first", "Select status group first") : a("action.dialog.select_status", "Select status…")
|
|
88
98
|
}, ...s.map((e) => ({
|
|
89
99
|
value: e.code,
|
|
90
|
-
label:
|
|
91
|
-
}))], [
|
|
92
|
-
return /* @__PURE__ */ x(
|
|
100
|
+
label: a(e.name) || e.code
|
|
101
|
+
}))], [a, s]);
|
|
102
|
+
return /* @__PURE__ */ x(l, {
|
|
93
103
|
value: typeof t == "string" ? t : "",
|
|
94
104
|
options: c,
|
|
95
105
|
onChange: (e) => n(e),
|
|
96
|
-
placeholder:
|
|
106
|
+
placeholder: a("action.dialog.select_status", "Select status…")
|
|
97
107
|
});
|
|
98
108
|
}
|
|
99
|
-
function j({ open:
|
|
100
|
-
let M =
|
|
101
|
-
E ||
|
|
102
|
-
}, [E,
|
|
109
|
+
function j({ open: e, onOpenChange: t, action: l, actionName: f, onSubmit: C, isPending: E, row: D, bulkSelection: j }) {
|
|
110
|
+
let M = o(), { data: N } = n(), P = l.resolved_params, F = l.resolved_hidden_defaults ?? {}, I = !!l.destructive, L = u(M, l), R = h(() => {
|
|
111
|
+
E || t(!1);
|
|
112
|
+
}, [E, t]), z = v(null);
|
|
103
113
|
g(() => {
|
|
104
|
-
|
|
105
|
-
}, [
|
|
114
|
+
e && z.current?.focus();
|
|
115
|
+
}, [e]);
|
|
106
116
|
let B = _(() => P ? Array.from(P) : [], [P]), V = _(() => {
|
|
107
|
-
if (
|
|
108
|
-
}, [
|
|
109
|
-
if (
|
|
110
|
-
}, [
|
|
117
|
+
if (l.entity && N) return N.entities[l.entity]?.status_groups;
|
|
118
|
+
}, [l.entity, N]), H = _(() => {
|
|
119
|
+
if (l.entity && N) return N.entities[l.entity];
|
|
120
|
+
}, [l.entity, N]), U = _(() => {
|
|
111
121
|
if (H) {
|
|
112
122
|
for (let [e, t] of H.fields) if (t.primary) return e;
|
|
113
123
|
return H.primary_key?.[0];
|
|
@@ -127,7 +137,7 @@ function j({ open: n, onOpenChange: r, action: u, actionName: m, onSubmit: C, is
|
|
|
127
137
|
j,
|
|
128
138
|
U
|
|
129
139
|
]), [G] = y(W), [K, q] = y(G);
|
|
130
|
-
p(
|
|
140
|
+
p(e && JSON.stringify(K) !== JSON.stringify(G));
|
|
131
141
|
let J = h((e, t) => {
|
|
132
142
|
q((n) => {
|
|
133
143
|
let r = {
|
|
@@ -155,7 +165,7 @@ function j({ open: n, onOpenChange: r, action: u, actionName: m, onSubmit: C, is
|
|
|
155
165
|
B,
|
|
156
166
|
C
|
|
157
167
|
]);
|
|
158
|
-
return
|
|
168
|
+
return e ? /* @__PURE__ */ S(b, { children: [/* @__PURE__ */ x("div", {
|
|
159
169
|
onClick: R,
|
|
160
170
|
style: {
|
|
161
171
|
position: "fixed",
|
|
@@ -170,7 +180,7 @@ function j({ open: n, onOpenChange: r, action: u, actionName: m, onSubmit: C, is
|
|
|
170
180
|
role: "dialog",
|
|
171
181
|
"aria-modal": "true",
|
|
172
182
|
"aria-busy": E,
|
|
173
|
-
"aria-label":
|
|
183
|
+
"aria-label": f,
|
|
174
184
|
tabIndex: -1,
|
|
175
185
|
onKeyDown: (e) => {
|
|
176
186
|
e.key === "Escape" && R();
|
|
@@ -184,7 +194,7 @@ function j({ open: n, onOpenChange: r, action: u, actionName: m, onSubmit: C, is
|
|
|
184
194
|
width: "min(480px, calc(100vw - var(--safe-area-left) - var(--safe-area-right) - 16px))",
|
|
185
195
|
maxHeight: "calc(var(--app-height) - var(--safe-area-top) - var(--safe-area-bottom) - 16px)",
|
|
186
196
|
background: "var(--surface)",
|
|
187
|
-
borderRadius:
|
|
197
|
+
borderRadius: "var(--radius-lg)",
|
|
188
198
|
boxShadow: "var(--shadow-lg)",
|
|
189
199
|
border: "1px solid var(--border)",
|
|
190
200
|
overflow: "hidden",
|
|
@@ -207,7 +217,7 @@ function j({ open: n, onOpenChange: r, action: u, actionName: m, onSubmit: C, is
|
|
|
207
217
|
style: {
|
|
208
218
|
width: 28,
|
|
209
219
|
height: 28,
|
|
210
|
-
borderRadius:
|
|
220
|
+
borderRadius: "var(--radius-md)",
|
|
211
221
|
background: I ? "var(--danger-soft)" : "var(--accent-soft)",
|
|
212
222
|
color: I ? "var(--danger)" : "var(--accent)",
|
|
213
223
|
display: "inline-flex",
|
|
@@ -215,7 +225,7 @@ function j({ open: n, onOpenChange: r, action: u, actionName: m, onSubmit: C, is
|
|
|
215
225
|
justifyContent: "center",
|
|
216
226
|
flexShrink: 0
|
|
217
227
|
},
|
|
218
|
-
children: x(I ?
|
|
228
|
+
children: x(I ? r.trash : r.bolt, { size: 15 })
|
|
219
229
|
}),
|
|
220
230
|
/* @__PURE__ */ S("div", {
|
|
221
231
|
style: {
|
|
@@ -228,18 +238,18 @@ function j({ open: n, onOpenChange: r, action: u, actionName: m, onSubmit: C, is
|
|
|
228
238
|
fontWeight: 600,
|
|
229
239
|
color: "var(--text)"
|
|
230
240
|
},
|
|
231
|
-
children:
|
|
241
|
+
children: f
|
|
232
242
|
}), /* @__PURE__ */ x("div", {
|
|
233
243
|
style: {
|
|
234
244
|
fontSize: 11.5,
|
|
235
245
|
color: "var(--text-3)",
|
|
236
246
|
marginTop: 2
|
|
237
247
|
},
|
|
238
|
-
children: M(
|
|
248
|
+
children: M(l.display?.description) || (B.length > 0 ? M("action.dialog.params_hint", "Fill in the parameters below to execute this action.") : "")
|
|
239
249
|
})]
|
|
240
250
|
}),
|
|
241
|
-
/* @__PURE__ */ x(
|
|
242
|
-
icon: /* @__PURE__ */ x(
|
|
251
|
+
/* @__PURE__ */ x(a, {
|
|
252
|
+
icon: /* @__PURE__ */ x(r.x, { size: 14 }),
|
|
243
253
|
onClick: R
|
|
244
254
|
})
|
|
245
255
|
]
|
|
@@ -261,7 +271,7 @@ function j({ open: n, onOpenChange: r, action: u, actionName: m, onSubmit: C, is
|
|
|
261
271
|
color: "var(--text-2)",
|
|
262
272
|
background: I ? "var(--danger-soft)" : "var(--surface-2)",
|
|
263
273
|
border: "1px solid var(--divider)",
|
|
264
|
-
borderRadius:
|
|
274
|
+
borderRadius: "var(--radius-md)",
|
|
265
275
|
padding: "10px 12px"
|
|
266
276
|
},
|
|
267
277
|
children: L
|
|
@@ -284,7 +294,7 @@ function j({ open: n, onOpenChange: r, action: u, actionName: m, onSubmit: C, is
|
|
|
284
294
|
let r;
|
|
285
295
|
if (t.type === "entity_patch") {
|
|
286
296
|
let n = typeof t.filter?.targets == "string" ? t.filter.targets : void 0;
|
|
287
|
-
r = /* @__PURE__ */ x(
|
|
297
|
+
r = /* @__PURE__ */ x(m, {
|
|
288
298
|
entity: H,
|
|
289
299
|
filterTargets: n,
|
|
290
300
|
selectedRows: j,
|
|
@@ -319,7 +329,7 @@ function j({ open: n, onOpenChange: r, action: u, actionName: m, onSubmit: C, is
|
|
|
319
329
|
return /* @__PURE__ */ S("div", {
|
|
320
330
|
style: { minWidth: 0 },
|
|
321
331
|
children: [
|
|
322
|
-
/* @__PURE__ */ x(
|
|
332
|
+
/* @__PURE__ */ x(c, {
|
|
323
333
|
required: t.required,
|
|
324
334
|
children: n
|
|
325
335
|
}),
|
|
@@ -352,18 +362,18 @@ function j({ open: n, onOpenChange: r, action: u, actionName: m, onSubmit: C, is
|
|
|
352
362
|
},
|
|
353
363
|
children: [
|
|
354
364
|
/* @__PURE__ */ x("div", { style: { flex: 1 } }),
|
|
355
|
-
/* @__PURE__ */ x(
|
|
365
|
+
/* @__PURE__ */ x(i, {
|
|
356
366
|
onClick: R,
|
|
357
367
|
disabled: E,
|
|
358
368
|
children: M("dialog.cancel", "Cancel")
|
|
359
369
|
}),
|
|
360
|
-
/* @__PURE__ */ x(
|
|
370
|
+
/* @__PURE__ */ x(i, {
|
|
361
371
|
kind: "primary",
|
|
362
372
|
danger: I,
|
|
363
|
-
icon: x(E ?
|
|
373
|
+
icon: x(E ? s : I ? r.trash : r.bolt, { size: 13 }),
|
|
364
374
|
onClick: Y,
|
|
365
375
|
disabled: E,
|
|
366
|
-
children: E ? M("action.dialog.working", "Working…") :
|
|
376
|
+
children: E ? M("action.dialog.working", "Working…") : f || M("dialog.confirm", "Confirm")
|
|
367
377
|
})
|
|
368
378
|
]
|
|
369
379
|
})
|