tamga-ui 0.7.0 → 0.7.2
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/CHANGELOG.md +35 -0
- package/dist/components/date-picker.d.ts.map +1 -1
- package/dist/components/date-picker.js +7 -2
- package/dist/fonts.css +1 -1
- package/dist/kit.css +15 -2
- package/dist/styles.css +1 -1
- package/dist/theme.css +1 -1
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -5,6 +5,41 @@ Versions follow [semver](https://semver.org/). Through `0.x`, breaking changes m
|
|
|
5
5
|
|
|
6
6
|
> 🇹🇷 Türkçe için [tamga.org.tr/tr](https://tamga.org.tr/tr).
|
|
7
7
|
|
|
8
|
+
## 0.7.2
|
|
9
|
+
|
|
10
|
+
> The current rail item is drawn whole.
|
|
11
|
+
|
|
12
|
+
### Fixed
|
|
13
|
+
|
|
14
|
+
- **`AppShell` rail: the current item's lift, shadow and focus ring were clipped.** Every entry
|
|
15
|
+
sits inside the group body's inner box, which carries `overflow: hidden` for the 0fr/1fr
|
|
16
|
+
open-close animation, and the box was exactly the content's size: the lifted item lost its
|
|
17
|
+
top and left edge, the 3px shadow its right end, and a keyboard focus ring its sides (WCAG
|
|
18
|
+
2.4.7 / 2.4.11). The inner box now has `--offset-room-ring` (4px: 1px lift plus the 1px ring
|
|
19
|
+
at 2px offset) of padding with the same negative margin, so the layout does not move but the
|
|
20
|
+
clip edge sits outside the painted area; the rail's own scroll padding grows from 3px to 4px
|
|
21
|
+
for the same reason. A closed group is hidden with `visibility: hidden` once the animation
|
|
22
|
+
ends (the padding would otherwise leak the first pixels), shown again without delay on open;
|
|
23
|
+
`inert` is unchanged. Plain CSS, works in Safari; no `overflow-clip-margin`. Measured in Chrome
|
|
24
|
+
on the docs site's real-size shell: `pnpm olc:ray` (needs Chrome and the docs server) checks
|
|
25
|
+
that the painted area of the current and of a focused item stays inside the nearest clipping
|
|
26
|
+
ancestor and that a closed group leaks nothing.
|
|
27
|
+
|
|
28
|
+
## 0.7.1
|
|
29
|
+
|
|
30
|
+
> An empty calendar opens where something can be picked.
|
|
31
|
+
|
|
32
|
+
### Fixed
|
|
33
|
+
|
|
34
|
+
- **`Calendar` / `DatePicker` / `DateTimePicker` opened on today's month even when `min` sat
|
|
35
|
+
months ahead.** Every visible day was disabled and no cell carried `tabindex="0"`, so the
|
|
36
|
+
keyboard could not enter the grid and the mouse had to press "next month" for years (a
|
|
37
|
+
maintenance window whose end is bounded by a start in 2031 opened in 2026). The first month
|
|
38
|
+
is now the value's; without a value, today's if today is inside `[min, max]`, else the month
|
|
39
|
+
of `min` (of `max` when today is past it). The tab stop lands on the selected day or the first
|
|
40
|
+
open day of that month, as before. Only the first render decides: an open calendar does not
|
|
41
|
+
jump when `min`/`max` change from outside, the next opening follows the new bounds.
|
|
42
|
+
|
|
8
43
|
## 0.7.0
|
|
9
44
|
|
|
10
45
|
> A calendar can say no and carry the hour; a section can be told whether it is open; a label can
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"date-picker.d.ts","sourceRoot":"","sources":["../../src/components/date-picker.tsx"],"names":[],"mappings":"AAWA;;;;GAIG;AAEH;;;;;GAKG;AACH,MAAM,MAAM,OAAO,GAAG,MAAM,CAAC;AAE7B;;;;;;GAMG;AACH,MAAM,MAAM,WAAW,GAAG,MAAM,CAAC;AAEjC,MAAM,MAAM,SAAS,GAAG;IAAE,IAAI,CAAC,EAAE,OAAO,CAAC;IAAC,EAAE,CAAC,EAAE,OAAO,CAAA;CAAE,CAAC;AAIzD,2EAA2E;AAC3E,MAAM,MAAM,KAAK,GAAG;IAAE,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAC;IAAC,EAAE,EAAE,MAAM,CAAA;CAAE,CAAC;AAI/E,eAAO,MAAM,eAAe,QAAO,MAA0D,CAAC;AAmC9F;;;GAGG;AACH,wBAAgB,OAAO,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,GAAG,IAAI,EAAE,CASpD;AAED;;;;;GAKG;AACH,wBAAgB,KAAK,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,GAAG,IAAI,CAKhD;AAcD,wBAAgB,MAAM,CAAC,CAAC,EAAE,MAAM,GAAG,SAAS,EAAE,EAAE,EAAE,MAAM,GAAG,OAAO,GAAG,SAAS,CAU7E;AAsDD,wBAAgB,QAAQ,CAAC,EACvB,MAAM,EACN,QAAQ,EACR,KAAK,EAAE,QAAQ,EACf,KAAK,EACL,GAAG,EAAE,MAAM,EACX,GAAG,EAAE,MAAM,EACX,QAAQ,EACR,MAAM,EACN,SAAS,EACT,GAAG,IAAI,EACR,EAAE;IACD;;;OAGG;IACH,MAAM,EAAE,MAAM,CAAC;IACf;;;OAGG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB;;;OAGG;IACH,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB;;;;OAIG;IACH,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,kGAAkG;IAClG,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;IACnC,MAAM,EAAE;QAAE,aAAa,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,CAAC;IACrD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,mEAAmE;IACnE,CAAC,CAAC,EAAE,QAAQ,MAAM,EAAE,GAAG,OAAO,CAAC;CAChC,+
|
|
1
|
+
{"version":3,"file":"date-picker.d.ts","sourceRoot":"","sources":["../../src/components/date-picker.tsx"],"names":[],"mappings":"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"}
|
|
@@ -153,9 +153,13 @@ export function Calendar({ locale, timeZone, value: hamDeger, range, min: hamMin
|
|
|
153
153
|
/* ISO günler sözlük sırasıyla karşılaştırılıyor: `2026-04-05 < 2026-04-15`. */
|
|
154
154
|
const kapali = (d) => (min !== undefined && d < min) || (max !== undefined && d > max);
|
|
155
155
|
const bugun = gunParcasi(new Date(), tz);
|
|
156
|
-
/* AÇILAN AY DEĞERİN AYI
|
|
156
|
+
/* AÇILAN AY DEĞERİN AYI. Değer yoksa bugün, bugün aralıktaysa; değilse en
|
|
157
|
+
erken seçilebilir gün (bugün max'ı geçtiyse en geç). Bugünün ayı bütünüyle
|
|
158
|
+
kapalıyken ızgarada sekme durağı kalmıyor, klavye takvime hiç giremiyordu.
|
|
159
|
+
Yalnız ilk çizimde: açık bir takvim min/max değişince yerinden oynamaz. */
|
|
157
160
|
const ayi = (d) => { const { y, m } = parcala(d); return { y, m }; };
|
|
158
|
-
const
|
|
161
|
+
const baslangic = value ?? (!kapali(bugun) ? bugun : max !== undefined && bugun > max ? max : (min ?? bugun));
|
|
162
|
+
const [view, setView] = useState(ayi(baslangic));
|
|
159
163
|
const kok = useRef(null);
|
|
160
164
|
const first = weekStart(locale);
|
|
161
165
|
const cells = useMemo(() => monthMatrix(view.y, view.m, first), [view, first]);
|
|
@@ -163,6 +167,7 @@ export function Calendar({ locale, timeZone, value: hamDeger, range, min: hamMin
|
|
|
163
167
|
/* SEKME DURAĞI HEP GÖRÜNEN AYDA VE AÇIK BİR GÜNDE. `odak` yalnız tercihtir;
|
|
164
168
|
ay değişince ya da odak kapalı/görünmez olunca durak seçili güne, o da
|
|
165
169
|
yoksa ilk açık güne düşer · yoksa klavye ızgaraya hiç giremiyordu. */
|
|
170
|
+
/* Durak görünümden bağımsız: görünen ayda değilse ilk açık güne düşüyor. */
|
|
166
171
|
const [odak, setOdak] = useState(value ?? bugun);
|
|
167
172
|
const gorunur = (d) => d !== undefined && d.startsWith(`${view.y}-${p2(view.m + 1)}`);
|
|
168
173
|
const etkinOdak = gorunur(odak) && !kapali(odak) ? odak
|
package/dist/fonts.css
CHANGED
package/dist/kit.css
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/*! tamga-ui 0.7.
|
|
1
|
+
/*! tamga-ui 0.7.2 · MIT · https://tamga.org.tr */
|
|
2
2
|
:root {
|
|
3
3
|
|
|
4
4
|
--overlay-gap: 8px;
|
|
@@ -10,6 +10,8 @@
|
|
|
10
10
|
|
|
11
11
|
--offset-room: 3px;
|
|
12
12
|
|
|
13
|
+
--offset-room-ring: 4px;
|
|
14
|
+
|
|
13
15
|
--mark-tick: 2px;
|
|
14
16
|
|
|
15
17
|
--mark-dot: 8px;
|
|
@@ -379,7 +381,7 @@
|
|
|
379
381
|
min-height: 0;
|
|
380
382
|
overflow-y: auto;
|
|
381
383
|
|
|
382
|
-
padding: var(--offset-room);
|
|
384
|
+
padding: var(--offset-room-ring);
|
|
383
385
|
|
|
384
386
|
scrollbar-width: none;
|
|
385
387
|
}
|
|
@@ -439,12 +441,23 @@
|
|
|
439
441
|
gap: 8px;
|
|
440
442
|
min-height: 0;
|
|
441
443
|
overflow: hidden;
|
|
444
|
+
|
|
445
|
+
padding: var(--offset-room-ring);
|
|
446
|
+
margin: calc(-1 * var(--offset-room-ring));
|
|
447
|
+
visibility: visible;
|
|
448
|
+
transition: visibility 0s;
|
|
442
449
|
}
|
|
443
450
|
.tamga-rail-group-body[data-open="false"] {
|
|
444
451
|
grid-template-rows: 0fr;
|
|
445
452
|
}
|
|
453
|
+
|
|
454
|
+
.tamga-rail-group-body[data-open="false"] > div {
|
|
455
|
+
visibility: hidden;
|
|
456
|
+
transition: visibility 0s var(--duration-press);
|
|
457
|
+
}
|
|
446
458
|
@media (prefers-reduced-motion: reduce) {
|
|
447
459
|
.tamga-rail-group-body,
|
|
460
|
+
.tamga-rail-group-body > div,
|
|
448
461
|
.tamga-rail-section-caret {
|
|
449
462
|
transition: none;
|
|
450
463
|
}
|
package/dist/styles.css
CHANGED
package/dist/theme.css
CHANGED