dhanasekar-ui 1.5.0 → 1.6.0
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/Paper.types-C0TYtLTJ.d.mts +47 -0
- package/dist/Paper.types-C0TYtLTJ.d.ts +47 -0
- package/dist/chunk-2EWZWTFC.mjs +2 -0
- package/dist/chunk-2EWZWTFC.mjs.map +1 -0
- package/dist/chunk-7UWMKTOT.js +131 -0
- package/dist/chunk-7UWMKTOT.js.map +1 -0
- package/dist/chunk-DOTWDKNH.mjs +2 -0
- package/dist/chunk-DOTWDKNH.mjs.map +1 -0
- package/dist/chunk-HPXP2BMG.js +2 -0
- package/dist/chunk-HPXP2BMG.js.map +1 -0
- package/dist/chunk-IZN52F5Z.mjs +2 -0
- package/dist/chunk-IZN52F5Z.mjs.map +1 -0
- package/dist/chunk-KKRI6OSJ.mjs +97 -0
- package/dist/chunk-KKRI6OSJ.mjs.map +1 -0
- package/dist/chunk-N6LNMNTA.js +140 -0
- package/dist/chunk-N6LNMNTA.js.map +1 -0
- package/dist/{chunk-EY2KMILZ.mjs → chunk-P4WXCRNI.mjs} +3 -3
- package/dist/chunk-P4WXCRNI.mjs.map +1 -0
- package/dist/chunk-PFQIHJ6F.js +2 -0
- package/dist/chunk-PFQIHJ6F.js.map +1 -0
- package/dist/{chunk-5K26YZCB.js → chunk-SC44IC5R.js} +3 -3
- package/dist/chunk-SC44IC5R.js.map +1 -0
- package/dist/chunk-TYVF66RP.js +97 -0
- package/dist/chunk-TYVF66RP.js.map +1 -0
- package/dist/chunk-UC2EXKW3.mjs +131 -0
- package/dist/chunk-UC2EXKW3.mjs.map +1 -0
- package/dist/chunk-UJUJSRIL.js +2 -0
- package/dist/chunk-UJUJSRIL.js.map +1 -0
- package/dist/chunk-YA7B43FL.mjs +140 -0
- package/dist/chunk-YA7B43FL.mjs.map +1 -0
- package/dist/components/Accordion/index.d.mts +5 -5
- package/dist/components/Accordion/index.d.ts +5 -5
- package/dist/components/AppBar/index.d.mts +2 -2
- package/dist/components/AppBar/index.d.ts +2 -2
- package/dist/components/Avatar/index.d.mts +2 -2
- package/dist/components/Avatar/index.d.ts +2 -2
- package/dist/components/Badge/index.d.mts +2 -2
- package/dist/components/Badge/index.d.ts +2 -2
- package/dist/components/BottomNavigation/index.d.mts +107 -0
- package/dist/components/BottomNavigation/index.d.ts +107 -0
- package/dist/components/BottomNavigation/index.js +2 -0
- package/dist/components/BottomNavigation/index.js.map +1 -0
- package/dist/components/BottomNavigation/index.mjs +2 -0
- package/dist/components/BottomNavigation/index.mjs.map +1 -0
- package/dist/components/Box/index.d.mts +2 -2
- package/dist/components/Box/index.d.ts +2 -2
- package/dist/components/Button/index.d.mts +2 -2
- package/dist/components/Button/index.d.ts +2 -2
- package/dist/components/Card/index.d.mts +7 -7
- package/dist/components/Card/index.d.ts +7 -7
- package/dist/components/Checkbox/index.d.mts +2 -2
- package/dist/components/Checkbox/index.d.ts +2 -2
- package/dist/components/ConfirmationDialog/index.d.mts +2 -2
- package/dist/components/ConfirmationDialog/index.d.ts +2 -2
- package/dist/components/Container/index.d.mts +2 -2
- package/dist/components/Container/index.d.ts +2 -2
- package/dist/components/DataGrid/index.d.mts +2 -2
- package/dist/components/DataGrid/index.d.ts +2 -2
- package/dist/components/Divider/index.d.mts +2 -2
- package/dist/components/Divider/index.d.ts +2 -2
- package/dist/components/FileUploadField/index.d.mts +2 -2
- package/dist/components/FileUploadField/index.d.ts +2 -2
- package/dist/components/FilterTable/index.d.mts +2 -2
- package/dist/components/FilterTable/index.d.ts +2 -2
- package/dist/components/FloatingButton/index.d.mts +2 -2
- package/dist/components/FloatingButton/index.d.ts +2 -2
- package/dist/components/Grid/index.d.mts +2 -2
- package/dist/components/Grid/index.d.ts +2 -2
- package/dist/components/Input/index.d.mts +2 -2
- package/dist/components/Input/index.d.ts +2 -2
- package/dist/components/List/index.d.mts +8 -22
- package/dist/components/List/index.d.ts +8 -22
- package/dist/components/List/index.js +1 -1
- package/dist/components/List/index.mjs +1 -1
- package/dist/components/Loader/index.d.mts +2 -2
- package/dist/components/Loader/index.d.ts +2 -2
- package/dist/components/Modal/index.d.mts +2 -2
- package/dist/components/Modal/index.d.ts +2 -2
- package/dist/components/Navigator/index.d.mts +2 -2
- package/dist/components/Navigator/index.d.ts +2 -2
- package/dist/components/OTPField/index.d.mts +7 -7
- package/dist/components/OTPField/index.d.ts +7 -7
- package/dist/components/Pagination/index.d.mts +2 -2
- package/dist/components/Pagination/index.d.ts +2 -2
- package/dist/components/Paper/index.d.mts +5 -48
- package/dist/components/Paper/index.d.ts +5 -48
- package/dist/components/Paper/index.js +1 -1
- package/dist/components/Paper/index.mjs +1 -1
- package/dist/components/PdfImageUpload/index.d.mts +2 -2
- package/dist/components/PdfImageUpload/index.d.ts +2 -2
- package/dist/components/Progress/index.d.mts +3 -3
- package/dist/components/Progress/index.d.ts +3 -3
- package/dist/components/RadioGroup/index.d.mts +5 -5
- package/dist/components/RadioGroup/index.d.ts +5 -5
- package/dist/components/Select/index.d.mts +3 -3
- package/dist/components/Select/index.d.ts +3 -3
- package/dist/components/Sidebar/index.d.mts +22 -22
- package/dist/components/Sidebar/index.d.ts +22 -22
- package/dist/components/Skeleton/index.d.mts +2 -2
- package/dist/components/Skeleton/index.d.ts +2 -2
- package/dist/components/Slider/index.d.mts +2 -2
- package/dist/components/Slider/index.d.ts +2 -2
- package/dist/components/Snackbar/index.d.mts +2 -2
- package/dist/components/Snackbar/index.d.ts +2 -2
- package/dist/components/Stack/index.d.mts +74 -0
- package/dist/components/Stack/index.d.ts +74 -0
- package/dist/components/Stack/index.js +2 -0
- package/dist/components/Stack/index.js.map +1 -0
- package/dist/components/Stack/index.mjs +2 -0
- package/dist/components/Stack/index.mjs.map +1 -0
- package/dist/components/Switch/index.d.mts +2 -2
- package/dist/components/Switch/index.d.ts +2 -2
- package/dist/components/Table/index.d.mts +7 -7
- package/dist/components/Table/index.d.ts +7 -7
- package/dist/components/Text/index.d.mts +2 -2
- package/dist/components/Text/index.d.ts +2 -2
- package/dist/components/ToolBar/index.d.mts +2 -2
- package/dist/components/ToolBar/index.d.ts +2 -2
- package/dist/components/Tooltip/index.d.mts +2 -2
- package/dist/components/Tooltip/index.d.ts +2 -2
- package/dist/components/Transitions/index.d.mts +166 -0
- package/dist/components/Transitions/index.d.ts +166 -0
- package/dist/components/Transitions/index.js +2 -0
- package/dist/components/Transitions/index.js.map +1 -0
- package/dist/components/Transitions/index.mjs +2 -0
- package/dist/components/Transitions/index.mjs.map +1 -0
- package/dist/components/Tray/index.d.mts +2 -2
- package/dist/components/Tray/index.d.ts +2 -2
- package/dist/components/useMediaQuery/index.d.mts +19 -0
- package/dist/components/useMediaQuery/index.d.ts +19 -0
- package/dist/components/useMediaQuery/index.js +2 -0
- package/dist/components/useMediaQuery/index.js.map +1 -0
- package/dist/components/useMediaQuery/index.mjs +2 -0
- package/dist/components/useMediaQuery/index.mjs.map +1 -0
- package/dist/index.d.mts +7 -2
- package/dist/index.d.ts +7 -2
- package/dist/index.js +1 -1
- package/dist/index.mjs +1 -1
- package/package.json +22 -2
- package/dist/chunk-5K26YZCB.js.map +0 -1
- package/dist/chunk-ALCHPZY6.js +0 -149
- package/dist/chunk-ALCHPZY6.js.map +0 -1
- package/dist/chunk-EY2KMILZ.mjs.map +0 -1
- package/dist/chunk-W5B5N6BW.mjs +0 -149
- package/dist/chunk-W5B5N6BW.mjs.map +0 -1
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import { HTMLAttributes, ElementType, CSSProperties, ReactNode } from 'react';
|
|
2
|
+
|
|
3
|
+
type PaperVariant = 'elevation' | 'outlined';
|
|
4
|
+
interface PaperProps extends HTMLAttributes<HTMLElement> {
|
|
5
|
+
/**
|
|
6
|
+
* The component used for the root node.
|
|
7
|
+
* Either a string to use a HTML element or a component.
|
|
8
|
+
* @default 'div'
|
|
9
|
+
*/
|
|
10
|
+
component?: ElementType;
|
|
11
|
+
/**
|
|
12
|
+
* The component used for the root node (alias of component).
|
|
13
|
+
*/
|
|
14
|
+
as?: ElementType;
|
|
15
|
+
/**
|
|
16
|
+
* Shadow depth, corresponds to elevation.
|
|
17
|
+
* Accepts values between 0 and 24 inclusive.
|
|
18
|
+
* @default 1
|
|
19
|
+
*/
|
|
20
|
+
elevation?: number;
|
|
21
|
+
/**
|
|
22
|
+
* The variant to use.
|
|
23
|
+
* @default 'elevation'
|
|
24
|
+
*/
|
|
25
|
+
variant?: PaperVariant;
|
|
26
|
+
/**
|
|
27
|
+
* If true, rounded corners are disabled.
|
|
28
|
+
* @default false
|
|
29
|
+
*/
|
|
30
|
+
square?: boolean;
|
|
31
|
+
/**
|
|
32
|
+
* Custom styles using the sx prop pattern.
|
|
33
|
+
*/
|
|
34
|
+
sx?: CSSProperties;
|
|
35
|
+
/**
|
|
36
|
+
* Custom classes for root element.
|
|
37
|
+
*/
|
|
38
|
+
classes?: {
|
|
39
|
+
root?: string;
|
|
40
|
+
};
|
|
41
|
+
/**
|
|
42
|
+
* Content of the paper component.
|
|
43
|
+
*/
|
|
44
|
+
children?: ReactNode;
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
export type { PaperProps as P, PaperVariant as a };
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import { HTMLAttributes, ElementType, CSSProperties, ReactNode } from 'react';
|
|
2
|
+
|
|
3
|
+
type PaperVariant = 'elevation' | 'outlined';
|
|
4
|
+
interface PaperProps extends HTMLAttributes<HTMLElement> {
|
|
5
|
+
/**
|
|
6
|
+
* The component used for the root node.
|
|
7
|
+
* Either a string to use a HTML element or a component.
|
|
8
|
+
* @default 'div'
|
|
9
|
+
*/
|
|
10
|
+
component?: ElementType;
|
|
11
|
+
/**
|
|
12
|
+
* The component used for the root node (alias of component).
|
|
13
|
+
*/
|
|
14
|
+
as?: ElementType;
|
|
15
|
+
/**
|
|
16
|
+
* Shadow depth, corresponds to elevation.
|
|
17
|
+
* Accepts values between 0 and 24 inclusive.
|
|
18
|
+
* @default 1
|
|
19
|
+
*/
|
|
20
|
+
elevation?: number;
|
|
21
|
+
/**
|
|
22
|
+
* The variant to use.
|
|
23
|
+
* @default 'elevation'
|
|
24
|
+
*/
|
|
25
|
+
variant?: PaperVariant;
|
|
26
|
+
/**
|
|
27
|
+
* If true, rounded corners are disabled.
|
|
28
|
+
* @default false
|
|
29
|
+
*/
|
|
30
|
+
square?: boolean;
|
|
31
|
+
/**
|
|
32
|
+
* Custom styles using the sx prop pattern.
|
|
33
|
+
*/
|
|
34
|
+
sx?: CSSProperties;
|
|
35
|
+
/**
|
|
36
|
+
* Custom classes for root element.
|
|
37
|
+
*/
|
|
38
|
+
classes?: {
|
|
39
|
+
root?: string;
|
|
40
|
+
};
|
|
41
|
+
/**
|
|
42
|
+
* Content of the paper component.
|
|
43
|
+
*/
|
|
44
|
+
children?: ReactNode;
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
export type { PaperProps as P, PaperVariant as a };
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import {useState,useEffect}from'react';function u(n,i={}){let{defaultMatches:s=false}=i,[o,r]=useState(()=>typeof window<"u"?window.matchMedia(n).matches:s);return useEffect(()=>{if(typeof window>"u")return;let e=window.matchMedia(n);r(e.matches);let t=a=>{r(a.matches);};return e.addEventListener?(e.addEventListener("change",t),()=>e.removeEventListener("change",t)):(e.addListener(t),()=>e.removeListener(t))},[n]),o}export{u as a};//# sourceMappingURL=chunk-2EWZWTFC.mjs.map
|
|
2
|
+
//# sourceMappingURL=chunk-2EWZWTFC.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/components/useMediaQuery/useMediaQuery.ts"],"names":["useMediaQuery","query","options","defaultMatches","matches","setMatches","useState","useEffect","mediaQueryList","listener","event"],"mappings":"uCAWO,SAASA,EACdC,CAAAA,CACAC,CAAAA,CAAgC,EAAC,CACxB,CACT,GAAM,CAAE,cAAA,CAAAC,EAAiB,KAAM,CAAA,CAAID,EAE7B,CAACE,CAAAA,CAASC,CAAU,CAAA,CAAIC,QAAAA,CAAkB,IAC1C,OAAO,MAAA,CAAW,IACb,MAAA,CAAO,UAAA,CAAWL,CAAK,CAAA,CAAE,OAAA,CAE3BE,CACR,CAAA,CAED,OAAAI,UAAU,IAAM,CACd,GAAI,OAAO,MAAA,CAAW,IACpB,OAGF,IAAMC,EAAiB,MAAA,CAAO,UAAA,CAAWP,CAAK,CAAA,CAG9CI,CAAAA,CAAWG,EAAe,OAAO,CAAA,CAEjC,IAAMC,CAAAA,CAAYC,CAAAA,EAA+B,CAC/CL,CAAAA,CAAWK,CAAAA,CAAM,OAAO,EAC1B,CAAA,CAEA,OAAIF,CAAAA,CAAe,gBAAA,EACjBA,EAAe,gBAAA,CAAiB,QAAA,CAAUC,CAAQ,CAAA,CAC3C,IAAMD,EAAe,mBAAA,CAAoB,QAAA,CAAUC,CAAQ,CAAA,GAElED,CAAAA,CAAe,YAAYC,CAAQ,CAAA,CAC5B,IAAMD,CAAAA,CAAe,cAAA,CAAeC,CAAQ,CAAA,CAEvD,CAAA,CAAG,CAACR,CAAK,CAAC,EAEHG,CACT","file":"chunk-2EWZWTFC.mjs","sourcesContent":["import { useState, useEffect } from 'react';\nimport { UseMediaQueryOptions } from './useMediaQuery.types';\n\n/**\n * A custom React hook that tracks the match status of a media query.\n * Safe for server-side rendering (SSR) environments.\n * \n * @param query - The media query string to match (e.g., '(max-width: 600px)')\n * @param options - Hook configuration options\n * @returns boolean indicating if the media query matches\n */\nexport function useMediaQuery(\n query: string,\n options: UseMediaQueryOptions = {}\n): boolean {\n const { defaultMatches = false } = options;\n\n const [matches, setMatches] = useState<boolean>(() => {\n if (typeof window !== 'undefined') {\n return window.matchMedia(query).matches;\n }\n return defaultMatches;\n });\n\n useEffect(() => {\n if (typeof window === 'undefined') {\n return;\n }\n\n const mediaQueryList = window.matchMedia(query);\n \n // Set initial state\n setMatches(mediaQueryList.matches);\n\n const listener = (event: MediaQueryListEvent) => {\n setMatches(event.matches);\n };\n\n if (mediaQueryList.addEventListener) {\n mediaQueryList.addEventListener('change', listener);\n return () => mediaQueryList.removeEventListener('change', listener);\n } else {\n mediaQueryList.addListener(listener);\n return () => mediaQueryList.removeListener(listener);\n }\n }, [query]);\n\n return matches;\n}\n"]}
|
|
@@ -0,0 +1,131 @@
|
|
|
1
|
+
'use strict';var chunkDDGBDWFC_js=require('./chunk-DDGBDWFC.js'),react=require('react'),jsxRuntime=require('react/jsx-runtime');var L=`
|
|
2
|
+
.ui-bottom-navigation {
|
|
3
|
+
display: flex;
|
|
4
|
+
justify-content: center;
|
|
5
|
+
height: 56px;
|
|
6
|
+
background-color: rgba(255, 255, 255, 0.85);
|
|
7
|
+
backdrop-filter: blur(16px);
|
|
8
|
+
-webkit-backdrop-filter: blur(16px);
|
|
9
|
+
border-top: 1px solid rgba(226, 232, 240, 0.8);
|
|
10
|
+
box-shadow: 0 -4px 20px -4px rgba(0, 0, 0, 0.04);
|
|
11
|
+
transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
|
|
12
|
+
width: 100%;
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
@media (prefers-color-scheme: dark) {
|
|
16
|
+
.ui-bottom-navigation {
|
|
17
|
+
background-color: rgba(15, 23, 42, 0.85);
|
|
18
|
+
border-color: rgba(51, 65, 85, 0.8);
|
|
19
|
+
box-shadow: 0 -4px 25px -4px rgba(0, 0, 0, 0.15);
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
.ui-bottom-navigation-action {
|
|
24
|
+
display: flex;
|
|
25
|
+
flex-direction: column;
|
|
26
|
+
align-items: center;
|
|
27
|
+
justify-content: center;
|
|
28
|
+
flex-grow: 1;
|
|
29
|
+
min-width: 80px;
|
|
30
|
+
max-width: 168px;
|
|
31
|
+
padding: 6px 12px 8px;
|
|
32
|
+
background: none;
|
|
33
|
+
border: none;
|
|
34
|
+
cursor: pointer;
|
|
35
|
+
color: #94a3b8;
|
|
36
|
+
outline: none;
|
|
37
|
+
font-family: inherit;
|
|
38
|
+
transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1);
|
|
39
|
+
position: relative;
|
|
40
|
+
user-select: none;
|
|
41
|
+
-webkit-tap-highlight-color: transparent;
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
@media (prefers-color-scheme: dark) {
|
|
45
|
+
.ui-bottom-navigation-action {
|
|
46
|
+
color: #64748b;
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
.ui-bottom-navigation-action:hover {
|
|
51
|
+
color: #475569;
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
@media (prefers-color-scheme: dark) {
|
|
55
|
+
.ui-bottom-navigation-action:hover {
|
|
56
|
+
color: #94a3b8;
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
.ui-bottom-navigation-action:focus-visible {
|
|
61
|
+
background-color: rgba(59, 130, 246, 0.05);
|
|
62
|
+
outline: 2px solid #3b82f6;
|
|
63
|
+
outline-offset: -4px;
|
|
64
|
+
border-radius: 8px;
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
.ui-bottom-navigation-action-selected {
|
|
68
|
+
color: #2563eb !important;
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
@media (prefers-color-scheme: dark) {
|
|
72
|
+
.ui-bottom-navigation-action-selected {
|
|
73
|
+
color: #3b82f6 !important;
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
.ui-bottom-navigation-action-icon-wrapper {
|
|
78
|
+
display: flex;
|
|
79
|
+
align-items: center;
|
|
80
|
+
justify-content: center;
|
|
81
|
+
transition: transform 0.25s cubic-bezier(0.4, 0, 0.2, 1);
|
|
82
|
+
font-size: 1.25rem;
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
.ui-bottom-navigation-action-selected .ui-bottom-navigation-action-icon-wrapper {
|
|
86
|
+
transform: translateY(-2px) scale(1.1);
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
.ui-bottom-navigation-action-label {
|
|
90
|
+
font-size: 0.72rem;
|
|
91
|
+
font-weight: 500;
|
|
92
|
+
line-height: 1.25;
|
|
93
|
+
margin-top: 3px;
|
|
94
|
+
transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1);
|
|
95
|
+
white-space: nowrap;
|
|
96
|
+
text-overflow: ellipsis;
|
|
97
|
+
overflow: hidden;
|
|
98
|
+
max-width: 100%;
|
|
99
|
+
transform-origin: center;
|
|
100
|
+
}
|
|
101
|
+
|
|
102
|
+
.ui-bottom-navigation-action-selected .ui-bottom-navigation-action-label {
|
|
103
|
+
font-weight: 600;
|
|
104
|
+
transform: scale(1.05);
|
|
105
|
+
}
|
|
106
|
+
|
|
107
|
+
/* Label states when showLabel = false */
|
|
108
|
+
.ui-bottom-navigation-action-icon-only {
|
|
109
|
+
padding-top: 14px;
|
|
110
|
+
}
|
|
111
|
+
|
|
112
|
+
.ui-bottom-navigation-action-icon-only .ui-bottom-navigation-action-label {
|
|
113
|
+
opacity: 0;
|
|
114
|
+
transform: scale(0.85) translateY(4px);
|
|
115
|
+
height: 0;
|
|
116
|
+
margin-top: 0;
|
|
117
|
+
overflow: hidden;
|
|
118
|
+
}
|
|
119
|
+
|
|
120
|
+
.ui-bottom-navigation-action-icon-only.ui-bottom-navigation-action-selected {
|
|
121
|
+
padding-top: 6px;
|
|
122
|
+
}
|
|
123
|
+
|
|
124
|
+
.ui-bottom-navigation-action-icon-only.ui-bottom-navigation-action-selected .ui-bottom-navigation-action-label {
|
|
125
|
+
opacity: 1;
|
|
126
|
+
transform: scale(1) translateY(0);
|
|
127
|
+
height: auto;
|
|
128
|
+
margin-top: 3px;
|
|
129
|
+
}
|
|
130
|
+
`,T=react.forwardRef(({as:s,children:t,classes:m,component:b,value:u,onChange:g,showLabels:a=true,sx:n,className:i,...d},r)=>{let l=b||s||"div",f=typeof n=="function"?n({}):Array.isArray(n)?Object.assign({},...n.filter(Boolean)):n,v=react.Children.map(t,(o,y)=>{if(!react.isValidElement(o))return null;let c=o.props.value!==void 0?o.props.value:y,p=c===u;return react.cloneElement(o,{selected:o.props.selected!==void 0?o.props.selected:p,showLabel:o.props.showLabel!==void 0?o.props.showLabel:!!a,value:c,onChange:o.props.onChange!==void 0?o.props.onChange:g})});return jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx("style",{dangerouslySetInnerHTML:{__html:L}}),jsxRuntime.jsx(l,{ref:r,className:chunkDDGBDWFC_js.a("ui-bottom-navigation",m?.root,i),style:{...f},...d,children:v})]})});T.displayName="BottomNavigation";var z=react.forwardRef(({as:s,classes:t,component:m,icon:b,label:u,showLabel:g,selected:a,value:n,sx:i,className:d,onChange:r,onClick:l,...f},v)=>{let o=m||s||"button",y=h=>{l&&l(h),r&&r(h,n);},c=typeof i=="function"?i({}):Array.isArray(i)?Object.assign({},...i.filter(Boolean)):i,p=g===false;return jsxRuntime.jsxs(o,{ref:v,type:o==="button"?"button":void 0,className:chunkDDGBDWFC_js.a("ui-bottom-navigation-action",a&&"ui-bottom-navigation-action-selected",p&&"ui-bottom-navigation-action-icon-only",t?.root,a&&t?.selected,p&&t?.iconOnly,d),style:{...c},onClick:y,"aria-selected":a,...f,children:[jsxRuntime.jsx("div",{className:chunkDDGBDWFC_js.a("ui-bottom-navigation-action-icon-wrapper",t?.wrapper),children:b}),jsxRuntime.jsx("span",{className:chunkDDGBDWFC_js.a("ui-bottom-navigation-action-label",t?.label),children:u})]})});z.displayName="BottomNavigationAction";exports.a=T;exports.b=z;//# sourceMappingURL=chunk-7UWMKTOT.js.map
|
|
131
|
+
//# sourceMappingURL=chunk-7UWMKTOT.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/components/BottomNavigation/BottomNavigation.tsx","../src/components/BottomNavigation/BottomNavigationAction.tsx"],"names":["STYLES","BottomNavigation","forwardRef","as","children","classes","component","value","onChange","showLabels","sx","className","props","ref","RootComponent","resolvedSx","childrenWithProps","Children","child","index","isValidElement","childValue","isSelected","cloneElement","jsxs","Fragment","jsx","cn","BottomNavigationAction","icon","label","showLabel","selected","onClick","handleClick","event","isIconOnly"],"mappings":"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","file":"chunk-7UWMKTOT.js","sourcesContent":["'use client';\n\nimport { forwardRef, ElementType, Children, isValidElement, cloneElement } from 'react';\nimport { cn } from '../../utils/cn';\nimport { BottomNavigationProps } from './types';\n\nconst STYLES = `\n .ui-bottom-navigation {\n display: flex;\n justify-content: center;\n height: 56px;\n background-color: rgba(255, 255, 255, 0.85);\n backdrop-filter: blur(16px);\n -webkit-backdrop-filter: blur(16px);\n border-top: 1px solid rgba(226, 232, 240, 0.8);\n box-shadow: 0 -4px 20px -4px rgba(0, 0, 0, 0.04);\n transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);\n width: 100%;\n }\n \n @media (prefers-color-scheme: dark) {\n .ui-bottom-navigation {\n background-color: rgba(15, 23, 42, 0.85);\n border-color: rgba(51, 65, 85, 0.8);\n box-shadow: 0 -4px 25px -4px rgba(0, 0, 0, 0.15);\n }\n }\n\n .ui-bottom-navigation-action {\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n flex-grow: 1;\n min-width: 80px;\n max-width: 168px;\n padding: 6px 12px 8px;\n background: none;\n border: none;\n cursor: pointer;\n color: #94a3b8;\n outline: none;\n font-family: inherit;\n transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1);\n position: relative;\n user-select: none;\n -webkit-tap-highlight-color: transparent;\n }\n \n @media (prefers-color-scheme: dark) {\n .ui-bottom-navigation-action {\n color: #64748b;\n }\n }\n\n .ui-bottom-navigation-action:hover {\n color: #475569;\n }\n \n @media (prefers-color-scheme: dark) {\n .ui-bottom-navigation-action:hover {\n color: #94a3b8;\n }\n }\n\n .ui-bottom-navigation-action:focus-visible {\n background-color: rgba(59, 130, 246, 0.05);\n outline: 2px solid #3b82f6;\n outline-offset: -4px;\n border-radius: 8px;\n }\n\n .ui-bottom-navigation-action-selected {\n color: #2563eb !important;\n }\n\n @media (prefers-color-scheme: dark) {\n .ui-bottom-navigation-action-selected {\n color: #3b82f6 !important;\n }\n }\n\n .ui-bottom-navigation-action-icon-wrapper {\n display: flex;\n align-items: center;\n justify-content: center;\n transition: transform 0.25s cubic-bezier(0.4, 0, 0.2, 1);\n font-size: 1.25rem;\n }\n\n .ui-bottom-navigation-action-selected .ui-bottom-navigation-action-icon-wrapper {\n transform: translateY(-2px) scale(1.1);\n }\n\n .ui-bottom-navigation-action-label {\n font-size: 0.72rem;\n font-weight: 500;\n line-height: 1.25;\n margin-top: 3px;\n transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1);\n white-space: nowrap;\n text-overflow: ellipsis;\n overflow: hidden;\n max-width: 100%;\n transform-origin: center;\n }\n\n .ui-bottom-navigation-action-selected .ui-bottom-navigation-action-label {\n font-weight: 600;\n transform: scale(1.05);\n }\n\n /* Label states when showLabel = false */\n .ui-bottom-navigation-action-icon-only {\n padding-top: 14px;\n }\n \n .ui-bottom-navigation-action-icon-only .ui-bottom-navigation-action-label {\n opacity: 0;\n transform: scale(0.85) translateY(4px);\n height: 0;\n margin-top: 0;\n overflow: hidden;\n }\n\n .ui-bottom-navigation-action-icon-only.ui-bottom-navigation-action-selected {\n padding-top: 6px;\n }\n\n .ui-bottom-navigation-action-icon-only.ui-bottom-navigation-action-selected .ui-bottom-navigation-action-label {\n opacity: 1;\n transform: scale(1) translateY(0);\n height: auto;\n margin-top: 3px;\n }\n`;\n\nexport const BottomNavigation = forwardRef<HTMLElement, BottomNavigationProps>(\n (\n {\n as,\n children,\n classes,\n component,\n value,\n onChange,\n showLabels = true,\n sx,\n className,\n ...props\n },\n ref\n ) => {\n const RootComponent: ElementType = component || as || 'div';\n\n const resolvedSx =\n typeof sx === 'function'\n ? sx({})\n : Array.isArray(sx)\n ? Object.assign({}, ...sx.filter(Boolean))\n : sx;\n\n const childrenWithProps = Children.map(children, (child, index) => {\n if (!isValidElement(child)) {\n return null;\n }\n\n const childValue = child.props.value !== undefined ? child.props.value : index;\n const isSelected = childValue === value;\n\n return cloneElement(child, {\n selected: child.props.selected !== undefined ? child.props.selected : isSelected,\n showLabel: child.props.showLabel !== undefined ? child.props.showLabel : (showLabels ? true : false),\n value: childValue,\n onChange: child.props.onChange !== undefined ? child.props.onChange : onChange,\n } as any);\n });\n\n return (\n <>\n <style dangerouslySetInnerHTML={{ __html: STYLES }} />\n <RootComponent\n ref={ref}\n className={cn('ui-bottom-navigation', classes?.root, className)}\n style={{ ...resolvedSx }}\n {...props}\n >\n {childrenWithProps}\n </RootComponent>\n </>\n );\n }\n);\n\nBottomNavigation.displayName = 'BottomNavigation';\n\nexport default BottomNavigation;\n","'use client';\n\nimport { forwardRef, ElementType } from 'react';\nimport { cn } from '../../utils/cn';\nimport { BottomNavigationActionProps } from './types';\n\nexport const BottomNavigationAction = forwardRef<HTMLButtonElement, BottomNavigationActionProps>(\n (\n {\n as,\n classes,\n component,\n icon,\n label,\n showLabel,\n selected,\n value,\n sx,\n className,\n onChange,\n onClick,\n ...props\n },\n ref\n ) => {\n const RootComponent: ElementType = component || as || 'button';\n\n const handleClick = (event: React.MouseEvent<HTMLButtonElement>) => {\n if (onClick) {\n onClick(event as any);\n }\n if (onChange) {\n onChange(event, value);\n }\n };\n\n const resolvedSx =\n typeof sx === 'function'\n ? sx({})\n : Array.isArray(sx)\n ? Object.assign({}, ...sx.filter(Boolean))\n : sx;\n\n // Icon only state occurs when label should not be displayed unless selected.\n const isIconOnly = showLabel === false;\n\n return (\n <RootComponent\n ref={ref}\n type={RootComponent === 'button' ? 'button' : undefined}\n className={cn(\n 'ui-bottom-navigation-action',\n selected && 'ui-bottom-navigation-action-selected',\n isIconOnly && 'ui-bottom-navigation-action-icon-only',\n classes?.root,\n selected && classes?.selected,\n isIconOnly && classes?.iconOnly,\n className\n )}\n style={{ ...resolvedSx }}\n onClick={handleClick}\n aria-selected={selected}\n {...props}\n >\n <div className={cn('ui-bottom-navigation-action-icon-wrapper', classes?.wrapper)}>\n {icon}\n </div>\n <span className={cn('ui-bottom-navigation-action-label', classes?.label)}>\n {label}\n </span>\n </RootComponent>\n );\n }\n);\n\nBottomNavigationAction.displayName = 'BottomNavigationAction';\n\nexport default BottomNavigationAction;\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":[],"names":[],"mappings":"","file":"chunk-DOTWDKNH.mjs"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":[],"names":[],"mappings":"","file":"chunk-HPXP2BMG.js"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import {a}from'./chunk-HGGQFNUJ.mjs';import {a as a$1}from'./chunk-547MQ4FI.mjs';import D,{useRef,useState,useEffect,useCallback}from'react';import {jsx}from'react/jsx-runtime';function I(n={enter:225,exit:195}){return typeof n=="number"?{enter:n,exit:n}:{enter:n.enter??225,exit:n.exit??195}}var Q={easeInOut:"cubic-bezier(0.25, 1, 0.5, 1)",easeOut:"cubic-bezier(0.16, 1, 0.3, 1)",easeIn:"cubic-bezier(0.7, 0, 0.84, 0)",sharp:"cubic-bezier(0.4, 0, 0.1, 1)"};function R(n="easeInOut"){return Q[n]??n}function H(n,l,i={}){let{appear:h=false,unmountOnExit:y=false,mountOnEnter:S=false}=i,m=I(l),g=n?h?"entering-start":"entered":"exited",[t,c]=useState(g),d=useRef(null),p=useRef(true),f=useRef(i);useEffect(()=>{f.current=i;});let r=useCallback(()=>{d.current!==null&&(clearTimeout(d.current),d.current=null);},[]);return useEffect(()=>{let s=p.current&&!(n&&h);if(p.current&&(p.current=false),!s)return r(),n?(c("entering-start"),f.current.onEnter?.()):(c("exiting-start"),f.current.onExit?.()),r},[n]),useEffect(()=>{if(t==="entering-start"){let s=true,o=null,a=null;return o=requestAnimationFrame(()=>{a=requestAnimationFrame(()=>{s&&c("entering");});}),()=>{s=false,o!==null&&cancelAnimationFrame(o),a!==null&&cancelAnimationFrame(a);}}if(t==="entering")return r(),d.current=setTimeout(()=>{c("entered"),f.current.onEntered?.();},m.enter),r;if(t==="exiting-start"){let s=true,o=null,a=null;return o=requestAnimationFrame(()=>{a=requestAnimationFrame(()=>{s&&c("exiting");});}),()=>{s=false,o!==null&&cancelAnimationFrame(o),a!==null&&cancelAnimationFrame(a);}}if(t==="exiting")return r(),d.current=setTimeout(()=>{c("exited"),f.current.onExited?.();},m.exit),r},[t,m.enter,m.exit,r]),{phase:t,isMounted:t!=="unmounted"&&!(y&&t==="exited")&&!(S&&t==="exited"&&!n)}}var U=D.forwardRef(function({in:l=false,timeout:i={enter:225,exit:195},easing:h="easeInOut",appear:y=false,unmountOnExit:S=false,mountOnEnter:m=false,onEnter:g,onEntered:t,onExit:c,onExited:d,children:p,style:f,className:r,sx:b,component:s="div",...o},a$2){let E=I(i),w=R(h),{phase:e,isMounted:x}=H(l,i,{appear:y,unmountOnExit:S,mountOnEnter:m,onEnter:g,onEntered:t,onExit:c,onExited:d});if(!x)return null;let T=e==="entering"||e==="entered"||e==="exiting-start",u=e==="entering"||e==="exiting",F=l?E.enter:E.exit,P={opacity:T?1:0,transition:u?`opacity ${F}ms ${w}`:void 0,...a(b),...f};return jsx(s,{ref:a$2,className:a$1(r),style:P,...o,children:p})}),ee=D.forwardRef(function({in:l=false,timeout:i={enter:300,exit:225},easing:h="easeInOut",appear:y=false,unmountOnExit:S=false,mountOnEnter:m=false,collapsedSize:g=0,orientation:t="vertical",onEnter:c,onEntered:d,onExit:p,onExited:f,children:r,style:b,className:s,sx:o,component:a$2="div",...E},w){let e=I(i),x=R(h),T=useRef(null),{phase:u,isMounted:F}=H(l,i,{appear:y,unmountOnExit:S,mountOnEnter:m,onEnter:c,onEntered:d,onExit:p,onExited:f});if(!F)return null;let P=u==="entered",C=u==="entering",N=u==="exiting-start",V=u==="exited",G=t==="vertical",X=G?"height":"width",Z=typeof g=="number"?`${g}px`:g,$;if(P)$="auto";else if(V||u==="entering-start")$=Z;else if(N){let v=T.current;$=v?`${G?v.scrollHeight:v.scrollWidth}px`:"auto";}else if(C){let v=T.current;$=v?`${G?v.scrollHeight:v.scrollWidth}px`:Z;}else $=Z;let k=u==="entering"||u==="exiting",_=l?e.enter:e.exit,B={overflow:"hidden",[X]:$,transition:k?`${X} ${_}ms ${x}`:void 0,...a(o),...b},j=a$2,q={overflow:"hidden"};if(!G&&!P&&!V){let v=T.current;v&&v.scrollWidth>0?q.width=`${v.scrollWidth}px`:q.width="max-content";}return jsx(j,{ref:w,className:a$1(s),style:B,...E,children:jsx("div",{ref:T,style:q,children:r})})}),ne=D.forwardRef(function({in:l=false,timeout:i={enter:225,exit:195},easing:h="easeInOut",appear:y=false,unmountOnExit:S=false,mountOnEnter:m=false,onEnter:g,onEntered:t,onExit:c,onExited:d,children:p,style:f,className:r,sx:b,component:s="div",...o},a$2){let E=I(i),w=R(h),{phase:e,isMounted:x}=H(l,i,{appear:y,unmountOnExit:S,mountOnEnter:m,onEnter:g,onEntered:t,onExit:c,onExited:d});if(!x)return null;let T=e==="entering"||e==="entered"||e==="exiting-start",u=e==="entering"||e==="exiting",F=l?E.enter:E.exit,P={opacity:T?1:0,transform:T?"scale(1)":"scale(0.75)",transformOrigin:"0 0",transition:u?[`opacity ${F}ms ${w}`,`transform ${F}ms ${R("easeOut")}`].join(", "):void 0,...a(b),...f};return jsx(s,{ref:a$2,className:a$1(r),style:P,...o,children:p})}),Y={left:{hidden:"translateX(100%)",visible:"translateX(0)"},right:{hidden:"translateX(-100%)",visible:"translateX(0)"},up:{hidden:"translateY(100%)",visible:"translateY(0)"},down:{hidden:"translateY(-100%)",visible:"translateY(0)"}},te=D.forwardRef(function({in:l=false,timeout:i={enter:225,exit:195},easing:h="easeInOut",appear:y=false,unmountOnExit:S=false,mountOnEnter:m=false,direction:g="down",onEnter:t,onEntered:c,onExit:d,onExited:p,children:f,style:r,className:b,sx:s,component:o="div",...a$2},E){let w=I(i),e=R(h),{phase:x,isMounted:T}=H(l,i,{appear:y,unmountOnExit:S,mountOnEnter:m,onEnter:t,onEntered:c,onExit:d,onExited:p});if(!T)return null;let u=x==="entering"||x==="entered"||x==="exiting-start",F=x==="entering"||x==="exiting",P=l?w.enter:w.exit,{hidden:C,visible:N}=Y[g]??Y.down,W={transform:u?N:C,transition:F?`transform ${P}ms ${e}`:void 0,willChange:"transform",...a(s),...r};return jsx(o,{ref:E,className:a$1(b),style:W,...a$2,children:f})}),ie=D.forwardRef(function({in:l=false,timeout:i={enter:225,exit:195},easing:h="easeInOut",appear:y=false,unmountOnExit:S=false,mountOnEnter:m=false,onEnter:g,onEntered:t,onExit:c,onExited:d,children:p,style:f,className:r,sx:b,component:s="div",...o},a$2){let E=I(i),w=R(h),{phase:e,isMounted:x}=H(l,i,{appear:y,unmountOnExit:S,mountOnEnter:m,onEnter:g,onEntered:t,onExit:c,onExited:d});if(!x)return null;let T=e==="entering"||e==="entered"||e==="exiting-start",u=e==="entering"||e==="exiting",F=l?E.enter:E.exit,P={transform:T?"scale(1)":"scale(0)",transition:u?`transform ${F}ms ${w}`:void 0,willChange:"transform",...a(b),...f};return jsx(s,{ref:a$2,className:a$1(r),style:P,...o,children:p})});export{U as a,ee as b,ne as c,te as d,ie as e};//# sourceMappingURL=chunk-IZN52F5Z.mjs.map
|
|
2
|
+
//# sourceMappingURL=chunk-IZN52F5Z.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/components/Transitions/Transitions.tsx"],"names":["getDurations","timeout","EASING_MAP","resolveEasing","easing","useTransition","inProp","options","appear","unmountOnExit","mountOnEnter","durations","initialPhase","phase","setPhase","useState","timerRef","useRef","isFirstRender","optionsRef","useEffect","clearTimer","useCallback","skip","active","frameId1","frameId2","Fade","React","onEnter","onEntered","onExit","onExited","children","style","className","sx","Component","rest","ref","timingFn","isMounted","isVisible","isTransitionActive","duration","transitionStyle","handleSx","jsx","cn","Collapse","collapsedSize","orientation","wrapperRef","isEntered","isEntering","isExitingStart","isExited","isVertical","sizeProp","collapsedVal","size","el","outerStyle","Tag","innerStyle","Grow","SLIDE_TRANSFORM","Slide","direction","hidden","visible","Zoom"],"mappings":"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","file":"chunk-IZN52F5Z.mjs","sourcesContent":["'use client';\n\nimport React, {\n useEffect,\n useRef,\n useState,\n useCallback,\n CSSProperties,\n ElementType,\n} from 'react';\nimport { cn } from '../../utils/cn';\nimport { handleSx } from '../../utils/handleSx';\nimport {\n FadeProps,\n CollapseProps,\n GrowProps,\n SlideProps,\n ZoomProps,\n TransitionDuration,\n TransitionEasing,\n} from './Transitions.types';\n\n// ─────────────────────────────────────────────────────────────────────────────\n// HELPERS\n// ─────────────────────────────────────────────────────────────────────────────\n\ntype TransitionPhase = 'unmounted' | 'entering-start' | 'entering' | 'entered' | 'exiting-start' | 'exiting' | 'exited';\n\n/** Resolve enter / exit duration from the timeout prop */\nfunction getDurations(timeout: TransitionDuration = { enter: 225, exit: 195 }) {\n if (typeof timeout === 'number') return { enter: timeout, exit: timeout };\n return { enter: timeout.enter ?? 225, exit: timeout.exit ?? 195 };\n}\n\n/** Map easing name → CSS timing function */\nconst EASING_MAP: Record<string, string> = {\n easeInOut: 'cubic-bezier(0.25, 1, 0.5, 1)', // smoother easeInOut\n easeOut: 'cubic-bezier(0.16, 1, 0.3, 1)', // premium ultra-smooth easeOut\n easeIn: 'cubic-bezier(0.7, 0, 0.84, 0)', // smooth easeIn\n sharp: 'cubic-bezier(0.4, 0, 0.1, 1)', // elegant deceleration\n};\n\nfunction resolveEasing(easing: TransitionEasing = 'easeInOut'): string {\n return EASING_MAP[easing] ?? easing;\n}\n\n/**\n * Core hook that drives every transition component.\n * Returns the current phase and whether the node should be mounted.\n */\nfunction useTransition(\n inProp: boolean,\n timeout: TransitionDuration,\n options: {\n appear?: boolean;\n unmountOnExit?: boolean;\n mountOnEnter?: boolean;\n onEnter?: () => void;\n onEntered?: () => void;\n onExit?: () => void;\n onExited?: () => void;\n } = {}\n) {\n const { appear = false, unmountOnExit = false, mountOnEnter = false } = options;\n const durations = getDurations(timeout);\n\n // Initial phase: if `in` starts true and `appear` is false → skip animation\n const initialPhase: TransitionPhase =\n inProp\n ? appear\n ? 'entering-start' // will animate in on mount\n : 'entered' // already visible, no animation\n : 'exited';\n\n const [phase, setPhase] = useState<TransitionPhase>(initialPhase);\n const timerRef = useRef<ReturnType<typeof setTimeout> | null>(null);\n const isFirstRender = useRef(true);\n\n // Use ref for options to prevent unnecessary effect re-runs when callbacks are inline\n const optionsRef = useRef(options);\n useEffect(() => {\n optionsRef.current = options;\n });\n\n const clearTimer = useCallback(() => {\n if (timerRef.current !== null) {\n clearTimeout(timerRef.current);\n timerRef.current = null;\n }\n }, []);\n\n useEffect(() => {\n // Only skip on first render if we are not animating-in on mount\n const skip = isFirstRender.current && !(inProp && appear);\n if (isFirstRender.current) {\n isFirstRender.current = false;\n }\n if (skip) return;\n\n clearTimer();\n\n if (inProp) {\n // → ENTERING START (render hidden first to trigger CSS transition)\n setPhase('entering-start');\n optionsRef.current.onEnter?.();\n } else {\n // → EXITING START (render visible first to trigger CSS transition)\n setPhase('exiting-start');\n optionsRef.current.onExit?.();\n }\n\n return clearTimer;\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [inProp]);\n\n // Handle transition from entering-start to entering, and exiting-start to exiting\n useEffect(() => {\n if (phase === 'entering-start') {\n let active = true;\n let frameId1: number | null = null;\n let frameId2: number | null = null;\n\n // Double requestAnimationFrame ensures that the browser has fully painted\n // the initial state (e.g. opacity: 0) before transitioning to entering.\n frameId1 = requestAnimationFrame(() => {\n frameId2 = requestAnimationFrame(() => {\n if (active) {\n setPhase('entering');\n }\n });\n });\n\n return () => {\n active = false;\n if (frameId1 !== null) cancelAnimationFrame(frameId1);\n if (frameId2 !== null) cancelAnimationFrame(frameId2);\n };\n }\n\n if (phase === 'entering') {\n clearTimer();\n timerRef.current = setTimeout(() => {\n setPhase('entered');\n optionsRef.current.onEntered?.();\n }, durations.enter);\n return clearTimer;\n }\n\n if (phase === 'exiting-start') {\n let active = true;\n let frameId1: number | null = null;\n let frameId2: number | null = null;\n\n // Double requestAnimationFrame ensures the browser paints the exiting-start state\n // (e.g. explicit measured height for Collapse) before animating down to collapsedVal.\n frameId1 = requestAnimationFrame(() => {\n frameId2 = requestAnimationFrame(() => {\n if (active) {\n setPhase('exiting');\n }\n });\n });\n\n return () => {\n active = false;\n if (frameId1 !== null) cancelAnimationFrame(frameId1);\n if (frameId2 !== null) cancelAnimationFrame(frameId2);\n };\n }\n\n if (phase === 'exiting') {\n clearTimer();\n timerRef.current = setTimeout(() => {\n setPhase('exited');\n optionsRef.current.onExited?.();\n }, durations.exit);\n return clearTimer;\n }\n }, [phase, durations.enter, durations.exit, clearTimer]);\n\n // Decide whether the child DOM node is mounted\n const isMounted =\n phase !== 'unmounted' &&\n !(unmountOnExit && phase === 'exited') &&\n !(mountOnEnter && phase === 'exited' && !inProp);\n\n return { phase, isMounted };\n}\n\n// ─────────────────────────────────────────────────────────────────────────────\n// FADE\n// ─────────────────────────────────────────────────────────────────────────────\n\n/**\n * **Fade** — transitions the opacity of a child element.\n *\n * ```tsx\n * <Fade in={open} timeout={300}>\n * <div>Hello</div>\n * </Fade>\n * ```\n */\nexport const Fade = React.forwardRef<HTMLElement, FadeProps>(function Fade(\n {\n in: inProp = false,\n timeout = { enter: 225, exit: 195 },\n easing = 'easeInOut',\n appear = false,\n unmountOnExit = false,\n mountOnEnter = false,\n onEnter,\n onEntered,\n onExit,\n onExited,\n children,\n style,\n className,\n sx,\n component: Component = 'div',\n ...rest\n },\n ref\n) {\n const durations = getDurations(timeout);\n const timingFn = resolveEasing(easing);\n\n const { phase, isMounted } = useTransition(inProp, timeout, {\n appear,\n unmountOnExit,\n mountOnEnter,\n onEnter,\n onEntered,\n onExit,\n onExited,\n });\n\n if (!isMounted) return null;\n\n const isVisible = phase === 'entering' || phase === 'entered' || phase === 'exiting-start';\n const isTransitionActive = phase === 'entering' || phase === 'exiting';\n const duration = inProp ? durations.enter : durations.exit;\n\n const transitionStyle: CSSProperties = {\n opacity: isVisible ? 1 : 0,\n transition: isTransitionActive ? `opacity ${duration}ms ${timingFn}` : undefined,\n ...handleSx(sx),\n ...style,\n };\n\n const Tag = Component as ElementType;\n\n return (\n <Tag\n ref={ref as any}\n className={cn(className)}\n style={transitionStyle}\n {...rest}\n >\n {children}\n </Tag>\n );\n});\n\n// ─────────────────────────────────────────────────────────────────────────────\n// COLLAPSE\n// ─────────────────────────────────────────────────────────────────────────────\n\n/**\n * **Collapse** — expands/collapses a child by animating its height (or width).\n *\n * ```tsx\n * <Collapse in={open} timeout={300} orientation=\"vertical\">\n * <div>Content</div>\n * </Collapse>\n * ```\n */\nexport const Collapse = React.forwardRef<HTMLElement, CollapseProps>(function Collapse(\n {\n in: inProp = false,\n timeout = { enter: 300, exit: 225 },\n easing = 'easeInOut',\n appear = false,\n unmountOnExit = false,\n mountOnEnter = false,\n collapsedSize = 0,\n orientation = 'vertical',\n onEnter,\n onEntered,\n onExit,\n onExited,\n children,\n style,\n className,\n sx,\n component: Component = 'div',\n ...rest\n },\n ref\n) {\n const durations = getDurations(timeout);\n const timingFn = resolveEasing(easing);\n const wrapperRef = useRef<HTMLDivElement>(null);\n\n const { phase, isMounted } = useTransition(inProp, timeout, {\n appear,\n unmountOnExit,\n mountOnEnter,\n onEnter,\n onEntered,\n onExit,\n onExited,\n });\n\n if (!isMounted) return null;\n\n const isEntered = phase === 'entered';\n const isEntering = phase === 'entering';\n const isExitingStart = phase === 'exiting-start';\n const isExiting = phase === 'exiting';\n const isExited = phase === 'exited';\n\n const isVertical = orientation === 'vertical';\n const sizeProp: 'height' | 'width' = isVertical ? 'height' : 'width';\n const collapsedVal =\n typeof collapsedSize === 'number' ? `${collapsedSize}px` : collapsedSize;\n\n // Determine the size value for the wrapper\n let size: string;\n if (isEntered) {\n size = 'auto';\n } else if (isExited || phase === 'entering-start') {\n size = collapsedVal;\n } else if (isExitingStart) {\n const el = wrapperRef.current;\n size = el ? `${isVertical ? el.scrollHeight : el.scrollWidth}px` : 'auto';\n } else if (isEntering) {\n const el = wrapperRef.current;\n size = el ? `${isVertical ? el.scrollHeight : el.scrollWidth}px` : collapsedVal;\n } else { // exiting\n size = collapsedVal;\n }\n\n const isTransitionActive = phase === 'entering' || phase === 'exiting';\n const duration = inProp ? durations.enter : durations.exit;\n\n const outerStyle: CSSProperties = {\n overflow: 'hidden',\n [sizeProp]: size,\n transition: isTransitionActive\n ? `${sizeProp} ${duration}ms ${timingFn}`\n : undefined,\n ...handleSx(sx),\n ...style,\n };\n\n const Tag = Component as ElementType;\n\n const innerStyle: CSSProperties = {\n overflow: 'hidden',\n };\n\n if (!isVertical && !isEntered && !isExited) {\n const el = wrapperRef.current;\n if (el && el.scrollWidth > 0) {\n innerStyle.width = `${el.scrollWidth}px`;\n } else {\n innerStyle.width = 'max-content';\n }\n }\n\n return (\n <Tag\n ref={ref as any}\n className={cn(className)}\n style={outerStyle}\n {...rest}\n >\n {/* inner wrapper to measure real content size */}\n <div ref={wrapperRef} style={innerStyle}>\n {children}\n </div>\n </Tag>\n );\n});\n\n// ─────────────────────────────────────────────────────────────────────────────\n// GROW\n// ─────────────────────────────────────────────────────────────────────────────\n\n/**\n * **Grow** — expands outwards from the child's origin (scale + fade).\n *\n * ```tsx\n * <Grow in={open} timeout={300}>\n * <Paper>Popover content</Paper>\n * </Grow>\n * ```\n */\nexport const Grow = React.forwardRef<HTMLElement, GrowProps>(function Grow(\n {\n in: inProp = false,\n timeout = { enter: 225, exit: 195 },\n easing = 'easeInOut',\n appear = false,\n unmountOnExit = false,\n mountOnEnter = false,\n onEnter,\n onEntered,\n onExit,\n onExited,\n children,\n style,\n className,\n sx,\n component: Component = 'div',\n ...rest\n },\n ref\n) {\n const durations = getDurations(timeout);\n const timingFn = resolveEasing(easing);\n\n const { phase, isMounted } = useTransition(inProp, timeout, {\n appear,\n unmountOnExit,\n mountOnEnter,\n onEnter,\n onEntered,\n onExit,\n onExited,\n });\n\n if (!isMounted) return null;\n\n const isVisible = phase === 'entering' || phase === 'entered' || phase === 'exiting-start';\n const isTransitionActive = phase === 'entering' || phase === 'exiting';\n const duration = inProp ? durations.enter : durations.exit;\n\n const transitionStyle: CSSProperties = {\n opacity: isVisible ? 1 : 0,\n transform: isVisible ? 'scale(1)' : 'scale(0.75)',\n transformOrigin: '0 0',\n transition: isTransitionActive\n ? [\n `opacity ${duration}ms ${timingFn}`,\n `transform ${duration}ms ${resolveEasing('easeOut')}`,\n ].join(', ')\n : undefined,\n ...handleSx(sx),\n ...style,\n };\n\n const Tag = Component as ElementType;\n\n return (\n <Tag\n ref={ref as any}\n className={cn(className)}\n style={transitionStyle}\n {...rest}\n >\n {children}\n </Tag>\n );\n});\n\n// ─────────────────────────────────────────────────────────────────────────────\n// SLIDE\n// ─────────────────────────────────────────────────────────────────────────────\n\nconst SLIDE_TRANSFORM: Record<string, { hidden: string; visible: string }> = {\n left: { hidden: 'translateX(100%)', visible: 'translateX(0)' },\n right: { hidden: 'translateX(-100%)', visible: 'translateX(0)' },\n up: { hidden: 'translateY(100%)', visible: 'translateY(0)' },\n down: { hidden: 'translateY(-100%)', visible: 'translateY(0)' },\n};\n\n/**\n * **Slide** — slides a child into view from one of four directions.\n *\n * ```tsx\n * <Slide in={open} direction=\"up\" timeout={300}>\n * <Paper>Drawer content</Paper>\n * </Slide>\n * ```\n */\nexport const Slide = React.forwardRef<HTMLElement, SlideProps>(function Slide(\n {\n in: inProp = false,\n timeout = { enter: 225, exit: 195 },\n easing = 'easeInOut',\n appear = false,\n unmountOnExit = false,\n mountOnEnter = false,\n direction = 'down',\n onEnter,\n onEntered,\n onExit,\n onExited,\n children,\n style,\n className,\n sx,\n component: Component = 'div',\n ...rest\n },\n ref\n) {\n const durations = getDurations(timeout);\n const timingFn = resolveEasing(easing);\n\n const { phase, isMounted } = useTransition(inProp, timeout, {\n appear,\n unmountOnExit,\n mountOnEnter,\n onEnter,\n onEntered,\n onExit,\n onExited,\n });\n\n if (!isMounted) return null;\n\n const isVisible = phase === 'entering' || phase === 'entered' || phase === 'exiting-start';\n const isTransitionActive = phase === 'entering' || phase === 'exiting';\n const duration = inProp ? durations.enter : durations.exit;\n const { hidden, visible } = SLIDE_TRANSFORM[direction] ?? SLIDE_TRANSFORM.down;\n\n const transitionStyle: CSSProperties = {\n transform: isVisible ? visible : hidden,\n transition: isTransitionActive ? `transform ${duration}ms ${timingFn}` : undefined,\n willChange: 'transform',\n ...handleSx(sx),\n ...style,\n };\n\n const Tag = Component as ElementType;\n\n return (\n <Tag\n ref={ref as any}\n className={cn(className)}\n style={transitionStyle}\n {...rest}\n >\n {children}\n </Tag>\n );\n});\n\n// ─────────────────────────────────────────────────────────────────────────────\n// ZOOM\n// ─────────────────────────────────────────────────────────────────────────────\n\n/**\n * **Zoom** — scales a child from 0 → 1 (or 1 → 0 on exit).\n *\n * ```tsx\n * <Zoom in={open} timeout={200}>\n * <Fab>+</Fab>\n * </Zoom>\n * ```\n */\nexport const Zoom = React.forwardRef<HTMLElement, ZoomProps>(function Zoom(\n {\n in: inProp = false,\n timeout = { enter: 225, exit: 195 },\n easing = 'easeInOut',\n appear = false,\n unmountOnExit = false,\n mountOnEnter = false,\n onEnter,\n onEntered,\n onExit,\n onExited,\n children,\n style,\n className,\n sx,\n component: Component = 'div',\n ...rest\n },\n ref\n) {\n const durations = getDurations(timeout);\n const timingFn = resolveEasing(easing);\n\n const { phase, isMounted } = useTransition(inProp, timeout, {\n appear,\n unmountOnExit,\n mountOnEnter,\n onEnter,\n onEntered,\n onExit,\n onExited,\n });\n\n if (!isMounted) return null;\n\n const isVisible = phase === 'entering' || phase === 'entered' || phase === 'exiting-start';\n const isTransitionActive = phase === 'entering' || phase === 'exiting';\n const duration = inProp ? durations.enter : durations.exit;\n\n const transitionStyle: CSSProperties = {\n transform: isVisible ? 'scale(1)' : 'scale(0)',\n transition: isTransitionActive ? `transform ${duration}ms ${timingFn}` : undefined,\n willChange: 'transform',\n ...handleSx(sx),\n ...style,\n };\n\n const Tag = Component as ElementType;\n\n return (\n <Tag\n ref={ref as any}\n className={cn(className)}\n style={transitionStyle}\n {...rest}\n >\n {children}\n </Tag>\n );\n});\n"]}
|
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
import {a as a$1}from'./chunk-P4WXCRNI.mjs';import {a}from'./chunk-547MQ4FI.mjs';import d,{forwardRef}from'react';import {jsxs,Fragment,jsx}from'react/jsx-runtime';var N={p:"padding",pt:"paddingTop",pr:"paddingRight",pb:"paddingBottom",pl:"paddingLeft",px:["paddingLeft","paddingRight"],py:["paddingTop","paddingBottom"],m:"margin",mt:"marginTop",mr:"marginRight",mb:"marginBottom",ml:"marginLeft",mx:["marginLeft","marginRight"],my:["marginTop","marginBottom"],bgcolor:"backgroundColor"},B=a=>{if(!a||typeof a!="object")return a;let s={};return Object.keys(a).forEach(r=>{let i=a[r],n=N[r];n?Array.isArray(n)?n.forEach(m=>{s[m]=i;}):s[n]=i:s[r]=i;}),s},_=a=>{if(!a)return {};let s={};return typeof a=="function"?s=a({}):Array.isArray(a)?s=a.reduce((r,i)=>!i||typeof i=="boolean"?r:typeof i=="function"?{...r,...i({})}:{...r,...i},{}):s=a,B(s)},x=["xs","sm","md","lg","xl"];function f(a,s){let r={};return a===void 0?(s!==void 0&&(r.xs=s),r):(Array.isArray(a)?a.forEach((i,n)=>{n<x.length&&i!==null&&i!==void 0&&(r[x[n]]=i);}):typeof a=="object"&&a!==null?Object.entries(a).forEach(([i,n])=>{n!==void 0&&(r[i]=n);}):r.xs=a,r)}var M=a=>{if(a!==void 0)return typeof a=="number"?`${a*8}px`:a},Y=`
|
|
2
|
+
.ui-stack {
|
|
3
|
+
display: flex;
|
|
4
|
+
box-sizing: border-box;
|
|
5
|
+
}
|
|
6
|
+
|
|
7
|
+
@media (min-width: 0px) {
|
|
8
|
+
.ui-stack {
|
|
9
|
+
flex-direction: var(--ui-stack-direction-xs, column);
|
|
10
|
+
flex-wrap: var(--ui-stack-wrap-xs, nowrap);
|
|
11
|
+
}
|
|
12
|
+
.ui-stack--use-gap {
|
|
13
|
+
gap: var(--ui-stack-gap-xs, 0px);
|
|
14
|
+
}
|
|
15
|
+
.ui-stack--use-margin > :not(style) ~ :not(style) {
|
|
16
|
+
margin-top: var(--ui-stack-margin-top-xs, 0px);
|
|
17
|
+
margin-left: var(--ui-stack-margin-left-xs, 0px);
|
|
18
|
+
margin-bottom: var(--ui-stack-margin-bottom-xs, 0px);
|
|
19
|
+
margin-right: var(--ui-stack-margin-right-xs, 0px);
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
@media (min-width: 600px) {
|
|
24
|
+
.ui-stack {
|
|
25
|
+
flex-direction: var(--ui-stack-direction-sm, var(--ui-stack-direction-xs, column));
|
|
26
|
+
flex-wrap: var(--ui-stack-wrap-sm, var(--ui-stack-wrap-xs, nowrap));
|
|
27
|
+
}
|
|
28
|
+
.ui-stack--use-gap {
|
|
29
|
+
gap: var(--ui-stack-gap-sm, var(--ui-stack-gap-xs, 0px));
|
|
30
|
+
}
|
|
31
|
+
.ui-stack--use-margin > :not(style) ~ :not(style) {
|
|
32
|
+
margin-top: var(--ui-stack-margin-top-sm, var(--ui-stack-margin-top-xs, 0px));
|
|
33
|
+
margin-left: var(--ui-stack-margin-left-sm, var(--ui-stack-margin-left-xs, 0px));
|
|
34
|
+
margin-bottom: var(--ui-stack-margin-bottom-sm, var(--ui-stack-margin-bottom-xs, 0px));
|
|
35
|
+
margin-right: var(--ui-stack-margin-right-sm, var(--ui-stack-margin-right-xs, 0px));
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
@media (min-width: 900px) {
|
|
40
|
+
.ui-stack {
|
|
41
|
+
flex-direction: var(--ui-stack-direction-md, var(--ui-stack-direction-sm, var(--ui-stack-direction-xs, column)));
|
|
42
|
+
flex-wrap: var(--ui-stack-wrap-md, var(--ui-stack-wrap-sm, var(--ui-stack-wrap-xs, nowrap)));
|
|
43
|
+
}
|
|
44
|
+
.ui-stack--use-gap {
|
|
45
|
+
gap: var(--ui-stack-gap-md, var(--ui-stack-gap-sm, var(--ui-stack-gap-xs, 0px)));
|
|
46
|
+
}
|
|
47
|
+
.ui-stack--use-margin > :not(style) ~ :not(style) {
|
|
48
|
+
margin-top: var(--ui-stack-margin-top-md, var(--ui-stack-margin-top-sm, var(--ui-stack-margin-top-xs, 0px)));
|
|
49
|
+
margin-left: var(--ui-stack-margin-left-md, var(--ui-stack-margin-left-sm, var(--ui-stack-margin-left-xs, 0px)));
|
|
50
|
+
margin-bottom: var(--ui-stack-margin-bottom-md, var(--ui-stack-margin-bottom-sm, var(--ui-stack-margin-bottom-xs, 0px)));
|
|
51
|
+
margin-right: var(--ui-stack-margin-right-md, var(--ui-stack-margin-right-sm, var(--ui-stack-margin-right-xs, 0px)));
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
@media (min-width: 1200px) {
|
|
56
|
+
.ui-stack {
|
|
57
|
+
flex-direction: var(--ui-stack-direction-lg, var(--ui-stack-direction-md, var(--ui-stack-direction-sm, var(--ui-stack-direction-xs, column))));
|
|
58
|
+
flex-wrap: var(--ui-stack-wrap-lg, var(--ui-stack-wrap-md, var(--ui-stack-wrap-sm, var(--ui-stack-wrap-xs, nowrap))));
|
|
59
|
+
}
|
|
60
|
+
.ui-stack--use-gap {
|
|
61
|
+
gap: var(--ui-stack-gap-lg, var(--ui-stack-gap-md, var(--ui-stack-gap-sm, var(--ui-stack-gap-xs, 0px))));
|
|
62
|
+
}
|
|
63
|
+
.ui-stack--use-margin > :not(style) ~ :not(style) {
|
|
64
|
+
margin-top: var(--ui-stack-margin-top-lg, var(--ui-stack-margin-top-md, var(--ui-stack-margin-top-sm, var(--ui-stack-margin-top-xs, 0px))));
|
|
65
|
+
margin-left: var(--ui-stack-margin-left-lg, var(--ui-stack-margin-left-md, var(--ui-stack-margin-left-sm, var(--ui-stack-margin-left-xs, 0px))));
|
|
66
|
+
margin-bottom: var(--ui-stack-margin-bottom-lg, var(--ui-stack-margin-bottom-md, var(--ui-stack-margin-bottom-sm, var(--ui-stack-margin-bottom-xs, 0px))));
|
|
67
|
+
margin-right: var(--ui-stack-margin-right-lg, var(--ui-stack-margin-right-md, var(--ui-stack-margin-right-sm, var(--ui-stack-margin-right-xs, 0px))));
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
@media (min-width: 1536px) {
|
|
72
|
+
.ui-stack {
|
|
73
|
+
flex-direction: var(--ui-stack-direction-xl, var(--ui-stack-direction-lg, var(--ui-stack-direction-md, var(--ui-stack-direction-sm, var(--ui-stack-direction-xs, column)))));
|
|
74
|
+
flex-wrap: var(--ui-stack-wrap-xl, var(--ui-stack-wrap-lg, var(--ui-stack-wrap-md, var(--ui-stack-wrap-sm, var(--ui-stack-wrap-xs, nowrap)))));
|
|
75
|
+
}
|
|
76
|
+
.ui-stack--use-gap {
|
|
77
|
+
gap: var(--ui-stack-gap-xl, var(--ui-stack-gap-lg, var(--ui-stack-gap-md, var(--ui-stack-gap-sm, var(--ui-stack-gap-xs, 0px)))));
|
|
78
|
+
}
|
|
79
|
+
.ui-stack--use-margin > :not(style) ~ :not(style) {
|
|
80
|
+
margin-top: var(--ui-stack-margin-top-xl, var(--ui-stack-margin-top-lg, var(--ui-stack-margin-top-md, var(--ui-stack-margin-top-sm, var(--ui-stack-margin-top-xs, 0px)))));
|
|
81
|
+
margin-left: var(--ui-stack-margin-left-xl, var(--ui-stack-margin-left-lg, var(--ui-stack-margin-left-md, var(--ui-stack-margin-left-sm, var(--ui-stack-margin-left-xs, 0px)))));
|
|
82
|
+
margin-bottom: var(--ui-stack-margin-bottom-xl, var(--ui-stack-margin-bottom-lg, var(--ui-stack-margin-bottom-md, var(--ui-stack-margin-bottom-sm, var(--ui-stack-margin-bottom-xs, 0px)))));
|
|
83
|
+
margin-right: var(--ui-stack-margin-right-xl, var(--ui-stack-margin-right-lg, var(--ui-stack-margin-right-md, var(--ui-stack-margin-right-sm, var(--ui-stack-margin-right-xs, 0px)))));
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
`,z=forwardRef(({component:a$1,as:s,children:r,direction:i="column",spacing:n=0,flexWrap:m,divider:g,useFlexGap:v=false,sx:R,className:T,style:P,...E},$)=>{let C=a$1||s||"div",A=_(R),u=f(i,"column"),h=f(n,0),y=f(m),e={},c="column",w=0;x.forEach(t=>{u[t]!==void 0&&(c=u[t]),h[t]!==void 0&&(w=h[t]),u[t]!==void 0&&(e[`--ui-stack-direction-${t}`]=u[t]),y[t]!==void 0&&(e[`--ui-stack-wrap-${t}`]=y[t]);let o=M(w);o!==void 0&&(e[`--ui-stack-gap-${t}`]=o),v||(e[`--ui-stack-margin-top-${t}`]="0px",e[`--ui-stack-margin-left-${t}`]="0px",e[`--ui-stack-margin-bottom-${t}`]="0px",e[`--ui-stack-margin-right-${t}`]="0px",c==="column"?e[`--ui-stack-margin-top-${t}`]=o||"0px":c==="column-reverse"?e[`--ui-stack-margin-bottom-${t}`]=o||"0px":c==="row"?e[`--ui-stack-margin-left-${t}`]=o||"0px":c==="row-reverse"&&(e[`--ui-stack-margin-right-${t}`]=o||"0px"));});let l=d.Children.toArray(r).filter(t=>t!=null&&typeof t!="boolean"),p=r;g&&l.length>0&&(p=[],l.forEach((t,o)=>{p.push(t),o<l.length-1&&p.push(d.isValidElement(g)?d.cloneElement(g,{key:`divider-${o}`}):g);}));let L={...e,...A,...P};return jsxs(Fragment,{children:[jsx("style",{dangerouslySetInnerHTML:{__html:Y}}),jsx(C,{ref:$,className:a("ui-stack",v?"ui-stack--use-gap":"ui-stack--use-margin",T),style:L,...E,children:p})]})});z.displayName="Stack";var K=`
|
|
87
|
+
.ui-stack-item {
|
|
88
|
+
transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1);
|
|
89
|
+
}
|
|
90
|
+
.ui-stack-item:hover {
|
|
91
|
+
transform: translateY(-4px);
|
|
92
|
+
box-shadow: 0px 12px 20px -8px rgba(99, 102, 241, 0.15), 0px 4px 12px -2px rgba(0, 0, 0, 0.05) !important;
|
|
93
|
+
border-color: #6366f1 !important;
|
|
94
|
+
color: #4f46e5 !important;
|
|
95
|
+
}
|
|
96
|
+
`,D=forwardRef(({className:a$2,sx:s,children:r,style:i,...n},m)=>jsxs(a$1,{ref:m,elevation:n.elevation??0,variant:n.variant??"outlined",className:a("ui-stack-item",a$2),sx:{padding:"14px 20px",background:"linear-gradient(135deg, #ffffff 0%, #f8fafc 100%)",borderColor:"#e2e8f0",color:"#0f172a",fontWeight:600,fontSize:"14px",letterSpacing:"0.01em",textAlign:"center",borderRadius:"12px",boxShadow:"0px 4px 6px -1px rgba(0, 0, 0, 0.03), 0px 2px 4px -1px rgba(0, 0, 0, 0.02)",...s},style:{...i},...n,children:[jsx("style",{dangerouslySetInnerHTML:{__html:K}}),r]}));D.displayName="Item";export{z as a,D as b};//# sourceMappingURL=chunk-KKRI6OSJ.mjs.map
|
|
97
|
+
//# sourceMappingURL=chunk-KKRI6OSJ.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/components/Stack/Stack.tsx","../src/components/Stack/Item.tsx"],"names":["shorthandMap","resolveShorthands","style","resolved","key","value","target","t","resolveSx","sx","rawStyle","acc","curr","BREAKPOINT_KEYS","resolveResponsiveProp","val","defaultValue","result","item","index","bp","getSpacingValue","spacingVal","STYLES","Stack","forwardRef","component","as","children","direction","spacing","flexWrap","divider","useFlexGap","className","props","ref","Component","sxStyle","directions","spacings","wraps","styleVars","currentDirection","currentSpacing","resolvedSpacing","validChildren","React","child","stackChildren","mergedStyle","jsxs","Fragment","jsx","cn","Item","Paper"],"mappings":"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","file":"chunk-KKRI6OSJ.mjs","sourcesContent":["'use client';\n\nimport React, { forwardRef, ElementType } from 'react';\nimport { cn } from '../../utils/cn';\nimport { StackProps, ResponsiveStyleValue } from './types';\nimport { SxProp } from '../../types';\n\nconst shorthandMap: Record<string, string | string[]> = {\n p: 'padding',\n pt: 'paddingTop',\n pr: 'paddingRight',\n pb: 'paddingBottom',\n pl: 'paddingLeft',\n px: ['paddingLeft', 'paddingRight'],\n py: ['paddingTop', 'paddingBottom'],\n m: 'margin',\n mt: 'marginTop',\n mr: 'marginRight',\n mb: 'marginBottom',\n ml: 'marginLeft',\n mx: ['marginLeft', 'marginRight'],\n my: ['marginTop', 'marginBottom'],\n bgcolor: 'backgroundColor',\n};\n\nconst resolveShorthands = (style: any): React.CSSProperties => {\n if (!style || typeof style !== 'object') return style;\n \n const resolved: any = {};\n Object.keys(style).forEach((key) => {\n const value = style[key];\n const target = shorthandMap[key];\n \n if (target) {\n if (Array.isArray(target)) {\n target.forEach((t) => {\n resolved[t] = value;\n });\n } else {\n resolved[target] = value;\n }\n } else {\n resolved[key] = value;\n }\n });\n return resolved;\n};\n\nconst resolveSx = (sx: SxProp | undefined): React.CSSProperties => {\n if (!sx) return {};\n\n let rawStyle: any = {};\n\n if (typeof sx === 'function') {\n rawStyle = sx({});\n } else if (Array.isArray(sx)) {\n rawStyle = sx.reduce((acc, curr) => {\n if (!curr || typeof curr === 'boolean') return acc;\n if (typeof curr === 'function') {\n return { ...acc, ...curr({}) };\n }\n return { ...acc, ...curr };\n }, {} as any);\n } else {\n rawStyle = sx;\n }\n\n return resolveShorthands(rawStyle);\n};\n\nconst BREAKPOINT_KEYS = ['xs', 'sm', 'md', 'lg', 'xl'] as const;\n\nfunction resolveResponsiveProp<T>(\n val: ResponsiveStyleValue<T> | undefined,\n defaultValue?: T\n): Record<string, T | undefined> {\n const result: Record<string, T | undefined> = {};\n \n if (val === undefined) {\n if (defaultValue !== undefined) {\n result['xs'] = defaultValue;\n }\n return result;\n }\n \n if (Array.isArray(val)) {\n val.forEach((item, index) => {\n if (index < BREAKPOINT_KEYS.length && item !== null && item !== undefined) {\n result[BREAKPOINT_KEYS[index]] = item;\n }\n });\n } else if (typeof val === 'object' && val !== null) {\n Object.entries(val).forEach(([bp, value]) => {\n if (value !== undefined) {\n result[bp] = value as T;\n }\n });\n } else {\n result['xs'] = val as T;\n }\n \n return result;\n}\n\nconst getSpacingValue = (spacingVal: number | string | undefined): string | undefined => {\n if (spacingVal === undefined) return undefined;\n if (typeof spacingVal === 'number') {\n return `${spacingVal * 8}px`;\n }\n return spacingVal;\n};\n\nconst STYLES = `\n .ui-stack {\n display: flex;\n box-sizing: border-box;\n }\n \n @media (min-width: 0px) {\n .ui-stack {\n flex-direction: var(--ui-stack-direction-xs, column);\n flex-wrap: var(--ui-stack-wrap-xs, nowrap);\n }\n .ui-stack--use-gap {\n gap: var(--ui-stack-gap-xs, 0px);\n }\n .ui-stack--use-margin > :not(style) ~ :not(style) {\n margin-top: var(--ui-stack-margin-top-xs, 0px);\n margin-left: var(--ui-stack-margin-left-xs, 0px);\n margin-bottom: var(--ui-stack-margin-bottom-xs, 0px);\n margin-right: var(--ui-stack-margin-right-xs, 0px);\n }\n }\n\n @media (min-width: 600px) {\n .ui-stack {\n flex-direction: var(--ui-stack-direction-sm, var(--ui-stack-direction-xs, column));\n flex-wrap: var(--ui-stack-wrap-sm, var(--ui-stack-wrap-xs, nowrap));\n }\n .ui-stack--use-gap {\n gap: var(--ui-stack-gap-sm, var(--ui-stack-gap-xs, 0px));\n }\n .ui-stack--use-margin > :not(style) ~ :not(style) {\n margin-top: var(--ui-stack-margin-top-sm, var(--ui-stack-margin-top-xs, 0px));\n margin-left: var(--ui-stack-margin-left-sm, var(--ui-stack-margin-left-xs, 0px));\n margin-bottom: var(--ui-stack-margin-bottom-sm, var(--ui-stack-margin-bottom-xs, 0px));\n margin-right: var(--ui-stack-margin-right-sm, var(--ui-stack-margin-right-xs, 0px));\n }\n }\n\n @media (min-width: 900px) {\n .ui-stack {\n flex-direction: var(--ui-stack-direction-md, var(--ui-stack-direction-sm, var(--ui-stack-direction-xs, column)));\n flex-wrap: var(--ui-stack-wrap-md, var(--ui-stack-wrap-sm, var(--ui-stack-wrap-xs, nowrap)));\n }\n .ui-stack--use-gap {\n gap: var(--ui-stack-gap-md, var(--ui-stack-gap-sm, var(--ui-stack-gap-xs, 0px)));\n }\n .ui-stack--use-margin > :not(style) ~ :not(style) {\n margin-top: var(--ui-stack-margin-top-md, var(--ui-stack-margin-top-sm, var(--ui-stack-margin-top-xs, 0px)));\n margin-left: var(--ui-stack-margin-left-md, var(--ui-stack-margin-left-sm, var(--ui-stack-margin-left-xs, 0px)));\n margin-bottom: var(--ui-stack-margin-bottom-md, var(--ui-stack-margin-bottom-sm, var(--ui-stack-margin-bottom-xs, 0px)));\n margin-right: var(--ui-stack-margin-right-md, var(--ui-stack-margin-right-sm, var(--ui-stack-margin-right-xs, 0px)));\n }\n }\n\n @media (min-width: 1200px) {\n .ui-stack {\n flex-direction: var(--ui-stack-direction-lg, var(--ui-stack-direction-md, var(--ui-stack-direction-sm, var(--ui-stack-direction-xs, column))));\n flex-wrap: var(--ui-stack-wrap-lg, var(--ui-stack-wrap-md, var(--ui-stack-wrap-sm, var(--ui-stack-wrap-xs, nowrap))));\n }\n .ui-stack--use-gap {\n gap: var(--ui-stack-gap-lg, var(--ui-stack-gap-md, var(--ui-stack-gap-sm, var(--ui-stack-gap-xs, 0px))));\n }\n .ui-stack--use-margin > :not(style) ~ :not(style) {\n margin-top: var(--ui-stack-margin-top-lg, var(--ui-stack-margin-top-md, var(--ui-stack-margin-top-sm, var(--ui-stack-margin-top-xs, 0px))));\n margin-left: var(--ui-stack-margin-left-lg, var(--ui-stack-margin-left-md, var(--ui-stack-margin-left-sm, var(--ui-stack-margin-left-xs, 0px))));\n margin-bottom: var(--ui-stack-margin-bottom-lg, var(--ui-stack-margin-bottom-md, var(--ui-stack-margin-bottom-sm, var(--ui-stack-margin-bottom-xs, 0px))));\n margin-right: var(--ui-stack-margin-right-lg, var(--ui-stack-margin-right-md, var(--ui-stack-margin-right-sm, var(--ui-stack-margin-right-xs, 0px))));\n }\n }\n\n @media (min-width: 1536px) {\n .ui-stack {\n flex-direction: var(--ui-stack-direction-xl, var(--ui-stack-direction-lg, var(--ui-stack-direction-md, var(--ui-stack-direction-sm, var(--ui-stack-direction-xs, column)))));\n flex-wrap: var(--ui-stack-wrap-xl, var(--ui-stack-wrap-lg, var(--ui-stack-wrap-md, var(--ui-stack-wrap-sm, var(--ui-stack-wrap-xs, nowrap)))));\n }\n .ui-stack--use-gap {\n gap: var(--ui-stack-gap-xl, var(--ui-stack-gap-lg, var(--ui-stack-gap-md, var(--ui-stack-gap-sm, var(--ui-stack-gap-xs, 0px)))));\n }\n .ui-stack--use-margin > :not(style) ~ :not(style) {\n margin-top: var(--ui-stack-margin-top-xl, var(--ui-stack-margin-top-lg, var(--ui-stack-margin-top-md, var(--ui-stack-margin-top-sm, var(--ui-stack-margin-top-xs, 0px)))));\n margin-left: var(--ui-stack-margin-left-xl, var(--ui-stack-margin-left-lg, var(--ui-stack-margin-left-md, var(--ui-stack-margin-left-sm, var(--ui-stack-margin-left-xs, 0px)))));\n margin-bottom: var(--ui-stack-margin-bottom-xl, var(--ui-stack-margin-bottom-lg, var(--ui-stack-margin-bottom-md, var(--ui-stack-margin-bottom-sm, var(--ui-stack-margin-bottom-xs, 0px)))));\n margin-right: var(--ui-stack-margin-right-xl, var(--ui-stack-margin-right-lg, var(--ui-stack-margin-right-md, var(--ui-stack-margin-right-sm, var(--ui-stack-margin-right-xs, 0px)))));\n }\n }\n`;\n\nexport const Stack = forwardRef(<T extends ElementType = 'div'>(\n {\n component,\n as,\n children,\n direction = 'column',\n spacing = 0,\n flexWrap,\n divider,\n useFlexGap = false,\n sx,\n className,\n style,\n ...props\n }: StackProps<T>,\n ref: any\n) => {\n const Component = component || as || 'div';\n const sxStyle = resolveSx(sx);\n\n const directions = resolveResponsiveProp(direction, 'column');\n const spacings = resolveResponsiveProp(spacing, 0);\n const wraps = resolveResponsiveProp(flexWrap);\n\n const styleVars: Record<string, string> = {};\n let currentDirection = 'column';\n let currentSpacing: number | string = 0;\n\n BREAKPOINT_KEYS.forEach((bp) => {\n if (directions[bp] !== undefined) {\n currentDirection = directions[bp]!;\n }\n if (spacings[bp] !== undefined) {\n currentSpacing = spacings[bp]!;\n }\n\n if (directions[bp] !== undefined) {\n styleVars[`--ui-stack-direction-${bp}`] = directions[bp]!;\n }\n if (wraps[bp] !== undefined) {\n styleVars[`--ui-stack-wrap-${bp}`] = wraps[bp]!;\n }\n\n const resolvedSpacing = getSpacingValue(currentSpacing);\n if (resolvedSpacing !== undefined) {\n styleVars[`--ui-stack-gap-${bp}`] = resolvedSpacing;\n }\n\n if (!useFlexGap) {\n styleVars[`--ui-stack-margin-top-${bp}`] = '0px';\n styleVars[`--ui-stack-margin-left-${bp}`] = '0px';\n styleVars[`--ui-stack-margin-bottom-${bp}`] = '0px';\n styleVars[`--ui-stack-margin-right-${bp}`] = '0px';\n\n if (currentDirection === 'column') {\n styleVars[`--ui-stack-margin-top-${bp}`] = resolvedSpacing || '0px';\n } else if (currentDirection === 'column-reverse') {\n styleVars[`--ui-stack-margin-bottom-${bp}`] = resolvedSpacing || '0px';\n } else if (currentDirection === 'row') {\n styleVars[`--ui-stack-margin-left-${bp}`] = resolvedSpacing || '0px';\n } else if (currentDirection === 'row-reverse') {\n styleVars[`--ui-stack-margin-right-${bp}`] = resolvedSpacing || '0px';\n }\n }\n });\n\n const validChildren = React.Children.toArray(children).filter((child) => {\n return child !== null && child !== undefined && typeof child !== 'boolean';\n });\n\n let stackChildren = children;\n if (divider && validChildren.length > 0) {\n stackChildren = [];\n validChildren.forEach((child, index) => {\n (stackChildren as React.ReactNode[]).push(child);\n if (index < validChildren.length - 1) {\n (stackChildren as React.ReactNode[]).push(\n React.isValidElement(divider)\n ? React.cloneElement(divider as React.ReactElement, {\n key: `divider-${index}`,\n })\n : divider\n );\n }\n });\n }\n\n const mergedStyle = {\n ...styleVars,\n ...sxStyle,\n ...style,\n } as React.CSSProperties;\n\n return (\n <>\n <style dangerouslySetInnerHTML={{ __html: STYLES }} />\n <Component\n ref={ref}\n className={cn(\n 'ui-stack',\n useFlexGap ? 'ui-stack--use-gap' : 'ui-stack--use-margin',\n className\n )}\n style={mergedStyle}\n {...props}\n >\n {stackChildren}\n </Component>\n </>\n );\n});\n\nStack.displayName = 'Stack';\n\nexport default Stack;\n","'use client';\n\nimport React, { forwardRef } from 'react';\nimport { cn } from '../../utils/cn';\nimport { Paper } from '../Paper/Paper';\nimport { PaperProps } from '../Paper/Paper.types';\n\nexport interface ItemProps extends PaperProps {\n /**\n * Custom styles using the sx prop pattern.\n */\n sx?: any;\n}\n\nconst STYLES = `\n .ui-stack-item {\n transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1);\n }\n .ui-stack-item:hover {\n transform: translateY(-4px);\n box-shadow: 0px 12px 20px -8px rgba(99, 102, 241, 0.15), 0px 4px 12px -2px rgba(0, 0, 0, 0.05) !important;\n border-color: #6366f1 !important;\n color: #4f46e5 !important;\n }\n`;\n\nexport const Item = forwardRef<HTMLElement, ItemProps>(\n ({ className, sx, children, style, ...props }, ref) => {\n return (\n <Paper\n ref={ref}\n elevation={props.elevation ?? 0}\n variant={props.variant ?? 'outlined'}\n className={cn('ui-stack-item', className)}\n sx={{\n padding: '14px 20px',\n background: 'linear-gradient(135deg, #ffffff 0%, #f8fafc 100%)',\n borderColor: '#e2e8f0',\n color: '#0f172a',\n fontWeight: 600,\n fontSize: '14px',\n letterSpacing: '0.01em',\n textAlign: 'center',\n borderRadius: '12px',\n boxShadow: '0px 4px 6px -1px rgba(0, 0, 0, 0.03), 0px 2px 4px -1px rgba(0, 0, 0, 0.02)',\n ...sx,\n }}\n style={{\n ...style,\n }}\n {...props}\n >\n <style dangerouslySetInnerHTML={{ __html: STYLES }} />\n {children}\n </Paper>\n );\n }\n);\n\nItem.displayName = 'Item';\n\nexport default Item;\n"]}
|