@mesgflow/ui-kit 0.6.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.
- package/LICENSE +21 -0
- package/README.md +200 -0
- package/fesm2022/mesgflow-ui-kit-accordion.mjs +75 -0
- package/fesm2022/mesgflow-ui-kit-accordion.mjs.map +1 -0
- package/fesm2022/mesgflow-ui-kit-alert.mjs +165 -0
- package/fesm2022/mesgflow-ui-kit-alert.mjs.map +1 -0
- package/fesm2022/mesgflow-ui-kit-avatar-group.mjs +88 -0
- package/fesm2022/mesgflow-ui-kit-avatar-group.mjs.map +1 -0
- package/fesm2022/mesgflow-ui-kit-avatar.mjs +123 -0
- package/fesm2022/mesgflow-ui-kit-avatar.mjs.map +1 -0
- package/fesm2022/mesgflow-ui-kit-badge.mjs +68 -0
- package/fesm2022/mesgflow-ui-kit-badge.mjs.map +1 -0
- package/fesm2022/mesgflow-ui-kit-banner.mjs +111 -0
- package/fesm2022/mesgflow-ui-kit-banner.mjs.map +1 -0
- package/fesm2022/mesgflow-ui-kit-box-input.mjs +78 -0
- package/fesm2022/mesgflow-ui-kit-box-input.mjs.map +1 -0
- package/fesm2022/mesgflow-ui-kit-brand.mjs +120 -0
- package/fesm2022/mesgflow-ui-kit-brand.mjs.map +1 -0
- package/fesm2022/mesgflow-ui-kit-breadcrumb.mjs +84 -0
- package/fesm2022/mesgflow-ui-kit-breadcrumb.mjs.map +1 -0
- package/fesm2022/mesgflow-ui-kit-button-group.mjs +37 -0
- package/fesm2022/mesgflow-ui-kit-button-group.mjs.map +1 -0
- package/fesm2022/mesgflow-ui-kit-button.mjs +359 -0
- package/fesm2022/mesgflow-ui-kit-button.mjs.map +1 -0
- package/fesm2022/mesgflow-ui-kit-card.mjs +128 -0
- package/fesm2022/mesgflow-ui-kit-card.mjs.map +1 -0
- package/fesm2022/mesgflow-ui-kit-chart.mjs +538 -0
- package/fesm2022/mesgflow-ui-kit-chart.mjs.map +1 -0
- package/fesm2022/mesgflow-ui-kit-checkbox.mjs +45 -0
- package/fesm2022/mesgflow-ui-kit-checkbox.mjs.map +1 -0
- package/fesm2022/mesgflow-ui-kit-chip.mjs +123 -0
- package/fesm2022/mesgflow-ui-kit-chip.mjs.map +1 -0
- package/fesm2022/mesgflow-ui-kit-code-block.mjs +71 -0
- package/fesm2022/mesgflow-ui-kit-code-block.mjs.map +1 -0
- package/fesm2022/mesgflow-ui-kit-collapsible.mjs +89 -0
- package/fesm2022/mesgflow-ui-kit-collapsible.mjs.map +1 -0
- package/fesm2022/mesgflow-ui-kit-color-picker.mjs +210 -0
- package/fesm2022/mesgflow-ui-kit-color-picker.mjs.map +1 -0
- package/fesm2022/mesgflow-ui-kit-combobox.mjs +181 -0
- package/fesm2022/mesgflow-ui-kit-combobox.mjs.map +1 -0
- package/fesm2022/mesgflow-ui-kit-command.mjs +491 -0
- package/fesm2022/mesgflow-ui-kit-command.mjs.map +1 -0
- package/fesm2022/mesgflow-ui-kit-context-menu.mjs +92 -0
- package/fesm2022/mesgflow-ui-kit-context-menu.mjs.map +1 -0
- package/fesm2022/mesgflow-ui-kit-copy-button.mjs +167 -0
- package/fesm2022/mesgflow-ui-kit-copy-button.mjs.map +1 -0
- package/fesm2022/mesgflow-ui-kit-core.mjs +624 -0
- package/fesm2022/mesgflow-ui-kit-core.mjs.map +1 -0
- package/fesm2022/mesgflow-ui-kit-date-picker.mjs +643 -0
- package/fesm2022/mesgflow-ui-kit-date-picker.mjs.map +1 -0
- package/fesm2022/mesgflow-ui-kit-description-list.mjs +76 -0
- package/fesm2022/mesgflow-ui-kit-description-list.mjs.map +1 -0
- package/fesm2022/mesgflow-ui-kit-dialog.mjs +700 -0
- package/fesm2022/mesgflow-ui-kit-dialog.mjs.map +1 -0
- package/fesm2022/mesgflow-ui-kit-divider.mjs +62 -0
- package/fesm2022/mesgflow-ui-kit-divider.mjs.map +1 -0
- package/fesm2022/mesgflow-ui-kit-dropzone.mjs +126 -0
- package/fesm2022/mesgflow-ui-kit-dropzone.mjs.map +1 -0
- package/fesm2022/mesgflow-ui-kit-empty-state.mjs +70 -0
- package/fesm2022/mesgflow-ui-kit-empty-state.mjs.map +1 -0
- package/fesm2022/mesgflow-ui-kit-field.mjs +42 -0
- package/fesm2022/mesgflow-ui-kit-field.mjs.map +1 -0
- package/fesm2022/mesgflow-ui-kit-hover-card.mjs +171 -0
- package/fesm2022/mesgflow-ui-kit-hover-card.mjs.map +1 -0
- package/fesm2022/mesgflow-ui-kit-i18n-tr.mjs +258 -0
- package/fesm2022/mesgflow-ui-kit-i18n-tr.mjs.map +1 -0
- package/fesm2022/mesgflow-ui-kit-icon.mjs +174 -0
- package/fesm2022/mesgflow-ui-kit-icon.mjs.map +1 -0
- package/fesm2022/mesgflow-ui-kit-input.mjs +448 -0
- package/fesm2022/mesgflow-ui-kit-input.mjs.map +1 -0
- package/fesm2022/mesgflow-ui-kit-kbd.mjs +24 -0
- package/fesm2022/mesgflow-ui-kit-kbd.mjs.map +1 -0
- package/fesm2022/mesgflow-ui-kit-link.mjs +48 -0
- package/fesm2022/mesgflow-ui-kit-link.mjs.map +1 -0
- package/fesm2022/mesgflow-ui-kit-menu.mjs +105 -0
- package/fesm2022/mesgflow-ui-kit-menu.mjs.map +1 -0
- package/fesm2022/mesgflow-ui-kit-number-input.mjs +153 -0
- package/fesm2022/mesgflow-ui-kit-number-input.mjs.map +1 -0
- package/fesm2022/mesgflow-ui-kit-otp-input.mjs +164 -0
- package/fesm2022/mesgflow-ui-kit-otp-input.mjs.map +1 -0
- package/fesm2022/mesgflow-ui-kit-page-header.mjs +83 -0
- package/fesm2022/mesgflow-ui-kit-page-header.mjs.map +1 -0
- package/fesm2022/mesgflow-ui-kit-pagination.mjs +99 -0
- package/fesm2022/mesgflow-ui-kit-pagination.mjs.map +1 -0
- package/fesm2022/mesgflow-ui-kit-password-input.mjs +120 -0
- package/fesm2022/mesgflow-ui-kit-password-input.mjs.map +1 -0
- package/fesm2022/mesgflow-ui-kit-popover.mjs +213 -0
- package/fesm2022/mesgflow-ui-kit-popover.mjs.map +1 -0
- package/fesm2022/mesgflow-ui-kit-progress.mjs +82 -0
- package/fesm2022/mesgflow-ui-kit-progress.mjs.map +1 -0
- package/fesm2022/mesgflow-ui-kit-radio.mjs +123 -0
- package/fesm2022/mesgflow-ui-kit-radio.mjs.map +1 -0
- package/fesm2022/mesgflow-ui-kit-rating.mjs +116 -0
- package/fesm2022/mesgflow-ui-kit-rating.mjs.map +1 -0
- package/fesm2022/mesgflow-ui-kit-scroll-area.mjs +84 -0
- package/fesm2022/mesgflow-ui-kit-scroll-area.mjs.map +1 -0
- package/fesm2022/mesgflow-ui-kit-search-input.mjs +154 -0
- package/fesm2022/mesgflow-ui-kit-search-input.mjs.map +1 -0
- package/fesm2022/mesgflow-ui-kit-segmented-control.mjs +95 -0
- package/fesm2022/mesgflow-ui-kit-segmented-control.mjs.map +1 -0
- package/fesm2022/mesgflow-ui-kit-select.mjs +227 -0
- package/fesm2022/mesgflow-ui-kit-select.mjs.map +1 -0
- package/fesm2022/mesgflow-ui-kit-sidebar.mjs +449 -0
- package/fesm2022/mesgflow-ui-kit-sidebar.mjs.map +1 -0
- package/fesm2022/mesgflow-ui-kit-skeleton.mjs +74 -0
- package/fesm2022/mesgflow-ui-kit-skeleton.mjs.map +1 -0
- package/fesm2022/mesgflow-ui-kit-slider.mjs +179 -0
- package/fesm2022/mesgflow-ui-kit-slider.mjs.map +1 -0
- package/fesm2022/mesgflow-ui-kit-spinner.mjs +67 -0
- package/fesm2022/mesgflow-ui-kit-spinner.mjs.map +1 -0
- package/fesm2022/mesgflow-ui-kit-splitter.mjs +97 -0
- package/fesm2022/mesgflow-ui-kit-splitter.mjs.map +1 -0
- package/fesm2022/mesgflow-ui-kit-stat-tile.mjs +98 -0
- package/fesm2022/mesgflow-ui-kit-stat-tile.mjs.map +1 -0
- package/fesm2022/mesgflow-ui-kit-stepper.mjs +133 -0
- package/fesm2022/mesgflow-ui-kit-stepper.mjs.map +1 -0
- package/fesm2022/mesgflow-ui-kit-switch.mjs +73 -0
- package/fesm2022/mesgflow-ui-kit-switch.mjs.map +1 -0
- package/fesm2022/mesgflow-ui-kit-table.mjs +1783 -0
- package/fesm2022/mesgflow-ui-kit-table.mjs.map +1 -0
- package/fesm2022/mesgflow-ui-kit-tabs.mjs +569 -0
- package/fesm2022/mesgflow-ui-kit-tabs.mjs.map +1 -0
- package/fesm2022/mesgflow-ui-kit-tag-input.mjs +138 -0
- package/fesm2022/mesgflow-ui-kit-tag-input.mjs.map +1 -0
- package/fesm2022/mesgflow-ui-kit-theme-switcher.mjs +53 -0
- package/fesm2022/mesgflow-ui-kit-theme-switcher.mjs.map +1 -0
- package/fesm2022/mesgflow-ui-kit-theming.mjs +1016 -0
- package/fesm2022/mesgflow-ui-kit-theming.mjs.map +1 -0
- package/fesm2022/mesgflow-ui-kit-time-picker.mjs +138 -0
- package/fesm2022/mesgflow-ui-kit-time-picker.mjs.map +1 -0
- package/fesm2022/mesgflow-ui-kit-timeline.mjs +91 -0
- package/fesm2022/mesgflow-ui-kit-timeline.mjs.map +1 -0
- package/fesm2022/mesgflow-ui-kit-toast.mjs +202 -0
- package/fesm2022/mesgflow-ui-kit-toast.mjs.map +1 -0
- package/fesm2022/mesgflow-ui-kit-toggle.mjs +243 -0
- package/fesm2022/mesgflow-ui-kit-toggle.mjs.map +1 -0
- package/fesm2022/mesgflow-ui-kit-toolbar.mjs +99 -0
- package/fesm2022/mesgflow-ui-kit-toolbar.mjs.map +1 -0
- package/fesm2022/mesgflow-ui-kit-tooltip.mjs +160 -0
- package/fesm2022/mesgflow-ui-kit-tooltip.mjs.map +1 -0
- package/fesm2022/mesgflow-ui-kit-tour.mjs +272 -0
- package/fesm2022/mesgflow-ui-kit-tour.mjs.map +1 -0
- package/fesm2022/mesgflow-ui-kit-tree-select.mjs +177 -0
- package/fesm2022/mesgflow-ui-kit-tree-select.mjs.map +1 -0
- package/fesm2022/mesgflow-ui-kit-tree.mjs +82 -0
- package/fesm2022/mesgflow-ui-kit-tree.mjs.map +1 -0
- package/fesm2022/mesgflow-ui-kit.mjs +12851 -0
- package/fesm2022/mesgflow-ui-kit.mjs.map +1 -0
- package/package.json +374 -0
- package/preset.css +20 -0
- package/tokens/color.css +693 -0
- package/tokens/contrast.css +68 -0
- package/tokens/elevation.css +68 -0
- package/tokens/motion.css +277 -0
- package/tokens/radius.css +69 -0
- package/tokens/typography.css +127 -0
- package/tokens.css +41 -0
- package/types/mesgflow-ui-kit-accordion.d.ts +42 -0
- package/types/mesgflow-ui-kit-alert.d.ts +60 -0
- package/types/mesgflow-ui-kit-avatar-group.d.ts +28 -0
- package/types/mesgflow-ui-kit-avatar.d.ts +23 -0
- package/types/mesgflow-ui-kit-badge.d.ts +39 -0
- package/types/mesgflow-ui-kit-banner.d.ts +42 -0
- package/types/mesgflow-ui-kit-box-input.d.ts +45 -0
- package/types/mesgflow-ui-kit-brand.d.ts +48 -0
- package/types/mesgflow-ui-kit-breadcrumb.d.ts +26 -0
- package/types/mesgflow-ui-kit-button-group.d.ts +17 -0
- package/types/mesgflow-ui-kit-button.d.ts +75 -0
- package/types/mesgflow-ui-kit-card.d.ts +71 -0
- package/types/mesgflow-ui-kit-chart.d.ts +242 -0
- package/types/mesgflow-ui-kit-checkbox.d.ts +17 -0
- package/types/mesgflow-ui-kit-chip.d.ts +46 -0
- package/types/mesgflow-ui-kit-code-block.d.ts +56 -0
- package/types/mesgflow-ui-kit-collapsible.d.ts +39 -0
- package/types/mesgflow-ui-kit-color-picker.d.ts +78 -0
- package/types/mesgflow-ui-kit-combobox.d.ts +74 -0
- package/types/mesgflow-ui-kit-command.d.ts +185 -0
- package/types/mesgflow-ui-kit-context-menu.d.ts +40 -0
- package/types/mesgflow-ui-kit-copy-button.d.ts +47 -0
- package/types/mesgflow-ui-kit-core.d.ts +508 -0
- package/types/mesgflow-ui-kit-date-picker.d.ts +215 -0
- package/types/mesgflow-ui-kit-description-list.d.ts +23 -0
- package/types/mesgflow-ui-kit-dialog.d.ts +342 -0
- package/types/mesgflow-ui-kit-divider.d.ts +23 -0
- package/types/mesgflow-ui-kit-dropzone.d.ts +47 -0
- package/types/mesgflow-ui-kit-empty-state.d.ts +18 -0
- package/types/mesgflow-ui-kit-field.d.ts +26 -0
- package/types/mesgflow-ui-kit-hover-card.d.ts +52 -0
- package/types/mesgflow-ui-kit-i18n-tr.d.ts +14 -0
- package/types/mesgflow-ui-kit-icon.d.ts +76 -0
- package/types/mesgflow-ui-kit-input.d.ts +186 -0
- package/types/mesgflow-ui-kit-kbd.d.ts +9 -0
- package/types/mesgflow-ui-kit-link.d.ts +20 -0
- package/types/mesgflow-ui-kit-menu.d.ts +53 -0
- package/types/mesgflow-ui-kit-number-input.d.ts +55 -0
- package/types/mesgflow-ui-kit-otp-input.d.ts +44 -0
- package/types/mesgflow-ui-kit-page-header.d.ts +31 -0
- package/types/mesgflow-ui-kit-pagination.d.ts +50 -0
- package/types/mesgflow-ui-kit-password-input.d.ts +33 -0
- package/types/mesgflow-ui-kit-popover.d.ts +62 -0
- package/types/mesgflow-ui-kit-progress.d.ts +32 -0
- package/types/mesgflow-ui-kit-radio.d.ts +59 -0
- package/types/mesgflow-ui-kit-rating.d.ts +56 -0
- package/types/mesgflow-ui-kit-scroll-area.d.ts +27 -0
- package/types/mesgflow-ui-kit-search-input.d.ts +72 -0
- package/types/mesgflow-ui-kit-segmented-control.d.ts +54 -0
- package/types/mesgflow-ui-kit-select.d.ts +89 -0
- package/types/mesgflow-ui-kit-sidebar.d.ts +224 -0
- package/types/mesgflow-ui-kit-skeleton.d.ts +29 -0
- package/types/mesgflow-ui-kit-slider.d.ts +40 -0
- package/types/mesgflow-ui-kit-spinner.d.ts +31 -0
- package/types/mesgflow-ui-kit-splitter.d.ts +40 -0
- package/types/mesgflow-ui-kit-stat-tile.d.ts +54 -0
- package/types/mesgflow-ui-kit-stepper.d.ts +48 -0
- package/types/mesgflow-ui-kit-switch.d.ts +34 -0
- package/types/mesgflow-ui-kit-table.d.ts +805 -0
- package/types/mesgflow-ui-kit-tabs.d.ts +269 -0
- package/types/mesgflow-ui-kit-tag-input.d.ts +33 -0
- package/types/mesgflow-ui-kit-theme-switcher.d.ts +27 -0
- package/types/mesgflow-ui-kit-theming.d.ts +745 -0
- package/types/mesgflow-ui-kit-time-picker.d.ts +54 -0
- package/types/mesgflow-ui-kit-timeline.d.ts +27 -0
- package/types/mesgflow-ui-kit-toast.d.ts +94 -0
- package/types/mesgflow-ui-kit-toggle.d.ts +110 -0
- package/types/mesgflow-ui-kit-toolbar.d.ts +52 -0
- package/types/mesgflow-ui-kit-tooltip.d.ts +55 -0
- package/types/mesgflow-ui-kit-tour.d.ts +66 -0
- package/types/mesgflow-ui-kit-tree-select.d.ts +65 -0
- package/types/mesgflow-ui-kit-tree.d.ts +44 -0
- package/types/mesgflow-ui-kit.d.ts +5444 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mesgflow-ui-kit-core.mjs","sources":["../../../projects/ui-kit/core/cn.ts","../../../projects/ui-kit/core/direction.ts","../../../projects/ui-kit/core/recipes.ts","../../../projects/ui-kit/core/a11y/ids.ts","../../../projects/ui-kit/core/forms/value-accessor.ts","../../../projects/ui-kit/core/overlay/placements.ts","../../../projects/ui-kit/core/i18n/labels.ts","../../../projects/ui-kit/core/i18n/labels.en.ts","../../../projects/ui-kit/core/i18n/tokens.ts","../../../projects/ui-kit/core/i18n/provide.ts","../../../projects/ui-kit/core/mesgflow-ui-kit-core.ts"],"sourcesContent":["import { type ClassValue, clsx } from 'clsx';\r\nimport { twMerge } from 'tailwind-merge';\r\n\r\n/** clsx ile koşullu class'ları birleştirir, tailwind-merge ile çakışan utility'leri (ör. iki farklı `bg-*`) sonuncusu kazanacak şekilde çözer. */\r\nexport function cn(...inputs: ClassValue[]): string {\r\n return twMerge(clsx(inputs));\r\n}\r\n","/**\r\n * Yazı yönü yardımcıları — `dir=\"rtl\"` (öğede ya da bir atada) ya da CSS `direction` kalıtımı.\r\n * Hesaplanan stil okunur: yön bir atadan gelse de doğru sonuç verir. SSR'de (stil yok) LTR.\r\n */\r\nexport function isRtl(el: Element): boolean {\r\n return typeof getComputedStyle !== 'undefined' && getComputedStyle(el).direction === 'rtl';\r\n}\r\n\r\n/** İşaretçinin satır başından (LTR'de sol, RTL'de sağ kenar) oranı, 0–1 aralığına kırpılmış. */\r\nexport function inlineStartRatio(clientX: number, rect: DOMRect, rtl: boolean): number {\r\n if (rect.width === 0) return 0;\r\n const fromLeft = (clientX - rect.left) / rect.width;\r\n return Math.min(1, Math.max(0, rtl ? 1 - fromLeft : fromLeft));\r\n}\r\n\r\n/**\r\n * Yatay kaydırmanın başlangıçtan uzaklığı. Modern tarayıcılarda RTL'de `scrollLeft` 0'dan\r\n * NEGATİFE gider (başlangıç = 0, son = −max); mutlak değer iki yönde de \"başlangıçtan uzaklık\".\r\n */\r\nexport function scrollFromInlineStart(el: Element): number {\r\n return Math.abs(el.scrollLeft);\r\n}\r\n","import type { MfSize } from './types';\r\n\r\n/**\r\n * Paylaşılan class reçeteleri — kontrol/overlay/kapsayıcı bileşenlerinin\r\n * TEKRAR TEKRAR yazdığı focus/disabled/boyut/yüzey kalıplarının TEK kaynağı\r\n * (bkz. plan Faz 1a/1b). Öncesinde 5 farklı disabled reçetesi, 4 farklı\r\n * focus-offset kombinasyonu ve 9 elle yazılmış `h-8`/`h-9`/`h-10` sabiti\r\n * vardı — her biri kendi kopyasını sürüklüyordu (gerçek bulgu). Bileşenler\r\n * bunları `cn()` ile kendi özel class'larıyla birleştirir (`cn()` twMerge\r\n * kullandığı için çakışan Tailwind utility'leri güvenle çözülür).\r\n */\r\n\r\n/** `outline`+`outline-offset` tabanlı TEK focus mekanizması — bkz. `button.variants.ts`'in \"Focus — tek mekanizma\" notu. Box-shadow/ring KULLANMA. */\r\nexport const focusRecipe =\r\n 'focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-focus-ring';\r\n\r\n/** Native `disabled` VE `aria-disabled` (ör. `@angular/aria` desenlerinin kullandığı) ikisini de kapsar — bkz. plan \"Disabled 5 farklı reçete\" bulgusu. */\r\nexport const disabledRecipe =\r\n 'disabled:pointer-events-none disabled:opacity-50 disabled:shadow-none aria-disabled:pointer-events-none aria-disabled:opacity-50';\r\n\r\n/** 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. */\r\nexport const controlSurface =\r\n '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';\r\n\r\n/** `size: MfSize` eksenindeki TÜM kontrollerin ortak yükseklik/dolgu/font eşlemesi — bkz. `radius.css`'teki `--control-h-*` token'ları. */\r\nexport const controlSize: Record<MfSize, string> = {\r\n sm: 'h-control-sm px-2.5 text-sm',\r\n md: 'h-control-md px-3 text-sm',\r\n lg: 'h-control-lg px-3.5 text-base',\r\n};\r\n\r\n/**\r\n * Popover/Menu/Select/Combobox/... overlay panellerinin ortak kabuğu — BORDER-\r\n * FIRST (2026-09 Deep Emerald geçişi, kullanıcı kararıyla eski \"light modda\r\n * kenarlıksız, sadece gölge\" ilkesinin YERİNE geçti): iki modda da\r\n * `border-hairline` (color.css — %8-12 opak marka-tonlu 1px çizgi) + `shadow-2`.\r\n * Ağır/bulanık gölge yerine ince çizgi \"premium\" hissi artık BÖYLE veriliyor.\r\n */\r\nexport const overlaySurface = 'rounded-lg border border-hairline bg-overlay shadow-2';\r\n\r\n/** Card/Table/StatTile gibi statik kapsayıcıların ortak kabuğu — BORDER-FIRST: iki modda da gölgesiz, sadece `border-hairline` (bkz. `overlaySurface`'in aynı gerekçesi). */\r\nexport const containerSurface = 'rounded-lg border border-hairline bg-surface';\r\n\r\n/**\r\n * Mikro glassmorphism — Dialog/Sheet/Drawer paneli ve Toast öğeleri (bkz.\r\n * `dialog.variants.ts`, `toast-host.ts`) bunu kullanır. `supports-[…]` ile\r\n * `backdrop-filter` desteklenmediğinde düz `bg-surface`'e düşer (eski\r\n * tarayıcı/headless test ortamı); `reduced-transparency:` (color.css'te\r\n * tanımlı custom variant, `prefers-reduced-transparency: reduce` medya\r\n * sorgusu) kullanıcı saydamlığı azalt istediğinde camı KAPATIR — WCAG 1.4.11\r\n * \"Non-text Contrast\" ve hareket/saydamlık duyarlılığı için. Tüketici kendi\r\n * `border`/`rounded-*` genişliğini üstüne ekler.\r\n */\r\nexport const glassSurface =\r\n 'border-hairline bg-surface supports-[backdrop-filter]:bg-glass supports-[backdrop-filter]:backdrop-blur-md reduced-transparency:bg-surface reduced-transparency:backdrop-blur-none';\r\n\r\n/** `hasError`/`aria-invalid` durumundaki form kontrolleri için — `controlSurface` İLE BİRLİKTE, üstüne eklenir. */\r\nexport const errorRecipe = 'border-danger focus-within:border-danger focus-visible:outline-danger';\r\n\r\n/**\r\n * Renk/gölge geçişlerinin TEK hareket dili — `ease-emphasis` kitin kendi eğrisi\r\n * (bkz. `motion.css`), tarayıcı varsayılanı `ease` DEĞİL. Öncesinde ~35 yerde\r\n * `transition-colors duration-fast` easing'siz kullanılıyordu (gerçek bulgu,\r\n * bkz. plan Faz 1c).\r\n */\r\nexport const transitionRecipe = 'transition-colors duration-fast ease-emphasis';\r\n\r\n/** Basılı-hissi — `active:scale` ekseninde TEK reçete, disabled'da sıfırlanır. */\r\nexport const pressRecipe = 'active:scale-[0.99] disabled:active:scale-100';\r\n","let seq = 0;\r\n\r\n/**\r\n * Bileşen örneği başına kararlı, benzersiz bir DOM id'si üretir —\r\n * `aria-controls`/`aria-describedby`/`aria-activedescendant` gibi bağların\r\n * her component klasöründe kendi elle sayaçlarını (bkz. `combobox.ts`'teki\r\n * `comboboxIdSeq` — bu modül kullanıma girince oraya taşınacak) tekrar\r\n * yazmasına gerek kalmasın diye. SSR'da hydration uyuşmazlığı YARATMAZ —\r\n * her platformda modül yüklendiğinde sıfırdan başlar, sayaç deterministik.\r\n */\r\nexport function nextId(prefix: string): string {\r\n return `${prefix}-${++seq}`;\r\n}\r\n","/**\r\n * `registerOnChange`/`registerOnTouched`'ın HER `ControlValueAccessor`\r\n * implementasyonunda BİREBİR aynı kalan gövdesini tek kaynağa indirger\r\n * (bkz. Select/NumberInput/Combobox/ColorPicker'ın öncesi — 4+ kopya, plan\r\n * Faz 2 \"CVA tamamlama\" notu). Alt sınıf SADECE `writeValue`'yu (kendi\r\n * `model`/`signal`'ına yazan) tanımlar VE kendi `NG_VALUE_ACCESSOR`\r\n * provider'ını `@Component`'ında bildirir — `forwardRef(() => AltSınıf)`\r\n * somut sınıfa ihtiyaç duyduğu için provider MİRAS ALINAMAZ.\r\n *\r\n * Düz bir soyut sınıf (Angular `@Directive()` DEĞİL) — `inject()` ya da\r\n * yaşam döngüsü kancası kullanmıyor, sadece alan/metot mirası; `@Directive()`\r\n * sarmalamak gereksiz karmaşıklık olurdu.\r\n */\r\nexport abstract class ValueAccessorBase<T> {\r\n protected onChange: (value: T) => void = () => {};\r\n protected onTouched: () => void = () => {};\r\n\r\n registerOnChange(fn: (value: T) => void): void {\r\n this.onChange = fn;\r\n }\r\n\r\n registerOnTouched(fn: () => void): void {\r\n this.onTouched = fn;\r\n }\r\n}\r\n","import type { ConnectedPosition } from '@angular/cdk/overlay';\r\nimport type { MfPlacement } from '../types';\r\n\r\n/**\r\n * `Popover`'ın (`PLACEMENTS`) ve `Tooltip`'in (`POSITIONS`) kendi dosyalarında\r\n * ayrı ayrı tuttuğu CDK `ConnectedPosition[]` çiftlerinin ORTAK geometri\r\n * üretici hâli — 8 yerleşimin (4 köşe + 4 kenar) hepsini tek bir fonksiyonla\r\n * üretir, `offset` çağıranın KENDİ mevcut değerini (Popover 4px, Tooltip 8px,\r\n * diğer overlay'ler 4-8px arası değişen) korumasını sağlar.\r\n *\r\n * Bu modül BİLEREK henüz hiçbir bileşene BAĞLANMADI (Faz 0c) — `Popover`,\r\n * `Tooltip` ve 10 kopya `ConnectedPosition[]` içeren diğer bileşenlerin buna\r\n * geçişi Faz 1c'nin (\"Overlay birleştirme\") kapsamı: her biri kendi klavye/\r\n * vurgu mantığını koruyarak taşınmalı ve tarayıcıda tek tek doğrulanmalı —\r\n * bu fazın (yapısal taşıma) riskiyle karıştırılmamalı.\r\n */\r\nexport function overlayPositions(placement: MfPlacement, offset = 4): ConnectedPosition[] {\r\n switch (placement) {\r\n case 'bottom-start':\r\n return [\r\n {\r\n originX: 'start',\r\n originY: 'bottom',\r\n overlayX: 'start',\r\n overlayY: 'top',\r\n offsetY: offset,\r\n },\r\n {\r\n originX: 'start',\r\n originY: 'top',\r\n overlayX: 'start',\r\n overlayY: 'bottom',\r\n offsetY: -offset,\r\n },\r\n ];\r\n case 'bottom-end':\r\n return [\r\n { originX: 'end', originY: 'bottom', overlayX: 'end', overlayY: 'top', offsetY: offset },\r\n { originX: 'end', originY: 'top', overlayX: 'end', overlayY: 'bottom', offsetY: -offset },\r\n ];\r\n case 'top-start':\r\n return [\r\n {\r\n originX: 'start',\r\n originY: 'top',\r\n overlayX: 'start',\r\n overlayY: 'bottom',\r\n offsetY: -offset,\r\n },\r\n {\r\n originX: 'start',\r\n originY: 'bottom',\r\n overlayX: 'start',\r\n overlayY: 'top',\r\n offsetY: offset,\r\n },\r\n ];\r\n case 'top-end':\r\n return [\r\n { originX: 'end', originY: 'top', overlayX: 'end', overlayY: 'bottom', offsetY: -offset },\r\n { originX: 'end', originY: 'bottom', overlayX: 'end', overlayY: 'top', offsetY: offset },\r\n ];\r\n case 'top':\r\n return [\r\n {\r\n originX: 'center',\r\n originY: 'top',\r\n overlayX: 'center',\r\n overlayY: 'bottom',\r\n offsetY: -offset,\r\n },\r\n {\r\n originX: 'center',\r\n originY: 'bottom',\r\n overlayX: 'center',\r\n overlayY: 'top',\r\n offsetY: offset,\r\n },\r\n ];\r\n case 'bottom':\r\n return [\r\n {\r\n originX: 'center',\r\n originY: 'bottom',\r\n overlayX: 'center',\r\n overlayY: 'top',\r\n offsetY: offset,\r\n },\r\n {\r\n originX: 'center',\r\n originY: 'top',\r\n overlayX: 'center',\r\n overlayY: 'bottom',\r\n offsetY: -offset,\r\n },\r\n ];\r\n case 'left':\r\n return [\r\n {\r\n originX: 'start',\r\n originY: 'center',\r\n overlayX: 'end',\r\n overlayY: 'center',\r\n offsetX: -offset,\r\n },\r\n {\r\n originX: 'end',\r\n originY: 'center',\r\n overlayX: 'start',\r\n overlayY: 'center',\r\n offsetX: offset,\r\n },\r\n ];\r\n case 'right':\r\n return [\r\n {\r\n originX: 'end',\r\n originY: 'center',\r\n overlayX: 'start',\r\n overlayY: 'center',\r\n offsetX: offset,\r\n },\r\n {\r\n originX: 'start',\r\n originY: 'center',\r\n overlayX: 'end',\r\n overlayY: 'center',\r\n offsetX: -offset,\r\n },\r\n ];\r\n }\r\n}\r\n","/**\r\n * Kitin TÜM metinlerinin TEK şekli — `MF_LABELS` injection token'ının taşıdığı\r\n * tip (bkz. `tokens.ts`). Her alt-nesne bir bileşen ailesinin metinlerini\r\n * gruplar (Dialog'un önceki `MfDialogLabels`'ı ve DatePicker/Table'ın \"grup\r\n * input\" çantalarıyla AYNI emsal — tek fark artık HEPSİ tek bir kökten\r\n * `provideMesgflowUi()` ile sağlanıyor, bkz. `provide.ts`).\r\n */\r\nexport interface MfCommonLabels {\r\n loading: string;\r\n clear: string;\r\n remove: string;\r\n}\r\n\r\nexport interface MfDialogLabels {\r\n close: string;\r\n resize: string;\r\n fullscreenEnter: string;\r\n fullscreenExit: string;\r\n confirmOk: string;\r\n confirmCancel: string;\r\n confirmConfirm: string;\r\n confirmDelete: string;\r\n errorGeneric: string;\r\n discard: {\r\n title: string;\r\n content: string;\r\n confirm: string;\r\n cancel: string;\r\n };\r\n}\r\n\r\nexport interface MfDatePickerLabels {\r\n today: string;\r\n clear: string;\r\n apply: string;\r\n previousMonth: string;\r\n nextMonth: string;\r\n previousYear: string;\r\n nextYear: string;\r\n chooseMonth: string;\r\n chooseYear: string;\r\n startDate: string;\r\n endDate: string;\r\n placeholder: string;\r\n presetToday: string;\r\n presetLast7: string;\r\n presetLast30: string;\r\n presetThisMonth: string;\r\n}\r\n\r\nexport interface MfTimePickerLabels {\r\n placeholder: string;\r\n clear: string;\r\n}\r\n\r\nexport interface MfTableFilterOperatorLabels {\r\n equal: string;\r\n notEqual: string;\r\n greaterThan: string;\r\n greaterOrEqual: string;\r\n lessThan: string;\r\n lessOrEqual: string;\r\n contains: string;\r\n startsWith: string;\r\n endsWith: string;\r\n in: string;\r\n isNull: string;\r\n isNotNull: string;\r\n between: string;\r\n}\r\n\r\nexport interface MfTableFilterLabels {\r\n addFilter: string;\r\n searchField: string;\r\n noField: string;\r\n operator: string;\r\n value: string;\r\n apply: string;\r\n enterHint: string;\r\n clearAll: string;\r\n and: string;\r\n or: string;\r\n remove: string;\r\n back: string;\r\n dateToday: string;\r\n dateLast7: string;\r\n dateLast30: string;\r\n dateThisMonth: string;\r\n dateCustom: string;\r\n dateFrom: string;\r\n dateTo: string;\r\n operators: MfTableFilterOperatorLabels;\r\n}\r\n\r\nexport interface MfTablePaginationLabels {\r\n records: string;\r\n perPage: string;\r\n page: string;\r\n previous: string;\r\n next: string;\r\n first: string;\r\n last: string;\r\n pageSizeAriaLabel: string;\r\n navAriaLabel: string;\r\n jumpToPage: string;\r\n go: string;\r\n}\r\n\r\nexport interface MfTableLabels {\r\n searchPlaceholder: string;\r\n selectedCount: string;\r\n edit: string;\r\n delete: string;\r\n clearSelection: string;\r\n emptyTitle: string;\r\n emptyDescription: string;\r\n noResultsTitle: string;\r\n noResultsDescription: string;\r\n clearFilters: string;\r\n filterCount: string;\r\n selectAllAriaLabel: string;\r\n selectRowAriaLabel: string;\r\n actionsColumnLabel: string;\r\n columns: string;\r\n density: string;\r\n densityComfortable: string;\r\n densityCompact: string;\r\n resizeColumn: string;\r\n expandRow: string;\r\n collapseRow: string;\r\n filter: MfTableFilterLabels;\r\n pagination: MfTablePaginationLabels;\r\n}\r\n\r\nexport interface MfSidebarLabels {\r\n collapse: string;\r\n expand: string;\r\n switchTenant: string;\r\n noTenants: string;\r\n noUser: string;\r\n nav: string;\r\n}\r\n\r\nexport interface MfTabsLabels {\r\n scrollStart: string;\r\n scrollEnd: string;\r\n close: string;\r\n}\r\n\r\nexport interface MfDropzoneLabels {\r\n label: string;\r\n}\r\n\r\nexport interface MfColorPickerLabels {\r\n ariaLabel: string;\r\n hexAriaLabel: string;\r\n pickFromScreenAriaLabel: string;\r\n}\r\n\r\nexport interface MfBoxInputLabels {\r\n top: string;\r\n right: string;\r\n bottom: string;\r\n left: string;\r\n linkSides: string;\r\n unlinkSides: string;\r\n}\r\n\r\nexport interface MfComboboxLabels {\r\n placeholder: string;\r\n noResults: string;\r\n}\r\n\r\nexport interface MfSelectLabels {\r\n placeholder: string;\r\n}\r\n\r\nexport interface MfSearchInputLabels {\r\n placeholder: string;\r\n ariaLabel: string;\r\n clearAriaLabel: string;\r\n}\r\n\r\nexport interface MfToastLabels {\r\n dismiss: string;\r\n}\r\n\r\nexport interface MfOtpInputLabels {\r\n ariaLabel: string;\r\n}\r\n\r\nexport interface MfStepperLabels {\r\n ariaLabel: string;\r\n}\r\n\r\nexport interface MfProgressLabels {\r\n ariaLabel: string;\r\n}\r\n\r\nexport interface MfPasswordInputLabels {\r\n show: string;\r\n hide: string;\r\n}\r\n\r\nexport interface MfChipLabels {\r\n remove: string;\r\n}\r\n\r\nexport interface MfAlertLabels {\r\n dismiss: string;\r\n}\r\n\r\nexport interface MfBreadcrumbLabels {\r\n ariaLabel: string;\r\n}\r\n\r\nexport interface MfAvatarGroupLabels {\r\n /** \"+N\" göstergesinin aria-label'ı — `overflowCount() + ' ' + overflowAriaLabel`. */\r\n overflowAriaLabel: string;\r\n}\r\n\r\n/** Grafik ailesi (LineChart/Sparkline) — tablo görünümü anahtarı (grafiğin erişilebilir ikizi) ve tablonun ilk sütun başlığı. */\r\n/** Ağaçtan seçim (`mf-tree-select`). */\r\nexport interface MfTreeSelectLabels {\r\n placeholder: string;\r\n searchPlaceholder: string;\r\n noResults: string;\r\n}\r\n\r\n/** Açık/koyu/sistem değiştirici (`mf-theme-switcher`). */\r\nexport interface MfThemeSwitcherLabels {\r\n ariaLabel: string;\r\n light: string;\r\n dark: string;\r\n system: string;\r\n}\r\n\r\n/** Puanlama — `outOf` iki sayının ARASINA yazılır (\"3 out of 5\"). */\r\nexport interface MfRatingLabels {\r\n ariaLabel: string;\r\n outOf: string;\r\n}\r\n\r\n/** Ürün turu — `stepOf` iki sayının ARASINA yazılır (\"2 of 5\"). */\r\nexport interface MfTourLabels {\r\n next: string;\r\n back: string;\r\n skip: string;\r\n done: string;\r\n stepOf: string;\r\n}\r\n\r\n/** Bağımsız sayfalama (`mf-pagination`) — `page` sayının ÖNÜNE yazılır (\"Page 3\"). */\r\nexport interface MfPaginationLabels {\r\n navAriaLabel: string;\r\n previous: string;\r\n next: string;\r\n first: string;\r\n last: string;\r\n page: string;\r\n}\r\n\r\n/** Kopyala düğmesi + kod bloğu (`code` = kaydırılabilir kod bölgesinin erişilebilir adı). */\r\nexport interface MfCopyLabels {\r\n copy: string;\r\n copied: string;\r\n failed: string;\r\n code: string;\r\n}\r\n\r\n/** Karakter sayacı — sayıların ARDINA yazılır (\"12 characters remaining\"). */\r\nexport interface MfCharacterCountLabels {\r\n remaining: string;\r\n overLimit: string;\r\n characters: string;\r\n}\r\n\r\n/** Komut paleti (`mf-command`) — `resultsCount` sayının ARDINA yazılır (\"8 results\"). */\r\nexport interface MfCommandLabels {\r\n placeholder: string;\r\n ariaLabel: string;\r\n empty: string;\r\n resultsCount: string;\r\n navigate: string;\r\n select: string;\r\n close: string;\r\n}\r\n\r\nexport interface MfChartLabels {\r\n showTable: string;\r\n showChart: string;\r\n category: string;\r\n}\r\n\r\nexport interface MfLabels {\r\n common: MfCommonLabels;\r\n dialog: MfDialogLabels;\r\n datePicker: MfDatePickerLabels;\r\n timePicker: MfTimePickerLabels;\r\n table: MfTableLabels;\r\n sidebar: MfSidebarLabels;\r\n tabs: MfTabsLabels;\r\n dropzone: MfDropzoneLabels;\r\n colorPicker: MfColorPickerLabels;\r\n boxInput: MfBoxInputLabels;\r\n combobox: MfComboboxLabels;\r\n select: MfSelectLabels;\r\n searchInput: MfSearchInputLabels;\r\n toast: MfToastLabels;\r\n otpInput: MfOtpInputLabels;\r\n stepper: MfStepperLabels;\r\n progress: MfProgressLabels;\r\n passwordInput: MfPasswordInputLabels;\r\n chip: MfChipLabels;\r\n alert: MfAlertLabels;\r\n breadcrumb: MfBreadcrumbLabels;\r\n avatarGroup: MfAvatarGroupLabels;\r\n chart: MfChartLabels;\r\n command: MfCommandLabels;\r\n characterCount: MfCharacterCountLabels;\r\n copy: MfCopyLabels;\r\n pagination: MfPaginationLabels;\r\n tour: MfTourLabels;\r\n rating: MfRatingLabels;\r\n themeSwitcher: MfThemeSwitcherLabels;\r\n treeSelect: MfTreeSelectLabels;\r\n}\r\n\r\n/** `provideMesgflowUi({ labels })`'ın kabul ettiği şekil — her alt-alan opsiyonel, verilmeyen her yaprak `mfLabelsEn`'den gelir. */\r\nexport type DeepPartial<T> = T extends object ? { [K in keyof T]?: DeepPartial<T[K]> } : T;\r\n\r\nfunction isPlainObject(value: unknown): value is Record<string, unknown> {\r\n return typeof value === 'object' && value !== null && !Array.isArray(value);\r\n}\r\n\r\n/** `base`'i `override`'daki tanımlı yapraklarla değiştirir — dizi yok, her düğüm ya iç içe nesne ya string, sığ `Object.assign` yerine gerçek derin birleştirme gerekiyor (bkz. `provide.ts`). Generic'i `Record<string, unknown>`'a KISITLAMIYOR BİLEREK — `MfLabels` gibi index-signature'ı olmayan named interface'ler o kısıtla uyuşmuyor (bkz. TS2345), bunun yerine iç kısımda cast ediliyor. */\r\nexport function mergeLabels<T>(base: T, override: DeepPartial<T> | undefined): T {\r\n if (!override) return base;\r\n if (!isPlainObject(base) || !isPlainObject(override)) return override as T;\r\n const baseObj = base as Record<string, unknown>;\r\n const overrideObj = override as Record<string, unknown>;\r\n const result: Record<string, unknown> = { ...baseObj };\r\n for (const key of Object.keys(overrideObj)) {\r\n const overrideValue = overrideObj[key];\r\n if (overrideValue === undefined) continue;\r\n result[key] = mergeLabels(baseObj[key], overrideValue as DeepPartial<unknown>);\r\n }\r\n return result as T;\r\n}\r\n","import type { MfLabels } from './labels';\r\n\r\n/**\r\n * `MF_LABELS`'ın varsayılan değeri — hiçbir `provideMesgflowUi()` çağrısı\r\n * olmayan bir tüketici uygulamada bileşenler bu İngilizce metinlerle çalışır\r\n * (bkz. CLAUDE.md/plan kararı: \"bileşen varsayılan metinleri İngilizce\").\r\n * Türkçe çeviri kümesi için bkz. `@mesgflow/ui-kit/i18n/tr`'nin `mfLabelsTr`'si —\r\n * bu iki dosya AYNI şekli (bkz. `labels.ts`), farklı değerleri taşır.\r\n */\r\nexport const mfLabelsEn: MfLabels = {\r\n common: {\r\n loading: 'Loading',\r\n clear: 'Clear',\r\n remove: 'Remove',\r\n },\r\n dialog: {\r\n close: 'Close',\r\n resize: 'Resize',\r\n fullscreenEnter: 'Enter fullscreen',\r\n fullscreenExit: 'Exit fullscreen',\r\n confirmOk: 'OK',\r\n confirmCancel: 'Cancel',\r\n confirmConfirm: 'Confirm',\r\n confirmDelete: 'Delete',\r\n errorGeneric: 'Something went wrong. Please try again.',\r\n discard: {\r\n title: 'Unsaved changes',\r\n content: 'Closing this panel will discard what you entered.',\r\n confirm: 'Discard and close',\r\n cancel: 'Keep editing',\r\n },\r\n },\r\n datePicker: {\r\n today: 'Today',\r\n clear: 'Clear',\r\n apply: 'Apply',\r\n previousMonth: 'Previous month',\r\n nextMonth: 'Next month',\r\n previousYear: 'Previous year',\r\n nextYear: 'Next year',\r\n chooseMonth: 'Choose month',\r\n chooseYear: 'Choose year',\r\n startDate: 'Start',\r\n endDate: 'End',\r\n placeholder: 'mm/dd/yyyy',\r\n presetToday: 'Today',\r\n presetLast7: 'Last 7 days',\r\n presetLast30: 'Last 30 days',\r\n presetThisMonth: 'This month',\r\n },\r\n timePicker: {\r\n placeholder: 'hh:mm',\r\n clear: 'Clear',\r\n },\r\n table: {\r\n searchPlaceholder: 'Search...',\r\n selectedCount: 'selected',\r\n edit: 'Edit',\r\n delete: 'Delete',\r\n clearSelection: 'Clear selection',\r\n emptyTitle: 'No records',\r\n emptyDescription: '',\r\n noResultsTitle: 'No results found',\r\n noResultsDescription: 'Try a different search or filter.',\r\n clearFilters: 'Clear filters',\r\n filterCount: 'filters',\r\n selectAllAriaLabel: 'Select all',\r\n selectRowAriaLabel: 'Select row',\r\n actionsColumnLabel: 'Actions',\r\n columns: 'Columns',\r\n density: 'Density',\r\n densityComfortable: 'Comfortable',\r\n densityCompact: 'Compact',\r\n resizeColumn: 'Resize column',\r\n expandRow: 'Expand row',\r\n collapseRow: 'Collapse row',\r\n filter: {\r\n addFilter: 'Filter',\r\n searchField: 'Search field...',\r\n noField: 'No field found',\r\n operator: 'Operator',\r\n value: 'Value',\r\n apply: 'Apply',\r\n enterHint: 'Enter',\r\n clearAll: 'Clear',\r\n and: 'AND',\r\n or: 'OR',\r\n remove: 'Remove',\r\n back: 'Back',\r\n dateToday: 'Today',\r\n dateLast7: 'Last 7 days',\r\n dateLast30: 'Last 30 days',\r\n dateThisMonth: 'This month',\r\n dateCustom: 'Custom range',\r\n dateFrom: 'Start',\r\n dateTo: 'End',\r\n operators: {\r\n equal: 'equals',\r\n notEqual: 'not equal to',\r\n greaterThan: 'greater than',\r\n greaterOrEqual: 'greater than or equal to',\r\n lessThan: 'less than',\r\n lessOrEqual: 'less than or equal to',\r\n contains: 'contains',\r\n startsWith: 'starts with',\r\n endsWith: 'ends with',\r\n in: 'is one of',\r\n isNull: 'is empty',\r\n isNotNull: 'is not empty',\r\n between: 'is between',\r\n },\r\n },\r\n pagination: {\r\n records: 'records',\r\n perPage: 'per page',\r\n page: 'Page',\r\n previous: 'Previous',\r\n next: 'Next',\r\n first: 'First page',\r\n last: 'Last page',\r\n pageSizeAriaLabel: 'Page size',\r\n navAriaLabel: 'Pagination',\r\n jumpToPage: 'Jump to page',\r\n go: 'Go',\r\n },\r\n },\r\n sidebar: {\r\n collapse: 'Collapse menu',\r\n expand: 'Expand menu',\r\n switchTenant: 'Switch tenant',\r\n noTenants: 'No tenants found',\r\n noUser: 'Not signed in',\r\n nav: 'Main navigation',\r\n },\r\n tabs: {\r\n scrollStart: 'Scroll back',\r\n scrollEnd: 'Scroll forward',\r\n close: 'Close',\r\n },\r\n dropzone: {\r\n label: 'Drag files here or click to browse',\r\n },\r\n colorPicker: {\r\n ariaLabel: 'Pick color',\r\n hexAriaLabel: 'Hex color code',\r\n pickFromScreenAriaLabel: 'Pick color from screen',\r\n },\r\n boxInput: {\r\n top: 'Top',\r\n right: 'Right',\r\n bottom: 'Bottom',\r\n left: 'Left',\r\n linkSides: 'Link sides',\r\n unlinkSides: 'Unlink sides',\r\n },\r\n combobox: {\r\n placeholder: 'Search...',\r\n noResults: 'No results',\r\n },\r\n select: {\r\n placeholder: 'Select',\r\n },\r\n searchInput: {\r\n placeholder: 'Search...',\r\n ariaLabel: 'Search',\r\n clearAriaLabel: 'Clear',\r\n },\r\n toast: {\r\n dismiss: 'Dismiss',\r\n },\r\n otpInput: {\r\n ariaLabel: 'One-time code',\r\n },\r\n stepper: {\r\n ariaLabel: 'Steps',\r\n },\r\n progress: {\r\n ariaLabel: 'Progress',\r\n },\r\n passwordInput: {\r\n show: 'Show',\r\n hide: 'Hide',\r\n },\r\n chip: {\r\n remove: 'Remove',\r\n },\r\n alert: {\r\n dismiss: 'Dismiss',\r\n },\r\n breadcrumb: {\r\n ariaLabel: 'Breadcrumb',\r\n },\r\n avatarGroup: {\r\n overflowAriaLabel: 'more',\r\n },\r\n chart: {\r\n showTable: 'Show as table',\r\n showChart: 'Show as chart',\r\n category: 'Category',\r\n },\r\n command: {\r\n placeholder: 'Type a command or search…',\r\n ariaLabel: 'Command palette',\r\n empty: 'No results found.',\r\n resultsCount: 'results',\r\n navigate: 'to navigate',\r\n select: 'to select',\r\n close: 'to close',\r\n },\r\n characterCount: {\r\n remaining: 'characters remaining',\r\n overLimit: 'characters over the limit',\r\n characters: 'characters',\r\n },\r\n copy: {\r\n copy: 'Copy',\r\n copied: 'Copied',\r\n failed: 'Copy failed',\r\n code: 'Code',\r\n },\r\n pagination: {\r\n navAriaLabel: 'Pagination',\r\n previous: 'Previous page',\r\n next: 'Next page',\r\n first: 'First page',\r\n last: 'Last page',\r\n page: 'Page',\r\n },\r\n tour: {\r\n next: 'Next',\r\n back: 'Back',\r\n skip: 'Skip tour',\r\n done: 'Done',\r\n stepOf: 'of',\r\n },\r\n rating: {\r\n ariaLabel: 'Rating',\r\n outOf: 'out of',\r\n },\r\n themeSwitcher: {\r\n ariaLabel: 'Color theme',\r\n light: 'Light',\r\n dark: 'Dark',\r\n system: 'System',\r\n },\r\n treeSelect: {\r\n placeholder: 'Select',\r\n searchPlaceholder: 'Search…',\r\n noResults: 'No results',\r\n },\r\n};\r\n","import { computed, inject, InjectionToken, type Signal, signal } from '@angular/core';\r\nimport { enUS, type Locale } from 'date-fns/locale';\r\nimport type { MfLabels } from './labels';\r\nimport { mfLabelsEn } from './labels.en';\r\n\r\n/**\r\n * Kitin TEK metin kaynağı — `provideMesgflowUi()` (bkz. `provide.ts`)\r\n * `provide` etmezse tüketici İngilizce varsayılanlarla çalışır (ng-zorro'nun\r\n * `NZ_I18N`'i / PrimeNG'nin `providePrimeNG` config'iyle aynı desen — bu kit\r\n * daha önce sadece Dialog için uyguluyordu, `MF_DIALOG_LABELS` artık bu\r\n * token'dan türeyen bir \"seçici\" — bkz. aşağıdaki `labelToken`).\r\n */\r\nexport const MF_LABELS = new InjectionToken<Signal<MfLabels>>('mesgflow.labels', {\r\n factory: () => signal(mfLabelsEn),\r\n});\r\n\r\n/** Calendar/DatePicker'ın ay/gün adları için — varsayılan `enUS`, `provideMesgflowUi({ dateLocale })` ile değiştirilir. */\r\nexport const MF_DATE_LOCALE = new InjectionToken<Signal<Locale>>('mesgflow.date-locale', {\r\n factory: () => signal(enUS),\r\n});\r\n\r\n/**\r\n * `MF_LABELS`'ın bir alt-alanına daralan, reaktif bir \"seçici\" token üretir\r\n * — her bileşen ailesi umbrella nesnenin TAMAMINI değil sadece kendi\r\n * alanını inject eder. `computed()` içindeki `labels` referansı DIŞARIDA\r\n * (factory'nin senkron gövdesinde) `inject()` edildiği için geçerli bir DI\r\n * bağlamında çözülüyor; `computed`'ın kendi callback'i içinde `inject()`\r\n * çağırmak ÇALIŞMAZ (lazy değerlendirme DI bağlamının dışında kalır).\r\n */\r\nfunction labelToken<K extends keyof MfLabels>(key: K, name: string) {\r\n return new InjectionToken<Signal<MfLabels[K]>>(`mesgflow.${name}-labels`, {\r\n factory: () => {\r\n const labels = inject(MF_LABELS);\r\n return computed(() => labels()[key]);\r\n },\r\n });\r\n}\r\n\r\nexport const MF_COMMON_LABELS = labelToken('common', 'common');\r\nexport const MF_DIALOG_LABELS = labelToken('dialog', 'dialog');\r\nexport const MF_DATE_PICKER_LABELS = labelToken('datePicker', 'date-picker');\r\nexport const MF_TIME_PICKER_LABELS = labelToken('timePicker', 'time-picker');\r\nexport const MF_TABLE_LABELS = labelToken('table', 'table');\r\nexport const MF_SIDEBAR_LABELS = labelToken('sidebar', 'sidebar');\r\nexport const MF_TABS_LABELS = labelToken('tabs', 'tabs');\r\nexport const MF_DROPZONE_LABELS = labelToken('dropzone', 'dropzone');\r\nexport const MF_COLOR_PICKER_LABELS = labelToken('colorPicker', 'color-picker');\r\nexport const MF_BOX_INPUT_LABELS = labelToken('boxInput', 'box-input');\r\nexport const MF_COMBOBOX_LABELS = labelToken('combobox', 'combobox');\r\nexport const MF_SELECT_LABELS = labelToken('select', 'select');\r\nexport const MF_SEARCH_INPUT_LABELS = labelToken('searchInput', 'search-input');\r\nexport const MF_TOAST_LABELS = labelToken('toast', 'toast');\r\nexport const MF_OTP_INPUT_LABELS = labelToken('otpInput', 'otp-input');\r\nexport const MF_STEPPER_LABELS = labelToken('stepper', 'stepper');\r\nexport const MF_PROGRESS_LABELS = labelToken('progress', 'progress');\r\nexport const MF_PASSWORD_INPUT_LABELS = labelToken('passwordInput', 'password-input');\r\nexport const MF_CHIP_LABELS = labelToken('chip', 'chip');\r\nexport const MF_ALERT_LABELS = labelToken('alert', 'alert');\r\nexport const MF_BREADCRUMB_LABELS = labelToken('breadcrumb', 'breadcrumb');\r\nexport const MF_AVATAR_GROUP_LABELS = labelToken('avatarGroup', 'avatar-group');\r\nexport const MF_CHART_LABELS = labelToken('chart', 'chart');\r\nexport const MF_COMMAND_LABELS = labelToken('command', 'command');\r\nexport const MF_CHARACTER_COUNT_LABELS = labelToken('characterCount', 'character-count');\r\nexport const MF_COPY_LABELS = labelToken('copy', 'copy');\r\nexport const MF_PAGINATION_LABELS = labelToken('pagination', 'pagination');\r\nexport const MF_TOUR_LABELS = labelToken('tour', 'tour');\r\nexport const MF_RATING_LABELS = labelToken('rating', 'rating');\r\nexport const MF_THEME_SWITCHER_LABELS = labelToken('themeSwitcher', 'theme-switcher');\r\nexport const MF_TREE_SELECT_LABELS = labelToken('treeSelect', 'tree-select');\r\n","import {\r\n computed,\r\n type EnvironmentProviders,\r\n isSignal,\r\n makeEnvironmentProviders,\r\n type Provider,\r\n signal,\r\n type Signal,\r\n} from '@angular/core';\r\nimport type { Locale } from 'date-fns/locale';\r\nimport { type DeepPartial, mergeLabels, type MfLabels } from './labels';\r\nimport { mfLabelsEn } from './labels.en';\r\nimport { MF_DATE_LOCALE, MF_LABELS } from './tokens';\r\n\r\nexport interface ProvideMesgflowUiOptions {\r\n /**\r\n * `mfLabelsEn`'in üstüne yazılacak alanlar — ya sabit bir `DeepPartial<MfLabels>`\r\n * (ör. `mfLabelsTr`, bkz. `@mesgflow/ui-kit/i18n/tr`) ya da tüketicinin kendi\r\n * i18n sistemine bağlı, dil değişince CANLI güncellenen bir `Signal`. Her\r\n * iki durumda da verilmeyen her yaprak `mfLabelsEn`'den gelir — TAM bir\r\n * `MfLabels` nesnesi sağlamak ZORUNLU değil.\r\n */\r\n labels?: DeepPartial<MfLabels> | Signal<DeepPartial<MfLabels>>;\r\n /** Calendar/DatePicker ay/gün adları — varsayılan `date-fns/locale`'in `enUS`'u. */\r\n dateLocale?: Locale;\r\n}\r\n\r\n/**\r\n * `app.config.ts`'in `providers` dizisine eklenir — `MF_LABELS`/`MF_DATE_LOCALE`'ı\r\n * (ve bunlardan türeyen `MF_DIALOG_LABELS`/`MF_TABLE_LABELS`/… seçici\r\n * token'larını, bkz. `tokens.ts`) tüketicinin verdiği değerlerle sağlar.\r\n * Hiç çağrılmazsa kit İngilizce varsayılanlarla (`mfLabelsEn`, `enUS`) çalışır.\r\n *\r\n * ```ts\r\n * import { provideMesgflowUi } from '@mesgflow/ui-kit';\r\n * import { mfLabelsTr } from '@mesgflow/ui-kit/i18n/tr';\r\n * import { tr } from 'date-fns/locale';\r\n *\r\n * providers: [provideMesgflowUi({ labels: mfLabelsTr, dateLocale: tr })]\r\n * ```\r\n */\r\nexport function provideMesgflowUi(options: ProvideMesgflowUiOptions = {}): EnvironmentProviders {\r\n const providers: Provider[] = [];\r\n\r\n if (options.labels !== undefined) {\r\n const labelsOption = options.labels;\r\n providers.push({\r\n provide: MF_LABELS,\r\n useFactory: () =>\r\n isSignal(labelsOption)\r\n ? computed(() => mergeLabels(mfLabelsEn, labelsOption()))\r\n : signal(mergeLabels(mfLabelsEn, labelsOption)),\r\n });\r\n }\r\n\r\n if (options.dateLocale) {\r\n const dateLocale = options.dateLocale;\r\n providers.push({ provide: MF_DATE_LOCALE, useFactory: () => signal(dateLocale) });\r\n }\r\n\r\n return makeEnvironmentProviders(providers);\r\n}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|