@cakejp/design-system 0.22.0 → 0.23.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 (120) hide show
  1. package/CHANGELOG.md +96 -0
  2. package/CLAUDE.md +5 -1
  3. package/MIGRATION.md +43 -0
  4. package/UPDATING.md +2 -0
  5. package/bin/check-tokens.mjs +136 -0
  6. package/bin/init.js +9 -0
  7. package/contracts/components.json +87 -25
  8. package/contracts/composition.json +9 -9
  9. package/contracts/rules.json +1 -1
  10. package/contracts/screen-patterns.json +1 -1
  11. package/dist/components/ec/admin-shell.js +7 -7
  12. package/dist/components/ec/anniversary-card.js +1 -1
  13. package/dist/components/ec/chart-controls.js +7 -7
  14. package/dist/components/ec/coupon-card.js +10 -10
  15. package/dist/components/ec/delivery-calendar.js +1 -1
  16. package/dist/components/ec/mypage-shell.js +1 -1
  17. package/dist/components/ec/order-section.js +1 -1
  18. package/dist/components/ec/order-summary.js +7 -5
  19. package/dist/components/ec/product-card.js +32 -30
  20. package/dist/components/ec/product-detail-sidebar.js +1 -1
  21. package/dist/components/ec/product-list-item.js +57 -56
  22. package/dist/components/ec/product-option.js +30 -30
  23. package/dist/components/ec/review-summary.js +1 -1
  24. package/dist/components/ec/shop-card.js +7 -7
  25. package/dist/components/foundations/accordion.js +1 -1
  26. package/dist/components/foundations/alert-dialog.js +65 -43
  27. package/dist/components/foundations/alert.js +74 -68
  28. package/dist/components/foundations/badge.js +4 -4
  29. package/dist/components/foundations/button.js +15 -15
  30. package/dist/components/foundations/checkbox-card.js +18 -18
  31. package/dist/components/foundations/checkbox.js +6 -6
  32. package/dist/components/foundations/chip-variants.js +8 -8
  33. package/dist/components/foundations/data-table.js +244 -209
  34. package/dist/components/foundations/dialog.js +84 -60
  35. package/dist/components/foundations/drawer.js +61 -53
  36. package/dist/components/foundations/field.js +51 -35
  37. package/dist/components/foundations/file-input.js +1 -1
  38. package/dist/components/foundations/input.js +9 -8
  39. package/dist/components/foundations/popover.js +15 -12
  40. package/dist/components/foundations/progress.js +19 -18
  41. package/dist/components/foundations/radio-group.js +26 -23
  42. package/dist/components/foundations/select.js +9 -8
  43. package/dist/components/foundations/sheet.js +82 -59
  44. package/dist/components/foundations/skeleton.js +6 -6
  45. package/dist/components/foundations/slider.js +7 -7
  46. package/dist/components/foundations/sonner.js +9 -8
  47. package/dist/components/foundations/switch.js +3 -2
  48. package/dist/components/foundations/tabs.js +5 -5
  49. package/dist/components/foundations/textarea.js +7 -6
  50. package/dist/components/foundations/toggle-group.js +5 -5
  51. package/dist/components/primitives/admin-header.js +3 -3
  52. package/dist/components/primitives/admin-side-nav.js +101 -92
  53. package/dist/components/primitives/category-shortcuts.js +6 -6
  54. package/dist/components/primitives/chat-composer.js +1 -1
  55. package/dist/components/primitives/chip.js +25 -25
  56. package/dist/components/primitives/combobox.js +74 -63
  57. package/dist/components/primitives/content-carousel.js +64 -62
  58. package/dist/components/primitives/date-picker.js +99 -96
  59. package/dist/components/primitives/error-state.js +9 -9
  60. package/dist/components/primitives/filter-bar.js +4 -4
  61. package/dist/components/primitives/footer.js +1 -1
  62. package/dist/components/primitives/form-field.js +8 -8
  63. package/dist/components/primitives/funnel-shell.js +5 -5
  64. package/dist/components/primitives/header.js +16 -16
  65. package/dist/components/primitives/image-carousel.js +42 -41
  66. package/dist/components/primitives/image-gallery.js +61 -58
  67. package/dist/components/primitives/image-input.js +2 -2
  68. package/dist/components/primitives/image-uploader.js +1 -1
  69. package/dist/components/primitives/kebab-menu.js +20 -16
  70. package/dist/components/primitives/list-item.js +17 -17
  71. package/dist/components/primitives/menu-drawer.js +11 -11
  72. package/dist/components/primitives/multi-select.js +66 -66
  73. package/dist/components/primitives/notification-list.js +13 -13
  74. package/dist/components/primitives/number-input.js +118 -112
  75. package/dist/components/primitives/progress-steps.js +3 -3
  76. package/dist/components/primitives/search-bar.js +6 -6
  77. package/dist/components/primitives/section-nav.js +1 -1
  78. package/dist/components/primitives/side-nav.js +1 -1
  79. package/dist/components/primitives/sub-nav.js +12 -12
  80. package/dist/components/primitives/tag.js +3 -3
  81. package/dist/components/primitives/workspace-shell.js +8 -8
  82. package/dist/index.css +1 -1
  83. package/dist/index.js +1479 -704
  84. package/dist/lib/focus-restore.js +67 -0
  85. package/dist/lib/focus-ring.js +1 -1
  86. package/dist/lib/ime.js +17 -0
  87. package/dist/lib/search-normalize.js +30 -0
  88. package/dist/types/components/ec/admin-shell.d.ts +1 -1
  89. package/dist/types/components/foundations/alert-dialog.d.ts +2 -2
  90. package/dist/types/components/foundations/alert.d.ts +14 -1
  91. package/dist/types/components/foundations/card.d.ts +3 -3
  92. package/dist/types/components/foundations/confirm-dialog.d.ts +3 -3
  93. package/dist/types/components/foundations/data-table.d.ts +1 -1
  94. package/dist/types/components/foundations/dialog.d.ts +2 -2
  95. package/dist/types/components/foundations/drawer.d.ts +1 -1
  96. package/dist/types/components/foundations/field.d.ts +23 -3
  97. package/dist/types/components/foundations/popover.d.ts +1 -1
  98. package/dist/types/components/foundations/sheet.d.ts +4 -3
  99. package/dist/types/components/foundations/sonner.d.ts +3 -2
  100. package/dist/types/components/primitives/admin-side-nav.d.ts +2 -0
  101. package/dist/types/components/primitives/combobox.d.ts +6 -0
  102. package/dist/types/components/primitives/date-picker.d.ts +8 -3
  103. package/dist/types/components/primitives/funnel-shell.d.ts +1 -1
  104. package/dist/types/components/primitives/kebab-menu.d.ts +10 -1
  105. package/dist/types/components/primitives/number-input.d.ts +20 -1
  106. package/dist/types/components/primitives/progress-steps.d.ts +1 -1
  107. package/dist/types/components/primitives/section.d.ts +1 -1
  108. package/dist/types/components/primitives/workspace-shell.d.ts +2 -2
  109. package/dist/types/index.d.ts +3 -4
  110. package/dist/types/lib/focus-restore.d.ts +52 -0
  111. package/dist/types/lib/focus-ring.d.ts +3 -0
  112. package/dist/types/lib/ime.d.ts +36 -0
  113. package/dist/types/lib/search-normalize.d.ts +28 -0
  114. package/package.json +3 -1
  115. package/src/components/COMPONENT_LOOKUP.md +12 -12
  116. package/src/preset-standalone.css +43 -21
  117. package/src/preset.css +36 -18
  118. package/src/styles/primitive.css +1 -0
  119. package/src/styles/semantic.css +12 -2
  120. package/tokens.json +22 -3
@@ -1,66 +1,66 @@
1
1
  import { jsx as e, jsxs as s } from "react/jsx-runtime";
2
- import * as b from "react";
2
+ import * as f from "react";
3
3
  import { cva as p } from "class-variance-authority";
4
- import f from "iconsax-reactjs/dist/esm/ArrowSwapVertical.js";
5
- import x from "iconsax-reactjs/dist/esm/ArrowUp.js";
4
+ import x from "iconsax-reactjs/dist/esm/ArrowSwapVertical.js";
5
+ import g from "iconsax-reactjs/dist/esm/ArrowUp.js";
6
6
  import v from "iconsax-reactjs/dist/esm/ArrowDown.js";
7
- import g from "iconsax-reactjs/dist/esm/ArrowDown2.js";
8
- import w from "iconsax-reactjs/dist/esm/More.js";
9
- import y from "iconsax-reactjs/dist/esm/Add.js";
10
- import N from "iconsax-reactjs/dist/esm/ExportSquare.js";
11
- import { cn as n } from "../../lib/utils.js";
12
- import { FOCUS_RING as T } from "../../lib/focus-ring.js";
7
+ import w from "iconsax-reactjs/dist/esm/ArrowDown2.js";
8
+ import y from "iconsax-reactjs/dist/esm/More.js";
9
+ import N from "iconsax-reactjs/dist/esm/Add.js";
10
+ import T from "iconsax-reactjs/dist/esm/ExportSquare.js";
11
+ import { cn as i } from "../../lib/utils.js";
12
+ import { FOCUS_RING as E } from "../../lib/focus-ring.js";
13
13
  import { Checkbox as C } from "./checkbox.js";
14
- import { Button as E } from "./button.js";
15
- import { Avatar as S, AvatarImage as k, AvatarFallback as D } from "./avatar.js";
16
- import { Select as A, SelectTrigger as L, SelectValue as _, SelectContent as B, SelectItem as H } from "./select.js";
17
- import { DropdownMenu as z, DropdownMenuTrigger as M, DropdownMenuContent as P, DropdownMenuSeparator as I, DropdownMenuItem as R } from "./dropdown-menu.js";
18
- function te({ className: r, ...a }) {
14
+ import { Button as k } from "./button.js";
15
+ import { Avatar as S, AvatarImage as D, AvatarFallback as A } from "./avatar.js";
16
+ import { Select as L, SelectTrigger as _, SelectValue as B, SelectContent as H, SelectItem as z } from "./select.js";
17
+ import { DropdownMenu as P, DropdownMenuTrigger as I, DropdownMenuContent as M, DropdownMenuSeparator as R, DropdownMenuItem as V } from "./dropdown-menu.js";
18
+ function oe({ className: t, ...a }) {
19
19
  return /* @__PURE__ */ e(
20
20
  "div",
21
21
  {
22
22
  "data-slot": "data-table",
23
- className: n("relative w-full overflow-x-auto rounded-lg border border-[var(--Border-Low-Emphasis)]", r),
23
+ className: i("relative w-full overflow-x-auto rounded-lg border border-[var(--Border-Low-Emphasis)]", t),
24
24
  ...a
25
25
  }
26
26
  );
27
27
  }
28
- function le({ className: r, ...a }) {
28
+ function ne({ className: t, ...a }) {
29
29
  return /* @__PURE__ */ e(
30
30
  "table",
31
31
  {
32
32
  "data-slot": "data-table-table",
33
- className: n("w-full caption-bottom typo-body-md border-collapse", r),
33
+ className: i("w-full caption-bottom typo-body-md border-collapse", t),
34
34
  ...a
35
35
  }
36
36
  );
37
37
  }
38
- function oe({ className: r, ...a }) {
38
+ function ie({ className: t, ...a }) {
39
39
  return /* @__PURE__ */ e(
40
40
  "thead",
41
41
  {
42
42
  "data-slot": "data-table-header",
43
- className: n("bg-[var(--Surface-Secondary)] [&_tr]:border-b [&_tr]:border-[var(--Border-Low-Emphasis)]", r),
43
+ className: i("bg-[var(--Surface-Secondary)] [&_tr]:border-b [&_tr]:border-[var(--Border-Low-Emphasis)]", t),
44
44
  ...a
45
45
  }
46
46
  );
47
47
  }
48
- function ie({ className: r, ...a }) {
48
+ function se({ className: t, ...a }) {
49
49
  return /* @__PURE__ */ e(
50
50
  "tbody",
51
51
  {
52
52
  "data-slot": "data-table-body",
53
- className: n("[&_tr:last-child]:border-b-0", r),
53
+ className: i("[&_tr:last-child]:border-b-0", t),
54
54
  ...a
55
55
  }
56
56
  );
57
57
  }
58
- const V = p(
58
+ const j = p(
59
59
  "group/row border-b border-[var(--Border-Low-Emphasis)] transition-colors",
60
60
  {
61
61
  variants: {
62
62
  state: {
63
- default: "hover:bg-[var(--Surface-Tertiary)]",
63
+ default: "hover:bg-[var(--Surface-Neutral-Tertiary)]",
64
64
  selected: "bg-[var(--Surface-Accent-Primary-Light)] hover:bg-[var(--Surface-Accent-Primary-Light)] border-l-[3px] border-l-[var(--Brand-Cake-Orange)]"
65
65
  }
66
66
  },
@@ -68,45 +68,80 @@ const V = p(
68
68
  state: "default"
69
69
  }
70
70
  }
71
- );
72
- function ne({
73
- className: r,
71
+ ), F = [
72
+ "a[href]",
73
+ "button",
74
+ "input",
75
+ "select",
76
+ "textarea",
77
+ "label",
78
+ "[contenteditable]:not([contenteditable='false'])",
79
+ "[role='button']",
80
+ "[role='link']",
81
+ "[role='menuitem']",
82
+ "[role='checkbox']",
83
+ "[role='radio']",
84
+ "[role='switch']",
85
+ "[role='combobox']",
86
+ "[role='option']",
87
+ "[role='listbox']",
88
+ "[role='dialog']",
89
+ "[data-table-ignore-row-click]"
90
+ ].join(",");
91
+ function u(t) {
92
+ const a = t.target, r = t.currentTarget;
93
+ if (!(a instanceof Node) || a === r) return !1;
94
+ if (!r.contains(a)) return !0;
95
+ if (!(a instanceof Element)) return !1;
96
+ const l = a.closest(F);
97
+ return !!(l && l !== r && r.contains(l));
98
+ }
99
+ function ce({
100
+ className: t,
74
101
  state: a,
75
- ...t
102
+ onClick: r,
103
+ onKeyDown: l,
104
+ ...o
76
105
  }) {
77
106
  return /* @__PURE__ */ e(
78
107
  "tr",
79
108
  {
80
109
  "data-slot": "data-table-row",
81
- className: n(V({ state: a }), r),
82
- ...t
110
+ className: i(j({ state: a }), t),
111
+ onClick: r ? (n) => {
112
+ n.defaultPrevented || u(n) || r(n);
113
+ } : void 0,
114
+ onKeyDown: l ? (n) => {
115
+ n.defaultPrevented || (n.key === "Enter" || n.key === " ") && u(n) || l(n);
116
+ } : void 0,
117
+ ...o
83
118
  }
84
119
  );
85
120
  }
86
- function se({
87
- className: r,
121
+ function de({
122
+ className: t,
88
123
  sortable: a,
89
- sortDirection: t,
90
- onSort: o,
91
- width: l,
92
- srLabel: i,
124
+ sortDirection: r,
125
+ onSort: l,
126
+ width: o,
127
+ srLabel: n,
93
128
  children: c,
94
129
  ...d
95
130
  }) {
96
- const h = t === "asc" ? x : t === "desc" ? v : f, u = t === "asc" ? "ascending" : t === "desc" ? "descending" : "none";
131
+ const h = r === "asc" ? g : r === "desc" ? v : x, b = r === "asc" ? "ascending" : r === "desc" ? "descending" : "none";
97
132
  return /* @__PURE__ */ s(
98
133
  "th",
99
134
  {
100
135
  "data-slot": "data-table-head",
101
- className: n(
136
+ className: i(
102
137
  "h-16 px-4 text-left align-middle typo-label-sm whitespace-nowrap text-[var(--Text-Medium-Emphasis)]",
103
138
  "[&:has([role=checkbox])]:w-12 [&:has([role=checkbox])]:pr-0",
104
- a && "hover:bg-[var(--Surface-Tertiary)]",
105
- l === "max" && "min-w-[320px] max-w-[360px]",
106
- l === "hug" && "min-w-0 w-0",
107
- r
139
+ a && "hover:bg-[var(--Surface-Neutral-Tertiary)]",
140
+ o === "max" && "min-w-[320px] max-w-[360px]",
141
+ o === "hug" && "min-w-0 w-0",
142
+ t
108
143
  ),
109
- "aria-sort": a ? u : void 0,
144
+ "aria-sort": a ? b : void 0,
110
145
  ...d,
111
146
  children: [
112
147
  a ? (
@@ -116,12 +151,12 @@ function se({
116
151
  "button",
117
152
  {
118
153
  type: "button",
119
- onClick: o,
120
- className: n(
154
+ onClick: l,
155
+ className: i(
121
156
  "inline-flex items-center gap-1 rounded-sm outline-none",
122
157
  "cursor-pointer select-none",
123
- T,
124
- t && "typo-label-sm font-bold text-[var(--Text-High-Emphasis)]"
158
+ E,
159
+ r && "typo-label-sm font-bold text-[var(--Text-High-Emphasis)]"
125
160
  ),
126
161
  children: [
127
162
  c,
@@ -130,19 +165,19 @@ function se({
130
165
  {
131
166
  size: 14,
132
167
  "aria-hidden": "true",
133
- className: n(t ? "text-[var(--Text-High-Emphasis)]" : "text-[var(--Text-Low-Emphasis)]")
168
+ className: i(r ? "text-[var(--Text-High-Emphasis)]" : "text-[var(--Text-Low-Emphasis)]")
134
169
  }
135
170
  )
136
171
  ]
137
172
  }
138
173
  )
139
174
  ) : c,
140
- i && /* @__PURE__ */ e("span", { className: "sr-only", children: i })
175
+ n && /* @__PURE__ */ e("span", { className: "sr-only", children: n })
141
176
  ]
142
177
  }
143
178
  );
144
179
  }
145
- const j = p(
180
+ const O = p(
146
181
  "px-4 py-4 align-middle whitespace-nowrap typo-body-md text-[var(--Text-High-Emphasis)] [&:has([role=checkbox])]:w-12 [&:has([role=checkbox])]:pr-0",
147
182
  {
148
183
  variants: {
@@ -164,237 +199,237 @@ const j = p(
164
199
  }
165
200
  );
166
201
  function m({
167
- className: r,
202
+ className: t,
168
203
  width: a,
169
- align: t,
170
- ...o
204
+ align: r,
205
+ ...l
171
206
  }) {
172
207
  return /* @__PURE__ */ e(
173
208
  "td",
174
209
  {
175
210
  "data-slot": "data-table-cell",
176
- className: n(j({ width: a, align: t }), r),
177
- ...o
211
+ className: i(O({ width: a, align: r }), t),
212
+ ...l
178
213
  }
179
214
  );
180
215
  }
181
- function ce({
182
- className: r,
216
+ function me({
217
+ className: t,
183
218
  src: a,
184
- fallback: t,
185
- title: o,
186
- caption: l,
187
- ...i
219
+ fallback: r,
220
+ title: l,
221
+ caption: o,
222
+ ...n
188
223
  }) {
189
- return /* @__PURE__ */ e(m, { className: n("min-w-[200px]", r), ...i, children: /* @__PURE__ */ s("div", { className: "flex items-center gap-3", children: [
224
+ return /* @__PURE__ */ e(m, { className: i("min-w-[200px]", t), ...n, children: /* @__PURE__ */ s("div", { className: "flex items-center gap-3", children: [
190
225
  /* @__PURE__ */ s(S, { children: [
191
- a && /* @__PURE__ */ e(k, { src: a, alt: o }),
192
- /* @__PURE__ */ e(D, { children: t || o.charAt(0) })
226
+ a && /* @__PURE__ */ e(D, { src: a, alt: l }),
227
+ /* @__PURE__ */ e(A, { children: r || l.charAt(0) })
193
228
  ] }),
194
229
  /* @__PURE__ */ s("div", { className: "min-w-0", children: [
195
- /* @__PURE__ */ e("p", { className: "typo-label-sm text-[var(--Text-High-Emphasis)] truncate", children: o }),
196
- l && /* @__PURE__ */ e("p", { className: "typo-body-xs text-[var(--Text-Low-Emphasis)] truncate", children: l })
230
+ /* @__PURE__ */ e("p", { className: "typo-label-sm text-[var(--Text-High-Emphasis)] truncate", children: l }),
231
+ o && /* @__PURE__ */ e("p", { className: "typo-body-xs text-[var(--Text-Low-Emphasis)] truncate", children: o })
197
232
  ] })
198
233
  ] }) });
199
234
  }
200
- function de({
201
- className: r,
235
+ function ue({
236
+ className: t,
202
237
  checked: a,
203
- onCheckedChange: t,
204
- indeterminate: o,
205
- "aria-label": l,
206
- ...i
238
+ onCheckedChange: r,
239
+ indeterminate: l,
240
+ "aria-label": o,
241
+ ...n
207
242
  }) {
208
243
  return /* @__PURE__ */ e(
209
244
  "td",
210
245
  {
211
246
  "data-slot": "data-table-checkbox-cell",
212
- className: n("w-16 px-4 py-4 align-middle cursor-pointer", r),
247
+ className: i("w-16 px-4 py-4 align-middle cursor-pointer", t),
213
248
  onClick: (c) => {
214
- c.stopPropagation(), t?.(!(!o && a));
249
+ c.stopPropagation(), r?.(!(!l && a));
215
250
  },
216
- ...i,
251
+ ...n,
217
252
  children: /* @__PURE__ */ e(
218
253
  C,
219
254
  {
220
- checked: o ? "indeterminate" : a,
221
- onCheckedChange: (c) => t?.(c === !0),
255
+ checked: l ? "indeterminate" : a,
256
+ onCheckedChange: (c) => r?.(c === !0),
222
257
  onClick: (c) => c.stopPropagation(),
223
- "aria-label": l || "行を選択",
258
+ "aria-label": o || "行を選択",
224
259
  className: "pointer-events-none"
225
260
  }
226
261
  )
227
262
  }
228
263
  );
229
264
  }
230
- function me({
231
- className: r,
265
+ function pe({
266
+ className: t,
232
267
  actions: a,
233
- onClick: t,
234
- ...o
268
+ onClick: r,
269
+ ...l
235
270
  }) {
236
271
  return /* @__PURE__ */ e(
237
272
  m,
238
273
  {
239
- className: n("w-10", r),
240
- onClick: (l) => {
241
- l.stopPropagation(), t?.(l);
274
+ className: i("w-10", t),
275
+ onClick: (o) => {
276
+ o.stopPropagation(), r?.(o);
242
277
  },
243
- ...o,
244
- children: /* @__PURE__ */ s(z, { children: [
245
- /* @__PURE__ */ e(M, { asChild: !0, children: /* @__PURE__ */ e(E, { variant: "ghost", size: "sm", className: "size-8 p-0", "aria-label": "アクションメニュー", children: /* @__PURE__ */ e(w, { size: 16 }) }) }),
246
- /* @__PURE__ */ e(P, { align: "end", children: a.map((l, i) => /* @__PURE__ */ s(b.Fragment, { children: [
247
- l.separator && /* @__PURE__ */ e(I, {}),
278
+ ...l,
279
+ children: /* @__PURE__ */ s(P, { children: [
280
+ /* @__PURE__ */ e(I, { asChild: !0, children: /* @__PURE__ */ e(k, { variant: "ghost", size: "sm", className: "size-8 p-0", "aria-label": "アクションメニュー", children: /* @__PURE__ */ e(y, { size: 16 }) }) }),
281
+ /* @__PURE__ */ e(M, { align: "end", children: a.map((o, n) => /* @__PURE__ */ s(f.Fragment, { children: [
282
+ o.separator && /* @__PURE__ */ e(R, {}),
248
283
  /* @__PURE__ */ e(
249
- R,
284
+ V,
250
285
  {
251
- onClick: l.onClick,
252
- variant: l.destructive ? "destructive" : "default",
253
- children: l.label
286
+ onClick: o.onClick,
287
+ variant: o.destructive ? "destructive" : "default",
288
+ children: o.label
254
289
  }
255
290
  )
256
- ] }, i)) })
291
+ ] }, n)) })
257
292
  ] })
258
293
  }
259
294
  );
260
295
  }
261
- function pe({
262
- className: r,
296
+ function he({
297
+ className: t,
263
298
  selectedCount: a,
264
- children: t,
265
- ...o
299
+ children: r,
300
+ ...l
266
301
  }) {
267
302
  return a === 0 ? null : /* @__PURE__ */ s(
268
303
  "div",
269
304
  {
270
305
  "data-slot": "data-table-bulk-actions",
271
- className: n(
306
+ className: i(
272
307
  "flex items-center gap-3 px-4 py-3 bg-[var(--Surface-Accent-Primary-Light)] border-b border-[var(--Border-Low-Emphasis)]",
273
- r
308
+ t
274
309
  ),
275
- ...o,
310
+ ...l,
276
311
  children: [
277
312
  /* @__PURE__ */ s("span", { className: "typo-label-sm text-[var(--Text-High-Emphasis)]", children: [
278
313
  a,
279
314
  "件を選択中"
280
315
  ] }),
281
- /* @__PURE__ */ e("div", { className: "flex items-center gap-2", children: t })
316
+ /* @__PURE__ */ e("div", { className: "flex items-center gap-2", children: r })
282
317
  ]
283
318
  }
284
319
  );
285
320
  }
286
- function he({
287
- className: r,
321
+ function be({
322
+ className: t,
288
323
  title: a,
289
- colSpan: t,
290
- expanded: o,
291
- onToggle: l,
292
- actions: i,
324
+ colSpan: r,
325
+ expanded: l,
326
+ onToggle: o,
327
+ actions: n,
293
328
  ...c
294
329
  }) {
295
330
  return /* @__PURE__ */ e(
296
331
  "tr",
297
332
  {
298
333
  "data-slot": "data-table-section-row",
299
- className: n("border-b border-[var(--Border-Low-Emphasis)] bg-[var(--Surface-Secondary)]", r),
334
+ className: i("border-b border-[var(--Border-Low-Emphasis)] bg-[var(--Surface-Secondary)]", t),
300
335
  ...c,
301
- children: /* @__PURE__ */ e("td", { colSpan: t, className: "px-4 py-3", children: /* @__PURE__ */ s("div", { className: "flex items-center justify-between", children: [
336
+ children: /* @__PURE__ */ e("td", { colSpan: r, className: "px-4 py-3", children: /* @__PURE__ */ s("div", { className: "flex items-center justify-between", children: [
302
337
  /* @__PURE__ */ s(
303
338
  "button",
304
339
  {
305
340
  type: "button",
306
341
  className: "flex items-center gap-1.5 typo-label-md text-[var(--Text-High-Emphasis)] cursor-pointer",
307
- onClick: l,
308
- "aria-expanded": o,
342
+ onClick: o,
343
+ "aria-expanded": l,
309
344
  children: [
310
- /* @__PURE__ */ e(g, { size: 16, className: n("transition-transform", o ? "" : "-rotate-90") }),
345
+ /* @__PURE__ */ e(w, { size: 16, className: i("transition-transform", l ? "" : "-rotate-90") }),
311
346
  a
312
347
  ]
313
348
  }
314
349
  ),
315
- i && /* @__PURE__ */ e("div", { className: "flex items-center gap-2", children: i })
350
+ n && /* @__PURE__ */ e("div", { className: "flex items-center gap-2", children: n })
316
351
  ] }) })
317
352
  }
318
353
  );
319
354
  }
320
- function ue({
321
- className: r,
355
+ function fe({
356
+ className: t,
322
357
  colSpan: a,
323
- label: t = "新しく追加",
324
- onClick: o,
325
- ...l
358
+ label: r = "新しく追加",
359
+ onClick: l,
360
+ ...o
326
361
  }) {
327
362
  return /* @__PURE__ */ e(
328
363
  "tr",
329
364
  {
330
365
  "data-slot": "data-table-add-row",
331
- className: n("border-b border-[var(--Border-Low-Emphasis)] hover:bg-[var(--Surface-Tertiary)] cursor-pointer transition-colors", r),
332
- onClick: o,
333
- ...l,
366
+ className: i("border-b border-[var(--Border-Low-Emphasis)] hover:bg-[var(--Surface-Neutral-Tertiary)] cursor-pointer transition-colors", t),
367
+ onClick: l,
368
+ ...o,
334
369
  children: /* @__PURE__ */ e("td", { colSpan: a, className: "px-4 py-4", children: /* @__PURE__ */ s("span", { className: "inline-flex items-center gap-2 typo-body-md text-[var(--Text-Medium-Emphasis)]", children: [
335
- /* @__PURE__ */ e(y, { size: 16 }),
336
- t
370
+ /* @__PURE__ */ e(N, { size: 16 }),
371
+ r
337
372
  ] }) })
338
373
  }
339
374
  );
340
375
  }
341
- function be({
342
- className: r,
376
+ function xe({
377
+ className: t,
343
378
  colSpan: a,
344
- message: t = "対象のデータはありません",
345
- icon: o,
346
- description: l,
347
- action: i,
379
+ message: r = "対象のデータはありません",
380
+ icon: l,
381
+ description: o,
382
+ action: n,
348
383
  ...c
349
384
  }) {
350
385
  return /* @__PURE__ */ e(
351
386
  "tr",
352
387
  {
353
388
  "data-slot": "data-table-empty-state",
354
- className: n("", r),
389
+ className: i("", t),
355
390
  ...c,
356
- children: /* @__PURE__ */ e("td", { colSpan: a, children: o ? /* @__PURE__ */ s("div", { className: "flex flex-col items-center justify-center px-4 py-16", children: [
357
- /* @__PURE__ */ e("div", { className: "text-[var(--Border-Medium-Emphasis)]", children: o }),
358
- /* @__PURE__ */ e("p", { className: "mt-4 typo-heading-md text-[var(--Text-High-Emphasis)]", children: t }),
359
- l && /* @__PURE__ */ e("div", { className: "mt-1 text-center typo-body-md text-[var(--Text-Medium-Emphasis)]", children: l }),
360
- i && /* @__PURE__ */ e("div", { className: "mt-6", children: i })
361
- ] }) : /* @__PURE__ */ e("p", { className: "py-12 text-center typo-body-md text-[var(--Text-Low-Emphasis)]", children: t }) })
391
+ children: /* @__PURE__ */ e("td", { colSpan: a, children: l ? /* @__PURE__ */ s("div", { className: "flex flex-col items-center justify-center px-4 py-16", children: [
392
+ /* @__PURE__ */ e("div", { className: "text-[var(--Border-Medium-Emphasis)]", children: l }),
393
+ /* @__PURE__ */ e("p", { className: "mt-4 typo-heading-md text-[var(--Text-High-Emphasis)]", children: r }),
394
+ o && /* @__PURE__ */ e("div", { className: "mt-1 text-center typo-body-md text-[var(--Text-Medium-Emphasis)]", children: o }),
395
+ n && /* @__PURE__ */ e("div", { className: "mt-6", children: n })
396
+ ] }) : /* @__PURE__ */ e("p", { className: "py-12 text-center typo-body-md text-[var(--Text-Low-Emphasis)]", children: r }) })
362
397
  }
363
398
  );
364
399
  }
365
- function fe({
366
- className: r,
400
+ function ge({
401
+ className: t,
367
402
  src: a,
368
- alt: t,
369
- title: o,
370
- caption: l,
371
- ...i
403
+ alt: r,
404
+ title: l,
405
+ caption: o,
406
+ ...n
372
407
  }) {
373
- return /* @__PURE__ */ e(m, { className: n("min-w-[200px]", r), ...i, children: /* @__PURE__ */ s("div", { className: "flex items-center gap-3", children: [
374
- /* @__PURE__ */ e("div", { className: "size-10 rounded-lg bg-[var(--Surface-Tertiary)] overflow-hidden shrink-0", children: a && /* @__PURE__ */ e(
408
+ return /* @__PURE__ */ e(m, { className: i("min-w-[200px]", t), ...n, children: /* @__PURE__ */ s("div", { className: "flex items-center gap-3", children: [
409
+ /* @__PURE__ */ e("div", { className: "size-10 rounded-lg bg-[var(--Surface-Neutral-Tertiary)] overflow-hidden shrink-0", children: a && /* @__PURE__ */ e(
375
410
  "img",
376
411
  {
377
412
  src: a,
378
- alt: t || o,
413
+ alt: r || l,
379
414
  className: "size-full object-cover",
380
415
  loading: "lazy"
381
416
  }
382
417
  ) }),
383
418
  /* @__PURE__ */ s("div", { className: "min-w-0", children: [
384
- /* @__PURE__ */ e("p", { className: "typo-body-md text-[var(--Text-High-Emphasis)] line-clamp-2", children: o }),
385
- l && /* @__PURE__ */ e("p", { className: "typo-body-xs text-[var(--Text-Low-Emphasis)] truncate", children: l })
419
+ /* @__PURE__ */ e("p", { className: "typo-body-md text-[var(--Text-High-Emphasis)] line-clamp-2", children: l }),
420
+ o && /* @__PURE__ */ e("p", { className: "typo-body-xs text-[var(--Text-Low-Emphasis)] truncate", children: o })
386
421
  ] })
387
422
  ] }) });
388
423
  }
389
- function xe({
390
- className: r,
424
+ function ve({
425
+ className: t,
391
426
  ...a
392
427
  }) {
393
428
  return /* @__PURE__ */ e(
394
429
  "td",
395
430
  {
396
431
  "data-slot": "data-table-drag-handle-cell",
397
- className: n("w-10 px-2 py-4 align-middle cursor-grab active:cursor-grabbing", r),
432
+ className: i("w-10 px-2 py-4 align-middle cursor-grab active:cursor-grabbing", t),
398
433
  ...a,
399
434
  children: /* @__PURE__ */ s(
400
435
  "svg",
@@ -419,118 +454,118 @@ function xe({
419
454
  }
420
455
  );
421
456
  }
422
- function ve({
423
- className: r,
457
+ function we({
458
+ className: t,
424
459
  href: a = "#",
425
- external: t,
426
- linkComponent: o,
427
- children: l,
428
- ...i
460
+ external: r,
461
+ linkComponent: l,
462
+ children: o,
463
+ ...n
429
464
  }) {
430
- return /* @__PURE__ */ e(m, { className: r, ...i, children: /* @__PURE__ */ s(
431
- t ? "a" : o ?? "a",
465
+ return /* @__PURE__ */ e(m, { className: t, ...n, children: /* @__PURE__ */ s(
466
+ r ? "a" : l ?? "a",
432
467
  {
433
468
  href: a,
434
469
  className: "inline-flex items-center gap-1 typo-body-md text-[var(--Text-Accent-Primary)] hover:underline",
435
- ...t ? { target: "_blank", rel: "noopener noreferrer" } : {},
470
+ ...r ? { target: "_blank", rel: "noopener noreferrer" } : {},
436
471
  children: [
437
- l,
438
- t && /* @__PURE__ */ e(N, { size: 14 })
472
+ o,
473
+ r && /* @__PURE__ */ e(T, { size: 14 })
439
474
  ]
440
475
  }
441
476
  ) });
442
477
  }
443
- function ge({
444
- className: r,
478
+ function ye({
479
+ className: t,
445
480
  value: a,
446
- onChange: t,
447
- placeholder: o,
448
- type: l = "text",
449
- name: i,
481
+ onChange: r,
482
+ placeholder: l,
483
+ type: o = "text",
484
+ name: n,
450
485
  ...c
451
486
  }) {
452
487
  return /* @__PURE__ */ e(
453
488
  "td",
454
489
  {
455
490
  "data-slot": "data-table-input-cell",
456
- className: n(
491
+ className: i(
457
492
  "px-4 py-4 align-middle whitespace-nowrap",
458
493
  "hover:shadow-[inset_0_0_0_2px_var(--Border-Accent-Primary)] hover:rounded",
459
494
  "has-[input:focus]:shadow-[inset_0_0_0_2px_var(--Border-Accent-Primary)] has-[input:focus]:rounded",
460
495
  // forced-colors では影が描かれず、input は outline-none なので、セル全体に内側の輪郭線を出す
461
496
  "forced-colors:has-[input:focus]:outline-solid forced-colors:has-[input:focus]:outline-2 forced-colors:has-[input:focus]:-outline-offset-2 forced-colors:has-[input:focus]:outline-[Highlight]",
462
- r
497
+ t
463
498
  ),
464
499
  ...c,
465
500
  children: /* @__PURE__ */ e(
466
501
  "input",
467
502
  {
468
- type: l,
469
- name: i,
503
+ type: o,
504
+ name: n,
470
505
  value: a,
471
- onChange: (d) => t?.(d.target.value),
472
- placeholder: o,
506
+ onChange: (d) => r?.(d.target.value),
507
+ placeholder: l,
473
508
  className: "w-full bg-transparent outline-none typo-body-md text-[var(--Text-High-Emphasis)] placeholder:text-[var(--Text-Low-Emphasis)]"
474
509
  }
475
510
  )
476
511
  }
477
512
  );
478
513
  }
479
- function we({
480
- className: r,
514
+ function Ne({
515
+ className: t,
481
516
  value: a,
482
- onValueChange: t,
483
- options: o,
484
- placeholder: l = "選択してください",
485
- "aria-label": i,
517
+ onValueChange: r,
518
+ options: l,
519
+ placeholder: o = "選択してください",
520
+ "aria-label": n,
486
521
  ...c
487
522
  }) {
488
523
  return /* @__PURE__ */ e(
489
524
  m,
490
525
  {
491
- className: n("hover:bg-[var(--Surface-Tertiary)] cursor-pointer p-0", r),
526
+ className: i("hover:bg-[var(--Surface-Neutral-Tertiary)] cursor-pointer p-0", t),
492
527
  ...c,
493
- children: /* @__PURE__ */ s(A, { value: a, onValueChange: t, children: [
528
+ children: /* @__PURE__ */ s(L, { value: a, onValueChange: r, children: [
494
529
  /* @__PURE__ */ e(
495
- L,
530
+ _,
496
531
  {
497
532
  size: "sm",
498
- "aria-label": i ?? l,
533
+ "aria-label": n ?? o,
499
534
  className: "w-full min-w-[160px] border-0 bg-transparent rounded-none px-4 py-4 h-auto hover:bg-transparent focus-visible:ring-0 focus-visible:border-0",
500
- children: /* @__PURE__ */ e(_, { placeholder: l })
535
+ children: /* @__PURE__ */ e(B, { placeholder: o })
501
536
  }
502
537
  ),
503
- /* @__PURE__ */ e(B, { children: o.map((d) => /* @__PURE__ */ e(H, { value: d.value, children: d.label }, d.value)) })
538
+ /* @__PURE__ */ e(H, { children: l.map((d) => /* @__PURE__ */ e(z, { value: d.value, children: d.label }, d.value)) })
504
539
  ] })
505
540
  }
506
541
  );
507
542
  }
508
- function ye({
509
- className: r,
543
+ function Te({
544
+ className: t,
510
545
  children: a,
511
- ...t
546
+ ...r
512
547
  }) {
513
- return /* @__PURE__ */ e(m, { align: "right", className: r, ...t, children: a });
548
+ return /* @__PURE__ */ e(m, { align: "right", className: t, ...r, children: a });
514
549
  }
515
550
  export {
516
- te as DataTable,
517
- me as DataTableActionCell,
518
- ue as DataTableAddRow,
519
- ce as DataTableAvatarCell,
520
- ie as DataTableBody,
521
- pe as DataTableBulkActions,
551
+ oe as DataTable,
552
+ pe as DataTableActionCell,
553
+ fe as DataTableAddRow,
554
+ me as DataTableAvatarCell,
555
+ se as DataTableBody,
556
+ he as DataTableBulkActions,
522
557
  m as DataTableCell,
523
- de as DataTableCheckboxCell,
524
- xe as DataTableDragHandleCell,
525
- be as DataTableEmptyState,
526
- se as DataTableHead,
527
- oe as DataTableHeader,
528
- fe as DataTableImageCell,
529
- ge as DataTableInputCell,
530
- ve as DataTableLinkCell,
531
- ye as DataTableNumberCell,
532
- ne as DataTableRow,
533
- he as DataTableSectionRow,
534
- we as DataTableSelectCell,
535
- le as DataTableTable
558
+ ue as DataTableCheckboxCell,
559
+ ve as DataTableDragHandleCell,
560
+ xe as DataTableEmptyState,
561
+ de as DataTableHead,
562
+ ie as DataTableHeader,
563
+ ge as DataTableImageCell,
564
+ ye as DataTableInputCell,
565
+ we as DataTableLinkCell,
566
+ Te as DataTableNumberCell,
567
+ ce as DataTableRow,
568
+ be as DataTableSectionRow,
569
+ Ne as DataTableSelectCell,
570
+ ne as DataTableTable
536
571
  };