@vendure/admin-ui 2.1.0-next.2 → 2.1.0-next.4

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 (261) hide show
  1. package/catalog/components/collection-detail/collection-detail.component.d.ts +3 -1
  2. package/catalog/components/create-product-variant-dialog/create-product-variant-dialog.component.d.ts +6 -4
  3. package/catalog/components/facet-detail/facet-detail.component.d.ts +3 -1
  4. package/catalog/components/product-detail/product-detail.component.d.ts +3 -1
  5. package/catalog/components/product-list/product-list.component.d.ts +1 -1
  6. package/catalog/components/product-variant-list/product-variant-list.component.d.ts +1 -1
  7. package/catalog/components/stock-location-detail/stock-location-detail.component.d.ts +3 -1
  8. package/catalog/components/stock-location-list/stock-location-list.component.d.ts +1 -1
  9. package/catalog/providers/product-detail/product-detail.service.d.ts +1 -1
  10. package/core/common/base-detail.component.d.ts +11 -1
  11. package/core/common/component-registry-types.d.ts +2 -1
  12. package/core/common/utilities/custom-field-default-value.d.ts +6 -0
  13. package/core/common/version.d.ts +1 -1
  14. package/core/components/app-shell/app-shell.component.d.ts +2 -0
  15. package/core/extension/add-action-bar-item.d.ts +28 -0
  16. package/core/extension/add-nav-menu-item.d.ts +60 -0
  17. package/core/extension/components/angular-route.component.d.ts +6 -0
  18. package/core/extension/components/route.component.d.ts +13 -0
  19. package/core/extension/providers/page-metadata.service.d.ts +9 -0
  20. package/core/{providers/bulk-action-registry → extension}/register-bulk-action.d.ts +1 -1
  21. package/core/extension/register-custom-detail-component.d.ts +10 -0
  22. package/core/{providers/dashboard-widget → extension}/register-dashboard-widget.d.ts +5 -1
  23. package/core/extension/register-data-table-component.d.ts +44 -0
  24. package/core/extension/register-form-input-component.d.ts +50 -0
  25. package/core/extension/register-history-entry-component.d.ts +11 -0
  26. package/core/extension/register-route-component.d.ts +59 -0
  27. package/core/extension/types.d.ts +11 -0
  28. package/core/providers/component-registry/component-registry.service.d.ts +6 -3
  29. package/core/providers/custom-detail-component/custom-detail-component-types.d.ts +2 -1
  30. package/core/providers/custom-detail-component/custom-detail-component.service.d.ts +0 -9
  31. package/core/providers/custom-history-entry-component/history-entry-component.service.d.ts +1 -10
  32. package/core/providers/dashboard-widget/dashboard-widget-types.d.ts +17 -1
  33. package/core/providers/modal/modal.service.d.ts +1 -3
  34. package/core/providers/nav-builder/nav-builder.service.d.ts +0 -85
  35. package/core/public_api.d.ts +16 -3
  36. package/core/shared/components/custom-detail-component-host/custom-detail-component-host.component.d.ts +3 -3
  37. package/core/shared/components/data-table-2/data-table-column.component.d.ts +2 -2
  38. package/core/shared/components/data-table-2/data-table-custom-component.service.d.ts +52 -0
  39. package/core/shared/components/data-table-2/data-table-custom-field-column.component.d.ts +0 -1
  40. package/core/shared/components/data-table-2/data-table2.component.d.ts +9 -2
  41. package/core/shared/components/modal-dialog/dialog-component-outlet.component.d.ts +2 -3
  42. package/core/shared/components/order-state-label/order-state-label.component.d.ts +1 -1
  43. package/core/shared/components/ui-extension-point/ui-extension-point.component.d.ts +13 -4
  44. package/core/shared/dynamic-form-inputs/default-form-inputs.d.ts +15 -0
  45. package/core/shared/dynamic-form-inputs/dynamic-form-input/dynamic-form-input.component.d.ts +3 -3
  46. package/core/shared/shared.module.d.ts +25 -25
  47. package/customer/components/customer-detail/customer-detail.component.d.ts +3 -1
  48. package/customer/components/customer-group-detail/customer-group-detail.component.d.ts +3 -1
  49. package/customer/components/customer-history/customer-history-entry-host.component.d.ts +2 -3
  50. package/customer/components/customer-list/customer-list.component.d.ts +1 -0
  51. package/dashboard/components/dashboard-widget/dashboard-widget.component.d.ts +1 -3
  52. package/esm2022/catalog/components/asset-detail/asset-detail.component.mjs +3 -3
  53. package/esm2022/catalog/components/collection-contents/collection-contents.component.mjs +3 -3
  54. package/esm2022/catalog/components/collection-data-table/collection-data-table.component.mjs +3 -3
  55. package/esm2022/catalog/components/collection-detail/collection-detail.component.mjs +3 -3
  56. package/esm2022/catalog/components/collection-list/collection-list.component.mjs +3 -3
  57. package/esm2022/catalog/components/create-product-variant-dialog/create-product-variant-dialog.component.mjs +8 -5
  58. package/esm2022/catalog/components/facet-detail/facet-detail.component.mjs +3 -3
  59. package/esm2022/catalog/components/facet-list/facet-list.component.mjs +3 -3
  60. package/esm2022/catalog/components/move-collections-dialog/move-collections-dialog.component.mjs +3 -3
  61. package/esm2022/catalog/components/product-detail/product-detail.component.mjs +3 -3
  62. package/esm2022/catalog/components/product-list/product-list.component.mjs +3 -3
  63. package/esm2022/catalog/components/product-options-editor/product-options-editor.component.mjs +3 -3
  64. package/esm2022/catalog/components/product-variant-detail/product-variant-detail.component.mjs +3 -3
  65. package/esm2022/catalog/components/product-variant-list/product-variant-list.component.mjs +3 -3
  66. package/esm2022/catalog/components/product-variants-editor/product-variants-editor.component.mjs +3 -3
  67. package/esm2022/catalog/components/stock-location-detail/stock-location-detail.component.mjs +3 -3
  68. package/esm2022/catalog/components/stock-location-list/stock-location-list.component.mjs +3 -3
  69. package/esm2022/core/common/base-detail.component.mjs +9 -7
  70. package/esm2022/core/common/component-registry-types.mjs +1 -1
  71. package/esm2022/core/common/generated-types.mjs +1 -1
  72. package/esm2022/core/common/utilities/create-updated-translatable.mjs +5 -23
  73. package/esm2022/core/common/utilities/custom-field-default-value.mjs +28 -0
  74. package/esm2022/core/common/version.mjs +2 -2
  75. package/esm2022/core/components/app-shell/app-shell.component.mjs +16 -10
  76. package/esm2022/core/components/channel-switcher/channel-switcher.component.mjs +3 -3
  77. package/esm2022/core/components/main-nav/main-nav.component.mjs +3 -3
  78. package/esm2022/core/components/settings-nav/settings-nav.component.mjs +1 -1
  79. package/esm2022/core/core.module.mjs +2 -2
  80. package/esm2022/core/extension/add-action-bar-item.mjs +38 -0
  81. package/esm2022/core/extension/add-nav-menu-item.mjs +79 -0
  82. package/esm2022/core/extension/components/angular-route.component.mjs +22 -0
  83. package/esm2022/core/extension/components/route.component.mjs +59 -0
  84. package/esm2022/core/extension/providers/page-metadata.service.mjs +20 -0
  85. package/esm2022/core/extension/register-bulk-action.mjs +63 -0
  86. package/esm2022/core/extension/register-custom-detail-component.mjs +20 -0
  87. package/esm2022/core/extension/register-dashboard-widget.mjs +36 -0
  88. package/esm2022/core/extension/register-data-table-component.mjs +50 -0
  89. package/esm2022/core/extension/register-form-input-component.mjs +60 -0
  90. package/esm2022/core/extension/register-history-entry-component.mjs +21 -0
  91. package/esm2022/core/extension/register-route-component.mjs +44 -0
  92. package/esm2022/core/extension/types.mjs +2 -0
  93. package/esm2022/core/providers/component-registry/component-registry.service.mjs +3 -3
  94. package/esm2022/core/providers/custom-detail-component/custom-detail-component-types.mjs +1 -1
  95. package/esm2022/core/providers/custom-detail-component/custom-detail-component.service.mjs +2 -19
  96. package/esm2022/core/providers/custom-history-entry-component/history-entry-component.service.mjs +2 -20
  97. package/esm2022/core/providers/dashboard-widget/dashboard-widget-types.mjs +1 -1
  98. package/esm2022/core/providers/data-table/data-table-filter-collection.mjs +1 -8
  99. package/esm2022/core/providers/data-table/data-table-filter.mjs +1 -1
  100. package/esm2022/core/providers/modal/modal.service.mjs +5 -7
  101. package/esm2022/core/providers/nav-builder/nav-builder.service.mjs +2 -113
  102. package/esm2022/core/public_api.mjs +17 -4
  103. package/esm2022/core/shared/components/action-bar-items/action-bar-items.component.mjs +3 -3
  104. package/esm2022/core/shared/components/asset-gallery/asset-gallery.component.mjs +3 -3
  105. package/esm2022/core/shared/components/card/card.component.mjs +3 -3
  106. package/esm2022/core/shared/components/chip/chip.component.mjs +2 -2
  107. package/esm2022/core/shared/components/custom-detail-component-host/custom-detail-component-host.component.mjs +13 -9
  108. package/esm2022/core/shared/components/data-table-2/data-table-column.component.mjs +5 -6
  109. package/esm2022/core/shared/components/data-table-2/data-table-custom-component.service.mjs +26 -0
  110. package/esm2022/core/shared/components/data-table-2/data-table-custom-field-column.component.mjs +2 -4
  111. package/esm2022/core/shared/components/data-table-2/data-table2.component.mjs +23 -10
  112. package/esm2022/core/shared/components/data-table-filter-label/data-table-filter-label.component.mjs +3 -3
  113. package/esm2022/core/shared/components/data-table-filter-presets/add-filter-preset-button.component.mjs +2 -2
  114. package/esm2022/core/shared/components/data-table-filter-presets/data-table-filter-presets.component.mjs +3 -3
  115. package/esm2022/core/shared/components/data-table-filter-presets/filter-preset.service.mjs +1 -1
  116. package/esm2022/core/shared/components/data-table-filter-presets/rename-filter-preset-dialog.component.mjs +3 -3
  117. package/esm2022/core/shared/components/data-table-filters/data-table-filters.component.mjs +6 -4
  118. package/esm2022/core/shared/components/facet-value-chip/facet-value-chip.component.mjs +2 -2
  119. package/esm2022/core/shared/components/modal-dialog/dialog-component-outlet.component.mjs +6 -8
  120. package/esm2022/core/shared/components/page-title/page-title.component.mjs +3 -3
  121. package/esm2022/core/shared/components/rich-text-editor/rich-text-editor.component.mjs +2 -2
  122. package/esm2022/core/shared/components/tabbed-custom-fields/tabbed-custom-fields.component.mjs +2 -2
  123. package/esm2022/core/shared/components/ui-extension-point/ui-extension-point.component.mjs +97 -5
  124. package/esm2022/core/shared/dynamic-form-inputs/default-form-inputs.mjs +44 -0
  125. package/esm2022/core/shared/dynamic-form-inputs/dynamic-form-input/dynamic-form-input.component.mjs +20 -16
  126. package/esm2022/core/shared/shared.module.mjs +14 -13
  127. package/esm2022/customer/components/customer-detail/customer-detail.component.mjs +5 -5
  128. package/esm2022/customer/components/customer-group-detail/customer-group-detail.component.mjs +3 -3
  129. package/esm2022/customer/components/customer-group-detail-dialog/customer-group-detail-dialog.component.mjs +3 -2
  130. package/esm2022/customer/components/customer-group-list/customer-group-list.component.mjs +3 -3
  131. package/esm2022/customer/components/customer-group-member-list/customer-group-member-list.component.mjs +3 -3
  132. package/esm2022/customer/components/customer-history/customer-history-entry-host.component.mjs +5 -7
  133. package/esm2022/customer/components/customer-list/customer-list.component.mjs +10 -7
  134. package/esm2022/dashboard/components/dashboard-widget/dashboard-widget.component.mjs +4 -7
  135. package/esm2022/dashboard/widgets/latest-orders-widget/latest-orders-widget.component.mjs +3 -3
  136. package/esm2022/marketing/components/promotion-detail/promotion-detail.component.mjs +3 -3
  137. package/esm2022/marketing/components/promotion-list/promotion-list.component.mjs +3 -3
  138. package/esm2022/order/components/order-data-table/order-data-table.component.mjs +2 -2
  139. package/esm2022/order/components/order-detail/order-detail.component.mjs +3 -3
  140. package/esm2022/order/components/order-history/order-history-entry-host.component.mjs +7 -9
  141. package/esm2022/order/components/order-list/order-list.component.mjs +3 -3
  142. package/esm2022/order/components/order-table/order-table.component.mjs +3 -3
  143. package/esm2022/react/components/react-custom-column.component.mjs +25 -0
  144. package/esm2022/react/components/react-custom-detail.component.mjs +23 -0
  145. package/esm2022/react/components/react-form-input.component.mjs +24 -0
  146. package/esm2022/react/components/react-route.component.mjs +26 -0
  147. package/esm2022/react/directives/react-component-host.directive.mjs +54 -0
  148. package/esm2022/react/public_api.mjs +19 -0
  149. package/esm2022/react/react-components/Card.mjs +28 -0
  150. package/esm2022/react/react-components/Link.mjs +30 -0
  151. package/esm2022/react/react-hooks/use-detail-component-data.mjs +48 -0
  152. package/esm2022/react/react-hooks/use-form-control.mjs +66 -0
  153. package/esm2022/react/react-hooks/use-injector.mjs +33 -0
  154. package/esm2022/react/react-hooks/use-page-metadata.mjs +41 -0
  155. package/esm2022/react/react-hooks/use-query.mjs +124 -0
  156. package/esm2022/react/register-react-custom-detail-component.mjs +33 -0
  157. package/esm2022/react/register-react-data-table-component.mjs +62 -0
  158. package/esm2022/react/register-react-form-input-component.mjs +27 -0
  159. package/esm2022/react/register-react-route-component.mjs +25 -0
  160. package/esm2022/react/types.mjs +2 -0
  161. package/esm2022/react/vendure-admin-ui-react.mjs +5 -0
  162. package/esm2022/settings/components/admin-detail/admin-detail.component.mjs +3 -3
  163. package/esm2022/settings/components/administrator-list/administrator-list.component.mjs +3 -3
  164. package/esm2022/settings/components/channel-detail/channel-detail.component.mjs +10 -10
  165. package/esm2022/settings/components/channel-list/channel-list.component.mjs +3 -3
  166. package/esm2022/settings/components/country-detail/country-detail.component.mjs +3 -3
  167. package/esm2022/settings/components/country-list/country-list.component.mjs +3 -3
  168. package/esm2022/settings/components/global-settings/global-settings.component.mjs +3 -3
  169. package/esm2022/settings/components/payment-method-detail/payment-method-detail.component.mjs +3 -3
  170. package/esm2022/settings/components/payment-method-list/payment-method-list.component.mjs +3 -3
  171. package/esm2022/settings/components/profile/profile.component.mjs +3 -3
  172. package/esm2022/settings/components/role-list/role-list.component.mjs +3 -3
  173. package/esm2022/settings/components/seller-detail/seller-detail.component.mjs +3 -3
  174. package/esm2022/settings/components/seller-list/seller-list.component.mjs +3 -3
  175. package/esm2022/settings/components/shipping-method-detail/shipping-method-detail.component.mjs +3 -3
  176. package/esm2022/settings/components/shipping-method-list/shipping-method-list.component.mjs +3 -3
  177. package/esm2022/settings/components/tax-category-detail/tax-category-detail.component.mjs +3 -3
  178. package/esm2022/settings/components/tax-category-list/tax-category-list.component.mjs +3 -3
  179. package/esm2022/settings/components/tax-rate-detail/tax-rate-detail.component.mjs +3 -3
  180. package/esm2022/settings/components/tax-rate-list/tax-rate-list.component.mjs +3 -3
  181. package/esm2022/settings/components/zone-detail/zone-detail.component.mjs +3 -3
  182. package/esm2022/settings/components/zone-list/zone-list.component.mjs +3 -3
  183. package/esm2022/settings/components/zone-member-list/zone-member-list.component.mjs +3 -3
  184. package/esm2022/settings/settings.routes.mjs +1 -1
  185. package/esm2022/system/components/job-list/job-list.component.mjs +3 -3
  186. package/fesm2022/vendure-admin-ui-catalog.mjs +34 -31
  187. package/fesm2022/vendure-admin-ui-catalog.mjs.map +1 -1
  188. package/fesm2022/vendure-admin-ui-core.mjs +659 -346
  189. package/fesm2022/vendure-admin-ui-core.mjs.map +1 -1
  190. package/fesm2022/vendure-admin-ui-customer.mjs +19 -18
  191. package/fesm2022/vendure-admin-ui-customer.mjs.map +1 -1
  192. package/fesm2022/vendure-admin-ui-dashboard.mjs +5 -8
  193. package/fesm2022/vendure-admin-ui-dashboard.mjs.map +1 -1
  194. package/fesm2022/vendure-admin-ui-marketing.mjs +4 -4
  195. package/fesm2022/vendure-admin-ui-marketing.mjs.map +1 -1
  196. package/fesm2022/vendure-admin-ui-order.mjs +14 -16
  197. package/fesm2022/vendure-admin-ui-order.mjs.map +1 -1
  198. package/fesm2022/vendure-admin-ui-react.mjs +641 -0
  199. package/fesm2022/vendure-admin-ui-react.mjs.map +1 -0
  200. package/fesm2022/vendure-admin-ui-settings.mjs +41 -41
  201. package/fesm2022/vendure-admin-ui-settings.mjs.map +1 -1
  202. package/fesm2022/vendure-admin-ui-system.mjs +2 -2
  203. package/fesm2022/vendure-admin-ui-system.mjs.map +1 -1
  204. package/marketing/components/promotion-detail/promotion-detail.component.d.ts +3 -1
  205. package/order/components/order-detail/order-detail.component.d.ts +3 -1
  206. package/order/components/order-history/order-history-entry-host.component.d.ts +2 -3
  207. package/package.json +21 -13
  208. package/react/components/react-custom-column.component.d.ts +17 -0
  209. package/react/components/react-custom-detail.component.d.ts +24 -0
  210. package/react/components/react-form-input.component.d.ts +20 -0
  211. package/react/components/react-route.component.d.ts +10 -0
  212. package/react/directives/react-component-host.directive.d.ts +23 -0
  213. package/react/index.d.ts +5 -0
  214. package/react/public_api.d.ts +17 -0
  215. package/react/react-components/Card.d.ts +24 -0
  216. package/react/react-components/Link.d.ts +22 -0
  217. package/react/react-hooks/use-detail-component-data.d.ts +32 -0
  218. package/react/react-hooks/use-form-control.d.ts +29 -0
  219. package/react/react-hooks/use-injector.d.ts +24 -0
  220. package/react/react-hooks/use-page-metadata.d.ts +30 -0
  221. package/react/react-hooks/use-query.d.ts +92 -0
  222. package/react/register-react-custom-detail-component.d.ts +38 -0
  223. package/react/register-react-data-table-component.d.ts +81 -0
  224. package/react/register-react-form-input-component.d.ts +9 -0
  225. package/react/register-react-route-component.d.ts +26 -0
  226. package/react/types.d.ts +17 -0
  227. package/settings/components/admin-detail/admin-detail.component.d.ts +3 -1
  228. package/settings/components/channel-detail/channel-detail.component.d.ts +5 -3
  229. package/settings/components/country-detail/country-detail.component.d.ts +3 -1
  230. package/settings/components/global-settings/global-settings.component.d.ts +3 -1
  231. package/settings/components/payment-method-detail/payment-method-detail.component.d.ts +3 -1
  232. package/settings/components/profile/profile.component.d.ts +3 -1
  233. package/settings/components/seller-detail/seller-detail.component.d.ts +3 -1
  234. package/settings/components/shipping-method-detail/shipping-method-detail.component.d.ts +3 -1
  235. package/settings/components/tax-category-detail/tax-category-detail.component.d.ts +3 -1
  236. package/settings/components/tax-rate-detail/tax-rate-detail.component.d.ts +3 -1
  237. package/settings/components/zone-detail/zone-detail.component.d.ts +3 -1
  238. package/static/i18n-messages/cs.json +789 -789
  239. package/static/i18n-messages/de.json +789 -789
  240. package/static/i18n-messages/en.json +789 -789
  241. package/static/i18n-messages/es.json +789 -789
  242. package/static/i18n-messages/fr.json +789 -789
  243. package/static/i18n-messages/he.json +789 -789
  244. package/static/i18n-messages/it.json +789 -789
  245. package/static/i18n-messages/pl.json +789 -789
  246. package/static/i18n-messages/pt_BR.json +789 -789
  247. package/static/i18n-messages/pt_PT.json +789 -789
  248. package/static/i18n-messages/ru.json +789 -789
  249. package/static/i18n-messages/uk.json +789 -789
  250. package/static/i18n-messages/zh_Hans.json +789 -789
  251. package/static/i18n-messages/zh_Hant.json +789 -789
  252. package/static/styles/_mixins.scss +4 -4
  253. package/static/styles/global/_forms.scss +2 -2
  254. package/static/styles/rtl.scss +1 -1
  255. package/static/styles/theme/dark.scss +1 -16
  256. package/static/styles/theme/default.scss +1 -0
  257. package/static/theme.min.css +1 -1
  258. package/core/shared/dynamic-form-inputs/register-dynamic-input-components.d.ts +0 -64
  259. package/esm2022/core/providers/bulk-action-registry/register-bulk-action.mjs +0 -63
  260. package/esm2022/core/providers/dashboard-widget/register-dashboard-widget.mjs +0 -32
  261. package/esm2022/core/shared/dynamic-form-inputs/register-dynamic-input-components.mjs +0 -102
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vendure-admin-ui-react.mjs","sources":["../../src/lib/react/src/directives/react-component-host.directive.ts","../../src/lib/react/src/components/react-custom-column.component.ts","../../src/lib/react/src/components/react-custom-detail.component.ts","../../src/lib/react/src/components/react-form-input.component.ts","../../src/lib/react/src/components/react-route.component.ts","../../src/lib/react/src/react-components/Card.tsx","../../src/lib/react/src/react-hooks/use-injector.ts","../../src/lib/react/src/react-components/Link.tsx","../../src/lib/react/src/react-hooks/use-detail-component-data.ts","../../src/lib/react/src/react-hooks/use-form-control.ts","../../src/lib/react/src/react-hooks/use-page-metadata.ts","../../src/lib/react/src/react-hooks/use-query.ts","../../src/lib/react/src/register-react-custom-detail-component.ts","../../src/lib/react/src/register-react-data-table-component.ts","../../src/lib/react/src/register-react-form-input-component.ts","../../src/lib/react/src/register-react-route-component.ts","../../src/lib/react/src/public_api.ts","../../src/lib/react/src/vendure-admin-ui-react.ts"],"sourcesContent":["import { Directive, ElementRef, Injector, Input, Optional } from '@angular/core';\r\nimport { PageMetadataService } from '@vendure/admin-ui/core';\r\nimport { ComponentProps, createContext, createElement, ElementType } from 'react';\r\nimport { createRoot, Root } from 'react-dom/client';\r\nimport { HostedReactComponentContext } from '../types';\r\n\r\nexport const HostedComponentContext = createContext<HostedReactComponentContext | null>(null);\r\n\r\n/**\r\n * Based on https://netbasal.com/using-react-in-angular-applications-1bb907ecac91\r\n */\r\n@Directive({\r\n selector: '[vdrReactComponentHost]',\r\n standalone: true,\r\n})\r\nexport class ReactComponentHostDirective<Comp extends ElementType> {\r\n @Input('vdrReactComponentHost') reactComponent: Comp;\r\n @Input() props: ComponentProps<Comp>;\r\n @Input() context: Record<string, any> = {};\r\n\r\n private root: Root | null = null;\r\n\r\n constructor(\r\n private host: ElementRef,\r\n private injector: Injector,\r\n @Optional() private pageMetadataService?: PageMetadataService,\r\n ) {}\r\n\r\n async ngOnChanges() {\r\n const Comp = this.reactComponent;\r\n\r\n if (!this.root) {\r\n this.root = createRoot(this.host.nativeElement);\r\n }\r\n\r\n this.root.render(\r\n createElement(\r\n HostedComponentContext.Provider,\r\n {\r\n value: {\r\n ...this.props,\r\n ...this.context,\r\n injector: this.injector,\r\n pageMetadataService: this.pageMetadataService,\r\n },\r\n },\r\n createElement(Comp, this.props),\r\n ),\r\n );\r\n }\r\n\r\n ngOnDestroy() {\r\n this.root?.unmount();\r\n }\r\n}\r\n","import { Component, inject, InjectionToken, Input, OnInit, ViewEncapsulation } from '@angular/core';\r\nimport { CustomColumnComponent } from '@vendure/admin-ui/core';\r\nimport { ElementType } from 'react';\r\nimport { ReactComponentHostDirective } from '../directives/react-component-host.directive';\r\n\r\nexport const REACT_CUSTOM_COLUMN_COMPONENT_OPTIONS = new InjectionToken<{\r\n component: ElementType;\r\n props?: Record<string, any>;\r\n}>('REACT_CUSTOM_COLUMN_COMPONENT_OPTIONS');\r\n\r\n@Component({\r\n selector: 'vdr-react-custom-column-component',\r\n template: ` <div [vdrReactComponentHost]=\"reactComponent\" [props]=\"props\"></div> `,\r\n styleUrls: ['./react-global-styles.scss'],\r\n encapsulation: ViewEncapsulation.None,\r\n standalone: true,\r\n imports: [ReactComponentHostDirective],\r\n})\r\nexport class ReactCustomColumnComponent implements CustomColumnComponent, OnInit {\r\n @Input() rowItem: any;\r\n\r\n protected reactComponent = inject(REACT_CUSTOM_COLUMN_COMPONENT_OPTIONS).component;\r\n private options = inject(REACT_CUSTOM_COLUMN_COMPONENT_OPTIONS);\r\n protected props: Record<string, any>;\r\n\r\n ngOnInit() {\r\n this.props = {\r\n rowItem: this.rowItem,\r\n ...(this.options.props ?? {}),\r\n };\r\n }\r\n}\r\n","import { Component, inject, InjectionToken, OnInit, ViewEncapsulation } from '@angular/core';\r\nimport { FormGroup, UntypedFormGroup } from '@angular/forms';\r\nimport { CustomDetailComponent } from '@vendure/admin-ui/core';\r\nimport { ElementType } from 'react';\r\nimport { Observable } from 'rxjs';\r\nimport { ReactComponentHostDirective } from '../directives/react-component-host.directive';\r\n\r\nexport const REACT_CUSTOM_DETAIL_COMPONENT_OPTIONS = new InjectionToken<{\r\n component: ElementType;\r\n props?: Record<string, any>;\r\n}>('REACT_CUSTOM_DETAIL_COMPONENT_OPTIONS');\r\n\r\nexport interface ReactCustomDetailComponentContext {\r\n detailForm: FormGroup;\r\n entity$: Observable<any>;\r\n}\r\n\r\n@Component({\r\n selector: 'vdr-react-custom-detail-component',\r\n template: ` <div [vdrReactComponentHost]=\"reactComponent\" [context]=\"context\" [props]=\"props\"></div> `,\r\n styleUrls: ['./react-global-styles.scss'],\r\n encapsulation: ViewEncapsulation.None,\r\n standalone: true,\r\n imports: [ReactComponentHostDirective],\r\n})\r\nexport class ReactCustomDetailComponent implements CustomDetailComponent, OnInit {\r\n detailForm: UntypedFormGroup;\r\n entity$: Observable<any>;\r\n protected props = inject(REACT_CUSTOM_DETAIL_COMPONENT_OPTIONS).props ?? {};\r\n protected reactComponent = inject(REACT_CUSTOM_DETAIL_COMPONENT_OPTIONS).component;\r\n protected context: ReactCustomDetailComponentContext;\r\n\r\n ngOnInit() {\r\n this.context = {\r\n detailForm: this.detailForm,\r\n entity$: this.entity$,\r\n };\r\n }\r\n}\r\n","import { Component, inject, InjectionToken, OnInit, ViewEncapsulation } from '@angular/core';\r\nimport { FormControl } from '@angular/forms';\r\nimport { CustomField, FormInputComponent } from '@vendure/admin-ui/core';\r\nimport { ElementType } from 'react';\r\nimport { ReactComponentHostDirective } from '../directives/react-component-host.directive';\r\nimport { ReactFormInputOptions } from '../types';\r\n\r\nexport const REACT_INPUT_COMPONENT_OPTIONS = new InjectionToken<{\r\n component: ElementType;\r\n}>('REACT_INPUT_COMPONENT_OPTIONS');\r\n\r\n@Component({\r\n selector: 'vdr-react-form-input-component',\r\n template: ` <div [vdrReactComponentHost]=\"reactComponent\" [context]=\"context\" [props]=\"context\"></div> `,\r\n styleUrls: ['./react-global-styles.scss'],\r\n encapsulation: ViewEncapsulation.None,\r\n standalone: true,\r\n imports: [ReactComponentHostDirective],\r\n})\r\nexport class ReactFormInputComponent implements FormInputComponent, OnInit {\r\n static readonly id: string = 'react-form-input-component';\r\n readonly: boolean;\r\n formControl: FormControl;\r\n config: CustomField & Record<string, any>;\r\n\r\n protected context: ReactFormInputOptions;\r\n\r\n protected reactComponent = inject(REACT_INPUT_COMPONENT_OPTIONS).component;\r\n\r\n ngOnInit() {\r\n this.context = {\r\n formControl: this.formControl,\r\n readonly: this.readonly,\r\n config: this.config,\r\n };\r\n }\r\n}\r\n","import { Component, inject, InjectionToken, ViewEncapsulation } from '@angular/core';\r\nimport { ROUTE_COMPONENT_OPTIONS, RouteComponent, SharedModule } from '@vendure/admin-ui/core';\r\nimport { ReactComponentHostDirective } from '../directives/react-component-host.directive';\r\nimport { ReactRouteComponentOptions } from '../types';\r\n\r\nexport const REACT_ROUTE_COMPONENT_OPTIONS = new InjectionToken<ReactRouteComponentOptions>(\r\n 'REACT_ROUTE_COMPONENT_OPTIONS',\r\n);\r\n\r\n@Component({\r\n selector: 'vdr-react-route-component',\r\n template: `\r\n <vdr-route-component\r\n ><div [vdrReactComponentHost]=\"reactComponent\" [props]=\"props\"></div\r\n ></vdr-route-component>\r\n `,\r\n styleUrls: ['./react-global-styles.scss'],\r\n encapsulation: ViewEncapsulation.None,\r\n standalone: true,\r\n imports: [ReactComponentHostDirective, RouteComponent, SharedModule],\r\n})\r\nexport class ReactRouteComponent {\r\n protected props = inject(REACT_ROUTE_COMPONENT_OPTIONS).props;\r\n protected reactComponent = inject(ROUTE_COMPONENT_OPTIONS).component;\r\n}\r\n","import React, { PropsWithChildren } from 'react';\r\n\r\n/**\r\n * @description\r\n * A card component which can be used to group related content.\r\n *\r\n * @example\r\n * ```ts\r\n * import { Card } from '@vendure/admin-ui/react';\r\n *\r\n * export function MyComponent() {\r\n * return (\r\n * <Card title='My Title'>\r\n * <p>Some content</p>\r\n * </Card>\r\n * );\r\n * }\r\n * ```\r\n *\r\n * @docsCategory react-components\r\n */\r\nexport function Card(props: PropsWithChildren<{ title?: string; paddingX?: boolean }>) {\r\n return (\r\n <div className={'vdr-card'}>\r\n <div className={`card-container ${props.paddingX !== false ? 'padding-x' : ''}`}>\r\n {props.title && (\r\n <div className={'title-row'}>\r\n <div className=\"title\">{props.title}</div>\r\n </div>\r\n )}\r\n <div className=\"contents\">{props.children}</div>\r\n </div>\r\n </div>\r\n );\r\n}\r\n","import { ProviderToken } from '@angular/core';\r\nimport { useContext } from 'react';\r\nimport { HostedComponentContext } from '../directives/react-component-host.directive';\r\n\r\n/**\r\n * @description\r\n * Exposes the Angular injector which allows the injection of services into React components.\r\n *\r\n * @example\r\n * ```ts\r\n * import { useInjector } from '\\@vendure/admin-ui/react';\r\n * import { NotificationService } from '\\@vendure/admin-ui/core';\r\n *\r\n * export const MyComponent = () => {\r\n * const notificationService = useInjector(NotificationService);\r\n *\r\n * const handleClick = () => {\r\n * notificationService.success('Hello world!');\r\n * };\r\n * // ...\r\n * return <div>...</div>;\r\n * }\r\n * ```\r\n *\r\n * @docsCategory react-hooks\r\n */\r\nexport function useInjector<T = any>(token: ProviderToken<T>): T {\r\n const context = useContext(HostedComponentContext);\r\n const instance = context?.injector.get(token);\r\n if (!instance) {\r\n throw new Error(`Could not inject ${(token as any).name ?? token.toString()}`);\r\n }\r\n return instance;\r\n}\r\n","import { Router } from '@angular/router';\r\nimport React, { PropsWithChildren } from 'react';\r\nimport { useInjector } from '../react-hooks/use-injector';\r\n\r\n/**\r\n * @description\r\n * A React component which renders an anchor tag and navigates to the specified route when clicked.\r\n * This is useful when you want to use a React component in a Vendure UI plugin which navigates to\r\n * a route in the admin-ui.\r\n *\r\n * @example\r\n * ```ts\r\n * import { Link } from '@vendure/admin-ui/react';\r\n *\r\n * export const MyReactComponent = () => {\r\n * return <Link href=\"/extensions/my-extension\">Go to my extension</Link>;\r\n * }\r\n * ```\r\n *\r\n * @docsCategory react-components\r\n */\r\nexport function Link(props: PropsWithChildren<{ href: string; [props: string]: any }>) {\r\n const router = useInjector(Router);\r\n const { href, ...rest } = props;\r\n\r\n function onClick(e: React.MouseEvent<HTMLAnchorElement, MouseEvent>) {\r\n e.preventDefault();\r\n void router.navigateByUrl(href);\r\n }\r\n\r\n return (\r\n <a href={href} onClick={onClick} {...rest}>\r\n {props.children}\r\n </a>\r\n );\r\n}\r\n","import { useContext, useEffect, useState } from 'react';\r\nimport { ReactCustomDetailComponentContext } from '../components/react-custom-detail.component';\r\nimport { HostedComponentContext } from '../directives/react-component-host.directive';\r\nimport { HostedReactComponentContext } from '../types';\r\n\r\n/**\r\n * @description\r\n * Provides the data available to React-based CustomDetailComponents.\r\n *\r\n * @example\r\n * ```ts\r\n * import { Card, useDetailComponentData } from '\\@vendure/admin-ui/react';\r\n * import React from 'react';\r\n *\r\n * export function CustomDetailComponent(props: any) {\r\n * const { entity, detailForm } = useDetailComponentData();\r\n * const updateName = () => {\r\n * detailForm.get('name')?.setValue('New name');\r\n * detailForm.markAsDirty();\r\n * };\r\n * return (\r\n * <Card title={'Custom Detail Component'}>\r\n * <button className=\"button\" onClick={updateName}>\r\n * Update name\r\n * </button>\r\n * <pre>{JSON.stringify(entity, null, 2)}</pre>\r\n * </Card>\r\n * );\r\n * }\r\n * ```\r\n *\r\n * @docsCategory react-hooks\r\n */\r\nexport function useDetailComponentData() {\r\n const context = useContext(\r\n HostedComponentContext,\r\n ) as HostedReactComponentContext<ReactCustomDetailComponentContext>;\r\n\r\n if (!context.detailForm || !context.entity$) {\r\n throw new Error(`The useDetailComponentData hook can only be used within a CustomDetailComponent`);\r\n }\r\n\r\n const [entity, setEntity] = useState(null);\r\n\r\n useEffect(() => {\r\n const subscription = context.entity$.subscribe(value => {\r\n setEntity(value);\r\n });\r\n return () => subscription.unsubscribe();\r\n }, []);\r\n\r\n return {\r\n entity,\r\n detailForm: context.detailForm,\r\n };\r\n}\r\n","import { CustomFieldType } from '@vendure/common/lib/shared-types';\r\nimport { useContext, useEffect, useState } from 'react';\r\nimport { HostedComponentContext } from '../directives/react-component-host.directive';\r\nimport { HostedReactComponentContext, ReactFormInputOptions } from '../types';\r\n\r\n/**\r\n * @description\r\n * Provides access to the current FormControl value and a method to update the value.\r\n *\r\n * @example\r\n * ```ts\r\n * import { useFormControl, ReactFormInputProps } from '\\@vendure/admin-ui/react';\r\n * import React from 'react';\r\n *\r\n * export function ReactNumberInput({ readonly }: ReactFormInputProps) {\r\n * const { value, setFormValue } = useFormControl();\r\n *\r\n * const handleChange = (e: React.ChangeEvent<HTMLInputElement>) => {\r\n * setFormValue(val);\r\n * };\r\n * return (\r\n * <div>\r\n * <input readOnly={readonly} type=\"number\" onChange={handleChange} value={value} />\r\n * </div>\r\n * );\r\n * }\r\n * ```\r\n *\r\n * @docsCategory react-hooks\r\n */\r\nexport function useFormControl() {\r\n const context = useContext(HostedComponentContext);\r\n if (!context) {\r\n throw new Error('No HostedComponentContext found');\r\n }\r\n if (!isFormInputContext(context)) {\r\n throw new Error('useFormControl() can only be used in a form input component');\r\n }\r\n const { formControl, config } = context;\r\n const [value, setValue] = useState(formControl.value ?? 0);\r\n\r\n useEffect(() => {\r\n const subscription = formControl.valueChanges.subscribe(v => {\r\n setValue(v);\r\n });\r\n return () => {\r\n subscription.unsubscribe();\r\n };\r\n }, []);\r\n\r\n function setFormValue(newValue: any) {\r\n formControl.setValue(coerceFormValue(newValue, config.type as CustomFieldType));\r\n formControl.markAsDirty();\r\n }\r\n\r\n return { value, setFormValue };\r\n}\r\n\r\nfunction isFormInputContext(\r\n context: HostedReactComponentContext,\r\n): context is HostedReactComponentContext<ReactFormInputOptions> {\r\n return context.config && context.formControl;\r\n}\r\n\r\nfunction coerceFormValue(value: any, type: CustomFieldType) {\r\n switch (type) {\r\n case 'int':\r\n case 'float':\r\n return Number(value);\r\n case 'boolean':\r\n return Boolean(value);\r\n default:\r\n return value;\r\n }\r\n}\r\n","import { BreadcrumbValue } from '@vendure/admin-ui/core';\r\nimport { useContext } from 'react';\r\nimport { HostedComponentContext } from '../directives/react-component-host.directive';\r\nimport { HostedReactComponentContext, ReactRouteComponentOptions } from '../types';\r\n\r\n/**\r\n * @description\r\n * Provides functions for setting the current page title and breadcrumb.\r\n *\r\n * @example\r\n * ```ts\r\n * import { usePageMetadata } from '\\@vendure/admin-ui/react';\r\n * import { useEffect } from 'react';\r\n *\r\n * export const MyComponent = () => {\r\n * const { setTitle, setBreadcrumb } = usePageMetadata();\r\n * useEffect(() => {\r\n * setTitle('My Page');\r\n * setBreadcrumb([\r\n * { link: ['./parent'], label: 'Parent Page' },\r\n * { link: ['./'], label: 'This Page' },\r\n * ]);\r\n * }, []);\r\n * // ...\r\n * return <div>...</div>;\r\n * }\r\n * ```\r\n *\r\n * @docsCategory react-hooks\r\n */\r\nexport function usePageMetadata() {\r\n const context = useContext(\r\n HostedComponentContext,\r\n ) as HostedReactComponentContext<ReactRouteComponentOptions>;\r\n const setBreadcrumb = (newValue: BreadcrumbValue) => {\r\n context.pageMetadataService?.setBreadcrumbs(newValue);\r\n };\r\n const setTitle = (newTitle: string) => {\r\n context.pageMetadataService?.setTitle(newTitle);\r\n };\r\n\r\n return {\r\n setBreadcrumb,\r\n setTitle,\r\n };\r\n}\r\n","import { TypedDocumentNode } from '@graphql-typed-document-node/core';\r\nimport { DataService } from '@vendure/admin-ui/core';\r\nimport { DocumentNode } from 'graphql/index';\r\nimport { useCallback, useContext, useEffect, useState } from 'react';\r\nimport { firstValueFrom, Observable } from 'rxjs';\r\nimport { tap } from 'rxjs/operators';\r\nimport { HostedComponentContext } from '../directives/react-component-host.directive';\r\n\r\n/**\r\n * @description\r\n * A React hook which provides access to the results of a GraphQL query.\r\n *\r\n * @example\r\n * ```ts\r\n * import { useQuery } from '\\@vendure/admin-ui/react';\r\n * import { gql } from 'graphql-tag';\r\n *\r\n * const GET_PRODUCT = gql`\r\n * query GetProduct($id: ID!) {\r\n * product(id: $id) {\r\n * id\r\n * name\r\n * description\r\n * }\r\n * }`;\r\n *\r\n * export const MyComponent = () => {\r\n * const { data, loading, error } = useQuery(GET_PRODUCT, { id: '1' });\r\n *\r\n * if (loading) return <div>Loading...</div>;\r\n * if (error) return <div>Error! { error }</div>;\r\n * return (\r\n * <div>\r\n * <h1>{data.product.name}</h1>\r\n * <p>{data.product.description}</p>\r\n * </div>\r\n * );\r\n * };\r\n * ```\r\n *\r\n * @docsCategory react-hooks\r\n */\r\nexport function useQuery<T, V extends Record<string, any> = Record<string, any>>(\r\n query: DocumentNode | TypedDocumentNode<T, V>,\r\n variables?: V,\r\n) {\r\n const { data, loading, error, runQuery } = useDataService<T, V>(\r\n (dataService, vars) => dataService.query(query, vars).stream$,\r\n );\r\n useEffect(() => {\r\n const subscription = runQuery(variables).subscribe();\r\n return () => subscription.unsubscribe();\r\n }, [runQuery]);\r\n\r\n const refetch = (variables?: V) => firstValueFrom(runQuery(variables));\r\n return { data, loading, error, refetch } as const;\r\n}\r\n\r\n/**\r\n * @description\r\n * A React hook which allows you to execute a GraphQL mutation.\r\n *\r\n * @example\r\n * ```ts\r\n * import { useMutation } from '\\@vendure/admin-ui/react';\r\n * import { gql } from 'graphql-tag';\r\n *\r\n * const UPDATE_PRODUCT = gql`\r\n * mutation UpdateProduct($input: UpdateProductInput!) {\r\n * updateProduct(input: $input) {\r\n * id\r\n * name\r\n * }\r\n * }`;\r\n *\r\n * export const MyComponent = () => {\r\n * const [updateProduct, { data, loading, error }] = useMutation(UPDATE_PRODUCT);\r\n *\r\n * const handleClick = () => {\r\n * updateProduct({\r\n * input: {\r\n * id: '1',\r\n * name: 'New name',\r\n * },\r\n * }).then(result => {\r\n * // do something with the result\r\n * });\r\n * };\r\n *\r\n * if (loading) return <div>Loading...</div>;\r\n * if (error) return <div>Error! { error }</div>;\r\n *\r\n * return (\r\n * <div>\r\n * <button onClick={handleClick}>Update product</button>\r\n * {data && <div>Product updated!</div>}\r\n * </div>\r\n * );\r\n * };\r\n * ```\r\n *\r\n * @docsCategory react-hooks\r\n */\r\nexport function useMutation<T, V extends Record<string, any> = Record<string, any>>(\r\n mutation: DocumentNode | TypedDocumentNode<T, V>,\r\n) {\r\n const { data, loading, error, runQuery } = useDataService<T, V>((dataService, variables) =>\r\n dataService.mutate(mutation, variables),\r\n );\r\n const rest = { data, loading, error };\r\n const execute = (variables?: V) => firstValueFrom(runQuery(variables));\r\n return [execute, rest] as [typeof execute, typeof rest];\r\n}\r\n\r\nfunction useDataService<T, V extends Record<string, any> = Record<string, any>>(\r\n operation: (dataService: DataService, variables?: V) => Observable<T>,\r\n) {\r\n const context = useContext(HostedComponentContext);\r\n const dataService = context?.injector.get(DataService);\r\n if (!dataService) {\r\n throw new Error('No DataService found in HostedComponentContext');\r\n }\r\n\r\n const [data, setData] = useState<T>();\r\n const [error, setError] = useState<string>();\r\n const [loading, setLoading] = useState(false);\r\n\r\n const runQuery = useCallback((variables?: V) => {\r\n setLoading(true);\r\n return operation(dataService, variables).pipe(\r\n tap({\r\n next: res => {\r\n setData(res);\r\n setLoading(false);\r\n },\r\n error: err => {\r\n setError(err.message);\r\n setLoading(false);\r\n },\r\n }),\r\n );\r\n }, []);\r\n\r\n return { data, loading, error, runQuery };\r\n}\r\n","import { APP_INITIALIZER } from '@angular/core';\r\nimport { CustomDetailComponentLocationId, CustomDetailComponentService } from '@vendure/admin-ui/core';\r\nimport { ElementType } from 'react';\r\nimport {\r\n REACT_CUSTOM_DETAIL_COMPONENT_OPTIONS,\r\n ReactCustomDetailComponent,\r\n} from './components/react-custom-detail.component';\r\n\r\n/**\r\n * @description\r\n * Configures a React-based component to be placed in a detail page in the given location.\r\n *\r\n * @docsCategory react-extensions\r\n */\r\nexport interface ReactCustomDetailComponentConfig {\r\n /**\r\n * @description\r\n * The id of the detail page location in which to place the component.\r\n */\r\n locationId: CustomDetailComponentLocationId;\r\n /**\r\n * @description\r\n * The React component to render.\r\n */\r\n component: ElementType;\r\n /**\r\n * @description\r\n * Optional props to pass to the React component.\r\n */\r\n props?: Record<string, any>;\r\n}\r\n\r\n/**\r\n * @description\r\n * Registers a React component to be rendered in a detail page in the given location.\r\n * Components used as custom detail components can make use of the {@link useDetailComponentData} hook.\r\n *\r\n * @docsCategory react-extensions\r\n */\r\nexport function registerReactCustomDetailComponent(config: ReactCustomDetailComponentConfig) {\r\n return {\r\n provide: APP_INITIALIZER,\r\n multi: true,\r\n useFactory: (customDetailComponentService: CustomDetailComponentService) => () => {\r\n customDetailComponentService.registerCustomDetailComponent({\r\n component: ReactCustomDetailComponent,\r\n locationId: config.locationId,\r\n providers: [\r\n {\r\n provide: REACT_CUSTOM_DETAIL_COMPONENT_OPTIONS,\r\n useValue: {\r\n component: config.component,\r\n props: config.props,\r\n },\r\n },\r\n ],\r\n });\r\n },\r\n deps: [CustomDetailComponentService],\r\n };\r\n}\r\n","import { APP_INITIALIZER } from '@angular/core';\r\nimport {\r\n DataTableColumnId,\r\n DataTableCustomComponentService,\r\n DataTableLocationId,\r\n} from '@vendure/admin-ui/core';\r\nimport { ElementType } from 'react';\r\nimport {\r\n REACT_CUSTOM_COLUMN_COMPONENT_OPTIONS,\r\n ReactCustomColumnComponent,\r\n} from './components/react-custom-column.component';\r\n\r\n/**\r\n * @description\r\n * Configures a {@link CustomDetailComponent} to be placed in the given location.\r\n *\r\n * @docsCategory react-extensions\r\n */\r\nexport interface ReactDataTableComponentConfig {\r\n /**\r\n * @description\r\n * The location in the UI where the custom component should be placed.\r\n */\r\n tableId: DataTableLocationId;\r\n /**\r\n * @description\r\n * The column in the table where the custom component should be placed.\r\n */\r\n columnId: DataTableColumnId;\r\n /**\r\n * @description\r\n * The component to render in the table cell. This component will receive the `rowItem` prop\r\n * which is the data object for the row, e.g. the `Product` object if used in the `product-list` table.\r\n */\r\n component: ElementType;\r\n /**\r\n * @description\r\n * Optional props to pass to the React component.\r\n */\r\n props?: Record<string, any>;\r\n}\r\n\r\n/**\r\n * @description\r\n * The props that will be passed to the React component registered via {@link registerReactDataTableComponent}.\r\n */\r\nexport interface ReactDataTableComponentProps {\r\n rowItem: any;\r\n [prop: string]: any;\r\n}\r\n\r\n/**\r\n * @description\r\n * Registers a React component to be rendered in a data table in the given location.\r\n * The component will receive the `rowItem` prop which is the data object for the row,\r\n * e.g. the `Product` object if used in the `product-list` table.\r\n *\r\n * @example\r\n * ```ts title=\"components/SlugWithLink.tsx\"\r\n * import { ReactDataTableComponentProps } from '\\@vendure/admin-ui/react';\r\n * import React from 'react';\r\n *\r\n * export function SlugWithLink({ rowItem }: ReactDataTableComponentProps) {\r\n * return (\r\n * <a href={`https://example.com/products/${rowItem.slug}`} target=\"_blank\">\r\n * {rowItem.slug}\r\n * </a>\r\n * );\r\n * }\r\n * ```\r\n *\r\n * ```ts title=\"providers.ts\"\r\n * import { registerReactDataTableComponent } from '\\@vendure/admin-ui/react';\r\n * import { SlugWithLink } from './components/SlugWithLink';\r\n *\r\n * export default [\r\n * registerReactDataTableComponent({\r\n * component: SlugWithLink,\r\n * tableId: 'product-list',\r\n * columnId: 'slug',\r\n * props: {\r\n * foo: 'bar',\r\n * },\r\n * }),\r\n * ];\r\n * ```\r\n */\r\nexport function registerReactDataTableComponent(config: ReactDataTableComponentConfig) {\r\n return {\r\n provide: APP_INITIALIZER,\r\n multi: true,\r\n useFactory: (dataTableCustomComponentService: DataTableCustomComponentService) => () => {\r\n dataTableCustomComponentService.registerCustomComponent({\r\n ...config,\r\n component: ReactCustomColumnComponent,\r\n providers: [\r\n {\r\n provide: REACT_CUSTOM_COLUMN_COMPONENT_OPTIONS,\r\n useValue: {\r\n component: config.component,\r\n props: config.props,\r\n },\r\n },\r\n ],\r\n });\r\n },\r\n deps: [DataTableCustomComponentService],\r\n };\r\n}\r\n","import { APP_INITIALIZER, FactoryProvider } from '@angular/core';\r\nimport { ComponentRegistryService } from '@vendure/admin-ui/core';\r\nimport { ElementType } from 'react';\r\nimport {\r\n REACT_INPUT_COMPONENT_OPTIONS,\r\n ReactFormInputComponent,\r\n} from './components/react-form-input.component';\r\n\r\n/**\r\n * @description\r\n * Registers a React component to be used as a {@link FormInputComponent}.\r\n *\r\n * @docsCategory react-extensions\r\n */\r\nexport function registerReactFormInputComponent(id: string, component: ElementType): FactoryProvider {\r\n return {\r\n provide: APP_INITIALIZER,\r\n multi: true,\r\n useFactory: (registry: ComponentRegistryService) => () => {\r\n registry.registerInputComponent(id, ReactFormInputComponent, [\r\n {\r\n provide: REACT_INPUT_COMPONENT_OPTIONS,\r\n useValue: {\r\n component,\r\n },\r\n },\r\n ]);\r\n },\r\n deps: [ComponentRegistryService],\r\n };\r\n}\r\n","import { Route } from '@angular/router';\r\nimport { ResultOf, TypedDocumentNode } from '@graphql-typed-document-node/core';\r\nimport { registerRouteComponent, RegisterRouteComponentOptions } from '@vendure/admin-ui/core';\r\nimport { DocumentNode } from 'graphql/index';\r\nimport { ElementType } from 'react';\r\nimport { REACT_ROUTE_COMPONENT_OPTIONS, ReactRouteComponent } from './components/react-route.component';\r\nimport { ReactRouteComponentOptions } from './types';\r\n\r\ntype RegisterReactRouteComponentOptions<\r\n Entity extends { id: string; updatedAt?: string },\r\n T extends DocumentNode | TypedDocumentNode<any, { id: string }>,\r\n Field extends keyof ResultOf<T>,\r\n R extends Field,\r\n> = RegisterRouteComponentOptions<ElementType, Entity, T, Field, R> & {\r\n props?: Record<string, any>;\r\n};\r\n\r\n/**\r\n * @description\r\n * Registers a React component to be used as a route component.\r\n *\r\n * @docsCategory react-extensions\r\n */\r\nexport function registerReactRouteComponent<\r\n Entity extends { id: string; updatedAt?: string },\r\n T extends DocumentNode | TypedDocumentNode<any, { id: string }>,\r\n Field extends keyof ResultOf<T>,\r\n R extends Field,\r\n>(options: RegisterReactRouteComponentOptions<Entity, T, Field, R>): Route {\r\n const routeDef = registerRouteComponent(options);\r\n return {\r\n ...routeDef,\r\n providers: [\r\n {\r\n provide: REACT_ROUTE_COMPONENT_OPTIONS,\r\n useValue: {\r\n props: options.props,\r\n } satisfies ReactRouteComponentOptions,\r\n },\r\n ...(routeDef.providers ?? []),\r\n ],\r\n component: ReactRouteComponent,\r\n };\r\n}\r\n","// This file was generated by the build-public-api.ts script\nexport * from './components/react-custom-column.component';\nexport * from './components/react-custom-detail.component';\nexport * from './components/react-form-input.component';\nexport * from './components/react-route.component';\nexport * from './directives/react-component-host.directive';\nexport * from './react-components/Card';\nexport * from './react-components/Link';\nexport * from './react-hooks/use-detail-component-data';\nexport * from './react-hooks/use-form-control';\nexport * from './react-hooks/use-injector';\nexport * from './react-hooks/use-page-metadata';\nexport * from './react-hooks/use-query';\nexport * from './register-react-custom-detail-component';\nexport * from './register-react-data-table-component';\nexport * from './register-react-form-input-component';\nexport * from './register-react-route-component';\nexport * from './types';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}