@commenda/pathfinder 0.1.0 → 0.2.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 (133) hide show
  1. package/CHANGELOG.md +12 -0
  2. package/dist/components/accordion/AccordionSection.js +9 -3
  3. package/dist/components/address-input/AddressInput.js +1 -1
  4. package/dist/components/artifact-card/ArtifactCard.js +1 -1
  5. package/dist/components/artifact-panel/ArtifactPanel.js +81 -55
  6. package/dist/components/attachment/Attachment.d.ts +2 -6
  7. package/dist/components/attachment/Attachment.js +59 -36
  8. package/dist/components/attachment/AttachmentCard.d.ts +1 -1
  9. package/dist/components/attachment/AttachmentCard.js +56 -43
  10. package/dist/components/attachment/attachment-class-names.d.ts +1 -1
  11. package/dist/components/attachment/attachment-class-names.js +1 -1
  12. package/dist/components/attachment-group/AttachmentGroup.js +1 -1
  13. package/dist/components/avatar/avatar-helper.d.ts +1 -1
  14. package/dist/components/banner/Banner.js +5 -2
  15. package/dist/components/button/Button.js +1 -1
  16. package/dist/components/calendar/CalendarAgenda.js +1 -1
  17. package/dist/components/calendar/CalendarArtwork.js +16 -22
  18. package/dist/components/calendar/CalendarEventContent.js +2 -2
  19. package/dist/components/calendar/CalendarPopup.js +102 -82
  20. package/dist/components/calendar/CalendarToolbar.js +10 -10
  21. package/dist/components/card/Card.js +47 -41
  22. package/dist/components/checkbox/Checkbox.js +31 -13
  23. package/dist/components/choices/choice-motion.d.ts +12 -0
  24. package/dist/components/choices/choice-motion.js +22 -0
  25. package/dist/components/code-block/CodeBlock.js +3 -2
  26. package/dist/components/controls/control-class-names.d.ts +1 -0
  27. package/dist/components/controls/control-class-names.js +8 -8
  28. package/dist/components/controls/useHoverHighlight.d.ts +12 -0
  29. package/dist/components/controls/useHoverHighlight.js +51 -0
  30. package/dist/components/controls/useSelectionIndicator.d.ts +3 -4
  31. package/dist/components/controls/useSelectionIndicator.js +43 -28
  32. package/dist/components/data-grid/DataGrid.js +7 -7
  33. package/dist/components/data-grid/DataGridHeaders.js +1 -1
  34. package/dist/components/date-picker/DateCalendar.js +3 -3
  35. package/dist/components/date-picker/DatePicker.js +10 -10
  36. package/dist/components/date-picker/field/DateField.js +1 -1
  37. package/dist/components/description-list/DescriptionList.js +2 -2
  38. package/dist/components/dialog/ConfirmDialog.js +1 -1
  39. package/dist/components/dialog/Dialog.js +1 -1
  40. package/dist/components/distribution-bar/DistributionBar.js +45 -35
  41. package/dist/components/drag-handle/DragHandle.d.ts +1 -1
  42. package/dist/components/dropdown/Dropdown.js +27 -26
  43. package/dist/components/dropdown/MenuContent.js +100 -69
  44. package/dist/components/dropdown/dropdown-types.d.ts +1 -0
  45. package/dist/components/dropdown/menu-motion.d.ts +2 -0
  46. package/dist/components/dropdown/menu-motion.js +4 -0
  47. package/dist/components/feedback/FeedbackIcon.d.ts +2 -1
  48. package/dist/components/feedback/FeedbackIcon.js +4 -4
  49. package/dist/components/feedback/FeedbackSurface.d.ts +3 -3
  50. package/dist/components/feedback/FeedbackSurface.js +49 -21
  51. package/dist/components/fields/FieldAction.d.ts +1 -0
  52. package/dist/components/fields/FieldAction.js +2 -2
  53. package/dist/components/icon-button/IconButton.js +37 -37
  54. package/dist/components/icons/index.js +776 -776
  55. package/dist/components/inline-reference/InlineReference.js +1 -8
  56. package/dist/components/list/List.js +2 -2
  57. package/dist/components/list/ListGroup.js +35 -30
  58. package/dist/components/list/ListTask.js +1 -1
  59. package/dist/components/list/SettingRow.js +1 -1
  60. package/dist/components/markdown/Markdown.js +11 -10
  61. package/dist/components/markdown/MarkdownTable.d.ts +1 -1
  62. package/dist/components/markdown/MarkdownTable.js +71 -54
  63. package/dist/components/otp/OTP.js +44 -43
  64. package/dist/components/output-sections/OutputRow.js +2 -3
  65. package/dist/components/overlays/OverlayFrame.js +2 -2
  66. package/dist/components/overlays/overlay-class-names.d.ts +3 -3
  67. package/dist/components/overlays/overlay-class-names.js +1 -1
  68. package/dist/components/phone-input/CountryPicker.js +11 -8
  69. package/dist/components/popover/Popover.js +2 -2
  70. package/dist/components/question-card/QuestionOptions.js +3 -3
  71. package/dist/components/radio-group/RadioGroup.js +59 -50
  72. package/dist/components/search/Search.js +51 -47
  73. package/dist/components/segmented-control/SegmentedControl.js +7 -6
  74. package/dist/components/selection/ChoiceField.js +1 -1
  75. package/dist/components/selection/ChoiceList.js +2 -1
  76. package/dist/components/selection/SearchableChoice.js +129 -114
  77. package/dist/components/selection/SelectedTags.js +1 -1
  78. package/dist/components/selection/SimpleChoice.js +95 -77
  79. package/dist/components/selection/choice-styles.d.ts +2 -2
  80. package/dist/components/selection/choice-styles.js +1 -1
  81. package/dist/components/sheet/Sheet.js +7 -7
  82. package/dist/components/side-nav/SideNav.d.ts +2 -5
  83. package/dist/components/side-nav/SideNav.js +98 -56
  84. package/dist/components/side-nav/SideNavItemView.d.ts +1 -1
  85. package/dist/components/side-nav/SideNavItemView.js +83 -98
  86. package/dist/components/side-nav/index.d.ts +2 -0
  87. package/dist/components/side-nav/index.js +1 -1
  88. package/dist/components/split-button/SplitButton.js +3 -2
  89. package/dist/components/stepper/StepMarker.js +32 -28
  90. package/dist/components/stepper/Stepper.js +30 -22
  91. package/dist/components/suggested-prompt/SuggestedPrompt.js +1 -1
  92. package/dist/components/switch/Switch.d.ts +1 -1
  93. package/dist/components/switch/Switch.js +38 -28
  94. package/dist/components/table/Table.js +134 -110
  95. package/dist/components/table/TableColumnHeader.js +20 -2
  96. package/dist/components/table/TableColumnResize.js +1 -1
  97. package/dist/components/table/TableColumnsMenu.js +1 -0
  98. package/dist/components/table/TableFilterChip.js +1 -1
  99. package/dist/components/table/TableFilterEditor.js +6 -6
  100. package/dist/components/table/TableFilters.js +1 -0
  101. package/dist/components/table/TableOptionMenu.d.ts +1 -1
  102. package/dist/components/table/TableOptionMenu.js +16 -17
  103. package/dist/components/table/TablePagination.js +1 -0
  104. package/dist/components/table/TableSelectionBar.js +4 -1
  105. package/dist/components/table/index.js +6 -6
  106. package/dist/components/table/table-column-style.js +0 -1
  107. package/dist/components/table/table-types.d.ts +5 -0
  108. package/dist/components/table/useTableData.js +2 -2
  109. package/dist/components/tabs/Tabs.js +61 -53
  110. package/dist/components/tabs/tab-class-names.d.ts +1 -1
  111. package/dist/components/tabs/tab-class-names.js +1 -1
  112. package/dist/components/tabular/TableEditCell.js +3 -1
  113. package/dist/components/tabular/tabular-class-names.d.ts +1 -0
  114. package/dist/components/tabular/tabular-class-names.js +1 -0
  115. package/dist/components/tabular/useCellEdit.js +1 -1
  116. package/dist/components/tabular/useTabularPinning.js +7 -6
  117. package/dist/components/tag/Tag.js +1 -1
  118. package/dist/components/tag-input/TagInput.js +64 -53
  119. package/dist/components/tag-input/useTagMotion.d.ts +6 -0
  120. package/dist/components/tag-input/useTagMotion.js +36 -0
  121. package/dist/components/text-area/TextArea.js +2 -1
  122. package/dist/components/thread/ThreadReply.js +10 -7
  123. package/dist/components/tool-call/ToolCall.js +2 -2
  124. package/dist/components/tree/TreeItemView.js +3 -3
  125. package/dist/index.d.ts +2 -2
  126. package/dist/index.js +37 -37
  127. package/dist/styles.css +1 -1
  128. package/package.json +5 -1
  129. package/dist/_virtual/_rolldown/runtime.js +0 -11
  130. package/dist/components/date-picker/date-values.d.ts +0 -23
  131. package/dist/components/date-picker/date-values.js +0 -52
  132. package/dist/components/table/TableHeaderPin.d.ts +0 -6
  133. package/dist/components/table/TableHeaderPin.js +0 -66
@@ -87,6 +87,7 @@ function c({ page: c, total: l, visibleCount: u, config: d, onChange: f, disable
87
87
  }), /* @__PURE__ */ o(e, {
88
88
  variant: t === c.page ? "secondary" : "tertiary",
89
89
  size: "sm",
90
+ className: "pf:[&.pf-button]:w-[28px] pf:[&.pf-button]:min-w-[28px] pf:[&.pf-button]:px-0",
90
91
  "aria-label": `Page ${String(t)}`,
91
92
  "aria-current": t === c.page ? "page" : void 0,
92
93
  disabled: p,
@@ -76,7 +76,10 @@ function f({ config: f, selection: p, anchorRef: m }) {
76
76
  onClick: p.clear,
77
77
  children: "Clear selection"
78
78
  }),
79
- (!!f.actions?.length || C.groups.length > 0) && /* @__PURE__ */ u(a, { orientation: "vertical" }),
79
+ (!!f.actions?.length || C.groups.length > 0) && /* @__PURE__ */ u(a, {
80
+ orientation: "vertical",
81
+ className: "pf:self-center!"
82
+ }),
80
83
  f.actions?.slice(0, 3).map((t) => /* @__PURE__ */ u(e, {
81
84
  size: "sm",
82
85
  variant: "secondary",
@@ -1,8 +1,8 @@
1
- import { TableNumberCell as e } from "../tabular/TableNumberCell.js";
2
- import { TableCell as t } from "../tabular/TableCell.js";
3
- import { TableEditCell as n } from "../tabular/TableEditCell.js";
4
- import { TableRowActions as r } from "../tabular/TableRowActions.js";
5
- import { Table as i } from "./Table.js";
1
+ import { Table as e } from "./Table.js";
2
+ import { TableNumberCell as t } from "../tabular/TableNumberCell.js";
3
+ import { TableCell as n } from "../tabular/TableCell.js";
4
+ import { TableEditCell as r } from "../tabular/TableEditCell.js";
5
+ import { TableRowActions as i } from "../tabular/TableRowActions.js";
6
6
  import { TableSummary as a } from "./TableSummary.js";
7
7
  import { TablePresetFilters as o } from "./TablePresetFilters.js";
8
- export { i as Table, t as TableCell, n as TableEditCell, e as TableNumberCell, o as TablePresetFilters, r as TableRowActions, a as TableSummary };
8
+ export { e as Table, n as TableCell, r as TableEditCell, t as TableNumberCell, o as TablePresetFilters, i as TableRowActions, a as TableSummary };
@@ -5,7 +5,6 @@ function e(e, t, n = 0, r = 0) {
5
5
  return {
6
6
  position: "sticky",
7
7
  zIndex: 2,
8
- ...e.pin === "start" && !t.slice(i + 1).some((e) => e.pin === "start") ? { borderInlineEnd: "2px solid var(--pf-color-blue-300)" } : e.pin === "end" && !t.slice(0, i).some((e) => e.pin === "end") ? { borderInlineStart: "2px solid var(--pf-color-blue-300)" } : {},
9
8
  ...e.pin === "start" ? { insetInlineStart: s } : { insetInlineEnd: s }
10
9
  };
11
10
  }
@@ -105,6 +105,11 @@ export interface TableCommonProps<TRow> {
105
105
  collapsedGroups?: SelectionProps<readonly string[]>;
106
106
  };
107
107
  container?: 'card' | 'flat';
108
+ /** Hide record-list chrome when embedding a read-only table. Disabling pagination renders every local row. */
109
+ controlsConfig?: {
110
+ toolbar?: boolean;
111
+ pagination?: boolean;
112
+ };
108
113
  sortingConfig?: SelectionProps<TableSort | null>;
109
114
  searchConfig?: SelectionProps<string> & {
110
115
  getText?: (row: TRow) => string;
@@ -62,7 +62,7 @@ function l(l) {
62
62
  getSortedRowModel: r(),
63
63
  manualFiltering: l.dataMode === "remote",
64
64
  manualSorting: l.dataMode === "remote",
65
- manualPagination: l.dataMode === "remote" || _?.mode === "cursor",
65
+ manualPagination: l.dataMode === "remote" || _?.mode === "cursor" || l.controlsConfig?.pagination === !1,
66
66
  autoResetPageIndex: !1,
67
67
  state: {
68
68
  sorting: x ? [{
@@ -80,7 +80,7 @@ function l(l) {
80
80
  return e.matches(n, r, g[n.id], t.original);
81
81
  }) ?? !0),
82
82
  getColumnCanGlobalFilter: () => !0
83
- }), j = l.dataMode === "remote" ? _?.mode === "cursor" ? l.rows.length : _?.totalRows ?? l.rows.length : A.getFilteredRowModel().rows.length, M = Math.max(1, Math.ceil(j / Math.max(1, C.pageSize))), N = l.dataMode === "remote" || _?.mode === "cursor" ? C.page : Math.min(Math.max(1, C.page), M), P = l.dataMode === "remote" || _?.mode === "cursor" ? A.getSortedRowModel().rows : A.getSortedRowModel().rows.slice((N - 1) * C.pageSize, N * C.pageSize);
83
+ }), j = l.dataMode === "remote" ? _?.mode === "cursor" ? l.rows.length : _?.totalRows ?? l.rows.length : A.getFilteredRowModel().rows.length, M = Math.max(1, Math.ceil(j / Math.max(1, C.pageSize))), N = l.dataMode === "remote" || _?.mode === "cursor" || l.controlsConfig?.pagination === !1 ? C.page : Math.min(Math.max(1, C.page), M), P = l.dataMode === "remote" || _?.mode === "cursor" || l.controlsConfig?.pagination === !1 ? A.getSortedRowModel().rows : A.getSortedRowModel().rows.slice((N - 1) * C.pageSize, N * C.pageSize);
84
84
  return {
85
85
  filterOperators: g,
86
86
  changeOperator: (e, t) => {
@@ -4,57 +4,65 @@ import { ControlHint as t } from "../controls/ControlHint.js";
4
4
  import { MenuContent as n } from "../dropdown/MenuContent.js";
5
5
  import { useTabOverflow as r } from "./useTabOverflow.js";
6
6
  import { ChevronDownIcon as i } from "../icons/ChevronDownIcon.js";
7
- import { tabBaseClassNames as a, tabHorizontalClassNames as o, tabVerticalClassNames as s } from "./tab-class-names.js";
8
- import { TabLabel as c } from "./TabLabel.js";
9
- import l from "clsx";
10
- import { forwardRef as u, useId as d, useRef as f, useState as p } from "react";
11
- import { jsx as m, jsxs as h } from "react/jsx-runtime";
12
- import { Menu as g } from "@base-ui/react/menu";
13
- import { Tabs as _ } from "@base-ui/react/tabs";
7
+ import { useSelectionIndicator as a } from "../controls/useSelectionIndicator.js";
8
+ import { tabBaseClassNames as o, tabHorizontalClassNames as s, tabVerticalClassNames as c } from "./tab-class-names.js";
9
+ import { TabLabel as l } from "./TabLabel.js";
10
+ import u from "clsx";
11
+ import { forwardRef as d, useId as f, useRef as p, useState as m } from "react";
12
+ import { jsx as h, jsxs as g } from "react/jsx-runtime";
13
+ import { Menu as _ } from "@base-ui/react/menu";
14
+ import { Tabs as v } from "@base-ui/react/tabs";
14
15
  //#region src/components/tabs/Tabs.tsx
15
- var v = u(function({ label: u, items: v, value: y, defaultValue: b, onValueChange: x, orientation: S = "horizontal", activationMode: C = "automatic", divider: w = !0, panelConfig: T, overflowConfig: E, className: D, ...O }, k) {
16
- let [A, j] = p(b), M = y === void 0 ? A === null ? null : v.some((e) => e.value === A && !e.disableConfig?.isDisabled) ? A ?? null : v.find((e) => !e.disableConfig?.isDisabled)?.value ?? null : y, N = E?.label ?? "More", { containerRef: P, measurementRef: F, visible: I } = r(v, M, S === "horizontal", N), L = v.filter((e) => I === null || I.includes(e.value) || e.value === M), R = v.filter((e) => !L.includes(e)), z = f(null), B = d(), V = (e) => `${B}-tab-${encodeURIComponent(e)}`, H = (e) => {
17
- y === void 0 && j(e), x?.(e);
16
+ var y = d(function({ label: d, items: y, value: b, defaultValue: x, onValueChange: S, orientation: C = "horizontal", activationMode: w = "automatic", divider: T = !0, panelConfig: E, overflowConfig: D, className: O, ...k }, A) {
17
+ let [j, M] = m(x), N = b === void 0 ? j === null ? null : y.some((e) => e.value === j && !e.disableConfig?.isDisabled) ? j ?? null : y.find((e) => !e.disableConfig?.isDisabled)?.value ?? null : b, P = D?.label ?? "More", { containerRef: F, measurementRef: I, visible: L } = r(y, N, C === "horizontal", P), R = y.filter((e) => L === null || L.includes(e.value) || e.value === N), z = y.filter((e) => !R.includes(e)), B = p(null), V = f(), H = a("data-active", "[role=\"tab\"]"), U = (e) => `${V}-tab-${encodeURIComponent(e)}`, W = (e) => {
18
+ b === void 0 && M(e), S?.(e);
18
19
  };
19
- return /* @__PURE__ */ h(_.Root, {
20
- ...O,
21
- ref: k,
22
- value: M,
20
+ return /* @__PURE__ */ g(v.Root, {
21
+ ...k,
22
+ ref: A,
23
+ value: N,
23
24
  onValueChange: (e) => {
24
- (typeof e == "string" || e === null) && H(e);
25
+ (typeof e == "string" || e === null) && W(e);
25
26
  },
26
- orientation: S,
27
- className: l("pf:min-w-0 pf:max-w-full pf:w-full", S === "vertical" && "pf:flex pf:items-start pf:gap-xl", D),
28
- children: [/* @__PURE__ */ h("div", {
29
- ref: P,
30
- className: l("pf:relative pf:min-w-0 pf:box-border", S === "horizontal" ? "pf:flex pf:items-end pf:gap-lg pf:w-full" : "pf:w-[180px] pf:max-w-[45%] pf:shrink-0", w && S === "horizontal" && "pf:border-0 pf:border-b-[0.5px] pf:border-solid pf:border-soft-pearl-300"),
27
+ orientation: C,
28
+ className: u("pf:min-w-0 pf:max-w-full pf:w-full", C === "vertical" && "pf:flex pf:items-start pf:gap-xl", O),
29
+ children: [/* @__PURE__ */ g("div", {
30
+ ref: F,
31
+ className: u("pf:relative pf:min-w-0 pf:box-border", C === "horizontal" ? "pf:flex pf:items-end pf:gap-lg pf:w-full" : "pf:w-[180px] pf:max-w-[45%] pf:shrink-0", T && C === "horizontal" && "pf:border-0 pf:border-b-[0.5px] pf:border-solid pf:border-soft-pearl-300"),
31
32
  children: [
32
- /* @__PURE__ */ h(_.List, {
33
- "aria-label": u,
34
- activateOnFocus: C === "automatic",
35
- className: l("pf:relative pf:flex pf:min-w-0", S === "horizontal" ? "pf:gap-lg pf:overflow-x-auto pf:[scrollbar-width:none]" : "pf:flex-col pf:gap-xxs pf:w-full"),
36
- children: [L.map((e) => /* @__PURE__ */ m(t, {
33
+ /* @__PURE__ */ g(v.List, {
34
+ ref: H.rootRef,
35
+ "aria-label": d,
36
+ activateOnFocus: w === "automatic",
37
+ className: u("pf:group/tabs pf:relative pf:flex pf:min-w-0", C === "horizontal" ? "pf:gap-lg pf:overflow-x-auto pf:[scrollbar-width:none]" : "pf:flex-col pf:gap-xxs pf:w-full"),
38
+ children: [R.map((e) => /* @__PURE__ */ h(t, {
37
39
  label: e.disableConfig?.isDisabled ? e.disableConfig.reason : void 0,
38
- children: /* @__PURE__ */ m(_.Tab, {
40
+ children: /* @__PURE__ */ h(v.Tab, {
39
41
  "aria-label": e.count === void 0 ? e.label : `${e.label} ${String(e.count)}`,
40
- id: V(e.value),
42
+ id: U(e.value),
41
43
  "data-tab-value": e.value,
42
44
  title: e.label,
43
45
  value: e.value,
44
46
  disabled: e.disableConfig?.isDisabled,
45
- className: l(a, S === "horizontal" ? o : s),
46
- children: /* @__PURE__ */ m(c, { item: e })
47
+ className: u(o, C === "horizontal" ? s : c),
48
+ children: /* @__PURE__ */ h(l, { item: e })
47
49
  })
48
- }, e.value)), S === "horizontal" && /* @__PURE__ */ m(_.Indicator, { className: "pf:absolute pf:bottom-0 pf:left-0 pf:h-[2px] pf:w-(--active-tab-width) pf:translate-x-(--active-tab-left) pf:rounded-t-[1px] pf:bg-blue-700 pf:transition-[translate,width] pf:duration-(--pf-duration-base) pf:ease-(--pf-easing-out) pf:motion-reduce:transition-none" })]
50
+ }, e.value)), /* @__PURE__ */ h("span", {
51
+ ref: H.indicatorRef,
52
+ hidden: !0,
53
+ "aria-hidden": "true",
54
+ className: "pf:absolute pf:top-0 pf:left-0 pf:origin-top-left pf:pointer-events-none",
55
+ children: /* @__PURE__ */ h("span", { className: u("pf:absolute pf:inset-x-0", C === "vertical" ? "pf:inset-y-0 pf:rounded-sm pf:bg-soft-pearl-200" : "pf:bottom-0 pf:h-[2px] pf:rounded-t-[1px] pf:bg-blue-700") })
56
+ })]
49
57
  }),
50
- R.length > 0 && /* @__PURE__ */ h(g.Root, { children: [/* @__PURE__ */ h(g.Trigger, {
51
- className: l(a, "pf:max-w-[min(240px,100%)] pf:h-[28px] pf:px-xxs pf:py-0 pf:text-label-12", "pf:shrink-0"),
52
- "aria-label": N,
53
- children: [N, /* @__PURE__ */ m(i, { size: 12 })]
54
- }), /* @__PURE__ */ m(n, {
58
+ z.length > 0 && /* @__PURE__ */ g(_.Root, { children: [/* @__PURE__ */ g(_.Trigger, {
59
+ className: u(o, "pf:max-w-[min(240px,100%)] pf:h-[28px] pf:px-xxs pf:py-0 pf:text-label-12", "pf:shrink-0"),
60
+ "aria-label": P,
61
+ children: [P, /* @__PURE__ */ h(i, { size: 12 })]
62
+ }), /* @__PURE__ */ h(n, {
55
63
  menu: { groups: [{
56
64
  id: "overflow",
57
- items: R.map((e) => ({
65
+ items: z.map((e) => ({
58
66
  id: e.value,
59
67
  type: "action",
60
68
  label: e.label,
@@ -62,40 +70,40 @@ var v = u(function({ label: u, items: v, value: y, defaultValue: b, onValueChang
62
70
  disabled: e.disableConfig?.isDisabled,
63
71
  disabledReason: e.disableConfig?.reason,
64
72
  onClick: () => {
65
- z.current = e.value, H(e.value);
73
+ B.current = e.value, W(e.value);
66
74
  }
67
75
  }))
68
76
  }] },
69
77
  finalFocus: () => {
70
- let e = z.current;
71
- return z.current = null, e ? P.current?.ownerDocument.getElementById(V(e)) ?? !0 : !0;
78
+ let e = B.current;
79
+ return B.current = null, e ? F.current?.ownerDocument.getElementById(U(e)) ?? !0 : !0;
72
80
  }
73
81
  })] }),
74
- S === "horizontal" && /* @__PURE__ */ h("div", {
75
- ref: F,
82
+ C === "horizontal" && /* @__PURE__ */ g("div", {
83
+ ref: I,
76
84
  "aria-hidden": "true",
77
85
  className: "pf:absolute pf:inset-x-0 pf:top-0 pf:invisible pf:pointer-events-none pf:flex pf:gap-lg pf:h-0 pf:overflow-hidden",
78
- children: [v.map((e) => /* @__PURE__ */ m("span", {
86
+ children: [y.map((e) => /* @__PURE__ */ h("span", {
79
87
  "data-measure-tab": !0,
80
- className: l(a, "pf:max-w-[min(240px,100%)] pf:h-[28px] pf:px-xxs pf:py-0 pf:text-label-12"),
81
- children: /* @__PURE__ */ m(c, { item: e })
82
- }, e.value)), /* @__PURE__ */ h("span", {
88
+ className: u(o, "pf:max-w-[min(240px,100%)] pf:h-[28px] pf:px-xxs pf:py-0 pf:text-label-12"),
89
+ children: /* @__PURE__ */ h(l, { item: e })
90
+ }, e.value)), /* @__PURE__ */ g("span", {
83
91
  "data-measure-more": !0,
84
- className: l(a, "pf:max-w-[min(240px,100%)] pf:h-[28px] pf:px-xxs pf:py-0 pf:text-label-12"),
85
- children: [N, /* @__PURE__ */ m(i, { size: 12 })]
92
+ className: u(o, "pf:max-w-[min(240px,100%)] pf:h-[28px] pf:px-xxs pf:py-0 pf:text-label-12"),
93
+ children: [P, /* @__PURE__ */ h(i, { size: 12 })]
86
94
  })]
87
95
  })
88
96
  ]
89
- }), /* @__PURE__ */ m("div", {
90
- className: l("pf:min-w-0 pf:flex-1", S === "horizontal" && "pf:pt-xl"),
91
- children: v.map((t) => /* @__PURE__ */ m(_.Panel, {
97
+ }), /* @__PURE__ */ h("div", {
98
+ className: u("pf:min-w-0 pf:flex-1", C === "horizontal" && "pf:pt-xl"),
99
+ children: y.map((t) => /* @__PURE__ */ h(v.Panel, {
92
100
  value: t.value,
93
- keepMounted: T?.keepMounted ?? !1,
94
- className: l("pf:min-w-0 pf:font-body pf:text-copy-13 pf:text-soft-pearl-1000 pf:wrap-anywhere", e, T?.className),
101
+ keepMounted: E?.keepMounted ?? !1,
102
+ className: u("pf:min-w-0 pf:font-body pf:text-copy-13 pf:text-soft-pearl-1000 pf:wrap-anywhere", e, E?.className),
95
103
  children: t.content
96
104
  }, t.value))
97
105
  })]
98
106
  });
99
107
  });
100
108
  //#endregion
101
- export { v as Tabs };
109
+ export { y as Tabs };
@@ -1,3 +1,3 @@
1
1
  export declare const tabBaseClassNames: string;
2
2
  export declare const tabHorizontalClassNames = "pf:max-w-[min(240px,100%)] pf:h-[28px] pf:px-xxs pf:py-0 pf:text-label-12";
3
- export declare const tabVerticalClassNames = "pf:w-full pf:min-h-[28px] pf:px-md pf:py-sm pf:text-label-13 pf:rounded-sm pf:gap-md pf:hover:bg-soft-pearl-100 pf:data-active:bg-soft-pearl-200";
3
+ export declare const tabVerticalClassNames = "pf:w-full pf:justify-between pf:min-h-[28px] pf:px-md pf:py-sm pf:text-label-13 pf:rounded-sm pf:gap-md pf:hover:not-data-active:bg-soft-pearl-100 pf:group-not-data-indicator/tabs:data-active:bg-soft-pearl-200";
@@ -1,6 +1,6 @@
1
1
  import { controlFocusClassNames as e } from "../controls/control-class-names.js";
2
2
  import t from "clsx";
3
3
  //#region src/components/tabs/tab-class-names.ts
4
- var n = t("pf:box-border pf:flex pf:items-center pf:gap-xs pf:shrink-0 pf:font-body pf:font-medium pf:text-soft-pearl-800 pf:border-0 pf:bg-transparent pf:cursor-pointer pf:whitespace-nowrap pf:hover:text-soft-pearl-1000 pf:data-active:text-soft-pearl-1000 pf:data-disabled:text-soft-pearl-600 pf:data-disabled:cursor-not-allowed", e), r = "pf:max-w-[min(240px,100%)] pf:h-[28px] pf:px-xxs pf:py-0 pf:text-label-12", i = "pf:w-full pf:min-h-[28px] pf:px-md pf:py-sm pf:text-label-13 pf:rounded-sm pf:gap-md pf:hover:bg-soft-pearl-100 pf:data-active:bg-soft-pearl-200";
4
+ var n = t("pf:relative pf:z-[1] pf:box-border pf:flex pf:items-center pf:gap-xs pf:shrink-0 pf:font-body pf:font-medium pf:text-soft-pearl-800 pf:border-0 pf:bg-transparent pf:cursor-pointer pf:whitespace-nowrap pf:hover:text-soft-pearl-1000 pf:data-active:text-soft-pearl-1000 pf:data-disabled:text-soft-pearl-600 pf:data-disabled:cursor-not-allowed", e), r = "pf:max-w-[min(240px,100%)] pf:h-[28px] pf:px-xxs pf:py-0 pf:text-label-12", i = "pf:w-full pf:justify-between pf:min-h-[28px] pf:px-md pf:py-sm pf:text-label-13 pf:rounded-sm pf:gap-md pf:hover:not-data-active:bg-soft-pearl-100 pf:group-not-data-indicator/tabs:data-active:bg-soft-pearl-200";
5
5
  //#endregion
6
6
  export { n as tabBaseClassNames, r as tabHorizontalClassNames, i as tabVerticalClassNames };
@@ -10,7 +10,9 @@ import { jsx as l, jsxs as u } from "react/jsx-runtime";
10
10
  //#region src/components/tabular/TableEditCell.tsx
11
11
  function d(d) {
12
12
  let f = o((e) => {
13
- e?.focus();
13
+ e && (e.focus(), e.type === "number" && e.addEventListener("wheel", (e) => {
14
+ e.preventDefault();
15
+ }, { passive: !1 }));
14
16
  }, []), p = c(null), m = () => {
15
17
  requestAnimationFrame(() => {
16
18
  let e = p.current;
@@ -2,6 +2,7 @@ export declare const tabularClassNames: {
2
2
  shell: string;
3
3
  card: string;
4
4
  scroll: string;
5
+ pinnedEdge: string;
5
6
  table: string;
6
7
  header: string;
7
8
  cell: string;
@@ -3,6 +3,7 @@ var e = {
3
3
  shell: "pf:font-body pf:text-label-13 pf:text-soft-pearl-1000 pf:min-w-0 pf:max-w-full pf:bg-background",
4
4
  card: "pf:border-[0.5px] pf:border-solid pf:border-soft-pearl-300 pf:rounded-[12px] pf:overflow-hidden",
5
5
  scroll: "pf:relative pf:max-w-full pf:overflow-auto pf:overscroll-contain",
6
+ pinnedEdge: "pf:after:pointer-events-none pf:after:absolute pf:after:inset-y-0 pf:after:-end-px pf:after:w-[2px] pf:after:bg-inherit pf:after:border-0 pf:after:border-e-[0.5px] pf:after:border-solid pf:after:border-soft-pearl-300 pf:after:content-['']",
6
7
  table: "pf:border-separate pf:border-spacing-0 pf:w-full pf:table-fixed",
7
8
  header: "pf:box-border pf:h-[36px] pf:px-lg pf:py-sm pf:font-medium pf:text-label-12 pf:text-soft-pearl-800 pf:border-0 pf:border-b-[0.5px] pf:border-solid pf:border-soft-pearl-300",
8
9
  cell: "pf:box-border pf:px-lg pf:py-[7.5px] pf:border-0 pf:border-b-[0.5px] pf:border-solid pf:border-soft-pearl-300 pf:align-middle pf:text-label-13 pf:font-normal",
@@ -52,7 +52,7 @@ function n(n, r) {
52
52
  p.current = !0;
53
53
  },
54
54
  onBlurCapture: () => {
55
- p.current = !1, queueMicrotask(() => {
55
+ p.current = !1, requestAnimationFrame(() => {
56
56
  p.current || x();
57
57
  });
58
58
  }
@@ -5,12 +5,13 @@ function r(r) {
5
5
  return e(() => {
6
6
  let e = i.current;
7
7
  if (!e || typeof ResizeObserver > "u") return;
8
- let t = new ResizeObserver((e) => {
9
- let t = e[0];
10
- o(t.contentRect.width);
11
- });
12
- return t.observe(e), () => {
13
- t.disconnect();
8
+ let t = e.querySelector("table"), n = () => {
9
+ o(e.clientWidth), e.style.setProperty("--pf-table-height", `${String(Math.max(0, (t?.offsetHeight ?? 0) - (t?.tFoot?.offsetHeight ?? 0)))}px`);
10
+ let n = Math.abs(e.scrollLeft);
11
+ e.parentElement?.toggleAttribute("data-scroll-start", n > 1), e.parentElement?.toggleAttribute("data-scroll-end", n + e.clientWidth < e.scrollWidth - 1);
12
+ }, r = new ResizeObserver(n);
13
+ return r.observe(e), t && r.observe(t), e.addEventListener("scroll", n, { passive: !0 }), n(), () => {
14
+ r.disconnect(), e.removeEventListener("scroll", n);
14
15
  };
15
16
  }, []), {
16
17
  ref: i,
@@ -32,7 +32,7 @@ var c = a(function({ label: a, tone: c = "neutral", leadingIcon: l, removeConfig
32
32
  onClick: (e) => {
33
33
  e.stopPropagation(), u.onRemove();
34
34
  },
35
- className: "pf:flex pf:shrink-0 pf:items-center pf:justify-center pf:size-[12px] pf:border-0 pf:p-0 pf:rounded-xs pf:bg-transparent pf:text-soft-pearl-700 pf:hover:text-soft-pearl-1000 pf:focus-visible:outline-2 pf:focus-visible:outline-blue-700 pf:disabled:opacity-50 pf:disabled:cursor-not-allowed",
35
+ className: "pf:flex pf:shrink-0 pf:items-center pf:justify-center pf:size-[12px] pf:cursor-pointer pf:border-0 pf:p-0 pf:rounded-xs pf:bg-transparent pf:text-soft-pearl-700 pf:hover:text-soft-pearl-1000 pf:focus-visible:outline-2 pf:focus-visible:outline-blue-700 pf:disabled:opacity-50 pf:disabled:cursor-not-allowed",
36
36
  children: /* @__PURE__ */ o(t, { size: 12 })
37
37
  })
38
38
  ]
@@ -3,81 +3,92 @@ import { XCloseIcon as e } from "../icons/XCloseIcon.js";
3
3
  import { FieldFrame as t, fieldInputClass as n, fieldShellClass as r } from "../fields/FieldFrame.js";
4
4
  import { neutralTagClass as i, tagShellClass as a } from "../tag/tag-styles.js";
5
5
  import { useTagInput as o } from "./useTagInput.js";
6
- import s from "clsx";
7
- import { forwardRef as c } from "react";
8
- import { jsx as l, jsxs as u } from "react/jsx-runtime";
9
- import { useDirection as d } from "@base-ui/react/direction-provider";
10
- import * as f from "@diceui/tags-input";
6
+ import { useTagMotion as s } from "./useTagMotion.js";
7
+ import c from "clsx";
8
+ import { forwardRef as l } from "react";
9
+ import { jsx as u, jsxs as d } from "react/jsx-runtime";
10
+ import { useDirection as f } from "@base-ui/react/direction-provider";
11
+ import * as p from "@diceui/tags-input";
11
12
  //#region src/components/tag-input/TagInput.tsx
12
- var p = c(function(c, p) {
13
- let m = o(c), h = d(), g = `${m.id}-support`, _ = m.error || c.description || c.disableConfig?.isDisabled && c.disableConfig.reason, v = c.disableConfig?.isDisabled;
14
- return /* @__PURE__ */ u(t, {
15
- field: c,
16
- id: m.id,
17
- supportId: g,
18
- error: m.error,
19
- className: c.className,
20
- children: [/* @__PURE__ */ u(f.Root, {
21
- dir: h,
22
- value: [...m.value],
23
- onValueChange: m.change,
24
- disabled: v,
25
- readOnly: c.readOnly,
26
- editable: c.entryConfig?.editable,
27
- addOnPaste: c.entryConfig?.addOnPaste,
28
- addOnTab: c.entryConfig?.addOnTab,
29
- delimiter: c.entryConfig?.delimiter ?? ",",
30
- max: c.entryConfig?.maxTags,
31
- onValidate: (e) => !c.entryConfig?.validate?.(e),
13
+ var m = l(function(l, m) {
14
+ let h = o(l), g = s(h.value), _ = f(), v = `${h.id}-support`, y = h.error || l.description || l.disableConfig?.isDisabled && l.disableConfig.reason, b = l.disableConfig?.isDisabled;
15
+ return /* @__PURE__ */ d(t, {
16
+ field: l,
17
+ id: h.id,
18
+ supportId: v,
19
+ error: h.error,
20
+ className: l.className,
21
+ children: [/* @__PURE__ */ d(p.Root, {
22
+ ...g,
23
+ dir: _,
24
+ value: [...h.value],
25
+ onValueChange: h.change,
26
+ disabled: b,
27
+ readOnly: l.readOnly,
28
+ editable: l.entryConfig?.editable,
29
+ addOnPaste: l.entryConfig?.addOnPaste,
30
+ addOnTab: l.entryConfig?.addOnTab,
31
+ delimiter: l.entryConfig?.delimiter ?? ",",
32
+ max: l.entryConfig?.maxTags,
33
+ onValidate: (e) => !l.entryConfig?.validate?.(e),
32
34
  onInvalid: (e) => {
33
- m.input.current && !m.input.current.value && (m.input.current.value = e), m.setInvalid(m.value.includes(e) ? "This tag has already been added." : c.entryConfig?.validate?.(e) ?? "This tag could not be added. Check the tag limit.");
35
+ h.input.current && !h.input.current.value && (h.input.current.value = e), h.setInvalid(h.value.includes(e) ? "This tag has already been added." : l.entryConfig?.validate?.(e) ?? "This tag could not be added. Check the tag limit.");
34
36
  },
35
- "data-disabled": v || void 0,
36
- "data-invalid": !!m.error || void 0,
37
- className: s(r, "pf:flex-wrap pf:gap-xs pf:min-h-[32px] pf:px-md pf:py-xs"),
38
- children: [m.value.map((t) => /* @__PURE__ */ u(f.Item, {
37
+ "data-disabled": b || void 0,
38
+ "data-invalid": !!h.error || void 0,
39
+ className: c(r, "pf:flex-wrap pf:gap-xs pf:min-h-[32px] pf:px-md pf:py-xs"),
40
+ children: [h.value.map((t) => /* @__PURE__ */ d(p.Item, {
39
41
  value: t,
40
- className: s(a, i, "pf:h-auto pf:min-h-[20px] pf:max-w-full pf:outline-none pf:data-highlighted:bg-blue-100 pf:data-highlighted:border-blue-700 pf:data-editing:bg-background pf:[&_input]:min-w-0 pf:[&_input]:max-w-full"),
41
- children: [/* @__PURE__ */ l(f.ItemText, {
42
+ "data-tag-value": t,
43
+ className: c(a, i, "pf:h-auto pf:min-h-[20px] pf:max-w-full pf:outline-none pf:data-highlighted:bg-blue-100 pf:data-highlighted:border-blue-700 pf:data-editing:bg-background pf:[&_input]:min-w-0 pf:[&_input]:max-w-full"),
44
+ children: [/* @__PURE__ */ u(p.ItemText, {
42
45
  className: "pf:min-w-0 pf:wrap-anywhere",
43
46
  children: t
44
- }), !c.readOnly && /* @__PURE__ */ l(f.ItemDelete, {
47
+ }), !l.readOnly && /* @__PURE__ */ u(p.ItemDelete, {
45
48
  "aria-label": `Remove ${t}`,
46
49
  "aria-labelledby": void 0,
47
- className: "pf:flex pf:size-[16px] pf:shrink-0 pf:items-center pf:justify-center pf:border-0 pf:p-0 pf:bg-transparent pf:text-soft-pearl-800 pf:rounded-xs pf:focus-visible:outline-2 pf:focus-visible:outline-blue-700",
48
- children: /* @__PURE__ */ l(e, { size: 12 })
50
+ onClick: (e) => {
51
+ e.stopPropagation();
52
+ },
53
+ className: "pf:cursor-pointer pf:disabled:cursor-not-allowed pf:flex pf:size-[16px] pf:shrink-0 pf:items-center pf:justify-center pf:border-0 pf:p-0 pf:bg-transparent pf:text-soft-pearl-800 pf:rounded-xs pf:focus-visible:outline-2 pf:focus-visible:outline-blue-700",
54
+ children: /* @__PURE__ */ u(e, { size: 12 })
49
55
  })]
50
- }, t)), /* @__PURE__ */ l(f.Input, {
51
- id: m.id,
52
- form: c.form,
56
+ }, t)), /* @__PURE__ */ u(p.Input, {
57
+ id: h.id,
58
+ form: l.form,
53
59
  ref: (e) => {
54
- m.input.current = e, typeof p == "function" ? p(e) : p && (p.current = e);
60
+ h.input.current = e, typeof m == "function" ? m(e) : m && (m.current = e);
55
61
  },
56
- "aria-label": c["aria-label"],
62
+ "aria-label": l["aria-label"],
57
63
  "aria-labelledby": void 0,
58
- "aria-describedby": _ ? g : void 0,
59
- "aria-invalid": !!m.error || void 0,
60
- "aria-required": c.required,
61
- placeholder: c.placeholder ?? "Add a tag…",
62
- className: s(n, "pf:flex-1 pf:basis-[100px] pf:h-[24px] pf:border-0 pf:p-0 pf:text-label-13"),
64
+ "aria-describedby": y ? v : void 0,
65
+ "aria-invalid": !!h.error || void 0,
66
+ "aria-required": l.required,
67
+ placeholder: l.placeholder ?? "Add a tag…",
68
+ className: c(n, "pf:flex-1 pf:basis-[100px] pf:h-[24px] pf:border-0 pf:p-0 pf:text-label-13"),
63
69
  onKeyDown: (e) => {
64
- e.nativeEvent.isComposing && e.key === "Enter" && e.preventDefault();
70
+ if (e.nativeEvent.isComposing && e.key === "Enter") e.preventDefault();
71
+ else if (e.key === "Enter" && !l.entryConfig?.editable && !l.readOnly && !b) {
72
+ let t = (e.currentTarget.parentElement?.querySelector("[data-highlighted]"))?.querySelector("button");
73
+ t && (e.preventDefault(), t.click());
74
+ }
65
75
  },
66
76
  onChange: (e) => {
67
- e.nativeEvent instanceof InputEvent && e.nativeEvent.isComposing && e.preventDefault(), m.setInvalid(void 0);
77
+ e.nativeEvent instanceof InputEvent && e.nativeEvent.isComposing && e.preventDefault(), h.setInvalid(void 0);
68
78
  },
69
79
  onBlur: (e) => {
70
- m.setTouched(!0), c.onBlur?.(e);
80
+ h.setTouched(!0), l.onBlur?.(e);
71
81
  }
72
82
  })]
73
- }), c.name && m.value.map((e) => /* @__PURE__ */ l("input", {
83
+ }), l.name && h.value.map((e) => /* @__PURE__ */ u("input", {
74
84
  type: "hidden",
75
- name: c.name,
76
- form: c.form,
85
+ name: l.name,
86
+ form: l.form,
77
87
  value: e,
78
- disabled: v
88
+ "data-tag-value": e,
89
+ disabled: b
79
90
  }, e))]
80
91
  });
81
92
  });
82
93
  //#endregion
83
- export { p as TagInput };
94
+ export { m as TagInput };
@@ -0,0 +1,6 @@
1
+ /** Pointer removals let remaining tags settle; keyboard editing stays immediate. */
2
+ export declare const useTagMotion: (values: readonly string[]) => {
3
+ ref: import("react").RefObject<HTMLDivElement>;
4
+ onPointerDownCapture: () => void;
5
+ onKeyDownCapture: () => void;
6
+ };
@@ -0,0 +1,36 @@
1
+ import { useLayoutEffect as e, useRef as t } from "react";
2
+ //#region src/components/tag-input/useTagMotion.ts
3
+ var n = (n) => {
4
+ let r = t(null), i = t(/* @__PURE__ */ new Map()), a = t([]), o = () => {
5
+ a.current.forEach((e) => {
6
+ e.cancel();
7
+ }), a.current = [], i.current.clear();
8
+ };
9
+ return e(() => {
10
+ r.current?.querySelectorAll("[data-tag-value]").forEach((e) => {
11
+ let t = i.current.get(e.dataset.tagValue ?? "");
12
+ if (!t || typeof e.animate != "function") return;
13
+ let n = e.getBoundingClientRect();
14
+ (t.x !== n.x || t.y !== n.y) && a.current.push(e.animate([{ transform: `translate(${String(t.x - n.x)}px, ${String(t.y - n.y)}px)` }, { transform: "none" }], {
15
+ duration: 160,
16
+ easing: "cubic-bezier(0.23, 1, 0.32, 1)"
17
+ }));
18
+ }), i.current.clear();
19
+ }, [n]), e(() => () => {
20
+ a.current.forEach((e) => {
21
+ e.cancel();
22
+ });
23
+ }, []), {
24
+ ref: r,
25
+ onPointerDownCapture: () => {
26
+ if (typeof matchMedia != "function" || matchMedia("(prefers-reduced-motion: reduce)").matches) return;
27
+ let e = /* @__PURE__ */ new Map();
28
+ r.current?.querySelectorAll("[data-tag-value]").forEach((t) => {
29
+ e.set(t.dataset.tagValue ?? "", t.getBoundingClientRect());
30
+ }), o(), i.current = e;
31
+ },
32
+ onKeyDownCapture: o
33
+ };
34
+ };
35
+ //#endregion
36
+ export { n as useTagMotion };
@@ -12,7 +12,8 @@ var u = new Intl.Segmenter(void 0, { granularity: "grapheme" }), d = o(function(
12
12
  let e = f.controlRef.current;
13
13
  if (!e || j !== "auto") return;
14
14
  let t = () => {
15
- e.style.height = "auto", e.style.height = `${String(Math.max(M, Math.min(e.scrollHeight + 2, N)))}px`;
15
+ let t = e.offsetHeight - e.clientHeight;
16
+ e.style.height = "0px", e.style.height = `${String(Math.max(M, Math.min(e.scrollHeight + t, N)))}px`;
16
17
  };
17
18
  t();
18
19
  let n = e.getBoundingClientRect().width, r = typeof ResizeObserver > "u" ? void 0 : new ResizeObserver(() => {
@@ -27,12 +27,15 @@ function u({ label: u, identity: d, value: f, onValueChange: p, onSubmit: m, kin
27
27
  children: S
28
28
  }),
29
29
  /* @__PURE__ */ l("div", {
30
- className: "pf:flex pf:flex-wrap pf:items-center pf:gap-md pf:ps-xl pf:pe-md pf:py-md",
30
+ className: "pf:flex pf:flex-wrap pf:items-start pf:gap-md pf:ps-xl pf:pe-md pf:py-md",
31
31
  children: [
32
- /* @__PURE__ */ c(r, {
33
- identity: d,
34
- size: 20,
35
- decorative: !0
32
+ /* @__PURE__ */ c("span", {
33
+ className: "pf:pt-xs pf:shrink-0",
34
+ children: /* @__PURE__ */ c(r, {
35
+ identity: d,
36
+ size: 20,
37
+ decorative: !0
38
+ })
36
39
  }),
37
40
  /* @__PURE__ */ c(o, {
38
41
  label: u,
@@ -40,7 +43,7 @@ function u({ label: u, identity: d, value: f, onValueChange: p, onSubmit: m, kin
40
43
  variant: "plain",
41
44
  resizeConfig: {
42
45
  mode: "auto",
43
- minHeight: 24,
46
+ minHeight: 28,
44
47
  maxHeight: 160
45
48
  },
46
49
  placeholder: g,
@@ -51,7 +54,7 @@ function u({ label: u, identity: d, value: f, onValueChange: p, onSubmit: m, kin
51
54
  onKeyDown: (e) => {
52
55
  e.key === "Enter" && !e.shiftKey && !e.nativeEvent.isComposing && (e.preventDefault(), T || m(f));
53
56
  },
54
- className: "pf:flex-1 pf:min-w-[80px]"
57
+ className: "pf:flex-1 pf:min-w-[80px] pf:[&_textarea]:py-xs"
55
58
  }),
56
59
  /* @__PURE__ */ l("div", {
57
60
  className: "pf:flex pf:items-center pf:gap-xs",
@@ -10,10 +10,10 @@ import { Fragment as o, jsx as s, jsxs as c } from "react/jsx-runtime";
10
10
  //#region src/components/tool-call/ToolCall.tsx
11
11
  var l = ({ name: l, status: u, label: d, meta: f, description: p, error: m, input: h, output: g, disclosureConfig: _, className: v }) => {
12
12
  let y = t(!1, _), b = d ?? i.getLabel(l, u), x = /* @__PURE__ */ c("span", {
13
- className: "pf:flex pf:min-w-0 pf:items-center pf:gap-sm",
13
+ className: "pf:flex pf:min-w-0 pf:items-start pf:gap-sm",
14
14
  children: [/* @__PURE__ */ s("span", {
15
15
  "aria-hidden": "true",
16
- className: "pf:shrink-0",
16
+ className: "pf:flex pf:h-[16px] pf:items-center pf:shrink-0",
17
17
  children: /* @__PURE__ */ s(r, {
18
18
  size: 12,
19
19
  tone: "inherit"