tamga-ui 0.2.0 → 0.3.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 (48) hide show
  1. package/CHANGELOG.md +86 -0
  2. package/dist/components/appearance.d.ts +78 -0
  3. package/dist/components/appearance.d.ts.map +1 -0
  4. package/dist/components/appearance.js +73 -0
  5. package/dist/components/chrome.d.ts +11 -1
  6. package/dist/components/chrome.d.ts.map +1 -1
  7. package/dist/components/chrome.js +19 -6
  8. package/dist/components/error-state.d.ts +7 -14
  9. package/dist/components/error-state.d.ts.map +1 -1
  10. package/dist/components/overlay.d.ts +7 -16
  11. package/dist/components/overlay.d.ts.map +1 -1
  12. package/dist/components/primitives.d.ts +7 -16
  13. package/dist/components/primitives.d.ts.map +1 -1
  14. package/dist/components/rail-link.d.ts +22 -2
  15. package/dist/components/rail-link.d.ts.map +1 -1
  16. package/dist/components/rail-link.js +12 -9
  17. package/dist/components/square-picker.d.ts +41 -0
  18. package/dist/components/square-picker.d.ts.map +1 -0
  19. package/dist/components/square-picker.js +90 -0
  20. package/dist/index.d.ts +3 -0
  21. package/dist/index.d.ts.map +1 -1
  22. package/dist/index.js +3 -0
  23. package/dist/kit.css +237 -729
  24. package/dist/lib/color.d.ts +0 -20
  25. package/dist/lib/color.d.ts.map +1 -1
  26. package/dist/lib/color.js +0 -22
  27. package/dist/lib/image.d.ts +46 -0
  28. package/dist/lib/image.d.ts.map +1 -0
  29. package/dist/lib/image.js +95 -0
  30. package/dist/lib/palette.d.ts +0 -16
  31. package/dist/lib/palette.d.ts.map +1 -1
  32. package/dist/lib/palette.js +0 -12
  33. package/dist/patterns/app-shell.d.ts.map +1 -1
  34. package/dist/patterns/app-shell.js +2 -12
  35. package/dist/patterns/appearance-template.d.ts +105 -0
  36. package/dist/patterns/appearance-template.d.ts.map +1 -0
  37. package/dist/patterns/appearance-template.js +23 -0
  38. package/dist/patterns/index.d.ts +1 -0
  39. package/dist/patterns/index.d.ts.map +1 -1
  40. package/dist/patterns/index.js +1 -0
  41. package/dist/patterns/settings-template.d.ts +12 -1
  42. package/dist/patterns/settings-template.d.ts.map +1 -1
  43. package/dist/patterns/settings-template.js +2 -2
  44. package/dist/patterns/shared.d.ts +1 -1
  45. package/dist/patterns/shared.d.ts.map +1 -1
  46. package/dist/styles.css +1 -3
  47. package/dist/theme.css +127 -483
  48. package/package.json +4 -1
@@ -0,0 +1,90 @@
1
+ "use client";
2
+ import { Fragment as _Fragment, jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
+ import { useCallback, useEffect, useLayoutEffect, useRef, useState } from "react";
4
+ import { Button } from "./button.js";
5
+ import { Dialog } from "./overlay.js";
6
+ import { Slider } from "./slider.js";
7
+ import { Label } from "./surface.js";
8
+ import { cropSquare } from "../lib/image.js";
9
+ /**
10
+ * LOGODAN AMBLEM SEÇME — otomatik kesme DEĞİL.
11
+ *
12
+ * Sorulan soru şuydu: yüklenen logoyu ayırıp amblemi kendiliğinden çıkaramaz
13
+ * mıyız? Çıkaramayız, ve denememesi gerekiyor:
14
+ *
15
+ * · Dosyada "amblem" diye işaretli bir şey yok. SVG'de bazen bir grup id'si
16
+ * olur ama bu tasarımcının keyfine bağlı; PNG'de hiç yok.
17
+ * · Konum sabit değil: amblem solda, üstte, sağda olabilir, yazının içine
18
+ * gömülü olabilir, ya da hiç olmayabilir (yalnız kelime-logo).
19
+ * · Hata SESSİZ ve KALICI olur. Yanlış kesim patlamaz; yarım bir harf
20
+ * panelin her sayfasının sol üstünde durur ve kimse bunun otomatik
21
+ * kesildiğini bilmez.
22
+ *
23
+ * Bu yüzden kesimi İNSAN yapıyor: kare bir çerçeve, sürüklenip boyutlanıyor.
24
+ * Sonuç tahmin değil karar.
25
+ *
26
+ * ÇERÇEVE ORANLA TUTULUYOR (0–1), piksel ile değil: önizleme ekrandan ekrana
27
+ * farklı ölçekte çiziliyor, oran her ölçekte aynı yeri gösteriyor. Ekrana
28
+ * çizilirken piksele dönüyor ve dönüşüm TEK YERDE (`kenarPx`): kesim
29
+ * matematiği ile çerçevenin CSS'i ayrı ayrı hesaplansaydı, kullanıcının
30
+ * gördüğü kare ile kesilen kare farklı olurdu — ve fark sessiz olurdu.
31
+ */
32
+ export function SquarePicker({ open, source, onClose, onPick, maxEdge = 256, labels, }) {
33
+ const sahne = useRef(null);
34
+ const [olcu, setOlcu] = useState({ en: 0, boy: 0 });
35
+ const [x, setX] = useState(0);
36
+ const [y, setY] = useState(0);
37
+ const [oran, setOran] = useState(0.6);
38
+ const [suruyor, setSuruyor] = useState(false);
39
+ /* Her açılışta baştan: bir önceki logonun çerçevesini yeni logoya taşımak,
40
+ kullanıcıya alakasız bir yeri seçtirmenin en kolay yolu. */
41
+ useEffect(() => {
42
+ if (!open)
43
+ return;
44
+ setX(0);
45
+ setY(0);
46
+ setOran(0.6);
47
+ }, [open, source]);
48
+ /* Sahnenin gerçek boyu ÖLÇÜLÜYOR, tahmin edilmiyor: görsel yüklendikçe ve
49
+ pencere daraldıkça değişiyor, ve çerçevenin pikseli ona bağlı. */
50
+ useLayoutEffect(() => {
51
+ const el = sahne.current;
52
+ if (!el)
53
+ return;
54
+ const olc = () => setOlcu({ en: el.clientWidth, boy: el.clientHeight });
55
+ olc();
56
+ const gozcu = new ResizeObserver(olc);
57
+ gozcu.observe(el);
58
+ return () => gozcu.disconnect();
59
+ }, [open, source]);
60
+ /* KARE, SAHNENİN KISA KENARINA GÖRE. Bir logo 350×65 ise kare en fazla o 65
61
+ pikselin kadarı olabilir; uzun kenara göre ölçseydik çerçeve görselin
62
+ dışına taşardı. Kesim fonksiyonu da aynı kuralı kullanıyor. */
63
+ const kenarPx = Math.min(olcu.en, olcu.boy) * oran;
64
+ const tasi = useCallback((olay) => {
65
+ const el = sahne.current;
66
+ if (!suruyor || !el)
67
+ return;
68
+ const k = el.getBoundingClientRect();
69
+ const nx = (olay.clientX - k.left - kenarPx / 2) / k.width;
70
+ const ny = (olay.clientY - k.top - kenarPx / 2) / k.height;
71
+ setX(Math.max(0, Math.min(1 - kenarPx / k.width, nx)));
72
+ setY(Math.max(0, Math.min(1 - kenarPx / k.height, ny)));
73
+ }, [suruyor, kenarPx]);
74
+ async function onayla() {
75
+ onPick(await cropSquare(source, { x, y, size: oran }, maxEdge));
76
+ onClose();
77
+ }
78
+ return (_jsx(Dialog, { open: open, onClose: onClose, title: labels.title, closeLabel: labels.close, footer: _jsxs(_Fragment, { children: [_jsx(Button, { type: "button", onClick: onClose, children: labels.cancel }), _jsx(Button, { variant: "primary", type: "button", onClick: onayla, children: labels.confirm })] }), children: _jsxs("div", { className: "flex flex-col gap-4", children: [_jsx(Label, { children: labels.hint }), _jsx("div", { className: "rounded-[var(--radius-card)] border border-[var(--color-edge)] bg-[var(--color-shell)] p-4", children: _jsxs("div", { ref: sahne, onPointerDown: (e) => {
79
+ setSuruyor(true);
80
+ e.currentTarget.setPointerCapture(e.pointerId);
81
+ }, onPointerMove: tasi, onPointerUp: () => setSuruyor(false), className: "relative cursor-crosshair touch-none select-none overflow-hidden", children: [_jsx("img", { src: source, alt: "", className: "pointer-events-none block w-full", draggable: false }), _jsx("span", { "aria-hidden": true, className: "pointer-events-none absolute border-2 border-[var(--color-accent-line)]", style: {
82
+ left: x * olcu.en,
83
+ top: y * olcu.boy,
84
+ width: kenarPx,
85
+ height: kenarPx,
86
+ /* Dışarısı karartılıyor: seçili kare kendi kenarlığından çok
87
+ çevresinin koyulmasıyla okunuyor. */
88
+ boxShadow: "0 0 0 9999px rgb(0 0 0 / 0.35)",
89
+ } })] }) }), _jsx(Slider, { label: labels.size, value: Math.round(oran * 100), onChange: (v) => setOran(v / 100), min: 15, max: 100, suffix: "%" })] }) }));
90
+ }
package/dist/index.d.ts CHANGED
@@ -41,6 +41,9 @@ export { LiveScope, useLiveClaim } from "./components/live-scope.js";
41
41
  export { Skeleton, SkeletonText, SkeletonRows, SkeletonKpi, SkeletonCard, SkeletonTable, SkeletonOptions, SkeletonPanel, SkeletonPageBand, } from "./components/skeleton.js";
42
42
  export { Surface, ScrollX, Rise, Swap, ListRow, CellActions, PageBand, Link, } from "./components/layout.js";
43
43
  export { ThemeToggle, LocaleSwitcher, LogoTile, AccountButton } from "./components/chrome.js";
44
+ export { ColorSwatches, ThemeCards, ImageField, type SwatchOption, type ThemeChoice, } from "./components/appearance.js";
45
+ export { SquarePicker } from "./components/square-picker.js";
46
+ export { prepareImage, cropSquare, IMAGE_ACCEPT, type ImageError } from "./lib/image.js";
44
47
  export { RailLink } from "./components/rail-link.js";
45
48
  export { Slider } from "./components/slider.js";
46
49
  export { Accordion, Collapsible } from "./components/disclosure.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -54,6 +54,9 @@ export { Skeleton, SkeletonText, SkeletonRows, SkeletonKpi, SkeletonCard, Skelet
54
54
  * Gerekçesi `components/layout.tsx`'in başında. */
55
55
  export { Surface, ScrollX, Rise, Swap, ListRow, CellActions, PageBand, Link, } from "./components/layout.js";
56
56
  export { ThemeToggle, LocaleSwitcher, LogoTile, AccountButton } from "./components/chrome.js";
57
+ export { ColorSwatches, ThemeCards, ImageField, } from "./components/appearance.js";
58
+ export { SquarePicker } from "./components/square-picker.js";
59
+ export { prepareImage, cropSquare, IMAGE_ACCEPT } from "./lib/image.js";
57
60
  export { RailLink } from "./components/rail-link.js";
58
61
  export { Slider } from "./components/slider.js";
59
62
  /* --- açılır bölümler --------------------------------------------------- */