CLOSES CORE-1209
This PR just adds the stuff necessary to support refund reasons in the dashboard. It adds the option in the settings tab and allows viewing, creating, editing and deleting refund reasons. I hate to open such a big PR but most of it is copy pasted from the return reasons. Major difference is only the fact that refund reasons don't have a `value` field
* fix: add direction attribute to components and adjust styles for RTL support
* fix(data-grid): comment it out
* Added useDocumentDirection hook
* refactor: Integrate useDocumentDirection hook
* refactor: Standardize direction prop usage across components
* resolve
* fix: resolve build errors
* fix : remove unused useDocument
* Apply RTL styles for some components
* Create smooth-gorillas-hide.md
* refactor: update some styles for RTL support
---------
Co-authored-by: William Bouchard <46496014+willbouch@users.noreply.github.com>
This pull request introduces a minor update to the table configuration functionality in the dashboard package. The main change is the addition of pagination support through `offset` and `limit` query parameters.
This fix pagination with `view_configurations:true`
Pagination improvements:
* [`packages/admin/dashboard/src/hooks/table/use-table-configuration.tsx`](diffhunk://#diff-2cf338f1bf284cf3568eabc51107b9a3d51a4b830a81baae2362f608f7c8a55aL71-R71): Updated the `useTableConfiguration` hook to include `offset` and `limit` in the query parameters, enabling pagination for table data.
* [`.changeset/spicy-swans-grab.md`](diffhunk://#diff-1bada2c80b4c3b4ee3c8782ee24ca0183b1bee09aafd7fe130c481152458f1a4R1-R5): Documented the change as a minor update to `@medusajs/dashboard`, specifying the addition of `offset` and `limit` to query parameters in `useTableConfiguration`.
Related to #13086, #12440 and #12668
Currencies were added in the migrations, but not in the admin dashboard list, causing admin display errors.
This mod should fix that
Co-authored-by: William Bouchard <46496014+willbouch@users.noreply.github.com>
### Overview
This PR updates the fulfillment label rendering by replacing the deprecated .url field with the new tracking_url and label_url fields, following the MedusaJS FulfillmentLabel model.
### Changes
- Implemented conditional rendering for both tracking_url and label_url.
- If a tracking_url exists, it is displayed as a clickable link.
- Similarly, if a label_url exists, it is displayed as a clickable link.
- If neither link is provided, only the tracking number is shown.
- Maintained existing styling for interactive elements.

### Reference
This update is based on the MedusaJS FulfillmentLabel model:
https://docs.medusajs.com/resources/references/fulfillment/models/FulfillmentLabel
Please review the changes and provide feedback for further improvements.
Co-authored-by: William Bouchard <46496014+willbouch@users.noreply.github.com>
* Percentage formatter set maximum digits to 4
* Modify Tax Region Forms to allow 4 digits tax rates
* Add changeset
* Revert placeholder value to use only 2 decimals
* fix(dashboard): support more decimals for tx rates
* changeset
* bypass scale
* refactor
* fix removal of deprecated input
* cleanup deprecated percentage input
* small mistake in onchange
* add deprecated percentage input back
* import
* remove file extension
* frane comment
---------
Co-authored-by: AmbroziuBaban <ambroziubaban@gmail.com>
* feat(dashboard,types,utils): refine order details summary
* fix tests
* changeset
* ui corrections
* tests again
* weird tests failing
* revert update to subtotal
* revert http tests too
* comments
* move credit lines so it makes more sense
* remove currency codes and add bold prices
* add new properties in default for storefront
* minor to patch
* remove bold on things that should be
* olis comment about taxes
* remove bold from shipping
**What**
This PR adds core DataTable enhancements to support view configurations in the admin dashboard. This is part of a set of stacked PRs to add the feature to Medusa.
- Puts handlers in place to update the visible columns in a table and the order in which they appear.
- Adds a ViewPills component for displaying and switching between saved view configurations
- Integrated view configuration hooks (useViewConfigurations) with the DataTable
Note: Column drag-and-drop reordering and the column visibility UI controls are not included in this PR as they require additional UI library updates - which will come in the next PR.
Example of what this looks like with the feature flag turned on - note the view pills with "default" in the top. This will expand when the data table behavior adds configuration.
<img width="2492" height="758" alt="CleanShot 2025-08-13 at 2 31 35@2x" src="https://github.com/user-attachments/assets/ee770f1c-dae1-49da-b255-1a6d615789de" />
This is part of stacked PRs to add a view configuration feature which will allow users to customize the columns seen in tables in the Medusa Admin dashboard.
**What**
- Adds client providers, sdk methods and hooks for interacting with the views api.
what:
Introduces 2 new features to promotion module:
1. Introduce max quantity limit to promotion application - This will limit the application of the promotion based on the quantity of the target products in the cart.
2. When applying buy get promotions, we will now apply buyget promotion until eligible items are exhausted or max quantity is reached.
```
- Buy 2 t-shirts, Get 1 sweater
- Max quantity -> 1
This means you can add two t-shirts, and get 1 sweaters for free. However, if you add four t-shirts, you only get one sweater for free.
```
```
- Buy 2 t-shirts, Get 1 sweater
- Max quantity -> 3
This means you can add six t-shirts, and get three sweaters for free. However, if you add eight t-shirts, you only get three sweaters for free
```
```
- Buy 4 t-shirts, Get 2 sweater
- Max quantity -> 1
This should throw on creation, as the max quantity should as a minimum be the same value as the target rule quantity
```
RESOLVES SUP-2357 / https://github.com/medusajs/medusa/issues/13265
**What**
- fix condition rules form sometimes rendering multi and single selects unrelated to the attribute operator selected
- reset rule value when operator is changed
- disable selecting rule values untill operator is selected
- translate labels
* feat(dashboard,core,modules): free shipping promotion in dashboard
* self-review
* adapt for edit to work
* changeset
* integration tests
* across for each
* remove only from tests
* remove console log
* revert to across
* update wording for shipping promotions
* modify changeset
* suggestion frane
* fix i18n schema
* Change some german translations
* Update some german translations
* Add changeset
* Change the changeset
---------
Co-authored-by: William Bouchard <46496014+willbouch@users.noreply.github.com>
* feat(dashboard): shipping option tax rate overrides UI
* feat: add location filter
* feat: show service zone in SO table
* feat: display location in the SO table
* chore(ui): display toast in top right corner
* fix: error as well
* refactor: feedback
* chore: move the rest of the modal controls to footer
---------
Co-authored-by: William Bouchard <46496014+willbouch@users.noreply.github.com>
**What**
- handle single inventory items with `required_quantity > 1` correctly in the allocate UI flow
- display correct availability amount in the create fulullment form for inventory kit items
- fix check in the create fulfillment flow that would allow negative reservation because `required_quantity` wasn't included in the check
- show the most recent reservations first in the reservations table
- display an error in the allocation form if a reservation is not created for some inventory items
- display inventory kit in the order summary if the product has multiple same inventory items
---
CLOSES SUP-1655
* feat(dashboard, core-flows): allow associating shipping option type to a shipping option
* edit as well
* fix translation schema
* fix some tests
* changeset
* add new test to update shipping option type
* add new test to create shipping option with shipping option type
* pr comments
* pr comments
* rename variable
* make zod great again
* feat: add view_configurations feature flag
- Add feature flag provider and hooks to admin dashboard
- Add backend API endpoint for feature flags
- Create view_configurations feature flag (disabled by default)
- Update order list table to use legacy version when flag is disabled
- Can be enabled with MEDUSA_FF_VIEW_CONFIGURATIONS=true env var
* fix: naming
* fix: feature flags unauthenticated
* fix: add test
* chore(types, api): support shipping option type api endpoints
* core flows
* api
* typos
* compiler errors
* integration tests
* remove metadata
* changeset
* modify test
* upsert
* change remote query
* minor to patch
* description optional
* chore(dashboard, js-sdk): shipping option type management on admin dashboard
* description optional
* woops my bad
* my bad again
* create and edit
* prettier
* build code from label
* remove metadata route
* remove some translation text that is not used
* remove unsued files
* changeset
* adapt test
* fix test
* suggestion
---------
Co-authored-by: william bouchard <williambouchard@williams-MacBook-Pro.local>