@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,115 @@
1
+ import { coerceDisplayString as e } from "../../../lib/display-value.js";
2
+ import { getPrimaryKeyFields as t, resolveRefRecordLabel as n } from "../../../types/schema.js";
3
+ import { useText as r } from "../../../hooks/useText.js";
4
+ import { listEntities as i } from "../../../api/data.js";
5
+ import { flatFieldConditions as a } from "../../../lib/filters.js";
6
+ import { useQueries as o } from "@tanstack/react-query";
7
+ //#region src/components/pages/list/use-filter-value-labels.ts
8
+ var s = 200;
9
+ function c(t, a, c, u) {
10
+ let d = r(), f = new Map(t.map((e) => [e.code, e])), p = l(f, a, c, u), m = o({ queries: p.map((e) => {
11
+ let t = {
12
+ per_page: s,
13
+ filters: [{
14
+ field: e.lookupField,
15
+ op: "in",
16
+ value: e.values
17
+ }],
18
+ count: "window"
19
+ };
20
+ return {
21
+ queryKey: [
22
+ "entity-data",
23
+ e.entity,
24
+ t
25
+ ],
26
+ queryFn: ({ signal: n }) => i(e.entity, t, { signal: n }),
27
+ staleTime: 6e4
28
+ };
29
+ }) }), h = {};
30
+ if (c) for (let [e, t] of Object.entries(c)) h[e] = { ...t };
31
+ let g = /* @__PURE__ */ new Set();
32
+ return m.forEach((t, n) => {
33
+ let r = p[n];
34
+ if (!r) return;
35
+ let i = t.data?.data;
36
+ if (i) {
37
+ let t = h[r.entity] ??= {};
38
+ for (let n of i) {
39
+ let i = e(n[r.lookupField]);
40
+ i && (t[i] = n);
41
+ }
42
+ }
43
+ if (t.isLoading) for (let e of r.values) h[r.entity]?.[e] || g.add(`${r.entity}::${e}`);
44
+ }), {
45
+ labelFor: (t, r) => {
46
+ let i = e(r), a = f.get(t);
47
+ if (!a) return {
48
+ status: "plain",
49
+ raw: i
50
+ };
51
+ let o = a.specialValues?.find((e) => e.code === i);
52
+ if (o) return {
53
+ status: "special",
54
+ label: d(o.label) || i,
55
+ raw: i
56
+ };
57
+ if (a.options) {
58
+ let e = a.options.find((e) => e.value === i);
59
+ if (e) return {
60
+ status: "resolved",
61
+ label: e.label,
62
+ raw: i
63
+ };
64
+ }
65
+ if (a.type === "ref" && a.ref?.entity) {
66
+ let e = a.ref.entity, t = h[e]?.[i];
67
+ if (t) {
68
+ let r = a.ref.display?.field ?? u?.[e]?.display?.display_field;
69
+ return {
70
+ status: "resolved",
71
+ label: n(d, t, r, i),
72
+ raw: i
73
+ };
74
+ }
75
+ return g.has(`${e}::${i}`) ? {
76
+ status: "loading",
77
+ raw: i
78
+ } : {
79
+ status: "unresolved",
80
+ raw: i
81
+ };
82
+ }
83
+ return {
84
+ status: "plain",
85
+ raw: i
86
+ };
87
+ },
88
+ refs: h
89
+ };
90
+ }
91
+ function l(n, r, i, o) {
92
+ let s = /* @__PURE__ */ new Map();
93
+ for (let c of a(r)) {
94
+ if (!c.field) continue;
95
+ let r = n.get(c.field);
96
+ if (!r || r.type !== "ref" || !r.ref?.entity) continue;
97
+ let a = r.ref.entity, l = o?.[a], u = r.ref.field || (l ? t(l)[0] : "id") || "id", d = Array.isArray(c.value) ? c.value : [c.value];
98
+ for (let t of d) {
99
+ let n = e(t);
100
+ if (!n || r.specialValues?.some((e) => e.code === n) || i?.[a]?.[n]) continue;
101
+ let o = `${a}::${u}`, c = s.get(o);
102
+ c || (c = {
103
+ key: o,
104
+ entity: a,
105
+ lookupField: u,
106
+ values: []
107
+ }, s.set(o, c)), c.values.includes(n) || c.values.push(n);
108
+ }
109
+ }
110
+ let c = [...s.values()];
111
+ for (let e of c) e.values.sort();
112
+ return c.sort((e, t) => e.key.localeCompare(t.key)), c;
113
+ }
114
+ //#endregion
115
+ export { c as useFilterValueLabels };
@@ -0,0 +1,98 @@
1
+ import { EMBED_PARAM_KEYS as e } from "../../../embed/params.js";
2
+ import { useViewById as t, useViewsQuery as n } from "../../../hooks/useViews.js";
3
+ import { readableSort as r } from "../../../lib/field-classification.js";
4
+ import { useCallback as i, useEffect as a, useMemo as o, useState as s } from "react";
5
+ //#region src/components/pages/list/useActiveView.ts
6
+ var c = [], l = [], u = [
7
+ "search",
8
+ "per_page",
9
+ "include_deleted"
10
+ ];
11
+ function d(t) {
12
+ let n = new URLSearchParams();
13
+ for (let r of [...u, ...e]) {
14
+ let e = t.get(r);
15
+ e !== null && e !== "" && n.set(r, e);
16
+ }
17
+ return n.set("page", "1"), n;
18
+ }
19
+ function f(e, t, n) {
20
+ return `dcl:smartlist:default-view-cleared:${t ?? ""}:${n ?? ""}:${e}`;
21
+ }
22
+ function p(e) {
23
+ if (typeof window > "u") return !1;
24
+ try {
25
+ return window.sessionStorage?.getItem(e) === "1";
26
+ } catch {
27
+ return !1;
28
+ }
29
+ }
30
+ function m(e, t, n) {
31
+ return {
32
+ filters: t?.filters ?? c,
33
+ sort: r(e, t?.sort) ?? r(e, n?.sort_default)
34
+ };
35
+ }
36
+ function h({ screenCode: e, screen: r, entity: c, searchParams: u, setSearchParams: h, userId: g, tenantId: _, filterError: v }) {
37
+ let { views: y, isSettled: b, refetch: x } = n(e, g), S = u.get("view"), C = o(() => y.find((e) => e.id === S), [y, S]), w = t(b && !C ? S : null, g), T = C ?? w.view, E = !!S && !T && (!b || !w.isSettled), D = u.get("filters") !== null || u.get("columns") !== null || u.get("sort") !== null, O = `${e}|${S ?? ""}`, [k, A] = s(null), j = k === O, M = f(e, _, g), N = p(M), P = o(() => {
38
+ if (!(S || N || D)) return y.find((e) => e.source === "personal" && e.is_default) ?? (r?.default_view ? y.find((e) => e.source === "system" && e.id === r.default_view) : void 0);
39
+ }, [
40
+ S,
41
+ N,
42
+ D,
43
+ y,
44
+ r?.default_view
45
+ ]);
46
+ a(() => {
47
+ if (j) return;
48
+ if (v || S || N || D) {
49
+ A(O);
50
+ return;
51
+ }
52
+ if (!b || (A(O), !P?.id)) return;
53
+ let e = d(u);
54
+ e.set("view", P.id), h(e, { replace: !0 });
55
+ }, [
56
+ j,
57
+ O,
58
+ v,
59
+ S,
60
+ N,
61
+ D,
62
+ b,
63
+ P,
64
+ u,
65
+ h
66
+ ]);
67
+ let F = E, I = !S && !v && !N && !D && (!j || !!P);
68
+ return {
69
+ all: y,
70
+ activeId: S,
71
+ active: T,
72
+ defaults: o(() => ({
73
+ ...m(c, T, r),
74
+ columns: T?.columns?.length ? T.columns : r?.default_columns ?? r?.columns ?? l
75
+ }), [
76
+ c,
77
+ T,
78
+ r
79
+ ]),
80
+ clearedKey: M,
81
+ clearActiveView: i(() => {
82
+ if (typeof window < "u") try {
83
+ window.sessionStorage?.setItem(M, "1");
84
+ } catch {}
85
+ let e = new URLSearchParams(u);
86
+ e.delete("view"), e.set("page", "1"), h(e, { replace: !0 });
87
+ }, [
88
+ u,
89
+ h,
90
+ M
91
+ ]),
92
+ retryViews: x,
93
+ isUnresolved: !!S && !T && !E,
94
+ isHeld: F || I
95
+ };
96
+ }
97
+ //#endregion
98
+ export { d as baseViewSearchParams, f as defaultViewClearedKey, h as useActiveView, m as viewQuery };
@@ -0,0 +1,93 @@
1
+ import { useCallback as e, useEffect as t, useRef as n, useState as r } from "react";
2
+ //#region src/components/pages/list/useHeaderReorder.ts
3
+ var i = 5, a = 48, o = 18;
4
+ function s({ visibleCols: s, onReorder: c, scrollElRef: l, theadRef: u }) {
5
+ let [d, f] = r(null), [p, m] = r(null), [h, g] = r(!1), _ = n(null), v = n(!1), y = n(!1), b = n([]), x = n(null), S = n(0), C = n(null), w = n(0), T = e(() => {
6
+ C.current !== null && (cancelAnimationFrame(C.current), C.current = null);
7
+ }, []), E = e(() => {
8
+ _.current = null, v.current = !1, b.current = [], x.current = null, T(), f(null), m(null), g(!1);
9
+ }, [T]), D = e((e) => {
10
+ let t = b.current, n = e + ((l.current?.scrollLeft ?? 0) - w.current);
11
+ for (let e = 0; e < t.length; e++) if (n < (t[e].left + t[e].right) / 2) return e;
12
+ return t.length;
13
+ }, [l]), O = e(() => {
14
+ let e = l.current;
15
+ if (!v.current || !e) {
16
+ C.current = null;
17
+ return;
18
+ }
19
+ let t = e.getBoundingClientRect(), n = S.current, r = 0;
20
+ if (n < t.left + a ? r = -Math.ceil((t.left + a - n) / a * o) : n > t.right - a && (r = Math.ceil((n - (t.right - a)) / a * o)), r !== 0) {
21
+ e.scrollLeft += r;
22
+ let t = D(S.current);
23
+ x.current = t, m(t);
24
+ }
25
+ C.current = requestAnimationFrame(O);
26
+ }, [l, D]), k = e((e, t) => {
27
+ t.button === 0 && (_.current = {
28
+ colId: e,
29
+ x: t.clientX
30
+ }, v.current = !1, y.current = !1);
31
+ }, []), A = e(() => y.current ? (y.current = !1, !0) : !1, []);
32
+ return t(() => {
33
+ let e = (e) => {
34
+ let t = _.current;
35
+ if (!t) return;
36
+ if (S.current = e.clientX, !v.current) {
37
+ if (Math.abs(e.clientX - t.x) < i) return;
38
+ let n = u.current, r = [];
39
+ if (n) for (let e of s) {
40
+ let t = n.querySelector(`[data-col-id="${CSS.escape(e)}"]`);
41
+ if (t) {
42
+ let n = t.getBoundingClientRect();
43
+ r.push({
44
+ id: e,
45
+ left: n.left,
46
+ right: n.right
47
+ });
48
+ }
49
+ }
50
+ b.current = r, w.current = l.current?.scrollLeft ?? 0, v.current = !0, y.current = !0, f(t.colId), g(!0), C.current === null && (C.current = requestAnimationFrame(O));
51
+ }
52
+ let n = D(e.clientX);
53
+ x.current = n, m(n);
54
+ }, t = (e) => {
55
+ let t = _.current;
56
+ if (t && v.current && e) {
57
+ let e = s.indexOf(t.colId), n = x.current ?? e;
58
+ if (e !== -1) {
59
+ let r = s.filter((t, n) => n !== e);
60
+ n > e && --n, n = Math.max(0, Math.min(n, r.length));
61
+ let i = [
62
+ ...r.slice(0, n),
63
+ t.colId,
64
+ ...r.slice(n)
65
+ ];
66
+ i.some((e, t) => e !== s[t]) && c(i);
67
+ }
68
+ }
69
+ E();
70
+ }, n = () => t(!0), r = (e) => {
71
+ e.key === "Escape" && v.current && t(!1);
72
+ };
73
+ return window.addEventListener("mousemove", e), window.addEventListener("mouseup", n), window.addEventListener("keydown", r), () => {
74
+ window.removeEventListener("mousemove", e), window.removeEventListener("mouseup", n), window.removeEventListener("keydown", r);
75
+ };
76
+ }, [
77
+ s,
78
+ c,
79
+ u,
80
+ l,
81
+ D,
82
+ O,
83
+ E
84
+ ]), t(() => E, [E]), {
85
+ dragColId: d,
86
+ dropIndex: p,
87
+ isDragging: h,
88
+ onHeaderMouseDown: k,
89
+ consumeDragSuppression: A
90
+ };
91
+ }
92
+ //#endregion
93
+ export { s as useHeaderReorder };
@@ -0,0 +1,56 @@
1
+ import { useText as e } from "../../../hooks/useText.js";
2
+ import { toast as t } from "../../../lib/toast.js";
3
+ import { useListLayout as n } from "../../../stores/list-layout.js";
4
+ import { useCallback as r, useEffect as i, useMemo as a, useState as o } from "react";
5
+ //#region src/components/pages/list/useListColumnLayout.ts
6
+ function s({ screenCode: s, screen: c, searchParams: l, setSearchParams: u, defaultColumns: d }) {
7
+ let f = e(), p = a(() => {
8
+ let e = l.get("columns");
9
+ return e ? e.split(",").filter(Boolean) : d;
10
+ }, [l, d]), { widths: m, prune: h, setWidths: g, resetWidths: _, resizeEduShown: v, markResizeEduShown: y } = n(s), [b, x] = o(() => m);
11
+ i(() => {
12
+ x(m);
13
+ }, [m]);
14
+ let S = a(() => c?.columns ?? [], [c?.columns]);
15
+ i(() => {
16
+ S.length > 0 && h(S);
17
+ }, [S, h]);
18
+ let C = r((e) => {
19
+ if (e.length === 0) return;
20
+ let t = new URLSearchParams(l);
21
+ e.join(",") === d.join(",") ? t.delete("columns") : t.set("columns", e.join(",")), u(t);
22
+ }, [
23
+ l,
24
+ u,
25
+ d
26
+ ]);
27
+ return {
28
+ visible: p,
29
+ sizing: b,
30
+ setSizing: x,
31
+ apply: C,
32
+ clear: r(() => {
33
+ let e = new URLSearchParams(l);
34
+ e.delete("columns"), u(e);
35
+ }, [l, u]),
36
+ move: r((e, t) => {
37
+ let n = p.indexOf(e);
38
+ if (n === -1) return;
39
+ let r = t === "up" ? n - 1 : n + 1;
40
+ if (r < 0 || r >= p.length) return;
41
+ let i = [...p];
42
+ [i[n], i[r]] = [i[r], i[n]], C(i);
43
+ }, [p, C]),
44
+ commitResize: r((e) => {
45
+ g(e), !v && (y(), t.info(f("list.columns.width_saved_title", "Column width saved on this device"), f("list.columns.width_saved_body", "Widths are personal and never shared. Column order, sort and filters can be saved into a view.")));
46
+ }, [
47
+ f,
48
+ g,
49
+ v,
50
+ y
51
+ ]),
52
+ resetWidths: _
53
+ };
54
+ }
55
+ //#endregion
56
+ export { s as useListColumnLayout };
@@ -0,0 +1,34 @@
1
+ import { useText as e } from "../../../hooks/useText.js";
2
+ import { useJsonSnapshot as t } from "../../../hooks/useJsonSnapshot.js";
3
+ import { buildFilterDisplayMeta as n, buildFilterFieldMeta as r, filterFieldLabel as i } from "./filter-meta.js";
4
+ import { visibleFilters as a } from "./visible-filters.js";
5
+ import { useCallback as o, useMemo as s } from "react";
6
+ //#region src/components/pages/list/useListFilterPresentation.ts
7
+ function c(c, l, u, d) {
8
+ let f = e(), p = t(d);
9
+ return {
10
+ visibleFilterState: s(() => l ? a(p, l.filter_operators) : {
11
+ filters: p,
12
+ omitted: !1
13
+ }, [p, l]),
14
+ filterFieldMeta: s(() => r(f, c, l, u), [
15
+ f,
16
+ c,
17
+ l,
18
+ u
19
+ ]),
20
+ allFilterFieldMeta: s(() => n(f, c, l, u), [
21
+ f,
22
+ c,
23
+ l,
24
+ u
25
+ ]),
26
+ filterFieldName: o((e) => l ? i(f, l, u, e) : e, [
27
+ f,
28
+ l,
29
+ u
30
+ ])
31
+ };
32
+ }
33
+ //#endregion
34
+ export { c as useListFilterPresentation };
@@ -0,0 +1,101 @@
1
+ import { entityCountQueryKey as e, entityDataQueryKey as t, useEntityCount as n, useEntityData as r } from "../../../hooks/useEntityData.js";
2
+ import { cursorEntityDataQueryKey as i, useCursorEntityData as a } from "../../../hooks/useCursorEntityData.js";
3
+ import { useRegisterRetainedQuery as o } from "../../../hooks/usePageStateRuntime.js";
4
+ import { useCallback as s, useEffect as c, useMemo as l, useState as u } from "react";
5
+ import { useQueryClient as d } from "@tanstack/react-query";
6
+ //#region src/components/pages/list/useListQuery.ts
7
+ var f = 1e4, p = [];
8
+ function m(c) {
9
+ let u = d(), { entity: f, entityCode: m, screen: g, screenCode: _, page: v, perPage: y, sortForRequest: b, debouncedSearch: x, filters: S, isHeld: C, retryHeld: w, includeDeleted: T, expand: E, select: D, runCountQuery: O, urlKey: k } = c, A = S.length > 0 ? S : void 0, j = {
10
+ page: v,
11
+ per_page: y,
12
+ sort: b,
13
+ search: x || void 0,
14
+ filters: A,
15
+ include_deleted: T || void 0,
16
+ expand: E,
17
+ select: D,
18
+ preview: !0,
19
+ screen: g?.fixed_filters ? _ : void 0
20
+ }, M = {
21
+ sort: b,
22
+ filters: A,
23
+ search: x || void 0,
24
+ select: D,
25
+ expand: E,
26
+ includeDeleted: T || void 0,
27
+ screen: g?.fixed_filters ? _ : void 0,
28
+ preview: !0,
29
+ limit: y
30
+ }, N = f?.list_pagination === "cursor", P = r(m, j, !N && !C), F = n(m, j, O && !N && !C), I = a(m, M, N && !C);
31
+ o(t(m, j), !N && !C), o(i(m, M), N && !C);
32
+ let L = C || (N ? I.isLoading : P.isLoading), R = l(() => C ? p : N ? I.rows : P.data?.data ?? [], [
33
+ C,
34
+ N,
35
+ I.rows,
36
+ P.data?.data
37
+ ]), z = N ? I.total : F.data?.meta?.total, B = l(() => {
38
+ if (!(N || z === void 0 || y <= 0)) return Math.max(1, Math.ceil(z / y));
39
+ }, [
40
+ N,
41
+ z,
42
+ y
43
+ ]), V = h(L, k), H = N ? i(m, M) : t(m, j), U = e(m, j), W = O && !N, G = s(async () => {
44
+ C ? w() : m && (await Promise.all([u.cancelQueries({
45
+ queryKey: H,
46
+ exact: !0
47
+ }), W ? u.cancelQueries({
48
+ queryKey: U,
49
+ exact: !0
50
+ }) : void 0]), await Promise.all([N ? I.refetch() : P.refetch(), W ? F.refetch() : void 0]));
51
+ }, [
52
+ C,
53
+ w,
54
+ m,
55
+ u,
56
+ H,
57
+ U,
58
+ W,
59
+ N,
60
+ I,
61
+ P,
62
+ F
63
+ ]), K = s(() => {
64
+ I.fetchNextPage();
65
+ }, [I]);
66
+ return {
67
+ rows: R,
68
+ meta: C ? void 0 : P.data?.meta,
69
+ refs: C ? void 0 : N ? I.refs : P.data?.$refs,
70
+ isLoading: L,
71
+ isFetching: C || (N ? I.isFetching : P.isFetching),
72
+ isShowingPreviousRows: !C && (N ? I.isPlaceholderData : P.isPlaceholderData),
73
+ isError: C ? !1 : N ? I.isError : P.isError,
74
+ error: C ? void 0 : N ? I.error : P.error,
75
+ isLoadingStale: V,
76
+ retry: G,
77
+ countTotal: C ? void 0 : z,
78
+ countStrategy: C ? void 0 : N ? I.countMode : F.data?.meta?.count_mode,
79
+ countLoading: C || (N ? I.isLoading : F.isLoading),
80
+ countError: !C && !N && F.isError,
81
+ totalPages: B,
82
+ hasMorePages: N ? I.hasMore : P.data?.meta?.has_more ?? (B !== void 0 && v < B),
83
+ isCursor: N,
84
+ fetchNextPage: K,
85
+ isFetchingNextPage: I.isFetchingNextPage
86
+ };
87
+ }
88
+ function h(e, t) {
89
+ let [n, r] = u(!1);
90
+ return c(() => {
91
+ if (!e) {
92
+ r(!1);
93
+ return;
94
+ }
95
+ r(!1);
96
+ let t = window.setTimeout(() => r(!0), f);
97
+ return () => window.clearTimeout(t);
98
+ }, [e, t]), n;
99
+ }
100
+ //#endregion
101
+ export { m as useListQuery };
@@ -0,0 +1,120 @@
1
+ import { coerceDisplayString as e } from "../../../lib/display-value.js";
2
+ import { buildEntityDetailHref as t, extractPkValues as n, fieldDisplayName as r, getDisplayValue as i, pkValuesToDetailId as a } from "../../../types/schema.js";
3
+ import { useText as o } from "../../../hooks/useText.js";
4
+ import { buildActionBody as s, executeAction as c } from "../../../api/data.js";
5
+ import { resolveSchemaFieldLabel as l } from "../../file-widgets/host.js";
6
+ import { effectiveScreenForRecord as u } from "../../../lib/variants.js";
7
+ import { setPeekDraft as d } from "../../list/peekDraftStore.js";
8
+ import { resolveQuickPeekFieldNames as f } from "./cardProjection.js";
9
+ import { rowSelectionKey as p } from "./useListSelection.js";
10
+ import { classifyRowClick as m, isInteractiveRowTarget as h } from "../../../lib/rowClickGesture.js";
11
+ import { useLongPress as g } from "../../../hooks/useLongPress.js";
12
+ import { useCallback as _, useEffect as v, useMemo as y, useRef as b, useState as x } from "react";
13
+ //#region src/components/pages/list/useListRowInteraction.ts
14
+ function S({ entity: S, screen: C, screens: w, entities: T, searchParams: E, tabNavigate: D, commitScreenTabSearch: O, isPhone: k, canUpdate: A }) {
15
+ let j = o(), [M, N] = x(null), [P, F] = x(null), I = b(null), L = b(null);
16
+ v(() => () => {
17
+ L.current && clearTimeout(L.current.timer);
18
+ }, []);
19
+ let R = C?.on_row_click === "peek" && C.quick_peek?.enabled !== !1 && !k, z = _((e, r) => {
20
+ if (!S || !C) return;
21
+ let o = n(S, e), s = a(S, o), c = t(C, S, w, o);
22
+ if (!c) return;
23
+ if (r?.draft) {
24
+ d(s, r.draft);
25
+ let [e, t] = c.split("?", 2), n = new URLSearchParams(t ?? "");
26
+ n.set("edit", "true"), c = `${e}?${n.toString()}`;
27
+ }
28
+ let l = i(j, e, S) ?? j(S.display.name), u = C.display?.icon || S.display.icon;
29
+ O(E.toString()), D(c, {
30
+ title: l,
31
+ icon: u
32
+ });
33
+ }, [
34
+ j,
35
+ S,
36
+ C,
37
+ w,
38
+ E,
39
+ D,
40
+ O
41
+ ]), B = g(_((e) => {
42
+ let t = I.current;
43
+ t && F({
44
+ x: e.x,
45
+ y: e.y,
46
+ row: t
47
+ });
48
+ }, [])), V = _((e, t) => {
49
+ if (B.consumePressFired() || h(e.target)) return;
50
+ if (!R || !S) {
51
+ z(t);
52
+ return;
53
+ }
54
+ let n = p(S, t);
55
+ if (m(L.current, n) === "double") {
56
+ clearTimeout(L.current.timer), L.current = null, N(null), z(t);
57
+ return;
58
+ }
59
+ L.current && clearTimeout(L.current.timer);
60
+ let r = setTimeout(() => {
61
+ L.current = null, N(t);
62
+ }, 250);
63
+ L.current = {
64
+ rowId: n,
65
+ timer: r
66
+ };
67
+ }, [
68
+ S,
69
+ R,
70
+ z,
71
+ B
72
+ ]);
73
+ return {
74
+ peekAllowed: R,
75
+ peekRow: M,
76
+ setPeekRow: N,
77
+ peekFields: y(() => {
78
+ if (!R || !S || !M) return [];
79
+ let e = u(S, C, M);
80
+ return f(S, e, w).map((e) => {
81
+ if (S.files?.get(e)) return {
82
+ key: e,
83
+ label: l(j, S, e, T),
84
+ kind: "file",
85
+ readOnly: !A
86
+ };
87
+ let t = S.fields.get(e), n = A && !t.primary && !t.auto && !t.ref && t.files?.mode !== "rich_text_inline";
88
+ return {
89
+ key: e,
90
+ label: r(j, t, e, T),
91
+ kind: "field",
92
+ field: t,
93
+ readOnly: !n
94
+ };
95
+ });
96
+ }, [
97
+ j,
98
+ R,
99
+ M,
100
+ S,
101
+ C,
102
+ T,
103
+ w,
104
+ A
105
+ ]),
106
+ peekActions: y(() => S?.actions ?? {}, [S?.actions]),
107
+ peekExecute: _(async (t, n, r) => {
108
+ let i = S?.fields.names().find((e) => S.fields.get(e)?.primary), a = i && M ? [e(M[i])] : void 0, o = n.entity ? `${n.entity}.${t}` : t;
109
+ return c(o, s(r, a));
110
+ }, [S, M]),
111
+ contextMenu: P,
112
+ setContextMenu: F,
113
+ pressedRow: I,
114
+ longPress: B,
115
+ onRowClick: V,
116
+ navigateToDetail: z
117
+ };
118
+ }
119
+ //#endregion
120
+ export { S as useListRowInteraction };
@@ -0,0 +1,53 @@
1
+ import { coerceDisplayString as e } from "../../../lib/display-value.js";
2
+ import { extractPkValues as t, pkValuesToDetailId as n } from "../../../types/schema.js";
3
+ import { usePageState as r } from "../../../hooks/usePageState.js";
4
+ import { useCallback as i, useEffect as a, useMemo as o } from "react";
5
+ //#region src/components/pages/list/useListSelection.ts
6
+ var s = {};
7
+ function c(e, r) {
8
+ return n(e, t(e, r));
9
+ }
10
+ function l(e, n, r) {
11
+ if (!e || r.length === 0) return [];
12
+ let i = new Set(r);
13
+ return n.filter((t) => i.has(c(e, t))).map((n) => t(e, n));
14
+ }
15
+ function u(t, n, u) {
16
+ let [d, f] = r("selection", s, { scope: "path" }), p = o(() => t?.fields.names().find((e) => t.fields.get(e)?.primary) ?? "id", [t]), m = i((n) => t ? c(t, n) : e(n[p]), [t, p]), h = o(() => Object.keys(d).filter((e) => d[e]), [d]), g = o(() => l(t, n, h), [
17
+ t,
18
+ n,
19
+ h
20
+ ]), _ = o(() => {
21
+ if (h.length === 0) return [];
22
+ let e = /* @__PURE__ */ new Map();
23
+ for (let t of n) e.set(m(t), t);
24
+ return h.map((t) => e.get(t)).filter((e) => e !== void 0);
25
+ }, [
26
+ h,
27
+ n,
28
+ m
29
+ ]);
30
+ return a(() => {
31
+ u || f((e) => {
32
+ let t = Object.keys(e);
33
+ if (t.length === 0) return e;
34
+ let r = new Set(n.map((e) => m(e))), i = {}, a = !1;
35
+ for (let n of t) r.has(n) ? i[n] = e[n] : a = !0;
36
+ return a ? i : e;
37
+ });
38
+ }, [
39
+ n,
40
+ u,
41
+ m,
42
+ f
43
+ ]), {
44
+ state: d,
45
+ setState: f,
46
+ ids: h,
47
+ pkValues: g,
48
+ rows: _,
49
+ keyOf: m
50
+ };
51
+ }
52
+ //#endregion
53
+ export { c as rowSelectionKey, l as selectedRowPkValues, u as useListSelection };