@devalok/shilp-sutra 0.33.1 → 0.34.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 (81) hide show
  1. package/dist/_chunks/badge-group.js +9 -9
  2. package/dist/_chunks/date-time-picker.js +6 -6
  3. package/dist/_chunks/document-preview.js +6 -6
  4. package/dist/_chunks/file-preview.js +1 -1
  5. package/dist/_chunks/image-preview.js +4 -4
  6. package/dist/_chunks/tree-view.js +1 -1
  7. package/dist/_chunks/typing-indicator.js +2 -2
  8. package/dist/_chunks/use-calendar.js +2 -2
  9. package/dist/ai/blocks/block-table.d.ts +1 -1
  10. package/dist/ai/blocks/block-table.d.ts.map +1 -1
  11. package/dist/ai/blocks/confirm.d.ts +1 -1
  12. package/dist/ai/blocks/confirm.d.ts.map +1 -1
  13. package/dist/ai/blocks/divider.d.ts +1 -1
  14. package/dist/ai/blocks/divider.d.ts.map +1 -1
  15. package/dist/ai/blocks/error.d.ts +1 -1
  16. package/dist/ai/blocks/error.d.ts.map +1 -1
  17. package/dist/ai/blocks/info.d.ts +2 -2
  18. package/dist/ai/blocks/info.d.ts.map +1 -1
  19. package/dist/ai/blocks/loading.d.ts +1 -1
  20. package/dist/ai/blocks/loading.d.ts.map +1 -1
  21. package/dist/ai/blocks/stat-row.d.ts +1 -1
  22. package/dist/ai/blocks/stat-row.d.ts.map +1 -1
  23. package/dist/ai/blocks/success.d.ts +1 -1
  24. package/dist/ai/blocks/success.d.ts.map +1 -1
  25. package/dist/ai/blocks/text.d.ts +2 -2
  26. package/dist/ai/blocks/text.d.ts.map +1 -1
  27. package/dist/ai/command-bar.js +2 -2
  28. package/dist/ai/devadoot-icon.d.ts +1 -1
  29. package/dist/ai/devadoot-icon.d.ts.map +1 -1
  30. package/dist/composed/command-palette.js +1 -1
  31. package/dist/composed/inline-edit.js +5 -5
  32. package/dist/composed/master-detail.js +30 -30
  33. package/dist/composed/multi-select-popover.js +1 -1
  34. package/dist/composed/page-header.js +9 -9
  35. package/dist/composed/rich-chat-input.js +8 -8
  36. package/dist/composed/rich-text-editor.js +16 -16
  37. package/dist/shell/top-bar.js +29 -29
  38. package/dist/tailwind/index.cjs +2 -11
  39. package/dist/tailwind/preset.d.ts.map +1 -1
  40. package/dist/tailwind/preset.js +2 -11
  41. package/dist/ui/accordion.js +11 -11
  42. package/dist/ui/alert-dialog.js +5 -5
  43. package/dist/ui/alert.js +1 -1
  44. package/dist/ui/autocomplete.js +1 -1
  45. package/dist/ui/banner.js +4 -4
  46. package/dist/ui/breadcrumb.js +10 -10
  47. package/dist/ui/button.js +1 -1
  48. package/dist/ui/checkbox.js +9 -9
  49. package/dist/ui/color-input.js +27 -27
  50. package/dist/ui/combobox.js +4 -4
  51. package/dist/ui/context-menu.js +9 -9
  52. package/dist/ui/data-table-body.js +8 -8
  53. package/dist/ui/data-table-header.js +1 -1
  54. package/dist/ui/data-table-toolbar.js +1 -1
  55. package/dist/ui/data-table.js +1 -1
  56. package/dist/ui/dialog.js +7 -7
  57. package/dist/ui/dropdown-menu.js +46 -46
  58. package/dist/ui/hover-card.js +3 -3
  59. package/dist/ui/input-otp.d.ts.map +1 -1
  60. package/dist/ui/input.js +8 -8
  61. package/dist/ui/link.js +4 -4
  62. package/dist/ui/menubar.js +52 -52
  63. package/dist/ui/navigation-menu.js +15 -15
  64. package/dist/ui/number-input.js +5 -5
  65. package/dist/ui/pagination.js +1 -1
  66. package/dist/ui/popover.js +32 -32
  67. package/dist/ui/radio.js +6 -6
  68. package/dist/ui/segmented-control.js +1 -1
  69. package/dist/ui/select.js +2 -2
  70. package/dist/ui/sheet.js +8 -8
  71. package/dist/ui/sidebar.js +5 -5
  72. package/dist/ui/slider.js +4 -4
  73. package/dist/ui/split-button.js +3 -3
  74. package/dist/ui/switch.js +4 -4
  75. package/dist/ui/tabs.js +2 -2
  76. package/dist/ui/textarea.js +4 -4
  77. package/dist/ui/toast.js +2 -2
  78. package/dist/ui/toggle.js +4 -4
  79. package/llms-full.txt +1 -1
  80. package/llms.txt +12 -0
  81. package/package.json +5 -5
@@ -156,7 +156,7 @@ const V = r.forwardRef(
156
156
  onKeyDown: B,
157
157
  "aria-label": "Search",
158
158
  "aria-activedescendant": a >= 0 ? `msp-item-${a}` : void 0,
159
- className: "w-full bg-transparent text-ds-md font-body text-surface-fg placeholder:text-surface-fg-subtle outline-none"
159
+ className: "w-full bg-transparent text-ds-md font-body text-surface-fg placeholder:text-surface-fg-subtle outline-hidden"
160
160
  }
161
161
  ),
162
162
  S && /* @__PURE__ */ n(_, { size: "sm" })
@@ -1,6 +1,6 @@
1
1
  import { jsxs as l, jsx as e } from "react/jsx-runtime";
2
2
  import * as o from "react";
3
- import { cn as d } from "../ui/lib/utils.js";
3
+ import { cn as n } from "../ui/lib/utils.js";
4
4
  const x = o.forwardRef(
5
5
  ({ title: c, subtitle: r, actions: a, breadcrumbs: s, titleClassName: f, className: h, ...g }, m) => {
6
6
  const i = c ?? s?.[s.length - 1]?.label ?? "";
@@ -8,14 +8,14 @@ const x = o.forwardRef(
8
8
  "div",
9
9
  {
10
10
  ref: m,
11
- className: d(
11
+ className: n(
12
12
  "flex flex-col gap-ds-05 border-b border-surface-border-strong pb-ds-06",
13
13
  h
14
14
  ),
15
15
  ...g,
16
16
  children: [
17
- s && s.length > 0 && /* @__PURE__ */ e("nav", { "aria-label": "Breadcrumb", className: "flex items-center gap-ds-02b", children: s.map((t, n) => /* @__PURE__ */ l(o.Fragment, { children: [
18
- n > 0 && /* @__PURE__ */ e(
17
+ s && s.length > 0 && /* @__PURE__ */ e("nav", { "aria-label": "Breadcrumb", className: "flex items-center gap-ds-02b", children: s.map((t, d) => /* @__PURE__ */ l(o.Fragment, { children: [
18
+ d > 0 && /* @__PURE__ */ e(
19
19
  "svg",
20
20
  {
21
21
  width: 16,
@@ -35,26 +35,26 @@ const x = o.forwardRef(
35
35
  "a",
36
36
  {
37
37
  href: t.href,
38
- className: "text-ds-sm text-surface-fg-subtle transition-colors hover:text-surface-fg-muted focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-accent-9 rounded-ds-sm",
38
+ className: "text-ds-sm text-surface-fg-subtle transition-colors hover:text-surface-fg-muted focus-visible:outline-hidden focus-visible:ring-2 focus-visible:ring-accent-9 rounded-ds-sm",
39
39
  children: t.label
40
40
  }
41
41
  ) : /* @__PURE__ */ e(
42
42
  "span",
43
43
  {
44
- className: d(
44
+ className: n(
45
45
  "text-ds-sm",
46
- n === s.length - 1 ? "text-surface-fg" : "text-surface-fg-subtle"
46
+ d === s.length - 1 ? "text-surface-fg" : "text-surface-fg-subtle"
47
47
  ),
48
48
  children: t.label
49
49
  }
50
50
  )
51
- ] }, n)) }),
51
+ ] }, d)) }),
52
52
  (i || r || a) && /* @__PURE__ */ l("div", { className: "flex items-start justify-between gap-ds-05", children: [
53
53
  /* @__PURE__ */ l("div", { className: "flex flex-col gap-ds-02b", children: [
54
54
  i && /* @__PURE__ */ e(
55
55
  "h1",
56
56
  {
57
- className: d(
57
+ className: n(
58
58
  "text-ds-2xl font-semibold text-surface-fg",
59
59
  f
60
60
  ),
@@ -226,7 +226,7 @@ function nt({ value: r, onChange: n }) {
226
226
  {
227
227
  value: t,
228
228
  onChange: (o) => d(Number(o.target.value)),
229
- className: "h-ds-sm rounded-ds-md border border-surface-border-strong bg-surface-raised px-ds-02 text-ds-sm text-surface-fg focus:outline-none focus:ring-2 focus:ring-accent-9",
229
+ className: "h-ds-sm rounded-ds-md border border-surface-border-strong bg-surface-raised px-ds-02 text-ds-sm text-surface-fg focus:outline-hidden focus:ring-2 focus:ring-accent-9",
230
230
  "aria-label": "Hour",
231
231
  children: Array.from({ length: 12 }, (o, c) => c + 1).map((o) => /* @__PURE__ */ e("option", { value: o, children: o }, o))
232
232
  }
@@ -237,7 +237,7 @@ function nt({ value: r, onChange: n }) {
237
237
  {
238
238
  value: i - i % 5,
239
239
  onChange: (o) => u(Number(o.target.value)),
240
- className: "h-ds-sm rounded-ds-md border border-surface-border-strong bg-surface-raised px-ds-02 text-ds-sm text-surface-fg focus:outline-none focus:ring-2 focus:ring-accent-9",
240
+ className: "h-ds-sm rounded-ds-md border border-surface-border-strong bg-surface-raised px-ds-02 text-ds-sm text-surface-fg focus:outline-hidden focus:ring-2 focus:ring-accent-9",
241
241
  "aria-label": "Minute",
242
242
  children: Array.from({ length: 12 }, (o, c) => c * 5).map((o) => /* @__PURE__ */ e("option", { value: o, children: String(o).padStart(2, "0") }, o))
243
243
  }
@@ -294,7 +294,7 @@ function kr({
294
294
  value: d,
295
295
  min: f,
296
296
  onChange: u,
297
- className: "h-ds-sm rounded-ds-md border border-surface-border-strong bg-surface-raised px-ds-03 text-ds-sm text-surface-fg focus:outline-none focus:ring-2 focus:ring-accent-9"
297
+ className: "h-ds-sm rounded-ds-md border border-surface-border-strong bg-surface-raised px-ds-03 text-ds-sm text-surface-fg focus:outline-hidden focus:ring-2 focus:ring-accent-9"
298
298
  }
299
299
  )
300
300
  ] }),
@@ -1007,7 +1007,7 @@ const ot = a.forwardRef(
1007
1007
  onClick: k,
1008
1008
  onKeyDown: T,
1009
1009
  "aria-label": c ? "Pause voice message" : "Play voice message",
1010
- className: "inline-flex h-8 w-8 shrink-0 items-center justify-center rounded-ds-full bg-accent-9 text-accent-fg hover:bg-accent-10 active:scale-95 transition-colors duration-fast-01 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-accent-9 focus-visible:ring-offset-2",
1010
+ className: "inline-flex h-8 w-8 shrink-0 items-center justify-center rounded-ds-full bg-accent-9 text-accent-fg hover:bg-accent-10 active:scale-95 transition-colors duration-fast-01 focus-visible:outline-hidden focus-visible:ring-2 focus-visible:ring-accent-9 focus-visible:ring-offset-2",
1011
1011
  children: c ? /* @__PURE__ */ e(er, { size: 16, stroke: 2, "aria-hidden": "true" }) : /* @__PURE__ */ e(tr, { size: 16, stroke: 2, "aria-hidden": "true" })
1012
1012
  }
1013
1013
  ),
@@ -1033,7 +1033,7 @@ const ot = a.forwardRef(
1033
1033
  type: "button",
1034
1034
  onClick: A,
1035
1035
  "aria-label": `Playback speed ${M}x`,
1036
- className: "shrink-0 text-ds-xs bg-surface-raised rounded-ds-full px-ds-02 py-[1px] hover:bg-surface-raised-hover tabular-nums transition-colors duration-fast-01 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-accent-9 focus-visible:ring-offset-2",
1036
+ className: "shrink-0 text-ds-xs bg-surface-raised rounded-ds-full px-ds-02 py-[1px] hover:bg-surface-raised-hover tabular-nums transition-colors duration-fast-01 focus-visible:outline-hidden focus-visible:ring-2 focus-visible:ring-accent-9 focus-visible:ring-offset-2",
1037
1037
  children: [
1038
1038
  M,
1039
1039
  "x"
@@ -1141,7 +1141,7 @@ const Wr = {
1141
1141
  minimal: { minHeight: 44, maxHeight: 128, showToolbar: !1, toolbarPosition: "bottom" },
1142
1142
  inline: { minHeight: 40, maxHeight: 160, showToolbar: !1, toolbarPosition: "top" }
1143
1143
  }, Vr = [
1144
- "prose prose-sm max-w-none focus:outline-none",
1144
+ "prose prose-sm max-w-none focus:outline-hidden",
1145
1145
  "font-body text-ds-md leading-relaxed text-surface-fg",
1146
1146
  "[&_p.is-editor-empty:first-child]:relative",
1147
1147
  "[&_p.is-editor-empty:first-child::before]:text-surface-fg-subtle [&_p.is-editor-empty:first-child::before]:content-[attr(data-placeholder)] [&_p.is-editor-empty:first-child::before]:pointer-events-none [&_p.is-editor-empty:first-child::before]:absolute [&_p.is-editor-empty:first-child::before]:left-0 [&_p.is-editor-empty:first-child::before]:top-0 [&_p.is-editor-empty:first-child::before]:w-full [&_p.is-editor-empty:first-child::before]:truncate",
@@ -1151,7 +1151,7 @@ const Wr = {
1151
1151
  "[&_li]:text-surface-fg",
1152
1152
  "[&_code]:rounded [&_code]:bg-surface-raised [&_code]:px-ds-02 [&_code]:py-[1px] [&_code]:text-ds-md [&_code]:text-accent-11",
1153
1153
  "[&_strong]:font-semibold [&_strong]:text-surface-fg",
1154
- "[&_mark]:rounded-sm [&_mark]:bg-warning-3 [&_mark]:px-[2px]",
1154
+ "[[&_mark]:rounded-sm_mark]:rounded-xs [&_mark]:bg-warning-3 [&_mark]:px-[2px]",
1155
1155
  "[&_a]:text-accent-11 [&_a]:underline",
1156
1156
  "[&_.mention]:rounded-ds-sm [&_.mention]:bg-accent-2 [&_.mention]:px-ds-02 [&_.mention]:py-[1px] [&_.mention]:font-medium [&_.mention]:text-accent-11"
1157
1157
  ].join(" ");
@@ -1591,7 +1591,7 @@ const Jr = a.forwardRef(
1591
1591
  {
1592
1592
  ref: ut,
1593
1593
  className: z(
1594
- "flex items-center px-ds-04 py-ds-03 cursor-text [&_.tiptap]:w-full [&_.tiptap]:outline-none",
1594
+ "flex items-center px-ds-04 py-ds-03 cursor-text [&_.tiptap]:w-full [&_.tiptap]:outline-hidden",
1595
1595
  D === "recording" && "invisible"
1596
1596
  ),
1597
1597
  style: {
@@ -5,7 +5,7 @@ import { u as j, i as q, P as Q, a as D, L as U, b as M, c as O, d as K, E as $,
5
5
  import { F as W, E as X, a as Y, c as Z, l as G, b as F } from "../_chunks/mention-suggestion.js";
6
6
  import { useColorMode as ee } from "../hooks/use-color-mode.js";
7
7
  import { cn as L } from "../ui/lib/utils.js";
8
- import { IconBold as te, IconItalic as ie, IconUnderline as se, IconStrikethrough as ne, IconHighlight as re, IconH2 as oe, IconH3 as le, IconBlockquote as ce, IconList as ae, IconListNumbers as de, IconListCheck as ue, IconCode as fe, IconPhoto as he, IconPaperclip as ge, IconLineDashed as me, IconAlignLeft as be, IconAlignCenter as pe, IconAlignRight as ke, IconMoodSmile as ve, IconArrowBackUp as xe, IconArrowForwardUp as Ae, IconLink as _e } from "@tabler/icons-react";
8
+ import { IconBold as te, IconItalic as ie, IconUnderline as se, IconStrikethrough as ne, IconHighlight as re, IconH2 as oe, IconH3 as le, IconBlockquote as ce, IconList as ae, IconListNumbers as de, IconListCheck as ue, IconCode as fe, IconPhoto as he, IconPaperclip as ge, IconLineDashed as me, IconAlignLeft as be, IconAlignCenter as pe, IconAlignRight as ke, IconMoodSmile as ve, IconArrowBackUp as xe, IconArrowForwardUp as _e, IconLink as Ae } from "@tabler/icons-react";
9
9
  import { Icon as l } from "../ui/icon.js";
10
10
  const J = [
11
11
  "prose prose-sm max-w-none",
@@ -19,7 +19,7 @@ const J = [
19
19
  "[&_pre]:rounded-ds-lg [&_pre]:bg-surface-raised [&_pre]:p-ds-04",
20
20
  "[&_strong]:font-semibold [&_strong]:text-surface-fg",
21
21
  "[&_blockquote]:border-l-[3px] [&_blockquote]:border-accent-6 [&_blockquote]:pl-ds-04 [&_blockquote]:italic [&_blockquote]:text-surface-fg-subtle",
22
- "[&_mark]:rounded-sm [&_mark]:bg-warning-3 [&_mark]:px-[2px]",
22
+ "[[&_mark]:rounded-sm_mark]:rounded-xs [&_mark]:bg-warning-3 [&_mark]:px-[2px]",
23
23
  '[&_ul[data-type="taskList"]]:ml-0 [&_ul[data-type="taskList"]]:list-none [&_li[data-type="taskItem"]]:flex [&_li[data-type="taskItem"]]:items-start [&_li[data-type="taskItem"]]:gap-ds-02',
24
24
  "[&_hr]:my-ds-04 [&_hr]:border-surface-border-strong",
25
25
  "[&_a]:text-accent-11 [&_a]:underline [&_a]:decoration-accent-6 hover:[&_a]:decoration-accent-11",
@@ -65,7 +65,7 @@ function Le({ editor: i }) {
65
65
  }
66
66
  const m = i.getAttributes("link").href || "";
67
67
  g(m), f(!0), setTimeout(() => n.current?.focus(), 0);
68
- }, isActive: t, title: "Link", children: /* @__PURE__ */ e(l, { icon: _e, size: "sm" }) }),
68
+ }, isActive: t, title: "Link", children: /* @__PURE__ */ e(l, { icon: Ae, size: "sm" }) }),
69
69
  u && /* @__PURE__ */ y(
70
70
  "form",
71
71
  {
@@ -86,7 +86,7 @@ function Le({ editor: i }) {
86
86
  m.key === "Escape" && (f(!1), g(""), i.commands.focus());
87
87
  },
88
88
  placeholder: "https://...",
89
- className: "h-ds-sm w-[240px] rounded-ds-sm border border-surface-border-strong bg-surface-overlay px-ds-03 text-ds-sm text-surface-fg focus:border-accent-7 focus:outline-none"
89
+ className: "h-ds-sm w-[240px] rounded-ds-sm border border-surface-border-strong bg-surface-overlay px-ds-03 text-ds-sm text-surface-fg focus:border-accent-7 focus:outline-hidden"
90
90
  }
91
91
  ),
92
92
  /* @__PURE__ */ e("button", { type: "submit", className: "h-ds-sm rounded-ds-sm bg-accent-9 px-ds-03 text-ds-sm text-accent-fg hover:bg-accent-10", children: "Apply" })
@@ -95,7 +95,7 @@ function Le({ editor: i }) {
95
95
  )
96
96
  ] });
97
97
  }
98
- function _() {
98
+ function A() {
99
99
  return /* @__PURE__ */ e("div", { className: "mx-ds-02 h-[16px] w-px bg-surface-border" });
100
100
  }
101
101
  function ye({ editor: i, toolbar: u, onImageClick: f, onFileClick: h, onEmojiClick: g }) {
@@ -121,35 +121,35 @@ function ye({ editor: i, toolbar: u, onImageClick: f, onFileClick: h, onEmojiCli
121
121
  canUndo: o.can().undo(),
122
122
  canRedo: o.can().redo()
123
123
  })
124
- }), t = (o) => !u || u.includes(o), A = t("bold") || t("italic") || t("underline") || t("strike") || t("highlight"), p = t("h2") || t("h3") || t("blockquote"), k = t("bulletList") || t("orderedList") || t("taskList") || t("codeBlock"), m = t("link") || !!f && t("image") || !!h && t("file") || t("hr"), C = t("alignLeft") || t("alignCenter") || t("alignRight"), v = !!g && t("emoji"), R = t("undo") || t("redo");
124
+ }), t = (o) => !u || u.includes(o), _ = t("bold") || t("italic") || t("underline") || t("strike") || t("highlight"), p = t("h2") || t("h3") || t("blockquote"), k = t("bulletList") || t("orderedList") || t("taskList") || t("codeBlock"), m = t("link") || !!f && t("image") || !!h && t("file") || t("hr"), C = t("alignLeft") || t("alignCenter") || t("alignRight"), v = !!g && t("emoji"), R = t("undo") || t("redo");
125
125
  return /* @__PURE__ */ y("div", { role: "toolbar", "aria-label": "Text formatting", className: "flex flex-wrap items-center gap-ds-01 border-b border-surface-border-strong px-ds-04 py-ds-02b", children: [
126
126
  t("bold") && /* @__PURE__ */ e(c, { onClick: () => i.chain().focus().toggleBold().run(), isActive: n.isBold, title: "Bold", children: /* @__PURE__ */ e(l, { icon: te, size: "sm", stroke: "bold" }) }),
127
127
  t("italic") && /* @__PURE__ */ e(c, { onClick: () => i.chain().focus().toggleItalic().run(), isActive: n.isItalic, title: "Italic", children: /* @__PURE__ */ e(l, { icon: ie, size: "sm", stroke: "bold" }) }),
128
128
  t("underline") && /* @__PURE__ */ e(c, { onClick: () => i.chain().focus().toggleUnderline().run(), isActive: n.isUnderline, title: "Underline", children: /* @__PURE__ */ e(l, { icon: se, size: "sm", stroke: "bold" }) }),
129
129
  t("strike") && /* @__PURE__ */ e(c, { onClick: () => i.chain().focus().toggleStrike().run(), isActive: n.isStrike, title: "Strikethrough", children: /* @__PURE__ */ e(l, { icon: ne, size: "sm", stroke: "bold" }) }),
130
130
  t("highlight") && /* @__PURE__ */ e(c, { onClick: () => i.chain().focus().toggleHighlight().run(), isActive: n.isHighlight, title: "Highlight", children: /* @__PURE__ */ e(l, { icon: re, size: "sm", stroke: "bold" }) }),
131
- A && p && /* @__PURE__ */ e(_, {}),
131
+ _ && p && /* @__PURE__ */ e(A, {}),
132
132
  t("h2") && /* @__PURE__ */ e(c, { onClick: () => i.chain().focus().toggleHeading({ level: 2 }).run(), isActive: n.isH2, title: "Heading 2", children: /* @__PURE__ */ e(l, { icon: oe, size: "sm", stroke: "bold" }) }),
133
133
  t("h3") && /* @__PURE__ */ e(c, { onClick: () => i.chain().focus().toggleHeading({ level: 3 }).run(), isActive: n.isH3, title: "Heading 3", children: /* @__PURE__ */ e(l, { icon: le, size: "sm", stroke: "bold" }) }),
134
134
  t("blockquote") && /* @__PURE__ */ e(c, { onClick: () => i.chain().focus().toggleBlockquote().run(), isActive: n.isBlockquote, title: "Blockquote", children: /* @__PURE__ */ e(l, { icon: ce, size: "sm", stroke: "bold" }) }),
135
- p && k && /* @__PURE__ */ e(_, {}),
135
+ p && k && /* @__PURE__ */ e(A, {}),
136
136
  t("bulletList") && /* @__PURE__ */ e(c, { onClick: () => i.chain().focus().toggleBulletList().run(), isActive: n.isBulletList, title: "Bullet list", children: /* @__PURE__ */ e(l, { icon: ae, size: "sm", stroke: "bold" }) }),
137
137
  t("orderedList") && /* @__PURE__ */ e(c, { onClick: () => i.chain().focus().toggleOrderedList().run(), isActive: n.isOrderedList, title: "Ordered list", children: /* @__PURE__ */ e(l, { icon: de, size: "sm", stroke: "bold" }) }),
138
138
  t("taskList") && /* @__PURE__ */ e(c, { onClick: () => i.chain().focus().toggleTaskList().run(), isActive: n.isTaskList, title: "Task list", children: /* @__PURE__ */ e(l, { icon: ue, size: "sm", stroke: "bold" }) }),
139
139
  t("codeBlock") && /* @__PURE__ */ e(c, { onClick: () => i.chain().focus().toggleCodeBlock().run(), isActive: n.isCodeBlock, title: "Code block", children: /* @__PURE__ */ e(l, { icon: fe, size: "sm", stroke: "bold" }) }),
140
- k && m && /* @__PURE__ */ e(_, {}),
140
+ k && m && /* @__PURE__ */ e(A, {}),
141
141
  t("link") && /* @__PURE__ */ e(Le, { editor: i }),
142
142
  f && t("image") && /* @__PURE__ */ e(c, { onClick: f, title: "Insert image", children: /* @__PURE__ */ e(l, { icon: he, size: "sm" }) }),
143
143
  h && t("file") && /* @__PURE__ */ e(c, { onClick: h, title: "Attach file", children: /* @__PURE__ */ e(l, { icon: ge, size: "sm" }) }),
144
144
  t("hr") && /* @__PURE__ */ e(c, { onClick: () => i.chain().focus().setHorizontalRule().run(), title: "Horizontal rule", children: /* @__PURE__ */ e(l, { icon: me, size: "sm" }) }),
145
- m && C && /* @__PURE__ */ e(_, {}),
145
+ m && C && /* @__PURE__ */ e(A, {}),
146
146
  t("alignLeft") && /* @__PURE__ */ e(c, { onClick: () => i.chain().focus().setTextAlign("left").run(), isActive: n.isAlignLeft, title: "Align left", children: /* @__PURE__ */ e(l, { icon: be, size: "sm" }) }),
147
147
  t("alignCenter") && /* @__PURE__ */ e(c, { onClick: () => i.chain().focus().setTextAlign("center").run(), isActive: n.isAlignCenter, title: "Align center", children: /* @__PURE__ */ e(l, { icon: pe, size: "sm" }) }),
148
148
  t("alignRight") && /* @__PURE__ */ e(c, { onClick: () => i.chain().focus().setTextAlign("right").run(), isActive: n.isAlignRight, title: "Align right", children: /* @__PURE__ */ e(l, { icon: ke, size: "sm" }) }),
149
- C && (v || R) && /* @__PURE__ */ e(_, {}),
149
+ C && (v || R) && /* @__PURE__ */ e(A, {}),
150
150
  g && t("emoji") && /* @__PURE__ */ e(c, { onClick: g, title: "Emoji", children: /* @__PURE__ */ e(l, { icon: ve, size: "sm" }) }),
151
151
  t("undo") && /* @__PURE__ */ e(c, { onClick: () => i.chain().focus().undo().run(), disabled: !n.canUndo, title: "Undo", children: /* @__PURE__ */ e(l, { icon: xe, size: "sm" }) }),
152
- t("redo") && /* @__PURE__ */ e(c, { onClick: () => i.chain().focus().redo().run(), disabled: !n.canRedo, title: "Redo", children: /* @__PURE__ */ e(l, { icon: Ae, size: "sm" }) })
152
+ t("redo") && /* @__PURE__ */ e(c, { onClick: () => i.chain().focus().redo().run(), disabled: !n.canRedo, title: "Redo", children: /* @__PURE__ */ e(l, { icon: _e, size: "sm" }) })
153
153
  ] });
154
154
  }
155
155
  const Ce = d.lazy(() => import("@emoji-mart/react"));
@@ -179,7 +179,7 @@ const Ie = d.forwardRef(
179
179
  className: g,
180
180
  editable: n = !0,
181
181
  toolbar: t,
182
- onImageUpload: A,
182
+ onImageUpload: _,
183
183
  onFileUpload: p,
184
184
  mentions: k,
185
185
  onMentionSearch: m,
@@ -190,8 +190,8 @@ const Ie = d.forwardRef(
190
190
  const z = d.useRef(null), T = d.useRef(!1), [E, w] = d.useState(!1), B = d.useRef(null), N = d.useRef(null), P = d.useRef(null), H = async (s) => {
191
191
  const r = z.current;
192
192
  if (r)
193
- if (A) {
194
- const a = await A(s);
193
+ if (_) {
194
+ const a = await _(s);
195
195
  a && /^https?:\/\//i.test(a) && r.chain().focus().setImage({ src: a }).run();
196
196
  } else {
197
197
  const a = new FileReader();
@@ -276,7 +276,7 @@ const Ie = d.forwardRef(
276
276
  attributes: {
277
277
  class: L(
278
278
  ...J,
279
- "focus:outline-none",
279
+ "focus:outline-hidden",
280
280
  "min-h-[120px] px-ds-04 py-ds-04"
281
281
  )
282
282
  }
@@ -1,13 +1,13 @@
1
1
  "use client";
2
- import { jsx as e, jsxs as n, Fragment as j } from "react/jsx-runtime";
2
+ import { jsx as e, jsxs as d, Fragment as j } from "react/jsx-runtime";
3
3
  import * as c from "react";
4
4
  import { useColorMode as D } from "../hooks/use-color-mode.js";
5
5
  import { Avatar as U, AvatarImage as z, AvatarFallback as A } from "../ui/avatar.js";
6
- import { DropdownMenu as L, DropdownMenuTrigger as S, DropdownMenuContent as F, DropdownMenuItem as f, DropdownMenuSeparator as x } from "../ui/dropdown-menu.js";
7
- import { Tooltip as h, TooltipTrigger as b, TooltipContent as N } from "../ui/tooltip.js";
6
+ import { DropdownMenu as L, DropdownMenuTrigger as S, DropdownMenuContent as F, DropdownMenuItem as f, DropdownMenuSeparator as h } from "../ui/dropdown-menu.js";
7
+ import { Tooltip as x, TooltipTrigger as b, TooltipContent as N } from "../ui/tooltip.js";
8
8
  import { IconUser as O, IconSun as _, IconMoon as E, IconLogout as P } from "@tabler/icons-react";
9
9
  import { Icon as p } from "../ui/icon.js";
10
- import { cn as d } from "../ui/lib/utils.js";
10
+ import { cn as n } from "../ui/lib/utils.js";
11
11
  const w = c.forwardRef(
12
12
  ({ className: r, children: s, ...o }, t) => {
13
13
  const l = c.Children.toArray(s).some(
@@ -18,7 +18,7 @@ const w = c.forwardRef(
18
18
  {
19
19
  ...o,
20
20
  ref: t,
21
- className: d(
21
+ className: n(
22
22
  "z-sticky w-full border-b border-surface-border-strong bg-surface-raised px-ds-05 py-ds-04 md:px-ds-06",
23
23
  l ? "grid grid-cols-[1fr_auto_1fr] items-center" : "flex items-center",
24
24
  r
@@ -34,7 +34,7 @@ const v = c.forwardRef(
34
34
  "div",
35
35
  {
36
36
  ref: t,
37
- className: d("flex items-center gap-ds-04", r),
37
+ className: n("flex items-center gap-ds-04", r),
38
38
  ...o,
39
39
  children: s
40
40
  }
@@ -46,7 +46,7 @@ const m = c.forwardRef(
46
46
  "div",
47
47
  {
48
48
  ref: t,
49
- className: d("flex items-center justify-center px-ds-04", r),
49
+ className: n("flex items-center justify-center px-ds-04", r),
50
50
  ...o,
51
51
  children: s
52
52
  }
@@ -58,7 +58,7 @@ const y = c.forwardRef(
58
58
  "div",
59
59
  {
60
60
  ref: t,
61
- className: d("ml-auto flex items-center gap-ds-04", r),
61
+ className: n("ml-auto flex items-center gap-ds-04", r),
62
62
  ...o,
63
63
  children: s
64
64
  }
@@ -74,21 +74,21 @@ const V = {
74
74
  "div",
75
75
  {
76
76
  ref: l,
77
- className: d("flex items-center", V[r], s),
77
+ className: n("flex items-center", V[r], s),
78
78
  ...t,
79
79
  children: o
80
80
  }
81
81
  )
82
82
  );
83
83
  T.displayName = "TopBar.Section";
84
- const B = c.forwardRef(({ icon: r, tooltip: s, className: o, ...t }, l) => /* @__PURE__ */ n(h, { children: [
84
+ const B = c.forwardRef(({ icon: r, tooltip: s, className: o, ...t }, l) => /* @__PURE__ */ d(x, { children: [
85
85
  /* @__PURE__ */ e(b, { asChild: !0, children: /* @__PURE__ */ e(
86
86
  "button",
87
87
  {
88
88
  ref: l,
89
89
  type: "button",
90
90
  "aria-label": s,
91
- className: d(
91
+ className: n(
92
92
  "flex h-ds-sm-plus w-ds-sm-plus items-center justify-center rounded-ds-full border border-surface-border-strong bg-surface-raised-hover text-surface-fg-muted transition-[color,background-color,border-color,transform] hover:bg-surface-raised-active active:scale-90 duration-fast-01 ease-productive-standard",
93
93
  o
94
94
  ),
@@ -104,7 +104,7 @@ const C = c.forwardRef(
104
104
  "h2",
105
105
  {
106
106
  ref: t,
107
- className: d(
107
+ className: n(
108
108
  "hidden text-ds-lg text-surface-fg md:block",
109
109
  r
110
110
  ),
@@ -117,15 +117,15 @@ C.displayName = "TopBar.Title";
117
117
  const M = c.forwardRef(
118
118
  ({ user: r, onNavigate: s, onLogout: o, userMenuItems: t, className: l }, i) => {
119
119
  const { colorMode: u, toggleColorMode: k } = D();
120
- return /* @__PURE__ */ n(L, { children: [
121
- /* @__PURE__ */ n(h, { children: [
120
+ return /* @__PURE__ */ d(L, { children: [
121
+ /* @__PURE__ */ d(x, { children: [
122
122
  /* @__PURE__ */ e(b, { asChild: !0, children: /* @__PURE__ */ e(S, { asChild: !0, children: /* @__PURE__ */ e(
123
123
  "button",
124
124
  {
125
125
  ref: i,
126
126
  type: "button",
127
- className: d("flex items-center gap-ds-03 outline-none focus-visible:ring-2 focus-visible:ring-accent-9 focus-visible:ring-offset-2", l),
128
- children: /* @__PURE__ */ n(U, { className: "h-ds-sm-plus w-ds-sm-plus cursor-pointer", children: [
127
+ className: n("flex items-center gap-ds-03 outline-hidden focus-visible:ring-2 focus-visible:ring-accent-9 focus-visible:ring-offset-2", l),
128
+ children: /* @__PURE__ */ d(U, { className: "h-ds-sm-plus w-ds-sm-plus cursor-pointer", children: [
129
129
  r.image ? /* @__PURE__ */ e(z, { src: r.image, alt: r.name }) : null,
130
130
  /* @__PURE__ */ e(A, { className: "bg-surface-raised-hover text-surface-fg", children: r.name?.charAt(0).toUpperCase() })
131
131
  ] })
@@ -133,18 +133,18 @@ const M = c.forwardRef(
133
133
  ) }) }),
134
134
  /* @__PURE__ */ e(N, { side: "bottom", align: "center", children: "User Menu" })
135
135
  ] }),
136
- /* @__PURE__ */ n(
136
+ /* @__PURE__ */ d(
137
137
  F,
138
138
  {
139
139
  className: "w-[200px] rounded-ds-xl border border-surface-border-strong bg-surface-overlay p-0 shadow-floating",
140
140
  sideOffset: 8,
141
141
  align: "end",
142
142
  children: [
143
- /* @__PURE__ */ n("div", { className: "border-b border-surface-border-strong px-ds-05 py-ds-04", children: [
143
+ /* @__PURE__ */ d("div", { className: "border-b border-surface-border-strong px-ds-05 py-ds-04", children: [
144
144
  /* @__PURE__ */ e("p", { className: "text-ds-md text-surface-fg", children: r.name }),
145
145
  r.email && /* @__PURE__ */ e("p", { className: "text-ds-sm text-surface-fg-subtle truncate", children: r.email })
146
146
  ] }),
147
- /* @__PURE__ */ n(
147
+ /* @__PURE__ */ d(
148
148
  f,
149
149
  {
150
150
  className: "flex w-full cursor-pointer items-center gap-ds-03 px-ds-05 py-ds-04 hover:bg-surface-raised",
@@ -162,12 +162,12 @@ const M = c.forwardRef(
162
162
  warning: "text-warning-11",
163
163
  info: "text-info-11"
164
164
  }, g = a.color ? I[a.color] ?? "text-surface-fg-muted" : "text-surface-fg-muted";
165
- return /* @__PURE__ */ n(c.Fragment, { children: [
166
- a.separator && /* @__PURE__ */ e(x, { className: "bg-surface-border" }),
167
- /* @__PURE__ */ n(
165
+ return /* @__PURE__ */ d(c.Fragment, { children: [
166
+ a.separator && /* @__PURE__ */ e(h, { className: "bg-surface-border" }),
167
+ /* @__PURE__ */ d(
168
168
  f,
169
169
  {
170
- className: d(
170
+ className: n(
171
171
  "flex w-full cursor-pointer items-center gap-ds-03 px-ds-05 py-ds-04 hover:bg-surface-raised",
172
172
  a.disabled && "pointer-events-none opacity-action-disabled"
173
173
  ),
@@ -179,21 +179,21 @@ const M = c.forwardRef(
179
179
  a.icon && /* @__PURE__ */ e(
180
180
  "span",
181
181
  {
182
- className: d(
182
+ className: n(
183
183
  "[&>svg]:h-ico-sm [&>svg]:w-ico-sm",
184
184
  g
185
185
  ),
186
186
  children: a.icon
187
187
  }
188
188
  ),
189
- /* @__PURE__ */ e("span", { className: d("text-ds-md", g), children: a.label }),
189
+ /* @__PURE__ */ e("span", { className: n("text-ds-md", g), children: a.label }),
190
190
  a.badge != null && a.badge !== !1 && (typeof a.badge == "string" ? /* @__PURE__ */ e("span", { className: "ml-auto inline-flex h-[18px] min-w-[18px] items-center justify-center rounded-ds-full bg-error-9 px-ds-02 text-[10px] font-semibold leading-none text-accent-fg", children: a.badge }) : /* @__PURE__ */ e("span", { className: "ml-auto h-[8px] w-[8px] rounded-ds-full bg-error-9" }))
191
191
  ]
192
192
  }
193
193
  )
194
194
  ] }, a.label + R);
195
195
  }),
196
- /* @__PURE__ */ n(
196
+ /* @__PURE__ */ d(
197
197
  f,
198
198
  {
199
199
  className: "flex w-full cursor-pointer items-center gap-ds-03 px-ds-05 py-ds-04 hover:bg-surface-raised",
@@ -204,9 +204,9 @@ const M = c.forwardRef(
204
204
  ]
205
205
  }
206
206
  ),
207
- o && /* @__PURE__ */ n(j, { children: [
208
- /* @__PURE__ */ e(x, { className: "bg-surface-border" }),
209
- /* @__PURE__ */ n(
207
+ o && /* @__PURE__ */ d(j, { children: [
208
+ /* @__PURE__ */ e(h, { className: "bg-surface-border" }),
209
+ /* @__PURE__ */ d(
210
210
  f,
211
211
  {
212
212
  className: "flex w-full cursor-pointer items-center gap-ds-03 px-ds-05 py-ds-04 hover:bg-surface-raised",
@@ -33,17 +33,8 @@ __export(preset_exports, {
33
33
  module.exports = __toCommonJS(preset_exports);
34
34
  var import_plugin = __toESM(require("tailwindcss/plugin"), 1);
35
35
  const s = {
36
- /**
37
- * Dark mode uses the `.dark` class strategy. If your app uses `darkMode: 'media'`,
38
- * set it explicitly in your own tailwind.config — your config takes precedence.
39
- */
40
- darkMode: "class",
41
- safelist: [
42
- "py-ds-02",
43
- "py-ds-03",
44
- "py-ds-05",
45
- "py-ds-07"
46
- ],
36
+ // TW4: darkMode is now configured via @variant in CSS, not here.
37
+ // TW4: safelist removed use @source inline() in CSS if needed.
47
38
  theme: {
48
39
  extend: {
49
40
  // Breakpoints must be static values — CSS custom properties cannot be used
@@ -1 +1 @@
1
- {"version":3,"file":"preset.d.ts","sourceRoot":"","sources":["../../src/tailwind/preset.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AAGzC,QAAA,MAAM,MAAM,EAAE,OAAO,CAAC,MAAM,CAud3B,CAAA;AAED,eAAe,MAAM,CAAA"}
1
+ {"version":3,"file":"preset.d.ts","sourceRoot":"","sources":["../../src/tailwind/preset.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AAGzC,QAAA,MAAM,MAAM,EAAE,OAAO,CAAC,MAAM,CAid3B,CAAA;AAED,eAAe,MAAM,CAAA"}
@@ -1,16 +1,7 @@
1
1
  import e from "tailwindcss/plugin";
2
2
  const s = {
3
- /**
4
- * Dark mode uses the `.dark` class strategy. If your app uses `darkMode: 'media'`,
5
- * set it explicitly in your own tailwind.config — your config takes precedence.
6
- */
7
- darkMode: "class",
8
- safelist: [
9
- "py-ds-02",
10
- "py-ds-03",
11
- "py-ds-05",
12
- "py-ds-07"
13
- ],
3
+ // TW4: darkMode is now configured via @variant in CSS, not here.
4
+ // TW4: safelist removed use @source inline() in CSS if needed.
14
5
  theme: {
15
6
  extend: {
16
7
  // Breakpoints must be static values — CSS custom properties cannot be used
@@ -1,12 +1,12 @@
1
1
  "use client";
2
2
  import { jsx as o, jsxs as f } from "react/jsx-runtime";
3
3
  import * as s from "react";
4
- import { I as l, H as p, T as d, C as c, R as u } from "../_chunks/primitives.js";
4
+ import { I as l, H as p, T as n, C as c, R as u } from "../_chunks/primitives.js";
5
5
  import { IconChevronDown as g } from "@tabler/icons-react";
6
6
  import { Icon as b } from "./icon.js";
7
7
  import { cn as i } from "./lib/utils.js";
8
- import { tweens as N } from "./lib/motion.js";
9
- import { m as h } from "../_chunks/framer.js";
8
+ import { tweens as h } from "./lib/motion.js";
9
+ import { m as N } from "../_chunks/framer.js";
10
10
  const H = u, x = s.forwardRef(({ className: a, ...r }, e) => /* @__PURE__ */ o(
11
11
  l,
12
12
  {
@@ -17,25 +17,25 @@ const H = u, x = s.forwardRef(({ className: a, ...r }, e) => /* @__PURE__ */ o(
17
17
  ));
18
18
  x.displayName = "AccordionItem";
19
19
  const v = s.forwardRef(({ className: a, children: r, chevronPosition: e = "right", ...t }, m) => {
20
- const n = /* @__PURE__ */ o(b, { icon: g, size: "sm", className: "shrink-0 text-surface-fg-muted transition-transform duration-moderate-02 ease-productive-standard group-data-[state=open]:rotate-180" });
20
+ const d = /* @__PURE__ */ o(b, { icon: g, size: "sm", className: "shrink-0 text-surface-fg-muted transition-transform duration-moderate-02 ease-productive-standard group-data-[state=open]:rotate-180" });
21
21
  return /* @__PURE__ */ o(p, { className: "flex", children: /* @__PURE__ */ f(
22
- d,
22
+ n,
23
23
  {
24
24
  ref: m,
25
25
  className: i(
26
- "group flex flex-1 items-center justify-between py-ds-05 text-left text-ds-md font-medium hover:bg-surface-raised rounded-ds-md data-[state=open]:bg-surface-raised focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-accent-9",
26
+ "group flex flex-1 items-center justify-between py-ds-05 text-left text-ds-md font-medium hover:bg-surface-raised rounded-ds-md data-[state=open]:bg-surface-raised focus-visible:outline-hidden focus-visible:ring-2 focus-visible:ring-accent-9",
27
27
  a
28
28
  ),
29
29
  ...t,
30
30
  children: [
31
- e === "left" && n,
31
+ e === "left" && d,
32
32
  r,
33
- e === "right" && n
33
+ e === "right" && d
34
34
  ]
35
35
  }
36
36
  ) });
37
37
  });
38
- v.displayName = d.displayName;
38
+ v.displayName = n.displayName;
39
39
  const w = s.forwardRef(({ className: a, children: r, ...e }, t) => /* @__PURE__ */ o(
40
40
  c,
41
41
  {
@@ -43,11 +43,11 @@ const w = s.forwardRef(({ className: a, children: r, ...e }, t) => /* @__PURE__
43
43
  className: "w-full overflow-hidden text-ds-md data-[state=open]:animate-accordion-down data-[state=closed]:animate-accordion-up",
44
44
  ...e,
45
45
  children: /* @__PURE__ */ o(
46
- h.div,
46
+ N.div,
47
47
  {
48
48
  initial: !1,
49
49
  animate: { opacity: 1 },
50
- transition: N.fade,
50
+ transition: h.fade,
51
51
  children: /* @__PURE__ */ o("div", { className: i("pb-ds-05 pt-ds-02", a), children: r })
52
52
  }
53
53
  )
@@ -11,13 +11,13 @@ const v = o.createContext({ open: !1 }), P = () => o.useContext(v), T = ({
11
11
  onOpenChange: t,
12
12
  ...r
13
13
  }) => {
14
- const [l, A] = o.useState(a ?? !1), n = e !== void 0, d = n ? e : l, D = o.useCallback(
14
+ const [l, A] = o.useState(a ?? !1), n = e !== void 0, d = n ? e : l, h = o.useCallback(
15
15
  (c) => {
16
16
  n || A(c), t?.(c);
17
17
  },
18
18
  [n, t]
19
- ), h = o.useMemo(() => ({ open: d }), [d]);
20
- return /* @__PURE__ */ s(v.Provider, { value: h, children: /* @__PURE__ */ s(R, { open: d, onOpenChange: D, ...r }) });
19
+ ), D = o.useMemo(() => ({ open: d }), [d]);
20
+ return /* @__PURE__ */ s(v.Provider, { value: D, children: /* @__PURE__ */ s(R, { open: d, onOpenChange: h, ...r }) });
21
21
  };
22
22
  T.displayName = "AlertDialog";
23
23
  const L = O, z = C, N = o.forwardRef(({ className: e, ...a }, t) => /* @__PURE__ */ s(
@@ -125,7 +125,7 @@ const V = o.forwardRef(({ className: e, ...a }, t) => /* @__PURE__ */ s(
125
125
  {
126
126
  ref: t,
127
127
  className: i(
128
- "inline-flex h-ds-md items-center justify-center rounded-ds-md px-ds-05 text-ds-md font-semibold transition-colors bg-accent-9 text-accent-fg hover:bg-accent-10 active:bg-accent-10 shadow-raised focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-accent-9 focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-action-disabled",
128
+ "inline-flex h-ds-md items-center justify-center rounded-ds-md px-ds-05 text-ds-md font-semibold transition-colors bg-accent-9 text-accent-fg hover:bg-accent-10 active:bg-accent-10 shadow-raised focus-visible:outline-hidden focus-visible:ring-2 focus-visible:ring-accent-9 focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-action-disabled",
129
129
  e
130
130
  ),
131
131
  ...a
@@ -137,7 +137,7 @@ const q = o.forwardRef(({ className: e, ...a }, t) => /* @__PURE__ */ s(
137
137
  {
138
138
  ref: t,
139
139
  className: i(
140
- "inline-flex h-ds-md items-center justify-center rounded-ds-md px-ds-05 text-ds-md font-semibold transition-colors bg-transparent text-surface-fg-muted border border-surface-border-strong hover:bg-surface-raised hover:text-surface-fg focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-accent-9 focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-action-disabled",
140
+ "inline-flex h-ds-md items-center justify-center rounded-ds-md px-ds-05 text-ds-md font-semibold transition-colors bg-transparent text-surface-fg-muted border border-surface-border-strong hover:bg-surface-raised hover:text-surface-fg focus-visible:outline-hidden focus-visible:ring-2 focus-visible:ring-accent-9 focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-action-disabled",
141
141
  e
142
142
  ),
143
143
  ...a
package/dist/ui/alert.js CHANGED
@@ -84,7 +84,7 @@ const P = V(
84
84
  {
85
85
  type: "button",
86
86
  onClick: p,
87
- className: "shrink-0 min-h-ds-xs min-w-ds-xs flex items-center justify-center rounded-ds-sm text-surface-fg-subtle transition-colors duration-fast-01 ease-productive-standard hover:text-surface-fg-muted hover:bg-surface-raised-hover active:scale-95 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-accent-9",
87
+ className: "shrink-0 min-h-ds-xs min-w-ds-xs flex items-center justify-center rounded-ds-sm text-surface-fg-subtle transition-colors duration-fast-01 ease-productive-standard hover:text-surface-fg-muted hover:bg-surface-raised-hover active:scale-95 focus-visible:outline-hidden focus-visible:ring-2 focus-visible:ring-accent-9",
88
88
  "aria-label": "Dismiss",
89
89
  children: /* @__PURE__ */ r(l, { icon: k, size: h })
90
90
  }
@@ -79,7 +79,7 @@ const z = {
79
79
  disabled: y,
80
80
  className: p(
81
81
  "flex h-ds-md w-full rounded-ds-md border border-surface-border-strong bg-surface-raised-hover px-ds-04 py-ds-03 font-sans text-ds-md text-surface-fg placeholder:text-surface-fg-subtle",
82
- "outline-none focus-visible:ring-2 focus-visible:ring-accent-9 focus-visible:ring-offset-[var(--border-focus-offset)]",
82
+ "outline-hidden focus-visible:ring-2 focus-visible:ring-accent-9 focus-visible:ring-offset-[var(--border-focus-offset)]",
83
83
  "transition-colors duration-fast-01",
84
84
  y && "opacity-action-disabled cursor-not-allowed"
85
85
  ),