@parallelworks/ui 0.77.0 → 0.78.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 (262) hide show
  1. package/README.md +30 -5
  2. package/dist/access/AccessDrawer.d.ts +28 -7
  3. package/dist/access/AccessDrawer.js +216 -35
  4. package/dist/access/AccessList.d.ts +19 -1
  5. package/dist/access/AccessList.js +220 -9
  6. package/dist/access/GrantView.d.ts +3 -1
  7. package/dist/access/GrantView.js +17 -4
  8. package/dist/access/PrincipalPicker.js +5 -5
  9. package/dist/access/focus.js +1 -1
  10. package/dist/access/index.d.ts +2 -2
  11. package/dist/access/index.js +2 -2
  12. package/dist/access/strings.d.ts +18 -0
  13. package/dist/access/strings.js +20 -2
  14. package/dist/access/types.d.ts +26 -0
  15. package/dist/ai/components/AllocationSelector.js +1 -1
  16. package/dist/ai/components/AttachmentManager.js +5 -5
  17. package/dist/ai/components/AttachmentUpload.js +2 -2
  18. package/dist/ai/components/BranchNavigator.js +1 -1
  19. package/dist/ai/components/ChatActivity.js +1 -1
  20. package/dist/ai/components/ChatEmptyState.js +3 -3
  21. package/dist/ai/components/ChatInput.js +3 -5
  22. package/dist/ai/components/ChatLayout.js +1 -1
  23. package/dist/ai/components/ChatMessage.js +1 -1
  24. package/dist/ai/components/ChatMessageList.js +2 -2
  25. package/dist/ai/components/ChatSidebar.js +3 -3
  26. package/dist/ai/components/ChatThread.js +4 -4
  27. package/dist/ai/components/ComposerAddMenu.js +9 -20
  28. package/dist/ai/components/ModelSelector.js +3 -3
  29. package/dist/ai/components/PastedText.js +5 -5
  30. package/dist/ai/components/SessionView.js +1 -1
  31. package/dist/ai/components/ShareDialog.js +3 -3
  32. package/dist/ai/components/SlashMenu.d.ts +31 -4
  33. package/dist/ai/components/SlashMenu.js +36 -63
  34. package/dist/ai/components/agent/ActivityLine.js +1 -1
  35. package/dist/ai/components/agent/AgentMessageParts.js +13 -13
  36. package/dist/ai/components/conversationActions.js +3 -3
  37. package/dist/ai/core/ChatProvider.js +1 -1
  38. package/dist/ai/core/config.js +1 -1
  39. package/dist/ai/ui/ConversationSidebar.js +3 -3
  40. package/dist/ai/ui/sidebar.js +3 -3
  41. package/dist/assets/yaml.worker-DOBV2lND.js +884 -0
  42. package/dist/components/ActionMenu.d.ts +38 -9
  43. package/dist/components/ActionMenu.js +48 -22
  44. package/dist/components/Avatar.d.ts +66 -6
  45. package/dist/components/Avatar.js +130 -18
  46. package/dist/components/Breadcrumbs.d.ts +4 -0
  47. package/dist/components/Breadcrumbs.js +26 -10
  48. package/dist/components/Button.d.ts +3 -2
  49. package/dist/components/Button.js +11 -1
  50. package/dist/components/Callout.d.ts +3 -2
  51. package/dist/components/Callout.js +3 -2
  52. package/dist/components/Card.d.ts +33 -9
  53. package/dist/components/Card.js +24 -8
  54. package/dist/components/Checkbox.d.ts +3 -1
  55. package/dist/components/Checkbox.js +4 -2
  56. package/dist/components/ColorInput.js +1 -1
  57. package/dist/components/Combobox.d.ts +23 -0
  58. package/dist/components/Combobox.js +252 -86
  59. package/dist/components/ConfirmModal.d.ts +26 -2
  60. package/dist/components/ConfirmModal.js +81 -15
  61. package/dist/components/ContextMenu.d.ts +29 -2
  62. package/dist/components/ContextMenu.js +60 -8
  63. package/dist/components/CopyButton.d.ts +21 -8
  64. package/dist/components/CopyButton.js +29 -9
  65. package/dist/components/CreateModal.d.ts +16 -4
  66. package/dist/components/CreateModal.js +27 -16
  67. package/dist/components/DatePicker.d.ts +31 -1
  68. package/dist/components/DatePicker.js +178 -47
  69. package/dist/components/DescriptionList.d.ts +13 -3
  70. package/dist/components/DescriptionList.js +43 -11
  71. package/dist/components/Disclosure.d.ts +10 -2
  72. package/dist/components/Disclosure.js +18 -7
  73. package/dist/components/Drawer.js +5 -5
  74. package/dist/components/EmptyState.d.ts +12 -4
  75. package/dist/components/EmptyState.js +18 -10
  76. package/dist/components/ErrorPage.d.ts +40 -0
  77. package/dist/components/ErrorPage.js +101 -0
  78. package/dist/components/ExternalLink.d.ts +4 -1
  79. package/dist/components/ExternalLink.js +4 -5
  80. package/dist/components/Field.d.ts +21 -6
  81. package/dist/components/Field.js +32 -16
  82. package/dist/components/FileButton.d.ts +19 -0
  83. package/dist/components/FileButton.js +32 -0
  84. package/dist/components/HoverCard.d.ts +26 -6
  85. package/dist/components/HoverCard.js +11 -5
  86. package/dist/components/IconButton.js +4 -2
  87. package/dist/components/InfoTip.js +3 -3
  88. package/dist/components/Input.d.ts +33 -3
  89. package/dist/components/Input.js +149 -14
  90. package/dist/components/Kbd.d.ts +40 -0
  91. package/dist/components/Kbd.js +168 -0
  92. package/dist/components/Listbox.d.ts +103 -0
  93. package/dist/components/Listbox.js +190 -0
  94. package/dist/components/Loader.d.ts +8 -2
  95. package/dist/components/Loader.js +16 -1
  96. package/dist/components/Markdown.js +1 -1
  97. package/dist/components/MarkdownImpl.js +1 -1
  98. package/dist/components/Menu.d.ts +20 -2
  99. package/dist/components/Menu.js +48 -19
  100. package/dist/components/MenuEntries.d.ts +38 -2
  101. package/dist/components/MenuEntries.js +266 -39
  102. package/dist/components/Meter.d.ts +50 -11
  103. package/dist/components/Meter.js +71 -21
  104. package/dist/components/Modal.d.ts +9 -3
  105. package/dist/components/Modal.js +68 -29
  106. package/dist/components/OneTimeCodeInput.js +1 -1
  107. package/dist/components/PageHeader.js +111 -7
  108. package/dist/components/PageHeaderAction.d.ts +8 -3
  109. package/dist/components/PageHeaderAction.js +122 -34
  110. package/dist/components/Pagination.d.ts +13 -1
  111. package/dist/components/Pagination.js +90 -19
  112. package/dist/components/Popover.d.ts +13 -2
  113. package/dist/components/Popover.js +20 -21
  114. package/dist/components/Provider.d.ts +140 -3
  115. package/dist/components/Provider.js +142 -12
  116. package/dist/components/RefreshButton.d.ts +13 -6
  117. package/dist/components/RefreshButton.js +17 -9
  118. package/dist/components/RunStatusIcon.d.ts +16 -7
  119. package/dist/components/RunStatusIcon.js +21 -8
  120. package/dist/components/Section.d.ts +11 -4
  121. package/dist/components/Section.js +33 -22
  122. package/dist/components/SegmentedControl.d.ts +16 -3
  123. package/dist/components/SegmentedControl.js +7 -3
  124. package/dist/components/Select.d.ts +19 -3
  125. package/dist/components/Select.js +114 -68
  126. package/dist/components/SelectionCopy.d.ts +10 -0
  127. package/dist/components/SelectionCopy.js +105 -0
  128. package/dist/components/SettingModeOption.js +1 -1
  129. package/dist/components/SettingsCard.js +1 -1
  130. package/dist/components/Skeleton.js +1 -1
  131. package/dist/components/StatusBadge.d.ts +55 -10
  132. package/dist/components/StatusBadge.js +91 -15
  133. package/dist/components/StickyBar.js +1 -1
  134. package/dist/components/Table.d.ts +22 -4
  135. package/dist/components/Table.js +46 -24
  136. package/dist/components/Tabs.d.ts +9 -4
  137. package/dist/components/Tabs.js +9 -4
  138. package/dist/components/Tag.d.ts +49 -0
  139. package/dist/components/Tag.js +199 -0
  140. package/dist/components/ThemeEditor.js +1 -1
  141. package/dist/components/Toast.js +1 -1
  142. package/dist/components/ToggleGroup.d.ts +4 -1
  143. package/dist/components/ToggleGroup.js +30 -13
  144. package/dist/components/Tooltip.d.ts +9 -3
  145. package/dist/components/Tooltip.js +55 -39
  146. package/dist/components/buttonClasses.d.ts +5 -2
  147. package/dist/components/buttonClasses.js +11 -10
  148. package/dist/components/chart.d.ts +69 -0
  149. package/dist/components/chart.js +145 -0
  150. package/dist/components/comboboxItems.d.ts +7 -1
  151. package/dist/components/comboboxItems.js +6 -2
  152. package/dist/components/dismiss.d.ts +5 -1
  153. package/dist/components/dismiss.js +6 -2
  154. package/dist/components/floating.d.ts +4 -4
  155. package/dist/components/floating.js +5 -5
  156. package/dist/components/headerActionsFit.d.ts +37 -0
  157. package/dist/components/headerActionsFit.js +81 -0
  158. package/dist/components/pageHeaderStore.d.ts +3 -0
  159. package/dist/components/pageHeaderStore.js +3 -0
  160. package/dist/components/pathBreaks.js +2 -2
  161. package/dist/components/popupContainer.d.ts +17 -0
  162. package/dist/components/popupContainer.js +69 -0
  163. package/dist/components/relativeTime.d.ts +21 -10
  164. package/dist/components/relativeTime.js +50 -22
  165. package/dist/components/segmented.d.ts +18 -4
  166. package/dist/components/segmented.js +48 -6
  167. package/dist/components/typedDate.d.ts +5 -0
  168. package/dist/components/typedDate.js +50 -0
  169. package/dist/components/useClosingValue.d.ts +4 -0
  170. package/dist/components/useClosingValue.js +12 -0
  171. package/dist/components/useCopy.d.ts +6 -0
  172. package/dist/components/useCopy.js +3 -3
  173. package/dist/components/useNarrow.d.ts +2 -0
  174. package/dist/components/useNarrow.js +16 -0
  175. package/dist/editor/Editor.js +1 -1
  176. package/dist/editor/FormCodePanel.js +1 -1
  177. package/dist/editor/Monaco.js +1 -1
  178. package/dist/editor/workers.js +1 -1
  179. package/dist/file-explorer/FileExplorer.js +16 -15
  180. package/dist/file-explorer/FileExplorerContext.js +2 -2
  181. package/dist/file-explorer/FilePreview/Viewer.js +3 -3
  182. package/dist/file-explorer/FilePreview/index.js +2 -2
  183. package/dist/file-explorer/FileRowsWindow.js +3 -3
  184. package/dist/file-explorer/FileTable.js +1 -1
  185. package/dist/file-explorer/LoadMoreRow.js +1 -1
  186. package/dist/file-explorer/TreeView.js +5 -5
  187. package/dist/file-explorer/helpers.js +2 -2
  188. package/dist/file-explorer/toasts.js +2 -2
  189. package/dist/form/Fields/CheckboxGroupField.js +1 -1
  190. package/dist/form/Fields/DropdownField.js +1 -1
  191. package/dist/form/Fields/DurationField.js +2 -2
  192. package/dist/form/Fields/MultiDropdownField.js +1 -1
  193. package/dist/form/Fields/NumberField.js +1 -1
  194. package/dist/form/Fields/ObjectField.js +1 -1
  195. package/dist/form/Fields/RangeField.js +1 -1
  196. package/dist/form/Fields/StringField.js +1 -1
  197. package/dist/form/Form.js +3 -3
  198. package/dist/form/FormLayout.js +1 -1
  199. package/dist/form/Wizard/WizardContainer.js +1 -1
  200. package/dist/form/Wizard/WizardNavigation.js +1 -1
  201. package/dist/form/Wizard/WizardStepContent.js +1 -1
  202. package/dist/form/fieldRegistry.js +1 -1
  203. package/dist/form/formEditing.js +1 -1
  204. package/dist/format.d.ts +17 -7
  205. package/dist/format.js +39 -16
  206. package/dist/graph/AnnotationBanner.js +2 -2
  207. package/dist/graph/Connectors.js +5 -5
  208. package/dist/graph/DependencyGraph.js +10 -9
  209. package/dist/graph/GraphEditor.js +4 -4
  210. package/dist/graph/GraphEditorDialogs.js +13 -12
  211. package/dist/graph/GraphNode.js +1 -1
  212. package/dist/graph/InputDialog.js +5 -5
  213. package/dist/graph/InputsEditor.js +7 -7
  214. package/dist/graph/MatrixGroup.js +2 -2
  215. package/dist/graph/ProblemsButton.js +3 -3
  216. package/dist/graph/Reveal.js +1 -1
  217. package/dist/graph/RunWarningsList.js +1 -1
  218. package/dist/graph/ShortcutsButton.js +25 -8
  219. package/dist/graph/StepSummaries.js +1 -1
  220. package/dist/graph/TreeView.js +2 -2
  221. package/dist/graph/WorkflowSettingsDialog.js +3 -3
  222. package/dist/graph/editorFields.js +3 -3
  223. package/dist/graph/editorPrimitives.js +1 -1
  224. package/dist/graph/editorRows.js +5 -5
  225. package/dist/graph/fieldProblems.js +2 -2
  226. package/dist/graph/inputRefs.js +7 -6
  227. package/dist/graph/stepWith.js +2 -2
  228. package/dist/index.d.ts +30 -21
  229. package/dist/index.js +20 -12
  230. package/dist/list/ActionToolbar.d.ts +4 -0
  231. package/dist/list/ActionToolbar.js +35 -12
  232. package/dist/list/ListFilterBar.d.ts +42 -0
  233. package/dist/list/ListFilterBar.js +789 -0
  234. package/dist/list/ListPage.d.ts +42 -4
  235. package/dist/list/ListPage.js +56 -22
  236. package/dist/list/ListTable.d.ts +27 -3
  237. package/dist/list/ListTable.js +48 -23
  238. package/dist/list/ListToolbar.d.ts +31 -0
  239. package/dist/list/ListToolbar.js +43 -0
  240. package/dist/list/ListViewControls.d.ts +8 -4
  241. package/dist/list/ListViewControls.js +22 -14
  242. package/dist/list/UserHoverCard.d.ts +8 -2
  243. package/dist/list/UserHoverCard.js +26 -13
  244. package/dist/list/filterModel.d.ts +122 -0
  245. package/dist/list/filterModel.js +308 -0
  246. package/dist/list/index.d.ts +6 -2
  247. package/dist/list/index.js +6 -2
  248. package/dist/list/listSearch.d.ts +1 -1
  249. package/dist/list/listSearch.js +8 -4
  250. package/dist/list/listView.d.ts +24 -2
  251. package/dist/list/listView.js +47 -45
  252. package/dist/list/rowMenu.d.ts +10 -5
  253. package/dist/list/rowMenu.js +17 -7
  254. package/dist/list/useListFilters.d.ts +68 -0
  255. package/dist/list/useListFilters.js +252 -0
  256. package/dist/logviewer/LogViewer.js +4 -4
  257. package/dist/styles/theme.css +94 -0
  258. package/dist/styles.css +1 -1
  259. package/package.json +11 -11
  260. package/dist/assets/yaml.worker-k9AdOqzf.js +0 -1441
  261. package/dist/components/fullscreen.d.ts +0 -4
  262. package/dist/components/fullscreen.js +0 -18
@@ -3,14 +3,15 @@ import { buttonClasses } from "../components/buttonClasses.js";
3
3
  import { MoreIcon } from "../icons.js";
4
4
  import { MenuPopup, MenuSeparator } from "../components/Menu.js";
5
5
  import { isDev } from "../dev.js";
6
+ import { Loader } from "../components/Loader.js";
6
7
  import { Tooltip } from "../components/Tooltip.js";
7
8
  import { useStrings } from "../components/Provider.js";
8
9
  import { AppLink } from "../components/AppLink.js";
9
10
  import { MenuEntries, useRunAction, warnIfInert } from "../components/MenuEntries.js";
10
11
  import { useStickyTop } from "../components/stickyTop.js";
11
12
  import { Menu } from "@base-ui/react/menu";
12
- import { Fragment, jsx, jsxs } from "react/jsx-runtime";
13
- import { Fragment as Fragment$1, cloneElement, createContext, isValidElement, use, useLayoutEffect, useRef, useState } from "react";
13
+ import { Fragment, cloneElement, createContext, isValidElement, use, useLayoutEffect, useRef, useState } from "react";
14
+ import { Fragment as Fragment$1, jsx, jsxs } from "react/jsx-runtime";
14
15
  import { Button } from "@base-ui/react/button";
15
16
  import { Toggle } from "@base-ui/react/toggle";
16
17
  import { Toolbar } from "@base-ui/react/toolbar";
@@ -29,19 +30,37 @@ function actionClasses(action, iconOnly) {
29
30
  iconOnly
30
31
  }), action.destructive && !primary && "text-(--theme-error-text)");
31
32
  }
33
+ /** A loading action as its menu row shows it: the spinner for its icon, and
34
+ * not to be chosen until done. */
35
+ function asMenuRow(action) {
36
+ return action.loading ? {
37
+ ...action,
38
+ icon: /* @__PURE__ */ jsx(Loader, {
39
+ inline: true,
40
+ decorative: true,
41
+ size: "1em"
42
+ }),
43
+ disabled: true
44
+ } : action;
45
+ }
32
46
  /** A toolbar action as a button: a link with `href`, a toggle with `checked`.
33
47
  * In an ActionToolbar it is one of its items, reached with the arrow keys. */
34
48
  function ToolbarButton({ action }) {
35
49
  const placement = use(PlacementContext);
36
50
  const runAction = useRunAction();
37
51
  const folded = use(FoldedContext);
38
- if (placement === "menu") return /* @__PURE__ */ jsx(MenuEntries, { entries: [action] });
52
+ if (placement === "menu") return /* @__PURE__ */ jsx(MenuEntries, { entries: [asMenuRow(action)] });
39
53
  warnIfInert(action, "ActionToolbar");
54
+ const loading = action.loading === true;
40
55
  const iconOnly = Boolean(action.icon) && placement === "toolbar" && folded;
41
56
  const className = actionClasses(action, iconOnly);
42
57
  const reason = action.disabled ? action.disabledReason : void 0;
43
- const content = /* @__PURE__ */ jsxs(Fragment, { children: [
44
- action.icon,
58
+ const content = /* @__PURE__ */ jsxs(Fragment$1, { children: [
59
+ loading ? /* @__PURE__ */ jsx(Loader, {
60
+ inline: true,
61
+ decorative: true,
62
+ size: "1em"
63
+ }) : action.icon,
45
64
  iconOnly ? /* @__PURE__ */ jsx("span", {
46
65
  className: "sr-only",
47
66
  children: action.label
@@ -59,7 +78,8 @@ function ToolbarButton({ action }) {
59
78
  href: action.href,
60
79
  reloadDocument: action.reloadDocument,
61
80
  target: action.target,
62
- disabled: action.disabled,
81
+ disabled: action.disabled || loading,
82
+ "aria-busy": loading || void 0,
63
83
  className
64
84
  });
65
85
  control = inToolbar ? /* @__PURE__ */ jsx(Toolbar.Link, {
@@ -70,19 +90,22 @@ function ToolbarButton({ action }) {
70
90
  const toggle = /* @__PURE__ */ jsx(Toggle, {
71
91
  pressed: action.checked,
72
92
  onPressedChange: run,
73
- disabled: action.disabled,
93
+ disabled: action.disabled || loading,
94
+ "aria-busy": loading || void 0,
74
95
  className
75
96
  });
76
97
  control = inToolbar ? /* @__PURE__ */ jsx(Toolbar.Button, {
77
98
  render: toggle,
78
- disabled: action.disabled,
99
+ disabled: action.disabled || loading,
100
+ focusableWhenDisabled: true,
79
101
  children: content
80
102
  }) : cloneElement(toggle, void 0, content);
81
103
  } else {
82
104
  const Control = inToolbar ? Toolbar.Button : Button;
83
105
  control = /* @__PURE__ */ jsx(Control, {
84
106
  onClick: run,
85
- disabled: action.disabled,
107
+ disabled: action.disabled || loading,
108
+ "aria-busy": loading || void 0,
86
109
  focusableWhenDisabled: true,
87
110
  className,
88
111
  children: content
@@ -115,7 +138,7 @@ function OverflowMenu({ items }) {
115
138
  className: "min-w-56",
116
139
  children: /* @__PURE__ */ jsx(PlacementContext, {
117
140
  value: "menu",
118
- children: items.map((group, i) => /* @__PURE__ */ jsxs(Fragment$1, { children: [i > 0 && /* @__PURE__ */ jsx(MenuSeparator, {}), group.map((item) => "element" in item ? /* @__PURE__ */ jsx(Fragment$1, { children: item.element }, item.key) : /* @__PURE__ */ jsx(MenuEntries, { entries: [item] }, item.key))] }, group[0]?.key ?? i))
141
+ children: items.map((group, i) => /* @__PURE__ */ jsxs(Fragment, { children: [i > 0 && /* @__PURE__ */ jsx(MenuSeparator, {}), group.map((item) => "element" in item ? /* @__PURE__ */ jsx(Fragment, { children: item.element }, item.key) : /* @__PURE__ */ jsx(MenuEntries, { entries: [asMenuRow(item)] }, item.key))] }, group[0]?.key ?? i))
119
142
  })
120
143
  })] });
121
144
  }
@@ -241,7 +264,7 @@ function MeasuringCopy({ items, ref }) {
241
264
  children: /* @__PURE__ */ jsx("div", {
242
265
  ref,
243
266
  className: "flex w-max gap-1",
244
- children: items.map((item) => "element" in item ? null : /* @__PURE__ */ jsxs(Fragment$1, { children: [/* @__PURE__ */ jsxs("span", {
267
+ children: items.map((item) => "element" in item ? null : /* @__PURE__ */ jsxs(Fragment, { children: [/* @__PURE__ */ jsxs("span", {
245
268
  "data-measure": item.key,
246
269
  "data-fold": "full",
247
270
  className: actionClasses(item, false),
@@ -299,7 +322,7 @@ function ActionToolbar({ groups, right = [], sticky = false, label }) {
299
322
  items: all
300
323
  }), /* @__PURE__ */ jsxs(PlacementContext, {
301
324
  value: "toolbar",
302
- children: [shownGroups.map((group, i) => /* @__PURE__ */ jsxs(Fragment$1, { children: [i > 0 && /* @__PURE__ */ jsx(Toolbar.Separator, {
325
+ children: [shownGroups.map((group, i) => /* @__PURE__ */ jsxs(Fragment, { children: [i > 0 && /* @__PURE__ */ jsx(Toolbar.Separator, {
303
326
  orientation: "vertical",
304
327
  className: "h-5 w-px shrink-0 bg-(--theme-border)"
305
328
  }), /* @__PURE__ */ jsx(Toolbar.Group, {
@@ -0,0 +1,42 @@
1
+ import { type ReactElement, type ReactNode } from 'react';
2
+ import { type ActiveFilter, type FilterField } from './filterModel.js';
3
+ import type { ListFilters } from './useListFilters.js';
4
+ type Field = FilterField<any>;
5
+ interface ChipProps {
6
+ filters: ListFilters;
7
+ filter: ActiveFilter;
8
+ field: Field;
9
+ /** Full width, as the phone sheet stacks them. */
10
+ stretch?: boolean;
11
+ /** Whether this chip answers requests to open its pickers. */
12
+ answers: boolean;
13
+ /** Called after Backspace or Delete removed it, to move focus on. */
14
+ onRemoved?: () => void;
15
+ }
16
+ /** One filter as a sentence: its field, its condition and its values, each opening its own
17
+ * picker, and a button that removes it. */
18
+ export declare function FilterChip({ filters, filter, field, stretch, answers, onRemoved, }: ChipProps): import("react").JSX.Element;
19
+ export interface AddFilterMenuProps {
20
+ filters: ListFilters;
21
+ /** The button that opens it: the toolbar's Filter button, or the row's "+ Filter". */
22
+ trigger: ReactElement;
23
+ /** Where it opens against its trigger. */
24
+ align?: 'start' | 'end';
25
+ }
26
+ /** The fields a filter can be added on. Picking one adds its chip and opens its value picker
27
+ * there; a field already in use opens its chip's picker. */
28
+ export declare function AddFilterMenu({ filters, trigger, align }: AddFilterMenuProps): import("react").JSX.Element;
29
+ export interface ListFilterBarProps {
30
+ filters: ListFilters | undefined;
31
+ /** At the row's end, such as Save view or Update view. */
32
+ trailing?: ReactNode;
33
+ /** Names the row; defaults to the provider's `filters.activeFilters`. */
34
+ label?: string | undefined;
35
+ className?: string | undefined;
36
+ }
37
+ /** The chips that say what narrows a list, under its toolbar: one per filter, each editable in
38
+ * place, then "+ Filter" and Clear (or Reset, where the page has default filters). It shows
39
+ * only while a filter is on or a field is required. At phone width it stops at two lines and
40
+ * a "+n filters" chip opens the rest in a sheet. */
41
+ export declare function ListFilterBar({ filters, trailing, label, className }: ListFilterBarProps): import("react").JSX.Element | null;
42
+ export {};