@rufous/ui 0.1.63 → 0.2.0-beta.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (154) hide show
  1. package/README.md +4 -0
  2. package/dist/Buttons/addButton.js +1 -0
  3. package/dist/Buttons/cancelButton.js +1 -0
  4. package/dist/Buttons/index.cjs +2 -2
  5. package/dist/Buttons/index.js +3 -2
  6. package/dist/Buttons/stdButton.js +1 -0
  7. package/dist/Buttons/submitButton.cjs +2 -2
  8. package/dist/Buttons/submitButton.js +3 -2
  9. package/dist/CheckBoxes/CheckBox.cjs +2 -2
  10. package/dist/CheckBoxes/CheckBox.js +4 -25
  11. package/dist/Contexts/rufousThemeProvider.cjs +132 -100
  12. package/dist/Contexts/rufousThemeProvider.js +3 -2
  13. package/dist/DataGrid/DataGrid.cjs +418 -0
  14. package/dist/DataGrid/DataGrid.d.cts +8 -0
  15. package/dist/DataGrid/DataGrid.d.ts +8 -0
  16. package/dist/DataGrid/DataGrid.js +9 -0
  17. package/dist/DataGrid/index.cjs +418 -0
  18. package/dist/DataGrid/index.d.cts +3 -0
  19. package/dist/DataGrid/index.d.ts +3 -0
  20. package/dist/DataGrid/index.js +8 -0
  21. package/dist/{TextFields/FloatingInput.d.cjs → DataGrid/types.cjs} +3 -3
  22. package/dist/DataGrid/types.d.cts +31 -0
  23. package/dist/DataGrid/types.d.ts +31 -0
  24. package/dist/Dialogs/BaseDialog.cjs +18 -10
  25. package/dist/Dialogs/BaseDialog.css +8355 -162
  26. package/dist/Dialogs/BaseDialog.d.cts +1 -0
  27. package/dist/Dialogs/BaseDialog.d.ts +1 -0
  28. package/dist/Dialogs/BaseDialog.js +33 -25
  29. package/dist/Dialogs/index.cjs +18 -10
  30. package/dist/Dialogs/index.css +8355 -162
  31. package/dist/Dialogs/index.js +33 -25
  32. package/dist/Editors/RichTextEditor.cjs +29477 -0
  33. package/dist/Editors/RichTextEditor.css +7179 -0
  34. package/dist/Editors/RichTextEditor.d.cts +57 -0
  35. package/dist/Editors/RichTextEditor.d.ts +57 -0
  36. package/dist/Editors/RichTextEditor.js +9 -0
  37. package/dist/Editors/index.cjs +29477 -0
  38. package/dist/Editors/index.css +7179 -0
  39. package/dist/Editors/index.d.cts +2 -0
  40. package/dist/Editors/index.d.ts +2 -0
  41. package/dist/Editors/index.js +8 -0
  42. package/dist/Progress/circularProgress.cjs +2 -2
  43. package/dist/Progress/circularProgress.d.cts +3 -3
  44. package/dist/Progress/circularProgress.d.ts +3 -3
  45. package/dist/Progress/circularProgress.js +2 -1
  46. package/dist/TextFields/AddressLookup.cjs +390 -0
  47. package/dist/TextFields/AddressLookup.d.cts +49 -0
  48. package/dist/TextFields/AddressLookup.d.ts +49 -0
  49. package/dist/TextFields/AddressLookup.js +11 -0
  50. package/dist/TextFields/FloatingInput.cjs +6 -4
  51. package/dist/TextFields/FloatingInput.d.cts +13 -19
  52. package/dist/TextFields/FloatingInput.d.ts +13 -19
  53. package/dist/TextFields/FloatingInput.js +4 -28
  54. package/dist/{chunk-AQXTOTWY.js → chunk-5DAOQ2V5.js} +19 -11
  55. package/dist/chunk-5QEWUCKT.js +303 -0
  56. package/dist/chunk-66HHM7VI.js +468 -0
  57. package/dist/chunk-7KRG7VNW.js +0 -0
  58. package/dist/{chunk-YRFUVQDN.js → chunk-CTBYVXFP.js} +2 -2
  59. package/dist/chunk-GJGRMMAQ.js +0 -0
  60. package/dist/chunk-HMG3FW2Q.js +97 -0
  61. package/dist/chunk-J6E3UO2W.js +402 -0
  62. package/dist/chunk-LI4N7JWK.js +39 -0
  63. package/dist/chunk-NEGQXBQV.js +29 -0
  64. package/dist/chunk-UPCMMCPQ.js +34 -0
  65. package/dist/{chunk-7YKG3WYS.js → chunk-YRLN3TBF.js} +1 -1
  66. package/dist/chunk-YXPBXCY5.js +89 -0
  67. package/dist/esm-5T53WHPT.js +27362 -0
  68. package/dist/icons/activateUserIcon.js +1 -0
  69. package/dist/icons/archivedIcon.js +1 -0
  70. package/dist/icons/assignGroupIcon.js +1 -0
  71. package/dist/icons/closeIcon.js +1 -0
  72. package/dist/icons/copyIcon.js +1 -0
  73. package/dist/icons/difficultyAllIcon.js +1 -0
  74. package/dist/icons/difficultyEasyIcon.js +1 -0
  75. package/dist/icons/difficultyHardIcon.js +1 -0
  76. package/dist/icons/difficultyMediumIcon.js +1 -0
  77. package/dist/icons/dollarIcon.js +1 -0
  78. package/dist/icons/downloadIcon.js +1 -0
  79. package/dist/icons/downloadPdfIcon.js +1 -0
  80. package/dist/icons/editChatIcon.js +1 -0
  81. package/dist/icons/editIcon.js +1 -0
  82. package/dist/icons/engagementIcon.js +1 -0
  83. package/dist/icons/functionIcon.js +1 -0
  84. package/dist/icons/helpOutlinedIcon.js +1 -0
  85. package/dist/icons/hierarchyIcon.js +1 -0
  86. package/dist/icons/inactiveGroupIcon.js +1 -0
  87. package/dist/icons/index.js +48 -47
  88. package/dist/icons/industryIcon.js +1 -0
  89. package/dist/icons/invoiceIcon.js +1 -0
  90. package/dist/icons/locationPinIcon.js +1 -0
  91. package/dist/icons/logsIcon.js +1 -0
  92. package/dist/icons/minExperienceIcon.js +1 -0
  93. package/dist/icons/nineDotMenuIcon.js +1 -0
  94. package/dist/icons/notificationIcon.js +1 -0
  95. package/dist/icons/projectIcon.js +1 -0
  96. package/dist/icons/qualificationsIcon.js +1 -0
  97. package/dist/icons/questionStatusAllIcon.js +1 -0
  98. package/dist/icons/questionStatusPrivateIcon.js +1 -0
  99. package/dist/icons/questionStatusPublicIcon.js +1 -0
  100. package/dist/icons/questionTypeAllIcon.js +1 -0
  101. package/dist/icons/questionTypeCodingIcon.js +1 -0
  102. package/dist/icons/questionTypeDescriptiveIcon.js +1 -0
  103. package/dist/icons/questionTypeMultipleIcon.js +1 -0
  104. package/dist/icons/questionTypeSingleIcon.js +1 -0
  105. package/dist/icons/refreshIcon.js +1 -0
  106. package/dist/icons/resendInviteIcon.js +1 -0
  107. package/dist/icons/rolesIcon.js +1 -0
  108. package/dist/icons/rufousAiIcon.js +1 -0
  109. package/dist/icons/rufousBirdIcon.js +1 -0
  110. package/dist/icons/rufousLauncherBird.js +1 -0
  111. package/dist/icons/sidebarIcon.js +1 -0
  112. package/dist/icons/softSkillsIcon.js +1 -0
  113. package/dist/icons/subscribeIcon.js +1 -0
  114. package/dist/icons/suspendUserIcon.js +1 -0
  115. package/dist/icons/technicalSkillsIcon.js +1 -0
  116. package/dist/icons/tickIcon.js +1 -0
  117. package/dist/icons/timerIcon.js +1 -0
  118. package/dist/icons/trashIcon.js +1 -0
  119. package/dist/icons/unArchivedIcon.js +1 -0
  120. package/dist/icons/unsubscribeIcon.js +1 -0
  121. package/dist/icons/uploadIcon.js +1 -0
  122. package/dist/icons/userAssignIcon.js +1 -0
  123. package/dist/icons/viewIcon.js +1 -0
  124. package/dist/icons/workItemIcon.js +1 -0
  125. package/dist/main.cjs +30440 -222
  126. package/dist/main.css +8355 -162
  127. package/dist/main.d.cts +7 -0
  128. package/dist/main.d.ts +7 -0
  129. package/dist/main.js +82 -56
  130. package/dist/style.css +1068 -163
  131. package/dist/styles/address-lookup.css +107 -0
  132. package/dist/styles/address-lookup.d.cts +2 -0
  133. package/dist/styles/address-lookup.d.ts +2 -0
  134. package/dist/styles/button.css +82 -110
  135. package/dist/styles/checkbox.css +60 -0
  136. package/dist/styles/checkbox.d.cts +2 -0
  137. package/dist/styles/checkbox.d.ts +2 -0
  138. package/dist/styles/datagrid.css +531 -0
  139. package/dist/styles/datagrid.d.cts +2 -0
  140. package/dist/styles/datagrid.d.ts +2 -0
  141. package/dist/styles/dialog.css +78 -51
  142. package/dist/styles/editor.css +211 -0
  143. package/dist/styles/editor.d.cts +2 -0
  144. package/dist/styles/editor.d.ts +2 -0
  145. package/dist/utils/constants.cjs +75 -69
  146. package/dist/utils/constants.d.cts +54 -56
  147. package/dist/utils/constants.d.ts +54 -56
  148. package/dist/utils/constants.js +2 -1
  149. package/package.json +13 -2
  150. package/dist/TextFields/FloatingInput.d.d.cts +0 -23
  151. package/dist/TextFields/FloatingInput.d.d.ts +0 -23
  152. package/dist/chunk-2FHTGYR4.js +0 -83
  153. package/dist/chunk-BCGCLMKA.js +0 -71
  154. /package/dist/{TextFields/FloatingInput.d.js → DataGrid/types.js} +0 -0
@@ -0,0 +1,531 @@
1
+ /* lib/styles/datagrid.css */
2
+ .dg-root {
3
+ width: 100%;
4
+ background: var(--rufous-surface-color);
5
+ border: 1px solid var(--rufous-border-color);
6
+ border-radius: 12px;
7
+ overflow: hidden;
8
+ display: flex;
9
+ flex-direction: column;
10
+ color: var(--rufous-text-color);
11
+ }
12
+ .dg-header {
13
+ padding: 20px 24px;
14
+ border-bottom: 1px solid var(--rufous-border-color);
15
+ display: flex;
16
+ align-items: center;
17
+ justify-content: space-between;
18
+ gap: 16px;
19
+ flex-wrap: wrap;
20
+ }
21
+ .dg-header-info h2 {
22
+ font-size: 1.1rem;
23
+ font-weight: 700;
24
+ margin: 0 0 2px;
25
+ color: var(--rufous-text-color);
26
+ }
27
+ .dg-header-info p {
28
+ font-size: 0.8rem;
29
+ color: var(--rufous-text-secondary);
30
+ margin: 0;
31
+ }
32
+ .dg-header-actions {
33
+ display: flex;
34
+ align-items: center;
35
+ gap: 10px;
36
+ flex-wrap: wrap;
37
+ }
38
+ .dg-search-wrap {
39
+ position: relative;
40
+ }
41
+ .dg-search-wrap svg {
42
+ position: absolute;
43
+ left: 10px;
44
+ top: 50%;
45
+ transform: translateY(-50%);
46
+ color: var(--rufous-text-secondary);
47
+ pointer-events: none;
48
+ }
49
+ .dg-search {
50
+ padding: 8px 12px 8px 34px;
51
+ border: 1px solid var(--rufous-border-color);
52
+ border-radius: 8px;
53
+ background: var(--rufous-background-color);
54
+ color: var(--rufous-text-color);
55
+ font-size: 0.875rem;
56
+ outline: none;
57
+ width: 220px;
58
+ transition: border-color 0.2s;
59
+ }
60
+ .dg-search:focus {
61
+ border-color: var(--rufous-primary-color);
62
+ }
63
+ .dg-icon-btn {
64
+ padding: 8px;
65
+ border: 1px solid var(--rufous-border-color);
66
+ border-radius: 8px;
67
+ background: var(--rufous-surface-color);
68
+ color: var(--rufous-text-secondary);
69
+ cursor: pointer;
70
+ display: flex;
71
+ align-items: center;
72
+ transition: all 0.2s;
73
+ }
74
+ .dg-icon-btn:hover,
75
+ .dg-icon-btn.active {
76
+ border-color: var(--rufous-primary-color);
77
+ color: var(--rufous-primary-color);
78
+ background: var(--rufous-hover-color);
79
+ }
80
+ .dg-action-btn {
81
+ padding: 8px 16px;
82
+ border: 1px solid var(--rufous-border-color);
83
+ border-radius: 8px;
84
+ background: var(--rufous-surface-color);
85
+ color: var(--rufous-text-secondary);
86
+ font-size: 0.82rem;
87
+ font-weight: 600;
88
+ cursor: pointer;
89
+ display: flex;
90
+ align-items: center;
91
+ gap: 6px;
92
+ transition: all 0.2s;
93
+ }
94
+ .dg-action-btn:hover {
95
+ border-color: var(--rufous-primary-color);
96
+ color: var(--rufous-primary-color);
97
+ background: var(--rufous-hover-color);
98
+ }
99
+ .dg-table-wrap {
100
+ overflow-x: auto;
101
+ flex: 1;
102
+ }
103
+ .dg-table {
104
+ width: 100%;
105
+ border-collapse: collapse;
106
+ min-width: 600px;
107
+ table-layout: fixed;
108
+ }
109
+ .dg-table thead tr {
110
+ background: var(--rufous-hover-color);
111
+ border-bottom: 1px solid var(--rufous-border-color);
112
+ }
113
+ .dg-thead-cell {
114
+ padding: 0;
115
+ font-size: 0.72rem;
116
+ font-weight: 700;
117
+ text-transform: uppercase;
118
+ letter-spacing: 0.06em;
119
+ color: var(--rufous-text-secondary);
120
+ position: relative;
121
+ background: var(--rufous-hover-color);
122
+ }
123
+ .dg-thead-cell.pinned-left {
124
+ position: sticky;
125
+ left: 0;
126
+ z-index: 20;
127
+ box-shadow: inset -1px 0 0 var(--rufous-border-color);
128
+ }
129
+ .dg-thead-cell.pinned-right {
130
+ position: sticky;
131
+ right: 0;
132
+ z-index: 20;
133
+ box-shadow: inset 1px 0 0 var(--rufous-border-color);
134
+ }
135
+ .dg-th-inner {
136
+ display: flex;
137
+ align-items: center;
138
+ justify-content: space-between;
139
+ padding: 12px 20px;
140
+ gap: 8px;
141
+ overflow: hidden;
142
+ }
143
+ .dg-th-label {
144
+ display: flex;
145
+ align-items: center;
146
+ gap: 5px;
147
+ overflow: hidden;
148
+ cursor: pointer;
149
+ user-select: none;
150
+ white-space: nowrap;
151
+ text-overflow: ellipsis;
152
+ }
153
+ .dg-th-label.no-sort {
154
+ cursor: default;
155
+ }
156
+ .dg-th-actions {
157
+ display: flex;
158
+ align-items: center;
159
+ gap: 4px;
160
+ opacity: 0;
161
+ transition: opacity 0.15s;
162
+ flex-shrink: 0;
163
+ }
164
+ .dg-thead-cell:hover .dg-th-actions {
165
+ opacity: 1;
166
+ }
167
+ .dg-th-menu-btn {
168
+ background: none;
169
+ border: none;
170
+ cursor: pointer;
171
+ padding: 3px;
172
+ border-radius: 4px;
173
+ color: var(--text-secondary);
174
+ display: flex;
175
+ align-items: center;
176
+ transition: all 0.15s;
177
+ }
178
+ .dg-th-menu-btn:hover {
179
+ background: var(--rufous-border-color);
180
+ color: var(--rufous-text-color);
181
+ }
182
+ .dg-resizer {
183
+ width: 4px;
184
+ height: 16px;
185
+ background: var(--rufous-border-color);
186
+ border-radius: 2px;
187
+ cursor: col-resize;
188
+ transition: background 0.15s;
189
+ flex-shrink: 0;
190
+ }
191
+ .dg-resizer:hover,
192
+ .dg-resizer.resizing {
193
+ background: var(--rufous-primary-color);
194
+ }
195
+ .dg-tbody-row {
196
+ border-bottom: 1px solid var(--rufous-border-color);
197
+ transition: background 0.15s;
198
+ position: relative;
199
+ }
200
+ .dg-tbody-row:last-child {
201
+ border-bottom: none;
202
+ }
203
+ .dg-tbody-row:hover {
204
+ background: var(--rufous-hover-color);
205
+ }
206
+ .dg-td {
207
+ padding: 12px 20px;
208
+ font-size: 0.875rem;
209
+ color: var(--rufous-text-color);
210
+ overflow: hidden;
211
+ text-overflow: ellipsis;
212
+ white-space: nowrap;
213
+ background: inherit;
214
+ }
215
+ .dg-td.pinned-left {
216
+ position: sticky;
217
+ left: 0;
218
+ z-index: 10;
219
+ background: var(--rufous-surface-color);
220
+ box-shadow: inset -1px 0 0 var(--rufous-border-color);
221
+ }
222
+ .dg-tbody-row:hover .dg-td.pinned-left {
223
+ background: var(--rufous-hover-color);
224
+ }
225
+ .dg-row-actions-cell {
226
+ position: sticky;
227
+ right: 0;
228
+ z-index: 10;
229
+ padding: 0;
230
+ width: 0;
231
+ pointer-events: none;
232
+ }
233
+ .dg-row-actions {
234
+ position: absolute;
235
+ right: 0;
236
+ top: 0;
237
+ bottom: 0;
238
+ display: flex;
239
+ align-items: center;
240
+ padding-right: 12px;
241
+ pointer-events: auto;
242
+ opacity: 0;
243
+ transition: opacity 0.15s;
244
+ }
245
+ .dg-tbody-row:hover .dg-row-actions {
246
+ opacity: 1;
247
+ }
248
+ .dg-action-group {
249
+ display: flex;
250
+ align-items: center;
251
+ gap: 4px;
252
+ background: var(--rufous-surface-color);
253
+ border: 1px solid var(--rufous-border-color);
254
+ border-radius: 10px;
255
+ padding: 4px;
256
+ box-shadow: 0 4px 16px rgba(0, 0, 0, 0.12);
257
+ backdrop-filter: blur(4px);
258
+ }
259
+ .dg-row-action-btn {
260
+ padding: 6px;
261
+ border: none;
262
+ border-radius: 6px;
263
+ background: none;
264
+ cursor: pointer;
265
+ display: flex;
266
+ align-items: center;
267
+ justify-content: center;
268
+ transition: background 0.15s;
269
+ }
270
+ .dg-row-action-btn:hover {
271
+ background: var(--rufous-hover-color);
272
+ }
273
+ .dg-pagination {
274
+ padding: 16px 24px;
275
+ border-top: 1px solid var(--rufous-border-color);
276
+ display: flex;
277
+ align-items: center;
278
+ justify-content: space-between;
279
+ flex-wrap: wrap;
280
+ gap: 12px;
281
+ background: var(--rufous-hover-color);
282
+ }
283
+ .dg-page-info {
284
+ display: flex;
285
+ align-items: center;
286
+ gap: 16px;
287
+ }
288
+ .dg-page-info span {
289
+ font-size: 0.82rem;
290
+ color: var(--rufous-text-secondary);
291
+ }
292
+ .dg-per-page {
293
+ display: flex;
294
+ align-items: center;
295
+ gap: 8px;
296
+ font-size: 0.82rem;
297
+ color: var(--rufous-text-secondary);
298
+ }
299
+ .dg-per-page select {
300
+ padding: 4px 8px;
301
+ border: 1px solid var(--rufous-border-color);
302
+ border-radius: 6px;
303
+ background: var(--rufous-surface-color);
304
+ color: var(--rufous-text-color);
305
+ font-size: 0.82rem;
306
+ outline: none;
307
+ cursor: pointer;
308
+ }
309
+ .dg-page-nav {
310
+ display: flex;
311
+ align-items: center;
312
+ gap: 4px;
313
+ }
314
+ .dg-page-btn {
315
+ min-width: 34px;
316
+ height: 34px;
317
+ padding: 0 6px;
318
+ border: 1px solid var(--rufous-border-color);
319
+ border-radius: 8px;
320
+ background: var(--rufous-surface-color);
321
+ color: var(--rufous-text-color);
322
+ font-size: 0.82rem;
323
+ font-weight: 600;
324
+ cursor: pointer;
325
+ display: flex;
326
+ align-items: center;
327
+ justify-content: center;
328
+ transition: all 0.15s;
329
+ }
330
+ .dg-page-btn:hover:not(:disabled) {
331
+ border-color: var(--rufous-primary-color);
332
+ color: var(--rufous-primary-color);
333
+ background: var(--rufous-hover-color);
334
+ }
335
+ .dg-page-btn.active {
336
+ background: var(--rufous-primary-color);
337
+ color: #fff;
338
+ border-color: var(--rufous-primary-color);
339
+ }
340
+ .dg-page-btn:disabled {
341
+ opacity: 0.4;
342
+ cursor: not-allowed;
343
+ }
344
+ .dg-page-fraction {
345
+ padding: 0 14px;
346
+ font-size: 0.85rem;
347
+ font-weight: 600;
348
+ color: var(--rufous-text-color);
349
+ white-space: nowrap;
350
+ min-width: 56px;
351
+ text-align: center;
352
+ }
353
+ .dg-filter-logic {
354
+ display: flex;
355
+ align-items: center;
356
+ gap: 6px;
357
+ padding: 6px 0 6px 38px;
358
+ }
359
+ .dg-logic-btn {
360
+ padding: 3px 12px;
361
+ border: 1px solid var(--rufous-border-color);
362
+ border-radius: 20px;
363
+ background: var(--rufous-surface-color);
364
+ color: var(--rufous-text-secondary);
365
+ font-size: 0.72rem;
366
+ font-weight: 700;
367
+ letter-spacing: 0.04em;
368
+ cursor: pointer;
369
+ transition: all 0.15s;
370
+ }
371
+ .dg-logic-btn:hover {
372
+ border-color: var(--rufous-primary-color);
373
+ color: var(--rufous-primary-color);
374
+ }
375
+ .dg-logic-btn.active {
376
+ background: var(--rufous-primary-color);
377
+ border-color: var(--rufous-primary-color);
378
+ color: #fff;
379
+ }
380
+ .dg-menu {
381
+ position: fixed;
382
+ z-index: 200;
383
+ width: 200px;
384
+ background: var(--rufous-surface-color);
385
+ border: 1px solid var(--rufous-border-color);
386
+ border-radius: 10px;
387
+ box-shadow: 0 8px 30px rgba(0, 0, 0, 0.15);
388
+ padding: 6px;
389
+ overflow: hidden;
390
+ }
391
+ .dg-menu-item {
392
+ display: flex;
393
+ align-items: center;
394
+ gap: 10px;
395
+ width: 100%;
396
+ padding: 8px 10px;
397
+ background: none;
398
+ border: none;
399
+ border-radius: 6px;
400
+ font-size: 0.85rem;
401
+ color: var(--rufous-text-color);
402
+ cursor: pointer;
403
+ text-align: left;
404
+ transition: background 0.15s;
405
+ }
406
+ .dg-menu-item:hover {
407
+ background: var(--rufous-hover-color);
408
+ color: var(--rufous-primary-color);
409
+ }
410
+ .dg-menu-item.danger:hover {
411
+ background: #fff5f5;
412
+ color: #c0392b;
413
+ }
414
+ .dg-menu-divider {
415
+ height: 1px;
416
+ background: var(--rufous-border-color);
417
+ margin: 4px 0;
418
+ }
419
+ .dg-modal-overlay {
420
+ position: fixed;
421
+ inset: 0;
422
+ z-index: 150;
423
+ background: rgba(0, 0, 0, 0.35);
424
+ display: flex;
425
+ align-items: center;
426
+ justify-content: center;
427
+ padding: 20px;
428
+ backdrop-filter: blur(3px);
429
+ }
430
+ .dg-modal {
431
+ background: var(--rufous-surface-color);
432
+ border: 1px solid var(--rufous-border-color);
433
+ border-radius: 14px;
434
+ box-shadow: 0 20px 40px rgba(0, 0, 0, 0.2);
435
+ width: 100%;
436
+ max-width: 480px;
437
+ max-height: 80vh;
438
+ display: flex;
439
+ flex-direction: column;
440
+ overflow: hidden;
441
+ }
442
+ .dg-modal-wide {
443
+ max-width: 680px;
444
+ }
445
+ .dg-modal-header {
446
+ padding: 20px 24px;
447
+ border-bottom: 1px solid var(--rufous-border-color);
448
+ display: flex;
449
+ align-items: center;
450
+ justify-content: space-between;
451
+ flex-shrink: 0;
452
+ }
453
+ .dg-modal-header h3 {
454
+ font-size: 1.1rem;
455
+ font-weight: 700;
456
+ margin: 0;
457
+ color: var(--rufous-text-color);
458
+ }
459
+ .dg-modal-body {
460
+ padding: 20px 24px;
461
+ overflow-y: auto;
462
+ flex: 1;
463
+ display: flex;
464
+ flex-direction: column;
465
+ gap: 10px;
466
+ }
467
+ .dg-modal-footer {
468
+ padding: 14px 24px;
469
+ border-top: 1px solid var(--rufous-border-color);
470
+ display: flex;
471
+ align-items: center;
472
+ justify-content: flex-end;
473
+ gap: 10px;
474
+ flex-shrink: 0;
475
+ background: var(--rufous-hover-color);
476
+ }
477
+ .dg-col-row {
478
+ display: flex;
479
+ align-items: center;
480
+ justify-content: space-between;
481
+ padding: 8px 12px;
482
+ border-radius: 8px;
483
+ transition: background 0.15s;
484
+ }
485
+ .dg-col-row:hover {
486
+ background: var(--rufous-hover-color);
487
+ }
488
+ .dg-col-dot {
489
+ width: 10px;
490
+ height: 10px;
491
+ border-radius: 50%;
492
+ flex-shrink: 0;
493
+ }
494
+ .dg-col-label {
495
+ display: flex;
496
+ align-items: center;
497
+ gap: 10px;
498
+ font-size: 0.875rem;
499
+ font-weight: 500;
500
+ color: var(--rufous-text-color);
501
+ }
502
+ .dg-filter-row {
503
+ display: flex;
504
+ align-items: center;
505
+ gap: 8px;
506
+ }
507
+ .dg-filter-select,
508
+ .dg-filter-input {
509
+ flex: 1;
510
+ padding: 8px 12px;
511
+ border: 1px solid var(--rufous-border-color);
512
+ border-radius: 8px;
513
+ background: var(--rufous-background-color);
514
+ color: var(--rufous-text-color);
515
+ font-size: 0.85rem;
516
+ outline: none;
517
+ }
518
+ .dg-filter-select:focus,
519
+ .dg-filter-input:focus {
520
+ border-color: var(--rufous-primary-color);
521
+ }
522
+ .dg-filter-select-sm {
523
+ width: 140px;
524
+ flex: none;
525
+ }
526
+ .dg-empty {
527
+ padding: 60px 20px;
528
+ text-align: center;
529
+ color: var(--text-secondary);
530
+ font-size: 0.9rem;
531
+ }
@@ -0,0 +1,2 @@
1
+
2
+ export { }
@@ -0,0 +1,2 @@
1
+
2
+ export { }
@@ -1,91 +1,118 @@
1
1
  /* lib/styles/dialog.css */
2
2
  .dialog-overlay {
3
3
  position: fixed;
4
- inset: 0;
5
- background: rgba(0, 0, 0, 0.5);
4
+ top: 0;
5
+ left: 0;
6
+ width: 100vw;
7
+ height: 100vh;
8
+ background-color: rgba(0, 0, 0, 0.5);
6
9
  display: flex;
7
10
  justify-content: center;
8
11
  align-items: center;
9
- z-index: 1300;
12
+ z-index: 1000;
13
+ backdrop-filter: blur(2px);
10
14
  }
11
15
  .dialog-container {
12
- background: white;
13
- border-radius: 8px;
16
+ background: var(--rufous-surface-color);
17
+ color: var(--rufous-text-color);
18
+ border-radius: 12px;
14
19
  max-height: 90vh;
15
20
  display: flex;
16
21
  flex-direction: column;
22
+ box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.15), 0 10px 10px -5px rgba(0, 0, 0, 0.08);
23
+ width: 685px !important;
24
+ transition: background-color 0.3s, color 0.3s;
25
+ }
26
+ .dialog-container.size-sm {
27
+ width: 400px !important;
28
+ max-width: 95vw;
29
+ }
30
+ .dialog-container.size-md {
31
+ width: 685px !important;
32
+ max-width: 95vw;
33
+ }
34
+ .dialog-container.size-lg {
35
+ width: 900px !important;
36
+ max-width: 95vw;
37
+ }
38
+ .dialog-container.size-xl {
39
+ width: 1200px !important;
40
+ max-width: 95vw;
41
+ }
42
+ .dialog-container.size-fullScreen {
43
+ width: 100vw !important;
44
+ height: 100vh !important;
45
+ max-height: 100vh !important;
46
+ border-radius: 0 !important;
47
+ margin: 0 !important;
48
+ }
49
+ .dialog-overlay:has(.size-fullScreen) {
50
+ align-items: flex-start;
17
51
  }
18
52
  .dialog-title {
19
- background: #fff;
20
- padding: 8px 16px;
21
- position: sticky;
22
- top: 0;
53
+ padding: 24px 24px 16px;
23
54
  display: flex;
24
55
  justify-content: space-between;
25
56
  align-items: center;
26
- color: #707070;
27
- z-index: 2;
57
+ flex-shrink: 0;
28
58
  }
29
59
  .dialog-title h2 {
30
- font-size: 1.125rem;
60
+ font-size: 1.5rem;
61
+ font-weight: 700;
31
62
  margin: 0;
63
+ color: var(--rufous-text-color);
32
64
  }
33
65
  .btn-close {
34
66
  background: none;
35
67
  border: none;
36
68
  cursor: pointer;
69
+ padding: 8px;
70
+ display: flex;
71
+ align-items: center;
72
+ justify-content: center;
73
+ transition: all 0.2s;
74
+ border-radius: 50%;
75
+ flex-shrink: 0;
76
+ }
77
+ .btn-close:hover {
78
+ background-color: var(--rufous-hover-color);
79
+ }
80
+ .btn-close svg {
81
+ fill: var(--rufous-text-secondary);
82
+ transition: fill 0.2s;
83
+ }
84
+ .btn-close:hover svg {
85
+ fill: var(--rufous-text-color);
37
86
  }
38
87
  .dialog-divider {
39
- border-top: 1px solid #e0e0e0;
88
+ border: none;
89
+ border-top: 1px solid var(--rufous-border-color);
90
+ margin: 0 24px;
91
+ flex-shrink: 0;
40
92
  }
41
93
  .dialog-body {
42
- overflow: auto;
43
- padding: 16px 30px;
94
+ overflow-y: auto;
95
+ padding: 20px 24px;
44
96
  flex: 1;
45
97
  }
46
98
  .dialog-footer {
47
99
  display: flex;
48
- gap: 8px;
49
- padding: 8px 16px;
50
- }
51
- .btn-cancel {
52
- border: 1px solid #a41b06;
53
- border-radius: 34px;
54
- padding: 7px 10px;
55
- background: #fff;
56
- color: #a41b06;
57
- font-size: 12px;
58
- cursor: pointer;
59
- }
60
- .btn-cancel:hover {
61
- background: #f5f5f5;
62
- }
63
- .btn-confirm {
64
- border-radius: 34px;
65
- padding: 7px 16px;
66
- background: #a21b07;
67
- color: white;
68
- font-size: 12px;
69
- cursor: pointer;
70
- border: none;
71
- }
72
- .btn-confirm:hover {
73
- background: #a21b07;
100
+ gap: 16px;
101
+ padding: 16px 24px 24px;
102
+ justify-content: flex-end;
103
+ flex-shrink: 0;
74
104
  }
75
105
  .spinner {
76
- border: 2px solid #f3f3f3;
77
- border-top: 2px solid #c5c5c5;
106
+ width: 18px;
107
+ height: 18px;
108
+ border: 2px solid rgba(255, 255, 255, 0.3);
78
109
  border-radius: 50%;
79
- width: 16px;
80
- height: 16px;
81
- animation: spin 1s linear infinite;
110
+ border-top-color: #fff;
111
+ animation: dialog-spin 0.8s linear infinite;
82
112
  display: inline-block;
83
113
  }
84
- @keyframes spin {
85
- 0% {
86
- transform: rotate(0deg);
87
- }
88
- 100% {
114
+ @keyframes dialog-spin {
115
+ to {
89
116
  transform: rotate(360deg);
90
117
  }
91
118
  }