@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,19 @@
1
+ // This file was generated by the build-public-api.ts script
2
+ export * from './components/react-custom-column.component';
3
+ export * from './components/react-custom-detail.component';
4
+ export * from './components/react-form-input.component';
5
+ export * from './components/react-route.component';
6
+ export * from './directives/react-component-host.directive';
7
+ export * from './react-components/Card';
8
+ export * from './react-components/Link';
9
+ export * from './react-hooks/use-detail-component-data';
10
+ export * from './react-hooks/use-form-control';
11
+ export * from './react-hooks/use-injector';
12
+ export * from './react-hooks/use-page-metadata';
13
+ export * from './react-hooks/use-query';
14
+ export * from './register-react-custom-detail-component';
15
+ export * from './register-react-data-table-component';
16
+ export * from './register-react-form-input-component';
17
+ export * from './register-react-route-component';
18
+ export * from './types';
19
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX2FwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9saWIvcmVhY3Qvc3JjL3B1YmxpY19hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsNERBQTREO0FBQzVELGNBQWMsNENBQTRDLENBQUM7QUFDM0QsY0FBYyw0Q0FBNEMsQ0FBQztBQUMzRCxjQUFjLHlDQUF5QyxDQUFDO0FBQ3hELGNBQWMsb0NBQW9DLENBQUM7QUFDbkQsY0FBYyw2Q0FBNkMsQ0FBQztBQUM1RCxjQUFjLHlCQUF5QixDQUFDO0FBQ3hDLGNBQWMseUJBQXlCLENBQUM7QUFDeEMsY0FBYyx5Q0FBeUMsQ0FBQztBQUN4RCxjQUFjLGdDQUFnQyxDQUFDO0FBQy9DLGNBQWMsNEJBQTRCLENBQUM7QUFDM0MsY0FBYyxpQ0FBaUMsQ0FBQztBQUNoRCxjQUFjLHlCQUF5QixDQUFDO0FBQ3hDLGNBQWMsMENBQTBDLENBQUM7QUFDekQsY0FBYyx1Q0FBdUMsQ0FBQztBQUN0RCxjQUFjLHVDQUF1QyxDQUFDO0FBQ3RELGNBQWMsa0NBQWtDLENBQUM7QUFDakQsY0FBYyxTQUFTLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBUaGlzIGZpbGUgd2FzIGdlbmVyYXRlZCBieSB0aGUgYnVpbGQtcHVibGljLWFwaS50cyBzY3JpcHRcbmV4cG9ydCAqIGZyb20gJy4vY29tcG9uZW50cy9yZWFjdC1jdXN0b20tY29sdW1uLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2NvbXBvbmVudHMvcmVhY3QtY3VzdG9tLWRldGFpbC5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9jb21wb25lbnRzL3JlYWN0LWZvcm0taW5wdXQuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vY29tcG9uZW50cy9yZWFjdC1yb3V0ZS5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9kaXJlY3RpdmVzL3JlYWN0LWNvbXBvbmVudC1ob3N0LmRpcmVjdGl2ZSc7XG5leHBvcnQgKiBmcm9tICcuL3JlYWN0LWNvbXBvbmVudHMvQ2FyZCc7XG5leHBvcnQgKiBmcm9tICcuL3JlYWN0LWNvbXBvbmVudHMvTGluayc7XG5leHBvcnQgKiBmcm9tICcuL3JlYWN0LWhvb2tzL3VzZS1kZXRhaWwtY29tcG9uZW50LWRhdGEnO1xuZXhwb3J0ICogZnJvbSAnLi9yZWFjdC1ob29rcy91c2UtZm9ybS1jb250cm9sJztcbmV4cG9ydCAqIGZyb20gJy4vcmVhY3QtaG9va3MvdXNlLWluamVjdG9yJztcbmV4cG9ydCAqIGZyb20gJy4vcmVhY3QtaG9va3MvdXNlLXBhZ2UtbWV0YWRhdGEnO1xuZXhwb3J0ICogZnJvbSAnLi9yZWFjdC1ob29rcy91c2UtcXVlcnknO1xuZXhwb3J0ICogZnJvbSAnLi9yZWdpc3Rlci1yZWFjdC1jdXN0b20tZGV0YWlsLWNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL3JlZ2lzdGVyLXJlYWN0LWRhdGEtdGFibGUtY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vcmVnaXN0ZXItcmVhY3QtZm9ybS1pbnB1dC1jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9yZWdpc3Rlci1yZWFjdC1yb3V0ZS1jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi90eXBlcyc7XG4iXX0=
@@ -0,0 +1,28 @@
1
+ import React from 'react';
2
+ /**
3
+ * @description
4
+ * A card component which can be used to group related content.
5
+ *
6
+ * @example
7
+ * ```ts
8
+ * import { Card } from '@vendure/admin-ui/react';
9
+ *
10
+ * export function MyComponent() {
11
+ * return (
12
+ * <Card title='My Title'>
13
+ * <p>Some content</p>
14
+ * </Card>
15
+ * );
16
+ * }
17
+ * ```
18
+ *
19
+ * @docsCategory react-components
20
+ */
21
+ export function Card(props) {
22
+ return (React.createElement("div", { className: 'vdr-card' },
23
+ React.createElement("div", { className: `card-container ${props.paddingX !== false ? 'padding-x' : ''}` },
24
+ props.title && (React.createElement("div", { className: 'title-row' },
25
+ React.createElement("div", { className: "title" }, props.title))),
26
+ React.createElement("div", { className: "contents" }, props.children))));
27
+ }
28
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ2FyZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9saWIvcmVhY3Qvc3JjL3JlYWN0LWNvbXBvbmVudHMvQ2FyZC50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxLQUE0QixNQUFNLE9BQU8sQ0FBQztBQUVqRDs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBa0JHO0FBQ0gsTUFBTSxVQUFVLElBQUksQ0FBQyxLQUFnRTtJQUNqRixPQUFPLENBQ0gsNkJBQUssU0FBUyxFQUFFLFVBQVU7UUFDdEIsNkJBQUssU0FBUyxFQUFFLGtCQUFrQixLQUFLLENBQUMsUUFBUSxLQUFLLEtBQUssQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUU7WUFDMUUsS0FBSyxDQUFDLEtBQUssSUFBSSxDQUNaLDZCQUFLLFNBQVMsRUFBRSxXQUFXO2dCQUN2Qiw2QkFBSyxTQUFTLEVBQUMsT0FBTyxJQUFFLEtBQUssQ0FBQyxLQUFLLENBQU8sQ0FDeEMsQ0FDVDtZQUNELDZCQUFLLFNBQVMsRUFBQyxVQUFVLElBQUUsS0FBSyxDQUFDLFFBQVEsQ0FBTyxDQUM5QyxDQUNKLENBQ1QsQ0FBQztBQUNOLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QsIHsgUHJvcHNXaXRoQ2hpbGRyZW4gfSBmcm9tICdyZWFjdCc7XHJcblxyXG4vKipcclxuICogQGRlc2NyaXB0aW9uXHJcbiAqIEEgY2FyZCBjb21wb25lbnQgd2hpY2ggY2FuIGJlIHVzZWQgdG8gZ3JvdXAgcmVsYXRlZCBjb250ZW50LlxyXG4gKlxyXG4gKiBAZXhhbXBsZVxyXG4gKiBgYGB0c1xyXG4gKiBpbXBvcnQgeyBDYXJkIH0gZnJvbSAnQHZlbmR1cmUvYWRtaW4tdWkvcmVhY3QnO1xyXG4gKlxyXG4gKiBleHBvcnQgZnVuY3Rpb24gTXlDb21wb25lbnQoKSB7XHJcbiAqICAgcmV0dXJuIChcclxuICogICAgIDxDYXJkIHRpdGxlPSdNeSBUaXRsZSc+XHJcbiAqICAgICAgIDxwPlNvbWUgY29udGVudDwvcD5cclxuICogICAgIDwvQ2FyZD5cclxuICogICApO1xyXG4gKiB9XHJcbiAqIGBgYFxyXG4gKlxyXG4gKiBAZG9jc0NhdGVnb3J5IHJlYWN0LWNvbXBvbmVudHNcclxuICovXHJcbmV4cG9ydCBmdW5jdGlvbiBDYXJkKHByb3BzOiBQcm9wc1dpdGhDaGlsZHJlbjx7IHRpdGxlPzogc3RyaW5nOyBwYWRkaW5nWD86IGJvb2xlYW4gfT4pIHtcclxuICAgIHJldHVybiAoXHJcbiAgICAgICAgPGRpdiBjbGFzc05hbWU9eyd2ZHItY2FyZCd9PlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT17YGNhcmQtY29udGFpbmVyICR7cHJvcHMucGFkZGluZ1ggIT09IGZhbHNlID8gJ3BhZGRpbmcteCcgOiAnJ31gfT5cclxuICAgICAgICAgICAgICAgIHtwcm9wcy50aXRsZSAmJiAoXHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9eyd0aXRsZS1yb3cnfT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJ0aXRsZVwiPntwcm9wcy50aXRsZX08L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICl9XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImNvbnRlbnRzXCI+e3Byb3BzLmNoaWxkcmVufTwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICk7XHJcbn1cclxuIl19
@@ -0,0 +1,30 @@
1
+ import { Router } from '@angular/router';
2
+ import React from 'react';
3
+ import { useInjector } from '../react-hooks/use-injector';
4
+ /**
5
+ * @description
6
+ * A React component which renders an anchor tag and navigates to the specified route when clicked.
7
+ * This is useful when you want to use a React component in a Vendure UI plugin which navigates to
8
+ * a route in the admin-ui.
9
+ *
10
+ * @example
11
+ * ```ts
12
+ * import { Link } from '@vendure/admin-ui/react';
13
+ *
14
+ * export const MyReactComponent = () => {
15
+ * return <Link href="/extensions/my-extension">Go to my extension</Link>;
16
+ * }
17
+ * ```
18
+ *
19
+ * @docsCategory react-components
20
+ */
21
+ export function Link(props) {
22
+ const router = useInjector(Router);
23
+ const { href, ...rest } = props;
24
+ function onClick(e) {
25
+ e.preventDefault();
26
+ void router.navigateByUrl(href);
27
+ }
28
+ return (React.createElement("a", { href: href, onClick: onClick, ...rest }, props.children));
29
+ }
30
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTGluay5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9saWIvcmVhY3Qvc3JjL3JlYWN0LWNvbXBvbmVudHMvTGluay50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3pDLE9BQU8sS0FBNEIsTUFBTSxPQUFPLENBQUM7QUFDakQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBRTFEOzs7Ozs7Ozs7Ozs7Ozs7O0dBZ0JHO0FBQ0gsTUFBTSxVQUFVLElBQUksQ0FBQyxLQUFnRTtJQUNqRixNQUFNLE1BQU0sR0FBRyxXQUFXLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDbkMsTUFBTSxFQUFFLElBQUksRUFBRSxHQUFHLElBQUksRUFBRSxHQUFHLEtBQUssQ0FBQztJQUVoQyxTQUFTLE9BQU8sQ0FBQyxDQUFrRDtRQUMvRCxDQUFDLENBQUMsY0FBYyxFQUFFLENBQUM7UUFDbkIsS0FBSyxNQUFNLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3BDLENBQUM7SUFFRCxPQUFPLENBQ0gsMkJBQUcsSUFBSSxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsT0FBTyxLQUFNLElBQUksSUFDcEMsS0FBSyxDQUFDLFFBQVEsQ0FDZixDQUNQLENBQUM7QUFDTixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcclxuaW1wb3J0IFJlYWN0LCB7IFByb3BzV2l0aENoaWxkcmVuIH0gZnJvbSAncmVhY3QnO1xyXG5pbXBvcnQgeyB1c2VJbmplY3RvciB9IGZyb20gJy4uL3JlYWN0LWhvb2tzL3VzZS1pbmplY3Rvcic7XHJcblxyXG4vKipcclxuICogQGRlc2NyaXB0aW9uXHJcbiAqIEEgUmVhY3QgY29tcG9uZW50IHdoaWNoIHJlbmRlcnMgYW4gYW5jaG9yIHRhZyBhbmQgbmF2aWdhdGVzIHRvIHRoZSBzcGVjaWZpZWQgcm91dGUgd2hlbiBjbGlja2VkLlxyXG4gKiBUaGlzIGlzIHVzZWZ1bCB3aGVuIHlvdSB3YW50IHRvIHVzZSBhIFJlYWN0IGNvbXBvbmVudCBpbiBhIFZlbmR1cmUgVUkgcGx1Z2luIHdoaWNoIG5hdmlnYXRlcyB0b1xyXG4gKiBhIHJvdXRlIGluIHRoZSBhZG1pbi11aS5cclxuICpcclxuICogQGV4YW1wbGVcclxuICogYGBgdHNcclxuICogaW1wb3J0IHsgTGluayB9IGZyb20gJ0B2ZW5kdXJlL2FkbWluLXVpL3JlYWN0JztcclxuICpcclxuICogZXhwb3J0IGNvbnN0IE15UmVhY3RDb21wb25lbnQgPSAoKSA9PiB7XHJcbiAqICAgICByZXR1cm4gPExpbmsgaHJlZj1cIi9leHRlbnNpb25zL215LWV4dGVuc2lvblwiPkdvIHRvIG15IGV4dGVuc2lvbjwvTGluaz47XHJcbiAqIH1cclxuICogYGBgXHJcbiAqXHJcbiAqIEBkb2NzQ2F0ZWdvcnkgcmVhY3QtY29tcG9uZW50c1xyXG4gKi9cclxuZXhwb3J0IGZ1bmN0aW9uIExpbmsocHJvcHM6IFByb3BzV2l0aENoaWxkcmVuPHsgaHJlZjogc3RyaW5nOyBbcHJvcHM6IHN0cmluZ106IGFueSB9Pikge1xyXG4gICAgY29uc3Qgcm91dGVyID0gdXNlSW5qZWN0b3IoUm91dGVyKTtcclxuICAgIGNvbnN0IHsgaHJlZiwgLi4ucmVzdCB9ID0gcHJvcHM7XHJcblxyXG4gICAgZnVuY3Rpb24gb25DbGljayhlOiBSZWFjdC5Nb3VzZUV2ZW50PEhUTUxBbmNob3JFbGVtZW50LCBNb3VzZUV2ZW50Pikge1xyXG4gICAgICAgIGUucHJldmVudERlZmF1bHQoKTtcclxuICAgICAgICB2b2lkIHJvdXRlci5uYXZpZ2F0ZUJ5VXJsKGhyZWYpO1xyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiAoXHJcbiAgICAgICAgPGEgaHJlZj17aHJlZn0gb25DbGljaz17b25DbGlja30gey4uLnJlc3R9PlxyXG4gICAgICAgICAgICB7cHJvcHMuY2hpbGRyZW59XHJcbiAgICAgICAgPC9hPlxyXG4gICAgKTtcclxufVxyXG4iXX0=
@@ -0,0 +1,48 @@
1
+ import { useContext, useEffect, useState } from 'react';
2
+ import { HostedComponentContext } from '../directives/react-component-host.directive';
3
+ /**
4
+ * @description
5
+ * Provides the data available to React-based CustomDetailComponents.
6
+ *
7
+ * @example
8
+ * ```ts
9
+ * import { Card, useDetailComponentData } from '\@vendure/admin-ui/react';
10
+ * import React from 'react';
11
+ *
12
+ * export function CustomDetailComponent(props: any) {
13
+ * const { entity, detailForm } = useDetailComponentData();
14
+ * const updateName = () => {
15
+ * detailForm.get('name')?.setValue('New name');
16
+ * detailForm.markAsDirty();
17
+ * };
18
+ * return (
19
+ * <Card title={'Custom Detail Component'}>
20
+ * <button className="button" onClick={updateName}>
21
+ * Update name
22
+ * </button>
23
+ * <pre>{JSON.stringify(entity, null, 2)}</pre>
24
+ * </Card>
25
+ * );
26
+ * }
27
+ * ```
28
+ *
29
+ * @docsCategory react-hooks
30
+ */
31
+ export function useDetailComponentData() {
32
+ const context = useContext(HostedComponentContext);
33
+ if (!context.detailForm || !context.entity$) {
34
+ throw new Error(`The useDetailComponentData hook can only be used within a CustomDetailComponent`);
35
+ }
36
+ const [entity, setEntity] = useState(null);
37
+ useEffect(() => {
38
+ const subscription = context.entity$.subscribe(value => {
39
+ setEntity(value);
40
+ });
41
+ return () => subscription.unsubscribe();
42
+ }, []);
43
+ return {
44
+ entity,
45
+ detailForm: context.detailForm,
46
+ };
47
+ }
48
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlLWRldGFpbC1jb21wb25lbnQtZGF0YS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9saWIvcmVhY3Qvc3JjL3JlYWN0LWhvb2tzL3VzZS1kZXRhaWwtY29tcG9uZW50LWRhdGEudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFFLE1BQU0sT0FBTyxDQUFDO0FBRXhELE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDhDQUE4QyxDQUFDO0FBR3RGOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0EyQkc7QUFDSCxNQUFNLFVBQVUsc0JBQXNCO0lBQ2xDLE1BQU0sT0FBTyxHQUFHLFVBQVUsQ0FDdEIsc0JBQXNCLENBQ3lDLENBQUM7SUFFcEUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxVQUFVLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxFQUFFO1FBQ3pDLE1BQU0sSUFBSSxLQUFLLENBQUMsaUZBQWlGLENBQUMsQ0FBQztLQUN0RztJQUVELE1BQU0sQ0FBQyxNQUFNLEVBQUUsU0FBUyxDQUFDLEdBQUcsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBRTNDLFNBQVMsQ0FBQyxHQUFHLEVBQUU7UUFDWCxNQUFNLFlBQVksR0FBRyxPQUFPLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRTtZQUNuRCxTQUFTLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDckIsQ0FBQyxDQUFDLENBQUM7UUFDSCxPQUFPLEdBQUcsRUFBRSxDQUFDLFlBQVksQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUM1QyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFFUCxPQUFPO1FBQ0gsTUFBTTtRQUNOLFVBQVUsRUFBRSxPQUFPLENBQUMsVUFBVTtLQUNqQyxDQUFDO0FBQ04sQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHVzZUNvbnRleHQsIHVzZUVmZmVjdCwgdXNlU3RhdGUgfSBmcm9tICdyZWFjdCc7XHJcbmltcG9ydCB7IFJlYWN0Q3VzdG9tRGV0YWlsQ29tcG9uZW50Q29udGV4dCB9IGZyb20gJy4uL2NvbXBvbmVudHMvcmVhY3QtY3VzdG9tLWRldGFpbC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBIb3N0ZWRDb21wb25lbnRDb250ZXh0IH0gZnJvbSAnLi4vZGlyZWN0aXZlcy9yZWFjdC1jb21wb25lbnQtaG9zdC5kaXJlY3RpdmUnO1xyXG5pbXBvcnQgeyBIb3N0ZWRSZWFjdENvbXBvbmVudENvbnRleHQgfSBmcm9tICcuLi90eXBlcyc7XHJcblxyXG4vKipcclxuICogQGRlc2NyaXB0aW9uXHJcbiAqIFByb3ZpZGVzIHRoZSBkYXRhIGF2YWlsYWJsZSB0byBSZWFjdC1iYXNlZCBDdXN0b21EZXRhaWxDb21wb25lbnRzLlxyXG4gKlxyXG4gKiBAZXhhbXBsZVxyXG4gKiBgYGB0c1xyXG4gKiBpbXBvcnQgeyBDYXJkLCB1c2VEZXRhaWxDb21wb25lbnREYXRhIH0gZnJvbSAnXFxAdmVuZHVyZS9hZG1pbi11aS9yZWFjdCc7XHJcbiAqIGltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCc7XHJcbiAqXHJcbiAqIGV4cG9ydCBmdW5jdGlvbiBDdXN0b21EZXRhaWxDb21wb25lbnQocHJvcHM6IGFueSkge1xyXG4gKiAgICAgY29uc3QgeyBlbnRpdHksIGRldGFpbEZvcm0gfSA9IHVzZURldGFpbENvbXBvbmVudERhdGEoKTtcclxuICogICAgIGNvbnN0IHVwZGF0ZU5hbWUgPSAoKSA9PiB7XHJcbiAqICAgICAgICAgZGV0YWlsRm9ybS5nZXQoJ25hbWUnKT8uc2V0VmFsdWUoJ05ldyBuYW1lJyk7XHJcbiAqICAgICAgICAgZGV0YWlsRm9ybS5tYXJrQXNEaXJ0eSgpO1xyXG4gKiAgICAgfTtcclxuICogICAgIHJldHVybiAoXHJcbiAqICAgICAgICAgPENhcmQgdGl0bGU9eydDdXN0b20gRGV0YWlsIENvbXBvbmVudCd9PlxyXG4gKiAgICAgICAgICAgICA8YnV0dG9uIGNsYXNzTmFtZT1cImJ1dHRvblwiIG9uQ2xpY2s9e3VwZGF0ZU5hbWV9PlxyXG4gKiAgICAgICAgICAgICAgICAgVXBkYXRlIG5hbWVcclxuICogICAgICAgICAgICAgPC9idXR0b24+XHJcbiAqICAgICAgICAgICAgIDxwcmU+e0pTT04uc3RyaW5naWZ5KGVudGl0eSwgbnVsbCwgMil9PC9wcmU+XHJcbiAqICAgICAgICAgPC9DYXJkPlxyXG4gKiAgICAgKTtcclxuICogfVxyXG4gKiBgYGBcclxuICpcclxuICogQGRvY3NDYXRlZ29yeSByZWFjdC1ob29rc1xyXG4gKi9cclxuZXhwb3J0IGZ1bmN0aW9uIHVzZURldGFpbENvbXBvbmVudERhdGEoKSB7XHJcbiAgICBjb25zdCBjb250ZXh0ID0gdXNlQ29udGV4dChcclxuICAgICAgICBIb3N0ZWRDb21wb25lbnRDb250ZXh0LFxyXG4gICAgKSBhcyBIb3N0ZWRSZWFjdENvbXBvbmVudENvbnRleHQ8UmVhY3RDdXN0b21EZXRhaWxDb21wb25lbnRDb250ZXh0PjtcclxuXHJcbiAgICBpZiAoIWNvbnRleHQuZGV0YWlsRm9ybSB8fCAhY29udGV4dC5lbnRpdHkkKSB7XHJcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBUaGUgdXNlRGV0YWlsQ29tcG9uZW50RGF0YSBob29rIGNhbiBvbmx5IGJlIHVzZWQgd2l0aGluIGEgQ3VzdG9tRGV0YWlsQ29tcG9uZW50YCk7XHJcbiAgICB9XHJcblxyXG4gICAgY29uc3QgW2VudGl0eSwgc2V0RW50aXR5XSA9IHVzZVN0YXRlKG51bGwpO1xyXG5cclxuICAgIHVzZUVmZmVjdCgoKSA9PiB7XHJcbiAgICAgICAgY29uc3Qgc3Vic2NyaXB0aW9uID0gY29udGV4dC5lbnRpdHkkLnN1YnNjcmliZSh2YWx1ZSA9PiB7XHJcbiAgICAgICAgICAgIHNldEVudGl0eSh2YWx1ZSk7XHJcbiAgICAgICAgfSk7XHJcbiAgICAgICAgcmV0dXJuICgpID0+IHN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xyXG4gICAgfSwgW10pO1xyXG5cclxuICAgIHJldHVybiB7XHJcbiAgICAgICAgZW50aXR5LFxyXG4gICAgICAgIGRldGFpbEZvcm06IGNvbnRleHQuZGV0YWlsRm9ybSxcclxuICAgIH07XHJcbn1cclxuIl19
@@ -0,0 +1,66 @@
1
+ import { useContext, useEffect, useState } from 'react';
2
+ import { HostedComponentContext } from '../directives/react-component-host.directive';
3
+ /**
4
+ * @description
5
+ * Provides access to the current FormControl value and a method to update the value.
6
+ *
7
+ * @example
8
+ * ```ts
9
+ * import { useFormControl, ReactFormInputProps } from '\@vendure/admin-ui/react';
10
+ * import React from 'react';
11
+ *
12
+ * export function ReactNumberInput({ readonly }: ReactFormInputProps) {
13
+ * const { value, setFormValue } = useFormControl();
14
+ *
15
+ * const handleChange = (e: React.ChangeEvent<HTMLInputElement>) => {
16
+ * setFormValue(val);
17
+ * };
18
+ * return (
19
+ * <div>
20
+ * <input readOnly={readonly} type="number" onChange={handleChange} value={value} />
21
+ * </div>
22
+ * );
23
+ * }
24
+ * ```
25
+ *
26
+ * @docsCategory react-hooks
27
+ */
28
+ export function useFormControl() {
29
+ const context = useContext(HostedComponentContext);
30
+ if (!context) {
31
+ throw new Error('No HostedComponentContext found');
32
+ }
33
+ if (!isFormInputContext(context)) {
34
+ throw new Error('useFormControl() can only be used in a form input component');
35
+ }
36
+ const { formControl, config } = context;
37
+ const [value, setValue] = useState(formControl.value ?? 0);
38
+ useEffect(() => {
39
+ const subscription = formControl.valueChanges.subscribe(v => {
40
+ setValue(v);
41
+ });
42
+ return () => {
43
+ subscription.unsubscribe();
44
+ };
45
+ }, []);
46
+ function setFormValue(newValue) {
47
+ formControl.setValue(coerceFormValue(newValue, config.type));
48
+ formControl.markAsDirty();
49
+ }
50
+ return { value, setFormValue };
51
+ }
52
+ function isFormInputContext(context) {
53
+ return context.config && context.formControl;
54
+ }
55
+ function coerceFormValue(value, type) {
56
+ switch (type) {
57
+ case 'int':
58
+ case 'float':
59
+ return Number(value);
60
+ case 'boolean':
61
+ return Boolean(value);
62
+ default:
63
+ return value;
64
+ }
65
+ }
66
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlLWZvcm0tY29udHJvbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9saWIvcmVhY3Qvc3JjL3JlYWN0LWhvb2tzL3VzZS1mb3JtLWNvbnRyb2wudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLFVBQVUsRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFFLE1BQU0sT0FBTyxDQUFDO0FBQ3hELE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDhDQUE4QyxDQUFDO0FBR3RGOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0F3Qkc7QUFDSCxNQUFNLFVBQVUsY0FBYztJQUMxQixNQUFNLE9BQU8sR0FBRyxVQUFVLENBQUMsc0JBQXNCLENBQUMsQ0FBQztJQUNuRCxJQUFJLENBQUMsT0FBTyxFQUFFO1FBQ1YsTUFBTSxJQUFJLEtBQUssQ0FBQyxpQ0FBaUMsQ0FBQyxDQUFDO0tBQ3REO0lBQ0QsSUFBSSxDQUFDLGtCQUFrQixDQUFDLE9BQU8sQ0FBQyxFQUFFO1FBQzlCLE1BQU0sSUFBSSxLQUFLLENBQUMsNkRBQTZELENBQUMsQ0FBQztLQUNsRjtJQUNELE1BQU0sRUFBRSxXQUFXLEVBQUUsTUFBTSxFQUFFLEdBQUcsT0FBTyxDQUFDO0lBQ3hDLE1BQU0sQ0FBQyxLQUFLLEVBQUUsUUFBUSxDQUFDLEdBQUcsUUFBUSxDQUFDLFdBQVcsQ0FBQyxLQUFLLElBQUksQ0FBQyxDQUFDLENBQUM7SUFFM0QsU0FBUyxDQUFDLEdBQUcsRUFBRTtRQUNYLE1BQU0sWUFBWSxHQUFHLFdBQVcsQ0FBQyxZQUFZLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFO1lBQ3hELFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNoQixDQUFDLENBQUMsQ0FBQztRQUNILE9BQU8sR0FBRyxFQUFFO1lBQ1IsWUFBWSxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQy9CLENBQUMsQ0FBQztJQUNOLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQztJQUVQLFNBQVMsWUFBWSxDQUFDLFFBQWE7UUFDL0IsV0FBVyxDQUFDLFFBQVEsQ0FBQyxlQUFlLENBQUMsUUFBUSxFQUFFLE1BQU0sQ0FBQyxJQUF1QixDQUFDLENBQUMsQ0FBQztRQUNoRixXQUFXLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDOUIsQ0FBQztJQUVELE9BQU8sRUFBRSxLQUFLLEVBQUUsWUFBWSxFQUFFLENBQUM7QUFDbkMsQ0FBQztBQUVELFNBQVMsa0JBQWtCLENBQ3ZCLE9BQW9DO0lBRXBDLE9BQU8sT0FBTyxDQUFDLE1BQU0sSUFBSSxPQUFPLENBQUMsV0FBVyxDQUFDO0FBQ2pELENBQUM7QUFFRCxTQUFTLGVBQWUsQ0FBQyxLQUFVLEVBQUUsSUFBcUI7SUFDdEQsUUFBUSxJQUFJLEVBQUU7UUFDVixLQUFLLEtBQUssQ0FBQztRQUNYLEtBQUssT0FBTztZQUNSLE9BQU8sTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3pCLEtBQUssU0FBUztZQUNWLE9BQU8sT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzFCO1lBQ0ksT0FBTyxLQUFLLENBQUM7S0FDcEI7QUFDTCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ3VzdG9tRmllbGRUeXBlIH0gZnJvbSAnQHZlbmR1cmUvY29tbW9uL2xpYi9zaGFyZWQtdHlwZXMnO1xyXG5pbXBvcnQgeyB1c2VDb250ZXh0LCB1c2VFZmZlY3QsIHVzZVN0YXRlIH0gZnJvbSAncmVhY3QnO1xyXG5pbXBvcnQgeyBIb3N0ZWRDb21wb25lbnRDb250ZXh0IH0gZnJvbSAnLi4vZGlyZWN0aXZlcy9yZWFjdC1jb21wb25lbnQtaG9zdC5kaXJlY3RpdmUnO1xyXG5pbXBvcnQgeyBIb3N0ZWRSZWFjdENvbXBvbmVudENvbnRleHQsIFJlYWN0Rm9ybUlucHV0T3B0aW9ucyB9IGZyb20gJy4uL3R5cGVzJztcclxuXHJcbi8qKlxyXG4gKiBAZGVzY3JpcHRpb25cclxuICogUHJvdmlkZXMgYWNjZXNzIHRvIHRoZSBjdXJyZW50IEZvcm1Db250cm9sIHZhbHVlIGFuZCBhIG1ldGhvZCB0byB1cGRhdGUgdGhlIHZhbHVlLlxyXG4gKlxyXG4gKiBAZXhhbXBsZVxyXG4gKiBgYGB0c1xyXG4gKiBpbXBvcnQgeyB1c2VGb3JtQ29udHJvbCwgUmVhY3RGb3JtSW5wdXRQcm9wcyB9IGZyb20gJ1xcQHZlbmR1cmUvYWRtaW4tdWkvcmVhY3QnO1xyXG4gKiBpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xyXG4gKlxyXG4gKiBleHBvcnQgZnVuY3Rpb24gUmVhY3ROdW1iZXJJbnB1dCh7IHJlYWRvbmx5IH06IFJlYWN0Rm9ybUlucHV0UHJvcHMpIHtcclxuICogICAgIGNvbnN0IHsgdmFsdWUsIHNldEZvcm1WYWx1ZSB9ID0gdXNlRm9ybUNvbnRyb2woKTtcclxuICpcclxuICogICAgIGNvbnN0IGhhbmRsZUNoYW5nZSA9IChlOiBSZWFjdC5DaGFuZ2VFdmVudDxIVE1MSW5wdXRFbGVtZW50PikgPT4ge1xyXG4gKiAgICAgICAgIHNldEZvcm1WYWx1ZSh2YWwpO1xyXG4gKiAgICAgfTtcclxuICogICAgIHJldHVybiAoXHJcbiAqICAgICAgICAgPGRpdj5cclxuICogICAgICAgICAgICAgPGlucHV0IHJlYWRPbmx5PXtyZWFkb25seX0gdHlwZT1cIm51bWJlclwiIG9uQ2hhbmdlPXtoYW5kbGVDaGFuZ2V9IHZhbHVlPXt2YWx1ZX0gLz5cclxuICogICAgICAgICA8L2Rpdj5cclxuICogICAgICk7XHJcbiAqIH1cclxuICogYGBgXHJcbiAqXHJcbiAqIEBkb2NzQ2F0ZWdvcnkgcmVhY3QtaG9va3NcclxuICovXHJcbmV4cG9ydCBmdW5jdGlvbiB1c2VGb3JtQ29udHJvbCgpIHtcclxuICAgIGNvbnN0IGNvbnRleHQgPSB1c2VDb250ZXh0KEhvc3RlZENvbXBvbmVudENvbnRleHQpO1xyXG4gICAgaWYgKCFjb250ZXh0KSB7XHJcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdObyBIb3N0ZWRDb21wb25lbnRDb250ZXh0IGZvdW5kJyk7XHJcbiAgICB9XHJcbiAgICBpZiAoIWlzRm9ybUlucHV0Q29udGV4dChjb250ZXh0KSkge1xyXG4gICAgICAgIHRocm93IG5ldyBFcnJvcigndXNlRm9ybUNvbnRyb2woKSBjYW4gb25seSBiZSB1c2VkIGluIGEgZm9ybSBpbnB1dCBjb21wb25lbnQnKTtcclxuICAgIH1cclxuICAgIGNvbnN0IHsgZm9ybUNvbnRyb2wsIGNvbmZpZyB9ID0gY29udGV4dDtcclxuICAgIGNvbnN0IFt2YWx1ZSwgc2V0VmFsdWVdID0gdXNlU3RhdGUoZm9ybUNvbnRyb2wudmFsdWUgPz8gMCk7XHJcblxyXG4gICAgdXNlRWZmZWN0KCgpID0+IHtcclxuICAgICAgICBjb25zdCBzdWJzY3JpcHRpb24gPSBmb3JtQ29udHJvbC52YWx1ZUNoYW5nZXMuc3Vic2NyaWJlKHYgPT4ge1xyXG4gICAgICAgICAgICBzZXRWYWx1ZSh2KTtcclxuICAgICAgICB9KTtcclxuICAgICAgICByZXR1cm4gKCkgPT4ge1xyXG4gICAgICAgICAgICBzdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcclxuICAgICAgICB9O1xyXG4gICAgfSwgW10pO1xyXG5cclxuICAgIGZ1bmN0aW9uIHNldEZvcm1WYWx1ZShuZXdWYWx1ZTogYW55KSB7XHJcbiAgICAgICAgZm9ybUNvbnRyb2wuc2V0VmFsdWUoY29lcmNlRm9ybVZhbHVlKG5ld1ZhbHVlLCBjb25maWcudHlwZSBhcyBDdXN0b21GaWVsZFR5cGUpKTtcclxuICAgICAgICBmb3JtQ29udHJvbC5tYXJrQXNEaXJ0eSgpO1xyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiB7IHZhbHVlLCBzZXRGb3JtVmFsdWUgfTtcclxufVxyXG5cclxuZnVuY3Rpb24gaXNGb3JtSW5wdXRDb250ZXh0KFxyXG4gICAgY29udGV4dDogSG9zdGVkUmVhY3RDb21wb25lbnRDb250ZXh0LFxyXG4pOiBjb250ZXh0IGlzIEhvc3RlZFJlYWN0Q29tcG9uZW50Q29udGV4dDxSZWFjdEZvcm1JbnB1dE9wdGlvbnM+IHtcclxuICAgIHJldHVybiBjb250ZXh0LmNvbmZpZyAmJiBjb250ZXh0LmZvcm1Db250cm9sO1xyXG59XHJcblxyXG5mdW5jdGlvbiBjb2VyY2VGb3JtVmFsdWUodmFsdWU6IGFueSwgdHlwZTogQ3VzdG9tRmllbGRUeXBlKSB7XHJcbiAgICBzd2l0Y2ggKHR5cGUpIHtcclxuICAgICAgICBjYXNlICdpbnQnOlxyXG4gICAgICAgIGNhc2UgJ2Zsb2F0JzpcclxuICAgICAgICAgICAgcmV0dXJuIE51bWJlcih2YWx1ZSk7XHJcbiAgICAgICAgY2FzZSAnYm9vbGVhbic6XHJcbiAgICAgICAgICAgIHJldHVybiBCb29sZWFuKHZhbHVlKTtcclxuICAgICAgICBkZWZhdWx0OlxyXG4gICAgICAgICAgICByZXR1cm4gdmFsdWU7XHJcbiAgICB9XHJcbn1cclxuIl19
@@ -0,0 +1,33 @@
1
+ import { useContext } from 'react';
2
+ import { HostedComponentContext } from '../directives/react-component-host.directive';
3
+ /**
4
+ * @description
5
+ * Exposes the Angular injector which allows the injection of services into React components.
6
+ *
7
+ * @example
8
+ * ```ts
9
+ * import { useInjector } from '\@vendure/admin-ui/react';
10
+ * import { NotificationService } from '\@vendure/admin-ui/core';
11
+ *
12
+ * export const MyComponent = () => {
13
+ * const notificationService = useInjector(NotificationService);
14
+ *
15
+ * const handleClick = () => {
16
+ * notificationService.success('Hello world!');
17
+ * };
18
+ * // ...
19
+ * return <div>...</div>;
20
+ * }
21
+ * ```
22
+ *
23
+ * @docsCategory react-hooks
24
+ */
25
+ export function useInjector(token) {
26
+ const context = useContext(HostedComponentContext);
27
+ const instance = context?.injector.get(token);
28
+ if (!instance) {
29
+ throw new Error(`Could not inject ${token.name ?? token.toString()}`);
30
+ }
31
+ return instance;
32
+ }
33
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlLWluamVjdG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2xpYi9yZWFjdC9zcmMvcmVhY3QtaG9va3MvdXNlLWluamVjdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxPQUFPLENBQUM7QUFDbkMsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sOENBQThDLENBQUM7QUFFdEY7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQXFCRztBQUNILE1BQU0sVUFBVSxXQUFXLENBQVUsS0FBdUI7SUFDeEQsTUFBTSxPQUFPLEdBQUcsVUFBVSxDQUFDLHNCQUFzQixDQUFDLENBQUM7SUFDbkQsTUFBTSxRQUFRLEdBQUcsT0FBTyxFQUFFLFFBQVEsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDOUMsSUFBSSxDQUFDLFFBQVEsRUFBRTtRQUNYLE1BQU0sSUFBSSxLQUFLLENBQUMsb0JBQXFCLEtBQWEsQ0FBQyxJQUFJLElBQUksS0FBSyxDQUFDLFFBQVEsRUFBRSxFQUFFLENBQUMsQ0FBQztLQUNsRjtJQUNELE9BQU8sUUFBUSxDQUFDO0FBQ3BCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQcm92aWRlclRva2VuIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IHVzZUNvbnRleHQgfSBmcm9tICdyZWFjdCc7XHJcbmltcG9ydCB7IEhvc3RlZENvbXBvbmVudENvbnRleHQgfSBmcm9tICcuLi9kaXJlY3RpdmVzL3JlYWN0LWNvbXBvbmVudC1ob3N0LmRpcmVjdGl2ZSc7XHJcblxyXG4vKipcclxuICogQGRlc2NyaXB0aW9uXHJcbiAqIEV4cG9zZXMgdGhlIEFuZ3VsYXIgaW5qZWN0b3Igd2hpY2ggYWxsb3dzIHRoZSBpbmplY3Rpb24gb2Ygc2VydmljZXMgaW50byBSZWFjdCBjb21wb25lbnRzLlxyXG4gKlxyXG4gKiBAZXhhbXBsZVxyXG4gKiBgYGB0c1xyXG4gKiBpbXBvcnQgeyB1c2VJbmplY3RvciB9IGZyb20gJ1xcQHZlbmR1cmUvYWRtaW4tdWkvcmVhY3QnO1xyXG4gKiBpbXBvcnQgeyBOb3RpZmljYXRpb25TZXJ2aWNlIH0gZnJvbSAnXFxAdmVuZHVyZS9hZG1pbi11aS9jb3JlJztcclxuICpcclxuICogZXhwb3J0IGNvbnN0IE15Q29tcG9uZW50ID0gKCkgPT4ge1xyXG4gKiAgICAgY29uc3Qgbm90aWZpY2F0aW9uU2VydmljZSA9IHVzZUluamVjdG9yKE5vdGlmaWNhdGlvblNlcnZpY2UpO1xyXG4gKlxyXG4gKiAgICAgY29uc3QgaGFuZGxlQ2xpY2sgPSAoKSA9PiB7XHJcbiAqICAgICAgICAgbm90aWZpY2F0aW9uU2VydmljZS5zdWNjZXNzKCdIZWxsbyB3b3JsZCEnKTtcclxuICogICAgIH07XHJcbiAqICAgICAvLyAuLi5cclxuICogICAgIHJldHVybiA8ZGl2Pi4uLjwvZGl2PjtcclxuICogfVxyXG4gKiBgYGBcclxuICpcclxuICogQGRvY3NDYXRlZ29yeSByZWFjdC1ob29rc1xyXG4gKi9cclxuZXhwb3J0IGZ1bmN0aW9uIHVzZUluamVjdG9yPFQgPSBhbnk+KHRva2VuOiBQcm92aWRlclRva2VuPFQ+KTogVCB7XHJcbiAgICBjb25zdCBjb250ZXh0ID0gdXNlQ29udGV4dChIb3N0ZWRDb21wb25lbnRDb250ZXh0KTtcclxuICAgIGNvbnN0IGluc3RhbmNlID0gY29udGV4dD8uaW5qZWN0b3IuZ2V0KHRva2VuKTtcclxuICAgIGlmICghaW5zdGFuY2UpIHtcclxuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYENvdWxkIG5vdCBpbmplY3QgJHsodG9rZW4gYXMgYW55KS5uYW1lID8/IHRva2VuLnRvU3RyaW5nKCl9YCk7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gaW5zdGFuY2U7XHJcbn1cclxuIl19
@@ -0,0 +1,41 @@
1
+ import { useContext } from 'react';
2
+ import { HostedComponentContext } from '../directives/react-component-host.directive';
3
+ /**
4
+ * @description
5
+ * Provides functions for setting the current page title and breadcrumb.
6
+ *
7
+ * @example
8
+ * ```ts
9
+ * import { usePageMetadata } from '\@vendure/admin-ui/react';
10
+ * import { useEffect } from 'react';
11
+ *
12
+ * export const MyComponent = () => {
13
+ * const { setTitle, setBreadcrumb } = usePageMetadata();
14
+ * useEffect(() => {
15
+ * setTitle('My Page');
16
+ * setBreadcrumb([
17
+ * { link: ['./parent'], label: 'Parent Page' },
18
+ * { link: ['./'], label: 'This Page' },
19
+ * ]);
20
+ * }, []);
21
+ * // ...
22
+ * return <div>...</div>;
23
+ * }
24
+ * ```
25
+ *
26
+ * @docsCategory react-hooks
27
+ */
28
+ export function usePageMetadata() {
29
+ const context = useContext(HostedComponentContext);
30
+ const setBreadcrumb = (newValue) => {
31
+ context.pageMetadataService?.setBreadcrumbs(newValue);
32
+ };
33
+ const setTitle = (newTitle) => {
34
+ context.pageMetadataService?.setTitle(newTitle);
35
+ };
36
+ return {
37
+ setBreadcrumb,
38
+ setTitle,
39
+ };
40
+ }
41
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlLXBhZ2UtbWV0YWRhdGEuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvbGliL3JlYWN0L3NyYy9yZWFjdC1ob29rcy91c2UtcGFnZS1tZXRhZGF0YS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sT0FBTyxDQUFDO0FBQ25DLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDhDQUE4QyxDQUFDO0FBR3RGOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0F3Qkc7QUFDSCxNQUFNLFVBQVUsZUFBZTtJQUMzQixNQUFNLE9BQU8sR0FBRyxVQUFVLENBQ3RCLHNCQUFzQixDQUNrQyxDQUFDO0lBQzdELE1BQU0sYUFBYSxHQUFHLENBQUMsUUFBeUIsRUFBRSxFQUFFO1FBQ2hELE9BQU8sQ0FBQyxtQkFBbUIsRUFBRSxjQUFjLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDMUQsQ0FBQyxDQUFDO0lBQ0YsTUFBTSxRQUFRLEdBQUcsQ0FBQyxRQUFnQixFQUFFLEVBQUU7UUFDbEMsT0FBTyxDQUFDLG1CQUFtQixFQUFFLFFBQVEsQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUNwRCxDQUFDLENBQUM7SUFFRixPQUFPO1FBQ0gsYUFBYTtRQUNiLFFBQVE7S0FDWCxDQUFDO0FBQ04sQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEJyZWFkY3J1bWJWYWx1ZSB9IGZyb20gJ0B2ZW5kdXJlL2FkbWluLXVpL2NvcmUnO1xyXG5pbXBvcnQgeyB1c2VDb250ZXh0IH0gZnJvbSAncmVhY3QnO1xyXG5pbXBvcnQgeyBIb3N0ZWRDb21wb25lbnRDb250ZXh0IH0gZnJvbSAnLi4vZGlyZWN0aXZlcy9yZWFjdC1jb21wb25lbnQtaG9zdC5kaXJlY3RpdmUnO1xyXG5pbXBvcnQgeyBIb3N0ZWRSZWFjdENvbXBvbmVudENvbnRleHQsIFJlYWN0Um91dGVDb21wb25lbnRPcHRpb25zIH0gZnJvbSAnLi4vdHlwZXMnO1xyXG5cclxuLyoqXHJcbiAqIEBkZXNjcmlwdGlvblxyXG4gKiBQcm92aWRlcyBmdW5jdGlvbnMgZm9yIHNldHRpbmcgdGhlIGN1cnJlbnQgcGFnZSB0aXRsZSBhbmQgYnJlYWRjcnVtYi5cclxuICpcclxuICogQGV4YW1wbGVcclxuICogYGBgdHNcclxuICogaW1wb3J0IHsgdXNlUGFnZU1ldGFkYXRhIH0gZnJvbSAnXFxAdmVuZHVyZS9hZG1pbi11aS9yZWFjdCc7XHJcbiAqIGltcG9ydCB7IHVzZUVmZmVjdCB9IGZyb20gJ3JlYWN0JztcclxuICpcclxuICogZXhwb3J0IGNvbnN0IE15Q29tcG9uZW50ID0gKCkgPT4ge1xyXG4gKiAgICAgY29uc3QgeyBzZXRUaXRsZSwgc2V0QnJlYWRjcnVtYiB9ID0gdXNlUGFnZU1ldGFkYXRhKCk7XHJcbiAqICAgICB1c2VFZmZlY3QoKCkgPT4ge1xyXG4gKiAgICAgICAgIHNldFRpdGxlKCdNeSBQYWdlJyk7XHJcbiAqICAgICAgICAgc2V0QnJlYWRjcnVtYihbXHJcbiAqICAgICAgICAgICAgIHsgbGluazogWycuL3BhcmVudCddLCBsYWJlbDogJ1BhcmVudCBQYWdlJyB9LFxyXG4gKiAgICAgICAgICAgICB7IGxpbms6IFsnLi8nXSwgbGFiZWw6ICdUaGlzIFBhZ2UnIH0sXHJcbiAqICAgICAgICAgXSk7XHJcbiAqICAgICB9LCBbXSk7XHJcbiAqICAgICAvLyAuLi5cclxuICogICAgIHJldHVybiA8ZGl2Pi4uLjwvZGl2PjtcclxuICogfVxyXG4gKiBgYGBcclxuICpcclxuICogQGRvY3NDYXRlZ29yeSByZWFjdC1ob29rc1xyXG4gKi9cclxuZXhwb3J0IGZ1bmN0aW9uIHVzZVBhZ2VNZXRhZGF0YSgpIHtcclxuICAgIGNvbnN0IGNvbnRleHQgPSB1c2VDb250ZXh0KFxyXG4gICAgICAgIEhvc3RlZENvbXBvbmVudENvbnRleHQsXHJcbiAgICApIGFzIEhvc3RlZFJlYWN0Q29tcG9uZW50Q29udGV4dDxSZWFjdFJvdXRlQ29tcG9uZW50T3B0aW9ucz47XHJcbiAgICBjb25zdCBzZXRCcmVhZGNydW1iID0gKG5ld1ZhbHVlOiBCcmVhZGNydW1iVmFsdWUpID0+IHtcclxuICAgICAgICBjb250ZXh0LnBhZ2VNZXRhZGF0YVNlcnZpY2U/LnNldEJyZWFkY3J1bWJzKG5ld1ZhbHVlKTtcclxuICAgIH07XHJcbiAgICBjb25zdCBzZXRUaXRsZSA9IChuZXdUaXRsZTogc3RyaW5nKSA9PiB7XHJcbiAgICAgICAgY29udGV4dC5wYWdlTWV0YWRhdGFTZXJ2aWNlPy5zZXRUaXRsZShuZXdUaXRsZSk7XHJcbiAgICB9O1xyXG5cclxuICAgIHJldHVybiB7XHJcbiAgICAgICAgc2V0QnJlYWRjcnVtYixcclxuICAgICAgICBzZXRUaXRsZSxcclxuICAgIH07XHJcbn1cclxuIl19
@@ -0,0 +1,124 @@
1
+ import { DataService } from '@vendure/admin-ui/core';
2
+ import { useCallback, useContext, useEffect, useState } from 'react';
3
+ import { firstValueFrom } from 'rxjs';
4
+ import { tap } from 'rxjs/operators';
5
+ import { HostedComponentContext } from '../directives/react-component-host.directive';
6
+ /**
7
+ * @description
8
+ * A React hook which provides access to the results of a GraphQL query.
9
+ *
10
+ * @example
11
+ * ```ts
12
+ * import { useQuery } from '\@vendure/admin-ui/react';
13
+ * import { gql } from 'graphql-tag';
14
+ *
15
+ * const GET_PRODUCT = gql`
16
+ * query GetProduct($id: ID!) {
17
+ * product(id: $id) {
18
+ * id
19
+ * name
20
+ * description
21
+ * }
22
+ * }`;
23
+ *
24
+ * export const MyComponent = () => {
25
+ * const { data, loading, error } = useQuery(GET_PRODUCT, { id: '1' });
26
+ *
27
+ * if (loading) return <div>Loading...</div>;
28
+ * if (error) return <div>Error! { error }</div>;
29
+ * return (
30
+ * <div>
31
+ * <h1>{data.product.name}</h1>
32
+ * <p>{data.product.description}</p>
33
+ * </div>
34
+ * );
35
+ * };
36
+ * ```
37
+ *
38
+ * @docsCategory react-hooks
39
+ */
40
+ export function useQuery(query, variables) {
41
+ const { data, loading, error, runQuery } = useDataService((dataService, vars) => dataService.query(query, vars).stream$);
42
+ useEffect(() => {
43
+ const subscription = runQuery(variables).subscribe();
44
+ return () => subscription.unsubscribe();
45
+ }, [runQuery]);
46
+ const refetch = (variables) => firstValueFrom(runQuery(variables));
47
+ return { data, loading, error, refetch };
48
+ }
49
+ /**
50
+ * @description
51
+ * A React hook which allows you to execute a GraphQL mutation.
52
+ *
53
+ * @example
54
+ * ```ts
55
+ * import { useMutation } from '\@vendure/admin-ui/react';
56
+ * import { gql } from 'graphql-tag';
57
+ *
58
+ * const UPDATE_PRODUCT = gql`
59
+ * mutation UpdateProduct($input: UpdateProductInput!) {
60
+ * updateProduct(input: $input) {
61
+ * id
62
+ * name
63
+ * }
64
+ * }`;
65
+ *
66
+ * export const MyComponent = () => {
67
+ * const [updateProduct, { data, loading, error }] = useMutation(UPDATE_PRODUCT);
68
+ *
69
+ * const handleClick = () => {
70
+ * updateProduct({
71
+ * input: {
72
+ * id: '1',
73
+ * name: 'New name',
74
+ * },
75
+ * }).then(result => {
76
+ * // do something with the result
77
+ * });
78
+ * };
79
+ *
80
+ * if (loading) return <div>Loading...</div>;
81
+ * if (error) return <div>Error! { error }</div>;
82
+ *
83
+ * return (
84
+ * <div>
85
+ * <button onClick={handleClick}>Update product</button>
86
+ * {data && <div>Product updated!</div>}
87
+ * </div>
88
+ * );
89
+ * };
90
+ * ```
91
+ *
92
+ * @docsCategory react-hooks
93
+ */
94
+ export function useMutation(mutation) {
95
+ const { data, loading, error, runQuery } = useDataService((dataService, variables) => dataService.mutate(mutation, variables));
96
+ const rest = { data, loading, error };
97
+ const execute = (variables) => firstValueFrom(runQuery(variables));
98
+ return [execute, rest];
99
+ }
100
+ function useDataService(operation) {
101
+ const context = useContext(HostedComponentContext);
102
+ const dataService = context?.injector.get(DataService);
103
+ if (!dataService) {
104
+ throw new Error('No DataService found in HostedComponentContext');
105
+ }
106
+ const [data, setData] = useState();
107
+ const [error, setError] = useState();
108
+ const [loading, setLoading] = useState(false);
109
+ const runQuery = useCallback((variables) => {
110
+ setLoading(true);
111
+ return operation(dataService, variables).pipe(tap({
112
+ next: res => {
113
+ setData(res);
114
+ setLoading(false);
115
+ },
116
+ error: err => {
117
+ setError(err.message);
118
+ setLoading(false);
119
+ },
120
+ }));
121
+ }, []);
122
+ return { data, loading, error, runQuery };
123
+ }
124
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlLXF1ZXJ5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2xpYi9yZWFjdC9zcmMvcmVhY3QtaG9va3MvdXNlLXF1ZXJ5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUVyRCxPQUFPLEVBQUUsV0FBVyxFQUFFLFVBQVUsRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFFLE1BQU0sT0FBTyxDQUFDO0FBQ3JFLE9BQU8sRUFBRSxjQUFjLEVBQWMsTUFBTSxNQUFNLENBQUM7QUFDbEQsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3JDLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDhDQUE4QyxDQUFDO0FBRXRGOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FpQ0c7QUFDSCxNQUFNLFVBQVUsUUFBUSxDQUNwQixLQUE2QyxFQUM3QyxTQUFhO0lBRWIsTUFBTSxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBRSxHQUFHLGNBQWMsQ0FDckQsQ0FBQyxXQUFXLEVBQUUsSUFBSSxFQUFFLEVBQUUsQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsQ0FBQyxPQUFPLENBQ2hFLENBQUM7SUFDRixTQUFTLENBQUMsR0FBRyxFQUFFO1FBQ1gsTUFBTSxZQUFZLEdBQUcsUUFBUSxDQUFDLFNBQVMsQ0FBQyxDQUFDLFNBQVMsRUFBRSxDQUFDO1FBQ3JELE9BQU8sR0FBRyxFQUFFLENBQUMsWUFBWSxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQzVDLENBQUMsRUFBRSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUM7SUFFZixNQUFNLE9BQU8sR0FBRyxDQUFDLFNBQWEsRUFBRSxFQUFFLENBQUMsY0FBYyxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDO0lBQ3ZFLE9BQU8sRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxPQUFPLEVBQVcsQ0FBQztBQUN0RCxDQUFDO0FBRUQ7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBNENHO0FBQ0gsTUFBTSxVQUFVLFdBQVcsQ0FDdkIsUUFBZ0Q7SUFFaEQsTUFBTSxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBRSxHQUFHLGNBQWMsQ0FBTyxDQUFDLFdBQVcsRUFBRSxTQUFTLEVBQUUsRUFBRSxDQUN2RixXQUFXLENBQUMsTUFBTSxDQUFDLFFBQVEsRUFBRSxTQUFTLENBQUMsQ0FDMUMsQ0FBQztJQUNGLE1BQU0sSUFBSSxHQUFHLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsQ0FBQztJQUN0QyxNQUFNLE9BQU8sR0FBRyxDQUFDLFNBQWEsRUFBRSxFQUFFLENBQUMsY0FBYyxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDO0lBQ3ZFLE9BQU8sQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFrQyxDQUFDO0FBQzVELENBQUM7QUFFRCxTQUFTLGNBQWMsQ0FDbkIsU0FBcUU7SUFFckUsTUFBTSxPQUFPLEdBQUcsVUFBVSxDQUFDLHNCQUFzQixDQUFDLENBQUM7SUFDbkQsTUFBTSxXQUFXLEdBQUcsT0FBTyxFQUFFLFFBQVEsQ0FBQyxHQUFHLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDdkQsSUFBSSxDQUFDLFdBQVcsRUFBRTtRQUNkLE1BQU0sSUFBSSxLQUFLLENBQUMsZ0RBQWdELENBQUMsQ0FBQztLQUNyRTtJQUVELE1BQU0sQ0FBQyxJQUFJLEVBQUUsT0FBTyxDQUFDLEdBQUcsUUFBUSxFQUFLLENBQUM7SUFDdEMsTUFBTSxDQUFDLEtBQUssRUFBRSxRQUFRLENBQUMsR0FBRyxRQUFRLEVBQVUsQ0FBQztJQUM3QyxNQUFNLENBQUMsT0FBTyxFQUFFLFVBQVUsQ0FBQyxHQUFHLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUU5QyxNQUFNLFFBQVEsR0FBRyxXQUFXLENBQUMsQ0FBQyxTQUFhLEVBQUUsRUFBRTtRQUMzQyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDakIsT0FBTyxTQUFTLENBQUMsV0FBVyxFQUFFLFNBQVMsQ0FBQyxDQUFDLElBQUksQ0FDekMsR0FBRyxDQUFDO1lBQ0EsSUFBSSxFQUFFLEdBQUcsQ0FBQyxFQUFFO2dCQUNSLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQztnQkFDYixVQUFVLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDdEIsQ0FBQztZQUNELEtBQUssRUFBRSxHQUFHLENBQUMsRUFBRTtnQkFDVCxRQUFRLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxDQUFDO2dCQUN0QixVQUFVLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDdEIsQ0FBQztTQUNKLENBQUMsQ0FDTCxDQUFDO0lBQ04sQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBRVAsT0FBTyxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBRSxDQUFDO0FBQzlDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBUeXBlZERvY3VtZW50Tm9kZSB9IGZyb20gJ0BncmFwaHFsLXR5cGVkLWRvY3VtZW50LW5vZGUvY29yZSc7XHJcbmltcG9ydCB7IERhdGFTZXJ2aWNlIH0gZnJvbSAnQHZlbmR1cmUvYWRtaW4tdWkvY29yZSc7XHJcbmltcG9ydCB7IERvY3VtZW50Tm9kZSB9IGZyb20gJ2dyYXBocWwvaW5kZXgnO1xyXG5pbXBvcnQgeyB1c2VDYWxsYmFjaywgdXNlQ29udGV4dCwgdXNlRWZmZWN0LCB1c2VTdGF0ZSB9IGZyb20gJ3JlYWN0JztcclxuaW1wb3J0IHsgZmlyc3RWYWx1ZUZyb20sIE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgdGFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5pbXBvcnQgeyBIb3N0ZWRDb21wb25lbnRDb250ZXh0IH0gZnJvbSAnLi4vZGlyZWN0aXZlcy9yZWFjdC1jb21wb25lbnQtaG9zdC5kaXJlY3RpdmUnO1xyXG5cclxuLyoqXHJcbiAqIEBkZXNjcmlwdGlvblxyXG4gKiBBIFJlYWN0IGhvb2sgd2hpY2ggcHJvdmlkZXMgYWNjZXNzIHRvIHRoZSByZXN1bHRzIG9mIGEgR3JhcGhRTCBxdWVyeS5cclxuICpcclxuICogQGV4YW1wbGVcclxuICogYGBgdHNcclxuICogaW1wb3J0IHsgdXNlUXVlcnkgfSBmcm9tICdcXEB2ZW5kdXJlL2FkbWluLXVpL3JlYWN0JztcclxuICogaW1wb3J0IHsgZ3FsIH0gZnJvbSAnZ3JhcGhxbC10YWcnO1xyXG4gKlxyXG4gKiBjb25zdCBHRVRfUFJPRFVDVCA9IGdxbGBcclxuICogICAgcXVlcnkgR2V0UHJvZHVjdCgkaWQ6IElEISkge1xyXG4gKiAgICAgIHByb2R1Y3QoaWQ6ICRpZCkge1xyXG4gKiAgICAgICAgaWRcclxuICogICAgICAgIG5hbWVcclxuICogICAgICAgIGRlc2NyaXB0aW9uXHJcbiAqICAgICAgfVxyXG4gKiAgICB9YDtcclxuICpcclxuICogZXhwb3J0IGNvbnN0IE15Q29tcG9uZW50ID0gKCkgPT4ge1xyXG4gKiAgICAgY29uc3QgeyBkYXRhLCBsb2FkaW5nLCBlcnJvciB9ID0gdXNlUXVlcnkoR0VUX1BST0RVQ1QsIHsgaWQ6ICcxJyB9KTtcclxuICpcclxuICogICAgIGlmIChsb2FkaW5nKSByZXR1cm4gPGRpdj5Mb2FkaW5nLi4uPC9kaXY+O1xyXG4gKiAgICAgaWYgKGVycm9yKSByZXR1cm4gPGRpdj5FcnJvciEgeyBlcnJvciB9PC9kaXY+O1xyXG4gKiAgICAgcmV0dXJuIChcclxuICogICAgICAgICA8ZGl2PlxyXG4gKiAgICAgICAgICAgICA8aDE+e2RhdGEucHJvZHVjdC5uYW1lfTwvaDE+XHJcbiAqICAgICAgICAgICAgIDxwPntkYXRhLnByb2R1Y3QuZGVzY3JpcHRpb259PC9wPlxyXG4gKiAgICAgICAgIDwvZGl2PlxyXG4gKiAgICAgKTtcclxuICogfTtcclxuICogYGBgXHJcbiAqXHJcbiAqIEBkb2NzQ2F0ZWdvcnkgcmVhY3QtaG9va3NcclxuICovXHJcbmV4cG9ydCBmdW5jdGlvbiB1c2VRdWVyeTxULCBWIGV4dGVuZHMgUmVjb3JkPHN0cmluZywgYW55PiA9IFJlY29yZDxzdHJpbmcsIGFueT4+KFxyXG4gICAgcXVlcnk6IERvY3VtZW50Tm9kZSB8IFR5cGVkRG9jdW1lbnROb2RlPFQsIFY+LFxyXG4gICAgdmFyaWFibGVzPzogVixcclxuKSB7XHJcbiAgICBjb25zdCB7IGRhdGEsIGxvYWRpbmcsIGVycm9yLCBydW5RdWVyeSB9ID0gdXNlRGF0YVNlcnZpY2U8VCwgVj4oXHJcbiAgICAgICAgKGRhdGFTZXJ2aWNlLCB2YXJzKSA9PiBkYXRhU2VydmljZS5xdWVyeShxdWVyeSwgdmFycykuc3RyZWFtJCxcclxuICAgICk7XHJcbiAgICB1c2VFZmZlY3QoKCkgPT4ge1xyXG4gICAgICAgIGNvbnN0IHN1YnNjcmlwdGlvbiA9IHJ1blF1ZXJ5KHZhcmlhYmxlcykuc3Vic2NyaWJlKCk7XHJcbiAgICAgICAgcmV0dXJuICgpID0+IHN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xyXG4gICAgfSwgW3J1blF1ZXJ5XSk7XHJcblxyXG4gICAgY29uc3QgcmVmZXRjaCA9ICh2YXJpYWJsZXM/OiBWKSA9PiBmaXJzdFZhbHVlRnJvbShydW5RdWVyeSh2YXJpYWJsZXMpKTtcclxuICAgIHJldHVybiB7IGRhdGEsIGxvYWRpbmcsIGVycm9yLCByZWZldGNoIH0gYXMgY29uc3Q7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBAZGVzY3JpcHRpb25cclxuICogQSBSZWFjdCBob29rIHdoaWNoIGFsbG93cyB5b3UgdG8gZXhlY3V0ZSBhIEdyYXBoUUwgbXV0YXRpb24uXHJcbiAqXHJcbiAqIEBleGFtcGxlXHJcbiAqIGBgYHRzXHJcbiAqIGltcG9ydCB7IHVzZU11dGF0aW9uIH0gZnJvbSAnXFxAdmVuZHVyZS9hZG1pbi11aS9yZWFjdCc7XHJcbiAqIGltcG9ydCB7IGdxbCB9IGZyb20gJ2dyYXBocWwtdGFnJztcclxuICpcclxuICogY29uc3QgVVBEQVRFX1BST0RVQ1QgPSBncWxgXHJcbiAqICAgbXV0YXRpb24gVXBkYXRlUHJvZHVjdCgkaW5wdXQ6IFVwZGF0ZVByb2R1Y3RJbnB1dCEpIHtcclxuICogICAgIHVwZGF0ZVByb2R1Y3QoaW5wdXQ6ICRpbnB1dCkge1xyXG4gKiAgICAgaWRcclxuICogICAgIG5hbWVcclxuICogICB9XHJcbiAqIH1gO1xyXG4gKlxyXG4gKiBleHBvcnQgY29uc3QgTXlDb21wb25lbnQgPSAoKSA9PiB7XHJcbiAqICAgICBjb25zdCBbdXBkYXRlUHJvZHVjdCwgeyBkYXRhLCBsb2FkaW5nLCBlcnJvciB9XSA9IHVzZU11dGF0aW9uKFVQREFURV9QUk9EVUNUKTtcclxuICpcclxuICogICAgIGNvbnN0IGhhbmRsZUNsaWNrID0gKCkgPT4ge1xyXG4gKiAgICAgICAgIHVwZGF0ZVByb2R1Y3Qoe1xyXG4gKiAgICAgICAgICAgICBpbnB1dDoge1xyXG4gKiAgICAgICAgICAgICAgICAgaWQ6ICcxJyxcclxuICogICAgICAgICAgICAgICAgIG5hbWU6ICdOZXcgbmFtZScsXHJcbiAqICAgICAgICAgICAgIH0sXHJcbiAqICAgICAgICAgfSkudGhlbihyZXN1bHQgPT4ge1xyXG4gKiAgICAgICAgICAgICAvLyBkbyBzb21ldGhpbmcgd2l0aCB0aGUgcmVzdWx0XHJcbiAqICAgICAgICAgfSk7XHJcbiAqICAgICB9O1xyXG4gKlxyXG4gKiAgICAgaWYgKGxvYWRpbmcpIHJldHVybiA8ZGl2PkxvYWRpbmcuLi48L2Rpdj47XHJcbiAqICAgICBpZiAoZXJyb3IpIHJldHVybiA8ZGl2PkVycm9yISB7IGVycm9yIH08L2Rpdj47XHJcbiAqXHJcbiAqICAgICByZXR1cm4gKFxyXG4gKiAgICAgPGRpdj5cclxuICogICAgICAgICA8YnV0dG9uIG9uQ2xpY2s9e2hhbmRsZUNsaWNrfT5VcGRhdGUgcHJvZHVjdDwvYnV0dG9uPlxyXG4gKiAgICAgICAgIHtkYXRhICYmIDxkaXY+UHJvZHVjdCB1cGRhdGVkITwvZGl2Pn1cclxuICogICAgIDwvZGl2PlxyXG4gKiAgICAgKTtcclxuICogfTtcclxuICogYGBgXHJcbiAqXHJcbiAqIEBkb2NzQ2F0ZWdvcnkgcmVhY3QtaG9va3NcclxuICovXHJcbmV4cG9ydCBmdW5jdGlvbiB1c2VNdXRhdGlvbjxULCBWIGV4dGVuZHMgUmVjb3JkPHN0cmluZywgYW55PiA9IFJlY29yZDxzdHJpbmcsIGFueT4+KFxyXG4gICAgbXV0YXRpb246IERvY3VtZW50Tm9kZSB8IFR5cGVkRG9jdW1lbnROb2RlPFQsIFY+LFxyXG4pIHtcclxuICAgIGNvbnN0IHsgZGF0YSwgbG9hZGluZywgZXJyb3IsIHJ1blF1ZXJ5IH0gPSB1c2VEYXRhU2VydmljZTxULCBWPigoZGF0YVNlcnZpY2UsIHZhcmlhYmxlcykgPT5cclxuICAgICAgICBkYXRhU2VydmljZS5tdXRhdGUobXV0YXRpb24sIHZhcmlhYmxlcyksXHJcbiAgICApO1xyXG4gICAgY29uc3QgcmVzdCA9IHsgZGF0YSwgbG9hZGluZywgZXJyb3IgfTtcclxuICAgIGNvbnN0IGV4ZWN1dGUgPSAodmFyaWFibGVzPzogVikgPT4gZmlyc3RWYWx1ZUZyb20ocnVuUXVlcnkodmFyaWFibGVzKSk7XHJcbiAgICByZXR1cm4gW2V4ZWN1dGUsIHJlc3RdIGFzIFt0eXBlb2YgZXhlY3V0ZSwgdHlwZW9mIHJlc3RdO1xyXG59XHJcblxyXG5mdW5jdGlvbiB1c2VEYXRhU2VydmljZTxULCBWIGV4dGVuZHMgUmVjb3JkPHN0cmluZywgYW55PiA9IFJlY29yZDxzdHJpbmcsIGFueT4+KFxyXG4gICAgb3BlcmF0aW9uOiAoZGF0YVNlcnZpY2U6IERhdGFTZXJ2aWNlLCB2YXJpYWJsZXM/OiBWKSA9PiBPYnNlcnZhYmxlPFQ+LFxyXG4pIHtcclxuICAgIGNvbnN0IGNvbnRleHQgPSB1c2VDb250ZXh0KEhvc3RlZENvbXBvbmVudENvbnRleHQpO1xyXG4gICAgY29uc3QgZGF0YVNlcnZpY2UgPSBjb250ZXh0Py5pbmplY3Rvci5nZXQoRGF0YVNlcnZpY2UpO1xyXG4gICAgaWYgKCFkYXRhU2VydmljZSkge1xyXG4gICAgICAgIHRocm93IG5ldyBFcnJvcignTm8gRGF0YVNlcnZpY2UgZm91bmQgaW4gSG9zdGVkQ29tcG9uZW50Q29udGV4dCcpO1xyXG4gICAgfVxyXG5cclxuICAgIGNvbnN0IFtkYXRhLCBzZXREYXRhXSA9IHVzZVN0YXRlPFQ+KCk7XHJcbiAgICBjb25zdCBbZXJyb3IsIHNldEVycm9yXSA9IHVzZVN0YXRlPHN0cmluZz4oKTtcclxuICAgIGNvbnN0IFtsb2FkaW5nLCBzZXRMb2FkaW5nXSA9IHVzZVN0YXRlKGZhbHNlKTtcclxuXHJcbiAgICBjb25zdCBydW5RdWVyeSA9IHVzZUNhbGxiYWNrKCh2YXJpYWJsZXM/OiBWKSA9PiB7XHJcbiAgICAgICAgc2V0TG9hZGluZyh0cnVlKTtcclxuICAgICAgICByZXR1cm4gb3BlcmF0aW9uKGRhdGFTZXJ2aWNlLCB2YXJpYWJsZXMpLnBpcGUoXHJcbiAgICAgICAgICAgIHRhcCh7XHJcbiAgICAgICAgICAgICAgICBuZXh0OiByZXMgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgIHNldERhdGEocmVzKTtcclxuICAgICAgICAgICAgICAgICAgICBzZXRMb2FkaW5nKGZhbHNlKTtcclxuICAgICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgICAgICBlcnJvcjogZXJyID0+IHtcclxuICAgICAgICAgICAgICAgICAgICBzZXRFcnJvcihlcnIubWVzc2FnZSk7XHJcbiAgICAgICAgICAgICAgICAgICAgc2V0TG9hZGluZyhmYWxzZSk7XHJcbiAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICB9KSxcclxuICAgICAgICApO1xyXG4gICAgfSwgW10pO1xyXG5cclxuICAgIHJldHVybiB7IGRhdGEsIGxvYWRpbmcsIGVycm9yLCBydW5RdWVyeSB9O1xyXG59XHJcbiJdfQ==
@@ -0,0 +1,33 @@
1
+ import { APP_INITIALIZER } from '@angular/core';
2
+ import { CustomDetailComponentService } from '@vendure/admin-ui/core';
3
+ import { REACT_CUSTOM_DETAIL_COMPONENT_OPTIONS, ReactCustomDetailComponent, } from './components/react-custom-detail.component';
4
+ /**
5
+ * @description
6
+ * Registers a React component to be rendered in a detail page in the given location.
7
+ * Components used as custom detail components can make use of the {@link useDetailComponentData} hook.
8
+ *
9
+ * @docsCategory react-extensions
10
+ */
11
+ export function registerReactCustomDetailComponent(config) {
12
+ return {
13
+ provide: APP_INITIALIZER,
14
+ multi: true,
15
+ useFactory: (customDetailComponentService) => () => {
16
+ customDetailComponentService.registerCustomDetailComponent({
17
+ component: ReactCustomDetailComponent,
18
+ locationId: config.locationId,
19
+ providers: [
20
+ {
21
+ provide: REACT_CUSTOM_DETAIL_COMPONENT_OPTIONS,
22
+ useValue: {
23
+ component: config.component,
24
+ props: config.props,
25
+ },
26
+ },
27
+ ],
28
+ });
29
+ },
30
+ deps: [CustomDetailComponentService],
31
+ };
32
+ }
33
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVnaXN0ZXItcmVhY3QtY3VzdG9tLWRldGFpbC1jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL3JlYWN0L3NyYy9yZWdpc3Rlci1yZWFjdC1jdXN0b20tZGV0YWlsLWNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2hELE9BQU8sRUFBbUMsNEJBQTRCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUV2RyxPQUFPLEVBQ0gscUNBQXFDLEVBQ3JDLDBCQUEwQixHQUM3QixNQUFNLDRDQUE0QyxDQUFDO0FBMEJwRDs7Ozs7O0dBTUc7QUFDSCxNQUFNLFVBQVUsa0NBQWtDLENBQUMsTUFBd0M7SUFDdkYsT0FBTztRQUNILE9BQU8sRUFBRSxlQUFlO1FBQ3hCLEtBQUssRUFBRSxJQUFJO1FBQ1gsVUFBVSxFQUFFLENBQUMsNEJBQTBELEVBQUUsRUFBRSxDQUFDLEdBQUcsRUFBRTtZQUM3RSw0QkFBNEIsQ0FBQyw2QkFBNkIsQ0FBQztnQkFDdkQsU0FBUyxFQUFFLDBCQUEwQjtnQkFDckMsVUFBVSxFQUFFLE1BQU0sQ0FBQyxVQUFVO2dCQUM3QixTQUFTLEVBQUU7b0JBQ1A7d0JBQ0ksT0FBTyxFQUFFLHFDQUFxQzt3QkFDOUMsUUFBUSxFQUFFOzRCQUNOLFNBQVMsRUFBRSxNQUFNLENBQUMsU0FBUzs0QkFDM0IsS0FBSyxFQUFFLE1BQU0sQ0FBQyxLQUFLO3lCQUN0QjtxQkFDSjtpQkFDSjthQUNKLENBQUMsQ0FBQztRQUNQLENBQUM7UUFDRCxJQUFJLEVBQUUsQ0FBQyw0QkFBNEIsQ0FBQztLQUN2QyxDQUFDO0FBQ04sQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFQUF9JTklUSUFMSVpFUiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBDdXN0b21EZXRhaWxDb21wb25lbnRMb2NhdGlvbklkLCBDdXN0b21EZXRhaWxDb21wb25lbnRTZXJ2aWNlIH0gZnJvbSAnQHZlbmR1cmUvYWRtaW4tdWkvY29yZSc7XHJcbmltcG9ydCB7IEVsZW1lbnRUeXBlIH0gZnJvbSAncmVhY3QnO1xyXG5pbXBvcnQge1xyXG4gICAgUkVBQ1RfQ1VTVE9NX0RFVEFJTF9DT01QT05FTlRfT1BUSU9OUyxcclxuICAgIFJlYWN0Q3VzdG9tRGV0YWlsQ29tcG9uZW50LFxyXG59IGZyb20gJy4vY29tcG9uZW50cy9yZWFjdC1jdXN0b20tZGV0YWlsLmNvbXBvbmVudCc7XHJcblxyXG4vKipcclxuICogQGRlc2NyaXB0aW9uXHJcbiAqIENvbmZpZ3VyZXMgYSBSZWFjdC1iYXNlZCBjb21wb25lbnQgdG8gYmUgcGxhY2VkIGluIGEgZGV0YWlsIHBhZ2UgaW4gdGhlIGdpdmVuIGxvY2F0aW9uLlxyXG4gKlxyXG4gKiBAZG9jc0NhdGVnb3J5IHJlYWN0LWV4dGVuc2lvbnNcclxuICovXHJcbmV4cG9ydCBpbnRlcmZhY2UgUmVhY3RDdXN0b21EZXRhaWxDb21wb25lbnRDb25maWcge1xyXG4gICAgLyoqXHJcbiAgICAgKiBAZGVzY3JpcHRpb25cclxuICAgICAqIFRoZSBpZCBvZiB0aGUgZGV0YWlsIHBhZ2UgbG9jYXRpb24gaW4gd2hpY2ggdG8gcGxhY2UgdGhlIGNvbXBvbmVudC5cclxuICAgICAqL1xyXG4gICAgbG9jYXRpb25JZDogQ3VzdG9tRGV0YWlsQ29tcG9uZW50TG9jYXRpb25JZDtcclxuICAgIC8qKlxyXG4gICAgICogQGRlc2NyaXB0aW9uXHJcbiAgICAgKiBUaGUgUmVhY3QgY29tcG9uZW50IHRvIHJlbmRlci5cclxuICAgICAqL1xyXG4gICAgY29tcG9uZW50OiBFbGVtZW50VHlwZTtcclxuICAgIC8qKlxyXG4gICAgICogQGRlc2NyaXB0aW9uXHJcbiAgICAgKiBPcHRpb25hbCBwcm9wcyB0byBwYXNzIHRvIHRoZSBSZWFjdCBjb21wb25lbnQuXHJcbiAgICAgKi9cclxuICAgIHByb3BzPzogUmVjb3JkPHN0cmluZywgYW55PjtcclxufVxyXG5cclxuLyoqXHJcbiAqIEBkZXNjcmlwdGlvblxyXG4gKiBSZWdpc3RlcnMgYSBSZWFjdCBjb21wb25lbnQgdG8gYmUgcmVuZGVyZWQgaW4gYSBkZXRhaWwgcGFnZSBpbiB0aGUgZ2l2ZW4gbG9jYXRpb24uXHJcbiAqIENvbXBvbmVudHMgdXNlZCBhcyBjdXN0b20gZGV0YWlsIGNvbXBvbmVudHMgY2FuIG1ha2UgdXNlIG9mIHRoZSB7QGxpbmsgdXNlRGV0YWlsQ29tcG9uZW50RGF0YX0gaG9vay5cclxuICpcclxuICogQGRvY3NDYXRlZ29yeSByZWFjdC1leHRlbnNpb25zXHJcbiAqL1xyXG5leHBvcnQgZnVuY3Rpb24gcmVnaXN0ZXJSZWFjdEN1c3RvbURldGFpbENvbXBvbmVudChjb25maWc6IFJlYWN0Q3VzdG9tRGV0YWlsQ29tcG9uZW50Q29uZmlnKSB7XHJcbiAgICByZXR1cm4ge1xyXG4gICAgICAgIHByb3ZpZGU6IEFQUF9JTklUSUFMSVpFUixcclxuICAgICAgICBtdWx0aTogdHJ1ZSxcclxuICAgICAgICB1c2VGYWN0b3J5OiAoY3VzdG9tRGV0YWlsQ29tcG9uZW50U2VydmljZTogQ3VzdG9tRGV0YWlsQ29tcG9uZW50U2VydmljZSkgPT4gKCkgPT4ge1xyXG4gICAgICAgICAgICBjdXN0b21EZXRhaWxDb21wb25lbnRTZXJ2aWNlLnJlZ2lzdGVyQ3VzdG9tRGV0YWlsQ29tcG9uZW50KHtcclxuICAgICAgICAgICAgICAgIGNvbXBvbmVudDogUmVhY3RDdXN0b21EZXRhaWxDb21wb25lbnQsXHJcbiAgICAgICAgICAgICAgICBsb2NhdGlvbklkOiBjb25maWcubG9jYXRpb25JZCxcclxuICAgICAgICAgICAgICAgIHByb3ZpZGVyczogW1xyXG4gICAgICAgICAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgcHJvdmlkZTogUkVBQ1RfQ1VTVE9NX0RFVEFJTF9DT01QT05FTlRfT1BUSU9OUyxcclxuICAgICAgICAgICAgICAgICAgICAgICAgdXNlVmFsdWU6IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbXBvbmVudDogY29uZmlnLmNvbXBvbmVudCxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb3BzOiBjb25maWcucHJvcHMsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICAgIF0sXHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgICAgIH0sXHJcbiAgICAgICAgZGVwczogW0N1c3RvbURldGFpbENvbXBvbmVudFNlcnZpY2VdLFxyXG4gICAgfTtcclxufVxyXG4iXX0=
@@ -0,0 +1,62 @@
1
+ import { APP_INITIALIZER } from '@angular/core';
2
+ import { DataTableCustomComponentService, } from '@vendure/admin-ui/core';
3
+ import { REACT_CUSTOM_COLUMN_COMPONENT_OPTIONS, ReactCustomColumnComponent, } from './components/react-custom-column.component';
4
+ /**
5
+ * @description
6
+ * Registers a React component to be rendered in a data table in the given location.
7
+ * The component will receive the `rowItem` prop which is the data object for the row,
8
+ * e.g. the `Product` object if used in the `product-list` table.
9
+ *
10
+ * @example
11
+ * ```ts title="components/SlugWithLink.tsx"
12
+ * import { ReactDataTableComponentProps } from '\@vendure/admin-ui/react';
13
+ * import React from 'react';
14
+ *
15
+ * export function SlugWithLink({ rowItem }: ReactDataTableComponentProps) {
16
+ * return (
17
+ * <a href={`https://example.com/products/${rowItem.slug}`} target="_blank">
18
+ * {rowItem.slug}
19
+ * </a>
20
+ * );
21
+ * }
22
+ * ```
23
+ *
24
+ * ```ts title="providers.ts"
25
+ * import { registerReactDataTableComponent } from '\@vendure/admin-ui/react';
26
+ * import { SlugWithLink } from './components/SlugWithLink';
27
+ *
28
+ * export default [
29
+ * registerReactDataTableComponent({
30
+ * component: SlugWithLink,
31
+ * tableId: 'product-list',
32
+ * columnId: 'slug',
33
+ * props: {
34
+ * foo: 'bar',
35
+ * },
36
+ * }),
37
+ * ];
38
+ * ```
39
+ */
40
+ export function registerReactDataTableComponent(config) {
41
+ return {
42
+ provide: APP_INITIALIZER,
43
+ multi: true,
44
+ useFactory: (dataTableCustomComponentService) => () => {
45
+ dataTableCustomComponentService.registerCustomComponent({
46
+ ...config,
47
+ component: ReactCustomColumnComponent,
48
+ providers: [
49
+ {
50
+ provide: REACT_CUSTOM_COLUMN_COMPONENT_OPTIONS,
51
+ useValue: {
52
+ component: config.component,
53
+ props: config.props,
54
+ },
55
+ },
56
+ ],
57
+ });
58
+ },
59
+ deps: [DataTableCustomComponentService],
60
+ };
61
+ }
62
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVnaXN0ZXItcmVhY3QtZGF0YS10YWJsZS1jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL3JlYWN0L3NyYy9yZWdpc3Rlci1yZWFjdC1kYXRhLXRhYmxlLWNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2hELE9BQU8sRUFFSCwrQkFBK0IsR0FFbEMsTUFBTSx3QkFBd0IsQ0FBQztBQUVoQyxPQUFPLEVBQ0gscUNBQXFDLEVBQ3JDLDBCQUEwQixHQUM3QixNQUFNLDRDQUE0QyxDQUFDO0FBeUNwRDs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FtQ0c7QUFDSCxNQUFNLFVBQVUsK0JBQStCLENBQUMsTUFBcUM7SUFDakYsT0FBTztRQUNILE9BQU8sRUFBRSxlQUFlO1FBQ3hCLEtBQUssRUFBRSxJQUFJO1FBQ1gsVUFBVSxFQUFFLENBQUMsK0JBQWdFLEVBQUUsRUFBRSxDQUFDLEdBQUcsRUFBRTtZQUNuRiwrQkFBK0IsQ0FBQyx1QkFBdUIsQ0FBQztnQkFDcEQsR0FBRyxNQUFNO2dCQUNULFNBQVMsRUFBRSwwQkFBMEI7Z0JBQ3JDLFNBQVMsRUFBRTtvQkFDUDt3QkFDSSxPQUFPLEVBQUUscUNBQXFDO3dCQUM5QyxRQUFRLEVBQUU7NEJBQ04sU0FBUyxFQUFFLE1BQU0sQ0FBQyxTQUFTOzRCQUMzQixLQUFLLEVBQUUsTUFBTSxDQUFDLEtBQUs7eUJBQ3RCO3FCQUNKO2lCQUNKO2FBQ0osQ0FBQyxDQUFDO1FBQ1AsQ0FBQztRQUNELElBQUksRUFBRSxDQUFDLCtCQUErQixDQUFDO0tBQzFDLENBQUM7QUFDTixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQVBQX0lOSVRJQUxJWkVSIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7XHJcbiAgICBEYXRhVGFibGVDb2x1bW5JZCxcclxuICAgIERhdGFUYWJsZUN1c3RvbUNvbXBvbmVudFNlcnZpY2UsXHJcbiAgICBEYXRhVGFibGVMb2NhdGlvbklkLFxyXG59IGZyb20gJ0B2ZW5kdXJlL2FkbWluLXVpL2NvcmUnO1xyXG5pbXBvcnQgeyBFbGVtZW50VHlwZSB9IGZyb20gJ3JlYWN0JztcclxuaW1wb3J0IHtcclxuICAgIFJFQUNUX0NVU1RPTV9DT0xVTU5fQ09NUE9ORU5UX09QVElPTlMsXHJcbiAgICBSZWFjdEN1c3RvbUNvbHVtbkNvbXBvbmVudCxcclxufSBmcm9tICcuL2NvbXBvbmVudHMvcmVhY3QtY3VzdG9tLWNvbHVtbi5jb21wb25lbnQnO1xyXG5cclxuLyoqXHJcbiAqIEBkZXNjcmlwdGlvblxyXG4gKiBDb25maWd1cmVzIGEge0BsaW5rIEN1c3RvbURldGFpbENvbXBvbmVudH0gdG8gYmUgcGxhY2VkIGluIHRoZSBnaXZlbiBsb2NhdGlvbi5cclxuICpcclxuICogQGRvY3NDYXRlZ29yeSByZWFjdC1leHRlbnNpb25zXHJcbiAqL1xyXG5leHBvcnQgaW50ZXJmYWNlIFJlYWN0RGF0YVRhYmxlQ29tcG9uZW50Q29uZmlnIHtcclxuICAgIC8qKlxyXG4gICAgICogQGRlc2NyaXB0aW9uXHJcbiAgICAgKiBUaGUgbG9jYXRpb24gaW4gdGhlIFVJIHdoZXJlIHRoZSBjdXN0b20gY29tcG9uZW50IHNob3VsZCBiZSBwbGFjZWQuXHJcbiAgICAgKi9cclxuICAgIHRhYmxlSWQ6IERhdGFUYWJsZUxvY2F0aW9uSWQ7XHJcbiAgICAvKipcclxuICAgICAqIEBkZXNjcmlwdGlvblxyXG4gICAgICogVGhlIGNvbHVtbiBpbiB0aGUgdGFibGUgd2hlcmUgdGhlIGN1c3RvbSBjb21wb25lbnQgc2hvdWxkIGJlIHBsYWNlZC5cclxuICAgICAqL1xyXG4gICAgY29sdW1uSWQ6IERhdGFUYWJsZUNvbHVtbklkO1xyXG4gICAgLyoqXHJcbiAgICAgKiBAZGVzY3JpcHRpb25cclxuICAgICAqIFRoZSBjb21wb25lbnQgdG8gcmVuZGVyIGluIHRoZSB0YWJsZSBjZWxsLiBUaGlzIGNvbXBvbmVudCB3aWxsIHJlY2VpdmUgdGhlIGByb3dJdGVtYCBwcm9wXHJcbiAgICAgKiB3aGljaCBpcyB0aGUgZGF0YSBvYmplY3QgZm9yIHRoZSByb3csIGUuZy4gdGhlIGBQcm9kdWN0YCBvYmplY3QgaWYgdXNlZCBpbiB0aGUgYHByb2R1Y3QtbGlzdGAgdGFibGUuXHJcbiAgICAgKi9cclxuICAgIGNvbXBvbmVudDogRWxlbWVudFR5cGU7XHJcbiAgICAvKipcclxuICAgICAqIEBkZXNjcmlwdGlvblxyXG4gICAgICogT3B0aW9uYWwgcHJvcHMgdG8gcGFzcyB0byB0aGUgUmVhY3QgY29tcG9uZW50LlxyXG4gICAgICovXHJcbiAgICBwcm9wcz86IFJlY29yZDxzdHJpbmcsIGFueT47XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBAZGVzY3JpcHRpb25cclxuICogVGhlIHByb3BzIHRoYXQgd2lsbCBiZSBwYXNzZWQgdG8gdGhlIFJlYWN0IGNvbXBvbmVudCByZWdpc3RlcmVkIHZpYSB7QGxpbmsgcmVnaXN0ZXJSZWFjdERhdGFUYWJsZUNvbXBvbmVudH0uXHJcbiAqL1xyXG5leHBvcnQgaW50ZXJmYWNlIFJlYWN0RGF0YVRhYmxlQ29tcG9uZW50UHJvcHMge1xyXG4gICAgcm93SXRlbTogYW55O1xyXG4gICAgW3Byb3A6IHN0cmluZ106IGFueTtcclxufVxyXG5cclxuLyoqXHJcbiAqIEBkZXNjcmlwdGlvblxyXG4gKiBSZWdpc3RlcnMgYSBSZWFjdCBjb21wb25lbnQgdG8gYmUgcmVuZGVyZWQgaW4gYSBkYXRhIHRhYmxlIGluIHRoZSBnaXZlbiBsb2NhdGlvbi5cclxuICogVGhlIGNvbXBvbmVudCB3aWxsIHJlY2VpdmUgdGhlIGByb3dJdGVtYCBwcm9wIHdoaWNoIGlzIHRoZSBkYXRhIG9iamVjdCBmb3IgdGhlIHJvdyxcclxuICogZS5nLiB0aGUgYFByb2R1Y3RgIG9iamVjdCBpZiB1c2VkIGluIHRoZSBgcHJvZHVjdC1saXN0YCB0YWJsZS5cclxuICpcclxuICogQGV4YW1wbGVcclxuICogYGBgdHMgdGl0bGU9XCJjb21wb25lbnRzL1NsdWdXaXRoTGluay50c3hcIlxyXG4gKiBpbXBvcnQgeyBSZWFjdERhdGFUYWJsZUNvbXBvbmVudFByb3BzIH0gZnJvbSAnXFxAdmVuZHVyZS9hZG1pbi11aS9yZWFjdCc7XHJcbiAqIGltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCc7XHJcbiAqXHJcbiAqIGV4cG9ydCBmdW5jdGlvbiBTbHVnV2l0aExpbmsoeyByb3dJdGVtIH06IFJlYWN0RGF0YVRhYmxlQ29tcG9uZW50UHJvcHMpIHtcclxuICogICAgIHJldHVybiAoXHJcbiAqICAgICAgICAgPGEgaHJlZj17YGh0dHBzOi8vZXhhbXBsZS5jb20vcHJvZHVjdHMvJHtyb3dJdGVtLnNsdWd9YH0gdGFyZ2V0PVwiX2JsYW5rXCI+XHJcbiAqICAgICAgICAgICAgIHtyb3dJdGVtLnNsdWd9XHJcbiAqICAgICAgICAgPC9hPlxyXG4gKiAgICAgKTtcclxuICogfVxyXG4gKiBgYGBcclxuICpcclxuICogYGBgdHMgdGl0bGU9XCJwcm92aWRlcnMudHNcIlxyXG4gKiBpbXBvcnQgeyByZWdpc3RlclJlYWN0RGF0YVRhYmxlQ29tcG9uZW50IH0gZnJvbSAnXFxAdmVuZHVyZS9hZG1pbi11aS9yZWFjdCc7XHJcbiAqIGltcG9ydCB7IFNsdWdXaXRoTGluayB9IGZyb20gJy4vY29tcG9uZW50cy9TbHVnV2l0aExpbmsnO1xyXG4gKlxyXG4gKiBleHBvcnQgZGVmYXVsdCBbXHJcbiAqICAgICByZWdpc3RlclJlYWN0RGF0YVRhYmxlQ29tcG9uZW50KHtcclxuICogICAgICAgICBjb21wb25lbnQ6IFNsdWdXaXRoTGluayxcclxuICogICAgICAgICB0YWJsZUlkOiAncHJvZHVjdC1saXN0JyxcclxuICogICAgICAgICBjb2x1bW5JZDogJ3NsdWcnLFxyXG4gKiAgICAgICAgIHByb3BzOiB7XHJcbiAqICAgICAgICAgZm9vOiAnYmFyJyxcclxuICogICAgICAgICB9LFxyXG4gKiAgICAgfSksXHJcbiAqIF07XHJcbiAqIGBgYFxyXG4gKi9cclxuZXhwb3J0IGZ1bmN0aW9uIHJlZ2lzdGVyUmVhY3REYXRhVGFibGVDb21wb25lbnQoY29uZmlnOiBSZWFjdERhdGFUYWJsZUNvbXBvbmVudENvbmZpZykge1xyXG4gICAgcmV0dXJuIHtcclxuICAgICAgICBwcm92aWRlOiBBUFBfSU5JVElBTElaRVIsXHJcbiAgICAgICAgbXVsdGk6IHRydWUsXHJcbiAgICAgICAgdXNlRmFjdG9yeTogKGRhdGFUYWJsZUN1c3RvbUNvbXBvbmVudFNlcnZpY2U6IERhdGFUYWJsZUN1c3RvbUNvbXBvbmVudFNlcnZpY2UpID0+ICgpID0+IHtcclxuICAgICAgICAgICAgZGF0YVRhYmxlQ3VzdG9tQ29tcG9uZW50U2VydmljZS5yZWdpc3RlckN1c3RvbUNvbXBvbmVudCh7XHJcbiAgICAgICAgICAgICAgICAuLi5jb25maWcsXHJcbiAgICAgICAgICAgICAgICBjb21wb25lbnQ6IFJlYWN0Q3VzdG9tQ29sdW1uQ29tcG9uZW50LFxyXG4gICAgICAgICAgICAgICAgcHJvdmlkZXJzOiBbXHJcbiAgICAgICAgICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBwcm92aWRlOiBSRUFDVF9DVVNUT01fQ09MVU1OX0NPTVBPTkVOVF9PUFRJT05TLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICB1c2VWYWx1ZToge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29tcG9uZW50OiBjb25maWcuY29tcG9uZW50LFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvcHM6IGNvbmZpZy5wcm9wcyxcclxuICAgICAgICAgICAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgICAgXSxcclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgfSxcclxuICAgICAgICBkZXBzOiBbRGF0YVRhYmxlQ3VzdG9tQ29tcG9uZW50U2VydmljZV0sXHJcbiAgICB9O1xyXG59XHJcbiJdfQ==
@@ -0,0 +1,27 @@
1
+ import { APP_INITIALIZER } from '@angular/core';
2
+ import { ComponentRegistryService } from '@vendure/admin-ui/core';
3
+ import { REACT_INPUT_COMPONENT_OPTIONS, ReactFormInputComponent, } from './components/react-form-input.component';
4
+ /**
5
+ * @description
6
+ * Registers a React component to be used as a {@link FormInputComponent}.
7
+ *
8
+ * @docsCategory react-extensions
9
+ */
10
+ export function registerReactFormInputComponent(id, component) {
11
+ return {
12
+ provide: APP_INITIALIZER,
13
+ multi: true,
14
+ useFactory: (registry) => () => {
15
+ registry.registerInputComponent(id, ReactFormInputComponent, [
16
+ {
17
+ provide: REACT_INPUT_COMPONENT_OPTIONS,
18
+ useValue: {
19
+ component,
20
+ },
21
+ },
22
+ ]);
23
+ },
24
+ deps: [ComponentRegistryService],
25
+ };
26
+ }
27
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVnaXN0ZXItcmVhY3QtZm9ybS1pbnB1dC1jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL3JlYWN0L3NyYy9yZWdpc3Rlci1yZWFjdC1mb3JtLWlucHV0LWNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsZUFBZSxFQUFtQixNQUFNLGVBQWUsQ0FBQztBQUNqRSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUVsRSxPQUFPLEVBQ0gsNkJBQTZCLEVBQzdCLHVCQUF1QixHQUMxQixNQUFNLHlDQUF5QyxDQUFDO0FBRWpEOzs7OztHQUtHO0FBQ0gsTUFBTSxVQUFVLCtCQUErQixDQUFDLEVBQVUsRUFBRSxTQUFzQjtJQUM5RSxPQUFPO1FBQ0gsT0FBTyxFQUFFLGVBQWU7UUFDeEIsS0FBSyxFQUFFLElBQUk7UUFDWCxVQUFVLEVBQUUsQ0FBQyxRQUFrQyxFQUFFLEVBQUUsQ0FBQyxHQUFHLEVBQUU7WUFDckQsUUFBUSxDQUFDLHNCQUFzQixDQUFDLEVBQUUsRUFBRSx1QkFBdUIsRUFBRTtnQkFDekQ7b0JBQ0ksT0FBTyxFQUFFLDZCQUE2QjtvQkFDdEMsUUFBUSxFQUFFO3dCQUNOLFNBQVM7cUJBQ1o7aUJBQ0o7YUFDSixDQUFDLENBQUM7UUFDUCxDQUFDO1FBQ0QsSUFBSSxFQUFFLENBQUMsd0JBQXdCLENBQUM7S0FDbkMsQ0FBQztBQUNOLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBUFBfSU5JVElBTElaRVIsIEZhY3RvcnlQcm92aWRlciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBDb21wb25lbnRSZWdpc3RyeVNlcnZpY2UgfSBmcm9tICdAdmVuZHVyZS9hZG1pbi11aS9jb3JlJztcclxuaW1wb3J0IHsgRWxlbWVudFR5cGUgfSBmcm9tICdyZWFjdCc7XHJcbmltcG9ydCB7XHJcbiAgICBSRUFDVF9JTlBVVF9DT01QT05FTlRfT1BUSU9OUyxcclxuICAgIFJlYWN0Rm9ybUlucHV0Q29tcG9uZW50LFxyXG59IGZyb20gJy4vY29tcG9uZW50cy9yZWFjdC1mb3JtLWlucHV0LmNvbXBvbmVudCc7XHJcblxyXG4vKipcclxuICogQGRlc2NyaXB0aW9uXHJcbiAqIFJlZ2lzdGVycyBhIFJlYWN0IGNvbXBvbmVudCB0byBiZSB1c2VkIGFzIGEge0BsaW5rIEZvcm1JbnB1dENvbXBvbmVudH0uXHJcbiAqXHJcbiAqIEBkb2NzQ2F0ZWdvcnkgcmVhY3QtZXh0ZW5zaW9uc1xyXG4gKi9cclxuZXhwb3J0IGZ1bmN0aW9uIHJlZ2lzdGVyUmVhY3RGb3JtSW5wdXRDb21wb25lbnQoaWQ6IHN0cmluZywgY29tcG9uZW50OiBFbGVtZW50VHlwZSk6IEZhY3RvcnlQcm92aWRlciB7XHJcbiAgICByZXR1cm4ge1xyXG4gICAgICAgIHByb3ZpZGU6IEFQUF9JTklUSUFMSVpFUixcclxuICAgICAgICBtdWx0aTogdHJ1ZSxcclxuICAgICAgICB1c2VGYWN0b3J5OiAocmVnaXN0cnk6IENvbXBvbmVudFJlZ2lzdHJ5U2VydmljZSkgPT4gKCkgPT4ge1xyXG4gICAgICAgICAgICByZWdpc3RyeS5yZWdpc3RlcklucHV0Q29tcG9uZW50KGlkLCBSZWFjdEZvcm1JbnB1dENvbXBvbmVudCwgW1xyXG4gICAgICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgICAgICAgIHByb3ZpZGU6IFJFQUNUX0lOUFVUX0NPTVBPTkVOVF9PUFRJT05TLFxyXG4gICAgICAgICAgICAgICAgICAgIHVzZVZhbHVlOiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbXBvbmVudCxcclxuICAgICAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgXSk7XHJcbiAgICAgICAgfSxcclxuICAgICAgICBkZXBzOiBbQ29tcG9uZW50UmVnaXN0cnlTZXJ2aWNlXSxcclxuICAgIH07XHJcbn1cclxuIl19
@@ -0,0 +1,25 @@
1
+ import { registerRouteComponent } from '@vendure/admin-ui/core';
2
+ import { REACT_ROUTE_COMPONENT_OPTIONS, ReactRouteComponent } from './components/react-route.component';
3
+ /**
4
+ * @description
5
+ * Registers a React component to be used as a route component.
6
+ *
7
+ * @docsCategory react-extensions
8
+ */
9
+ export function registerReactRouteComponent(options) {
10
+ const routeDef = registerRouteComponent(options);
11
+ return {
12
+ ...routeDef,
13
+ providers: [
14
+ {
15
+ provide: REACT_ROUTE_COMPONENT_OPTIONS,
16
+ useValue: {
17
+ props: options.props,
18
+ },
19
+ },
20
+ ...(routeDef.providers ?? []),
21
+ ],
22
+ component: ReactRouteComponent,
23
+ };
24
+ }
25
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVnaXN0ZXItcmVhY3Qtcm91dGUtY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2xpYi9yZWFjdC9zcmMvcmVnaXN0ZXItcmVhY3Qtcm91dGUtY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE9BQU8sRUFBRSxzQkFBc0IsRUFBaUMsTUFBTSx3QkFBd0IsQ0FBQztBQUcvRixPQUFPLEVBQUUsNkJBQTZCLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQVl4Rzs7Ozs7R0FLRztBQUNILE1BQU0sVUFBVSwyQkFBMkIsQ0FLekMsT0FBZ0U7SUFDOUQsTUFBTSxRQUFRLEdBQUcsc0JBQXNCLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDakQsT0FBTztRQUNILEdBQUcsUUFBUTtRQUNYLFNBQVMsRUFBRTtZQUNQO2dCQUNJLE9BQU8sRUFBRSw2QkFBNkI7Z0JBQ3RDLFFBQVEsRUFBRTtvQkFDTixLQUFLLEVBQUUsT0FBTyxDQUFDLEtBQUs7aUJBQ2M7YUFDekM7WUFDRCxHQUFHLENBQUMsUUFBUSxDQUFDLFNBQVMsSUFBSSxFQUFFLENBQUM7U0FDaEM7UUFDRCxTQUFTLEVBQUUsbUJBQW1CO0tBQ2pDLENBQUM7QUFDTixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUm91dGUgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xyXG5pbXBvcnQgeyBSZXN1bHRPZiwgVHlwZWREb2N1bWVudE5vZGUgfSBmcm9tICdAZ3JhcGhxbC10eXBlZC1kb2N1bWVudC1ub2RlL2NvcmUnO1xyXG5pbXBvcnQgeyByZWdpc3RlclJvdXRlQ29tcG9uZW50LCBSZWdpc3RlclJvdXRlQ29tcG9uZW50T3B0aW9ucyB9IGZyb20gJ0B2ZW5kdXJlL2FkbWluLXVpL2NvcmUnO1xyXG5pbXBvcnQgeyBEb2N1bWVudE5vZGUgfSBmcm9tICdncmFwaHFsL2luZGV4JztcclxuaW1wb3J0IHsgRWxlbWVudFR5cGUgfSBmcm9tICdyZWFjdCc7XHJcbmltcG9ydCB7IFJFQUNUX1JPVVRFX0NPTVBPTkVOVF9PUFRJT05TLCBSZWFjdFJvdXRlQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3JlYWN0LXJvdXRlLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFJlYWN0Um91dGVDb21wb25lbnRPcHRpb25zIH0gZnJvbSAnLi90eXBlcyc7XHJcblxyXG50eXBlIFJlZ2lzdGVyUmVhY3RSb3V0ZUNvbXBvbmVudE9wdGlvbnM8XHJcbiAgICBFbnRpdHkgZXh0ZW5kcyB7IGlkOiBzdHJpbmc7IHVwZGF0ZWRBdD86IHN0cmluZyB9LFxyXG4gICAgVCBleHRlbmRzIERvY3VtZW50Tm9kZSB8IFR5cGVkRG9jdW1lbnROb2RlPGFueSwgeyBpZDogc3RyaW5nIH0+LFxyXG4gICAgRmllbGQgZXh0ZW5kcyBrZXlvZiBSZXN1bHRPZjxUPixcclxuICAgIFIgZXh0ZW5kcyBGaWVsZCxcclxuPiA9IFJlZ2lzdGVyUm91dGVDb21wb25lbnRPcHRpb25zPEVsZW1lbnRUeXBlLCBFbnRpdHksIFQsIEZpZWxkLCBSPiAmIHtcclxuICAgIHByb3BzPzogUmVjb3JkPHN0cmluZywgYW55PjtcclxufTtcclxuXHJcbi8qKlxyXG4gKiBAZGVzY3JpcHRpb25cclxuICogUmVnaXN0ZXJzIGEgUmVhY3QgY29tcG9uZW50IHRvIGJlIHVzZWQgYXMgYSByb3V0ZSBjb21wb25lbnQuXHJcbiAqXHJcbiAqIEBkb2NzQ2F0ZWdvcnkgcmVhY3QtZXh0ZW5zaW9uc1xyXG4gKi9cclxuZXhwb3J0IGZ1bmN0aW9uIHJlZ2lzdGVyUmVhY3RSb3V0ZUNvbXBvbmVudDxcclxuICAgIEVudGl0eSBleHRlbmRzIHsgaWQ6IHN0cmluZzsgdXBkYXRlZEF0Pzogc3RyaW5nIH0sXHJcbiAgICBUIGV4dGVuZHMgRG9jdW1lbnROb2RlIHwgVHlwZWREb2N1bWVudE5vZGU8YW55LCB7IGlkOiBzdHJpbmcgfT4sXHJcbiAgICBGaWVsZCBleHRlbmRzIGtleW9mIFJlc3VsdE9mPFQ+LFxyXG4gICAgUiBleHRlbmRzIEZpZWxkLFxyXG4+KG9wdGlvbnM6IFJlZ2lzdGVyUmVhY3RSb3V0ZUNvbXBvbmVudE9wdGlvbnM8RW50aXR5LCBULCBGaWVsZCwgUj4pOiBSb3V0ZSB7XHJcbiAgICBjb25zdCByb3V0ZURlZiA9IHJlZ2lzdGVyUm91dGVDb21wb25lbnQob3B0aW9ucyk7XHJcbiAgICByZXR1cm4ge1xyXG4gICAgICAgIC4uLnJvdXRlRGVmLFxyXG4gICAgICAgIHByb3ZpZGVyczogW1xyXG4gICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICBwcm92aWRlOiBSRUFDVF9ST1VURV9DT01QT05FTlRfT1BUSU9OUyxcclxuICAgICAgICAgICAgICAgIHVzZVZhbHVlOiB7XHJcbiAgICAgICAgICAgICAgICAgICAgcHJvcHM6IG9wdGlvbnMucHJvcHMsXHJcbiAgICAgICAgICAgICAgICB9IHNhdGlzZmllcyBSZWFjdFJvdXRlQ29tcG9uZW50T3B0aW9ucyxcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgLi4uKHJvdXRlRGVmLnByb3ZpZGVycyA/PyBbXSksXHJcbiAgICAgICAgXSxcclxuICAgICAgICBjb21wb25lbnQ6IFJlYWN0Um91dGVDb21wb25lbnQsXHJcbiAgICB9O1xyXG59XHJcbiJdfQ==
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL3JlYWN0L3NyYy90eXBlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0b3IgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgRm9ybUNvbnRyb2wgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IEN1c3RvbUZpZWxkLCBQYWdlTWV0YWRhdGFTZXJ2aWNlIH0gZnJvbSAnQHZlbmR1cmUvYWRtaW4tdWkvY29yZSc7XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFJlYWN0Rm9ybUlucHV0T3B0aW9ucyB7XHJcbiAgICBmb3JtQ29udHJvbDogRm9ybUNvbnRyb2w7XHJcbiAgICByZWFkb25seTogYm9vbGVhbjtcclxuICAgIGNvbmZpZzogQ3VzdG9tRmllbGQgJiBSZWNvcmQ8c3RyaW5nLCBhbnk+O1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFJlYWN0Rm9ybUlucHV0UHJvcHMgZXh0ZW5kcyBSZWFjdEZvcm1JbnB1dE9wdGlvbnMge31cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgUmVhY3RSb3V0ZUNvbXBvbmVudE9wdGlvbnMge1xyXG4gICAgcHJvcHM/OiBSZWNvcmQ8c3RyaW5nLCBhbnk+O1xyXG59XHJcblxyXG5leHBvcnQgdHlwZSBIb3N0ZWRSZWFjdENvbXBvbmVudENvbnRleHQ8VCBleHRlbmRzIFJlY29yZDxzdHJpbmcsIGFueT4gPSBSZWNvcmQ8c3RyaW5nLCBhbnk+PiA9IHtcclxuICAgIGluamVjdG9yOiBJbmplY3RvcjtcclxuICAgIHBhZ2VNZXRhZGF0YVNlcnZpY2U/OiBQYWdlTWV0YWRhdGFTZXJ2aWNlO1xyXG59ICYgVDtcclxuIl19
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Generated bundle index. Do not edit.
3
+ */
4
+ export * from './public_api';
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmVuZHVyZS1hZG1pbi11aS1yZWFjdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9saWIvcmVhY3Qvc3JjL3ZlbmR1cmUtYWRtaW4tdWktcmVhY3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLGNBQWMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2VuZXJhdGVkIGJ1bmRsZSBpbmRleC4gRG8gbm90IGVkaXQuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9wdWJsaWNfYXBpJztcbiJdfQ==