@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.
Files changed (467) hide show
  1. package/dist-lib/api/access-expiry.js +32 -0
  2. package/dist-lib/api/agents.js +105 -0
  3. package/dist-lib/api/auth-redirect.js +30 -0
  4. package/dist-lib/api/auth.js +67 -0
  5. package/dist-lib/api/batch.js +34 -0
  6. package/dist-lib/api/client.js +241 -0
  7. package/dist-lib/api/data.js +122 -0
  8. package/dist-lib/api/entities.js +160 -0
  9. package/dist-lib/api/events.js +120 -0
  10. package/dist-lib/api/fileReferences.js +8 -0
  11. package/dist-lib/api/params.js +20 -0
  12. package/dist-lib/api/properties.js +25 -0
  13. package/dist-lib/api/request-bounds.js +28 -0
  14. package/dist-lib/api/schema.js +71 -0
  15. package/dist-lib/api/session-renewal.js +36 -0
  16. package/dist-lib/api/status.js +17 -0
  17. package/dist-lib/app.js +262 -0
  18. package/dist-lib/components/actions/ActionButton.js +116 -0
  19. package/dist-lib/{ActionDialog-C6EG-AmC.js → components/actions/ActionDialog.js} +63 -53
  20. package/dist-lib/{ActionResultDialog.impl-BATutW8J.js → components/actions/ActionResultDialog.impl.js} +53 -48
  21. package/dist-lib/components/actions/ActionResultDialog.js +12 -0
  22. package/dist-lib/components/actions/ActionRunner.js +274 -0
  23. package/dist-lib/components/actions/ObjectActionBar.js +127 -0
  24. package/dist-lib/components/actions/PropertyGridEditor.js +202 -0
  25. package/dist-lib/components/actions/ResponsiveActionBar.js +773 -0
  26. package/dist-lib/components/actions/RowActionsKebab.js +90 -0
  27. package/dist-lib/{AgentChatPanel.impl-D5y_qEex.js → components/agents/AgentChatPanel.impl.js} +314 -362
  28. package/dist-lib/components/agents/AgentChatPanel.js +12 -0
  29. package/dist-lib/components/agents/AgentConversationDrawer.js +59 -0
  30. package/dist-lib/components/agents/AgentElicitForm.js +152 -0
  31. package/dist-lib/components/agents/AgentOpenFollower.impl.js +7 -0
  32. package/dist-lib/components/agents/AgentOpenFollower.js +12 -0
  33. package/dist-lib/components/agents/AgentPicker.js +58 -0
  34. package/dist-lib/components/agents/transcript-runs.js +52 -0
  35. package/dist-lib/components/chrome/AssociationTabs.js +176 -0
  36. package/dist-lib/components/chrome/AuditMetaStrip.js +64 -0
  37. package/dist-lib/components/chrome/Breadcrumbs.js +67 -0
  38. package/dist-lib/components/chrome/HighlightsStrip.js +39 -0
  39. package/dist-lib/{PageHeader-DiwLe7CO.js → components/chrome/PageHeader.js} +19 -15
  40. package/dist-lib/{PageShell-BJz1MiTH.js → components/chrome/PageShell.js} +3 -3
  41. package/dist-lib/components/chrome/RecordHeader.js +119 -0
  42. package/dist-lib/{headerActionZone-bef-tZZ7.js → components/chrome/headerActionZone.js} +1 -1
  43. package/dist-lib/components/detail-layout/AssociatedBlock.js +1244 -0
  44. package/dist-lib/components/detail-layout/AssociatedToolbar.js +87 -0
  45. package/dist-lib/components/detail-layout/ChildrenBlock.js +80 -0
  46. package/dist-lib/components/detail-layout/ChildrenCards.js +156 -0
  47. package/dist-lib/components/detail-layout/ChildrenList.js +135 -0
  48. package/dist-lib/components/detail-layout/ChildrenTable.js +189 -0
  49. package/dist-lib/components/detail-layout/ChildrenTimeline.js +609 -0
  50. package/dist-lib/components/detail-layout/DetailAuditStrip.js +40 -0
  51. package/dist-lib/components/detail-layout/DetailHighlights.js +54 -0
  52. package/dist-lib/{DraggableChildrenTable-Dd5SeuF6.js → components/detail-layout/DraggableChildrenTable.js} +56 -53
  53. package/dist-lib/components/detail-layout/EditableChildrenTable.js +341 -0
  54. package/dist-lib/components/detail-layout/ErrorSummary.js +89 -0
  55. package/dist-lib/components/detail-layout/EvidenceBlock.js +66 -0
  56. package/dist-lib/{FieldRow-DedGIY9R.js → components/detail-layout/FieldRow.js} +8 -7
  57. package/dist-lib/components/detail-layout/FieldsBlock.js +74 -0
  58. package/dist-lib/components/detail-layout/LayoutColumn.js +16 -0
  59. package/dist-lib/components/detail-layout/LayoutRenderer.js +54 -0
  60. package/dist-lib/components/detail-layout/LayoutRow.js +83 -0
  61. package/dist-lib/components/detail-layout/LayoutTabs.js +195 -0
  62. package/dist-lib/components/detail-layout/PropertiesBlock.js +74 -0
  63. package/dist-lib/components/detail-layout/QuickAddForm.js +81 -0
  64. package/dist-lib/components/detail-layout/SectionBlock.js +48 -0
  65. package/dist-lib/components/detail-layout/StatusesBlock.js +18 -0
  66. package/dist-lib/components/detail-layout/TimelineComposer.js +205 -0
  67. package/dist-lib/components/detail-layout/blockMeta.js +27 -0
  68. package/dist-lib/components/detail-layout/useManualColumnResize.js +94 -0
  69. package/dist-lib/components/detail-layout/useQuickAdd.js +85 -0
  70. package/dist-lib/components/detail-layout/widgets/EntityScorecardWidget.js +295 -0
  71. package/dist-lib/components/detail-layout/widgets/JsonDiffWidget.js +107 -0
  72. package/dist-lib/components/detail-layout/widgets/MonacoJson.js +47 -0
  73. package/dist-lib/components/detail-layout/widgets/WidgetHost.js +36 -0
  74. package/dist-lib/components/detail-layout/widgets/builtins.js +10 -0
  75. package/dist-lib/components/detail-layout/widgets/canonicalizeJson.js +32 -0
  76. package/dist-lib/components/detail-layout/widgets/monacoBootstrap.js +16 -0
  77. package/dist-lib/components/detail-layout/widgets/registry.js +13 -0
  78. package/dist-lib/components/fields/BoolField.js +13 -0
  79. package/dist-lib/components/fields/EmailField.js +16 -0
  80. package/dist-lib/components/fields/EnumField.js +38 -0
  81. package/dist-lib/components/fields/FileReferenceField.js +60 -0
  82. package/dist-lib/components/fields/IntArrayField.js +83 -0
  83. package/dist-lib/components/fields/JsonField.js +51 -0
  84. package/dist-lib/components/fields/MultilangArrayField.js +56 -0
  85. package/dist-lib/components/fields/MultilangField.js +65 -0
  86. package/dist-lib/components/fields/MultilangTextField.js +65 -0
  87. package/dist-lib/components/fields/NumberField.js +64 -0
  88. package/dist-lib/components/fields/PasswordField.js +34 -0
  89. package/dist-lib/components/fields/PhoneField.js +84 -0
  90. package/dist-lib/components/fields/RefCombobox.js +112 -0
  91. package/dist-lib/components/fields/RefField.js +45 -0
  92. package/dist-lib/components/fields/RichTextField.js +225 -0
  93. package/dist-lib/components/fields/SecretField.js +34 -0
  94. package/dist-lib/components/fields/StringArrayField.js +165 -0
  95. package/dist-lib/components/fields/StringField.js +39 -0
  96. package/dist-lib/components/fields/StructureField.js +221 -0
  97. package/dist-lib/components/fields/TextField.js +76 -0
  98. package/dist-lib/components/fields/TimestampField.js +110 -0
  99. package/dist-lib/components/fields/UrlField.js +18 -0
  100. package/dist-lib/components/fields/cells/factories/badge.js +42 -0
  101. package/dist-lib/components/fields/cells/factories/boolPill.js +17 -0
  102. package/dist-lib/components/fields/cells/factories/code.js +11 -0
  103. package/dist-lib/components/fields/cells/factories/date.js +30 -0
  104. package/dist-lib/components/fields/cells/factories/email.js +26 -0
  105. package/dist-lib/components/fields/cells/factories/emptyCell.js +10 -0
  106. package/dist-lib/components/fields/cells/factories/fileReference.js +17 -0
  107. package/dist-lib/components/fields/cells/factories/host-icons.js +146 -0
  108. package/dist-lib/components/fields/cells/factories/json.js +61 -0
  109. package/dist-lib/components/fields/cells/factories/link.js +32 -0
  110. package/dist-lib/components/fields/cells/factories/markdown.js +31 -0
  111. package/dist-lib/components/fields/cells/factories/markdownPreview.js +81 -0
  112. package/dist-lib/components/fields/cells/factories/money.js +37 -0
  113. package/dist-lib/components/fields/cells/factories/multilangInline.js +35 -0
  114. package/dist-lib/components/fields/cells/factories/nextRun.js +46 -0
  115. package/dist-lib/components/fields/cells/factories/number.js +42 -0
  116. package/dist-lib/components/fields/cells/factories/passwordMask.js +23 -0
  117. package/dist-lib/components/fields/cells/factories/phone.js +35 -0
  118. package/dist-lib/components/fields/cells/factories/refLink.js +57 -0
  119. package/dist-lib/components/fields/cells/factories/richTextPreview.js +34 -0
  120. package/dist-lib/components/fields/cells/factories/statusPill.js +35 -0
  121. package/dist-lib/components/fields/cells/factories/tagList.js +44 -0
  122. package/dist-lib/components/fields/cells/factories/text.js +5 -0
  123. package/dist-lib/components/fields/cells/factories/timestamp.js +18 -0
  124. package/dist-lib/components/fields/cells/factories/url-helpers.js +49 -0
  125. package/dist-lib/components/fields/cells/factories/url.js +45 -0
  126. package/dist-lib/components/fields/cells/registry.js +58 -0
  127. package/dist-lib/components/fields/index.js +80 -0
  128. package/dist-lib/components/fields/langMap.js +6 -0
  129. package/dist-lib/components/fields/secretValue.js +7 -0
  130. package/dist-lib/components/file-widgets/CircleImage.js +11 -0
  131. package/dist-lib/components/file-widgets/DocumentCard.js +277 -0
  132. package/dist-lib/components/file-widgets/FileList.js +213 -0
  133. package/dist-lib/{Grid-XUHm5SDe.js → components/file-widgets/Grid.js} +45 -40
  134. package/dist-lib/components/file-widgets/GridLazy.js +15 -0
  135. package/dist-lib/components/file-widgets/ImageWidget.js +354 -0
  136. package/dist-lib/components/file-widgets/LabeledSlots.js +69 -0
  137. package/dist-lib/components/file-widgets/SquareImage.js +11 -0
  138. package/dist-lib/components/file-widgets/UnknownFileWidget.js +22 -0
  139. package/dist-lib/components/file-widgets/UploadFailureText.js +10 -0
  140. package/dist-lib/components/file-widgets/WideBanner.js +11 -0
  141. package/dist-lib/components/file-widgets/builtins.js +15 -0
  142. package/dist-lib/components/file-widgets/cropper.js +13 -0
  143. package/dist-lib/components/file-widgets/draft-scope.js +59 -0
  144. package/dist-lib/components/file-widgets/helpers.js +75 -0
  145. package/dist-lib/components/file-widgets/host.js +75 -0
  146. package/dist-lib/{payload-DioMoxMX.js → components/file-widgets/payload.js} +14 -14
  147. package/dist-lib/components/file-widgets/registry.js +13 -0
  148. package/dist-lib/components/file-widgets/upload.js +180 -0
  149. package/dist-lib/components/file-widgets/useEmbedFileSrc.js +45 -0
  150. package/dist-lib/components/file-widgets/value.js +12 -0
  151. package/dist-lib/components/filters/FilterChips.js +123 -0
  152. package/dist-lib/components/filters/FilterConditionValue.js +40 -0
  153. package/dist-lib/components/filters/FilterDrawer.js +670 -0
  154. package/dist-lib/components/filters/FilterOmittedNotice.js +14 -0
  155. package/dist-lib/components/filters/filter-op-label.js +8 -0
  156. package/dist-lib/{CommandPalette.impl-DRI5kxVY.js → components/layout/CommandPalette.impl.js} +62 -61
  157. package/dist-lib/components/layout/CommandPalette.js +12 -0
  158. package/dist-lib/{DirtyTabsCloseDialog.impl-FhAiOmEb.js → components/layout/DirtyTabsCloseDialog.impl.js} +16 -14
  159. package/dist-lib/components/layout/DirtyTabsCloseDialog.js +12 -0
  160. package/dist-lib/{ImpersonationBanner.impl--g0iYwcV.js → components/layout/ImpersonationBanner.impl.js} +4 -3
  161. package/dist-lib/components/layout/ImpersonationBanner.js +12 -0
  162. package/dist-lib/components/layout/ImpersonationFrame.js +29 -0
  163. package/dist-lib/{ImpersonationStartModal.impl-BFBN0YJe.js → components/layout/ImpersonationStartModal.impl.js} +9 -9
  164. package/dist-lib/components/layout/ImpersonationStartModal.js +12 -0
  165. package/dist-lib/components/layout/Layout.js +755 -0
  166. package/dist-lib/components/layout/Rail.js +149 -0
  167. package/dist-lib/components/layout/Sidebar.js +362 -0
  168. package/dist-lib/components/layout/TabStrip.js +321 -0
  169. package/dist-lib/components/layout/TenantChip.js +355 -0
  170. package/dist-lib/components/layout/TopBar.js +305 -0
  171. package/dist-lib/components/layout/tab-close.js +24 -0
  172. package/dist-lib/components/list/ColumnPicker.js +112 -0
  173. package/dist-lib/components/list/InlineEditCell.js +107 -0
  174. package/dist-lib/components/list/PeekFieldCell.js +143 -0
  175. package/dist-lib/components/list/QuickPeek.js +263 -0
  176. package/dist-lib/components/list/ViewSwitcher.js +156 -0
  177. package/dist-lib/components/list/peekDraftStore.js +14 -0
  178. package/dist-lib/{AdminCatalogPage.impl-B-7MLqa1.js → components/pages/AdminCatalogPage.impl.js} +53 -49
  179. package/dist-lib/components/pages/AdminCatalogPage.js +12 -0
  180. package/dist-lib/components/pages/DocumentsMenu.js +150 -0
  181. package/dist-lib/components/pages/ExportMenu.js +123 -0
  182. package/dist-lib/{NotFoundPage.impl-BoX11u-P.js → components/pages/NotFoundPage.impl.js} +6 -4
  183. package/dist-lib/components/pages/NotFoundPage.js +12 -0
  184. package/dist-lib/components/pages/RecordDocumentsPanel.js +230 -0
  185. package/dist-lib/components/pages/RecordNotesPanel.js +200 -0
  186. package/dist-lib/components/pages/RecordPanels.js +18 -0
  187. package/dist-lib/components/pages/SSOCallbackPage.impl.js +28 -0
  188. package/dist-lib/components/pages/SSOCallbackPage.js +12 -0
  189. package/dist-lib/components/pages/SmartDetailPage.impl.js +986 -0
  190. package/dist-lib/components/pages/SmartDetailPage.js +12 -0
  191. package/dist-lib/components/pages/SmartListPage.impl.js +708 -0
  192. package/dist-lib/components/pages/SmartListPage.js +12 -0
  193. package/dist-lib/components/pages/SmartRecordListPage.impl.js +818 -0
  194. package/dist-lib/components/pages/SmartRecordListPage.js +12 -0
  195. package/dist-lib/components/pages/auth/AuthShell.js +350 -0
  196. package/dist-lib/{Forgot.impl-6tL6SBlS.js → components/pages/auth/Forgot.impl.js} +13 -12
  197. package/dist-lib/components/pages/auth/Forgot.js +12 -0
  198. package/dist-lib/{Reset.impl-D0pjhS6d.js → components/pages/auth/Reset.impl.js} +17 -15
  199. package/dist-lib/components/pages/auth/Reset.js +12 -0
  200. package/dist-lib/components/pages/auth/SignIn.js +252 -0
  201. package/dist-lib/{SignUp.impl-CfEXrUeg.js → components/pages/auth/SignUp.impl.js} +31 -27
  202. package/dist-lib/components/pages/auth/SignUp.js +12 -0
  203. package/dist-lib/{TwoFA.impl-B2HtPduH.js → components/pages/auth/TwoFA.impl.js} +9 -8
  204. package/dist-lib/components/pages/auth/TwoFA.js +12 -0
  205. package/dist-lib/components/pages/auth/icons.js +56 -0
  206. package/dist-lib/components/pages/exportRequest.js +17 -0
  207. package/dist-lib/components/pages/list/DataCell.js +27 -0
  208. package/dist-lib/components/pages/list/DeleteViewDialog.js +22 -0
  209. package/dist-lib/{ListCardsBody-BEoYjSZ2.js → components/pages/list/ListCardRow.js} +47 -72
  210. package/dist-lib/components/pages/list/ListCardsBody.js +31 -0
  211. package/dist-lib/components/pages/list/ListFloatbar.js +130 -0
  212. package/dist-lib/components/pages/list/ListFooter.js +138 -0
  213. package/dist-lib/components/pages/list/ListHeader.js +120 -0
  214. package/dist-lib/components/pages/list/ListNoRows.js +72 -0
  215. package/dist-lib/components/pages/list/ListTable.js +191 -0
  216. package/dist-lib/components/pages/list/ListTableRow.js +37 -0
  217. package/dist-lib/components/pages/list/ListToolbar.js +261 -0
  218. package/dist-lib/components/pages/list/ListUrlBanner.js +45 -0
  219. package/dist-lib/components/pages/list/RowActionsCell.js +49 -0
  220. package/dist-lib/components/pages/list/RowContextMenu.js +55 -0
  221. package/dist-lib/components/pages/list/SaveViewDialog.js +111 -0
  222. package/dist-lib/{SortHeaderMenu-Co5PvhTA.js → components/pages/list/SortHeaderMenu.js} +18 -17
  223. package/dist-lib/{cardProjection-Cxlogzh8.js → components/pages/list/cardProjection.js} +3 -3
  224. package/dist-lib/components/pages/list/column-sizing.js +17 -0
  225. package/dist-lib/components/pages/list/columns.js +168 -0
  226. package/dist-lib/components/pages/list/filter-meta.js +84 -0
  227. package/dist-lib/components/pages/list/page-size.js +11 -0
  228. package/dist-lib/components/pages/list/sortable-header.js +18 -0
  229. package/dist-lib/components/pages/list/table-features.js +11 -0
  230. package/dist-lib/components/pages/list/use-filter-value-labels.js +115 -0
  231. package/dist-lib/components/pages/list/useActiveView.js +98 -0
  232. package/dist-lib/components/pages/list/useHeaderReorder.js +93 -0
  233. package/dist-lib/components/pages/list/useListColumnLayout.js +56 -0
  234. package/dist-lib/components/pages/list/useListFilterPresentation.js +34 -0
  235. package/dist-lib/components/pages/list/useListQuery.js +101 -0
  236. package/dist-lib/components/pages/list/useListRowInteraction.js +120 -0
  237. package/dist-lib/components/pages/list/useListSelection.js +53 -0
  238. package/dist-lib/components/pages/list/useListSort.js +44 -0
  239. package/dist-lib/components/pages/list/useListViews.js +148 -0
  240. package/dist-lib/components/pages/list/useRowMenu.js +106 -0
  241. package/dist-lib/components/pages/list/visible-filters.js +19 -0
  242. package/dist-lib/{Preferences.impl-Ct5xwZtT.js → components/pages/profile/Preferences.impl.js} +34 -31
  243. package/dist-lib/components/pages/profile/Preferences.js +12 -0
  244. package/dist-lib/components/pages/profile/Profile.impl.js +437 -0
  245. package/dist-lib/components/pages/profile/Profile.js +12 -0
  246. package/dist-lib/{TenantParamsPage.impl-BGpdmEZg.js → components/pages/tenant-params/TenantParamsPage.impl.js} +45 -40
  247. package/dist-lib/components/pages/tenant-params/TenantParamsPage.js +12 -0
  248. package/dist-lib/components/params/ParamsBlock.js +119 -0
  249. package/dist-lib/{param-editors-TYYU7HKK.js → components/params/param-editors.js} +32 -28
  250. package/dist-lib/components/primitives/Avatar.js +33 -0
  251. package/dist-lib/components/primitives/BoolToggle.js +35 -0
  252. package/dist-lib/components/primitives/BrandGlyph.js +38 -0
  253. package/dist-lib/components/primitives/BrandLogo.js +20 -0
  254. package/dist-lib/components/primitives/Btn.js +67 -0
  255. package/dist-lib/{Check-DAfMbQIw.js → components/primitives/Check.js} +2 -2
  256. package/dist-lib/components/primitives/Chip.js +44 -0
  257. package/dist-lib/components/primitives/ClassifiedFieldLocked.js +15 -0
  258. package/dist-lib/components/primitives/Dropdown.js +85 -0
  259. package/dist-lib/components/primitives/Fields.js +751 -0
  260. package/dist-lib/components/primitives/HoverCard.js +115 -0
  261. package/dist-lib/components/primitives/IconBtn.js +37 -0
  262. package/dist-lib/{Icons-lt-7lhYR.js → components/primitives/Icons.js} +1 -1
  263. package/dist-lib/{Kbd-CNttVu0z.js → components/primitives/Kbd.js} +2 -2
  264. package/dist-lib/components/primitives/MenuItem.js +57 -0
  265. package/dist-lib/{Pill-D-wsfRhx.js → components/primitives/Pill.js} +1 -1
  266. package/dist-lib/{RecordIdBadge-wbigZaFc.js → components/primitives/RecordIdBadge.js} +5 -5
  267. package/dist-lib/components/primitives/RowField.js +47 -0
  268. package/dist-lib/{SectionCard-BYHoHWJc.js → components/primitives/SectionCard.js} +10 -10
  269. package/dist-lib/components/primitives/Spinner.js +31 -0
  270. package/dist-lib/components/primitives/StatTile.js +108 -0
  271. package/dist-lib/components/primitives/Tooltip.js +115 -0
  272. package/dist-lib/{dataTableStyles-vwD1mVOP.js → components/primitives/dataTableStyles.js} +1 -1
  273. package/dist-lib/components/shared/BlankScreen.js +13 -0
  274. package/dist-lib/{ChangePasswordDialog.impl-5hDc0wpE.js → components/shared/ChangePasswordDialog.impl.js} +27 -22
  275. package/dist-lib/{ChangePasswordDialog-C_T_3pjl.js → components/shared/ChangePasswordDialog.js} +2 -2
  276. package/dist-lib/components/shared/ConfirmDialog.js +129 -0
  277. package/dist-lib/components/shared/ConnectionNotice.js +12 -0
  278. package/dist-lib/components/shared/CopyButton.js +25 -0
  279. package/dist-lib/components/shared/DynamicIcon.js +73 -0
  280. package/dist-lib/components/shared/EmptyState.js +56 -0
  281. package/dist-lib/components/shared/ErrorBoundary.js +96 -0
  282. package/dist-lib/components/shared/LoadingSkeleton.js +117 -0
  283. package/dist-lib/components/shared/LucideIcon.js +43 -0
  284. package/dist-lib/components/shared/Markdown.js +15 -0
  285. package/dist-lib/{MarkdownRenderer-sK2TRZS-.js → components/shared/MarkdownRenderer.js} +10 -9
  286. package/dist-lib/components/shared/RefreshControl.js +42 -0
  287. package/dist-lib/components/shared/StatusGroupsDisplay.js +123 -0
  288. package/dist-lib/components/shared/StatusStepper.js +70 -0
  289. package/dist-lib/components/shared/toast/DeclarionToast.js +308 -0
  290. package/dist-lib/components/shared/useOwnRefresh.js +19 -0
  291. package/dist-lib/declarion-react.css +1 -1
  292. package/dist-lib/embed/EmbedAuthBootstrap.js +71 -0
  293. package/dist-lib/embed/EmbedContext.js +38 -0
  294. package/dist-lib/embed/EmbedDirtyReporter.js +17 -0
  295. package/dist-lib/embed/EmbedHistoryTracker.js +17 -0
  296. package/dist-lib/embed/EmbedLocationReporter.js +26 -0
  297. package/dist-lib/embed/EmbedResizeReporter.js +25 -0
  298. package/dist-lib/embed/EmbedUnsavedGuard.js +23 -0
  299. package/dist-lib/embed/embed-dirty.js +21 -0
  300. package/dist-lib/embed/embed-history.js +17 -0
  301. package/dist-lib/embed/embed-nav-guard.js +13 -0
  302. package/dist-lib/embed/file-src.js +60 -0
  303. package/dist-lib/embed/handshake.js +37 -0
  304. package/dist-lib/embed/params.js +45 -0
  305. package/dist-lib/embed/protocol.js +26 -0
  306. package/dist-lib/embed/screen-location.js +44 -0
  307. package/dist-lib/embed/theme.js +11 -0
  308. package/dist-lib/embed/token.js +54 -0
  309. package/dist-lib/embed/useEmbedNavigate.js +65 -0
  310. package/dist-lib/embed/useGlobalLinkInterceptor.js +63 -0
  311. package/dist-lib/hooks/useActionData.js +58 -0
  312. package/dist-lib/hooks/useAgentConversation.js +311 -0
  313. package/dist-lib/hooks/useAggregate.js +18 -0
  314. package/dist-lib/hooks/useAllEntityData.js +53 -0
  315. package/dist-lib/hooks/useAssociatedData.js +37 -0
  316. package/dist-lib/hooks/useAuth.js +56 -0
  317. package/dist-lib/hooks/useBranding.js +18 -0
  318. package/dist-lib/hooks/useBrandingChrome.js +58 -0
  319. package/dist-lib/hooks/useChildrenData.js +33 -0
  320. package/dist-lib/hooks/useColumns.js +44 -0
  321. package/dist-lib/hooks/useConnectionNotice.js +35 -0
  322. package/dist-lib/{useCurrentLocation-Bq1T72AW.js → hooks/useCurrentLocation.js} +2 -2
  323. package/dist-lib/hooks/useCurrentScreen.js +20 -0
  324. package/dist-lib/hooks/useCursorEntityData.js +77 -0
  325. package/dist-lib/hooks/useDebounce.js +11 -0
  326. package/dist-lib/hooks/useEntity.js +8 -0
  327. package/dist-lib/hooks/useEntityData.js +64 -0
  328. package/dist-lib/hooks/useFileReferenceJSON.js +29 -0
  329. package/dist-lib/hooks/useFilters.js +28 -0
  330. package/dist-lib/hooks/useFollowAgentOpen.js +84 -0
  331. package/dist-lib/hooks/useImpersonation.js +40 -0
  332. package/dist-lib/hooks/useIntentPrefetch.js +43 -0
  333. package/dist-lib/hooks/useJsonSnapshot.js +8 -0
  334. package/dist-lib/hooks/useLanguage.js +21 -0
  335. package/dist-lib/hooks/useLiveObject.js +17 -0
  336. package/dist-lib/hooks/useLongPress.js +49 -0
  337. package/dist-lib/hooks/useMutations.js +70 -0
  338. package/dist-lib/{useObject-B45F96rC.js → hooks/useObject.js} +2 -2
  339. package/dist-lib/hooks/useObjectStatus.js +20 -0
  340. package/dist-lib/hooks/usePageState.js +18 -0
  341. package/dist-lib/hooks/usePageStateRuntime.js +46 -0
  342. package/dist-lib/hooks/usePageStateTtl.js +10 -0
  343. package/dist-lib/hooks/useParams.js +123 -0
  344. package/dist-lib/hooks/useProperties.js +32 -0
  345. package/dist-lib/hooks/useRealtimeThresholds.js +31 -0
  346. package/dist-lib/hooks/useRegisterScreenTab.js +28 -0
  347. package/dist-lib/hooks/useResponsiveMode.js +84 -0
  348. package/dist-lib/hooks/useSSE.js +307 -0
  349. package/dist-lib/hooks/useSchema.js +73 -0
  350. package/dist-lib/hooks/useScreen.js +8 -0
  351. package/dist-lib/hooks/useScreenBack.js +60 -0
  352. package/dist-lib/hooks/useScreenTab.js +11 -0
  353. package/dist-lib/hooks/useTabNavigate.js +82 -0
  354. package/dist-lib/hooks/useTabSearchMirror.js +19 -0
  355. package/dist-lib/{useTabTitle-KrzEo118.js → hooks/useTabTitle.js} +9 -7
  356. package/dist-lib/hooks/useText.js +15 -0
  357. package/dist-lib/hooks/useTimelineData.js +44 -0
  358. package/dist-lib/hooks/useUnsavedInput.js +18 -0
  359. package/dist-lib/hooks/useVersionWatcher.js +62 -0
  360. package/dist-lib/hooks/useViews.js +88 -0
  361. package/dist-lib/hooks/useWindowConversation.js +11 -0
  362. package/dist-lib/icons.js +5 -3
  363. package/dist-lib/index.d.ts +42 -20
  364. package/dist-lib/index.js +131 -3926
  365. package/dist-lib/lib/action-dispatch.js +7 -0
  366. package/dist-lib/lib/actions.js +279 -0
  367. package/dist-lib/lib/anchor.js +41 -0
  368. package/dist-lib/lib/brand-tokens.js +95 -0
  369. package/dist-lib/lib/branding.js +25 -0
  370. package/dist-lib/lib/canonical-url.js +17 -0
  371. package/dist-lib/lib/capabilityPrefetch.js +57 -0
  372. package/dist-lib/lib/child-config.js +111 -0
  373. package/dist-lib/lib/children-validation.js +52 -0
  374. package/dist-lib/lib/decimal-text.js +15 -0
  375. package/dist-lib/lib/display-value.js +19 -0
  376. package/dist-lib/lib/document-templates.js +6 -0
  377. package/dist-lib/lib/download.js +41 -0
  378. package/dist-lib/lib/evidence-verdict.js +23 -0
  379. package/dist-lib/lib/failure.js +9 -0
  380. package/dist-lib/lib/field-classification.js +58 -0
  381. package/dist-lib/lib/field-regions.js +13 -0
  382. package/dist-lib/lib/filter-evaluator.js +98 -0
  383. package/dist-lib/lib/filters.js +118 -0
  384. package/dist-lib/lib/format-count.js +24 -0
  385. package/dist-lib/lib/html-state.js +9 -0
  386. package/dist-lib/lib/language.js +52 -0
  387. package/dist-lib/lib/longPressGesture.js +34 -0
  388. package/dist-lib/lib/mass-edit.js +65 -0
  389. package/dist-lib/{page-inset-D_kkVwwN.js → lib/page-inset.js} +1 -1
  390. package/dist-lib/lib/phone.js +28 -0
  391. package/dist-lib/lib/query-retry.js +7 -0
  392. package/dist-lib/lib/quick-add.js +23 -0
  393. package/dist-lib/lib/realtime-query-keys.js +23 -0
  394. package/dist-lib/lib/realtime-reconcile.js +148 -0
  395. package/dist-lib/lib/realtime-resync.js +192 -0
  396. package/dist-lib/lib/record-documents-key.js +4 -0
  397. package/dist-lib/lib/ref-choices.js +6 -0
  398. package/dist-lib/lib/refetch-when-idle.js +25 -0
  399. package/dist-lib/lib/rich-text.js +46 -0
  400. package/dist-lib/lib/rowClickGesture.js +10 -0
  401. package/dist-lib/lib/safe-url.js +34 -0
  402. package/dist-lib/lib/schema-routing.js +51 -0
  403. package/dist-lib/{screen-back-BtbEp5sO.js → lib/screen-back.js} +2 -2
  404. package/dist-lib/lib/scroll-restoration.js +156 -0
  405. package/dist-lib/lib/size-value.js +22 -0
  406. package/dist-lib/lib/sort.js +59 -0
  407. package/dist-lib/lib/timestamp.js +97 -0
  408. package/dist-lib/lib/toast.js +78 -0
  409. package/dist-lib/lib/ui-actions.js +81 -0
  410. package/dist-lib/{utils-D_QDpB8_.js → lib/utils.js} +1 -1
  411. package/dist-lib/lib/variants.js +63 -0
  412. package/dist-lib/lib/versionTracker.js +102 -0
  413. package/dist-lib/lib/viewport-category.js +12 -0
  414. package/dist-lib/{window-election-CHIvIZwx.js → lib/window-election.js} +1 -1
  415. package/dist-lib/stores/auth.js +84 -0
  416. package/dist-lib/stores/icon-registry.js +24 -0
  417. package/dist-lib/stores/list-layout.js +178 -0
  418. package/dist-lib/{page-state-eA6J_KIR.js → stores/page-state.js} +1 -1
  419. package/dist-lib/stores/preferences.js +126 -0
  420. package/dist-lib/stores/realtime.js +115 -0
  421. package/dist-lib/stores/screen-registry.js +10 -0
  422. package/dist-lib/stores/tabs.js +220 -0
  423. package/dist-lib/test/seed-schema.js +8 -0
  424. package/dist-lib/testing.d.ts +1 -1
  425. package/dist-lib/testing.js +80 -76
  426. package/dist-lib/types/api.js +48 -0
  427. package/dist-lib/types/fieldType.js +4 -0
  428. package/dist-lib/types/ordmap.js +50 -0
  429. package/dist-lib/types/schema.js +173 -0
  430. package/dist-lib/{useResponsiveMode-DIR1bZfo.d.ts → useResponsiveMode-DmrpMbZX.d.ts} +44 -16
  431. package/package.json +13 -12
  432. package/dist-lib/ActionRunner-DdBFhqGe.js +0 -1440
  433. package/dist-lib/AgentOpenFollower.impl-BAs_wGEZ.js +0 -81
  434. package/dist-lib/AssociatedBlock-BOoPLOjw.js +0 -1515
  435. package/dist-lib/AuthShell-C8aVwHS7.js +0 -361
  436. package/dist-lib/BlankScreen-DVc7fh8C.js +0 -61
  437. package/dist-lib/CopyButton-DRIT_f0k.js +0 -119
  438. package/dist-lib/DynamicIcon-DuBSz6TZ.js +0 -133
  439. package/dist-lib/FilterChips-Cv1tlXyo.js +0 -1031
  440. package/dist-lib/LayoutRenderer-d-tXYPze.js +0 -3239
  441. package/dist-lib/MenuItem-CfkVXPvC.js +0 -140
  442. package/dist-lib/MonacoJson-BG3S3GHX.js +0 -60
  443. package/dist-lib/Profile.impl-Cypk27ah.js +0 -527
  444. package/dist-lib/PropertyGridEditor-XrP6TZ5s.js +0 -4378
  445. package/dist-lib/RecordHeader-BfQ0_4wq.js +0 -217
  446. package/dist-lib/RefreshControl-CRdWPoF5.js +0 -195
  447. package/dist-lib/SSOCallbackPage.impl-Cfi2pQ59.js +0 -31
  448. package/dist-lib/SmartDetailPage.impl-BiIX0n7K.js +0 -1609
  449. package/dist-lib/SmartListPage.impl-Cu83Gv_G.js +0 -2818
  450. package/dist-lib/SmartRecordListPage.impl-DR6lq7HA.js +0 -795
  451. package/dist-lib/format-count-lyB4CPen.js +0 -943
  452. package/dist-lib/peekDraftStore-CaimrOhW.js +0 -200
  453. package/dist-lib/registry-CGe5kCXN.js +0 -119
  454. package/dist-lib/use-filter-value-labels-D3YDgUzg.js +0 -413
  455. package/dist-lib/useAgentConversation-rru-7hnF.js +0 -612
  456. package/dist-lib/useBranding-zcxEic2k.js +0 -41
  457. package/dist-lib/useBrandingChrome-bxaR3G1R.js +0 -170
  458. package/dist-lib/useCurrentScreen-BZOHBGQZ.js +0 -2522
  459. package/dist-lib/useImpersonation-DBIRRR70.js +0 -35
  460. package/dist-lib/useOwnRefresh-DJjaje52.js +0 -435
  461. package/dist-lib/useParams-BFLJi4n3.js +0 -133
  462. package/dist-lib/useProperties-B7opZ-iy.js +0 -81
  463. package/dist-lib/useScreenBack-DENlz844.js +0 -71
  464. package/dist-lib/useTabNavigate-CUqOmcMj.js +0 -78
  465. package/dist-lib/value-BuQVYx52.js +0 -194
  466. package/dist-lib/variants-vUtfBbE6.js +0 -1961
  467. /package/dist-lib/{JsonEditor-Dz1PQHC8.js → components/fields/JsonEditor.js} +0 -0
@@ -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 { E as e, Ft as t, un as n, wn as r, wt as i } from "./useCurrentScreen-BZOHBGQZ.js";
2
- import { t as a } from "./Icons-lt-7lhYR.js";
3
- import { n as o, r as s } from "./CopyButton-DRIT_f0k.js";
4
- import { Q as c, V as l, c as u, f as d, n as f, o as p, q as m } from "./PropertyGridEditor-XrP6TZ5s.js";
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 u(e, { row: t });
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: n(e.ref)
46
+ ref: t(e.ref)
37
47
  };
38
48
  }
39
- function E(e, t) {
40
- if (!e.includes("${")) return e;
41
- let n = u(e, { params: t });
42
- return n == null ? "" : r(n);
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 a = i(), o = _(() => {
61
+ let i = o(), a = _(() => {
52
62
  let t = r ? Object.entries(r) : [];
53
63
  return [{
54
64
  value: "",
55
- label: e.required ? a("action.dialog.select_status_group", "Select status group…") : "—"
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: a(t.name) || e
68
+ label: i(t.name) || e
59
69
  }))];
60
70
  }, [
61
- a,
71
+ i,
62
72
  r,
63
73
  e.required
64
74
  ]);
65
- return /* @__PURE__ */ x(m, {
75
+ return /* @__PURE__ */ x(l, {
66
76
  value: typeof t == "string" ? t : "",
67
- options: o,
77
+ options: a,
68
78
  onChange: (e) => n(e),
69
- placeholder: a("action.dialog.select_status_group", "Select status group…")
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: a }) {
73
- let o = i(), s = _(() => {
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, a);
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
- a
94
+ i
85
95
  ]), c = _(() => [{
86
96
  value: "",
87
- label: s.length === 0 ? o("action.dialog.select_status_group_first", "Select status group first") : o("action.dialog.select_status", "Select status…")
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: o(e.name) || e.code
91
- }))], [o, s]);
92
- return /* @__PURE__ */ x(m, {
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: o("action.dialog.select_status", "Select status…")
106
+ placeholder: a("action.dialog.select_status", "Select status…")
97
107
  });
98
108
  }
99
- function j({ open: n, onOpenChange: r, action: u, actionName: m, onSubmit: C, isPending: E, row: D, bulkSelection: j }) {
100
- let M = i(), { data: N } = t(), P = u.resolved_params, F = u.resolved_hidden_defaults ?? {}, I = !!u.destructive, L = e(M, u), R = h(() => {
101
- E || r(!1);
102
- }, [E, r]), z = v(null);
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
- n && z.current?.focus();
105
- }, [n]);
114
+ e && z.current?.focus();
115
+ }, [e]);
106
116
  let B = _(() => P ? Array.from(P) : [], [P]), V = _(() => {
107
- if (u.entity && N) return N.entities[u.entity]?.status_groups;
108
- }, [u.entity, N]), H = _(() => {
109
- if (u.entity && N) return N.entities[u.entity];
110
- }, [u.entity, N]), U = _(() => {
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(n && JSON.stringify(K) !== JSON.stringify(G));
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 n ? /* @__PURE__ */ S(b, { children: [/* @__PURE__ */ x("div", {
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": m,
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: 12,
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: 7,
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 ? a.trash : a.bolt, { size: 15 })
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: m
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(u.display?.description) || (B.length > 0 ? M("action.dialog.params_hint", "Fill in the parameters below to execute this action.") : "")
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(o, {
242
- icon: /* @__PURE__ */ x(a.x, { size: 14 }),
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: 8,
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(f, {
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(l, {
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(s, {
365
+ /* @__PURE__ */ x(i, {
356
366
  onClick: R,
357
367
  disabled: E,
358
368
  children: M("dialog.cancel", "Cancel")
359
369
  }),
360
- /* @__PURE__ */ x(s, {
370
+ /* @__PURE__ */ x(i, {
361
371
  kind: "primary",
362
372
  danger: I,
363
- icon: x(E ? c : I ? a.trash : a.bolt, { size: 13 }),
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…") : m || M("dialog.confirm", "Confirm")
376
+ children: E ? M("action.dialog.working", "Working…") : f || M("dialog.confirm", "Confirm")
367
377
  })
368
378
  ]
369
379
  })