@mesgflow/ui-kit 0.6.0 → 0.8.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 (227) hide show
  1. package/README.md +56 -5
  2. package/fesm2022/mesgflow-ui-kit-accordion.mjs +9 -8
  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-alert.mjs +3 -3
  7. package/fesm2022/mesgflow-ui-kit-aspect-ratio.mjs +37 -0
  8. package/fesm2022/mesgflow-ui-kit-aspect-ratio.mjs.map +1 -0
  9. package/fesm2022/mesgflow-ui-kit-avatar-group.mjs +3 -3
  10. package/fesm2022/mesgflow-ui-kit-avatar.mjs +3 -3
  11. package/fesm2022/mesgflow-ui-kit-badge.mjs +3 -3
  12. package/fesm2022/mesgflow-ui-kit-banner.mjs +3 -3
  13. package/fesm2022/mesgflow-ui-kit-blocks.mjs +207 -0
  14. package/fesm2022/mesgflow-ui-kit-blocks.mjs.map +1 -0
  15. package/fesm2022/mesgflow-ui-kit-box-input.mjs +4 -4
  16. package/fesm2022/mesgflow-ui-kit-box-input.mjs.map +1 -1
  17. package/fesm2022/mesgflow-ui-kit-brand.mjs +3 -3
  18. package/fesm2022/mesgflow-ui-kit-breadcrumb.mjs +3 -3
  19. package/fesm2022/mesgflow-ui-kit-button-group.mjs +3 -3
  20. package/fesm2022/mesgflow-ui-kit-button.mjs +190 -244
  21. package/fesm2022/mesgflow-ui-kit-button.mjs.map +1 -1
  22. package/fesm2022/mesgflow-ui-kit-card.mjs +48 -27
  23. package/fesm2022/mesgflow-ui-kit-card.mjs.map +1 -1
  24. package/fesm2022/mesgflow-ui-kit-carousel.mjs +308 -0
  25. package/fesm2022/mesgflow-ui-kit-carousel.mjs.map +1 -0
  26. package/fesm2022/mesgflow-ui-kit-chart.mjs +12 -12
  27. package/fesm2022/mesgflow-ui-kit-checkbox.mjs +18 -23
  28. package/fesm2022/mesgflow-ui-kit-checkbox.mjs.map +1 -1
  29. package/fesm2022/mesgflow-ui-kit-chip.mjs +5 -5
  30. package/fesm2022/mesgflow-ui-kit-chip.mjs.map +1 -1
  31. package/fesm2022/mesgflow-ui-kit-code-block.mjs +11 -7
  32. package/fesm2022/mesgflow-ui-kit-code-block.mjs.map +1 -1
  33. package/fesm2022/mesgflow-ui-kit-collapsible.mjs +9 -9
  34. package/fesm2022/mesgflow-ui-kit-color-picker.mjs +9 -7
  35. package/fesm2022/mesgflow-ui-kit-color-picker.mjs.map +1 -1
  36. package/fesm2022/mesgflow-ui-kit-combobox.mjs +147 -67
  37. package/fesm2022/mesgflow-ui-kit-combobox.mjs.map +1 -1
  38. package/fesm2022/mesgflow-ui-kit-command.mjs +15 -16
  39. package/fesm2022/mesgflow-ui-kit-command.mjs.map +1 -1
  40. package/fesm2022/mesgflow-ui-kit-context-menu.mjs +7 -9
  41. package/fesm2022/mesgflow-ui-kit-context-menu.mjs.map +1 -1
  42. package/fesm2022/mesgflow-ui-kit-copy-button.mjs +6 -6
  43. package/fesm2022/mesgflow-ui-kit-core.mjs +446 -128
  44. package/fesm2022/mesgflow-ui-kit-core.mjs.map +1 -1
  45. package/fesm2022/mesgflow-ui-kit-countdown.mjs +149 -0
  46. package/fesm2022/mesgflow-ui-kit-countdown.mjs.map +1 -0
  47. package/fesm2022/mesgflow-ui-kit-date-picker.mjs +140 -19
  48. package/fesm2022/mesgflow-ui-kit-date-picker.mjs.map +1 -1
  49. package/fesm2022/mesgflow-ui-kit-description-list.mjs +3 -3
  50. package/fesm2022/mesgflow-ui-kit-dialog.mjs +310 -64
  51. package/fesm2022/mesgflow-ui-kit-dialog.mjs.map +1 -1
  52. package/fesm2022/mesgflow-ui-kit-divider.mjs +3 -3
  53. package/fesm2022/mesgflow-ui-kit-drawer.mjs +109 -0
  54. package/fesm2022/mesgflow-ui-kit-drawer.mjs.map +1 -0
  55. package/fesm2022/mesgflow-ui-kit-dropzone.mjs +6 -6
  56. package/fesm2022/mesgflow-ui-kit-dropzone.mjs.map +1 -1
  57. package/fesm2022/mesgflow-ui-kit-empty-state.mjs +3 -3
  58. package/fesm2022/mesgflow-ui-kit-field.mjs +55 -14
  59. package/fesm2022/mesgflow-ui-kit-field.mjs.map +1 -1
  60. package/fesm2022/mesgflow-ui-kit-file-upload.mjs +356 -0
  61. package/fesm2022/mesgflow-ui-kit-file-upload.mjs.map +1 -0
  62. package/fesm2022/mesgflow-ui-kit-hover-card.mjs +6 -6
  63. package/fesm2022/mesgflow-ui-kit-i18n-tr.mjs +135 -0
  64. package/fesm2022/mesgflow-ui-kit-i18n-tr.mjs.map +1 -1
  65. package/fesm2022/mesgflow-ui-kit-icon.mjs +8 -3
  66. package/fesm2022/mesgflow-ui-kit-icon.mjs.map +1 -1
  67. package/fesm2022/mesgflow-ui-kit-icons-lucide.mjs +371 -0
  68. package/fesm2022/mesgflow-ui-kit-icons-lucide.mjs.map +1 -0
  69. package/fesm2022/mesgflow-ui-kit-inline-edit.mjs +279 -0
  70. package/fesm2022/mesgflow-ui-kit-inline-edit.mjs.map +1 -0
  71. package/fesm2022/mesgflow-ui-kit-input.mjs +162 -19
  72. package/fesm2022/mesgflow-ui-kit-input.mjs.map +1 -1
  73. package/fesm2022/mesgflow-ui-kit-kbd.mjs +3 -3
  74. package/fesm2022/mesgflow-ui-kit-lightbox.mjs +299 -0
  75. package/fesm2022/mesgflow-ui-kit-lightbox.mjs.map +1 -0
  76. package/fesm2022/mesgflow-ui-kit-link.mjs +5 -5
  77. package/fesm2022/mesgflow-ui-kit-link.mjs.map +1 -1
  78. package/fesm2022/mesgflow-ui-kit-listbox.mjs +151 -0
  79. package/fesm2022/mesgflow-ui-kit-listbox.mjs.map +1 -0
  80. package/fesm2022/mesgflow-ui-kit-mention.mjs +283 -0
  81. package/fesm2022/mesgflow-ui-kit-mention.mjs.map +1 -0
  82. package/fesm2022/mesgflow-ui-kit-menu.mjs +178 -14
  83. package/fesm2022/mesgflow-ui-kit-menu.mjs.map +1 -1
  84. package/fesm2022/mesgflow-ui-kit-nav-menu.mjs +276 -0
  85. package/fesm2022/mesgflow-ui-kit-nav-menu.mjs.map +1 -0
  86. package/fesm2022/mesgflow-ui-kit-notification-center.mjs +281 -0
  87. package/fesm2022/mesgflow-ui-kit-notification-center.mjs.map +1 -0
  88. package/fesm2022/mesgflow-ui-kit-number-input.mjs +9 -6
  89. package/fesm2022/mesgflow-ui-kit-number-input.mjs.map +1 -1
  90. package/fesm2022/mesgflow-ui-kit-otp-input.mjs +3 -3
  91. package/fesm2022/mesgflow-ui-kit-page-header.mjs +6 -6
  92. package/fesm2022/mesgflow-ui-kit-pagination.mjs +7 -6
  93. package/fesm2022/mesgflow-ui-kit-pagination.mjs.map +1 -1
  94. package/fesm2022/mesgflow-ui-kit-password-input.mjs +38 -68
  95. package/fesm2022/mesgflow-ui-kit-password-input.mjs.map +1 -1
  96. package/fesm2022/mesgflow-ui-kit-popover.mjs +12 -52
  97. package/fesm2022/mesgflow-ui-kit-popover.mjs.map +1 -1
  98. package/fesm2022/mesgflow-ui-kit-progress.mjs +164 -23
  99. package/fesm2022/mesgflow-ui-kit-progress.mjs.map +1 -1
  100. package/fesm2022/mesgflow-ui-kit-qr-code.mjs +766 -0
  101. package/fesm2022/mesgflow-ui-kit-qr-code.mjs.map +1 -0
  102. package/fesm2022/mesgflow-ui-kit-radio.mjs +10 -12
  103. package/fesm2022/mesgflow-ui-kit-radio.mjs.map +1 -1
  104. package/fesm2022/mesgflow-ui-kit-rating.mjs +4 -4
  105. package/fesm2022/mesgflow-ui-kit-rating.mjs.map +1 -1
  106. package/fesm2022/mesgflow-ui-kit-scroll-area.mjs +3 -3
  107. package/fesm2022/mesgflow-ui-kit-search-input.mjs +11 -7
  108. package/fesm2022/mesgflow-ui-kit-search-input.mjs.map +1 -1
  109. package/fesm2022/mesgflow-ui-kit-segmented-control.mjs +15 -11
  110. package/fesm2022/mesgflow-ui-kit-segmented-control.mjs.map +1 -1
  111. package/fesm2022/mesgflow-ui-kit-select.mjs +6 -5
  112. package/fesm2022/mesgflow-ui-kit-select.mjs.map +1 -1
  113. package/fesm2022/mesgflow-ui-kit-sidebar.mjs +24 -21
  114. package/fesm2022/mesgflow-ui-kit-sidebar.mjs.map +1 -1
  115. package/fesm2022/mesgflow-ui-kit-skeleton.mjs +6 -5
  116. package/fesm2022/mesgflow-ui-kit-skeleton.mjs.map +1 -1
  117. package/fesm2022/mesgflow-ui-kit-slider.mjs +253 -6
  118. package/fesm2022/mesgflow-ui-kit-slider.mjs.map +1 -1
  119. package/fesm2022/mesgflow-ui-kit-sortable.mjs +526 -0
  120. package/fesm2022/mesgflow-ui-kit-sortable.mjs.map +1 -0
  121. package/fesm2022/mesgflow-ui-kit-spinner.mjs +44 -15
  122. package/fesm2022/mesgflow-ui-kit-spinner.mjs.map +1 -1
  123. package/fesm2022/mesgflow-ui-kit-split-button.mjs +205 -0
  124. package/fesm2022/mesgflow-ui-kit-split-button.mjs.map +1 -0
  125. package/fesm2022/mesgflow-ui-kit-splitter.mjs +213 -6
  126. package/fesm2022/mesgflow-ui-kit-splitter.mjs.map +1 -1
  127. package/fesm2022/mesgflow-ui-kit-stat-tile.mjs +13 -6
  128. package/fesm2022/mesgflow-ui-kit-stat-tile.mjs.map +1 -1
  129. package/fesm2022/mesgflow-ui-kit-stepper.mjs +171 -64
  130. package/fesm2022/mesgflow-ui-kit-stepper.mjs.map +1 -1
  131. package/fesm2022/mesgflow-ui-kit-switch.mjs +4 -4
  132. package/fesm2022/mesgflow-ui-kit-switch.mjs.map +1 -1
  133. package/fesm2022/mesgflow-ui-kit-table.mjs +34 -28
  134. package/fesm2022/mesgflow-ui-kit-table.mjs.map +1 -1
  135. package/fesm2022/mesgflow-ui-kit-tabs.mjs +421 -180
  136. package/fesm2022/mesgflow-ui-kit-tabs.mjs.map +1 -1
  137. package/fesm2022/mesgflow-ui-kit-tag-input.mjs +9 -4
  138. package/fesm2022/mesgflow-ui-kit-tag-input.mjs.map +1 -1
  139. package/fesm2022/mesgflow-ui-kit-theme-switcher.mjs +3 -3
  140. package/fesm2022/mesgflow-ui-kit-theming.mjs +7 -7
  141. package/fesm2022/mesgflow-ui-kit-theming.mjs.map +1 -1
  142. package/fesm2022/mesgflow-ui-kit-time-picker.mjs +6 -6
  143. package/fesm2022/mesgflow-ui-kit-time-picker.mjs.map +1 -1
  144. package/fesm2022/mesgflow-ui-kit-timeline.mjs +3 -3
  145. package/fesm2022/mesgflow-ui-kit-toast.mjs +118 -35
  146. package/fesm2022/mesgflow-ui-kit-toast.mjs.map +1 -1
  147. package/fesm2022/mesgflow-ui-kit-toggle.mjs +12 -11
  148. package/fesm2022/mesgflow-ui-kit-toggle.mjs.map +1 -1
  149. package/fesm2022/mesgflow-ui-kit-toolbar.mjs +13 -11
  150. package/fesm2022/mesgflow-ui-kit-toolbar.mjs.map +1 -1
  151. package/fesm2022/mesgflow-ui-kit-tooltip.mjs +76 -53
  152. package/fesm2022/mesgflow-ui-kit-tooltip.mjs.map +1 -1
  153. package/fesm2022/mesgflow-ui-kit-tour.mjs +17 -29
  154. package/fesm2022/mesgflow-ui-kit-tour.mjs.map +1 -1
  155. package/fesm2022/mesgflow-ui-kit-transfer-list.mjs +288 -0
  156. package/fesm2022/mesgflow-ui-kit-transfer-list.mjs.map +1 -0
  157. package/fesm2022/mesgflow-ui-kit-tree-select.mjs +3 -3
  158. package/fesm2022/mesgflow-ui-kit-tree.mjs +4 -4
  159. package/fesm2022/mesgflow-ui-kit-tree.mjs.map +1 -1
  160. package/fesm2022/mesgflow-ui-kit-virtual-list.mjs +109 -0
  161. package/fesm2022/mesgflow-ui-kit-virtual-list.mjs.map +1 -0
  162. package/fesm2022/mesgflow-ui-kit.mjs +93 -12836
  163. package/fesm2022/mesgflow-ui-kit.mjs.map +1 -1
  164. package/package.json +91 -3
  165. package/schematics/collection.json +10 -0
  166. package/schematics/migration.json +10 -0
  167. package/schematics/migrations/v0-7.cjs +70 -0
  168. package/schematics/ng-add/index.cjs +234 -0
  169. package/schematics/ng-add/schema.json +43 -0
  170. package/tokens/color.css +96 -0
  171. package/tokens/controls.css +145 -0
  172. package/tokens/elevation.css +62 -6
  173. package/tokens/motion.css +304 -66
  174. package/tokens/radius.css +14 -0
  175. package/tokens.css +1 -0
  176. package/tokens.json +1583 -0
  177. package/types/mesgflow-ui-kit-agenda.d.ts +49 -0
  178. package/types/mesgflow-ui-kit-aspect-ratio.d.ts +18 -0
  179. package/types/mesgflow-ui-kit-blocks.d.ts +128 -0
  180. package/types/mesgflow-ui-kit-button.d.ts +23 -38
  181. package/types/mesgflow-ui-kit-card.d.ts +26 -16
  182. package/types/mesgflow-ui-kit-carousel.d.ts +51 -0
  183. package/types/mesgflow-ui-kit-checkbox.d.ts +8 -5
  184. package/types/mesgflow-ui-kit-code-block.d.ts +4 -1
  185. package/types/mesgflow-ui-kit-combobox.d.ts +47 -22
  186. package/types/mesgflow-ui-kit-command.d.ts +2 -2
  187. package/types/mesgflow-ui-kit-core.d.ts +279 -21
  188. package/types/mesgflow-ui-kit-countdown.d.ts +47 -0
  189. package/types/mesgflow-ui-kit-date-picker.d.ts +31 -1
  190. package/types/mesgflow-ui-kit-dialog.d.ts +122 -14
  191. package/types/mesgflow-ui-kit-drawer.d.ts +45 -0
  192. package/types/mesgflow-ui-kit-field.d.ts +17 -8
  193. package/types/mesgflow-ui-kit-file-upload.d.ts +64 -0
  194. package/types/mesgflow-ui-kit-hover-card.d.ts +2 -2
  195. package/types/mesgflow-ui-kit-icons-lucide.d.ts +27 -0
  196. package/types/mesgflow-ui-kit-inline-edit.d.ts +42 -0
  197. package/types/mesgflow-ui-kit-input.d.ts +64 -2
  198. package/types/mesgflow-ui-kit-lightbox.d.ts +54 -0
  199. package/types/mesgflow-ui-kit-listbox.d.ts +30 -0
  200. package/types/mesgflow-ui-kit-mention.d.ts +59 -0
  201. package/types/mesgflow-ui-kit-menu.d.ts +41 -2
  202. package/types/mesgflow-ui-kit-nav-menu.d.ts +58 -0
  203. package/types/mesgflow-ui-kit-notification-center.d.ts +41 -0
  204. package/types/mesgflow-ui-kit-number-input.d.ts +3 -1
  205. package/types/mesgflow-ui-kit-password-input.d.ts +35 -5
  206. package/types/mesgflow-ui-kit-popover.d.ts +13 -5
  207. package/types/mesgflow-ui-kit-progress.d.ts +33 -12
  208. package/types/mesgflow-ui-kit-qr-code.d.ts +160 -0
  209. package/types/mesgflow-ui-kit-radio.d.ts +2 -2
  210. package/types/mesgflow-ui-kit-search-input.d.ts +3 -1
  211. package/types/mesgflow-ui-kit-segmented-control.d.ts +4 -0
  212. package/types/mesgflow-ui-kit-sidebar.d.ts +1 -1
  213. package/types/mesgflow-ui-kit-slider.d.ts +60 -1
  214. package/types/mesgflow-ui-kit-sortable.d.ts +103 -0
  215. package/types/mesgflow-ui-kit-spinner.d.ts +5 -8
  216. package/types/mesgflow-ui-kit-split-button.d.ts +47 -0
  217. package/types/mesgflow-ui-kit-splitter.d.ts +64 -1
  218. package/types/mesgflow-ui-kit-stat-tile.d.ts +3 -0
  219. package/types/mesgflow-ui-kit-stepper.d.ts +54 -32
  220. package/types/mesgflow-ui-kit-table.d.ts +2 -0
  221. package/types/mesgflow-ui-kit-tabs.d.ts +193 -93
  222. package/types/mesgflow-ui-kit-tag-input.d.ts +3 -1
  223. package/types/mesgflow-ui-kit-toast.d.ts +48 -22
  224. package/types/mesgflow-ui-kit-tooltip.d.ts +15 -12
  225. package/types/mesgflow-ui-kit-transfer-list.d.ts +34 -0
  226. package/types/mesgflow-ui-kit-virtual-list.d.ts +35 -0
  227. package/types/mesgflow-ui-kit.d.ts +88 -5444
@@ -1,10 +1,11 @@
1
1
  import { ClassValue } from 'clsx';
2
2
  import { ConnectedPosition } from '@angular/cdk/overlay';
3
- import * as _mesgflow_ui_kit_core from '@mesgflow/ui-kit/core';
3
+ import * as _angular_core from '@angular/core';
4
4
  import { InjectionToken, Signal, EnvironmentProviders } from '@angular/core';
5
+ import * as _mesgflow_ui_kit_core from '@mesgflow/ui-kit/core';
5
6
  import { Locale } from 'date-fns/locale';
6
7
 
7
- /** clsx ile koşullu class'ları birleştirir, tailwind-merge ile çakışan utility'leri (ör. iki farklı `bg-*`) sonuncusu kazanacak şekilde çözer. */
8
+ /** clsx ile koşullu class'ları birleştirir, tailwind-merge ile çakışan utility'leri (ör. iki farklı `bg-*`) sonuncusu kazanacak şekilde çözer — kitin özel token'ları dahil. */
8
9
  declare function cn(...inputs: ClassValue[]): string;
9
10
 
10
11
  /**
@@ -22,13 +23,17 @@ declare function scrollFromInlineStart(el: Element): number;
22
23
 
23
24
  /**
24
25
  * Kit genelinde paylaşılan primitif tipler — her bileşenin kendi `size`/`tone`
25
- * union'ını elle tekrar tanımlamak yerine buradan türetir. Bkz. plan dosyası
26
- * "Faz 1a" — `tone` kelime dağarcığının (severity/tone/type karmaşasının)
27
- * birleştiği tek kaynak burası olacak.
26
+ * union'ını elle tekrar tanımlamak yerine buradan türetir.
28
27
  */
29
28
  type MfSize = 'sm' | 'md' | 'lg';
29
+ /**
30
+ * Genişletilmiş kontrol ölçeği — `xs` (yoğun tablo/araç çubuğu) ve `xl`
31
+ * (hero/pazarlama CTA). Yalnızca bu uçları GERÇEKTEN destekleyen bileşenler
32
+ * (Button, Input) kullanır; diğerleri `MfSize`'da kalır.
33
+ */
34
+ type MfControlSize = 'xs' | MfSize | 'xl';
30
35
  type MfTone = 'neutral' | 'primary' | 'success' | 'warning' | 'danger' | 'info' | 'help';
31
- type MfPlacement = 'top' | 'bottom' | 'left' | 'right' | 'bottom-start' | 'bottom-end' | 'top-start' | 'top-end';
36
+ type MfPlacement = 'top' | 'bottom' | 'left' | 'right' | 'bottom-start' | 'bottom-end' | 'top-start' | 'top-end' | 'left-start' | 'left-end' | 'right-start' | 'right-end';
32
37
 
33
38
  /**
34
39
  * Paylaşılan class reçeteleri — kontrol/overlay/kapsayıcı bileşenlerinin
@@ -46,7 +51,7 @@ declare const disabledRecipe = "disabled:pointer-events-none disabled:opacity-50
46
51
  /** Input/Select/Combobox/NumberInput/... — tüm form kontrollerinin ortak kabuğu. `shadow-control` (bkz. elevation.css) — `shadow-1` DEĞİL, kontroller kapsayıcılarla AYNI yükselti basamağını paylaşmaz. */
47
52
  declare const controlSurface = "rounded-md border border-border bg-surface text-fg shadow-control transition-colors duration-fast ease-emphasis hover:border-border-strong focus-within:border-accent";
48
53
  /** `size: MfSize` eksenindeki TÜM kontrollerin ortak yükseklik/dolgu/font eşlemesi — bkz. `radius.css`'teki `--control-h-*` token'ları. */
49
- declare const controlSize: Record<MfSize, string>;
54
+ declare const controlSize: Record<MfControlSize, string>;
50
55
  /**
51
56
  * Popover/Menu/Select/Combobox/... overlay panellerinin ortak kabuğu — BORDER-
52
57
  * FIRST (2026-09 Deep Emerald geçişi, kullanıcı kararıyla eski "light modda
@@ -111,19 +116,78 @@ declare abstract class ValueAccessorBase<T> {
111
116
  }
112
117
 
113
118
  /**
114
- * `Popover`'ın (`PLACEMENTS`) ve `Tooltip`'in (`POSITIONS`) kendi dosyalarında
115
- * ayrı ayrı tuttuğu CDK `ConnectedPosition[]` çiftlerinin ORTAK geometri
116
- * üretici hâli — 8 yerleşimin (4 köşe + 4 kenar) hepsini tek bir fonksiyonla
117
- * üretir, `offset` çağıranın KENDİ mevcut değerini (Popover 4px, Tooltip 8px,
118
- * diğer overlay'ler 4-8px arası değişen) korumasını sağlar.
119
+ * Tüm bağlı overlay'lerin (Popover, Tooltip, HoverCard, Tour, ContextMenu ve
120
+ * Popover üstüne kurulan Select/Combobox/DatePicker/...) TEK konum üreticisi:
121
+ * tercih edilen yerleşim + taşmada karşı tarafa çevrilen (flip) yedek.
119
122
  *
120
- * Bu modül BİLEREK henüz hiçbir bileşene BAĞLANMADI (Faz 0c) — `Popover`,
121
- * `Tooltip` ve 10 kopya `ConnectedPosition[]` içeren diğer bileşenlerin buna
122
- * geçişi Faz 1c'nin ("Overlay birleştirme") kapsamı: her biri kendi klavye/
123
- * vurgu mantığını koruyarak taşınmalı ve tarayıcıda tek tek doğrulanmalı —
124
- * bu fazın (yapısal taşıma) riskiyle karıştırılmamalı.
123
+ * Her pozisyon bir `panelClass` taşır — CDK hangisini SEÇERSE pane'e o
124
+ * eklenir: `mf-side-*` (giriş kayma yönü) + `mf-origin-*` (`transform-origin`),
125
+ * bkz. styles/tokens/motion.css. Böylece panel yukarı çevrildiğinde (flip) animasyon
126
+ * da tetikleyiciden dışarı doğru açılır (Radix
127
+ * `--radix-popper-transform-origin` eşleniği, abonelik gerekmeden).
128
+ *
129
+ * `left`/`right` MANTIKSAL (`start`/`end`) — RTL'de CDK kendisi çevirir.
125
130
  */
126
131
  declare function overlayPositions(placement: MfPlacement, offset?: number): ConnectedPosition[];
132
+ /**
133
+ * İmleç konumuna açılan paneller (ContextMenu) — köşe tetikleyiciye yapışık,
134
+ * dört çeyrekte flip; origin her zaman imlece bakan köşe.
135
+ */
136
+ declare function pointerPositions(): ConnectedPosition[];
137
+
138
+ /** `prefers-reduced-motion: reduce` — SSR/jsdom'da (matchMedia yok) `false`. */
139
+ declare function prefersReducedMotion(): boolean;
140
+ /** CSS süre string'ini (`120ms`, `0.2s`) milisaniyeye çevirir; çözülemezse `null`. */
141
+ declare function parseCssDuration(raw: string): number | null;
142
+ /**
143
+ * Overlay/dialog/toast çıkış animasyonunun süresi — `--mf-duration-exit`
144
+ * (styles/tokens/motion.css) TEK kaynak. Eskiden `dialog.service.ts`,
145
+ * `popover.ts`, `toast.service.ts` her biri `EXIT_MS = 120` sabitini CSS'le
146
+ * ELLE eşitliyordu; token değişince JS kısa kalıp panel animasyonun ortasında
147
+ * kopuyordu. Reduced-motion'da `0` (panel anında kaldırılır).
148
+ */
149
+ declare function exitDurationMs(): number;
150
+
151
+ type SlidingIndicatorAxis = 'x' | 'y';
152
+ /**
153
+ * `<span mfSlidingIndicator [track]="selected()" class="-bottom-px h-0.5 bg-accent-fill"></span>`
154
+ *
155
+ * Kitin ortak "kayan gösterge" motoru — Tabs'ın çizgisi/hapı, SegmentedControl'ün
156
+ * parçası, TabNav'ın çizgisi ve hover-izleme vurgusu AYNI hareketi paylaşsın diye.
157
+ * Kapsayıcı (varsayılan `parentElement`, `relative` olmalı) içinde `target`'ı
158
+ * bulur, onun `offsetLeft/offsetWidth`'ine (x) ya da `offsetTop/offsetHeight`'ına
159
+ * (y) göre `transform` + boyut yazar.
160
+ *
161
+ * - **Hareket:** hedef bir öğeden BAŞKA bir öğeye geçince yay eğrisiyle kayar
162
+ * (`ease-spring`, `duration-slow`). İlk görünüm, hedefin yeniden belirmesi ve
163
+ * yeniden boyutlanma (ResizeObserver, font yüklenmesi) ANINDA — göstergenin
164
+ * 0'dan "uçarak" gelmesi olmaz. Opaklık her zaman yumuşak geçer.
165
+ * - **Çapraz eksen** tüketicinin sınıfıdır (`-bottom-px h-0.5`, `inset-y-0`…);
166
+ * motor yalnız ana ekseni yazar.
167
+ * - **RTL:** `left-0` + `offsetLeft` + `translateX` üçü de fiziksel — birlikte
168
+ * RTL'de doğru (bkz. scripts/rtl-rules.mjs allowlist).
169
+ * - `target` `null` ise gösterge son konumunda solar (hover bitişi).
170
+ * - Azaltılmış harekette `motion.css`'in global anahtarı geçişleri sıfırlar.
171
+ */
172
+ declare class SlidingIndicator {
173
+ readonly axis: _angular_core.InputSignal<SlidingIndicatorAxis>;
174
+ /** Kapsayıcı içinde çözülen CSS seçici, somut bir öğe ya da `null` (gizli). */
175
+ readonly target: _angular_core.InputSignal<string | HTMLElement | null>;
176
+ /** Herhangi bir değer — değişince (ör. seçim sinyali) hedef yeniden ölçülür. */
177
+ readonly track: _angular_core.InputSignal<unknown>;
178
+ /** Ölçüm kapsayıcısı; varsayılan `parentElement` (offsetParent olmalı). */
179
+ readonly container: _angular_core.InputSignal<HTMLElement | undefined>;
180
+ private readonly el;
181
+ private current;
182
+ constructor();
183
+ /** Dışarıdan yeniden ölçüm (ör. içerik değişti ama seçim değişmedi). */
184
+ refresh(animate?: boolean): void;
185
+ private box;
186
+ private resolve;
187
+ private update;
188
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<SlidingIndicator, never>;
189
+ static ɵdir: _angular_core.ɵɵDirectiveDeclaration<SlidingIndicator, "[mfSlidingIndicator]", ["mfSlidingIndicator"], { "axis": { "alias": "axis"; "required": false; "isSignal": true; }; "target": { "alias": "target"; "required": false; "isSignal": true; }; "track": { "alias": "track"; "required": false; "isSignal": true; }; "container": { "alias": "container"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
190
+ }
127
191
 
128
192
  /**
129
193
  * Kitin TÜM metinlerinin TEK şekli — `MF_LABELS` injection token'ının taşıdığı
@@ -171,6 +235,9 @@ interface MfDatePickerLabels {
171
235
  presetLast7: string;
172
236
  presetLast30: string;
173
237
  presetThisMonth: string;
238
+ /** DateTimePicker alt alanlarının adları. */
239
+ date: string;
240
+ time: string;
174
241
  }
175
242
  interface MfTimePickerLabels {
176
243
  placeholder: string;
@@ -283,6 +350,10 @@ interface MfBoxInputLabels {
283
350
  interface MfComboboxLabels {
284
351
  placeholder: string;
285
352
  noResults: string;
353
+ /** `creatable` satırı — `{query}` yazılan metinle değiştirilir. */
354
+ create: string;
355
+ /** Çoklu seçimde çip kaldırma düğmesi — `{label}` seçenek adıyla değiştirilir. */
356
+ remove: string;
286
357
  }
287
358
  interface MfSelectLabels {
288
359
  placeholder: string;
@@ -300,6 +371,11 @@ interface MfOtpInputLabels {
300
371
  }
301
372
  interface MfStepperLabels {
302
373
  ariaLabel: string;
374
+ /** İsteğe bağlı adım etiketi. */
375
+ optional: string;
376
+ /** Ekran okuyucu için adım durumu (ikon yalnızca görsel). */
377
+ completed: string;
378
+ error: string;
303
379
  }
304
380
  interface MfProgressLabels {
305
381
  ariaLabel: string;
@@ -308,6 +384,12 @@ interface MfPasswordInputLabels {
308
384
  show: string;
309
385
  hide: string;
310
386
  }
387
+ interface MfQrCodeLabels {
388
+ /** `role="img"` için varsayılan erişilebilir ad. */
389
+ ariaLabel: string;
390
+ /** İçerik seçilen hata düzeltme seviyesiyle sığmadığında. */
391
+ error: string;
392
+ }
311
393
  interface MfChipLabels {
312
394
  remove: string;
313
395
  }
@@ -385,6 +467,148 @@ interface MfChartLabels {
385
467
  showChart: string;
386
468
  category: string;
387
469
  }
470
+ /** StatTile değişim yönünün ekran okuyucu metni (ikon yalnızca görsel). */
471
+ interface MfStatTileLabels {
472
+ increase: string;
473
+ decrease: string;
474
+ noChange: string;
475
+ }
476
+ /** RangeSlider tutamaçlarının erişilebilir adları. */
477
+ interface MfSliderLabels {
478
+ minThumb: string;
479
+ maxThumb: string;
480
+ }
481
+ interface MfSplitButtonLabels {
482
+ /** Menü (▾) düğmesinin erişilebilir adı. */
483
+ moreActions: string;
484
+ }
485
+ interface MfFileUploadLabels {
486
+ uploading: string;
487
+ done: string;
488
+ failed: string;
489
+ queued: string;
490
+ retry: string;
491
+ cancel: string;
492
+ remove: string;
493
+ /** Liste başlığı — `{count}` dosya sayısıyla değiştirilir. */
494
+ files: string;
495
+ }
496
+ /**
497
+ * Sıralanabilir liste/Kanban klavye duyuruları. Yer tutucular: `{item}`,
498
+ * `{position}`, `{total}`, `{column}`.
499
+ */
500
+ interface MfSortableLabels {
501
+ instructions: string;
502
+ grabbed: string;
503
+ moved: string;
504
+ movedToColumn: string;
505
+ dropped: string;
506
+ cancelled: string;
507
+ dragHandle: string;
508
+ /** Kanban kartının `aria-roledescription`'ı. */
509
+ card: string;
510
+ }
511
+ interface MfCountdownLabels {
512
+ days: string;
513
+ hours: string;
514
+ minutes: string;
515
+ seconds: string;
516
+ /** Ekran okuyucu özeti — `{time}` kalan süre metniyle değiştirilir. */
517
+ remaining: string;
518
+ finished: string;
519
+ }
520
+ interface MfCarouselLabels {
521
+ previous: string;
522
+ next: string;
523
+ /** `{index}` / `{total}` */
524
+ slide: string;
525
+ pause: string;
526
+ play: string;
527
+ /** Nokta düğmeleri — `{index}` */
528
+ goTo: string;
529
+ carousel: string;
530
+ }
531
+ interface MfInlineEditLabels {
532
+ edit: string;
533
+ save: string;
534
+ cancel: string;
535
+ empty: string;
536
+ }
537
+ interface MfTransferListLabels {
538
+ available: string;
539
+ selected: string;
540
+ moveRight: string;
541
+ moveLeft: string;
542
+ moveAllRight: string;
543
+ moveAllLeft: string;
544
+ search: string;
545
+ /** `{selected}` / `{total}` */
546
+ count: string;
547
+ empty: string;
548
+ }
549
+ interface MfLightboxLabels {
550
+ close: string;
551
+ previous: string;
552
+ next: string;
553
+ zoomIn: string;
554
+ zoomOut: string;
555
+ /** `{index}` / `{total}` */
556
+ counter: string;
557
+ gallery: string;
558
+ }
559
+ interface MfNotificationCenterLabels {
560
+ title: string;
561
+ markAllRead: string;
562
+ empty: string;
563
+ emptyDescription: string;
564
+ unread: string;
565
+ /** Tetikleyici adı — `{count}` okunmamış sayısı. */
566
+ trigger: string;
567
+ viewAll: string;
568
+ }
569
+ interface MfAgendaLabels {
570
+ allDay: string;
571
+ empty: string;
572
+ today: string;
573
+ tomorrow: string;
574
+ }
575
+ interface MfMentionLabels {
576
+ suggestions: string;
577
+ noResults: string;
578
+ }
579
+ interface MfAuthCardLabels {
580
+ title: string;
581
+ description: string;
582
+ email: string;
583
+ emailPlaceholder: string;
584
+ password: string;
585
+ forgotPassword: string;
586
+ remember: string;
587
+ submit: string;
588
+ /** Sağlayıcı düğmeleriyle e-posta formu arasındaki ayırıcı. */
589
+ divider: string;
590
+ noAccount: string;
591
+ signUp: string;
592
+ emailRequired: string;
593
+ emailInvalid: string;
594
+ passwordRequired: string;
595
+ errorTitle: string;
596
+ }
597
+ interface MfInviteMembersLabels {
598
+ title: string;
599
+ description: string;
600
+ emails: string;
601
+ emailsPlaceholder: string;
602
+ role: string;
603
+ submit: string;
604
+ /** `{emails}` — geçersiz adresler virgülle. */
605
+ invalidEmails: string;
606
+ emailsRequired: string;
607
+ }
608
+ interface MfPanelGroupLabels {
609
+ /** Ayırıcı adı — `{index}` */
610
+ resize: string;
611
+ }
388
612
  interface MfLabels {
389
613
  common: MfCommonLabels;
390
614
  dialog: MfDialogLabels;
@@ -404,6 +628,7 @@ interface MfLabels {
404
628
  stepper: MfStepperLabels;
405
629
  progress: MfProgressLabels;
406
630
  passwordInput: MfPasswordInputLabels;
631
+ qrCode: MfQrCodeLabels;
407
632
  chip: MfChipLabels;
408
633
  alert: MfAlertLabels;
409
634
  breadcrumb: MfBreadcrumbLabels;
@@ -417,6 +642,22 @@ interface MfLabels {
417
642
  rating: MfRatingLabels;
418
643
  themeSwitcher: MfThemeSwitcherLabels;
419
644
  treeSelect: MfTreeSelectLabels;
645
+ statTile: MfStatTileLabels;
646
+ slider: MfSliderLabels;
647
+ splitButton: MfSplitButtonLabels;
648
+ fileUpload: MfFileUploadLabels;
649
+ sortable: MfSortableLabels;
650
+ countdown: MfCountdownLabels;
651
+ carousel: MfCarouselLabels;
652
+ inlineEdit: MfInlineEditLabels;
653
+ transferList: MfTransferListLabels;
654
+ lightbox: MfLightboxLabels;
655
+ notificationCenter: MfNotificationCenterLabels;
656
+ agenda: MfAgendaLabels;
657
+ mention: MfMentionLabels;
658
+ panelGroup: MfPanelGroupLabels;
659
+ authCard: MfAuthCardLabels;
660
+ inviteMembers: MfInviteMembersLabels;
420
661
  }
421
662
  /** `provideMesgflowUi({ labels })`'ın kabul ettiği şekil — her alt-alan opsiyonel, verilmeyen her yaprak `mfLabelsEn`'den gelir. */
422
663
  type DeepPartial<T> = T extends object ? {
@@ -462,6 +703,7 @@ declare const MF_OTP_INPUT_LABELS: InjectionToken<Signal<_mesgflow_ui_kit_core.M
462
703
  declare const MF_STEPPER_LABELS: InjectionToken<Signal<_mesgflow_ui_kit_core.MfStepperLabels>>;
463
704
  declare const MF_PROGRESS_LABELS: InjectionToken<Signal<_mesgflow_ui_kit_core.MfProgressLabels>>;
464
705
  declare const MF_PASSWORD_INPUT_LABELS: InjectionToken<Signal<_mesgflow_ui_kit_core.MfPasswordInputLabels>>;
706
+ declare const MF_QR_CODE_LABELS: InjectionToken<Signal<_mesgflow_ui_kit_core.MfQrCodeLabels>>;
465
707
  declare const MF_CHIP_LABELS: InjectionToken<Signal<_mesgflow_ui_kit_core.MfChipLabels>>;
466
708
  declare const MF_ALERT_LABELS: InjectionToken<Signal<_mesgflow_ui_kit_core.MfAlertLabels>>;
467
709
  declare const MF_BREADCRUMB_LABELS: InjectionToken<Signal<_mesgflow_ui_kit_core.MfBreadcrumbLabels>>;
@@ -475,6 +717,22 @@ declare const MF_TOUR_LABELS: InjectionToken<Signal<_mesgflow_ui_kit_core.MfTour
475
717
  declare const MF_RATING_LABELS: InjectionToken<Signal<_mesgflow_ui_kit_core.MfRatingLabels>>;
476
718
  declare const MF_THEME_SWITCHER_LABELS: InjectionToken<Signal<_mesgflow_ui_kit_core.MfThemeSwitcherLabels>>;
477
719
  declare const MF_TREE_SELECT_LABELS: InjectionToken<Signal<_mesgflow_ui_kit_core.MfTreeSelectLabels>>;
720
+ declare const MF_STAT_TILE_LABELS: InjectionToken<Signal<_mesgflow_ui_kit_core.MfStatTileLabels>>;
721
+ declare const MF_SLIDER_LABELS: InjectionToken<Signal<_mesgflow_ui_kit_core.MfSliderLabels>>;
722
+ declare const MF_SPLIT_BUTTON_LABELS: InjectionToken<Signal<_mesgflow_ui_kit_core.MfSplitButtonLabels>>;
723
+ declare const MF_FILE_UPLOAD_LABELS: InjectionToken<Signal<_mesgflow_ui_kit_core.MfFileUploadLabels>>;
724
+ declare const MF_SORTABLE_LABELS: InjectionToken<Signal<_mesgflow_ui_kit_core.MfSortableLabels>>;
725
+ declare const MF_COUNTDOWN_LABELS: InjectionToken<Signal<_mesgflow_ui_kit_core.MfCountdownLabels>>;
726
+ declare const MF_CAROUSEL_LABELS: InjectionToken<Signal<_mesgflow_ui_kit_core.MfCarouselLabels>>;
727
+ declare const MF_INLINE_EDIT_LABELS: InjectionToken<Signal<_mesgflow_ui_kit_core.MfInlineEditLabels>>;
728
+ declare const MF_TRANSFER_LIST_LABELS: InjectionToken<Signal<_mesgflow_ui_kit_core.MfTransferListLabels>>;
729
+ declare const MF_LIGHTBOX_LABELS: InjectionToken<Signal<_mesgflow_ui_kit_core.MfLightboxLabels>>;
730
+ declare const MF_NOTIFICATION_CENTER_LABELS: InjectionToken<Signal<_mesgflow_ui_kit_core.MfNotificationCenterLabels>>;
731
+ declare const MF_AGENDA_LABELS: InjectionToken<Signal<_mesgflow_ui_kit_core.MfAgendaLabels>>;
732
+ declare const MF_MENTION_LABELS: InjectionToken<Signal<_mesgflow_ui_kit_core.MfMentionLabels>>;
733
+ declare const MF_PANEL_GROUP_LABELS: InjectionToken<Signal<_mesgflow_ui_kit_core.MfPanelGroupLabels>>;
734
+ declare const MF_AUTH_CARD_LABELS: InjectionToken<Signal<_mesgflow_ui_kit_core.MfAuthCardLabels>>;
735
+ declare const MF_INVITE_MEMBERS_LABELS: InjectionToken<Signal<_mesgflow_ui_kit_core.MfInviteMembersLabels>>;
478
736
 
479
737
  interface ProvideMesgflowUiOptions {
480
738
  /**
@@ -485,8 +743,8 @@ interface ProvideMesgflowUiOptions {
485
743
  * `MfLabels` nesnesi sağlamak ZORUNLU değil.
486
744
  */
487
745
  labels?: DeepPartial<MfLabels> | Signal<DeepPartial<MfLabels>>;
488
- /** Calendar/DatePicker ay/gün adları — varsayılan `date-fns/locale`'in `enUS`'u. */
489
- dateLocale?: Locale;
746
+ /** Calendar/DatePicker ay/gün adları — varsayılan `date-fns/locale`'in `enUS`'u. Dil değişince canlı güncellenmesi için bir `Signal` da verilebilir. */
747
+ dateLocale?: Locale | Signal<Locale>;
490
748
  }
491
749
  /**
492
750
  * `app.config.ts`'in `providers` dizisine eklenir — `MF_LABELS`/`MF_DATE_LOCALE`'ı
@@ -504,5 +762,5 @@ interface ProvideMesgflowUiOptions {
504
762
  */
505
763
  declare function provideMesgflowUi(options?: ProvideMesgflowUiOptions): EnvironmentProviders;
506
764
 
507
- export { MF_ALERT_LABELS, MF_AVATAR_GROUP_LABELS, MF_BOX_INPUT_LABELS, MF_BREADCRUMB_LABELS, MF_CHARACTER_COUNT_LABELS, MF_CHART_LABELS, MF_CHIP_LABELS, MF_COLOR_PICKER_LABELS, MF_COMBOBOX_LABELS, MF_COMMAND_LABELS, MF_COMMON_LABELS, MF_COPY_LABELS, MF_DATE_LOCALE, MF_DATE_PICKER_LABELS, MF_DIALOG_LABELS, MF_DROPZONE_LABELS, MF_LABELS, MF_OTP_INPUT_LABELS, MF_PAGINATION_LABELS, MF_PASSWORD_INPUT_LABELS, MF_PROGRESS_LABELS, MF_RATING_LABELS, MF_SEARCH_INPUT_LABELS, MF_SELECT_LABELS, MF_SIDEBAR_LABELS, MF_STEPPER_LABELS, MF_TABLE_LABELS, MF_TABS_LABELS, MF_THEME_SWITCHER_LABELS, MF_TIME_PICKER_LABELS, MF_TOAST_LABELS, MF_TOUR_LABELS, MF_TREE_SELECT_LABELS, ValueAccessorBase, cn, containerSurface, controlSize, controlSurface, disabledRecipe, errorRecipe, focusRecipe, glassSurface, inlineStartRatio, isRtl, mergeLabels, mfLabelsEn, nextId, overlayPositions, overlaySurface, pressRecipe, provideMesgflowUi, scrollFromInlineStart, transitionRecipe };
508
- export type { DeepPartial, MfAlertLabels, MfAvatarGroupLabels, MfBoxInputLabels, MfBreadcrumbLabels, MfCharacterCountLabels, MfChartLabels, MfChipLabels, MfColorPickerLabels, MfComboboxLabels, MfCommandLabels, MfCommonLabels, MfCopyLabels, MfDatePickerLabels, MfDialogLabels, MfDropzoneLabels, MfLabels, MfOtpInputLabels, MfPaginationLabels, MfPasswordInputLabels, MfPlacement, MfProgressLabels, MfRatingLabels, MfSearchInputLabels, MfSelectLabels, MfSidebarLabels, MfSize, MfStepperLabels, MfTableFilterLabels, MfTableFilterOperatorLabels, MfTableLabels, MfTablePaginationLabels, MfTabsLabels, MfThemeSwitcherLabels, MfTimePickerLabels, MfToastLabels, MfTone, MfTourLabels, MfTreeSelectLabels, ProvideMesgflowUiOptions };
765
+ export { MF_AGENDA_LABELS, MF_ALERT_LABELS, MF_AUTH_CARD_LABELS, MF_AVATAR_GROUP_LABELS, MF_BOX_INPUT_LABELS, MF_BREADCRUMB_LABELS, MF_CAROUSEL_LABELS, MF_CHARACTER_COUNT_LABELS, MF_CHART_LABELS, MF_CHIP_LABELS, MF_COLOR_PICKER_LABELS, MF_COMBOBOX_LABELS, MF_COMMAND_LABELS, MF_COMMON_LABELS, MF_COPY_LABELS, MF_COUNTDOWN_LABELS, MF_DATE_LOCALE, MF_DATE_PICKER_LABELS, MF_DIALOG_LABELS, MF_DROPZONE_LABELS, MF_FILE_UPLOAD_LABELS, MF_INLINE_EDIT_LABELS, MF_INVITE_MEMBERS_LABELS, MF_LABELS, MF_LIGHTBOX_LABELS, MF_MENTION_LABELS, MF_NOTIFICATION_CENTER_LABELS, MF_OTP_INPUT_LABELS, MF_PAGINATION_LABELS, MF_PANEL_GROUP_LABELS, MF_PASSWORD_INPUT_LABELS, MF_PROGRESS_LABELS, MF_QR_CODE_LABELS, MF_RATING_LABELS, MF_SEARCH_INPUT_LABELS, MF_SELECT_LABELS, MF_SIDEBAR_LABELS, MF_SLIDER_LABELS, MF_SORTABLE_LABELS, MF_SPLIT_BUTTON_LABELS, MF_STAT_TILE_LABELS, MF_STEPPER_LABELS, MF_TABLE_LABELS, MF_TABS_LABELS, MF_THEME_SWITCHER_LABELS, MF_TIME_PICKER_LABELS, MF_TOAST_LABELS, MF_TOUR_LABELS, MF_TRANSFER_LIST_LABELS, MF_TREE_SELECT_LABELS, SlidingIndicator, ValueAccessorBase, cn, containerSurface, controlSize, controlSurface, disabledRecipe, errorRecipe, exitDurationMs, focusRecipe, glassSurface, inlineStartRatio, isRtl, mergeLabels, mfLabelsEn, nextId, overlayPositions, overlaySurface, parseCssDuration, pointerPositions, prefersReducedMotion, pressRecipe, provideMesgflowUi, scrollFromInlineStart, transitionRecipe };
766
+ export type { DeepPartial, MfAgendaLabels, MfAlertLabels, MfAuthCardLabels, MfAvatarGroupLabels, MfBoxInputLabels, MfBreadcrumbLabels, MfCarouselLabels, MfCharacterCountLabels, MfChartLabels, MfChipLabels, MfColorPickerLabels, MfComboboxLabels, MfCommandLabels, MfCommonLabels, MfControlSize, MfCopyLabels, MfCountdownLabels, MfDatePickerLabels, MfDialogLabels, MfDropzoneLabels, MfFileUploadLabels, MfInlineEditLabels, MfInviteMembersLabels, MfLabels, MfLightboxLabels, MfMentionLabels, MfNotificationCenterLabels, MfOtpInputLabels, MfPaginationLabels, MfPanelGroupLabels, MfPasswordInputLabels, MfPlacement, MfProgressLabels, MfQrCodeLabels, MfRatingLabels, MfSearchInputLabels, MfSelectLabels, MfSidebarLabels, MfSize, MfSliderLabels, MfSortableLabels, MfSplitButtonLabels, MfStatTileLabels, MfStepperLabels, MfTableFilterLabels, MfTableFilterOperatorLabels, MfTableLabels, MfTablePaginationLabels, MfTabsLabels, MfThemeSwitcherLabels, MfTimePickerLabels, MfToastLabels, MfTone, MfTourLabels, MfTransferListLabels, MfTreeSelectLabels, ProvideMesgflowUiOptions, SlidingIndicatorAxis };
@@ -0,0 +1,47 @@
1
+ import * as _angular_core from '@angular/core';
2
+
3
+ interface CountdownParts {
4
+ days: number;
5
+ hours: number;
6
+ minutes: number;
7
+ seconds: number;
8
+ total: number;
9
+ }
10
+ /** Kalan milisaniyeyi gün/saat/dakika/saniye parçalarına böler. */
11
+ declare function countdownParts(ms: number): CountdownParts;
12
+ /**
13
+ * `<mf-countdown [to]="launchAt" (finished)="reveal()" />`
14
+ *
15
+ * Hedef zamana geri sayım — kampanya, açık artırma, oturum süresi.
16
+ * - `appearance="segments"` (varsayılan): kutucuklar; `inline`: tek satır metin.
17
+ * - `role="timer"` + ekran okuyucu özeti yalnızca DAKİKADA bir güncellenir
18
+ * (her saniye duyuru yapılırsa okuyucu susmaz).
19
+ * - Rakamlar `tabular-nums` — saniye değişirken genişlik titremez.
20
+ * - Sıfıra ulaşınca `finished` bir kez yayar.
21
+ */
22
+ declare class Countdown {
23
+ readonly to: _angular_core.InputSignal<number | Date>;
24
+ readonly appearance: _angular_core.InputSignal<"segments" | "inline">;
25
+ /** Gün sıfırsa gün kutusunu gizle. */
26
+ readonly hideEmptyDays: _angular_core.InputSignalWithTransform<boolean, unknown>;
27
+ readonly finished: _angular_core.OutputEmitterRef<void>;
28
+ private readonly labels;
29
+ private readonly now;
30
+ private fired;
31
+ protected readonly parts: _angular_core.Signal<CountdownParts>;
32
+ protected readonly units: _angular_core.Signal<{
33
+ key: string;
34
+ value: number;
35
+ label: string;
36
+ }[]>;
37
+ protected readonly inlineText: _angular_core.Signal<string>;
38
+ /** Dakika çözünürlüğünde özet — her saniye DEĞİŞMEZ. */
39
+ protected readonly summary: _angular_core.Signal<string>;
40
+ constructor();
41
+ protected pad(n: number): string;
42
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<Countdown, never>;
43
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<Countdown, "mf-countdown", ["mfCountdown"], { "to": { "alias": "to"; "required": true; "isSignal": true; }; "appearance": { "alias": "appearance"; "required": false; "isSignal": true; }; "hideEmptyDays": { "alias": "hideEmptyDays"; "required": false; "isSignal": true; }; }, { "finished": "finished"; }, never, never, true, never>;
44
+ }
45
+
46
+ export { Countdown, countdownParts };
47
+ export type { CountdownParts };
@@ -2,6 +2,7 @@ import * as _angular_core from '@angular/core';
2
2
  import { Locale } from 'date-fns';
3
3
  import { MfDatePickerLabels, ValueAccessorBase } from '@mesgflow/ui-kit/core';
4
4
  import { ControlValueAccessor } from '@angular/forms';
5
+ import { TimeValue } from '@mesgflow/ui-kit/time-picker';
5
6
 
6
7
  interface DateRange {
7
8
  start: Date | null;
@@ -211,5 +212,34 @@ declare class DateRangePicker extends ValueAccessorBase<DateRange> implements Co
211
212
  static ɵcmp: _angular_core.ɵɵComponentDeclaration<DateRangePicker, "mf-date-range-picker", ["mfDateRangePicker"], { "value": { "alias": "value"; "required": false; "isSignal": true; }; "min": { "alias": "min"; "required": false; "isSignal": true; }; "max": { "alias": "max"; "required": false; "isSignal": true; }; "locale": { "alias": "locale"; "required": false; "isSignal": true; }; "labels": { "alias": "labels"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "hasError": { "alias": "hasError"; "required": false; "isSignal": true; }; }, { "value": "valueChange"; }, never, never, true, never>;
212
213
  }
213
214
 
214
- export { Calendar, DatePicker, DateRangePicker, buildMonthMatrix, dateRangeForPreset, formatDateInput, isCurrentMonth, isDayDisabled, isSameDay, isWithinRange, parseDateInput, shiftMonth, shiftYear };
215
+ /**
216
+ * `<mf-date-time-picker [(value)]="publishAt" [min]="now" ariaLabel="Yayın zamanı" />`
217
+ *
218
+ * Tarih + saat — TEK bir `Date` değeri. Mevcut `mf-date-picker` ve
219
+ * `mf-time-picker`'ın kompozisyonu (aynı klavye/erişilebilirlik davranışı):
220
+ * - Tarih değişince saat korunur; saat önce seçilirse tarih bugüne yerleşir.
221
+ * - İki alan `role="group"` altında tek bir ad paylaşır.
222
+ * - Reactive Forms / Signal Forms ile `value` üzerinden çalışır.
223
+ */
224
+ declare class DateTimePicker extends ValueAccessorBase<Date | null> implements ControlValueAccessor {
225
+ readonly value: _angular_core.ModelSignal<Date | null>;
226
+ readonly min: _angular_core.InputSignal<Date | null>;
227
+ readonly max: _angular_core.InputSignal<Date | null>;
228
+ readonly minuteStep: _angular_core.InputSignal<number>;
229
+ readonly disabled: _angular_core.InputSignalWithTransform<boolean, unknown>;
230
+ readonly hasError: _angular_core.InputSignalWithTransform<boolean, unknown>;
231
+ readonly ariaLabel: _angular_core.InputSignal<string>;
232
+ private readonly labels;
233
+ protected readonly dateLabel: _angular_core.Signal<string>;
234
+ protected readonly timeLabel: _angular_core.Signal<string>;
235
+ protected readonly time: _angular_core.Signal<TimeValue | null>;
236
+ writeValue(value: Date | null): void;
237
+ protected onDate(date: Date | null): void;
238
+ protected onTime(time: TimeValue | null): void;
239
+ private commit;
240
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<DateTimePicker, never>;
241
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<DateTimePicker, "mf-date-time-picker", ["mfDateTimePicker"], { "value": { "alias": "value"; "required": false; "isSignal": true; }; "min": { "alias": "min"; "required": false; "isSignal": true; }; "max": { "alias": "max"; "required": false; "isSignal": true; }; "minuteStep": { "alias": "minuteStep"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "hasError": { "alias": "hasError"; "required": false; "isSignal": true; }; "ariaLabel": { "alias": "ariaLabel"; "required": false; "isSignal": true; }; }, { "value": "valueChange"; }, never, never, true, never>;
242
+ }
243
+
244
+ export { Calendar, DatePicker, DateRangePicker, DateTimePicker, buildMonthMatrix, dateRangeForPreset, formatDateInput, isCurrentMonth, isDayDisabled, isSameDay, isWithinRange, parseDateInput, shiftMonth, shiftYear };
215
245
  export type { DateRange, DateRangePresetId };