@myparcel-dev/pdk-admin 1.14.1 → 2.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (499) hide show
  1. package/CHANGELOG.md +19 -0
  2. package/package.json +5 -5
  3. package/src/__tests__/__snapshots__/exports.spec.ts.snap +8 -1
  4. package/src/__tests__/doComponentTestTeardown.ts +2 -0
  5. package/src/__tests__/mocks/index.ts +1 -1
  6. package/src/__tests__/mocks/mockDefaultAccount.ts +1 -0
  7. package/src/__tests__/mocks/mockDefaultGlobalContext.ts +2 -2
  8. package/src/__tests__/mocks/{mockDefaultPlatform.ts → mockDefaultProposition.ts} +1 -3
  9. package/src/__tests__/mocks/mockDefaultShop.ts +1 -0
  10. package/src/__tests__/utils/getActionIds.ts +12 -0
  11. package/src/__tests__/utils/mockOrderData.ts +20 -0
  12. package/src/actions/composables/mutations/orders/useExportOrdersMutation.ts +1 -1
  13. package/src/actions/composables/queries/account/useOrderCapabilitiesQuery.ts +67 -0
  14. package/src/actions/composables/queries/account/useShipmentCapabilitiesQuery.ts +96 -0
  15. package/src/actions/definitions/orders.ts +6 -8
  16. package/src/actions/index.ts +1 -0
  17. package/src/actions/orderModeActions.spec.ts +150 -0
  18. package/src/actions/orderModeActions.ts +90 -0
  19. package/src/components/OrderBox/ShipmentOptionsBox.spec.ts +109 -0
  20. package/src/components/OrderBox/ShipmentOptionsBox.vue +9 -25
  21. package/src/components/OrderListItem/OrderModeOrderListItem.spec.ts +125 -0
  22. package/src/components/OrderListItem/OrderModeOrderListItem.vue +10 -6
  23. package/src/components/PluginSettings/PluginSettingsForms.vue +7 -4
  24. package/src/components/common/DeliveryOptionsExcerptCarrierName.vue +3 -3
  25. package/src/components/modals/ShipmentOptionsModal.spec.ts +79 -0
  26. package/src/components/modals/ShipmentOptionsModal.vue +4 -21
  27. package/src/composables/components/useToggleInputContext.ts +2 -2
  28. package/src/composables/components/useTriStateInputContext.ts +2 -2
  29. package/src/composables/context/index.ts +1 -0
  30. package/src/composables/context/useOrderMode.spec.ts +75 -0
  31. package/src/composables/context/useOrderMode.ts +26 -0
  32. package/src/composables/language/useLanguage.spec.ts +2 -2
  33. package/src/composables/shipments/useShipmentData.ts +2 -2
  34. package/src/data/index.ts +1 -0
  35. package/src/data/orderMode.spec.ts +22 -0
  36. package/src/data/orderMode.ts +50 -0
  37. package/src/forms/form-builder/builders/buildAfterUpdate.spec.ts +5 -8
  38. package/src/forms/form-builder/operations/executeOperations.spec.ts +4 -7
  39. package/src/forms/form-builder/operations/executeSetPropOperation.spec.ts +4 -7
  40. package/src/forms/form-builder/operations/executeSetValueOperation.spec.ts +3 -2
  41. package/src/forms/form-builder/utils/createValueSetter.ts +21 -8
  42. package/src/forms/helpers/addCapabilitiesClearNotification.ts +39 -0
  43. package/src/forms/helpers/getDeliveryTypes.ts +5 -10
  44. package/src/forms/helpers/getFieldLabel.ts +7 -2
  45. package/src/forms/helpers/getPackageTypes.ts +7 -12
  46. package/src/forms/helpers/index.ts +3 -10
  47. package/src/forms/helpers/useFormCapabilities.spec.ts +227 -0
  48. package/src/forms/helpers/useFormCapabilities.ts +176 -0
  49. package/src/forms/pluginSettings/createPluginSettingsForm.ts +2 -2
  50. package/src/forms/pluginSettings/filterPluginSettingsView.spec.ts +158 -0
  51. package/src/forms/pluginSettings/filterPluginSettingsView.ts +96 -0
  52. package/src/forms/pluginSettings/index.ts +1 -0
  53. package/src/forms/pluginSettings/resolveSettingsValues.spec.ts +62 -0
  54. package/src/forms/pluginSettings/resolveSettingsValues.ts +16 -0
  55. package/src/forms/shipmentOptions/createShipmentOptionsForm.spec.ts +108 -0
  56. package/src/forms/shipmentOptions/createShipmentOptionsForm.ts +114 -52
  57. package/src/forms/shipmentOptions/field.ts +6 -66
  58. package/src/forms/shipmentOptions/fieldFactoryRegistry.ts +26 -0
  59. package/src/forms/shipmentOptions/fields/createCarrierField.ts +119 -30
  60. package/src/forms/shipmentOptions/fields/createDigitalStampRangeField.ts +3 -3
  61. package/src/forms/shipmentOptions/fields/createInsuranceField.ts +43 -22
  62. package/src/forms/shipmentOptions/fields/createPackageTypeField.ts +1 -2
  63. package/src/forms/shipmentOptions/fields/createShipmentOptionField.spec.ts +177 -0
  64. package/src/forms/shipmentOptions/fields/createShipmentOptionField.ts +90 -8
  65. package/src/forms/shipmentOptions/fields/index.ts +0 -9
  66. package/src/forms/shipmentOptions/useCapabilitiesAutoClear.spec.ts +347 -0
  67. package/src/forms/shipmentOptions/useCapabilitiesAutoClear.ts +452 -0
  68. package/src/forms/shipmentOptions/useCapabilitiesWatcher.spec.ts +14 -0
  69. package/src/forms/shipmentOptions/useCapabilitiesWatcher.ts +29 -0
  70. package/src/forms/shipmentOptions/wireProxyCapabilities.spec.ts +160 -0
  71. package/src/forms/shipmentOptions/wireProxyCapabilities.ts +102 -0
  72. package/src/index.ts +2 -0
  73. package/src/pdk/instance/plugins/createRegisterComponentsPlugin.ts +2 -0
  74. package/src/sdk/composables/api/useFetchCarrier.ts +39 -4
  75. package/src/sdk/composables/usePdkAdminApi.ts +8 -3
  76. package/src/stores/useActionStore.spec.ts +101 -0
  77. package/src/stores/useActionStore.ts +4 -28
  78. package/src/stores/useQueryStore.ts +15 -0
  79. package/src/types/actions/endpoints.types.ts +2 -1
  80. package/src/types/sdk.types.ts +54 -1
  81. package/src/utils/forms/formToBody.ts +2 -1
  82. package/src/utils/forms/getEnabledValues.spec.ts +66 -0
  83. package/src/utils/forms/getEnabledValues.ts +25 -0
  84. package/src/utils/forms/index.ts +1 -0
  85. package/src/utils/translations/getDynamicTranslation.ts +1 -1
  86. package/src/views/OrderBox.vue +11 -5
  87. package/src/views/OrderListItem.spec.ts +71 -0
  88. package/src/views/OrderListItem.vue +6 -7
  89. package/dist/__tests__/doComponentTestSetup.d.ts +0 -2
  90. package/dist/__tests__/doComponentTestTeardown.d.ts +0 -1
  91. package/dist/__tests__/index.d.ts +0 -3
  92. package/dist/__tests__/mocks/index.d.ts +0 -14
  93. package/dist/__tests__/mocks/mockDefaultAccount.d.ts +0 -2
  94. package/dist/__tests__/mocks/mockDefaultAppConfig.d.ts +0 -2
  95. package/dist/__tests__/mocks/mockDefaultAppInfo.d.ts +0 -2
  96. package/dist/__tests__/mocks/mockDefaultCarriers.d.ts +0 -2
  97. package/dist/__tests__/mocks/mockDefaultConfig.d.ts +0 -2
  98. package/dist/__tests__/mocks/mockDefaultDynamicContext.d.ts +0 -2
  99. package/dist/__tests__/mocks/mockDefaultEndpoints.d.ts +0 -2
  100. package/dist/__tests__/mocks/mockDefaultGlobalContext.d.ts +0 -2
  101. package/dist/__tests__/mocks/mockDefaultLogger.d.ts +0 -1
  102. package/dist/__tests__/mocks/mockDefaultPlatform.d.ts +0 -2
  103. package/dist/__tests__/mocks/mockDefaultPluginSettings.d.ts +0 -2
  104. package/dist/__tests__/mocks/mockDefaultPrintOptionsView.d.ts +0 -2
  105. package/dist/__tests__/mocks/mockDefaultShop.d.ts +0 -2
  106. package/dist/__tests__/mocks/mockDefaultTranslations.d.ts +0 -2
  107. package/dist/actions/composables/index.d.ts +0 -2
  108. package/dist/actions/composables/mutations/account/index.d.ts +0 -2
  109. package/dist/actions/composables/mutations/account/useDeleteAccountMutation.d.ts +0 -3
  110. package/dist/actions/composables/mutations/account/useUpdateAccountMutation.d.ts +0 -3
  111. package/dist/actions/composables/mutations/debug/index.d.ts +0 -3
  112. package/dist/actions/composables/mutations/debug/useDownloadLogsMutation.d.ts +0 -3
  113. package/dist/actions/composables/mutations/debug/useSwitchToAcceptanceApiMutation.d.ts +0 -3
  114. package/dist/actions/composables/mutations/debug/useSwitchToProductionApiMutation.d.ts +0 -3
  115. package/dist/actions/composables/mutations/index.d.ts +0 -7
  116. package/dist/actions/composables/mutations/orders/index.d.ts +0 -3
  117. package/dist/actions/composables/mutations/orders/useExportOrdersMutation.d.ts +0 -5
  118. package/dist/actions/composables/mutations/orders/usePrintOrdersMutation.d.ts +0 -4
  119. package/dist/actions/composables/mutations/orders/useUpdateOrdersMutation.d.ts +0 -4
  120. package/dist/actions/composables/mutations/settings/index.d.ts +0 -2
  121. package/dist/actions/composables/mutations/settings/useUpdatePluginSettingsMutation.d.ts +0 -3
  122. package/dist/actions/composables/mutations/settings/useUpdateProductSettingsMutation.d.ts +0 -3
  123. package/dist/actions/composables/mutations/shipments/index.d.ts +0 -4
  124. package/dist/actions/composables/mutations/shipments/useDeleteShipmentsMutation.d.ts +0 -4
  125. package/dist/actions/composables/mutations/shipments/useExportReturnMutation.d.ts +0 -4
  126. package/dist/actions/composables/mutations/shipments/usePrintShipmentsMutation.d.ts +0 -4
  127. package/dist/actions/composables/mutations/shipments/useUpdateShipmentsMutation.d.ts +0 -4
  128. package/dist/actions/composables/mutations/usePdkMutation.d.ts +0 -15
  129. package/dist/actions/composables/mutations/webhooks/index.d.ts +0 -2
  130. package/dist/actions/composables/mutations/webhooks/useCreateWebhooksMutation.d.ts +0 -1
  131. package/dist/actions/composables/mutations/webhooks/useDeleteWebhooksMutation.d.ts +0 -3
  132. package/dist/actions/composables/queries/account/index.d.ts +0 -1
  133. package/dist/actions/composables/queries/account/useFetchContextQuery.d.ts +0 -3
  134. package/dist/actions/composables/queries/index.d.ts +0 -6
  135. package/dist/actions/composables/queries/orders/index.d.ts +0 -1
  136. package/dist/actions/composables/queries/orders/useFetchOrdersQuery.d.ts +0 -3
  137. package/dist/actions/composables/queries/products/index.d.ts +0 -1
  138. package/dist/actions/composables/queries/products/useFetchProductsQuery.d.ts +0 -3
  139. package/dist/actions/composables/queries/queryKeys.d.ts +0 -2
  140. package/dist/actions/composables/queries/shipments/index.d.ts +0 -1
  141. package/dist/actions/composables/queries/shipments/useFetchShipmentsQuery.d.ts +0 -4
  142. package/dist/actions/composables/queries/webhooks/index.d.ts +0 -1
  143. package/dist/actions/composables/queries/webhooks/useFetchWebhooksQuery.d.ts +0 -3
  144. package/dist/actions/defineAction.d.ts +0 -8
  145. package/dist/actions/definitions/account.d.ts +0 -13
  146. package/dist/actions/definitions/context.d.ts +0 -6
  147. package/dist/actions/definitions/debug.d.ts +0 -13
  148. package/dist/actions/definitions/index.d.ts +0 -8
  149. package/dist/actions/definitions/modal.d.ts +0 -17
  150. package/dist/actions/definitions/orders.d.ts +0 -38
  151. package/dist/actions/definitions/settings.d.ts +0 -2
  152. package/dist/actions/definitions/shipments.d.ts +0 -15
  153. package/dist/actions/definitions/webhooks.d.ts +0 -4
  154. package/dist/actions/executors/createHandlerWithParameters.d.ts +0 -5
  155. package/dist/actions/executors/createMutationHandler.d.ts +0 -3
  156. package/dist/actions/executors/createOrdersMutationHandler.d.ts +0 -2
  157. package/dist/actions/executors/createQueryHandler.d.ts +0 -3
  158. package/dist/actions/executors/createShipmentsMutationHandler.d.ts +0 -2
  159. package/dist/actions/executors/doMutate.d.ts +0 -4
  160. package/dist/actions/executors/executeAction.d.ts +0 -6
  161. package/dist/actions/executors/executeAfterHandle.d.ts +0 -3
  162. package/dist/actions/executors/executeBeforeHandle.d.ts +0 -4
  163. package/dist/actions/executors/executeHandler.d.ts +0 -3
  164. package/dist/actions/executors/executeNextAction.d.ts +0 -6
  165. package/dist/actions/executors/index.d.ts +0 -14
  166. package/dist/actions/executors/resolveOrderParameters.d.ts +0 -3
  167. package/dist/actions/executors/resolveQuerySuffix.d.ts +0 -3
  168. package/dist/actions/executors/types.d.ts +0 -19
  169. package/dist/actions/index.d.ts +0 -6
  170. package/dist/actions/print/index.d.ts +0 -3
  171. package/dist/actions/print/openOrPrintPdf.d.ts +0 -3
  172. package/dist/actions/print/resolvePrintParameters.d.ts +0 -3
  173. package/dist/actions/print/waitForLabelPrompt.d.ts +0 -3
  174. package/dist/actions/stopActionHandler.d.ts +0 -2
  175. package/dist/components/OrderBox/OrderShipmentsTable.vue.d.ts +0 -6
  176. package/dist/components/OrderBox/OrderShipmentsTableRow.vue.d.ts +0 -21
  177. package/dist/components/OrderBox/ShipmentOptionsBox.vue.d.ts +0 -2
  178. package/dist/components/OrderBox/ShipmentTableBox.vue.d.ts +0 -2
  179. package/dist/components/OrderListItem/OrderModeOrderListItem.vue.d.ts +0 -2
  180. package/dist/components/OrderListItem/ShipmentLabel.vue.d.ts +0 -15
  181. package/dist/components/OrderListItem/ShipmentModeOrderListItem.vue.d.ts +0 -2
  182. package/dist/components/PluginSettings/AccountSettings.vue.d.ts +0 -2
  183. package/dist/components/PluginSettings/DebugOptions.vue.d.ts +0 -2
  184. package/dist/components/PluginSettings/EditApiKeyForm.vue.d.ts +0 -7
  185. package/dist/components/PluginSettings/PluginSettingsForms.vue.d.ts +0 -2
  186. package/dist/components/PluginSettings/WebhooksStatus.vue.d.ts +0 -2
  187. package/dist/components/PluginSettings/createUpdateAccountSettingsValidator.d.ts +0 -4
  188. package/dist/components/common/ActionButton.vue.d.ts +0 -52
  189. package/dist/components/common/BulkSelectCheckbox.vue.d.ts +0 -22
  190. package/dist/components/common/CarrierLogo.vue.d.ts +0 -16
  191. package/dist/components/common/DateRelative.vue.d.ts +0 -16
  192. package/dist/components/common/DeliveryOptionsDeliveryType.vue.d.ts +0 -16
  193. package/dist/components/common/DeliveryOptionsExcerpt.vue.d.ts +0 -2
  194. package/dist/components/common/DeliveryOptionsExcerptCarrierName.vue.d.ts +0 -16
  195. package/dist/components/common/DeliveryOptionsPackageType.vue.d.ts +0 -16
  196. package/dist/components/common/DigitalStampWeightRange.vue.d.ts +0 -15
  197. package/dist/components/common/NotificationContainer.vue.d.ts +0 -19
  198. package/dist/components/common/PackageType.vue.d.ts +0 -16
  199. package/dist/components/common/PlainElement.d.ts +0 -2
  200. package/dist/components/common/ResetButton.vue.d.ts +0 -15
  201. package/dist/components/common/ReturnsForm.vue.d.ts +0 -14
  202. package/dist/components/common/ShipmentBarcode.vue.d.ts +0 -15
  203. package/dist/components/common/ShipmentOptionsForm.vue.d.ts +0 -16
  204. package/dist/components/common/ShipmentStatus.vue.d.ts +0 -15
  205. package/dist/components/common/StatusIndicator.vue.d.ts +0 -23
  206. package/dist/components/common/SubmitButton.vue.d.ts +0 -15
  207. package/dist/components/common/TabNavigation.vue.d.ts +0 -66
  208. package/dist/components/common/index.d.ts +0 -20
  209. package/dist/components/index.d.ts +0 -1
  210. package/dist/components/modals/PrintOptionsModal.vue.d.ts +0 -2
  211. package/dist/components/modals/PrintOptionsModalForm.vue.d.ts +0 -2
  212. package/dist/components/modals/ShipmentOptionsModal.vue.d.ts +0 -2
  213. package/dist/components/modals/ShipmentOptionsModalForm.vue.d.ts +0 -16
  214. package/dist/composables/components/index.d.ts +0 -15
  215. package/dist/composables/components/useBulkSelectCheckbox.d.ts +0 -9
  216. package/dist/composables/components/useCheckboxGroupContext.d.ts +0 -4
  217. package/dist/composables/components/useDropOffInputContext.d.ts +0 -13
  218. package/dist/composables/components/useDropdownButtonContext.d.ts +0 -15
  219. package/dist/composables/components/useElementContext.d.ts +0 -7
  220. package/dist/composables/components/useElementOptions.d.ts +0 -6
  221. package/dist/composables/components/useInputWithOptionsContext.d.ts +0 -10
  222. package/dist/composables/components/useModalElementContext.d.ts +0 -11
  223. package/dist/composables/components/useMultiSelectInputContext.d.ts +0 -4
  224. package/dist/composables/components/useRadioGroupContext.d.ts +0 -10
  225. package/dist/composables/components/useSelectInputContext.d.ts +0 -4
  226. package/dist/composables/components/useShippingMethodsInputContext.d.ts +0 -13
  227. package/dist/composables/components/useTableContext.d.ts +0 -7
  228. package/dist/composables/components/useToggleInputContext.d.ts +0 -11
  229. package/dist/composables/components/useTriStateInputContext.d.ts +0 -17
  230. package/dist/composables/context/index.d.ts +0 -7
  231. package/dist/composables/context/useAppInfo.d.ts +0 -2
  232. package/dist/composables/context/useContext.d.ts +0 -3
  233. package/dist/composables/context/useGlobalContext.d.ts +0 -2
  234. package/dist/composables/context/useInstanceContext.d.ts +0 -8
  235. package/dist/composables/context/useModalContext.d.ts +0 -11
  236. package/dist/composables/context/useModalOrder.d.ts +0 -1
  237. package/dist/composables/context/usePluginSettings.d.ts +0 -2
  238. package/dist/composables/formatter/default/createCurrencyFormat.d.ts +0 -1
  239. package/dist/composables/formatter/default/createLongDateFormat.d.ts +0 -1
  240. package/dist/composables/formatter/default/createRelativeTimeFormat.d.ts +0 -1
  241. package/dist/composables/formatter/default/defaultCurrencyFormatters.d.ts +0 -2
  242. package/dist/composables/formatter/default/defaultDateFormatters.d.ts +0 -4
  243. package/dist/composables/formatter/default/index.d.ts +0 -6
  244. package/dist/composables/formatter/default/parseDate.d.ts +0 -1
  245. package/dist/composables/formatter/formatter.types.d.ts +0 -23
  246. package/dist/composables/formatter/index.d.ts +0 -4
  247. package/dist/composables/formatter/useFormatter.d.ts +0 -2
  248. package/dist/composables/formatter/useLocalizedFormatter.d.ts +0 -2
  249. package/dist/composables/index.d.ts +0 -17
  250. package/dist/composables/language/index.d.ts +0 -4
  251. package/dist/composables/language/resolveTranslatedString.d.ts +0 -3
  252. package/dist/composables/language/resolveTranslationKey.d.ts +0 -2
  253. package/dist/composables/language/types.d.ts +0 -1
  254. package/dist/composables/language/useLanguage.d.ts +0 -23
  255. package/dist/composables/orders/index.d.ts +0 -3
  256. package/dist/composables/orders/useOrder.d.ts +0 -3
  257. package/dist/composables/orders/useOrderData.d.ts +0 -9
  258. package/dist/composables/orders/useOrdersData.d.ts +0 -3
  259. package/dist/composables/products/index.d.ts +0 -1
  260. package/dist/composables/products/useProductData.d.ts +0 -8
  261. package/dist/composables/shipments/index.d.ts +0 -3
  262. package/dist/composables/shipments/useShipment.d.ts +0 -3
  263. package/dist/composables/shipments/useShipmentData.d.ts +0 -12
  264. package/dist/composables/shipments/useShipmentsData.d.ts +0 -2
  265. package/dist/composables/useAdminConfig.d.ts +0 -2
  266. package/dist/composables/useAdminInstance.d.ts +0 -2
  267. package/dist/composables/useDigitalStampRanges.d.ts +0 -12
  268. package/dist/composables/useGlobalPdkAdmin.d.ts +0 -2
  269. package/dist/composables/useLoadMore.d.ts +0 -14
  270. package/dist/composables/useLoading.d.ts +0 -10
  271. package/dist/composables/useLogger.d.ts +0 -2
  272. package/dist/composables/useStoreContextQuery.d.ts +0 -3
  273. package/dist/composables/useStoreQuery.d.ts +0 -4
  274. package/dist/composables/useWeekdays.d.ts +0 -9
  275. package/dist/data/components.d.ts +0 -195
  276. package/dist/data/constants.d.ts +0 -63
  277. package/dist/data/endpoints.d.ts +0 -5
  278. package/dist/data/index.d.ts +0 -4
  279. package/dist/data/view.d.ts +0 -9
  280. package/dist/deprecated.d.ts +0 -6
  281. package/dist/forms/createReturnsForm.d.ts +0 -1
  282. package/dist/forms/form-builder/builders/buildAfterUpdate.d.ts +0 -3
  283. package/dist/forms/form-builder/builders/buildFormStateWatcher.d.ts +0 -3
  284. package/dist/forms/form-builder/builders/index.d.ts +0 -2
  285. package/dist/forms/form-builder/conditions/index.d.ts +0 -3
  286. package/dist/forms/form-builder/conditions/validateIfCondition.d.ts +0 -2
  287. package/dist/forms/form-builder/conditions/validateIfConditions.d.ts +0 -2
  288. package/dist/forms/form-builder/conditions/validateIsTruthy.d.ts +0 -2
  289. package/dist/forms/form-builder/index.d.ts +0 -5
  290. package/dist/forms/form-builder/operations/executeCustomOperationHandlers.d.ts +0 -2
  291. package/dist/forms/form-builder/operations/executeOperation.d.ts +0 -2
  292. package/dist/forms/form-builder/operations/executeOperations.d.ts +0 -2
  293. package/dist/forms/form-builder/operations/executeSetPropOperation.d.ts +0 -2
  294. package/dist/forms/form-builder/operations/executeSetValueOperation.d.ts +0 -2
  295. package/dist/forms/form-builder/operations/index.d.ts +0 -5
  296. package/dist/forms/form-builder/operations/parseBuilders.d.ts +0 -3
  297. package/dist/forms/form-builder/types/FormCondition.types.d.ts +0 -36
  298. package/dist/forms/form-builder/types/FormOperations.types.d.ts +0 -16
  299. package/dist/forms/form-builder/types/SubOperationBuilder.types.d.ts +0 -13
  300. package/dist/forms/form-builder/types/common.types.d.ts +0 -21
  301. package/dist/forms/form-builder/types/index.d.ts +0 -4
  302. package/dist/forms/form-builder/utils/createPropSetter.d.ts +0 -4
  303. package/dist/forms/form-builder/utils/createValueGetter.d.ts +0 -4
  304. package/dist/forms/form-builder/utils/createValueSetter.d.ts +0 -4
  305. package/dist/forms/form-builder/utils/index.d.ts +0 -4
  306. package/dist/forms/formKeys.d.ts +0 -10
  307. package/dist/forms/helpers/addBulkEditNotification.d.ts +0 -1
  308. package/dist/forms/helpers/createDefaultOption.d.ts +0 -3
  309. package/dist/forms/helpers/createHasShipmentOptionWatcher.d.ts +0 -3
  310. package/dist/forms/helpers/createLabel.d.ts +0 -1
  311. package/dist/forms/helpers/defineFormField.d.ts +0 -2
  312. package/dist/forms/helpers/getCarrier.d.ts +0 -3
  313. package/dist/forms/helpers/getDeliveryTypes.d.ts +0 -3
  314. package/dist/forms/helpers/getFieldLabel.d.ts +0 -2
  315. package/dist/forms/helpers/getFormCarrierName.d.ts +0 -2
  316. package/dist/forms/helpers/getInsuranceOptions.d.ts +0 -3
  317. package/dist/forms/helpers/getPackageTypes.d.ts +0 -3
  318. package/dist/forms/helpers/hasPostNlAgeCheck.d.ts +0 -2
  319. package/dist/forms/helpers/hasShipmentOption.d.ts +0 -3
  320. package/dist/forms/helpers/index.d.ts +0 -21
  321. package/dist/forms/helpers/isPackageTypeMailbox.d.ts +0 -2
  322. package/dist/forms/helpers/isPackageTypePackage.d.ts +0 -2
  323. package/dist/forms/helpers/isPackageTypePackageOrSmall.d.ts +0 -2
  324. package/dist/forms/helpers/isPackageTypeSmallPackage.d.ts +0 -2
  325. package/dist/forms/helpers/resolveFormComponent.d.ts +0 -3
  326. package/dist/forms/helpers/setFieldProp.d.ts +0 -8
  327. package/dist/forms/helpers/setPostNlAgeCheckSubtext.d.ts +0 -2
  328. package/dist/forms/helpers/triStateFieldIsEnabled.d.ts +0 -2
  329. package/dist/forms/helpers/updateFieldsDefaults.d.ts +0 -6
  330. package/dist/forms/index.d.ts +0 -6
  331. package/dist/forms/pluginSettings/createFormTab.d.ts +0 -3
  332. package/dist/forms/pluginSettings/createPluginSettingsForm.d.ts +0 -4
  333. package/dist/forms/pluginSettings/createPluginSettingsTabs.d.ts +0 -4
  334. package/dist/forms/pluginSettings/createPluginSettingsTabsComponent.d.ts +0 -4
  335. package/dist/forms/pluginSettings/generateFormFields.d.ts +0 -8
  336. package/dist/forms/pluginSettings/index.d.ts +0 -6
  337. package/dist/forms/pluginSettings/types.d.ts +0 -13
  338. package/dist/forms/shipmentOptions/createShipmentOptionsForm.d.ts +0 -4
  339. package/dist/forms/shipmentOptions/field.d.ts +0 -36
  340. package/dist/forms/shipmentOptions/fields/createAgeCheckField.d.ts +0 -3
  341. package/dist/forms/shipmentOptions/fields/createCarrierField.d.ts +0 -4
  342. package/dist/forms/shipmentOptions/fields/createDeliveryTypeField.d.ts +0 -3
  343. package/dist/forms/shipmentOptions/fields/createDigitalStampRangeField.d.ts +0 -4
  344. package/dist/forms/shipmentOptions/fields/createDirectReturnField.d.ts +0 -3
  345. package/dist/forms/shipmentOptions/fields/createHideSenderField.d.ts +0 -3
  346. package/dist/forms/shipmentOptions/fields/createInsuranceField.d.ts +0 -3
  347. package/dist/forms/shipmentOptions/fields/createLabelAmountField.d.ts +0 -3
  348. package/dist/forms/shipmentOptions/fields/createLargeFormatField.d.ts +0 -3
  349. package/dist/forms/shipmentOptions/fields/createOnlyRecipientField.d.ts +0 -3
  350. package/dist/forms/shipmentOptions/fields/createPackageTypeField.d.ts +0 -3
  351. package/dist/forms/shipmentOptions/fields/createPriorityDeliveryField.d.ts +0 -3
  352. package/dist/forms/shipmentOptions/fields/createReceiptCodeField.d.ts +0 -3
  353. package/dist/forms/shipmentOptions/fields/createRef.d.ts +0 -3
  354. package/dist/forms/shipmentOptions/fields/createSameDayDeliveryField.d.ts +0 -3
  355. package/dist/forms/shipmentOptions/fields/createShipmentOptionField.d.ts +0 -4
  356. package/dist/forms/shipmentOptions/fields/createSignatureField.d.ts +0 -3
  357. package/dist/forms/shipmentOptions/fields/index.d.ts +0 -15
  358. package/dist/forms/shipmentOptions/index.d.ts +0 -4
  359. package/dist/forms/shipmentOptions/types.d.ts +0 -2
  360. package/dist/index.d.ts +0 -19
  361. package/dist/pdk/PdkAdmin.d.ts +0 -18
  362. package/dist/pdk/boot.d.ts +0 -3
  363. package/dist/pdk/createAdminConfig.d.ts +0 -2
  364. package/dist/pdk/createPdkAdmin.d.ts +0 -8
  365. package/dist/pdk/createPdkAdminPlugin.d.ts +0 -3
  366. package/dist/pdk/fillShipmentsQueryData.d.ts +0 -4
  367. package/dist/pdk/index.d.ts +0 -11
  368. package/dist/pdk/instance/createInstanceContext.d.ts +0 -5
  369. package/dist/pdk/instance/createQueryClient.d.ts +0 -2
  370. package/dist/pdk/instance/index.d.ts +0 -3
  371. package/dist/pdk/instance/plugins/createContextPlugin.d.ts +0 -2
  372. package/dist/pdk/instance/plugins/createLoggerPlugin.d.ts +0 -2
  373. package/dist/pdk/instance/plugins/createRegisterComponentsPlugin.d.ts +0 -5
  374. package/dist/pdk/instance/plugins/createStorePlugin.d.ts +0 -2
  375. package/dist/pdk/instance/plugins/createVueQueryPlugin.d.ts +0 -5
  376. package/dist/pdk/instance/plugins/index.d.ts +0 -6
  377. package/dist/pdk/instance/plugins/plugins.types.d.ts +0 -3
  378. package/dist/pdk/renderMap.d.ts +0 -3
  379. package/dist/pdk/sendBootEvent.d.ts +0 -3
  380. package/dist/pdk/setupAdminApp.d.ts +0 -3
  381. package/dist/pdk/testIdDirective.d.ts +0 -5
  382. package/dist/sdk/PdkFetchClient.d.ts +0 -11
  383. package/dist/sdk/composables/api/index.d.ts +0 -1
  384. package/dist/sdk/composables/api/useFetchCarrier.d.ts +0 -2
  385. package/dist/sdk/composables/index.d.ts +0 -3
  386. package/dist/sdk/composables/useMyParcelApi.d.ts +0 -5
  387. package/dist/sdk/composables/usePdkAdminApi.d.ts +0 -6
  388. package/dist/sdk/endpoints/abstractPdkEndpoint.d.ts +0 -7
  389. package/dist/sdk/endpoints/index.d.ts +0 -1
  390. package/dist/sdk/index.d.ts +0 -3
  391. package/dist/services/actions/createAction.d.ts +0 -4
  392. package/dist/services/actions/createActionContext.d.ts +0 -3
  393. package/dist/services/actions/downloadFile.d.ts +0 -4
  394. package/dist/services/actions/getActionIdentifier.d.ts +0 -2
  395. package/dist/services/actions/index.d.ts +0 -4
  396. package/dist/services/addErrorToNotifications.d.ts +0 -2
  397. package/dist/services/context/getElementContext.d.ts +0 -2
  398. package/dist/services/context/index.d.ts +0 -1
  399. package/dist/services/createNotification.d.ts +0 -5
  400. package/dist/services/index.d.ts +0 -9
  401. package/dist/services/instantiateAction.d.ts +0 -2
  402. package/dist/services/instantiateActions.d.ts +0 -8
  403. package/dist/services/logger.d.ts +0 -19
  404. package/dist/services/mutations/getCallbackForMutationMode.d.ts +0 -4
  405. package/dist/services/mutations/getModalMutationOptions.d.ts +0 -2
  406. package/dist/services/mutations/index.d.ts +0 -3
  407. package/dist/services/mutations/mutationMode.d.ts +0 -4
  408. package/dist/services/print/index.d.ts +0 -1
  409. package/dist/services/print/openPdfInNewWindow.d.ts +0 -4
  410. package/dist/stores/createQueryCacheKey.d.ts +0 -3
  411. package/dist/stores/index.d.ts +0 -6
  412. package/dist/stores/types.d.ts +0 -13
  413. package/dist/stores/useActionStore.d.ts +0 -25
  414. package/dist/stores/useModalStore.d.ts +0 -16
  415. package/dist/stores/useNotificationStore.d.ts +0 -60
  416. package/dist/stores/useQueryStore.d.ts +0 -77
  417. package/dist/symbols.d.ts +0 -5
  418. package/dist/testing.d.ts +0 -1
  419. package/dist/types/actions/actions.types.d.ts +0 -31
  420. package/dist/types/actions/endpoints.types.d.ts +0 -9
  421. package/dist/types/actions/index.d.ts +0 -4
  422. package/dist/types/actions/parameters.types.d.ts +0 -55
  423. package/dist/types/actions/response.types.d.ts +0 -7
  424. package/dist/types/actions.types.d.ts +0 -45
  425. package/dist/types/admin.types.d.ts +0 -26
  426. package/dist/types/common.types.d.ts +0 -53
  427. package/dist/types/components-form.types.d.ts +0 -107
  428. package/dist/types/components.types.d.ts +0 -273
  429. package/dist/types/configuration.types.d.ts +0 -95
  430. package/dist/types/context.types.d.ts +0 -20
  431. package/dist/types/endpoints.types.d.ts +0 -7
  432. package/dist/types/form.types.d.ts +0 -39
  433. package/dist/types/index.d.ts +0 -12
  434. package/dist/types/language.types.d.ts +0 -9
  435. package/dist/types/sdk.types.d.ts +0 -155
  436. package/dist/utils/booleanToTriState.d.ts +0 -2
  437. package/dist/utils/convertDotNotationToObject.d.ts +0 -1
  438. package/dist/utils/createAssetUrl.d.ts +0 -1
  439. package/dist/utils/createClasses.d.ts +0 -8
  440. package/dist/utils/createObjectWithKeys.d.ts +0 -3
  441. package/dist/utils/decodeHtmlEntities.d.ts +0 -7
  442. package/dist/utils/downloadBlob.d.ts +0 -1
  443. package/dist/utils/downloadFileFromUrl.d.ts +0 -1
  444. package/dist/utils/encodeArrayParameter.d.ts +0 -2
  445. package/dist/utils/extendAdminInstance.d.ts +0 -2
  446. package/dist/utils/fakeLinkClick.d.ts +0 -4
  447. package/dist/utils/forms/createFormElement.d.ts +0 -3
  448. package/dist/utils/forms/createShipmentFormName.d.ts +0 -1
  449. package/dist/utils/forms/formToBody.d.ts +0 -2
  450. package/dist/utils/forms/generateFieldId.d.ts +0 -3
  451. package/dist/utils/forms/index.d.ts +0 -4
  452. package/dist/utils/generateLabelFilename.d.ts +0 -3
  453. package/dist/utils/getOrderId.d.ts +0 -3
  454. package/dist/utils/getOrderShipmentIds.d.ts +0 -2
  455. package/dist/utils/index.d.ts +0 -22
  456. package/dist/utils/openUrlInNewTab.d.ts +0 -1
  457. package/dist/utils/prefixComponent.d.ts +0 -3
  458. package/dist/utils/query/index.d.ts +0 -3
  459. package/dist/utils/query/setQueryData.d.ts +0 -2
  460. package/dist/utils/query/setQueryOrder.d.ts +0 -10
  461. package/dist/utils/query/setQueryShipment.d.ts +0 -3
  462. package/dist/utils/resolveCarrier.d.ts +0 -1
  463. package/dist/utils/translations/getDeliveryTypeTranslation.d.ts +0 -2
  464. package/dist/utils/translations/getDynamicTranslation.d.ts +0 -1
  465. package/dist/utils/translations/getPackageTypeTranslation.d.ts +0 -2
  466. package/dist/utils/translations/index.d.ts +0 -4
  467. package/dist/utils/translations/translateSelectOption.d.ts +0 -3
  468. package/dist/utils/triStateToBoolean.d.ts +0 -2
  469. package/dist/utils/unprefixComponent.d.ts +0 -3
  470. package/dist/utils/validateId.d.ts +0 -2
  471. package/dist/views/ChildProductSettings.vue.d.ts +0 -2
  472. package/dist/views/Modals.vue.d.ts +0 -2
  473. package/dist/views/Notifications.vue.d.ts +0 -2
  474. package/dist/views/OrderBox.vue.d.ts +0 -2
  475. package/dist/views/OrderListItem.vue.d.ts +0 -2
  476. package/dist/views/PluginSettings.vue.d.ts +0 -2
  477. package/dist/views/ProductSettings.vue.d.ts +0 -35
  478. package/dist/views/integrated/OrderBoxView.vue.d.ts +0 -12
  479. package/dist/views/integrated/OrderListItemView.vue.d.ts +0 -12
  480. package/dist/views/integrated/index.d.ts +0 -7
  481. package/src/forms/helpers/createHasShipmentOptionWatcher.ts +0 -12
  482. package/src/forms/helpers/getCarrier.ts +0 -11
  483. package/src/forms/helpers/getInsuranceOptions.ts +0 -23
  484. package/src/forms/helpers/hasPostNlAgeCheck.ts +0 -11
  485. package/src/forms/helpers/hasShipmentOption.ts +0 -8
  486. package/src/forms/helpers/isPackageTypeMailbox.ts +0 -7
  487. package/src/forms/helpers/isPackageTypePackage.ts +0 -7
  488. package/src/forms/helpers/isPackageTypePackageOrSmall.ts +0 -7
  489. package/src/forms/helpers/isPackageTypeSmallPackage.ts +0 -7
  490. package/src/forms/helpers/setPostNlAgeCheckSubtext.ts +0 -17
  491. package/src/forms/shipmentOptions/fields/createAgeCheckField.ts +0 -33
  492. package/src/forms/shipmentOptions/fields/createDirectReturnField.ts +0 -8
  493. package/src/forms/shipmentOptions/fields/createHideSenderField.ts +0 -8
  494. package/src/forms/shipmentOptions/fields/createLargeFormatField.ts +0 -8
  495. package/src/forms/shipmentOptions/fields/createOnlyRecipientField.ts +0 -21
  496. package/src/forms/shipmentOptions/fields/createPriorityDeliveryField.ts +0 -12
  497. package/src/forms/shipmentOptions/fields/createReceiptCodeField.ts +0 -21
  498. package/src/forms/shipmentOptions/fields/createSameDayDeliveryField.ts +0 -8
  499. package/src/forms/shipmentOptions/fields/createSignatureField.ts +0 -11
package/CHANGELOG.md CHANGED
@@ -2,6 +2,25 @@
2
2
 
3
3
  <!-- MONOWEAVE:BELOW -->
4
4
 
5
+ ## [2.0.0](https://github.com/myparcelnl/js-pdk/compare/@myparcel-dev/pdk-admin@1.14.2...@myparcel-dev/pdk-admin@2.0.0) "@myparcel-dev/pdk-admin" (2026-06-04)
6
+
7
+
8
+ ### ⚠ BREAKING CHANGES
9
+
10
+ * drive admin shipment options and checkout from the PDK capabilities API (#346)
11
+
12
+ ### Features
13
+
14
+ * drive admin shipment options and checkout from the PDK capabilities API ([#346](https://github.com/myparcelnl/js-pdk/issues/346)) ([f62b934](https://github.com/myparcelnl/js-pdk/commit/f62b9348d4f4316da28dbb97e4c335fc8aa9df80)), closes [myparcelnl/pdk#459](https://github.com/myparcelnl/pdk/issues/459) [myparcelnl/pdk#459](https://github.com/myparcelnl/pdk/issues/459) [myparcelnl/pdk#459](https://github.com/myparcelnl/pdk/issues/459)
15
+
16
+
17
+
18
+
19
+ ## [1.14.2](https://github.com/myparcelnl/js-pdk/compare/@myparcel-dev/pdk-admin@1.14.1...@myparcel-dev/pdk-admin@1.14.2) "@myparcel-dev/pdk-admin" (2026-05-29)
20
+
21
+
22
+
23
+
5
24
  ## [1.14.1](https://github.com/myparcelnl/js-pdk/compare/@myparcel-dev/pdk-admin@1.14.0...@myparcel-dev/pdk-admin@1.14.1) "@myparcel-dev/pdk-admin" (2026-02-16)
6
25
 
7
26
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@myparcel-dev/pdk-admin",
3
- "version": "1.14.1",
3
+ "version": "2.0.0",
4
4
  "repository": {
5
5
  "type": "git",
6
6
  "url": "https://github.com/myparcelnl/js-pdk.git",
@@ -36,9 +36,9 @@
36
36
  "typecheck": "run ws:vue:typecheck \"$(pwd)\""
37
37
  },
38
38
  "dependencies": {
39
- "@myparcel-dev/constants": "^2.7.0",
40
- "@myparcel-dev/pdk-common": "^1.12.0",
41
- "@myparcel-dev/sdk": "^5.0.0",
39
+ "@myparcel-dev/constants": "^2.9.0",
40
+ "@myparcel-dev/pdk-common": "^2.0.0",
41
+ "@myparcel-dev/sdk": "^5.1.0",
42
42
  "@myparcel-dev/vue-form-builder": "1.0.0-beta.42.6",
43
43
  "@tanstack/vue-query": "~4.43.0",
44
44
  "@vueuse/core": "^10.0.0",
@@ -47,7 +47,7 @@
47
47
  "lodash-unified": "^1.0.3",
48
48
  "pinia": "^2.0.0",
49
49
  "vite": "^5.4.10",
50
- "vue": "3.4.31",
50
+ "vue": "3.5.35",
51
51
  "vue-tsc": "^2.0.0"
52
52
  },
53
53
  "devDependencies": {
@@ -10,6 +10,7 @@ exports[`exports > exports from index.ts 1`] = `
10
10
  "AdminInstanceContextKey",
11
11
  "AdminModalKey",
12
12
  "AdminView",
13
+ "BOX_MODE_ACTIONS",
13
14
  "BackendEndpoint",
14
15
  "BulkSelectCheckbox",
15
16
  "ChildProductSettingsView",
@@ -26,13 +27,17 @@ exports[`exports > exports from index.ts 1`] = `
26
27
  "FrontendEndpoint",
27
28
  "INJECT_ADMIN_INSTANCE",
28
29
  "INJECT_GLOBAL_PDK_ADMIN",
30
+ "LIST_ITEM_MODE_ACTIONS",
29
31
  "LogLevel",
32
+ "MODAL_MODE_ACTIONS",
30
33
  "ModalsView",
31
34
  "NotificationCategory",
32
35
  "NotificationContainer",
33
36
  "NotificationsView",
37
+ "ORDER_VIEW_IN_BACKOFFICE_ID",
34
38
  "OrderBoxView",
35
39
  "OrderListItemView",
40
+ "OrderMode",
36
41
  "PackageType",
37
42
  "PdkAdmin",
38
43
  "PlainElement",
@@ -42,6 +47,7 @@ exports[`exports > exports from index.ts 1`] = `
42
47
  "QUERY_KEY_SHIPMENT",
43
48
  "ResetButton",
44
49
  "ReturnsForm",
50
+ "STORE_MODE_ACTIONS",
45
51
  "ShipmentBarcode",
46
52
  "ShipmentOptionsForm",
47
53
  "ShipmentStatus",
@@ -145,6 +151,7 @@ exports[`exports > exports from index.ts 1`] = `
145
151
  "useMultiSelectInputContext",
146
152
  "useNotificationStore",
147
153
  "useOrderData",
154
+ "useOrderMode",
148
155
  "useOrdersData",
149
156
  "usePdkMutation",
150
157
  "usePrintOrdersMutation",
@@ -186,9 +193,9 @@ exports[`exports > exports from testing.ts 1`] = `
186
193
  "mockDefaultEndpoints",
187
194
  "mockDefaultGlobalContext",
188
195
  "mockDefaultLogger",
189
- "mockDefaultPlatform",
190
196
  "mockDefaultPluginSettings",
191
197
  "mockDefaultPrintOptionsView",
198
+ "mockDefaultProposition",
192
199
  "mockDefaultShop",
193
200
  "mockDefaultTranslations",
194
201
  ]
@@ -1,6 +1,8 @@
1
+ import {vi} from 'vitest';
1
2
  import {config} from '@vue/test-utils';
2
3
 
3
4
  export const doComponentTestTeardown = (): void => {
4
5
  config.global.plugins = [];
5
6
  config.global.stubs = {};
7
+ vi.restoreAllMocks();
6
8
  };
@@ -7,7 +7,7 @@ export * from './mockDefaultDynamicContext';
7
7
  export * from './mockDefaultEndpoints';
8
8
  export * from './mockDefaultGlobalContext';
9
9
  export * from './mockDefaultLogger';
10
- export * from './mockDefaultPlatform';
10
+ export * from './mockDefaultProposition';
11
11
  export * from './mockDefaultPluginSettings';
12
12
  export * from './mockDefaultPrintOptionsView';
13
13
  export * from './mockDefaultShop';
@@ -13,6 +13,7 @@ export const mockDefaultAccount = vi.fn((): Account.ModelAccount => {
13
13
  hasCarrierContract: false,
14
14
  orderMode: false,
15
15
  },
16
+ subscriptionFeatures: [],
16
17
  shops: [mockDefaultShop()],
17
18
  };
18
19
  });
@@ -1,7 +1,7 @@
1
1
  import {vi} from 'vitest';
2
2
  import {type GlobalAdminContext} from '../../types';
3
3
  import {mockDefaultTranslations} from './mockDefaultTranslations';
4
- import {mockDefaultPlatform} from './mockDefaultPlatform';
4
+ import {mockDefaultProposition} from './mockDefaultProposition';
5
5
  import {mockDefaultEndpoints} from './mockDefaultEndpoints';
6
6
  import {mockDefaultAppInfo} from './mockDefaultAppInfo';
7
7
 
@@ -15,7 +15,7 @@ export const mockDefaultGlobalContext = vi.fn((): GlobalAdminContext => {
15
15
  eventPong: 'test2',
16
16
  language: 'en-US',
17
17
  mode: '',
18
- platform: mockDefaultPlatform(),
18
+ proposition: mockDefaultProposition(),
19
19
  translations: mockDefaultTranslations(),
20
20
  };
21
21
  });
@@ -1,11 +1,9 @@
1
1
  import {vi} from 'vitest';
2
2
  import {type GlobalAdminContext} from '../../types';
3
3
 
4
- export const mockDefaultPlatform = vi.fn((): GlobalAdminContext['platform'] => {
4
+ export const mockDefaultProposition = vi.fn((): GlobalAdminContext['proposition'] => {
5
5
  return {
6
6
  backofficeUrl: 'https://backoffice.test.myparcel.nl',
7
- defaultCarrier: 'postnl',
8
- defaultCarrierId: 1,
9
7
  human: 'Test',
10
8
  localCountry: 'NL',
11
9
  name: 'test',
@@ -16,5 +16,6 @@ export const mockDefaultShop = vi.fn((): Account.ModelShop => {
16
16
  hidden: false,
17
17
  shipmentOptions: {},
18
18
  trackTrace: {},
19
+ defaultCarrier: 'POSTNL',
19
20
  };
20
21
  });
@@ -0,0 +1,12 @@
1
+ import {type Component, type ComponentPublicInstance} from 'vue';
2
+ import {type VueWrapper} from '@vue/test-utils';
3
+
4
+ /**
5
+ * Extract action IDs from a mounted component that passes actions as props to a child stub.
6
+ */
7
+ export const getActionIds = (wrapper: VueWrapper<ComponentPublicInstance>, childComponent: Component): string[] => {
8
+ const child = wrapper.findComponent(childComponent);
9
+ const actions = child.props('actions') as {id: string}[];
10
+
11
+ return actions.map((a) => a.id);
12
+ };
@@ -0,0 +1,20 @@
1
+ import {computed, ref} from 'vue';
2
+ import {type Mock} from 'vitest';
3
+
4
+ interface MockOrderDataOptions {
5
+ exported?: boolean;
6
+ shipments?: {id: number; deleted?: boolean}[];
7
+ }
8
+
9
+ export const mockOrderData = (
10
+ mockedUseOrderData: Mock,
11
+ {exported = false, shipments = []}: MockOrderDataOptions = {},
12
+ ): void => {
13
+ const orderData = {externalIdentifier: 'TEST-1', exported, shipments};
14
+
15
+ mockedUseOrderData.mockReturnValue({
16
+ order: computed(() => orderData),
17
+ loading: computed(() => false),
18
+ query: {data: ref(orderData), isLoading: ref(false)} as any,
19
+ });
20
+ };
@@ -42,7 +42,7 @@ export const useExportOrdersMutation = (
42
42
  fillShipmentsQueryData(queryClient, order.shipments?.slice(-1) ?? [], order);
43
43
  });
44
44
 
45
- if (input.form) {
45
+ if (mode === MutationMode.Modal && input.form) {
46
46
  await input.form?.reset();
47
47
  }
48
48
  },
@@ -0,0 +1,67 @@
1
+ import {computed, type Ref} from 'vue';
2
+ import {useQuery} from '@tanstack/vue-query';
3
+ import {BackendEndpoint} from '@myparcel-dev/pdk-common';
4
+ import {type ProxyCapabilitiesBody, type ProxyCapabilitiesCall} from '../../../../types';
5
+ import {type ResolvedQuery} from '../../../../stores';
6
+ import {globalLogger} from '../../../../services';
7
+ import {usePdkAdminApi} from '../../../../sdk';
8
+
9
+ /**
10
+ * The form-facing input for {@link useOrderCapabilitiesQuery} — flat fields from the order
11
+ * context. Carrier / packageType / deliveryType are intentionally omitted: this query asks
12
+ * "what's possible for this order" across all carriers, regardless of what the user has
13
+ * currently selected on the form. The shipment-scoped query handles the chosen-combo case.
14
+ */
15
+ export type OrderCapabilitiesInput = {
16
+ cc?: string;
17
+ weight?: number;
18
+ };
19
+
20
+ /**
21
+ * Order-scoped capabilities query — fires the shared CapabilitiesAction with ONLY destination
22
+ * and weight, no carrier/packageType/deliveryType filters. Returns one entry per carrier with
23
+ * the union of `packageTypes`, `deliveryTypes`, and `options` valid for the order context.
24
+ *
25
+ * Drives the carrier / packageType / deliveryType dropdowns. Refetches only on cc / weight
26
+ * changes so option toggles and dropdown picks don't trigger needless network round-trips.
27
+ *
28
+ * Errors are logged via `globalLogger.error` so we have a breadcrumb for support, but we
29
+ * deliberately don't surface a user-facing toast — an intermittent capabilities failure
30
+ * shouldn't block the form, and the auto-clear treats the errored state as still-loading.
31
+ */
32
+ export const useOrderCapabilitiesQuery = (
33
+ input: Ref<OrderCapabilitiesInput>,
34
+ ): ResolvedQuery<BackendEndpoint.ProxyCapabilities> => {
35
+ const enabled = computed(() => Boolean(input.value.cc));
36
+ const queryKey = computed(() => [BackendEndpoint.ProxyCapabilities, 'order', input.value] as const);
37
+
38
+ return useQuery(
39
+ queryKey,
40
+ async () => {
41
+ const {cc, weight} = input.value;
42
+
43
+ if (!cc) return [];
44
+
45
+ const pdk = usePdkAdminApi();
46
+ const proxyCapabilities = pdk.proxyCapabilities as unknown as ProxyCapabilitiesCall;
47
+
48
+ const body: ProxyCapabilitiesBody = {
49
+ recipient: {countryCode: cc},
50
+ ...(weight !== undefined ? {physicalProperties: {weight: {value: weight, unit: 'g'}}} : null),
51
+ };
52
+
53
+ const response = await proxyCapabilities({body, parameters: {filterSupported: true}});
54
+
55
+ return response.results ?? [];
56
+ },
57
+ {
58
+ enabled,
59
+ refetchOnWindowFocus: false,
60
+ refetchOnMount: false,
61
+ refetchOnReconnect: false,
62
+ onError: (error) => {
63
+ globalLogger.error('order-capabilities-query', 'request failed', error);
64
+ },
65
+ },
66
+ );
67
+ };
@@ -0,0 +1,96 @@
1
+ import {computed, type Ref} from 'vue';
2
+ import {useQuery} from '@tanstack/vue-query';
3
+ import {BackendEndpoint} from '@myparcel-dev/pdk-common';
4
+ import {type ProxyCapabilitiesBody, type ProxyCapabilitiesCall} from '../../../../types';
5
+ import {type ResolvedQuery} from '../../../../stores';
6
+ import {globalLogger} from '../../../../services';
7
+ import {usePdkAdminApi} from '../../../../sdk';
8
+
9
+ /**
10
+ * The form-facing selection input — flat fields the form already has. The composable maps this
11
+ * to the actual capabilities API request body shape (`recipient`, `physicalProperties`, …) at
12
+ * the call site so consumers don't need to know the API's nesting conventions. Every field is
13
+ * optional because the form may not have all values yet; the query gates on `cc` via `enabled`
14
+ * and only fires once a destination is known. The shipment query also requires `carrier`,
15
+ * `packageType` AND `deliveryType` to be set before firing — anything less wouldn't yield
16
+ * shipment-specific metadata.
17
+ *
18
+ * `options` and `filterSupported` are intentionally not part of the selection: option toggles
19
+ * don't drive refetches (option interactions resolve client-side), and the composable always
20
+ * opts in to server-side allowlist filtering via the `filterSupported` query parameter.
21
+ */
22
+ export type CapabilitiesSelection = {
23
+ cc?: string;
24
+ weight?: number;
25
+ carrier?: string;
26
+ packageType?: string;
27
+ deliveryType?: string;
28
+ };
29
+
30
+ /**
31
+ * Shipment-scoped capabilities query — fires the shared CapabilitiesAction with the FULL
32
+ * selection (carrier + packageType + deliveryType + cc + weight) and returns the matching
33
+ * carrier entry (the one shipment configuration the user has chosen). Drives the option panel
34
+ * and acts as the invalid-combo signal: when `results` is empty, the chosen combination isn't
35
+ * valid for the order context.
36
+ *
37
+ * The selection ref is the only refetch trigger — no window-focus, mount, or reconnect refetches.
38
+ * Server-side option filtering is opted in via the `filterSupported` query parameter so admin sees
39
+ * the same option allowlist that `Carrier::attributesToArray` applies on the contract-definition
40
+ * path.
41
+ *
42
+ * Errors are logged via `globalLogger.error` so we have a breadcrumb for support, but we
43
+ * deliberately don't surface a user-facing toast — an intermittent capabilities failure
44
+ * shouldn't block the form, and the auto-clear treats the errored state as still-loading.
45
+ *
46
+ * The selection ref is accepted as `Readonly<Ref>` because callers typically pass the
47
+ * debounced ref from `refDebounced`, which is read-only — and the composable never mutates
48
+ * the selection internally.
49
+ */
50
+ export const useShipmentCapabilitiesQuery = (
51
+ selection: Readonly<Ref<CapabilitiesSelection>>,
52
+ ): ResolvedQuery<BackendEndpoint.ProxyCapabilities> => {
53
+ const enabled = computed(() =>
54
+ Boolean(
55
+ selection.value.cc && selection.value.carrier && selection.value.packageType && selection.value.deliveryType,
56
+ ),
57
+ );
58
+ const queryKey = computed(() => [BackendEndpoint.ProxyCapabilities, 'shipment', selection.value] as const);
59
+
60
+ return useQuery(
61
+ queryKey,
62
+ async () => {
63
+ const {cc, weight, carrier, packageType, deliveryType} = selection.value;
64
+
65
+ // The `enabled` gate guarantees these are all present when this runs; TypeScript can't
66
+ // see through the runtime check, so we narrow explicitly here.
67
+ if (!cc || !carrier || !packageType || !deliveryType) return [];
68
+
69
+ const pdk = usePdkAdminApi();
70
+ const proxyCapabilities = pdk.proxyCapabilities as unknown as ProxyCapabilitiesCall;
71
+
72
+ const body: ProxyCapabilitiesBody = {
73
+ recipient: {countryCode: cc},
74
+ // PDK orders carry physical-properties weight in grams (see WeightServiceInterface::UNIT_GRAMS),
75
+ // and the SDK's PhysicalPropertiesWeightV2 expects a {value, unit} object — not a primitive.
76
+ ...(weight !== undefined ? {physicalProperties: {weight: {value: weight, unit: 'g'}}} : null),
77
+ carrier,
78
+ packageType,
79
+ deliveryType,
80
+ };
81
+
82
+ const response = await proxyCapabilities({body, parameters: {filterSupported: true}});
83
+
84
+ return response.results ?? [];
85
+ },
86
+ {
87
+ enabled,
88
+ refetchOnWindowFocus: false,
89
+ refetchOnMount: false,
90
+ refetchOnReconnect: false,
91
+ onError: (error) => {
92
+ globalLogger.error('shipment-capabilities-query', 'request failed', error);
93
+ },
94
+ },
95
+ );
96
+ };
@@ -112,17 +112,15 @@ export const ordersPrintAction = defineAction({
112
112
  /**
113
113
  * Shown on orders that have been exported to MyParcel using order mode.
114
114
  */
115
+ export const ORDER_VIEW_IN_BACKOFFICE_ID = 'show-exported-order';
116
+
115
117
  export const orderViewInBackofficeAction = defineAction({
116
- id: 'show-exported-order',
118
+ id: ORDER_VIEW_IN_BACKOFFICE_ID,
117
119
  icon: AdminIcon.External,
118
120
  label: 'order_view_in_backoffice',
119
121
  handler() {
120
- const {platform} = useGlobalContext();
121
- const backofficeUrls = {
122
- NL: 'https://backoffice.myparcel.nl/orders',
123
- BE: 'https://backoffice.sendmyparcel.be/orders',
124
- };
125
- const url = backofficeUrls[platform.localCountry as 'NL' | 'BE'] || backofficeUrls['NL'];
126
- window.open(url, '_blank');
122
+ const {proposition} = useGlobalContext();
123
+ const baseUrl = proposition.backofficeUrl.replace(/\/$/, '');
124
+ window.open(`${baseUrl}/orders`, '_blank');
127
125
  },
128
126
  });
@@ -2,5 +2,6 @@ export * from './composables';
2
2
  export * from './defineAction';
3
3
  export * from './definitions';
4
4
  export * from './executors';
5
+ export * from './orderModeActions';
5
6
  export * from './print';
6
7
  export * from './stopActionHandler';
@@ -0,0 +1,150 @@
1
+ import {describe, expect, it} from 'vitest';
2
+ import {AdminAction, OrderMode} from '../data';
3
+ import {
4
+ BOX_MODE_ACTIONS,
5
+ LIST_ITEM_MODE_ACTIONS,
6
+ MODAL_MODE_ACTIONS,
7
+ ORDER_VIEW_IN_BACKOFFICE_ID,
8
+ STORE_MODE_ACTIONS,
9
+ } from './orderModeActions';
10
+
11
+ const getDefinitionIds = (actions: {name?: string; id?: string}[]): string[] =>
12
+ actions.map((a) => a.name ?? a.id ?? '');
13
+
14
+ describe('orderModeActions', () => {
15
+ describe('all mappings cover every OrderMode', () => {
16
+ const allModes = Object.values(OrderMode);
17
+
18
+ it.each([
19
+ {name: 'STORE_MODE_ACTIONS', mapping: STORE_MODE_ACTIONS},
20
+ {name: 'BOX_MODE_ACTIONS', mapping: BOX_MODE_ACTIONS},
21
+ {name: 'MODAL_MODE_ACTIONS', mapping: MODAL_MODE_ACTIONS},
22
+ {name: 'LIST_ITEM_MODE_ACTIONS', mapping: LIST_ITEM_MODE_ACTIONS},
23
+ ])('$name has an entry for every OrderMode', ({mapping}) => {
24
+ expect(Object.keys(mapping)).toEqual(expect.arrayContaining(allModes));
25
+ });
26
+ });
27
+
28
+ describe('LIST_ITEM_MODE_ACTIONS', () => {
29
+ it('includes edit and export for OrderV1', () => {
30
+ const ids = getDefinitionIds(LIST_ITEM_MODE_ACTIONS[OrderMode.OrderV1]);
31
+
32
+ expect(ids).toEqual([AdminAction.OrdersEdit, AdminAction.OrdersExport]);
33
+ });
34
+
35
+ it('includes edit and export-to-shipments for OrderV2 (hybrid)', () => {
36
+ const ids = getDefinitionIds(LIST_ITEM_MODE_ACTIONS[OrderMode.OrderV2]);
37
+
38
+ expect(ids).toEqual([AdminAction.OrdersEdit, AdminAction.OrdersExport]);
39
+ });
40
+
41
+ it('has no actions for Shipments mode', () => {
42
+ expect(LIST_ITEM_MODE_ACTIONS[OrderMode.Shipments]).toHaveLength(0);
43
+ });
44
+ });
45
+
46
+ describe('STORE_MODE_ACTIONS', () => {
47
+ it('registers export and backoffice actions for OrderV1', () => {
48
+ const ids = getDefinitionIds(STORE_MODE_ACTIONS[OrderMode.OrderV1]);
49
+
50
+ expect(ids).toContain(AdminAction.OrdersExport);
51
+ expect(ids).toContain(ORDER_VIEW_IN_BACKOFFICE_ID);
52
+ });
53
+
54
+ it('registers all shipment actions for Shipments mode', () => {
55
+ const ids = getDefinitionIds(STORE_MODE_ACTIONS[OrderMode.Shipments]);
56
+
57
+ expect(ids).toContain(AdminAction.OrdersPrint);
58
+ expect(ids).toContain(AdminAction.OrdersExport);
59
+ expect(ids).toContain(AdminAction.OrdersExportPrint);
60
+ expect(ids).toContain(AdminAction.ShipmentsExportReturn);
61
+ expect(ids).toContain(AdminAction.ShipmentsDelete);
62
+ expect(ids).toContain(AdminAction.ShipmentsUpdate);
63
+ expect(ids).toContain(AdminAction.ShipmentsPrint);
64
+ });
65
+
66
+ it('registers the full shipment action set for OrderV2 (hybrid mirrors Shipments)', () => {
67
+ const ids = getDefinitionIds(STORE_MODE_ACTIONS[OrderMode.OrderV2]);
68
+
69
+ expect(ids).toContain(AdminAction.OrdersPrint);
70
+ expect(ids).toContain(AdminAction.OrdersExport);
71
+ expect(ids).toContain(AdminAction.OrdersExportPrint);
72
+ expect(ids).toContain(AdminAction.ShipmentsExportReturn);
73
+ expect(ids).toContain(AdminAction.ShipmentsDelete);
74
+ expect(ids).toContain(AdminAction.ShipmentsUpdate);
75
+ expect(ids).toContain(AdminAction.ShipmentsPrint);
76
+ });
77
+ });
78
+
79
+ describe('BOX_MODE_ACTIONS', () => {
80
+ it('includes export for OrderV1', () => {
81
+ const ids = getDefinitionIds(BOX_MODE_ACTIONS[OrderMode.OrderV1]);
82
+
83
+ expect(ids).toEqual([AdminAction.OrdersExport]);
84
+ });
85
+
86
+ it('includes export-to-shipments, print, and export-print for Shipments', () => {
87
+ const ids = getDefinitionIds(BOX_MODE_ACTIONS[OrderMode.Shipments]);
88
+
89
+ expect(ids).toContain(AdminAction.OrdersExport);
90
+ expect(ids).toContain(AdminAction.OrdersPrint);
91
+ expect(ids).toContain(AdminAction.OrdersExportPrint);
92
+ });
93
+
94
+ it('mirrors the Shipments set for OrderV2 (hybrid)', () => {
95
+ const ids = getDefinitionIds(BOX_MODE_ACTIONS[OrderMode.OrderV2]);
96
+
97
+ expect(ids).toContain(AdminAction.OrdersExport);
98
+ expect(ids).toContain(AdminAction.OrdersPrint);
99
+ expect(ids).toContain(AdminAction.OrdersExportPrint);
100
+ });
101
+ });
102
+
103
+ describe('MODAL_MODE_ACTIONS', () => {
104
+ it('includes export for OrderV1', () => {
105
+ const ids = getDefinitionIds(MODAL_MODE_ACTIONS[OrderMode.OrderV1]);
106
+
107
+ expect(ids).toEqual([AdminAction.OrdersExport]);
108
+ });
109
+
110
+ it('includes export-to-shipments and export-print for Shipments (no standalone print)', () => {
111
+ const ids = getDefinitionIds(MODAL_MODE_ACTIONS[OrderMode.Shipments]);
112
+
113
+ expect(ids).toContain(AdminAction.OrdersExport);
114
+ expect(ids).toContain(AdminAction.OrdersExportPrint);
115
+ expect(ids).not.toContain(AdminAction.OrdersPrint);
116
+ });
117
+
118
+ it('mirrors the Shipments set for OrderV2 (hybrid)', () => {
119
+ const ids = getDefinitionIds(MODAL_MODE_ACTIONS[OrderMode.OrderV2]);
120
+
121
+ expect(ids).toContain(AdminAction.OrdersExport);
122
+ expect(ids).toContain(AdminAction.OrdersExportPrint);
123
+ expect(ids).not.toContain(AdminAction.OrdersPrint);
124
+ });
125
+ });
126
+
127
+ describe('consistency between mappings', () => {
128
+ it('BOX actions are a subset of STORE actions for each mode', () => {
129
+ for (const mode of Object.values(OrderMode)) {
130
+ const storeIds = getDefinitionIds(STORE_MODE_ACTIONS[mode]);
131
+ const boxIds = getDefinitionIds(BOX_MODE_ACTIONS[mode]);
132
+
133
+ for (const id of boxIds) {
134
+ expect(storeIds, `BOX action ${id} in ${mode} mode should also be in STORE`).toContain(id);
135
+ }
136
+ }
137
+ });
138
+
139
+ it('MODAL actions are a subset of STORE actions for each mode', () => {
140
+ for (const mode of Object.values(OrderMode)) {
141
+ const storeIds = getDefinitionIds(STORE_MODE_ACTIONS[mode]);
142
+ const modalIds = getDefinitionIds(MODAL_MODE_ACTIONS[mode]);
143
+
144
+ for (const id of modalIds) {
145
+ expect(storeIds, `MODAL action ${id} in ${mode} mode should also be in STORE`).toContain(id);
146
+ }
147
+ }
148
+ });
149
+ });
150
+ });
@@ -0,0 +1,90 @@
1
+ import {type AnyActionDefinition} from '../types';
2
+ import {OrderMode} from '../data';
3
+ import {
4
+ orderExportAction,
5
+ orderExportToShipmentsAction,
6
+ ordersEditAction,
7
+ ordersExportPrintShipmentsAction,
8
+ ordersPrintAction,
9
+ orderViewInBackofficeAction,
10
+ shipmentsDeleteAction,
11
+ shipmentsExportReturnAction,
12
+ shipmentsPrintAction,
13
+ shipmentsUpdateAction,
14
+ } from './definitions';
15
+
16
+ export {ORDER_VIEW_IN_BACKOFFICE_ID} from './definitions';
17
+
18
+ /**
19
+ * Mode-specific actions for global store registration (superset of all available actions per mode).
20
+ *
21
+ * OrderV2 currently mirrors the Shipments set so manual shipment export and the related
22
+ * actions remain available while V2 fulfilment continues externally. INT-1590 will
23
+ * make this conditional on sales-channel detection so V2 with an active sales channel
24
+ * goes back to an empty set.
25
+ */
26
+ export const STORE_MODE_ACTIONS: Record<OrderMode, AnyActionDefinition[]> = {
27
+ [OrderMode.OrderV1]: [orderExportAction, orderViewInBackofficeAction],
28
+ [OrderMode.Shipments]: [
29
+ ordersPrintAction,
30
+ orderExportToShipmentsAction,
31
+ ordersExportPrintShipmentsAction,
32
+ shipmentsExportReturnAction,
33
+ shipmentsDeleteAction,
34
+ shipmentsUpdateAction,
35
+ shipmentsPrintAction,
36
+ ],
37
+ // @TODO INT-1590: empty this array again once sales-channel detection gates V2.
38
+ [OrderMode.OrderV2]: [
39
+ ordersPrintAction,
40
+ orderExportToShipmentsAction,
41
+ ordersExportPrintShipmentsAction,
42
+ shipmentsExportReturnAction,
43
+ shipmentsDeleteAction,
44
+ shipmentsUpdateAction,
45
+ shipmentsPrintAction,
46
+ ],
47
+ };
48
+
49
+ /**
50
+ * Mode-specific actions for the ShipmentOptionsBox component.
51
+ *
52
+ * OrderV2 currently mirrors the Shipments set so the order-detail box exposes manual
53
+ * export, print and export-print actions. {@see STORE_MODE_ACTIONS} for the
54
+ * INT-1590 follow-up note.
55
+ */
56
+ export const BOX_MODE_ACTIONS: Record<OrderMode, AnyActionDefinition[]> = {
57
+ [OrderMode.OrderV1]: [orderExportAction],
58
+ [OrderMode.Shipments]: [orderExportToShipmentsAction, ordersPrintAction, ordersExportPrintShipmentsAction],
59
+ // @TODO INT-1590: empty this array again once sales-channel detection gates V2.
60
+ [OrderMode.OrderV2]: [orderExportToShipmentsAction, ordersPrintAction, ordersExportPrintShipmentsAction],
61
+ };
62
+
63
+ /**
64
+ * Mode-specific actions for the ShipmentOptionsModal component.
65
+ *
66
+ * OrderV2 currently mirrors the Shipments set so the modal exposes manual export and
67
+ * export-print actions. {@see STORE_MODE_ACTIONS} for the INT-1590 follow-up note.
68
+ */
69
+ export const MODAL_MODE_ACTIONS: Record<OrderMode, AnyActionDefinition[]> = {
70
+ [OrderMode.OrderV1]: [orderExportAction],
71
+ [OrderMode.Shipments]: [orderExportToShipmentsAction, ordersExportPrintShipmentsAction],
72
+ // @TODO INT-1590: empty this array again once sales-channel detection gates V2.
73
+ [OrderMode.OrderV2]: [orderExportToShipmentsAction, ordersExportPrintShipmentsAction],
74
+ };
75
+
76
+ /**
77
+ * Mode-specific actions rendered in the order-list-item button group.
78
+ * Shipments mode uses its own computed action logic in ShipmentModeOrderListItem.vue.
79
+ *
80
+ * OrderV2 surfaces the same edit + manual export combination as OrderV1, but routes
81
+ * export through the shipments-export action because in V2 the backend falls through
82
+ * to the shipments-export path. {@see STORE_MODE_ACTIONS} for the INT-1590 follow-up
83
+ * note.
84
+ */
85
+ export const LIST_ITEM_MODE_ACTIONS: Record<OrderMode, AnyActionDefinition[]> = {
86
+ [OrderMode.OrderV1]: [ordersEditAction, orderExportAction],
87
+ // @TODO INT-1590: drop orderExportToShipmentsAction once sales-channel detection gates V2.
88
+ [OrderMode.OrderV2]: [ordersEditAction, orderExportToShipmentsAction],
89
+ [OrderMode.Shipments]: [],
90
+ };