@declarion/react 0.65.0 → 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
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { useSchema as e } from "./useSchema.js";
|
|
2
|
+
import { createContext as t, useContext as n, useMemo as r } from "react";
|
|
3
|
+
import { jsx as i } from "react/jsx-runtime";
|
|
4
|
+
//#region src/hooks/useCurrentScreen.tsx
|
|
5
|
+
var a = t(void 0);
|
|
6
|
+
function o({ code: t, children: n }) {
|
|
7
|
+
let { data: o } = e(), s = r(() => ({
|
|
8
|
+
code: t,
|
|
9
|
+
screen: o?.screens[t]
|
|
10
|
+
}), [t, o]);
|
|
11
|
+
return /* @__PURE__ */ i(a.Provider, {
|
|
12
|
+
value: s,
|
|
13
|
+
children: n
|
|
14
|
+
});
|
|
15
|
+
}
|
|
16
|
+
function s() {
|
|
17
|
+
return n(a);
|
|
18
|
+
}
|
|
19
|
+
//#endregion
|
|
20
|
+
export { o as CurrentScreenProvider, s as useCurrentScreen };
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
import { EntityClient as e } from "../api/entities.js";
|
|
2
|
+
import { useEffect as t, useMemo as n } from "react";
|
|
3
|
+
import { useInfiniteQuery as r, useQueryClient as i } from "@tanstack/react-query";
|
|
4
|
+
//#region src/hooks/useCursorEntityData.ts
|
|
5
|
+
var a = "entity-data-cursor";
|
|
6
|
+
function o(e) {
|
|
7
|
+
return JSON.stringify({
|
|
8
|
+
sort: e.sort,
|
|
9
|
+
filters: e.filters,
|
|
10
|
+
search: e.search,
|
|
11
|
+
select: e.select,
|
|
12
|
+
expand: e.expand,
|
|
13
|
+
includeDeleted: e.includeDeleted,
|
|
14
|
+
screen: e.screen,
|
|
15
|
+
preview: e.preview,
|
|
16
|
+
limit: e.limit
|
|
17
|
+
});
|
|
18
|
+
}
|
|
19
|
+
function s(e, t) {
|
|
20
|
+
return [
|
|
21
|
+
a,
|
|
22
|
+
e,
|
|
23
|
+
o(t)
|
|
24
|
+
];
|
|
25
|
+
}
|
|
26
|
+
function c(s, c, l) {
|
|
27
|
+
let u = i(), d = n(() => new e(s ?? ""), [s]), f = n(() => o(c), [c]), p = n(() => [
|
|
28
|
+
a,
|
|
29
|
+
s,
|
|
30
|
+
f
|
|
31
|
+
], [s, f]), m = r({
|
|
32
|
+
queryKey: p,
|
|
33
|
+
queryFn: ({ pageParam: e }) => d.list({
|
|
34
|
+
sort: c.sort,
|
|
35
|
+
filters: c.filters,
|
|
36
|
+
search: c.search,
|
|
37
|
+
select: c.select,
|
|
38
|
+
expand: c.expand,
|
|
39
|
+
include_deleted: c.includeDeleted || void 0,
|
|
40
|
+
screen: c.screen,
|
|
41
|
+
preview: c.preview,
|
|
42
|
+
limit: c.limit,
|
|
43
|
+
after: e ?? void 0,
|
|
44
|
+
count: !e || void 0
|
|
45
|
+
}),
|
|
46
|
+
getNextPageParam: (e) => e.meta?.has_more ? e.meta.cursor : void 0,
|
|
47
|
+
initialPageParam: void 0,
|
|
48
|
+
enabled: !!s && l,
|
|
49
|
+
placeholderData: (e, t) => t?.queryKey?.[1] === s ? e : void 0
|
|
50
|
+
}), h = m.data?.pages, g = h && h.length > 1 ? h[h.length - 1]?.reset : !1;
|
|
51
|
+
t(() => {
|
|
52
|
+
g && u.resetQueries({ queryKey: p });
|
|
53
|
+
}, [
|
|
54
|
+
g,
|
|
55
|
+
u,
|
|
56
|
+
p
|
|
57
|
+
]);
|
|
58
|
+
let _ = n(() => (m.data?.pages ?? []).flatMap((e) => e.data), [m.data?.pages]), v = m.data?.pages?.[0]?.meta;
|
|
59
|
+
return {
|
|
60
|
+
rows: _,
|
|
61
|
+
refs: m.data?.pages?.[m.data.pages.length - 1]?.$refs,
|
|
62
|
+
total: v && !v.count_unknown ? v.total : void 0,
|
|
63
|
+
countMode: v?.count_mode,
|
|
64
|
+
countUnknown: v?.count_unknown ?? !1,
|
|
65
|
+
hasMore: m.hasNextPage,
|
|
66
|
+
fetchNextPage: m.fetchNextPage,
|
|
67
|
+
isFetchingNextPage: m.isFetchingNextPage,
|
|
68
|
+
isLoading: m.isLoading,
|
|
69
|
+
isFetching: m.isFetching,
|
|
70
|
+
isPlaceholderData: m.isPlaceholderData,
|
|
71
|
+
isError: m.isError,
|
|
72
|
+
error: m.error,
|
|
73
|
+
refetch: m.refetch
|
|
74
|
+
};
|
|
75
|
+
}
|
|
76
|
+
//#endregion
|
|
77
|
+
export { a as CURSOR_ENTITY_DATA_KEY, s as cursorEntityDataQueryKey, o as cursorEntityStableKey, c as useCursorEntityData };
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { useEffect as e, useState as t } from "react";
|
|
2
|
+
//#region src/hooks/useDebounce.ts
|
|
3
|
+
function n(n, r) {
|
|
4
|
+
let [i, a] = t(n);
|
|
5
|
+
return e(() => {
|
|
6
|
+
let e = setTimeout(() => a(n), r);
|
|
7
|
+
return () => clearTimeout(e);
|
|
8
|
+
}, [n, r]), i;
|
|
9
|
+
}
|
|
10
|
+
//#endregion
|
|
11
|
+
export { n as useDebounce };
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
import { listEntities as e } from "../api/data.js";
|
|
2
|
+
import { useQuery as t } from "@tanstack/react-query";
|
|
3
|
+
//#region src/hooks/useEntityData.ts
|
|
4
|
+
function n(e, t) {
|
|
5
|
+
return [
|
|
6
|
+
"entity-data",
|
|
7
|
+
e,
|
|
8
|
+
{
|
|
9
|
+
...t,
|
|
10
|
+
count: "window"
|
|
11
|
+
}
|
|
12
|
+
];
|
|
13
|
+
}
|
|
14
|
+
function r(t, r) {
|
|
15
|
+
let i = n(t, r), a = i[2];
|
|
16
|
+
return {
|
|
17
|
+
queryKey: i,
|
|
18
|
+
queryFn: ({ signal: n }) => e(t, a, { signal: n })
|
|
19
|
+
};
|
|
20
|
+
}
|
|
21
|
+
function i(e, n, i = !0) {
|
|
22
|
+
let { queryKey: o, queryFn: s } = r(e ?? "", n), c = o[2];
|
|
23
|
+
return t({
|
|
24
|
+
queryKey: o,
|
|
25
|
+
queryFn: s,
|
|
26
|
+
enabled: !!e && i,
|
|
27
|
+
placeholderData: (t, n) => {
|
|
28
|
+
if (n?.queryKey?.[1] !== e) return;
|
|
29
|
+
let r = n?.queryKey?.[2];
|
|
30
|
+
return a(r, c) ? t : void 0;
|
|
31
|
+
}
|
|
32
|
+
});
|
|
33
|
+
}
|
|
34
|
+
function a(e, t) {
|
|
35
|
+
return e ? JSON.stringify(e.filters ?? null) === JSON.stringify(t.filters ?? null) && (e.search ?? "") === (t.search ?? "") && (e.screen ?? "") === (t.screen ?? "") && !!e.include_deleted == !!t.include_deleted : !1;
|
|
36
|
+
}
|
|
37
|
+
function o(e, t) {
|
|
38
|
+
return [
|
|
39
|
+
"entity-count",
|
|
40
|
+
e,
|
|
41
|
+
{
|
|
42
|
+
...t,
|
|
43
|
+
count: "only",
|
|
44
|
+
page: void 0,
|
|
45
|
+
per_page: void 0,
|
|
46
|
+
sort: void 0,
|
|
47
|
+
select: void 0,
|
|
48
|
+
expand: void 0
|
|
49
|
+
}
|
|
50
|
+
];
|
|
51
|
+
}
|
|
52
|
+
function s(n, r, i = !0) {
|
|
53
|
+
let a = o(n, r), s = a[2];
|
|
54
|
+
return t({
|
|
55
|
+
queryKey: a,
|
|
56
|
+
queryFn: ({ signal: t }) => e(n, s, { signal: t }),
|
|
57
|
+
enabled: !!n && i,
|
|
58
|
+
retry: 1,
|
|
59
|
+
staleTime: 3e4,
|
|
60
|
+
placeholderData: (e, t) => t?.queryKey?.[1] === n ? e : void 0
|
|
61
|
+
});
|
|
62
|
+
}
|
|
63
|
+
//#endregion
|
|
64
|
+
export { o as entityCountQueryKey, n as entityDataQueryKey, r as entityDataQueryOptions, s as useEntityCount, i as useEntityData };
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { objectQueryKey as e } from "./useObject.js";
|
|
2
|
+
import { readFileReference as t } from "../api/fileReferences.js";
|
|
3
|
+
import { useQuery as n } from "@tanstack/react-query";
|
|
4
|
+
//#region src/hooks/useFileReferenceJSON.ts
|
|
5
|
+
function r(t, n, r, i) {
|
|
6
|
+
return [
|
|
7
|
+
"file-reference-json",
|
|
8
|
+
e(t, n),
|
|
9
|
+
r,
|
|
10
|
+
i ?? null
|
|
11
|
+
];
|
|
12
|
+
}
|
|
13
|
+
function i(e, i, a, o) {
|
|
14
|
+
let s = r(e, i, a, o);
|
|
15
|
+
return n({
|
|
16
|
+
queryKey: s,
|
|
17
|
+
queryFn: async ({ signal: n }) => {
|
|
18
|
+
let r = await (await t(e, i, a, { signal: n })).blob.text();
|
|
19
|
+
try {
|
|
20
|
+
return JSON.parse(r);
|
|
21
|
+
} catch (e) {
|
|
22
|
+
throw Error("The referenced file does not contain valid JSON.", { cause: e });
|
|
23
|
+
}
|
|
24
|
+
},
|
|
25
|
+
enabled: !!e && !!i && i !== "new" && !!a && typeof o == "string" && o !== ""
|
|
26
|
+
});
|
|
27
|
+
}
|
|
28
|
+
//#endregion
|
|
29
|
+
export { r as fileReferenceJSONQueryKey, i as useFileReferenceJSON };
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { useText as e } from "./useText.js";
|
|
2
|
+
import { countActiveFilters as t, parseFilterURLState as n, setFiltersInURL as r } from "../lib/filters.js";
|
|
3
|
+
import { useCallback as i, useMemo as a } from "react";
|
|
4
|
+
import { useSearchParams as o } from "react-router";
|
|
5
|
+
//#region src/hooks/useFilters.ts
|
|
6
|
+
var s = [];
|
|
7
|
+
function c({ defaults: c = s } = {}) {
|
|
8
|
+
let [l, u] = o(), d = e("errors"), f = a(() => n(l), [l]), p = f.error === null && l.get("filters") !== null ? f.filters : c, m = a(() => t(p), [p]), h = i((e) => {
|
|
9
|
+
let t = new URLSearchParams(l);
|
|
10
|
+
r(e, t, c), t.set("page", "1"), u(t);
|
|
11
|
+
}, [
|
|
12
|
+
l,
|
|
13
|
+
u,
|
|
14
|
+
c
|
|
15
|
+
]), g = i(() => {
|
|
16
|
+
let e = new URLSearchParams(l);
|
|
17
|
+
e.delete("filters"), e.set("page", "1"), u(e);
|
|
18
|
+
}, [l, u]);
|
|
19
|
+
return {
|
|
20
|
+
filters: p,
|
|
21
|
+
filterError: f.error === null ? null : d(f.errorCode ?? "", f.error),
|
|
22
|
+
activeCount: m,
|
|
23
|
+
setFilters: h,
|
|
24
|
+
clearFilters: g
|
|
25
|
+
};
|
|
26
|
+
}
|
|
27
|
+
//#endregion
|
|
28
|
+
export { c as useFilters };
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
import { getDisplayValue as e, screenTitleForPath as t } from "../types/schema.js";
|
|
2
|
+
import { useEmbed as n } from "../embed/EmbedContext.js";
|
|
3
|
+
import { useAuthStore as r } from "../stores/auth.js";
|
|
4
|
+
import { useSchema as i } from "./useSchema.js";
|
|
5
|
+
import { useText as a } from "./useText.js";
|
|
6
|
+
import { getEntity as o } from "../api/data.js";
|
|
7
|
+
import { isSameOriginPath as s, useTabStore as c } from "../stores/tabs.js";
|
|
8
|
+
import { stripLeadingQuestion as l } from "../lib/screen-back.js";
|
|
9
|
+
import { resolveTabTarget as u, useTabNavigate as d } from "./useTabNavigate.js";
|
|
10
|
+
import { useEntity as f } from "./useEntity.js";
|
|
11
|
+
import { toast as p } from "../lib/toast.js";
|
|
12
|
+
import { AGENT_MESSAGE_CHANGED_EVENT as m, agentBus as h, eventStreamFirstOpenedAt as g } from "../api/events.js";
|
|
13
|
+
import { locationFor as _ } from "./useCurrentLocation.js";
|
|
14
|
+
import { sharedWindowElection as v } from "../lib/window-election.js";
|
|
15
|
+
import { useCallback as y, useEffect as b, useRef as x } from "react";
|
|
16
|
+
//#region src/hooks/useFollowAgentOpen.ts
|
|
17
|
+
var S = "ui.open";
|
|
18
|
+
function C(e) {
|
|
19
|
+
let t = e.result;
|
|
20
|
+
return typeof t?.path == "string" && s(t.path) ? t.path : void 0;
|
|
21
|
+
}
|
|
22
|
+
function w(e, t) {
|
|
23
|
+
return e.requester_user_id === t.id && (e.real_user_id ?? null) === (t.impersonation?.real_user_id ?? null);
|
|
24
|
+
}
|
|
25
|
+
async function T(t, n, r) {
|
|
26
|
+
let i = _(n, r?.screens), a = i?.record ? r?.screens?.[i.screen]?.entity : void 0, s = a ? r?.entities?.[a] : void 0;
|
|
27
|
+
if (i?.record && a && s) try {
|
|
28
|
+
let n = await o(a, i.record), r = e(t, n.data, s);
|
|
29
|
+
return r && !String(r).startsWith("/") ? String(r) : void 0;
|
|
30
|
+
} catch {
|
|
31
|
+
return;
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
function E(e) {
|
|
35
|
+
let t = g(), n = Date.parse(e.updated_at ?? "");
|
|
36
|
+
return t !== void 0 && !Number.isNaN(n) && n < t;
|
|
37
|
+
}
|
|
38
|
+
function D() {
|
|
39
|
+
let e = n(), s = f("agent_tool_invocation") !== void 0, g = !e.enabled && s, _ = d(), D = a(), { data: O } = i(), k = x(/* @__PURE__ */ new Set()), A = y(async (e) => {
|
|
40
|
+
let n;
|
|
41
|
+
try {
|
|
42
|
+
n = (await o("agent_tool_invocation", e)).data;
|
|
43
|
+
} catch (e) {
|
|
44
|
+
console.warn("agent_tool_invocation read failed; the opened screen is not followed", e);
|
|
45
|
+
return;
|
|
46
|
+
}
|
|
47
|
+
if (k.current.has(e)) return;
|
|
48
|
+
let i = n.tool_code === S;
|
|
49
|
+
if (i && n.status !== "succeeded" || (k.current.add(e), E(n))) return;
|
|
50
|
+
let a = C(n), s = r.getState().user;
|
|
51
|
+
if (!i || !a || !s || !w(n, s) || !v().isElected(n.conversation_id)) return;
|
|
52
|
+
let d = c.getState();
|
|
53
|
+
if (!d.tabs.find((e) => e.id === d.activeTabId)?.dirty) {
|
|
54
|
+
_(a);
|
|
55
|
+
return;
|
|
56
|
+
}
|
|
57
|
+
let { pathname: f, search: m } = u(a), h = t(D, f, O?.screens, O?.entities), g = await T(D, f, O), y = g ?? h?.title ?? f;
|
|
58
|
+
d.openTab({
|
|
59
|
+
pathname: f,
|
|
60
|
+
search: l(m),
|
|
61
|
+
title: y,
|
|
62
|
+
derivedTitle: g === void 0,
|
|
63
|
+
icon: h?.icon,
|
|
64
|
+
closable: !0
|
|
65
|
+
}, { activate: !1 }), p.info(D("shell.tabs.agent_opened.title", "{screen} is open in a background tab", { screen: y }), void 0, { action: {
|
|
66
|
+
label: D("shell.tabs.agent_opened.go", "Go there"),
|
|
67
|
+
onClick: () => _(a)
|
|
68
|
+
} });
|
|
69
|
+
}, [
|
|
70
|
+
_,
|
|
71
|
+
D,
|
|
72
|
+
O
|
|
73
|
+
]);
|
|
74
|
+
b(() => {
|
|
75
|
+
if (!g) return;
|
|
76
|
+
let e = (e) => {
|
|
77
|
+
let t = e.detail;
|
|
78
|
+
t.entity !== "agent_tool_invocation" || k.current.has(t.rowId) || (v().mayBeElected() ? A(t.rowId) : k.current.add(t.rowId));
|
|
79
|
+
};
|
|
80
|
+
return h.addEventListener(m, e), () => h.removeEventListener(m, e);
|
|
81
|
+
}, [g, A]);
|
|
82
|
+
}
|
|
83
|
+
//#endregion
|
|
84
|
+
export { D as useFollowAgentOpen };
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import { impersonationRevoke as e, impersonationStart as t, impersonationStop as n } from "../api/auth.js";
|
|
2
|
+
import { useAuthStore as r } from "../stores/auth.js";
|
|
3
|
+
import { reresolveLanguage as i } from "./useLanguage.js";
|
|
4
|
+
import { useText as a } from "./useText.js";
|
|
5
|
+
import { failureTitle as o } from "../lib/failure.js";
|
|
6
|
+
import { toast as s } from "../lib/toast.js";
|
|
7
|
+
import { useMutation as c, useQueryClient as l } from "@tanstack/react-query";
|
|
8
|
+
//#region src/hooks/useImpersonation.ts
|
|
9
|
+
function u() {
|
|
10
|
+
let u = r((e) => e.user), d = r((e) => e.reloadSession), f = l(), p = a(), m = a("errors"), h = u?.impersonation ?? null, g = !!h, _ = c({
|
|
11
|
+
mutationFn: ({ targetUserId: e, reason: n, durationMinutes: r }) => t(e, n, r),
|
|
12
|
+
onSuccess: async () => {
|
|
13
|
+
await d(), await i(f), f.invalidateQueries(), s.success(p("toast.impersonation.started", "Impersonation session started."));
|
|
14
|
+
},
|
|
15
|
+
onError: (e) => s.error(o(m, e))
|
|
16
|
+
}), v = c({
|
|
17
|
+
mutationFn: () => n(),
|
|
18
|
+
onSuccess: async () => {
|
|
19
|
+
await d(), await i(f), f.invalidateQueries(), s.success(p("toast.impersonation.returned", "Returned to your own session."));
|
|
20
|
+
},
|
|
21
|
+
onError: (e) => s.error(o(m, e))
|
|
22
|
+
}), y = c({
|
|
23
|
+
mutationFn: (t) => e(t),
|
|
24
|
+
onSuccess: () => {
|
|
25
|
+
s.success(p("toast.impersonation.revoke_done", "Session revoked.")), f.invalidateQueries({ queryKey: ["impersonation_session"] });
|
|
26
|
+
},
|
|
27
|
+
onError: (e) => s.error(o(m, e))
|
|
28
|
+
});
|
|
29
|
+
return {
|
|
30
|
+
info: h,
|
|
31
|
+
isImpersonating: g,
|
|
32
|
+
start: _.mutate,
|
|
33
|
+
stop: v.mutate,
|
|
34
|
+
revoke: y.mutate,
|
|
35
|
+
isStarting: _.isPending,
|
|
36
|
+
isStopping: v.isPending
|
|
37
|
+
};
|
|
38
|
+
}
|
|
39
|
+
//#endregion
|
|
40
|
+
export { u as useImpersonation };
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import { useAuthStore as e } from "../stores/auth.js";
|
|
2
|
+
import { useSchema as t } from "./useSchema.js";
|
|
3
|
+
import { entityDataQueryOptions as n } from "./useEntityData.js";
|
|
4
|
+
import { savedViewsParams as r } from "./useViews.js";
|
|
5
|
+
import { useCallback as i, useEffect as a, useMemo as o, useRef as s } from "react";
|
|
6
|
+
import { useQueryClient as c } from "@tanstack/react-query";
|
|
7
|
+
function l(e, t) {
|
|
8
|
+
if (!e || !t) return;
|
|
9
|
+
let n = new URL(t, "http://declarion.invalid").pathname;
|
|
10
|
+
for (let [t, r] of Object.entries(e.screens ?? {})) if (r.type === "list" && r.route === n) return t;
|
|
11
|
+
}
|
|
12
|
+
function u(u) {
|
|
13
|
+
let d = c(), { data: f } = t(), p = e((e) => e.user?.id), m = s(void 0), h = i(() => {
|
|
14
|
+
let e = l(f, u);
|
|
15
|
+
e && f?.entities?.view && d.prefetchQuery(n("view", r(e, p)));
|
|
16
|
+
}, [
|
|
17
|
+
d,
|
|
18
|
+
f,
|
|
19
|
+
u,
|
|
20
|
+
p
|
|
21
|
+
]), g = i(() => {
|
|
22
|
+
clearTimeout(m.current), m.current = void 0;
|
|
23
|
+
}, []), _ = i(() => {
|
|
24
|
+
g(), m.current = setTimeout(h, 50);
|
|
25
|
+
}, [g, h]);
|
|
26
|
+
return a(() => g, [g]), o(() => ({
|
|
27
|
+
onPointerEnter: (e) => {
|
|
28
|
+
e.pointerType !== "touch" && _();
|
|
29
|
+
},
|
|
30
|
+
onPointerLeave: g,
|
|
31
|
+
onPointerDown: (e) => {
|
|
32
|
+
e.pointerType === "mouse" && (g(), h());
|
|
33
|
+
},
|
|
34
|
+
onFocus: () => _(),
|
|
35
|
+
onBlur: g
|
|
36
|
+
}), [
|
|
37
|
+
_,
|
|
38
|
+
g,
|
|
39
|
+
h
|
|
40
|
+
]);
|
|
41
|
+
}
|
|
42
|
+
//#endregion
|
|
43
|
+
export { l as listScreenAt, u as useIntentPrefetch };
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { currentPublishedLanguage as e, publishLanguage as t } from "../api/client.js";
|
|
2
|
+
import { useSchema as n } from "./useSchema.js";
|
|
3
|
+
import "../lib/language.js";
|
|
4
|
+
//#region src/hooks/useLanguage.ts
|
|
5
|
+
function r() {
|
|
6
|
+
let { data: e } = n();
|
|
7
|
+
return e?.language || "en";
|
|
8
|
+
}
|
|
9
|
+
function i() {
|
|
10
|
+
let { data: e } = n();
|
|
11
|
+
return e?.deployment_language || "en";
|
|
12
|
+
}
|
|
13
|
+
async function a(n) {
|
|
14
|
+
let r = e();
|
|
15
|
+
t(null), await n.refetchQueries({
|
|
16
|
+
queryKey: ["schema"],
|
|
17
|
+
type: "active"
|
|
18
|
+
}), e() !== r && await n.invalidateQueries({ predicate: (e) => e.queryKey[0] !== "schema" });
|
|
19
|
+
}
|
|
20
|
+
//#endregion
|
|
21
|
+
export { a as reresolveLanguage, i as useDeploymentLanguage, r as useLanguage };
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { ApiError as e } from "../types/api.js";
|
|
2
|
+
import { useSchema as t } from "./useSchema.js";
|
|
3
|
+
import { withActionConditionFields as n } from "../lib/actions.js";
|
|
4
|
+
import { useScreenIsLive as r } from "../stores/realtime.js";
|
|
5
|
+
import { useObject as i } from "./useObject.js";
|
|
6
|
+
//#region src/hooks/useLiveObject.ts
|
|
7
|
+
function a(a, o) {
|
|
8
|
+
let s = i(a, o), { data: c } = t(), l = s.data?.data ? n(s.data.data) : void 0, u = r(a ? c?.entities?.[a]?.realtime : void 0, a ?? ""), d = a ? u : !1;
|
|
9
|
+
return {
|
|
10
|
+
...s,
|
|
11
|
+
object: l,
|
|
12
|
+
isLive: d,
|
|
13
|
+
isNotFound: s.error instanceof e && s.error.status === 404
|
|
14
|
+
};
|
|
15
|
+
}
|
|
16
|
+
//#endregion
|
|
17
|
+
export { a as useLiveObject };
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import { stepLongPress as e } from "../lib/longPressGesture.js";
|
|
2
|
+
import { isInteractiveRowTarget as t } from "../lib/rowClickGesture.js";
|
|
3
|
+
import { useCallback as n, useEffect as r, useRef as i } from "react";
|
|
4
|
+
//#region src/hooks/useLongPress.ts
|
|
5
|
+
function a(a) {
|
|
6
|
+
let o = i(null), s = i(null), c = i(!1), l = n(() => {
|
|
7
|
+
s.current !== null && clearTimeout(s.current), s.current = null;
|
|
8
|
+
}, []);
|
|
9
|
+
r(() => l, [l]);
|
|
10
|
+
let u = n((t) => {
|
|
11
|
+
let n = e(o.current, t);
|
|
12
|
+
return o.current = n.origin, n.outcome !== "pending" && l(), n;
|
|
13
|
+
}, [l]);
|
|
14
|
+
return {
|
|
15
|
+
handlers: {
|
|
16
|
+
onPointerDown: (n) => {
|
|
17
|
+
if (n.pointerType === "mouse" || t(n.target)) return;
|
|
18
|
+
c.current = !1, l();
|
|
19
|
+
let r = {
|
|
20
|
+
x: n.clientX,
|
|
21
|
+
y: n.clientY
|
|
22
|
+
};
|
|
23
|
+
u({
|
|
24
|
+
type: "down",
|
|
25
|
+
...r
|
|
26
|
+
}), s.current = setTimeout(() => {
|
|
27
|
+
let t = e(o.current, { type: "held" });
|
|
28
|
+
o.current = t.origin, s.current = null, t.outcome === "fire" && (c.current = !0, a(r));
|
|
29
|
+
}, 500);
|
|
30
|
+
},
|
|
31
|
+
onPointerMove: (e) => {
|
|
32
|
+
o.current && u({
|
|
33
|
+
type: "move",
|
|
34
|
+
x: e.clientX,
|
|
35
|
+
y: e.clientY
|
|
36
|
+
});
|
|
37
|
+
},
|
|
38
|
+
onPointerUp: () => void u({ type: "release" }),
|
|
39
|
+
onPointerCancel: () => void u({ type: "release" }),
|
|
40
|
+
onPointerLeave: () => void u({ type: "release" })
|
|
41
|
+
},
|
|
42
|
+
consumePressFired: n(() => {
|
|
43
|
+
let e = c.current;
|
|
44
|
+
return c.current = !1, e;
|
|
45
|
+
}, [])
|
|
46
|
+
};
|
|
47
|
+
}
|
|
48
|
+
//#endregion
|
|
49
|
+
export { a as useLongPress };
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
import { singlePkValues as e } from "../types/schema.js";
|
|
2
|
+
import { useSchema as t } from "./useSchema.js";
|
|
3
|
+
import { useText as n } from "./useText.js";
|
|
4
|
+
import { createEntity as r, deleteObject as i, restoreObject as a, updateEntity as o } from "../api/data.js";
|
|
5
|
+
import { failureTitle as s } from "../lib/failure.js";
|
|
6
|
+
import { toast as c } from "../lib/toast.js";
|
|
7
|
+
import { ENTITY_CHILDREN_KEY as l } from "./useChildrenData.js";
|
|
8
|
+
import { ENTITY_AGGREGATE_KEY as u } from "../lib/realtime-query-keys.js";
|
|
9
|
+
import { settleOwnWrite as d } from "./useSSE.js";
|
|
10
|
+
import { useMutation as f, useQueryClient as p } from "@tanstack/react-query";
|
|
11
|
+
//#region src/hooks/useMutations.ts
|
|
12
|
+
function m(e) {
|
|
13
|
+
return (t) => c.error(s(e, t));
|
|
14
|
+
}
|
|
15
|
+
function h(e, t, n = {}) {
|
|
16
|
+
e.invalidateQueries({ queryKey: ["entity-data", t] }), e.invalidateQueries({ queryKey: ["entity-count", t] }), e.invalidateQueries({ queryKey: [u, t] }), n.item && e.invalidateQueries({ queryKey: ["entity-item", t] }), n.children && e.invalidateQueries({ queryKey: [l, t] }), n.objectMeta && (e.invalidateQueries({ queryKey: ["object-status", t] }), e.invalidateQueries({ queryKey: ["object-properties", t] }));
|
|
17
|
+
}
|
|
18
|
+
function g(e) {
|
|
19
|
+
let t = p(), i = n(), a = n("errors");
|
|
20
|
+
return f({
|
|
21
|
+
mutationFn: (t) => r(e, t),
|
|
22
|
+
onSuccess: () => {
|
|
23
|
+
h(t, e), c.success(i("toast.record.created", "Record created"));
|
|
24
|
+
},
|
|
25
|
+
onError: m(a)
|
|
26
|
+
});
|
|
27
|
+
}
|
|
28
|
+
function _(r) {
|
|
29
|
+
let i = p(), a = n(), s = n("errors"), { data: l } = t();
|
|
30
|
+
return f({
|
|
31
|
+
mutationFn: ({ pkValues: e, data: t }) => o(r, e, t),
|
|
32
|
+
onSuccess: (t, { pkValues: n }) => {
|
|
33
|
+
let o = l?.entities?.[r], s = typeof n == "string" ? o ? e(o, n) : void 0 : n, u = () => h(i, r, {
|
|
34
|
+
item: !0,
|
|
35
|
+
children: !0,
|
|
36
|
+
objectMeta: !0
|
|
37
|
+
});
|
|
38
|
+
s ? (d(i, r, [s], u), v(i, r)) : u(), c.success(a("toast.record.updated", "Record updated"));
|
|
39
|
+
},
|
|
40
|
+
onError: m(s)
|
|
41
|
+
});
|
|
42
|
+
}
|
|
43
|
+
function v(e, t) {
|
|
44
|
+
e.invalidateQueries({ queryKey: ["entity-item", t] }), e.invalidateQueries({ queryKey: [l, t] }), e.invalidateQueries({ queryKey: ["object-status", t] }), e.invalidateQueries({ queryKey: ["object-properties", t] });
|
|
45
|
+
}
|
|
46
|
+
function y(e) {
|
|
47
|
+
let t = p(), r = n(), a = n("errors");
|
|
48
|
+
return f({
|
|
49
|
+
mutationFn: (t) => i(e, t),
|
|
50
|
+
onSuccess: () => {
|
|
51
|
+
h(t, e, { item: !0 }), c.success(r("toast.record.deleted", "Record deleted"));
|
|
52
|
+
},
|
|
53
|
+
onError: m(a)
|
|
54
|
+
});
|
|
55
|
+
}
|
|
56
|
+
function b(e) {
|
|
57
|
+
let t = p(), r = n(), i = n("errors");
|
|
58
|
+
return f({
|
|
59
|
+
mutationFn: (t) => a(e, t),
|
|
60
|
+
onSuccess: () => {
|
|
61
|
+
h(t, e, {
|
|
62
|
+
item: !0,
|
|
63
|
+
objectMeta: !0
|
|
64
|
+
}), c.success(r("toast.record.restored", "Record restored"));
|
|
65
|
+
},
|
|
66
|
+
onError: m(i)
|
|
67
|
+
});
|
|
68
|
+
}
|
|
69
|
+
//#endregion
|
|
70
|
+
export { g as useCreateObject, y as useDeleteObject, b as useRestoreEntity, _ as useUpdateObject };
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { getEntity as e } from "../api/data.js";
|
|
2
2
|
import { useQuery as t } from "@tanstack/react-query";
|
|
3
3
|
//#region src/hooks/useObject.ts
|
|
4
4
|
function n(e, t, n = {}) {
|
|
@@ -23,4 +23,4 @@ function r(r, i, a = {}) {
|
|
|
23
23
|
});
|
|
24
24
|
}
|
|
25
25
|
//#endregion
|
|
26
|
-
export {
|
|
26
|
+
export { n as objectQueryKey, r as useObject };
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { useText as e } from "./useText.js";
|
|
2
|
+
import { failureTitle as t } from "../lib/failure.js";
|
|
3
|
+
import { toast as n } from "../lib/toast.js";
|
|
4
|
+
import { setObjectStatus as r } from "../api/status.js";
|
|
5
|
+
import { useMutation as i, useQueryClient as a } from "@tanstack/react-query";
|
|
6
|
+
//#region src/hooks/useObjectStatus.ts
|
|
7
|
+
function o(o, s) {
|
|
8
|
+
let c = a(), l = e("errors");
|
|
9
|
+
return i({
|
|
10
|
+
mutationFn: ({ groupCode: e, statusCode: t, note: n }) => r(o, s, e, t, n),
|
|
11
|
+
onSuccess: () => {
|
|
12
|
+
c.invalidateQueries({ queryKey: ["entity-item", o] });
|
|
13
|
+
},
|
|
14
|
+
onError: (e) => {
|
|
15
|
+
n.error(t(l, e));
|
|
16
|
+
}
|
|
17
|
+
});
|
|
18
|
+
}
|
|
19
|
+
//#endregion
|
|
20
|
+
export { o as useSetStatus };
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { usePageStateStore as e } from "../stores/page-state.js";
|
|
2
|
+
import { canonicalPath as t, canonicalUrl as n } from "../lib/canonical-url.js";
|
|
3
|
+
import { useCallback as r, useEffect as i, useRef as a } from "react";
|
|
4
|
+
import { useLocation as o } from "react-router";
|
|
5
|
+
//#region src/hooks/usePageState.ts
|
|
6
|
+
function s(s, c, l) {
|
|
7
|
+
let u = o(), d = l?.scope === "path" ? t(u) : n(u), f = a(d);
|
|
8
|
+
f.current = d;
|
|
9
|
+
let p = a(c), m = e((e) => e.ttlMs <= 0 ? void 0 : e.entries[d]?.bag[s]), h = m === void 0 ? p.current : m;
|
|
10
|
+
return i(() => {
|
|
11
|
+
e.getState().touch(d);
|
|
12
|
+
}, [d]), [h, r((t) => {
|
|
13
|
+
let n = f.current, r = e.getState(), i = r.read(n, s), a = i === void 0 ? p.current : i, o = typeof t == "function" ? t(a) : t;
|
|
14
|
+
r.set(n, s, o);
|
|
15
|
+
}, [s])];
|
|
16
|
+
}
|
|
17
|
+
//#endregion
|
|
18
|
+
export { s as usePageState };
|