@middag-io/react 0.12.0 → 0.14.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 (294) hide show
  1. package/README.md +14 -14
  2. package/dist-lib/ChartPanelBlock-DIb2mv9F.js +18005 -0
  3. package/dist-lib/{ConditionTreeBlock-BkbUNS1M.js → ConditionTreeBlock-C54B_GOo.js} +1 -1
  4. package/dist-lib/DateField-CA-O-Fpw.js +121 -0
  5. package/dist-lib/DateRangeField-vXr5VVQz.js +663 -0
  6. package/dist-lib/DocumentField-I92arMqr.js +221 -0
  7. package/dist-lib/{FlowEditorBlock-CHodeGBw.js → FlowEditorBlock-CaR42_-b.js} +2063 -2653
  8. package/dist-lib/FormBuilderBlock-B_LPQ4oN.js +240 -0
  9. package/dist-lib/FormPanelBlock-BE89P5Vj.js +8827 -0
  10. package/dist-lib/FormPanelBlock-Bn_z6669.js +2 -0
  11. package/dist-lib/{index.min-BoVYs6GD.js → HugeiconsIcon-C_2Bj2NI.js} +147 -1809
  12. package/dist-lib/KanbanBoardBlock-rySahBrC.js +399 -0
  13. package/dist-lib/{MarkdownContent-gyfg0PWC.js → MarkdownContent-DVCptbxx.js} +14 -12
  14. package/dist-lib/PhoneField-BXhvQbTx.js +18585 -0
  15. package/dist-lib/{SentenceBuilderBlock-DWpf9_O-.js → SentenceBuilderBlock-Wf5YMSPg.js} +1 -1
  16. package/dist-lib/app/ContractPage.d.ts +1 -1
  17. package/dist-lib/app/ContractPage.d.ts.map +1 -1
  18. package/dist-lib/app/EntityRoutes.d.ts +1 -1
  19. package/dist-lib/app/EntityRoutes.d.ts.map +1 -1
  20. package/dist-lib/app/HostSlot.d.ts +68 -0
  21. package/dist-lib/app/HostSlot.d.ts.map +1 -0
  22. package/dist-lib/app/LazyBlock.d.ts +1 -1
  23. package/dist-lib/app/LazyBlock.d.ts.map +1 -1
  24. package/dist-lib/app/bootstrap.d.ts.map +1 -1
  25. package/dist-lib/app/providers/auth.d.ts +2 -2
  26. package/dist-lib/app/providers/auth.d.ts.map +1 -1
  27. package/dist-lib/app/providers/error-reporter.d.ts.map +1 -1
  28. package/dist-lib/app/providers/flash.d.ts.map +1 -1
  29. package/dist-lib/app/providers/i18n-defaults.d.ts.map +1 -1
  30. package/dist-lib/app/providers/i18n.d.ts +1 -1
  31. package/dist-lib/app/providers/i18n.d.ts.map +1 -1
  32. package/dist-lib/app/providers/index.d.ts +15 -0
  33. package/dist-lib/app/providers/index.d.ts.map +1 -0
  34. package/dist-lib/app/providers/locales/pt-BR.d.ts.map +1 -1
  35. package/dist-lib/app/providers/progress.d.ts.map +1 -1
  36. package/dist-lib/app/providers/scope.d.ts.map +1 -1
  37. package/dist-lib/app/register-defaults.d.ts +4 -3
  38. package/dist-lib/app/register-defaults.d.ts.map +1 -1
  39. package/dist-lib/app/registries.d.ts.map +1 -1
  40. package/dist-lib/assets/lottie/index.d.ts.map +1 -1
  41. package/dist-lib/badge-CEJlJgBY.js +63 -0
  42. package/dist-lib/base/blocks/ActionGridBlock.d.ts +1 -1
  43. package/dist-lib/base/blocks/ActionGridBlock.d.ts.map +1 -1
  44. package/dist-lib/base/blocks/ActivityTimelineBlock.d.ts.map +1 -1
  45. package/dist-lib/base/blocks/CardGridBlock.d.ts +1 -1
  46. package/dist-lib/base/blocks/CardGridBlock.d.ts.map +1 -1
  47. package/dist-lib/base/blocks/ChartPanelBlock.d.ts +11 -0
  48. package/dist-lib/base/blocks/ChartPanelBlock.d.ts.map +1 -0
  49. package/dist-lib/base/blocks/ConditionTreeBlock.d.ts +1 -1
  50. package/dist-lib/base/blocks/ConditionTreeBlock.d.ts.map +1 -1
  51. package/dist-lib/base/blocks/DenseTableBlock.d.ts +1 -1
  52. package/dist-lib/base/blocks/DenseTableBlock.d.ts.map +1 -1
  53. package/dist-lib/base/blocks/DetailPanelBlock.d.ts +1 -1
  54. package/dist-lib/base/blocks/DetailPanelBlock.d.ts.map +1 -1
  55. package/dist-lib/base/blocks/EmptyStateBlock.d.ts +1 -1
  56. package/dist-lib/base/blocks/EmptyStateBlock.d.ts.map +1 -1
  57. package/dist-lib/base/blocks/FlowEditorBlock.d.ts +1 -1
  58. package/dist-lib/base/blocks/FlowEditorBlock.d.ts.map +1 -1
  59. package/dist-lib/base/blocks/FormBuilderBlock.d.ts +1 -1
  60. package/dist-lib/base/blocks/FormBuilderBlock.d.ts.map +1 -1
  61. package/dist-lib/base/blocks/FormPanelBlock.d.ts +8 -3
  62. package/dist-lib/base/blocks/FormPanelBlock.d.ts.map +1 -1
  63. package/dist-lib/base/blocks/KanbanBoardBlock.d.ts +11 -0
  64. package/dist-lib/base/blocks/KanbanBoardBlock.d.ts.map +1 -0
  65. package/dist-lib/base/blocks/LinkListBlock.d.ts +1 -1
  66. package/dist-lib/base/blocks/LinkListBlock.d.ts.map +1 -1
  67. package/dist-lib/base/blocks/MarkdownPanelBlock.d.ts +1 -1
  68. package/dist-lib/base/blocks/MarkdownPanelBlock.d.ts.map +1 -1
  69. package/dist-lib/base/blocks/MetricCardBlock.d.ts +1 -1
  70. package/dist-lib/base/blocks/MetricCardBlock.d.ts.map +1 -1
  71. package/dist-lib/base/blocks/SentenceBuilderBlock.d.ts.map +1 -1
  72. package/dist-lib/base/blocks/StatusStripBlock.d.ts +1 -1
  73. package/dist-lib/base/blocks/StatusStripBlock.d.ts.map +1 -1
  74. package/dist-lib/base/blocks/TabbedPanelBlock.d.ts +1 -1
  75. package/dist-lib/base/blocks/TabbedPanelBlock.d.ts.map +1 -1
  76. package/dist-lib/base/blocks/WorkflowProgressBlock.d.ts.map +1 -1
  77. package/dist-lib/base/form/FormField.d.ts +6 -20
  78. package/dist-lib/base/form/FormField.d.ts.map +1 -1
  79. package/dist-lib/base/form/fields/CheckboxField.d.ts.map +1 -1
  80. package/dist-lib/base/form/fields/ColorField.d.ts.map +1 -1
  81. package/dist-lib/base/form/fields/CurrencyField.d.ts +2 -2
  82. package/dist-lib/base/form/fields/CurrencyField.d.ts.map +1 -1
  83. package/dist-lib/base/form/fields/DateField.d.ts +21 -0
  84. package/dist-lib/base/form/fields/DateField.d.ts.map +1 -0
  85. package/dist-lib/base/form/fields/DateRangeField.d.ts +21 -0
  86. package/dist-lib/base/form/fields/DateRangeField.d.ts.map +1 -0
  87. package/dist-lib/base/form/fields/DocumentField.d.ts +19 -6
  88. package/dist-lib/base/form/fields/DocumentField.d.ts.map +1 -1
  89. package/dist-lib/base/form/fields/EntityPickerField.d.ts +19 -9
  90. package/dist-lib/base/form/fields/EntityPickerField.d.ts.map +1 -1
  91. package/dist-lib/base/form/fields/FileUploadField.d.ts +22 -0
  92. package/dist-lib/base/form/fields/FileUploadField.d.ts.map +1 -0
  93. package/dist-lib/base/form/fields/MultiSelectField.d.ts +5 -5
  94. package/dist-lib/base/form/fields/MultiSelectField.d.ts.map +1 -1
  95. package/dist-lib/base/form/fields/NumberField.d.ts.map +1 -1
  96. package/dist-lib/base/form/fields/PasswordField.d.ts.map +1 -1
  97. package/dist-lib/base/form/fields/PhoneField.d.ts +8 -4
  98. package/dist-lib/base/form/fields/PhoneField.d.ts.map +1 -1
  99. package/dist-lib/base/form/fields/RadioField.d.ts.map +1 -1
  100. package/dist-lib/base/form/fields/RatingField.d.ts +17 -0
  101. package/dist-lib/base/form/fields/RatingField.d.ts.map +1 -0
  102. package/dist-lib/base/form/fields/SelectField.d.ts.map +1 -1
  103. package/dist-lib/base/form/fields/SlugField.d.ts +2 -2
  104. package/dist-lib/base/form/fields/SlugField.d.ts.map +1 -1
  105. package/dist-lib/base/form/fields/StaticField.d.ts.map +1 -1
  106. package/dist-lib/base/form/fields/SwitchField.d.ts.map +1 -1
  107. package/dist-lib/base/form/fields/TagsField.d.ts.map +1 -1
  108. package/dist-lib/base/form/fields/TextField.d.ts.map +1 -1
  109. package/dist-lib/base/form/fields/TextareaField.d.ts.map +1 -1
  110. package/dist-lib/base/form/fields/document-validation.d.ts +25 -5
  111. package/dist-lib/base/form/fields/document-validation.d.ts.map +1 -1
  112. package/dist-lib/base/form/fields/field-registry.d.ts +38 -0
  113. package/dist-lib/base/form/fields/field-registry.d.ts.map +1 -0
  114. package/dist-lib/base/form/fields/register-default-fields.d.ts +13 -0
  115. package/dist-lib/base/form/fields/register-default-fields.d.ts.map +1 -0
  116. package/dist-lib/base/form/form-schema-builder.d.ts +27 -0
  117. package/dist-lib/base/form/form-schema-builder.d.ts.map +1 -0
  118. package/dist-lib/base/form/form-utils.d.ts +14 -0
  119. package/dist-lib/base/form/form-utils.d.ts.map +1 -0
  120. package/dist-lib/base/hooks/usePolling.d.ts.map +1 -1
  121. package/dist-lib/base/layout/BlockRegion.d.ts +18 -0
  122. package/dist-lib/base/layout/BlockRegion.d.ts.map +1 -0
  123. package/dist-lib/base/layout/DashboardLayout.d.ts +5 -2
  124. package/dist-lib/base/layout/DashboardLayout.d.ts.map +1 -1
  125. package/dist-lib/base/layout/SidebarLayout.d.ts +16 -0
  126. package/dist-lib/base/layout/SidebarLayout.d.ts.map +1 -0
  127. package/dist-lib/base/layout/StackLayout.d.ts +4 -4
  128. package/dist-lib/base/layout/StackLayout.d.ts.map +1 -1
  129. package/dist-lib/base/layout/WizardLayout.d.ts +2 -2
  130. package/dist-lib/base/layout/WizardLayout.d.ts.map +1 -1
  131. package/dist-lib/base/partials/ActionBar/index.d.ts +4 -12
  132. package/dist-lib/base/partials/ActionBar/index.d.ts.map +1 -1
  133. package/dist-lib/base/partials/ConfirmationDialog/index.d.ts.map +1 -1
  134. package/dist-lib/base/partials/DataTable/cell-registry.d.ts +35 -0
  135. package/dist-lib/base/partials/DataTable/cell-registry.d.ts.map +1 -0
  136. package/dist-lib/base/partials/DataTable/cell-renderers.d.ts +14 -10
  137. package/dist-lib/base/partials/DataTable/cell-renderers.d.ts.map +1 -1
  138. package/dist-lib/base/partials/DataTable/index.d.ts.map +1 -1
  139. package/dist-lib/base/partials/DataTable/register-default-cells.d.ts +9 -0
  140. package/dist-lib/base/partials/DataTable/register-default-cells.d.ts.map +1 -0
  141. package/dist-lib/base/partials/DataTable/types.d.ts +4 -4
  142. package/dist-lib/base/partials/DataTable/types.d.ts.map +1 -1
  143. package/dist-lib/base/partials/DetailSection/index.d.ts +1 -1
  144. package/dist-lib/base/partials/DetailSection/index.d.ts.map +1 -1
  145. package/dist-lib/base/partials/EmptyPlaceholder/index.d.ts.map +1 -1
  146. package/dist-lib/base/partials/FilterBar/index.d.ts.map +1 -1
  147. package/dist-lib/base/partials/FormSection/index.d.ts.map +1 -1
  148. package/dist-lib/base/partials/LogViewer/JsonBlock.d.ts +1 -1
  149. package/dist-lib/base/partials/LogViewer/JsonBlock.d.ts.map +1 -1
  150. package/dist-lib/base/partials/LogViewer/LogEntry.d.ts.map +1 -1
  151. package/dist-lib/base/partials/LogViewer/LogViewerToolbar.d.ts.map +1 -1
  152. package/dist-lib/base/partials/LogViewer/index.d.ts.map +1 -1
  153. package/dist-lib/base/partials/LogViewer/types.d.ts.map +1 -1
  154. package/dist-lib/base/partials/MarkdownContent/index.d.ts.map +1 -1
  155. package/dist-lib/base/partials/StatRow/index.d.ts.map +1 -1
  156. package/dist-lib/base/partials/StatusBar/index.d.ts +1 -1
  157. package/dist-lib/base/partials/StatusBar/index.d.ts.map +1 -1
  158. package/dist-lib/base/partials/StatusIndicator/index.d.ts.map +1 -1
  159. package/dist-lib/base/partials/StepIndicator/index.d.ts +3 -1
  160. package/dist-lib/base/partials/StepIndicator/index.d.ts.map +1 -1
  161. package/dist-lib/base/partials/TimelineList/index.d.ts.map +1 -1
  162. package/dist-lib/base/shell/ImmersiveShell.d.ts +14 -0
  163. package/dist-lib/base/shell/ImmersiveShell.d.ts.map +1 -0
  164. package/dist-lib/base/shell/ProductShell.d.ts +17 -5
  165. package/dist-lib/base/shell/ProductShell.d.ts.map +1 -1
  166. package/dist-lib/base/shell/partials/AdminTabBar.d.ts +12 -0
  167. package/dist-lib/base/shell/partials/AdminTabBar.d.ts.map +1 -0
  168. package/dist-lib/base/shell/partials/AppearanceToggle.d.ts.map +1 -1
  169. package/dist-lib/base/shell/partials/BoostSearchBar.d.ts +32 -0
  170. package/dist-lib/base/shell/partials/BoostSearchBar.d.ts.map +1 -0
  171. package/dist-lib/base/shell/partials/CommandPalette.d.ts +1 -1
  172. package/dist-lib/base/shell/partials/CommandPalette.d.ts.map +1 -1
  173. package/dist-lib/base/shell/partials/HelpContext.d.ts +1 -1
  174. package/dist-lib/base/shell/partials/HelpContext.d.ts.map +1 -1
  175. package/dist-lib/base/shell/partials/HelpPanel.d.ts.map +1 -1
  176. package/dist-lib/base/shell/partials/InlineInspector.d.ts +3 -2
  177. package/dist-lib/base/shell/partials/InlineInspector.d.ts.map +1 -1
  178. package/dist-lib/base/shell/partials/InspectorContext.d.ts +14 -3
  179. package/dist-lib/base/shell/partials/InspectorContext.d.ts.map +1 -1
  180. package/dist-lib/base/shell/partials/InspectorPanel.d.ts.map +1 -1
  181. package/dist-lib/base/shell/partials/NavErrorBoundary.d.ts +1 -1
  182. package/dist-lib/base/shell/partials/NavErrorBoundary.d.ts.map +1 -1
  183. package/dist-lib/base/shell/partials/OverlayScreen.d.ts.map +1 -1
  184. package/dist-lib/base/shell/partials/PageActionButton.d.ts +1 -1
  185. package/dist-lib/base/shell/partials/PageActionButton.d.ts.map +1 -1
  186. package/dist-lib/base/shell/partials/PageFilterTabs.d.ts.map +1 -1
  187. package/dist-lib/base/shell/partials/PageHeader.d.ts +1 -1
  188. package/dist-lib/base/shell/partials/PageHeader.d.ts.map +1 -1
  189. package/dist-lib/base/shell/partials/SidebarNav.d.ts +4 -4
  190. package/dist-lib/base/shell/partials/SidebarNav.d.ts.map +1 -1
  191. package/dist-lib/base/theme/appearance.d.ts.map +1 -1
  192. package/dist-lib/base/theme/host-layout-detector.d.ts.map +1 -1
  193. package/dist-lib/base/theme/host-theme-detector.d.ts.map +1 -1
  194. package/dist-lib/base/theme/theme-context.d.ts +61 -0
  195. package/dist-lib/base/theme/theme-context.d.ts.map +1 -0
  196. package/dist-lib/base/theme/useHostTheme.d.ts.map +1 -1
  197. package/dist-lib/base/utils/conditions.d.ts.map +1 -1
  198. package/dist-lib/base/utils/icon-registry.d.ts +27 -0
  199. package/dist-lib/base/utils/icon-registry.d.ts.map +1 -0
  200. package/dist-lib/base/utils/icons.d.ts +1 -1
  201. package/dist-lib/base/utils/icons.d.ts.map +1 -1
  202. package/dist-lib/base/utils/interpolate.d.ts.map +1 -1
  203. package/dist-lib/base/utils/register-default-icons.d.ts +11 -0
  204. package/dist-lib/base/utils/register-default-icons.d.ts.map +1 -0
  205. package/dist-lib/base/utils/storage.d.ts +34 -0
  206. package/dist-lib/base/utils/storage.d.ts.map +1 -0
  207. package/dist-lib/button-DY_CinAY.js +242 -0
  208. package/dist-lib/calendar-Dw-fH9qs.js +4505 -0
  209. package/dist-lib/combobox-DdpNpq0T.js +5303 -0
  210. package/dist-lib/components/reui/alert.d.ts +1 -1
  211. package/dist-lib/components/reui/avatar.d.ts +12 -0
  212. package/dist-lib/components/reui/avatar.d.ts.map +1 -0
  213. package/dist-lib/components/reui/badge.d.ts +1 -1
  214. package/dist-lib/components/reui/button.d.ts +1 -1
  215. package/dist-lib/components/reui/calendar.d.ts +9 -0
  216. package/dist-lib/components/reui/calendar.d.ts.map +1 -0
  217. package/dist-lib/components/reui/chart.d.ts +45 -0
  218. package/dist-lib/components/reui/chart.d.ts.map +1 -0
  219. package/dist-lib/components/reui/combobox.d.ts +25 -0
  220. package/dist-lib/components/reui/combobox.d.ts.map +1 -0
  221. package/dist-lib/components/reui/date-selector.d.ts +129 -0
  222. package/dist-lib/components/reui/date-selector.d.ts.map +1 -0
  223. package/dist-lib/components/reui/frame.d.ts +1 -1
  224. package/dist-lib/components/reui/input-group.d.ts +17 -0
  225. package/dist-lib/components/reui/input-group.d.ts.map +1 -0
  226. package/dist-lib/components/reui/kanban.d.ts +60 -0
  227. package/dist-lib/components/reui/kanban.d.ts.map +1 -0
  228. package/dist-lib/components/reui/phone-input.d.ts +12 -0
  229. package/dist-lib/components/reui/phone-input.d.ts.map +1 -0
  230. package/dist-lib/components/reui/rating.d.ts +32 -0
  231. package/dist-lib/components/reui/rating.d.ts.map +1 -0
  232. package/dist-lib/components/reui/scroll-area.d.ts +6 -0
  233. package/dist-lib/components/reui/scroll-area.d.ts.map +1 -0
  234. package/dist-lib/components/reui/stepper.d.ts +62 -0
  235. package/dist-lib/components/reui/stepper.d.ts.map +1 -0
  236. package/dist-lib/contracts/block-data/actions.d.ts +57 -0
  237. package/dist-lib/contracts/block-data/actions.d.ts.map +1 -0
  238. package/dist-lib/contracts/block-data/data-display.d.ts +235 -0
  239. package/dist-lib/contracts/block-data/data-display.d.ts.map +1 -0
  240. package/dist-lib/contracts/block-data/form.d.ts +234 -0
  241. package/dist-lib/contracts/block-data/form.d.ts.map +1 -0
  242. package/dist-lib/contracts/block-data/index.d.ts +15 -0
  243. package/dist-lib/contracts/block-data/index.d.ts.map +1 -0
  244. package/dist-lib/contracts/block-data/interactive.d.ts +140 -0
  245. package/dist-lib/contracts/block-data/interactive.d.ts.map +1 -0
  246. package/dist-lib/contracts/block-data/shared.d.ts +47 -0
  247. package/dist-lib/contracts/block-data/shared.d.ts.map +1 -0
  248. package/dist-lib/contracts/navigation.d.ts +1 -59
  249. package/dist-lib/contracts/navigation.d.ts.map +1 -1
  250. package/dist-lib/contracts/page-contract-schema.d.ts.map +1 -1
  251. package/dist-lib/contracts/page-contract.d.ts +55 -15
  252. package/dist-lib/contracts/page-contract.d.ts.map +1 -1
  253. package/dist-lib/contracts/shared-props.d.ts +2 -2
  254. package/dist-lib/contracts/shared-props.d.ts.map +1 -1
  255. package/dist-lib/dist-3F0-lo64.js +15 -0
  256. package/dist-lib/dist-BN2kCxhw.js +1196 -0
  257. package/dist-lib/dist-BVqmxsUH.js +123 -0
  258. package/dist-lib/dist-C3iVHwGr.js +235 -0
  259. package/dist-lib/dist-DSWRN9XQ.js +54 -0
  260. package/dist-lib/document-validation-C5Yr5Kkc.js +1249 -0
  261. package/dist-lib/floating-ui.react-dom-kYEBCgAT.js +1089 -0
  262. package/dist-lib/{i18n-BUNFYM_z.js → i18n-CP5eDOjK.js} +113 -0
  263. package/dist-lib/index.d.ts +16 -10
  264. package/dist-lib/index.d.ts.map +1 -1
  265. package/dist-lib/input-DovH16Rh.js +14 -0
  266. package/dist-lib/lib/hooks/use-file-upload.d.ts.map +1 -1
  267. package/dist-lib/lib/utils.d.ts.map +1 -1
  268. package/dist-lib/lottie/index.ts +8 -40
  269. package/dist-lib/middag-react.css +1 -1
  270. package/dist-lib/middag-react.js +7508 -31147
  271. package/dist-lib/popover-DeghPbgu.js +242 -0
  272. package/dist-lib/scroll-area-CDaBiyoP.js +557 -0
  273. package/dist-lib/skeleton-UFUcHob_.js +12 -0
  274. package/dist-lib/{FormBuilderBlock-C6AX-Eg0.js → sortable.esm-0nILrm98.js} +745 -982
  275. package/dist-lib/use-mobile-B2E8cMyY.js +205 -0
  276. package/dist-lib/utils-DS8lnGJS.js +1692 -0
  277. package/dist-lib/value-BmOnuKrw.js +413 -0
  278. package/dist-lib/with-selector-eFb4BYrL.js +185 -0
  279. package/package.json +8 -1
  280. package/dist-lib/base/layout/MasterDetailLayout.d.ts +0 -8
  281. package/dist-lib/base/layout/MasterDetailLayout.d.ts.map +0 -1
  282. package/dist-lib/base/layout/SplitLayout.d.ts +0 -8
  283. package/dist-lib/base/layout/SplitLayout.d.ts.map +0 -1
  284. package/dist-lib/base/shell/AdminShell.d.ts +0 -12
  285. package/dist-lib/base/shell/AdminShell.d.ts.map +0 -1
  286. package/dist-lib/base/shell/HostProductShell.d.ts +0 -29
  287. package/dist-lib/base/shell/HostProductShell.d.ts.map +0 -1
  288. package/dist-lib/components/reui/alert-dialog.d.ts +0 -19
  289. package/dist-lib/components/reui/alert-dialog.d.ts.map +0 -1
  290. package/dist-lib/contracts/block-data.d.ts +0 -438
  291. package/dist-lib/contracts/block-data.d.ts.map +0 -1
  292. package/dist-lib/lib/deprecation.d.ts +0 -10
  293. package/dist-lib/lib/deprecation.d.ts.map +0 -1
  294. /package/dist-lib/{dist-BDvVQ5m8.js → dist-CZG8yxiX.js} +0 -0
@@ -0,0 +1,235 @@
1
+ /**
2
+ * Data display block types — read-only blocks that present information.
3
+ *
4
+ * Includes DenseTable, MetricCard, EmptyState, StatusStrip, DetailPanel,
5
+ * ActivityTimeline, MarkdownPanel, CardGrid, LinkList, and WorkflowProgress.
6
+ */
7
+ import type { ConditionalAction, ExecutableAction } from "./actions";
8
+ import type { EmptyStateDef, EntityRef } from "./shared";
9
+ export interface DenseTableColumnDef {
10
+ key: string;
11
+ label: string;
12
+ sortable?: boolean;
13
+ searchable?: boolean;
14
+ variant?: "text" | "status" | "badge" | "boolean" | "timestamp" | "link" | "rich_status" | "html" | "link_group" | "annotated";
15
+ /** URL pattern for link columns. Interpolated per row (e.g. "/organizations/{organizationId}"). */
16
+ href?: string;
17
+ /** Entity reference for link resolution via PageContract.entities map. */
18
+ entity?: EntityRef;
19
+ minWidth?: number;
20
+ }
21
+ export interface DenseTablePagination {
22
+ page: number;
23
+ perPage: number;
24
+ total: number;
25
+ lastPage: number;
26
+ }
27
+ export interface DenseTableSort {
28
+ column: string | null;
29
+ direction: "asc" | "desc" | null;
30
+ }
31
+ export interface DenseTableFilterDef {
32
+ key: string;
33
+ label: string;
34
+ type: "select" | "multiselect" | "date_range";
35
+ options?: Array<{
36
+ value: string;
37
+ label: string;
38
+ }>;
39
+ }
40
+ export interface RichStatusValue {
41
+ label: string;
42
+ appearance: "success" | "warning" | "danger" | "info" | "neutral";
43
+ icon?: string;
44
+ }
45
+ /** Structured value for the `annotated` column variant. */
46
+ export interface AnnotatedValue {
47
+ /** Primary text. */
48
+ text: string;
49
+ /** Optional prefix badge (colored square with 1-2 characters). */
50
+ badge?: {
51
+ label: string;
52
+ color: string;
53
+ };
54
+ /** Optional secondary text (rendered in muted mono below the primary text). */
55
+ sublabel?: string;
56
+ /** Semantic color applied to the primary text. */
57
+ appearance?: "success" | "warning" | "danger" | "info" | "neutral";
58
+ }
59
+ export interface LinkGroupItem {
60
+ icon: string;
61
+ href: string | null;
62
+ label: string;
63
+ external?: boolean;
64
+ }
65
+ export interface DenseTableBlockData {
66
+ columns: DenseTableColumnDef[];
67
+ rows: Record<string, unknown>[];
68
+ pagination: DenseTablePagination;
69
+ sort: DenseTableSort;
70
+ filters: {
71
+ available: DenseTableFilterDef[];
72
+ applied: Record<string, string | string[]>;
73
+ };
74
+ /** URL pattern for row click navigation. Interpolated per row (e.g. "/organizations/{id}"). */
75
+ rowHref?: string;
76
+ rowActions?: ConditionalAction[];
77
+ bulkActions?: ExecutableAction[];
78
+ searchPlaceholder?: string;
79
+ emptyState?: EmptyStateDef;
80
+ }
81
+ export interface MetricCardBlockData {
82
+ value: string | number;
83
+ delta?: string;
84
+ deltaDirection?: "positive" | "negative" | "neutral";
85
+ label: string;
86
+ icon?: string;
87
+ href?: string;
88
+ locale?: string;
89
+ compact?: boolean;
90
+ }
91
+ export type EmptyStateVariant = "first-use" | "no-results" | "error" | "permission";
92
+ export interface EmptyStateBlockData {
93
+ variant?: EmptyStateVariant;
94
+ icon?: string;
95
+ /** URL to a Lottie JSON animation. When provided, replaces the icon with an animated illustration. */
96
+ lottieUrl?: string;
97
+ description: string;
98
+ cta?: {
99
+ label: string;
100
+ href?: string;
101
+ method?: "get" | "post";
102
+ };
103
+ ctaSecondary?: {
104
+ label: string;
105
+ href: string;
106
+ };
107
+ }
108
+ export type StatusStripTone = "success" | "warning" | "danger" | "neutral";
109
+ export type StatusItemAppearance = "success" | "warning" | "danger" | "info" | "neutral";
110
+ export interface StatusStripItem {
111
+ key: string;
112
+ label: string;
113
+ value: string;
114
+ appearance: StatusItemAppearance;
115
+ tooltip?: string;
116
+ href?: string;
117
+ }
118
+ export interface StatusStripBlockData {
119
+ score?: number;
120
+ tone?: StatusStripTone;
121
+ items: StatusStripItem[];
122
+ }
123
+ export interface DetailPanelFieldDef {
124
+ key: string;
125
+ label: string;
126
+ value: string | number | boolean | null;
127
+ kind?: "text" | "status" | "timestamp" | "boolean" | "link" | "code" | "email";
128
+ copyable?: boolean;
129
+ href?: string;
130
+ /**
131
+ * Entity link for this field value.
132
+ * Unlike DenseTable (where entity.id is a field name in the row), here
133
+ * entity.id is the actual entity ID value (e.g. 1, "abc") because
134
+ * DetailPanel fields carry inline values, not tabular rows.
135
+ */
136
+ entity?: {
137
+ type: string;
138
+ id: string | number;
139
+ };
140
+ }
141
+ export interface DetailPanelSectionDef {
142
+ id: string;
143
+ title: string;
144
+ fields: DetailPanelFieldDef[];
145
+ defaultCollapsed?: boolean;
146
+ actions?: ExecutableAction[];
147
+ }
148
+ export interface DetailPanelBlockData {
149
+ sections: DetailPanelSectionDef[];
150
+ columns?: 1 | 2;
151
+ }
152
+ export interface ActivityTimelineEntry {
153
+ id: string;
154
+ actor: string;
155
+ actorHref?: string;
156
+ action: string;
157
+ detail?: string;
158
+ icon: string;
159
+ color: "success" | "info" | "warning" | "destructive" | "neutral";
160
+ timestamp: number;
161
+ }
162
+ export interface ActivityTimelineBlockData {
163
+ groups: Array<{
164
+ label: string;
165
+ entries: ActivityTimelineEntry[];
166
+ }>;
167
+ hasMore?: boolean;
168
+ loadMoreHref?: string;
169
+ limit?: number;
170
+ }
171
+ export interface MarkdownPanelBlockData {
172
+ content: string;
173
+ maxHeight?: number;
174
+ }
175
+ export interface CardGridColumnDef {
176
+ key: string;
177
+ label: string;
178
+ kind?: "text" | "status" | "badge" | "boolean" | "timestamp" | "number";
179
+ }
180
+ export interface CardGridBlockData {
181
+ columns: CardGridColumnDef[];
182
+ rows: Record<string, unknown>[];
183
+ variant?: "default" | "store" | "connector";
184
+ emptyState?: EmptyStateDef;
185
+ }
186
+ export interface LinkListItem {
187
+ label: string;
188
+ href: string | null;
189
+ icon?: string;
190
+ description?: string;
191
+ external?: boolean;
192
+ }
193
+ export interface LinkListBlockData {
194
+ items: LinkListItem[];
195
+ }
196
+ export interface WorkflowProgressState {
197
+ /** Unique key, e.g. "draft", "active", "expired" */
198
+ key: string;
199
+ /** Localized display label */
200
+ label: string;
201
+ /** Timestamp when this state was reached (ISO 8601). Shown for past/current states. */
202
+ timestamp?: string;
203
+ }
204
+ export interface WorkflowProgressBlockData {
205
+ /** Ordered list of workflow states (left to right) */
206
+ states: WorkflowProgressState[];
207
+ /** Key of the current active state. Must match one of states[].key */
208
+ currentState: string;
209
+ }
210
+ /** A single data series for the chart. */
211
+ export interface ChartSeries {
212
+ /** Unique key matching data point fields (e.g. "revenue", "users"). */
213
+ key: string;
214
+ /** Display label for the series. */
215
+ label: string;
216
+ /** CSS color value or token (e.g. "var(--chart-1)"). */
217
+ color?: string;
218
+ /** Chart type for this series. Defaults to parent chartType. */
219
+ type?: "bar" | "line" | "area";
220
+ }
221
+ export interface ChartPanelBlockData {
222
+ /** Chart type. */
223
+ chartType: "bar" | "line" | "area" | "pie";
224
+ /** Data points. Each object has a category key + numeric values per series. */
225
+ data: Record<string, unknown>[];
226
+ /** Data series definitions. */
227
+ series: ChartSeries[];
228
+ /** Key used for the X-axis category (e.g. "month", "date"). */
229
+ categoryKey: string;
230
+ /** Show Cartesian grid lines. */
231
+ showGrid?: boolean;
232
+ /** Show legend below the chart. */
233
+ showLegend?: boolean;
234
+ }
235
+ //# sourceMappingURL=data-display.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"data-display.d.ts","sourceRoot":"","sources":["../../../src/contracts/block-data/data-display.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,234 @@
1
+ /**
2
+ * Form panel types — schema-driven form field definitions.
3
+ *
4
+ * Defines the 26 field types, field props hierarchy (Interface Segregation),
5
+ * schema node unions (field, section, group, header), and FormPanelBlockData.
6
+ */
7
+ import type { FormCondition, FormFieldDocumentMask, FormFieldValidation } from "./shared";
8
+ export type FormFieldType = "text" | "textarea" | "password" | "email" | "url" | "int" | "float" | "select" | "multiselect" | "radio" | "checkbox" | "switch" | "date" | "datetime" | "duration" | "file" | "entity_picker" | "phone" | "document" | "currency" | "color" | "slug" | "tags" | "rating" | "date_range" | "hidden" | "static" | "header";
9
+ /** Base props shared by all interactive form fields. */
10
+ export interface FieldPropsBase {
11
+ label: string;
12
+ placeholder?: string;
13
+ helpText?: string;
14
+ required?: boolean;
15
+ disabled?: boolean;
16
+ readOnly?: boolean;
17
+ /** Client-side validation rules (additive to type-based defaults). */
18
+ validation?: FormFieldValidation;
19
+ /** Conditional visibility/state rules. */
20
+ visible_when?: FormCondition;
21
+ hidden_when?: FormCondition;
22
+ disabled_when?: FormCondition;
23
+ required_when?: FormCondition;
24
+ }
25
+ /** Props for fields that render a list of options. */
26
+ export interface OptionFieldProps extends FieldPropsBase {
27
+ options?: Array<{
28
+ value: string;
29
+ label: string;
30
+ }>;
31
+ }
32
+ interface FieldNodeBase {
33
+ kind: "field";
34
+ key: string;
35
+ }
36
+ /** Simple text-based fields: text, email, url, password, color. */
37
+ export interface SimpleFormField extends FieldNodeBase {
38
+ component: "text" | "email" | "url" | "password" | "color";
39
+ props: FieldPropsBase;
40
+ }
41
+ /** Textarea field with configurable row count. */
42
+ export interface TextareaFormField extends FieldNodeBase {
43
+ component: "textarea";
44
+ props: FieldPropsBase & {
45
+ rows?: number;
46
+ };
47
+ }
48
+ /** Numeric input fields: int, float. */
49
+ export interface NumericFormField extends FieldNodeBase {
50
+ component: "int" | "float";
51
+ props: FieldPropsBase & {
52
+ min?: number;
53
+ max?: number;
54
+ step?: number;
55
+ };
56
+ }
57
+ /** Fields that select from a list of options: select, radio. */
58
+ export interface SelectFormField extends FieldNodeBase {
59
+ component: "select" | "radio";
60
+ props: OptionFieldProps;
61
+ }
62
+ /** Multi-select field. */
63
+ export interface MultiSelectFormField extends FieldNodeBase {
64
+ component: "multiselect";
65
+ props: OptionFieldProps;
66
+ }
67
+ /** Boolean toggle fields: checkbox, switch. */
68
+ export interface BooleanFormField extends FieldNodeBase {
69
+ component: "checkbox" | "switch";
70
+ props: FieldPropsBase;
71
+ }
72
+ /** Date and datetime pickers. */
73
+ export interface DateFormField extends FieldNodeBase {
74
+ component: "date" | "datetime";
75
+ props: FieldPropsBase;
76
+ }
77
+ /** Duration input. */
78
+ export interface DurationFormField extends FieldNodeBase {
79
+ component: "duration";
80
+ props: FieldPropsBase;
81
+ }
82
+ /** File upload field with drag-drop support. */
83
+ export interface FileFormField extends FieldNodeBase {
84
+ component: "file";
85
+ props: FieldPropsBase & {
86
+ /** MIME types or extensions (e.g. "image/*", ".pdf,.docx"). */
87
+ accept?: string;
88
+ /** Allow multiple files. */
89
+ multiple?: boolean;
90
+ /** Maximum number of files (when multiple). */
91
+ maxFiles?: number;
92
+ /** Maximum file size in bytes. */
93
+ maxSize?: number;
94
+ };
95
+ }
96
+ /** Async entity picker with search autocomplete. */
97
+ export interface EntityPickerFormField extends FieldNodeBase {
98
+ component: "entity_picker";
99
+ props: OptionFieldProps & {
100
+ /** Async search endpoint URL. */
101
+ autocompleteHref?: string;
102
+ /** Minimum characters before search triggers. */
103
+ autocompleteMinChars?: number;
104
+ /** Field name for primary display label. */
105
+ entityDisplayField?: string;
106
+ /** Field name for subtitle line. */
107
+ entitySubtitleField?: string;
108
+ /** Field name for avatar URL. */
109
+ entityAvatarField?: string;
110
+ };
111
+ }
112
+ /** International phone number input. */
113
+ export interface PhoneFormField extends FieldNodeBase {
114
+ component: "phone";
115
+ props: FieldPropsBase & {
116
+ /** Default country code (ISO 3166-1 alpha-2, e.g. "BR"). */
117
+ defaultCountry?: string;
118
+ /** Hide country selector, lock to defaultCountry. */
119
+ fixedCountry?: boolean;
120
+ };
121
+ }
122
+ /** National document field (CPF, CNPJ, SSN, etc.) with locale-aware validation. */
123
+ export interface DocumentFormField extends FieldNodeBase {
124
+ component: "document";
125
+ props: FieldPropsBase & {
126
+ /** Validator.js locale ("pt-BR", "en-US", etc.), "generic", or custom key. */
127
+ documentType?: string;
128
+ /** Restrict to person, company, or both (default: "any"). */
129
+ documentScope?: "person" | "company" | "any";
130
+ /** Host-defined custom masks (merged with built-in). */
131
+ documentMasks?: Record<string, FormFieldDocumentMask>;
132
+ };
133
+ }
134
+ /** Currency input with locale formatting. */
135
+ export interface CurrencyFormField extends FieldNodeBase {
136
+ component: "currency";
137
+ props: FieldPropsBase & {
138
+ /** ISO 4217 currency code (e.g. "BRL", "USD"). */
139
+ currency?: string;
140
+ /** Override locale for formatting (e.g. "pt-BR"). */
141
+ currencyLocale?: string;
142
+ };
143
+ }
144
+ /** Auto-generated slug from another field. */
145
+ export interface SlugFormField extends FieldNodeBase {
146
+ component: "slug";
147
+ props: FieldPropsBase & {
148
+ /** Source field key for auto-generation. */
149
+ sourceField?: string;
150
+ /** URL prefix display (e.g. "site.com/"). */
151
+ prefix?: string;
152
+ };
153
+ }
154
+ /** Tag input with optional max limit. */
155
+ export interface TagsFormField extends FieldNodeBase {
156
+ component: "tags";
157
+ props: FieldPropsBase & {
158
+ /** Maximum number of tags allowed. */
159
+ maxTags?: number;
160
+ };
161
+ }
162
+ /** Star rating input. */
163
+ export interface RatingFormField extends FieldNodeBase {
164
+ component: "rating";
165
+ props: FieldPropsBase & {
166
+ /** Maximum rating value (default: 5). */
167
+ maxRating?: number;
168
+ };
169
+ }
170
+ /** Date range selector with filter operators and presets. */
171
+ export interface DateRangeFormField extends FieldNodeBase {
172
+ component: "date_range";
173
+ props: FieldPropsBase & {
174
+ /** Filter operator preset ("is" | "before" | "after" | "between"). */
175
+ operator?: string;
176
+ };
177
+ }
178
+ /** Hidden field — not rendered, carries data. */
179
+ export interface HiddenFormField extends FieldNodeBase {
180
+ component: "hidden";
181
+ props: FieldPropsBase;
182
+ }
183
+ /** Static display-only field. */
184
+ export interface StaticFormField extends FieldNodeBase {
185
+ component: "static";
186
+ props: FieldPropsBase;
187
+ }
188
+ /** Visual header separator (non-interactive). */
189
+ export interface HeaderFormField extends FieldNodeBase {
190
+ component: "header";
191
+ props: {
192
+ label: string;
193
+ };
194
+ }
195
+ /**
196
+ * Discriminated union of all form field types.
197
+ * Narrow by `component` to access type-specific props.
198
+ */
199
+ export type FormFieldNode = SimpleFormField | TextareaFormField | NumericFormField | SelectFormField | MultiSelectFormField | BooleanFormField | DateFormField | DurationFormField | FileFormField | EntityPickerFormField | PhoneFormField | DocumentFormField | CurrencyFormField | SlugFormField | TagsFormField | RatingFormField | DateRangeFormField | HiddenFormField | StaticFormField | HeaderFormField;
200
+ export interface FormSectionNode {
201
+ kind: "section";
202
+ id: string;
203
+ label: string;
204
+ defaultCollapsed?: boolean;
205
+ children: FormSchemaNode[];
206
+ }
207
+ export interface FormGroupNode {
208
+ kind: "group";
209
+ id: string;
210
+ columns?: 1 | 2;
211
+ children: FormSchemaNode[];
212
+ }
213
+ export interface FormHeaderNode {
214
+ kind: "header";
215
+ label: string;
216
+ }
217
+ export type FormSchemaNode = FormFieldNode | FormSectionNode | FormGroupNode | FormHeaderNode;
218
+ export interface FormPanelBlockData {
219
+ action: string;
220
+ method: "post" | "put" | "patch";
221
+ schema: FormSchemaNode[];
222
+ values: Record<string, unknown>;
223
+ errors: Record<string, string>;
224
+ meta: {
225
+ submitLabel?: string;
226
+ cancelLabel?: string;
227
+ cancelHref?: string;
228
+ multiStep?: boolean;
229
+ /** Validation mode: 'client' (Zod only), 'server' (Inertia only), 'both' (default) */
230
+ validation?: "client" | "server" | "both";
231
+ };
232
+ }
233
+ export {};
234
+ //# sourceMappingURL=form.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"form.d.ts","sourceRoot":"","sources":["../../../src/contracts/block-data/form.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,15 @@
1
+ /**
2
+ * Block data contracts — typed data shapes for all 17 ADR-807 block types.
3
+ *
4
+ * Imported by block components for BlockProps<TData> type parameter.
5
+ * These mirror the JSON shapes sent from PHP controllers via Inertia.
6
+ *
7
+ * @see ADR-807 ref/page-contract-v1 §5
8
+ * @see NV-05-ux-blocks.md
9
+ */
10
+ export * from "./actions";
11
+ export * from "./shared";
12
+ export * from "./form";
13
+ export * from "./data-display";
14
+ export * from "./interactive";
15
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/contracts/block-data/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,cAAc,WAAW,CAAC;AAC1B,cAAc,UAAU,CAAC;AACzB,cAAc,QAAQ,CAAC;AACvB,cAAc,gBAAgB,CAAC;AAC/B,cAAc,eAAe,CAAC"}
@@ -0,0 +1,140 @@
1
+ /**
2
+ * Interactive block types — blocks with user interaction beyond read-only display.
3
+ *
4
+ * Includes ActionGrid, TabbedPanel, SentenceBuilder, ConditionTree,
5
+ * FlowEditor, and FormBuilder.
6
+ */
7
+ import type { ActionBase, ActionConfirmation, ActionMethod } from "./actions";
8
+ export interface ActionGridItem extends ActionBase {
9
+ title: string;
10
+ description: string;
11
+ href: string;
12
+ method?: ActionMethod;
13
+ confirmation?: ActionConfirmation;
14
+ }
15
+ export interface ActionGridBlockData {
16
+ items: ActionGridItem[];
17
+ flash?: {
18
+ success: boolean;
19
+ message: string;
20
+ } | null;
21
+ }
22
+ export interface TabbedPanelTab {
23
+ key: string;
24
+ label: string;
25
+ icon?: string;
26
+ blocks: import("../../contracts/page-contract").BlockDescriptor[];
27
+ }
28
+ export interface TabbedPanelBlockData {
29
+ tabs: TabbedPanelTab[];
30
+ defaultTab?: string;
31
+ }
32
+ export interface SentenceBuilderRule {
33
+ id: string;
34
+ field: string;
35
+ operator: string;
36
+ value: string;
37
+ }
38
+ export interface SentenceBuilderGroup {
39
+ id: string;
40
+ connector: "and" | "or";
41
+ rules: SentenceBuilderRule[];
42
+ }
43
+ export interface SentenceBuilderBlockData {
44
+ groups: SentenceBuilderGroup[];
45
+ availableFields: Array<{
46
+ key: string;
47
+ label: string;
48
+ operators: string[];
49
+ }>;
50
+ audienceEstimate?: {
51
+ matched: number;
52
+ total: number;
53
+ };
54
+ }
55
+ export interface ConditionRule {
56
+ id: string;
57
+ field: string;
58
+ operator: string;
59
+ value: string;
60
+ }
61
+ export interface ConditionGroup {
62
+ id: string;
63
+ logic: "and" | "or";
64
+ rules: ConditionRule[];
65
+ groups: ConditionGroup[];
66
+ }
67
+ export interface ConditionTreeBlockData {
68
+ root: ConditionGroup;
69
+ availableFields: Array<{
70
+ key: string;
71
+ label: string;
72
+ type: string;
73
+ }>;
74
+ availableOperators: Array<{
75
+ key: string;
76
+ label: string;
77
+ }>;
78
+ }
79
+ export interface FlowEditorNode {
80
+ id: string;
81
+ type: "trigger" | "condition" | "action";
82
+ label: string;
83
+ description?: string;
84
+ position: {
85
+ x: number;
86
+ y: number;
87
+ };
88
+ }
89
+ export interface FlowEditorEdge {
90
+ id: string;
91
+ source: string;
92
+ target: string;
93
+ label?: string;
94
+ }
95
+ export interface FlowEditorBlockData {
96
+ nodes: FlowEditorNode[];
97
+ edges: FlowEditorEdge[];
98
+ }
99
+ export interface FormBuilderField {
100
+ id: string;
101
+ type: "text" | "textarea" | "select" | "checkbox" | "date" | "file" | "rating" | "email" | "number";
102
+ label: string;
103
+ required?: boolean;
104
+ placeholder?: string;
105
+ options?: string[];
106
+ }
107
+ export interface FormBuilderBlockData {
108
+ fields: FormBuilderField[];
109
+ availableTypes: Array<{
110
+ type: string;
111
+ label: string;
112
+ icon: string;
113
+ }>;
114
+ }
115
+ /** A single card in a kanban column. */
116
+ export interface KanbanCard {
117
+ id: string;
118
+ title: string;
119
+ description?: string;
120
+ /** Status label shown as badge. */
121
+ status?: string;
122
+ /** Intent for status badge (success, warning, destructive, info). */
123
+ statusIntent?: string;
124
+ /** Assignee name (shown as avatar initials). */
125
+ assignee?: string;
126
+ /** Due date (ISO 8601). */
127
+ dueDate?: string;
128
+ }
129
+ /** A column in the kanban board. */
130
+ export interface KanbanColumn {
131
+ id: string;
132
+ title: string;
133
+ cards: KanbanCard[];
134
+ }
135
+ export interface KanbanBoardBlockData {
136
+ columns: KanbanColumn[];
137
+ /** Inertia endpoint for card move operations (POST). */
138
+ moveEndpoint?: string;
139
+ }
140
+ //# sourceMappingURL=interactive.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"interactive.d.ts","sourceRoot":"","sources":["../../../src/contracts/block-data/interactive.ts"],"names":[],"mappings":"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"}