@mmlogic/components 0.3.5 → 0.3.6

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 (169) hide show
  1. package/dist/{collection/utils/cell-renderer.js → mosterdcomponents/cell-renderer-CbRwLOo8.js} +9 -3
  2. package/dist/mosterdcomponents/cell-renderer-CbRwLOo8.js.map +1 -0
  3. package/dist/{esm/index.js → mosterdcomponents/client-layout-D88nn5zf.js} +4 -1
  4. package/dist/mosterdcomponents/client-layout-D88nn5zf.js.map +1 -0
  5. package/dist/{collection/utils/format.js → mosterdcomponents/format-BAfsQfy1.js} +12 -7
  6. package/dist/mosterdcomponents/format-BAfsQfy1.js.map +1 -0
  7. package/dist/{collection/utils/i18n.js → mosterdcomponents/i18n-hoGGKbKU.js} +6 -1
  8. package/dist/mosterdcomponents/i18n-hoGGKbKU.js.map +1 -0
  9. package/dist/mosterdcomponents/index-B_tPFIvS.js +4585 -0
  10. package/dist/mosterdcomponents/index-B_tPFIvS.js.map +1 -0
  11. package/dist/mosterdcomponents/index-I5SuYv7a.js +4 -0
  12. package/dist/mosterdcomponents/index-I5SuYv7a.js.map +1 -0
  13. package/dist/mosterdcomponents/index.esm.js +5 -1
  14. package/dist/mosterdcomponents/index.esm.js.map +1 -0
  15. package/dist/mosterdcomponents/mosterdcomponents.css +180 -1
  16. package/dist/mosterdcomponents/mosterdcomponents.esm.js +50 -1
  17. package/dist/mosterdcomponents/mosterdcomponents.esm.js.map +1 -0
  18. package/dist/mosterdcomponents/mrd-boolean-field.entry.js +37 -0
  19. package/dist/mosterdcomponents/mrd-boolean-field.entry.js.map +1 -0
  20. package/dist/mosterdcomponents/mrd-currency-field.entry.js +67 -0
  21. package/dist/mosterdcomponents/mrd-currency-field.entry.js.map +1 -0
  22. package/dist/mosterdcomponents/mrd-date-field.entry.js +46 -0
  23. package/dist/mosterdcomponents/mrd-date-field.entry.js.map +1 -0
  24. package/dist/mosterdcomponents/mrd-datetime-field.entry.js +78 -0
  25. package/dist/mosterdcomponents/mrd-datetime-field.entry.js.map +1 -0
  26. package/dist/mosterdcomponents/mrd-email-field.entry.js +50 -0
  27. package/dist/mosterdcomponents/mrd-email-field.entry.js.map +1 -0
  28. package/dist/{collection/components/mrd-field/mrd-field.js → mosterdcomponents/mrd-field.entry.js} +28 -179
  29. package/dist/mosterdcomponents/mrd-field.entry.js.map +1 -0
  30. package/dist/mosterdcomponents/mrd-file-field.entry.js +108 -0
  31. package/dist/mosterdcomponents/mrd-file-field.entry.js.map +1 -0
  32. package/dist/{collection/components/mrd-form/mrd-form.js → mosterdcomponents/mrd-form.entry.js} +31 -308
  33. package/dist/mosterdcomponents/mrd-form.entry.js.map +1 -0
  34. package/dist/mosterdcomponents/mrd-hyperlink-field.entry.js +87 -0
  35. package/dist/mosterdcomponents/mrd-hyperlink-field.entry.js.map +1 -0
  36. package/dist/mosterdcomponents/mrd-image-field.entry.js +122 -0
  37. package/dist/mosterdcomponents/mrd-image-field.entry.js.map +1 -0
  38. package/dist/{collection/components/mrd-layout-section/mrd-layout-section.js → mosterdcomponents/mrd-layout-section.entry.js} +31 -418
  39. package/dist/mosterdcomponents/mrd-layout-section.entry.js.map +1 -0
  40. package/dist/mosterdcomponents/mrd-list-field.entry.js +107 -0
  41. package/dist/mosterdcomponents/mrd-list-field.entry.js.map +1 -0
  42. package/dist/mosterdcomponents/mrd-longtext-field.entry.js +47 -0
  43. package/dist/mosterdcomponents/mrd-longtext-field.entry.js.map +1 -0
  44. package/dist/mosterdcomponents/mrd-number-field.entry.js +87 -0
  45. package/dist/mosterdcomponents/mrd-number-field.entry.js.map +1 -0
  46. package/dist/mosterdcomponents/mrd-relation-field.entry.js +267 -0
  47. package/dist/mosterdcomponents/mrd-relation-field.entry.js.map +1 -0
  48. package/dist/mosterdcomponents/mrd-secret-field.entry.js +49 -0
  49. package/dist/mosterdcomponents/mrd-secret-field.entry.js.map +1 -0
  50. package/dist/{collection/components/mrd-table/mrd-table.js → mosterdcomponents/mrd-table.entry.js} +32 -394
  51. package/dist/mosterdcomponents/mrd-table.entry.js.map +1 -0
  52. package/dist/mosterdcomponents/mrd-text-field.entry.js +47 -0
  53. package/dist/mosterdcomponents/mrd-text-field.entry.js.map +1 -0
  54. package/dist/mosterdcomponents/mrd-textarea-field.entry.js +86 -0
  55. package/dist/mosterdcomponents/mrd-textarea-field.entry.js.map +1 -0
  56. package/dist/mosterdcomponents/mrd-time-field.entry.js +46 -0
  57. package/dist/mosterdcomponents/mrd-time-field.entry.js.map +1 -0
  58. package/dist/{esm/quill-CiuCgGz_.js → mosterdcomponents/quill-C9pgw_k-.js} +16282 -1397
  59. package/dist/mosterdcomponents/quill-C9pgw_k-.js.map +1 -0
  60. package/dist/{collection/utils/validation.js → mosterdcomponents/validation-ixb43cqU.js} +12 -5
  61. package/dist/mosterdcomponents/validation-ixb43cqU.js.map +1 -0
  62. package/package.json +1 -1
  63. package/dist/cjs/app-globals-V2Kpy_OQ.js +0 -5
  64. package/dist/cjs/index-BPj2cBXs.js +0 -1570
  65. package/dist/cjs/index.cjs.js +0 -66
  66. package/dist/cjs/loader.cjs.js +0 -13
  67. package/dist/cjs/mosterdcomponents.cjs.js +0 -25
  68. package/dist/cjs/mrd-boolean-field_20.cjs.entry.js +0 -3961
  69. package/dist/cjs/quill-DmFfnC1f.js +0 -16272
  70. package/dist/collection/collection-manifest.json +0 -32
  71. package/dist/collection/components/mrd-boolean-field/mrd-boolean-field.js +0 -199
  72. package/dist/collection/components/mrd-boolean-field/mrd-boolean-field.scss +0 -77
  73. package/dist/collection/components/mrd-currency-field/mrd-currency-field.js +0 -248
  74. package/dist/collection/components/mrd-currency-field/mrd-currency-field.scss +0 -100
  75. package/dist/collection/components/mrd-date-field/mrd-date-field.js +0 -206
  76. package/dist/collection/components/mrd-date-field/mrd-date-field.scss +0 -66
  77. package/dist/collection/components/mrd-datetime-field/mrd-datetime-field.js +0 -240
  78. package/dist/collection/components/mrd-datetime-field/mrd-datetime-field.scss +0 -66
  79. package/dist/collection/components/mrd-email-field/mrd-email-field.js +0 -230
  80. package/dist/collection/components/mrd-email-field/mrd-email-field.scss +0 -69
  81. package/dist/collection/components/mrd-field/mrd-field.scss +0 -118
  82. package/dist/collection/components/mrd-file-field/mrd-file-field.js +0 -341
  83. package/dist/collection/components/mrd-file-field/mrd-file-field.scss +0 -153
  84. package/dist/collection/components/mrd-form/mrd-form.scss +0 -148
  85. package/dist/collection/components/mrd-hyperlink-field/mrd-hyperlink-field.js +0 -291
  86. package/dist/collection/components/mrd-hyperlink-field/mrd-hyperlink-field.scss +0 -91
  87. package/dist/collection/components/mrd-image-field/mrd-image-field.js +0 -356
  88. package/dist/collection/components/mrd-image-field/mrd-image-field.scss +0 -190
  89. package/dist/collection/components/mrd-layout-section/mrd-layout-section.scss +0 -445
  90. package/dist/collection/components/mrd-list-field/mrd-list-field.js +0 -313
  91. package/dist/collection/components/mrd-list-field/mrd-list-field.scss +0 -109
  92. package/dist/collection/components/mrd-longtext-field/mrd-longtext-field.js +0 -227
  93. package/dist/collection/components/mrd-longtext-field/mrd-longtext-field.scss +0 -78
  94. package/dist/collection/components/mrd-number-field/mrd-number-field.js +0 -316
  95. package/dist/collection/components/mrd-number-field/mrd-number-field.scss +0 -77
  96. package/dist/collection/components/mrd-relation-field/mrd-relation-field.js +0 -707
  97. package/dist/collection/components/mrd-relation-field/mrd-relation-field.scss +0 -266
  98. package/dist/collection/components/mrd-secret-field/mrd-secret-field.js +0 -229
  99. package/dist/collection/components/mrd-secret-field/mrd-secret-field.scss +0 -73
  100. package/dist/collection/components/mrd-table/mrd-table.scss +0 -809
  101. package/dist/collection/components/mrd-text-field/mrd-text-field.js +0 -227
  102. package/dist/collection/components/mrd-text-field/mrd-text-field.scss +0 -69
  103. package/dist/collection/components/mrd-textarea-field/mrd-textarea-field.js +0 -267
  104. package/dist/collection/components/mrd-textarea-field/mrd-textarea-field.scss +0 -135
  105. package/dist/collection/components/mrd-time-field/mrd-time-field.js +0 -206
  106. package/dist/collection/components/mrd-time-field/mrd-time-field.scss +0 -66
  107. package/dist/collection/dev/api.js +0 -145
  108. package/dist/collection/dev/app.js +0 -890
  109. package/dist/collection/dev/auth.js +0 -156
  110. package/dist/collection/dev/example-data.js +0 -403
  111. package/dist/collection/dev/sprites.svg +0 -55
  112. package/dist/collection/index.js +0 -1
  113. package/dist/collection/types/client-layout.js +0 -64
  114. package/dist/collection/types/index.js +0 -1
  115. package/dist/components/client-layout.js +0 -1
  116. package/dist/components/format.js +0 -1
  117. package/dist/components/i18n.js +0 -1
  118. package/dist/components/index.js +0 -1
  119. package/dist/components/mrd-boolean-field.js +0 -1
  120. package/dist/components/mrd-boolean-field2.js +0 -1
  121. package/dist/components/mrd-currency-field.js +0 -1
  122. package/dist/components/mrd-currency-field2.js +0 -1
  123. package/dist/components/mrd-date-field.js +0 -1
  124. package/dist/components/mrd-date-field2.js +0 -1
  125. package/dist/components/mrd-datetime-field.js +0 -1
  126. package/dist/components/mrd-datetime-field2.js +0 -1
  127. package/dist/components/mrd-email-field.js +0 -1
  128. package/dist/components/mrd-email-field2.js +0 -1
  129. package/dist/components/mrd-field.js +0 -1
  130. package/dist/components/mrd-field2.js +0 -1
  131. package/dist/components/mrd-file-field.js +0 -1
  132. package/dist/components/mrd-file-field2.js +0 -1
  133. package/dist/components/mrd-form.js +0 -1
  134. package/dist/components/mrd-hyperlink-field.js +0 -1
  135. package/dist/components/mrd-hyperlink-field2.js +0 -1
  136. package/dist/components/mrd-image-field.js +0 -1
  137. package/dist/components/mrd-image-field2.js +0 -1
  138. package/dist/components/mrd-layout-section.js +0 -1
  139. package/dist/components/mrd-list-field.js +0 -1
  140. package/dist/components/mrd-list-field2.js +0 -1
  141. package/dist/components/mrd-longtext-field.js +0 -1
  142. package/dist/components/mrd-longtext-field2.js +0 -1
  143. package/dist/components/mrd-number-field.js +0 -1
  144. package/dist/components/mrd-number-field2.js +0 -1
  145. package/dist/components/mrd-relation-field.js +0 -1
  146. package/dist/components/mrd-relation-field2.js +0 -1
  147. package/dist/components/mrd-secret-field.js +0 -1
  148. package/dist/components/mrd-secret-field2.js +0 -1
  149. package/dist/components/mrd-table.js +0 -1
  150. package/dist/components/mrd-table2.js +0 -1
  151. package/dist/components/mrd-text-field.js +0 -1
  152. package/dist/components/mrd-text-field2.js +0 -1
  153. package/dist/components/mrd-textarea-field.js +0 -1
  154. package/dist/components/mrd-textarea-field2.js +0 -1
  155. package/dist/components/mrd-time-field.js +0 -1
  156. package/dist/components/mrd-time-field2.js +0 -1
  157. package/dist/components/quill.js +0 -1
  158. package/dist/components/validation.js +0 -1
  159. package/dist/esm/app-globals-DQuL1Twl.js +0 -3
  160. package/dist/esm/index-_tsCCkAi.js +0 -1561
  161. package/dist/esm/loader.js +0 -11
  162. package/dist/esm/mosterdcomponents.js +0 -21
  163. package/dist/esm/mrd-boolean-field_20.entry.js +0 -3940
  164. package/dist/index.cjs.js +0 -1
  165. package/dist/index.js +0 -1
  166. package/dist/mosterdcomponents/p-CiuCgGz_.js +0 -1
  167. package/dist/mosterdcomponents/p-DQuL1Twl.js +0 -1
  168. package/dist/mosterdcomponents/p-_tsCCkAi.js +0 -2
  169. package/dist/mosterdcomponents/p-e477187c.entry.js +0 -1
@@ -1,809 +0,0 @@
1
- :host {
2
- display: block;
3
- width: 100%;
4
- }
5
-
6
- /* ── Scroll container (paginated mode) ─────────────────────────────────── */
7
- .mrd-table__scroll {
8
- overflow-y: auto;
9
- overflow-x: auto;
10
- border: 1px solid var(--mrd-border-color);
11
- border-radius: var(--mrd-border-radius);
12
- /* Voorkomt dat de browser scrollTop automatisch aanpast wanneer de
13
- top-spacer groeit (scroll anchoring feedbackloop). */
14
- overflow-anchor: none;
15
- }
16
-
17
- /* ── Inner wrapper: horizontal scroll in non-paginated mode ────────────── */
18
- /* Only used in non-paginated path; paginated mode scrolls via .mrd-table__scroll */
19
- .mrd-table {
20
- overflow-x: auto;
21
- }
22
-
23
- /* ── Table ─────────────────────────────────────────────────────────────── */
24
- .mrd-table__table {
25
- width: auto;
26
- min-width: 100%;
27
- border-collapse: collapse;
28
- font-size: var(--mrd-font-size-sm);
29
- color: var(--mrd-color-neutral-900);
30
- }
31
-
32
- /* When table-layout: fixed is applied (after col widths are locked), allow
33
- horizontal overflow so the scroll container can scroll. */
34
- .mrd-table__scroll .mrd-table__table {
35
- min-width: max-content;
36
- }
37
-
38
- /* ── Sticky header ─────────────────────────────────────────────────────── */
39
- .mrd-table__header {
40
- position: sticky;
41
- top: 0;
42
- z-index: 1;
43
- background: var(--mrd-color-white);
44
- text-align: left;
45
- padding: var(--mrd-space-2) var(--mrd-space-4);
46
- border-bottom: 2px solid var(--mrd-border-color);
47
- color: var(--mrd-color-neutral-600);
48
- font-weight: var(--mrd-font-weight-medium);
49
- white-space: nowrap;
50
- font-size: var(--mrd-font-size-xs);
51
- text-transform: uppercase;
52
- letter-spacing: 0.04em;
53
- }
54
-
55
- .mrd-table__header--sortable {
56
- cursor: pointer;
57
- user-select: none;
58
- }
59
-
60
- .mrd-table__header--sortable:hover {
61
- background: var(--mrd-color-neutral-50);
62
- color: var(--mrd-color-neutral-800);
63
- }
64
-
65
- .mrd-table__header--sorted-asc,
66
- .mrd-table__header--sorted-desc {
67
- color: var(--mrd-color-primary);
68
- border-bottom-color: var(--mrd-color-primary);
69
- }
70
-
71
- .mrd-table__header-label {
72
- margin-right: var(--mrd-space-1);
73
- }
74
-
75
- .mrd-table__sort-icon {
76
- font-size: 0.85rem;
77
- opacity: 0.4;
78
- vertical-align: middle;
79
- }
80
-
81
- .mrd-table__header--sorted-asc .mrd-table__sort-icon,
82
- .mrd-table__header--sorted-desc .mrd-table__sort-icon {
83
- opacity: 1;
84
- color: var(--mrd-color-primary);
85
- }
86
-
87
- .mrd-table__filter-icon {
88
- display: inline-flex;
89
- align-items: center;
90
- vertical-align: middle;
91
- margin-left: var(--mrd-space-1);
92
- color: var(--mrd-color-primary);
93
- }
94
-
95
- /* ── Data rows ─────────────────────────────────────────────────────────── */
96
- /* Background is set via inline style based on absolute row index,
97
- so zebra striping stays correct even with virtual spacer rows. */
98
- .mrd-table__row {
99
- border-bottom: 1px solid var(--mrd-border-color);
100
- }
101
-
102
- /* !important overrides the inline zebra background on hover */
103
- .mrd-table__row:hover {
104
- background: var(--mrd-color-neutral-200) !important;
105
- }
106
-
107
- .mrd-table__row--clickable {
108
- cursor: pointer;
109
- }
110
-
111
- /* ── Spacer rows (virtual scroll padding above/below render window) ─────── */
112
- .mrd-table__spacer {
113
- border: none;
114
- }
115
-
116
- .mrd-table__spacer td {
117
- padding: 0;
118
- border: none;
119
- }
120
-
121
- /* ── Cells ─────────────────────────────────────────────────────────────── */
122
- .mrd-table__cell {
123
- padding: var(--mrd-space-2) var(--mrd-space-4);
124
- vertical-align: top;
125
- white-space: nowrap;
126
- }
127
-
128
- .mrd-table__cell--numeric {
129
- text-align: right;
130
- font-variant-numeric: tabular-nums;
131
- }
132
-
133
- /* ── Loading placeholder row ───────────────────────────────────────────── */
134
- .mrd-table__row--loading {
135
- background: transparent;
136
- }
137
-
138
- .mrd-table__cell--placeholder {
139
- padding: var(--mrd-space-2) var(--mrd-space-4);
140
- border-bottom: 1px solid var(--mrd-border-color);
141
- }
142
-
143
- .mrd-table__placeholder-bar {
144
- display: block;
145
- height: 0.75rem;
146
- width: 55%;
147
- border-radius: var(--mrd-border-radius-sm);
148
- background: linear-gradient(
149
- 90deg,
150
- var(--mrd-color-neutral-200) 25%,
151
- var(--mrd-color-neutral-100) 50%,
152
- var(--mrd-color-neutral-200) 75%
153
- );
154
- background-size: 200% 100%;
155
- animation: mrd-shimmer 1.4s ease infinite;
156
- }
157
-
158
- @keyframes mrd-shimmer {
159
- 0% { background-position: 200% 0; }
160
- 100% { background-position: -200% 0; }
161
- }
162
-
163
- /* ── Toolbar ───────────────────────────────────────────────────────────── */
164
- .mrd-table__toolbar {
165
- display: flex;
166
- align-items: center;
167
- justify-content: space-between;
168
- padding-bottom: var(--mrd-space-2);
169
- }
170
-
171
- .mrd-table__toolbar-left,
172
- .mrd-table__toolbar-right {
173
- display: flex;
174
- gap: var(--mrd-space-2);
175
- align-items: center;
176
- }
177
-
178
- .mrd-table__toolbar-center {
179
- flex: 1;
180
- display: flex;
181
- justify-content: center;
182
- align-items: center;
183
- gap: var(--mrd-space-1);
184
- }
185
-
186
- /* ── View switcher ───────────────────────────────────────────────────────── */
187
- .mrd-table__view-switcher {
188
- display: flex;
189
- align-items: center;
190
- gap: var(--mrd-space-1);
191
- }
192
-
193
- .mrd-table__view-arrow {
194
- background: none;
195
- border: none;
196
- cursor: pointer;
197
- padding: 0 var(--mrd-space-1);
198
- color: var(--mrd-color-neutral-500);
199
- font-size: var(--mrd-font-size-xs);
200
- line-height: 1;
201
- }
202
-
203
- .mrd-table__view-arrow:hover {
204
- color: var(--mrd-color-neutral-800);
205
- }
206
-
207
- .mrd-table__view-title-wrap {
208
- position: relative;
209
- }
210
-
211
- .mrd-table__view-title {
212
- font-size: var(--mrd-font-size-sm);
213
- font-weight: 600;
214
- color: var(--mrd-color-neutral-800);
215
- font-family: var(--mrd-font-family);
216
- background: none;
217
- border: none;
218
- outline: none;
219
- cursor: pointer;
220
- padding: 0 var(--mrd-space-1);
221
- max-width: 220px;
222
- white-space: nowrap;
223
- overflow: hidden;
224
- text-overflow: ellipsis;
225
- }
226
-
227
- .mrd-table__view-title:hover {
228
- color: var(--mrd-color-primary);
229
- }
230
-
231
- .mrd-table__view-popover {
232
- position: absolute;
233
- top: calc(100% + var(--mrd-space-1));
234
- left: 50%;
235
- transform: translateX(-50%);
236
- background: var(--mrd-color-white);
237
- border: 1px solid var(--mrd-color-neutral-200);
238
- border-radius: var(--mrd-radius-md);
239
- box-shadow: var(--mrd-shadow-md);
240
- z-index: 100;
241
- min-width: 160px;
242
- padding: var(--mrd-space-1) 0;
243
- }
244
-
245
- .mrd-table__view-popover-item {
246
- display: block;
247
- width: 100%;
248
- text-align: left;
249
- background: none;
250
- border: none;
251
- cursor: pointer;
252
- padding: var(--mrd-space-2) var(--mrd-space-3);
253
- font-size: var(--mrd-font-size-sm);
254
- font-family: var(--mrd-font-family);
255
- color: var(--mrd-color-neutral-700);
256
- white-space: nowrap;
257
- }
258
-
259
- .mrd-table__view-popover-item:hover {
260
- background: var(--mrd-color-neutral-50);
261
- }
262
-
263
- .mrd-table__view-popover-item--active {
264
- font-weight: 600;
265
- color: var(--mrd-color-primary);
266
- }
267
-
268
- .mrd-table__action {
269
- position: relative;
270
- display: inline-flex;
271
- align-items: center;
272
- justify-content: center;
273
- width: 2rem;
274
- height: 2rem;
275
- padding: 0;
276
- background: transparent;
277
- border: 1px solid transparent;
278
- border-radius: var(--mrd-border-radius);
279
- cursor: pointer;
280
- color: var(--mrd-color-neutral-400);
281
- transition: background-color 0.15s, border-color 0.15s, color 0.15s;
282
- }
283
-
284
- .mrd-table__action:hover {
285
- background-color: var(--mrd-color-neutral-100);
286
- border-color: var(--mrd-color-neutral-300);
287
- color: var(--mrd-color-neutral-700);
288
- }
289
-
290
- .mrd-table__action:disabled {
291
- opacity: 0.4;
292
- cursor: not-allowed;
293
- }
294
-
295
- /* Primary: slightly more prominent than regular at rest; primary fill on hover */
296
- .mrd-table__action--primary {
297
- color: var(--mrd-color-neutral-500);
298
- }
299
-
300
- .mrd-table__action--primary:hover {
301
- background: var(--mrd-color-primary);
302
- border-color: var(--mrd-color-primary);
303
- color: var(--mrd-color-white);
304
- }
305
-
306
- .mrd-table__action--danger {
307
- color: var(--mrd-color-error);
308
- }
309
-
310
- .mrd-table__action--danger:hover {
311
- background-color: var(--mrd-color-error-light, #fef2f2);
312
- border-color: var(--mrd-color-error);
313
- }
314
-
315
- .mrd-table__action-icon {
316
- width: 1.25rem;
317
- height: 1.25rem;
318
- pointer-events: none;
319
- fill: currentColor;
320
- }
321
-
322
- /* CSS tooltip — appears above the button on hover */
323
- .mrd-table__action-tooltip {
324
- display: none;
325
- position: absolute;
326
- bottom: calc(100% + 6px);
327
- right: 0;
328
- padding: var(--mrd-space-1) var(--mrd-space-2);
329
- font-size: var(--mrd-font-size-xs);
330
- white-space: nowrap;
331
- background: var(--mrd-color-tooltip, #fffce1);
332
- color: var(--mrd-color-neutral-900);
333
- border: 1px solid var(--mrd-border-color);
334
- border-radius: var(--mrd-border-radius-sm, var(--mrd-border-radius));
335
- pointer-events: none;
336
- z-index: 10;
337
- }
338
-
339
- .mrd-table__action:hover .mrd-table__action-tooltip {
340
- display: block;
341
- }
342
-
343
- /* ── Create-type picker ──────────────────────────────────────────────────── */
344
- .mrd-table__create-picker-wrap {
345
- position: relative;
346
- }
347
-
348
- .mrd-table__create-picker {
349
- position: absolute;
350
- right: 0;
351
- top: calc(100% + 4px);
352
- background: var(--mrd-color-white, #fff);
353
- border: 1px solid var(--mrd-border-color);
354
- border-radius: var(--mrd-border-radius);
355
- box-shadow: var(--mrd-shadow-md, 0 4px 12px rgba(0, 0, 0, 0.12));
356
- z-index: 10;
357
- min-width: 10rem;
358
- padding: var(--mrd-space-1) 0;
359
- }
360
-
361
- .mrd-table__create-picker-item {
362
- display: block;
363
- width: 100%;
364
- text-align: left;
365
- padding: var(--mrd-space-2) var(--mrd-space-3);
366
- background: none;
367
- border: none;
368
- cursor: pointer;
369
- font-size: var(--mrd-font-size-sm);
370
- font-family: var(--mrd-font-family);
371
- color: var(--mrd-color-neutral-800);
372
- }
373
-
374
- .mrd-table__create-picker-item:hover {
375
- background: var(--mrd-color-neutral-50);
376
- color: var(--mrd-color-neutral-900);
377
- }
378
-
379
- /* ── Filter toggle active state ────────────────────────────────────────── */
380
- .mrd-table__filter-toggle--active {
381
- background: var(--mrd-color-primary);
382
- border-color: var(--mrd-color-primary);
383
- color: var(--mrd-color-white);
384
- }
385
-
386
- .mrd-table__filter-toggle--active:hover {
387
- background: var(--mrd-color-primary-dark, var(--mrd-color-primary));
388
- border-color: var(--mrd-color-primary-dark, var(--mrd-color-primary));
389
- color: var(--mrd-color-white);
390
- }
391
-
392
- /* Badge showing count of active filters */
393
- .mrd-table__filter-badge {
394
- position: absolute;
395
- top: -6px;
396
- right: -6px;
397
- min-width: 1.25rem;
398
- height: 1.25rem;
399
- padding: 0 3px;
400
- background: var(--mrd-color-error, #e53e3e);
401
- color: var(--mrd-color-white);
402
- border-radius: 9999px;
403
- font-size: 0.65rem;
404
- font-weight: var(--mrd-font-weight-medium);
405
- line-height: 1.25rem;
406
- text-align: center;
407
- pointer-events: none;
408
- }
409
-
410
- /* ── Header: filtered indicator ─────────────────────────────────────────── */
411
- .mrd-table__header--filtered {
412
- color: var(--mrd-color-primary);
413
- border-bottom-color: var(--mrd-color-primary);
414
- }
415
-
416
- /* ── Filter popup ───────────────────────────────────────────────────────── */
417
- .mrd-table__filter-popup {
418
- position: fixed;
419
- width: 280px;
420
- background: var(--mrd-color-white);
421
- border: 1px solid var(--mrd-border-color);
422
- border-radius: var(--mrd-border-radius);
423
- box-shadow: var(--mrd-shadow-md, 0 4px 12px rgba(0,0,0,.12));
424
- z-index: var(--mrd-z-dropdown, 200);
425
- font-size: var(--mrd-font-size-sm);
426
- }
427
-
428
- .mrd-table__filter-popup-header {
429
- display: flex;
430
- align-items: center;
431
- justify-content: space-between;
432
- padding: var(--mrd-space-2) var(--mrd-space-3);
433
- border-bottom: 1px solid var(--mrd-border-color);
434
- }
435
-
436
- .mrd-table__filter-popup-title {
437
- font-weight: var(--mrd-font-weight-medium);
438
- color: var(--mrd-color-neutral-800);
439
- font-size: var(--mrd-font-size-sm);
440
- }
441
-
442
- .mrd-table__filter-close {
443
- background: transparent;
444
- border: none;
445
- cursor: pointer;
446
- color: var(--mrd-color-neutral-500);
447
- font-size: 0.9rem;
448
- padding: 2px 4px;
449
- border-radius: 3px;
450
- line-height: 1;
451
- }
452
-
453
- .mrd-table__filter-close:hover {
454
- background: var(--mrd-color-neutral-100);
455
- color: var(--mrd-color-neutral-800);
456
- }
457
-
458
- .mrd-table__filter-section {
459
- padding: var(--mrd-space-2) var(--mrd-space-3);
460
- }
461
-
462
- .mrd-table__filter-section-label {
463
- font-size: var(--mrd-font-size-xs);
464
- font-weight: var(--mrd-font-weight-medium);
465
- text-transform: uppercase;
466
- letter-spacing: 0.04em;
467
- color: var(--mrd-color-neutral-500);
468
- margin-bottom: var(--mrd-space-2);
469
- }
470
-
471
- .mrd-table__filter-sort-buttons {
472
- display: flex;
473
- gap: var(--mrd-space-2);
474
- }
475
-
476
- .mrd-table__filter-sort-btn {
477
- flex: 1;
478
- padding: var(--mrd-space-1) var(--mrd-space-2);
479
- background: transparent;
480
- border: 1px solid var(--mrd-border-color);
481
- border-radius: var(--mrd-border-radius);
482
- cursor: pointer;
483
- font-size: var(--mrd-font-size-xs);
484
- color: var(--mrd-color-neutral-700);
485
- }
486
-
487
- .mrd-table__filter-sort-btn:hover {
488
- background: var(--mrd-color-neutral-100);
489
- }
490
-
491
- .mrd-table__filter-sort-btn--active {
492
- background: var(--mrd-color-primary);
493
- border-color: var(--mrd-color-primary);
494
- color: var(--mrd-color-white);
495
- }
496
-
497
- .mrd-table__filter-divider {
498
- height: 1px;
499
- background: var(--mrd-border-color);
500
- margin: 0;
501
- }
502
-
503
- /* ── Filter editors ─────────────────────────────────────────────────────── */
504
- .mrd-table__filter-editor {
505
- display: flex;
506
- flex-direction: column;
507
- gap: var(--mrd-space-2);
508
- }
509
-
510
- .mrd-table__filter-select,
511
- .mrd-table__filter-input {
512
- width: 100%;
513
- padding: var(--mrd-space-1) var(--mrd-space-2);
514
- border: 1px solid var(--mrd-border-color);
515
- border-radius: var(--mrd-border-radius);
516
- font-size: var(--mrd-font-size-sm);
517
- color: var(--mrd-color-neutral-900);
518
- background: var(--mrd-color-white);
519
- box-sizing: border-box;
520
- }
521
-
522
- .mrd-table__filter-select:focus,
523
- .mrd-table__filter-input:focus {
524
- outline: none;
525
- border-color: var(--mrd-color-primary);
526
- box-shadow: 0 0 0 2px rgba(0,0,0,.06);
527
- }
528
-
529
- .mrd-table__filter-range {
530
- display: flex;
531
- align-items: center;
532
- gap: var(--mrd-space-1);
533
- }
534
-
535
- .mrd-table__filter-range .mrd-table__filter-input {
536
- flex: 1;
537
- min-width: 0;
538
- }
539
-
540
- .mrd-table__filter-range-sep {
541
- color: var(--mrd-color-neutral-400);
542
- flex-shrink: 0;
543
- }
544
-
545
- .mrd-table__filter-range--stacked {
546
- flex-direction: column;
547
- align-items: stretch;
548
- gap: var(--mrd-space-2);
549
- }
550
-
551
- .mrd-table__filter-range-label {
552
- font-size: var(--mrd-font-size-xs);
553
- color: var(--mrd-color-neutral-500);
554
- margin-bottom: 2px;
555
- }
556
-
557
- /* Radio group */
558
- .mrd-table__filter-radio-group {
559
- display: flex;
560
- flex-direction: column;
561
- gap: var(--mrd-space-1);
562
- }
563
-
564
- .mrd-table__filter-radio-group--inline {
565
- flex-direction: row;
566
- gap: var(--mrd-space-3);
567
- }
568
-
569
- .mrd-table__filter-radio-label {
570
- display: flex;
571
- align-items: center;
572
- gap: var(--mrd-space-1);
573
- cursor: pointer;
574
- font-size: var(--mrd-font-size-sm);
575
- color: var(--mrd-color-neutral-800);
576
- }
577
-
578
- /* List (enum) checkboxes */
579
- .mrd-table__filter-list {
580
- display: flex;
581
- flex-direction: column;
582
- gap: var(--mrd-space-1);
583
- max-height: 180px;
584
- overflow-y: auto;
585
- }
586
-
587
- .mrd-table__filter-list-controls {
588
- display: flex;
589
- gap: var(--mrd-space-2);
590
- margin-bottom: var(--mrd-space-1);
591
- }
592
-
593
- .mrd-table__filter-list-btn {
594
- font-size: var(--mrd-font-size-xs);
595
- color: var(--mrd-color-primary);
596
- background: transparent;
597
- border: none;
598
- cursor: pointer;
599
- padding: 0;
600
- text-decoration: underline;
601
- }
602
-
603
- .mrd-table__filter-checkbox-label {
604
- display: flex;
605
- align-items: center;
606
- gap: var(--mrd-space-1);
607
- cursor: pointer;
608
- font-size: var(--mrd-font-size-sm);
609
- color: var(--mrd-color-neutral-800);
610
- }
611
-
612
- .mrd-table__filter-no-support {
613
- font-size: var(--mrd-font-size-sm);
614
- color: var(--mrd-color-neutral-500);
615
- margin: 0;
616
- font-style: italic;
617
- }
618
-
619
- /* ── Popup footer ───────────────────────────────────────────────────────── */
620
- .mrd-table__filter-popup-footer {
621
- display: flex;
622
- justify-content: flex-end;
623
- gap: var(--mrd-space-2);
624
- padding: var(--mrd-space-2) var(--mrd-space-3);
625
- border-top: 1px solid var(--mrd-border-color);
626
- }
627
-
628
- .mrd-table__filter-btn {
629
- padding: var(--mrd-space-1) var(--mrd-space-3);
630
- border-radius: var(--mrd-border-radius);
631
- border: 1px solid var(--mrd-border-color);
632
- font-size: var(--mrd-font-size-sm);
633
- cursor: pointer;
634
- }
635
-
636
- .mrd-table__filter-btn--clear {
637
- background: transparent;
638
- color: var(--mrd-color-neutral-600);
639
- }
640
-
641
- .mrd-table__filter-btn--clear:hover {
642
- background: var(--mrd-color-neutral-100);
643
- }
644
-
645
- .mrd-table__filter-btn--apply {
646
- background: var(--mrd-color-primary);
647
- border-color: var(--mrd-color-primary);
648
- color: var(--mrd-color-white);
649
- }
650
-
651
- .mrd-table__filter-btn--apply:hover {
652
- background: var(--mrd-color-primary-dark, var(--mrd-color-primary));
653
- border-color: var(--mrd-color-primary-dark, var(--mrd-color-primary));
654
- }
655
-
656
- /* ── Totals row ─────────────────────────────────────────────────────────── */
657
- .mrd-table__totals-row {
658
- border-top: 2px solid var(--mrd-border-color);
659
- }
660
-
661
- .mrd-table__totals-cell {
662
- position: sticky;
663
- bottom: 0;
664
- z-index: 2;
665
- padding: var(--mrd-space-2) var(--mrd-space-4);
666
- background: var(--mrd-color-white);
667
- font-weight: var(--mrd-font-weight-medium);
668
- font-variant-numeric: tabular-nums;
669
- white-space: nowrap;
670
- border-top: 2px solid var(--mrd-border-color);
671
- }
672
-
673
- .mrd-table__totals-cell--numeric {
674
- text-align: right;
675
- }
676
-
677
- /* ── Pagination footer ─────────────────────────────────────────────────── */
678
- .mrd-table__footer {
679
- padding: var(--mrd-space-1) var(--mrd-space-2);
680
- font-size: var(--mrd-font-size-xs);
681
- color: var(--mrd-color-neutral-500);
682
- text-align: right;
683
- }
684
-
685
- /* ── Empty state ───────────────────────────────────────────────────────── */
686
- .mrd-table__empty {
687
- padding: var(--mrd-space-4) var(--mrd-space-3);
688
- color: var(--mrd-color-neutral-500);
689
- font-size: var(--mrd-font-size-sm);
690
- text-align: center;
691
- margin: 0;
692
- }
693
-
694
- /* ── File / image download cell ─────────────────────────────────────────── */
695
- .mrd-table__file-btn {
696
- display: inline-flex;
697
- align-items: center;
698
- gap: var(--mrd-space-1);
699
- background: none;
700
- border: none;
701
- padding: 0;
702
- cursor: pointer;
703
- color: var(--mrd-color-primary);
704
- font-size: var(--mrd-font-size-sm);
705
- font-family: inherit;
706
- max-width: 100%;
707
- overflow: hidden;
708
- }
709
-
710
- .mrd-table__file-btn:hover {
711
- text-decoration: underline;
712
- color: var(--mrd-color-primary-dark);
713
- }
714
-
715
- .mrd-table__file-icon {
716
- flex-shrink: 0;
717
- width: 1rem;
718
- height: 1rem;
719
- }
720
-
721
- /* ── TEXTBLOCK expand button ────────────────────────────────────────────── */
722
- .mrd-table__textblock-btn {
723
- display: inline;
724
- background: none;
725
- border: none;
726
- padding: 0 0 0 var(--mrd-space-1);
727
- cursor: pointer;
728
- color: var(--mrd-color-primary);
729
- font-size: var(--mrd-font-size-sm);
730
- font-family: inherit;
731
- line-height: inherit;
732
- vertical-align: middle;
733
- }
734
-
735
- .mrd-table__textblock-btn:hover {
736
- color: var(--mrd-color-primary-dark);
737
- }
738
-
739
- /* ── TEXTBLOCK modal ────────────────────────────────────────────────────── */
740
- .mrd-table__modal-backdrop {
741
- position: fixed;
742
- inset: 0;
743
- background: rgba(0, 0, 0, 0.4);
744
- z-index: var(--mrd-z-modal, 300);
745
- display: flex;
746
- align-items: center;
747
- justify-content: center;
748
- }
749
-
750
- .mrd-table__modal {
751
- background: #fff;
752
- border-radius: var(--mrd-radius-md, 0.5rem);
753
- padding: var(--mrd-space-6);
754
- max-width: min(600px, 90vw);
755
- max-height: 70vh;
756
- overflow-y: auto;
757
- position: relative;
758
- box-shadow: var(--mrd-shadow-lg);
759
- }
760
-
761
- .mrd-table__modal-close {
762
- position: absolute;
763
- top: var(--mrd-space-3);
764
- right: var(--mrd-space-3);
765
- background: none;
766
- border: none;
767
- cursor: pointer;
768
- font-size: 1.25rem;
769
- line-height: 1;
770
- color: var(--mrd-color-text-muted, #6b7280);
771
- padding: 0;
772
- }
773
-
774
- .mrd-table__modal-close:hover {
775
- color: var(--mrd-color-text, #111827);
776
- }
777
-
778
- .mrd-table__modal-text {
779
- margin: 0;
780
- padding-right: var(--mrd-space-6);
781
- white-space: pre-wrap;
782
- word-break: break-word;
783
- font-size: var(--mrd-font-size-sm);
784
- line-height: 1.6;
785
- }
786
-
787
- .mrd-table__json-preview {
788
- font-family: var(--mrd-font-family-mono);
789
- font-size: var(--mrd-font-size-xs);
790
- overflow: hidden;
791
- white-space: nowrap;
792
- text-overflow: ellipsis;
793
- display: inline-block;
794
- max-width: calc(100% - 1.5rem);
795
- vertical-align: middle;
796
- }
797
-
798
- .mrd-table__modal-json {
799
- margin: 0;
800
- padding-right: var(--mrd-space-6);
801
- font-family: var(--mrd-font-family-mono);
802
- font-size: var(--mrd-font-size-xs);
803
- white-space: pre-wrap;
804
- word-break: break-word;
805
- line-height: 1.6;
806
- background: none;
807
- border: none;
808
- }
809
-