@medusajs/loyalty-plugin 0.0.1 → 0.0.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (233) hide show
  1. package/.medusa/server/src/admin/index.js +30277 -0
  2. package/.medusa/server/src/admin/index.mjs +30256 -0
  3. package/.medusa/server/src/api/store/carts/[id]/store-credits/route.js +24 -0
  4. package/.medusa/server/src/api/store/carts/middlewares.js +9 -1
  5. package/.medusa/server/src/api/store/carts/validators.js +5 -2
  6. package/.medusa/server/src/links/customer-gift-card-link.js +2 -2
  7. package/.medusa/server/src/links/customer-store-credit-account-link.js +2 -2
  8. package/.medusa/server/src/links/order-line-item-gift-card-link.js +2 -2
  9. package/.medusa/server/src/workflows/carts/workflows/add-store-credits-to-cart.js +104 -0
  10. package/.medusa/server/src/workflows/hooks/after-order-created.js +2 -2
  11. package/.medusa/server/src/workflows/hooks/after-order-credit-lines-created.js +3 -3
  12. package/.medusa/server/src/workflows/hooks/before-payment-collection-refresh.js +1 -1
  13. package/.medusa/server/src/workflows/hooks/complete-cart-before-payment-authorization.js +1 -1
  14. package/.medusa/server/src/workflows/orders/workflows/refund-credit-lines.js +115 -0
  15. package/package.json +14 -9
  16. package/.medusa/server/src/admin/components/action-menu.js +0 -63
  17. package/.medusa/server/src/admin/components/chip-group.js +0 -82
  18. package/.medusa/server/src/admin/components/chip-input.js +0 -157
  19. package/.medusa/server/src/admin/components/combobox.js +0 -324
  20. package/.medusa/server/src/admin/components/conditional-tooltip.js +0 -15
  21. package/.medusa/server/src/admin/components/data-grid/components/data-grid-boolean-cell.js +0 -66
  22. package/.medusa/server/src/admin/components/data-grid/components/data-grid-cell-container.js +0 -77
  23. package/.medusa/server/src/admin/components/data-grid/components/data-grid-currency-cell.js +0 -110
  24. package/.medusa/server/src/admin/components/data-grid/components/data-grid-duplicate-cell.js +0 -16
  25. package/.medusa/server/src/admin/components/data-grid/components/data-grid-keyboard-shortcut-modal.js +0 -214
  26. package/.medusa/server/src/admin/components/data-grid/components/data-grid-number-cell.js +0 -77
  27. package/.medusa/server/src/admin/components/data-grid/components/data-grid-readonly-cell.js +0 -32
  28. package/.medusa/server/src/admin/components/data-grid/components/data-grid-root.js +0 -743
  29. package/.medusa/server/src/admin/components/data-grid/components/data-grid-row-error-indicator.js +0 -37
  30. package/.medusa/server/src/admin/components/data-grid/components/data-grid-skeleton.js +0 -54
  31. package/.medusa/server/src/admin/components/data-grid/components/data-grid-text-cell.js +0 -66
  32. package/.medusa/server/src/admin/components/data-grid/components/data-grid-toggleable-number-cell.js +0 -166
  33. package/.medusa/server/src/admin/components/data-grid/components/index.js +0 -16
  34. package/.medusa/server/src/admin/components/data-grid/context/data-grid-context.js +0 -7
  35. package/.medusa/server/src/admin/components/data-grid/context/index.js +0 -6
  36. package/.medusa/server/src/admin/components/data-grid/context/use-data-grid-context.js +0 -14
  37. package/.medusa/server/src/admin/components/data-grid/data-grid.js +0 -31
  38. package/.medusa/server/src/admin/components/data-grid/helpers/create-data-grid-column-helper.js +0 -28
  39. package/.medusa/server/src/admin/components/data-grid/helpers/create-data-grid-price-columns.js +0 -85
  40. package/.medusa/server/src/admin/components/data-grid/helpers/index.js +0 -6
  41. package/.medusa/server/src/admin/components/data-grid/hooks/index.js +0 -31
  42. package/.medusa/server/src/admin/components/data-grid/hooks/use-data-grid-cell-error.js +0 -50
  43. package/.medusa/server/src/admin/components/data-grid/hooks/use-data-grid-cell-handlers.js +0 -123
  44. package/.medusa/server/src/admin/components/data-grid/hooks/use-data-grid-cell-metadata.js +0 -52
  45. package/.medusa/server/src/admin/components/data-grid/hooks/use-data-grid-cell-snapshot.js +0 -43
  46. package/.medusa/server/src/admin/components/data-grid/hooks/use-data-grid-cell.js +0 -191
  47. package/.medusa/server/src/admin/components/data-grid/hooks/use-data-grid-clipboard-events.js +0 -70
  48. package/.medusa/server/src/admin/components/data-grid/hooks/use-data-grid-column-visibility.js +0 -51
  49. package/.medusa/server/src/admin/components/data-grid/hooks/use-data-grid-duplicate-cell.js +0 -15
  50. package/.medusa/server/src/admin/components/data-grid/hooks/use-data-grid-error-highlighting.js +0 -86
  51. package/.medusa/server/src/admin/components/data-grid/hooks/use-data-grid-form-handlers.js +0 -149
  52. package/.medusa/server/src/admin/components/data-grid/hooks/use-data-grid-keydown-event.js +0 -482
  53. package/.medusa/server/src/admin/components/data-grid/hooks/use-data-grid-mouse-up-event.js +0 -64
  54. package/.medusa/server/src/admin/components/data-grid/hooks/use-data-grid-navigation.js +0 -81
  55. package/.medusa/server/src/admin/components/data-grid/hooks/use-data-grid-query-tool.js +0 -14
  56. package/.medusa/server/src/admin/components/data-grid/index.js +0 -8
  57. package/.medusa/server/src/admin/components/data-grid/models/data-grid-bulk-update-command.js +0 -27
  58. package/.medusa/server/src/admin/components/data-grid/models/data-grid-matrix.js +0 -296
  59. package/.medusa/server/src/admin/components/data-grid/models/data-grid-query-tool.js +0 -62
  60. package/.medusa/server/src/admin/components/data-grid/models/data-grid-update-command.js +0 -25
  61. package/.medusa/server/src/admin/components/data-grid/models/index.js +0 -10
  62. package/.medusa/server/src/admin/components/data-grid/types.js +0 -1
  63. package/.medusa/server/src/admin/components/data-grid/utils.js +0 -18
  64. package/.medusa/server/src/admin/components/data-table/components/data-table-status-cell/data-table-status-cell.js +0 -36
  65. package/.medusa/server/src/admin/components/data-table/data-table.js +0 -271
  66. package/.medusa/server/src/admin/components/data-table/helpers/general/use-data-table-date-columns.js +0 -51
  67. package/.medusa/server/src/admin/components/data-table/helpers/general/use-data-table-date-filters.js +0 -90
  68. package/.medusa/server/src/admin/components/data-table/helpers/sales-channels/index.js +0 -10
  69. package/.medusa/server/src/admin/components/data-table/helpers/sales-channels/use-sales-channel-table-columns.js +0 -48
  70. package/.medusa/server/src/admin/components/data-table/helpers/sales-channels/use-sales-channel-table-empty-state.js +0 -19
  71. package/.medusa/server/src/admin/components/data-table/helpers/sales-channels/use-sales-channel-table-filters.js +0 -30
  72. package/.medusa/server/src/admin/components/data-table/helpers/sales-channels/use-sales-channel-table-query.js +0 -23
  73. package/.medusa/server/src/admin/components/data-table/index.js +0 -4
  74. package/.medusa/server/src/admin/components/data-table.js +0 -249
  75. package/.medusa/server/src/admin/components/display-id.js +0 -18
  76. package/.medusa/server/src/admin/components/file-upload.js +0 -116
  77. package/.medusa/server/src/admin/components/form.js +0 -151
  78. package/.medusa/server/src/admin/components/handle-input.js +0 -22
  79. package/.medusa/server/src/admin/components/header.js +0 -41
  80. package/.medusa/server/src/admin/components/icon-avatar.js +0 -27
  81. package/.medusa/server/src/admin/components/json-view-section.js +0 -139
  82. package/.medusa/server/src/admin/components/keybound-form.js +0 -32
  83. package/.medusa/server/src/admin/components/layouts/single-column.js +0 -7
  84. package/.medusa/server/src/admin/components/layouts/two-column.js +0 -13
  85. package/.medusa/server/src/admin/components/listicle.js +0 -20
  86. package/.medusa/server/src/admin/components/modals/index.js +0 -19
  87. package/.medusa/server/src/admin/components/modals/route-drawer/index.js +0 -4
  88. package/.medusa/server/src/admin/components/modals/route-drawer/route-drawer.js +0 -57
  89. package/.medusa/server/src/admin/components/modals/route-focus-modal/index.js +0 -4
  90. package/.medusa/server/src/admin/components/modals/route-focus-modal/route-focus-modal.js +0 -71
  91. package/.medusa/server/src/admin/components/modals/route-modal-form/index.js +0 -4
  92. package/.medusa/server/src/admin/components/modals/route-modal-form/route-modal-form.js +0 -60
  93. package/.medusa/server/src/admin/components/modals/route-modal-provider/index.js +0 -6
  94. package/.medusa/server/src/admin/components/modals/route-modal-provider/route-modal-context.js +0 -5
  95. package/.medusa/server/src/admin/components/modals/route-modal-provider/route-provider.js +0 -30
  96. package/.medusa/server/src/admin/components/modals/route-modal-provider/use-route-modal.js +0 -12
  97. package/.medusa/server/src/admin/components/modals/stacked-drawer/index.js +0 -5
  98. package/.medusa/server/src/admin/components/modals/stacked-drawer/stacked-drawer.js +0 -55
  99. package/.medusa/server/src/admin/components/modals/stacked-focus-modal/index.js +0 -5
  100. package/.medusa/server/src/admin/components/modals/stacked-focus-modal/stacked-focus-modal.js +0 -63
  101. package/.medusa/server/src/admin/components/modals/stacked-modal-provider/index.js +0 -6
  102. package/.medusa/server/src/admin/components/modals/stacked-modal-provider/stacked-modal-context.js +0 -5
  103. package/.medusa/server/src/admin/components/modals/stacked-modal-provider/stacked-modal-provider.js +0 -47
  104. package/.medusa/server/src/admin/components/modals/stacked-modal-provider/use-stacked-modal.js +0 -14
  105. package/.medusa/server/src/admin/components/placeholder-cell.js +0 -7
  106. package/.medusa/server/src/admin/components/product/product-cell/index.js +0 -5
  107. package/.medusa/server/src/admin/components/product/product-cell/product-cell.js +0 -15
  108. package/.medusa/server/src/admin/components/product/product-status-cell/index.js +0 -5
  109. package/.medusa/server/src/admin/components/product/product-status-cell/product-status-cell.js +0 -18
  110. package/.medusa/server/src/admin/components/product/sales-channels-cell/index.js +0 -5
  111. package/.medusa/server/src/admin/components/product/sales-channels-cell/sales-channels-cell.js +0 -31
  112. package/.medusa/server/src/admin/components/product/variant-cell/index.js +0 -5
  113. package/.medusa/server/src/admin/components/product/variant-cell/variant-cell.js +0 -15
  114. package/.medusa/server/src/admin/components/section-row.js +0 -32
  115. package/.medusa/server/src/admin/components/sidebar-link.js +0 -31
  116. package/.medusa/server/src/admin/components/sortable-list.js +0 -152
  117. package/.medusa/server/src/admin/components/switch-box.js +0 -43
  118. package/.medusa/server/src/admin/components/tax-badge.js +0 -18
  119. package/.medusa/server/src/admin/components/thumbnail.js +0 -28
  120. package/.medusa/server/src/admin/components/upload-media-form-item.js +0 -83
  121. package/.medusa/server/src/admin/hooks/api/customers.js +0 -26
  122. package/.medusa/server/src/admin/hooks/api/gift-cards.js +0 -107
  123. package/.medusa/server/src/admin/hooks/api/order.js +0 -16
  124. package/.medusa/server/src/admin/hooks/api/price-preferences.js +0 -19
  125. package/.medusa/server/src/admin/hooks/api/products.js +0 -127
  126. package/.medusa/server/src/admin/hooks/api/regions.js +0 -17
  127. package/.medusa/server/src/admin/hooks/api/sales-channels.js +0 -28
  128. package/.medusa/server/src/admin/hooks/api/store-credit-accounts.js +0 -41
  129. package/.medusa/server/src/admin/hooks/api/store.js +0 -31
  130. package/.medusa/server/src/admin/hooks/api/transaction-groups.js +0 -23
  131. package/.medusa/server/src/admin/hooks/api/transactions.js +0 -23
  132. package/.medusa/server/src/admin/hooks/commands/use-command-history.js +0 -45
  133. package/.medusa/server/src/admin/hooks/common/use-combobox-data.js +0 -59
  134. package/.medusa/server/src/admin/hooks/common/use-data-table-date-filters.js +0 -89
  135. package/.medusa/server/src/admin/hooks/common/use-date.js +0 -32
  136. package/.medusa/server/src/admin/hooks/common/use-debounced-search.js +0 -22
  137. package/.medusa/server/src/admin/hooks/common/use-query-params.js +0 -14
  138. package/.medusa/server/src/admin/hooks/query/use-customers-filters.js +0 -30
  139. package/.medusa/server/src/admin/hooks/query/use-transaction-groups-filters.js +0 -30
  140. package/.medusa/server/src/admin/hooks/sales-channels/index.js +0 -10
  141. package/.medusa/server/src/admin/hooks/sales-channels/use-sales-channel-table-columns.js +0 -48
  142. package/.medusa/server/src/admin/hooks/sales-channels/use-sales-channel-table-empty-state.js +0 -19
  143. package/.medusa/server/src/admin/hooks/sales-channels/use-sales-channel-table-filters.js +0 -30
  144. package/.medusa/server/src/admin/hooks/sales-channels/use-sales-channel-table-query.js +0 -23
  145. package/.medusa/server/src/admin/lib/currencies.js +0 -729
  146. package/.medusa/server/src/admin/lib/query-key.js +0 -17
  147. package/.medusa/server/src/admin/lib/sdk.js +0 -10
  148. package/.medusa/server/src/admin/routes/gift-card-products/@create/page.js +0 -75
  149. package/.medusa/server/src/admin/routes/gift-card-products/_id_/@denominations/components/gift-card-product-edit-denominations-form.js +0 -172
  150. package/.medusa/server/src/admin/routes/gift-card-products/_id_/@denominations/page.js +0 -30
  151. package/.medusa/server/src/admin/routes/gift-card-products/_id_/@edit/components/gift-card-product-edit-form.js +0 -180
  152. package/.medusa/server/src/admin/routes/gift-card-products/_id_/@edit/page.js +0 -30
  153. package/.medusa/server/src/admin/routes/gift-card-products/_id_/components/product-general-section.js +0 -97
  154. package/.medusa/server/src/admin/routes/gift-card-products/_id_/components/product-media-section.js +0 -162
  155. package/.medusa/server/src/admin/routes/gift-card-products/_id_/components/product-sales-channel-section.js +0 -89
  156. package/.medusa/server/src/admin/routes/gift-card-products/_id_/components/product-variant-section.js +0 -199
  157. package/.medusa/server/src/admin/routes/gift-card-products/_id_/media/components/edit-product-media-form/edit-product-media-form.js +0 -353
  158. package/.medusa/server/src/admin/routes/gift-card-products/_id_/media/components/edit-product-media-form/index.js +0 -5
  159. package/.medusa/server/src/admin/routes/gift-card-products/_id_/media/components/product-media-gallery/index.js +0 -4
  160. package/.medusa/server/src/admin/routes/gift-card-products/_id_/media/components/product-media-gallery/product-media-gallery.js +0 -247
  161. package/.medusa/server/src/admin/routes/gift-card-products/_id_/media/components/product-media-view/index.js +0 -4
  162. package/.medusa/server/src/admin/routes/gift-card-products/_id_/media/components/product-media-view/product-media-view-context.js +0 -5
  163. package/.medusa/server/src/admin/routes/gift-card-products/_id_/media/components/product-media-view/product-media-view.js +0 -48
  164. package/.medusa/server/src/admin/routes/gift-card-products/_id_/media/components/product-media-view/use-product-media-view.js +0 -14
  165. package/.medusa/server/src/admin/routes/gift-card-products/_id_/media/page.js +0 -28
  166. package/.medusa/server/src/admin/routes/gift-card-products/_id_/page.js +0 -40
  167. package/.medusa/server/src/admin/routes/gift-card-products/_id_/prices/components/prices-edit.js +0 -121
  168. package/.medusa/server/src/admin/routes/gift-card-products/_id_/prices/components/variant-pricing-form.js +0 -72
  169. package/.medusa/server/src/admin/routes/gift-card-products/_id_/prices/page.js +0 -23
  170. package/.medusa/server/src/admin/routes/gift-card-products/_id_/sales-channels/components/edit-sales-channel-form.js +0 -123
  171. package/.medusa/server/src/admin/routes/gift-card-products/_id_/sales-channels/page.js +0 -23
  172. package/.medusa/server/src/admin/routes/gift-card-products/components/gift-card-product-create-form/general-form-section.js +0 -1
  173. package/.medusa/server/src/admin/routes/gift-card-products/components/gift-card-product-create-form/gift-card-product-create-denominations-form.js +0 -98
  174. package/.medusa/server/src/admin/routes/gift-card-products/components/gift-card-product-create-form/gift-card-product-create-details-form.js +0 -28
  175. package/.medusa/server/src/admin/routes/gift-card-products/components/gift-card-product-create-form/gift-card-product-create-form-denominations.js +0 -96
  176. package/.medusa/server/src/admin/routes/gift-card-products/components/gift-card-product-create-form/gift-card-product-create-form-general.js +0 -90
  177. package/.medusa/server/src/admin/routes/gift-card-products/components/gift-card-product-create-form/gift-card-product-create-form-media.js +0 -288
  178. package/.medusa/server/src/admin/routes/gift-card-products/components/gift-card-product-create-form/gift-card-product-create-form-organize-section.js +0 -111
  179. package/.medusa/server/src/admin/routes/gift-card-products/components/gift-card-product-create-form/gift-card-product-create-form-organize.js +0 -23
  180. package/.medusa/server/src/admin/routes/gift-card-products/components/gift-card-product-create-form/gift-card-product-create-form.js +0 -285
  181. package/.medusa/server/src/admin/routes/gift-card-products/components/gift-card-product-create-form/gift-card-product-sales-channel-stacked-modal.js +0 -124
  182. package/.medusa/server/src/admin/routes/gift-card-products/components/gift-card-product-create-form/index.js +0 -4
  183. package/.medusa/server/src/admin/routes/gift-card-products/components/gift-card-product-create-form/schema.js +0 -112
  184. package/.medusa/server/src/admin/routes/gift-card-products/components/gift-card-product-create-form/types.js +0 -1
  185. package/.medusa/server/src/admin/routes/gift-card-products/components/gift-card-products-table/columns.js +0 -35
  186. package/.medusa/server/src/admin/routes/gift-card-products/components/gift-card-products-table/filters.js +0 -11
  187. package/.medusa/server/src/admin/routes/gift-card-products/components/gift-card-products-table/gift-card-products-table.js +0 -61
  188. package/.medusa/server/src/admin/routes/gift-card-products/components/gift-card-products-table/query.js +0 -23
  189. package/.medusa/server/src/admin/routes/gift-card-products/page.js +0 -18
  190. package/.medusa/server/src/admin/routes/gift-cards/_id_/@expiration/page.js +0 -137
  191. package/.medusa/server/src/admin/routes/gift-cards/_id_/@note/page.js +0 -87
  192. package/.medusa/server/src/admin/routes/gift-cards/_id_/@owner/components/transfer-icon.js +0 -352
  193. package/.medusa/server/src/admin/routes/gift-cards/_id_/@owner/page.js +0 -116
  194. package/.medusa/server/src/admin/routes/gift-cards/_id_/components/gift-card-balance-section.js +0 -49
  195. package/.medusa/server/src/admin/routes/gift-cards/_id_/components/gift-card-general-section.js +0 -177
  196. package/.medusa/server/src/admin/routes/gift-cards/_id_/components/gift-card-note-section.js +0 -27
  197. package/.medusa/server/src/admin/routes/gift-cards/_id_/components/gift-card-order-section.js +0 -33
  198. package/.medusa/server/src/admin/routes/gift-cards/_id_/components/gift-card-owner-section.js +0 -33
  199. package/.medusa/server/src/admin/routes/gift-cards/_id_/components/gift-card-transactions-section.js +0 -18
  200. package/.medusa/server/src/admin/routes/gift-cards/_id_/components/transactions-table/columns.js +0 -50
  201. package/.medusa/server/src/admin/routes/gift-cards/_id_/components/transactions-table/query.js +0 -23
  202. package/.medusa/server/src/admin/routes/gift-cards/_id_/page.js +0 -78
  203. package/.medusa/server/src/admin/routes/gift-cards/components/gift-card-products-section.js +0 -40
  204. package/.medusa/server/src/admin/routes/gift-cards/components/gift-cards-table/columns.js +0 -57
  205. package/.medusa/server/src/admin/routes/gift-cards/components/gift-cards-table/filters.js +0 -13
  206. package/.medusa/server/src/admin/routes/gift-cards/components/gift-cards-table/gift-cards-table.js +0 -61
  207. package/.medusa/server/src/admin/routes/gift-cards/components/gift-cards-table/query.js +0 -23
  208. package/.medusa/server/src/admin/routes/gift-cards/page.js +0 -27
  209. package/.medusa/server/src/admin/routes/store-credit-accounts/_id_/components/credit-card-icon.js +0 -126
  210. package/.medusa/server/src/admin/routes/store-credit-accounts/_id_/components/store-credit-account-balance-section.js +0 -31
  211. package/.medusa/server/src/admin/routes/store-credit-accounts/_id_/components/store-credit-account-details-section.js +0 -43
  212. package/.medusa/server/src/admin/routes/store-credit-accounts/_id_/components/transactions-table/columns.js +0 -44
  213. package/.medusa/server/src/admin/routes/store-credit-accounts/_id_/components/transactions-table/filters.js +0 -18
  214. package/.medusa/server/src/admin/routes/store-credit-accounts/_id_/components/transactions-table/query.js +0 -37
  215. package/.medusa/server/src/admin/routes/store-credit-accounts/_id_/components/transactions-table/table.js +0 -58
  216. package/.medusa/server/src/admin/routes/store-credit-accounts/_id_/page.js +0 -39
  217. package/.medusa/server/src/admin/routes/store-credit-accounts/components/store-credit-accounts-table/columns.js +0 -58
  218. package/.medusa/server/src/admin/routes/store-credit-accounts/components/store-credit-accounts-table/filters.js +0 -13
  219. package/.medusa/server/src/admin/routes/store-credit-accounts/components/store-credit-accounts-table/query.js +0 -31
  220. package/.medusa/server/src/admin/routes/store-credit-accounts/components/store-credit-accounts-table/table.js +0 -56
  221. package/.medusa/server/src/admin/routes/store-credit-accounts/page.js +0 -19
  222. package/.medusa/server/src/admin/utils/date-utils.js +0 -27
  223. package/.medusa/server/src/admin/utils/format-amount.js +0 -9
  224. package/.medusa/server/src/admin/utils/format-date.js +0 -21
  225. package/.medusa/server/src/admin/utils/refs.js +0 -20
  226. package/.medusa/server/src/admin/utils/statuses.js +0 -23
  227. package/.medusa/server/src/admin/utils/validations.js +0 -71
  228. package/.medusa/server/src/admin/utils/variants.js +0 -92
  229. package/.medusa/server/src/admin/widgets/customer-gift-cards-widget.js +0 -67
  230. package/.medusa/server/src/admin/widgets/customer-store-credit-widget.js +0 -42
  231. package/.medusa/server/src/admin/widgets/order-gift-cards-widget.js +0 -58
  232. package/.medusa/server/src/workflows/orders/workflows/refund-gift-card-credit-lines.js +0 -96
  233. package/.medusa/server/types/loyalty/module.js +0 -8
@@ -1,271 +0,0 @@
1
- import { jsxs, jsx } from "react/jsx-runtime";
2
- import { useDataTable, DataTable as DataTable$1, clx, Heading, Text, Button } from "@medusajs/ui";
3
- import { useMemo, useCallback } from "react";
4
- import { useSearchParams, useNavigate, Link } from "react-router-dom";
5
- import { useQueryParams } from "../../hooks/common/use-query-params.js";
6
- import { ActionMenu } from "../action-menu.js";
7
- const DataTable = ({
8
- data = [],
9
- columns,
10
- filters,
11
- commands,
12
- action,
13
- actionMenu,
14
- getRowId,
15
- rowCount = 0,
16
- enablePagination = true,
17
- enableSearch = true,
18
- autoFocusSearch = false,
19
- rowHref,
20
- heading,
21
- subHeading,
22
- prefix,
23
- pageSize = 10,
24
- emptyState,
25
- rowSelection,
26
- isLoading = false,
27
- layout = "auto"
28
- }) => {
29
- const enableFiltering = filters && filters.length > 0;
30
- const enableCommands = commands && commands.length > 0;
31
- const enableSorting = columns.some((column) => column.enableSorting);
32
- const filterIds = useMemo(() => (filters == null ? void 0 : filters.map((f) => f.id)) ?? [], [filters]);
33
- const prefixedFilterIds = filterIds.map((id) => getQueryParamKey(id, prefix));
34
- const { offset, order, q, ...filterParams } = useQueryParams(
35
- [
36
- ...filterIds,
37
- ...enableSorting ? ["order"] : [],
38
- ...enableSearch ? ["q"] : [],
39
- ...enablePagination ? ["offset"] : []
40
- ],
41
- prefix
42
- );
43
- const [_, setSearchParams] = useSearchParams();
44
- const search = useMemo(() => {
45
- return q ?? "";
46
- }, [q]);
47
- const handleSearchChange = (value) => {
48
- setSearchParams((prev) => {
49
- if (value) {
50
- prev.set(getQueryParamKey("q", prefix), value);
51
- } else {
52
- prev.delete(getQueryParamKey("q", prefix));
53
- }
54
- return prev;
55
- });
56
- };
57
- const pagination = useMemo(() => {
58
- return offset ? parsePaginationState(offset, pageSize) : { pageIndex: 0, pageSize };
59
- }, [offset, pageSize]);
60
- const handlePaginationChange = (value) => {
61
- setSearchParams((prev) => {
62
- if (value.pageIndex === 0) {
63
- prev.delete(getQueryParamKey("offset", prefix));
64
- } else {
65
- prev.set(
66
- getQueryParamKey("offset", prefix),
67
- transformPaginationState(value).toString()
68
- );
69
- }
70
- return prev;
71
- });
72
- };
73
- const filtering = useMemo(
74
- () => parseFilterState(filterIds, filterParams),
75
- [filterIds, filterParams]
76
- );
77
- const handleFilteringChange = (value) => {
78
- setSearchParams((prev) => {
79
- Array.from(prev.keys()).forEach((key) => {
80
- if (prefixedFilterIds.includes(key) && !(key in value)) {
81
- prev.delete(key);
82
- }
83
- });
84
- Object.entries(value).forEach(([key, filter]) => {
85
- if (prefixedFilterIds.includes(getQueryParamKey(key, prefix)) && filter) {
86
- prev.set(getQueryParamKey(key, prefix), JSON.stringify(filter));
87
- }
88
- });
89
- return prev;
90
- });
91
- };
92
- const sorting = useMemo(() => {
93
- return order ? parseSortingState(order) : null;
94
- }, [order]);
95
- const handleSortingChange = (value) => {
96
- setSearchParams((prev) => {
97
- if (value) {
98
- const valueToStore = transformSortingState(value);
99
- prev.set(getQueryParamKey("order", prefix), valueToStore);
100
- } else {
101
- prev.delete(getQueryParamKey("order", prefix));
102
- }
103
- return prev;
104
- });
105
- };
106
- const { pagination: paginationTranslations, toolbar: toolbarTranslations } = useDataTableTranslations();
107
- const navigate = useNavigate();
108
- const onRowClick = useCallback(
109
- (event, row) => {
110
- if (!rowHref) {
111
- return;
112
- }
113
- const href = rowHref(row);
114
- if (event.metaKey || event.ctrlKey || event.button === 1) {
115
- window.open(href, "_blank", "noreferrer");
116
- return;
117
- }
118
- if (event.shiftKey) {
119
- window.open(href, void 0, "noreferrer");
120
- return;
121
- }
122
- navigate(href);
123
- },
124
- [navigate, rowHref]
125
- );
126
- const instance = useDataTable({
127
- data,
128
- columns,
129
- filters,
130
- commands,
131
- rowCount,
132
- getRowId,
133
- onRowClick: rowHref ? onRowClick : void 0,
134
- pagination: enablePagination ? {
135
- state: pagination,
136
- onPaginationChange: handlePaginationChange
137
- } : void 0,
138
- filtering: enableFiltering ? {
139
- state: filtering,
140
- onFilteringChange: handleFilteringChange
141
- } : void 0,
142
- sorting: enableSorting ? {
143
- state: sorting,
144
- onSortingChange: handleSortingChange
145
- } : void 0,
146
- search: enableSearch ? {
147
- state: search,
148
- onSearchChange: handleSearchChange
149
- } : void 0,
150
- rowSelection,
151
- isLoading
152
- });
153
- const shouldRenderHeading = heading || subHeading;
154
- return /* @__PURE__ */ jsxs(
155
- DataTable$1,
156
- {
157
- instance,
158
- className: clx({
159
- "h-full [&_tr]:last-of-type:!border-b": layout === "fill"
160
- }),
161
- children: [
162
- /* @__PURE__ */ jsxs(
163
- DataTable$1.Toolbar,
164
- {
165
- className: "flex flex-col items-start justify-between gap-2 md:flex-row md:items-center",
166
- translations: toolbarTranslations,
167
- children: [
168
- /* @__PURE__ */ jsxs("div", { className: "flex w-full items-center justify-between gap-2", children: [
169
- shouldRenderHeading && /* @__PURE__ */ jsxs("div", { children: [
170
- heading && /* @__PURE__ */ jsx(Heading, { children: heading }),
171
- subHeading && /* @__PURE__ */ jsx(Text, { size: "small", className: "text-ui-fg-subtle", children: subHeading })
172
- ] }),
173
- /* @__PURE__ */ jsxs("div", { className: "flex items-center justify-end gap-x-2 md:hidden", children: [
174
- enableFiltering && /* @__PURE__ */ jsx(DataTable$1.FilterMenu, { tooltip: "Filter" }),
175
- /* @__PURE__ */ jsx(DataTable$1.SortingMenu, { tooltip: "Sort" }),
176
- actionMenu && /* @__PURE__ */ jsx(ActionMenu, { ...actionMenu }),
177
- action && /* @__PURE__ */ jsx(DataTableAction, { ...action })
178
- ] })
179
- ] }),
180
- /* @__PURE__ */ jsxs("div", { className: "flex w-full items-center gap-2 md:justify-end", children: [
181
- enableSearch && /* @__PURE__ */ jsx("div", { className: "w-full md:w-auto", children: /* @__PURE__ */ jsx(
182
- DataTable$1.Search,
183
- {
184
- placeholder: "Search",
185
- autoFocus: autoFocusSearch
186
- }
187
- ) }),
188
- /* @__PURE__ */ jsxs("div", { className: "hidden items-center gap-x-2 md:flex", children: [
189
- enableFiltering && /* @__PURE__ */ jsx(DataTable$1.FilterMenu, { tooltip: "Filter" }),
190
- /* @__PURE__ */ jsx(DataTable$1.SortingMenu, { tooltip: "Sort" }),
191
- actionMenu && /* @__PURE__ */ jsx(ActionMenu, { ...actionMenu }),
192
- action && /* @__PURE__ */ jsx(DataTableAction, { ...action })
193
- ] })
194
- ] })
195
- ]
196
- }
197
- ),
198
- /* @__PURE__ */ jsx(DataTable$1.Table, { emptyState }),
199
- enablePagination && /* @__PURE__ */ jsx(DataTable$1.Pagination, { translations: paginationTranslations }),
200
- enableCommands && /* @__PURE__ */ jsx(DataTable$1.CommandBar, { selectedLabel: (count) => `${count} selected` })
201
- ]
202
- }
203
- );
204
- };
205
- function transformSortingState(value) {
206
- return value.desc ? `-${value.id}` : value.id;
207
- }
208
- function parseSortingState(value) {
209
- return value.startsWith("-") ? { id: value.slice(1), desc: true } : { id: value, desc: false };
210
- }
211
- function transformPaginationState(value) {
212
- return value.pageIndex * value.pageSize;
213
- }
214
- function parsePaginationState(value, pageSize) {
215
- const offset = parseInt(value);
216
- return {
217
- pageIndex: Math.floor(offset / pageSize),
218
- pageSize
219
- };
220
- }
221
- function parseFilterState(filterIds, value) {
222
- if (!value) {
223
- return {};
224
- }
225
- const filters = {};
226
- for (const id of filterIds) {
227
- const filterValue = value[id];
228
- if (filterValue) {
229
- filters[id] = JSON.parse(filterValue);
230
- }
231
- }
232
- return filters;
233
- }
234
- function getQueryParamKey(key, prefix) {
235
- return prefix ? `${prefix}_${key}` : key;
236
- }
237
- const useDataTableTranslations = () => {
238
- const paginationTranslations = {
239
- of: "Of",
240
- results: "Results",
241
- pages: "Pages",
242
- prev: "Prev",
243
- next: "Next"
244
- };
245
- const toolbarTranslations = {
246
- clearAll: "Clear All"
247
- };
248
- return {
249
- pagination: paginationTranslations,
250
- toolbar: toolbarTranslations
251
- };
252
- };
253
- const DataTableAction = ({
254
- label,
255
- disabled,
256
- ...props
257
- }) => {
258
- const buttonProps = {
259
- size: "small",
260
- disabled: disabled ?? false,
261
- type: "button",
262
- variant: "secondary"
263
- };
264
- if ("to" in props) {
265
- return /* @__PURE__ */ jsx(Button, { ...buttonProps, asChild: true, children: /* @__PURE__ */ jsx(Link, { to: props.to, children: label }) });
266
- }
267
- return /* @__PURE__ */ jsx(Button, { ...buttonProps, onClick: props.onClick, children: label });
268
- };
269
- export {
270
- DataTable
271
- };
@@ -1,51 +0,0 @@
1
- import { jsx } from "react/jsx-runtime";
2
- import { createDataTableColumnHelper, Tooltip } from "@medusajs/ui";
3
- import { useMemo } from "react";
4
- import { useDate } from "../../../../hooks/common/use-date.js";
5
- const columnHelper = createDataTableColumnHelper();
6
- const useDataTableDateColumns = () => {
7
- const { getFullDate } = useDate();
8
- return useMemo(() => {
9
- return [
10
- columnHelper.accessor("created_at", {
11
- header: "Created at",
12
- cell: ({ row }) => {
13
- return /* @__PURE__ */ jsx(
14
- Tooltip,
15
- {
16
- content: getFullDate({
17
- date: row.original.created_at,
18
- includeTime: true
19
- }),
20
- children: /* @__PURE__ */ jsx("span", { children: getFullDate({ date: row.original.created_at }) })
21
- }
22
- );
23
- },
24
- enableSorting: true,
25
- sortAscLabel: "Asc",
26
- sortDescLabel: "Desc"
27
- }),
28
- columnHelper.accessor("updated_at", {
29
- header: "Updated at",
30
- cell: ({ row }) => {
31
- return /* @__PURE__ */ jsx(
32
- Tooltip,
33
- {
34
- content: getFullDate({
35
- date: row.original.updated_at,
36
- includeTime: true
37
- }),
38
- children: /* @__PURE__ */ jsx("span", { children: getFullDate({ date: row.original.updated_at }) })
39
- }
40
- );
41
- },
42
- enableSorting: true,
43
- sortAscLabel: "Asc",
44
- sortDescLabel: "Desc"
45
- })
46
- ];
47
- }, [getFullDate]);
48
- };
49
- export {
50
- useDataTableDateColumns
51
- };
@@ -1,90 +0,0 @@
1
- import { createDataTableFilterHelper } from "@medusajs/ui";
2
- import { subDays, subMonths } from "date-fns";
3
- import { useMemo } from "react";
4
- import { useDate } from "../../../../hooks/common/use-date.js";
5
- const filterHelper = createDataTableFilterHelper();
6
- const useDateFilterOptions = () => {
7
- const today = useMemo(() => {
8
- const date = /* @__PURE__ */ new Date();
9
- date.setHours(0, 0, 0, 0);
10
- return date;
11
- }, []);
12
- return useMemo(() => {
13
- return [
14
- {
15
- label: "Today",
16
- value: {
17
- $gte: today.toISOString()
18
- }
19
- },
20
- {
21
- label: "Last 7 Days",
22
- value: {
23
- $gte: subDays(today, 7).toISOString()
24
- // 7 days ago
25
- }
26
- },
27
- {
28
- label: "Last 30 Days",
29
- value: {
30
- $gte: subDays(today, 30).toISOString()
31
- // 30 days ago
32
- }
33
- },
34
- {
35
- label: "Last 90 Days",
36
- value: {
37
- $gte: subDays(today, 90).toISOString()
38
- // 90 days ago
39
- }
40
- },
41
- {
42
- label: "Last 12 Months",
43
- value: {
44
- $gte: subMonths(today, 12).toISOString()
45
- // 12 months ago
46
- }
47
- }
48
- ];
49
- }, [today]);
50
- };
51
- const useDataTableDateFilters = (disableRangeOption) => {
52
- const { getFullDate } = useDate();
53
- const dateFilterOptions = useDateFilterOptions();
54
- const rangeOptions = useMemo(() => {
55
- if (disableRangeOption) {
56
- return {
57
- disableRangeOption: true
58
- };
59
- }
60
- return {
61
- rangeOptionStartLabel: "Starting",
62
- rangeOptionEndLabel: "Ending",
63
- rangeOptionLabel: "Custom",
64
- options: dateFilterOptions
65
- };
66
- }, [disableRangeOption, dateFilterOptions]);
67
- return useMemo(() => {
68
- return [
69
- filterHelper.accessor("created_at", {
70
- type: "date",
71
- label: "Created At",
72
- format: "date",
73
- formatDateValue: (date) => getFullDate({ date }),
74
- options: dateFilterOptions,
75
- ...rangeOptions
76
- }),
77
- filterHelper.accessor("updated_at", {
78
- type: "date",
79
- label: "Updated At",
80
- format: "date",
81
- formatDateValue: (date) => getFullDate({ date }),
82
- options: dateFilterOptions,
83
- ...rangeOptions
84
- })
85
- ];
86
- }, [dateFilterOptions, getFullDate, rangeOptions]);
87
- };
88
- export {
89
- useDataTableDateFilters
90
- };
@@ -1,10 +0,0 @@
1
- import { useSalesChannelTableColumns } from "./use-sales-channel-table-columns.js";
2
- import { useSalesChannelTableEmptyState } from "./use-sales-channel-table-empty-state.js";
3
- import { useSalesChannelTableFilters } from "./use-sales-channel-table-filters.js";
4
- import { useSalesChannelTableQuery } from "./use-sales-channel-table-query.js";
5
- export {
6
- useSalesChannelTableColumns,
7
- useSalesChannelTableEmptyState,
8
- useSalesChannelTableFilters,
9
- useSalesChannelTableQuery
10
- };
@@ -1,48 +0,0 @@
1
- import { jsx } from "react/jsx-runtime";
2
- import { useMemo } from "react";
3
- import { createDataTableColumnHelper, Tooltip } from "@medusajs/ui";
4
- import { DataTableStatusCell } from "../../components/data-table-status-cell/data-table-status-cell.js";
5
- import { useDataTableDateColumns } from "../general/use-data-table-date-columns.js";
6
- const columnHelper = createDataTableColumnHelper();
7
- const useSalesChannelTableColumns = () => {
8
- const dateColumns = useDataTableDateColumns();
9
- return useMemo(
10
- () => [
11
- columnHelper.accessor("name", {
12
- header: () => "Name",
13
- enableSorting: true,
14
- sortLabel: "Name",
15
- sortAscLabel: "Asc",
16
- sortDescLabel: "Desc"
17
- }),
18
- columnHelper.accessor("description", {
19
- header: () => "Description",
20
- cell: ({ getValue }) => {
21
- return /* @__PURE__ */ jsx(Tooltip, { content: getValue(), children: /* @__PURE__ */ jsx("div", { className: "flex h-full w-full items-center overflow-hidden", children: /* @__PURE__ */ jsx("span", { className: "truncate", children: getValue() }) }) });
22
- },
23
- enableSorting: true,
24
- sortLabel: "Description",
25
- sortAscLabel: "Asc",
26
- sortDescLabel: "Desc",
27
- maxSize: 250,
28
- minSize: 100
29
- }),
30
- columnHelper.accessor("is_disabled", {
31
- header: () => "Status",
32
- enableSorting: true,
33
- sortLabel: "Status",
34
- sortAscLabel: "Asc",
35
- sortDescLabel: "Desc",
36
- cell: ({ getValue }) => {
37
- const value = getValue();
38
- return /* @__PURE__ */ jsx(DataTableStatusCell, { color: value ? "grey" : "green", children: value ? "Disabled" : "Enabled" });
39
- }
40
- }),
41
- ...dateColumns
42
- ],
43
- [dateColumns]
44
- );
45
- };
46
- export {
47
- useSalesChannelTableColumns
48
- };
@@ -1,19 +0,0 @@
1
- import { useMemo } from "react";
2
- const useSalesChannelTableEmptyState = () => {
3
- return useMemo(() => {
4
- const content = {
5
- empty: {
6
- heading: "No sales channels found",
7
- description: "Create a new sales channel to get started"
8
- },
9
- filtered: {
10
- heading: "No results",
11
- description: "No sales channels match the current filter criteria."
12
- }
13
- };
14
- return content;
15
- }, []);
16
- };
17
- export {
18
- useSalesChannelTableEmptyState
19
- };
@@ -1,30 +0,0 @@
1
- import { createDataTableFilterHelper } from "@medusajs/ui";
2
- import { useMemo } from "react";
3
- import { useDataTableDateFilters } from "../general/use-data-table-date-filters.js";
4
- const filterHelper = createDataTableFilterHelper();
5
- const useSalesChannelTableFilters = () => {
6
- const dateFilters = useDataTableDateFilters();
7
- return useMemo(
8
- () => [
9
- filterHelper.accessor("is_disabled", {
10
- label: "Status",
11
- type: "radio",
12
- options: [
13
- {
14
- label: "Enabled",
15
- value: "false"
16
- },
17
- {
18
- label: "Disabled",
19
- value: "true"
20
- }
21
- ]
22
- }),
23
- ...dateFilters
24
- ],
25
- [dateFilters]
26
- );
27
- };
28
- export {
29
- useSalesChannelTableFilters
30
- };
@@ -1,23 +0,0 @@
1
- import { useQueryParams } from "../../../../hooks/common/use-query-params.js";
2
- const useSalesChannelTableQuery = ({
3
- prefix,
4
- pageSize = 20
5
- }) => {
6
- const queryObject = useQueryParams(
7
- ["offset", "q", "order", "created_at", "updated_at", "is_disabled"],
8
- prefix
9
- );
10
- const { offset, created_at, updated_at, is_disabled, ...rest } = queryObject;
11
- const searchParams = {
12
- limit: pageSize,
13
- offset: offset ? Number(offset) : 0,
14
- created_at: created_at ? JSON.parse(created_at) : void 0,
15
- updated_at: updated_at ? JSON.parse(updated_at) : void 0,
16
- is_disabled: is_disabled ? JSON.parse(is_disabled) : void 0,
17
- ...rest
18
- };
19
- return searchParams;
20
- };
21
- export {
22
- useSalesChannelTableQuery
23
- };
@@ -1,4 +0,0 @@
1
- import { DataTable } from "./data-table.js";
2
- export {
3
- DataTable
4
- };