@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,72 @@
1
+ import { ApiError as e } from "../../../types/api.js";
2
+ import { fieldDisplayName as t } from "../../../types/schema.js";
3
+ import { Btn as n } from "../../primitives/Btn.js";
4
+ import { useText as r } from "../../../hooks/useText.js";
5
+ import { safeExternalUrl as i } from "../../../lib/safe-url.js";
6
+ import { failureTitle as a } from "../../../lib/failure.js";
7
+ import { EmptyState as o } from "../../shared/EmptyState.js";
8
+ import { TableSkeleton as s } from "../../shared/LoadingSkeleton.js";
9
+ import { Fragment as c, jsx as l, jsxs as u } from "react/jsx-runtime";
10
+ //#region src/components/pages/list/ListNoRows.tsx
11
+ function d(n, r, i, o) {
12
+ let s = a(r, o);
13
+ if (!(o instanceof e)) return s;
14
+ let c = o.ext("field");
15
+ if (!c) return s;
16
+ let l = i.fields.get(c), u = l ? t(n, l, c) : c, d = o.ext("value");
17
+ return d === void 0 ? n("list.rows.failed_field", "{reason} Field: {field}.", {
18
+ reason: s,
19
+ field: u
20
+ }) : n("list.rows.failed_field_value", "{reason} Field: {field}. Value: {value}.", {
21
+ reason: s,
22
+ field: u,
23
+ value: d
24
+ });
25
+ }
26
+ function f({ isLoading: e, tableLoadingStale: t, isError: a, error: f, rowCount: p, entity: m, screen: h, screenName: g, screenIcon: _, isFiltered: v, canCreate: y, toolbarActions: b, onRetry: x }) {
27
+ let S = r(), C = r("errors"), w = m.display;
28
+ return e && t ? /* @__PURE__ */ l("div", {
29
+ style: { padding: "0 20px" },
30
+ children: /* @__PURE__ */ l(o, {
31
+ icon: "alert-circle",
32
+ title: S("list.rows.loading_slow_title", "Still loading data"),
33
+ description: S("list.rows.loading_slow_body", "This table is taking longer than expected. Retry the request or check network and server health."),
34
+ action: /* @__PURE__ */ l(n, {
35
+ kind: "primary",
36
+ size: "sm",
37
+ onClick: x,
38
+ children: S("list.rows.retry", "Retry")
39
+ })
40
+ })
41
+ }) : e ? /* @__PURE__ */ l(s, { cols: h.columns?.length ?? 4 }) : a ? /* @__PURE__ */ l("div", {
42
+ style: { padding: "0 20px" },
43
+ children: /* @__PURE__ */ l(o, {
44
+ icon: "alert-circle",
45
+ title: C("list.rows_unreadable", "The records could not be loaded."),
46
+ description: d(S, C, m, f),
47
+ action: /* @__PURE__ */ l(n, {
48
+ kind: "primary",
49
+ size: "sm",
50
+ onClick: x,
51
+ children: S("list.rows.retry", "Retry")
52
+ })
53
+ })
54
+ }) : p === 0 ? /* @__PURE__ */ l("div", {
55
+ style: { padding: "0 20px" },
56
+ children: (() => {
57
+ let e = w.empty_state, t = S(e?.title), n = S(e?.body), r = i(e?.learn_more_url), a = v ? S("list.rows.no_results_title", "No results found") : t || S("list.rows.empty_title", "No {name} yet", { name: S(w.name_plural) || g }), s = y && b.some(({ code: e }) => e === "__new" || e === "__create"), d;
58
+ return d = v ? S("list.rows.no_results_body", "Try adjusting your search or filters") : n ? /* @__PURE__ */ u(c, { children: [n, r && /* @__PURE__ */ u(c, { children: [" ", /* @__PURE__ */ l("a", {
59
+ href: r,
60
+ target: "_blank",
61
+ rel: "noopener noreferrer",
62
+ children: S("list.rows.learn_more", "Learn more")
63
+ })] })] }) : s ? S("list.rows.empty_create", "Create your first {name} to get started", { name: S(w.name) }) : void 0, /* @__PURE__ */ l(o, {
64
+ icon: _,
65
+ title: a,
66
+ description: d
67
+ });
68
+ })()
69
+ }) : null;
70
+ }
71
+ //#endregion
72
+ export { f as ListNoRows, d as listLoadErrorDescription };
@@ -0,0 +1,191 @@
1
+ import { Icon as e } from "../../primitives/Icons.js";
2
+ import { useText as t } from "../../../hooks/useText.js";
3
+ import { headerSizeVar as n, sizeFromVar as r } from "./column-sizing.js";
4
+ import { isHeaderSortable as i } from "./sortable-header.js";
5
+ import { Suspense as a, lazy as o, memo as s } from "react";
6
+ import { jsx as c, jsxs as l } from "react/jsx-runtime";
7
+ import { flexRender as u } from "@tanstack/react-table";
8
+ //#region src/components/pages/list/ListTable.tsx
9
+ var d = o(() => import("./SortHeaderMenu.js").then((e) => ({ default: e.SortHeaderMenu }))), f = s(function({ virtualItems: e, topPad: t, bottomPad: n, colSpan: r, rows: i, renderRow: a, showsPreviousRows: o }) {
10
+ return /* @__PURE__ */ l("tbody", {
11
+ style: o ? {
12
+ opacity: .45,
13
+ transition: "opacity 120ms"
14
+ } : void 0,
15
+ children: [
16
+ e.length > 0 && /* @__PURE__ */ c("tr", { children: /* @__PURE__ */ c("td", {
17
+ style: { height: t },
18
+ colSpan: r
19
+ }) }),
20
+ e.map((e) => a(i[e.index], e.index)),
21
+ e.length > 0 && /* @__PURE__ */ c("tr", { children: /* @__PURE__ */ c("td", {
22
+ style: { height: n },
23
+ colSpan: r
24
+ }) })
25
+ ]
26
+ });
27
+ }, (e, t) => t.isResizing);
28
+ function p({ table: o, columns: s, rows: p, entity: m, columnSizeVars: h, totalColumnsWidth: g, theadRef: _, virtualizer: v, visibleCols: y, headerReorder: b, sortCols: x, sortNullsMap: S, shiftClickColumn: C, applyColumnSort: w, appendColumnSort: T, clearColumnSort: E, clearAllSorts: D, renderRow: O, isResizingColumn: k, showsPreviousRows: A }) {
29
+ let j = t();
30
+ return /* @__PURE__ */ l("table", {
31
+ "data-virtual-rows": "true",
32
+ "aria-busy": A || void 0,
33
+ style: {
34
+ ...h,
35
+ tableLayout: "fixed",
36
+ width: "100%",
37
+ minWidth: g,
38
+ borderCollapse: "separate",
39
+ borderSpacing: 0,
40
+ fontSize: 12.5,
41
+ color: "var(--text)"
42
+ },
43
+ children: [/* @__PURE__ */ c("thead", {
44
+ ref: _,
45
+ children: o.getHeaderGroups().map((t) => /* @__PURE__ */ l("tr", {
46
+ style: {
47
+ height: 32,
48
+ background: "var(--surface-2)"
49
+ },
50
+ children: [t.headers.map((t) => {
51
+ let o = i(t.id, m), s = t.column.getIsSorted(), f = t.id === "_select", p = t.id === "_actions", h = s ? x.findIndex((e) => e.field === t.id) + 1 : 0, g = x.length > 1 && h > 0, _ = h > 0, v = x.length < 5, O = o ? t.column.getToggleSortingHandler() : void 0, k = o ? (e) => {
52
+ e.shiftKey ? (e.preventDefault(), C(t.id)) : O?.(e);
53
+ } : void 0, A = !f && !p, M = A ? y.indexOf(t.id) : -1, N = b.dragColId === t.id, P = b.isDragging && M !== -1 && b.dropIndex === M, F = b.isDragging && M !== -1 && M === y.length - 1 && b.dropIndex === y.length;
54
+ return /* @__PURE__ */ l("th", {
55
+ "data-col-id": A ? t.id : void 0,
56
+ onMouseDown: A ? (e) => b.onHeaderMouseDown(t.id, e) : void 0,
57
+ onClick: (e) => {
58
+ b.consumeDragSuppression() || k?.(e);
59
+ },
60
+ style: {
61
+ padding: f ? "0 6px 0 12px" : p ? "0 6px" : "0 10px",
62
+ textAlign: "left",
63
+ fontWeight: 600,
64
+ fontSize: 11,
65
+ letterSpacing: "0.01em",
66
+ color: "var(--text-3)",
67
+ whiteSpace: "nowrap",
68
+ cursor: o ? "pointer" : "default",
69
+ opacity: N ? .4 : 1,
70
+ boxShadow: P ? "inset 2px 0 0 0 var(--accent)" : F ? "inset -2px 0 0 0 var(--accent)" : void 0,
71
+ width: r(n(t.id)),
72
+ minWidth: r(n(t.id)),
73
+ borderBottom: "1px solid var(--border)",
74
+ background: "var(--surface-2)",
75
+ position: "sticky",
76
+ top: 0,
77
+ left: f ? 0 : "auto",
78
+ zIndex: f ? 3 : 2
79
+ },
80
+ children: [t.isPlaceholder ? null : o ? /* @__PURE__ */ l("span", {
81
+ style: {
82
+ display: "inline-flex",
83
+ alignItems: "center",
84
+ gap: 4
85
+ },
86
+ children: [
87
+ u(t.column.columnDef.header, t.getContext()),
88
+ /* @__PURE__ */ l("span", {
89
+ style: {
90
+ display: "inline-flex",
91
+ flexDirection: "column",
92
+ alignItems: "center",
93
+ lineHeight: 0
94
+ },
95
+ children: [s === "asc" ? /* @__PURE__ */ c(e.arrowUp, { size: 11 }) : s === "desc" ? /* @__PURE__ */ c(e.arrowDown, { size: 11 }) : /* @__PURE__ */ c(e.sort, {
96
+ size: 11,
97
+ style: { opacity: .35 }
98
+ }), s && S.get(t.id) === "first" ? /* @__PURE__ */ c("span", {
99
+ "aria-hidden": "true",
100
+ style: {
101
+ width: 4,
102
+ height: 4,
103
+ marginTop: 1,
104
+ borderRadius: 9999,
105
+ background: "var(--text-3)"
106
+ }
107
+ }) : null]
108
+ }),
109
+ g ? /* @__PURE__ */ c("span", {
110
+ "aria-label": j("list.sort.rank", "Sort rank {rank}", { rank: h }),
111
+ style: {
112
+ fontSize: 10,
113
+ lineHeight: 1,
114
+ color: "var(--text-3)",
115
+ verticalAlign: "super",
116
+ fontVariantNumeric: "tabular-nums"
117
+ },
118
+ children: h
119
+ }) : null,
120
+ /* @__PURE__ */ c(a, {
121
+ fallback: null,
122
+ children: /* @__PURE__ */ c(d, {
123
+ field: t.id,
124
+ activeDir: s,
125
+ activeNulls: S.get(t.id),
126
+ inMultiSort: _,
127
+ canAppend: v,
128
+ onApply: (e, n) => w(t.id, e, n),
129
+ onAppend: (e, n) => T(t.id, e, n),
130
+ onClearColumn: () => E(t.id),
131
+ onClearAll: D
132
+ })
133
+ })
134
+ ]
135
+ }) : u(t.column.columnDef.header, t.getContext()), t.column.getCanResize() && /* @__PURE__ */ c("div", {
136
+ "data-testid": "col-resize-handle",
137
+ "aria-hidden": "true",
138
+ onMouseDown: (e) => {
139
+ e.stopPropagation(), t.getResizeHandler()(e);
140
+ },
141
+ onTouchStart: (e) => {
142
+ e.stopPropagation(), t.getResizeHandler()(e);
143
+ },
144
+ onClick: (e) => e.stopPropagation(),
145
+ style: {
146
+ position: "absolute",
147
+ top: 0,
148
+ right: 0,
149
+ height: "100%",
150
+ width: 9,
151
+ display: "flex",
152
+ justifyContent: "center",
153
+ cursor: "col-resize",
154
+ touchAction: "none",
155
+ userSelect: "none",
156
+ zIndex: 3
157
+ },
158
+ children: /* @__PURE__ */ c("span", { style: {
159
+ width: 2,
160
+ height: "60%",
161
+ alignSelf: "center",
162
+ borderRadius: "var(--radius-xs)",
163
+ background: t.column.getIsResizing() ? "var(--accent)" : "var(--border)"
164
+ } })
165
+ })]
166
+ }, t.id);
167
+ }), /* @__PURE__ */ c("th", {
168
+ "aria-hidden": "true",
169
+ style: {
170
+ borderBottom: "1px solid var(--border)",
171
+ background: "var(--surface-2)",
172
+ position: "sticky",
173
+ top: 0,
174
+ zIndex: 2
175
+ }
176
+ })]
177
+ }, t.id))
178
+ }), /* @__PURE__ */ c(f, {
179
+ virtualItems: v.getVirtualItems(),
180
+ topPad: v.getVirtualItems()[0]?.start ?? 0,
181
+ bottomPad: v.getTotalSize() - (v.getVirtualItems().at(-1)?.end ?? 0),
182
+ colSpan: s.length + 1,
183
+ rows: p,
184
+ renderRow: O,
185
+ isResizing: !!k,
186
+ showsPreviousRows: A
187
+ })]
188
+ });
189
+ }
190
+ //#endregion
191
+ export { p as ListTable };
@@ -0,0 +1,37 @@
1
+ import { DataCell as e } from "./DataCell.js";
2
+ import { jsx as t, jsxs as n } from "react/jsx-runtime";
3
+ //#region src/components/pages/list/ListTableRow.tsx
4
+ function r({ row: r, rowIndex: i, entity: a, hasSoftDelete: o, zebra: s, hasDetailTarget: c, interaction: l, measureElement: u }) {
5
+ let d = r.original, f = o && d[a.soft_delete] != null, p = r.getIsSelected(), m = s && i % 2 == 1;
6
+ return /* @__PURE__ */ n("tr", {
7
+ "data-index": i,
8
+ "data-row-stripe": m ? "" : void 0,
9
+ "aria-selected": p,
10
+ ref: (e) => u(e),
11
+ style: {
12
+ height: "var(--row-h)",
13
+ cursor: c || l.peekAllowed ? "pointer" : "default",
14
+ opacity: f ? .5 : 1,
15
+ fontStyle: f ? "italic" : "normal",
16
+ transition: "background-color 120ms"
17
+ },
18
+ onClick: c || l.peekAllowed ? (e) => l.onRowClick(e, d) : void 0,
19
+ onContextMenu: (e) => {
20
+ e.preventDefault(), l.setContextMenu({
21
+ x: e.clientX,
22
+ y: e.clientY,
23
+ row: d
24
+ });
25
+ },
26
+ ...l.longPress.handlers,
27
+ onPointerDown: (e) => {
28
+ l.pressedRow.current = d, l.longPress.handlers.onPointerDown(e);
29
+ },
30
+ children: [r.getVisibleCells().map((n) => /* @__PURE__ */ t(e, { cell: n }, n.id)), /* @__PURE__ */ t("td", {
31
+ "aria-hidden": "true",
32
+ style: { borderBottom: "1px solid var(--divider)" }
33
+ })]
34
+ }, r.id);
35
+ }
36
+ //#endregion
37
+ export { r as ListTableRow };
@@ -0,0 +1,261 @@
1
+ import { Icon as e } from "../../primitives/Icons.js";
2
+ import { Btn as t } from "../../primitives/Btn.js";
3
+ import { IconBtn as n } from "../../primitives/IconBtn.js";
4
+ import { Pill as r } from "../../primitives/Pill.js";
5
+ import { Kbd as ee } from "../../primitives/Kbd.js";
6
+ import { Dropdown as i } from "../../primitives/Dropdown.js";
7
+ import { useText as te } from "../../../hooks/useText.js";
8
+ import { MenuItem as a } from "../../primitives/MenuItem.js";
9
+ import { TextInput as o } from "../../primitives/Fields.js";
10
+ import { usePreferencesStore as s } from "../../../stores/preferences.js";
11
+ import { useEntity as ne } from "../../../hooks/useEntity.js";
12
+ import { pageInsetX as re } from "../../../lib/page-inset.js";
13
+ import { resolveSchemaFieldLabel as ie } from "../../file-widgets/host.js";
14
+ import { ColumnPicker as c } from "../../list/ColumnPicker.js";
15
+ import { ViewSwitcher as l } from "../../list/ViewSwitcher.js";
16
+ import { RefreshControl as u } from "../../shared/RefreshControl.js";
17
+ import { DocumentsMenu as ae } from "../DocumentsMenu.js";
18
+ import { canManageDocumentTemplates as d } from "../../../lib/document-templates.js";
19
+ import { isHeaderSortable as f } from "./sortable-header.js";
20
+ import { ExportMenu as p } from "../ExportMenu.js";
21
+ import { useRef as m, useState as h } from "react";
22
+ import { Fragment as g, jsx as _, jsxs as v } from "react/jsx-runtime";
23
+ //#region src/components/pages/list/ListToolbar.tsx
24
+ function y({ screen: y, entity: b, entityCode: x, schema: S, screenCode: C, screenName: w, isPhone: T, isCardsPresentation: E, sort: D, columns: O, views: k, query: A, selection: j, filters: M, searchValue: N, onSearchChange: oe, onSaveView: se, onDeleteView: ce, page: P, perPage: F, includeDeleted: I, canViewDeleted: L, onToggleDeleted: R, realtime: z, isLive: B }) {
25
+ let V = te(), H = ne("view")?.actions, [U, W] = h(!1), [G, K] = h(!1), [q, J] = h(!1), Y = m(null), X = m(null), Z = s((e) => e.density), Q = () => {
26
+ let e = Z === "compact" ? "comfortable" : Z === "comfortable" ? "cozy" : "compact";
27
+ s.getState().setMany({ density: e });
28
+ }, le = !T || U || N !== "", $ = (e) => {
29
+ if (e.startsWith("$status.")) {
30
+ let t = e.slice(8), n = b.status_groups?.[t];
31
+ return n ? V(n.name) || t : e;
32
+ }
33
+ if (e.startsWith("$property.")) {
34
+ let t = e.slice(10), n = b.properties?.[t];
35
+ return n ? V(n.name) || t : e;
36
+ }
37
+ return ie(V, b, e, S?.entities);
38
+ }, ue = (y.columns ?? []).filter((e) => f(e, b));
39
+ return /* @__PURE__ */ v("div", {
40
+ style: {
41
+ display: "flex",
42
+ alignItems: "center",
43
+ gap: T ? 6 : 8,
44
+ paddingTop: 0,
45
+ paddingBottom: 10,
46
+ ...T ? re(12) : {
47
+ paddingLeft: 20,
48
+ paddingRight: 20
49
+ },
50
+ flexWrap: "wrap"
51
+ },
52
+ children: [
53
+ /* @__PURE__ */ _(l, {
54
+ views: k.all,
55
+ activeViewId: k.activeId,
56
+ isDirty: k.isDirty,
57
+ onSelect: k.apply,
58
+ onSaveAs: H?.__create ? se : void 0,
59
+ onSave: H?.__update ? () => {
60
+ k.overwriteActive().catch(() => void 0);
61
+ } : void 0,
62
+ onDiscard: k.discard,
63
+ onDelete: H?.__delete ? ce : void 0,
64
+ deletePending: k.isDeleting
65
+ }),
66
+ le ? /* @__PURE__ */ v("div", {
67
+ style: {
68
+ position: "relative",
69
+ width: T ? "100%" : 260,
70
+ order: T ? -1 : 0
71
+ },
72
+ children: [/* @__PURE__ */ _(o, {
73
+ value: N,
74
+ onChange: oe,
75
+ placeholder: V("list.toolbar.search_placeholder", "Search {name}…", { name: w }),
76
+ prefix: /* @__PURE__ */ _(e.search, { size: 13 })
77
+ }), /* @__PURE__ */ _("span", {
78
+ style: {
79
+ position: "absolute",
80
+ right: 6,
81
+ top: "50%",
82
+ transform: "translateY(-50%)",
83
+ pointerEvents: "none"
84
+ },
85
+ children: /* @__PURE__ */ _(ee, { children: "/" })
86
+ })]
87
+ }) : /* @__PURE__ */ _(n, {
88
+ icon: /* @__PURE__ */ _(e.search, { size: 14 }),
89
+ title: V("list.toolbar.search", "Search {name}", { name: w }),
90
+ onClick: () => W(!0)
91
+ }),
92
+ /* @__PURE__ */ v(t, {
93
+ icon: /* @__PURE__ */ _(e.filter, { size: 13 }),
94
+ onClick: M.onOpen,
95
+ active: M.count > 0,
96
+ children: [V("list.toolbar.filters", "Filters"), M.count > 0 && /* @__PURE__ */ _(r, {
97
+ tone: "violet",
98
+ size: "xs",
99
+ style: { marginLeft: 4 },
100
+ children: M.count
101
+ })]
102
+ }),
103
+ E && /* @__PURE__ */ v(g, { children: [/* @__PURE__ */ v(t, {
104
+ ref: Y,
105
+ icon: /* @__PURE__ */ _(e.sort, { size: 13 }),
106
+ onClick: () => K((e) => !e),
107
+ active: G || D.cols.length > 0,
108
+ children: [V("list.toolbar.sort", "Sort"), D.cols.length > 0 && /* @__PURE__ */ _(r, {
109
+ tone: "slate",
110
+ size: "xs",
111
+ style: { marginLeft: 4 },
112
+ children: D.cols.length
113
+ })]
114
+ }), /* @__PURE__ */ v(i, {
115
+ open: G,
116
+ anchor: Y.current,
117
+ onClose: () => K(!1),
118
+ align: "start",
119
+ width: 280,
120
+ children: [
121
+ /* @__PURE__ */ _("div", {
122
+ style: {
123
+ padding: "6px 8px 4px",
124
+ fontSize: 10,
125
+ color: "var(--text-3)",
126
+ fontWeight: 700,
127
+ letterSpacing: "0.08em",
128
+ textTransform: "uppercase"
129
+ },
130
+ children: V("list.toolbar.sort_by", "Sort by")
131
+ }),
132
+ ue.map((t) => {
133
+ let n = D.cols.find((e) => e.field === t);
134
+ return /* @__PURE__ */ _(a, {
135
+ icon: n ? n.dir === "desc" ? /* @__PURE__ */ _(e.arrowDown, { size: 12 }) : /* @__PURE__ */ _(e.arrowUp, { size: 12 }) : /* @__PURE__ */ _("span", { style: {
136
+ width: 12,
137
+ display: "inline-block"
138
+ } }),
139
+ active: !!n,
140
+ onClick: () => {
141
+ D.applyColumn(t, n?.dir === "asc" ? "desc" : "asc", void 0), K(!1);
142
+ },
143
+ children: $(t)
144
+ }, t);
145
+ }),
146
+ D.cols.length > 0 && /* @__PURE__ */ v(g, { children: [/* @__PURE__ */ _(a, { divider: !0 }), /* @__PURE__ */ _(a, {
147
+ icon: /* @__PURE__ */ _(e.x, { size: 12 }),
148
+ onClick: () => {
149
+ D.clearAll(), K(!1);
150
+ },
151
+ children: V("list.toolbar.clear_sort", "Clear sort")
152
+ })] })
153
+ ]
154
+ })] }),
155
+ !E && /* @__PURE__ */ _(c, {
156
+ availableColumns: y.columns ?? [],
157
+ visibleColumns: O.visible,
158
+ onToggle: (e) => {
159
+ let t = O.visible.includes(e) ? O.visible.filter((t) => t !== e) : [...O.visible, e];
160
+ O.apply(t);
161
+ },
162
+ onMove: O.move,
163
+ onReset: O.clear,
164
+ onShowAll: () => O.apply(y.columns ?? []),
165
+ onResetWidths: O.resetWidths,
166
+ columnLabel: $
167
+ }),
168
+ !T && /* @__PURE__ */ _("span", { style: {
169
+ width: 1,
170
+ height: 20,
171
+ background: "var(--divider)"
172
+ } }),
173
+ !T && /* @__PURE__ */ _(n, {
174
+ icon: /* @__PURE__ */ _(e.grid, { size: 14 }),
175
+ title: V("list.toolbar.density", "Density"),
176
+ active: Z !== "compact",
177
+ onClick: Q
178
+ }),
179
+ /* @__PURE__ */ _(u, {
180
+ liveObject: {
181
+ refetch: A.retry,
182
+ isLoading: A.isLoading,
183
+ isLive: B
184
+ },
185
+ realtime: z
186
+ }),
187
+ !T && /* @__PURE__ */ _("div", { style: { flex: 1 } }),
188
+ !T && L && /* @__PURE__ */ _(t, {
189
+ kind: "ghost",
190
+ size: "sm",
191
+ icon: _(I ? e.eyeOff : e.eye, { size: 12 }),
192
+ onClick: R,
193
+ active: I,
194
+ children: I ? V("list.toolbar.hide_deleted", "Hide deleted") : V("list.toolbar.show_deleted", "Show deleted")
195
+ }),
196
+ T && /* @__PURE__ */ v(g, { children: [/* @__PURE__ */ _(n, {
197
+ ref: X,
198
+ icon: /* @__PURE__ */ _(e.more, { size: 14 }),
199
+ title: V("list.toolbar.more", "More"),
200
+ active: q,
201
+ onClick: () => J((e) => !e)
202
+ }), /* @__PURE__ */ v(i, {
203
+ open: q,
204
+ anchor: X.current,
205
+ onClose: () => J(!1),
206
+ align: "end",
207
+ width: 220,
208
+ children: [/* @__PURE__ */ _(a, {
209
+ icon: /* @__PURE__ */ _(e.grid, { size: 13 }),
210
+ onClick: () => {
211
+ Q(), J(!1);
212
+ },
213
+ children: V("list.toolbar.density", "Density")
214
+ }), L && /* @__PURE__ */ _(a, {
215
+ icon: _(I ? e.eyeOff : e.eye, { size: 13 }),
216
+ onClick: () => {
217
+ R(), J(!1);
218
+ },
219
+ children: I ? V("list.toolbar.hide_deleted", "Hide deleted") : V("list.toolbar.show_deleted", "Show deleted")
220
+ })]
221
+ })] }),
222
+ x && b && /* @__PURE__ */ _(ae, {
223
+ entityCode: x,
224
+ scope: "list",
225
+ selectedIds: j.ids,
226
+ viewState: {
227
+ screenCode: C,
228
+ jsonFilters: M.json,
229
+ search: M.debouncedSearch,
230
+ sort: D.forRequest,
231
+ includeDeleted: I || void 0,
232
+ page: P,
233
+ perPage: F
234
+ },
235
+ capability: b.documents,
236
+ canManageTemplates: d(S)
237
+ }),
238
+ x && b && /* @__PURE__ */ _(p, {
239
+ entityCode: x,
240
+ entity: b,
241
+ screen: y,
242
+ viewState: {
243
+ screenCode: C,
244
+ jsonFilters: M.json,
245
+ search: M.debouncedSearch,
246
+ sort: D.forRequest,
247
+ includeDeleted: I || void 0,
248
+ page: P,
249
+ perPage: F
250
+ },
251
+ visibleColumns: O.visible,
252
+ selectedRowPKs: j.pkValues,
253
+ totalRows: A.countTotal,
254
+ pageRows: A.isLoading || A.isShowingPreviousRows ? void 0 : A.rows.length,
255
+ language: V.language
256
+ })
257
+ ]
258
+ });
259
+ }
260
+ //#endregion
261
+ export { y as ListToolbar };
@@ -0,0 +1,45 @@
1
+ import { Btn as e } from "../../primitives/Btn.js";
2
+ import { useText as t } from "../../../hooks/useText.js";
3
+ import { jsx as n, jsxs as r } from "react/jsx-runtime";
4
+ //#region src/components/pages/list/ListUrlBanner.tsx
5
+ var i = {
6
+ margin: "0 20px 10px",
7
+ padding: "8px 10px",
8
+ border: "1px solid var(--danger)",
9
+ borderRadius: "var(--radius-md)",
10
+ color: "var(--danger)",
11
+ fontSize: 12,
12
+ display: "flex",
13
+ alignItems: "center",
14
+ gap: 8
15
+ };
16
+ function a({ filterError: a, unresolvedViewId: o, onClearFilters: s, onClearView: c }) {
17
+ let l = t(), u = l("list.banner.clear", "Clear");
18
+ return a ? /* @__PURE__ */ r("div", {
19
+ role: "alert",
20
+ "data-testid": "filter-url-error",
21
+ style: i,
22
+ children: [/* @__PURE__ */ r("span", { children: [
23
+ a,
24
+ " ",
25
+ l("list.filters.invalid_suffix", "Showing this list without URL filters.")
26
+ ] }), /* @__PURE__ */ n(e, {
27
+ kind: "ghost",
28
+ size: "xs",
29
+ onClick: s,
30
+ children: u
31
+ })]
32
+ }) : o ? /* @__PURE__ */ r("div", {
33
+ role: "alert",
34
+ "data-testid": "view-url-unresolved",
35
+ style: i,
36
+ children: [/* @__PURE__ */ n("span", { children: l("list.view.unresolved", "The view “{id}” could not be opened - it may have been deleted, or it belongs to someone else. Showing this list without it.", { id: o }) }), /* @__PURE__ */ n(e, {
37
+ kind: "ghost",
38
+ size: "xs",
39
+ onClick: c,
40
+ children: u
41
+ })]
42
+ }) : null;
43
+ }
44
+ //#endregion
45
+ export { a as ListUrlBanner };
@@ -0,0 +1,49 @@
1
+ import { Icon as e } from "../../primitives/Icons.js";
2
+ import { IconBtn as t } from "../../primitives/IconBtn.js";
3
+ import { useText as n } from "../../../hooks/useText.js";
4
+ import { ResponsiveActionBar as r } from "../../actions/ResponsiveActionBar.js";
5
+ import { useRowMenu as i } from "./useRowMenu.js";
6
+ import { jsx as a, jsxs as o } from "react/jsx-runtime";
7
+ //#region src/components/pages/list/RowActionsCell.tsx
8
+ function s({ row: s, rowId: c, screen: l, fullScreen: u, entity: d, entityCode: f, rowActions: p, tabNavigate: m, peekAllowed: h, hasDetailTarget: g, onPeek: _ }) {
9
+ let v = n(), { layout: y, entityActions: b, runRowAction: x, widgetContext: S, hasPeek: C } = i({
10
+ row: s,
11
+ rowId: c,
12
+ screen: l,
13
+ fullScreen: u,
14
+ entity: d,
15
+ entityCode: f,
16
+ rowActions: p,
17
+ tabNavigate: m,
18
+ peekAllowed: h,
19
+ hasDetailTarget: g,
20
+ onPeek: _
21
+ });
22
+ return /* @__PURE__ */ o("div", {
23
+ className: "sl-row-actions",
24
+ style: {
25
+ display: "flex",
26
+ alignItems: "center",
27
+ gap: 2,
28
+ justifyContent: "flex-end"
29
+ },
30
+ children: [C && /* @__PURE__ */ a(t, {
31
+ size: 22,
32
+ icon: /* @__PURE__ */ a(e.eye, { size: 12 }),
33
+ onClick: (e) => {
34
+ e.stopPropagation(), _(s);
35
+ },
36
+ title: v("list.row.peek", "Peek")
37
+ }), y.length > 0 && /* @__PURE__ */ a(r, {
38
+ layout: y,
39
+ row: s,
40
+ kind: "row",
41
+ entityActions: b,
42
+ onRun: x,
43
+ widgetContext: S,
44
+ ariaLabel: v("list.row.actions", "Row actions")
45
+ })]
46
+ });
47
+ }
48
+ //#endregion
49
+ export { s as RowActionsCell };