@mesgflow/ui-kit 0.6.0 → 0.7.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +56 -5
- package/fesm2022/mesgflow-ui-kit-accordion.mjs +3 -2
- package/fesm2022/mesgflow-ui-kit-accordion.mjs.map +1 -1
- package/fesm2022/mesgflow-ui-kit-agenda.mjs +208 -0
- package/fesm2022/mesgflow-ui-kit-agenda.mjs.map +1 -0
- package/fesm2022/mesgflow-ui-kit-aspect-ratio.mjs +37 -0
- package/fesm2022/mesgflow-ui-kit-aspect-ratio.mjs.map +1 -0
- package/fesm2022/mesgflow-ui-kit-blocks.mjs +207 -0
- package/fesm2022/mesgflow-ui-kit-blocks.mjs.map +1 -0
- package/fesm2022/mesgflow-ui-kit-box-input.mjs +2 -2
- package/fesm2022/mesgflow-ui-kit-box-input.mjs.map +1 -1
- package/fesm2022/mesgflow-ui-kit-button.mjs +188 -242
- package/fesm2022/mesgflow-ui-kit-button.mjs.map +1 -1
- package/fesm2022/mesgflow-ui-kit-card.mjs +37 -16
- package/fesm2022/mesgflow-ui-kit-card.mjs.map +1 -1
- package/fesm2022/mesgflow-ui-kit-carousel.mjs +308 -0
- package/fesm2022/mesgflow-ui-kit-carousel.mjs.map +1 -0
- package/fesm2022/mesgflow-ui-kit-checkbox.mjs +16 -21
- package/fesm2022/mesgflow-ui-kit-checkbox.mjs.map +1 -1
- package/fesm2022/mesgflow-ui-kit-chip.mjs +2 -2
- package/fesm2022/mesgflow-ui-kit-chip.mjs.map +1 -1
- package/fesm2022/mesgflow-ui-kit-code-block.mjs +9 -5
- package/fesm2022/mesgflow-ui-kit-code-block.mjs.map +1 -1
- package/fesm2022/mesgflow-ui-kit-color-picker.mjs +6 -4
- package/fesm2022/mesgflow-ui-kit-color-picker.mjs.map +1 -1
- package/fesm2022/mesgflow-ui-kit-combobox.mjs +145 -65
- package/fesm2022/mesgflow-ui-kit-combobox.mjs.map +1 -1
- package/fesm2022/mesgflow-ui-kit-context-menu.mjs +4 -6
- package/fesm2022/mesgflow-ui-kit-context-menu.mjs.map +1 -1
- package/fesm2022/mesgflow-ui-kit-core.mjs +441 -128
- package/fesm2022/mesgflow-ui-kit-core.mjs.map +1 -1
- package/fesm2022/mesgflow-ui-kit-countdown.mjs +149 -0
- package/fesm2022/mesgflow-ui-kit-countdown.mjs.map +1 -0
- package/fesm2022/mesgflow-ui-kit-date-picker.mjs +131 -10
- package/fesm2022/mesgflow-ui-kit-date-picker.mjs.map +1 -1
- package/fesm2022/mesgflow-ui-kit-dialog.mjs +117 -34
- package/fesm2022/mesgflow-ui-kit-dialog.mjs.map +1 -1
- package/fesm2022/mesgflow-ui-kit-drawer.mjs +109 -0
- package/fesm2022/mesgflow-ui-kit-drawer.mjs.map +1 -0
- package/fesm2022/mesgflow-ui-kit-dropzone.mjs +3 -3
- package/fesm2022/mesgflow-ui-kit-dropzone.mjs.map +1 -1
- package/fesm2022/mesgflow-ui-kit-field.mjs +53 -12
- package/fesm2022/mesgflow-ui-kit-field.mjs.map +1 -1
- package/fesm2022/mesgflow-ui-kit-file-upload.mjs +356 -0
- package/fesm2022/mesgflow-ui-kit-file-upload.mjs.map +1 -0
- package/fesm2022/mesgflow-ui-kit-i18n-tr.mjs +131 -0
- package/fesm2022/mesgflow-ui-kit-i18n-tr.mjs.map +1 -1
- package/fesm2022/mesgflow-ui-kit-icon.mjs +6 -1
- package/fesm2022/mesgflow-ui-kit-icon.mjs.map +1 -1
- package/fesm2022/mesgflow-ui-kit-icons-lucide.mjs +371 -0
- package/fesm2022/mesgflow-ui-kit-icons-lucide.mjs.map +1 -0
- package/fesm2022/mesgflow-ui-kit-inline-edit.mjs +279 -0
- package/fesm2022/mesgflow-ui-kit-inline-edit.mjs.map +1 -0
- package/fesm2022/mesgflow-ui-kit-input.mjs +147 -4
- package/fesm2022/mesgflow-ui-kit-input.mjs.map +1 -1
- package/fesm2022/mesgflow-ui-kit-lightbox.mjs +299 -0
- package/fesm2022/mesgflow-ui-kit-lightbox.mjs.map +1 -0
- package/fesm2022/mesgflow-ui-kit-link.mjs +2 -2
- package/fesm2022/mesgflow-ui-kit-link.mjs.map +1 -1
- package/fesm2022/mesgflow-ui-kit-listbox.mjs +151 -0
- package/fesm2022/mesgflow-ui-kit-listbox.mjs.map +1 -0
- package/fesm2022/mesgflow-ui-kit-mention.mjs +283 -0
- package/fesm2022/mesgflow-ui-kit-mention.mjs.map +1 -0
- package/fesm2022/mesgflow-ui-kit-menu.mjs +169 -5
- package/fesm2022/mesgflow-ui-kit-menu.mjs.map +1 -1
- package/fesm2022/mesgflow-ui-kit-nav-menu.mjs +276 -0
- package/fesm2022/mesgflow-ui-kit-nav-menu.mjs.map +1 -0
- package/fesm2022/mesgflow-ui-kit-notification-center.mjs +281 -0
- package/fesm2022/mesgflow-ui-kit-notification-center.mjs.map +1 -0
- package/fesm2022/mesgflow-ui-kit-number-input.mjs +7 -4
- package/fesm2022/mesgflow-ui-kit-number-input.mjs.map +1 -1
- package/fesm2022/mesgflow-ui-kit-pagination.mjs +4 -3
- package/fesm2022/mesgflow-ui-kit-pagination.mjs.map +1 -1
- package/fesm2022/mesgflow-ui-kit-password-input.mjs +7 -2
- package/fesm2022/mesgflow-ui-kit-password-input.mjs.map +1 -1
- package/fesm2022/mesgflow-ui-kit-popover.mjs +9 -49
- package/fesm2022/mesgflow-ui-kit-popover.mjs.map +1 -1
- package/fesm2022/mesgflow-ui-kit-progress.mjs +162 -21
- package/fesm2022/mesgflow-ui-kit-progress.mjs.map +1 -1
- package/fesm2022/mesgflow-ui-kit-radio.mjs +4 -6
- package/fesm2022/mesgflow-ui-kit-radio.mjs.map +1 -1
- package/fesm2022/mesgflow-ui-kit-rating.mjs +2 -2
- package/fesm2022/mesgflow-ui-kit-rating.mjs.map +1 -1
- package/fesm2022/mesgflow-ui-kit-search-input.mjs +9 -5
- package/fesm2022/mesgflow-ui-kit-search-input.mjs.map +1 -1
- package/fesm2022/mesgflow-ui-kit-segmented-control.mjs +12 -8
- package/fesm2022/mesgflow-ui-kit-segmented-control.mjs.map +1 -1
- package/fesm2022/mesgflow-ui-kit-select.mjs +3 -2
- package/fesm2022/mesgflow-ui-kit-select.mjs.map +1 -1
- package/fesm2022/mesgflow-ui-kit-sidebar.mjs +16 -13
- package/fesm2022/mesgflow-ui-kit-sidebar.mjs.map +1 -1
- package/fesm2022/mesgflow-ui-kit-skeleton.mjs +4 -3
- package/fesm2022/mesgflow-ui-kit-skeleton.mjs.map +1 -1
- package/fesm2022/mesgflow-ui-kit-slider.mjs +250 -3
- package/fesm2022/mesgflow-ui-kit-slider.mjs.map +1 -1
- package/fesm2022/mesgflow-ui-kit-sortable.mjs +526 -0
- package/fesm2022/mesgflow-ui-kit-sortable.mjs.map +1 -0
- package/fesm2022/mesgflow-ui-kit-spinner.mjs +42 -13
- package/fesm2022/mesgflow-ui-kit-spinner.mjs.map +1 -1
- package/fesm2022/mesgflow-ui-kit-split-button.mjs +205 -0
- package/fesm2022/mesgflow-ui-kit-split-button.mjs.map +1 -0
- package/fesm2022/mesgflow-ui-kit-splitter.mjs +210 -3
- package/fesm2022/mesgflow-ui-kit-splitter.mjs.map +1 -1
- package/fesm2022/mesgflow-ui-kit-stat-tile.mjs +11 -4
- package/fesm2022/mesgflow-ui-kit-stat-tile.mjs.map +1 -1
- package/fesm2022/mesgflow-ui-kit-stepper.mjs +167 -60
- package/fesm2022/mesgflow-ui-kit-stepper.mjs.map +1 -1
- package/fesm2022/mesgflow-ui-kit-switch.mjs +2 -2
- package/fesm2022/mesgflow-ui-kit-switch.mjs.map +1 -1
- package/fesm2022/mesgflow-ui-kit-table.mjs +16 -10
- package/fesm2022/mesgflow-ui-kit-table.mjs.map +1 -1
- package/fesm2022/mesgflow-ui-kit-tabs.mjs +410 -169
- package/fesm2022/mesgflow-ui-kit-tabs.mjs.map +1 -1
- package/fesm2022/mesgflow-ui-kit-tag-input.mjs +7 -2
- package/fesm2022/mesgflow-ui-kit-tag-input.mjs.map +1 -1
- package/fesm2022/mesgflow-ui-kit-theming.mjs +4 -4
- package/fesm2022/mesgflow-ui-kit-theming.mjs.map +1 -1
- package/fesm2022/mesgflow-ui-kit-time-picker.mjs +3 -3
- package/fesm2022/mesgflow-ui-kit-time-picker.mjs.map +1 -1
- package/fesm2022/mesgflow-ui-kit-toast.mjs +113 -30
- package/fesm2022/mesgflow-ui-kit-toast.mjs.map +1 -1
- package/fesm2022/mesgflow-ui-kit-toggle.mjs +3 -2
- package/fesm2022/mesgflow-ui-kit-toggle.mjs.map +1 -1
- package/fesm2022/mesgflow-ui-kit-toolbar.mjs +4 -2
- package/fesm2022/mesgflow-ui-kit-toolbar.mjs.map +1 -1
- package/fesm2022/mesgflow-ui-kit-tooltip.mjs +73 -50
- package/fesm2022/mesgflow-ui-kit-tooltip.mjs.map +1 -1
- package/fesm2022/mesgflow-ui-kit-tour.mjs +8 -20
- package/fesm2022/mesgflow-ui-kit-tour.mjs.map +1 -1
- package/fesm2022/mesgflow-ui-kit-transfer-list.mjs +288 -0
- package/fesm2022/mesgflow-ui-kit-transfer-list.mjs.map +1 -0
- package/fesm2022/mesgflow-ui-kit-tree.mjs +1 -1
- package/fesm2022/mesgflow-ui-kit-tree.mjs.map +1 -1
- package/fesm2022/mesgflow-ui-kit-virtual-list.mjs +109 -0
- package/fesm2022/mesgflow-ui-kit-virtual-list.mjs.map +1 -0
- package/fesm2022/mesgflow-ui-kit.mjs +92 -12836
- package/fesm2022/mesgflow-ui-kit.mjs.map +1 -1
- package/package.json +87 -3
- package/schematics/collection.json +10 -0
- package/schematics/migration.json +10 -0
- package/schematics/migrations/v0-7.cjs +70 -0
- package/schematics/ng-add/index.cjs +234 -0
- package/schematics/ng-add/schema.json +43 -0
- package/tokens/color.css +96 -0
- package/tokens/controls.css +145 -0
- package/tokens/elevation.css +62 -6
- package/tokens/motion.css +304 -66
- package/tokens/radius.css +14 -0
- package/tokens.css +1 -0
- package/tokens.json +1583 -0
- package/types/mesgflow-ui-kit-agenda.d.ts +49 -0
- package/types/mesgflow-ui-kit-aspect-ratio.d.ts +18 -0
- package/types/mesgflow-ui-kit-blocks.d.ts +128 -0
- package/types/mesgflow-ui-kit-button.d.ts +23 -38
- package/types/mesgflow-ui-kit-card.d.ts +26 -16
- package/types/mesgflow-ui-kit-carousel.d.ts +51 -0
- package/types/mesgflow-ui-kit-checkbox.d.ts +8 -5
- package/types/mesgflow-ui-kit-code-block.d.ts +4 -1
- package/types/mesgflow-ui-kit-combobox.d.ts +47 -22
- package/types/mesgflow-ui-kit-core.d.ts +271 -21
- package/types/mesgflow-ui-kit-countdown.d.ts +47 -0
- package/types/mesgflow-ui-kit-date-picker.d.ts +31 -1
- package/types/mesgflow-ui-kit-dialog.d.ts +29 -6
- package/types/mesgflow-ui-kit-drawer.d.ts +45 -0
- package/types/mesgflow-ui-kit-field.d.ts +17 -8
- package/types/mesgflow-ui-kit-file-upload.d.ts +64 -0
- package/types/mesgflow-ui-kit-hover-card.d.ts +2 -2
- package/types/mesgflow-ui-kit-icons-lucide.d.ts +27 -0
- package/types/mesgflow-ui-kit-inline-edit.d.ts +42 -0
- package/types/mesgflow-ui-kit-input.d.ts +64 -2
- package/types/mesgflow-ui-kit-lightbox.d.ts +54 -0
- package/types/mesgflow-ui-kit-listbox.d.ts +30 -0
- package/types/mesgflow-ui-kit-mention.d.ts +59 -0
- package/types/mesgflow-ui-kit-menu.d.ts +41 -2
- package/types/mesgflow-ui-kit-nav-menu.d.ts +58 -0
- package/types/mesgflow-ui-kit-notification-center.d.ts +41 -0
- package/types/mesgflow-ui-kit-number-input.d.ts +3 -1
- package/types/mesgflow-ui-kit-password-input.d.ts +3 -1
- package/types/mesgflow-ui-kit-popover.d.ts +13 -5
- package/types/mesgflow-ui-kit-progress.d.ts +33 -12
- package/types/mesgflow-ui-kit-radio.d.ts +2 -2
- package/types/mesgflow-ui-kit-search-input.d.ts +3 -1
- package/types/mesgflow-ui-kit-segmented-control.d.ts +4 -0
- package/types/mesgflow-ui-kit-sidebar.d.ts +1 -1
- package/types/mesgflow-ui-kit-slider.d.ts +60 -1
- package/types/mesgflow-ui-kit-sortable.d.ts +103 -0
- package/types/mesgflow-ui-kit-spinner.d.ts +5 -8
- package/types/mesgflow-ui-kit-split-button.d.ts +47 -0
- package/types/mesgflow-ui-kit-splitter.d.ts +64 -1
- package/types/mesgflow-ui-kit-stat-tile.d.ts +3 -0
- package/types/mesgflow-ui-kit-stepper.d.ts +54 -32
- package/types/mesgflow-ui-kit-table.d.ts +2 -0
- package/types/mesgflow-ui-kit-tabs.d.ts +193 -93
- package/types/mesgflow-ui-kit-tag-input.d.ts +3 -1
- package/types/mesgflow-ui-kit-toast.d.ts +48 -22
- package/types/mesgflow-ui-kit-tooltip.d.ts +15 -12
- package/types/mesgflow-ui-kit-transfer-list.d.ts +34 -0
- package/types/mesgflow-ui-kit-virtual-list.d.ts +35 -0
- package/types/mesgflow-ui-kit.d.ts +87 -5444
package/tokens/motion.css
CHANGED
|
@@ -3,17 +3,28 @@
|
|
|
3
3
|
* animasyonları. `prefers-reduced-motion: reduce` global bloğu (aşağıda)
|
|
4
4
|
* TÜM `animate-*`/`transition-*` kullanımlarını otomatik kısıyor — yeni bir
|
|
5
5
|
* `--animate-*` eklerken ayrıca bir reduced-motion istisnası YAZMA gerekmiyor.
|
|
6
|
+
*
|
|
7
|
+
* Hareket dili (v0.7):
|
|
8
|
+
* - GİRİŞ `ease-spring` / `ease-emphasis`, `duration-base`..`slow`.
|
|
9
|
+
* - ÇIKIŞ her zaman DAHA KISA (`--mf-duration-exit`) ve hızlanarak ayrılır
|
|
10
|
+
* (`ease-exit`) — Material 3 / Radix ile aynı ilke.
|
|
11
|
+
* - Overlay'ler tetikleyiciden büyür (anchor-origin, dosyanın sonu).
|
|
12
|
+
* - Listeler `stagger` ile sırayla girer.
|
|
6
13
|
*/
|
|
7
14
|
@theme {
|
|
8
15
|
--ease-emphasis: cubic-bezier(0.2, 0, 0, 1);
|
|
16
|
+
/*
|
|
17
|
+
* Çıkış eğrisi — hızlanarak AYRILIR (ease-in). Giriş ve çıkış aynı eğriyi
|
|
18
|
+
* paylaşınca kapanış "geri sarılan film" gibi yavaş hissettiriyordu.
|
|
19
|
+
*/
|
|
20
|
+
--ease-exit: cubic-bezier(0.4, 0, 1, 1);
|
|
9
21
|
/*
|
|
10
22
|
* Sönümlü yay (ζ=0.9, başlangıç hızı 1.2) — `linear()` ile örneklenmiş.
|
|
11
23
|
* Hızlı başlar (ease-out gibi), hedefi ~%2.8 aşıp yerine OTURUR — zıplama
|
|
12
|
-
* yok. SADECE küçük ölçek/öteleme GİRİŞLERİNDE (dialog, overlay):
|
|
24
|
+
* yok. SADECE küçük ölçek/öteleme GİRİŞLERİNDE (dialog, overlay, toast):
|
|
13
25
|
* `translateY(100%)` gibi tam-boy kaymalarda (sheet/drawer) aşım panelin
|
|
14
|
-
* altında boşluk açardı.
|
|
15
|
-
*
|
|
16
|
-
* animasyonsuz açılır (işlev kaybı yok).
|
|
26
|
+
* altında boşluk açardı. `linear()` desteklemeyen tarayıcıda animasyon
|
|
27
|
+
* bildirimi geçersiz sayılır ve panel animasyonsuz açılır (işlev kaybı yok).
|
|
17
28
|
*/
|
|
18
29
|
--ease-spring: linear(
|
|
19
30
|
0,
|
|
@@ -34,9 +45,11 @@
|
|
|
34
45
|
1.005 93.8%,
|
|
35
46
|
1
|
|
36
47
|
);
|
|
48
|
+
--duration-instant: 80ms;
|
|
37
49
|
--duration-fast: 120ms;
|
|
38
50
|
--duration-base: 180ms;
|
|
39
51
|
--duration-slow: 260ms;
|
|
52
|
+
--duration-slower: 400ms;
|
|
40
53
|
|
|
41
54
|
/*
|
|
42
55
|
* Table'ın "yeniden sorgulanıyor" göstergesi: satırlar YERİNDE kalır
|
|
@@ -54,30 +67,38 @@
|
|
|
54
67
|
}
|
|
55
68
|
}
|
|
56
69
|
|
|
70
|
+
/* Dairesel ilerleme (Progress `variant="ring"`, indeterminate) — halka döner. */
|
|
71
|
+
--animate-spin-slow: ring-spin 1.4s linear infinite;
|
|
72
|
+
|
|
73
|
+
@keyframes ring-spin {
|
|
74
|
+
to {
|
|
75
|
+
rotate: 360deg;
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
|
|
57
79
|
/*
|
|
58
80
|
* Dialog açılış/kapanış — `Dialog`'un (dialog.ts) `surface.closing()`'e
|
|
59
81
|
* göre reaktif olarak `-in`/`-out` class'ı arasında geçiş yapmasıyla
|
|
60
|
-
* tetikleniyor. Kapanış
|
|
61
|
-
* `
|
|
62
|
-
*
|
|
63
|
-
* BİREBİR eşleşiyor, biri değişirse diğeri de güncellenmeli.
|
|
82
|
+
* tetikleniyor. Kapanış gecikmesi `DialogService.open()`'daki
|
|
83
|
+
* `closePredicate` — süresini `exitDurationMs()` (core/motion.ts) BURADAKİ
|
|
84
|
+
* `--mf-duration-exit`'ten okur; iki yerde elle eşitlenen sabit yok.
|
|
64
85
|
*/
|
|
65
|
-
--animate-dialog-in: dialog-in var(--duration-
|
|
66
|
-
--animate-dialog-out: dialog-out var(--duration-
|
|
67
|
-
--animate-sheet-in: sheet-in var(--duration-
|
|
68
|
-
--animate-sheet-out: sheet-out var(--duration-
|
|
86
|
+
--animate-dialog-in: dialog-in var(--duration-slow) var(--ease-spring);
|
|
87
|
+
--animate-dialog-out: dialog-out var(--mf-duration-exit) var(--ease-exit) forwards;
|
|
88
|
+
--animate-sheet-in: sheet-in var(--duration-slow) var(--ease-emphasis);
|
|
89
|
+
--animate-sheet-out: sheet-out var(--mf-duration-exit) var(--ease-exit) forwards;
|
|
69
90
|
|
|
70
91
|
@keyframes dialog-in {
|
|
71
92
|
from {
|
|
72
93
|
opacity: 0;
|
|
73
|
-
transform: translateY(
|
|
94
|
+
transform: translateY(12px) scale(0.97);
|
|
74
95
|
}
|
|
75
96
|
}
|
|
76
97
|
|
|
77
98
|
@keyframes dialog-out {
|
|
78
99
|
to {
|
|
79
100
|
opacity: 0;
|
|
80
|
-
transform: translateY(
|
|
101
|
+
transform: translateY(6px) scale(0.98);
|
|
81
102
|
}
|
|
82
103
|
}
|
|
83
104
|
|
|
@@ -94,36 +115,56 @@
|
|
|
94
115
|
}
|
|
95
116
|
|
|
96
117
|
/*
|
|
97
|
-
* Drawer
|
|
98
|
-
*
|
|
99
|
-
* (
|
|
118
|
+
* Drawer — kenardan kayar. Hareket ekseni metaforla eşleşiyor (modal
|
|
119
|
+
* ortadan yükselir, sheet alttan kayar, drawer kenardan kayar).
|
|
120
|
+
* `end` (varsayılan, eski `drawer`) / `start` / `top` / `bottom` (= sheet).
|
|
121
|
+
* `--mf-dir` RTL'de yatay yönü çevirir (bkz. aşağıdaki `:root`).
|
|
100
122
|
*/
|
|
101
|
-
--animate-drawer-in: drawer-in var(--duration-
|
|
102
|
-
--animate-drawer-out: drawer-out var(--duration-
|
|
123
|
+
--animate-drawer-in: drawer-in var(--duration-slow) var(--ease-emphasis);
|
|
124
|
+
--animate-drawer-out: drawer-out var(--mf-duration-exit) var(--ease-exit) forwards;
|
|
125
|
+
--animate-drawer-start-in: drawer-start-in var(--duration-slow) var(--ease-emphasis);
|
|
126
|
+
--animate-drawer-start-out: drawer-start-out var(--mf-duration-exit) var(--ease-exit) forwards;
|
|
127
|
+
--animate-drawer-top-in: drawer-top-in var(--duration-slow) var(--ease-emphasis);
|
|
128
|
+
--animate-drawer-top-out: drawer-top-out var(--mf-duration-exit) var(--ease-exit) forwards;
|
|
103
129
|
|
|
104
130
|
@keyframes drawer-in {
|
|
105
131
|
from {
|
|
106
|
-
transform: translateX(100%);
|
|
132
|
+
transform: translateX(calc(100% * var(--mf-dir, 1)));
|
|
107
133
|
}
|
|
108
134
|
}
|
|
109
135
|
|
|
110
136
|
@keyframes drawer-out {
|
|
111
137
|
to {
|
|
112
|
-
transform: translateX(100%);
|
|
138
|
+
transform: translateX(calc(100% * var(--mf-dir, 1)));
|
|
139
|
+
}
|
|
140
|
+
}
|
|
141
|
+
|
|
142
|
+
@keyframes drawer-start-in {
|
|
143
|
+
from {
|
|
144
|
+
transform: translateX(calc(-100% * var(--mf-dir, 1)));
|
|
145
|
+
}
|
|
146
|
+
}
|
|
147
|
+
|
|
148
|
+
@keyframes drawer-start-out {
|
|
149
|
+
to {
|
|
150
|
+
transform: translateX(calc(-100% * var(--mf-dir, 1)));
|
|
151
|
+
}
|
|
152
|
+
}
|
|
153
|
+
|
|
154
|
+
@keyframes drawer-top-in {
|
|
155
|
+
from {
|
|
156
|
+
transform: translateY(-100%);
|
|
157
|
+
}
|
|
158
|
+
}
|
|
159
|
+
|
|
160
|
+
@keyframes drawer-top-out {
|
|
161
|
+
to {
|
|
162
|
+
transform: translateY(-100%);
|
|
113
163
|
}
|
|
114
164
|
}
|
|
115
165
|
|
|
116
|
-
/*
|
|
117
|
-
* Popover/Menu/Select/Combobox/ColorPicker/DatePicker/... — 12 kopya
|
|
118
|
-
* overlay panelinin BİRLEŞTİĞİ tek giriş/çıkış hareketi (bkz. plan Faz 1c,
|
|
119
|
-
* `Popover`'ın `closing` sinyali). Dialog'dan (Y 8px + duration-base) daha
|
|
120
|
-
* hafif — küçük bir panel, `-4px` + `duration-fast` yeterli, ağır
|
|
121
|
-
* hissettirmez.
|
|
122
|
-
*/
|
|
123
166
|
/* Durum ikonu değişimi (kopyalandı ✓ vb.) — küçükten yaya binerek büyür. */
|
|
124
167
|
--animate-pop: pop var(--duration-base) var(--ease-spring);
|
|
125
|
-
--animate-overlay-in: overlay-in var(--duration-fast) var(--ease-spring);
|
|
126
|
-
--animate-overlay-out: overlay-out var(--duration-fast) var(--ease-emphasis) forwards;
|
|
127
168
|
|
|
128
169
|
@keyframes pop {
|
|
129
170
|
from {
|
|
@@ -136,49 +177,94 @@
|
|
|
136
177
|
}
|
|
137
178
|
}
|
|
138
179
|
|
|
180
|
+
/*
|
|
181
|
+
* Popover/Menu/Select/Combobox/Tooltip/... — tüm overlay panellerinin TEK
|
|
182
|
+
* giriş/çıkış hareketi. Anchor-origin: `--mf-overlay-dx/dy` ve
|
|
183
|
+
* `transform-origin` CDK'nın SEÇTİĞİ pozisyonun `panelClass`'ından gelir
|
|
184
|
+
* (`mf-side-*` / `mf-origin-*`, dosyanın sonu + core/overlay/placements.ts)
|
|
185
|
+
* — panel yukarı çevrildiğinde (flip) hareket de ona göre döner.
|
|
186
|
+
*/
|
|
187
|
+
--animate-overlay-in: overlay-in var(--duration-base) var(--ease-spring);
|
|
188
|
+
--animate-overlay-out: overlay-out var(--mf-duration-exit) var(--ease-exit) forwards;
|
|
189
|
+
|
|
139
190
|
@keyframes overlay-in {
|
|
140
191
|
from {
|
|
141
192
|
opacity: 0;
|
|
142
|
-
transform:
|
|
193
|
+
transform: translate(var(--mf-overlay-dx, 0px), var(--mf-overlay-dy, -4px)) scale(0.96);
|
|
143
194
|
}
|
|
144
195
|
}
|
|
145
196
|
|
|
146
197
|
@keyframes overlay-out {
|
|
147
198
|
to {
|
|
148
199
|
opacity: 0;
|
|
149
|
-
transform:
|
|
200
|
+
transform: translate(var(--mf-overlay-dx, 0px), var(--mf-overlay-dy, -4px)) scale(0.97);
|
|
150
201
|
}
|
|
151
202
|
}
|
|
152
203
|
|
|
153
204
|
/*
|
|
154
|
-
* Toast — X ekseninde kayarak girer/çıkar (
|
|
155
|
-
*
|
|
156
|
-
* BİLEREK farklı).
|
|
205
|
+
* Toast — X ekseninde kayarak girer/çıkar (köşeden gelen bildirim
|
|
206
|
+
* metaforu). Giriş yaylı, çıkış kısa + hızlanan.
|
|
157
207
|
*/
|
|
158
|
-
--animate-toast-in: toast-in var(--duration-
|
|
159
|
-
--animate-toast-out: toast-out var(--duration-
|
|
208
|
+
--animate-toast-in: toast-in var(--duration-slow) var(--ease-spring);
|
|
209
|
+
--animate-toast-out: toast-out var(--mf-duration-exit) var(--ease-exit) forwards;
|
|
160
210
|
|
|
161
211
|
@keyframes toast-in {
|
|
162
212
|
from {
|
|
163
213
|
opacity: 0;
|
|
164
|
-
transform: translateX(
|
|
214
|
+
transform: translateX(calc(24px * var(--mf-dir, 1))) scale(0.97);
|
|
165
215
|
}
|
|
166
216
|
}
|
|
167
217
|
|
|
168
218
|
@keyframes toast-out {
|
|
169
219
|
to {
|
|
170
220
|
opacity: 0;
|
|
171
|
-
transform: translateX(
|
|
221
|
+
transform: translateX(calc(24px * var(--mf-dir, 1))) scale(0.97);
|
|
222
|
+
}
|
|
223
|
+
}
|
|
224
|
+
|
|
225
|
+
/* Toast otomatik kapanma çubuğu — süre `--mf-toast-duration` (ToastHost satır stili). */
|
|
226
|
+
--animate-countdown: countdown var(--mf-toast-duration, 5s) linear forwards;
|
|
227
|
+
|
|
228
|
+
@keyframes countdown {
|
|
229
|
+
from {
|
|
230
|
+
transform: scaleX(1);
|
|
231
|
+
}
|
|
232
|
+
to {
|
|
233
|
+
transform: scaleX(0);
|
|
234
|
+
}
|
|
235
|
+
}
|
|
236
|
+
|
|
237
|
+
/*
|
|
238
|
+
* Liste girişi — `stagger` utility'siyle birlikte: öğeler sırayla 30ms
|
|
239
|
+
* arayla yükselir (menü öğeleri, toast yığını, blok kartları).
|
|
240
|
+
*/
|
|
241
|
+
--animate-list-in: list-in var(--duration-slow) var(--ease-emphasis) both;
|
|
242
|
+
|
|
243
|
+
@keyframes list-in {
|
|
244
|
+
from {
|
|
245
|
+
opacity: 0;
|
|
246
|
+
transform: translateY(6px);
|
|
247
|
+
}
|
|
248
|
+
}
|
|
249
|
+
|
|
250
|
+
/* Checkbox işareti — SVG path "çizilir" (stroke-dashoffset). */
|
|
251
|
+
--animate-draw: draw var(--duration-base) var(--ease-emphasis) both;
|
|
252
|
+
|
|
253
|
+
@keyframes draw {
|
|
254
|
+
from {
|
|
255
|
+
stroke-dashoffset: var(--mf-draw-length, 24);
|
|
256
|
+
}
|
|
257
|
+
to {
|
|
258
|
+
stroke-dashoffset: 0;
|
|
172
259
|
}
|
|
173
260
|
}
|
|
174
261
|
|
|
175
262
|
/*
|
|
176
263
|
* Skeleton — `animate-pulse` (opaklık titreşimi) yerine soldan sağa kayan
|
|
177
|
-
* bir
|
|
178
|
-
*
|
|
179
|
-
* hareketi tanımlıyor, gradient tanımı `skeleton.ts`'te.
|
|
264
|
+
* bir parıltı. Skeleton'un kendi arka planı bir gradient olmalı
|
|
265
|
+
* (`background-size: 200% 100%`) — gradient tanımı `skeleton.ts`'te.
|
|
180
266
|
*/
|
|
181
|
-
--animate-shimmer: shimmer 1.
|
|
267
|
+
--animate-shimmer: shimmer 1.6s var(--ease-emphasis) infinite;
|
|
182
268
|
|
|
183
269
|
@keyframes shimmer {
|
|
184
270
|
0% {
|
|
@@ -197,18 +283,31 @@
|
|
|
197
283
|
opacity: 0;
|
|
198
284
|
}
|
|
199
285
|
}
|
|
286
|
+
|
|
287
|
+
/**
|
|
288
|
+
* Sekme paneli girişi — solma + 4px yükselme. `display:none → block` geçişi
|
|
289
|
+
* animasyonu kendiliğinden yeniden başlatır, önceki durum takibi gerekmez.
|
|
290
|
+
*/
|
|
291
|
+
--animate-panel-in: panel-in var(--duration-base) var(--ease-emphasis);
|
|
292
|
+
|
|
293
|
+
@keyframes panel-in {
|
|
294
|
+
from {
|
|
295
|
+
opacity: 0;
|
|
296
|
+
transform: translateY(4px);
|
|
297
|
+
}
|
|
298
|
+
}
|
|
200
299
|
}
|
|
201
300
|
|
|
202
301
|
/*
|
|
203
302
|
* Tailwind v4'te `--duration-*` diye bir theme namespace YOK (sadece
|
|
204
|
-
* `--ease-*`/`--animate-*` var) — `duration
|
|
205
|
-
*
|
|
206
|
-
*
|
|
207
|
-
*
|
|
208
|
-
* elle tanımlamak hem class'ları çalıştırıyor hem de "kullanılmayan" gerekçesiyle
|
|
209
|
-
* derlenen CSS'ten atlanan `--duration-*` custom property'lerini emit ettiriyor
|
|
210
|
-
* (`.mf-dialog-backdrop`'ın `var(--duration-base)`'i de bu sayede düzeliyor).
|
|
303
|
+
* `--ease-*`/`--animate-*` var) — `duration-*` class'ları `@theme`
|
|
304
|
+
* tanımına rağmen CSS üretmiyordu. `@utility` ile elle tanımlamak hem
|
|
305
|
+
* class'ları çalıştırıyor hem de `--duration-*` custom property'lerini emit
|
|
306
|
+
* ettiriyor.
|
|
211
307
|
*/
|
|
308
|
+
@utility duration-instant {
|
|
309
|
+
transition-duration: var(--duration-instant);
|
|
310
|
+
}
|
|
212
311
|
@utility duration-fast {
|
|
213
312
|
transition-duration: var(--duration-fast);
|
|
214
313
|
}
|
|
@@ -218,8 +317,55 @@
|
|
|
218
317
|
@utility duration-slow {
|
|
219
318
|
transition-duration: var(--duration-slow);
|
|
220
319
|
}
|
|
320
|
+
@utility duration-slower {
|
|
321
|
+
transition-duration: var(--duration-slower);
|
|
322
|
+
}
|
|
323
|
+
|
|
324
|
+
/*
|
|
325
|
+
* `stagger` — `[style.--mf-stagger]="$index"` ile birlikte: animasyon
|
|
326
|
+
* gecikmesi öğe sırasıyla artar (10. öğeden sonra sabit, uzun listelerde
|
|
327
|
+
* sondaki öğeler beklemesin).
|
|
328
|
+
*/
|
|
329
|
+
@utility stagger {
|
|
330
|
+
animation-delay: min(calc(var(--mf-stagger, 0) * 30ms), 300ms);
|
|
331
|
+
}
|
|
332
|
+
|
|
333
|
+
/*
|
|
334
|
+
* `hover-lift` — tıklanabilir kart/döşeme: hover'da 2px yükselir + overlay
|
|
335
|
+
* gölgesi. Sadece gerçek hover'lı cihazlarda — dokunmatikte "yapışkan hover"
|
|
336
|
+
* olmasın. `translate` bağımsız özelliği: `transform` kullanan animasyonlarla
|
|
337
|
+
* çakışmaz.
|
|
338
|
+
*/
|
|
339
|
+
@utility hover-lift {
|
|
340
|
+
transition-property: translate, box-shadow, border-color, background-color;
|
|
341
|
+
transition-duration: var(--duration-base);
|
|
342
|
+
transition-timing-function: var(--ease-emphasis);
|
|
343
|
+
@media (hover: hover) {
|
|
344
|
+
&:hover {
|
|
345
|
+
translate: 0 -2px;
|
|
346
|
+
box-shadow: var(--mf-shadow-2);
|
|
347
|
+
}
|
|
348
|
+
}
|
|
349
|
+
&:active {
|
|
350
|
+
translate: 0 0;
|
|
351
|
+
}
|
|
352
|
+
}
|
|
221
353
|
|
|
222
354
|
@layer base {
|
|
355
|
+
/*
|
|
356
|
+
* Çalışma zamanı motion token'ları — JS'in de OKUDUĞU değerler
|
|
357
|
+
* (`exitDurationMs()`, core/motion.ts): çıkış süresi TEK kaynakta.
|
|
358
|
+
* `--mf-dir` — RTL'de yatay kaymaları çevirir (drawer/toast).
|
|
359
|
+
*/
|
|
360
|
+
:root {
|
|
361
|
+
--mf-duration-exit: 120ms;
|
|
362
|
+
--mf-dir: 1;
|
|
363
|
+
}
|
|
364
|
+
|
|
365
|
+
[dir='rtl'] {
|
|
366
|
+
--mf-dir: -1;
|
|
367
|
+
}
|
|
368
|
+
|
|
223
369
|
/* `transitionMfTheme()` (theming) — tema çapraz geçişi kitin kendi süre/eğrisiyle, tarayıcı varsayılanı (250ms ease) değil. */
|
|
224
370
|
::view-transition-old(root),
|
|
225
371
|
::view-transition-new(root) {
|
|
@@ -228,11 +374,16 @@
|
|
|
228
374
|
}
|
|
229
375
|
|
|
230
376
|
@media (prefers-reduced-motion: reduce) {
|
|
377
|
+
:root {
|
|
378
|
+
--mf-duration-exit: 0ms;
|
|
379
|
+
}
|
|
380
|
+
|
|
231
381
|
*,
|
|
232
382
|
*::before,
|
|
233
383
|
*::after {
|
|
234
384
|
animation-duration: 0.01ms !important;
|
|
235
385
|
animation-iteration-count: 1 !important;
|
|
386
|
+
animation-delay: 0ms !important;
|
|
236
387
|
transition-duration: 0.01ms !important;
|
|
237
388
|
scroll-behavior: auto !important;
|
|
238
389
|
}
|
|
@@ -243,26 +394,20 @@
|
|
|
243
394
|
* `.mf-dialog-backdrop` (bkz. dialog/dialog.service.ts) BİLEREK `@layer`
|
|
244
395
|
* DIŞINDA (unlayered) — CDK'nın kendi `overlay-prebuilt.css`'i
|
|
245
396
|
* `.cdk-overlay-backdrop` kuralını KENDİ `@layer cdk-overlay`'inde taşıyor,
|
|
246
|
-
* ve unlayered CSS her zaman HERHANGİ bir layer'ı
|
|
247
|
-
*
|
|
248
|
-
*
|
|
249
|
-
* `closePredicate`'i tarafından panelin kendi `animate-dialog-out`/
|
|
250
|
-
* `animate-sheet-out`'uyla AYNI anda eklenir (backdrop ham DOM elemanı — CDK
|
|
251
|
-
* yönetiyor, Angular template'ine bağlanamıyor, bu yüzden imperatif class
|
|
252
|
-
* toggle kaçınılmaz).
|
|
397
|
+
* ve unlayered CSS her zaman HERHANGİ bir layer'ı yener. `.is-closing`,
|
|
398
|
+
* `DialogService.open()`'ın `closePredicate`'i tarafından panelin kendi
|
|
399
|
+
* çıkış animasyonuyla AYNI anda eklenir.
|
|
253
400
|
*
|
|
254
|
-
* Karartma + blur
|
|
255
|
-
*
|
|
256
|
-
*
|
|
257
|
-
* arkadaki içerik hem karartılıp hem bulanıklaştırılmazsa panel içeriğiyle
|
|
258
|
-
* karışır. `color-mix()` (Tailwind'in `/40` opaklık modifier'ı unlayered
|
|
259
|
-
* kuralda çalışmıyor, bu yüzden elle) `--color-neutral-975`'i kullanıyor —
|
|
260
|
-
* moda göre otomatik doğru koyulukta.
|
|
401
|
+
* Karartma + blur — mikro glassmorphism: panel `glassSurface` ile yarı
|
|
402
|
+
* saydamken arkadaki içerik hem karartılıp hem bulanıklaştırılmazsa panel
|
|
403
|
+
* içeriğiyle karışır. Blur kademeli açılır (`backdrop-filter` geçişi).
|
|
261
404
|
*/
|
|
262
405
|
.mf-dialog-backdrop {
|
|
263
|
-
transition-
|
|
406
|
+
transition-property: opacity, backdrop-filter;
|
|
407
|
+
transition-duration: var(--duration-slow);
|
|
408
|
+
transition-timing-function: var(--ease-emphasis);
|
|
264
409
|
background-color: color-mix(in srgb, var(--color-neutral-975) 40%, transparent);
|
|
265
|
-
backdrop-filter: blur(
|
|
410
|
+
backdrop-filter: blur(6px) saturate(1.1);
|
|
266
411
|
}
|
|
267
412
|
|
|
268
413
|
@media (prefers-reduced-transparency: reduce) {
|
|
@@ -274,4 +419,97 @@
|
|
|
274
419
|
|
|
275
420
|
.mf-dialog-backdrop.is-closing {
|
|
276
421
|
opacity: 0;
|
|
422
|
+
transition-duration: var(--mf-duration-exit);
|
|
423
|
+
transition-timing-function: var(--ease-exit);
|
|
424
|
+
}
|
|
425
|
+
|
|
426
|
+
/*
|
|
427
|
+
* Overlay anchor-origin sınıfları — CDK'nın SEÇTİĞİ `ConnectedPosition`'ın
|
|
428
|
+
* `panelClass`'ı olarak pane'e eklenir (bkz. core/overlay/placements.ts).
|
|
429
|
+
* `mf-side-*`: panelin tetikleyiciye göre konumu → kayma yönü (panel
|
|
430
|
+
* tetikleyiciden dışarı doğru açılır, ona doğru çekilerek kapanır).
|
|
431
|
+
* `mf-origin-*`: `transform-origin` — ölçek tetikleyiciye en yakın noktadan.
|
|
432
|
+
* `:dir(rtl)` — CDK pane host'unun `dir` özniteliğini Directionality'den alır.
|
|
433
|
+
*/
|
|
434
|
+
.mf-side-bottom {
|
|
435
|
+
--mf-overlay-dx: 0px;
|
|
436
|
+
--mf-overlay-dy: -4px;
|
|
437
|
+
}
|
|
438
|
+
.mf-side-top {
|
|
439
|
+
--mf-overlay-dx: 0px;
|
|
440
|
+
--mf-overlay-dy: 4px;
|
|
441
|
+
}
|
|
442
|
+
.mf-side-end {
|
|
443
|
+
--mf-overlay-dx: -4px;
|
|
444
|
+
--mf-overlay-dy: 0px;
|
|
445
|
+
}
|
|
446
|
+
.mf-side-start {
|
|
447
|
+
--mf-overlay-dx: 4px;
|
|
448
|
+
--mf-overlay-dy: 0px;
|
|
449
|
+
}
|
|
450
|
+
.mf-side-end:dir(rtl) {
|
|
451
|
+
--mf-overlay-dx: 4px;
|
|
452
|
+
}
|
|
453
|
+
.mf-side-start:dir(rtl) {
|
|
454
|
+
--mf-overlay-dx: -4px;
|
|
455
|
+
}
|
|
456
|
+
|
|
457
|
+
.mf-origin-top-start {
|
|
458
|
+
--mf-overlay-origin: top left;
|
|
459
|
+
}
|
|
460
|
+
.mf-origin-top-center {
|
|
461
|
+
--mf-overlay-origin: top center;
|
|
462
|
+
}
|
|
463
|
+
.mf-origin-top-end {
|
|
464
|
+
--mf-overlay-origin: top right;
|
|
465
|
+
}
|
|
466
|
+
.mf-origin-center-start {
|
|
467
|
+
--mf-overlay-origin: center left;
|
|
468
|
+
}
|
|
469
|
+
.mf-origin-center-end {
|
|
470
|
+
--mf-overlay-origin: center right;
|
|
471
|
+
}
|
|
472
|
+
.mf-origin-bottom-start {
|
|
473
|
+
--mf-overlay-origin: bottom left;
|
|
474
|
+
}
|
|
475
|
+
.mf-origin-bottom-center {
|
|
476
|
+
--mf-overlay-origin: bottom center;
|
|
477
|
+
}
|
|
478
|
+
.mf-origin-bottom-end {
|
|
479
|
+
--mf-overlay-origin: bottom right;
|
|
480
|
+
}
|
|
481
|
+
.mf-origin-top-start:dir(rtl) {
|
|
482
|
+
--mf-overlay-origin: top right;
|
|
483
|
+
}
|
|
484
|
+
.mf-origin-top-end:dir(rtl) {
|
|
485
|
+
--mf-overlay-origin: top left;
|
|
486
|
+
}
|
|
487
|
+
.mf-origin-center-start:dir(rtl) {
|
|
488
|
+
--mf-overlay-origin: center right;
|
|
489
|
+
}
|
|
490
|
+
.mf-origin-center-end:dir(rtl) {
|
|
491
|
+
--mf-overlay-origin: center left;
|
|
492
|
+
}
|
|
493
|
+
.mf-origin-bottom-start:dir(rtl) {
|
|
494
|
+
--mf-overlay-origin: bottom right;
|
|
495
|
+
}
|
|
496
|
+
.mf-origin-bottom-end:dir(rtl) {
|
|
497
|
+
--mf-overlay-origin: bottom left;
|
|
498
|
+
}
|
|
499
|
+
|
|
500
|
+
.animate-overlay-in,
|
|
501
|
+
.animate-overlay-out {
|
|
502
|
+
transform-origin: var(--mf-overlay-origin, top center);
|
|
503
|
+
}
|
|
504
|
+
|
|
505
|
+
/* Lightbox (lightbox/lightbox.ts) — koyu cam arka plan; unlayered (CDK katmanını yener). */
|
|
506
|
+
.mf-lightbox-backdrop {
|
|
507
|
+
background-color: color-mix(in srgb, #000 88%, transparent);
|
|
508
|
+
backdrop-filter: blur(8px);
|
|
509
|
+
}
|
|
510
|
+
@media (prefers-reduced-transparency: reduce) {
|
|
511
|
+
.mf-lightbox-backdrop {
|
|
512
|
+
background-color: #000;
|
|
513
|
+
backdrop-filter: none;
|
|
514
|
+
}
|
|
277
515
|
}
|
package/tokens/radius.css
CHANGED
|
@@ -26,11 +26,19 @@
|
|
|
26
26
|
* AYNI hizada dursun diye.
|
|
27
27
|
*/
|
|
28
28
|
@theme {
|
|
29
|
+
--control-h-xs: 1.75rem; /* 28px — yoğun tablo/araç çubuğu */
|
|
29
30
|
--control-h-sm: 2rem; /* 32px */
|
|
30
31
|
--control-h-md: 2.25rem; /* 36px */
|
|
31
32
|
--control-h-lg: 2.5rem; /* 40px */
|
|
33
|
+
--control-h-xl: 3rem; /* 48px — hero/pazarlama CTA */
|
|
32
34
|
}
|
|
33
35
|
|
|
36
|
+
@utility h-control-xs {
|
|
37
|
+
height: var(--control-h-xs);
|
|
38
|
+
}
|
|
39
|
+
@utility h-control-xl {
|
|
40
|
+
height: var(--control-h-xl);
|
|
41
|
+
}
|
|
34
42
|
@utility h-control-sm {
|
|
35
43
|
height: var(--control-h-sm);
|
|
36
44
|
}
|
|
@@ -50,20 +58,26 @@
|
|
|
50
58
|
*/
|
|
51
59
|
@layer base {
|
|
52
60
|
[data-density='compact'] {
|
|
61
|
+
--control-h-xs: 1.5rem; /* 24px */
|
|
53
62
|
--control-h-sm: 1.75rem; /* 28px */
|
|
54
63
|
--control-h-md: 2rem; /* 32px */
|
|
55
64
|
--control-h-lg: 2.25rem; /* 36px */
|
|
65
|
+
--control-h-xl: 2.75rem; /* 44px */
|
|
56
66
|
}
|
|
57
67
|
|
|
58
68
|
[data-density='default'] {
|
|
69
|
+
--control-h-xs: 1.75rem;
|
|
59
70
|
--control-h-sm: 2rem;
|
|
60
71
|
--control-h-md: 2.25rem;
|
|
61
72
|
--control-h-lg: 2.5rem;
|
|
73
|
+
--control-h-xl: 3rem;
|
|
62
74
|
}
|
|
63
75
|
|
|
64
76
|
[data-density='comfortable'] {
|
|
77
|
+
--control-h-xs: 2rem; /* 32px */
|
|
65
78
|
--control-h-sm: 2.25rem; /* 36px */
|
|
66
79
|
--control-h-md: 2.5rem; /* 40px */
|
|
67
80
|
--control-h-lg: 2.75rem; /* 44px */
|
|
81
|
+
--control-h-xl: 3.25rem; /* 52px */
|
|
68
82
|
}
|
|
69
83
|
}
|
package/tokens.css
CHANGED
|
@@ -37,5 +37,6 @@
|
|
|
37
37
|
@import './tokens/radius.css';
|
|
38
38
|
@import './tokens/elevation.css';
|
|
39
39
|
@import './tokens/motion.css';
|
|
40
|
+
@import './tokens/controls.css';
|
|
40
41
|
/* Erişilebilirlik modları (prefers-contrast / forced-colors) — color.css'in rol bloklarını ezer, bu yüzden SONDA kalmalı. */
|
|
41
42
|
@import './tokens/contrast.css';
|