@declarion/react 0.65.1 → 0.66.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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,708 @@
1
+ import { coerceDisplayString as e } from "../../lib/display-value.js";
2
+ import { buildDetailHrefFromId as t, entityAllowsMutation as n, pkValuesToDetailId as ee } from "../../types/schema.js";
3
+ import { useEmbed as r } from "../../embed/EmbedContext.js";
4
+ import { useFirstScreenSettled as i } from "../../lib/capabilityPrefetch.js";
5
+ import { useAuthStore as a } from "../../stores/auth.js";
6
+ import { useSchema as te } from "../../hooks/useSchema.js";
7
+ import { useText as ne } from "../../hooks/useText.js";
8
+ import { useResponsiveMode as re } from "../../hooks/useResponsiveMode.js";
9
+ import { executeAction as ie } from "../../api/data.js";
10
+ import { usePreferencesStore as ae } from "../../stores/preferences.js";
11
+ import { useTabStore as oe } from "../../stores/tabs.js";
12
+ import { useTabNavigate as se } from "../../hooks/useTabNavigate.js";
13
+ import { filterUnavailableMutationActions as ce, getScreenActions as le } from "../../lib/actions.js";
14
+ import { useScreenIsLive as ue } from "../../stores/realtime.js";
15
+ import { useDebounce as de } from "../../hooks/useDebounce.js";
16
+ import { FileDraftScope as o, useFileDraftScope as fe } from "../file-widgets/draft-scope.js";
17
+ import { getSchemaFieldValue as pe, serializeSchemaFieldValue as me } from "../file-widgets/host.js";
18
+ import { buildFilesPayload as he, collectCommittedFileIds as ge } from "../file-widgets/payload.js";
19
+ import { resolveCellRenderer as _e } from "../fields/cells/registry.js";
20
+ import { useUpdateObject as ve } from "../../hooks/useMutations.js";
21
+ import { countActiveFilters as ye, parseFilterURLState as be, removeFilterAtPath as xe } from "../../lib/filters.js";
22
+ import { useFilters as Se } from "../../hooks/useFilters.js";
23
+ import { useRegisterScreenTab as Ce } from "../../hooks/useRegisterScreenTab.js";
24
+ import { useTabSearchMirror as we } from "../../hooks/useTabSearchMirror.js";
25
+ import { useSavedScrollOffset as Te, useVirtualScrollRestoration as Ee } from "../../lib/scroll-restoration.js";
26
+ import { FilterDrawer as De } from "../filters/FilterDrawer.js";
27
+ import { FilterChips as Oe } from "../filters/FilterChips.js";
28
+ import { effectiveScreenForRecord as ke } from "../../lib/variants.js";
29
+ import { QuickPeek as Ae } from "../list/QuickPeek.js";
30
+ import { clearPeekDraft as je } from "../list/peekDraftStore.js";
31
+ import { resolveCard as Me, resolveListProjection as Ne, resolveVariantRenderFields as Pe } from "./list/cardProjection.js";
32
+ import { useActiveView as Fe } from "./list/useActiveView.js";
33
+ import { listTableFeatures as Ie } from "./list/table-features.js";
34
+ import "./list/page-size.js";
35
+ import { useListFilterPresentation as Le } from "./list/useListFilterPresentation.js";
36
+ import { FilterOmittedNotice as Re } from "../filters/FilterOmittedNotice.js";
37
+ import { useListQuery as ze } from "./list/useListQuery.js";
38
+ import { useListSort as Be } from "./list/useListSort.js";
39
+ import { rowSelectionKey as Ve, useListSelection as He } from "./list/useListSelection.js";
40
+ import { useListColumnLayout as Ue } from "./list/useListColumnLayout.js";
41
+ import { useListRowInteraction as We } from "./list/useListRowInteraction.js";
42
+ import { buildColumnSizeVars as Ge } from "./list/column-sizing.js";
43
+ import { ListTable as Ke } from "./list/ListTable.js";
44
+ import { ListTableRow as qe } from "./list/ListTableRow.js";
45
+ import { ListNoRows as Je } from "./list/ListNoRows.js";
46
+ import { ListFooter as Ye } from "./list/ListFooter.js";
47
+ import { ListToolbar as Xe } from "./list/ListToolbar.js";
48
+ import { overwritableViewName as Ze, useListViews as Qe } from "./list/useListViews.js";
49
+ import { DeleteViewDialog as $e } from "./list/DeleteViewDialog.js";
50
+ import { ListUrlBanner as et } from "./list/ListUrlBanner.js";
51
+ import { useFilterValueLabels as tt } from "./list/use-filter-value-labels.js";
52
+ import { SaveViewDialog as nt } from "./list/SaveViewDialog.js";
53
+ import { ListHeader as rt } from "./list/ListHeader.js";
54
+ import { ListFloatbar as it } from "./list/ListFloatbar.js";
55
+ import { buildListColumns as at } from "./list/columns.js";
56
+ import { RowContextMenu as ot } from "./list/RowContextMenu.js";
57
+ import { useHeaderReorder as st } from "./list/useHeaderReorder.js";
58
+ import { Suspense as ct, lazy as s, useCallback as c, useEffect as l, useMemo as u, useRef as d, useState as f } from "react";
59
+ import { Fragment as lt, jsx as p, jsxs as ut } from "react/jsx-runtime";
60
+ import { useSearchParams as dt } from "react-router";
61
+ import { useTable as ft } from "@tanstack/react-table";
62
+ import { useVirtualizer as pt } from "@tanstack/react-virtual";
63
+ //#region src/components/pages/SmartListPage.impl.tsx
64
+ var mt = s(() => import("./list/ListCardsBody.js").then((e) => ({ default: e.ListCardsBody })));
65
+ function ht({ screenCode: e }) {
66
+ return /* @__PURE__ */ p(o, { children: /* @__PURE__ */ p(m, { screenCode: e }) });
67
+ }
68
+ var gt = [];
69
+ function m({ screenCode: o }) {
70
+ let s = ne(), ht = ne("errors"), m = se(), [h, g] = dt(), { data: _ } = te(), [_t, v] = f(!1), [vt, y] = f(!1), [yt, bt] = f(null), xt = a((e) => e.user), St = a((e) => e.activeTenant), Ct = fe(), b = _?.screens[o], x = b?.entity ? _?.entities[b.entity] : void 0, S = b?.entity, wt = n(x, "create"), C = n(x, "update"), Tt = n(x, "delete"), w = _?.actions, T = u(() => ce(le(x?.actions, b?.actions, "list_toolbar", w), x), [
71
+ x,
72
+ b?.actions,
73
+ w
74
+ ]), E = u(() => ce(le(x?.actions, void 0, "list_floatbar", w), x), [x, w]), D = u(() => {
75
+ let e = /* @__PURE__ */ new Map(), t = (t) => {
76
+ for (let n of le(x?.actions, t, "list_row", w)) e.set(n.code, n);
77
+ };
78
+ t(b?.row_actions);
79
+ for (let e of b?.variants?.items() ?? []) e.row_actions !== void 0 && t(e.row_actions);
80
+ return ce([...e.values()], x);
81
+ }, [
82
+ x,
83
+ b,
84
+ w
85
+ ]), Et = b?.row_actions !== void 0, Dt = u(() => E.length > 0 || x?.export?.enabled !== !1 && b?.export?.enabled !== !1, [
86
+ E,
87
+ x?.export?.enabled,
88
+ b?.export?.enabled
89
+ ]), Ot = !!x?.soft_delete, kt = Ot && (xt?.permissions ?? []).some((e) => e === "feature:view_deleted" || e === "feature:*" || e === "*"), At = kt && h.get("include_deleted") === "true", jt = r(), { openTab: Mt, updateTabSearch: Nt, findTabByPathname: Pt } = oe();
90
+ Ce(b, x, h.toString()), we(b?.route);
91
+ let Ft = c((e) => {
92
+ if (!b?.route || !x || jt.enabled) return;
93
+ let t = Pt(b.route);
94
+ t ? Nt(t.id, e) : Mt({
95
+ pathname: b.route,
96
+ search: e,
97
+ title: s(b.display?.name) || s(x.display.name_plural),
98
+ icon: b.display?.icon || x.display.icon,
99
+ closable: !0
100
+ });
101
+ }, [
102
+ s,
103
+ b,
104
+ x,
105
+ jt.enabled,
106
+ Pt,
107
+ Nt,
108
+ Mt
109
+ ]), O = parseInt(h.get("page") ?? "1", 10), k = (() => {
110
+ let e = parseInt(h.get("per_page") ?? "", 10);
111
+ return !Number.isFinite(e) || e <= 0 || e > 1e3 ? 200 : e;
112
+ })(), It = h.get("search") ?? "", Lt = u(() => {
113
+ let e = be(h);
114
+ return e.error === null ? null : ht(e.errorCode ?? "", e.error);
115
+ }, [ht, h]), A = Fe({
116
+ screenCode: o,
117
+ screen: b,
118
+ entity: x,
119
+ searchParams: h,
120
+ setSearchParams: g,
121
+ userId: xt?.id,
122
+ tenantId: St?.id,
123
+ filterError: !!Lt
124
+ }), { filters: Rt, columns: zt, sort: Bt } = A.defaults, { filters: Vt, setFilters: j, clearFilters: Ht } = Se({ defaults: Rt }), { visibleFilterState: Ut, filterFieldMeta: Wt, allFilterFieldMeta: Gt, filterFieldName: Kt } = Le(b, x, _?.entities, Vt), M = Ut.filters, qt = ye(M), Jt = c(() => j(gt), [j]), Yt = Be({
125
+ searchParams: h,
126
+ setSearchParams: g,
127
+ defaultSort: Bt,
128
+ commitScreenTabSearch: Ft
129
+ }), { cols: Xt, nullsByField: Zt, value: Qt, forRequest: $t, tableSorting: en, write: tn, applyColumn: nn, shiftClickColumn: rn, appendColumn: an, clearColumn: on, clearAll: sn } = Yt, cn = Ue({
130
+ screenCode: o,
131
+ screen: b,
132
+ searchParams: h,
133
+ setSearchParams: g,
134
+ defaultColumns: zt
135
+ }), { visible: N, sizing: ln, setSizing: un, apply: dn, commitResize: fn } = cn, pn = Qe({
136
+ screenCode: o,
137
+ screen: b,
138
+ entity: x,
139
+ searchParams: h,
140
+ setSearchParams: g,
141
+ userId: xt?.id,
142
+ tenantId: St?.id,
143
+ all: A.all,
144
+ activeId: A.activeId,
145
+ active: A.active,
146
+ clearedKey: A.clearedKey,
147
+ filters: Vt,
148
+ visibleColumns: N,
149
+ sort: Qt
150
+ }), { active: P, saveAsNew: mn, overwriteActive: hn, isSaving: gn } = pn, _n = de(It, 300), F = re(), I = u(() => {
151
+ let e = b?.responsive?.[F.category]?.presentation;
152
+ return e === "table" || e === "cards" ? e : F.category === "phone" ? "cards" : "table";
153
+ }, [b?.responsive, F.category]), vn = u(() => Me({
154
+ entity: x,
155
+ screen: b,
156
+ savedViewColumns: P?.columns
157
+ }), [
158
+ x,
159
+ b,
160
+ P?.columns
161
+ ]), yn = u(() => Ne({
162
+ entity: x,
163
+ screen: b,
164
+ presentation: I,
165
+ visibleColumns: N,
166
+ card: vn,
167
+ rowActions: D,
168
+ toolbarActions: T,
169
+ bulkActions: E,
170
+ sort: Xt,
171
+ screens: _?.screens
172
+ }), [
173
+ x,
174
+ b,
175
+ I,
176
+ N,
177
+ vn,
178
+ D,
179
+ T,
180
+ E,
181
+ Xt,
182
+ _?.screens
183
+ ]), bn = ze({
184
+ entity: x,
185
+ entityCode: S,
186
+ screen: b,
187
+ screenCode: o,
188
+ page: O,
189
+ perPage: k,
190
+ sortForRequest: $t,
191
+ debouncedSearch: _n,
192
+ filters: M,
193
+ isHeld: A.isHeld,
194
+ retryHeld: A.retryViews,
195
+ includeDeleted: At,
196
+ expand: yn.expandFields,
197
+ select: yn.selectFields,
198
+ runCountQuery: !0,
199
+ urlKey: `${S ?? ""}|${h.toString()}`
200
+ }), { rows: L, meta: xn, refs: Sn, isLoading: Cn, isFetching: wn, isShowingPreviousRows: Tn, isError: En, error: Dn, isLoadingStale: On, retry: kn, countTotal: An, countStrategy: jn, countLoading: Mn, countError: Nn, totalPages: R, hasMorePages: Pn, isCursor: Fn, fetchNextPage: In, isFetchingNextPage: Ln } = bn;
201
+ i(!Cn);
202
+ let Rn = He(x, L, wn), { state: zn, setState: z, ids: B, pkValues: Bn, rows: Vn, keyOf: V } = Rn, Hn = ue(x?.realtime, S ?? ""), Un = ve(S ?? ""), H = d(Sn);
203
+ H.current = Sn;
204
+ let Wn = u(() => {
205
+ let e = /* @__PURE__ */ new Map();
206
+ if (!x) return e;
207
+ for (let t of Pe(x, b, P?.columns)) {
208
+ if (t.startsWith("$") || x.files?.get(t)) continue;
209
+ let n = x.fields.get(t);
210
+ n && e.set(t, _e({
211
+ field: n,
212
+ fieldName: t,
213
+ surface: "list",
214
+ entity: x,
215
+ entityCode: S,
216
+ entities: _?.entities,
217
+ screens: _?.screens,
218
+ refs: () => H.current,
219
+ t: s
220
+ }));
221
+ }
222
+ return e;
223
+ }, [
224
+ x,
225
+ S,
226
+ b,
227
+ P?.columns,
228
+ _?.entities,
229
+ _?.screens,
230
+ H,
231
+ s
232
+ ]), { labelFor: Gn, refs: Kn } = tt(Gt, M, Sn, _?.entities), U = We({
233
+ entity: x,
234
+ screen: b,
235
+ screens: _?.screens,
236
+ entities: _?.entities,
237
+ searchParams: h,
238
+ tabNavigate: m,
239
+ commitScreenTabSearch: Ft,
240
+ isPhone: F.category === "phone",
241
+ canUpdate: C
242
+ }), { peekAllowed: W, peekRow: G, setPeekRow: K, peekFields: qn, peekActions: Jn, peekExecute: Yn, contextMenu: q, setContextMenu: Xn } = U, J = u(() => !b || !x ? !1 : t(b, "_", x, _?.screens) !== null, [
243
+ b,
244
+ x,
245
+ _?.screens
246
+ ]), Zn = u(() => at({
247
+ visibleCols: N,
248
+ entity: x,
249
+ screen: b,
250
+ schema: _,
251
+ entityCode: S,
252
+ rowActions: D,
253
+ hasBatchActions: Dt,
254
+ hasExplicitRowActions: Et,
255
+ canUpdate: C,
256
+ canDelete: Tt,
257
+ peekEnabled: W,
258
+ hasDetailTarget: J,
259
+ t: s,
260
+ tabNavigate: m,
261
+ refsRef: H,
262
+ rowSelectionKey: Ve,
263
+ setPeekRow: K
264
+ }), [
265
+ b,
266
+ x,
267
+ N,
268
+ m,
269
+ Dt,
270
+ D,
271
+ Et,
272
+ S,
273
+ W,
274
+ J,
275
+ _,
276
+ s,
277
+ C,
278
+ Tt,
279
+ H,
280
+ K
281
+ ]), Y = ft({
282
+ features: Ie,
283
+ data: L,
284
+ columns: Zn,
285
+ manualSorting: !0,
286
+ enableColumnResizing: !0,
287
+ columnResizeMode: "onChange",
288
+ onColumnSizingChange: un,
289
+ state: {
290
+ sorting: en,
291
+ rowSelection: zn,
292
+ columnSizing: ln
293
+ },
294
+ onSortingChange: (e) => {
295
+ let t = (typeof e == "function" ? e(en) : e).slice(0, 5);
296
+ if (t.length === 0) {
297
+ tn([]);
298
+ return;
299
+ }
300
+ let n = t.map((e) => {
301
+ let t = Zt.get(e.id);
302
+ return {
303
+ field: e.id,
304
+ dir: e.desc ? "desc" : "asc",
305
+ ...t ? { nulls: t } : {}
306
+ };
307
+ });
308
+ tn(n);
309
+ },
310
+ onRowSelectionChange: z,
311
+ getRowId: V
312
+ }), X = Y.state.columnResizing.isResizingColumn, Qn = d(!1);
313
+ l(() => {
314
+ let e = !!Qn.current && !X;
315
+ Qn.current = X, e && fn(Y.state.columnSizing);
316
+ }, [
317
+ X,
318
+ fn,
319
+ Y
320
+ ]);
321
+ let $n = Ge(Y), er = Y.getTotalSize();
322
+ l(() => {
323
+ let e = (e) => {
324
+ let t = e.target?.tagName;
325
+ t === "INPUT" || t === "TEXTAREA" || t === "SELECT" ? e.key === "Escape" && (e.target.blur(), v(!1)) : (e.key === "/" && !e.metaKey && !e.ctrlKey && (e.preventDefault(), document.querySelector("[placeholder*=\"Search\"]")?.focus()), e.key === "f" && !e.metaKey && !e.ctrlKey && (e.preventDefault(), v((e) => !e)), e.key === "Escape" && v(!1));
326
+ };
327
+ return document.addEventListener("keydown", e), () => document.removeEventListener("keydown", e);
328
+ }, []);
329
+ let Z = d(null), { rows: Q } = Y.getRowModel(), tr = d(null), nr = st({
330
+ visibleCols: N,
331
+ onReorder: dn,
332
+ scrollElRef: Z,
333
+ theadRef: tr
334
+ }), rr = ae((e) => e.density), ir = ae((e) => e.zebra), ar = Te(), $ = pt({
335
+ count: Q.length,
336
+ getScrollElement: () => Z.current,
337
+ estimateSize: () => I === "cards" ? 142 : 48,
338
+ overscan: 10,
339
+ initialOffset: ar
340
+ }), or = u(() => Q.map((e) => e.id), [Q]);
341
+ Ee({
342
+ virtualizer: $,
343
+ scrollElementRef: Z,
344
+ rowKeys: or
345
+ }), l(() => {
346
+ $.measure();
347
+ }, [rr, $]), l(() => {
348
+ $.measure();
349
+ }, [
350
+ F.width,
351
+ F.height,
352
+ I,
353
+ $
354
+ ]);
355
+ let sr = c((e) => {
356
+ g((t) => {
357
+ let n = new URLSearchParams(t);
358
+ return e ? n.set("search", e) : n.delete("search"), n.set("page", "1"), n;
359
+ });
360
+ }, [g]), cr = c(() => {
361
+ g((e) => {
362
+ let t = new URLSearchParams(e);
363
+ return t.get("include_deleted") ? t.delete("include_deleted") : t.set("include_deleted", "true"), t.set("page", "1"), t;
364
+ });
365
+ }, [g]), lr = c((e) => {
366
+ g((t) => {
367
+ let n = new URLSearchParams(t);
368
+ return n.set("page", String(e)), n;
369
+ });
370
+ }, [g]);
371
+ l(() => {
372
+ R !== void 0 && O > R && lr(R);
373
+ }, [
374
+ R,
375
+ O,
376
+ lr
377
+ ]);
378
+ let ur = c((e) => {
379
+ g((t) => {
380
+ let n = new URLSearchParams(t);
381
+ return n.set("per_page", String(e)), n.set("page", "1"), n;
382
+ });
383
+ }, [g]);
384
+ if (!b || !x) return null;
385
+ let dr = x.display, fr = s(b.display?.name) || s(dr.name), pr = b.display?.icon || dr.icon, mr = s(b.display?.description) || s(dr.description), hr = F.category === "phone", gr = I === "cards", _r = Bn.map((e) => ee(x, e)), vr = {
386
+ entity: x,
387
+ entityCode: S ?? "",
388
+ screen: b,
389
+ screenRoute: b.route,
390
+ selectedRows: Vn,
391
+ selectedIds: _r,
392
+ t: s,
393
+ tabNavigate: (e, t) => m(e, {
394
+ title: t?.title,
395
+ icon: t?.icon,
396
+ search: t?.search
397
+ }),
398
+ runActionApi: (e, t) => ie(e, t)
399
+ };
400
+ return /* @__PURE__ */ ut("div", {
401
+ style: {
402
+ display: "flex",
403
+ flexDirection: "column",
404
+ height: "100%",
405
+ background: "var(--background)"
406
+ },
407
+ children: [
408
+ /* @__PURE__ */ ut(lt, { children: [
409
+ /* @__PURE__ */ p(rt, {
410
+ title: fr,
411
+ description: mr,
412
+ toolbarActions: T,
413
+ screenActionLayout: b.action_layout,
414
+ entityActionLayout: x.action_layout,
415
+ selectedIds: B,
416
+ data: L,
417
+ rowKey: V,
418
+ onActionSuccess: () => z({}),
419
+ widgetContext: vr
420
+ }),
421
+ /* @__PURE__ */ p(Xe, {
422
+ screen: b,
423
+ entity: x,
424
+ entityCode: S,
425
+ schema: _,
426
+ screenCode: o,
427
+ screenName: fr,
428
+ isPhone: hr,
429
+ isCardsPresentation: gr,
430
+ sort: Yt,
431
+ columns: cn,
432
+ views: pn,
433
+ query: bn,
434
+ selection: Rn,
435
+ filters: {
436
+ json: M,
437
+ debouncedSearch: _n,
438
+ count: qt,
439
+ onOpen: () => v(!0)
440
+ },
441
+ searchValue: It,
442
+ onSearchChange: sr,
443
+ onSaveView: () => y(!0),
444
+ onDeleteView: bt,
445
+ page: O,
446
+ perPage: k,
447
+ includeDeleted: At,
448
+ canViewDeleted: kt,
449
+ onToggleDeleted: cr,
450
+ realtime: x?.realtime === !0,
451
+ isLive: Hn
452
+ }),
453
+ /* @__PURE__ */ p(et, {
454
+ filterError: Lt,
455
+ unresolvedViewId: A.isUnresolved ? A.activeId : null,
456
+ onClearFilters: Ht,
457
+ onClearView: A.clearActiveView
458
+ }),
459
+ Ut.omitted && /* @__PURE__ */ p(Re, { className: "px-5 pb-2.5" }),
460
+ M.length > 0 && /* @__PURE__ */ p("div", {
461
+ style: { padding: "0 20px 10px" },
462
+ children: /* @__PURE__ */ p(Oe, {
463
+ filters: M,
464
+ resolveValue: Gn,
465
+ onRemoveAtPath: (e) => j(xe(M, e)),
466
+ onClearAll: Jt,
467
+ onChipClick: () => v(!0),
468
+ fieldLabel: Kt
469
+ })
470
+ })
471
+ ] }),
472
+ /* @__PURE__ */ p(Je, {
473
+ isLoading: Cn,
474
+ tableLoadingStale: On,
475
+ isError: En,
476
+ error: Dn,
477
+ rowCount: L.length,
478
+ entity: x,
479
+ screen: b,
480
+ screenName: fr,
481
+ screenIcon: pr,
482
+ isFiltered: !!_n || qt > 0,
483
+ canCreate: wt,
484
+ toolbarActions: T,
485
+ onRetry: kn
486
+ }),
487
+ Cn || En || L.length === 0 ? null : /* @__PURE__ */ p("div", {
488
+ style: {
489
+ flex: 1,
490
+ minHeight: 0,
491
+ padding: "0 20px 16px",
492
+ display: "flex",
493
+ flexDirection: "column"
494
+ },
495
+ children: /* @__PURE__ */ ut("div", {
496
+ style: {
497
+ background: "var(--surface)",
498
+ border: "1px solid var(--border)",
499
+ borderRadius: "var(--radius-md)",
500
+ overflow: "hidden",
501
+ boxShadow: "var(--shadow-xs)",
502
+ display: "flex",
503
+ flexDirection: "column",
504
+ flex: 1,
505
+ minHeight: 0
506
+ },
507
+ children: [/* @__PURE__ */ p("div", {
508
+ ref: Z,
509
+ "data-testid": "list-scroll",
510
+ "data-presentation": I,
511
+ style: {
512
+ overflow: "auto",
513
+ flex: 1,
514
+ minHeight: 0
515
+ },
516
+ children: I === "cards" ? /* @__PURE__ */ p(ct, {
517
+ fallback: null,
518
+ children: /* @__PURE__ */ p(mt, {
519
+ rows: Q,
520
+ virtualizer: $,
521
+ entity: x,
522
+ screen: b,
523
+ entityCode: S,
524
+ entities: _?.entities,
525
+ savedViewColumns: P?.columns,
526
+ refs: H.current,
527
+ renderers: Wn,
528
+ rowActions: D,
529
+ tabNavigate: m,
530
+ interaction: U,
531
+ hasSoftDelete: Ot,
532
+ zebra: ir,
533
+ hasBatchActions: Dt,
534
+ hasDetailTarget: J,
535
+ rowKey: V
536
+ })
537
+ }) : /* @__PURE__ */ p(Ke, {
538
+ showsPreviousRows: Tn,
539
+ table: Y,
540
+ columns: Zn,
541
+ rows: Q,
542
+ entity: x,
543
+ columnSizeVars: $n,
544
+ totalColumnsWidth: er,
545
+ theadRef: tr,
546
+ virtualizer: $,
547
+ visibleCols: N,
548
+ headerReorder: nr,
549
+ sortCols: Xt,
550
+ sortNullsMap: Zt,
551
+ shiftClickColumn: rn,
552
+ applyColumnSort: nn,
553
+ appendColumnSort: an,
554
+ clearColumnSort: on,
555
+ clearAllSorts: sn,
556
+ renderRow: (e, t) => /* @__PURE__ */ p(qe, {
557
+ row: e,
558
+ rowIndex: t,
559
+ entity: x,
560
+ hasSoftDelete: Ot,
561
+ zebra: ir,
562
+ hasDetailTarget: J,
563
+ interaction: U,
564
+ measureElement: $.measureElement
565
+ }, e.id),
566
+ isResizingColumn: X
567
+ })
568
+ }), /* @__PURE__ */ p(Ye, {
569
+ meta: xn,
570
+ isCursor: Fn,
571
+ isPhone: hr,
572
+ rowsLoaded: L.length,
573
+ selectedCount: B.length,
574
+ countTotal: An,
575
+ countStrategy: jn,
576
+ countLoading: Mn,
577
+ countError: Nn,
578
+ page: O,
579
+ totalPages: R,
580
+ goToPage: lr,
581
+ perPage: k,
582
+ setPerPage: ur,
583
+ hasMorePages: Pn,
584
+ fetchNextPage: In,
585
+ isFetchingNextPage: Ln
586
+ })]
587
+ })
588
+ }),
589
+ /* @__PURE__ */ p(De, {
590
+ open: _t,
591
+ onClose: () => v(!1),
592
+ filters: M,
593
+ onApply: j,
594
+ availableFields: Wt,
595
+ allFields: Gt,
596
+ fieldLabel: Kt,
597
+ resolveValue: Gn,
598
+ defaultFilters: b?.default_filters,
599
+ refs: Kn
600
+ }),
601
+ /* @__PURE__ */ p($e, {
602
+ view: yt,
603
+ onCancel: () => bt(null),
604
+ onConfirm: (e) => {
605
+ pn.deleteView(e).catch(() => void 0).finally(() => bt(null));
606
+ }
607
+ }),
608
+ /* @__PURE__ */ p(nt, {
609
+ open: vt,
610
+ pending: gn,
611
+ onClose: () => y(!1),
612
+ overwriteViewName: Ze(s, P),
613
+ onOverwrite: async () => {
614
+ await hn(), y(!1);
615
+ },
616
+ onSave: async (e) => {
617
+ await mn(e), y(!1);
618
+ }
619
+ }),
620
+ B.length > 0 && /* @__PURE__ */ p(it, {
621
+ selectedIds: B,
622
+ floatbarActions: E,
623
+ screenActionLayout: b.action_layout,
624
+ entityActionLayout: x.action_layout,
625
+ data: L,
626
+ rowKey: V,
627
+ entityCode: S,
628
+ entity: x,
629
+ screen: b,
630
+ onClear: () => z({}),
631
+ onActionSuccess: () => z({}),
632
+ widgetContext: vr
633
+ }),
634
+ q && x && b && /* @__PURE__ */ p(ot, {
635
+ x: q.x,
636
+ y: q.y,
637
+ row: q.row,
638
+ rowId: V(q.row),
639
+ screen: b,
640
+ fullScreen: b,
641
+ entity: x,
642
+ entityCode: S,
643
+ rowActions: D,
644
+ tabNavigate: m,
645
+ peekAllowed: W,
646
+ hasDetailTarget: J,
647
+ onPeek: K,
648
+ onClose: () => Xn(null)
649
+ }),
650
+ W && G && x && /* @__PURE__ */ p(Ae, {
651
+ entity: x,
652
+ entityCode: S,
653
+ record: G,
654
+ title: (() => {
655
+ let t = b.columns?.find((e) => !e.startsWith("$status.") && !e.startsWith("$property."));
656
+ return t ? e(G[t] ?? s(x.display.name)) : s(x.display.name);
657
+ })(),
658
+ recordId: (() => {
659
+ let t = x.fields.names()?.find((e) => x.fields.get(e)?.primary);
660
+ return t ? e(G[t]) : void 0;
661
+ })(),
662
+ fields: qn,
663
+ screen: ke(x, b, G),
664
+ actions: Jn,
665
+ screenActionLayout: ke(x, b, G)?.action_layout,
666
+ entityActionLayout: x.action_layout,
667
+ executeAction: Yn,
668
+ onClose: () => {
669
+ if (x && G) {
670
+ let t = x.fields.names()?.find((e) => x.fields.get(e)?.primary);
671
+ t && je(e(G[t]));
672
+ }
673
+ K(null);
674
+ },
675
+ onOpen: (e) => {
676
+ let t = G;
677
+ K(null), U.navigateToDetail(t, { draft: e });
678
+ },
679
+ onSave: (t) => {
680
+ K(t);
681
+ let n = x.fields.names()?.find((e) => x.fields.get(e)?.primary);
682
+ if (!n) return;
683
+ let ee = e(t[n]), r = {};
684
+ for (let e of x.fields.names()) {
685
+ let n = pe(x, t, e), ee = pe(x, G, e), i = me(x, e, n), a = me(x, e, ee);
686
+ (i === "" ? null : i) !== (a === "" || a === void 0 ? null : a) && (r[e] = i);
687
+ }
688
+ let i = he({
689
+ entity: x,
690
+ formData: t,
691
+ record: G,
692
+ isNew: !1
693
+ });
694
+ if (Object.keys(i).length > 0 && (r.$files = i), Object.keys(r).length === 0) return;
695
+ let a = ge(i);
696
+ Un.mutate({
697
+ pkValues: ee,
698
+ data: r
699
+ }, { onSuccess: () => {
700
+ a.forEach((e) => Ct.markCommitted(e));
701
+ } });
702
+ }
703
+ })
704
+ ]
705
+ });
706
+ }
707
+ //#endregion
708
+ export { ht as SmartListPage };