@medusajs/dashboard 0.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1278) hide show
  1. package/README.md +30 -0
  2. package/dist/app.js +70256 -0
  3. package/index.html +13 -0
  4. package/package.json +70 -0
  5. package/public/locales/$schema.json +315 -0
  6. package/public/locales/en-US/translation.json +1682 -0
  7. package/public/vite.svg +1 -0
  8. package/src/app.tsx +23 -0
  9. package/src/assets/fonts/Inter-Medium.ttf +0 -0
  10. package/src/assets/fonts/Inter-Regular.ttf +0 -0
  11. package/src/assets/fonts/RobotoMono-Medium.ttf +0 -0
  12. package/src/assets/fonts/RobotoMono-Regular.ttf +0 -0
  13. package/src/components/authentication/protected-route/index.ts +1 -0
  14. package/src/components/authentication/protected-route/protected-route.tsx +30 -0
  15. package/src/components/authentication/require-auth/index.ts +1 -0
  16. package/src/components/authentication/require-auth/require-auth.tsx +34 -0
  17. package/src/components/common/action-menu/action-menu.tsx +88 -0
  18. package/src/components/common/action-menu/index.ts +1 -0
  19. package/src/components/common/badge-list-summary/badge-list-summary.tsx +73 -0
  20. package/src/components/common/badge-list-summary/index.ts +1 -0
  21. package/src/components/common/chip-group/chip-group.tsx +111 -0
  22. package/src/components/common/chip-group/index.ts +1 -0
  23. package/src/components/common/conditional-tooltip/conditional-tooltip.tsx +19 -0
  24. package/src/components/common/conditional-tooltip/index.ts +1 -0
  25. package/src/components/common/customer-info/customer-info.tsx +200 -0
  26. package/src/components/common/customer-info/index.ts +1 -0
  27. package/src/components/common/date/index.ts +11 -0
  28. package/src/components/common/divider/divider.tsx +31 -0
  29. package/src/components/common/divider/index.ts +1 -0
  30. package/src/components/common/empty-table-content/empty-table-content.tsx +101 -0
  31. package/src/components/common/empty-table-content/index.ts +1 -0
  32. package/src/components/common/file-upload/file-upload.tsx +137 -0
  33. package/src/components/common/file-upload/index.ts +1 -0
  34. package/src/components/common/form/form.tsx +209 -0
  35. package/src/components/common/form/index.ts +1 -0
  36. package/src/components/common/generic-forward-ref/generic-forward-ref.tsx +7 -0
  37. package/src/components/common/generic-forward-ref/index.ts +1 -0
  38. package/src/components/common/inline-link/index.ts +1 -0
  39. package/src/components/common/inline-link/inline-link.tsx +21 -0
  40. package/src/components/common/json-view-section/index.ts +1 -0
  41. package/src/components/common/json-view-section/json-view-section.tsx +127 -0
  42. package/src/components/common/list-summary/index.ts +1 -0
  43. package/src/components/common/list-summary/list-summary.tsx +66 -0
  44. package/src/components/common/logo-box/index.ts +1 -0
  45. package/src/components/common/logo-box/logo-box.tsx +74 -0
  46. package/src/components/common/section/index.ts +1 -0
  47. package/src/components/common/section/section-row.tsx +37 -0
  48. package/src/components/common/skeleton/index.ts +1 -0
  49. package/src/components/common/skeleton/skeleton.tsx +227 -0
  50. package/src/components/common/sortable-list/index.ts +1 -0
  51. package/src/components/common/sortable-list/sortable-list.tsx +228 -0
  52. package/src/components/common/tax-badge/tax-badge.tsx +23 -0
  53. package/src/components/common/thumbnail/index.ts +1 -0
  54. package/src/components/common/thumbnail/thumbnail.tsx +22 -0
  55. package/src/components/common/user-link/index.ts +1 -0
  56. package/src/components/common/user-link/user-link.tsx +34 -0
  57. package/src/components/filtering/filter-group/filter-group.tsx +54 -0
  58. package/src/components/filtering/filter-group/index.ts +1 -0
  59. package/src/components/filtering/order-by/index.ts +1 -0
  60. package/src/components/filtering/order-by/order-by.tsx +148 -0
  61. package/src/components/filtering/query/index.ts +1 -0
  62. package/src/components/filtering/query/query.tsx +57 -0
  63. package/src/components/forms/address-form/address-form.tsx +213 -0
  64. package/src/components/forms/address-form/index.ts +1 -0
  65. package/src/components/forms/email-form/email-form.tsx +42 -0
  66. package/src/components/forms/email-form/index.ts +1 -0
  67. package/src/components/forms/metadata/index.ts +1 -0
  68. package/src/components/forms/metadata/metadata.tsx +157 -0
  69. package/src/components/forms/transfer-ownership-form/index.ts +1 -0
  70. package/src/components/forms/transfer-ownership-form/transfer-ownership-form.tsx +261 -0
  71. package/src/components/grid/constants.ts +11 -0
  72. package/src/components/grid/data-grid/data-grid-root/data-grid-root.tsx +649 -0
  73. package/src/components/grid/data-grid/data-grid-root/index.ts +1 -0
  74. package/src/components/grid/data-grid/data-grid-skeleton/data-grid-skeleton.tsx +52 -0
  75. package/src/components/grid/data-grid/data-grid-skeleton/index.ts +1 -0
  76. package/src/components/grid/data-grid/data-grid.tsx +19 -0
  77. package/src/components/grid/data-grid/index.ts +1 -0
  78. package/src/components/grid/grid-cells/common/boolean-cell/boolean-cell.tsx +23 -0
  79. package/src/components/grid/grid-cells/common/boolean-cell/index.ts +1 -0
  80. package/src/components/grid/grid-cells/common/currency-cell/currency-cell.tsx +57 -0
  81. package/src/components/grid/grid-cells/common/currency-cell/index.ts +1 -0
  82. package/src/components/grid/grid-cells/common/readonly-cell/index.ts +1 -0
  83. package/src/components/grid/grid-cells/common/readonly-cell/readonly-cell.tsx +14 -0
  84. package/src/components/grid/grid-cells/common/text-cell/index.ts +1 -0
  85. package/src/components/grid/grid-cells/common/text-cell/text-cell.tsx +24 -0
  86. package/src/components/grid/grid-cells/common/void-cell/index.ts +1 -0
  87. package/src/components/grid/grid-cells/common/void-cell/void-cell.tsx +14 -0
  88. package/src/components/grid/types.ts +11 -0
  89. package/src/components/inputs/chip-input/chip-input.tsx +187 -0
  90. package/src/components/inputs/chip-input/index.ts +1 -0
  91. package/src/components/inputs/combobox/combobox.tsx +343 -0
  92. package/src/components/inputs/combobox/index.ts +1 -0
  93. package/src/components/inputs/country-select/country-select.tsx +67 -0
  94. package/src/components/inputs/country-select/index.ts +1 -0
  95. package/src/components/inputs/handle-input/handle-input.tsx +24 -0
  96. package/src/components/inputs/handle-input/index.ts +1 -0
  97. package/src/components/inputs/percentage-input/index.ts +1 -0
  98. package/src/components/inputs/percentage-input/percentage-input.tsx +32 -0
  99. package/src/components/layout/main-layout/index.ts +1 -0
  100. package/src/components/layout/main-layout/main-layout.tsx +217 -0
  101. package/src/components/layout/nav-item/index.ts +1 -0
  102. package/src/components/layout/nav-item/nav-item.tsx +157 -0
  103. package/src/components/layout/notifications/index.ts +1 -0
  104. package/src/components/layout/notifications/notifications.tsx +40 -0
  105. package/src/components/layout/public-layout/index.ts +1 -0
  106. package/src/components/layout/public-layout/public-layout.tsx +14 -0
  107. package/src/components/layout/settings-layout/index.ts +1 -0
  108. package/src/components/layout/settings-layout/settings-layout.tsx +164 -0
  109. package/src/components/layout/shell/index.ts +1 -0
  110. package/src/components/layout/shell/shell.tsx +392 -0
  111. package/src/components/layout/split-view/index.ts +1 -0
  112. package/src/components/layout/split-view/split-view.tsx +103 -0
  113. package/src/components/localization/localized-date-picker/index.ts +1 -0
  114. package/src/components/localization/localized-date-picker/localized-date-picker.tsx +37 -0
  115. package/src/components/localization/localized-table-pagination/index.ts +1 -0
  116. package/src/components/localization/localized-table-pagination/localized-table-pagination.tsx +26 -0
  117. package/src/components/route-modal/index.ts +3 -0
  118. package/src/components/route-modal/route-drawer/index.ts +1 -0
  119. package/src/components/route-modal/route-drawer/route-drawer.tsx +59 -0
  120. package/src/components/route-modal/route-focus-modal/index.ts +1 -0
  121. package/src/components/route-modal/route-focus-modal/route-focus-modal.tsx +58 -0
  122. package/src/components/route-modal/route-form/index.ts +1 -0
  123. package/src/components/route-modal/route-form/route-form.tsx +72 -0
  124. package/src/components/route-modal/route-modal-provider/index.ts +1 -0
  125. package/src/components/route-modal/route-modal-provider/route-provider.tsx +41 -0
  126. package/src/components/search/index.ts +1 -0
  127. package/src/components/search/search.tsx +277 -0
  128. package/src/components/table/data-table/data-table-filter/context.tsx +19 -0
  129. package/src/components/table/data-table/data-table-filter/data-table-filter.tsx +287 -0
  130. package/src/components/table/data-table/data-table-filter/date-filter.tsx +357 -0
  131. package/src/components/table/data-table/data-table-filter/index.ts +1 -0
  132. package/src/components/table/data-table/data-table-filter/number-filter.tsx +372 -0
  133. package/src/components/table/data-table/data-table-filter/select-filter.tsx +262 -0
  134. package/src/components/table/data-table/data-table-filter/string-filter.tsx +188 -0
  135. package/src/components/table/data-table/data-table-filter/types.ts +8 -0
  136. package/src/components/table/data-table/data-table-order-by/data-table-order-by.tsx +157 -0
  137. package/src/components/table/data-table/data-table-order-by/index.ts +1 -0
  138. package/src/components/table/data-table/data-table-query/data-table-query.tsx +34 -0
  139. package/src/components/table/data-table/data-table-query/index.ts +1 -0
  140. package/src/components/table/data-table/data-table-root/data-table-root.tsx +332 -0
  141. package/src/components/table/data-table/data-table-root/index.ts +1 -0
  142. package/src/components/table/data-table/data-table-search/data-table-search.tsx +57 -0
  143. package/src/components/table/data-table/data-table-search/index.ts +1 -0
  144. package/src/components/table/data-table/data-table.tsx +88 -0
  145. package/src/components/table/data-table/hooks.tsx +73 -0
  146. package/src/components/table/data-table/index.ts +2 -0
  147. package/src/components/table/table-cells/common/code-cell/code-cell.tsx +26 -0
  148. package/src/components/table/table-cells/common/code-cell/index.ts +1 -0
  149. package/src/components/table/table-cells/common/created-at-cell/created-at-cell.tsx +46 -0
  150. package/src/components/table/table-cells/common/created-at-cell/index.ts +1 -0
  151. package/src/components/table/table-cells/common/date-cell/date-cell.tsx +46 -0
  152. package/src/components/table/table-cells/common/date-cell/index.ts +1 -0
  153. package/src/components/table/table-cells/common/email-cell/email-cell.tsx +28 -0
  154. package/src/components/table/table-cells/common/email-cell/index.ts +1 -0
  155. package/src/components/table/table-cells/common/money-amount-cell/index.ts +1 -0
  156. package/src/components/table/table-cells/common/money-amount-cell/money-amount-cell.tsx +38 -0
  157. package/src/components/table/table-cells/common/name-cell/index.ts +1 -0
  158. package/src/components/table/table-cells/common/name-cell/name-cell.tsx +31 -0
  159. package/src/components/table/table-cells/common/placeholder-cell/index.ts +1 -0
  160. package/src/components/table/table-cells/common/placeholder-cell/placeholder-cell.tsx +7 -0
  161. package/src/components/table/table-cells/common/status-cell/index.ts +1 -0
  162. package/src/components/table/table-cells/common/status-cell/status-cell.tsx +32 -0
  163. package/src/components/table/table-cells/common/text-cell/index.ts +1 -0
  164. package/src/components/table/table-cells/common/text-cell/text-cell.tsx +29 -0
  165. package/src/components/table/table-cells/customer/account-cell/account-cell.tsx +27 -0
  166. package/src/components/table/table-cells/customer/first-seen-cell/first-seen-cell.tsx +25 -0
  167. package/src/components/table/table-cells/customer/first-seen-cell/index.ts +1 -0
  168. package/src/components/table/table-cells/discount/code-cell/code-cell.tsx +28 -0
  169. package/src/components/table/table-cells/discount/code-cell/index.ts +1 -0
  170. package/src/components/table/table-cells/discount/description-cell/description-cell.tsx +25 -0
  171. package/src/components/table/table-cells/discount/description-cell/index.ts +1 -0
  172. package/src/components/table/table-cells/discount/redemption-cell/index.ts +1 -0
  173. package/src/components/table/table-cells/discount/redemption-cell/redemption-cell.tsx +23 -0
  174. package/src/components/table/table-cells/discount/status-cell/index.ts +1 -0
  175. package/src/components/table/table-cells/discount/status-cell/status-cell.tsx +45 -0
  176. package/src/components/table/table-cells/discount/value-cell/index.ts +1 -0
  177. package/src/components/table/table-cells/discount/value-cell/value-cell.tsx +35 -0
  178. package/src/components/table/table-cells/order/country-cell/country-cell.tsx +28 -0
  179. package/src/components/table/table-cells/order/country-cell/index.ts +1 -0
  180. package/src/components/table/table-cells/order/customer-cell/customer-cell.tsx +27 -0
  181. package/src/components/table/table-cells/order/customer-cell/index.ts +1 -0
  182. package/src/components/table/table-cells/order/display-id-cell/display-id-cell.tsx +24 -0
  183. package/src/components/table/table-cells/order/display-id-cell/index.ts +1 -0
  184. package/src/components/table/table-cells/order/fulfillment-status-cell/fulfillment-status-cell.tsx +33 -0
  185. package/src/components/table/table-cells/order/fulfillment-status-cell/index.ts +1 -0
  186. package/src/components/table/table-cells/order/payment-status-cell/index.ts +1 -0
  187. package/src/components/table/table-cells/order/payment-status-cell/payment-status-cell.tsx +29 -0
  188. package/src/components/table/table-cells/order/sales-channel-cell/index.ts +1 -0
  189. package/src/components/table/table-cells/order/sales-channel-cell/sales-channel-cell.tsx +30 -0
  190. package/src/components/table/table-cells/order/total-cell/index.ts +1 -0
  191. package/src/components/table/table-cells/order/total-cell/total-cell.tsx +28 -0
  192. package/src/components/table/table-cells/product/collection-cell/collection-cell.tsx +30 -0
  193. package/src/components/table/table-cells/product/collection-cell/index.ts +1 -0
  194. package/src/components/table/table-cells/product/product-cell/index.ts +1 -0
  195. package/src/components/table/table-cells/product/product-cell/product-cell.tsx +29 -0
  196. package/src/components/table/table-cells/product/product-status-cell/index.ts +1 -0
  197. package/src/components/table/table-cells/product/product-status-cell/product-status-cell.tsx +31 -0
  198. package/src/components/table/table-cells/product/sales-channels-cell/index.ts +1 -0
  199. package/src/components/table/table-cells/product/sales-channels-cell/sales-channels-cell.tsx +65 -0
  200. package/src/components/table/table-cells/product/variant-cell/index.ts +1 -0
  201. package/src/components/table/table-cells/product/variant-cell/variant-cell.tsx +34 -0
  202. package/src/components/table/table-cells/promotion/status-cell/index.ts +1 -0
  203. package/src/components/table/table-cells/promotion/status-cell/status-cell.tsx +28 -0
  204. package/src/components/table/table-cells/region/countries-cell/countries-cell.tsx +39 -0
  205. package/src/components/table/table-cells/region/countries-cell/index.ts +1 -0
  206. package/src/components/table/table-cells/region/fulfillment-providers-cell/fulfillment-providers-cell.tsx +49 -0
  207. package/src/components/table/table-cells/region/fulfillment-providers-cell/index.ts +1 -0
  208. package/src/components/table/table-cells/region/payment-providers-cell/index.ts +1 -0
  209. package/src/components/table/table-cells/region/payment-providers-cell/payment-providers-cell.tsx +36 -0
  210. package/src/components/table/table-cells/region/region-cell/index.ts +1 -0
  211. package/src/components/table/table-cells/region/region-cell/region-cell.tsx +23 -0
  212. package/src/components/table/table-cells/sales-channel/description-cell/description-cell.tsx +28 -0
  213. package/src/components/table/table-cells/sales-channel/description-cell/index.ts +1 -0
  214. package/src/components/table/table-cells/sales-channel/name-cell/index.ts +1 -0
  215. package/src/components/table/table-cells/sales-channel/name-cell/name-cell.tsx +28 -0
  216. package/src/components/table/table-cells/shipping-option/admin-only-cell/admin-only-cell.tsx +25 -0
  217. package/src/components/table/table-cells/shipping-option/admin-only-cell/index.ts +1 -0
  218. package/src/components/table/table-cells/shipping-option/is-return-cell/index.ts +1 -0
  219. package/src/components/table/table-cells/shipping-option/is-return-cell/is-return-cell.tsx +27 -0
  220. package/src/components/table/table-cells/shipping-option/price-type-cell/index.ts +1 -0
  221. package/src/components/table/table-cells/shipping-option/price-type-cell/price-type-cell.tsx +34 -0
  222. package/src/components/table/table-cells/shipping-option/shipping-option-cell/index.ts +1 -0
  223. package/src/components/table/table-cells/shipping-option/shipping-option-cell/shipping-option-cell.tsx +28 -0
  224. package/src/components/table/table-cells/shipping-option/shipping-price-cell/shipping-price-cell.tsx +31 -0
  225. package/src/components/table/table-cells/shipping-option/subtotal-requirement-cell/index.ts +1 -0
  226. package/src/components/table/table-cells/shipping-option/subtotal-requirement-cell/subtotal-requirement-cell.tsx +43 -0
  227. package/src/components/table/table-cells/taxes/type-cell/index.ts +1 -0
  228. package/src/components/table/table-cells/taxes/type-cell/type-cell.tsx +33 -0
  229. package/src/components/utilities/error-boundary/error-boundary.tsx +59 -0
  230. package/src/components/utilities/error-boundary/index.ts +1 -0
  231. package/src/components/utilities/i18n/i18n.tsx +23 -0
  232. package/src/components/utilities/i18n/index.ts +1 -0
  233. package/src/hooks/api/api-keys.tsx +163 -0
  234. package/src/hooks/api/auth.tsx +22 -0
  235. package/src/hooks/api/campaigns.tsx +125 -0
  236. package/src/hooks/api/categories.tsx +53 -0
  237. package/src/hooks/api/collections.tsx +123 -0
  238. package/src/hooks/api/currencies.tsx +39 -0
  239. package/src/hooks/api/customer-groups.tsx +185 -0
  240. package/src/hooks/api/customers.tsx +109 -0
  241. package/src/hooks/api/fulfillment-providers.tsx +24 -0
  242. package/src/hooks/api/inventory.tsx +219 -0
  243. package/src/hooks/api/invites.tsx +94 -0
  244. package/src/hooks/api/orders.ts +40 -0
  245. package/src/hooks/api/payments.ts +24 -0
  246. package/src/hooks/api/price-lists.tsx +140 -0
  247. package/src/hooks/api/product-types.tsx +40 -0
  248. package/src/hooks/api/products.tsx +259 -0
  249. package/src/hooks/api/promotions.tsx +280 -0
  250. package/src/hooks/api/regions.tsx +97 -0
  251. package/src/hooks/api/reservations.tsx +119 -0
  252. package/src/hooks/api/sales-channels.tsx +208 -0
  253. package/src/hooks/api/shipping-options.ts +91 -0
  254. package/src/hooks/api/shipping-profiles.tsx +99 -0
  255. package/src/hooks/api/stock-locations.tsx +258 -0
  256. package/src/hooks/api/store.tsx +48 -0
  257. package/src/hooks/api/tags.tsx +39 -0
  258. package/src/hooks/api/tax-rates.tsx +119 -0
  259. package/src/hooks/api/tax-regions.tsx +97 -0
  260. package/src/hooks/api/users.tsx +104 -0
  261. package/src/hooks/api/workflow-executions.tsx +55 -0
  262. package/src/hooks/table/columns/use-campaign-table-columns.tsx +73 -0
  263. package/src/hooks/table/columns/use-category-table-columns.tsx +114 -0
  264. package/src/hooks/table/columns/use-customer-group-table-columns.tsx +34 -0
  265. package/src/hooks/table/columns/use-customer-table-columns.tsx +51 -0
  266. package/src/hooks/table/columns/use-discount-table-columns.tsx +65 -0
  267. package/src/hooks/table/columns/use-order-table-columns.tsx +142 -0
  268. package/src/hooks/table/columns/use-product-table-columns.tsx +59 -0
  269. package/src/hooks/table/columns/use-region-table-columns.tsx +40 -0
  270. package/src/hooks/table/columns/use-sales-channel-table-columns.tsx +46 -0
  271. package/src/hooks/table/columns/use-shipping-option-table-columns.tsx +107 -0
  272. package/src/hooks/table/columns/use-tax-rates-table-columns.tsx +55 -0
  273. package/src/hooks/table/columns-v2/use-promotion-table-columns.tsx +49 -0
  274. package/src/hooks/table/filters/use-customer-group-table-filters.tsx +21 -0
  275. package/src/hooks/table/filters/use-customer-table-filters.tsx +69 -0
  276. package/src/hooks/table/filters/use-discount-table-filters.tsx +51 -0
  277. package/src/hooks/table/filters/use-order-table-filters.tsx +156 -0
  278. package/src/hooks/table/filters/use-product-table-filters.tsx +192 -0
  279. package/src/hooks/table/filters/use-promotion-table-filters.tsx +13 -0
  280. package/src/hooks/table/filters/use-region-table-filters.tsx +19 -0
  281. package/src/hooks/table/filters/use-sales-channel-table-filters.tsx +17 -0
  282. package/src/hooks/table/filters/use-shipping-option-table-filters.tsx +39 -0
  283. package/src/hooks/table/filters/use-tax-rate-table-filters.tsx +19 -0
  284. package/src/hooks/table/filters-v2/use-promotion-table-filters.tsx +13 -0
  285. package/src/hooks/table/query/use-campaign-table-query.tsx +31 -0
  286. package/src/hooks/table/query/use-customer-group-table-query.tsx +34 -0
  287. package/src/hooks/table/query/use-customer-table-query.tsx +44 -0
  288. package/src/hooks/table/query/use-discount-table-query.tsx +45 -0
  289. package/src/hooks/table/query/use-order-table-query.tsx +55 -0
  290. package/src/hooks/table/query/use-product-table-query.tsx +69 -0
  291. package/src/hooks/table/query/use-region-table-query.tsx +33 -0
  292. package/src/hooks/table/query/use-sales-channel-table-query.tsx +33 -0
  293. package/src/hooks/table/query/use-shipping-option-table-query.tsx +48 -0
  294. package/src/hooks/table/query/use-tax-rate-table-query.tsx +33 -0
  295. package/src/hooks/table/query/use-tax-region-table-query copy.tsx +32 -0
  296. package/src/hooks/table/query/use-user-invite-table-query.tsx +32 -0
  297. package/src/hooks/table/query-v2/use-promotion-table-query.tsx +32 -0
  298. package/src/hooks/use-combobox-data.tsx +91 -0
  299. package/src/hooks/use-command-history.tsx +67 -0
  300. package/src/hooks/use-data-table.tsx +132 -0
  301. package/src/hooks/use-date.tsx +46 -0
  302. package/src/hooks/use-debounced-search.tsx +29 -0
  303. package/src/hooks/use-handle-table-scroll.tsx +24 -0
  304. package/src/hooks/use-media-query.tsx +14 -0
  305. package/src/hooks/use-query-params.tsx +24 -0
  306. package/src/i18n/config.ts +19 -0
  307. package/src/i18n/languages.ts +11 -0
  308. package/src/i18n/translations/$schema.json +315 -0
  309. package/src/i18n/translations/en.json +1682 -0
  310. package/src/i18n/translations/index.ts +7 -0
  311. package/src/i18n/types.ts +15 -0
  312. package/src/i18next.d.ts +7 -0
  313. package/src/index.css +48 -0
  314. package/src/lib/addresses.ts +87 -0
  315. package/src/lib/api-v2/auth.ts +65 -0
  316. package/src/lib/api-v2/campaign.ts +57 -0
  317. package/src/lib/api-v2/currencies.ts +37 -0
  318. package/src/lib/api-v2/index.ts +3 -0
  319. package/src/lib/api-v2/types/auth.ts +13 -0
  320. package/src/lib/api-v2/types/common.ts +5 -0
  321. package/src/lib/api-v2/types/store.ts +7 -0
  322. package/src/lib/cast-number.ts +6 -0
  323. package/src/lib/client/api-keys.ts +63 -0
  324. package/src/lib/client/auth.ts +22 -0
  325. package/src/lib/client/campaigns.ts +48 -0
  326. package/src/lib/client/categories.ts +27 -0
  327. package/src/lib/client/client.ts +59 -0
  328. package/src/lib/client/collections.ts +44 -0
  329. package/src/lib/client/common.ts +108 -0
  330. package/src/lib/client/currencies.ts +15 -0
  331. package/src/lib/client/customer-groups.ts +83 -0
  332. package/src/lib/client/customers.ts +35 -0
  333. package/src/lib/client/fulfillment-providers.ts +13 -0
  334. package/src/lib/client/index.ts +1 -0
  335. package/src/lib/client/inventory.ts +108 -0
  336. package/src/lib/client/invites.ts +38 -0
  337. package/src/lib/client/orders.ts +15 -0
  338. package/src/lib/client/payments.ts +13 -0
  339. package/src/lib/client/price-lists.ts +57 -0
  340. package/src/lib/client/product-types.ts +15 -0
  341. package/src/lib/client/products.ts +89 -0
  342. package/src/lib/client/promotions.ts +119 -0
  343. package/src/lib/client/regions.ts +35 -0
  344. package/src/lib/client/reservations.ts +41 -0
  345. package/src/lib/client/sales-channels.ts +78 -0
  346. package/src/lib/client/shipping-options.ts +41 -0
  347. package/src/lib/client/shipping-profiles.ts +35 -0
  348. package/src/lib/client/stock-locations.ts +106 -0
  349. package/src/lib/client/stores.ts +25 -0
  350. package/src/lib/client/tags.ts +18 -0
  351. package/src/lib/client/taxes.ts +59 -0
  352. package/src/lib/client/users.ts +31 -0
  353. package/src/lib/client/workflow-executions.ts +27 -0
  354. package/src/lib/common.ts +16 -0
  355. package/src/lib/countries.ts +1765 -0
  356. package/src/lib/currencies.ts +734 -0
  357. package/src/lib/discounts.ts +32 -0
  358. package/src/lib/format-provider.ts +18 -0
  359. package/src/lib/is-axios-error.ts +5 -0
  360. package/src/lib/medusa.ts +19 -0
  361. package/src/lib/metadata.ts +84 -0
  362. package/src/lib/money-amount-helpers.ts +95 -0
  363. package/src/lib/order-helpers.ts +52 -0
  364. package/src/lib/percentage-helpers.ts +27 -0
  365. package/src/lib/promotions.ts +31 -0
  366. package/src/lib/query-key-factory.ts +54 -0
  367. package/src/lib/rma.ts +75 -0
  368. package/src/lib/schemas.ts +36 -0
  369. package/src/lib/shipping-options.ts +17 -0
  370. package/src/lib/validation.ts +47 -0
  371. package/src/main.tsx +9 -0
  372. package/src/module.d.ts +39 -0
  373. package/src/providers/feature-provider/feature-context.tsx +8 -0
  374. package/src/providers/feature-provider/feature-provider.tsx +33 -0
  375. package/src/providers/feature-provider/index.ts +2 -0
  376. package/src/providers/feature-provider/types.ts +16 -0
  377. package/src/providers/feature-provider/use-feature.tsx +10 -0
  378. package/src/providers/router-provider/index.ts +1 -0
  379. package/src/providers/router-provider/route-extensions.tsx +18 -0
  380. package/src/providers/router-provider/route-map.tsx +1022 -0
  381. package/src/providers/router-provider/router-provider.tsx +14 -0
  382. package/src/providers/router-provider/settings-extensions.tsx +19 -0
  383. package/src/providers/search-provider/index.ts +2 -0
  384. package/src/providers/search-provider/search-context.tsx +9 -0
  385. package/src/providers/search-provider/search-provider.tsx +38 -0
  386. package/src/providers/search-provider/use-search.tsx +10 -0
  387. package/src/providers/sidebar-provider/index.ts +2 -0
  388. package/src/providers/sidebar-provider/sidebar-context.tsx +9 -0
  389. package/src/providers/sidebar-provider/sidebar-provider.tsx +31 -0
  390. package/src/providers/sidebar-provider/use-sidebar.tsx +12 -0
  391. package/src/providers/theme-provider/index.ts +3 -0
  392. package/src/providers/theme-provider/theme-context.tsx +10 -0
  393. package/src/providers/theme-provider/theme-provider.tsx +54 -0
  394. package/src/providers/theme-provider/use-theme.tsx +10 -0
  395. package/src/routes/categories/details/details.tsx +30 -0
  396. package/src/routes/categories/details/index.ts +1 -0
  397. package/src/routes/categories/list/index.ts +1 -0
  398. package/src/routes/categories/list/list.tsx +30 -0
  399. package/src/routes/discounts/common/components/conditions-drawer/conditions-drawer.tsx +664 -0
  400. package/src/routes/discounts/common/components/conditions-drawer/index.ts +1 -0
  401. package/src/routes/discounts/common/constants.ts +7 -0
  402. package/src/routes/discounts/common/hooks/columns/use-customer-group-conditions-table-columns.tsx +46 -0
  403. package/src/routes/discounts/common/hooks/columns/use-product-collection-conditions-table-columns.tsx +60 -0
  404. package/src/routes/discounts/common/hooks/columns/use-product-conditions-table-columns.tsx +46 -0
  405. package/src/routes/discounts/common/hooks/columns/use-product-tag-conditions-table-columns.tsx +48 -0
  406. package/src/routes/discounts/common/hooks/columns/use-product-type-conditions-table-columns.tsx +49 -0
  407. package/src/routes/discounts/common/hooks/filters/use-customer-group-conditions-table-filters.tsx +17 -0
  408. package/src/routes/discounts/common/hooks/filters/use-product-collection-conditions-table-filters.tsx +17 -0
  409. package/src/routes/discounts/common/hooks/filters/use-product-tag-conditions-table-filters.tsx +17 -0
  410. package/src/routes/discounts/common/hooks/filters/use-product-type-conditions-table-filters.tsx +17 -0
  411. package/src/routes/discounts/common/hooks/query/use-product-collection-conditions-table-query.tsx +42 -0
  412. package/src/routes/discounts/common/hooks/query/use-product-tag-conditions-table-query.tsx +39 -0
  413. package/src/routes/discounts/common/hooks/query/use-product-type-conditions-table-query.tsx +29 -0
  414. package/src/routes/discounts/common/types.ts +10 -0
  415. package/src/routes/discounts/discount-create/components/create-discount-form/create-discount-details.tsx +680 -0
  416. package/src/routes/discounts/discount-create/components/create-discount-form/create-discount-form.tsx +206 -0
  417. package/src/routes/discounts/discount-create/components/create-discount-form/index.ts +1 -0
  418. package/src/routes/discounts/discount-create/components/create-discount-form/types.ts +5 -0
  419. package/src/routes/discounts/discount-create/discount-create.tsx +10 -0
  420. package/src/routes/discounts/discount-create/index.ts +1 -0
  421. package/src/routes/discounts/discount-detail/components/details-section/details-section.tsx +96 -0
  422. package/src/routes/discounts/discount-detail/components/details-section/index.ts +1 -0
  423. package/src/routes/discounts/discount-detail/components/discount-conditions-section/discount-conditions-section.tsx +132 -0
  424. package/src/routes/discounts/discount-detail/components/discount-conditions-section/index.ts +1 -0
  425. package/src/routes/discounts/discount-detail/components/discount-configurations-section/discount-configurations-section.tsx +89 -0
  426. package/src/routes/discounts/discount-detail/components/discount-configurations-section/index.ts +1 -0
  427. package/src/routes/discounts/discount-detail/components/discount-general-section/discount-general-section.tsx +109 -0
  428. package/src/routes/discounts/discount-detail/components/discount-general-section/index.ts +1 -0
  429. package/src/routes/discounts/discount-detail/components/discount-redemptions-section/index.ts +1 -0
  430. package/src/routes/discounts/discount-detail/components/discount-redemptions-section/redemptions-section.tsx +40 -0
  431. package/src/routes/discounts/discount-detail/discount-detail.tsx +72 -0
  432. package/src/routes/discounts/discount-detail/index.ts +2 -0
  433. package/src/routes/discounts/discount-detail/loader.ts +32 -0
  434. package/src/routes/discounts/discount-edit-conditions/components/edit-discount-form/edit-discount-conditions-form.tsx +583 -0
  435. package/src/routes/discounts/discount-edit-conditions/components/edit-discount-form/index.ts +1 -0
  436. package/src/routes/discounts/discount-edit-conditions/discount-edit-conditions.tsx +26 -0
  437. package/src/routes/discounts/discount-edit-conditions/index.ts +1 -0
  438. package/src/routes/discounts/discount-edit-configuration/components/edit-discount-form/edit-discount-configuration-form.tsx +510 -0
  439. package/src/routes/discounts/discount-edit-configuration/components/edit-discount-form/index.ts +1 -0
  440. package/src/routes/discounts/discount-edit-configuration/discount-edit-configuration.tsx +29 -0
  441. package/src/routes/discounts/discount-edit-configuration/index.ts +1 -0
  442. package/src/routes/discounts/discount-edit-details/components/edit-discount-form/edit-discount-details-form.tsx +237 -0
  443. package/src/routes/discounts/discount-edit-details/components/edit-discount-form/index.ts +1 -0
  444. package/src/routes/discounts/discount-edit-details/discount-edit-details.tsx +29 -0
  445. package/src/routes/discounts/discount-edit-details/index.ts +1 -0
  446. package/src/routes/discounts/discount-list/components/discount-list-table/discount-list-table.tsx +145 -0
  447. package/src/routes/discounts/discount-list/components/discount-list-table/index.ts +1 -0
  448. package/src/routes/discounts/discount-list/discount-list.tsx +20 -0
  449. package/src/routes/discounts/discount-list/index.ts +2 -0
  450. package/src/routes/discounts/discount-list/loader.ts +24 -0
  451. package/src/routes/draft-orders/common/edit-address-form/edit-address-form.tsx +98 -0
  452. package/src/routes/draft-orders/common/edit-address-form/index.ts +1 -0
  453. package/src/routes/draft-orders/draft-order-billing-address/draft-order-billing-address.tsx +50 -0
  454. package/src/routes/draft-orders/draft-order-billing-address/index.ts +1 -0
  455. package/src/routes/draft-orders/draft-order-create/components/create-draft-order-form/constants.ts +130 -0
  456. package/src/routes/draft-orders/draft-order-create/components/create-draft-order-form/context.ts +5 -0
  457. package/src/routes/draft-orders/draft-order-create/components/create-draft-order-form/create-draft-order-details/create-draft-order-address-details.tsx +276 -0
  458. package/src/routes/draft-orders/draft-order-create/components/create-draft-order-form/create-draft-order-details/create-draft-order-customer-details.tsx +164 -0
  459. package/src/routes/draft-orders/draft-order-create/components/create-draft-order-form/create-draft-order-details/create-draft-order-details.tsx +34 -0
  460. package/src/routes/draft-orders/draft-order-create/components/create-draft-order-form/create-draft-order-details/create-draft-order-items-details.tsx +321 -0
  461. package/src/routes/draft-orders/draft-order-create/components/create-draft-order-form/create-draft-order-details/create-draft-order-region-details.tsx +114 -0
  462. package/src/routes/draft-orders/draft-order-create/components/create-draft-order-form/create-draft-order-details/create-draft-order-shipping-method-details.tsx +185 -0
  463. package/src/routes/draft-orders/draft-order-create/components/create-draft-order-form/create-draft-order-details/index.ts +1 -0
  464. package/src/routes/draft-orders/draft-order-create/components/create-draft-order-form/create-draft-order-drawer/add-custom-item-drawer.tsx +125 -0
  465. package/src/routes/draft-orders/draft-order-create/components/create-draft-order-form/create-draft-order-drawer/add-variant-drawer.tsx +245 -0
  466. package/src/routes/draft-orders/draft-order-create/components/create-draft-order-form/create-draft-order-drawer/create-draft-order-drawer.tsx +14 -0
  467. package/src/routes/draft-orders/draft-order-create/components/create-draft-order-form/create-draft-order-drawer/index.ts +1 -0
  468. package/src/routes/draft-orders/draft-order-create/components/create-draft-order-form/create-draft-order-form.tsx +455 -0
  469. package/src/routes/draft-orders/draft-order-create/components/create-draft-order-form/create-draft-order-summary/create-draft-order-custom-items-summary.tsx +62 -0
  470. package/src/routes/draft-orders/draft-order-create/components/create-draft-order-form/create-draft-order-summary/create-draft-order-customer-summary.tsx +105 -0
  471. package/src/routes/draft-orders/draft-order-create/components/create-draft-order-form/create-draft-order-summary/create-draft-order-fields-summary.tsx +42 -0
  472. package/src/routes/draft-orders/draft-order-create/components/create-draft-order-form/create-draft-order-summary/create-draft-order-summary.tsx +30 -0
  473. package/src/routes/draft-orders/draft-order-create/components/create-draft-order-form/create-draft-order-summary/create-draft-order-total-summary.tsx +121 -0
  474. package/src/routes/draft-orders/draft-order-create/components/create-draft-order-form/create-draft-order-summary/create-draft-order-variant-items-summary.tsx +83 -0
  475. package/src/routes/draft-orders/draft-order-create/components/create-draft-order-form/create-draft-order-summary/index.ts +1 -0
  476. package/src/routes/draft-orders/draft-order-create/components/create-draft-order-form/hooks.ts +14 -0
  477. package/src/routes/draft-orders/draft-order-create/components/create-draft-order-form/index.ts +1 -0
  478. package/src/routes/draft-orders/draft-order-create/components/create-draft-order-form/types.ts +46 -0
  479. package/src/routes/draft-orders/draft-order-create/draft-order-create.tsx +10 -0
  480. package/src/routes/draft-orders/draft-order-create/index.ts +1 -0
  481. package/src/routes/draft-orders/draft-order-detail/components/draft-order-customer-section/draft-order-customer-section.tsx +71 -0
  482. package/src/routes/draft-orders/draft-order-detail/components/draft-order-customer-section/index.ts +1 -0
  483. package/src/routes/draft-orders/draft-order-detail/components/draft-order-general-section/draft-order-general-section.tsx +228 -0
  484. package/src/routes/draft-orders/draft-order-detail/components/draft-order-general-section/index.ts +1 -0
  485. package/src/routes/draft-orders/draft-order-detail/components/draft-order-summary-section/draft-order-summary-section.tsx +364 -0
  486. package/src/routes/draft-orders/draft-order-detail/components/draft-order-summary-section/index.ts +1 -0
  487. package/src/routes/draft-orders/draft-order-detail/draft-order-detail.tsx +43 -0
  488. package/src/routes/draft-orders/draft-order-detail/index.ts +2 -0
  489. package/src/routes/draft-orders/draft-order-detail/loader.ts +21 -0
  490. package/src/routes/draft-orders/draft-order-email/components/edit-draft-order-email-form/edit-draft-order-email-form.tsx +66 -0
  491. package/src/routes/draft-orders/draft-order-email/components/edit-draft-order-email-form/index.ts +1 -0
  492. package/src/routes/draft-orders/draft-order-email/draft-order-email.tsx +28 -0
  493. package/src/routes/draft-orders/draft-order-email/index.ts +1 -0
  494. package/src/routes/draft-orders/draft-order-list/components/draft-order-list-table/draft-order-list-table.tsx +69 -0
  495. package/src/routes/draft-orders/draft-order-list/components/draft-order-list-table/draft-order-table-actions.tsx +59 -0
  496. package/src/routes/draft-orders/draft-order-list/components/draft-order-list-table/index.ts +1 -0
  497. package/src/routes/draft-orders/draft-order-list/components/draft-order-list-table/use-draft-order-table-columns.tsx +81 -0
  498. package/src/routes/draft-orders/draft-order-list/components/draft-order-list-table/use-draft-order-table-filters.tsx +36 -0
  499. package/src/routes/draft-orders/draft-order-list/components/draft-order-list-table/use-draft-order-table-query.tsx +31 -0
  500. package/src/routes/draft-orders/draft-order-list/draft-order-list.tsx +11 -0
  501. package/src/routes/draft-orders/draft-order-list/index.ts +1 -0
  502. package/src/routes/draft-orders/draft-order-shipping-address/draft-order-shipping-address.tsx +50 -0
  503. package/src/routes/draft-orders/draft-order-shipping-address/index.ts +1 -0
  504. package/src/routes/draft-orders/draft-order-transfer-ownership/components/transfer-draft-order-ownership-form/index.ts +1 -0
  505. package/src/routes/draft-orders/draft-order-transfer-ownership/components/transfer-draft-order-ownership-form/transfer-draft-order-ownership-form.tsx +72 -0
  506. package/src/routes/draft-orders/draft-order-transfer-ownership/draft-order-transfer-ownership.tsx +28 -0
  507. package/src/routes/draft-orders/draft-order-transfer-ownership/index.ts +1 -0
  508. package/src/routes/gift-cards/gift-card-create/components/create-gift-card-form/create-gift-card-form.tsx +301 -0
  509. package/src/routes/gift-cards/gift-card-create/components/create-gift-card-form/index.ts +1 -0
  510. package/src/routes/gift-cards/gift-card-create/gift-card-create.tsx +10 -0
  511. package/src/routes/gift-cards/gift-card-create/index.ts +1 -0
  512. package/src/routes/gift-cards/gift-card-detail/components/gift-card-general-section/gift-card-general-section.tsx +194 -0
  513. package/src/routes/gift-cards/gift-card-detail/components/gift-card-general-section/index.ts +1 -0
  514. package/src/routes/gift-cards/gift-card-detail/gift-card-detail.tsx +33 -0
  515. package/src/routes/gift-cards/gift-card-detail/index.ts +2 -0
  516. package/src/routes/gift-cards/gift-card-detail/loader.ts +21 -0
  517. package/src/routes/gift-cards/gift-card-edit/components/edit-gift-card-form/edit-gift-card-form.tsx +270 -0
  518. package/src/routes/gift-cards/gift-card-edit/components/edit-gift-card-form/index.ts +1 -0
  519. package/src/routes/gift-cards/gift-card-edit/gift-card-edit.tsx +26 -0
  520. package/src/routes/gift-cards/gift-card-edit/index.ts +1 -0
  521. package/src/routes/gift-cards/gift-card-list/components/gift-card-list-table/gift-card-list-table.tsx +68 -0
  522. package/src/routes/gift-cards/gift-card-list/components/gift-card-list-table/index.ts +1 -0
  523. package/src/routes/gift-cards/gift-card-list/components/gift-card-list-table/use-gift-card-table-columns.tsx +136 -0
  524. package/src/routes/gift-cards/gift-card-list/components/gift-card-list-table/use-gift-card-table-filters.tsx +21 -0
  525. package/src/routes/gift-cards/gift-card-list/components/gift-card-list-table/use-gift-card-table-query.tsx +19 -0
  526. package/src/routes/gift-cards/gift-card-list/gift-card-list.tsx +11 -0
  527. package/src/routes/gift-cards/gift-card-list/index.ts +1 -0
  528. package/src/routes/home/home.tsx +13 -0
  529. package/src/routes/home/index.ts +1 -0
  530. package/src/routes/inventory/inventory-list/components/inventory-list-table/index.ts +1 -0
  531. package/src/routes/inventory/inventory-list/components/inventory-list-table/inventory-actions.tsx +52 -0
  532. package/src/routes/inventory/inventory-list/components/inventory-list-table/inventory-list-table.tsx +64 -0
  533. package/src/routes/inventory/inventory-list/components/inventory-list-table/use-inventory-table-columns.tsx +118 -0
  534. package/src/routes/inventory/inventory-list/components/inventory-list-table/use-inventory-table-filters.tsx +82 -0
  535. package/src/routes/inventory/inventory-list/components/inventory-list-table/use-inventory-table-query.tsx +57 -0
  536. package/src/routes/inventory/inventory-list/index.ts +1 -0
  537. package/src/routes/inventory/inventory-list/inventory-list.tsx +9 -0
  538. package/src/routes/invite/index.ts +1 -0
  539. package/src/routes/invite/invite.tsx +387 -0
  540. package/src/routes/login/index.ts +1 -0
  541. package/src/routes/login/login.tsx +141 -0
  542. package/src/routes/no-match/index.ts +1 -0
  543. package/src/routes/no-match/no-match.tsx +3 -0
  544. package/src/routes/orders/common/edit-address-form/edit-order-address-form.tsx +96 -0
  545. package/src/routes/orders/common/edit-address-form/index.ts +1 -0
  546. package/src/routes/orders/order-billing-address/index.ts +1 -0
  547. package/src/routes/orders/order-billing-address/order-billing-address.tsx +50 -0
  548. package/src/routes/orders/order-create-return/components/order-create-return-form/constants.ts +16 -0
  549. package/src/routes/orders/order-create-return/components/order-create-return-form/index.ts +1 -0
  550. package/src/routes/orders/order-create-return/components/order-create-return-form/order-create-return-details/index.ts +1 -0
  551. package/src/routes/orders/order-create-return/components/order-create-return-form/order-create-return-details/order-create-return-details.tsx +501 -0
  552. package/src/routes/orders/order-create-return/components/order-create-return-form/order-create-return-details/return-item.tsx +138 -0
  553. package/src/routes/orders/order-create-return/components/order-create-return-form/order-create-return-form.tsx +286 -0
  554. package/src/routes/orders/order-create-return/components/order-create-return-form/order-create-return-item-table/index.ts +1 -0
  555. package/src/routes/orders/order-create-return/components/order-create-return-form/order-create-return-item-table/order-create-return-item-table.tsx +277 -0
  556. package/src/routes/orders/order-create-return/components/order-create-return-form/order-create-return-item-table/use-return-item-table-columns.tsx +103 -0
  557. package/src/routes/orders/order-create-return/components/order-create-return-form/order-create-return-item-table/use-return-item-table-filters.tsx +31 -0
  558. package/src/routes/orders/order-create-return/components/order-create-return-form/order-create-return-item-table/use-return-item-table-query.tsx +61 -0
  559. package/src/routes/orders/order-create-return/index.ts +1 -0
  560. package/src/routes/orders/order-create-return/order-create-return.tsx +26 -0
  561. package/src/routes/orders/order-detail/components/order-activity-section/index.ts +1 -0
  562. package/src/routes/orders/order-detail/components/order-activity-section/order-activity-section.tsx +25 -0
  563. package/src/routes/orders/order-detail/components/order-activity-section/order-note-form.tsx +112 -0
  564. package/src/routes/orders/order-detail/components/order-activity-section/order-timeline.tsx +405 -0
  565. package/src/routes/orders/order-detail/components/order-customer-section/index.ts +1 -0
  566. package/src/routes/orders/order-detail/components/order-customer-section/order-customer-section.tsx +69 -0
  567. package/src/routes/orders/order-detail/components/order-fulfillment-section/index.ts +1 -0
  568. package/src/routes/orders/order-detail/components/order-fulfillment-section/order-fulfillment-section.tsx +324 -0
  569. package/src/routes/orders/order-detail/components/order-general-section/index.ts +1 -0
  570. package/src/routes/orders/order-detail/components/order-general-section/order-general-section.tsx +114 -0
  571. package/src/routes/orders/order-detail/components/order-payment-section/index.ts +1 -0
  572. package/src/routes/orders/order-detail/components/order-payment-section/order-payment-section.tsx +284 -0
  573. package/src/routes/orders/order-detail/components/order-summary-section/index.ts +1 -0
  574. package/src/routes/orders/order-detail/components/order-summary-section/order-summary-section.tsx +244 -0
  575. package/src/routes/orders/order-detail/constants.ts +2 -0
  576. package/src/routes/orders/order-detail/index.ts +2 -0
  577. package/src/routes/orders/order-detail/loader.ts +25 -0
  578. package/src/routes/orders/order-detail/order-detail.tsx +56 -0
  579. package/src/routes/orders/order-edit/components/order-edit-form/index.tsx +1 -0
  580. package/src/routes/orders/order-edit/components/order-edit-form/order-edit-form.tsx +359 -0
  581. package/src/routes/orders/order-edit/components/order-edit-form/order-edit-item.tsx +112 -0
  582. package/src/routes/orders/order-edit/components/variant-table/index.tsx +1 -0
  583. package/src/routes/orders/order-edit/components/variant-table/use-variant-table-columns.tsx +98 -0
  584. package/src/routes/orders/order-edit/components/variant-table/use-variant-table-filters.tsx +17 -0
  585. package/src/routes/orders/order-edit/components/variant-table/use-variant-table-query.tsx +32 -0
  586. package/src/routes/orders/order-edit/components/variant-table/variant-table.tsx +164 -0
  587. package/src/routes/orders/order-edit/index.ts +2 -0
  588. package/src/routes/orders/order-edit/loader.ts +25 -0
  589. package/src/routes/orders/order-edit/order-edit.tsx +77 -0
  590. package/src/routes/orders/order-email/components/edit-order-email-form/edit-order-email-form.tsx +65 -0
  591. package/src/routes/orders/order-email/components/edit-order-email-form/index.ts +1 -0
  592. package/src/routes/orders/order-email/index.ts +1 -0
  593. package/src/routes/orders/order-email/order-email.tsx +31 -0
  594. package/src/routes/orders/order-list/components/order-list-table/index.ts +1 -0
  595. package/src/routes/orders/order-list/components/order-list-table/order-list-table.tsx +68 -0
  596. package/src/routes/orders/order-list/index.ts +1 -0
  597. package/src/routes/orders/order-list/order-list.tsx +9 -0
  598. package/src/routes/orders/order-refund/components/order-refund-form/index.ts +1 -0
  599. package/src/routes/orders/order-refund/components/order-refund-form/order-refund-form.tsx +262 -0
  600. package/src/routes/orders/order-refund/index.ts +1 -0
  601. package/src/routes/orders/order-refund/order-refund.tsx +40 -0
  602. package/src/routes/orders/order-refund/schema.ts +18 -0
  603. package/src/routes/orders/order-shipping-address/index.ts +1 -0
  604. package/src/routes/orders/order-shipping-address/order-shipping-address.tsx +50 -0
  605. package/src/routes/orders/order-transfer-ownership/components/transfer-order-ownership-form/index.ts +1 -0
  606. package/src/routes/orders/order-transfer-ownership/components/transfer-order-ownership-form/transfer-order-ownership-form.tsx +72 -0
  607. package/src/routes/orders/order-transfer-ownership/index.ts +1 -0
  608. package/src/routes/orders/order-transfer-ownership/order-transfer-ownership.tsx +28 -0
  609. package/src/routes/reservations/reservation-detail/components/reservation-general-section/index.ts +1 -0
  610. package/src/routes/reservations/reservation-detail/components/reservation-general-section/reservation-general-section.tsx +28 -0
  611. package/src/routes/reservations/reservation-detail/index.ts +1 -0
  612. package/src/routes/reservations/reservation-detail/reservation-detail.tsx +25 -0
  613. package/src/routes/reservations/reservation-list/components/reservation-list-table/index.ts +1 -0
  614. package/src/routes/reservations/reservation-list/components/reservation-list-table/reservation-actions.tsx +64 -0
  615. package/src/routes/reservations/reservation-list/components/reservation-list-table/reservation-list-table.tsx +71 -0
  616. package/src/routes/reservations/reservation-list/components/reservation-list-table/use-reservation-table-columns.tsx +104 -0
  617. package/src/routes/reservations/reservation-list/components/reservation-list-table/use-reservation-table-filters.tsx +35 -0
  618. package/src/routes/reservations/reservation-list/components/reservation-list-table/use-reservation-table-query.tsx +32 -0
  619. package/src/routes/reservations/reservation-list/constants.ts +1 -0
  620. package/src/routes/reservations/reservation-list/index.ts +1 -0
  621. package/src/routes/reservations/reservation-list/reservation-list.tsx +9 -0
  622. package/src/routes/reset-password/reset-password-request/index.ts +1 -0
  623. package/src/routes/reset-password/reset-password-request/reset-password.tsx +143 -0
  624. package/src/routes/reset-password/reset-password-token/index.ts +1 -0
  625. package/src/routes/reset-password/reset-password-token/reset-password-token.tsx +258 -0
  626. package/src/routes/return-reasons/return-reason-create/components/create-return-reason-form/create-return-reason-form.tsx +130 -0
  627. package/src/routes/return-reasons/return-reason-create/components/create-return-reason-form/index.ts +1 -0
  628. package/src/routes/return-reasons/return-reason-create/index.ts +1 -0
  629. package/src/routes/return-reasons/return-reason-create/return-reason-create.tsx +10 -0
  630. package/src/routes/return-reasons/return-reason-edit/components/edit-return-reason-form/edit-return-reason-form.tsx +119 -0
  631. package/src/routes/return-reasons/return-reason-edit/components/edit-return-reason-form/index.ts +1 -0
  632. package/src/routes/return-reasons/return-reason-edit/index.ts +1 -0
  633. package/src/routes/return-reasons/return-reason-edit/return-reason-edit.tsx +28 -0
  634. package/src/routes/return-reasons/return-reason-list/components/return-reason-callout/index.ts +1 -0
  635. package/src/routes/return-reasons/return-reason-list/components/return-reason-callout/return-reason-callout.tsx +21 -0
  636. package/src/routes/return-reasons/return-reason-list/components/return-reason-overview/index.ts +1 -0
  637. package/src/routes/return-reasons/return-reason-list/components/return-reason-overview/return-reason-overview.tsx +121 -0
  638. package/src/routes/return-reasons/return-reason-list/index.ts +1 -0
  639. package/src/routes/return-reasons/return-reason-list/return-reason-list.tsx +13 -0
  640. package/src/routes/settings/index.ts +1 -0
  641. package/src/routes/settings/settings.tsx +15 -0
  642. package/src/types/api-payloads.ts +137 -0
  643. package/src/types/api-responses.ts +226 -0
  644. package/src/v2-routes/api-key-management/api-key-management-create/api-key-management-create.tsx +15 -0
  645. package/src/v2-routes/api-key-management/api-key-management-create/components/api-key-create-form/api-key-create-form.tsx +211 -0
  646. package/src/v2-routes/api-key-management/api-key-management-create/components/api-key-create-form/index.ts +1 -0
  647. package/src/v2-routes/api-key-management/api-key-management-create/index.ts +1 -0
  648. package/src/v2-routes/api-key-management/api-key-management-detail/api-key-management-detail.tsx +50 -0
  649. package/src/v2-routes/api-key-management/api-key-management-detail/components/api-key-general-section/api-key-general-section.tsx +244 -0
  650. package/src/v2-routes/api-key-management/api-key-management-detail/components/api-key-general-section/index.ts +1 -0
  651. package/src/v2-routes/api-key-management/api-key-management-detail/components/api-key-sales-channel-section/api-key-sales-channel-section.tsx +275 -0
  652. package/src/v2-routes/api-key-management/api-key-management-detail/components/api-key-sales-channel-section/index.ts +1 -0
  653. package/src/v2-routes/api-key-management/api-key-management-detail/index.ts +2 -0
  654. package/src/v2-routes/api-key-management/api-key-management-detail/loader.ts +21 -0
  655. package/src/v2-routes/api-key-management/api-key-management-edit/api-key-management-edit.tsx +26 -0
  656. package/src/v2-routes/api-key-management/api-key-management-edit/components/edit-api-key-form/edit-api-key-form.tsx +93 -0
  657. package/src/v2-routes/api-key-management/api-key-management-edit/components/edit-api-key-form/index.ts +1 -0
  658. package/src/v2-routes/api-key-management/api-key-management-edit/index.ts +1 -0
  659. package/src/v2-routes/api-key-management/api-key-management-list/api-key-management-list.tsx +16 -0
  660. package/src/v2-routes/api-key-management/api-key-management-list/components/api-key-management-list-table/api-key-management-list-table.tsx +81 -0
  661. package/src/v2-routes/api-key-management/api-key-management-list/components/api-key-management-list-table/api-key-row-actions.tsx +132 -0
  662. package/src/v2-routes/api-key-management/api-key-management-list/components/api-key-management-list-table/index.ts +1 -0
  663. package/src/v2-routes/api-key-management/api-key-management-list/components/api-key-management-list-table/use-api-key-management-table-columns.tsx +100 -0
  664. package/src/v2-routes/api-key-management/api-key-management-list/components/api-key-management-list-table/use-api-key-management-table-filters.tsx +18 -0
  665. package/src/v2-routes/api-key-management/api-key-management-list/components/api-key-management-list-table/use-api-key-management-table-query.tsx +34 -0
  666. package/src/v2-routes/api-key-management/api-key-management-list/index.ts +1 -0
  667. package/src/v2-routes/api-key-management/api-key-management-sales-channels/api-key-management-sales-channels.tsx +32 -0
  668. package/src/v2-routes/api-key-management/api-key-management-sales-channels/components/api-key-sales-channels-form/api-key-sales-channels-form.tsx +226 -0
  669. package/src/v2-routes/api-key-management/api-key-management-sales-channels/components/api-key-sales-channels-form/index.ts +1 -0
  670. package/src/v2-routes/api-key-management/api-key-management-sales-channels/index.ts +1 -0
  671. package/src/v2-routes/api-key-management/common/constants.ts +4 -0
  672. package/src/v2-routes/api-key-management/common/utils.ts +62 -0
  673. package/src/v2-routes/campaigns/add-campaign-promotions/add-campaign-promotions.tsx +19 -0
  674. package/src/v2-routes/campaigns/add-campaign-promotions/components/add-campaign-promotions-form.tsx +223 -0
  675. package/src/v2-routes/campaigns/add-campaign-promotions/components/index.ts +1 -0
  676. package/src/v2-routes/campaigns/add-campaign-promotions/index.ts +1 -0
  677. package/src/v2-routes/campaigns/campaign-budget-edit/campaign-budget-edit.tsx +27 -0
  678. package/src/v2-routes/campaigns/campaign-budget-edit/components/edit-campaign-budget-form/edit-campaign-budget-form.tsx +201 -0
  679. package/src/v2-routes/campaigns/campaign-budget-edit/components/edit-campaign-budget-form/index.ts +1 -0
  680. package/src/v2-routes/campaigns/campaign-budget-edit/index.ts +1 -0
  681. package/src/v2-routes/campaigns/campaign-create/campaign-create.tsx +10 -0
  682. package/src/v2-routes/campaigns/campaign-create/components/create-campaign-form/create-campaign-form.tsx +387 -0
  683. package/src/v2-routes/campaigns/campaign-create/components/create-campaign-form/index.ts +1 -0
  684. package/src/v2-routes/campaigns/campaign-create/index.ts +1 -0
  685. package/src/v2-routes/campaigns/campaign-detail/campaign-detail.tsx +48 -0
  686. package/src/v2-routes/campaigns/campaign-detail/components/campaign-budget/campaign-budget.tsx +75 -0
  687. package/src/v2-routes/campaigns/campaign-detail/components/campaign-budget/index.ts +1 -0
  688. package/src/v2-routes/campaigns/campaign-detail/components/campaign-general-section/campaign-general-section.tsx +161 -0
  689. package/src/v2-routes/campaigns/campaign-detail/components/campaign-general-section/index.ts +1 -0
  690. package/src/v2-routes/campaigns/campaign-detail/components/campaign-promotion-section/campaign-promotion-section.tsx +236 -0
  691. package/src/v2-routes/campaigns/campaign-detail/components/campaign-promotion-section/index.ts +1 -0
  692. package/src/v2-routes/campaigns/campaign-detail/components/campaign-spend/campaign-spend.tsx +55 -0
  693. package/src/v2-routes/campaigns/campaign-detail/components/campaign-spend/index.ts +1 -0
  694. package/src/v2-routes/campaigns/campaign-detail/index.ts +2 -0
  695. package/src/v2-routes/campaigns/campaign-detail/loader.ts +24 -0
  696. package/src/v2-routes/campaigns/campaign-edit/campaign-edit.tsx +27 -0
  697. package/src/v2-routes/campaigns/campaign-edit/components/edit-campaign-form/edit-campaign-form.tsx +239 -0
  698. package/src/v2-routes/campaigns/campaign-edit/components/edit-campaign-form/index.ts +1 -0
  699. package/src/v2-routes/campaigns/campaign-edit/index.ts +1 -0
  700. package/src/v2-routes/campaigns/campaign-list/campaign-list.tsx +11 -0
  701. package/src/v2-routes/campaigns/campaign-list/components/campaign-list-table.tsx +155 -0
  702. package/src/v2-routes/campaigns/campaign-list/components/index.ts +1 -0
  703. package/src/v2-routes/campaigns/campaign-list/index.ts +1 -0
  704. package/src/v2-routes/campaigns/common/utils/campaign-status.ts +31 -0
  705. package/src/v2-routes/categories/category-detail/category-detail.tsx +51 -0
  706. package/src/v2-routes/categories/category-detail/components/category-general-section/category-general-section.tsx +53 -0
  707. package/src/v2-routes/categories/category-detail/components/category-general-section/index.ts +1 -0
  708. package/src/v2-routes/categories/category-detail/components/category-organization-section/category-organization-section.tsx +196 -0
  709. package/src/v2-routes/categories/category-detail/components/category-organization-section/index.ts +1 -0
  710. package/src/v2-routes/categories/category-detail/components/category-product-section/category-product-section.tsx +71 -0
  711. package/src/v2-routes/categories/category-detail/components/category-product-section/index.ts +1 -0
  712. package/src/v2-routes/categories/category-detail/index.ts +2 -0
  713. package/src/v2-routes/categories/category-detail/loader.ts +21 -0
  714. package/src/v2-routes/categories/category-list/category-list.tsx +9 -0
  715. package/src/v2-routes/categories/category-list/components/category-list-table/category-list-table.tsx +124 -0
  716. package/src/v2-routes/categories/category-list/components/category-list-table/index.ts +1 -0
  717. package/src/v2-routes/categories/category-list/index.ts +1 -0
  718. package/src/v2-routes/categories/common/hooks/use-category-table-query.tsx +23 -0
  719. package/src/v2-routes/categories/common/utils.ts +71 -0
  720. package/src/v2-routes/collections/collection-add-products/collection-add-products.tsx +22 -0
  721. package/src/v2-routes/collections/collection-add-products/components/add-products-to-collection-form/add-products-to-collection-form.tsx +322 -0
  722. package/src/v2-routes/collections/collection-add-products/components/add-products-to-collection-form/index.ts +1 -0
  723. package/src/v2-routes/collections/collection-add-products/index.ts +1 -0
  724. package/src/v2-routes/collections/collection-create/collection-create.tsx +10 -0
  725. package/src/v2-routes/collections/collection-create/components/create-collection-form/create-collection-form.tsx +112 -0
  726. package/src/v2-routes/collections/collection-create/components/create-collection-form/index.ts +1 -0
  727. package/src/v2-routes/collections/collection-create/index.ts +1 -0
  728. package/src/v2-routes/collections/collection-detail/collection-detail.tsx +38 -0
  729. package/src/v2-routes/collections/collection-detail/components/collection-general-section/collection-general-section.tsx +70 -0
  730. package/src/v2-routes/collections/collection-detail/components/collection-general-section/index.ts +1 -0
  731. package/src/v2-routes/collections/collection-detail/components/collection-product-section/collection-product-section.tsx +245 -0
  732. package/src/v2-routes/collections/collection-detail/components/collection-product-section/index.ts +1 -0
  733. package/src/v2-routes/collections/collection-detail/index.ts +2 -0
  734. package/src/v2-routes/collections/collection-detail/loader.ts +21 -0
  735. package/src/v2-routes/collections/collection-edit/collection-edit.tsx +27 -0
  736. package/src/v2-routes/collections/collection-edit/components/edit-collection-form/edit-collection-form.tsx +112 -0
  737. package/src/v2-routes/collections/collection-edit/components/edit-collection-form/index.ts +1 -0
  738. package/src/v2-routes/collections/collection-edit/index.ts +1 -0
  739. package/src/v2-routes/collections/collection-list/collection-list.tsx +11 -0
  740. package/src/v2-routes/collections/collection-list/components/collection-list-table/collection-list-table.tsx +67 -0
  741. package/src/v2-routes/collections/collection-list/components/collection-list-table/index.ts +1 -0
  742. package/src/v2-routes/collections/collection-list/components/collection-list-table/use-collection-table-columns.tsx +94 -0
  743. package/src/v2-routes/collections/collection-list/components/collection-list-table/use-collection-table-filters.tsx +21 -0
  744. package/src/v2-routes/collections/collection-list/components/collection-list-table/use-collection-table-query.tsx +33 -0
  745. package/src/v2-routes/collections/collection-list/index.ts +1 -0
  746. package/src/v2-routes/customer-groups/customer-group-add-customers/components/add-customers-form/add-customers-form.tsx +242 -0
  747. package/src/v2-routes/customer-groups/customer-group-add-customers/components/add-customers-form/index.ts +1 -0
  748. package/src/v2-routes/customer-groups/customer-group-add-customers/customer-group-add-customers.tsx +13 -0
  749. package/src/v2-routes/customer-groups/customer-group-add-customers/index.ts +1 -0
  750. package/src/v2-routes/customer-groups/customer-group-create/components/create-customer-group-form/create-customer-group-form.tsx +107 -0
  751. package/src/v2-routes/customer-groups/customer-group-create/components/create-customer-group-form/index.ts +1 -0
  752. package/src/v2-routes/customer-groups/customer-group-create/customer-group-create.tsx +10 -0
  753. package/src/v2-routes/customer-groups/customer-group-create/index.ts +1 -0
  754. package/src/v2-routes/customer-groups/customer-group-detail/components/customer-group-customer-section/customer-group-customer-section.tsx +250 -0
  755. package/src/v2-routes/customer-groups/customer-group-detail/components/customer-group-customer-section/index.ts +1 -0
  756. package/src/v2-routes/customer-groups/customer-group-detail/components/customer-group-general-section/customer-group-general-section.tsx +93 -0
  757. package/src/v2-routes/customer-groups/customer-group-detail/components/customer-group-general-section/index.ts +1 -0
  758. package/src/v2-routes/customer-groups/customer-group-detail/customer-group-detail.tsx +38 -0
  759. package/src/v2-routes/customer-groups/customer-group-detail/index.ts +2 -0
  760. package/src/v2-routes/customer-groups/customer-group-detail/loader.ts +25 -0
  761. package/src/v2-routes/customer-groups/customer-group-edit/components/edit-customer-group-form/edit-customer-group-form.tsx +90 -0
  762. package/src/v2-routes/customer-groups/customer-group-edit/components/edit-customer-group-form/index.ts +1 -0
  763. package/src/v2-routes/customer-groups/customer-group-edit/customer-group-edit.tsx +28 -0
  764. package/src/v2-routes/customer-groups/customer-group-edit/index.ts +1 -0
  765. package/src/v2-routes/customer-groups/customer-group-list/components/customer-group-list-table/customer-group-list-table.tsx +161 -0
  766. package/src/v2-routes/customer-groups/customer-group-list/components/customer-group-list-table/index.ts +1 -0
  767. package/src/v2-routes/customer-groups/customer-group-list/customer-group-list.tsx +11 -0
  768. package/src/v2-routes/customer-groups/customer-group-list/index.ts +1 -0
  769. package/src/v2-routes/customers/customer-create/components/create-customer-form/create-customer-form.tsx +178 -0
  770. package/src/v2-routes/customers/customer-create/components/create-customer-form/index.ts +1 -0
  771. package/src/v2-routes/customers/customer-create/customer-create.tsx +10 -0
  772. package/src/v2-routes/customers/customer-create/index.ts +1 -0
  773. package/src/v2-routes/customers/customer-detail/components/customer-general-section/customer-general-section.tsx +130 -0
  774. package/src/v2-routes/customers/customer-detail/components/customer-general-section/index.ts +1 -0
  775. package/src/v2-routes/customers/customer-detail/components/customer-group-section/customer-group-section.tsx +129 -0
  776. package/src/v2-routes/customers/customer-detail/components/customer-group-section/index.ts +1 -0
  777. package/src/v2-routes/customers/customer-detail/components/customer-order-section/customer-order-section.tsx +121 -0
  778. package/src/v2-routes/customers/customer-detail/components/customer-order-section/index.ts +1 -0
  779. package/src/v2-routes/customers/customer-detail/customer-detail.tsx +37 -0
  780. package/src/v2-routes/customers/customer-detail/index.ts +2 -0
  781. package/src/v2-routes/customers/customer-detail/loader.ts +20 -0
  782. package/src/v2-routes/customers/customer-edit/components/edit-customer-form/edit-customer-form.tsx +191 -0
  783. package/src/v2-routes/customers/customer-edit/components/edit-customer-form/index.ts +1 -0
  784. package/src/v2-routes/customers/customer-edit/customer-edit.tsx +26 -0
  785. package/src/v2-routes/customers/customer-edit/index.ts +1 -0
  786. package/src/v2-routes/customers/customer-list/components/customer-list-table/customer-list-table.tsx +121 -0
  787. package/src/v2-routes/customers/customer-list/components/customer-list-table/index.ts +1 -0
  788. package/src/v2-routes/customers/customer-list/customer-list.tsx +11 -0
  789. package/src/v2-routes/customers/customer-list/index.ts +1 -0
  790. package/src/v2-routes/customers/customer-transfer-ownership/components/transfer-customer-order-ownership-form/index.ts +1 -0
  791. package/src/v2-routes/customers/customer-transfer-ownership/components/transfer-customer-order-ownership-form/transfer-customer-order-ownership-form.tsx +72 -0
  792. package/src/v2-routes/customers/customer-transfer-ownership/customer-transfer-ownership.tsx +28 -0
  793. package/src/v2-routes/customers/customer-transfer-ownership/index.ts +1 -0
  794. package/src/v2-routes/home/home.tsx +12 -0
  795. package/src/v2-routes/home/index.ts +1 -0
  796. package/src/v2-routes/inventory/inventory-detail/components/adjust-inventory/adjust-inventory-drawer.tsx +55 -0
  797. package/src/v2-routes/inventory/inventory-detail/components/adjust-inventory/components/adjust-inventory-form.tsx +164 -0
  798. package/src/v2-routes/inventory/inventory-detail/components/adjust-inventory/index.ts +1 -0
  799. package/src/v2-routes/inventory/inventory-detail/components/edit-inventory-item/components/edit-item-form.tsx +114 -0
  800. package/src/v2-routes/inventory/inventory-detail/components/edit-inventory-item/edit-item-drawer.tsx +33 -0
  801. package/src/v2-routes/inventory/inventory-detail/components/edit-inventory-item/index.ts +1 -0
  802. package/src/v2-routes/inventory/inventory-detail/components/edit-inventory-item-attributes/components/edit-item-attributes-form.tsx +261 -0
  803. package/src/v2-routes/inventory/inventory-detail/components/edit-inventory-item-attributes/edit-item-attributes-drawer.tsx +33 -0
  804. package/src/v2-routes/inventory/inventory-detail/components/edit-inventory-item-attributes/index.ts +1 -0
  805. package/src/v2-routes/inventory/inventory-detail/components/inventory-item-attributes/attributes-section.tsx +49 -0
  806. package/src/v2-routes/inventory/inventory-detail/components/inventory-item-general-section.tsx +80 -0
  807. package/src/v2-routes/inventory/inventory-detail/components/inventory-item-location-levels.tsx +27 -0
  808. package/src/v2-routes/inventory/inventory-detail/components/inventory-item-reservations.tsx +27 -0
  809. package/src/v2-routes/inventory/inventory-detail/components/location-levels-table/location-actions.tsx +60 -0
  810. package/src/v2-routes/inventory/inventory-detail/components/location-levels-table/location-list-table.tsx +55 -0
  811. package/src/v2-routes/inventory/inventory-detail/components/location-levels-table/use-location-list-table-columns.tsx +97 -0
  812. package/src/v2-routes/inventory/inventory-detail/components/location-levels-table/use-location-list-table-query.tsx +44 -0
  813. package/src/v2-routes/inventory/inventory-detail/components/manage-locations/components/location-item.tsx +42 -0
  814. package/src/v2-routes/inventory/inventory-detail/components/manage-locations/components/manage-locations-form.tsx +193 -0
  815. package/src/v2-routes/inventory/inventory-detail/components/manage-locations/index.ts +1 -0
  816. package/src/v2-routes/inventory/inventory-detail/components/manage-locations/manage-locations-drawer.tsx +39 -0
  817. package/src/v2-routes/inventory/inventory-detail/components/reservations-table/reservation-actions.tsx +64 -0
  818. package/src/v2-routes/inventory/inventory-detail/components/reservations-table/reservation-list-table.tsx +51 -0
  819. package/src/v2-routes/inventory/inventory-detail/components/reservations-table/use-reservation-list-table-columns.tsx +107 -0
  820. package/src/v2-routes/inventory/inventory-detail/components/reservations-table/use-reservation-list-table-query.tsx +35 -0
  821. package/src/v2-routes/inventory/inventory-detail/index.ts +2 -0
  822. package/src/v2-routes/inventory/inventory-detail/inventory-detail.tsx +66 -0
  823. package/src/v2-routes/inventory/inventory-detail/loader.ts +23 -0
  824. package/src/v2-routes/inventory/inventory-list/components/inventory-actions.tsx +53 -0
  825. package/src/v2-routes/inventory/inventory-list/components/inventory-list-table.tsx +67 -0
  826. package/src/v2-routes/inventory/inventory-list/components/use-inventory-table-columns.tsx +96 -0
  827. package/src/v2-routes/inventory/inventory-list/components/use-inventory-table-filters.tsx +82 -0
  828. package/src/v2-routes/inventory/inventory-list/components/use-inventory-table-query.tsx +57 -0
  829. package/src/v2-routes/inventory/inventory-list/index.ts +1 -0
  830. package/src/v2-routes/inventory/inventory-list/inventory-list.tsx +11 -0
  831. package/src/v2-routes/invite/index.ts +1 -0
  832. package/src/v2-routes/invite/invite.tsx +396 -0
  833. package/src/v2-routes/login/index.ts +1 -0
  834. package/src/v2-routes/login/login.tsx +146 -0
  835. package/src/v2-routes/orders/order-detail/components/order-activity-section/index.ts +1 -0
  836. package/src/v2-routes/orders/order-detail/components/order-activity-section/order-activity-section.tsx +25 -0
  837. package/src/v2-routes/orders/order-detail/components/order-activity-section/order-note-form.tsx +111 -0
  838. package/src/v2-routes/orders/order-detail/components/order-activity-section/order-timeline.tsx +404 -0
  839. package/src/v2-routes/orders/order-detail/components/order-customer-section/index.ts +1 -0
  840. package/src/v2-routes/orders/order-detail/components/order-customer-section/order-customer-section.tsx +69 -0
  841. package/src/v2-routes/orders/order-detail/components/order-fulfillment-section/index.ts +1 -0
  842. package/src/v2-routes/orders/order-detail/components/order-fulfillment-section/order-fulfillment-section.tsx +340 -0
  843. package/src/v2-routes/orders/order-detail/components/order-general-section/index.ts +1 -0
  844. package/src/v2-routes/orders/order-detail/components/order-general-section/order-general-section.tsx +118 -0
  845. package/src/v2-routes/orders/order-detail/components/order-payment-section/index.ts +1 -0
  846. package/src/v2-routes/orders/order-detail/components/order-payment-section/order-payment-section.tsx +284 -0
  847. package/src/v2-routes/orders/order-detail/components/order-summary-section/index.ts +1 -0
  848. package/src/v2-routes/orders/order-detail/components/order-summary-section/order-summary-section.tsx +246 -0
  849. package/src/v2-routes/orders/order-detail/constants.ts +30 -0
  850. package/src/v2-routes/orders/order-detail/index.ts +2 -0
  851. package/src/v2-routes/orders/order-detail/loader.ts +26 -0
  852. package/src/v2-routes/orders/order-detail/order-detail.tsx +57 -0
  853. package/src/v2-routes/orders/order-list/components/order-list-table/index.ts +1 -0
  854. package/src/v2-routes/orders/order-list/components/order-list-table/order-list-table.tsx +67 -0
  855. package/src/v2-routes/orders/order-list/const.ts +17 -0
  856. package/src/v2-routes/orders/order-list/index.ts +1 -0
  857. package/src/v2-routes/orders/order-list/order-list.tsx +9 -0
  858. package/src/v2-routes/pricing/common/constants.ts +15 -0
  859. package/src/v2-routes/pricing/common/hooks/use-price-list-grid-columns.tsx +77 -0
  860. package/src/v2-routes/pricing/common/schemas.ts +31 -0
  861. package/src/v2-routes/pricing/common/utils.ts +55 -0
  862. package/src/v2-routes/pricing/pricing-configuration/components/price-list-configuration-form/index.ts +1 -0
  863. package/src/v2-routes/pricing/pricing-configuration/components/price-list-configuration-form/price-list-configuration-form.tsx +197 -0
  864. package/src/v2-routes/pricing/pricing-configuration/index.ts +1 -0
  865. package/src/v2-routes/pricing/pricing-configuration/pricing-configuration.tsx +28 -0
  866. package/src/v2-routes/pricing/pricing-create/components/pricing-create-form/index.ts +1 -0
  867. package/src/v2-routes/pricing/pricing-create/components/pricing-create-form/pricing-create-form.tsx +362 -0
  868. package/src/v2-routes/pricing/pricing-create/components/pricing-create-form/pricing-details-form.tsx +554 -0
  869. package/src/v2-routes/pricing/pricing-create/components/pricing-create-form/pricing-prices-form.tsx +119 -0
  870. package/src/v2-routes/pricing/pricing-create/components/pricing-create-form/pricing-products-form.tsx +175 -0
  871. package/src/v2-routes/pricing/pricing-create/components/pricing-create-form/schema.ts +54 -0
  872. package/src/v2-routes/pricing/pricing-create/index.ts +1 -0
  873. package/src/v2-routes/pricing/pricing-create/pricing-create.tsx +10 -0
  874. package/src/v2-routes/pricing/pricing-detail/components/pricing-configuration-section/index.ts +1 -0
  875. package/src/v2-routes/pricing/pricing-detail/components/pricing-configuration-section/pricing-configuration-section.tsx +90 -0
  876. package/src/v2-routes/pricing/pricing-detail/components/pricing-general-section/index.ts +1 -0
  877. package/src/v2-routes/pricing/pricing-detail/components/pricing-general-section/pricing-general-section.tsx +110 -0
  878. package/src/v2-routes/pricing/pricing-detail/components/pricing-product-section/index.ts +1 -0
  879. package/src/v2-routes/pricing/pricing-detail/components/pricing-product-section/pricing-product-section.tsx +217 -0
  880. package/src/v2-routes/pricing/pricing-detail/index.ts +2 -0
  881. package/src/v2-routes/pricing/pricing-detail/loader.ts +20 -0
  882. package/src/v2-routes/pricing/pricing-detail/pricing-detail.tsx +37 -0
  883. package/src/v2-routes/pricing/pricing-edit/components/edit-price-list-form/edit-price-list-form.tsx +131 -0
  884. package/src/v2-routes/pricing/pricing-edit/components/edit-price-list-form/index.ts +1 -0
  885. package/src/v2-routes/pricing/pricing-edit/index.ts +1 -0
  886. package/src/v2-routes/pricing/pricing-edit/pricing-edit.tsx +28 -0
  887. package/src/v2-routes/pricing/pricing-list/components/pricing-list-table/index.ts +1 -0
  888. package/src/v2-routes/pricing/pricing-list/components/pricing-list-table/pricing-list-table.tsx +69 -0
  889. package/src/v2-routes/pricing/pricing-list/components/pricing-list-table/pricing-table-actions.tsx +61 -0
  890. package/src/v2-routes/pricing/pricing-list/components/pricing-list-table/use-pricing-table-columns.tsx +43 -0
  891. package/src/v2-routes/pricing/pricing-list/components/pricing-list-table/use-pricing-table-filters.tsx +18 -0
  892. package/src/v2-routes/pricing/pricing-list/components/pricing-list-table/use-pricing-table-query.tsx +23 -0
  893. package/src/v2-routes/pricing/pricing-list/index.ts +1 -0
  894. package/src/v2-routes/pricing/pricing-list/pricing-list.tsx +11 -0
  895. package/src/v2-routes/pricing/pricing-products/index.ts +1 -0
  896. package/src/v2-routes/pricing/pricing-products/pricing-products.tsx +5 -0
  897. package/src/v2-routes/pricing/pricing-products-prices/components/pricing-products-prices-form/index.ts +1 -0
  898. package/src/v2-routes/pricing/pricing-products-prices/components/pricing-products-prices-form/pricing-products-prices-form.tsx +388 -0
  899. package/src/v2-routes/pricing/pricing-products-prices/index.ts +1 -0
  900. package/src/v2-routes/pricing/pricing-products-prices/pricing-products-prices.tsx +43 -0
  901. package/src/v2-routes/products/common/components/category-combobox/category-combobox.tsx +380 -0
  902. package/src/v2-routes/products/common/components/category-combobox/index.ts +1 -0
  903. package/src/v2-routes/products/common/variant-pricing-form.tsx +95 -0
  904. package/src/v2-routes/products/product-attributes/components/product-attributes-form/index.ts +1 -0
  905. package/src/v2-routes/products/product-attributes/components/product-attributes-form/product-attributes-form.tsx +265 -0
  906. package/src/v2-routes/products/product-attributes/index.ts +1 -0
  907. package/src/v2-routes/products/product-attributes/product-attributes.tsx +27 -0
  908. package/src/v2-routes/products/product-create/components/product-create-details-form/components/product-create-details-attribute-section/index.ts +1 -0
  909. package/src/v2-routes/products/product-create/components/product-create-details-form/components/product-create-details-attribute-section/product-create-details-attribute-section.tsx +155 -0
  910. package/src/v2-routes/products/product-create/components/product-create-details-form/components/product-create-details-context/index.ts +2 -0
  911. package/src/v2-routes/products/product-create/components/product-create-details-form/components/product-create-details-context/product-create-details-context.tsx +9 -0
  912. package/src/v2-routes/products/product-create/components/product-create-details-form/components/product-create-details-context/use-product-create-details-context.tsx +14 -0
  913. package/src/v2-routes/products/product-create/components/product-create-details-form/components/product-create-details-general-section/index.ts +1 -0
  914. package/src/v2-routes/products/product-create/components/product-create-details-form/components/product-create-details-general-section/product-create-general-section.tsx +106 -0
  915. package/src/v2-routes/products/product-create/components/product-create-details-form/components/product-create-details-media-section/index.ts +1 -0
  916. package/src/v2-routes/products/product-create/components/product-create-details-form/components/product-create-details-media-section/product-create-details-media-section.tsx +69 -0
  917. package/src/v2-routes/products/product-create/components/product-create-details-form/components/product-create-details-organize-section/index.ts +1 -0
  918. package/src/v2-routes/products/product-create/components/product-create-details-form/components/product-create-details-organize-section/product-create-details-organize-section.tsx +193 -0
  919. package/src/v2-routes/products/product-create/components/product-create-details-form/components/product-create-details-variant-section/index.ts +1 -0
  920. package/src/v2-routes/products/product-create/components/product-create-details-form/components/product-create-details-variant-section/product-create-details-variant-section.tsx +428 -0
  921. package/src/v2-routes/products/product-create/components/product-create-details-form/components/product-create-sales-channel-drawer/index.ts +1 -0
  922. package/src/v2-routes/products/product-create/components/product-create-details-form/components/product-create-sales-channel-drawer/product-create-sales-channel-drawer.tsx +198 -0
  923. package/src/v2-routes/products/product-create/components/product-create-details-form/index.ts +1 -0
  924. package/src/v2-routes/products/product-create/components/product-create-details-form/product-create-details-form.tsx +61 -0
  925. package/src/v2-routes/products/product-create/components/product-create-form/index.ts +1 -0
  926. package/src/v2-routes/products/product-create/components/product-create-form/product-create-form.tsx +189 -0
  927. package/src/v2-routes/products/product-create/constants.ts +78 -0
  928. package/src/v2-routes/products/product-create/index.ts +1 -0
  929. package/src/v2-routes/products/product-create/product-create.tsx +10 -0
  930. package/src/v2-routes/products/product-create/types.ts +4 -0
  931. package/src/v2-routes/products/product-create/utils.ts +51 -0
  932. package/src/v2-routes/products/product-create-option/components/create-product-option-form/create-product-option-form.tsx +118 -0
  933. package/src/v2-routes/products/product-create-option/components/create-product-option-form/index.ts +1 -0
  934. package/src/v2-routes/products/product-create-option/index.ts +1 -0
  935. package/src/v2-routes/products/product-create-option/product-create-option.tsx +26 -0
  936. package/src/v2-routes/products/product-create-variant/components/create-product-variant-form/create-product-variant-form.tsx +482 -0
  937. package/src/v2-routes/products/product-create-variant/components/create-product-variant-form/index.ts +1 -0
  938. package/src/v2-routes/products/product-create-variant/index.ts +1 -0
  939. package/src/v2-routes/products/product-create-variant/product-create-variant.tsx +26 -0
  940. package/src/v2-routes/products/product-detail/components/product-attribute-section/index.ts +1 -0
  941. package/src/v2-routes/products/product-detail/components/product-attribute-section/product-attribute-section.tsx +48 -0
  942. package/src/v2-routes/products/product-detail/components/product-general-section/index.ts +1 -0
  943. package/src/v2-routes/products/product-detail/components/product-general-section/product-general-section.tsx +101 -0
  944. package/src/v2-routes/products/product-detail/components/product-media-section/index.ts +1 -0
  945. package/src/v2-routes/products/product-detail/components/product-media-section/product-media-section.tsx +185 -0
  946. package/src/v2-routes/products/product-detail/components/product-option-section/index.ts +1 -0
  947. package/src/v2-routes/products/product-detail/components/product-option-section/product-option-section.tsx +113 -0
  948. package/src/v2-routes/products/product-detail/components/product-organization-section/index.ts +1 -0
  949. package/src/v2-routes/products/product-detail/components/product-organization-section/product-organization-section.tsx +95 -0
  950. package/src/v2-routes/products/product-detail/components/product-sales-channel-section/index.ts +1 -0
  951. package/src/v2-routes/products/product-detail/components/product-sales-channel-section/product-sales-channel-section.tsx +106 -0
  952. package/src/v2-routes/products/product-detail/components/product-variant-section/index.ts +1 -0
  953. package/src/v2-routes/products/product-detail/components/product-variant-section/product-variant-section.tsx +94 -0
  954. package/src/v2-routes/products/product-detail/components/product-variant-section/use-variant-table-columns.tsx +152 -0
  955. package/src/v2-routes/products/product-detail/components/product-variant-section/use-variant-table-filters.tsx +58 -0
  956. package/src/v2-routes/products/product-detail/components/product-variant-section/use-variant-table-query.tsx +51 -0
  957. package/src/v2-routes/products/product-detail/index.ts +2 -0
  958. package/src/v2-routes/products/product-detail/loader.ts +22 -0
  959. package/src/v2-routes/products/product-detail/product-detail.tsx +94 -0
  960. package/src/v2-routes/products/product-edit/components/edit-product-form/edit-product-form.tsx +260 -0
  961. package/src/v2-routes/products/product-edit/components/edit-product-form/index.ts +1 -0
  962. package/src/v2-routes/products/product-edit/index.ts +1 -0
  963. package/src/v2-routes/products/product-edit/product-edit.tsx +27 -0
  964. package/src/v2-routes/products/product-edit-option/components/edit-product-option-form/edit-product-option-form.tsx +120 -0
  965. package/src/v2-routes/products/product-edit-option/components/edit-product-option-form/index.ts +1 -0
  966. package/src/v2-routes/products/product-edit-option/index.ts +1 -0
  967. package/src/v2-routes/products/product-edit-option/product-edit-option.tsx +34 -0
  968. package/src/v2-routes/products/product-edit-variant/components/product-edit-variant-form/index.ts +1 -0
  969. package/src/v2-routes/products/product-edit-variant/components/product-edit-variant-form/product-edit-variant-form.tsx +506 -0
  970. package/src/v2-routes/products/product-edit-variant/index.ts +1 -0
  971. package/src/v2-routes/products/product-edit-variant/loader.ts +34 -0
  972. package/src/v2-routes/products/product-edit-variant/product-edit-variant.tsx +53 -0
  973. package/src/v2-routes/products/product-list/components/product-list-table/index.ts +1 -0
  974. package/src/v2-routes/products/product-list/components/product-list-table/product-list-table.tsx +166 -0
  975. package/src/v2-routes/products/product-list/index.ts +2 -0
  976. package/src/v2-routes/products/product-list/loader.ts +23 -0
  977. package/src/v2-routes/products/product-list/product-list.tsx +9 -0
  978. package/src/v2-routes/products/product-media/components/edit-product-media-form/edit-product-media-form.tsx +414 -0
  979. package/src/v2-routes/products/product-media/components/edit-product-media-form/index.ts +1 -0
  980. package/src/v2-routes/products/product-media/components/product-media-gallery/index.ts +1 -0
  981. package/src/v2-routes/products/product-media/components/product-media-gallery/product-media-gallery.tsx +310 -0
  982. package/src/v2-routes/products/product-media/components/product-media-view/index.ts +1 -0
  983. package/src/v2-routes/products/product-media/components/product-media-view/product-media-view-context.tsx +9 -0
  984. package/src/v2-routes/products/product-media/components/product-media-view/product-media-view.tsx +55 -0
  985. package/src/v2-routes/products/product-media/components/product-media-view/use-product-media-view.tsx +14 -0
  986. package/src/v2-routes/products/product-media/index.ts +1 -0
  987. package/src/v2-routes/products/product-media/product-media.tsx +22 -0
  988. package/src/v2-routes/products/product-organization/components/product-organization-form/index.ts +1 -0
  989. package/src/v2-routes/products/product-organization/components/product-organization-form/product-organization-form.tsx +204 -0
  990. package/src/v2-routes/products/product-organization/index.ts +1 -0
  991. package/src/v2-routes/products/product-organization/product-organization.tsx +27 -0
  992. package/src/v2-routes/products/product-prices/index.ts +1 -0
  993. package/src/v2-routes/products/product-prices/pricing-edit.tsx +85 -0
  994. package/src/v2-routes/products/product-prices/product-prices.tsx +21 -0
  995. package/src/v2-routes/products/product-sales-channels/components/edit-sales-channels-form/edit-sales-channels-form.tsx +194 -0
  996. package/src/v2-routes/products/product-sales-channels/components/edit-sales-channels-form/index.ts +1 -0
  997. package/src/v2-routes/products/product-sales-channels/index.ts +1 -0
  998. package/src/v2-routes/products/product-sales-channels/product-sales-channels.tsx +20 -0
  999. package/src/v2-routes/profile/profile-detail/components/profile-general-section/index.ts +1 -0
  1000. package/src/v2-routes/profile/profile-detail/components/profile-general-section/profile-general-section.tsx +66 -0
  1001. package/src/v2-routes/profile/profile-detail/index.ts +1 -0
  1002. package/src/v2-routes/profile/profile-detail/profile-detail.tsx +26 -0
  1003. package/src/v2-routes/profile/profile-edit/components/edit-profile-form/edit-profile-form.tsx +202 -0
  1004. package/src/v2-routes/profile/profile-edit/index.ts +1 -0
  1005. package/src/v2-routes/profile/profile-edit/profile-edit.tsx +26 -0
  1006. package/src/v2-routes/promotions/common/edit-rules/components/edit-rules-form/edit-rules-form.tsx +423 -0
  1007. package/src/v2-routes/promotions/common/edit-rules/components/edit-rules-form/index.ts +1 -0
  1008. package/src/v2-routes/promotions/common/edit-rules/components/edit-rules-form/utils.ts +52 -0
  1009. package/src/v2-routes/promotions/common/edit-rules/components/edit-rules-wrapper/edit-rules-wrapper.tsx +137 -0
  1010. package/src/v2-routes/promotions/common/edit-rules/components/edit-rules-wrapper/index.ts +1 -0
  1011. package/src/v2-routes/promotions/common/edit-rules/edit-rules.tsx +63 -0
  1012. package/src/v2-routes/promotions/common/edit-rules/index.ts +1 -0
  1013. package/src/v2-routes/promotions/promotion-add-campaign/components/add-campaign-promotion-form/add-campaign-promotion-form.tsx +189 -0
  1014. package/src/v2-routes/promotions/promotion-add-campaign/components/add-campaign-promotion-form/campaign-details.tsx +116 -0
  1015. package/src/v2-routes/promotions/promotion-add-campaign/components/add-campaign-promotion-form/index.ts +1 -0
  1016. package/src/v2-routes/promotions/promotion-add-campaign/index.ts +1 -0
  1017. package/src/v2-routes/promotions/promotion-add-campaign/promotion-add-campaign.tsx +36 -0
  1018. package/src/v2-routes/promotions/promotion-create/components/create-promotion-form/constants.ts +11 -0
  1019. package/src/v2-routes/promotions/promotion-create/components/create-promotion-form/create-promotion-form.tsx +780 -0
  1020. package/src/v2-routes/promotions/promotion-create/components/create-promotion-form/form-schema.ts +36 -0
  1021. package/src/v2-routes/promotions/promotion-create/components/create-promotion-form/index.ts +1 -0
  1022. package/src/v2-routes/promotions/promotion-create/components/create-promotion-form/templates.ts +62 -0
  1023. package/src/v2-routes/promotions/promotion-create/index.ts +1 -0
  1024. package/src/v2-routes/promotions/promotion-create/promotion-create.tsx +46 -0
  1025. package/src/v2-routes/promotions/promotion-detail/components/campaign-section/campaign-section.tsx +116 -0
  1026. package/src/v2-routes/promotions/promotion-detail/components/campaign-section/index.ts +1 -0
  1027. package/src/v2-routes/promotions/promotion-detail/components/promotion-conditions-section/index.ts +1 -0
  1028. package/src/v2-routes/promotions/promotion-detail/components/promotion-conditions-section/promotion-conditions-section.tsx +92 -0
  1029. package/src/v2-routes/promotions/promotion-detail/components/promotion-general-section/index.ts +1 -0
  1030. package/src/v2-routes/promotions/promotion-detail/components/promotion-general-section/promotion-general-section.tsx +160 -0
  1031. package/src/v2-routes/promotions/promotion-detail/index.ts +2 -0
  1032. package/src/v2-routes/promotions/promotion-detail/loader.ts +21 -0
  1033. package/src/v2-routes/promotions/promotion-detail/promotion-detail.tsx +59 -0
  1034. package/src/v2-routes/promotions/promotion-edit-details/components/edit-promotion-form/edit-promotion-details-form.tsx +310 -0
  1035. package/src/v2-routes/promotions/promotion-edit-details/components/edit-promotion-form/index.ts +1 -0
  1036. package/src/v2-routes/promotions/promotion-edit-details/index.ts +1 -0
  1037. package/src/v2-routes/promotions/promotion-edit-details/promotion-edit-details.tsx +30 -0
  1038. package/src/v2-routes/promotions/promotion-list/components/promotion-list-table/index.ts +1 -0
  1039. package/src/v2-routes/promotions/promotion-list/components/promotion-list-table/promotion-list-table.tsx +155 -0
  1040. package/src/v2-routes/promotions/promotion-list/index.ts +2 -0
  1041. package/src/v2-routes/promotions/promotion-list/loader.ts +34 -0
  1042. package/src/v2-routes/promotions/promotion-list/promotions-list.tsx +9 -0
  1043. package/src/v2-routes/regions/common/constants.ts +4 -0
  1044. package/src/v2-routes/regions/common/hooks/use-countries.tsx +67 -0
  1045. package/src/v2-routes/regions/common/hooks/use-country-table-columns.tsx +25 -0
  1046. package/src/v2-routes/regions/common/hooks/use-country-table-query.tsx +25 -0
  1047. package/src/v2-routes/regions/region-add-countries/components/add-countries-form/add-countries-form.tsx +207 -0
  1048. package/src/v2-routes/regions/region-add-countries/components/add-countries-form/index.ts +1 -0
  1049. package/src/v2-routes/regions/region-add-countries/index.ts +1 -0
  1050. package/src/v2-routes/regions/region-add-countries/region-add-countries.tsx +27 -0
  1051. package/src/v2-routes/regions/region-create/components/create-region-form/create-region-form.tsx +481 -0
  1052. package/src/v2-routes/regions/region-create/components/create-region-form/index.ts +1 -0
  1053. package/src/v2-routes/regions/region-create/index.ts +1 -0
  1054. package/src/v2-routes/regions/region-create/region-create.tsx +29 -0
  1055. package/src/v2-routes/regions/region-detail/components/region-country-section/index.ts +1 -0
  1056. package/src/v2-routes/regions/region-detail/components/region-country-section/region-country-section.tsx +254 -0
  1057. package/src/v2-routes/regions/region-detail/components/region-general-section/index.ts +1 -0
  1058. package/src/v2-routes/regions/region-detail/components/region-general-section/region-general-section.tsx +118 -0
  1059. package/src/v2-routes/regions/region-detail/index.ts +2 -0
  1060. package/src/v2-routes/regions/region-detail/loader.ts +22 -0
  1061. package/src/v2-routes/regions/region-detail/region-detail.tsx +45 -0
  1062. package/src/v2-routes/regions/region-edit/components/edit-region-form/edit-region-form.tsx +168 -0
  1063. package/src/v2-routes/regions/region-edit/components/edit-region-form/index.ts +1 -0
  1064. package/src/v2-routes/regions/region-edit/index.ts +1 -0
  1065. package/src/v2-routes/regions/region-edit/region-edit.tsx +61 -0
  1066. package/src/v2-routes/regions/region-list/components/region-list-table/index.ts +1 -0
  1067. package/src/v2-routes/regions/region-list/components/region-list-table/region-list-table.tsx +163 -0
  1068. package/src/v2-routes/regions/region-list/index.ts +1 -0
  1069. package/src/v2-routes/regions/region-list/region-list.tsx +11 -0
  1070. package/src/v2-routes/reservations/reservation-detail/components/edit-reservation/components/edit-reservation-form.tsx +208 -0
  1071. package/src/v2-routes/reservations/reservation-detail/components/edit-reservation/components/index.tsx +1 -0
  1072. package/src/v2-routes/reservations/reservation-detail/components/edit-reservation/edit-reservation-modal.tsx +53 -0
  1073. package/src/v2-routes/reservations/reservation-detail/components/edit-reservation/index.ts +1 -0
  1074. package/src/v2-routes/reservations/reservation-detail/components/reservation-general-section/index.ts +1 -0
  1075. package/src/v2-routes/reservations/reservation-detail/components/reservation-general-section/reservation-general-section.tsx +89 -0
  1076. package/src/v2-routes/reservations/reservation-detail/index.ts +2 -0
  1077. package/src/v2-routes/reservations/reservation-detail/loader.ts +20 -0
  1078. package/src/v2-routes/reservations/reservation-detail/reservation-edit.tsx +53 -0
  1079. package/src/v2-routes/reservations/reservation-list/components/reservation-list-table/index.ts +1 -0
  1080. package/src/v2-routes/reservations/reservation-list/components/reservation-list-table/reservation-actions.tsx +57 -0
  1081. package/src/v2-routes/reservations/reservation-list/components/reservation-list-table/reservation-list-table.tsx +62 -0
  1082. package/src/v2-routes/reservations/reservation-list/components/reservation-list-table/use-reservation-table-columns.tsx +104 -0
  1083. package/src/v2-routes/reservations/reservation-list/components/reservation-list-table/use-reservation-table-filters.tsx +35 -0
  1084. package/src/v2-routes/reservations/reservation-list/components/reservation-list-table/use-reservation-table-query.tsx +32 -0
  1085. package/src/v2-routes/reservations/reservation-list/constants.ts +1 -0
  1086. package/src/v2-routes/reservations/reservation-list/create-reservation/components/create-reservation-form/create-reservation-form.tsx +286 -0
  1087. package/src/v2-routes/reservations/reservation-list/create-reservation/components/create-reservation-form/index.ts +1 -0
  1088. package/src/v2-routes/reservations/reservation-list/create-reservation/create-reservation-modal.tsx +10 -0
  1089. package/src/v2-routes/reservations/reservation-list/create-reservation/index.ts +1 -0
  1090. package/src/v2-routes/reservations/reservation-list/index.ts +1 -0
  1091. package/src/v2-routes/reservations/reservation-list/reservation-list.tsx +11 -0
  1092. package/src/v2-routes/sales-channels/sales-channel-add-products/components/add-products-to-sales-channel-form.tsx +243 -0
  1093. package/src/v2-routes/sales-channels/sales-channel-add-products/components/index.ts +1 -0
  1094. package/src/v2-routes/sales-channels/sales-channel-add-products/index.ts +1 -0
  1095. package/src/v2-routes/sales-channels/sales-channel-add-products/sales-channel-add-products.tsx +26 -0
  1096. package/src/v2-routes/sales-channels/sales-channel-create/components/create-sales-channel-form/create-sales-channel-form.tsx +157 -0
  1097. package/src/v2-routes/sales-channels/sales-channel-create/components/create-sales-channel-form/index.ts +1 -0
  1098. package/src/v2-routes/sales-channels/sales-channel-create/index.ts +1 -0
  1099. package/src/v2-routes/sales-channels/sales-channel-create/sales-channel-create.tsx +10 -0
  1100. package/src/v2-routes/sales-channels/sales-channel-detail/components/sales-channel-general-section/index.ts +1 -0
  1101. package/src/v2-routes/sales-channels/sales-channel-detail/components/sales-channel-general-section/sales-channel-general-section.tsx +105 -0
  1102. package/src/v2-routes/sales-channels/sales-channel-detail/components/sales-channel-product-section/index.ts +1 -0
  1103. package/src/v2-routes/sales-channels/sales-channel-detail/components/sales-channel-product-section/sales-channel-product-section.tsx +265 -0
  1104. package/src/v2-routes/sales-channels/sales-channel-detail/index.ts +2 -0
  1105. package/src/v2-routes/sales-channels/sales-channel-detail/loader.ts +21 -0
  1106. package/src/v2-routes/sales-channels/sales-channel-detail/sales-channel-detail.tsx +31 -0
  1107. package/src/v2-routes/sales-channels/sales-channel-edit/components/edit-sales-channel-form/edit-sales-channel-form.tsx +142 -0
  1108. package/src/v2-routes/sales-channels/sales-channel-edit/components/edit-sales-channel-form/index.ts +1 -0
  1109. package/src/v2-routes/sales-channels/sales-channel-edit/index.ts +1 -0
  1110. package/src/v2-routes/sales-channels/sales-channel-edit/sales-channel-edit.tsx +36 -0
  1111. package/src/v2-routes/sales-channels/sales-channel-list/components/index.ts +1 -0
  1112. package/src/v2-routes/sales-channels/sales-channel-list/components/sales-channel-list-table.tsx +160 -0
  1113. package/src/v2-routes/sales-channels/sales-channel-list/index.ts +1 -0
  1114. package/src/v2-routes/sales-channels/sales-channel-list/sales-channel-list.tsx +11 -0
  1115. package/src/v2-routes/settings/index.ts +1 -0
  1116. package/src/v2-routes/settings/settings.tsx +15 -0
  1117. package/src/v2-routes/shipping/location-add-sales-channels/components/edit-sales-channels-form/edit-sales-channels-form.tsx +195 -0
  1118. package/src/v2-routes/shipping/location-add-sales-channels/components/edit-sales-channels-form/index.ts +1 -0
  1119. package/src/v2-routes/shipping/location-add-sales-channels/index.ts +1 -0
  1120. package/src/v2-routes/shipping/location-add-sales-channels/location-add-sales-channels.tsx +30 -0
  1121. package/src/v2-routes/shipping/location-create/components/create-location-form/create-location-form.tsx +248 -0
  1122. package/src/v2-routes/shipping/location-create/components/create-location-form/index.ts +1 -0
  1123. package/src/v2-routes/shipping/location-create/index.ts +1 -0
  1124. package/src/v2-routes/shipping/location-create/location-create.tsx +10 -0
  1125. package/src/v2-routes/shipping/location-details/components/location-general-section/index.ts +1 -0
  1126. package/src/v2-routes/shipping/location-details/components/location-general-section/location-general-section.tsx +640 -0
  1127. package/src/v2-routes/shipping/location-details/components/location-sales-channels-section/index.ts +1 -0
  1128. package/src/v2-routes/shipping/location-details/components/location-sales-channels-section/locations-sales-channels-section.tsx +79 -0
  1129. package/src/v2-routes/shipping/location-details/index.ts +2 -0
  1130. package/src/v2-routes/shipping/location-details/loader.ts +27 -0
  1131. package/src/v2-routes/shipping/location-details/location-details.tsx +55 -0
  1132. package/src/v2-routes/shipping/location-edit/components/edit-location-form/edit-location-form.tsx +237 -0
  1133. package/src/v2-routes/shipping/location-edit/components/edit-location-form/index.ts +1 -0
  1134. package/src/v2-routes/shipping/location-edit/index.ts +1 -0
  1135. package/src/v2-routes/shipping/location-edit/location-edit.tsx +36 -0
  1136. package/src/v2-routes/shipping/location-list/components/location/index.ts +1 -0
  1137. package/src/v2-routes/shipping/location-list/components/location/location.tsx +212 -0
  1138. package/src/v2-routes/shipping/location-list/const.ts +3 -0
  1139. package/src/v2-routes/shipping/location-list/index.ts +2 -0
  1140. package/src/v2-routes/shipping/location-list/loader.ts +25 -0
  1141. package/src/v2-routes/shipping/location-list/location-list.tsx +47 -0
  1142. package/src/v2-routes/shipping/service-zone-create/components/create-service-zone-form/create-service-zone-form.tsx +359 -0
  1143. package/src/v2-routes/shipping/service-zone-create/components/create-service-zone-form/index.ts +1 -0
  1144. package/src/v2-routes/shipping/service-zone-create/index.ts +2 -0
  1145. package/src/v2-routes/shipping/service-zone-create/loader.ts +24 -0
  1146. package/src/v2-routes/shipping/service-zone-create/service-zone-create.tsx +29 -0
  1147. package/src/v2-routes/shipping/service-zone-edit/components/edit-region-form/edit-service-zone-form.tsx +114 -0
  1148. package/src/v2-routes/shipping/service-zone-edit/components/edit-region-form/index.ts +1 -0
  1149. package/src/v2-routes/shipping/service-zone-edit/index.ts +1 -0
  1150. package/src/v2-routes/shipping/service-zone-edit/service-zone-edit.tsx +50 -0
  1151. package/src/v2-routes/shipping/shipping-option-edit/components/edit-region-form/edit-shipping-option-form.tsx +278 -0
  1152. package/src/v2-routes/shipping/shipping-option-edit/components/edit-region-form/index.ts +1 -0
  1153. package/src/v2-routes/shipping/shipping-option-edit/index.ts +1 -0
  1154. package/src/v2-routes/shipping/shipping-option-edit/shipping-option-edit.tsx +44 -0
  1155. package/src/v2-routes/shipping/shipping-options-create/components/create-shipping-options-form/create-shipping-options-form.tsx +476 -0
  1156. package/src/v2-routes/shipping/shipping-options-create/components/create-shipping-options-form/create-shipping-options-prices-form.tsx +152 -0
  1157. package/src/v2-routes/shipping/shipping-options-create/components/create-shipping-options-form/index.ts +1 -0
  1158. package/src/v2-routes/shipping/shipping-options-create/index.ts +2 -0
  1159. package/src/v2-routes/shipping/shipping-options-create/loader.ts +25 -0
  1160. package/src/v2-routes/shipping/shipping-options-create/shipping-options-create.tsx +30 -0
  1161. package/src/v2-routes/shipping-profiles/shipping-profile-create/components/create-shipping-profile-form/create-shipping-profile-form.tsx +129 -0
  1162. package/src/v2-routes/shipping-profiles/shipping-profile-create/components/create-shipping-profile-form/index.ts +1 -0
  1163. package/src/v2-routes/shipping-profiles/shipping-profile-create/index.ts +1 -0
  1164. package/src/v2-routes/shipping-profiles/shipping-profile-create/shipping-profile-create.tsx +12 -0
  1165. package/src/v2-routes/shipping-profiles/shipping-profile-detail/components/shipping-profile-general-section/index.ts +1 -0
  1166. package/src/v2-routes/shipping-profiles/shipping-profile-detail/components/shipping-profile-general-section/shipping-profile-general-section.tsx +80 -0
  1167. package/src/v2-routes/shipping-profiles/shipping-profile-detail/index.ts +1 -0
  1168. package/src/v2-routes/shipping-profiles/shipping-profile-detail/shipping-profile-detail.tsx +36 -0
  1169. package/src/v2-routes/shipping-profiles/shipping-profiles-list/components/shipping-profile-list-table/index.ts +1 -0
  1170. package/src/v2-routes/shipping-profiles/shipping-profiles-list/components/shipping-profile-list-table/shipping-options-row-actions.tsx +68 -0
  1171. package/src/v2-routes/shipping-profiles/shipping-profiles-list/components/shipping-profile-list-table/shipping-profile-list-table.tsx +68 -0
  1172. package/src/v2-routes/shipping-profiles/shipping-profiles-list/components/shipping-profile-list-table/use-shipping-profile-table-columns.tsx +31 -0
  1173. package/src/v2-routes/shipping-profiles/shipping-profiles-list/components/shipping-profile-list-table/use-shipping-profile-table-filters.tsx +33 -0
  1174. package/src/v2-routes/shipping-profiles/shipping-profiles-list/components/shipping-profile-list-table/use-shipping-profile-table-query.tsx +30 -0
  1175. package/src/v2-routes/shipping-profiles/shipping-profiles-list/index.ts +1 -0
  1176. package/src/v2-routes/shipping-profiles/shipping-profiles-list/shipping-profile-list.tsx +11 -0
  1177. package/src/v2-routes/store/common/hooks/use-currencies-table-columns.tsx +24 -0
  1178. package/src/v2-routes/store/common/hooks/use-currencies-table-query.tsx +21 -0
  1179. package/src/v2-routes/store/store-add-currencies/components/add-currencies-form/add-currencies-form.tsx +229 -0
  1180. package/src/v2-routes/store/store-add-currencies/index.ts +1 -0
  1181. package/src/v2-routes/store/store-add-currencies/store-add-currencies.tsx +17 -0
  1182. package/src/v2-routes/store/store-detail/components/store-currency-section/store-currencies-section.tsx/index.ts +1 -0
  1183. package/src/v2-routes/store/store-detail/components/store-currency-section/store-currencies-section.tsx/store-currency-section.tsx +292 -0
  1184. package/src/v2-routes/store/store-detail/components/store-general-section/index.ts +1 -0
  1185. package/src/v2-routes/store/store-detail/components/store-general-section/store-general-section.tsx +80 -0
  1186. package/src/v2-routes/store/store-detail/index.ts +2 -0
  1187. package/src/v2-routes/store/store-detail/loader.ts +19 -0
  1188. package/src/v2-routes/store/store-detail/store-detail.tsx +37 -0
  1189. package/src/v2-routes/store/store-edit/components/edit-store-form/edit-store-form.tsx +152 -0
  1190. package/src/v2-routes/store/store-edit/index.ts +1 -0
  1191. package/src/v2-routes/store/store-edit/store-edit.tsx +25 -0
  1192. package/src/v2-routes/taxes/common/components/conditions-drawer/conditions-drawer.tsx +663 -0
  1193. package/src/v2-routes/taxes/common/components/conditions-drawer/index.ts +1 -0
  1194. package/src/v2-routes/taxes/common/components/tax-region-create-form/index.ts +1 -0
  1195. package/src/v2-routes/taxes/common/components/tax-region-create-form/tax-region-create-form.tsx +250 -0
  1196. package/src/v2-routes/taxes/common/constants.ts +11 -0
  1197. package/src/v2-routes/taxes/common/hooks/columns/use-customer-group-conditions-table-columns.tsx +46 -0
  1198. package/src/v2-routes/taxes/common/hooks/columns/use-product-collection-conditions-table-columns.tsx +60 -0
  1199. package/src/v2-routes/taxes/common/hooks/columns/use-product-conditions-table-columns.tsx +46 -0
  1200. package/src/v2-routes/taxes/common/hooks/columns/use-product-tag-conditions-table-columns.tsx +48 -0
  1201. package/src/v2-routes/taxes/common/hooks/columns/use-product-type-conditions-table-columns.tsx +49 -0
  1202. package/src/v2-routes/taxes/common/hooks/filters/use-customer-group-conditions-table-filters.tsx +17 -0
  1203. package/src/v2-routes/taxes/common/hooks/filters/use-product-collection-conditions-table-filters.tsx +17 -0
  1204. package/src/v2-routes/taxes/common/hooks/filters/use-product-tag-conditions-table-filters.tsx +17 -0
  1205. package/src/v2-routes/taxes/common/hooks/filters/use-product-type-conditions-table-filters.tsx +17 -0
  1206. package/src/v2-routes/taxes/common/hooks/query/use-product-collection-conditions-table-query.tsx +42 -0
  1207. package/src/v2-routes/taxes/common/hooks/query/use-product-tag-conditions-table-query.tsx +39 -0
  1208. package/src/v2-routes/taxes/common/hooks/query/use-product-type-conditions-table-query.tsx +29 -0
  1209. package/src/v2-routes/taxes/common/types.ts +12 -0
  1210. package/src/v2-routes/taxes/tax-province-create/index.ts +3 -0
  1211. package/src/v2-routes/taxes/tax-province-create/tax-province-create.tsx +36 -0
  1212. package/src/v2-routes/taxes/tax-rate-create/components/condition/condition.tsx +53 -0
  1213. package/src/v2-routes/taxes/tax-rate-create/components/condition/index.ts +1 -0
  1214. package/src/v2-routes/taxes/tax-rate-create/components/index.ts +2 -0
  1215. package/src/v2-routes/taxes/tax-rate-create/components/tax-rate-create-form/index.ts +1 -0
  1216. package/src/v2-routes/taxes/tax-rate-create/components/tax-rate-create-form/tax-rate-create-form.tsx +480 -0
  1217. package/src/v2-routes/taxes/tax-rate-create/index.ts +3 -0
  1218. package/src/v2-routes/taxes/tax-rate-create/tax-rate-create.tsx +21 -0
  1219. package/src/v2-routes/taxes/tax-rate-edit/components/index.ts +1 -0
  1220. package/src/v2-routes/taxes/tax-rate-edit/components/tax-rate-edit-form/index.ts +1 -0
  1221. package/src/v2-routes/taxes/tax-rate-edit/components/tax-rate-edit-form/tax-rate-edit-form.tsx +488 -0
  1222. package/src/v2-routes/taxes/tax-rate-edit/index.ts +4 -0
  1223. package/src/v2-routes/taxes/tax-rate-edit/loader.ts +21 -0
  1224. package/src/v2-routes/taxes/tax-rate-edit/tax-rate-edit.tsx +34 -0
  1225. package/src/v2-routes/taxes/tax-region-create/index.ts +3 -0
  1226. package/src/v2-routes/taxes/tax-region-create/tax-region-create.tsx +21 -0
  1227. package/src/v2-routes/taxes/tax-region-detail/components/index.ts +2 -0
  1228. package/src/v2-routes/taxes/tax-region-detail/components/tax-rate-list/index.ts +1 -0
  1229. package/src/v2-routes/taxes/tax-region-detail/components/tax-rate-list/tax-rate-list.tsx +214 -0
  1230. package/src/v2-routes/taxes/tax-region-detail/components/tax-region-general-detail/index.ts +1 -0
  1231. package/src/v2-routes/taxes/tax-region-detail/components/tax-region-general-detail/tax-region-general-detail.tsx +41 -0
  1232. package/src/v2-routes/taxes/tax-region-detail/index.ts +4 -0
  1233. package/src/v2-routes/taxes/tax-region-detail/loader.ts +21 -0
  1234. package/src/v2-routes/taxes/tax-region-detail/tax-region-detail.tsx +30 -0
  1235. package/src/v2-routes/taxes/tax-region-list/components/region-list-table/index.ts +1 -0
  1236. package/src/v2-routes/taxes/tax-region-list/components/region-list-table/tax-region-list-table.tsx +131 -0
  1237. package/src/v2-routes/taxes/tax-region-list/index.ts +1 -0
  1238. package/src/v2-routes/taxes/tax-region-list/tax-region-list.tsx +11 -0
  1239. package/src/v2-routes/users/user-detail/components/user-general-section/index.ts +1 -0
  1240. package/src/v2-routes/users/user-detail/components/user-general-section/user-general-section.tsx +88 -0
  1241. package/src/v2-routes/users/user-detail/index.ts +2 -0
  1242. package/src/v2-routes/users/user-detail/loader.ts +21 -0
  1243. package/src/v2-routes/users/user-detail/user-detail.tsx +39 -0
  1244. package/src/v2-routes/users/user-edit/components/edit-user-form/edit-user-form.tsx +99 -0
  1245. package/src/v2-routes/users/user-edit/components/edit-user-form/index.ts +1 -0
  1246. package/src/v2-routes/users/user-edit/index.ts +1 -0
  1247. package/src/v2-routes/users/user-edit/user-edit.tsx +25 -0
  1248. package/src/v2-routes/users/user-invite/components/invite-user-form/invite-user-form.tsx +306 -0
  1249. package/src/v2-routes/users/user-invite/index.ts +1 -0
  1250. package/src/v2-routes/users/user-invite/user-invite.tsx +10 -0
  1251. package/src/v2-routes/users/user-list/components/user-list-table/index.ts +1 -0
  1252. package/src/v2-routes/users/user-list/components/user-list-table/use-user-table-columns.tsx +42 -0
  1253. package/src/v2-routes/users/user-list/components/user-list-table/use-user-table-query.tsx +24 -0
  1254. package/src/v2-routes/users/user-list/components/user-list-table/user-list-table.tsx +66 -0
  1255. package/src/v2-routes/users/user-list/components/user-list-table/user-row-actions.tsx +24 -0
  1256. package/src/v2-routes/users/user-list/index.ts +1 -0
  1257. package/src/v2-routes/users/user-list/user-list.tsx +11 -0
  1258. package/src/v2-routes/workflow-executions/constants.ts +26 -0
  1259. package/src/v2-routes/workflow-executions/types.ts +95 -0
  1260. package/src/v2-routes/workflow-executions/utils.ts +101 -0
  1261. package/src/v2-routes/workflow-executions/workflow-execution-detail/components/workflow-execution-general-section/index.ts +1 -0
  1262. package/src/v2-routes/workflow-executions/workflow-execution-detail/components/workflow-execution-general-section/workflow-execution-general-section.tsx +118 -0
  1263. package/src/v2-routes/workflow-executions/workflow-execution-detail/components/workflow-execution-history-section/index.ts +1 -0
  1264. package/src/v2-routes/workflow-executions/workflow-execution-detail/components/workflow-execution-history-section/workflow-execution-history-section.tsx +324 -0
  1265. package/src/v2-routes/workflow-executions/workflow-execution-detail/components/workflow-execution-payload-section/index.ts +1 -0
  1266. package/src/v2-routes/workflow-executions/workflow-execution-detail/components/workflow-execution-payload-section/workflow-execution-payload-section.tsx +24 -0
  1267. package/src/v2-routes/workflow-executions/workflow-execution-detail/components/workflow-execution-timeline-section/index.ts +1 -0
  1268. package/src/v2-routes/workflow-executions/workflow-execution-detail/components/workflow-execution-timeline-section/workflow-execution-timeline-section.tsx +435 -0
  1269. package/src/v2-routes/workflow-executions/workflow-execution-detail/index.ts +1 -0
  1270. package/src/v2-routes/workflow-executions/workflow-execution-detail/loader.ts +21 -0
  1271. package/src/v2-routes/workflow-executions/workflow-execution-detail/workflow-detail.tsx +33 -0
  1272. package/src/v2-routes/workflow-executions/workflow-execution-list/components/workflow-execution-list-table/index.ts +1 -0
  1273. package/src/v2-routes/workflow-executions/workflow-execution-list/components/workflow-execution-list-table/use-workflow-execution-table-columns.tsx +72 -0
  1274. package/src/v2-routes/workflow-executions/workflow-execution-list/components/workflow-execution-list-table/use-workflow-execution-table-query.tsx +25 -0
  1275. package/src/v2-routes/workflow-executions/workflow-execution-list/components/workflow-execution-list-table/workflow-execution-list-table.tsx +73 -0
  1276. package/src/v2-routes/workflow-executions/workflow-execution-list/index.ts +1 -0
  1277. package/src/v2-routes/workflow-executions/workflow-execution-list/workflow-execution-list.tsx +9 -0
  1278. package/src/vite-env.d.ts +13 -0
@@ -0,0 +1,423 @@
1
+ import { zodResolver } from "@hookform/resolvers/zod"
2
+ import { XMarkMini } from "@medusajs/icons"
3
+ import { PromotionDTO, PromotionRuleDTO } from "@medusajs/types"
4
+ import { Badge, Button, Heading, Input, Select, Text } from "@medusajs/ui"
5
+ import i18n from "i18next"
6
+ import { Fragment, useState } from "react"
7
+ import { useFieldArray, useForm } from "react-hook-form"
8
+ import { useTranslation } from "react-i18next"
9
+ import * as zod from "zod"
10
+ import { Form } from "../../../../../../components/common/form"
11
+ import { Combobox } from "../../../../../../components/inputs/combobox"
12
+ import { RouteDrawer } from "../../../../../../components/route-modal"
13
+ import { usePromotionRuleValues } from "../../../../../../hooks/api/promotions"
14
+ import { RuleTypeValues } from "../../edit-rules"
15
+ import { getDisguisedRules } from "./utils"
16
+
17
+ type EditPromotionFormProps = {
18
+ promotion: PromotionDTO
19
+ rules: PromotionRuleDTO[]
20
+ ruleType: RuleTypeValues
21
+ attributes: any[]
22
+ operators: any[]
23
+ handleSubmit: any
24
+ isSubmitting: boolean
25
+ }
26
+
27
+ const EditRules = zod.object({
28
+ rules: zod.array(
29
+ zod.object({
30
+ id: zod.string().optional(),
31
+ attribute: zod
32
+ .string()
33
+ .min(1, { message: i18n.t("promotions.form.required") }),
34
+ operator: zod
35
+ .string()
36
+ .min(1, { message: i18n.t("promotions.form.required") }),
37
+ values: zod.union([
38
+ zod.number().min(1, { message: i18n.t("promotions.form.required") }),
39
+ zod.string().min(1, { message: i18n.t("promotions.form.required") }),
40
+ zod
41
+ .array(zod.string())
42
+ .min(1, { message: i18n.t("promotions.form.required") }),
43
+ ]),
44
+ required: zod.boolean().optional(),
45
+ field_type: zod.string().optional(),
46
+ })
47
+ ),
48
+ })
49
+
50
+ const RuleValueFormField = ({
51
+ identifier,
52
+ scope,
53
+ valuesFields,
54
+ valuesRef,
55
+ fieldRule,
56
+ attributes,
57
+ ruleType,
58
+ }) => {
59
+ const attribute = attributes?.find(
60
+ (attr) => attr.value === fieldRule.attribute
61
+ )
62
+ const { values: options = [] } = usePromotionRuleValues(
63
+ ruleType,
64
+ attribute?.id,
65
+ {
66
+ enabled: !!attribute?.id && !attribute.disguised,
67
+ }
68
+ )
69
+
70
+ return (
71
+ <Form.Field
72
+ key={`${identifier}.${scope}.${valuesFields.name}-${fieldRule.attribute}`}
73
+ {...valuesFields}
74
+ render={({ field: { onChange, ref, ...field } }) => {
75
+ if (fieldRule.field_type === "number") {
76
+ return (
77
+ <Form.Item className="basis-1/2">
78
+ <Form.Control>
79
+ <Input
80
+ {...field}
81
+ type="number"
82
+ onChange={onChange}
83
+ className="bg-ui-bg-base"
84
+ ref={valuesRef}
85
+ min={1}
86
+ />
87
+ </Form.Control>
88
+ <Form.ErrorMessage />
89
+ </Form.Item>
90
+ )
91
+ } else if (fieldRule.field_type === "text") {
92
+ return (
93
+ <Form.Item className="basis-1/2">
94
+ <Form.Control>
95
+ <Input
96
+ {...field}
97
+ onChange={onChange}
98
+ className="bg-ui-bg-base"
99
+ />
100
+ </Form.Control>
101
+ <Form.ErrorMessage />
102
+ </Form.Item>
103
+ )
104
+ } else {
105
+ return (
106
+ <Form.Item className="basis-1/2">
107
+ <Form.Control>
108
+ <Combobox
109
+ {...field}
110
+ placeholder="Select Values"
111
+ options={options}
112
+ onChange={onChange}
113
+ className="bg-ui-bg-base"
114
+ />
115
+ </Form.Control>
116
+
117
+ <Form.ErrorMessage />
118
+ </Form.Item>
119
+ )
120
+ }
121
+ }}
122
+ />
123
+ )
124
+ }
125
+
126
+ export const RulesFormField = ({
127
+ form,
128
+ ruleType,
129
+ fields,
130
+ attributes,
131
+ operators,
132
+ removeRule,
133
+ updateRule,
134
+ appendRule,
135
+ setRulesToRemove,
136
+ rulesToRemove,
137
+ scope = "rules",
138
+ }) => {
139
+ const { t } = useTranslation()
140
+
141
+ return (
142
+ <div className="flex flex-col">
143
+ <Heading level="h2" className="mb-2">
144
+ {t(`promotions.fields.conditions.${ruleType}.title`)}
145
+ </Heading>
146
+
147
+ <Text className="text-ui-fg-subtle txt-small mb-10">
148
+ {t(`promotions.fields.conditions.${ruleType}.description`)}
149
+ </Text>
150
+
151
+ {fields.map((fieldRule, index) => {
152
+ const identifier = fieldRule.id
153
+ const { ref: attributeRef, ...attributeFields } = form.register(
154
+ `${scope}.${index}.attribute`
155
+ )
156
+ const { ref: operatorRef, ...operatorFields } = form.register(
157
+ `${scope}.${index}.operator`
158
+ )
159
+ const { ref: valuesRef, ...valuesFields } = form.register(
160
+ `${scope}.${index}.values`
161
+ )
162
+
163
+ return (
164
+ <Fragment key={`${fieldRule.id}.${index}`}>
165
+ <div className="bg-ui-bg-subtle border-ui-border-base flex flex-row gap-2 rounded-xl border px-2 py-2">
166
+ <div className="grow">
167
+ <Form.Field
168
+ key={`${identifier}.${scope}.${attributeFields.name}`}
169
+ {...attributeFields}
170
+ render={({ field: { onChange, ref, ...field } }) => {
171
+ const existingAttributes =
172
+ fields?.map((field) => field.attribute) || []
173
+ const attributeOptions =
174
+ attributes?.filter((attr) => {
175
+ if (attr.value === fieldRule.attribute) {
176
+ return true
177
+ }
178
+
179
+ return !existingAttributes.includes(attr.value)
180
+ }) || []
181
+
182
+ return (
183
+ <Form.Item className="mb-2">
184
+ {fieldRule.required && (
185
+ <p className="text text-ui-fg-muted txt-small">
186
+ {t("promotions.form.required")}
187
+ </p>
188
+ )}
189
+
190
+ <Form.Control>
191
+ <Select
192
+ {...field}
193
+ onValueChange={(e) => {
194
+ updateRule(index, { ...fieldRule, values: [] })
195
+ onChange(e)
196
+ }}
197
+ disabled={fieldRule.required}
198
+ >
199
+ <Select.Trigger
200
+ ref={attributeRef}
201
+ className="bg-ui-bg-base"
202
+ >
203
+ <Select.Value
204
+ placeholder={t(
205
+ "promotions.form.selectAttribute"
206
+ )}
207
+ />
208
+ </Select.Trigger>
209
+
210
+ <Select.Content>
211
+ {attributeOptions?.map((c, i) => (
212
+ <Select.Item
213
+ key={`${identifier}-attribute-option-${i}`}
214
+ value={c.value}
215
+ >
216
+ <span className="text-ui-fg-subtle">
217
+ {c.label}
218
+ </span>
219
+ </Select.Item>
220
+ ))}
221
+ </Select.Content>
222
+ </Select>
223
+ </Form.Control>
224
+ <Form.ErrorMessage />
225
+ </Form.Item>
226
+ )
227
+ }}
228
+ />
229
+
230
+ <div className="flex gap-2">
231
+ <Form.Field
232
+ key={`${identifier}.${scope}.${operatorFields.name}`}
233
+ {...operatorFields}
234
+ render={({ field: { onChange, ref, ...field } }) => {
235
+ return (
236
+ <Form.Item className="basis-1/2">
237
+ <Form.Control>
238
+ <Select
239
+ {...field}
240
+ onValueChange={onChange}
241
+ disabled={fieldRule.required}
242
+ >
243
+ <Select.Trigger
244
+ ref={operatorRef}
245
+ className="bg-ui-bg-base"
246
+ >
247
+ <Select.Value placeholder="Select Operator" />
248
+ </Select.Trigger>
249
+
250
+ <Select.Content>
251
+ {operators?.map((c, i) => (
252
+ <Select.Item
253
+ key={`${identifier}-operator-option-${i}`}
254
+ value={c.value}
255
+ >
256
+ <span className="text-ui-fg-subtle">
257
+ {c.label}
258
+ </span>
259
+ </Select.Item>
260
+ ))}
261
+ </Select.Content>
262
+ </Select>
263
+ </Form.Control>
264
+ <Form.ErrorMessage />
265
+ </Form.Item>
266
+ )
267
+ }}
268
+ />
269
+
270
+ <RuleValueFormField
271
+ identifier={identifier}
272
+ scope={scope}
273
+ valuesFields={valuesFields}
274
+ valuesRef={valuesRef}
275
+ fieldRule={fieldRule}
276
+ attributes={attributes}
277
+ ruleType={ruleType}
278
+ />
279
+ </div>
280
+ </div>
281
+
282
+ <div className="flex-none self-center px-1">
283
+ <XMarkMini
284
+ className={`text-ui-fg-muted cursor-pointer ${
285
+ fieldRule.required ? "invisible" : "visible"
286
+ }`}
287
+ onClick={() => {
288
+ if (!fieldRule.required) {
289
+ fieldRule.id &&
290
+ setRulesToRemove &&
291
+ setRulesToRemove([...rulesToRemove, fieldRule])
292
+
293
+ removeRule(index)
294
+ }
295
+ }}
296
+ />
297
+ </div>
298
+ </div>
299
+
300
+ {index < fields.length - 1 && (
301
+ <div className="relative px-6 py-3">
302
+ <div className="border-ui-border-strong absolute bottom-0 left-[40px] top-0 z-[-1] w-px bg-[linear-gradient(var(--border-strong)_33%,rgba(255,255,255,0)_0%)] bg-[length:1px_3px] bg-repeat-y"></div>
303
+
304
+ <Badge size="2xsmall" className=" text-xs">
305
+ {t("promotions.form.and")}
306
+ </Badge>
307
+ </div>
308
+ )}
309
+ </Fragment>
310
+ )
311
+ })}
312
+
313
+ <div className="mt-8">
314
+ <Button
315
+ type="button"
316
+ variant="secondary"
317
+ className="inline-block"
318
+ onClick={() => {
319
+ appendRule({
320
+ attribute: "",
321
+ operator: "",
322
+ values: [],
323
+ required: false,
324
+ })
325
+ }}
326
+ >
327
+ {t("promotions.fields.addCondition")}
328
+ </Button>
329
+
330
+ <Button
331
+ type="button"
332
+ variant="transparent"
333
+ className="text-ui-fg-muted hover:text-ui-fg-subtle ml-2 inline-block"
334
+ onClick={() => {
335
+ const indicesToRemove = fields
336
+ .map((field, index) => (field.required ? null : index))
337
+ .filter((f) => f !== null)
338
+
339
+ setRulesToRemove &&
340
+ setRulesToRemove(fields.filter((f) => !f.required))
341
+ removeRule(indicesToRemove)
342
+ }}
343
+ >
344
+ {t("promotions.fields.clearAll")}
345
+ </Button>
346
+ </div>
347
+ </div>
348
+ )
349
+ }
350
+
351
+ export const EditRulesForm = ({
352
+ promotion,
353
+ rules,
354
+ ruleType,
355
+ attributes,
356
+ operators,
357
+ handleSubmit,
358
+ isSubmitting,
359
+ }: EditPromotionFormProps) => {
360
+ const { t } = useTranslation()
361
+ const requiredAttributes = attributes?.filter((ra) => ra.required) || []
362
+ const requiredAttributeValues = requiredAttributes?.map((ra) => ra.value)
363
+ const disguisedRules =
364
+ getDisguisedRules(promotion, requiredAttributes, ruleType) || []
365
+ const [rulesToRemove, setRulesToRemove] = useState([])
366
+
367
+ const form = useForm<zod.infer<typeof EditRules>>({
368
+ defaultValues: {
369
+ rules: [...disguisedRules, ...rules].map((rule) => ({
370
+ id: rule.id,
371
+ required: requiredAttributeValues.includes(rule.attribute),
372
+ field_type: rule.field_type,
373
+ attribute: rule.attribute!,
374
+ operator: rule.operator!,
375
+ values: rule?.values?.map((v: { value: string }) => v.value!),
376
+ })),
377
+ },
378
+ resolver: zodResolver(EditRules),
379
+ })
380
+
381
+ const { fields, append, remove, update } = useFieldArray({
382
+ control: form.control,
383
+ name: "rules",
384
+ keyName: "rules_id",
385
+ })
386
+
387
+ const handleFormSubmit = form.handleSubmit(handleSubmit(rulesToRemove))
388
+
389
+ return (
390
+ <RouteDrawer.Form form={form}>
391
+ <form onSubmit={handleFormSubmit} className="flex h-full flex-col">
392
+ <RouteDrawer.Body>
393
+ <RulesFormField
394
+ form={form}
395
+ ruleType={ruleType}
396
+ attributes={attributes}
397
+ operators={operators}
398
+ fields={fields}
399
+ setRulesToRemove={setRulesToRemove}
400
+ rulesToRemove={rulesToRemove}
401
+ appendRule={append}
402
+ removeRule={remove}
403
+ updateRule={update}
404
+ />
405
+ </RouteDrawer.Body>
406
+
407
+ <RouteDrawer.Footer>
408
+ <div className="flex items-center justify-end gap-x-2">
409
+ <RouteDrawer.Close asChild>
410
+ <Button size="small" variant="secondary" disabled={isSubmitting}>
411
+ {t("actions.cancel")}
412
+ </Button>
413
+ </RouteDrawer.Close>
414
+
415
+ <Button size="small" type="submit" isLoading={isSubmitting}>
416
+ {t("actions.save")}
417
+ </Button>
418
+ </div>
419
+ </RouteDrawer.Footer>
420
+ </form>
421
+ </RouteDrawer.Form>
422
+ )
423
+ }
@@ -0,0 +1 @@
1
+ export * from "./edit-rules-form"
@@ -0,0 +1,52 @@
1
+ import { PromotionDTO } from "@medusajs/types"
2
+ import { RuleType } from "../../edit-rules"
3
+
4
+ // We are disguising couple of database columns as rules here, namely
5
+ // apply_to_quantity and buy_rules_min_quantity.
6
+ // We need to transform the database value into a disugised "rule" shape
7
+ // for the form
8
+ export function getDisguisedRules(
9
+ promotion: PromotionDTO,
10
+ requiredAttributes: any[],
11
+ ruleType: string
12
+ ) {
13
+ if (ruleType === RuleType.RULES && !requiredAttributes?.length) {
14
+ return []
15
+ }
16
+
17
+ const applyToQuantityRule = requiredAttributes.find(
18
+ (attr) => attr.id === "apply_to_quantity"
19
+ )
20
+
21
+ const buyRulesMinQuantityRule = requiredAttributes.find(
22
+ (attr) => attr.id === "buy_rules_min_quantity"
23
+ )
24
+
25
+ if (ruleType === RuleType.TARGET_RULES) {
26
+ return [
27
+ {
28
+ id: "apply_to_quantity",
29
+ attribute: "apply_to_quantity",
30
+ operator: "eq",
31
+ required: applyToQuantityRule?.required,
32
+ field_type: applyToQuantityRule?.field_type,
33
+ values: [{ value: promotion?.application_method?.apply_to_quantity }],
34
+ },
35
+ ]
36
+ }
37
+
38
+ if (ruleType === RuleType.BUY_RULES) {
39
+ return [
40
+ {
41
+ id: "buy_rules_min_quantity",
42
+ attribute: "buy_rules_min_quantity",
43
+ operator: "eq",
44
+ required: buyRulesMinQuantityRule?.required,
45
+ field_type: buyRulesMinQuantityRule?.field_type,
46
+ values: [
47
+ { value: promotion?.application_method?.buy_rules_min_quantity },
48
+ ],
49
+ },
50
+ ]
51
+ }
52
+ }
@@ -0,0 +1,137 @@
1
+ import { PromotionDTO, PromotionRuleDTO } from "@medusajs/types"
2
+ import { useRouteModal } from "../../../../../../components/route-modal"
3
+ import {
4
+ usePromotionAddRules,
5
+ usePromotionRemoveRules,
6
+ usePromotionRuleAttributes,
7
+ usePromotionRuleOperators,
8
+ usePromotionUpdateRules,
9
+ useUpdatePromotion,
10
+ } from "../../../../../../hooks/api/promotions"
11
+ import { RuleTypeValues } from "../../edit-rules"
12
+ import { EditRulesForm } from "../edit-rules-form"
13
+ import { getDisguisedRules } from "../edit-rules-form/utils"
14
+
15
+ type EditPromotionFormProps = {
16
+ promotion: PromotionDTO
17
+ rules: PromotionRuleDTO[]
18
+ ruleType: RuleTypeValues
19
+ }
20
+
21
+ export const EditRulesWrapper = ({
22
+ promotion,
23
+ rules,
24
+ ruleType,
25
+ }: EditPromotionFormProps) => {
26
+ const { handleSuccess } = useRouteModal()
27
+ const {
28
+ attributes,
29
+ isError: isAttributesError,
30
+ error: attributesError,
31
+ } = usePromotionRuleAttributes(ruleType!)
32
+
33
+ const {
34
+ operators,
35
+ isError: isOperatorsError,
36
+ error: operatorsError,
37
+ } = usePromotionRuleOperators()
38
+
39
+ if (isAttributesError || isOperatorsError) {
40
+ throw attributesError || operatorsError
41
+ }
42
+
43
+ const requiredAttributes = attributes?.filter((ra) => ra.required) || []
44
+ const disguisedRules =
45
+ getDisguisedRules(promotion, requiredAttributes, ruleType) || []
46
+
47
+ const { mutateAsync: updatePromotion } = useUpdatePromotion(promotion.id)
48
+ const { mutateAsync: addPromotionRules } = usePromotionAddRules(
49
+ promotion.id,
50
+ ruleType
51
+ )
52
+
53
+ const { mutateAsync: removePromotionRules } = usePromotionRemoveRules(
54
+ promotion.id,
55
+ ruleType
56
+ )
57
+
58
+ const { mutateAsync: updatePromotionRules, isPending } =
59
+ usePromotionUpdateRules(promotion.id, ruleType)
60
+
61
+ const handleSubmit = (rulesToRemove?: any[]) => {
62
+ return async function (data) {
63
+ const applicationMethodData: Record<any, any> = {}
64
+ const { rules: allRules = [] } = data
65
+
66
+ const disguisedRulesData = allRules.filter((rule) =>
67
+ disguisedRules.map((rule) => rule.id).includes(rule.id!)
68
+ )
69
+
70
+ // For all the rules that were disguised, convert them to actual values in the
71
+ // database, they are currently all under application_method. If more of these are coming
72
+ // up, abstract this away.
73
+ for (const rule of disguisedRulesData) {
74
+ applicationMethodData[rule.id!] = parseInt(rule.values as string)
75
+ }
76
+
77
+ // This variable will contain the rules that are actual rule objects, without the disguised
78
+ // objects
79
+ const rulesData = allRules.filter(
80
+ (rule) => !disguisedRules.map((rule) => rule.id).includes(rule.id!)
81
+ )
82
+
83
+ const rulesToCreate = rulesData.filter((rule) => !("id" in rule))
84
+ const rulesToUpdate = rulesData.filter(
85
+ (rule) => typeof rule.id === "string"
86
+ )
87
+
88
+ if (Object.keys(applicationMethodData).length) {
89
+ await updatePromotion({ application_method: applicationMethodData })
90
+ }
91
+
92
+ rulesToCreate.length &&
93
+ (await addPromotionRules({
94
+ rules: rulesToCreate.map((rule) => {
95
+ return {
96
+ attribute: rule.attribute,
97
+ operator: rule.operator,
98
+ values: rule.values,
99
+ } as any
100
+ }),
101
+ }))
102
+
103
+ rulesToRemove?.length &&
104
+ (await removePromotionRules({
105
+ rule_ids: rulesToRemove.map((r) => r.id!),
106
+ }))
107
+
108
+ rulesToUpdate.length &&
109
+ (await updatePromotionRules({
110
+ rules: rulesToUpdate.map((rule) => {
111
+ return {
112
+ id: rule.id!,
113
+ attribute: rule.attribute,
114
+ operator: rule.operator,
115
+ values: rule.values,
116
+ } as any
117
+ }),
118
+ }))
119
+
120
+ handleSuccess()
121
+ }
122
+ }
123
+
124
+ if (attributes && operators) {
125
+ return (
126
+ <EditRulesForm
127
+ promotion={promotion}
128
+ rules={rules}
129
+ ruleType={ruleType}
130
+ attributes={attributes}
131
+ operators={operators}
132
+ handleSubmit={handleSubmit}
133
+ isSubmitting={isPending}
134
+ />
135
+ )
136
+ }
137
+ }
@@ -0,0 +1 @@
1
+ export * from "./edit-rules-wrapper"
@@ -0,0 +1,63 @@
1
+ import { PromotionRuleDTO } from "@medusajs/types"
2
+ import { Heading } from "@medusajs/ui"
3
+ import { useTranslation } from "react-i18next"
4
+ import { useParams } from "react-router-dom"
5
+ import { RouteDrawer } from "../../../../components/route-modal"
6
+ import { usePromotion } from "../../../../hooks/api/promotions"
7
+ import { EditRulesWrapper } from "./components/edit-rules-wrapper"
8
+
9
+ export enum RuleType {
10
+ RULES = "rules",
11
+ BUY_RULES = "buy-rules",
12
+ TARGET_RULES = "target-rules",
13
+ }
14
+ export type RuleTypeValues = "rules" | "buy-rules" | "target-rules"
15
+
16
+ export const EditRules = () => {
17
+ const params = useParams()
18
+ const allowedParams: string[] = [
19
+ RuleType.RULES,
20
+ RuleType.BUY_RULES,
21
+ RuleType.TARGET_RULES,
22
+ ]
23
+
24
+ if (!allowedParams.includes(params.ruleType!)) {
25
+ throw "invalid page"
26
+ }
27
+
28
+ const { t } = useTranslation()
29
+ const ruleType = params.ruleType as RuleTypeValues
30
+ const id = params.id as string
31
+ const rules: PromotionRuleDTO[] = []
32
+ const { promotion, isPending: isLoading, isError, error } = usePromotion(id)
33
+
34
+ if (promotion) {
35
+ if (ruleType === RuleType.RULES) {
36
+ rules.push(...(promotion.rules || []))
37
+ } else if (ruleType === RuleType.TARGET_RULES) {
38
+ rules.push(...(promotion?.application_method?.target_rules || []))
39
+ } else if (ruleType === RuleType.BUY_RULES) {
40
+ rules.push(...(promotion.application_method?.buy_rules || []))
41
+ }
42
+ }
43
+
44
+ if (isError) {
45
+ throw error
46
+ }
47
+
48
+ return (
49
+ <RouteDrawer>
50
+ <RouteDrawer.Header>
51
+ <Heading>{t(`promotions.edit.${ruleType}.title`)}</Heading>
52
+ </RouteDrawer.Header>
53
+
54
+ {!isLoading && promotion && (
55
+ <EditRulesWrapper
56
+ promotion={promotion}
57
+ rules={rules}
58
+ ruleType={ruleType}
59
+ />
60
+ )}
61
+ </RouteDrawer>
62
+ )
63
+ }
@@ -0,0 +1 @@
1
+ export { EditRules as Component } from "./edit-rules"