dhanasekar-ui 1.2.0 → 1.4.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.
Files changed (195) hide show
  1. package/dist/chunk-2CO3UUBT.js +170 -0
  2. package/dist/chunk-2CO3UUBT.js.map +1 -0
  3. package/dist/chunk-3HGMPMXD.js +61 -0
  4. package/dist/chunk-3HGMPMXD.js.map +1 -0
  5. package/dist/chunk-46U234GX.mjs +42 -0
  6. package/dist/chunk-46U234GX.mjs.map +1 -0
  7. package/dist/chunk-5FU43BWK.mjs +121 -0
  8. package/dist/chunk-5FU43BWK.mjs.map +1 -0
  9. package/dist/chunk-7XVF6WPJ.js +108 -0
  10. package/dist/chunk-7XVF6WPJ.js.map +1 -0
  11. package/dist/{chunk-GNMGJBBO.mjs → chunk-AK3NQBYU.mjs} +3 -3
  12. package/dist/chunk-AK3NQBYU.mjs.map +1 -0
  13. package/dist/chunk-ALCHPZY6.js +149 -0
  14. package/dist/chunk-ALCHPZY6.js.map +1 -0
  15. package/dist/chunk-BNBEIMM2.mjs +61 -0
  16. package/dist/chunk-BNBEIMM2.mjs.map +1 -0
  17. package/dist/chunk-BQVXQWPS.mjs +129 -0
  18. package/dist/chunk-BQVXQWPS.mjs.map +1 -0
  19. package/dist/chunk-DBSBLGGH.js +40 -0
  20. package/dist/chunk-DBSBLGGH.js.map +1 -0
  21. package/dist/chunk-DVDVLGDJ.js +121 -0
  22. package/dist/chunk-DVDVLGDJ.js.map +1 -0
  23. package/dist/chunk-EN76JE3Y.js +64 -0
  24. package/dist/chunk-EN76JE3Y.js.map +1 -0
  25. package/dist/chunk-FLTDFXE3.mjs +170 -0
  26. package/dist/chunk-FLTDFXE3.mjs.map +1 -0
  27. package/dist/chunk-GSRVWW2G.mjs +177 -0
  28. package/dist/chunk-GSRVWW2G.mjs.map +1 -0
  29. package/dist/chunk-GZGTDLFV.js +72 -0
  30. package/dist/chunk-GZGTDLFV.js.map +1 -0
  31. package/dist/chunk-HGGQFNUJ.mjs +2 -0
  32. package/dist/chunk-HGGQFNUJ.mjs.map +1 -0
  33. package/dist/chunk-HWD2HCCH.js +129 -0
  34. package/dist/chunk-HWD2HCCH.js.map +1 -0
  35. package/dist/chunk-I6OJHQZX.mjs +2 -0
  36. package/dist/chunk-I6OJHQZX.mjs.map +1 -0
  37. package/dist/chunk-ISHUTZ36.js +42 -0
  38. package/dist/chunk-ISHUTZ36.js.map +1 -0
  39. package/dist/chunk-JC4TJWCY.mjs +97 -0
  40. package/dist/chunk-JC4TJWCY.mjs.map +1 -0
  41. package/dist/chunk-JM6DZDO3.js +87 -0
  42. package/dist/chunk-JM6DZDO3.js.map +1 -0
  43. package/dist/chunk-KUXDQANJ.mjs +72 -0
  44. package/dist/chunk-KUXDQANJ.mjs.map +1 -0
  45. package/dist/chunk-LIBHUJ27.js +2 -0
  46. package/dist/chunk-LIBHUJ27.js.map +1 -0
  47. package/dist/chunk-MALTBURB.mjs +64 -0
  48. package/dist/chunk-MALTBURB.mjs.map +1 -0
  49. package/dist/chunk-MLURKSJZ.js +2 -0
  50. package/dist/chunk-MLURKSJZ.js.map +1 -0
  51. package/dist/chunk-MOC6N23X.mjs +151 -0
  52. package/dist/chunk-MOC6N23X.mjs.map +1 -0
  53. package/dist/chunk-P5HHRCE5.js +198 -0
  54. package/dist/chunk-P5HHRCE5.js.map +1 -0
  55. package/dist/chunk-PL2R3LYL.mjs +198 -0
  56. package/dist/chunk-PL2R3LYL.mjs.map +1 -0
  57. package/dist/chunk-PPQ7NSV3.js +97 -0
  58. package/dist/chunk-PPQ7NSV3.js.map +1 -0
  59. package/dist/chunk-T3YOHFUU.js +177 -0
  60. package/dist/chunk-T3YOHFUU.js.map +1 -0
  61. package/dist/chunk-UCFS7EH2.mjs +40 -0
  62. package/dist/chunk-UCFS7EH2.mjs.map +1 -0
  63. package/dist/chunk-ULMQZANW.mjs +87 -0
  64. package/dist/chunk-ULMQZANW.mjs.map +1 -0
  65. package/dist/chunk-UYHBKE7G.mjs +108 -0
  66. package/dist/chunk-UYHBKE7G.mjs.map +1 -0
  67. package/dist/chunk-W5B5N6BW.mjs +149 -0
  68. package/dist/chunk-W5B5N6BW.mjs.map +1 -0
  69. package/dist/{chunk-6SVKDKK7.mjs → chunk-XWEEWNZK.mjs} +4 -4
  70. package/dist/chunk-XWEEWNZK.mjs.map +1 -0
  71. package/dist/{chunk-3RAQQWLW.js → chunk-YPMUFP2I.js} +4 -4
  72. package/dist/chunk-YPMUFP2I.js.map +1 -0
  73. package/dist/chunk-ZMB4U5RP.js +151 -0
  74. package/dist/chunk-ZMB4U5RP.js.map +1 -0
  75. package/dist/{chunk-2TXYJ7YE.js → chunk-ZPJSBORX.js} +3 -3
  76. package/dist/chunk-ZPJSBORX.js.map +1 -0
  77. package/dist/components/AppBar/index.d.mts +89 -0
  78. package/dist/components/AppBar/index.d.ts +89 -0
  79. package/dist/components/AppBar/index.js +2 -0
  80. package/dist/components/AppBar/index.js.map +1 -0
  81. package/dist/components/AppBar/index.mjs +2 -0
  82. package/dist/components/AppBar/index.mjs.map +1 -0
  83. package/dist/components/Box/index.d.mts +28 -0
  84. package/dist/components/Box/index.d.ts +28 -0
  85. package/dist/components/Box/index.js +2 -0
  86. package/dist/components/Box/index.js.map +1 -0
  87. package/dist/components/Box/index.mjs +2 -0
  88. package/dist/components/Box/index.mjs.map +1 -0
  89. package/dist/components/Container/index.d.mts +71 -0
  90. package/dist/components/Container/index.d.ts +71 -0
  91. package/dist/components/Container/index.js +2 -0
  92. package/dist/components/Container/index.js.map +1 -0
  93. package/dist/components/Container/index.mjs +2 -0
  94. package/dist/components/Container/index.mjs.map +1 -0
  95. package/dist/components/DateFilter/index.d.mts +8 -1
  96. package/dist/components/DateFilter/index.d.ts +8 -1
  97. package/dist/components/DateFilter/index.js +1 -1
  98. package/dist/components/DateFilter/index.mjs +1 -1
  99. package/dist/components/FileUploadField/index.d.mts +4 -2
  100. package/dist/components/FileUploadField/index.d.ts +4 -2
  101. package/dist/components/FileUploadField/index.js +1 -1
  102. package/dist/components/FileUploadField/index.mjs +1 -1
  103. package/dist/components/FormLayout/index.d.mts +8 -2
  104. package/dist/components/FormLayout/index.d.ts +8 -2
  105. package/dist/components/FormLayout/index.js +1 -1
  106. package/dist/components/FormLayout/index.mjs +1 -1
  107. package/dist/components/Grid/index.d.mts +48 -0
  108. package/dist/components/Grid/index.d.ts +48 -0
  109. package/dist/components/Grid/index.js +2 -0
  110. package/dist/components/Grid/index.js.map +1 -0
  111. package/dist/components/Grid/index.mjs +2 -0
  112. package/dist/components/Grid/index.mjs.map +1 -0
  113. package/dist/components/List/index.d.mts +98 -0
  114. package/dist/components/List/index.d.ts +98 -0
  115. package/dist/components/List/index.js +2 -0
  116. package/dist/components/List/index.js.map +1 -0
  117. package/dist/components/List/index.mjs +2 -0
  118. package/dist/components/List/index.mjs.map +1 -0
  119. package/dist/components/Navigator/index.d.mts +87 -0
  120. package/dist/components/Navigator/index.d.ts +87 -0
  121. package/dist/components/Navigator/index.js +2 -0
  122. package/dist/components/Navigator/index.js.map +1 -0
  123. package/dist/components/Navigator/index.mjs +2 -0
  124. package/dist/components/Navigator/index.mjs.map +1 -0
  125. package/dist/components/Pagination/index.d.mts +89 -0
  126. package/dist/components/Pagination/index.d.ts +89 -0
  127. package/dist/components/Pagination/index.js +2 -0
  128. package/dist/components/Pagination/index.js.map +1 -0
  129. package/dist/components/Pagination/index.mjs +2 -0
  130. package/dist/components/Pagination/index.mjs.map +1 -0
  131. package/dist/components/PdfImageUpload/index.d.mts +30 -0
  132. package/dist/components/PdfImageUpload/index.d.ts +30 -0
  133. package/dist/components/PdfImageUpload/index.js +2 -0
  134. package/dist/components/PdfImageUpload/index.js.map +1 -0
  135. package/dist/components/PdfImageUpload/index.mjs +2 -0
  136. package/dist/components/PdfImageUpload/index.mjs.map +1 -0
  137. package/dist/components/Progress/index.d.mts +52 -0
  138. package/dist/components/Progress/index.d.ts +52 -0
  139. package/dist/components/Progress/index.js +2 -0
  140. package/dist/components/Progress/index.js.map +1 -0
  141. package/dist/components/Progress/index.mjs +2 -0
  142. package/dist/components/Progress/index.mjs.map +1 -0
  143. package/dist/components/RadioGroup/index.d.mts +99 -0
  144. package/dist/components/RadioGroup/index.d.ts +99 -0
  145. package/dist/components/RadioGroup/index.js +2 -0
  146. package/dist/components/RadioGroup/index.js.map +1 -0
  147. package/dist/components/RadioGroup/index.mjs +2 -0
  148. package/dist/components/RadioGroup/index.mjs.map +1 -0
  149. package/dist/components/Skeleton/index.d.mts +45 -0
  150. package/dist/components/Skeleton/index.d.ts +45 -0
  151. package/dist/components/Skeleton/index.js +2 -0
  152. package/dist/components/Skeleton/index.js.map +1 -0
  153. package/dist/components/Skeleton/index.mjs +2 -0
  154. package/dist/components/Skeleton/index.mjs.map +1 -0
  155. package/dist/components/Slider/index.d.mts +181 -0
  156. package/dist/components/Slider/index.d.ts +181 -0
  157. package/dist/components/Slider/index.js +2 -0
  158. package/dist/components/Slider/index.js.map +1 -0
  159. package/dist/components/Slider/index.mjs +2 -0
  160. package/dist/components/Slider/index.mjs.map +1 -0
  161. package/dist/components/Snackbar/index.d.mts +80 -0
  162. package/dist/components/Snackbar/index.d.ts +80 -0
  163. package/dist/components/Snackbar/index.js +2 -0
  164. package/dist/components/Snackbar/index.js.map +1 -0
  165. package/dist/components/Snackbar/index.mjs +2 -0
  166. package/dist/components/Snackbar/index.mjs.map +1 -0
  167. package/dist/components/Text/index.d.mts +2 -1
  168. package/dist/components/Text/index.d.ts +2 -1
  169. package/dist/components/ToolBar/index.d.mts +60 -0
  170. package/dist/components/ToolBar/index.d.ts +60 -0
  171. package/dist/components/ToolBar/index.js +2 -0
  172. package/dist/components/ToolBar/index.js.map +1 -0
  173. package/dist/components/ToolBar/index.mjs +2 -0
  174. package/dist/components/ToolBar/index.mjs.map +1 -0
  175. package/dist/components/Tray/index.d.mts +140 -0
  176. package/dist/components/Tray/index.d.ts +140 -0
  177. package/dist/components/Tray/index.js +2 -0
  178. package/dist/components/Tray/index.js.map +1 -0
  179. package/dist/components/Tray/index.mjs +2 -0
  180. package/dist/components/Tray/index.mjs.map +1 -0
  181. package/dist/index.d.mts +16 -0
  182. package/dist/index.d.ts +16 -0
  183. package/dist/index.js +1 -1
  184. package/dist/index.mjs +1 -1
  185. package/dist/types-BJWJOB_w.d.mts +5 -0
  186. package/dist/types-BJWJOB_w.d.ts +5 -0
  187. package/package.json +84 -2
  188. package/dist/chunk-2TXYJ7YE.js.map +0 -1
  189. package/dist/chunk-3RAQQWLW.js.map +0 -1
  190. package/dist/chunk-6SVKDKK7.mjs.map +0 -1
  191. package/dist/chunk-GNMGJBBO.mjs.map +0 -1
  192. package/dist/chunk-ZEMR63S4.js +0 -198
  193. package/dist/chunk-ZEMR63S4.js.map +0 -1
  194. package/dist/chunk-ZY5AHZYZ.mjs +0 -198
  195. package/dist/chunk-ZY5AHZYZ.mjs.map +0 -1
@@ -0,0 +1,177 @@
1
+ 'use strict';var chunkDDGBDWFC_js=require('./chunk-DDGBDWFC.js'),react=require('react'),jsxRuntime=require('react/jsx-runtime');var E=`
2
+ /* ---- Tray (Drawer) Root ---- */
3
+ .ui-tray-root {
4
+ position: fixed;
5
+ z-index: 1200;
6
+ inset: 0;
7
+ }
8
+
9
+ .ui-tray-root--hidden {
10
+ visibility: hidden;
11
+ pointer-events: none;
12
+ }
13
+
14
+ /* ---- Backdrop ---- */
15
+ .ui-tray-backdrop {
16
+ position: fixed;
17
+ inset: 0;
18
+ z-index: -1;
19
+ background-color: rgba(0, 0, 0, 0.5);
20
+ opacity: 0;
21
+ transition: opacity 225ms cubic-bezier(0.4, 0, 0.2, 1);
22
+ -webkit-tap-highlight-color: transparent;
23
+ }
24
+
25
+ .ui-tray-backdrop--visible {
26
+ opacity: 1;
27
+ }
28
+
29
+ .ui-tray-backdrop--hidden {
30
+ display: none;
31
+ }
32
+
33
+ /* ---- Paper (Drawer Surface) ---- */
34
+ .ui-tray-paper {
35
+ position: fixed;
36
+ display: flex;
37
+ flex-direction: column;
38
+ overflow-y: auto;
39
+ outline: 0;
40
+ z-index: 1200;
41
+ background-color: #ffffff;
42
+ color: #1e293b;
43
+ transition-property: transform, box-shadow;
44
+ transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
45
+ will-change: transform;
46
+ }
47
+
48
+ /* Elevation / box-shadow */
49
+ .ui-tray-paper--elevation {
50
+ box-shadow:
51
+ 0px 8px 10px -5px rgba(0,0,0,0.08),
52
+ 0px 16px 24px 2px rgba(0,0,0,0.06),
53
+ 0px 6px 30px 5px rgba(0,0,0,0.04);
54
+ }
55
+
56
+ /* ---- Anchor: Left ---- */
57
+ .ui-tray-paper--left {
58
+ top: 0;
59
+ left: 0;
60
+ bottom: 0;
61
+ width: 280px;
62
+ max-width: 100%;
63
+ border-right: 1px solid rgba(0, 0, 0, 0.08);
64
+ transform: translateX(-100%);
65
+ }
66
+
67
+ .ui-tray-paper--left.ui-tray-paper--open {
68
+ transform: translateX(0);
69
+ }
70
+
71
+ /* ---- Anchor: Right ---- */
72
+ .ui-tray-paper--right {
73
+ top: 0;
74
+ right: 0;
75
+ bottom: 0;
76
+ width: 280px;
77
+ max-width: 100%;
78
+ border-left: 1px solid rgba(0, 0, 0, 0.08);
79
+ transform: translateX(100%);
80
+ }
81
+
82
+ .ui-tray-paper--right.ui-tray-paper--open {
83
+ transform: translateX(0);
84
+ }
85
+
86
+ /* ---- Anchor: Top ---- */
87
+ .ui-tray-paper--top {
88
+ top: 0;
89
+ left: 0;
90
+ right: 0;
91
+ height: auto;
92
+ max-height: 100%;
93
+ border-bottom: 1px solid rgba(0, 0, 0, 0.08);
94
+ transform: translateY(-100%);
95
+ }
96
+
97
+ .ui-tray-paper--top.ui-tray-paper--open {
98
+ transform: translateY(0);
99
+ }
100
+
101
+ /* ---- Anchor: Bottom ---- */
102
+ .ui-tray-paper--bottom {
103
+ bottom: 0;
104
+ left: 0;
105
+ right: 0;
106
+ height: auto;
107
+ max-height: 100%;
108
+ border-top: 1px solid rgba(0, 0, 0, 0.08);
109
+ transform: translateY(100%);
110
+ }
111
+
112
+ .ui-tray-paper--bottom.ui-tray-paper--open {
113
+ transform: translateY(0);
114
+ }
115
+
116
+ /* ---- Docked variant (permanent / persistent) ---- */
117
+ .ui-tray-docked {
118
+ position: relative;
119
+ flex-shrink: 0;
120
+ }
121
+
122
+ .ui-tray-docked .ui-tray-paper {
123
+ position: relative;
124
+ border: none;
125
+ transform: none;
126
+ transition: none;
127
+ box-shadow: none;
128
+ }
129
+
130
+ .ui-tray-docked .ui-tray-paper--left {
131
+ border-right: 1px solid rgba(0, 0, 0, 0.12);
132
+ }
133
+
134
+ .ui-tray-docked .ui-tray-paper--right {
135
+ border-left: 1px solid rgba(0, 0, 0, 0.12);
136
+ }
137
+
138
+ .ui-tray-docked .ui-tray-paper--top {
139
+ border-bottom: 1px solid rgba(0, 0, 0, 0.12);
140
+ }
141
+
142
+ .ui-tray-docked .ui-tray-paper--bottom {
143
+ border-top: 1px solid rgba(0, 0, 0, 0.12);
144
+ }
145
+
146
+ /* ---- Persistent: slide in/out ---- */
147
+ .ui-tray-persistent .ui-tray-paper {
148
+ position: relative;
149
+ transition-property: transform, width, height;
150
+ transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
151
+ }
152
+
153
+ .ui-tray-persistent .ui-tray-paper--left,
154
+ .ui-tray-persistent .ui-tray-paper--right {
155
+ width: 0;
156
+ overflow: hidden;
157
+ }
158
+
159
+ .ui-tray-persistent .ui-tray-paper--left.ui-tray-paper--open,
160
+ .ui-tray-persistent .ui-tray-paper--right.ui-tray-paper--open {
161
+ width: 280px;
162
+ }
163
+
164
+ .ui-tray-persistent .ui-tray-paper--top,
165
+ .ui-tray-persistent .ui-tray-paper--bottom {
166
+ height: 0;
167
+ overflow: hidden;
168
+ }
169
+
170
+ .ui-tray-persistent .ui-tray-paper--top.ui-tray-paper--open,
171
+ .ui-tray-persistent .ui-tray-paper--bottom.ui-tray-paper--open {
172
+ height: auto;
173
+ }
174
+ `;function O(r){if(r<=0)return {};let t=Math.min(r,24),a=Math.round(t*1.5),i=Math.round(t*.75);return {boxShadow:`0px ${Math.round(t/2)}px ${t}px -${Math.round(t/3)}px rgba(0,0,0,0.08),
175
+ 0px ${a}px ${a+8}px 2px rgba(0,0,0,0.06),
176
+ 0px ${i}px ${i+24}px ${Math.round(i/2)}px rgba(0,0,0,0.04)`}}function v(r,t){return r?typeof r=="function"?r(t):r:{}}function j(r,t){return typeof t=="number"?`${t}ms`:t&&typeof t=="object"?r?`${t.enter??225}ms`:`${t.exit??195}ms`:r?"225ms":"195ms"}var q=react.forwardRef(({anchor:r="left",children:t,classes:a,className:i,elevation:s=16,hideBackdrop:M=false,ModalProps:A={},onClose:l,open:o=false,slotProps:c={},slots:f={},sx:y,transitionDuration:z,variant:e="temporary",...m},b)=>{let D=react.useRef(null),h=e==="permanent"||e==="persistent",x={anchor:r,elevation:s,open:o,variant:e},g=f.root||"div",_=f.paper||"div",C=f.backdrop||"div",k=v(c.root,x),$=v(c.paper,x),H=v(c.backdrop,x),w=react.useCallback(n=>{n.key==="Escape"&&o&&e==="temporary"&&l?.(n,"escapeKeyDown");},[l,o,e]);react.useEffect(()=>{if(o&&e==="temporary")return document.addEventListener("keydown",w),()=>document.removeEventListener("keydown",w)},[o,e,w]),react.useEffect(()=>{if(e==="temporary"&&o){let n=document.body.style.overflow;return document.body.style.overflow="hidden",()=>{document.body.style.overflow=n;}}},[o,e]);let S=typeof y=="function"?y({}):Array.isArray(y)?Object.assign({},...y.filter(Boolean)):y,P=j(o,z),Y=chunkDDGBDWFC_js.a("ui-tray-paper",`ui-tray-paper--${r}`,o&&"ui-tray-paper--open",!h&&s>0&&"ui-tray-paper--elevation",a?.paper),B={transitionDuration:h&&e==="permanent"?"0ms":P,...s>0&&!h&&o?O(s):{},...$.style},T=jsxRuntime.jsx(_,{ref:D,className:Y,style:B,tabIndex:-1,role:e==="temporary"?"presentation":void 0,...$,children:t});if(e==="permanent")return jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx("style",{dangerouslySetInnerHTML:{__html:E}}),jsxRuntime.jsx(g,{ref:b,className:chunkDDGBDWFC_js.a("ui-tray-docked",a?.root,a?.docked,i),style:{...S},...k,...m,children:T})]});if(e==="persistent")return jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx("style",{dangerouslySetInnerHTML:{__html:E}}),jsxRuntime.jsx(g,{ref:b,className:chunkDDGBDWFC_js.a("ui-tray-docked","ui-tray-persistent",a?.root,a?.docked,i),style:{...S},...k,...m,children:T})]});let I=n=>{l?.(n,"backdropClick");};return jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx("style",{dangerouslySetInnerHTML:{__html:E}}),jsxRuntime.jsxs(g,{ref:b,className:chunkDDGBDWFC_js.a("ui-tray-root",!o&&"ui-tray-root--hidden",a?.root,a?.modal,i),role:"presentation",style:{...S},...A,...k,...m,children:[!M&&jsxRuntime.jsx(C,{className:chunkDDGBDWFC_js.a("ui-tray-backdrop",o&&"ui-tray-backdrop--visible",M&&"ui-tray-backdrop--hidden",a?.backdrop),style:{transitionDuration:P},onClick:I,"aria-hidden":"true",...H}),T]})]})});q.displayName="Tray";exports.a=q;//# sourceMappingURL=chunk-T3YOHFUU.js.map
177
+ //# sourceMappingURL=chunk-T3YOHFUU.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/components/Tray/Tray.tsx"],"names":["STYLES","getElevationStyle","elevation","umbra","penumbra","ambient","resolveSlotProp","slotValue","ownerState","getTransitionDuration","open","transitionDuration","Tray","forwardRef","anchor","children","classes","className","hideBackdrop","ModalProps","onClose","slotProps","slots","sx","variant","rest","ref","paperRef","useRef","isDocked","RootSlot","PaperSlot","BackdropSlot","rootSlotProps","paperSlotProps","backdropSlotProps","handleKeyDown","useCallback","e","useEffect","originalOverflow","resolvedSx","duration","paperClasses","cn","paperStyle","paperElement","jsx","jsxs","Fragment","handleBackdropClick"],"mappings":"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","file":"chunk-T3YOHFUU.js","sourcesContent":["'use client';\n\nimport { forwardRef, useEffect, useCallback, useRef, ElementType } from 'react';\nimport { cn } from '../../utils/cn';\nimport { TrayProps, TrayAnchor } from './types';\n\nconst STYLES = `\n /* ---- Tray (Drawer) Root ---- */\n .ui-tray-root {\n position: fixed;\n z-index: 1200;\n inset: 0;\n }\n\n .ui-tray-root--hidden {\n visibility: hidden;\n pointer-events: none;\n }\n\n /* ---- Backdrop ---- */\n .ui-tray-backdrop {\n position: fixed;\n inset: 0;\n z-index: -1;\n background-color: rgba(0, 0, 0, 0.5);\n opacity: 0;\n transition: opacity 225ms cubic-bezier(0.4, 0, 0.2, 1);\n -webkit-tap-highlight-color: transparent;\n }\n\n .ui-tray-backdrop--visible {\n opacity: 1;\n }\n\n .ui-tray-backdrop--hidden {\n display: none;\n }\n\n /* ---- Paper (Drawer Surface) ---- */\n .ui-tray-paper {\n position: fixed;\n display: flex;\n flex-direction: column;\n overflow-y: auto;\n outline: 0;\n z-index: 1200;\n background-color: #ffffff;\n color: #1e293b;\n transition-property: transform, box-shadow;\n transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);\n will-change: transform;\n }\n\n /* Elevation / box-shadow */\n .ui-tray-paper--elevation {\n box-shadow:\n 0px 8px 10px -5px rgba(0,0,0,0.08),\n 0px 16px 24px 2px rgba(0,0,0,0.06),\n 0px 6px 30px 5px rgba(0,0,0,0.04);\n }\n\n /* ---- Anchor: Left ---- */\n .ui-tray-paper--left {\n top: 0;\n left: 0;\n bottom: 0;\n width: 280px;\n max-width: 100%;\n border-right: 1px solid rgba(0, 0, 0, 0.08);\n transform: translateX(-100%);\n }\n\n .ui-tray-paper--left.ui-tray-paper--open {\n transform: translateX(0);\n }\n\n /* ---- Anchor: Right ---- */\n .ui-tray-paper--right {\n top: 0;\n right: 0;\n bottom: 0;\n width: 280px;\n max-width: 100%;\n border-left: 1px solid rgba(0, 0, 0, 0.08);\n transform: translateX(100%);\n }\n\n .ui-tray-paper--right.ui-tray-paper--open {\n transform: translateX(0);\n }\n\n /* ---- Anchor: Top ---- */\n .ui-tray-paper--top {\n top: 0;\n left: 0;\n right: 0;\n height: auto;\n max-height: 100%;\n border-bottom: 1px solid rgba(0, 0, 0, 0.08);\n transform: translateY(-100%);\n }\n\n .ui-tray-paper--top.ui-tray-paper--open {\n transform: translateY(0);\n }\n\n /* ---- Anchor: Bottom ---- */\n .ui-tray-paper--bottom {\n bottom: 0;\n left: 0;\n right: 0;\n height: auto;\n max-height: 100%;\n border-top: 1px solid rgba(0, 0, 0, 0.08);\n transform: translateY(100%);\n }\n\n .ui-tray-paper--bottom.ui-tray-paper--open {\n transform: translateY(0);\n }\n\n /* ---- Docked variant (permanent / persistent) ---- */\n .ui-tray-docked {\n position: relative;\n flex-shrink: 0;\n }\n\n .ui-tray-docked .ui-tray-paper {\n position: relative;\n border: none;\n transform: none;\n transition: none;\n box-shadow: none;\n }\n\n .ui-tray-docked .ui-tray-paper--left {\n border-right: 1px solid rgba(0, 0, 0, 0.12);\n }\n\n .ui-tray-docked .ui-tray-paper--right {\n border-left: 1px solid rgba(0, 0, 0, 0.12);\n }\n\n .ui-tray-docked .ui-tray-paper--top {\n border-bottom: 1px solid rgba(0, 0, 0, 0.12);\n }\n\n .ui-tray-docked .ui-tray-paper--bottom {\n border-top: 1px solid rgba(0, 0, 0, 0.12);\n }\n\n /* ---- Persistent: slide in/out ---- */\n .ui-tray-persistent .ui-tray-paper {\n position: relative;\n transition-property: transform, width, height;\n transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);\n }\n\n .ui-tray-persistent .ui-tray-paper--left,\n .ui-tray-persistent .ui-tray-paper--right {\n width: 0;\n overflow: hidden;\n }\n\n .ui-tray-persistent .ui-tray-paper--left.ui-tray-paper--open,\n .ui-tray-persistent .ui-tray-paper--right.ui-tray-paper--open {\n width: 280px;\n }\n\n .ui-tray-persistent .ui-tray-paper--top,\n .ui-tray-persistent .ui-tray-paper--bottom {\n height: 0;\n overflow: hidden;\n }\n\n .ui-tray-persistent .ui-tray-paper--top.ui-tray-paper--open,\n .ui-tray-persistent .ui-tray-paper--bottom.ui-tray-paper--open {\n height: auto;\n }\n`;\n\n/**\n * Compute elevation box-shadow given a numeric level (0-24).\n */\nfunction getElevationStyle(elevation: number): React.CSSProperties {\n if (elevation <= 0) return {};\n const umbra = Math.min(elevation, 24);\n const penumbra = Math.round(umbra * 1.5);\n const ambient = Math.round(umbra * 0.75);\n return {\n boxShadow: `0px ${Math.round(umbra / 2)}px ${umbra}px -${Math.round(umbra / 3)}px rgba(0,0,0,0.08),\n 0px ${penumbra}px ${penumbra + 8}px 2px rgba(0,0,0,0.06),\n 0px ${ambient}px ${ambient + 24}px ${Math.round(ambient / 2)}px rgba(0,0,0,0.04)`,\n };\n}\n\n/**\n * Resolve a slot prop that can be either an object or a function returning an object.\n */\nfunction resolveSlotProp(\n slotValue: Record<string, any> | ((ownerState: any) => Record<string, any>) | undefined,\n ownerState: any\n): Record<string, any> {\n if (!slotValue) return {};\n if (typeof slotValue === 'function') return slotValue(ownerState);\n return slotValue;\n}\n\n/**\n * Compute inline transition-duration style from the prop.\n */\nfunction getTransitionDuration(\n open: boolean,\n transitionDuration?: number | { appear?: number; enter?: number; exit?: number }\n): string {\n if (typeof transitionDuration === 'number') {\n return `${transitionDuration}ms`;\n }\n if (transitionDuration && typeof transitionDuration === 'object') {\n return open\n ? `${transitionDuration.enter ?? 225}ms`\n : `${transitionDuration.exit ?? 195}ms`;\n }\n return open ? '225ms' : '195ms';\n}\n\nexport const Tray = forwardRef<HTMLDivElement, TrayProps>(\n (\n {\n anchor = 'left',\n children,\n classes,\n className,\n elevation = 16,\n hideBackdrop = false,\n ModalProps = {},\n onClose,\n open = false,\n slotProps = {},\n slots = {},\n sx,\n transitionDuration,\n variant = 'temporary',\n ...rest\n },\n ref\n ) => {\n const paperRef = useRef<HTMLDivElement>(null);\n const isDocked = variant === 'permanent' || variant === 'persistent';\n\n // Owner state for slot prop resolution\n const ownerState = { anchor, elevation, open, variant };\n\n // ---- Slots ----\n const RootSlot: ElementType = slots.root || 'div';\n const PaperSlot: ElementType = slots.paper || 'div';\n const BackdropSlot: ElementType = slots.backdrop || 'div';\n\n // ---- Resolved slot props ----\n const rootSlotProps = resolveSlotProp(slotProps.root, ownerState);\n const paperSlotProps = resolveSlotProp(slotProps.paper, ownerState);\n const backdropSlotProps = resolveSlotProp(slotProps.backdrop, ownerState);\n\n // ---- Escape key handler ----\n const handleKeyDown = useCallback(\n (e: KeyboardEvent) => {\n if (e.key === 'Escape' && open && variant === 'temporary') {\n onClose?.(e, 'escapeKeyDown');\n }\n },\n [onClose, open, variant]\n );\n\n useEffect(() => {\n if (open && variant === 'temporary') {\n document.addEventListener('keydown', handleKeyDown);\n return () => document.removeEventListener('keydown', handleKeyDown);\n }\n }, [open, variant, handleKeyDown]);\n\n // ---- Body scroll lock for temporary variant ----\n useEffect(() => {\n if (variant === 'temporary') {\n if (open) {\n const originalOverflow = document.body.style.overflow;\n document.body.style.overflow = 'hidden';\n return () => {\n document.body.style.overflow = originalOverflow;\n };\n }\n }\n }, [open, variant]);\n\n // Resolve sx\n const resolvedSx =\n typeof sx === 'function'\n ? sx({})\n : Array.isArray(sx)\n ? Object.assign({}, ...sx.filter(Boolean))\n : sx;\n\n const duration = getTransitionDuration(open, transitionDuration);\n\n // ---- Paper element ----\n const paperClasses = cn(\n 'ui-tray-paper',\n `ui-tray-paper--${anchor}`,\n open && 'ui-tray-paper--open',\n !isDocked && elevation > 0 && 'ui-tray-paper--elevation',\n classes?.paper\n );\n\n const paperStyle: React.CSSProperties = {\n transitionDuration: isDocked && variant === 'permanent' ? '0ms' : duration,\n ...(elevation > 0 && !isDocked && open ? getElevationStyle(elevation) : {}),\n ...paperSlotProps.style,\n };\n\n const paperElement = (\n <PaperSlot\n ref={paperRef}\n className={paperClasses}\n style={paperStyle}\n tabIndex={-1}\n role={variant === 'temporary' ? 'presentation' : undefined}\n {...paperSlotProps}\n >\n {children}\n </PaperSlot>\n );\n\n // ---- Permanent variant: no modal, always visible ----\n if (variant === 'permanent') {\n return (\n <>\n <style dangerouslySetInnerHTML={{ __html: STYLES }} />\n <RootSlot\n ref={ref}\n className={cn(\n 'ui-tray-docked',\n classes?.root,\n classes?.docked,\n className\n )}\n style={{ ...resolvedSx }}\n {...rootSlotProps}\n {...rest}\n >\n {paperElement}\n </RootSlot>\n </>\n );\n }\n\n // ---- Persistent variant: docked, slides in/out ----\n if (variant === 'persistent') {\n return (\n <>\n <style dangerouslySetInnerHTML={{ __html: STYLES }} />\n <RootSlot\n ref={ref}\n className={cn(\n 'ui-tray-docked',\n 'ui-tray-persistent',\n classes?.root,\n classes?.docked,\n className\n )}\n style={{ ...resolvedSx }}\n {...rootSlotProps}\n {...rest}\n >\n {paperElement}\n </RootSlot>\n </>\n );\n }\n\n // ---- Temporary variant: uses modal overlay ----\n const handleBackdropClick = (e: React.MouseEvent) => {\n onClose?.(e, 'backdropClick');\n };\n\n return (\n <>\n <style dangerouslySetInnerHTML={{ __html: STYLES }} />\n <RootSlot\n ref={ref}\n className={cn(\n 'ui-tray-root',\n !open && 'ui-tray-root--hidden',\n classes?.root,\n classes?.modal,\n className\n )}\n role=\"presentation\"\n style={{ ...resolvedSx }}\n {...ModalProps}\n {...rootSlotProps}\n {...rest}\n >\n {/* Backdrop */}\n {!hideBackdrop && (\n <BackdropSlot\n className={cn(\n 'ui-tray-backdrop',\n open && 'ui-tray-backdrop--visible',\n hideBackdrop && 'ui-tray-backdrop--hidden',\n classes?.backdrop\n )}\n style={{ transitionDuration: duration }}\n onClick={handleBackdropClick}\n aria-hidden=\"true\"\n {...backdropSlotProps}\n />\n )}\n\n {/* Drawer Paper */}\n {paperElement}\n </RootSlot>\n </>\n );\n }\n);\n\nTray.displayName = 'Tray';\n\nexport default Tray;\n"]}
@@ -0,0 +1,40 @@
1
+ import {a}from'./chunk-HGGQFNUJ.mjs';import {a as a$1}from'./chunk-547MQ4FI.mjs';import y from'react';import {jsxs,Fragment,jsx}from'react/jsx-runtime';var u={xs:0,sm:600,md:900,lg:1200,xl:1536},S=()=>{let t=`
2
+ .ui-grid-container {
3
+ display: flex;
4
+ flex-wrap: wrap;
5
+ box-sizing: border-box;
6
+ width: 100%;
7
+ }
8
+ .ui-grid-item {
9
+ box-sizing: border-box;
10
+ margin: 0;
11
+ }
12
+
13
+ .ui-grid-direction-row { flex-direction: row; }
14
+ .ui-grid-direction-row-reverse { flex-direction: row-reverse; }
15
+ .ui-grid-direction-column { flex-direction: column; }
16
+ .ui-grid-direction-column-reverse { flex-direction: column-reverse; }
17
+
18
+ .ui-grid-wrap-nowrap { flex-wrap: nowrap; }
19
+ .ui-grid-wrap-wrap { flex-wrap: wrap; }
20
+ .ui-grid-wrap-wrap-reverse { flex-wrap: wrap-reverse; }
21
+ `;return Object.keys(u).forEach(d=>{let e=u[d],o=e>0?`@media (min-width: ${e}px)`:"",s=`
22
+ .ui-grid-size-${d}-auto {
23
+ flex-grow: 1;
24
+ max-width: 100%;
25
+ flex-basis: 0;
26
+ }
27
+ `;for(let i=1;i<=12;i++){let r=i/12*100,n=(12-i)/12;s+=`
28
+ .ui-grid-size-${d}-${i} {
29
+ flex-grow: 0;
30
+ max-width: calc(${r}% - var(--ui-grid-gap, 0px) * ${n});
31
+ flex-basis: calc(${r}% - var(--ui-grid-gap, 0px) * ${n});
32
+ }
33
+ `;}o?t+=`
34
+ ${o} {
35
+ ${s}
36
+ }
37
+ `:t+=`
38
+ ${s}
39
+ `;}),t},b=S(),h=y.forwardRef(({children:t,className:d,container:e=false,spacing:o=0,direction:s="row",wrap:i="wrap",size:r,style:n,sx:g,...x},m)=>{let a$2=[];r!==void 0&&(typeof r=="number"||r==="auto"?a$2.push(`ui-grid-size-xs-${r}`):typeof r=="object"&&Object.entries(r).forEach(([$,p])=>{p!==void 0&&a$2.push(`ui-grid-size-${$}-${p}`);}));let w=e&&o?{gap:`${o*8}px`,"--ui-grid-gap":`${o*8}px`}:{};return jsxs(Fragment,{children:[e&&jsx("style",{dangerouslySetInnerHTML:{__html:b},suppressHydrationWarning:true}),jsx("div",{ref:m,className:a$1(e?"ui-grid-container":"ui-grid-item",e&&`ui-grid-direction-${s}`,e&&`ui-grid-wrap-${i}`,...a$2,d),style:{...w,...a(g),...n},...x,children:t})]})});h.displayName="Grid";export{h as a};//# sourceMappingURL=chunk-UCFS7EH2.mjs.map
40
+ //# sourceMappingURL=chunk-UCFS7EH2.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/components/Grid/Grid.tsx"],"names":["BREAKPOINTS","generateGridCSS","css","bp","minWidth","mediaQuery","bpCSS","percentage","gapOffset","GRID_STYLES","Grid","React","children","className","container","spacing","direction","wrap","size","style","sx","props","ref","sizeClasses","val","gapStyle","jsxs","Fragment","jsx","cn","handleSx"],"mappings":"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","file":"chunk-UCFS7EH2.mjs","sourcesContent":["'use client';\n\nimport React, { useEffect } from 'react';\nimport { cn } from '../../utils/cn';\nimport { handleSx } from '../../utils/handleSx';\nimport { GridProps } from './Grid.types';\n\n// Breakpoints matching standard MUI setups\nconst BREAKPOINTS = {\n xs: 0,\n sm: 600,\n md: 900,\n lg: 1200,\n xl: 1536,\n};\n\n// CSS Generation for the 12-column grid system\nconst generateGridCSS = () => {\n let css = `\n .ui-grid-container {\n display: flex;\n flex-wrap: wrap;\n box-sizing: border-box;\n width: 100%;\n }\n .ui-grid-item {\n box-sizing: border-box;\n margin: 0;\n }\n \n .ui-grid-direction-row { flex-direction: row; }\n .ui-grid-direction-row-reverse { flex-direction: row-reverse; }\n .ui-grid-direction-column { flex-direction: column; }\n .ui-grid-direction-column-reverse { flex-direction: column-reverse; }\n \n .ui-grid-wrap-nowrap { flex-wrap: nowrap; }\n .ui-grid-wrap-wrap { flex-wrap: wrap; }\n .ui-grid-wrap-wrap-reverse { flex-wrap: wrap-reverse; }\n `;\n\n // Generate responsive classes\n Object.keys(BREAKPOINTS).forEach((bp) => {\n const minWidth = BREAKPOINTS[bp as keyof typeof BREAKPOINTS];\n const mediaQuery = minWidth > 0 ? `@media (min-width: ${minWidth}px)` : '';\n\n let bpCSS = `\n .ui-grid-size-${bp}-auto {\n flex-grow: 1;\n max-width: 100%;\n flex-basis: 0;\n }\n `;\n\n for (let i = 1; i <= 12; i++) {\n const percentage = (i / 12) * 100;\n const gapOffset = (12 - i) / 12;\n bpCSS += `\n .ui-grid-size-${bp}-${i} {\n flex-grow: 0;\n max-width: calc(${percentage}% - var(--ui-grid-gap, 0px) * ${gapOffset});\n flex-basis: calc(${percentage}% - var(--ui-grid-gap, 0px) * ${gapOffset});\n }\n `;\n }\n\n if (mediaQuery) {\n css += `\\n${mediaQuery} {\\n${bpCSS}\\n}\\n`;\n } else {\n css += `\\n${bpCSS}\\n`;\n }\n });\n\n return css;\n};\n\nconst GRID_STYLES = generateGridCSS();\n\nexport const Grid = React.forwardRef<HTMLDivElement, GridProps>(\n (\n {\n children,\n className,\n container = false,\n spacing = 0,\n direction = 'row',\n wrap = 'wrap',\n size,\n style,\n sx,\n ...props\n },\n ref\n ) => {\n // Generate classes based on size prop\n const sizeClasses: string[] = [];\n \n if (size !== undefined) {\n if (typeof size === 'number' || size === 'auto') {\n sizeClasses.push(`ui-grid-size-xs-${size}`);\n } else if (typeof size === 'object') {\n Object.entries(size).forEach(([bp, val]) => {\n if (val !== undefined) {\n sizeClasses.push(`ui-grid-size-${bp}-${val}`);\n }\n });\n }\n }\n\n // Handle gap for container\n const gapStyle = container && spacing ? { \n gap: `${spacing * 8}px`,\n '--ui-grid-gap': `${spacing * 8}px`\n } as React.CSSProperties : {};\n\n return (\n <>\n {/* Inject styles globally if it's a container. Browser will deduplicate multiple identical tags */}\n {container && (\n <style dangerouslySetInnerHTML={{ __html: GRID_STYLES }} suppressHydrationWarning />\n )}\n <div\n ref={ref}\n className={cn(\n container ? 'ui-grid-container' : 'ui-grid-item',\n container && `ui-grid-direction-${direction}`,\n container && `ui-grid-wrap-${wrap}`,\n ...sizeClasses,\n className\n )}\n style={{ ...gapStyle, ...handleSx(sx), ...style }}\n {...props}\n >\n {children}\n </div>\n </>\n );\n }\n);\n\nGrid.displayName = 'Grid';\n"]}
@@ -0,0 +1,87 @@
1
+ import {a as a$1}from'./chunk-HGGQFNUJ.mjs';import {a as a$2}from'./chunk-547MQ4FI.mjs';import {forwardRef}from'react';import {jsxs,Fragment,jsx}from'react/jsx-runtime';var b=`
2
+ .ui-skeleton {
3
+ display: block;
4
+ background-color: rgba(0, 0, 0, 0.11);
5
+ height: 1.2em;
6
+ position: relative;
7
+ overflow: hidden;
8
+ }
9
+
10
+ /* Variants */
11
+ .ui-skeleton--text {
12
+ margin-top: 0;
13
+ margin-bottom: 0;
14
+ height: auto;
15
+ transform-origin: 0 55%;
16
+ transform: scale(1, 0.60);
17
+ border-radius: 4px;
18
+ }
19
+
20
+ .ui-skeleton--text:empty:before {
21
+ content: "\\00a0";
22
+ }
23
+
24
+ .ui-skeleton--circular {
25
+ border-radius: 50%;
26
+ }
27
+
28
+ .ui-skeleton--rectangular {
29
+ border-radius: 0;
30
+ }
31
+
32
+ .ui-skeleton--rounded {
33
+ border-radius: 8px;
34
+ }
35
+
36
+ /* Animations */
37
+ .ui-skeleton--pulse {
38
+ animation: ui-skeleton-pulse 1.5s ease-in-out 0.5s infinite;
39
+ }
40
+
41
+ .ui-skeleton--wave {
42
+ position: relative;
43
+ overflow: hidden;
44
+ }
45
+
46
+ .ui-skeleton--wave::after {
47
+ content: "";
48
+ position: absolute;
49
+ top: 0;
50
+ left: 0;
51
+ right: 0;
52
+ bottom: 0;
53
+ background: linear-gradient(
54
+ 90deg,
55
+ transparent,
56
+ rgba(255, 255, 255, 0.3),
57
+ transparent
58
+ );
59
+ animation: ui-skeleton-wave 1.6s linear 0.5s infinite;
60
+ transform: translateX(-100%);
61
+ }
62
+
63
+ @keyframes ui-skeleton-pulse {
64
+ 0% {
65
+ opacity: 1;
66
+ }
67
+ 50% {
68
+ opacity: 0.4;
69
+ }
70
+ 100% {
71
+ opacity: 1;
72
+ }
73
+ }
74
+
75
+ @keyframes ui-skeleton-wave {
76
+ 0% {
77
+ transform: translateX(-100%);
78
+ }
79
+ 50% {
80
+ transform: translateX(100%);
81
+ }
82
+ 100% {
83
+ transform: translateX(100%);
84
+ }
85
+ }
86
+ `,a=forwardRef(({className:s,component:i,animation:e="pulse",variant:l="text",width:u,height:m,sx:p,children:f,...t},d)=>{let k=i||"span",c={width:u,height:m,...a$1(p),...t.style};return jsxs(Fragment,{children:[jsx("style",{dangerouslySetInnerHTML:{__html:b}}),jsx(k,{ref:d,className:a$2("ui-skeleton",`ui-skeleton--${l}`,e&&`ui-skeleton--${e}`,s),style:c,...t,children:f})]})});a.displayName="Skeleton";var y=a;export{a,y as b};//# sourceMappingURL=chunk-ULMQZANW.mjs.map
87
+ //# sourceMappingURL=chunk-ULMQZANW.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/components/Skeleton/Skeleton.tsx"],"names":["STYLES","Skeleton","forwardRef","className","component","animation","variant","width","height","sx","children","props","ref","Component","style","handleSx","jsxs","Fragment","jsx","cn","Skeleton_default"],"mappings":"yKAOA,IAAMA,CAAAA,CAAS;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,CAAA,CAuFFC,EAAWC,UAAAA,CACtB,CACE,CACE,SAAA,CAAAC,CAAAA,CACA,UAAAC,CAAAA,CACA,SAAA,CAAAC,EAAY,OAAA,CACZ,OAAA,CAAAC,EAAU,MAAA,CACV,KAAA,CAAAC,EACA,MAAA,CAAAC,CAAAA,CACA,GAAAC,CAAAA,CACA,QAAA,CAAAC,CAAAA,CACA,GAAGC,CACL,CAAA,CACAC,CAAAA,GACG,CACH,IAAMC,CAAAA,CAAYT,GAAa,MAAA,CAEzBU,CAAAA,CAAQ,CACZ,KAAA,CAAAP,CAAAA,CACA,OAAAC,CAAAA,CACA,GAAGO,IAASN,CAAE,CAAA,CACd,GAAGE,CAAAA,CAAM,KACX,CAAA,CAEA,OACEK,KAAAC,QAAAA,CAAA,CACE,UAAAC,GAAAA,CAAC,OAAA,CAAA,CAAM,wBAAyB,CAAE,MAAA,CAAQlB,CAAO,CAAA,CAAG,CAAA,CACpDkB,IAACL,CAAAA,CAAA,CACC,IAAKD,CAAAA,CACL,SAAA,CAAWO,IACT,aAAA,CACA,CAAA,aAAA,EAAgBb,CAAO,CAAA,CAAA,CACvBD,CAAAA,EAAa,gBAAgBA,CAAS,CAAA,CAAA,CACtCF,CACF,CAAA,CACA,KAAA,CAAOW,EACN,GAAGH,CAAAA,CAEH,SAAAD,CAAAA,CACH,CAAA,CAAA,CACF,CAEJ,CACF,EAEAT,EAAS,WAAA,CAAc,UAAA,KAEhBmB,CAAAA,CAAQnB","file":"chunk-ULMQZANW.mjs","sourcesContent":["'use client';\n\nimport { forwardRef } from 'react';\nimport { cn } from '../../utils/cn';\nimport { handleSx } from '../../utils/handleSx';\nimport { SkeletonProps } from './Skeleton.types';\n\nconst STYLES = `\n .ui-skeleton {\n display: block;\n background-color: rgba(0, 0, 0, 0.11);\n height: 1.2em;\n position: relative;\n overflow: hidden;\n }\n\n /* Variants */\n .ui-skeleton--text {\n margin-top: 0;\n margin-bottom: 0;\n height: auto;\n transform-origin: 0 55%;\n transform: scale(1, 0.60);\n border-radius: 4px;\n }\n \n .ui-skeleton--text:empty:before {\n content: \"\\\\00a0\";\n }\n\n .ui-skeleton--circular {\n border-radius: 50%;\n }\n\n .ui-skeleton--rectangular {\n border-radius: 0;\n }\n\n .ui-skeleton--rounded {\n border-radius: 8px;\n }\n\n /* Animations */\n .ui-skeleton--pulse {\n animation: ui-skeleton-pulse 1.5s ease-in-out 0.5s infinite;\n }\n\n .ui-skeleton--wave {\n position: relative;\n overflow: hidden;\n }\n\n .ui-skeleton--wave::after {\n content: \"\";\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n background: linear-gradient(\n 90deg,\n transparent,\n rgba(255, 255, 255, 0.3),\n transparent\n );\n animation: ui-skeleton-wave 1.6s linear 0.5s infinite;\n transform: translateX(-100%);\n }\n\n @keyframes ui-skeleton-pulse {\n 0% {\n opacity: 1;\n }\n 50% {\n opacity: 0.4;\n }\n 100% {\n opacity: 1;\n }\n }\n\n @keyframes ui-skeleton-wave {\n 0% {\n transform: translateX(-100%);\n }\n 50% {\n transform: translateX(100%);\n }\n 100% {\n transform: translateX(100%);\n }\n }\n`;\n\nexport const Skeleton = forwardRef<HTMLElement, SkeletonProps>(\n (\n {\n className,\n component,\n animation = 'pulse',\n variant = 'text',\n width,\n height,\n sx,\n children,\n ...props\n },\n ref\n ) => {\n const Component = component || 'span';\n\n const style = {\n width,\n height,\n ...handleSx(sx),\n ...props.style,\n };\n\n return (\n <>\n <style dangerouslySetInnerHTML={{ __html: STYLES }} />\n <Component\n ref={ref}\n className={cn(\n 'ui-skeleton',\n `ui-skeleton--${variant}`,\n animation && `ui-skeleton--${animation}`,\n className\n )}\n style={style}\n {...props}\n >\n {children}\n </Component>\n </>\n );\n }\n);\n\nSkeleton.displayName = 'Skeleton';\n\nexport default Skeleton;\n"]}
@@ -0,0 +1,108 @@
1
+ import {a}from'./chunk-547MQ4FI.mjs';import {forwardRef}from'react';import {jsxs,Fragment,jsx}from'react/jsx-runtime';var h={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"},y=o=>{if(!o||typeof o!="object")return o;let r={};return Object.keys(o).forEach(p=>{let a=o[p],e=h[p];e?Array.isArray(e)?e.forEach(i=>{r[i]=a;}):r[e]=a:r[p]=a;}),r},v=o=>{if(!o)return {};let r={};return typeof o=="function"?r=o({}):Array.isArray(o)?r=o.reduce((p,a)=>!a||typeof a=="boolean"?p:typeof a=="function"?{...p,...a({})}:{...p,...a},{}):r=o,y(r)},k=`
2
+ .ui-appbar {
3
+ display: flex;
4
+ flex-direction: column;
5
+ width: 100%;
6
+ box-sizing: border-box;
7
+ flex-shrink: 0;
8
+ transition: box-shadow 300ms cubic-bezier(0.4, 0, 0.2, 1) 0ms;
9
+ z-index: 1100;
10
+ }
11
+
12
+ .ui-appbar--fixed {
13
+ position: fixed;
14
+ top: 0;
15
+ left: auto;
16
+ right: 0;
17
+ }
18
+
19
+ .ui-appbar--absolute {
20
+ position: absolute;
21
+ top: 0;
22
+ left: auto;
23
+ right: 0;
24
+ }
25
+
26
+ .ui-appbar--sticky {
27
+ position: sticky;
28
+ top: 0;
29
+ left: auto;
30
+ right: 0;
31
+ }
32
+
33
+ .ui-appbar--static {
34
+ position: static;
35
+ }
36
+
37
+ .ui-appbar--relative {
38
+ position: relative;
39
+ }
40
+
41
+ .ui-appbar--square {
42
+ border-radius: 0;
43
+ }
44
+
45
+ .ui-appbar--color-primary {
46
+ background-color: #1976d2;
47
+ color: #fff;
48
+ }
49
+
50
+ .ui-appbar--color-secondary {
51
+ background-color: #9c27b0;
52
+ color: #fff;
53
+ }
54
+
55
+ .ui-appbar--color-default {
56
+ background-color: #f5f5f5;
57
+ color: rgba(0, 0, 0, 0.87);
58
+ }
59
+
60
+ .ui-appbar--color-inherit {
61
+ color: inherit;
62
+ }
63
+
64
+ .ui-appbar--color-transparent {
65
+ background-color: transparent;
66
+ color: inherit;
67
+ box-shadow: none;
68
+ }
69
+
70
+ .ui-appbar--color-error {
71
+ background-color: #d32f2f;
72
+ color: #fff;
73
+ }
74
+
75
+ .ui-appbar--color-info {
76
+ background-color: #0288d1;
77
+ color: #fff;
78
+ }
79
+
80
+ .ui-appbar--color-success {
81
+ background-color: #2e7d32;
82
+ color: #fff;
83
+ }
84
+
85
+ .ui-appbar--color-warning {
86
+ background-color: #ed6c02;
87
+ color: #fff;
88
+ }
89
+
90
+ /* Elevations */
91
+ .ui-appbar--elevation-0 { box-shadow: none; }
92
+ .ui-appbar--elevation-1 { box-shadow: 0px 2px 1px -1px rgba(0,0,0,0.2),0px 1px 1px 0px rgba(0,0,0,0.14),0px 1px 3px 0px rgba(0,0,0,0.12); }
93
+ .ui-appbar--elevation-2 { box-shadow: 0px 3px 1px -2px rgba(0,0,0,0.2),0px 2px 2px 0px rgba(0,0,0,0.14),0px 1px 5px 0px rgba(0,0,0,0.12); }
94
+ .ui-appbar--elevation-3 { box-shadow: 0px 3px 3px -2px rgba(0,0,0,0.2),0px 3px 4px 0px rgba(0,0,0,0.14),0px 1px 8px 0px rgba(0,0,0,0.12); }
95
+ .ui-appbar--elevation-4 { box-shadow: 0px 2px 4px -1px rgba(0,0,0,0.2),0px 4px 5px 0px rgba(0,0,0,0.14),0px 1px 10px 0px rgba(0,0,0,0.12); }
96
+ .ui-appbar--elevation-8 { box-shadow: 0px 5px 5px -3px rgba(0,0,0,0.2),0px 8px 10px 1px rgba(0,0,0,0.14),0px 3px 14px 2px rgba(0,0,0,0.12); }
97
+ .ui-appbar--elevation-12 { box-shadow: 0px 7px 8px -4px rgba(0,0,0,0.2),0px 12px 17px 2px rgba(0,0,0,0.14),0px 5px 22px 4px rgba(0,0,0,0.12); }
98
+ .ui-appbar--elevation-16 { box-shadow: 0px 8px 10px -5px rgba(0,0,0,0.2),0px 16px 24px 2px rgba(0,0,0,0.14),0px 6px 30px 5px rgba(0,0,0,0.12); }
99
+ .ui-appbar--elevation-24 { box-shadow: 0px 11px 15px -7px rgba(0,0,0,0.2),0px 24px 38px 3px rgba(0,0,0,0.14),0px 9px 46px 8px rgba(0,0,0,0.12); }
100
+
101
+ @media (prefers-color-scheme: dark) {
102
+ .ui-appbar:not(.ui-appbar--enable-color-on-dark) {
103
+ background-color: #121212;
104
+ color: #fff;
105
+ }
106
+ }
107
+ `,w=forwardRef(({children:o,classes:r={},color:p="primary",elevation:a$1=4,enableColorOnDark:e=false,position:i="fixed",square:x=true,sx:b,className:d,component:f,...l},u)=>{let g=f||"header",c=v(b),s=a("ui-appbar",`ui-appbar--${i}`,`ui-appbar--color-${p}`,`ui-appbar--elevation-${a$1}`,x&&"ui-appbar--square",e&&"ui-appbar--enable-color-on-dark",r.root,i==="fixed"&&r.positionFixed,i==="absolute"&&r.positionAbsolute,i==="sticky"&&r.positionSticky,i==="static"&&r.positionStatic,i==="relative"&&r.positionRelative,p==="default"&&r.colorDefault,p==="primary"&&r.colorPrimary,p==="secondary"&&r.colorSecondary,p==="inherit"&&r.colorInherit,p==="transparent"&&r.colorTransparent,p==="error"&&r.colorError,p==="info"&&r.colorInfo,p==="success"&&r.colorSuccess,p==="warning"&&r.colorWarning,d);return jsxs(Fragment,{children:[jsx("style",{dangerouslySetInnerHTML:{__html:k}}),jsx(g,{ref:u,className:s,style:c,...l,children:o})]})});w.displayName="AppBar";export{w as a};//# sourceMappingURL=chunk-UYHBKE7G.mjs.map
108
+ //# sourceMappingURL=chunk-UYHBKE7G.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/components/AppBar/AppBar.tsx"],"names":["shorthandMap","resolveShorthands","style","resolved","key","value","target","t","resolveSx","sx","rawStyle","acc","curr","STYLES","AppBar","forwardRef","children","classes","color","elevation","enableColorOnDark","position","square","className","component","props","ref","Component","rootClasses","cn","jsxs","Fragment","jsx"],"mappings":"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","file":"chunk-UYHBKE7G.mjs","sourcesContent":["'use client';\n\nimport { forwardRef, ElementType } from 'react';\nimport { cn } from '../../utils/cn';\nimport { AppBarProps, 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 STYLES = `\n .ui-appbar {\n display: flex;\n flex-direction: column;\n width: 100%;\n box-sizing: border-box;\n flex-shrink: 0;\n transition: box-shadow 300ms cubic-bezier(0.4, 0, 0.2, 1) 0ms;\n z-index: 1100;\n }\n\n .ui-appbar--fixed {\n position: fixed;\n top: 0;\n left: auto;\n right: 0;\n }\n\n .ui-appbar--absolute {\n position: absolute;\n top: 0;\n left: auto;\n right: 0;\n }\n\n .ui-appbar--sticky {\n position: sticky;\n top: 0;\n left: auto;\n right: 0;\n }\n\n .ui-appbar--static {\n position: static;\n }\n\n .ui-appbar--relative {\n position: relative;\n }\n\n .ui-appbar--square {\n border-radius: 0;\n }\n\n .ui-appbar--color-primary {\n background-color: #1976d2;\n color: #fff;\n }\n\n .ui-appbar--color-secondary {\n background-color: #9c27b0;\n color: #fff;\n }\n\n .ui-appbar--color-default {\n background-color: #f5f5f5;\n color: rgba(0, 0, 0, 0.87);\n }\n\n .ui-appbar--color-inherit {\n color: inherit;\n }\n\n .ui-appbar--color-transparent {\n background-color: transparent;\n color: inherit;\n box-shadow: none;\n }\n\n .ui-appbar--color-error {\n background-color: #d32f2f;\n color: #fff;\n }\n\n .ui-appbar--color-info {\n background-color: #0288d1;\n color: #fff;\n }\n\n .ui-appbar--color-success {\n background-color: #2e7d32;\n color: #fff;\n }\n\n .ui-appbar--color-warning {\n background-color: #ed6c02;\n color: #fff;\n }\n\n /* Elevations */\n .ui-appbar--elevation-0 { box-shadow: none; }\n .ui-appbar--elevation-1 { box-shadow: 0px 2px 1px -1px rgba(0,0,0,0.2),0px 1px 1px 0px rgba(0,0,0,0.14),0px 1px 3px 0px rgba(0,0,0,0.12); }\n .ui-appbar--elevation-2 { box-shadow: 0px 3px 1px -2px rgba(0,0,0,0.2),0px 2px 2px 0px rgba(0,0,0,0.14),0px 1px 5px 0px rgba(0,0,0,0.12); }\n .ui-appbar--elevation-3 { box-shadow: 0px 3px 3px -2px rgba(0,0,0,0.2),0px 3px 4px 0px rgba(0,0,0,0.14),0px 1px 8px 0px rgba(0,0,0,0.12); }\n .ui-appbar--elevation-4 { box-shadow: 0px 2px 4px -1px rgba(0,0,0,0.2),0px 4px 5px 0px rgba(0,0,0,0.14),0px 1px 10px 0px rgba(0,0,0,0.12); }\n .ui-appbar--elevation-8 { box-shadow: 0px 5px 5px -3px rgba(0,0,0,0.2),0px 8px 10px 1px rgba(0,0,0,0.14),0px 3px 14px 2px rgba(0,0,0,0.12); }\n .ui-appbar--elevation-12 { box-shadow: 0px 7px 8px -4px rgba(0,0,0,0.2),0px 12px 17px 2px rgba(0,0,0,0.14),0px 5px 22px 4px rgba(0,0,0,0.12); }\n .ui-appbar--elevation-16 { box-shadow: 0px 8px 10px -5px rgba(0,0,0,0.2),0px 16px 24px 2px rgba(0,0,0,0.14),0px 6px 30px 5px rgba(0,0,0,0.12); }\n .ui-appbar--elevation-24 { box-shadow: 0px 11px 15px -7px rgba(0,0,0,0.2),0px 24px 38px 3px rgba(0,0,0,0.14),0px 9px 46px 8px rgba(0,0,0,0.12); }\n\n @media (prefers-color-scheme: dark) {\n .ui-appbar:not(.ui-appbar--enable-color-on-dark) {\n background-color: #121212;\n color: #fff;\n }\n }\n`;\n\n/**\n * The AppBar displays information and actions relating to the current screen.\n */\nexport const AppBar = forwardRef(<T extends ElementType = 'header'>(\n {\n children,\n classes = {},\n color = 'primary',\n elevation = 4,\n enableColorOnDark = false,\n position = 'fixed',\n square = true,\n sx,\n className,\n component,\n ...props\n }: AppBarProps<T>,\n ref: any\n) => {\n const Component = component || 'header';\n const style = resolveSx(sx);\n\n const rootClasses = cn(\n 'ui-appbar',\n `ui-appbar--${position}`,\n `ui-appbar--color-${color}`,\n `ui-appbar--elevation-${elevation}`,\n square && 'ui-appbar--square',\n enableColorOnDark && 'ui-appbar--enable-color-on-dark',\n classes.root,\n position === 'fixed' && classes.positionFixed,\n position === 'absolute' && classes.positionAbsolute,\n position === 'sticky' && classes.positionSticky,\n position === 'static' && classes.positionStatic,\n position === 'relative' && classes.positionRelative,\n color === 'default' && classes.colorDefault,\n color === 'primary' && classes.colorPrimary,\n color === 'secondary' && classes.colorSecondary,\n color === 'inherit' && classes.colorInherit,\n color === 'transparent' && classes.colorTransparent,\n color === 'error' && classes.colorError,\n color === 'info' && classes.colorInfo,\n color === 'success' && classes.colorSuccess,\n color === 'warning' && classes.colorWarning,\n className\n );\n\n return (\n <>\n <style dangerouslySetInnerHTML={{ __html: STYLES }} />\n <Component\n ref={ref}\n className={rootClasses}\n style={style}\n {...props}\n >\n {children}\n </Component>\n </>\n );\n});\n\nAppBar.displayName = 'AppBar';\n\nexport default AppBar;\n"]}