@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,943 +0,0 @@
1
- import { A as e, Ft as t, P as n, Pt as r, j as i, o as a, s as o, wn as s, wt as c } from "./useCurrentScreen-BZOHBGQZ.js";
2
- import { t as l } from "./Icons-lt-7lhYR.js";
3
- import { n as u, r as d } from "./CopyButton-DRIT_f0k.js";
4
- import { t as f } from "./Kbd-CNttVu0z.js";
5
- import { n as p, t as m } from "./MenuItem-CfkVXPvC.js";
6
- import { f as h, o as g } from "./PropertyGridEditor-XrP6TZ5s.js";
7
- import { r as _ } from "./page-state-eA6J_KIR.js";
8
- import { n as v } from "./ActionRunner-DdBFhqGe.js";
9
- import { h as y, m as b } from "./useOwnRefresh-DJjaje52.js";
10
- import { a as x, n as S, p as C, s as w } from "./variants-vUtfBbE6.js";
11
- import { _ as T, m as E, u as D } from "./FilterChips-Cv1tlXyo.js";
12
- import { useCallback as O, useEffect as k, useMemo as A, useRef as j, useState as M } from "react";
13
- import { Fragment as N, jsx as P, jsxs as F } from "react/jsx-runtime";
14
- import { useLocation as I, useSearchParams as L } from "react-router";
15
- //#region src/components/primitives/Avatar.tsx
16
- function R({ name: e, size: t = 22, color: n }) {
17
- let r = e.split(/\s+/).map((e) => e[0]).slice(0, 2).join("").toUpperCase(), i = e.split("").reduce((e, t) => e + t.charCodeAt(0), 0), a = [
18
- "#DCE4F6",
19
- "#E4DCF6",
20
- "#F6DCE4",
21
- "#F6E4DC",
22
- "#DCF6E4",
23
- "#DCF6F1",
24
- "#F1F6DC",
25
- "#F6DCF1"
26
- ], o = n || a[i % a.length];
27
- return /* @__PURE__ */ P("span", {
28
- style: {
29
- display: "inline-flex",
30
- alignItems: "center",
31
- justifyContent: "center",
32
- width: t,
33
- height: t,
34
- borderRadius: 999,
35
- background: o,
36
- color: "#1E2A4A",
37
- fontSize: t < 20 ? 9.5 : 10.5,
38
- fontWeight: 600,
39
- flexShrink: 0
40
- },
41
- children: r
42
- });
43
- }
44
- //#endregion
45
- //#region src/components/shared/ConfirmDialog.tsx
46
- function z({ open: e, onOpenChange: t, title: n, description: r, confirmLabel: i, onConfirm: a, destructive: o = !1 }) {
47
- let s = c(), f = j(null);
48
- return k(() => {
49
- e && f.current?.focus();
50
- }, [e]), e ? /* @__PURE__ */ F(N, { children: [/* @__PURE__ */ P("div", {
51
- onClick: () => t(!1),
52
- style: {
53
- position: "fixed",
54
- inset: 0,
55
- background: "var(--scrim)",
56
- zIndex: 60,
57
- backdropFilter: "blur(2px)"
58
- }
59
- }), /* @__PURE__ */ F("div", {
60
- ref: f,
61
- role: "dialog",
62
- "aria-modal": "true",
63
- "aria-label": n,
64
- tabIndex: -1,
65
- onKeyDown: (e) => {
66
- e.key === "Escape" && t(!1);
67
- },
68
- style: {
69
- position: "fixed",
70
- top: "50%",
71
- left: "50%",
72
- transform: "translate(-50%, -50%)",
73
- zIndex: 61,
74
- width: "calc(100vw - 24px)",
75
- maxWidth: 460,
76
- maxHeight: "calc(var(--app-height) - var(--safe-area-top) - var(--safe-area-bottom) - 16px)",
77
- background: "var(--surface)",
78
- borderRadius: 12,
79
- boxShadow: "var(--shadow-lg)",
80
- border: "1px solid var(--border)",
81
- overflow: "hidden",
82
- display: "flex",
83
- flexDirection: "column",
84
- outline: "none"
85
- },
86
- children: [/* @__PURE__ */ F("div", {
87
- style: {
88
- padding: "14px 18px",
89
- display: "flex",
90
- alignItems: "center",
91
- gap: 10,
92
- minWidth: 0,
93
- overflowY: "auto"
94
- },
95
- children: [
96
- /* @__PURE__ */ P("span", {
97
- style: {
98
- width: 28,
99
- height: 28,
100
- borderRadius: 7,
101
- background: o ? "var(--danger-soft)" : "var(--accent-soft)",
102
- color: o ? "var(--danger)" : "var(--accent)",
103
- display: "inline-flex",
104
- alignItems: "center",
105
- justifyContent: "center",
106
- flexShrink: 0
107
- },
108
- children: P(o ? l.trash : l.info, { size: 15 })
109
- }),
110
- /* @__PURE__ */ F("div", {
111
- style: {
112
- flex: 1,
113
- minWidth: 0
114
- },
115
- children: [/* @__PURE__ */ P("div", {
116
- style: {
117
- fontSize: 14,
118
- fontWeight: 600,
119
- color: "var(--text)"
120
- },
121
- children: n
122
- }), /* @__PURE__ */ P("div", {
123
- style: {
124
- fontSize: 11.5,
125
- color: "var(--text-3)",
126
- marginTop: 2
127
- },
128
- children: r
129
- })]
130
- }),
131
- /* @__PURE__ */ P(u, {
132
- icon: /* @__PURE__ */ P(l.x, { size: 14 }),
133
- onClick: () => t(!1)
134
- })
135
- ]
136
- }), /* @__PURE__ */ F("div", {
137
- style: {
138
- padding: "10px 16px",
139
- borderTop: "1px solid var(--divider)",
140
- display: "flex",
141
- alignItems: "center",
142
- justifyContent: "flex-end",
143
- flexWrap: "wrap",
144
- gap: 8,
145
- background: "var(--surface-2)",
146
- flexShrink: 0
147
- },
148
- children: [
149
- /* @__PURE__ */ P("div", { style: { flex: 1 } }),
150
- /* @__PURE__ */ P(d, {
151
- onClick: () => t(!1),
152
- children: s("dialog.cancel", "Cancel")
153
- }),
154
- /* @__PURE__ */ P(d, {
155
- kind: "primary",
156
- danger: o,
157
- onClick: () => {
158
- a(), t(!1);
159
- },
160
- children: i ?? s("dialog.confirm", "Confirm")
161
- })
162
- ]
163
- })]
164
- })] }) : null;
165
- }
166
- //#endregion
167
- //#region src/hooks/useScreen.ts
168
- function B(e) {
169
- let { data: n } = t();
170
- if (n && e) return n.screens[e];
171
- }
172
- //#endregion
173
- //#region src/hooks/useFilters.ts
174
- var V = [];
175
- function H({ defaults: e = V } = {}) {
176
- let [t, n] = L(), r = c("errors"), i = A(() => E(t), [t]), a = i.error === null && t.get("filters") !== null ? i.filters : e, o = A(() => D(a), [a]), s = O((r) => {
177
- let i = new URLSearchParams(t);
178
- T(r, i, e), i.set("page", "1"), n(i);
179
- }, [
180
- t,
181
- n,
182
- e
183
- ]), l = O(() => {
184
- let e = new URLSearchParams(t);
185
- e.delete("filters"), e.set("page", "1"), n(e);
186
- }, [t, n]);
187
- return {
188
- filters: a,
189
- filterError: i.error === null ? null : r(i.errorCode ?? "", i.error),
190
- activeCount: o,
191
- setFilters: s,
192
- clearFilters: l
193
- };
194
- }
195
- //#endregion
196
- //#region src/hooks/useViews.ts
197
- function U(e, t) {
198
- let n = t && String(e.user_id) === t;
199
- return {
200
- id: String(e.id),
201
- name: typeof e.name == "object" && e.name !== null ? e.name : { en: s(e.name) },
202
- icon: e.icon,
203
- source: n ? "personal" : "shared",
204
- is_default: e.is_default === !0,
205
- filters: e.filters,
206
- columns: e.columns,
207
- sort: e.sort
208
- };
209
- }
210
- function W(e, t) {
211
- let n = a("view", {
212
- filters: [{
213
- field: "id",
214
- op: "eq",
215
- value: e ?? ""
216
- }],
217
- per_page: 1
218
- }, !!e), r = n.data?.data?.[0], i = A(() => r ? U(r, t) : void 0, [r, t]);
219
- return e ? {
220
- view: i,
221
- isSettled: !n.isPending || n.fetchStatus === "paused"
222
- } : {
223
- view: void 0,
224
- isSettled: !0
225
- };
226
- }
227
- function G(e, t) {
228
- return K(e, t).views;
229
- }
230
- function K(e, t) {
231
- let n = B(e), r = o("view") !== void 0, i = a("view", {
232
- filters: [{
233
- field: "screen_code",
234
- op: "eq",
235
- value: e
236
- }, ...t ? [{ or: [{
237
- field: "user_id",
238
- op: "eq",
239
- value: t
240
- }, {
241
- field: "is_shared",
242
- op: "eq",
243
- value: "true"
244
- }] }] : []],
245
- sort: "created_at:desc",
246
- per_page: 100
247
- }, r), s = i.data, c = A(() => {
248
- let e = [];
249
- if (n?.views) for (let t of n.views) e.push({
250
- id: t.code,
251
- name: t.name,
252
- icon: t.icon,
253
- source: "system",
254
- filters: t.filters,
255
- columns: t.columns,
256
- sort: t.sort
257
- });
258
- if (s?.data) for (let n of s.data) e.push(U(n, t));
259
- return e;
260
- }, [
261
- n?.views,
262
- s?.data,
263
- t
264
- ]), { refetch: l } = i;
265
- return {
266
- views: c,
267
- isSettled: !r || !i.isPending || i.fetchStatus === "paused",
268
- isFetching: i.isFetching,
269
- refetch: O(() => {
270
- l();
271
- }, [l])
272
- };
273
- }
274
- //#endregion
275
- //#region src/hooks/usePageState.ts
276
- function q(e, t, n) {
277
- let r = I(), i = n?.scope === "path" ? b(r) : y(r), a = j(i);
278
- a.current = i;
279
- let o = j(t), s = _((t) => t.ttlMs <= 0 ? void 0 : t.entries[i]?.bag[e]), c = s === void 0 ? o.current : s;
280
- return k(() => {
281
- _.getState().touch(i);
282
- }, [i]), [c, O((t) => {
283
- let n = a.current, r = _.getState(), i = r.read(n, e), s = i === void 0 ? o.current : i, c = typeof t == "function" ? t(s) : t;
284
- r.set(n, e, c);
285
- }, [e])];
286
- }
287
- //#endregion
288
- //#region src/components/list/ColumnPicker.tsx
289
- function J({ availableColumns: e, visibleColumns: t, onToggle: n, onMove: r, onReset: i, onShowAll: a, onResetWidths: o, columnLabel: s = (e) => e }) {
290
- let f = c(), h = j(null), [g, _] = M(!1), v = e.filter((e) => !t.includes(e)), y = (e) => /* @__PURE__ */ P("div", {
291
- style: {
292
- padding: "6px 8px 4px",
293
- fontSize: 10.5,
294
- color: "var(--text-3)",
295
- fontWeight: 600,
296
- letterSpacing: "0.06em",
297
- textTransform: "uppercase"
298
- },
299
- children: e
300
- });
301
- return /* @__PURE__ */ F(N, { children: [/* @__PURE__ */ P(d, {
302
- ref: h,
303
- icon: /* @__PURE__ */ P(l.columns, { size: 13 }),
304
- onClick: () => _((e) => !e),
305
- active: g,
306
- children: f("list.columns.button", "Columns")
307
- }), /* @__PURE__ */ F(p, {
308
- open: g,
309
- anchor: h.current,
310
- onClose: () => _(!1),
311
- align: "end",
312
- width: 240,
313
- children: [
314
- y(f("list.columns.visible", "Visible columns")),
315
- t.map((e, i) => /* @__PURE__ */ F("div", {
316
- style: {
317
- display: "flex",
318
- alignItems: "center",
319
- gap: 2,
320
- padding: "0 6px 0 8px"
321
- },
322
- children: [/* @__PURE__ */ F("button", {
323
- type: "button",
324
- onClick: () => n(e),
325
- "aria-label": f("list.columns.hide", "Hide {column}", { column: s(e) }),
326
- style: {
327
- flex: 1,
328
- display: "flex",
329
- alignItems: "center",
330
- gap: 6,
331
- minWidth: 0,
332
- background: "none",
333
- border: 0,
334
- cursor: "pointer",
335
- textAlign: "left",
336
- color: "var(--text)",
337
- font: "inherit",
338
- fontSize: 12.5,
339
- padding: "4px 0"
340
- },
341
- children: [/* @__PURE__ */ P(l.check, { size: 12 }), /* @__PURE__ */ P("span", {
342
- style: {
343
- overflow: "hidden",
344
- textOverflow: "ellipsis",
345
- whiteSpace: "nowrap"
346
- },
347
- children: s(e)
348
- })]
349
- }), r && /* @__PURE__ */ F(N, { children: [/* @__PURE__ */ P(u, {
350
- icon: /* @__PURE__ */ P(l.arrowUp, { size: 12 }),
351
- title: f("list.columns.move_up", "Move {column} up", { column: s(e) }),
352
- size: 22,
353
- disabled: i === 0,
354
- onClick: () => r(e, "up")
355
- }), /* @__PURE__ */ P(u, {
356
- icon: /* @__PURE__ */ P(l.arrowDown, { size: 12 }),
357
- title: f("list.columns.move_down", "Move {column} down", { column: s(e) }),
358
- size: 22,
359
- disabled: i === t.length - 1,
360
- onClick: () => r(e, "down")
361
- })] })]
362
- }, e)),
363
- v.length > 0 && /* @__PURE__ */ F(N, { children: [y(f("list.columns.hidden", "Hidden columns")), v.map((e) => /* @__PURE__ */ P(m, {
364
- icon: /* @__PURE__ */ P("span", { style: {
365
- width: 12,
366
- display: "inline-block"
367
- } }),
368
- onClick: () => n(e),
369
- children: s(e)
370
- }, e))] }),
371
- /* @__PURE__ */ P(m, { divider: !0 }),
372
- /* @__PURE__ */ P(m, {
373
- icon: /* @__PURE__ */ P(l.refresh, { size: 12 }),
374
- onClick: i,
375
- children: f("list.columns.reset", "Reset columns")
376
- }),
377
- /* @__PURE__ */ P(m, {
378
- icon: /* @__PURE__ */ P(l.eye, { size: 12 }),
379
- onClick: a,
380
- children: f("list.columns.show_all", "Show all")
381
- }),
382
- o && /* @__PURE__ */ P(m, {
383
- icon: /* @__PURE__ */ P(l.columns, { size: 12 }),
384
- onClick: o,
385
- children: f("list.columns.reset_widths", "Reset column widths (this device)")
386
- })
387
- ]
388
- })] });
389
- }
390
- //#endregion
391
- //#region src/components/list/ViewSwitcher.tsx
392
- var Y = l["undo-2"], X = {
393
- display: "flex",
394
- alignItems: "center",
395
- gap: 6,
396
- height: 28,
397
- padding: "0 10px",
398
- background: "var(--surface)",
399
- border: "1px solid var(--border)",
400
- borderRadius: 6,
401
- cursor: "pointer",
402
- fontSize: 12,
403
- color: "var(--text-2)",
404
- fontFamily: "inherit"
405
- };
406
- function ee({ views: e, activeViewId: t, isDirty: n, onSelect: r, onSave: i, onSaveAs: a, onDiscard: o, onDelete: s, deletePending: f = !1 }) {
407
- let h = c(), g = j(null), [_, v] = M(!1), y = e.find((e) => e.id === t), b = e.filter((e) => e.source === "system"), x = e.filter((e) => e.source === "personal"), S = e.filter((e) => e.source === "shared"), C = y ? h(y.name) : h("list.view.all_records", "All records"), w = (e) => /* @__PURE__ */ P("div", {
408
- style: {
409
- padding: "6px 8px 4px",
410
- fontSize: 10,
411
- color: "var(--text-3)",
412
- fontWeight: 700,
413
- letterSpacing: "0.08em",
414
- textTransform: "uppercase"
415
- },
416
- children: e
417
- });
418
- return /* @__PURE__ */ F("div", {
419
- style: {
420
- display: "flex",
421
- alignItems: "center",
422
- gap: 6
423
- },
424
- children: [
425
- /* @__PURE__ */ F("button", {
426
- ref: g,
427
- type: "button",
428
- onClick: () => v((e) => !e),
429
- style: X,
430
- children: [
431
- /* @__PURE__ */ P(l.star, { size: 12 }),
432
- /* @__PURE__ */ P("span", { children: C }),
433
- n && /* @__PURE__ */ P("span", { style: {
434
- display: "inline-block",
435
- width: 6,
436
- height: 6,
437
- borderRadius: 999,
438
- background: "var(--warn)",
439
- marginLeft: 2
440
- } }),
441
- /* @__PURE__ */ P(l.down, { size: 11 })
442
- ]
443
- }),
444
- /* @__PURE__ */ F(p, {
445
- open: _,
446
- anchor: g.current,
447
- onClose: () => v(!1),
448
- width: 280,
449
- children: [
450
- /* @__PURE__ */ P(m, {
451
- icon: t ? void 0 : /* @__PURE__ */ P(l.check, { size: 12 }),
452
- active: !t,
453
- onClick: () => {
454
- r({
455
- id: "",
456
- name: { [h.language]: h("list.view.all_records", "All records") },
457
- source: "system"
458
- }), v(!1);
459
- },
460
- children: h("list.view.all_records", "All records")
461
- }),
462
- b.length > 0 && w(h("list.view.presets", "Presets")),
463
- b.map((e) => /* @__PURE__ */ P(m, {
464
- icon: t === e.id ? /* @__PURE__ */ P(l.check, { size: 12 }) : void 0,
465
- active: t === e.id,
466
- onClick: () => {
467
- r(e), v(!1);
468
- },
469
- children: h(e.name)
470
- }, e.id)),
471
- x.length > 0 && w(h("list.view.mine", "My Views")),
472
- x.map((e) => /* @__PURE__ */ F("div", {
473
- style: {
474
- display: "flex",
475
- alignItems: "center",
476
- gap: 2,
477
- paddingRight: 6
478
- },
479
- children: [/* @__PURE__ */ P("div", {
480
- style: {
481
- flex: 1,
482
- minWidth: 0
483
- },
484
- children: /* @__PURE__ */ P(m, {
485
- icon: t === e.id ? /* @__PURE__ */ P(l.check, { size: 12 }) : e.is_default ? /* @__PURE__ */ P(l.star, { size: 12 }) : void 0,
486
- active: t === e.id,
487
- onClick: () => {
488
- r(e), v(!1);
489
- },
490
- children: h(e.name)
491
- })
492
- }), s && /* @__PURE__ */ P(u, {
493
- icon: /* @__PURE__ */ P(l.trash, { size: 12 }),
494
- title: h("list.view.delete_action", "Delete view {name}", { name: h(e.name) }),
495
- size: 22,
496
- disabled: f,
497
- onClick: () => {
498
- s(e), v(!1);
499
- }
500
- })]
501
- }, e.id)),
502
- S.length > 0 && w(h("list.view.shared", "Shared")),
503
- S.map((e) => /* @__PURE__ */ P(m, {
504
- icon: t === e.id ? /* @__PURE__ */ P(l.check, { size: 12 }) : /* @__PURE__ */ P(l.globe, { size: 12 }),
505
- active: t === e.id,
506
- onClick: () => {
507
- r(e), v(!1);
508
- },
509
- children: h(e.name)
510
- }, e.id)),
511
- a && /* @__PURE__ */ F(N, { children: [/* @__PURE__ */ P(m, { divider: !0 }), /* @__PURE__ */ P(m, {
512
- icon: /* @__PURE__ */ P(l.plus, { size: 12 }),
513
- onClick: () => {
514
- a(), v(!1);
515
- },
516
- children: h("list.view.save_as_menu", "Save as new view…")
517
- })] })
518
- ]
519
- }),
520
- n && t && /* @__PURE__ */ F(N, { children: [i && y?.source === "personal" ? /* @__PURE__ */ P(d, {
521
- icon: /* @__PURE__ */ P(l.save, { size: 12 }),
522
- onClick: i,
523
- children: h("list.view.save", "Save")
524
- }) : a ? /* @__PURE__ */ P(d, {
525
- icon: /* @__PURE__ */ P(l.plus, { size: 12 }),
526
- onClick: a,
527
- children: h("list.view.save_as", "Save as new")
528
- }) : null, o && /* @__PURE__ */ P(d, {
529
- kind: "ghost",
530
- icon: /* @__PURE__ */ P(Y, { size: 12 }),
531
- onClick: o,
532
- children: h("list.view.discard", "Discard")
533
- })] })
534
- ]
535
- });
536
- }
537
- //#endregion
538
- //#region src/components/list/PeekFieldCell.tsx
539
- var Z = /* @__PURE__ */ new Set([
540
- "enum",
541
- "bool",
542
- "ref"
543
- ]);
544
- function te(e) {
545
- let t = e.display?.widget;
546
- return t && Z.has(t) ? !0 : Z.has(e.type);
547
- }
548
- function ne({ field: e, fieldName: t, label: n, value: r, record: i, refs: a, readOnly: o, onCommit: s }) {
549
- let d = c(), [f, p] = M(!1), [m, g] = M(r), _ = te(e);
550
- k(() => {
551
- f || g(r);
552
- }, [r, f]);
553
- let v = O(() => {
554
- o || (g(r), p(!0));
555
- }, [o, r]), y = O((e) => {
556
- s(e === void 0 ? m : e), p(!1);
557
- }, [s, m]), b = O(() => {
558
- g(r), p(!1);
559
- }, [r]), x = O((e) => {
560
- if (o || f) return;
561
- let t = e.target;
562
- t.closest("a") || t.closest("[data-peek-pencil=\"true\"]") || v();
563
- }, [
564
- o,
565
- f,
566
- v
567
- ]), S = O((e) => {
568
- f ? _ || (e.key === "Enter" ? (e.preventDefault(), e.stopPropagation(), y()) : e.key === "Escape" && (e.preventDefault(), e.stopPropagation(), b())) : !o && (e.key === "Enter" || e.key === " ") && (e.preventDefault(), v());
569
- }, [
570
- f,
571
- _,
572
- o,
573
- v,
574
- y,
575
- b
576
- ]), C = O((e) => {
577
- _ ? (g(e), y(e)) : g(e);
578
- }, [_, y]), w = h({
579
- field: e,
580
- fieldName: t,
581
- value: r,
582
- mode: "display",
583
- record: i,
584
- refs: a,
585
- t: d
586
- }), T = f ? h({
587
- field: e,
588
- fieldName: t,
589
- value: m,
590
- mode: "edit",
591
- onChange: C,
592
- record: i,
593
- refs: a,
594
- t: d
595
- }) : null;
596
- return /* @__PURE__ */ P("div", {
597
- className: "peek-field-cell",
598
- "data-editing": f ? "true" : "false",
599
- onClick: x,
600
- onKeyDown: S,
601
- onMouseEnter: (e) => {
602
- o || f || (e.currentTarget.style.borderColor = "var(--border)");
603
- },
604
- onMouseLeave: (e) => {
605
- e.currentTarget.style.borderColor = "transparent";
606
- },
607
- style: {
608
- position: "relative",
609
- display: "flex",
610
- alignItems: "center",
611
- gap: 6,
612
- padding: "4px 6px",
613
- margin: "-4px -6px",
614
- borderRadius: 4,
615
- minHeight: 28,
616
- cursor: o || f ? "default" : "text",
617
- border: "1px dashed transparent"
618
- },
619
- tabIndex: o || f ? -1 : 0,
620
- role: o || f ? void 0 : "button",
621
- "aria-label": o || f ? void 0 : d("list.peek.edit_field", "Edit {field}", { field: n }),
622
- children: f ? /* @__PURE__ */ F("div", {
623
- style: {
624
- display: "flex",
625
- alignItems: "center",
626
- gap: 4,
627
- flex: 1,
628
- minWidth: 0
629
- },
630
- children: [/* @__PURE__ */ P("div", {
631
- style: {
632
- flex: 1,
633
- minWidth: 0
634
- },
635
- children: T
636
- }), !_ && /* @__PURE__ */ F(N, { children: [/* @__PURE__ */ P(u, {
637
- size: 24,
638
- icon: /* @__PURE__ */ P(l.check, { size: 13 }),
639
- onClick: () => y(),
640
- title: d("dialog.save", "Save")
641
- }), /* @__PURE__ */ P(u, {
642
- size: 24,
643
- icon: /* @__PURE__ */ P(l.x, { size: 13 }),
644
- onClick: b,
645
- title: d("dialog.cancel", "Cancel")
646
- })] })]
647
- }) : /* @__PURE__ */ F(N, { children: [/* @__PURE__ */ P("div", {
648
- style: {
649
- flex: 1,
650
- minWidth: 0
651
- },
652
- children: w
653
- }), !o && /* @__PURE__ */ P("span", {
654
- "data-peek-pencil": "true",
655
- style: {
656
- position: "absolute",
657
- right: 4,
658
- top: "50%",
659
- transform: "translateY(-50%)"
660
- },
661
- className: "peek-pencil",
662
- children: /* @__PURE__ */ P(u, {
663
- size: 20,
664
- icon: /* @__PURE__ */ P(l.edit, { size: 12 }),
665
- onClick: (e) => {
666
- e.stopPropagation(), v();
667
- },
668
- title: d("list.record.edit", "Edit")
669
- })
670
- })] })
671
- });
672
- }
673
- //#endregion
674
- //#region src/components/list/QuickPeek.tsx
675
- var Q = {
676
- tab: "Tab",
677
- esc: "Esc"
678
- };
679
- function re({ entity: t, entityCode: a, record: o, title: s, recordId: p, avatarName: m, fields: h, refs: _, screen: y, actions: b, screenActionLayout: T, entityActionLayout: E, executeAction: D, onClose: O, onOpen: I, onSave: L }) {
680
- let z = c(), [B, V] = M({ ...o }), [H, U] = M(!1);
681
- g(H);
682
- let W = j(null), { run: G } = v(), K = S(t, y, B);
683
- k(() => {
684
- V({ ...o }), U(!1);
685
- }, [o]), k(() => {
686
- W.current?.focus();
687
- }, []);
688
- let q = A(() => {
689
- let r = K?.action_layout ?? T ?? E ?? i(b, "quick_peek"), a = n(r, b, void 0, "quick_peek");
690
- return e(z, a, b, void 0, B, [], x(t, B));
691
- }, [
692
- z,
693
- K?.action_layout,
694
- T,
695
- E,
696
- b,
697
- B,
698
- t
699
- ]), J = ({ code: e, action: t }) => {
700
- G({
701
- action: t,
702
- title: z(t.display?.name) || e,
703
- row: B,
704
- execute: (n) => D(e, t, n)
705
- });
706
- }, Y = (e, t) => {
707
- let n = {
708
- ...B,
709
- [e]: t
710
- };
711
- V(n), U(!0), L?.(n);
712
- }, X = K?.quick_peek?.width ?? 480;
713
- return /* @__PURE__ */ F(N, { children: [/* @__PURE__ */ P("div", {
714
- onClick: O,
715
- style: {
716
- position: "fixed",
717
- inset: 0,
718
- background: "var(--scrim-lite)",
719
- zIndex: 40
720
- }
721
- }), /* @__PURE__ */ F("aside", {
722
- ref: W,
723
- role: "dialog",
724
- "aria-label": z("list.peek.dialog", "Quick peek"),
725
- tabIndex: -1,
726
- onKeyDown: (e) => {
727
- e.key === "Escape" && O();
728
- },
729
- style: {
730
- position: "fixed",
731
- top: "var(--topbar-h)",
732
- right: 0,
733
- bottom: "var(--tabbar-h)",
734
- width: X,
735
- background: "var(--surface)",
736
- borderLeft: "1px solid var(--border)",
737
- zIndex: 41,
738
- display: "flex",
739
- flexDirection: "column",
740
- boxShadow: "var(--shadow-lg)"
741
- },
742
- children: [
743
- /* @__PURE__ */ F("div", {
744
- style: {
745
- display: "flex",
746
- alignItems: "center",
747
- padding: "12px 16px",
748
- borderBottom: "1px solid var(--divider)",
749
- gap: 10
750
- },
751
- children: [
752
- /* @__PURE__ */ P(R, {
753
- name: m || s,
754
- size: 28
755
- }),
756
- /* @__PURE__ */ F("div", {
757
- style: {
758
- flex: 1,
759
- minWidth: 0
760
- },
761
- children: [/* @__PURE__ */ P("div", {
762
- style: {
763
- fontSize: 14,
764
- fontWeight: 600,
765
- color: "var(--text)",
766
- overflow: "hidden",
767
- textOverflow: "ellipsis",
768
- whiteSpace: "nowrap"
769
- },
770
- children: s
771
- }), p && /* @__PURE__ */ P("div", {
772
- className: "mono",
773
- style: {
774
- fontSize: 11,
775
- color: "var(--text-4)"
776
- },
777
- children: p
778
- })]
779
- }),
780
- /* @__PURE__ */ P(u, {
781
- icon: /* @__PURE__ */ P(l.external, { size: 13 }),
782
- title: H ? z("list.peek.open_in_tab_dirty", "Open in tab (keeps unsaved changes)") : z("list.peek.open_in_tab", "Open in tab"),
783
- onClick: () => I(H ? B : null)
784
- }),
785
- /* @__PURE__ */ P(u, {
786
- icon: /* @__PURE__ */ P(l.x, { size: 14 }),
787
- title: z("list.peek.close", "Close"),
788
- onClick: O
789
- })
790
- ]
791
- }),
792
- /* @__PURE__ */ F("div", {
793
- style: {
794
- flex: 1,
795
- overflowY: "auto",
796
- padding: 14,
797
- display: "flex",
798
- flexDirection: "column",
799
- gap: 10
800
- },
801
- children: [/* @__PURE__ */ F("div", {
802
- style: {
803
- padding: "8px 10px",
804
- background: "var(--accent-soft)",
805
- borderRadius: 6,
806
- fontSize: 11.5,
807
- color: "var(--accent)",
808
- display: "flex",
809
- alignItems: "center",
810
- gap: 6
811
- },
812
- children: [
813
- /* @__PURE__ */ P(l.sparkle, { size: 12 }),
814
- " ",
815
- z("list.peek.hint", "Inline quick-edit — click any field to change."),
816
- r(z("list.peek.keys_hint", "{tab} to move, {esc} to close."), {
817
- tab: /* @__PURE__ */ P(f, { children: Q.tab }),
818
- esc: /* @__PURE__ */ P(f, { children: Q.esc })
819
- })
820
- ]
821
- }), h.map((e) => /* @__PURE__ */ P($, {
822
- label: e.label,
823
- children: e.kind === "file" ? C({
824
- entity: t,
825
- entityCode: a,
826
- fieldName: e.key,
827
- record: B,
828
- mode: e.readOnly ? "display" : "edit",
829
- onChange: (t) => Y(e.key, t),
830
- refs: _,
831
- disabled: e.readOnly,
832
- t: z
833
- }) : /* @__PURE__ */ P(ne, {
834
- field: e.field,
835
- fieldName: e.key,
836
- label: e.label,
837
- value: B[e.key],
838
- record: B,
839
- refs: _,
840
- readOnly: e.readOnly,
841
- onCommit: (t) => Y(e.key, t)
842
- })
843
- }, e.key))]
844
- }),
845
- /* @__PURE__ */ F("div", {
846
- style: {
847
- display: "flex",
848
- padding: "10px 14px",
849
- borderTop: "1px solid var(--divider)",
850
- gap: 6,
851
- alignItems: "center"
852
- },
853
- children: [
854
- H && /* @__PURE__ */ F("span", {
855
- style: {
856
- fontSize: 11,
857
- color: "var(--warn)",
858
- display: "flex",
859
- alignItems: "center",
860
- gap: 4
861
- },
862
- children: [/* @__PURE__ */ P("span", { style: {
863
- width: 6,
864
- height: 6,
865
- borderRadius: 999,
866
- background: "var(--warn)"
867
- } }), z("list.peek.unsaved", "Unsaved")]
868
- }),
869
- /* @__PURE__ */ P("div", {
870
- style: {
871
- flex: 1,
872
- minWidth: 0,
873
- display: "flex",
874
- justifyContent: "flex-end"
875
- },
876
- children: q.length > 0 && /* @__PURE__ */ P(w, {
877
- layout: q,
878
- row: B,
879
- onRun: (e, t) => J({
880
- code: e,
881
- action: t
882
- }),
883
- kind: "toolbar",
884
- entityActions: b,
885
- align: "trailing",
886
- ariaLabel: z("list.peek.actions", "Quick peek actions")
887
- })
888
- }),
889
- /* @__PURE__ */ P(d, {
890
- kind: "primary",
891
- icon: /* @__PURE__ */ P(l.edit, { size: 13 }),
892
- onClick: () => I(H ? B : null),
893
- children: z("list.peek.open_full", "Open full")
894
- })
895
- ]
896
- })
897
- ]
898
- })] });
899
- }
900
- function $({ label: e, children: t }) {
901
- return /* @__PURE__ */ F("div", {
902
- style: {
903
- display: "grid",
904
- gridTemplateColumns: "120px 1fr",
905
- alignItems: "center",
906
- padding: "4px 0",
907
- borderBottom: "1px solid var(--divider)"
908
- },
909
- children: [/* @__PURE__ */ P("div", {
910
- style: {
911
- fontSize: 11.5,
912
- color: "var(--text-3)",
913
- fontWeight: 500
914
- },
915
- children: e
916
- }), /* @__PURE__ */ P("div", { children: t })]
917
- });
918
- }
919
- //#endregion
920
- //#region src/lib/format-count.ts
921
- var ie = [
922
- 1e9,
923
- 1e6,
924
- 1e3
925
- ];
926
- function ae(e, t) {
927
- if (!Number.isFinite(e) || e < 0) return "~0";
928
- let n = Math.round(e);
929
- if (n < 1e3) return `~${n}`;
930
- let r = +(n / (ie.find((e) => n >= e) ?? 1e3) < 10);
931
- return `~${new Intl.NumberFormat(t, {
932
- notation: "compact",
933
- maximumFractionDigits: r
934
- }).format(n)}`;
935
- }
936
- function oe(e, t) {
937
- return !Number.isFinite(e) || e < 0 ? "0" : Math.round(e).toLocaleString(t);
938
- }
939
- function se(e, t, n) {
940
- return t === "estimated" ? ae(e, n) : oe(e, n);
941
- }
942
- //#endregion
943
- export { re as a, q as c, K as d, H as f, R as h, $ as i, W as l, z as m, ae as n, ee as o, B as p, oe as r, J as s, se as t, G as u };