@mesgflow/ui-kit 0.6.0 → 0.7.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 (199) hide show
  1. package/README.md +56 -5
  2. package/fesm2022/mesgflow-ui-kit-accordion.mjs +3 -2
  3. package/fesm2022/mesgflow-ui-kit-accordion.mjs.map +1 -1
  4. package/fesm2022/mesgflow-ui-kit-agenda.mjs +208 -0
  5. package/fesm2022/mesgflow-ui-kit-agenda.mjs.map +1 -0
  6. package/fesm2022/mesgflow-ui-kit-aspect-ratio.mjs +37 -0
  7. package/fesm2022/mesgflow-ui-kit-aspect-ratio.mjs.map +1 -0
  8. package/fesm2022/mesgflow-ui-kit-blocks.mjs +207 -0
  9. package/fesm2022/mesgflow-ui-kit-blocks.mjs.map +1 -0
  10. package/fesm2022/mesgflow-ui-kit-box-input.mjs +2 -2
  11. package/fesm2022/mesgflow-ui-kit-box-input.mjs.map +1 -1
  12. package/fesm2022/mesgflow-ui-kit-button.mjs +188 -242
  13. package/fesm2022/mesgflow-ui-kit-button.mjs.map +1 -1
  14. package/fesm2022/mesgflow-ui-kit-card.mjs +37 -16
  15. package/fesm2022/mesgflow-ui-kit-card.mjs.map +1 -1
  16. package/fesm2022/mesgflow-ui-kit-carousel.mjs +308 -0
  17. package/fesm2022/mesgflow-ui-kit-carousel.mjs.map +1 -0
  18. package/fesm2022/mesgflow-ui-kit-checkbox.mjs +16 -21
  19. package/fesm2022/mesgflow-ui-kit-checkbox.mjs.map +1 -1
  20. package/fesm2022/mesgflow-ui-kit-chip.mjs +2 -2
  21. package/fesm2022/mesgflow-ui-kit-chip.mjs.map +1 -1
  22. package/fesm2022/mesgflow-ui-kit-code-block.mjs +9 -5
  23. package/fesm2022/mesgflow-ui-kit-code-block.mjs.map +1 -1
  24. package/fesm2022/mesgflow-ui-kit-color-picker.mjs +6 -4
  25. package/fesm2022/mesgflow-ui-kit-color-picker.mjs.map +1 -1
  26. package/fesm2022/mesgflow-ui-kit-combobox.mjs +145 -65
  27. package/fesm2022/mesgflow-ui-kit-combobox.mjs.map +1 -1
  28. package/fesm2022/mesgflow-ui-kit-context-menu.mjs +4 -6
  29. package/fesm2022/mesgflow-ui-kit-context-menu.mjs.map +1 -1
  30. package/fesm2022/mesgflow-ui-kit-core.mjs +441 -128
  31. package/fesm2022/mesgflow-ui-kit-core.mjs.map +1 -1
  32. package/fesm2022/mesgflow-ui-kit-countdown.mjs +149 -0
  33. package/fesm2022/mesgflow-ui-kit-countdown.mjs.map +1 -0
  34. package/fesm2022/mesgflow-ui-kit-date-picker.mjs +131 -10
  35. package/fesm2022/mesgflow-ui-kit-date-picker.mjs.map +1 -1
  36. package/fesm2022/mesgflow-ui-kit-dialog.mjs +117 -34
  37. package/fesm2022/mesgflow-ui-kit-dialog.mjs.map +1 -1
  38. package/fesm2022/mesgflow-ui-kit-drawer.mjs +109 -0
  39. package/fesm2022/mesgflow-ui-kit-drawer.mjs.map +1 -0
  40. package/fesm2022/mesgflow-ui-kit-dropzone.mjs +3 -3
  41. package/fesm2022/mesgflow-ui-kit-dropzone.mjs.map +1 -1
  42. package/fesm2022/mesgflow-ui-kit-field.mjs +53 -12
  43. package/fesm2022/mesgflow-ui-kit-field.mjs.map +1 -1
  44. package/fesm2022/mesgflow-ui-kit-file-upload.mjs +356 -0
  45. package/fesm2022/mesgflow-ui-kit-file-upload.mjs.map +1 -0
  46. package/fesm2022/mesgflow-ui-kit-i18n-tr.mjs +131 -0
  47. package/fesm2022/mesgflow-ui-kit-i18n-tr.mjs.map +1 -1
  48. package/fesm2022/mesgflow-ui-kit-icon.mjs +6 -1
  49. package/fesm2022/mesgflow-ui-kit-icon.mjs.map +1 -1
  50. package/fesm2022/mesgflow-ui-kit-icons-lucide.mjs +371 -0
  51. package/fesm2022/mesgflow-ui-kit-icons-lucide.mjs.map +1 -0
  52. package/fesm2022/mesgflow-ui-kit-inline-edit.mjs +279 -0
  53. package/fesm2022/mesgflow-ui-kit-inline-edit.mjs.map +1 -0
  54. package/fesm2022/mesgflow-ui-kit-input.mjs +147 -4
  55. package/fesm2022/mesgflow-ui-kit-input.mjs.map +1 -1
  56. package/fesm2022/mesgflow-ui-kit-lightbox.mjs +299 -0
  57. package/fesm2022/mesgflow-ui-kit-lightbox.mjs.map +1 -0
  58. package/fesm2022/mesgflow-ui-kit-link.mjs +2 -2
  59. package/fesm2022/mesgflow-ui-kit-link.mjs.map +1 -1
  60. package/fesm2022/mesgflow-ui-kit-listbox.mjs +151 -0
  61. package/fesm2022/mesgflow-ui-kit-listbox.mjs.map +1 -0
  62. package/fesm2022/mesgflow-ui-kit-mention.mjs +283 -0
  63. package/fesm2022/mesgflow-ui-kit-mention.mjs.map +1 -0
  64. package/fesm2022/mesgflow-ui-kit-menu.mjs +169 -5
  65. package/fesm2022/mesgflow-ui-kit-menu.mjs.map +1 -1
  66. package/fesm2022/mesgflow-ui-kit-nav-menu.mjs +276 -0
  67. package/fesm2022/mesgflow-ui-kit-nav-menu.mjs.map +1 -0
  68. package/fesm2022/mesgflow-ui-kit-notification-center.mjs +281 -0
  69. package/fesm2022/mesgflow-ui-kit-notification-center.mjs.map +1 -0
  70. package/fesm2022/mesgflow-ui-kit-number-input.mjs +7 -4
  71. package/fesm2022/mesgflow-ui-kit-number-input.mjs.map +1 -1
  72. package/fesm2022/mesgflow-ui-kit-pagination.mjs +4 -3
  73. package/fesm2022/mesgflow-ui-kit-pagination.mjs.map +1 -1
  74. package/fesm2022/mesgflow-ui-kit-password-input.mjs +7 -2
  75. package/fesm2022/mesgflow-ui-kit-password-input.mjs.map +1 -1
  76. package/fesm2022/mesgflow-ui-kit-popover.mjs +9 -49
  77. package/fesm2022/mesgflow-ui-kit-popover.mjs.map +1 -1
  78. package/fesm2022/mesgflow-ui-kit-progress.mjs +162 -21
  79. package/fesm2022/mesgflow-ui-kit-progress.mjs.map +1 -1
  80. package/fesm2022/mesgflow-ui-kit-radio.mjs +4 -6
  81. package/fesm2022/mesgflow-ui-kit-radio.mjs.map +1 -1
  82. package/fesm2022/mesgflow-ui-kit-rating.mjs +2 -2
  83. package/fesm2022/mesgflow-ui-kit-rating.mjs.map +1 -1
  84. package/fesm2022/mesgflow-ui-kit-search-input.mjs +9 -5
  85. package/fesm2022/mesgflow-ui-kit-search-input.mjs.map +1 -1
  86. package/fesm2022/mesgflow-ui-kit-segmented-control.mjs +12 -8
  87. package/fesm2022/mesgflow-ui-kit-segmented-control.mjs.map +1 -1
  88. package/fesm2022/mesgflow-ui-kit-select.mjs +3 -2
  89. package/fesm2022/mesgflow-ui-kit-select.mjs.map +1 -1
  90. package/fesm2022/mesgflow-ui-kit-sidebar.mjs +16 -13
  91. package/fesm2022/mesgflow-ui-kit-sidebar.mjs.map +1 -1
  92. package/fesm2022/mesgflow-ui-kit-skeleton.mjs +4 -3
  93. package/fesm2022/mesgflow-ui-kit-skeleton.mjs.map +1 -1
  94. package/fesm2022/mesgflow-ui-kit-slider.mjs +250 -3
  95. package/fesm2022/mesgflow-ui-kit-slider.mjs.map +1 -1
  96. package/fesm2022/mesgflow-ui-kit-sortable.mjs +526 -0
  97. package/fesm2022/mesgflow-ui-kit-sortable.mjs.map +1 -0
  98. package/fesm2022/mesgflow-ui-kit-spinner.mjs +42 -13
  99. package/fesm2022/mesgflow-ui-kit-spinner.mjs.map +1 -1
  100. package/fesm2022/mesgflow-ui-kit-split-button.mjs +205 -0
  101. package/fesm2022/mesgflow-ui-kit-split-button.mjs.map +1 -0
  102. package/fesm2022/mesgflow-ui-kit-splitter.mjs +210 -3
  103. package/fesm2022/mesgflow-ui-kit-splitter.mjs.map +1 -1
  104. package/fesm2022/mesgflow-ui-kit-stat-tile.mjs +11 -4
  105. package/fesm2022/mesgflow-ui-kit-stat-tile.mjs.map +1 -1
  106. package/fesm2022/mesgflow-ui-kit-stepper.mjs +167 -60
  107. package/fesm2022/mesgflow-ui-kit-stepper.mjs.map +1 -1
  108. package/fesm2022/mesgflow-ui-kit-switch.mjs +2 -2
  109. package/fesm2022/mesgflow-ui-kit-switch.mjs.map +1 -1
  110. package/fesm2022/mesgflow-ui-kit-table.mjs +16 -10
  111. package/fesm2022/mesgflow-ui-kit-table.mjs.map +1 -1
  112. package/fesm2022/mesgflow-ui-kit-tabs.mjs +410 -169
  113. package/fesm2022/mesgflow-ui-kit-tabs.mjs.map +1 -1
  114. package/fesm2022/mesgflow-ui-kit-tag-input.mjs +7 -2
  115. package/fesm2022/mesgflow-ui-kit-tag-input.mjs.map +1 -1
  116. package/fesm2022/mesgflow-ui-kit-theming.mjs +4 -4
  117. package/fesm2022/mesgflow-ui-kit-theming.mjs.map +1 -1
  118. package/fesm2022/mesgflow-ui-kit-time-picker.mjs +3 -3
  119. package/fesm2022/mesgflow-ui-kit-time-picker.mjs.map +1 -1
  120. package/fesm2022/mesgflow-ui-kit-toast.mjs +113 -30
  121. package/fesm2022/mesgflow-ui-kit-toast.mjs.map +1 -1
  122. package/fesm2022/mesgflow-ui-kit-toggle.mjs +3 -2
  123. package/fesm2022/mesgflow-ui-kit-toggle.mjs.map +1 -1
  124. package/fesm2022/mesgflow-ui-kit-toolbar.mjs +4 -2
  125. package/fesm2022/mesgflow-ui-kit-toolbar.mjs.map +1 -1
  126. package/fesm2022/mesgflow-ui-kit-tooltip.mjs +73 -50
  127. package/fesm2022/mesgflow-ui-kit-tooltip.mjs.map +1 -1
  128. package/fesm2022/mesgflow-ui-kit-tour.mjs +8 -20
  129. package/fesm2022/mesgflow-ui-kit-tour.mjs.map +1 -1
  130. package/fesm2022/mesgflow-ui-kit-transfer-list.mjs +288 -0
  131. package/fesm2022/mesgflow-ui-kit-transfer-list.mjs.map +1 -0
  132. package/fesm2022/mesgflow-ui-kit-tree.mjs +1 -1
  133. package/fesm2022/mesgflow-ui-kit-tree.mjs.map +1 -1
  134. package/fesm2022/mesgflow-ui-kit-virtual-list.mjs +109 -0
  135. package/fesm2022/mesgflow-ui-kit-virtual-list.mjs.map +1 -0
  136. package/fesm2022/mesgflow-ui-kit.mjs +92 -12836
  137. package/fesm2022/mesgflow-ui-kit.mjs.map +1 -1
  138. package/package.json +87 -3
  139. package/schematics/collection.json +10 -0
  140. package/schematics/migration.json +10 -0
  141. package/schematics/migrations/v0-7.cjs +70 -0
  142. package/schematics/ng-add/index.cjs +234 -0
  143. package/schematics/ng-add/schema.json +43 -0
  144. package/tokens/color.css +96 -0
  145. package/tokens/controls.css +145 -0
  146. package/tokens/elevation.css +62 -6
  147. package/tokens/motion.css +304 -66
  148. package/tokens/radius.css +14 -0
  149. package/tokens.css +1 -0
  150. package/tokens.json +1583 -0
  151. package/types/mesgflow-ui-kit-agenda.d.ts +49 -0
  152. package/types/mesgflow-ui-kit-aspect-ratio.d.ts +18 -0
  153. package/types/mesgflow-ui-kit-blocks.d.ts +128 -0
  154. package/types/mesgflow-ui-kit-button.d.ts +23 -38
  155. package/types/mesgflow-ui-kit-card.d.ts +26 -16
  156. package/types/mesgflow-ui-kit-carousel.d.ts +51 -0
  157. package/types/mesgflow-ui-kit-checkbox.d.ts +8 -5
  158. package/types/mesgflow-ui-kit-code-block.d.ts +4 -1
  159. package/types/mesgflow-ui-kit-combobox.d.ts +47 -22
  160. package/types/mesgflow-ui-kit-core.d.ts +271 -21
  161. package/types/mesgflow-ui-kit-countdown.d.ts +47 -0
  162. package/types/mesgflow-ui-kit-date-picker.d.ts +31 -1
  163. package/types/mesgflow-ui-kit-dialog.d.ts +29 -6
  164. package/types/mesgflow-ui-kit-drawer.d.ts +45 -0
  165. package/types/mesgflow-ui-kit-field.d.ts +17 -8
  166. package/types/mesgflow-ui-kit-file-upload.d.ts +64 -0
  167. package/types/mesgflow-ui-kit-hover-card.d.ts +2 -2
  168. package/types/mesgflow-ui-kit-icons-lucide.d.ts +27 -0
  169. package/types/mesgflow-ui-kit-inline-edit.d.ts +42 -0
  170. package/types/mesgflow-ui-kit-input.d.ts +64 -2
  171. package/types/mesgflow-ui-kit-lightbox.d.ts +54 -0
  172. package/types/mesgflow-ui-kit-listbox.d.ts +30 -0
  173. package/types/mesgflow-ui-kit-mention.d.ts +59 -0
  174. package/types/mesgflow-ui-kit-menu.d.ts +41 -2
  175. package/types/mesgflow-ui-kit-nav-menu.d.ts +58 -0
  176. package/types/mesgflow-ui-kit-notification-center.d.ts +41 -0
  177. package/types/mesgflow-ui-kit-number-input.d.ts +3 -1
  178. package/types/mesgflow-ui-kit-password-input.d.ts +3 -1
  179. package/types/mesgflow-ui-kit-popover.d.ts +13 -5
  180. package/types/mesgflow-ui-kit-progress.d.ts +33 -12
  181. package/types/mesgflow-ui-kit-radio.d.ts +2 -2
  182. package/types/mesgflow-ui-kit-search-input.d.ts +3 -1
  183. package/types/mesgflow-ui-kit-segmented-control.d.ts +4 -0
  184. package/types/mesgflow-ui-kit-sidebar.d.ts +1 -1
  185. package/types/mesgflow-ui-kit-slider.d.ts +60 -1
  186. package/types/mesgflow-ui-kit-sortable.d.ts +103 -0
  187. package/types/mesgflow-ui-kit-spinner.d.ts +5 -8
  188. package/types/mesgflow-ui-kit-split-button.d.ts +47 -0
  189. package/types/mesgflow-ui-kit-splitter.d.ts +64 -1
  190. package/types/mesgflow-ui-kit-stat-tile.d.ts +3 -0
  191. package/types/mesgflow-ui-kit-stepper.d.ts +54 -32
  192. package/types/mesgflow-ui-kit-table.d.ts +2 -0
  193. package/types/mesgflow-ui-kit-tabs.d.ts +193 -93
  194. package/types/mesgflow-ui-kit-tag-input.d.ts +3 -1
  195. package/types/mesgflow-ui-kit-toast.d.ts +48 -22
  196. package/types/mesgflow-ui-kit-tooltip.d.ts +15 -12
  197. package/types/mesgflow-ui-kit-transfer-list.d.ts +34 -0
  198. package/types/mesgflow-ui-kit-virtual-list.d.ts +35 -0
  199. package/types/mesgflow-ui-kit.d.ts +87 -5444
@@ -0,0 +1,145 @@
1
+ /*
2
+ * mesgflow — özel çizimli seçim kontrolleri (v0.7).
3
+ *
4
+ * Checkbox/Radio önceden native kutuyu `accent-color` ile boyuyordu: işaret
5
+ * tarayıcıya göre farklı çiziliyor, animasyon yoktu, koyu modda kenarlık
6
+ * zeminde kayboluyordu. Artık `appearance: none` + `::before` işareti:
7
+ * - İşaret yay eğrisiyle (`ease-spring`) büyüyerek gelir.
8
+ * - `indeterminate` (checkbox) çizgi işareti taşır.
9
+ * - Tüm renkler rol token'larından — `applyMfTheme({accent})` otomatik takip eder.
10
+ * - `forced-colors` (Windows Yüksek Kontrast): sistem renklerine düşer.
11
+ * Native `<input>` KALIR — klavye, form, `:checked`, erişilebilirlik ağacı
12
+ * değişmez; sadece görsel katman bizim.
13
+ */
14
+
15
+ @utility mf-check {
16
+ appearance: none;
17
+ position: relative;
18
+ display: inline-block;
19
+ vertical-align: middle;
20
+ flex-shrink: 0;
21
+ margin: 0;
22
+ cursor: pointer;
23
+ border: 1px solid var(--mf-border-strong);
24
+ border-radius: var(--radius-xs);
25
+ background-color: var(--mf-surface);
26
+ box-shadow: var(--mf-shadow-control);
27
+ transition-property: background-color, border-color, box-shadow, scale;
28
+ transition-duration: var(--duration-fast);
29
+ transition-timing-function: var(--ease-emphasis);
30
+
31
+ &::before {
32
+ content: '';
33
+ position: absolute;
34
+ inset: 10%;
35
+ background-color: var(--mf-fg-on-accent);
36
+ mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M3.5 8.5l3 3 6-7' fill='none' stroke='black' stroke-width='2.25' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")
37
+ center / contain no-repeat;
38
+ scale: 0;
39
+ transition: scale var(--duration-base) var(--ease-spring);
40
+ }
41
+
42
+ &:hover:not(:disabled):not(:checked):not(:indeterminate) {
43
+ border-color: var(--mf-accent);
44
+ }
45
+
46
+ &:active:not(:disabled) {
47
+ scale: 0.92;
48
+ }
49
+
50
+ &:checked,
51
+ &:indeterminate {
52
+ border-color: var(--mf-accent-fill);
53
+ background-color: var(--mf-accent-fill);
54
+ }
55
+
56
+ &:checked::before,
57
+ &:indeterminate::before {
58
+ scale: 1;
59
+ }
60
+
61
+ &:indeterminate::before {
62
+ mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M4 8h8' fill='none' stroke='black' stroke-width='2.25' stroke-linecap='round'/%3E%3C/svg%3E");
63
+ }
64
+
65
+ &:disabled {
66
+ cursor: not-allowed;
67
+ opacity: 0.5;
68
+ }
69
+
70
+ &[aria-invalid='true'] {
71
+ border-color: var(--mf-danger);
72
+ }
73
+
74
+ @media (forced-colors: active) {
75
+ border-color: CanvasText;
76
+ &:checked,
77
+ &:indeterminate {
78
+ background-color: Highlight;
79
+ border-color: Highlight;
80
+ }
81
+ &::before {
82
+ background-color: HighlightText;
83
+ }
84
+ }
85
+ }
86
+
87
+ @utility mf-radio {
88
+ appearance: none;
89
+ position: relative;
90
+ display: inline-block;
91
+ vertical-align: middle;
92
+ flex-shrink: 0;
93
+ margin: 0;
94
+ cursor: pointer;
95
+ border: 1px solid var(--mf-border-strong);
96
+ border-radius: 9999px;
97
+ background-color: var(--mf-surface);
98
+ box-shadow: var(--mf-shadow-control);
99
+ transition-property: background-color, border-color, box-shadow, scale;
100
+ transition-duration: var(--duration-fast);
101
+ transition-timing-function: var(--ease-emphasis);
102
+
103
+ &::before {
104
+ content: '';
105
+ position: absolute;
106
+ inset: 30%;
107
+ border-radius: 9999px;
108
+ background-color: var(--mf-fg-on-accent);
109
+ scale: 0;
110
+ transition: scale var(--duration-base) var(--ease-spring);
111
+ }
112
+
113
+ &:hover:not(:disabled):not(:checked) {
114
+ border-color: var(--mf-accent);
115
+ }
116
+
117
+ &:active:not(:disabled) {
118
+ scale: 0.92;
119
+ }
120
+
121
+ &:checked {
122
+ border-color: var(--mf-accent-fill);
123
+ background-color: var(--mf-accent-fill);
124
+ }
125
+
126
+ &:checked::before {
127
+ scale: 1;
128
+ }
129
+
130
+ &:disabled {
131
+ cursor: not-allowed;
132
+ opacity: 0.5;
133
+ }
134
+
135
+ @media (forced-colors: active) {
136
+ border-color: CanvasText;
137
+ &:checked {
138
+ background-color: Highlight;
139
+ border-color: Highlight;
140
+ }
141
+ &::before {
142
+ background-color: HighlightText;
143
+ }
144
+ }
145
+ }
@@ -35,17 +35,27 @@
35
35
  --shadow-control: var(--mf-shadow-control);
36
36
  --shadow-filled: var(--mf-shadow-filled);
37
37
  --shadow-glow: var(--mf-shadow-glow);
38
+ --shadow-highlight: var(--mf-shadow-highlight);
38
39
  }
39
40
 
40
41
  @layer base {
41
42
  /* `.light` — koyu sayfa içindeki açık ada, bkz. color.css'teki `@custom-variant dark` notu. */
42
43
  :root,
43
44
  .light {
44
- /* Marka-tonlu (rgba primary-900) ve önceki turdan çok daha hafif — derinlik artık ağırlıklı olarak border-hairline'dan geliyor, gölge sadece küçük bir ipucu. */
45
+ /*
46
+ * KATMANLI gölgeler (v0.7) — her basamak iki katman: yakın/keskin bir
47
+ * "temas" gölgesi + uzak/yumuşak bir "ortam" gölgesi. Tek katmanlı
48
+ * gölge ya bulanık ya sert duruyordu; iki katman gerçek bir ışığın
49
+ * yarattığı derinliği verir (Vercel Geist / Radix Themes yaklaşımı).
50
+ * Marka-tonlu (rgba primary-900) — derinlik yine ağırlıklı olarak
51
+ * border-hairline'dan geliyor, gölge ipucu.
52
+ */
45
53
  --mf-shadow-1: 0 1px 2px rgba(6, 44, 34, 0.06);
46
- --mf-shadow-2: 0 4px 16px -8px rgba(6, 44, 34, 0.14);
47
- /* Spec'in "Gölgeler yerine çerçeveler" tarifi — dialog/drawer/sheet zaten hairline taşıyor, gölge sadece derin bir ipucu. */
48
- --mf-shadow-3: 0 10px 30px rgba(6, 44, 34, 0.15);
54
+ --mf-shadow-2: 0 1px 2px rgba(6, 44, 34, 0.05), 0 8px 24px -10px rgba(6, 44, 34, 0.18);
55
+ /* Dialog/drawer/sheet — en yüksek basamak, hairline + derin ortam gölgesi. */
56
+ --mf-shadow-3: 0 2px 6px -1px rgba(6, 44, 34, 0.06), 0 24px 56px -16px rgba(6, 44, 34, 0.26);
57
+ /* Light'ta yüzey üst-kenar ışığı yok — beyaz üstünde beyaz görünmez. */
58
+ --mf-shadow-highlight: 0 0 #0000;
49
59
  /* Kontroller için neredeyse görünmez bir ayrım — zemin kontrastıyla karışmasın diye "gölge" değil "kenar ışığı" gibi davranır. */
50
60
  --mf-shadow-control: 0 1px 1px rgba(6, 44, 34, 0.04);
51
61
  --mf-shadow-filled: 0 1px 0 rgba(6, 44, 34, 0.12), 0 1px 2px rgba(6, 44, 34, 0.14);
@@ -55,8 +65,20 @@
55
65
 
56
66
  .dark {
57
67
  --mf-shadow-1: 0 1px 2px rgba(0, 0, 0, 0.24);
58
- --mf-shadow-2: 0 4px 16px -8px rgba(0, 0, 0, 0.5);
59
- --mf-shadow-3: 0 10px 30px rgba(0, 0, 0, 0.4);
68
+ /*
69
+ * Koyu modda gölge tek başına derinlik VERMEZ (siyah üstüne siyah) —
70
+ * yükseltilmiş yüzeyler (overlay/dialog) ÜST KENARDAN ince bir ışık
71
+ * çizgisi alır: ışık yukarıdan geliyormuş gibi, panel zeminden kalkar
72
+ * (Apple/Linear dark UI). `--mf-shadow-highlight` tek başına da
73
+ * kullanılabilir (`shadow-highlight`: interaktif kartlar).
74
+ */
75
+ --mf-shadow-highlight: inset 0 1px 0 rgba(236, 243, 240, 0.06);
76
+ --mf-shadow-2:
77
+ inset 0 1px 0 rgba(236, 243, 240, 0.06), 0 1px 2px rgba(0, 0, 0, 0.3),
78
+ 0 12px 32px -12px rgba(0, 0, 0, 0.7);
79
+ --mf-shadow-3:
80
+ inset 0 1px 0 rgba(236, 243, 240, 0.07), 0 2px 8px -2px rgba(0, 0, 0, 0.4),
81
+ 0 32px 64px -16px rgba(0, 0, 0, 0.75);
60
82
  /* Dark modda dolu gölge yerine üstte ince bir ışık çizgisi — koyu zeminde "gölge" görsel olarak okunmuyor. */
61
83
  --mf-shadow-control: inset 0 1px 0 rgba(255, 255, 255, 0.04);
62
84
  --mf-shadow-filled: 0 1px 0 rgba(0, 0, 0, 0.45), 0 1px 2px rgba(0, 0, 0, 0.4);
@@ -66,3 +88,37 @@
66
88
  0 1px 0 rgba(0, 0, 0, 0.45), 0 1px 2px rgba(0, 0, 0, 0.4);
67
89
  }
68
90
  }
91
+
92
+ /*
93
+ * Z-index katmanları — GLOBAL yığın sırası TEK yerde. Bileşen-içi yerel
94
+ * sıralama (sticky tablo hücresi `z-[1]`, buton grubu hover `z-10`) kendi
95
+ * stacking context'inde kalır, bu skalaya girmez.
96
+ *
97
+ * CDK overlay container'ı (popover/menu/select/dialog/tour) `--mf-z-overlay`'e
98
+ * bağlanır; toast onun ÜSTÜNDE — bir dialog açıkken gelen bildirim backdrop'un
99
+ * altında kalmasın (önceden toast `z-50`, CDK `1000`: gerçek hata).
100
+ */
101
+ :root {
102
+ --mf-z-sticky: 20;
103
+ --mf-z-nav: 40;
104
+ --mf-z-overlay: 1000;
105
+ --mf-z-toast: 1100;
106
+ --mf-z-max: 2147483000;
107
+ }
108
+
109
+ .cdk-overlay-container {
110
+ z-index: var(--mf-z-overlay);
111
+ }
112
+
113
+ @utility z-sticky {
114
+ z-index: var(--mf-z-sticky);
115
+ }
116
+ @utility z-nav {
117
+ z-index: var(--mf-z-nav);
118
+ }
119
+ @utility z-overlay {
120
+ z-index: var(--mf-z-overlay);
121
+ }
122
+ @utility z-toast {
123
+ z-index: var(--mf-z-toast);
124
+ }