Skip to content

Commit c9a945c

Browse files
committed
Merge remote-tracking branch 'refs/remotes/origin/main'
2 parents cef6ff5 + b519801 commit c9a945c

5 files changed

Lines changed: 100 additions & 61 deletions

File tree

packages/ui/src/elements/Button/index.css

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -207,6 +207,16 @@
207207
min-width: var(--spacer-4);
208208
min-height: var(--spacer-4);
209209
}
210+
211+
/* temp until icons setup */
212+
.btn__icon {
213+
width: var(--spacer-4);
214+
height: var(--spacer-4);
215+
}
216+
.btn__icon svg {
217+
min-width: var(--spacer-4);
218+
min-height: var(--spacer-4);
219+
}
210220
}
211221

212222
.btn--style-subtle {

packages/ui/src/fields/Array/index.css

Lines changed: 30 additions & 43 deletions
Original file line numberDiff line numberDiff line change
@@ -6,61 +6,65 @@
66
}
77

88
.array-field__header {
9-
display: flex;
10-
flex-direction: column;
11-
gap: var(--spacer-2);
12-
}
13-
14-
.array-field__header__header-content {
159
display: flex;
1610
flex-direction: column;
1711
gap: var(--spacer-1);
1812
}
1913

20-
.array-field--has-no-error > .array-field__header .array-field__header-content {
21-
color: var(--text-default);
22-
}
23-
24-
.array-field--has-error > .array-field__header .array-field__header-content {
25-
color: var(--text-danger-default);
26-
}
27-
28-
.array-field__header-content {
14+
.array-field__header-wrap {
2915
display: flex;
3016
align-items: center;
31-
gap: 0.625rem;
17+
justify-content: space-between;
18+
width: 100%;
19+
gap: var(--spacer-2);
3220
}
3321

34-
.array-field__header-wrap {
22+
.array-field__header-content {
3523
display: flex;
36-
align-items: flex-end;
37-
width: 100%;
38-
justify-content: space-between;
24+
align-items: center;
25+
gap: var(--spacer-2);
3926
}
4027

4128
.array-field__header-actions {
4229
list-style: none;
4330
margin: 0;
4431
padding: 0;
4532
display: flex;
46-
color: var(--text-default);
33+
align-items: center;
34+
flex-shrink: 0;
35+
color: var(--text-default-default);
36+
gap: var(--spacer-1);
37+
38+
& > li:last-child .array-field__header-action {
39+
padding: 0;
40+
}
41+
42+
@media (max-width: 768px) {
43+
& > li:not(:last-child) {
44+
display: none;
45+
}
46+
}
4747
}
4848

4949
.array-field__header-action {
5050
cursor: pointer;
51-
margin-left: 0.625rem;
51+
padding: var(--spacer-1) var(--spacer-2);
52+
border-radius: var(--radius-medium);
5253

5354
&:hover,
5455
&:focus-visible {
55-
text-decoration: underline;
56-
color: var(--text-secondary);
56+
background: var(--bg-transparent-hover);
57+
}
58+
59+
&:active {
60+
background: var(--bg-transparent-pressed);
5761
}
5862
}
5963

6064
.array-field__row-header {
6165
display: flex;
6266
align-items: center;
63-
gap: 0.625rem;
67+
gap: var(--spacer-2);
6468
pointer-events: none;
6569
}
6670

@@ -76,23 +80,6 @@
7680

7781
.array-field__add-row.btn {
7882
align-self: flex-start;
79-
margin: 2px 0;
80-
color: var(--text-tertiary);
81-
82-
&:hover:not(:disabled) {
83-
color: var(--text-default);
84-
}
85-
86-
&:disabled {
87-
color: var(--text-disabled-default);
88-
}
89-
90-
.btn__icon {
91-
border-color: currentColor;
92-
93-
path {
94-
stroke: currentColor;
95-
}
96-
}
83+
margin: 0;
9784
}
9885
}

packages/ui/src/fields/Array/index.tsx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,7 @@ import { extractRowsAndCollapsedIDs, toggleAllRows } from '../../forms/Form/rowH
3131
import { NullifyLocaleField } from '../../forms/NullifyField/index.js'
3232
import { useField } from '../../forms/useField/index.js'
3333
import { withCondition } from '../../forms/withCondition/index.js'
34+
import { CirclePlusIcon } from '../../icons/CirclePlus/index.js'
3435
import { useConfig } from '../../providers/Config/index.js'
3536
import { useDocumentInfo } from '../../providers/DocumentInfo/index.js'
3637
import { useLocale } from '../../providers/Locale/index.js'
@@ -475,9 +476,8 @@ export const ArrayFieldComponent: ArrayFieldClientComponent = (props) => {
475476
buttonStyle="icon-label"
476477
className={`${baseClass}__add-row`}
477478
disabled={disabled}
478-
icon="plus"
479+
icon={<CirclePlusIcon />}
479480
iconPosition="left"
480-
iconStyle="with-border"
481481
onClick={() => {
482482
void addRow(value || 0)
483483
}}

test/v4/collections/Array/index.ts

Lines changed: 56 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -6,31 +6,30 @@ const ArrayFields: CollectionConfig = {
66
slug: arrayFieldsSlug,
77
fields: [
88
{
9-
name: 'rows',
9+
name: 'arrayField',
1010
type: 'array',
11-
label: 'Rows',
1211
fields: [
1312
{
14-
name: 'nestedTextField',
13+
name: 'name',
1514
type: 'text',
16-
label: 'Nested Text Field',
1715
},
16+
],
17+
},
18+
{
19+
name: 'arrayWithRequiredField',
20+
type: 'array',
21+
fields: [
1822
{
19-
name: 'nestedSelect',
20-
type: 'select',
21-
label: 'Nested Select',
22-
options: [
23-
{ label: 'Option 1', value: 'option-1' },
24-
{ label: 'Option 2', value: 'option-2' },
25-
{ label: 'Option 3', value: 'option-3' },
26-
],
23+
name: 'name',
24+
type: 'text',
25+
required: true,
2726
},
2827
],
2928
},
3029
{
31-
name: 'teamMembers',
30+
name: 'minRows',
3231
type: 'array',
33-
label: 'Team Members',
32+
label: 'With Min Rows',
3433
minRows: 2,
3534
fields: [
3635
{
@@ -40,6 +39,49 @@ const ArrayFields: CollectionConfig = {
4039
},
4140
],
4241
},
42+
{
43+
name: 'nestedArray',
44+
type: 'array',
45+
label: 'Nested Array',
46+
fields: [
47+
{
48+
name: 'nestedArrayField',
49+
type: 'array',
50+
label: 'Nested Array Field',
51+
fields: [
52+
{
53+
name: 'name',
54+
type: 'text',
55+
required: true,
56+
},
57+
],
58+
},
59+
],
60+
},
61+
{
62+
name: 'arrayWithMaxRows',
63+
type: 'array',
64+
maxRows: 1,
65+
fields: [
66+
{
67+
name: 'name',
68+
type: 'text',
69+
},
70+
],
71+
},
72+
{
73+
name: 'arrayWithDescription',
74+
type: 'array',
75+
admin: {
76+
description: 'Add items to this array field.',
77+
},
78+
fields: [
79+
{
80+
name: 'name',
81+
type: 'text',
82+
},
83+
],
84+
},
4385
],
4486
}
4587

test/v4/payload-types.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1151,6 +1151,6 @@ export interface Auth {
11511151

11521152

11531153
declare module 'payload' {
1154-
// @ts-ignore
1154+
// @ts-ignore
11551155
export interface GeneratedTypes extends Config {}
1156-
}
1156+
}

0 commit comments

Comments
 (0)