@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.
- package/README.md +53 -5
- package/dist/Accordion/index.js +1 -1
- package/dist/AgentHandoffPanel/index.js +2 -2
- package/dist/ArtifactBar/index.js +1 -1
- package/dist/AttentionList/AttentionList.d.ts +82 -0
- package/dist/AttentionList/index.d.ts +3 -0
- package/dist/AttentionList/index.js +9 -0
- package/dist/AttentionList-LVX7KRET.css +212 -0
- package/dist/AvatarPicker/index.js +2 -2
- package/dist/ChangeList/index.js +2 -2
- package/dist/ChoiceCards/ChoiceCards.d.ts +35 -6
- package/dist/ChoiceCards/index.d.ts +1 -1
- package/dist/ChoiceCards/index.js +1 -1
- package/dist/{ChoiceCards-TVMBO3HZ.css → ChoiceCards-KHJW2FKO.css} +49 -0
- package/dist/ChoiceList/ChoiceList.d.ts +2 -2
- package/dist/ChoiceList/index.js +1 -1
- package/dist/{ChoiceList-JN4PPNFW.css → ChoiceList-ZQMZTEZX.css} +33 -17
- package/dist/CodeBlock/index.js +2 -2
- package/dist/ColorSwatch/index.js +2 -2
- package/dist/ContrastBadge/index.js +2 -2
- package/dist/ContrastHelp/index.js +3 -3
- package/dist/Copyable/index.js +1 -1
- package/dist/{Copyable-IS3MHMPL.css → Copyable-P5AMRHFX.css} +18 -4
- package/dist/DataGrid/index.js +1 -1
- package/dist/{DataGrid-Q26F2V5Q.css → DataGrid-SAHEL4SN.css} +57 -0
- package/dist/DataView/index.js +2 -2
- package/dist/DeepWorkCard/index.js +3 -3
- package/dist/Disclosure/Disclosure.d.ts +10 -1
- package/dist/Disclosure/index.js +1 -1
- package/dist/{Disclosure-D727FN5X.css → Disclosure-RJSKKO7Z.css} +20 -0
- package/dist/KeyValueRows/KeyValueRows.d.ts +125 -0
- package/dist/KeyValueRows/index.d.ts +3 -0
- package/dist/KeyValueRows/index.js +12 -0
- package/dist/KeyValueRows-US5KW7JK.css +44 -0
- package/dist/LogoSlot/index.js +3 -3
- package/dist/MarkdownEditor/index.js +1 -1
- package/dist/MemberPicker/MemberPicker.d.ts +86 -0
- package/dist/MemberPicker/index.d.ts +3 -0
- package/dist/MemberPicker/index.js +11 -0
- package/dist/MemberPicker-ZD35VEK6.css +162 -0
- package/dist/MergeConflicts/index.js +1 -1
- package/dist/PresenterView/index.js +2 -2
- package/dist/ProposalCard/index.js +3 -3
- package/dist/RailList/RailList.d.ts +74 -0
- package/dist/RailList/index.d.ts +3 -0
- package/dist/RailList/index.js +17 -0
- package/dist/RailList-N2ZBPRM2.css +97 -0
- package/dist/RelatedRow/index.js +2 -2
- package/dist/RichEditor/index.js +1 -1
- package/dist/RunChip/index.js +3 -3
- package/dist/SegmentedControl/index.js +1 -1
- package/dist/{SegmentedControl-B7XCUOML.css → SegmentedControl-7GY2KM44.css} +11 -0
- package/dist/SetupWizard/index.js +3 -3
- package/dist/ShareDialog/index.js +3 -3
- package/dist/{StepList-A4YVU4JI.css → StepList-OAJ45IBX.css} +12 -1
- package/dist/Stepper/StepList.d.ts +7 -4
- package/dist/Stepper/index.js +1 -1
- package/dist/TableCells/TableCells.d.ts +60 -0
- package/dist/TableCells/index.d.ts +2 -2
- package/dist/TableCells/index.js +2 -1
- package/dist/{TableCells-TKSNLRK3.css → TableCells-ZALZLLEF.css} +28 -0
- package/dist/Text/Text.d.ts +25 -3
- package/dist/Text/index.js +1 -1
- package/dist/ThemeSwitcher/index.js +1 -1
- package/dist/TimeRangePicker/index.js +1 -1
- package/dist/VersionCompare/index.js +1 -1
- package/dist/{chunk-CV2LU2T2.js → chunk-35CKF77R.js} +2 -2
- package/dist/{chunk-AUSFKGKL.js → chunk-3AMWXJQX.js} +1 -1
- package/dist/{chunk-AFLS26AC.js → chunk-3CALM534.js} +36 -2
- package/dist/{chunk-AOJ6ZA77.js → chunk-3MFRTZH6.js} +1 -1
- package/dist/{chunk-QSWQJX27.js → chunk-4ME4J3YY.js} +1 -1
- package/dist/{chunk-6FBPFG3C.js → chunk-6EZX26BD.js} +1 -1
- package/dist/chunk-AELKT34H.js +121 -0
- package/dist/{chunk-X7VZQKIW.js → chunk-AQ7ZV3CH.js} +1 -1
- package/dist/{chunk-EAHEJNVJ.js → chunk-CL3FWLDO.js} +1 -1
- package/dist/{chunk-XNC3M4IN.js → chunk-E2QPZGLG.js} +1 -1
- package/dist/{chunk-T5GBTXNC.js → chunk-ETNQYT5O.js} +1 -1
- package/dist/{chunk-36WK24AI.js → chunk-EVM6GYZ2.js} +1 -1
- package/dist/{chunk-B7NX425Z.js → chunk-JDMJVVVQ.js} +12 -4
- package/dist/chunk-KA4RBKQV.js +148 -0
- package/dist/{chunk-ABRWL5FJ.js → chunk-L2QRKIL4.js} +3 -2
- package/dist/{chunk-P7HMY3BQ.js → chunk-M33DABTW.js} +2 -2
- package/dist/{chunk-LVJGN5II.js → chunk-NAHA62WD.js} +3 -1
- package/dist/{chunk-QP2P6GDQ.js → chunk-O5CEG7TQ.js} +14 -0
- package/dist/{chunk-6SFDL4QH.js → chunk-P3LNA6G4.js} +1 -1
- package/dist/chunk-REWKR3S4.js +73 -0
- package/dist/{chunk-WMO722J2.js → chunk-TBQFZV4H.js} +1 -1
- package/dist/{chunk-RJWO2PC5.js → chunk-TMML7BHT.js} +14 -5
- package/dist/chunk-TRZS7DLB.js +159 -0
- package/dist/{chunk-K6RWEQ6P.js → chunk-WRZPO4YL.js} +2 -2
- package/dist/{chunk-DD7RBNT4.js → chunk-XH55NRHO.js} +1 -1
- package/dist/{chunk-6RW2MUTY.js → chunk-XU7RQNT6.js} +1 -1
- package/dist/{chunk-AQNP3KQU.js → chunk-Y7PPKQFQ.js} +1 -1
- package/dist/generated/index.d.ts +4 -0
- package/dist/generated/index.js +92 -88
- package/dist/index.js +92 -88
- package/dist/styles.css +763 -30
- package/package.json +3 -3
- package/dist/{Editor-5D5Z3LBQ.js → Editor-VGNB35NJ.js} +1 -1
- package/dist/{chunk-22CU7V4J.js → chunk-K2HEYQJL.js} +1 -1
- package/dist/{chunk-REEZQCML.js → chunk-PAGITACP.js} +0 -0
- package/dist/{chunk-LMEMH6DO.js → chunk-WCJTOKTY.js} +1 -1
- 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 };
|
|
@@ -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-
|
|
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 = [
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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';
|