@lumeweb/portal-framework-ui 0.0.1 → 0.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (657) hide show
  1. package/LICENSE +9 -0
  2. package/README.md +1 -45
  3. package/dist/esm/components/Copyable.d.ts +43 -0
  4. package/dist/esm/components/Copyable.js +50 -0
  5. package/dist/esm/components/Copyable.js.map +1 -0
  6. package/dist/esm/components/FilterChip.d.ts +16 -0
  7. package/dist/esm/components/FilterChip.js +47 -0
  8. package/dist/esm/components/FilterChip.js.map +1 -0
  9. package/dist/esm/components/Forms.d.ts +55 -0
  10. package/dist/esm/components/Forms.js +123 -0
  11. package/dist/esm/components/Forms.js.map +1 -0
  12. package/dist/esm/components/InlineAuthLinkBanner.d.ts +18 -0
  13. package/dist/esm/components/InlineAuthLinkBanner.js +23 -0
  14. package/dist/esm/components/InlineAuthLinkBanner.js.map +1 -0
  15. package/dist/esm/components/KeyboardShortcutDialog.d.ts +12 -0
  16. package/dist/esm/components/KeyboardShortcutDialog.js +48 -0
  17. package/dist/esm/components/KeyboardShortcutDialog.js.map +1 -0
  18. package/dist/esm/components/Loading.d.ts +13 -0
  19. package/dist/esm/components/Loading.js +38 -0
  20. package/dist/esm/components/Loading.js.map +1 -0
  21. package/dist/esm/components/LumeLogo.d.ts +12 -0
  22. package/dist/esm/components/LumeLogo.js +22 -0
  23. package/dist/esm/components/LumeLogo.js.map +1 -0
  24. package/dist/esm/components/MainNavigation.d.ts +11 -0
  25. package/dist/esm/components/MainNavigation.js +227 -0
  26. package/dist/esm/components/MainNavigation.js.map +1 -0
  27. package/dist/esm/components/SkeletonLoader.d.ts +25 -0
  28. package/dist/esm/components/SkeletonLoader.js +78 -0
  29. package/dist/esm/components/SkeletonLoader.js.map +1 -0
  30. package/dist/esm/components/TableActionsDropdown.d.ts +18 -0
  31. package/dist/esm/components/TableActionsDropdown.js +34 -0
  32. package/dist/esm/components/TableActionsDropdown.js.map +1 -0
  33. package/dist/esm/components/TableContainer.d.ts +13 -0
  34. package/dist/esm/components/TableContainer.js +15 -0
  35. package/dist/esm/components/TableContainer.js.map +1 -0
  36. package/dist/esm/components/ThemeSwitcher.d.ts +7 -0
  37. package/dist/esm/components/ThemeSwitcher.js +38 -0
  38. package/dist/esm/components/ThemeSwitcher.js.map +1 -0
  39. package/dist/esm/components/ThemedBadge.d.ts +23 -0
  40. package/dist/esm/components/ThemedBadge.js +20 -0
  41. package/dist/esm/components/ThemedBadge.js.map +1 -0
  42. package/dist/esm/components/actions/ActionListRenderer.d.ts +15 -0
  43. package/dist/esm/components/actions/ActionListRenderer.js +38 -0
  44. package/dist/esm/components/actions/ActionListRenderer.js.map +1 -0
  45. package/dist/esm/components/actions/actionHelpers.d.ts +127 -0
  46. package/dist/esm/components/actions/actionHelpers.js +205 -0
  47. package/dist/esm/components/actions/actionHelpers.js.map +1 -0
  48. package/dist/esm/components/actions/index.d.ts +6 -0
  49. package/dist/esm/components/actions/index.js +7 -0
  50. package/dist/esm/components/actions/items/ButtonActionItem.d.ts +9 -0
  51. package/dist/esm/components/actions/items/ButtonActionItem.js +23 -0
  52. package/dist/esm/components/actions/items/ButtonActionItem.js.map +1 -0
  53. package/dist/esm/components/actions/items/CancelActionItem.d.ts +9 -0
  54. package/dist/esm/components/actions/items/CancelActionItem.js +28 -0
  55. package/dist/esm/components/actions/items/CancelActionItem.js.map +1 -0
  56. package/dist/esm/components/actions/items/CustomActionItem.d.ts +9 -0
  57. package/dist/esm/components/actions/items/CustomActionItem.js +27 -0
  58. package/dist/esm/components/actions/items/CustomActionItem.js.map +1 -0
  59. package/dist/esm/components/actions/items/LinkActionItem.d.ts +9 -0
  60. package/dist/esm/components/actions/items/LinkActionItem.js +33 -0
  61. package/dist/esm/components/actions/items/LinkActionItem.js.map +1 -0
  62. package/dist/esm/components/actions/items/RetryActionItem.d.ts +9 -0
  63. package/dist/esm/components/actions/items/RetryActionItem.js +23 -0
  64. package/dist/esm/components/actions/items/RetryActionItem.js.map +1 -0
  65. package/dist/esm/components/actions/items/SubmitActionItem.d.ts +9 -0
  66. package/dist/esm/components/actions/items/SubmitActionItem.js +26 -0
  67. package/dist/esm/components/actions/items/SubmitActionItem.js.map +1 -0
  68. package/dist/esm/components/actions/register.d.ts +5 -0
  69. package/dist/esm/components/actions/register.js +20 -0
  70. package/dist/esm/components/actions/register.js.map +1 -0
  71. package/dist/esm/components/actions/registry.d.ts +14 -0
  72. package/dist/esm/components/actions/registry.js +20 -0
  73. package/dist/esm/components/actions/registry.js.map +1 -0
  74. package/dist/esm/components/actions/types.d.ts +132 -0
  75. package/dist/esm/components/actions/types.js +29 -0
  76. package/dist/esm/components/actions/types.js.map +1 -0
  77. package/dist/esm/components/app/AppComponent.d.ts +17 -0
  78. package/dist/esm/components/app/AppComponent.js +179 -0
  79. package/dist/esm/components/app/AppComponent.js.map +1 -0
  80. package/dist/esm/components/data-table/BaseTable.d.ts +86 -0
  81. package/dist/esm/components/data-table/BaseTable.js +123 -0
  82. package/dist/esm/components/data-table/BaseTable.js.map +1 -0
  83. package/dist/esm/components/data-table/BaseTableContent.d.ts +48 -0
  84. package/dist/esm/components/data-table/BaseTableContent.js +38 -0
  85. package/dist/esm/components/data-table/BaseTableContent.js.map +1 -0
  86. package/dist/esm/components/data-table/BaseTableInner.d.ts +11 -0
  87. package/dist/esm/components/data-table/BaseTableInner.js +35 -0
  88. package/dist/esm/components/data-table/BaseTableInner.js.map +1 -0
  89. package/dist/esm/components/data-table/BaseTableStackedLayout.d.ts +31 -0
  90. package/dist/esm/components/data-table/BaseTableStackedLayout.js +137 -0
  91. package/dist/esm/components/data-table/BaseTableStackedLayout.js.map +1 -0
  92. package/dist/esm/components/data-table/DataTable.d.ts +18 -0
  93. package/dist/esm/components/data-table/DataTable.js +97 -0
  94. package/dist/esm/components/data-table/DataTable.js.map +1 -0
  95. package/dist/esm/components/data-table/DataTable.types.d.ts +203 -0
  96. package/dist/esm/components/data-table/DataTable.types.js +25 -0
  97. package/dist/esm/components/data-table/DataTable.types.js.map +1 -0
  98. package/dist/esm/components/data-table/DataTableController.d.ts +19 -0
  99. package/dist/esm/components/data-table/DataTableController.js +31 -0
  100. package/dist/esm/components/data-table/DataTableController.js.map +1 -0
  101. package/dist/esm/components/data-table/DefaultPagination.d.ts +7 -0
  102. package/dist/esm/components/data-table/DefaultPagination.js +62 -0
  103. package/dist/esm/components/data-table/DefaultPagination.js.map +1 -0
  104. package/dist/esm/components/data-table/DefaultTableLayout.d.ts +28 -0
  105. package/dist/esm/components/data-table/DefaultTableLayout.js +70 -0
  106. package/dist/esm/components/data-table/DefaultTableLayout.js.map +1 -0
  107. package/dist/esm/components/data-table/EmptyState.d.ts +19 -0
  108. package/dist/esm/components/data-table/EmptyState.js +16 -0
  109. package/dist/esm/components/data-table/EmptyState.js.map +1 -0
  110. package/dist/esm/components/data-table/LoadingState.d.ts +19 -0
  111. package/dist/esm/components/data-table/LoadingState.js +34 -0
  112. package/dist/esm/components/data-table/LoadingState.js.map +1 -0
  113. package/dist/esm/components/data-table/TableAction.d.ts +21 -0
  114. package/dist/esm/components/data-table/TableAction.js +26 -0
  115. package/dist/esm/components/data-table/TableAction.js.map +1 -0
  116. package/dist/esm/components/data-table/TableActionMenu.d.ts +20 -0
  117. package/dist/esm/components/data-table/TableActionMenu.js +31 -0
  118. package/dist/esm/components/data-table/TableActionMenu.js.map +1 -0
  119. package/dist/esm/components/data-table/TableLayoutRenderer.d.ts +48 -0
  120. package/dist/esm/components/data-table/TableLayoutRenderer.js +45 -0
  121. package/dist/esm/components/data-table/TableLayoutRenderer.js.map +1 -0
  122. package/dist/esm/components/data-table/Toolbar.d.ts +17 -0
  123. package/dist/esm/components/data-table/Toolbar.js +176 -0
  124. package/dist/esm/components/data-table/Toolbar.js.map +1 -0
  125. package/dist/esm/components/data-table/ToolbarRegistry.d.ts +66 -0
  126. package/dist/esm/components/data-table/ToolbarRegistry.js +89 -0
  127. package/dist/esm/components/data-table/ToolbarRegistry.js.map +1 -0
  128. package/dist/esm/components/data-table/ToolbarRenderer.d.ts +45 -0
  129. package/dist/esm/components/data-table/ToolbarRenderer.js +137 -0
  130. package/dist/esm/components/data-table/ToolbarRenderer.js.map +1 -0
  131. package/dist/esm/components/data-table/contexts/FilterHelpers.d.ts +30 -0
  132. package/dist/esm/components/data-table/contexts/FilterHelpers.js +60 -0
  133. package/dist/esm/components/data-table/contexts/FilterHelpers.js.map +1 -0
  134. package/dist/esm/components/data-table/contexts/RefineTable.d.ts +25 -0
  135. package/dist/esm/components/data-table/contexts/RefineTable.js +69 -0
  136. package/dist/esm/components/data-table/contexts/RefineTable.js.map +1 -0
  137. package/dist/esm/components/data-table/contexts/TableConfig.d.ts +24 -0
  138. package/dist/esm/components/data-table/contexts/TableConfig.js +29 -0
  139. package/dist/esm/components/data-table/contexts/TableConfig.js.map +1 -0
  140. package/dist/esm/components/data-table/contexts/TableInstance.d.ts +20 -0
  141. package/dist/esm/components/data-table/contexts/TableInstance.js +21 -0
  142. package/dist/esm/components/data-table/contexts/TableInstance.js.map +1 -0
  143. package/dist/esm/components/data-table/contexts/index.d.ts +5 -0
  144. package/dist/esm/components/data-table/contexts/index.js +6 -0
  145. package/dist/esm/components/data-table/filterColumnsForMobile.d.ts +16 -0
  146. package/dist/esm/components/data-table/filterColumnsForMobile.js +31 -0
  147. package/dist/esm/components/data-table/filterColumnsForMobile.js.map +1 -0
  148. package/dist/esm/components/data-table/index.d.ts +50 -0
  149. package/dist/esm/components/data-table/index.js +39 -0
  150. package/dist/esm/components/data-table/register.d.ts +1 -0
  151. package/dist/esm/components/data-table/register.js +1 -0
  152. package/dist/esm/components/data-table/tableOptions.d.ts +18 -0
  153. package/dist/esm/components/data-table/tableOptions.js +40 -0
  154. package/dist/esm/components/data-table/tableOptions.js.map +1 -0
  155. package/dist/esm/components/data-table/toolbarItems/FilterGroup.d.ts +18 -0
  156. package/dist/esm/components/data-table/toolbarItems/FilterGroup.js +105 -0
  157. package/dist/esm/components/data-table/toolbarItems/FilterGroup.js.map +1 -0
  158. package/dist/esm/components/data-table/toolbarItems/FilterResolver.d.ts +22 -0
  159. package/dist/esm/components/data-table/toolbarItems/FilterResolver.js +74 -0
  160. package/dist/esm/components/data-table/toolbarItems/FilterResolver.js.map +1 -0
  161. package/dist/esm/components/data-table/toolbarItems/filters/BaseFilter.d.ts +27 -0
  162. package/dist/esm/components/data-table/toolbarItems/filters/BaseFilter.js +29 -0
  163. package/dist/esm/components/data-table/toolbarItems/filters/BaseFilter.js.map +1 -0
  164. package/dist/esm/components/data-table/toolbarItems/filters/FilterRegistry.d.ts +52 -0
  165. package/dist/esm/components/data-table/toolbarItems/filters/FilterRegistry.js +57 -0
  166. package/dist/esm/components/data-table/toolbarItems/filters/FilterRegistry.js.map +1 -0
  167. package/dist/esm/components/data-table/toolbarItems/filters/components/BooleanFilter.d.ts +12 -0
  168. package/dist/esm/components/data-table/toolbarItems/filters/components/BooleanFilter.js +34 -0
  169. package/dist/esm/components/data-table/toolbarItems/filters/components/BooleanFilter.js.map +1 -0
  170. package/dist/esm/components/data-table/toolbarItems/filters/components/DateFilter.d.ts +12 -0
  171. package/dist/esm/components/data-table/toolbarItems/filters/components/DateFilter.js +25 -0
  172. package/dist/esm/components/data-table/toolbarItems/filters/components/DateFilter.js.map +1 -0
  173. package/dist/esm/components/data-table/toolbarItems/filters/components/MultiSelectFilter.d.ts +13 -0
  174. package/dist/esm/components/data-table/toolbarItems/filters/components/MultiSelectFilter.js +44 -0
  175. package/dist/esm/components/data-table/toolbarItems/filters/components/MultiSelectFilter.js.map +1 -0
  176. package/dist/esm/components/data-table/toolbarItems/filters/components/NumberFilter.d.ts +12 -0
  177. package/dist/esm/components/data-table/toolbarItems/filters/components/NumberFilter.js +29 -0
  178. package/dist/esm/components/data-table/toolbarItems/filters/components/NumberFilter.js.map +1 -0
  179. package/dist/esm/components/data-table/toolbarItems/filters/components/RangeFilter.d.ts +16 -0
  180. package/dist/esm/components/data-table/toolbarItems/filters/components/RangeFilter.js +61 -0
  181. package/dist/esm/components/data-table/toolbarItems/filters/components/RangeFilter.js.map +1 -0
  182. package/dist/esm/components/data-table/toolbarItems/filters/components/SearchFilter.d.ts +12 -0
  183. package/dist/esm/components/data-table/toolbarItems/filters/components/SearchFilter.js +33 -0
  184. package/dist/esm/components/data-table/toolbarItems/filters/components/SearchFilter.js.map +1 -0
  185. package/dist/esm/components/data-table/toolbarItems/filters/components/SelectFilter.d.ts +13 -0
  186. package/dist/esm/components/data-table/toolbarItems/filters/components/SelectFilter.js +95 -0
  187. package/dist/esm/components/data-table/toolbarItems/filters/components/SelectFilter.js.map +1 -0
  188. package/dist/esm/components/data-table/toolbarItems/filters/components/TextFilter.d.ts +12 -0
  189. package/dist/esm/components/data-table/toolbarItems/filters/components/TextFilter.js +25 -0
  190. package/dist/esm/components/data-table/toolbarItems/filters/components/TextFilter.js.map +1 -0
  191. package/dist/esm/components/data-table/toolbarItems/filters/components/index.d.ts +9 -0
  192. package/dist/esm/components/data-table/toolbarItems/filters/components/index.js +10 -0
  193. package/dist/esm/components/data-table/toolbarItems/filters/hooks/useFilterOperators.d.ts +43 -0
  194. package/dist/esm/components/data-table/toolbarItems/filters/hooks/useFilterOperators.js +102 -0
  195. package/dist/esm/components/data-table/toolbarItems/filters/hooks/useFilterOperators.js.map +1 -0
  196. package/dist/esm/components/data-table/toolbarItems/filters/hooks/useFilterTooltip.d.ts +19 -0
  197. package/dist/esm/components/data-table/toolbarItems/filters/hooks/useFilterTooltip.js +34 -0
  198. package/dist/esm/components/data-table/toolbarItems/filters/hooks/useFilterTooltip.js.map +1 -0
  199. package/dist/esm/components/data-table/toolbarItems/filters/index.d.ts +11 -0
  200. package/dist/esm/components/data-table/toolbarItems/filters/index.js +13 -0
  201. package/dist/esm/components/data-table/toolbarItems/filters/register.d.ts +1 -0
  202. package/dist/esm/components/data-table/toolbarItems/filters/register.js +8 -0
  203. package/dist/esm/components/data-table/toolbarItems/filters/types.d.ts +140 -0
  204. package/dist/esm/components/data-table/toolbarItems/filters/types.js +58 -0
  205. package/dist/esm/components/data-table/toolbarItems/filters/types.js.map +1 -0
  206. package/dist/esm/components/data-table/toolbarItems/filters/util.d.ts +24 -0
  207. package/dist/esm/components/data-table/toolbarItems/filters/util.js +43 -0
  208. package/dist/esm/components/data-table/toolbarItems/filters/util.js.map +1 -0
  209. package/dist/esm/components/data-table/toolbarItems/index.d.ts +17 -0
  210. package/dist/esm/components/data-table/toolbarItems/index.js +18 -0
  211. package/dist/esm/components/data-table/toolbarItems/items/custom.d.ts +15 -0
  212. package/dist/esm/components/data-table/toolbarItems/items/custom.js +19 -0
  213. package/dist/esm/components/data-table/toolbarItems/items/custom.js.map +1 -0
  214. package/dist/esm/components/data-table/toolbarItems/items/index.d.ts +6 -0
  215. package/dist/esm/components/data-table/toolbarItems/items/index.js +6 -0
  216. package/dist/esm/components/data-table/toolbarItems/items/refresh.d.ts +7 -0
  217. package/dist/esm/components/data-table/toolbarItems/items/refresh.js +36 -0
  218. package/dist/esm/components/data-table/toolbarItems/items/refresh.js.map +1 -0
  219. package/dist/esm/components/data-table/toolbarItems/items/search.d.ts +7 -0
  220. package/dist/esm/components/data-table/toolbarItems/items/search.js +66 -0
  221. package/dist/esm/components/data-table/toolbarItems/items/search.js.map +1 -0
  222. package/dist/esm/components/data-table/toolbarItems/items/separator.d.ts +16 -0
  223. package/dist/esm/components/data-table/toolbarItems/items/separator.js +20 -0
  224. package/dist/esm/components/data-table/toolbarItems/items/separator.js.map +1 -0
  225. package/dist/esm/components/data-table/toolbarItems/register.d.ts +24 -0
  226. package/dist/esm/components/data-table/toolbarItems/register.js +119 -0
  227. package/dist/esm/components/data-table/toolbarItems/register.js.map +1 -0
  228. package/dist/esm/components/data-table/useMobileDetection.d.ts +18 -0
  229. package/dist/esm/components/data-table/useMobileDetection.js +32 -0
  230. package/dist/esm/components/data-table/useMobileDetection.js.map +1 -0
  231. package/dist/esm/components/data-table/useTableHandlers.d.ts +57 -0
  232. package/dist/esm/components/data-table/useTableHandlers.js +69 -0
  233. package/dist/esm/components/data-table/useTableHandlers.js.map +1 -0
  234. package/dist/esm/components/data-table/useTableLayoutSelector.d.ts +16 -0
  235. package/dist/esm/components/data-table/useTableLayoutSelector.js +12 -0
  236. package/dist/esm/components/data-table/useTableLayoutSelector.js.map +1 -0
  237. package/dist/esm/components/dialog/Dialog.context.d.ts +18 -0
  238. package/dist/esm/components/dialog/Dialog.context.js +80 -0
  239. package/dist/esm/components/dialog/Dialog.context.js.map +1 -0
  240. package/dist/esm/components/dialog/Dialog.registry.d.ts +22 -0
  241. package/dist/esm/components/dialog/Dialog.registry.js +24 -0
  242. package/dist/esm/components/dialog/Dialog.registry.js.map +1 -0
  243. package/dist/esm/components/dialog/Dialog.renderer.d.ts +9 -0
  244. package/dist/esm/components/dialog/Dialog.renderer.js +63 -0
  245. package/dist/esm/components/dialog/Dialog.renderer.js.map +1 -0
  246. package/dist/esm/components/dialog/Dialog.types.d.ts +273 -0
  247. package/dist/esm/components/dialog/Dialog.types.js +233 -0
  248. package/dist/esm/components/dialog/Dialog.types.js.map +1 -0
  249. package/dist/esm/components/dialog/DialogActions.context.d.ts +13 -0
  250. package/dist/esm/components/dialog/DialogActions.context.js +13 -0
  251. package/dist/esm/components/dialog/DialogActions.context.js.map +1 -0
  252. package/dist/esm/components/dialog/DialogContainer.d.ts +15 -0
  253. package/dist/esm/components/dialog/DialogContainer.js +37 -0
  254. package/dist/esm/components/dialog/DialogContainer.js.map +1 -0
  255. package/dist/esm/components/dialog/DialogContent.d.ts +14 -0
  256. package/dist/esm/components/dialog/DialogContent.js +18 -0
  257. package/dist/esm/components/dialog/DialogContent.js.map +1 -0
  258. package/dist/esm/components/dialog/DialogFooterContent.d.ts +14 -0
  259. package/dist/esm/components/dialog/DialogFooterContent.js +20 -0
  260. package/dist/esm/components/dialog/DialogFooterContent.js.map +1 -0
  261. package/dist/esm/components/dialog/DialogHeaderContent.d.ts +12 -0
  262. package/dist/esm/components/dialog/DialogHeaderContent.js +24 -0
  263. package/dist/esm/components/dialog/DialogHeaderContent.js.map +1 -0
  264. package/dist/esm/components/dialog/DialogState.context.d.ts +11 -0
  265. package/dist/esm/components/dialog/DialogState.context.js +11 -0
  266. package/dist/esm/components/dialog/DialogState.context.js.map +1 -0
  267. package/dist/esm/components/dialog/index.d.ts +6 -0
  268. package/dist/esm/components/dialog/index.js +8 -0
  269. package/dist/esm/components/dialog/types/AlertDialog.d.ts +19 -0
  270. package/dist/esm/components/dialog/types/AlertDialog.js +29 -0
  271. package/dist/esm/components/dialog/types/AlertDialog.js.map +1 -0
  272. package/dist/esm/components/dialog/types/ConfirmDialog.d.ts +17 -0
  273. package/dist/esm/components/dialog/types/ConfirmDialog.js +24 -0
  274. package/dist/esm/components/dialog/types/ConfirmDialog.js.map +1 -0
  275. package/dist/esm/components/dialog/types/CustomDialog.d.ts +28 -0
  276. package/dist/esm/components/dialog/types/CustomDialog.js +17 -0
  277. package/dist/esm/components/dialog/types/CustomDialog.js.map +1 -0
  278. package/dist/esm/components/dialog/types/FormDialog.d.ts +22 -0
  279. package/dist/esm/components/dialog/types/FormDialog.js +46 -0
  280. package/dist/esm/components/dialog/types/FormDialog.js.map +1 -0
  281. package/dist/esm/components/dialog/types/WizardDialog.d.ts +29 -0
  282. package/dist/esm/components/dialog/types/WizardDialog.js +43 -0
  283. package/dist/esm/components/dialog/types/WizardDialog.js.map +1 -0
  284. package/dist/esm/components/dialog/utils/dialogClasses.d.ts +7 -0
  285. package/dist/esm/components/dialog/utils/dialogClasses.js +14 -0
  286. package/dist/esm/components/dialog/utils/dialogClasses.js.map +1 -0
  287. package/dist/esm/components/dialog/utils/dialogDetection.d.ts +32 -0
  288. package/dist/esm/components/dialog/utils/dialogDetection.js +47 -0
  289. package/dist/esm/components/dialog/utils/dialogDetection.js.map +1 -0
  290. package/dist/esm/components/dialog/utils/index.d.ts +3 -0
  291. package/dist/esm/components/dialog/utils/index.js +4 -0
  292. package/dist/esm/components/editor/BlockTypeDropdown.d.ts +12 -0
  293. package/dist/esm/components/editor/BlockTypeDropdown.js +57 -0
  294. package/dist/esm/components/editor/BlockTypeDropdown.js.map +1 -0
  295. package/dist/esm/components/editor/Editor.d.ts +7 -0
  296. package/dist/esm/components/editor/Editor.js +17 -0
  297. package/dist/esm/components/editor/Editor.js.map +1 -0
  298. package/dist/esm/components/editor/EditorInner.d.ts +14 -0
  299. package/dist/esm/components/editor/EditorInner.js +107 -0
  300. package/dist/esm/components/editor/EditorInner.js.map +1 -0
  301. package/dist/esm/components/editor/Preview.d.ts +5 -0
  302. package/dist/esm/components/editor/Preview.js +18 -0
  303. package/dist/esm/components/editor/Preview.js.map +1 -0
  304. package/dist/esm/components/editor/ToolbarContext.d.ts +39 -0
  305. package/dist/esm/components/editor/ToolbarContext.js +54 -0
  306. package/dist/esm/components/editor/ToolbarContext.js.map +1 -0
  307. package/dist/esm/components/editor/ToolbarPlugin.d.ts +20 -0
  308. package/dist/esm/components/editor/ToolbarPlugin.js +194 -0
  309. package/dist/esm/components/editor/ToolbarPlugin.js.map +1 -0
  310. package/dist/esm/components/editor/formatting.d.ts +15 -0
  311. package/dist/esm/components/editor/formatting.js +117 -0
  312. package/dist/esm/components/editor/formatting.js.map +1 -0
  313. package/dist/esm/components/editor/index.d.ts +3 -0
  314. package/dist/esm/components/editor/index.js +3 -0
  315. package/dist/esm/components/form/FormGroup.d.ts +18 -0
  316. package/dist/esm/components/form/FormGroup.js +28 -0
  317. package/dist/esm/components/form/FormGroup.js.map +1 -0
  318. package/dist/esm/components/form/FormRenderer.d.ts +14 -0
  319. package/dist/esm/components/form/FormRenderer.js +179 -0
  320. package/dist/esm/components/form/FormRenderer.js.map +1 -0
  321. package/dist/esm/components/form/SchemaForm.d.ts +18 -0
  322. package/dist/esm/components/form/SchemaForm.js +172 -0
  323. package/dist/esm/components/form/SchemaForm.js.map +1 -0
  324. package/dist/esm/components/form/StepControlContext.d.ts +199 -0
  325. package/dist/esm/components/form/StepControlContext.js +249 -0
  326. package/dist/esm/components/form/StepControlContext.js.map +1 -0
  327. package/dist/esm/components/form/StepSchemaForm.d.ts +22 -0
  328. package/dist/esm/components/form/StepSchemaForm.js +176 -0
  329. package/dist/esm/components/form/StepSchemaForm.js.map +1 -0
  330. package/dist/esm/components/form/WizardForm.d.ts +16 -0
  331. package/dist/esm/components/form/WizardForm.js +126 -0
  332. package/dist/esm/components/form/WizardForm.js.map +1 -0
  333. package/dist/esm/components/form/WizardStepContent.d.ts +26 -0
  334. package/dist/esm/components/form/WizardStepContent.js +46 -0
  335. package/dist/esm/components/form/WizardStepContent.js.map +1 -0
  336. package/dist/esm/components/form/__mocks__/@hookform/resolvers/zod.d.ts +8 -0
  337. package/dist/esm/components/form/adapters.d.ts +23 -0
  338. package/dist/esm/components/form/adapters.js +43 -0
  339. package/dist/esm/components/form/adapters.js.map +1 -0
  340. package/dist/esm/components/form/autocomplete/index.d.ts +3 -0
  341. package/dist/esm/components/form/autocomplete/index.js +4 -0
  342. package/dist/esm/components/form/autocomplete/register.d.ts +8 -0
  343. package/dist/esm/components/form/autocomplete/register.js +161 -0
  344. package/dist/esm/components/form/autocomplete/register.js.map +1 -0
  345. package/dist/esm/components/form/autocomplete/rules.d.ts +15 -0
  346. package/dist/esm/components/form/autocomplete/rules.js +198 -0
  347. package/dist/esm/components/form/autocomplete/rules.js.map +1 -0
  348. package/dist/esm/components/form/context.d.ts +29 -0
  349. package/dist/esm/components/form/context.js +25 -0
  350. package/dist/esm/components/form/context.js.map +1 -0
  351. package/dist/esm/components/form/fields/Checkbox.d.ts +6 -0
  352. package/dist/esm/components/form/fields/Checkbox.js +33 -0
  353. package/dist/esm/components/form/fields/Checkbox.js.map +1 -0
  354. package/dist/esm/components/form/fields/DatePicker.d.ts +6 -0
  355. package/dist/esm/components/form/fields/DatePicker.js +29 -0
  356. package/dist/esm/components/form/fields/DatePicker.js.map +1 -0
  357. package/dist/esm/components/form/fields/EmailInput.d.ts +6 -0
  358. package/dist/esm/components/form/fields/EmailInput.js +25 -0
  359. package/dist/esm/components/form/fields/EmailInput.js.map +1 -0
  360. package/dist/esm/components/form/fields/FileInput.d.ts +6 -0
  361. package/dist/esm/components/form/fields/FileInput.js +28 -0
  362. package/dist/esm/components/form/fields/FileInput.js.map +1 -0
  363. package/dist/esm/components/form/fields/Input.d.ts +6 -0
  364. package/dist/esm/components/form/fields/Input.js +30 -0
  365. package/dist/esm/components/form/fields/Input.js.map +1 -0
  366. package/dist/esm/components/form/fields/RadioGroup.d.ts +6 -0
  367. package/dist/esm/components/form/fields/RadioGroup.js +42 -0
  368. package/dist/esm/components/form/fields/RadioGroup.js.map +1 -0
  369. package/dist/esm/components/form/fields/RichText.d.ts +6 -0
  370. package/dist/esm/components/form/fields/RichText.js +30 -0
  371. package/dist/esm/components/form/fields/RichText.js.map +1 -0
  372. package/dist/esm/components/form/fields/Select.d.ts +6 -0
  373. package/dist/esm/components/form/fields/Select.js +37 -0
  374. package/dist/esm/components/form/fields/Select.js.map +1 -0
  375. package/dist/esm/components/form/fields/Slider.d.ts +6 -0
  376. package/dist/esm/components/form/fields/Slider.js +29 -0
  377. package/dist/esm/components/form/fields/Slider.js.map +1 -0
  378. package/dist/esm/components/form/fields/Switch.d.ts +6 -0
  379. package/dist/esm/components/form/fields/Switch.js +33 -0
  380. package/dist/esm/components/form/fields/Switch.js.map +1 -0
  381. package/dist/esm/components/form/fields/Textarea.d.ts +6 -0
  382. package/dist/esm/components/form/fields/Textarea.js +28 -0
  383. package/dist/esm/components/form/fields/Textarea.js.map +1 -0
  384. package/dist/esm/components/form/fields/index.d.ts +13 -0
  385. package/dist/esm/components/form/fields/index.js +14 -0
  386. package/dist/esm/components/form/fields/registry.d.ts +11 -0
  387. package/dist/esm/components/form/fields/registry.js +15 -0
  388. package/dist/esm/components/form/fields/registry.js.map +1 -0
  389. package/dist/esm/components/form/fields/types.d.ts +37 -0
  390. package/dist/esm/components/form/fields/types.js +21 -0
  391. package/dist/esm/components/form/fields/types.js.map +1 -0
  392. package/dist/esm/components/form/handlers/core.d.ts +19 -0
  393. package/dist/esm/components/form/handlers/core.js +51 -0
  394. package/dist/esm/components/form/handlers/core.js.map +1 -0
  395. package/dist/esm/components/form/handlers/step.d.ts +19 -0
  396. package/dist/esm/components/form/handlers/step.js +40 -0
  397. package/dist/esm/components/form/handlers/step.js.map +1 -0
  398. package/dist/esm/components/form/index.d.ts +26 -0
  399. package/dist/esm/components/form/index.js +28 -0
  400. package/dist/esm/components/form/register.d.ts +5 -0
  401. package/dist/esm/components/form/register.js +31 -0
  402. package/dist/esm/components/form/register.js.map +1 -0
  403. package/dist/esm/components/form/types.d.ts +521 -0
  404. package/dist/esm/components/form/types.js +69 -0
  405. package/dist/esm/components/form/types.js.map +1 -0
  406. package/dist/esm/components/form/utils/animationUtils.d.ts +14 -0
  407. package/dist/esm/components/form/utils/animationUtils.js +20 -0
  408. package/dist/esm/components/form/utils/animationUtils.js.map +1 -0
  409. package/dist/esm/components/form/utils/autoSave.d.ts +8 -0
  410. package/dist/esm/components/form/utils/autoSave.js +17 -0
  411. package/dist/esm/components/form/utils/autoSave.js.map +1 -0
  412. package/dist/esm/components/form/utils/index.d.ts +4 -0
  413. package/dist/esm/components/form/utils/index.js +5 -0
  414. package/dist/esm/components/form/utils/stepRetry.d.ts +12 -0
  415. package/dist/esm/components/form/utils/stepRetry.js +16 -0
  416. package/dist/esm/components/form/utils/stepRetry.js.map +1 -0
  417. package/dist/esm/components/index.d.ts +126 -0
  418. package/dist/esm/components/index.js +130 -0
  419. package/dist/esm/components/layout/DesktopSidebar.d.ts +5 -0
  420. package/dist/esm/components/layout/DesktopSidebar.js +51 -0
  421. package/dist/esm/components/layout/DesktopSidebar.js.map +1 -0
  422. package/dist/esm/components/layout/GeneralLayout.d.ts +5 -0
  423. package/dist/esm/components/layout/GeneralLayout.js +34 -0
  424. package/dist/esm/components/layout/GeneralLayout.js.map +1 -0
  425. package/dist/esm/components/layout/MobileMenu.d.ts +5 -0
  426. package/dist/esm/components/layout/MobileMenu.js +48 -0
  427. package/dist/esm/components/layout/MobileMenu.js.map +1 -0
  428. package/dist/esm/components/layout/PageHeader.d.ts +16 -0
  429. package/dist/esm/components/layout/PageHeader.js +20 -0
  430. package/dist/esm/components/layout/PageHeader.js.map +1 -0
  431. package/dist/esm/components/layout/SidebarContext.d.ts +10 -0
  432. package/dist/esm/components/layout/SidebarContext.js +27 -0
  433. package/dist/esm/components/layout/SidebarContext.js.map +1 -0
  434. package/dist/esm/components/layout/SidebarToggle.d.ts +12 -0
  435. package/dist/esm/components/layout/SidebarToggle.js +23 -0
  436. package/dist/esm/components/layout/SidebarToggle.js.map +1 -0
  437. package/dist/esm/components/layout/UserNav.d.ts +5 -0
  438. package/dist/esm/components/layout/UserNav.js +110 -0
  439. package/dist/esm/components/layout/UserNav.js.map +1 -0
  440. package/dist/esm/components/layout/index.d.ts +7 -0
  441. package/dist/esm/components/layout/index.js +9 -0
  442. package/dist/esm/components/screen-reader/ScreenReaderAnnouncement.d.ts +23 -0
  443. package/dist/esm/components/screen-reader/ScreenReaderAnnouncement.js +28 -0
  444. package/dist/esm/components/screen-reader/ScreenReaderAnnouncement.js.map +1 -0
  445. package/dist/esm/components/screen-reader/hooks/useScreenReaderAnnouncement.d.ts +10 -0
  446. package/dist/esm/components/screen-reader/hooks/useScreenReaderAnnouncement.js +30 -0
  447. package/dist/esm/components/screen-reader/hooks/useScreenReaderAnnouncement.js.map +1 -0
  448. package/dist/esm/components/shared/UnifiedFooter.d.ts +17 -0
  449. package/dist/esm/components/shared/UnifiedFooter.js +210 -0
  450. package/dist/esm/components/shared/UnifiedFooter.js.map +1 -0
  451. package/dist/esm/components/shared/UnifiedHeader.d.ts +17 -0
  452. package/dist/esm/components/shared/UnifiedHeader.js +48 -0
  453. package/dist/esm/components/shared/UnifiedHeader.js.map +1 -0
  454. package/dist/esm/components/shared/context/FooterContext.d.ts +18 -0
  455. package/dist/esm/components/shared/context/FooterContext.js +24 -0
  456. package/dist/esm/components/shared/context/FooterContext.js.map +1 -0
  457. package/dist/esm/components/shared/context/HeaderContext.d.ts +18 -0
  458. package/dist/esm/components/shared/context/HeaderContext.js +23 -0
  459. package/dist/esm/components/shared/context/HeaderContext.js.map +1 -0
  460. package/dist/esm/components/shared/context/index.d.ts +3 -0
  461. package/dist/esm/components/shared/context/index.js +4 -0
  462. package/dist/esm/components/shared/environment/builders.d.ts +95 -0
  463. package/dist/esm/components/shared/environment/builders.js +163 -0
  464. package/dist/esm/components/shared/environment/builders.js.map +1 -0
  465. package/dist/esm/components/shared/environment/index.d.ts +7 -0
  466. package/dist/esm/components/shared/environment/index.js +3 -0
  467. package/dist/esm/components/shared/footers/ActionsFooter.d.ts +11 -0
  468. package/dist/esm/components/shared/footers/ActionsFooter.js +19 -0
  469. package/dist/esm/components/shared/footers/ActionsFooter.js.map +1 -0
  470. package/dist/esm/components/shared/footers/DefaultFooter.d.ts +13 -0
  471. package/dist/esm/components/shared/footers/DefaultFooter.js +20 -0
  472. package/dist/esm/components/shared/footers/DefaultFooter.js.map +1 -0
  473. package/dist/esm/components/shared/footers/FormFooter.d.ts +15 -0
  474. package/dist/esm/components/shared/footers/FormFooter.js +28 -0
  475. package/dist/esm/components/shared/footers/FormFooter.js.map +1 -0
  476. package/dist/esm/components/shared/footers/StepFormFooter.d.ts +15 -0
  477. package/dist/esm/components/shared/footers/StepFormFooter.js +28 -0
  478. package/dist/esm/components/shared/footers/StepFormFooter.js.map +1 -0
  479. package/dist/esm/components/shared/footers/WizardFooter.d.ts +12 -0
  480. package/dist/esm/components/shared/footers/WizardFooter.js +72 -0
  481. package/dist/esm/components/shared/footers/WizardFooter.js.map +1 -0
  482. package/dist/esm/components/shared/footers/index.d.ts +6 -0
  483. package/dist/esm/components/shared/footers/index.js +7 -0
  484. package/dist/esm/components/shared/headers/DefaultHeader.d.ts +13 -0
  485. package/dist/esm/components/shared/headers/DefaultHeader.js +30 -0
  486. package/dist/esm/components/shared/headers/DefaultHeader.js.map +1 -0
  487. package/dist/esm/components/shared/headers/FormHeader.d.ts +12 -0
  488. package/dist/esm/components/shared/headers/FormHeader.js +31 -0
  489. package/dist/esm/components/shared/headers/FormHeader.js.map +1 -0
  490. package/dist/esm/components/shared/headers/WizardHeader.d.ts +9 -0
  491. package/dist/esm/components/shared/headers/WizardHeader.js +116 -0
  492. package/dist/esm/components/shared/headers/WizardHeader.js.map +1 -0
  493. package/dist/esm/components/shared/headers/index.d.ts +4 -0
  494. package/dist/esm/components/shared/headers/index.js +5 -0
  495. package/dist/esm/components/shared/hooks/index.d.ts +3 -0
  496. package/dist/esm/components/shared/hooks/index.js +4 -0
  497. package/dist/esm/components/shared/hooks/useEnvironmentSync.d.ts +17 -0
  498. package/dist/esm/components/shared/hooks/useEnvironmentSync.js +17 -0
  499. package/dist/esm/components/shared/hooks/useEnvironmentSync.js.map +1 -0
  500. package/dist/esm/components/shared/hooks/useForceRerender.d.ts +17 -0
  501. package/dist/esm/components/shared/hooks/useForceRerender.js +26 -0
  502. package/dist/esm/components/shared/hooks/useForceRerender.js.map +1 -0
  503. package/dist/esm/components/shared/index.d.ts +31 -0
  504. package/dist/esm/components/shared/index.js +36 -0
  505. package/dist/esm/components/shared/registry/FooterRegistry.d.ts +15 -0
  506. package/dist/esm/components/shared/registry/FooterRegistry.js +47 -0
  507. package/dist/esm/components/shared/registry/FooterRegistry.js.map +1 -0
  508. package/dist/esm/components/shared/registry/HeaderRegistry.d.ts +15 -0
  509. package/dist/esm/components/shared/registry/HeaderRegistry.js +41 -0
  510. package/dist/esm/components/shared/registry/HeaderRegistry.js.map +1 -0
  511. package/dist/esm/components/shared/registry/index.d.ts +4 -0
  512. package/dist/esm/components/shared/registry/index.js +5 -0
  513. package/dist/esm/components/shared/registry/types.d.ts +23 -0
  514. package/dist/esm/components/shared/registry/types.js +21 -0
  515. package/dist/esm/components/shared/registry/types.js.map +1 -0
  516. package/dist/esm/components/shared/types/container.d.ts +70 -0
  517. package/dist/esm/components/shared/types/container.js +35 -0
  518. package/dist/esm/components/shared/types/container.js.map +1 -0
  519. package/dist/esm/components/shared/types/environment.d.ts +25 -0
  520. package/dist/esm/components/shared/types/environment.js +0 -0
  521. package/dist/esm/components/shared/types/footer.d.ts +121 -0
  522. package/dist/esm/components/shared/types/footer.js +58 -0
  523. package/dist/esm/components/shared/types/footer.js.map +1 -0
  524. package/dist/esm/components/shared/types/form.d.ts +120 -0
  525. package/dist/esm/components/shared/types/form.js +47 -0
  526. package/dist/esm/components/shared/types/form.js.map +1 -0
  527. package/dist/esm/components/shared/types/header.d.ts +81 -0
  528. package/dist/esm/components/shared/types/header.js +38 -0
  529. package/dist/esm/components/shared/types/header.js.map +1 -0
  530. package/dist/esm/components/shared/types/index.d.ts +8 -0
  531. package/dist/esm/components/shared/types/index.js +7 -0
  532. package/dist/esm/components/shared/types/navigation.d.ts +9 -0
  533. package/dist/esm/components/shared/types/navigation.js +0 -0
  534. package/dist/esm/components/shared/types/step.d.ts +104 -0
  535. package/dist/esm/components/shared/types/step.js +31 -0
  536. package/dist/esm/components/shared/types/step.js.map +1 -0
  537. package/dist/esm/components/shared/utils/createEnvironmentReceiver.d.ts +23 -0
  538. package/dist/esm/components/shared/utils/createEnvironmentReceiver.js +30 -0
  539. package/dist/esm/components/shared/utils/createEnvironmentReceiver.js.map +1 -0
  540. package/dist/esm/components/shared/utils/createForceRerenderReceiver.d.ts +22 -0
  541. package/dist/esm/components/shared/utils/createForceRerenderReceiver.js +30 -0
  542. package/dist/esm/components/shared/utils/createForceRerenderReceiver.js.map +1 -0
  543. package/dist/esm/components/shared/utils/index.d.ts +6 -0
  544. package/dist/esm/components/shared/utils/index.js +7 -0
  545. package/dist/esm/components/shared/utils/renderFooter.d.ts +37 -0
  546. package/dist/esm/components/shared/utils/renderFooter.js +99 -0
  547. package/dist/esm/components/shared/utils/renderFooter.js.map +1 -0
  548. package/dist/esm/components/shared/utils/renderHeader.d.ts +39 -0
  549. package/dist/esm/components/shared/utils/renderHeader.js +120 -0
  550. package/dist/esm/components/shared/utils/renderHeader.js.map +1 -0
  551. package/dist/esm/components/shared/utils/stepState.d.ts +36 -0
  552. package/dist/esm/components/shared/utils/stepState.js +61 -0
  553. package/dist/esm/components/shared/utils/stepState.js.map +1 -0
  554. package/dist/esm/components/sizing/index.d.ts +97 -0
  555. package/dist/esm/components/sizing/index.js +79 -0
  556. package/dist/esm/components/sizing/index.js.map +1 -0
  557. package/dist/esm/hooks/index.d.ts +16 -0
  558. package/dist/esm/hooks/index.js +17 -0
  559. package/dist/esm/hooks/useAccountSubdomain.d.ts +5 -0
  560. package/dist/esm/hooks/useAccountSubdomain.js +11 -0
  561. package/dist/esm/hooks/useAccountSubdomain.js.map +1 -0
  562. package/dist/esm/hooks/useAccountUrl.d.ts +5 -0
  563. package/dist/esm/hooks/useAccountUrl.js +27 -0
  564. package/dist/esm/hooks/useAccountUrl.js.map +1 -0
  565. package/dist/esm/hooks/useApiUrl.d.ts +5 -0
  566. package/dist/esm/hooks/useApiUrl.js +14 -0
  567. package/dist/esm/hooks/useApiUrl.js.map +1 -0
  568. package/dist/esm/hooks/useAvatar.d.ts +10 -0
  569. package/dist/esm/hooks/useAvatar.js +20 -0
  570. package/dist/esm/hooks/useAvatar.js.map +1 -0
  571. package/dist/esm/hooks/useFeatureFlag.d.ts +5 -0
  572. package/dist/esm/hooks/useFeatureFlag.js +10 -0
  573. package/dist/esm/hooks/useFeatureFlag.js.map +1 -0
  574. package/dist/esm/hooks/useLoginUrl.d.ts +5 -0
  575. package/dist/esm/hooks/useLoginUrl.js +10 -0
  576. package/dist/esm/hooks/useLoginUrl.js.map +1 -0
  577. package/dist/esm/hooks/useMenuItems.d.ts +12 -0
  578. package/dist/esm/hooks/useMenuItems.js +16 -0
  579. package/dist/esm/hooks/useMenuItems.js.map +1 -0
  580. package/dist/esm/hooks/usePluginMeta.d.ts +5 -0
  581. package/dist/esm/hooks/usePluginMeta.js +11 -0
  582. package/dist/esm/hooks/usePluginMeta.js.map +1 -0
  583. package/dist/esm/hooks/usePortalMeta.d.ts +7 -0
  584. package/dist/esm/hooks/usePortalMeta.js +10 -0
  585. package/dist/esm/hooks/usePortalMeta.js.map +1 -0
  586. package/dist/esm/hooks/usePortalUrl.d.ts +5 -0
  587. package/dist/esm/hooks/usePortalUrl.js +20 -0
  588. package/dist/esm/hooks/usePortalUrl.js.map +1 -0
  589. package/dist/esm/hooks/useProtocolDomain.d.ts +5 -0
  590. package/dist/esm/hooks/useProtocolDomain.js +12 -0
  591. package/dist/esm/hooks/useProtocolDomain.js.map +1 -0
  592. package/dist/esm/hooks/useRegisterUrl.d.ts +5 -0
  593. package/dist/esm/hooks/useRegisterUrl.js +10 -0
  594. package/dist/esm/hooks/useRegisterUrl.js.map +1 -0
  595. package/dist/esm/hooks/useResetPasswordUrl.d.ts +5 -0
  596. package/dist/esm/hooks/useResetPasswordUrl.js +10 -0
  597. package/dist/esm/hooks/useResetPasswordUrl.js.map +1 -0
  598. package/dist/esm/hooks/useSdk.d.ts +8 -0
  599. package/dist/esm/hooks/useSdk.js +33 -0
  600. package/dist/esm/hooks/useSdk.js.map +1 -0
  601. package/dist/esm/hooks/useTheme.d.ts +41 -0
  602. package/dist/esm/hooks/useTheme.js +79 -0
  603. package/dist/esm/hooks/useTheme.js.map +1 -0
  604. package/dist/esm/image.d.ts +6 -0
  605. package/dist/esm/images/account-banner-image.js +6 -0
  606. package/dist/esm/images/account-banner-image.js.map +1 -0
  607. package/dist/esm/images/discord-logo.js +6 -0
  608. package/dist/esm/images/discord-logo.js.map +1 -0
  609. package/dist/esm/images/lume-bg-image.js +6 -0
  610. package/dist/esm/images/lume-bg-image.js.map +1 -0
  611. package/dist/esm/images/lume-bg-login.js +6 -0
  612. package/dist/esm/images/lume-bg-login.js.map +1 -0
  613. package/dist/esm/images/lume-color-logo.js +6 -0
  614. package/dist/esm/images/lume-color-logo.js.map +1 -0
  615. package/dist/esm/images/lume-logo.js +6 -0
  616. package/dist/esm/images/lume-logo.js.map +1 -0
  617. package/dist/esm/images.d.ts +11 -0
  618. package/dist/esm/images.js +19 -0
  619. package/dist/esm/images.js.map +1 -0
  620. package/dist/esm/index.d.ts +150 -0
  621. package/dist/esm/index.js +149 -0
  622. package/dist/esm/store/appStore.d.ts +50 -0
  623. package/dist/esm/store/appStore.js +139 -0
  624. package/dist/esm/store/appStore.js.map +1 -0
  625. package/dist/esm/store/index.d.ts +5 -0
  626. package/dist/esm/store/index.js +6 -0
  627. package/dist/esm/store/portalStore.d.ts +33 -0
  628. package/dist/esm/store/portalStore.js +58 -0
  629. package/dist/esm/store/portalStore.js.map +1 -0
  630. package/dist/esm/store/saved-filters.d.ts +54 -0
  631. package/dist/esm/store/saved-filters.js +158 -0
  632. package/dist/esm/store/saved-filters.js.map +1 -0
  633. package/dist/esm/store/uiStore.d.ts +11 -0
  634. package/dist/esm/store/uiStore.js +16 -0
  635. package/dist/esm/store/uiStore.js.map +1 -0
  636. package/dist/esm/tests/portalMetaMocks.d.ts +16 -0
  637. package/dist/esm/tests/portalMetaMocks.js +15 -0
  638. package/dist/esm/tests/portalMetaMocks.js.map +1 -0
  639. package/dist/esm/types/badge.d.ts +16 -0
  640. package/dist/esm/types/badge.js +42 -0
  641. package/dist/esm/types/badge.js.map +1 -0
  642. package/dist/esm/types/index.d.ts +3 -0
  643. package/dist/esm/types/index.js +3 -0
  644. package/dist/esm/types/theme.d.ts +35 -0
  645. package/dist/esm/types/theme.js +0 -0
  646. package/dist/esm/utils/asyncUtils.d.ts +5 -0
  647. package/dist/esm/utils/asyncUtils.js +9 -0
  648. package/dist/esm/utils/asyncUtils.js.map +1 -0
  649. package/dist/esm/utils/fileSize.d.ts +5 -0
  650. package/dist/esm/utils/fileSize.js +18 -0
  651. package/dist/esm/utils/fileSize.js.map +1 -0
  652. package/dist/esm/utils/index.d.ts +4 -0
  653. package/dist/esm/utils/index.js +5 -0
  654. package/dist/esm/utils/theme.d.ts +197 -0
  655. package/dist/esm/utils/theme.js +689 -0
  656. package/dist/esm/utils/theme.js.map +1 -0
  657. package/package.json +75 -8
@@ -0,0 +1,194 @@
1
+ import { blockTypeToBlockName, useToolbarState } from "./ToolbarContext.js";
2
+ import BlockTypeDropdown from "./BlockTypeDropdown.js";
3
+ import { Button, Separator, Toggle } from "@lumeweb/portal-framework-ui-core";
4
+ import React, { useEffect, useState } from "react";
5
+ import { Fragment, jsx, jsxs } from "react/jsx-runtime";
6
+ import { useLexicalComposerContext } from "@lexical/react/LexicalComposerContext";
7
+ import { $isListNode } from "@lexical/list";
8
+ import { $isHeadingNode } from "@lexical/rich-text";
9
+ import { $findMatchingParent, mergeRegister } from "@lexical/utils";
10
+ import { $getSelection, $isRangeSelection, $isRootOrShadowRoot, CAN_REDO_COMMAND, CAN_UNDO_COMMAND, COMMAND_PRIORITY_CRITICAL, FORMAT_TEXT_COMMAND, REDO_COMMAND, SELECTION_CHANGE_COMMAND, UNDO_COMMAND } from "lexical";
11
+ import { FontBoldIcon, FontItalicIcon, ReloadIcon, UnderlineIcon } from "@radix-ui/react-icons";
12
+
13
+ //#region src/components/editor/ToolbarPlugin.tsx
14
+ const defaultToolbarOptions = [
15
+ "bold",
16
+ "italic",
17
+ "underline",
18
+ "undo",
19
+ "redo",
20
+ "blockTypes"
21
+ ];
22
+ const formatToStateKey = {
23
+ bold: "isBold",
24
+ clear: "isClear",
25
+ italic: "isItalic",
26
+ strikethrough: "isStrikethrough",
27
+ subscript: "isSubscript",
28
+ superscript: "isSuperscript",
29
+ underline: "isUnderline"
30
+ };
31
+ const ToolbarButton = ({ children, command, disabled, payload, title }) => {
32
+ const [editor] = useLexicalComposerContext();
33
+ const { toolbarState, updateToolbarState } = useToolbarState();
34
+ const isActive = command === FORMAT_TEXT_COMMAND ? toolbarState[formatToStateKey[payload]] : false;
35
+ const handleClick = () => {
36
+ editor.dispatchCommand(command, payload);
37
+ };
38
+ if (command === FORMAT_TEXT_COMMAND) {
39
+ const stateKey = formatToStateKey[payload];
40
+ return /* @__PURE__ */ jsx(Toggle, {
41
+ "aria-label": title,
42
+ disabled,
43
+ onPressedChange: (pressed) => {
44
+ handleClick();
45
+ updateToolbarState(stateKey, pressed);
46
+ if (payload === "clear") setTimeout(() => {
47
+ updateToolbarState(stateKey, false);
48
+ }, 300);
49
+ },
50
+ pressed: toolbarState[stateKey],
51
+ size: "sm",
52
+ title,
53
+ children
54
+ });
55
+ }
56
+ return /* @__PURE__ */ jsx(Button, {
57
+ className: isActive ? "bg-gray-200" : "",
58
+ disabled,
59
+ onClick: handleClick,
60
+ size: "icon",
61
+ title,
62
+ variant: "ghost",
63
+ children
64
+ });
65
+ };
66
+ function ToolbarPlugin({ enablePreview = true, isPreview, setIsPreview, toolbarOptions = defaultToolbarOptions }) {
67
+ const [editor] = useLexicalComposerContext();
68
+ const { toolbarState, updateToolbarState } = useToolbarState();
69
+ const [canUndo, setCanUndo] = useState(false);
70
+ const [canRedo, setCanRedo] = useState(false);
71
+ const $updateToolbar = React.useCallback(() => {
72
+ const selection = $getSelection();
73
+ if ($isRangeSelection(selection)) {
74
+ updateToolbarState("isBold", selection.hasFormat("bold"));
75
+ updateToolbarState("isItalic", selection.hasFormat("italic"));
76
+ updateToolbarState("isStrikethrough", selection.hasFormat("strikethrough"));
77
+ updateToolbarState("isSubscript", selection.hasFormat("subscript"));
78
+ updateToolbarState("isSuperscript", selection.hasFormat("superscript"));
79
+ updateToolbarState("isUnderline", selection.hasFormat("underline"));
80
+ const anchorNode = selection.anchor.getNode();
81
+ let element = anchorNode.getKey() === "root" ? anchorNode : $findMatchingParent(anchorNode, (e) => {
82
+ const parent = e.getParent();
83
+ return parent !== null && $isRootOrShadowRoot(parent);
84
+ });
85
+ if (element === null) element = anchorNode.getTopLevelElementOrThrow();
86
+ const type = $isHeadingNode(element) ? element.getTag() : $isListNode(element) ? element.getListType() : element.getType();
87
+ if (type in blockTypeToBlockName) updateToolbarState("blockType", type);
88
+ }
89
+ }, [updateToolbarState]);
90
+ React.useEffect(() => {
91
+ return mergeRegister(editor.registerCommand(SELECTION_CHANGE_COMMAND, () => {
92
+ $updateToolbar();
93
+ return false;
94
+ }, COMMAND_PRIORITY_CRITICAL), editor.registerUpdateListener(({ editorState }) => {
95
+ editorState.read(() => {
96
+ $updateToolbar();
97
+ });
98
+ }));
99
+ }, [editor, $updateToolbar]);
100
+ useEffect(() => {
101
+ if (!enablePreview) setIsPreview(false);
102
+ if (enablePreview) editor.setEditable(!isPreview);
103
+ }, [
104
+ editor,
105
+ enablePreview,
106
+ isPreview,
107
+ setIsPreview
108
+ ]);
109
+ useEffect(() => {
110
+ return mergeRegister(editor.registerCommand(CAN_UNDO_COMMAND, (payload) => {
111
+ setCanUndo(payload);
112
+ return false;
113
+ }, COMMAND_PRIORITY_CRITICAL), editor.registerCommand(CAN_REDO_COMMAND, (payload) => {
114
+ setCanRedo(payload);
115
+ return false;
116
+ }, COMMAND_PRIORITY_CRITICAL));
117
+ }, [editor]);
118
+ return /* @__PURE__ */ jsx("div", {
119
+ className: "relative z-10 w-full border-b",
120
+ children: /* @__PURE__ */ jsxs("div", {
121
+ className: "flex justify-center space-x-2 p-1",
122
+ children: [
123
+ toolbarOptions.includes("clear") && /* @__PURE__ */ jsx(ToolbarButton, {
124
+ command: FORMAT_TEXT_COMMAND,
125
+ disabled: isPreview,
126
+ payload: "clear",
127
+ title: "Clear Formatting",
128
+ children: /* @__PURE__ */ jsx(ReloadIcon, { className: "text-muted-foreground" })
129
+ }),
130
+ toolbarOptions.includes("undo") && /* @__PURE__ */ jsx(Button, {
131
+ className: "h-8 px-2",
132
+ disabled: !canUndo || isPreview,
133
+ onClick: () => editor.dispatchCommand(UNDO_COMMAND, void 0),
134
+ title: "Undo (Ctrl+Z)",
135
+ variant: "ghost",
136
+ children: /* @__PURE__ */ jsx(ReloadIcon, { className: "-scale-x-100 transform" })
137
+ }),
138
+ toolbarOptions.includes("redo") && /* @__PURE__ */ jsx(Button, {
139
+ className: "h-8 px-2",
140
+ disabled: !canRedo || isPreview,
141
+ onClick: () => editor.dispatchCommand(REDO_COMMAND, void 0),
142
+ title: "Redo (Ctrl+Y)",
143
+ variant: "ghost",
144
+ children: /* @__PURE__ */ jsx(ReloadIcon, { className: "rotate-180" })
145
+ }),
146
+ enablePreview && /* @__PURE__ */ jsxs("div", {
147
+ className: "flex items-center gap-1 pr-2",
148
+ children: [/* @__PURE__ */ jsx(Button, {
149
+ onClick: () => setIsPreview(false),
150
+ size: "sm",
151
+ type: "button",
152
+ variant: !isPreview ? "secondary" : "ghost",
153
+ children: "Write"
154
+ }), /* @__PURE__ */ jsx(Button, {
155
+ onClick: () => setIsPreview(true),
156
+ size: "sm",
157
+ type: "button",
158
+ variant: isPreview ? "secondary" : "ghost",
159
+ children: "Preview"
160
+ })]
161
+ }),
162
+ toolbarOptions.includes("blockTypes") && /* @__PURE__ */ jsxs(Fragment, { children: [/* @__PURE__ */ jsx(Separator, {
163
+ className: "my-1 h-auto",
164
+ orientation: "vertical"
165
+ }), /* @__PURE__ */ jsx(BlockTypeDropdown, { blockType: toolbarState.blockType })] }),
166
+ toolbarOptions.includes("bold") && /* @__PURE__ */ jsx(ToolbarButton, {
167
+ command: FORMAT_TEXT_COMMAND,
168
+ disabled: isPreview,
169
+ payload: "bold",
170
+ title: "Bold (Ctrl+B)",
171
+ children: /* @__PURE__ */ jsx(FontBoldIcon, {})
172
+ }),
173
+ toolbarOptions.includes("italic") && /* @__PURE__ */ jsx(ToolbarButton, {
174
+ command: FORMAT_TEXT_COMMAND,
175
+ disabled: isPreview,
176
+ payload: "italic",
177
+ title: "Italic (Ctrl+I)",
178
+ children: /* @__PURE__ */ jsx(FontItalicIcon, {})
179
+ }),
180
+ toolbarOptions.includes("underline") && /* @__PURE__ */ jsx(ToolbarButton, {
181
+ command: FORMAT_TEXT_COMMAND,
182
+ disabled: isPreview,
183
+ payload: "underline",
184
+ title: "Underline (Ctrl+U)",
185
+ children: /* @__PURE__ */ jsx(UnderlineIcon, {})
186
+ })
187
+ ]
188
+ })
189
+ });
190
+ }
191
+
192
+ //#endregion
193
+ export { ToolbarPlugin, defaultToolbarOptions };
194
+ //# sourceMappingURL=ToolbarPlugin.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ToolbarPlugin.js","names":[],"sources":["../../../../src/components/editor/ToolbarPlugin.tsx"],"sourcesContent":["import { $isListNode } from \"@lexical/list\";\nimport { useLexicalComposerContext } from \"@lexical/react/LexicalComposerContext\";\nimport { $isHeadingNode } from \"@lexical/rich-text\";\nimport { $findMatchingParent, mergeRegister } from \"@lexical/utils\";\nimport { Button, Separator, Toggle } from \"@lumeweb/portal-framework-ui-core\";\nimport {\n FontBoldIcon,\n FontItalicIcon,\n ReloadIcon,\n UnderlineIcon,\n} from \"@radix-ui/react-icons\";\nimport {\n $getSelection,\n $isRangeSelection,\n $isRootOrShadowRoot,\n CAN_REDO_COMMAND,\n CAN_UNDO_COMMAND,\n COMMAND_PRIORITY_CRITICAL,\n FORMAT_TEXT_COMMAND,\n LexicalCommand,\n REDO_COMMAND,\n SELECTION_CHANGE_COMMAND,\n UNDO_COMMAND,\n} from \"lexical\";\nimport React, { useEffect, useState } from \"react\";\n\nimport BlockTypeDropdown from \"./BlockTypeDropdown\";\nimport { ToolbarOption } from \"./Editor\";\nimport {\n blockTypeToBlockName,\n ToolbarState,\n ToolbarStateKey,\n ToolbarStateValue,\n useToolbarState,\n} from \"./ToolbarContext\";\n\nexport const defaultToolbarOptions: ToolbarOption[] = [\n \"bold\",\n \"italic\",\n \"underline\",\n \"undo\",\n \"redo\",\n \"blockTypes\",\n];\n\nconst formatToStateKey = {\n bold: \"isBold\",\n clear: \"isClear\",\n italic: \"isItalic\",\n strikethrough: \"isStrikethrough\",\n subscript: \"isSubscript\",\n superscript: \"isSuperscript\",\n underline: \"isUnderline\",\n} as const;\n\ntype FormatPayload = keyof typeof formatToStateKey;\n\ninterface ToolbarButtonProps {\n children: React.ReactNode;\n command: LexicalCommand<any>;\n disabled?: boolean;\n payload?: any;\n title?: string;\n}\n\ninterface ToolbarPluginProps {\n enablePreview?: boolean;\n isPreview: boolean;\n setIsPreview: React.Dispatch<React.SetStateAction<boolean>>;\n toolbarOptions?: (\n | \"blockTypes\"\n | \"bold\"\n | \"clear\"\n | \"italic\"\n | \"redo\"\n | \"strikethrough\"\n | \"subscript\"\n | \"superscript\"\n | \"underline\"\n | \"undo\"\n )[];\n}\n\nconst ToolbarButton = ({\n children,\n command,\n disabled,\n payload,\n title,\n}: ToolbarButtonProps) => {\n const [editor] = useLexicalComposerContext();\n const {\n toolbarState,\n updateToolbarState,\n }: {\n toolbarState: ToolbarState;\n updateToolbarState: <Key extends ToolbarStateKey>(\n key: Key,\n value: ToolbarStateValue<Key>,\n ) => void;\n } = useToolbarState();\n\n const isActive =\n command === FORMAT_TEXT_COMMAND\n ? toolbarState[formatToStateKey[payload as FormatPayload]]\n : false;\n\n const handleClick = () => {\n editor.dispatchCommand(command, payload);\n };\n\n if (command === FORMAT_TEXT_COMMAND) {\n const stateKey = formatToStateKey[payload as FormatPayload];\n\n return (\n <Toggle\n aria-label={title}\n disabled={disabled}\n onPressedChange={(pressed) => {\n handleClick();\n updateToolbarState(stateKey, pressed);\n if (payload === \"clear\") {\n setTimeout(() => {\n updateToolbarState(stateKey, false);\n }, 300);\n }\n }}\n pressed={toolbarState[stateKey]}\n size=\"sm\"\n title={title}>\n {children}\n </Toggle>\n );\n }\n\n return (\n <Button\n className={isActive ? \"bg-gray-200\" : \"\"}\n disabled={disabled}\n onClick={handleClick}\n size=\"icon\"\n title={title}\n variant=\"ghost\">\n {children}\n </Button>\n );\n};\n\nexport function ToolbarPlugin({\n enablePreview = true,\n isPreview,\n setIsPreview,\n toolbarOptions = defaultToolbarOptions,\n}: ToolbarPluginProps) {\n const [editor] = useLexicalComposerContext();\n const { toolbarState, updateToolbarState } = useToolbarState();\n\n const [canUndo, setCanUndo] = useState(false);\n const [canRedo, setCanRedo] = useState(false);\n\n const $updateToolbar = React.useCallback(() => {\n const selection = $getSelection();\n if ($isRangeSelection(selection)) {\n updateToolbarState(\"isBold\", selection.hasFormat(\"bold\"));\n updateToolbarState(\"isItalic\", selection.hasFormat(\"italic\"));\n updateToolbarState(\n \"isStrikethrough\",\n selection.hasFormat(\"strikethrough\"),\n );\n updateToolbarState(\"isSubscript\", selection.hasFormat(\"subscript\"));\n updateToolbarState(\"isSuperscript\", selection.hasFormat(\"superscript\"));\n updateToolbarState(\"isUnderline\", selection.hasFormat(\"underline\"));\n\n const anchorNode = selection.anchor.getNode();\n\n let element =\n anchorNode.getKey() === \"root\"\n ? anchorNode\n : $findMatchingParent(anchorNode, (e) => {\n const parent = e.getParent();\n return parent !== null && $isRootOrShadowRoot(parent);\n });\n\n if (element === null) {\n element = anchorNode.getTopLevelElementOrThrow();\n }\n\n const type = $isHeadingNode(element)\n ? element.getTag()\n : $isListNode(element)\n ? element.getListType()\n : element.getType();\n\n if (type in blockTypeToBlockName) {\n updateToolbarState(\n \"blockType\",\n type as keyof typeof blockTypeToBlockName,\n );\n }\n }\n }, [updateToolbarState]);\n\n React.useEffect(() => {\n return mergeRegister(\n editor.registerCommand(\n SELECTION_CHANGE_COMMAND,\n () => {\n $updateToolbar();\n return false;\n },\n COMMAND_PRIORITY_CRITICAL,\n ),\n editor.registerUpdateListener(({ editorState }) => {\n editorState.read(() => {\n $updateToolbar();\n });\n }),\n );\n }, [editor, $updateToolbar]);\n\n useEffect(() => {\n if (!enablePreview) {\n setIsPreview(false);\n }\n\n if (enablePreview) {\n editor.setEditable(!isPreview);\n }\n }, [editor, enablePreview, isPreview, setIsPreview]);\n\n useEffect(() => {\n return mergeRegister(\n editor.registerCommand(\n CAN_UNDO_COMMAND,\n (payload) => {\n setCanUndo(payload);\n return false;\n },\n COMMAND_PRIORITY_CRITICAL,\n ),\n editor.registerCommand(\n CAN_REDO_COMMAND,\n (payload) => {\n setCanRedo(payload);\n return false;\n },\n COMMAND_PRIORITY_CRITICAL,\n ),\n );\n }, [editor]);\n\n return (\n <div className=\"relative z-10 w-full border-b\">\n <div className=\"flex justify-center space-x-2 p-1\">\n {toolbarOptions.includes(\"clear\") && (\n <ToolbarButton\n command={FORMAT_TEXT_COMMAND}\n disabled={isPreview}\n payload=\"clear\"\n title=\"Clear Formatting\">\n <ReloadIcon className=\"text-muted-foreground\" />\n </ToolbarButton>\n )}\n\n {toolbarOptions.includes(\"undo\") && (\n <Button\n className=\"h-8 px-2\"\n disabled={!canUndo || isPreview}\n onClick={() => editor.dispatchCommand(UNDO_COMMAND, undefined)}\n title=\"Undo (Ctrl+Z)\"\n variant=\"ghost\">\n <ReloadIcon className=\"-scale-x-100 transform\" />\n </Button>\n )}\n\n {toolbarOptions.includes(\"redo\") && (\n <Button\n className=\"h-8 px-2\"\n disabled={!canRedo || isPreview}\n onClick={() => editor.dispatchCommand(REDO_COMMAND, undefined)}\n title=\"Redo (Ctrl+Y)\"\n variant=\"ghost\">\n <ReloadIcon className=\"rotate-180\" />\n </Button>\n )}\n\n {enablePreview && (\n <div className=\"flex items-center gap-1 pr-2\">\n <Button\n onClick={() => setIsPreview(false)}\n size=\"sm\"\n type=\"button\"\n variant={!isPreview ? \"secondary\" : \"ghost\"}>\n Write\n </Button>\n <Button\n onClick={() => setIsPreview(true)}\n size=\"sm\"\n type=\"button\"\n variant={isPreview ? \"secondary\" : \"ghost\"}>\n Preview\n </Button>\n </div>\n )}\n\n {toolbarOptions.includes(\"blockTypes\") && (\n <>\n <Separator className=\"my-1 h-auto\" orientation=\"vertical\" />\n <BlockTypeDropdown blockType={toolbarState.blockType} />\n </>\n )}\n\n {toolbarOptions.includes(\"bold\") && (\n <ToolbarButton\n command={FORMAT_TEXT_COMMAND}\n disabled={isPreview}\n payload=\"bold\"\n title=\"Bold (Ctrl+B)\">\n <FontBoldIcon />\n </ToolbarButton>\n )}\n\n {toolbarOptions.includes(\"italic\") && (\n <ToolbarButton\n command={FORMAT_TEXT_COMMAND}\n disabled={isPreview}\n payload=\"italic\"\n title=\"Italic (Ctrl+I)\">\n <FontItalicIcon />\n </ToolbarButton>\n )}\n\n {toolbarOptions.includes(\"underline\") && (\n <ToolbarButton\n command={FORMAT_TEXT_COMMAND}\n disabled={isPreview}\n payload=\"underline\"\n title=\"Underline (Ctrl+U)\">\n <UnderlineIcon />\n </ToolbarButton>\n )}\n </div>\n </div>\n );\n}\n"],"mappings":"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"}
@@ -0,0 +1,15 @@
1
+ import { HeadingTagType } from "@lexical/rich-text";
2
+ import { LexicalEditor } from "lexical";
3
+
4
+ //#region src/components/editor/formatting.d.ts
5
+ declare function clearFormatting(editor: any, updateToolbarState: (key: string, value: any) => void): void;
6
+ declare function formatCheckList(editor: any, currentBlockType: string, updateToolbarState: (key: string, value: any) => void): void;
7
+ declare const formatCode: (editor: LexicalEditor, blockType: string, updateToolbarState: (key: string, value: any) => void) => void;
8
+ declare function formatParagraph(editor: LexicalEditor, updateToolbarState: (key: string, value: any) => void): void;
9
+ declare const formatHeading: (editor: LexicalEditor, blockType: string, headingSize: HeadingTagType, updateToolbarState: (key: string, value: any) => void) => void;
10
+ declare const formatQuote: (editor: LexicalEditor, blockType: string, updateToolbarState: (key: string, value: any) => void) => void;
11
+ declare const formatBulletList: (editor: LexicalEditor, blockType: string, updateToolbarState: (key: string, value: any) => void) => void;
12
+ declare const formatOrderedList: (editor: LexicalEditor, blockType: string, updateToolbarState: (key: string, value: any) => void) => void;
13
+ //#endregion
14
+ export { clearFormatting, formatBulletList, formatCheckList, formatCode, formatHeading, formatOrderedList, formatParagraph, formatQuote };
15
+ //# sourceMappingURL=formatting.d.ts.map
@@ -0,0 +1,117 @@
1
+ import { $createCodeNode } from "@lexical/code";
2
+ import { $isListNode, INSERT_CHECK_LIST_COMMAND, INSERT_ORDERED_LIST_COMMAND, INSERT_UNORDERED_LIST_COMMAND, REMOVE_LIST_COMMAND } from "@lexical/list";
3
+ import { $createHeadingNode, $createQuoteNode, $isHeadingNode } from "@lexical/rich-text";
4
+ import { $setBlocksType } from "@lexical/selection";
5
+ import { $findMatchingParent } from "@lexical/utils";
6
+ import { $createParagraphNode, $getSelection, $isRangeSelection, $isRootOrShadowRoot } from "lexical";
7
+
8
+ //#region src/components/editor/formatting.ts
9
+ function clearFormatting(editor, updateToolbarState) {
10
+ editor.update(() => {
11
+ const selection = $getSelection();
12
+ if ($isRangeSelection(selection)) {
13
+ const anchorNode = selection.anchor.getNode();
14
+ const element = anchorNode.getKey() === "root" ? anchorNode : $findMatchingParent(anchorNode, (e) => {
15
+ const parent = e.getParent();
16
+ return parent !== null && $isRootOrShadowRoot(parent);
17
+ });
18
+ if (element === null) return;
19
+ if (($isHeadingNode(element) ? element.getTag() : $isListNode(element) ? element.getListType() : element.getType()) === "paragraph") {
20
+ const textContent = selection.getTextContent();
21
+ const paragraphNode = $createParagraphNode();
22
+ selection.insertNodes([paragraphNode]);
23
+ const newSelection = $getSelection();
24
+ if ($isRangeSelection(newSelection)) newSelection.insertRawText(textContent);
25
+ } else $setBlocksType(selection, () => $createParagraphNode());
26
+ updateToolbarState("isBold", false);
27
+ updateToolbarState("isItalic", false);
28
+ updateToolbarState("isUnderline", false);
29
+ updateToolbarState("isStrikethrough", false);
30
+ updateToolbarState("isSubscript", false);
31
+ updateToolbarState("isSuperscript", false);
32
+ updateToolbarState("isClear", true);
33
+ updateToolbarState("blockType", "paragraph");
34
+ updateToolbarState("isBold", false);
35
+ updateToolbarState("isItalic", false);
36
+ updateToolbarState("isUnderline", false);
37
+ updateToolbarState("isStrikethrough", false);
38
+ updateToolbarState("isSubscript", false);
39
+ updateToolbarState("isSuperscript", false);
40
+ updateToolbarState("isClear", true);
41
+ }
42
+ });
43
+ }
44
+ function formatCheckList(editor, currentBlockType, updateToolbarState) {
45
+ if (currentBlockType !== "check") {
46
+ editor.dispatchCommand(INSERT_CHECK_LIST_COMMAND, void 0);
47
+ updateToolbarState("blockType", "check");
48
+ } else formatParagraph(editor, updateToolbarState);
49
+ }
50
+ const formatCode = (editor, blockType, updateToolbarState) => {
51
+ if (blockType !== "code") {
52
+ editor.update(() => {
53
+ let selection = $getSelection();
54
+ if (!selection) return;
55
+ if (!$isRangeSelection(selection) || selection.isCollapsed()) $setBlocksType(selection, () => $createCodeNode());
56
+ else {
57
+ const textContent = selection.getTextContent();
58
+ const codeNode = $createCodeNode();
59
+ selection.insertNodes([codeNode]);
60
+ selection = $getSelection();
61
+ if ($isRangeSelection(selection)) selection.insertRawText(textContent);
62
+ }
63
+ });
64
+ updateToolbarState("blockType", "code");
65
+ }
66
+ };
67
+ function formatParagraph(editor, updateToolbarState) {
68
+ editor.update(() => {
69
+ $setBlocksType($getSelection(), () => $createParagraphNode());
70
+ updateToolbarState("blockType", "paragraph");
71
+ });
72
+ }
73
+ const formatHeading = (editor, blockType, headingSize, updateToolbarState) => {
74
+ if (blockType !== headingSize) editor.update(() => {
75
+ const selection = $getSelection();
76
+ if ($isRangeSelection(selection)) {
77
+ const anchorNode = selection.anchor.getNode();
78
+ let element = anchorNode.getKey() === "root" ? anchorNode : $findMatchingParent(anchorNode, (e) => {
79
+ const parent = e.getParent();
80
+ return parent !== null && $isRootOrShadowRoot(parent);
81
+ });
82
+ if (element === null) element = anchorNode.getTopLevelElementOrThrow();
83
+ if (($isHeadingNode(element) ? element.getTag() : $isListNode(element) ? element.getListType() : element.getType()) === headingSize) {
84
+ $setBlocksType(selection, () => $createParagraphNode());
85
+ updateToolbarState("blockType", "paragraph");
86
+ } else {
87
+ $setBlocksType(selection, () => $createHeadingNode(headingSize));
88
+ updateToolbarState("blockType", headingSize);
89
+ }
90
+ }
91
+ });
92
+ };
93
+ const formatQuote = (editor, blockType, updateToolbarState) => {
94
+ if (blockType !== "quote") editor.update(() => {
95
+ $setBlocksType($getSelection(), () => $createQuoteNode());
96
+ updateToolbarState("blockType", "paragraph");
97
+ });
98
+ };
99
+ const formatBulletList = (editor, blockType, updateToolbarState) => {
100
+ if (blockType !== "bullet") {
101
+ editor.dispatchCommand(INSERT_UNORDERED_LIST_COMMAND, void 0);
102
+ updateToolbarState("blockType", "bullet");
103
+ } else formatParagraph(editor, updateToolbarState);
104
+ };
105
+ const formatOrderedList = (editor, blockType, updateToolbarState) => {
106
+ if (blockType !== "number") {
107
+ editor.dispatchCommand(INSERT_ORDERED_LIST_COMMAND, void 0);
108
+ updateToolbarState("blockType", "number");
109
+ } else {
110
+ editor.dispatchCommand(REMOVE_LIST_COMMAND, void 0);
111
+ updateToolbarState("blockType", "paragraph");
112
+ }
113
+ };
114
+
115
+ //#endregion
116
+ export { clearFormatting, formatBulletList, formatCheckList, formatCode, formatHeading, formatOrderedList, formatParagraph, formatQuote };
117
+ //# sourceMappingURL=formatting.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"formatting.js","names":[],"sources":["../../../../src/components/editor/formatting.ts"],"sourcesContent":["import { $createCodeNode } from \"@lexical/code\";\nimport {\n $isListNode,\n INSERT_CHECK_LIST_COMMAND,\n INSERT_ORDERED_LIST_COMMAND,\n INSERT_UNORDERED_LIST_COMMAND,\n REMOVE_LIST_COMMAND,\n} from \"@lexical/list\";\nimport {\n $createHeadingNode,\n $createQuoteNode,\n $isHeadingNode,\n HeadingTagType,\n} from \"@lexical/rich-text\";\nimport { $setBlocksType } from \"@lexical/selection\";\nimport { $findMatchingParent } from \"@lexical/utils\";\nimport {\n $createParagraphNode,\n $getSelection,\n $isRangeSelection,\n $isRootOrShadowRoot,\n LexicalEditor,\n} from \"lexical\";\n\nimport { blockTypeToBlockName } from \"./ToolbarContext\";\n\nexport function clearFormatting(\n editor: any,\n updateToolbarState: (key: string, value: any) => void,\n) {\n editor.update(() => {\n const selection = $getSelection();\n if ($isRangeSelection(selection)) {\n const anchorNode = selection.anchor.getNode();\n const element =\n anchorNode.getKey() === \"root\"\n ? anchorNode\n : $findMatchingParent(anchorNode, (e) => {\n const parent = e.getParent();\n return parent !== null && $isRootOrShadowRoot(parent);\n });\n\n if (element === null) return;\n\n const currentBlockType = $isHeadingNode(element)\n ? element.getTag()\n : $isListNode(element)\n ? element.getListType()\n : element.getType();\n\n if (currentBlockType === \"paragraph\") {\n const textContent = selection.getTextContent();\n const paragraphNode = $createParagraphNode();\n selection.insertNodes([paragraphNode]);\n const newSelection = $getSelection();\n if ($isRangeSelection(newSelection)) {\n newSelection.insertRawText(textContent);\n }\n } else {\n $setBlocksType(selection, () => $createParagraphNode());\n }\n\n updateToolbarState(\"isBold\", false);\n updateToolbarState(\"isItalic\", false);\n updateToolbarState(\"isUnderline\", false);\n updateToolbarState(\"isStrikethrough\", false);\n updateToolbarState(\"isSubscript\", false);\n updateToolbarState(\"isSuperscript\", false);\n updateToolbarState(\"isClear\", true);\n\n updateToolbarState(\"blockType\", \"paragraph\");\n updateToolbarState(\"isBold\", false);\n updateToolbarState(\"isItalic\", false);\n updateToolbarState(\"isUnderline\", false);\n updateToolbarState(\"isStrikethrough\", false);\n updateToolbarState(\"isSubscript\", false);\n updateToolbarState(\"isSuperscript\", false);\n updateToolbarState(\"isClear\", true);\n }\n });\n}\n\nexport function formatCheckList(\n editor: any,\n currentBlockType: string,\n updateToolbarState: (key: string, value: any) => void,\n) {\n if (currentBlockType !== \"check\") {\n editor.dispatchCommand(INSERT_CHECK_LIST_COMMAND, undefined);\n updateToolbarState(\"blockType\", \"check\");\n } else {\n formatParagraph(editor, updateToolbarState);\n }\n}\n\nexport const formatCode = (\n editor: LexicalEditor,\n blockType: string,\n updateToolbarState: (key: string, value: any) => void,\n) => {\n if (blockType !== \"code\") {\n editor.update(() => {\n let selection = $getSelection();\n if (!selection) {\n return;\n }\n if (!$isRangeSelection(selection) || selection.isCollapsed()) {\n $setBlocksType(selection, () => $createCodeNode());\n } else {\n const textContent = selection.getTextContent();\n const codeNode = $createCodeNode();\n selection.insertNodes([codeNode]);\n selection = $getSelection();\n if ($isRangeSelection(selection)) {\n selection.insertRawText(textContent);\n }\n }\n });\n updateToolbarState(\"blockType\", \"code\");\n }\n};\n\nexport function formatParagraph(\n editor: LexicalEditor,\n updateToolbarState: (key: string, value: any) => void,\n) {\n editor.update(() => {\n const selection = $getSelection();\n $setBlocksType(selection, () => $createParagraphNode());\n updateToolbarState(\"blockType\", \"paragraph\");\n });\n}\n\nexport const formatHeading = (\n editor: LexicalEditor,\n blockType: string,\n headingSize: HeadingTagType,\n updateToolbarState: (key: string, value: any) => void,\n) => {\n if (blockType !== headingSize) {\n editor.update(() => {\n const selection = $getSelection();\n if ($isRangeSelection(selection)) {\n const anchorNode = selection.anchor.getNode();\n let element =\n anchorNode.getKey() === \"root\"\n ? anchorNode\n : $findMatchingParent(anchorNode, (e) => {\n const parent = e.getParent();\n return parent !== null && $isRootOrShadowRoot(parent);\n });\n\n if (element === null) {\n element = anchorNode.getTopLevelElementOrThrow();\n }\n\n const currentBlockType = $isHeadingNode(element)\n ? element.getTag()\n : $isListNode(element)\n ? element.getListType()\n : element.getType();\n\n if (currentBlockType === headingSize) {\n $setBlocksType(selection, () => $createParagraphNode());\n updateToolbarState(\"blockType\", \"paragraph\");\n } else {\n $setBlocksType(selection, () => $createHeadingNode(headingSize));\n updateToolbarState(\n \"blockType\",\n headingSize as keyof typeof blockTypeToBlockName,\n );\n }\n }\n });\n }\n};\n\nexport const formatQuote = (\n editor: LexicalEditor,\n blockType: string,\n updateToolbarState: (key: string, value: any) => void,\n) => {\n if (blockType !== \"quote\") {\n editor.update(() => {\n const selection = $getSelection();\n $setBlocksType(selection, () => $createQuoteNode());\n updateToolbarState(\"blockType\", \"paragraph\");\n });\n }\n};\n\nexport const formatBulletList = (\n editor: LexicalEditor,\n blockType: string,\n updateToolbarState: (key: string, value: any) => void,\n) => {\n if (blockType !== \"bullet\") {\n editor.dispatchCommand(INSERT_UNORDERED_LIST_COMMAND, undefined);\n updateToolbarState(\"blockType\", \"bullet\");\n } else {\n formatParagraph(editor, updateToolbarState);\n }\n};\n\nexport const formatOrderedList = (\n editor: LexicalEditor,\n blockType: string,\n updateToolbarState: (key: string, value: any) => void,\n) => {\n if (blockType !== \"number\") {\n editor.dispatchCommand(INSERT_ORDERED_LIST_COMMAND, undefined);\n updateToolbarState(\"blockType\", \"number\");\n } else {\n editor.dispatchCommand(REMOVE_LIST_COMMAND, undefined);\n updateToolbarState(\"blockType\", \"paragraph\");\n }\n};\n"],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import { EditorProps, ToolbarOption } from "./EditorInner.js";
2
+ import { Editor } from "./Editor.js";
3
+ export { Editor, EditorProps, ToolbarOption };
@@ -0,0 +1,3 @@
1
+ import { Editor } from "./Editor.js";
2
+
3
+ export { Editor };
@@ -0,0 +1,18 @@
1
+ import React from "react";
2
+
3
+ //#region src/components/form/FormGroup.d.ts
4
+ interface FormGroupProps {
5
+ children: React.ReactNode;
6
+ className?: string;
7
+ description?: string;
8
+ title?: string;
9
+ }
10
+ declare const FormGroup: ({
11
+ children,
12
+ className,
13
+ description,
14
+ title
15
+ }: FormGroupProps) => any;
16
+ //#endregion
17
+ export { FormGroup };
18
+ //# sourceMappingURL=FormGroup.d.ts.map
@@ -0,0 +1,28 @@
1
+ import { cn } from "@lumeweb/portal-framework-ui-core";
2
+ import React from "react";
3
+ import { Fragment, jsx, jsxs } from "react/jsx-runtime";
4
+
5
+ //#region src/components/form/FormGroup.tsx
6
+ const FormGroup = ({ children, className, description, title }) => {
7
+ return /* @__PURE__ */ jsx("div", {
8
+ className: cn(className),
9
+ children: title || description ? /* @__PURE__ */ jsxs(Fragment, { children: [
10
+ title && /* @__PURE__ */ jsx("h3", {
11
+ className: "text-lg font-medium",
12
+ children: title
13
+ }),
14
+ description && /* @__PURE__ */ jsx("p", {
15
+ className: "text-muted-foreground text-sm",
16
+ children: description
17
+ }),
18
+ /* @__PURE__ */ jsx("div", {
19
+ className: "space-y-4",
20
+ children
21
+ })
22
+ ] }) : children
23
+ });
24
+ };
25
+
26
+ //#endregion
27
+ export { FormGroup };
28
+ //# sourceMappingURL=FormGroup.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FormGroup.js","names":[],"sources":["../../../../src/components/form/FormGroup.tsx"],"sourcesContent":["import { cn } from \"@lumeweb/portal-framework-ui-core\";\nimport React from \"react\";\n\ninterface FormGroupProps {\n children: React.ReactNode;\n className?: string;\n description?: string;\n title?: string;\n}\n\nexport const FormGroup = ({\n children,\n className,\n description,\n title,\n}: FormGroupProps) => {\n return (\n <div className={cn(className)}>\n {title || description ? (\n <>\n {title && <h3 className=\"text-lg font-medium\">{title}</h3>}\n {description && (\n <p className=\"text-muted-foreground text-sm\">{description}</p>\n )}\n <div className=\"space-y-4\">{children}</div>\n </>\n ) : (\n children\n )}\n </div>\n );\n};\n"],"mappings":";;;;;AAUA,MAAa,aAAa,EACxB,UACA,WACA,aACA,YACoB;AACpB,QACE,oBAAC,OAAD;EAAK,WAAW,GAAG,UAAU;YAC1B,SAAS,cACR;GACG,SAAS,oBAAC,MAAD;IAAI,WAAU;cAAuB;IAAW;GACzD,eACC,oBAAC,KAAD;IAAG,WAAU;cAAiC;IAAgB;GAEhE,oBAAC,OAAD;IAAK,WAAU;IAAa;IAAe;GAC1C,MAEH;EAEE"}
@@ -0,0 +1,14 @@
1
+ import { FormFieldConfig, FormGroupType } from "./types.js";
2
+ import { FieldValues } from "react-hook-form";
3
+
4
+ //#region src/components/form/FormRenderer.d.ts
5
+ declare function FormRenderer<TRequest extends FieldValues = FieldValues>({
6
+ fields,
7
+ groups
8
+ }: {
9
+ fields?: FormFieldConfig<TRequest>[];
10
+ groups?: FormGroupType[];
11
+ }): any;
12
+ //#endregion
13
+ export { FormRenderer };
14
+ //# sourceMappingURL=FormRenderer.d.ts.map
@@ -0,0 +1,179 @@
1
+ import { adapters } from "./adapters.js";
2
+ import { useFormContext as useFormContext$1 } from "./context.js";
3
+ import { getFormComponent } from "./fields/registry.js";
4
+ import { FormFieldType } from "./fields/types.js";
5
+ import "./fields/index.js";
6
+ import { FormGroup } from "./FormGroup.js";
7
+ import { getAutocompleteValue } from "./autocomplete/rules.js";
8
+ import "./autocomplete/index.js";
9
+ import { useOptionalStepControlContext } from "./StepControlContext.js";
10
+ import { GroupOrder } from "./types.js";
11
+ import { FormControl, FormDescription, FormField, FormItem, FormLabel, FormMessage, Spinner, cn } from "@lumeweb/portal-framework-ui-core";
12
+ import React, { useEffect, useMemo, useState } from "react";
13
+ import { Fragment, jsx, jsxs } from "react/jsx-runtime";
14
+ import { useFormContext } from "react-hook-form";
15
+ import { get } from "lodash/get.js";
16
+
17
+ //#region src/components/form/FormRenderer.tsx
18
+ function FormRenderer({ fields = [], groups = [] }) {
19
+ const { groupedFields, ungroupedFields } = React.useMemo(() => {
20
+ const grouped = {};
21
+ const ungrouped = [];
22
+ groups?.forEach((group) => {
23
+ grouped[group.id] = [];
24
+ });
25
+ fields.forEach((field) => {
26
+ if (field.group && grouped[field.group]) grouped[field.group].push(field);
27
+ else ungrouped.push(field);
28
+ });
29
+ return {
30
+ groupedFields: grouped,
31
+ ungroupedFields: ungrouped
32
+ };
33
+ }, [fields, groups]);
34
+ const { adapter: adapterName, config } = useFormContext$1();
35
+ if (!adapters[adapterName]) throw new Error(`Form adapter "${String(adapterName)}" is not registered`);
36
+ const groupOrder = config.groupOrder ?? "ungrouped-first";
37
+ const renderGroups = () => /* @__PURE__ */ jsx(Fragment, { children: groups?.map((group) => {
38
+ const groupFields = groupedFields[group.id];
39
+ if (!groupFields?.length) return null;
40
+ return /* @__PURE__ */ jsx(FormGroup, {
41
+ className: group.className,
42
+ description: group.description,
43
+ title: group.title,
44
+ children: groupFields.map((field) => /* @__PURE__ */ jsx(FieldRenderer, { field }, field.name))
45
+ }, group.id);
46
+ }) });
47
+ const renderUngrouped = () => /* @__PURE__ */ jsx(Fragment, { children: ungroupedFields.map((field) => /* @__PURE__ */ jsx(FieldRenderer, { field }, field.name)) });
48
+ return /* @__PURE__ */ jsx(Fragment, { children: groupOrder === "groups-first" ? /* @__PURE__ */ jsxs(Fragment, { children: [renderGroups(), renderUngrouped()] }) : /* @__PURE__ */ jsxs(Fragment, { children: [renderUngrouped(), renderGroups()] }) });
49
+ }
50
+ function FieldRenderer({ field }) {
51
+ const rhfMethods = useFormContext();
52
+ const { control, getValues, watch } = rhfMethods;
53
+ const [isVisible, setIsVisible] = useState(true);
54
+ const [isLoading, setIsLoading] = useState(false);
55
+ const { config: formConfig } = useFormContext$1();
56
+ const dependencies = useMemo(() => field.dependencies || [], [field.dependencies]);
57
+ const autoCompleteValue = useMemo(() => getFieldAutocompleteValue(field, formConfig?.action), [field, formConfig?.action]);
58
+ useEffect(() => {
59
+ const subscription = watch((values, { name }) => {
60
+ if (!dependencies.length || name && dependencies.includes(name)) checkVisibility();
61
+ });
62
+ const checkVisibility = async () => {
63
+ if (!getValues) return;
64
+ const currentValues = getValues();
65
+ let shouldShow = true;
66
+ if (field.requires) {
67
+ for (const requiredFieldPath in field.requires) if (Object.prototype.hasOwnProperty.call(field.requires, requiredFieldPath)) {
68
+ const requirement = field.requires[requiredFieldPath];
69
+ const actualValue = get(currentValues, requiredFieldPath);
70
+ let requirementMet = false;
71
+ if (typeof requirement === "function") requirementMet = requirement(actualValue);
72
+ else requirementMet = actualValue === requirement;
73
+ if (!requirementMet) {
74
+ shouldShow = false;
75
+ break;
76
+ }
77
+ }
78
+ }
79
+ if (shouldShow && field.show) try {
80
+ const showPromiseOrValue = field.show(currentValues);
81
+ if (showPromiseOrValue instanceof Promise) {
82
+ setIsLoading(true);
83
+ shouldShow = await showPromiseOrValue;
84
+ if (isLoading) setIsLoading(false);
85
+ } else {
86
+ shouldShow = showPromiseOrValue;
87
+ if (isLoading) setIsLoading(false);
88
+ }
89
+ } catch (error) {
90
+ console.error(`Error checking show status for field ${String(field.name)}:`, error);
91
+ shouldShow = false;
92
+ if (isLoading) setIsLoading(false);
93
+ }
94
+ else if (!field.show) {
95
+ if (isLoading) setIsLoading(false);
96
+ } else if (isLoading) setIsLoading(false);
97
+ setIsVisible((prev) => {
98
+ if (prev !== shouldShow) return shouldShow;
99
+ return prev;
100
+ });
101
+ };
102
+ checkVisibility();
103
+ return () => subscription.unsubscribe();
104
+ }, [
105
+ dependencies,
106
+ field,
107
+ getValues,
108
+ isLoading,
109
+ watch
110
+ ]);
111
+ if (isLoading) return /* @__PURE__ */ jsxs(FormItem, {
112
+ className: cn(field.className, field.itemClassName),
113
+ children: [
114
+ field.label && /* @__PURE__ */ jsx(FormLabel, { children: field.label }),
115
+ /* @__PURE__ */ jsx(FormControl, { children: /* @__PURE__ */ jsx("div", {
116
+ className: "flex h-14 items-center justify-center",
117
+ children: /* @__PURE__ */ jsx(Spinner, { size: "small" })
118
+ }) }),
119
+ field.description && /* @__PURE__ */ jsx(FormDescription, { children: field.description })
120
+ ]
121
+ });
122
+ if (!isVisible) return null;
123
+ const componentEntry = getFormComponent(field.type);
124
+ const RegisteredComponent = componentEntry?.component;
125
+ if (!componentEntry && field.type !== "custom") {
126
+ console.warn(`No component registered for form field type: ${field.type}`);
127
+ return null;
128
+ }
129
+ return /* @__PURE__ */ jsx(FormField, {
130
+ control,
131
+ name: field.name,
132
+ render: ({ field: formFieldRenderProps }) => /* @__PURE__ */ jsxs(FormItem, {
133
+ className: cn(field.className, field.itemClassName),
134
+ children: [
135
+ field.label && !componentEntry?.handlesLabel && /* @__PURE__ */ jsxs(FormLabel, {
136
+ className: field.labelClassName,
137
+ children: [field.label, field.required && isVisible && /* @__PURE__ */ jsx("span", {
138
+ className: "text-destructive",
139
+ children: "*"
140
+ })]
141
+ }),
142
+ /* @__PURE__ */ jsx(FormControl, { children: RegisteredComponent ? /* @__PURE__ */ jsx(RegisteredComponent, {
143
+ ...formFieldRenderProps,
144
+ ...field.inputProps,
145
+ autocomplete: autoCompleteValue,
146
+ inputClassName: field.inputClassName,
147
+ label: componentEntry?.handlesLabel ? field.label : void 0,
148
+ options: field.options,
149
+ placeholder: field.placeholder,
150
+ required: field.required,
151
+ type: field.type
152
+ }) : field.component ? /* @__PURE__ */ jsx(field.component, {
153
+ ...formFieldRenderProps,
154
+ formMethods: rhfMethods,
155
+ stepEnvironment: useOptionalStepControlContext() ? {
156
+ current: useOptionalStepControlContext()?.currentStep || 0,
157
+ isFirst: useOptionalStepControlContext()?.isFirstStep || false,
158
+ isLast: useOptionalStepControlContext()?.isLastStep || false,
159
+ jumpTo: useOptionalStepControlContext()?.jumpTo,
160
+ onNext: useOptionalStepControlContext()?.handleNext,
161
+ onPrevious: useOptionalStepControlContext()?.handlePrevious,
162
+ onRetry: useOptionalStepControlContext()?.handleRetry,
163
+ retryCount: useOptionalStepControlContext()?.retryCount || 0,
164
+ total: useOptionalStepControlContext()?.totalSteps || 0
165
+ } : void 0
166
+ }) : null }),
167
+ field.description && /* @__PURE__ */ jsx(FormDescription, { children: field.description }),
168
+ /* @__PURE__ */ jsx(FormMessage, {})
169
+ ]
170
+ })
171
+ }, field.name);
172
+ }
173
+ function getFieldAutocompleteValue(field, formPurpose) {
174
+ return field.autocomplete ?? getAutocompleteValue(field, { formPurpose }) ?? field.inputProps?.autocomplete;
175
+ }
176
+
177
+ //#endregion
178
+ export { FormRenderer };
179
+ //# sourceMappingURL=FormRenderer.js.map