@mesgflow/ui-kit 0.7.0 → 0.8.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (108) hide show
  1. package/fesm2022/mesgflow-ui-kit-accordion.mjs +6 -6
  2. package/fesm2022/mesgflow-ui-kit-agenda.mjs +3 -3
  3. package/fesm2022/mesgflow-ui-kit-alert.mjs +3 -3
  4. package/fesm2022/mesgflow-ui-kit-aspect-ratio.mjs +3 -3
  5. package/fesm2022/mesgflow-ui-kit-avatar-group.mjs +3 -3
  6. package/fesm2022/mesgflow-ui-kit-avatar.mjs +3 -3
  7. package/fesm2022/mesgflow-ui-kit-badge.mjs +3 -3
  8. package/fesm2022/mesgflow-ui-kit-banner.mjs +3 -3
  9. package/fesm2022/mesgflow-ui-kit-blocks.mjs +16 -16
  10. package/fesm2022/mesgflow-ui-kit-blocks.mjs.map +1 -1
  11. package/fesm2022/mesgflow-ui-kit-box-input.mjs +3 -3
  12. package/fesm2022/mesgflow-ui-kit-brand.mjs +3 -3
  13. package/fesm2022/mesgflow-ui-kit-breadcrumb.mjs +3 -3
  14. package/fesm2022/mesgflow-ui-kit-button-group.mjs +3 -3
  15. package/fesm2022/mesgflow-ui-kit-button.mjs +3 -3
  16. package/fesm2022/mesgflow-ui-kit-card.mjs +12 -12
  17. package/fesm2022/mesgflow-ui-kit-carousel.mjs +3 -3
  18. package/fesm2022/mesgflow-ui-kit-chart.mjs +12 -12
  19. package/fesm2022/mesgflow-ui-kit-checkbox.mjs +3 -3
  20. package/fesm2022/mesgflow-ui-kit-chip.mjs +3 -3
  21. package/fesm2022/mesgflow-ui-kit-code-block.mjs +3 -3
  22. package/fesm2022/mesgflow-ui-kit-collapsible.mjs +9 -9
  23. package/fesm2022/mesgflow-ui-kit-color-picker.mjs +3 -3
  24. package/fesm2022/mesgflow-ui-kit-combobox.mjs +3 -3
  25. package/fesm2022/mesgflow-ui-kit-command.mjs +15 -16
  26. package/fesm2022/mesgflow-ui-kit-command.mjs.map +1 -1
  27. package/fesm2022/mesgflow-ui-kit-context-menu.mjs +3 -3
  28. package/fesm2022/mesgflow-ui-kit-copy-button.mjs +6 -6
  29. package/fesm2022/mesgflow-ui-kit-core.mjs +9 -4
  30. package/fesm2022/mesgflow-ui-kit-core.mjs.map +1 -1
  31. package/fesm2022/mesgflow-ui-kit-countdown.mjs +3 -3
  32. package/fesm2022/mesgflow-ui-kit-date-picker.mjs +12 -12
  33. package/fesm2022/mesgflow-ui-kit-description-list.mjs +3 -3
  34. package/fesm2022/mesgflow-ui-kit-dialog.mjs +197 -34
  35. package/fesm2022/mesgflow-ui-kit-dialog.mjs.map +1 -1
  36. package/fesm2022/mesgflow-ui-kit-divider.mjs +3 -3
  37. package/fesm2022/mesgflow-ui-kit-drawer.mjs +4 -4
  38. package/fesm2022/mesgflow-ui-kit-drawer.mjs.map +1 -1
  39. package/fesm2022/mesgflow-ui-kit-dropzone.mjs +3 -3
  40. package/fesm2022/mesgflow-ui-kit-empty-state.mjs +3 -3
  41. package/fesm2022/mesgflow-ui-kit-field.mjs +3 -3
  42. package/fesm2022/mesgflow-ui-kit-file-upload.mjs +3 -3
  43. package/fesm2022/mesgflow-ui-kit-hover-card.mjs +6 -6
  44. package/fesm2022/mesgflow-ui-kit-i18n-tr.mjs +4 -0
  45. package/fesm2022/mesgflow-ui-kit-i18n-tr.mjs.map +1 -1
  46. package/fesm2022/mesgflow-ui-kit-icon.mjs +3 -3
  47. package/fesm2022/mesgflow-ui-kit-inline-edit.mjs +3 -3
  48. package/fesm2022/mesgflow-ui-kit-input.mjs +18 -18
  49. package/fesm2022/mesgflow-ui-kit-kbd.mjs +3 -3
  50. package/fesm2022/mesgflow-ui-kit-lightbox.mjs +9 -9
  51. package/fesm2022/mesgflow-ui-kit-link.mjs +3 -3
  52. package/fesm2022/mesgflow-ui-kit-listbox.mjs +3 -3
  53. package/fesm2022/mesgflow-ui-kit-mention.mjs +6 -6
  54. package/fesm2022/mesgflow-ui-kit-menu.mjs +12 -12
  55. package/fesm2022/mesgflow-ui-kit-nav-menu.mjs +3 -3
  56. package/fesm2022/mesgflow-ui-kit-notification-center.mjs +3 -3
  57. package/fesm2022/mesgflow-ui-kit-number-input.mjs +3 -3
  58. package/fesm2022/mesgflow-ui-kit-otp-input.mjs +3 -3
  59. package/fesm2022/mesgflow-ui-kit-page-header.mjs +6 -6
  60. package/fesm2022/mesgflow-ui-kit-pagination.mjs +3 -3
  61. package/fesm2022/mesgflow-ui-kit-password-input.mjs +35 -70
  62. package/fesm2022/mesgflow-ui-kit-password-input.mjs.map +1 -1
  63. package/fesm2022/mesgflow-ui-kit-popover.mjs +3 -3
  64. package/fesm2022/mesgflow-ui-kit-progress.mjs +3 -3
  65. package/fesm2022/mesgflow-ui-kit-qr-code.mjs +766 -0
  66. package/fesm2022/mesgflow-ui-kit-qr-code.mjs.map +1 -0
  67. package/fesm2022/mesgflow-ui-kit-radio.mjs +6 -6
  68. package/fesm2022/mesgflow-ui-kit-rating.mjs +3 -3
  69. package/fesm2022/mesgflow-ui-kit-scroll-area.mjs +3 -3
  70. package/fesm2022/mesgflow-ui-kit-search-input.mjs +3 -3
  71. package/fesm2022/mesgflow-ui-kit-segmented-control.mjs +3 -3
  72. package/fesm2022/mesgflow-ui-kit-select.mjs +3 -3
  73. package/fesm2022/mesgflow-ui-kit-sidebar.mjs +12 -12
  74. package/fesm2022/mesgflow-ui-kit-skeleton.mjs +3 -3
  75. package/fesm2022/mesgflow-ui-kit-slider.mjs +6 -6
  76. package/fesm2022/mesgflow-ui-kit-sortable.mjs +6 -6
  77. package/fesm2022/mesgflow-ui-kit-spinner.mjs +3 -3
  78. package/fesm2022/mesgflow-ui-kit-split-button.mjs +3 -3
  79. package/fesm2022/mesgflow-ui-kit-splitter.mjs +12 -12
  80. package/fesm2022/mesgflow-ui-kit-stat-tile.mjs +3 -3
  81. package/fesm2022/mesgflow-ui-kit-stepper.mjs +6 -6
  82. package/fesm2022/mesgflow-ui-kit-switch.mjs +3 -3
  83. package/fesm2022/mesgflow-ui-kit-table.mjs +21 -21
  84. package/fesm2022/mesgflow-ui-kit-tabs.mjs +27 -27
  85. package/fesm2022/mesgflow-ui-kit-tag-input.mjs +3 -3
  86. package/fesm2022/mesgflow-ui-kit-theme-switcher.mjs +3 -3
  87. package/fesm2022/mesgflow-ui-kit-theming.mjs +3 -3
  88. package/fesm2022/mesgflow-ui-kit-time-picker.mjs +3 -3
  89. package/fesm2022/mesgflow-ui-kit-timeline.mjs +3 -3
  90. package/fesm2022/mesgflow-ui-kit-toast.mjs +6 -6
  91. package/fesm2022/mesgflow-ui-kit-toggle.mjs +9 -9
  92. package/fesm2022/mesgflow-ui-kit-toolbar.mjs +9 -9
  93. package/fesm2022/mesgflow-ui-kit-tooltip.mjs +3 -3
  94. package/fesm2022/mesgflow-ui-kit-tour.mjs +9 -9
  95. package/fesm2022/mesgflow-ui-kit-transfer-list.mjs +3 -3
  96. package/fesm2022/mesgflow-ui-kit-tree-select.mjs +3 -3
  97. package/fesm2022/mesgflow-ui-kit-tree.mjs +3 -3
  98. package/fesm2022/mesgflow-ui-kit-virtual-list.mjs +3 -3
  99. package/fesm2022/mesgflow-ui-kit.mjs +1 -0
  100. package/fesm2022/mesgflow-ui-kit.mjs.map +1 -1
  101. package/package.json +5 -1
  102. package/tokens.json +1 -1
  103. package/types/mesgflow-ui-kit-command.d.ts +2 -2
  104. package/types/mesgflow-ui-kit-core.d.ts +10 -2
  105. package/types/mesgflow-ui-kit-dialog.d.ts +97 -12
  106. package/types/mesgflow-ui-kit-password-input.d.ts +33 -5
  107. package/types/mesgflow-ui-kit-qr-code.d.ts +160 -0
  108. package/types/mesgflow-ui-kit.d.ts +1 -0
@@ -0,0 +1,160 @@
1
+ import * as _mesgflow_ui_kit_qr_code from '@mesgflow/ui-kit/qr-code';
2
+ import * as _angular_core from '@angular/core';
3
+
4
+ /** Hata düzeltme seviyesi — kurtarılabilir hasar oranı: L ~%7, M ~%15, Q ~%25, H ~%30. */
5
+ type QrEcc = 'L' | 'M' | 'Q' | 'H';
6
+ interface QrEncodeOptions {
7
+ /** Varsayılan `'M'`. */
8
+ ecc?: QrEcc;
9
+ /** 1–40, varsayılan 1. */
10
+ minVersion?: number;
11
+ /** 1–40, varsayılan 40. */
12
+ maxVersion?: number;
13
+ /**
14
+ * Seçilen sürüm (boyut) büyümeden daha yüksek bir hata düzeltme seviyesi sığıyorsa
15
+ * onu kullanır — aynı boyutta bedava dayanıklılık. Varsayılan `true`.
16
+ */
17
+ boostEcc?: boolean;
18
+ }
19
+ interface QrMatrix {
20
+ /** Modül cinsinden kenar (21–177) — sessiz bölge (quiet zone) HARİÇ. */
21
+ readonly size: number;
22
+ /** 1–40. */
23
+ readonly version: number;
24
+ /** Gerçekte kullanılan seviye (`boostEcc` ile istenenden yüksek olabilir). */
25
+ readonly ecc: QrEcc;
26
+ readonly mask: number;
27
+ /** `modules[y][x]` — `true` koyu modül. */
28
+ readonly modules: readonly (readonly boolean[])[];
29
+ /** `isFunction[y][x]` — finder/timing/alignment/format/version modülü (veri değil). */
30
+ readonly isFunction: readonly (readonly boolean[])[];
31
+ }
32
+ /** İçerik, `maxVersion` ve seçilen `ecc` ile sığmıyor. */
33
+ declare class QrCapacityError extends Error {
34
+ constructor();
35
+ }
36
+ /**
37
+ * Metni (UTF-8; tamamen rakamsa numeric, büyük harf/rakam/` $%*+-./:` ise
38
+ * alphanumeric kip) ya da ham baytları bir QR matrisine kodlar. En küçük uygun
39
+ * sürümü ve en düşük cezalı maskeyi seçer.
40
+ *
41
+ * @throws {QrCapacityError} içerik sığmıyorsa.
42
+ */
43
+ declare function encodeQr(data: string | Uint8Array, options?: QrEncodeOptions): QrMatrix;
44
+
45
+ /** Veri modüllerinin çizim biçimi. */
46
+ type QrModuleShape = 'square' | 'rounded' | 'dots';
47
+ /** Üç köşedeki konum (finder) desenlerinin biçimi. */
48
+ type QrFinderShape = 'square' | 'rounded';
49
+ interface QrGeometry {
50
+ /** Modül cinsinden QR kenarı (sessiz bölge hariç). */
51
+ readonly size: number;
52
+ /** Veri + timing + alignment modülleri — tek `<path>` (tek path = komşu modüller arasında AA dikişi yok). */
53
+ readonly dataPath: string;
54
+ /** Finder dış halkaları (`fill-rule="evenodd"`). */
55
+ readonly finderOuterPath: string;
56
+ /** Finder iç 3×3 gözleri. */
57
+ readonly finderInnerPath: string;
58
+ /** Logo için boşaltılan kare (modül); logo yoksa 0. */
59
+ readonly excavated: number;
60
+ }
61
+ /**
62
+ * Logo için merkezde boşaltılacak kare kenarı (modül). QR kenarıyla aynı
63
+ * paritede (tek) tutulur ki kare tam ortalansın; oran 0–0.3 arası kırpılır
64
+ * (H seviyesi ~%30 hasarı kurtarır — alan olarak 0.3² ≈ %9, güvenli pay).
65
+ */
66
+ declare function excavationSize(size: number, ratio: number): number;
67
+ /** Kodlanmış matrisi saf SVG yol dizelerine çevirir — DOM'suz, `computed()` içinde çağrılır. */
68
+ declare function qrGeometry(matrix: QrMatrix, shape: QrModuleShape, finder: QrFinderShape, logoRatio: number): QrGeometry;
69
+ interface QrSvgStringOptions {
70
+ /** Sessiz bölge (modül), varsayılan 4 — baskı/dışa aktarım için standart. */
71
+ margin?: number;
72
+ /** Piksel kenar, varsayılan 256. */
73
+ pixelSize?: number;
74
+ foreground?: string;
75
+ background?: string;
76
+ }
77
+ /** Bağımsız bir `<svg>` belgesi (indirme/paylaşım için) — logo katmanı HTML olduğu için dahil DEĞİL. */
78
+ declare function qrSvgString(geometry: QrGeometry, options?: QrSvgStringOptions): string;
79
+
80
+ /**
81
+ * `<mf-qr-code data="…"><img mfQrCodeLogo src="logo.svg" alt="" /></mf-qr-code>` —
82
+ * QR'ın ortasına yerleştirilen logo. Varlığı hata düzeltmeyi otomatik `H`'ye
83
+ * yükseltir ve altındaki modülleri boşaltır. Dekoratif olduğu için `alt=""`
84
+ * önerilir — erişilebilir ad `mf-qr-code`'un kendi `aria-label`'ındadır.
85
+ */
86
+ declare class QrCodeLogo {
87
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<QrCodeLogo, never>;
88
+ static ɵdir: _angular_core.ɵɵDirectiveDeclaration<QrCodeLogo, "[mfQrCodeLogo]", never, {}, {}, never, never, true, never>;
89
+ }
90
+ /**
91
+ * `<mf-qr-code data="https://mesgflow.dev" />`
92
+ *
93
+ * Saf SVG QR kod — kodlayıcı kitin içinde (`qr-encoder.ts`, Nayuki portu), ek
94
+ * bağımlılık yok; tüm geometri `computed()` ile üretilir, DOM API'si
95
+ * kullanılmaz (SSR güvenli).
96
+ *
97
+ * - `shape`: `square` (klasik) · `rounded` (akışkan, komşu modüllerle birleşen) · `dots`.
98
+ * - `finder`: köşe desenleri `square` / `rounded`.
99
+ * - `ecc`: L/M/Q/H — logo varsa otomatik `H`. Aynı boyutta daha yüksek seviye
100
+ * sığıyorsa zaten yükseltilir (`boostEcc`).
101
+ * - `margin`: sessiz bölge (modül). Okuyucular ≥ 2 ister; baskı için 4.
102
+ * - Logo: `[mfQrCodeLogo]` içerik (bkz. `QrCodeLogo`).
103
+ * - `toSvgString()`: indirme/paylaşım için bağımsız SVG.
104
+ *
105
+ * Renk: varsayılan beyaz kart üstünde siyah modül — BİLİNÇLİ ham renk istisnası:
106
+ * kameralar koyu-üstünde-açık (ters) QR'ı güvenilir okuyamaz, bu yüzden koyu temada
107
+ * da açık kart kalır. `foreground`/`background` (herhangi bir CSS rengi, `var(--…)`
108
+ * dahil) ile değiştirilir — satır içi stil olduğu için sınıf sırası çakışması yok;
109
+ * modüller `currentColor`, logo kutusu zemini miras alır. Koyu modül / açık zemin ve
110
+ * yeterli kontrast (≥ ~4:1) korunmalı.
111
+ *
112
+ * İçerik sığmazsa hata fırlatmaz: yerinde erişilebilir bir hata durumu çizer ve
113
+ * `encoded` çıkışı `null` yayar.
114
+ */
115
+ declare class QrCode {
116
+ /** Kodlanacak içerik (URL, metin, `WIFI:…`, `mailto:` vb.). */
117
+ readonly data: _angular_core.InputSignal<string>;
118
+ /** Piksel kenar (sessiz bölge dahil). */
119
+ readonly size: _angular_core.InputSignalWithTransform<number, unknown>;
120
+ readonly ecc: _angular_core.InputSignal<QrEcc>;
121
+ /** Sessiz bölge, modül cinsinden. */
122
+ readonly margin: _angular_core.InputSignalWithTransform<number, unknown>;
123
+ readonly shape: _angular_core.InputSignal<QrModuleShape>;
124
+ readonly finder: _angular_core.InputSignal<QrFinderShape>;
125
+ /** Logo karesinin QR kenarına oranı (0–0.3); yalnızca `[mfQrCodeLogo]` varken etkili. */
126
+ readonly logoSize: _angular_core.InputSignalWithTransform<number, unknown>;
127
+ /** Modül rengi (CSS rengi). Verilmezse siyah. */
128
+ readonly foreground: _angular_core.InputSignal<string | undefined>;
129
+ /** Zemin rengi (CSS rengi). Verilmezse beyaz. */
130
+ readonly background: _angular_core.InputSignal<string | undefined>;
131
+ /** `role="img"` erişilebilir adı — verilmezse `MF_QR_CODE_LABELS.ariaLabel`. İçeriği anlatan bir ad önerilir. */
132
+ readonly ariaLabel: _angular_core.InputSignal<string | undefined>;
133
+ /** Her yeniden kodlamada matris (hata durumunda `null`). */
134
+ readonly encoded: _angular_core.OutputEmitterRef<QrMatrix | null>;
135
+ private readonly labels;
136
+ private readonly logo;
137
+ protected readonly hasLogo: _angular_core.Signal<boolean>;
138
+ protected readonly effectiveEcc: _angular_core.Signal<QrEcc>;
139
+ protected readonly matrix: _angular_core.Signal<QrMatrix | null>;
140
+ protected readonly geometry: _angular_core.Signal<_mesgflow_ui_kit_qr_code.QrGeometry | null>;
141
+ protected readonly quietZone: _angular_core.Signal<number>;
142
+ protected readonly viewBox: _angular_core.Signal<string>;
143
+ /** Logo kutusunun piksel kenarı — boşaltılan karenin ekrandaki karşılığı. */
144
+ protected readonly logoBoxPx: _angular_core.Signal<number>;
145
+ protected readonly crisp: _angular_core.Signal<boolean>;
146
+ protected readonly effectiveAriaLabel: _angular_core.Signal<string>;
147
+ protected readonly hostClasses: _angular_core.Signal<string>;
148
+ constructor();
149
+ /**
150
+ * Bağımsız SVG belgesi — logo katmanı dahil DEĞİL. İçerik sığmıyorsa `null`.
151
+ * Renkler verilmezse `foreground`/`background` girdileri (onlar da yoksa siyah/beyaz);
152
+ * `var(--…)` gibi bağlama bağlı değerler dışa aktarımda çözülmez — somut renk geçin.
153
+ */
154
+ toSvgString(options?: QrSvgStringOptions): string | null;
155
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<QrCode, never>;
156
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<QrCode, "mf-qr-code", ["mfQrCode"], { "data": { "alias": "data"; "required": true; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "ecc": { "alias": "ecc"; "required": false; "isSignal": true; }; "margin": { "alias": "margin"; "required": false; "isSignal": true; }; "shape": { "alias": "shape"; "required": false; "isSignal": true; }; "finder": { "alias": "finder"; "required": false; "isSignal": true; }; "logoSize": { "alias": "logoSize"; "required": false; "isSignal": true; }; "foreground": { "alias": "foreground"; "required": false; "isSignal": true; }; "background": { "alias": "background"; "required": false; "isSignal": true; }; "ariaLabel": { "alias": "ariaLabel"; "required": false; "isSignal": true; }; }, { "encoded": "encoded"; }, ["logo"], ["[mfQrCodeLogo]"], true, never>;
157
+ }
158
+
159
+ export { QrCapacityError, QrCode, QrCodeLogo, encodeQr, excavationSize, qrGeometry, qrSvgString };
160
+ export type { QrEcc, QrEncodeOptions, QrFinderShape, QrGeometry, QrMatrix, QrModuleShape, QrSvgStringOptions };
@@ -54,6 +54,7 @@ export * from '@mesgflow/ui-kit/pagination';
54
54
  export * from '@mesgflow/ui-kit/password-input';
55
55
  export * from '@mesgflow/ui-kit/popover';
56
56
  export * from '@mesgflow/ui-kit/progress';
57
+ export * from '@mesgflow/ui-kit/qr-code';
57
58
  export * from '@mesgflow/ui-kit/radio';
58
59
  export * from '@mesgflow/ui-kit/rating';
59
60
  export * from '@mesgflow/ui-kit/scroll-area';