@vendure/dashboard 3.5.0-minor-202510161257 → 3.5.0-minor-202510201346
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/package.json +4 -4
- package/src/app/routes/_authenticated/_orders/orders.tsx +2 -0
- package/src/app/routes/_authenticated/_product-variants/product-variants.tsx +2 -0
- package/src/lib/components/data-input/{password-input.stories.tsx → password-form-input.stories.tsx} +9 -9
- package/src/lib/components/data-input/{password-input.tsx → password-form-input.tsx} +1 -1
- package/src/lib/components/ui/password-input.tsx +3 -7
- package/src/lib/framework/alert/alert-item.tsx +2 -2
- package/src/lib/framework/extension-api/input-component-extensions.tsx +2 -2
- package/src/lib/hooks/use-alerts.ts +2 -2
- package/src/lib/index.ts +13 -7
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@vendure/dashboard",
|
|
3
3
|
"private": false,
|
|
4
|
-
"version": "3.5.0-minor-
|
|
4
|
+
"version": "3.5.0-minor-202510201346",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"repository": {
|
|
7
7
|
"type": "git",
|
|
@@ -154,8 +154,8 @@
|
|
|
154
154
|
"@storybook/addon-vitest": "^10.0.0-beta.9",
|
|
155
155
|
"@storybook/react-vite": "^10.0.0-beta.9",
|
|
156
156
|
"@types/node": "^22.13.4",
|
|
157
|
-
"@vendure/common": "^3.5.0-minor-
|
|
158
|
-
"@vendure/core": "^3.5.0-minor-
|
|
157
|
+
"@vendure/common": "^3.5.0-minor-202510201346",
|
|
158
|
+
"@vendure/core": "^3.5.0-minor-202510201346",
|
|
159
159
|
"@vitest/browser": "^3.2.4",
|
|
160
160
|
"@vitest/coverage-v8": "^3.2.4",
|
|
161
161
|
"eslint": "^9.19.0",
|
|
@@ -172,5 +172,5 @@
|
|
|
172
172
|
"lightningcss-linux-arm64-musl": "^1.29.3",
|
|
173
173
|
"lightningcss-linux-x64-musl": "^1.29.1"
|
|
174
174
|
},
|
|
175
|
-
"gitHead": "
|
|
175
|
+
"gitHead": "6701c9ee1a7f79763fc710486a60d6fd5529c16b"
|
|
176
176
|
}
|
|
@@ -61,9 +61,11 @@ function OrderListPage() {
|
|
|
61
61
|
route={Route}
|
|
62
62
|
customizeColumns={{
|
|
63
63
|
total: {
|
|
64
|
+
meta: { dependencies: ['currencyCode'] },
|
|
64
65
|
cell: OrderMoneyCell,
|
|
65
66
|
},
|
|
66
67
|
totalWithTax: {
|
|
68
|
+
meta: { dependencies: ['currencyCode'] },
|
|
67
69
|
cell: OrderMoneyCell,
|
|
68
70
|
},
|
|
69
71
|
state: {
|
|
@@ -61,11 +61,13 @@ function ProductListPage() {
|
|
|
61
61
|
cell: ({ row: { original } }) => formatCurrencyName(original.currencyCode, 'full'),
|
|
62
62
|
},
|
|
63
63
|
price: {
|
|
64
|
+
meta: { dependencies: ['currencyCode'] },
|
|
64
65
|
cell: ({ row: { original } }) => (
|
|
65
66
|
<Money value={original.price} currency={original.currencyCode} />
|
|
66
67
|
),
|
|
67
68
|
},
|
|
68
69
|
priceWithTax: {
|
|
70
|
+
meta: { dependencies: ['currencyCode'] },
|
|
69
71
|
cell: ({ row: { original } }) => (
|
|
70
72
|
<Money value={original.priceWithTax} currency={original.currencyCode} />
|
|
71
73
|
),
|
package/src/lib/components/data-input/{password-input.stories.tsx → password-form-input.stories.tsx}
RENAMED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import type { Meta, StoryObj } from '@storybook/react-vite';
|
|
2
2
|
import { useForm } from 'react-hook-form';
|
|
3
3
|
import { withDescription } from '../../../.storybook/with-description.js';
|
|
4
|
-
import {
|
|
4
|
+
import { PasswordFormInput } from './password-form-input.js';
|
|
5
5
|
|
|
6
6
|
const meta = {
|
|
7
|
-
title: 'Form Inputs/
|
|
8
|
-
component:
|
|
9
|
-
...withDescription(import.meta.url, './password-input.js'),
|
|
7
|
+
title: 'Form Inputs/PasswordFormInput',
|
|
8
|
+
component: PasswordFormInput,
|
|
9
|
+
...withDescription(import.meta.url, './password-form-input.js'),
|
|
10
10
|
parameters: {
|
|
11
11
|
layout: 'centered',
|
|
12
12
|
},
|
|
@@ -21,7 +21,7 @@ const meta = {
|
|
|
21
21
|
description: 'Whether the input is disabled',
|
|
22
22
|
},
|
|
23
23
|
},
|
|
24
|
-
} satisfies Meta<typeof
|
|
24
|
+
} satisfies Meta<typeof PasswordFormInput>;
|
|
25
25
|
|
|
26
26
|
export default meta;
|
|
27
27
|
type Story = StoryObj<typeof meta>;
|
|
@@ -36,7 +36,7 @@ export const Playground: Story = {
|
|
|
36
36
|
const field = register('password');
|
|
37
37
|
return (
|
|
38
38
|
<div className="w-[300px]">
|
|
39
|
-
<
|
|
39
|
+
<PasswordFormInput {...field} {...args} />
|
|
40
40
|
</div>
|
|
41
41
|
);
|
|
42
42
|
},
|
|
@@ -49,15 +49,15 @@ export const ChangePassword: Story = {
|
|
|
49
49
|
<div className="w-[300px] space-y-4">
|
|
50
50
|
<div className="space-y-2">
|
|
51
51
|
<label className="text-sm font-medium">Current Password</label>
|
|
52
|
-
<
|
|
52
|
+
<PasswordFormInput {...register('currentPassword')} />
|
|
53
53
|
</div>
|
|
54
54
|
<div className="space-y-2">
|
|
55
55
|
<label className="text-sm font-medium">New Password</label>
|
|
56
|
-
<
|
|
56
|
+
<PasswordFormInput {...register('newPassword')} />
|
|
57
57
|
</div>
|
|
58
58
|
<div className="space-y-2">
|
|
59
59
|
<label className="text-sm font-medium">Confirm New Password</label>
|
|
60
|
-
<
|
|
60
|
+
<PasswordFormInput {...register('confirmPassword')} />
|
|
61
61
|
</div>
|
|
62
62
|
</div>
|
|
63
63
|
);
|
|
@@ -9,7 +9,7 @@ import { Input } from '../ui/input.js';
|
|
|
9
9
|
* @docsCategory form-components
|
|
10
10
|
* @docsPage PasswordInput
|
|
11
11
|
*/
|
|
12
|
-
export function
|
|
12
|
+
export function PasswordFormInput(props: Readonly<DashboardFormComponentProps>) {
|
|
13
13
|
const readOnly = props.disabled || isReadonlyField(props.fieldDef);
|
|
14
14
|
return (
|
|
15
15
|
<Input
|
|
@@ -1,18 +1,14 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { useLingui } from '@lingui/react/macro';
|
|
2
2
|
import { Eye, EyeOff } from 'lucide-react';
|
|
3
3
|
import * as React from 'react';
|
|
4
4
|
|
|
5
|
-
import {
|
|
6
|
-
InputGroup,
|
|
7
|
-
InputGroupAddon,
|
|
8
|
-
InputGroupButton,
|
|
9
|
-
InputGroupInput,
|
|
10
|
-
} from './input-group.js';
|
|
5
|
+
import { InputGroup, InputGroupAddon, InputGroupButton, InputGroupInput } from './input-group.js';
|
|
11
6
|
|
|
12
7
|
type PasswordInputProps = Readonly<Omit<React.ComponentProps<'input'>, 'type'>>;
|
|
13
8
|
|
|
14
9
|
function PasswordInput({ ...props }: PasswordInputProps) {
|
|
15
10
|
const [showPassword, setShowPassword] = React.useState(false);
|
|
11
|
+
const { t } = useLingui();
|
|
16
12
|
|
|
17
13
|
return (
|
|
18
14
|
<InputGroup>
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { Button } from '@/vdb/components/ui/button.js';
|
|
2
|
-
import {
|
|
2
|
+
import { AlertEntry } from '@/vdb/hooks/use-alerts.js';
|
|
3
3
|
import { cn } from '@/vdb/lib/utils.js';
|
|
4
4
|
import { ComponentProps } from 'react';
|
|
5
5
|
|
|
6
6
|
interface AlertItemProps extends ComponentProps<'div'> {
|
|
7
|
-
alert:
|
|
7
|
+
alert: AlertEntry;
|
|
8
8
|
}
|
|
9
9
|
|
|
10
10
|
export function AlertItem({ alert, className, ...props }: Readonly<AlertItemProps>) {
|
|
@@ -8,7 +8,7 @@ import {
|
|
|
8
8
|
RichTextInput,
|
|
9
9
|
SelectWithOptions,
|
|
10
10
|
} from '@/vdb/components/data-input/index.js';
|
|
11
|
-
import {
|
|
11
|
+
import { PasswordFormInput } from '@/vdb/components/data-input/password-form-input.js';
|
|
12
12
|
import { TextareaInput } from '@/vdb/components/data-input/textarea-input.js';
|
|
13
13
|
import { DashboardFormComponent } from '@/vdb/framework/form-engine/form-engine-types.js';
|
|
14
14
|
import { globalRegistry } from '../registry/global-registry.js';
|
|
@@ -32,7 +32,7 @@ inputComponents.set('json-editor-form-input', TextareaInput);
|
|
|
32
32
|
inputComponents.set('textarea-form-input', TextareaInput);
|
|
33
33
|
inputComponents.set('html-editor-form-input', RichTextInput);
|
|
34
34
|
inputComponents.set('rich-text-form-input', RichTextInput);
|
|
35
|
-
inputComponents.set('password-form-input',
|
|
35
|
+
inputComponents.set('password-form-input', PasswordFormInput);
|
|
36
36
|
inputComponents.set('product-selector-form-input', DefaultProductInput);
|
|
37
37
|
inputComponents.set('relation-form-input', DefaultRelationInput);
|
|
38
38
|
inputComponents.set('select-form-input', SelectWithOptions);
|
|
@@ -10,7 +10,7 @@ import { useMemo } from 'react';
|
|
|
10
10
|
* @docsPage useAlerts
|
|
11
11
|
* @since 3.5.0
|
|
12
12
|
*/
|
|
13
|
-
export interface
|
|
13
|
+
export interface AlertEntry {
|
|
14
14
|
definition: DashboardAlertDefinition;
|
|
15
15
|
active: boolean;
|
|
16
16
|
currentSeverity?: AlertSeverity;
|
|
@@ -28,7 +28,7 @@ export interface Alert {
|
|
|
28
28
|
* @docsWeight 0
|
|
29
29
|
* @since 3.5.0
|
|
30
30
|
*/
|
|
31
|
-
export function useAlerts(): { alerts:
|
|
31
|
+
export function useAlerts(): { alerts: AlertEntry[]; activeCount: number; highestSeverity: AlertSeverity } {
|
|
32
32
|
const { alertDefs, rawResults, dismissedAlerts, setDismissedAlerts } = useAlertsContext();
|
|
33
33
|
|
|
34
34
|
const alerts = useMemo(() => {
|
package/src/lib/index.ts
CHANGED
|
@@ -16,7 +16,7 @@ export * from './components/data-input/default-relation-input.js';
|
|
|
16
16
|
export * from './components/data-input/facet-value-input.js';
|
|
17
17
|
export * from './components/data-input/money-input.js';
|
|
18
18
|
export * from './components/data-input/number-input.js';
|
|
19
|
-
export * from './components/data-input/password-input.js';
|
|
19
|
+
export * from './components/data-input/password-form-input.js';
|
|
20
20
|
export * from './components/data-input/product-multi-selector-input.js';
|
|
21
21
|
export * from './components/data-input/relation-input.js';
|
|
22
22
|
export * from './components/data-input/relation-selector.js';
|
|
@@ -27,11 +27,13 @@ export * from './components/data-input/struct-form-input.js';
|
|
|
27
27
|
export * from './components/data-input/text-input.js';
|
|
28
28
|
export * from './components/data-input/textarea-input.js';
|
|
29
29
|
export * from './components/data-table/add-filter-menu.js';
|
|
30
|
+
export * from './components/data-table/column-header-wrapper.js';
|
|
30
31
|
export * from './components/data-table/data-table-bulk-action-item.js';
|
|
31
32
|
export * from './components/data-table/data-table-bulk-actions.js';
|
|
32
33
|
export * from './components/data-table/data-table-column-header.js';
|
|
33
34
|
export * from './components/data-table/data-table-context.js';
|
|
34
35
|
export * from './components/data-table/data-table-faceted-filter.js';
|
|
36
|
+
export * from './components/data-table/data-table-filter-badge-editable.js';
|
|
35
37
|
export * from './components/data-table/data-table-filter-badge.js';
|
|
36
38
|
export * from './components/data-table/data-table-filter-dialog.js';
|
|
37
39
|
export * from './components/data-table/data-table-pagination.js';
|
|
@@ -160,12 +162,14 @@ export * from './components/ui/dropdown-menu.js';
|
|
|
160
162
|
export * from './components/ui/form.js';
|
|
161
163
|
export * from './components/ui/grid-layout.js';
|
|
162
164
|
export * from './components/ui/hover-card.js';
|
|
165
|
+
export * from './components/ui/input-group.js';
|
|
163
166
|
export * from './components/ui/input-otp.js';
|
|
164
167
|
export * from './components/ui/input.js';
|
|
165
168
|
export * from './components/ui/label.js';
|
|
166
169
|
export * from './components/ui/menubar.js';
|
|
167
170
|
export * from './components/ui/navigation-menu.js';
|
|
168
171
|
export * from './components/ui/pagination.js';
|
|
172
|
+
export * from './components/ui/password-input.js';
|
|
169
173
|
export * from './components/ui/popover.js';
|
|
170
174
|
export * from './components/ui/progress.js';
|
|
171
175
|
export * from './components/ui/radio-group.js';
|
|
@@ -174,6 +178,7 @@ export * from './components/ui/scroll-area.js';
|
|
|
174
178
|
export * from './components/ui/select.js';
|
|
175
179
|
export * from './components/ui/separator.js';
|
|
176
180
|
export * from './components/ui/sheet.js';
|
|
181
|
+
export * from './components/ui/sidebar-context.js';
|
|
177
182
|
export * from './components/ui/sidebar.js';
|
|
178
183
|
export * from './components/ui/skeleton.js';
|
|
179
184
|
export * from './components/ui/slider.js';
|
|
@@ -188,6 +193,7 @@ export * from './components/ui/tooltip.js';
|
|
|
188
193
|
export * from './framework/alert/alert-extensions.js';
|
|
189
194
|
export * from './framework/alert/alert-item.js';
|
|
190
195
|
export * from './framework/alert/alerts-indicator.js';
|
|
196
|
+
export * from './framework/alert/search-index-buffer-alert/search-index-buffer-alert.js';
|
|
191
197
|
export * from './framework/component-registry/component-registry.js';
|
|
192
198
|
export * from './framework/component-registry/display-component.js';
|
|
193
199
|
export * from './framework/dashboard-widget/base-widget.js';
|
|
@@ -251,7 +257,6 @@ export * from './framework/layout-engine/page-provider.js';
|
|
|
251
257
|
export * from './framework/nav-menu/nav-menu-extensions.js';
|
|
252
258
|
export * from './framework/page/detail-page-route-loader.js';
|
|
253
259
|
export * from './framework/page/detail-page.js';
|
|
254
|
-
export * from './framework/page/list-page.stories.js';
|
|
255
260
|
export * from './framework/page/list-page.js';
|
|
256
261
|
export * from './framework/page/page-api.js';
|
|
257
262
|
export * from './framework/page/page-types.js';
|
|
@@ -259,6 +264,12 @@ export * from './framework/page/use-detail-page.js';
|
|
|
259
264
|
export * from './framework/page/use-extended-router.js';
|
|
260
265
|
export * from './framework/registry/global-registry.js';
|
|
261
266
|
export * from './framework/registry/registry-types.js';
|
|
267
|
+
export * from './graphql/api.js';
|
|
268
|
+
export * from './graphql/common-operations.js';
|
|
269
|
+
export * from './graphql/fragments.js';
|
|
270
|
+
export * from './graphql/graphql.js';
|
|
271
|
+
export * from './graphql/settings-store-operations.js';
|
|
272
|
+
export * from './hooks/use-alerts.js';
|
|
262
273
|
export * from './hooks/use-auth.js';
|
|
263
274
|
export * from './hooks/use-channel.js';
|
|
264
275
|
export * from './hooks/use-custom-field-config.js';
|
|
@@ -281,8 +292,3 @@ export * from './hooks/use-user-settings.js';
|
|
|
281
292
|
export * from './lib/load-i18n-messages.js';
|
|
282
293
|
export * from './lib/trans.js';
|
|
283
294
|
export * from './lib/utils.js';
|
|
284
|
-
export * from './graphql/api.js';
|
|
285
|
-
export * from './graphql/common-operations.js';
|
|
286
|
-
export * from './graphql/fragments.js';
|
|
287
|
-
export * from './graphql/graphql.js';
|
|
288
|
-
export * from './graphql/settings-store-operations.js';
|