@vendure/dashboard 3.4.0-minor-202506250934 → 3.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +102 -3
- package/dist/plugin/api/api-extensions.d.ts +1 -0
- package/dist/plugin/api/api-extensions.js +38 -0
- package/dist/plugin/api/metrics.resolver.d.ts +8 -0
- package/dist/plugin/api/metrics.resolver.js +40 -0
- package/dist/plugin/config/metrics-strategies.d.ts +39 -0
- package/dist/plugin/config/metrics-strategies.js +74 -0
- package/dist/plugin/constants.d.ts +4 -3
- package/dist/plugin/constants.js +10 -277
- package/dist/plugin/dashboard.plugin.d.ts +95 -0
- package/dist/plugin/dashboard.plugin.js +168 -0
- package/dist/plugin/index.d.ts +2 -1
- package/dist/plugin/index.js +18 -1
- package/dist/plugin/package.json +3 -0
- package/dist/plugin/service/metrics.service.d.ts +15 -0
- package/dist/plugin/service/metrics.service.js +145 -0
- package/dist/plugin/types.d.ts +23 -0
- package/dist/plugin/types.js +13 -0
- package/dist/vite/constants.d.ts +5 -0
- package/dist/vite/constants.js +277 -0
- package/dist/vite/index.d.ts +1 -0
- package/dist/vite/index.js +1 -0
- package/dist/vite/types.d.ts +40 -0
- package/dist/{plugin → vite}/utils/ast-utils.d.ts +0 -5
- package/dist/vite/utils/ast-utils.js +29 -0
- package/dist/vite/utils/ast-utils.spec.d.ts +1 -0
- package/dist/vite/utils/ast-utils.spec.js +45 -0
- package/dist/vite/utils/compiler.d.ts +22 -0
- package/dist/vite/utils/compiler.js +162 -0
- package/dist/vite/utils/config-loader.d.ts +1 -0
- package/dist/vite/utils/config-loader.js +1 -0
- package/dist/vite/utils/logger.d.ts +3 -0
- package/dist/vite/utils/logger.js +39 -0
- package/dist/vite/utils/plugin-discovery.d.ts +27 -0
- package/dist/vite/utils/plugin-discovery.js +387 -0
- package/dist/vite/utils/tsconfig-utils.d.ts +9 -0
- package/dist/vite/utils/tsconfig-utils.js +50 -0
- package/dist/vite/utils/ui-config.d.ts +3 -0
- package/dist/vite/utils/ui-config.js +30 -0
- package/dist/{plugin → vite}/vite-plugin-config-loader.d.ts +3 -3
- package/dist/{plugin → vite}/vite-plugin-config-loader.js +18 -13
- package/dist/{plugin → vite}/vite-plugin-config.js +6 -7
- package/dist/{plugin → vite}/vite-plugin-dashboard-metadata.d.ts +1 -3
- package/dist/{plugin → vite}/vite-plugin-dashboard-metadata.js +20 -10
- package/dist/vite/vite-plugin-tailwind-source.d.ts +7 -0
- package/dist/vite/vite-plugin-tailwind-source.js +61 -0
- package/dist/vite/vite-plugin-theme.js +130 -0
- package/dist/vite/vite-plugin-ui-config.d.ts +123 -0
- package/dist/{plugin → vite}/vite-plugin-ui-config.js +3 -11
- package/dist/vite/vite-plugin-vendure-dashboard.d.ts +85 -0
- package/dist/{plugin → vite}/vite-plugin-vendure-dashboard.js +10 -7
- package/index.html +1 -1
- package/package.json +56 -31
- package/src/app/app-providers.tsx +7 -7
- package/src/app/common/delete-bulk-action.tsx +148 -0
- package/src/app/common/duplicate-bulk-action.tsx +134 -0
- package/src/app/main.tsx +9 -9
- package/src/app/routes/__root.tsx +1 -2
- package/src/app/routes/_authenticated/_administrators/administrators.graphql.ts +10 -1
- package/src/app/routes/_authenticated/_administrators/administrators.tsx +15 -8
- package/src/app/routes/_authenticated/_administrators/administrators_.$id.tsx +16 -12
- package/src/app/routes/_authenticated/_administrators/components/administrator-bulk-actions.tsx +15 -0
- package/src/app/routes/_authenticated/_administrators/components/role-permissions-display.tsx +16 -16
- package/src/app/routes/_authenticated/_assets/assets.graphql.ts +13 -2
- package/src/app/routes/_authenticated/_assets/assets.tsx +16 -4
- package/src/app/routes/_authenticated/_assets/assets_.$id.tsx +52 -38
- package/src/app/routes/_authenticated/_assets/components/asset-bulk-actions.tsx +45 -0
- package/src/app/routes/_authenticated/_channels/channels.graphql.ts +10 -1
- package/src/app/routes/_authenticated/_channels/channels.tsx +17 -10
- package/src/app/routes/_authenticated/_channels/channels_.$id.tsx +21 -17
- package/src/app/routes/_authenticated/_channels/components/channel-bulk-actions.tsx +15 -0
- package/src/app/routes/_authenticated/_collections/collections.graphql.ts +60 -3
- package/src/app/routes/_authenticated/_collections/collections.tsx +168 -124
- package/src/app/routes/_authenticated/_collections/collections_.$id.tsx +21 -17
- package/src/app/routes/_authenticated/_collections/components/collection-bulk-actions.tsx +123 -0
- package/src/app/routes/_authenticated/_collections/components/collection-contents-preview-table.tsx +8 -9
- package/src/app/routes/_authenticated/_collections/components/collection-contents-sheet.tsx +9 -5
- package/src/app/routes/_authenticated/_collections/components/collection-contents-table.tsx +10 -9
- package/src/app/routes/_authenticated/_collections/components/collection-filters-selector.tsx +12 -79
- package/src/app/routes/_authenticated/_collections/components/move-collections-dialog.tsx +430 -0
- package/src/app/routes/_authenticated/_collections/components/move-single-collection.tsx +33 -0
- package/src/app/routes/_authenticated/_countries/components/country-bulk-actions.tsx +15 -0
- package/src/app/routes/_authenticated/_countries/countries.graphql.ts +11 -2
- package/src/app/routes/_authenticated/_countries/countries.tsx +13 -6
- package/src/app/routes/_authenticated/_countries/countries_.$id.tsx +21 -17
- package/src/app/routes/_authenticated/_customer-groups/components/customer-group-bulk-actions.tsx +15 -0
- package/src/app/routes/_authenticated/_customer-groups/components/customer-group-members-sheet.tsx +12 -5
- package/src/app/routes/_authenticated/_customer-groups/components/customer-group-members-table.tsx +22 -17
- package/src/app/routes/_authenticated/_customer-groups/customer-groups.graphql.ts +11 -2
- package/src/app/routes/_authenticated/_customer-groups/customer-groups.tsx +13 -6
- package/src/app/routes/_authenticated/_customer-groups/customer-groups_.$id.tsx +18 -15
- package/src/app/routes/_authenticated/_customers/components/customer-address-card.tsx +19 -19
- package/src/app/routes/_authenticated/_customers/components/customer-address-form.tsx +10 -10
- package/src/app/routes/_authenticated/_customers/components/customer-bulk-actions.tsx +15 -0
- package/src/app/routes/_authenticated/_customers/components/customer-history/customer-history-container.tsx +5 -5
- package/src/app/routes/_authenticated/_customers/components/customer-history/customer-history.tsx +11 -7
- package/src/app/routes/_authenticated/_customers/components/customer-history/use-customer-history.ts +4 -4
- package/src/app/routes/_authenticated/_customers/components/customer-order-table.tsx +75 -73
- package/src/app/routes/_authenticated/_customers/components/customer-status-badge.tsx +4 -4
- package/src/app/routes/_authenticated/_customers/customers.graphql.ts +10 -2
- package/src/app/routes/_authenticated/_customers/customers.tsx +13 -6
- package/src/app/routes/_authenticated/_customers/customers_.$id.tsx +19 -15
- package/src/app/routes/_authenticated/_facets/components/edit-facet-value.tsx +9 -9
- package/src/app/routes/_authenticated/_facets/components/facet-bulk-actions.tsx +104 -0
- package/src/app/routes/_authenticated/_facets/components/facet-values-sheet.tsx +4 -4
- package/src/app/routes/_authenticated/_facets/components/facet-values-table.tsx +76 -65
- package/src/app/routes/_authenticated/_facets/facets.graphql.ts +80 -1
- package/src/app/routes/_authenticated/_facets/facets.tsx +31 -7
- package/src/app/routes/_authenticated/_facets/facets_.$facetId.values_.$id.tsx +147 -0
- package/src/app/routes/_authenticated/_facets/facets_.$id.tsx +17 -13
- package/src/app/routes/_authenticated/_global-settings/global-settings.graphql.ts +1 -1
- package/src/app/routes/_authenticated/_global-settings/global-settings.tsx +26 -18
- package/src/app/routes/_authenticated/_orders/components/add-manual-payment-dialog.tsx +191 -0
- package/src/app/routes/_authenticated/_orders/components/customer-address-selector.tsx +11 -15
- package/src/app/routes/_authenticated/_orders/components/edit-order-table.tsx +111 -80
- package/src/app/routes/_authenticated/_orders/components/fulfill-order-dialog.tsx +320 -0
- package/src/app/routes/_authenticated/_orders/components/fulfillment-details.tsx +153 -0
- package/src/app/routes/_authenticated/_orders/components/money-gross-net.tsx +11 -9
- package/src/app/routes/_authenticated/_orders/components/order-address.tsx +19 -13
- package/src/app/routes/_authenticated/_orders/components/order-history/order-history-container.tsx +67 -62
- package/src/app/routes/_authenticated/_orders/components/order-history/order-history.tsx +391 -39
- package/src/app/routes/_authenticated/_orders/components/order-history/use-order-history.ts +9 -5
- package/src/app/routes/_authenticated/_orders/components/order-line-custom-fields-form.tsx +28 -13
- package/src/app/routes/_authenticated/_orders/components/order-modification-preview-dialog.tsx +364 -0
- package/src/app/routes/_authenticated/_orders/components/order-modification-summary.tsx +222 -0
- package/src/app/routes/_authenticated/_orders/components/order-table-totals.tsx +39 -22
- package/src/app/routes/_authenticated/_orders/components/order-table.tsx +148 -87
- package/src/app/routes/_authenticated/_orders/components/order-tax-summary.tsx +37 -36
- package/src/app/routes/_authenticated/_orders/components/payment-details.tsx +274 -48
- package/src/app/routes/_authenticated/_orders/components/settle-refund-dialog.tsx +80 -0
- package/src/app/routes/_authenticated/_orders/components/shipping-method-selector.tsx +43 -44
- package/src/app/routes/_authenticated/_orders/components/state-transition-control.tsx +102 -0
- package/src/app/routes/_authenticated/_orders/components/use-transition-order-to-state.tsx +144 -0
- package/src/app/routes/_authenticated/_orders/orders.graphql.ts +219 -5
- package/src/app/routes/_authenticated/_orders/orders.tsx +23 -22
- package/src/app/routes/_authenticated/_orders/orders_.$id.tsx +190 -42
- package/src/app/routes/_authenticated/_orders/orders_.$id_.modify.tsx +550 -0
- package/src/app/routes/_authenticated/_orders/orders_.draft.$id.tsx +187 -107
- package/src/app/routes/_authenticated/_orders/utils/order-types.ts +10 -0
- package/src/app/routes/_authenticated/_orders/utils/order-utils.ts +78 -0
- package/src/app/routes/_authenticated/_payment-methods/components/payment-eligibility-checker-selector.tsx +12 -79
- package/src/app/routes/_authenticated/_payment-methods/components/payment-handler-selector.tsx +12 -79
- package/src/app/routes/_authenticated/_payment-methods/components/payment-method-bulk-actions.tsx +58 -0
- package/src/app/routes/_authenticated/_payment-methods/payment-methods.graphql.ts +29 -2
- package/src/app/routes/_authenticated/_payment-methods/payment-methods.tsx +36 -14
- package/src/app/routes/_authenticated/_payment-methods/payment-methods_.$id.tsx +22 -15
- package/src/app/routes/_authenticated/_product-variants/components/product-variant-bulk-actions.tsx +110 -0
- package/src/app/routes/_authenticated/_product-variants/components/variant-price-detail.tsx +7 -6
- package/src/app/routes/_authenticated/_product-variants/product-variants.graphql.ts +64 -3
- package/src/app/routes/_authenticated/_product-variants/product-variants.tsx +39 -9
- package/src/app/routes/_authenticated/_product-variants/product-variants_.$id.tsx +33 -22
- package/src/app/routes/_authenticated/_products/components/add-product-variant-dialog.tsx +10 -10
- package/src/app/routes/_authenticated/_products/components/assign-facet-values-dialog.tsx +281 -0
- package/src/app/routes/_authenticated/_products/components/create-product-options-dialog.tsx +57 -41
- package/src/app/routes/_authenticated/_products/components/create-product-variants-dialog.tsx +11 -11
- package/src/app/routes/_authenticated/_products/components/create-product-variants.tsx +18 -14
- package/src/app/routes/_authenticated/_products/components/option-value-input.tsx +23 -17
- package/src/app/routes/_authenticated/_products/components/product-bulk-actions.tsx +123 -0
- package/src/app/routes/_authenticated/_products/components/product-option-select.tsx +28 -34
- package/src/app/routes/_authenticated/_products/components/product-variants-table.tsx +84 -53
- package/src/app/routes/_authenticated/_products/products.graphql.ts +70 -2
- package/src/app/routes/_authenticated/_products/products.tsx +36 -7
- package/src/app/routes/_authenticated/_products/products_.$id.tsx +34 -26
- package/src/app/routes/_authenticated/_profile/profile.graphql.ts +1 -1
- package/src/app/routes/_authenticated/_profile/profile.tsx +8 -8
- package/src/app/routes/_authenticated/_promotions/components/promotion-actions-selector.tsx +14 -86
- package/src/app/routes/_authenticated/_promotions/components/promotion-bulk-actions.tsx +82 -0
- package/src/app/routes/_authenticated/_promotions/components/promotion-conditions-selector.tsx +14 -86
- package/src/app/routes/_authenticated/_promotions/promotions.graphql.ts +27 -2
- package/src/app/routes/_authenticated/_promotions/promotions.tsx +31 -7
- package/src/app/routes/_authenticated/_promotions/promotions_.$id.tsx +20 -16
- package/src/app/routes/_authenticated/_roles/components/expandable-permissions.tsx +5 -5
- package/src/app/routes/_authenticated/_roles/components/permissions-grid.tsx +21 -17
- package/src/app/routes/_authenticated/_roles/components/role-bulk-actions.tsx +15 -0
- package/src/app/routes/_authenticated/_roles/roles.graphql.ts +10 -1
- package/src/app/routes/_authenticated/_roles/roles.tsx +17 -10
- package/src/app/routes/_authenticated/_roles/roles_.$id.tsx +16 -12
- package/src/app/routes/_authenticated/_sellers/components/seller-bulk-actions.tsx +15 -0
- package/src/app/routes/_authenticated/_sellers/sellers.graphql.ts +10 -1
- package/src/app/routes/_authenticated/_sellers/sellers.tsx +13 -6
- package/src/app/routes/_authenticated/_sellers/sellers_.$id.tsx +17 -13
- package/src/app/routes/_authenticated/_shipping-methods/components/fulfillment-handler-selector.tsx +6 -6
- package/src/app/routes/_authenticated/_shipping-methods/components/shipping-calculator-selector.tsx +12 -80
- package/src/app/routes/_authenticated/_shipping-methods/components/shipping-eligibility-checker-selector.tsx +15 -80
- package/src/app/routes/_authenticated/_shipping-methods/components/shipping-method-bulk-actions.tsx +61 -0
- package/src/app/routes/_authenticated/_shipping-methods/components/test-shipping-method-dialog.tsx +3 -3
- package/src/app/routes/_authenticated/_shipping-methods/shipping-methods.graphql.ts +29 -2
- package/src/app/routes/_authenticated/_shipping-methods/shipping-methods.tsx +25 -6
- package/src/app/routes/_authenticated/_shipping-methods/shipping-methods_.$id.tsx +25 -19
- package/src/app/routes/_authenticated/_stock-locations/components/stock-location-bulk-actions.tsx +58 -0
- package/src/app/routes/_authenticated/_stock-locations/stock-locations.graphql.ts +26 -1
- package/src/app/routes/_authenticated/_stock-locations/stock-locations.tsx +25 -6
- package/src/app/routes/_authenticated/_stock-locations/stock-locations_.$id.tsx +16 -12
- package/src/app/routes/_authenticated/_system/components/payload-dialog.tsx +5 -5
- package/src/app/routes/_authenticated/_system/healthchecks.tsx +5 -5
- package/src/app/routes/_authenticated/_system/job-queue.graphql.ts +12 -1
- package/src/app/routes/_authenticated/_system/job-queue.tsx +110 -11
- package/src/app/routes/_authenticated/_system/scheduled-tasks.tsx +34 -28
- package/src/app/routes/_authenticated/_tax-categories/components/tax-category-bulk-actions.tsx +15 -0
- package/src/app/routes/_authenticated/_tax-categories/tax-categories.graphql.ts +11 -2
- package/src/app/routes/_authenticated/_tax-categories/tax-categories.tsx +14 -7
- package/src/app/routes/_authenticated/_tax-categories/tax-categories_.$id.tsx +20 -16
- package/src/app/routes/_authenticated/_tax-rates/components/tax-rate-bulk-actions.tsx +15 -0
- package/src/app/routes/_authenticated/_tax-rates/tax-rates.graphql.ts +11 -2
- package/src/app/routes/_authenticated/_tax-rates/tax-rates.tsx +15 -8
- package/src/app/routes/_authenticated/_tax-rates/tax-rates_.$id.tsx +22 -18
- package/src/app/routes/_authenticated/_zones/components/zone-bulk-actions.tsx +15 -0
- package/src/app/routes/_authenticated/_zones/components/zone-countries-sheet.tsx +4 -4
- package/src/app/routes/_authenticated/_zones/components/zone-countries-table.tsx +12 -15
- package/src/app/routes/_authenticated/_zones/zones.graphql.ts +11 -2
- package/src/app/routes/_authenticated/_zones/zones.tsx +13 -6
- package/src/app/routes/_authenticated/_zones/zones_.$id.tsx +18 -14
- package/src/app/routes/_authenticated/index.tsx +6 -6
- package/src/app/routes/_authenticated.tsx +4 -4
- package/src/app/routes/login.tsx +2 -2
- package/src/app/styles.css +5 -2
- package/src/lib/components/data-display/boolean.tsx +1 -1
- package/src/lib/components/data-display/date-time.tsx +9 -3
- package/src/lib/components/data-display/json.tsx +1 -1
- package/src/lib/components/data-display/money.tsx +2 -3
- package/src/lib/components/data-input/affixed-input.tsx +3 -8
- package/src/lib/components/data-input/combination-mode-input.tsx +52 -0
- package/src/lib/components/data-input/configurable-operation-list-input.tsx +433 -0
- package/src/lib/components/data-input/custom-field-list-input.tsx +297 -0
- package/src/lib/components/data-input/customer-group-input.tsx +2 -2
- package/src/lib/components/data-input/datetime-input.tsx +132 -146
- package/src/lib/components/data-input/default-relation-input.tsx +599 -0
- package/src/lib/components/data-input/facet-value-input.tsx +30 -22
- package/src/lib/components/data-input/index.ts +17 -0
- package/src/lib/components/data-input/money-input.tsx +5 -12
- package/src/lib/components/data-input/product-multi-selector.tsx +426 -0
- package/src/lib/components/data-input/relation-input.tsx +164 -0
- package/src/lib/components/data-input/relation-selector.tsx +476 -0
- package/src/lib/components/data-input/{richt-text-input.tsx → rich-text-input.tsx} +15 -9
- package/src/lib/components/data-input/select-with-options.tsx +84 -0
- package/src/lib/components/data-input/struct-form-input.tsx +324 -0
- package/src/lib/components/data-table/add-filter-menu.tsx +9 -18
- package/src/lib/components/data-table/data-table-bulk-action-item.tsx +101 -0
- package/src/lib/components/data-table/data-table-bulk-actions.tsx +108 -0
- package/src/lib/components/data-table/data-table-column-header.tsx +4 -22
- package/src/lib/components/data-table/data-table-faceted-filter.tsx +8 -8
- package/src/lib/components/data-table/data-table-filter-badge.tsx +16 -8
- package/src/lib/components/data-table/data-table-filter-dialog.tsx +8 -8
- package/src/lib/components/data-table/data-table-pagination.tsx +4 -4
- package/src/lib/components/data-table/data-table-utils.ts +34 -0
- package/src/lib/components/data-table/data-table-view-options.tsx +27 -23
- package/src/lib/components/data-table/data-table.tsx +90 -43
- package/src/lib/components/data-table/filters/data-table-boolean-filter.tsx +11 -8
- package/src/lib/components/data-table/filters/data-table-datetime-filter.tsx +14 -23
- package/src/lib/components/data-table/filters/data-table-id-filter.tsx +15 -10
- package/src/lib/components/data-table/filters/data-table-number-filter.tsx +18 -17
- package/src/lib/components/data-table/filters/data-table-string-filter.tsx +29 -12
- package/src/lib/components/data-table/human-readable-operator.tsx +3 -3
- package/src/lib/components/data-table/refresh-button.tsx +30 -15
- package/src/lib/components/data-table/use-generated-columns.tsx +322 -0
- package/src/lib/components/labeled-data.tsx +21 -0
- package/src/lib/components/layout/app-layout.tsx +8 -13
- package/src/lib/components/layout/app-sidebar.tsx +5 -5
- package/src/lib/components/layout/channel-switcher.tsx +171 -62
- package/src/lib/components/layout/content-language-selector.tsx +16 -10
- package/src/lib/components/layout/dev-mode-indicator.tsx +18 -0
- package/src/lib/components/layout/generated-breadcrumbs.tsx +1 -1
- package/src/lib/components/layout/language-dialog.tsx +7 -12
- package/src/lib/components/layout/manage-languages-dialog.tsx +405 -0
- package/src/lib/components/layout/nav-item-wrapper.tsx +107 -0
- package/src/lib/components/layout/nav-main.tsx +200 -111
- package/src/lib/components/layout/nav-projects.tsx +2 -2
- package/src/lib/components/layout/nav-user.tsx +7 -7
- package/src/lib/components/layout/prerelease-popup.tsx +1 -1
- package/src/lib/components/login/login-form.tsx +85 -50
- package/src/lib/components/shared/alerts.tsx +3 -3
- package/src/lib/components/shared/animated-number.tsx +2 -2
- package/src/lib/components/shared/asset/asset-bulk-actions.tsx +109 -0
- package/src/lib/components/shared/asset/asset-focal-point-editor.tsx +29 -19
- package/src/lib/components/shared/asset/asset-gallery.tsx +25 -20
- package/src/lib/components/shared/asset/asset-picker-dialog.tsx +63 -66
- package/src/lib/components/shared/asset/asset-preview-dialog.tsx +3 -7
- package/src/lib/components/shared/asset/asset-preview-selector.tsx +4 -6
- package/src/lib/components/shared/asset/asset-preview.tsx +7 -21
- package/src/lib/components/shared/asset/asset-properties.tsx +7 -9
- package/src/lib/components/shared/asset/focal-point-control.tsx +5 -13
- package/src/lib/components/shared/assign-to-channel-bulk-action.tsx +71 -0
- package/src/lib/components/shared/assign-to-channel-dialog.tsx +155 -0
- package/src/lib/components/shared/assigned-facet-values.tsx +1 -5
- package/src/lib/components/shared/channel-code-label.tsx +3 -4
- package/src/lib/components/shared/channel-selector.tsx +6 -6
- package/src/lib/components/shared/configurable-operation-arg-input.tsx +367 -23
- package/src/lib/components/shared/configurable-operation-input.tsx +87 -48
- package/src/lib/components/shared/configurable-operation-multi-selector.tsx +260 -0
- package/src/lib/components/shared/configurable-operation-selector.tsx +156 -0
- package/src/lib/components/shared/confirmation-dialog.tsx +2 -2
- package/src/lib/components/shared/copyable-text.tsx +3 -4
- package/src/lib/components/shared/country-selector.tsx +21 -18
- package/src/lib/components/shared/currency-selector.tsx +5 -5
- package/src/lib/components/shared/custom-fields-form.tsx +423 -50
- package/src/lib/components/shared/customer-address-form.tsx +18 -13
- package/src/lib/components/shared/customer-group-selector.tsx +6 -6
- package/src/lib/components/shared/customer-selector.tsx +24 -18
- package/src/lib/components/shared/detail-page-button.tsx +45 -1
- package/src/lib/components/shared/entity-assets.tsx +33 -34
- package/src/lib/components/shared/error-page.tsx +6 -6
- package/src/lib/components/shared/facet-value-chip.tsx +12 -5
- package/src/lib/components/shared/facet-value-selector.tsx +64 -63
- package/src/lib/components/shared/form-field-wrapper.tsx +47 -24
- package/src/lib/components/shared/history-timeline/history-entry-date.tsx +37 -0
- package/src/lib/components/shared/history-timeline/history-entry.tsx +146 -70
- package/src/lib/components/shared/history-timeline/history-note-checkbox.tsx +3 -3
- package/src/lib/components/shared/history-timeline/history-note-editor.tsx +4 -4
- package/src/lib/components/shared/history-timeline/history-note-input.tsx +7 -7
- package/src/lib/components/shared/history-timeline/history-timeline.tsx +8 -48
- package/src/lib/components/shared/language-selector.tsx +5 -5
- package/src/lib/components/shared/logo-mark.tsx +2 -2
- package/src/lib/components/shared/multi-select.tsx +6 -6
- package/src/lib/components/shared/navigation-confirmation.tsx +24 -9
- package/src/lib/components/shared/option-value-input.tsx +18 -16
- package/src/lib/components/shared/paginated-list-data-table.tsx +35 -230
- package/src/lib/components/shared/permission-guard.tsx +4 -4
- package/src/lib/components/shared/product-variant-selector.tsx +59 -34
- package/src/lib/components/shared/remove-from-channel-bulk-action.tsx +90 -0
- package/src/lib/components/shared/role-code-label.tsx +10 -6
- package/src/lib/components/shared/role-selector.tsx +4 -4
- package/src/lib/components/shared/seller-selector.tsx +21 -17
- package/src/lib/components/shared/stock-level-label.tsx +5 -5
- package/src/lib/components/shared/tax-category-selector.tsx +5 -5
- package/src/lib/components/shared/translatable-form-field.tsx +46 -23
- package/src/lib/components/shared/vendure-image.tsx +31 -2
- package/src/lib/components/shared/zone-selector.tsx +5 -6
- package/src/lib/components/ui/accordion.tsx +3 -3
- package/src/lib/components/ui/alert-dialog.tsx +10 -10
- package/src/lib/components/ui/alert.tsx +3 -3
- package/src/lib/components/ui/aspect-ratio.tsx +9 -0
- package/src/lib/components/ui/badge.tsx +2 -2
- package/src/lib/components/ui/breadcrumb.tsx +4 -4
- package/src/lib/components/ui/button.tsx +10 -3
- package/src/lib/components/ui/calendar.tsx +392 -459
- package/src/lib/components/ui/card.tsx +2 -2
- package/src/lib/components/ui/carousel.tsx +241 -0
- package/src/lib/components/ui/chart.tsx +351 -0
- package/src/lib/components/ui/checkbox.tsx +2 -2
- package/src/lib/components/ui/command.tsx +12 -6
- package/src/lib/components/ui/context-menu.tsx +252 -0
- package/src/lib/components/ui/dialog.tsx +2 -2
- package/src/lib/components/ui/drawer.tsx +133 -0
- package/src/lib/components/ui/dropdown-menu.tsx +7 -7
- package/src/lib/components/ui/form.tsx +8 -8
- package/src/lib/components/ui/hover-card.tsx +3 -3
- package/src/lib/components/ui/input-otp.tsx +77 -0
- package/src/lib/components/ui/input.tsx +1 -1
- package/src/lib/components/ui/label.tsx +2 -2
- package/src/lib/components/ui/menubar.tsx +274 -0
- package/src/lib/components/ui/navigation-menu.tsx +168 -0
- package/src/lib/components/ui/pagination.tsx +87 -108
- package/src/lib/components/ui/popover.tsx +3 -3
- package/src/lib/components/ui/progress.tsx +29 -0
- package/src/lib/components/ui/radio-group.tsx +45 -0
- package/src/lib/components/ui/resizable.tsx +54 -0
- package/src/lib/components/ui/scroll-area.tsx +2 -2
- package/src/lib/components/ui/select.tsx +151 -129
- package/src/lib/components/ui/separator.tsx +2 -2
- package/src/lib/components/ui/sheet.tsx +5 -5
- package/src/lib/components/ui/sidebar.tsx +10 -10
- package/src/lib/components/ui/skeleton.tsx +1 -1
- package/src/lib/components/ui/slider.tsx +63 -0
- package/src/lib/components/ui/switch.tsx +2 -2
- package/src/lib/components/ui/table.tsx +2 -2
- package/src/lib/components/ui/tabs.tsx +3 -3
- package/src/lib/components/ui/textarea.tsx +1 -1
- package/src/lib/components/ui/toggle-group.tsx +73 -0
- package/src/lib/components/ui/toggle.tsx +45 -0
- package/src/lib/components/ui/tooltip.tsx +3 -3
- package/src/lib/framework/alert/alert-extensions.tsx +2 -3
- package/src/lib/framework/alert/alert-item.tsx +5 -3
- package/src/lib/framework/component-registry/component-registry.tsx +33 -47
- package/src/lib/framework/component-registry/dynamic-component.tsx +3 -3
- package/src/lib/framework/dashboard-widget/base-widget.tsx +5 -13
- package/src/lib/framework/dashboard-widget/latest-orders-widget/index.tsx +8 -8
- package/src/lib/framework/dashboard-widget/latest-orders-widget/latest-orders-widget.graphql.ts +1 -1
- package/src/lib/framework/dashboard-widget/metrics-widget/index.tsx +7 -8
- package/src/lib/framework/dashboard-widget/metrics-widget/metrics-widget.graphql.ts +1 -1
- package/src/lib/framework/dashboard-widget/orders-summary/index.tsx +7 -8
- package/src/lib/framework/dashboard-widget/orders-summary/order-summary-widget.graphql.ts +1 -1
- package/src/lib/framework/dashboard-widget/widget-extensions.tsx +1 -1
- package/src/lib/framework/data-table/data-table-extensions.ts +35 -0
- package/src/lib/framework/defaults.ts +5 -11
- package/src/lib/framework/document-extension/extend-detail-form-query.ts +50 -0
- package/src/lib/framework/document-extension/extend-document.spec.ts +884 -0
- package/src/lib/framework/document-extension/extend-document.ts +159 -0
- package/src/lib/framework/document-introspection/add-custom-fields.ts +50 -2
- package/src/lib/framework/document-introspection/get-document-structure.spec.ts +321 -2
- package/src/lib/framework/document-introspection/get-document-structure.ts +187 -36
- package/src/lib/framework/document-introspection/hooks.ts +4 -1
- package/src/lib/framework/extension-api/define-dashboard-extension.ts +35 -49
- package/src/lib/framework/extension-api/display-component-extensions.tsx +69 -0
- package/src/lib/framework/extension-api/extension-api-types.ts +34 -98
- package/src/lib/framework/extension-api/input-component-extensions.tsx +73 -0
- package/src/lib/framework/extension-api/logic/alerts.ts +10 -0
- package/src/lib/framework/extension-api/logic/data-table.ts +60 -0
- package/src/lib/framework/extension-api/logic/detail-forms.ts +48 -0
- package/src/lib/framework/extension-api/logic/form-components.ts +13 -0
- package/src/lib/framework/extension-api/logic/index.ts +9 -0
- package/src/lib/framework/extension-api/logic/layout.ts +22 -0
- package/src/lib/framework/extension-api/logic/login.ts +17 -0
- package/src/lib/framework/extension-api/logic/navigation.ts +38 -0
- package/src/lib/framework/extension-api/logic/widgets.ts +10 -0
- package/src/lib/framework/extension-api/types/alerts.ts +54 -0
- package/src/lib/framework/extension-api/types/data-table.ts +96 -0
- package/src/lib/framework/extension-api/types/detail-forms.ts +94 -0
- package/src/lib/framework/extension-api/types/form-components.ts +43 -0
- package/src/lib/framework/extension-api/types/index.ts +9 -0
- package/src/lib/framework/extension-api/types/layout.ts +90 -0
- package/src/lib/framework/extension-api/types/login.ts +96 -0
- package/src/lib/framework/extension-api/types/navigation.ts +76 -0
- package/src/lib/framework/extension-api/types/widgets.ts +93 -0
- package/src/lib/framework/extension-api/use-dashboard-extensions.ts +2 -1
- package/src/lib/framework/extension-api/use-login-extensions.ts +26 -0
- package/src/lib/framework/form-engine/custom-form-component-extensions.ts +38 -0
- package/src/lib/framework/form-engine/custom-form-component.tsx +33 -0
- package/src/lib/framework/form-engine/form-schema-tools.spec.ts +472 -0
- package/src/lib/framework/form-engine/form-schema-tools.ts +341 -6
- package/src/lib/framework/form-engine/overridden-form-component.tsx +51 -0
- package/src/lib/framework/form-engine/use-generated-form.tsx +82 -24
- package/src/lib/framework/form-engine/utils.spec.ts +37 -0
- package/src/lib/framework/form-engine/utils.ts +99 -0
- package/src/lib/framework/layout-engine/dev-mode-button.tsx +24 -0
- package/src/lib/framework/layout-engine/layout-extensions.ts +1 -4
- package/src/lib/framework/layout-engine/location-wrapper.tsx +98 -72
- package/src/lib/framework/layout-engine/page-block-provider.tsx +6 -0
- package/src/lib/framework/layout-engine/page-layout.tsx +135 -58
- package/src/lib/framework/page/detail-page-route-loader.tsx +26 -7
- package/src/lib/framework/page/detail-page.tsx +94 -37
- package/src/lib/framework/page/list-page.tsx +18 -11
- package/src/lib/framework/page/use-detail-page.ts +47 -13
- package/src/lib/framework/page/use-extended-router.tsx +4 -5
- package/src/lib/framework/registry/global-registry.ts +4 -0
- package/src/lib/framework/registry/registry-types.ts +17 -5
- package/src/lib/graphql/api.ts +25 -3
- package/src/lib/graphql/common-operations.ts +18 -0
- package/src/lib/graphql/{fragments.tsx → fragments.ts} +1 -2
- package/src/lib/graphql/graphql-env.d.ts +27 -24
- package/src/lib/graphql/settings-store-operations.ts +17 -0
- package/src/lib/hooks/use-auth.tsx +1 -1
- package/src/lib/hooks/use-channel.ts +1 -1
- package/src/lib/hooks/use-extended-detail-query.ts +37 -0
- package/src/lib/hooks/use-extended-list-query.ts +75 -0
- package/src/lib/hooks/use-floating-bulk-actions.ts +82 -0
- package/src/lib/hooks/use-grouped-permissions.ts +3 -2
- package/src/lib/hooks/use-local-format.ts +20 -5
- package/src/lib/hooks/use-page-block.tsx +18 -0
- package/src/lib/hooks/use-page.tsx +2 -2
- package/src/lib/hooks/use-permissions.ts +3 -2
- package/src/lib/hooks/use-server-config.ts +1 -1
- package/src/lib/hooks/use-theme.ts +1 -1
- package/src/lib/hooks/use-user-settings.tsx +1 -1
- package/src/lib/index.ts +85 -7
- package/src/lib/lib/trans.tsx +3 -3
- package/src/lib/lib/utils.ts +52 -1
- package/src/lib/providers/auth.tsx +37 -14
- package/src/lib/providers/channel-provider.tsx +17 -15
- package/src/lib/providers/server-config.tsx +13 -11
- package/src/lib/providers/theme-provider.tsx +2 -3
- package/src/lib/providers/user-settings.tsx +78 -3
- package/src/lib/virtual.d.ts +26 -2
- package/src/vite-env.d.ts +2 -0
- package/vite/tests/barrel-exports.spec.ts +30 -0
- package/vite/tests/fixtures-barrel-exports/my-plugin/index.ts +1 -0
- package/vite/tests/fixtures-barrel-exports/my-plugin/src/my.plugin.ts +8 -0
- package/vite/tests/fixtures-barrel-exports/package.json +6 -0
- package/vite/tests/fixtures-barrel-exports/vendure-config.ts +19 -0
- package/vite/tests/fixtures-npm-plugin/fake_node_modules/test-plugin/index.js +20 -0
- package/vite/tests/fixtures-npm-plugin/fake_node_modules/test-plugin/package.json +8 -0
- package/vite/tests/fixtures-npm-plugin/package.json +6 -0
- package/vite/tests/fixtures-npm-plugin/vendure-config.ts +18 -0
- package/vite/tests/fixtures-path-alias/js-aliased/index.ts +1 -0
- package/vite/tests/fixtures-path-alias/js-aliased/src/js-aliased.plugin.ts +8 -0
- package/vite/tests/fixtures-path-alias/package.json +6 -0
- package/vite/tests/fixtures-path-alias/star-aliased/index.ts +1 -0
- package/vite/tests/fixtures-path-alias/star-aliased/src/star-aliased.plugin.ts +8 -0
- package/vite/tests/fixtures-path-alias/ts-aliased/index.ts +1 -0
- package/vite/tests/fixtures-path-alias/ts-aliased/src/ts-aliased.plugin.ts +8 -0
- package/vite/tests/fixtures-path-alias/vendure-config.ts +20 -0
- package/vite/tests/npm-plugin.spec.ts +46 -0
- package/vite/tests/path-alias.spec.ts +61 -0
- package/vite/tests/tsconfig.json +21 -0
- package/vite/types.ts +44 -0
- package/vite/utils/ast-utils.spec.ts +1 -80
- package/vite/utils/ast-utils.ts +0 -86
- package/vite/utils/compiler.ts +244 -0
- package/vite/utils/config-loader.ts +0 -445
- package/vite/utils/logger.ts +43 -0
- package/vite/utils/plugin-discovery.ts +494 -0
- package/vite/utils/tsconfig-utils.ts +79 -0
- package/vite/utils/ui-config.ts +30 -42
- package/vite/vite-plugin-config-loader.ts +25 -17
- package/vite/vite-plugin-config.ts +6 -7
- package/vite/vite-plugin-dashboard-metadata.ts +27 -16
- package/vite/vite-plugin-tailwind-source.ts +81 -0
- package/vite/vite-plugin-theme.ts +69 -69
- package/vite/vite-plugin-ui-config.ts +119 -17
- package/vite/vite-plugin-vendure-dashboard.ts +60 -16
- package/dist/plugin/utils/ast-utils.js +0 -96
- package/dist/plugin/utils/ast-utils.spec.js +0 -120
- package/dist/plugin/utils/config-loader.d.ts +0 -52
- package/dist/plugin/utils/config-loader.js +0 -343
- package/dist/plugin/utils/ui-config.d.ts +0 -3
- package/dist/plugin/utils/ui-config.js +0 -34
- package/dist/plugin/vite-plugin-theme.js +0 -130
- package/dist/plugin/vite-plugin-ui-config.d.ts +0 -15
- package/dist/plugin/vite-plugin-vendure-dashboard.d.ts +0 -44
- package/src/lib/components/shared/rich-text-editor.tsx +0 -0
- package/src/lib/framework/alert/types.ts +0 -13
- package/src/lib/framework/dashboard-widget/types.ts +0 -22
- /package/dist/{plugin/utils/ast-utils.spec.d.ts → vite/types.js} +0 -0
- /package/dist/{plugin → vite}/utils/schema-generator.d.ts +0 -0
- /package/dist/{plugin → vite}/utils/schema-generator.js +0 -0
- /package/dist/{plugin → vite}/vite-plugin-admin-api-schema.d.ts +0 -0
- /package/dist/{plugin → vite}/vite-plugin-admin-api-schema.js +0 -0
- /package/dist/{plugin → vite}/vite-plugin-config.d.ts +0 -0
- /package/dist/{plugin → vite}/vite-plugin-gql-tada.d.ts +0 -0
- /package/dist/{plugin → vite}/vite-plugin-gql-tada.js +0 -0
- /package/dist/{plugin → vite}/vite-plugin-theme.d.ts +0 -0
- /package/dist/{plugin → vite}/vite-plugin-transform-index.d.ts +0 -0
- /package/dist/{plugin → vite}/vite-plugin-transform-index.js +0 -0
- /package/src/lib/components/data-table/{data-table-types.ts → types.ts} +0 -0
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { Plugin } from 'vite';
|
|
2
|
+
/**
|
|
3
|
+
* This Vite plugin transforms the `app/styles.css` file to include a `@source` directive
|
|
4
|
+
* for each dashboard extension's source directory. This allows Tailwind CSS to
|
|
5
|
+
* include styles from these extensions when processing the CSS.
|
|
6
|
+
*/
|
|
7
|
+
export declare function dashboardTailwindSourcePlugin(): Plugin;
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
import path from 'path';
|
|
2
|
+
import { getConfigLoaderApi } from './vite-plugin-config-loader.js';
|
|
3
|
+
/**
|
|
4
|
+
* This Vite plugin transforms the `app/styles.css` file to include a `@source` directive
|
|
5
|
+
* for each dashboard extension's source directory. This allows Tailwind CSS to
|
|
6
|
+
* include styles from these extensions when processing the CSS.
|
|
7
|
+
*/
|
|
8
|
+
export function dashboardTailwindSourcePlugin() {
|
|
9
|
+
let configLoaderApi;
|
|
10
|
+
let loadVendureConfigResult;
|
|
11
|
+
return {
|
|
12
|
+
name: 'vendure:dashboard-tailwind-source',
|
|
13
|
+
// Ensure this plugin runs before Tailwind CSS processing
|
|
14
|
+
enforce: 'pre',
|
|
15
|
+
configResolved({ plugins }) {
|
|
16
|
+
configLoaderApi = getConfigLoaderApi(plugins);
|
|
17
|
+
},
|
|
18
|
+
async transform(src, id) {
|
|
19
|
+
var _a;
|
|
20
|
+
if (/app\/styles.css$/.test(id)) {
|
|
21
|
+
if (!loadVendureConfigResult) {
|
|
22
|
+
loadVendureConfigResult = await configLoaderApi.getVendureConfig();
|
|
23
|
+
}
|
|
24
|
+
const { pluginInfo } = loadVendureConfigResult;
|
|
25
|
+
const dashboardExtensionDirs = (_a = pluginInfo === null || pluginInfo === void 0 ? void 0 : pluginInfo.flatMap(({ dashboardEntryPath, sourcePluginPath, pluginPath }) => {
|
|
26
|
+
if (!dashboardEntryPath) {
|
|
27
|
+
return [];
|
|
28
|
+
}
|
|
29
|
+
const sourcePaths = [];
|
|
30
|
+
if (sourcePluginPath) {
|
|
31
|
+
sourcePaths.push(path.join(path.dirname(sourcePluginPath), path.dirname(dashboardEntryPath)));
|
|
32
|
+
}
|
|
33
|
+
if (pluginPath) {
|
|
34
|
+
sourcePaths.push(path.join(path.dirname(pluginPath), path.dirname(dashboardEntryPath)));
|
|
35
|
+
}
|
|
36
|
+
return sourcePaths;
|
|
37
|
+
}).filter(x => x != null)) !== null && _a !== void 0 ? _a : [];
|
|
38
|
+
const sources = dashboardExtensionDirs
|
|
39
|
+
.map(extension => {
|
|
40
|
+
return `@source '${extension}';`;
|
|
41
|
+
})
|
|
42
|
+
.join('\n');
|
|
43
|
+
// Find the line with the specific comment and insert sources after it
|
|
44
|
+
const lines = src.split('\n');
|
|
45
|
+
const sourceCommentIndex = lines.findIndex(line => line.includes('/* @source rules from extensions will be added here by the dashboardTailwindSourcePlugin */'));
|
|
46
|
+
if (sourceCommentIndex !== -1) {
|
|
47
|
+
// Insert the sources after the comment line
|
|
48
|
+
lines.splice(sourceCommentIndex + 1, 0, sources);
|
|
49
|
+
const modifiedSrc = lines.join('\n');
|
|
50
|
+
return {
|
|
51
|
+
code: modifiedSrc,
|
|
52
|
+
};
|
|
53
|
+
}
|
|
54
|
+
// If the comment is not found, append sources at the end
|
|
55
|
+
return {
|
|
56
|
+
code: src + '\n' + sources,
|
|
57
|
+
};
|
|
58
|
+
}
|
|
59
|
+
},
|
|
60
|
+
};
|
|
61
|
+
}
|
|
@@ -0,0 +1,130 @@
|
|
|
1
|
+
const defaultVariables = {
|
|
2
|
+
light: {
|
|
3
|
+
background: 'oklch(1.0000 0 0)',
|
|
4
|
+
foreground: 'oklch(0.2103 0.0059 285.8852)',
|
|
5
|
+
card: 'oklch(1.0000 0 0)',
|
|
6
|
+
'card-foreground': 'oklch(0.2103 0.0059 285.8852)',
|
|
7
|
+
popover: 'oklch(1.0000 0 0)',
|
|
8
|
+
'popover-foreground': 'oklch(0.2103 0.0059 285.8852)',
|
|
9
|
+
primary: 'oklch(0.7613 0.1503 231.1314)',
|
|
10
|
+
'primary-foreground': 'oklch(0.1408 0.0044 285.8229)',
|
|
11
|
+
secondary: 'oklch(0.9674 0.0013 286.3752)',
|
|
12
|
+
'secondary-foreground': 'oklch(0.2103 0.0059 285.8852)',
|
|
13
|
+
muted: 'oklch(0.9674 0.0013 286.3752)',
|
|
14
|
+
'muted-foreground': 'oklch(0.5517 0.0138 285.9385)',
|
|
15
|
+
accent: 'oklch(0.9674 0.0013 286.3752)',
|
|
16
|
+
'accent-foreground': 'oklch(0.2103 0.0059 285.8852)',
|
|
17
|
+
destructive: 'oklch(0.5771 0.2152 27.3250)',
|
|
18
|
+
'destructive-foreground': 'oklch(0.9851 0 0)',
|
|
19
|
+
success: 'hsl(100, 81%, 35%)',
|
|
20
|
+
'success-foreground': 'hsl(0 0% 98%)',
|
|
21
|
+
'dev-mode': 'hsl(204, 76%, 62%)',
|
|
22
|
+
'dev-mode-foreground': 'hsl(0 0% 98%)',
|
|
23
|
+
border: 'oklch(0.9197 0.0040 286.3202)',
|
|
24
|
+
input: 'oklch(0.9197 0.0040 286.3202)',
|
|
25
|
+
ring: 'oklch(0.7613 0.1503 231.1314)',
|
|
26
|
+
'chart-1': 'oklch(0.7613 0.1503 231.1314)',
|
|
27
|
+
'chart-2': 'oklch(0.5575 0.2525 302.3212)',
|
|
28
|
+
'chart-3': 'oklch(0.5858 0.2220 17.5846)',
|
|
29
|
+
'chart-4': 'oklch(0.6658 0.1574 58.3183)',
|
|
30
|
+
'chart-5': 'oklch(0.6271 0.1699 149.2138)',
|
|
31
|
+
radius: '0.375rem',
|
|
32
|
+
sidebar: 'oklch(0.9674 0.0013 286.3752)',
|
|
33
|
+
'sidebar-foreground': 'oklch(0.2103 0.0059 285.8852)',
|
|
34
|
+
'sidebar-primary': 'oklch(0.7613 0.1503 231.1314)',
|
|
35
|
+
'sidebar-primary-foreground': 'oklch(0.1408 0.0044 285.8229)',
|
|
36
|
+
'sidebar-accent': 'oklch(1.0000 0 0)',
|
|
37
|
+
'sidebar-accent-foreground': 'oklch(0.2103 0.0059 285.8852)',
|
|
38
|
+
'sidebar-border': 'oklch(0.9197 0.0040 286.3202)',
|
|
39
|
+
'sidebar-ring': 'oklch(0.7613 0.1503 231.1314)',
|
|
40
|
+
brand: '#17c1ff',
|
|
41
|
+
'brand-lighter': '#e6f9ff',
|
|
42
|
+
'brand-darker': '#0099ff',
|
|
43
|
+
'font-sans': 'Inter, sans-serif',
|
|
44
|
+
'font-mono': 'Geist Mono, monospace',
|
|
45
|
+
},
|
|
46
|
+
dark: {
|
|
47
|
+
background: 'oklch(0.1408 0.0044 285.8229)',
|
|
48
|
+
foreground: 'oklch(0.9851 0 0)',
|
|
49
|
+
card: 'oklch(0.2103 0.0059 285.8852)',
|
|
50
|
+
'card-foreground': 'oklch(0.9851 0 0)',
|
|
51
|
+
popover: 'oklch(0.2103 0.0059 285.8852)',
|
|
52
|
+
'popover-foreground': 'oklch(0.9851 0 0)',
|
|
53
|
+
primary: 'oklch(0.7613 0.1503 231.1314)',
|
|
54
|
+
'primary-foreground': 'oklch(0.1408 0.0044 285.8229)',
|
|
55
|
+
secondary: 'oklch(0.2739 0.0055 286.0326)',
|
|
56
|
+
'secondary-foreground': 'oklch(0.9851 0 0)',
|
|
57
|
+
muted: 'oklch(0.2739 0.0055 286.0326)',
|
|
58
|
+
'muted-foreground': 'oklch(0.7118 0.0129 286.0665)',
|
|
59
|
+
accent: 'oklch(0.2739 0.0055 286.0326)',
|
|
60
|
+
'accent-foreground': 'oklch(0.9851 0 0)',
|
|
61
|
+
destructive: 'oklch(0.6368 0.2078 25.3313)',
|
|
62
|
+
'destructive-foreground': 'oklch(0.9851 0 0)',
|
|
63
|
+
success: 'hsl(100, 100%, 35%)',
|
|
64
|
+
'success-foreground': 'hsl(0 0% 98%)',
|
|
65
|
+
'dev-mode': 'hsl(204, 86%, 53%)',
|
|
66
|
+
'dev-mode-foreground': 'hsl(0 0% 98%)',
|
|
67
|
+
border: 'oklch(0.2739 0.0055 286.0326)',
|
|
68
|
+
input: 'oklch(0.2739 0.0055 286.0326)',
|
|
69
|
+
ring: 'oklch(0.7613 0.1503 231.1314)',
|
|
70
|
+
'chart-1': 'oklch(0.7613 0.1503 231.1314)',
|
|
71
|
+
'chart-2': 'oklch(0.6268 0.2325 303.9004)',
|
|
72
|
+
'chart-3': 'oklch(0.6450 0.2154 16.4393)',
|
|
73
|
+
'chart-4': 'oklch(0.7686 0.1647 70.0804)',
|
|
74
|
+
'chart-5': 'oklch(0.7227 0.1920 149.5793)',
|
|
75
|
+
sidebar: 'oklch(0.1408 0.0044 285.8229)',
|
|
76
|
+
'sidebar-foreground': 'oklch(0.9851 0 0)',
|
|
77
|
+
'sidebar-primary': 'oklch(0.7613 0.1503 231.1314)',
|
|
78
|
+
'sidebar-primary-foreground': 'oklch(0.1408 0.0044 285.8229)',
|
|
79
|
+
'sidebar-accent': 'oklch(0.2739 0.0055 286.0326)',
|
|
80
|
+
'sidebar-accent-foreground': 'oklch(0.9851 0 0)',
|
|
81
|
+
'sidebar-border': 'oklch(0.2739 0.0055 286.0326)',
|
|
82
|
+
'sidebar-ring': 'oklch(0.7613 0.1503 231.1314)',
|
|
83
|
+
brand: '#17c1ff',
|
|
84
|
+
'brand-lighter': '#e6f9ff',
|
|
85
|
+
'brand-darker': '#0099ff',
|
|
86
|
+
'font-sans': 'Inter, sans-serif',
|
|
87
|
+
'font-mono': 'Geist Mono, monospace',
|
|
88
|
+
},
|
|
89
|
+
};
|
|
90
|
+
export function themeVariablesPlugin(options) {
|
|
91
|
+
const virtualModuleId = 'virtual:admin-theme';
|
|
92
|
+
const resolvedVirtualModuleId = `\0${virtualModuleId}`;
|
|
93
|
+
return {
|
|
94
|
+
name: 'vendure:admin-theme',
|
|
95
|
+
enforce: 'pre', // This ensures our plugin runs before other CSS processors
|
|
96
|
+
transform(code, id) {
|
|
97
|
+
var _a, _b;
|
|
98
|
+
// Only transform CSS files
|
|
99
|
+
if (!id.endsWith('styles.css')) {
|
|
100
|
+
return null;
|
|
101
|
+
}
|
|
102
|
+
// Replace the @import 'virtual:admin-theme'; with our theme variables
|
|
103
|
+
if (code.includes('@import "virtual:admin-theme";') ||
|
|
104
|
+
code.includes("@import 'virtual:admin-theme';")) {
|
|
105
|
+
const lightTheme = ((_a = options.theme) === null || _a === void 0 ? void 0 : _a.light) || {};
|
|
106
|
+
const darkTheme = ((_b = options.theme) === null || _b === void 0 ? void 0 : _b.dark) || {};
|
|
107
|
+
// Merge default themes with custom themes
|
|
108
|
+
const mergedLightTheme = Object.assign(Object.assign({}, defaultVariables.light), lightTheme);
|
|
109
|
+
const mergedDarkTheme = Object.assign(Object.assign({}, defaultVariables.dark), darkTheme);
|
|
110
|
+
const themeCSS = `
|
|
111
|
+
:root {
|
|
112
|
+
${Object.entries(mergedLightTheme)
|
|
113
|
+
.filter(([key, value]) => value !== undefined)
|
|
114
|
+
.map(([key, value]) => `--${key}: ${value};`)
|
|
115
|
+
.join('\n')}
|
|
116
|
+
}
|
|
117
|
+
|
|
118
|
+
.dark {
|
|
119
|
+
${Object.entries(mergedDarkTheme)
|
|
120
|
+
.filter(([key, value]) => value !== undefined)
|
|
121
|
+
.map(([key, value]) => `--${key}: ${value};`)
|
|
122
|
+
.join('\n')}
|
|
123
|
+
}
|
|
124
|
+
`;
|
|
125
|
+
return code.replace(/@import ['"]virtual:admin-theme['"];?/, themeCSS);
|
|
126
|
+
}
|
|
127
|
+
return null;
|
|
128
|
+
},
|
|
129
|
+
};
|
|
130
|
+
}
|
|
@@ -0,0 +1,123 @@
|
|
|
1
|
+
import { LanguageCode } from '@vendure/core';
|
|
2
|
+
import { Plugin } from 'vite';
|
|
3
|
+
export interface ApiConfig {
|
|
4
|
+
/**
|
|
5
|
+
* @description
|
|
6
|
+
* The hostname of the Vendure server which the admin UI will be making API calls
|
|
7
|
+
* to. If set to "auto", the Admin UI app will determine the hostname from the
|
|
8
|
+
* current location (i.e. `window.location.hostname`).
|
|
9
|
+
*
|
|
10
|
+
* @default 'auto'
|
|
11
|
+
*/
|
|
12
|
+
host?: string | 'auto';
|
|
13
|
+
/**
|
|
14
|
+
* @description
|
|
15
|
+
* The port of the Vendure server which the admin UI will be making API calls
|
|
16
|
+
* to. If set to "auto", the Admin UI app will determine the port from the
|
|
17
|
+
* current location (i.e. `window.location.port`).
|
|
18
|
+
*
|
|
19
|
+
* @default 'auto'
|
|
20
|
+
*/
|
|
21
|
+
port?: number | 'auto';
|
|
22
|
+
/**
|
|
23
|
+
* @description
|
|
24
|
+
* The path to the GraphQL Admin API.
|
|
25
|
+
*
|
|
26
|
+
* @default 'admin-api'
|
|
27
|
+
*/
|
|
28
|
+
adminApiPath?: string;
|
|
29
|
+
/**
|
|
30
|
+
* @description
|
|
31
|
+
* Whether to use cookies or bearer tokens to track sessions.
|
|
32
|
+
* Should match the setting of in the server's `tokenMethod` config
|
|
33
|
+
* option.
|
|
34
|
+
*
|
|
35
|
+
* @default 'cookie'
|
|
36
|
+
*/
|
|
37
|
+
tokenMethod?: 'cookie' | 'bearer';
|
|
38
|
+
/**
|
|
39
|
+
* @description
|
|
40
|
+
* The header used when using the 'bearer' auth method. Should match the
|
|
41
|
+
* setting of the server's `authOptions.authTokenHeaderKey` config option.
|
|
42
|
+
*
|
|
43
|
+
* @default 'vendure-auth-token'
|
|
44
|
+
*/
|
|
45
|
+
authTokenHeaderKey?: string;
|
|
46
|
+
/**
|
|
47
|
+
* @description
|
|
48
|
+
* The name of the header which contains the channel token. Should match the
|
|
49
|
+
* setting of the server's `apiOptions.channelTokenKey` config option.
|
|
50
|
+
*
|
|
51
|
+
* @default 'vendure-token'
|
|
52
|
+
*/
|
|
53
|
+
channelTokenKey?: string;
|
|
54
|
+
}
|
|
55
|
+
export interface I18nConfig {
|
|
56
|
+
/**
|
|
57
|
+
* @description
|
|
58
|
+
* The default language for the Admin UI. Must be one of the
|
|
59
|
+
* items specified in the `availableLanguages` property.
|
|
60
|
+
*
|
|
61
|
+
* @default LanguageCode.en
|
|
62
|
+
*/
|
|
63
|
+
defaultLanguage?: LanguageCode;
|
|
64
|
+
/**
|
|
65
|
+
* @description
|
|
66
|
+
* The default locale for the Admin UI. The locale affects the formatting of
|
|
67
|
+
* currencies & dates. Must be one of the items specified
|
|
68
|
+
* in the `availableLocales` property.
|
|
69
|
+
*
|
|
70
|
+
* If not set, the browser default locale will be used.
|
|
71
|
+
*
|
|
72
|
+
* @since 2.2.0
|
|
73
|
+
*/
|
|
74
|
+
defaultLocale?: string;
|
|
75
|
+
/**
|
|
76
|
+
* @description
|
|
77
|
+
* An array of languages for which translations exist for the Admin UI.
|
|
78
|
+
*/
|
|
79
|
+
availableLanguages?: LanguageCode[];
|
|
80
|
+
/**
|
|
81
|
+
* @description
|
|
82
|
+
* An array of locales to be used on Admin UI.
|
|
83
|
+
*
|
|
84
|
+
* @since 2.2.0
|
|
85
|
+
*/
|
|
86
|
+
availableLocales?: string[];
|
|
87
|
+
}
|
|
88
|
+
export interface UiConfigPluginOptions {
|
|
89
|
+
/**
|
|
90
|
+
* @description
|
|
91
|
+
* Configuration for API connection settings
|
|
92
|
+
*/
|
|
93
|
+
api?: ApiConfig;
|
|
94
|
+
/**
|
|
95
|
+
* @description
|
|
96
|
+
* Configuration for internationalization settings
|
|
97
|
+
*/
|
|
98
|
+
i18n?: I18nConfig;
|
|
99
|
+
}
|
|
100
|
+
/**
|
|
101
|
+
* @description
|
|
102
|
+
* The resolved UI configuration with all defaults applied.
|
|
103
|
+
* This is the type of the configuration object available at runtime.
|
|
104
|
+
*/
|
|
105
|
+
export interface ResolvedUiConfig {
|
|
106
|
+
/**
|
|
107
|
+
* @description
|
|
108
|
+
* API connection settings with all defaults applied
|
|
109
|
+
*/
|
|
110
|
+
api: Required<ApiConfig>;
|
|
111
|
+
/**
|
|
112
|
+
* @description
|
|
113
|
+
* Internationalization settings with all defaults applied.
|
|
114
|
+
* Note: defaultLocale remains optional as it can be undefined.
|
|
115
|
+
*/
|
|
116
|
+
i18n: Required<Omit<I18nConfig, 'defaultLocale'>> & Pick<I18nConfig, 'defaultLocale'>;
|
|
117
|
+
}
|
|
118
|
+
/**
|
|
119
|
+
* This Vite plugin scans the configured plugins for any dashboard extensions and dynamically
|
|
120
|
+
* generates an import statement for each one, wrapped up in a `runDashboardExtensions()`
|
|
121
|
+
* function which can then be imported and executed in the Dashboard app.
|
|
122
|
+
*/
|
|
123
|
+
export declare function uiConfigPlugin(options?: UiConfigPluginOptions): Plugin;
|
|
@@ -1,5 +1,4 @@
|
|
|
1
|
-
import
|
|
2
|
-
import { getAdminUiConfig } from './utils/ui-config.js';
|
|
1
|
+
import { getUiConfig } from './utils/ui-config.js';
|
|
3
2
|
import { getConfigLoaderApi } from './vite-plugin-config-loader.js';
|
|
4
3
|
const virtualModuleId = 'virtual:vendure-ui-config';
|
|
5
4
|
const resolvedVirtualModuleId = `\0${virtualModuleId}`;
|
|
@@ -8,7 +7,7 @@ const resolvedVirtualModuleId = `\0${virtualModuleId}`;
|
|
|
8
7
|
* generates an import statement for each one, wrapped up in a `runDashboardExtensions()`
|
|
9
8
|
* function which can then be imported and executed in the Dashboard app.
|
|
10
9
|
*/
|
|
11
|
-
export function uiConfigPlugin(
|
|
10
|
+
export function uiConfigPlugin(options = {}) {
|
|
12
11
|
let configLoaderApi;
|
|
13
12
|
let vendureConfig;
|
|
14
13
|
return {
|
|
@@ -27,7 +26,7 @@ export function uiConfigPlugin({ adminUiConfig }) {
|
|
|
27
26
|
const result = await configLoaderApi.getVendureConfig();
|
|
28
27
|
vendureConfig = result.vendureConfig;
|
|
29
28
|
}
|
|
30
|
-
const config =
|
|
29
|
+
const config = getUiConfig(vendureConfig, options);
|
|
31
30
|
return `
|
|
32
31
|
export const uiConfig = ${JSON.stringify(config)}
|
|
33
32
|
`;
|
|
@@ -35,10 +34,3 @@ export function uiConfigPlugin({ adminUiConfig }) {
|
|
|
35
34
|
},
|
|
36
35
|
};
|
|
37
36
|
}
|
|
38
|
-
/**
|
|
39
|
-
* Converts an import path to a normalized path relative to the rootDir.
|
|
40
|
-
*/
|
|
41
|
-
function normalizeImportPath(rootDir, importPath) {
|
|
42
|
-
const relativePath = path.relative(rootDir, importPath).replace(/\\/g, '/');
|
|
43
|
-
return relativePath.replace(/\.tsx?$/, '.js');
|
|
44
|
-
}
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
import { PluginOption } from 'vite';
|
|
2
|
+
import { PathAdapter } from './types.js';
|
|
3
|
+
import { PackageScannerConfig } from './utils/compiler.js';
|
|
4
|
+
import { ThemeVariablesPluginOptions } from './vite-plugin-theme.js';
|
|
5
|
+
import { UiConfigPluginOptions } from './vite-plugin-ui-config.js';
|
|
6
|
+
/**
|
|
7
|
+
* @description
|
|
8
|
+
* Options for the {@link vendureDashboardPlugin} Vite plugin.
|
|
9
|
+
*/
|
|
10
|
+
export type VitePluginVendureDashboardOptions = {
|
|
11
|
+
/**
|
|
12
|
+
* @description
|
|
13
|
+
* The path to the Vendure server configuration file.
|
|
14
|
+
*/
|
|
15
|
+
vendureConfigPath: string | URL;
|
|
16
|
+
/**
|
|
17
|
+
* @description
|
|
18
|
+
* The {@link PathAdapter} allows you to customize the resolution of paths
|
|
19
|
+
* in the compiled Vendure source code which is used as part of the
|
|
20
|
+
* introspection step of building the dashboard.
|
|
21
|
+
*
|
|
22
|
+
* It enables support for more complex repository structures, such as
|
|
23
|
+
* monorepos, where the Vendure server configuration file may not
|
|
24
|
+
* be located in the root directory of the project.
|
|
25
|
+
*
|
|
26
|
+
* If you get compilation errors like "Error loading Vendure config: Cannot find module",
|
|
27
|
+
* you probably need to provide a custom `pathAdapter` to resolve the paths correctly.
|
|
28
|
+
*
|
|
29
|
+
* @example
|
|
30
|
+
* ```ts
|
|
31
|
+
* vendureDashboardPlugin({
|
|
32
|
+
* tempCompilationDir: join(__dirname, './__vendure-dashboard-temp'),
|
|
33
|
+
* pathAdapter: {
|
|
34
|
+
* getCompiledConfigPath: ({ inputRootDir, outputPath, configFileName }) => {
|
|
35
|
+
* const projectName = inputRootDir.split('/libs/')[1].split('/')[0];
|
|
36
|
+
* const pathAfterProject = inputRootDir.split(`/libs/${projectName}`)[1];
|
|
37
|
+
* const compiledConfigFilePath = `${outputPath}/${projectName}${pathAfterProject}`;
|
|
38
|
+
* return path.join(compiledConfigFilePath, configFileName);
|
|
39
|
+
* },
|
|
40
|
+
* transformTsConfigPathMappings: ({ phase, patterns }) => {
|
|
41
|
+
* // "loading" phase is when the compiled Vendure code is being loaded by
|
|
42
|
+
* // the plugin, in order to introspect the configuration of your app.
|
|
43
|
+
* if (phase === 'loading') {
|
|
44
|
+
* return patterns.map((p) =>
|
|
45
|
+
* p.replace('libs/', '').replace(/.ts$/, '.js'),
|
|
46
|
+
* );
|
|
47
|
+
* }
|
|
48
|
+
* return patterns;
|
|
49
|
+
* },
|
|
50
|
+
* },
|
|
51
|
+
* // ...
|
|
52
|
+
* }),
|
|
53
|
+
* ```
|
|
54
|
+
*/
|
|
55
|
+
pathAdapter?: PathAdapter;
|
|
56
|
+
/**
|
|
57
|
+
* @description
|
|
58
|
+
* The name of the exported variable from the Vendure server configuration file, e.g. `config`.
|
|
59
|
+
* This is only required if the plugin is unable to auto-detect the name of the exported variable.
|
|
60
|
+
*/
|
|
61
|
+
vendureConfigExport?: string;
|
|
62
|
+
/**
|
|
63
|
+
* @description
|
|
64
|
+
* The path to the directory where the generated GraphQL Tada files will be output.
|
|
65
|
+
*/
|
|
66
|
+
gqlOutputPath?: string;
|
|
67
|
+
tempCompilationDir?: string;
|
|
68
|
+
disableTansStackRouterPlugin?: boolean;
|
|
69
|
+
/**
|
|
70
|
+
* @description
|
|
71
|
+
* Allows you to customize the location of node_modules & glob patterns used to scan for potential
|
|
72
|
+
* Vendure plugins installed as npm packages. If not provided, the compiler will attempt to guess
|
|
73
|
+
* the location based on the location of the `@vendure/core` package.
|
|
74
|
+
*/
|
|
75
|
+
pluginPackageScanner?: PackageScannerConfig;
|
|
76
|
+
} & UiConfigPluginOptions & ThemeVariablesPluginOptions;
|
|
77
|
+
/**
|
|
78
|
+
* @description
|
|
79
|
+
* This is a Vite plugin which configures a set of plugins required to build the Vendure Dashboard.
|
|
80
|
+
*/
|
|
81
|
+
export declare function vendureDashboardPlugin(options: VitePluginVendureDashboardOptions): PluginOption[];
|
|
82
|
+
/**
|
|
83
|
+
* Get the normalized path to the Vendure config file given either a string or URL.
|
|
84
|
+
*/
|
|
85
|
+
export declare function getNormalizedVendureConfigPath(vendureConfigPath: string | URL): string;
|
|
@@ -7,6 +7,7 @@ import { configLoaderPlugin } from './vite-plugin-config-loader.js';
|
|
|
7
7
|
import { viteConfigPlugin } from './vite-plugin-config.js';
|
|
8
8
|
import { dashboardMetadataPlugin } from './vite-plugin-dashboard-metadata.js';
|
|
9
9
|
import { gqlTadaPlugin } from './vite-plugin-gql-tada.js';
|
|
10
|
+
import { dashboardTailwindSourcePlugin } from './vite-plugin-tailwind-source.js';
|
|
10
11
|
import { themeVariablesPlugin } from './vite-plugin-theme.js';
|
|
11
12
|
import { transformIndexHtmlPlugin } from './vite-plugin-transform-index.js';
|
|
12
13
|
import { uiConfigPlugin } from './vite-plugin-ui-config.js';
|
|
@@ -31,7 +32,7 @@ export function vendureDashboardPlugin(options) {
|
|
|
31
32
|
: [
|
|
32
33
|
TanStackRouterVite({
|
|
33
34
|
autoCodeSplitting: true,
|
|
34
|
-
routeFileIgnorePattern: '.graphql.ts|components',
|
|
35
|
+
routeFileIgnorePattern: '.graphql.ts|components|hooks|utils',
|
|
35
36
|
routesDirectory: path.join(packageRoot, 'src/app/routes'),
|
|
36
37
|
generatedRouteTree: path.join(packageRoot, 'src/app/routeTree.gen.ts'),
|
|
37
38
|
}),
|
|
@@ -42,18 +43,20 @@ export function vendureDashboardPlugin(options) {
|
|
|
42
43
|
// },
|
|
43
44
|
}),
|
|
44
45
|
themeVariablesPlugin({ theme: options.theme }),
|
|
46
|
+
dashboardTailwindSourcePlugin(),
|
|
45
47
|
tailwindcss(),
|
|
46
48
|
configLoaderPlugin({
|
|
47
49
|
vendureConfigPath: normalizedVendureConfigPath,
|
|
48
|
-
tempDir,
|
|
49
|
-
|
|
50
|
+
outputPath: tempDir,
|
|
51
|
+
pathAdapter: options.pathAdapter,
|
|
52
|
+
pluginPackageScanner: options.pluginPackageScanner,
|
|
50
53
|
}),
|
|
51
54
|
viteConfigPlugin({ packageRoot }),
|
|
52
55
|
adminApiSchemaPlugin(),
|
|
53
|
-
dashboardMetadataPlugin(
|
|
54
|
-
uiConfigPlugin(
|
|
55
|
-
...(options.
|
|
56
|
-
? [gqlTadaPlugin({ gqlTadaOutputPath: options.
|
|
56
|
+
dashboardMetadataPlugin(),
|
|
57
|
+
uiConfigPlugin(options),
|
|
58
|
+
...(options.gqlOutputPath
|
|
59
|
+
? [gqlTadaPlugin({ gqlTadaOutputPath: options.gqlOutputPath, tempDir, packageRoot })]
|
|
57
60
|
: []),
|
|
58
61
|
transformIndexHtmlPlugin(),
|
|
59
62
|
];
|
package/index.html
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
<html lang="en">
|
|
3
3
|
<head>
|
|
4
4
|
<meta charset="UTF-8" />
|
|
5
|
-
<link rel="icon" type="image/
|
|
5
|
+
<link rel="icon" type="image/png" href="/favicon.png" />
|
|
6
6
|
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
|
7
7
|
<meta name="description" content="Vendure Admin Dashboard" />
|
|
8
8
|
<meta name="author" content="Vendure" />
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@vendure/dashboard",
|
|
3
3
|
"private": false,
|
|
4
|
-
"version": "3.4.0
|
|
4
|
+
"version": "3.4.0",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"repository": {
|
|
7
7
|
"type": "git",
|
|
@@ -15,12 +15,14 @@
|
|
|
15
15
|
"scripts": {
|
|
16
16
|
"dev": "vite",
|
|
17
17
|
"build:standalone": "vite build",
|
|
18
|
-
"build": "tsc --project tsconfig.
|
|
19
|
-
"
|
|
18
|
+
"build:vite": "tsc --project tsconfig.vite.json",
|
|
19
|
+
"build:plugin": "tsc --project tsconfig.plugin.json && node scripts/build-plugin.js",
|
|
20
|
+
"build": "npm run build:vite && npm run build:plugin",
|
|
21
|
+
"watch": "tsc --project tsconfig.vite.json --watch",
|
|
20
22
|
"test": "vitest run",
|
|
21
23
|
"lint": "eslint .",
|
|
22
24
|
"preview": "vite preview",
|
|
23
|
-
"generate-index": "node
|
|
25
|
+
"generate-index": "node scripts/generate-index.js"
|
|
24
26
|
},
|
|
25
27
|
"module": "./src/lib/index.ts",
|
|
26
28
|
"main": "./src/lib/index.ts",
|
|
@@ -35,6 +37,11 @@
|
|
|
35
37
|
"types": "./dist/plugin/index.d.ts",
|
|
36
38
|
"import": "./dist/plugin/index.js",
|
|
37
39
|
"require": "./dist/plugin/index.js"
|
|
40
|
+
},
|
|
41
|
+
"./vite": {
|
|
42
|
+
"types": "./dist/vite/index.d.ts",
|
|
43
|
+
"import": "./dist/vite/index.js",
|
|
44
|
+
"require": "./dist/vite/index.js"
|
|
38
45
|
}
|
|
39
46
|
},
|
|
40
47
|
"files": [
|
|
@@ -54,23 +61,32 @@
|
|
|
54
61
|
"@lingui/core": "^5.2.0",
|
|
55
62
|
"@lingui/react": "^5.2.0",
|
|
56
63
|
"@lingui/vite-plugin": "^5.2.0",
|
|
57
|
-
"@radix-ui/react-accordion": "^1.2.
|
|
58
|
-
"@radix-ui/react-alert-dialog": "^1.1.
|
|
59
|
-
"@radix-ui/react-
|
|
60
|
-
"@radix-ui/react-
|
|
61
|
-
"@radix-ui/react-
|
|
62
|
-
"@radix-ui/react-
|
|
63
|
-
"@radix-ui/react-
|
|
64
|
-
"@radix-ui/react-
|
|
65
|
-
"@radix-ui/react-
|
|
66
|
-
"@radix-ui/react-
|
|
67
|
-
"@radix-ui/react-
|
|
68
|
-
"@radix-ui/react-
|
|
69
|
-
"@radix-ui/react-
|
|
70
|
-
"@radix-ui/react-
|
|
71
|
-
"@radix-ui/react-
|
|
72
|
-
"@radix-ui/react-
|
|
73
|
-
"@radix-ui/react-
|
|
64
|
+
"@radix-ui/react-accordion": "^1.2.11",
|
|
65
|
+
"@radix-ui/react-alert-dialog": "^1.1.14",
|
|
66
|
+
"@radix-ui/react-aspect-ratio": "^1.1.7",
|
|
67
|
+
"@radix-ui/react-avatar": "^1.1.10",
|
|
68
|
+
"@radix-ui/react-checkbox": "^1.3.2",
|
|
69
|
+
"@radix-ui/react-collapsible": "^1.1.11",
|
|
70
|
+
"@radix-ui/react-context-menu": "^2.2.15",
|
|
71
|
+
"@radix-ui/react-dialog": "^1.1.14",
|
|
72
|
+
"@radix-ui/react-dropdown-menu": "^2.1.15",
|
|
73
|
+
"@radix-ui/react-hover-card": "^1.1.14",
|
|
74
|
+
"@radix-ui/react-label": "^2.1.7",
|
|
75
|
+
"@radix-ui/react-menubar": "^1.1.15",
|
|
76
|
+
"@radix-ui/react-navigation-menu": "^1.2.13",
|
|
77
|
+
"@radix-ui/react-popover": "^1.1.14",
|
|
78
|
+
"@radix-ui/react-progress": "^1.1.7",
|
|
79
|
+
"@radix-ui/react-radio-group": "^1.3.7",
|
|
80
|
+
"@radix-ui/react-scroll-area": "^1.2.9",
|
|
81
|
+
"@radix-ui/react-select": "^2.2.5",
|
|
82
|
+
"@radix-ui/react-separator": "^1.1.7",
|
|
83
|
+
"@radix-ui/react-slider": "^1.3.5",
|
|
84
|
+
"@radix-ui/react-slot": "^1.2.3",
|
|
85
|
+
"@radix-ui/react-switch": "^1.2.5",
|
|
86
|
+
"@radix-ui/react-tabs": "^1.1.12",
|
|
87
|
+
"@radix-ui/react-toggle": "^1.1.9",
|
|
88
|
+
"@radix-ui/react-toggle-group": "^1.1.10",
|
|
89
|
+
"@radix-ui/react-tooltip": "^1.2.7",
|
|
74
90
|
"@tailwindcss/vite": "^4.1.5",
|
|
75
91
|
"@tanstack/eslint-plugin-query": "^5.66.1",
|
|
76
92
|
"@tanstack/react-query": "^5.66.7",
|
|
@@ -86,35 +102,44 @@
|
|
|
86
102
|
"@types/react-dom": "^19.0.4",
|
|
87
103
|
"@types/react-grid-layout": "^1.3.5",
|
|
88
104
|
"@uidotdev/usehooks": "^2.4.1",
|
|
89
|
-
"@vendure/common": "
|
|
90
|
-
"@vendure/core": "
|
|
105
|
+
"@vendure/common": "3.4.0",
|
|
106
|
+
"@vendure/core": "3.4.0",
|
|
91
107
|
"@vitejs/plugin-react": "^4.3.4",
|
|
108
|
+
"acorn": "^8.11.3",
|
|
109
|
+
"acorn-walk": "^8.3.2",
|
|
92
110
|
"awesome-graphql-client": "^2.1.0",
|
|
93
111
|
"class-variance-authority": "^0.7.1",
|
|
94
112
|
"clsx": "^2.1.1",
|
|
95
|
-
"cmdk": "^1.
|
|
96
|
-
"date-fns": "^
|
|
113
|
+
"cmdk": "^1.1.1",
|
|
114
|
+
"date-fns": "^4.0.0",
|
|
115
|
+
"embla-carousel-react": "^8.6.0",
|
|
116
|
+
"express-rate-limit": "^7.5.0",
|
|
117
|
+
"fast-glob": "^3.3.2",
|
|
118
|
+
"fs-extra": "^11.2.0",
|
|
97
119
|
"gql.tada": "^1.8.10",
|
|
98
120
|
"graphql": "^16.10.0",
|
|
121
|
+
"input-otp": "^1.4.2",
|
|
99
122
|
"json-edit-react": "^1.23.1",
|
|
100
123
|
"lucide-react": "^0.475.0",
|
|
101
124
|
"motion": "^12.6.2",
|
|
102
125
|
"next-themes": "^0.4.6",
|
|
103
126
|
"react": "^19.0.0",
|
|
104
|
-
"react-day-picker": "^9.
|
|
127
|
+
"react-day-picker": "^9.8.0",
|
|
105
128
|
"react-dom": "^19.0.0",
|
|
106
129
|
"react-dropzone": "^14.3.8",
|
|
107
130
|
"react-grid-layout": "^1.5.1",
|
|
108
|
-
"react-hook-form": "^7.
|
|
109
|
-
"
|
|
110
|
-
"
|
|
131
|
+
"react-hook-form": "^7.60.0",
|
|
132
|
+
"react-resizable-panels": "^3.0.3",
|
|
133
|
+
"recharts": "^2.15.4",
|
|
134
|
+
"sonner": "^2.0.6",
|
|
111
135
|
"tailwind-merge": "^3.2.0",
|
|
112
136
|
"tailwindcss": "^4.1.5",
|
|
113
137
|
"tailwindcss-animate": "^1.0.7",
|
|
114
138
|
"tsconfig-paths": "^4.2.0",
|
|
115
139
|
"tw-animate-css": "^1.2.9",
|
|
140
|
+
"vaul": "^1.1.2",
|
|
116
141
|
"vite": "^6.3.5",
|
|
117
|
-
"zod": "^3.
|
|
142
|
+
"zod": "^3.25.76"
|
|
118
143
|
},
|
|
119
144
|
"devDependencies": {
|
|
120
145
|
"@eslint/js": "^9.19.0",
|
|
@@ -130,5 +155,5 @@
|
|
|
130
155
|
"lightningcss-linux-arm64-musl": "^1.29.3",
|
|
131
156
|
"lightningcss-linux-x64-musl": "^1.29.1"
|
|
132
157
|
},
|
|
133
|
-
"gitHead": "
|
|
158
|
+
"gitHead": "3591ce29f36b43706a1b10819b52012bb2e789cc"
|
|
134
159
|
}
|