@vendure/admin-ui 2.1.0-next.1 → 2.1.0-next.3

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 (256) 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/stock-location-detail/stock-location-detail.component.d.ts +3 -1
  6. package/core/common/base-detail.component.d.ts +11 -1
  7. package/core/common/component-registry-types.d.ts +2 -1
  8. package/core/common/utilities/custom-field-default-value.d.ts +6 -0
  9. package/core/common/version.d.ts +1 -1
  10. package/core/components/app-shell/app-shell.component.d.ts +2 -0
  11. package/core/extension/add-action-bar-item.d.ts +28 -0
  12. package/core/extension/add-nav-menu-item.d.ts +60 -0
  13. package/core/extension/components/angular-route.component.d.ts +6 -0
  14. package/core/extension/components/route.component.d.ts +13 -0
  15. package/core/extension/providers/page-metadata.service.d.ts +9 -0
  16. package/core/{providers/bulk-action-registry → extension}/register-bulk-action.d.ts +1 -1
  17. package/core/extension/register-custom-detail-component.d.ts +10 -0
  18. package/core/{providers/dashboard-widget → extension}/register-dashboard-widget.d.ts +5 -1
  19. package/core/extension/register-data-table-component.d.ts +44 -0
  20. package/core/extension/register-form-input-component.d.ts +50 -0
  21. package/core/extension/register-history-entry-component.d.ts +11 -0
  22. package/core/extension/register-route-component.d.ts +59 -0
  23. package/core/extension/types.d.ts +11 -0
  24. package/core/providers/component-registry/component-registry.service.d.ts +6 -3
  25. package/core/providers/custom-detail-component/custom-detail-component-types.d.ts +2 -1
  26. package/core/providers/custom-detail-component/custom-detail-component.service.d.ts +0 -9
  27. package/core/providers/custom-history-entry-component/history-entry-component.service.d.ts +1 -10
  28. package/core/providers/dashboard-widget/dashboard-widget-types.d.ts +17 -1
  29. package/core/providers/modal/modal.service.d.ts +1 -3
  30. package/core/providers/nav-builder/nav-builder.service.d.ts +0 -85
  31. package/core/public_api.d.ts +16 -3
  32. package/core/shared/components/custom-detail-component-host/custom-detail-component-host.component.d.ts +3 -3
  33. package/core/shared/components/data-table-2/data-table-column.component.d.ts +2 -2
  34. package/core/shared/components/data-table-2/data-table-custom-component.service.d.ts +52 -0
  35. package/core/shared/components/data-table-2/data-table-custom-field-column.component.d.ts +0 -1
  36. package/core/shared/components/data-table-2/data-table2.component.d.ts +9 -2
  37. package/core/shared/components/modal-dialog/dialog-component-outlet.component.d.ts +2 -3
  38. package/core/shared/components/order-state-label/order-state-label.component.d.ts +1 -1
  39. package/core/shared/components/ui-extension-point/ui-extension-point.component.d.ts +13 -4
  40. package/core/shared/dynamic-form-inputs/default-form-inputs.d.ts +15 -0
  41. package/core/shared/dynamic-form-inputs/dynamic-form-input/dynamic-form-input.component.d.ts +3 -3
  42. package/core/shared/shared.module.d.ts +25 -25
  43. package/customer/components/customer-detail/customer-detail.component.d.ts +3 -1
  44. package/customer/components/customer-group-detail/customer-group-detail.component.d.ts +3 -1
  45. package/customer/components/customer-history/customer-history-entry-host.component.d.ts +2 -3
  46. package/customer/components/customer-list/customer-list.component.d.ts +1 -0
  47. package/dashboard/components/dashboard-widget/dashboard-widget.component.d.ts +1 -3
  48. package/esm2022/catalog/components/asset-detail/asset-detail.component.mjs +3 -3
  49. package/esm2022/catalog/components/collection-contents/collection-contents.component.mjs +3 -3
  50. package/esm2022/catalog/components/collection-data-table/collection-data-table.component.mjs +3 -3
  51. package/esm2022/catalog/components/collection-detail/collection-detail.component.mjs +3 -3
  52. package/esm2022/catalog/components/collection-list/collection-list.component.mjs +3 -3
  53. package/esm2022/catalog/components/create-product-variant-dialog/create-product-variant-dialog.component.mjs +8 -5
  54. package/esm2022/catalog/components/facet-detail/facet-detail.component.mjs +3 -3
  55. package/esm2022/catalog/components/facet-list/facet-list.component.mjs +3 -3
  56. package/esm2022/catalog/components/move-collections-dialog/move-collections-dialog.component.mjs +3 -3
  57. package/esm2022/catalog/components/product-detail/product-detail.component.mjs +3 -3
  58. package/esm2022/catalog/components/product-list/product-list.component.mjs +3 -3
  59. package/esm2022/catalog/components/product-options-editor/product-options-editor.component.mjs +3 -3
  60. package/esm2022/catalog/components/product-variant-detail/product-variant-detail.component.mjs +3 -3
  61. package/esm2022/catalog/components/product-variant-list/product-variant-list.component.mjs +3 -3
  62. package/esm2022/catalog/components/product-variants-editor/product-variants-editor.component.mjs +3 -3
  63. package/esm2022/catalog/components/stock-location-detail/stock-location-detail.component.mjs +3 -3
  64. package/esm2022/catalog/components/stock-location-list/stock-location-list.component.mjs +3 -3
  65. package/esm2022/core/common/base-detail.component.mjs +9 -7
  66. package/esm2022/core/common/component-registry-types.mjs +1 -1
  67. package/esm2022/core/common/utilities/create-updated-translatable.mjs +5 -23
  68. package/esm2022/core/common/utilities/custom-field-default-value.mjs +28 -0
  69. package/esm2022/core/common/version.mjs +2 -2
  70. package/esm2022/core/components/app-shell/app-shell.component.mjs +16 -10
  71. package/esm2022/core/components/channel-switcher/channel-switcher.component.mjs +3 -3
  72. package/esm2022/core/components/main-nav/main-nav.component.mjs +3 -3
  73. package/esm2022/core/components/settings-nav/settings-nav.component.mjs +1 -1
  74. package/esm2022/core/core.module.mjs +2 -2
  75. package/esm2022/core/extension/add-action-bar-item.mjs +38 -0
  76. package/esm2022/core/extension/add-nav-menu-item.mjs +79 -0
  77. package/esm2022/core/extension/components/angular-route.component.mjs +22 -0
  78. package/esm2022/core/extension/components/route.component.mjs +59 -0
  79. package/esm2022/core/extension/providers/page-metadata.service.mjs +20 -0
  80. package/esm2022/core/extension/register-bulk-action.mjs +63 -0
  81. package/esm2022/core/extension/register-custom-detail-component.mjs +20 -0
  82. package/esm2022/core/extension/register-dashboard-widget.mjs +36 -0
  83. package/esm2022/core/extension/register-data-table-component.mjs +50 -0
  84. package/esm2022/core/extension/register-form-input-component.mjs +60 -0
  85. package/esm2022/core/extension/register-history-entry-component.mjs +21 -0
  86. package/esm2022/core/extension/register-route-component.mjs +44 -0
  87. package/esm2022/core/extension/types.mjs +2 -0
  88. package/esm2022/core/providers/component-registry/component-registry.service.mjs +3 -3
  89. package/esm2022/core/providers/custom-detail-component/custom-detail-component-types.mjs +1 -1
  90. package/esm2022/core/providers/custom-detail-component/custom-detail-component.service.mjs +2 -19
  91. package/esm2022/core/providers/custom-history-entry-component/history-entry-component.service.mjs +2 -20
  92. package/esm2022/core/providers/dashboard-widget/dashboard-widget-types.mjs +1 -1
  93. package/esm2022/core/providers/data-table/data-table-filter-collection.mjs +1 -8
  94. package/esm2022/core/providers/data-table/data-table-filter.mjs +1 -1
  95. package/esm2022/core/providers/modal/modal.service.mjs +5 -7
  96. package/esm2022/core/providers/nav-builder/nav-builder.service.mjs +2 -113
  97. package/esm2022/core/public_api.mjs +17 -4
  98. package/esm2022/core/shared/components/action-bar-items/action-bar-items.component.mjs +3 -3
  99. package/esm2022/core/shared/components/asset-gallery/asset-gallery.component.mjs +3 -3
  100. package/esm2022/core/shared/components/card/card.component.mjs +3 -3
  101. package/esm2022/core/shared/components/chip/chip.component.mjs +2 -2
  102. package/esm2022/core/shared/components/custom-detail-component-host/custom-detail-component-host.component.mjs +13 -9
  103. package/esm2022/core/shared/components/data-table-2/data-table-column.component.mjs +5 -6
  104. package/esm2022/core/shared/components/data-table-2/data-table-custom-component.service.mjs +26 -0
  105. package/esm2022/core/shared/components/data-table-2/data-table-custom-field-column.component.mjs +2 -4
  106. package/esm2022/core/shared/components/data-table-2/data-table2.component.mjs +23 -10
  107. package/esm2022/core/shared/components/data-table-filter-label/data-table-filter-label.component.mjs +3 -3
  108. package/esm2022/core/shared/components/data-table-filter-presets/add-filter-preset-button.component.mjs +2 -2
  109. package/esm2022/core/shared/components/data-table-filter-presets/data-table-filter-presets.component.mjs +3 -3
  110. package/esm2022/core/shared/components/data-table-filter-presets/filter-preset.service.mjs +1 -1
  111. package/esm2022/core/shared/components/data-table-filter-presets/rename-filter-preset-dialog.component.mjs +3 -3
  112. package/esm2022/core/shared/components/data-table-filters/data-table-filters.component.mjs +6 -4
  113. package/esm2022/core/shared/components/facet-value-chip/facet-value-chip.component.mjs +2 -2
  114. package/esm2022/core/shared/components/modal-dialog/dialog-component-outlet.component.mjs +6 -8
  115. package/esm2022/core/shared/components/page-title/page-title.component.mjs +3 -3
  116. package/esm2022/core/shared/components/rich-text-editor/rich-text-editor.component.mjs +2 -2
  117. package/esm2022/core/shared/components/tabbed-custom-fields/tabbed-custom-fields.component.mjs +2 -2
  118. package/esm2022/core/shared/components/ui-extension-point/ui-extension-point.component.mjs +97 -5
  119. package/esm2022/core/shared/dynamic-form-inputs/default-form-inputs.mjs +44 -0
  120. package/esm2022/core/shared/dynamic-form-inputs/dynamic-form-input/dynamic-form-input.component.mjs +20 -16
  121. package/esm2022/core/shared/shared.module.mjs +14 -13
  122. package/esm2022/customer/components/customer-detail/customer-detail.component.mjs +5 -5
  123. package/esm2022/customer/components/customer-group-detail/customer-group-detail.component.mjs +3 -3
  124. package/esm2022/customer/components/customer-group-detail-dialog/customer-group-detail-dialog.component.mjs +3 -2
  125. package/esm2022/customer/components/customer-group-list/customer-group-list.component.mjs +3 -3
  126. package/esm2022/customer/components/customer-group-member-list/customer-group-member-list.component.mjs +3 -3
  127. package/esm2022/customer/components/customer-history/customer-history-entry-host.component.mjs +5 -7
  128. package/esm2022/customer/components/customer-list/customer-list.component.mjs +10 -7
  129. package/esm2022/dashboard/components/dashboard-widget/dashboard-widget.component.mjs +4 -7
  130. package/esm2022/dashboard/widgets/latest-orders-widget/latest-orders-widget.component.mjs +3 -3
  131. package/esm2022/marketing/components/promotion-detail/promotion-detail.component.mjs +3 -3
  132. package/esm2022/marketing/components/promotion-list/promotion-list.component.mjs +3 -3
  133. package/esm2022/order/components/order-data-table/order-data-table.component.mjs +2 -2
  134. package/esm2022/order/components/order-detail/order-detail.component.mjs +3 -3
  135. package/esm2022/order/components/order-history/order-history-entry-host.component.mjs +7 -9
  136. package/esm2022/order/components/order-list/order-list.component.mjs +3 -3
  137. package/esm2022/order/components/order-table/order-table.component.mjs +3 -3
  138. package/esm2022/react/components/react-custom-column.component.mjs +25 -0
  139. package/esm2022/react/components/react-custom-detail.component.mjs +23 -0
  140. package/esm2022/react/components/react-form-input.component.mjs +24 -0
  141. package/esm2022/react/components/react-route.component.mjs +26 -0
  142. package/esm2022/react/directives/react-component-host.directive.mjs +54 -0
  143. package/esm2022/react/public_api.mjs +19 -0
  144. package/esm2022/react/react-components/Card.mjs +28 -0
  145. package/esm2022/react/react-components/Link.mjs +30 -0
  146. package/esm2022/react/react-hooks/use-detail-component-data.mjs +48 -0
  147. package/esm2022/react/react-hooks/use-form-control.mjs +66 -0
  148. package/esm2022/react/react-hooks/use-injector.mjs +33 -0
  149. package/esm2022/react/react-hooks/use-page-metadata.mjs +41 -0
  150. package/esm2022/react/react-hooks/use-query.mjs +124 -0
  151. package/esm2022/react/register-react-custom-detail-component.mjs +33 -0
  152. package/esm2022/react/register-react-data-table-component.mjs +62 -0
  153. package/esm2022/react/register-react-form-input-component.mjs +27 -0
  154. package/esm2022/react/register-react-route-component.mjs +25 -0
  155. package/esm2022/react/types.mjs +2 -0
  156. package/esm2022/react/vendure-admin-ui-react.mjs +5 -0
  157. package/esm2022/settings/components/admin-detail/admin-detail.component.mjs +3 -3
  158. package/esm2022/settings/components/administrator-list/administrator-list.component.mjs +3 -3
  159. package/esm2022/settings/components/channel-detail/channel-detail.component.mjs +10 -10
  160. package/esm2022/settings/components/channel-list/channel-list.component.mjs +3 -3
  161. package/esm2022/settings/components/country-detail/country-detail.component.mjs +3 -3
  162. package/esm2022/settings/components/country-list/country-list.component.mjs +3 -3
  163. package/esm2022/settings/components/global-settings/global-settings.component.mjs +3 -3
  164. package/esm2022/settings/components/payment-method-detail/payment-method-detail.component.mjs +3 -3
  165. package/esm2022/settings/components/payment-method-list/payment-method-list.component.mjs +3 -3
  166. package/esm2022/settings/components/profile/profile.component.mjs +3 -3
  167. package/esm2022/settings/components/role-list/role-list.component.mjs +3 -3
  168. package/esm2022/settings/components/seller-detail/seller-detail.component.mjs +3 -3
  169. package/esm2022/settings/components/seller-list/seller-list.component.mjs +3 -3
  170. package/esm2022/settings/components/shipping-method-detail/shipping-method-detail.component.mjs +3 -3
  171. package/esm2022/settings/components/shipping-method-list/shipping-method-list.component.mjs +3 -3
  172. package/esm2022/settings/components/tax-category-detail/tax-category-detail.component.mjs +3 -3
  173. package/esm2022/settings/components/tax-category-list/tax-category-list.component.mjs +3 -3
  174. package/esm2022/settings/components/tax-rate-detail/tax-rate-detail.component.mjs +3 -3
  175. package/esm2022/settings/components/tax-rate-list/tax-rate-list.component.mjs +3 -3
  176. package/esm2022/settings/components/zone-detail/zone-detail.component.mjs +3 -3
  177. package/esm2022/settings/components/zone-list/zone-list.component.mjs +3 -3
  178. package/esm2022/settings/components/zone-member-list/zone-member-list.component.mjs +3 -3
  179. package/esm2022/settings/settings.routes.mjs +1 -1
  180. package/esm2022/system/components/job-list/job-list.component.mjs +3 -3
  181. package/fesm2022/vendure-admin-ui-catalog.mjs +34 -31
  182. package/fesm2022/vendure-admin-ui-catalog.mjs.map +1 -1
  183. package/fesm2022/vendure-admin-ui-core.mjs +659 -346
  184. package/fesm2022/vendure-admin-ui-core.mjs.map +1 -1
  185. package/fesm2022/vendure-admin-ui-customer.mjs +19 -18
  186. package/fesm2022/vendure-admin-ui-customer.mjs.map +1 -1
  187. package/fesm2022/vendure-admin-ui-dashboard.mjs +5 -8
  188. package/fesm2022/vendure-admin-ui-dashboard.mjs.map +1 -1
  189. package/fesm2022/vendure-admin-ui-marketing.mjs +4 -4
  190. package/fesm2022/vendure-admin-ui-marketing.mjs.map +1 -1
  191. package/fesm2022/vendure-admin-ui-order.mjs +14 -16
  192. package/fesm2022/vendure-admin-ui-order.mjs.map +1 -1
  193. package/fesm2022/vendure-admin-ui-react.mjs +641 -0
  194. package/fesm2022/vendure-admin-ui-react.mjs.map +1 -0
  195. package/fesm2022/vendure-admin-ui-settings.mjs +41 -41
  196. package/fesm2022/vendure-admin-ui-settings.mjs.map +1 -1
  197. package/fesm2022/vendure-admin-ui-system.mjs +2 -2
  198. package/fesm2022/vendure-admin-ui-system.mjs.map +1 -1
  199. package/marketing/components/promotion-detail/promotion-detail.component.d.ts +3 -1
  200. package/order/components/order-detail/order-detail.component.d.ts +3 -1
  201. package/order/components/order-history/order-history-entry-host.component.d.ts +2 -3
  202. package/package.json +22 -14
  203. package/react/components/react-custom-column.component.d.ts +17 -0
  204. package/react/components/react-custom-detail.component.d.ts +24 -0
  205. package/react/components/react-form-input.component.d.ts +20 -0
  206. package/react/components/react-route.component.d.ts +10 -0
  207. package/react/directives/react-component-host.directive.d.ts +23 -0
  208. package/react/index.d.ts +5 -0
  209. package/react/public_api.d.ts +17 -0
  210. package/react/react-components/Card.d.ts +24 -0
  211. package/react/react-components/Link.d.ts +22 -0
  212. package/react/react-hooks/use-detail-component-data.d.ts +32 -0
  213. package/react/react-hooks/use-form-control.d.ts +29 -0
  214. package/react/react-hooks/use-injector.d.ts +24 -0
  215. package/react/react-hooks/use-page-metadata.d.ts +30 -0
  216. package/react/react-hooks/use-query.d.ts +92 -0
  217. package/react/register-react-custom-detail-component.d.ts +38 -0
  218. package/react/register-react-data-table-component.d.ts +81 -0
  219. package/react/register-react-form-input-component.d.ts +9 -0
  220. package/react/register-react-route-component.d.ts +26 -0
  221. package/react/types.d.ts +17 -0
  222. package/settings/components/admin-detail/admin-detail.component.d.ts +3 -1
  223. package/settings/components/channel-detail/channel-detail.component.d.ts +5 -3
  224. package/settings/components/country-detail/country-detail.component.d.ts +3 -1
  225. package/settings/components/global-settings/global-settings.component.d.ts +3 -1
  226. package/settings/components/payment-method-detail/payment-method-detail.component.d.ts +3 -1
  227. package/settings/components/profile/profile.component.d.ts +3 -1
  228. package/settings/components/seller-detail/seller-detail.component.d.ts +3 -1
  229. package/settings/components/shipping-method-detail/shipping-method-detail.component.d.ts +3 -1
  230. package/settings/components/tax-category-detail/tax-category-detail.component.d.ts +3 -1
  231. package/settings/components/tax-rate-detail/tax-rate-detail.component.d.ts +3 -1
  232. package/settings/components/zone-detail/zone-detail.component.d.ts +3 -1
  233. package/static/i18n-messages/cs.json +789 -789
  234. package/static/i18n-messages/de.json +789 -789
  235. package/static/i18n-messages/en.json +789 -789
  236. package/static/i18n-messages/es.json +789 -789
  237. package/static/i18n-messages/fr.json +789 -789
  238. package/static/i18n-messages/he.json +789 -789
  239. package/static/i18n-messages/it.json +789 -789
  240. package/static/i18n-messages/pl.json +789 -789
  241. package/static/i18n-messages/pt_BR.json +789 -789
  242. package/static/i18n-messages/pt_PT.json +789 -789
  243. package/static/i18n-messages/ru.json +789 -789
  244. package/static/i18n-messages/uk.json +789 -789
  245. package/static/i18n-messages/zh_Hans.json +789 -789
  246. package/static/i18n-messages/zh_Hant.json +789 -789
  247. package/static/styles/_mixins.scss +4 -4
  248. package/static/styles/global/_forms.scss +2 -2
  249. package/static/styles/rtl.scss +1 -1
  250. package/static/styles/theme/dark.scss +1 -16
  251. package/static/styles/theme/default.scss +1 -0
  252. package/static/theme.min.css +1 -1
  253. package/core/shared/dynamic-form-inputs/register-dynamic-input-components.d.ts +0 -64
  254. package/esm2022/core/providers/bulk-action-registry/register-bulk-action.mjs +0 -63
  255. package/esm2022/core/providers/dashboard-widget/register-dashboard-widget.mjs +0 -32
  256. package/esm2022/core/shared/dynamic-form-inputs/register-dynamic-input-components.mjs +0 -102
@@ -1,64 +0,0 @@
1
- import { FactoryProvider, Type } from '@angular/core';
2
- import { FormInputComponent } from '../../common/component-registry-types';
3
- import { HtmlEditorFormInputComponent } from './code-editor-form-input/html-editor-form-input.component';
4
- import { JsonEditorFormInputComponent } from './code-editor-form-input/json-editor-form-input.component';
5
- import { CombinationModeFormInputComponent } from './combination-mode-form-input/combination-mode-form-input.component';
6
- import { CurrencyFormInputComponent } from './currency-form-input/currency-form-input.component';
7
- import { CustomerGroupFormInputComponent } from './customer-group-form-input/customer-group-form-input.component';
8
- import { PasswordFormInputComponent } from './password-form-input/password-form-input.component';
9
- import { ProductMultiSelectorFormInputComponent } from './product-multi-selector-form-input/product-multi-selector-form-input.component';
10
- import { ProductSelectorFormInputComponent } from './product-selector-form-input/product-selector-form-input.component';
11
- import { SelectFormInputComponent } from './select-form-input/select-form-input.component';
12
- export declare const defaultFormInputs: (typeof ProductSelectorFormInputComponent | typeof CustomerGroupFormInputComponent | typeof PasswordFormInputComponent | typeof CurrencyFormInputComponent | typeof SelectFormInputComponent | typeof JsonEditorFormInputComponent | typeof HtmlEditorFormInputComponent | typeof ProductMultiSelectorFormInputComponent | typeof CombinationModeFormInputComponent)[];
13
- /**
14
- * @description
15
- * Registers a custom FormInputComponent which can be used to control the argument inputs
16
- * of a {@link ConfigurableOperationDef} (e.g. CollectionFilter, ShippingMethod etc) or for
17
- * a custom field.
18
- *
19
- * @example
20
- * ```TypeScript
21
- * \@NgModule({
22
- * imports: [SharedModule],
23
- * declarations: [MyCustomFieldControl],
24
- * providers: [
25
- * registerFormInputComponent('my-custom-input', MyCustomFieldControl),
26
- * ],
27
- * })
28
- * export class MyUiExtensionModule {}
29
- * ```
30
- *
31
- * This input component can then be used in a custom field:
32
- *
33
- * @example
34
- * ```TypeScript
35
- * const config = {
36
- * // ...
37
- * customFields: {
38
- * ProductVariant: [
39
- * {
40
- * name: 'rrp',
41
- * type: 'int',
42
- * ui: { component: 'my-custom-input' },
43
- * },
44
- * ]
45
- * }
46
- * }
47
- * ```
48
- *
49
- * or with an argument of a {@link ConfigurableOperationDef}:
50
- *
51
- * @example
52
- * ```TypeScript
53
- * args: {
54
- * rrp: { type: 'int', ui: { component: 'my-custom-input' } },
55
- * }
56
- * ```
57
- *
58
- * @docsCategory custom-input-components
59
- */
60
- export declare function registerFormInputComponent(id: string, component: Type<FormInputComponent>): FactoryProvider;
61
- /**
62
- * Registers the default form input components.
63
- */
64
- export declare function registerDefaultFormInputs(): FactoryProvider[];
@@ -1,63 +0,0 @@
1
- import { APP_INITIALIZER } from '@angular/core';
2
- import { BulkActionRegistryService } from './bulk-action-registry.service';
3
- /**
4
- * @description
5
- * Registers a custom {@link BulkAction} which can be invoked from the bulk action menu
6
- * of any supported list view.
7
- *
8
- * This allows you to provide custom functionality that can operate on any of the selected
9
- * items in the list view.
10
- *
11
- * In this example, imagine we have an integration with a 3rd-party text translation service. This
12
- * bulk action allows us to select multiple products from the product list view, and send them for
13
- * translation via a custom service which integrates with the translation service's API.
14
- *
15
- * @example
16
- * ```TypeScript
17
- * import { NgModule } from '\@angular/core';
18
- * import { ModalService, registerBulkAction, SharedModule } from '\@vendure/admin-ui/core';
19
- *
20
- * \@NgModule({
21
- * imports: [SharedModule],
22
- * providers: [
23
- * ProductDataTranslationService,
24
- * registerBulkAction({
25
- * location: 'product-list',
26
- * label: 'Send to translation service',
27
- * icon: 'language',
28
- * onClick: ({ injector, selection }) => {
29
- * const modalService = injector.get(ModalService);
30
- * const translationService = injector.get(ProductDataTranslationService);
31
- * modalService
32
- * .dialog({
33
- * title: `Send ${selection.length} products for translation?`,
34
- * buttons: [
35
- * { type: 'secondary', label: 'cancel' },
36
- * { type: 'primary', label: 'send', returnValue: true },
37
- * ],
38
- * })
39
- * .subscribe(response => {
40
- * if (response) {
41
- * translationService.sendForTranslation(selection.map(item => item.productId));
42
- * }
43
- * });
44
- * },
45
- * }),
46
- * ],
47
- * })
48
- * export class MyUiExtensionModule {}
49
- * ```
50
- * @since 1.8.0
51
- * @docsCategory bulk-actions
52
- */
53
- export function registerBulkAction(bulkAction) {
54
- return {
55
- provide: APP_INITIALIZER,
56
- multi: true,
57
- useFactory: (registry) => () => {
58
- registry.registerBulkAction(bulkAction);
59
- },
60
- deps: [BulkActionRegistryService],
61
- };
62
- }
63
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVnaXN0ZXItYnVsay1hY3Rpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvcmUvc3JjL3Byb3ZpZGVycy9idWxrLWFjdGlvbi1yZWdpc3RyeS9yZWdpc3Rlci1idWxrLWFjdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsZUFBZSxFQUFtQixNQUFNLGVBQWUsQ0FBQztBQUVqRSxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUczRTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQWlERztBQUNILE1BQU0sVUFBVSxrQkFBa0IsQ0FBQyxVQUFzQjtJQUNyRCxPQUFPO1FBQ0gsT0FBTyxFQUFFLGVBQWU7UUFDeEIsS0FBSyxFQUFFLElBQUk7UUFDWCxVQUFVLEVBQUUsQ0FBQyxRQUFtQyxFQUFFLEVBQUUsQ0FBQyxHQUFHLEVBQUU7WUFDdEQsUUFBUSxDQUFDLGtCQUFrQixDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQzVDLENBQUM7UUFDRCxJQUFJLEVBQUUsQ0FBQyx5QkFBeUIsQ0FBQztLQUNwQyxDQUFDO0FBQ04sQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFQUF9JTklUSUFMSVpFUiwgRmFjdG9yeVByb3ZpZGVyIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5pbXBvcnQgeyBCdWxrQWN0aW9uUmVnaXN0cnlTZXJ2aWNlIH0gZnJvbSAnLi9idWxrLWFjdGlvbi1yZWdpc3RyeS5zZXJ2aWNlJztcclxuaW1wb3J0IHsgQnVsa0FjdGlvbiB9IGZyb20gJy4vYnVsay1hY3Rpb24tdHlwZXMnO1xyXG5cclxuLyoqXHJcbiAqIEBkZXNjcmlwdGlvblxyXG4gKiBSZWdpc3RlcnMgYSBjdXN0b20ge0BsaW5rIEJ1bGtBY3Rpb259IHdoaWNoIGNhbiBiZSBpbnZva2VkIGZyb20gdGhlIGJ1bGsgYWN0aW9uIG1lbnVcclxuICogb2YgYW55IHN1cHBvcnRlZCBsaXN0IHZpZXcuXHJcbiAqXHJcbiAqIFRoaXMgYWxsb3dzIHlvdSB0byBwcm92aWRlIGN1c3RvbSBmdW5jdGlvbmFsaXR5IHRoYXQgY2FuIG9wZXJhdGUgb24gYW55IG9mIHRoZSBzZWxlY3RlZFxyXG4gKiBpdGVtcyBpbiB0aGUgbGlzdCB2aWV3LlxyXG4gKlxyXG4gKiBJbiB0aGlzIGV4YW1wbGUsIGltYWdpbmUgd2UgaGF2ZSBhbiBpbnRlZ3JhdGlvbiB3aXRoIGEgM3JkLXBhcnR5IHRleHQgdHJhbnNsYXRpb24gc2VydmljZS4gVGhpc1xyXG4gKiBidWxrIGFjdGlvbiBhbGxvd3MgdXMgdG8gc2VsZWN0IG11bHRpcGxlIHByb2R1Y3RzIGZyb20gdGhlIHByb2R1Y3QgbGlzdCB2aWV3LCBhbmQgc2VuZCB0aGVtIGZvclxyXG4gKiB0cmFuc2xhdGlvbiB2aWEgYSBjdXN0b20gc2VydmljZSB3aGljaCBpbnRlZ3JhdGVzIHdpdGggdGhlIHRyYW5zbGF0aW9uIHNlcnZpY2UncyBBUEkuXHJcbiAqXHJcbiAqIEBleGFtcGxlXHJcbiAqIGBgYFR5cGVTY3JpcHRcclxuICogaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdcXEBhbmd1bGFyL2NvcmUnO1xyXG4gKiBpbXBvcnQgeyBNb2RhbFNlcnZpY2UsIHJlZ2lzdGVyQnVsa0FjdGlvbiwgU2hhcmVkTW9kdWxlIH0gZnJvbSAnXFxAdmVuZHVyZS9hZG1pbi11aS9jb3JlJztcclxuICpcclxuICogXFxATmdNb2R1bGUoe1xyXG4gKiAgIGltcG9ydHM6IFtTaGFyZWRNb2R1bGVdLFxyXG4gKiAgIHByb3ZpZGVyczogW1xyXG4gKiAgICAgUHJvZHVjdERhdGFUcmFuc2xhdGlvblNlcnZpY2UsXHJcbiAqICAgICByZWdpc3RlckJ1bGtBY3Rpb24oe1xyXG4gKiAgICAgICBsb2NhdGlvbjogJ3Byb2R1Y3QtbGlzdCcsXHJcbiAqICAgICAgIGxhYmVsOiAnU2VuZCB0byB0cmFuc2xhdGlvbiBzZXJ2aWNlJyxcclxuICogICAgICAgaWNvbjogJ2xhbmd1YWdlJyxcclxuICogICAgICAgb25DbGljazogKHsgaW5qZWN0b3IsIHNlbGVjdGlvbiB9KSA9PiB7XHJcbiAqICAgICAgICAgY29uc3QgbW9kYWxTZXJ2aWNlID0gaW5qZWN0b3IuZ2V0KE1vZGFsU2VydmljZSk7XHJcbiAqICAgICAgICAgY29uc3QgdHJhbnNsYXRpb25TZXJ2aWNlID0gaW5qZWN0b3IuZ2V0KFByb2R1Y3REYXRhVHJhbnNsYXRpb25TZXJ2aWNlKTtcclxuICogICAgICAgICBtb2RhbFNlcnZpY2VcclxuICogICAgICAgICAgIC5kaWFsb2coe1xyXG4gKiAgICAgICAgICAgICB0aXRsZTogYFNlbmQgJHtzZWxlY3Rpb24ubGVuZ3RofSBwcm9kdWN0cyBmb3IgdHJhbnNsYXRpb24/YCxcclxuICogICAgICAgICAgICAgYnV0dG9uczogW1xyXG4gKiAgICAgICAgICAgICAgIHsgdHlwZTogJ3NlY29uZGFyeScsIGxhYmVsOiAnY2FuY2VsJyB9LFxyXG4gKiAgICAgICAgICAgICAgIHsgdHlwZTogJ3ByaW1hcnknLCBsYWJlbDogJ3NlbmQnLCByZXR1cm5WYWx1ZTogdHJ1ZSB9LFxyXG4gKiAgICAgICAgICAgICBdLFxyXG4gKiAgICAgICAgICAgfSlcclxuICogICAgICAgICAgIC5zdWJzY3JpYmUocmVzcG9uc2UgPT4ge1xyXG4gKiAgICAgICAgICAgICBpZiAocmVzcG9uc2UpIHtcclxuICogICAgICAgICAgICAgICB0cmFuc2xhdGlvblNlcnZpY2Uuc2VuZEZvclRyYW5zbGF0aW9uKHNlbGVjdGlvbi5tYXAoaXRlbSA9PiBpdGVtLnByb2R1Y3RJZCkpO1xyXG4gKiAgICAgICAgICAgICB9XHJcbiAqICAgICAgICAgICB9KTtcclxuICogICAgICAgfSxcclxuICogICAgIH0pLFxyXG4gKiAgIF0sXHJcbiAqIH0pXHJcbiAqIGV4cG9ydCBjbGFzcyBNeVVpRXh0ZW5zaW9uTW9kdWxlIHt9XHJcbiAqIGBgYFxyXG4gKiBAc2luY2UgMS44LjBcclxuICogQGRvY3NDYXRlZ29yeSBidWxrLWFjdGlvbnNcclxuICovXHJcbmV4cG9ydCBmdW5jdGlvbiByZWdpc3RlckJ1bGtBY3Rpb24oYnVsa0FjdGlvbjogQnVsa0FjdGlvbik6IEZhY3RvcnlQcm92aWRlciB7XHJcbiAgICByZXR1cm4ge1xyXG4gICAgICAgIHByb3ZpZGU6IEFQUF9JTklUSUFMSVpFUixcclxuICAgICAgICBtdWx0aTogdHJ1ZSxcclxuICAgICAgICB1c2VGYWN0b3J5OiAocmVnaXN0cnk6IEJ1bGtBY3Rpb25SZWdpc3RyeVNlcnZpY2UpID0+ICgpID0+IHtcclxuICAgICAgICAgICAgcmVnaXN0cnkucmVnaXN0ZXJCdWxrQWN0aW9uKGJ1bGtBY3Rpb24pO1xyXG4gICAgICAgIH0sXHJcbiAgICAgICAgZGVwczogW0J1bGtBY3Rpb25SZWdpc3RyeVNlcnZpY2VdLFxyXG4gICAgfTtcclxufVxyXG4iXX0=
@@ -1,32 +0,0 @@
1
- import { APP_INITIALIZER } from '@angular/core';
2
- import { DashboardWidgetService } from './dashboard-widget.service';
3
- /**
4
- * @description
5
- * Registers a dashboard widget. Once registered, the widget can be set as part of the default
6
- * (using {@link setDashboardWidgetLayout}).
7
- */
8
- export function registerDashboardWidget(id, config) {
9
- return {
10
- provide: APP_INITIALIZER,
11
- multi: true,
12
- useFactory: (dashboardWidgetService) => () => {
13
- dashboardWidgetService.registerWidget(id, config);
14
- },
15
- deps: [DashboardWidgetService],
16
- };
17
- }
18
- /**
19
- * @description
20
- * Sets the default widget layout for the Admin UI dashboard.
21
- */
22
- export function setDashboardWidgetLayout(layoutDef) {
23
- return {
24
- provide: APP_INITIALIZER,
25
- multi: true,
26
- useFactory: (dashboardWidgetService) => () => {
27
- dashboardWidgetService.setDefaultLayout(layoutDef);
28
- },
29
- deps: [DashboardWidgetService],
30
- };
31
- }
32
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVnaXN0ZXItZGFzaGJvYXJkLXdpZGdldC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29yZS9zcmMvcHJvdmlkZXJzL2Rhc2hib2FyZC13aWRnZXQvcmVnaXN0ZXItZGFzaGJvYXJkLXdpZGdldC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsZUFBZSxFQUFtQixNQUFNLGVBQWUsQ0FBQztBQUdqRSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUVwRTs7OztHQUlHO0FBQ0gsTUFBTSxVQUFVLHVCQUF1QixDQUFDLEVBQVUsRUFBRSxNQUE2QjtJQUM3RSxPQUFPO1FBQ0gsT0FBTyxFQUFFLGVBQWU7UUFDeEIsS0FBSyxFQUFFLElBQUk7UUFDWCxVQUFVLEVBQUUsQ0FBQyxzQkFBOEMsRUFBRSxFQUFFLENBQUMsR0FBRyxFQUFFO1lBQ2pFLHNCQUFzQixDQUFDLGNBQWMsQ0FBQyxFQUFFLEVBQUUsTUFBTSxDQUFDLENBQUM7UUFDdEQsQ0FBQztRQUNELElBQUksRUFBRSxDQUFDLHNCQUFzQixDQUFDO0tBQ2pDLENBQUM7QUFDTixDQUFDO0FBRUQ7OztHQUdHO0FBQ0gsTUFBTSxVQUFVLHdCQUF3QixDQUFDLFNBQWlDO0lBQ3RFLE9BQU87UUFDSCxPQUFPLEVBQUUsZUFBZTtRQUN4QixLQUFLLEVBQUUsSUFBSTtRQUNYLFVBQVUsRUFBRSxDQUFDLHNCQUE4QyxFQUFFLEVBQUUsQ0FBQyxHQUFHLEVBQUU7WUFDakUsc0JBQXNCLENBQUMsZ0JBQWdCLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDdkQsQ0FBQztRQUNELElBQUksRUFBRSxDQUFDLHNCQUFzQixDQUFDO0tBQ2pDLENBQUM7QUFDTixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQVBQX0lOSVRJQUxJWkVSLCBGYWN0b3J5UHJvdmlkZXIgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgRGFzaGJvYXJkV2lkZ2V0Q29uZmlnLCBXaWRnZXRMYXlvdXREZWZpbml0aW9uIH0gZnJvbSAnLi9kYXNoYm9hcmQtd2lkZ2V0LXR5cGVzJztcbmltcG9ydCB7IERhc2hib2FyZFdpZGdldFNlcnZpY2UgfSBmcm9tICcuL2Rhc2hib2FyZC13aWRnZXQuc2VydmljZSc7XG5cbi8qKlxuICogQGRlc2NyaXB0aW9uXG4gKiBSZWdpc3RlcnMgYSBkYXNoYm9hcmQgd2lkZ2V0LiBPbmNlIHJlZ2lzdGVyZWQsIHRoZSB3aWRnZXQgY2FuIGJlIHNldCBhcyBwYXJ0IG9mIHRoZSBkZWZhdWx0XG4gKiAodXNpbmcge0BsaW5rIHNldERhc2hib2FyZFdpZGdldExheW91dH0pLlxuICovXG5leHBvcnQgZnVuY3Rpb24gcmVnaXN0ZXJEYXNoYm9hcmRXaWRnZXQoaWQ6IHN0cmluZywgY29uZmlnOiBEYXNoYm9hcmRXaWRnZXRDb25maWcpOiBGYWN0b3J5UHJvdmlkZXIge1xuICAgIHJldHVybiB7XG4gICAgICAgIHByb3ZpZGU6IEFQUF9JTklUSUFMSVpFUixcbiAgICAgICAgbXVsdGk6IHRydWUsXG4gICAgICAgIHVzZUZhY3Rvcnk6IChkYXNoYm9hcmRXaWRnZXRTZXJ2aWNlOiBEYXNoYm9hcmRXaWRnZXRTZXJ2aWNlKSA9PiAoKSA9PiB7XG4gICAgICAgICAgICBkYXNoYm9hcmRXaWRnZXRTZXJ2aWNlLnJlZ2lzdGVyV2lkZ2V0KGlkLCBjb25maWcpO1xuICAgICAgICB9LFxuICAgICAgICBkZXBzOiBbRGFzaGJvYXJkV2lkZ2V0U2VydmljZV0sXG4gICAgfTtcbn1cblxuLyoqXG4gKiBAZGVzY3JpcHRpb25cbiAqIFNldHMgdGhlIGRlZmF1bHQgd2lkZ2V0IGxheW91dCBmb3IgdGhlIEFkbWluIFVJIGRhc2hib2FyZC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHNldERhc2hib2FyZFdpZGdldExheW91dChsYXlvdXREZWY6IFdpZGdldExheW91dERlZmluaXRpb24pOiBGYWN0b3J5UHJvdmlkZXIge1xuICAgIHJldHVybiB7XG4gICAgICAgIHByb3ZpZGU6IEFQUF9JTklUSUFMSVpFUixcbiAgICAgICAgbXVsdGk6IHRydWUsXG4gICAgICAgIHVzZUZhY3Rvcnk6IChkYXNoYm9hcmRXaWRnZXRTZXJ2aWNlOiBEYXNoYm9hcmRXaWRnZXRTZXJ2aWNlKSA9PiAoKSA9PiB7XG4gICAgICAgICAgICBkYXNoYm9hcmRXaWRnZXRTZXJ2aWNlLnNldERlZmF1bHRMYXlvdXQobGF5b3V0RGVmKTtcbiAgICAgICAgfSxcbiAgICAgICAgZGVwczogW0Rhc2hib2FyZFdpZGdldFNlcnZpY2VdLFxuICAgIH07XG59XG4iXX0=
@@ -1,102 +0,0 @@
1
- import { APP_INITIALIZER } from '@angular/core';
2
- import { ComponentRegistryService } from '../../providers/component-registry/component-registry.service';
3
- import { BooleanFormInputComponent } from './boolean-form-input/boolean-form-input.component';
4
- import { HtmlEditorFormInputComponent } from './code-editor-form-input/html-editor-form-input.component';
5
- import { JsonEditorFormInputComponent } from './code-editor-form-input/json-editor-form-input.component';
6
- import { CombinationModeFormInputComponent } from './combination-mode-form-input/combination-mode-form-input.component';
7
- import { CurrencyFormInputComponent } from './currency-form-input/currency-form-input.component';
8
- import { CustomerGroupFormInputComponent } from './customer-group-form-input/customer-group-form-input.component';
9
- import { DateFormInputComponent } from './date-form-input/date-form-input.component';
10
- import { FacetValueFormInputComponent } from './facet-value-form-input/facet-value-form-input.component';
11
- import { NumberFormInputComponent } from './number-form-input/number-form-input.component';
12
- import { PasswordFormInputComponent } from './password-form-input/password-form-input.component';
13
- import { ProductMultiSelectorFormInputComponent } from './product-multi-selector-form-input/product-multi-selector-form-input.component';
14
- import { ProductSelectorFormInputComponent } from './product-selector-form-input/product-selector-form-input.component';
15
- import { RelationFormInputComponent } from './relation-form-input/relation-form-input.component';
16
- import { RichTextFormInputComponent } from './rich-text-form-input/rich-text-form-input.component';
17
- import { SelectFormInputComponent } from './select-form-input/select-form-input.component';
18
- import { TextFormInputComponent } from './text-form-input/text-form-input.component';
19
- import { TextareaFormInputComponent } from './textarea-form-input/textarea-form-input.component';
20
- export const defaultFormInputs = [
21
- BooleanFormInputComponent,
22
- CurrencyFormInputComponent,
23
- DateFormInputComponent,
24
- FacetValueFormInputComponent,
25
- NumberFormInputComponent,
26
- SelectFormInputComponent,
27
- TextFormInputComponent,
28
- ProductSelectorFormInputComponent,
29
- CustomerGroupFormInputComponent,
30
- PasswordFormInputComponent,
31
- RelationFormInputComponent,
32
- TextareaFormInputComponent,
33
- RichTextFormInputComponent,
34
- JsonEditorFormInputComponent,
35
- HtmlEditorFormInputComponent,
36
- ProductMultiSelectorFormInputComponent,
37
- CombinationModeFormInputComponent,
38
- ];
39
- /**
40
- * @description
41
- * Registers a custom FormInputComponent which can be used to control the argument inputs
42
- * of a {@link ConfigurableOperationDef} (e.g. CollectionFilter, ShippingMethod etc) or for
43
- * a custom field.
44
- *
45
- * @example
46
- * ```TypeScript
47
- * \@NgModule({
48
- * imports: [SharedModule],
49
- * declarations: [MyCustomFieldControl],
50
- * providers: [
51
- * registerFormInputComponent('my-custom-input', MyCustomFieldControl),
52
- * ],
53
- * })
54
- * export class MyUiExtensionModule {}
55
- * ```
56
- *
57
- * This input component can then be used in a custom field:
58
- *
59
- * @example
60
- * ```TypeScript
61
- * const config = {
62
- * // ...
63
- * customFields: {
64
- * ProductVariant: [
65
- * {
66
- * name: 'rrp',
67
- * type: 'int',
68
- * ui: { component: 'my-custom-input' },
69
- * },
70
- * ]
71
- * }
72
- * }
73
- * ```
74
- *
75
- * or with an argument of a {@link ConfigurableOperationDef}:
76
- *
77
- * @example
78
- * ```TypeScript
79
- * args: {
80
- * rrp: { type: 'int', ui: { component: 'my-custom-input' } },
81
- * }
82
- * ```
83
- *
84
- * @docsCategory custom-input-components
85
- */
86
- export function registerFormInputComponent(id, component) {
87
- return {
88
- provide: APP_INITIALIZER,
89
- multi: true,
90
- useFactory: (registry) => () => {
91
- registry.registerInputComponent(id, component);
92
- },
93
- deps: [ComponentRegistryService],
94
- };
95
- }
96
- /**
97
- * Registers the default form input components.
98
- */
99
- export function registerDefaultFormInputs() {
100
- return defaultFormInputs.map(cmp => registerFormInputComponent(cmp.id, cmp));
101
- }
102
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVnaXN0ZXItZHluYW1pYy1pbnB1dC1jb21wb25lbnRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9jb3JlL3NyYy9zaGFyZWQvZHluYW1pYy1mb3JtLWlucHV0cy9yZWdpc3Rlci1keW5hbWljLWlucHV0LWNvbXBvbmVudHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGVBQWUsRUFBbUMsTUFBTSxlQUFlLENBQUM7QUFHakYsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sK0RBQStELENBQUM7QUFPekcsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sbURBQW1ELENBQUM7QUFDOUYsT0FBTyxFQUFFLDRCQUE0QixFQUFFLE1BQU0sMkRBQTJELENBQUM7QUFDekcsT0FBTyxFQUFFLDRCQUE0QixFQUFFLE1BQU0sMkRBQTJELENBQUM7QUFDekcsT0FBTyxFQUFFLGlDQUFpQyxFQUFFLE1BQU0scUVBQXFFLENBQUM7QUFDeEgsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0scURBQXFELENBQUM7QUFDakcsT0FBTyxFQUFFLCtCQUErQixFQUFFLE1BQU0saUVBQWlFLENBQUM7QUFDbEgsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sNkNBQTZDLENBQUM7QUFDckYsT0FBTyxFQUFFLDRCQUE0QixFQUFFLE1BQU0sMkRBQTJELENBQUM7QUFDekcsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0saURBQWlELENBQUM7QUFDM0YsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0scURBQXFELENBQUM7QUFDakcsT0FBTyxFQUFFLHNDQUFzQyxFQUFFLE1BQU0saUZBQWlGLENBQUM7QUFDekksT0FBTyxFQUFFLGlDQUFpQyxFQUFFLE1BQU0scUVBQXFFLENBQUM7QUFDeEgsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0scURBQXFELENBQUM7QUFDakcsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sdURBQXVELENBQUM7QUFDbkcsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0saURBQWlELENBQUM7QUFDM0YsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sNkNBQTZDLENBQUM7QUFDckYsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0scURBQXFELENBQUM7QUFFakcsTUFBTSxDQUFDLE1BQU0saUJBQWlCLEdBQUc7SUFDN0IseUJBQXlCO0lBQ3pCLDBCQUEwQjtJQUMxQixzQkFBc0I7SUFDdEIsNEJBQTRCO0lBQzVCLHdCQUF3QjtJQUN4Qix3QkFBd0I7SUFDeEIsc0JBQXNCO0lBQ3RCLGlDQUFpQztJQUNqQywrQkFBK0I7SUFDL0IsMEJBQTBCO0lBQzFCLDBCQUEwQjtJQUMxQiwwQkFBMEI7SUFDMUIsMEJBQTBCO0lBQzFCLDRCQUE0QjtJQUM1Qiw0QkFBNEI7SUFDNUIsc0NBQXNDO0lBQ3RDLGlDQUFpQztDQUNwQyxDQUFDO0FBRUY7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0E4Q0c7QUFDSCxNQUFNLFVBQVUsMEJBQTBCLENBQUMsRUFBVSxFQUFFLFNBQW1DO0lBQ3RGLE9BQU87UUFDSCxPQUFPLEVBQUUsZUFBZTtRQUN4QixLQUFLLEVBQUUsSUFBSTtRQUNYLFVBQVUsRUFBRSxDQUFDLFFBQWtDLEVBQUUsRUFBRSxDQUFDLEdBQUcsRUFBRTtZQUNyRCxRQUFRLENBQUMsc0JBQXNCLENBQUMsRUFBRSxFQUFFLFNBQVMsQ0FBQyxDQUFDO1FBQ25ELENBQUM7UUFDRCxJQUFJLEVBQUUsQ0FBQyx3QkFBd0IsQ0FBQztLQUNuQyxDQUFDO0FBQ04sQ0FBQztBQUVEOztHQUVHO0FBQ0gsTUFBTSxVQUFVLHlCQUF5QjtJQUNyQyxPQUFPLGlCQUFpQixDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLDBCQUEwQixDQUFDLEdBQUcsQ0FBQyxFQUFFLEVBQUUsR0FBRyxDQUFDLENBQUMsQ0FBQztBQUNqRixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQVBQX0lOSVRJQUxJWkVSLCBGYWN0b3J5UHJvdmlkZXIsIFByb3ZpZGVyLCBUeXBlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5pbXBvcnQgeyBGb3JtSW5wdXRDb21wb25lbnQgfSBmcm9tICcuLi8uLi9jb21tb24vY29tcG9uZW50LXJlZ2lzdHJ5LXR5cGVzJztcclxuaW1wb3J0IHsgQ29tcG9uZW50UmVnaXN0cnlTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vcHJvdmlkZXJzL2NvbXBvbmVudC1yZWdpc3RyeS9jb21wb25lbnQtcmVnaXN0cnkuc2VydmljZSc7XHJcbmltcG9ydCB7XHJcbiAgICBDdXN0b21GaWVsZENvbXBvbmVudFNlcnZpY2UsXHJcbiAgICBDdXN0b21GaWVsZENvbnRyb2wsXHJcbiAgICBDdXN0b21GaWVsZEVudGl0eU5hbWUsXHJcbn0gZnJvbSAnLi4vLi4vcHJvdmlkZXJzL2N1c3RvbS1maWVsZC1jb21wb25lbnQvY3VzdG9tLWZpZWxkLWNvbXBvbmVudC5zZXJ2aWNlJztcclxuXHJcbmltcG9ydCB7IEJvb2xlYW5Gb3JtSW5wdXRDb21wb25lbnQgfSBmcm9tICcuL2Jvb2xlYW4tZm9ybS1pbnB1dC9ib29sZWFuLWZvcm0taW5wdXQuY29tcG9uZW50JztcclxuaW1wb3J0IHsgSHRtbEVkaXRvckZvcm1JbnB1dENvbXBvbmVudCB9IGZyb20gJy4vY29kZS1lZGl0b3ItZm9ybS1pbnB1dC9odG1sLWVkaXRvci1mb3JtLWlucHV0LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEpzb25FZGl0b3JGb3JtSW5wdXRDb21wb25lbnQgfSBmcm9tICcuL2NvZGUtZWRpdG9yLWZvcm0taW5wdXQvanNvbi1lZGl0b3ItZm9ybS1pbnB1dC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBDb21iaW5hdGlvbk1vZGVGb3JtSW5wdXRDb21wb25lbnQgfSBmcm9tICcuL2NvbWJpbmF0aW9uLW1vZGUtZm9ybS1pbnB1dC9jb21iaW5hdGlvbi1tb2RlLWZvcm0taW5wdXQuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQ3VycmVuY3lGb3JtSW5wdXRDb21wb25lbnQgfSBmcm9tICcuL2N1cnJlbmN5LWZvcm0taW5wdXQvY3VycmVuY3ktZm9ybS1pbnB1dC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBDdXN0b21lckdyb3VwRm9ybUlucHV0Q29tcG9uZW50IH0gZnJvbSAnLi9jdXN0b21lci1ncm91cC1mb3JtLWlucHV0L2N1c3RvbWVyLWdyb3VwLWZvcm0taW5wdXQuY29tcG9uZW50JztcclxuaW1wb3J0IHsgRGF0ZUZvcm1JbnB1dENvbXBvbmVudCB9IGZyb20gJy4vZGF0ZS1mb3JtLWlucHV0L2RhdGUtZm9ybS1pbnB1dC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBGYWNldFZhbHVlRm9ybUlucHV0Q29tcG9uZW50IH0gZnJvbSAnLi9mYWNldC12YWx1ZS1mb3JtLWlucHV0L2ZhY2V0LXZhbHVlLWZvcm0taW5wdXQuY29tcG9uZW50JztcclxuaW1wb3J0IHsgTnVtYmVyRm9ybUlucHV0Q29tcG9uZW50IH0gZnJvbSAnLi9udW1iZXItZm9ybS1pbnB1dC9udW1iZXItZm9ybS1pbnB1dC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBQYXNzd29yZEZvcm1JbnB1dENvbXBvbmVudCB9IGZyb20gJy4vcGFzc3dvcmQtZm9ybS1pbnB1dC9wYXNzd29yZC1mb3JtLWlucHV0LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFByb2R1Y3RNdWx0aVNlbGVjdG9yRm9ybUlucHV0Q29tcG9uZW50IH0gZnJvbSAnLi9wcm9kdWN0LW11bHRpLXNlbGVjdG9yLWZvcm0taW5wdXQvcHJvZHVjdC1tdWx0aS1zZWxlY3Rvci1mb3JtLWlucHV0LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFByb2R1Y3RTZWxlY3RvckZvcm1JbnB1dENvbXBvbmVudCB9IGZyb20gJy4vcHJvZHVjdC1zZWxlY3Rvci1mb3JtLWlucHV0L3Byb2R1Y3Qtc2VsZWN0b3ItZm9ybS1pbnB1dC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBSZWxhdGlvbkZvcm1JbnB1dENvbXBvbmVudCB9IGZyb20gJy4vcmVsYXRpb24tZm9ybS1pbnB1dC9yZWxhdGlvbi1mb3JtLWlucHV0LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFJpY2hUZXh0Rm9ybUlucHV0Q29tcG9uZW50IH0gZnJvbSAnLi9yaWNoLXRleHQtZm9ybS1pbnB1dC9yaWNoLXRleHQtZm9ybS1pbnB1dC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBTZWxlY3RGb3JtSW5wdXRDb21wb25lbnQgfSBmcm9tICcuL3NlbGVjdC1mb3JtLWlucHV0L3NlbGVjdC1mb3JtLWlucHV0LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFRleHRGb3JtSW5wdXRDb21wb25lbnQgfSBmcm9tICcuL3RleHQtZm9ybS1pbnB1dC90ZXh0LWZvcm0taW5wdXQuY29tcG9uZW50JztcclxuaW1wb3J0IHsgVGV4dGFyZWFGb3JtSW5wdXRDb21wb25lbnQgfSBmcm9tICcuL3RleHRhcmVhLWZvcm0taW5wdXQvdGV4dGFyZWEtZm9ybS1pbnB1dC5jb21wb25lbnQnO1xyXG5cclxuZXhwb3J0IGNvbnN0IGRlZmF1bHRGb3JtSW5wdXRzID0gW1xyXG4gICAgQm9vbGVhbkZvcm1JbnB1dENvbXBvbmVudCxcclxuICAgIEN1cnJlbmN5Rm9ybUlucHV0Q29tcG9uZW50LFxyXG4gICAgRGF0ZUZvcm1JbnB1dENvbXBvbmVudCxcclxuICAgIEZhY2V0VmFsdWVGb3JtSW5wdXRDb21wb25lbnQsXHJcbiAgICBOdW1iZXJGb3JtSW5wdXRDb21wb25lbnQsXHJcbiAgICBTZWxlY3RGb3JtSW5wdXRDb21wb25lbnQsXHJcbiAgICBUZXh0Rm9ybUlucHV0Q29tcG9uZW50LFxyXG4gICAgUHJvZHVjdFNlbGVjdG9yRm9ybUlucHV0Q29tcG9uZW50LFxyXG4gICAgQ3VzdG9tZXJHcm91cEZvcm1JbnB1dENvbXBvbmVudCxcclxuICAgIFBhc3N3b3JkRm9ybUlucHV0Q29tcG9uZW50LFxyXG4gICAgUmVsYXRpb25Gb3JtSW5wdXRDb21wb25lbnQsXHJcbiAgICBUZXh0YXJlYUZvcm1JbnB1dENvbXBvbmVudCxcclxuICAgIFJpY2hUZXh0Rm9ybUlucHV0Q29tcG9uZW50LFxyXG4gICAgSnNvbkVkaXRvckZvcm1JbnB1dENvbXBvbmVudCxcclxuICAgIEh0bWxFZGl0b3JGb3JtSW5wdXRDb21wb25lbnQsXHJcbiAgICBQcm9kdWN0TXVsdGlTZWxlY3RvckZvcm1JbnB1dENvbXBvbmVudCxcclxuICAgIENvbWJpbmF0aW9uTW9kZUZvcm1JbnB1dENvbXBvbmVudCxcclxuXTtcclxuXHJcbi8qKlxyXG4gKiBAZGVzY3JpcHRpb25cclxuICogUmVnaXN0ZXJzIGEgY3VzdG9tIEZvcm1JbnB1dENvbXBvbmVudCB3aGljaCBjYW4gYmUgdXNlZCB0byBjb250cm9sIHRoZSBhcmd1bWVudCBpbnB1dHNcclxuICogb2YgYSB7QGxpbmsgQ29uZmlndXJhYmxlT3BlcmF0aW9uRGVmfSAoZS5nLiBDb2xsZWN0aW9uRmlsdGVyLCBTaGlwcGluZ01ldGhvZCBldGMpIG9yIGZvclxyXG4gKiBhIGN1c3RvbSBmaWVsZC5cclxuICpcclxuICogQGV4YW1wbGVcclxuICogYGBgVHlwZVNjcmlwdFxyXG4gKiBcXEBOZ01vZHVsZSh7XHJcbiAqICAgaW1wb3J0czogW1NoYXJlZE1vZHVsZV0sXHJcbiAqICAgZGVjbGFyYXRpb25zOiBbTXlDdXN0b21GaWVsZENvbnRyb2xdLFxyXG4gKiAgIHByb3ZpZGVyczogW1xyXG4gKiAgICAgICByZWdpc3RlckZvcm1JbnB1dENvbXBvbmVudCgnbXktY3VzdG9tLWlucHV0JywgTXlDdXN0b21GaWVsZENvbnRyb2wpLFxyXG4gKiAgIF0sXHJcbiAqIH0pXHJcbiAqIGV4cG9ydCBjbGFzcyBNeVVpRXh0ZW5zaW9uTW9kdWxlIHt9XHJcbiAqIGBgYFxyXG4gKlxyXG4gKiBUaGlzIGlucHV0IGNvbXBvbmVudCBjYW4gdGhlbiBiZSB1c2VkIGluIGEgY3VzdG9tIGZpZWxkOlxyXG4gKlxyXG4gKiBAZXhhbXBsZVxyXG4gKiBgYGBUeXBlU2NyaXB0XHJcbiAqIGNvbnN0IGNvbmZpZyA9IHtcclxuICogICAvLyAuLi5cclxuICogICBjdXN0b21GaWVsZHM6IHtcclxuICogICAgIFByb2R1Y3RWYXJpYW50OiBbXHJcbiAqICAgICAgIHtcclxuICogICAgICAgICBuYW1lOiAncnJwJyxcclxuICogICAgICAgICB0eXBlOiAnaW50JyxcclxuICogICAgICAgICB1aTogeyBjb21wb25lbnQ6ICdteS1jdXN0b20taW5wdXQnIH0sXHJcbiAqICAgICAgIH0sXHJcbiAqICAgICBdXHJcbiAqICAgfVxyXG4gKiB9XHJcbiAqIGBgYFxyXG4gKlxyXG4gKiBvciB3aXRoIGFuIGFyZ3VtZW50IG9mIGEge0BsaW5rIENvbmZpZ3VyYWJsZU9wZXJhdGlvbkRlZn06XHJcbiAqXHJcbiAqIEBleGFtcGxlXHJcbiAqIGBgYFR5cGVTY3JpcHRcclxuICogYXJnczoge1xyXG4gKiAgIHJycDogeyB0eXBlOiAnaW50JywgdWk6IHsgY29tcG9uZW50OiAnbXktY3VzdG9tLWlucHV0JyB9IH0sXHJcbiAqIH1cclxuICogYGBgXHJcbiAqXHJcbiAqIEBkb2NzQ2F0ZWdvcnkgY3VzdG9tLWlucHV0LWNvbXBvbmVudHNcclxuICovXHJcbmV4cG9ydCBmdW5jdGlvbiByZWdpc3RlckZvcm1JbnB1dENvbXBvbmVudChpZDogc3RyaW5nLCBjb21wb25lbnQ6IFR5cGU8Rm9ybUlucHV0Q29tcG9uZW50Pik6IEZhY3RvcnlQcm92aWRlciB7XHJcbiAgICByZXR1cm4ge1xyXG4gICAgICAgIHByb3ZpZGU6IEFQUF9JTklUSUFMSVpFUixcclxuICAgICAgICBtdWx0aTogdHJ1ZSxcclxuICAgICAgICB1c2VGYWN0b3J5OiAocmVnaXN0cnk6IENvbXBvbmVudFJlZ2lzdHJ5U2VydmljZSkgPT4gKCkgPT4ge1xyXG4gICAgICAgICAgICByZWdpc3RyeS5yZWdpc3RlcklucHV0Q29tcG9uZW50KGlkLCBjb21wb25lbnQpO1xyXG4gICAgICAgIH0sXHJcbiAgICAgICAgZGVwczogW0NvbXBvbmVudFJlZ2lzdHJ5U2VydmljZV0sXHJcbiAgICB9O1xyXG59XHJcblxyXG4vKipcclxuICogUmVnaXN0ZXJzIHRoZSBkZWZhdWx0IGZvcm0gaW5wdXQgY29tcG9uZW50cy5cclxuICovXHJcbmV4cG9ydCBmdW5jdGlvbiByZWdpc3RlckRlZmF1bHRGb3JtSW5wdXRzKCk6IEZhY3RvcnlQcm92aWRlcltdIHtcclxuICAgIHJldHVybiBkZWZhdWx0Rm9ybUlucHV0cy5tYXAoY21wID0+IHJlZ2lzdGVyRm9ybUlucHV0Q29tcG9uZW50KGNtcC5pZCwgY21wKSk7XHJcbn1cclxuIl19