@cratis/components 2.9.0 → 3.0.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 (573) hide show
  1. package/README.md +128 -67
  2. package/dist/esm/CommandDialog/CommandDialog.d.ts.map +1 -1
  3. package/dist/esm/CommandDialog/CommandDialog.js +4 -4
  4. package/dist/esm/CommandDialog/CommandDialog.js.map +1 -1
  5. package/dist/esm/CommandDialog/CommandStepper.d.ts +18 -4
  6. package/dist/esm/CommandDialog/CommandStepper.d.ts.map +1 -1
  7. package/dist/esm/CommandDialog/CommandStepper.js +51 -60
  8. package/dist/esm/CommandDialog/CommandStepper.js.map +1 -1
  9. package/dist/esm/CommandDialog/StepperCommandDialog.d.ts +6 -7
  10. package/dist/esm/CommandDialog/StepperCommandDialog.d.ts.map +1 -1
  11. package/dist/esm/CommandDialog/StepperCommandDialog.js +18 -15
  12. package/dist/esm/CommandDialog/StepperCommandDialog.js.map +1 -1
  13. package/dist/esm/CommandDialog/StepperPanel.d.ts +10 -0
  14. package/dist/esm/CommandDialog/StepperPanel.d.ts.map +1 -0
  15. package/dist/esm/CommandDialog/StepperPanel.js +30 -0
  16. package/dist/esm/CommandDialog/StepperPanel.js.map +1 -0
  17. package/dist/esm/CommandDialog/index.d.ts +1 -0
  18. package/dist/esm/CommandDialog/index.d.ts.map +1 -1
  19. package/dist/esm/CommandDialog/index.js +1 -0
  20. package/dist/esm/CommandDialog/index.js.map +1 -1
  21. package/dist/esm/CommandForm/fields/CalendarField.d.ts +3 -3
  22. package/dist/esm/CommandForm/fields/CalendarField.d.ts.map +1 -1
  23. package/dist/esm/CommandForm/fields/CalendarField.js +2 -8
  24. package/dist/esm/CommandForm/fields/CalendarField.js.map +1 -1
  25. package/dist/esm/CommandForm/fields/CheckboxField.d.ts +3 -3
  26. package/dist/esm/CommandForm/fields/CheckboxField.d.ts.map +1 -1
  27. package/dist/esm/CommandForm/fields/CheckboxField.js +1 -1
  28. package/dist/esm/CommandForm/fields/CheckboxField.js.map +1 -1
  29. package/dist/esm/CommandForm/fields/ChipsField.d.ts +4 -3
  30. package/dist/esm/CommandForm/fields/ChipsField.d.ts.map +1 -1
  31. package/dist/esm/CommandForm/fields/ChipsField.js +3 -3
  32. package/dist/esm/CommandForm/fields/ChipsField.js.map +1 -1
  33. package/dist/esm/CommandForm/fields/ColorPickerField.d.ts +3 -3
  34. package/dist/esm/CommandForm/fields/ColorPickerField.d.ts.map +1 -1
  35. package/dist/esm/CommandForm/fields/ColorPickerField.js +16 -8
  36. package/dist/esm/CommandForm/fields/ColorPickerField.js.map +1 -1
  37. package/dist/esm/CommandForm/fields/DropdownField.d.ts +1 -1
  38. package/dist/esm/CommandForm/fields/DropdownField.d.ts.map +1 -1
  39. package/dist/esm/CommandForm/fields/DropdownField.js +1 -4
  40. package/dist/esm/CommandForm/fields/DropdownField.js.map +1 -1
  41. package/dist/esm/CommandForm/fields/InputTextField.d.ts +1 -1
  42. package/dist/esm/CommandForm/fields/InputTextField.d.ts.map +1 -1
  43. package/dist/esm/CommandForm/fields/InputTextField.js.map +1 -1
  44. package/dist/esm/CommandForm/fields/MultiSelectField.d.ts +3 -3
  45. package/dist/esm/CommandForm/fields/MultiSelectField.d.ts.map +1 -1
  46. package/dist/esm/CommandForm/fields/MultiSelectField.js +2 -8
  47. package/dist/esm/CommandForm/fields/MultiSelectField.js.map +1 -1
  48. package/dist/esm/CommandForm/fields/NumberField.d.ts +3 -3
  49. package/dist/esm/CommandForm/fields/NumberField.d.ts.map +1 -1
  50. package/dist/esm/CommandForm/fields/NumberField.js +1 -1
  51. package/dist/esm/CommandForm/fields/NumberField.js.map +1 -1
  52. package/dist/esm/CommandForm/fields/PasswordField.d.ts +13 -0
  53. package/dist/esm/CommandForm/fields/PasswordField.d.ts.map +1 -0
  54. package/dist/esm/CommandForm/fields/PasswordField.js +20 -0
  55. package/dist/esm/CommandForm/fields/PasswordField.js.map +1 -0
  56. package/dist/esm/CommandForm/fields/RadioButtonField.d.ts +3 -3
  57. package/dist/esm/CommandForm/fields/RadioButtonField.d.ts.map +1 -1
  58. package/dist/esm/CommandForm/fields/RadioButtonField.js +2 -1
  59. package/dist/esm/CommandForm/fields/RadioButtonField.js.map +1 -1
  60. package/dist/esm/CommandForm/fields/RadioGroupField.d.ts +3 -3
  61. package/dist/esm/CommandForm/fields/RadioGroupField.d.ts.map +1 -1
  62. package/dist/esm/CommandForm/fields/RadioGroupField.js +2 -1
  63. package/dist/esm/CommandForm/fields/RadioGroupField.js.map +1 -1
  64. package/dist/esm/CommandForm/fields/RatingField.d.ts +14 -0
  65. package/dist/esm/CommandForm/fields/RatingField.d.ts.map +1 -0
  66. package/dist/esm/CommandForm/fields/RatingField.js +19 -0
  67. package/dist/esm/CommandForm/fields/RatingField.js.map +1 -0
  68. package/dist/esm/CommandForm/fields/SliderField.d.ts +3 -3
  69. package/dist/esm/CommandForm/fields/SliderField.d.ts.map +1 -1
  70. package/dist/esm/CommandForm/fields/SliderField.js +1 -1
  71. package/dist/esm/CommandForm/fields/SliderField.js.map +1 -1
  72. package/dist/esm/CommandForm/fields/TextAreaField.d.ts +3 -3
  73. package/dist/esm/CommandForm/fields/TextAreaField.d.ts.map +1 -1
  74. package/dist/esm/CommandForm/fields/TextAreaField.js +2 -2
  75. package/dist/esm/CommandForm/fields/TextAreaField.js.map +1 -1
  76. package/dist/esm/CommandForm/fields/ToggleSwitchField.d.ts +13 -0
  77. package/dist/esm/CommandForm/fields/ToggleSwitchField.d.ts.map +1 -0
  78. package/dist/esm/CommandForm/fields/ToggleSwitchField.js +20 -0
  79. package/dist/esm/CommandForm/fields/ToggleSwitchField.js.map +1 -0
  80. package/dist/esm/CommandForm/fields/index.d.ts +3 -0
  81. package/dist/esm/CommandForm/fields/index.d.ts.map +1 -1
  82. package/dist/esm/CommandForm/fields/index.js +3 -0
  83. package/dist/esm/CommandForm/fields/index.js.map +1 -1
  84. package/dist/esm/CommandForm/index.js +3 -0
  85. package/dist/esm/CommandForm/index.js.map +1 -1
  86. package/dist/esm/Common/ActionMenubar.d.ts +21 -0
  87. package/dist/esm/Common/ActionMenubar.d.ts.map +1 -0
  88. package/dist/esm/Common/ActionMenubar.js +20 -0
  89. package/dist/esm/Common/ActionMenubar.js.map +1 -0
  90. package/dist/esm/Common/CratisComponentsProvider.d.ts +5 -3
  91. package/dist/esm/Common/CratisComponentsProvider.d.ts.map +1 -1
  92. package/dist/esm/Common/CratisComponentsProvider.js +27 -11
  93. package/dist/esm/Common/CratisComponentsProvider.js.map +1 -1
  94. package/dist/esm/Common/DatePickerInput.d.ts +22 -0
  95. package/dist/esm/Common/DatePickerInput.d.ts.map +1 -0
  96. package/dist/esm/Common/DatePickerInput.js +18 -0
  97. package/dist/esm/Common/DatePickerInput.js.map +1 -0
  98. package/dist/esm/Common/FormElement.d.ts +0 -1
  99. package/dist/esm/Common/FormElement.d.ts.map +1 -1
  100. package/dist/esm/Common/FormElement.js +0 -1
  101. package/dist/esm/Common/FormElement.js.map +1 -1
  102. package/dist/esm/Common/Tooltip.d.ts +2 -2
  103. package/dist/esm/Common/Tooltip.d.ts.map +1 -1
  104. package/dist/esm/Common/Tooltip.js +25 -13
  105. package/dist/esm/Common/Tooltip.js.map +1 -1
  106. package/dist/esm/Common/index.d.ts +2 -0
  107. package/dist/esm/Common/index.d.ts.map +1 -1
  108. package/dist/esm/Common/index.js +2 -0
  109. package/dist/esm/Common/index.js.map +1 -1
  110. package/dist/esm/DataPage/DataPage.d.ts +17 -10
  111. package/dist/esm/DataPage/DataPage.d.ts.map +1 -1
  112. package/dist/esm/DataPage/DataPage.js +19 -18
  113. package/dist/esm/DataPage/DataPage.js.map +1 -1
  114. package/dist/esm/DataPage/index.d.ts +1 -0
  115. package/dist/esm/DataPage/index.d.ts.map +1 -1
  116. package/dist/esm/DataPage/index.js +1 -0
  117. package/dist/esm/DataPage/index.js.map +1 -1
  118. package/dist/esm/DataTables/Column.d.ts +25 -0
  119. package/dist/esm/DataTables/Column.d.ts.map +1 -0
  120. package/dist/esm/DataTables/Column.js +24 -0
  121. package/dist/esm/DataTables/Column.js.map +1 -0
  122. package/dist/esm/DataTables/ColumnFilterMenu.d.ts +10 -0
  123. package/dist/esm/DataTables/ColumnFilterMenu.d.ts.map +1 -0
  124. package/dist/esm/DataTables/ColumnFilterMenu.js +44 -0
  125. package/dist/esm/DataTables/ColumnFilterMenu.js.map +1 -0
  126. package/dist/esm/DataTables/DataTableCore.d.ts +33 -0
  127. package/dist/esm/DataTables/DataTableCore.d.ts.map +1 -0
  128. package/dist/esm/DataTables/DataTableCore.js +59 -0
  129. package/dist/esm/DataTables/DataTableCore.js.map +1 -0
  130. package/dist/esm/DataTables/DataTableFilterMeta.d.ts +6 -0
  131. package/dist/esm/DataTables/DataTableFilterMeta.d.ts.map +1 -0
  132. package/dist/esm/DataTables/DataTableFilterMeta.js +2 -0
  133. package/dist/esm/DataTables/DataTableFilterMeta.js.map +1 -0
  134. package/dist/esm/DataTables/DataTableForObservableQuery.d.ts +9 -8
  135. package/dist/esm/DataTables/DataTableForObservableQuery.d.ts.map +1 -1
  136. package/dist/esm/DataTables/DataTableForObservableQuery.js +41 -64
  137. package/dist/esm/DataTables/DataTableForObservableQuery.js.map +1 -1
  138. package/dist/esm/DataTables/DataTableForQuery.d.ts +9 -8
  139. package/dist/esm/DataTables/DataTableForQuery.d.ts.map +1 -1
  140. package/dist/esm/DataTables/DataTableForQuery.js +17 -44
  141. package/dist/esm/DataTables/DataTableForQuery.js.map +1 -1
  142. package/dist/esm/DataTables/DataTableSelectionChangeEvent.d.ts +6 -0
  143. package/dist/esm/DataTables/DataTableSelectionChangeEvent.d.ts.map +1 -0
  144. package/dist/esm/DataTables/DataTableSelectionChangeEvent.js +2 -0
  145. package/dist/esm/DataTables/DataTableSelectionChangeEvent.js.map +1 -0
  146. package/dist/esm/DataTables/TablePaginator.d.ts +17 -0
  147. package/dist/esm/DataTables/TablePaginator.d.ts.map +1 -0
  148. package/dist/esm/DataTables/TablePaginator.js +22 -0
  149. package/dist/esm/DataTables/TablePaginator.js.map +1 -0
  150. package/dist/esm/DataTables/index.d.ts +4 -0
  151. package/dist/esm/DataTables/index.d.ts.map +1 -1
  152. package/dist/esm/DataTables/index.js +2 -0
  153. package/dist/esm/DataTables/index.js.map +1 -1
  154. package/dist/esm/DataTables/paginatorRange.d.ts +2 -0
  155. package/dist/esm/DataTables/paginatorRange.d.ts.map +1 -0
  156. package/dist/esm/DataTables/paginatorRange.js +21 -0
  157. package/dist/esm/DataTables/paginatorRange.js.map +1 -0
  158. package/dist/esm/DataTables/selectionKeys.d.ts +4 -0
  159. package/dist/esm/DataTables/selectionKeys.d.ts.map +1 -0
  160. package/dist/esm/DataTables/selectionKeys.js +34 -0
  161. package/dist/esm/DataTables/selectionKeys.js.map +1 -0
  162. package/dist/esm/Dialogs/BusyIndicatorDialog.d.ts.map +1 -1
  163. package/dist/esm/Dialogs/BusyIndicatorDialog.js +2 -2
  164. package/dist/esm/Dialogs/BusyIndicatorDialog.js.map +1 -1
  165. package/dist/esm/Dialogs/Dialog.d.ts +9 -7
  166. package/dist/esm/Dialogs/Dialog.d.ts.map +1 -1
  167. package/dist/esm/Dialogs/Dialog.js +45 -23
  168. package/dist/esm/Dialogs/Dialog.js.map +1 -1
  169. package/dist/esm/Display/Avatar.d.ts +11 -0
  170. package/dist/esm/Display/Avatar.d.ts.map +1 -0
  171. package/dist/esm/Display/Avatar.js +13 -0
  172. package/dist/esm/Display/Avatar.js.map +1 -0
  173. package/dist/esm/Display/Badge.d.ts +12 -0
  174. package/dist/esm/Display/Badge.d.ts.map +1 -0
  175. package/dist/esm/Display/Badge.js +11 -0
  176. package/dist/esm/Display/Badge.js.map +1 -0
  177. package/dist/esm/Display/Chip.d.ts +11 -0
  178. package/dist/esm/Display/Chip.d.ts.map +1 -0
  179. package/dist/esm/Display/Chip.js +11 -0
  180. package/dist/esm/Display/Chip.js.map +1 -0
  181. package/dist/esm/Display/ProgressBar.d.ts +8 -0
  182. package/dist/esm/Display/ProgressBar.d.ts.map +1 -0
  183. package/dist/esm/Display/ProgressBar.js +12 -0
  184. package/dist/esm/Display/ProgressBar.js.map +1 -0
  185. package/dist/esm/Display/Skeleton.d.ts +9 -0
  186. package/dist/esm/Display/Skeleton.d.ts.map +1 -0
  187. package/dist/esm/Display/Skeleton.js +18 -0
  188. package/dist/esm/Display/Skeleton.js.map +1 -0
  189. package/dist/esm/Display/Tag.d.ts +12 -0
  190. package/dist/esm/Display/Tag.d.ts.map +1 -0
  191. package/dist/esm/Display/Tag.js +12 -0
  192. package/dist/esm/Display/Tag.js.map +1 -0
  193. package/dist/esm/Display/index.d.ts +7 -0
  194. package/dist/esm/Display/index.d.ts.map +1 -0
  195. package/dist/esm/Display/index.js +10 -0
  196. package/dist/esm/Display/index.js.map +1 -0
  197. package/dist/esm/Dropdown/Dropdown.d.ts +33 -3
  198. package/dist/esm/Dropdown/Dropdown.d.ts.map +1 -1
  199. package/dist/esm/Dropdown/Dropdown.js +15 -18
  200. package/dist/esm/Dropdown/Dropdown.js.map +1 -1
  201. package/dist/esm/Filter/FilterPanel.d.ts +3 -2
  202. package/dist/esm/Filter/FilterPanel.d.ts.map +1 -1
  203. package/dist/esm/Filter/FilterPanel.js +4 -5
  204. package/dist/esm/Filter/FilterPanel.js.map +1 -1
  205. package/dist/esm/Notifications/Toaster.d.ts +9 -0
  206. package/dist/esm/Notifications/Toaster.d.ts.map +1 -0
  207. package/dist/esm/Notifications/Toaster.js +43 -0
  208. package/dist/esm/Notifications/Toaster.js.map +1 -0
  209. package/dist/esm/Notifications/index.d.ts +4 -0
  210. package/dist/esm/Notifications/index.d.ts.map +1 -0
  211. package/dist/{cjs/types → esm/Notifications}/index.js +3 -5
  212. package/dist/esm/Notifications/index.js.map +1 -0
  213. package/dist/esm/Notifications/toast.d.ts +3 -0
  214. package/dist/esm/Notifications/toast.d.ts.map +1 -0
  215. package/dist/esm/Notifications/toast.js +2 -0
  216. package/dist/esm/Notifications/toast.js.map +1 -0
  217. package/dist/esm/Notifications/toastCommandResult.d.ts +11 -0
  218. package/dist/esm/Notifications/toastCommandResult.d.ts.map +1 -0
  219. package/dist/esm/Notifications/toastCommandResult.js +59 -0
  220. package/dist/esm/Notifications/toastCommandResult.js.map +1 -0
  221. package/dist/esm/ObjectContentEditor/ObjectContentEditor.d.ts.map +1 -1
  222. package/dist/esm/ObjectContentEditor/ObjectContentEditor.js +11 -15
  223. package/dist/esm/ObjectContentEditor/ObjectContentEditor.js.map +1 -1
  224. package/dist/esm/ObjectNavigationalBar/ObjectNavigationalBar.d.ts +2 -2
  225. package/dist/esm/ObjectNavigationalBar/ObjectNavigationalBar.d.ts.map +1 -1
  226. package/dist/esm/ObjectNavigationalBar/ObjectNavigationalBar.js +3 -3
  227. package/dist/esm/ObjectNavigationalBar/ObjectNavigationalBar.js.map +1 -1
  228. package/dist/esm/PivotViewer/PivotViewer.d.ts +0 -1
  229. package/dist/esm/PivotViewer/PivotViewer.d.ts.map +1 -1
  230. package/dist/esm/PivotViewer/PivotViewer.js +0 -1
  231. package/dist/esm/PivotViewer/PivotViewer.js.map +1 -1
  232. package/dist/esm/PivotViewer/components/Spinner.d.ts +0 -1
  233. package/dist/esm/PivotViewer/components/Spinner.d.ts.map +1 -1
  234. package/dist/esm/PivotViewer/components/Spinner.js +2 -1
  235. package/dist/esm/PivotViewer/components/Spinner.js.map +1 -1
  236. package/dist/esm/SchemaEditor/NameCell.d.ts.map +1 -1
  237. package/dist/esm/SchemaEditor/NameCell.js +3 -2
  238. package/dist/esm/SchemaEditor/NameCell.js.map +1 -1
  239. package/dist/esm/SchemaEditor/SchemaEditor.d.ts +15 -1
  240. package/dist/esm/SchemaEditor/SchemaEditor.d.ts.map +1 -1
  241. package/dist/esm/SchemaEditor/SchemaEditor.js +45 -32
  242. package/dist/esm/SchemaEditor/SchemaEditor.js.map +1 -1
  243. package/dist/esm/SchemaEditor/TypeCell.d.ts +3 -1
  244. package/dist/esm/SchemaEditor/TypeCell.d.ts.map +1 -1
  245. package/dist/esm/SchemaEditor/TypeCell.js +7 -6
  246. package/dist/esm/SchemaEditor/TypeCell.js.map +1 -1
  247. package/dist/esm/SchemaEditor/index.js +1 -1
  248. package/dist/esm/TimeMachine/EventsView.d.ts +5 -4
  249. package/dist/esm/TimeMachine/EventsView.d.ts.map +1 -1
  250. package/dist/esm/TimeMachine/EventsView.js +3 -3
  251. package/dist/esm/TimeMachine/EventsView.js.map +1 -1
  252. package/dist/esm/TimeMachine/Properties.d.ts +0 -1
  253. package/dist/esm/TimeMachine/Properties.d.ts.map +1 -1
  254. package/dist/esm/TimeMachine/Properties.js +0 -1
  255. package/dist/esm/TimeMachine/Properties.js.map +1 -1
  256. package/dist/esm/TimeMachine/ReadModelView.d.ts +2 -0
  257. package/dist/esm/TimeMachine/ReadModelView.d.ts.map +1 -1
  258. package/dist/esm/TimeMachine/ReadModelView.js +3 -2
  259. package/dist/esm/TimeMachine/ReadModelView.js.map +1 -1
  260. package/dist/esm/TimeMachine/TimeMachine.d.ts +4 -1
  261. package/dist/esm/TimeMachine/TimeMachine.d.ts.map +1 -1
  262. package/dist/esm/TimeMachine/TimeMachine.js +5 -4
  263. package/dist/esm/TimeMachine/TimeMachine.js.map +1 -1
  264. package/dist/esm/TimeMachine/TimeMachineLabels.d.ts +12 -0
  265. package/dist/esm/TimeMachine/TimeMachineLabels.d.ts.map +1 -0
  266. package/dist/esm/TimeMachine/TimeMachineLabels.js +16 -0
  267. package/dist/esm/TimeMachine/TimeMachineLabels.js.map +1 -0
  268. package/dist/esm/TimeMachine/index.d.ts +2 -0
  269. package/dist/esm/TimeMachine/index.d.ts.map +1 -1
  270. package/dist/esm/TimeMachine/index.js +1 -0
  271. package/dist/esm/TimeMachine/index.js.map +1 -1
  272. package/dist/esm/Toolbar/Toolbar.d.ts +0 -1
  273. package/dist/esm/Toolbar/Toolbar.d.ts.map +1 -1
  274. package/dist/esm/Toolbar/Toolbar.js +0 -1
  275. package/dist/esm/Toolbar/Toolbar.js.map +1 -1
  276. package/dist/esm/index.d.ts +3 -1
  277. package/dist/esm/index.d.ts.map +1 -1
  278. package/dist/esm/index.js +22 -18
  279. package/dist/esm/index.js.map +1 -1
  280. package/dist/esm/styles.css +4686 -0
  281. package/dist/esm/theme.css +357 -0
  282. package/dist/esm/tokens.css +32 -12
  283. package/package.json +40 -26
  284. package/dist/cjs/CommandDialog/CommandDialog.js +0 -195
  285. package/dist/cjs/CommandDialog/CommandDialog.js.map +0 -1
  286. package/dist/cjs/CommandDialog/CommandStepper.css +0 -24
  287. package/dist/cjs/CommandDialog/CommandStepper.js +0 -238
  288. package/dist/cjs/CommandDialog/CommandStepper.js.map +0 -1
  289. package/dist/cjs/CommandDialog/StepperCommandDialog.js +0 -207
  290. package/dist/cjs/CommandDialog/StepperCommandDialog.js.map +0 -1
  291. package/dist/cjs/CommandDialog/applyBeforeExecute.js +0 -42
  292. package/dist/cjs/CommandDialog/applyBeforeExecute.js.map +0 -1
  293. package/dist/cjs/CommandDialog/index.js +0 -16
  294. package/dist/cjs/CommandDialog/index.js.map +0 -1
  295. package/dist/cjs/CommandDialog/stepChildren.js +0 -31
  296. package/dist/cjs/CommandDialog/stepChildren.js.map +0 -1
  297. package/dist/cjs/CommandForm/AutoCommandForm.js +0 -49
  298. package/dist/cjs/CommandForm/AutoCommandForm.js.map +0 -1
  299. package/dist/cjs/CommandForm/defaultFieldTypeProviders.js +0 -24
  300. package/dist/cjs/CommandForm/defaultFieldTypeProviders.js.map +0 -1
  301. package/dist/cjs/CommandForm/fieldTypeProviderRegistry.js +0 -36
  302. package/dist/cjs/CommandForm/fieldTypeProviderRegistry.js.map +0 -1
  303. package/dist/cjs/CommandForm/fields/CalendarField.js +0 -32
  304. package/dist/cjs/CommandForm/fields/CalendarField.js.map +0 -1
  305. package/dist/cjs/CommandForm/fields/CheckboxField.js +0 -22
  306. package/dist/cjs/CommandForm/fields/CheckboxField.js.map +0 -1
  307. package/dist/cjs/CommandForm/fields/ChipsField.js +0 -28
  308. package/dist/cjs/CommandForm/fields/ChipsField.js.map +0 -1
  309. package/dist/cjs/CommandForm/fields/ColorPickerField.js +0 -33
  310. package/dist/cjs/CommandForm/fields/ColorPickerField.js.map +0 -1
  311. package/dist/cjs/CommandForm/fields/DropdownField.js +0 -31
  312. package/dist/cjs/CommandForm/fields/DropdownField.js.map +0 -1
  313. package/dist/cjs/CommandForm/fields/InputTextField.js +0 -53
  314. package/dist/cjs/CommandForm/fields/InputTextField.js.map +0 -1
  315. package/dist/cjs/CommandForm/fields/MultiSelectField.js +0 -36
  316. package/dist/cjs/CommandForm/fields/MultiSelectField.js.map +0 -1
  317. package/dist/cjs/CommandForm/fields/NumberField.js +0 -23
  318. package/dist/cjs/CommandForm/fields/NumberField.js.map +0 -1
  319. package/dist/cjs/CommandForm/fields/RadioButtonField.js +0 -23
  320. package/dist/cjs/CommandForm/fields/RadioButtonField.js.map +0 -1
  321. package/dist/cjs/CommandForm/fields/RadioGroupField.js +0 -40
  322. package/dist/cjs/CommandForm/fields/RadioGroupField.js.map +0 -1
  323. package/dist/cjs/CommandForm/fields/SliderField.js +0 -22
  324. package/dist/cjs/CommandForm/fields/SliderField.js.map +0 -1
  325. package/dist/cjs/CommandForm/fields/TextAreaField.js +0 -24
  326. package/dist/cjs/CommandForm/fields/TextAreaField.js.map +0 -1
  327. package/dist/cjs/CommandForm/index.js +0 -37
  328. package/dist/cjs/CommandForm/index.js.map +0 -1
  329. package/dist/cjs/Common/CratisComponentsProvider.js +0 -44
  330. package/dist/cjs/Common/CratisComponentsProvider.js.map +0 -1
  331. package/dist/cjs/Common/ErrorBoundary.js +0 -58
  332. package/dist/cjs/Common/ErrorBoundary.js.map +0 -1
  333. package/dist/cjs/Common/FormElement.css +0 -26
  334. package/dist/cjs/Common/FormElement.js +0 -23
  335. package/dist/cjs/Common/FormElement.js.map +0 -1
  336. package/dist/cjs/Common/Icon.js +0 -33
  337. package/dist/cjs/Common/Icon.js.map +0 -1
  338. package/dist/cjs/Common/Page.js +0 -23
  339. package/dist/cjs/Common/Page.js.map +0 -1
  340. package/dist/cjs/Common/Tooltip.css +0 -10
  341. package/dist/cjs/Common/Tooltip.js +0 -21
  342. package/dist/cjs/Common/Tooltip.js.map +0 -1
  343. package/dist/cjs/Common/index.js +0 -23
  344. package/dist/cjs/Common/index.js.map +0 -1
  345. package/dist/cjs/Common/normalizeIconClass.js +0 -48
  346. package/dist/cjs/Common/normalizeIconClass.js.map +0 -1
  347. package/dist/cjs/DataPage/DataPage.js +0 -219
  348. package/dist/cjs/DataPage/DataPage.js.map +0 -1
  349. package/dist/cjs/DataPage/DataPageLayout.js +0 -34
  350. package/dist/cjs/DataPage/DataPageLayout.js.map +0 -1
  351. package/dist/cjs/DataPage/index.js +0 -12
  352. package/dist/cjs/DataPage/index.js.map +0 -1
  353. package/dist/cjs/DataTables/DataTableForObservableQuery.js +0 -133
  354. package/dist/cjs/DataTables/DataTableForObservableQuery.js.map +0 -1
  355. package/dist/cjs/DataTables/DataTableForQuery.js +0 -96
  356. package/dist/cjs/DataTables/DataTableForQuery.js.map +0 -1
  357. package/dist/cjs/DataTables/index.js +0 -11
  358. package/dist/cjs/DataTables/index.js.map +0 -1
  359. package/dist/cjs/Dialogs/BusyIndicatorDialog.js +0 -63
  360. package/dist/cjs/Dialogs/BusyIndicatorDialog.js.map +0 -1
  361. package/dist/cjs/Dialogs/ConfirmationDialog.js +0 -16
  362. package/dist/cjs/Dialogs/ConfirmationDialog.js.map +0 -1
  363. package/dist/cjs/Dialogs/Dialog.js +0 -203
  364. package/dist/cjs/Dialogs/Dialog.js.map +0 -1
  365. package/dist/cjs/Dialogs/DialogInitialFocus.js +0 -49
  366. package/dist/cjs/Dialogs/DialogInitialFocus.js.map +0 -1
  367. package/dist/cjs/Dialogs/index.js +0 -18
  368. package/dist/cjs/Dialogs/index.js.map +0 -1
  369. package/dist/cjs/Dropdown/Dropdown.js +0 -29
  370. package/dist/cjs/Dropdown/Dropdown.js.map +0 -1
  371. package/dist/cjs/Dropdown/index.js +0 -9
  372. package/dist/cjs/Dropdown/index.js.map +0 -1
  373. package/dist/cjs/Filter/FilterEditor.js +0 -28
  374. package/dist/cjs/Filter/FilterEditor.js.map +0 -1
  375. package/dist/cjs/Filter/FilterPanel.css +0 -459
  376. package/dist/cjs/Filter/FilterPanel.js +0 -109
  377. package/dist/cjs/Filter/FilterPanel.js.map +0 -1
  378. package/dist/cjs/Filter/RangeHistogramFilter.js +0 -121
  379. package/dist/cjs/Filter/RangeHistogramFilter.js.map +0 -1
  380. package/dist/cjs/Filter/index.js +0 -18
  381. package/dist/cjs/Filter/index.js.map +0 -1
  382. package/dist/cjs/Filter/useFilterState.js +0 -111
  383. package/dist/cjs/Filter/useFilterState.js.map +0 -1
  384. package/dist/cjs/Filter/utils.js +0 -28
  385. package/dist/cjs/Filter/utils.js.map +0 -1
  386. package/dist/cjs/ObjectContentEditor/ObjectContentEditor.js +0 -268
  387. package/dist/cjs/ObjectContentEditor/ObjectContentEditor.js.map +0 -1
  388. package/dist/cjs/ObjectContentEditor/index.js +0 -9
  389. package/dist/cjs/ObjectContentEditor/index.js.map +0 -1
  390. package/dist/cjs/ObjectContentEditor/objectHelpers.js +0 -25
  391. package/dist/cjs/ObjectContentEditor/objectHelpers.js.map +0 -1
  392. package/dist/cjs/ObjectNavigationalBar/ObjectNavigationalBar.css +0 -6
  393. package/dist/cjs/ObjectNavigationalBar/ObjectNavigationalBar.js +0 -49
  394. package/dist/cjs/ObjectNavigationalBar/ObjectNavigationalBar.js.map +0 -1
  395. package/dist/cjs/ObjectNavigationalBar/breadcrumbHelpers.js +0 -21
  396. package/dist/cjs/ObjectNavigationalBar/breadcrumbHelpers.js.map +0 -1
  397. package/dist/cjs/ObjectNavigationalBar/index.js +0 -9
  398. package/dist/cjs/ObjectNavigationalBar/index.js.map +0 -1
  399. package/dist/cjs/PivotViewer/PivotViewer.css +0 -1323
  400. package/dist/cjs/PivotViewer/PivotViewer.js +0 -307
  401. package/dist/cjs/PivotViewer/PivotViewer.js.map +0 -1
  402. package/dist/cjs/PivotViewer/components/AxisLabels.js +0 -28
  403. package/dist/cjs/PivotViewer/components/AxisLabels.js.map +0 -1
  404. package/dist/cjs/PivotViewer/components/DetailPanel.js +0 -42
  405. package/dist/cjs/PivotViewer/components/DetailPanel.js.map +0 -1
  406. package/dist/cjs/PivotViewer/components/FilterPanel.js +0 -29
  407. package/dist/cjs/PivotViewer/components/FilterPanel.js.map +0 -1
  408. package/dist/cjs/PivotViewer/components/FilterPanelContainer.js +0 -11
  409. package/dist/cjs/PivotViewer/components/FilterPanelContainer.js.map +0 -1
  410. package/dist/cjs/PivotViewer/components/PivotCanvas.js +0 -558
  411. package/dist/cjs/PivotViewer/components/PivotCanvas.js.map +0 -1
  412. package/dist/cjs/PivotViewer/components/PivotViewerMain.js +0 -98
  413. package/dist/cjs/PivotViewer/components/PivotViewerMain.js.map +0 -1
  414. package/dist/cjs/PivotViewer/components/Spinner.css +0 -77
  415. package/dist/cjs/PivotViewer/components/Spinner.js +0 -11
  416. package/dist/cjs/PivotViewer/components/Spinner.js.map +0 -1
  417. package/dist/cjs/PivotViewer/components/Toolbar.js +0 -44
  418. package/dist/cjs/PivotViewer/components/Toolbar.js.map +0 -1
  419. package/dist/cjs/PivotViewer/components/ToolbarContainer.js +0 -11
  420. package/dist/cjs/PivotViewer/components/ToolbarContainer.js.map +0 -1
  421. package/dist/cjs/PivotViewer/components/pivot/animation.js +0 -90
  422. package/dist/cjs/PivotViewer/components/pivot/animation.js.map +0 -1
  423. package/dist/cjs/PivotViewer/components/pivot/colorResolver.js +0 -66
  424. package/dist/cjs/PivotViewer/components/pivot/colorResolver.js.map +0 -1
  425. package/dist/cjs/PivotViewer/components/pivot/constants.js +0 -22
  426. package/dist/cjs/PivotViewer/components/pivot/constants.js.map +0 -1
  427. package/dist/cjs/PivotViewer/components/pivot/groups.js +0 -166
  428. package/dist/cjs/PivotViewer/components/pivot/groups.js.map +0 -1
  429. package/dist/cjs/PivotViewer/components/pivot/sprites.js +0 -279
  430. package/dist/cjs/PivotViewer/components/pivot/sprites.js.map +0 -1
  431. package/dist/cjs/PivotViewer/components/pivot/visibility.js +0 -359
  432. package/dist/cjs/PivotViewer/components/pivot/visibility.js.map +0 -1
  433. package/dist/cjs/PivotViewer/constants.js +0 -16
  434. package/dist/cjs/PivotViewer/constants.js.map +0 -1
  435. package/dist/cjs/PivotViewer/engine/layout.js +0 -123
  436. package/dist/cjs/PivotViewer/engine/layout.js.map +0 -1
  437. package/dist/cjs/PivotViewer/engine/store.js +0 -365
  438. package/dist/cjs/PivotViewer/engine/store.js.map +0 -1
  439. package/dist/cjs/PivotViewer/hooks/useAnimationModeTracking.js +0 -45
  440. package/dist/cjs/PivotViewer/hooks/useAnimationModeTracking.js.map +0 -1
  441. package/dist/cjs/PivotViewer/hooks/useCardSelection.js +0 -74
  442. package/dist/cjs/PivotViewer/hooks/useCardSelection.js.map +0 -1
  443. package/dist/cjs/PivotViewer/hooks/useContainerDimensions.js +0 -41
  444. package/dist/cjs/PivotViewer/hooks/useContainerDimensions.js.map +0 -1
  445. package/dist/cjs/PivotViewer/hooks/useCurrentFilters.js +0 -58
  446. package/dist/cjs/PivotViewer/hooks/useCurrentFilters.js.map +0 -1
  447. package/dist/cjs/PivotViewer/hooks/useDetailPanelClose.js +0 -73
  448. package/dist/cjs/PivotViewer/hooks/useDetailPanelClose.js.map +0 -1
  449. package/dist/cjs/PivotViewer/hooks/useDimensionState.js +0 -45
  450. package/dist/cjs/PivotViewer/hooks/useDimensionState.js.map +0 -1
  451. package/dist/cjs/PivotViewer/hooks/useFieldExtractors.js +0 -52
  452. package/dist/cjs/PivotViewer/hooks/useFieldExtractors.js.map +0 -1
  453. package/dist/cjs/PivotViewer/hooks/useFilterOptions.js +0 -26
  454. package/dist/cjs/PivotViewer/hooks/useFilterOptions.js.map +0 -1
  455. package/dist/cjs/PivotViewer/hooks/useFilterState.js +0 -101
  456. package/dist/cjs/PivotViewer/hooks/useFilterState.js.map +0 -1
  457. package/dist/cjs/PivotViewer/hooks/usePanning.js +0 -138
  458. package/dist/cjs/PivotViewer/hooks/usePanning.js.map +0 -1
  459. package/dist/cjs/PivotViewer/hooks/usePivotEngine.js +0 -229
  460. package/dist/cjs/PivotViewer/hooks/usePivotEngine.js.map +0 -1
  461. package/dist/cjs/PivotViewer/hooks/useScrollSync.js +0 -27
  462. package/dist/cjs/PivotViewer/hooks/useScrollSync.js.map +0 -1
  463. package/dist/cjs/PivotViewer/hooks/useViewModeScrollHandling.js +0 -52
  464. package/dist/cjs/PivotViewer/hooks/useViewModeScrollHandling.js.map +0 -1
  465. package/dist/cjs/PivotViewer/hooks/useWheelZoom.js +0 -106
  466. package/dist/cjs/PivotViewer/hooks/useWheelZoom.js.map +0 -1
  467. package/dist/cjs/PivotViewer/hooks/useZoomState.js +0 -37
  468. package/dist/cjs/PivotViewer/hooks/useZoomState.js.map +0 -1
  469. package/dist/cjs/PivotViewer/index.js +0 -13
  470. package/dist/cjs/PivotViewer/index.js.map +0 -1
  471. package/dist/cjs/PivotViewer/types.js +0 -33
  472. package/dist/cjs/PivotViewer/types.js.map +0 -1
  473. package/dist/cjs/PivotViewer/utils/animations.js +0 -169
  474. package/dist/cjs/PivotViewer/utils/animations.js.map +0 -1
  475. package/dist/cjs/PivotViewer/utils/cardPosition.js +0 -82
  476. package/dist/cjs/PivotViewer/utils/cardPosition.js.map +0 -1
  477. package/dist/cjs/PivotViewer/utils/constants.js +0 -19
  478. package/dist/cjs/PivotViewer/utils/constants.js.map +0 -1
  479. package/dist/cjs/PivotViewer/utils/idResolution.js +0 -50
  480. package/dist/cjs/PivotViewer/utils/idResolution.js.map +0 -1
  481. package/dist/cjs/PivotViewer/utils/selection.js +0 -188
  482. package/dist/cjs/PivotViewer/utils/selection.js.map +0 -1
  483. package/dist/cjs/PivotViewer/utils/utils.js +0 -153
  484. package/dist/cjs/PivotViewer/utils/utils.js.map +0 -1
  485. package/dist/cjs/SchemaEditor/NameCell.js +0 -38
  486. package/dist/cjs/SchemaEditor/NameCell.js.map +0 -1
  487. package/dist/cjs/SchemaEditor/SchemaEditor.js +0 -333
  488. package/dist/cjs/SchemaEditor/SchemaEditor.js.map +0 -1
  489. package/dist/cjs/SchemaEditor/SchemaEditor.module.css +0 -15
  490. package/dist/cjs/SchemaEditor/TypeCell.js +0 -102
  491. package/dist/cjs/SchemaEditor/TypeCell.js.map +0 -1
  492. package/dist/cjs/SchemaEditor/index.js +0 -11
  493. package/dist/cjs/SchemaEditor/index.js.map +0 -1
  494. package/dist/cjs/SchemaEditor/schemaHelpers.js +0 -41
  495. package/dist/cjs/SchemaEditor/schemaHelpers.js.map +0 -1
  496. package/dist/cjs/TimeMachine/EventsView.css +0 -213
  497. package/dist/cjs/TimeMachine/EventsView.js +0 -70
  498. package/dist/cjs/TimeMachine/EventsView.js.map +0 -1
  499. package/dist/cjs/TimeMachine/Properties.css +0 -57
  500. package/dist/cjs/TimeMachine/Properties.js +0 -34
  501. package/dist/cjs/TimeMachine/Properties.js.map +0 -1
  502. package/dist/cjs/TimeMachine/ReadModelView.js +0 -51
  503. package/dist/cjs/TimeMachine/ReadModelView.js.map +0 -1
  504. package/dist/cjs/TimeMachine/TimeMachine.css +0 -587
  505. package/dist/cjs/TimeMachine/TimeMachine.js +0 -110
  506. package/dist/cjs/TimeMachine/TimeMachine.js.map +0 -1
  507. package/dist/cjs/TimeMachine/index.js +0 -15
  508. package/dist/cjs/TimeMachine/index.js.map +0 -1
  509. package/dist/cjs/TimeMachine/propertiesHelpers.js +0 -16
  510. package/dist/cjs/TimeMachine/propertiesHelpers.js.map +0 -1
  511. package/dist/cjs/Toolbar/Toolbar.css +0 -357
  512. package/dist/cjs/Toolbar/Toolbar.js +0 -15
  513. package/dist/cjs/Toolbar/Toolbar.js.map +0 -1
  514. package/dist/cjs/Toolbar/ToolbarButton.js +0 -42
  515. package/dist/cjs/Toolbar/ToolbarButton.js.map +0 -1
  516. package/dist/cjs/Toolbar/ToolbarContext.js +0 -14
  517. package/dist/cjs/Toolbar/ToolbarContext.js.map +0 -1
  518. package/dist/cjs/Toolbar/ToolbarDragContext.js +0 -24
  519. package/dist/cjs/Toolbar/ToolbarDragContext.js.map +0 -1
  520. package/dist/cjs/Toolbar/ToolbarFanOutItem.js +0 -75
  521. package/dist/cjs/Toolbar/ToolbarFanOutItem.js.map +0 -1
  522. package/dist/cjs/Toolbar/ToolbarFolder.js +0 -55
  523. package/dist/cjs/Toolbar/ToolbarFolder.js.map +0 -1
  524. package/dist/cjs/Toolbar/ToolbarFolderContext.js +0 -20
  525. package/dist/cjs/Toolbar/ToolbarFolderContext.js.map +0 -1
  526. package/dist/cjs/Toolbar/ToolbarGroup.js +0 -107
  527. package/dist/cjs/Toolbar/ToolbarGroup.js.map +0 -1
  528. package/dist/cjs/Toolbar/ToolbarLayout.js +0 -119
  529. package/dist/cjs/Toolbar/ToolbarLayout.js.map +0 -1
  530. package/dist/cjs/Toolbar/ToolbarSection.js +0 -127
  531. package/dist/cjs/Toolbar/ToolbarSection.js.map +0 -1
  532. package/dist/cjs/Toolbar/ToolbarSeparator.js +0 -14
  533. package/dist/cjs/Toolbar/ToolbarSeparator.js.map +0 -1
  534. package/dist/cjs/Toolbar/ToolbarSlot.js +0 -125
  535. package/dist/cjs/Toolbar/ToolbarSlot.js.map +0 -1
  536. package/dist/cjs/Toolbar/index.js +0 -29
  537. package/dist/cjs/Toolbar/index.js.map +0 -1
  538. package/dist/cjs/index.js +0 -41
  539. package/dist/cjs/index.js.map +0 -1
  540. package/dist/cjs/package.json +0 -3
  541. package/dist/cjs/tailwind-utilities.css +0 -1159
  542. package/dist/cjs/tokens.css +0 -83
  543. package/dist/cjs/types/TypeFormat.js +0 -22
  544. package/dist/cjs/types/TypeFormat.js.map +0 -1
  545. package/dist/cjs/types/index.js.map +0 -1
  546. package/dist/cjs/useOverlayZIndex.js +0 -65
  547. package/dist/cjs/useOverlayZIndex.js.map +0 -1
  548. package/dist/esm/CommandDialog/CommandStepper.css +0 -24
  549. package/dist/esm/Common/FormElement.css +0 -26
  550. package/dist/esm/Common/Tooltip.css +0 -10
  551. package/dist/esm/Filter/FilterPanel.css +0 -459
  552. package/dist/esm/ObjectNavigationalBar/ObjectNavigationalBar.css +0 -6
  553. package/dist/esm/PivotViewer/PivotViewer.css +0 -1323
  554. package/dist/esm/PivotViewer/components/Spinner.css +0 -77
  555. package/dist/esm/SchemaEditor/SchemaEditor.module.css +0 -15
  556. package/dist/esm/TimeMachine/EventsView.css +0 -213
  557. package/dist/esm/TimeMachine/Properties.css +0 -57
  558. package/dist/esm/TimeMachine/TimeMachine.css +0 -587
  559. package/dist/esm/Toolbar/Toolbar.css +0 -357
  560. package/dist/esm/tailwind-utilities.css +0 -1159
  561. package/dist/esm/tsconfig.tsbuildinfo +0 -1
  562. package/dist/esm/useOverlayZIndex.d.ts +0 -3
  563. package/dist/esm/useOverlayZIndex.d.ts.map +0 -1
  564. package/dist/esm/useOverlayZIndex.js +0 -62
  565. package/dist/esm/useOverlayZIndex.js.map +0 -1
  566. package/dist/esm/vite.config.d.ts +0 -3
  567. package/dist/esm/vite.config.d.ts.map +0 -1
  568. package/dist/esm/vite.config.js +0 -77
  569. package/dist/esm/vite.config.js.map +0 -1
  570. package/dist/esm/vitest.setup.d.ts +0 -2
  571. package/dist/esm/vitest.setup.d.ts.map +0 -1
  572. package/dist/esm/vitest.setup.js +0 -6
  573. package/dist/esm/vitest.setup.js.map +0 -1
package/README.md CHANGED
@@ -7,8 +7,8 @@ A collection of React components for building modern applications with Cratis.
7
7
  ### Minimum Versions
8
8
 
9
9
  - TypeScript: 4.7+
10
- - React: 18.0+ or 19.0+
11
- - Node.js: 16+ (for development)
10
+ - React: 19.0+
11
+ - Node.js: 18+ (for development)
12
12
 
13
13
  ### TypeScript Configuration
14
14
 
@@ -16,32 +16,55 @@ This package is compatible with all modern TypeScript `moduleResolution` strateg
16
16
 
17
17
  - ✅ `"bundler"` (recommended for Vite, esbuild, webpack 5+)
18
18
  - ✅ `"node16"` / `"nodenext"` (for Node.js projects)
19
- - ✅ `"node"` (legacy, but supported)
20
19
 
21
- The package provides dual CommonJS and ES Module builds with proper conditional exports for optimal module resolution and tree-shaking.
20
+ The package is **ESM-only** (`"type": "module"`) PrimeReact 11 dropped the
21
+ CommonJS build. It ships subpath `exports` with per-entry `types` for optimal
22
+ module resolution and tree-shaking. Consume it from an ESM or bundler context;
23
+ there is no `require()` entry.
22
24
 
23
25
  ## Installation
24
26
 
25
27
  ```bash
26
- npm install @cratis/components primereact primeicons
28
+ npm install @cratis/components primereact @primereact/core @primereact/headless primeicons
27
29
  # or
28
- yarn add @cratis/components primereact primeicons
30
+ yarn add @cratis/components primereact @primereact/core @primereact/headless primeicons
29
31
  ```
30
32
 
31
- `primereact` and `primeicons` are peer dependencies installing them in your
32
- app ensures a single copy is shared with the wrappers in this package. The
33
- `@cratis/arc*` packages and `react`/`react-dom` are also peer dependencies;
34
- you typically already have them.
33
+ **PrimeReact is a peer dependency** as of 3.0.0. You install it; the library uses
34
+ your copy. This is deliberate: when `primereact` was a regular dependency, an app
35
+ that also depended on it could end up with **two copies** — and two copies mean two
36
+ `PrimeReactProvider` React contexts, so components rendered from the library read a
37
+ different config, theme and z-index registry than components you render yourself.
38
+ Nothing errors; overlays just stack wrongly and `pt` / `unstyled` silently fail to
39
+ apply. If your app carries a `resolutions` / `overrides` pin to collapse PrimeReact
40
+ into one copy, you can now delete it.
41
+
42
+ `primereact` pins `@primereact/core` and `@primereact/headless` to its own exact
43
+ version, so one `primereact@11.x` install gives you matching copies of all three;
44
+ declaring them is what makes a strict installer (pnpm, Yarn PnP) resolve them for the
45
+ library too. `@primereact/types` is an **optional** peer — needed only if your own
46
+ code imports the prop types the wrappers re-export.
47
+
48
+ The other **peer dependencies** you provide are `react` / `react-dom` (**19+**), the
49
+ `@cratis/arc*` packages (`>=20.3.1 <22` — Arc 20 and 21 both work), `reflect-metadata`
50
+ and `tsyringe`; you typically already have these in a Cratis app. `pixi.js`,
51
+ `framer-motion`, `allotment` and `react-icons` remain regular dependencies and are
52
+ installed for you. The styled `@primeuix/themes` presets are optional and only needed
53
+ if you opt into a licensed preset (see [Styling](#styling)).
54
+
55
+ ### Stylesheets
56
+
57
+ Component CSS is no longer imported by the JavaScript — import it once in your app
58
+ entry point, in this order:
35
59
 
36
- The following are **optional** peer dependencies, only required if you use the
37
- component that depends on them:
38
-
39
- | Component | Optional peer |
40
- |---|---|
41
- | `PivotViewer` | `pixi.js` (canvas) and `framer-motion` (animated panels) |
42
- | `DataPage` resizable layout | `allotment` |
60
+ ```ts
61
+ import '@cratis/components/tokens'; // the --cratis-* token layer
62
+ import '@cratis/components/styles'; // every component stylesheet, in one file
63
+ import '@cratis/components/theme'; // optional the license-free baseline look
64
+ ```
43
65
 
44
- Install them only when you reach for the corresponding component.
66
+ `./styles` also vendors `allotment/dist/style.css`, which `DataPage` needs for its
67
+ split view, so you do not have to import that yourself.
45
68
 
46
69
  ## Usage
47
70
 
@@ -72,7 +95,9 @@ Components:
72
95
  - `@cratis/components/DataPage`
73
96
  - `@cratis/components/DataTables`
74
97
  - `@cratis/components/Dialogs`
98
+ - `@cratis/components/Display` — `Tag`, `Badge`, `Chip`, `Skeleton`, `Avatar`, `ProgressBar`
75
99
  - `@cratis/components/Dropdown`
100
+ - `@cratis/components/Notifications` — `Toaster`, `toast`, `toastCommandResult`
76
101
  - `@cratis/components/ObjectContentEditor`
77
102
  - `@cratis/components/ObjectNavigationalBar`
78
103
  - `@cratis/components/PivotViewer`
@@ -83,8 +108,9 @@ Components:
83
108
 
84
109
  Stylesheets:
85
110
 
86
- - `@cratis/components/styles` — Tailwind utilities + Cratis CSS variable tokens (single stylesheet, recommended)
87
- - `@cratis/components/tokens` — only the `--cratis-*` CSS variable tokens (for consumers using their own utility CSS solution)
111
+ - `@cratis/components/theme` — the **Cratis baseline theme** (light + dark, no PrimeUI license); import it and add `class="cratis-theme"` to skin every component from the token layer
112
+ - `@cratis/components/styles` — **required**: every component stylesheet, the Tailwind utilities used inside the package, and the `allotment` rules `DataPage` needs, in one file
113
+ - `@cratis/components/tokens` — **required**: the `--cratis-*` CSS variable tokens every component reads from
88
114
 
89
115
  ## Styling
90
116
 
@@ -93,41 +119,43 @@ Styling is designed to stay out of the way: choose the setup that matches how
93
119
  much control you want, and the other layers stay invisible.
94
120
 
95
121
  > **Tip — see each setup live:** every Storybook story includes a **Styling**
96
- > toolbar (paintbrush icon) that flips between five modes that demonstrate
97
- > the three setups below: *Lara Dark Blue*, *Lara Light Blue*, *Themed with
98
- > custom palette*, *Unstyled (bare structure)*, and *Unstyled + Tailwind pt*.
99
- > Open any story (`yarn dev`) and switch modes to see the same component under
100
- > each setup.
122
+ > toolbar (paintbrush icon) that flips between the modes demonstrating the
123
+ > setups below: *Aura Dark* and *Aura Light* (a licensed `@primeuix/themes`
124
+ > preset), *Cratis baseline theme* (light and dark, no license), *Unstyled
125
+ > (bare structure)*, and *Unstyled + Tailwind pt*. Open any story (`yarn dev`)
126
+ > and switch modes to see the same component under each setup.
101
127
 
102
128
  ### TL;DR — choose a styling setup
103
129
 
104
- | Setup | When | Effort | What you write |
105
- |---|---|---|---|
106
- | **Use a PrimeReact theme** | You want components to look good immediately and tweak from there. | Lowest | Theme CSS import + provider |
107
- | **Use a custom palette on top of a PrimeReact theme** | You want PrimeReact's structure but your own colors. | Low | A PrimeReact theme + CSS variable overrides |
108
- | **Use fully unstyled mode** | You're integrating into a tightly controlled design system. | Highest | `unstyled: true` + a `pt` preset in CSS or Tailwind |
130
+ | Setup | When | Effort | License | What you write |
131
+ |---|---|---|---|---|
132
+ | **Cratis baseline theme** | You want a polished default look with no license. | Lowest | None | `unstyled` + `import '@cratis/components/theme'` + `class="cratis-theme"` |
133
+ | **A styled `@primeuix/themes` preset** | You want a prebuilt design system to tweak from. | Low | PrimeUI key | `value={{ theme: { preset } }}` on the provider |
134
+ | **A custom palette over a preset** | You want the preset's structure but your own colors. | Low | PrimeUI key | A preset + CSS variable overrides |
135
+ | **Fully unstyled** | You're integrating into a tightly controlled design system. | Highest | None | `unstyled: true` + a `pt` preset in CSS or Tailwind |
109
136
 
110
- > **Why the first two options still load a PrimeReact theme**
137
+ > **Why you need a theme, a baseline stylesheet, or a `pt` preset**
111
138
  >
112
- > In PrimeReact 10, every widget's *structural* CSS (padding, borders, dialog
113
- > frame, focus rings, button shapes) ships **inside the theme file**. There is
114
- > no separate "primitives" stylesheet. So a consumer who doesn't load any
115
- > PrimeReact theme also has no structural CSS components render as their
116
- > raw HTML primitives.
139
+ > PrimeReact 11 is **unstyled-first**: the primitives render structural markup
140
+ > with no built-in visuals. A look comes from one of three sources — a
141
+ > `@primeuix/themes` preset (token-based, license-gated), the Cratis baseline
142
+ > theme (`@cratis/components/theme`, no license), or your own `pt`/CSS. Load
143
+ > none of them and the components render as their raw HTML primitives.
117
144
  >
118
- > The `--cratis-*` token layer is therefore an **additive Cratis-scoped tint**
119
- > for surfaces *our* wrappers own (validation error text, the FormElement
120
- > addon, breadcrumb borders, etc.). It is not, by itself, enough to skin
121
- > PrimeReact widgets. Override PrimeReact's variables when you want the whole
122
- > UI in your palette. Use `unstyled: true` and a `pt` preset when you want to
123
- > replace PrimeReact's visuals entirely.
145
+ > The `--cratis-*` token layer is an **additive Cratis-scoped tint** for
146
+ > surfaces *our* wrappers own (validation error text, the FormElement addon,
147
+ > breadcrumb borders, etc.). It is not, by itself, enough to skin the
148
+ > PrimeReact widgets pair it with the baseline theme, a preset, or a `pt`
149
+ > preset. Override the PrimeReact variables (or a preset's `--p-*` tokens) when
150
+ > you want the whole UI in your palette.
124
151
 
125
- All three setups use the same one-line setup. You can change direction later
126
- because the same provider, tokens, and `pt` hooks stay available.
152
+ All setups share the same one-line provider setup. You can change direction
153
+ later because the same provider, tokens, and `pt` hooks stay available.
127
154
 
128
155
  ### One-line setup (every styling option)
129
156
 
130
157
  ```tsx
158
+ import '@cratis/components/tokens';
131
159
  import '@cratis/components/styles';
132
160
  import { CratisComponentsProvider } from '@cratis/components';
133
161
 
@@ -138,40 +166,75 @@ export const App = () => (
138
166
  );
139
167
  ```
140
168
 
141
- - `@cratis/components/styles` ships the Tailwind utility classes used inside
142
- the package plus the `--cratis-*` CSS variable token layer that every
143
- internal component reads from. (Use `@cratis/components/tokens` instead if
144
- you're bringing your own Tailwind.)
145
- - `CratisComponentsProvider` is a thin wrapper over PrimeReact's
146
- `PrimeReactProvider` so Cratis has one place to layer in defaults. Drop in
147
- raw `PrimeReactProvider` if you'd rather.
148
-
149
- The three setups below differ only in **what else** you load on top of this
150
- setup.
169
+ - `@cratis/components/tokens` is the `--cratis-*` CSS variable layer every
170
+ internal component reads from. It is the seam that lets the library span
171
+ PrimeReact major versions, so it is always needed.
172
+ - `@cratis/components/styles` is every component stylesheet in one file, plus
173
+ the Tailwind utility classes used inside the package and the third-party
174
+ `allotment` rules `DataPage` needs. Components no longer import their own
175
+ CSS that is what made the published package unloadable in Node
176
+ ([#118](https://github.com/Cratis/Components/issues/118)) — so this import is
177
+ required, not optional.
178
+ - `CratisComponentsProvider` is a thin wrapper over `@primereact/core`'s
179
+ `PrimeReactProvider` so Cratis has one place to layer in defaults (including
180
+ the optional `value={{ theme: { preset } }}` styled layer). Drop in the raw
181
+ `PrimeReactProvider` from `@primereact/core` if you'd rather.
182
+
183
+ The setups below differ only in **what else** you load on top of this
184
+ provider setup.
151
185
 
152
186
  ---
153
187
 
154
- ### Use a PrimeReact theme
188
+ ### Use a styled preset
155
189
 
156
- Load any PrimeReact theme stylesheet alongside Cratis Components. PrimeReact's
157
- own widgets paint themselves from the theme, and the `--cratis-*` tokens cascade
158
- to the matching theme variables so Cratis-scoped surfaces follow along.
190
+ PrimeReact 11 dropped the v10 `primereact/resources/themes/*/theme.css`
191
+ stylesheets in favor of the token-based `@primeuix/themes` layer. Apply a
192
+ preset by passing `value={{ theme: { preset } }}` to `CratisComponentsProvider` —
193
+ no theme CSS import. PrimeReact's own widgets paint themselves from the preset, and the
194
+ `--cratis-*` tokens cascade to the matching variables so Cratis-scoped surfaces
195
+ follow along.
159
196
 
160
197
  ```tsx
161
- // 1. Theme first, then Cratis styles so any --cratis-* override wins.
162
- import 'primereact/resources/themes/lara-dark-blue/theme.css';
198
+ import Aura from '@primeuix/themes/aura'; // or lara / nora / material
163
199
  import 'primeicons/primeicons.css';
164
200
  import '@cratis/components/styles';
165
201
 
166
202
  import { CratisComponentsProvider } from '@cratis/components';
167
203
 
168
204
  export const App = () => (
169
- <CratisComponentsProvider>
205
+ <CratisComponentsProvider value={{ theme: { preset: Aura } }}>
170
206
  <YourApp />
171
207
  </CratisComponentsProvider>
172
208
  );
173
209
  ```
174
210
 
211
+ Omit `theme` entirely to stay unstyled-first — ship only structure plus the
212
+ `--cratis-*` tokens and bring your own visuals (see the pass-through / `pt`
213
+ options below).
214
+
215
+ ### Use the Cratis baseline theme (no license)
216
+
217
+ Want a polished default look **without a PrimeUI license**? Ship the components
218
+ unstyled and import the Cratis baseline theme — a token-based stylesheet that
219
+ styles every component from the `--cratis-*` layer:
220
+
221
+ ```tsx
222
+ import 'primeicons/primeicons.css';
223
+ import '@cratis/components/theme'; // the baseline theme
224
+
225
+ export const App = () => (
226
+ <CratisComponentsProvider value={{ unstyled: true }}>
227
+ <div className="cratis-theme"> {/* scope: put on <body>, app root, or a subtree */}
228
+ <YourApp />
229
+ </div>
230
+ </CratisComponentsProvider>
231
+ );
232
+ ```
233
+
234
+ Add `cratis-dark` to an ancestor for the dark palette. The theme defers to a
235
+ `@primeuix/themes` preset's `--p-*` tokens when one is present, so you can layer
236
+ it under a preset too, and every rule is overridable via your own CSS or `pt`.
237
+
175
238
  #### Override a single component with CSS
176
239
 
177
240
  Plain CSS works fine on top of the theme. Target either PrimeReact's class
@@ -255,11 +318,10 @@ independently if you want Cratis surfaces to differ from PrimeReact widgets.
255
318
  ```
256
319
 
257
320
  ```tsx
258
- // 1. PrimeReact theme provides the structure.
259
- import 'primereact/resources/themes/lara-dark-blue/theme.css';
321
+ // 1. A styled preset provides the structure (apply it via the provider — see above).
260
322
  import 'primeicons/primeicons.css';
261
323
  import '@cratis/components/styles';
262
- // 2. Your palette overrides — must come after the theme so they win.
324
+ // 2. Your palette overrides — must come after the styles so they win.
263
325
  import './palette.override.css';
264
326
  ```
265
327
 
@@ -290,7 +352,6 @@ Tailwind handles cascade and dark mode:
290
352
  ```css
291
353
  /* app.css */
292
354
  @import "tailwindcss";
293
- @import "primereact/resources/themes/lara-dark-blue/theme.css";
294
355
  @import "@cratis/components/styles";
295
356
 
296
357
  @layer base {
@@ -352,7 +413,7 @@ through PrimeReact's `pt` (pass-through) mechanism, your own CSS, or both.
352
413
  Components render structurally only and become a blank canvas.
353
414
 
354
415
  ```tsx
355
- import '@cratis/components/styles'; // tokens + Tailwind utilities still useful for spacing/layout
416
+ import '@cratis/components/styles'; // component rules + Tailwind utilities, still needed when unstyled
356
417
  import { CratisComponentsProvider } from '@cratis/components';
357
418
 
358
419
  export const App = () => (
@@ -412,7 +473,7 @@ Same shape, Tailwind utilities as the class strings:
412
473
  // pt-preset.ts
413
474
  export const globalPt = {
414
475
  button: {
415
- root: { className: 'inline-flex items-center px-4 py-2 rounded-lg bg-sky-500 text-white hover:bg-sky-400 disabled:opacity-50' },
476
+ root: { className: 'inline-flex items-center px-4 py-2 rounded-lg bg-sky-700 text-white hover:bg-sky-600 disabled:opacity-50' },
416
477
  },
417
478
  dialog: {
418
479
  root: { className: 'rounded-2xl shadow-2xl overflow-hidden' },
@@ -1 +1 @@
1
- {"version":3,"file":"CommandDialog.d.ts","sourceRoot":"","sources":["../../../CommandDialog/CommandDialog.tsx"],"names":[],"mappings":"AAKA,OAAO,EAAU,KAAK,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAC7D,OAAO,KAAmB,MAAM,OAAO,CAAC;AACxC,OAAO,EAKH,KAAK,gBAAgB,EACxB,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAsB,KAAK,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAWtF,MAAM,WAAW,kBAAkB,CAAC,QAAQ,SAAS,MAAM,EAAE,SAAS,GAAG,MAAM,CAC3E,SAAQ,IAAI,CAAC,gBAAgB,CAAC,QAAQ,EAAE,SAAS,CAAC,EAAE,UAAU,GAAG,iBAAiB,CAAC,EAC/E,IAAI,CAAC,WAAW,EAAE,UAAU,CAAC;IAcjC,eAAe,CAAC,EAAE,qBAAqB,CAAC,QAAQ,CAAC,CAAC;IAOlD,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CAC9B;AAiVD,eAAO,MAAM,aAAa;KApEM,QAAQ,SAAS,MAAM,WAAW,SAAS,kBAAkB,kBAAkB,CAAC,QAAQ,EAAE,SAAS,CAAC;;uBA6DlF;YAAE,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;SAAE;;;CAO5B,CAAC"}
1
+ {"version":3,"file":"CommandDialog.d.ts","sourceRoot":"","sources":["../../../CommandDialog/CommandDialog.tsx"],"names":[],"mappings":"AAKA,OAAO,EAAU,KAAK,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAC7D,OAAO,KAAmB,MAAM,OAAO,CAAC;AACxC,OAAO,EAKH,KAAK,gBAAgB,EACxB,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAsB,KAAK,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAWtF,MAAM,WAAW,kBAAkB,CAAC,QAAQ,SAAS,MAAM,EAAE,SAAS,GAAG,MAAM,CAC3E,SAAQ,IAAI,CAAC,gBAAgB,CAAC,QAAQ,EAAE,SAAS,CAAC,EAAE,UAAU,GAAG,iBAAiB,CAAC,EAC/E,IAAI,CAAC,WAAW,EAAE,UAAU,CAAC;IAcjC,eAAe,CAAC,EAAE,qBAAqB,CAAC,QAAQ,CAAC,CAAC;IAOlD,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CAC9B;AA2VD,eAAO,MAAM,aAAa;KAxEM,QAAQ,SAAS,MAAM,WAAW,SAAS,kBAAkB,kBAAkB,CAAC,QAAQ,EAAE,SAAS,CAAC;;uBAiElF;YAAE,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;SAAE;;;CAO5B,CAAC"}
@@ -5,7 +5,7 @@ import React, { useState } from 'react';
5
5
  import { CommandForm, useCommandFormContext, useCommandInstance, CommandFormFieldWrapper } from '@cratis/arc.react/commands';
6
6
  import { applyBeforeExecute } from './applyBeforeExecute.js';
7
7
 
8
- const CommandDialogWrapper = ({ title, visible, width, style, contentStyle, resizable, buttons, initialFocus, okLabel, cancelLabel, yesLabel, noLabel, isValid, onClose, onConfirm, onCancel, onSuccess, onValidationFailure, onFailed, onBeforeExecute, className, pt, ptOptions, unstyled, children }) => {
8
+ const CommandDialogWrapper = ({ title, visible, width, style, contentStyle, resizable, buttons, initialFocus, okLabel, cancelLabel, yesLabel, noLabel, dismissable, closeAriaLabel, isValid, onClose, onConfirm, onCancel, onSuccess, onValidationFailure, onFailed, onBeforeExecute, className, pt, ptOptions, unstyled, children }) => {
9
9
  const { setCommandValues, setCommandResult, isValid: isCommandFormValid } = useCommandFormContext();
10
10
  const commandInstance = useCommandInstance();
11
11
  const [isBusy, setIsBusy] = useState(false);
@@ -62,7 +62,7 @@ const CommandDialogWrapper = ({ title, visible, width, style, contentStyle, resi
62
62
  };
63
63
  const processedChildren = processChildren(children);
64
64
  const isDialogValid = (isValid !== false) && isCommandFormValid;
65
- return (jsx(Dialog, { title: title, visible: visible, width: width, style: style, contentStyle: contentStyle, resizable: resizable, buttons: buttons, initialFocus: initialFocus, onClose: onClose, onConfirm: handleConfirm, onCancel: onCancel, okLabel: okLabel, cancelLabel: cancelLabel, yesLabel: yesLabel, noLabel: noLabel, isValid: isDialogValid, isBusy: isBusy, className: className, pt: pt, ptOptions: ptOptions, unstyled: unstyled, children: jsx("div", { style: { display: 'flex', flexDirection: 'column', width: '100%' }, children: processedChildren }) }));
65
+ return (jsx(Dialog, { title: title, visible: visible, width: width, style: style, contentStyle: contentStyle, resizable: resizable, buttons: buttons, initialFocus: initialFocus, onClose: onClose, onConfirm: handleConfirm, onCancel: onCancel, okLabel: okLabel, cancelLabel: cancelLabel, yesLabel: yesLabel, noLabel: noLabel, dismissable: dismissable, closeAriaLabel: closeAriaLabel, isValid: isDialogValid, isBusy: isBusy, className: className, pt: pt, ptOptions: ptOptions, unstyled: unstyled, children: jsx("div", { style: { display: 'flex', flexDirection: 'column', width: '100%' }, children: processedChildren }) }));
66
66
  };
67
67
  /**
68
68
  * A {@link Dialog} that hosts a Cratis Arc `CommandForm`, runs the bound
@@ -181,8 +181,8 @@ const CommandDialogWrapper = ({ title, visible, width, style, contentStyle, resi
181
181
  * @param props - {@link CommandDialogProps}.
182
182
  */
183
183
  const CommandDialogComponent = (props) => {
184
- const { title, visible, width, style, contentStyle, resizable, buttons = DialogButtons.OkCancel, initialFocus, okLabel, cancelLabel, yesLabel, noLabel, isValid, onClose, onConfirm, onCancel, onBeforeExecute, className, pt, ptOptions, unstyled, children, ...commandFormProps } = props;
185
- return (jsx(CommandForm, { ...commandFormProps, children: jsx(CommandDialogWrapper, { title: title, visible: visible, width: width, style: style, contentStyle: contentStyle, resizable: resizable, buttons: buttons, initialFocus: initialFocus, okLabel: okLabel, cancelLabel: cancelLabel, yesLabel: yesLabel, noLabel: noLabel, isValid: isValid, onClose: onClose, onConfirm: onConfirm, onCancel: onCancel, onSuccess: props.onSuccess, onValidationFailure: props.onValidationFailure, onFailed: props.onFailed, onBeforeExecute: onBeforeExecute, className: className, pt: pt, ptOptions: ptOptions, unstyled: unstyled, children: children }) }));
184
+ const { title, visible, width, style, contentStyle, resizable, buttons = DialogButtons.OkCancel, initialFocus, okLabel, cancelLabel, yesLabel, noLabel, dismissable, closeAriaLabel, isValid, onClose, onConfirm, onCancel, onBeforeExecute, className, pt, ptOptions, unstyled, children, ...commandFormProps } = props;
185
+ return (jsx(CommandForm, { ...commandFormProps, children: jsx(CommandDialogWrapper, { title: title, visible: visible, width: width, style: style, contentStyle: contentStyle, resizable: resizable, buttons: buttons, initialFocus: initialFocus, okLabel: okLabel, cancelLabel: cancelLabel, yesLabel: yesLabel, noLabel: noLabel, dismissable: dismissable, closeAriaLabel: closeAriaLabel, isValid: isValid, onClose: onClose, onConfirm: onConfirm, onCancel: onCancel, onSuccess: props.onSuccess, onValidationFailure: props.onValidationFailure, onFailed: props.onFailed, onBeforeExecute: onBeforeExecute, className: className, pt: pt, ptOptions: ptOptions, unstyled: unstyled, children: children }) }));
186
186
  };
187
187
  const CommandDialogColumnWrapper = ({ children }) => (jsx(CommandForm.Column, { children: children }));
188
188
  CommandDialogColumnWrapper.displayName = 'CommandFormColumn';
@@ -1 +1 @@
1
- {"version":3,"file":"CommandDialog.js","sources":["../../../CommandDialog/CommandDialog.tsx"],"sourcesContent":[null],"names":["_jsx"],"mappings":"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"}
1
+ {"version":3,"file":"CommandDialog.js","sources":["../../../CommandDialog/CommandDialog.tsx"],"sourcesContent":[null],"names":["_jsx"],"mappings":"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"}
@@ -1,9 +1,23 @@
1
1
  import React from 'react';
2
- import { type StepperProps } from 'primereact/stepper';
2
+ import type { StepperRootProps } from '@primereact/types/primitive/stepper';
3
3
  import { type CommandFormProps } from '@cratis/arc.react/commands';
4
4
  import { type BeforeExecuteCallback } from './applyBeforeExecute';
5
- import './CommandStepper.css';
6
- export type StepperCustomizationProps = Pick<StepperProps, 'orientation' | 'headerPosition' | 'linear' | 'onChangeStep' | 'start' | 'end' | 'pt' | 'ptOptions' | 'unstyled'>;
5
+ export interface StepperChangeEvent {
6
+ index: number;
7
+ }
8
+ export type StepperOrientation = 'horizontal' | 'vertical';
9
+ export type StepperHeaderPosition = 'top' | 'bottom';
10
+ export interface StepperCustomizationProps {
11
+ linear?: boolean;
12
+ orientation?: StepperOrientation;
13
+ headerPosition?: StepperHeaderPosition;
14
+ start?: React.ReactNode;
15
+ end?: React.ReactNode;
16
+ onChangeStep?: (event: StepperChangeEvent) => void;
17
+ pt?: StepperRootProps['pt'];
18
+ ptOptions?: StepperRootProps['ptOptions'];
19
+ unstyled?: boolean;
20
+ }
7
21
  export interface CommandStepperContentProps extends StepperCustomizationProps {
8
22
  activeStep: number;
9
23
  visitedSteps: Set<number>;
@@ -26,6 +40,6 @@ export interface CommandStepperProps<TCommand extends object, TResponse = object
26
40
  onBeforeExecute?: BeforeExecuteCallback<TCommand>;
27
41
  children?: React.ReactNode;
28
42
  }
29
- export declare const CommandStepperContent: ({ activeStep, visitedSteps, children, onActiveStepChange, onVisitedStepsChange, onStepErrorsChange, getFieldError, showNavigation, showSubmit, nextLabel, previousLabel, okLabel, isBusy, isSubmitting, isSubmitDisabled, onSubmit, orientation, headerPosition, linear, onChangeStep, start, end, pt, ptOptions, unstyled, }: CommandStepperContentProps) => React.JSX.Element;
43
+ export declare const CommandStepperContent: ({ activeStep, visitedSteps, children, onActiveStepChange, onVisitedStepsChange, onStepErrorsChange, getFieldError, showNavigation, showSubmit, nextLabel, previousLabel, okLabel, isBusy, isSubmitting, isSubmitDisabled, onSubmit, linear, orientation, headerPosition, start, end, onChangeStep, pt, ptOptions, unstyled, }: CommandStepperContentProps) => React.JSX.Element;
30
44
  export declare const CommandStepper: <TCommand extends object = object, TResponse = object>(props: CommandStepperProps<TCommand, TResponse>) => React.JSX.Element;
31
45
  //# sourceMappingURL=CommandStepper.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"CommandStepper.d.ts","sourceRoot":"","sources":["../../../CommandDialog/CommandStepper.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAuC,MAAM,OAAO,CAAC;AAC5D,OAAO,EAA2B,KAAK,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAGhF,OAAO,EAKH,KAAK,gBAAgB,EACxB,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAsB,KAAK,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAEtF,OAAO,sBAAsB,CAAC;AAM9B,MAAM,MAAM,yBAAyB,GAAG,IAAI,CAAC,YAAY,EACrD,aAAa,GAAG,gBAAgB,GAAG,QAAQ,GAAG,cAAc,GAAG,OAAO,GAAG,KAAK,GAAG,IAAI,GAAG,WAAW,GAAG,UAAU,CACnH,CAAC;AAEF,MAAM,WAAW,0BAA2B,SAAQ,yBAAyB;IAEzE,UAAU,EAAE,MAAM,CAAC;IAEnB,YAAY,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAE1B,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAE3B,kBAAkB,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,IAAI,CAAC;IAEjD,oBAAoB,CAAC,EAAE,CAAC,YAAY,EAAE,GAAG,CAAC,MAAM,CAAC,KAAK,IAAI,CAAC;IAE3D,kBAAkB,CAAC,EAAE,CAAC,UAAU,EAAE,OAAO,EAAE,KAAK,IAAI,CAAC;IAErD,aAAa,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,OAAO,CAAC;IAE/C,cAAc,CAAC,EAAE,OAAO,CAAC;IAEzB,UAAU,CAAC,EAAE,OAAO,CAAC;IAErB,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB,aAAa,CAAC,EAAE,MAAM,CAAC;IAEvB,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB,MAAM,CAAC,EAAE,OAAO,CAAC;IAEjB,YAAY,CAAC,EAAE,OAAO,CAAC;IAEvB,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAE3B,QAAQ,CAAC,EAAE,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACzC;AAED,MAAM,WAAW,mBAAmB,CAAC,QAAQ,SAAS,MAAM,EAAE,SAAS,GAAG,MAAM,CAC5E,SAAQ,IAAI,CAAC,gBAAgB,CAAC,QAAQ,EAAE,SAAS,CAAC,EAAE,UAAU,GAAG,iBAAiB,CAAC,EAC/E,IAAI,CAAC,0BAA0B,EAAE,YAAY,GAAG,cAAc,GAAG,oBAAoB,GAAG,sBAAsB,GAAG,eAAe,GAAG,cAAc,GAAG,kBAAkB,GAAG,UAAU,CAAC;IAaxL,eAAe,CAAC,EAAE,qBAAqB,CAAC,QAAQ,CAAC,CAAC;IAElD,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CAC9B;AAmDD,eAAO,MAAM,qBAAqB,GAAI,+TA0BnC,0BAA0B,sBA8J5B,CAAC;AAmKF,eAAO,MAAM,cAAc,GAAI,QAAQ,SAAS,MAAM,GAAG,MAAM,EAAE,SAAS,GAAG,MAAM,EAC/E,OAAO,mBAAmB,CAAC,QAAQ,EAAE,SAAS,CAAC,sBAoDlD,CAAC"}
1
+ {"version":3,"file":"CommandStepper.d.ts","sourceRoot":"","sources":["../../../CommandDialog/CommandStepper.tsx"],"names":[],"mappings":"AAGA,OAAO,KAA2D,MAAM,OAAO,CAAC;AAEhF,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,qCAAqC,CAAC;AAG5E,OAAO,EAKH,KAAK,gBAAgB,EACxB,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAsB,KAAK,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAkBtF,MAAM,WAAW,kBAAkB;IAE/B,KAAK,EAAE,MAAM,CAAC;CACjB;AAGD,MAAM,MAAM,kBAAkB,GAAG,YAAY,GAAG,UAAU,CAAC;AAG3D,MAAM,MAAM,qBAAqB,GAAG,KAAK,GAAG,QAAQ,CAAC;AAUrD,MAAM,WAAW,yBAAyB;IAOtC,MAAM,CAAC,EAAE,OAAO,CAAC;IAEjB,WAAW,CAAC,EAAE,kBAAkB,CAAC;IAEjC,cAAc,CAAC,EAAE,qBAAqB,CAAC;IAEvC,KAAK,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAExB,GAAG,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAEtB,YAAY,CAAC,EAAE,CAAC,KAAK,EAAE,kBAAkB,KAAK,IAAI,CAAC;IAEnD,EAAE,CAAC,EAAE,gBAAgB,CAAC,IAAI,CAAC,CAAC;IAE5B,SAAS,CAAC,EAAE,gBAAgB,CAAC,WAAW,CAAC,CAAC;IAE1C,QAAQ,CAAC,EAAE,OAAO,CAAC;CACtB;AAED,MAAM,WAAW,0BAA2B,SAAQ,yBAAyB;IAEzE,UAAU,EAAE,MAAM,CAAC;IAEnB,YAAY,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAE1B,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAE3B,kBAAkB,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,IAAI,CAAC;IAEjD,oBAAoB,CAAC,EAAE,CAAC,YAAY,EAAE,GAAG,CAAC,MAAM,CAAC,KAAK,IAAI,CAAC;IAE3D,kBAAkB,CAAC,EAAE,CAAC,UAAU,EAAE,OAAO,EAAE,KAAK,IAAI,CAAC;IAErD,aAAa,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,OAAO,CAAC;IAE/C,cAAc,CAAC,EAAE,OAAO,CAAC;IAEzB,UAAU,CAAC,EAAE,OAAO,CAAC;IAErB,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB,aAAa,CAAC,EAAE,MAAM,CAAC;IAEvB,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB,MAAM,CAAC,EAAE,OAAO,CAAC;IAEjB,YAAY,CAAC,EAAE,OAAO,CAAC;IAEvB,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAE3B,QAAQ,CAAC,EAAE,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACzC;AAED,MAAM,WAAW,mBAAmB,CAAC,QAAQ,SAAS,MAAM,EAAE,SAAS,GAAG,MAAM,CAC5E,SAAQ,IAAI,CAAC,gBAAgB,CAAC,QAAQ,EAAE,SAAS,CAAC,EAAE,UAAU,GAAG,iBAAiB,CAAC,EAC/E,IAAI,CAAC,0BAA0B,EAAE,YAAY,GAAG,cAAc,GAAG,oBAAoB,GAAG,sBAAsB,GAAG,eAAe,GAAG,cAAc,GAAG,kBAAkB,GAAG,UAAU,CAAC;IAaxL,eAAe,CAAC,EAAE,qBAAqB,CAAC,QAAQ,CAAC,CAAC;IAElD,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CAC9B;AAsDD,eAAO,MAAM,qBAAqB,GAAI,+TA0BnC,0BAA0B,sBA2J5B,CAAC;AAkKF,eAAO,MAAM,cAAc,GAAI,QAAQ,SAAS,MAAM,GAAG,MAAM,EAAE,SAAS,GAAG,MAAM,EAC/E,OAAO,mBAAmB,CAAC,QAAQ,EAAE,SAAS,CAAC,sBAoDlD,CAAC"}
@@ -1,12 +1,20 @@
1
- import { jsx, jsxs } from 'react/jsx-runtime';
1
+ import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
2
2
  import React, { useMemo, useEffect, useState } from 'react';
3
3
  import { Stepper } from 'primereact/stepper';
4
4
  import { Button } from 'primereact/button';
5
5
  import { CommandForm, useCommandFormContext, useCommandInstance, CommandFormFieldWrapper } from '@cratis/arc.react/commands';
6
6
  import { applyBeforeExecute } from './applyBeforeExecute.js';
7
7
  import { getStepPanels } from './stepChildren.js';
8
- import './CommandStepper.css';
9
8
 
9
+ // PrimeReact 11's Stepper annotates each step header as role="tab" and each panel
10
+ // as role="tabpanel", with `aria-controls` pointing at element ids it never
11
+ // renders — a dangling-reference + orphaned-tab pattern (the list is not a
12
+ // role="tablist") that axe flags as critical. The headless stepper implements no
13
+ // keyboard navigation bound to these roles (steps navigate by click on the native
14
+ // <button>), so stripping the broken tab semantics is safe: it leaves natively
15
+ // keyboard-accessible buttons and a plain content region. `undefined` in `pt`
16
+ // removes the attribute the primitive would otherwise set.
17
+ const stripBrokenTabRole = { root: { role: undefined, 'aria-controls': undefined } };
10
18
  /** Extracts the property name from an accessor function like `c => c.name`. */
11
19
  const getPropertyName = (accessor) => {
12
20
  if (typeof accessor !== 'function')
@@ -52,12 +60,14 @@ const processChildren = (nodes) => {
52
60
  return child;
53
61
  });
54
62
  };
55
- const CommandStepperContent = ({ activeStep, visitedSteps, children, onActiveStepChange, onVisitedStepsChange, onStepErrorsChange, getFieldError, showNavigation = true, showSubmit = true, nextLabel = 'Next', previousLabel = 'Previous', okLabel = 'Submit', isBusy = false, isSubmitting = false, isSubmitDisabled = false, onSubmit, orientation = 'horizontal', headerPosition, linear = true, onChangeStep, start, end, pt, ptOptions, unstyled, }) => {
63
+ /** The value used to identify a step in PrimeReact 11's Stepper its index as a string. */
64
+ const stepValue = (index) => String(index);
65
+ const CommandStepperContent = ({ activeStep, visitedSteps, children, onActiveStepChange, onVisitedStepsChange, onStepErrorsChange, getFieldError, showNavigation = true, showSubmit = true, nextLabel = 'Next', previousLabel = 'Previous', okLabel = 'Submit', isBusy = false, isSubmitting = false, isSubmitDisabled = false, onSubmit, linear = true, orientation = 'horizontal', headerPosition = 'top', start, end, onChangeStep, pt, ptOptions, unstyled, }) => {
56
66
  // The steps that actually render. Conditional steps (`{condition && <StepperPanel/>}`)
57
67
  // leave falsy children behind, so the count, the per-step validation state and what the
58
68
  // Stepper renders are all derived from this one list — they cannot drift apart.
59
- const steps = useMemo(() => getStepPanels(children), [children]);
60
- const stepCount = steps.length;
69
+ const panels = useMemo(() => getStepPanels(children), [children]);
70
+ const stepCount = panels.length;
61
71
  // A conditional step can vanish after the user has advanced past it, which leaves the
62
72
  // incoming index pointing at a step that is no longer rendered. Clamp it into the set that
63
73
  // is, so the panel shown, the validation state read and the buttons offered all belong to a
@@ -65,61 +75,39 @@ const CommandStepperContent = ({ activeStep, visitedSteps, children, onActiveSte
65
75
  const currentStep = Math.min(Math.max(activeStep, 0), Math.max(stepCount - 1, 0));
66
76
  const isLastStep = currentStep >= stepCount - 1;
67
77
  const isFirstStep = currentStep <= 0;
68
- const stepFieldNames = useMemo(() => steps.map((step) => {
69
- const stepProps = step.props;
70
- return extractFieldNamesFromNode(stepProps.children);
71
- }), [steps]);
78
+ const stepFieldNames = useMemo(() => panels.map((panel) => extractFieldNamesFromNode(panel.props.children)), [panels]);
72
79
  const stepErrors = useMemo(() => stepFieldNames.map(fields => fields.some(fieldName => !!getFieldError?.(fieldName))), [stepFieldNames, getFieldError]);
73
80
  useEffect(() => {
74
81
  onStepErrorsChange?.(stepErrors);
75
82
  }, [onStepErrorsChange, stepErrors]);
76
83
  const isCurrentStepInvalid = stepErrors[currentStep] ?? false;
77
84
  const hasAnyStepErrors = stepErrors.some(hasError => hasError);
78
- const stepperPt = useMemo(() => {
79
- const userPt = pt;
80
- const userStepperPanelPt = userPt?.stepperpanel;
81
- const userNumberPt = userStepperPanelPt?.number;
82
- return {
83
- ...userPt,
84
- stepperpanel: {
85
- ...userStepperPanelPt,
86
- number: (opts) => {
87
- const existing = typeof userNumberPt === 'function'
88
- ? userNumberPt(opts)
89
- : userNumberPt ?? {};
90
- const idx = opts.context.index;
91
- const hasError = stepErrors[idx] ?? false;
92
- const isVisited = visitedSteps.has(idx);
93
- // Use straightforward color names here so unit tests that
94
- // inspect the computed `backgroundColor` can assert reliably.
95
- const bgColor = hasError
96
- ? 'red'
97
- : isVisited
98
- ? 'green'
99
- : null;
100
- if (!bgColor)
101
- return existing;
102
- const existingStyle = existing.style;
103
- return {
104
- ...existing,
105
- style: { ...existingStyle, backgroundColor: bgColor, color: 'var(--cratis-primary-color-text)' }
106
- };
107
- }
108
- }
109
- };
110
- }, [pt, stepErrors, visitedSteps]);
111
- const handleChangeStep = event => {
112
- onChangeStep?.(event);
113
- const index = event.index;
114
- if (typeof index === 'number') {
115
- if (index > currentStep && isCurrentStepInvalid) {
116
- return;
117
- }
118
- if (index > currentStep) {
119
- onVisitedStepsChange?.(new Set(visitedSteps).add(currentStep));
120
- }
121
- onActiveStepChange?.(index);
85
+ // The per-step number indicator paints red when a visited step still has a
86
+ // field error and green once a step has been visited without errors — a
87
+ // traffic-light status marker that is intentionally theme-independent, so
88
+ // the literal color names are appropriate here (and let specs assert on the
89
+ // computed background reliably).
90
+ const numberStyle = (index) => {
91
+ const hasError = stepErrors[index] ?? false;
92
+ const isVisited = visitedSteps.has(index);
93
+ const backgroundColor = hasError ? 'red' : isVisited ? 'green' : undefined;
94
+ if (!backgroundColor)
95
+ return undefined;
96
+ return { backgroundColor, color: 'var(--cratis-primary-color-text)' };
97
+ };
98
+ const handleValueChange = event => {
99
+ const raw = event.value;
100
+ const index = typeof raw === 'number' ? raw : parseInt(String(raw ?? ''), 10);
101
+ if (Number.isNaN(index))
102
+ return;
103
+ onChangeStep?.({ index });
104
+ if (index > currentStep && isCurrentStepInvalid) {
105
+ return;
106
+ }
107
+ if (index > currentStep) {
108
+ onVisitedStepsChange?.(new Set(visitedSteps).add(currentStep));
122
109
  }
110
+ onActiveStepChange?.(index);
123
111
  };
124
112
  const handlePrevious = () => {
125
113
  onActiveStepChange?.(Math.max(0, currentStep - 1));
@@ -131,9 +119,13 @@ const CommandStepperContent = ({ activeStep, visitedSteps, children, onActiveSte
131
119
  onVisitedStepsChange?.(new Set(visitedSteps).add(currentStep));
132
120
  onActiveStepChange?.(Math.min(stepCount - 1, currentStep + 1));
133
121
  };
134
- return (jsxs("div", { className: "cratis-command-stepper", children: [jsx(Stepper, { activeStep: currentStep, linear: linear, orientation: orientation, headerPosition: headerPosition, onChangeStep: handleChangeStep, start: start, end: end, pt: stepperPt, ptOptions: ptOptions, unstyled: unstyled, children: processChildren(steps) }), showNavigation && (jsxs("div", { style: { display: 'flex', alignItems: 'center', width: '100%', gap: '0.75rem' }, children: [!isFirstStep && (jsx(Button, { label: previousLabel, icon: "pi pi-arrow-left", onClick: handlePrevious, disabled: isBusy, outlined: true, style: { width: 'auto' } })), jsx("div", { style: { flex: 1 } }), !isLastStep && (jsx(Button, { label: nextLabel, icon: "pi pi-arrow-right", iconPos: "right", onClick: handleNext, disabled: isBusy || isSubmitting || isCurrentStepInvalid, style: { width: 'auto' } })), isLastStep && showSubmit && (jsx(Button, { label: okLabel, icon: "pi pi-check", onClick: () => void onSubmit?.(), loading: isSubmitting, disabled: isBusy || isSubmitting || isSubmitDisabled || hasAnyStepErrors, autoFocus: true, style: { width: 'auto' } }))] }))] }));
122
+ const stepperList = (jsx(Stepper.List, { children: panels.map((panel, index) => (jsxs(Stepper.Step, { value: stepValue(index), children: [jsxs(Stepper.Header, { pt: stripBrokenTabRole, children: [jsx(Stepper.Number, { style: numberStyle(index), children: index + 1 }), jsx(Stepper.Title, { children: panel.props.header })] }), index < stepCount - 1 && jsx(Stepper.Separator, {})] }, index))) }));
123
+ const stepperPanels = (jsx(Stepper.Panels, { children: panels.map((panel, index) => (jsx(Stepper.Panel, { value: stepValue(index), pt: stripBrokenTabRole, children: processChildren(panel.props.children) }, index))) }));
124
+ return (jsxs("div", { className: `cratis-command-stepper cratis-command-stepper--${orientation}`, "data-orientation": orientation, children: [start, jsx(Stepper.Root, { value: stepValue(currentStep), linear: linear, onValueChange: handleValueChange, "data-orientation": orientation, pt: pt, ptOptions: ptOptions, unstyled: unstyled, children: headerPosition === 'bottom'
125
+ ? (jsxs(Fragment, { children: [stepperPanels, stepperList] }))
126
+ : (jsxs(Fragment, { children: [stepperList, stepperPanels] })) }), end, showNavigation && (jsxs("div", { style: { display: 'flex', alignItems: 'center', width: '100%', gap: '0.75rem' }, children: [!isFirstStep && (jsxs(Button, { variant: "outlined", onClick: handlePrevious, disabled: isBusy, style: { width: 'auto' }, children: [jsx("i", { className: "pi pi-arrow-left" }), jsx("span", { children: previousLabel })] })), jsx("div", { style: { flex: 1 } }), !isLastStep && (jsxs(Button, { onClick: handleNext, disabled: isBusy || isSubmitting || isCurrentStepInvalid, style: { width: 'auto' }, children: [jsx("span", { children: nextLabel }), jsx("i", { className: "pi pi-arrow-right" })] })), isLastStep && showSubmit && (jsxs(Button, { onClick: () => void onSubmit?.(), disabled: isBusy || isSubmitting || isSubmitDisabled || hasAnyStepErrors, autoFocus: true, style: { width: 'auto' }, children: [jsx("i", { className: isSubmitting ? 'pi pi-spin pi-spinner' : 'pi pi-check' }), jsx("span", { children: okLabel })] }))] }))] }));
135
127
  };
136
- const CommandStepperWrapper = ({ children, onStepErrorsChange, showNavigation, showSubmit, nextLabel, previousLabel, okLabel, isBusy, orientation, headerPosition, linear, onChangeStep, start, end, pt, ptOptions, unstyled, onSuccess, onValidationFailure, onFailed, onBeforeExecute, }) => {
128
+ const CommandStepperWrapper = ({ children, onStepErrorsChange, showNavigation, showSubmit, nextLabel, previousLabel, okLabel, isBusy, linear, orientation, headerPosition, start, end, onChangeStep, pt, ptOptions, unstyled, onSuccess, onValidationFailure, onFailed, onBeforeExecute, }) => {
137
129
  const { getFieldError, isValid: isCommandFormValid, setCommandValues, setCommandResult } = useCommandFormContext();
138
130
  const commandInstance = useCommandInstance();
139
131
  const [activeStep, setActiveStep] = useState(0);
@@ -164,7 +156,7 @@ const CommandStepperWrapper = ({ children, onStepErrorsChange, showNavigation, s
164
156
  }
165
157
  await onSuccess?.(result.response);
166
158
  };
167
- return (jsx(CommandStepperContent, { activeStep: activeStep, visitedSteps: visitedSteps, onActiveStepChange: setActiveStep, onVisitedStepsChange: setVisitedSteps, onStepErrorsChange: onStepErrorsChange, getFieldError: getFieldError, showNavigation: showNavigation, showSubmit: showSubmit, nextLabel: nextLabel, previousLabel: previousLabel, okLabel: okLabel, isBusy: isBusy, isSubmitting: isSubmitting, isSubmitDisabled: !isCommandFormValid, onSubmit: handleSubmit, orientation: orientation, headerPosition: headerPosition, linear: linear, onChangeStep: onChangeStep, start: start, end: end, pt: pt, ptOptions: ptOptions, unstyled: unstyled, children: children }));
159
+ return (jsx(CommandStepperContent, { activeStep: activeStep, visitedSteps: visitedSteps, onActiveStepChange: setActiveStep, onVisitedStepsChange: setVisitedSteps, onStepErrorsChange: onStepErrorsChange, getFieldError: getFieldError, showNavigation: showNavigation, showSubmit: showSubmit, nextLabel: nextLabel, previousLabel: previousLabel, okLabel: okLabel, isBusy: isBusy, isSubmitting: isSubmitting, isSubmitDisabled: !isCommandFormValid, onSubmit: handleSubmit, linear: linear, orientation: orientation, headerPosition: headerPosition, start: start, end: end, onChangeStep: onChangeStep, pt: pt, ptOptions: ptOptions, unstyled: unstyled, children: children }));
168
160
  };
169
161
  /**
170
162
  * A multi-step wizard backed by a single Cratis Arc command — the embedded,
@@ -205,8 +197,7 @@ const CommandStepperWrapper = ({ children, onStepErrorsChange, showNavigation, s
205
197
  * Stepper directly.
206
198
  *
207
199
  * ```tsx
208
- * import { CommandStepper } from '@cratis/components/CommandStepper';
209
- * import { StepperPanel } from 'primereact/stepperpanel';
200
+ * import { CommandStepper, StepperPanel } from '@cratis/components/CommandDialog';
210
201
  * import { RegisterAuthor } from './RegisterAuthor'; // proxy from C#
211
202
  *
212
203
  * export const RegisterAuthorPage = () => (
@@ -227,8 +218,8 @@ const CommandStepperWrapper = ({ children, onStepErrorsChange, showNavigation, s
227
218
  * @param props - {@link CommandStepperProps}.
228
219
  */
229
220
  const CommandStepper = (props) => {
230
- const { children, onStepErrorsChange, showNavigation, showSubmit, nextLabel, previousLabel, okLabel, isBusy, orientation, headerPosition, linear, onChangeStep, start, end, pt, ptOptions, unstyled, onBeforeExecute, ...commandFormProps } = props;
231
- return (jsx(CommandForm, { ...commandFormProps, children: jsx(CommandStepperWrapper, { onStepErrorsChange: onStepErrorsChange, showNavigation: showNavigation, showSubmit: showSubmit, nextLabel: nextLabel, previousLabel: previousLabel, okLabel: okLabel, isBusy: isBusy, orientation: orientation, headerPosition: headerPosition, linear: linear, onChangeStep: onChangeStep, start: start, end: end, pt: pt, ptOptions: ptOptions, unstyled: unstyled, onSuccess: props.onSuccess, onValidationFailure: props.onValidationFailure, onFailed: props.onFailed, onBeforeExecute: onBeforeExecute, children: children }) }));
221
+ const { children, onStepErrorsChange, showNavigation, showSubmit, nextLabel, previousLabel, okLabel, isBusy, linear, orientation, headerPosition, start, end, onChangeStep, pt, ptOptions, unstyled, onBeforeExecute, ...commandFormProps } = props;
222
+ return (jsx(CommandForm, { ...commandFormProps, children: jsx(CommandStepperWrapper, { onStepErrorsChange: onStepErrorsChange, showNavigation: showNavigation, showSubmit: showSubmit, nextLabel: nextLabel, previousLabel: previousLabel, okLabel: okLabel, isBusy: isBusy, linear: linear, orientation: orientation, headerPosition: headerPosition, start: start, end: end, onChangeStep: onChangeStep, pt: pt, ptOptions: ptOptions, unstyled: unstyled, onSuccess: props.onSuccess, onValidationFailure: props.onValidationFailure, onFailed: props.onFailed, onBeforeExecute: onBeforeExecute, children: children }) }));
232
223
  };
233
224
 
234
225
  export { CommandStepper, CommandStepperContent };