dhanasekar-ui 1.4.0 → 1.5.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 (125) hide show
  1. package/dist/chunk-3BPQL6ND.mjs +2 -0
  2. package/dist/chunk-3BPQL6ND.mjs.map +1 -0
  3. package/dist/chunk-3K6JBWL2.mjs +114 -0
  4. package/dist/chunk-3K6JBWL2.mjs.map +1 -0
  5. package/dist/chunk-3WIMLQGG.mjs +107 -0
  6. package/dist/chunk-3WIMLQGG.mjs.map +1 -0
  7. package/dist/chunk-4SIEQM7G.mjs +82 -0
  8. package/dist/chunk-4SIEQM7G.mjs.map +1 -0
  9. package/dist/chunk-5K26YZCB.js +43 -0
  10. package/dist/chunk-5K26YZCB.js.map +1 -0
  11. package/dist/chunk-6GWOEQFV.js +2 -0
  12. package/dist/chunk-6GWOEQFV.js.map +1 -0
  13. package/dist/chunk-7IWJZHMP.js +114 -0
  14. package/dist/chunk-7IWJZHMP.js.map +1 -0
  15. package/dist/chunk-C5X45JOF.mjs +233 -0
  16. package/dist/chunk-C5X45JOF.mjs.map +1 -0
  17. package/dist/{chunk-CJ2DPBHE.js → chunk-CGUBPQGJ.js} +2 -2
  18. package/dist/{chunk-CJ2DPBHE.js.map → chunk-CGUBPQGJ.js.map} +1 -1
  19. package/dist/chunk-EPVYHGER.js +199 -0
  20. package/dist/chunk-EPVYHGER.js.map +1 -0
  21. package/dist/chunk-EVTAM4HA.js +2 -0
  22. package/dist/chunk-EVTAM4HA.js.map +1 -0
  23. package/dist/chunk-EY2KMILZ.mjs +43 -0
  24. package/dist/chunk-EY2KMILZ.mjs.map +1 -0
  25. package/dist/chunk-FO3Z6JBE.mjs +2 -0
  26. package/dist/chunk-FO3Z6JBE.mjs.map +1 -0
  27. package/dist/chunk-FVWKKQU6.mjs +164 -0
  28. package/dist/chunk-FVWKKQU6.mjs.map +1 -0
  29. package/dist/chunk-GDFSKBLO.mjs +126 -0
  30. package/dist/chunk-GDFSKBLO.mjs.map +1 -0
  31. package/dist/{chunk-GZGTDLFV.js → chunk-HEVMYBGK.js} +2 -2
  32. package/dist/{chunk-GZGTDLFV.js.map → chunk-HEVMYBGK.js.map} +1 -1
  33. package/dist/{chunk-KUXDQANJ.mjs → chunk-IK7K7ZJZ.mjs} +2 -2
  34. package/dist/{chunk-KUXDQANJ.mjs.map → chunk-IK7K7ZJZ.mjs.map} +1 -1
  35. package/dist/chunk-K45L3ZJM.mjs +199 -0
  36. package/dist/chunk-K45L3ZJM.mjs.map +1 -0
  37. package/dist/chunk-M7GK3NTM.js +82 -0
  38. package/dist/chunk-M7GK3NTM.js.map +1 -0
  39. package/dist/chunk-NN5XQUE5.js +233 -0
  40. package/dist/chunk-NN5XQUE5.js.map +1 -0
  41. package/dist/{chunk-ZUAS66IF.mjs → chunk-PGEMFKMM.mjs} +2 -2
  42. package/dist/{chunk-ZUAS66IF.mjs.map → chunk-PGEMFKMM.mjs.map} +1 -1
  43. package/dist/chunk-RYA3WVA4.mjs +684 -0
  44. package/dist/chunk-RYA3WVA4.mjs.map +1 -0
  45. package/dist/chunk-T5D2TIAU.js +684 -0
  46. package/dist/chunk-T5D2TIAU.js.map +1 -0
  47. package/dist/chunk-W6EO3ICG.js +164 -0
  48. package/dist/chunk-W6EO3ICG.js.map +1 -0
  49. package/dist/chunk-WG2DQVVM.mjs +544 -0
  50. package/dist/chunk-WG2DQVVM.mjs.map +1 -0
  51. package/dist/chunk-YEQZR4CG.js +126 -0
  52. package/dist/chunk-YEQZR4CG.js.map +1 -0
  53. package/dist/chunk-ZAEYE2EA.js +107 -0
  54. package/dist/chunk-ZAEYE2EA.js.map +1 -0
  55. package/dist/chunk-ZCSVGCYM.js +544 -0
  56. package/dist/chunk-ZCSVGCYM.js.map +1 -0
  57. package/dist/components/Accordion/index.d.mts +86 -0
  58. package/dist/components/Accordion/index.d.ts +86 -0
  59. package/dist/components/Accordion/index.js +2 -0
  60. package/dist/components/Accordion/index.js.map +1 -0
  61. package/dist/components/Accordion/index.mjs +2 -0
  62. package/dist/components/Accordion/index.mjs.map +1 -0
  63. package/dist/components/Checkbox/index.js +1 -1
  64. package/dist/components/Checkbox/index.mjs +1 -1
  65. package/dist/components/DataGrid/index.d.mts +171 -0
  66. package/dist/components/DataGrid/index.d.ts +171 -0
  67. package/dist/components/DataGrid/index.js +2 -0
  68. package/dist/components/DataGrid/index.js.map +1 -0
  69. package/dist/components/DataGrid/index.mjs +2 -0
  70. package/dist/components/DataGrid/index.mjs.map +1 -0
  71. package/dist/components/Divider/index.d.mts +72 -0
  72. package/dist/components/Divider/index.d.ts +72 -0
  73. package/dist/components/Divider/index.js +2 -0
  74. package/dist/components/Divider/index.js.map +1 -0
  75. package/dist/components/Divider/index.mjs +2 -0
  76. package/dist/components/Divider/index.mjs.map +1 -0
  77. package/dist/components/FilterTable/index.d.mts +73 -0
  78. package/dist/components/FilterTable/index.d.ts +73 -0
  79. package/dist/components/FilterTable/index.js +2 -0
  80. package/dist/components/FilterTable/index.js.map +1 -0
  81. package/dist/components/FilterTable/index.mjs +2 -0
  82. package/dist/components/FilterTable/index.mjs.map +1 -0
  83. package/dist/components/FloatingButton/index.d.mts +72 -0
  84. package/dist/components/FloatingButton/index.d.ts +72 -0
  85. package/dist/components/FloatingButton/index.js +2 -0
  86. package/dist/components/FloatingButton/index.js.map +1 -0
  87. package/dist/components/FloatingButton/index.mjs +2 -0
  88. package/dist/components/FloatingButton/index.mjs.map +1 -0
  89. package/dist/components/OTPField/index.d.mts +72 -0
  90. package/dist/components/OTPField/index.d.ts +72 -0
  91. package/dist/components/OTPField/index.js +2 -0
  92. package/dist/components/OTPField/index.js.map +1 -0
  93. package/dist/components/OTPField/index.mjs +2 -0
  94. package/dist/components/OTPField/index.mjs.map +1 -0
  95. package/dist/components/Pagination/index.js +1 -1
  96. package/dist/components/Pagination/index.mjs +1 -1
  97. package/dist/components/Paper/index.d.mts +50 -0
  98. package/dist/components/Paper/index.d.ts +50 -0
  99. package/dist/components/Paper/index.js +2 -0
  100. package/dist/components/Paper/index.js.map +1 -0
  101. package/dist/components/Paper/index.mjs +2 -0
  102. package/dist/components/Paper/index.mjs.map +1 -0
  103. package/dist/components/Sidebar/index.d.mts +148 -0
  104. package/dist/components/Sidebar/index.d.ts +148 -0
  105. package/dist/components/Sidebar/index.js +2 -0
  106. package/dist/components/Sidebar/index.js.map +1 -0
  107. package/dist/components/Sidebar/index.mjs +2 -0
  108. package/dist/components/Sidebar/index.mjs.map +1 -0
  109. package/dist/components/Table/index.d.mts +112 -0
  110. package/dist/components/Table/index.d.ts +112 -0
  111. package/dist/components/Table/index.js +2 -0
  112. package/dist/components/Table/index.js.map +1 -0
  113. package/dist/components/Table/index.mjs +2 -0
  114. package/dist/components/Table/index.mjs.map +1 -0
  115. package/dist/components/TeamSlider/index.d.mts +100 -0
  116. package/dist/components/TeamSlider/index.d.ts +100 -0
  117. package/dist/components/TeamSlider/index.js +2 -0
  118. package/dist/components/TeamSlider/index.js.map +1 -0
  119. package/dist/components/TeamSlider/index.mjs +2 -0
  120. package/dist/components/TeamSlider/index.mjs.map +1 -0
  121. package/dist/index.d.mts +10 -0
  122. package/dist/index.d.ts +10 -0
  123. package/dist/index.js +1 -1
  124. package/dist/index.mjs +1 -1
  125. package/package.json +52 -2
@@ -0,0 +1,233 @@
1
+ import {a as a$1}from'./chunk-IK7K7ZJZ.mjs';import {d}from'./chunk-PGEMFKMM.mjs';import {a as a$2}from'./chunk-HGGQFNUJ.mjs';import {a}from'./chunk-547MQ4FI.mjs';import {forwardRef,useState,useEffect}from'react';import {jsxs,Fragment,jsx}from'react/jsx-runtime';var ye=`
2
+ /* DataGrid Root */
3
+ .ui-datagrid {
4
+ display: flex;
5
+ flex-direction: column;
6
+ position: relative;
7
+ border: 1px solid #e2e8f0;
8
+ border-radius: 8px;
9
+ background-color: #ffffff;
10
+ font-family: inherit;
11
+ box-sizing: border-box;
12
+ overflow: hidden;
13
+ }
14
+
15
+ /* Main scroll area */
16
+ .ui-datagrid-main {
17
+ flex: 1 1 auto;
18
+ position: relative;
19
+ overflow: auto;
20
+ width: 100%;
21
+ }
22
+
23
+ /* Table structure */
24
+ .ui-datagrid-table {
25
+ width: 100%;
26
+ border-collapse: collapse;
27
+ border-spacing: 0;
28
+ text-align: left;
29
+ table-layout: auto;
30
+ }
31
+
32
+ /* Table Headers */
33
+ .ui-datagrid-thead {
34
+ background-color: #f8fafc;
35
+ position: sticky;
36
+ top: 0;
37
+ z-index: 3;
38
+ border-bottom: 1px solid #e2e8f0;
39
+ }
40
+
41
+ .ui-datagrid-th {
42
+ padding: 12px 16px;
43
+ font-size: 0.875rem;
44
+ font-weight: 600;
45
+ color: #475569;
46
+ user-select: none;
47
+ box-sizing: border-box;
48
+ white-space: nowrap;
49
+ border-bottom: 1px solid #e2e8f0;
50
+ background-color: #f8fafc;
51
+ transition: background-color 150ms;
52
+ }
53
+
54
+ .ui-datagrid-th--sortable {
55
+ cursor: pointer;
56
+ }
57
+
58
+ .ui-datagrid-th--sortable:hover {
59
+ background-color: #f1f5f9;
60
+ }
61
+
62
+ .ui-datagrid-th-content {
63
+ display: flex;
64
+ align-items: center;
65
+ gap: 8px;
66
+ }
67
+
68
+ .ui-datagrid-th-sort-icon {
69
+ display: inline-flex;
70
+ align-items: center;
71
+ color: #94a3b8;
72
+ transition: color 150ms, transform 150ms;
73
+ }
74
+
75
+ .ui-datagrid-th-sort-icon--active {
76
+ color: #3b82f6;
77
+ }
78
+
79
+ /* Row & Cells styling */
80
+ .ui-datagrid-tr {
81
+ border-bottom: 1px solid #e2e8f0;
82
+ transition: background-color 150ms;
83
+ }
84
+
85
+ .ui-datagrid-tr:last-child {
86
+ border-bottom: none;
87
+ }
88
+
89
+ .ui-datagrid-tr:hover {
90
+ background-color: #f8fafc;
91
+ }
92
+
93
+ .ui-datagrid-tr--selected {
94
+ background-color: rgba(59, 130, 246, 0.04);
95
+ }
96
+
97
+ .ui-datagrid-tr--selected:hover {
98
+ background-color: rgba(59, 130, 246, 0.08);
99
+ }
100
+
101
+ .ui-datagrid-td {
102
+ padding: 12px 16px;
103
+ font-size: 0.875rem;
104
+ color: #0f172a;
105
+ box-sizing: border-box;
106
+ white-space: nowrap;
107
+ text-overflow: ellipsis;
108
+ overflow: hidden;
109
+ }
110
+
111
+ /* Density support */
112
+ .ui-datagrid--compact .ui-datagrid-th {
113
+ padding: 8px 12px;
114
+ font-size: 0.8125rem;
115
+ }
116
+ .ui-datagrid--compact .ui-datagrid-td {
117
+ padding: 6px 12px;
118
+ font-size: 0.8125rem;
119
+ }
120
+
121
+ .ui-datagrid--comfortable .ui-datagrid-th {
122
+ padding: 16px 20px;
123
+ font-size: 0.9375rem;
124
+ }
125
+ .ui-datagrid--comfortable .ui-datagrid-td {
126
+ padding: 16px 20px;
127
+ font-size: 0.9375rem;
128
+ }
129
+
130
+ /* Centered and aligned cell styles */
131
+ .ui-datagrid-cell--align-center {
132
+ text-align: center;
133
+ }
134
+ .ui-datagrid-cell--align-right {
135
+ text-align: right;
136
+ }
137
+
138
+ .ui-datagrid-cell--checkbox {
139
+ width: 48px;
140
+ padding: 0;
141
+ text-align: center;
142
+ vertical-align: middle;
143
+ }
144
+
145
+ .ui-datagrid-cell--checkbox .ui-checkbox {
146
+ vertical-align: middle;
147
+ }
148
+
149
+ /* Loading State glassmorphism overlay */
150
+ .ui-datagrid-loading-overlay {
151
+ position: absolute;
152
+ top: 0;
153
+ left: 0;
154
+ right: 0;
155
+ bottom: 0;
156
+ background-color: rgba(255, 255, 255, 0.55);
157
+ z-index: 10;
158
+ display: flex;
159
+ align-items: center;
160
+ justify-content: center;
161
+ backdrop-filter: blur(1px);
162
+ }
163
+
164
+ .ui-datagrid-spinner {
165
+ width: 40px;
166
+ height: 40px;
167
+ border: 3px solid #e2e8f0;
168
+ border-top-color: #3b82f6;
169
+ border-radius: 50%;
170
+ animation: ui-datagrid-spin 1s linear infinite;
171
+ }
172
+
173
+ @keyframes ui-datagrid-spin {
174
+ to {
175
+ transform: rotate(360deg);
176
+ }
177
+ }
178
+
179
+ /* Footer & Pagination styles */
180
+ .ui-datagrid-footer {
181
+ display: flex;
182
+ flex-wrap: wrap;
183
+ align-items: center;
184
+ justify-content: space-between;
185
+ padding: 12px 16px;
186
+ border-top: 1px solid #e2e8f0;
187
+ background-color: #ffffff;
188
+ gap: 16px;
189
+ font-size: 0.875rem;
190
+ color: #475569;
191
+ box-sizing: border-box;
192
+ }
193
+
194
+ .ui-datagrid-footer-left {
195
+ display: flex;
196
+ align-items: center;
197
+ gap: 16px;
198
+ }
199
+
200
+ .ui-datagrid-rows-per-page {
201
+ display: flex;
202
+ align-items: center;
203
+ gap: 8px;
204
+ }
205
+
206
+ .ui-datagrid-select {
207
+ padding: 4px 8px;
208
+ border: 1px solid #cbd5e1;
209
+ border-radius: 4px;
210
+ background-color: #ffffff;
211
+ color: #475569;
212
+ font-family: inherit;
213
+ font-size: 0.875rem;
214
+ cursor: pointer;
215
+ outline: none;
216
+ transition: border-color 150ms;
217
+ }
218
+
219
+ .ui-datagrid-select:focus {
220
+ border-color: #3b82f6;
221
+ }
222
+
223
+ .ui-datagrid-footer-right {
224
+ display: flex;
225
+ align-items: center;
226
+ gap: 16px;
227
+ }
228
+
229
+ .ui-datagrid-info {
230
+ font-weight: 500;
231
+ }
232
+ `,K=forwardRef(({columns:v,rows:y=[],getRowId:A,page:h,defaultPage:Q=0,pageSize:g=10,pageSizeOptions:U=[5,10,25,50],pagination:M=true,paginationMode:S="client",rowCount:X,onPageChange:N,onPageSizeChange:G,checkboxSelection:z=false,rowSelectionModel:R,onRowSelectionModelChange:T,loading:Z=false,density:P="standard",getRowClassName:$,height:ee,sx:te,classes:u={},className:ie,...H},ae)=>{let[de,I]=useState(Q),W=h!==void 0&&N!==void 0,x=W?h:de,[re,F]=useState(g!==void 0?g:10),O=g!==void 0&&G!==void 0,f=O?g:re,[c,ne]=useState(null),[p,oe]=useState(null),[le,se]=useState([]),s=R!==void 0?R:le;useEffect(()=>{h!==void 0&&I(h);},[h]),useEffect(()=>{g!==void 0&&F(g);},[g]),useEffect(()=>{I(0);},[f]);let k=e=>{R===void 0&&se(e),T&&T(e);},_=e=>A?A(e):e.id!==void 0?e.id:"",ce=e=>{if(e.sortable===false)return;let t="asc";c===e.field&&(p==="asc"?t="desc":p==="desc"?t=null:t="asc"),ne(t?e.field:null),oe(t);},j=S==="server"||!c||!p?y:[...y].sort((e,t)=>{let a=v.find(r=>r.field===c),d=a?.valueGetter?a.valueGetter({row:e,value:e[c]}):e[c],o=a?.valueGetter?a.valueGetter({row:t,value:t[c]}):t[c];return d==null&&(d=""),o==null&&(o=""),typeof d=="string"&&typeof o=="string"?p==="asc"?d.localeCompare(o):o.localeCompare(d):p==="asc"?d>o?1:d<o?-1:0:d<o?1:d>o?-1:0}),w=S==="server"?X??y.length:y.length,D=M&&S==="client"?j.slice(x*f,(x+1)*f):j,m=D.map(_),B=m.length>0&&m.every(e=>s.includes(e)),ge=m.length>0&&m.some(e=>s.includes(e))&&!B,fe=e=>{if(e.target.checked){let t=m.filter(a=>!s.includes(a));k([...s,...t]);}else {let t=s.filter(a=>!m.includes(a));k(t);}},ue=e=>{let t=s.includes(e);k(t?s.filter(a=>a!==e):[...s,e]);},pe=e=>{W||I(e-1),N&&N(e-1);},me=e=>{let t=parseInt(e.target.value,10);O||F(t),G&&G(t);},he=w===0?0:x*f+1,xe=Math.min(w,(x+1)*f),V=Math.ceil(w/f),Y=e=>{let t={};return e.width?(t.width=`${e.width}px`,t.minWidth=`${e.width}px`):e.minWidth&&(t.minWidth=`${e.minWidth}px`),e.flex&&(t.flex=e.flex),t};return jsxs(Fragment,{children:[jsx("style",{dangerouslySetInnerHTML:{__html:ye}}),jsxs("div",{ref:ae,className:a("ui-datagrid",`ui-datagrid--${P}`,u.root,ie),style:{height:ee,...a$2(te),...H.style},...H,children:[jsxs("div",{className:a("ui-datagrid-main"),children:[Z&&jsx("div",{className:"ui-datagrid-loading-overlay",children:jsx("div",{className:"ui-datagrid-spinner"})}),jsxs("table",{className:a("ui-datagrid-table",u.table),children:[jsx("thead",{className:a("ui-datagrid-thead",u.header),children:jsxs("tr",{className:"ui-datagrid-tr",children:[z&&jsx("th",{className:"ui-datagrid-th ui-datagrid-cell--checkbox",children:jsx(d,{size:"small",checked:B,indeterminate:ge,onChange:fe})}),v.map(e=>{let t=e.sortable!==false,a$1=c===e.field,d=e.headerAlign?`ui-datagrid-cell--align-${e.headerAlign}`:e.align?`ui-datagrid-cell--align-${e.align}`:"";return jsx("th",{onClick:()=>ce(e),className:a("ui-datagrid-th",t&&"ui-datagrid-th--sortable",d),style:Y(e),children:jsxs("div",{className:"ui-datagrid-th-content",children:[jsx("span",{children:e.headerName??e.field}),t&&jsx("span",{className:a("ui-datagrid-th-sort-icon",a$1&&"ui-datagrid-th-sort-icon--active"),style:{transform:a$1&&p==="desc"?"rotate(180deg)":void 0},children:jsxs("svg",{width:"12",height:"12",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2.5",strokeLinecap:"round",strokeLinejoin:"round",children:[jsx("line",{x1:"12",y1:"19",x2:"12",y2:"5"}),jsx("polyline",{points:"5 12 12 5 19 12"})]})})]})},e.field)})]})}),jsx("tbody",{children:D.length===0?jsx("tr",{className:"ui-datagrid-tr",children:jsx("td",{colSpan:v.length+(z?1:0),className:"ui-datagrid-td",style:{textAlign:"center",padding:"32px 0",color:"#64748b"},children:"No rows to display"})}):D.map((e,t)=>{let a$1=_(e),d$1=s.includes(a$1),o=$?$({row:e}):"";return jsxs("tr",{className:a("ui-datagrid-tr",d$1&&"ui-datagrid-tr--selected",o,u.row),children:[z&&jsx("td",{className:"ui-datagrid-td ui-datagrid-cell--checkbox",children:jsx(d,{size:"small",checked:d$1,onChange:()=>ue(a$1)})}),v.map(r=>{let be=r.align?`ui-datagrid-cell--align-${r.align}`:"",C=r.valueGetter?r.valueGetter({row:e,value:e[r.field]}):e[r.field];return jsx("td",{className:a("ui-datagrid-td",be,u.cell),style:Y(r),children:r.renderCell?r.renderCell({value:C,row:e,field:r.field,id:a$1}):C!=null?String(C):""},r.field)})]},a$1||t)})})]})]}),M&&jsxs("div",{className:a("ui-datagrid-footer",u.footer),children:[jsx("div",{className:"ui-datagrid-footer-left",children:jsxs("div",{className:"ui-datagrid-rows-per-page",children:[jsx("span",{children:"Rows per page:"}),jsx("select",{value:f,onChange:me,className:"ui-datagrid-select",children:U.map(e=>jsx("option",{value:e,children:e},e))})]})}),jsxs("div",{className:"ui-datagrid-footer-right",children:[jsxs("span",{className:"ui-datagrid-info",children:[he,"-",xe," of ",w]}),V>1&&jsx("div",{className:"ui-datagrid-footer-pagination",children:jsx(a$1,{count:V,page:x+1,onChange:(e,t)=>pe(t),size:"small",shape:"rounded"})})]})]})]})]})});K.displayName="DataGrid";var ke=K;export{K as a,ke as b};//# sourceMappingURL=chunk-C5X45JOF.mjs.map
233
+ //# sourceMappingURL=chunk-C5X45JOF.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/components/DataGrid/DataGrid.tsx"],"names":["STYLES","DataGrid","forwardRef","columns","rows","getRowId","pageProp","defaultPage","pageSizeProp","pageSizeOptions","pagination","paginationMode","rowCountProp","onPageChange","onPageSizeChange","checkboxSelection","rowSelectionModel","onRowSelectionModelChange","loading","density","getRowClassName","height","sx","classes","className","props","ref","pageState","setPageState","useState","isPageControlled","page","pageSizeState","setPageSizeState","isPageSizeControlled","pageSize","sortField","setSortField","sortOrder","setSortOrder","selectionModelInternal","setSelectionModelInternal","selectionModel","useEffect","updateSelection","newSelection","getRowIdValue","row","handleSortClick","col","nextOrder","sortedRows","a","b","c","valA","valB","totalRowsCount","paginatedRows","paginatedRowIds","isAllSelected","id","isSomeSelected","handleSelectAllChange","toAdd","remaining","handleRowSelectChange","rowId","isSelected","handlePageChange","newPage","handlePageSizeChange","newSize","fromIndex","toIndex","totalPages","getColStyle","style","jsxs","Fragment","jsx","cn","handleSx","Checkbox","isColSortable","isSorted","alignClass","index","rowCustomClass","value","opt","Pagination","_","p","DataGrid_default"],"mappings":"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","file":"chunk-C5X45JOF.mjs","sourcesContent":["'use client';\n\nimport { forwardRef, useState, useEffect, ChangeEvent, CSSProperties } from 'react';\nimport { cn } from '../../utils/cn';\nimport { handleSx } from '../../utils/handleSx';\nimport { Checkbox } from '../Checkbox/Checkbox';\nimport { Pagination } from '../Pagination/Pagination';\nimport { DataGridProps, GridRowId, GridColDef, GridRowModel } from './DataGrid.types';\n\nconst STYLES = `\n /* DataGrid Root */\n .ui-datagrid {\n display: flex;\n flex-direction: column;\n position: relative;\n border: 1px solid #e2e8f0;\n border-radius: 8px;\n background-color: #ffffff;\n font-family: inherit;\n box-sizing: border-box;\n overflow: hidden;\n }\n\n /* Main scroll area */\n .ui-datagrid-main {\n flex: 1 1 auto;\n position: relative;\n overflow: auto;\n width: 100%;\n }\n\n /* Table structure */\n .ui-datagrid-table {\n width: 100%;\n border-collapse: collapse;\n border-spacing: 0;\n text-align: left;\n table-layout: auto;\n }\n\n /* Table Headers */\n .ui-datagrid-thead {\n background-color: #f8fafc;\n position: sticky;\n top: 0;\n z-index: 3;\n border-bottom: 1px solid #e2e8f0;\n }\n\n .ui-datagrid-th {\n padding: 12px 16px;\n font-size: 0.875rem;\n font-weight: 600;\n color: #475569;\n user-select: none;\n box-sizing: border-box;\n white-space: nowrap;\n border-bottom: 1px solid #e2e8f0;\n background-color: #f8fafc;\n transition: background-color 150ms;\n }\n\n .ui-datagrid-th--sortable {\n cursor: pointer;\n }\n\n .ui-datagrid-th--sortable:hover {\n background-color: #f1f5f9;\n }\n\n .ui-datagrid-th-content {\n display: flex;\n align-items: center;\n gap: 8px;\n }\n\n .ui-datagrid-th-sort-icon {\n display: inline-flex;\n align-items: center;\n color: #94a3b8;\n transition: color 150ms, transform 150ms;\n }\n\n .ui-datagrid-th-sort-icon--active {\n color: #3b82f6;\n }\n\n /* Row & Cells styling */\n .ui-datagrid-tr {\n border-bottom: 1px solid #e2e8f0;\n transition: background-color 150ms;\n }\n\n .ui-datagrid-tr:last-child {\n border-bottom: none;\n }\n\n .ui-datagrid-tr:hover {\n background-color: #f8fafc;\n }\n\n .ui-datagrid-tr--selected {\n background-color: rgba(59, 130, 246, 0.04);\n }\n\n .ui-datagrid-tr--selected:hover {\n background-color: rgba(59, 130, 246, 0.08);\n }\n\n .ui-datagrid-td {\n padding: 12px 16px;\n font-size: 0.875rem;\n color: #0f172a;\n box-sizing: border-box;\n white-space: nowrap;\n text-overflow: ellipsis;\n overflow: hidden;\n }\n\n /* Density support */\n .ui-datagrid--compact .ui-datagrid-th {\n padding: 8px 12px;\n font-size: 0.8125rem;\n }\n .ui-datagrid--compact .ui-datagrid-td {\n padding: 6px 12px;\n font-size: 0.8125rem;\n }\n\n .ui-datagrid--comfortable .ui-datagrid-th {\n padding: 16px 20px;\n font-size: 0.9375rem;\n }\n .ui-datagrid--comfortable .ui-datagrid-td {\n padding: 16px 20px;\n font-size: 0.9375rem;\n }\n\n /* Centered and aligned cell styles */\n .ui-datagrid-cell--align-center {\n text-align: center;\n }\n .ui-datagrid-cell--align-right {\n text-align: right;\n }\n\n .ui-datagrid-cell--checkbox {\n width: 48px;\n padding: 0;\n text-align: center;\n vertical-align: middle;\n }\n\n .ui-datagrid-cell--checkbox .ui-checkbox {\n vertical-align: middle;\n }\n\n /* Loading State glassmorphism overlay */\n .ui-datagrid-loading-overlay {\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n background-color: rgba(255, 255, 255, 0.55);\n z-index: 10;\n display: flex;\n align-items: center;\n justify-content: center;\n backdrop-filter: blur(1px);\n }\n\n .ui-datagrid-spinner {\n width: 40px;\n height: 40px;\n border: 3px solid #e2e8f0;\n border-top-color: #3b82f6;\n border-radius: 50%;\n animation: ui-datagrid-spin 1s linear infinite;\n }\n\n @keyframes ui-datagrid-spin {\n to {\n transform: rotate(360deg);\n }\n }\n\n /* Footer & Pagination styles */\n .ui-datagrid-footer {\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n justify-content: space-between;\n padding: 12px 16px;\n border-top: 1px solid #e2e8f0;\n background-color: #ffffff;\n gap: 16px;\n font-size: 0.875rem;\n color: #475569;\n box-sizing: border-box;\n }\n\n .ui-datagrid-footer-left {\n display: flex;\n align-items: center;\n gap: 16px;\n }\n\n .ui-datagrid-rows-per-page {\n display: flex;\n align-items: center;\n gap: 8px;\n }\n\n .ui-datagrid-select {\n padding: 4px 8px;\n border: 1px solid #cbd5e1;\n border-radius: 4px;\n background-color: #ffffff;\n color: #475569;\n font-family: inherit;\n font-size: 0.875rem;\n cursor: pointer;\n outline: none;\n transition: border-color 150ms;\n }\n\n .ui-datagrid-select:focus {\n border-color: #3b82f6;\n }\n\n .ui-datagrid-footer-right {\n display: flex;\n align-items: center;\n gap: 16px;\n }\n\n .ui-datagrid-info {\n font-weight: 500;\n }\n`;\n\nexport const DataGrid = forwardRef<HTMLDivElement, DataGridProps>(\n (\n {\n columns,\n rows = [],\n getRowId,\n page: pageProp,\n defaultPage = 0,\n pageSize: pageSizeProp = 10,\n pageSizeOptions = [5, 10, 25, 50],\n pagination = true,\n paginationMode = 'client',\n rowCount: rowCountProp,\n onPageChange,\n onPageSizeChange,\n checkboxSelection = false,\n rowSelectionModel,\n onRowSelectionModelChange,\n loading = false,\n density = 'standard',\n getRowClassName,\n height,\n sx,\n classes = {},\n className,\n ...props\n },\n ref\n ) => {\n // Page state (0-indexed internally to match MUI)\n const [pageState, setPageState] = useState(defaultPage);\n const isPageControlled = pageProp !== undefined && onPageChange !== undefined;\n const page = isPageControlled ? pageProp : pageState;\n\n // PageSize state\n const [pageSizeState, setPageSizeState] = useState(pageSizeProp !== undefined ? pageSizeProp : 10);\n const isPageSizeControlled = pageSizeProp !== undefined && onPageSizeChange !== undefined;\n const pageSize = isPageSizeControlled ? pageSizeProp : pageSizeState;\n\n // Client-side Sorting state\n const [sortField, setSortField] = useState<string | null>(null);\n const [sortOrder, setSortOrder] = useState<'asc' | 'desc' | null>(null);\n\n // Row selection state\n const [selectionModelInternal, setSelectionModelInternal] = useState<GridRowId[]>([]);\n const selectionModel = rowSelectionModel !== undefined ? rowSelectionModel : selectionModelInternal;\n\n // Sync props to state if parent updates them\n useEffect(() => {\n if (pageProp !== undefined) {\n setPageState(pageProp);\n }\n }, [pageProp]);\n\n useEffect(() => {\n if (pageSizeProp !== undefined) {\n setPageSizeState(pageSizeProp);\n }\n }, [pageSizeProp]);\n\n // Reset page if page size changes or rows filter\n useEffect(() => {\n setPageState(0);\n }, [pageSize]);\n\n // Handle Selection Change helper\n const updateSelection = (newSelection: GridRowId[]) => {\n if (rowSelectionModel === undefined) {\n setSelectionModelInternal(newSelection);\n }\n if (onRowSelectionModelChange) {\n onRowSelectionModelChange(newSelection);\n }\n };\n\n // Row ID helper\n const getRowIdValue = (row: GridRowModel): GridRowId => {\n if (getRowId) return getRowId(row);\n return row.id !== undefined ? row.id : '';\n };\n\n // Client-side sorting logic\n const handleSortClick = (col: GridColDef) => {\n if (col.sortable === false) return;\n\n let nextOrder: 'asc' | 'desc' | null = 'asc';\n if (sortField === col.field) {\n if (sortOrder === 'asc') nextOrder = 'desc';\n else if (sortOrder === 'desc') nextOrder = null;\n else nextOrder = 'asc';\n }\n\n setSortField(nextOrder ? col.field : null);\n setSortOrder(nextOrder);\n };\n\n // Compute sorted rows (only if client-side pagination/sorting)\n const getSortedRows = () => {\n if (paginationMode === 'server' || !sortField || !sortOrder) {\n return rows;\n }\n\n return [...rows].sort((a, b) => {\n const col = columns.find((c) => c.field === sortField);\n let valA = col?.valueGetter ? col.valueGetter({ row: a, value: a[sortField] }) : a[sortField];\n let valB = col?.valueGetter ? col.valueGetter({ row: b, value: b[sortField] }) : b[sortField];\n\n if (valA == null) valA = '';\n if (valB == null) valB = '';\n\n if (typeof valA === 'string' && typeof valB === 'string') {\n return sortOrder === 'asc' ? valA.localeCompare(valB) : valB.localeCompare(valA);\n }\n\n return sortOrder === 'asc'\n ? valA > valB ? 1 : valA < valB ? -1 : 0\n : valA < valB ? 1 : valA > valB ? -1 : 0;\n });\n };\n\n const sortedRows = getSortedRows();\n\n // Compute total rows count\n const totalRowsCount = paginationMode === 'server' ? (rowCountProp ?? rows.length) : rows.length;\n\n // Slice rows for client pagination\n const paginatedRows =\n pagination && paginationMode === 'client'\n ? sortedRows.slice(page * pageSize, (page + 1) * pageSize)\n : sortedRows;\n\n // Checkbox helper states\n const paginatedRowIds = paginatedRows.map(getRowIdValue);\n const isAllSelected = paginatedRowIds.length > 0 && paginatedRowIds.every((id) => selectionModel.includes(id));\n const isSomeSelected =\n paginatedRowIds.length > 0 && paginatedRowIds.some((id) => selectionModel.includes(id)) && !isAllSelected;\n\n const handleSelectAllChange = (e: ChangeEvent<HTMLInputElement>) => {\n if (e.target.checked) {\n const toAdd = paginatedRowIds.filter((id) => !selectionModel.includes(id));\n updateSelection([...selectionModel, ...toAdd]);\n } else {\n const remaining = selectionModel.filter((id) => !paginatedRowIds.includes(id));\n updateSelection(remaining);\n }\n };\n\n const handleRowSelectChange = (rowId: GridRowId) => {\n const isSelected = selectionModel.includes(rowId);\n if (isSelected) {\n updateSelection(selectionModel.filter((id) => id !== rowId));\n } else {\n updateSelection([...selectionModel, rowId]);\n }\n };\n\n const handlePageChange = (newPage: number) => {\n if (!isPageControlled) {\n setPageState(newPage - 1);\n }\n if (onPageChange) {\n onPageChange(newPage - 1);\n }\n };\n\n const handlePageSizeChange = (e: ChangeEvent<HTMLSelectElement>) => {\n const newSize = parseInt(e.target.value, 10);\n if (!isPageSizeControlled) {\n setPageSizeState(newSize);\n }\n if (onPageSizeChange) {\n onPageSizeChange(newSize);\n }\n };\n\n // Calculate ranges for paging footer (e.g. 1-10 of 100)\n const fromIndex = totalRowsCount === 0 ? 0 : page * pageSize + 1;\n const toIndex = Math.min(totalRowsCount, (page + 1) * pageSize);\n\n // Total Page count for Pagination component\n const totalPages = Math.ceil(totalRowsCount / pageSize);\n\n // Custom inline column widths\n const getColStyle = (col: GridColDef): CSSProperties => {\n const style: CSSProperties = {};\n if (col.width) {\n style.width = `${col.width}px`;\n style.minWidth = `${col.width}px`;\n } else if (col.minWidth) {\n style.minWidth = `${col.minWidth}px`;\n }\n if (col.flex) {\n style.flex = col.flex;\n }\n return style;\n };\n\n return (\n <>\n <style dangerouslySetInnerHTML={{ __html: STYLES }} />\n <div\n ref={ref}\n className={cn(\n 'ui-datagrid',\n `ui-datagrid--${density}`,\n classes.root,\n className\n )}\n style={{\n height,\n ...handleSx(sx),\n ...props.style,\n }}\n {...props}\n >\n {/* Main Scrollable Grid Content */}\n <div className={cn('ui-datagrid-main')}>\n {/* Loading Glass Overlay */}\n {loading && (\n <div className=\"ui-datagrid-loading-overlay\">\n <div className=\"ui-datagrid-spinner\" />\n </div>\n )}\n\n <table className={cn('ui-datagrid-table', classes.table)}>\n <thead className={cn('ui-datagrid-thead', classes.header)}>\n <tr className=\"ui-datagrid-tr\">\n {/* Select All Checkbox Cell */}\n {checkboxSelection && (\n <th className=\"ui-datagrid-th ui-datagrid-cell--checkbox\">\n <Checkbox\n size=\"small\"\n checked={isAllSelected}\n indeterminate={isSomeSelected}\n onChange={handleSelectAllChange}\n />\n </th>\n )}\n\n {/* Header Columns */}\n {columns.map((col) => {\n const isColSortable = col.sortable !== false;\n const isSorted = sortField === col.field;\n const alignClass = col.headerAlign ? `ui-datagrid-cell--align-${col.headerAlign}` : (col.align ? `ui-datagrid-cell--align-${col.align}` : '');\n\n return (\n <th\n key={col.field}\n onClick={() => handleSortClick(col)}\n className={cn(\n 'ui-datagrid-th',\n isColSortable && 'ui-datagrid-th--sortable',\n alignClass\n )}\n style={getColStyle(col)}\n >\n <div className=\"ui-datagrid-th-content\">\n <span>{col.headerName ?? col.field}</span>\n {isColSortable && (\n <span\n className={cn(\n 'ui-datagrid-th-sort-icon',\n isSorted && 'ui-datagrid-th-sort-icon--active'\n )}\n style={{\n transform: isSorted && sortOrder === 'desc' ? 'rotate(180deg)' : undefined,\n }}\n >\n <svg width=\"12\" height=\"12\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" strokeWidth=\"2.5\" strokeLinecap=\"round\" strokeLinejoin=\"round\">\n <line x1=\"12\" y1=\"19\" x2=\"12\" y2=\"5\"></line>\n <polyline points=\"5 12 12 5 19 12\"></polyline>\n </svg>\n </span>\n )}\n </div>\n </th>\n );\n })}\n </tr>\n </thead>\n <tbody>\n {paginatedRows.length === 0 ? (\n <tr className=\"ui-datagrid-tr\">\n <td\n colSpan={columns.length + (checkboxSelection ? 1 : 0)}\n className=\"ui-datagrid-td\"\n style={{ textAlign: 'center', padding: '32px 0', color: '#64748b' }}\n >\n No rows to display\n </td>\n </tr>\n ) : (\n paginatedRows.map((row, index) => {\n const rowId = getRowIdValue(row);\n const isSelected = selectionModel.includes(rowId);\n const rowCustomClass = getRowClassName ? getRowClassName({ row }) : '';\n\n return (\n <tr\n key={rowId || index}\n className={cn(\n 'ui-datagrid-tr',\n isSelected && 'ui-datagrid-tr--selected',\n rowCustomClass,\n classes.row\n )}\n >\n {/* Row Checkbox Cell */}\n {checkboxSelection && (\n <td className=\"ui-datagrid-td ui-datagrid-cell--checkbox\">\n <Checkbox\n size=\"small\"\n checked={isSelected}\n onChange={() => handleRowSelectChange(rowId)}\n />\n </td>\n )}\n\n {/* Cell Columns */}\n {columns.map((col) => {\n const alignClass = col.align ? `ui-datagrid-cell--align-${col.align}` : '';\n const value = col.valueGetter\n ? col.valueGetter({ row, value: row[col.field] })\n : row[col.field];\n\n return (\n <td\n key={col.field}\n className={cn('ui-datagrid-td', alignClass, classes.cell)}\n style={getColStyle(col)}\n >\n {col.renderCell\n ? col.renderCell({ value, row, field: col.field, id: rowId })\n : (value !== undefined && value !== null ? String(value) : '')}\n </td>\n );\n })}\n </tr>\n );\n })\n )}\n </tbody>\n </table>\n </div>\n\n {/* Footer controls (Rows Per Page & Pagination switcher) */}\n {pagination && (\n <div className={cn('ui-datagrid-footer', classes.footer)}>\n <div className=\"ui-datagrid-footer-left\">\n <div className=\"ui-datagrid-rows-per-page\">\n <span>Rows per page:</span>\n <select\n value={pageSize}\n onChange={handlePageSizeChange}\n className=\"ui-datagrid-select\"\n >\n {pageSizeOptions.map((opt) => (\n <option key={opt} value={opt}>\n {opt}\n </option>\n ))}\n </select>\n </div>\n </div>\n\n <div className=\"ui-datagrid-footer-right\">\n <span className=\"ui-datagrid-info\">\n {fromIndex}-{toIndex} of {totalRowsCount}\n </span>\n\n {totalPages > 1 && (\n <div className=\"ui-datagrid-footer-pagination\">\n <Pagination\n count={totalPages}\n page={page + 1}\n onChange={(_, p) => handlePageChange(p)}\n size=\"small\"\n shape=\"rounded\"\n />\n </div>\n )}\n </div>\n </div>\n )}\n </div>\n </>\n );\n }\n);\n\nDataGrid.displayName = 'DataGrid';\n\nexport default DataGrid;\n"]}
@@ -89,5 +89,5 @@
89
89
  font-family: inherit;
90
90
  color: inherit;
91
91
  }
92
- `,Y=react.forwardRef(({checked:c,checkedIcon:k=jsxRuntime.jsx($,{}),classes:i={},color:p="primary",defaultChecked:m,disabled:h=false,disableRipple:F=false,icon:f=jsxRuntime.jsx(j,{}),id:g,indeterminate:n=false,indeterminateIcon:v=jsxRuntime.jsx(q,{}),onChange:l,required:y=false,size:C="medium",slotProps:s={},slots:u={},sx:t,value:z,className:w,children:b,...H},I)=>{let[r,d]=react.useState(c??m??false);react.useEffect(()=>{c!==void 0&&d(c);},[c]);let B=x=>{c===void 0&&d(x.target.checked),l&&l(x);},E=r||n,L=u.root||"label",M=u.input||"input",N=chunkDDGBDWFC_js.a("ui-checkbox",`ui-checkbox--${p}`,`ui-checkbox--${C}`,h&&"ui-checkbox--disabled",i.root,w),S=chunkDDGBDWFC_js.a("ui-checkbox-container",E&&"ui-checkbox--checked",n&&"ui-checkbox--indeterminate",i.container),R=chunkDDGBDWFC_js.a("ui-checkbox-input",i.input),T=typeof t=="object"&&!Array.isArray(t)?{...t}:{};return jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx("style",{dangerouslySetInnerHTML:{__html:O}}),jsxRuntime.jsxs(L,{className:N,style:T,...s.root,children:[jsxRuntime.jsxs("span",{className:S,children:[jsxRuntime.jsx(M,{type:"checkbox",ref:I,id:g,checked:r,onChange:B,disabled:h,required:y,value:z,className:R,"data-indeterminate":n,...H,...s.input}),jsxRuntime.jsx("span",{className:chunkDDGBDWFC_js.a("ui-checkbox-icon",i.icon),children:n?v:r?k:f})]}),b&&jsxRuntime.jsx("span",{className:chunkDDGBDWFC_js.a("ui-checkbox-label",i.label),children:b})]})]})});Y.displayName="Checkbox";exports.a=$;exports.b=j;exports.c=q;exports.d=Y;//# sourceMappingURL=chunk-CJ2DPBHE.js.map
93
- //# sourceMappingURL=chunk-CJ2DPBHE.js.map
92
+ `,Y=react.forwardRef(({checked:c,checkedIcon:k=jsxRuntime.jsx($,{}),classes:i={},color:p="primary",defaultChecked:m,disabled:h=false,disableRipple:F=false,icon:f=jsxRuntime.jsx(j,{}),id:g,indeterminate:n=false,indeterminateIcon:v=jsxRuntime.jsx(q,{}),onChange:l,required:y=false,size:C="medium",slotProps:s={},slots:u={},sx:t,value:z,className:w,children:b,...H},I)=>{let[r,d]=react.useState(c??m??false);react.useEffect(()=>{c!==void 0&&d(c);},[c]);let B=x=>{c===void 0&&d(x.target.checked),l&&l(x);},E=r||n,L=u.root||"label",M=u.input||"input",N=chunkDDGBDWFC_js.a("ui-checkbox",`ui-checkbox--${p}`,`ui-checkbox--${C}`,h&&"ui-checkbox--disabled",i.root,w),S=chunkDDGBDWFC_js.a("ui-checkbox-container",E&&"ui-checkbox--checked",n&&"ui-checkbox--indeterminate",i.container),R=chunkDDGBDWFC_js.a("ui-checkbox-input",i.input),T=typeof t=="object"&&!Array.isArray(t)?{...t}:{};return jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx("style",{dangerouslySetInnerHTML:{__html:O}}),jsxRuntime.jsxs(L,{className:N,style:T,...s.root,children:[jsxRuntime.jsxs("span",{className:S,children:[jsxRuntime.jsx(M,{type:"checkbox",ref:I,id:g,checked:r,onChange:B,disabled:h,required:y,value:z,className:R,"data-indeterminate":n,...H,...s.input}),jsxRuntime.jsx("span",{className:chunkDDGBDWFC_js.a("ui-checkbox-icon",i.icon),children:n?v:r?k:f})]}),b&&jsxRuntime.jsx("span",{className:chunkDDGBDWFC_js.a("ui-checkbox-label",i.label),children:b})]})]})});Y.displayName="Checkbox";exports.a=$;exports.b=j;exports.c=q;exports.d=Y;//# sourceMappingURL=chunk-CGUBPQGJ.js.map
93
+ //# sourceMappingURL=chunk-CGUBPQGJ.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/components/Checkbox/Checkbox.tsx"],"names":["CheckBoxIcon","jsx","CheckBoxOutlineBlankIcon","IndeterminateCheckBoxIcon","STYLES","Checkbox","forwardRef","checkedProp","checkedIcon","classes","color","defaultChecked","disabled","disableRipple","icon","id","indeterminate","indeterminateIcon","onChange","required","size","slotProps","slots","sx","value","className","children","props","ref","checked","setChecked","useState","useEffect","handleChange","event","isChecked","RootComponent","InputComponent","rootClasses","cn","containerClasses","inputClasses","style","jsxs","Fragment"],"mappings":"gIAMO,IAAMA,CAAAA,CAAe,IAC1BC,cAAAA,CAAC,KAAA,CAAA,CAAI,SAAA,CAAU,OAAA,CAAQ,cAAY,MAAA,CAAO,OAAA,CAAQ,YAAY,IAAA,CAAK,cAAA,CAAe,MAAM,KAAA,CAAM,MAAA,CAAO,KAAA,CACnG,QAAA,CAAAA,eAAC,MAAA,CAAA,CAAK,CAAA,CAAE,sIAAsI,CAAA,CAChJ,CAAA,CAGWC,EAA2B,IACtCD,cAAAA,CAAC,KAAA,CAAA,CAAI,SAAA,CAAU,QAAQ,aAAA,CAAY,MAAA,CAAO,QAAQ,WAAA,CAAY,IAAA,CAAK,eAAe,KAAA,CAAM,KAAA,CAAM,MAAA,CAAO,KAAA,CACnG,SAAAA,cAAAA,CAAC,MAAA,CAAA,CAAK,EAAE,4FAAA,CAA6F,CAAA,CACvG,EAGWE,CAAAA,CAA4B,IACvCF,cAAAA,CAAC,KAAA,CAAA,CAAI,UAAU,OAAA,CAAQ,aAAA,CAAY,OAAO,OAAA,CAAQ,WAAA,CAAY,KAAK,cAAA,CAAe,KAAA,CAAM,MAAM,MAAA,CAAO,KAAA,CACnG,SAAAA,cAAAA,CAAC,MAAA,CAAA,CAAK,EAAE,+FAAA,CAAgG,CAAA,CAC1G,EAGIG,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;AAAA;AAAA;AAAA;AAAA,CAAA,CA6FFC,CAAAA,CAAWC,gBAAAA,CACtB,CACE,CACE,OAAA,CAASC,CAAAA,CACT,WAAA,CAAAC,CAAAA,CAAcP,cAAAA,CAACD,CAAAA,CAAA,EAAa,CAAA,CAC5B,OAAA,CAAAS,CAAAA,CAAU,EAAC,CACX,KAAA,CAAAC,CAAAA,CAAQ,SAAA,CACR,cAAA,CAAAC,CAAAA,CACA,QAAA,CAAAC,CAAAA,CAAW,KAAA,CACX,aAAA,CAAAC,CAAAA,CAAgB,KAAA,CAChB,IAAA,CAAAC,EAAOb,cAAAA,CAACC,CAAAA,CAAA,EAAyB,CAAA,CACjC,EAAA,CAAAa,CAAAA,CACA,aAAA,CAAAC,CAAAA,CAAgB,KAAA,CAChB,iBAAA,CAAAC,CAAAA,CAAoBhB,cAAAA,CAACE,CAAAA,CAAA,EAA0B,CAAA,CAC/C,QAAA,CAAAe,CAAAA,CACA,QAAA,CAAAC,CAAAA,CAAW,KAAA,CACX,IAAA,CAAAC,CAAAA,CAAO,QAAA,CACP,SAAA,CAAAC,CAAAA,CAAY,EAAC,CACb,KAAA,CAAAC,CAAAA,CAAQ,EAAC,CACT,EAAA,CAAAC,EACA,KAAA,CAAAC,CAAAA,CACA,SAAA,CAAAC,CAAAA,CACA,QAAA,CAAAC,CAAAA,CACA,GAAGC,CACL,CAAA,CACAC,CAAAA,GACG,CACH,GAAM,CAACC,CAAAA,CAASC,CAAU,CAAA,CAAIC,cAAAA,CAASxB,CAAAA,EAAeI,CAAAA,EAAkB,KAAK,CAAA,CAE7EqB,eAAAA,CAAU,IAAM,CACVzB,CAAAA,GAAgB,MAAA,EAClBuB,CAAAA,CAAWvB,CAAW,EAE1B,CAAA,CAAG,CAACA,CAAW,CAAC,CAAA,CAEhB,IAAM0B,CAAAA,CAAgBC,CAAAA,EAAyC,CACzD3B,CAAAA,GAAgB,MAAA,EAClBuB,CAAAA,CAAWI,CAAAA,CAAM,MAAA,CAAO,OAAO,CAAA,CAE7BhB,CAAAA,EACFA,CAAAA,CAASgB,CAAK,EAElB,CAAA,CAEMC,CAAAA,CAAYN,CAAAA,EAAWb,CAAAA,CACvBoB,CAAAA,CAAgBd,CAAAA,CAAM,IAAA,EAAQ,OAAA,CAC9Be,CAAAA,CAAiBf,CAAAA,CAAM,KAAA,EAAS,OAAA,CAEhCgB,CAAAA,CAAcC,kBAAAA,CAClB,aAAA,CACA,CAAA,aAAA,EAAgB7B,CAAK,CAAA,CAAA,CACrB,CAAA,aAAA,EAAgBU,CAAI,CAAA,CAAA,CACpBR,CAAAA,EAAY,uBAAA,CACZH,CAAAA,CAAQ,IAAA,CACRgB,CACF,CAAA,CAEMe,CAAAA,CAAmBD,kBAAAA,CACvB,uBAAA,CACAJ,CAAAA,EAAa,sBAAA,CACbnB,CAAAA,EAAiB,4BAAA,CACjBP,CAAAA,CAAQ,SACV,CAAA,CAEMgC,CAAAA,CAAeF,kBAAAA,CAAG,mBAAA,CAAqB9B,CAAAA,CAAQ,KAAK,CAAA,CAGpDiC,CAAAA,CAAQ,OAAOnB,CAAAA,EAAO,QAAA,EAAY,CAAC,KAAA,CAAM,QAAQA,CAAE,CAAA,CAAI,CAAE,GAAGA,CAAG,CAAA,CAAI,EAAC,CAE1E,OACEoB,eAAAA,CAAAC,mBAAAA,CAAA,CACE,QAAA,CAAA,CAAA3C,cAAAA,CAAC,OAAA,CAAA,CAAM,uBAAA,CAAyB,CAAE,MAAA,CAAQG,CAAO,CAAA,CAAG,CAAA,CACpDuC,eAAAA,CAACP,CAAAA,CAAA,CACC,SAAA,CAAWE,CAAAA,CACX,KAAA,CAAOI,CAAAA,CACN,GAAGrB,CAAAA,CAAU,IAAA,CAEd,QAAA,CAAA,CAAAsB,gBAAC,MAAA,CAAA,CAAK,SAAA,CAAWH,CAAAA,CACf,QAAA,CAAA,CAAAvC,cAAAA,CAACoC,CAAAA,CAAA,CACC,IAAA,CAAK,UAAA,CACL,GAAA,CAAKT,CAAAA,CACL,EAAA,CAAIb,CAAAA,CACJ,OAAA,CAASc,CAAAA,CACT,QAAA,CAAUI,CAAAA,CACV,QAAA,CAAUrB,CAAAA,CACV,QAAA,CAAUO,CAAAA,CACV,KAAA,CAAOK,CAAAA,CACP,SAAA,CAAWiB,CAAAA,CACX,oBAAA,CAAoBzB,CAAAA,CACnB,GAAGW,CAAAA,CACH,GAAGN,CAAAA,CAAU,KAAA,CAChB,EACApB,cAAAA,CAAC,MAAA,CAAA,CAAK,SAAA,CAAWsC,kBAAAA,CAAG,kBAAA,CAAoB9B,CAAAA,CAAQ,IAAI,CAAA,CACjD,QAAA,CAAAO,CAAAA,CAAgBC,CAAAA,CAAoBY,CAAAA,CAAUrB,CAAAA,CAAcM,CAAAA,CAC/D,CAAA,CAAA,CACF,CAAA,CACCY,CAAAA,EAAYzB,cAAAA,CAAC,MAAA,CAAA,CAAK,SAAA,CAAWsC,kBAAAA,CAAG,mBAAA,CAAqB9B,CAAAA,CAAQ,KAAK,CAAA,CAAI,QAAA,CAAAiB,CAAAA,CAAS,CAAA,CAAA,CAClF,CAAA,CAAA,CACF,CAEJ,CACF,EAEArB,EAAS,WAAA,CAAc,UAAA","file":"chunk-CJ2DPBHE.js","sourcesContent":["'use client';\n\nimport { forwardRef, useState, useEffect, ChangeEvent } from 'react';\nimport { cn } from '../../utils/cn';\nimport { CheckboxProps } from './types';\n\nexport const CheckBoxIcon = () => (\n <svg focusable=\"false\" aria-hidden=\"true\" viewBox=\"0 0 24 24\" fill=\"currentColor\" width=\"1em\" height=\"1em\">\n <path d=\"M19 3H5c-1.11 0-2 .9-2 2v14c0 1.1.89 2 2 2h14c1.11 0 2-.9 2-2V5c0-1.1-.89-2-2-2zm-9 14l-5-5 1.41-1.41L10 14.17l7.59-7.59L19 8l-9 9z\"></path>\n </svg>\n);\n\nexport const CheckBoxOutlineBlankIcon = () => (\n <svg focusable=\"false\" aria-hidden=\"true\" viewBox=\"0 0 24 24\" fill=\"currentColor\" width=\"1em\" height=\"1em\">\n <path d=\"M19 5v14H5V5h14m0-2H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2z\"></path>\n </svg>\n);\n\nexport const IndeterminateCheckBoxIcon = () => (\n <svg focusable=\"false\" aria-hidden=\"true\" viewBox=\"0 0 24 24\" fill=\"currentColor\" width=\"1em\" height=\"1em\">\n <path d=\"M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-2 10H7v-2h10v2z\"></path>\n </svg>\n);\n\nconst STYLES = `\n .ui-checkbox {\n display: inline-flex;\n align-items: center;\n position: relative;\n box-sizing: border-box;\n cursor: pointer;\n vertical-align: middle;\n gap: 8px;\n }\n\n .ui-checkbox--disabled {\n cursor: default;\n opacity: 0.5;\n }\n\n .ui-checkbox-container {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n position: relative;\n padding: 9px;\n border-radius: 50%;\n transition: background-color 150ms cubic-bezier(0.4, 0, 0.2, 1) 0ms;\n color: #64748b;\n }\n\n .ui-checkbox-container:hover {\n background-color: rgba(15, 23, 42, 0.04);\n }\n\n .ui-checkbox-input {\n cursor: inherit;\n position: absolute;\n opacity: 0;\n width: 100%;\n height: 100%;\n top: 0;\n left: 0;\n margin: 0;\n padding: 0;\n z-index: 1;\n }\n\n /* Colors */\n .ui-checkbox--primary .ui-checkbox--checked,\n .ui-checkbox--primary .ui-checkbox--indeterminate {\n color: #3b82f6;\n }\n .ui-checkbox--primary .ui-checkbox-container:hover {\n background-color: rgba(59, 130, 246, 0.04);\n }\n\n .ui-checkbox--secondary .ui-checkbox--checked,\n .ui-checkbox--secondary .ui-checkbox--indeterminate {\n color: #9333ea;\n }\n .ui-checkbox--secondary .ui-checkbox-container:hover {\n background-color: rgba(147, 51, 234, 0.04);\n }\n\n .ui-checkbox--error .ui-checkbox--checked,\n .ui-checkbox--error .ui-checkbox--indeterminate {\n color: #ef4444;\n }\n .ui-checkbox--error .ui-checkbox-container:hover {\n background-color: rgba(239, 68, 68, 0.04);\n }\n\n /* Sizes */\n .ui-checkbox--small .ui-checkbox-container {\n padding: 7px;\n }\n .ui-checkbox--small svg {\n font-size: 1.25rem;\n }\n\n .ui-checkbox--medium svg {\n font-size: 1.5rem;\n }\n\n .ui-checkbox-icon {\n display: flex;\n font-size: 1.5rem;\n }\n\n .ui-checkbox-label {\n font-size: 0.875rem;\n font-family: inherit;\n color: inherit;\n }\n`;\n\nexport const Checkbox = forwardRef<HTMLInputElement, CheckboxProps>(\n (\n {\n checked: checkedProp,\n checkedIcon = <CheckBoxIcon />,\n classes = {},\n color = 'primary',\n defaultChecked,\n disabled = false,\n disableRipple = false,\n icon = <CheckBoxOutlineBlankIcon />,\n id,\n indeterminate = false,\n indeterminateIcon = <IndeterminateCheckBoxIcon />,\n onChange,\n required = false,\n size = 'medium',\n slotProps = {},\n slots = {},\n sx,\n value,\n className,\n children,\n ...props\n },\n ref\n ) => {\n const [checked, setChecked] = useState(checkedProp ?? defaultChecked ?? false);\n\n useEffect(() => {\n if (checkedProp !== undefined) {\n setChecked(checkedProp);\n }\n }, [checkedProp]);\n\n const handleChange = (event: ChangeEvent<HTMLInputElement>) => {\n if (checkedProp === undefined) {\n setChecked(event.target.checked);\n }\n if (onChange) {\n onChange(event);\n }\n };\n\n const isChecked = checked || indeterminate;\n const RootComponent = slots.root || 'label';\n const InputComponent = slots.input || 'input';\n\n const rootClasses = cn(\n 'ui-checkbox',\n `ui-checkbox--${color}`,\n `ui-checkbox--${size}`,\n disabled && 'ui-checkbox--disabled',\n classes.root,\n className\n );\n\n const containerClasses = cn(\n 'ui-checkbox-container',\n isChecked && 'ui-checkbox--checked',\n indeterminate && 'ui-checkbox--indeterminate',\n classes.container\n );\n\n const inputClasses = cn('ui-checkbox-input', classes.input);\n \n // Simple sx handler - only if it's an object\n const style = typeof sx === 'object' && !Array.isArray(sx) ? { ...sx } : {};\n\n return (\n <>\n <style dangerouslySetInnerHTML={{ __html: STYLES }} />\n <RootComponent\n className={rootClasses}\n style={style}\n {...slotProps.root}\n >\n <span className={containerClasses}>\n <InputComponent\n type=\"checkbox\"\n ref={ref}\n id={id}\n checked={checked}\n onChange={handleChange}\n disabled={disabled}\n required={required}\n value={value}\n className={inputClasses}\n data-indeterminate={indeterminate}\n {...props}\n {...slotProps.input}\n />\n <span className={cn('ui-checkbox-icon', classes.icon)}>\n {indeterminate ? indeterminateIcon : checked ? checkedIcon : icon}\n </span>\n </span>\n {children && <span className={cn('ui-checkbox-label', classes.label)}>{children}</span>}\n </RootComponent>\n </>\n );\n }\n);\n\nCheckbox.displayName = 'Checkbox';\n\nexport default Checkbox;\n"]}
1
+ {"version":3,"sources":["../src/components/Checkbox/Checkbox.tsx"],"names":["CheckBoxIcon","jsx","CheckBoxOutlineBlankIcon","IndeterminateCheckBoxIcon","STYLES","Checkbox","forwardRef","checkedProp","checkedIcon","classes","color","defaultChecked","disabled","disableRipple","icon","id","indeterminate","indeterminateIcon","onChange","required","size","slotProps","slots","sx","value","className","children","props","ref","checked","setChecked","useState","useEffect","handleChange","event","isChecked","RootComponent","InputComponent","rootClasses","cn","containerClasses","inputClasses","style","jsxs","Fragment"],"mappings":"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","file":"chunk-CGUBPQGJ.js","sourcesContent":["'use client';\n\nimport { forwardRef, useState, useEffect, ChangeEvent } from 'react';\nimport { cn } from '../../utils/cn';\nimport { CheckboxProps } from './types';\n\nexport const CheckBoxIcon = () => (\n <svg focusable=\"false\" aria-hidden=\"true\" viewBox=\"0 0 24 24\" fill=\"currentColor\" width=\"1em\" height=\"1em\">\n <path d=\"M19 3H5c-1.11 0-2 .9-2 2v14c0 1.1.89 2 2 2h14c1.11 0 2-.9 2-2V5c0-1.1-.89-2-2-2zm-9 14l-5-5 1.41-1.41L10 14.17l7.59-7.59L19 8l-9 9z\"></path>\n </svg>\n);\n\nexport const CheckBoxOutlineBlankIcon = () => (\n <svg focusable=\"false\" aria-hidden=\"true\" viewBox=\"0 0 24 24\" fill=\"currentColor\" width=\"1em\" height=\"1em\">\n <path d=\"M19 5v14H5V5h14m0-2H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2z\"></path>\n </svg>\n);\n\nexport const IndeterminateCheckBoxIcon = () => (\n <svg focusable=\"false\" aria-hidden=\"true\" viewBox=\"0 0 24 24\" fill=\"currentColor\" width=\"1em\" height=\"1em\">\n <path d=\"M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-2 10H7v-2h10v2z\"></path>\n </svg>\n);\n\nconst STYLES = `\n .ui-checkbox {\n display: inline-flex;\n align-items: center;\n position: relative;\n box-sizing: border-box;\n cursor: pointer;\n vertical-align: middle;\n gap: 8px;\n }\n\n .ui-checkbox--disabled {\n cursor: default;\n opacity: 0.5;\n }\n\n .ui-checkbox-container {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n position: relative;\n padding: 9px;\n border-radius: 50%;\n transition: background-color 150ms cubic-bezier(0.4, 0, 0.2, 1) 0ms;\n color: #64748b;\n }\n\n .ui-checkbox-container:hover {\n background-color: rgba(15, 23, 42, 0.04);\n }\n\n .ui-checkbox-input {\n cursor: inherit;\n position: absolute;\n opacity: 0;\n width: 100%;\n height: 100%;\n top: 0;\n left: 0;\n margin: 0;\n padding: 0;\n z-index: 1;\n }\n\n /* Colors */\n .ui-checkbox--primary .ui-checkbox--checked,\n .ui-checkbox--primary .ui-checkbox--indeterminate {\n color: #3b82f6;\n }\n .ui-checkbox--primary .ui-checkbox-container:hover {\n background-color: rgba(59, 130, 246, 0.04);\n }\n\n .ui-checkbox--secondary .ui-checkbox--checked,\n .ui-checkbox--secondary .ui-checkbox--indeterminate {\n color: #9333ea;\n }\n .ui-checkbox--secondary .ui-checkbox-container:hover {\n background-color: rgba(147, 51, 234, 0.04);\n }\n\n .ui-checkbox--error .ui-checkbox--checked,\n .ui-checkbox--error .ui-checkbox--indeterminate {\n color: #ef4444;\n }\n .ui-checkbox--error .ui-checkbox-container:hover {\n background-color: rgba(239, 68, 68, 0.04);\n }\n\n /* Sizes */\n .ui-checkbox--small .ui-checkbox-container {\n padding: 7px;\n }\n .ui-checkbox--small svg {\n font-size: 1.25rem;\n }\n\n .ui-checkbox--medium svg {\n font-size: 1.5rem;\n }\n\n .ui-checkbox-icon {\n display: flex;\n font-size: 1.5rem;\n }\n\n .ui-checkbox-label {\n font-size: 0.875rem;\n font-family: inherit;\n color: inherit;\n }\n`;\n\nexport const Checkbox = forwardRef<HTMLInputElement, CheckboxProps>(\n (\n {\n checked: checkedProp,\n checkedIcon = <CheckBoxIcon />,\n classes = {},\n color = 'primary',\n defaultChecked,\n disabled = false,\n disableRipple = false,\n icon = <CheckBoxOutlineBlankIcon />,\n id,\n indeterminate = false,\n indeterminateIcon = <IndeterminateCheckBoxIcon />,\n onChange,\n required = false,\n size = 'medium',\n slotProps = {},\n slots = {},\n sx,\n value,\n className,\n children,\n ...props\n },\n ref\n ) => {\n const [checked, setChecked] = useState(checkedProp ?? defaultChecked ?? false);\n\n useEffect(() => {\n if (checkedProp !== undefined) {\n setChecked(checkedProp);\n }\n }, [checkedProp]);\n\n const handleChange = (event: ChangeEvent<HTMLInputElement>) => {\n if (checkedProp === undefined) {\n setChecked(event.target.checked);\n }\n if (onChange) {\n onChange(event);\n }\n };\n\n const isChecked = checked || indeterminate;\n const RootComponent = slots.root || 'label';\n const InputComponent = slots.input || 'input';\n\n const rootClasses = cn(\n 'ui-checkbox',\n `ui-checkbox--${color}`,\n `ui-checkbox--${size}`,\n disabled && 'ui-checkbox--disabled',\n classes.root,\n className\n );\n\n const containerClasses = cn(\n 'ui-checkbox-container',\n isChecked && 'ui-checkbox--checked',\n indeterminate && 'ui-checkbox--indeterminate',\n classes.container\n );\n\n const inputClasses = cn('ui-checkbox-input', classes.input);\n \n // Simple sx handler - only if it's an object\n const style = typeof sx === 'object' && !Array.isArray(sx) ? { ...sx } : {};\n\n return (\n <>\n <style dangerouslySetInnerHTML={{ __html: STYLES }} />\n <RootComponent\n className={rootClasses}\n style={style}\n {...slotProps.root}\n >\n <span className={containerClasses}>\n <InputComponent\n type=\"checkbox\"\n ref={ref}\n id={id}\n checked={checked}\n onChange={handleChange}\n disabled={disabled}\n required={required}\n value={value}\n className={inputClasses}\n data-indeterminate={indeterminate}\n {...props}\n {...slotProps.input}\n />\n <span className={cn('ui-checkbox-icon', classes.icon)}>\n {indeterminate ? indeterminateIcon : checked ? checkedIcon : icon}\n </span>\n </span>\n {children && <span className={cn('ui-checkbox-label', classes.label)}>{children}</span>}\n </RootComponent>\n </>\n );\n }\n);\n\nCheckbox.displayName = 'Checkbox';\n\nexport default Checkbox;\n"]}
@@ -0,0 +1,199 @@
1
+ 'use strict';var chunkMLURKSJZ_js=require('./chunk-MLURKSJZ.js'),chunkDDGBDWFC_js=require('./chunk-DDGBDWFC.js'),D=require('react'),jsxRuntime=require('react/jsx-runtime');function _interopDefault(e){return e&&e.__esModule?e:{default:e}}var D__default=/*#__PURE__*/_interopDefault(D);var A=D.createContext(null),G=`
2
+ /* Accordion Card */
3
+ .ui-accordion {
4
+ background-color: #ffffff;
5
+ border: 1px solid rgba(226, 232, 240, 0.8);
6
+ color: #0f172a;
7
+ position: relative;
8
+ transition: all 250ms cubic-bezier(0.4, 0, 0.2, 1);
9
+ box-sizing: border-box;
10
+ box-shadow: 0 4px 6px -1px rgba(148, 163, 184, 0.05), 0 2px 4px -2px rgba(148, 163, 184, 0.05);
11
+ overflow: hidden;
12
+ }
13
+
14
+ .ui-accordion:first-of-type {
15
+ border-top-left-radius: 8px;
16
+ border-top-right-radius: 8px;
17
+ }
18
+
19
+ .ui-accordion:last-of-type {
20
+ border-bottom-left-radius: 8px;
21
+ border-bottom-right-radius: 8px;
22
+ }
23
+
24
+ /* Left accent accent bar */
25
+ .ui-accordion::before {
26
+ content: "";
27
+ position: absolute;
28
+ left: 0;
29
+ top: 0;
30
+ bottom: 0;
31
+ width: 4px;
32
+ background: linear-gradient(to bottom, #3b82f6, #6366f1);
33
+ opacity: 0;
34
+ transform: scaleY(0.3);
35
+ transition: transform 250ms cubic-bezier(0.4, 0, 0.2, 1), opacity 200ms;
36
+ z-index: 10;
37
+ }
38
+
39
+ .ui-accordion--expanded::before {
40
+ opacity: 1;
41
+ transform: scaleY(1);
42
+ }
43
+
44
+ /* Stacked merge - collapsed borders */
45
+ .ui-accordion:not(:first-of-type) {
46
+ border-top: 0;
47
+ }
48
+
49
+ /* Expanded margin gaps */
50
+ .ui-accordion--expanded {
51
+ margin: 16px 0;
52
+ border-radius: 8px !important;
53
+ border-top: 1px solid rgba(226, 232, 240, 0.8) !important;
54
+ box-shadow: 0 10px 25px -5px rgba(148, 163, 184, 0.1), 0 8px 10px -6px rgba(148, 163, 184, 0.05);
55
+ }
56
+
57
+ .ui-accordion--expanded:first-of-type {
58
+ margin-top: 0;
59
+ }
60
+
61
+ .ui-accordion--expanded:last-of-type {
62
+ margin-bottom: 0;
63
+ }
64
+
65
+ .ui-accordion--expanded + .ui-accordion {
66
+ border-top: 1px solid rgba(226, 232, 240, 0.8) !important;
67
+ }
68
+
69
+ /* Square layout overrides */
70
+ .ui-accordion--square,
71
+ .ui-accordion--square:first-of-type,
72
+ .ui-accordion--square:last-of-type {
73
+ border-radius: 0 !important;
74
+ }
75
+
76
+ /* disableGutters overrides */
77
+ .ui-accordion--disableGutters.ui-accordion--expanded {
78
+ margin: 0;
79
+ box-shadow: none;
80
+ border-radius: 0 !important;
81
+ }
82
+
83
+ /* Disabled state */
84
+ .ui-accordion--disabled {
85
+ background-color: #f8fafc;
86
+ color: #94a3b8;
87
+ }
88
+
89
+ /* Accordion Summary */
90
+ .ui-accordion-summary {
91
+ display: flex;
92
+ align-items: center;
93
+ justify-content: space-between;
94
+ padding: 14px 20px;
95
+ min-height: 52px;
96
+ cursor: pointer;
97
+ user-select: none;
98
+ transition: all 250ms cubic-bezier(0.4, 0, 0.2, 1);
99
+ box-sizing: border-box;
100
+ }
101
+
102
+ .ui-accordion-summary:hover {
103
+ background-color: #f8fafc;
104
+ }
105
+
106
+ .ui-accordion-summary--expanded {
107
+ min-height: 64px;
108
+ background-color: #fafafa;
109
+ }
110
+
111
+ .ui-accordion-summary--disabled {
112
+ cursor: not-allowed;
113
+ pointer-events: none;
114
+ background-color: transparent;
115
+ }
116
+
117
+ .ui-accordion-summary-content {
118
+ display: flex;
119
+ flex-grow: 1;
120
+ margin: 12px 0;
121
+ font-size: 15px;
122
+ font-weight: 500;
123
+ transition: margin 250ms cubic-bezier(0.4, 0, 0.2, 1);
124
+ }
125
+
126
+ .ui-accordion-summary-content--expanded {
127
+ margin: 16px 0;
128
+ color: #1e3a8a; /* Darker blue focus */
129
+ }
130
+
131
+ .ui-accordion-summary-expand-icon {
132
+ display: flex;
133
+ align-items: center;
134
+ justify-content: center;
135
+ color: #64748b;
136
+ padding: 6px;
137
+ border-radius: 9999px;
138
+ background-color: #ffffff;
139
+ border: 1px solid #e2e8f0;
140
+ box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
141
+ transition: transform 250ms cubic-bezier(0.4, 0, 0.2, 1), background-color 200ms, border-color 200ms, color 200ms;
142
+ }
143
+
144
+ .ui-accordion-summary:hover .ui-accordion-summary-expand-icon {
145
+ background-color: #f1f5f9;
146
+ border-color: #cbd5e1;
147
+ color: #0f172a;
148
+ }
149
+
150
+ .ui-accordion-summary-expand-icon--expanded {
151
+ transform: rotate(180deg);
152
+ background-color: #eff6ff !important;
153
+ border-color: #bfdbfe !important;
154
+ color: #3b82f6 !important;
155
+ }
156
+
157
+ /* 60fps Height collapse using CSS Grid templating */
158
+ .ui-accordion-collapse {
159
+ display: grid;
160
+ grid-template-rows: 0fr;
161
+ transition: grid-template-rows 250ms cubic-bezier(0.4, 0, 0.2, 1);
162
+ }
163
+
164
+ .ui-accordion-collapse--expanded {
165
+ grid-template-rows: 1fr;
166
+ }
167
+
168
+ .ui-accordion-collapse-inner {
169
+ overflow: hidden;
170
+ }
171
+
172
+ /* Accordion Details */
173
+ .ui-accordion-details {
174
+ padding: 20px 24px 24px;
175
+ border-top: 1px solid #f1f5f9;
176
+ font-size: 14px;
177
+ line-height: 1.6;
178
+ color: #334155;
179
+ background-color: #ffffff;
180
+ box-sizing: border-box;
181
+ }
182
+
183
+ /* Accordion Actions */
184
+ .ui-accordion-actions {
185
+ display: flex;
186
+ align-items: center;
187
+ justify-content: flex-end;
188
+ padding: 12px 24px;
189
+ gap: 8px;
190
+ background-color: #f8fafc;
191
+ border-top: 1px solid #f1f5f9;
192
+ box-sizing: border-box;
193
+ }
194
+
195
+ .ui-accordion-actions--spacing > *:not(:first-child) {
196
+ margin-left: 8px;
197
+ }
198
+ `,z=D.forwardRef(({component:t="div",as:d,expanded:r,defaultExpanded:s=false,disabled:o=false,onChange:n,square:i=false,disableGutters:e=false,sx:p,classes:u={},className:m,children:f,...b},v)=>{let H=d||t,[R,T]=D.useState(s),E=r!==void 0,g=E?r:R,q={expanded:g,disabled:o,toggle:c=>{if(o)return;let N=!g;E||T(N),n&&n(c,N);}},k=null,h=[];return D__default.default.Children.forEach(f,c=>{D__default.default.isValidElement(c)&&(c.type===C||c.type.displayName==="AccordionSummary")?k=c:h.push(c);}),jsxRuntime.jsxs(A.Provider,{value:q,children:[jsxRuntime.jsx("style",{dangerouslySetInnerHTML:{__html:G}}),jsxRuntime.jsxs(H,{ref:v,className:chunkDDGBDWFC_js.a("ui-accordion",g&&"ui-accordion--expanded",i&&"ui-accordion--square",e&&"ui-accordion--disableGutters",o&&"ui-accordion--disabled",u.root,m),style:{...chunkMLURKSJZ_js.a(p),...b.style},...b,children:[k,jsxRuntime.jsx("div",{className:chunkDDGBDWFC_js.a("ui-accordion-collapse",g&&"ui-accordion-collapse--expanded"),children:jsxRuntime.jsx("div",{className:"ui-accordion-collapse-inner",children:h})})]})]})});z.displayName="Accordion";var C=D.forwardRef(({component:t="div",as:d,expandIcon:r,sx:s,classes:o={},className:n,children:i,...e},p)=>{let u=d||t,m=D.useContext(A);if(!m)throw new Error("AccordionSummary must be used inside an Accordion component.");let{expanded:f,disabled:b,toggle:v}=m;return jsxRuntime.jsxs(u,{ref:p,onClick:v,className:chunkDDGBDWFC_js.a("ui-accordion-summary",f&&"ui-accordion-summary--expanded",b&&"ui-accordion-summary--disabled",o.root,n),style:{...chunkMLURKSJZ_js.a(s),...e.style},...e,children:[jsxRuntime.jsx("div",{className:chunkDDGBDWFC_js.a("ui-accordion-summary-content",f&&"ui-accordion-summary-content--expanded",o.content),children:i}),r&&jsxRuntime.jsx("div",{className:chunkDDGBDWFC_js.a("ui-accordion-summary-expand-icon",f&&"ui-accordion-summary-expand-icon--expanded",o.expandIconWrapper),children:r})]})});C.displayName="AccordionSummary";var P=D.forwardRef(({component:t="div",as:d,sx:r,classes:s={},className:o,children:n,...i},e)=>{let p=d||t;if(!D.useContext(A))throw new Error("AccordionDetails must be used inside an Accordion component.");return jsxRuntime.jsx(p,{ref:e,className:chunkDDGBDWFC_js.a("ui-accordion-details",s.root,o),style:{...chunkMLURKSJZ_js.a(r),...i.style},...i,children:n})});P.displayName="AccordionDetails";var L=D.forwardRef(({component:t="div",as:d,disableSpacing:r=false,sx:s,classes:o={},className:n,children:i,...e},p)=>{let u=d||t;if(!D.useContext(A))throw new Error("AccordionActions must be used inside an Accordion component.");return jsxRuntime.jsx(u,{ref:p,className:chunkDDGBDWFC_js.a("ui-accordion-actions",!r&&"ui-accordion-actions--spacing",o.root,n),style:{...chunkMLURKSJZ_js.a(s),...e.style},...e,children:i})});L.displayName="AccordionActions";exports.a=z;exports.b=C;exports.c=P;exports.d=L;//# sourceMappingURL=chunk-EPVYHGER.js.map
199
+ //# sourceMappingURL=chunk-EPVYHGER.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/components/Accordion/Accordion.tsx"],"names":["AccordionContext","createContext","STYLES","Accordion","forwardRef","Component","as","expandedProp","defaultExpanded","disabled","onChange","square","disableGutters","sx","classes","className","children","props","ref","ActualComponent","expandedState","setExpandedState","useState","isControlled","expanded","contextValue","event","nextExpanded","summaryChild","collapseChildren","React","child","AccordionSummary","jsxs","jsx","cn","handleSx","expandIcon","context","useContext","toggle","AccordionDetails","AccordionActions","disableSpacing"],"mappings":"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","file":"chunk-EPVYHGER.js","sourcesContent":["'use client';\n\nimport React, { forwardRef, useState, useEffect, createContext, useContext, SyntheticEvent } from 'react';\nimport { cn } from '../../utils/cn';\nimport { handleSx } from '../../utils/handleSx';\nimport { \n AccordionProps, \n AccordionSummaryProps, \n AccordionDetailsProps, \n AccordionActionsProps \n} from './Accordion.types';\n\n// Context to share expand state and disabled state down to summary and details\ninterface AccordionContextValue {\n expanded: boolean;\n disabled: boolean;\n toggle: (event: SyntheticEvent) => void;\n}\n\nconst AccordionContext = createContext<AccordionContextValue | null>(null);\n\nconst STYLES = `\n /* Accordion Card */\n .ui-accordion {\n background-color: #ffffff;\n border: 1px solid rgba(226, 232, 240, 0.8);\n color: #0f172a;\n position: relative;\n transition: all 250ms cubic-bezier(0.4, 0, 0.2, 1);\n box-sizing: border-box;\n box-shadow: 0 4px 6px -1px rgba(148, 163, 184, 0.05), 0 2px 4px -2px rgba(148, 163, 184, 0.05);\n overflow: hidden;\n }\n\n .ui-accordion:first-of-type {\n border-top-left-radius: 8px;\n border-top-right-radius: 8px;\n }\n\n .ui-accordion:last-of-type {\n border-bottom-left-radius: 8px;\n border-bottom-right-radius: 8px;\n }\n\n /* Left accent accent bar */\n .ui-accordion::before {\n content: \"\";\n position: absolute;\n left: 0;\n top: 0;\n bottom: 0;\n width: 4px;\n background: linear-gradient(to bottom, #3b82f6, #6366f1);\n opacity: 0;\n transform: scaleY(0.3);\n transition: transform 250ms cubic-bezier(0.4, 0, 0.2, 1), opacity 200ms;\n z-index: 10;\n }\n\n .ui-accordion--expanded::before {\n opacity: 1;\n transform: scaleY(1);\n }\n\n /* Stacked merge - collapsed borders */\n .ui-accordion:not(:first-of-type) {\n border-top: 0;\n }\n\n /* Expanded margin gaps */\n .ui-accordion--expanded {\n margin: 16px 0;\n border-radius: 8px !important;\n border-top: 1px solid rgba(226, 232, 240, 0.8) !important;\n box-shadow: 0 10px 25px -5px rgba(148, 163, 184, 0.1), 0 8px 10px -6px rgba(148, 163, 184, 0.05);\n }\n\n .ui-accordion--expanded:first-of-type {\n margin-top: 0;\n }\n\n .ui-accordion--expanded:last-of-type {\n margin-bottom: 0;\n }\n\n .ui-accordion--expanded + .ui-accordion {\n border-top: 1px solid rgba(226, 232, 240, 0.8) !important;\n }\n\n /* Square layout overrides */\n .ui-accordion--square,\n .ui-accordion--square:first-of-type,\n .ui-accordion--square:last-of-type {\n border-radius: 0 !important;\n }\n\n /* disableGutters overrides */\n .ui-accordion--disableGutters.ui-accordion--expanded {\n margin: 0;\n box-shadow: none;\n border-radius: 0 !important;\n }\n\n /* Disabled state */\n .ui-accordion--disabled {\n background-color: #f8fafc;\n color: #94a3b8;\n }\n\n /* Accordion Summary */\n .ui-accordion-summary {\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: 14px 20px;\n min-height: 52px;\n cursor: pointer;\n user-select: none;\n transition: all 250ms cubic-bezier(0.4, 0, 0.2, 1);\n box-sizing: border-box;\n }\n\n .ui-accordion-summary:hover {\n background-color: #f8fafc;\n }\n\n .ui-accordion-summary--expanded {\n min-height: 64px;\n background-color: #fafafa;\n }\n\n .ui-accordion-summary--disabled {\n cursor: not-allowed;\n pointer-events: none;\n background-color: transparent;\n }\n\n .ui-accordion-summary-content {\n display: flex;\n flex-grow: 1;\n margin: 12px 0;\n font-size: 15px;\n font-weight: 500;\n transition: margin 250ms cubic-bezier(0.4, 0, 0.2, 1);\n }\n\n .ui-accordion-summary-content--expanded {\n margin: 16px 0;\n color: #1e3a8a; /* Darker blue focus */\n }\n\n .ui-accordion-summary-expand-icon {\n display: flex;\n align-items: center;\n justify-content: center;\n color: #64748b;\n padding: 6px;\n border-radius: 9999px;\n background-color: #ffffff;\n border: 1px solid #e2e8f0;\n box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05);\n transition: transform 250ms cubic-bezier(0.4, 0, 0.2, 1), background-color 200ms, border-color 200ms, color 200ms;\n }\n\n .ui-accordion-summary:hover .ui-accordion-summary-expand-icon {\n background-color: #f1f5f9;\n border-color: #cbd5e1;\n color: #0f172a;\n }\n\n .ui-accordion-summary-expand-icon--expanded {\n transform: rotate(180deg);\n background-color: #eff6ff !important;\n border-color: #bfdbfe !important;\n color: #3b82f6 !important;\n }\n\n /* 60fps Height collapse using CSS Grid templating */\n .ui-accordion-collapse {\n display: grid;\n grid-template-rows: 0fr;\n transition: grid-template-rows 250ms cubic-bezier(0.4, 0, 0.2, 1);\n }\n\n .ui-accordion-collapse--expanded {\n grid-template-rows: 1fr;\n }\n\n .ui-accordion-collapse-inner {\n overflow: hidden;\n }\n\n /* Accordion Details */\n .ui-accordion-details {\n padding: 20px 24px 24px;\n border-top: 1px solid #f1f5f9;\n font-size: 14px;\n line-height: 1.6;\n color: #334155;\n background-color: #ffffff;\n box-sizing: border-box;\n }\n\n /* Accordion Actions */\n .ui-accordion-actions {\n display: flex;\n align-items: center;\n justify-content: flex-end;\n padding: 12px 24px;\n gap: 8px;\n background-color: #f8fafc;\n border-top: 1px solid #f1f5f9;\n box-sizing: border-box;\n }\n\n .ui-accordion-actions--spacing > *:not(:first-child) {\n margin-left: 8px;\n }\n`;\n\n// =========================================================================\n// 1. Accordion Component\n// =========================================================================\nexport const Accordion = forwardRef<HTMLDivElement, AccordionProps>(\n (\n {\n component: Component = 'div',\n as,\n expanded: expandedProp,\n defaultExpanded = false,\n disabled = false,\n onChange,\n square = false,\n disableGutters = false,\n sx,\n classes = {},\n className,\n children,\n ...props\n },\n ref\n ) => {\n const ActualComponent = as || Component;\n\n // Uncontrolled state\n const [expandedState, setExpandedState] = useState(defaultExpanded);\n \n // Controlled check\n const isControlled = expandedProp !== undefined;\n const expanded = isControlled ? expandedProp : expandedState;\n\n const toggle = (event: SyntheticEvent) => {\n if (disabled) return;\n const nextExpanded = !expanded;\n if (!isControlled) {\n setExpandedState(nextExpanded);\n }\n if (onChange) {\n onChange(event, nextExpanded);\n }\n };\n\n const contextValue: AccordionContextValue = {\n expanded,\n disabled,\n toggle,\n };\n\n // Split summary element from collapsible details/actions\n let summaryChild: React.ReactNode = null;\n const collapseChildren: React.ReactNode[] = [];\n\n React.Children.forEach(children, (child) => {\n if (React.isValidElement(child)) {\n if (child.type === AccordionSummary || (child.type as any).displayName === 'AccordionSummary') {\n summaryChild = child;\n } else {\n collapseChildren.push(child);\n }\n } else {\n collapseChildren.push(child);\n }\n });\n\n return (\n <AccordionContext.Provider value={contextValue}>\n <style dangerouslySetInnerHTML={{ __html: STYLES }} />\n <ActualComponent\n ref={ref}\n className={cn(\n 'ui-accordion',\n expanded && 'ui-accordion--expanded',\n square && 'ui-accordion--square',\n disableGutters && 'ui-accordion--disableGutters',\n disabled && 'ui-accordion--disabled',\n classes.root,\n className\n )}\n style={{\n ...handleSx(sx),\n ...props.style,\n }}\n {...props}\n >\n {summaryChild}\n <div \n className={cn(\n 'ui-accordion-collapse',\n expanded && 'ui-accordion-collapse--expanded'\n )}\n >\n <div className=\"ui-accordion-collapse-inner\">\n {collapseChildren}\n </div>\n </div>\n </ActualComponent>\n </AccordionContext.Provider>\n );\n }\n);\n\nAccordion.displayName = 'Accordion';\n\n// =========================================================================\n// 2. AccordionSummary Component\n// =========================================================================\nexport const AccordionSummary = forwardRef<HTMLDivElement, AccordionSummaryProps>(\n (\n {\n component: Component = 'div',\n as,\n expandIcon,\n sx,\n classes = {},\n className,\n children,\n ...props\n },\n ref\n ) => {\n const ActualComponent = as || Component;\n const context = useContext(AccordionContext);\n\n if (!context) {\n throw new Error('AccordionSummary must be used inside an Accordion component.');\n }\n\n const { expanded, disabled, toggle } = context;\n\n return (\n <ActualComponent\n ref={ref}\n onClick={toggle}\n className={cn(\n 'ui-accordion-summary',\n expanded && 'ui-accordion-summary--expanded',\n disabled && 'ui-accordion-summary--disabled',\n classes.root,\n className\n )}\n style={{\n ...handleSx(sx),\n ...props.style,\n }}\n {...props}\n >\n <div \n className={cn(\n 'ui-accordion-summary-content',\n expanded && 'ui-accordion-summary-content--expanded',\n classes.content\n )}\n >\n {children}\n </div>\n {expandIcon && (\n <div \n className={cn(\n 'ui-accordion-summary-expand-icon',\n expanded && 'ui-accordion-summary-expand-icon--expanded',\n classes.expandIconWrapper\n )}\n >\n {expandIcon}\n </div>\n )}\n </ActualComponent>\n );\n }\n);\n\nAccordionSummary.displayName = 'AccordionSummary';\n\n// =========================================================================\n// 3. AccordionDetails Component\n// =========================================================================\nexport const AccordionDetails = forwardRef<HTMLDivElement, AccordionDetailsProps>(\n (\n {\n component: Component = 'div',\n as,\n sx,\n classes = {},\n className,\n children,\n ...props\n },\n ref\n ) => {\n const ActualComponent = as || Component;\n const context = useContext(AccordionContext);\n\n if (!context) {\n throw new Error('AccordionDetails must be used inside an Accordion component.');\n }\n\n return (\n <ActualComponent\n ref={ref}\n className={cn('ui-accordion-details', classes.root, className)}\n style={{\n ...handleSx(sx),\n ...props.style,\n }}\n {...props}\n >\n {children}\n </ActualComponent>\n );\n }\n);\n\nAccordionDetails.displayName = 'AccordionDetails';\n\n// =========================================================================\n// 4. AccordionActions Component\n// =========================================================================\nexport const AccordionActions = forwardRef<HTMLDivElement, AccordionActionsProps>(\n (\n {\n component: Component = 'div',\n as,\n disableSpacing = false,\n sx,\n classes = {},\n className,\n children,\n ...props\n },\n ref\n ) => {\n const ActualComponent = as || Component;\n const context = useContext(AccordionContext);\n\n if (!context) {\n throw new Error('AccordionActions must be used inside an Accordion component.');\n }\n\n return (\n <ActualComponent\n ref={ref}\n className={cn(\n 'ui-accordion-actions',\n !disableSpacing && 'ui-accordion-actions--spacing',\n classes.root,\n className\n )}\n style={{\n ...handleSx(sx),\n ...props.style,\n }}\n {...props}\n >\n {children}\n </ActualComponent>\n );\n }\n);\n\nAccordionActions.displayName = 'AccordionActions';\n"]}
@@ -0,0 +1,2 @@
1
+ 'use strict';//# sourceMappingURL=chunk-EVTAM4HA.js.map
2
+ //# sourceMappingURL=chunk-EVTAM4HA.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"names":[],"mappings":"","file":"chunk-EVTAM4HA.js"}