@crewlethq/ui 0.18.0 → 0.20.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 +40 -4
- package/dist/AccessDeniedCard/index.js +2 -2
- package/dist/AppShell/index.js +2 -2
- package/dist/ArrangeBoard/ArrangeBoard.d.ts +32 -0
- package/dist/ArrangeBoard/index.d.ts +3 -0
- package/dist/ArrangeBoard/index.js +2 -0
- package/dist/ArrangeBoard-MQE35P6Z.css +80 -0
- package/dist/ArrangeFrame/ArrangeFrame.d.ts +82 -0
- package/dist/ArrangeFrame/index.d.ts +5 -0
- package/dist/ArrangeFrame/index.js +5 -0
- package/dist/ArrangeFrame/useGridResize.d.ts +66 -0
- package/dist/ArrangeFrame-3PLZAG22.css +329 -0
- package/dist/ArrangeGroup/ArrangeGroup.d.ts +42 -0
- package/dist/ArrangeGroup/index.d.ts +3 -0
- package/dist/ArrangeGroup/index.js +4 -0
- package/dist/ArrangeGroup-SHFHA7BE.css +170 -0
- package/dist/ArrangeList/ArrangeList.d.ts +64 -0
- package/dist/ArrangeList/index.d.ts +3 -0
- package/dist/ArrangeList/index.js +10 -0
- package/dist/ArrangeList-NNRTDFI5.css +94 -0
- package/dist/ArtifactCard/index.js +2 -2
- package/dist/AuthLayout/index.js +2 -2
- package/dist/AvatarPicker/index.js +4 -4
- package/dist/Canvas/index.js +2 -2
- package/dist/Card/index.js +1 -1
- package/dist/Checkbox/index.js +3 -3
- package/dist/Combobox/index.js +4 -4
- package/dist/CommandPalette/index.js +6 -6
- package/dist/CommentThread/CommentThread.d.ts +85 -0
- package/dist/CommentThread/index.d.ts +3 -0
- package/dist/CommentThread/index.js +16 -0
- package/dist/CommentThread-7VXOFTZO.css +90 -0
- package/dist/Composer/index.js +3 -3
- package/dist/ConfirmField/index.js +3 -3
- package/dist/ConflictNote/ConflictNote.d.ts +42 -0
- package/dist/ConflictNote/index.d.ts +3 -0
- package/dist/ConflictNote/index.js +4 -0
- package/dist/ConflictNote-DH77PYF7.css +27 -0
- package/dist/DataTable/index.js +8 -8
- package/dist/DataView/index.js +13 -13
- package/dist/DateTimePicker/index.js +3 -3
- package/dist/DiffView/DiffView.d.ts +59 -0
- package/dist/DiffView/diff.d.ts +97 -0
- package/dist/DiffView/index.d.ts +5 -0
- package/dist/DiffView/index.js +3 -0
- package/dist/DiffView-RVLIHTKG.css +91 -0
- package/dist/Divider/Divider.d.ts +15 -0
- package/dist/Divider/index.d.ts +3 -0
- package/dist/Divider/index.js +2 -0
- package/dist/Divider-3Z77ZAJH.css +37 -0
- package/dist/HuePicker/HuePicker.d.ts +16 -4
- package/dist/HuePicker/index.js +2 -2
- package/dist/{HuePicker-5QIUR6L7.css → HuePicker-PAIGH6LR.css} +6 -0
- package/dist/IconTile/IconTile.d.ts +23 -0
- package/dist/IconTile/index.d.ts +3 -0
- package/dist/IconTile/index.js +2 -0
- package/dist/IconTile-4GNWTLAW.css +30 -0
- package/dist/Input/index.js +2 -2
- package/dist/LinkInterstitial/index.js +4 -4
- package/dist/ListInput/index.js +5 -5
- package/dist/MarkdownEditor/index.js +2 -2
- package/dist/Menu/index.js +2 -2
- package/dist/Modal/Modal.d.ts +20 -0
- package/dist/Modal/index.js +3 -3
- package/dist/{Modal-RQAYGG4L.css → Modal-XOSV6FAH.css} +14 -0
- package/dist/Note/Note.d.ts +23 -0
- package/dist/Note/index.d.ts +3 -0
- package/dist/Note/index.js +2 -0
- package/dist/Note-RT4L6VUT.css +58 -0
- package/dist/OrgTable/index.js +5 -5
- package/dist/PeopleRail/PeopleRail.d.ts +52 -0
- package/dist/PeopleRail/index.d.ts +3 -0
- package/dist/PeopleRail/index.js +11 -0
- package/dist/PeopleRail-R64WVOSH.css +75 -0
- package/dist/PinTile/PinTile.d.ts +37 -0
- package/dist/PinTile/index.d.ts +3 -0
- package/dist/PinTile/index.js +4 -0
- package/dist/PinTile-IIA25MNZ.css +141 -0
- package/dist/PresenceStack/index.js +1 -1
- package/dist/PrincipalPicker/index.js +5 -5
- package/dist/Reorder/index.d.ts +2 -0
- package/dist/Reorder/index.js +4 -0
- package/dist/Reorder/useReorder.d.ts +138 -0
- package/dist/ShareDialog/index.js +7 -7
- package/dist/SheetGrid/index.js +5 -5
- package/dist/StatGroup/StatGroup.d.ts +7 -1
- package/dist/StatGroup/index.js +1 -1
- package/dist/{StatGroup-HVG6O62W.css → StatGroup-PADTJCUQ.css} +7 -0
- package/dist/Switcher/index.js +8 -8
- package/dist/TableCells/TableCells.d.ts +153 -0
- package/dist/TableCells/index.d.ts +3 -0
- package/dist/TableCells/index.js +10 -0
- package/dist/TableCells-3VN5N2M3.css +104 -0
- package/dist/TagsInput/index.js +3 -3
- package/dist/TimeWindowPicker/index.js +5 -5
- package/dist/TreeCanvas/index.js +3 -3
- package/dist/TreeGrid/index.js +2 -2
- package/dist/VersionCompare/VersionCompare.d.ts +70 -0
- package/dist/VersionCompare/index.d.ts +3 -0
- package/dist/VersionCompare/index.js +11 -0
- package/dist/VersionCompare-UUZOPTQO.css +68 -0
- package/dist/chunk-35XVR5JQ.js +81 -0
- package/dist/chunk-63WJLRB2.js +24 -0
- package/dist/{chunk-L4ZLXYPO.js → chunk-6A7P6II6.js} +1 -1
- package/dist/chunk-6KWNXIDE.js +18 -0
- package/dist/chunk-6MIXD6IW.js +49 -0
- package/dist/chunk-73QBUUYX.js +102 -0
- package/dist/{chunk-NZY77ZDU.js → chunk-7FQEUNHX.js} +4 -4
- package/dist/{chunk-2TZATTIU.js → chunk-7IJARUIF.js} +18 -5
- package/dist/{chunk-A7EBCHEG.js → chunk-A4VMJMXJ.js} +1 -1
- package/dist/chunk-AIVZVKYZ.js +126 -0
- package/dist/{chunk-76FXDZAZ.js → chunk-AJESMWJS.js} +4 -4
- package/dist/chunk-BVWSLXTY.js +187 -0
- package/dist/chunk-DEJHAOC5.js +279 -0
- package/dist/{chunk-ERV5BUS3.js → chunk-EIGEIT4O.js} +3 -3
- package/dist/chunk-EZBLOUWX.js +176 -0
- package/dist/chunk-FFMCMSJB.js +1 -0
- package/dist/{chunk-LFZ45HV2.js → chunk-G3EEUNZQ.js} +1 -1
- package/dist/{chunk-2YR5ZPQ3.js → chunk-HTCJSUIZ.js} +3 -3
- package/dist/{chunk-75CLJNDQ.js → chunk-I6NZKJGK.js} +1 -1
- package/dist/chunk-IXJHTFXG.js +17 -0
- package/dist/{chunk-3UAA4IWJ.js → chunk-JEDWC3GI.js} +1 -1
- package/dist/{chunk-QVAFL2LE.js → chunk-JXRI5YD2.js} +3 -3
- package/dist/{chunk-ZFH7H7GS.js → chunk-LOLELDBW.js} +1 -1
- package/dist/chunk-MUGM7SEG.js +88 -0
- package/dist/chunk-N4GFRW5C.js +96 -0
- package/dist/{chunk-KVT3TJVG.js → chunk-OIMAK5AE.js} +6 -6
- package/dist/chunk-QO7QEQKV.js +24 -0
- package/dist/{chunk-BOW2VUCH.js → chunk-T7ICFXEC.js} +1 -1
- package/dist/{chunk-2OLCUNG7.js → chunk-TBIZSQHB.js} +1 -1
- package/dist/{chunk-4U3GQ7D2.js → chunk-TODND5AD.js} +1 -1
- package/dist/chunk-UO7JZVCO.js +35 -0
- package/dist/{chunk-IFKBDRNJ.js → chunk-UXELEORU.js} +3 -3
- package/dist/{chunk-6NIMZ5XC.js → chunk-VJLYGPPE.js} +1 -1
- package/dist/{chunk-7QFAORCY.js → chunk-WHZFDS62.js} +1 -1
- package/dist/chunk-XJ2QEBMM.js +277 -0
- package/dist/{chunk-PA4CYTBY.js → chunk-XU4ZUGLE.js} +19 -4
- package/dist/{chunk-T3ZWBZ65.js → chunk-YSJYWQSP.js} +2 -2
- package/dist/{chunk-CXBAIVYZ.js → chunk-YSY6UJ4F.js} +1 -1
- package/dist/{chunk-EG6NYWVK.js → chunk-YZCJ63JF.js} +1 -1
- package/dist/generated/index.d.ts +15 -0
- package/dist/generated/index.js +89 -74
- package/dist/index.js +89 -74
- package/dist/styles.css +1533 -70
- package/package.json +3 -3
- package/dist/chunk-EXHQ2QVW.js +0 -1
- package/dist/{chunk-AQCV62K6.js → chunk-7ZNKEPLN.js} +1 -1
- package/dist/{chunk-OYOQU7O5.js → chunk-EDGCPVVD.js} +1 -1
- package/dist/{chunk-FYXRWBJJ.js → chunk-J2G4HGQM.js} +1 -1
- package/dist/{chunk-NS7BVLL3.js → chunk-JULMZNGT.js} +1 -1
- package/dist/{chunk-5NVKTB6E.js → chunk-L4H7SSWF.js} +1 -1
- package/dist/{chunk-ESKP3TXM.js → chunk-MSSZHDZI.js} +0 -0
- package/dist/{chunk-4GB57WIT.js → chunk-Q55TXPA3.js} +1 -1
- package/dist/{chunk-B2Z2CDM5.js → chunk-T5TFZ2JB.js} +1 -1
- package/dist/{chunk-AMH67MLM.js → chunk-TXAFKH2A.js} +1 -1
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* ArrangeList: rows a reader puts in order and switches on and off.
|
|
3
|
+
*
|
|
4
|
+
* The row is a quiet inset band rather than a card: a panel holding eight of
|
|
5
|
+
* them is a list, and eight bordered boxes read as eight separate objects.
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
.crewlet-arrange-list {
|
|
9
|
+
display: flex;
|
|
10
|
+
flex-direction: column;
|
|
11
|
+
gap: var(--spacing-1);
|
|
12
|
+
margin: 0;
|
|
13
|
+
padding: 0;
|
|
14
|
+
list-style: none;
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
.crewlet-arrange-list__item {
|
|
18
|
+
display: flex;
|
|
19
|
+
align-items: center;
|
|
20
|
+
gap: var(--spacing-2);
|
|
21
|
+
min-height: var(--size-row-lg);
|
|
22
|
+
padding: var(--spacing-1) var(--spacing-2) var(--spacing-1) var(--spacing-1);
|
|
23
|
+
border: 1px solid transparent;
|
|
24
|
+
border-radius: var(--radius-md);
|
|
25
|
+
background: var(--color-surface-subtle);
|
|
26
|
+
transition: background-color var(--motion-duration-fast) var(--motion-easing-default),
|
|
27
|
+
border-color var(--motion-duration-fast) var(--motion-easing-default);
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
.crewlet-arrange-list__item:hover {
|
|
31
|
+
border-color: var(--color-border-default);
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
/* The row being carried is a gap in the list, outlined where it will land. */
|
|
35
|
+
.crewlet-arrange-list__item[data-reorder='dragging'] {
|
|
36
|
+
border-style: dashed;
|
|
37
|
+
border-color: var(--color-border-strong);
|
|
38
|
+
background: transparent;
|
|
39
|
+
}
|
|
40
|
+
.crewlet-arrange-list__item[data-reorder='dragging'] > * {
|
|
41
|
+
opacity: 0.4;
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
.crewlet-arrange-list__handle {
|
|
45
|
+
flex-shrink: 0;
|
|
46
|
+
cursor: grab;
|
|
47
|
+
color: var(--color-text-tertiary);
|
|
48
|
+
}
|
|
49
|
+
.crewlet-arrange-list__handle:active {
|
|
50
|
+
cursor: grabbing;
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
.crewlet-arrange-list__label {
|
|
54
|
+
display: inline-flex;
|
|
55
|
+
align-items: center;
|
|
56
|
+
gap: var(--spacing-2);
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
.crewlet-arrange-list__icon {
|
|
60
|
+
display: inline-flex;
|
|
61
|
+
flex-shrink: 0;
|
|
62
|
+
color: var(--color-text-secondary);
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
/* The toggle takes the row's width, so its label is the row's target. */
|
|
66
|
+
.crewlet-arrange-list__toggle {
|
|
67
|
+
flex: 1 1 auto;
|
|
68
|
+
min-width: 0;
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
/* Off, the words step back; the switch itself already says off. */
|
|
72
|
+
.crewlet-arrange-list__item.is-off .crewlet-arrange-list__icon,
|
|
73
|
+
.crewlet-arrange-list__item.is-off .crewlet-switch__label,
|
|
74
|
+
.crewlet-arrange-list__item.is-off .crewlet-checkbox__label {
|
|
75
|
+
color: var(--color-text-tertiary);
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
.crewlet-arrange-list__trailing {
|
|
79
|
+
display: inline-flex;
|
|
80
|
+
flex-shrink: 0;
|
|
81
|
+
align-items: center;
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
.crewlet-arrange-list__moves {
|
|
85
|
+
display: inline-flex;
|
|
86
|
+
flex-shrink: 0;
|
|
87
|
+
gap: 2px;
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
@media (prefers-reduced-motion: reduce) {
|
|
91
|
+
.crewlet-arrange-list__item {
|
|
92
|
+
transition: none;
|
|
93
|
+
}
|
|
94
|
+
}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
export { ARTIFACT_KINDS, ArtifactCard, ArtifactKindGlyph } from '../chunk-
|
|
1
|
+
export { ARTIFACT_KINDS, ArtifactCard, ArtifactKindGlyph } from '../chunk-TODND5AD.js';
|
|
2
2
|
import '../chunk-4KP4RC3O.js';
|
|
3
3
|
import '../chunk-3CZ7XAVY.js';
|
|
4
4
|
import '../chunk-EUCC37WY.js';
|
|
5
5
|
import '../chunk-UAN5NE7M.js';
|
|
6
6
|
import '../chunk-5OM447RW.js';
|
|
7
|
-
import '../chunk-
|
|
7
|
+
import '../chunk-YZCJ63JF.js';
|
|
8
8
|
import '../chunk-AV2DXAEL.js';
|
|
9
9
|
import '../chunk-PQADV6P6.js';
|
|
10
10
|
import '../chunk-BHHIIK3M.js';
|
package/dist/AuthLayout/index.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
export { AuthLayout } from '../chunk-
|
|
1
|
+
export { AuthLayout } from '../chunk-WHZFDS62.js';
|
|
2
2
|
import '../chunk-7KBNFFM3.js';
|
|
3
|
-
import '../chunk-
|
|
3
|
+
import '../chunk-YZCJ63JF.js';
|
|
4
4
|
import '../chunk-AV2DXAEL.js';
|
|
5
5
|
import '../chunk-PQADV6P6.js';
|
|
6
6
|
import '../chunk-BHHIIK3M.js';
|
|
@@ -1,14 +1,14 @@
|
|
|
1
|
-
export { AvatarPicker } from '../chunk-
|
|
2
|
-
import '../chunk-
|
|
1
|
+
export { AvatarPicker } from '../chunk-T7ICFXEC.js';
|
|
2
|
+
import '../chunk-XU4ZUGLE.js';
|
|
3
3
|
import '../chunk-26PEPONN.js';
|
|
4
4
|
import '../chunk-4LDTQWS7.js';
|
|
5
5
|
import '../chunk-BWRGFKJP.js';
|
|
6
6
|
import '../chunk-AYKXMIOR.js';
|
|
7
7
|
import '../chunk-5PSXBL73.js';
|
|
8
8
|
import '../chunk-CBOICT64.js';
|
|
9
|
-
import '../chunk-HMPFGIWM.js';
|
|
10
|
-
import '../chunk-R25RGPUB.js';
|
|
11
9
|
import '../chunk-5OM447RW.js';
|
|
12
10
|
import '../chunk-BHHIIK3M.js';
|
|
11
|
+
import '../chunk-HMPFGIWM.js';
|
|
12
|
+
import '../chunk-R25RGPUB.js';
|
|
13
13
|
import '../chunk-BZFWDIV6.js';
|
|
14
14
|
import '../chunk-ODEQTPFM.js';
|
package/dist/Canvas/index.js
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
export { CANVAS_COMPOSE_CONTEXT, CANVAS_FIT_MAX_ZOOM, CANVAS_FIT_PADDING, CANVAS_FOCUS_CONTEXT, CANVAS_MAX_ZOOM, CANVAS_MIN_ZOOM, CANVAS_PAN_MARGIN, CANVAS_PAN_STEP, CANVAS_REVEAL_PADDING, CANVAS_TAP_SLOP, CANVAS_WHEEL_LINE_PX, CANVAS_WHEEL_ZOOM_PER_PIXEL, CANVAS_ZOOM_CEILING, CANVAS_ZOOM_LIMITS, CANVAS_ZOOM_STEP, Canvas, IDENTITY_VIEW, anchorView, beyondSlop, clampPan, clampZoom, fitView, panBy, pinchView, regionView, revealView, screenRect, toScreen, toWorld, wheelPixels, wheelZoomFactor, zoomAt, zoomLimits } from '../chunk-
|
|
1
|
+
export { CANVAS_COMPOSE_CONTEXT, CANVAS_FIT_MAX_ZOOM, CANVAS_FIT_PADDING, CANVAS_FOCUS_CONTEXT, CANVAS_MAX_ZOOM, CANVAS_MIN_ZOOM, CANVAS_PAN_MARGIN, CANVAS_PAN_STEP, CANVAS_REVEAL_PADDING, CANVAS_TAP_SLOP, CANVAS_WHEEL_LINE_PX, CANVAS_WHEEL_ZOOM_PER_PIXEL, CANVAS_ZOOM_CEILING, CANVAS_ZOOM_LIMITS, CANVAS_ZOOM_STEP, Canvas, IDENTITY_VIEW, anchorView, beyondSlop, clampPan, clampZoom, fitView, panBy, pinchView, regionView, revealView, screenRect, toScreen, toWorld, wheelPixels, wheelZoomFactor, zoomAt, zoomLimits } from '../chunk-TXAFKH2A.js';
|
|
2
2
|
import '../chunk-VYOKRN2I.js';
|
|
3
3
|
import '../chunk-OG6CL3EB.js';
|
|
4
|
-
import '../chunk-4FQT6ZAY.js';
|
|
5
4
|
import '../chunk-HMPFGIWM.js';
|
|
6
5
|
import '../chunk-R25RGPUB.js';
|
|
6
|
+
import '../chunk-4FQT6ZAY.js';
|
|
7
7
|
import '../chunk-BZFWDIV6.js';
|
|
8
8
|
import '../chunk-ODEQTPFM.js';
|
package/dist/Card/index.js
CHANGED
package/dist/Checkbox/index.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
export { Checkbox, CheckboxGroup } from '../chunk-
|
|
2
|
-
import '../chunk-
|
|
3
|
-
import '../chunk-4FQT6ZAY.js';
|
|
1
|
+
export { Checkbox, CheckboxGroup } from '../chunk-I6NZKJGK.js';
|
|
2
|
+
import '../chunk-Q55TXPA3.js';
|
|
4
3
|
import '../chunk-PQADV6P6.js';
|
|
4
|
+
import '../chunk-4FQT6ZAY.js';
|
|
5
5
|
import '../chunk-BZFWDIV6.js';
|
|
6
6
|
import '../chunk-ODEQTPFM.js';
|
package/dist/Combobox/index.js
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
export { Combobox } from '../chunk-
|
|
1
|
+
export { Combobox } from '../chunk-LOLELDBW.js';
|
|
2
2
|
import '../chunk-F73MC7EZ.js';
|
|
3
|
-
import '../chunk-
|
|
4
|
-
import '../chunk-4FQT6ZAY.js';
|
|
5
|
-
import '../chunk-R25RGPUB.js';
|
|
3
|
+
import '../chunk-Q55TXPA3.js';
|
|
6
4
|
import '../chunk-PQADV6P6.js';
|
|
5
|
+
import '../chunk-R25RGPUB.js';
|
|
6
|
+
import '../chunk-4FQT6ZAY.js';
|
|
7
7
|
import '../chunk-BZFWDIV6.js';
|
|
8
8
|
import '../chunk-ODEQTPFM.js';
|
|
@@ -1,13 +1,13 @@
|
|
|
1
|
-
export { CommandPalette } from '../chunk-
|
|
2
|
-
import '../chunk-
|
|
1
|
+
export { CommandPalette } from '../chunk-UXELEORU.js';
|
|
2
|
+
import '../chunk-7IJARUIF.js';
|
|
3
3
|
import '../chunk-F73MC7EZ.js';
|
|
4
4
|
import '../chunk-SMBKXWML.js';
|
|
5
|
-
import '../chunk-4GB57WIT.js';
|
|
6
5
|
import '../chunk-OG6CL3EB.js';
|
|
7
|
-
import '../chunk-
|
|
8
|
-
import '../chunk-HMPFGIWM.js';
|
|
9
|
-
import '../chunk-R25RGPUB.js';
|
|
6
|
+
import '../chunk-Q55TXPA3.js';
|
|
10
7
|
import '../chunk-PQADV6P6.js';
|
|
11
8
|
import '../chunk-BHHIIK3M.js';
|
|
9
|
+
import '../chunk-HMPFGIWM.js';
|
|
10
|
+
import '../chunk-R25RGPUB.js';
|
|
11
|
+
import '../chunk-4FQT6ZAY.js';
|
|
12
12
|
import '../chunk-BZFWDIV6.js';
|
|
13
13
|
import '../chunk-ODEQTPFM.js';
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
import { type ReactNode } from 'react';
|
|
2
|
+
import { type Principal } from '../Principal/index.js';
|
|
3
|
+
import { type TimeValue } from '../RelativeTime/index.js';
|
|
4
|
+
/** One remark in a thread. */
|
|
5
|
+
export interface CommentThreadComment {
|
|
6
|
+
/** Stable across edits: what a reply points at. */
|
|
7
|
+
id: string;
|
|
8
|
+
/** Who wrote it. Absent, the remark is the system's, named by `labels.system`. */
|
|
9
|
+
author?: Principal | null | undefined;
|
|
10
|
+
/** The remark, already rendered by the host: markdown turned into elements, or plain text. */
|
|
11
|
+
body: ReactNode;
|
|
12
|
+
createdAt: TimeValue;
|
|
13
|
+
/** When it was last edited. "(edited)" is shown when it differs from `createdAt`. */
|
|
14
|
+
editedAt?: TimeValue | undefined;
|
|
15
|
+
/** The id of the remark this one answers. */
|
|
16
|
+
replyTo?: string | undefined;
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* What a submit answers. `false` keeps the draft and the reply target, for a
|
|
20
|
+
* write the server refused; anything else clears them.
|
|
21
|
+
*/
|
|
22
|
+
export type CommentThreadSubmitResult = boolean | void;
|
|
23
|
+
export interface CommentThreadLabels {
|
|
24
|
+
heading: string;
|
|
25
|
+
empty: string;
|
|
26
|
+
/** The author of a remark that names nobody. */
|
|
27
|
+
system: string;
|
|
28
|
+
edited: string;
|
|
29
|
+
inReplyTo: (name: string) => string;
|
|
30
|
+
/** The Reply control's accessible name, which names whose remark it answers. */
|
|
31
|
+
replyTo: (name: string) => string;
|
|
32
|
+
reply: string;
|
|
33
|
+
replying: (name: string) => string;
|
|
34
|
+
stopReplying: string;
|
|
35
|
+
/** The field's accessible name. `subject` is the document commented on, when the host names one. */
|
|
36
|
+
field: (subject: string | undefined, replyingTo: string | undefined) => string;
|
|
37
|
+
placeholder: string;
|
|
38
|
+
submit: string;
|
|
39
|
+
submitReply: string;
|
|
40
|
+
/** Why the submit control waits while the field is empty. */
|
|
41
|
+
emptyDraft: string;
|
|
42
|
+
}
|
|
43
|
+
export declare const COMMENT_THREAD_LABELS: CommentThreadLabels;
|
|
44
|
+
export interface CommentThreadProps {
|
|
45
|
+
comments: readonly CommentThreadComment[];
|
|
46
|
+
/** The document commented on, named in the field's label: Comment on "Onboarding". */
|
|
47
|
+
subject?: string | undefined;
|
|
48
|
+
/**
|
|
49
|
+
* Posts a remark, or a reply when `replyTo` is set. Without it the thread is
|
|
50
|
+
* read-only: no field and no Reply controls. Resolve to `false` to keep the
|
|
51
|
+
* draft, such as when the server refused the write.
|
|
52
|
+
*/
|
|
53
|
+
onSubmit?: ((body: string, replyTo: CommentThreadComment | null) => CommentThreadSubmitResult | Promise<CommentThreadSubmitResult>) | undefined;
|
|
54
|
+
/** Why the reader cannot post right now. The submit control is disabled and the reason is shown under it. */
|
|
55
|
+
disabledReason?: string | undefined;
|
|
56
|
+
/** A post in flight that the host is tracking. The thread also tracks its own. */
|
|
57
|
+
busy?: boolean | undefined;
|
|
58
|
+
/** A line beside the submit control: who is told, how the remark is shared. */
|
|
59
|
+
hint?: ReactNode;
|
|
60
|
+
/** Under the field: the server's refusal of the last post, as the host words it. */
|
|
61
|
+
notice?: ReactNode;
|
|
62
|
+
/** Whether the thread draws its own heading. On by default; off where the host already titles the section. */
|
|
63
|
+
heading?: boolean | undefined;
|
|
64
|
+
/** Overrides the shared clock, for a story or a suite. */
|
|
65
|
+
now?: number | undefined;
|
|
66
|
+
labels?: Partial<CommentThreadLabels> | undefined;
|
|
67
|
+
className?: string | undefined;
|
|
68
|
+
}
|
|
69
|
+
/**
|
|
70
|
+
* A document's comments, oldest first, and a field to add one.
|
|
71
|
+
*
|
|
72
|
+
* A REPLY NAMES WHAT IT ANSWERS in words ("in reply to Maya"), so the thread
|
|
73
|
+
* stays flat and readable in order while each answer still points at its
|
|
74
|
+
* question. Pressing Reply moves focus into the field, which names whom it
|
|
75
|
+
* answers, and the reply can be abandoned from beside it.
|
|
76
|
+
*
|
|
77
|
+
* THE BODY IS THE HOST'S. A remark arrives already rendered (markdown into
|
|
78
|
+
* elements), so this draws it in the kit's document type at the size a remark
|
|
79
|
+
* read beside other things takes, and never parses anything itself.
|
|
80
|
+
*
|
|
81
|
+
* A SUBMIT IS ONE AT A TIME. The submit control is disabled while a post is in
|
|
82
|
+
* flight, so a second press cannot send the same remark twice, and the draft
|
|
83
|
+
* is cleared only once the host says the post landed.
|
|
84
|
+
*/
|
|
85
|
+
export declare function CommentThread({ comments, subject, onSubmit, disabledReason, busy, hint, notice, heading, now, labels: overrides, className, }: CommentThreadProps): import("react").JSX.Element;
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
export { COMMENT_THREAD_LABELS, CommentThread } from '../chunk-EZBLOUWX.js';
|
|
2
|
+
import '../chunk-WI6K5M5X.js';
|
|
3
|
+
import '../chunk-VJLYGPPE.js';
|
|
4
|
+
import '../chunk-SMBKXWML.js';
|
|
5
|
+
import '../chunk-OG6CL3EB.js';
|
|
6
|
+
import '../chunk-Q55TXPA3.js';
|
|
7
|
+
import '../chunk-4KP4RC3O.js';
|
|
8
|
+
import '../chunk-3CZ7XAVY.js';
|
|
9
|
+
import '../chunk-EUCC37WY.js';
|
|
10
|
+
import '../chunk-UAN5NE7M.js';
|
|
11
|
+
import '../chunk-5OM447RW.js';
|
|
12
|
+
import '../chunk-PQADV6P6.js';
|
|
13
|
+
import '../chunk-BHHIIK3M.js';
|
|
14
|
+
import '../chunk-4FQT6ZAY.js';
|
|
15
|
+
import '../chunk-BZFWDIV6.js';
|
|
16
|
+
import '../chunk-ODEQTPFM.js';
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
/* CommentThread: a document's remarks, one per row with a hairline between,
|
|
2
|
+
then the field to add one. */
|
|
3
|
+
.crewlet-comment-thread {
|
|
4
|
+
display: flex;
|
|
5
|
+
flex-direction: column;
|
|
6
|
+
gap: var(--spacing-3);
|
|
7
|
+
min-width: 0;
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
.crewlet-comment-thread__heading {
|
|
11
|
+
display: flex;
|
|
12
|
+
align-items: center;
|
|
13
|
+
gap: var(--spacing-2);
|
|
14
|
+
margin: 0;
|
|
15
|
+
color: var(--color-text-primary);
|
|
16
|
+
font-size: var(--font-size-sm);
|
|
17
|
+
font-weight: var(--font-weight-semibold);
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
.crewlet-comment-thread__empty,
|
|
21
|
+
.crewlet-comment-thread__hint {
|
|
22
|
+
margin: 0;
|
|
23
|
+
color: var(--color-text-tertiary);
|
|
24
|
+
font-size: var(--font-size-compact);
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
.crewlet-comment-thread__list {
|
|
28
|
+
display: flex;
|
|
29
|
+
flex-direction: column;
|
|
30
|
+
margin: 0;
|
|
31
|
+
padding: 0;
|
|
32
|
+
list-style: none;
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
.crewlet-comment-thread__comment {
|
|
36
|
+
display: flex;
|
|
37
|
+
flex-direction: column;
|
|
38
|
+
gap: var(--spacing-2);
|
|
39
|
+
min-width: 0;
|
|
40
|
+
padding: var(--spacing-3) 0;
|
|
41
|
+
border-bottom: 1px solid var(--color-border-default);
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
.crewlet-comment-thread__head {
|
|
45
|
+
display: flex;
|
|
46
|
+
flex-wrap: wrap;
|
|
47
|
+
align-items: center;
|
|
48
|
+
gap: var(--spacing-2);
|
|
49
|
+
min-width: 0;
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
.crewlet-comment-thread__author {
|
|
53
|
+
display: inline-flex;
|
|
54
|
+
align-items: center;
|
|
55
|
+
gap: var(--spacing-2);
|
|
56
|
+
min-width: 0;
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
.crewlet-comment-thread__name {
|
|
60
|
+
overflow: hidden;
|
|
61
|
+
color: var(--color-text-primary);
|
|
62
|
+
font-weight: var(--font-weight-semibold);
|
|
63
|
+
text-overflow: ellipsis;
|
|
64
|
+
white-space: nowrap;
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
.crewlet-comment-thread__meta {
|
|
68
|
+
color: var(--color-text-tertiary);
|
|
69
|
+
font-size: var(--font-size-xs);
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
/* Reply sits at the row's far end, wherever the head wraps. */
|
|
73
|
+
.crewlet-comment-thread__reply {
|
|
74
|
+
margin-inline-start: auto;
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
.crewlet-comment-thread__compose {
|
|
78
|
+
display: flex;
|
|
79
|
+
flex-direction: column;
|
|
80
|
+
gap: var(--spacing-2);
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
.crewlet-comment-thread__replying {
|
|
84
|
+
display: flex;
|
|
85
|
+
flex-wrap: wrap;
|
|
86
|
+
align-items: center;
|
|
87
|
+
gap: var(--spacing-2);
|
|
88
|
+
color: var(--color-text-tertiary);
|
|
89
|
+
font-size: var(--font-size-xs);
|
|
90
|
+
}
|
package/dist/Composer/index.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
export { COMPOSER_COUNTER_AT, Composer } from '../chunk-
|
|
1
|
+
export { COMPOSER_COUNTER_AT, Composer } from '../chunk-VJLYGPPE.js';
|
|
2
2
|
import '../chunk-SMBKXWML.js';
|
|
3
|
-
import '../chunk-
|
|
4
|
-
import '../chunk-4FQT6ZAY.js';
|
|
3
|
+
import '../chunk-Q55TXPA3.js';
|
|
5
4
|
import '../chunk-PQADV6P6.js';
|
|
5
|
+
import '../chunk-4FQT6ZAY.js';
|
|
6
6
|
import '../chunk-BZFWDIV6.js';
|
|
7
7
|
import '../chunk-ODEQTPFM.js';
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
export { ConfirmField, confirmMatches } from '../chunk-
|
|
1
|
+
export { ConfirmField, confirmMatches } from '../chunk-YSY6UJ4F.js';
|
|
2
2
|
import '../chunk-5CLW2CXT.js';
|
|
3
|
-
import '../chunk-
|
|
4
|
-
import '../chunk-4FQT6ZAY.js';
|
|
3
|
+
import '../chunk-Q55TXPA3.js';
|
|
5
4
|
import '../chunk-PQADV6P6.js';
|
|
5
|
+
import '../chunk-4FQT6ZAY.js';
|
|
6
6
|
import '../chunk-BZFWDIV6.js';
|
|
7
7
|
import '../chunk-ODEQTPFM.js';
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import type { HTMLAttributes, ReactNode } from 'react';
|
|
2
|
+
export interface ConflictNoteLabels {
|
|
3
|
+
/** The sentence once the host knows who won the race. */
|
|
4
|
+
changedBy: (subject: string, name: string) => string;
|
|
5
|
+
/** The sentence while it does not, or when nobody can be named. */
|
|
6
|
+
changed: (subject: string) => string;
|
|
7
|
+
dismiss: string;
|
|
8
|
+
}
|
|
9
|
+
export declare const CONFLICT_NOTE_LABELS: ConflictNoteLabels;
|
|
10
|
+
export interface ConflictNoteProps extends Omit<HTMLAttributes<HTMLDivElement>, 'children' | 'role'> {
|
|
11
|
+
/** What the sentence calls the record the reader tried to change: a key, a title. */
|
|
12
|
+
subject: string;
|
|
13
|
+
/**
|
|
14
|
+
* Who changed it in the meantime, once the host has looked it up. Without
|
|
15
|
+
* it the note says the record changed and names nobody, or says `message`.
|
|
16
|
+
*/
|
|
17
|
+
changedBy?: string | undefined;
|
|
18
|
+
/**
|
|
19
|
+
* The sentence to say while nobody can be named, in place of the default:
|
|
20
|
+
* usually the server's own refusal.
|
|
21
|
+
*/
|
|
22
|
+
message?: ReactNode;
|
|
23
|
+
/** Takes the note down. Without it the note offers no Dismiss control. */
|
|
24
|
+
onDismiss?: (() => void) | undefined;
|
|
25
|
+
/** Controls beside Dismiss: "Reload", "Keep mine". */
|
|
26
|
+
actions?: ReactNode;
|
|
27
|
+
labels?: Partial<ConflictNoteLabels> | undefined;
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* The refusal of a lost race: somebody changed a record between the reader's
|
|
31
|
+
* read and their write, and the write was refused.
|
|
32
|
+
*
|
|
33
|
+
* IT NAMES WHO WON, when the host can say, because "changed by Maya since you
|
|
34
|
+
* opened it" names the person to talk to where "somebody else" names nobody.
|
|
35
|
+
* Until the host knows, it says the record changed, or the server's own
|
|
36
|
+
* sentence.
|
|
37
|
+
*
|
|
38
|
+
* AN ALERT, because it answers a press the reader just made and they need to
|
|
39
|
+
* hear that the change did not land. The glyph is drawn beside the words so
|
|
40
|
+
* the danger ink is never the only carrier.
|
|
41
|
+
*/
|
|
42
|
+
export declare function ConflictNote({ subject, changedBy, message, onDismiss, actions, labels: overrides, className, ...rest }: ConflictNoteProps): import("react").JSX.Element;
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
/* ConflictNote: a refused write's sentence in the danger ink, with its glyph
|
|
2
|
+
so the colour is never the only carrier, and its controls beside it. */
|
|
3
|
+
.crewlet-conflict-note {
|
|
4
|
+
display: flex;
|
|
5
|
+
flex-wrap: wrap;
|
|
6
|
+
align-items: center;
|
|
7
|
+
gap: var(--spacing-1) var(--spacing-2);
|
|
8
|
+
max-width: 40rem;
|
|
9
|
+
color: var(--color-feedback-danger-ink);
|
|
10
|
+
font-size: var(--font-size-compact);
|
|
11
|
+
overflow-wrap: anywhere;
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
.crewlet-conflict-note__glyph {
|
|
15
|
+
flex: none;
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
.crewlet-conflict-note__text {
|
|
19
|
+
flex: 1 1 16rem;
|
|
20
|
+
min-width: 0;
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
.crewlet-conflict-note__actions {
|
|
24
|
+
display: inline-flex;
|
|
25
|
+
flex-wrap: wrap;
|
|
26
|
+
gap: var(--spacing-1);
|
|
27
|
+
}
|
package/dist/DataTable/index.js
CHANGED
|
@@ -1,16 +1,16 @@
|
|
|
1
|
-
export { ALL_ITEMS, CopyableCell, DATA_TABLE_LABELS, DataTable, RowActionsMenu } from '../chunk-
|
|
2
|
-
import '../chunk-
|
|
3
|
-
import '../chunk-2TZATTIU.js';
|
|
4
|
-
import '../chunk-75CLJNDQ.js';
|
|
5
|
-
import '../chunk-4GB57WIT.js';
|
|
1
|
+
export { ALL_ITEMS, CopyableCell, DATA_TABLE_LABELS, DataTable, RowActionsMenu } from '../chunk-AJESMWJS.js';
|
|
2
|
+
import '../chunk-JULMZNGT.js';
|
|
6
3
|
import '../chunk-STJ7QBC3.js';
|
|
7
4
|
import '../chunk-DTIW4CHZ.js';
|
|
5
|
+
import '../chunk-7IJARUIF.js';
|
|
8
6
|
import '../chunk-OG6CL3EB.js';
|
|
9
|
-
import '../chunk-
|
|
10
|
-
import '../chunk-
|
|
11
|
-
import '../chunk-R25RGPUB.js';
|
|
7
|
+
import '../chunk-I6NZKJGK.js';
|
|
8
|
+
import '../chunk-Q55TXPA3.js';
|
|
12
9
|
import '../chunk-EUCC37WY.js';
|
|
13
10
|
import '../chunk-AV2DXAEL.js';
|
|
14
11
|
import '../chunk-PQADV6P6.js';
|
|
12
|
+
import '../chunk-HMPFGIWM.js';
|
|
13
|
+
import '../chunk-R25RGPUB.js';
|
|
14
|
+
import '../chunk-4FQT6ZAY.js';
|
|
15
15
|
import '../chunk-BZFWDIV6.js';
|
|
16
16
|
import '../chunk-ODEQTPFM.js';
|
package/dist/DataView/index.js
CHANGED
|
@@ -1,26 +1,26 @@
|
|
|
1
|
-
export { DATA_VIEW_TOOLBAR_LABELS, DataView, DataViewToolbar, FILTER_AXIS_LABELS, FilterAxisBar, FilterAxisChip, applyColumnFilters, applyFilters, blankFilterValue, defaultOperator, filterDefsFromColumns, filterHasValue, filterPredicate, formatFilterValue, operatorOf, tableColumns } from '../chunk-
|
|
1
|
+
export { DATA_VIEW_TOOLBAR_LABELS, DataView, DataViewToolbar, FILTER_AXIS_LABELS, FilterAxisBar, FilterAxisChip, applyColumnFilters, applyFilters, blankFilterValue, defaultOperator, filterDefsFromColumns, filterHasValue, filterPredicate, formatFilterValue, operatorOf, tableColumns } from '../chunk-OIMAK5AE.js';
|
|
2
2
|
import '../chunk-HOXGBLEY.js';
|
|
3
3
|
import '../chunk-PGRPNDWM.js';
|
|
4
|
-
import '../chunk-
|
|
5
|
-
import '../chunk-
|
|
6
|
-
import '../chunk-
|
|
7
|
-
import '../chunk-2TZATTIU.js';
|
|
8
|
-
import '../chunk-F73MC7EZ.js';
|
|
9
|
-
import '../chunk-SMBKXWML.js';
|
|
10
|
-
import '../chunk-75CLJNDQ.js';
|
|
11
|
-
import '../chunk-4GB57WIT.js';
|
|
4
|
+
import '../chunk-AJESMWJS.js';
|
|
5
|
+
import '../chunk-JULMZNGT.js';
|
|
6
|
+
import '../chunk-L4H7SSWF.js';
|
|
12
7
|
import '../chunk-STJ7QBC3.js';
|
|
13
8
|
import '../chunk-DTIW4CHZ.js';
|
|
14
|
-
import '../chunk-
|
|
9
|
+
import '../chunk-7IJARUIF.js';
|
|
10
|
+
import '../chunk-F73MC7EZ.js';
|
|
11
|
+
import '../chunk-SMBKXWML.js';
|
|
15
12
|
import '../chunk-GXQ3B46I.js';
|
|
16
13
|
import '../chunk-OG6CL3EB.js';
|
|
17
|
-
import '../chunk-
|
|
18
|
-
import '../chunk-
|
|
19
|
-
import '../chunk-R25RGPUB.js';
|
|
14
|
+
import '../chunk-I6NZKJGK.js';
|
|
15
|
+
import '../chunk-Q55TXPA3.js';
|
|
20
16
|
import '../chunk-3CZ7XAVY.js';
|
|
21
17
|
import '../chunk-EUCC37WY.js';
|
|
18
|
+
import '../chunk-BWRGFKJP.js';
|
|
22
19
|
import '../chunk-AV2DXAEL.js';
|
|
23
20
|
import '../chunk-PQADV6P6.js';
|
|
24
21
|
import '../chunk-BHHIIK3M.js';
|
|
22
|
+
import '../chunk-HMPFGIWM.js';
|
|
23
|
+
import '../chunk-R25RGPUB.js';
|
|
24
|
+
import '../chunk-4FQT6ZAY.js';
|
|
25
25
|
import '../chunk-BZFWDIV6.js';
|
|
26
26
|
import '../chunk-ODEQTPFM.js';
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
export { DEFAULT_DATE_TIME_PICKER_LABELS, DateTimePicker } from '../chunk-
|
|
2
|
-
import '../chunk-BWRGFKJP.js';
|
|
1
|
+
export { DEFAULT_DATE_TIME_PICKER_LABELS, DateTimePicker } from '../chunk-L4H7SSWF.js';
|
|
3
2
|
import '../chunk-GXQ3B46I.js';
|
|
4
3
|
import '../chunk-OG6CL3EB.js';
|
|
5
|
-
import '../chunk-
|
|
4
|
+
import '../chunk-BWRGFKJP.js';
|
|
6
5
|
import '../chunk-HMPFGIWM.js';
|
|
7
6
|
import '../chunk-R25RGPUB.js';
|
|
7
|
+
import '../chunk-4FQT6ZAY.js';
|
|
8
8
|
import '../chunk-BZFWDIV6.js';
|
|
9
9
|
import '../chunk-ODEQTPFM.js';
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
import type { HTMLAttributes } from 'react';
|
|
2
|
+
import type { DiffSection } from './diff.js';
|
|
3
|
+
export interface DiffViewLabels {
|
|
4
|
+
/** The row a dropped run of unchanged lines is drawn as: "12 unchanged lines". */
|
|
5
|
+
skipped: (count: number) => string;
|
|
6
|
+
/** Read in place of the `+` mark on an added line. */
|
|
7
|
+
added: string;
|
|
8
|
+
/** Read in place of the minus mark on a removed line. */
|
|
9
|
+
removed: string;
|
|
10
|
+
/** The region's accessible name when the caller gives none. */
|
|
11
|
+
region: string;
|
|
12
|
+
}
|
|
13
|
+
export declare const DIFF_VIEW_LABELS: DiffViewLabels;
|
|
14
|
+
export interface DiffViewProps extends Omit<HTMLAttributes<HTMLDivElement>, 'children'> {
|
|
15
|
+
/**
|
|
16
|
+
* The lines to draw, grouped into sections with the count of unchanged
|
|
17
|
+
* lines dropped before each: `collapseDiff(diffLines(before, after))`, or
|
|
18
|
+
* sections a host computed some other way.
|
|
19
|
+
*/
|
|
20
|
+
sections: readonly DiffSection[];
|
|
21
|
+
labels?: Partial<DiffViewLabels> | undefined;
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* A line diff, rendered as the document it is.
|
|
25
|
+
*
|
|
26
|
+
* MONOSPACE AND LINE-NUMBERED on both sides, because the two numbers are what
|
|
27
|
+
* a reader uses to find the paragraph in the version beside it. A skipped run
|
|
28
|
+
* is a row of its own saying how many lines it stands for: a gap silently
|
|
29
|
+
* closed makes a document edited at both ends look like one rewritten in the
|
|
30
|
+
* middle.
|
|
31
|
+
*
|
|
32
|
+
* COLOUR IS NEVER THE ONLY SIGNAL. An added or removed line carries a tint, a
|
|
33
|
+
* drawn mark and a word: the mark is hidden from assistive technology and the
|
|
34
|
+
* word ("Added", "Removed") is read in its place, because a minus sign is
|
|
35
|
+
* announced as anything from "minus" to nothing at all.
|
|
36
|
+
*/
|
|
37
|
+
export declare function DiffView({ sections, labels: overrides, className, 'aria-label': ariaLabel, ...rest }: DiffViewProps): import("react").JSX.Element;
|
|
38
|
+
export interface DiffSummaryLabels {
|
|
39
|
+
/** Read in place of the drawn counts: "3 lines added, 1 removed". */
|
|
40
|
+
spoken: (added: number, removed: number) => string;
|
|
41
|
+
/** What the counts are measured against: "against version 4". */
|
|
42
|
+
against: (what: string) => string;
|
|
43
|
+
}
|
|
44
|
+
export declare const DIFF_SUMMARY_LABELS: DiffSummaryLabels;
|
|
45
|
+
export interface DiffSummaryProps extends Omit<HTMLAttributes<HTMLParagraphElement>, 'children'> {
|
|
46
|
+
added: number;
|
|
47
|
+
removed: number;
|
|
48
|
+
/** What the diff is measured against, named the way the reader knows it: "version 4", "rev 12". */
|
|
49
|
+
against?: string | undefined;
|
|
50
|
+
labels?: Partial<DiffSummaryLabels> | undefined;
|
|
51
|
+
}
|
|
52
|
+
/**
|
|
53
|
+
* The one line above a diff that says how big it is: `+3 −1 against version 4`.
|
|
54
|
+
*
|
|
55
|
+
* The drawn counts are tinted with the same inks as the lines they count, and
|
|
56
|
+
* a sentence is read in their place, so the size of the change never rests on
|
|
57
|
+
* a plus sign and a colour.
|
|
58
|
+
*/
|
|
59
|
+
export declare function DiffSummary({ added, removed, against, labels: overrides, className, ...rest }: DiffSummaryProps): import("react").JSX.Element;
|