tamga-ui 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.
Files changed (44) hide show
  1. package/CHANGELOG.md +133 -0
  2. package/dist/blocks/danger-zone.d.ts +54 -0
  3. package/dist/blocks/danger-zone.d.ts.map +1 -0
  4. package/dist/blocks/danger-zone.js +18 -0
  5. package/dist/blocks/index.d.ts +1 -0
  6. package/dist/blocks/index.d.ts.map +1 -1
  7. package/dist/blocks/index.js +1 -0
  8. package/dist/components/appearance.d.ts +91 -5
  9. package/dist/components/appearance.d.ts.map +1 -1
  10. package/dist/components/appearance.js +164 -18
  11. package/dist/components/button.d.ts +2 -1
  12. package/dist/components/button.d.ts.map +1 -1
  13. package/dist/components/button.js +1 -1
  14. package/dist/components/chrome.d.ts +10 -1
  15. package/dist/components/chrome.d.ts.map +1 -1
  16. package/dist/components/chrome.js +2 -2
  17. package/dist/components/date-picker.d.ts +142 -4
  18. package/dist/components/date-picker.d.ts.map +1 -1
  19. package/dist/components/date-picker.js +331 -40
  20. package/dist/components/disclosure.d.ts +37 -2
  21. package/dist/components/disclosure.d.ts.map +1 -1
  22. package/dist/components/disclosure.js +13 -3
  23. package/dist/components/display.d.ts +35 -6
  24. package/dist/components/display.d.ts.map +1 -1
  25. package/dist/components/display.js +21 -7
  26. package/dist/components/input.d.ts +2 -1
  27. package/dist/components/input.d.ts.map +1 -1
  28. package/dist/components/primitives.d.ts +3 -1
  29. package/dist/components/primitives.d.ts.map +1 -1
  30. package/dist/components/primitives.js +2 -2
  31. package/dist/fonts.css +1 -1
  32. package/dist/index.d.ts +2 -2
  33. package/dist/index.d.ts.map +1 -1
  34. package/dist/index.js +2 -2
  35. package/dist/kit.css +115 -3
  36. package/dist/lib/image.d.ts +2 -0
  37. package/dist/lib/image.d.ts.map +1 -1
  38. package/dist/lib/image.js +1 -1
  39. package/dist/lib/uyar.d.ts +2 -0
  40. package/dist/lib/uyar.d.ts.map +1 -0
  41. package/dist/lib/uyar.js +10 -0
  42. package/dist/styles.css +1 -1
  43. package/dist/theme.css +8 -1
  44. package/package.json +10 -12
@@ -105,13 +105,20 @@ export function Code({ children, filename, labels, className, ...rest }) {
105
105
  export function Kbd({ children, inline = false, className, }) {
106
106
  return _jsx("kbd", { className: cn("tamga-kbd", inline && "tamga-kbd-inline", className), children: children });
107
107
  }
108
+ /** Yalnız hex: üç, dört, altı ya da sekiz basamak. Kullanıcı verisi style'a başka biçimde giremez. */
109
+ const HEX = /^#(?:[0-9a-f]{3}|[0-9a-f]{4}|[0-9a-f]{6}|[0-9a-f]{8})$/i;
108
110
  /**
109
- * Sayaç rozeti: bir ikonun köşesindeki SAYI (`StatusChip` bir DURUM taşır).
110
- * `max` üstünde "+" ile kesiliyor, yoksa dört hane kutuyu şişirip altındaki
111
- * ikonu eziyor. Sıfır gösterilmiyor.
112
- *
113
- * Doküman: /docs/badge
111
+ * Kullanıcının kendi rengi için küçük işaret · Yasa 3'ün yazılı istisnası
112
+ * (bkz. `Tag swatch`). Tek başına dışa açık: tıklanabilir bir öneri satırı
113
+ * işareti bir `Button`un içine koyar, `Tag`i değil · kutu içinde kutu olmaz.
114
+ * Geçersiz renk (hex değil) HİÇ çizilmez: style'a kullanıcı verisi yalnız
115
+ * doğrulanmış bir hex olarak girer.
114
116
  */
117
+ export function ColorMark({ color, className, ...rest }) {
118
+ if (!HEX.test(color))
119
+ return null;
120
+ return _jsx("span", { ...dataProps(rest), "aria-hidden": "true", className: cn("tamga-mark tamga-color-mark", className), style: { backgroundColor: color } });
121
+ }
115
122
  /**
116
123
  * Etiket rozeti · bir özelliğin durumu: BETA, YENİ, PRO.
117
124
  *
@@ -122,9 +129,16 @@ export function Kbd({ children, inline = false, className, }) {
122
129
  *
123
130
  * Gerekçe: docs/gerekce/06-isaret-ve-ton.md
124
131
  */
125
- export function Tag({ children, look = "outline", className, ...rest }) {
126
- return (_jsx("span", { ...dataProps(rest), className: cn("tamga-tag", look === "dashed" && "tamga-tag-dashed", look === "solid" && "tamga-tag-solid", look === "outline" && "tamga-tag-outline", className), children: children }));
132
+ export function Tag({ children, look = "outline", swatch, className, ...rest }) {
133
+ return (_jsxs("span", { ...dataProps(rest), className: cn("tamga-tag", look === "dashed" && "tamga-tag-dashed", look === "solid" && "tamga-tag-solid", look === "outline" && "tamga-tag-outline", className), children: [swatch ? _jsx(ColorMark, { color: swatch }) : null, children] }));
127
134
  }
135
+ /**
136
+ * Sayaç rozeti: bir ikonun köşesindeki SAYI (`StatusChip` bir DURUM taşır).
137
+ * `max` üstünde "+" ile kesiliyor, yoksa dört hane kutuyu şişirip altındaki
138
+ * ikonu eziyor. Sıfır gösterilmiyor.
139
+ *
140
+ * Doküman: /docs/badge
141
+ */
128
142
  export function Badge({ count, max = 99, tone = "danger", dot = false, label, className, children, ...rest }) {
129
143
  if (!dot && (count ?? 0) <= 0)
130
144
  return _jsx(_Fragment, { children: children });
@@ -26,7 +26,8 @@ export type InputProps = Omit<React.ComponentProps<"input">, "size"> & VariantPr
26
26
  /**
27
27
  * There is an icon absolutely positioned over the left of this field, so reserve room for it.
28
28
  * Opt-in on purpose: the padding used to be unconditional and every plain field opened with a
29
- * 40px hole where nothing was.
29
+ * 40px hole where nothing was. TR: Alanın solunda mutlak konumlu bir ikon var, ona yer ayır.
30
+ * Bilerek isteğe bağlı: dolgu koşulsuzdu ve her düz alan 40 px'lik boş bir delikle açılıyordu.
30
31
  */
31
32
  leading?: boolean;
32
33
  };
@@ -1 +1 @@
1
- {"version":3,"file":"input.d.ts","sourceRoot":"","sources":["../../src/components/input.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AACvC,OAAO,EAAO,KAAK,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAIlE;;;GAGG;AACH,eAAO,MAAM,aAAa;;;;8EAWxB,CAAC;AAEH;;;;;;;;GAQG;AACH,eAAO,MAAM,gBAAgB;;;8EAM3B,CAAC;AAEH,MAAM,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC,GAClE,YAAY,CAAC,OAAO,aAAa,CAAC,GAAG;IACnC;;;;OAIG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB,CAAC;AAEJ,wBAAgB,KAAK,CAAC,EAAE,SAAS,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,KAAK,EAAE,EAAE,UAAU,+BAUtF;AAED,MAAM,MAAM,aAAa,GAAG,KAAK,CAAC,cAAc,CAAC,UAAU,CAAC,GAC1D,YAAY,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAExC,wBAAgB,QAAQ,CAAC,EAAE,SAAS,EAAE,OAAO,EAAE,IAAI,EAAE,GAAG,KAAK,EAAE,EAAE,aAAa,+BAS7E;AAED;;;;;;;;;GASG;AACH,wBAAgB,UAAU,CAAC,EACzB,MAAM,EACN,MAAM,EACN,QAAQ,EACR,SAAS,EACT,GAAG,IAAI,EACR,EAAE;IACD,mFAAmF;IACnF,MAAM,CAAC,EAAE,SAAS,CAAC;IACnB,oEAAoE;IACpE,MAAM,CAAC,EAAE,SAAS,CAAC;IACnB,QAAQ,EAAE,SAAS,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,mEAAmE;IACnE,CAAC,CAAC,EAAE,QAAQ,MAAM,EAAE,GAAG,OAAO,CAAC;CAChC,+BAgBA"}
1
+ {"version":3,"file":"input.d.ts","sourceRoot":"","sources":["../../src/components/input.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AACvC,OAAO,EAAO,KAAK,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAIlE;;;GAGG;AACH,eAAO,MAAM,aAAa;;;;8EAWxB,CAAC;AAEH;;;;;;;;GAQG;AACH,eAAO,MAAM,gBAAgB;;;8EAM3B,CAAC;AAEH,MAAM,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC,GAClE,YAAY,CAAC,OAAO,aAAa,CAAC,GAAG;IACnC;;;;;OAKG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB,CAAC;AAEJ,wBAAgB,KAAK,CAAC,EAAE,SAAS,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,KAAK,EAAE,EAAE,UAAU,+BAUtF;AAED,MAAM,MAAM,aAAa,GAAG,KAAK,CAAC,cAAc,CAAC,UAAU,CAAC,GAC1D,YAAY,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAExC,wBAAgB,QAAQ,CAAC,EAAE,SAAS,EAAE,OAAO,EAAE,IAAI,EAAE,GAAG,KAAK,EAAE,EAAE,aAAa,+BAS7E;AAED;;;;;;;;;GASG;AACH,wBAAgB,UAAU,CAAC,EACzB,MAAM,EACN,MAAM,EACN,QAAQ,EACR,SAAS,EACT,GAAG,IAAI,EACR,EAAE;IACD,mFAAmF;IACnF,MAAM,CAAC,EAAE,SAAS,CAAC;IACnB,oEAAoE;IACpE,MAAM,CAAC,EAAE,SAAS,CAAC;IACnB,QAAQ,EAAE,SAAS,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,mEAAmE;IACnE,CAAC,CAAC,EAAE,QAAQ,MAAM,EAAE,GAAG,OAAO,CAAC;CAChC,+BAgBA"}
@@ -133,7 +133,7 @@ export declare function Field({ label, description, error, required, note, info,
133
133
  [k: `data-${string}`]: unknown;
134
134
  }): import("react").JSX.Element;
135
135
  /** A plain select: the same overlay as the searchable one, without the search. */
136
- export declare function Select({ options, icon, set, value, onChange, placeholder, loading, loadingRows, "aria-label": ariaLabel, className, ...rest }: {
136
+ export declare function Select({ options, icon, set, value, onChange, placeholder, loading, loadingRows, disabled, "aria-label": ariaLabel, className, ...rest }: {
137
137
  /**
138
138
  * Plain strings, or options that carry a tone. TR: Düz dizgiler, ya da ton
139
139
  * taşıyan seçenekler.
@@ -217,6 +217,8 @@ export declare function Select({ options, icon, set, value, onChange, placeholde
217
217
  * hiçbir şey duymuyordu.
218
218
  */
219
219
  "aria-label"?: string;
220
+ /** Locks the trigger; the list cannot open. TR: Tetiği kilitler; liste açılmaz. */
221
+ disabled?: boolean;
220
222
  /** Genişlik ve konum çağıranın. Varsayılan `w-56`; `w-full` verildiğinde
221
223
  * tailwind-merge onu ezer, yani kontrol kabına uyar. */
222
224
  className?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"primitives.d.ts","sourceRoot":"","sources":["../../src/components/primitives.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"primitives.d.ts","sourceRoot":"","sources":["../../src/components/primitives.tsx"],"names":[],"mappings":"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"}
@@ -79,7 +79,7 @@ export function Field({ label, description, error, required = false, note, info,
79
79
  return (_jsxs("div", { ...dataProps(rest), className: "flex flex-col gap-1.5", children: [_jsxs("span", { className: "flex items-baseline gap-2", children: [_jsxs("label", { htmlFor: htmlFor, className: "text-small font-bold text-ink", children: [label, required ? (_jsx("span", { "aria-hidden": true, className: "ml-1", style: { color: toneOf("danger").fg }, children: "*" })) : null] }), info ? _jsx("span", { className: "flex items-center text-ink-faint", children: info }) : null, _jsx("span", { className: "flex-1" }), note ? _jsx("span", { className: "text-caption text-ink-faint", children: note }) : null] }), kontrol, count ? (_jsxs("span", { className: "self-end font-mono text-small font-bold tabular-nums", style: count.value > count.max ? { color: toneOf("danger").fg } : { color: "var(--color-ink-faint)" }, children: [count.value, " / ", count.max] })) : null, error ? (_jsxs("p", { id: notId, className: "flex items-center gap-1.5 text-small font-medium", style: { color: toneOf("danger").fg }, children: [_jsx(Icon, { icon: Warning, size: "xs", weight: "fill" }), error] })) : description ? (_jsx("p", { id: notId, className: "text-small text-ink-faint", children: description })) : null] }));
80
80
  }
81
81
  /** A plain select: the same overlay as the searchable one, without the search. */
82
- export function Select({ options, icon, set, value, onChange, placeholder, loading = false, loadingRows = 4, "aria-label": ariaLabel, className, ...rest }) {
82
+ export function Select({ options, icon, set, value, onChange, placeholder, loading = false, loadingRows = 4, disabled = false, "aria-label": ariaLabel, className, ...rest }) {
83
83
  const [open, setOpen] = useState(false);
84
84
  const [inner, setInner] = useState(value ?? "");
85
85
  const box = useRef(null);
@@ -102,7 +102,7 @@ export function Select({ options, icon, set, value, onChange, placeholder, loadi
102
102
  document.addEventListener("mousedown", away);
103
103
  return () => document.removeEventListener("mousedown", away);
104
104
  }, [open]);
105
- return (_jsxs("div", { ...dataProps(rest), ref: box, className: cn("relative w-56", className), children: [_jsxs("button", { type: "button", className: "tamga-select justify-between", "data-set": (set ?? Boolean(current)) ? "true" : undefined, "aria-haspopup": "listbox", "aria-expanded": open, "aria-label": ariaLabel, onClick: () => setOpen((o) => !o), children: [icon ? _jsx(Icon, { icon: icon, size: "sm", className: "shrink-0 text-ink-faint" }) : null, _jsx("span", { className: cn("min-w-0 flex-1 truncate", current ? "" : "text-ink-faint"), children: gorunen || placeholder }), _jsx(Icon, { icon: CaretRight, size: "xs", className: "shrink-0 rotate-90" })] }), open && (_jsxs("div", { ref: list, role: "listbox", className: "tamga-overlay tamga-menu absolute left-0 top-[var(--overlay-below)] z-40 flex w-full flex-col gap-0.5 overflow-hidden", "aria-busy": loading || undefined, children: [loading && _jsx(SkeletonOptions, { rows: loadingRows }), !loading && options.map((ham) => {
105
+ return (_jsxs("div", { ...dataProps(rest), ref: box, className: cn("relative w-56", className), children: [_jsxs("button", { type: "button", className: "tamga-select justify-between", "data-set": (set ?? Boolean(current)) ? "true" : undefined, "aria-haspopup": "listbox", "aria-expanded": open, "aria-label": ariaLabel, disabled: disabled || undefined, onClick: () => setOpen((o) => !o), children: [icon ? _jsx(Icon, { icon: icon, size: "sm", className: "shrink-0 text-ink-faint" }) : null, _jsx("span", { className: cn("min-w-0 flex-1 truncate", current ? "" : "text-ink-faint"), children: gorunen || placeholder }), _jsx(Icon, { icon: CaretRight, size: "xs", className: "shrink-0 rotate-90" })] }), open && (_jsxs("div", { ref: list, role: "listbox", className: "tamga-overlay tamga-menu absolute left-0 top-[var(--overlay-below)] z-40 flex w-full flex-col gap-0.5 overflow-hidden", "aria-busy": loading || undefined, children: [loading && _jsx(SkeletonOptions, { rows: loadingRows }), !loading && options.map((ham) => {
106
106
  const nesne = typeof ham === "string" ? { value: ham } : ham;
107
107
  const { value: o, label: etiket, tone: ton, hint: ipucu, ...kanca } = nesne;
108
108
  return (_createElement("button", { ...kanca, key: o, role: "option", "aria-selected": o === current, "data-tamga-option": true, className: "tamga-option", "data-selected": o === current, onClick: () => {
package/dist/fonts.css CHANGED
@@ -1,4 +1,4 @@
1
- /*! tamga-ui 0.6.0 · MIT · https://tamga.org.tr */
1
+ /*! tamga-ui 0.7.0 · MIT · https://tamga.org.tr */
2
2
  @font-face {
3
3
  font-family: "Red Hat Display";
4
4
  font-style: normal;
package/dist/index.d.ts CHANGED
@@ -25,7 +25,7 @@ export { TimelineStrip } from "./components/timeline-strip.js";
25
25
  export { NumberInput } from "./components/number-input.js";
26
26
  export { Combobox, type ComboOption } from "./components/combobox.js";
27
27
  export { FileUpload, type UploadItem } from "./components/file-upload.js";
28
- export { DatePicker, Calendar, type DateISO, type DateRange } from "./components/date-picker.js";
28
+ export { DatePicker, Calendar, type DateISO, type DateRange, DateTimePicker, type DateTimeISO } from "./components/date-picker.js";
29
29
  export { Avatar, AvatarStack } from "./components/avatar.js";
30
30
  export { StatusChip, Delta, Dot } from "./components/badge.js";
31
31
  export { SaysBubble, type SaysFrom } from "./components/says-bubble.js";
@@ -50,7 +50,7 @@ export { prepareImage, cropSquare, IMAGE_ACCEPT, type ImageError } from "./lib/i
50
50
  export { RailLink } from "./components/rail-link.js";
51
51
  export { Slider } from "./components/slider.js";
52
52
  export { Accordion, Collapsible } from "./components/disclosure.js";
53
- export { Descriptions, Kpi, KpiGrid, Rise, Code, Kbd, Badge, Tag, Steps, type Step } from "./components/display.js";
53
+ export { Descriptions, Kpi, KpiGrid, Rise, Code, Kbd, Badge, Tag, Steps, type Step, ColorMark } from "./components/display.js";
54
54
  export { PasswordInput, SecretField, TagsInput, MultiSelect, ScheduleInput, } from "./components/advanced-input.js";
55
55
  export { LineChart, type Series } from "./components/chart.js";
56
56
  export { PieChart, type PieSlice } from "./components/pie.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
@@ -31,7 +31,7 @@ export { TimelineStrip } from "./components/timeline-strip.js";
31
31
  export { NumberInput } from "./components/number-input.js";
32
32
  export { Combobox } from "./components/combobox.js";
33
33
  export { FileUpload } from "./components/file-upload.js";
34
- export { DatePicker, Calendar } from "./components/date-picker.js";
34
+ export { DatePicker, Calendar, DateTimePicker } from "./components/date-picker.js";
35
35
  /* --- display ----------------------------------------------------------- */
36
36
  export { Avatar, AvatarStack } from "./components/avatar.js";
37
37
  export { StatusChip, Delta, Dot } from "./components/badge.js";
@@ -65,7 +65,7 @@ export { Slider } from "./components/slider.js";
65
65
  /* --- açılır bölümler --------------------------------------------------- */
66
66
  export { Accordion, Collapsible } from "./components/disclosure.js";
67
67
  /* --- okunacak şeyler --------------------------------------------------- */
68
- export { Descriptions, Kpi, KpiGrid, Rise, Code, Kbd, Badge, Tag, Steps } from "./components/display.js";
68
+ export { Descriptions, Kpi, KpiGrid, Rise, Code, Kbd, Badge, Tag, Steps, ColorMark } from "./components/display.js";
69
69
  /* --- gelişmiş girdiler ------------------------------------------------- */
70
70
  export { PasswordInput, SecretField, TagsInput, MultiSelect, ScheduleInput, } from "./components/advanced-input.js";
71
71
  /* --- grafik ve günlük -------------------------------------------------- */
package/dist/kit.css CHANGED
@@ -1,4 +1,4 @@
1
- /*! tamga-ui 0.6.0 · MIT · https://tamga.org.tr */
1
+ /*! tamga-ui 0.7.0 · MIT · https://tamga.org.tr */
2
2
  :root {
3
3
 
4
4
  --overlay-gap: 8px;
@@ -27,6 +27,13 @@
27
27
 
28
28
  .dark {
29
29
 
30
+ --color-logo-ground-light: #fffefb;
31
+ --color-logo-edge-light: #0a1f3d;
32
+ --color-logo-ink-light: #1e4fd8;
33
+ --color-logo-ground-dark: #16233a;
34
+ --color-logo-edge-dark: #6b7f9f;
35
+ --color-logo-ink-dark: #709dfd;
36
+
30
37
  color-scheme: dark;
31
38
 
32
39
  --color-page: #101a2c;
@@ -1263,10 +1270,18 @@
1263
1270
  transition: transform var(--duration-press) var(--ease-standard), box-shadow var(--duration-press) var(--ease-standard),
1264
1271
  border-color var(--duration-press) var(--ease-standard);
1265
1272
  }
1266
- .tamga-select:hover {
1273
+ .tamga-select:hover:not(:disabled) {
1267
1274
  border-color: var(--color-edge-strong);
1268
1275
  }
1269
1276
 
1277
+ .tamga-select:disabled {
1278
+ background: var(--color-sunk);
1279
+ border-style: dashed;
1280
+ border-color: var(--color-edge);
1281
+ color: var(--color-ink-faint);
1282
+ cursor: default;
1283
+ }
1284
+
1270
1285
  .tamga-select[data-set="true"] {
1271
1286
  border-color: var(--color-edge-strong);
1272
1287
  }
@@ -1541,6 +1556,25 @@
1541
1556
  color: var(--color-ink-soft);
1542
1557
  }
1543
1558
 
1559
+ .tamga-collapsible-note {
1560
+ padding: 0 14px 12px;
1561
+ font-size: var(--text-small);
1562
+ line-height: 1.5;
1563
+ color: var(--color-ink-faint);
1564
+ }
1565
+ .tamga-collapsible-note[data-indent] {
1566
+ padding-left: 44px;
1567
+ }
1568
+
1569
+ .tamga-collapsible-caret {
1570
+ transition: transform var(--duration-press) var(--ease-standard);
1571
+ }
1572
+ @media (prefers-reduced-motion: reduce) {
1573
+ .tamga-collapsible-caret {
1574
+ transition: none;
1575
+ }
1576
+ }
1577
+
1544
1578
  .tamga-collapsible-body[data-indent] {
1545
1579
  padding-left: 44px;
1546
1580
  }
@@ -1669,6 +1703,8 @@
1669
1703
  .tamga-tag {
1670
1704
  display: inline-flex;
1671
1705
  align-items: center;
1706
+
1707
+ gap: 6px;
1672
1708
  border-radius: var(--radius-mark);
1673
1709
  padding: 1px 6px;
1674
1710
  font-size: var(--text-caption);
@@ -1693,6 +1729,16 @@
1693
1729
  color: var(--color-ink-faint);
1694
1730
  }
1695
1731
 
1732
+ .tamga-color-mark {
1733
+ display: inline-block;
1734
+ flex-shrink: 0;
1735
+ box-shadow: inset 0 0 0 1px color-mix(in oklab, var(--color-ink) 60%, transparent);
1736
+ }
1737
+
1738
+ .tamga-tag-solid .tamga-color-mark {
1739
+ box-shadow: inset 0 0 0 1px color-mix(in oklab, var(--color-page) 60%, transparent);
1740
+ }
1741
+
1696
1742
  .tamga-desc-split {
1697
1743
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
1698
1744
  column-gap: 32px;
@@ -2573,9 +2619,14 @@
2573
2619
  justify-content: center;
2574
2620
  width: 36px;
2575
2621
  }
2576
- .tamga-gun:hover {
2622
+ .tamga-gun:hover:not(:disabled) {
2577
2623
  background: var(--color-hover);
2578
2624
  }
2625
+
2626
+ .tamga-gun:disabled {
2627
+ color: var(--color-ink-faint);
2628
+ cursor: not-allowed;
2629
+ }
2579
2630
  .tamga-gun[data-today] {
2580
2631
  border-color: var(--color-edge-strong);
2581
2632
  }
@@ -3037,6 +3088,48 @@
3037
3088
  background: var(--color-accent-bg);
3038
3089
  }
3039
3090
 
3091
+ .tamga-danger-zone {
3092
+ border: 1.5px solid var(--color-critical);
3093
+ border-radius: var(--radius-card);
3094
+ background: var(--color-shell);
3095
+ }
3096
+ .tamga-danger-zone-head {
3097
+ display: flex;
3098
+ align-items: flex-start;
3099
+ gap: 12px;
3100
+ padding: 16px 18px 14px;
3101
+ border-bottom: 1px solid var(--color-line);
3102
+ }
3103
+ .tamga-danger-zone-tile {
3104
+ display: grid;
3105
+ place-items: center;
3106
+ flex: none;
3107
+ width: 28px;
3108
+ height: 28px;
3109
+ border: 1px solid var(--color-critical);
3110
+ border-radius: calc(var(--radius) - 1px);
3111
+ background: var(--color-critical-bg);
3112
+ color: var(--color-critical);
3113
+ }
3114
+ .tamga-danger-zone-list {
3115
+ margin: 0;
3116
+ padding: 0;
3117
+ list-style: none;
3118
+ }
3119
+ .tamga-danger-zone-row {
3120
+ padding: 14px 18px;
3121
+ }
3122
+ .tamga-danger-zone-row + .tamga-danger-zone-row {
3123
+ border-top: 1px solid var(--color-line);
3124
+ }
3125
+
3126
+ .tamga-danger-zone-reason {
3127
+ margin-top: 6px;
3128
+ font-size: var(--text-small);
3129
+ font-weight: var(--weight-strong);
3130
+ color: var(--color-critical);
3131
+ }
3132
+
3040
3133
  .tamga-alert {
3041
3134
  display: flex;
3042
3135
  gap: 12px;
@@ -3577,6 +3670,12 @@
3577
3670
  border-style: dashed;
3578
3671
  }
3579
3672
 
3673
+ .tamga-swatch-none {
3674
+ border-style: dashed;
3675
+ background: var(--color-shell);
3676
+ color: var(--color-ink);
3677
+ }
3678
+
3580
3679
  .tamga-color-input {
3581
3680
  position: absolute;
3582
3681
  inset: 0;
@@ -4052,6 +4151,19 @@
4052
4151
  border: 1.5px solid var(--color-edge-strong);
4053
4152
  border-radius: var(--radius-btn);
4054
4153
  background: var(--color-shell);
4154
+
4155
+ color: var(--color-accent);
4156
+ }
4157
+
4158
+ .tamga-logo-tile[data-surface="light"] {
4159
+ background: var(--color-logo-ground-light);
4160
+ border-color: var(--color-logo-edge-light);
4161
+ color: var(--color-logo-ink-light);
4162
+ }
4163
+ .tamga-logo-tile[data-surface="dark"] {
4164
+ background: var(--color-logo-ground-dark);
4165
+ border-color: var(--color-logo-edge-dark);
4166
+ color: var(--color-logo-ink-dark);
4055
4167
  }
4056
4168
  .tamga-logo-tile-sm {
4057
4169
  width: 40px;
@@ -6,6 +6,8 @@
6
6
  * Gerekçe: docs/gerekce/09-kitaplik.md
7
7
  */
8
8
  export type ImageError = "type" | "size" | "unreadable";
9
+ /** Raw file limit, before resizing. Over 8 MB is not a logo, it is an accident. */
10
+ export declare const RAW_LIMIT: number;
9
11
  export declare const IMAGE_ACCEPT = "image/png,image/jpeg,image/svg+xml,image/webp";
10
12
  /**
11
13
  * Resizes so the longest side is `maxEdge` pixels and returns a data URI.
@@ -1 +1 @@
1
- {"version":3,"file":"image.d.ts","sourceRoot":"","sources":["../../src/lib/image.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,MAAM,MAAM,UAAU,GAAG,MAAM,GAAG,MAAM,GAAG,YAAY,CAAC;AAKxD,eAAO,MAAM,YAAY,kDAAkD,CAAC;AAE5E;;;;;;GAMG;AACH,wBAAsB,YAAY,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAoB/E;AAED;;;;;;GAMG;AACH,wBAAsB,UAAU,CAC9B,MAAM,EAAE,MAAM,EACd,IAAI,EAAE;IAAE,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,EAC5C,OAAO,EAAE,MAAM,GACd,OAAO,CAAC,MAAM,CAAC,CAcjB"}
1
+ {"version":3,"file":"image.d.ts","sourceRoot":"","sources":["../../src/lib/image.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,MAAM,MAAM,UAAU,GAAG,MAAM,GAAG,MAAM,GAAG,YAAY,CAAC;AAExD,mFAAmF;AACnF,eAAO,MAAM,SAAS,QAAkB,CAAC;AAEzC,eAAO,MAAM,YAAY,kDAAkD,CAAC;AAE5E;;;;;;GAMG;AACH,wBAAsB,YAAY,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAoB/E;AAED;;;;;;GAMG;AACH,wBAAsB,UAAU,CAC9B,MAAM,EAAE,MAAM,EACd,IAAI,EAAE;IAAE,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,EAC5C,OAAO,EAAE,MAAM,GACd,OAAO,CAAC,MAAM,CAAC,CAcjB"}
package/dist/lib/image.js CHANGED
@@ -6,7 +6,7 @@
6
6
  * Gerekçe: docs/gerekce/09-kitaplik.md
7
7
  */
8
8
  /** Raw file limit, before resizing. Over 8 MB is not a logo, it is an accident. */
9
- const RAW_LIMIT = 8 * 1024 * 1024;
9
+ export const RAW_LIMIT = 8 * 1024 * 1024;
10
10
  export const IMAGE_ACCEPT = "image/png,image/jpeg,image/svg+xml,image/webp";
11
11
  /**
12
12
  * Resizes so the longest side is `maxEdge` pixels and returns a data URI.
@@ -0,0 +1,2 @@
1
+ export declare function uyar(mesaj: string): void;
2
+ //# sourceMappingURL=uyar.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"uyar.d.ts","sourceRoot":"","sources":["../../src/lib/uyar.ts"],"names":[],"mappings":"AAWA,wBAAgB,IAAI,CAAC,KAAK,EAAE,MAAM,QAOjC"}
@@ -0,0 +1,10 @@
1
+ export function uyar(mesaj) {
2
+ try {
3
+ if (process.env.NODE_ENV === "production")
4
+ return;
5
+ }
6
+ catch {
7
+ /* process tanımsız: geliştirme sayılır */
8
+ }
9
+ console.warn(`[tamga-ui] ${mesaj}`);
10
+ }
package/dist/styles.css CHANGED
@@ -1,4 +1,4 @@
1
- /*! tamga-ui 0.6.0 · MIT · https://tamga.org.tr */
1
+ /*! tamga-ui 0.7.0 · MIT · https://tamga.org.tr */
2
2
  @import "./fonts.css";
3
3
  @import "./theme.css";
4
4
  @import "./kit.css";
package/dist/theme.css CHANGED
@@ -1,4 +1,4 @@
1
- /*! tamga-ui 0.6.0 · MIT · https://tamga.org.tr */
1
+ /*! tamga-ui 0.7.0 · MIT · https://tamga.org.tr */
2
2
  @custom-variant dark (&:is(.dark *));
3
3
 
4
4
  @theme static {
@@ -243,6 +243,13 @@
243
243
 
244
244
  --color-edge-strong: #0a1f3d;
245
245
 
246
+ --color-logo-ground-light: #fffefb;
247
+ --color-logo-edge-light: #0a1f3d;
248
+ --color-logo-ink-light: #1e4fd8;
249
+ --color-logo-ground-dark: #16233a;
250
+ --color-logo-edge-dark: #6b7f9f;
251
+ --color-logo-ink-dark: #709dfd;
252
+
246
253
  --color-tick: #bdb8ae;
247
254
 
248
255
  --color-chart-1: #887c4f;
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "tamga-ui",
3
- "version": "0.6.0",
4
- "description": "Mant\u0131ksal's shared interface library: tokens, physics and components.",
3
+ "version": "0.7.0",
4
+ "description": "Mantıksal's shared interface library: tokens, physics and components.",
5
5
  "license": "MIT",
6
6
  "type": "module",
7
7
  "sideEffects": [
@@ -45,14 +45,6 @@
45
45
  "default": "./dist/lib/palette.js"
46
46
  }
47
47
  },
48
- "scripts": {
49
- "build": "node build.mjs && tsc",
50
- "dev": "node watch.mjs",
51
- "prepare": "node build.mjs && tsc",
52
- "prepublishOnly": "pnpm -w run verify",
53
- "typecheck": "tsc --noEmit",
54
- "test": "vitest run"
55
- },
56
48
  "devDependencies": {
57
49
  "@testing-library/jest-dom": "^6.9.1",
58
50
  "@testing-library/react": "^16.3.3",
@@ -90,5 +82,11 @@
90
82
  "design-system",
91
83
  "components",
92
84
  "tailwind"
93
- ]
94
- }
85
+ ],
86
+ "scripts": {
87
+ "build": "node build.mjs && tsc",
88
+ "dev": "node watch.mjs",
89
+ "typecheck": "tsc --noEmit",
90
+ "test": "vitest run"
91
+ }
92
+ }