@declarion/react 0.65.1 → 0.66.1

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
@@ -1,9 +1,12 @@
1
- import { sn as e, wn as t, wt as n } from "./useCurrentScreen-BZOHBGQZ.js";
2
- import { t as r } from "./Pill-D-wsfRhx.js";
3
- import { t as i } from "./Check-DAfMbQIw.js";
4
- import { f as a, m as o, n as s, p as c } from "./variants-vUtfBbE6.js";
5
- import { t as l } from "./cardProjection-Cxlogzh8.js";
6
- import { t as u } from "./SmartListPage.impl-Cu83Gv_G.js";
1
+ import { coerceDisplayString as e } from "../../../lib/display-value.js";
2
+ import { getDisplayValue as t } from "../../../types/schema.js";
3
+ import { Pill as n } from "../../primitives/Pill.js";
4
+ import { useText as r } from "../../../hooks/useText.js";
5
+ import { Check as i } from "../../primitives/Check.js";
6
+ import { getSchemaFieldValue as a, renderSchemaField as o, resolveSchemaFieldLabel as s } from "../../file-widgets/host.js";
7
+ import { effectiveScreenForRecord as c } from "../../../lib/variants.js";
8
+ import { resolveCard as l } from "./cardProjection.js";
9
+ import { RowActionsCell as u } from "./RowActionsCell.js";
7
10
  import { jsx as d, jsxs as f } from "react/jsx-runtime";
8
11
  //#region src/components/pages/list/ListCardRow.tsx
9
12
  function p(e, t, n, r) {
@@ -15,76 +18,76 @@ function p(e, t, n, r) {
15
18
  let r = t.slice(10), i = n.properties?.[r];
16
19
  return i ? e(i.name) || r : t;
17
20
  }
18
- return o(e, n, t, r);
21
+ return s(e, n, t, r);
19
22
  }
20
- function m(e, n, r) {
21
- if (e.startsWith("$status.")) {
22
- let t = e.slice(8), r = n.$statuses;
23
- return Array.isArray(r) && r.some((e) => e.group_code === t);
23
+ function m(t, n, r) {
24
+ if (t.startsWith("$status.")) {
25
+ let e = t.slice(8), r = n.$statuses;
26
+ return Array.isArray(r) && r.some((t) => t.group_code === e);
24
27
  }
25
- if (e.startsWith("$property.")) {
26
- let r = e.slice(10), i = n.$properties, a = Array.isArray(i) ? i.find((e) => e.property_code === r) : void 0;
27
- return a?.value != null && t(a.value) !== "";
28
+ if (t.startsWith("$property.")) {
29
+ let r = t.slice(10), i = n.$properties, a = Array.isArray(i) ? i.find((e) => e.property_code === r) : void 0;
30
+ return a?.value != null && e(a.value) !== "";
28
31
  }
29
- let i = a(r, n, e);
30
- return i != null && t(i) !== "";
32
+ let i = a(r, n, t);
33
+ return i != null && e(i) !== "";
31
34
  }
32
- function h(e, n, i) {
33
- let { entity: a, entityCode: o, refs: s, t: l, renderers: u } = i;
34
- if (e.startsWith("$status.")) {
35
- let t = e.slice(8), i = a.status_groups?.[t], o = n.$statuses, s = Array.isArray(o) ? o.find((e) => e.group_code === t) : void 0;
35
+ function h(t, r, i) {
36
+ let { entity: a, entityCode: s, refs: c, t: l, renderers: u } = i;
37
+ if (t.startsWith("$status.")) {
38
+ let e = t.slice(8), i = a.status_groups?.[e], o = r.$statuses, s = Array.isArray(o) ? o.find((t) => t.group_code === e) : void 0;
36
39
  if (!i || !s) return /* @__PURE__ */ d("span", {
37
40
  style: { color: "var(--text-3)" },
38
41
  children: "-"
39
42
  });
40
43
  let c = i.statuses.find((e) => e.code === s.status_code);
41
- return /* @__PURE__ */ d(r, {
44
+ return /* @__PURE__ */ d(n, {
42
45
  tone: c?.color ?? "slate",
43
46
  size: "xs",
44
47
  children: l(c?.name) || s.status_code
45
48
  });
46
49
  }
47
- if (e.startsWith("$property.")) {
48
- let r = e.slice(10), i = n.$properties, a = Array.isArray(i) ? i.find((e) => e.property_code === r) : void 0;
50
+ if (t.startsWith("$property.")) {
51
+ let n = t.slice(10), i = r.$properties, a = Array.isArray(i) ? i.find((e) => e.property_code === n) : void 0;
49
52
  return !a || a.value == null ? /* @__PURE__ */ d("span", {
50
53
  style: { color: "var(--text-3)" },
51
54
  children: "-"
52
- }) : /* @__PURE__ */ d("span", { children: t(a.value) });
55
+ }) : /* @__PURE__ */ d("span", { children: e(a.value) });
53
56
  }
54
- if (a.files?.get(e)) return c({
57
+ if (a.files?.get(t)) return o({
55
58
  entity: a,
56
- entityCode: o,
57
- fieldName: e,
58
- record: n,
59
+ entityCode: s,
60
+ fieldName: t,
61
+ record: r,
59
62
  mode: "display",
60
63
  surface: "list",
61
- refs: s,
64
+ refs: c,
62
65
  t: l
63
66
  });
64
- let f = u.get(e);
67
+ let f = u.get(t);
65
68
  if (!f) {
66
- let r = n[e];
67
- return t(r) || /* @__PURE__ */ d("span", {
69
+ let n = r[t];
70
+ return e(n) || /* @__PURE__ */ d("span", {
68
71
  style: { color: "var(--text-3)" },
69
72
  children: "-"
70
73
  });
71
74
  }
72
- return f(n[e], n);
75
+ return f(r[t], r);
73
76
  }
74
- function g({ row: t, rowIndex: r, entity: a, screen: o, entityCode: c, entities: g, savedViewColumns: _, refs: v, renderers: y, rowActions: b, tabNavigate: x, interaction: S, hasSoftDelete: C, zebra: w, hasBatchActions: T, hasDetailTarget: E, rowKey: D, measureElement: O }) {
75
- let k = n(), A = {
77
+ function g({ row: e, rowIndex: n, entity: a, screen: o, entityCode: s, entities: g, savedViewColumns: _, refs: v, renderers: y, rowActions: b, tabNavigate: x, interaction: S, hasSoftDelete: C, zebra: w, hasBatchActions: T, hasDetailTarget: E, rowKey: D, measureElement: O }) {
78
+ let k = r(), A = {
76
79
  entity: a,
77
- entityCode: c,
80
+ entityCode: s,
78
81
  refs: v,
79
82
  t: k,
80
83
  renderers: y
81
- }, j = t.original, M = s(a, o, j), N = l({
84
+ }, j = e.original, M = c(a, o, j), N = l({
82
85
  entity: a,
83
86
  screen: M,
84
87
  savedViewColumns: _
85
- }), P = C && j[a.soft_delete] != null, F = t.getIsSelected(), I = w && r % 2 == 1, L = E || S.peekAllowed, R = (N.titleUsesDisplay ? e(k, j, a) ?? (N.titleField ? null : D(j)) : null) || (N.titleField ? h(N.titleField, j, A) : D(j)), z = N.subtitleField && (N.explicit || m(N.subtitleField, j, a)) ? N.subtitleField : void 0, B = N.badgeFields.filter((e) => !N.hideEmptyFields || m(e, j, a)), V = N.bodyFields.filter((e) => !N.hideEmptyFields || m(e, j, a)), H = N.metaFields.filter((e) => !N.hideEmptyFields || m(e, j, a));
88
+ }), P = C && j[a.soft_delete] != null, F = e.getIsSelected(), I = w && n % 2 == 1, L = E || S.peekAllowed, R = (N.titleUsesDisplay ? t(k, j, a) ?? (N.titleField ? null : D(j)) : null) || (N.titleField ? h(N.titleField, j, A) : D(j)), z = N.subtitleField && (N.explicit || m(N.subtitleField, j, a)) ? N.subtitleField : void 0, B = N.badgeFields.filter((e) => !N.hideEmptyFields || m(e, j, a)), V = N.bodyFields.filter((e) => !N.hideEmptyFields || m(e, j, a)), H = N.metaFields.filter((e) => !N.hideEmptyFields || m(e, j, a));
86
89
  return /* @__PURE__ */ d("div", {
87
- "data-index": r,
90
+ "data-index": n,
88
91
  "data-testid": "list-card",
89
92
  ref: (e) => O(e),
90
93
  style: {
@@ -102,7 +105,7 @@ function g({ row: t, rowIndex: r, entity: a, screen: o, entityCode: c, entities:
102
105
  alignItems: "start",
103
106
  width: "100%",
104
107
  boxSizing: "border-box",
105
- borderRadius: 8,
108
+ borderRadius: "var(--radius-md)",
106
109
  opacity: P ? .56 : 1,
107
110
  fontStyle: P ? "italic" : "normal",
108
111
  padding: "12px",
@@ -130,7 +133,7 @@ function g({ row: t, rowIndex: r, entity: a, screen: o, entityCode: c, entities:
130
133
  style: { paddingTop: 2 },
131
134
  children: /* @__PURE__ */ d(i, {
132
135
  checked: F,
133
- onChange: () => t.toggleSelected()
136
+ onChange: () => e.toggleSelected()
134
137
  })
135
138
  }),
136
139
  /* @__PURE__ */ f("div", {
@@ -238,7 +241,7 @@ function g({ row: t, rowIndex: r, entity: a, screen: o, entityCode: c, entities:
238
241
  screen: o,
239
242
  fullScreen: o,
240
243
  entity: a,
241
- entityCode: c,
244
+ entityCode: s,
242
245
  rowActions: b,
243
246
  tabNavigate: x,
244
247
  peekAllowed: S.peekAllowed,
@@ -247,35 +250,7 @@ function g({ row: t, rowIndex: r, entity: a, screen: o, entityCode: c, entities:
247
250
  })
248
251
  ]
249
252
  })
250
- }, t.id);
251
- }
252
- //#endregion
253
- //#region src/components/pages/list/ListCardsBody.tsx
254
- function _({ rows: e, virtualizer: t, ...n }) {
255
- return /* @__PURE__ */ d("div", {
256
- style: {
257
- height: t.getTotalSize(),
258
- width: "100%",
259
- position: "relative",
260
- boxSizing: "border-box"
261
- },
262
- children: t.getVirtualItems().map((r) => /* @__PURE__ */ d("div", {
263
- style: {
264
- position: "absolute",
265
- top: 0,
266
- left: 0,
267
- width: "100%",
268
- transform: `translateY(${r.start}px)`,
269
- boxSizing: "border-box"
270
- },
271
- children: /* @__PURE__ */ d(g, {
272
- row: e[r.index],
273
- rowIndex: r.index,
274
- measureElement: t.measureElement,
275
- ...n
276
- })
277
- }, e[r.index]?.id ?? r.key))
278
- });
253
+ }, e.id);
279
254
  }
280
255
  //#endregion
281
- export { _ as ListCardsBody };
256
+ export { g as ListCardRow };
@@ -0,0 +1,31 @@
1
+ import { ListCardRow as e } from "./ListCardRow.js";
2
+ import { jsx as t } from "react/jsx-runtime";
3
+ //#region src/components/pages/list/ListCardsBody.tsx
4
+ function n({ rows: n, virtualizer: r, ...i }) {
5
+ return /* @__PURE__ */ t("div", {
6
+ style: {
7
+ height: r.getTotalSize(),
8
+ width: "100%",
9
+ position: "relative",
10
+ boxSizing: "border-box"
11
+ },
12
+ children: r.getVirtualItems().map((a) => /* @__PURE__ */ t("div", {
13
+ style: {
14
+ position: "absolute",
15
+ top: 0,
16
+ left: 0,
17
+ width: "100%",
18
+ transform: `translateY(${a.start}px)`,
19
+ boxSizing: "border-box"
20
+ },
21
+ children: /* @__PURE__ */ t(e, {
22
+ row: n[a.index],
23
+ rowIndex: a.index,
24
+ measureElement: r.measureElement,
25
+ ...i
26
+ })
27
+ }, n[a.index]?.id ?? a.key))
28
+ });
29
+ }
30
+ //#endregion
31
+ export { n as ListCardsBody };
@@ -0,0 +1,130 @@
1
+ import { pluralText as e } from "../../../lib/language.js";
2
+ import { Icon as t } from "../../primitives/Icons.js";
3
+ import { useText as n } from "../../../hooks/useText.js";
4
+ import { buildActionBody as r, executeAction as i } from "../../../api/data.js";
5
+ import { applyRowState as a, defaultFlatForSlot as o, filterLayoutForSlot as s } from "../../../lib/actions.js";
6
+ import { useActionRunner as c } from "../../actions/ActionRunner.js";
7
+ import { dispatchAction as l } from "../../../lib/action-dispatch.js";
8
+ import { ResponsiveActionBar as u } from "../../actions/ResponsiveActionBar.js";
9
+ import { commonVariantActionCodes as d, effectiveScreenForRecord as f, resolveScreenVariantCode as p } from "../../../lib/variants.js";
10
+ import { useMemo as m } from "react";
11
+ import { jsx as h, jsxs as g } from "react/jsx-runtime";
12
+ //#region src/components/pages/list/ListFloatbar.tsx
13
+ var _ = "@keyframes floatbarIn{from{transform:translateX(-50%) translateY(8px);opacity:0}to{transform:translateX(-50%) translateY(0);opacity:1}}";
14
+ function v({ selectedIds: v, floatbarActions: y, screenActionLayout: b, entityActionLayout: x, data: S, rowKey: C, entityCode: w, entity: T, screen: E, onClear: D, onActionSuccess: O, widgetContext: k }) {
15
+ let A = n(), j = n("errors"), { run: M } = c(), N = m(() => {
16
+ let e = {};
17
+ for (let { code: t, action: n } of y) e[t] = n;
18
+ return e;
19
+ }, [y]), P = m(() => {
20
+ if (v.length === 0) return [];
21
+ let e = /* @__PURE__ */ new Map();
22
+ for (let t of S) e.set(C(t), t);
23
+ return v.map((t) => e.get(t)).filter((e) => e !== void 0);
24
+ }, [
25
+ v,
26
+ S,
27
+ C
28
+ ]), F = m(() => {
29
+ if (!T || !E || P.length === 0) return b;
30
+ let e = P.map((e) => p(T, E, e));
31
+ return e.some((t) => t !== e[0]) ? b : f(T, E, P[0])?.action_layout;
32
+ }, [
33
+ T,
34
+ E,
35
+ P,
36
+ b
37
+ ]), I = m(() => s((F ?? x) || o(N, "list_floatbar"), N, void 0, "list_floatbar"), [
38
+ F,
39
+ x,
40
+ N
41
+ ]), L = m(() => a(A, I, N, void 0, {}, P, d(T, P)), [
42
+ A,
43
+ I,
44
+ N,
45
+ P,
46
+ T
47
+ ]);
48
+ return L.length === 0 ? null : /* @__PURE__ */ g("div", {
49
+ style: {
50
+ position: "fixed",
51
+ left: "50%",
52
+ bottom: "calc(var(--tabbar-h) + var(--safe-area-bottom) + 14px)",
53
+ transform: "translateX(-50%)",
54
+ zIndex: 45,
55
+ display: "flex",
56
+ alignItems: "center",
57
+ flexWrap: "wrap",
58
+ gap: 8,
59
+ padding: "6px 10px 6px 14px",
60
+ maxWidth: "calc(100vw - var(--safe-area-left) - var(--safe-area-right) - 24px)",
61
+ boxSizing: "border-box",
62
+ background: "var(--text)",
63
+ color: "var(--background)",
64
+ borderRadius: "var(--radius-lg)",
65
+ boxShadow: "var(--shadow-lg)",
66
+ animation: "floatbarIn .15s ease-out"
67
+ },
68
+ children: [
69
+ /* @__PURE__ */ h("style", { children: _ }),
70
+ /* @__PURE__ */ g("span", {
71
+ style: {
72
+ fontSize: 12.5,
73
+ fontWeight: 600
74
+ },
75
+ children: [/* @__PURE__ */ h("span", {
76
+ style: {
77
+ padding: "1px 7px",
78
+ borderRadius: "var(--radius-sm)",
79
+ background: "var(--accent)",
80
+ color: "var(--accent-foreground)",
81
+ marginRight: 6,
82
+ fontSize: 11.5
83
+ },
84
+ children: v.length
85
+ }), e(A, "list.selection.selected", v.length, {
86
+ one: "selected",
87
+ other: "selected"
88
+ })]
89
+ }),
90
+ /* @__PURE__ */ h(u, {
91
+ layout: L,
92
+ kind: "toolbar",
93
+ entityActions: N,
94
+ rowSelection: P,
95
+ onRun: (e, t) => {
96
+ let n = l(j, e, t, {}, w);
97
+ if (n !== null) return M({
98
+ action: t,
99
+ title: A(t.display?.name) || e,
100
+ bulkSelection: P,
101
+ entity: w,
102
+ execute: async (e) => {
103
+ let t = await i(n, r(e, v));
104
+ return O(), t;
105
+ }
106
+ });
107
+ },
108
+ widgetContext: k,
109
+ ariaLabel: A("list.selection.floatbar", "Floating action bar"),
110
+ constrain: !1
111
+ }),
112
+ /* @__PURE__ */ h("button", {
113
+ onClick: D,
114
+ style: {
115
+ background: "none",
116
+ border: "none",
117
+ color: "var(--background)",
118
+ cursor: "pointer",
119
+ opacity: .6,
120
+ padding: "4px 6px",
121
+ borderRadius: "var(--radius-md)"
122
+ },
123
+ title: A("list.selection.clear", "Clear selection"),
124
+ children: /* @__PURE__ */ h(t.x, { size: 14 })
125
+ })
126
+ ]
127
+ });
128
+ }
129
+ //#endregion
130
+ export { v as ListFloatbar };
@@ -0,0 +1,138 @@
1
+ import { pluralText as e } from "../../../lib/language.js";
2
+ import { Icon as t } from "../../primitives/Icons.js";
3
+ import { IconBtn as n } from "../../primitives/IconBtn.js";
4
+ import { useText as r } from "../../../hooks/useText.js";
5
+ import { Spinner as i } from "../../primitives/Spinner.js";
6
+ import { pageInsetX as a } from "../../../lib/page-inset.js";
7
+ import { useBrandingChrome as o } from "../../../hooks/useBrandingChrome.js";
8
+ import { formatCount as s } from "../../../lib/format-count.js";
9
+ import { PER_PAGE_OPTIONS as c } from "./page-size.js";
10
+ import { Fragment as l, jsx as u, jsxs as d } from "react/jsx-runtime";
11
+ //#region src/components/pages/list/ListFooter.tsx
12
+ function f({ meta: f, isCursor: p, isPhone: m, rowsLoaded: h, selectedCount: g, countTotal: _, countStrategy: v, countLoading: y, countError: b, page: x, totalPages: S, goToPage: C, perPage: w, setPerPage: T, hasMorePages: E, fetchNextPage: D, isFetchingNextPage: O }) {
13
+ let k = o("list"), A = r();
14
+ return !f && !p ? null : /* @__PURE__ */ d("div", {
15
+ style: {
16
+ display: "flex",
17
+ alignItems: "center",
18
+ paddingTop: 8,
19
+ paddingBottom: 8,
20
+ ...m ? a(12) : {
21
+ paddingLeft: 14,
22
+ paddingRight: 14
23
+ },
24
+ background: "var(--surface-2)",
25
+ borderTop: "1px solid var(--border)",
26
+ fontSize: 11.5,
27
+ color: "var(--text-3)",
28
+ gap: 12,
29
+ flexWrap: "wrap"
30
+ },
31
+ children: [
32
+ k.isVisible("show_count") && /* @__PURE__ */ d(l, { children: [/* @__PURE__ */ u("span", {
33
+ className: "num",
34
+ "data-testid": "list-footer-count",
35
+ style: {
36
+ display: "inline-flex",
37
+ alignItems: "center",
38
+ gap: 5
39
+ },
40
+ children: _ === void 0 ? y && !b ? /* @__PURE__ */ u("span", {
41
+ "data-testid": "list-footer-count-pending",
42
+ style: { display: "inline-flex" },
43
+ children: /* @__PURE__ */ u(i, { size: 11 })
44
+ }) : e(A, "list.footer.count", h, {
45
+ one: "{count} record",
46
+ other: "{count} records"
47
+ }) : e(A, "list.footer.count_of", _, {
48
+ one: "{loaded} of {total} record",
49
+ other: "{loaded} of {total} records"
50
+ }, {
51
+ loaded: h,
52
+ total: s(_, v ?? "exact", A.language)
53
+ })
54
+ }), /* @__PURE__ */ u("span", { children: "·" })] }),
55
+ /* @__PURE__ */ d("span", { children: [
56
+ A("list.footer.selected", "Selected:"),
57
+ " ",
58
+ /* @__PURE__ */ u("span", {
59
+ className: "num",
60
+ style: {
61
+ color: "var(--text-2)",
62
+ fontWeight: 500
63
+ },
64
+ children: g
65
+ })
66
+ ] }),
67
+ /* @__PURE__ */ u("div", { style: { flex: m ? "1 1 100%" : 1 } }),
68
+ !m && /* @__PURE__ */ u("span", { children: A("list.footer.rows_per_page", "Rows per page") }),
69
+ /* @__PURE__ */ u("select", {
70
+ "aria-label": A("list.footer.rows_per_page", "Rows per page"),
71
+ value: w,
72
+ onChange: (e) => T(parseInt(e.target.value, 10)),
73
+ style: {
74
+ fontSize: 11.5,
75
+ padding: "2px 4px",
76
+ background: "var(--surface)",
77
+ border: "1px solid var(--border)",
78
+ borderRadius: "var(--radius-sm)",
79
+ color: "var(--text-2)",
80
+ cursor: "pointer"
81
+ },
82
+ children: c.map((e) => /* @__PURE__ */ u("option", {
83
+ value: e,
84
+ children: e
85
+ }, e))
86
+ }),
87
+ p ? E && /* @__PURE__ */ d("button", {
88
+ type: "button",
89
+ className: "num",
90
+ "data-testid": "list-footer-load-more",
91
+ onClick: D,
92
+ disabled: O,
93
+ style: {
94
+ display: "inline-flex",
95
+ alignItems: "center",
96
+ gap: 6,
97
+ padding: "2px 10px",
98
+ background: "var(--surface)",
99
+ border: "1px solid var(--border)",
100
+ borderRadius: "var(--radius-sm)",
101
+ color: "var(--text-2)",
102
+ cursor: O ? "default" : "pointer"
103
+ },
104
+ children: [O ? /* @__PURE__ */ u(i, { size: 11 }) : null, A("list.footer.load_more", "Load more")]
105
+ }) : (E || x > 1) && /* @__PURE__ */ d("div", {
106
+ style: {
107
+ display: "flex",
108
+ alignItems: "center",
109
+ gap: 4
110
+ },
111
+ children: [
112
+ /* @__PURE__ */ u(n, {
113
+ size: 22,
114
+ icon: /* @__PURE__ */ u(t.left, { size: 12 }),
115
+ onClick: () => C(x - 1),
116
+ disabled: x <= 1
117
+ }),
118
+ /* @__PURE__ */ u("span", {
119
+ className: "num",
120
+ style: { padding: "0 6px" },
121
+ children: S === void 0 ? A("list.footer.page", "Page {page}", { page: x }) : A("list.footer.page_of", "Page {page} of {total}", {
122
+ page: x,
123
+ total: S
124
+ })
125
+ }),
126
+ /* @__PURE__ */ u(n, {
127
+ size: 22,
128
+ icon: /* @__PURE__ */ u(t.right, { size: 12 }),
129
+ onClick: () => C(x + 1),
130
+ disabled: S === void 0 ? !E : x >= S
131
+ })
132
+ ]
133
+ })
134
+ ]
135
+ });
136
+ }
137
+ //#endregion
138
+ export { f as ListFooter };
@@ -0,0 +1,120 @@
1
+ import { Icon as e } from "../../primitives/Icons.js";
2
+ import { IconBtn as t } from "../../primitives/IconBtn.js";
3
+ import { InfoTooltip as n } from "../../primitives/Tooltip.js";
4
+ import { useText as r } from "../../../hooks/useText.js";
5
+ import { useResponsiveMode as i } from "../../../hooks/useResponsiveMode.js";
6
+ import { buildActionBody as a, executeAction as o } from "../../../api/data.js";
7
+ import { pageInsetX as s } from "../../../lib/page-inset.js";
8
+ import { actionRequiresSelection as c, applyRowState as l, defaultFlatForSlot as u, disableLeavesWhere as d, filterLayoutForSlot as f } from "../../../lib/actions.js";
9
+ import { useActionRunner as p } from "../../actions/ActionRunner.js";
10
+ import { useBrandingChrome as m } from "../../../hooks/useBrandingChrome.js";
11
+ import { useScreenBack as h } from "../../../hooks/useScreenBack.js";
12
+ import { dispatchAction as g } from "../../../lib/action-dispatch.js";
13
+ import { ResponsiveActionBar as _ } from "../../actions/ResponsiveActionBar.js";
14
+ import { useMemo as v } from "react";
15
+ import { jsx as y, jsxs as b } from "react/jsx-runtime";
16
+ //#region src/components/pages/list/ListHeader.tsx
17
+ function x({ title: x, description: S, toolbarActions: C, screenActionLayout: w, entityActionLayout: T, selectedIds: E, data: D, rowKey: O, onActionSuccess: k, widgetContext: A }) {
18
+ let j = r(), M = r("errors"), { run: N } = p(), { isPhone: P } = i(), F = m("list"), I = F.isVisible("show_title"), L = F.isVisible("show_actions"), R = h(), z = v(() => {
19
+ let e = {};
20
+ for (let { code: t, action: n } of C) e[t] = n;
21
+ return e;
22
+ }, [C]), B = v(() => f((w ?? T) || u(z, "list_toolbar"), z, void 0, "list_toolbar"), [
23
+ w,
24
+ T,
25
+ z
26
+ ]), V = v(() => d(B, z, void 0, c, j("list.toolbar.select_rows_first", "Select one or more rows first")), [
27
+ j,
28
+ B,
29
+ z
30
+ ]), H = v(() => {
31
+ if (E.length === 0) return [];
32
+ let e = /* @__PURE__ */ new Map();
33
+ for (let t of D) e.set(O(t), t);
34
+ return E.map((t) => e.get(t)).filter((e) => e !== void 0);
35
+ }, [
36
+ E,
37
+ D,
38
+ O
39
+ ]), U = v(() => l(j, B, z, void 0, {}, H), [
40
+ j,
41
+ B,
42
+ z,
43
+ H
44
+ ]), W = E.length > 0 ? U : V, G = (e, t) => {
45
+ let n = g(M, e, t, {});
46
+ if (n === null) return;
47
+ let r = j(t.display?.name) || e;
48
+ return N({
49
+ action: t,
50
+ title: r,
51
+ bulkSelection: H.length > 0 ? H : void 0,
52
+ execute: async (e) => {
53
+ let t = E.length > 0 ? E : void 0, r = await o(n, a(e, t));
54
+ return t && t.length > 0 && k(), r;
55
+ }
56
+ });
57
+ };
58
+ return !I && !L ? null : /* @__PURE__ */ b("div", {
59
+ style: {
60
+ display: "flex",
61
+ alignItems: "center",
62
+ gap: 8,
63
+ flexWrap: P ? "wrap" : "nowrap",
64
+ paddingTop: P ? 12 : 16,
65
+ paddingBottom: 10,
66
+ ...P ? s(12) : {
67
+ paddingLeft: 20,
68
+ paddingRight: 20
69
+ }
70
+ },
71
+ children: [
72
+ I && R.hasOriginBack && /* @__PURE__ */ y(t, {
73
+ icon: /* @__PURE__ */ y(e.back, { size: 14 }),
74
+ title: j("list.header.back", "Back"),
75
+ onClick: R.goBack
76
+ }),
77
+ I && /* @__PURE__ */ y("div", {
78
+ style: {
79
+ flex: P ? "1 1 100%" : "1 1 auto",
80
+ minWidth: 0
81
+ },
82
+ children: /* @__PURE__ */ b("div", {
83
+ style: {
84
+ display: "flex",
85
+ alignItems: "baseline",
86
+ gap: 10
87
+ },
88
+ children: [/* @__PURE__ */ y("h1", {
89
+ style: {
90
+ margin: 0,
91
+ minWidth: 0,
92
+ overflow: "hidden",
93
+ textOverflow: "ellipsis",
94
+ whiteSpace: "nowrap",
95
+ fontSize: "var(--page-title-size, var(--page-title-size-list))",
96
+ lineHeight: "var(--page-title-line-height, var(--page-title-line-height-list))",
97
+ fontWeight: "var(--page-title-weight)",
98
+ letterSpacing: "-0.012em",
99
+ color: "var(--text)"
100
+ },
101
+ children: x
102
+ }), S && /* @__PURE__ */ y(n, {
103
+ label: S,
104
+ "data-testid": "list-description-info"
105
+ })]
106
+ })
107
+ }),
108
+ L && W.length > 0 && /* @__PURE__ */ y(_, {
109
+ layout: W,
110
+ kind: "toolbar",
111
+ entityActions: z,
112
+ onRun: G,
113
+ widgetContext: A,
114
+ ariaLabel: j("list.toolbar.actions", "List toolbar actions")
115
+ })
116
+ ]
117
+ });
118
+ }
119
+ //#endregion
120
+ export { x as ListHeader };