Skip to content

Commit a8715ac

Browse files
committed
revert: undo usage of strict polymorph type
1 parent 6c2f23f commit a8715ac

6 files changed

Lines changed: 54 additions & 54 deletions

File tree

apps/dev/package.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,8 +14,8 @@
1414
"@hookform/resolvers": "5.2.2",
1515
"@iconify/react": "6.0.2",
1616
"@zayne-labs/callapi": "1.11.46",
17-
"@zayne-labs/toolkit-core": "0.12.35",
18-
"@zayne-labs/toolkit-react": "0.12.35",
17+
"@zayne-labs/toolkit-core": "0.12.36",
18+
"@zayne-labs/toolkit-react": "0.12.36",
1919
"@zayne-labs/ui-react": "workspace:*",
2020
"react": "19.2.4",
2121
"react-dom": "19.2.4",

packages/ui-react/package.json

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -61,9 +61,9 @@
6161
}
6262
},
6363
"dependencies": {
64-
"@zayne-labs/toolkit-core": "0.12.35",
65-
"@zayne-labs/toolkit-react": "0.12.35",
66-
"@zayne-labs/toolkit-type-helpers": "0.12.35"
64+
"@zayne-labs/toolkit-core": "0.12.36",
65+
"@zayne-labs/toolkit-react": "0.12.36",
66+
"@zayne-labs/toolkit-type-helpers": "0.12.36"
6767
},
6868
"devDependencies": {
6969
"@arethetypeswrong/cli": "0.18.2",

packages/ui-react/src/components/ui/card/card.tsx

Lines changed: 15 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,101 +1,101 @@
1-
import type { PolymorphicPropsStrict } from "@zayne-labs/toolkit-react/utils";
1+
import type { PolymorphicProps } from "@zayne-labs/toolkit-react/utils";
22
import { Slot } from "@/components/common/slot";
33
import { cnMerge } from "@/lib/utils/cn";
44

55
export function CardRoot<TElement extends React.ElementType = "article">(
6-
props: PolymorphicPropsStrict<TElement, { asChild?: boolean }>
6+
props: PolymorphicProps<TElement, { asChild?: boolean; className?: string }>
77
) {
88
const { as: Element = "article", asChild, className, ...restOfProps } = props;
99

1010
const Component = asChild ? Slot.Root : Element;
1111

1212
return (
1313
<Component
14+
data-slot="card-root"
1415
data-scope="card"
1516
data-part="root"
16-
data-slot="card-root"
1717
className={cnMerge("flex flex-col", className)}
1818
{...restOfProps}
1919
/>
2020
);
2121
}
2222

2323
export function CardHeader<TElement extends React.ElementType = "header">(
24-
props: PolymorphicPropsStrict<TElement, { asChild?: boolean }>
24+
props: PolymorphicProps<TElement, { asChild?: boolean; className?: string }>
2525
) {
2626
const { as: Element = "header", asChild, className, ...restOfProps } = props;
2727

2828
const Component = asChild ? Slot.Root : Element;
2929

3030
return (
3131
<Component
32+
data-slot="card-header"
3233
data-scope="card"
3334
data-part="header"
34-
data-slot="card-header"
3535
className={className}
3636
{...restOfProps}
3737
/>
3838
);
3939
}
4040

4141
export function CardTitle<TElement extends React.ElementType = "h3">(
42-
props: PolymorphicPropsStrict<TElement>
42+
props: PolymorphicProps<TElement, { className?: string }>
4343
) {
4444
const { as: Element = "h3", className, ...restOfProps } = props;
4545

4646
return (
4747
<Element
48+
data-slot="card-title"
4849
data-scope="card"
4950
data-part="title"
50-
data-slot="card-title"
5151
className={cnMerge("leading-none font-semibold", className)}
5252
{...restOfProps}
5353
/>
5454
);
5555
}
5656

5757
export function CardDescription<TElement extends React.ElementType = "p">(
58-
props: PolymorphicPropsStrict<TElement>
58+
props: PolymorphicProps<TElement, { className?: string }>
5959
) {
6060
const { as: Element = "p", className, ...restOfProps } = props;
6161

6262
return (
6363
<Element
64+
data-slot="card-description"
6465
data-scope="card"
6566
data-part="description"
66-
data-slot="card-description"
6767
className={cnMerge("text-sm text-zu-muted-foreground", className)}
6868
{...restOfProps}
6969
/>
7070
);
7171
}
7272

7373
export function CardContent<TElement extends React.ElementType = "div">(
74-
props: PolymorphicPropsStrict<TElement>
74+
props: PolymorphicProps<TElement, { className?: string }>
7575
) {
7676
const { as: Element = "div", className, ...restOfProps } = props;
7777

7878
return (
7979
<Element
80+
data-slot="card-content"
8081
data-scope="card"
8182
data-part="content"
82-
data-slot="card-content"
8383
className={className}
8484
{...restOfProps}
8585
/>
8686
);
8787
}
8888

8989
export function CardAction<TElement extends React.ElementType = "button">(
90-
props: PolymorphicPropsStrict<TElement>
90+
props: PolymorphicProps<TElement, { className?: string }>
9191
) {
9292
const { as: Element = "button", className, ...restOfProps } = props;
9393

9494
return (
9595
<Element
96+
data-slot="card-action"
9697
data-scope="card"
9798
data-part="action"
98-
data-slot="card-action"
9999
type="button"
100100
className={className}
101101
{...restOfProps}
@@ -104,17 +104,17 @@ export function CardAction<TElement extends React.ElementType = "button">(
104104
}
105105

106106
export function CardFooter<TElement extends React.ElementType = "footer">(
107-
props: PolymorphicPropsStrict<TElement, { asChild?: boolean }>
107+
props: PolymorphicProps<TElement, { asChild?: boolean; className?: string }>
108108
) {
109109
const { as: Element = "footer", asChild, className, ...restOfProps } = props;
110110

111111
const Component = asChild ? Slot.Root : Element;
112112

113113
return (
114114
<Component
115+
data-slot="card-footer"
115116
data-scope="card"
116117
data-part="footer"
117-
data-slot="card-footer"
118118
className={className}
119119
{...restOfProps}
120120
/>

packages/ui-react/src/components/ui/drop-zone/use-drop-zone.ts

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ import { useCallback, useMemo, useRef } from "react";
55
import { cnMerge } from "@/lib/utils/cn";
66
import { createDropZoneStore } from "./drop-zone-store";
77
import type { DropZonePropGetters, UseDropZoneProps, UseDropZoneResult } from "./types";
8-
import { getScopeAttrs } from "./utils";
8+
import { getDropZoneScopeAttrs } from "./utils";
99

1010
export const useDropZone = (props?: UseDropZoneProps): UseDropZoneResult => {
1111
const {
@@ -103,7 +103,7 @@ export const useDropZone = (props?: UseDropZoneProps): UseDropZoneResult => {
103103
!isDisabled && !disableFilePickerOpenOnAreaClick ? actions.handleKeyDown : undefined;
104104

105105
return {
106-
...getScopeAttrs("container"),
106+
...getDropZoneScopeAttrs("container"),
107107
role: "region",
108108
...(!disableInternalStateSubscription && {
109109
"data-drag-over": dataAttr(isDraggingOver),
@@ -157,7 +157,7 @@ export const useDropZone = (props?: UseDropZoneProps): UseDropZoneResult => {
157157
const onFileChange = !isDisabled ? actions.handleChange : undefined;
158158

159159
return {
160-
...getScopeAttrs("input"),
160+
...getDropZoneScopeAttrs("input"),
161161
...(!disableInternalStateSubscription && { "data-drag-over": dataAttr(isDraggingOver) }),
162162
...innerProps,
163163
accept: allowedFileTypes ? allowedFileTypes.join(", ") : innerProps.accept,
@@ -186,7 +186,7 @@ export const useDropZone = (props?: UseDropZoneProps): UseDropZoneResult => {
186186
const isDisabled = innerProps.disabled ?? disabled;
187187

188188
return {
189-
...getScopeAttrs("trigger"),
189+
...getDropZoneScopeAttrs("trigger"),
190190
type: "button",
191191
...innerProps,
192192
"data-disabled": dataAttr(isDisabled),
@@ -202,7 +202,7 @@ export const useDropZone = (props?: UseDropZoneProps): UseDropZoneResult => {
202202
const { orientation = "vertical", unstyled = globalUnstyled, ...restOfInnerProps } = innerProps;
203203

204204
return {
205-
...getScopeAttrs("file-list"),
205+
...getDropZoneScopeAttrs("file-list"),
206206
"data-orientation": orientation,
207207
...restOfInnerProps,
208208
...(!unstyled && {
@@ -222,7 +222,7 @@ export const useDropZone = (props?: UseDropZoneProps): UseDropZoneResult => {
222222
const { unstyled = globalUnstyled, ...restOfInnerProps } = innerProps;
223223

224224
return {
225-
...getScopeAttrs("file-item"),
225+
...getDropZoneScopeAttrs("file-item"),
226226
...restOfInnerProps,
227227
...(!unstyled && {
228228
className: cnMerge(
@@ -241,7 +241,7 @@ export const useDropZone = (props?: UseDropZoneProps): UseDropZoneResult => {
241241
const { unstyled = globalUnstyled, variant = "linear", ...restOfInnerProps } = innerProps;
242242

243243
return {
244-
...getScopeAttrs("file-item-progress"),
244+
...getDropZoneScopeAttrs("file-item-progress"),
245245
role: "progressbar",
246246
...restOfInnerProps,
247247
...(!unstyled && {
@@ -270,7 +270,7 @@ export const useDropZone = (props?: UseDropZoneProps): UseDropZoneResult => {
270270
const onRemoveFile = () => fileStateOrID && actions.removeFile({ fileStateOrID });
271271

272272
return {
273-
...getScopeAttrs("file-item-delete"),
273+
...getDropZoneScopeAttrs("file-item-delete"),
274274
type: "button",
275275
...restOfInnerProps,
276276
"data-disabled": dataAttr(isDisabled),
@@ -287,7 +287,7 @@ export const useDropZone = (props?: UseDropZoneProps): UseDropZoneResult => {
287287
const { unstyled = globalUnstyled, ...restOfInnerProps } = innerProps;
288288

289289
return {
290-
...getScopeAttrs("file-item-preview"),
290+
...getDropZoneScopeAttrs("file-item-preview"),
291291
...restOfInnerProps,
292292
...(!unstyled && {
293293
className: cnMerge(
@@ -306,7 +306,7 @@ export const useDropZone = (props?: UseDropZoneProps): UseDropZoneResult => {
306306
const { unstyled = globalUnstyled, ...restOfInnerProps } = innerProps;
307307

308308
return {
309-
...getScopeAttrs("file-item-metadata"),
309+
...getDropZoneScopeAttrs("file-item-metadata"),
310310
...restOfInnerProps,
311311
...(!unstyled && {
312312
className: cnMerge("flex min-w-0 grow flex-col", innerProps.className),
@@ -321,7 +321,7 @@ export const useDropZone = (props?: UseDropZoneProps): UseDropZoneResult => {
321321
const isDisabled = innerProps.disabled ?? disabled;
322322

323323
return {
324-
...getScopeAttrs("file-item-clear"),
324+
...getDropZoneScopeAttrs("file-item-clear"),
325325
type: "button",
326326
...innerProps,
327327
"data-disabled": dataAttr(isDisabled),

packages/ui-react/src/components/ui/drop-zone/utils.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,7 @@ type FromCamelToKebabCase<TString extends string> =
5959
: `${First}${FromCamelToKebabCase<Rest>}`
6060
: "";
6161

62-
export const getScopeAttrs = (part: FromCamelToKebabCase<keyof PartProps>) => {
62+
export const getDropZoneScopeAttrs = (part: FromCamelToKebabCase<keyof PartProps>) => {
6363
return {
6464
/* eslint-disable perfectionist/sort-objects -- I need this order to be maintained */
6565
"data-slot": `dropzone-${part}`,

pnpm-lock.yaml

Lines changed: 22 additions & 22 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)