@mesgflow/ui-kit 0.9.0 → 0.11.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 (34) hide show
  1. package/fesm2022/mesgflow-ui-kit-badge.mjs +20 -6
  2. package/fesm2022/mesgflow-ui-kit-badge.mjs.map +1 -1
  3. package/fesm2022/mesgflow-ui-kit-brand.mjs +6 -0
  4. package/fesm2022/mesgflow-ui-kit-brand.mjs.map +1 -1
  5. package/fesm2022/mesgflow-ui-kit-core.mjs +23 -3
  6. package/fesm2022/mesgflow-ui-kit-core.mjs.map +1 -1
  7. package/fesm2022/mesgflow-ui-kit-dialog.mjs +26 -5
  8. package/fesm2022/mesgflow-ui-kit-dialog.mjs.map +1 -1
  9. package/fesm2022/mesgflow-ui-kit-drawer.mjs +20 -5
  10. package/fesm2022/mesgflow-ui-kit-drawer.mjs.map +1 -1
  11. package/fesm2022/mesgflow-ui-kit-i18n-tr.mjs +1 -1
  12. package/fesm2022/mesgflow-ui-kit-i18n-tr.mjs.map +1 -1
  13. package/fesm2022/mesgflow-ui-kit-input.mjs +101 -95
  14. package/fesm2022/mesgflow-ui-kit-input.mjs.map +1 -1
  15. package/fesm2022/mesgflow-ui-kit-menu.mjs +216 -18
  16. package/fesm2022/mesgflow-ui-kit-menu.mjs.map +1 -1
  17. package/fesm2022/mesgflow-ui-kit-popover.mjs +43 -13
  18. package/fesm2022/mesgflow-ui-kit-popover.mjs.map +1 -1
  19. package/fesm2022/mesgflow-ui-kit-sidebar.mjs +51 -11
  20. package/fesm2022/mesgflow-ui-kit-sidebar.mjs.map +1 -1
  21. package/fesm2022/mesgflow-ui-kit-split-button.mjs +1 -1
  22. package/fesm2022/mesgflow-ui-kit-split-button.mjs.map +1 -1
  23. package/fesm2022/mesgflow-ui-kit-table.mjs +48 -42
  24. package/fesm2022/mesgflow-ui-kit-table.mjs.map +1 -1
  25. package/package.json +1 -1
  26. package/tokens.json +1 -1
  27. package/types/mesgflow-ui-kit-badge.d.ts +9 -3
  28. package/types/mesgflow-ui-kit-dialog.d.ts +18 -2
  29. package/types/mesgflow-ui-kit-drawer.d.ts +3 -1
  30. package/types/mesgflow-ui-kit-input.d.ts +6 -6
  31. package/types/mesgflow-ui-kit-menu.d.ts +78 -15
  32. package/types/mesgflow-ui-kit-popover.d.ts +32 -7
  33. package/types/mesgflow-ui-kit-sidebar.d.ts +35 -2
  34. package/types/mesgflow-ui-kit-table.d.ts +7 -7
@@ -32,6 +32,9 @@ class Drawer {
32
32
  /** `true` ise Escape/backdrop kapatmaz — yalnızca programatik `open.set(false)`. */
33
33
  disableClose = input(false, { ...(ngDevMode ? { debugName: "disableClose" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
34
34
  sheetOnMobile = input(true, { ...(ngDevMode ? { debugName: "sheetOnMobile" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
35
+ /** Kapat (X) düğmesinin erişilebilir adı — bkz. `Dialog.closeLabel`. `disableClose` iken X çizilmez. */
36
+ closeLabel = input(/* @ts-ignore */
37
+ ...(ngDevMode ? [undefined, { debugName: "closeLabel" }] : /* istanbul ignore next */ []));
35
38
  /** Görünür başlık yoksa ekran okuyucu için ad. */
36
39
  ariaLabel = input(/* @ts-ignore */
37
40
  ...(ngDevMode ? [undefined, { debugName: "ariaLabel" }] : /* istanbul ignore next */ []));
@@ -74,14 +77,20 @@ class Drawer {
74
77
  });
75
78
  }
76
79
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.7", ngImport: i0, type: Drawer, deps: [], target: i0.ɵɵFactoryTarget.Component });
77
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "22.1.7", type: Drawer, isStandalone: true, selector: "mf-drawer", inputs: { open: { classPropertyName: "open", publicName: "open", isSignal: true, isRequired: false, transformFunction: null }, title: { classPropertyName: "title", publicName: "title", isSignal: true, isRequired: false, transformFunction: null }, subtitle: { classPropertyName: "subtitle", publicName: "subtitle", isSignal: true, isRequired: false, transformFunction: null }, icon: { classPropertyName: "icon", publicName: "icon", isSignal: true, isRequired: false, transformFunction: null }, placement: { classPropertyName: "placement", publicName: "placement", isSignal: true, isRequired: false, transformFunction: null }, size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null }, disableClose: { classPropertyName: "disableClose", publicName: "disableClose", isSignal: true, isRequired: false, transformFunction: null }, sheetOnMobile: { classPropertyName: "sheetOnMobile", publicName: "sheetOnMobile", isSignal: true, isRequired: false, transformFunction: null }, ariaLabel: { classPropertyName: "ariaLabel", publicName: "ariaLabel", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { open: "openChange", closed: "closed" }, host: { classAttribute: "contents" }, viewQueries: [{ propertyName: "panel", first: true, predicate: ["panel"], descendants: true, isSignal: true }], exportAs: ["mfDrawer"], ngImport: i0, template: `
80
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "22.1.7", type: Drawer, isStandalone: true, selector: "mf-drawer", inputs: { open: { classPropertyName: "open", publicName: "open", isSignal: true, isRequired: false, transformFunction: null }, title: { classPropertyName: "title", publicName: "title", isSignal: true, isRequired: false, transformFunction: null }, subtitle: { classPropertyName: "subtitle", publicName: "subtitle", isSignal: true, isRequired: false, transformFunction: null }, icon: { classPropertyName: "icon", publicName: "icon", isSignal: true, isRequired: false, transformFunction: null }, placement: { classPropertyName: "placement", publicName: "placement", isSignal: true, isRequired: false, transformFunction: null }, size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null }, disableClose: { classPropertyName: "disableClose", publicName: "disableClose", isSignal: true, isRequired: false, transformFunction: null }, sheetOnMobile: { classPropertyName: "sheetOnMobile", publicName: "sheetOnMobile", isSignal: true, isRequired: false, transformFunction: null }, closeLabel: { classPropertyName: "closeLabel", publicName: "closeLabel", isSignal: true, isRequired: false, transformFunction: null }, ariaLabel: { classPropertyName: "ariaLabel", publicName: "ariaLabel", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { open: "openChange", closed: "closed" }, host: { classAttribute: "contents" }, viewQueries: [{ propertyName: "panel", first: true, predicate: ["panel"], descendants: true, isSignal: true }], exportAs: ["mfDrawer"], ngImport: i0, template: `
78
81
  <ng-template #panel>
79
- <mf-dialog [title]="title()" [subtitle]="subtitle()" [icon]="icon()" (close)="hide()">
82
+ <mf-dialog
83
+ [title]="title()"
84
+ [subtitle]="subtitle()"
85
+ [icon]="icon()"
86
+ [closeLabel]="closeLabel()"
87
+ (close)="hide()"
88
+ >
80
89
  <ng-content />
81
90
  <div dialog-footer class="contents"><ng-content select="[drawer-footer]" /></div>
82
91
  </mf-dialog>
83
92
  </ng-template>
84
- `, isInline: true, dependencies: [{ kind: "component", type: Dialog, selector: "mf-dialog", inputs: ["title", "subtitle", "icon", "size", "fillBody", "autoClose"], outputs: ["close"], exportAs: ["mfDialog"] }] });
93
+ `, isInline: true, dependencies: [{ kind: "component", type: Dialog, selector: "mf-dialog", inputs: ["title", "subtitle", "icon", "size", "fillBody", "autoClose", "closeLabel", "showClose"], outputs: ["close"], exportAs: ["mfDialog"] }] });
85
94
  }
86
95
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.7", ngImport: i0, type: Drawer, decorators: [{
87
96
  type: Component,
@@ -92,14 +101,20 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.7", ngImpor
92
101
  host: { class: 'contents' },
93
102
  template: `
94
103
  <ng-template #panel>
95
- <mf-dialog [title]="title()" [subtitle]="subtitle()" [icon]="icon()" (close)="hide()">
104
+ <mf-dialog
105
+ [title]="title()"
106
+ [subtitle]="subtitle()"
107
+ [icon]="icon()"
108
+ [closeLabel]="closeLabel()"
109
+ (close)="hide()"
110
+ >
96
111
  <ng-content />
97
112
  <div dialog-footer class="contents"><ng-content select="[drawer-footer]" /></div>
98
113
  </mf-dialog>
99
114
  </ng-template>
100
115
  `,
101
116
  }]
102
- }], ctorParameters: () => [], propDecorators: { open: [{ type: i0.Input, args: [{ isSignal: true, alias: "open", required: false }] }, { type: i0.Output, args: ["openChange"] }], title: [{ type: i0.Input, args: [{ isSignal: true, alias: "title", required: false }] }], subtitle: [{ type: i0.Input, args: [{ isSignal: true, alias: "subtitle", required: false }] }], icon: [{ type: i0.Input, args: [{ isSignal: true, alias: "icon", required: false }] }], placement: [{ type: i0.Input, args: [{ isSignal: true, alias: "placement", required: false }] }], size: [{ type: i0.Input, args: [{ isSignal: true, alias: "size", required: false }] }], disableClose: [{ type: i0.Input, args: [{ isSignal: true, alias: "disableClose", required: false }] }], sheetOnMobile: [{ type: i0.Input, args: [{ isSignal: true, alias: "sheetOnMobile", required: false }] }], ariaLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "ariaLabel", required: false }] }], closed: [{ type: i0.Output, args: ["closed"] }], panel: [{ type: i0.ViewChild, args: ['panel', { isSignal: true }] }] } });
117
+ }], ctorParameters: () => [], propDecorators: { open: [{ type: i0.Input, args: [{ isSignal: true, alias: "open", required: false }] }, { type: i0.Output, args: ["openChange"] }], title: [{ type: i0.Input, args: [{ isSignal: true, alias: "title", required: false }] }], subtitle: [{ type: i0.Input, args: [{ isSignal: true, alias: "subtitle", required: false }] }], icon: [{ type: i0.Input, args: [{ isSignal: true, alias: "icon", required: false }] }], placement: [{ type: i0.Input, args: [{ isSignal: true, alias: "placement", required: false }] }], size: [{ type: i0.Input, args: [{ isSignal: true, alias: "size", required: false }] }], disableClose: [{ type: i0.Input, args: [{ isSignal: true, alias: "disableClose", required: false }] }], sheetOnMobile: [{ type: i0.Input, args: [{ isSignal: true, alias: "sheetOnMobile", required: false }] }], closeLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "closeLabel", required: false }] }], ariaLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "ariaLabel", required: false }] }], closed: [{ type: i0.Output, args: ["closed"] }], panel: [{ type: i0.ViewChild, args: ['panel', { isSignal: true }] }] } });
103
118
 
104
119
  /**
105
120
  * Generated bundle index. Do not edit.
@@ -1 +1 @@
1
- {"version":3,"file":"mesgflow-ui-kit-drawer.mjs","sources":["../../../projects/ui-kit/drawer/drawer.ts","../../../projects/ui-kit/drawer/mesgflow-ui-kit-drawer.ts"],"sourcesContent":["import {\r\n Component,\r\n TemplateRef,\r\n booleanAttribute,\r\n effect,\r\n inject,\r\n input,\r\n model,\r\n output,\r\n untracked,\r\n viewChild,\r\n} from '@angular/core';\r\nimport {\r\n Dialog,\r\n DialogService,\r\n type MfDialogRef,\r\n type DialogPlacement,\r\n type DialogSize,\r\n} from '@mesgflow/ui-kit/dialog';\r\n\r\nexport type DrawerPlacement = Exclude<DialogPlacement, 'center'>;\r\n\r\n/**\r\n * `<mf-drawer [(open)]=\"filtersOpen\" title=\"Filtreler\" placement=\"end\" size=\"sm\">…</mf-drawer>`\r\n *\r\n * Bildirimsel çekmece (sheet) — `DialogService.openDrawer()`'ın şablon\r\n * sürümü: içerik bir component yazmadan doğrudan şablonda durur, açık/kapalı\r\n * durumu `open` modeliyle iki yönlü bağlanır.\r\n *\r\n * - `placement`: `start` / `end` (mantıksal, RTL'de çevrilir), `left` / `right`,\r\n * `top` / `bottom`. Her kenar kendi kayma animasyonuyla açılır.\r\n * - Dialog altyapısının TÜM davranışı: odak tuzağı + geri dönüş, Escape,\r\n * backdrop tıklaması, çıkış animasyonu, kirli-form koruması, cam yüzey.\r\n * - `<div drawer-footer>` slotu sabit altbilgiye gider (Kaydet/İptal).\r\n * - `sheetOnMobile=\"false\"`: mobilde de kenardan açılır (gezinme çekmeceleri).\r\n */\r\n@Component({\r\n selector: 'mf-drawer',\r\n exportAs: 'mfDrawer',\r\n imports: [Dialog],\r\n host: { class: 'contents' },\r\n template: `\r\n <ng-template #panel>\r\n <mf-dialog [title]=\"title()\" [subtitle]=\"subtitle()\" [icon]=\"icon()\" (close)=\"hide()\">\r\n <ng-content />\r\n <div dialog-footer class=\"contents\"><ng-content select=\"[drawer-footer]\" /></div>\r\n </mf-dialog>\r\n </ng-template>\r\n `,\r\n})\r\nexport class Drawer {\r\n readonly open = model(false);\r\n readonly title = input('');\r\n readonly subtitle = input('');\r\n readonly icon = input('');\r\n readonly placement = input<DrawerPlacement>('end');\r\n readonly size = input<Exclude<DialogSize, 'full'>>('md');\r\n /** `true` ise Escape/backdrop kapatmaz — yalnızca programatik `open.set(false)`. */\r\n readonly disableClose = input(false, { transform: booleanAttribute });\r\n readonly sheetOnMobile = input(true, { transform: booleanAttribute });\r\n /** Görünür başlık yoksa ekran okuyucu için ad. */\r\n readonly ariaLabel = input<string>();\r\n\r\n /** Kapanış tamamlandığında (animasyon dahil). */\r\n readonly closed = output<void>();\r\n\r\n private readonly dialog = inject(DialogService);\r\n private readonly panel = viewChild.required<TemplateRef<unknown>>('panel');\r\n private ref: MfDialogRef<unknown, unknown> | null = null;\r\n\r\n constructor() {\r\n effect(() => {\r\n const shouldOpen = this.open();\r\n untracked(() => {\r\n if (shouldOpen && !this.ref) this.show();\r\n else if (!shouldOpen && this.ref) this.ref.close();\r\n });\r\n });\r\n }\r\n\r\n /** Programatik kapatma — `open.set(false)` ile eşdeğer. */\r\n hide(): void {\r\n this.ref?.close();\r\n }\r\n\r\n private show(): void {\r\n const ref = this.dialog.open<unknown, undefined, unknown>(this.panel(), {\r\n placement: this.placement(),\r\n size: this.size(),\r\n disableClose: this.disableClose(),\r\n sheetOnMobile: this.sheetOnMobile(),\r\n ariaLabel: this.ariaLabel() ?? (this.title() || undefined),\r\n maximizable: false,\r\n });\r\n this.ref = ref;\r\n ref.closed.subscribe(() => {\r\n this.ref = null;\r\n if (this.open()) this.open.set(false);\r\n this.closed.emit();\r\n });\r\n }\r\n}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mesgflow-ui-kit-drawer.mjs","sources":["../../../projects/ui-kit/drawer/drawer.ts","../../../projects/ui-kit/drawer/mesgflow-ui-kit-drawer.ts"],"sourcesContent":["import {\r\n Component,\r\n TemplateRef,\r\n booleanAttribute,\r\n effect,\r\n inject,\r\n input,\r\n model,\r\n output,\r\n untracked,\r\n viewChild,\r\n} from '@angular/core';\r\nimport {\r\n Dialog,\r\n DialogService,\r\n type MfDialogRef,\r\n type DialogPlacement,\r\n type DialogSize,\r\n} from '@mesgflow/ui-kit/dialog';\r\n\r\nexport type DrawerPlacement = Exclude<DialogPlacement, 'center'>;\r\n\r\n/**\r\n * `<mf-drawer [(open)]=\"filtersOpen\" title=\"Filtreler\" placement=\"end\" size=\"sm\">…</mf-drawer>`\r\n *\r\n * Bildirimsel çekmece (sheet) — `DialogService.openDrawer()`'ın şablon\r\n * sürümü: içerik bir component yazmadan doğrudan şablonda durur, açık/kapalı\r\n * durumu `open` modeliyle iki yönlü bağlanır.\r\n *\r\n * - `placement`: `start` / `end` (mantıksal, RTL'de çevrilir), `left` / `right`,\r\n * `top` / `bottom`. Her kenar kendi kayma animasyonuyla açılır.\r\n * - Dialog altyapısının TÜM davranışı: odak tuzağı + geri dönüş, Escape,\r\n * backdrop tıklaması, çıkış animasyonu, kirli-form koruması, cam yüzey.\r\n * - `<div drawer-footer>` slotu sabit altbilgiye gider (Kaydet/İptal).\r\n * - `sheetOnMobile=\"false\"`: mobilde de kenardan açılır (gezinme çekmeceleri).\r\n */\r\n@Component({\r\n selector: 'mf-drawer',\r\n exportAs: 'mfDrawer',\r\n imports: [Dialog],\r\n host: { class: 'contents' },\r\n template: `\r\n <ng-template #panel>\r\n <mf-dialog\r\n [title]=\"title()\"\r\n [subtitle]=\"subtitle()\"\r\n [icon]=\"icon()\"\r\n [closeLabel]=\"closeLabel()\"\r\n (close)=\"hide()\"\r\n >\r\n <ng-content />\r\n <div dialog-footer class=\"contents\"><ng-content select=\"[drawer-footer]\" /></div>\r\n </mf-dialog>\r\n </ng-template>\r\n `,\r\n})\r\nexport class Drawer {\r\n readonly open = model(false);\r\n readonly title = input('');\r\n readonly subtitle = input('');\r\n readonly icon = input('');\r\n readonly placement = input<DrawerPlacement>('end');\r\n readonly size = input<Exclude<DialogSize, 'full'>>('md');\r\n /** `true` ise Escape/backdrop kapatmaz — yalnızca programatik `open.set(false)`. */\r\n readonly disableClose = input(false, { transform: booleanAttribute });\r\n readonly sheetOnMobile = input(true, { transform: booleanAttribute });\r\n /** Kapat (X) düğmesinin erişilebilir adı — bkz. `Dialog.closeLabel`. `disableClose` iken X çizilmez. */\r\n readonly closeLabel = input<string>();\r\n /** Görünür başlık yoksa ekran okuyucu için ad. */\r\n readonly ariaLabel = input<string>();\r\n\r\n /** Kapanış tamamlandığında (animasyon dahil). */\r\n readonly closed = output<void>();\r\n\r\n private readonly dialog = inject(DialogService);\r\n private readonly panel = viewChild.required<TemplateRef<unknown>>('panel');\r\n private ref: MfDialogRef<unknown, unknown> | null = null;\r\n\r\n constructor() {\r\n effect(() => {\r\n const shouldOpen = this.open();\r\n untracked(() => {\r\n if (shouldOpen && !this.ref) this.show();\r\n else if (!shouldOpen && this.ref) this.ref.close();\r\n });\r\n });\r\n }\r\n\r\n /** Programatik kapatma — `open.set(false)` ile eşdeğer. */\r\n hide(): void {\r\n this.ref?.close();\r\n }\r\n\r\n private show(): void {\r\n const ref = this.dialog.open<unknown, undefined, unknown>(this.panel(), {\r\n placement: this.placement(),\r\n size: this.size(),\r\n disableClose: this.disableClose(),\r\n sheetOnMobile: this.sheetOnMobile(),\r\n ariaLabel: this.ariaLabel() ?? (this.title() || undefined),\r\n maximizable: false,\r\n });\r\n this.ref = ref;\r\n ref.closed.subscribe(() => {\r\n this.ref = null;\r\n if (this.open()) this.open.set(false);\r\n this.closed.emit();\r\n });\r\n }\r\n}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -14,7 +14,7 @@ const mfLabelsTr = {
14
14
  remove: 'Kaldır',
15
15
  },
16
16
  dialog: {
17
- close: 'Kapat',
17
+ close: 'Pencereyi kapat',
18
18
  resize: 'Yeniden boyutlandır',
19
19
  fullscreenEnter: 'Tam ekran yap',
20
20
  fullscreenExit: 'Tam ekrandan çık',
@@ -1 +1 @@
1
- {"version":3,"file":"mesgflow-ui-kit-i18n-tr.mjs","sources":["../../../projects/ui-kit/i18n/tr/labels.tr.ts","../../../projects/ui-kit/i18n/tr/mesgflow-ui-kit-i18n-tr.ts"],"sourcesContent":["import type { MfLabels } from '@mesgflow/ui-kit/core';\r\n\r\n/**\r\n * `provideMesgflowUi({ labels: mfLabelsTr, dateLocale: tr })` ile sağlanan\r\n * Türkçe çeviri kümesi — kitin İngilizce varsayılanının (`mfLabelsEn`, bkz.\r\n * `@mesgflow/ui-kit/core`) AYNI şeklini taşır, sadece değerleri Türkçe. AYRI bir\r\n * ikincil giriş noktası (`@mesgflow/ui-kit/i18n/tr`) olmasının sebebi: birincil\r\n * barrel'a (`@mesgflow/ui-kit`) dahil OLMAMASI — Türkçe metin isteyen tüketici\r\n * BİLEREK import eder, İngilizce varsayılanı tercih eden tüketicinin bundle'ına\r\n * hiç girmez.\r\n */\r\nexport const mfLabelsTr: MfLabels = {\r\n common: {\r\n loading: 'Yükleniyor',\r\n clear: 'Temizle',\r\n remove: 'Kaldır',\r\n },\r\n dialog: {\r\n close: 'Kapat',\r\n resize: 'Yeniden boyutlandır',\r\n fullscreenEnter: 'Tam ekran yap',\r\n fullscreenExit: 'Tam ekrandan çık',\r\n confirmOk: 'Tamam',\r\n confirmCancel: 'İptal',\r\n confirmConfirm: 'Onayla',\r\n confirmDelete: 'Sil',\r\n errorGeneric: 'Bir şeyler ters gitti. Lütfen tekrar deneyin.',\r\n discard: {\r\n title: 'Kaydedilmemiş değişiklikler',\r\n content: 'Bu paneli kapatmak girdiklerinizi silecek.',\r\n confirm: 'Vazgeç ve kapat',\r\n cancel: 'Düzenlemeye devam et',\r\n },\r\n },\r\n datePicker: {\r\n today: 'Bugün',\r\n clear: 'Temizle',\r\n apply: 'Uygula',\r\n previousMonth: 'Önceki ay',\r\n nextMonth: 'Sonraki ay',\r\n previousYear: 'Önceki yıl',\r\n nextYear: 'Sonraki yıl',\r\n chooseMonth: 'Ay seç',\r\n chooseYear: 'Yıl seç',\r\n startDate: 'Başlangıç',\r\n endDate: 'Bitiş',\r\n placeholder: 'gg.aa.yyyy',\r\n presetToday: 'Bugün',\r\n presetLast7: 'Son 7 gün',\r\n presetLast30: 'Son 30 gün',\r\n presetThisMonth: 'Bu ay',\r\n date: 'Tarih',\r\n time: 'Saat',\r\n },\r\n timePicker: {\r\n placeholder: 'SS:DD',\r\n clear: 'Temizle',\r\n },\r\n table: {\r\n searchPlaceholder: 'Ara...',\r\n selectedCount: 'seçildi',\r\n edit: 'Düzenle',\r\n delete: 'Sil',\r\n clearSelection: 'Seçimi temizle',\r\n emptyTitle: 'Kayıt yok',\r\n emptyDescription: '',\r\n noResultsTitle: 'Sonuç bulunamadı',\r\n noResultsDescription: 'Farklı bir arama veya filtre deneyin.',\r\n clearFilters: 'Filtreleri temizle',\r\n filterCount: 'filtre',\r\n selectAllAriaLabel: 'Tümünü seç',\r\n selectRowAriaLabel: 'Satırı seç',\r\n actionsColumnLabel: 'İşlemler',\r\n columns: 'Kolonlar',\r\n density: 'Yoğunluk',\r\n densityComfortable: 'Rahat',\r\n densityCompact: 'Sık',\r\n resizeColumn: 'Sütunu yeniden boyutlandır',\r\n expandRow: 'Satırı genişlet',\r\n collapseRow: 'Satırı daralt',\r\n filter: {\r\n addFilter: 'Filtre',\r\n searchField: 'Alan ara...',\r\n noField: 'Alan bulunamadı',\r\n operator: 'Operatör',\r\n value: 'Değer',\r\n apply: 'Uygula',\r\n enterHint: 'Enter',\r\n clearAll: 'Temizle',\r\n and: 'VE',\r\n or: 'VEYA',\r\n remove: 'Kaldır',\r\n back: 'Geri',\r\n dateToday: 'Bugün',\r\n dateLast7: 'Son 7 gün',\r\n dateLast30: 'Son 30 gün',\r\n dateThisMonth: 'Bu ay',\r\n dateCustom: 'Özel aralık',\r\n dateFrom: 'Başlangıç',\r\n dateTo: 'Bitiş',\r\n operators: {\r\n equal: 'eşittir',\r\n notEqual: 'eşit değildir',\r\n greaterThan: 'büyüktür',\r\n greaterOrEqual: 'büyük eşittir',\r\n lessThan: 'küçüktür',\r\n lessOrEqual: 'küçük eşittir',\r\n contains: 'içerir',\r\n startsWith: 'ile başlar',\r\n endsWith: 'ile biter',\r\n in: 'şunlardan biri',\r\n isNull: 'boş',\r\n isNotNull: 'dolu',\r\n between: 'aralığında',\r\n },\r\n },\r\n pagination: {\r\n records: 'kayıt',\r\n perPage: 'sayfa başına',\r\n page: 'Sayfa',\r\n previous: 'Önceki',\r\n next: 'Sonraki',\r\n first: 'İlk sayfa',\r\n last: 'Son sayfa',\r\n pageSizeAriaLabel: 'Sayfa boyutu',\r\n navAriaLabel: 'Sayfalama',\r\n jumpToPage: 'Sayfaya git',\r\n go: 'Git',\r\n },\r\n },\r\n sidebar: {\r\n collapse: 'Menüyü daralt',\r\n expand: 'Menüyü genişlet',\r\n switchTenant: 'Kiracı değiştir',\r\n noTenants: 'Kiracı bulunamadı',\r\n noUser: 'Oturum açılmadı',\r\n nav: 'Ana gezinme',\r\n },\r\n tabs: {\r\n scrollStart: 'Geri kaydır',\r\n scrollEnd: 'İleri kaydır',\r\n close: 'Kapat',\r\n },\r\n dropzone: {\r\n label: 'Dosyaları buraya sürükle veya seçmek için tıkla',\r\n },\r\n colorPicker: {\r\n ariaLabel: 'Renk seç',\r\n hexAriaLabel: 'Hex renk kodu',\r\n pickFromScreenAriaLabel: 'Ekrandan renk seç',\r\n },\r\n boxInput: {\r\n top: 'Üst',\r\n right: 'Sağ',\r\n bottom: 'Alt',\r\n left: 'Sol',\r\n linkSides: 'Kenarları bağla',\r\n unlinkSides: 'Kenarları ayır',\r\n },\r\n combobox: {\r\n placeholder: 'Ara...',\r\n noResults: 'Sonuç yok',\r\n create: '“{query}” oluştur',\r\n remove: '{label} kaldır',\r\n },\r\n select: {\r\n placeholder: 'Seç',\r\n },\r\n searchInput: {\r\n placeholder: 'Ara...',\r\n ariaLabel: 'Ara',\r\n clearAriaLabel: 'Temizle',\r\n },\r\n toast: {\r\n dismiss: 'Kapat',\r\n },\r\n otpInput: {\r\n ariaLabel: 'Tek kullanımlık kod',\r\n },\r\n stepper: {\r\n ariaLabel: 'Adımlar',\r\n optional: 'İsteğe bağlı',\r\n completed: 'Tamamlandı',\r\n error: 'Dikkat gerekiyor',\r\n },\r\n progress: {\r\n ariaLabel: 'İlerleme',\r\n },\r\n passwordInput: {\r\n show: 'Göster',\r\n hide: 'Gizle',\r\n },\r\n qrCode: {\r\n ariaLabel: 'QR kod',\r\n error: 'QR kod oluşturulamadı: içerik çok uzun.',\r\n },\r\n chip: {\r\n remove: 'Kaldır',\r\n },\r\n alert: {\r\n dismiss: 'Kapat',\r\n },\r\n breadcrumb: {\r\n ariaLabel: 'Sayfa yolu',\r\n },\r\n avatarGroup: {\r\n overflowAriaLabel: 'diğer kullanıcı',\r\n },\r\n chart: {\r\n showTable: 'Tablo olarak göster',\r\n showChart: 'Grafik olarak göster',\r\n category: 'Kategori',\r\n },\r\n command: {\r\n placeholder: 'Bir komut yazın ya da arayın…',\r\n ariaLabel: 'Komut paleti',\r\n empty: 'Sonuç bulunamadı.',\r\n resultsCount: 'sonuç',\r\n navigate: 'gezin',\r\n select: 'seç',\r\n close: 'kapat',\r\n },\r\n characterCount: {\r\n remaining: 'karakter kaldı',\r\n overLimit: 'karakter sınırın üzerinde',\r\n characters: 'karakter',\r\n },\r\n copy: {\r\n copy: 'Kopyala',\r\n copied: 'Kopyalandı',\r\n failed: 'Kopyalanamadı',\r\n code: 'Kod',\r\n },\r\n pagination: {\r\n navAriaLabel: 'Sayfalama',\r\n previous: 'Önceki sayfa',\r\n next: 'Sonraki sayfa',\r\n first: 'İlk sayfa',\r\n last: 'Son sayfa',\r\n page: 'Sayfa',\r\n },\r\n tour: {\r\n next: 'İleri',\r\n back: 'Geri',\r\n skip: 'Turu atla',\r\n done: 'Bitir',\r\n stepOf: '/',\r\n },\r\n rating: {\r\n ariaLabel: 'Puan',\r\n outOf: '/',\r\n },\r\n themeSwitcher: {\r\n ariaLabel: 'Renk teması',\r\n light: 'Açık',\r\n dark: 'Koyu',\r\n system: 'Sistem',\r\n },\r\n treeSelect: {\r\n placeholder: 'Seçin',\r\n searchPlaceholder: 'Ara…',\r\n noResults: 'Sonuç bulunamadı',\r\n },\r\n statTile: {\r\n increase: 'Artış',\r\n decrease: 'Azalış',\r\n noChange: 'Değişim yok',\r\n },\r\n slider: {\r\n minThumb: 'En az',\r\n maxThumb: 'En çok',\r\n },\r\n splitButton: {\r\n moreActions: 'Diğer eylemler',\r\n },\r\n fileUpload: {\r\n uploading: 'Yükleniyor…',\r\n done: 'Yüklendi',\r\n failed: 'Yükleme başarısız',\r\n queued: 'Sırada…',\r\n retry: 'Yeniden dene',\r\n cancel: 'İptal',\r\n remove: 'Kaldır',\r\n files: '{count} dosya',\r\n },\r\n sortable: {\r\n instructions:\r\n 'Almak için Boşluk, taşımak için ok tuşları, bırakmak için Boşluk, vazgeçmek için Escape.',\r\n grabbed: '{item} alındı. {total} öğeden {position}. sırada.',\r\n moved: '{item} {position}. sıraya taşındı ({total} öğe).',\r\n movedToColumn: '{item} {column} sütununa taşındı, {position}. sıra ({total} öğe).',\r\n dropped: '{item} {position}. sıraya bırakıldı ({total} öğe).',\r\n cancelled: 'Taşıma iptal edildi. {item} {position}. sıraya döndü.',\r\n dragHandle: '{item} sırasını değiştir',\r\n card: 'kart',\r\n },\r\n countdown: {\r\n days: 'gün',\r\n hours: 'saat',\r\n minutes: 'dakika',\r\n seconds: 'saniye',\r\n remaining: '{time} kaldı',\r\n finished: 'Süre doldu',\r\n },\r\n carousel: {\r\n previous: 'Önceki slayt',\r\n next: 'Sonraki slayt',\r\n slide: '{index} / {total}',\r\n pause: 'Otomatik oynatmayı durdur',\r\n play: 'Otomatik oynatmayı başlat',\r\n goTo: '{index}. slayda git',\r\n carousel: 'Karusel',\r\n },\r\n inlineEdit: {\r\n edit: 'Düzenle',\r\n save: 'Kaydet',\r\n cancel: 'Vazgeç',\r\n empty: 'Eklemek için tıklayın',\r\n },\r\n transferList: {\r\n available: 'Mevcut',\r\n selected: 'Seçilen',\r\n moveRight: 'Seçilenleri sağa taşı',\r\n moveLeft: 'Seçilenleri sola taşı',\r\n moveAllRight: 'Tümünü sağa taşı',\r\n moveAllLeft: 'Tümünü sola taşı',\r\n search: 'Ara',\r\n count: '{total} öğeden {selected} seçili',\r\n empty: 'Öğe yok',\r\n },\r\n lightbox: {\r\n close: 'Kapat',\r\n previous: 'Önceki görsel',\r\n next: 'Sonraki görsel',\r\n zoomIn: 'Yakınlaştır',\r\n zoomOut: 'Uzaklaştır',\r\n counter: '{index} / {total}',\r\n gallery: 'Görsel görüntüleyici',\r\n },\r\n notificationCenter: {\r\n title: 'Bildirimler',\r\n markAllRead: 'Tümünü okundu işaretle',\r\n empty: 'Hepsini okudunuz',\r\n emptyDescription: 'Yeni bildirimler burada görünür.',\r\n unread: 'Okunmamış',\r\n trigger: 'Bildirimler, {count} okunmamış',\r\n viewAll: 'Tümünü gör',\r\n },\r\n agenda: {\r\n allDay: 'Tüm gün',\r\n empty: 'Planlanmış bir şey yok',\r\n today: 'Bugün',\r\n tomorrow: 'Yarın',\r\n },\r\n mention: {\r\n suggestions: 'Öneriler',\r\n noResults: 'Eşleşme yok',\r\n },\r\n panelGroup: {\r\n resize: '{index}. paneli boyutlandır',\r\n },\r\n authCard: {\r\n title: 'Tekrar hoş geldiniz',\r\n description: 'Çalışma alanınıza devam etmek için giriş yapın.',\r\n email: 'E-posta',\r\n emailPlaceholder: 'siz@sirket.com',\r\n password: 'Parola',\r\n forgotPassword: 'Parolanızı mı unuttunuz?',\r\n remember: 'Oturumumu açık tut',\r\n submit: 'Giriş yap',\r\n divider: 'ya da e-postayla devam edin',\r\n noAccount: 'Hesabınız yok mu?',\r\n signUp: 'Hesap oluşturun',\r\n emailRequired: 'E-posta gerekli',\r\n emailInvalid: 'Geçerli bir e-posta girin',\r\n passwordRequired: 'Parola gerekli',\r\n errorTitle: 'Giriş yapılamadı',\r\n },\r\n inviteMembers: {\r\n title: 'Ekip arkadaşlarını davet et',\r\n description: 'Katılma bağlantısı içeren bir e-posta alacaklar.',\r\n emails: 'E-posta adresleri',\r\n emailsPlaceholder: 'ad@sirket.com, Enter’a basın',\r\n role: 'Rol',\r\n submit: 'Davet gönder',\r\n invalidEmails: 'Geçersiz: {emails}',\r\n emailsRequired: 'En az bir e-posta adresi ekleyin',\r\n },\r\n};\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mesgflow-ui-kit-i18n-tr.mjs","sources":["../../../projects/ui-kit/i18n/tr/labels.tr.ts","../../../projects/ui-kit/i18n/tr/mesgflow-ui-kit-i18n-tr.ts"],"sourcesContent":["import type { MfLabels } from '@mesgflow/ui-kit/core';\r\n\r\n/**\r\n * `provideMesgflowUi({ labels: mfLabelsTr, dateLocale: tr })` ile sağlanan\r\n * Türkçe çeviri kümesi — kitin İngilizce varsayılanının (`mfLabelsEn`, bkz.\r\n * `@mesgflow/ui-kit/core`) AYNI şeklini taşır, sadece değerleri Türkçe. AYRI bir\r\n * ikincil giriş noktası (`@mesgflow/ui-kit/i18n/tr`) olmasının sebebi: birincil\r\n * barrel'a (`@mesgflow/ui-kit`) dahil OLMAMASI — Türkçe metin isteyen tüketici\r\n * BİLEREK import eder, İngilizce varsayılanı tercih eden tüketicinin bundle'ına\r\n * hiç girmez.\r\n */\r\nexport const mfLabelsTr: MfLabels = {\r\n common: {\r\n loading: 'Yükleniyor',\r\n clear: 'Temizle',\r\n remove: 'Kaldır',\r\n },\r\n dialog: {\r\n close: 'Pencereyi kapat',\r\n resize: 'Yeniden boyutlandır',\r\n fullscreenEnter: 'Tam ekran yap',\r\n fullscreenExit: 'Tam ekrandan çık',\r\n confirmOk: 'Tamam',\r\n confirmCancel: 'İptal',\r\n confirmConfirm: 'Onayla',\r\n confirmDelete: 'Sil',\r\n errorGeneric: 'Bir şeyler ters gitti. Lütfen tekrar deneyin.',\r\n discard: {\r\n title: 'Kaydedilmemiş değişiklikler',\r\n content: 'Bu paneli kapatmak girdiklerinizi silecek.',\r\n confirm: 'Vazgeç ve kapat',\r\n cancel: 'Düzenlemeye devam et',\r\n },\r\n },\r\n datePicker: {\r\n today: 'Bugün',\r\n clear: 'Temizle',\r\n apply: 'Uygula',\r\n previousMonth: 'Önceki ay',\r\n nextMonth: 'Sonraki ay',\r\n previousYear: 'Önceki yıl',\r\n nextYear: 'Sonraki yıl',\r\n chooseMonth: 'Ay seç',\r\n chooseYear: 'Yıl seç',\r\n startDate: 'Başlangıç',\r\n endDate: 'Bitiş',\r\n placeholder: 'gg.aa.yyyy',\r\n presetToday: 'Bugün',\r\n presetLast7: 'Son 7 gün',\r\n presetLast30: 'Son 30 gün',\r\n presetThisMonth: 'Bu ay',\r\n date: 'Tarih',\r\n time: 'Saat',\r\n },\r\n timePicker: {\r\n placeholder: 'SS:DD',\r\n clear: 'Temizle',\r\n },\r\n table: {\r\n searchPlaceholder: 'Ara...',\r\n selectedCount: 'seçildi',\r\n edit: 'Düzenle',\r\n delete: 'Sil',\r\n clearSelection: 'Seçimi temizle',\r\n emptyTitle: 'Kayıt yok',\r\n emptyDescription: '',\r\n noResultsTitle: 'Sonuç bulunamadı',\r\n noResultsDescription: 'Farklı bir arama veya filtre deneyin.',\r\n clearFilters: 'Filtreleri temizle',\r\n filterCount: 'filtre',\r\n selectAllAriaLabel: 'Tümünü seç',\r\n selectRowAriaLabel: 'Satırı seç',\r\n actionsColumnLabel: 'İşlemler',\r\n columns: 'Kolonlar',\r\n density: 'Yoğunluk',\r\n densityComfortable: 'Rahat',\r\n densityCompact: 'Sık',\r\n resizeColumn: 'Sütunu yeniden boyutlandır',\r\n expandRow: 'Satırı genişlet',\r\n collapseRow: 'Satırı daralt',\r\n filter: {\r\n addFilter: 'Filtre',\r\n searchField: 'Alan ara...',\r\n noField: 'Alan bulunamadı',\r\n operator: 'Operatör',\r\n value: 'Değer',\r\n apply: 'Uygula',\r\n enterHint: 'Enter',\r\n clearAll: 'Temizle',\r\n and: 'VE',\r\n or: 'VEYA',\r\n remove: 'Kaldır',\r\n back: 'Geri',\r\n dateToday: 'Bugün',\r\n dateLast7: 'Son 7 gün',\r\n dateLast30: 'Son 30 gün',\r\n dateThisMonth: 'Bu ay',\r\n dateCustom: 'Özel aralık',\r\n dateFrom: 'Başlangıç',\r\n dateTo: 'Bitiş',\r\n operators: {\r\n equal: 'eşittir',\r\n notEqual: 'eşit değildir',\r\n greaterThan: 'büyüktür',\r\n greaterOrEqual: 'büyük eşittir',\r\n lessThan: 'küçüktür',\r\n lessOrEqual: 'küçük eşittir',\r\n contains: 'içerir',\r\n startsWith: 'ile başlar',\r\n endsWith: 'ile biter',\r\n in: 'şunlardan biri',\r\n isNull: 'boş',\r\n isNotNull: 'dolu',\r\n between: 'aralığında',\r\n },\r\n },\r\n pagination: {\r\n records: 'kayıt',\r\n perPage: 'sayfa başına',\r\n page: 'Sayfa',\r\n previous: 'Önceki',\r\n next: 'Sonraki',\r\n first: 'İlk sayfa',\r\n last: 'Son sayfa',\r\n pageSizeAriaLabel: 'Sayfa boyutu',\r\n navAriaLabel: 'Sayfalama',\r\n jumpToPage: 'Sayfaya git',\r\n go: 'Git',\r\n },\r\n },\r\n sidebar: {\r\n collapse: 'Menüyü daralt',\r\n expand: 'Menüyü genişlet',\r\n switchTenant: 'Kiracı değiştir',\r\n noTenants: 'Kiracı bulunamadı',\r\n noUser: 'Oturum açılmadı',\r\n nav: 'Ana gezinme',\r\n },\r\n tabs: {\r\n scrollStart: 'Geri kaydır',\r\n scrollEnd: 'İleri kaydır',\r\n close: 'Kapat',\r\n },\r\n dropzone: {\r\n label: 'Dosyaları buraya sürükle veya seçmek için tıkla',\r\n },\r\n colorPicker: {\r\n ariaLabel: 'Renk seç',\r\n hexAriaLabel: 'Hex renk kodu',\r\n pickFromScreenAriaLabel: 'Ekrandan renk seç',\r\n },\r\n boxInput: {\r\n top: 'Üst',\r\n right: 'Sağ',\r\n bottom: 'Alt',\r\n left: 'Sol',\r\n linkSides: 'Kenarları bağla',\r\n unlinkSides: 'Kenarları ayır',\r\n },\r\n combobox: {\r\n placeholder: 'Ara...',\r\n noResults: 'Sonuç yok',\r\n create: '“{query}” oluştur',\r\n remove: '{label} kaldır',\r\n },\r\n select: {\r\n placeholder: 'Seç',\r\n },\r\n searchInput: {\r\n placeholder: 'Ara...',\r\n ariaLabel: 'Ara',\r\n clearAriaLabel: 'Temizle',\r\n },\r\n toast: {\r\n dismiss: 'Kapat',\r\n },\r\n otpInput: {\r\n ariaLabel: 'Tek kullanımlık kod',\r\n },\r\n stepper: {\r\n ariaLabel: 'Adımlar',\r\n optional: 'İsteğe bağlı',\r\n completed: 'Tamamlandı',\r\n error: 'Dikkat gerekiyor',\r\n },\r\n progress: {\r\n ariaLabel: 'İlerleme',\r\n },\r\n passwordInput: {\r\n show: 'Göster',\r\n hide: 'Gizle',\r\n },\r\n qrCode: {\r\n ariaLabel: 'QR kod',\r\n error: 'QR kod oluşturulamadı: içerik çok uzun.',\r\n },\r\n chip: {\r\n remove: 'Kaldır',\r\n },\r\n alert: {\r\n dismiss: 'Kapat',\r\n },\r\n breadcrumb: {\r\n ariaLabel: 'Sayfa yolu',\r\n },\r\n avatarGroup: {\r\n overflowAriaLabel: 'diğer kullanıcı',\r\n },\r\n chart: {\r\n showTable: 'Tablo olarak göster',\r\n showChart: 'Grafik olarak göster',\r\n category: 'Kategori',\r\n },\r\n command: {\r\n placeholder: 'Bir komut yazın ya da arayın…',\r\n ariaLabel: 'Komut paleti',\r\n empty: 'Sonuç bulunamadı.',\r\n resultsCount: 'sonuç',\r\n navigate: 'gezin',\r\n select: 'seç',\r\n close: 'kapat',\r\n },\r\n characterCount: {\r\n remaining: 'karakter kaldı',\r\n overLimit: 'karakter sınırın üzerinde',\r\n characters: 'karakter',\r\n },\r\n copy: {\r\n copy: 'Kopyala',\r\n copied: 'Kopyalandı',\r\n failed: 'Kopyalanamadı',\r\n code: 'Kod',\r\n },\r\n pagination: {\r\n navAriaLabel: 'Sayfalama',\r\n previous: 'Önceki sayfa',\r\n next: 'Sonraki sayfa',\r\n first: 'İlk sayfa',\r\n last: 'Son sayfa',\r\n page: 'Sayfa',\r\n },\r\n tour: {\r\n next: 'İleri',\r\n back: 'Geri',\r\n skip: 'Turu atla',\r\n done: 'Bitir',\r\n stepOf: '/',\r\n },\r\n rating: {\r\n ariaLabel: 'Puan',\r\n outOf: '/',\r\n },\r\n themeSwitcher: {\r\n ariaLabel: 'Renk teması',\r\n light: 'Açık',\r\n dark: 'Koyu',\r\n system: 'Sistem',\r\n },\r\n treeSelect: {\r\n placeholder: 'Seçin',\r\n searchPlaceholder: 'Ara…',\r\n noResults: 'Sonuç bulunamadı',\r\n },\r\n statTile: {\r\n increase: 'Artış',\r\n decrease: 'Azalış',\r\n noChange: 'Değişim yok',\r\n },\r\n slider: {\r\n minThumb: 'En az',\r\n maxThumb: 'En çok',\r\n },\r\n splitButton: {\r\n moreActions: 'Diğer eylemler',\r\n },\r\n fileUpload: {\r\n uploading: 'Yükleniyor…',\r\n done: 'Yüklendi',\r\n failed: 'Yükleme başarısız',\r\n queued: 'Sırada…',\r\n retry: 'Yeniden dene',\r\n cancel: 'İptal',\r\n remove: 'Kaldır',\r\n files: '{count} dosya',\r\n },\r\n sortable: {\r\n instructions:\r\n 'Almak için Boşluk, taşımak için ok tuşları, bırakmak için Boşluk, vazgeçmek için Escape.',\r\n grabbed: '{item} alındı. {total} öğeden {position}. sırada.',\r\n moved: '{item} {position}. sıraya taşındı ({total} öğe).',\r\n movedToColumn: '{item} {column} sütununa taşındı, {position}. sıra ({total} öğe).',\r\n dropped: '{item} {position}. sıraya bırakıldı ({total} öğe).',\r\n cancelled: 'Taşıma iptal edildi. {item} {position}. sıraya döndü.',\r\n dragHandle: '{item} sırasını değiştir',\r\n card: 'kart',\r\n },\r\n countdown: {\r\n days: 'gün',\r\n hours: 'saat',\r\n minutes: 'dakika',\r\n seconds: 'saniye',\r\n remaining: '{time} kaldı',\r\n finished: 'Süre doldu',\r\n },\r\n carousel: {\r\n previous: 'Önceki slayt',\r\n next: 'Sonraki slayt',\r\n slide: '{index} / {total}',\r\n pause: 'Otomatik oynatmayı durdur',\r\n play: 'Otomatik oynatmayı başlat',\r\n goTo: '{index}. slayda git',\r\n carousel: 'Karusel',\r\n },\r\n inlineEdit: {\r\n edit: 'Düzenle',\r\n save: 'Kaydet',\r\n cancel: 'Vazgeç',\r\n empty: 'Eklemek için tıklayın',\r\n },\r\n transferList: {\r\n available: 'Mevcut',\r\n selected: 'Seçilen',\r\n moveRight: 'Seçilenleri sağa taşı',\r\n moveLeft: 'Seçilenleri sola taşı',\r\n moveAllRight: 'Tümünü sağa taşı',\r\n moveAllLeft: 'Tümünü sola taşı',\r\n search: 'Ara',\r\n count: '{total} öğeden {selected} seçili',\r\n empty: 'Öğe yok',\r\n },\r\n lightbox: {\r\n close: 'Kapat',\r\n previous: 'Önceki görsel',\r\n next: 'Sonraki görsel',\r\n zoomIn: 'Yakınlaştır',\r\n zoomOut: 'Uzaklaştır',\r\n counter: '{index} / {total}',\r\n gallery: 'Görsel görüntüleyici',\r\n },\r\n notificationCenter: {\r\n title: 'Bildirimler',\r\n markAllRead: 'Tümünü okundu işaretle',\r\n empty: 'Hepsini okudunuz',\r\n emptyDescription: 'Yeni bildirimler burada görünür.',\r\n unread: 'Okunmamış',\r\n trigger: 'Bildirimler, {count} okunmamış',\r\n viewAll: 'Tümünü gör',\r\n },\r\n agenda: {\r\n allDay: 'Tüm gün',\r\n empty: 'Planlanmış bir şey yok',\r\n today: 'Bugün',\r\n tomorrow: 'Yarın',\r\n },\r\n mention: {\r\n suggestions: 'Öneriler',\r\n noResults: 'Eşleşme yok',\r\n },\r\n panelGroup: {\r\n resize: '{index}. paneli boyutlandır',\r\n },\r\n authCard: {\r\n title: 'Tekrar hoş geldiniz',\r\n description: 'Çalışma alanınıza devam etmek için giriş yapın.',\r\n email: 'E-posta',\r\n emailPlaceholder: 'siz@sirket.com',\r\n password: 'Parola',\r\n forgotPassword: 'Parolanızı mı unuttunuz?',\r\n remember: 'Oturumumu açık tut',\r\n submit: 'Giriş yap',\r\n divider: 'ya da e-postayla devam edin',\r\n noAccount: 'Hesabınız yok mu?',\r\n signUp: 'Hesap oluşturun',\r\n emailRequired: 'E-posta gerekli',\r\n emailInvalid: 'Geçerli bir e-posta girin',\r\n passwordRequired: 'Parola gerekli',\r\n errorTitle: 'Giriş yapılamadı',\r\n },\r\n inviteMembers: {\r\n title: 'Ekip arkadaşlarını davet et',\r\n description: 'Katılma bağlantısı içeren bir e-posta alacaklar.',\r\n emails: 'E-posta adresleri',\r\n emailsPlaceholder: 'ad@sirket.com, Enter’a basın',\r\n role: 'Rol',\r\n submit: 'Davet gönder',\r\n invalidEmails: 'Geçersiz: {emails}',\r\n emailsRequired: 'En az bir e-posta adresi ekleyin',\r\n },\r\n};\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import * as i0 from '@angular/core';
2
2
  import { input, inject, Renderer2, signal, computed, linkedSignal, effect, afterEveryRender, Component, InjectionToken, ElementRef, DestroyRef, afterNextRender, Directive, booleanAttribute, output } from '@angular/core';
3
- import { MF_CHARACTER_COUNT_LABELS, cn, focusRecipe, controlSize, controlSurface, disabledRecipe } from '@mesgflow/ui-kit/core';
3
+ import { MF_CHARACTER_COUNT_LABELS, cn, controlSize, controlSurface, disabledRecipe, focusRecipe } from '@mesgflow/ui-kit/core';
4
4
  import { cva } from 'class-variance-authority';
5
5
 
6
6
  let characterCountIdSeq = 0;
@@ -141,6 +141,98 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.7", ngImpor
141
141
  }]
142
142
  }], ctorParameters: () => [], propDecorators: { for: [{ type: i0.Input, args: [{ isSignal: true, alias: "for", required: true }] }], max: [{ type: i0.Input, args: [{ isSignal: true, alias: "max", required: false }] }], warnAt: [{ type: i0.Input, args: [{ isSignal: true, alias: "warnAt", required: false }] }] } });
143
143
 
144
+ const FOCUS_RING_BASE = 'has-[:focus-visible]:outline has-[:focus-visible]:outline-2 has-[:focus-visible]:outline-offset-2';
145
+ /**
146
+ * `<mf-input-group>
147
+ * <span mfInputPrefix><span mfIcon>search</span></span>
148
+ * <input mfInput />
149
+ * <span mfInputSuffix><button type="button">×</button></span>
150
+ * </mf-input-group>`
151
+ *
152
+ * `SearchInput`/`NumberInput`/`DateRangePicker`'ın HER BİRİNİN kendi elle
153
+ * yazdığı "kabuk" reçetesini (bkz. plan Faz 2 P0) `core/recipes.ts`'in
154
+ * `controlSurface`/`controlSize`'ına indirger — üç ayrı kopya yerine TEK
155
+ * kaynak. İçindeki `input[mfInput]` KENDİ border/shadow/outline'ını
156
+ * kapatır — grubu DI ile algılayıp (bkz. `input.ts` `IN_GROUP_CLASSES`); kabuk
157
+ * bunları BURADAN sağlıyor, "çift kenarlık" olmasın diye. Tüketici sınıf yazmaz.
158
+ *
159
+ * Odak halkası `has-[:focus-visible]:outline` ile İÇ elemanlardan HERHANGİ
160
+ * biri klavye-odaklandığında TÜM kabuğun etrafında TEK bir halka çizer
161
+ * (`DateRangePicker`'ın iki input'u arasında geçişte "zıplayan" iki ayrı
162
+ * halka yerine) — `input[mfInput]`'un KENDİ `focus-visible:outline`'ı bu
163
+ * yüzden grup içinde otomatik kapanır, aksi halde İKİ halka üst üste binerdi.
164
+ */
165
+ class InputGroup {
166
+ size = input('md', /* @ts-ignore */
167
+ ...(ngDevMode ? [{ debugName: "size" }] : /* istanbul ignore next */ []));
168
+ disabled = input(false, /* @ts-ignore */
169
+ ...(ngDevMode ? [{ debugName: "disabled" }] : /* istanbul ignore next */ []));
170
+ hasError = input(false, /* @ts-ignore */
171
+ ...(ngDevMode ? [{ debugName: "hasError" }] : /* istanbul ignore next */ []));
172
+ /**
173
+ * `false` → iç dolgu/aralık (`px-*`/`gap-*`) KALKAR, çocuklar `items-stretch`
174
+ * ile TAM yüksekliği doldurur — kenardan kenara oturan (dış kabuğun
175
+ * `rounded-*`sini birebir paylaşan) düğmeler için (ör. `NumberInput`'un
176
+ * azalt/artır düğmeleri). Varsayılan `true` — ikon/metin gibi "nefes payı"
177
+ * isteyen eklerin (ör. `DateRangePicker`'ın takvim ikonu) olağan hali.
178
+ */
179
+ padded = input(true, /* @ts-ignore */
180
+ ...(ngDevMode ? [{ debugName: "padded" }] : /* istanbul ignore next */ []));
181
+ /**
182
+ * `true` → sabit `h-control-*` yerine `h-auto` + `flex-wrap` — içerik
183
+ * (ör. `TagInput`'un çoğalan Chip'leri) tek satıra sığmadığında kabuk
184
+ * BÜYÜR, taşırmaz. Varsayılan `false` (tek satırlık kontroller — ESKİ
185
+ * davranış birebir korunur).
186
+ */
187
+ wrap = input(false, /* @ts-ignore */
188
+ ...(ngDevMode ? [{ debugName: "wrap" }] : /* istanbul ignore next */ []));
189
+ /** `controlSize`'ın `px-*` değerleriyle birebir (sm 2.5 · md 3 · lg 3.5). */
190
+ edgePadding = computed(() => this.padded() ? { sm: '0.625rem', md: '0.75rem', lg: '0.875rem' }[this.size()] : '0px', /* @ts-ignore */
191
+ ...(ngDevMode ? [{ debugName: "edgePadding" }] : /* istanbul ignore next */ []));
192
+ classes = computed(() => {
193
+ const error = this.hasError();
194
+ const padded = this.padded();
195
+ const wrap = this.wrap();
196
+ // `h-control-*` özel bir utility — tailwind-merge onu standart `h-*`
197
+ // ailesinin bir parçası TANIMIYOR, `cn()`'e `h-auto` ile BİRLİKTE
198
+ // verilseler ikisi de çıktıda KALIR (derlenmiş CSS'te hangisinin
199
+ // kazanacağı belirsiz kalır, gerçek bulgu — bkz. input-group.spec.ts).
200
+ // `wrap=true`'da yükseklik token'ını KAYNAKTA çıkarıyoruz, twMerge'e
201
+ // çakışmayı çözmesi için güvenmek yerine.
202
+ const sizeClasses = wrap
203
+ ? controlSize[this.size()].replace(/\bh-control-\w+\b/, '').trim()
204
+ : controlSize[this.size()];
205
+ return cn('flex w-full', wrap ? 'flex-wrap' : '', padded ? 'items-center gap-1.5' : 'items-stretch', controlSurface, sizeClasses, padded ? '' : 'px-0', wrap ? 'h-auto py-1.5' : '', FOCUS_RING_BASE, error
206
+ ? 'border-danger focus-within:border-danger has-[:focus-visible]:outline-danger'
207
+ : 'has-[:focus-visible]:outline-focus-ring', disabledRecipe);
208
+ }, /* @ts-ignore */
209
+ ...(ngDevMode ? [{ debugName: "classes" }] : /* istanbul ignore next */ []));
210
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.7", ngImport: i0, type: InputGroup, deps: [], target: i0.ɵɵFactoryTarget.Component });
211
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "22.1.7", type: InputGroup, isStandalone: true, selector: "mf-input-group", inputs: { size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, hasError: { classPropertyName: "hasError", publicName: "hasError", isSignal: true, isRequired: false, transformFunction: null }, padded: { classPropertyName: "padded", publicName: "padded", isSignal: true, isRequired: false, transformFunction: null }, wrap: { classPropertyName: "wrap", publicName: "wrap", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class": "classes()", "attr.aria-disabled": "disabled() || null", "style.--mf-input-group-px": "edgePadding()" } }, exportAs: ["mfInputGroup"], ngImport: i0, template: `
212
+ <ng-content select="[mfInputPrefix]" />
213
+ <ng-content />
214
+ <ng-content select="[mfInputSuffix]" />
215
+ `, isInline: true });
216
+ }
217
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.7", ngImport: i0, type: InputGroup, decorators: [{
218
+ type: Component,
219
+ args: [{
220
+ selector: 'mf-input-group',
221
+ exportAs: 'mfInputGroup',
222
+ host: {
223
+ '[class]': 'classes()',
224
+ '[attr.aria-disabled]': 'disabled() || null',
225
+ // `addon` ekler kabuğun yatay dolgusunu bu değişkenle geri alıp kenara oturur (bkz. InputPrefix).
226
+ '[style.--mf-input-group-px]': 'edgePadding()',
227
+ },
228
+ template: `
229
+ <ng-content select="[mfInputPrefix]" />
230
+ <ng-content />
231
+ <ng-content select="[mfInputSuffix]" />
232
+ `,
233
+ }]
234
+ }], propDecorators: { size: [{ type: i0.Input, args: [{ isSignal: true, alias: "size", required: false }] }], disabled: [{ type: i0.Input, args: [{ isSignal: true, alias: "disabled", required: false }] }], hasError: [{ type: i0.Input, args: [{ isSignal: true, alias: "hasError", required: false }] }], padded: [{ type: i0.Input, args: [{ isSignal: true, alias: "padded", required: false }] }], wrap: [{ type: i0.Input, args: [{ isSignal: true, alias: "wrap", required: false }] }] } });
235
+
144
236
  /**
145
237
  * Bkz. `core/recipes.ts` `controlSurface`/`focusRecipe`/`disabledRecipe`/
146
238
  * `errorRecipe` — bu dosya onların TEK tüketicisi değil (Select/NumberInput/
@@ -187,6 +279,12 @@ const inputVariants = cva('w-full rounded-md border border-border bg-surface tex
187
279
  defaultVariants: { size: 'md', hasError: false },
188
280
  });
189
281
 
282
+ /**
283
+ * `mf-input-group` kabuğu kenarlık/zemin/gölge/odak halkasını KENDİSİ çizer — içindeki
284
+ * alan kendininkini kapatır ("çift kenarlık", iki odak halkası olmasın). Eskiden tüketici
285
+ * bu sınıfları elle yazıyordu; elle yazılmışlar zararsız (aynı sınıflar).
286
+ */
287
+ const IN_GROUP_CLASSES = 'border-0 bg-transparent shadow-none focus-visible:outline-none';
190
288
  /**
191
289
  * `field-sizing: content` desteği — içerik boyunda büyüyen native kontrol (Chromium 123+;
192
290
  * desteklemeyen tarayıcıda JS yedeği). Token olarak: testler iki yolu da açıkça seçebilsin.
@@ -223,9 +321,10 @@ class Input {
223
321
  ...(ngDevMode ? [{ debugName: "maxRows" }] : /* istanbul ignore next */ []));
224
322
  elementRef = inject(ElementRef);
225
323
  nativeSizing = inject(MF_FIELD_SIZING_SUPPORTED);
324
+ inGroup = inject(InputGroup, { optional: true }) !== null;
226
325
  lastValue = null;
227
326
  lastWidth = 0;
228
- classes = computed(() => cn(inputVariants({ size: this.size(), hasError: this.hasError() }), this.autosize() && 'resize-none', this.autosize() && this.nativeSizing && '[field-sizing:content]'), /* @ts-ignore */
327
+ classes = computed(() => cn(inputVariants({ size: this.size(), hasError: this.hasError() }), this.inGroup && IN_GROUP_CLASSES, this.autosize() && 'resize-none', this.autosize() && this.nativeSizing && '[field-sizing:content]'), /* @ts-ignore */
229
328
  ...(ngDevMode ? [{ debugName: "classes" }] : /* istanbul ignore next */ []));
230
329
  constructor() {
231
330
  // Kuruluşta (önceden dolu bir değerle) VE minRows/maxRows/size değişince yeniden hesapla.
@@ -306,99 +405,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.7", ngImpor
306
405
  }]
307
406
  }], ctorParameters: () => [], propDecorators: { size: [{ type: i0.Input, args: [{ isSignal: true, alias: "size", required: false }] }], hasError: [{ type: i0.Input, args: [{ isSignal: true, alias: "hasError", required: false }] }], autosize: [{ type: i0.Input, args: [{ isSignal: true, alias: "autosize", required: false }] }], minRows: [{ type: i0.Input, args: [{ isSignal: true, alias: "minRows", required: false }] }], maxRows: [{ type: i0.Input, args: [{ isSignal: true, alias: "maxRows", required: false }] }] } });
308
407
 
309
- const FOCUS_RING_BASE = 'has-[:focus-visible]:outline has-[:focus-visible]:outline-2 has-[:focus-visible]:outline-offset-2';
310
- /**
311
- * `<mf-input-group>
312
- * <span mfInputPrefix><span mfIcon>search</span></span>
313
- * <input mfInput class="border-0 bg-transparent shadow-none focus-visible:outline-none" />
314
- * <span mfInputSuffix><button type="button">×</button></span>
315
- * </mf-input-group>`
316
- *
317
- * `SearchInput`/`NumberInput`/`DateRangePicker`'ın HER BİRİNİN kendi elle
318
- * yazdığı "kabuk" reçetesini (bkz. plan Faz 2 P0) `core/recipes.ts`'in
319
- * `controlSurface`/`controlSize`'ına indirger — üç ayrı kopya yerine TEK
320
- * kaynak. İçindeki `input[mfInput]` KENDİ border/shadow/outline'ını
321
- * KAPATMALI (yukarıdaki örnekteki class'lar) — kabuk artık bunları BURADAN
322
- * sağlıyor, "çift kenarlık" olmasın diye (bkz. `DateRangePicker`'ın eski
323
- * `wrapperClasses` notu, aynı gerekçe).
324
- *
325
- * Odak halkası `has-[:focus-visible]:outline` ile İÇ elemanlardan HERHANGİ
326
- * biri klavye-odaklandığında TÜM kabuğun etrafında TEK bir halka çizer
327
- * (`DateRangePicker`'ın iki input'u arasında geçişte "zıplayan" iki ayrı
328
- * halka yerine) — `input[mfInput]`'un KENDİ `focus-visible:outline`'ı
329
- * BİLEREK kapatılmalı (yukarıdaki örnek), aksi halde İKİ halka üst üste biner.
330
- */
331
- class InputGroup {
332
- size = input('md', /* @ts-ignore */
333
- ...(ngDevMode ? [{ debugName: "size" }] : /* istanbul ignore next */ []));
334
- disabled = input(false, /* @ts-ignore */
335
- ...(ngDevMode ? [{ debugName: "disabled" }] : /* istanbul ignore next */ []));
336
- hasError = input(false, /* @ts-ignore */
337
- ...(ngDevMode ? [{ debugName: "hasError" }] : /* istanbul ignore next */ []));
338
- /**
339
- * `false` → iç dolgu/aralık (`px-*`/`gap-*`) KALKAR, çocuklar `items-stretch`
340
- * ile TAM yüksekliği doldurur — kenardan kenara oturan (dış kabuğun
341
- * `rounded-*`sini birebir paylaşan) düğmeler için (ör. `NumberInput`'un
342
- * azalt/artır düğmeleri). Varsayılan `true` — ikon/metin gibi "nefes payı"
343
- * isteyen eklerin (ör. `DateRangePicker`'ın takvim ikonu) olağan hali.
344
- */
345
- padded = input(true, /* @ts-ignore */
346
- ...(ngDevMode ? [{ debugName: "padded" }] : /* istanbul ignore next */ []));
347
- /**
348
- * `true` → sabit `h-control-*` yerine `h-auto` + `flex-wrap` — içerik
349
- * (ör. `TagInput`'un çoğalan Chip'leri) tek satıra sığmadığında kabuk
350
- * BÜYÜR, taşırmaz. Varsayılan `false` (tek satırlık kontroller — ESKİ
351
- * davranış birebir korunur).
352
- */
353
- wrap = input(false, /* @ts-ignore */
354
- ...(ngDevMode ? [{ debugName: "wrap" }] : /* istanbul ignore next */ []));
355
- /** `controlSize`'ın `px-*` değerleriyle birebir (sm 2.5 · md 3 · lg 3.5). */
356
- edgePadding = computed(() => this.padded() ? { sm: '0.625rem', md: '0.75rem', lg: '0.875rem' }[this.size()] : '0px', /* @ts-ignore */
357
- ...(ngDevMode ? [{ debugName: "edgePadding" }] : /* istanbul ignore next */ []));
358
- classes = computed(() => {
359
- const error = this.hasError();
360
- const padded = this.padded();
361
- const wrap = this.wrap();
362
- // `h-control-*` özel bir utility — tailwind-merge onu standart `h-*`
363
- // ailesinin bir parçası TANIMIYOR, `cn()`'e `h-auto` ile BİRLİKTE
364
- // verilseler ikisi de çıktıda KALIR (derlenmiş CSS'te hangisinin
365
- // kazanacağı belirsiz kalır, gerçek bulgu — bkz. input-group.spec.ts).
366
- // `wrap=true`'da yükseklik token'ını KAYNAKTA çıkarıyoruz, twMerge'e
367
- // çakışmayı çözmesi için güvenmek yerine.
368
- const sizeClasses = wrap
369
- ? controlSize[this.size()].replace(/\bh-control-\w+\b/, '').trim()
370
- : controlSize[this.size()];
371
- return cn('flex w-full', wrap ? 'flex-wrap' : '', padded ? 'items-center gap-1.5' : 'items-stretch', controlSurface, sizeClasses, padded ? '' : 'px-0', wrap ? 'h-auto py-1.5' : '', FOCUS_RING_BASE, error
372
- ? 'border-danger focus-within:border-danger has-[:focus-visible]:outline-danger'
373
- : 'has-[:focus-visible]:outline-focus-ring', disabledRecipe);
374
- }, /* @ts-ignore */
375
- ...(ngDevMode ? [{ debugName: "classes" }] : /* istanbul ignore next */ []));
376
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.7", ngImport: i0, type: InputGroup, deps: [], target: i0.ɵɵFactoryTarget.Component });
377
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "22.1.7", type: InputGroup, isStandalone: true, selector: "mf-input-group", inputs: { size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, hasError: { classPropertyName: "hasError", publicName: "hasError", isSignal: true, isRequired: false, transformFunction: null }, padded: { classPropertyName: "padded", publicName: "padded", isSignal: true, isRequired: false, transformFunction: null }, wrap: { classPropertyName: "wrap", publicName: "wrap", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class": "classes()", "attr.aria-disabled": "disabled() || null", "style.--mf-input-group-px": "edgePadding()" } }, exportAs: ["mfInputGroup"], ngImport: i0, template: `
378
- <ng-content select="[mfInputPrefix]" />
379
- <ng-content />
380
- <ng-content select="[mfInputSuffix]" />
381
- `, isInline: true });
382
- }
383
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.7", ngImport: i0, type: InputGroup, decorators: [{
384
- type: Component,
385
- args: [{
386
- selector: 'mf-input-group',
387
- exportAs: 'mfInputGroup',
388
- host: {
389
- '[class]': 'classes()',
390
- '[attr.aria-disabled]': 'disabled() || null',
391
- // `addon` ekler kabuğun yatay dolgusunu bu değişkenle geri alıp kenara oturur (bkz. InputPrefix).
392
- '[style.--mf-input-group-px]': 'edgePadding()',
393
- },
394
- template: `
395
- <ng-content select="[mfInputPrefix]" />
396
- <ng-content />
397
- <ng-content select="[mfInputSuffix]" />
398
- `,
399
- }]
400
- }], propDecorators: { size: [{ type: i0.Input, args: [{ isSignal: true, alias: "size", required: false }] }], disabled: [{ type: i0.Input, args: [{ isSignal: true, alias: "disabled", required: false }] }], hasError: [{ type: i0.Input, args: [{ isSignal: true, alias: "hasError", required: false }] }], padded: [{ type: i0.Input, args: [{ isSignal: true, alias: "padded", required: false }] }], wrap: [{ type: i0.Input, args: [{ isSignal: true, alias: "wrap", required: false }] }] } });
401
-
402
408
  /** Kabuğun kenarına oturan bitişik bölüm — zemin, ayırıcı ve dış köşe yarıçapı (bkz. `addon`). */
403
409
  const INPUT_ADDON_BASE = 'self-stretch bg-surface-alt px-3 text-sm text-fg-muted border-border ' +
404
410
  'ms-[calc(var(--mf-input-group-px,0px)*-1)] rounded-s-[inherit] border-e';