Skip to content

Commit b8e4632

Browse files
authored
fix(clerk-js): Add descriptor for formatted dates in tables (#3465)
1 parent 73e5d61 commit b8e4632

File tree

6 files changed

+40
-6
lines changed

6 files changed

+40
-6
lines changed

.changeset/warm-candles-thank.md

+6
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
---
2+
'@clerk/clerk-js': minor
3+
'@clerk/types': minor
4+
---
5+
6+
Add descriptor for formatted dates in tables. Those elements can be identified by the `cl-formattedDate__tableCell` css class.

packages/clerk-js/src/ui/components/OrganizationProfile/ActiveMembersList.tsx

+10-2
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ import { useOrganization, useUser } from '@clerk/shared/react';
22
import type { OrganizationMembershipResource } from '@clerk/types';
33

44
import { Protect } from '../../common/Gate';
5-
import { Badge, localizationKeys, Td, Text } from '../../customizables';
5+
import { Badge, Box, descriptors, localizationKeys, Td, Text } from '../../customizables';
66
import { ThreeDotsMenu, useCardState, UserPreview } from '../../elements';
77
import { useFetchRoles, useLocalizeCustomRoles } from '../../hooks/useFetchRoles';
88
import { handleError } from '../../utils';
@@ -91,7 +91,15 @@ const MemberRow = (props: {
9191
badge={isCurrentUser && <Badge localizationKey={localizationKeys('badge__you')} />}
9292
/>
9393
</Td>
94-
<Td>{membership.createdAt.toLocaleDateString()}</Td>
94+
<Td>
95+
<Box
96+
as='span'
97+
elementDescriptor={descriptors.formattedDate}
98+
elementId={descriptors.formattedDate.setId('tableCell')}
99+
>
100+
{membership.createdAt.toLocaleDateString()}
101+
</Box>
102+
</Td>
95103
<Td>
96104
<Protect
97105
permission={'org:sys_memberships:manage'}

packages/clerk-js/src/ui/components/OrganizationProfile/InvitedMembersList.tsx

+10-2
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import { useOrganization } from '@clerk/shared/react';
22
import type { OrganizationInvitationResource } from '@clerk/types';
33

4-
import { localizationKeys, Td, Text } from '../../customizables';
4+
import { Box, descriptors, localizationKeys, Td, Text } from '../../customizables';
55
import { ThreeDotsMenu, useCardState, UserPreview } from '../../elements';
66
import { useFetchRoles, useLocalizeCustomRoles } from '../../hooks/useFetchRoles';
77
import { handleError } from '../../utils';
@@ -79,7 +79,15 @@ const InvitationRow = (props: {
7979
user={{ primaryEmailAddress: { emailAddress: invitation.emailAddress } } as any}
8080
/>
8181
</Td>
82-
<Td>{invitation.createdAt.toLocaleDateString()}</Td>
82+
<Td>
83+
<Box
84+
as='span'
85+
elementDescriptor={descriptors.formattedDate}
86+
elementId={descriptors.formattedDate.setId('tableCell')}
87+
>
88+
{invitation.createdAt.toLocaleDateString()}
89+
</Box>
90+
</Td>
8391
<Td>
8492
<Text
8593
colorScheme='secondary'

packages/clerk-js/src/ui/components/OrganizationProfile/RequestToJoinList.tsx

+10-2
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import { useOrganization } from '@clerk/shared/react';
22
import type { OrganizationMembershipRequestResource } from '@clerk/types';
33

4-
import { Button, Flex, localizationKeys, Td } from '../../customizables';
4+
import { Box, Button, descriptors, Flex, localizationKeys, Td } from '../../customizables';
55
import { useCardState, UserPreview, withCardStateProvider } from '../../elements';
66
import { handleError } from '../../utils';
77
import { DataTable, RowContainer } from './MemberListTable';
@@ -84,7 +84,15 @@ const RequestRow = withCardStateProvider(
8484
user={{ primaryEmailAddress: { emailAddress: request.publicUserData.identifier } } as any}
8585
/>
8686
</Td>
87-
<Td>{request.createdAt.toLocaleDateString()}</Td>
87+
<Td>
88+
<Box
89+
as='span'
90+
elementDescriptor={descriptors.formattedDate}
91+
elementId={descriptors.formattedDate.setId('tableCell')}
92+
>
93+
{request.createdAt.toLocaleDateString()}
94+
</Box>
95+
</Td>
8896

8997
<Td>
9098
<AcceptRejectRequestButtons {...{ onAccept, onReject }} />

packages/clerk-js/src/ui/customizables/elementDescriptors.ts

+2
Original file line numberDiff line numberDiff line change
@@ -228,6 +228,8 @@ export const APPEARANCE_KEYS = containsAllElementsConfigKeys([
228228
'formattedPhoneNumberFlag',
229229
'formattedPhoneNumberText',
230230

231+
'formattedDate',
232+
231233
'scrollBox',
232234

233235
'navbar',

packages/types/src/appearance.ts

+2
Original file line numberDiff line numberDiff line change
@@ -353,6 +353,8 @@ export type ElementsConfig = {
353353
formattedPhoneNumberFlag: WithOptions;
354354
formattedPhoneNumberText: WithOptions;
355355

356+
formattedDate: WithOptions<'tableCell'>;
357+
356358
scrollBox: WithOptions;
357359

358360
navbar: WithOptions;

0 commit comments

Comments
 (0)