@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.
- package/README.md +30 -0
- package/dist/app.js +70256 -0
- package/index.html +13 -0
- package/package.json +70 -0
- package/public/locales/$schema.json +315 -0
- package/public/locales/en-US/translation.json +1682 -0
- package/public/vite.svg +1 -0
- package/src/app.tsx +23 -0
- package/src/assets/fonts/Inter-Medium.ttf +0 -0
- package/src/assets/fonts/Inter-Regular.ttf +0 -0
- package/src/assets/fonts/RobotoMono-Medium.ttf +0 -0
- package/src/assets/fonts/RobotoMono-Regular.ttf +0 -0
- package/src/components/authentication/protected-route/index.ts +1 -0
- package/src/components/authentication/protected-route/protected-route.tsx +30 -0
- package/src/components/authentication/require-auth/index.ts +1 -0
- package/src/components/authentication/require-auth/require-auth.tsx +34 -0
- package/src/components/common/action-menu/action-menu.tsx +88 -0
- package/src/components/common/action-menu/index.ts +1 -0
- package/src/components/common/badge-list-summary/badge-list-summary.tsx +73 -0
- package/src/components/common/badge-list-summary/index.ts +1 -0
- package/src/components/common/chip-group/chip-group.tsx +111 -0
- package/src/components/common/chip-group/index.ts +1 -0
- package/src/components/common/conditional-tooltip/conditional-tooltip.tsx +19 -0
- package/src/components/common/conditional-tooltip/index.ts +1 -0
- package/src/components/common/customer-info/customer-info.tsx +200 -0
- package/src/components/common/customer-info/index.ts +1 -0
- package/src/components/common/date/index.ts +11 -0
- package/src/components/common/divider/divider.tsx +31 -0
- package/src/components/common/divider/index.ts +1 -0
- package/src/components/common/empty-table-content/empty-table-content.tsx +101 -0
- package/src/components/common/empty-table-content/index.ts +1 -0
- package/src/components/common/file-upload/file-upload.tsx +137 -0
- package/src/components/common/file-upload/index.ts +1 -0
- package/src/components/common/form/form.tsx +209 -0
- package/src/components/common/form/index.ts +1 -0
- package/src/components/common/generic-forward-ref/generic-forward-ref.tsx +7 -0
- package/src/components/common/generic-forward-ref/index.ts +1 -0
- package/src/components/common/inline-link/index.ts +1 -0
- package/src/components/common/inline-link/inline-link.tsx +21 -0
- package/src/components/common/json-view-section/index.ts +1 -0
- package/src/components/common/json-view-section/json-view-section.tsx +127 -0
- package/src/components/common/list-summary/index.ts +1 -0
- package/src/components/common/list-summary/list-summary.tsx +66 -0
- package/src/components/common/logo-box/index.ts +1 -0
- package/src/components/common/logo-box/logo-box.tsx +74 -0
- package/src/components/common/section/index.ts +1 -0
- package/src/components/common/section/section-row.tsx +37 -0
- package/src/components/common/skeleton/index.ts +1 -0
- package/src/components/common/skeleton/skeleton.tsx +227 -0
- package/src/components/common/sortable-list/index.ts +1 -0
- package/src/components/common/sortable-list/sortable-list.tsx +228 -0
- package/src/components/common/tax-badge/tax-badge.tsx +23 -0
- package/src/components/common/thumbnail/index.ts +1 -0
- package/src/components/common/thumbnail/thumbnail.tsx +22 -0
- package/src/components/common/user-link/index.ts +1 -0
- package/src/components/common/user-link/user-link.tsx +34 -0
- package/src/components/filtering/filter-group/filter-group.tsx +54 -0
- package/src/components/filtering/filter-group/index.ts +1 -0
- package/src/components/filtering/order-by/index.ts +1 -0
- package/src/components/filtering/order-by/order-by.tsx +148 -0
- package/src/components/filtering/query/index.ts +1 -0
- package/src/components/filtering/query/query.tsx +57 -0
- package/src/components/forms/address-form/address-form.tsx +213 -0
- package/src/components/forms/address-form/index.ts +1 -0
- package/src/components/forms/email-form/email-form.tsx +42 -0
- package/src/components/forms/email-form/index.ts +1 -0
- package/src/components/forms/metadata/index.ts +1 -0
- package/src/components/forms/metadata/metadata.tsx +157 -0
- package/src/components/forms/transfer-ownership-form/index.ts +1 -0
- package/src/components/forms/transfer-ownership-form/transfer-ownership-form.tsx +261 -0
- package/src/components/grid/constants.ts +11 -0
- package/src/components/grid/data-grid/data-grid-root/data-grid-root.tsx +649 -0
- package/src/components/grid/data-grid/data-grid-root/index.ts +1 -0
- package/src/components/grid/data-grid/data-grid-skeleton/data-grid-skeleton.tsx +52 -0
- package/src/components/grid/data-grid/data-grid-skeleton/index.ts +1 -0
- package/src/components/grid/data-grid/data-grid.tsx +19 -0
- package/src/components/grid/data-grid/index.ts +1 -0
- package/src/components/grid/grid-cells/common/boolean-cell/boolean-cell.tsx +23 -0
- package/src/components/grid/grid-cells/common/boolean-cell/index.ts +1 -0
- package/src/components/grid/grid-cells/common/currency-cell/currency-cell.tsx +57 -0
- package/src/components/grid/grid-cells/common/currency-cell/index.ts +1 -0
- package/src/components/grid/grid-cells/common/readonly-cell/index.ts +1 -0
- package/src/components/grid/grid-cells/common/readonly-cell/readonly-cell.tsx +14 -0
- package/src/components/grid/grid-cells/common/text-cell/index.ts +1 -0
- package/src/components/grid/grid-cells/common/text-cell/text-cell.tsx +24 -0
- package/src/components/grid/grid-cells/common/void-cell/index.ts +1 -0
- package/src/components/grid/grid-cells/common/void-cell/void-cell.tsx +14 -0
- package/src/components/grid/types.ts +11 -0
- package/src/components/inputs/chip-input/chip-input.tsx +187 -0
- package/src/components/inputs/chip-input/index.ts +1 -0
- package/src/components/inputs/combobox/combobox.tsx +343 -0
- package/src/components/inputs/combobox/index.ts +1 -0
- package/src/components/inputs/country-select/country-select.tsx +67 -0
- package/src/components/inputs/country-select/index.ts +1 -0
- package/src/components/inputs/handle-input/handle-input.tsx +24 -0
- package/src/components/inputs/handle-input/index.ts +1 -0
- package/src/components/inputs/percentage-input/index.ts +1 -0
- package/src/components/inputs/percentage-input/percentage-input.tsx +32 -0
- package/src/components/layout/main-layout/index.ts +1 -0
- package/src/components/layout/main-layout/main-layout.tsx +217 -0
- package/src/components/layout/nav-item/index.ts +1 -0
- package/src/components/layout/nav-item/nav-item.tsx +157 -0
- package/src/components/layout/notifications/index.ts +1 -0
- package/src/components/layout/notifications/notifications.tsx +40 -0
- package/src/components/layout/public-layout/index.ts +1 -0
- package/src/components/layout/public-layout/public-layout.tsx +14 -0
- package/src/components/layout/settings-layout/index.ts +1 -0
- package/src/components/layout/settings-layout/settings-layout.tsx +164 -0
- package/src/components/layout/shell/index.ts +1 -0
- package/src/components/layout/shell/shell.tsx +392 -0
- package/src/components/layout/split-view/index.ts +1 -0
- package/src/components/layout/split-view/split-view.tsx +103 -0
- package/src/components/localization/localized-date-picker/index.ts +1 -0
- package/src/components/localization/localized-date-picker/localized-date-picker.tsx +37 -0
- package/src/components/localization/localized-table-pagination/index.ts +1 -0
- package/src/components/localization/localized-table-pagination/localized-table-pagination.tsx +26 -0
- package/src/components/route-modal/index.ts +3 -0
- package/src/components/route-modal/route-drawer/index.ts +1 -0
- package/src/components/route-modal/route-drawer/route-drawer.tsx +59 -0
- package/src/components/route-modal/route-focus-modal/index.ts +1 -0
- package/src/components/route-modal/route-focus-modal/route-focus-modal.tsx +58 -0
- package/src/components/route-modal/route-form/index.ts +1 -0
- package/src/components/route-modal/route-form/route-form.tsx +72 -0
- package/src/components/route-modal/route-modal-provider/index.ts +1 -0
- package/src/components/route-modal/route-modal-provider/route-provider.tsx +41 -0
- package/src/components/search/index.ts +1 -0
- package/src/components/search/search.tsx +277 -0
- package/src/components/table/data-table/data-table-filter/context.tsx +19 -0
- package/src/components/table/data-table/data-table-filter/data-table-filter.tsx +287 -0
- package/src/components/table/data-table/data-table-filter/date-filter.tsx +357 -0
- package/src/components/table/data-table/data-table-filter/index.ts +1 -0
- package/src/components/table/data-table/data-table-filter/number-filter.tsx +372 -0
- package/src/components/table/data-table/data-table-filter/select-filter.tsx +262 -0
- package/src/components/table/data-table/data-table-filter/string-filter.tsx +188 -0
- package/src/components/table/data-table/data-table-filter/types.ts +8 -0
- package/src/components/table/data-table/data-table-order-by/data-table-order-by.tsx +157 -0
- package/src/components/table/data-table/data-table-order-by/index.ts +1 -0
- package/src/components/table/data-table/data-table-query/data-table-query.tsx +34 -0
- package/src/components/table/data-table/data-table-query/index.ts +1 -0
- package/src/components/table/data-table/data-table-root/data-table-root.tsx +332 -0
- package/src/components/table/data-table/data-table-root/index.ts +1 -0
- package/src/components/table/data-table/data-table-search/data-table-search.tsx +57 -0
- package/src/components/table/data-table/data-table-search/index.ts +1 -0
- package/src/components/table/data-table/data-table.tsx +88 -0
- package/src/components/table/data-table/hooks.tsx +73 -0
- package/src/components/table/data-table/index.ts +2 -0
- package/src/components/table/table-cells/common/code-cell/code-cell.tsx +26 -0
- package/src/components/table/table-cells/common/code-cell/index.ts +1 -0
- package/src/components/table/table-cells/common/created-at-cell/created-at-cell.tsx +46 -0
- package/src/components/table/table-cells/common/created-at-cell/index.ts +1 -0
- package/src/components/table/table-cells/common/date-cell/date-cell.tsx +46 -0
- package/src/components/table/table-cells/common/date-cell/index.ts +1 -0
- package/src/components/table/table-cells/common/email-cell/email-cell.tsx +28 -0
- package/src/components/table/table-cells/common/email-cell/index.ts +1 -0
- package/src/components/table/table-cells/common/money-amount-cell/index.ts +1 -0
- package/src/components/table/table-cells/common/money-amount-cell/money-amount-cell.tsx +38 -0
- package/src/components/table/table-cells/common/name-cell/index.ts +1 -0
- package/src/components/table/table-cells/common/name-cell/name-cell.tsx +31 -0
- package/src/components/table/table-cells/common/placeholder-cell/index.ts +1 -0
- package/src/components/table/table-cells/common/placeholder-cell/placeholder-cell.tsx +7 -0
- package/src/components/table/table-cells/common/status-cell/index.ts +1 -0
- package/src/components/table/table-cells/common/status-cell/status-cell.tsx +32 -0
- package/src/components/table/table-cells/common/text-cell/index.ts +1 -0
- package/src/components/table/table-cells/common/text-cell/text-cell.tsx +29 -0
- package/src/components/table/table-cells/customer/account-cell/account-cell.tsx +27 -0
- package/src/components/table/table-cells/customer/first-seen-cell/first-seen-cell.tsx +25 -0
- package/src/components/table/table-cells/customer/first-seen-cell/index.ts +1 -0
- package/src/components/table/table-cells/discount/code-cell/code-cell.tsx +28 -0
- package/src/components/table/table-cells/discount/code-cell/index.ts +1 -0
- package/src/components/table/table-cells/discount/description-cell/description-cell.tsx +25 -0
- package/src/components/table/table-cells/discount/description-cell/index.ts +1 -0
- package/src/components/table/table-cells/discount/redemption-cell/index.ts +1 -0
- package/src/components/table/table-cells/discount/redemption-cell/redemption-cell.tsx +23 -0
- package/src/components/table/table-cells/discount/status-cell/index.ts +1 -0
- package/src/components/table/table-cells/discount/status-cell/status-cell.tsx +45 -0
- package/src/components/table/table-cells/discount/value-cell/index.ts +1 -0
- package/src/components/table/table-cells/discount/value-cell/value-cell.tsx +35 -0
- package/src/components/table/table-cells/order/country-cell/country-cell.tsx +28 -0
- package/src/components/table/table-cells/order/country-cell/index.ts +1 -0
- package/src/components/table/table-cells/order/customer-cell/customer-cell.tsx +27 -0
- package/src/components/table/table-cells/order/customer-cell/index.ts +1 -0
- package/src/components/table/table-cells/order/display-id-cell/display-id-cell.tsx +24 -0
- package/src/components/table/table-cells/order/display-id-cell/index.ts +1 -0
- package/src/components/table/table-cells/order/fulfillment-status-cell/fulfillment-status-cell.tsx +33 -0
- package/src/components/table/table-cells/order/fulfillment-status-cell/index.ts +1 -0
- package/src/components/table/table-cells/order/payment-status-cell/index.ts +1 -0
- package/src/components/table/table-cells/order/payment-status-cell/payment-status-cell.tsx +29 -0
- package/src/components/table/table-cells/order/sales-channel-cell/index.ts +1 -0
- package/src/components/table/table-cells/order/sales-channel-cell/sales-channel-cell.tsx +30 -0
- package/src/components/table/table-cells/order/total-cell/index.ts +1 -0
- package/src/components/table/table-cells/order/total-cell/total-cell.tsx +28 -0
- package/src/components/table/table-cells/product/collection-cell/collection-cell.tsx +30 -0
- package/src/components/table/table-cells/product/collection-cell/index.ts +1 -0
- package/src/components/table/table-cells/product/product-cell/index.ts +1 -0
- package/src/components/table/table-cells/product/product-cell/product-cell.tsx +29 -0
- package/src/components/table/table-cells/product/product-status-cell/index.ts +1 -0
- package/src/components/table/table-cells/product/product-status-cell/product-status-cell.tsx +31 -0
- package/src/components/table/table-cells/product/sales-channels-cell/index.ts +1 -0
- package/src/components/table/table-cells/product/sales-channels-cell/sales-channels-cell.tsx +65 -0
- package/src/components/table/table-cells/product/variant-cell/index.ts +1 -0
- package/src/components/table/table-cells/product/variant-cell/variant-cell.tsx +34 -0
- package/src/components/table/table-cells/promotion/status-cell/index.ts +1 -0
- package/src/components/table/table-cells/promotion/status-cell/status-cell.tsx +28 -0
- package/src/components/table/table-cells/region/countries-cell/countries-cell.tsx +39 -0
- package/src/components/table/table-cells/region/countries-cell/index.ts +1 -0
- package/src/components/table/table-cells/region/fulfillment-providers-cell/fulfillment-providers-cell.tsx +49 -0
- package/src/components/table/table-cells/region/fulfillment-providers-cell/index.ts +1 -0
- package/src/components/table/table-cells/region/payment-providers-cell/index.ts +1 -0
- package/src/components/table/table-cells/region/payment-providers-cell/payment-providers-cell.tsx +36 -0
- package/src/components/table/table-cells/region/region-cell/index.ts +1 -0
- package/src/components/table/table-cells/region/region-cell/region-cell.tsx +23 -0
- package/src/components/table/table-cells/sales-channel/description-cell/description-cell.tsx +28 -0
- package/src/components/table/table-cells/sales-channel/description-cell/index.ts +1 -0
- package/src/components/table/table-cells/sales-channel/name-cell/index.ts +1 -0
- package/src/components/table/table-cells/sales-channel/name-cell/name-cell.tsx +28 -0
- package/src/components/table/table-cells/shipping-option/admin-only-cell/admin-only-cell.tsx +25 -0
- package/src/components/table/table-cells/shipping-option/admin-only-cell/index.ts +1 -0
- package/src/components/table/table-cells/shipping-option/is-return-cell/index.ts +1 -0
- package/src/components/table/table-cells/shipping-option/is-return-cell/is-return-cell.tsx +27 -0
- package/src/components/table/table-cells/shipping-option/price-type-cell/index.ts +1 -0
- package/src/components/table/table-cells/shipping-option/price-type-cell/price-type-cell.tsx +34 -0
- package/src/components/table/table-cells/shipping-option/shipping-option-cell/index.ts +1 -0
- package/src/components/table/table-cells/shipping-option/shipping-option-cell/shipping-option-cell.tsx +28 -0
- package/src/components/table/table-cells/shipping-option/shipping-price-cell/shipping-price-cell.tsx +31 -0
- package/src/components/table/table-cells/shipping-option/subtotal-requirement-cell/index.ts +1 -0
- package/src/components/table/table-cells/shipping-option/subtotal-requirement-cell/subtotal-requirement-cell.tsx +43 -0
- package/src/components/table/table-cells/taxes/type-cell/index.ts +1 -0
- package/src/components/table/table-cells/taxes/type-cell/type-cell.tsx +33 -0
- package/src/components/utilities/error-boundary/error-boundary.tsx +59 -0
- package/src/components/utilities/error-boundary/index.ts +1 -0
- package/src/components/utilities/i18n/i18n.tsx +23 -0
- package/src/components/utilities/i18n/index.ts +1 -0
- package/src/hooks/api/api-keys.tsx +163 -0
- package/src/hooks/api/auth.tsx +22 -0
- package/src/hooks/api/campaigns.tsx +125 -0
- package/src/hooks/api/categories.tsx +53 -0
- package/src/hooks/api/collections.tsx +123 -0
- package/src/hooks/api/currencies.tsx +39 -0
- package/src/hooks/api/customer-groups.tsx +185 -0
- package/src/hooks/api/customers.tsx +109 -0
- package/src/hooks/api/fulfillment-providers.tsx +24 -0
- package/src/hooks/api/inventory.tsx +219 -0
- package/src/hooks/api/invites.tsx +94 -0
- package/src/hooks/api/orders.ts +40 -0
- package/src/hooks/api/payments.ts +24 -0
- package/src/hooks/api/price-lists.tsx +140 -0
- package/src/hooks/api/product-types.tsx +40 -0
- package/src/hooks/api/products.tsx +259 -0
- package/src/hooks/api/promotions.tsx +280 -0
- package/src/hooks/api/regions.tsx +97 -0
- package/src/hooks/api/reservations.tsx +119 -0
- package/src/hooks/api/sales-channels.tsx +208 -0
- package/src/hooks/api/shipping-options.ts +91 -0
- package/src/hooks/api/shipping-profiles.tsx +99 -0
- package/src/hooks/api/stock-locations.tsx +258 -0
- package/src/hooks/api/store.tsx +48 -0
- package/src/hooks/api/tags.tsx +39 -0
- package/src/hooks/api/tax-rates.tsx +119 -0
- package/src/hooks/api/tax-regions.tsx +97 -0
- package/src/hooks/api/users.tsx +104 -0
- package/src/hooks/api/workflow-executions.tsx +55 -0
- package/src/hooks/table/columns/use-campaign-table-columns.tsx +73 -0
- package/src/hooks/table/columns/use-category-table-columns.tsx +114 -0
- package/src/hooks/table/columns/use-customer-group-table-columns.tsx +34 -0
- package/src/hooks/table/columns/use-customer-table-columns.tsx +51 -0
- package/src/hooks/table/columns/use-discount-table-columns.tsx +65 -0
- package/src/hooks/table/columns/use-order-table-columns.tsx +142 -0
- package/src/hooks/table/columns/use-product-table-columns.tsx +59 -0
- package/src/hooks/table/columns/use-region-table-columns.tsx +40 -0
- package/src/hooks/table/columns/use-sales-channel-table-columns.tsx +46 -0
- package/src/hooks/table/columns/use-shipping-option-table-columns.tsx +107 -0
- package/src/hooks/table/columns/use-tax-rates-table-columns.tsx +55 -0
- package/src/hooks/table/columns-v2/use-promotion-table-columns.tsx +49 -0
- package/src/hooks/table/filters/use-customer-group-table-filters.tsx +21 -0
- package/src/hooks/table/filters/use-customer-table-filters.tsx +69 -0
- package/src/hooks/table/filters/use-discount-table-filters.tsx +51 -0
- package/src/hooks/table/filters/use-order-table-filters.tsx +156 -0
- package/src/hooks/table/filters/use-product-table-filters.tsx +192 -0
- package/src/hooks/table/filters/use-promotion-table-filters.tsx +13 -0
- package/src/hooks/table/filters/use-region-table-filters.tsx +19 -0
- package/src/hooks/table/filters/use-sales-channel-table-filters.tsx +17 -0
- package/src/hooks/table/filters/use-shipping-option-table-filters.tsx +39 -0
- package/src/hooks/table/filters/use-tax-rate-table-filters.tsx +19 -0
- package/src/hooks/table/filters-v2/use-promotion-table-filters.tsx +13 -0
- package/src/hooks/table/query/use-campaign-table-query.tsx +31 -0
- package/src/hooks/table/query/use-customer-group-table-query.tsx +34 -0
- package/src/hooks/table/query/use-customer-table-query.tsx +44 -0
- package/src/hooks/table/query/use-discount-table-query.tsx +45 -0
- package/src/hooks/table/query/use-order-table-query.tsx +55 -0
- package/src/hooks/table/query/use-product-table-query.tsx +69 -0
- package/src/hooks/table/query/use-region-table-query.tsx +33 -0
- package/src/hooks/table/query/use-sales-channel-table-query.tsx +33 -0
- package/src/hooks/table/query/use-shipping-option-table-query.tsx +48 -0
- package/src/hooks/table/query/use-tax-rate-table-query.tsx +33 -0
- package/src/hooks/table/query/use-tax-region-table-query copy.tsx +32 -0
- package/src/hooks/table/query/use-user-invite-table-query.tsx +32 -0
- package/src/hooks/table/query-v2/use-promotion-table-query.tsx +32 -0
- package/src/hooks/use-combobox-data.tsx +91 -0
- package/src/hooks/use-command-history.tsx +67 -0
- package/src/hooks/use-data-table.tsx +132 -0
- package/src/hooks/use-date.tsx +46 -0
- package/src/hooks/use-debounced-search.tsx +29 -0
- package/src/hooks/use-handle-table-scroll.tsx +24 -0
- package/src/hooks/use-media-query.tsx +14 -0
- package/src/hooks/use-query-params.tsx +24 -0
- package/src/i18n/config.ts +19 -0
- package/src/i18n/languages.ts +11 -0
- package/src/i18n/translations/$schema.json +315 -0
- package/src/i18n/translations/en.json +1682 -0
- package/src/i18n/translations/index.ts +7 -0
- package/src/i18n/types.ts +15 -0
- package/src/i18next.d.ts +7 -0
- package/src/index.css +48 -0
- package/src/lib/addresses.ts +87 -0
- package/src/lib/api-v2/auth.ts +65 -0
- package/src/lib/api-v2/campaign.ts +57 -0
- package/src/lib/api-v2/currencies.ts +37 -0
- package/src/lib/api-v2/index.ts +3 -0
- package/src/lib/api-v2/types/auth.ts +13 -0
- package/src/lib/api-v2/types/common.ts +5 -0
- package/src/lib/api-v2/types/store.ts +7 -0
- package/src/lib/cast-number.ts +6 -0
- package/src/lib/client/api-keys.ts +63 -0
- package/src/lib/client/auth.ts +22 -0
- package/src/lib/client/campaigns.ts +48 -0
- package/src/lib/client/categories.ts +27 -0
- package/src/lib/client/client.ts +59 -0
- package/src/lib/client/collections.ts +44 -0
- package/src/lib/client/common.ts +108 -0
- package/src/lib/client/currencies.ts +15 -0
- package/src/lib/client/customer-groups.ts +83 -0
- package/src/lib/client/customers.ts +35 -0
- package/src/lib/client/fulfillment-providers.ts +13 -0
- package/src/lib/client/index.ts +1 -0
- package/src/lib/client/inventory.ts +108 -0
- package/src/lib/client/invites.ts +38 -0
- package/src/lib/client/orders.ts +15 -0
- package/src/lib/client/payments.ts +13 -0
- package/src/lib/client/price-lists.ts +57 -0
- package/src/lib/client/product-types.ts +15 -0
- package/src/lib/client/products.ts +89 -0
- package/src/lib/client/promotions.ts +119 -0
- package/src/lib/client/regions.ts +35 -0
- package/src/lib/client/reservations.ts +41 -0
- package/src/lib/client/sales-channels.ts +78 -0
- package/src/lib/client/shipping-options.ts +41 -0
- package/src/lib/client/shipping-profiles.ts +35 -0
- package/src/lib/client/stock-locations.ts +106 -0
- package/src/lib/client/stores.ts +25 -0
- package/src/lib/client/tags.ts +18 -0
- package/src/lib/client/taxes.ts +59 -0
- package/src/lib/client/users.ts +31 -0
- package/src/lib/client/workflow-executions.ts +27 -0
- package/src/lib/common.ts +16 -0
- package/src/lib/countries.ts +1765 -0
- package/src/lib/currencies.ts +734 -0
- package/src/lib/discounts.ts +32 -0
- package/src/lib/format-provider.ts +18 -0
- package/src/lib/is-axios-error.ts +5 -0
- package/src/lib/medusa.ts +19 -0
- package/src/lib/metadata.ts +84 -0
- package/src/lib/money-amount-helpers.ts +95 -0
- package/src/lib/order-helpers.ts +52 -0
- package/src/lib/percentage-helpers.ts +27 -0
- package/src/lib/promotions.ts +31 -0
- package/src/lib/query-key-factory.ts +54 -0
- package/src/lib/rma.ts +75 -0
- package/src/lib/schemas.ts +36 -0
- package/src/lib/shipping-options.ts +17 -0
- package/src/lib/validation.ts +47 -0
- package/src/main.tsx +9 -0
- package/src/module.d.ts +39 -0
- package/src/providers/feature-provider/feature-context.tsx +8 -0
- package/src/providers/feature-provider/feature-provider.tsx +33 -0
- package/src/providers/feature-provider/index.ts +2 -0
- package/src/providers/feature-provider/types.ts +16 -0
- package/src/providers/feature-provider/use-feature.tsx +10 -0
- package/src/providers/router-provider/index.ts +1 -0
- package/src/providers/router-provider/route-extensions.tsx +18 -0
- package/src/providers/router-provider/route-map.tsx +1022 -0
- package/src/providers/router-provider/router-provider.tsx +14 -0
- package/src/providers/router-provider/settings-extensions.tsx +19 -0
- package/src/providers/search-provider/index.ts +2 -0
- package/src/providers/search-provider/search-context.tsx +9 -0
- package/src/providers/search-provider/search-provider.tsx +38 -0
- package/src/providers/search-provider/use-search.tsx +10 -0
- package/src/providers/sidebar-provider/index.ts +2 -0
- package/src/providers/sidebar-provider/sidebar-context.tsx +9 -0
- package/src/providers/sidebar-provider/sidebar-provider.tsx +31 -0
- package/src/providers/sidebar-provider/use-sidebar.tsx +12 -0
- package/src/providers/theme-provider/index.ts +3 -0
- package/src/providers/theme-provider/theme-context.tsx +10 -0
- package/src/providers/theme-provider/theme-provider.tsx +54 -0
- package/src/providers/theme-provider/use-theme.tsx +10 -0
- package/src/routes/categories/details/details.tsx +30 -0
- package/src/routes/categories/details/index.ts +1 -0
- package/src/routes/categories/list/index.ts +1 -0
- package/src/routes/categories/list/list.tsx +30 -0
- package/src/routes/discounts/common/components/conditions-drawer/conditions-drawer.tsx +664 -0
- package/src/routes/discounts/common/components/conditions-drawer/index.ts +1 -0
- package/src/routes/discounts/common/constants.ts +7 -0
- package/src/routes/discounts/common/hooks/columns/use-customer-group-conditions-table-columns.tsx +46 -0
- package/src/routes/discounts/common/hooks/columns/use-product-collection-conditions-table-columns.tsx +60 -0
- package/src/routes/discounts/common/hooks/columns/use-product-conditions-table-columns.tsx +46 -0
- package/src/routes/discounts/common/hooks/columns/use-product-tag-conditions-table-columns.tsx +48 -0
- package/src/routes/discounts/common/hooks/columns/use-product-type-conditions-table-columns.tsx +49 -0
- package/src/routes/discounts/common/hooks/filters/use-customer-group-conditions-table-filters.tsx +17 -0
- package/src/routes/discounts/common/hooks/filters/use-product-collection-conditions-table-filters.tsx +17 -0
- package/src/routes/discounts/common/hooks/filters/use-product-tag-conditions-table-filters.tsx +17 -0
- package/src/routes/discounts/common/hooks/filters/use-product-type-conditions-table-filters.tsx +17 -0
- package/src/routes/discounts/common/hooks/query/use-product-collection-conditions-table-query.tsx +42 -0
- package/src/routes/discounts/common/hooks/query/use-product-tag-conditions-table-query.tsx +39 -0
- package/src/routes/discounts/common/hooks/query/use-product-type-conditions-table-query.tsx +29 -0
- package/src/routes/discounts/common/types.ts +10 -0
- package/src/routes/discounts/discount-create/components/create-discount-form/create-discount-details.tsx +680 -0
- package/src/routes/discounts/discount-create/components/create-discount-form/create-discount-form.tsx +206 -0
- package/src/routes/discounts/discount-create/components/create-discount-form/index.ts +1 -0
- package/src/routes/discounts/discount-create/components/create-discount-form/types.ts +5 -0
- package/src/routes/discounts/discount-create/discount-create.tsx +10 -0
- package/src/routes/discounts/discount-create/index.ts +1 -0
- package/src/routes/discounts/discount-detail/components/details-section/details-section.tsx +96 -0
- package/src/routes/discounts/discount-detail/components/details-section/index.ts +1 -0
- package/src/routes/discounts/discount-detail/components/discount-conditions-section/discount-conditions-section.tsx +132 -0
- package/src/routes/discounts/discount-detail/components/discount-conditions-section/index.ts +1 -0
- package/src/routes/discounts/discount-detail/components/discount-configurations-section/discount-configurations-section.tsx +89 -0
- package/src/routes/discounts/discount-detail/components/discount-configurations-section/index.ts +1 -0
- package/src/routes/discounts/discount-detail/components/discount-general-section/discount-general-section.tsx +109 -0
- package/src/routes/discounts/discount-detail/components/discount-general-section/index.ts +1 -0
- package/src/routes/discounts/discount-detail/components/discount-redemptions-section/index.ts +1 -0
- package/src/routes/discounts/discount-detail/components/discount-redemptions-section/redemptions-section.tsx +40 -0
- package/src/routes/discounts/discount-detail/discount-detail.tsx +72 -0
- package/src/routes/discounts/discount-detail/index.ts +2 -0
- package/src/routes/discounts/discount-detail/loader.ts +32 -0
- package/src/routes/discounts/discount-edit-conditions/components/edit-discount-form/edit-discount-conditions-form.tsx +583 -0
- package/src/routes/discounts/discount-edit-conditions/components/edit-discount-form/index.ts +1 -0
- package/src/routes/discounts/discount-edit-conditions/discount-edit-conditions.tsx +26 -0
- package/src/routes/discounts/discount-edit-conditions/index.ts +1 -0
- package/src/routes/discounts/discount-edit-configuration/components/edit-discount-form/edit-discount-configuration-form.tsx +510 -0
- package/src/routes/discounts/discount-edit-configuration/components/edit-discount-form/index.ts +1 -0
- package/src/routes/discounts/discount-edit-configuration/discount-edit-configuration.tsx +29 -0
- package/src/routes/discounts/discount-edit-configuration/index.ts +1 -0
- package/src/routes/discounts/discount-edit-details/components/edit-discount-form/edit-discount-details-form.tsx +237 -0
- package/src/routes/discounts/discount-edit-details/components/edit-discount-form/index.ts +1 -0
- package/src/routes/discounts/discount-edit-details/discount-edit-details.tsx +29 -0
- package/src/routes/discounts/discount-edit-details/index.ts +1 -0
- package/src/routes/discounts/discount-list/components/discount-list-table/discount-list-table.tsx +145 -0
- package/src/routes/discounts/discount-list/components/discount-list-table/index.ts +1 -0
- package/src/routes/discounts/discount-list/discount-list.tsx +20 -0
- package/src/routes/discounts/discount-list/index.ts +2 -0
- package/src/routes/discounts/discount-list/loader.ts +24 -0
- package/src/routes/draft-orders/common/edit-address-form/edit-address-form.tsx +98 -0
- package/src/routes/draft-orders/common/edit-address-form/index.ts +1 -0
- package/src/routes/draft-orders/draft-order-billing-address/draft-order-billing-address.tsx +50 -0
- package/src/routes/draft-orders/draft-order-billing-address/index.ts +1 -0
- package/src/routes/draft-orders/draft-order-create/components/create-draft-order-form/constants.ts +130 -0
- package/src/routes/draft-orders/draft-order-create/components/create-draft-order-form/context.ts +5 -0
- 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
- 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
- package/src/routes/draft-orders/draft-order-create/components/create-draft-order-form/create-draft-order-details/create-draft-order-details.tsx +34 -0
- 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
- 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
- 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
- package/src/routes/draft-orders/draft-order-create/components/create-draft-order-form/create-draft-order-details/index.ts +1 -0
- package/src/routes/draft-orders/draft-order-create/components/create-draft-order-form/create-draft-order-drawer/add-custom-item-drawer.tsx +125 -0
- package/src/routes/draft-orders/draft-order-create/components/create-draft-order-form/create-draft-order-drawer/add-variant-drawer.tsx +245 -0
- package/src/routes/draft-orders/draft-order-create/components/create-draft-order-form/create-draft-order-drawer/create-draft-order-drawer.tsx +14 -0
- package/src/routes/draft-orders/draft-order-create/components/create-draft-order-form/create-draft-order-drawer/index.ts +1 -0
- package/src/routes/draft-orders/draft-order-create/components/create-draft-order-form/create-draft-order-form.tsx +455 -0
- 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
- 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
- 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
- package/src/routes/draft-orders/draft-order-create/components/create-draft-order-form/create-draft-order-summary/create-draft-order-summary.tsx +30 -0
- 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
- 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
- package/src/routes/draft-orders/draft-order-create/components/create-draft-order-form/create-draft-order-summary/index.ts +1 -0
- package/src/routes/draft-orders/draft-order-create/components/create-draft-order-form/hooks.ts +14 -0
- package/src/routes/draft-orders/draft-order-create/components/create-draft-order-form/index.ts +1 -0
- package/src/routes/draft-orders/draft-order-create/components/create-draft-order-form/types.ts +46 -0
- package/src/routes/draft-orders/draft-order-create/draft-order-create.tsx +10 -0
- package/src/routes/draft-orders/draft-order-create/index.ts +1 -0
- package/src/routes/draft-orders/draft-order-detail/components/draft-order-customer-section/draft-order-customer-section.tsx +71 -0
- package/src/routes/draft-orders/draft-order-detail/components/draft-order-customer-section/index.ts +1 -0
- package/src/routes/draft-orders/draft-order-detail/components/draft-order-general-section/draft-order-general-section.tsx +228 -0
- package/src/routes/draft-orders/draft-order-detail/components/draft-order-general-section/index.ts +1 -0
- package/src/routes/draft-orders/draft-order-detail/components/draft-order-summary-section/draft-order-summary-section.tsx +364 -0
- package/src/routes/draft-orders/draft-order-detail/components/draft-order-summary-section/index.ts +1 -0
- package/src/routes/draft-orders/draft-order-detail/draft-order-detail.tsx +43 -0
- package/src/routes/draft-orders/draft-order-detail/index.ts +2 -0
- package/src/routes/draft-orders/draft-order-detail/loader.ts +21 -0
- package/src/routes/draft-orders/draft-order-email/components/edit-draft-order-email-form/edit-draft-order-email-form.tsx +66 -0
- package/src/routes/draft-orders/draft-order-email/components/edit-draft-order-email-form/index.ts +1 -0
- package/src/routes/draft-orders/draft-order-email/draft-order-email.tsx +28 -0
- package/src/routes/draft-orders/draft-order-email/index.ts +1 -0
- package/src/routes/draft-orders/draft-order-list/components/draft-order-list-table/draft-order-list-table.tsx +69 -0
- package/src/routes/draft-orders/draft-order-list/components/draft-order-list-table/draft-order-table-actions.tsx +59 -0
- package/src/routes/draft-orders/draft-order-list/components/draft-order-list-table/index.ts +1 -0
- package/src/routes/draft-orders/draft-order-list/components/draft-order-list-table/use-draft-order-table-columns.tsx +81 -0
- package/src/routes/draft-orders/draft-order-list/components/draft-order-list-table/use-draft-order-table-filters.tsx +36 -0
- package/src/routes/draft-orders/draft-order-list/components/draft-order-list-table/use-draft-order-table-query.tsx +31 -0
- package/src/routes/draft-orders/draft-order-list/draft-order-list.tsx +11 -0
- package/src/routes/draft-orders/draft-order-list/index.ts +1 -0
- package/src/routes/draft-orders/draft-order-shipping-address/draft-order-shipping-address.tsx +50 -0
- package/src/routes/draft-orders/draft-order-shipping-address/index.ts +1 -0
- package/src/routes/draft-orders/draft-order-transfer-ownership/components/transfer-draft-order-ownership-form/index.ts +1 -0
- package/src/routes/draft-orders/draft-order-transfer-ownership/components/transfer-draft-order-ownership-form/transfer-draft-order-ownership-form.tsx +72 -0
- package/src/routes/draft-orders/draft-order-transfer-ownership/draft-order-transfer-ownership.tsx +28 -0
- package/src/routes/draft-orders/draft-order-transfer-ownership/index.ts +1 -0
- package/src/routes/gift-cards/gift-card-create/components/create-gift-card-form/create-gift-card-form.tsx +301 -0
- package/src/routes/gift-cards/gift-card-create/components/create-gift-card-form/index.ts +1 -0
- package/src/routes/gift-cards/gift-card-create/gift-card-create.tsx +10 -0
- package/src/routes/gift-cards/gift-card-create/index.ts +1 -0
- package/src/routes/gift-cards/gift-card-detail/components/gift-card-general-section/gift-card-general-section.tsx +194 -0
- package/src/routes/gift-cards/gift-card-detail/components/gift-card-general-section/index.ts +1 -0
- package/src/routes/gift-cards/gift-card-detail/gift-card-detail.tsx +33 -0
- package/src/routes/gift-cards/gift-card-detail/index.ts +2 -0
- package/src/routes/gift-cards/gift-card-detail/loader.ts +21 -0
- package/src/routes/gift-cards/gift-card-edit/components/edit-gift-card-form/edit-gift-card-form.tsx +270 -0
- package/src/routes/gift-cards/gift-card-edit/components/edit-gift-card-form/index.ts +1 -0
- package/src/routes/gift-cards/gift-card-edit/gift-card-edit.tsx +26 -0
- package/src/routes/gift-cards/gift-card-edit/index.ts +1 -0
- package/src/routes/gift-cards/gift-card-list/components/gift-card-list-table/gift-card-list-table.tsx +68 -0
- package/src/routes/gift-cards/gift-card-list/components/gift-card-list-table/index.ts +1 -0
- package/src/routes/gift-cards/gift-card-list/components/gift-card-list-table/use-gift-card-table-columns.tsx +136 -0
- package/src/routes/gift-cards/gift-card-list/components/gift-card-list-table/use-gift-card-table-filters.tsx +21 -0
- package/src/routes/gift-cards/gift-card-list/components/gift-card-list-table/use-gift-card-table-query.tsx +19 -0
- package/src/routes/gift-cards/gift-card-list/gift-card-list.tsx +11 -0
- package/src/routes/gift-cards/gift-card-list/index.ts +1 -0
- package/src/routes/home/home.tsx +13 -0
- package/src/routes/home/index.ts +1 -0
- package/src/routes/inventory/inventory-list/components/inventory-list-table/index.ts +1 -0
- package/src/routes/inventory/inventory-list/components/inventory-list-table/inventory-actions.tsx +52 -0
- package/src/routes/inventory/inventory-list/components/inventory-list-table/inventory-list-table.tsx +64 -0
- package/src/routes/inventory/inventory-list/components/inventory-list-table/use-inventory-table-columns.tsx +118 -0
- package/src/routes/inventory/inventory-list/components/inventory-list-table/use-inventory-table-filters.tsx +82 -0
- package/src/routes/inventory/inventory-list/components/inventory-list-table/use-inventory-table-query.tsx +57 -0
- package/src/routes/inventory/inventory-list/index.ts +1 -0
- package/src/routes/inventory/inventory-list/inventory-list.tsx +9 -0
- package/src/routes/invite/index.ts +1 -0
- package/src/routes/invite/invite.tsx +387 -0
- package/src/routes/login/index.ts +1 -0
- package/src/routes/login/login.tsx +141 -0
- package/src/routes/no-match/index.ts +1 -0
- package/src/routes/no-match/no-match.tsx +3 -0
- package/src/routes/orders/common/edit-address-form/edit-order-address-form.tsx +96 -0
- package/src/routes/orders/common/edit-address-form/index.ts +1 -0
- package/src/routes/orders/order-billing-address/index.ts +1 -0
- package/src/routes/orders/order-billing-address/order-billing-address.tsx +50 -0
- package/src/routes/orders/order-create-return/components/order-create-return-form/constants.ts +16 -0
- package/src/routes/orders/order-create-return/components/order-create-return-form/index.ts +1 -0
- package/src/routes/orders/order-create-return/components/order-create-return-form/order-create-return-details/index.ts +1 -0
- package/src/routes/orders/order-create-return/components/order-create-return-form/order-create-return-details/order-create-return-details.tsx +501 -0
- package/src/routes/orders/order-create-return/components/order-create-return-form/order-create-return-details/return-item.tsx +138 -0
- package/src/routes/orders/order-create-return/components/order-create-return-form/order-create-return-form.tsx +286 -0
- package/src/routes/orders/order-create-return/components/order-create-return-form/order-create-return-item-table/index.ts +1 -0
- 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
- 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
- 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
- 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
- package/src/routes/orders/order-create-return/index.ts +1 -0
- package/src/routes/orders/order-create-return/order-create-return.tsx +26 -0
- package/src/routes/orders/order-detail/components/order-activity-section/index.ts +1 -0
- package/src/routes/orders/order-detail/components/order-activity-section/order-activity-section.tsx +25 -0
- package/src/routes/orders/order-detail/components/order-activity-section/order-note-form.tsx +112 -0
- package/src/routes/orders/order-detail/components/order-activity-section/order-timeline.tsx +405 -0
- package/src/routes/orders/order-detail/components/order-customer-section/index.ts +1 -0
- package/src/routes/orders/order-detail/components/order-customer-section/order-customer-section.tsx +69 -0
- package/src/routes/orders/order-detail/components/order-fulfillment-section/index.ts +1 -0
- package/src/routes/orders/order-detail/components/order-fulfillment-section/order-fulfillment-section.tsx +324 -0
- package/src/routes/orders/order-detail/components/order-general-section/index.ts +1 -0
- package/src/routes/orders/order-detail/components/order-general-section/order-general-section.tsx +114 -0
- package/src/routes/orders/order-detail/components/order-payment-section/index.ts +1 -0
- package/src/routes/orders/order-detail/components/order-payment-section/order-payment-section.tsx +284 -0
- package/src/routes/orders/order-detail/components/order-summary-section/index.ts +1 -0
- package/src/routes/orders/order-detail/components/order-summary-section/order-summary-section.tsx +244 -0
- package/src/routes/orders/order-detail/constants.ts +2 -0
- package/src/routes/orders/order-detail/index.ts +2 -0
- package/src/routes/orders/order-detail/loader.ts +25 -0
- package/src/routes/orders/order-detail/order-detail.tsx +56 -0
- package/src/routes/orders/order-edit/components/order-edit-form/index.tsx +1 -0
- package/src/routes/orders/order-edit/components/order-edit-form/order-edit-form.tsx +359 -0
- package/src/routes/orders/order-edit/components/order-edit-form/order-edit-item.tsx +112 -0
- package/src/routes/orders/order-edit/components/variant-table/index.tsx +1 -0
- package/src/routes/orders/order-edit/components/variant-table/use-variant-table-columns.tsx +98 -0
- package/src/routes/orders/order-edit/components/variant-table/use-variant-table-filters.tsx +17 -0
- package/src/routes/orders/order-edit/components/variant-table/use-variant-table-query.tsx +32 -0
- package/src/routes/orders/order-edit/components/variant-table/variant-table.tsx +164 -0
- package/src/routes/orders/order-edit/index.ts +2 -0
- package/src/routes/orders/order-edit/loader.ts +25 -0
- package/src/routes/orders/order-edit/order-edit.tsx +77 -0
- package/src/routes/orders/order-email/components/edit-order-email-form/edit-order-email-form.tsx +65 -0
- package/src/routes/orders/order-email/components/edit-order-email-form/index.ts +1 -0
- package/src/routes/orders/order-email/index.ts +1 -0
- package/src/routes/orders/order-email/order-email.tsx +31 -0
- package/src/routes/orders/order-list/components/order-list-table/index.ts +1 -0
- package/src/routes/orders/order-list/components/order-list-table/order-list-table.tsx +68 -0
- package/src/routes/orders/order-list/index.ts +1 -0
- package/src/routes/orders/order-list/order-list.tsx +9 -0
- package/src/routes/orders/order-refund/components/order-refund-form/index.ts +1 -0
- package/src/routes/orders/order-refund/components/order-refund-form/order-refund-form.tsx +262 -0
- package/src/routes/orders/order-refund/index.ts +1 -0
- package/src/routes/orders/order-refund/order-refund.tsx +40 -0
- package/src/routes/orders/order-refund/schema.ts +18 -0
- package/src/routes/orders/order-shipping-address/index.ts +1 -0
- package/src/routes/orders/order-shipping-address/order-shipping-address.tsx +50 -0
- package/src/routes/orders/order-transfer-ownership/components/transfer-order-ownership-form/index.ts +1 -0
- package/src/routes/orders/order-transfer-ownership/components/transfer-order-ownership-form/transfer-order-ownership-form.tsx +72 -0
- package/src/routes/orders/order-transfer-ownership/index.ts +1 -0
- package/src/routes/orders/order-transfer-ownership/order-transfer-ownership.tsx +28 -0
- package/src/routes/reservations/reservation-detail/components/reservation-general-section/index.ts +1 -0
- package/src/routes/reservations/reservation-detail/components/reservation-general-section/reservation-general-section.tsx +28 -0
- package/src/routes/reservations/reservation-detail/index.ts +1 -0
- package/src/routes/reservations/reservation-detail/reservation-detail.tsx +25 -0
- package/src/routes/reservations/reservation-list/components/reservation-list-table/index.ts +1 -0
- package/src/routes/reservations/reservation-list/components/reservation-list-table/reservation-actions.tsx +64 -0
- package/src/routes/reservations/reservation-list/components/reservation-list-table/reservation-list-table.tsx +71 -0
- package/src/routes/reservations/reservation-list/components/reservation-list-table/use-reservation-table-columns.tsx +104 -0
- package/src/routes/reservations/reservation-list/components/reservation-list-table/use-reservation-table-filters.tsx +35 -0
- package/src/routes/reservations/reservation-list/components/reservation-list-table/use-reservation-table-query.tsx +32 -0
- package/src/routes/reservations/reservation-list/constants.ts +1 -0
- package/src/routes/reservations/reservation-list/index.ts +1 -0
- package/src/routes/reservations/reservation-list/reservation-list.tsx +9 -0
- package/src/routes/reset-password/reset-password-request/index.ts +1 -0
- package/src/routes/reset-password/reset-password-request/reset-password.tsx +143 -0
- package/src/routes/reset-password/reset-password-token/index.ts +1 -0
- package/src/routes/reset-password/reset-password-token/reset-password-token.tsx +258 -0
- package/src/routes/return-reasons/return-reason-create/components/create-return-reason-form/create-return-reason-form.tsx +130 -0
- package/src/routes/return-reasons/return-reason-create/components/create-return-reason-form/index.ts +1 -0
- package/src/routes/return-reasons/return-reason-create/index.ts +1 -0
- package/src/routes/return-reasons/return-reason-create/return-reason-create.tsx +10 -0
- package/src/routes/return-reasons/return-reason-edit/components/edit-return-reason-form/edit-return-reason-form.tsx +119 -0
- package/src/routes/return-reasons/return-reason-edit/components/edit-return-reason-form/index.ts +1 -0
- package/src/routes/return-reasons/return-reason-edit/index.ts +1 -0
- package/src/routes/return-reasons/return-reason-edit/return-reason-edit.tsx +28 -0
- package/src/routes/return-reasons/return-reason-list/components/return-reason-callout/index.ts +1 -0
- package/src/routes/return-reasons/return-reason-list/components/return-reason-callout/return-reason-callout.tsx +21 -0
- package/src/routes/return-reasons/return-reason-list/components/return-reason-overview/index.ts +1 -0
- package/src/routes/return-reasons/return-reason-list/components/return-reason-overview/return-reason-overview.tsx +121 -0
- package/src/routes/return-reasons/return-reason-list/index.ts +1 -0
- package/src/routes/return-reasons/return-reason-list/return-reason-list.tsx +13 -0
- package/src/routes/settings/index.ts +1 -0
- package/src/routes/settings/settings.tsx +15 -0
- package/src/types/api-payloads.ts +137 -0
- package/src/types/api-responses.ts +226 -0
- package/src/v2-routes/api-key-management/api-key-management-create/api-key-management-create.tsx +15 -0
- package/src/v2-routes/api-key-management/api-key-management-create/components/api-key-create-form/api-key-create-form.tsx +211 -0
- package/src/v2-routes/api-key-management/api-key-management-create/components/api-key-create-form/index.ts +1 -0
- package/src/v2-routes/api-key-management/api-key-management-create/index.ts +1 -0
- package/src/v2-routes/api-key-management/api-key-management-detail/api-key-management-detail.tsx +50 -0
- package/src/v2-routes/api-key-management/api-key-management-detail/components/api-key-general-section/api-key-general-section.tsx +244 -0
- package/src/v2-routes/api-key-management/api-key-management-detail/components/api-key-general-section/index.ts +1 -0
- 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
- package/src/v2-routes/api-key-management/api-key-management-detail/components/api-key-sales-channel-section/index.ts +1 -0
- package/src/v2-routes/api-key-management/api-key-management-detail/index.ts +2 -0
- package/src/v2-routes/api-key-management/api-key-management-detail/loader.ts +21 -0
- package/src/v2-routes/api-key-management/api-key-management-edit/api-key-management-edit.tsx +26 -0
- package/src/v2-routes/api-key-management/api-key-management-edit/components/edit-api-key-form/edit-api-key-form.tsx +93 -0
- package/src/v2-routes/api-key-management/api-key-management-edit/components/edit-api-key-form/index.ts +1 -0
- package/src/v2-routes/api-key-management/api-key-management-edit/index.ts +1 -0
- package/src/v2-routes/api-key-management/api-key-management-list/api-key-management-list.tsx +16 -0
- 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
- package/src/v2-routes/api-key-management/api-key-management-list/components/api-key-management-list-table/api-key-row-actions.tsx +132 -0
- package/src/v2-routes/api-key-management/api-key-management-list/components/api-key-management-list-table/index.ts +1 -0
- 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
- 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
- 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
- package/src/v2-routes/api-key-management/api-key-management-list/index.ts +1 -0
- package/src/v2-routes/api-key-management/api-key-management-sales-channels/api-key-management-sales-channels.tsx +32 -0
- 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
- package/src/v2-routes/api-key-management/api-key-management-sales-channels/components/api-key-sales-channels-form/index.ts +1 -0
- package/src/v2-routes/api-key-management/api-key-management-sales-channels/index.ts +1 -0
- package/src/v2-routes/api-key-management/common/constants.ts +4 -0
- package/src/v2-routes/api-key-management/common/utils.ts +62 -0
- package/src/v2-routes/campaigns/add-campaign-promotions/add-campaign-promotions.tsx +19 -0
- package/src/v2-routes/campaigns/add-campaign-promotions/components/add-campaign-promotions-form.tsx +223 -0
- package/src/v2-routes/campaigns/add-campaign-promotions/components/index.ts +1 -0
- package/src/v2-routes/campaigns/add-campaign-promotions/index.ts +1 -0
- package/src/v2-routes/campaigns/campaign-budget-edit/campaign-budget-edit.tsx +27 -0
- package/src/v2-routes/campaigns/campaign-budget-edit/components/edit-campaign-budget-form/edit-campaign-budget-form.tsx +201 -0
- package/src/v2-routes/campaigns/campaign-budget-edit/components/edit-campaign-budget-form/index.ts +1 -0
- package/src/v2-routes/campaigns/campaign-budget-edit/index.ts +1 -0
- package/src/v2-routes/campaigns/campaign-create/campaign-create.tsx +10 -0
- package/src/v2-routes/campaigns/campaign-create/components/create-campaign-form/create-campaign-form.tsx +387 -0
- package/src/v2-routes/campaigns/campaign-create/components/create-campaign-form/index.ts +1 -0
- package/src/v2-routes/campaigns/campaign-create/index.ts +1 -0
- package/src/v2-routes/campaigns/campaign-detail/campaign-detail.tsx +48 -0
- package/src/v2-routes/campaigns/campaign-detail/components/campaign-budget/campaign-budget.tsx +75 -0
- package/src/v2-routes/campaigns/campaign-detail/components/campaign-budget/index.ts +1 -0
- package/src/v2-routes/campaigns/campaign-detail/components/campaign-general-section/campaign-general-section.tsx +161 -0
- package/src/v2-routes/campaigns/campaign-detail/components/campaign-general-section/index.ts +1 -0
- package/src/v2-routes/campaigns/campaign-detail/components/campaign-promotion-section/campaign-promotion-section.tsx +236 -0
- package/src/v2-routes/campaigns/campaign-detail/components/campaign-promotion-section/index.ts +1 -0
- package/src/v2-routes/campaigns/campaign-detail/components/campaign-spend/campaign-spend.tsx +55 -0
- package/src/v2-routes/campaigns/campaign-detail/components/campaign-spend/index.ts +1 -0
- package/src/v2-routes/campaigns/campaign-detail/index.ts +2 -0
- package/src/v2-routes/campaigns/campaign-detail/loader.ts +24 -0
- package/src/v2-routes/campaigns/campaign-edit/campaign-edit.tsx +27 -0
- package/src/v2-routes/campaigns/campaign-edit/components/edit-campaign-form/edit-campaign-form.tsx +239 -0
- package/src/v2-routes/campaigns/campaign-edit/components/edit-campaign-form/index.ts +1 -0
- package/src/v2-routes/campaigns/campaign-edit/index.ts +1 -0
- package/src/v2-routes/campaigns/campaign-list/campaign-list.tsx +11 -0
- package/src/v2-routes/campaigns/campaign-list/components/campaign-list-table.tsx +155 -0
- package/src/v2-routes/campaigns/campaign-list/components/index.ts +1 -0
- package/src/v2-routes/campaigns/campaign-list/index.ts +1 -0
- package/src/v2-routes/campaigns/common/utils/campaign-status.ts +31 -0
- package/src/v2-routes/categories/category-detail/category-detail.tsx +51 -0
- package/src/v2-routes/categories/category-detail/components/category-general-section/category-general-section.tsx +53 -0
- package/src/v2-routes/categories/category-detail/components/category-general-section/index.ts +1 -0
- package/src/v2-routes/categories/category-detail/components/category-organization-section/category-organization-section.tsx +196 -0
- package/src/v2-routes/categories/category-detail/components/category-organization-section/index.ts +1 -0
- package/src/v2-routes/categories/category-detail/components/category-product-section/category-product-section.tsx +71 -0
- package/src/v2-routes/categories/category-detail/components/category-product-section/index.ts +1 -0
- package/src/v2-routes/categories/category-detail/index.ts +2 -0
- package/src/v2-routes/categories/category-detail/loader.ts +21 -0
- package/src/v2-routes/categories/category-list/category-list.tsx +9 -0
- package/src/v2-routes/categories/category-list/components/category-list-table/category-list-table.tsx +124 -0
- package/src/v2-routes/categories/category-list/components/category-list-table/index.ts +1 -0
- package/src/v2-routes/categories/category-list/index.ts +1 -0
- package/src/v2-routes/categories/common/hooks/use-category-table-query.tsx +23 -0
- package/src/v2-routes/categories/common/utils.ts +71 -0
- package/src/v2-routes/collections/collection-add-products/collection-add-products.tsx +22 -0
- package/src/v2-routes/collections/collection-add-products/components/add-products-to-collection-form/add-products-to-collection-form.tsx +322 -0
- package/src/v2-routes/collections/collection-add-products/components/add-products-to-collection-form/index.ts +1 -0
- package/src/v2-routes/collections/collection-add-products/index.ts +1 -0
- package/src/v2-routes/collections/collection-create/collection-create.tsx +10 -0
- package/src/v2-routes/collections/collection-create/components/create-collection-form/create-collection-form.tsx +112 -0
- package/src/v2-routes/collections/collection-create/components/create-collection-form/index.ts +1 -0
- package/src/v2-routes/collections/collection-create/index.ts +1 -0
- package/src/v2-routes/collections/collection-detail/collection-detail.tsx +38 -0
- package/src/v2-routes/collections/collection-detail/components/collection-general-section/collection-general-section.tsx +70 -0
- package/src/v2-routes/collections/collection-detail/components/collection-general-section/index.ts +1 -0
- package/src/v2-routes/collections/collection-detail/components/collection-product-section/collection-product-section.tsx +245 -0
- package/src/v2-routes/collections/collection-detail/components/collection-product-section/index.ts +1 -0
- package/src/v2-routes/collections/collection-detail/index.ts +2 -0
- package/src/v2-routes/collections/collection-detail/loader.ts +21 -0
- package/src/v2-routes/collections/collection-edit/collection-edit.tsx +27 -0
- package/src/v2-routes/collections/collection-edit/components/edit-collection-form/edit-collection-form.tsx +112 -0
- package/src/v2-routes/collections/collection-edit/components/edit-collection-form/index.ts +1 -0
- package/src/v2-routes/collections/collection-edit/index.ts +1 -0
- package/src/v2-routes/collections/collection-list/collection-list.tsx +11 -0
- package/src/v2-routes/collections/collection-list/components/collection-list-table/collection-list-table.tsx +67 -0
- package/src/v2-routes/collections/collection-list/components/collection-list-table/index.ts +1 -0
- package/src/v2-routes/collections/collection-list/components/collection-list-table/use-collection-table-columns.tsx +94 -0
- package/src/v2-routes/collections/collection-list/components/collection-list-table/use-collection-table-filters.tsx +21 -0
- package/src/v2-routes/collections/collection-list/components/collection-list-table/use-collection-table-query.tsx +33 -0
- package/src/v2-routes/collections/collection-list/index.ts +1 -0
- package/src/v2-routes/customer-groups/customer-group-add-customers/components/add-customers-form/add-customers-form.tsx +242 -0
- package/src/v2-routes/customer-groups/customer-group-add-customers/components/add-customers-form/index.ts +1 -0
- package/src/v2-routes/customer-groups/customer-group-add-customers/customer-group-add-customers.tsx +13 -0
- package/src/v2-routes/customer-groups/customer-group-add-customers/index.ts +1 -0
- package/src/v2-routes/customer-groups/customer-group-create/components/create-customer-group-form/create-customer-group-form.tsx +107 -0
- package/src/v2-routes/customer-groups/customer-group-create/components/create-customer-group-form/index.ts +1 -0
- package/src/v2-routes/customer-groups/customer-group-create/customer-group-create.tsx +10 -0
- package/src/v2-routes/customer-groups/customer-group-create/index.ts +1 -0
- package/src/v2-routes/customer-groups/customer-group-detail/components/customer-group-customer-section/customer-group-customer-section.tsx +250 -0
- package/src/v2-routes/customer-groups/customer-group-detail/components/customer-group-customer-section/index.ts +1 -0
- package/src/v2-routes/customer-groups/customer-group-detail/components/customer-group-general-section/customer-group-general-section.tsx +93 -0
- package/src/v2-routes/customer-groups/customer-group-detail/components/customer-group-general-section/index.ts +1 -0
- package/src/v2-routes/customer-groups/customer-group-detail/customer-group-detail.tsx +38 -0
- package/src/v2-routes/customer-groups/customer-group-detail/index.ts +2 -0
- package/src/v2-routes/customer-groups/customer-group-detail/loader.ts +25 -0
- package/src/v2-routes/customer-groups/customer-group-edit/components/edit-customer-group-form/edit-customer-group-form.tsx +90 -0
- package/src/v2-routes/customer-groups/customer-group-edit/components/edit-customer-group-form/index.ts +1 -0
- package/src/v2-routes/customer-groups/customer-group-edit/customer-group-edit.tsx +28 -0
- package/src/v2-routes/customer-groups/customer-group-edit/index.ts +1 -0
- package/src/v2-routes/customer-groups/customer-group-list/components/customer-group-list-table/customer-group-list-table.tsx +161 -0
- package/src/v2-routes/customer-groups/customer-group-list/components/customer-group-list-table/index.ts +1 -0
- package/src/v2-routes/customer-groups/customer-group-list/customer-group-list.tsx +11 -0
- package/src/v2-routes/customer-groups/customer-group-list/index.ts +1 -0
- package/src/v2-routes/customers/customer-create/components/create-customer-form/create-customer-form.tsx +178 -0
- package/src/v2-routes/customers/customer-create/components/create-customer-form/index.ts +1 -0
- package/src/v2-routes/customers/customer-create/customer-create.tsx +10 -0
- package/src/v2-routes/customers/customer-create/index.ts +1 -0
- package/src/v2-routes/customers/customer-detail/components/customer-general-section/customer-general-section.tsx +130 -0
- package/src/v2-routes/customers/customer-detail/components/customer-general-section/index.ts +1 -0
- package/src/v2-routes/customers/customer-detail/components/customer-group-section/customer-group-section.tsx +129 -0
- package/src/v2-routes/customers/customer-detail/components/customer-group-section/index.ts +1 -0
- package/src/v2-routes/customers/customer-detail/components/customer-order-section/customer-order-section.tsx +121 -0
- package/src/v2-routes/customers/customer-detail/components/customer-order-section/index.ts +1 -0
- package/src/v2-routes/customers/customer-detail/customer-detail.tsx +37 -0
- package/src/v2-routes/customers/customer-detail/index.ts +2 -0
- package/src/v2-routes/customers/customer-detail/loader.ts +20 -0
- package/src/v2-routes/customers/customer-edit/components/edit-customer-form/edit-customer-form.tsx +191 -0
- package/src/v2-routes/customers/customer-edit/components/edit-customer-form/index.ts +1 -0
- package/src/v2-routes/customers/customer-edit/customer-edit.tsx +26 -0
- package/src/v2-routes/customers/customer-edit/index.ts +1 -0
- package/src/v2-routes/customers/customer-list/components/customer-list-table/customer-list-table.tsx +121 -0
- package/src/v2-routes/customers/customer-list/components/customer-list-table/index.ts +1 -0
- package/src/v2-routes/customers/customer-list/customer-list.tsx +11 -0
- package/src/v2-routes/customers/customer-list/index.ts +1 -0
- package/src/v2-routes/customers/customer-transfer-ownership/components/transfer-customer-order-ownership-form/index.ts +1 -0
- package/src/v2-routes/customers/customer-transfer-ownership/components/transfer-customer-order-ownership-form/transfer-customer-order-ownership-form.tsx +72 -0
- package/src/v2-routes/customers/customer-transfer-ownership/customer-transfer-ownership.tsx +28 -0
- package/src/v2-routes/customers/customer-transfer-ownership/index.ts +1 -0
- package/src/v2-routes/home/home.tsx +12 -0
- package/src/v2-routes/home/index.ts +1 -0
- package/src/v2-routes/inventory/inventory-detail/components/adjust-inventory/adjust-inventory-drawer.tsx +55 -0
- package/src/v2-routes/inventory/inventory-detail/components/adjust-inventory/components/adjust-inventory-form.tsx +164 -0
- package/src/v2-routes/inventory/inventory-detail/components/adjust-inventory/index.ts +1 -0
- package/src/v2-routes/inventory/inventory-detail/components/edit-inventory-item/components/edit-item-form.tsx +114 -0
- package/src/v2-routes/inventory/inventory-detail/components/edit-inventory-item/edit-item-drawer.tsx +33 -0
- package/src/v2-routes/inventory/inventory-detail/components/edit-inventory-item/index.ts +1 -0
- package/src/v2-routes/inventory/inventory-detail/components/edit-inventory-item-attributes/components/edit-item-attributes-form.tsx +261 -0
- package/src/v2-routes/inventory/inventory-detail/components/edit-inventory-item-attributes/edit-item-attributes-drawer.tsx +33 -0
- package/src/v2-routes/inventory/inventory-detail/components/edit-inventory-item-attributes/index.ts +1 -0
- package/src/v2-routes/inventory/inventory-detail/components/inventory-item-attributes/attributes-section.tsx +49 -0
- package/src/v2-routes/inventory/inventory-detail/components/inventory-item-general-section.tsx +80 -0
- package/src/v2-routes/inventory/inventory-detail/components/inventory-item-location-levels.tsx +27 -0
- package/src/v2-routes/inventory/inventory-detail/components/inventory-item-reservations.tsx +27 -0
- package/src/v2-routes/inventory/inventory-detail/components/location-levels-table/location-actions.tsx +60 -0
- package/src/v2-routes/inventory/inventory-detail/components/location-levels-table/location-list-table.tsx +55 -0
- package/src/v2-routes/inventory/inventory-detail/components/location-levels-table/use-location-list-table-columns.tsx +97 -0
- package/src/v2-routes/inventory/inventory-detail/components/location-levels-table/use-location-list-table-query.tsx +44 -0
- package/src/v2-routes/inventory/inventory-detail/components/manage-locations/components/location-item.tsx +42 -0
- package/src/v2-routes/inventory/inventory-detail/components/manage-locations/components/manage-locations-form.tsx +193 -0
- package/src/v2-routes/inventory/inventory-detail/components/manage-locations/index.ts +1 -0
- package/src/v2-routes/inventory/inventory-detail/components/manage-locations/manage-locations-drawer.tsx +39 -0
- package/src/v2-routes/inventory/inventory-detail/components/reservations-table/reservation-actions.tsx +64 -0
- package/src/v2-routes/inventory/inventory-detail/components/reservations-table/reservation-list-table.tsx +51 -0
- package/src/v2-routes/inventory/inventory-detail/components/reservations-table/use-reservation-list-table-columns.tsx +107 -0
- package/src/v2-routes/inventory/inventory-detail/components/reservations-table/use-reservation-list-table-query.tsx +35 -0
- package/src/v2-routes/inventory/inventory-detail/index.ts +2 -0
- package/src/v2-routes/inventory/inventory-detail/inventory-detail.tsx +66 -0
- package/src/v2-routes/inventory/inventory-detail/loader.ts +23 -0
- package/src/v2-routes/inventory/inventory-list/components/inventory-actions.tsx +53 -0
- package/src/v2-routes/inventory/inventory-list/components/inventory-list-table.tsx +67 -0
- package/src/v2-routes/inventory/inventory-list/components/use-inventory-table-columns.tsx +96 -0
- package/src/v2-routes/inventory/inventory-list/components/use-inventory-table-filters.tsx +82 -0
- package/src/v2-routes/inventory/inventory-list/components/use-inventory-table-query.tsx +57 -0
- package/src/v2-routes/inventory/inventory-list/index.ts +1 -0
- package/src/v2-routes/inventory/inventory-list/inventory-list.tsx +11 -0
- package/src/v2-routes/invite/index.ts +1 -0
- package/src/v2-routes/invite/invite.tsx +396 -0
- package/src/v2-routes/login/index.ts +1 -0
- package/src/v2-routes/login/login.tsx +146 -0
- package/src/v2-routes/orders/order-detail/components/order-activity-section/index.ts +1 -0
- package/src/v2-routes/orders/order-detail/components/order-activity-section/order-activity-section.tsx +25 -0
- package/src/v2-routes/orders/order-detail/components/order-activity-section/order-note-form.tsx +111 -0
- package/src/v2-routes/orders/order-detail/components/order-activity-section/order-timeline.tsx +404 -0
- package/src/v2-routes/orders/order-detail/components/order-customer-section/index.ts +1 -0
- package/src/v2-routes/orders/order-detail/components/order-customer-section/order-customer-section.tsx +69 -0
- package/src/v2-routes/orders/order-detail/components/order-fulfillment-section/index.ts +1 -0
- package/src/v2-routes/orders/order-detail/components/order-fulfillment-section/order-fulfillment-section.tsx +340 -0
- package/src/v2-routes/orders/order-detail/components/order-general-section/index.ts +1 -0
- package/src/v2-routes/orders/order-detail/components/order-general-section/order-general-section.tsx +118 -0
- package/src/v2-routes/orders/order-detail/components/order-payment-section/index.ts +1 -0
- package/src/v2-routes/orders/order-detail/components/order-payment-section/order-payment-section.tsx +284 -0
- package/src/v2-routes/orders/order-detail/components/order-summary-section/index.ts +1 -0
- package/src/v2-routes/orders/order-detail/components/order-summary-section/order-summary-section.tsx +246 -0
- package/src/v2-routes/orders/order-detail/constants.ts +30 -0
- package/src/v2-routes/orders/order-detail/index.ts +2 -0
- package/src/v2-routes/orders/order-detail/loader.ts +26 -0
- package/src/v2-routes/orders/order-detail/order-detail.tsx +57 -0
- package/src/v2-routes/orders/order-list/components/order-list-table/index.ts +1 -0
- package/src/v2-routes/orders/order-list/components/order-list-table/order-list-table.tsx +67 -0
- package/src/v2-routes/orders/order-list/const.ts +17 -0
- package/src/v2-routes/orders/order-list/index.ts +1 -0
- package/src/v2-routes/orders/order-list/order-list.tsx +9 -0
- package/src/v2-routes/pricing/common/constants.ts +15 -0
- package/src/v2-routes/pricing/common/hooks/use-price-list-grid-columns.tsx +77 -0
- package/src/v2-routes/pricing/common/schemas.ts +31 -0
- package/src/v2-routes/pricing/common/utils.ts +55 -0
- package/src/v2-routes/pricing/pricing-configuration/components/price-list-configuration-form/index.ts +1 -0
- package/src/v2-routes/pricing/pricing-configuration/components/price-list-configuration-form/price-list-configuration-form.tsx +197 -0
- package/src/v2-routes/pricing/pricing-configuration/index.ts +1 -0
- package/src/v2-routes/pricing/pricing-configuration/pricing-configuration.tsx +28 -0
- package/src/v2-routes/pricing/pricing-create/components/pricing-create-form/index.ts +1 -0
- package/src/v2-routes/pricing/pricing-create/components/pricing-create-form/pricing-create-form.tsx +362 -0
- package/src/v2-routes/pricing/pricing-create/components/pricing-create-form/pricing-details-form.tsx +554 -0
- package/src/v2-routes/pricing/pricing-create/components/pricing-create-form/pricing-prices-form.tsx +119 -0
- package/src/v2-routes/pricing/pricing-create/components/pricing-create-form/pricing-products-form.tsx +175 -0
- package/src/v2-routes/pricing/pricing-create/components/pricing-create-form/schema.ts +54 -0
- package/src/v2-routes/pricing/pricing-create/index.ts +1 -0
- package/src/v2-routes/pricing/pricing-create/pricing-create.tsx +10 -0
- package/src/v2-routes/pricing/pricing-detail/components/pricing-configuration-section/index.ts +1 -0
- package/src/v2-routes/pricing/pricing-detail/components/pricing-configuration-section/pricing-configuration-section.tsx +90 -0
- package/src/v2-routes/pricing/pricing-detail/components/pricing-general-section/index.ts +1 -0
- package/src/v2-routes/pricing/pricing-detail/components/pricing-general-section/pricing-general-section.tsx +110 -0
- package/src/v2-routes/pricing/pricing-detail/components/pricing-product-section/index.ts +1 -0
- package/src/v2-routes/pricing/pricing-detail/components/pricing-product-section/pricing-product-section.tsx +217 -0
- package/src/v2-routes/pricing/pricing-detail/index.ts +2 -0
- package/src/v2-routes/pricing/pricing-detail/loader.ts +20 -0
- package/src/v2-routes/pricing/pricing-detail/pricing-detail.tsx +37 -0
- package/src/v2-routes/pricing/pricing-edit/components/edit-price-list-form/edit-price-list-form.tsx +131 -0
- package/src/v2-routes/pricing/pricing-edit/components/edit-price-list-form/index.ts +1 -0
- package/src/v2-routes/pricing/pricing-edit/index.ts +1 -0
- package/src/v2-routes/pricing/pricing-edit/pricing-edit.tsx +28 -0
- package/src/v2-routes/pricing/pricing-list/components/pricing-list-table/index.ts +1 -0
- package/src/v2-routes/pricing/pricing-list/components/pricing-list-table/pricing-list-table.tsx +69 -0
- package/src/v2-routes/pricing/pricing-list/components/pricing-list-table/pricing-table-actions.tsx +61 -0
- package/src/v2-routes/pricing/pricing-list/components/pricing-list-table/use-pricing-table-columns.tsx +43 -0
- package/src/v2-routes/pricing/pricing-list/components/pricing-list-table/use-pricing-table-filters.tsx +18 -0
- package/src/v2-routes/pricing/pricing-list/components/pricing-list-table/use-pricing-table-query.tsx +23 -0
- package/src/v2-routes/pricing/pricing-list/index.ts +1 -0
- package/src/v2-routes/pricing/pricing-list/pricing-list.tsx +11 -0
- package/src/v2-routes/pricing/pricing-products/index.ts +1 -0
- package/src/v2-routes/pricing/pricing-products/pricing-products.tsx +5 -0
- package/src/v2-routes/pricing/pricing-products-prices/components/pricing-products-prices-form/index.ts +1 -0
- package/src/v2-routes/pricing/pricing-products-prices/components/pricing-products-prices-form/pricing-products-prices-form.tsx +388 -0
- package/src/v2-routes/pricing/pricing-products-prices/index.ts +1 -0
- package/src/v2-routes/pricing/pricing-products-prices/pricing-products-prices.tsx +43 -0
- package/src/v2-routes/products/common/components/category-combobox/category-combobox.tsx +380 -0
- package/src/v2-routes/products/common/components/category-combobox/index.ts +1 -0
- package/src/v2-routes/products/common/variant-pricing-form.tsx +95 -0
- package/src/v2-routes/products/product-attributes/components/product-attributes-form/index.ts +1 -0
- package/src/v2-routes/products/product-attributes/components/product-attributes-form/product-attributes-form.tsx +265 -0
- package/src/v2-routes/products/product-attributes/index.ts +1 -0
- package/src/v2-routes/products/product-attributes/product-attributes.tsx +27 -0
- package/src/v2-routes/products/product-create/components/product-create-details-form/components/product-create-details-attribute-section/index.ts +1 -0
- 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
- package/src/v2-routes/products/product-create/components/product-create-details-form/components/product-create-details-context/index.ts +2 -0
- package/src/v2-routes/products/product-create/components/product-create-details-form/components/product-create-details-context/product-create-details-context.tsx +9 -0
- 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
- package/src/v2-routes/products/product-create/components/product-create-details-form/components/product-create-details-general-section/index.ts +1 -0
- 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
- package/src/v2-routes/products/product-create/components/product-create-details-form/components/product-create-details-media-section/index.ts +1 -0
- 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
- package/src/v2-routes/products/product-create/components/product-create-details-form/components/product-create-details-organize-section/index.ts +1 -0
- 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
- package/src/v2-routes/products/product-create/components/product-create-details-form/components/product-create-details-variant-section/index.ts +1 -0
- 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
- package/src/v2-routes/products/product-create/components/product-create-details-form/components/product-create-sales-channel-drawer/index.ts +1 -0
- 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
- package/src/v2-routes/products/product-create/components/product-create-details-form/index.ts +1 -0
- package/src/v2-routes/products/product-create/components/product-create-details-form/product-create-details-form.tsx +61 -0
- package/src/v2-routes/products/product-create/components/product-create-form/index.ts +1 -0
- package/src/v2-routes/products/product-create/components/product-create-form/product-create-form.tsx +189 -0
- package/src/v2-routes/products/product-create/constants.ts +78 -0
- package/src/v2-routes/products/product-create/index.ts +1 -0
- package/src/v2-routes/products/product-create/product-create.tsx +10 -0
- package/src/v2-routes/products/product-create/types.ts +4 -0
- package/src/v2-routes/products/product-create/utils.ts +51 -0
- package/src/v2-routes/products/product-create-option/components/create-product-option-form/create-product-option-form.tsx +118 -0
- package/src/v2-routes/products/product-create-option/components/create-product-option-form/index.ts +1 -0
- package/src/v2-routes/products/product-create-option/index.ts +1 -0
- package/src/v2-routes/products/product-create-option/product-create-option.tsx +26 -0
- package/src/v2-routes/products/product-create-variant/components/create-product-variant-form/create-product-variant-form.tsx +482 -0
- package/src/v2-routes/products/product-create-variant/components/create-product-variant-form/index.ts +1 -0
- package/src/v2-routes/products/product-create-variant/index.ts +1 -0
- package/src/v2-routes/products/product-create-variant/product-create-variant.tsx +26 -0
- package/src/v2-routes/products/product-detail/components/product-attribute-section/index.ts +1 -0
- package/src/v2-routes/products/product-detail/components/product-attribute-section/product-attribute-section.tsx +48 -0
- package/src/v2-routes/products/product-detail/components/product-general-section/index.ts +1 -0
- package/src/v2-routes/products/product-detail/components/product-general-section/product-general-section.tsx +101 -0
- package/src/v2-routes/products/product-detail/components/product-media-section/index.ts +1 -0
- package/src/v2-routes/products/product-detail/components/product-media-section/product-media-section.tsx +185 -0
- package/src/v2-routes/products/product-detail/components/product-option-section/index.ts +1 -0
- package/src/v2-routes/products/product-detail/components/product-option-section/product-option-section.tsx +113 -0
- package/src/v2-routes/products/product-detail/components/product-organization-section/index.ts +1 -0
- package/src/v2-routes/products/product-detail/components/product-organization-section/product-organization-section.tsx +95 -0
- package/src/v2-routes/products/product-detail/components/product-sales-channel-section/index.ts +1 -0
- package/src/v2-routes/products/product-detail/components/product-sales-channel-section/product-sales-channel-section.tsx +106 -0
- package/src/v2-routes/products/product-detail/components/product-variant-section/index.ts +1 -0
- package/src/v2-routes/products/product-detail/components/product-variant-section/product-variant-section.tsx +94 -0
- package/src/v2-routes/products/product-detail/components/product-variant-section/use-variant-table-columns.tsx +152 -0
- package/src/v2-routes/products/product-detail/components/product-variant-section/use-variant-table-filters.tsx +58 -0
- package/src/v2-routes/products/product-detail/components/product-variant-section/use-variant-table-query.tsx +51 -0
- package/src/v2-routes/products/product-detail/index.ts +2 -0
- package/src/v2-routes/products/product-detail/loader.ts +22 -0
- package/src/v2-routes/products/product-detail/product-detail.tsx +94 -0
- package/src/v2-routes/products/product-edit/components/edit-product-form/edit-product-form.tsx +260 -0
- package/src/v2-routes/products/product-edit/components/edit-product-form/index.ts +1 -0
- package/src/v2-routes/products/product-edit/index.ts +1 -0
- package/src/v2-routes/products/product-edit/product-edit.tsx +27 -0
- package/src/v2-routes/products/product-edit-option/components/edit-product-option-form/edit-product-option-form.tsx +120 -0
- package/src/v2-routes/products/product-edit-option/components/edit-product-option-form/index.ts +1 -0
- package/src/v2-routes/products/product-edit-option/index.ts +1 -0
- package/src/v2-routes/products/product-edit-option/product-edit-option.tsx +34 -0
- package/src/v2-routes/products/product-edit-variant/components/product-edit-variant-form/index.ts +1 -0
- package/src/v2-routes/products/product-edit-variant/components/product-edit-variant-form/product-edit-variant-form.tsx +506 -0
- package/src/v2-routes/products/product-edit-variant/index.ts +1 -0
- package/src/v2-routes/products/product-edit-variant/loader.ts +34 -0
- package/src/v2-routes/products/product-edit-variant/product-edit-variant.tsx +53 -0
- package/src/v2-routes/products/product-list/components/product-list-table/index.ts +1 -0
- package/src/v2-routes/products/product-list/components/product-list-table/product-list-table.tsx +166 -0
- package/src/v2-routes/products/product-list/index.ts +2 -0
- package/src/v2-routes/products/product-list/loader.ts +23 -0
- package/src/v2-routes/products/product-list/product-list.tsx +9 -0
- package/src/v2-routes/products/product-media/components/edit-product-media-form/edit-product-media-form.tsx +414 -0
- package/src/v2-routes/products/product-media/components/edit-product-media-form/index.ts +1 -0
- package/src/v2-routes/products/product-media/components/product-media-gallery/index.ts +1 -0
- package/src/v2-routes/products/product-media/components/product-media-gallery/product-media-gallery.tsx +310 -0
- package/src/v2-routes/products/product-media/components/product-media-view/index.ts +1 -0
- package/src/v2-routes/products/product-media/components/product-media-view/product-media-view-context.tsx +9 -0
- package/src/v2-routes/products/product-media/components/product-media-view/product-media-view.tsx +55 -0
- package/src/v2-routes/products/product-media/components/product-media-view/use-product-media-view.tsx +14 -0
- package/src/v2-routes/products/product-media/index.ts +1 -0
- package/src/v2-routes/products/product-media/product-media.tsx +22 -0
- package/src/v2-routes/products/product-organization/components/product-organization-form/index.ts +1 -0
- package/src/v2-routes/products/product-organization/components/product-organization-form/product-organization-form.tsx +204 -0
- package/src/v2-routes/products/product-organization/index.ts +1 -0
- package/src/v2-routes/products/product-organization/product-organization.tsx +27 -0
- package/src/v2-routes/products/product-prices/index.ts +1 -0
- package/src/v2-routes/products/product-prices/pricing-edit.tsx +85 -0
- package/src/v2-routes/products/product-prices/product-prices.tsx +21 -0
- package/src/v2-routes/products/product-sales-channels/components/edit-sales-channels-form/edit-sales-channels-form.tsx +194 -0
- package/src/v2-routes/products/product-sales-channels/components/edit-sales-channels-form/index.ts +1 -0
- package/src/v2-routes/products/product-sales-channels/index.ts +1 -0
- package/src/v2-routes/products/product-sales-channels/product-sales-channels.tsx +20 -0
- package/src/v2-routes/profile/profile-detail/components/profile-general-section/index.ts +1 -0
- package/src/v2-routes/profile/profile-detail/components/profile-general-section/profile-general-section.tsx +66 -0
- package/src/v2-routes/profile/profile-detail/index.ts +1 -0
- package/src/v2-routes/profile/profile-detail/profile-detail.tsx +26 -0
- package/src/v2-routes/profile/profile-edit/components/edit-profile-form/edit-profile-form.tsx +202 -0
- package/src/v2-routes/profile/profile-edit/index.ts +1 -0
- package/src/v2-routes/profile/profile-edit/profile-edit.tsx +26 -0
- package/src/v2-routes/promotions/common/edit-rules/components/edit-rules-form/edit-rules-form.tsx +423 -0
- package/src/v2-routes/promotions/common/edit-rules/components/edit-rules-form/index.ts +1 -0
- package/src/v2-routes/promotions/common/edit-rules/components/edit-rules-form/utils.ts +52 -0
- package/src/v2-routes/promotions/common/edit-rules/components/edit-rules-wrapper/edit-rules-wrapper.tsx +137 -0
- package/src/v2-routes/promotions/common/edit-rules/components/edit-rules-wrapper/index.ts +1 -0
- package/src/v2-routes/promotions/common/edit-rules/edit-rules.tsx +63 -0
- package/src/v2-routes/promotions/common/edit-rules/index.ts +1 -0
- package/src/v2-routes/promotions/promotion-add-campaign/components/add-campaign-promotion-form/add-campaign-promotion-form.tsx +189 -0
- package/src/v2-routes/promotions/promotion-add-campaign/components/add-campaign-promotion-form/campaign-details.tsx +116 -0
- package/src/v2-routes/promotions/promotion-add-campaign/components/add-campaign-promotion-form/index.ts +1 -0
- package/src/v2-routes/promotions/promotion-add-campaign/index.ts +1 -0
- package/src/v2-routes/promotions/promotion-add-campaign/promotion-add-campaign.tsx +36 -0
- package/src/v2-routes/promotions/promotion-create/components/create-promotion-form/constants.ts +11 -0
- package/src/v2-routes/promotions/promotion-create/components/create-promotion-form/create-promotion-form.tsx +780 -0
- package/src/v2-routes/promotions/promotion-create/components/create-promotion-form/form-schema.ts +36 -0
- package/src/v2-routes/promotions/promotion-create/components/create-promotion-form/index.ts +1 -0
- package/src/v2-routes/promotions/promotion-create/components/create-promotion-form/templates.ts +62 -0
- package/src/v2-routes/promotions/promotion-create/index.ts +1 -0
- package/src/v2-routes/promotions/promotion-create/promotion-create.tsx +46 -0
- package/src/v2-routes/promotions/promotion-detail/components/campaign-section/campaign-section.tsx +116 -0
- package/src/v2-routes/promotions/promotion-detail/components/campaign-section/index.ts +1 -0
- package/src/v2-routes/promotions/promotion-detail/components/promotion-conditions-section/index.ts +1 -0
- package/src/v2-routes/promotions/promotion-detail/components/promotion-conditions-section/promotion-conditions-section.tsx +92 -0
- package/src/v2-routes/promotions/promotion-detail/components/promotion-general-section/index.ts +1 -0
- package/src/v2-routes/promotions/promotion-detail/components/promotion-general-section/promotion-general-section.tsx +160 -0
- package/src/v2-routes/promotions/promotion-detail/index.ts +2 -0
- package/src/v2-routes/promotions/promotion-detail/loader.ts +21 -0
- package/src/v2-routes/promotions/promotion-detail/promotion-detail.tsx +59 -0
- package/src/v2-routes/promotions/promotion-edit-details/components/edit-promotion-form/edit-promotion-details-form.tsx +310 -0
- package/src/v2-routes/promotions/promotion-edit-details/components/edit-promotion-form/index.ts +1 -0
- package/src/v2-routes/promotions/promotion-edit-details/index.ts +1 -0
- package/src/v2-routes/promotions/promotion-edit-details/promotion-edit-details.tsx +30 -0
- package/src/v2-routes/promotions/promotion-list/components/promotion-list-table/index.ts +1 -0
- package/src/v2-routes/promotions/promotion-list/components/promotion-list-table/promotion-list-table.tsx +155 -0
- package/src/v2-routes/promotions/promotion-list/index.ts +2 -0
- package/src/v2-routes/promotions/promotion-list/loader.ts +34 -0
- package/src/v2-routes/promotions/promotion-list/promotions-list.tsx +9 -0
- package/src/v2-routes/regions/common/constants.ts +4 -0
- package/src/v2-routes/regions/common/hooks/use-countries.tsx +67 -0
- package/src/v2-routes/regions/common/hooks/use-country-table-columns.tsx +25 -0
- package/src/v2-routes/regions/common/hooks/use-country-table-query.tsx +25 -0
- package/src/v2-routes/regions/region-add-countries/components/add-countries-form/add-countries-form.tsx +207 -0
- package/src/v2-routes/regions/region-add-countries/components/add-countries-form/index.ts +1 -0
- package/src/v2-routes/regions/region-add-countries/index.ts +1 -0
- package/src/v2-routes/regions/region-add-countries/region-add-countries.tsx +27 -0
- package/src/v2-routes/regions/region-create/components/create-region-form/create-region-form.tsx +481 -0
- package/src/v2-routes/regions/region-create/components/create-region-form/index.ts +1 -0
- package/src/v2-routes/regions/region-create/index.ts +1 -0
- package/src/v2-routes/regions/region-create/region-create.tsx +29 -0
- package/src/v2-routes/regions/region-detail/components/region-country-section/index.ts +1 -0
- package/src/v2-routes/regions/region-detail/components/region-country-section/region-country-section.tsx +254 -0
- package/src/v2-routes/regions/region-detail/components/region-general-section/index.ts +1 -0
- package/src/v2-routes/regions/region-detail/components/region-general-section/region-general-section.tsx +118 -0
- package/src/v2-routes/regions/region-detail/index.ts +2 -0
- package/src/v2-routes/regions/region-detail/loader.ts +22 -0
- package/src/v2-routes/regions/region-detail/region-detail.tsx +45 -0
- package/src/v2-routes/regions/region-edit/components/edit-region-form/edit-region-form.tsx +168 -0
- package/src/v2-routes/regions/region-edit/components/edit-region-form/index.ts +1 -0
- package/src/v2-routes/regions/region-edit/index.ts +1 -0
- package/src/v2-routes/regions/region-edit/region-edit.tsx +61 -0
- package/src/v2-routes/regions/region-list/components/region-list-table/index.ts +1 -0
- package/src/v2-routes/regions/region-list/components/region-list-table/region-list-table.tsx +163 -0
- package/src/v2-routes/regions/region-list/index.ts +1 -0
- package/src/v2-routes/regions/region-list/region-list.tsx +11 -0
- package/src/v2-routes/reservations/reservation-detail/components/edit-reservation/components/edit-reservation-form.tsx +208 -0
- package/src/v2-routes/reservations/reservation-detail/components/edit-reservation/components/index.tsx +1 -0
- package/src/v2-routes/reservations/reservation-detail/components/edit-reservation/edit-reservation-modal.tsx +53 -0
- package/src/v2-routes/reservations/reservation-detail/components/edit-reservation/index.ts +1 -0
- package/src/v2-routes/reservations/reservation-detail/components/reservation-general-section/index.ts +1 -0
- package/src/v2-routes/reservations/reservation-detail/components/reservation-general-section/reservation-general-section.tsx +89 -0
- package/src/v2-routes/reservations/reservation-detail/index.ts +2 -0
- package/src/v2-routes/reservations/reservation-detail/loader.ts +20 -0
- package/src/v2-routes/reservations/reservation-detail/reservation-edit.tsx +53 -0
- package/src/v2-routes/reservations/reservation-list/components/reservation-list-table/index.ts +1 -0
- package/src/v2-routes/reservations/reservation-list/components/reservation-list-table/reservation-actions.tsx +57 -0
- package/src/v2-routes/reservations/reservation-list/components/reservation-list-table/reservation-list-table.tsx +62 -0
- package/src/v2-routes/reservations/reservation-list/components/reservation-list-table/use-reservation-table-columns.tsx +104 -0
- package/src/v2-routes/reservations/reservation-list/components/reservation-list-table/use-reservation-table-filters.tsx +35 -0
- package/src/v2-routes/reservations/reservation-list/components/reservation-list-table/use-reservation-table-query.tsx +32 -0
- package/src/v2-routes/reservations/reservation-list/constants.ts +1 -0
- package/src/v2-routes/reservations/reservation-list/create-reservation/components/create-reservation-form/create-reservation-form.tsx +286 -0
- package/src/v2-routes/reservations/reservation-list/create-reservation/components/create-reservation-form/index.ts +1 -0
- package/src/v2-routes/reservations/reservation-list/create-reservation/create-reservation-modal.tsx +10 -0
- package/src/v2-routes/reservations/reservation-list/create-reservation/index.ts +1 -0
- package/src/v2-routes/reservations/reservation-list/index.ts +1 -0
- package/src/v2-routes/reservations/reservation-list/reservation-list.tsx +11 -0
- package/src/v2-routes/sales-channels/sales-channel-add-products/components/add-products-to-sales-channel-form.tsx +243 -0
- package/src/v2-routes/sales-channels/sales-channel-add-products/components/index.ts +1 -0
- package/src/v2-routes/sales-channels/sales-channel-add-products/index.ts +1 -0
- package/src/v2-routes/sales-channels/sales-channel-add-products/sales-channel-add-products.tsx +26 -0
- package/src/v2-routes/sales-channels/sales-channel-create/components/create-sales-channel-form/create-sales-channel-form.tsx +157 -0
- package/src/v2-routes/sales-channels/sales-channel-create/components/create-sales-channel-form/index.ts +1 -0
- package/src/v2-routes/sales-channels/sales-channel-create/index.ts +1 -0
- package/src/v2-routes/sales-channels/sales-channel-create/sales-channel-create.tsx +10 -0
- package/src/v2-routes/sales-channels/sales-channel-detail/components/sales-channel-general-section/index.ts +1 -0
- package/src/v2-routes/sales-channels/sales-channel-detail/components/sales-channel-general-section/sales-channel-general-section.tsx +105 -0
- package/src/v2-routes/sales-channels/sales-channel-detail/components/sales-channel-product-section/index.ts +1 -0
- package/src/v2-routes/sales-channels/sales-channel-detail/components/sales-channel-product-section/sales-channel-product-section.tsx +265 -0
- package/src/v2-routes/sales-channels/sales-channel-detail/index.ts +2 -0
- package/src/v2-routes/sales-channels/sales-channel-detail/loader.ts +21 -0
- package/src/v2-routes/sales-channels/sales-channel-detail/sales-channel-detail.tsx +31 -0
- package/src/v2-routes/sales-channels/sales-channel-edit/components/edit-sales-channel-form/edit-sales-channel-form.tsx +142 -0
- package/src/v2-routes/sales-channels/sales-channel-edit/components/edit-sales-channel-form/index.ts +1 -0
- package/src/v2-routes/sales-channels/sales-channel-edit/index.ts +1 -0
- package/src/v2-routes/sales-channels/sales-channel-edit/sales-channel-edit.tsx +36 -0
- package/src/v2-routes/sales-channels/sales-channel-list/components/index.ts +1 -0
- package/src/v2-routes/sales-channels/sales-channel-list/components/sales-channel-list-table.tsx +160 -0
- package/src/v2-routes/sales-channels/sales-channel-list/index.ts +1 -0
- package/src/v2-routes/sales-channels/sales-channel-list/sales-channel-list.tsx +11 -0
- package/src/v2-routes/settings/index.ts +1 -0
- package/src/v2-routes/settings/settings.tsx +15 -0
- package/src/v2-routes/shipping/location-add-sales-channels/components/edit-sales-channels-form/edit-sales-channels-form.tsx +195 -0
- package/src/v2-routes/shipping/location-add-sales-channels/components/edit-sales-channels-form/index.ts +1 -0
- package/src/v2-routes/shipping/location-add-sales-channels/index.ts +1 -0
- package/src/v2-routes/shipping/location-add-sales-channels/location-add-sales-channels.tsx +30 -0
- package/src/v2-routes/shipping/location-create/components/create-location-form/create-location-form.tsx +248 -0
- package/src/v2-routes/shipping/location-create/components/create-location-form/index.ts +1 -0
- package/src/v2-routes/shipping/location-create/index.ts +1 -0
- package/src/v2-routes/shipping/location-create/location-create.tsx +10 -0
- package/src/v2-routes/shipping/location-details/components/location-general-section/index.ts +1 -0
- package/src/v2-routes/shipping/location-details/components/location-general-section/location-general-section.tsx +640 -0
- package/src/v2-routes/shipping/location-details/components/location-sales-channels-section/index.ts +1 -0
- package/src/v2-routes/shipping/location-details/components/location-sales-channels-section/locations-sales-channels-section.tsx +79 -0
- package/src/v2-routes/shipping/location-details/index.ts +2 -0
- package/src/v2-routes/shipping/location-details/loader.ts +27 -0
- package/src/v2-routes/shipping/location-details/location-details.tsx +55 -0
- package/src/v2-routes/shipping/location-edit/components/edit-location-form/edit-location-form.tsx +237 -0
- package/src/v2-routes/shipping/location-edit/components/edit-location-form/index.ts +1 -0
- package/src/v2-routes/shipping/location-edit/index.ts +1 -0
- package/src/v2-routes/shipping/location-edit/location-edit.tsx +36 -0
- package/src/v2-routes/shipping/location-list/components/location/index.ts +1 -0
- package/src/v2-routes/shipping/location-list/components/location/location.tsx +212 -0
- package/src/v2-routes/shipping/location-list/const.ts +3 -0
- package/src/v2-routes/shipping/location-list/index.ts +2 -0
- package/src/v2-routes/shipping/location-list/loader.ts +25 -0
- package/src/v2-routes/shipping/location-list/location-list.tsx +47 -0
- package/src/v2-routes/shipping/service-zone-create/components/create-service-zone-form/create-service-zone-form.tsx +359 -0
- package/src/v2-routes/shipping/service-zone-create/components/create-service-zone-form/index.ts +1 -0
- package/src/v2-routes/shipping/service-zone-create/index.ts +2 -0
- package/src/v2-routes/shipping/service-zone-create/loader.ts +24 -0
- package/src/v2-routes/shipping/service-zone-create/service-zone-create.tsx +29 -0
- package/src/v2-routes/shipping/service-zone-edit/components/edit-region-form/edit-service-zone-form.tsx +114 -0
- package/src/v2-routes/shipping/service-zone-edit/components/edit-region-form/index.ts +1 -0
- package/src/v2-routes/shipping/service-zone-edit/index.ts +1 -0
- package/src/v2-routes/shipping/service-zone-edit/service-zone-edit.tsx +50 -0
- package/src/v2-routes/shipping/shipping-option-edit/components/edit-region-form/edit-shipping-option-form.tsx +278 -0
- package/src/v2-routes/shipping/shipping-option-edit/components/edit-region-form/index.ts +1 -0
- package/src/v2-routes/shipping/shipping-option-edit/index.ts +1 -0
- package/src/v2-routes/shipping/shipping-option-edit/shipping-option-edit.tsx +44 -0
- package/src/v2-routes/shipping/shipping-options-create/components/create-shipping-options-form/create-shipping-options-form.tsx +476 -0
- package/src/v2-routes/shipping/shipping-options-create/components/create-shipping-options-form/create-shipping-options-prices-form.tsx +152 -0
- package/src/v2-routes/shipping/shipping-options-create/components/create-shipping-options-form/index.ts +1 -0
- package/src/v2-routes/shipping/shipping-options-create/index.ts +2 -0
- package/src/v2-routes/shipping/shipping-options-create/loader.ts +25 -0
- package/src/v2-routes/shipping/shipping-options-create/shipping-options-create.tsx +30 -0
- package/src/v2-routes/shipping-profiles/shipping-profile-create/components/create-shipping-profile-form/create-shipping-profile-form.tsx +129 -0
- package/src/v2-routes/shipping-profiles/shipping-profile-create/components/create-shipping-profile-form/index.ts +1 -0
- package/src/v2-routes/shipping-profiles/shipping-profile-create/index.ts +1 -0
- package/src/v2-routes/shipping-profiles/shipping-profile-create/shipping-profile-create.tsx +12 -0
- package/src/v2-routes/shipping-profiles/shipping-profile-detail/components/shipping-profile-general-section/index.ts +1 -0
- package/src/v2-routes/shipping-profiles/shipping-profile-detail/components/shipping-profile-general-section/shipping-profile-general-section.tsx +80 -0
- package/src/v2-routes/shipping-profiles/shipping-profile-detail/index.ts +1 -0
- package/src/v2-routes/shipping-profiles/shipping-profile-detail/shipping-profile-detail.tsx +36 -0
- package/src/v2-routes/shipping-profiles/shipping-profiles-list/components/shipping-profile-list-table/index.ts +1 -0
- package/src/v2-routes/shipping-profiles/shipping-profiles-list/components/shipping-profile-list-table/shipping-options-row-actions.tsx +68 -0
- package/src/v2-routes/shipping-profiles/shipping-profiles-list/components/shipping-profile-list-table/shipping-profile-list-table.tsx +68 -0
- package/src/v2-routes/shipping-profiles/shipping-profiles-list/components/shipping-profile-list-table/use-shipping-profile-table-columns.tsx +31 -0
- package/src/v2-routes/shipping-profiles/shipping-profiles-list/components/shipping-profile-list-table/use-shipping-profile-table-filters.tsx +33 -0
- package/src/v2-routes/shipping-profiles/shipping-profiles-list/components/shipping-profile-list-table/use-shipping-profile-table-query.tsx +30 -0
- package/src/v2-routes/shipping-profiles/shipping-profiles-list/index.ts +1 -0
- package/src/v2-routes/shipping-profiles/shipping-profiles-list/shipping-profile-list.tsx +11 -0
- package/src/v2-routes/store/common/hooks/use-currencies-table-columns.tsx +24 -0
- package/src/v2-routes/store/common/hooks/use-currencies-table-query.tsx +21 -0
- package/src/v2-routes/store/store-add-currencies/components/add-currencies-form/add-currencies-form.tsx +229 -0
- package/src/v2-routes/store/store-add-currencies/index.ts +1 -0
- package/src/v2-routes/store/store-add-currencies/store-add-currencies.tsx +17 -0
- package/src/v2-routes/store/store-detail/components/store-currency-section/store-currencies-section.tsx/index.ts +1 -0
- package/src/v2-routes/store/store-detail/components/store-currency-section/store-currencies-section.tsx/store-currency-section.tsx +292 -0
- package/src/v2-routes/store/store-detail/components/store-general-section/index.ts +1 -0
- package/src/v2-routes/store/store-detail/components/store-general-section/store-general-section.tsx +80 -0
- package/src/v2-routes/store/store-detail/index.ts +2 -0
- package/src/v2-routes/store/store-detail/loader.ts +19 -0
- package/src/v2-routes/store/store-detail/store-detail.tsx +37 -0
- package/src/v2-routes/store/store-edit/components/edit-store-form/edit-store-form.tsx +152 -0
- package/src/v2-routes/store/store-edit/index.ts +1 -0
- package/src/v2-routes/store/store-edit/store-edit.tsx +25 -0
- package/src/v2-routes/taxes/common/components/conditions-drawer/conditions-drawer.tsx +663 -0
- package/src/v2-routes/taxes/common/components/conditions-drawer/index.ts +1 -0
- package/src/v2-routes/taxes/common/components/tax-region-create-form/index.ts +1 -0
- package/src/v2-routes/taxes/common/components/tax-region-create-form/tax-region-create-form.tsx +250 -0
- package/src/v2-routes/taxes/common/constants.ts +11 -0
- package/src/v2-routes/taxes/common/hooks/columns/use-customer-group-conditions-table-columns.tsx +46 -0
- package/src/v2-routes/taxes/common/hooks/columns/use-product-collection-conditions-table-columns.tsx +60 -0
- package/src/v2-routes/taxes/common/hooks/columns/use-product-conditions-table-columns.tsx +46 -0
- package/src/v2-routes/taxes/common/hooks/columns/use-product-tag-conditions-table-columns.tsx +48 -0
- package/src/v2-routes/taxes/common/hooks/columns/use-product-type-conditions-table-columns.tsx +49 -0
- package/src/v2-routes/taxes/common/hooks/filters/use-customer-group-conditions-table-filters.tsx +17 -0
- package/src/v2-routes/taxes/common/hooks/filters/use-product-collection-conditions-table-filters.tsx +17 -0
- package/src/v2-routes/taxes/common/hooks/filters/use-product-tag-conditions-table-filters.tsx +17 -0
- package/src/v2-routes/taxes/common/hooks/filters/use-product-type-conditions-table-filters.tsx +17 -0
- package/src/v2-routes/taxes/common/hooks/query/use-product-collection-conditions-table-query.tsx +42 -0
- package/src/v2-routes/taxes/common/hooks/query/use-product-tag-conditions-table-query.tsx +39 -0
- package/src/v2-routes/taxes/common/hooks/query/use-product-type-conditions-table-query.tsx +29 -0
- package/src/v2-routes/taxes/common/types.ts +12 -0
- package/src/v2-routes/taxes/tax-province-create/index.ts +3 -0
- package/src/v2-routes/taxes/tax-province-create/tax-province-create.tsx +36 -0
- package/src/v2-routes/taxes/tax-rate-create/components/condition/condition.tsx +53 -0
- package/src/v2-routes/taxes/tax-rate-create/components/condition/index.ts +1 -0
- package/src/v2-routes/taxes/tax-rate-create/components/index.ts +2 -0
- package/src/v2-routes/taxes/tax-rate-create/components/tax-rate-create-form/index.ts +1 -0
- package/src/v2-routes/taxes/tax-rate-create/components/tax-rate-create-form/tax-rate-create-form.tsx +480 -0
- package/src/v2-routes/taxes/tax-rate-create/index.ts +3 -0
- package/src/v2-routes/taxes/tax-rate-create/tax-rate-create.tsx +21 -0
- package/src/v2-routes/taxes/tax-rate-edit/components/index.ts +1 -0
- package/src/v2-routes/taxes/tax-rate-edit/components/tax-rate-edit-form/index.ts +1 -0
- package/src/v2-routes/taxes/tax-rate-edit/components/tax-rate-edit-form/tax-rate-edit-form.tsx +488 -0
- package/src/v2-routes/taxes/tax-rate-edit/index.ts +4 -0
- package/src/v2-routes/taxes/tax-rate-edit/loader.ts +21 -0
- package/src/v2-routes/taxes/tax-rate-edit/tax-rate-edit.tsx +34 -0
- package/src/v2-routes/taxes/tax-region-create/index.ts +3 -0
- package/src/v2-routes/taxes/tax-region-create/tax-region-create.tsx +21 -0
- package/src/v2-routes/taxes/tax-region-detail/components/index.ts +2 -0
- package/src/v2-routes/taxes/tax-region-detail/components/tax-rate-list/index.ts +1 -0
- package/src/v2-routes/taxes/tax-region-detail/components/tax-rate-list/tax-rate-list.tsx +214 -0
- package/src/v2-routes/taxes/tax-region-detail/components/tax-region-general-detail/index.ts +1 -0
- package/src/v2-routes/taxes/tax-region-detail/components/tax-region-general-detail/tax-region-general-detail.tsx +41 -0
- package/src/v2-routes/taxes/tax-region-detail/index.ts +4 -0
- package/src/v2-routes/taxes/tax-region-detail/loader.ts +21 -0
- package/src/v2-routes/taxes/tax-region-detail/tax-region-detail.tsx +30 -0
- package/src/v2-routes/taxes/tax-region-list/components/region-list-table/index.ts +1 -0
- package/src/v2-routes/taxes/tax-region-list/components/region-list-table/tax-region-list-table.tsx +131 -0
- package/src/v2-routes/taxes/tax-region-list/index.ts +1 -0
- package/src/v2-routes/taxes/tax-region-list/tax-region-list.tsx +11 -0
- package/src/v2-routes/users/user-detail/components/user-general-section/index.ts +1 -0
- package/src/v2-routes/users/user-detail/components/user-general-section/user-general-section.tsx +88 -0
- package/src/v2-routes/users/user-detail/index.ts +2 -0
- package/src/v2-routes/users/user-detail/loader.ts +21 -0
- package/src/v2-routes/users/user-detail/user-detail.tsx +39 -0
- package/src/v2-routes/users/user-edit/components/edit-user-form/edit-user-form.tsx +99 -0
- package/src/v2-routes/users/user-edit/components/edit-user-form/index.ts +1 -0
- package/src/v2-routes/users/user-edit/index.ts +1 -0
- package/src/v2-routes/users/user-edit/user-edit.tsx +25 -0
- package/src/v2-routes/users/user-invite/components/invite-user-form/invite-user-form.tsx +306 -0
- package/src/v2-routes/users/user-invite/index.ts +1 -0
- package/src/v2-routes/users/user-invite/user-invite.tsx +10 -0
- package/src/v2-routes/users/user-list/components/user-list-table/index.ts +1 -0
- package/src/v2-routes/users/user-list/components/user-list-table/use-user-table-columns.tsx +42 -0
- package/src/v2-routes/users/user-list/components/user-list-table/use-user-table-query.tsx +24 -0
- package/src/v2-routes/users/user-list/components/user-list-table/user-list-table.tsx +66 -0
- package/src/v2-routes/users/user-list/components/user-list-table/user-row-actions.tsx +24 -0
- package/src/v2-routes/users/user-list/index.ts +1 -0
- package/src/v2-routes/users/user-list/user-list.tsx +11 -0
- package/src/v2-routes/workflow-executions/constants.ts +26 -0
- package/src/v2-routes/workflow-executions/types.ts +95 -0
- package/src/v2-routes/workflow-executions/utils.ts +101 -0
- package/src/v2-routes/workflow-executions/workflow-execution-detail/components/workflow-execution-general-section/index.ts +1 -0
- package/src/v2-routes/workflow-executions/workflow-execution-detail/components/workflow-execution-general-section/workflow-execution-general-section.tsx +118 -0
- package/src/v2-routes/workflow-executions/workflow-execution-detail/components/workflow-execution-history-section/index.ts +1 -0
- package/src/v2-routes/workflow-executions/workflow-execution-detail/components/workflow-execution-history-section/workflow-execution-history-section.tsx +324 -0
- package/src/v2-routes/workflow-executions/workflow-execution-detail/components/workflow-execution-payload-section/index.ts +1 -0
- package/src/v2-routes/workflow-executions/workflow-execution-detail/components/workflow-execution-payload-section/workflow-execution-payload-section.tsx +24 -0
- package/src/v2-routes/workflow-executions/workflow-execution-detail/components/workflow-execution-timeline-section/index.ts +1 -0
- package/src/v2-routes/workflow-executions/workflow-execution-detail/components/workflow-execution-timeline-section/workflow-execution-timeline-section.tsx +435 -0
- package/src/v2-routes/workflow-executions/workflow-execution-detail/index.ts +1 -0
- package/src/v2-routes/workflow-executions/workflow-execution-detail/loader.ts +21 -0
- package/src/v2-routes/workflow-executions/workflow-execution-detail/workflow-detail.tsx +33 -0
- package/src/v2-routes/workflow-executions/workflow-execution-list/components/workflow-execution-list-table/index.ts +1 -0
- package/src/v2-routes/workflow-executions/workflow-execution-list/components/workflow-execution-list-table/use-workflow-execution-table-columns.tsx +72 -0
- package/src/v2-routes/workflow-executions/workflow-execution-list/components/workflow-execution-list-table/use-workflow-execution-table-query.tsx +25 -0
- package/src/v2-routes/workflow-executions/workflow-execution-list/components/workflow-execution-list-table/workflow-execution-list-table.tsx +73 -0
- package/src/v2-routes/workflow-executions/workflow-execution-list/index.ts +1 -0
- package/src/v2-routes/workflow-executions/workflow-execution-list/workflow-execution-list.tsx +9 -0
- package/src/vite-env.d.ts +13 -0
|
@@ -0,0 +1,649 @@
|
|
|
1
|
+
import { clx } from "@medusajs/ui"
|
|
2
|
+
import {
|
|
3
|
+
ColumnDef,
|
|
4
|
+
Row,
|
|
5
|
+
flexRender,
|
|
6
|
+
getCoreRowModel,
|
|
7
|
+
useReactTable,
|
|
8
|
+
} from "@tanstack/react-table"
|
|
9
|
+
import { useVirtualizer } from "@tanstack/react-virtual"
|
|
10
|
+
import {
|
|
11
|
+
MouseEvent as ReactMouseEvent,
|
|
12
|
+
useCallback,
|
|
13
|
+
useEffect,
|
|
14
|
+
useRef,
|
|
15
|
+
useState,
|
|
16
|
+
} from "react"
|
|
17
|
+
import { FieldValues, Path, UseFormReturn } from "react-hook-form"
|
|
18
|
+
|
|
19
|
+
import {
|
|
20
|
+
Command,
|
|
21
|
+
useCommandHistory,
|
|
22
|
+
} from "../../../../hooks/use-command-history"
|
|
23
|
+
import { GridCellType, NON_INTERACTIVE_CELL_TYPES } from "../../constants"
|
|
24
|
+
|
|
25
|
+
type FieldCoordinates = {
|
|
26
|
+
column: number
|
|
27
|
+
row: number
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
export interface DataGridRootProps<
|
|
31
|
+
TData,
|
|
32
|
+
TFieldValues extends FieldValues = FieldValues,
|
|
33
|
+
> {
|
|
34
|
+
data?: TData[]
|
|
35
|
+
columns: ColumnDef<TData>[]
|
|
36
|
+
state: UseFormReturn<TFieldValues>
|
|
37
|
+
getSubRows?: (row: TData) => TData[]
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
const ROW_HEIGHT = 40
|
|
41
|
+
|
|
42
|
+
export const DataGridRoot = <
|
|
43
|
+
TData,
|
|
44
|
+
TFieldValues extends FieldValues = FieldValues,
|
|
45
|
+
>({
|
|
46
|
+
data = [],
|
|
47
|
+
columns,
|
|
48
|
+
state,
|
|
49
|
+
getSubRows,
|
|
50
|
+
}: DataGridRootProps<TData, TFieldValues>) => {
|
|
51
|
+
const tableContainerRef = useRef<HTMLDivElement>(null)
|
|
52
|
+
|
|
53
|
+
const { execute, undo, redo, canRedo, canUndo } = useCommandHistory()
|
|
54
|
+
const { register, control, getValues, setValue } = state
|
|
55
|
+
|
|
56
|
+
const grid = useReactTable({
|
|
57
|
+
data: data,
|
|
58
|
+
columns,
|
|
59
|
+
getSubRows,
|
|
60
|
+
getCoreRowModel: getCoreRowModel(),
|
|
61
|
+
meta: {
|
|
62
|
+
register: register,
|
|
63
|
+
control: control,
|
|
64
|
+
},
|
|
65
|
+
})
|
|
66
|
+
|
|
67
|
+
const { flatRows } = grid.getRowModel()
|
|
68
|
+
|
|
69
|
+
const rowVirtualizer = useVirtualizer({
|
|
70
|
+
count: flatRows.length,
|
|
71
|
+
estimateSize: () => ROW_HEIGHT,
|
|
72
|
+
getScrollElement: () => tableContainerRef.current,
|
|
73
|
+
measureElement:
|
|
74
|
+
typeof window !== "undefined" &&
|
|
75
|
+
navigator.userAgent.indexOf("Firefox") === -1
|
|
76
|
+
? (element) => element?.getBoundingClientRect().height
|
|
77
|
+
: undefined,
|
|
78
|
+
overscan: 5,
|
|
79
|
+
})
|
|
80
|
+
|
|
81
|
+
const [anchor, setAnchor] = useState<FieldCoordinates | null>(null)
|
|
82
|
+
|
|
83
|
+
const [isSelecting, setIsSelecting] = useState(false)
|
|
84
|
+
const [selection, setSelection] = useState<FieldCoordinates[]>([])
|
|
85
|
+
|
|
86
|
+
const [isDragging, setIsDragging] = useState(false)
|
|
87
|
+
const [dragSelection, setDragSelection] = useState<FieldCoordinates[]>([])
|
|
88
|
+
|
|
89
|
+
const handleFocusInner = (target: HTMLElement) => {
|
|
90
|
+
const editableField = target.querySelector("[data-field-id]")
|
|
91
|
+
|
|
92
|
+
if (editableField instanceof HTMLInputElement) {
|
|
93
|
+
requestAnimationFrame(() => {
|
|
94
|
+
editableField.focus()
|
|
95
|
+
editableField.setSelectionRange(
|
|
96
|
+
editableField.value.length,
|
|
97
|
+
editableField.value.length
|
|
98
|
+
)
|
|
99
|
+
})
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
|
|
103
|
+
const handleBlurAnchor = () => {
|
|
104
|
+
const activeElement = document.activeElement
|
|
105
|
+
|
|
106
|
+
if (anchor && activeElement instanceof HTMLElement) {
|
|
107
|
+
activeElement.blur()
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
|
|
111
|
+
const isNonInteractive = (element: HTMLElement) => {
|
|
112
|
+
const type = element.getAttribute("data-cell-type")
|
|
113
|
+
|
|
114
|
+
if (!type) {
|
|
115
|
+
return true
|
|
116
|
+
}
|
|
117
|
+
|
|
118
|
+
return NON_INTERACTIVE_CELL_TYPES.includes(type as GridCellType)
|
|
119
|
+
}
|
|
120
|
+
|
|
121
|
+
const handleMouseDown = (e: ReactMouseEvent<HTMLTableCellElement>) => {
|
|
122
|
+
e.stopPropagation()
|
|
123
|
+
e.preventDefault()
|
|
124
|
+
|
|
125
|
+
const target = e.target
|
|
126
|
+
|
|
127
|
+
/**
|
|
128
|
+
* Check if the click was on a presentation element.
|
|
129
|
+
* If so, we don't want to set the anchor.
|
|
130
|
+
*/
|
|
131
|
+
if (target instanceof HTMLElement && isNonInteractive(target)) {
|
|
132
|
+
return
|
|
133
|
+
}
|
|
134
|
+
|
|
135
|
+
const rowIndex = parseInt(e.currentTarget.dataset.rowIndex!)
|
|
136
|
+
const columnIndex = parseInt(e.currentTarget.dataset.columnIndex!)
|
|
137
|
+
|
|
138
|
+
const isAnchor = getIsAnchor(rowIndex, columnIndex)
|
|
139
|
+
|
|
140
|
+
if (e.detail === 2 || isAnchor) {
|
|
141
|
+
handleFocusInner(e.currentTarget)
|
|
142
|
+
return
|
|
143
|
+
} else {
|
|
144
|
+
// reset focus so the previous cell doesn't keep the focus
|
|
145
|
+
handleBlurAnchor()
|
|
146
|
+
}
|
|
147
|
+
|
|
148
|
+
const coordinates: FieldCoordinates = {
|
|
149
|
+
row: rowIndex,
|
|
150
|
+
column: columnIndex,
|
|
151
|
+
}
|
|
152
|
+
|
|
153
|
+
setSelection([coordinates])
|
|
154
|
+
setAnchor(coordinates)
|
|
155
|
+
setIsSelecting(true)
|
|
156
|
+
}
|
|
157
|
+
|
|
158
|
+
const handleDragDown = (e: ReactMouseEvent<HTMLDivElement>) => {
|
|
159
|
+
e.stopPropagation()
|
|
160
|
+
setIsDragging(true)
|
|
161
|
+
}
|
|
162
|
+
|
|
163
|
+
const getIsAnchor = (rowIndex: number, columnIndex: number) => {
|
|
164
|
+
return anchor?.row === rowIndex && anchor?.column === columnIndex
|
|
165
|
+
}
|
|
166
|
+
|
|
167
|
+
const handleMouseOver = (e: ReactMouseEvent<HTMLTableCellElement>) => {
|
|
168
|
+
/**
|
|
169
|
+
* If we're not dragging and not selecting or there is no anchor,
|
|
170
|
+
* then we don't want to do anything.
|
|
171
|
+
*/
|
|
172
|
+
if ((!isSelecting && !isDragging) || !anchor) {
|
|
173
|
+
return
|
|
174
|
+
}
|
|
175
|
+
|
|
176
|
+
const target = e.target
|
|
177
|
+
|
|
178
|
+
/**
|
|
179
|
+
* Check if the click was on a presentation element.
|
|
180
|
+
* If so, we don't want to add it to the selection.
|
|
181
|
+
*/
|
|
182
|
+
if (target instanceof HTMLElement && isNonInteractive(target)) {
|
|
183
|
+
return
|
|
184
|
+
}
|
|
185
|
+
|
|
186
|
+
const rowIndex = parseInt(e.currentTarget.dataset.rowIndex!)
|
|
187
|
+
const columnIndex = parseInt(e.currentTarget.dataset.columnIndex!)
|
|
188
|
+
|
|
189
|
+
/**
|
|
190
|
+
* If the target column is not the same as the anchor column,
|
|
191
|
+
* we don't want to add it to the selection.
|
|
192
|
+
*/
|
|
193
|
+
if (anchor?.column !== columnIndex) {
|
|
194
|
+
return
|
|
195
|
+
}
|
|
196
|
+
|
|
197
|
+
const direction =
|
|
198
|
+
rowIndex > anchor.row ? "down" : rowIndex < anchor.row ? "up" : "none"
|
|
199
|
+
|
|
200
|
+
const last = selection[selection.length - 1] ?? anchor
|
|
201
|
+
|
|
202
|
+
/**
|
|
203
|
+
* Check if the current cell is a direct neighbour of the last cell
|
|
204
|
+
* in the selection.
|
|
205
|
+
*/
|
|
206
|
+
const isNeighbour = Math.abs(rowIndex - last.row) === 1
|
|
207
|
+
|
|
208
|
+
/**
|
|
209
|
+
* If the current cell is a neighbour, we can simply update
|
|
210
|
+
* the selection based on the direction.
|
|
211
|
+
*/
|
|
212
|
+
if (isNeighbour) {
|
|
213
|
+
if (isSelecting) {
|
|
214
|
+
setSelection((prev) => {
|
|
215
|
+
return prev
|
|
216
|
+
.filter((cell) => {
|
|
217
|
+
if (direction === "down") {
|
|
218
|
+
return (
|
|
219
|
+
(cell.row <= rowIndex && cell.row >= anchor.row) ||
|
|
220
|
+
cell.row === anchor.row
|
|
221
|
+
)
|
|
222
|
+
}
|
|
223
|
+
|
|
224
|
+
if (direction === "up") {
|
|
225
|
+
return (
|
|
226
|
+
(cell.row >= rowIndex && cell.row <= anchor.row) ||
|
|
227
|
+
cell.row === anchor.row
|
|
228
|
+
)
|
|
229
|
+
}
|
|
230
|
+
|
|
231
|
+
return cell.row === anchor.row
|
|
232
|
+
})
|
|
233
|
+
.concat({ row: rowIndex, column: columnIndex })
|
|
234
|
+
})
|
|
235
|
+
|
|
236
|
+
return
|
|
237
|
+
}
|
|
238
|
+
|
|
239
|
+
if (isDragging) {
|
|
240
|
+
if (anchor.row === rowIndex) {
|
|
241
|
+
return
|
|
242
|
+
}
|
|
243
|
+
|
|
244
|
+
setDragSelection((prev) => {
|
|
245
|
+
return prev
|
|
246
|
+
.filter((cell) => {
|
|
247
|
+
if (direction === "down") {
|
|
248
|
+
return (
|
|
249
|
+
(cell.row <= rowIndex && cell.row >= anchor.row) ||
|
|
250
|
+
cell.row === anchor.row
|
|
251
|
+
)
|
|
252
|
+
}
|
|
253
|
+
|
|
254
|
+
if (direction === "up") {
|
|
255
|
+
return (
|
|
256
|
+
(cell.row >= rowIndex && cell.row <= anchor.row) ||
|
|
257
|
+
cell.row === anchor.row
|
|
258
|
+
)
|
|
259
|
+
}
|
|
260
|
+
|
|
261
|
+
return cell.row === anchor.row
|
|
262
|
+
})
|
|
263
|
+
.concat({ row: rowIndex, column: columnIndex })
|
|
264
|
+
})
|
|
265
|
+
|
|
266
|
+
return
|
|
267
|
+
}
|
|
268
|
+
}
|
|
269
|
+
|
|
270
|
+
/**
|
|
271
|
+
* If the current cell is not a neighbour, we instead
|
|
272
|
+
* need to calculate all the valid cells between the
|
|
273
|
+
* anchor and the current cell.
|
|
274
|
+
*/
|
|
275
|
+
let cells: FieldCoordinates[] = []
|
|
276
|
+
|
|
277
|
+
function selectCell(i: number, columnIndex: number) {
|
|
278
|
+
const possibleCell = tableContainerRef.current?.querySelector(
|
|
279
|
+
`[data-row-index="${i}"][data-column-index="${columnIndex}"]`
|
|
280
|
+
)
|
|
281
|
+
|
|
282
|
+
if (!possibleCell) {
|
|
283
|
+
return
|
|
284
|
+
}
|
|
285
|
+
|
|
286
|
+
const isPresentation = possibleCell.querySelector(
|
|
287
|
+
"[data-role=presentation]"
|
|
288
|
+
)
|
|
289
|
+
|
|
290
|
+
if (isPresentation) {
|
|
291
|
+
return
|
|
292
|
+
}
|
|
293
|
+
|
|
294
|
+
cells.push({ row: i, column: columnIndex })
|
|
295
|
+
}
|
|
296
|
+
|
|
297
|
+
if (direction === "down") {
|
|
298
|
+
for (let i = anchor.row; i <= rowIndex; i++) {
|
|
299
|
+
selectCell(i, columnIndex)
|
|
300
|
+
}
|
|
301
|
+
}
|
|
302
|
+
|
|
303
|
+
if (direction === "up") {
|
|
304
|
+
for (let i = anchor.row; i >= rowIndex; i--) {
|
|
305
|
+
selectCell(i, columnIndex)
|
|
306
|
+
}
|
|
307
|
+
}
|
|
308
|
+
|
|
309
|
+
if (isSelecting) {
|
|
310
|
+
setSelection(cells)
|
|
311
|
+
return
|
|
312
|
+
}
|
|
313
|
+
|
|
314
|
+
if (isDragging) {
|
|
315
|
+
cells = cells.filter((cell) => cell.row !== anchor.row)
|
|
316
|
+
|
|
317
|
+
setDragSelection(cells)
|
|
318
|
+
return
|
|
319
|
+
}
|
|
320
|
+
}
|
|
321
|
+
|
|
322
|
+
const getIsDragTarget = (rowIndex: number, columnIndex: number) => {
|
|
323
|
+
return dragSelection.some(
|
|
324
|
+
(cell) => cell.row === rowIndex && cell.column === columnIndex
|
|
325
|
+
)
|
|
326
|
+
}
|
|
327
|
+
|
|
328
|
+
const getIsSelected = (rowIndex: number, columnIndex: number) => {
|
|
329
|
+
return selection.some(
|
|
330
|
+
(cell) => cell.row === rowIndex && cell.column === columnIndex
|
|
331
|
+
)
|
|
332
|
+
}
|
|
333
|
+
|
|
334
|
+
const getSelectionIds = useCallback((fields: FieldCoordinates[]) => {
|
|
335
|
+
return fields
|
|
336
|
+
.map((field) => {
|
|
337
|
+
const element = document.querySelector(
|
|
338
|
+
`[data-row-index="${field.row}"][data-column-index="${field.column}"]`
|
|
339
|
+
) as HTMLTableCellElement
|
|
340
|
+
|
|
341
|
+
return element
|
|
342
|
+
?.querySelector("[data-field-id]")
|
|
343
|
+
?.getAttribute("data-field-id")
|
|
344
|
+
})
|
|
345
|
+
.filter(Boolean) as string[]
|
|
346
|
+
}, [])
|
|
347
|
+
|
|
348
|
+
const getSelectionValues = useCallback(
|
|
349
|
+
(ids: string[]): string[] => {
|
|
350
|
+
const rawValues = ids.map((id) => {
|
|
351
|
+
return getValues(id as Path<TFieldValues>)
|
|
352
|
+
})
|
|
353
|
+
|
|
354
|
+
return rawValues.map((v) => JSON.stringify(v))
|
|
355
|
+
},
|
|
356
|
+
[getValues]
|
|
357
|
+
)
|
|
358
|
+
|
|
359
|
+
const setSelectionValues = useCallback(
|
|
360
|
+
(ids: string[], values: string[]) => {
|
|
361
|
+
ids.forEach((id, i) => {
|
|
362
|
+
const value = values[i]
|
|
363
|
+
|
|
364
|
+
if (!value) {
|
|
365
|
+
return
|
|
366
|
+
}
|
|
367
|
+
|
|
368
|
+
setValue(id as Path<TFieldValues>, JSON.parse(value), {
|
|
369
|
+
shouldDirty: true,
|
|
370
|
+
shouldTouch: true,
|
|
371
|
+
})
|
|
372
|
+
})
|
|
373
|
+
},
|
|
374
|
+
[setValue]
|
|
375
|
+
)
|
|
376
|
+
|
|
377
|
+
const handleCopy = useCallback(
|
|
378
|
+
(e: ClipboardEvent) => {
|
|
379
|
+
if (selection.length === 0) {
|
|
380
|
+
return
|
|
381
|
+
}
|
|
382
|
+
|
|
383
|
+
const fieldIds = getSelectionIds(selection)
|
|
384
|
+
const values = getSelectionValues(fieldIds)
|
|
385
|
+
|
|
386
|
+
const clipboardData = values.join("\n")
|
|
387
|
+
|
|
388
|
+
e.clipboardData?.setData("text/plain", clipboardData)
|
|
389
|
+
e.preventDefault()
|
|
390
|
+
},
|
|
391
|
+
[selection, getSelectionIds, getSelectionValues]
|
|
392
|
+
)
|
|
393
|
+
|
|
394
|
+
const handlePaste = useCallback(
|
|
395
|
+
(e: ClipboardEvent) => {
|
|
396
|
+
const data = e.clipboardData?.getData("text/plain")
|
|
397
|
+
|
|
398
|
+
if (!data) {
|
|
399
|
+
return
|
|
400
|
+
}
|
|
401
|
+
|
|
402
|
+
const fieldIds = getSelectionIds(selection)
|
|
403
|
+
|
|
404
|
+
const prev = getSelectionValues(fieldIds)
|
|
405
|
+
const next = data.split("\n")
|
|
406
|
+
|
|
407
|
+
const command = new GridCommand({
|
|
408
|
+
next,
|
|
409
|
+
prev,
|
|
410
|
+
selection: fieldIds,
|
|
411
|
+
setter: setSelectionValues,
|
|
412
|
+
})
|
|
413
|
+
|
|
414
|
+
execute(command)
|
|
415
|
+
},
|
|
416
|
+
[
|
|
417
|
+
selection,
|
|
418
|
+
execute,
|
|
419
|
+
getSelectionValues,
|
|
420
|
+
setSelectionValues,
|
|
421
|
+
getSelectionIds,
|
|
422
|
+
]
|
|
423
|
+
)
|
|
424
|
+
|
|
425
|
+
const handleCommandHistory = useCallback(
|
|
426
|
+
(e: KeyboardEvent) => {
|
|
427
|
+
if (!canRedo && !canUndo) {
|
|
428
|
+
return
|
|
429
|
+
}
|
|
430
|
+
|
|
431
|
+
if (e.key.toLowerCase() === "z" && e.metaKey && !e.shiftKey) {
|
|
432
|
+
console.log(canUndo)
|
|
433
|
+
e.preventDefault()
|
|
434
|
+
undo()
|
|
435
|
+
}
|
|
436
|
+
|
|
437
|
+
if (e.key.toLowerCase() === "z" && e.metaKey && e.shiftKey) {
|
|
438
|
+
e.preventDefault()
|
|
439
|
+
redo()
|
|
440
|
+
}
|
|
441
|
+
},
|
|
442
|
+
[undo, redo, canRedo, canUndo]
|
|
443
|
+
)
|
|
444
|
+
|
|
445
|
+
const handleEndDrag = useCallback(() => {
|
|
446
|
+
if (!anchor) {
|
|
447
|
+
return
|
|
448
|
+
}
|
|
449
|
+
|
|
450
|
+
const fieldIds = getSelectionIds(dragSelection)
|
|
451
|
+
const anchorId = getSelectionIds([anchor])
|
|
452
|
+
|
|
453
|
+
const anchorValue = getSelectionValues(anchorId)?.[0]
|
|
454
|
+
|
|
455
|
+
const prev = getSelectionValues(fieldIds)
|
|
456
|
+
const next = prev.map(() => anchorValue)
|
|
457
|
+
|
|
458
|
+
const command = new GridCommand({
|
|
459
|
+
next,
|
|
460
|
+
prev,
|
|
461
|
+
selection: fieldIds,
|
|
462
|
+
setter: setSelectionValues,
|
|
463
|
+
})
|
|
464
|
+
|
|
465
|
+
execute(command)
|
|
466
|
+
|
|
467
|
+
setSelection(dragSelection)
|
|
468
|
+
setDragSelection([])
|
|
469
|
+
setIsDragging(false)
|
|
470
|
+
}, [
|
|
471
|
+
anchor,
|
|
472
|
+
getSelectionIds,
|
|
473
|
+
dragSelection,
|
|
474
|
+
getSelectionValues,
|
|
475
|
+
setSelectionValues,
|
|
476
|
+
execute,
|
|
477
|
+
])
|
|
478
|
+
|
|
479
|
+
const handleMouseUp = useCallback(
|
|
480
|
+
(_e: MouseEvent) => {
|
|
481
|
+
if (isSelecting) {
|
|
482
|
+
setIsSelecting(false)
|
|
483
|
+
return
|
|
484
|
+
}
|
|
485
|
+
|
|
486
|
+
if (isDragging) {
|
|
487
|
+
handleEndDrag()
|
|
488
|
+
return
|
|
489
|
+
}
|
|
490
|
+
},
|
|
491
|
+
[isDragging, isSelecting, handleEndDrag]
|
|
492
|
+
)
|
|
493
|
+
|
|
494
|
+
useEffect(() => {
|
|
495
|
+
document.addEventListener("mouseup", handleMouseUp)
|
|
496
|
+
document.addEventListener("copy", handleCopy)
|
|
497
|
+
document.addEventListener("paste", handlePaste)
|
|
498
|
+
document.addEventListener("keydown", handleCommandHistory)
|
|
499
|
+
|
|
500
|
+
return () => {
|
|
501
|
+
document.removeEventListener("mouseup", handleMouseUp)
|
|
502
|
+
document.removeEventListener("copy", handleCopy)
|
|
503
|
+
document.removeEventListener("paste", handlePaste)
|
|
504
|
+
document.removeEventListener("keydown", handleCommandHistory)
|
|
505
|
+
}
|
|
506
|
+
}, [handleMouseUp, handleCopy, handlePaste, handleCommandHistory])
|
|
507
|
+
|
|
508
|
+
return (
|
|
509
|
+
<div className="bg-ui-bg-subtle size-full overflow-hidden">
|
|
510
|
+
<div
|
|
511
|
+
ref={tableContainerRef}
|
|
512
|
+
style={{
|
|
513
|
+
overflow: "auto",
|
|
514
|
+
position: "relative",
|
|
515
|
+
height: "100%",
|
|
516
|
+
userSelect: isSelecting || isDragging ? "none" : "auto",
|
|
517
|
+
}}
|
|
518
|
+
>
|
|
519
|
+
<table className="text-ui-fg-subtle grid">
|
|
520
|
+
<thead className="txt-compact-small-plus bg-ui-bg-subtle sticky top-0 z-[1] grid">
|
|
521
|
+
{grid.getHeaderGroups().map((headerGroup) => (
|
|
522
|
+
<tr key={headerGroup.id} className="flex h-10 w-full">
|
|
523
|
+
{headerGroup.headers.map((header) => {
|
|
524
|
+
return (
|
|
525
|
+
<th
|
|
526
|
+
key={header.id}
|
|
527
|
+
style={{
|
|
528
|
+
width: header.getSize(),
|
|
529
|
+
}}
|
|
530
|
+
className="bg-ui-bg-base flex items-center border-b border-r px-4 py-2.5"
|
|
531
|
+
>
|
|
532
|
+
{flexRender(
|
|
533
|
+
header.column.columnDef.header,
|
|
534
|
+
header.getContext()
|
|
535
|
+
)}
|
|
536
|
+
</th>
|
|
537
|
+
)
|
|
538
|
+
})}
|
|
539
|
+
</tr>
|
|
540
|
+
))}
|
|
541
|
+
</thead>
|
|
542
|
+
<tbody
|
|
543
|
+
className="relative grid"
|
|
544
|
+
style={{
|
|
545
|
+
height: `${rowVirtualizer.getTotalSize()}px`,
|
|
546
|
+
}}
|
|
547
|
+
>
|
|
548
|
+
{rowVirtualizer.getVirtualItems().map((virtualRow) => {
|
|
549
|
+
const row = flatRows[virtualRow.index] as Row<TData>
|
|
550
|
+
|
|
551
|
+
return (
|
|
552
|
+
<tr
|
|
553
|
+
data-index={virtualRow.index}
|
|
554
|
+
ref={(node) => rowVirtualizer.measureElement(node)}
|
|
555
|
+
key={row.id}
|
|
556
|
+
style={{
|
|
557
|
+
transform: `translateY(${virtualRow.start}px)`,
|
|
558
|
+
}}
|
|
559
|
+
className="bg-ui-bg-subtle txt-compact-small absolute flex h-10 w-full"
|
|
560
|
+
>
|
|
561
|
+
{row.getVisibleCells().map((cell, index) => {
|
|
562
|
+
const isAnchor = getIsAnchor(virtualRow.index, index)
|
|
563
|
+
const isSelected = getIsSelected(virtualRow.index, index)
|
|
564
|
+
const isDragTarget = getIsDragTarget(
|
|
565
|
+
virtualRow.index,
|
|
566
|
+
index
|
|
567
|
+
)
|
|
568
|
+
|
|
569
|
+
return (
|
|
570
|
+
<td
|
|
571
|
+
key={cell.id}
|
|
572
|
+
style={{
|
|
573
|
+
width: cell.column.getSize(),
|
|
574
|
+
}}
|
|
575
|
+
onMouseDown={handleMouseDown}
|
|
576
|
+
onMouseOver={handleMouseOver}
|
|
577
|
+
data-row-index={virtualRow.index}
|
|
578
|
+
data-column-index={index}
|
|
579
|
+
className={clx(
|
|
580
|
+
"bg-ui-bg-base has-[[data-role='presentation']]:bg-ui-bg-subtle relative flex items-center border-b border-r p-0 outline-none",
|
|
581
|
+
"after:transition-fg after:border-ui-fg-interactive after:pointer-events-none after:invisible after:absolute after:-bottom-px after:-left-px after:-right-px after:-top-px after:box-border after:border-[2px] after:content-['']",
|
|
582
|
+
{
|
|
583
|
+
"after:visible": isAnchor,
|
|
584
|
+
"bg-ui-bg-highlight focus-within:bg-ui-bg-base":
|
|
585
|
+
isSelected || isAnchor,
|
|
586
|
+
"bg-ui-bg-base-hover": isDragTarget,
|
|
587
|
+
}
|
|
588
|
+
)}
|
|
589
|
+
tabIndex={-1}
|
|
590
|
+
>
|
|
591
|
+
<div className="relative h-full w-full">
|
|
592
|
+
{flexRender(
|
|
593
|
+
cell.column.columnDef.cell,
|
|
594
|
+
cell.getContext()
|
|
595
|
+
)}
|
|
596
|
+
{isAnchor && (
|
|
597
|
+
<div
|
|
598
|
+
onMouseDown={handleDragDown}
|
|
599
|
+
className="bg-ui-fg-interactive absolute bottom-0 right-0 z-[3] size-1.5 cursor-ns-resize"
|
|
600
|
+
/>
|
|
601
|
+
)}
|
|
602
|
+
</div>
|
|
603
|
+
</td>
|
|
604
|
+
)
|
|
605
|
+
})}
|
|
606
|
+
</tr>
|
|
607
|
+
)
|
|
608
|
+
})}
|
|
609
|
+
</tbody>
|
|
610
|
+
</table>
|
|
611
|
+
</div>
|
|
612
|
+
</div>
|
|
613
|
+
)
|
|
614
|
+
}
|
|
615
|
+
|
|
616
|
+
type GridCommandArgs = {
|
|
617
|
+
selection: string[]
|
|
618
|
+
setter: (selection: string[], values: string[]) => void
|
|
619
|
+
prev: string[]
|
|
620
|
+
next: string[]
|
|
621
|
+
}
|
|
622
|
+
|
|
623
|
+
class GridCommand implements Command {
|
|
624
|
+
private _selection: string[]
|
|
625
|
+
|
|
626
|
+
private _prev: string[]
|
|
627
|
+
private _next: string[]
|
|
628
|
+
|
|
629
|
+
private _setter: (selection: string[], values: string[]) => void
|
|
630
|
+
|
|
631
|
+
constructor({ selection, setter, prev, next }: GridCommandArgs) {
|
|
632
|
+
this._selection = selection
|
|
633
|
+
this._setter = setter
|
|
634
|
+
this._prev = prev
|
|
635
|
+
this._next = next
|
|
636
|
+
}
|
|
637
|
+
|
|
638
|
+
execute() {
|
|
639
|
+
this._setter(this._selection, this._next)
|
|
640
|
+
}
|
|
641
|
+
|
|
642
|
+
undo() {
|
|
643
|
+
this._setter(this._selection, this._prev)
|
|
644
|
+
}
|
|
645
|
+
|
|
646
|
+
redo() {
|
|
647
|
+
this.execute()
|
|
648
|
+
}
|
|
649
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from "./data-grid-root"
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
import { Table } from "@medusajs/ui"
|
|
2
|
+
import { ColumnDef } from "@tanstack/react-table"
|
|
3
|
+
import { Skeleton } from "../../../common/skeleton"
|
|
4
|
+
|
|
5
|
+
type DataTableSkeletonProps = {
|
|
6
|
+
columns: ColumnDef<any, any>[]
|
|
7
|
+
rowCount: number
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
export const DataGridSkeleton = ({
|
|
11
|
+
columns,
|
|
12
|
+
rowCount,
|
|
13
|
+
}: DataTableSkeletonProps) => {
|
|
14
|
+
const rows = Array.from({ length: rowCount }, (_, i) => i)
|
|
15
|
+
|
|
16
|
+
const colCount = columns.length
|
|
17
|
+
const colWidth = 100 / colCount
|
|
18
|
+
|
|
19
|
+
return (
|
|
20
|
+
<Table>
|
|
21
|
+
<Table.Header>
|
|
22
|
+
<Table.Row>
|
|
23
|
+
{columns.map((_col, i) => {
|
|
24
|
+
return (
|
|
25
|
+
<Table.HeaderCell
|
|
26
|
+
key={i}
|
|
27
|
+
style={{
|
|
28
|
+
width: `${colWidth}%`,
|
|
29
|
+
}}
|
|
30
|
+
>
|
|
31
|
+
<Skeleton className="h-7" />
|
|
32
|
+
</Table.HeaderCell>
|
|
33
|
+
)
|
|
34
|
+
})}
|
|
35
|
+
</Table.Row>
|
|
36
|
+
</Table.Header>
|
|
37
|
+
<Table.Body>
|
|
38
|
+
{rows.map((_, j) => (
|
|
39
|
+
<Table.Row key={j}>
|
|
40
|
+
{columns.map((_col, k) => {
|
|
41
|
+
return (
|
|
42
|
+
<Table.Cell key={k}>
|
|
43
|
+
<Skeleton className="h-7" />
|
|
44
|
+
</Table.Cell>
|
|
45
|
+
)
|
|
46
|
+
})}
|
|
47
|
+
</Table.Row>
|
|
48
|
+
))}
|
|
49
|
+
</Table.Body>
|
|
50
|
+
</Table>
|
|
51
|
+
)
|
|
52
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from "./data-grid-skeleton"
|