@umituz/web-design-system 5.2.0 → 5.3.1

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 (143) hide show
  1. package/dist/styles.css +1 -1
  2. package/package.json +1 -1
  3. package/src/__tests__/cn.test.ts +0 -3
  4. package/src/__tests__/component-slots.test.tsx +0 -4
  5. package/src/__tests__/components.smoke.test.tsx +3 -11
  6. package/src/__tests__/format.test.ts +18 -0
  7. package/src/__tests__/id.test.ts +17 -0
  8. package/src/__tests__/money.test.tsx +0 -3
  9. package/src/__tests__/styles.contract.test.ts +0 -13
  10. package/src/domain/tokens/index.ts +0 -7
  11. package/src/domain/tokens/responsive-map.tokens.ts +18 -107
  12. package/src/domain/types/breakpoint.types.ts +9 -13
  13. package/src/domain/types/component.types.ts +0 -4
  14. package/src/domain/types/index.ts +0 -5
  15. package/src/global.d.ts +0 -4
  16. package/src/index.ts +0 -21
  17. package/src/infrastructure/constants/breakpoint.constants.ts +0 -31
  18. package/src/infrastructure/constants/component.constants.ts +0 -4
  19. package/src/infrastructure/constants/index.ts +0 -5
  20. package/src/infrastructure/constants/size-variant.constants.ts +0 -33
  21. package/src/infrastructure/constants/spacing.constants.ts +34 -63
  22. package/src/infrastructure/constants/timing.constants.ts +0 -18
  23. package/src/infrastructure/constants/typography.constants.ts +22 -54
  24. package/src/infrastructure/utils/calculation.utils.ts +0 -9
  25. package/src/infrastructure/utils/cn.util.ts +0 -18
  26. package/src/infrastructure/utils/format.util.ts +1 -0
  27. package/src/infrastructure/utils/hash.util.ts +0 -5
  28. package/src/infrastructure/utils/id.util.ts +2 -0
  29. package/src/infrastructure/utils/index.ts +4 -5
  30. package/src/infrastructure/utils/money.utils.ts +0 -7
  31. package/src/infrastructure/utils/responsive.utils.ts +0 -66
  32. package/src/presentation/atoms/AspectRatio.tsx +0 -10
  33. package/src/presentation/atoms/Badge.tsx +0 -5
  34. package/src/presentation/atoms/BatteryPill.tsx +0 -5
  35. package/src/presentation/atoms/Button.tsx +0 -2
  36. package/src/presentation/atoms/Checkbox.tsx +0 -4
  37. package/src/presentation/atoms/Divider.tsx +0 -4
  38. package/src/presentation/atoms/HeatmapStrip.tsx +0 -10
  39. package/src/presentation/atoms/Hide.tsx +0 -24
  40. package/src/presentation/atoms/Icon.tsx +0 -4
  41. package/src/presentation/atoms/IconButton.tsx +0 -4
  42. package/src/presentation/atoms/Input.tsx +0 -4
  43. package/src/presentation/atoms/Kbd.tsx +0 -4
  44. package/src/presentation/atoms/Label.tsx +0 -4
  45. package/src/presentation/atoms/Link.tsx +0 -4
  46. package/src/presentation/atoms/Money.tsx +0 -6
  47. package/src/presentation/atoms/Progress.tsx +0 -6
  48. package/src/presentation/atoms/Radio.tsx +0 -4
  49. package/src/presentation/atoms/Separator.tsx +0 -4
  50. package/src/presentation/atoms/Show.tsx +0 -24
  51. package/src/presentation/atoms/Skeleton.tsx +0 -4
  52. package/src/presentation/atoms/Slider.tsx +0 -4
  53. package/src/presentation/atoms/Sparkline.tsx +0 -4
  54. package/src/presentation/atoms/Spinner.tsx +0 -4
  55. package/src/presentation/atoms/Switch.tsx +0 -4
  56. package/src/presentation/atoms/Text.tsx +0 -4
  57. package/src/presentation/atoms/Textarea.tsx +0 -4
  58. package/src/presentation/atoms/Toggle.tsx +0 -4
  59. package/src/presentation/atoms/Tooltip.tsx +0 -4
  60. package/src/presentation/atoms/index.ts +0 -5
  61. package/src/presentation/hooks/index.ts +0 -5
  62. package/src/presentation/hooks/useClickOutside.ts +0 -6
  63. package/src/presentation/hooks/useClipboard.ts +0 -4
  64. package/src/presentation/hooks/useDebounce.ts +0 -8
  65. package/src/presentation/hooks/useKeyboard.ts +0 -6
  66. package/src/presentation/hooks/useLocalStorage.ts +0 -4
  67. package/src/presentation/hooks/useMediaQuery.ts +0 -37
  68. package/src/presentation/hooks/useScrollLock.ts +0 -5
  69. package/src/presentation/hooks/useTheme.ts +9 -13
  70. package/src/presentation/hooks/useToggle.ts +0 -4
  71. package/src/presentation/molecules/ActiveFilterTags.tsx +0 -4
  72. package/src/presentation/molecules/Avatar.tsx +0 -5
  73. package/src/presentation/molecules/BookmarkButton.tsx +0 -15
  74. package/src/presentation/molecules/CheckboxGroup.tsx +0 -4
  75. package/src/presentation/molecules/Chip.tsx +0 -5
  76. package/src/presentation/molecules/CodeBlock.tsx +0 -5
  77. package/src/presentation/molecules/Field.tsx +0 -7
  78. package/src/presentation/molecules/FormField.tsx +1 -5
  79. package/src/presentation/molecules/InputGroup.tsx +0 -4
  80. package/src/presentation/molecules/ListItem.tsx +0 -4
  81. package/src/presentation/molecules/OptionTile.tsx +0 -10
  82. package/src/presentation/molecules/RadioGroup.tsx +0 -4
  83. package/src/presentation/molecules/RatingStars.tsx +0 -8
  84. package/src/presentation/molecules/ScrollArea.tsx +0 -4
  85. package/src/presentation/molecules/SearchBox.tsx +0 -4
  86. package/src/presentation/molecules/Select.tsx +0 -4
  87. package/src/presentation/molecules/StatPill.tsx +0 -5
  88. package/src/presentation/molecules/TagInput.tsx +0 -7
  89. package/src/presentation/molecules/Textarea.tsx +0 -4
  90. package/src/presentation/molecules/Toggle.tsx +0 -4
  91. package/src/presentation/molecules/index.ts +0 -6
  92. package/src/presentation/organisms/Accordion.tsx +0 -4
  93. package/src/presentation/organisms/Alert.tsx +0 -4
  94. package/src/presentation/organisms/AvatarStack.tsx +0 -5
  95. package/src/presentation/organisms/Breadcrumb.tsx +0 -7
  96. package/src/presentation/organisms/Card.tsx +0 -6
  97. package/src/presentation/organisms/Checklist.tsx +0 -4
  98. package/src/presentation/organisms/Collapsible.tsx +0 -4
  99. package/src/presentation/organisms/ConfirmDialog.tsx +0 -8
  100. package/src/presentation/organisms/CoverArt.tsx +0 -9
  101. package/src/presentation/organisms/DataTable.tsx +0 -8
  102. package/src/presentation/organisms/DateRangePicker.tsx +0 -9
  103. package/src/presentation/organisms/Dialog.tsx +0 -4
  104. package/src/presentation/organisms/Drawer.tsx +0 -6
  105. package/src/presentation/organisms/DropdownMenu.tsx +0 -4
  106. package/src/presentation/organisms/ErrorBoundary.tsx +0 -12
  107. package/src/presentation/organisms/FileUploader.tsx +0 -9
  108. package/src/presentation/organisms/FilterPopover.tsx +0 -8
  109. package/src/presentation/organisms/FormModal.tsx +0 -5
  110. package/src/presentation/organisms/HoverCard.tsx +0 -4
  111. package/src/presentation/organisms/KeyValueList.tsx +0 -4
  112. package/src/presentation/organisms/KpiCard.tsx +0 -6
  113. package/src/presentation/organisms/Lightbox.tsx +0 -7
  114. package/src/presentation/organisms/LoadingState.tsx +0 -4
  115. package/src/presentation/organisms/MapPreview.tsx +0 -9
  116. package/src/presentation/organisms/MetricCard.tsx +1 -5
  117. package/src/presentation/organisms/Modal.tsx +0 -4
  118. package/src/presentation/organisms/PhotoGallery.tsx +0 -9
  119. package/src/presentation/organisms/PlanPicker.tsx +0 -5
  120. package/src/presentation/organisms/Popover.tsx +0 -4
  121. package/src/presentation/organisms/Sheet.tsx +0 -4
  122. package/src/presentation/organisms/StatCard.tsx +0 -5
  123. package/src/presentation/organisms/StatusBadge.tsx +0 -12
  124. package/src/presentation/organisms/Stepper.tsx +0 -5
  125. package/src/presentation/organisms/Table.tsx +0 -4
  126. package/src/presentation/organisms/Tabs.tsx +0 -7
  127. package/src/presentation/organisms/Timeline.tsx +0 -8
  128. package/src/presentation/organisms/Toaster.tsx +0 -9
  129. package/src/presentation/organisms/ToggleGroup.tsx +0 -4
  130. package/src/presentation/organisms/index.ts +0 -5
  131. package/src/presentation/templates/Form.tsx +0 -4
  132. package/src/presentation/templates/List.tsx +0 -4
  133. package/src/presentation/templates/PageHeader.tsx +0 -4
  134. package/src/presentation/templates/PageLayout.tsx +0 -4
  135. package/src/presentation/templates/ProjectSkeleton.tsx +0 -4
  136. package/src/presentation/templates/ResponsiveContainer.tsx +0 -43
  137. package/src/presentation/templates/Section.tsx +0 -4
  138. package/src/presentation/templates/index.ts +0 -5
  139. package/src/styles/app.css +0 -18
  140. package/src/styles/bridge.css +0 -34
  141. package/src/styles/compile.css +0 -13
  142. package/src/styles/source.css +0 -12
  143. package/src/styles/theme.css +0 -27
@@ -1,7 +1,3 @@
1
- /**
2
- * Timeline Component (Organism)
3
- * @description Vertical activity timeline: meta line, title, optional body, tone dot
4
- */
5
1
 
6
2
  import { forwardRef } from 'react';
7
3
  import type { HTMLAttributes, ReactNode } from 'react';
@@ -11,21 +7,17 @@ import type { BaseProps } from '../../domain/types';
11
7
  export type TimelineTone = 'primary' | 'success' | 'warning' | 'destructive' | 'info' | 'neutral' | 'violet';
12
8
 
13
9
  export interface TimelineItem {
14
- /** ISO timestamp rendered as the meta line unless `meta` overrides it. */
15
10
  at: string;
16
11
  title: ReactNode;
17
12
  body?: ReactNode;
18
13
  tone?: TimelineTone;
19
14
  meta?: ReactNode;
20
- /** Replaces the tone dot with an icon, tinted by `tone` (or muted when omitted). */
21
15
  icon?: ReactNode;
22
- /** Replaces the tone dot with an avatar (e.g. the acting user); takes precedence over `icon`. */
23
16
  avatar?: ReactNode;
24
17
  }
25
18
 
26
19
  export interface TimelineProps extends HTMLAttributes<HTMLOListElement>, BaseProps {
27
20
  items: TimelineItem[];
28
- /** Render newest first (default) instead of the given order. */
29
21
  newestFirst?: boolean;
30
22
  }
31
23
 
@@ -1,9 +1,3 @@
1
- /**
2
- * Toaster Component (Organism)
3
- * @description Toast notification system. ToastProvider wraps the app root
4
- * ONCE and renders the viewport (bottom-right stack, max 4, auto-dismiss
5
- * 4.2 s); pages fire toasts via useToast()({ kind, title, description }).
6
- */
7
1
 
8
2
  import { createContext, useCallback, useContext, useMemo, useRef, useState } from 'react';
9
3
  import type { ReactNode } from 'react';
@@ -24,10 +18,8 @@ export interface ToastShorthandOptions {
24
18
  }
25
19
 
26
20
  interface ToastApi {
27
- /** Fire a toast — after every mutating action is the fleet idiom. */
28
21
  toast: {
29
22
  (t: ToastOptions): void;
30
- /** Shorthand call: toast('Saved', { tone: 'success', message: '…' }). */
31
23
  (title: string, options?: ToastShorthandOptions): void;
32
24
  };
33
25
  }
@@ -38,7 +30,6 @@ interface ToastEntry extends ToastOptions {
38
30
 
39
31
  const ToastContext = createContext<ToastApi>({ toast: () => {} });
40
32
 
41
- /** Consume from any page below the provider: const { toast } = useToast(); */
42
33
  export function useToast(): ToastApi {
43
34
  return useContext(ToastContext);
44
35
  }
@@ -1,7 +1,3 @@
1
- /**
2
- * Toggle Group Component (Organism) - Shadcn/ui format
3
- * @description Group of toggle buttons with single or multiple selection
4
- */
5
1
 
6
2
  import * as React from 'react';
7
3
  import * as ToggleGroupPrimitive from '@radix-ui/react-toggle-group';
@@ -1,8 +1,3 @@
1
- /**
2
- * Organisms Export
3
- * @description Organism components - complex UI combinations
4
- * Subpath: @umituz/web-design-system/organisms
5
- */
6
1
 
7
2
  export { Card, CardHeader, CardTitle, CardDescription, CardContent, CardFooter } from './Card';
8
3
  export type { CardProps, CardHeaderProps } from './Card';
@@ -1,7 +1,3 @@
1
- /**
2
- * Form Template (Template)
3
- * @description Complete form structure
4
- */
5
1
 
6
2
  import { forwardRef, type FormHTMLAttributes, type HTMLAttributes } from 'react';
7
3
  import { cn } from '../../infrastructure/utils';
@@ -1,7 +1,3 @@
1
- /**
2
- * List Template (Template)
3
- * @description Structured list container
4
- */
5
1
 
6
2
  import { forwardRef, type HTMLAttributes } from 'react';
7
3
  import { cn } from '../../infrastructure/utils';
@@ -1,7 +1,3 @@
1
- /**
2
- * PageHeader Template Component
3
- * @description Centralized page header with consistent heading styling
4
- */
5
1
 
6
2
  import { forwardRef, type HTMLAttributes } from 'react';
7
3
  import { type ReactNode } from 'react';
@@ -1,7 +1,3 @@
1
- /**
2
- * PageLayout Template Component
3
- * @description Centralized page layout with consistent padding, max-width, and theme integration
4
- */
5
1
 
6
2
  import { forwardRef, type HTMLAttributes } from 'react';
7
3
  import { cn } from '../../infrastructure/utils';
@@ -1,7 +1,3 @@
1
- /**
2
- * ProjectSkeleton Template Component
3
- * @description Loading skeleton for project cards
4
- */
5
1
 
6
2
  import { forwardRef, type HTMLAttributes } from 'react';
7
3
  import { cn } from '../../infrastructure/utils';
@@ -1,7 +1,3 @@
1
- /**
2
- * ResponsiveContainer Template Component
3
- * @description Responsive wrapper with mobile/desktop optimizations
4
- */
5
1
 
6
2
  import { forwardRef, type HTMLAttributes, type ReactNode } from 'react';
7
3
  import { cn } from '../../infrastructure/utils';
@@ -14,58 +10,22 @@ export interface ResponsiveContainerProps
14
10
  extends Omit<HTMLAttributes<HTMLDivElement>, 'children'>,
15
11
  BaseProps {
16
12
  children?: ReactNode;
17
- /**
18
- * Maximum width on mobile devices
19
- * @default 'full'
20
- */
21
13
  mobileMaxWidth?: ResponsiveSize;
22
14
 
23
- /**
24
- * Maximum width on tablet devices
25
- * @default 'lg'
26
- */
27
15
  tabletMaxWidth?: ResponsiveSize;
28
16
 
29
- /**
30
- * Maximum width on desktop devices
31
- * @default 'xl'
32
- */
33
17
  desktopMaxWidth?: ResponsiveSize;
34
18
 
35
- /**
36
- * Padding on mobile devices
37
- * @default true
38
- */
39
19
  mobilePadding?: boolean;
40
20
 
41
- /**
42
- * Padding on tablet devices
43
- * @default true
44
- */
45
21
  tabletPadding?: boolean;
46
22
 
47
- /**
48
- * Padding on desktop devices
49
- * @default true
50
- */
51
23
  desktopPadding?: boolean;
52
24
 
53
- /**
54
- * Center content horizontally
55
- * @default true
56
- */
57
25
  centered?: boolean;
58
26
 
59
- /**
60
- * Background gradient
61
- * @default false
62
- */
63
27
  gradient?: boolean;
64
28
 
65
- /**
66
- * Minimum height
67
- * @default 'auto'
68
- */
69
29
  minHeight?: 'auto' | 'screen' | 'full';
70
30
  }
71
31
 
@@ -100,7 +60,6 @@ export const ResponsiveContainer = forwardRef<
100
60
  ) => {
101
61
  const { currentBreakpoint: breakpoint } = useBreakpoint();
102
62
 
103
- // Determine current max width based on breakpoint
104
63
  const getCurrentMaxWidth = (): string => {
105
64
  if (!breakpoint) return maxWidthClasses[mobileMaxWidth];
106
65
 
@@ -113,7 +72,6 @@ export const ResponsiveContainer = forwardRef<
113
72
  return maxWidthClasses[desktopMaxWidth];
114
73
  };
115
74
 
116
- // Determine current padding based on breakpoint
117
75
  const getCurrentPadding = (): string => {
118
76
  if (!breakpoint) return mobilePadding ? 'px-4' : '';
119
77
 
@@ -126,7 +84,6 @@ export const ResponsiveContainer = forwardRef<
126
84
  return desktopPadding ? 'px-8' : '';
127
85
  };
128
86
 
129
- // Determine current py padding based on breakpoint
130
87
  const getCurrentPyPadding = (): string => {
131
88
  if (!breakpoint) return 'py-8';
132
89
 
@@ -1,7 +1,3 @@
1
- /**
2
- * Section Template (Template)
3
- * @description Content section with header
4
- */
5
1
 
6
2
  import { forwardRef, type HTMLAttributes } from 'react';
7
3
  import { cn } from '../../infrastructure/utils';
@@ -1,8 +1,3 @@
1
- /**
2
- * Templates Export
3
- * @description Template components - page structures
4
- * Subpath: @umituz/web-design-system/templates
5
- */
6
1
 
7
2
  export { Form, FormActions } from './Form';
8
3
  export type { FormProps } from './Form';
@@ -1,21 +1,3 @@
1
- /**
2
- * @umituz/web-design-system — Tailwind v4 host entry (semantic palette)
3
- *
4
- * Chains the source compile entry with the --app-* semantic bridge, so a
5
- * Tailwind host imports exactly one package stylesheet and defines its
6
- * palette as bare `--app-*` custom properties — it never writes `--color-*`
7
- * mappings or node_modules `@source` paths itself:
8
- *
9
- * @import "tailwindcss";
10
- * @import "tw-animate-css";
11
- * @import "@umituz/web-design-system/app.css";
12
- * :root { --app-primary: …; … }
13
- *
14
- * The bridge is unlayered, so its `:root` bindings override the theme
15
- * layer's defaults while the utilities keep resolving through
16
- * `var(--color-*)`. Required slots fail loudly when a host omits them —
17
- * see bridge.css for the full contract.
18
- */
19
1
 
20
2
  @import "./source.css";
21
3
  @import "./bridge.css";
@@ -1,33 +1,5 @@
1
- /**
2
- * @umituz/web-design-system — semantic palette bridge (CSS-camp apps)
3
- *
4
- * Bu dosya, Tailwind derlemesi yapmayan (vanilla CSS) uygulamaların
5
- * `--color-*` semantik paletini kendi renk isimlerine bağlayan KANONİK
6
- * köprüdür. 8 uygulamada elle kopyalanan `packages.css` eşlemesinin
7
- * paketteki tek doğru hâlidir — yeni projeler eşlemeyi buradan alır,
8
- * kendi başına yazmaz.
9
- *
10
- * Sözleşme:
11
- * 1. İçe aktarım sırası (uygulamanın ana css'i):
12
- * @import "@umituz/web-design-system/styles.css";
13
- * @import "@umituz/web-design-system/bridge.css";
14
- * :root { --app-... } ← uygulamanın kendi token'ları (SON)
15
- * 2. ZORUNLU slotlar (fallback'siz): uygulama 19 çekirdek `--app-*`
16
- * tokenını tanımlamazsa ilgili renk görünür biçimde bozulur —
17
- * eksik palet bilinçli olarak gürültülü başarısız olur.
18
- * 3. OPSİYONEL slotlar: tanımlanmazsa DS'in açık-theme varsayılanı
19
- * geçerli olur (success/warning/info üçlüsü, primary-soft, font).
20
- * 4. Karanlık theme: uygulama `[data-theme="dark"] / .dark` altında
21
- * `--app-*` tokenlarını yeniden tanımlar; köprü otomatik devralır.
22
- * 5. `--radius-*` ve `--font-mono` bu dosyada YOKTUR: bilinçli isim
23
- * çakışması doktrini — uygulama kendi css'inde (unlayered)
24
- * yeniden tanımlayarak ezer.
25
- * 6. Tailwind-camp uygulamalar (kaynağı `@source` ile derleyenler) bu
26
- * dosyaya ihtiyaç duymaz; kendi `@theme` paletiyle ezer.
27
- */
28
1
 
29
2
  :root {
30
- /* --- ZORUNLU: yüzeyler & metin --- */
31
3
  --color-background: var(--app-background);
32
4
  --color-foreground: var(--app-foreground);
33
5
  --color-card: var(--app-card);
@@ -35,13 +7,11 @@
35
7
  --color-popover: var(--app-popover);
36
8
  --color-popover-foreground: var(--app-popover-foreground);
37
9
 
38
- /* --- ZORUNLU: marka --- */
39
10
  --color-primary: var(--app-primary);
40
11
  --color-primary-foreground: var(--app-primary-foreground);
41
12
  --color-secondary: var(--app-secondary);
42
13
  --color-secondary-foreground: var(--app-secondary-foreground);
43
14
 
44
- /* --- ZORUNLU: nötr --- */
45
15
  --color-muted: var(--app-muted);
46
16
  --color-muted-foreground: var(--app-muted-foreground);
47
17
  --color-accent: var(--app-accent);
@@ -49,12 +19,10 @@
49
19
  --color-border: var(--app-border);
50
20
  --color-input: var(--app-input);
51
21
 
52
- /* --- ZORUNLU: yıkıcı & odak --- */
53
22
  --color-destructive: var(--app-destructive);
54
23
  --color-destructive-foreground: var(--app-destructive-foreground);
55
24
  --color-ring: var(--app-ring);
56
25
 
57
- /* --- OPSİYONEL: durum üçlüsü (DS açık-theme varsayılanıyla) --- */
58
26
  --color-success: var(--app-success, #16a34a);
59
27
  --color-success-foreground: var(--app-success-foreground, #ffffff);
60
28
  --color-warning: var(--app-warning, #d97706);
@@ -64,10 +32,8 @@
64
32
  --color-violet: var(--app-violet, #7c3aed);
65
33
  --color-violet-foreground: var(--app-violet-foreground, #ffffff);
66
34
 
67
- /* --- OPSİYONEL: dashboard token sözleşmesi (udb bileşenleri bekler) --- */
68
35
  --color-primary-soft: var(--app-primary-soft, rgba(37, 99, 235, 0.1));
69
36
 
70
- /* --- OPSİYONEL: tipografi --- */
71
37
  --font-sans: var(
72
38
  --app-font-sans,
73
39
  ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial,
@@ -1,16 +1,3 @@
1
- /**
2
- * @umituz/web-design-system — Tailwind v4 compile entry
3
- *
4
- * Input for the build step (`npm run build`) that produces
5
- * `dist/styles.css`: Tailwind + animations + the theme layer, with the
6
- * component source scanned for utility classes.
7
- *
8
- * Vanilla hosts import the precompiled output:
9
- * @import "@umituz/web-design-system/styles.css";
10
- *
11
- * Tailwind v4 hosts compile this package's source themselves instead
12
- * (see README) and must NOT also import the precompiled stylesheet.
13
- */
14
1
 
15
2
  @import "tailwindcss";
16
3
  @import "tw-animate-css";
@@ -1,15 +1,3 @@
1
- /**
2
- * @umituz/web-design-system — Tailwind v4 host entry
3
- *
4
- * Tailwind v4 hosts import this file right after `@import "tailwindcss"`:
5
- * it registers the theme token layer and scans the component sources so
6
- * the package's classes compile inside the host's own Tailwind build,
7
- * restyled by the host's `@theme` overrides. Hosts must NOT also import
8
- * the precompiled `dist/styles.css` (that is the vanilla-host path).
9
- *
10
- * The `@source` directive is resolved relative to this file, so hosts
11
- * never write node_modules paths themselves.
12
- */
13
1
 
14
2
  @import "./theme.css";
15
3
  @source "../presentation";
@@ -1,24 +1,5 @@
1
- /**
2
- * @umituz/web-design-system — theme layer (Tailwind v4 `@theme`)
3
- *
4
- * Single source of truth for colors, radii, fonts and shadows. Component
5
- * classes are semantic (`bg-primary`, `text-muted-foreground`, …) and bind
6
- * to the `--color-*` variables defined here, so hosts restyle the whole
7
- * package by overriding variables — no Tailwind rebuild required.
8
- *
9
- * The default palette mirrors @umituz/web-dashboard's tokens.css, so
10
- * dashboard adoption is visually regression-free.
11
- *
12
- * Dark mode: add `data-theme="dark"` or `class="dark"` on any ancestor
13
- * (typically <html>). The package never switches themes on its own.
14
- *
15
- * Tailwind v4 hosts that compile the package source themselves
16
- * (`@source "../node_modules/@umituz/web-design-system/src"`) import this
17
- * file; vanilla hosts import the precompiled `dist/styles.css`.
18
- */
19
1
 
20
2
  @theme {
21
- /* Surfaces & text */
22
3
  --color-background: #f8fafc;
23
4
  --color-foreground: #0f172a;
24
5
  --color-card: #ffffff;
@@ -26,13 +7,11 @@
26
7
  --color-popover: #ffffff;
27
8
  --color-popover-foreground: #0f172a;
28
9
 
29
- /* Brand */
30
10
  --color-primary: #2563eb;
31
11
  --color-primary-foreground: #ffffff;
32
12
  --color-secondary: #8b5cf6;
33
13
  --color-secondary-foreground: #ffffff;
34
14
 
35
- /* Neutral */
36
15
  --color-muted: #f1f5f9;
37
16
  --color-muted-foreground: #64748b;
38
17
  --color-accent: #f1f5f9;
@@ -40,7 +19,6 @@
40
19
  --color-border: #e2e8f0;
41
20
  --color-input: #e2e8f0;
42
21
 
43
- /* Semantic */
44
22
  --color-destructive: #dc2626;
45
23
  --color-destructive-foreground: #ffffff;
46
24
  --color-success: #16a34a;
@@ -52,27 +30,22 @@
52
30
  --color-violet: #7c3aed;
53
31
  --color-violet-foreground: #ffffff;
54
32
 
55
- /* Focus */
56
33
  --color-ring: rgba(37, 99, 235, 0.45);
57
34
 
58
- /* Radii (dashboard scale) */
59
35
  --radius-sm: 6px;
60
36
  --radius-md: 8px;
61
37
  --radius-lg: 12px;
62
38
  --radius-xl: 16px;
63
39
 
64
- /* Typography */
65
40
  --font-sans: ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto,
66
41
  "Helvetica Neue", Arial, "Noto Sans", sans-serif;
67
42
  --font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas,
68
43
  "Liberation Mono", "Courier New", monospace;
69
44
 
70
- /* Elevation (dashboard scale) */
71
45
  --shadow-sm: 0 1px 2px rgba(15, 23, 42, 0.06);
72
46
  --shadow-md: 0 4px 12px rgba(15, 23, 42, 0.08);
73
47
  --shadow-lg: 0 12px 32px rgba(15, 23, 42, 0.14);
74
48
 
75
- /* Accordion (Radix --radix-accordion-content-height driven) */
76
49
  --animate-accordion-down: accordion-down 0.2s ease-out;
77
50
  --animate-accordion-up: accordion-up 0.2s ease-out;
78
51