@declarion/react 0.65.0 → 0.66.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (467) hide show
  1. package/dist-lib/api/access-expiry.js +32 -0
  2. package/dist-lib/api/agents.js +105 -0
  3. package/dist-lib/api/auth-redirect.js +30 -0
  4. package/dist-lib/api/auth.js +67 -0
  5. package/dist-lib/api/batch.js +34 -0
  6. package/dist-lib/api/client.js +241 -0
  7. package/dist-lib/api/data.js +122 -0
  8. package/dist-lib/api/entities.js +160 -0
  9. package/dist-lib/api/events.js +120 -0
  10. package/dist-lib/api/fileReferences.js +8 -0
  11. package/dist-lib/api/params.js +20 -0
  12. package/dist-lib/api/properties.js +25 -0
  13. package/dist-lib/api/request-bounds.js +28 -0
  14. package/dist-lib/api/schema.js +71 -0
  15. package/dist-lib/api/session-renewal.js +36 -0
  16. package/dist-lib/api/status.js +17 -0
  17. package/dist-lib/app.js +262 -0
  18. package/dist-lib/components/actions/ActionButton.js +116 -0
  19. package/dist-lib/{ActionDialog-C6EG-AmC.js → components/actions/ActionDialog.js} +63 -53
  20. package/dist-lib/{ActionResultDialog.impl-BATutW8J.js → components/actions/ActionResultDialog.impl.js} +53 -48
  21. package/dist-lib/components/actions/ActionResultDialog.js +12 -0
  22. package/dist-lib/components/actions/ActionRunner.js +274 -0
  23. package/dist-lib/components/actions/ObjectActionBar.js +127 -0
  24. package/dist-lib/components/actions/PropertyGridEditor.js +202 -0
  25. package/dist-lib/components/actions/ResponsiveActionBar.js +773 -0
  26. package/dist-lib/components/actions/RowActionsKebab.js +90 -0
  27. package/dist-lib/{AgentChatPanel.impl-D5y_qEex.js → components/agents/AgentChatPanel.impl.js} +314 -362
  28. package/dist-lib/components/agents/AgentChatPanel.js +12 -0
  29. package/dist-lib/components/agents/AgentConversationDrawer.js +59 -0
  30. package/dist-lib/components/agents/AgentElicitForm.js +152 -0
  31. package/dist-lib/components/agents/AgentOpenFollower.impl.js +7 -0
  32. package/dist-lib/components/agents/AgentOpenFollower.js +12 -0
  33. package/dist-lib/components/agents/AgentPicker.js +58 -0
  34. package/dist-lib/components/agents/transcript-runs.js +52 -0
  35. package/dist-lib/components/chrome/AssociationTabs.js +176 -0
  36. package/dist-lib/components/chrome/AuditMetaStrip.js +64 -0
  37. package/dist-lib/components/chrome/Breadcrumbs.js +67 -0
  38. package/dist-lib/components/chrome/HighlightsStrip.js +39 -0
  39. package/dist-lib/{PageHeader-DiwLe7CO.js → components/chrome/PageHeader.js} +19 -15
  40. package/dist-lib/{PageShell-BJz1MiTH.js → components/chrome/PageShell.js} +3 -3
  41. package/dist-lib/components/chrome/RecordHeader.js +119 -0
  42. package/dist-lib/{headerActionZone-bef-tZZ7.js → components/chrome/headerActionZone.js} +1 -1
  43. package/dist-lib/components/detail-layout/AssociatedBlock.js +1244 -0
  44. package/dist-lib/components/detail-layout/AssociatedToolbar.js +87 -0
  45. package/dist-lib/components/detail-layout/ChildrenBlock.js +80 -0
  46. package/dist-lib/components/detail-layout/ChildrenCards.js +156 -0
  47. package/dist-lib/components/detail-layout/ChildrenList.js +135 -0
  48. package/dist-lib/components/detail-layout/ChildrenTable.js +189 -0
  49. package/dist-lib/components/detail-layout/ChildrenTimeline.js +609 -0
  50. package/dist-lib/components/detail-layout/DetailAuditStrip.js +40 -0
  51. package/dist-lib/components/detail-layout/DetailHighlights.js +54 -0
  52. package/dist-lib/{DraggableChildrenTable-Dd5SeuF6.js → components/detail-layout/DraggableChildrenTable.js} +56 -53
  53. package/dist-lib/components/detail-layout/EditableChildrenTable.js +341 -0
  54. package/dist-lib/components/detail-layout/ErrorSummary.js +89 -0
  55. package/dist-lib/components/detail-layout/EvidenceBlock.js +66 -0
  56. package/dist-lib/{FieldRow-DedGIY9R.js → components/detail-layout/FieldRow.js} +8 -7
  57. package/dist-lib/components/detail-layout/FieldsBlock.js +74 -0
  58. package/dist-lib/components/detail-layout/LayoutColumn.js +16 -0
  59. package/dist-lib/components/detail-layout/LayoutRenderer.js +54 -0
  60. package/dist-lib/components/detail-layout/LayoutRow.js +83 -0
  61. package/dist-lib/components/detail-layout/LayoutTabs.js +195 -0
  62. package/dist-lib/components/detail-layout/PropertiesBlock.js +74 -0
  63. package/dist-lib/components/detail-layout/QuickAddForm.js +81 -0
  64. package/dist-lib/components/detail-layout/SectionBlock.js +48 -0
  65. package/dist-lib/components/detail-layout/StatusesBlock.js +18 -0
  66. package/dist-lib/components/detail-layout/TimelineComposer.js +205 -0
  67. package/dist-lib/components/detail-layout/blockMeta.js +27 -0
  68. package/dist-lib/components/detail-layout/useManualColumnResize.js +94 -0
  69. package/dist-lib/components/detail-layout/useQuickAdd.js +85 -0
  70. package/dist-lib/components/detail-layout/widgets/EntityScorecardWidget.js +295 -0
  71. package/dist-lib/components/detail-layout/widgets/JsonDiffWidget.js +107 -0
  72. package/dist-lib/components/detail-layout/widgets/MonacoJson.js +47 -0
  73. package/dist-lib/components/detail-layout/widgets/WidgetHost.js +36 -0
  74. package/dist-lib/components/detail-layout/widgets/builtins.js +10 -0
  75. package/dist-lib/components/detail-layout/widgets/canonicalizeJson.js +32 -0
  76. package/dist-lib/components/detail-layout/widgets/monacoBootstrap.js +16 -0
  77. package/dist-lib/components/detail-layout/widgets/registry.js +13 -0
  78. package/dist-lib/components/fields/BoolField.js +13 -0
  79. package/dist-lib/components/fields/EmailField.js +16 -0
  80. package/dist-lib/components/fields/EnumField.js +38 -0
  81. package/dist-lib/components/fields/FileReferenceField.js +60 -0
  82. package/dist-lib/components/fields/IntArrayField.js +83 -0
  83. package/dist-lib/components/fields/JsonField.js +51 -0
  84. package/dist-lib/components/fields/MultilangArrayField.js +56 -0
  85. package/dist-lib/components/fields/MultilangField.js +65 -0
  86. package/dist-lib/components/fields/MultilangTextField.js +65 -0
  87. package/dist-lib/components/fields/NumberField.js +64 -0
  88. package/dist-lib/components/fields/PasswordField.js +34 -0
  89. package/dist-lib/components/fields/PhoneField.js +84 -0
  90. package/dist-lib/components/fields/RefCombobox.js +112 -0
  91. package/dist-lib/components/fields/RefField.js +45 -0
  92. package/dist-lib/components/fields/RichTextField.js +225 -0
  93. package/dist-lib/components/fields/SecretField.js +34 -0
  94. package/dist-lib/components/fields/StringArrayField.js +165 -0
  95. package/dist-lib/components/fields/StringField.js +39 -0
  96. package/dist-lib/components/fields/StructureField.js +221 -0
  97. package/dist-lib/components/fields/TextField.js +76 -0
  98. package/dist-lib/components/fields/TimestampField.js +110 -0
  99. package/dist-lib/components/fields/UrlField.js +18 -0
  100. package/dist-lib/components/fields/cells/factories/badge.js +42 -0
  101. package/dist-lib/components/fields/cells/factories/boolPill.js +17 -0
  102. package/dist-lib/components/fields/cells/factories/code.js +11 -0
  103. package/dist-lib/components/fields/cells/factories/date.js +30 -0
  104. package/dist-lib/components/fields/cells/factories/email.js +26 -0
  105. package/dist-lib/components/fields/cells/factories/emptyCell.js +10 -0
  106. package/dist-lib/components/fields/cells/factories/fileReference.js +17 -0
  107. package/dist-lib/components/fields/cells/factories/host-icons.js +146 -0
  108. package/dist-lib/components/fields/cells/factories/json.js +61 -0
  109. package/dist-lib/components/fields/cells/factories/link.js +32 -0
  110. package/dist-lib/components/fields/cells/factories/markdown.js +31 -0
  111. package/dist-lib/components/fields/cells/factories/markdownPreview.js +81 -0
  112. package/dist-lib/components/fields/cells/factories/money.js +37 -0
  113. package/dist-lib/components/fields/cells/factories/multilangInline.js +35 -0
  114. package/dist-lib/components/fields/cells/factories/nextRun.js +46 -0
  115. package/dist-lib/components/fields/cells/factories/number.js +42 -0
  116. package/dist-lib/components/fields/cells/factories/passwordMask.js +23 -0
  117. package/dist-lib/components/fields/cells/factories/phone.js +35 -0
  118. package/dist-lib/components/fields/cells/factories/refLink.js +57 -0
  119. package/dist-lib/components/fields/cells/factories/richTextPreview.js +34 -0
  120. package/dist-lib/components/fields/cells/factories/statusPill.js +35 -0
  121. package/dist-lib/components/fields/cells/factories/tagList.js +44 -0
  122. package/dist-lib/components/fields/cells/factories/text.js +5 -0
  123. package/dist-lib/components/fields/cells/factories/timestamp.js +18 -0
  124. package/dist-lib/components/fields/cells/factories/url-helpers.js +49 -0
  125. package/dist-lib/components/fields/cells/factories/url.js +45 -0
  126. package/dist-lib/components/fields/cells/registry.js +58 -0
  127. package/dist-lib/components/fields/index.js +80 -0
  128. package/dist-lib/components/fields/langMap.js +6 -0
  129. package/dist-lib/components/fields/secretValue.js +7 -0
  130. package/dist-lib/components/file-widgets/CircleImage.js +11 -0
  131. package/dist-lib/components/file-widgets/DocumentCard.js +277 -0
  132. package/dist-lib/components/file-widgets/FileList.js +213 -0
  133. package/dist-lib/{Grid-XUHm5SDe.js → components/file-widgets/Grid.js} +45 -40
  134. package/dist-lib/components/file-widgets/GridLazy.js +15 -0
  135. package/dist-lib/components/file-widgets/ImageWidget.js +354 -0
  136. package/dist-lib/components/file-widgets/LabeledSlots.js +69 -0
  137. package/dist-lib/components/file-widgets/SquareImage.js +11 -0
  138. package/dist-lib/components/file-widgets/UnknownFileWidget.js +22 -0
  139. package/dist-lib/components/file-widgets/UploadFailureText.js +10 -0
  140. package/dist-lib/components/file-widgets/WideBanner.js +11 -0
  141. package/dist-lib/components/file-widgets/builtins.js +15 -0
  142. package/dist-lib/components/file-widgets/cropper.js +13 -0
  143. package/dist-lib/components/file-widgets/draft-scope.js +59 -0
  144. package/dist-lib/components/file-widgets/helpers.js +75 -0
  145. package/dist-lib/components/file-widgets/host.js +75 -0
  146. package/dist-lib/{payload-DioMoxMX.js → components/file-widgets/payload.js} +14 -14
  147. package/dist-lib/components/file-widgets/registry.js +13 -0
  148. package/dist-lib/components/file-widgets/upload.js +180 -0
  149. package/dist-lib/components/file-widgets/useEmbedFileSrc.js +45 -0
  150. package/dist-lib/components/file-widgets/value.js +12 -0
  151. package/dist-lib/components/filters/FilterChips.js +123 -0
  152. package/dist-lib/components/filters/FilterConditionValue.js +40 -0
  153. package/dist-lib/components/filters/FilterDrawer.js +670 -0
  154. package/dist-lib/components/filters/FilterOmittedNotice.js +14 -0
  155. package/dist-lib/components/filters/filter-op-label.js +8 -0
  156. package/dist-lib/{CommandPalette.impl-DRI5kxVY.js → components/layout/CommandPalette.impl.js} +62 -61
  157. package/dist-lib/components/layout/CommandPalette.js +12 -0
  158. package/dist-lib/{DirtyTabsCloseDialog.impl-FhAiOmEb.js → components/layout/DirtyTabsCloseDialog.impl.js} +16 -14
  159. package/dist-lib/components/layout/DirtyTabsCloseDialog.js +12 -0
  160. package/dist-lib/{ImpersonationBanner.impl--g0iYwcV.js → components/layout/ImpersonationBanner.impl.js} +4 -3
  161. package/dist-lib/components/layout/ImpersonationBanner.js +12 -0
  162. package/dist-lib/components/layout/ImpersonationFrame.js +29 -0
  163. package/dist-lib/{ImpersonationStartModal.impl-BFBN0YJe.js → components/layout/ImpersonationStartModal.impl.js} +9 -9
  164. package/dist-lib/components/layout/ImpersonationStartModal.js +12 -0
  165. package/dist-lib/components/layout/Layout.js +755 -0
  166. package/dist-lib/components/layout/Rail.js +149 -0
  167. package/dist-lib/components/layout/Sidebar.js +362 -0
  168. package/dist-lib/components/layout/TabStrip.js +321 -0
  169. package/dist-lib/components/layout/TenantChip.js +355 -0
  170. package/dist-lib/components/layout/TopBar.js +305 -0
  171. package/dist-lib/components/layout/tab-close.js +24 -0
  172. package/dist-lib/components/list/ColumnPicker.js +112 -0
  173. package/dist-lib/components/list/InlineEditCell.js +107 -0
  174. package/dist-lib/components/list/PeekFieldCell.js +143 -0
  175. package/dist-lib/components/list/QuickPeek.js +263 -0
  176. package/dist-lib/components/list/ViewSwitcher.js +156 -0
  177. package/dist-lib/components/list/peekDraftStore.js +14 -0
  178. package/dist-lib/{AdminCatalogPage.impl-B-7MLqa1.js → components/pages/AdminCatalogPage.impl.js} +53 -49
  179. package/dist-lib/components/pages/AdminCatalogPage.js +12 -0
  180. package/dist-lib/components/pages/DocumentsMenu.js +150 -0
  181. package/dist-lib/components/pages/ExportMenu.js +123 -0
  182. package/dist-lib/{NotFoundPage.impl-BoX11u-P.js → components/pages/NotFoundPage.impl.js} +6 -4
  183. package/dist-lib/components/pages/NotFoundPage.js +12 -0
  184. package/dist-lib/components/pages/RecordDocumentsPanel.js +230 -0
  185. package/dist-lib/components/pages/RecordNotesPanel.js +200 -0
  186. package/dist-lib/components/pages/RecordPanels.js +18 -0
  187. package/dist-lib/components/pages/SSOCallbackPage.impl.js +28 -0
  188. package/dist-lib/components/pages/SSOCallbackPage.js +12 -0
  189. package/dist-lib/components/pages/SmartDetailPage.impl.js +986 -0
  190. package/dist-lib/components/pages/SmartDetailPage.js +12 -0
  191. package/dist-lib/components/pages/SmartListPage.impl.js +708 -0
  192. package/dist-lib/components/pages/SmartListPage.js +12 -0
  193. package/dist-lib/components/pages/SmartRecordListPage.impl.js +818 -0
  194. package/dist-lib/components/pages/SmartRecordListPage.js +12 -0
  195. package/dist-lib/components/pages/auth/AuthShell.js +350 -0
  196. package/dist-lib/{Forgot.impl-6tL6SBlS.js → components/pages/auth/Forgot.impl.js} +13 -12
  197. package/dist-lib/components/pages/auth/Forgot.js +12 -0
  198. package/dist-lib/{Reset.impl-D0pjhS6d.js → components/pages/auth/Reset.impl.js} +17 -15
  199. package/dist-lib/components/pages/auth/Reset.js +12 -0
  200. package/dist-lib/components/pages/auth/SignIn.js +252 -0
  201. package/dist-lib/{SignUp.impl-CfEXrUeg.js → components/pages/auth/SignUp.impl.js} +31 -27
  202. package/dist-lib/components/pages/auth/SignUp.js +12 -0
  203. package/dist-lib/{TwoFA.impl-B2HtPduH.js → components/pages/auth/TwoFA.impl.js} +9 -8
  204. package/dist-lib/components/pages/auth/TwoFA.js +12 -0
  205. package/dist-lib/components/pages/auth/icons.js +56 -0
  206. package/dist-lib/components/pages/exportRequest.js +17 -0
  207. package/dist-lib/components/pages/list/DataCell.js +27 -0
  208. package/dist-lib/components/pages/list/DeleteViewDialog.js +22 -0
  209. package/dist-lib/{ListCardsBody-BEoYjSZ2.js → components/pages/list/ListCardRow.js} +47 -72
  210. package/dist-lib/components/pages/list/ListCardsBody.js +31 -0
  211. package/dist-lib/components/pages/list/ListFloatbar.js +130 -0
  212. package/dist-lib/components/pages/list/ListFooter.js +138 -0
  213. package/dist-lib/components/pages/list/ListHeader.js +120 -0
  214. package/dist-lib/components/pages/list/ListNoRows.js +72 -0
  215. package/dist-lib/components/pages/list/ListTable.js +191 -0
  216. package/dist-lib/components/pages/list/ListTableRow.js +37 -0
  217. package/dist-lib/components/pages/list/ListToolbar.js +261 -0
  218. package/dist-lib/components/pages/list/ListUrlBanner.js +45 -0
  219. package/dist-lib/components/pages/list/RowActionsCell.js +49 -0
  220. package/dist-lib/components/pages/list/RowContextMenu.js +55 -0
  221. package/dist-lib/components/pages/list/SaveViewDialog.js +111 -0
  222. package/dist-lib/{SortHeaderMenu-Co5PvhTA.js → components/pages/list/SortHeaderMenu.js} +18 -17
  223. package/dist-lib/{cardProjection-Cxlogzh8.js → components/pages/list/cardProjection.js} +3 -3
  224. package/dist-lib/components/pages/list/column-sizing.js +17 -0
  225. package/dist-lib/components/pages/list/columns.js +168 -0
  226. package/dist-lib/components/pages/list/filter-meta.js +84 -0
  227. package/dist-lib/components/pages/list/page-size.js +11 -0
  228. package/dist-lib/components/pages/list/sortable-header.js +18 -0
  229. package/dist-lib/components/pages/list/table-features.js +11 -0
  230. package/dist-lib/components/pages/list/use-filter-value-labels.js +115 -0
  231. package/dist-lib/components/pages/list/useActiveView.js +98 -0
  232. package/dist-lib/components/pages/list/useHeaderReorder.js +93 -0
  233. package/dist-lib/components/pages/list/useListColumnLayout.js +56 -0
  234. package/dist-lib/components/pages/list/useListFilterPresentation.js +34 -0
  235. package/dist-lib/components/pages/list/useListQuery.js +101 -0
  236. package/dist-lib/components/pages/list/useListRowInteraction.js +120 -0
  237. package/dist-lib/components/pages/list/useListSelection.js +53 -0
  238. package/dist-lib/components/pages/list/useListSort.js +44 -0
  239. package/dist-lib/components/pages/list/useListViews.js +148 -0
  240. package/dist-lib/components/pages/list/useRowMenu.js +106 -0
  241. package/dist-lib/components/pages/list/visible-filters.js +19 -0
  242. package/dist-lib/{Preferences.impl-Ct5xwZtT.js → components/pages/profile/Preferences.impl.js} +34 -31
  243. package/dist-lib/components/pages/profile/Preferences.js +12 -0
  244. package/dist-lib/components/pages/profile/Profile.impl.js +437 -0
  245. package/dist-lib/components/pages/profile/Profile.js +12 -0
  246. package/dist-lib/{TenantParamsPage.impl-BGpdmEZg.js → components/pages/tenant-params/TenantParamsPage.impl.js} +45 -40
  247. package/dist-lib/components/pages/tenant-params/TenantParamsPage.js +12 -0
  248. package/dist-lib/components/params/ParamsBlock.js +119 -0
  249. package/dist-lib/{param-editors-TYYU7HKK.js → components/params/param-editors.js} +32 -28
  250. package/dist-lib/components/primitives/Avatar.js +33 -0
  251. package/dist-lib/components/primitives/BoolToggle.js +35 -0
  252. package/dist-lib/components/primitives/BrandGlyph.js +38 -0
  253. package/dist-lib/components/primitives/BrandLogo.js +20 -0
  254. package/dist-lib/components/primitives/Btn.js +67 -0
  255. package/dist-lib/{Check-DAfMbQIw.js → components/primitives/Check.js} +2 -2
  256. package/dist-lib/components/primitives/Chip.js +44 -0
  257. package/dist-lib/components/primitives/ClassifiedFieldLocked.js +15 -0
  258. package/dist-lib/components/primitives/Dropdown.js +85 -0
  259. package/dist-lib/components/primitives/Fields.js +751 -0
  260. package/dist-lib/components/primitives/HoverCard.js +115 -0
  261. package/dist-lib/components/primitives/IconBtn.js +37 -0
  262. package/dist-lib/{Icons-lt-7lhYR.js → components/primitives/Icons.js} +1 -1
  263. package/dist-lib/{Kbd-CNttVu0z.js → components/primitives/Kbd.js} +2 -2
  264. package/dist-lib/components/primitives/MenuItem.js +57 -0
  265. package/dist-lib/{Pill-D-wsfRhx.js → components/primitives/Pill.js} +1 -1
  266. package/dist-lib/{RecordIdBadge-wbigZaFc.js → components/primitives/RecordIdBadge.js} +5 -5
  267. package/dist-lib/components/primitives/RowField.js +47 -0
  268. package/dist-lib/{SectionCard-BYHoHWJc.js → components/primitives/SectionCard.js} +10 -10
  269. package/dist-lib/components/primitives/Spinner.js +31 -0
  270. package/dist-lib/components/primitives/StatTile.js +108 -0
  271. package/dist-lib/components/primitives/Tooltip.js +115 -0
  272. package/dist-lib/{dataTableStyles-vwD1mVOP.js → components/primitives/dataTableStyles.js} +1 -1
  273. package/dist-lib/components/shared/BlankScreen.js +13 -0
  274. package/dist-lib/{ChangePasswordDialog.impl-5hDc0wpE.js → components/shared/ChangePasswordDialog.impl.js} +27 -22
  275. package/dist-lib/{ChangePasswordDialog-C_T_3pjl.js → components/shared/ChangePasswordDialog.js} +2 -2
  276. package/dist-lib/components/shared/ConfirmDialog.js +129 -0
  277. package/dist-lib/components/shared/ConnectionNotice.js +12 -0
  278. package/dist-lib/components/shared/CopyButton.js +25 -0
  279. package/dist-lib/components/shared/DynamicIcon.js +73 -0
  280. package/dist-lib/components/shared/EmptyState.js +56 -0
  281. package/dist-lib/components/shared/ErrorBoundary.js +96 -0
  282. package/dist-lib/components/shared/LoadingSkeleton.js +117 -0
  283. package/dist-lib/components/shared/LucideIcon.js +43 -0
  284. package/dist-lib/components/shared/Markdown.js +15 -0
  285. package/dist-lib/{MarkdownRenderer-sK2TRZS-.js → components/shared/MarkdownRenderer.js} +10 -9
  286. package/dist-lib/components/shared/RefreshControl.js +42 -0
  287. package/dist-lib/components/shared/StatusGroupsDisplay.js +123 -0
  288. package/dist-lib/components/shared/StatusStepper.js +70 -0
  289. package/dist-lib/components/shared/toast/DeclarionToast.js +308 -0
  290. package/dist-lib/components/shared/useOwnRefresh.js +19 -0
  291. package/dist-lib/declarion-react.css +1 -1
  292. package/dist-lib/embed/EmbedAuthBootstrap.js +71 -0
  293. package/dist-lib/embed/EmbedContext.js +38 -0
  294. package/dist-lib/embed/EmbedDirtyReporter.js +17 -0
  295. package/dist-lib/embed/EmbedHistoryTracker.js +17 -0
  296. package/dist-lib/embed/EmbedLocationReporter.js +26 -0
  297. package/dist-lib/embed/EmbedResizeReporter.js +25 -0
  298. package/dist-lib/embed/EmbedUnsavedGuard.js +23 -0
  299. package/dist-lib/embed/embed-dirty.js +21 -0
  300. package/dist-lib/embed/embed-history.js +17 -0
  301. package/dist-lib/embed/embed-nav-guard.js +13 -0
  302. package/dist-lib/embed/file-src.js +60 -0
  303. package/dist-lib/embed/handshake.js +37 -0
  304. package/dist-lib/embed/params.js +45 -0
  305. package/dist-lib/embed/protocol.js +26 -0
  306. package/dist-lib/embed/screen-location.js +44 -0
  307. package/dist-lib/embed/theme.js +11 -0
  308. package/dist-lib/embed/token.js +54 -0
  309. package/dist-lib/embed/useEmbedNavigate.js +65 -0
  310. package/dist-lib/embed/useGlobalLinkInterceptor.js +63 -0
  311. package/dist-lib/hooks/useActionData.js +58 -0
  312. package/dist-lib/hooks/useAgentConversation.js +311 -0
  313. package/dist-lib/hooks/useAggregate.js +18 -0
  314. package/dist-lib/hooks/useAllEntityData.js +53 -0
  315. package/dist-lib/hooks/useAssociatedData.js +37 -0
  316. package/dist-lib/hooks/useAuth.js +56 -0
  317. package/dist-lib/hooks/useBranding.js +18 -0
  318. package/dist-lib/hooks/useBrandingChrome.js +58 -0
  319. package/dist-lib/hooks/useChildrenData.js +33 -0
  320. package/dist-lib/hooks/useColumns.js +44 -0
  321. package/dist-lib/hooks/useConnectionNotice.js +35 -0
  322. package/dist-lib/{useCurrentLocation-Bq1T72AW.js → hooks/useCurrentLocation.js} +2 -2
  323. package/dist-lib/hooks/useCurrentScreen.js +20 -0
  324. package/dist-lib/hooks/useCursorEntityData.js +77 -0
  325. package/dist-lib/hooks/useDebounce.js +11 -0
  326. package/dist-lib/hooks/useEntity.js +8 -0
  327. package/dist-lib/hooks/useEntityData.js +64 -0
  328. package/dist-lib/hooks/useFileReferenceJSON.js +29 -0
  329. package/dist-lib/hooks/useFilters.js +28 -0
  330. package/dist-lib/hooks/useFollowAgentOpen.js +84 -0
  331. package/dist-lib/hooks/useImpersonation.js +40 -0
  332. package/dist-lib/hooks/useIntentPrefetch.js +43 -0
  333. package/dist-lib/hooks/useJsonSnapshot.js +8 -0
  334. package/dist-lib/hooks/useLanguage.js +21 -0
  335. package/dist-lib/hooks/useLiveObject.js +17 -0
  336. package/dist-lib/hooks/useLongPress.js +49 -0
  337. package/dist-lib/hooks/useMutations.js +70 -0
  338. package/dist-lib/{useObject-B45F96rC.js → hooks/useObject.js} +2 -2
  339. package/dist-lib/hooks/useObjectStatus.js +20 -0
  340. package/dist-lib/hooks/usePageState.js +18 -0
  341. package/dist-lib/hooks/usePageStateRuntime.js +46 -0
  342. package/dist-lib/hooks/usePageStateTtl.js +10 -0
  343. package/dist-lib/hooks/useParams.js +123 -0
  344. package/dist-lib/hooks/useProperties.js +32 -0
  345. package/dist-lib/hooks/useRealtimeThresholds.js +31 -0
  346. package/dist-lib/hooks/useRegisterScreenTab.js +28 -0
  347. package/dist-lib/hooks/useResponsiveMode.js +84 -0
  348. package/dist-lib/hooks/useSSE.js +307 -0
  349. package/dist-lib/hooks/useSchema.js +73 -0
  350. package/dist-lib/hooks/useScreen.js +8 -0
  351. package/dist-lib/hooks/useScreenBack.js +60 -0
  352. package/dist-lib/hooks/useScreenTab.js +11 -0
  353. package/dist-lib/hooks/useTabNavigate.js +82 -0
  354. package/dist-lib/hooks/useTabSearchMirror.js +19 -0
  355. package/dist-lib/{useTabTitle-KrzEo118.js → hooks/useTabTitle.js} +9 -7
  356. package/dist-lib/hooks/useText.js +15 -0
  357. package/dist-lib/hooks/useTimelineData.js +44 -0
  358. package/dist-lib/hooks/useUnsavedInput.js +18 -0
  359. package/dist-lib/hooks/useVersionWatcher.js +62 -0
  360. package/dist-lib/hooks/useViews.js +88 -0
  361. package/dist-lib/hooks/useWindowConversation.js +11 -0
  362. package/dist-lib/icons.js +5 -3
  363. package/dist-lib/index.d.ts +42 -20
  364. package/dist-lib/index.js +131 -3926
  365. package/dist-lib/lib/action-dispatch.js +7 -0
  366. package/dist-lib/lib/actions.js +279 -0
  367. package/dist-lib/lib/anchor.js +41 -0
  368. package/dist-lib/lib/brand-tokens.js +95 -0
  369. package/dist-lib/lib/branding.js +25 -0
  370. package/dist-lib/lib/canonical-url.js +17 -0
  371. package/dist-lib/lib/capabilityPrefetch.js +57 -0
  372. package/dist-lib/lib/child-config.js +111 -0
  373. package/dist-lib/lib/children-validation.js +52 -0
  374. package/dist-lib/lib/decimal-text.js +15 -0
  375. package/dist-lib/lib/display-value.js +19 -0
  376. package/dist-lib/lib/document-templates.js +6 -0
  377. package/dist-lib/lib/download.js +41 -0
  378. package/dist-lib/lib/evidence-verdict.js +23 -0
  379. package/dist-lib/lib/failure.js +9 -0
  380. package/dist-lib/lib/field-classification.js +58 -0
  381. package/dist-lib/lib/field-regions.js +13 -0
  382. package/dist-lib/lib/filter-evaluator.js +98 -0
  383. package/dist-lib/lib/filters.js +118 -0
  384. package/dist-lib/lib/format-count.js +24 -0
  385. package/dist-lib/lib/html-state.js +9 -0
  386. package/dist-lib/lib/language.js +52 -0
  387. package/dist-lib/lib/longPressGesture.js +34 -0
  388. package/dist-lib/lib/mass-edit.js +65 -0
  389. package/dist-lib/{page-inset-D_kkVwwN.js → lib/page-inset.js} +1 -1
  390. package/dist-lib/lib/phone.js +28 -0
  391. package/dist-lib/lib/query-retry.js +7 -0
  392. package/dist-lib/lib/quick-add.js +23 -0
  393. package/dist-lib/lib/realtime-query-keys.js +23 -0
  394. package/dist-lib/lib/realtime-reconcile.js +148 -0
  395. package/dist-lib/lib/realtime-resync.js +192 -0
  396. package/dist-lib/lib/record-documents-key.js +4 -0
  397. package/dist-lib/lib/ref-choices.js +6 -0
  398. package/dist-lib/lib/refetch-when-idle.js +25 -0
  399. package/dist-lib/lib/rich-text.js +46 -0
  400. package/dist-lib/lib/rowClickGesture.js +10 -0
  401. package/dist-lib/lib/safe-url.js +34 -0
  402. package/dist-lib/lib/schema-routing.js +51 -0
  403. package/dist-lib/{screen-back-BtbEp5sO.js → lib/screen-back.js} +2 -2
  404. package/dist-lib/lib/scroll-restoration.js +156 -0
  405. package/dist-lib/lib/size-value.js +22 -0
  406. package/dist-lib/lib/sort.js +59 -0
  407. package/dist-lib/lib/timestamp.js +97 -0
  408. package/dist-lib/lib/toast.js +78 -0
  409. package/dist-lib/lib/ui-actions.js +81 -0
  410. package/dist-lib/{utils-D_QDpB8_.js → lib/utils.js} +1 -1
  411. package/dist-lib/lib/variants.js +63 -0
  412. package/dist-lib/lib/versionTracker.js +102 -0
  413. package/dist-lib/lib/viewport-category.js +12 -0
  414. package/dist-lib/{window-election-CHIvIZwx.js → lib/window-election.js} +1 -1
  415. package/dist-lib/stores/auth.js +84 -0
  416. package/dist-lib/stores/icon-registry.js +24 -0
  417. package/dist-lib/stores/list-layout.js +178 -0
  418. package/dist-lib/{page-state-eA6J_KIR.js → stores/page-state.js} +1 -1
  419. package/dist-lib/stores/preferences.js +126 -0
  420. package/dist-lib/stores/realtime.js +115 -0
  421. package/dist-lib/stores/screen-registry.js +10 -0
  422. package/dist-lib/stores/tabs.js +220 -0
  423. package/dist-lib/test/seed-schema.js +8 -0
  424. package/dist-lib/testing.d.ts +1 -1
  425. package/dist-lib/testing.js +80 -76
  426. package/dist-lib/types/api.js +48 -0
  427. package/dist-lib/types/fieldType.js +4 -0
  428. package/dist-lib/types/ordmap.js +50 -0
  429. package/dist-lib/types/schema.js +173 -0
  430. package/dist-lib/{useResponsiveMode-DIR1bZfo.d.ts → useResponsiveMode-DmrpMbZX.d.ts} +44 -16
  431. package/package.json +13 -12
  432. package/dist-lib/ActionRunner-DdBFhqGe.js +0 -1440
  433. package/dist-lib/AgentOpenFollower.impl-BAs_wGEZ.js +0 -81
  434. package/dist-lib/AssociatedBlock-BOoPLOjw.js +0 -1515
  435. package/dist-lib/AuthShell-C8aVwHS7.js +0 -361
  436. package/dist-lib/BlankScreen-DVc7fh8C.js +0 -61
  437. package/dist-lib/CopyButton-DRIT_f0k.js +0 -119
  438. package/dist-lib/DynamicIcon-DuBSz6TZ.js +0 -133
  439. package/dist-lib/FilterChips-Cv1tlXyo.js +0 -1031
  440. package/dist-lib/LayoutRenderer-d-tXYPze.js +0 -3239
  441. package/dist-lib/MenuItem-CfkVXPvC.js +0 -140
  442. package/dist-lib/MonacoJson-BG3S3GHX.js +0 -60
  443. package/dist-lib/Profile.impl-Cypk27ah.js +0 -527
  444. package/dist-lib/PropertyGridEditor-XrP6TZ5s.js +0 -4378
  445. package/dist-lib/RecordHeader-BfQ0_4wq.js +0 -217
  446. package/dist-lib/RefreshControl-CRdWPoF5.js +0 -195
  447. package/dist-lib/SSOCallbackPage.impl-Cfi2pQ59.js +0 -31
  448. package/dist-lib/SmartDetailPage.impl-BiIX0n7K.js +0 -1609
  449. package/dist-lib/SmartListPage.impl-Cu83Gv_G.js +0 -2818
  450. package/dist-lib/SmartRecordListPage.impl-DR6lq7HA.js +0 -795
  451. package/dist-lib/format-count-lyB4CPen.js +0 -943
  452. package/dist-lib/peekDraftStore-CaimrOhW.js +0 -200
  453. package/dist-lib/registry-CGe5kCXN.js +0 -119
  454. package/dist-lib/use-filter-value-labels-D3YDgUzg.js +0 -413
  455. package/dist-lib/useAgentConversation-rru-7hnF.js +0 -612
  456. package/dist-lib/useBranding-zcxEic2k.js +0 -41
  457. package/dist-lib/useBrandingChrome-bxaR3G1R.js +0 -170
  458. package/dist-lib/useCurrentScreen-BZOHBGQZ.js +0 -2522
  459. package/dist-lib/useImpersonation-DBIRRR70.js +0 -35
  460. package/dist-lib/useOwnRefresh-DJjaje52.js +0 -435
  461. package/dist-lib/useParams-BFLJi4n3.js +0 -133
  462. package/dist-lib/useProperties-B7opZ-iy.js +0 -81
  463. package/dist-lib/useScreenBack-DENlz844.js +0 -71
  464. package/dist-lib/useTabNavigate-CUqOmcMj.js +0 -78
  465. package/dist-lib/value-BuQVYx52.js +0 -194
  466. package/dist-lib/variants-vUtfBbE6.js +0 -1961
  467. /package/dist-lib/{JsonEditor-Dz1PQHC8.js → components/fields/JsonEditor.js} +0 -0
@@ -0,0 +1,45 @@
1
+ import { coerceDisplayString as e } from "../../lib/display-value.js";
2
+ import { resolveRefRecordLabel as t, specialValueMarker as n, specialValueMarkerCode as r } from "../../types/schema.js";
3
+ import { useText as i } from "../../hooks/useText.js";
4
+ import { RefCombobox as a } from "./RefCombobox.js";
5
+ import { useMemo as o } from "react";
6
+ import { jsx as s } from "react/jsx-runtime";
7
+ //#region src/components/fields/RefField.tsx
8
+ function c({ field: c, value: l, mode: u, onChange: d, refs: f, fieldId: p, labelId: m }) {
9
+ let h = i(), g = c.ref?.entity, _ = c.display?.ref_display_field || "$display", v = o(() => {
10
+ if (l == null) return "—";
11
+ let n = e(l);
12
+ if (f && g) {
13
+ let e = f[g]?.[n];
14
+ if (e) return t(h, e, _, n);
15
+ }
16
+ return n;
17
+ }, [
18
+ h,
19
+ l,
20
+ f,
21
+ g,
22
+ _
23
+ ]);
24
+ if (u === "display") return /* @__PURE__ */ s("span", {
25
+ style: { fontSize: 12.5 },
26
+ children: v
27
+ });
28
+ let y = r(l);
29
+ return /* @__PURE__ */ s(a, {
30
+ ref: c.ref,
31
+ value: y ?? l,
32
+ onChange: (e) => {
33
+ let t = typeof e == "string" && (c.special_values ?? []).some((t) => t.code === e);
34
+ d?.(t ? n(e) : e);
35
+ },
36
+ refs: f,
37
+ displayFieldOverride: c.display?.ref_display_field,
38
+ specialValues: c.special_values,
39
+ id: p,
40
+ labelId: m,
41
+ required: c.required
42
+ });
43
+ }
44
+ //#endregion
45
+ export { c as RefField };
@@ -0,0 +1,225 @@
1
+ import { Icon as e } from "../primitives/Icons.js";
2
+ import { Btn as t } from "../primitives/Btn.js";
3
+ import { useText as n } from "../../hooks/useText.js";
4
+ import { Spinner as r } from "../primitives/Spinner.js";
5
+ import { TextInput as i } from "../primitives/Fields.js";
6
+ import { Markdown as a } from "../shared/Markdown.js";
7
+ import { createRichTextValue as o, extractDeclarionFileIds as s, richTextTokenForFile as c, withRichTextFile as l, withoutRichTextFiles as u } from "../../lib/rich-text.js";
8
+ import { discardFile as d, uploadCheckFailure as f, uploadFailure as p, uploadFile as m, validateClientSide as h } from "../file-widgets/upload.js";
9
+ import { useDraftRegistration as g } from "../file-widgets/draft-scope.js";
10
+ import { useMemo as _, useRef as v, useState as y } from "react";
11
+ import { jsx as b, jsxs as x } from "react/jsx-runtime";
12
+ //#region src/components/fields/RichTextField.tsx
13
+ function S(S) {
14
+ let { field: T, entityCode: E, fieldName: D, value: O, mode: k, onChange: A, record: j, compact: M, fieldId: N, t: P } = S, F = n("errors"), I = v(null), L = v(null), R = v(/* @__PURE__ */ new Map()), z = v(/* @__PURE__ */ new Set()), [B, V] = y(0), [H, U] = y(null), { register: W, unregister: G } = g(), K = j?.$files?.[D], q = _(() => o(O, K), [K, O]), J = q.markdown, Y = T.files?.accepts, X = T.files?.max_size_bytes, Z = (e, t = q.files) => {
15
+ let n = new Set(s(e)), r = [];
16
+ for (let e of z.current) n.has(e) || r.push(e);
17
+ if (r.length > 0) {
18
+ for (let e of r) {
19
+ z.current.delete(e), G(e), d(e).catch(() => {});
20
+ let t = R.current.get(e);
21
+ t && (URL.revokeObjectURL(t), R.current.delete(e));
22
+ }
23
+ A?.(u({
24
+ markdown: e,
25
+ files: t
26
+ }, r));
27
+ } else A?.({
28
+ markdown: e,
29
+ files: t
30
+ });
31
+ }, Q = (e, t, n) => {
32
+ let r = I.current, i = r?.selectionStart ?? e.markdown.length, a = r?.selectionEnd ?? e.markdown.length, o = `${e.markdown.slice(0, i)}${t}${e.markdown.slice(a)}`, s = n ? l(e, n).files : e.files;
33
+ Z(o, s), requestAnimationFrame(() => {
34
+ if (!r) return;
35
+ let e = i + t.length;
36
+ r.focus(), r.setSelectionRange(e, e);
37
+ });
38
+ }, $ = async (e) => {
39
+ if (!E || !T.files) return;
40
+ let t = Array.from(e);
41
+ if (t.length === 0) return;
42
+ U(null), V((e) => e + t.length);
43
+ let n = {
44
+ markdown: J,
45
+ files: q.files
46
+ };
47
+ for (let e of t) {
48
+ let r = h(e, Y, X);
49
+ if (r) U(f(P, F, r).message), V((e) => e - 1);
50
+ else try {
51
+ let r = await m({
52
+ file: e,
53
+ entityCode: E,
54
+ fieldCode: D
55
+ }), i = e.type.startsWith("image/") ? URL.createObjectURL(e) : void 0;
56
+ i && R.current.set(r.id, i);
57
+ let a = w(r, i);
58
+ if (W(r.id, () => d(r.id)), z.current.add(r.id), t.length === 1) {
59
+ let e = C(n.markdown, c(a));
60
+ Q(n, e, a), n = l({
61
+ markdown: `${n.markdown}${e}`,
62
+ files: n.files
63
+ }, a);
64
+ } else {
65
+ let e = C(n.markdown, c(a));
66
+ n = l({
67
+ markdown: `${n.markdown}${e}`,
68
+ files: n.files
69
+ }, a), Z(n.markdown, n.files);
70
+ }
71
+ } catch (e) {
72
+ U(p(P, F, e).message);
73
+ } finally {
74
+ V((e) => e - 1);
75
+ }
76
+ }
77
+ };
78
+ return k === "display" ? J ? /* @__PURE__ */ b(a, {
79
+ content: J,
80
+ files: q.files
81
+ }) : /* @__PURE__ */ b("span", {
82
+ style: {
83
+ fontSize: 12.5,
84
+ color: "var(--text-4)"
85
+ },
86
+ children: "—"
87
+ }) : M ? /* @__PURE__ */ b(i, {
88
+ id: N,
89
+ name: D,
90
+ "aria-required": T.required || void 0,
91
+ value: J,
92
+ onChange: (e) => Z(e)
93
+ }) : /* @__PURE__ */ x("div", {
94
+ style: {
95
+ display: "flex",
96
+ flexDirection: "column",
97
+ gap: 10
98
+ },
99
+ children: [
100
+ /* @__PURE__ */ x("div", {
101
+ style: {
102
+ display: "flex",
103
+ alignItems: "center",
104
+ gap: 8,
105
+ flexWrap: "wrap"
106
+ },
107
+ children: [
108
+ /* @__PURE__ */ b(t, {
109
+ kind: "ghost",
110
+ size: "xs",
111
+ icon: b(B > 0 ? r : e.plus, { size: 12 }),
112
+ onClick: () => L.current?.click(),
113
+ disabled: !E || !T.files || B > 0,
114
+ children: B > 0 ? P("field.rich_text.uploading", "Uploading…") : P("field.rich_text.insert_file", "Insert file")
115
+ }),
116
+ /* @__PURE__ */ b("span", {
117
+ style: {
118
+ fontSize: 11.5,
119
+ color: "var(--text-3)"
120
+ },
121
+ children: P("field.rich_text.hint", "Stores markdown with inline {reference} refs.", { reference: "declarion://file/<id>" })
122
+ }),
123
+ !E && /* @__PURE__ */ b("span", {
124
+ style: {
125
+ fontSize: 11.5,
126
+ color: "var(--warn)"
127
+ },
128
+ children: P("field.rich_text.needs_entity", "Inline uploads need entity context.")
129
+ })
130
+ ]
131
+ }),
132
+ /* @__PURE__ */ b("input", {
133
+ ref: L,
134
+ type: "file",
135
+ hidden: !0,
136
+ accept: Y?.join(","),
137
+ multiple: !0,
138
+ onChange: (e) => {
139
+ e.target.files && $(e.target.files), e.target.value = "";
140
+ }
141
+ }),
142
+ /* @__PURE__ */ b("textarea", {
143
+ ref: I,
144
+ id: N,
145
+ name: D,
146
+ "aria-required": T.required || void 0,
147
+ value: J,
148
+ onChange: (e) => Z(e.target.value),
149
+ onPaste: (e) => {
150
+ let t = Array.from(e.clipboardData.files ?? []).filter((e) => e.size > 0);
151
+ t.length !== 0 && (e.preventDefault(), $(t));
152
+ },
153
+ onDrop: (e) => {
154
+ let t = Array.from(e.dataTransfer.files ?? []).filter((e) => e.size > 0);
155
+ t.length !== 0 && (e.preventDefault(), $(t));
156
+ },
157
+ onDragOver: (e) => e.preventDefault(),
158
+ rows: 12,
159
+ style: {
160
+ width: "100%",
161
+ minHeight: 220,
162
+ border: "1px solid var(--border)",
163
+ borderRadius: "var(--radius-md)",
164
+ padding: "10px 12px",
165
+ fontSize: "var(--control-font-size)",
166
+ lineHeight: 1.5,
167
+ fontFamily: "inherit",
168
+ resize: "vertical",
169
+ background: "var(--surface)",
170
+ color: "var(--text)"
171
+ }
172
+ }),
173
+ H && /* @__PURE__ */ b("div", {
174
+ style: {
175
+ fontSize: 12,
176
+ color: "var(--danger)"
177
+ },
178
+ children: H
179
+ }),
180
+ /* @__PURE__ */ x("div", {
181
+ style: {
182
+ border: "1px solid var(--border)",
183
+ borderRadius: "var(--radius-md)",
184
+ padding: 12,
185
+ background: "var(--surface-2)"
186
+ },
187
+ children: [/* @__PURE__ */ b("div", {
188
+ style: {
189
+ fontSize: 11.5,
190
+ color: "var(--text-3)",
191
+ marginBottom: 8
192
+ },
193
+ children: P("field.rich_text.preview", "Preview")
194
+ }), J ? /* @__PURE__ */ b(a, {
195
+ content: J,
196
+ files: q.files
197
+ }) : /* @__PURE__ */ b("span", {
198
+ style: {
199
+ fontSize: 12.5,
200
+ color: "var(--text-4)"
201
+ },
202
+ children: P("field.rich_text.empty", "Empty")
203
+ })]
204
+ })
205
+ ]
206
+ });
207
+ }
208
+ function C(e, t) {
209
+ return e ? e.endsWith("\n\n") ? t : e.endsWith("\n") ? `\n${t}` : `\n\n${t}` : `${t}\n`;
210
+ }
211
+ function w(e, t) {
212
+ return {
213
+ id: e.id,
214
+ filename: e.filename,
215
+ content_type: e.content_type,
216
+ size_bytes: e.size_bytes,
217
+ sha256: e.sha256,
218
+ width: e.width,
219
+ height: e.height,
220
+ metadata: e.metadata,
221
+ url: t
222
+ };
223
+ }
224
+ //#endregion
225
+ export { S as RichTextField };
@@ -0,0 +1,34 @@
1
+ import { PasswordInput as e } from "../primitives/Fields.js";
2
+ import { SECRET_SENTINEL as t, holdsSecret as n } from "./secretValue.js";
3
+ import { useState as r } from "react";
4
+ import { jsx as i } from "react/jsx-runtime";
5
+ //#region src/components/fields/SecretField.tsx
6
+ function a({ field: a, fieldName: o, value: s, mode: c, onChange: l, record: u, fieldId: d, t: f }) {
7
+ let [p, m] = r(""), h = u !== void 0, g = n(s);
8
+ return c === "display" ? g ? /* @__PURE__ */ i("span", {
9
+ className: "mono",
10
+ style: {
11
+ fontSize: 12.5,
12
+ color: "var(--text-3)"
13
+ },
14
+ children: f("field.secret.set", "Set")
15
+ }) : /* @__PURE__ */ i("span", {
16
+ style: {
17
+ fontSize: 12.5,
18
+ color: "var(--text-4)",
19
+ fontStyle: "italic"
20
+ },
21
+ children: f("field.secret.not_set", "Not set")
22
+ }) : /* @__PURE__ */ i(e, {
23
+ id: d,
24
+ name: o,
25
+ ariaRequired: a.required,
26
+ value: p,
27
+ onChange: (e) => {
28
+ m(e), h && e === "" ? l?.(g ? t : "") : l?.(e);
29
+ },
30
+ placeholder: h ? f("field.secret.keep_existing", "Leave blank to keep existing value") : f("field.secret.placeholder", "Enter value")
31
+ });
32
+ }
33
+ //#endregion
34
+ export { a as SecretField };
@@ -0,0 +1,165 @@
1
+ import { Icon as e } from "../primitives/Icons.js";
2
+ import { Btn as t } from "../primitives/Btn.js";
3
+ import { Chip as n } from "../primitives/Chip.js";
4
+ import { TextInput as r } from "../primitives/Fields.js";
5
+ import { useState as i } from "react";
6
+ import { jsx as a, jsxs as o } from "react/jsx-runtime";
7
+ //#region src/components/fields/StringArrayField.tsx
8
+ function s(e) {
9
+ return Array.isArray(e) ? e.filter((e) => e != null).map(String) : [];
10
+ }
11
+ function c({ field: e, fieldName: t, value: n, mode: r, onChange: i, fieldId: o, t: c }) {
12
+ let d = s(n), f = e.values ?? [];
13
+ return f.length > 0 ? /* @__PURE__ */ a(l, {
14
+ values: f,
15
+ selected: d,
16
+ mode: r,
17
+ required: e.required,
18
+ onChange: i,
19
+ t: c
20
+ }) : /* @__PURE__ */ a(u, {
21
+ items: d,
22
+ fieldName: t,
23
+ required: e.required,
24
+ mode: r,
25
+ onChange: i,
26
+ fieldId: o,
27
+ t: c
28
+ });
29
+ }
30
+ function l({ values: t, selected: r, mode: i, required: s, onChange: c, t: l }) {
31
+ let u = new Set(r), d = (e) => {
32
+ let n = t.find((t) => t.code === e);
33
+ return n && l(n.name) || e;
34
+ }, f = r.filter((e) => !t.some((t) => t.code === e));
35
+ if (i === "display") return r.length === 0 ? /* @__PURE__ */ a("span", {
36
+ style: {
37
+ fontSize: 12.5,
38
+ color: "var(--text-4)"
39
+ },
40
+ children: "—"
41
+ }) : /* @__PURE__ */ o("div", {
42
+ style: {
43
+ display: "flex",
44
+ flexWrap: "wrap",
45
+ gap: 4
46
+ },
47
+ children: [t.filter((e) => u.has(e.code)).map((e) => /* @__PURE__ */ a(n, {
48
+ tone: "slate",
49
+ children: l(e.name) || e.code
50
+ }, e.code)), f.map((e) => /* @__PURE__ */ a(n, {
51
+ tone: "slate",
52
+ children: d(e)
53
+ }, e))]
54
+ });
55
+ let p = (e) => {
56
+ u.has(e) ? c?.(r.filter((t) => t !== e)) : c?.([...r, e]);
57
+ }, m = (e) => ({
58
+ display: "inline-flex",
59
+ alignItems: "center",
60
+ gap: 4,
61
+ padding: "3px 10px",
62
+ borderRadius: 999,
63
+ fontSize: 12.5,
64
+ cursor: "pointer",
65
+ border: e ? "1px solid var(--text-3)" : "1px solid var(--border)",
66
+ background: e ? "var(--surface-2)" : "transparent",
67
+ color: e ? "var(--text)" : "var(--text-4)",
68
+ fontWeight: e ? 600 : 400
69
+ });
70
+ return /* @__PURE__ */ o("div", {
71
+ role: "group",
72
+ "aria-required": s || void 0,
73
+ style: {
74
+ display: "flex",
75
+ flexWrap: "wrap",
76
+ gap: 6
77
+ },
78
+ children: [t.map((t) => {
79
+ let n = u.has(t.code);
80
+ return /* @__PURE__ */ o("button", {
81
+ type: "button",
82
+ "aria-pressed": n,
83
+ onClick: () => p(t.code),
84
+ style: m(n),
85
+ children: [n && /* @__PURE__ */ a(e.check, { size: 12 }), d(t.code)]
86
+ }, t.code);
87
+ }), f.map((t) => /* @__PURE__ */ o("button", {
88
+ type: "button",
89
+ "aria-pressed": !0,
90
+ onClick: () => p(t),
91
+ style: m(!0),
92
+ children: [/* @__PURE__ */ a(e.check, { size: 12 }), d(t)]
93
+ }, t))]
94
+ });
95
+ }
96
+ function u({ items: s, fieldName: c, required: l, mode: u, onChange: d, fieldId: f, t: p }) {
97
+ let [m, h] = i("");
98
+ if (u === "display") return s.length === 0 ? /* @__PURE__ */ a("span", {
99
+ style: {
100
+ fontSize: 12.5,
101
+ color: "var(--text-4)"
102
+ },
103
+ children: "—"
104
+ }) : /* @__PURE__ */ a("div", {
105
+ style: {
106
+ display: "flex",
107
+ flexWrap: "wrap",
108
+ gap: 4
109
+ },
110
+ children: s.map((e, t) => /* @__PURE__ */ a(n, {
111
+ tone: "slate",
112
+ children: e
113
+ }, t))
114
+ });
115
+ let g = () => {
116
+ let e = m.trim();
117
+ e && (d?.([...s, e]), h(""));
118
+ }, _ = (e) => {
119
+ d?.(s.filter((t, n) => n !== e));
120
+ };
121
+ return /* @__PURE__ */ o("div", {
122
+ style: {
123
+ display: "flex",
124
+ flexDirection: "column",
125
+ gap: 6
126
+ },
127
+ children: [s.length > 0 && /* @__PURE__ */ a("div", {
128
+ style: {
129
+ display: "flex",
130
+ flexWrap: "wrap",
131
+ gap: 4
132
+ },
133
+ children: s.map((e, t) => /* @__PURE__ */ a(n, {
134
+ tone: "slate",
135
+ onRemove: () => _(t),
136
+ children: e
137
+ }, t))
138
+ }), /* @__PURE__ */ o("div", {
139
+ style: {
140
+ display: "flex",
141
+ gap: 4
142
+ },
143
+ children: [/* @__PURE__ */ a("div", {
144
+ style: { flex: 1 },
145
+ children: /* @__PURE__ */ a(r, {
146
+ id: f,
147
+ name: c,
148
+ "aria-required": l || void 0,
149
+ value: m,
150
+ onChange: h,
151
+ onKeyDown: (e) => {
152
+ e.key === "Enter" && (e.preventDefault(), g());
153
+ },
154
+ placeholder: p("field.array.add_item", "Add item…")
155
+ })
156
+ }), /* @__PURE__ */ a(t, {
157
+ icon: /* @__PURE__ */ a(e.plus, { size: 13 }),
158
+ onClick: g,
159
+ children: p("field.array.add", "Add")
160
+ })]
161
+ })]
162
+ });
163
+ }
164
+ //#endregion
165
+ export { c as StringArrayField };
@@ -0,0 +1,39 @@
1
+ import { coerceDisplayString as e } from "../../lib/display-value.js";
2
+ import { TextInput as t } from "../primitives/Fields.js";
3
+ import { CopyButton as n } from "../shared/CopyButton.js";
4
+ import { jsx as r, jsxs as i } from "react/jsx-runtime";
5
+ //#region src/components/fields/StringField.tsx
6
+ function a({ field: a, fieldName: o, value: s, mode: c, onChange: l, fieldId: u }) {
7
+ if (c === "display") {
8
+ let t = e(s);
9
+ return a.copyable && t ? /* @__PURE__ */ i("span", {
10
+ style: {
11
+ display: "inline-flex",
12
+ alignItems: "center",
13
+ gap: 4
14
+ },
15
+ children: [/* @__PURE__ */ r("span", {
16
+ style: { fontSize: 12.5 },
17
+ children: t
18
+ }), /* @__PURE__ */ r(n, {
19
+ value: t,
20
+ size: "sm"
21
+ })]
22
+ }) : /* @__PURE__ */ r("span", {
23
+ style: { fontSize: 12.5 },
24
+ children: t || /* @__PURE__ */ r("span", {
25
+ style: { color: "var(--text-4)" },
26
+ children: "—"
27
+ })
28
+ });
29
+ }
30
+ return /* @__PURE__ */ r(t, {
31
+ id: u,
32
+ name: o,
33
+ "aria-required": a.required || void 0,
34
+ value: e(s),
35
+ onChange: (e) => l?.(e)
36
+ });
37
+ }
38
+ //#endregion
39
+ export { a as StringField };