@crewlethq/ui 0.84.2 → 0.86.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 (103) hide show
  1. package/README.md +53 -5
  2. package/dist/Accordion/index.js +1 -1
  3. package/dist/AgentHandoffPanel/index.js +2 -2
  4. package/dist/ArtifactBar/index.js +1 -1
  5. package/dist/AttentionList/AttentionList.d.ts +82 -0
  6. package/dist/AttentionList/index.d.ts +3 -0
  7. package/dist/AttentionList/index.js +9 -0
  8. package/dist/AttentionList-LVX7KRET.css +212 -0
  9. package/dist/AvatarPicker/index.js +2 -2
  10. package/dist/ChangeList/index.js +2 -2
  11. package/dist/ChoiceCards/ChoiceCards.d.ts +35 -6
  12. package/dist/ChoiceCards/index.d.ts +1 -1
  13. package/dist/ChoiceCards/index.js +1 -1
  14. package/dist/{ChoiceCards-TVMBO3HZ.css → ChoiceCards-KHJW2FKO.css} +49 -0
  15. package/dist/ChoiceList/ChoiceList.d.ts +2 -2
  16. package/dist/ChoiceList/index.js +1 -1
  17. package/dist/{ChoiceList-JN4PPNFW.css → ChoiceList-ZQMZTEZX.css} +33 -17
  18. package/dist/CodeBlock/index.js +2 -2
  19. package/dist/ColorSwatch/index.js +2 -2
  20. package/dist/ContrastBadge/index.js +2 -2
  21. package/dist/ContrastHelp/index.js +3 -3
  22. package/dist/Copyable/index.js +1 -1
  23. package/dist/{Copyable-IS3MHMPL.css → Copyable-P5AMRHFX.css} +18 -4
  24. package/dist/DataGrid/index.js +1 -1
  25. package/dist/{DataGrid-Q26F2V5Q.css → DataGrid-SAHEL4SN.css} +57 -0
  26. package/dist/DataView/index.js +2 -2
  27. package/dist/DeepWorkCard/index.js +3 -3
  28. package/dist/Disclosure/Disclosure.d.ts +10 -1
  29. package/dist/Disclosure/index.js +1 -1
  30. package/dist/{Disclosure-D727FN5X.css → Disclosure-RJSKKO7Z.css} +20 -0
  31. package/dist/KeyValueRows/KeyValueRows.d.ts +125 -0
  32. package/dist/KeyValueRows/index.d.ts +3 -0
  33. package/dist/KeyValueRows/index.js +12 -0
  34. package/dist/KeyValueRows-US5KW7JK.css +44 -0
  35. package/dist/LogoSlot/index.js +3 -3
  36. package/dist/MarkdownEditor/index.js +1 -1
  37. package/dist/MemberPicker/MemberPicker.d.ts +86 -0
  38. package/dist/MemberPicker/index.d.ts +3 -0
  39. package/dist/MemberPicker/index.js +11 -0
  40. package/dist/MemberPicker-ZD35VEK6.css +162 -0
  41. package/dist/MergeConflicts/index.js +1 -1
  42. package/dist/PresenterView/index.js +2 -2
  43. package/dist/ProposalCard/index.js +3 -3
  44. package/dist/RailList/RailList.d.ts +74 -0
  45. package/dist/RailList/index.d.ts +3 -0
  46. package/dist/RailList/index.js +17 -0
  47. package/dist/RailList-N2ZBPRM2.css +97 -0
  48. package/dist/RelatedRow/index.js +2 -2
  49. package/dist/RichEditor/index.js +1 -1
  50. package/dist/RunChip/index.js +3 -3
  51. package/dist/SegmentedControl/index.js +1 -1
  52. package/dist/{SegmentedControl-B7XCUOML.css → SegmentedControl-7GY2KM44.css} +11 -0
  53. package/dist/SetupWizard/index.js +3 -3
  54. package/dist/ShareDialog/index.js +3 -3
  55. package/dist/{StepList-A4YVU4JI.css → StepList-OAJ45IBX.css} +12 -1
  56. package/dist/Stepper/StepList.d.ts +7 -4
  57. package/dist/Stepper/index.js +1 -1
  58. package/dist/TableCells/TableCells.d.ts +60 -0
  59. package/dist/TableCells/index.d.ts +2 -2
  60. package/dist/TableCells/index.js +2 -1
  61. package/dist/{TableCells-TKSNLRK3.css → TableCells-ZALZLLEF.css} +28 -0
  62. package/dist/Text/Text.d.ts +25 -3
  63. package/dist/Text/index.js +1 -1
  64. package/dist/ThemeSwitcher/index.js +1 -1
  65. package/dist/TimeRangePicker/index.js +1 -1
  66. package/dist/VersionCompare/index.js +1 -1
  67. package/dist/{chunk-CV2LU2T2.js → chunk-35CKF77R.js} +2 -2
  68. package/dist/{chunk-AUSFKGKL.js → chunk-3AMWXJQX.js} +1 -1
  69. package/dist/{chunk-AFLS26AC.js → chunk-3CALM534.js} +36 -2
  70. package/dist/{chunk-AOJ6ZA77.js → chunk-3MFRTZH6.js} +1 -1
  71. package/dist/{chunk-QSWQJX27.js → chunk-4ME4J3YY.js} +1 -1
  72. package/dist/{chunk-6FBPFG3C.js → chunk-6EZX26BD.js} +1 -1
  73. package/dist/chunk-AELKT34H.js +121 -0
  74. package/dist/{chunk-X7VZQKIW.js → chunk-AQ7ZV3CH.js} +1 -1
  75. package/dist/{chunk-EAHEJNVJ.js → chunk-CL3FWLDO.js} +1 -1
  76. package/dist/{chunk-XNC3M4IN.js → chunk-E2QPZGLG.js} +1 -1
  77. package/dist/{chunk-T5GBTXNC.js → chunk-ETNQYT5O.js} +1 -1
  78. package/dist/{chunk-36WK24AI.js → chunk-EVM6GYZ2.js} +1 -1
  79. package/dist/{chunk-B7NX425Z.js → chunk-JDMJVVVQ.js} +12 -4
  80. package/dist/chunk-KA4RBKQV.js +148 -0
  81. package/dist/{chunk-ABRWL5FJ.js → chunk-L2QRKIL4.js} +3 -2
  82. package/dist/{chunk-P7HMY3BQ.js → chunk-M33DABTW.js} +2 -2
  83. package/dist/{chunk-LVJGN5II.js → chunk-NAHA62WD.js} +3 -1
  84. package/dist/{chunk-QP2P6GDQ.js → chunk-O5CEG7TQ.js} +14 -0
  85. package/dist/{chunk-6SFDL4QH.js → chunk-P3LNA6G4.js} +1 -1
  86. package/dist/chunk-REWKR3S4.js +73 -0
  87. package/dist/{chunk-WMO722J2.js → chunk-TBQFZV4H.js} +1 -1
  88. package/dist/{chunk-RJWO2PC5.js → chunk-TMML7BHT.js} +14 -5
  89. package/dist/chunk-TRZS7DLB.js +159 -0
  90. package/dist/{chunk-K6RWEQ6P.js → chunk-WRZPO4YL.js} +2 -2
  91. package/dist/{chunk-DD7RBNT4.js → chunk-XH55NRHO.js} +1 -1
  92. package/dist/{chunk-6RW2MUTY.js → chunk-XU7RQNT6.js} +1 -1
  93. package/dist/{chunk-AQNP3KQU.js → chunk-Y7PPKQFQ.js} +1 -1
  94. package/dist/generated/index.d.ts +4 -0
  95. package/dist/generated/index.js +92 -88
  96. package/dist/index.js +92 -88
  97. package/dist/styles.css +763 -30
  98. package/package.json +3 -3
  99. package/dist/{Editor-5D5Z3LBQ.js → Editor-VGNB35NJ.js} +1 -1
  100. package/dist/{chunk-22CU7V4J.js → chunk-K2HEYQJL.js} +1 -1
  101. package/dist/{chunk-REEZQCML.js → chunk-PAGITACP.js} +0 -0
  102. package/dist/{chunk-LMEMH6DO.js → chunk-WCJTOKTY.js} +1 -1
  103. package/dist/{chunk-2ZSCHQOA.js → chunk-WMSXPF7T.js} +1 -1
@@ -0,0 +1,73 @@
1
+ import { SidebarNav, NavItem } from './chunk-BRK3HXGZ.js';
2
+ import { Select } from './chunk-3IWZVEXA.js';
3
+ import { Text } from './chunk-O5CEG7TQ.js';
4
+ import { Card } from './chunk-U2IQNDDR.js';
5
+ import './RailList-N2ZBPRM2.css';
6
+ import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
7
+
8
+ var RAIL_LIST_LABELS = {
9
+ counted: "items",
10
+ option: (label, count) => count === void 0 ? label : `${label} (${count.toLocaleString()})`
11
+ };
12
+ var elsewhere = (event) => event.metaKey || event.ctrlKey || event.shiftKey || event.altKey || event.button !== 0;
13
+ function RailList({
14
+ label,
15
+ items,
16
+ value,
17
+ onChange,
18
+ toolbar,
19
+ note,
20
+ children,
21
+ renderLink,
22
+ labels: overrides,
23
+ className
24
+ }) {
25
+ const words = overrides ? { ...RAIL_LIST_LABELS, ...overrides } : RAIL_LIST_LABELS;
26
+ const chosen = items.find((item) => item.key === value);
27
+ const about = chosen?.description;
28
+ const picker = /* @__PURE__ */ jsx("span", { className: "crewlet-rail-list__picker", children: /* @__PURE__ */ jsx(
29
+ Select,
30
+ {
31
+ ariaLabel: label,
32
+ size: "sm",
33
+ width: "auto",
34
+ value,
35
+ options: items.map((item) => ({ value: item.key, label: words.option(item.label, item.count), text: item.label })),
36
+ onChange: (next) => onChange(String(next))
37
+ }
38
+ ) });
39
+ const bar = toolbar === void 0 || toolbar === null ? /* @__PURE__ */ jsx("div", { className: "crewlet-rail-list__bar crewlet-rail-list__bar--picker-only", children: picker }) : /* @__PURE__ */ jsx("div", { className: "crewlet-rail-list__bar", children: typeof toolbar === "function" ? toolbar(picker) : /* @__PURE__ */ jsxs(Fragment, { children: [
40
+ picker,
41
+ toolbar
42
+ ] }) });
43
+ return /* @__PURE__ */ jsx(Card, { padding: "none", className, children: /* @__PURE__ */ jsxs("div", { className: "crewlet-rail-list", children: [
44
+ bar,
45
+ /* @__PURE__ */ jsxs("div", { className: "crewlet-rail-list__body", children: [
46
+ /* @__PURE__ */ jsxs("div", { className: "crewlet-rail-list__rail", children: [
47
+ /* @__PURE__ */ jsx(SidebarNav, { label, dense: true, children: items.map((item) => /* @__PURE__ */ jsx(
48
+ NavItem,
49
+ {
50
+ label: item.label,
51
+ href: item.href,
52
+ current: item.key === value,
53
+ count: item.count === void 0 ? void 0 : { value: item.count.toLocaleString(), label: words.counted },
54
+ renderLink,
55
+ onClick: (event) => {
56
+ if (item.href !== void 0 && elsewhere(event)) return;
57
+ event.preventDefault();
58
+ onChange(item.key);
59
+ }
60
+ },
61
+ item.key
62
+ )) }),
63
+ note !== void 0 && note !== null && note !== false ? /* @__PURE__ */ jsx(Text, { as: "p", variant: "caption", tone: "tertiary", className: "crewlet-rail-list__note", children: note }) : null
64
+ ] }),
65
+ /* @__PURE__ */ jsxs("div", { className: "crewlet-rail-list__list", children: [
66
+ about !== void 0 && about !== null && about !== false && about !== "" ? /* @__PURE__ */ jsx(Text, { as: "p", variant: "caption", tone: "secondary", className: "crewlet-rail-list__about", children: about }) : null,
67
+ children
68
+ ] })
69
+ ] })
70
+ ] }) });
71
+ }
72
+
73
+ export { RAIL_LIST_LABELS, RailList };
@@ -1,4 +1,4 @@
1
- import { ContrastLevelTag } from './chunk-2ZSCHQOA.js';
1
+ import { ContrastLevelTag } from './chunk-WMSXPF7T.js';
2
2
  import { Popover } from './chunk-EC6EUIAD.js';
3
3
  import { IconButton } from './chunk-UAUP6XGK.js';
4
4
  import { cx } from './chunk-ODEQTPFM.js';
@@ -3,8 +3,8 @@ import { Spinner } from './chunk-XSPCITPN.js';
3
3
  import { VisuallyHidden } from './chunk-UT6CW3C7.js';
4
4
  import { cx } from './chunk-ODEQTPFM.js';
5
5
  import './Stepper-YQBNYCIS.css';
6
- import './StepList-A4YVU4JI.css';
7
- import { CircleCheckGlyph, CircleAlertGlyph, LockGlyph, CircleStopGlyph, ClockGlyph, CheckGlyph, TriangleAlertGlyph } from '@crewlethq/icons/glyphs';
6
+ import './StepList-OAJ45IBX.css';
7
+ import { CircleCheckGlyph, CircleAlertGlyph, LockGlyph, CircleStopGlyph, CircleDashedGlyph, ClockGlyph, CheckGlyph, TriangleAlertGlyph } from '@crewlethq/icons/glyphs';
8
8
  import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
9
9
  import { Fragment as Fragment$1 } from 'react';
10
10
 
@@ -128,17 +128,26 @@ function Stepper({
128
128
  )
129
129
  );
130
130
  }
131
- var STEP_STATES = ["running", "done", "failed", "refused", "stopped", "waiting"];
131
+ var STEP_STATES = [
132
+ "running",
133
+ "done",
134
+ "failed",
135
+ "refused",
136
+ "stopped",
137
+ "waiting",
138
+ "pending"
139
+ ];
132
140
  var STEP_STATE_LABELS = {
133
141
  running: "Running",
134
142
  done: "Done",
135
143
  failed: "Failed",
136
144
  refused: "Not permitted",
137
145
  stopped: "Stopped",
138
- waiting: "Waiting for your approval"
146
+ waiting: "Waiting for your approval",
147
+ pending: "Not started"
139
148
  };
140
149
  function StepStateMark({ state, className }) {
141
- return /* @__PURE__ */ jsx("span", { className: cx("crewlet-step-mark", `crewlet-step-mark--${state}`, className), "aria-hidden": "true", children: state === "running" ? /* @__PURE__ */ jsx(Spinner, { size: "sm" }) : state === "done" ? /* @__PURE__ */ jsx(CircleCheckGlyph, { size: "sm" }) : state === "failed" ? /* @__PURE__ */ jsx(CircleAlertGlyph, { size: "sm" }) : state === "refused" ? /* @__PURE__ */ jsx(LockGlyph, { size: "sm" }) : state === "stopped" ? /* @__PURE__ */ jsx(CircleStopGlyph, { size: "sm" }) : /* @__PURE__ */ jsx(ClockGlyph, { size: "sm" }) });
150
+ return /* @__PURE__ */ jsx("span", { className: cx("crewlet-step-mark", `crewlet-step-mark--${state}`, className), "aria-hidden": "true", children: state === "running" ? /* @__PURE__ */ jsx(Spinner, { size: "sm" }) : state === "done" ? /* @__PURE__ */ jsx(CircleCheckGlyph, { size: "sm" }) : state === "failed" ? /* @__PURE__ */ jsx(CircleAlertGlyph, { size: "sm" }) : state === "refused" ? /* @__PURE__ */ jsx(LockGlyph, { size: "sm" }) : state === "stopped" ? /* @__PURE__ */ jsx(CircleStopGlyph, { size: "sm" }) : state === "pending" ? /* @__PURE__ */ jsx(CircleDashedGlyph, { size: "sm" }) : /* @__PURE__ */ jsx(ClockGlyph, { size: "sm" }) });
142
151
  }
143
152
  function stepDetailPieces(text) {
144
153
  const pieces = [];
@@ -0,0 +1,159 @@
1
+ import { FormField, Label, Input } from './chunk-O7N6W52M.js';
2
+ import { Button } from './chunk-DGXZ635L.js';
3
+ import { IconButton } from './chunk-UAUP6XGK.js';
4
+ import { announce } from './chunk-2G355KDJ.js';
5
+ import { cx } from './chunk-ODEQTPFM.js';
6
+ import './KeyValueRows-US5KW7JK.css';
7
+ import { useId, useRef, useEffect } from 'react';
8
+ import { TrashGlyph, PlusGlyph } from '@crewlethq/icons/glyphs';
9
+ import { jsx, jsxs } from 'react/jsx-runtime';
10
+
11
+ function keyValueRowsLabels(keyLabel, valueLabel = "Value") {
12
+ const item = keyLabel.toLocaleLowerCase();
13
+ return {
14
+ key: (position) => `${keyLabel} ${position}`,
15
+ value: (key, position) => key ? `${valueLabel} for ${key}` : `${valueLabel} for ${item} ${position}`,
16
+ remove: (key, position) => key ? `Remove ${key}` : `Remove ${item} ${position}`,
17
+ add: `Add ${item}`,
18
+ removed: (key, position) => key ? `Removed ${key}` : `Removed ${item} ${position}`
19
+ };
20
+ }
21
+ function KeyValueRows(props) {
22
+ const {
23
+ label,
24
+ hideLabel = false,
25
+ keyLabel,
26
+ valueLabel = "Value",
27
+ value: rows,
28
+ onChange,
29
+ keyPlaceholder,
30
+ valuePlaceholder,
31
+ secret = false,
32
+ keyReadOnly,
33
+ keyError,
34
+ valueError,
35
+ empty,
36
+ helper,
37
+ error,
38
+ disabled = false,
39
+ labels: overrides,
40
+ className,
41
+ createRow
42
+ } = props;
43
+ const words = { ...keyValueRowsLabels(keyLabel, valueLabel), ...overrides };
44
+ const base = useId();
45
+ const minted = useRef(0);
46
+ const keyFields = useRef(/* @__PURE__ */ new Map());
47
+ const addButton = useRef(null);
48
+ const focusNext = useRef(null);
49
+ useEffect(() => {
50
+ const want = focusNext.current;
51
+ if (want === null) return;
52
+ focusNext.current = null;
53
+ if (want === "add") addButton.current?.focus();
54
+ else keyFields.current.get(want.id)?.focus();
55
+ });
56
+ const blank = () => createRow ? createRow() : { id: `${base}-${minted.current += 1}`, key: "", value: "" };
57
+ const edit = (id, change) => onChange(rows.map((row) => row.id === id ? { ...row, ...change } : row));
58
+ const add = () => {
59
+ const row = blank();
60
+ focusNext.current = { id: row.id };
61
+ onChange([...rows, row]);
62
+ };
63
+ const remove = (index) => {
64
+ const gone = rows[index];
65
+ const next = rows.filter((_, i) => i !== index);
66
+ const neighbour = next[index] ?? next[index - 1];
67
+ focusNext.current = neighbour ? { id: neighbour.id } : "add";
68
+ onChange(next);
69
+ announce(words.removed(gone.key.trim(), index + 1));
70
+ };
71
+ const placeholderFor = (row) => typeof valuePlaceholder === "function" ? valuePlaceholder(row) : valuePlaceholder;
72
+ return /* @__PURE__ */ jsx(
73
+ FormField,
74
+ {
75
+ as: "fieldset",
76
+ label,
77
+ hideLabel,
78
+ helper,
79
+ error,
80
+ className: cx("crewlet-key-value-rows", className),
81
+ children: /* @__PURE__ */ jsxs("div", { className: "crewlet-key-value-rows__body", children: [
82
+ rows.length > 0 ? /* @__PURE__ */ jsxs("div", { className: "crewlet-key-value-rows__table", children: [
83
+ /* @__PURE__ */ jsxs("div", { className: "crewlet-key-value-rows__head", "aria-hidden": "true", children: [
84
+ /* @__PURE__ */ jsx(Label, { as: "span", children: keyLabel }),
85
+ /* @__PURE__ */ jsx(Label, { as: "span", children: valueLabel })
86
+ ] }),
87
+ rows.map((row, index) => {
88
+ const position = index + 1;
89
+ const key = row.key.trim();
90
+ return /* @__PURE__ */ jsxs("div", { className: "crewlet-key-value-rows__row", children: [
91
+ /* @__PURE__ */ jsx(FormField, { label: words.key(position), hideLabel: true, error: keyError?.(row, index), children: (field) => /* @__PURE__ */ jsx(
92
+ Input,
93
+ {
94
+ ref: (element) => {
95
+ if (element) keyFields.current.set(row.id, element);
96
+ else keyFields.current.delete(row.id);
97
+ },
98
+ id: field.id,
99
+ "aria-describedby": field.describedBy,
100
+ "aria-invalid": field.invalid || void 0,
101
+ error: field.invalid,
102
+ appearance: "reference",
103
+ value: row.key,
104
+ placeholder: keyPlaceholder,
105
+ readOnly: keyReadOnly?.(row) ?? false,
106
+ disabled,
107
+ autoComplete: "off",
108
+ spellCheck: false,
109
+ onChange: (event) => edit(row.id, { key: event.target.value })
110
+ }
111
+ ) }),
112
+ /* @__PURE__ */ jsx(FormField, { label: words.value(key, position), hideLabel: true, error: valueError?.(row, index), children: (field) => /* @__PURE__ */ jsx(
113
+ Input,
114
+ {
115
+ id: field.id,
116
+ "aria-describedby": field.describedBy,
117
+ "aria-invalid": field.invalid || void 0,
118
+ error: field.invalid,
119
+ type: secret ? "password" : "text",
120
+ autoComplete: secret ? "new-password" : "off",
121
+ spellCheck: false,
122
+ value: row.value,
123
+ placeholder: placeholderFor(row),
124
+ disabled,
125
+ onChange: (event) => edit(row.id, { value: event.target.value })
126
+ }
127
+ ) }),
128
+ /* @__PURE__ */ jsx(
129
+ IconButton,
130
+ {
131
+ variant: "ghost-danger",
132
+ label: words.remove(key, position),
133
+ icon: /* @__PURE__ */ jsx(TrashGlyph, { size: "sm" }),
134
+ disabled,
135
+ onClick: () => remove(index)
136
+ }
137
+ )
138
+ ] }, row.id);
139
+ })
140
+ ] }) : empty !== void 0 && empty !== null && empty !== false ? /* @__PURE__ */ jsx("p", { className: "crewlet-key-value-rows__empty", children: empty }) : null,
141
+ /* @__PURE__ */ jsx("div", { className: "crewlet-key-value-rows__add", children: /* @__PURE__ */ jsx(
142
+ Button,
143
+ {
144
+ ref: addButton,
145
+ variant: "ghost",
146
+ size: "small",
147
+ flush: true,
148
+ leadingIcon: /* @__PURE__ */ jsx(PlusGlyph, { size: "sm" }),
149
+ disabled,
150
+ onClick: add,
151
+ children: words.add
152
+ }
153
+ ) })
154
+ ] })
155
+ }
156
+ );
157
+ }
158
+
159
+ export { KeyValueRows, keyValueRowsLabels };
@@ -1,7 +1,7 @@
1
- import { Stepper } from './chunk-RJWO2PC5.js';
1
+ import { Stepper } from './chunk-TMML7BHT.js';
2
2
  import { PageHeader } from './chunk-FPDIHEM4.js';
3
3
  import { useMediaMatch } from './chunk-YJQXESOJ.js';
4
- import { Disclosure } from './chunk-LVJGN5II.js';
4
+ import { Disclosure } from './chunk-NAHA62WD.js';
5
5
  import { useHeadingLevel, nextHeadingLevel, headingTag, HeadingLevelProvider } from './chunk-PQADV6P6.js';
6
6
  import { cx } from './chunk-ODEQTPFM.js';
7
7
  import './SetupWizard-Y2PFPBCZ.css';
@@ -1,7 +1,7 @@
1
1
  import { Timeline } from './chunk-4MJN2KN6.js';
2
2
  import { Section } from './chunk-WFCWPXJN.js';
3
3
  import { Composer } from './chunk-EBVZHVPD.js';
4
- import { Disclosure } from './chunk-LVJGN5II.js';
4
+ import { Disclosure } from './chunk-NAHA62WD.js';
5
5
  import { ArtifactPanel } from './chunk-5ILRWUE7.js';
6
6
  import { Button } from './chunk-DGXZ635L.js';
7
7
  import { cx } from './chunk-ODEQTPFM.js';
@@ -1,7 +1,7 @@
1
1
  import { HIT_AREA_CLASS } from './chunk-2YTOOH3A.js';
2
2
  import { cx } from './chunk-ODEQTPFM.js';
3
3
  import './HitArea-QUOS6ZDJ.css';
4
- import './ChoiceList-JN4PPNFW.css';
4
+ import './ChoiceList-ZQMZTEZX.css';
5
5
  import { useId } from 'react';
6
6
  import { jsxs, jsx } from 'react/jsx-runtime';
7
7
 
@@ -1,6 +1,6 @@
1
1
  import { Select } from './chunk-3IWZVEXA.js';
2
2
  import { Modal } from './chunk-ZXXZESCD.js';
3
- import { CopyButton } from './chunk-T5GBTXNC.js';
3
+ import { CopyButton } from './chunk-ETNQYT5O.js';
4
4
  import { Callout } from './chunk-BPCY7ZID.js';
5
5
  import { PrincipalAvatar } from './chunk-HF5L56YQ.js';
6
6
  import { useMediaMatch } from './chunk-YJQXESOJ.js';
@@ -23,6 +23,7 @@ export * from '../ArtifactNameCell/index.js';
23
23
  export * from '../ArtifactPanel/index.js';
24
24
  export * from '../AsideLayout/index.js';
25
25
  export * from '../AttachmentChip/index.js';
26
+ export * from '../AttentionList/index.js';
26
27
  export * from '../AuthLayout/index.js';
27
28
  export * from '../Avatar/index.js';
28
29
  export * from '../AvatarPicker/index.js';
@@ -121,6 +122,7 @@ export * from '../InlineRef/index.js';
121
122
  export * from '../Input/index.js';
122
123
  export * from '../Kbd/index.js';
123
124
  export * from '../KeyChip/index.js';
125
+ export * from '../KeyValueRows/index.js';
124
126
  export * from '../Layer/index.js';
125
127
  export * from '../LayersList/index.js';
126
128
  export * from '../Layout/index.js';
@@ -138,6 +140,7 @@ export * from '../LogoSlot/index.js';
138
140
  export * from '../Markdown/index.js';
139
141
  export * from '../MarkdownEditor/index.js';
140
142
  export * from '../MediaMatch/index.js';
143
+ export * from '../MemberPicker/index.js';
141
144
  export * from '../MentionChip/index.js';
142
145
  export * from '../MentionMenu/index.js';
143
146
  export * from '../Menu/index.js';
@@ -173,6 +176,7 @@ export * from '../PropertyList/index.js';
173
176
  export * from '../ProposalCard/index.js';
174
177
  export * from '../Prose/index.js';
175
178
  export * from '../QrCode/index.js';
179
+ export * from '../RailList/index.js';
176
180
  export * from '../ReactionBar/index.js';
177
181
  export * from '../ReadingPane/index.js';
178
182
  export * from '../ReceiptStrip/index.js';