@tribepad/themis 1.0.0 → 1.0.1
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/dist/elements/Accordion/index.js +325 -66
- package/dist/elements/Accordion/index.js.map +1 -1
- package/dist/elements/Accordion/index.mjs +317 -3
- package/dist/elements/Accordion/index.mjs.map +1 -1
- package/dist/elements/Avatar/index.js +461 -45
- package/dist/elements/Avatar/index.js.map +1 -1
- package/dist/elements/Avatar/index.mjs +456 -3
- package/dist/elements/Avatar/index.mjs.map +1 -1
- package/dist/elements/Badge/index.js +238 -36
- package/dist/elements/Badge/index.js.map +1 -1
- package/dist/elements/Badge/index.mjs +234 -4
- package/dist/elements/Badge/index.mjs.map +1 -1
- package/dist/elements/Breadcrumbs/index.js +808 -39
- package/dist/elements/Breadcrumbs/index.js.map +1 -1
- package/dist/elements/Breadcrumbs/index.mjs +810 -7
- package/dist/elements/Breadcrumbs/index.mjs.map +1 -1
- package/dist/elements/Button/index.js +282 -19
- package/dist/elements/Button/index.js.map +1 -1
- package/dist/elements/Button/index.mjs +283 -4
- package/dist/elements/Button/index.mjs.map +1 -1
- package/dist/elements/ButtonGroup/index.js +229 -56
- package/dist/elements/ButtonGroup/index.js.map +1 -1
- package/dist/elements/ButtonGroup/index.mjs +222 -3
- package/dist/elements/ButtonGroup/index.mjs.map +1 -1
- package/dist/elements/Card/Card.d.ts.map +1 -1
- package/dist/elements/Card/index.js +563 -67
- package/dist/elements/Card/index.js.map +1 -1
- package/dist/elements/Card/index.mjs +560 -6
- package/dist/elements/Card/index.mjs.map +1 -1
- package/dist/elements/Carousel/index.js +782 -14
- package/dist/elements/Carousel/index.js.map +1 -1
- package/dist/elements/Carousel/index.mjs +786 -8
- package/dist/elements/Carousel/index.mjs.map +1 -1
- package/dist/elements/Chart/index.js +1833 -36
- package/dist/elements/Chart/index.js.map +1 -1
- package/dist/elements/Chart/index.mjs +1832 -4
- package/dist/elements/Chart/index.mjs.map +1 -1
- package/dist/elements/Checkbox/index.js +310 -39
- package/dist/elements/Checkbox/index.js.map +1 -1
- package/dist/elements/Checkbox/index.mjs +306 -4
- package/dist/elements/Checkbox/index.mjs.map +1 -1
- package/dist/elements/CheckboxGroup/index.js +445 -59
- package/dist/elements/CheckboxGroup/index.js.map +1 -1
- package/dist/elements/CheckboxGroup/index.mjs +439 -4
- package/dist/elements/CheckboxGroup/index.mjs.map +1 -1
- package/dist/elements/DatePicker/index.js +871 -89
- package/dist/elements/DatePicker/index.js.map +1 -1
- package/dist/elements/DatePicker/index.mjs +853 -4
- package/dist/elements/DatePicker/index.mjs.map +1 -1
- package/dist/elements/Dropdown/index.js +189 -35
- package/dist/elements/Dropdown/index.js.map +1 -1
- package/dist/elements/Dropdown/index.mjs +184 -2
- package/dist/elements/Dropdown/index.mjs.map +1 -1
- package/dist/elements/FileField/index.js +1532 -129
- package/dist/elements/FileField/index.js.map +1 -1
- package/dist/elements/FileField/index.mjs +1507 -7
- package/dist/elements/FileField/index.mjs.map +1 -1
- package/dist/elements/FormLayout/index.js +166 -11
- package/dist/elements/FormLayout/index.js.map +1 -1
- package/dist/elements/FormLayout/index.mjs +167 -2
- package/dist/elements/FormLayout/index.mjs.map +1 -1
- package/dist/elements/Modal/index.js +228 -46
- package/dist/elements/Modal/index.js.map +1 -1
- package/dist/elements/Modal/index.mjs +220 -1
- package/dist/elements/Modal/index.mjs.map +1 -1
- package/dist/elements/NumberField/index.js +659 -48
- package/dist/elements/NumberField/index.js.map +1 -1
- package/dist/elements/NumberField/index.mjs +654 -6
- package/dist/elements/NumberField/index.mjs.map +1 -1
- package/dist/elements/OTPInput/index.js +729 -6
- package/dist/elements/OTPInput/index.js.map +1 -1
- package/dist/elements/OTPInput/index.mjs +732 -2
- package/dist/elements/OTPInput/index.mjs.map +1 -1
- package/dist/elements/Panel/index.js +326 -27
- package/dist/elements/Panel/index.js.map +1 -1
- package/dist/elements/Panel/index.mjs +323 -2
- package/dist/elements/Panel/index.mjs.map +1 -1
- package/dist/elements/Progress/index.js +181 -22
- package/dist/elements/Progress/index.js.map +1 -1
- package/dist/elements/Progress/index.mjs +181 -3
- package/dist/elements/Progress/index.mjs.map +1 -1
- package/dist/elements/RadioGroup/index.js +358 -34
- package/dist/elements/RadioGroup/index.js.map +1 -1
- package/dist/elements/RadioGroup/index.mjs +359 -4
- package/dist/elements/RadioGroup/index.mjs.map +1 -1
- package/dist/elements/Resizable/components/ResizableHandle.d.ts +0 -8
- package/dist/elements/Resizable/components/ResizableHandle.d.ts.map +1 -1
- package/dist/elements/Resizable/components/ResizablePanel.d.ts +0 -8
- package/dist/elements/Resizable/components/ResizablePanel.d.ts.map +1 -1
- package/dist/elements/Resizable/components/ResizablePanelGroup.d.ts +0 -8
- package/dist/elements/Resizable/components/ResizablePanelGroup.d.ts.map +1 -1
- package/dist/elements/Resizable/components/ResizablePopover.d.ts +0 -8
- package/dist/elements/Resizable/components/ResizablePopover.d.ts.map +1 -1
- package/dist/elements/Resizable/index.js +1568 -51
- package/dist/elements/Resizable/index.js.map +1 -1
- package/dist/elements/Resizable/index.mjs +1566 -6
- package/dist/elements/Resizable/index.mjs.map +1 -1
- package/dist/elements/Select/index.js +580 -22
- package/dist/elements/Select/index.js.map +1 -1
- package/dist/elements/Select/index.mjs +582 -2
- package/dist/elements/Select/index.mjs.map +1 -1
- package/dist/elements/Skeleton/index.js +77 -15
- package/dist/elements/Skeleton/index.js.map +1 -1
- package/dist/elements/Skeleton/index.mjs +78 -3
- package/dist/elements/Skeleton/index.mjs.map +1 -1
- package/dist/elements/Switch/index.js +153 -21
- package/dist/elements/Switch/index.js.map +1 -1
- package/dist/elements/Switch/index.mjs +149 -5
- package/dist/elements/Switch/index.mjs.map +1 -1
- package/dist/elements/Table/index.js +589 -68
- package/dist/elements/Table/index.js.map +1 -1
- package/dist/elements/Table/index.mjs +578 -5
- package/dist/elements/Table/index.mjs.map +1 -1
- package/dist/elements/Tabs/index.js +328 -63
- package/dist/elements/Tabs/index.js.map +1 -1
- package/dist/elements/Tabs/index.mjs +320 -3
- package/dist/elements/Tabs/index.mjs.map +1 -1
- package/dist/elements/TextField/index.js +695 -51
- package/dist/elements/TextField/index.js.map +1 -1
- package/dist/elements/TextField/index.mjs +684 -7
- package/dist/elements/TextField/index.mjs.map +1 -1
- package/dist/elements/TimeField/index.js +244 -33
- package/dist/elements/TimeField/index.js.map +1 -1
- package/dist/elements/TimeField/index.mjs +238 -2
- package/dist/elements/TimeField/index.mjs.map +1 -1
- package/dist/elements/Toast/index.js +727 -48
- package/dist/elements/Toast/index.js.map +1 -1
- package/dist/elements/Toast/index.mjs +724 -5
- package/dist/elements/Toast/index.mjs.map +1 -1
- package/dist/elements/Tooltip/index.js +315 -49
- package/dist/elements/Tooltip/index.js.map +1 -1
- package/dist/elements/Tooltip/index.mjs +310 -4
- package/dist/elements/Tooltip/index.mjs.map +1 -1
- package/dist/elements/index.js +12417 -799
- package/dist/elements/index.js.map +1 -1
- package/dist/elements/index.mjs +12233 -40
- package/dist/elements/index.mjs.map +1 -1
- package/dist/index.js +12452 -825
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +12262 -42
- package/dist/index.mjs.map +1 -1
- package/dist/schemas/index.js +47 -21
- package/dist/schemas/index.js.map +1 -1
- package/dist/schemas/index.mjs +47 -2
- package/dist/schemas/index.mjs.map +1 -1
- package/dist/styles/index.js +161 -147
- package/dist/styles/index.js.map +1 -1
- package/dist/styles/index.mjs +128 -2
- package/dist/styles/index.mjs.map +1 -1
- package/dist/utils/index.js +7 -7
- package/dist/utils/index.js.map +1 -1
- package/dist/utils/index.mjs +9 -2
- package/dist/utils/index.mjs.map +1 -1
- package/package.json +1 -1
- package/dist/Carousel-NTZX5TOW.js +0 -16
- package/dist/Carousel-NTZX5TOW.js.map +0 -1
- package/dist/Carousel-YH3DOQJU.mjs +0 -7
- package/dist/Carousel-YH3DOQJU.mjs.map +0 -1
- package/dist/chunk-2HIUTHMU.mjs +0 -234
- package/dist/chunk-2HIUTHMU.mjs.map +0 -1
- package/dist/chunk-34GTFTDO.js +0 -431
- package/dist/chunk-34GTFTDO.js.map +0 -1
- package/dist/chunk-3H7ASYR7.js +0 -250
- package/dist/chunk-3H7ASYR7.js.map +0 -1
- package/dist/chunk-3IEN7JOP.js +0 -316
- package/dist/chunk-3IEN7JOP.js.map +0 -1
- package/dist/chunk-3JHN4GAL.js +0 -326
- package/dist/chunk-3JHN4GAL.js.map +0 -1
- package/dist/chunk-3MJPASQU.js +0 -232
- package/dist/chunk-3MJPASQU.js.map +0 -1
- package/dist/chunk-3XD2JUL3.js +0 -572
- package/dist/chunk-3XD2JUL3.js.map +0 -1
- package/dist/chunk-3YOY2VJ6.js +0 -189
- package/dist/chunk-3YOY2VJ6.js.map +0 -1
- package/dist/chunk-4DU5JSXB.js +0 -408
- package/dist/chunk-4DU5JSXB.js.map +0 -1
- package/dist/chunk-4E4E2GSS.js +0 -352
- package/dist/chunk-4E4E2GSS.js.map +0 -1
- package/dist/chunk-4NHAP4AN.mjs +0 -3
- package/dist/chunk-4NHAP4AN.mjs.map +0 -1
- package/dist/chunk-4S33J5NY.mjs +0 -415
- package/dist/chunk-4S33J5NY.mjs.map +0 -1
- package/dist/chunk-5SMGRT3G.mjs +0 -354
- package/dist/chunk-5SMGRT3G.mjs.map +0 -1
- package/dist/chunk-5SVLJN2C.mjs +0 -22
- package/dist/chunk-5SVLJN2C.mjs.map +0 -1
- package/dist/chunk-66WTU4EB.mjs +0 -299
- package/dist/chunk-66WTU4EB.mjs.map +0 -1
- package/dist/chunk-6S25NMOT.mjs +0 -335
- package/dist/chunk-6S25NMOT.mjs.map +0 -1
- package/dist/chunk-6SP7UB3D.js +0 -4
- package/dist/chunk-6SP7UB3D.js.map +0 -1
- package/dist/chunk-6TYWWQHM.mjs +0 -565
- package/dist/chunk-6TYWWQHM.mjs.map +0 -1
- package/dist/chunk-A3YUJA6W.mjs +0 -384
- package/dist/chunk-A3YUJA6W.mjs.map +0 -1
- package/dist/chunk-A6KEDVUR.js +0 -61
- package/dist/chunk-A6KEDVUR.js.map +0 -1
- package/dist/chunk-A77RUEWL.js +0 -730
- package/dist/chunk-A77RUEWL.js.map +0 -1
- package/dist/chunk-AA4IKMPE.mjs +0 -3
- package/dist/chunk-AA4IKMPE.mjs.map +0 -1
- package/dist/chunk-AKIA6GW6.mjs +0 -163
- package/dist/chunk-AKIA6GW6.mjs.map +0 -1
- package/dist/chunk-AL6P275L.mjs +0 -435
- package/dist/chunk-AL6P275L.mjs.map +0 -1
- package/dist/chunk-AZ3RJYTB.js +0 -37
- package/dist/chunk-AZ3RJYTB.js.map +0 -1
- package/dist/chunk-B5Q4UPL6.js +0 -32
- package/dist/chunk-B5Q4UPL6.js.map +0 -1
- package/dist/chunk-B6DHPMDP.mjs +0 -335
- package/dist/chunk-B6DHPMDP.mjs.map +0 -1
- package/dist/chunk-BDXKKMBZ.mjs +0 -184
- package/dist/chunk-BDXKKMBZ.mjs.map +0 -1
- package/dist/chunk-BL6E2DLZ.mjs +0 -52
- package/dist/chunk-BL6E2DLZ.mjs.map +0 -1
- package/dist/chunk-CGFDS4XS.mjs +0 -121
- package/dist/chunk-CGFDS4XS.mjs.map +0 -1
- package/dist/chunk-CJIW5TKI.js +0 -139
- package/dist/chunk-CJIW5TKI.js.map +0 -1
- package/dist/chunk-CKNISJOQ.js +0 -314
- package/dist/chunk-CKNISJOQ.js.map +0 -1
- package/dist/chunk-D6CBOECS.mjs +0 -1757
- package/dist/chunk-D6CBOECS.mjs.map +0 -1
- package/dist/chunk-DDWEVC2S.js +0 -166
- package/dist/chunk-DDWEVC2S.js.map +0 -1
- package/dist/chunk-DZ556D2F.mjs +0 -176
- package/dist/chunk-DZ556D2F.mjs.map +0 -1
- package/dist/chunk-E2KQFV3O.mjs +0 -10
- package/dist/chunk-E2KQFV3O.mjs.map +0 -1
- package/dist/chunk-EMMLADSC.js +0 -126
- package/dist/chunk-EMMLADSC.js.map +0 -1
- package/dist/chunk-EP4WOI5D.mjs +0 -926
- package/dist/chunk-EP4WOI5D.mjs.map +0 -1
- package/dist/chunk-FJRXLJC2.mjs +0 -160
- package/dist/chunk-FJRXLJC2.mjs.map +0 -1
- package/dist/chunk-FKQI434R.js +0 -345
- package/dist/chunk-FKQI434R.js.map +0 -1
- package/dist/chunk-FPKEAJRZ.mjs +0 -100
- package/dist/chunk-FPKEAJRZ.mjs.map +0 -1
- package/dist/chunk-FWQYB22U.js +0 -183
- package/dist/chunk-FWQYB22U.js.map +0 -1
- package/dist/chunk-GD5GHTMA.js +0 -189
- package/dist/chunk-GD5GHTMA.js.map +0 -1
- package/dist/chunk-GE5XTSDZ.js +0 -447
- package/dist/chunk-GE5XTSDZ.js.map +0 -1
- package/dist/chunk-GVE47ZAX.mjs +0 -32
- package/dist/chunk-GVE47ZAX.mjs.map +0 -1
- package/dist/chunk-HK46BT5U.mjs +0 -18
- package/dist/chunk-HK46BT5U.mjs.map +0 -1
- package/dist/chunk-HQVRMR6N.js +0 -365
- package/dist/chunk-HQVRMR6N.js.map +0 -1
- package/dist/chunk-HSGBJPJO.mjs +0 -398
- package/dist/chunk-HSGBJPJO.mjs.map +0 -1
- package/dist/chunk-I3AUTOMZ.mjs +0 -125
- package/dist/chunk-I3AUTOMZ.mjs.map +0 -1
- package/dist/chunk-IEI5LD5C.mjs +0 -1161
- package/dist/chunk-IEI5LD5C.mjs.map +0 -1
- package/dist/chunk-IIPTC2X7.mjs +0 -118
- package/dist/chunk-IIPTC2X7.mjs.map +0 -1
- package/dist/chunk-J7TLHF2Q.js +0 -4
- package/dist/chunk-J7TLHF2Q.js.map +0 -1
- package/dist/chunk-JJOWXFXQ.mjs +0 -765
- package/dist/chunk-JJOWXFXQ.mjs.map +0 -1
- package/dist/chunk-JPTSS2OA.mjs +0 -3
- package/dist/chunk-JPTSS2OA.mjs.map +0 -1
- package/dist/chunk-KFXXRLTP.js +0 -396
- package/dist/chunk-KFXXRLTP.js.map +0 -1
- package/dist/chunk-KPRRBSG6.mjs +0 -272
- package/dist/chunk-KPRRBSG6.mjs.map +0 -1
- package/dist/chunk-NFSBGRDB.mjs +0 -57
- package/dist/chunk-NFSBGRDB.mjs.map +0 -1
- package/dist/chunk-NGJVCFTM.js +0 -219
- package/dist/chunk-NGJVCFTM.js.map +0 -1
- package/dist/chunk-NSQ6MZJ6.mjs +0 -728
- package/dist/chunk-NSQ6MZJ6.mjs.map +0 -1
- package/dist/chunk-NYQYHT76.mjs +0 -296
- package/dist/chunk-NYQYHT76.mjs.map +0 -1
- package/dist/chunk-OLJJGI5B.js +0 -1193
- package/dist/chunk-OLJJGI5B.js.map +0 -1
- package/dist/chunk-Q3572X2J.js +0 -292
- package/dist/chunk-Q3572X2J.js.map +0 -1
- package/dist/chunk-QH7N7D4I.mjs +0 -210
- package/dist/chunk-QH7N7D4I.mjs.map +0 -1
- package/dist/chunk-R7XUIV25.js +0 -466
- package/dist/chunk-R7XUIV25.js.map +0 -1
- package/dist/chunk-RFFO4KPM.js +0 -135
- package/dist/chunk-RFFO4KPM.js.map +0 -1
- package/dist/chunk-RFX7QKA7.mjs +0 -180
- package/dist/chunk-RFX7QKA7.mjs.map +0 -1
- package/dist/chunk-SN5LFAP3.js +0 -940
- package/dist/chunk-SN5LFAP3.js.map +0 -1
- package/dist/chunk-T4COXKQ3.js +0 -24
- package/dist/chunk-T4COXKQ3.js.map +0 -1
- package/dist/chunk-TS54QM27.js +0 -125
- package/dist/chunk-TS54QM27.js.map +0 -1
- package/dist/chunk-UE2S4PCX.mjs +0 -220
- package/dist/chunk-UE2S4PCX.mjs.map +0 -1
- package/dist/chunk-UTW3QX2A.mjs +0 -282
- package/dist/chunk-UTW3QX2A.mjs.map +0 -1
- package/dist/chunk-V74LGMAE.js +0 -1767
- package/dist/chunk-V74LGMAE.js.map +0 -1
- package/dist/chunk-VIREG536.js +0 -12
- package/dist/chunk-VIREG536.js.map +0 -1
- package/dist/chunk-VY7M7346.js +0 -4
- package/dist/chunk-VY7M7346.js.map +0 -1
- package/dist/chunk-W3TJOO7H.mjs +0 -319
- package/dist/chunk-W3TJOO7H.mjs.map +0 -1
- package/dist/chunk-WIUOB36M.js +0 -54
- package/dist/chunk-WIUOB36M.js.map +0 -1
- package/dist/chunk-WJGLM4CY.js +0 -291
- package/dist/chunk-WJGLM4CY.js.map +0 -1
- package/dist/chunk-WNURH5OO.mjs +0 -453
- package/dist/chunk-WNURH5OO.mjs.map +0 -1
- package/dist/chunk-X25TNRSD.mjs +0 -364
- package/dist/chunk-X25TNRSD.mjs.map +0 -1
- package/dist/chunk-Y3GT7ETK.js +0 -108
- package/dist/chunk-Y3GT7ETK.js.map +0 -1
- package/dist/chunk-Z4FRNOF6.mjs +0 -115
- package/dist/chunk-Z4FRNOF6.mjs.map +0 -1
- package/dist/chunk-ZMYLD3BN.js +0 -166
- package/dist/chunk-ZMYLD3BN.js.map +0 -1
- package/dist/chunk-ZP2KV6EX.js +0 -815
- package/dist/chunk-ZP2KV6EX.js.map +0 -1
- package/dist/chunk-ZVKXFELU.js +0 -366
- package/dist/chunk-ZVKXFELU.js.map +0 -1
package/dist/chunk-WJGLM4CY.js
DELETED
|
@@ -1,291 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
var chunk3YOY2VJ6_js = require('./chunk-3YOY2VJ6.js');
|
|
4
|
-
var chunkVIREG536_js = require('./chunk-VIREG536.js');
|
|
5
|
-
var chunkT4COXKQ3_js = require('./chunk-T4COXKQ3.js');
|
|
6
|
-
var react = require('react');
|
|
7
|
-
var lucideReact = require('lucide-react');
|
|
8
|
-
var zod = require('zod');
|
|
9
|
-
var classVarianceAuthority = require('class-variance-authority');
|
|
10
|
-
var jsxRuntime = require('react/jsx-runtime');
|
|
11
|
-
|
|
12
|
-
var FlipButtonPositionSchema = zod.z.enum([
|
|
13
|
-
"top-right",
|
|
14
|
-
"top-left",
|
|
15
|
-
"bottom-right",
|
|
16
|
-
"bottom-left"
|
|
17
|
-
]);
|
|
18
|
-
var FlipButtonLabelSchema = zod.z.object({
|
|
19
|
-
show: zod.z.string().optional(),
|
|
20
|
-
hide: zod.z.string().optional()
|
|
21
|
-
});
|
|
22
|
-
var FlipButtonIconSchema = zod.z.object({
|
|
23
|
-
/** Icon to show on front side button (default: RotateCcw) */
|
|
24
|
-
front: zod.z.custom().optional(),
|
|
25
|
-
/** Icon to show on back side button (default: same as front or RotateCcw) */
|
|
26
|
-
back: zod.z.custom().optional()
|
|
27
|
-
});
|
|
28
|
-
var CardPropsSchema = chunkT4COXKQ3_js.BaseComponentPropsSchema.extend({
|
|
29
|
-
// Flip functionality
|
|
30
|
-
/** Enable flip animation feature */
|
|
31
|
-
flippable: zod.z.boolean().optional().default(false),
|
|
32
|
-
/** Content to display on the back side of the card */
|
|
33
|
-
backContent: zod.z.custom().optional(),
|
|
34
|
-
/** Controlled mode: current flip state */
|
|
35
|
-
isFlipped: zod.z.boolean().optional(),
|
|
36
|
-
/** Uncontrolled mode: initial flip state */
|
|
37
|
-
defaultFlipped: zod.z.boolean().optional().default(false),
|
|
38
|
-
/** Callback fired when flip state changes */
|
|
39
|
-
onFlipChange: zod.z.custom().optional(),
|
|
40
|
-
// Flip button configuration
|
|
41
|
-
/** Position of the flip button on the card */
|
|
42
|
-
flipButtonPosition: FlipButtonPositionSchema.optional().default("top-right"),
|
|
43
|
-
/** Custom labels for the flip button title attribute */
|
|
44
|
-
flipButtonLabel: FlipButtonLabelSchema.optional(),
|
|
45
|
-
/** Custom icons for the flip button (default: RotateCcw) */
|
|
46
|
-
flipButtonIcon: FlipButtonIconSchema.optional(),
|
|
47
|
-
/** Duration of flip animation in milliseconds */
|
|
48
|
-
flipDuration: zod.z.number().optional().default(600)
|
|
49
|
-
});
|
|
50
|
-
var CardHeaderPropsSchema = chunkT4COXKQ3_js.BaseComponentPropsSchema.extend({
|
|
51
|
-
children: zod.z.custom()
|
|
52
|
-
});
|
|
53
|
-
var CardTitlePropsSchema = chunkT4COXKQ3_js.BaseComponentPropsSchema.extend({
|
|
54
|
-
/** Heading level (h1-h6) - defaults to h3 */
|
|
55
|
-
as: zod.z.enum(["h1", "h2", "h3", "h4", "h5", "h6"]).optional().default("h3"),
|
|
56
|
-
children: zod.z.custom()
|
|
57
|
-
});
|
|
58
|
-
var CardDescriptionPropsSchema = chunkT4COXKQ3_js.BaseComponentPropsSchema.extend({
|
|
59
|
-
children: zod.z.custom()
|
|
60
|
-
});
|
|
61
|
-
var CardContentPropsSchema = chunkT4COXKQ3_js.BaseComponentPropsSchema.extend({
|
|
62
|
-
children: zod.z.custom()
|
|
63
|
-
});
|
|
64
|
-
var CardFooterPropsSchema = chunkT4COXKQ3_js.BaseComponentPropsSchema.extend({
|
|
65
|
-
children: zod.z.custom()
|
|
66
|
-
});
|
|
67
|
-
var CardActionPropsSchema = chunkT4COXKQ3_js.BaseComponentPropsSchema.extend({
|
|
68
|
-
children: zod.z.custom()
|
|
69
|
-
});
|
|
70
|
-
var flipButtonPositionVariants = classVarianceAuthority.cva(
|
|
71
|
-
[
|
|
72
|
-
"absolute z-10 min-h-[44px] min-w-[44px] p-2",
|
|
73
|
-
"flex items-center justify-center",
|
|
74
|
-
"rounded-full bg-[var(--accent-background)]",
|
|
75
|
-
"text-[var(--primary-action)] hover:text-[var(--primary-action-hover)]",
|
|
76
|
-
"transition-colors duration-200",
|
|
77
|
-
"focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-[var(--ring)]"
|
|
78
|
-
],
|
|
79
|
-
{
|
|
80
|
-
variants: {
|
|
81
|
-
position: {
|
|
82
|
-
"top-right": "top-2 right-2",
|
|
83
|
-
"top-left": "top-2 left-2",
|
|
84
|
-
"bottom-right": "bottom-2 right-2",
|
|
85
|
-
"bottom-left": "bottom-2 left-2"
|
|
86
|
-
}
|
|
87
|
-
},
|
|
88
|
-
defaultVariants: {
|
|
89
|
-
position: "top-right"
|
|
90
|
-
}
|
|
91
|
-
}
|
|
92
|
-
);
|
|
93
|
-
var Card = react.forwardRef(
|
|
94
|
-
(props, ref) => {
|
|
95
|
-
const {
|
|
96
|
-
children,
|
|
97
|
-
className,
|
|
98
|
-
flippable = false,
|
|
99
|
-
backContent,
|
|
100
|
-
isFlipped: controlledFlipped,
|
|
101
|
-
defaultFlipped = false,
|
|
102
|
-
onFlipChange,
|
|
103
|
-
flipButtonPosition = "top-right",
|
|
104
|
-
flipButtonLabel,
|
|
105
|
-
flipButtonIcon,
|
|
106
|
-
flipDuration = 600,
|
|
107
|
-
...rest
|
|
108
|
-
} = props;
|
|
109
|
-
const [internalFlipped, setInternalFlipped] = react.useState(defaultFlipped);
|
|
110
|
-
const isControlled = controlledFlipped !== void 0;
|
|
111
|
-
const flipped = isControlled ? controlledFlipped : internalFlipped;
|
|
112
|
-
const handleFlip = react.useCallback(() => {
|
|
113
|
-
const newState = !flipped;
|
|
114
|
-
if (!isControlled) {
|
|
115
|
-
setInternalFlipped(newState);
|
|
116
|
-
}
|
|
117
|
-
onFlipChange?.(newState);
|
|
118
|
-
}, [flipped, isControlled, onFlipChange]);
|
|
119
|
-
if (!flippable) {
|
|
120
|
-
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
121
|
-
"article",
|
|
122
|
-
{
|
|
123
|
-
ref,
|
|
124
|
-
className: chunkVIREG536_js.cn(
|
|
125
|
-
"rounded-lg border border-[var(--border)] bg-[var(--content-background)] text-[var(--content-foreground)] shadow-sm",
|
|
126
|
-
className
|
|
127
|
-
),
|
|
128
|
-
...rest,
|
|
129
|
-
children
|
|
130
|
-
}
|
|
131
|
-
);
|
|
132
|
-
}
|
|
133
|
-
const showLabel = flipButtonLabel?.show ?? "Show more details";
|
|
134
|
-
const hideLabel = flipButtonLabel?.hide ?? "Show less details";
|
|
135
|
-
const defaultIcon = /* @__PURE__ */ jsxRuntime.jsx(lucideReact.RotateCcw, { className: "h-5 w-5", "aria-hidden": "true" });
|
|
136
|
-
const frontIcon = flipButtonIcon?.front ?? defaultIcon;
|
|
137
|
-
const backIcon = flipButtonIcon?.back ?? flipButtonIcon?.front ?? defaultIcon;
|
|
138
|
-
const FlipButton = ({ label, icon }) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
139
|
-
chunk3YOY2VJ6_js.Button,
|
|
140
|
-
{
|
|
141
|
-
variant: "ghost",
|
|
142
|
-
visualSize: "icon",
|
|
143
|
-
"aria-hidden": "true",
|
|
144
|
-
excludeFromTabOrder: true,
|
|
145
|
-
onPress: handleFlip,
|
|
146
|
-
className: flipButtonPositionVariants({ position: flipButtonPosition }),
|
|
147
|
-
"aria-label": label,
|
|
148
|
-
children: icon
|
|
149
|
-
}
|
|
150
|
-
);
|
|
151
|
-
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
152
|
-
"article",
|
|
153
|
-
{
|
|
154
|
-
ref,
|
|
155
|
-
className: chunkVIREG536_js.cn("relative", className),
|
|
156
|
-
style: { perspective: "1000px" },
|
|
157
|
-
...rest,
|
|
158
|
-
children: /* @__PURE__ */ jsxRuntime.jsxs(
|
|
159
|
-
"div",
|
|
160
|
-
{
|
|
161
|
-
className: chunkVIREG536_js.cn(
|
|
162
|
-
"relative transition-transform",
|
|
163
|
-
"motion-reduce:transition-none"
|
|
164
|
-
),
|
|
165
|
-
style: {
|
|
166
|
-
transformStyle: "preserve-3d",
|
|
167
|
-
transitionDuration: `${flipDuration}ms`,
|
|
168
|
-
transform: flipped ? "rotateY(180deg)" : "rotateY(0deg)"
|
|
169
|
-
},
|
|
170
|
-
"data-flipped": flipped,
|
|
171
|
-
children: [
|
|
172
|
-
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
173
|
-
"div",
|
|
174
|
-
{
|
|
175
|
-
className: "relative rounded-lg border border-[var(--border)] bg-[var(--content-background)] text-[var(--content-foreground)] shadow-sm",
|
|
176
|
-
style: { backfaceVisibility: "hidden" },
|
|
177
|
-
"data-side": "front",
|
|
178
|
-
children: [
|
|
179
|
-
children,
|
|
180
|
-
/* @__PURE__ */ jsxRuntime.jsx(FlipButton, { label: showLabel, icon: frontIcon })
|
|
181
|
-
]
|
|
182
|
-
}
|
|
183
|
-
),
|
|
184
|
-
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
185
|
-
"div",
|
|
186
|
-
{
|
|
187
|
-
className: "absolute inset-0 overflow-y-auto rounded-lg border border-[var(--border)] bg-[var(--content-background)] text-[var(--content-foreground)] shadow-sm",
|
|
188
|
-
style: {
|
|
189
|
-
backfaceVisibility: "hidden",
|
|
190
|
-
transform: "rotateY(180deg)"
|
|
191
|
-
},
|
|
192
|
-
"data-side": "back",
|
|
193
|
-
children: [
|
|
194
|
-
backContent,
|
|
195
|
-
/* @__PURE__ */ jsxRuntime.jsx(FlipButton, { label: hideLabel, icon: backIcon })
|
|
196
|
-
]
|
|
197
|
-
}
|
|
198
|
-
)
|
|
199
|
-
]
|
|
200
|
-
}
|
|
201
|
-
)
|
|
202
|
-
}
|
|
203
|
-
);
|
|
204
|
-
}
|
|
205
|
-
);
|
|
206
|
-
Card.displayName = "Card";
|
|
207
|
-
var CardHeader = react.forwardRef(
|
|
208
|
-
({ className, children, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
209
|
-
"header",
|
|
210
|
-
{
|
|
211
|
-
ref,
|
|
212
|
-
className: chunkVIREG536_js.cn("flex flex-col space-y-1.5 p-6", className),
|
|
213
|
-
...props,
|
|
214
|
-
children
|
|
215
|
-
}
|
|
216
|
-
)
|
|
217
|
-
);
|
|
218
|
-
CardHeader.displayName = "CardHeader";
|
|
219
|
-
var CardTitle = react.forwardRef(
|
|
220
|
-
({ className, as: Comp = "h3", children, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
221
|
-
Comp,
|
|
222
|
-
{
|
|
223
|
-
ref,
|
|
224
|
-
className: chunkVIREG536_js.cn("text-2xl font-semibold leading-none tracking-tight", className),
|
|
225
|
-
...props,
|
|
226
|
-
children
|
|
227
|
-
}
|
|
228
|
-
)
|
|
229
|
-
);
|
|
230
|
-
CardTitle.displayName = "CardTitle";
|
|
231
|
-
var CardDescription = react.forwardRef(
|
|
232
|
-
({ className, children, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
233
|
-
"p",
|
|
234
|
-
{
|
|
235
|
-
ref,
|
|
236
|
-
className: chunkVIREG536_js.cn("text-sm text-[var(--content-foreground-muted)]", className),
|
|
237
|
-
...props,
|
|
238
|
-
children
|
|
239
|
-
}
|
|
240
|
-
)
|
|
241
|
-
);
|
|
242
|
-
CardDescription.displayName = "CardDescription";
|
|
243
|
-
var CardContent = react.forwardRef(
|
|
244
|
-
({ className, children, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx("div", { ref, className: chunkVIREG536_js.cn("p-6 pt-0", className), ...props, children })
|
|
245
|
-
);
|
|
246
|
-
CardContent.displayName = "CardContent";
|
|
247
|
-
var CardFooter = react.forwardRef(
|
|
248
|
-
({ className, children, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
249
|
-
"footer",
|
|
250
|
-
{
|
|
251
|
-
ref,
|
|
252
|
-
className: chunkVIREG536_js.cn("flex items-center p-6 pt-0", className),
|
|
253
|
-
...props,
|
|
254
|
-
children
|
|
255
|
-
}
|
|
256
|
-
)
|
|
257
|
-
);
|
|
258
|
-
CardFooter.displayName = "CardFooter";
|
|
259
|
-
var CardAction = react.forwardRef(
|
|
260
|
-
({ className, children, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
261
|
-
"div",
|
|
262
|
-
{
|
|
263
|
-
ref,
|
|
264
|
-
className: chunkVIREG536_js.cn("ml-auto", className),
|
|
265
|
-
...props,
|
|
266
|
-
children
|
|
267
|
-
}
|
|
268
|
-
)
|
|
269
|
-
);
|
|
270
|
-
CardAction.displayName = "CardAction";
|
|
271
|
-
|
|
272
|
-
exports.Card = Card;
|
|
273
|
-
exports.CardAction = CardAction;
|
|
274
|
-
exports.CardActionPropsSchema = CardActionPropsSchema;
|
|
275
|
-
exports.CardContent = CardContent;
|
|
276
|
-
exports.CardContentPropsSchema = CardContentPropsSchema;
|
|
277
|
-
exports.CardDescription = CardDescription;
|
|
278
|
-
exports.CardDescriptionPropsSchema = CardDescriptionPropsSchema;
|
|
279
|
-
exports.CardFooter = CardFooter;
|
|
280
|
-
exports.CardFooterPropsSchema = CardFooterPropsSchema;
|
|
281
|
-
exports.CardHeader = CardHeader;
|
|
282
|
-
exports.CardHeaderPropsSchema = CardHeaderPropsSchema;
|
|
283
|
-
exports.CardPropsSchema = CardPropsSchema;
|
|
284
|
-
exports.CardTitle = CardTitle;
|
|
285
|
-
exports.CardTitlePropsSchema = CardTitlePropsSchema;
|
|
286
|
-
exports.FlipButtonIconSchema = FlipButtonIconSchema;
|
|
287
|
-
exports.FlipButtonLabelSchema = FlipButtonLabelSchema;
|
|
288
|
-
exports.FlipButtonPositionSchema = FlipButtonPositionSchema;
|
|
289
|
-
exports.flipButtonPositionVariants = flipButtonPositionVariants;
|
|
290
|
-
//# sourceMappingURL=chunk-WJGLM4CY.js.map
|
|
291
|
-
//# sourceMappingURL=chunk-WJGLM4CY.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/elements/Card/Card.types.ts","../src/elements/Card/Card.tsx"],"names":["z","BaseComponentPropsSchema","cva","forwardRef","useState","useCallback","jsx","cn","RotateCcw","Button","jsxs"],"mappings":"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","file":"chunk-WJGLM4CY.js","sourcesContent":["import { z } from 'zod';\nimport { cva } from 'class-variance-authority';\nimport { BaseComponentPropsSchema } from '../../schemas/BaseComponentProps';\nimport type { ReactNode } from 'react';\n\n/**\n * Flip button position variants\n * Controls where the flip button appears on the card\n *\n * @see card-prd.md US-5 (Flip Button Position)\n */\nexport const FlipButtonPositionSchema = z.enum([\n 'top-right',\n 'top-left',\n 'bottom-right',\n 'bottom-left',\n]);\nexport type FlipButtonPosition = z.infer<typeof FlipButtonPositionSchema>;\n\n/**\n * Flip button label configuration\n * Custom labels for the flip button title attribute\n *\n * @see card-prd.md US-6 (Custom Labels)\n */\nexport const FlipButtonLabelSchema = z.object({\n show: z.string().optional(),\n hide: z.string().optional(),\n});\nexport type FlipButtonLabel = z.infer<typeof FlipButtonLabelSchema>;\n\n/**\n * Flip button icon configuration\n * Custom icons for the front and back flip buttons\n */\nexport const FlipButtonIconSchema = z.object({\n /** Icon to show on front side button (default: RotateCcw) */\n front: z.custom<ReactNode>().optional(),\n /** Icon to show on back side button (default: same as front or RotateCcw) */\n back: z.custom<ReactNode>().optional(),\n});\nexport type FlipButtonIcon = z.infer<typeof FlipButtonIconSchema>;\n\n/**\n * Card root component props schema\n *\n * @see card-prd.md US-1 (Basic Card Container)\n * @see card-prd.md US-2 (Flippable Card)\n * @see card-prd.md US-3 (Controlled/Uncontrolled State)\n */\nexport const CardPropsSchema = BaseComponentPropsSchema.extend({\n // Flip functionality\n /** Enable flip animation feature */\n flippable: z.boolean().optional().default(false),\n\n /** Content to display on the back side of the card */\n backContent: z.custom<ReactNode>().optional(),\n\n /** Controlled mode: current flip state */\n isFlipped: z.boolean().optional(),\n\n /** Uncontrolled mode: initial flip state */\n defaultFlipped: z.boolean().optional().default(false),\n\n /** Callback fired when flip state changes */\n onFlipChange: z.custom<(isFlipped: boolean) => void>().optional(),\n\n // Flip button configuration\n /** Position of the flip button on the card */\n flipButtonPosition: FlipButtonPositionSchema.optional().default('top-right'),\n\n /** Custom labels for the flip button title attribute */\n flipButtonLabel: FlipButtonLabelSchema.optional(),\n\n /** Custom icons for the flip button (default: RotateCcw) */\n flipButtonIcon: FlipButtonIconSchema.optional(),\n\n /** Duration of flip animation in milliseconds */\n flipDuration: z.number().optional().default(600),\n});\n\nexport type CardProps = z.infer<typeof CardPropsSchema>;\n\n/**\n * CardHeader props schema\n *\n * @see card-prd.md US-1 (Basic Card Container)\n */\nexport const CardHeaderPropsSchema = BaseComponentPropsSchema.extend({\n children: z.custom<ReactNode>(),\n});\n\nexport type CardHeaderProps = z.infer<typeof CardHeaderPropsSchema>;\n\n/**\n * CardTitle props schema\n *\n * @see card-prd.md US-1 (Basic Card Container)\n */\nexport const CardTitlePropsSchema = BaseComponentPropsSchema.extend({\n /** Heading level (h1-h6) - defaults to h3 */\n as: z.enum(['h1', 'h2', 'h3', 'h4', 'h5', 'h6']).optional().default('h3'),\n\n children: z.custom<ReactNode>(),\n});\n\nexport type CardTitleProps = z.infer<typeof CardTitlePropsSchema>;\n\n/**\n * CardDescription props schema\n *\n * @see card-prd.md US-1 (Basic Card Container)\n */\nexport const CardDescriptionPropsSchema = BaseComponentPropsSchema.extend({\n children: z.custom<ReactNode>(),\n});\n\nexport type CardDescriptionProps = z.infer<typeof CardDescriptionPropsSchema>;\n\n/**\n * CardContent props schema\n *\n * @see card-prd.md US-1 (Basic Card Container)\n */\nexport const CardContentPropsSchema = BaseComponentPropsSchema.extend({\n children: z.custom<ReactNode>(),\n});\n\nexport type CardContentProps = z.infer<typeof CardContentPropsSchema>;\n\n/**\n * CardFooter props schema\n *\n * @see card-prd.md US-1 (Basic Card Container)\n */\nexport const CardFooterPropsSchema = BaseComponentPropsSchema.extend({\n children: z.custom<ReactNode>(),\n});\n\nexport type CardFooterProps = z.infer<typeof CardFooterPropsSchema>;\n\n/**\n * CardAction props schema\n *\n * @see card-prd.md US-1 (Basic Card Container)\n */\nexport const CardActionPropsSchema = BaseComponentPropsSchema.extend({\n children: z.custom<ReactNode>(),\n});\n\nexport type CardActionProps = z.infer<typeof CardActionPropsSchema>;\n\n/**\n * CVA variants for flip button positioning\n *\n * Provides consistent positioning classes for the flip button\n * based on the flipButtonPosition prop.\n *\n * Buttons are rendered INSIDE both front and back sides so they\n * flip along with the card content for a more natural feel.\n *\n * @see card-prd.md US-5 (Flip Button Position)\n */\nexport const flipButtonPositionVariants = cva(\n [\n 'absolute z-10 min-h-[44px] min-w-[44px] p-2',\n 'flex items-center justify-center',\n 'rounded-full bg-[var(--accent-background)]',\n 'text-[var(--primary-action)] hover:text-[var(--primary-action-hover)]',\n 'transition-colors duration-200',\n 'focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-[var(--ring)]',\n ],\n {\n variants: {\n position: {\n 'top-right': 'top-2 right-2',\n 'top-left': 'top-2 left-2',\n 'bottom-right': 'bottom-2 right-2',\n 'bottom-left': 'bottom-2 left-2',\n },\n },\n defaultVariants: {\n position: 'top-right',\n },\n }\n);\n","/**\n * Card Component (TDD Stub)\n *\n * This is a minimal stub to allow tests to run during the RED phase.\n * Full implementation will be added in the GREEN phase.\n *\n * @see card-prd.md (Product Requirements)\n * @see plan.md (Implementation Plan)\n */\n\nimport { forwardRef, useState, useCallback, type HTMLAttributes, type ReactNode } from 'react';\nimport { RotateCcw } from 'lucide-react';\nimport { cn } from '../../utils/cn';\nimport { Button } from '../Button';\nimport {\n flipButtonPositionVariants,\n type CardProps,\n type CardHeaderProps,\n type CardTitleProps,\n type CardDescriptionProps,\n type CardContentProps,\n type CardFooterProps,\n type CardActionProps,\n} from './Card.types';\n\n// ============================================================================\n// Card (Root Component)\n// ============================================================================\n\nexport const Card = forwardRef<HTMLElement, CardProps & HTMLAttributes<HTMLElement>>(\n (props, ref) => {\n const {\n children,\n className,\n flippable = false,\n backContent,\n isFlipped: controlledFlipped,\n defaultFlipped = false,\n onFlipChange,\n flipButtonPosition = 'top-right',\n flipButtonLabel,\n flipButtonIcon,\n flipDuration = 600,\n ...rest\n } = props;\n\n // Controlled/uncontrolled state\n const [internalFlipped, setInternalFlipped] = useState(defaultFlipped);\n const isControlled = controlledFlipped !== undefined;\n const flipped = isControlled ? controlledFlipped : internalFlipped;\n\n const handleFlip = useCallback(() => {\n const newState = !flipped;\n if (!isControlled) {\n setInternalFlipped(newState);\n }\n onFlipChange?.(newState);\n }, [flipped, isControlled, onFlipChange]);\n\n // Non-flippable card\n if (!flippable) {\n return (\n <article\n ref={ref}\n className={cn(\n 'rounded-lg border border-[var(--border)] bg-[var(--content-background)] text-[var(--content-foreground)] shadow-sm',\n className\n )}\n {...rest}\n >\n {children}\n </article>\n );\n }\n\n // Flippable card\n const showLabel = flipButtonLabel?.show ?? 'Show more details';\n const hideLabel = flipButtonLabel?.hide ?? 'Show less details';\n\n // Default icon\n const defaultIcon = <RotateCcw className=\"h-5 w-5\" aria-hidden=\"true\" />;\n // Custom icons (back defaults to front if not specified)\n const frontIcon = flipButtonIcon?.front ?? defaultIcon;\n const backIcon = flipButtonIcon?.back ?? flipButtonIcon?.front ?? defaultIcon;\n\n // Flip button component - rendered on both front and back\n const FlipButton = ({ label, icon }: { label: string; icon: ReactNode }) => (\n <Button\n variant=\"ghost\"\n visualSize=\"icon\"\n aria-hidden=\"true\"\n excludeFromTabOrder\n onPress={handleFlip}\n className={flipButtonPositionVariants({ position: flipButtonPosition })}\n aria-label={label}\n >\n {icon}\n </Button>\n );\n\n return (\n <article\n ref={ref}\n className={cn('relative', className)}\n style={{ perspective: '1000px' }}\n {...rest}\n >\n {/* Flipper container - handles 3D transform */}\n <div\n className={cn(\n 'relative transition-transform',\n 'motion-reduce:transition-none'\n )}\n style={{\n transformStyle: 'preserve-3d',\n transitionDuration: `${flipDuration}ms`,\n transform: flipped ? 'rotateY(180deg)' : 'rotateY(0deg)',\n }}\n data-flipped={flipped}\n >\n {/* Front side */}\n <div\n className=\"relative rounded-lg border border-[var(--border)] bg-[var(--content-background)] text-[var(--content-foreground)] shadow-sm\"\n style={{ backfaceVisibility: 'hidden' }}\n data-side=\"front\"\n >\n {children}\n <FlipButton label={showLabel} icon={frontIcon} />\n </div>\n\n {/* Back side - scrollable if content overflows */}\n <div\n className=\"absolute inset-0 overflow-y-auto rounded-lg border border-[var(--border)] bg-[var(--content-background)] text-[var(--content-foreground)] shadow-sm\"\n style={{\n backfaceVisibility: 'hidden',\n transform: 'rotateY(180deg)',\n }}\n data-side=\"back\"\n >\n {backContent}\n <FlipButton label={hideLabel} icon={backIcon} />\n </div>\n </div>\n </article>\n );\n }\n);\n\nCard.displayName = 'Card';\n\n// ============================================================================\n// CardHeader\n// ============================================================================\n\nexport const CardHeader = forwardRef<HTMLElement, CardHeaderProps & HTMLAttributes<HTMLElement>>(\n ({ className, children, ...props }, ref) => (\n <header\n ref={ref}\n className={cn('flex flex-col space-y-1.5 p-6', className)}\n {...props}\n >\n {children}\n </header>\n )\n);\n\nCardHeader.displayName = 'CardHeader';\n\n// ============================================================================\n// CardTitle\n// ============================================================================\n\nexport const CardTitle = forwardRef<HTMLHeadingElement, CardTitleProps & HTMLAttributes<HTMLHeadingElement>>(\n ({ className, as: Comp = 'h3', children, ...props }, ref) => (\n <Comp\n ref={ref}\n className={cn('text-2xl font-semibold leading-none tracking-tight', className)}\n {...props}\n >\n {children}\n </Comp>\n )\n);\n\nCardTitle.displayName = 'CardTitle';\n\n// ============================================================================\n// CardDescription\n// ============================================================================\n\nexport const CardDescription = forwardRef<HTMLParagraphElement, CardDescriptionProps & HTMLAttributes<HTMLParagraphElement>>(\n ({ className, children, ...props }, ref) => (\n <p\n ref={ref}\n className={cn('text-sm text-[var(--content-foreground-muted)]', className)}\n {...props}\n >\n {children}\n </p>\n )\n);\n\nCardDescription.displayName = 'CardDescription';\n\n// ============================================================================\n// CardContent\n// ============================================================================\n\nexport const CardContent = forwardRef<HTMLDivElement, CardContentProps & HTMLAttributes<HTMLDivElement>>(\n ({ className, children, ...props }, ref) => (\n <div ref={ref} className={cn('p-6 pt-0', className)} {...props}>\n {children}\n </div>\n )\n);\n\nCardContent.displayName = 'CardContent';\n\n// ============================================================================\n// CardFooter\n// ============================================================================\n\nexport const CardFooter = forwardRef<HTMLElement, CardFooterProps & HTMLAttributes<HTMLElement>>(\n ({ className, children, ...props }, ref) => (\n <footer\n ref={ref}\n className={cn('flex items-center p-6 pt-0', className)}\n {...props}\n >\n {children}\n </footer>\n )\n);\n\nCardFooter.displayName = 'CardFooter';\n\n// ============================================================================\n// CardAction\n// ============================================================================\n\nexport const CardAction = forwardRef<HTMLDivElement, CardActionProps & HTMLAttributes<HTMLDivElement>>(\n ({ className, children, ...props }, ref) => (\n <div\n ref={ref}\n className={cn('ml-auto', className)}\n {...props}\n >\n {children}\n </div>\n )\n);\n\nCardAction.displayName = 'CardAction';\n"]}
|