@cakejp/design-system 0.20.1 → 0.21.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 (161) hide show
  1. package/CHANGELOG.md +181 -0
  2. package/CLAUDE.md +5 -3
  3. package/MIGRATION.md +3 -3
  4. package/README.md +31 -11
  5. package/contracts/components.json +420 -63
  6. package/contracts/composition.json +38 -4
  7. package/contracts/rules.json +27 -5
  8. package/contracts/screen-patterns.json +6 -4
  9. package/dist/components/ec/admin-shell.js +62 -60
  10. package/dist/components/ec/anniversary-card.js +13 -12
  11. package/dist/components/ec/coupon-card.js +11 -11
  12. package/dist/components/ec/delivery-calendar.js +51 -45
  13. package/dist/components/ec/mypage-shell.js +80 -69
  14. package/dist/components/ec/product-card.js +93 -76
  15. package/dist/components/ec/product-carousel.js +65 -60
  16. package/dist/components/ec/product-detail-bar.js +13 -11
  17. package/dist/components/ec/product-detail-sidebar.js +60 -58
  18. package/dist/components/ec/product-list-item.js +64 -63
  19. package/dist/components/ec/product-option.js +30 -26
  20. package/dist/components/ec/rating-stars.js +27 -27
  21. package/dist/components/ec/review-card.js +32 -32
  22. package/dist/components/ec/review-form.js +37 -37
  23. package/dist/components/ec/shop-card.js +21 -19
  24. package/dist/components/foundations/accordion.js +33 -31
  25. package/dist/components/foundations/alert-dialog.js +4 -5
  26. package/dist/components/foundations/badge.js +5 -5
  27. package/dist/components/foundations/breadcrumb.js +27 -26
  28. package/dist/components/foundations/button.js +144 -25
  29. package/dist/components/foundations/calendar.js +28 -26
  30. package/dist/components/foundations/checkbox-card.js +71 -47
  31. package/dist/components/foundations/checkbox-group.js +30 -27
  32. package/dist/components/foundations/checkbox.js +69 -52
  33. package/dist/components/foundations/chip-variants.js +13 -0
  34. package/dist/components/foundations/command.js +81 -79
  35. package/dist/components/foundations/confirm-dialog.js +136 -0
  36. package/dist/components/foundations/context-menu.js +43 -38
  37. package/dist/components/foundations/data-table.js +87 -84
  38. package/dist/components/foundations/dialog.js +45 -36
  39. package/dist/components/foundations/dropdown-menu.js +47 -42
  40. package/dist/components/foundations/file-input.js +97 -67
  41. package/dist/components/foundations/hover-card.js +21 -21
  42. package/dist/components/foundations/menubar.js +75 -69
  43. package/dist/components/foundations/navigation-menu.js +31 -26
  44. package/dist/components/foundations/pagination.js +54 -50
  45. package/dist/components/foundations/popover.js +7 -7
  46. package/dist/components/foundations/progress.js +10 -6
  47. package/dist/components/foundations/radio-group.js +6 -3
  48. package/dist/components/foundations/responsive-dialog.js +73 -55
  49. package/dist/components/foundations/scroll-area.js +18 -14
  50. package/dist/components/foundations/select.js +44 -39
  51. package/dist/components/foundations/sheet.js +45 -37
  52. package/dist/components/foundations/skeleton.js +6 -6
  53. package/dist/components/foundations/skip-link.js +10 -8
  54. package/dist/components/foundations/slider.js +73 -48
  55. package/dist/components/foundations/sonner.js +5 -4
  56. package/dist/components/foundations/spinner.js +7 -5
  57. package/dist/components/foundations/switch.js +11 -10
  58. package/dist/components/foundations/tabs.js +54 -39
  59. package/dist/components/foundations/toggle-group.js +29 -21
  60. package/dist/components/foundations/toggle.js +20 -16
  61. package/dist/components/primitives/admin-side-nav.js +65 -62
  62. package/dist/components/primitives/banner-carousel.js +32 -29
  63. package/dist/components/primitives/bottom-tab-bar.js +16 -15
  64. package/dist/components/primitives/category-scroll.js +39 -29
  65. package/dist/components/primitives/category-shortcuts.js +9 -9
  66. package/dist/components/primitives/chat-composer.js +77 -74
  67. package/dist/components/primitives/chip.js +84 -61
  68. package/dist/components/primitives/combobox.js +63 -47
  69. package/dist/components/primitives/container.js +9 -9
  70. package/dist/components/primitives/content-card.js +15 -17
  71. package/dist/components/primitives/content-carousel.js +103 -83
  72. package/dist/components/primitives/date-picker.js +137 -99
  73. package/dist/components/primitives/footer.js +36 -37
  74. package/dist/components/primitives/header.js +175 -168
  75. package/dist/components/primitives/image-carousel.js +107 -87
  76. package/dist/components/primitives/image-gallery.js +32 -27
  77. package/dist/components/primitives/image-uploader.js +6 -6
  78. package/dist/components/primitives/list-item.js +59 -51
  79. package/dist/components/primitives/menu-drawer.js +36 -38
  80. package/dist/components/primitives/multi-select.js +89 -58
  81. package/dist/components/primitives/notification-list.js +10 -9
  82. package/dist/components/primitives/number-input.js +116 -105
  83. package/dist/components/primitives/scroll-row.js +21 -0
  84. package/dist/components/primitives/search-bar.js +31 -28
  85. package/dist/components/primitives/section-header.js +54 -53
  86. package/dist/components/primitives/side-nav.js +57 -56
  87. package/dist/components/primitives/sub-nav.js +13 -14
  88. package/dist/components/primitives/tag.js +4 -2
  89. package/dist/index.css +1 -1
  90. package/dist/index.js +3070 -925
  91. package/dist/lib/field-labelling.js +31 -21
  92. package/dist/lib/focus-ring.js +22 -4
  93. package/dist/lib/high-contrast.js +4 -0
  94. package/dist/lib/image-index.js +8 -0
  95. package/dist/lib/use-prefers-reduced-motion.js +21 -0
  96. package/dist/types/components/ec/admin-shell.d.ts +11 -1
  97. package/dist/types/components/ec/anniversary-card.d.ts +9 -1
  98. package/dist/types/components/ec/mypage-shell.d.ts +12 -1
  99. package/dist/types/components/ec/product-card.d.ts +13 -1
  100. package/dist/types/components/ec/product-carousel.d.ts +13 -1
  101. package/dist/types/components/ec/product-detail-bar.d.ts +12 -1
  102. package/dist/types/components/ec/product-detail-sidebar.d.ts +11 -1
  103. package/dist/types/components/ec/product-list-item.d.ts +9 -1
  104. package/dist/types/components/ec/rating-stars.d.ts +2 -0
  105. package/dist/types/components/ec/review-card.d.ts +1 -1
  106. package/dist/types/components/ec/shop-card.d.ts +8 -1
  107. package/dist/types/components/foundations/badge.d.ts +1 -1
  108. package/dist/types/components/foundations/breadcrumb.d.ts +8 -1
  109. package/dist/types/components/foundations/button.d.ts +38 -3
  110. package/dist/types/components/foundations/checkbox-card.d.ts +7 -1
  111. package/dist/types/components/foundations/checkbox.d.ts +1 -1
  112. package/dist/types/components/foundations/chip-variants.d.ts +2 -2
  113. package/dist/types/components/foundations/confirm-dialog.d.ts +61 -0
  114. package/dist/types/components/foundations/data-table.d.ts +9 -2
  115. package/dist/types/components/foundations/dialog.d.ts +16 -1
  116. package/dist/types/components/foundations/pagination.d.ts +1 -1
  117. package/dist/types/components/foundations/responsive-dialog.d.ts +2 -1
  118. package/dist/types/components/foundations/sheet.d.ts +12 -1
  119. package/dist/types/components/foundations/skeleton.d.ts +6 -0
  120. package/dist/types/components/foundations/slider.d.ts +15 -1
  121. package/dist/types/components/foundations/tabs.d.ts +7 -0
  122. package/dist/types/components/primitives/admin-side-nav.d.ts +22 -2
  123. package/dist/types/components/primitives/banner-carousel.d.ts +9 -1
  124. package/dist/types/components/primitives/bottom-tab-bar.d.ts +13 -2
  125. package/dist/types/components/primitives/category-scroll.d.ts +10 -1
  126. package/dist/types/components/primitives/category-shortcuts.d.ts +11 -2
  127. package/dist/types/components/primitives/chip.d.ts +22 -3
  128. package/dist/types/components/primitives/combobox.d.ts +7 -2
  129. package/dist/types/components/primitives/container.d.ts +3 -0
  130. package/dist/types/components/primitives/content-card.d.ts +1 -1
  131. package/dist/types/components/primitives/content-carousel.d.ts +13 -4
  132. package/dist/types/components/primitives/date-picker.d.ts +10 -3
  133. package/dist/types/components/primitives/footer.d.ts +1 -1
  134. package/dist/types/components/primitives/header.d.ts +14 -2
  135. package/dist/types/components/primitives/image-carousel.d.ts +23 -5
  136. package/dist/types/components/primitives/list-item.d.ts +10 -1
  137. package/dist/types/components/primitives/menu-drawer.d.ts +1 -1
  138. package/dist/types/components/primitives/multi-select.d.ts +7 -2
  139. package/dist/types/components/primitives/notification-list.d.ts +10 -1
  140. package/dist/types/components/primitives/number-input.d.ts +18 -5
  141. package/dist/types/components/primitives/scroll-row.d.ts +43 -0
  142. package/dist/types/components/primitives/section-header.d.ts +9 -2
  143. package/dist/types/components/primitives/side-nav.d.ts +13 -1
  144. package/dist/types/components/primitives/sub-nav.d.ts +1 -1
  145. package/dist/types/components/primitives/tag.d.ts +1 -1
  146. package/dist/types/index.d.ts +7 -1
  147. package/dist/types/lib/field-labelling.d.ts +23 -8
  148. package/dist/types/lib/focus-ring.d.ts +70 -3
  149. package/dist/types/lib/high-contrast.d.ts +25 -0
  150. package/dist/types/lib/image-index.d.ts +2 -0
  151. package/dist/types/lib/link-component.d.ts +26 -21
  152. package/dist/types/lib/use-prefers-reduced-motion.d.ts +9 -0
  153. package/package.json +11 -3
  154. package/src/components/COMPONENT_LOOKUP.md +18 -16
  155. package/src/preset-standalone.css +42 -0
  156. package/src/preset.css +20 -1
  157. package/src/styles/semantic.css +57 -0
  158. package/templates/AGENTS.md +5 -1
  159. package/templates/CLAUDE.md +3 -1
  160. package/tokens.json +49 -0
  161. package/dist/lib/link-component.js +0 -6
@@ -1,84 +1,85 @@
1
1
  "use client";
2
- import { jsx as e, jsxs as s, Fragment as W } from "react/jsx-runtime";
3
- import * as y from "react";
4
- import M from "iconsax-reactjs/dist/esm/ArrowDown2.js";
5
- import D from "iconsax-reactjs/dist/esm/ArrowLeft.js";
6
- import { cn as f } from "../../lib/utils.js";
7
- import { Button as k } from "../foundations/button.js";
8
- import { DropdownMenu as F, DropdownMenuTrigger as G, DropdownMenuContent as Z, DropdownMenuItem as V } from "../foundations/dropdown-menu.js";
9
- import { containerVariants as q } from "./container.js";
10
- function E({
11
- containerSize: r,
12
- shellClass: c,
2
+ import { jsx as r, jsxs as s, Fragment as G } from "react/jsx-runtime";
3
+ import * as R from "react";
4
+ import V from "iconsax-reactjs/dist/esm/ArrowDown2.js";
5
+ import B from "iconsax-reactjs/dist/esm/ArrowLeft.js";
6
+ import { cn as d } from "../../lib/utils.js";
7
+ import { Button as z } from "../foundations/button.js";
8
+ import { DropdownMenu as Z, DropdownMenuTrigger as q, DropdownMenuContent as J, DropdownMenuItem as P } from "../foundations/dropdown-menu.js";
9
+ import { containerVariants as K } from "./container.js";
10
+ function A({
11
+ containerSize: l,
12
+ shellClass: t,
13
13
  layoutClass: a,
14
- containerQuery: u = !1,
15
- children: p,
16
- ...d
14
+ containerQuery: m = !1,
15
+ children: h,
16
+ ...f
17
17
  }) {
18
- return r ? /* @__PURE__ */ e("header", { "data-slot": "header", className: c, ...d, children: /* @__PURE__ */ e(
18
+ return l ? /* @__PURE__ */ r("header", { "data-slot": "header", className: t, ...f, children: /* @__PURE__ */ r(
19
19
  "div",
20
20
  {
21
21
  "data-slot": "header-container",
22
- "data-container-size": r,
23
- className: f(
24
- u && "@container",
25
- q({ size: r, gutter: "none" }),
22
+ "data-container-size": l,
23
+ className: d(
24
+ m && "@container",
25
+ K({ size: l, gutter: "none" }),
26
26
  a
27
27
  ),
28
- children: p
28
+ children: h
29
29
  }
30
- ) }) : /* @__PURE__ */ e(
30
+ ) }) : /* @__PURE__ */ r(
31
31
  "header",
32
32
  {
33
33
  "data-slot": "header",
34
- className: f(u && "@container", a, c),
35
- ...d,
36
- children: p
34
+ className: d(m && "@container", a, t),
35
+ ...f,
36
+ children: h
37
37
  }
38
38
  );
39
39
  }
40
- function R(r) {
41
- return f(
40
+ function H(l) {
41
+ return d(
42
42
  "px-3 py-1.5 typo-body-md rounded-md transition-colors whitespace-nowrap",
43
- r ? "text-[var(--Text-High-Emphasis)] font-bold" : "text-[var(--Text-Medium-Emphasis)] hover:text-[var(--Text-High-Emphasis)] hover:bg-[var(--Surface-Secondary)]"
43
+ l ? "text-[var(--Text-High-Emphasis)] font-bold" : "text-[var(--Text-Medium-Emphasis)] hover:text-[var(--Text-High-Emphasis)] hover:bg-[var(--Surface-Secondary)]"
44
44
  );
45
45
  }
46
- const P = 2;
47
- function J({
48
- items: r,
49
- overflowLabel: c = "その他"
46
+ const _ = 2;
47
+ function Q({
48
+ items: l,
49
+ overflowLabel: t = "その他",
50
+ linkComponent: a
50
51
  }) {
51
- const a = y.useRef(null), u = y.useRef(null), [p, d] = y.useState(r.length);
52
- y.useEffect(() => {
53
- const l = a.current, m = u.current;
54
- if (!l || !m) return;
55
- const i = () => {
56
- const N = Array.from(m.children), v = N.slice(0, r.length).map((t) => t.getBoundingClientRect().width), z = N[r.length]?.getBoundingClientRect().width ?? 0, w = l.clientWidth;
57
- if (w === 0 || v.some((t) => t === 0)) {
58
- d(r.length);
52
+ const m = a ?? "a", h = R.useRef(null), f = R.useRef(null), [g, c] = R.useState(l.length);
53
+ R.useEffect(() => {
54
+ const e = h.current, p = f.current;
55
+ if (!e || !p) return;
56
+ const u = () => {
57
+ const k = Array.from(p.children), C = k.slice(0, l.length).map((i) => i.getBoundingClientRect().width), b = k[l.length]?.getBoundingClientRect().width ?? 0, x = e.clientWidth;
58
+ if (x === 0 || C.some((i) => i === 0)) {
59
+ c(l.length);
59
60
  return;
60
61
  }
61
- if (v.reduce((t, h) => t + h, 0) + P * (r.length - 1) <= w) {
62
- d(r.length);
62
+ if (C.reduce((i, o) => i + o, 0) + _ * (l.length - 1) <= x) {
63
+ c(l.length);
63
64
  return;
64
65
  }
65
- let g = z, A = 0;
66
- for (let t = 0; t < r.length; t++) {
67
- const h = g + v[t] + P;
68
- if (h > w) break;
69
- g = h, A = t + 1;
66
+ let E = b, L = 0;
67
+ for (let i = 0; i < l.length; i++) {
68
+ const o = E + C[i] + _;
69
+ if (o > x) break;
70
+ E = o, L = i + 1;
70
71
  }
71
- d(A);
72
+ c(L);
72
73
  };
73
- i(), window.addEventListener("resize", i);
74
- const b = typeof ResizeObserver < "u" ? new ResizeObserver(i) : null;
75
- return b?.observe(l), b?.observe(m), () => {
76
- window.removeEventListener("resize", i), b?.disconnect();
74
+ u(), window.addEventListener("resize", u);
75
+ const v = typeof ResizeObserver < "u" ? new ResizeObserver(u) : null;
76
+ return v?.observe(e), v?.observe(p), () => {
77
+ window.removeEventListener("resize", u), v?.disconnect();
77
78
  };
78
- }, [r]);
79
- const x = r.slice(0, p), o = r.slice(p);
80
- return /* @__PURE__ */ s("div", { ref: a, className: "relative min-w-0 flex-1", children: [
81
- /* @__PURE__ */ e(
79
+ }, [l]);
80
+ const y = l.slice(0, g), w = l.slice(g);
81
+ return /* @__PURE__ */ s("div", { ref: h, className: "relative min-w-0 flex-1", children: [
82
+ /* @__PURE__ */ r(
82
83
  "div",
83
84
  {
84
85
  "aria-hidden": "true",
@@ -86,13 +87,13 @@ function J({
86
87
  children: /* @__PURE__ */ s(
87
88
  "div",
88
89
  {
89
- ref: u,
90
+ ref: f,
90
91
  className: "invisible flex w-max items-center gap-0.5",
91
92
  children: [
92
- r.map((l) => /* @__PURE__ */ e("span", { className: R(l.isActive), children: l.label }, l.label)),
93
- /* @__PURE__ */ s("span", { className: f(R(!1), "inline-flex items-center gap-1"), children: [
94
- c,
95
- /* @__PURE__ */ e(M, { size: 16 })
93
+ l.map((e) => /* @__PURE__ */ r("span", { className: H(e.isActive), children: e.label }, e.label)),
94
+ /* @__PURE__ */ s("span", { className: d(H(!1), "inline-flex items-center gap-1"), children: [
95
+ t,
96
+ /* @__PURE__ */ r(V, { size: 16 })
96
97
  ] })
97
98
  ]
98
99
  }
@@ -100,208 +101,214 @@ function J({
100
101
  }
101
102
  ),
102
103
  /* @__PURE__ */ s("nav", { className: "flex items-center gap-0.5", children: [
103
- x.map((l) => {
104
- const m = l.href ? "a" : "button", i = l.href ? { href: l.href } : { type: "button", onClick: l.onClick };
105
- return /* @__PURE__ */ e(
106
- m,
104
+ y.map((e) => {
105
+ const p = e.href ? m : "button", u = e.href ? {
106
+ href: e.href,
107
+ "aria-current": e.isActive ? "page" : void 0,
108
+ onClick: e.onClick
109
+ } : { type: "button", onClick: e.onClick };
110
+ return /* @__PURE__ */ r(
111
+ p,
107
112
  {
108
- className: R(l.isActive),
109
- ...i,
110
- children: l.label
113
+ className: H(e.isActive),
114
+ ...u,
115
+ children: e.label
111
116
  },
112
- l.label
117
+ e.label
113
118
  );
114
119
  }),
115
- o.length > 0 && /* @__PURE__ */ s(F, { children: [
120
+ w.length > 0 && /* @__PURE__ */ s(Z, { children: [
116
121
  /* @__PURE__ */ s(
117
- G,
122
+ q,
118
123
  {
119
- className: f(
120
- R(o.some((l) => l.isActive)),
124
+ className: d(
125
+ H(w.some((e) => e.isActive)),
121
126
  "inline-flex items-center gap-1"
122
127
  ),
123
128
  children: [
124
- c,
125
- /* @__PURE__ */ e(M, { size: 16, "aria-hidden": "true" })
129
+ t,
130
+ /* @__PURE__ */ r(V, { size: 16, "aria-hidden": "true" })
126
131
  ]
127
132
  }
128
133
  ),
129
- /* @__PURE__ */ e(Z, { align: "end", children: o.map(
130
- (l) => l.href ? /* @__PURE__ */ e(V, { asChild: !0, children: /* @__PURE__ */ e(
131
- "a",
134
+ /* @__PURE__ */ r(J, { align: "end", children: w.map(
135
+ (e) => e.href ? /* @__PURE__ */ r(P, { asChild: !0, children: /* @__PURE__ */ r(
136
+ m,
132
137
  {
133
- href: l.href,
134
- onClick: l.onClick,
135
- "aria-current": l.isActive ? "page" : void 0,
136
- children: l.label
138
+ href: e.href,
139
+ onClick: e.onClick,
140
+ "aria-current": e.isActive ? "page" : void 0,
141
+ children: e.label
137
142
  }
138
- ) }, l.label) : /* @__PURE__ */ e(
139
- V,
143
+ ) }, e.label) : /* @__PURE__ */ r(
144
+ P,
140
145
  {
141
- onSelect: () => l.onClick?.(),
142
- children: l.label
146
+ onSelect: () => e.onClick?.(),
147
+ children: e.label
143
148
  },
144
- l.label
149
+ e.label
145
150
  )
146
151
  ) })
147
152
  ] })
148
153
  ] })
149
154
  ] });
150
155
  }
151
- function S({
152
- className: r,
153
- variant: c = "logo",
156
+ function re({
157
+ className: l,
158
+ variant: t = "logo",
154
159
  logo: a,
155
- title: u,
156
- onBack: p,
157
- backLabel: d = "戻る",
158
- actions: x,
159
- navItems: o,
160
- navBreakpoint: l = "md",
161
- navOverflowLabel: m,
162
- searchSlot: i,
163
- searchBreakpoint: b,
164
- rightSlot: N,
160
+ title: m,
161
+ onBack: h,
162
+ backLabel: f = "戻る",
163
+ actions: g,
164
+ navItems: c,
165
+ navBreakpoint: y = "md",
166
+ navOverflowLabel: w,
167
+ searchSlot: e,
168
+ searchBreakpoint: p,
169
+ rightSlot: u,
165
170
  centerSlot: v,
166
- bottomSlot: z,
167
- disableSticky: w = !1,
168
- containerSize: C,
169
- ...g
171
+ bottomSlot: k,
172
+ disableSticky: C = !1,
173
+ containerSize: b,
174
+ linkComponent: x,
175
+ ...N
170
176
  }) {
171
- const h = f(
172
- w ? "" : "sticky top-0 z-[var(--Z-Nav)]",
177
+ const E = x ?? "a", o = d(
178
+ C ? "" : "sticky top-0 z-[var(--Z-Nav)]",
173
179
  // 地は Surface-Elevated: sticky バーはスクロールするコンテンツの上に重なるため
174
180
  // 不透明が必須(dark の Surface-Primary は 10% 透過で下の文字が透ける)。light は同値
175
181
  "border-b border-[var(--Border-Low-Emphasis)] bg-[var(--Surface-Elevated)]",
176
- r
177
- ), _ = l === "lg" ? "@[960px]:hidden" : "@[768px]:hidden", B = l === "lg" ? "hidden @[960px]:flex" : "hidden @[768px]:flex", O = b === "lg" ? "hidden @[960px]:block" : b === "md" ? "hidden @[768px]:block" : void 0;
178
- if (c === "logo") {
179
- const H = typeof a == "string" ? /* @__PURE__ */ e("span", { className: "typo-heading-lg text-[var(--Text-High-Emphasis)]", children: a }) : a ?? null, j = x && x.length > 0 && /* @__PURE__ */ e("div", { className: "flex shrink-0 items-center gap-1", children: x.map((n) => {
180
- const L = n.showLabel ? {
182
+ l
183
+ ), O = y === "lg" ? "@[960px]:hidden" : "@[768px]:hidden", W = y === "lg" ? "hidden @[960px]:flex" : "hidden @[768px]:flex", F = p === "lg" ? "hidden @[960px]:block" : p === "md" ? "hidden @[768px]:block" : void 0;
184
+ if (t === "logo") {
185
+ const T = typeof a == "string" ? /* @__PURE__ */ r("span", { className: "typo-heading-lg text-[var(--Text-High-Emphasis)]", children: a }) : a ?? null, j = g && g.length > 0 && /* @__PURE__ */ r("div", { className: "flex shrink-0 items-center gap-1", children: g.map((n) => {
186
+ const M = n.showLabel ? {
181
187
  variant: "ghost",
182
188
  size: "sm",
183
- className: "h-10 gap-1.5 rounded-full border border-[var(--Border-Medium-Emphasis)] px-4"
184
- } : { variant: "ghost", size: "icon-sm" }, T = /* @__PURE__ */ s(W, { children: [
189
+ className: "h-10 gap-1.5 rounded-full border border-[var(--Border-Control,var(--Border-Medium-Emphasis))] px-4"
190
+ } : { variant: "ghost", size: "icon-sm" }, D = /* @__PURE__ */ s(G, { children: [
185
191
  n.badge ? n.badge : n.icon,
186
- n.showLabel && /* @__PURE__ */ e("span", { className: "typo-label-sm", children: n.label })
192
+ n.showLabel && /* @__PURE__ */ r("span", { className: "typo-label-sm", children: n.label })
187
193
  ] });
188
- return n.href ? /* @__PURE__ */ e(
189
- k,
194
+ return n.href ? /* @__PURE__ */ r(
195
+ z,
190
196
  {
191
197
  asChild: !0,
192
- ...L,
198
+ ...M,
193
199
  "aria-label": n.showLabel ? void 0 : n.label,
194
- children: /* @__PURE__ */ e("a", { href: n.href, onClick: n.onClick, children: T })
200
+ children: /* @__PURE__ */ r(E, { href: n.href, onClick: n.onClick, children: D })
195
201
  },
196
202
  n.label
197
- ) : /* @__PURE__ */ e(
198
- k,
203
+ ) : /* @__PURE__ */ r(
204
+ z,
199
205
  {
200
- ...L,
206
+ ...M,
201
207
  "aria-label": n.showLabel ? void 0 : n.label,
202
208
  onClick: n.onClick,
203
- children: T
209
+ children: D
204
210
  },
205
211
  n.label
206
212
  );
207
213
  }) });
208
214
  return /* @__PURE__ */ s(
209
- E,
215
+ A,
210
216
  {
211
- containerSize: C,
212
- shellClass: h,
217
+ containerSize: b,
218
+ shellClass: o,
213
219
  containerQuery: !0,
214
- ...g,
220
+ ...N,
215
221
  children: [
216
- /* @__PURE__ */ s("div", { className: f(
222
+ /* @__PURE__ */ s("div", { className: d(
217
223
  "flex items-center justify-between px-4 py-3",
218
- (o || i) && _
224
+ (c || e) && O
219
225
  ), children: [
220
- H,
226
+ T,
221
227
  j
222
228
  ] }),
223
- (o || i) && /* @__PURE__ */ s("div", { className: f(B, "items-center justify-between gap-4 h-14 px-6"), children: [
229
+ (c || e) && /* @__PURE__ */ s("div", { className: d(W, "items-center justify-between gap-4 h-14 px-6"), children: [
224
230
  /* @__PURE__ */ s("div", { className: "flex min-w-0 flex-1 items-center gap-6", children: [
225
- /* @__PURE__ */ e("div", { className: "shrink-0", children: H }),
226
- o && o.length > 0 && /* @__PURE__ */ e(
227
- J,
231
+ /* @__PURE__ */ r("div", { className: "shrink-0", children: T }),
232
+ c && c.length > 0 && /* @__PURE__ */ r(
233
+ Q,
228
234
  {
229
- items: o,
230
- overflowLabel: m
235
+ items: c,
236
+ overflowLabel: w,
237
+ linkComponent: x
231
238
  }
232
239
  )
233
240
  ] }),
234
- i && /* @__PURE__ */ e(
241
+ e && /* @__PURE__ */ r(
235
242
  "div",
236
243
  {
237
- className: f(
244
+ className: d(
238
245
  "min-w-0 flex-1 max-w-[400px]",
239
- O
246
+ F
240
247
  ),
241
- children: i
248
+ children: e
242
249
  }
243
250
  ),
244
251
  j
245
252
  ] }),
246
- z
253
+ k
247
254
  ]
248
255
  }
249
256
  );
250
257
  }
251
- return c === "logo-center" ? /* @__PURE__ */ e(
252
- E,
258
+ return t === "logo-center" ? /* @__PURE__ */ r(
259
+ A,
253
260
  {
254
- containerSize: C,
255
- shellClass: h,
261
+ containerSize: b,
262
+ shellClass: o,
256
263
  layoutClass: "flex items-center justify-center px-4 py-3",
257
- ...g,
258
- children: typeof a == "string" ? /* @__PURE__ */ e("span", { className: "typo-heading-lg text-[var(--Text-High-Emphasis)]", children: a }) : a ?? null
264
+ ...N,
265
+ children: typeof a == "string" ? /* @__PURE__ */ r("span", { className: "typo-heading-lg text-[var(--Text-High-Emphasis)]", children: a }) : a ?? null
259
266
  }
260
- ) : c === "back-search" ? /* @__PURE__ */ e(
261
- E,
267
+ ) : t === "back-search" ? /* @__PURE__ */ r(
268
+ A,
262
269
  {
263
- containerSize: C,
264
- shellClass: h,
270
+ containerSize: b,
271
+ shellClass: o,
265
272
  layoutClass: "px-4 py-3",
266
- ...g,
273
+ ...N,
267
274
  children: /* @__PURE__ */ s("div", { className: "flex items-center gap-2", children: [
268
- /* @__PURE__ */ e(
269
- k,
275
+ /* @__PURE__ */ r(
276
+ z,
270
277
  {
271
278
  variant: "ghost",
272
279
  size: "icon-xl",
273
- "aria-label": d,
274
- onClick: p,
275
- children: /* @__PURE__ */ e(D, { size: 20 })
280
+ "aria-label": f,
281
+ onClick: h,
282
+ children: /* @__PURE__ */ r(B, { size: 20 })
276
283
  }
277
284
  ),
278
- v && /* @__PURE__ */ e("div", { className: "flex-1", children: v })
285
+ v && /* @__PURE__ */ r("div", { className: "flex-1", children: v })
279
286
  ] })
280
287
  }
281
288
  ) : /* @__PURE__ */ s(
282
- E,
289
+ A,
283
290
  {
284
- containerSize: C,
285
- shellClass: h,
291
+ containerSize: b,
292
+ shellClass: o,
286
293
  layoutClass: "grid grid-cols-[1fr_auto_1fr] items-center gap-2 px-2 py-3",
287
- ...g,
294
+ ...N,
288
295
  children: [
289
- /* @__PURE__ */ e("div", { className: "justify-self-start", children: /* @__PURE__ */ e(
290
- k,
296
+ /* @__PURE__ */ r("div", { className: "justify-self-start", children: /* @__PURE__ */ r(
297
+ z,
291
298
  {
292
299
  variant: "ghost",
293
300
  size: "icon-sm",
294
- "aria-label": d,
295
- onClick: p,
296
- children: /* @__PURE__ */ e(D, { size: 20 })
301
+ "aria-label": f,
302
+ onClick: h,
303
+ children: /* @__PURE__ */ r(B, { size: 20 })
297
304
  }
298
305
  ) }),
299
- /* @__PURE__ */ e("h1", { className: "min-w-0 truncate text-center typo-heading-md text-[var(--Text-High-Emphasis)]", children: u }),
300
- /* @__PURE__ */ e("div", { className: "justify-self-end", children: N })
306
+ /* @__PURE__ */ r("h1", { className: "min-w-0 truncate text-center typo-heading-md text-[var(--Text-High-Emphasis)]", children: m }),
307
+ /* @__PURE__ */ r("div", { className: "justify-self-end", children: u })
301
308
  ]
302
309
  }
303
310
  );
304
311
  }
305
312
  export {
306
- S as Header
313
+ re as Header
307
314
  };